CrossCompilare tdlib (arm) su archlinux
@windoz @davtur19ATTENZIONE: NON E' DA COPIARE E INCOLLARE SENZA VEDERE COME FUNZIONA
ALCUNI COMANDI / CONFIGURAZIONI POTREBBERO CAMBIARE
preparazione del ambiente
sudo pacman -S gcc cmake make git gperf
sudo yaourt -S arm-linux-gnueabihf-gcc
preparazione delle dipendenze
sudo mkdir /library
sudo mkdir /library/zlib
sudo mkdir /library/openssl
git clone https://github.com/madler/zlib
git clone https://github.com/openssl/openssl
git clone https://github.com/tdlib/td
CrossCompiliamo zlib
cd zlib
export CC=arm-linux-gnueabihf-gcc
./configure --prefix=/library/zlib
make
sudo make install
unset CC
cd ..
CrossCompiliamo openssl
cd openssl
./Configure linux-generic32 shared --cross-compile-prefix=arm-linux-gnueabihf- --prefix=/library/openssl
sudo make install
cd ..
Preparazione di tdlib
cd td && mkdir build_native && cd build_native
cmake -DCMAKE_BUILD_TYPE=Release ..
cmake --build . --target prepare_cross_compiling
cd ..
Prepariamo cmake per CrossCompilare tdlib
apriamo con un editor CMakeLists.txt
aggiungiamo all'inizio le sequenti righe
set(ZLIB_ROOT /library/zlib)
set(OPENSSL_ROOT_DIR /library/openssl)
link_libraries(atomic)
ora creiamo la cartella build e ci entriamo
mkdir build && cd build
creiamo il cmake toolchain file
touch tc.txt
apriamo con un editor tc.txt e inseriamo le sequenti righe
SET(CMAKE_SYSTEM_NAME Linux)
SET(CMAKE_C_COMPILER /usr/bin/arm-linux-gnueabihf-gcc)
SET(CMAKE_CXX_COMPILER /usr/bin/arm-linux-gnueabihf-g++)
CrossCompiliamo tdlib
cmake -DCMAKE_TOOLCHAIN_FILE=tc.txt -DCMAKE_BUILD_TYPE=Release ..
cmake -DCMAKE_BUILD_TYPE=Release ..
cmake --build .
cmake --build . --target tdjson
cmake --build . --target tdclient