OpenRISC Unified GNU Tool Chain Repository
|
OpenRISC Unified GNU Tool Chain Repository
|
==========================================
|
==========================================
|
|
|
This directory is where you will find all the source trees for the standard
|
This directory is where you will find all the source trees for the standard
|
GNU tool chain. The newlib library is included, since that is required for GCC
|
GNU tool chain. The newlib library is included, since that is required for GCC
|
testing.
|
testing.
|
|
|
The structure mirrors that of the main Free Software Foundation repository.
|
The structure mirrors that of the main Free Software Foundation repository.
|
|
|
Using a unified directory means that the entire tool chain can be built in a
|
Using a unified directory means that the entire tool chain can be built in a
|
single pass. The script "bld.sh" will build a unified source tree in the a
|
single pass. The script "bld.sh" will build a unified source tree in the a
|
directory (default name "srcw") and then configure, build, check and install
|
directory (default name "srcw") and then configure, build, check and install
|
all the tools using a separate build directory (default "bld-or32"). The
|
all the tools using a separate build directory (default "bld-or32"). The
|
default install directory is "/opt/or32-elf-new").
|
default install directory is "/opt/or32-elf-new").
|
|
|
Use "./bld.sh --help" to check the options available, which includes options
|
Use "./bld.sh --help" to check the options available, which includes options
|
to change all the default directories, omit building newlib and to control
|
to change all the default directories, omit building newlib and to control
|
whichphases of the build process (linking, configuring, building, checking and
|
whichphases of the build process (linking, configuring, building, checking and
|
installing) are run.
|
installing) are run.
|
|
|
By default the tests (which require DejaGnu to be installed) are *not* run.
|
By default the tests (which require DejaGnu to be installed) are *not* run.
|
|
|
Note in particular that the script requires a version of Or1ksim built from
|
Note in particular that the script requires a version of Or1ksim built from
|
SVN (not Or1ksim 0.4.0 release) and that the --or1ksim parameter should be
|
SVN (not Or1ksim 0.4.0 release) and that the --or1ksim parameter should be
|
used to point to the directory where or1ksim is installed (default
|
used to point to the directory where or1ksim is installed (default
|
/opt/or1ksim-new).
|
/opt/or1ksim-new).
|
|
|
The current version builds GDB separately, because it is not compatible with
|
The current version builds GDB separately, because it is not compatible with
|
the libraries in binutils used in the unified build.
|
the libraries in binutils used in the unified build.
|
|
|
Apple OS X notes:
|
Apple OS X notes:
|
|
|
* Install required libraries with MacPorts:
|
* Install required libraries with MacPorts:
|
|
|
Some GNU libraries that are not supplied as standard with Apple's OS X must be
|
Some GNU libraries that are not supplied as standard with Apple's OS X must be
|
installed. They could be built and installed independently but the author found
|
installed. They could be built and installed independently but the author found
|
the MacPorts package management system a simple and easy way to install them.
|
the MacPorts package management system a simple and easy way to install them.
|
|
|
First the MacPorts app must be installed. To install MacPorts follow the
|
First the MacPorts app must be installed. To install MacPorts follow the
|
instructions on the project's page here: http://www.macports.org
|
instructions on the project's page here: http://www.macports.org
|
|
|
Once MacPorts is installed install the packages "gmp", "mpfr", and "dejagnu"
|
Once MacPorts is installed install the packages "gmp", "mpfr", and "dejagnu"
|
with the command:
|
with the command:
|
|
|
$ sudo port install gmp mpfr dejagnu
|
$ sudo port install gmp mpfr dejagnu
|
|
|
* Build environment variables:
|
* Build environment variables:
|
|
|
Once the require libraries are installed, their location must be passed to the
|
Once the require libraries are installed, their location must be passed to the
|
compiler. The CPPFLAGS, CFLAGS and LFLAGS environment variables are used for
|
compiler. The CPPFLAGS, CFLAGS and LFLAGS environment variables are used for
|
this. The standard place MacPorts places its installed libraries is /opt/local
|
this. The standard place MacPorts places its installed libraries is /opt/local
|
so if this default location was used export the following flags before running
|
so if this default location was used export the following flags before running
|
the bld.sh script:
|
the bld.sh script:
|
$ export CPPFLAGS="-I/opt/local/include"
|
$ export CPPFLAGS="-I/opt/local/include"
|
$ export CFLAGS="-L/opt/local/lib"
|
$ export CFLAGS="-L/opt/local/lib"
|
$ export LDFLAGS="-L/opt/local/lib"
|
$ export LDFLAGS="-L/opt/local/lib"
|
|
|
The bld.sh script should then be OK to run as described above.
|
The bld.sh script should then be OK to run as described above.
|
|
|
Any questions should be posted on the OpenRISC forum at
|
Any questions should be posted on the OpenRISC forum at
|
opencores.org/forum,OpenRISC.
|
opencores.org/forum,OpenRISC, or discussed on IRC at freenode.net, channel
|
|
#opencores.
|
|
|
|
|
Jeremy Bennett
|
Jeremy Bennett
|
31 July 2010
|
20 August 2010
|
|
|