tech-toolchain archive

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

Re: Library building



On Tue, Aug 21, 2012 at 07:17:36PM +0100, Iain Hibbert wrote:
> On Tue, 21 Aug 2012, Joerg Sonnenberger wrote:
> 
> > On Tue, Aug 21, 2012 at 07:34:28AM +0100, Iain Hibbert wrote:
> > > On Sat, 11 Aug 2012, Joerg Sonnenberger wrote:
> > >
> > > > One thing I am still contemplating is whether to make build_install a
> > > > primary target in all directories or not.
> > >
> > > I am not sure what you mean by this, but IMO 'make' or 'make all' should
> > > not ever install anything.. following the principle of least surprise, it
> > > should only create files in the current or subdirs
> >
> > We have some (IMO bad) hacks to allow building libraries and linking
> > against not-installed ones. I want to drop those hacks in the long term,
> 
> right, the dependencies can be annoying if you are trying to build a part
> of the tree in an already installed system
> 
> > which would mean that you can't build some parts of the tree in
> > isolation. The question here has simply, whether "make build_install"
> > should work everywhere, not just in src/lib.
> 
> where else would it be needed?
> 
> I did think about this a little one time though I have no real suggestion
> about how it should go.. but I personally think, that we have build.sh to
> handle building a system now, so for simplicity if you do a 'make' in any
> directory, then the environment/libraries referred to should always just
> be the ${DESTDIR} versions
> 
> Then we leave to build.sh the complexity of building and installing the
> libraries in order. perhaps it could be as simple as having the
> lib/Makefile contain
> 
>   SUBDIR.1=   csu libc ..
>   SUBDIR.2=   libarch libbluetooth ...
>   SUBDIR?=    ${SUBDIR.1} ${SUBDIR.2}
> 
> and have build.sh build and install the libraries with
> 
>   cd $SRC/lib
>   make 'SUBDIR=${SUBDIR.1}' dependall install
>   make 'SUBDIR=${SUBDIR.2}' dependall install

This is essentially what the patch is doing.

Joerg


Home | Main Index | Thread Index | Old Index