Make LTO controlled by a variable export in steps/install.sh.
Currently will remain disabled everywhere, but this allows for enabling LTO for optimized, non-xcode jobs just by changing the value of the LTO variable.
This commit is contained in:
parent
ee51afa128
commit
02244aaa53
3 changed files with 16 additions and 4 deletions
|
@ -16,6 +16,7 @@ WML_TEST_TIME="$8"
|
|||
PLAY_TEST="$9"
|
||||
MP_TEST="${10}"
|
||||
BOOST_TEST="${11}"
|
||||
LTO="${12}"
|
||||
|
||||
# only enable strict builds when no optimizations are done
|
||||
if [ "$EXTRA_FLAGS_RELEASE" == "-O0" ]; then
|
||||
|
@ -36,6 +37,7 @@ echo "WML_TEST_TIME: $WML_TEST_TIME"
|
|||
echo "PLAY_TEST: $PLAY_TEST"
|
||||
echo "MP_TEST: $MP_TEST"
|
||||
echo "BOOST_TEST: $BOOST_TEST"
|
||||
echo "LTO: $LTO"
|
||||
|
||||
$CXX --version
|
||||
|
||||
|
@ -51,7 +53,7 @@ else
|
|||
echo "compiler_check = content" >> $HOME/.ccache/ccache.conf
|
||||
|
||||
cmake -DCMAKE_BUILD_TYPE=Release -DENABLE_GAME=true -DENABLE_SERVER=true -DENABLE_CAMPAIGN_SERVER=true -DENABLE_TESTS=true -DENABLE_NLS=false \
|
||||
-DEXTRA_FLAGS_CONFIG="-pipe" -DEXTRA_FLAGS_RELEASE="$EXTRA_FLAGS_RELEASE" -DENABLE_STRICT_COMPILATION="$STRICT" -DENABLE_LTO=false \
|
||||
-DEXTRA_FLAGS_CONFIG="-pipe" -DEXTRA_FLAGS_RELEASE="$EXTRA_FLAGS_RELEASE" -DENABLE_STRICT_COMPILATION="$STRICT" -DENABLE_LTO="$LTO" -DLTO_JOBS=2 \
|
||||
-DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache && \
|
||||
make VERBOSE=1 -j2
|
||||
BUILD_RET=$?
|
||||
|
@ -62,7 +64,7 @@ else
|
|||
scons wesnoth wesnothd campaignd boost_unit_tests build=release \
|
||||
ctool=$CC cxxtool=$CXX cxx_std=$CXXSTD \
|
||||
extra_flags_config="-pipe" extra_flags_release="$EXTRA_FLAGS_RELEASE" strict="$STRICT" \
|
||||
nls=false enable_lto=false jobs=2 --debug=time
|
||||
nls=false enable_lto="$LTO" jobs=2 --debug=time
|
||||
BUILD_RET=$?
|
||||
fi
|
||||
|
||||
|
|
|
@ -8,12 +8,16 @@ export PLAY_TEST=true
|
|||
export MP_TEST=true
|
||||
export WML_TEST_TIME=15
|
||||
export BOOST_TEST=true
|
||||
export LTO=false
|
||||
|
||||
if [ "$OPT" = "-O0" ]; then
|
||||
export EXTRA_FLAGS_RELEASE="-O0"
|
||||
export PLAY_TEST=false
|
||||
export MP_TEST=false
|
||||
export WML_TEST_TIME=20
|
||||
else
|
||||
# change to true to enable LTO on optimized, non-xcode builds
|
||||
export LTO=false
|
||||
fi
|
||||
|
||||
if [ "$TRAVIS_OS_NAME" = "osx" ]; then
|
||||
|
|
|
@ -24,8 +24,14 @@ if [ "$TRAVIS_OS_NAME" = "osx" ]; then
|
|||
./utils/travis/check_utf8.sh
|
||||
./utils/travis/utf8_bom_dog.sh
|
||||
"$CXX" --version
|
||||
scons wesnoth wesnothd campaignd boost_unit_tests build=release ctool="$CC" cxxtool="$CXX" --debug=time extra_flags_config="-pipe" extra_flags_release="$EXTRA_FLAGS_RELEASE" strict=true cxx_std="$CXXSTD" nls="$NLS" jobs=2 enable_lto=false
|
||||
scons wesnoth wesnothd campaignd boost_unit_tests build=release \
|
||||
ctool="$CC" cxxtool="$CXX" cxx_std="$CXXSTD" \
|
||||
extra_flags_config="-pipe" extra_flags_release="$EXTRA_FLAGS_RELEASE" strict=true \
|
||||
nls="$NLS" enable_lto="$LTO" jobs=2 --debug=time
|
||||
fi
|
||||
else
|
||||
docker run -v "$HOME"/build-cache:/home/wesnoth-travis/build -v "$HOME"/.ccache:/root/.ccache wesnoth-repo:16.04 bash -c './utils/travis/docker_run.sh "$@"' bash "$NLS" "$TOOL" "$CC" "$CXX" "$CXXSTD" "$EXTRA_FLAGS_RELEASE" "$WML_TESTS" "$WML_TEST_TIME" "$PLAY_TEST" "$MP_TEST" "$BOOST_TEST"
|
||||
docker run -v "$HOME"/build-cache:/home/wesnoth-travis/build \
|
||||
-v "$HOME"/.ccache:/root/.ccache wesnoth-repo:16.04 \
|
||||
bash -c './utils/travis/docker_run.sh "$@"' \
|
||||
bash "$NLS" "$TOOL" "$CC" "$CXX" "$CXXSTD" "$EXTRA_FLAGS_RELEASE" "$WML_TESTS" "$WML_TEST_TIME" "$PLAY_TEST" "$MP_TEST" "$BOOST_TEST" "$LTO"
|
||||
fi
|
||||
|
|
Loading…
Add table
Reference in a new issue