* m4/libtool.m4 (_LT_LANG_DEFAULT_CONFIG): Remove code to handle 'none'

and 'all' options, this now always assumes automatic mode as that
works so well.
(_LT_LANG_DEFAULT): Remove definition
* m4/ltoptions.m4: Remove 'no-lang', 'auto-lang' and 'all-lang' options.
* configure.ac: Invoke LT_LANG for each desired supported language.
* doc/libtool.texi: Remove documentation for the LT_INIT options,
rewrite LT_LANG documentation.
This commit is contained in:
Scott James Remnant 2004-04-15 17:05:26 +00:00
parent 592eec7850
commit 51126ba3fd
5 changed files with 65 additions and 66 deletions

View File

@ -1,3 +1,14 @@
2004-04-15 Scott James Remnant <scott@netsplit.com>
* m4/libtool.m4 (_LT_LANG_DEFAULT_CONFIG): Remove code to handle 'none'
and 'all' options, this now always assumes automatic mode as that
works so well.
(_LT_LANG_DEFAULT): Remove definition
* m4/ltoptions.m4: Remove 'no-lang', 'auto-lang' and 'all-lang' options.
* configure.ac: Invoke LT_LANG for each desired supported language.
* doc/libtool.texi: Remove documentation for the LT_INIT options,
rewrite LT_LANG documentation.
2004-04-14 Alexandre Duret-Lutz <adl@gnu.org> 2004-04-14 Alexandre Duret-Lutz <adl@gnu.org>
* bootstrap: Delete acinclude.m4. * bootstrap: Delete acinclude.m4.

View File

@ -155,11 +155,10 @@ AC_PROG_LD
AC_PROG_NM AC_PROG_NM
AC_PROG_LN_S AC_PROG_LN_S
# Other languages get automatically inferred by the all-lang option passed # The Autoconf tests for C++ and Fortran 77 sometimes call AC_MSG_ERROR
# to LT_INIT below, however the Autoconf tests for C++ and Fortran 77 # and we don't want that to be an error whilst creating the libtool script.
# sometimes call AC_MSG_ERROR and we don't want that to be an error while # As these are AC_REQUIREd inside libtool.m4 we can simply call them here
# creating the libtool script, as these macros are AC_REQUIREd we can simply # and catch the errors now.
# call them here and catch the errors.
pushdef([AC_MSG_ERROR], [caught_CXX_error=yes]) pushdef([AC_MSG_ERROR], [caught_CXX_error=yes])
AC_PROG_CXX AC_PROG_CXX
AC_PROG_CXXCPP AC_PROG_CXXCPP
@ -175,9 +174,15 @@ popdef([AC_MSG_ERROR])
## ----------------------- ## ## ----------------------- ##
AC_CONFIG_FILES([config/ltmain.sh:./ltmain.in]) AC_CONFIG_FILES([config/ltmain.sh:./ltmain.in])
AC_CONFIG_FILES([libtoolize], [chmod a+x libtoolize]) AC_CONFIG_FILES([libtoolize], [chmod a+x libtoolize])
LT_INIT([dlopen win32-dll all-lang]) LT_INIT([dlopen win32-dll])
AC_LIB_LTDL AC_LIB_LTDL
# Enable all the language support we can
LT_LANG(C++)
LT_LANG(Fortran 77)
LT_LANG(Java)
LT_LANG(Windows Resource)
## --------------------------- ## ## --------------------------- ##
## Work out which tests to run ## ## Work out which tests to run ##

View File

@ -1831,23 +1831,6 @@ Change the default behaviour of @command{libtool} to try to use only
non-PIC objects. The user may still override this default by non-PIC objects. The user may still override this default by
specifying @samp{--without-pic} to @command{configure}. specifying @samp{--without-pic} to @command{configure}.
@item no-lang
Change the default list of additional languages @command{libtool} supports
to none, only the built-in C language support will be enabled. Additional
languages such as C++ will only be enabled if appropriate @code{LT_LANG}
macros are added to your @file{configure.ac}.
@item all-lang
Change the default list of additional languages @command{libtool} supports
to all that the host system supports.
@item auto-lang
Change the default list of additional languages @command{libtool} supports
to be determined automatically by detecting macros such as
@code{AC_PROG_CXX} in your @file{configure.ac}. Additional languages can
be added by adding appropriate @code{LT_LANG} macros to your
@file{configure.ac}.
@end itemize @end itemize
@end defmac @end defmac
@ -1855,13 +1838,28 @@ be added by adding appropriate @code{LT_LANG} macros to your
@defmac LT_LANG (@var{LANGUAGE}) @defmac LT_LANG (@var{LANGUAGE})
Enable @command{libtool} support for the language given if it Enable @command{libtool} support for the language given if it
has not yet already been enabled. Languages accepted are "C++", has not yet already been enabled. Languages accepted are "C++",
"Fortran 77", "Java" and "Windows Resource"@footnote{These may also be "Fortran 77", "Java" and "Windows Resource".
referred to by their generated tag names, "CXX", "F77", "GCJ" and "RC".}.
If Autoconf language support macros such as @code{AC_PROG_CXX} are
used in your @file{configure.ac}, Libtool language support will automatically
be enabled.
Conversely using @code{LT_LANG} to enable language support for Libtool
will automatically enable Autoconf language support as well.
Both of the following examples are therefore valid ways of adding C++
languge support to Libtool.
@example
LT_INIT
LT_LANG(C++)
@end example
@example
LT_INIT
AC_PROG_CXX
@end example
By default, the set of languages @command{libtool} will support is
determined automatically by detected macros such as @code{AC_PROG_CXX}
in your @file{configure.ac}. This behaviour may be changed by passing
either the "no-lang" or "all-lang" options to @code{LT_INIT}.
@end defmac @end defmac
The tests in @code{LT_INIT} also recognize the following The tests in @code{LT_INIT} also recognize the following

51
m4/libtool.m4 vendored
View File

@ -557,7 +557,6 @@ _LT_EOF
# C support is built-in for now # C support is built-in for now
m4_define([_LT_LANG_C_enabled], []) m4_define([_LT_LANG_C_enabled], [])
m4_define([_LT_TAGS], []) m4_define([_LT_TAGS], [])
m4_define([_LT_LANG_DEFAULT], [AUTO])
# LT_LANG(LANG) # LT_LANG(LANG)
# ------------- # -------------
@ -586,38 +585,32 @@ m4_define([_LT_LANG],
# _LT_LANG_DEFAULT_CONFIG # _LT_LANG_DEFAULT_CONFIG
# ----------------------- # -----------------------
m4_define([_LT_LANG_DEFAULT_CONFIG], m4_define([_LT_LANG_DEFAULT_CONFIG],
[m4_case(m4_defn([_LT_LANG_DEFAULT]), [AC_PROVIDE_IFELSE([AC_PROG_CXX],
[NONE], [m4_define([_LT_TAGS], [])], [LT_LANG(CXX)],
[ALL], [m4_foreach(LT_Lang, [CXX, GCJ, F77, RC], [LT_LANG(LT_Lang)])], [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])])
[AUTO], [
AC_PROVIDE_IFELSE([AC_PROG_CXX],
[LT_LANG(CXX)],
[m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])])
AC_PROVIDE_IFELSE([AC_PROG_F77], AC_PROVIDE_IFELSE([AC_PROG_F77],
[LT_LANG(F77)], [LT_LANG(F77)],
[m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])]) [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])])
dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal
dnl pulling things in needlessly. dnl pulling things in needlessly.
AC_PROVIDE_IFELSE([AC_PROG_GCJ], AC_PROVIDE_IFELSE([AC_PROG_GCJ],
[LT_LANG(GCJ)],
[AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
[LT_LANG(GCJ)],
[AC_PROVIDE_IFELSE([LT_PROG_GCJ],
[LT_LANG(GCJ)], [LT_LANG(GCJ)],
[AC_PROVIDE_IFELSE([A][M_PROG_GCJ], [m4_ifdef([AC_PROG_GCJ],
[LT_LANG(GCJ)], [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])])
[AC_PROVIDE_IFELSE([LT_PROG_GCJ], m4_ifdef([A][M_PROG_GCJ],
[LT_LANG(GCJ)], [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])])
[m4_ifdef([AC_PROG_GCJ], m4_ifdef([LT_PROG_GCJ],
[m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])]) [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])])
m4_ifdef([A][M_PROG_GCJ],
[m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])])
m4_ifdef([LT_PROG_GCJ],
[m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])])
AC_PROVIDE_IFELSE([LT_PROG_RC], AC_PROVIDE_IFELSE([LT_PROG_RC],
[LT_LANG(RC)], [LT_LANG(RC)],
[m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])]) [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])])
],
[])dnl
])# _LT_LANG_DEFAULT_CONFIG ])# _LT_LANG_DEFAULT_CONFIG
# Obsolete macros # Obsolete macros

8
m4/ltoptions.m4 vendored
View File

@ -356,11 +356,3 @@ AC_DIAGNOSE([obsolete],
[$0: Remove this warning and the call to _LT_SET_OPTION when you [$0: Remove this warning and the call to _LT_SET_OPTION when you
put the `pic-only' option into LT_LIBTOOL_INIT's first parameter.]) put the `pic-only' option into LT_LIBTOOL_INIT's first parameter.])
]) ])
# _LT_LANG_DEFAULT is predefined in libtool.m4 and used by
# _LT_LANG_DEFAULT_CONFIG()
LT_OPTION_DEFINE([no-lang], [m4_define([_LT_LANG_DEFAULT], [NONE])])
LT_OPTION_DEFINE([auto-lang], [m4_define([_LT_LANG_DEFAULT], [AUTO])])
LT_OPTION_DEFINE([all-lang], [m4_define([_LT_LANG_DEFAULT], [ALL])])