Add openssl and curl for contentdb
parent
5b610f3df5
commit
77f05cf77e
|
@ -3,3 +3,4 @@ build/
|
|||
sources/
|
||||
install/
|
||||
www/
|
||||
upload.sh
|
||||
|
|
|
@ -16,7 +16,8 @@ emcc --clear-cache --clear-ports
|
|||
./build_zstd.sh
|
||||
./build_sqlite3.sh
|
||||
./build_webshims.sh
|
||||
./build_curl.sh # uses webshims
|
||||
./build_openssl.sh
|
||||
./build_curl.sh # uses webshims, openssl
|
||||
|
||||
# Minetest
|
||||
./pull_minetest.sh
|
||||
|
|
|
@ -34,7 +34,9 @@ export CXXFLAGS="$CFLAGS"
|
|||
export LDFLAGS="-L${INSTALL_DIR}/lib -lemsocket"
|
||||
|
||||
emcmake cmake \
|
||||
-DCURL_ENABLE_SSL=OFF \
|
||||
-DOPENSSL_SSL_LIBRARY="$INSTALL_DIR/lib/libssl.a" \
|
||||
-DOPENSSL_CRYPTO_LIBRARY="$INSTALL_DIR/lib/libcrypto.a" \
|
||||
-DOPENSSL_INCLUDE_DIR="$INSTALL_DIR/include" \
|
||||
-DBUILD_CURL_EXE=OFF \
|
||||
-DBUILD_SHARED_LIBS=OFF \
|
||||
-DCMAKE_INSTALL_PREFIX="$INSTALL_DIR" \
|
||||
|
|
|
@ -32,6 +32,12 @@ unzip "$SRC_DIR"/"$ZIPFILE"
|
|||
|
||||
rm -rf fsroot
|
||||
mkdir fsroot
|
||||
|
||||
# Copy root certificates for OpenSSL
|
||||
mkdir -p fsroot/etc/ssl/certs
|
||||
# ca-certificates.crt may be a symlink
|
||||
cat /etc/ssl/certs/ca-certificates.crt > fsroot/etc/ssl/certs/ca-certificates.crt
|
||||
|
||||
mv "$ZIPDIR" fsroot/minetest
|
||||
|
||||
pushd fsroot/minetest
|
||||
|
|
|
@ -14,7 +14,8 @@ pushd minetest
|
|||
export EMSDK_EXTRA="-sUSE_SDL=2"
|
||||
export CFLAGS="$CFLAGS $EMSDK_EXTRA"
|
||||
export CXXFLAGS="$CXXFLAGS $EMSDK_EXTRA"
|
||||
export LDFLAGS="$LDFLAGS $EMSDK_EXTRA -sALLOW_MEMORY_GROWTH=1 -sPTHREAD_POOL_SIZE=20 -s EXPORTED_RUNTIME_METHODS=ccall,cwrap -L$INSTALL_DIR/lib -lemsocket"
|
||||
export LDFLAGS="$LDFLAGS $EMSDK_EXTRA -sALLOW_MEMORY_GROWTH=1 -sPTHREAD_POOL_SIZE=20 -s EXPORTED_RUNTIME_METHODS=ccall,cwrap"
|
||||
export LDFLAGS="$LDFLAGS -L$INSTALL_DIR/lib -lssl -lcrypto -lemsocket -lwebsocket.js"
|
||||
|
||||
# Used by CMakeFiles.txt in the webport
|
||||
export FSROOT_DIR="$BUILD_DIR/fsroot"
|
||||
|
@ -26,9 +27,6 @@ echo > dummy.c
|
|||
emcc -c dummy.c -o dummy.o
|
||||
DUMMY_OBJECT="$(pwd)/dummy.o"
|
||||
|
||||
# -DCURL_LIBRARY="$INSTALL_DIR/lib/libcurl.a" \
|
||||
# -DCURL_INCLUDE_DIR="$INSTALL_DIR/include" \
|
||||
|
||||
if ! $INCREMENTAL; then
|
||||
emcmake cmake \
|
||||
-DENABLE_SYSTEM_GMP=OFF \
|
||||
|
@ -56,6 +54,8 @@ if ! $INCREMENTAL; then
|
|||
-DZSTD_INCLUDE_DIR="$INSTALL_DIR/include" \
|
||||
-DEGL_LIBRARY="$DUMMY_OBJECT" \
|
||||
-DEGL_INCLUDE_DIR="$EMSDK_SYSINCLUDE" \
|
||||
-DCURL_LIBRARY="$INSTALL_DIR/lib/libcurl.a" \
|
||||
-DCURL_INCLUDE_DIR="$INSTALL_DIR/include" \
|
||||
-G "Unix Makefiles" \
|
||||
"$BASE_DIR/minetest"
|
||||
fi
|
||||
|
|
|
@ -0,0 +1,51 @@
|
|||
#!/bin/bash -eux
|
||||
|
||||
source common.sh
|
||||
|
||||
URL="https://www.openssl.org/source/openssl-1.1.1n.tar.gz"
|
||||
TARBALL="openssl-1.1.1n.tar.gz"
|
||||
TARDIR="openssl-1.1.1n"
|
||||
|
||||
if [ ! -f sources/"$TARBALL" ]; then
|
||||
pushd sources
|
||||
wget "$URL" -O "$TARBALL"
|
||||
popd
|
||||
fi
|
||||
|
||||
if ! sha256sum sources/"$TARBALL" | grep -q 40dceb51a4f6a5275bde0e6bf20ef4b91bfc32ed57c0552e2e8e15463372b17a; then
|
||||
echo "Wrong checksum for $URL"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
pushd build
|
||||
|
||||
rm -rf "$TARDIR"
|
||||
tar -zxvf "$SRC_DIR/$TARBALL"
|
||||
|
||||
$SRC_DIR/webshims/src/emsocket/wrap.py "$TARDIR"
|
||||
|
||||
pushd "$TARDIR"
|
||||
patch -p1 < "$BASE_DIR"/openssl.patch
|
||||
|
||||
export CFLAGS="-I${INSTALL_DIR}/include -DPEDANTIC"
|
||||
export CXXFLAGS="$CFLAGS"
|
||||
export LDFLAGS="-L${INSTALL_DIR}/lib -lemsocket"
|
||||
|
||||
emconfigure ./Configure linux-generic64 \
|
||||
no-asm \
|
||||
no-engine \
|
||||
no-hw \
|
||||
no-weak-ssl-ciphers \
|
||||
no-dtls \
|
||||
no-shared \
|
||||
no-dso \
|
||||
-DPEDANTIC \
|
||||
--prefix="$INSTALL_DIR" --openssldir=/ssl
|
||||
|
||||
sed -i 's|^CROSS_COMPILE.*$|CROSS_COMPILE=|g' Makefile
|
||||
|
||||
emmake make build_generated libssl.a libcrypto.a
|
||||
cp -r include/openssl "$INSTALL_DIR/include"
|
||||
cp libcrypto.a libssl.a "$INSTALL_DIR/lib"
|
||||
|
||||
echo "openssl OK"
|
14
common.sh
14
common.sh
|
@ -15,16 +15,16 @@ test -d "$INSTALL_DIR"
|
|||
export BUILD_KIND=Release
|
||||
|
||||
if [ $BUILD_KIND == Debug ]; then
|
||||
export BUILD_CFLAGS="-g -gsource-map -O0 --source-map-base=/dev/"
|
||||
export BUILD_LDFLAGS="-sSAFE_HEAP=1 -sASSERTIONS=2 -sDEMANGLE_SUPPORT=1"
|
||||
export COMMON_CFLAGS="-g -gsource-map -O0 --source-map-base=/dev/"
|
||||
export COMMON_LDFLAGS="-sSAFE_HEAP=1 -sASSERTIONS=2 -sDEMANGLE_SUPPORT=1"
|
||||
else
|
||||
export BUILD_CFLAGS="-O2"
|
||||
export BUILD_LDFLAGS=""
|
||||
export COMMON_CFLAGS="-O2"
|
||||
export COMMON_LDFLAGS=""
|
||||
fi
|
||||
|
||||
export CFLAGS="$BUILD_CFLAGS -pthread -sUSE_PTHREADS=1 -fexceptions"
|
||||
export CXXFLAGS="$BUILD_CFLAGS -pthread -sUSE_PTHREADS=1 -fexceptions"
|
||||
export LDFLAGS="$BUILD_LDFLAGS -pthread -sUSE_PTHREADS=1 -fexceptions -sEXIT_RUNTIME"
|
||||
export CFLAGS="$COMMON_CFLAGS -pthread -sUSE_PTHREADS=1 -fexceptions"
|
||||
export CXXFLAGS="$COMMON_CFLAGS -pthread -sUSE_PTHREADS=1 -fexceptions"
|
||||
export LDFLAGS="$COMMON_LDFLAGS -pthread -sUSE_PTHREADS=1 -fexceptions -sEXIT_RUNTIME"
|
||||
|
||||
export EMSDK_ROOT="$HOME/emsdk"
|
||||
export EMSDK_SYSLIB="${EMSDK_ROOT}/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten"
|
||||
|
|
|
@ -0,0 +1,25 @@
|
|||
diff -urN openssl-1.1.1n/Configurations/10-main.conf openssl-1.1.1n-fixed/Configurations/10-main.conf
|
||||
--- openssl-1.1.1n/Configurations/10-main.conf 2022-03-15 14:37:47.000000000 +0000
|
||||
+++ openssl-1.1.1n-fixed/Configurations/10-main.conf 2022-04-05 10:48:27.348576840 +0000
|
||||
@@ -657,7 +657,8 @@
|
||||
},
|
||||
"linux-generic64" => {
|
||||
inherit_from => [ "linux-generic32" ],
|
||||
- bn_ops => "SIXTY_FOUR_BIT_LONG RC4_CHAR",
|
||||
+ bn_ops => "SIXTY_FOUR_BIT RC4_CHAR",
|
||||
+ lib_cppflags => add("-DBN_DIV2W"),
|
||||
},
|
||||
|
||||
"linux-ppc" => {
|
||||
diff -urN openssl-1.1.1n/crypto/rand/rand_unix.c openssl-1.1.1n-fixed/crypto/rand/rand_unix.c
|
||||
--- openssl-1.1.1n/crypto/rand/rand_unix.c 2022-04-05 10:54:21.980130409 +0000
|
||||
+++ openssl-1.1.1n-fixed/crypto/rand/rand_unix.c 2022-04-05 09:27:47.960526811 +0000
|
||||
@@ -369,7 +369,7 @@
|
||||
* Note: Sometimes getentropy() can be provided but not implemented
|
||||
* internally. So we need to check errno for ENOSYS
|
||||
*/
|
||||
-# if defined(__GNUC__) && __GNUC__>=2 && defined(__ELF__) && !defined(__hpux)
|
||||
+# if defined(__EMSCRIPTEN__)
|
||||
extern int getentropy(void *buffer, size_t length) __attribute__((weak));
|
||||
|
||||
if (getentropy != NULL) {
|
Loading…
Reference in New Issue