libtool
[Top][All Lists]
Advanced

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

Re: --with-sysroot conflicts in binutils and gcc


From: Ralf Wildenhues
Subject: Re: --with-sysroot conflicts in binutils and gcc
Date: Sat, 23 Oct 2010 10:01:42 +0200
User-agent: Mutt/1.5.20 (2010-08-04)

Hi Paolo,

* Paolo Bonzini wrote on Sat, Oct 23, 2010 at 09:38:43AM CEST:
> Also, libtool should probably ignore --with-sysroot if build==host;
> native compilers are never build with a sysroot in practice.

OK, so this would mean there is no way --with-sysroot could be (ab)used
to fix the DESTDIR (re)link failures that libtool users experience
today.  Desired side-effect?

The rest of your proposed patch could also be wrapped in
gcc/configure.ac, I'm not sure whether it belongs there rather than in
Libtool?

> This however
> would still conflict with GCC when cross-building a native compiler, or
> for a sysrooted Canadian cross.  The attached patch could be made to work
> in this scenario if you can afford using --without-build-sysroot.
> 
> Another possibility is to have an environment variable which would
> override the command-line options (ick).  Then the GCC toplevel can
> set it as they wish.

Ick.

Thanks,
Ralf

> --- a/libltdl/m4/libtool.m4
> +++ b/libltdl/m4/libtool.m4
> @@ -1183,19 +1183,21 @@ AC_DEFUN([_LT_WITH_SYSROOT],
>  AC_ARG_WITH([sysroot],
>  [  --with-sysroot[=DIR] Search for dependent libraries within DIR
>                          (or the compiler's sysroot if not specified).],
> -[], [with_sysroot=no])
> +[], [with_sysroot=${with_build_sysroot}])
>  
>  dnl lt_sysroot will always be passed unquoted.  We quote it here
>  dnl in case the user passed a directory name.
>  lt_sysroot=
>  case ${with_sysroot} in #(
>   yes)
> -   if test "$GCC" = yes; then
> +   if test "$GCC" = yes && test "$build" != "$host"; then
>       lt_sysroot=`$CC --print-sysroot 2>/dev/null`
>     fi
>     ;; #(
>   /*)
> -   lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
> +   if test "$build" != "$host"; then
> +     lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
> +   fi
>     ;; #(
>   no|'')
>     ;; #(



reply via email to

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