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 Check if -latomic is required for <std::atomic>
63 dnl Libtool init checks.
66 dnl Check/return PATH for base programs.
68 AC_PATH_TOOL(RANLIB, ranlib)
69 AC_PATH_TOOL(STRIP, strip)
70 AC_PATH_TOOL(GCOV, gcov)
71 AC_PATH_PROG(LCOV, lcov)
72 AC_PATH_PROGS([PYTHON], [python3 python2.7 python2 python])
73 AC_PATH_PROG(GENHTML, genhtml)
74 AC_PATH_PROG([GIT], [git])
75 AC_PATH_PROG(CCACHE,ccache)
76 AC_PATH_PROG(XGETTEXT,xgettext)
77 AC_PATH_PROG(HEXDUMP,hexdump)
78 AC_PATH_TOOL(READELF, readelf)
79 AC_PATH_TOOL(CPPFILT, c++filt)
80 AC_PATH_TOOL(OBJCOPY, objcopy)
82 AC_ARG_VAR(PYTHONPATH, Augments the default search path for python module files)
85 AC_ARG_ENABLE([wallet],
86 [AS_HELP_STRING([--disable-wallet],
87 [disable wallet (enabled by default)])],
88 [enable_wallet=$enableval],
91 AC_ARG_WITH([miniupnpc],
92 [AS_HELP_STRING([--with-miniupnpc],
93 [enable UPNP (default is yes if libminiupnpc is found)])],
97 AC_ARG_ENABLE([upnp-default],
98 [AS_HELP_STRING([--enable-upnp-default],
99 [if UPNP is enabled, turn it on at startup (default is no)])],
100 [use_upnp_default=$enableval],
101 [use_upnp_default=no])
104 AS_HELP_STRING([--disable-tests],[do not compile tests (default is to compile)]),
105 [use_tests=$enableval],
108 AC_ARG_ENABLE(gui-tests,
109 AS_HELP_STRING([--disable-gui-tests],[do not compile GUI tests (default is to compile if GUI and tests enabled)]),
110 [use_gui_tests=$enableval],
111 [use_gui_tests=$use_tests])
114 AS_HELP_STRING([--disable-bench],[do not compile benchmarks (default is to compile)]),
115 [use_bench=$enableval],
118 AC_ARG_ENABLE([extended-rpc-tests],
119 AS_HELP_STRING([--enable-extended-rpc-tests],[enable expensive RPC tests when using lcov (default no)]),
120 [use_extended_rpc_tests=$enableval],
121 [use_extended_rpc_tests=no])
123 AC_ARG_WITH([qrencode],
124 [AS_HELP_STRING([--with-qrencode],
125 [enable QR code support (default is yes if qt is enabled and libqrencode is found)])],
129 AC_ARG_ENABLE([hardening],
130 [AS_HELP_STRING([--disable-hardening],
131 [do not attempt to harden the resulting executables (default is to harden)])],
132 [use_hardening=$enableval],
135 AC_ARG_ENABLE([reduce-exports],
136 [AS_HELP_STRING([--enable-reduce-exports],
137 [attempt to reduce exported symbols in the resulting executables (default is no)])],
138 [use_reduce_exports=$enableval],
139 [use_reduce_exports=no])
141 AC_ARG_ENABLE([ccache],
142 [AS_HELP_STRING([--disable-ccache],
143 [do not use ccache for building (default is to use if found)])],
144 [use_ccache=$enableval],
147 AC_ARG_ENABLE([lcov],
148 [AS_HELP_STRING([--enable-lcov],
149 [enable lcov testing (default is no)])],
153 AC_ARG_ENABLE([glibc-back-compat],
154 [AS_HELP_STRING([--enable-glibc-back-compat],
155 [enable backwards compatibility with glibc])],
156 [use_glibc_compat=$enableval],
157 [use_glibc_compat=no])
159 AC_ARG_WITH([system-univalue],
160 [AS_HELP_STRING([--with-system-univalue],
161 [Build with system UniValue (default is no)])],
162 [system_univalue=$withval],
166 [AS_HELP_STRING([--disable-zmq],
167 [disable ZMQ notifications])],
168 [use_zmq=$enableval],
171 AC_ARG_WITH([protoc-bindir],[AS_HELP_STRING([--with-protoc-bindir=BIN_DIR],[specify protoc bin path])], [protoc_bin_path=$withval], [])
174 AC_ARG_ENABLE([debug],
175 [AS_HELP_STRING([--enable-debug],
176 [use debug compiler flags and macros (default is no)])],
177 [enable_debug=$enableval],
181 AX_CHECK_COMPILE_FLAG([-Werror],[CXXFLAG_WERROR="-Werror"],[CXXFLAG_WERROR=""])
183 if test "x$enable_debug" = xyes; then
184 CPPFLAGS="$CPPFLAGS -DDEBUG -DDEBUG_LOCKORDER"
185 if test "x$GCC" = xyes; then
186 CFLAGS="$CFLAGS -g3 -O0"
189 if test "x$GXX" = xyes; then
190 CXXFLAGS="$CXXFLAGS -g3 -O0"
194 if test "x$CXXFLAGS_overridden" = "xno"; then
195 AX_CHECK_COMPILE_FLAG([-Wall],[CXXFLAGS="$CXXFLAGS -Wall"],,[[$CXXFLAG_WERROR]])
196 AX_CHECK_COMPILE_FLAG([-Wextra],[CXXFLAGS="$CXXFLAGS -Wextra"],,[[$CXXFLAG_WERROR]])
197 AX_CHECK_COMPILE_FLAG([-Wformat],[CXXFLAGS="$CXXFLAGS -Wformat"],,[[$CXXFLAG_WERROR]])
198 AX_CHECK_COMPILE_FLAG([-Wformat-security],[CXXFLAGS="$CXXFLAGS -Wformat-security"],,[[$CXXFLAG_WERROR]])
200 ## Some compilers (gcc) ignore unknown -Wno-* options, but warn about all
201 ## unknown options if any other warning is produced. Test the -Wfoo case, and
202 ## set the -Wno-foo case if it works.
203 AX_CHECK_COMPILE_FLAG([-Wunused-parameter],[CXXFLAGS="$CXXFLAGS -Wno-unused-parameter"],,[[$CXXFLAG_WERROR]])
204 AX_CHECK_COMPILE_FLAG([-Wself-assign],[CXXFLAGS="$CXXFLAGS -Wno-self-assign"],,[[$CXXFLAG_WERROR]])
205 AX_CHECK_COMPILE_FLAG([-Wunused-local-typedef],[CXXFLAGS="$CXXFLAGS -Wno-unused-local-typedef"],,[[$CXXFLAG_WERROR]])
206 AX_CHECK_COMPILE_FLAG([-Wdeprecated-register],[CXXFLAGS="$CXXFLAGS -Wno-deprecated-register"],,[[$CXXFLAG_WERROR]])
208 CPPFLAGS="$CPPFLAGS -DHAVE_BUILD_INFO -D__STDC_FORMAT_MACROS"
211 [AS_HELP_STRING([--with-utils],
212 [build bitcoin-cli bitcoin-tx (default=yes)])],
213 [build_bitcoin_utils=$withval],
214 [build_bitcoin_utils=yes])
217 [AS_HELP_STRING([--with-libs],
218 [build libraries (default=yes)])],
219 [build_bitcoin_libs=$withval],
220 [build_bitcoin_libs=yes])
222 AC_ARG_WITH([daemon],
223 [AS_HELP_STRING([--with-daemon],
224 [build bitcoind daemon (default=yes)])],
225 [build_bitcoind=$withval],
226 [build_bitcoind=yes])
232 #pkgconfig does more harm than good with MinGW
236 AC_CHECK_LIB([mingwthrd], [main],, AC_MSG_ERROR(lib missing))
237 AC_CHECK_LIB([kernel32], [main],, AC_MSG_ERROR(lib missing))
238 AC_CHECK_LIB([user32], [main],, AC_MSG_ERROR(lib missing))
239 AC_CHECK_LIB([gdi32], [main],, AC_MSG_ERROR(lib missing))
240 AC_CHECK_LIB([comdlg32], [main],, AC_MSG_ERROR(lib missing))
241 AC_CHECK_LIB([winspool], [main],, AC_MSG_ERROR(lib missing))
242 AC_CHECK_LIB([winmm], [main],, AC_MSG_ERROR(lib missing))
243 AC_CHECK_LIB([shell32], [main],, AC_MSG_ERROR(lib missing))
244 AC_CHECK_LIB([comctl32], [main],, AC_MSG_ERROR(lib missing))
245 AC_CHECK_LIB([ole32], [main],, AC_MSG_ERROR(lib missing))
246 AC_CHECK_LIB([oleaut32], [main],, AC_MSG_ERROR(lib missing))
247 AC_CHECK_LIB([uuid], [main],, AC_MSG_ERROR(lib missing))
248 AC_CHECK_LIB([rpcrt4], [main],, AC_MSG_ERROR(lib missing))
249 AC_CHECK_LIB([advapi32], [main],, AC_MSG_ERROR(lib missing))
250 AC_CHECK_LIB([ws2_32], [main],, AC_MSG_ERROR(lib missing))
251 AC_CHECK_LIB([mswsock], [main],, AC_MSG_ERROR(lib missing))
252 AC_CHECK_LIB([shlwapi], [main],, AC_MSG_ERROR(lib missing))
253 AC_CHECK_LIB([iphlpapi], [main],, AC_MSG_ERROR(lib missing))
254 AC_CHECK_LIB([crypt32], [main],, AC_MSG_ERROR(lib missing))
256 # -static is interpreted by libtool, where it has a different meaning.
257 # In libtool-speak, it's -all-static.
258 AX_CHECK_LINK_FLAG([[-static]],[LIBTOOL_APP_LDFLAGS="$LIBTOOL_APP_LDFLAGS -all-static"])
260 AC_PATH_PROG([MAKENSIS], [makensis], none)
261 if test x$MAKENSIS = xnone; then
262 AC_MSG_WARN("makensis not found. Cannot create installer.")
265 AC_PATH_TOOL(WINDRES, windres, none)
266 if test x$WINDRES = xnone; then
267 AC_MSG_ERROR("windres not found")
270 CPPFLAGS="$CPPFLAGS -D_MT -DWIN32 -D_WINDOWS -DBOOST_THREAD_USE_LIB"
271 LEVELDB_TARGET_FLAGS="-DOS_WINDOWS"
272 if test "x$CXXFLAGS_overridden" = "xno"; then
273 CXXFLAGS="$CXXFLAGS -w"
276 i?86-*) WINDOWS_BITS=32 ;;
277 x86_64-*) WINDOWS_BITS=64 ;;
278 *) AC_MSG_ERROR("Could not determine win32/win64 for installer") ;;
280 AC_SUBST(WINDOWS_BITS)
282 dnl libtool insists upon adding -nostdlib and a list of objects/libs to link against.
283 dnl That breaks our ability to build dll's with static libgcc/libstdc++/libssp. Override
284 dnl its command here, with the predeps/postdeps removed, and -static inserted. Postdeps are
285 dnl also overridden to prevent their insertion later.
286 dnl This should only affect dll's.
287 archive_cmds_CXX="\$CC -shared \$libobjs \$deplibs \$compiler_flags -static -o \$output_objdir/\$soname \${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker \$lib"
293 LEVELDB_TARGET_FLAGS="-DOS_MACOSX"
294 if test x$cross_compiling != xyes; then
296 AC_CHECK_PROG([PORT],port, port)
297 if test x$PORT = xport; then
298 dnl add default macports paths
299 CPPFLAGS="$CPPFLAGS -isystem /opt/local/include"
300 LIBS="$LIBS -L/opt/local/lib"
301 if test -d /opt/local/include/db48; then
302 CPPFLAGS="$CPPFLAGS -I/opt/local/include/db48"
303 LIBS="$LIBS -L/opt/local/lib/db48"
307 AC_CHECK_PROG([BREW],brew, brew)
308 if test x$BREW = xbrew; then
309 dnl These Homebrew packages may be keg-only, meaning that they won't be found
310 dnl in expected paths because they may conflict with system files. Ask
311 dnl Homebrew where each one is located, then adjust paths accordingly.
312 dnl It's safe to add these paths even if the functionality is disabled by
313 dnl the user (--without-wallet or --without-gui for example).
315 openssl_prefix=`$BREW --prefix openssl 2>/dev/null`
316 bdb_prefix=`$BREW --prefix berkeley-db4 2>/dev/null`
317 qt5_prefix=`$BREW --prefix qt5 2>/dev/null`
318 if test x$openssl_prefix != x; then
319 PKG_CONFIG_PATH="$openssl_prefix/lib/pkgconfig:$PKG_CONFIG_PATH"
320 export PKG_CONFIG_PATH
322 if test x$bdb_prefix != x; then
323 CPPFLAGS="$CPPFLAGS -I$bdb_prefix/include"
324 LIBS="$LIBS -L$bdb_prefix/lib"
326 if test x$qt5_prefix != x; then
327 PKG_CONFIG_PATH="$qt5_prefix/lib/pkgconfig:$PKG_CONFIG_PATH"
328 export PKG_CONFIG_PATH
337 AC_PATH_TOOL([INSTALLNAMETOOL], [install_name_tool], install_name_tool)
338 AC_PATH_TOOL([OTOOL], [otool], otool)
339 AC_PATH_PROGS([GENISOIMAGE], [genisoimage mkisofs],genisoimage)
340 AC_PATH_PROGS([RSVG_CONVERT], [rsvg-convert rsvg],rsvg-convert)
341 AC_PATH_PROGS([IMAGEMAGICK_CONVERT], [convert],convert)
342 AC_PATH_PROGS([TIFFCP], [tiffcp],tiffcp)
344 dnl libtool will try to strip the static lib, which is a problem for
345 dnl cross-builds because strip attempts to call a hard-coded ld,
346 dnl which may not exist in the path. Stripping the .a is not
347 dnl necessary, so just disable it.
353 AX_CHECK_LINK_FLAG([[-Wl,-headerpad_max_install_names]], [LDFLAGS="$LDFLAGS -Wl,-headerpad_max_install_names"])
354 CPPFLAGS="$CPPFLAGS -DMAC_OSX"
355 OBJCXXFLAGS="$CXXFLAGS"
359 LEVELDB_TARGET_FLAGS="-DOS_LINUX"
362 OTHER_OS=`echo ${host_os} | awk '{print toupper($0)}'`
363 LEVELDB_TARGET_FLAGS="-DOS_${OTHER_OS}"
367 if test x$use_pkgconfig = xyes; then
368 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.)])
369 m4_ifdef([PKG_PROG_PKG_CONFIG], [
371 if test x"$PKG_CONFIG" = "x"; then
372 AC_MSG_ERROR(pkg-config not found.)
377 if test x$use_extended_rpc_tests != xno; then
378 AC_SUBST(EXTENDED_RPC_TESTS, -extended)
381 if test x$use_lcov = xyes; then
382 if test x$LCOV = x; then
383 AC_MSG_ERROR("lcov testing requested but lcov not found")
385 if test x$GCOV = x; then
386 AC_MSG_ERROR("lcov testing requested but gcov not found")
388 if test x$PYTHON = x; then
389 AC_MSG_ERROR("lcov testing requested but python not found")
391 if test x$GENHTML = x; then
392 AC_MSG_ERROR("lcov testing requested but genhtml not found")
394 LCOV="$LCOV --gcov-tool=$GCOV"
395 AX_CHECK_COMPILE_FLAG([--coverage],[CXXFLAGS="$CXXFLAGS --coverage"],
396 [AC_MSG_ERROR("lcov testing requested but --coverage flag does not work")])
399 dnl Check for endianness
402 dnl Check for pthread compile/link requirements
405 # The following macro will add the necessary defines to bitcoin-config.h, but
406 # they also need to be passed down to any subprojects. Pull the results out of
407 # the cache and add them to CPPFLAGS.
409 # detect POSIX or GNU variant of strerror_r
412 if test x$ac_cv_sys_file_offset_bits != x &&
413 test x$ac_cv_sys_file_offset_bits != xno &&
414 test x$ac_cv_sys_file_offset_bits != xunknown; then
415 CPPFLAGS="$CPPFLAGS -D_FILE_OFFSET_BITS=$ac_cv_sys_file_offset_bits"
418 if test x$ac_cv_sys_large_files != x &&
419 test x$ac_cv_sys_large_files != xno &&
420 test x$ac_cv_sys_large_files != xunknown; then
421 CPPFLAGS="$CPPFLAGS -D_LARGE_FILES=$ac_cv_sys_large_files"
424 AX_CHECK_LINK_FLAG([[-Wl,--large-address-aware]], [LDFLAGS="$LDFLAGS -Wl,--large-address-aware"])
426 AX_GCC_FUNC_ATTRIBUTE([visibility])
427 AX_GCC_FUNC_ATTRIBUTE([dllexport])
428 AX_GCC_FUNC_ATTRIBUTE([dllimport])
430 if test x$use_glibc_compat != xno; then
432 #glibc absorbed clock_gettime in 2.17. librt (its previous location) is safe to link
433 #in anyway for back-compat.
434 AC_CHECK_LIB([rt],[clock_gettime],, AC_MSG_ERROR(lib missing))
436 #__fdelt_chk's params and return type have changed from long unsigned int to long int.
437 # See which one is present here.
438 AC_MSG_CHECKING(__fdelt_chk type)
439 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#ifdef _FORTIFY_SOURCE
440 #undef _FORTIFY_SOURCE
442 #define _FORTIFY_SOURCE 2
443 #include <sys/select.h>
444 extern "C" long unsigned int __fdelt_warn(long unsigned int);]],[[]])],
445 [ fdelt_type="long unsigned int"],
446 [ fdelt_type="long int"])
447 AC_MSG_RESULT($fdelt_type)
448 AC_DEFINE_UNQUOTED(FDELT_TYPE, $fdelt_type,[parameter and return value type for __fdelt_chk])
450 AC_SEARCH_LIBS([clock_gettime],[rt])
453 if test x$TARGET_OS != xwindows; then
454 # All windows code is PIC, forcing it on just adds useless compile warnings
455 AX_CHECK_COMPILE_FLAG([-fPIC],[PIC_FLAGS="-fPIC"])
458 if test x$use_hardening != xno; then
459 AX_CHECK_COMPILE_FLAG([-Wstack-protector],[HARDENED_CXXFLAGS="$HARDENED_CXXFLAGS -Wstack-protector"])
460 AX_CHECK_COMPILE_FLAG([-fstack-protector-all],[HARDENED_CXXFLAGS="$HARDENED_CXXFLAGS -fstack-protector-all"])
462 AX_CHECK_PREPROC_FLAG([-D_FORTIFY_SOURCE=2],[
463 AX_CHECK_PREPROC_FLAG([-U_FORTIFY_SOURCE],[
464 HARDENED_CPPFLAGS="$HARDENED_CPPFLAGS -U_FORTIFY_SOURCE"
466 HARDENED_CPPFLAGS="$HARDENED_CPPFLAGS -D_FORTIFY_SOURCE=2"
469 AX_CHECK_LINK_FLAG([[-Wl,--dynamicbase]], [HARDENED_LDFLAGS="$HARDENED_LDFLAGS -Wl,--dynamicbase"])
470 AX_CHECK_LINK_FLAG([[-Wl,--nxcompat]], [HARDENED_LDFLAGS="$HARDENED_LDFLAGS -Wl,--nxcompat"])
471 AX_CHECK_LINK_FLAG([[-Wl,-z,relro]], [HARDENED_LDFLAGS="$HARDENED_LDFLAGS -Wl,-z,relro"])
472 AX_CHECK_LINK_FLAG([[-Wl,-z,now]], [HARDENED_LDFLAGS="$HARDENED_LDFLAGS -Wl,-z,now"])
474 if test x$TARGET_OS != xwindows; then
475 AX_CHECK_COMPILE_FLAG([-fPIE],[PIE_FLAGS="-fPIE"])
476 AX_CHECK_LINK_FLAG([[-pie]], [HARDENED_LDFLAGS="$HARDENED_LDFLAGS -pie"])
481 AC_CHECK_LIB([ssp], [main],, AC_MSG_ERROR(lib missing))
486 dnl this flag screws up non-darwin gcc even when the check fails. special-case it.
487 if test x$TARGET_OS = xdarwin; then
488 AX_CHECK_LINK_FLAG([[-Wl,-dead_strip]], [LDFLAGS="$LDFLAGS -Wl,-dead_strip"])
491 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])
492 AC_SEARCH_LIBS([getaddrinfo_a], [anl], [AC_DEFINE(HAVE_GETADDRINFO_A, 1, [Define this symbol if you have getaddrinfo_a])])
493 AC_SEARCH_LIBS([inet_pton], [nsl resolv], [AC_DEFINE(HAVE_INET_PTON, 1, [Define this symbol if you have inet_pton])])
495 AC_CHECK_DECLS([strnlen])
497 AC_CHECK_DECLS([le16toh, le32toh, le64toh, htole16, htole32, htole64, be16toh, be32toh, be64toh, htobe16, htobe32, htobe64],,,
500 #elif HAVE_SYS_ENDIAN_H
501 #include <sys/endian.h>
504 AC_CHECK_DECLS([bswap_16, bswap_32, bswap_64],,,
506 #include <byteswap.h>
509 dnl Check for MSG_NOSIGNAL
510 AC_MSG_CHECKING(for MSG_NOSIGNAL)
511 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/socket.h>]],
512 [[ int f = MSG_NOSIGNAL; ]])],
513 [ AC_MSG_RESULT(yes); AC_DEFINE(HAVE_MSG_NOSIGNAL, 1,[Define this symbol if you have MSG_NOSIGNAL]) ],
517 AC_MSG_CHECKING([for visibility attribute])
518 AC_LINK_IFELSE([AC_LANG_SOURCE([
519 int foo_def( void ) __attribute__((visibility("default")));
523 AC_DEFINE(HAVE_VISIBILITY_ATTRIBUTE,1,[Define if the visibility attribute is supported.])
528 if test x$use_reduce_exports = xyes; then
529 AC_MSG_ERROR([Cannot find a working visibility attribute. Use --disable-reduce-exports.])
534 if test x$use_reduce_exports = xyes; then
535 AX_CHECK_COMPILE_FLAG([-fvisibility=hidden],[RE_CXXFLAGS="-fvisibility=hidden"],
536 [AC_MSG_ERROR([Cannot set default symbol visibility. Use --disable-reduce-exports.])])
542 AM_CONDITIONAL([EMBEDDED_LEVELDB],[true])
543 AC_SUBST(LEVELDB_CPPFLAGS)
547 if test x$enable_wallet != xno; then
548 dnl Check for libdb_cxx only if wallet enabled
552 dnl Check for libminiupnpc (optional)
553 if test x$use_upnp != xno; then
555 [miniupnpc/miniwget.h miniupnpc/miniupnpc.h miniupnpc/upnpcommands.h miniupnpc/upnperrors.h],
556 [AC_CHECK_LIB([miniupnpc], [main],[MINIUPNPC_LIBS=-lminiupnpc], [have_miniupnpc=no])],
563 dnl sets $bitcoin_enable_qt, $bitcoin_enable_qt_test, $bitcoin_enable_qt_dbus
564 BITCOIN_QT_CONFIGURE([$use_pkgconfig], [qt5])
566 if test x$build_bitcoin_utils$build_bitcoind$bitcoin_enable_qt$use_tests$use_bench = xnonononono; then
572 if test x$use_boost = xyes; then
574 dnl Check for boost libs
578 AX_BOOST_PROGRAM_OPTIONS
583 if test x$use_reduce_exports = xyes; then
584 AC_MSG_CHECKING([for working boost reduced exports])
585 TEMP_CPPFLAGS="$CPPFLAGS"
586 CPPFLAGS="$BOOST_CPPFLAGS $CPPFLAGS"
587 AC_PREPROC_IFELSE([AC_LANG_PROGRAM([[
588 @%:@include <boost/version.hpp>
590 #if BOOST_VERSION >= 104900
591 // Everything is okay
593 # error Boost version is too old
598 AC_MSG_ERROR([boost versions < 1.49 are known to be broken with reduced exports. Use --disable-reduce-exports.])
600 CPPFLAGS="$TEMP_CPPFLAGS"
604 if test x$use_reduce_exports = xyes; then
605 CXXFLAGS="$CXXFLAGS $RE_CXXFLAGS"
606 AX_CHECK_LINK_FLAG([[-Wl,--exclude-libs,ALL]], [RELDFLAGS="-Wl,--exclude-libs,ALL"])
609 if test x$use_tests = xyes; then
611 if test x$HEXDUMP = x; then
612 AC_MSG_ERROR(hexdump is required for tests)
616 if test x$use_boost = xyes; then
618 AX_BOOST_UNIT_TEST_FRAMEWORK
620 dnl Determine if -DBOOST_TEST_DYN_LINK is needed
621 AC_MSG_CHECKING([for dynamic linked boost test])
623 LIBS="$LIBS $BOOST_LDFLAGS $BOOST_UNIT_TEST_FRAMEWORK_LIB"
624 TEMP_CPPFLAGS="$CPPFLAGS"
625 CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS"
626 AC_LINK_IFELSE([AC_LANG_SOURCE([
627 #define BOOST_TEST_DYN_LINK
628 #define BOOST_TEST_MAIN
629 #include <boost/test/unit_test.hpp>
633 [TESTDEFS="$TESTDEFS -DBOOST_TEST_DYN_LINK"],
636 CPPFLAGS="$TEMP_CPPFLAGS"
641 if test x$use_boost = xyes; then
643 BOOST_LIBS="$BOOST_LDFLAGS $BOOST_SYSTEM_LIB $BOOST_FILESYSTEM_LIB $BOOST_PROGRAM_OPTIONS_LIB $BOOST_THREAD_LIB $BOOST_CHRONO_LIB"
646 dnl If boost (prior to 1.57) was built without c++11, it emulated scoped enums
647 dnl using c++98 constructs. Unfortunately, this implementation detail leaked into
648 dnl the abi. This was fixed in 1.57.
650 dnl When building against that installed version using c++11, the headers pick up
651 dnl on the native c++11 scoped enum support and enable it, however it will fail to
652 dnl link. This can be worked around by disabling c++11 scoped enums if linking will
654 dnl BOOST_NO_SCOPED_ENUMS was changed to BOOST_NO_CXX11_SCOPED_ENUMS in 1.51.
657 LIBS="$BOOST_LIBS $LIBS"
658 TEMP_CPPFLAGS="$CPPFLAGS"
659 CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS"
660 AC_MSG_CHECKING([for mismatched boost c++11 scoped enums])
661 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
662 #include "boost/config.hpp"
663 #include "boost/version.hpp"
664 #if !defined(BOOST_NO_SCOPED_ENUMS) && !defined(BOOST_NO_CXX11_SCOPED_ENUMS) && BOOST_VERSION < 105700
665 #define BOOST_NO_SCOPED_ENUMS
666 #define BOOST_NO_CXX11_SCOPED_ENUMS
669 #include "boost/filesystem.hpp"
672 boost::filesystem::copy_file("foo", "bar");
677 [AC_MSG_RESULT(mismatched); BOOST_CPPFLAGS="$BOOST_CPPFLAGS -DBOOST_NO_SCOPED_ENUMS -DBOOST_NO_CXX11_SCOPED_ENUMS"], [AC_MSG_RESULT(ok)])
679 CPPFLAGS="$TEMP_CPPFLAGS"
681 dnl Boost >= 1.50 uses sleep_for rather than the now-deprecated sleep, however
682 dnl it was broken from 1.50 to 1.52 when backed by nanosleep. Use sleep_for if
683 dnl a working version is available, else fall back to sleep. sleep was removed
685 dnl If neither is available, abort.
687 LIBS="$BOOST_LIBS $LIBS"
688 TEMP_CPPFLAGS="$CPPFLAGS"
689 CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS"
690 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
691 #include <boost/thread/thread.hpp>
692 #include <boost/version.hpp>
694 #if BOOST_VERSION >= 105000 && (!defined(BOOST_HAS_NANOSLEEP) || BOOST_VERSION >= 105200)
695 boost::this_thread::sleep_for(boost::chrono::milliseconds(0));
701 AC_DEFINE(HAVE_WORKING_BOOST_SLEEP_FOR, 1, [Define this symbol if boost sleep_for works])],
704 CPPFLAGS="$TEMP_CPPFLAGS"
706 if test x$boost_sleep != xyes; then
708 LIBS="$BOOST_LIBS $LIBS"
709 TEMP_CPPFLAGS="$CPPFLAGS"
710 CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS"
711 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
712 #include <boost/version.hpp>
713 #include <boost/thread.hpp>
714 #include <boost/date_time/posix_time/posix_time_types.hpp>
716 #if BOOST_VERSION <= 105600
717 boost::this_thread::sleep(boost::posix_time::milliseconds(0));
722 [boost_sleep=yes; AC_DEFINE(HAVE_WORKING_BOOST_SLEEP, 1, [Define this symbol if boost sleep works])],
725 CPPFLAGS="$TEMP_CPPFLAGS"
728 if test x$boost_sleep != xyes; then
729 AC_MSG_ERROR(No working boost sleep implementation found.)
734 if test x$use_pkgconfig = xyes; then
739 PKG_CHECK_MODULES([SSL], [libssl],, [AC_MSG_ERROR(openssl not found.)])
740 PKG_CHECK_MODULES([CRYPTO], [libcrypto],,[AC_MSG_ERROR(libcrypto not found.)])
741 BITCOIN_QT_CHECK([PKG_CHECK_MODULES([PROTOBUF], [protobuf], [have_protobuf=yes], [BITCOIN_QT_FAIL(libprotobuf not found)])])
742 if test x$use_qr != xno; then
743 BITCOIN_QT_CHECK([PKG_CHECK_MODULES([QR], [libqrencode], [have_qrencode=yes], [have_qrencode=no])])
745 if test x$build_bitcoin_utils$build_bitcoind$bitcoin_enable_qt$use_tests != xnononono; then
746 PKG_CHECK_MODULES([EVENT], [libevent],, [AC_MSG_ERROR(libevent not found.)])
747 if test x$TARGET_OS != xwindows; then
748 PKG_CHECK_MODULES([EVENT_PTHREADS], [libevent_pthreads],, [AC_MSG_ERROR(libevent_pthreads not found.)])
752 if test "x$use_zmq" = "xyes"; then
753 PKG_CHECK_MODULES([ZMQ],[libzmq >= 4],
754 [AC_DEFINE([ENABLE_ZMQ],[1],[Define to 1 to enable ZMQ functions])],
755 [AC_DEFINE([ENABLE_ZMQ],[0],[Define to 1 to enable ZMQ functions])
756 AC_MSG_WARN([libzmq version 4.x or greater not found, disabling])
759 AC_DEFINE_UNQUOTED([ENABLE_ZMQ],[0],[Define to 1 to enable ZMQ functions])
764 AC_CHECK_HEADER([openssl/crypto.h],,AC_MSG_ERROR(libcrypto headers missing))
765 AC_CHECK_LIB([crypto], [main],CRYPTO_LIBS=-lcrypto, AC_MSG_ERROR(libcrypto missing))
767 AC_CHECK_HEADER([openssl/ssl.h],, AC_MSG_ERROR(libssl headers missing),)
768 AC_CHECK_LIB([ssl], [main],SSL_LIBS=-lssl, AC_MSG_ERROR(libssl missing))
770 if test x$build_bitcoin_utils$build_bitcoind$bitcoin_enable_qt$use_tests != xnononono; then
771 AC_CHECK_HEADER([event2/event.h],, AC_MSG_ERROR(libevent headers missing),)
772 AC_CHECK_LIB([event],[main],EVENT_LIBS=-levent,AC_MSG_ERROR(libevent missing))
773 if test x$TARGET_OS != xwindows; then
774 AC_CHECK_LIB([event_pthreads],[main],EVENT_PTHREADS_LIBS=-levent_pthreads,AC_MSG_ERROR(libevent_pthreads missing))
778 if test "x$use_zmq" = "xyes"; then
779 AC_CHECK_HEADER([zmq.h],
780 [AC_DEFINE([ENABLE_ZMQ],[1],[Define to 1 to enable ZMQ functions])],
781 [AC_MSG_WARN([zmq.h not found, disabling zmq support])
783 AC_DEFINE([ENABLE_ZMQ],[0],[Define to 1 to enable ZMQ functions])])
784 AC_CHECK_LIB([zmq],[zmq_ctx_shutdown],ZMQ_LIBS=-lzmq,
785 [AC_MSG_WARN([libzmq >= 4.0 not found, disabling zmq support])
787 AC_DEFINE([ENABLE_ZMQ],[0],[Define to 1 to enable ZMQ functions])])
789 AC_DEFINE_UNQUOTED([ENABLE_ZMQ],[0],[Define to 1 to enable ZMQ functions])
792 if test "x$use_zmq" = "xyes"; then
793 dnl Assume libzmq was built for static linking
796 ZMQ_CFLAGS="$ZMQ_CFLAGS -DZMQ_STATIC"
801 BITCOIN_QT_CHECK(AC_CHECK_LIB([protobuf] ,[main],[PROTOBUF_LIBS=-lprotobuf], BITCOIN_QT_FAIL(libprotobuf not found)))
802 if test x$use_qr != xno; then
803 BITCOIN_QT_CHECK([AC_CHECK_LIB([qrencode], [main],[QR_LIBS=-lqrencode], [have_qrencode=no])])
804 BITCOIN_QT_CHECK([AC_CHECK_HEADER([qrencode.h],, have_qrencode=no)])
810 need_bundled_univalue=yes
812 if test x$build_bitcoin_utils$build_bitcoind$bitcoin_enable_qt$use_tests$use_bench = xnonononono; then
813 need_bundled_univalue=no
816 if test x$system_univalue != xno ; then
818 if test x$use_pkgconfig = xyes; then
823 PKG_CHECK_MODULES([UNIVALUE],[libunivalue],[found_univalue=yes],[true])
827 AC_CHECK_HEADER([univalue.h],[
828 AC_CHECK_LIB([univalue], [main],[
829 UNIVALUE_LIBS=-lunivalue
835 if test x$found_univalue = xyes ; then
837 need_bundled_univalue=no
838 elif test x$system_univalue = xyes ; then
839 AC_MSG_ERROR([univalue not found])
845 if test x$need_bundled_univalue = xyes ; then
846 UNIVALUE_CFLAGS='-I$(srcdir)/univalue/include'
847 UNIVALUE_LIBS='univalue/libunivalue.la'
852 AM_CONDITIONAL([EMBEDDED_UNIVALUE],[test x$need_bundled_univalue = xyes])
853 AC_SUBST(UNIVALUE_CFLAGS)
854 AC_SUBST(UNIVALUE_LIBS)
856 BITCOIN_QT_PATH_PROGS([PROTOC], [protoc],$protoc_bin_path)
858 AC_MSG_CHECKING([whether to build bitcoind])
859 AM_CONDITIONAL([BUILD_BITCOIND], [test x$build_bitcoind = xyes])
860 AC_MSG_RESULT($build_bitcoind)
862 AC_MSG_CHECKING([whether to build utils (bitcoin-cli bitcoin-tx)])
863 AM_CONDITIONAL([BUILD_BITCOIN_UTILS], [test x$build_bitcoin_utils = xyes])
864 AC_MSG_RESULT($build_bitcoin_utils)
866 AC_MSG_CHECKING([whether to build libraries])
867 AM_CONDITIONAL([BUILD_BITCOIN_LIBS], [test x$build_bitcoin_libs = xyes])
868 if test x$build_bitcoin_libs = xyes; then
869 AC_DEFINE(HAVE_CONSENSUS_LIB, 1, [Define this symbol if the consensus lib has been built])
870 AC_CONFIG_FILES([libbitcoinconsensus.pc:libbitcoinconsensus.pc.in])
872 AC_MSG_RESULT($build_bitcoin_libs)
876 if test "x$use_ccache" != "xno"; then
877 AC_MSG_CHECKING(if ccache should be used)
878 if test x$CCACHE = x; then
879 if test "x$use_ccache" = "xyes"; then
880 AC_MSG_ERROR([ccache not found.]);
886 CC="$ac_cv_path_CCACHE $CC"
887 CXX="$ac_cv_path_CCACHE $CXX"
889 AC_MSG_RESULT($use_ccache)
891 if test "x$use_ccache" = "xyes"; then
892 AX_CHECK_PREPROC_FLAG([-Qunused-arguments],[CPPFLAGS="-Qunused-arguments $CPPFLAGS"])
896 AC_MSG_CHECKING([if wallet should be enabled])
897 if test x$enable_wallet != xno; then
899 AC_DEFINE_UNQUOTED([ENABLE_WALLET],[1],[Define to 1 to enable wallet functions])
905 dnl enable upnp support
906 AC_MSG_CHECKING([whether to build with support for UPnP])
907 if test x$have_miniupnpc = xno; then
908 if test x$use_upnp = xyes; then
909 AC_MSG_ERROR("UPnP requested but cannot be built. use --without-miniupnpc")
913 if test x$use_upnp != xno; then
915 AC_MSG_CHECKING([whether to build with UPnP enabled by default])
918 if test x$use_upnp_default != xno; then
922 AC_MSG_RESULT($use_upnp_default)
923 AC_DEFINE_UNQUOTED([USE_UPNP],[$upnp_setting],[UPnP support not compiled if undefined, otherwise value (0 or 1) determines default state])
924 if test x$TARGET_OS = xwindows; then
925 MINIUPNPC_CPPFLAGS="-DSTATICLIB -DMINIUPNP_STATICLIB"
932 dnl these are only used when qt is enabled
934 if test x$bitcoin_enable_qt != xno; then
935 dnl enable dbus support
936 AC_MSG_CHECKING([whether to build GUI with support for D-Bus])
937 if test x$bitcoin_enable_qt_dbus != xno; then
938 AC_DEFINE([USE_DBUS],[1],[Define if dbus support should be compiled in])
940 AC_MSG_RESULT($bitcoin_enable_qt_dbus)
942 dnl enable qr support
943 AC_MSG_CHECKING([whether to build GUI with support for QR codes])
944 if test x$have_qrencode = xno; then
945 if test x$use_qr = xyes; then
946 AC_MSG_ERROR("QR support requested but cannot be built. use --without-qrencode")
950 if test x$use_qr != xno; then
952 AC_DEFINE([USE_QRCODE],[1],[Define if QR support should be compiled in])
959 if test x$XGETTEXT = x; then
960 AC_MSG_WARN("xgettext is required to update qt translations")
963 AC_MSG_CHECKING([whether to build test_bitcoin-qt])
964 if test x$use_gui_tests$bitcoin_enable_qt_test = xyesyes; then
972 AM_CONDITIONAL([ENABLE_ZMQ], [test "x$use_zmq" = "xyes"])
974 AC_MSG_CHECKING([whether to build test_bitcoin])
975 if test x$use_tests = xyes; then
983 AC_MSG_CHECKING([whether to reduce exports])
984 if test x$use_reduce_exports = xyes; then
990 if test x$build_bitcoin_utils$build_bitcoin_libs$build_bitcoind$bitcoin_enable_qt$use_bench$use_tests = xnononononono; then
991 AC_MSG_ERROR([No targets! Please specify at least one of: --with-utils --with-libs --with-daemon --with-gui --enable-bench or --enable-tests])
994 AM_CONDITIONAL([TARGET_DARWIN], [test x$TARGET_OS = xdarwin])
995 AM_CONDITIONAL([BUILD_DARWIN], [test x$BUILD_OS = xdarwin])
996 AM_CONDITIONAL([TARGET_WINDOWS], [test x$TARGET_OS = xwindows])
997 AM_CONDITIONAL([ENABLE_WALLET],[test x$enable_wallet = xyes])
998 AM_CONDITIONAL([ENABLE_TESTS],[test x$BUILD_TEST = xyes])
999 AM_CONDITIONAL([ENABLE_QT],[test x$bitcoin_enable_qt = xyes])
1000 AM_CONDITIONAL([ENABLE_QT_TESTS],[test x$BUILD_TEST_QT = xyes])
1001 AM_CONDITIONAL([ENABLE_BENCH],[test x$use_bench = xyes])
1002 AM_CONDITIONAL([USE_QRCODE], [test x$use_qr = xyes])
1003 AM_CONDITIONAL([USE_LCOV],[test x$use_lcov = xyes])
1004 AM_CONDITIONAL([GLIBC_BACK_COMPAT],[test x$use_glibc_compat = xyes])
1005 AM_CONDITIONAL([HARDEN],[test x$use_hardening = xyes])
1007 AC_DEFINE(CLIENT_VERSION_MAJOR, _CLIENT_VERSION_MAJOR, [Major version])
1008 AC_DEFINE(CLIENT_VERSION_MINOR, _CLIENT_VERSION_MINOR, [Minor version])
1009 AC_DEFINE(CLIENT_VERSION_REVISION, _CLIENT_VERSION_REVISION, [Build revision])
1010 AC_DEFINE(CLIENT_VERSION_BUILD, _CLIENT_VERSION_BUILD, [Version Build])
1011 AC_DEFINE(CLIENT_VERSION_IS_RELEASE, _CLIENT_VERSION_IS_RELEASE, [Version is release])
1012 AC_DEFINE(COPYRIGHT_YEAR, _COPYRIGHT_YEAR, [Copyright year])
1013 AC_DEFINE(COPYRIGHT_HOLDERS, "_COPYRIGHT_HOLDERS", [Copyright holder(s) before %s replacement])
1014 AC_DEFINE(COPYRIGHT_HOLDERS_SUBSTITUTION, "_COPYRIGHT_HOLDERS_SUBSTITUTION", [Replacement for %s in copyright holders string])
1015 define(_COPYRIGHT_HOLDERS_FINAL, [patsubst(_COPYRIGHT_HOLDERS, [%s], [_COPYRIGHT_HOLDERS_SUBSTITUTION])])
1016 AC_DEFINE(COPYRIGHT_HOLDERS_FINAL, "_COPYRIGHT_HOLDERS_FINAL", [Copyright holder(s)])
1017 AC_SUBST(CLIENT_VERSION_MAJOR, _CLIENT_VERSION_MAJOR)
1018 AC_SUBST(CLIENT_VERSION_MINOR, _CLIENT_VERSION_MINOR)
1019 AC_SUBST(CLIENT_VERSION_REVISION, _CLIENT_VERSION_REVISION)
1020 AC_SUBST(CLIENT_VERSION_BUILD, _CLIENT_VERSION_BUILD)
1021 AC_SUBST(CLIENT_VERSION_IS_RELEASE, _CLIENT_VERSION_IS_RELEASE)
1022 AC_SUBST(COPYRIGHT_YEAR, _COPYRIGHT_YEAR)
1023 AC_SUBST(COPYRIGHT_HOLDERS, "_COPYRIGHT_HOLDERS")
1024 AC_SUBST(COPYRIGHT_HOLDERS_SUBSTITUTION, "_COPYRIGHT_HOLDERS_SUBSTITUTION")
1025 AC_SUBST(COPYRIGHT_HOLDERS_FINAL, "_COPYRIGHT_HOLDERS_FINAL")
1026 AC_SUBST(BITCOIN_DAEMON_NAME)
1027 AC_SUBST(BITCOIN_GUI_NAME)
1028 AC_SUBST(BITCOIN_CLI_NAME)
1029 AC_SUBST(BITCOIN_TX_NAME)
1032 AC_SUBST(HARDENED_CXXFLAGS)
1033 AC_SUBST(HARDENED_CPPFLAGS)
1034 AC_SUBST(HARDENED_LDFLAGS)
1037 AC_SUBST(LIBTOOL_APP_LDFLAGS)
1039 AC_SUBST(USE_QRCODE)
1040 AC_SUBST(BOOST_LIBS)
1042 AC_SUBST(LEVELDB_TARGET_FLAGS)
1043 AC_SUBST(MINIUPNPC_CPPFLAGS)
1044 AC_SUBST(MINIUPNPC_LIBS)
1045 AC_SUBST(CRYPTO_LIBS)
1047 AC_SUBST(EVENT_LIBS)
1048 AC_SUBST(EVENT_PTHREADS_LIBS)
1050 AC_SUBST(PROTOBUF_LIBS)
1052 AC_CONFIG_FILES([Makefile src/Makefile share/setup.nsi share/qt/Info.plist src/test/buildenv.py])
1053 AC_CONFIG_FILES([qa/pull-tester/run-bitcoind-for-test.sh],[chmod +x qa/pull-tester/run-bitcoind-for-test.sh])
1054 AC_CONFIG_FILES([qa/pull-tester/tests_config.py],[chmod +x qa/pull-tester/tests_config.py])
1055 AC_CONFIG_FILES([contrib/devtools/split-debug.sh],[chmod +x contrib/devtools/split-debug.sh])
1056 AC_CONFIG_LINKS([qa/pull-tester/rpc-tests.py:qa/pull-tester/rpc-tests.py])
1058 dnl boost's m4 checks do something really nasty: they export these vars. As a
1059 dnl result, they leak into secp256k1's configure and crazy things happen.
1060 dnl Until this is fixed upstream and we've synced, we'll just un-export them.
1061 CPPFLAGS_TEMP="$CPPFLAGS"
1063 CPPFLAGS="$CPPFLAGS_TEMP"
1065 LDFLAGS_TEMP="$LDFLAGS"
1067 LDFLAGS="$LDFLAGS_TEMP"
1073 PKGCONFIG_PATH_TEMP="$PKG_CONFIG_PATH"
1074 unset PKG_CONFIG_PATH
1075 PKG_CONFIG_PATH="$PKGCONFIG_PATH_TEMP"
1077 PKGCONFIG_LIBDIR_TEMP="$PKG_CONFIG_LIBDIR"
1078 unset PKG_CONFIG_LIBDIR
1079 PKG_CONFIG_LIBDIR="$PKGCONFIG_LIBDIR_TEMP"
1081 if test x$need_bundled_univalue = xyes; then
1082 AC_CONFIG_SUBDIRS([src/univalue])
1085 ac_configure_args="${ac_configure_args} --disable-shared --with-pic --with-bignum=no --enable-module-recovery"
1086 AC_CONFIG_SUBDIRS([src/secp256k1])
1090 dnl Taken from https://wiki.debian.org/RpathIssue
1093 AC_MSG_RESULT([Fixing libtool for -rpath problems.])
1094 sed < libtool > libtool-2 \
1095 's/^hardcode_libdir_flag_spec.*$'/'hardcode_libdir_flag_spec=" -D__LIBTOOL_IS_A_FOOL__ "/'
1096 mv libtool-2 libtool
1101 dnl Replace the BUILDDIR path with the correct Windows path if compiling on Native Windows
1104 sed 's/BUILDDIR="\/\([[a-z]]\)/BUILDDIR="\1:/' qa/pull-tester/tests_config.py > qa/pull-tester/tests_config-2.py
1105 mv qa/pull-tester/tests_config-2.py qa/pull-tester/tests_config.py