1
0

Update dockerfile, compile.sh, and 2 more files...

This commit is contained in:
Andrea Cavalli 2020-10-05 17:34:17 +02:00
parent 5733ab4cc3
commit c6fa63ba8e
4 changed files with 39 additions and 10 deletions

View File

@ -16,6 +16,10 @@ RUN apt-get install /tmp/install.deb -y
RUN rm /tmp/install.deb
RUN apt-get install sudo -y
RUN apt-get install moreutils -y
RUN apt-get install maven -y
RUN apt-get install gcc gperf cmake ccache -y
@ -57,6 +61,7 @@ ARG UID=1000
ARG GID=1000
RUN groupadd -g $GID -o $UNAME
RUN useradd -m -u $UID -g $GID -o -s /bin/bash $UNAME
RUN usermod -a -G sudo $UNAME
USER $UNAME
RUN mkdir /home/$UNAME/work

View File

@ -10,6 +10,7 @@ TOOLCHAIN_FILE=$(realpath ./toolchain-arm64.cmake)
# Prepare build
cd $TD_BUILD_DIR
nice -n 5 cmake -DCMAKE_TOOLCHAIN_FILE=${TOOLCHAIN_FILE} -DCMAKE_FIND_ROOT_PATH=/usr/aarch64-linux-gnu -DCMAKE_BUILD_TYPE=Release -DTD_ENABLE_JNI=ON -DCMAKE_INSTALL_PREFIX:PATH=${TD_BIN_DIR} ${TD_SRC_DIR}
nice -n 5 cmake -DCMAKE_FIND_ROOT_PATH=/usr/aarch64-linux-gnu -DCMAKE_BUILD_TYPE=Release -DTD_ENABLE_JNI=ON -DCMAKE_INSTALL_PREFIX:PATH=${TD_BIN_DIR} ${TD_SRC_DIR}
# Split sources
nice -n 5 cmake --build $TD_BUILD_DIR --target prepare_cross_compiling -- -j${TRAVIS_CPU_CORES}
@ -26,7 +27,7 @@ nice -n 5 php SplitSource.php --undo
# ====== Build TdNatives
cd $TDNATIVES_CPP_BUILD_DIR
nice -n 5 cmake -DCMAKE_TOOLCHAIN_FILE=${TOOLCHAIN_FILE} -DCMAKE_FIND_ROOT_PATH=/usr/aarch64-linux-gnu -DCMAKE_BUILD_TYPE=Release -DTD_BIN_DIR=${TD_BIN_DIR} -DTDNATIVES_BIN_DIR=${TDNATIVES_BIN_DIR} -DTDNATIVES_DOCS_BIN_DIR=${TDNATIVES_DOCS_BIN_DIR} -DTd_DIR=${TD_BIN_DIR}/lib/cmake/Td -DJAVA_SRC_DIR=${JAVA_SRC_DIR} -DTDNATIVES_CPP_SRC_DIR:PATH=$TDNATIVES_CPP_SRC_DIR $TDNATIVES_CPP_SRC_DIR
nice -n 5 cmake -DCMAKE_FIND_ROOT_PATH=/usr/aarch64-linux-gnu -DCMAKE_BUILD_TYPE=Release -DTD_BIN_DIR=${TD_BIN_DIR} -DTDNATIVES_BIN_DIR=${TDNATIVES_BIN_DIR} -DTDNATIVES_DOCS_BIN_DIR=${TDNATIVES_DOCS_BIN_DIR} -DTd_DIR=${TD_BIN_DIR}/lib/cmake/Td -DJAVA_SRC_DIR=${JAVA_SRC_DIR} -DTDNATIVES_CPP_SRC_DIR:PATH=$TDNATIVES_CPP_SRC_DIR $TDNATIVES_CPP_SRC_DIR
nice -n 5 cmake --build $TDNATIVES_CPP_BUILD_DIR --target install --config Release -- -j${TRAVIS_CPU_CORES}
# ====== Print results stats

View File

@ -8,3 +8,35 @@ source ./jenkins/scripts/setup_variables.sh
echo "CCACHE statistics:"
ccache -s
sudo mkdir /library
sudo mkdir /library/zlib
sudo mkdir /library/openssl
cd /tmp/
git clone https://github.com/madler/zlib --depth=1 --branch=master
git clone https://github.com/openssl/openssl --depth=1 --branch=master
cd zlib
export CC=aarch64-linux-gnu-gcc
./configure --prefix=/library/zlib
make -j$TRAVIS_CPU_CORES
sudo make install -j$TRAVIS_CPU_CORES
unset CC
cd ..
cd openssl
./Configure linux-generic32 shared --cross-compile-prefix=aarch64-linux-gnu-gcc- --prefix=/library/openssl
sudo make install -j$TRAVIS_CPU_CORES
cd ..
cd $TD_SRC_DIR
mkdir build_native
cd build_native
cmake -DCMAKE_BUILD_TYPE=Release ..
cmake --build . --target prepare_cross_compiling
cd $TD_SRC_DIR
# Fix openssl path
echo "set(ZLIB_ROOT /library/zlib)" | cat CMakeLists.txt | sponge CMakeLists.txt
echo "set(OPENSSL_ROOT_DIR /library/openssl)" | cat CMakeLists.txt | sponge CMakeLists.txt
echo "link_libraries(atomic)" | cat CMakeLists.txt | sponge CMakeLists.txt

View File

@ -68,12 +68,3 @@ SET(CMAKE_OBJCOPY ${GCC_DIR}/aarch64-${TARGET_ABI}-objcopy CACHE FILEPATH "
SET(CMAKE_STRIP ${GCC_DIR}/aarch64-${TARGET_ABI}-strip CACHE FILEPATH "strip")
SET(CMAKE_CPP ${GCC_DIR}/aarch64-${TARGET_ABI}-cpp CACHE FILEPATH "cpp")
# Fix openssl path
SET(OPENSSL_LIBRARIES_DIR "/usr/lib/openssl_cross/usr/lib")
SET(OPENSSL_ROOT_DIR "/usr/lib/openssl_cross/usr/lib")
SET(OPENSSL_CRYPTO_LIBRARY "/usr/lib/openssl_cross/usr/lib/libcrypto.so")
SET(OPENSSL_INCLUDE_DIR "/usr/lib/openssl_cross/usr/include/openssl")
SET(OPENSSL_LIBRARIES "ssl" "crypto")
# Fix zlib path
SET(ZLIB_LIBRARY "/usr/lib/zlib_cross/usr/lib/libz.a")
SET(ZLIB_INCLUDE_DIR "/usr/lib/zlib_cross/usr/include")