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