mirror of
https://github.com/Retropex/bitcoin.git
synced 2025-05-28 04:52:36 +02:00
configure: Add unsupported --with-system-libsecp256k1 configure flag
This commit is contained in:
parent
96ec3b67a7
commit
0c7ad462c9
19
configure.ac
19
configure.ac
@ -1364,6 +1364,23 @@ if test "$enable_fuzz_binary" = "yes"; then
|
||||
CHECK_RUNTIME_LIB
|
||||
fi
|
||||
|
||||
dnl Check for libsecp256k1, only if explicitly requested
|
||||
AC_ARG_WITH([system-libsecp256k1],
|
||||
[AS_HELP_STRING([--with-system-libsecp256k1],
|
||||
[Build with system libsecp256k1 (default is no; DANGEROUS; NOT SUPPORTED)])],
|
||||
[system_libsecp256k1=$withval],
|
||||
[system_libsecp256k1=no]
|
||||
)
|
||||
if test x$system_libsecp256k1 != xno; then
|
||||
PKG_CHECK_MODULES([libsecp256k1],[libsecp256k1],,[true])
|
||||
else
|
||||
libsecp256k1_CFLAGS='-I$(srcdir)/secp256k1/include'
|
||||
libsecp256k1_LIBS='secp256k1/libsecp256k1.la'
|
||||
fi
|
||||
AM_CONDITIONAL([EMBEDDED_LIBSECP256K1],[test x$system_libsecp256k1 = xno])
|
||||
AC_SUBST(libsecp256k1_CFLAGS)
|
||||
AC_SUBST(libsecp256k1_LIBS)
|
||||
|
||||
if test "$enable_wallet" != "no"; then
|
||||
dnl Check for libdb_cxx only if wallet enabled
|
||||
if test "$use_bdb" != "no"; then
|
||||
@ -1959,8 +1976,10 @@ CPPFLAGS_TEMP="$CPPFLAGS"
|
||||
unset CPPFLAGS
|
||||
CPPFLAGS="$CPPFLAGS_TEMP"
|
||||
|
||||
if test x$system_libsecp256k1 = xno; then
|
||||
ac_configure_args="${ac_configure_args} --disable-shared --with-pic --enable-benchmark=no --enable-module-recovery --disable-module-ecdh"
|
||||
AC_CONFIG_SUBDIRS([src/secp256k1])
|
||||
fi
|
||||
|
||||
AC_OUTPUT
|
||||
|
||||
|
@ -24,7 +24,7 @@ check_PROGRAMS =
|
||||
TESTS =
|
||||
BENCHMARKS =
|
||||
|
||||
BITCOIN_INCLUDES=-I$(builddir) -I$(srcdir)/$(MINISKETCH_INCLUDE_DIR_INT) -I$(srcdir)/secp256k1/include -I$(srcdir)/$(UNIVALUE_INCLUDE_DIR_INT)
|
||||
BITCOIN_INCLUDES=-I$(builddir) -I$(srcdir)/$(MINISKETCH_INCLUDE_DIR_INT) $(libsecp256k1_CFLAGS) -I$(srcdir)/$(UNIVALUE_INCLUDE_DIR_INT)
|
||||
|
||||
LIBBITCOIN_NODE=libbitcoin_node.a
|
||||
LIBBITCOIN_COMMON=libbitcoin_common.a
|
||||
@ -33,7 +33,11 @@ LIBBITCOIN_CLI=libbitcoin_cli.a
|
||||
LIBBITCOIN_UTIL=libbitcoin_util.a
|
||||
LIBBITCOIN_CRYPTO_BASE=crypto/libbitcoin_crypto_base.la
|
||||
LIBBITCOINQT=qt/libbitcoinqt.a
|
||||
if EMBEDDED_LIBSECP256K1
|
||||
LIBSECP256K1=secp256k1/libsecp256k1.la
|
||||
else
|
||||
LIBSECP256K1=$(libsecp256k1_LIBS)
|
||||
endif
|
||||
|
||||
if ENABLE_ZMQ
|
||||
LIBBITCOIN_ZMQ=libbitcoin_zmq.a
|
||||
@ -68,8 +72,10 @@ LIBBITCOIN_CRYPTO += $(LIBBITCOIN_CRYPTO_ARM_SHANI)
|
||||
endif
|
||||
noinst_LTLIBRARIES += $(LIBBITCOIN_CRYPTO)
|
||||
|
||||
if EMBEDDED_LIBSECP256K1
|
||||
$(LIBSECP256K1): $(wildcard secp256k1/src/*.h) $(wildcard secp256k1/src/*.c) $(wildcard secp256k1/include/*)
|
||||
$(AM_V_at)$(MAKE) $(AM_MAKEFLAGS) -C $(@D) $(@F)
|
||||
endif
|
||||
|
||||
# Make is not made aware of per-object dependencies to avoid limiting building parallelization
|
||||
# But to build the less dependent modules first, we manually select their order here:
|
||||
@ -908,7 +914,7 @@ lib_LTLIBRARIES += $(LIBBITCOINKERNEL)
|
||||
|
||||
libbitcoinkernel_la_LDFLAGS = $(AM_LDFLAGS) -no-undefined $(RELDFLAGS) $(PTHREAD_FLAGS)
|
||||
libbitcoinkernel_la_LIBADD = $(LIBBITCOIN_CRYPTO) $(LIBLEVELDB) $(LIBMEMENV) $(LIBSECP256K1)
|
||||
libbitcoinkernel_la_CPPFLAGS = $(AM_CPPFLAGS) -I$(builddir)/obj -I$(srcdir)/secp256k1/include -DBUILD_BITCOIN_INTERNAL $(BOOST_CPPFLAGS) $(LEVELDB_CPPFLAGS)
|
||||
libbitcoinkernel_la_CPPFLAGS = $(AM_CPPFLAGS) -I$(builddir)/obj $(libsecp256k1_CFLAGS) -DBUILD_BITCOIN_INTERNAL $(BOOST_CPPFLAGS) $(LEVELDB_CPPFLAGS)
|
||||
|
||||
# libbitcoinkernel requires default symbol visibility, explicitly specify that
|
||||
# here so that things still work even when user configures with
|
||||
@ -1015,7 +1021,7 @@ libbitcoinconsensus_la_SOURCES = support/cleanse.cpp $(crypto_libbitcoin_crypto_
|
||||
|
||||
libbitcoinconsensus_la_LDFLAGS = $(AM_LDFLAGS) -no-undefined $(RELDFLAGS)
|
||||
libbitcoinconsensus_la_LIBADD = $(LIBSECP256K1)
|
||||
libbitcoinconsensus_la_CPPFLAGS = $(AM_CPPFLAGS) -I$(builddir)/obj -I$(srcdir)/secp256k1/include -DBUILD_BITCOIN_INTERNAL
|
||||
libbitcoinconsensus_la_CPPFLAGS = $(AM_CPPFLAGS) -I$(builddir)/obj $(libsecp256k1_CFLAGS) -DBUILD_BITCOIN_INTERNAL
|
||||
libbitcoinconsensus_la_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS)
|
||||
|
||||
endif
|
||||
|
@ -392,7 +392,9 @@ if ENABLE_BENCH
|
||||
$(BENCH_BINARY) -sanity-check -priority-level=high
|
||||
endif
|
||||
endif
|
||||
if EMBEDDED_LIBSECP256K1
|
||||
$(AM_V_at)$(MAKE) $(AM_MAKEFLAGS) -C secp256k1 check
|
||||
endif
|
||||
|
||||
if ENABLE_TESTS
|
||||
UNIVALUE_TESTS = univalue/test/object univalue/test/unitester
|
||||
|
Loading…
Reference in New Issue
Block a user