use all cores for build, used shared ssl libs for both linux and macos, add build support for x64 and arm64
This commit is contained in:
parent
17b42553b2
commit
bb9281db48
5
Makefile
5
Makefile
@ -120,6 +120,10 @@ else
|
|||||||
else \
|
else \
|
||||||
cp $(DPP_BUILD_DIR)/$(DPP_LIB_NAME) $(BIN_DIR)/$(DPP_LIB_NAME); \
|
cp $(DPP_BUILD_DIR)/$(DPP_LIB_NAME) $(BIN_DIR)/$(DPP_LIB_NAME); \
|
||||||
fi
|
fi
|
||||||
|
@# Copy OpenSSL shared libraries for runtime
|
||||||
|
@if [ -f ../libssl/libssl.so ]; then \
|
||||||
|
cp ../libssl/libssl.so ../libssl/libcrypto.so $(BIN_DIR)/; \
|
||||||
|
fi
|
||||||
endif
|
endif
|
||||||
@echo "Build complete: $(OUTPUT_FILE)"
|
@echo "Build complete: $(OUTPUT_FILE)"
|
||||||
|
|
||||||
@ -169,3 +173,4 @@ cleanall:
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
18
README.md
18
README.md
@ -17,7 +17,7 @@ Prototype C++ Discord bot, that supports 2 features
|
|||||||
|
|
||||||
## Build
|
## Build
|
||||||
|
|
||||||
### Ubuntu Linux
|
### Ubuntu Linux x64
|
||||||
|
|
||||||
```
|
```
|
||||||
sudo apt install build-essential git cmake -y
|
sudo apt install build-essential git cmake -y
|
||||||
@ -25,26 +25,26 @@ mkdir workdir && cd workdir
|
|||||||
mkdir zlib libssl DPP poomer-discord sqlite3 && cd zlib
|
mkdir zlib libssl DPP poomer-discord sqlite3 && cd zlib
|
||||||
git clone https://github.com/madler/zlib.git .
|
git clone https://github.com/madler/zlib.git .
|
||||||
./configure --static
|
./configure --static
|
||||||
make -j4
|
make -j$(sysctl -n hw.ncpu)
|
||||||
cd ../libssl && git clone https://github.com/openssl/openssl.git .
|
cd ../libssl && git clone https://github.com/openssl/openssl.git .
|
||||||
./Configure linux-x86_64 no-shared
|
./Configure $([ "$(uname -m)" = "aarch64" ] && echo "linux-aarch64" || echo "linux-x86_64")
|
||||||
make -j4
|
make -j$(sysctl -n hw.ncpu)
|
||||||
cd ../DPP && git clone https://github.com/brainboxdotcc/DPP.git .
|
cd ../DPP && git clone https://github.com/brainboxdotcc/DPP.git .
|
||||||
#zlib wants an absolute path to help cmake find_package work, ssl requires explicit vars
|
#zlib wants an absolute path to help cmake find_package work, ssl requires explicit vars
|
||||||
cmake -B ./build \
|
cmake -B ./build \
|
||||||
-DCMAKE_PREFIX_PATH="$PWD/../zlib;$PWD/../libssl"
|
-DCMAKE_PREFIX_PATH="$PWD/../zlib;$PWD/../libssl"
|
||||||
cmake --build ./build -j4
|
cmake --build ./build -j$(sysctl -n hw.ncpu)
|
||||||
cd ../sqlite3
|
cd ../sqlite3
|
||||||
wget https://www.sqlite.org/2025/sqlite-autoconf-3510100.tar.gz
|
wget https://www.sqlite.org/2025/sqlite-autoconf-3510100.tar.gz
|
||||||
tar xzf sqlite-autoconf-3510100.tar.gz --strip-components=1
|
tar xzf sqlite-autoconf-3510100.tar.gz --strip-components=1
|
||||||
./configure --enable-static --disable-shared && make -j4
|
./configure --enable-static --disable-shared && make -j$(sysctl -n hw.ncpu)
|
||||||
cd ../poomer-discord && git clone https://git.indoodle.com/oomer/poomer-discord.git .
|
cd ../poomer-discord && git clone https://git.indoodle.com/oomer/poomer-discord.git .
|
||||||
wget https://raw.githubusercontent.com/nothings/stb/master/stb_image.h
|
wget https://raw.githubusercontent.com/nothings/stb/master/stb_image.h
|
||||||
wget https://raw.githubusercontent.com/nothings/stb/master/stb_image_write.h
|
wget https://raw.githubusercontent.com/nothings/stb/master/stb_image_write.h
|
||||||
make all -j4
|
make all -j$(sysctl -n hw.ncpu)
|
||||||
```
|
```
|
||||||
|
|
||||||
### MacOS
|
### MacOS x64 and arm64
|
||||||
|
|
||||||
```
|
```
|
||||||
mkdir workdir && cd workdir
|
mkdir workdir && cd workdir
|
||||||
@ -57,7 +57,7 @@ make -j$(sysctl -n hw.ncpu)
|
|||||||
|
|
||||||
# Build OpenSSL (creates dynamic .dylib libraries needed for DPP)
|
# Build OpenSSL (creates dynamic .dylib libraries needed for DPP)
|
||||||
cd ../libssl && git clone https://github.com/openssl/openssl.git .
|
cd ../libssl && git clone https://github.com/openssl/openssl.git .
|
||||||
./Configure darwin64-arm64-cc
|
./Configure $([ "$(uname -m)" = "arm64" ] && echo "darwin64-arm64-cc" || echo "darwin64-x86_64-cc")
|
||||||
make -j$(sysctl -n hw.ncpu)
|
make -j$(sysctl -n hw.ncpu)
|
||||||
# Fix OpenSSL library install names for portability
|
# Fix OpenSSL library install names for portability
|
||||||
# Run this after OpenSSL is built to make the libraries use @rpath instead of hardcoded paths
|
# Run this after OpenSSL is built to make the libraries use @rpath instead of hardcoded paths
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user