libtool-patches
[Top][All Lists]
Advanced

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

Re: sysroot-support


From: Ralf Wildenhues
Subject: Re: sysroot-support
Date: Sun, 12 Jun 2005 21:09:27 +0200
User-agent: Mutt/1.5.9i

Hi Enrico,

* Enrico Weigelt wrote on Sun, Jun 12, 2005 at 08:37:27PM CEST:
> 
> here's a quick-and-dirty patch against libtool.sh, which adds 
> some sysroot support (look for .la files beyond $SYSROOT). 

Thanks for your patch.  Couple of quick comments:

Is `SYSROOT' an arbitrarily chosen name, or does this have precedence
somewhere?

> Its not really a patch against libtool, instead a part of some
> fixes in some other packages using libtool. But it should be 
> enough to demonstration problem + solution.

Not really, at least to me (sorry if to you it looks like I'm asking for
the obvious).  SYSROOT is to facilitate cross-compiling resp. staged
installs, right?  (More questions below.)

| diff -ruN libXft-2.1.7.orig/ltmain.sh libXft-2.1.7/ltmain.sh
| --- libXft-2.1.7.orig/ltmain.sh       Tue Mar  8 19:34:12 2005
| +++ libXft-2.1.7/ltmain.sh    Fri Jun 10 20:36:51 2005
| @@ -1772,6 +1772,7 @@
|      # Find all interdependent deplibs by searching for libraries
|      # that are linked more than once (e.g. -la -lb -la)
|      for deplib in $deplibs; do
| +      deplib=`echo "$deplib" | sed -e "s~//~/~g; 
s~^/usr/lib/~$SYSROOT/usr/lib/~g;"`
|        if test "X$duplicate_deps" = "Xyes" ; then
|       case "$libs " in
|       *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;

Why would you only want to change paths below /usr/lib?  

Why do you trim double slashes?  This is an honest question, I need to
check but I believe this will potentiall blow up under win32 (where a
leading double slash has a special meaning).

*snip*
| @@ -1898,6 +1900,7 @@
|           if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
|             case " $predeps $postdeps " in
|             *" $deplib "*)
| +             echo "foo1"
|               if (${SED} -e '2q' $lib |
|                      grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
|                 library_names=

What is this patch for?  Comment so you know where you are?
Try --debug; although I acknowledge it's not very comfortable.

*snip*
| diff -ruN libXft-2.1.7.orig/ltmain.sh libXft-2.1.7/ltmain.sh
| --- libXft-2.1.7.orig/ltmain.sh       Fri Jun 10 20:51:26 2005
| +++ libXft-2.1.7/ltmain.sh    Fri Jun 10 20:51:14 2005
| @@ -2037,7 +2037,7 @@
|       # Check to see that this really is a libtool archive.
|       if (${SED} -e '2q' $lib | grep "^# Generated by .*$PACKAGE") >/dev/null 
2>&1; then :
|       else
| -       $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
| +       $echo "$modename: \`$lib' is not a valid libtool archive (1)" 1>&2
|         exit $EXIT_FAILURE
|       fi
|  
*snip*

This looks like you frequently need to look where this happens.  Why do
you need to do this?  I would like to kill the underlying bug if
possible.

About the SYSROOT part of your patch: I would really love it if someone
would invest the work and implement this right.  I've also mentioned
this a few times.  But so far people have only posted patches that
"seemed to work" for their package and on their system, and not really
attacked the problem.  I for one would need a better understanding of
the problem in order to be able to help with patches.

Regards,
Ralf




reply via email to

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