You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@apr.apache.org by Max Bowsher <ma...@ukf.net> on 2003/06/02 14:28:10 UTC

Fw: [Patch] Add fallback method to libtool.m4 location algorithm

Ping?

Max Bowsher wrote:
> Joe Orton wrote:
>> On Thu, May 29, 2003 at 12:02:00PM +0100, Max Bowsher wrote:
>>> Below are 2 patches, one for apr, one for the embedded expat in
apr-util.
>>>
>>> They add a fallback method to locating libtool.m4.
>>>
>>> This is important for systems which use auto-version selecting
redirector
>>> scripts for the autotools.
>>
>> It might be better to stop guessing and just allow $LIBTOOL_M4 to
>> specify the libtool.m4 location.  Would that work for you?
>
> Well, it seems rather non-ideal, when there is a good fully-automated
> alternative.
>
>>> The fallback method uses aclocal --print-ac-dir to locate libtool.m4,
since
>>> on such systems, aclocal will most likely be a wrapper script which will
>>> invoke the correct real aclocal, which will be able to provide the
correct
>>> path.
>>
>> (wait for the "oh no! automake" shrieks from the galleries)
>
> Why? This isn't a dependency - it merely takes advantage of aclocal if and
> only if the primary search for libtool.m4 fails, and aclocal is installed.
>
>
> Max.
>
>>> Index: buildconf
>>> ===================================================================
>>> RCS file: /home/max/cvsmirror/misc-cvs/apr/buildconf,v
>>> retrieving revision 1.25
>>> diff -u -p -r1.25 buildconf
>>> --- buildconf 1 Jan 2003 00:01:41 -0000 1.25
>>> +++ buildconf 29 May 2003 10:46:20 -0000
>>> @@ -83,9 +83,21 @@ $libtoolize --copy --automake
>>>  ltpath=`dirname $libtoolize`
>>>  ltfile=`cd $ltpath/../share/aclocal ; pwd`/libtool.m4
>>>
>>> -if [ ! -f $ltfile ]; then
>>> -    echo "$ltfile not found"
>>> -    exit 1
>>> +if [ ! -f "$ltfile" ]; then
>>> +    ltfile2="$ltfile"
>>> +    ltfile="`aclocal --print-ac-dir`"/libtool.m4
>>> +    if [ $? -ne 0 ]; then
>>> +        ltfile="aclocal not available"
>>> +        ltnotfound=yes
>>> +    elif [ ! -f "$ltfile" ]; then
>>> +        ltnotfound=yes
>>> +    fi
>>> +    if [ -n "$ltnotfound" ]; then
>>> +        echo "Unable to find libtool.m4 - tried these locations:"
>>> +        echo "  Based on path of libtoolize: $ltfile2"
>>> +        echo "  Via aclocal --print-ac-dir:  $ltfile"
>>> +        exit 1
>>> +    fi
>>>  fi
>>>
>>>  cat $ltfile | sed -e 's/LIBTOOL=\(.*\)top_build/LIBTOOL=\1apr_build/' >
>>> build/libtool.m4
>>>
>>>
>>>
>>>
>>> Index: xml/expat/buildconf.sh
>>> ===================================================================
>>> RCS file: /home/max/cvsmirror/misc-cvs/apr-util/xml/expat/buildconf.sh,v
>>> retrieving revision 1.10
>>> diff -u -p -r1.10 buildconf.sh
>>> --- xml/expat/buildconf.sh 15 May 2002 16:51:52 -0000 1.10
>>> +++ xml/expat/buildconf.sh 29 May 2003 10:47:16 -0000
>>> @@ -8,8 +8,27 @@ if [ "x$libtoolize" = "x" ]; then
>>>      echo "libtoolize not found in path"
>>>      exit 1
>>>  fi
>>> +
>>>  ltpath=`dirname $libtoolize`
>>>  ltfile=`cd $ltpath/../share/aclocal ; pwd`/libtool.m4
>>> +
>>> +if [ ! -f "$ltfile" ]; then
>>> +    ltfile2="$ltfile"
>>> +    ltfile="`aclocal --print-ac-dir`"/libtool.m4
>>> +    if [ $? -ne 0 ]; then
>>> +        ltfile="aclocal not available"
>>> +        ltnotfound=yes
>>> +    elif [ ! -f "$ltfile" ]; then
>>> +        ltnotfound=yes
>>> +    fi
>>> +    if [ -n "$ltnotfound" ]; then
>>> +        echo "Unable to find libtool.m4 - tried these locations:"
>>> +        echo "  Based on path of libtoolize: $ltfile2"
>>> +        echo "  Via aclocal --print-ac-dir:  $ltfile"
>>> +        exit 1
>>> +    fi
>>> +fi
>>> +
>>>  echo "Incorporating $ltfile into aclocal.m4 ..."
>>>  echo "dnl THIS FILE IS AUTOMATICALLY GENERATED BY buildconf.sh" >
>>> aclocal.m4
>>>  echo "dnl edits here will be lost" >> aclocal.m4