1 dnl require autoconf 2.60 (AS_ECHO/AS_ECHO_N)
3 define(_CLIENT_VERSION_MAJOR, 0)
4 define(_CLIENT_VERSION_MINOR, 13)
5 define(_CLIENT_VERSION_REVISION, 99)
6 define(_CLIENT_VERSION_BUILD, 0)
7 define(_CLIENT_VERSION_IS_RELEASE, false)
8 define(_COPYRIGHT_YEAR, 2016)
9 define(_COPYRIGHT_HOLDERS,[The %s developers])
10 define(_COPYRIGHT_HOLDERS_SUBSTITUTION,[[Bitcoin Core]])
11 AC_INIT([Bitcoin Core],[_CLIENT_VERSION_MAJOR._CLIENT_VERSION_MINOR._CLIENT_VERSION_REVISION],[https://github.com/bitcoin/bitcoin/issues],[bitcoin],[https://bitcoincore.org/])
12 AC_CONFIG_SRCDIR([src/main.cpp])
13 AC_CONFIG_HEADERS([src/config/bitcoin-config.h])
14 AC_CONFIG_AUX_DIR([build-aux])
15 AC_CONFIG_MACRO_DIR([build-aux/m4])
17 BITCOIN_DAEMON_NAME=bitcoind
18 BITCOIN_GUI_NAME=bitcoin-qt
19 BITCOIN_CLI_NAME=bitcoin-cli
20 BITCOIN_TX_NAME=bitcoin-tx
24 AH_TOP([#ifndef BITCOIN_CONFIG_H])
25 AH_TOP([#define BITCOIN_CONFIG_H])
26 AH_BOTTOM([#endif //BITCOIN_CONFIG_H])
28 dnl faketime breaks configure and is only needed for make. Disable it here.
31 dnl Automake init set-up and checks
32 AM_INIT_AUTOMAKE([no-define subdir-objects foreign])
34 dnl faketime messes with timestamps and causes configure to be re-run.
35 dnl --disable-maintainer-mode can be used to bypass this.
36 AM_MAINTAINER_MODE([enable])
38 dnl make the compilation flags quiet unless V=1 is used
39 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
41 dnl Compiler checks (here before libtool).
42 if test "x${CXXFLAGS+set}" = "xset"; then
43 CXXFLAGS_overridden=yes
45 CXXFLAGS_overridden=no
48 m4_ifdef([AC_PROG_OBJCXX],[AC_PROG_OBJCXX])
50 dnl By default, libtool for mingw refuses to link static libs into a dll for
51 dnl fear of mixing pic/non-pic objects, and import/export complications. Since
52 dnl we have those under control, re-enable that functionality.
55 lt_cv_deplibs_check_method="pass_all"
58 dnl Require C++11 compiler (no GNU extensions)
59 AX_CXX_COMPILE_STDCXX([11], [noext], [mandatory])
60 dnl Libtool init checks.
63 dnl Check/return PATH for base programs.
65 AC_PATH_TOOL(RANLIB, ranlib)
66 AC_PATH_TOOL(STRIP, strip)
67 AC_PATH_TOOL(GCOV, gcov)
68 AC_PATH_PROG(LCOV, lcov)
69 dnl Python 3.x is supported from 3.4 on (see https://github.com/bitcoin/bitcoin/issues/7893)
70 AC_PATH_PROGS([PYTHON], [python3.6 python3.5 python3.4 python3 python2.7 python2 python])
71 AC_PATH_PROG(GENHTML, genhtml)
72 AC_PATH_PROG([GIT], [git])
73 AC_PATH_PROG(CCACHE,ccache)
74 AC_PATH_PROG(XGETTEXT,xgettext)
75 AC_PATH_PROG(HEXDUMP,hexdump)
76 AC_PATH_TOOL(READELF, readelf)
77 AC_PATH_TOOL(CPPFILT, c++filt)
78 AC_PATH_TOOL(OBJCOPY, objcopy)
80 AC_ARG_VAR(PYTHONPATH, Augments the default search path for python module files)
83 AC_ARG_ENABLE([wallet],
84 [AS_HELP_STRING([--disable-wallet],
85 [disable wallet (enabled by default)])],
86 [enable_wallet=$enableval],
89 AC_ARG_WITH([miniupnpc],
90 [AS_HELP_STRING([--with-miniupnpc],
91 [enable UPNP (default is yes if libminiupnpc is found)])],
95 AC_ARG_ENABLE([upnp-default],
96 [AS_HELP_STRING([--enable-upnp-default],
97 [if UPNP is enabled, turn it on at startup (default is no)])],
98 [use_upnp_default=$enableval],
99 [use_upnp_default=no])
102 AS_HELP_STRING([--disable-tests],[do not compile tests (default is to compile)]),
103 [use_tests=$enableval],
106 AC_ARG_ENABLE(gui-tests,
107 AS_HELP_STRING([--disable-gui-tests],[do not compile GUI tests (default is to compile if GUI and tests enabled)]),
108 [use_gui_tests=$enableval],
109 [use_gui_tests=$use_tests])
112 AS_HELP_STRING([--disable-bench],[do not compile benchmarks (default is to compile)]),
113 [use_bench=$enableval],
116 AC_ARG_ENABLE([extended-rpc-tests],
117 AS_HELP_STRING([--enable-extended-rpc-tests],[enable expensive RPC tests when using lcov (default no)]),
118 [use_extended_rpc_tests=$enableval],
119 [use_extended_rpc_tests=no])
121 AC_ARG_WITH([qrencode],
122 [AS_HELP_STRING([--with-qrencode],
123 [enable QR code support (default is yes if qt is enabled and libqrencode is found)])],
127 AC_ARG_ENABLE([hardening],
128 [AS_HELP_STRING([--disable-hardening],
129 [do not attempt to harden the resulting executables (default is to harden)])],
130 [use_hardening=$enableval],
133 AC_ARG_ENABLE([reduce-exports],
134 [AS_HELP_STRING([--enable-reduce-exports],
135 [attempt to reduce exported symbols in the resulting executables (default is no)])],
136 [use_reduce_exports=$enableval],
137 [use_reduce_exports=no])
139 AC_ARG_ENABLE([ccache],
140 [AS_HELP_STRING([--disable-ccache],
141 [do not use ccache for building (default is to use if found)])],
142 [use_ccache=$enableval],
145 AC_ARG_ENABLE([lcov],
146 [AS_HELP_STRING([--enable-lcov],
147 [enable lcov testing (default is no)])],
151 AC_ARG_ENABLE([glibc-back-compat],
152 [AS_HELP_STRING([--enable-glibc-back-compat],
153 [enable backwards compatibility with glibc])],
154 [use_glibc_compat=$enableval],
155 [use_glibc_compat=no])
157 AC_ARG_WITH([system-univalue],
158 [AS_HELP_STRING([--with-system-univalue],
159 [Build with system UniValue (default is no)])],
160 [system_univalue=$withval],
164 [AS_HELP_STRING([--disable-zmq],
165 [disable ZMQ notifications])],
166 [use_zmq=$enableval],
169 AC_ARG_WITH([protoc-bindir],[AS_HELP_STRING([--with-protoc-bindir=BIN_DIR],[specify protoc bin path])], [protoc_bin_path=$withval], [])
172 AC_ARG_ENABLE([debug],
173 [AS_HELP_STRING([--enable-debug],
174 [use debug compiler flags and macros (default is no)])],
175 [enable_debug=$enableval],
179 AX_CHECK_COMPILE_FLAG([-Werror],[CXXFLAG_WERROR="-Werror"],[CXXFLAG_WERROR=""])
181 if test "x$enable_debug" = xyes; then
182 CPPFLAGS="$CPPFLAGS -DDEBUG -DDEBUG_LOCKORDER"
183 if test "x$GCC" = xyes; then
184 CFLAGS="$CFLAGS -g3 -O0"
187 if test "x$GXX" = xyes; then
188 CXXFLAGS="$CXXFLAGS -g3 -O0"
192 if test "x$CXXFLAGS_overridden" = "xno"; then
193 AX_CHECK_COMPILE_FLAG([-Wall],[CXXFLAGS="$CXXFLAGS -Wall"],,[[$CXXFLAG_WERROR]])
194 AX_CHECK_COMPILE_FLAG([-Wextra],[CXXFLAGS="$CXXFLAGS -Wextra"],,[[$CXXFLAG_WERROR]])
195 AX_CHECK_COMPILE_FLAG([-Wformat],[CXXFLAGS="$CXXFLAGS -Wformat"],,[[$CXXFLAG_WERROR]])
196 AX_CHECK_COMPILE_FLAG([-Wformat-security],[CXXFLAGS="$CXXFLAGS -Wformat-security"],,[[$CXXFLAG_WERROR]])
198 ## Some compilers (gcc) ignore unknown -Wno-* options, but warn about all
199 ## unknown options if any other warning is produced. Test the -Wfoo case, and
200 ## set the -Wno-foo case if it works.
201 AX_CHECK_COMPILE_FLAG([-Wunused-parameter],[CXXFLAGS="$CXXFLAGS -Wno-unused-parameter"],,[[$CXXFLAG_WERROR]])
202 AX_CHECK_COMPILE_FLAG([-Wself-assign],[CXXFLAGS="$CXXFLAGS -Wno-self-assign"],,[[$CXXFLAG_WERROR]])
203 AX_CHECK_COMPILE_FLAG([-Wunused-local-typedef],[CXXFLAGS="$CXXFLAGS -Wno-unused-local-typedef"],,[[$CXXFLAG_WERROR]])
204 AX_CHECK_COMPILE_FLAG([-Wdeprecated-register],[CXXFLAGS="$CXXFLAGS -Wno-deprecated-register"],,[[$CXXFLAG_WERROR]])
206 CPPFLAGS="$CPPFLAGS -DHAVE_BUILD_INFO -D__STDC_FORMAT_MACROS"
209 [AS_HELP_STRING([--with-utils],
210 [build bitcoin-cli bitcoin-tx (default=yes)])],
211 [build_bitcoin_utils=$withval],
212 [build_bitcoin_utils=yes])
215 [AS_HELP_STRING([--with-libs],
216 [build libraries (default=yes)])],
217 [build_bitcoin_libs=$withval],
218 [build_bitcoin_libs=yes])
220 AC_ARG_WITH([daemon],
221 [AS_HELP_STRING([--with-daemon],
222 [build bitcoind daemon (default=yes)])],
223 [build_bitcoind=$withval],
224 [build_bitcoind=yes])
230 #pkgconfig does more harm than good with MinGW
234 AC_CHECK_LIB([mingwthrd], [main],, AC_MSG_ERROR(lib missing))
235 AC_CHECK_LIB([kernel32], [main],, AC_MSG_ERROR(lib missing))
236 AC_CHECK_LIB([user32], [main],, AC_MSG_ERROR(lib missing))
237 AC_CHECK_LIB([gdi32], [main],, AC_MSG_ERROR(lib missing))
238 AC_CHECK_LIB([comdlg32], [main],, AC_MSG_ERROR(lib missing))
239 AC_CHECK_LIB([winspool], [main],, AC_MSG_ERROR(lib missing))
240 AC_CHECK_LIB([winmm], [main],, AC_MSG_ERROR(lib missing))
241 AC_CHECK_LIB([shell32], [main],, AC_MSG_ERROR(lib missing))
242 AC_CHECK_LIB([comctl32], [main],, AC_MSG_ERROR(lib missing))
243 AC_CHECK_LIB([ole32], [main],, AC_MSG_ERROR(lib missing))
244 AC_CHECK_LIB([oleaut32], [main],, AC_MSG_ERROR(lib missing))
245 AC_CHECK_LIB([uuid], [main],, AC_MSG_ERROR(lib missing))
246 AC_CHECK_LIB([rpcrt4], [main],, AC_MSG_ERROR(lib missing))
247 AC_CHECK_LIB([advapi32], [main],, AC_MSG_ERROR(lib missing))
248 AC_CHECK_LIB([ws2_32], [main],, AC_MSG_ERROR(lib missing))
249 AC_CHECK_LIB([mswsock], [main],, AC_MSG_ERROR(lib missing))
250 AC_CHECK_LIB([shlwapi], [main],, AC_MSG_ERROR(lib missing))
251 AC_CHECK_LIB([iphlpapi], [main],, AC_MSG_ERROR(lib missing))
252 AC_CHECK_LIB([crypt32], [main],, AC_MSG_ERROR(lib missing))
254 # -static is interpreted by libtool, where it has a different meaning.
255 # In libtool-speak, it's -all-static.
256 AX_CHECK_LINK_FLAG([[-static]],[LIBTOOL_APP_LDFLAGS="$LIBTOOL_APP_LDFLAGS -all-static"])
258 AC_PATH_PROG([MAKENSIS], [makensis], none)
259 if test x$MAKENSIS = xnone; then
260 AC_MSG_WARN("makensis not found. Cannot create installer.")
263 AC_PATH_TOOL(WINDRES, windres, none)
264 if test x$WINDRES = xnone; then
265 AC_MSG_ERROR("windres not found")
268 CPPFLAGS="$CPPFLAGS -D_MT -DWIN32 -D_WINDOWS -DBOOST_THREAD_USE_LIB"
269 LEVELDB_TARGET_FLAGS="-DOS_WINDOWS"
270 if test "x$CXXFLAGS_overridden" = "xno"; then
271 CXXFLAGS="$CXXFLAGS -w"
274 i?86-*) WINDOWS_BITS=32 ;;
275 x86_64-*) WINDOWS_BITS=64 ;;
276 *) AC_MSG_ERROR("Could not determine win32/win64 for installer") ;;
278 AC_SUBST(WINDOWS_BITS)
280 dnl libtool insists upon adding -nostdlib and a list of objects/libs to link against.
281 dnl That breaks our ability to build dll's with static libgcc/libstdc++/libssp. Override
282 dnl its command here, with the predeps/postdeps removed, and -static inserted. Postdeps are
283 dnl also overridden to prevent their insertion later.
284 dnl This should only affect dll's.
285 archive_cmds_CXX="\$CC -shared \$libobjs \$deplibs \$compiler_flags -static -o \$output_objdir/\$soname \${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker \$lib"
291 LEVELDB_TARGET_FLAGS="-DOS_MACOSX"
292 if test x$cross_compiling != xyes; then
294 AC_CHECK_PROG([PORT],port, port)
295 if test x$PORT = xport; then
296 dnl add default macports paths
297 CPPFLAGS="$CPPFLAGS -isystem /opt/local/include"
298 LIBS="$LIBS -L/opt/local/lib"
299 if test -d /opt/local/include/db48; then
300 CPPFLAGS="$CPPFLAGS -I/opt/local/include/db48"
301 LIBS="$LIBS -L/opt/local/lib/db48"
305 AC_CHECK_PROG([BREW],brew, brew)
306 if test x$BREW = xbrew; then
307 dnl These Homebrew packages may be keg-only, meaning that they won't be found
308 dnl in expected paths because they may conflict with system files. Ask
309 dnl Homebrew where each one is located, then adjust paths accordingly.
310 dnl It's safe to add these paths even if the functionality is disabled by
311 dnl the user (--without-wallet or --without-gui for example).
313 openssl_prefix=`$BREW --prefix openssl 2>/dev/null`
314 bdb_prefix=`$BREW --prefix berkeley-db4 2>/dev/null`
315 qt5_prefix=`$BREW --prefix qt5 2>/dev/null`
316 if test x$openssl_prefix != x; then
317 PKG_CONFIG_PATH="$openssl_prefix/lib/pkgconfig:$PKG_CONFIG_PATH"
318 export PKG_CONFIG_PATH
320 if test x$bdb_prefix != x; then
321 CPPFLAGS="$CPPFLAGS -I$bdb_prefix/include"
322 LIBS="$LIBS -L$bdb_prefix/lib"
324 if test x$qt5_prefix != x; then
325 PKG_CONFIG_PATH="$qt5_prefix/lib/pkgconfig:$PKG_CONFIG_PATH"
326 export PKG_CONFIG_PATH
335 AC_PATH_TOOL([INSTALLNAMETOOL], [install_name_tool], install_name_tool)
336 AC_PATH_TOOL([OTOOL], [otool], otool)
337 AC_PATH_PROGS([GENISOIMAGE], [genisoimage mkisofs],genisoimage)
338 AC_PATH_PROGS([RSVG_CONVERT], [rsvg-convert rsvg],rsvg-convert)
339 AC_PATH_PROGS([IMAGEMAGICK_CONVERT], [convert],convert)
340 AC_PATH_PROGS([TIFFCP], [tiffcp],tiffcp)
342 dnl libtool will try to strip the static lib, which is a problem for
343 dnl cross-builds because strip attempts to call a hard-coded ld,
344 dnl which may not exist in the path. Stripping the .a is not
345 dnl necessary, so just disable it.
351 AX_CHECK_LINK_FLAG([[-Wl,-headerpad_max_install_names]], [LDFLAGS="$LDFLAGS -Wl,-headerpad_max_install_names"])
352 CPPFLAGS="$CPPFLAGS -DMAC_OSX"
353 OBJCXXFLAGS="$CXXFLAGS"
357 LEVELDB_TARGET_FLAGS="-DOS_LINUX"
360 LEVELDB_TARGET_FLAGS="-DOS_FREEBSD"
363 LEVELDB_TARGET_FLAGS="-DOS_OPENBSD"
366 OTHER_OS=`echo ${host_os} | awk '{print toupper($0)}'`
367 AC_MSG_WARN([Guessing LevelDB OS as OS_${OTHER_OS}, please check whether this is correct, if not add an entry to configure.ac.])
368 LEVELDB_TARGET_FLAGS="-DOS_${OTHER_OS}"
372 if test x$use_pkgconfig = xyes; then
373 m4_ifndef([PKG_PROG_PKG_CONFIG], [AC_MSG_ERROR(PKG_PROG_PKG_CONFIG macro not found. Please install pkg-config and re-run autogen.sh.)])
374 m4_ifdef([PKG_PROG_PKG_CONFIG], [
376 if test x"$PKG_CONFIG" = "x"; then
377 AC_MSG_ERROR(pkg-config not found.)
382 if test x$use_extended_rpc_tests != xno; then
383 AC_SUBST(EXTENDED_RPC_TESTS, -extended)
386 if test x$use_lcov = xyes; then
387 if test x$LCOV = x; then
388 AC_MSG_ERROR("lcov testing requested but lcov not found")
390 if test x$GCOV = x; then
391 AC_MSG_ERROR("lcov testing requested but gcov not found")
393 if test x$PYTHON = x; then
394 AC_MSG_ERROR("lcov testing requested but python not found")
396 if test x$GENHTML = x; then
397 AC_MSG_ERROR("lcov testing requested but genhtml not found")
399 LCOV="$LCOV --gcov-tool=$GCOV"
400 AX_CHECK_COMPILE_FLAG([--coverage],[CXXFLAGS="$CXXFLAGS --coverage"],
401 [AC_MSG_ERROR("lcov testing requested but --coverage flag does not work")])
404 dnl Check for endianness
407 dnl Check for pthread compile/link requirements
410 # The following macro will add the necessary defines to bitcoin-config.h, but
411 # they also need to be passed down to any subprojects. Pull the results out of
412 # the cache and add them to CPPFLAGS.
414 # detect POSIX or GNU variant of strerror_r
417 if test x$ac_cv_sys_file_offset_bits != x &&
418 test x$ac_cv_sys_file_offset_bits != xno &&
419 test x$ac_cv_sys_file_offset_bits != xunknown; then
420 CPPFLAGS="$CPPFLAGS -D_FILE_OFFSET_BITS=$ac_cv_sys_file_offset_bits"
423 if test x$ac_cv_sys_large_files != x &&
424 test x$ac_cv_sys_large_files != xno &&
425 test x$ac_cv_sys_large_files != xunknown; then
426 CPPFLAGS="$CPPFLAGS -D_LARGE_FILES=$ac_cv_sys_large_files"
429 AX_CHECK_LINK_FLAG([[-Wl,--large-address-aware]], [LDFLAGS="$LDFLAGS -Wl,--large-address-aware"])
431 AX_GCC_FUNC_ATTRIBUTE([visibility])
432 AX_GCC_FUNC_ATTRIBUTE([dllexport])
433 AX_GCC_FUNC_ATTRIBUTE([dllimport])
435 if test x$use_glibc_compat != xno; then
437 #glibc absorbed clock_gettime in 2.17. librt (its previous location) is safe to link
438 #in anyway for back-compat.
439 AC_CHECK_LIB([rt],[clock_gettime],, AC_MSG_ERROR(lib missing))
441 #__fdelt_chk's params and return type have changed from long unsigned int to long int.
442 # See which one is present here.
443 AC_MSG_CHECKING(__fdelt_chk type)
444 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#ifdef _FORTIFY_SOURCE
445 #undef _FORTIFY_SOURCE
447 #define _FORTIFY_SOURCE 2
448 #include <sys/select.h>
449 extern "C" long unsigned int __fdelt_warn(long unsigned int);]],[[]])],
450 [ fdelt_type="long unsigned int"],
451 [ fdelt_type="long int"])
452 AC_MSG_RESULT($fdelt_type)
453 AC_DEFINE_UNQUOTED(FDELT_TYPE, $fdelt_type,[parameter and return value type for __fdelt_chk])
455 AC_SEARCH_LIBS([clock_gettime],[rt])
458 if test x$TARGET_OS != xwindows; then
459 # All windows code is PIC, forcing it on just adds useless compile warnings
460 AX_CHECK_COMPILE_FLAG([-fPIC],[PIC_FLAGS="-fPIC"])
463 if test x$use_hardening != xno; then
464 AX_CHECK_COMPILE_FLAG([-Wstack-protector],[HARDENED_CXXFLAGS="$HARDENED_CXXFLAGS -Wstack-protector"])
465 AX_CHECK_COMPILE_FLAG([-fstack-protector-all],[HARDENED_CXXFLAGS="$HARDENED_CXXFLAGS -fstack-protector-all"])
467 AX_CHECK_PREPROC_FLAG([-D_FORTIFY_SOURCE=2],[
468 AX_CHECK_PREPROC_FLAG([-U_FORTIFY_SOURCE],[
469 HARDENED_CPPFLAGS="$HARDENED_CPPFLAGS -U_FORTIFY_SOURCE"
471 HARDENED_CPPFLAGS="$HARDENED_CPPFLAGS -D_FORTIFY_SOURCE=2"
474 AX_CHECK_LINK_FLAG([[-Wl,--dynamicbase]], [HARDENED_LDFLAGS="$HARDENED_LDFLAGS -Wl,--dynamicbase"])
475 AX_CHECK_LINK_FLAG([[-Wl,--nxcompat]], [HARDENED_LDFLAGS="$HARDENED_LDFLAGS -Wl,--nxcompat"])
476 AX_CHECK_LINK_FLAG([[-Wl,-z,relro]], [HARDENED_LDFLAGS="$HARDENED_LDFLAGS -Wl,-z,relro"])
477 AX_CHECK_LINK_FLAG([[-Wl,-z,now]], [HARDENED_LDFLAGS="$HARDENED_LDFLAGS -Wl,-z,now"])
479 if test x$TARGET_OS != xwindows; then
480 AX_CHECK_COMPILE_FLAG([-fPIE],[PIE_FLAGS="-fPIE"])
481 AX_CHECK_LINK_FLAG([[-pie]], [HARDENED_LDFLAGS="$HARDENED_LDFLAGS -pie"])
486 AC_CHECK_LIB([ssp], [main],, AC_MSG_ERROR(lib missing))
491 dnl this flag screws up non-darwin gcc even when the check fails. special-case it.
492 if test x$TARGET_OS = xdarwin; then
493 AX_CHECK_LINK_FLAG([[-Wl,-dead_strip]], [LDFLAGS="$LDFLAGS -Wl,-dead_strip"])
496 AC_CHECK_HEADERS([endian.h sys/endian.h byteswap.h stdio.h stdlib.h unistd.h strings.h sys/types.h sys/stat.h sys/select.h sys/prctl.h])
497 AC_SEARCH_LIBS([getaddrinfo_a], [anl], [AC_DEFINE(HAVE_GETADDRINFO_A, 1, [Define this symbol if you have getaddrinfo_a])])
498 AC_SEARCH_LIBS([inet_pton], [nsl resolv], [AC_DEFINE(HAVE_INET_PTON, 1, [Define this symbol if you have inet_pton])])
500 AC_CHECK_DECLS([strnlen])
502 AC_CHECK_DECLS([le16toh, le32toh, le64toh, htole16, htole32, htole64, be16toh, be32toh, be64toh, htobe16, htobe32, htobe64],,,
505 #elif HAVE_SYS_ENDIAN_H
506 #include <sys/endian.h>
509 AC_CHECK_DECLS([bswap_16, bswap_32, bswap_64],,,
511 #include <byteswap.h>
514 dnl Check for MSG_NOSIGNAL
515 AC_MSG_CHECKING(for MSG_NOSIGNAL)
516 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/socket.h>]],
517 [[ int f = MSG_NOSIGNAL; ]])],
518 [ AC_MSG_RESULT(yes); AC_DEFINE(HAVE_MSG_NOSIGNAL, 1,[Define this symbol if you have MSG_NOSIGNAL]) ],
522 AC_MSG_CHECKING([for visibility attribute])
523 AC_LINK_IFELSE([AC_LANG_SOURCE([
524 int foo_def( void ) __attribute__((visibility("default")));
528 AC_DEFINE(HAVE_VISIBILITY_ATTRIBUTE,1,[Define if the visibility attribute is supported.])
533 if test x$use_reduce_exports = xyes; then
534 AC_MSG_ERROR([Cannot find a working visibility attribute. Use --disable-reduce-exports.])
539 if test x$use_reduce_exports = xyes; then
540 AX_CHECK_COMPILE_FLAG([-fvisibility=hidden],[RE_CXXFLAGS="-fvisibility=hidden"],
541 [AC_MSG_ERROR([Cannot set default symbol visibility. Use --disable-reduce-exports.])])
547 AM_CONDITIONAL([EMBEDDED_LEVELDB],[true])
548 AC_SUBST(LEVELDB_CPPFLAGS)
552 if test x$enable_wallet != xno; then
553 dnl Check for libdb_cxx only if wallet enabled
557 dnl Check for libminiupnpc (optional)
558 if test x$use_upnp != xno; then
560 [miniupnpc/miniwget.h miniupnpc/miniupnpc.h miniupnpc/upnpcommands.h miniupnpc/upnperrors.h],
561 [AC_CHECK_LIB([miniupnpc], [main],[MINIUPNPC_LIBS=-lminiupnpc], [have_miniupnpc=no])],
568 dnl sets $bitcoin_enable_qt, $bitcoin_enable_qt_test, $bitcoin_enable_qt_dbus
569 BITCOIN_QT_CONFIGURE([$use_pkgconfig], [qt5])
571 if test x$build_bitcoin_utils$build_bitcoind$bitcoin_enable_qt$use_tests$use_bench = xnonononono; then
577 if test x$use_boost = xyes; then
579 dnl Check for boost libs
583 AX_BOOST_PROGRAM_OPTIONS
588 if test x$use_reduce_exports = xyes; then
589 AC_MSG_CHECKING([for working boost reduced exports])
590 TEMP_CPPFLAGS="$CPPFLAGS"
591 CPPFLAGS="$BOOST_CPPFLAGS $CPPFLAGS"
592 AC_PREPROC_IFELSE([AC_LANG_PROGRAM([[
593 @%:@include <boost/version.hpp>
595 #if BOOST_VERSION >= 104900
596 // Everything is okay
598 # error Boost version is too old
603 AC_MSG_ERROR([boost versions < 1.49 are known to be broken with reduced exports. Use --disable-reduce-exports.])
605 CPPFLAGS="$TEMP_CPPFLAGS"
609 if test x$use_reduce_exports = xyes; then
610 CXXFLAGS="$CXXFLAGS $RE_CXXFLAGS"
611 AX_CHECK_LINK_FLAG([[-Wl,--exclude-libs,ALL]], [RELDFLAGS="-Wl,--exclude-libs,ALL"])
614 if test x$use_tests = xyes; then
616 if test x$HEXDUMP = x; then
617 AC_MSG_ERROR(hexdump is required for tests)
621 if test x$use_boost = xyes; then
623 AX_BOOST_UNIT_TEST_FRAMEWORK
625 dnl Determine if -DBOOST_TEST_DYN_LINK is needed
626 AC_MSG_CHECKING([for dynamic linked boost test])
628 LIBS="$LIBS $BOOST_LDFLAGS $BOOST_UNIT_TEST_FRAMEWORK_LIB"
629 TEMP_CPPFLAGS="$CPPFLAGS"
630 CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS"
631 AC_LINK_IFELSE([AC_LANG_SOURCE([
632 #define BOOST_TEST_DYN_LINK
633 #define BOOST_TEST_MAIN
634 #include <boost/test/unit_test.hpp>
638 [TESTDEFS="$TESTDEFS -DBOOST_TEST_DYN_LINK"],
641 CPPFLAGS="$TEMP_CPPFLAGS"
646 if test x$use_boost = xyes; then
648 BOOST_LIBS="$BOOST_LDFLAGS $BOOST_SYSTEM_LIB $BOOST_FILESYSTEM_LIB $BOOST_PROGRAM_OPTIONS_LIB $BOOST_THREAD_LIB $BOOST_CHRONO_LIB"
651 dnl If boost (prior to 1.57) was built without c++11, it emulated scoped enums
652 dnl using c++98 constructs. Unfortunately, this implementation detail leaked into
653 dnl the abi. This was fixed in 1.57.
655 dnl When building against that installed version using c++11, the headers pick up
656 dnl on the native c++11 scoped enum support and enable it, however it will fail to
657 dnl link. This can be worked around by disabling c++11 scoped enums if linking will
659 dnl BOOST_NO_SCOPED_ENUMS was changed to BOOST_NO_CXX11_SCOPED_ENUMS in 1.51.
662 LIBS="$BOOST_LIBS $LIBS"
663 TEMP_CPPFLAGS="$CPPFLAGS"
664 CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS"
665 AC_MSG_CHECKING([for mismatched boost c++11 scoped enums])
666 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
667 #include "boost/config.hpp"
668 #include "boost/version.hpp"
669 #if !defined(BOOST_NO_SCOPED_ENUMS) && !defined(BOOST_NO_CXX11_SCOPED_ENUMS) && BOOST_VERSION < 105700
670 #define BOOST_NO_SCOPED_ENUMS
671 #define BOOST_NO_CXX11_SCOPED_ENUMS
674 #include "boost/filesystem.hpp"
677 boost::filesystem::copy_file("foo", "bar");
682 [AC_MSG_RESULT(mismatched); BOOST_CPPFLAGS="$BOOST_CPPFLAGS -DBOOST_NO_SCOPED_ENUMS -DBOOST_NO_CXX11_SCOPED_ENUMS"], [AC_MSG_RESULT(ok)])
684 CPPFLAGS="$TEMP_CPPFLAGS"
686 dnl Boost >= 1.50 uses sleep_for rather than the now-deprecated sleep, however
687 dnl it was broken from 1.50 to 1.52 when backed by nanosleep. Use sleep_for if
688 dnl a working version is available, else fall back to sleep. sleep was removed
690 dnl If neither is available, abort.
692 LIBS="$BOOST_LIBS $LIBS"
693 TEMP_CPPFLAGS="$CPPFLAGS"
694 CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS"
695 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
696 #include <boost/thread/thread.hpp>
697 #include <boost/version.hpp>
699 #if BOOST_VERSION >= 105000 && (!defined(BOOST_HAS_NANOSLEEP) || BOOST_VERSION >= 105200)
700 boost::this_thread::sleep_for(boost::chrono::milliseconds(0));
706 AC_DEFINE(HAVE_WORKING_BOOST_SLEEP_FOR, 1, [Define this symbol if boost sleep_for works])],
709 CPPFLAGS="$TEMP_CPPFLAGS"
711 if test x$boost_sleep != xyes; then
713 LIBS="$BOOST_LIBS $LIBS"
714 TEMP_CPPFLAGS="$CPPFLAGS"
715 CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS"
716 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
717 #include <boost/version.hpp>
718 #include <boost/thread.hpp>
719 #include <boost/date_time/posix_time/posix_time_types.hpp>
721 #if BOOST_VERSION <= 105600
722 boost::this_thread::sleep(boost::posix_time::milliseconds(0));
727 [boost_sleep=yes; AC_DEFINE(HAVE_WORKING_BOOST_SLEEP, 1, [Define this symbol if boost sleep works])],
730 CPPFLAGS="$TEMP_CPPFLAGS"
733 if test x$boost_sleep != xyes; then
734 AC_MSG_ERROR(No working boost sleep implementation found.)
739 if test x$use_pkgconfig = xyes; then
744 PKG_CHECK_MODULES([SSL], [libssl],, [AC_MSG_ERROR(openssl not found.)])
745 PKG_CHECK_MODULES([CRYPTO], [libcrypto],,[AC_MSG_ERROR(libcrypto not found.)])
746 BITCOIN_QT_CHECK([PKG_CHECK_MODULES([PROTOBUF], [protobuf], [have_protobuf=yes], [BITCOIN_QT_FAIL(libprotobuf not found)])])
747 if test x$use_qr != xno; then
748 BITCOIN_QT_CHECK([PKG_CHECK_MODULES([QR], [libqrencode], [have_qrencode=yes], [have_qrencode=no])])
750 if test x$build_bitcoin_utils$build_bitcoind$bitcoin_enable_qt$use_tests != xnononono; then
751 PKG_CHECK_MODULES([EVENT], [libevent],, [AC_MSG_ERROR(libevent not found.)])
752 if test x$TARGET_OS != xwindows; then
753 PKG_CHECK_MODULES([EVENT_PTHREADS], [libevent_pthreads],, [AC_MSG_ERROR(libevent_pthreads not found.)])
757 if test "x$use_zmq" = "xyes"; then
758 PKG_CHECK_MODULES([ZMQ],[libzmq >= 4],
759 [AC_DEFINE([ENABLE_ZMQ],[1],[Define to 1 to enable ZMQ functions])],
760 [AC_DEFINE([ENABLE_ZMQ],[0],[Define to 1 to enable ZMQ functions])
761 AC_MSG_WARN([libzmq version 4.x or greater not found, disabling])
764 AC_DEFINE_UNQUOTED([ENABLE_ZMQ],[0],[Define to 1 to enable ZMQ functions])
769 AC_CHECK_HEADER([openssl/crypto.h],,AC_MSG_ERROR(libcrypto headers missing))
770 AC_CHECK_LIB([crypto], [main],CRYPTO_LIBS=-lcrypto, AC_MSG_ERROR(libcrypto missing))
772 AC_CHECK_HEADER([openssl/ssl.h],, AC_MSG_ERROR(libssl headers missing),)
773 AC_CHECK_LIB([ssl], [main],SSL_LIBS=-lssl, AC_MSG_ERROR(libssl missing))
775 if test x$build_bitcoin_utils$build_bitcoind$bitcoin_enable_qt$use_tests != xnononono; then
776 AC_CHECK_HEADER([event2/event.h],, AC_MSG_ERROR(libevent headers missing),)
777 AC_CHECK_LIB([event],[main],EVENT_LIBS=-levent,AC_MSG_ERROR(libevent missing))
778 if test x$TARGET_OS != xwindows; then
779 AC_CHECK_LIB([event_pthreads],[main],EVENT_PTHREADS_LIBS=-levent_pthreads,AC_MSG_ERROR(libevent_pthreads missing))
783 if test "x$use_zmq" = "xyes"; then
784 AC_CHECK_HEADER([zmq.h],
785 [AC_DEFINE([ENABLE_ZMQ],[1],[Define to 1 to enable ZMQ functions])],
786 [AC_MSG_WARN([zmq.h not found, disabling zmq support])
788 AC_DEFINE([ENABLE_ZMQ],[0],[Define to 1 to enable ZMQ functions])])
789 AC_CHECK_LIB([zmq],[zmq_ctx_shutdown],ZMQ_LIBS=-lzmq,
790 [AC_MSG_WARN([libzmq >= 4.0 not found, disabling zmq support])
792 AC_DEFINE([ENABLE_ZMQ],[0],[Define to 1 to enable ZMQ functions])])
794 AC_DEFINE_UNQUOTED([ENABLE_ZMQ],[0],[Define to 1 to enable ZMQ functions])
797 if test "x$use_zmq" = "xyes"; then
798 dnl Assume libzmq was built for static linking
801 ZMQ_CFLAGS="$ZMQ_CFLAGS -DZMQ_STATIC"
806 BITCOIN_QT_CHECK(AC_CHECK_LIB([protobuf] ,[main],[PROTOBUF_LIBS=-lprotobuf], BITCOIN_QT_FAIL(libprotobuf not found)))
807 if test x$use_qr != xno; then
808 BITCOIN_QT_CHECK([AC_CHECK_LIB([qrencode], [main],[QR_LIBS=-lqrencode], [have_qrencode=no])])
809 BITCOIN_QT_CHECK([AC_CHECK_HEADER([qrencode.h],, have_qrencode=no)])
815 need_bundled_univalue=yes
817 if test x$build_bitcoin_utils$build_bitcoind$bitcoin_enable_qt$use_tests$use_bench = xnonononono; then
818 need_bundled_univalue=no
821 if test x$system_univalue != xno ; then
823 if test x$use_pkgconfig = xyes; then
828 PKG_CHECK_MODULES([UNIVALUE],[libunivalue],[found_univalue=yes],[true])
832 AC_CHECK_HEADER([univalue.h],[
833 AC_CHECK_LIB([univalue], [main],[
834 UNIVALUE_LIBS=-lunivalue
840 if test x$found_univalue = xyes ; then
842 need_bundled_univalue=no
843 elif test x$system_univalue = xyes ; then
844 AC_MSG_ERROR([univalue not found])
850 if test x$need_bundled_univalue = xyes ; then
851 UNIVALUE_CFLAGS='-I$(srcdir)/univalue/include'
852 UNIVALUE_LIBS='univalue/libunivalue.la'
857 AM_CONDITIONAL([EMBEDDED_UNIVALUE],[test x$need_bundled_univalue = xyes])
858 AC_SUBST(UNIVALUE_CFLAGS)
859 AC_SUBST(UNIVALUE_LIBS)
861 BITCOIN_QT_PATH_PROGS([PROTOC], [protoc],$protoc_bin_path)
863 AC_MSG_CHECKING([whether to build bitcoind])
864 AM_CONDITIONAL([BUILD_BITCOIND], [test x$build_bitcoind = xyes])
865 AC_MSG_RESULT($build_bitcoind)
867 AC_MSG_CHECKING([whether to build utils (bitcoin-cli bitcoin-tx)])
868 AM_CONDITIONAL([BUILD_BITCOIN_UTILS], [test x$build_bitcoin_utils = xyes])
869 AC_MSG_RESULT($build_bitcoin_utils)
871 AC_MSG_CHECKING([whether to build libraries])
872 AM_CONDITIONAL([BUILD_BITCOIN_LIBS], [test x$build_bitcoin_libs = xyes])
873 if test x$build_bitcoin_libs = xyes; then
874 AC_DEFINE(HAVE_CONSENSUS_LIB, 1, [Define this symbol if the consensus lib has been built])
875 AC_CONFIG_FILES([libbitcoinconsensus.pc:libbitcoinconsensus.pc.in])
877 AC_MSG_RESULT($build_bitcoin_libs)
881 if test "x$use_ccache" != "xno"; then
882 AC_MSG_CHECKING(if ccache should be used)
883 if test x$CCACHE = x; then
884 if test "x$use_ccache" = "xyes"; then
885 AC_MSG_ERROR([ccache not found.]);
891 CC="$ac_cv_path_CCACHE $CC"
892 CXX="$ac_cv_path_CCACHE $CXX"
894 AC_MSG_RESULT($use_ccache)
896 if test "x$use_ccache" = "xyes"; then
897 AX_CHECK_PREPROC_FLAG([-Qunused-arguments],[CPPFLAGS="-Qunused-arguments $CPPFLAGS"])
901 AC_MSG_CHECKING([if wallet should be enabled])
902 if test x$enable_wallet != xno; then
904 AC_DEFINE_UNQUOTED([ENABLE_WALLET],[1],[Define to 1 to enable wallet functions])
910 dnl enable upnp support
911 AC_MSG_CHECKING([whether to build with support for UPnP])
912 if test x$have_miniupnpc = xno; then
913 if test x$use_upnp = xyes; then
914 AC_MSG_ERROR("UPnP requested but cannot be built. use --without-miniupnpc")
918 if test x$use_upnp != xno; then
920 AC_MSG_CHECKING([whether to build with UPnP enabled by default])
923 if test x$use_upnp_default != xno; then
927 AC_MSG_RESULT($use_upnp_default)
928 AC_DEFINE_UNQUOTED([USE_UPNP],[$upnp_setting],[UPnP support not compiled if undefined, otherwise value (0 or 1) determines default state])
929 if test x$TARGET_OS = xwindows; then
930 MINIUPNPC_CPPFLAGS="-DSTATICLIB -DMINIUPNP_STATICLIB"
937 dnl these are only used when qt is enabled
939 if test x$bitcoin_enable_qt != xno; then
940 dnl enable dbus support
941 AC_MSG_CHECKING([whether to build GUI with support for D-Bus])
942 if test x$bitcoin_enable_qt_dbus != xno; then
943 AC_DEFINE([USE_DBUS],[1],[Define if dbus support should be compiled in])
945 AC_MSG_RESULT($bitcoin_enable_qt_dbus)
947 dnl enable qr support
948 AC_MSG_CHECKING([whether to build GUI with support for QR codes])
949 if test x$have_qrencode = xno; then
950 if test x$use_qr = xyes; then
951 AC_MSG_ERROR("QR support requested but cannot be built. use --without-qrencode")
955 if test x$use_qr != xno; then
957 AC_DEFINE([USE_QRCODE],[1],[Define if QR support should be compiled in])
964 if test x$XGETTEXT = x; then
965 AC_MSG_WARN("xgettext is required to update qt translations")
968 AC_MSG_CHECKING([whether to build test_bitcoin-qt])
969 if test x$use_gui_tests$bitcoin_enable_qt_test = xyesyes; then
977 AM_CONDITIONAL([ENABLE_ZMQ], [test "x$use_zmq" = "xyes"])
979 AC_MSG_CHECKING([whether to build test_bitcoin])
980 if test x$use_tests = xyes; then
988 AC_MSG_CHECKING([whether to reduce exports])
989 if test x$use_reduce_exports = xyes; then
995 if test x$build_bitcoin_utils$build_bitcoin_libs$build_bitcoind$bitcoin_enable_qt$use_bench$use_tests = xnononononono; then
996 AC_MSG_ERROR([No targets! Please specify at least one of: --with-utils --with-libs --with-daemon --with-gui --enable-bench or --enable-tests])
999 AM_CONDITIONAL([TARGET_DARWIN], [test x$TARGET_OS = xdarwin])
1000 AM_CONDITIONAL([BUILD_DARWIN], [test x$BUILD_OS = xdarwin])
1001 AM_CONDITIONAL([TARGET_WINDOWS], [test x$TARGET_OS = xwindows])
1002 AM_CONDITIONAL([ENABLE_WALLET],[test x$enable_wallet = xyes])
1003 AM_CONDITIONAL([ENABLE_TESTS],[test x$BUILD_TEST = xyes])
1004 AM_CONDITIONAL([ENABLE_QT],[test x$bitcoin_enable_qt = xyes])
1005 AM_CONDITIONAL([ENABLE_QT_TESTS],[test x$BUILD_TEST_QT = xyes])
1006 AM_CONDITIONAL([ENABLE_BENCH],[test x$use_bench = xyes])
1007 AM_CONDITIONAL([USE_QRCODE], [test x$use_qr = xyes])
1008 AM_CONDITIONAL([USE_LCOV],[test x$use_lcov = xyes])
1009 AM_CONDITIONAL([GLIBC_BACK_COMPAT],[test x$use_glibc_compat = xyes])
1010 AM_CONDITIONAL([HARDEN],[test x$use_hardening = xyes])
1012 AC_DEFINE(CLIENT_VERSION_MAJOR, _CLIENT_VERSION_MAJOR, [Major version])
1013 AC_DEFINE(CLIENT_VERSION_MINOR, _CLIENT_VERSION_MINOR, [Minor version])
1014 AC_DEFINE(CLIENT_VERSION_REVISION, _CLIENT_VERSION_REVISION, [Build revision])
1015 AC_DEFINE(CLIENT_VERSION_BUILD, _CLIENT_VERSION_BUILD, [Version Build])
1016 AC_DEFINE(CLIENT_VERSION_IS_RELEASE, _CLIENT_VERSION_IS_RELEASE, [Version is release])
1017 AC_DEFINE(COPYRIGHT_YEAR, _COPYRIGHT_YEAR, [Copyright year])
1018 AC_DEFINE(COPYRIGHT_HOLDERS, "_COPYRIGHT_HOLDERS", [Copyright holder(s) before %s replacement])
1019 AC_DEFINE(COPYRIGHT_HOLDERS_SUBSTITUTION, "_COPYRIGHT_HOLDERS_SUBSTITUTION", [Replacement for %s in copyright holders string])
1020 define(_COPYRIGHT_HOLDERS_FINAL, [patsubst(_COPYRIGHT_HOLDERS, [%s], [_COPYRIGHT_HOLDERS_SUBSTITUTION])])
1021 AC_DEFINE(COPYRIGHT_HOLDERS_FINAL, "_COPYRIGHT_HOLDERS_FINAL", [Copyright holder(s)])
1022 AC_SUBST(CLIENT_VERSION_MAJOR, _CLIENT_VERSION_MAJOR)
1023 AC_SUBST(CLIENT_VERSION_MINOR, _CLIENT_VERSION_MINOR)
1024 AC_SUBST(CLIENT_VERSION_REVISION, _CLIENT_VERSION_REVISION)
1025 AC_SUBST(CLIENT_VERSION_BUILD, _CLIENT_VERSION_BUILD)
1026 AC_SUBST(CLIENT_VERSION_IS_RELEASE, _CLIENT_VERSION_IS_RELEASE)
1027 AC_SUBST(COPYRIGHT_YEAR, _COPYRIGHT_YEAR)
1028 AC_SUBST(COPYRIGHT_HOLDERS, "_COPYRIGHT_HOLDERS")
1029 AC_SUBST(COPYRIGHT_HOLDERS_SUBSTITUTION, "_COPYRIGHT_HOLDERS_SUBSTITUTION")
1030 AC_SUBST(COPYRIGHT_HOLDERS_FINAL, "_COPYRIGHT_HOLDERS_FINAL")
1031 AC_SUBST(BITCOIN_DAEMON_NAME)
1032 AC_SUBST(BITCOIN_GUI_NAME)
1033 AC_SUBST(BITCOIN_CLI_NAME)
1034 AC_SUBST(BITCOIN_TX_NAME)
1037 AC_SUBST(HARDENED_CXXFLAGS)
1038 AC_SUBST(HARDENED_CPPFLAGS)
1039 AC_SUBST(HARDENED_LDFLAGS)
1042 AC_SUBST(LIBTOOL_APP_LDFLAGS)
1044 AC_SUBST(USE_QRCODE)
1045 AC_SUBST(BOOST_LIBS)
1047 AC_SUBST(LEVELDB_TARGET_FLAGS)
1048 AC_SUBST(MINIUPNPC_CPPFLAGS)
1049 AC_SUBST(MINIUPNPC_LIBS)
1050 AC_SUBST(CRYPTO_LIBS)
1052 AC_SUBST(EVENT_LIBS)
1053 AC_SUBST(EVENT_PTHREADS_LIBS)
1055 AC_SUBST(PROTOBUF_LIBS)
1057 AC_CONFIG_FILES([Makefile src/Makefile share/setup.nsi share/qt/Info.plist src/test/buildenv.py])
1058 AC_CONFIG_FILES([qa/pull-tester/run-bitcoind-for-test.sh],[chmod +x qa/pull-tester/run-bitcoind-for-test.sh])
1059 AC_CONFIG_FILES([qa/pull-tester/tests_config.py],[chmod +x qa/pull-tester/tests_config.py])
1060 AC_CONFIG_FILES([contrib/devtools/split-debug.sh],[chmod +x contrib/devtools/split-debug.sh])
1061 AC_CONFIG_LINKS([qa/pull-tester/rpc-tests.py:qa/pull-tester/rpc-tests.py])
1063 dnl boost's m4 checks do something really nasty: they export these vars. As a
1064 dnl result, they leak into secp256k1's configure and crazy things happen.
1065 dnl Until this is fixed upstream and we've synced, we'll just un-export them.
1066 CPPFLAGS_TEMP="$CPPFLAGS"
1068 CPPFLAGS="$CPPFLAGS_TEMP"
1070 LDFLAGS_TEMP="$LDFLAGS"
1072 LDFLAGS="$LDFLAGS_TEMP"
1078 PKGCONFIG_PATH_TEMP="$PKG_CONFIG_PATH"
1079 unset PKG_CONFIG_PATH
1080 PKG_CONFIG_PATH="$PKGCONFIG_PATH_TEMP"
1082 PKGCONFIG_LIBDIR_TEMP="$PKG_CONFIG_LIBDIR"
1083 unset PKG_CONFIG_LIBDIR
1084 PKG_CONFIG_LIBDIR="$PKGCONFIG_LIBDIR_TEMP"
1086 if test x$need_bundled_univalue = xyes; then
1087 AC_CONFIG_SUBDIRS([src/univalue])
1090 ac_configure_args="${ac_configure_args} --disable-shared --with-pic --with-bignum=no --enable-module-recovery"
1091 AC_CONFIG_SUBDIRS([src/secp256k1])
1095 dnl Taken from https://wiki.debian.org/RpathIssue
1098 AC_MSG_RESULT([Fixing libtool for -rpath problems.])
1099 sed < libtool > libtool-2 \
1100 's/^hardcode_libdir_flag_spec.*$'/'hardcode_libdir_flag_spec=" -D__LIBTOOL_IS_A_FOOL__ "/'
1101 mv libtool-2 libtool
1106 dnl Replace the BUILDDIR path with the correct Windows path if compiling on Native Windows
1109 sed 's/BUILDDIR="\/\([[a-z]]\)/BUILDDIR="\1:/' qa/pull-tester/tests_config.py > qa/pull-tester/tests_config-2.py
1110 mv qa/pull-tester/tests_config-2.py qa/pull-tester/tests_config.py