diff --git a/etc/README.md b/etc/README.md index e6a92e2..2dd530d 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. - [ ..] One of: dev_packages, dist, host_deps, host_deps_rpm, - host_toolchain, host_tools, minipix, native_packages, - native_runtime, native_toolchain, native_tools. + [ ..] 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 0000000..03956a3 --- /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 acc8c9a..835f55c 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 e74b110..f735a95 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 470bc49..fef029a 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 2fe70f2..71eceae 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 97979b4..845117c 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 db5db6f..3b4f0ae 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 a141a7a..e4cbd8f 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 0000000..76f1e12 --- /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 0000000..76f1e12 --- /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 a3fa5c7..e9b4d3f 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 d4f7ca6..8f1bf2b 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 a6907df..0f99bb2 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 d07e72a..49dbaf0 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 313704d..d6c069f 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 0000000..398d314 --- /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