Bob Friesenhahn <[EMAIL PROTECTED]> writes:
> On Wed, 17 Dec 2003, Akim Demaille wrote:
>
>>
>> > But beware, autoreconf can be dangerous and doesn't always work.
>>
>> Why?
>
> In times past, it has trashed & thrashed subdirectories. For example,
> I recall (a couple of years ago) that libltdl required a particular
> version of Autoconf. Libltdl was subordinate to my package's
> directory. Executing autoreconf ended up with a zero-length configure
> script in the libltdl subdirectory.
Please try this patch:
2003-12-20 Andreas Schwab <[EMAIL PROTECTED]>
* bin/autoreconf.in: Don't recurse into libtool's libltdl
subdirectory. Pass --ltdl to libtoolize in this case.
--- bin/autoreconf.in
+++ bin/autoreconf.in
@@ -426,6 +426,8 @@
my $aux_dir;
my $uses_gettext_via_traces;
my $uses_libtool;
+ my $uses_libltdl;
+ my $libltdl_directory = 'libltdl';
my $uses_autoheader;
my @subdir;
verb "$configure_ac: tracing";
@@ -437,6 +439,8 @@
'AC_CONFIG_AUX_DIR:AC_CONFIG_AUX_DIR:\$1',
'AC_CONFIG_HEADERS',
'AC_CONFIG_SUBDIRS:AC_CONFIG_SUBDIRS:\$1',
+ 'AC_LIBLTDL_CONVENIENCE:AC_LIBLTDL_CONVENIENCE:\$1',
+ 'AC_LIBLTDL_INSTALLABLE:AC_LIBLTDL_INSTALLABLE:\$1',
'AC_INIT',
'AC_PROG_LIBTOOL',
'AM_GNU_GETTEXT',
@@ -448,6 +452,8 @@
$uses_autoconf = 1 if /AC_INIT/;
$uses_gettext_via_traces = 1 if /AM_GNU_GETTEXT/;
$uses_libtool = 1 if /AC_PROG_LIBTOOL/;
+ $uses_libltdl = 1 if /AC_LIBLTDL_(CONVENIENCE|INSTALLABLE)/;
+ $libltdl_directory = $2 if /AC_LIBLTDL_(CONVENIENCE|INSTALLABLE):(.*)/ &&
$2 ne "";
$uses_autoheader = 1 if /AC_CONFIG_HEADERS/;
push @subdir, split (' ', $1) if /AC_CONFIG_SUBDIRS:(.*)/;
}
@@ -455,7 +461,11 @@
# The subdirs are *optional*, they may not exist.
foreach (@subdir)
{
- if (-d)
+ if ($uses_libltdl && $_ eq $libltdl_directory)
+ {
+ verb "$configure_ac: subdirectory $_ ignored";
+ }
+ elsif (-d)
{
verb "$configure_ac: subdirectory $_ to autoreconf";
autoreconf ($_);
@@ -501,7 +511,7 @@
}
elsif ($install)
{
- xsystem ($libtoolize);
+ xsystem ($libtoolize . ($uses_libltdl ? " --ltdl" : ""));
$rerun_aclocal = 1;
}
else
Andreas.
--
Andreas Schwab, SuSE Labs, [EMAIL PROTECTED]
SuSE Linux AG, Maxfeldstra�e 5, 90409 N�rnberg, Germany
Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."