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

David Daney ddaney@avtrex.com
Fri Jul 21 15:39:00 GMT 2006


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



More information about the Java-patches mailing list