This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ 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] |
Hello, this is the DESTDIR patch for the gcc-3_3-branch. It is quite similar to the DESTDIR patch for the mainline, so you may want to take e.g. `destdir5.diff' from `http://gcc.gnu.org/ml/gcc-patches/2003-01/msg00232.html' and compare it with the attached `destdir-3.3-0.diff' using diff -I'^\(RCS\|retrieving\|diff\|---\|+++\|@@\) ' \ destdir5.diff destdir-3.3-0.diff Except for line numbers, the regeneration patches are identical to the respective 3.4 versions. The same holds for the documentation patch which seems to need a dedicated thread ("Re: [doc] DESTDIR and tooldir") and therefore is not provided here. The ChangeLog entries are again provided as plain text files conforming to `http://www.gnu.org/prep/standards_42.html', packed in the attached `destdir-changelog-3.3-1.tar.gz'. For the mainline, the top-level `Makefile.{tpl,in}' are kept in sync with their respective versions in the `src' tree and hence shall be checked into both repositories. I do not know whether similar careabouts exist for the gcc-3_3-branch. If only src's mainline mirrors gcc's toplevel, then it has got the patches already. For a detailed description of the DESTDIR patch, let me refer to `http://gcc.gnu.org/ml/gcc-patches/2003-01/msg00026.html', but note that `gcc/mkheaders.in' has been left unchanged, according to `http://gcc.gnu.org/ml/gcc-patches/2003-01/msg00111.html'. Fortunately, only two hunks from the mainline patch did not immediately apply to the gcc-3_3-branch. The only affected file is `gcc/Makefile.in'. One hunk failed because the gcc-3.3-branch of that file does not contain an `install-gcc-tooldir' rule which would need DESTDIRification. The second hunk failed due to change of quoting in a context line and could be resolved easily. Then I rescanned the 3.3 source tree to find remaining places that may need DESTDIRification, and found, again in `gcc/Makefile.in', the old `stmp-fixinc' rule. It includes commands for creating $(libsubdir) at build time (when cross-compiling with the default setting of SYSTEM_HEADER_DIR) in order to let the following compilations find the system header files (which goes via $(libsubdir)/$(unlibsubdir)/..). That approach is flawed for several reasons, but the main point here is that DESTDIRifying the creation of $(libsubdir) would make no sense there. The build-time compilations would need an unrelocated $(libsubdir) anyway. I have therefore left the `stmp-fixinc' rule untouched. This does not make the patch incomplete, however. The actual installation performed by "make install" can be relocated with DESTDIR as it should. The problem with build-time creation of a final installdir is just the same problem as before, which the DESTDIR patch cannot cure. The 3.4 version of `gcc/Makefile.in' already supports another approach which properly separates the installdir creation from the building step and therefore poses no problem to the DESTDIRification. (Just for elegance, you may still want to replace the $(libsubdir) creation fragment with a simple mkinstalldirs command.) Tested on i686-pc-linux-gnu. Besides, both mainline and 3.3 need additional fixes of some rules in `gcc/ada/Make-lang.in', otherwise the Ada binaries and info files won't get installed into a clean DESTDIR. Watch out for `gcc/ada/Make-lang.in: Some install tuning' (no URL yet). Regards, Christian Cornelssen
Attachment:
destdir-3.3-1.diff
Description: Text document
Attachment:
destdir-no-am-3.3-1.diff
Description: Text document
Attachment:
destdir-no-ag-3.3-1.diff
Description: Text document
Attachment:
destdir-changelog-3.3-1.tar.gz
Description: application/gunzip
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |