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:
pentarctagon 2018-03-06 19:19:09 -06:00 committed by Jyrki Vesterinen
parent ee51afa128
commit 02244aaa53
3 changed files with 16 additions and 4 deletions

View file

@ -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

View file

@ -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

View file

@ -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