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 Sat, Nov 06, 2010 at 07:04:33PM +0000, Iain Hibbert wrote:
> On Wed, 3 Nov 2010, Iain Hibbert wrote:
> 
> > On Wed, 3 Nov 2010, Alan Barrett wrote:
> >
> > > On Tue, 02 Nov 2010, Iain Hibbert wrote:
> > > > currently the make system builds 'external' libraries using a separate
> > > > target do-external-libs, SUBDIRing into external/lib/Makefile and
> > > > crypto/external/lib/Makefile before SUBDIR again to the build 
> > > > directory..
> > > >
> > > > the patch attached cleans that up and just SUBDIRs directly from
> > > > lib/Makefile. It also means that some ordering constraints can be more
> > > > obviously handled, perhaps we can reduce the number of .WAITs there..
> > >
> > > Could you also remove the do-gnu-lib target using the same method?
> >
> > I don't see why not.. will give it a run through
> 
> gnu/lib directory is actually slightly different as it contains code in
> subdirs and is not a dead end sidestep like the others
> 
> I can remove the do-gnu-lib step though, and add a SUBDIR to lib/Makefile
> so that we only need to make in lib to get all the libraries, no real need
> to have a separate step in the root Makefile.. (I guess that the gnu/
> stuff will be updated eventually and moved to external/gplN)
> 
> The attached patch implements all of the above, and reduces complexity in
> compat/compatsubdirs.mk (since a SUBDIR to lib catches all the libraries)
> and I've cross built mips64eb, mips64el, sparc64 and amd64 releases to
> make sure it all works

[..]

> Index: compat/compatsubdir.mk
> ===================================================================
> RCS file: /cvsroot/src/compat/compatsubdir.mk,v
> retrieving revision 1.4
> diff -u -r1.4 compatsubdir.mk
> --- compat/compatsubdir.mk    2 Nov 2010 16:34:33 -0000       1.4
> +++ compat/compatsubdir.mk    6 Nov 2010 16:42:04 -0000
> @@ -13,39 +13,11 @@
>  # XXX make this use MAKEOBJDIR
>  MAKEDIRTARGETENV=    MAKEOBJDIRPREFIX=${.OBJDIR} MKOBJDIRS=yes MKSHARE=no 
> BSD_MK_COMPAT_FILE=${BSD_MK_COMPAT_FILE}
>  
> -# 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.

Bernd



Home | Main Index | Thread Index | Old Index