Enable LTO on linux

This commit is contained in:
Andrea Cavalli 2022-03-15 15:15:13 +01:00
parent 6fc6f87a55
commit a877d232e0
3 changed files with 4 additions and 2 deletions

View File

@ -108,7 +108,6 @@ cmake \
"-DTd_DIR=$(realpath -m ../td_bin/lib/cmake/Td/)" \
"-DJAVA_SRC_DIR=$(realpath -m ../src/main/jni-java-src/)" \
"-DTDNATIVES_CPP_SRC_DIR:PATH=$(realpath -m ../src/main/jni-cpp-src/)" \
"-DTD_ENABLE_LTO=ON" \
${CMAKE_EXTRA_ARGUMENTS_TDJNI} \
${CMAKE_EXTRA_ARGUMENTS} \
"$(realpath -m ../src/main/jni-cpp-src/)"

View File

@ -61,6 +61,9 @@ if [[ "$IMPLEMENTATION_NAME" = "tdlight" ]]; then
else
CMAKE_EXTRA_ARGUMENTS_TD=""
fi
if [[ "$OPERATING_SYSTEM_NAME" == "linux" ]]; then
CMAKE_EXTRA_ARGUMENTS_TD="${CMAKE_EXTRA_ARGUMENTS_TD} -DTD_ENABLE_LTO=ON"
fi
if [[ -n "$CROSS_BUILD_DEPS_DIR" ]]; then
# shellcheck disable=SC2089
CMAKE_EXTRA_ARGUMENTS_TD="${CMAKE_EXTRA_ARGUMENTS_TD} -DCMAKE_TOOLCHAIN_FILE=${CROSS_BUILD_DEPS_DIR}/toolchain.cmake"
@ -76,7 +79,6 @@ cmake "-DCMAKE_BUILD_TYPE=${BUILD_TYPE}" \
-DCMAKE_INSTALL_PREFIX:PATH="$INSTALL_PREFIX" \
-DCMAKE_INSTALL_BINDIR:PATH="$INSTALL_BINDIR" \
-DTD_ENABLE_JNI=ON \
-DTD_ENABLE_LTO=ON \
${CMAKE_EXTRA_ARGUMENTS_TD} \
${CMAKE_EXTRA_ARGUMENTS} \
../implementation

View File

@ -75,6 +75,7 @@ if [[ "$CORE_VARIABLES_SET" != "YES" ]]; then
elif [[ "$OPERATING_SYSTEM_NAME" == "osx" ]]; then
export CMAKE_EXTRA_ARGUMENTS_TDJNI="${CMAKE_EXTRA_ARGUMENTS_TDJNI} -DOPENSSL_USE_STATIC_LIBS=True"
elif [[ "$OPERATING_SYSTEM_NAME" == "linux" ]]; then
export CMAKE_EXTRA_ARGUMENTS_TDJNI="${CMAKE_EXTRA_ARGUMENTS_TDJNI} -DTD_ENABLE_LTO=ON"
if [[ "$CPU_ARCHITECTURE_NAME" == "386" ]] || [[ "$CPU_ARCHITECTURE_NAME" == "armhf" ]]; then
export CMAKE_EXE_LINKER_FLAGS="$CMAKE_EXE_LINKER_FLAGS -latomic"
export LDFLAGS="$LDFLAGS -latomic"