You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@apr.apache.org by je...@apache.org on 2009/02/28 19:32:56 UTC

svn commit: r748902 - in /apr/apr/trunk: build/buildcheck.sh buildconf configure.in

Author: jerenkrantz
Date: Sat Feb 28 18:32:55 2009
New Revision: 748902

URL: http://svn.apache.org/viewvc?rev=748902&view=rev
Log:
Go back around and clean up GNU libtool 2.x detection and usage.

(Tested with GNU libtool 2.2.6, 1.5.26, and jlibtool; and GNU autoconf 2.63.)

* configure.in
  (AC_CONFIG_MACRO_DIR): Define so that glibtoolize2 knows where to plop things.
  (AC_PROG_SED): Always find sed.
  (Xsed): Define to work around libtool 2.x brokenness.
* build/buildcheck.sh: Re-activate libtool 2.x
* buildconf: Clean up and rationalize the entire process of importing libtool
  autoconf macros.

Modified:
    apr/apr/trunk/build/buildcheck.sh
    apr/apr/trunk/buildconf
    apr/apr/trunk/configure.in

Modified: apr/apr/trunk/build/buildcheck.sh
URL: http://svn.apache.org/viewvc/apr/apr/trunk/build/buildcheck.sh?rev=748902&r1=748901&r2=748902&view=diff
==============================================================================
--- apr/apr/trunk/build/buildcheck.sh (original)
+++ apr/apr/trunk/build/buildcheck.sh Sat Feb 28 18:32:55 2009
@@ -55,9 +55,6 @@
       lt_status="bad"
    fi
 fi
-if test "$1" = "2"; then
-  lt_status="bad"
-fi
 if test $lt_status = "good"; then
    echo "buildconf: libtool version $lt_pversion (ok)"
    exit 0

Modified: apr/apr/trunk/buildconf
URL: http://svn.apache.org/viewvc/apr/apr/trunk/buildconf?rev=748902&r1=748901&r2=748902&view=diff
==============================================================================
--- apr/apr/trunk/buildconf (original)
+++ apr/apr/trunk/buildconf Sat Feb 28 18:32:55 2009
@@ -35,25 +35,20 @@
 # Note: APR supplies its own config.guess and config.sub -- we do not
 #       rely on libtool's versions
 #
-echo "Copying libtool helper files ..."
+echo "buildconf: copying libtool helper files using $libtoolize"
 
 # Remove any libtool files so one can switch between libtool 1.3
 # and libtool 1.4 by simply rerunning the buildconf script.
-(cd build ; rm -f ltconfig ltmain.sh libtool.m4)
+(cd build ; rm -f ltconfig ltmain.sh libtool.m4 ltoptions.m4 ltsugar.m4 ltversion.m4 lt~obsolete.m4)
 
-$libtoolize --copy --automake
-
-if [ -f libtool.m4 ]; then 
-   ltfile=`pwd`/libtool.m4
-elif grep all_pkgmacro_files $libtoolize > /dev/null; then
-    # libtool 2.x
-   aclocal_dir=`sed -n '/^aclocaldir=/{s/.*=//;p;q;}' < $libtoolize`
-   ltfiles=`sed -n '/^all_pkgmacro_files=/{s/.*=//;;s/"//;p;q;}' < $libtoolize`
-   for f in $ltfiles; do
-       test -f "$aclocal_dir/$f" && cp "$aclocal_dir/$f" build
-   done
-   ltfile=$aclocal_dir/libtool.m4
-else
+lt_pversion=`$libtoolize --version 2>/dev/null|sed -e 's/([^)]*)//g;s/^[^0-9]*//;s/[- ].*//g;q'`
+lt_version=`echo $lt_pversion|sed -e 's/\([a-z]*\)$/.\1/'`
+IFS=.; set $lt_version; IFS=' '
+if test "$1" = "1"; then
+  $libtoolize --copy --automake
+  if [ -f libtool.m4 ]; then 
+    ltfile=`pwd`/libtool.m4
+  else
    ltfindcmd="`sed -n \"/=[^\\\`]/p;/libtool_m4=/{s/.*=/echo /p;q;}\" \
                    < $libtoolize`"
    ltfile=${LIBTOOL_M4-`eval "$ltfindcmd"`}
@@ -62,21 +57,17 @@
      ltpath=`dirname $libtoolize`
      ltfile=`cd $ltpath/../share/aclocal ; pwd`/libtool.m4
    fi
-fi
-  
-if [ ! -f $ltfile ]; then
+  fi
+  if [ ! -f $ltfile ]; then
     echo "$ltfile not found"
     exit 1
+  fi
+  # Do we need this anymore?
+  echo "buildconf: Using libtool.m4 at ${ltfile}."
+  cat $ltfile | sed -e 's/LIBTOOL=\(.*\)top_build/LIBTOOL=\1apr_build/' > build/libtool.m4
 fi
-
-echo "buildconf: Using libtool.m4 at ${ltfile}."
-
-cat $ltfile | sed -e 's/LIBTOOL=\(.*\)top_build/LIBTOOL=\1apr_build/' > build/libtool.m4
-
-# libtool.m4 from 1.6 requires ltsugar.m4
-if [ -f ltsugar.m4 ]; then
-   rm -f build/ltsugar.m4
-   mv ltsugar.m4 build/ltsugar.m4
+if test "$1" = "2"; then
+  $libtoolize --copy
 fi
 
 # Clean up any leftovers
@@ -85,22 +76,22 @@
 #
 # Generate the autoconf header and ./configure
 #
-echo "Creating include/arch/unix/apr_private.h.in ..."
+echo "buildconf: creating include/arch/unix/apr_private.h.in ..."
 ${AUTOHEADER:-autoheader}
 
-echo "Creating configure ..."
+echo "buildconf: creating configure ..."
 ### do some work to toss config.cache?
 ${AUTOCONF:-autoconf}
 
 # Remove autoconf 2.5x's cache directory
 rm -rf autom4te*.cache
 
-echo "Generating 'make' outputs ..."
+echo "buildconf: generating 'make' outputs ..."
 build/gen-build.py make
 
 # Create RPM Spec file
 if [ -f `which cut` ]; then
-  echo rebuilding rpm spec file
+  echo "buildconf: rebuilding rpm spec file"
   ( REVISION=`build/get-version.sh all include/apr_version.h APR`
     VERSION=`echo $REVISION | cut -d- -s -f1`
     RELEASE=`echo $REVISION | cut -d- -s -f2`

Modified: apr/apr/trunk/configure.in
URL: http://svn.apache.org/viewvc/apr/apr/trunk/configure.in?rev=748902&r1=748901&r2=748902&view=diff
==============================================================================
--- apr/apr/trunk/configure.in (original)
+++ apr/apr/trunk/configure.in Sat Feb 28 18:32:55 2009
@@ -9,6 +9,7 @@
 AC_INIT(build/apr_common.m4)
 AC_CONFIG_HEADER(include/arch/unix/apr_private.h)
 AC_CONFIG_AUX_DIR(build)
+AC_CONFIG_MACRO_DIR(build)
 
 dnl 
 dnl Include our own M4 macros along with those for libtool
@@ -121,6 +122,8 @@
 dnl preload section from invoking the macro to get compiler info.
 AC_PROG_CC
 
+AC_PROG_SED
+
 dnl Preload
 APR_PRELOAD
 
@@ -164,6 +167,11 @@
 AC_ARG_ENABLE(experimental-libtool,[  --enable-experimental-libtool Use experimental custom libtool],
   [experimental_libtool=$enableval],[experimental_libtool=no])
 
+dnl Workarounds for busted Libtool 2.x when we don't call AC_PROG_LIBTOOL
+if test "x$Xsed" = "x"; then
+  Xsed="$SED -e 1s/^X//"
+fi
+
 case $host in
 *-os2*)
     # Use a custom-made libtool replacement



Re: svn commit: r748902 - in /apr/apr/trunk: build/buildcheck.sh buildconf configure.in

Posted by Ruediger Pluem <rp...@apache.org>.

On 02/28/2009 07:32 PM, jerenkrantz@apache.org wrote:
> Author: jerenkrantz
> Date: Sat Feb 28 18:32:55 2009
> New Revision: 748902
> 
> URL: http://svn.apache.org/viewvc?rev=748902&view=rev
> Log:
> Go back around and clean up GNU libtool 2.x detection and usage.
> 
> (Tested with GNU libtool 2.2.6, 1.5.26, and jlibtool; and GNU autoconf 2.63.)
> 
> * configure.in
>   (AC_CONFIG_MACRO_DIR): Define so that glibtoolize2 knows where to plop things.
>   (AC_PROG_SED): Always find sed.
>   (Xsed): Define to work around libtool 2.x brokenness.
> * build/buildcheck.sh: Re-activate libtool 2.x
> * buildconf: Clean up and rationalize the entire process of importing libtool
>   autoconf macros.
> 
> Modified:
>     apr/apr/trunk/build/buildcheck.sh
>     apr/apr/trunk/buildconf
>     apr/apr/trunk/configure.in
> 

> Modified: apr/apr/trunk/configure.in
> URL: http://svn.apache.org/viewvc/apr/apr/trunk/configure.in?rev=748902&r1=748901&r2=748902&view=diff
> ==============================================================================
> --- apr/apr/trunk/configure.in (original)
> +++ apr/apr/trunk/configure.in Sat Feb 28 18:32:55 2009
> @@ -9,6 +9,7 @@
>  AC_INIT(build/apr_common.m4)
>  AC_CONFIG_HEADER(include/arch/unix/apr_private.h)
>  AC_CONFIG_AUX_DIR(build)
> +AC_CONFIG_MACRO_DIR(build)
>  
>  dnl 
>  dnl Include our own M4 macros along with those for libtool
> @@ -121,6 +122,8 @@
>  dnl preload section from invoking the macro to get compiler info.
>  AC_PROG_CC
>  
> +AC_PROG_SED
> +

This causes the following message with Autoconf 2.59:

buildconf: creating configure ...
configure.in:125: error: possibly undefined macro: AC_PROG_SED
      If this token and others are legitimate, please use m4_pattern_allow.
      See the Autoconf documentation.

Regards

RĂ¼diger