diff options
Diffstat (limited to 'newlib/README')
-rw-r--r-- | newlib/README | 93 |
1 files changed, 18 insertions, 75 deletions
diff --git a/newlib/README b/newlib/README index 7e8cef756..e07d29b9c 100644 --- a/newlib/README +++ b/newlib/README @@ -1,13 +1,13 @@ - README for newlib-1.14.0 release + README for newlib-1.10.0 release (mostly cribbed from the README in the gdb-4.13 release) This is `newlib', a simple ANSI C library, math library, and collection of board support packages. The newlib and libgloss subdirectories are a collection of software from -several sources, each with their own copyright and license. See the file -COPYING.NEWLIB for details. The rest of the release tree is under either -the GNU GPL or LGPL licenses. +several sources, each with their own copyright. See the file COPYING.NEWLIB +for details. The rest of the release tree is under either the GNU GPL or +LPGL copyright. THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED @@ -17,8 +17,8 @@ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. Unpacking and Installation -- quick overview ========================== -When you unpack the newlib-1.14.0.tar.gz file, you'll find a directory -called `newlib-1.14.0', which contains: +When you unpack the newlib-1.10.0.tar.gz file, you'll find a directory +called `newlib-1.10.0', which contains: COPYING config/ install-sh* mpw-configure COPYING.LIB config-ml.in libgloss/ mpw-install @@ -43,7 +43,7 @@ More Documentation ================== Newlib documentation is available on the net via: - http://sources.redhat.com/newlib/docs.html + http://www.cygnus.com/pubs/gnupro All the documentation for NEWLIB comes as part of the machine-readable distribution. The documentation is written in Texinfo format, which is @@ -94,13 +94,13 @@ directory. If the path to `configure' would be the same as the argument to `--srcdir', you can leave out the `--srcdir' option; it will be assumed.) - For example, with version 1.14.0, you can build NEWLIB in a separate + For example, with version 1.10.0, you can build NEWLIB in a separate directory for a Sun 4 cross m68k-aout environment like this: - cd newlib-1.14.0 + cd newlib-1.10.0 mkdir ../newlib-m68k-aout cd ../newlib-m68k-aout - ../newlib-1.14.0/configure --host=sun4 --target=m68k-aout + ../newlib-1.10.0/configure --host=sun4 --target=m68k-aout make When `configure' builds a configuration using a remote source @@ -116,8 +116,8 @@ called `configure' (or one of its subdirectories). The `Makefile' that `configure' generates in each source directory also runs recursively. If you type `make' in a source directory such -as `newlib-1.14.0' (or in a separate configured directory configured with -`--srcdir=PATH/newlib-1.14.0'), you will build all the required libraries. +as `newlib-1.10.0' (or in a separate configured directory configured with +`--srcdir=PATH/newlib-1.10.0'), you will build all the required libraries. When you have multiple hosts or targets configured in separate directories, you can run `make' on them in parallel (for example, if @@ -158,25 +158,6 @@ you can use it to test your guesses on abbreviations--for example: % sh config.sub i786v Invalid configuration `i786v': machine `i786v' not recognized -The Build, Host and Target Concepts in newlib -============================================= - -The build, host and target concepts are defined for gcc as follows: - -build: the platform on which gcc is built. -host: the platform on which gcc is run. -target: the platform for which gcc generates code. - -Since newlib is a library, the target concept does not apply to it, and the -build, host, and target options given to the top-level configure script must -be changed for newlib's use. - -The options are shifted according to these correspondences: - -gcc's build platform has no equivalent in newlib. -gcc's host platform is newlib's build platform. -gcc's target platform is newlib's host platform. -and as mentioned before, newlib has no concept of target. `configure' options =================== @@ -233,62 +214,24 @@ prefer; but you may abbreviate option names if you use `--'. There is no convenient way to generate a list of all available hosts. -Running the Testsuite -===================== - -To run newlib's testsuite, you'll need a site.exp in your home -directory which points dejagnu to the proper baseboards directory and -the proper exp file for your target. - -Before running make check-target-newlib, set the DEJAGNU environment -variable to point to ~/site.exp. - -Here is a sample site.exp: - -# Make sure we look in the right place for the board description files. -if ![info exists boards_dir] { - set boards_dir {} -} -lappend boards_dir "your dejagnu/baseboards here" - -verbose "Global Config File: target_triplet is $target_triplet" 2 - -global target_list -case "$target_triplet" in { - - { "mips-*elf*" } { - set target_list "mips-sim" - } - - default { - set target_list { "unix" } - } -} - -mips-sim refers to an exp file in the baseboards directory. You'll -need to add the other targets you're testing to the case statement. - -Now type make check-target-newlib in the top-level build directory to -run the testsuite. - Shared newlib ============= -newlib uses libtool when it is being compiled natively (with ---target=i[34567]86-pc-linux-gnu) on an i[34567]86-pc-linux-gnu -host. This allows newlib to be compiled as a shared library. +newlib now uses libtool when it is being compiled natively (with +--target=i[3456]86-pc-linux-gnu) on an i[3456]86-pc-linux-gnu host. This +allows newlib to be compiled as a shared library. To configure newlib, do the following from your build directory: $(source_dir)/src/configure --with-newlib --prefix=$(install_dir) configure will recognize that host == target == -i[34567]86-pc-linux-gnu, so it will tell newlib to compile itself using +i[3456]86-pc-linux-gnu, so it will tell newlib to compile itself using libtool. By default, libtool will build shared and static versions of newlib. To compile a program against shared newlib, do the following (where -target_install_dir = $(install_dir)/i[34567]86-pc-linux-gnu): +target_install_dir = $(install_dir)/i[3456]86-pc-linux-gnu): gcc -nostdlib $(target_install_dir)/lib/crt0.o progname.c -I $(target_install_dir)/include -L $(target_install_dir)/lib -lc -lm -lgcc @@ -310,7 +253,7 @@ Reporting Bugs The correct address for reporting bugs found in NEWLIB is "newlib@sources.redhat.com". Please email all bug reports to that -address. Please include the NEWLIB version number (e.g., newlib-1.14.0), +address. Please include the NEWLIB version number (e.g., newlib-1.10.0), and how you configured it (e.g., "sun4 host and m68k-aout target"). Since NEWLIB supports many different configurations, it is important that you be precise about this. |