diff options
Diffstat (limited to 'README.configure')
-rw-r--r-- | README.configure | 226 |
1 files changed, 226 insertions, 0 deletions
diff --git a/README.configure b/README.configure new file mode 100644 index 0000000000..546d99c9e1 --- /dev/null +++ b/README.configure @@ -0,0 +1,226 @@ +# +# $Id$ +# + +1. Autoconf support +=================== + +This version of RTEMS is configured with GNU autoconf. RTEMS can be +configured and built either standalone or together with the compiler +tools in the Cygnus one-tree structure. Using autoconf also means +that RTEMS now can be built in a separate build directory. + +To re-generate auto*tool generated files (configure, Makefile.in etc), +autoconf-2.68 and automake-1.11.1 are required. + +2. Installation +=============== + +To configure RTEMS for a specific target, run configure in the build +directory. In addition to the standard configure options, the following +RTEMS-specific option are supported: + + --disable-rtems-inlines + --disable-posix + --disable-networking + --enable-cxx + --enable-multiprocessing + --enable-rtemsbsp="bsp1 bsp2 ..." + --enable-tests + --enable-rdbg (only valid for i386 and some PowerPC BSPs) + --enable-docs + +In addition, the following standard autoconf options are frequently +used when configuring RTEMS installations: + + --prefix=INSTALL_DIRECTORY + +By default, inline routines are used instead of macros where possible. +Macros can be selected using the --disable-inlines option. [NOTE: +Some APIs may not support macro versions of their inline routines.] + +By default, the RTEMS POSIX 1003.1b interface is built for targets that support +it. It can be disabled with the --disable-posix option. + +By default, the RTEMS networking support is built for targets which +support it. It can be specifically disabled for those targets +with the --disable-networking option. + +By default, the RTEMS remote debugger server support is not built. +It can be specifically enabled for the targets that support it. +with the --enable-rdbg option. NB : the RTEMS networking support +must be enabled to support the remote debugger server. + +By default, the RTEMS support of C++ is disabled. It can be enabled +with the --enable-cxx option. If the rtems++ C++ library is installed +it will also be build. + +By default, the RTEMS test suites are NOT configured -- only the +sample tests are built. --enable-tests will configure +the RTEMS test suite. The default speeds up the build +and configure process when the tests are not desired. + +By default, RTEMS is built using arguments and build rules which require a +gcc supporting the -specs option, ie. a gcc >= 2.8. +[The --disable-gcc28 option, which has been present in former releases, has +been removed.] + +By default, multiprocessing is is not built. It can be enabled +for those BSPs supporting it by the --enable-multiprocessing option. + +By default, all bsps for a target are built. The bare BSP is not built +unless directly specified. There are two ways of changing this: + ++ use the --enable-rtemsbsp option which will set the specified + bsps as the default bsps, or ++ set the RTEMS_BSP variable during make (see below). + +The --enable-rtemsbsp= option configures RTEMS for a specific board +within a target architecture. Remember that the target specifies the +CPU family while the BSP specifies the precise board you will be using. +The following targets are supported: + + arm-rtems4.10 + avr-rtems4.10 + bfin-rtems4.10 + h8300-rtems4.10 + i386-rtems4.10 + lm32-rtems4.10 + m32c-rtems4.10 + m32r-rtems4.10 + m68k-rtems4.10 + mips-rtems4.10 + no_cpu-rtems4.10 + powerpc-rtems4.10 + sh-rtems4.10 + sparc-rtems4.10 + +The cross-compiler is set to $(target)-gcc by default. + +To build, run make in the build directory. To specify which bsps to build, +add the RTEMS_BSP="bsp1 bsp2 .." to the make command. Specifying multiple +BSPs to build only works from the top level build directory. + +Installation is done under $(prefix)/rtems. + +As an example, to build and install the mvme136 and mvme162 bsps for m68k do: + + (path_to_rtems_src)/configure --target=m68k-rtems4.11 + + make RTEMS_BSP="mvme136 mvme162" + + make install RTEMS_BSP="mvme136 mvme162" + +The sample tests are built by 'make all' when configured with +--enable-tests=samples. Use --enable-tests=all to build the full +test suite. + +Documentation is built separately from the source code. + +3. To use the installed RTEMS library +===================================== + +To use the installed RTEMS bsps to build applications, the application +makefile has to include a bsp-specific makefile that will define the +RTEMS variables necessary to find include files and libraries. The +bsp-specific makefile is installed at + + $(RTEMS_MAKEFILE_PATH)/Makefile.inc + +For the erc32 bsp installed at /usr/local/cross, the environment +variable RTEMS_MAKEFILE_PATH would be set as follows to the +following: + +/usr/local/cross/sparc-rtems/rtems/erc32/Makefile.inc + +4. Supported target bsps +======================== + +The following bsps are supported: + +arm : csb336 csb337 edb7312 gba gp32 nds rtl22x rtl22xx_t + smdk2410 + +avr: : avrtest + +bfin : eZKit533 bf537Stamp + +h8300 : h8sim + +i386 : i386ex pc386 pc386dx pc486 pc586 pc686 pck6 ts_386ex + NOTE: The "pc386" BSP can be compiled to support a + variety of PC configurations including PC-104 + based solutions. + +lm32: : lm32_evr + +m32c : m32csim + +m32r : m32rsim + +m68k : av5282 csb360 gen68302 gen68360 gen68360_040 + genmcf548x idp mcf5206elite mcf52235 mcf5235 mcf5239 + m5484FireEngine mrm332 mvme136 mvme147s mvme162 mvme162lx + mvme167 ods68302 pgh360 sim68000 simcpu32 uC5282 COBRA5475 + +no_cpu : no_bsp (porting example) + +mips : csb350 genmongoosev hurricane jmr3904 rbtx4925 rbtx4938 + p4600 p4650 + +powerpc : brs5l ep1a gen5200 gen83xx haleakala hsc_cm01 icecube + mbx821_001 mbx821_002 mbx821_002b mbx860_001b mbx860_002 + mbx860_005b mcp750 mvme2100 mvme2307 mtx603e + mvme5500 mpc55xxevb mpc8260ads mpc8313erdb mpc8349eamds + pghplus pm520_cr825 pm520_ze30 psim score603e ss555 + tqm8xx_stk8xx virtex + + NOTE: The "motorola_powerpc" BSP is a single BSP which + can be conditionally compiled to support most Motorola + VMEbus, CompactPCI, and MTX boards.) + + NOTE: The mbx8xx, gen5200, gen83xx, and tqm8xx BSPs are + designed to handle a variety of boards based on the same + family of system on chips CPUs + +sh : gensh1 gensh2 gensh4 simsh1 simsh2 simsh4 + +sparc : erc32 sis leon2 leon3 + +5. Makefile structure +===================== + +The makefiles have been re-organized. Most gnu-based bsps now use three +main makefiles: + + custom/default.cfg, + + custom/bsp.cfg and + + compilers/gcc-target-default.cfg. + +Default.cfg sets the default values of certain common build options. + +Bsp.cfg set bsp-specific build options and can also override the +default settings. + +Gcc-target-default.cfg contains the common gcc definitions. + +6. Adding a bsp +=============== + +Please refer to the BSP and Device Driver Guide. + + +7. Tested configurations +======================== + +All gnu-based bsps have been built on Linux. + +8. Prerequisites +================ + +Gawk version 2 or higher. +GNU make version 3.72 or higher. +Bash. +gcc version > 2.8 + +NOTE: These prerequisites are probably out of date but autoconf should detect + any problems. |