source: rtems/README.configure @ 7f2ee3a1

4.10
Last change on this file since 7f2ee3a1 was 91134d86, checked in by Ralf Corsepius <ralf.corsepius@…>, on 09/27/10 at 04:14:39

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

  • README.configure: Cleanup.
  • Property mode set to 100644
File size: 7.2 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.68 and automake-1.11.1 are required.
15
162. Installation
17===============
18
19To configure RTEMS for a specific target, run configure in the build
20directory. In addition to the standard configure options, the following
21RTEMS-specific option are supported:
22
23      --disable-rtems-inlines
24      --disable-posix
25      --enable-itron
26      --disable-networking
27      --enable-cxx
28      --enable-multiprocessing
29      --enable-rtemsbsp="bsp1 bsp2 ..."
30      --enable-tests
31      --enable-rdbg            (only valid for i386 and some PowerPC BSPs)
32      --enable-docs
33
34In addition, the following standard autoconf options are frequently
35used when configuring RTEMS installations:
36
37      --prefix=INSTALL_DIRECTORY
38
39By default, inline routines are used instead of macros where possible.
40Macros can be selected using the --disable-inlines option.  [NOTE:
41Some APIs may not support macro versions of their inline routines.]
42
43By default, the RTEMS POSIX 1003.1b interface is built for targets that support
44it. It can be disabled with the --disable-posix option.
45
46By default, the RTEMS uITRON interface is built for targets that support
47it. It can be disabled with the --disable-itron option.
48
49By default, the RTEMS networking support is built for targets which
50support it.  It can be specifically disabled for those targets
51with the --disable-networking option.
52
53By default, the RTEMS remote debugger server support is not built.
54It can be specifically enabled for the targets that support it.
55with the --enable-rdbg option. NB : the RTEMS networking support
56must be enabled to support the remote debugger server.
57
58By default, the RTEMS support of C++ is disabled.  It can be enabled
59with the --enable-cxx option. If the rtems++ C++ library is installed
60it will also be build.
61
62By default, the RTEMS test suites are NOT configured -- only the
63sample tests are built.  --enable-tests will configure
64the RTEMS test suite. The default speeds up the build
65and configure process when the tests are not desired.
66
67By default, RTEMS is built using arguments and build rules which require a
68gcc supporting the -specs option, ie. a gcc >= 2.8.
69[The --disable-gcc28 option, which has been present in former releases, has
70been removed.]
71
72By default, multiprocessing is is not built.  It can be enabled
73for those BSPs supporting it by the --enable-multiprocessing option.
74
75By default, all bsps for a target are built. The bare BSP is not built
76unless directly specified. There are  two ways of changing this:
77
78+ use the --enable-rtemsbsp option which will set the specified
79  bsps as the default bsps, or
80+ set the RTEMS_BSP variable during make (see below).
81
82The --enable-rtemsbsp= option configures RTEMS for a specific board
83within a target architecture.  Remember that the target specifies the
84CPU family while the BSP specifies the precise board you will be using.
85The following targets are supported:
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-rtems4.10
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
1243. To use the installed RTEMS library
125=====================================
126
127To use the installed RTEMS bsps to build applications, the application
128makefile has to include a bsp-specific makefile that will define the
129RTEMS variables necessary to find include files and libraries. The
130bsp-specific makefile is installed at
131
132      $(RTEMS_MAKEFILE_PATH)/Makefile.inc
133
134For the erc32 bsp installed at /usr/local/cross, the environment
135variable RTEMS_MAKEFILE_PATH would be set as follows to the
136following:
137
138/usr/local/cross/sparc-rtems/rtems/erc32/Makefile.inc
139
1404. Supported target bsps
141========================
142
143The following bsps are supported:
144
145arm             : csb336 csb337 edb7312 gba gp32 nds rtl22x rtl22xx_t
146                  smdk2410
147
148avr:            : avrtest
149
150bfin            : eZKit533 bf537Stamp
151
152h8300           : h8sim
153
154i386            : i386ex pc386 pc386dx pc486 pc586 pc686 pck6 ts_386ex
155                NOTE: The "pc386" BSP can be compiled to support a
156                      variety of PC configurations including PC-104
157                      based solutions.
158
159lm32:           : lm32_evr
160
161m32c            : m32csim
162
163m32r            : m32rsim
164
165m68k            : av5282 csb360 gen68302 gen68360 gen68360_040
166                genmcf548x idp mcf5206elite mcf52235 mcf5235 mcf5239
167                m5484FireEngine mrm332 mvme136 mvme147s mvme162 mvme162lx
168                mvme167 ods68302 pgh360 sim68000 simcpu32 uC5282 COBRA5475
169
170no_cpu          : no_bsp  (porting example)
171
172mips            : csb350 genmongoosev hurricane jmr3904 rbtx4925 rbtx4938
173                p4600 p4650
174
175powerpc         : brs5l ep1a gen5200 gen83xx haleakala hsc_cm01 icecube
176                mbx821_001 mbx821_002 mbx821_002b mbx860_001b mbx860_002
177                mbx860_005b mcp750 mvme2100 mvme2307 mtx603e
178                mvme5500 mpc55xxevb mpc8260ads mpc8313erdb mpc8349eamds
179                pghplus pm520_cr825 pm520_ze30 psim score603e ss555
180                tqm8xx_stk8xx virtex
181
182                  NOTE: The "motorola_powerpc" BSP is a single BSP which
183                  can be conditionally compiled to support most Motorola
184                  VMEbus, CompactPCI, and MTX boards.)
185
186                  NOTE: The mbx8xx, gen5200, gen83xx, and tqm8xx BSPs are
187                  designed to handle a variety of boards based on the same
188                  family of system on chips CPUs
189
190sh              : gensh1 gensh2 gensh4 simsh1 simsh2 simsh4
191
192sparc           : erc32 sis leon2 leon3
193
1945. Makefile structure
195=====================
196
197The makefiles have been re-organized. Most gnu-based bsps now use three
198main makefiles:
199    + custom/default.cfg,
200    + custom/bsp.cfg and
201    + compilers/gcc-target-default.cfg.
202
203Default.cfg sets the default values of certain common build options.
204
205Bsp.cfg set bsp-specific build options and can also override the
206default settings.
207
208Gcc-target-default.cfg contains the common gcc definitions.
209
2106. Adding a bsp
211===============
212
213Please refer to the BSP and Device Driver Guide.
214
215
2167. Tested configurations
217========================
218
219All gnu-based bsps have been built on Linux.
220
2218. Prerequisites
222================
223
224Gawk version 2 or higher.
225GNU make version 3.72 or higher.
226Bash.
227gcc version > 2.8
228
229NOTE: These prerequisites are probably out of date but autoconf should detect
230      any problems.
Note: See TracBrowser for help on using the repository browser.