| dnl as-libtool-tags.m4 0.1.4 |
| |
| dnl autostars m4 macro for selecting libtool "tags" (languages) |
| |
| dnl Andy Wingo does not claim credit for this macro |
| dnl backported from libtool 1.6 by Paolo Bonzini |
| dnl see http://lists.gnu.org/archive/html/libtool/2003-12/msg00007.html |
| |
| dnl $Id$ |
| |
| dnl AS_LIBTOOL_TAGS([tags...]) |
| |
| dnl example |
| dnl AS_LIBTOOL_TAGS([]) for only C (no fortran, etc) |
| |
| dnl When AC_LIBTOOL_TAGS is used, I redefine _LT_AC_TAGCONFIG |
| dnl to be more similar to the libtool 1.6 implementation, which |
| dnl uses an m4 loop and m4 case instead of a shell loop. This |
| dnl way the CXX/GCJ/F77/RC tests are not always expanded. |
| |
| dnl AS_LIBTOOL_TAGS |
| dnl --------------- |
| dnl tags to enable |
| AC_DEFUN([AS_LIBTOOL_TAGS], |
| [m4_define([_LT_TAGS],[$1]) |
| m4_define([_LT_AC_TAGCONFIG], [ |
| # redefined LT AC TAGCONFIG |
| if test -f "$ltmain"; then |
| if test ! -f "${ofile}"; then |
| AC_MSG_WARN([output file `$ofile' does not exist]) |
| fi |
| |
| if test -z "$LTCC"; then |
| eval "`$SHELL ${ofile} --config | grep '^LTCC='`" |
| if test -z "$LTCC"; then |
| AC_MSG_WARN([output file `$ofile' does not look like a libtool script]) |
| else |
| AC_MSG_WARN([using `LTCC=$LTCC', extracted from `$ofile']) |
| fi |
| fi |
| |
| AC_FOREACH([_LT_TAG], _LT_TAGS, |
| echo THOMAS: tag _LT_TAG |
| [m4_case(_LT_TAG, |
| [CXX], [ |
| if test -n "$CXX" && test "X$CXX" != "Xno"; then |
| echo "THOMAS: YAY CXX" |
| AC_LIBTOOL_LANG_CXX_CONFIG |
| available_tags="$available_tags _LT_TAG" |
| fi], |
| [F77], [ |
| if test -n "$F77" && test "X$F77" != "Xno"; then |
| AC_LIBTOOL_LANG_F77_CONFIG |
| available_tags="$available_tags _LT_TAG" |
| fi], |
| [GCJ], [ |
| if test -n "$GCJ" && test "X$GCJ" != "Xno"; then |
| AC_LIBTOOL_LANG_GCJ_CONFIG |
| available_tags="$available_tags _LT_TAG" |
| fi], |
| [RC], [ |
| if test -n "$RC" && test "X$RC" != "Xno"; then |
| AC_LIBTOOL_LANG_RC_CONFIG |
| available_tags="$available_tags _LT_TAG" |
| fi], |
| [m4_errprintn(m4_location[: error: invalid tag name: ]"_LT_TAG") |
| m4_exit(1)]) |
| ]) |
| echo THOMAS: available tags: $available_tags |
| fi |
| # Now substitute the updated list of available tags. |
| if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then |
| mv "${ofile}T" "$ofile" |
| chmod +x "$ofile" |
| AC_MSG_NOTICE([updated available libtool tags with $available_tags.]) |
| else |
| rm -f "${ofile}T" |
| AC_MSG_ERROR([unable to update list of available tagged configurations.]) |
| |
| fi |
| |
| ])dnl _LT_AC_TAG_CONFIG |
| ]) |