Hi!There must be something not going too well in the AC_REQUIRES of ltld. In the attached configure.ac, some macros are issued out of order, which results in, for instance, shrext_cmds being used before its definition:
$ grep -E 'shrext|If you need' configure eval libltdl_cv_shlibext=$shrext_cmds# If you need to create a library, use libtool. <---- First line in the macroshrext_cmds=".dll" shrext_cmds=".so" shrext_cmds=".dll" shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' shrext_cmds='.so' shrext_cmds='.sl' shrext_cmds='.sl' shrext_cmds=".dll"shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`'shrext_cmds \ shrext_cmds=$lt_shrext_cmds
I have a simple work around: instead of AC_DEFUN([URBI_LTDL], [my macro]) I have AC_DEFUN([URBI_LTDL], [m4_fatal([should never be used])]) m4_define([URBI_LTDL], [my macro])The first line is to have aclocal notice that the macro is defined in an m4/ file, and the second is to avoid that URBI_LTDL define an AC_REQUIRE boundary. I don't remember the details, but it seems suspicious to me that code using shrext_cmds is emitted before the contents of my macro. Either somewhere there are m4_define that should be AC_DEFUN to define the AC_REQUIRE barriers (an error in Libtool), or when a macro OUTER invokes a macro INNER which requires REQUIRED then REQUIRED is output before OUTER, which seems wrong to me (an error in Autoconf).
Cheers!
configure.ac
Description: Binary data
_______________________________________________ http://lists.gnu.org/mailman/listinfo/libtool