mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-02-02 09:46:52 -05:00
Merge #18307: build: Require pkg-config for all of the hosts
92bc268e4a
build: Detect missed pkg-config early (Hennadii Stepanov)1739eb23d8
build: Drop unused use_pkgconfig variable (Hennadii Stepanov)a661449a2e
build: Drop use_pkgconfig check for libmultiprocess check (Hennadii Stepanov)90b95e7929
build: Drop dead non-pkg-config code for libevent check (Hennadii Stepanov)44a14afbb8
build: Drop dead non-pkg-config code for qrencode check (Hennadii Stepanov)10cbae0c39
build: Drop dead non-pkg-config code for ZMQ check (Hennadii Stepanov)06cfc9cadf
build: Fix indentation in UNIVALUE check (Hennadii Stepanov)6fd2118e77
build: Drop dead non-pkg-config code for UNIVALUE check (Hennadii Stepanov)e9edbe4dbd
build: Always use pkg-config (Hennadii Stepanov)9e2e753b06
build: Always define ZMQ_STATIC for MinGW (Hennadii Stepanov) Pull request description: This PR: - is based on #18297 (already merged) - drops all of the non-pkg-config paths from the `configure` script Ref: #17768 ACKs for top commit: fanquake: ACK92bc268e4a
. I re-gitian-built. There are a couple follow-ups that I'll PR shortly. Thanks for addressing my feedback above. I took too long to get back to this. laanwj: ACK92bc268e4a
Tree-SHA512: 83c2d9cf03518867a1ebf7e26a8fc5b6dd8962ef983fe0d84e0c7eb74717f4c36a834da02faf0e503ffd87167005351671cf040c0d4ddae57ee152a6ff84012b
This commit is contained in:
commit
7d9008f43e
1 changed files with 54 additions and 114 deletions
168
configure.ac
168
configure.ac
|
@ -14,6 +14,12 @@ AC_CONFIG_HEADERS([src/config/bitcoin-config.h])
|
|||
AC_CONFIG_AUX_DIR([build-aux])
|
||||
AC_CONFIG_MACRO_DIR([build-aux/m4])
|
||||
|
||||
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])])
|
||||
PKG_PROG_PKG_CONFIG
|
||||
if test "x$PKG_CONFIG" = x; then
|
||||
AC_MSG_ERROR([pkg-config not found])
|
||||
fi
|
||||
|
||||
BITCOIN_DAEMON_NAME=bitcoind
|
||||
BITCOIN_GUI_NAME=bitcoin-qt
|
||||
BITCOIN_CLI_NAME=bitcoin-cli
|
||||
|
@ -560,13 +566,8 @@ AC_ARG_WITH([daemon],
|
|||
[build_bitcoind=$withval],
|
||||
[build_bitcoind=yes])
|
||||
|
||||
use_pkgconfig=yes
|
||||
case $host in
|
||||
*mingw*)
|
||||
|
||||
dnl pkgconfig does more harm than good with MinGW
|
||||
use_pkgconfig=no
|
||||
|
||||
TARGET_OS=windows
|
||||
AC_CHECK_LIB([kernel32], [GetModuleFileNameA],, AC_MSG_ERROR(libkernel32 missing))
|
||||
AC_CHECK_LIB([user32], [main],, AC_MSG_ERROR(libuser32 missing))
|
||||
|
@ -670,16 +671,6 @@ case $host in
|
|||
;;
|
||||
esac
|
||||
|
||||
if test x$use_pkgconfig = xyes; then
|
||||
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.)])
|
||||
m4_ifdef([PKG_PROG_PKG_CONFIG], [
|
||||
PKG_PROG_PKG_CONFIG
|
||||
if test x"$PKG_CONFIG" = "x"; then
|
||||
AC_MSG_ERROR(pkg-config not found.)
|
||||
fi
|
||||
])
|
||||
fi
|
||||
|
||||
if test x$use_extended_functional_tests != xno; then
|
||||
AC_SUBST(EXTENDED_FUNCTIONAL_TESTS, --extended)
|
||||
fi
|
||||
|
@ -1303,115 +1294,66 @@ CPPFLAGS="$TEMP_CPPFLAGS"
|
|||
|
||||
fi
|
||||
|
||||
if test x$use_pkgconfig = xyes; then
|
||||
: dnl
|
||||
m4_ifdef(
|
||||
[PKG_CHECK_MODULES],
|
||||
[
|
||||
if test x$use_qr != xno; then
|
||||
BITCOIN_QT_CHECK([PKG_CHECK_MODULES([QR], [libqrencode], [have_qrencode=yes], [have_qrencode=no])])
|
||||
fi
|
||||
if test x$build_bitcoin_cli$build_bitcoind$bitcoin_enable_qt$use_tests$use_bench != xnonononono; then
|
||||
PKG_CHECK_MODULES([EVENT], [libevent >= 2.0.21], [use_libevent=yes], [AC_MSG_ERROR(libevent version 2.0.21 or greater not found.)])
|
||||
if test x$TARGET_OS != xwindows; then
|
||||
PKG_CHECK_MODULES([EVENT_PTHREADS], [libevent_pthreads >= 2.0.21],, [AC_MSG_ERROR(libevent_pthreads version 2.0.21 or greater not found.)])
|
||||
fi
|
||||
fi
|
||||
dnl libevent check
|
||||
|
||||
if test "x$use_zmq" = "xyes"; then
|
||||
PKG_CHECK_MODULES([ZMQ],[libzmq >= 4],
|
||||
[AC_DEFINE([ENABLE_ZMQ],[1],[Define to 1 to enable ZMQ functions])],
|
||||
[AC_DEFINE([ENABLE_ZMQ],[0],[Define to 1 to enable ZMQ functions])
|
||||
AC_MSG_WARN([libzmq version 4.x or greater not found, disabling])
|
||||
use_zmq=no])
|
||||
else
|
||||
AC_DEFINE_UNQUOTED([ENABLE_ZMQ],[0],[Define to 1 to enable ZMQ functions])
|
||||
fi
|
||||
]
|
||||
)
|
||||
if test x$build_bitcoin_cli$build_bitcoind$bitcoin_enable_qt$use_tests$use_bench != xnonononono; then
|
||||
PKG_CHECK_MODULES([EVENT], [libevent >= 2.0.21], [use_libevent=yes], [AC_MSG_ERROR([libevent version 2.0.21 or greater not found.])])
|
||||
if test x$TARGET_OS != xwindows; then
|
||||
PKG_CHECK_MODULES([EVENT_PTHREADS], [libevent_pthreads >= 2.0.21],, [AC_MSG_ERROR([libevent_pthreads version 2.0.21 or greater not found.])])
|
||||
fi
|
||||
fi
|
||||
|
||||
dnl QR Code encoding library check
|
||||
|
||||
if test "x$use_qr" != xno; then
|
||||
BITCOIN_QT_CHECK([PKG_CHECK_MODULES([QR], [libqrencode], [have_qrencode=yes], [have_qrencode=no])])
|
||||
fi
|
||||
|
||||
dnl ZMQ check
|
||||
|
||||
if test "x$use_zmq" = xyes; then
|
||||
PKG_CHECK_MODULES([ZMQ], [libzmq >= 4],
|
||||
AC_DEFINE([ENABLE_ZMQ], [1], [Define to 1 to enable ZMQ functions]),
|
||||
[AC_DEFINE([ENABLE_ZMQ], [0], [Define to 1 to enable ZMQ functions])
|
||||
AC_MSG_WARN([libzmq version 4.x or greater not found, disabling])
|
||||
use_zmq=no])
|
||||
else
|
||||
AC_DEFINE_UNQUOTED([ENABLE_ZMQ], [0], [Define to 1 to enable ZMQ functions])
|
||||
fi
|
||||
|
||||
if test x$build_bitcoin_cli$build_bitcoind$bitcoin_enable_qt$use_tests$use_bench != xnonononono; then
|
||||
AC_CHECK_HEADER([event2/event.h], [use_libevent=yes], AC_MSG_ERROR(libevent headers missing),)
|
||||
AC_CHECK_LIB([event],[main],EVENT_LIBS=-levent,AC_MSG_ERROR(libevent missing))
|
||||
if test x$TARGET_OS != xwindows; then
|
||||
AC_CHECK_LIB([event_pthreads],[main],EVENT_PTHREADS_LIBS=-levent_pthreads,AC_MSG_ERROR(libevent_pthreads missing))
|
||||
fi
|
||||
fi
|
||||
|
||||
if test "x$use_zmq" = "xyes"; then
|
||||
AC_CHECK_HEADER([zmq.h],
|
||||
[AC_DEFINE([ENABLE_ZMQ],[1],[Define to 1 to enable ZMQ functions])],
|
||||
[AC_MSG_WARN([zmq.h not found, disabling zmq support])
|
||||
use_zmq=no
|
||||
AC_DEFINE([ENABLE_ZMQ],[0],[Define to 1 to enable ZMQ functions])])
|
||||
AC_CHECK_LIB([zmq],[zmq_ctx_shutdown],ZMQ_LIBS=-lzmq,
|
||||
[AC_MSG_WARN([libzmq >= 4.0 not found, disabling zmq support])
|
||||
use_zmq=no
|
||||
AC_DEFINE([ENABLE_ZMQ],[0],[Define to 1 to enable ZMQ functions])])
|
||||
else
|
||||
AC_DEFINE_UNQUOTED([ENABLE_ZMQ],[0],[Define to 1 to enable ZMQ functions])
|
||||
fi
|
||||
|
||||
if test "x$use_zmq" = "xyes"; then
|
||||
dnl Assume libzmq was built for static linking
|
||||
case $host in
|
||||
*mingw*)
|
||||
ZMQ_CFLAGS="$ZMQ_CFLAGS -DZMQ_STATIC"
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
if test x$use_qr != xno; then
|
||||
BITCOIN_QT_CHECK([AC_CHECK_LIB([qrencode], [main],[QR_LIBS=-lqrencode], [have_qrencode=no])])
|
||||
BITCOIN_QT_CHECK([AC_CHECK_HEADER([qrencode.h],, have_qrencode=no)])
|
||||
fi
|
||||
if test "x$use_zmq" = xyes; then
|
||||
dnl Assume libzmq was built for static linking
|
||||
case $host in
|
||||
*mingw*)
|
||||
ZMQ_CFLAGS="$ZMQ_CFLAGS -DZMQ_STATIC"
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
dnl univalue check
|
||||
|
||||
need_bundled_univalue=yes
|
||||
|
||||
if test x$build_bitcoin_wallet$build_bitcoin_cli$build_bitcoin_tx$build_bitcoind$bitcoin_enable_qt$use_tests$use_bench = xnonononononono; then
|
||||
need_bundled_univalue=no
|
||||
else
|
||||
|
||||
if test x$system_univalue != xno ; then
|
||||
found_univalue=no
|
||||
if test x$use_pkgconfig = xyes; then
|
||||
: #NOP
|
||||
m4_ifdef(
|
||||
[PKG_CHECK_MODULES],
|
||||
[
|
||||
PKG_CHECK_MODULES([UNIVALUE],[libunivalue >= 1.0.4],[found_univalue=yes],[true])
|
||||
]
|
||||
)
|
||||
else
|
||||
AC_CHECK_HEADER([univalue.h],[
|
||||
AC_CHECK_LIB([univalue], [main],[
|
||||
UNIVALUE_LIBS=-lunivalue
|
||||
found_univalue=yes
|
||||
],[true])
|
||||
],[true])
|
||||
if test x$system_univalue != xno; then
|
||||
PKG_CHECK_MODULES([UNIVALUE], [libunivalue >= 1.0.4], [found_univalue=yes], [found_univalue=no])
|
||||
if test x$found_univalue = xyes; then
|
||||
system_univalue=yes
|
||||
need_bundled_univalue=no
|
||||
elif test x$system_univalue = xyes; then
|
||||
AC_MSG_ERROR([univalue not found])
|
||||
else
|
||||
system_univalue=no
|
||||
fi
|
||||
fi
|
||||
|
||||
if test x$found_univalue = xyes ; then
|
||||
system_univalue=yes
|
||||
need_bundled_univalue=no
|
||||
elif test x$system_univalue = xyes ; then
|
||||
AC_MSG_ERROR([univalue not found])
|
||||
else
|
||||
system_univalue=no
|
||||
if test x$need_bundled_univalue = xyes; then
|
||||
UNIVALUE_CFLAGS='-I$(srcdir)/univalue/include'
|
||||
UNIVALUE_LIBS='univalue/libunivalue.la'
|
||||
fi
|
||||
fi
|
||||
|
||||
if test x$need_bundled_univalue = xyes ; then
|
||||
UNIVALUE_CFLAGS='-I$(srcdir)/univalue/include'
|
||||
UNIVALUE_LIBS='univalue/libunivalue.la'
|
||||
fi
|
||||
|
||||
fi
|
||||
|
||||
AM_CONDITIONAL([EMBEDDED_UNIVALUE],[test x$need_bundled_univalue = xyes])
|
||||
AC_SUBST(UNIVALUE_CFLAGS)
|
||||
AC_SUBST(UNIVALUE_LIBS)
|
||||
|
@ -1420,12 +1362,10 @@ dnl libmultiprocess library check
|
|||
|
||||
libmultiprocess_found=no
|
||||
if test "x$with_libmultiprocess" = xyes || test "x$with_libmultiprocess" = xauto; then
|
||||
if test "x$use_pkgconfig" = xyes; then
|
||||
m4_ifdef([PKG_CHECK_MODULES], [PKG_CHECK_MODULES([LIBMULTIPROCESS], [libmultiprocess], [
|
||||
libmultiprocess_found=yes;
|
||||
libmultiprocess_prefix=`$PKG_CONFIG --variable=prefix libmultiprocess`;
|
||||
], [true])])
|
||||
fi
|
||||
m4_ifdef([PKG_CHECK_MODULES], [PKG_CHECK_MODULES([LIBMULTIPROCESS], [libmultiprocess], [
|
||||
libmultiprocess_found=yes;
|
||||
libmultiprocess_prefix=`$PKG_CONFIG --variable=prefix libmultiprocess`;
|
||||
], [true])])
|
||||
elif test "x$with_libmultiprocess" != xno; then
|
||||
AC_MSG_ERROR([--with-libmultiprocess=$with_libmultiprocess value is not yes, auto, or no])
|
||||
fi
|
||||
|
|
Loading…
Add table
Reference in a new issue