1 |
681 |
jeremybenn |
OpenRISC Stable GNU Tool Chain Repository
|
2 |
|
|
=========================================
|
3 |
155 |
jeremybenn |
|
4 |
681 |
jeremybenn |
This directory is where you will find the source trees for the stable versions
|
5 |
|
|
of the standard GNU tool chain past and present. The newlib library is
|
6 |
|
|
included, since that is required for GCC testing.
|
7 |
155 |
jeremybenn |
|
8 |
681 |
jeremybenn |
Note that the Linux tool chain requires uClibc and Linux, which should be
|
9 |
|
|
downloaded using git.
|
10 |
155 |
jeremybenn |
|
11 |
681 |
jeremybenn |
Development source trees are found in the gdb-dev directory.
|
12 |
155 |
jeremybenn |
|
13 |
681 |
jeremybenn |
The structure mirrors that of the Free Software Foundation tool releases.
|
14 |
189 |
jeremybenn |
|
15 |
681 |
jeremybenn |
The scripts use a unified directory which allows the entire newlib tool chain
|
16 |
|
|
to be built in a single pass. The script "bld-all.sh" will build a unified
|
17 |
|
|
source tree in the a directory (default name "unisrc") and then configure,
|
18 |
|
|
build, check and install all the tools for both newlib and uClibc tool chains
|
19 |
|
|
using separate build directories (defaults "bd-elf", "bd-elf-gdb", "bd-linux"
|
20 |
|
|
and "bd-linux-gdb"). The default install directory is "/opt/or32-elf-new".
|
21 |
|
|
|
22 |
|
|
Use "./bld-all.sh --help" to check the options available, which includes
|
23 |
|
|
options to change all the default directories, omit building newlib and to
|
24 |
|
|
control whichphases of the build process (linking, configuring, building,
|
25 |
|
|
checking and installing) are run.
|
26 |
|
|
|
27 |
218 |
jeremybenn |
By default the tests (which require DejaGnu to be installed) are *not* run.
|
28 |
|
|
|
29 |
189 |
jeremybenn |
Note in particular that the script requires a version of Or1ksim built from
|
30 |
|
|
SVN (not Or1ksim 0.4.0 release) and that the --or1ksim parameter should be
|
31 |
|
|
used to point to the directory where or1ksim is installed (default
|
32 |
|
|
/opt/or1ksim-new).
|
33 |
|
|
|
34 |
229 |
jeremybenn |
The current version builds GDB separately, because it is not compatible with
|
35 |
|
|
the libraries in binutils used in the unified build.
|
36 |
|
|
|
37 |
238 |
julius |
Apple OS X notes:
|
38 |
|
|
|
39 |
|
|
* Install required libraries with MacPorts:
|
40 |
|
|
|
41 |
|
|
Some GNU libraries that are not supplied as standard with Apple's OS X must be
|
42 |
|
|
installed. They could be built and installed independently but the author found
|
43 |
|
|
the MacPorts package management system a simple and easy way to install them.
|
44 |
|
|
|
45 |
|
|
First the MacPorts app must be installed. To install MacPorts follow the
|
46 |
|
|
instructions on the project's page here: http://www.macports.org
|
47 |
|
|
|
48 |
|
|
Once MacPorts is installed install the packages "gmp", "mpfr", and "dejagnu"
|
49 |
|
|
with the command:
|
50 |
|
|
|
51 |
|
|
$ sudo port install gmp mpfr dejagnu
|
52 |
|
|
|
53 |
|
|
* Build environment variables:
|
54 |
|
|
|
55 |
|
|
Once the require libraries are installed, their location must be passed to the
|
56 |
|
|
compiler. The CPPFLAGS, CFLAGS and LFLAGS environment variables are used for
|
57 |
|
|
this. The standard place MacPorts places its installed libraries is /opt/local
|
58 |
|
|
so if this default location was used export the following flags before running
|
59 |
681 |
jeremybenn |
the bld-all.sh script:
|
60 |
238 |
julius |
$ export CPPFLAGS="-I/opt/local/include"
|
61 |
|
|
$ export CFLAGS="-L/opt/local/lib"
|
62 |
|
|
$ export LDFLAGS="-L/opt/local/lib"
|
63 |
|
|
|
64 |
681 |
jeremybenn |
The bld-all.sh script should then be OK to run as described above.
|
65 |
238 |
julius |
|
66 |
155 |
jeremybenn |
Any questions should be posted on the OpenRISC forum at
|
67 |
245 |
jeremybenn |
opencores.org/forum,OpenRISC, or discussed on IRC at freenode.net, channel
|
68 |
|
|
#opencores.
|
69 |
155 |
jeremybenn |
|
70 |
|
|
|
71 |
|
|
Jeremy Bennett
|
72 |
681 |
jeremybenn |
1 March 2012
|