From: Ralf Wildenhues Date: Sat, 27 Jan 2007 17:28:14 +0000 (+0000) Subject: * doc/libtool.texi (Invoking libtool): Document `--tag'. X-Git-Tag: release-1-5-23b~14 X-Git-Url: http://git.ipfire.org/gitweb/gitweb.cgi?a=commitdiff_plain;h=69d49d2de61f8b2e7e978893e81243710bcd3cf7;p=thirdparty%2Flibtool.git * doc/libtool.texi (Invoking libtool): Document `--tag'. (Tags): New node, backported from HEAD. (Other languages): Adjust. * NEWS: Update. --- diff --git a/ChangeLog b/ChangeLog index 5c9245610..524ae09fc 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2007-01-27 Ralf Wildenhues + + * doc/libtool.texi (Invoking libtool): Document `--tag'. + (Tags): New node, backported from HEAD. + (Other languages): Adjust. + * NEWS: Update. + 2007-01-27 James Su * libltdl/ltdl.c (lt_dlmutex_register): Fix usage of old unlock diff --git a/NEWS b/NEWS index 2ab281c3d..81e15761b 100644 --- a/NEWS +++ b/NEWS @@ -14,6 +14,8 @@ New in 1.5.23a: 2006-??-??; CVS version 1.5.23a, Libtool team: * Initial support for the Sun compiler suite on GNU/Linux. * Improved support for GNU/kFreeBSD and GNU/NetBSD. * Search paths with GCC on multilib systems like x86_64 have been fixed. +* The libtool --tag argument which has been supported since version 1.5 + is documented now. * Bug Fixes. New in 1.5.22: 2005-12-18; CVS version 1.5.21a, Libtool team: diff --git a/doc/libtool.texi b/doc/libtool.texi index f816e2c68..a2bf7f847 100644 --- a/doc/libtool.texi +++ b/doc/libtool.texi @@ -172,7 +172,8 @@ Using libltdl Using libtool with other languages -* C++ libraries:: +* C++ libraries:: Writing libraries for C++ +* Tags:: Tags Troubleshooting @@ -1066,6 +1067,9 @@ be executed by libtool. Display basic configuration options. This provides a way for packages to determine whether shared or static libraries will be built. +@item --tag=@var{tag} +Use configuration variables from tag @var{tag} (@pxref{Tags}). + @item --preserve-dup-deps Do not remove duplicate dependencies in libraries. When building packages with static libraries, the libraries may depend circularly on each other @@ -3652,7 +3656,8 @@ This chapter describes how libtool interacts with other languages, and what special considerations you need to make if you do not use C. @menu -* C++ libraries:: +* C++ libraries:: Writing libraries for C++ +* Tags:: Tags @end menu @node C++ libraries @@ -3693,6 +3698,42 @@ compiled with the C++ compiler for static C++ objects to be properly initialized. +@node Tags +@section Tags +@cindex tag names +@cindex language names +@cindex inferring tags + +Libtool supports multiple languages through the use of tags. Technically +a tag corresponds to a set of configuration variables associated with a +language. These variables tell @command{libtool} how it should create +objects and libraries for each language. + +Tags are defined at @command{configure}-time for each language activated +in the package. Here is the correspondence between language names and tags +names. + +@multitable {Windows Resource} {Tag name} +@item Language name @tab Tag name +@item C @tab CC +@item C++ @tab CXX +@item Java @tab GCJ +@item Fortran 77 @tab F77 +@item Windows Resource @tab RC +@end multitable + +@command{libtool} tries to automatically infer which tag to use from +the compiler command being used to compile or link. If it can't infer +a tag, then it defaults to the configuration for the @code{C} language. + +The tag can also be specified using @command{libtool}'s +@option{--tag=@var{tag}} option (@pxref{Invoking libtool}). It is a good +idea to do so in @file{Makefile} rules, because that will allow users to +substitute the compiler without relying on @command{libtool} inference +heuristics. When no tag is specified, @command{libtool} will default +to @code{CC}; this tag always exists. + + @node Troubleshooting @chapter Troubleshooting @cindex troubleshooting