OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [tags/] [alpha/] [newlib/] [newlib/] [README] - Diff between revs 81 and 1765

Go to most recent revision | Only display areas with differences | Details | Blame | View Log

Rev 81 Rev 1765
                       README for newlib-1.8.1 release
                       README for newlib-1.8.1 release
           (mostly cribbed from the README in the gdb-4.13 release)
           (mostly cribbed from the README in the gdb-4.13 release)
This is `newlib', a simple ANSI C library, math library, and collection
This is `newlib', a simple ANSI C library, math library, and collection
of board support packages.
of board support packages.
The newlib and libgloss subdirectories are a collection of software from
The newlib and libgloss subdirectories are a collection of software from
several sources, each with their own copyright.  See the file COPYING.NEWLIB
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
for details.  The rest of the release tree is under either the GNU GPL or
LPGL copyright.
LPGL copyright.
THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
Unpacking and Installation -- quick overview
Unpacking and Installation -- quick overview
==========================
==========================
When you unpack the newlib-1.8.1.tar.gz file, you'll find a directory
When you unpack the newlib-1.8.1.tar.gz file, you'll find a directory
called `newlib-1.8.1', which contains:
called `newlib-1.8.1', which contains:
COPYING          config/          install-sh*      mpw-configure
COPYING          config/          install-sh*      mpw-configure
COPYING.LIB      config-ml.in     libgloss/        mpw-install
COPYING.LIB      config-ml.in     libgloss/        mpw-install
COPYING.NEWLIB   config.guess*    mkinstalldirs*   newlib/
COPYING.NEWLIB   config.guess*    mkinstalldirs*   newlib/
CYGNUS           config.sub*      move-if-change*  symlink-tree*
CYGNUS           config.sub*      move-if-change*  symlink-tree*
ChangeLog        configure*       mpw-README       texinfo/
ChangeLog        configure*       mpw-README       texinfo/
Makefile.in      configure.in     mpw-build.in
Makefile.in      configure.in     mpw-build.in
README           etc/             mpw-config.in
README           etc/             mpw-config.in
To build NEWLIB, you can just do:
To build NEWLIB, you can just do:
        cd newlib-1.8.1
        cd newlib-1.8.1
        ./configure --target=
        ./configure --target=
        make all install
        make all install
This will configure and build all the libraries and crt0 (if one exists).
This will configure and build all the libraries and crt0 (if one exists).
If `configure' can't determine your host system type, specify one as its
If `configure' can't determine your host system type, specify one as its
argument, e.g., sun4 or sun4sol2.  NEWLIB is most often used in cross
argument, e.g., sun4 or sun4sol2.  NEWLIB is most often used in cross
environments.
environments.
NOTE THAT YOU MUST HAVE ALREADY BUILT AND INSTALLED GCC and BINUTILS.
NOTE THAT YOU MUST HAVE ALREADY BUILT AND INSTALLED GCC and BINUTILS.
More Documentation
More Documentation
==================
==================
   Newlib documentation is available on the net via:
   Newlib documentation is available on the net via:
   http://www.cygnus.com/pubs/gnupro
   http://www.cygnus.com/pubs/gnupro
   All the documentation for NEWLIB comes as part of the machine-readable
   All the documentation for NEWLIB comes as part of the machine-readable
distribution.  The documentation is written in Texinfo format, which is
distribution.  The documentation is written in Texinfo format, which is
a documentation system that uses a single source file to produce both
a documentation system that uses a single source file to produce both
on-line information and a printed manual.  You can use one of the Info
on-line information and a printed manual.  You can use one of the Info
formatting commands to create the on-line version of the documentation
formatting commands to create the on-line version of the documentation
and TeX (or `texi2roff') to typeset the printed version.
and TeX (or `texi2roff') to typeset the printed version.
   If you want to format these Info files yourself, you need one of the
   If you want to format these Info files yourself, you need one of the
Info formatting programs, such as `texinfo-format-buffer' or `makeinfo'.
Info formatting programs, such as `texinfo-format-buffer' or `makeinfo'.
   If you want to typeset and print copies of this manual, you need TeX,
   If you want to typeset and print copies of this manual, you need TeX,
a program to print its DVI output files, and `texinfo.tex', the Texinfo
a program to print its DVI output files, and `texinfo.tex', the Texinfo
definitions file.
definitions file.
   TeX is a typesetting program; it does not print files directly, but
   TeX is a typesetting program; it does not print files directly, but
produces output files called DVI files.  To print a typeset document,
produces output files called DVI files.  To print a typeset document,
you need a program to print DVI files.  If your system has TeX
you need a program to print DVI files.  If your system has TeX
installed, chances are it has such a program.  The precise command to
installed, chances are it has such a program.  The precise command to
use depends on your system; `lpr -d' is common; another (for PostScript
use depends on your system; `lpr -d' is common; another (for PostScript
devices) is `dvips'.  The DVI print command may require a file name
devices) is `dvips'.  The DVI print command may require a file name
without any extension or a `.dvi' extension.
without any extension or a `.dvi' extension.
   TeX also requires a macro definitions file called `texinfo.tex'.
   TeX also requires a macro definitions file called `texinfo.tex'.
This file tells TeX how to typeset a document written in Texinfo
This file tells TeX how to typeset a document written in Texinfo
format.  On its own, TeX cannot read, much less typeset a Texinfo file.
format.  On its own, TeX cannot read, much less typeset a Texinfo file.
`texinfo.tex' is distributed with NEWLIB and is located in the
`texinfo.tex' is distributed with NEWLIB and is located in the
`newlib-VERSION-NUMBER/texinfo' directory.
`newlib-VERSION-NUMBER/texinfo' directory.
Compiling NEWLIB in another directory
Compiling NEWLIB in another directory
=====================================
=====================================
   If you want to run NEWLIB versions for several host or target machines,
   If you want to run NEWLIB versions for several host or target machines,
you need a different `newlib' compiled for each combination of host and
you need a different `newlib' compiled for each combination of host and
target.  `configure' is designed to make this easy by allowing you to
target.  `configure' is designed to make this easy by allowing you to
generate each configuration in a separate subdirectory, rather than in
generate each configuration in a separate subdirectory, rather than in
the source directory.  If your `make' program handles the `VPATH'
the source directory.  If your `make' program handles the `VPATH'
feature correctly (like GNU `make') running `make' in each of these
feature correctly (like GNU `make') running `make' in each of these
directories builds the `newlib' libraries specified there.
directories builds the `newlib' libraries specified there.
   To build `newlib' in a separate directory, run `configure' with the
   To build `newlib' in a separate directory, run `configure' with the
`--srcdir' option to specify where to find the source. (You also need
`--srcdir' option to specify where to find the source. (You also need
to specify a path to find `configure' itself from your working
to specify a path to find `configure' itself from your working
directory.  If the path to `configure' would be the same as the
directory.  If the path to `configure' would be the same as the
argument to `--srcdir', you can leave out the `--srcdir' option; it
argument to `--srcdir', you can leave out the `--srcdir' option; it
will be assumed.)
will be assumed.)
   For example, with version 1.8.1, you can build NEWLIB in a separate
   For example, with version 1.8.1, you can build NEWLIB in a separate
directory for a Sun 4 cross m68k-aout environment like this:
directory for a Sun 4 cross m68k-aout environment like this:
     cd newlib-1.8.1
     cd newlib-1.8.1
     mkdir ../newlib-m68k-aout
     mkdir ../newlib-m68k-aout
     cd ../newlib-m68k-aout
     cd ../newlib-m68k-aout
     ../newlib-1.8.1/configure --host=sun4 --target=m68k-aout
     ../newlib-1.8.1/configure --host=sun4 --target=m68k-aout
     make
     make
   When `configure' builds a configuration using a remote source
   When `configure' builds a configuration using a remote source
directory, it creates a tree for the binaries with the same structure
directory, it creates a tree for the binaries with the same structure
(and using the same names) as the tree under the source directory.  In
(and using the same names) as the tree under the source directory.  In
the example, you'd find the Sun 4 library `libiberty.a' in the
the example, you'd find the Sun 4 library `libiberty.a' in the
directory `newlib-m68k-aout/libiberty', and NEWLIB itself in
directory `newlib-m68k-aout/libiberty', and NEWLIB itself in
`newlib-m68k-aout/newlib'.
`newlib-m68k-aout/newlib'.
   When you run `make' to build a program or library, you must run it
   When you run `make' to build a program or library, you must run it
in a configured directory--whatever directory you were in when you
in a configured directory--whatever directory you were in when you
called `configure' (or one of its subdirectories).
called `configure' (or one of its subdirectories).
   The `Makefile' that `configure' generates in each source directory
   The `Makefile' that `configure' generates in each source directory
also runs recursively.  If you type `make' in a source directory such
also runs recursively.  If you type `make' in a source directory such
as `newlib-1.8.1' (or in a separate configured directory configured with
as `newlib-1.8.1' (or in a separate configured directory configured with
`--srcdir=PATH/newlib-1.8.1'), you will build all the required libraries.
`--srcdir=PATH/newlib-1.8.1'), you will build all the required libraries.
   When you have multiple hosts or targets configured in separate
   When you have multiple hosts or targets configured in separate
directories, you can run `make' on them in parallel (for example, if
directories, you can run `make' on them in parallel (for example, if
they are NFS-mounted on each of the hosts); they will not interfere
they are NFS-mounted on each of the hosts); they will not interfere
with each other.
with each other.
Specifying names for hosts and targets
Specifying names for hosts and targets
======================================
======================================
   The specifications used for hosts and targets in the `configure'
   The specifications used for hosts and targets in the `configure'
script are based on a three-part naming scheme, but some short
script are based on a three-part naming scheme, but some short
predefined aliases are also supported.  The full naming scheme encodes
predefined aliases are also supported.  The full naming scheme encodes
three pieces of information in the following pattern:
three pieces of information in the following pattern:
     ARCHITECTURE-VENDOR-OS
     ARCHITECTURE-VENDOR-OS
   For example, you can use the alias `sun4' as a HOST argument or in a
   For example, you can use the alias `sun4' as a HOST argument or in a
`--target=TARGET' option.  The equivalent full name is
`--target=TARGET' option.  The equivalent full name is
`sparc-sun-sunos4'.
`sparc-sun-sunos4'.
   The `configure' script accompanying NEWLIB does not provide any query
   The `configure' script accompanying NEWLIB does not provide any query
facility to list all supported host and target names or aliases.
facility to list all supported host and target names or aliases.
`configure' calls the Bourne shell script `config.sub' to map
`configure' calls the Bourne shell script `config.sub' to map
abbreviations to full names; you can read the script, if you wish, or
abbreviations to full names; you can read the script, if you wish, or
you can use it to test your guesses on abbreviations--for example:
you can use it to test your guesses on abbreviations--for example:
     % sh config.sub sun4
     % sh config.sub sun4
     sparc-sun-sunos4.1.1
     sparc-sun-sunos4.1.1
     % sh config.sub sun3
     % sh config.sub sun3
     m68k-sun-sunos4.1.1
     m68k-sun-sunos4.1.1
     % sh config.sub decstation
     % sh config.sub decstation
     mips-dec-ultrix4.2
     mips-dec-ultrix4.2
     % sh config.sub hp300bsd
     % sh config.sub hp300bsd
     m68k-hp-bsd
     m68k-hp-bsd
     % sh config.sub i386v
     % sh config.sub i386v
     i386-pc-sysv
     i386-pc-sysv
     % sh config.sub i786v
     % sh config.sub i786v
     Invalid configuration `i786v': machine `i786v' not recognized
     Invalid configuration `i786v': machine `i786v' not recognized
`configure' options
`configure' options
===================
===================
   Here is a summary of the `configure' options and arguments that are
   Here is a summary of the `configure' options and arguments that are
most often useful for building NEWLIB.  `configure' also has several other
most often useful for building NEWLIB.  `configure' also has several other
options not listed here.
options not listed here.
     configure [--help]
     configure [--help]
               [--prefix=DIR]
               [--prefix=DIR]
               [--srcdir=PATH]
               [--srcdir=PATH]
               [--target=TARGET] HOST
               [--target=TARGET] HOST
You may introduce options with a single `-' rather than `--' if you
You may introduce options with a single `-' rather than `--' if you
prefer; but you may abbreviate option names if you use `--'.
prefer; but you may abbreviate option names if you use `--'.
`--help'
`--help'
     Display a quick summary of how to invoke `configure'.
     Display a quick summary of how to invoke `configure'.
`--prefix=DIR'
`--prefix=DIR'
     Configure the source to install programs and files in directory
     Configure the source to install programs and files in directory
     `DIR'.
     `DIR'.
`--exec-prefix=DIR'
`--exec-prefix=DIR'
     Configure the source to install host-dependent files in directory
     Configure the source to install host-dependent files in directory
     `DIR'.
     `DIR'.
`--srcdir=PATH'
`--srcdir=PATH'
     *Warning: using this option requires GNU `make', or another `make'
     *Warning: using this option requires GNU `make', or another `make'
     that compatibly implements the `VPATH' feature.
     that compatibly implements the `VPATH' feature.
     Use this option to make configurations in directories separate
     Use this option to make configurations in directories separate
     from the NEWLIB source directories.  Among other things, you can use
     from the NEWLIB source directories.  Among other things, you can use
     this to build (or maintain) several configurations simultaneously,
     this to build (or maintain) several configurations simultaneously,
     in separate directories.  `configure' writes configuration
     in separate directories.  `configure' writes configuration
     specific files in the current directory, but arranges for them to
     specific files in the current directory, but arranges for them to
     use the source in the directory PATH.  `configure' will create
     use the source in the directory PATH.  `configure' will create
     directories under the working directory in parallel to the source
     directories under the working directory in parallel to the source
     directories below PATH.
     directories below PATH.
`--norecursion'
`--norecursion'
     Configure only the directory level where `configure' is executed;
     Configure only the directory level where `configure' is executed;
     do not propagate configuration to subdirectories.
     do not propagate configuration to subdirectories.
`--target=TARGET'
`--target=TARGET'
     Configure NEWLIB for running on the specified TARGET.
     Configure NEWLIB for running on the specified TARGET.
     There is no convenient way to generate a list of all available
     There is no convenient way to generate a list of all available
     targets.
     targets.
`HOST ...'
`HOST ...'
     Configure NEWLIB to be built using a cross compiler running on
     Configure NEWLIB to be built using a cross compiler running on
     the specified HOST.
     the specified HOST.
     There is no convenient way to generate a list of all available
     There is no convenient way to generate a list of all available
     hosts.
     hosts.
Reporting Bugs
Reporting Bugs
==============
==============
The correct address for reporting bugs found in NEWLIB is "newlib@cygnus.com".
The correct address for reporting bugs found in NEWLIB is "newlib@cygnus.com".
Please email all bug reports to that address.  Please include the NEWLIB
Please email all bug reports to that address.  Please include the NEWLIB
version number (e.g., newlib-1.8.1), and how you configured it
version number (e.g., newlib-1.8.1), and how you configured it
(e.g., "sun4 host and m68k-aout target").  Since NEWLIB supports many
(e.g., "sun4 host and m68k-aout target").  Since NEWLIB supports many
different configurations, it is important that you be precise about this.
different configurations, it is important that you be precise about this.
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.