This is the mail archive of the java-patches@gcc.gnu.org mailing list for the Java project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Ping(build machinery): Patch: PR libgcj/28426: Fix install directory for libgcj headers in cross build.


Could a build machinery maintainer take a look at this:

Thanks

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]