Thanks.  I’ve tried this, but may be putting my user-config.jam file in the wrong place or invoking my toolset incorrectly (or, more likely, both).

On 2 Feb 2020, at 17:32, Rene Rivera via Boost-build <> wrote:

import feature ;
feature.extend os : rtems ;
feature.extend target-os : rtems ;
feature.extend host-os : rtems ;

I’ve added this to my user-config.jam.  I left the file in $BOOST_ROOT/tools/build/example, because the file says it can be left there...

My toolset is in $RTEMS_PATH and contains things like riscv-rtems5-gcc, riscv-rtems5-g++, riscv-rtems5-ld, etc.

I ran the following from $BOOST_ROOT:

boost_1_72_0 $ b2 target-os=rtems toolset=$RTEMS_PATH/riscv-rtems5-g++ stage -n

This resulted in the following:

Users.jam: No such file or directory
$BOOST_ROOT/tools/build/src/build/toolset.jam:44: in toolset.using
ERROR: rule "Users.init" unknown in module "toolset".
$BOOST_ROOT/tools/build/src/build-system.jam:543: in process-explicit-toolset-requests
$BOOST_ROOT/tools/build/src/build-system.jam:610: in load
$BOOST_ROOT/tools/build/src/kernel/modules.jam:295: in import
$BOOST_ROOT/tools/build/src/kernel/bootstrap.jam:139: in boost-build
$BOOST_ROOT/boost-build.jam:17: in module scope

I then simplified this to remove my own toolset to see if it was at least reading my user-config.jam file, and it appears I didn’t do that correctly:

boost_1_72_0 $ b2 target-os=rtems toolset=gcc stage -n
$BOOST_ROOT/tools/build/src/build/feature.jam:491: in validate-value-string from module feature
error: "rtems" is not a known value of feature <target-os>
error: legal values: "aix" "android" "appletv" "bsd" "cygwin" "darwin" "freebsd" "haiku" "hpux" "iphone" "linux" "netbsd" "openbsd" "osf" "qnx" "qnxnto" "sgi" "solaris" "unix" "unixware" "windows" "vms" "vxworks" "freertos" “elf"

So, this leaves me with two questions:
1. Where should the user-config.jam be located?
2. How do I specify my cross-compiling toolchain?