Current-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: remove external/lib/Makefile and crypto/external/lib/Makefile



On Tue, Nov 09, 2010 at 08:23:07AM +0000, Iain Hibbert wrote:
> On Mon, 8 Nov 2010, Bernd Ernesti wrote:
> 
> > On Mon, Nov 08, 2010 at 05:47:37PM +0000, Iain Hibbert wrote:
> > > On Mon, 8 Nov 2010, Bernd Ernesti wrote:
> > >
> > > > > -# XXX fix the "library" list to include all 'external' libs?
> > > > >  .if defined(BOOTSTRAP_SUBDIRS)
> > > > >  SUBDIR=      ${BOOTSTRAP_SUBDIRS}
> > > > >  .else
> > > > > -SUBDIR= ../../../gnu/lib/crtstuff4 .WAIT \
> > > > > -     ../../../lib/csu .WAIT \
> > > > > -     ../../../gnu/lib/libgcc4 .WAIT \
> > > > > -     ../../../lib/libc .WAIT \
> > > > > -     ../../../lib/libutil .WAIT \
> > > > > -     ../../../lib .WAIT \
> > > > > -     ../../../gnu/lib \
> > > > > -     ../../../external/bsd/bind/lib \
> > > > > -     ../../../external/bsd/libevent/lib \
> > > > > -     ../../../external/bsd/file/lib \
> > > > > -     ../../../external/public-domain/xz/lib \
> > > > > +SUBDIR= ../../../lib .WAIT \
> > > > >       ../../../libexec/ld.elf_so
> > > >
> > > > At least the change above produces a different order now.
> > >
> > > Yes. perhaps you can suggest why compat/lib needs to build in a different
> > > order than lib?
> >
> > Because that is the real order to build them and not the simplified order 
> > which
> > you now use in src/lib
> 
> My question is why should compat/compatsubdir.mk and lib/Makefile need
> different ordering? (and they are not exactly the same, currently)
> Simplifying compatsubdir.mk makes it easier to read, understand and
> maintain..
> 
> If you want to raise a concern about the lib/Makefile ordering, please do,
> but I would appreciate something concrete rather than 'it might not work'
> when clearly it does work just fine here, successfully (cross-)building
> for several architectures with differing -j settings and running a system
> built in that order..

If you want to move the entries from gnu/lib/Makefile into lib/Makefile then
this should be in a different order like the one used in compat/compatsubdir.mk
because all other libraries depends on some of the libraries from 
gnu/lib/Makefile:
 crtstuff4
 libgcc4

But these two libraries should not be added to src/lib/Makefile since they are
already handled in src/Makefile. I see no point in running the build target
multiple times, yes they will not really be build but it not necessary.

Right now this it not optimal, crtstuff4 and libgcc4 should maybe removed
from src/gnu/lib/Makefile then add src/gnu/lib/Makefile in src/lib/Makefile
and remove the do-gnu-lib part from src/Makefile but I haven't thought about
that much.
I'm not certain about libmalloc from src/gnu/lib/Makefile and how it is used.
There are two other types in src/gnu/lib/Makefile and they are only used if the
compiler is gcc:
* objc
* c++
The c++ has to come after the atf libaries because the aft framework is in c++.
I think the objc one doesn't matter where it comes beause the only usage is IMHO
in src/gnu/usr.bin

Regards,
Bernd



Home | Main Index | Thread Index | Old Index