50b731f1b7
Derivative of Redox OS (https://www.redox-os.org) adding: - AMD GPU driver (amdgpu) via LinuxKPI compat layer - ext4 filesystem support (ext4d scheme daemon) - ACPI fixes for AMD bare metal (x2APIC, DMAR, IVRS, MCFG) - Custom branding (hostname, os-release, boot identity) Build system is full upstream Redox with RBOS overlay in local/. Patches for kernel, base, and relibc are symlinked from local/patches/ and protected from make clean/distclean. Custom recipes live in local/recipes/ with symlinks into the recipes/ search path. Build: make all CONFIG_NAME=redbear-full Sync: ./local/scripts/sync-upstream.sh
54 lines
1.8 KiB
TOML
54 lines
1.8 KiB
TOML
# TODO: Compiled, not tested
|
|
[source]
|
|
tar = "https://archives.boost.io/release/1.90.0/source/boost_1_90_0.tar.gz"
|
|
blake3 = "1c1b0fe7596e3f72dba529b2d0bc6d330cc00610f8d3b3e3b6f20bad43fc388d"
|
|
patches = [
|
|
"redox.patch"
|
|
]
|
|
|
|
[build]
|
|
template = "custom"
|
|
dependencies = [
|
|
# "libiconv", # TODO: more locale functions, relibc locales are stubs anyway
|
|
# "openssl3", # TODO: not linked
|
|
# "zstd", # TODO: not linked
|
|
]
|
|
script = """
|
|
DYNAMIC_INIT
|
|
|
|
case "${TARGET}" in
|
|
i586-unknown-redox) ADDRESS_MODEL=32 ARCHITECTURE=x86 ABI=sysv;;
|
|
x86_64-unknown-redox) ADDRESS_MODEL=64 ARCHITECTURE=x86 ABI=sysv;;
|
|
aarch64-unknown-redox) ADDRESS_MODEL=64 ARCHITECTURE=arm ABI=aapcs;;
|
|
riscv64gc-unknown-redox) ADDRESS_MODEL=64 ARCHITECTURE=riscv ABI=sysv;;
|
|
esac
|
|
|
|
# See https://beta.boost.org/build/doc/html/bbv2/reference/tools.html#bbv2.reference.tools.compiler.gcc
|
|
echo "using gcc : : ${CXX} : <cflags>\"${CFLAGS} ${CPPFLAGS}\" <cxxflags>\"${CXXFLAGS} ${CPPFLAGS}\" <linkflags>\"${LDFLAGS}\" <link>\"shared\" ; " > ./user-config.jam
|
|
# echo "using openssl ; " >> ./user-config.jam
|
|
# echo "using zstd ; " >> ./user-config.jam
|
|
|
|
skip_libraries=(
|
|
stacktrace # requires dlsym(RTLD_NEXT)
|
|
python # TODO
|
|
)
|
|
|
|
export OPENSSL_ROOT="${COOKBOOK_SYSROOT}/usr"
|
|
pushd "${COOKBOOK_SOURCE}"
|
|
./bootstrap.sh --without-libraries=$(IFS=, ; echo "${skip_libraries[*]}") \
|
|
--with-toolset=gcc --with-libraries=all --prefix=${COOKBOOK_STAGE}/usr
|
|
# TODO: add "-sICONV_PATH=${COOKBOOK_SYSROOT}" when locales work
|
|
# TODO: implement target-os=redox
|
|
./b2 "--user-config=${COOKBOOK_BUILD}/user-config.jam" target-os=linux pch=off \
|
|
"--build-dir=${COOKBOOK_BUILD}" toolset=gcc architecture=${ARCHITECTURE} address-model=${ADDRESS_MODEL} abi=${ABI} binary-format=elf install
|
|
popd
|
|
"""
|
|
|
|
[[optional-packages]]
|
|
name = "dev"
|
|
files = [
|
|
"usr/include/**",
|
|
"usr/lib/*.a",
|
|
"usr/lib/cmake/**",
|
|
]
|