Browse Source
heavily based on Electron-Cash/Electron-Cash@eda015908e9d6ea9a0adfbda9db55b929c0926bamaster
11 changed files with 146 additions and 105 deletions
@ -1,56 +0,0 @@
|
||||
#!/bin/bash |
||||
# heavily based on https://github.com/ofek/coincurve/blob/417e726f553460f88d7edfa5dc67bfda397c4e4a/.travis/build_windows_wheels.sh |
||||
|
||||
set -e |
||||
|
||||
here="$(dirname "$(readlink -e "$0")")" |
||||
LIBSECP_VERSION="b408c6a8b287003d1ade5709e6f7bc3c7f1d5be7" |
||||
|
||||
. "$CONTRIB"/build_tools_util.sh |
||||
|
||||
info "building libsecp256k1..." |
||||
|
||||
|
||||
build_dll() { |
||||
#sudo apt-get install -y mingw-w64 |
||||
export SOURCE_DATE_EPOCH=1530212462 |
||||
echo "LDFLAGS = -no-undefined" >> Makefile.am |
||||
./autogen.sh |
||||
# Note: set both --build and --host when running configure |
||||
# Otherwise weird voodoo magic happens with Docker and Wine. |
||||
# https://www.gnu.org/software/autoconf/manual/autoconf-2.69/html_node/Hosts-and-Cross_002dCompilation.html |
||||
LDFLAGS="-Wl,--no-insert-timestamp" ./configure \ |
||||
--host=$1 \ |
||||
--build=x86_64-pc-linux-gnu \ |
||||
--enable-module-recovery \ |
||||
--enable-experimental \ |
||||
--enable-module-ecdh \ |
||||
--disable-jni |
||||
make -j4 |
||||
${1}-strip .libs/libsecp256k1-0.dll |
||||
} |
||||
|
||||
|
||||
cd "$CACHEDIR" |
||||
|
||||
if [ -f "secp256k1/libsecp256k1.dll" ]; then |
||||
info "libsecp256k1.dll already built, skipping" |
||||
exit 0 |
||||
fi |
||||
|
||||
|
||||
if [ ! -d secp256k1 ]; then |
||||
git clone https://github.com/bitcoin-core/secp256k1.git |
||||
fi |
||||
|
||||
cd secp256k1 |
||||
git reset --hard |
||||
git clean -f -x -q |
||||
git checkout $LIBSECP_VERSION |
||||
|
||||
build_dll i686-w64-mingw32 # 64-bit would be: x86_64-w64-mingw32 |
||||
mv .libs/libsecp256k1-0.dll libsecp256k1.dll |
||||
|
||||
find -exec touch -d '2000-11-11T11:11:11+00:00' {} + |
||||
|
||||
info "building libsecp256k1 finished" |
||||
@ -0,0 +1,49 @@
|
||||
#!/bin/bash |
||||
|
||||
LIBSECP_VERSION="b408c6a8b287003d1ade5709e6f7bc3c7f1d5be7" |
||||
|
||||
set -e |
||||
|
||||
here=$(dirname $(realpath "$0" 2> /dev/null || grealpath "$0")) |
||||
CONTRIB="$here" |
||||
PROJECT_ROOT="$CONTRIB/.." |
||||
|
||||
. "$here"/build_tools_util.sh || (echo "Could not source build_tools_util.sh" && exit 1) |
||||
|
||||
pkgname="secp256k1" |
||||
info "Building $pkgname..." |
||||
|
||||
( |
||||
cd $CONTRIB |
||||
if [ ! -d secp256k1 ]; then |
||||
git clone https://github.com/bitcoin-core/secp256k1.git |
||||
fi |
||||
cd secp256k1 |
||||
git reset --hard |
||||
git clean -f -x -q |
||||
git checkout $LIBSECP_VERSION |
||||
|
||||
if ! [ -x configure ] ; then |
||||
echo "libsecp256k1_la_LDFLAGS = -no-undefined" >> Makefile.am |
||||
echo "LDFLAGS = -no-undefined" >> Makefile.am |
||||
./autogen.sh || fail "Could not run autogen for $pkgname. Please make sure you have automake and libtool installed, and try again." |
||||
fi |
||||
if ! [ -r config.status ] ; then |
||||
./configure \ |
||||
$AUTOCONF_FLAGS \ |
||||
--prefix="$here/$pkgname/dist" \ |
||||
--enable-module-recovery \ |
||||
--enable-experimental \ |
||||
--enable-module-ecdh \ |
||||
--disable-jni \ |
||||
--disable-tests \ |
||||
--disable-static \ |
||||
--enable-shared || fail "Could not configure $pkgname. Please make sure you have a C compiler installed and try again." |
||||
fi |
||||
make -j4 || fail "Could not build $pkgname" |
||||
make install || fail "Could not install $pkgname" |
||||
. "$here/$pkgname/dist/lib/libsecp256k1.la" |
||||
host_strip "$here/$pkgname/dist/lib/$dlname" |
||||
cp -fpv "$here/$pkgname/dist/lib/$dlname" "$PROJECT_ROOT/electrum" || fail "Could not copy the $pkgname binary to its destination" |
||||
info "$dlname has been placed in the inner 'electrum' folder." |
||||
) |
||||
Loading…
Reference in new issue