diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/compilers/gcc-14-musl-static.TARGETS | 14 | ||||
-rw-r--r-- | src/compilers/gcc-14-musl.TARGETS | 352 | ||||
-rw-r--r-- | src/compilers/gcc-14-native.TARGETS | 196 |
3 files changed, 562 insertions, 0 deletions
diff --git a/src/compilers/gcc-14-musl-static.TARGETS b/src/compilers/gcc-14-musl-static.TARGETS new file mode 100644 index 0000000..ded4c92 --- /dev/null +++ b/src/compilers/gcc-14-musl-static.TARGETS @@ -0,0 +1,14 @@ +{ "toolchain": + { "type": "export" + , "flexible_config": + ["ARCH", "TARGET_ARCH", "BUILD_ARCH", "TOOLCHAIN_CONFIG", "ENV"] + , "fixed_config": {"MUSL_BUILD_STATIC": true} + , "target": ["@", "gcc-musl", "", "toolchain_internal"] + } +, "runlibs": + { "type": "export" + , "flexible_config": ["ARCH", "TARGET_ARCH", "TOOLCHAIN_CONFIG", "ENV"] + , "fixed_config": {"MUSL_BUILD_STATIC": true} + , "target": ["@", "gcc-musl", "", "runlibs_internal"] + } +} diff --git a/src/compilers/gcc-14-musl.TARGETS b/src/compilers/gcc-14-musl.TARGETS new file mode 100644 index 0000000..bb7779c --- /dev/null +++ b/src/compilers/gcc-14-musl.TARGETS @@ -0,0 +1,352 @@ +{ "toolchain": + { "type": "export" + , "flexible_config": + ["ARCH", "TARGET_ARCH", "BUILD_ARCH", "TOOLCHAIN_CONFIG", "ENV"] + , "fixed_config": {"MUSL_BUILD_STATIC": false} + , "target": "toolchain_internal" + } +, "runlibs": + { "type": "export" + , "flexible_config": ["ARCH", "TARGET_ARCH", "TOOLCHAIN_CONFIG", "ENV"] + , "fixed_config": {"MUSL_BUILD_STATIC": false} + , "target": "runlibs_internal" + } +, "toolchain_internal": + { "type": "configure" + , "arguments_config": ["ARCH", "TARGET_ARCH", "BUILD_ARCH"] + , "config": + { "type": "let*" + , "bindings": + [ [ "ARCH" + , { "type": "var" + , "name": "ARCH" + , "default": + {"type": "fail", "msg": "ARCH is required for cross-compiler."} + } + ] + , [ "TARGET_ARCH" + , { "type": "var" + , "name": "TARGET_ARCH" + , "default": {"type": "var", "name": "ARCH"} + } + ] + , [ "BUILD_ARCH" + , { "type": "var" + , "name": "BUILD_ARCH" + , "default": {"type": "var", "name": "ARCH"} + } + ] + , [ "MUSL_BUILD_CROSSED_NATIVE" + , { "type": "case*" + , "expr": {"type": "var", "name": "TARGET_ARCH"} + , "case": + [ [{"type": "var", "name": "ARCH"}, false] + , [{"type": "var", "name": "BUILD_ARCH"}, true] + ] + , "default": + { "type": "fail" + , "msg": + ["crossback and canadian builds are currently unsupported."] + } + } + ] + ] + , "body": + { "type": "env" + , "vars": ["TARGET_ARCH", "BUILD_ARCH", "MUSL_BUILD_CROSSED_NATIVE"] + } + } + , "target": "toolchain_cross" + } +, "toolchain_non_static_for_host": + { "type": "configure" + , "arguments_config": ["ARCH"] + , "config": + { "type": "let*" + , "bindings": + [ ["BUILD_ARCH", {"type": "var", "name": "ARCH"}] + , ["TARGET_ARCH", {"type": "var", "name": "ARCH"}] + , ["MUSL_BUILD_STATIC", false] + ] + , "body": + { "type": "env" + , "vars": ["TARGET_ARCH", "BUILD_ARCH", "MUSL_BUILD_STATIC"] + } + } + , "target": "toolchain_internal" + } +, "toolchain_for_target": + { "type": "configure" + , "arguments_config": ["ARCH", "TARGET_ARCH"] + , "config": + { "type": "let*" + , "bindings": + [ ["BUILD_ARCH", {"type": "var", "name": "TARGET_ARCH"}] + , ["TARGET_ARCH", {"type": "var", "name": "ARCH"}] + ] + , "body": {"type": "env", "vars": ["TARGET_ARCH", "BUILD_ARCH"]} + } + , "target": "toolchain_internal" + } +, "toolchain_non_static_for_target": + { "type": "configure" + , "arguments_config": ["ARCH", "TARGET_ARCH"] + , "config": + {"type": "singleton_map", "key": "MUSL_BUILD_STATIC", "value": false} + , "target": "toolchain_for_target" + } +, "toolchain_cross": + { "type": "export" + , "flexible_config": + [ "ARCH" + , "TARGET_ARCH" + , "BUILD_ARCH" + , "TOOLCHAIN_CONFIG" + , "ENV" + , "MUSL_BUILD_STATIC" + , "MUSL_BUILD_CROSSED_NATIVE" + ] + , "target": "gcc-musl" + } +, "separate_patched_sources": + { "type": "install" + , "dirs": + [ [["@", "musl-cross-make", "", "combined_sources_and_patches"], "src"] + , [["@", "binutils", "", "files"], "binutils"] + , [["@", "musl", "", "files"], "musl"] + , [["@", "gmp", "", "files"], "gmp"] + , [["@", "mpc", "", "files"], "mpc"] + , [["@", "mpfr", "", "files"], "mpfr"] + , [["@", "gcc", "", "patched_sources"], "gcc"] + , [["@", "mimalloc", "", "files"], "mimalloc"] + ] + } +, "combined_patched_sources": + { "type": ["@", "rules", "CC/foreign/shell", "data"] + , "project": ["separate_patched_sources"] + , "cmds": + [ "cp -r src/. ${DESTDIR}" + , "mv binutils ${DESTDIR}/binutils-latest.orig" + , "mv musl ${DESTDIR}/musl-latest.orig" + , "mv gmp ${DESTDIR}/gmp-latest.orig" + , "mv mpc ${DESTDIR}/mpc-latest.orig" + , "mv mpfr ${DESTDIR}/mpfr-latest.orig" + , "mv gcc ${DESTDIR}/gcc-14.orig" + , "mv mimalloc ${DESTDIR}/mimalloc" + , "chmod +w ${DESTDIR}/config.mak" + , "printf 'GCC_VER = 14\n' >> ${DESTDIR}/config.mak" + ] + , "out_dirs": ["."] + } +, "strip_for_host": + { "type": "configure" + , "arguments_config": ["ARCH"] + , "config": + { "type": "singleton_map" + , "key": "TARGET_ARCH" + , "value": {"type": "var", "name": "ARCH"} + } + , "target": ["@", "binutils", "", "multi-target strip"] + } +, "gcc-musl_localbase": + { "type": "install" + , "arguments_config": ["MUSL_BUILD_STATIC", "MUSL_BUILD_CROSSED_NATIVE"] + , "dirs": + { "type": "++" + , "$1": + [ [["strip_for_host", "binutils"]] + , { "type": "if" + , "cond": {"type": "var", "name": "MUSL_BUILD_STATIC"} + , "then": [["toolchain_non_static_for_host", "hostcc"]] + } + , { "type": "if" + , "cond": {"type": "var", "name": "MUSL_BUILD_CROSSED_NATIVE"} + , "then": [["toolchain_non_static_for_target", "crosscc"]] + } + ] + } + } +, "gcc-musl": + { "type": ["@", "rules", "CC/foreign/shell", "data"] + , "project": ["combined_patched_sources"] + , "localbase": ["gcc-musl_localbase"] + , "arguments_config": + ["BUILD_ARCH", "MUSL_BUILD_STATIC", "MUSL_BUILD_CROSSED_NATIVE"] + , "cmds": + { "type": "let*" + , "bindings": + [ [ "MUSL_TARGET" + , { "type": "case" + , "expr": + { "type": "var" + , "name": "BUILD_ARCH" + , "default": {"type": "fail", "msg": "BUILD_ARCH is missing."} + } + , "case": + { "x86": "i686-linux-musl" + , "x86_64": "x86_64-linux-musl" + , "arm": "arm-linux-musleabi" + , "arm64": "aarch64-linux-musl" + } + , "default": + { "type": "fail" + , "msg": + ["Unsupported BUILD_ARCH", {"type": "var", "name": "BUILD_ARCH"}] + } + } + ] + ] + , "body": + { "type": "++" + , "$1": + [ [ { "type": "join" + , "$1": ["TARGET=", {"type": "var", "name": "MUSL_TARGET"}] + } + , "export NJOBS=$(nproc --all 2>/dev/null || echo 1)" + , "export MAKEINFO=missing" + , "export BUILD_ROOT_DIR=${ACTION_DIR}" + , "unset CFLAGS CXXFLAGS LDFLAGS" + , "GCC_CONFIG='--disable-fixincludes'" + ] + , { "type": "if" + , "cond": {"type": "var", "name": "MUSL_BUILD_CROSSED_NATIVE"} + , "then": ["CROSS_PREFIX=${LOCALBASE}/crosscc/bin/"] + } + , { "type": "if" + , "cond": {"type": "var", "name": "MUSL_BUILD_STATIC"} + , "then": + { "type": "++" + , "$1": + [ [ "printf '#!/bin/sh\\nexec \"%s\" -static \"$@\"' \"${LOCALBASE}/hostcc/bin/gcc\" >${TMPDIR}/host-gcc" + , "printf '#!/bin/sh\\nexec \"%s\" -static \"$@\"' \"${LOCALBASE}/hostcc/bin/g++\" >${TMPDIR}/host-g++" + , "chmod +x ${TMPDIR}/host-gcc ${TMPDIR}/host-g++" + , "export CC=\"${TMPDIR}/host-gcc\"" + , "export CXX=\"${TMPDIR}/host-g++\"" + , "export LDFLAGS='-static'" + , "export LDFLAGS_FOR_TARGET='-static'" + , "GCC_CONFIG=\"$GCC_CONFIG --disable-shared\"" + ] + , { "type": "if" + , "cond": {"type": "var", "name": "MUSL_BUILD_CROSSED_NATIVE"} + , "then": + [ "printf '#!/bin/sh\\nexec \"%s\" -static \"$@\"' \"${CROSS_PREFIX}gcc\" >${TMPDIR}/cross-gcc" + , "printf '#!/bin/sh\\nexec \"%s\" -static \"$@\"' \"${CROSS_PREFIX}g++\" >${TMPDIR}/cross-g++" + , "ln -s ${LOCALBASE}/crosscc/bin/ar ${TMPDIR}/cross-ar" + , "ln -s ${LOCALBASE}/crosscc/bin/ranlib ${TMPDIR}/cross-ranlib" + , "chmod +x ${TMPDIR}/cross-*" + , "CROSS_PREFIX=${TMPDIR}/cross-" + ] + } + ] + } + , "else": ["export LD_LIBRARY_PATH=\"$(dirname ${CC})/../lib64\""] + } + , { "type": "if" + , "cond": {"type": "var", "name": "MUSL_BUILD_CROSSED_NATIVE"} + , "then": + [ "# set native toolchain for build host (use ranlib from PATH)" + , "export CC_FOR_BUILD=$CC" + , "export CXX_FOR_BUILD=$CXX" + , "export AR_FOR_BUILD=$AR" + , "# set cross toolchain as default (for musl libc)" + , "export CC=${CROSS_PREFIX}gcc" + , "export CXX=${CROSS_PREFIX}g++" + , "export AR=${CROSS_PREFIX}ar" + , "export RANLIB=${CROSS_PREFIX}ranlib" + , "# explicitly set cross toolchain for target" + , "export CC_FOR_TARGET=${CROSS_PREFIX}gcc" + , "export CXX_FOR_TARGET=${CROSS_PREFIX}g++" + , "export AR_FOR_TARGET=${CROSS_PREFIX}ar" + , "export RANLIB_FOR_TARGET=${CROSS_PREFIX}ranlib" + , "# enable building a native compiler" + , "export NATIVE=true" + , "# force local prefix to sysroot (to find musl libc headers)" + , "GCC_CONFIG=\"$GCC_CONFIG --with-local-prefix=/\"" + , "export gcc_cv_sys_sdt_h=no # musl libc does not have sys/sdt.h" + ] + } + , [ "mv musl-latest.orig musl.readonly" + , "cp -r musl.readonly musl-latest.orig && chmod -R +w musl-latest.orig" + , "export check_msgfmt=no # do not use system's msgfmt, if available" + , "${MAKE} -j${NJOBS} TARGET=${TARGET} GCC_CONFIG=\"${GCC_CONFIG}\" >build.log 2>&1 || (cat build.log && exit 1)" + , "${MAKE} -j${NJOBS} TARGET=${TARGET} GCC_CONFIG=\"${GCC_CONFIG}\" OUTPUT= DESTDIR=${DESTDIR} install >>build.log 2>&1 || (cat build.log && exit 1)" + , "cd ${DESTDIR}" + , "STRIP=${LOCALBASE}/binutils/bin/strip" + , "find ./bin/ ./${TARGET}/bin/ ./libexec/gcc/ -type f -exec sh -c \"${STRIP} {} 2>/dev/null\" \\;" + , "find . -type f -name '*.so*' -exec sh -c \"${STRIP} {} 2>/dev/null\" \\;" + , "find . -type f -name '*.a' -exec sh -c \"${STRIP} -g {} 2>/dev/null\" \\;" + , "find . -type f -name '*.o' -exec sh -c \"${STRIP} -g {} 2>/dev/null\" \\;" + , "find . -type l -exec sh -c 'expr match \"$(readlink {})\" \"/\" >/dev/null' \\; -delete" + ] + , { "type": "if" + , "cond": {"type": "var", "name": "MUSL_BUILD_CROSSED_NATIVE"} + , "then": [] + , "else": + [ "for f in $(ls ./bin/${TARGET}-*); do" + , " ln -s $(basename $f) $(echo $f | sed 's|/'${TARGET}-'|/|g')" + , "done" + , "# set CC for building alternative allocator" + , "export CC_FOR_TARGET=\"$(pwd)/bin/gcc\"" + ] + } + , [ "# provide alternative allocator mimalloc" + , "export MI_CFLAGS=\"-DMI_MALLOC_OVERRIDE -I${WORKDIR}/mimalloc/include -O3 -DNDEBUG -fPIC -fvisibility=hidden -ftls-model=initial-exec -fno-builtin-malloc -std=gnu11\"" + , "${CC_FOR_TARGET} ${MI_CFLAGS} -c ${WORKDIR}/mimalloc/src/static.c -o ./${TARGET}/lib/mimalloc.o" + ] + ] + } + } + , "out_dirs": ["."] + } +, "runlibs_internal": + { "type": "configure" + , "arguments_config": ["MUSL_BUILD_STATIC"] + , "target": + { "type": "if" + , "cond": {"type": "var", "name": "MUSL_BUILD_STATIC"} + , "then": "libc" + , "else": "libstdc++" + } + } +, "libstdc++": + { "type": ["@", "rules", "CC/prebuilt", "library"] + , "name": ["libstdc++"] + , "lib": ["libstdc++_files"] + , "deps": ["libc", "libgcc_s"] + } +, "libgcc_s": + { "type": ["@", "rules", "CC/prebuilt", "library"] + , "name": ["libgcc_s"] + , "lib": ["libgcc_s_files"] + , "deps": ["libc"] + } +, "libc": + { "type": ["@", "rules", "CC/prebuilt", "library"] + , "name": ["libc"] + , "lib": ["libc_files"] + } +, "libstdc++_files": + { "type": "generic" + , "arguments_config": ["ENV"] + , "deps": ["toolchain_for_target"] + , "cmds": ["cp -L $(./bin/gcc -dumpmachine)/lib/libstdc++.so.6 ."] + , "outs": ["libstdc++.so.6"] + , "env": {"type": "var", "name": "ENV", "default": {"type": "empty_map"}} + } +, "libgcc_s_files": + { "type": "generic" + , "arguments_config": ["ENV"] + , "deps": ["toolchain_for_target"] + , "cmds": ["cp -L $(./bin/gcc -dumpmachine)/lib/libgcc_s.so.1 ."] + , "outs": ["libgcc_s.so.1"] + , "env": {"type": "var", "name": "ENV", "default": {"type": "empty_map"}} + } +, "libc_files": + { "type": "generic" + , "arguments_config": ["ENV"] + , "deps": ["toolchain_for_target"] + , "cmds": ["cp -L $(./bin/gcc -dumpmachine)/lib/libc.so ."] + , "outs": ["libc.so"] + , "env": {"type": "var", "name": "ENV", "default": {"type": "empty_map"}} + } +} diff --git a/src/compilers/gcc-14-native.TARGETS b/src/compilers/gcc-14-native.TARGETS new file mode 100644 index 0000000..5fc2006 --- /dev/null +++ b/src/compilers/gcc-14-native.TARGETS @@ -0,0 +1,196 @@ +{ "toolchain": + { "type": "configure" + , "arguments_config": ["ARCH", "TARGET_ARCH", "BUILD_ARCH"] + , "config": + { "type": "if" + , "cond": + { "type": "==" + , "$1": + { "type": "var" + , "name": "TARGET_ARCH" + , "default": {"type": "var", "name": "ARCH"} + } + , "$2": + { "type": "var" + , "name": "BUILD_ARCH" + , "default": {"type": "var", "name": "ARCH"} + } + } + , "then": {"type": "empty_map"} + , "else": + {"type": "fail", "msg": "gcc-native does not support cross-compilation."} + } + , "target": "toolchain_native" + } +, "toolchain_native": + { "type": "export" + , "flexible_config": ["ARCH", "TARGET_ARCH", "TOOLCHAIN_CONFIG", "ENV"] + , "target": "gcc-native" + } +, "runlibs": + { "type": "export" + , "flexible_config": ["ARCH", "TARGET_ARCH", "TOOLCHAIN_CONFIG", "ENV"] + , "target": "libstdc++" + } +, "original_sources_and_patches": + { "type": "install" + , "dirs": + [[["TREE", null, "."], "src"], [["@", "patches", "", "gcc-14"], "patches"]] + } +, "patched_sources": + { "type": ["@", "rules", "CC/foreign/shell", "data"] + , "project": ["original_sources_and_patches"] + , "cmds": + [ "cp -r src/. ${DESTDIR}/." + , "cd ${DESTDIR}" + , "chmod -R +w *" + , "for p in $(cat ${WORKDIR}/patches/gcc-14/reproducibility/series); do" + , " patch -p1 < ${WORKDIR}/patches/gcc-14/reproducibility/$p >/dev/null" + , "done" + ] + , "out_dirs": ["."] + } +, "patched_separate_sources": + { "type": "install" + , "dirs": + [ ["patched_sources", "src"] + , [["@", "gmp", "", "files"], "gmp"] + , [["@", "mpc", "", "files"], "mpc"] + , [["@", "mpfr", "", "files"], "mpfr"] + ] + } +, "gcc-native": + { "type": ["@", "rules", "CC/foreign/shell", "data"] + , "arguments_config": ["TOOLCHAIN_CONFIG"] + , "project": ["patched_separate_sources"] + , "localbase": [["@", "binutils", "", "binutils"]] + , "cmds": + [ { "type": "join" + , "$1": + [ "HOST_SYSTEM_HDR_DIR='" + , { "type": "lookup" + , "key": "HOST_SYSTEM_HDR_DIR" + , "map": + { "type": "var" + , "name": "TOOLCHAIN_CONFIG" + , "default": {"type": "empty_map"} + } + , "default": "" + } + , "'" + ] + } + , { "type": "join" + , "$1": + [ "HOST_SYSTEM_LIB_DIR='" + , { "type": "lookup" + , "key": "HOST_SYSTEM_LIB_DIR" + , "map": + { "type": "var" + , "name": "TOOLCHAIN_CONFIG" + , "default": {"type": "empty_map"} + } + , "default": "" + } + , "'" + ] + } + , { "type": "join" + , "$1": + [ "HOST_DYNAMIC_LINKER='" + , { "type": "lookup" + , "key": "HOST_DYNAMIC_LINKER" + , "map": + { "type": "var" + , "name": "TOOLCHAIN_CONFIG" + , "default": {"type": "empty_map"} + } + , "default": "" + } + , "'" + ] + } + , "export NJOBS=$(nproc --all 2>/dev/null || echo 1)" + , "export PATH=${LOCALBASE}/bin:$PATH" + , "export MAKEINFO=missing" + , "export BUILD_ROOT_DIR=${ACTION_DIR}" + , "unset CFLAGS CXXFLAGS LDFLAGS" + , "CONF_ARGS=" + , "if [ -n \"$HOST_SYSTEM_HDR_DIR\" ]; then" + , " CONF_ARGS=\"$CONF_ARGS --with-sysroot=/ --with-native-system-header-dir=$HOST_SYSTEM_HDR_DIR\"" + , "fi" + , "LINK_ARGS=" + , "if [ -n \"$HOST_SYSTEM_LIB_DIR\" ]; then" + , " export LIBRARY_PATH=\"$HOST_SYSTEM_LIB_DIR\"" + , " LINK_ARGS=\"$LINK_ARGS -B$HOST_SYSTEM_LIB_DIR -L$HOST_SYSTEM_LIB_DIR\"" + , " LINK_ARGS=\"$LINK_ARGS -Xlinker -rpath -Xlinker $HOST_SYSTEM_LIB_DIR\"" + , "fi" + , "if [ -n \"$HOST_DYNAMIC_LINKER\" ]; then" + , " mv src/gcc/config src/gcc/config.orig" + , " cp -r src/gcc/config.orig src/gcc/config" + , " chmod -R +w src/gcc/config" + , " for h in src/gcc/config/*/*.h; do" + , " grep -q _DYNAMIC_LINKER \"$h\" || continue" + , " sed -i 's|\\(^#define [A-Z]*_DYNAMIC_LINKER[A-Z0-9]* *\"\\).*\"|\\1'$HOST_DYNAMIC_LINKER'\"|g' \"$h\"" + , " done" + , "fi" + , "export LDFLAGS_FOR_TARGET=\"${LINK_ARGS}\"" + , "if [ -f /lib/ld-musl-$(uname -m).so.1 ]; then" + , " ln -s /lib/ld-musl-$(uname -m).so.1 ${TMPDIR}/ldd" + , " export PATH=$PATH:${TMPDIR}" + , "fi" + , "cp -r ${LOCALBASE}/. ${DESTDIR}/." + , "chmod -R +w ${DESTDIR}/*" + , "mv gmp mpc mpfr src/." + , "cd src" + , "export check_msgfmt=no # do not use system's msgfmt, if available" + , "./configure ${CONF_ARGS} --prefix=/ --enable-checking=release --enable-languages=c,c++ --disable-multilib --disable-libsanitizer >configure.log 2>&1 || (cat configure.log && exit 1)" + , "${MAKE} -j${NJOBS} >build.log 2>&1 || (cat build.log && exit 1)" + , "${MAKE} -j${NJOBS} DESTDIR=${DESTDIR} install-strip >>build.log 2>&1 || (cat build.log && exit 1)" + , "cd ${DESTDIR}" + , "strip ./bin/*" + , "find . -type f -name '*.so*' -exec sh -c \"strip {} 2>/dev/null\" \\;" + , "find . -type f -name '*.a' -exec sh -c \"strip -g {}\" \\;" + , "find . -type f -name '*.o' -exec sh -c \"strip -g {}\" \\;" + , "GCC_LIBDIR=\"lib/gcc/$(./bin/gcc -dumpmachine)/$(./bin/gcc -dumpfullversion -dumpversion)\"" + , "mv ${GCC_LIBDIR}/include-fixed ${TMPDIR}/" + , "cp -rL ${TMPDIR}/include-fixed ${GCC_LIBDIR}/. # resolve symlinks" + , "if [ -n \"${LINK_ARGS}\" ]; then" + , " cd ${DESTDIR}/bin" + , " mv gcc gcc.real" + , " mv g++ g++.real" + , " printf '#!/bin/sh\\nexec $(dirname $0)/gcc.real %s \"$@\"' \"${LINK_ARGS}\" >gcc" + , " printf '#!/bin/sh\\nexec $(dirname $0)/g++.real %s \"$@\"' \"${LINK_ARGS}\" >g++" + , " chmod +x gcc g++" + , "fi" + ] + , "out_dirs": ["."] + } +, "libstdc++": + { "type": ["@", "rules", "CC/prebuilt", "library"] + , "name": ["libstdc++"] + , "lib": ["libstdc++_files"] + , "deps": ["libgcc_s"] + } +, "libgcc_s": + { "type": ["@", "rules", "CC/prebuilt", "library"] + , "name": ["libgcc_s"] + , "lib": ["libgcc_s_files"] + } +, "libstdc++_files": + { "type": "generic" + , "arguments_config": ["ENV"] + , "deps": ["toolchain"] + , "cmds": ["cp -L lib64/libstdc++.so.6 ."] + , "outs": ["libstdc++.so.6"] + , "env": {"type": "var", "name": "ENV", "default": {"type": "empty_map"}} + } +, "libgcc_s_files": + { "type": "generic" + , "arguments_config": ["ENV"] + , "deps": ["toolchain"] + , "cmds": ["cp -L lib64/libgcc_s.so.1 ."] + , "outs": ["libgcc_s.so.1"] + , "env": {"type": "var", "name": "ENV", "default": {"type": "empty_map"}} + } +} |