summaryrefslogtreecommitdiffhomepage
path: root/groups.d/030.cross_toolchain.d
diff options
context:
space:
mode:
Diffstat (limited to 'groups.d/030.cross_toolchain.d')
-rw-r--r--groups.d/030.cross_toolchain.d/binutils_cross.package20
-rw-r--r--groups.d/030.cross_toolchain.d/binutils_cross_mingw32.package15
-rw-r--r--groups.d/030.cross_toolchain.d/gcc_full_cross.package12
-rw-r--r--groups.d/030.cross_toolchain.d/gcc_libstdcpp_v3_cross.package11
-rw-r--r--groups.d/030.cross_toolchain.d/gcc_runtime_cross.package11
-rw-r--r--groups.d/030.cross_toolchain.d/gcc_stage1_cross.package12
-rw-r--r--groups.d/030.cross_toolchain.d/gcc_stage1_cross_mingw32.package14
-rw-r--r--groups.d/030.cross_toolchain.d/gmp_cross.package10
-rw-r--r--groups.d/030.cross_toolchain.d/ldso_cross.package13
-rw-r--r--groups.d/030.cross_toolchain.d/mdso_cross.package10
-rw-r--r--groups.d/030.cross_toolchain.d/mpc_cross.package10
-rw-r--r--groups.d/030.cross_toolchain.d/mpfr_cross.package10
-rw-r--r--groups.d/030.cross_toolchain.d/musl_full_cross.package17
-rw-r--r--groups.d/030.cross_toolchain.d/musl_no_complex_cross.package18
-rw-r--r--groups.d/030.cross_toolchain.d/nasm_cross.package10
-rw-r--r--groups.d/030.cross_toolchain.d/perk_cross.package9
-rw-r--r--groups.d/030.cross_toolchain.d/psxstub_cross.package10
-rw-r--r--groups.d/030.cross_toolchain.d/psxtypes_cross.package10
18 files changed, 222 insertions, 0 deletions
diff --git a/groups.d/030.cross_toolchain.d/binutils_cross.package b/groups.d/030.cross_toolchain.d/binutils_cross.package
new file mode 100644
index 00000000..6340dc5d
--- /dev/null
+++ b/groups.d/030.cross_toolchain.d/binutils_cross.package
@@ -0,0 +1,20 @@
+: ${PKG_BINUTILS_CROSS_DEPENDS:="perk_cross"};
+: ${PKG_BINUTILS_CROSS_SHA256SUM:=250d3b2925c6b211fb16173b0b25bc091c58829fbcad3eb849645e0af52cf7fa};
+: ${PKG_BINUTILS_CROSS_VERSION:=2.24.51};
+: ${PKG_BINUTILS_CROSS_URL:=ftp://sourceware.org/pub/binutils/snapshots/binutils-${PKG_BINUTILS_CROSS_VERSION}.tar.bz2};
+: ${PKG_BINUTILS_CROSS_AUTOCONF_CONFIG_GUESS:="keep"};
+: ${PKG_BINUTILS_CROSS_CFLAGS_CONFIGURE:="-I${PREFIX_LOCAL}/include -g2 -O0"};
+: ${PKG_BINUTILS_CROSS_CONFIGURE_ARGS:="--disable-werror --enable-deterministic-archives --prefix=${PREFIX_LOCAL} --target=${DEFAULT_TARGET} --with-sysroot=${PREFIX_CROSS}"};
+: ${PKG_BINUTILS_CROSS_INSTALL_FILES_V2:="
+ @%[_target]-windmc=bin/windmc
+ @%[_target]-windres=bin/windres"};
+: ${PKG_BINUTILS_CROSS_LDFLAGS_CONFIGURE:="-L${PREFIX_LOCAL}/lib -Wl,-rpath,${PREFIX_LOCAL}/lib"};
+: ${PKG_BINUTILS_CROSS_LIBTOOL:=slibtool-static};
+: ${PKG_BINUTILS_CROSS_MAKEFLAGS_INSTALL_EXTRA:="PREFIX= prefix="};
+: ${PKG_BINUTILS_CROSS_PATCHES_EXTRA:="${BUILD_WORKDIR}/chainport/patches/binutils/binutils-${PKG_BINUTILS_CROSS_VERSION}.midipix.patch"};
+: ${PKG_BINUTILS_CROSS_PREFIX:=${PREFIX_LOCAL}};
+: ${PKG_BINUTILS_CROSS_VARS_FILE:="vars/binutils.vars"};
+
+ex_pkg_register "binutils_cross" "${RTL_FILEOP_SOURCE_FNAME}" "cross_toolchain";
+
+# vim:filetype=sh textwidth=0
diff --git a/groups.d/030.cross_toolchain.d/binutils_cross_mingw32.package b/groups.d/030.cross_toolchain.d/binutils_cross_mingw32.package
new file mode 100644
index 00000000..33d477e7
--- /dev/null
+++ b/groups.d/030.cross_toolchain.d/binutils_cross_mingw32.package
@@ -0,0 +1,15 @@
+: ${PKG_BINUTILS_CROSS_MINGW32_SHA256SUM:=250d3b2925c6b211fb16173b0b25bc091c58829fbcad3eb849645e0af52cf7fa};
+: ${PKG_BINUTILS_CROSS_MINGW32_VERSION:=2.24.51};
+: ${PKG_BINUTILS_CROSS_MINGW32_URL:=ftp://sourceware.org/pub/binutils/snapshots/binutils-${PKG_BINUTILS_CROSS_MINGW32_VERSION}.tar.bz2};
+: ${PKG_BINUTILS_CROSS_MINGW32_AUTOCONF_CONFIG_GUESS:="keep"};
+: ${PKG_BINUTILS_CROSS_MINGW32_CONFIGURE_ARGS:="--disable-nls --disable-werror --enable-deterministic-archives --prefix=${PREFIX_LOCAL} --target=x86_64-w64-mingw32 --with-sysroot=${PREFIX_MINGW32}"};
+: ${PKG_BINUTILS_CROSS_MINGW32_LIBTOOL:=slibtool-static};
+: ${PKG_BINUTILS_CROSS_MINGW32_MAKEFLAGS_INSTALL:="PREFIX= prefix="};
+: ${PKG_BINUTILS_CROSS_MINGW32_PATCHES_EXTRA:="${BUILD_WORKDIR}/chainport/patches/binutils/binutils-${PKG_BINUTILS_CROSS_MINGW32_VERSION}.midipix.patch"};
+: ${PKG_BINUTILS_CROSS_MINGW32_PREFIX:=${PREFIX_LOCAL}};
+: ${PKG_BINUTILS_CROSS_MINGW32_TARGET:="x86_64-w64-mingw32"};
+: ${PKG_BINUTILS_CROSS_MINGW32_VARS_FILE:="vars/binutils.vars"};
+
+ex_pkg_register "binutils_cross_mingw32" "${RTL_FILEOP_SOURCE_FNAME}" "cross_toolchain";
+
+# vim:filetype=sh textwidth=0
diff --git a/groups.d/030.cross_toolchain.d/gcc_full_cross.package b/groups.d/030.cross_toolchain.d/gcc_full_cross.package
new file mode 100644
index 00000000..2ac35d37
--- /dev/null
+++ b/groups.d/030.cross_toolchain.d/gcc_full_cross.package
@@ -0,0 +1,12 @@
+: ${PKG_GCC_FULL_CROSS_DEPENDS:="gcc_stage1_cross gcc_libstdcpp_v3_cross ldso_cross musl_full_cross"};
+: ${PKG_GCC_FULL_CROSS_VERSION:=4.6.4};
+: ${PKG_GCC_FULL_CROSS_BASE_DIR:=${BUILD_WORKDIR}/gcc-cross-${DEFAULT_TARGET}};
+: ${PKG_GCC_FULL_CROSS_BUILD_DIR:="cbb-gcc-4.6.4-cross-x86_64-nt64-midipix"};
+: ${PKG_GCC_FULL_CROSS_GITROOT:=${DEFAULT_GITROOT}};
+: ${PKG_GCC_FULL_CROSS_NO_CLEAN_BASE_DIR:=1};
+: ${PKG_GCC_FULL_CROSS_PREFIX:=${PREFIX_LOCAL}};
+: ${PKG_GCC_FULL_CROSS_VARS_FILE:="vars/gcc.vars"};
+
+ex_pkg_register "gcc_full_cross" "${RTL_FILEOP_SOURCE_FNAME}" "cross_toolchain";
+
+# vim:filetype=sh textwidth=0
diff --git a/groups.d/030.cross_toolchain.d/gcc_libstdcpp_v3_cross.package b/groups.d/030.cross_toolchain.d/gcc_libstdcpp_v3_cross.package
new file mode 100644
index 00000000..2414ac9c
--- /dev/null
+++ b/groups.d/030.cross_toolchain.d/gcc_libstdcpp_v3_cross.package
@@ -0,0 +1,11 @@
+: ${PKG_GCC_LIBSTDCPP_V3_CROSS_DEPENDS:="gcc_runtime_cross gcc_stage1_cross ldso_cross musl_full_cross"};
+: ${PKG_GCC_LIBSTDCPP_V3_CROSS_VERSION:=4.6.4};
+: ${PKG_GCC_LIBSTDCPP_V3_CROSS_BASE_DIR:=${BUILD_WORKDIR}/gcc-cross-${DEFAULT_TARGET}};
+: ${PKG_GCC_LIBSTDCPP_V3_CROSS_GITROOT:=${DEFAULT_GITROOT}};
+: ${PKG_GCC_LIBSTDCPP_V3_CROSS_NO_CLEAN_BASE_DIR:=1};
+: ${PKG_GCC_LIBSTDCPP_V3_CROSS_PREFIX:=${PREFIX_LOCAL}};
+: ${PKG_GCC_LIBSTDCPP_V3_CROSS_VARS_FILE:="vars/gcc.vars"};
+
+ex_pkg_register "gcc_libstdcpp_v3_cross" "${RTL_FILEOP_SOURCE_FNAME}" "cross_toolchain";
+
+# vim:filetype=sh textwidth=0
diff --git a/groups.d/030.cross_toolchain.d/gcc_runtime_cross.package b/groups.d/030.cross_toolchain.d/gcc_runtime_cross.package
new file mode 100644
index 00000000..5e01a513
--- /dev/null
+++ b/groups.d/030.cross_toolchain.d/gcc_runtime_cross.package
@@ -0,0 +1,11 @@
+: ${PKG_GCC_RUNTIME_CROSS_DEPENDS:="gcc_stage1_cross musl_no_complex_cross psxtypes_cross psxstub_cross mdso_cross perk_cross"};
+: ${PKG_GCC_RUNTIME_CROSS_VERSION:=4.6.4};
+: ${PKG_GCC_RUNTIME_CROSS_BASE_DIR:=${BUILD_WORKDIR}/gcc-cross-${DEFAULT_TARGET}};
+: ${PKG_GCC_RUNTIME_CROSS_GITROOT:=${DEFAULT_GITROOT}};
+: ${PKG_GCC_RUNTIME_CROSS_NO_CLEAN_BASE_DIR:=1};
+: ${PKG_GCC_RUNTIME_CROSS_PREFIX:=${PREFIX_LOCAL}};
+: ${PKG_GCC_RUNTIME_CROSS_VARS_FILE:="vars/gcc.vars"};
+
+ex_pkg_register "gcc_runtime_cross" "${RTL_FILEOP_SOURCE_FNAME}" "cross_toolchain";
+
+# vim:filetype=sh textwidth=0
diff --git a/groups.d/030.cross_toolchain.d/gcc_stage1_cross.package b/groups.d/030.cross_toolchain.d/gcc_stage1_cross.package
new file mode 100644
index 00000000..16978a83
--- /dev/null
+++ b/groups.d/030.cross_toolchain.d/gcc_stage1_cross.package
@@ -0,0 +1,12 @@
+: ${PKG_GCC_STAGE1_CROSS_DEPENDS:="binutils_cross gmp_cross mpc_cross mpfr_cross"};
+: ${PKG_GCC_STAGE1_CROSS_VERSION:=4.6.4};
+: ${PKG_GCC_STAGE1_CROSS_BASE_DIR:=${BUILD_WORKDIR}/gcc-cross-${DEFAULT_TARGET}};
+: ${PKG_GCC_STAGE1_CROSS_CFLAGS_CONFIGURE:="-I${PREFIX_LOCAL}/include -g3 -O0"};
+: ${PKG_GCC_STAGE1_CROSS_GITROOT:=${DEFAULT_GITROOT}};
+: ${PKG_GCC_STAGE1_CROSS_LDFLAGS_CONFIGURE:="-L${PREFIX_LOCAL}/lib -Wl,-rpath,${PREFIX_LOCAL}/lib"};
+: ${PKG_GCC_STAGE1_CROSS_PREFIX:=${PREFIX_LOCAL}};
+: ${PKG_GCC_STAGE1_CROSS_VARS_FILE:="vars/gcc.vars"};
+
+ex_pkg_register "gcc_stage1_cross" "${RTL_FILEOP_SOURCE_FNAME}" "cross_toolchain";
+
+# vim:filetype=sh textwidth=0
diff --git a/groups.d/030.cross_toolchain.d/gcc_stage1_cross_mingw32.package b/groups.d/030.cross_toolchain.d/gcc_stage1_cross_mingw32.package
new file mode 100644
index 00000000..d223ce80
--- /dev/null
+++ b/groups.d/030.cross_toolchain.d/gcc_stage1_cross_mingw32.package
@@ -0,0 +1,14 @@
+: ${PKG_GCC_STAGE1_CROSS_MINGW32_DEPENDS:="binutils_cross_mingw32 gmp_cross mpc_cross mpfr_cross"};
+: ${PKG_GCC_STAGE1_CROSS_MINGW32_VERSION:=4.6.4};
+: ${PKG_GCC_STAGE1_CROSS_MINGW32_BASE_DIR:=${BUILD_WORKDIR}/gcc-cross-x86_64-w64-mingw32};
+: ${PKG_GCC_STAGE1_CROSS_MINGW32_CFLAGS_CONFIGURE:="-I${PREFIX_LOCAL}/include"};
+: ${PKG_GCC_STAGE1_CROSS_MINGW32_CONFIGURE_ARGS:="--disable-nls --prefix=${PREFIX_LOCAL} --target=x86_64-w64-mingw32"};
+: ${PKG_GCC_STAGE1_CROSS_MINGW32_LDFLAGS_CONFIGURE:="-L${PREFIX_LOCAL}/lib -Wl,-rpath,${PREFIX_LOCAL}/lib"};
+: ${PKG_GCC_STAGE1_CROSS_MINGW32_GITROOT:=${DEFAULT_GITROOT}};
+: ${PKG_GCC_STAGE1_CROSS_MINGW32_PREFIX:=${PREFIX_LOCAL}};
+: ${PKG_GCC_STAGE1_CROSS_MINGW32_TARGET:="x86_64-w64-mingw32"};
+: ${PKG_GCC_STAGE1_CROSS_MINGW32_VARS_FILE:="vars/gcc.vars"};
+
+ex_pkg_register "gcc_stage1_cross_mingw32" "${RTL_FILEOP_SOURCE_FNAME}" "cross_toolchain";
+
+# vim:filetype=sh textwidth=0
diff --git a/groups.d/030.cross_toolchain.d/gmp_cross.package b/groups.d/030.cross_toolchain.d/gmp_cross.package
new file mode 100644
index 00000000..f20f7c01
--- /dev/null
+++ b/groups.d/030.cross_toolchain.d/gmp_cross.package
@@ -0,0 +1,10 @@
+: ${PKG_GMP_CROSS_SHA256SUM:=5275bb04f4863a13516b2f39392ac5e272f5e1bb8057b18aec1c9b79d73d8fb2};
+: ${PKG_GMP_CROSS_VERSION:=6.1.2};
+: ${PKG_GMP_CROSS_URL:=https://gmplib.org/download/gmp/gmp-${PKG_GMP_CROSS_VERSION}.tar.bz2};
+: ${PKG_GMP_CROSS_CONFIGURE_ARGS:="--disable-assembly --disable-nls --prefix="};
+: ${PKG_GMP_CROSS_PATCHES_EXTRA:="${BUILD_WORKDIR}/chainport/patches/gmp/gmp-${PKG_GMP_CROSS_VERSION}.midipix.patch"};
+: ${PKG_GMP_CROSS_PREFIX:=${PREFIX_LOCAL}};
+
+ex_pkg_register "gmp_cross" "${RTL_FILEOP_SOURCE_FNAME}" "cross_toolchain";
+
+# vim:filetype=sh textwidth=0
diff --git a/groups.d/030.cross_toolchain.d/ldso_cross.package b/groups.d/030.cross_toolchain.d/ldso_cross.package
new file mode 100644
index 00000000..df9fc13c
--- /dev/null
+++ b/groups.d/030.cross_toolchain.d/ldso_cross.package
@@ -0,0 +1,13 @@
+: ${PKG_LDSO_CROSS_PREFIX="${PREFIX_CROSS}"};
+: ${PKG_LDSO_CROSS_DEPENDS:="gcc_stage1_cross musl_full_cross psxtypes_cross"};
+: ${PKG_LDSO_CROSS_URLS_GIT:=pemagine=${DEFAULT_GITROOT}/pemagine};
+: ${PKG_LDSO_CROSS_BUILD_TYPE:=cross};
+: ${PKG_LDSO_CROSS_CFLAGS_CONFIGURE_EXTRA:="-O0 -DPE_LDSO"};
+: ${PKG_LDSO_CROSS_CONFIGURE_ARGS:="--prefix= --target=${DEFAULT_TARGET} --disable-shared"};
+: ${PKG_LDSO_CROSS_INSTALL_FILES_V2:="@../%[_target]/lib/libldso.a=%[_prefix]/lib/libldso.a"};
+: ${PKG_LDSO_CROSS_MAKEFLAGS_BUILD_EXTRA:=STATIC_LIB_NAME=libldso.a};
+: ${PKG_LDSO_CROSS_MAKEFLAGS_INSTALL_EXTRA:=STATIC_LIB_NAME=libldso.a};
+
+ex_pkg_register "ldso_cross" "${RTL_FILEOP_SOURCE_FNAME}" "cross_toolchain";
+
+# vim:filetype=sh textwidth=0
diff --git a/groups.d/030.cross_toolchain.d/mdso_cross.package b/groups.d/030.cross_toolchain.d/mdso_cross.package
new file mode 100644
index 00000000..8dccd1b0
--- /dev/null
+++ b/groups.d/030.cross_toolchain.d/mdso_cross.package
@@ -0,0 +1,10 @@
+: ${PKG_MDSO_CROSS_URLS_GIT:="mdso=${DEFAULT_GITROOT}/mdso"};
+: ${PKG_MDSO_CROSS_CONFIGURE_ARGS:="--prefix="};
+: ${PKG_MDSO_CROSS_INSTALL_FILES_V2:="
+ @mdso=bin/${DEFAULT_TARGET}-mdso
+ /=${DEFAULT_TARGET}/bin
+ +bin/mdso=${DEFAULT_TARGET}/bin/mdso"};
+
+ex_pkg_register "mdso_cross" "${RTL_FILEOP_SOURCE_FNAME}" "cross_toolchain";
+
+# vim:filetype=sh textwidth=0
diff --git a/groups.d/030.cross_toolchain.d/mpc_cross.package b/groups.d/030.cross_toolchain.d/mpc_cross.package
new file mode 100644
index 00000000..5c9f4d2a
--- /dev/null
+++ b/groups.d/030.cross_toolchain.d/mpc_cross.package
@@ -0,0 +1,10 @@
+: ${PKG_MPC_CROSS_DEPENDS:="gmp_cross mpfr_cross"};
+: ${PKG_MPC_CROSS_SHA256SUM:=ed5a815cfea525dc778df0cb37468b9c1b554aaf30d9328b1431ca705b7400ff};
+: ${PKG_MPC_CROSS_VERSION:=1.0.1};
+: ${PKG_MPC_CROSS_URL:=ftp://ftp.gnu.org/gnu/mpc/mpc-${PKG_MPC_CROSS_VERSION}.tar.gz};
+: ${PKG_MPC_CROSS_CONFIGURE_ARGS:="--disable-assembly --disable-nls --prefix= --with-gmp=${PREFIX_LOCAL} --with-mpfr=${PREFIX_LOCAL}"};
+: ${PKG_MPC_CROSS_PREFIX:=${PREFIX_LOCAL}};
+
+ex_pkg_register "mpc_cross" "${RTL_FILEOP_SOURCE_FNAME}" "cross_toolchain";
+
+# vim:filetype=sh textwidth=0
diff --git a/groups.d/030.cross_toolchain.d/mpfr_cross.package b/groups.d/030.cross_toolchain.d/mpfr_cross.package
new file mode 100644
index 00000000..1cd156f0
--- /dev/null
+++ b/groups.d/030.cross_toolchain.d/mpfr_cross.package
@@ -0,0 +1,10 @@
+: ${PKG_MPFR_CROSS_DEPENDS:="gmp_cross"};
+: ${PKG_MPFR_CROSS_SHA256SUM:=79c73f60af010a30a5c27a955a1d2d01ba095b72537dab0ecaad57f5a7bb1b6b};
+: ${PKG_MPFR_CROSS_VERSION:=3.1.2};
+: ${PKG_MPFR_CROSS_URL:=ftp://ftp.gnu.org/gnu/mpfr/mpfr-${PKG_MPFR_CROSS_VERSION}.tar.bz2};
+: ${PKG_MPFR_CROSS_CONFIGURE_ARGS:="--disable-assembly --disable-nls --prefix= --with-gmp=${PREFIX_LOCAL}"};
+: ${PKG_MPFR_CROSS_PREFIX:=${PREFIX_LOCAL}};
+
+ex_pkg_register "mpfr_cross" "${RTL_FILEOP_SOURCE_FNAME}" "cross_toolchain";
+
+# vim:filetype=sh textwidth=0
diff --git a/groups.d/030.cross_toolchain.d/musl_full_cross.package b/groups.d/030.cross_toolchain.d/musl_full_cross.package
new file mode 100644
index 00000000..25fe6955
--- /dev/null
+++ b/groups.d/030.cross_toolchain.d/musl_full_cross.package
@@ -0,0 +1,17 @@
+: ${PKG_MUSL_FULL_CROSS_DEPENDS:="gcc_stage1_cross gcc_runtime_cross"};
+: ${PKG_MUSL_FULL_CROSS_SHA256SUM:=a9a118bbe84d8764da0ea0d28b3ab3fae8477fc7e4085d90102b8596fc7c75e4};
+: ${PKG_MUSL_FULL_CROSS_VERSION:=1.2.5};
+: ${PKG_MUSL_FULL_CROSS_URL:="http://www.musl-libc.org/releases/musl-${PKG_MUSL_FULL_CROSS_VERSION}.tar.gz"}
+: ${PKG_MUSL_FULL_CROSS_URLS_GIT:="mmglue=${DEFAULT_GITROOT}/mmglue@main"};
+: ${PKG_MUSL_FULL_CROSS_BASE_DIR:=${BUILD_WORKDIR}/musl_full-cross-${DEFAULT_TARGET}};
+: ${PKG_MUSL_FULL_CROSS_BUILD_DIR:=build/musl};
+: ${PKG_MUSL_FULL_CROSS_BUILD_TYPE:=cross};
+: ${PKG_MUSL_FULL_CROSS_CONFIGURE:=build/mmglue/configure};
+: ${PKG_MUSL_FULL_CROSS_CONFIGURE_ARGS:="--source-dir=../../musl-${PKG_MUSL_FULL_CROSS_VERSION} --prefix= --target=${DEFAULT_TARGET}"};
+: ${PKG_MUSL_FULL_CROSS_INSTALL_FILES_V2:="-=include/iconv.h"};
+: ${PKG_MUSL_FULL_CROSS_SUBDIR:=musl-${PKG_MUSL_FULL_CROSS_VERSION}};
+: ${PKG_MUSL_FULL_CROSS_VARS_FILE:="vars/musl.vars"};
+
+ex_pkg_register "musl_full_cross" "${RTL_FILEOP_SOURCE_FNAME}" "cross_toolchain";
+
+# vim:filetype=sh textwidth=0
diff --git a/groups.d/030.cross_toolchain.d/musl_no_complex_cross.package b/groups.d/030.cross_toolchain.d/musl_no_complex_cross.package
new file mode 100644
index 00000000..50af268b
--- /dev/null
+++ b/groups.d/030.cross_toolchain.d/musl_no_complex_cross.package
@@ -0,0 +1,18 @@
+: ${PKG_MUSL_NO_COMPLEX_CROSS_PREFIX:="${PREFIX_CROSS}"};
+: ${PKG_MUSL_NO_COMPLEX_CROSS_DEPENDS:="gcc_stage1_cross "};
+: ${PKG_MUSL_NO_COMPLEX_CROSS_SHA256SUM:=${PKG_MUSL_FULL_CROSS_SHA256SUM}};
+: ${PKG_MUSL_NO_COMPLEX_CROSS_VERSION:=${PKG_MUSL_FULL_CROSS_VERSION}};
+: ${PKG_MUSL_NO_COMPLEX_CROSS_URL:="http://www.musl-libc.org/releases/musl-${PKG_MUSL_NO_COMPLEX_CROSS_VERSION}.tar.gz"}
+: ${PKG_MUSL_NO_COMPLEX_CROSS_URLS_GIT:="mmglue=${DEFAULT_GITROOT}/mmglue@main"};
+: ${PKG_MUSL_NO_COMPLEX_CROSS_BASE_DIR:=${BUILD_WORKDIR}/musl_no_complex-cross-${DEFAULT_TARGET}};
+: ${PKG_MUSL_NO_COMPLEX_CROSS_BUILD_DIR:=build/musl};
+: ${PKG_MUSL_NO_COMPLEX_CROSS_BUILD_TYPE:=cross};
+: ${PKG_MUSL_NO_COMPLEX_CROSS_CONFIGURE:=build/mmglue/configure};
+: ${PKG_MUSL_NO_COMPLEX_CROSS_CONFIGURE_ARGS:="--source-dir=../../musl-${PKG_MUSL_NO_COMPLEX_CROSS_VERSION} --no-complex --prefix= --target=${DEFAULT_TARGET}"};
+: ${PKG_MUSL_NO_COMPLEX_CROSS_INSTALL_FILES_V2:="-=include/iconv.h"};
+: ${PKG_MUSL_NO_COMPLEX_CROSS_SUBDIR:=musl-${PKG_MUSL_NO_COMPLEX_CROSS_VERSION}};
+: ${PKG_MUSL_NO_COMPLEX_CROSS_VARS_FILE:="vars/musl.vars"};
+
+ex_pkg_register "musl_no_complex_cross" "${RTL_FILEOP_SOURCE_FNAME}" "cross_toolchain";
+
+# vim:filetype=sh textwidth=0
diff --git a/groups.d/030.cross_toolchain.d/nasm_cross.package b/groups.d/030.cross_toolchain.d/nasm_cross.package
new file mode 100644
index 00000000..097413a2
--- /dev/null
+++ b/groups.d/030.cross_toolchain.d/nasm_cross.package
@@ -0,0 +1,10 @@
+: ${PKG_NASM_CROSS_SHA256SUM:=c77745f4802375efeee2ec5c0ad6b7f037ea9c87c92b149a9637ff099f162558};
+: ${PKG_NASM_CROSS_VERSION:=2.16.01};
+: ${PKG_NASM_CROSS_URL:=http://www.nasm.us/pub/nasm/releasebuilds/${PKG_NASM_CROSS_VERSION}/nasm-${PKG_NASM_CROSS_VERSION}.tar.xz};
+: ${PKG_NASM_CROSS_CFLAGS_CONFIGURE_EXTRA:=-DCOFF_MIDIPIX};
+: ${PKG_NASM_CROSS_INSTALL_FILES_V2:="!bin/%<*>=bin/%[_target]-%[FNAME]"};
+: ${PKG_NASM_CROSS_PREFIX:=${PREFIX_LOCAL}};
+
+ex_pkg_register "nasm_cross" "${RTL_FILEOP_SOURCE_FNAME}" "cross_toolchain";
+
+# vim:filetype=sh textwidth=0
diff --git a/groups.d/030.cross_toolchain.d/perk_cross.package b/groups.d/030.cross_toolchain.d/perk_cross.package
new file mode 100644
index 00000000..1e6145a6
--- /dev/null
+++ b/groups.d/030.cross_toolchain.d/perk_cross.package
@@ -0,0 +1,9 @@
+: ${PKG_PERK_CROSS_DEPENDS:="mdso_cross"};
+: ${PKG_PERK_CROSS_URLS_GIT:="perk=${DEFAULT_GITROOT}/perk"};
+: ${PKG_PERK_CROSS_CONFIGURE_ARGS:="--prefix="};
+: ${PKG_PERK_CROSS_INSTALL_FILES_V2:="@perk=bin/${DEFAULT_TARGET}-perk"};
+: ${PKG_PERK_CROSS_CFLAGS_CONFIGURE:="-I${PREFIX_LOCAL}/include"};
+
+ex_pkg_register "perk_cross" "${RTL_FILEOP_SOURCE_FNAME}" "cross_toolchain";
+
+# vim:filetype=sh textwidth=0
diff --git a/groups.d/030.cross_toolchain.d/psxstub_cross.package b/groups.d/030.cross_toolchain.d/psxstub_cross.package
new file mode 100644
index 00000000..586e8a40
--- /dev/null
+++ b/groups.d/030.cross_toolchain.d/psxstub_cross.package
@@ -0,0 +1,10 @@
+: ${PKG_PSXSTUB_CROSS_PREFIX:="${PREFIX_CROSS}"};
+: ${PKG_PSXSTUB_CROSS_DEPENDS:="gcc_stage1_cross"};
+: ${PKG_PSXSTUB_CROSS_URLS_GIT:="psxstub=${DEFAULT_GITROOT}/psxstub"};
+: ${PKG_PSXSTUB_CROSS_BUILD_STEPS_DISABLE:=build};
+: ${PKG_PSXSTUB_CROSS_ENV_VARS_EXTRA:=TARGET=${DEFAULT_TARGET}};
+: ${PKG_PSXSTUB_CROSS_IN_TREE:=1};
+
+ex_pkg_register "psxstub_cross" "${RTL_FILEOP_SOURCE_FNAME}" "cross_toolchain";
+
+# vim:filetype=sh textwidth=0
diff --git a/groups.d/030.cross_toolchain.d/psxtypes_cross.package b/groups.d/030.cross_toolchain.d/psxtypes_cross.package
new file mode 100644
index 00000000..aee82d3e
--- /dev/null
+++ b/groups.d/030.cross_toolchain.d/psxtypes_cross.package
@@ -0,0 +1,10 @@
+: ${PKG_PSXTYPES_CROSS_PREFIX:="${PREFIX_CROSS}"};
+: ${PKG_PSXTYPES_CROSS_DEPENDS:="gcc_stage1_cross"};
+: ${PKG_PSXTYPES_CROSS_URLS_GIT:=psxtypes=${DEFAULT_GITROOT}/psxtypes};
+: ${PKG_PSXTYPES_CROSS_BUILD_STEPS_DISABLE:=build};
+: ${PKG_PSXTYPES_CROSS_CONFIGURE_ARGS:="--disable-nls --prefix="};
+: ${PKG_PSXTYPES_CROSS_IN_TREE:=1};
+
+ex_pkg_register "psxtypes_cross" "${RTL_FILEOP_SOURCE_FNAME}" "cross_toolchain";
+
+# vim:filetype=sh textwidth=0