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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

cvs checkout and build of binutils


On Mon, Mar 29, 2004 at 06:14:15PM +0100, Dave Korn wrote:
>   By using the 'cvs checkout binutils' command, it brings down the binutils
> dir and its dependencies - bfd, opcodes, gas, etc; then plain old 'cvs
> update' will update all the existing directories you have, i.e. just the
> binutils related ones, whereas 'cvs update -d' will create and populate the
> directories that relate to other projects as well.

Yes.  Note that *not* using -d with cvs update will occasionally fail to
do the right thing, for instance when someone adds a new sub-directory
to one of the binutils dirs.

There are at least three ways to check out and update binutils trees
that I can think of:
a) Always use cvs co binutils, ie. avoid cvs update
b) Check out the whole /src tree, use cvs update -d, and build a
   tree of symlinks to the relevant binutils files.  I use this scheme,
   because I often want to look at gdb, etc.  My /src/binutils-current
   dir has the following files, each one a symlink, with the exception
   of TAGS.

$ ls
COPYING                 bfd           gas          ltmain.sh
COPYING.LIB             binutils      gettext.m4   makefile.vms
COPYING.LIBGLOSS        cgen          gprof        missing
COPYING.NEWLIB          config        include      mkdep
CVS                     config-ml.in  install-sh   mkinstalldirs
ChangeLog               config.guess  intl         move-if-change
MAINTAINERS             config.if     ld           opcodes
Makefile.def            config.sub    libiberty    setup.com
Makefile.in             configure     libtool.m4   src-release
Makefile.tpl            configure.in  ltcf-c.sh    symlink-tree
README                  cpu           ltcf-cxx.sh  texinfo
README-maintainer-mode  djunpack.bat  ltcf-gcj.sh  ylwrap
TAGS                    etc           ltconfig

   An example of one of my binutils builds is:
   cd ~/build/gas/powerpc-linux
   CFLAGS="-g -O" /src/binutils-current/configure --prefix=/usr/local \
     --disable-nls --build=i686-linux --host=i686-linux \
     --target=powerpc-linux --enable-targets=powerpc64-linux

c) Use update -d on just the existing binutils dirs.  Something like
   cvs update -l;
   cvs update -d `find . -maxdepth 1 -type d \! -name .`
   You're probably better off using option a  :)

Oh, and I also have the following cvs defaults:
$ cat ~/.cvsrc 
cvs -z3 -q
diff -up
update -P -ko
checkout -P -ko

-- 
Alan Modra
IBM OzLabs - Linux Technology Centre


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