This is the mail archive of the newlib@sources.redhat.com mailing list for the newlib project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: some questions for building newlib


Christopher Faylor wrote:
> 
> On Thu, Oct 19, 2000 at 11:57:32AM +0800, zsz wrote:
> >I am sorry, I don't have completed the last letter, but I sent it by error
> >Thank you for your help,
> > I can't understand "unpack gcc/binutils/newlib all in the same source directory and build in a single build tree".
> >What is "same source directory and build in a single build tree"?
> >My working method go as follow:
> >
> > /src
> >   |----binutils
> >   |           |------binutils-2.10.0.12  <--------source files are here
> >   |           |-----------xxxxx
> >   |           |-----------binutils_objdir <------configure, make
> >   |           |-----------xxxxx
> >   |----gcc
> >   |          |-------gcc-2.95.2 <-------source files are here
> >   |                            |---------gcc_objdir  <--------configure, make
> >   |----newlib
> >   |          |-------newlib-1.8.2  <------source files are here
> >   |                            |---------newlib_objdir  <--------configure, make
> >   |----insight
> >              |-------insight-5.0  <--------source files are here
> >               |---------insight-5.0_objdir <--------configure, make
> >
> >Do you think it is right?
> >I guess "same source directory and single build tree"  said by you may be as follows:
> >
> >"same source directory"
> > /src
> >   |----binutils
> >   |           |------binutils-2.10.0.12  <--------source files are here
> >   |----gcc
> >   |          |-------gcc-2.95.2 <-------source files are here
> >   |----newlib
> >   |          |-------newlib-1.8.2  <------source files are here
> >   |----insight
> >              |-------insight-5.0  <--------source files are here
> 
> I'm sure that Jeff meant:
> 
> /src
>   +-----binutils <--------source files are here
>   |
>   +-----gcc      <--------source files are here
>   |
>   +-----newlib   <--------source files are here
>   |
>   +-----insight  <--------source files are here
>

Chris is correct. I should have been more specific.
 
> This layout reflects, to some degree, the sources.redhat.com CVS repository
> and it is the layout most people use when building things like gcc, newlib,
> and gdb (aka insight).
> 
> This mirrors your tree below which is also right.  What this allows you to do
> is:
> 
> mkdir /build
> cd /build
> /src/configure
> make
> 
> The problem with this layout, when downloading from the net, is that you
> have to decide which common directories, like libiberty and include, you
> need to use.  When I was building things from tar.gz files I usually just
> used whatever looked newer.  You still might have to play around with some
> files to get things working, though.
> 
> An alternative method is to check everything out via CVS.  The sources.redhat.com
> web page should be able to lead you to a page which describes how to do that
> for the various projects.
>

Using cvs will create the proper source tree structure for you as long as you perform the various
checkouts from the same starting directory.  One benefit is that you will get up to date sources and
you can apply the patches that are sent to the various mailing lists (e.g. newlib-cvs).  You can
also re-perform the checkout every so often to get all updates at once.  CVS attempts to merge any
changes
in your local copy with the repository so you will not trounce any local modifications you are
working on.  Occasionally, CVS will not know how to perform the merge and will note a conflict in
the file.  In such a case, you simply have to edit the file in question to resolve the conflict.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]