From 5fe2e05419c2af704f2e936ec752f02bdbcf097d Mon Sep 17 00:00:00 2001 From: russellhaley Date: Sat, 29 Feb 2020 09:36:13 -0800 Subject: [PATCH] FreeBSD support Use "gmake" instead of "make" when gmake is available. The makefile used for libssp is a handwritten one that requires GNU make features. mingw-w64 uses automake, which in principle should work with BSD make, but mingw-w64-headers hangs indefinitely if built with BSD make. --- build-libssp.sh | 8 +++++++- build-mingw-w64.sh | 15 ++++++++++----- 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/build-libssp.sh b/build-libssp.sh index f96a90e..5408a79 100755 --- a/build-libssp.sh +++ b/build-libssp.sh @@ -6,6 +6,12 @@ if [ $# -lt 1 ]; then echo $0 dest exit 1 fi + +MAKE=make +if [ "$(which gmake)" != "" ]; then + MAKE=gmake +fi + PREFIX="$1" mkdir -p "$PREFIX" PREFIX="$(cd "$PREFIX" && pwd)" @@ -41,7 +47,7 @@ cat ssp/ssp.h.in | sed 's/@ssp_have_usable_vsnprintf@/define/' > ssp/ssp.h for arch in $ARCHS; do mkdir -p build-$arch cd build-$arch - make -f ../Makefile -j$CORES CROSS=$arch-w64-mingw32- + $MAKE -f ../Makefile -j$CORES CROSS=$arch-w64-mingw32- mkdir -p "$PREFIX/$arch-w64-mingw32/bin" cp libssp.a "$PREFIX/$arch-w64-mingw32/lib" cp libssp_nonshared.a "$PREFIX/$arch-w64-mingw32/lib" diff --git a/build-mingw-w64.sh b/build-mingw-w64.sh index ca6b4db..3f03d99 100755 --- a/build-mingw-w64.sh +++ b/build-mingw-w64.sh @@ -32,6 +32,11 @@ if [ -z "$PREFIX" ]; then exit 1 fi +MAKE=make +if [ "$(which gmake)" != "" ]; then + MAKE=gmake +fi + mkdir -p "$PREFIX" PREFIX="$(cd "$PREFIX" && pwd)" @@ -76,7 +81,7 @@ if [ -z "$HOST" ]; then cd build ../configure --prefix="$HEADER_ROOT" \ --enable-idl --with-default-win32-winnt=$DEFAULT_WIN32_WINNT --with-default-msvcrt=$DEFAULT_MSVCRT INSTALL="install -C" - make install + $MAKE install cd ../.. if [ -z "$SKIP_INCLUDE_TRIPLET_PREFIX" ]; then for arch in $ARCHS; do @@ -107,8 +112,8 @@ if [ -z "$HOST" ]; then esac FLAGS="$FLAGS --with-default-msvcrt=$DEFAULT_MSVCRT" ../configure --host=$arch-w64-mingw32 --prefix="$PREFIX/$arch-w64-mingw32" $FLAGS - make -j$CORES - make install + $MAKE -j$CORES + $MAKE install cd .. done cd .. @@ -144,8 +149,8 @@ for arch in $ARCHS; do mkdir -p build-$CROSS_NAME$arch cd build-$CROSS_NAME$arch ../configure --prefix="$PREFIX" --target=$arch-w64-mingw32 $CONFIGFLAGS - make -j$CORES - make install-strip + $MAKE -j$CORES + $MAKE install-strip cd .. done cd "$PREFIX/bin"