forked from 0ad/0ad
Do not attempt to rebuild bundled libs every time, and do not run CMAKE for nvtt everytime. Also pass -fpic for NVTT to prevent build failures on FreeBSD (reported by @nephele).
Unify the build scripts between macOS and Linux. Reviewed by: @Freagarach, @wraitii Differential Revision: https://code.wildfiregames.com/D3173 This was SVN commit r24310.
This commit is contained in:
parent
6f841d0ccb
commit
d38fde3682
@ -31,7 +31,9 @@ if [ "$preserve_libs" != "true" ]; then
|
|||||||
echo "Cleaning bundled third-party dependencies..."
|
echo "Cleaning bundled third-party dependencies..."
|
||||||
|
|
||||||
(cd ../../libraries/source/fcollada/src && rm -rf ./output)
|
(cd ../../libraries/source/fcollada/src && rm -rf ./output)
|
||||||
|
(cd ../../libraries/source/fcollada && rm -f .already-built)
|
||||||
(cd ../../libraries/source/nvtt/src && rm -rf ./build)
|
(cd ../../libraries/source/nvtt/src && rm -rf ./build)
|
||||||
|
(cd ../../libraries/source/nvtt && rm -f .already-built)
|
||||||
(cd ../../libraries/source/spidermonkey && rm -f .already-built)
|
(cd ../../libraries/source/spidermonkey && rm -f .already-built)
|
||||||
(cd ../../libraries/source/spidermonkey && rm -rf ./lib/*.a && rm -rf ./lib/*.so)
|
(cd ../../libraries/source/spidermonkey && rm -rf ./lib/*.a && rm -rf ./lib/*.so)
|
||||||
(cd ../../libraries/source/spidermonkey && rm -rf ./include-unix-debug)
|
(cd ../../libraries/source/spidermonkey && rm -rf ./include-unix-debug)
|
||||||
|
2
build/workspaces/update-workspaces.sh
Normal file → Executable file
2
build/workspaces/update-workspaces.sh
Normal file → Executable file
@ -85,7 +85,7 @@ if [ "`uname -s`" != "Darwin" ]; then
|
|||||||
echo
|
echo
|
||||||
|
|
||||||
# Build/update bundled external libraries
|
# Build/update bundled external libraries
|
||||||
(cd ../../libraries/source/fcollada/src && ${MAKE} ${JOBS}) || die "FCollada build failed"
|
(cd ../../libraries/source/fcollada && MAKE=${MAKE} JOBS=${JOBS} ./build.sh) || die "FCollada build failed"
|
||||||
echo
|
echo
|
||||||
if [ "$with_system_mozjs" = "false" ]; then
|
if [ "$with_system_mozjs" = "false" ]; then
|
||||||
(cd ../../libraries/source/spidermonkey && MAKE=${MAKE} JOBS=${JOBS} ./build.sh) || die "SpiderMonkey build failed"
|
(cd ../../libraries/source/spidermonkey && MAKE=${MAKE} JOBS=${JOBS} ./build.sh) || die "SpiderMonkey build failed"
|
||||||
|
@ -52,11 +52,7 @@ FMT_VERSION="7.1.3"
|
|||||||
# * SpiderMonkey
|
# * SpiderMonkey
|
||||||
# * NVTT
|
# * NVTT
|
||||||
# * FCollada
|
# * FCollada
|
||||||
# --------------------------------------------------------------
|
|
||||||
# We use suffixes here in order to force rebuilding when patching these libs
|
|
||||||
NVTT_VERSION="nvtt-2.1.1+wildfiregames.2"
|
|
||||||
FCOLLADA_VERSION="fcollada-3.05+wildfiregames.2"
|
|
||||||
# --------------------------------------------------------------
|
|
||||||
# Provided by OS X:
|
# Provided by OS X:
|
||||||
# * OpenAL
|
# * OpenAL
|
||||||
# * OpenGL
|
# * OpenGL
|
||||||
@ -956,73 +952,26 @@ popd > /dev/null
|
|||||||
|
|
||||||
# --------------------------------------------------------------
|
# --------------------------------------------------------------
|
||||||
# NVTT - bundled, no download
|
# NVTT - bundled, no download
|
||||||
echo -e "Building NVTT..."
|
|
||||||
|
|
||||||
LIB_VERSION="${NVTT_VERSION}"
|
|
||||||
|
|
||||||
pushd ../source/nvtt > /dev/null
|
pushd ../source/nvtt > /dev/null
|
||||||
|
|
||||||
if [[ "$force_rebuild" = "true" ]] || [[ ! -e .already-built ]] || [[ "$(<.already-built)" != "$LIB_VERSION" ]]
|
if [[ "$force_rebuild" = "true" ]]
|
||||||
then
|
then
|
||||||
rm -f .already-built
|
rm -f .already-built
|
||||||
rm -f lib/*.a
|
|
||||||
pushd src
|
|
||||||
rm -rf build
|
|
||||||
mkdir -p build
|
|
||||||
|
|
||||||
pushd build
|
|
||||||
|
|
||||||
# Could use CMAKE_OSX_DEPLOYMENT_TARGET and CMAKE_OSX_SYSROOT
|
|
||||||
# but they're not as flexible for cross-compiling
|
|
||||||
# Disable png support (avoids some conflicts with MacPorts)
|
|
||||||
(cmake .. \
|
|
||||||
-DCMAKE_LINK_FLAGS="$LDFLAGS" \
|
|
||||||
-DCMAKE_C_FLAGS="$CFLAGS" \
|
|
||||||
-DCMAKE_CXX_FLAGS="$CXXFLAGS" \
|
|
||||||
-DCMAKE_BUILD_TYPE=Release \
|
|
||||||
-DBINDIR=bin \
|
|
||||||
-DLIBDIR=lib \
|
|
||||||
-DPNG=0 \
|
|
||||||
-G "Unix Makefiles" \
|
|
||||||
&& make clean && make nvtt ${JOBS}) || die "NVTT build failed"
|
|
||||||
popd
|
|
||||||
|
|
||||||
mkdir -p ../lib
|
|
||||||
cp build/src/bc*/libbc*.a ../lib/
|
|
||||||
cp build/src/nv*/libnv*.a ../lib/
|
|
||||||
cp build/src/nvtt/squish/libsquish.a ../lib/
|
|
||||||
popd
|
|
||||||
echo "$LIB_VERSION" > .already-built
|
|
||||||
else
|
|
||||||
already_built
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
CXXFLAGS="$CXXFLAGS" CFLAGS="$CFLAGS" LDFLAGS="$LDFLAGS" JOBS="$JOBS" ./build.sh || die "Error building NVTT"
|
||||||
|
|
||||||
popd > /dev/null
|
popd > /dev/null
|
||||||
|
|
||||||
# --------------------------------------------------------------
|
# --------------------------------------------------------------
|
||||||
# FCollada - bundled, no download
|
# FCollada - bundled, no download
|
||||||
echo -e "Building FCollada..."
|
pushd ../source/fcollada/ > /dev/null
|
||||||
|
|
||||||
LIB_VERSION="${FCOLLADA_VERSION}"
|
if [[ "$force_rebuild" = "true" ]]
|
||||||
|
|
||||||
pushd ../source/fcollada > /dev/null
|
|
||||||
|
|
||||||
if [[ "$force_rebuild" = "true" ]] || [[ ! -e .already-built ]] || [[ "$(<.already-built)" != "$LIB_VERSION" ]]
|
|
||||||
then
|
then
|
||||||
rm -f .already-built
|
rm -f .already-built
|
||||||
rm -f lib/*.a
|
|
||||||
pushd src
|
|
||||||
rm -rf output
|
|
||||||
mkdir -p ../lib
|
|
||||||
|
|
||||||
# The Makefile refers to pkg-config for libxml2, but we
|
|
||||||
# don't have that (replace with xml2-config instead)
|
|
||||||
sed -i.bak -e 's/pkg-config libxml-2.0/xml2-config/' Makefile
|
|
||||||
(make clean && CXXFLAGS=$CXXFLAGS make ${JOBS}) || die "FCollada build failed"
|
|
||||||
# Undo Makefile change
|
|
||||||
mv Makefile.bak Makefile
|
|
||||||
popd
|
|
||||||
echo "$LIB_VERSION" > .already-built
|
|
||||||
else
|
|
||||||
already_built
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
CXXFLAGS="$CXXFLAGS" CFLAGS="$CFLAGS" LDFLAGS="$LDFLAGS" JOBS="$JOBS" ./build.sh || die "Error building FCollada"
|
||||||
|
|
||||||
popd > /dev/null
|
popd > /dev/null
|
||||||
|
Loading…
Reference in New Issue
Block a user