This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Patch: PR libgcj/28426: Fix install directory for libgcj headers in cross build.
- From: David Daney <ddaney at avtrex dot com>
- To: gcc-patches <gcc-patches at gcc dot gnu dot org>, Java Patch List <java-patches at gcc dot gnu dot org>
- Date: Tue, 18 Jul 2006 14:04:14 -0700
- Subject: Patch: PR libgcj/28426: Fix install directory for libgcj headers in cross build.
From the PR:
libgcj headers are installed in: GCC_PREFIX/include/c++/4.2.0
For a cross build g++ looks in GCC_PREFIX/${target}/include/c++/4.2.0
The result is that (by default) cni include files like gcj/cni.h cannot be
found by g++.
For a native build there is no problem.
The patch copies the logic from libstdc++-v3 into
config/gxx-include-dir.m4 and adds a comment to
libstdc++-v3/acinclude.m4 that points to the code that should be kept in
sync.
Grepping the sources it appears that the change to
config/gxx-include-dir.m4 only effects libjava/configure. So although
the fix is done in the config directory only libjava will be effected.
FWIW: I think this is a regression from 3.3.1, but I am not positive
because my 3.3.1 build is quite hacked up.
Testing on i686-pc-linux -> mipsel-linux cross (no-regressions) and
i686-pc-linux-gnu native (in progress), although the testsuite does not
really expose this type of install problem.
OK to commit?
libstdc++-v3:
2006-07-18 David Daney <ddaney@avtrex.com>
PR libgcj/28426
* acinclude.m4: Added a comment.
config:
2006-07-18 David Daney <ddaney@avtrex.com>
PR libgcj/28426
* gxx-include-dir.m4: Use target_alias in path for cross build.
libjava:
2006-07-18 David Daney <ddaney@avtrex.com>
PR libgcj/28426
* configure: Regenerated.
Index: libstdc++-v3/acinclude.m4
===================================================================
--- libstdc++-v3/acinclude.m4 (revision 115540)
+++ libstdc++-v3/acinclude.m4 (working copy)
@@ -675,6 +675,7 @@
dnl particular.
dnl
dnl This logic must match gcc/configure.ac's setting of gcc_gxx_include_dir.
+dnl config/gxx-include-dir.m4 must be kept consistant with this as well.
AC_DEFUN([GLIBCXX_EXPORT_INSTALL_INFO], [
glibcxx_toolexecdir=no
glibcxx_toolexeclibdir=no
Index: config/gxx-include-dir.m4
===================================================================
--- config/gxx-include-dir.m4 (revision 115540)
+++ config/gxx-include-dir.m4 (working copy)
@@ -17,7 +17,13 @@
yes) gxx_include_dir='$(libsubdir)/include/c++' ;;
*)
libstdcxx_incdir='c++/$(gcc_version)'
- gxx_include_dir='$(prefix)/include/$(libstdcxx_incdir)' ;;
+ gxx_include_dir='include/$(libstdcxx_incdir)'
+ if test -n "$with_cross_host" &&
+ test x"$with_cross_host" != x"no"; then
+ gxx_include_dir='${prefix}/${target_alias}/'"$gxx_include_dir"
+ else
+ gxx_include_dir='${prefix}/'"$gxx_include_dir"
+ fi;;
esac ;;
*) gxx_include_dir=${with_gxx_include_dir} ;;
esac
Index: libjava/configure
===================================================================
--- libjava/configure (revision 115540)
+++ libjava/configure (working copy)
@@ -15036,7 +15036,13 @@
yes) gxx_include_dir='$(libsubdir)/include/c++' ;;
*)
libstdcxx_incdir='c++/$(gcc_version)'
- gxx_include_dir='$(prefix)/include/$(libstdcxx_incdir)' ;;
+ gxx_include_dir='include/$(libstdcxx_incdir)'
+ if test -n "$with_cross_host" &&
+ test x"$with_cross_host" != x"no"; then
+ gxx_include_dir='${prefix}/${target_alias}/'"$gxx_include_dir"
+ else
+ gxx_include_dir='${prefix}/'"$gxx_include_dir"
+ fi;;
esac ;;
*) gxx_include_dir=${with_gxx_include_dir} ;;
esac