mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-11-24 02:24:46 +08:00
* README: Add notes on how to build if you don't have ar.
This commit is contained in:
parent
f255b19d70
commit
7d1f346446
@ -1,3 +1,14 @@
|
||||
Thu Jun 6 13:56:14 1996 Ian Lance Taylor <ian@cygnus.com>
|
||||
|
||||
* README: Add notes on how to build if you don't have ar.
|
||||
|
||||
* Makefile.in: Remove old incorrect setting of CC.
|
||||
|
||||
Tue Jun 4 10:52:49 1996 Tom Tromey <tromey@csk3.cygnus.com>
|
||||
|
||||
* Makefile.in (install): Don't check to see if tooldir exists.
|
||||
Make $(tooldir) and $(tooldir)/bin.
|
||||
|
||||
Mon Jun 3 17:40:23 1996 Michael Meissner <meissner@tiktok.cygnus.com>
|
||||
|
||||
* strings.c (main): Make main an int function, not void.
|
||||
|
@ -1,10 +1,13 @@
|
||||
This is a beta release of a completely rewritten binutils distribution.
|
||||
The linker (ld) has been moved into a separate directory,
|
||||
which should be ../ld. Linker-specific notes are in ../ld/README.
|
||||
(Rewritten since binutils 1.x, that is.)
|
||||
|
||||
The linker (ld) has been moved into a separate directory, which should be
|
||||
../ld. Linker-specific notes are in ../ld/README.
|
||||
|
||||
As of version 2.5, the assembler (as) is also included in this package, in
|
||||
../gas. Assembler-specific notes can be found in ../gas/README.
|
||||
|
||||
These programs have been tested on various architectures.
|
||||
Most recently tested are sun3 and sun4s running sunos4,
|
||||
as well as Sony News running newsos3.
|
||||
However, since this is a beta release taken directly from an
|
||||
evolving source tree, there might be some problems. In particular,
|
||||
the programs have not been ported to as many machines as the
|
||||
@ -14,46 +17,97 @@ patches to make things run on other machines; especially welcome
|
||||
are fixes for what used to work on the old programs!
|
||||
(See ./TODO, as well a ../bfd/TODO and ../ld/TODO.)
|
||||
|
||||
Recent changes are in ./NEWS.
|
||||
Recent changes are in ./NEWS, ../ld/NEWS, and ../gas/NEWS.
|
||||
|
||||
Unpacking and Installation -- quick overview
|
||||
==========================
|
||||
|
||||
In this release, the binary utilities, the linker, the generic GNU include
|
||||
files, the BFD ("binary file description") library, gprof, and getopt all
|
||||
have directories of their own underneath the binutils-2.1 directory.
|
||||
have directories of their own underneath the binutils-2.7 directory.
|
||||
The idea is that a variety of GNU tools can
|
||||
share a common copy of these things. Configuration scripts and
|
||||
makefiles exist to cruise up and down this directory tree and
|
||||
automatically build all the pieces in the right order.
|
||||
|
||||
When you unpack the binutils-2.1.tar.Z file, you'll get a directory called
|
||||
something like `binutils-2.1', which contains:
|
||||
When you unpack the binutils-2.7.tar.gz file, you'll get a directory
|
||||
called something like `binutils-2.7', which contains:
|
||||
|
||||
DOC.configure README config/ configure* ld/
|
||||
Makefile bfd/ config.status* configure.in libiberty/
|
||||
Makefile.in binutils/ config.sub include/ texinfo/
|
||||
COPYING bfd/ configure* libiberty/
|
||||
COPYING.LIB binutils/ configure.in move-if-change*
|
||||
CYGNUS build-all.mk etc/ opcodes/
|
||||
ChangeLog config/ gprof/ test-build.mk
|
||||
Makefile.in config.guess* inc
|
||||
|
||||
To build binutils, you can just do:
|
||||
|
||||
cd binutils-2.1
|
||||
./configure [ --with-minimal-bfd=yes ]
|
||||
cd binutils-2.7
|
||||
./configure [ --enable-targets='target1,target2...' ]
|
||||
make
|
||||
make install # copies the programs files into /usr/local/bin by default.
|
||||
|
||||
The --with-minimal-bfd-yes flag is a temporary kludge. Using it makes
|
||||
the executables smaller, at the price of only being able to handle
|
||||
the default binary file format. A more flexible mechanism is planned.
|
||||
make install # copies the programs files into /usr/local/bin
|
||||
# by default.
|
||||
|
||||
This will configure and build all the libraries as well as binutils
|
||||
and the linker.
|
||||
|
||||
The --enable-targets option adds support for more binary file
|
||||
formats besides the default. By default, support for only the
|
||||
selected target file format is compiled in. To add support for more
|
||||
formats, list them as the argument to --enable-targets, separated by
|
||||
commas. For example:
|
||||
|
||||
./configure --enable-targets=sun3,rs6000-aix,decstation
|
||||
|
||||
The name 'all' compiles in support for all valid BFD targets (this was
|
||||
the default in previous releases):
|
||||
|
||||
./configure --enable-targets=all
|
||||
|
||||
The binutils can be used in a cross-development environment.
|
||||
The file DOC.configure contains more information.
|
||||
The file etc/configure.texi contains more information.
|
||||
|
||||
You can also specify the --enable-shared option when you run
|
||||
configure. This will build the BFD and opcodes libraries as shared
|
||||
libraries. This will only work on certain systems, and currently will
|
||||
only work when compiling with gcc. You can use arguments with the
|
||||
--enable-shared option to indicate that only certain libraries should
|
||||
be built shared; for example, --enable-shared=bfd. The only
|
||||
possibilities in a binutils release are bfd and opcodes.
|
||||
|
||||
The binutils will be linked against the shared libraries. The build
|
||||
step will attempt to place the correct library in the runtime search
|
||||
path for the binaries. However, in some cases, after you install the
|
||||
binaries, you may have to set an environment variable, normally
|
||||
LD_LIBRARY_PATH, so that the system can find the installed libbfd
|
||||
shared library.
|
||||
|
||||
If you specify --enable-commonbfdlib as well as --enable-shared, then
|
||||
a single shared library will be built containing the bfd, opcodes, and
|
||||
libiberty libraries. It will be installed as libbfd. This option
|
||||
will make the binutils programs as small as possible.
|
||||
|
||||
If you don't have ar
|
||||
====================
|
||||
|
||||
If your system does not already have an ar program, the normal
|
||||
binutils build process will not work. In this case, run configure as
|
||||
usual. Before running make, run this script:
|
||||
|
||||
#!/bin/sh
|
||||
MAKE=${MAKE-make}
|
||||
${MAKE} $* AR=true all-libiberty
|
||||
${MAKE} $* AR=true all-bfd
|
||||
cd binutils
|
||||
${MAKE} $* ADDL_DEPS='$(BULIBS)' ADDL_LIBS='$(BULIBS) ../bfd/*.o `cat ../libiberty/required-list ../libiberty/needed-list | sed -e "s,\([^ ][^ ]*\),../libiberty/\1,g"`' ar
|
||||
|
||||
This script will build an ar program in binutils/ar. Move binutils/ar
|
||||
into a directory on your PATH. After doing this, you can run make as
|
||||
usual to build the complete binutils distribution. You do not need
|
||||
the ranlib program in order to build the distribution.
|
||||
|
||||
Porting
|
||||
=======
|
||||
Binutils-2.1 supports many different architectures, but there
|
||||
Binutils-2.7 supports many different architectures, but there
|
||||
are many more not supported, including some that were supported
|
||||
by earlier versions. We are hoping for volunteers to
|
||||
improve this situation.
|
||||
@ -77,6 +131,4 @@ We have little time to spend tracking down whatever random bugs you
|
||||
may run into (except for configurations that Cygnus supports for
|
||||
its customers). The general place to send bug reports or patches
|
||||
is to bug-gnu-utils@ai.mit.edu; you can also send them directly to
|
||||
bothner@cygnus.com or sac@cygnus.com.
|
||||
|
||||
|
||||
raeburn@cygnus.com or ian@cygnus.com.
|
||||
|
Loading…
Reference in New Issue
Block a user