Add a custom script to build premake, like NVTT, FCollada, and Spidermonkey.
Fix an issue on newer GNU/Linux and macOS where the build would fail due to missing unistd includes. Fixes: #6847 Accepted by: @vv221 Comments by: @sera Differential Revision: https://code.wildfiregames.com/D4894 This was SVN commit r28187.
This commit is contained in:
parent
a9ea169301
commit
5da05ae15c
35
build/premake/build.sh
Executable file
35
build/premake/build.sh
Executable file
@ -0,0 +1,35 @@
|
||||
#!/bin/sh
|
||||
set -e
|
||||
|
||||
LIB_VERSION="premake-5-alpha-14+wildfiregames.1"
|
||||
|
||||
if [ -e .already-built ] && [ "$(cat .already-built)" = "${LIB_VERSION}" ]
|
||||
then
|
||||
echo "Premake 5 is already up to date."
|
||||
exit
|
||||
fi
|
||||
|
||||
JOBS=${JOBS:="-j2"}
|
||||
MAKE=${MAKE:="make"}
|
||||
CFLAGS="${CFLAGS:=""} -Wno-error=implicit-function-declaration"
|
||||
OS="${OS:=$(uname -s)}"
|
||||
|
||||
echo "Building Premake 5..."
|
||||
echo
|
||||
|
||||
PREMAKE_BUILD_DIR=premake5/build/gmake2.unix
|
||||
# BSD and OS X need different Makefiles
|
||||
case "$OS" in
|
||||
"GNU/kFreeBSD" )
|
||||
# use default gmake2.unix (needs -ldl as we have a GNU userland and libc)
|
||||
;;
|
||||
*"BSD" )
|
||||
PREMAKE_BUILD_DIR=premake5/build/gmake2.bsd
|
||||
;;
|
||||
"Darwin" )
|
||||
PREMAKE_BUILD_DIR=premake5/build/gmake2.macosx
|
||||
;;
|
||||
esac
|
||||
${MAKE} -C "${PREMAKE_BUILD_DIR}" "${JOBS}" CFLAGS="$CFLAGS" config=release
|
||||
|
||||
echo "${LIB_VERSION}" > .already-built
|
@ -102,30 +102,15 @@ if [ "`uname -s`" != "Darwin" ]; then
|
||||
echo
|
||||
fi
|
||||
|
||||
# Now run premake to create the makefiles
|
||||
# Now build Premake or use system's.
|
||||
|
||||
cd ../premake
|
||||
premake_command="premake5"
|
||||
|
||||
if [ "$with_system_premake5" = "false" ]; then
|
||||
# Build bundled premake
|
||||
cd premake5
|
||||
PREMAKE_BUILD_DIR=build/gmake2.unix
|
||||
# BSD and OS X need different Makefiles
|
||||
case "`uname -s`" in
|
||||
"GNU/kFreeBSD" )
|
||||
# use default gmake2.unix (needs -ldl as we have a GNU userland and libc)
|
||||
;;
|
||||
*"BSD" )
|
||||
PREMAKE_BUILD_DIR=build/gmake2.bsd
|
||||
;;
|
||||
"Darwin" )
|
||||
PREMAKE_BUILD_DIR=build/gmake2.macosx
|
||||
;;
|
||||
esac
|
||||
${MAKE} -C $PREMAKE_BUILD_DIR ${JOBS} || die "Premake build failed"
|
||||
MAKE=${MAKE} JOBS=${JOBS} ./build.sh || die "Premake 5 build failed"
|
||||
|
||||
cd ..
|
||||
premake_command="premake5/bin/release/premake5"
|
||||
fi
|
||||
|
||||
@ -133,7 +118,7 @@ echo
|
||||
|
||||
# If we're in bash then make HOSTTYPE available to Premake, for primitive arch-detection
|
||||
export HOSTTYPE="$HOSTTYPE"
|
||||
|
||||
# Now run Premake to create the makefiles
|
||||
echo "Premake args: ${premake_args}"
|
||||
if [ "`uname -s`" != "Darwin" ]; then
|
||||
${premake_command} --file="premake5.lua" --outpath="../workspaces/gcc/" ${premake_args} gmake || die "Premake failed"
|
||||
|
Loading…
Reference in New Issue
Block a user