mirror of
https://github.com/ton-blockchain/ton
synced 2025-02-12 19:22:37 +00:00
More portable (#681)
* integrate static openssl into linux binaries; do not use AVX and AVX2 CPU instructions in windows binaries. * integrate static openssl into linux binaries; do not use AVX and AVX2 CPU instructions in windows binaries.
This commit is contained in:
parent
f8b585df39
commit
1aadc80742
3 changed files with 24 additions and 8 deletions
12
.github/workflows/ubuntu-22.04-compile.yml
vendored
12
.github/workflows/ubuntu-22.04-compile.yml
vendored
|
@ -27,9 +27,19 @@ jobs:
|
||||||
export CC=$(which clang)
|
export CC=$(which clang)
|
||||||
export CXX=$(which clang++)
|
export CXX=$(which clang++)
|
||||||
export CCACHE_DISABLE=1
|
export CCACHE_DISABLE=1
|
||||||
|
|
||||||
|
git clone https://github.com/openssl/openssl openssl_1_1_1
|
||||||
|
cd openssl_1_1_1
|
||||||
|
git checkout OpenSSL_1_1_1-stable
|
||||||
|
./config
|
||||||
|
make build_libs -j4
|
||||||
|
|
||||||
|
cd ..
|
||||||
|
rootPath=`pwd`
|
||||||
mkdir build
|
mkdir build
|
||||||
cd build
|
cd build
|
||||||
cmake -GNinja -DCMAKE_BUILD_TYPE=Release -DPORTABLE=1 -DTON_ARCH= -DCMAKE_CXX_FLAGS="-mavx2" ..
|
|
||||||
|
cmake -GNinja -DOPENSSL_FOUND=1 -DOPENSSL_INCLUDE_DIR=$rootPath/openssl_1_1_1/include -DOPENSSL_CRYPTO_LIBRARY=$rootPath/openssl_1_1_1/libcrypto.a -DCMAKE_BUILD_TYPE=Release -DPORTABLE=1 -DTON_ARCH= -DCMAKE_CXX_FLAGS="-mavx2" ..
|
||||||
ninja storage-daemon storage-daemon-cli fift func tonlib tonlibjson tonlib-cli validator-engine lite-client pow-miner validator-engine-console generate-random-id json2tlo dht-server http-proxy rldp-http-proxy adnl-proxy create-state
|
ninja storage-daemon storage-daemon-cli fift func tonlib tonlibjson tonlib-cli validator-engine lite-client pow-miner validator-engine-console generate-random-id json2tlo dht-server http-proxy rldp-http-proxy adnl-proxy create-state
|
||||||
|
|
||||||
- name: Find & copy binaries
|
- name: Find & copy binaries
|
||||||
|
|
13
.github/workflows/ubuntu-compile.yml
vendored
13
.github/workflows/ubuntu-compile.yml
vendored
|
@ -30,9 +30,20 @@ jobs:
|
||||||
export CC=$(which clang)
|
export CC=$(which clang)
|
||||||
export CXX=$(which clang++)
|
export CXX=$(which clang++)
|
||||||
export CCACHE_DISABLE=1
|
export CCACHE_DISABLE=1
|
||||||
|
|
||||||
mkdir build-${{ matrix.os }}
|
mkdir build-${{ matrix.os }}
|
||||||
cd build-${{ matrix.os }}
|
cd build-${{ matrix.os }}
|
||||||
cmake -GNinja -DCMAKE_BUILD_TYPE=Release -DPORTABLE=1 -DTON_ARCH= -DCMAKE_CXX_FLAGS="-mavx2" ..
|
|
||||||
|
git clone https://github.com/openssl/openssl openssl_1_1_1
|
||||||
|
cd openssl_1_1_1
|
||||||
|
git checkout OpenSSL_1_1_1-stable
|
||||||
|
./config
|
||||||
|
make build_libs -j4
|
||||||
|
|
||||||
|
cd ..
|
||||||
|
buildPath=`pwd`
|
||||||
|
|
||||||
|
cmake -GNinja -DOPENSSL_FOUND=1 -DOPENSSL_INCLUDE_DIR=$buildPath/openssl_1_1_1/include -DOPENSSL_CRYPTO_LIBRARY=$buildPath/openssl_1_1_1/libcrypto.a -DCMAKE_BUILD_TYPE=Release -DPORTABLE=1 -DTON_ARCH= -DCMAKE_CXX_FLAGS="-mavx2" ..
|
||||||
ninja storage-daemon storage-daemon-cli fift func tonlib tonlibjson tonlib-cli validator-engine lite-client pow-miner validator-engine-console generate-random-id json2tlo dht-server http-proxy rldp-http-proxy adnl-proxy create-state create-hardfork
|
ninja storage-daemon storage-daemon-cli fift func tonlib tonlibjson tonlib-cli validator-engine lite-client pow-miner validator-engine-console generate-random-id json2tlo dht-server http-proxy rldp-http-proxy adnl-proxy create-state create-hardfork
|
||||||
|
|
||||||
- name: Find & copy binaries
|
- name: Find & copy binaries
|
||||||
|
|
7
.github/workflows/win-2019-compile.yml
vendored
7
.github/workflows/win-2019-compile.yml
vendored
|
@ -48,18 +48,13 @@ jobs:
|
||||||
curl -Lo libmicrohttpd-latest-w32-bin.zip https://ftpmirror.gnu.org/libmicrohttpd/libmicrohttpd-latest-w32-bin.zip
|
curl -Lo libmicrohttpd-latest-w32-bin.zip https://ftpmirror.gnu.org/libmicrohttpd/libmicrohttpd-latest-w32-bin.zip
|
||||||
unzip libmicrohttpd-latest-w32-bin.zip
|
unzip libmicrohttpd-latest-w32-bin.zip
|
||||||
|
|
||||||
- name: Install pre-compiled Readline Win64
|
|
||||||
run: |
|
|
||||||
curl -Lo readline-5.0-1-lib.zip https://github.com/neodiX42/precompiled-openssl-win64/raw/main/readline-5.0-1-lib.zip
|
|
||||||
unzip readline-5.0-1-lib.zip
|
|
||||||
|
|
||||||
- name: Compile
|
- name: Compile
|
||||||
run: |
|
run: |
|
||||||
set root=%cd%
|
set root=%cd%
|
||||||
echo %root%
|
echo %root%
|
||||||
mkdir build
|
mkdir build
|
||||||
cd build
|
cd build
|
||||||
cmake -DREADLINE_INCLUDE_DIR=%root%\readline-5.0-1-lib\include\readline -DREADLINE_LIBRARY=%root%\readline-5.0-1-lib\lib\readline.lib -DZLIB_FOUND=1 -DMHD_FOUND=1 -DMHD_LIBRARY=%root%\libmicrohttpd-0.9.75-w32-bin\x86_64\VS2019\Release-static\libmicrohttpd.lib -DMHD_INCLUDE_DIR=%root%\libmicrohttpd-0.9.75-w32-bin\x86_64\VS2019\Release-static -DZLIB_INCLUDE_DIR=%root%\zlib -DZLIB_LIBRARY=%root%\zlib\contrib\vstudio\vc14\x64\ZlibStatReleaseWithoutAsm\zlibstat.lib -DOPENSSL_FOUND=1 -DOPENSSL_INCLUDE_DIR=%root%/openssl-1.1/x64/include -DOPENSSL_CRYPTO_LIBRARY=%root%/openssl-1.1/x64/lib/libcrypto.lib -DCMAKE_CXX_FLAGS="/DTD_WINDOWS=1 /EHsc /bigobj /W0" ..
|
cmake -DPORTABLE=1 -DZLIB_FOUND=1 -DMHD_FOUND=1 -DMHD_LIBRARY=%root%\libmicrohttpd-0.9.75-w32-bin\x86_64\VS2019\Release-static\libmicrohttpd.lib -DMHD_INCLUDE_DIR=%root%\libmicrohttpd-0.9.75-w32-bin\x86_64\VS2019\Release-static -DZLIB_INCLUDE_DIR=%root%\zlib -DZLIB_LIBRARY=%root%\zlib\contrib\vstudio\vc14\x64\ZlibStatReleaseWithoutAsm\zlibstat.lib -DOPENSSL_FOUND=1 -DOPENSSL_INCLUDE_DIR=%root%/openssl-1.1/x64/include -DOPENSSL_CRYPTO_LIBRARY=%root%/openssl-1.1/x64/lib/libcrypto.lib -DCMAKE_CXX_FLAGS="/DTD_WINDOWS=1 /EHsc /bigobj /W0" ..
|
||||||
cmake --build . --target storage-daemon storage-daemon-cli blockchain-explorer fift func tonlib tonlibjson tonlib-cli validator-engine lite-client pow-miner validator-engine-console generate-random-id json2tlo dht-server http-proxy rldp-http-proxy adnl-proxy create-state create-hardfork --config Release
|
cmake --build . --target storage-daemon storage-daemon-cli blockchain-explorer fift func tonlib tonlibjson tonlib-cli validator-engine lite-client pow-miner validator-engine-console generate-random-id json2tlo dht-server http-proxy rldp-http-proxy adnl-proxy create-state create-hardfork --config Release
|
||||||
|
|
||||||
- name: Show executables
|
- name: Show executables
|
||||||
|
|
Loading…
Reference in a new issue