Changes between Version 11 and Version 12 of Developer/Tools/RSB

01/05/14 05:18:41 (8 years ago)



  • Developer/Tools/RSB

    v11 v12  
    8 '''Mentors:''' Chris Johns
     8The RTEMS Source Builder or RSB builds RTEMS tool sets for a range of hosts from source. It is an easy to use tool complete with documentation that gives you an RTEMS tool set for your architecture ready to use. It is actively being maintained so you get a current tool set that works with RTEMS releases as well as RTEMS's development branches.
    10 '''Students:''' Help Wanted
     10The RTEMS Source Builder builds using the source code for the tools by downloading it plus any patches. The source is left there for you so you can rebuild the tools, change the source and remake the tools. You are not left with a binary blob and not way to rebuild it if you need too.
    12 '''Status:''' Currently gearing up for 4.11 release.
     12 *  Head over the RSB documentation and the Quick Start to get going
    14 '''Introduction:'''
    16 The [ Source Builder (sb)] is a Python-based tool designed to build compiler toolchains from source code. This tool assists with building and maintaining tool sets, which developers typically need to update a few times each year.
    18 Source Builder compiles code from source and creates tar files that can be installed. It is not designed to create packages of tools or tools for packaging systems. The Source Builder uses a modified version of the [ spec file format] to describe build configurations. The spec format supports including files, macros, multiple source packages per build, conditional logic, variables, and parameters.
    20 Source Builder fetches the source if it is not local. A user should be able to run Source Builder with a configuration file for a tool set, and Source Builder will collect the sources directly from the upstream project, compile the sources, and produce an installable tar file.
    22 To use Source Builder, place the tool anywhere on a disk then create a private directory to hold build sets if the default build sets are not suitable. The ability to create private build sets is important. The tool comes with configurations for popular packages, and a private build set can reference them.
    24 The tool needs testing on other platforms. I need to test Windows (have to use --no-smp due to MSYS bugs) and different Linux distributions. It has been tested on FreeBSD, MacOS, Ubuntu and Fedora.
    26 '''Goal:''' Improve the Source Builder. Here are a list of some improvement tasks that can be considered.
    27  *  Add support for building native host tools, such as gcc and binutils.
    28  *  Add support for building gcc, binutils, newlib and gdb from version control.
    29  *  Add support for checksumming downloaded files, e.g. md5sum, shaXYZsum, or gpg verification.
    30  *  Add installer functionality so that users do not need to find and untar the correct tool set manually.
    31  *  Add a GUI. The Python code is all class-based and a GUI would be nice. The GUI could include creating configurations, selecting a build set configuration, installing a built tool set, and other useful features.
    32  *  Add a build-set for each of the working rtems toolkits.
    33 '''Requirements:''' Familiarity with scripting languages. General understanding of how cross-compilation works.
    35 '''Acknowledgements'''
    36  *  Source Builder was created and is maintained by Chris Johns.
    37 = Miscellaneous Sections =
    39 As the project progresses, you will need to add build instructions, etc and this page will evolve from a project description into a HOWTO.= References =
    42  *
    44 '''Other sections:''' If you have more to say about the project, feel free to add other sections at will.
     14 *  Source Builder was created and is maintained by Chris Johns. Feel free to ask about it on the RTEMS User and Development mailing lists.