Problem with libstdc++-v3/po Makefile
Loren James Rittle
Tue Jan 8 21:59:00 GMT 2002
>>> I threw out a suggestion & pseudocode patch (gcc list, 3 Jan) to turn all
>>> in-source builds into separate objdir builds, thus killing this once and
>>> for all. Nobody commented.
Resubmit a tested patch to gcc-patches. ;-)
Personally, I like the patch with the following changes to the "red
1. Use this initial rule and remove 'all' from being chained:
+ @echo 'There is no default Makefile rule to build gcc.'
+ @echo 'Please read the instructions in the INSTALL directory.'
+ @exit 1
(Assuming they can actually find the INSTALL directory - I just copied
your words, the above would have avoided many useless PRs from users
that refused to read the 3.0 installation documents.)
2. Add this non-chained rule:
+ @rm -rf builddir
3. Add code to actually test the invocation make to see if it supports
VPATH properly as would now be required in all cases. Refuse to
chain with an unsupported make implementation. If the make
implementation is lacking then, in detail, we must explain to the
user what is up and what they can do about it or we may get a flood
of PRs after you make this change (i.e. I wouldn't wish to trade one
useless but common set of PRs for another).
And this change to configure:
4. Should issue a warning (that an interactive user will have some
chance to see) that builddir was created and that a make
implementation supporting VPATH is now required to build gcc.
Although we are indeed now in the 21th century, I fear that the new
requirement of a VPATH supporting make implementation will be used to
kill this idea.
> I also think re-doing the cross-compiler builds so that all the libraries
> and headers, binaries are "staged" in the build directory is a good idea.
I would fully support enforcing:
- srcdir!=objdir (assuming no portability improvements are required,
Phil's patch looks reasonable to me).
- staging of all built files into a structure that looks just like the
final install area (i.e. the difference between running 'make check'
and 'make check-installed' should be the presence of exactly one -B
> That's a big job, but I firmly believe it will have to happen at some point.
Unless maintaining the status quo is actually a bigger job.
Loren J. Rittle
Senior Staff Software Engineer, Distributed Object Technology Lab
Networks and Infrastructure Research Lab (IL02/2240), Motorola Labs
email@example.com, KeyID: 2048/ADCE34A5, FDC0292446937F2A240BC07D42763672
More information about the Libstdc++