Bug 7305

Summary: Install path for libgcj header files
Product: gcc Reporter: Matthias Klose <doko>
Component: libgcjAssignee: Richard Sandiford <rsandifo>
Status: RESOLVED FIXED    
Severity: enhancement CC: gcc-bugs, java-prs, obrien
Priority: P3    
Version: 3.1.1   
Target Milestone: 4.0.0   
Host: i386-pc-linux-gnu Target: i386-pc-linux-gnu
Build: i386-pc-linux-gnu Known to work:
Known to fail: Last reconfirmed: 2004-04-12 11:38:51
Bug Depends on:    
Bug Blocks: 346, 11147    

Description Matthias Klose 2002-07-14 04:46:00 UTC
The installation path for the C++ headers recently changed in the HEAD, so
that different gcc versions can be installed under the same prefix, i.e.
/usr/include/c++/<version>.

It would be nice to do the same for gcj/libgcj, so that more than one
gcj/libgcj-dev package can be installed concurrently under the same prefix.

Release:
3.1.1 20020703 (Debian prerelease) (Debian testing/unstable)

Environment:
System: Linux gate.local 2.4.18-xfs #1 Tue Mar 12 22:42:02 CET 2002 i686 unknown unknown GNU/Linux
Architecture: i686
	
host: i386-pc-linux-gnu
build: i386-pc-linux-gnu
target: i386-pc-linux-gnu
configured with: /mnt/data/gcc-3.1/gcc-3.1-3.1.1ds2/src/configure -v --enable-languages=c,c++,java,f77,proto,objc,ada --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-gxx-include-dir=/usr/include/g++-v3-3.1 --enable-shared --with-system-zlib --enable-long-long --enable-nls --without-included-gettext --enable-clocale=gnu --enable-__cxa_atexit --enable-threads=posix --enable-java-gc=boehm --enable-objc-gc i386-linux
Comment 1 Dara Hazeghi 2003-05-27 06:28:27 UTC
Hello,

I can confirm that this behavior still occurs on gcc 3.3 and mainline. I really think we should up the 
priority on this, as it makes it all but impossible to have 2 or more recent versions of gcc installed 
in the same prefix.

Dara
Comment 2 Andrew Pinski 2003-05-27 15:08:41 UTC
I am bumping the priority up because make it impossible to have two recent version of 
gcc installed at the same prefix.

Also See Dara's Comment.
Comment 3 Andrew Pinski 2003-05-27 17:19:44 UTC
*** Bug 10263 has been marked as a duplicate of this bug. ***
Comment 4 Tom Tromey 2003-11-11 18:56:53 UTC
Note that to make this seamless, we must also modify
g++ to search in $(includedir)/gcj/<version> by default.
Or perhaps we could install the headers in $(includedir)/c++/<version>;
we'd have to ask the libstdc++ guys about that.

Perhaps nothing should be installed directly in $(includedir) at all,
and instead we should all use $(includedir)/<version>.
In my install tree, the only things there are c++ headers, a couple
libffi headers, and java headers.  Surely all of these will change
from version to version, and so should be in a versioned subdir.
Comment 5 Andrew Pinski 2003-12-20 08:37:39 UTC
The current suggestion from me and Gaby is move libstdc++ also and have the directory 
called:
$(includedir)/GCC-<version>
Comment 6 Steven Bosscher 2004-01-10 22:40:43 UTC
Enhancement, so moving target milestone. 
Comment 7 Richard Sandiford 2004-11-25 21:04:14 UTC
Patches just posted for review.
Comment 8 GCC Commits 2004-12-03 11:15:35 UTC
Subject: Bug 7305

CVSROOT:	/cvs/gcc
Module name:	gcc
Changes by:	rsandifo@gcc.gnu.org	2004-12-03 11:15:25

Modified files:
	libjava        : ChangeLog Makefile.am Makefile.in aclocal.m4 
	                 configure configure.ac 
	libjava/gcj    : Makefile.am Makefile.in 
	libjava/include: Makefile.am Makefile.in 
	libjava/testsuite: Makefile.in 

Log message:
	PR libgcj/7305
	* configure.ac: Use TL_AC_GXX_INCLUDE_DIR.
	* Makefile.am (install-data-local): Install headers into
	$(gxx_include_dir) rather than $(includedir).
	(AM_MAKEFLAGS): Pass down gxx_include_dir.
	* gcj/Makefile.am (gcjdir): Set to $(gxx_include_dir)/gcj.
	* include/Makefile.am (tool_include__HEADERS): Define this...
	(include_HEADERS): ...instead of this.
	* configure, aclocal.m4, Makefile.in, gcj/Makefile.in: Regenerate.
	* include/Makefile.in, testsuite/Makefile.in: Regenerate.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/ChangeLog.diff?cvsroot=gcc&r1=1.3258&r2=1.3259
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/Makefile.am.diff?cvsroot=gcc&r1=1.433&r2=1.434
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/Makefile.in.diff?cvsroot=gcc&r1=1.463&r2=1.464
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/aclocal.m4.diff?cvsroot=gcc&r1=1.53&r2=1.54
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/configure.diff?cvsroot=gcc&r1=1.249&r2=1.250
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/configure.ac.diff?cvsroot=gcc&r1=1.15&r2=1.16
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/gcj/Makefile.am.diff?cvsroot=gcc&r1=1.5&r2=1.6
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/gcj/Makefile.in.diff?cvsroot=gcc&r1=1.61&r2=1.62
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/include/Makefile.am.diff?cvsroot=gcc&r1=1.5&r2=1.6
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/include/Makefile.in.diff?cvsroot=gcc&r1=1.62&r2=1.63
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libjava/testsuite/Makefile.in.diff?cvsroot=gcc&r1=1.72&r2=1.73

Comment 9 Richard Sandiford 2004-12-03 11:30:46 UTC
Fixed in 4.0