From 3d1b15b01e35b82a74ffb86b173fbfcdbf9f26c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Storsj=C3=B6?= Date: Mon, 8 Oct 2018 13:35:40 +0300 Subject: [PATCH] Make widl default to prefix/include instead of prefix/target/include, for windows toolchains In these setups, we already install headers into prefix/include, in order to save diskspace. --- build-cross-tools.sh | 2 +- build-mingw-w64-widl.sh | 30 ++++++++++++++++++++++++++---- 2 files changed, 27 insertions(+), 5 deletions(-) diff --git a/build-cross-tools.sh b/build-cross-tools.sh index 5ed2915..ccbd584 100755 --- a/build-cross-tools.sh +++ b/build-cross-tools.sh @@ -16,6 +16,6 @@ export HOST=$CROSS_ARCH-w64-mingw32 ./build-llvm.sh $PREFIX ./strip-llvm.sh $PREFIX -./build-mingw-w64-widl.sh $PREFIX +./build-mingw-w64-widl.sh $PREFIX --skip-triplet-prefix ./install-wrappers.sh $PREFIX ./prepare-cross-toolchain.sh $NATIVE $PREFIX $CROSS_ARCH diff --git a/build-mingw-w64-widl.sh b/build-mingw-w64-widl.sh index 7798927..50735e9 100755 --- a/build-mingw-w64-widl.sh +++ b/build-mingw-w64-widl.sh @@ -2,11 +2,18 @@ set -e -if [ $# -lt 1 ]; then - echo $0 dest +while [ $# -gt 0 ]; do + if [ "$1" = "--skip-triplet-prefix" ]; then + SKIP_TRIPLET_PREFIX=1 + else + PREFIX="$1" + fi + shift +done +if [ -z "$PREFIX" ]; then + echo $0 [--skip-triplet-prefix] dest exit 1 fi -PREFIX="$1" # Not adding $PREFIX/bin to $PATH here, since that is expected to be # a cross toolchain; the compiler is expected to be in $PATH already here. @@ -14,8 +21,15 @@ PREFIX="$1" : ${ARCHS:=${TOOLCHAIN_ARCHS-i686 x86_64 armv7 aarch64}} if [ -n "$HOST" ]; then - CONFIGFLAGS="--host=$HOST" + CONFIGFLAGS="$CONFIGFLAGS --host=$HOST" CROSS_NAME=$HOST- + EXEEXT=.exe +fi +if [ -n "$SKIP_TRIPLET_PREFIX" ]; then + CONFIGFLAGS="$CONFIGFLAGS --with-widl-includedir=$PREFIX/include" + # If using the same prefix, it's enough to build one single binary. + ALL_ARCHS="$ARCHS" + ARCHS=x86_64 fi cd mingw-w64/mingw-w64-tools/widl @@ -27,3 +41,11 @@ for arch in $ARCHS; do make install cd .. done +if [ -n "$SKIP_TRIPLET_PREFIX" ]; then + cd $PREFIX/bin + for arch in $ALL_ARCHS; do + if [ "$arch" != "$ARCHS" ]; then + ln -sf $ARCHS-w64-mingw32-widl$EXEEXT $arch-w64-mingw32-widl$EXEEXT + fi + done +fi