source: rtems/README.configure @ a3bb1ad

4.115
Last change on this file since a3bb1ad was f2c46e3, checked in by Ralf Corsepius <ralf.corsepius@…>, on 09/26/10 at 05:34:55

2010-09-26 Ralf Corsépius <ralf.corsepius@…>

  • README.configure: Remove the most obsolete parts.
  • Property mode set to 100644
File size: 7.9 KB
Line 
1#
2#  $Id$
3#
4
51. Autoconf support
6===================
7
8This version of RTEMS is configured with GNU autoconf. RTEMS can be
9configured and built either standalone or together with the compiler
10tools in the Cygnus one-tree structure. Using autoconf also means
11that RTEMS now can be built in a separate build directory.
12
13To re-generate auto*tool generated files (configure, Makefile.in etc),
14autoconf-2.59 and automake-1.8 are required.
15
162. Installation
17===============
18
192.1 Standalone build
20
21To configure RTEMS for a specific target, run configure in the build
22directory. In addition to the standard configure options, the following
23RTEMS-specific option are supported:
24
25      --disable-rtems-inlines
26      --disable-posix
27      --disable-networking
28      --enable-cxx
29      --enable-multiprocessing
30      --enable-rtemsbsp="bsp1 bsp2 ..."
31      --enable-tests
32      --enable-rdbg            (only valid for i386 and some PowerPC BSPs)
33      --enable-docs
34
35In addition, the following standard autoconf options are frequently
36used when configuring RTEMS installations:
37
38      --prefix=INSTALL_DIRECTORY
39
40By default, inline routines are used instead of macros where possible.
41Macros can be selected using the --disable-inlines option.  [NOTE:
42Some APIs may not support macro versions of their inline routines.]
43
44By default, the RTEMS POSIX 1003.1b interface is built for targets that support
45it. It can be disabled with the --disable-posix option.
46
47By default, the RTEMS networking support is built for targets which
48support it.  It can be specifically disabled for those targets
49with the --disable-networking option.
50
51By default, the RTEMS remote debugger server support is not built.
52It can be specifically enabled for the targets that support it.
53with the --enable-rdbg option. NB : the RTEMS networking support
54must be enabled to support the remote debugger server.
55
56By default, the RTEMS support of C++ is disabled.  It can be enabled
57with the --enable-cxx option. If the rtems++ C++ library is installed
58it will also be build.
59
60By default, the RTEMS test suites are NOT configured -- only the
61sample tests are built.  --enable-tests will configure
62the RTEMS test suite. The default speeds up the build
63and configure process when the tests are not desired.
64
65By default, RTEMS is built using arguments and build rules which require a
66gcc supporting the -specs option, ie. a gcc >= 2.8.
67[The --disable-gcc28 option, which has been present in former releases, has
68been removed.]
69
70By default, multiprocessing is is not built.  It can be enabled
71for those BSPs supporting it by the --enable-multiprocessing option.
72
73By default, all bsps for a target are built. The bare BSP is not built
74unless directly specified. There are  two ways of changing this:
75
76+ use the --enable-rtemsbsp option which will set the specified
77  bsps as the default bsps, or
78+ set the RTEMS_BSP variable during make (see below).
79
80The --enable-rtemsbsp= option configures RTEMS for a specific board
81within a target architecture.  Remember that the target specifies the
82CPU family while the BSP specifies the precise board you will be using.
83The following targets are supported:
84
85      (none)    will build the host-based version on Linux, Solaris and HPUX.
86
87      arm-rtems4.10
88      avr-rtems4.10
89      bfin-rtems4.10
90      h8300-rtems4.10
91      i386-rtems4.10
92      lm32-rtems4.10
93      m32c-rtems4.10
94      m32r-rtems4.10
95      m68k-rtems4.10
96      mips-rtems4.10
97      no_cpu-rtems4.10
98      powerpc-rtems4.10
99      sh-rtems4.10
100      sparc-rtems4.10
101
102The cross-compiler is set to $(target)-gcc by default.
103
104To build, run make in the build directory. To specify which bsps to build,
105add the RTEMS_BSP="bsp1 bsp2 .." to the make command.  Specifying multiple
106BSPs to build only works from the top level build directory.
107
108Installation is done under $(prefix)/rtems.
109
110As an example, to build and install the mvme136 and mvme162 bsps for m68k do:
111
112      (path_to_rtems_src)/configure --target=m68k-rtems
113
114      make RTEMS_BSP="mvme136 mvme162"
115     
116      make install RTEMS_BSP="mvme136 mvme162"
117
118The sample tests are built by 'make all' when configured with
119--enable-tests=samples.  Use --enable-tests=all to build the full
120test suite.
121
122Documentation is built separately from the source code.
123
1242.2 Target Dependent Notes
125
126bare:
127
1281.  See the README in the bare bsp source directory. This should
129    contain all info you need.
1302.  The bare bsp source contains a script to show how to build it.
1313.  The configure flags must be used to get the bare bsp to work.
132    The --enable-bare-cpu-model and --enable-bare-cpu-cflags are the
133    only pieces of information. The module is usually a gcc module
134    such as m68302 or mcpu32. The flags are passed directly to gcc.
135    Use "" if more than one option is specified.
136
1373. To use the installed RTEMS library
138=====================================
139
140To use the installed RTEMS bsps to build applications, the application
141makefile has to include a bsp-specific makefile that will define the
142RTEMS variables necessary to find include files and libraries. The
143bsp-specific makefile is installed at
144
145      $(RTEMS_MAKEFILE_PATH)/Makefile.inc
146
147For the erc32 bsp installed at /usr/local/cross, the environment
148variable RTEMS_MAKEFILE_PATH would be set as follows to the
149following:
150
151/usr/local/cross/sparc-rtems/rtems/erc32/Makefile.inc
152
1534. Supported target bsps
154========================
155
156The following bsps are supported:
157
158arm             : csb336 csb337 edb7312 gba gp32 nds rtl22x rtl22xx_t
159                  smdk2410
160
161avr:            : avrtest
162
163bfin            : eZKit533 bf537Stamp
164
165h8300           : h8sim
166
167i386            : i386ex pc386 pc386dx pc486 pc586 pc686 pck6 ts_386ex
168                NOTE: The "pc386" BSP can be compiled to support a
169                      variety of PC configurations including PC-104
170                      based solutions.
171
172lm32:           : lm32_evr
173
174m32c            : m32csim
175
176m32r            : m32rsim
177
178m68k            : av5282 csb360 gen68302 gen68360 gen68360_040
179                genmcf548x idp mcf5206elite mcf52235 mcf5235 mcf5239
180                m5484FireEngine mrm332 mvme136 mvme147s mvme162 mvme162lx
181                mvme167 ods68302 pgh360 sim68000 simcpu32 uC5282 COBRA5475
182
183no_cpu          : no_bsp  (porting example)
184
185mips            : csb350 genmongoosev hurricane jmr3904 rbtx4925 rbtx4938
186                p4600 p4650
187
188powerpc         : brs5l ep1a gen5200 gen83xx haleakala hsc_cm01 icecube
189                mbx821_001 mbx821_002 mbx821_002b mbx860_001b mbx860_002
190                mbx860_005b mcp750 mvme2100 mvme2307 mtx603e
191                mvme5500 mpc55xxevb mpc8260ads mpc8313erdb mpc8349eamds
192                pghplus pm520_cr825 pm520_ze30 psim score603e ss555
193                tqm8xx_stk8xx virtex
194
195                  NOTE: The "motorola_powerpc" BSP is a single BSP which
196                  can be conditionally compiled to support most Motorola
197                  VMEbus, CompactPCI, and MTX boards.)
198
199                  NOTE: The mbx8xx, gen5200, gen83xx, and tqm8xx BSPs are
200                  designed to handle a variety of boards based on the same
201                  family of system on chips CPUs
202
203sh              : gensh1 gensh2 gensh4 simsh1 simsh2 simsh4
204
205sparc           : erc32 sis leon2 leon3
206
2075. Makefile structure
208=====================
209
210The makefiles have been re-organized. Most gnu-based bsps now use three
211main makefiles:
212    + custom/default.cfg,
213    + custom/bsp.cfg and
214    + compilers/gcc-target-default.cfg.
215
216Default.cfg sets the default values of certain common build options.
217
218Bsp.cfg set bsp-specific build options and can also override the
219default settings.
220
221Gcc-target-default.cfg contains the common gcc definitions.
222
2236. Adding a bsp
224===============
225
226Please refer to the BSP and Device Driver Guide.
227
228
2297. Tested configurations
230========================
231
232All gnu-based bsps have been built on Linux.
233
234The native (posix) ports have been built and run only on Linux.
235
236The following configurations have NOT been tested:
237
238    + Anything on Nextstep, HPUX and Irix.
239    + The C4x and OR32 ports (requires specially patched toolchain)
240
2418. Prerequisites
242================
243
244Gawk version 2 or higher.
245GNU make version 3.72 or higher.
246Bash.
247gcc version > 2.8
248
249NOTE: These prerequisites are probably out of date but autoconf should detect
250      any problems.
Note: See TracBrowser for help on using the repository browser.