summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authormidipix <writeonce@midipix.org>2024-02-24 05:26:16 +0000
committermidipix <writeonce@midipix.org>2024-02-25 06:28:28 +0000
commit308fa73712b693ecdd7159a553edb1066e7c12fd (patch)
tree61aad1eb91cb10d879a21dbe5f4ce088b8115ff1
parent5c837b024dd89d615e07b7878ebac102aa89c9a9 (diff)
downloadmidipix_build-308fa73712b693ecdd7159a553edb1066e7c12fd.tar.bz2
midipix_build-308fa73712b693ecdd7159a553edb1066e7c12fd.tar.xz
added and integrated the (local/intermediate) ``cross_toolchain'' build group.
-rw-r--r--etc/README.md9
-rw-r--r--groups.d/030.cross_toolchain.group174
-rw-r--r--groups.d/040.host_toolchain.group37
-rw-r--r--groups.d/100.native_tools.group4
-rw-r--r--groups.d/110.native_toolchain.group4
-rw-r--r--groups.d/120.native_runtime.group2
-rw-r--r--groups.d/200.native_packages.group2
-rw-r--r--groups.d/800.minipix.group2
-rw-r--r--groups.d/dev_packages.group2
l---------patches/musl_full_cross-1.2.2.local.patch1
l---------patches/musl_no_complex_cross-1.2.2.local.patch1
-rw-r--r--subr.ex/ex_init.subr1
-rw-r--r--vars.env.d/050.pathsvars.env15
-rw-r--r--vars/binutils.vars10
-rw-r--r--vars/gcc.vars165
-rw-r--r--vars/musl.vars12
-rw-r--r--vars/nasm_cross.vars9
17 files changed, 391 insertions, 59 deletions
diff --git a/etc/README.md b/etc/README.md
index e6a92e25..2dd530d0 100644
--- a/etc/README.md
+++ b/etc/README.md
@@ -476,6 +476,7 @@ env ARCH=nt64 BUILD_KIND=release PREFIX_ROOT="${HOME}/midipix_tmp" ./build.sh -D
| BUILD_DLCACHEDIR | ${PREFIX_ROOT}/dlcache | Absolute pathname to package downloads cache root directory |
| BUILD_HNAME | $(hostname) | Build system hostname |
| BUILD_KIND | debug | Build w/ debugging (debug) or release compiler flags |
+| PREFIX_LOCAL | ${PREFIX}/localcross | Absolute pathname to local cross-toolchain root directory |
| BUILD_WORKDIR | ${PREFIX}/tmp | Absolute pathname to temporary package build root directory |
| PREFIX | ${PREFIX_ROOT}/${ARCH}/${BUILD_KIND} | Absolute pathname to architecture- & build type-specific build root directory |
| PREFIX_CROSS | ${PREFIX}/${DEFAULT_TARGET} | Absolute pathname to toolchain root directory |
@@ -905,9 +906,11 @@ usage: ./build.sh [-a nt32|nt64] [-b debug|release] [-C dir[,..]] [-D kind[
--reset-state Reset package build step state on exit.
--theme theme Set theme.
- <group>[ ..] One of: dev_packages, dist, host_deps, host_deps_rpm,
- host_toolchain, host_tools, minipix, native_packages,
- native_runtime, native_toolchain, native_tools.
+ <group>[ ..] One of:
+ host_tools, host_deps, host_deps_rpm,
+ cross_toolchain, host_toolchain,
+ native_packages, native_runtime, native_toolchain, native_tools,
+ minipix, dist, dev_packages
Prepend w/ `=' to inhibit group-group dependency expansion.
diff --git a/groups.d/030.cross_toolchain.group b/groups.d/030.cross_toolchain.group
new file mode 100644
index 00000000..03956a3f
--- /dev/null
+++ b/groups.d/030.cross_toolchain.group
@@ -0,0 +1,174 @@
+#
+# Build group cross_toolchain
+#
+CROSS_TOOLCHAIN_BUILD_TYPE="host";
+CROSS_TOOLCHAIN_CONFIGURE_ARGS="--disable-nls --prefix= --target=${DEFAULT_TARGET}";
+CROSS_TOOLCHAIN_GROUP_DEPENDS="host_deps host_deps_rpm host_tools";
+CROSS_TOOLCHAIN_MAKEFLAGS_INSTALL_EXTRA="prefix= PREFIX=";
+CROSS_TOOLCHAIN_PACKAGES="
+binutils_cross binutils_cross_mingw32 gcc_full_cross gcc_libstdcpp_v3_cross
+gcc_runtime_cross gcc_stage1_cross_mingw32 gcc_stage1_cross gmp_cross
+ldso_cross mdso_cross mpc_cross mpfr_cross musl_full_cross musl_no_complex_cross
+nasm_cross perk_cross psxstub_cross psxtypes_cross";
+CROSS_TOOLCHAIN_PKG_CONFIG="${PREFIX}/bin/pkgconf";
+CROSS_TOOLCHAIN_PREFIX="${PREFIX_LOCAL}";
+CROSS_TOOLCHAIN_RPM_DISABLE=1;
+
+: ${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}/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}/lib -Wl,-rpath,${PREFIX}/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"};
+: ${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"};
+: ${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"};
+: ${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"};
+: ${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"};
+: ${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}/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}/lib -Wl,-rpath,${PREFIX}/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"};
+
+: ${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}/include -g3 -O0"};
+: ${PKG_GCC_STAGE1_CROSS_GITROOT:=${DEFAULT_GITROOT}};
+: ${PKG_GCC_STAGE1_CROSS_LDFLAGS_CONFIGURE:="-L${PREFIX}/lib -Wl,-rpath,${PREFIX}/lib"};
+: ${PKG_GCC_STAGE1_CROSS_PREFIX:=${PREFIX_LOCAL}};
+: ${PKG_GCC_STAGE1_CROSS_VARS_FILE:="vars/gcc.vars"};
+
+: ${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}};
+
+: ${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};
+
+: ${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"};
+
+: ${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}};
+: ${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}};
+: ${PKG_MUSL_FULL_CROSS_DEPENDS:="gcc_stage1_cross gcc_runtime_cross"};
+: ${PKG_MUSL_FULL_CROSS_SHA256SUM:=9b969322012d796dc23dda27a35866034fa67d8fb67e0e2c45c913c3d43219dd};
+: ${PKG_MUSL_FULL_CROSS_VERSION:=1.2.2};
+: ${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"};
+: ${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"};
+: ${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}};
+
+: ${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"};
+
+: ${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};
+: ${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};
+
+# vim:filetype=sh textwidth=0
diff --git a/groups.d/040.host_toolchain.group b/groups.d/040.host_toolchain.group
index acc8c9a6..835f55c6 100644
--- a/groups.d/040.host_toolchain.group
+++ b/groups.d/040.host_toolchain.group
@@ -3,11 +3,11 @@
#
HOST_TOOLCHAIN_BUILD_TYPE="host";
HOST_TOOLCHAIN_CONFIGURE_ARGS="--disable-nls --prefix= --target=${DEFAULT_TARGET}";
-HOST_TOOLCHAIN_GROUP_DEPENDS="host_deps host_deps_rpm host_tools";
+HOST_TOOLCHAIN_GROUP_DEPENDS="host_deps host_deps_rpm host_tools cross_toolchain";
HOST_TOOLCHAIN_MAKEFLAGS_INSTALL_EXTRA="prefix= PREFIX=";
HOST_TOOLCHAIN_PACKAGES="
binutils_host binutils_host_mingw32 gcc_full_host gcc_libstdcpp_v3_host
-gcc_runtime_host gcc_stage1_cross_mingw32 gcc_stage1_host gmp_host
+gcc_runtime_host gcc_stage1_host_mingw32 gcc_stage1_host gmp_host
ldso_host mpc_host mpfr_host musl_full_host musl_no_complex_host nasm_host
psxstub_host psxtypes_host";
HOST_TOOLCHAIN_PKG_CONFIG="${PREFIX}/bin/pkgconf";
@@ -19,7 +19,7 @@ HOST_TOOLCHAIN_RPM_DISABLE=1;
: ${PKG_BINUTILS_HOST_URL:=ftp://sourceware.org/pub/binutils/snapshots/binutils-${PKG_BINUTILS_HOST_VERSION}.tar.bz2};
: ${PKG_BINUTILS_HOST_AUTOCONF_CONFIG_GUESS:="keep"};
: ${PKG_BINUTILS_HOST_CFLAGS_CONFIGURE:="-I${PREFIX}/include -g2 -O0"};
-: ${PKG_BINUTILS_HOST_CONFIGURE_ARGS:="--disable-werror --enable-deterministic-archives --prefix=${PREFIX} --target=${DEFAULT_TARGET} --with-sysroot=${PREFIX_CROSS}"};
+: ${PKG_BINUTILS_HOST_CONFIGURE_ARGS:="--disable-werror --enable-deterministic-archives --prefix=${PREFIX} --target=${DEFAULT_TARGET} --with-sysroot=${PREFIX_NATIVE}"};
: ${PKG_BINUTILS_HOST_INSTALL_FILES_V2:="
@%[_target]-windmc=bin/windmc
@%[_target]-windres=bin/windres"};
@@ -43,7 +43,7 @@ HOST_TOOLCHAIN_RPM_DISABLE=1;
: ${PKG_GCC_FULL_HOST_DEPENDS:="gcc_stage1_host gcc_libstdcpp_v3_host ldso_host musl_full_host"};
: ${PKG_GCC_FULL_HOST_VERSION:=4.6.4};
: ${PKG_GCC_FULL_HOST_BASE_DIR:=${BUILD_WORKDIR}/gcc-host-${DEFAULT_TARGET}};
-: ${PKG_GCC_FULL_HOST_BUILD_DIR:="cbb-gcc-4.6.4-cross-x86_64-nt64-midipix"};
+: ${PKG_GCC_FULL_HOST_BUILD_DIR:="cbb-gcc-4.6.4-host-x86_64-nt64-midipix"};
: ${PKG_GCC_FULL_HOST_GITROOT:=${DEFAULT_GITROOT}};
: ${PKG_GCC_FULL_HOST_NO_CLEAN_BASE_DIR:=1};
: ${PKG_GCC_FULL_HOST_PREFIX:=${PREFIX}};
@@ -62,15 +62,18 @@ HOST_TOOLCHAIN_RPM_DISABLE=1;
: ${PKG_GCC_RUNTIME_HOST_NO_CLEAN_BASE_DIR:=1};
: ${PKG_GCC_RUNTIME_HOST_PREFIX:=${PREFIX}};
: ${PKG_GCC_RUNTIME_HOST_VARS_FILE:="vars/gcc.vars"};
-: ${PKG_GCC_STAGE1_CROSS_MINGW32_DEPENDS:="binutils_host_mingw32 gmp_host mpc_host mpfr_host"};
-: ${PKG_GCC_STAGE1_CROSS_MINGW32_VERSION:=4.6.4};
-: ${PKG_GCC_STAGE1_CROSS_MINGW32_BASE_DIR:=${BUILD_WORKDIR}/gcc-host-x86_64-w64-mingw32};
-: ${PKG_GCC_STAGE1_CROSS_MINGW32_CFLAGS_CONFIGURE:="-I${PREFIX}/include"};
-: ${PKG_GCC_STAGE1_CROSS_MINGW32_CONFIGURE_ARGS:="--disable-nls --prefix=${PREFIX} --target=x86_64-w64-mingw32"};
-: ${PKG_GCC_STAGE1_CROSS_MINGW32_GITROOT:=${DEFAULT_GITROOT}};
-: ${PKG_GCC_STAGE1_CROSS_MINGW32_PREFIX:=${PREFIX}};
-: ${PKG_GCC_STAGE1_CROSS_MINGW32_TARGET:="x86_64-w64-mingw32"};
-: ${PKG_GCC_STAGE1_CROSS_MINGW32_VARS_FILE:="vars/gcc.vars"};
+
+: ${PKG_GCC_STAGE1_HOST_MINGW32_DEPENDS:="binutils_host_mingw32 gmp_host mpc_host mpfr_host"};
+: ${PKG_GCC_STAGE1_HOST_MINGW32_VERSION:=4.6.4};
+: ${PKG_GCC_STAGE1_HOST_MINGW32_BASE_DIR:=${BUILD_WORKDIR}/gcc-host-x86_64-w64-mingw32};
+: ${PKG_GCC_STAGE1_HOST_MINGW32_CFLAGS_CONFIGURE:="-I${PREFIX}/include"};
+: ${PKG_GCC_STAGE1_HOST_MINGW32_CONFIGURE_ARGS:="--disable-nls --prefix=${PREFIX} --target=x86_64-w64-mingw32"};
+: ${PKG_GCC_STAGE1_HOST_MINGW32_LDFLAGS_CONFIGURE:="-L${PREFIX}/lib -Wl,-rpath,${PREFIX}/lib"};
+: ${PKG_GCC_STAGE1_HOST_MINGW32_GITROOT:=${DEFAULT_GITROOT}};
+: ${PKG_GCC_STAGE1_HOST_MINGW32_PREFIX:=${PREFIX}};
+: ${PKG_GCC_STAGE1_HOST_MINGW32_TARGET:="x86_64-w64-mingw32"};
+: ${PKG_GCC_STAGE1_HOST_MINGW32_VARS_FILE:="vars/gcc.vars"};
+
: ${PKG_GCC_STAGE1_HOST_DEPENDS:="binutils_host gmp_host mpc_host mpfr_host"};
: ${PKG_GCC_STAGE1_HOST_VERSION:=4.6.4};
: ${PKG_GCC_STAGE1_HOST_BASE_DIR:=${BUILD_WORKDIR}/gcc-host-${DEFAULT_TARGET}};
@@ -85,6 +88,7 @@ HOST_TOOLCHAIN_RPM_DISABLE=1;
: ${PKG_GMP_HOST_CONFIGURE_ARGS:="--disable-assembly --disable-nls --prefix="};
: ${PKG_GMP_HOST_PATCHES_EXTRA:="${BUILD_WORKDIR}/chainport/patches/gmp/gmp-${PKG_GMP_HOST_VERSION}.midipix.patch"};
: ${PKG_GMP_HOST_PREFIX:=${PREFIX}};
+: ${PKG_LDSO_HOST_PREFIX="${PREFIX_NATIVE}"};
: ${PKG_LDSO_HOST_DEPENDS:="gcc_stage1_host musl_full_host psxtypes_host"};
: ${PKG_LDSO_HOST_URLS_GIT:=pemagine=${DEFAULT_GITROOT}/pemagine};
: ${PKG_LDSO_HOST_BUILD_TYPE:=cross};
@@ -114,10 +118,11 @@ HOST_TOOLCHAIN_RPM_DISABLE=1;
: ${PKG_MUSL_FULL_HOST_BUILD_DIR:=build/musl};
: ${PKG_MUSL_FULL_HOST_BUILD_TYPE:=cross};
: ${PKG_MUSL_FULL_HOST_CONFIGURE:=build/mmglue/configure};
-: ${PKG_MUSL_FULL_HOST_CONFIGURE_ARGS:="--source-dir=../../musl-${PKG_MUSL_FULL_HOST_VERSION} --prefix= --target=${DEFAULT_TARGET} --sysroot=${PREFIX_CROSS}"};
+: ${PKG_MUSL_FULL_HOST_CONFIGURE_ARGS:="--source-dir=../../musl-${PKG_MUSL_FULL_HOST_VERSION} --prefix= --target=${DEFAULT_TARGET}"};
: ${PKG_MUSL_FULL_HOST_INSTALL_FILES_V2:="-=include/iconv.h"};
: ${PKG_MUSL_FULL_HOST_SUBDIR:=musl-${PKG_MUSL_FULL_HOST_VERSION}};
: ${PKG_MUSL_FULL_HOST_VARS_FILE:="vars/musl.vars"};
+: ${PKG_MUSL_NO_COMPLEX_HOST_PREFIX:="${PREFIX_NATIVE}"};
: ${PKG_MUSL_NO_COMPLEX_HOST_DEPENDS:="gcc_stage1_host"};
: ${PKG_MUSL_NO_COMPLEX_HOST_SHA256SUM:=${PKG_MUSL_FULL_HOST_SHA256SUM}};
: ${PKG_MUSL_NO_COMPLEX_HOST_VERSION:=${PKG_MUSL_FULL_HOST_VERSION}};
@@ -127,7 +132,7 @@ HOST_TOOLCHAIN_RPM_DISABLE=1;
: ${PKG_MUSL_NO_COMPLEX_HOST_BUILD_DIR:=build/musl};
: ${PKG_MUSL_NO_COMPLEX_HOST_BUILD_TYPE:=cross};
: ${PKG_MUSL_NO_COMPLEX_HOST_CONFIGURE:=build/mmglue/configure};
-: ${PKG_MUSL_NO_COMPLEX_HOST_CONFIGURE_ARGS:="--source-dir=../../musl-${PKG_MUSL_NO_COMPLEX_HOST_VERSION} --no-complex --prefix= --target=${DEFAULT_TARGET} --sysroot=${PREFIX_CROSS}"};
+: ${PKG_MUSL_NO_COMPLEX_HOST_CONFIGURE_ARGS:="--source-dir=../../musl-${PKG_MUSL_NO_COMPLEX_HOST_VERSION} --no-complex --prefix= --target=${DEFAULT_TARGET}"};
: ${PKG_MUSL_NO_COMPLEX_HOST_INSTALL_FILES_V2:="-=include/iconv.h"};
: ${PKG_MUSL_NO_COMPLEX_HOST_SUBDIR:=musl-${PKG_MUSL_NO_COMPLEX_HOST_VERSION}};
: ${PKG_MUSL_NO_COMPLEX_HOST_VARS_FILE:="vars/musl.vars"};
@@ -137,11 +142,13 @@ HOST_TOOLCHAIN_RPM_DISABLE=1;
: ${PKG_NASM_HOST_CFLAGS_CONFIGURE_EXTRA:=-DCOFF_MIDIPIX};
: ${PKG_NASM_HOST_INSTALL_FILES_V2:="!bin/%<*>=bin/%[_target]-%[FNAME]"};
: ${PKG_NASM_HOST_PREFIX:=${PREFIX}};
+: ${PKG_PSXSTUB_HOST_PREFIX:="${PREFIX_NATIVE}"};
: ${PKG_PSXSTUB_HOST_DEPENDS:="gcc_stage1_host"};
: ${PKG_PSXSTUB_HOST_URLS_GIT:="psxstub=${DEFAULT_GITROOT}/psxstub"};
: ${PKG_PSXSTUB_HOST_BUILD_STEPS_DISABLE:=build};
: ${PKG_PSXSTUB_HOST_ENV_VARS_EXTRA:=TARGET=${DEFAULT_TARGET}};
: ${PKG_PSXSTUB_HOST_IN_TREE:=1};
+: ${PKG_PSXTYPES_HOST_PREFIX:="${PREFIX_NATIVE}"};
: ${PKG_PSXTYPES_HOST_DEPENDS:="gcc_stage1_host"};
: ${PKG_PSXTYPES_HOST_URLS_GIT:=psxtypes=${DEFAULT_GITROOT}/psxtypes};
: ${PKG_PSXTYPES_HOST_BUILD_STEPS_DISABLE:=build};
diff --git a/groups.d/100.native_tools.group b/groups.d/100.native_tools.group
index e74b110f..f735a959 100644
--- a/groups.d/100.native_tools.group
+++ b/groups.d/100.native_tools.group
@@ -2,7 +2,7 @@
# Build group native_tools
#
NATIVE_TOOLS_CONFIGURE_ARGS="--disable-nls --host=${DEFAULT_TARGET} --program-prefix= --prefix=/ --target=${DEFAULT_TARGET}";
-NATIVE_TOOLS_GROUP_DEPENDS="host_deps host_deps_rpm host_toolchain host_tools";
+NATIVE_TOOLS_GROUP_DEPENDS="host_deps host_deps_rpm cross_toolchain host_toolchain host_tools";
NATIVE_TOOLS_MAKEFLAGS_INSTALL="PREFIX= prefix=";
NATIVE_TOOLS_PACKAGES="
mdso perk pkgconf slibtool tpax";
@@ -22,7 +22,7 @@ NATIVE_TOOLS_PREFIX="${PREFIX_NATIVE}";
: ${PKG_PKGCONF_SHA256SUM:=ef9c7e61822b7cb8356e6e9e1dca58d9556f3200d78acab35e4347e9d4c2bbaf};
: ${PKG_PKGCONF_VERSION:=1.9.0};
: ${PKG_PKGCONF_URL:=https://distfiles.dereferenced.org/pkgconf/pkgconf-${PKG_PKGCONF_HOST_VERSION}.tar.xz};
-: ${PKG_PKGCONF_CONFIGURE_ARGS:="--prefix= --host=${DEFAULT_TARGET} --with-sysroot=${PREFIX_NATIVE}"};
+: ${PKG_PKGCONF_CONFIGURE_ARGS:="--prefix= --host=${DEFAULT_TARGET} --with-sysroot=/"};
: ${PKG_PKGCONF_INSTALL_FILES_V2:="
@pkgconf=bin/pkg-config
/=lib/pkgconfig"};
diff --git a/groups.d/110.native_toolchain.group b/groups.d/110.native_toolchain.group
index 470bc496..fef029a5 100644
--- a/groups.d/110.native_toolchain.group
+++ b/groups.d/110.native_toolchain.group
@@ -2,7 +2,7 @@
# Build group native_toolchain
#
NATIVE_TOOLCHAIN_CONFIGURE_ARGS="--disable-nls --host=${DEFAULT_TARGET} --program-prefix= --prefix=/ --target=${DEFAULT_TARGET}";
-NATIVE_TOOLCHAIN_GROUP_DEPENDS="host_deps host_deps_rpm host_toolchain host_tools native_tools";
+NATIVE_TOOLCHAIN_GROUP_DEPENDS="host_deps host_deps_rpm cross_toolchain host_toolchain host_tools native_tools";
NATIVE_TOOLCHAIN_PACKAGES="
binutils binutils_mingw32 gcc_full gcc_stage1_native_mingw32 gmp mpc mpfr musl_full ";
NATIVE_TOOLCHAIN_PREFIX="${PREFIX_NATIVE}";
@@ -67,7 +67,7 @@ NATIVE_TOOLCHAIN_PREFIX="${PREFIX_NATIVE}";
: ${PKG_MUSL_FULL_BASE_DIR:=${BUILD_WORKDIR}/musl_full-native-${DEFAULT_TARGET}};
: ${PKG_MUSL_FULL_BUILD_DIR:=build/musl};
: ${PKG_MUSL_FULL_CONFIGURE:=build/mmglue/configure};
-: ${PKG_MUSL_FULL_CONFIGURE_ARGS:="--source-dir=../../musl-${PKG_MUSL_FULL_VERSION} --prefix= --target=${DEFAULT_TARGET} --sysroot=${PREFIX_CROSS}"};
+: ${PKG_MUSL_FULL_CONFIGURE_ARGS:="--source-dir=../../musl-${PKG_MUSL_FULL_VERSION} --prefix= --target=${DEFAULT_TARGET}"};
: ${PKG_MUSL_FULL_INSTALL_FILES_V2:="-=include/iconv.h"};
: ${PKG_MUSL_FULL_SUBDIR:=musl-${PKG_MUSL_FULL_VERSION}};
: ${PKG_MUSL_FULL_VARS_FILE:="vars/musl.vars"};
diff --git a/groups.d/120.native_runtime.group b/groups.d/120.native_runtime.group
index 2fe70f2a..71eceaed 100644
--- a/groups.d/120.native_runtime.group
+++ b/groups.d/120.native_runtime.group
@@ -6,7 +6,7 @@ NATIVE_RUNTIME_CFLAGS_CONFIGURE="${DEFAULT_CFLAGS_RUNTIME}";
NATIVE_RUNTIME_CXXFLAGS_CONFIGURE="${DEFAULT_CXXFLAGS_RUNTIME}";
NATIVE_RUNTIME_CONFIGURE_ARGS="--prefix= --strict --host=${DEFAULT_TARGET}";
NATIVE_RUNTIME_ENV_VARS_EXTRA="CFLAGS_PATH=-I${PREFIX_NATIVE}/include:LDFLAGS_PATH=-L${PREFIX_NATIVE}/lib";
-NATIVE_RUNTIME_GROUP_DEPENDS="host_deps host_deps_rpm host_toolchain host_tools native_toolchain native_tools";
+NATIVE_RUNTIME_GROUP_DEPENDS="host_deps host_deps_rpm cross_toolchain host_toolchain host_tools native_toolchain native_tools";
NATIVE_RUNTIME_PACKAGES="
dalist ldso ntapi ntcon ntctty ntux pemagine psxscl psxscl_strace psxtypes ptycon toksvc sltdl u16ports";
NATIVE_RUNTIME_PREFIX="${PREFIX_NATIVE}";
diff --git a/groups.d/200.native_packages.group b/groups.d/200.native_packages.group
index 97979b43..845117c2 100644
--- a/groups.d/200.native_packages.group
+++ b/groups.d/200.native_packages.group
@@ -6,7 +6,7 @@ rtl_lconcat2 \$NATIVE_PACKAGES_CPPFLAGS_CONFIGURE \$DEFAULT_CPPFLAGS "--sysroot=
rtl_lconcat2 \$NATIVE_PACKAGES_CXXFLAGS_CONFIGURE \$DEFAULT_CFLAGS "--sysroot=${PREFIX_NATIVE}";
NATIVE_PACKAGES_CONFIG_CACHE_LOCAL="${CONFIG_CACHE_GNULIB}";
NATIVE_PACKAGES_CONFIGURE_ARGS="-C --disable-nls --host=${DEFAULT_TARGET} --prefix= --program-prefix= --target=${DEFAULT_TARGET}";
-NATIVE_PACKAGES_GROUP_DEPENDS="host_deps host_deps_rpm host_toolchain host_tools native_toolchain native_tools";
+NATIVE_PACKAGES_GROUP_DEPENDS="host_deps host_deps_rpm cross_toolchain host_toolchain host_tools native_toolchain native_tools";
NATIVE_PACKAGES_LDFLAGS_CONFIGURE="--sysroot=${PREFIX_NATIVE}";
NATIVE_PACKAGES_MAKEFLAGS_INSTALL="PREFIX= prefix=";
NATIVE_PACKAGES_PACKAGES="";
diff --git a/groups.d/800.minipix.group b/groups.d/800.minipix.group
index db5db6f7..3b4f0ae8 100644
--- a/groups.d/800.minipix.group
+++ b/groups.d/800.minipix.group
@@ -6,7 +6,7 @@ rtl_lconcat2 \$MINIPIX_CPPFLAGS_CONFIGURE \$DEFAULT_CPPFLAGS "--sysroot=${PREFIX
rtl_lconcat2 \$MINIPIX_CXXFLAGS_CONFIGURE \$DEFAULT_CXXFLAGS "--sysroot=${PREFIX_NATIVE}";
MINIPIX_CONFIG_CACHE_LOCAL="${CONFIG_CACHE_GNULIB}";
MINIPIX_CONFIGURE_ARGS="-C --disable-nls --host=${DEFAULT_TARGET} --prefix= --program-prefix= --target=${DEFAULT_TARGET}";
-MINIPIX_GROUP_DEPENDS="host_deps host_deps_rpm host_toolchain host_tools native_packages native_toolchain native_tools";
+MINIPIX_GROUP_DEPENDS="host_deps host_deps_rpm cross_toolchain host_toolchain host_tools native_packages native_toolchain native_tools";
MINIPIX_LDFLAGS_BUILD="--sysroot=${PREFIX_NATIVE} -mvrfs";
MINIPIX_LDFLAGS_CONFIGURE="--sysroot=${PREFIX_NATIVE} -mvrfs";
MINIPIX_MAKEFLAGS_INSTALL="PREFIX= prefix=";
diff --git a/groups.d/dev_packages.group b/groups.d/dev_packages.group
index a141a7ad..e4cbd8f4 100644
--- a/groups.d/dev_packages.group
+++ b/groups.d/dev_packages.group
@@ -6,7 +6,7 @@ rtl_lconcat2 \$DEV_PACKAGES_CFLAGS_CONFIGURE \$DEFAULT_CFLAGS "--sysroot=${PREFI
rtl_lconcat2 \$DEV_PACKAGES_CXXFLAGS_CONFIGURE \$DEFAULT_CXXFLAGS "--sysroot=${PREFIX_NATIVE}";
DEV_PACKAGES_CONFIG_CACHE_LOCAL="${CONFIG_CACHE_GNULIB}";
DEV_PACKAGES_CONFIGURE_ARGS="-C --disable-nls --host=${DEFAULT_TARGET} --prefix= --program-prefix= --target=${DEFAULT_TARGET}";
-DEV_PACKAGES_GROUP_DEPENDS="host_deps host_deps_rpm host_toolchain host_tools native_toolchain native_tools";
+DEV_PACKAGES_GROUP_DEPENDS="host_deps host_deps_rpm cross_toolchain host_toolchain host_tools native_toolchain native_tools";
DEV_PACKAGES_LDFLAGS_CONFIGURE="--sysroot=${PREFIX_NATIVE}";
DEV_PACKAGES_MAKEFLAGS_INSTALL="PREFIX= prefix=";
DEV_PACKAGES_PACKAGES="
diff --git a/patches/musl_full_cross-1.2.2.local.patch b/patches/musl_full_cross-1.2.2.local.patch
new file mode 120000
index 00000000..76f1e126
--- /dev/null
+++ b/patches/musl_full_cross-1.2.2.local.patch
@@ -0,0 +1 @@
+musl_no_complex_host-1.2.2.local.patch \ No newline at end of file
diff --git a/patches/musl_no_complex_cross-1.2.2.local.patch b/patches/musl_no_complex_cross-1.2.2.local.patch
new file mode 120000
index 00000000..76f1e126
--- /dev/null
+++ b/patches/musl_no_complex_cross-1.2.2.local.patch
@@ -0,0 +1 @@
+musl_no_complex_host-1.2.2.local.patch \ No newline at end of file
diff --git a/subr.ex/ex_init.subr b/subr.ex/ex_init.subr
index a3fa5c72..e9b4d3f4 100644
--- a/subr.ex/ex_init.subr
+++ b/subr.ex/ex_init.subr
@@ -311,6 +311,7 @@ ex_init_files() {
trap - HUP INT TERM USR1 USR2;
fi;
+ export PATH="${_eif_prefix}/localcross/bin${PATH:+:${PATH}}";
export PATH="${_eif_prefix}/bin${PATH:+:${PATH}}";
fi;
diff --git a/vars.env.d/050.pathsvars.env b/vars.env.d/050.pathsvars.env
index d4f7ca6b..8f1bf2bb 100644
--- a/vars.env.d/050.pathsvars.env
+++ b/vars.env.d/050.pathsvars.env
@@ -14,7 +14,10 @@
# Path names
: ${PREFIX_ROOT:="${HOME}/midipix"};
: ${PREFIX:="${PREFIX_ROOT}/${ARCH}/${BUILD_KIND}"};
+: ${PREFIX_LOCAL:="${PREFIX}/localcross"};
+: ${PREFIX_LOCAL_CROSS:="${PREFIX}/localcross/${DEFAULT_TARGET}"};
: ${PREFIX_CROSS:="${PREFIX}/${DEFAULT_TARGET}"};
+: ${PREFIX_LOCAL_CROSS_MINGW32:="${PREFIX}/localcross/x86_64-w64-mingw32"};
: ${PREFIX_MINGW32:="${PREFIX}/x86_64-w64-mingw32"};
: ${PREFIX_MINIPIX:="${PREFIX}/minipix"};
: ${PREFIX_NATIVE:="${PREFIX}/native"};
@@ -43,20 +46,24 @@
#
# Variable names
-: ${DEFAULT_CHECK_PATH_VARS:="PREFIX PREFIX_NATIVE PREFIX_CROSS BUILD_DLCACHEDIR BUILD_WORKDIR"};
+: ${DEFAULT_CHECK_PATH_VARS:="PREFIX PREFIX_NATIVE PREFIX_LOCAL PREFIX_LOCAL_CROSS PREFIX_CROSS \
+ BUILD_DLCACHEDIR BUILD_WORKDIR"};
: ${DEFAULT_CLEAR_ENV_VARS_EXCEPT:=" \
HOME LC_ALL PATH TERM USER \
ARCH BUILD_KIND \
BUILD_DLCACHEDIR BUILD_HNAME BUILD_WORKDIR \
- PREFIX PREFIX_CROSS PREFIX_MINGW32 PREFIX_MINIPIX PREFIX_NATIVE PREFIX_ROOT PREFIX_RPM"};
+ PREFIX PREFIX_LOCAL PREFIX_LOCAL_CROSS PREFIX_CROSS \
+ PREFIX_LOCAL PREFIX_LOCAL_CROSS_MINGW32 PREFIX_MINGW32 \
+ PREFIX_MINIPIX PREFIX_NATIVE PREFIX_ROOT PREFIX_RPM"};
: ${DEFAULT_CLEAR_PREFIX_PATHS:="
bin i686-nt32-midipix doc include info lib lib64 libexec man minipix minipix_dist native
rpm sbin share tmp usr x86_64-nt64-midipix x86_64-w64-mingw32 pkglist.cross pkglist.host
pkglist.native SHA256SUMS SHA256SUMS.last"};
: ${DEFAULT_LOG_ENV_VARS:=" \
ARCH BUILD_KIND BUILD_DLCACHEDIR BUILD_WORKDIR DEFAULT_GITROOT \
- HOME PATH PREFIX PREFIX_CROSS PREFIX_MINGW32 PREFIX_MINIPIX \
- PREFIX_NATIVE PREFIX_RPM USER"};
+ HOME PATH PREFIX PREFIX_LOCAL PREFIX_LOCAL_CROSS PREFIX_CROSS \
+ PREFIX_LOCAL PREFIX_LOCAL_CROSS_MINGW32 PREFIX_MINGW32 \
+ PREFIX_MINIPIX PREFIX_NATIVE PREFIX_RPM USER"};
#
# URLs
diff --git a/vars/binutils.vars b/vars/binutils.vars
index a6907df4..0f99bb23 100644
--- a/vars/binutils.vars
+++ b/vars/binutils.vars
@@ -14,7 +14,7 @@ pkg_binutils_host_configure_patch_post() {
pkg_binutils_configure_patch_post "${@}";
};
-pkg_binutils_host_mingw32_configure_patch_post() {
+pkg_binutils_cross_configure_patch_post() {
pkg_binutils_configure_patch_post "${@}";
};
@@ -22,4 +22,12 @@ pkg_binutils_mingw32_configure_patch_post() {
pkg_binutils_configure_patch_post "${@}";
};
+pkg_binutils_host_mingw32_configure_patch_post() {
+ pkg_binutils_configure_patch_post "${@}";
+};
+
+pkg_binutils_cross_mingw32_configure_patch_post() {
+ pkg_binutils_configure_patch_post "${@}";
+};
+
# vim:filetype=sh textwidth=0
diff --git a/vars/gcc.vars b/vars/gcc.vars
index d07e72ad..49dbaf07 100644
--- a/vars/gcc.vars
+++ b/vars/gcc.vars
@@ -1,6 +1,8 @@
#
# set +o errexit -o noglob -o nounset is assumed.
-# Order: stage1_host, runtime_host, libstdcpp_v3_host, full_host, full
+# Order: stage1_cross, runtime_cross, libstdcpp_v3_cross, full_cross
+# Order: stage1_host, runtime_host, libstdcpp_v3_host, full_host
+# Order: stage1, runtime, libstdcpp_v3, full
# Order: stage1_mingw32, native_mingw32
#
@@ -75,51 +77,99 @@ pkgp_gcc_setup_vars() {
case "${PKG_NAME}" in
gcc_full)
- GCCTARGET_FLAGS="-DIN_TARGET_LIBRARY_BUILD --sysroot=${PKG_PREFIX}";
+ GCCTARGET_FLAGS="-DIN_TARGET_LIBRARY_BUILD";
rtl_lconcat \$GCCTARGET_FLAGS "--include=${_unwind_midipix_h}";
rtl_lconcat \$GCCTARGET_FLAGS "-DTARGET_PERSONALITY_FUNCTION";
rtl_lconcat \$GCCTARGET_FLAGS "-DTARGET_PERSONALITY_FUNCTION_MIDIPIX";
rtl_lconcat \$GCCTARGET_FLAGS "${DEFAULT_CFLAGS_DEBUG_RUNTIME}";
- export cbb_ldflags_for_target=--sysroot="${PKG_PREFIX}" \
- cbb_sysroot_for_libgcc="${PKG_PREFIX}" \
- cbb_xgcc_for_specs="${PKG_TARGET}-gcc" \
- sysroot_headers_suffix="${PKG_PREFIX}";
+ export cbb_ldflags_for_target="--sysroot=${PREFIX_NATIVE}" \
+ cbb_neutral_libiberty="no" \
+ cbb_sysroot_for_libgcc="${PREFIX_NATIVE}" \
+ cbb_xgcc_for_specs=${PREFIX}/bin/${PKG_TARGET}-gcc;
;;
- gcc_stage1_cross_mingw32)
- GCCTARGET_FLAGS="-DIN_TARGET_LIBRARY_BUILD --sysroot=${PREFIX_MINGW32} -midata";
- export cbb_ldflags_for_target=--sysroot="${PREFIX_MINGW32}" \
- cbb_neutral_libiberty=no \
- cbb_sysroot_for_libgcc="${PREFIX_MINGW32}" \
+ gcc_full_host)
+ GCCTARGET_FLAGS="-DIN_TARGET_LIBRARY_BUILD";
+ rtl_lconcat \$GCCTARGET_FLAGS "--include=${_unwind_midipix_h}";
+ rtl_lconcat \$GCCTARGET_FLAGS "-DTARGET_PERSONALITY_FUNCTION";
+ rtl_lconcat \$GCCTARGET_FLAGS "-DTARGET_PERSONALITY_FUNCTION_MIDIPIX";
+ rtl_lconcat \$GCCTARGET_FLAGS "${DEFAULT_CFLAGS_DEBUG_RUNTIME}";
+ export cbb_ldflags_for_target= \
+ cbb_neutral_libiberty="no" \
+ cbb_sysroot_for_libgcc="${PREFIX_NATIVE}" \
cbb_xgcc_for_specs="${PKG_BASE_DIR}/${PKG_BUILD_DIR}/gcc/xgcc";
;;
gcc_stage1_host)
- GCCTARGET_FLAGS="-DIN_TARGET_LIBRARY_BUILD --sysroot=${PREFIX_CROSS}";
+ GCCTARGET_FLAGS="-DIN_TARGET_LIBRARY_BUILD";
+ rtl_lconcat \$GCCTARGET_FLAGS "--include=${_unwind_midipix_h}";
+ rtl_lconcat \$GCCTARGET_FLAGS "-DTARGET_PERSONALITY_FUNCTION";
+ rtl_lconcat \$GCCTARGET_FLAGS "-DTARGET_PERSONALITY_FUNCTION_MIDIPIX";
+ rtl_lconcat \$GCCTARGET_FLAGS "${DEFAULT_CFLAGS_DEBUG_RUNTIME}";
+ export cbb_ldflags_for_target= \
+ cbb_neutral_libiberty="no" \
+ cbb_sysroot_for_libgcc="${PREFIX_NATIVE}" \
+ cbb_xgcc_for_specs="${PKG_BASE_DIR}/${PKG_BUILD_DIR}/gcc/xgcc" \
+ LDFLAGS="${PKG_LDFLAGS_CONFIGURE}";
+ ;;
+
+ gcc_full_cross)
+ GCCTARGET_FLAGS="-DIN_TARGET_LIBRARY_BUILD";
rtl_lconcat \$GCCTARGET_FLAGS "--include=${_unwind_midipix_h}";
rtl_lconcat \$GCCTARGET_FLAGS "-DTARGET_PERSONALITY_FUNCTION";
rtl_lconcat \$GCCTARGET_FLAGS "-DTARGET_PERSONALITY_FUNCTION_MIDIPIX";
rtl_lconcat \$GCCTARGET_FLAGS "${DEFAULT_CFLAGS_DEBUG_RUNTIME}";
- export cbb_ldflags_for_target="--sysroot=${PREFIX_CROSS}" \
+ export cbb_ldflags_for_target= \
+ cbb_neutral_libiberty="no" \
+ cbb_sysroot_for_libgcc="${PREFIX_CROSS}" \
+ cbb_xgcc_for_specs="${PKG_BASE_DIR}/${PKG_BUILD_DIR}/gcc/xgcc";
+ ;;
+
+ gcc_stage1_cross)
+ GCCTARGET_FLAGS="-DIN_TARGET_LIBRARY_BUILD";
+ rtl_lconcat \$GCCTARGET_FLAGS "--include=${_unwind_midipix_h}";
+ rtl_lconcat \$GCCTARGET_FLAGS "-DTARGET_PERSONALITY_FUNCTION";
+ rtl_lconcat \$GCCTARGET_FLAGS "-DTARGET_PERSONALITY_FUNCTION_MIDIPIX";
+ rtl_lconcat \$GCCTARGET_FLAGS "${DEFAULT_CFLAGS_DEBUG_RUNTIME}";
+ export cbb_ldflags_for_target= \
cbb_neutral_libiberty="no" \
cbb_sysroot_for_libgcc="${PREFIX_CROSS}" \
cbb_xgcc_for_specs="${PKG_BASE_DIR}/${PKG_BUILD_DIR}/gcc/xgcc" \
LDFLAGS="${PKG_LDFLAGS_CONFIGURE}";
;;
+ # FIXME: shouldn't we have PREFIX_NATIVE_MINGW32
gcc_stage1_native_mingw32)
- GCCTARGET_FLAGS="-DIN_TARGET_LIBRARY_BUILD --sysroot=${PKG_PREFIX} -midata";
- export cbb_ldflags_for_target=--sysroot="${PKG_PREFIX}" \
+ GCCTARGET_FLAGS="-DIN_TARGET_LIBRARY_BUILD -midata";
+ export cbb_ldflags_for_target= \
cbb_neutral_libiberty=no \
- cbb_sysroot_for_libgcc="${PKG_PREFIX}" \
+ cbb_sysroot_for_libgcc="${PREFIX_MINGW32}" \
cbb_xgcc_for_specs="${PKG_TARGET}-gcc";
;;
+ gcc_stage1_host_mingw32)
+ GCCTARGET_FLAGS="-DIN_TARGET_LIBRARY_BUILD -midata";
+ export cbb_ldflags_for_target= \
+ cbb_neutral_libiberty="no" \
+ cbb_sysroot_for_libgcc="${PREFIX_MINGW32}" \
+ cbb_xgcc_for_specs="${PKG_BASE_DIR}/${PKG_BUILD_DIR}/gcc/xgcc" \
+ LDFLAGS="${PKG_LDFLAGS_CONFIGURE}";
+ ;;
+
+ gcc_stage1_cross_mingw32)
+ GCCTARGET_FLAGS="-DIN_TARGET_LIBRARY_BUILD -midata";
+ export cbb_ldflags_for_target= \
+ cbb_neutral_libiberty="no" \
+ cbb_sysroot_for_libgcc="${PREFIX_LOCAL_CROSS_MINGW32}" \
+ cbb_xgcc_for_specs="${PKG_BASE_DIR}/${PKG_BUILD_DIR}/gcc/xgcc" \
+ LDFLAGS="${PKG_LDFLAGS_CONFIGURE}";
+ ;;
+
esac;
rtl_lconcat2 \
\$GCCFLAGS \
- \$PKG_CFLAGS_CONFIGURE \
+ \$PKG_CFLAGS_CONFIGURE \
"--include $(readlink -f "${PKG_BASE_DIR}/cbb-gcc-${PKG_VERSION}/libc/cbb-musl-pe.h")";
};
@@ -130,13 +180,29 @@ pkgp_gcc_stage1_all() {
case "${PKG_NAME}" in
gcc_stage1_cross_mingw32)
- pkgp_gcc_build_dir "cbb-gcc-${PKG_VERSION}" mingw32;
+ pkgp_gcc_build_dir "cbb-gcc-${PKG_VERSION}" cross;
+ ;;
+
+ gcc_stage1_host_mingw32)
+ pkgp_gcc_build_dir "cbb-gcc-${PKG_VERSION}" host;
+ ;;
+
+ gcc_stage1_cross)
+ if ! rtl_fileop ln_symbolic . "${PREFIX_LOCAL_CROSS}/usr"\
+ || ! rtl_fileop mkdir "${PREFIX_LOCAL_CROSS}/usr/include"\
+ || ! rtl_fileop ln_symbolic . "${PREFIX_CROSS}/usr"\
+ || ! rtl_fileop mkdir "${PREFIX_CROSS}/usr/include"\
+ || ! pkgp_gcc_build_dir "cbb-gcc-${PKG_VERSION}" cross; then
+ _rc=1;
+ fi;
;;
gcc_stage1_host)
if ! rtl_fileop ln_symbolic . "${PREFIX_CROSS}/usr"\
|| ! rtl_fileop mkdir "${PREFIX_CROSS}/usr/include"\
- || ! pkgp_gcc_build_dir "cbb-gcc-${PKG_VERSION}" cross; then
+ || ! rtl_fileop ln_symbolic . "${PREFIX_NATIVE}/usr"\
+ || ! rtl_fileop mkdir "${PREFIX_NATIVE}/usr/include"\
+ || ! pkgp_gcc_build_dir "cbb-gcc-${PKG_VERSION}" host; then
_rc=1;
fi;
;;
@@ -180,7 +246,7 @@ pkgp_gcc_stage1_all() {
if ! ex_pkg_state_test "${PKG_NAME}" configure "${_restart_at}"; then
case "${PKG_NAME}" in
- gcc_stage1_cross_mingw32)
+ gcc_stage1_host_mingw32)
pkgp_gcc_configure \
--enable-sjlj-exceptions \
--prefix="${PREFIX}" \
@@ -191,6 +257,17 @@ pkgp_gcc_stage1_all() {
--without-headers;
;;
+ gcc_stage1_cross_mingw32)
+ pkgp_gcc_configure \
+ --enable-sjlj-exceptions \
+ --prefix="${PREFIX}" \
+ --with-gmp="${PREFIX}" \
+ --with-mpc="${PREFIX}" \
+ --with-mpfr="${PREFIX}" \
+ --with-sysroot="${PREFIX_LOCAL_CROSS_MINGW32}" \
+ --without-headers;
+ ;;
+
gcc_stage1_host)
pkgp_gcc_configure \
--disable-sjlj-exceptions \
@@ -198,6 +275,16 @@ pkgp_gcc_stage1_all() {
--with-gmp="${PREFIX}" \
--with-mpc="${PREFIX}" \
--with-mpfr="${PREFIX}" \
+ --with-sysroot="${PREFIX_NATIVE}";
+ ;;
+
+ gcc_stage1_cross)
+ pkgp_gcc_configure \
+ --disable-sjlj-exceptions \
+ --prefix="${PREFIX}" \
+ --with-gmp="${PREFIX}" \
+ --with-mpc="${PREFIX}" \
+ --with-mpfr="${PREFIX}" \
--with-sysroot="${PREFIX_CROSS}";
;;
@@ -243,6 +330,9 @@ pkgp_gcc_stage1_all() {
gcc_stage1_host)
make ${PKG_MAKEFLAGS_BUILD:-} "prefix=${PKG_DESTDIR}" "install-gcc"; ;;
+ gcc_stage1_cross)
+ make ${PKG_MAKEFLAGS_BUILD:-} "prefix=${PKG_DESTDIR}" "install-gcc"; ;;
+
gcc_stage1_native_mingw32)
make ${PKG_MAKEFLAGS_BUILD:-} "prefix=${PKG_DESTDIR}" "install-gcc"; ;;
@@ -363,10 +453,11 @@ pkg_gcc_full_all() {
};
pkg_gcc_full_host_all() {
- local _group_name="${1}" _pkg_name="${2}" _restart_at="${3}";
+ local _group_name="${1}" _pkg_name="${2}" _restart_at="${3}" \
+ _toolchain_type="${4:-host}"
export MAKE="make LIBTOOL=slibtool";
- if ! pkgp_gcc_build_dir "cbb-gcc-${PKG_VERSION}" cross\
+ if ! pkgp_gcc_build_dir "cbb-gcc-${PKG_VERSION}" ${_toolchain_type} \
|| ! rtl_fileop cd "${PKG_BASE_DIR}/${PKG_BUILD_DIR}"; then
return 1;
else
@@ -396,11 +487,16 @@ pkg_gcc_full_host_all() {
return 0;
};
+pkg_gcc_full_cross_all() {
+ pkg_gcc_full_host_all "${@}" cross
+};
+
pkg_gcc_libstdcpp_v3_host_all() {
- local _group_name="${1}" _pkg_name="${2}" _restart_at="${3}";
+ local _group_name="${1}" _pkg_name="${2}" _restart_at="${3}" \
+ _toolchain_type="${4:-host}"
export MAKE="make LIBTOOL=slibtool";
- if ! pkgp_gcc_build_dir "cbb-gcc-${PKG_VERSION}" cross\
+ if ! pkgp_gcc_build_dir "cbb-gcc-${PKG_VERSION}" ${_toolchain_type} \
|| ! rtl_fileop cd "${PKG_BASE_DIR}/${PKG_BUILD_DIR}"; then
return 1;
else
@@ -430,12 +526,17 @@ pkg_gcc_libstdcpp_v3_host_all() {
return 0;
};
+pkg_gcc_libstdcpp_v3_cross_all() {
+ pkg_gcc_libstdcpp_v3_host_all "${@}" cross
+};
+
pkg_gcc_runtime_host_all() {
local _group_name="${1}" _pkg_name="${2}" _restart_at="${3}" \
+ _toolchain_type="${4:-host}" \
_vis_hide="vis_hide=-fvisibility=hidden";
export MAKE="make LIBTOOL=slibtool ${_vis_hide}";
- if ! pkgp_gcc_build_dir "cbb-gcc-${PKG_VERSION}" cross\
+ if ! pkgp_gcc_build_dir "cbb-gcc-${PKG_VERSION}" ${_toolchain_type} \
|| ! rtl_fileop cd "${PKG_BASE_DIR}/${PKG_BUILD_DIR}"; then
return 1;
else
@@ -465,11 +566,15 @@ pkg_gcc_runtime_host_all() {
return 0;
};
+pkg_gcc_runtime_cross_all() {
+ pkg_gcc_runtime_host_all "${@}" cross
+};
+
pkg_gcc_stage1_all() {
pkgp_gcc_stage1_all "${@}";
};
-pkg_gcc_stage1_cross_mingw32_all() {
+pkg_gcc_stage1_host_mingw32_all() {
if ! rtl_fileop ln_symbolic . "${PKG_PREFIX}/x86_64-w64-mingw32/mingw"\
|| ! rtl_fileop mkdir "${PKG_DESTDIR}/x86_64-w64-mingw32"\
|| ! rtl_fileop ln_symbolic . "${PKG_DESTDIR}/x86_64-w64-mingw32/mingw"\
@@ -480,10 +585,18 @@ pkg_gcc_stage1_cross_mingw32_all() {
return 0;
};
+pkg_gcc_stage1_cross_mingw32_all() {
+ pkg_gcc_stage1_host_mingw32_all "${@}"
+};
+
pkg_gcc_stage1_host_all() {
pkgp_gcc_stage1_all "${@}";
};
+pkg_gcc_stage1_cross_all() {
+ pkgp_gcc_stage1_all "${@}";
+};
+
pkg_gcc_stage1_native_mingw32_all() {
if ! rtl_fileop ln_symbolic . "${PKG_PREFIX}/x86_64-w64-mingw32/mingw"\
|| ! rtl_fileop mkdir "${PKG_DESTDIR}/x86_64-w64-mingw32"\
diff --git a/vars/musl.vars b/vars/musl.vars
index 313704d9..d6c069f9 100644
--- a/vars/musl.vars
+++ b/vars/musl.vars
@@ -7,11 +7,19 @@ pkg_musl_full_fetch_download_post() {
};
pkg_musl_full_host_fetch_download_post() {
- rtl_fileop mv "${PKG_BASE_DIR}/mmglue" "${PKG_BASE_DIR}/build/mmglue";
+ pkg_musl_full_fetch_download_post "${@}"
+};
+
+pkg_musl_full_cross_fetch_download_post() {
+ pkg_musl_full_fetch_download_post "${@}"
};
pkg_musl_no_complex_host_fetch_download_post() {
- rtl_fileop mv "${PKG_BASE_DIR}/mmglue" "${PKG_BASE_DIR}/build/mmglue";
+ pkg_musl_full_fetch_download_post "${@}"
+};
+
+pkg_musl_no_complex_cross_fetch_download_post() {
+ pkg_musl_full_fetch_download_post "${@}"
};
# vim:filetype=sh textwidth=0
diff --git a/vars/nasm_cross.vars b/vars/nasm_cross.vars
new file mode 100644
index 00000000..398d314e
--- /dev/null
+++ b/vars/nasm_cross.vars
@@ -0,0 +1,9 @@
+#
+# set +o errexit -o noglob -o nounset is assumed.
+#
+
+pkg_nasm_cross_build_pre() {
+ mkdir include
+};
+
+# vim:filetype=sh textwidth=0