mirror of
https://github.com/logos-messaging/logos-messaging-nim.git
synced 2026-02-01 20:43:08 +00:00
72 lines
2.2 KiB
Bash
Executable File
72 lines
2.2 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
# Build native C dependencies from nimble cache paths
|
|
# This script builds the C libraries required by Nim packages
|
|
|
|
set -e
|
|
|
|
# Get package paths from nimble
|
|
BEARSSL_PATH=$(nimble path bearssl 2>/dev/null || echo "")
|
|
SECP256K1_PATH=$(nimble path secp256k1 2>/dev/null || echo "")
|
|
NAT_TRAVERSAL_PATH=$(nimble path nat_traversal 2>/dev/null || echo "")
|
|
LIBBACKTRACE_PATH=$(nimble path libbacktrace 2>/dev/null || echo "")
|
|
|
|
# Optional cross-compilation support
|
|
CC="${CC:-cc}"
|
|
AR="${AR:-ar}"
|
|
|
|
echo "Building native dependencies..."
|
|
echo "CC=$CC"
|
|
echo "AR=$AR"
|
|
|
|
# Build BearSSL
|
|
if [ -n "$BEARSSL_PATH" ] && [ -d "$BEARSSL_PATH/bearssl/csources" ]; then
|
|
echo "Building BearSSL..."
|
|
make -C "$BEARSSL_PATH/bearssl/csources" lib CC="$CC" AR="$AR"
|
|
else
|
|
echo "Warning: BearSSL path not found or csources missing"
|
|
fi
|
|
|
|
# Build secp256k1
|
|
if [ -n "$SECP256K1_PATH" ] && [ -d "$SECP256K1_PATH/vendor/secp256k1" ]; then
|
|
echo "Building secp256k1..."
|
|
SECP_DIR="$SECP256K1_PATH/vendor/secp256k1"
|
|
if [ ! -f "$SECP_DIR/configure" ]; then
|
|
echo "Running autogen.sh..."
|
|
(cd "$SECP_DIR" && ./autogen.sh)
|
|
fi
|
|
if [ ! -f "$SECP_DIR/Makefile" ]; then
|
|
echo "Running configure..."
|
|
(cd "$SECP_DIR" && ./configure --enable-module-recovery --enable-module-ecdh CC="$CC")
|
|
fi
|
|
make -C "$SECP_DIR" CC="$CC"
|
|
else
|
|
echo "Warning: secp256k1 path not found"
|
|
fi
|
|
|
|
# Build miniupnpc
|
|
if [ -n "$NAT_TRAVERSAL_PATH" ] && [ -d "$NAT_TRAVERSAL_PATH/vendor/miniupnp/miniupnpc" ]; then
|
|
echo "Building miniupnpc..."
|
|
make -C "$NAT_TRAVERSAL_PATH/vendor/miniupnp/miniupnpc" build/libminiupnpc.a CC="$CC" AR="$AR"
|
|
else
|
|
echo "Warning: miniupnpc path not found"
|
|
fi
|
|
|
|
# Build libnatpmp
|
|
if [ -n "$NAT_TRAVERSAL_PATH" ] && [ -d "$NAT_TRAVERSAL_PATH/vendor/libnatpmp-upstream" ]; then
|
|
echo "Building libnatpmp..."
|
|
make -C "$NAT_TRAVERSAL_PATH/vendor/libnatpmp-upstream" libnatpmp.a CC="$CC" AR="$AR"
|
|
else
|
|
echo "Warning: libnatpmp path not found"
|
|
fi
|
|
|
|
# Build libbacktrace
|
|
if [ -n "$LIBBACKTRACE_PATH" ]; then
|
|
echo "Building libbacktrace..."
|
|
make -C "$LIBBACKTRACE_PATH" BUILD_CXX_LIB=0 CC="$CC"
|
|
else
|
|
echo "Warning: libbacktrace path not found"
|
|
fi
|
|
|
|
echo "Native dependencies built successfully!"
|