]> sourceware.org Git - automake.git/commitdiff
* doc/automake.texi (How the Linker is Chosen): Explain how the
authorAlexandre Duret-Lutz <adl@gnu.org>
Sun, 23 Jan 2005 22:19:34 +0000 (22:19 +0000)
committerAlexandre Duret-Lutz <adl@gnu.org>
Sun, 23 Jan 2005 22:19:34 +0000 (22:19 +0000)
linker is chosen without diagram, and update to match the code.
Suggestion from Adrian Bunk.

ChangeLog
doc/automake.texi
doc/stamp-vti
doc/version.texi

index ce2f539bb9d170cd2629e3e9305d3ac570ff4132..bdeb90fa3164ec501a7941beea3d99a6ed6589f1 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2005-01-23  Alexandre Duret-Lutz  <adl@gnu.org>
+
+       * doc/automake.texi (How the Linker is Chosen): Explain how the
+       linker is chosen without diagram, and update to match the code.
+       Suggestion from Adrian Bunk.
+
 2005-01-16  Alexandre Duret-Lutz  <adl@gnu.org>
 
        * lib/am/subdirs.am ($(RECURSIVE_TARGETS), $(RECURSIVE_CLEAN_TARGETS)):
index 764f76734f2a30096621d9c4c59f2a34975b1c9a..09f008b44834e89be7c06c598e3af536a869fcd1 100644 (file)
@@ -4482,50 +4482,45 @@ Automake would have issued a warning.
 @cindex Automatic linker selection
 @cindex Selecting the linker automatically
 
-The following diagram demonstrates under what conditions a particular
-linker is chosen by Automake.
+When a program or library mixes several languages, Automake choose the
+linker according to the following priorities.  (The names in
+parentheses are the variables containing the link command.)
 
-For example, if Fortran 77, C and C++ source code were to be compiled
+@enumerate
+@item
+@vindex GCJLINK
+Native Java (@code{GCJLINK})
+@item
+@vindex CXXLINK
+C++ (@code{CXXLINK})
+@item
+@vindex F77LINK
+Fortran 77 (@code{F77LINK})
+@item
+@vindex FCLINK
+Fortran (@code{FCLINK})
+@item
+@vindex OBJCLINK
+Objective C (@code{OBJCLINK})
+@item
+@vindex LINK
+C (@code{LINK})
+@end enumerate
+
+For example, if Fortran 77, C and C++ source code is compiled
 into a program, then the C++ linker will be used.  In this case, if the
 C or Fortran 77 linkers required any special libraries that weren't
 included by the C++ linker, then they must be manually added to an
 @code{_LDADD} or @code{_LIBADD} variable by the user writing the
 @file{Makefile.am}.
 
-@example
-                     \              Linker
-          source      \
-           code        \     C        C++     Fortran
-     -----------------  +---------+---------+---------+
-                        |         |         |         |
-     C                  |    x    |         |         |
-                        |         |         |         |
-                        +---------+---------+---------+
-                        |         |         |         |
-         C++            |         |    x    |         |
-                        |         |         |         |
-                        +---------+---------+---------+
-                        |         |         |         |
-               Fortran  |         |         |    x    |
-                        |         |         |         |
-                        +---------+---------+---------+
-                        |         |         |         |
-     C + C++            |         |    x    |         |
-                        |         |         |         |
-                        +---------+---------+---------+
-                        |         |         |         |
-     C +       Fortran  |         |         |    x    |
-                        |         |         |         |
-                        +---------+---------+---------+
-                        |         |         |         |
-         C++ + Fortran  |         |    x    |         |
-                        |         |         |         |
-                        +---------+---------+---------+
-                        |         |         |         |
-     C + C++ + Fortran  |         |    x    |         |
-                        |         |         |         |
-                        +---------+---------+---------+
-@end example
+Automake only looks at the filenames listed in @file{_SOURCES}
+variables to choose the linker, and defaults to the C linker.
+Sometimes this is inconvenient because you are linking against a
+library written in another language and would like to set the linker
+more appropriately.  @xref{Libtool Convenience Libraries}, for a
+trick with @code{nodist_EXTRA_@dots{}_SOURCES}.
+
 
 @node Fortran 9x Support
 @comment  node-name,  next,  previous,  up
index 484a7adabeada292525b207daac63fa6c292a752..0e53298117a00f20856f7ff89d359405a4cacc53 100644 (file)
@@ -1,4 +1,4 @@
-@set UPDATED 9 January 2005
+@set UPDATED 23 January 2005
 @set UPDATED-MONTH January 2005
 @set EDITION 1.9a
 @set VERSION 1.9a
index 484a7adabeada292525b207daac63fa6c292a752..0e53298117a00f20856f7ff89d359405a4cacc53 100644 (file)
@@ -1,4 +1,4 @@
-@set UPDATED 9 January 2005
+@set UPDATED 23 January 2005
 @set UPDATED-MONTH January 2005
 @set EDITION 1.9a
 @set VERSION 1.9a
This page took 0.043421 seconds and 5 git commands to generate.