[RTEMS Project] #4646: Control buildsets using the --with-* command line option

RTEMS trac trac at rtems.org
Thu May 5 01:03:50 UTC 2022


#4646: Control buildsets using the --with-* command line option
--------------------------+-------------------------
  Reporter:  Chris Johns  |      Owner:  Chris Johns
      Type:  enhancement  |     Status:  assigned
  Priority:  normal       |  Milestone:  6.1
 Component:  tool/rsb     |    Version:  6
  Severity:  normal       |   Keywords:
Blocked By:               |   Blocking:
--------------------------+-------------------------
 The following thread has raise an important issue on how we can test newer
 versions of tools. This ticket is about providing a solution:

 https://lists.rtems.org/pipermail/devel/2022-May/071458.html

 The solution is allow users to specific a tool set on the command line for
 a build of tools. The standard option is `--with-.*`. For example a
 command line could be:
 {{{
 ../source-builder/sb-set-builder \
     --prefix=/opt/rtems/6 \
     --log=arm.txt \
     --with-rtems-gcc=tools/rtems-gcc-head-newlib-head \
     6/rtems-arm
 }}}
 The buildset logic is to be changed to expand macros for buildset file
 names and to add a new buildset specific keyword `%defineifnot`. The tools
 default file becomes:
 {{{
 #
 # Default tools configuration.
 #
 %include 6/rtems-base.bset

 #
 # Default RTEMS build. Override on the command line to the
 # the RSB. For example to test the latest versino of gcc use:
 #
 #  --with-rtems-gcc=tools/rtems-gcc-head-newlib-head
 #
 %defineifnot with_rtems_dtc      devel/dtc-1.6.1-1
 %defineifnot with_rtems_expat    devel/expat-2.4.8-1
 %defineifnot with_rtems_gmp      devel/gmp-6.2.1
 %defineifnot with_rtems_gdb      tools/rtems-gdb-11.2
 %defineifnot with_rtems_binutils tools/rtems-binutils-2.38
 %defineifnot with_rtems_gcc      tools/rtems-gcc-10-newlib-head
 %defineifnot with_rtems_tools    tools/rtems-tools-6

 #
 # Build gdb first to raise the Python install error as early as
 # possible.  GDB needs expat so it needs to be built before.
 #
 %{with_rtems_dtc}
 %{with_rtems_expat}
 %{with_rtems_gmp}
 %{with_rtems_gdb}
 %{with_rtems_binutils}
 %{with_rtems_gcc}
 %{with_rtems_tools}
 }}}
 This approach lets `cron` based CI flows configure a build with the latest
 gcc, binutils etc so they can always be tested as a workflow.

 The new keyword lets a define in a nested buildset file override a command
 line value. That may be needed.

--
Ticket URL: <http://devel.rtems.org/ticket/4646>
RTEMS Project <http://www.rtems.org/>
RTEMS Project


More information about the bugs mailing list