Changeset 69f9806 in rtems-source-builder


Ignore:
Timestamp:
Apr 14, 2013, 7:37:39 AM (6 years ago)
Author:
Chris Johns <chrisj@…>
Branches:
4.10, 4.11, 4.9, master
Children:
3e86a96
Parents:
4351cf4
Message:

Document fixes reported by users.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • doc/source-builder.txt

    r4351cf4 r69f9806  
    125125are detected. Locate those executable files and install them. You may also be
    126126given a list of warnings about executable files not in the expected location
    127 how-ever the executable was located somewhere in your environment's path. You
     127however the executable was located somewhere in your environment's path. You
    128128will need to check each tool to determine if this is an issue. An executable
    129129not in the standard location may indicate it is not the host operating system's
     
    229229<6> Unstable tool sets are used by RTEMS developers to test new tool sets. You
    230230    are welcome to try them but you must remember they are unstable, can change
    231     at point in time and your application may not work. If you have an issue
    232     with a production tool it may pay to try the unstable tool to see if it has
    233     been resolved.
     231    at any point in time and your application may not work. If you have an
     232    issue with a production tool it may pay to try the unstable tool to see if
     233    it has been resolved.
    234234
    235235Building
     
    348348    executable back to the original source used to build it.
    349349
     350NOTE: The RTEMS thread model enables specific hooks in GCC so applications
     351built with RTEMS tools need the RTEMS runtime to operate correctly. You can use
     352RTEMS tools to build bare metal component but it is more difficult than with a
     353bare metal tool chain and you need to know what you are doing at a low
     354level. The RTEMS Source Builder can build bare metal tool chains.
     355
    350356Installing and Tar Files
    351357~~~~~~~~~~~~~~~~~~~~~~~~
     
    356362source will be downloaded, built, installed and cleaned up.
    357363
    358 The tar files are created with the full build prefix present. This can cause
     364The tar files are created with the full build prefix present and if you follow
     365the examples given in this documentation the path is absolute. This can cause
    359366problems if you are installing on a host you do not have super user or
    360 administrator rights on if the prefix path references part you do not have
    361 write access t0o. You can use the +--strip-components+ option in tar if your
    362 tar file supports it to remove the parts you do not have write access too or
    363 you may need to unpack the tar file somewhere and copy the file tree from the
    364 level you have write access from. Embedding the full prefix path in the tar
    365 files lets you know what the prefix is.
     367administrator rights on because the prefix path may references part you do not
     368have write access too and tar will not extract the files. You can use the
     369+--strip-components+ option in tar if your host tar application supports it to
     370remove the parts you do not have write access too or you may need to unpack the
     371tar file somewhere and copy the file tree from the level you have write access
     372from. Embedding the full prefix path in the tar files lets you know what the
     373prefix is and is recommended. For example if
     374`/home/chris/development/rtems/4.11` is the prefix used you cannot
     375change directory to the root (`/`) and install because the `/home` is root
     376access only. To install you would:
     377
     378-------------------------------------------------------------
     379$ cd
     380$ tar --strip-components=3 -xjf rtems-4.11-sparc-rtems4.11-1.tar.bz2
     381-------------------------------------------------------------
    366382
    367383A build set tar file is created by adding `--bset-tar-file` option to the
     
    495511flexibility open source gives you. Fast moving host environments are
    496512fantastic. We have powerful multi-core computers with huge amounts of memory
    497 and state of the art operating systems to run on them how-ever the product or
     513and state of the art operating systems to run on them however the product or
    498514project you are part of may need to be maintained well past the life time of
    499515these host. Being able to build from source an important and critical part of
     
    509525any change in the host's configuration may effect you. The changes the host's
    510526package management system makes may be perfectly reasonable in relation to the
    511 distribution being managed how-ever this may not extend to you and your
     527distribution being managed however this may not extend to you and your
    512528tools. Building your tools from source and controlling the specific version of
    513529these dependent parts means you are not exposing yourself to unexpected and
     
    533549
    534550The RTEMS Source Builder is a Python program and every care is taken to test
    535 the code how-ever bugs, crashes, and build failure can and do happen. If you
     551the code however bugs, crashes, and build failure can and do happen. If you
    536552find a bug please report it via the RTEMS Bug tracker tool Bugzilla:
    537553
     
    832848Configuration files specify how to build a package. Configuration files are
    833849scripts and have a +.cfg+ file extension. The script format is based loosely on
    834 the RPM spec file format how-ever the use and purpose in this tool does not
     850the RPM spec file format however the use and purpose in this tool does not
    835851compare with the functionality and therefore the important features of the spec
    836852format RPM needs and uses.
     
    11641180The +%version% macro sets the version the package. If the package is a single
    11651181component it tracks that component's version number. For example in the
    1166 _libusb_ configuration the +%version+ is the same as +%libusb_version+,
    1167 how-ever in a GCC with Newlib configuration there is no single version
    1168 number. In this case the GCC version is used.
     1182_libusb_ configuration the +%version+ is the same as +%libusb_version+, however
     1183in a GCC with Newlib configuration there is no single version number. In this
     1184case the GCC version is used.
    11691185
    11701186-------------------------------------------------------------
     
    14821498large number of architectures RTEMS supports can make it difficult to get a
    14831499common stable version of all the packages. An architecture may require a recent
    1484 GCC because an existing bug has been fixed, how-ever the more recent version
    1485 may have a bug in other architecture. Architecture specific patches should be
     1500GCC because an existing bug has been fixed, however the more recent version may
     1501have a bug in other architecture. Architecture specific patches should be
    14861502limited to the architecture it relates to. The patch may fix a problem on the
    1487 effect architecture how-ever it could introduce a problem in another
     1503effect architecture however it could introduce a problem in another
    14881504architecture. Limit exposure limits any possible crosstalk between
    14891505architectures.
     
    16441660fail to build. It keeps the disk usage down.
    16451661+--jobs+;;
    1646 Control the number of jobs make is given. The jobs can 'none' for only 1 job,
    1647 'half' so the number of jobs is half the number of detected cores, a fraction
    1648 such as '0.25' so the number of jobs is a quarter of the number of detected
    1649 cores and a number such as '25' which forces the number of jobs to that
    1650 number.
     1662Control the number of jobs make is given. The jobs can be 'none' for only 1
     1663job, 'half' so the number of jobs is half the number of detected cores, a
     1664fraction such as '0.25' so the number of jobs is a quarter of the number of
     1665detected cores and a number such as '25' which forces the number of jobs to
     1666that number.
    16511667+--host+;;
    1652 Set the host triplet value. Becareful with this option.
     1668Set the host triplet value. Be careful with this option.
    16531669+--build+;;
    1654 Set the build triplet. Becareful with this option.
     1670Set the build triplet. Be careful with this option.
    16551671+--target+;;
    1656 Set the target triplet. Becareful with this option. This is useful if you have
     1672Set the target triplet. Be careful with this option. This is useful if you have
    16571673a generic configuration script that can work for a range of architectures.
    16581674+--prefix path+;;
     
    18451861libraries or emulation layer to run once built. The tools understand and use
    18461862standard Windows paths and integrate easly into Windows IDE environments. A
    1847 shell maybe needed to build other parts of your system how-ever if your
     1863shell maybe needed to build other parts of your system however if your
    18481864development tools are all native Windows tool you can easly integrate these
    18491865tool sets.
     
    19932009had either spec files, RPM files or SRPM files. The RPM and SPRM files where
    19942010useless because you needed an 'rpm' type tool to extract and manage them. There
    1995 are versions of 'rpm' for a number of non-RPM hosts how-ever these proved to be
    1996 in various broken states and random-ally maintained. The solution I settled on
    1997 was to use spec files so I wrote a Python based tool that parsed the spec file
     2011are versions of 'rpm' for a number of non-RPM hosts however these proved to be
     2012in various broken states and randomly maintained. The solution I settled on was
     2013to use spec files so I wrote a Python based tool that parsed the spec file
    19982014format and allowed me to create a shell script I could run to build the
    19992015package. This approach proved successful and I was able to track the RPM
    2000 version of the RTEMS tools on a non-RPM host over a number of years. How-ever
     2016version of the RTEMS tools on a non-RPM host over a number of years. however
    20012017the SpecBuilder tool did not help me build tools or other packages not related
    20022018to the RTEMS project where there was no spec file I could use so I needed
Note: See TracChangeset for help on using the changeset viewer.