autoconf-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: AC_CHECK_TOOL AC_SUBSTs more than necessary


From: Ralf Wildenhues
Subject: Re: AC_CHECK_TOOL AC_SUBSTs more than necessary
Date: Tue, 8 Nov 2005 09:53:59 +0100
User-agent: Mutt/1.5.11

Darn.

* Ralf Wildenhues wrote on Sat, Nov 05, 2005 at 07:42:32AM CET:
> 
>       * lib/autoconf/programs.m4 (AC_CHECK_PROG, AC_PATH_PROG):
>       Factor functionality to..
>       (_AC_CHECK_PROG, _AC_PATH_PROG): these new macros, but only
>       `AC_SUBST($1)' in the public version.
>       (AC_CHECK_TOOL, AC_PATH_TOOL, AC_PATH_TARGET_TOOL)
>       (AC_CHECK_TARGET_TOOL): Use internal versions for ac_ct_* and
>       ac_pt_* variables.

This patch breaks/exposes an issue with the status.m4 code in CVS
HEAD Libtool tests 34, 35 (early-libtool.at tests).  I have no idea
whether autoconf or Libtool's LT_OUTPUT code is at fault; in any
case, to me it looks like the patch has absolutely _nothing_ to do
with the part that suddenly breaks.

lib/autoconf/status.m4 is sufficiently obscure that I have no idea
about what's going on.

May a diff of the created configure script sheds some light (several
whitespace-only and LINENO-only differences snipped; note the extra
_ACEOF which remains):


--- configure-bad       2005-11-08 09:39:34.000000000 +0100
+++ configure-good      2005-11-08 09:37:29.000000000 +0100
@@ -771,7 +771,6 @@
 MAKEINFO
 install_sh
 STRIP
-ac_ct_STRIP
 INSTALL_STRIP_PROGRAM
 mkdir_p
 AWK
@@ -815,9 +814,7 @@
 NM
 LN_S
 AR
-ac_ct_AR
 RANLIB
-ac_ct_RANLIB
 lt_ECHO
 CPP
 LIBOBJS
@@ -2103,6 +2100,7 @@
 echo "${ECHO_T}no" >&6; }
 fi
 
+
   test -n "$AWK" && break
 done
 
@@ -11809,7 +11818,6 @@
 MAKEINFO!$MAKEINFO$ac_delim
 install_sh!$install_sh$ac_delim
 STRIP!$STRIP$ac_delim
-ac_ct_STRIP!$ac_ct_STRIP$ac_delim
 INSTALL_STRIP_PROGRAM!$INSTALL_STRIP_PROGRAM$ac_delim
 mkdir_p!$mkdir_p$ac_delim
 AWK!$AWK$ac_delim
@@ -11853,10 +11861,11 @@
 NM!$NM$ac_delim
 LN_S!$LN_S$ac_delim
 AR!$AR$ac_delim
-ac_ct_AR!$ac_ct_AR$ac_delim
 RANLIB!$RANLIB$ac_delim
-ac_ct_RANLIB!$ac_ct_RANLIB$ac_delim
 lt_ECHO!$lt_ECHO$ac_delim
+CPP!$CPP$ac_delim
+LIBOBJS!$LIBOBJS$ac_delim
+LTLIBOBJS!$LTLIBOBJS$ac_delim
 _ACEOF
 
   if test `grep -c "$ac_delim\$" conf$$subs.sed` = 98; then
@@ -11894,16 +11903,9 @@
 CEOF$ac_eof
 _ACEOF
 
-
-ac_delim='%!_!# '
-for ac_last_try in false false false false false :; do
-  cat >conf$$subs.sed <<_ACEOF
-CPP!$CPP$ac_delim
-LIBOBJS!$LIBOBJS$ac_delim
-LTLIBOBJS!$LTLIBOBJS$ac_delim
 _ACEOF
 
-  if test `grep -c "$ac_delim\$" conf$$subs.sed` = 3; then
+  if test `grep -c "$ac_delim\$" conf$$subs.sed` = 0; then
     break
   elif $ac_last_try; then
     { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
@@ -12126,7 +12128,7 @@
 s&@abs_builddir@&$ac_abs_builddir&;t t
 s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
 s&@INSTALL@&$ac_INSTALL&;t t
-" $ac_file_inputs | sed -f "$tmp/subs-1.sed" | sed -f "$tmp/subs-2.sed" 
>$tmp/out
+" $ac_file_inputs | sed -f "$tmp/subs-1.sed" | sed 's/|#_!!_#|//g' | sed -f 
"$tmp/subs-2.sed" >$tmp/out
 
   rm -f "$tmp/stdin"
   case $ac_file in


The output of the broken configure script ends with:

| checking whether to build shared libraries... yes
| checking whether to build static libraries... yes
| configure: creating ./config.lt
| config.lt: creating libtool
| libtool: compile:  gcc -I. -I. -c hello.c  -fPIC -DPIC -o .libs/hello.o
| libtool: compile:  gcc -I. -I. -c hello.c -o hello.o >/dev/null 2>&1
| libtool: link: rm -fr  .libs/libhello.a .libs/libhello.la .libs/libhello.lai 
.libs/libhello.so .libs/libhello.so.0 .libs/libhello.so.0.0.0
| libtool: link: gcc -shared  .libs/hello.o    -Wl,-soname -Wl,libhello.so.0 -o 
.libs/libhello.so.0.0.0
| libtool: link: (cd ".libs" && rm -f "libhello.so.0" && ln -s 
"libhello.so.0.0.0" "libhello.so.0")
| libtool: link: (cd ".libs" && rm -f "libhello.so" && ln -s 
"libhello.so.0.0.0" "libhello.so")
| libtool: link: ar cru .libs/libhello.a  hello.o
| libtool: link: ranlib .libs/libhello.a
| libtool: link: creating libhello.la
| libtool: link: ( cd ".libs" && rm -f "libhello.la" && ln -s "../libhello.la" 
"libhello.la" )
| configure: creating ./config.status
| ./configure: line 11906: _ACEOF: command not found
| grep: conf26380subs.sed: No such file or directory
| ./configure: line 11908: test: =: unary operator expected
| ./configure: line 11917: syntax error near unexpected token `done'
| ./configure: line 11917: `done'

Cheers,
Ralf




reply via email to

[Prev in Thread] Current Thread [Next in Thread]