aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexandre Oliva <aoliva@redhat.com>2011-01-31 05:20:17 +0000
committerAlexandre Oliva <aoliva@gcc.gnu.org>2011-01-31 05:20:17 +0000
commit29a63921d9e05ea2932861ce6c1154f3ce9bbfe0 (patch)
tree5b827c5b1e4abb0059e15c7488325f2fed1d00e4
parentef591d3f0591cfd815232664da45816682ca98eb (diff)
downloadgcc-29a63921d9e05ea2932861ce6c1154f3ce9bbfe0.zip
gcc-29a63921d9e05ea2932861ce6c1154f3ce9bbfe0.tar.gz
gcc-29a63921d9e05ea2932861ce6c1154f3ce9bbfe0.tar.bz2
re PR libgcj/44341 (libjava cross build fails when configured with --with-gmp=)
ChangeLog: PR libgcj/44341 * configure.ac: Discard --with-* flags for host when configuring target libraries for cross build. * configure: Rebuilt. gcc/ChangeLog: PR libgcj/44341 * doc/install.texi: Document host options discarded when cross configuring target libraries. From-SVN: r169430
-rw-r--r--ChangeLog7
-rwxr-xr-xconfigure44
-rw-r--r--configure.ac44
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/doc/install.texi6
5 files changed, 105 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index ad8d8f9..97450ce 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2011-01-31 Alexandre Oliva <aoliva@redhat.com>
+
+ PR libgcj/44341
+ * configure.ac: Discard --with-* flags for host when configuring
+ target libraries for cross build.
+ * configure: Rebuilt.
+
2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
* MAINTAINERS (linear loop transforms): Removed.
diff --git a/configure b/configure
index b18d95d..cd238fb 100755
--- a/configure
+++ b/configure
@@ -7330,6 +7330,7 @@ serialization_dependencies=serdep.tmp
# Also strip program-prefix, program-suffix, and program-transform-name,
# so that we can pass down a consistent program-transform-name.
baseargs=
+tbaseargs=
keep_next=no
skip_next=no
eval "set -- $ac_configure_args"
@@ -7345,6 +7346,7 @@ do
ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
esac
baseargs="$baseargs '$ac_arg'"
+ tbaseargs="$tbaseargs '$ac_arg'"
keep_next=no
continue
fi
@@ -7366,11 +7368,45 @@ do
;;
esac
+ skip_targ=no
+ case $ac_arg in
+
+ --with-* | --without-*)
+ libopt=`echo "$ac_arg" | sed -e 's,^--[^-_]*[-_],,' -e 's,=.*$,,'`
+
+ case $libopt in
+ *[-_]include)
+ lib=`echo "$libopt" | sed 's,[-_]include$,,'`
+ ;;
+ *[-_]lib)
+ lib=`echo "$libopt" | sed 's,[-_]lib$,,'`
+ ;;
+ *)
+ lib=$libopt
+ ;;
+ esac
+
+
+ case $lib in
+ mpc | mpfr | gmp | ppl | cloog)
+ # If we're processing --with-$lib, --with-$lib-include or
+ # --with-$lib-lib, for one of the libs above, and target is
+ # different from host, don't pass the current argument to any
+ # target library's configure.
+ if test x$is_cross_compiler = xyes; then
+ skip_targ=yes
+ fi
+ ;;
+ esac
+ ;;
+ esac
+
case "$ac_arg" in
--cache-file=/dev/null | \
-cache-file=/dev/null )
# Handled here to avoid the test to skip args below.
baseargs="$baseargs '$ac_arg'"
+ tbaseargs="$tbaseargs '$ac_arg'"
# Assert: $separate_arg should always be no.
keep_next=$separate_arg
;;
@@ -7401,6 +7437,9 @@ do
ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
esac
baseargs="$baseargs '$ac_arg'"
+ if test X"$skip_targ" = Xno; then
+ tbaseargs="$tbaseargs '$ac_arg'"
+ fi
keep_next=$separate_arg
;;
*)
@@ -7427,10 +7466,13 @@ EOF_SED
gcc_transform_name=`cat conftestsed.out`
rm -f conftestsed.out
baseargs="$baseargs --program-transform-name='${gcc_transform_name}'"
+tbaseargs="$tbaseargs --program-transform-name='${gcc_transform_name}'"
if test "$silent" = yes; then
baseargs="$baseargs --silent"
+ tbaseargs="$tbaseargs --silent"
fi
baseargs="$baseargs --disable-option-checking"
+tbaseargs="$tbaseargs --disable-option-checking"
# Record and document user additions to sub configure arguments.
@@ -7456,7 +7498,7 @@ esac
# This seems to be due to autoconf 2.5x stupidity.
host_configargs="$host_configargs --cache-file=./config.cache ${extra_host_args} ${baseargs}"
-target_configargs="$target_configargs ${baseargs}"
+target_configargs="$target_configargs ${tbaseargs}"
# Passing a --with-cross-host argument lets the target libraries know
# whether they are being built with a cross-compiler or being built
diff --git a/configure.ac b/configure.ac
index 890d04e..e9048eb 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2845,6 +2845,7 @@ AC_SUBST_FILE(serialization_dependencies)
# Also strip program-prefix, program-suffix, and program-transform-name,
# so that we can pass down a consistent program-transform-name.
baseargs=
+tbaseargs=
keep_next=no
skip_next=no
eval "set -- $ac_configure_args"
@@ -2860,6 +2861,7 @@ do
ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
esac
baseargs="$baseargs '$ac_arg'"
+ tbaseargs="$tbaseargs '$ac_arg'"
keep_next=no
continue
fi
@@ -2881,11 +2883,45 @@ do
;;
esac
+ skip_targ=no
+ case $ac_arg in
+changequote(,)
+ --with-* | --without-*)
+ libopt=`echo "$ac_arg" | sed -e 's,^--[^-_]*[-_],,' -e 's,=.*$,,'`
+
+ case $libopt in
+ *[-_]include)
+ lib=`echo "$libopt" | sed 's,[-_]include$,,'`
+ ;;
+ *[-_]lib)
+ lib=`echo "$libopt" | sed 's,[-_]lib$,,'`
+ ;;
+ *)
+ lib=$libopt
+ ;;
+ esac
+changequote([,])
+
+ case $lib in
+ mpc | mpfr | gmp | ppl | cloog)
+ # If we're processing --with-$lib, --with-$lib-include or
+ # --with-$lib-lib, for one of the libs above, and target is
+ # different from host, don't pass the current argument to any
+ # target library's configure.
+ if test x$is_cross_compiler = xyes; then
+ skip_targ=yes
+ fi
+ ;;
+ esac
+ ;;
+ esac
+
case "$ac_arg" in
--cache-file=/dev/null | \
-cache-file=/dev/null )
# Handled here to avoid the test to skip args below.
baseargs="$baseargs '$ac_arg'"
+ tbaseargs="$tbaseargs '$ac_arg'"
# Assert: $separate_arg should always be no.
keep_next=$separate_arg
;;
@@ -2916,6 +2952,9 @@ do
ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
esac
baseargs="$baseargs '$ac_arg'"
+ if test X"$skip_targ" = Xno; then
+ tbaseargs="$tbaseargs '$ac_arg'"
+ fi
keep_next=$separate_arg
;;
*)
@@ -2942,10 +2981,13 @@ EOF_SED
gcc_transform_name=`cat conftestsed.out`
rm -f conftestsed.out
baseargs="$baseargs --program-transform-name='${gcc_transform_name}'"
+tbaseargs="$tbaseargs --program-transform-name='${gcc_transform_name}'"
if test "$silent" = yes; then
baseargs="$baseargs --silent"
+ tbaseargs="$tbaseargs --silent"
fi
baseargs="$baseargs --disable-option-checking"
+tbaseargs="$tbaseargs --disable-option-checking"
# Record and document user additions to sub configure arguments.
AC_ARG_VAR([build_configargs],
@@ -2974,7 +3016,7 @@ esac
# This seems to be due to autoconf 2.5x stupidity.
host_configargs="$host_configargs --cache-file=./config.cache ${extra_host_args} ${baseargs}"
-target_configargs="$target_configargs ${baseargs}"
+target_configargs="$target_configargs ${tbaseargs}"
# Passing a --with-cross-host argument lets the target libraries know
# whether they are being built with a cross-compiler or being built
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 242f4b6..5d25767 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,11 @@
2011-01-31 Alexandre Oliva <aoliva@redhat.com>
+ PR libgcj/44341
+ * doc/install.texi: Document host options discarded when cross
+ configuring target libraries.
+
+2011-01-31 Alexandre Oliva <aoliva@redhat.com>
+
Reverted:
2011-01-25 Alexandre Oliva <aoliva@redhat.com>
PR debug/45136
diff --git a/gcc/doc/install.texi b/gcc/doc/install.texi
index d00f831..b953d72 100644
--- a/gcc/doc/install.texi
+++ b/gcc/doc/install.texi
@@ -1584,6 +1584,9 @@ shared libraries can be found by the dynamic linker when building and
using GCC, for example by setting the runtime shared library path
variable (@env{LD_LIBRARY_PATH} on GNU/Linux and Solaris systems).
+These flags are applicable to the host platform only. When building
+a cross compiler, they will not be used to configure target libraries.
+
@item --with-ppl=@var{pathname}
@itemx --with-ppl-include=@var{pathname}
@itemx --with-ppl-lib=@var{pathname}
@@ -1604,6 +1607,9 @@ you can explicitly specify the directory where they are installed
shorthand assumptions are not correct, you can use the explicit
include and lib options directly.
+These flags are applicable to the host platform only. When building
+a cross compiler, they will not be used to configure target libraries.
+
@item --with-host-libstdcxx=@var{linker-args}
If you are linking with a static copy of PPL, you can use this option
to specify how the linker should find the standard C++ library used