From 99690f1bad0f1a8621f5bbc706a8ef0ba033ee68 Mon Sep 17 00:00:00 2001 From: Lucio Andrés Illanes Albornoz (arab, vxp) Date: Jan 30 2017 03:00:23 +0000 Subject: build/gcc.full.build: fix gcc.{host,stage1}.mingw_w64 build. patches/gcc.stage1.mingw_w64.local.patch: force libiberty/pex-unix.c when targeting mingw_w64. subr/build.subr: create ${PREFIX}/man -> share/man symlink as w/ ${PREFIX_NATIVE}. subr/rtl.subr: obtain target from ${PKG_TARGET} in set_build_dir(). vars/build.vars: adds ${PKG_TARGET} var; reenables gcc.stage1.mingw_w64. --- diff --git a/build/gcc.full.build b/build/gcc.full.build index 75670fa..ee59716 100644 --- a/build/gcc.full.build +++ b/build/gcc.full.build @@ -4,6 +4,7 @@ if [ "${3}" = mingw_w64 ]; then TARGET=x86_64-w64-mingw32; + PKG_TARGET=x86_64-w64-mingw32; if [ ! -L ${PREFIX}/${TARGET}/mingw ]; then secure_rm ${PREFIX}/${TARGET}/mingw; ln -sf . ${PREFIX}/${TARGET}/mingw; @@ -128,6 +129,10 @@ else _configure_args="${_configure_args} \ --disable-sjlj-exceptions"; fi; + if [ "${3}" = mingw_w64 ]\ + && [ -r ${MIDIPIX_BUILD_PWD}/patches/${PKG_NAME}.${2}.${3}.local.patch ]; then + patch -b -d ${PKG_SUBDIR} -p1 < ${MIDIPIX_BUILD_PWD}/patches/${PKG_NAME}.${2}.${3}.local.patch; + fi; secure_rm ${PKG_BUILD_DIR}; insecure_mkdir ${PKG_BUILD_DIR}; secure_cd ${PKG_BUILD_DIR}; diff --git a/patches/gcc.stage1.mingw_w64.local.patch b/patches/gcc.stage1.mingw_w64.local.patch new file mode 100644 index 0000000..ac886cf --- /dev/null +++ b/patches/gcc.stage1.mingw_w64.local.patch @@ -0,0 +1,11 @@ +--- cbb-gcc-4.6.4/libiberty/configure.ac.orig 2016-12-19 18:27:51.909364800 +0100 ++++ cbb-gcc-4.6.4/libiberty/configure.ac 2017-01-30 03:55:45.271150700 +0100 +@@ -683,7 +683,7 @@ + + # Figure out which version of pexecute to use. + case "${host}" in +- *-*-mingw* | *-*-winnt*) pexecute=pex-win32 ;; ++ *-*-winnt*) pexecute=pex-win32 ;; + *-*-msdosdjgpp*) pexecute=pex-djgpp ;; + *-*-msdos*) pexecute=pex-msdos ;; + *) pexecute=pex-unix ;; diff --git a/subr/build.subr b/subr/build.subr index 7851afe..1f67257 100644 --- a/subr/build.subr +++ b/subr/build.subr @@ -76,6 +76,10 @@ create_dirs() { secure_rm "${__}"; ln -sf -- . "${__}"; fi; done; + if [ ! -L ${PREFIX}/man ]; then + secure_rm ${PREFIX}/man; + ln -sf share/man ${PREFIX}/man; + fi; if [ ! -L ${PREFIX_NATIVE}/man ]; then secure_rm ${PREFIX_NATIVE}/man; ln -sf share/man ${PREFIX_NATIVE}/man; diff --git a/subr/rtl.subr b/subr/rtl.subr index d9ea082..6f15a43 100644 --- a/subr/rtl.subr +++ b/subr/rtl.subr @@ -8,7 +8,7 @@ get_var_unsafe() { eval echo \${${1}}; }; set_var_unsafe() { eval ${1}=\"${2}\"; }; push_IFS() { _pI_IFS="${IFS}"; IFS="${1}"; }; pop_IFS() { IFS="${_pI_IFS}"; unset _pI_IFS; }; -set_build_dir() { PKG_BUILD_DIR=${1}-${2}-${TARGET}; }; +set_build_dir() { PKG_BUILD_DIR=${1}-${2}-${PKG_TARGET}; }; split() { push_IFS "${1}"; set -- ${2}; pop_IFS; echo "${*}"; }; test_cmd() { command -v "${1}" >/dev/null; }; unsplit() { push_IFS "${1}"; shift; set -- "${@}"; echo "${*}"; pop_IFS; }; diff --git a/vars/build.vars b/vars/build.vars index d99fc7b..13606a8 100644 --- a/vars/build.vars +++ b/vars/build.vars @@ -57,7 +57,7 @@ fi; : ${LOG_MSG_INFO_COLOUR:=93}; : ${LOG_MSG_SUCC_COLOUR:=92}; : ${LOG_MSG_WARN_COLOUR:=96}; -: ${PKG_BUILD_VARS:="BUILD_CMDLINE BUILD_DIR BUILD_TYPE CFLAGS_BUILD_EXTRA CFLAGS_CONFIGURE CFLAGS_CONFIGURE_EXTRA CFLAGS_INSTALL_EXTRA CONFIG_CACHE_EXTRA CONFIGURE CONFIGURE_ARGS CONFIGURE_ARGS_EXTRA DISABLED ENV_VARS_EXTRA FNAME GIT_BRANCH INSTALL_FILES INSTALL_TARGET INSTALL_TARGET_EXTRA LDFLAGS_BUILD_EXTRA LDFLAGS_CONFIGURE LDFLAGS_CONFIGURE_EXTRA LDFLAGS_INSTALL_EXTRA MAKEFLAGS_BUILD MAKEFLAGS_BUILD_EXTRA MAKEFLAGS_INSTALL MAKEFLAGS_INSTALL_EXTRA NO_CLEAN NO_MAKE_BUILD NO_MAKE_INSTALL PREFIX_EXTRA SHA256SUM SLIBTOOL SUBDIR SUBDIR_CREATE URL URL_FNAME URL_TYPE VERSION"}; +: ${PKG_BUILD_VARS:="BUILD_CMDLINE BUILD_DIR BUILD_TYPE CFLAGS_BUILD_EXTRA CFLAGS_CONFIGURE CFLAGS_CONFIGURE_EXTRA CFLAGS_INSTALL_EXTRA CONFIG_CACHE_EXTRA CONFIGURE CONFIGURE_ARGS CONFIGURE_ARGS_EXTRA DISABLED ENV_VARS_EXTRA FNAME GIT_BRANCH INSTALL_FILES INSTALL_TARGET INSTALL_TARGET_EXTRA LDFLAGS_BUILD_EXTRA LDFLAGS_CONFIGURE LDFLAGS_CONFIGURE_EXTRA LDFLAGS_INSTALL_EXTRA MAKEFLAGS_BUILD MAKEFLAGS_BUILD_EXTRA MAKEFLAGS_INSTALL MAKEFLAGS_INSTALL_EXTRA NO_CLEAN NO_MAKE_BUILD NO_MAKE_INSTALL PREFIX_EXTRA SHA256SUM SLIBTOOL SUBDIR SUBDIR_CREATE TARGET URL URL_FNAME URL_TYPE VERSION"}; : ${TARBALL_FNAME_PREFIX:=midipix-${ARCH}-${BUILD}.}; : ${TARBALL_SIGN_GPG_KEY:=}; : ${TARBALL_CROSS_FNAME_PREFIX:=midipix-${ARCH}-${BUILD}_cross.}; @@ -109,6 +109,7 @@ HOST_TOOLCHAIN_PREFIX="${PREFIX_CROSS}"; : ${PKG_BINUTILS_HOST_MINGW_W64_URL:=ftp://sourceware.org/pub/binutils/snapshots/binutils-${PKG_BINUTILS_HOST_MINGW_W64_VERSION}.tar.bz2}; : ${PKG_BINUTILS_HOST_MINGW_W64_CONFIGURE_ARGS:=--disable-werror --prefix=${PREFIX} --target=x86_64-w64-mingw32 --with-sysroot=${PREFIX_CROSS}}; : ${PKG_BINUTILS_HOST_MINGW_W64_SLIBTOOL:=slibtool-static}; +: ${PKG_BINUTILS_HOST_MINGW_W64_TARGET:=x86_64-w64-mingw32}; : ${PKG_MDSO_HOST_URL:=${GITROOT}/mdso}; : ${PKG_MDSO_HOST_URL_TYPE:=git}; : ${PKG_MDSO_HOST_CONFIGURE_ARGS:="--prefix=/usr"}; @@ -133,7 +134,7 @@ HOST_TOOLCHAIN_PREFIX="${PREFIX_CROSS}"; NATIVE_TOOLCHAIN_CFLAGS_CONFIGURE="${NATIVE_TOOLCHAIN_CFLAGS_CONFIGURE_DEFAULT}"; NATIVE_TOOLCHAIN_CONFIGURE_ARGS="--disable-nls --host=${TARGET} --prefix=/ --target=${TARGET}"; NATIVE_TOOLCHAIN_MAKEFLAGS_INSTALL="DESTDIR=${PREFIX_NATIVE}"; -NATIVE_TOOLCHAIN_PACKAGES="slibtool perk pkgconf gmp mpfr mpc libelf binutils binutils_native_mingw_w64 musl.native gcc.native mdso"; +NATIVE_TOOLCHAIN_PACKAGES="slibtool perk pkgconf gmp mpfr mpc libelf binutils binutils_native_mingw_w64 musl.native gcc.native mdso gcc.stage1.mingw_w64"; NATIVE_TOOLCHAIN_PREFIX="${PREFIX_NATIVE}"; : ${PKG_SLIBTOOL_URL:=git://midipix.org/slibtool}; : ${PKG_SLIBTOOL_URL_TYPE:=git};