This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC 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]

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

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