This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
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