aboutsummaryrefslogtreecommitdiff
path: root/configure.ac
diff options
context:
space:
mode:
authorHennadii Stepanov <32963518+hebasto@users.noreply.github.com>2022-02-14 13:55:57 +0200
committerHennadii Stepanov <32963518+hebasto@users.noreply.github.com>2022-04-06 08:54:48 +0200
commitc9c4e6cadda85783a005af773a683d44a208bf67 (patch)
treef5b3c70ce94a78bb8b9fa46e085796e4be9ebe33 /configure.ac
parent9ce1c506a3a5d20b1bf254235bfae48af592d86c (diff)
downloadbitcoin-c9c4e6cadda85783a005af773a683d44a208bf67.tar.xz
build: Do not define `PROVIDE_FUZZ_MAIN_FUNCTION` macro unconditionally
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac38
1 files changed, 18 insertions, 20 deletions
diff --git a/configure.ac b/configure.ac
index c345d590cb..fbcfafe353 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1300,21 +1300,6 @@ if test "$enable_fuzz" = "yes"; then
enable_fuzz_binary=yes
AX_CHECK_PREPROC_FLAG([-DABORT_ON_FAILED_ASSUME], [DEBUG_CPPFLAGS="$DEBUG_CPPFLAGS -DABORT_ON_FAILED_ASSUME"], [], [$CXXFLAG_WERROR])
-
- AC_MSG_CHECKING([whether main function is needed for fuzz binary])
- AX_CHECK_LINK_FLAG(
- [-fsanitize=$use_sanitizers],
- [AC_MSG_RESULT([no])],
- [AC_MSG_RESULT([yes]); CORE_CPPFLAGS="$CORE_CPPFLAGS -DPROVIDE_FUZZ_MAIN_FUNCTION"],
- [],
- [AC_LANG_PROGRAM([[
- #include <cstdint>
- #include <cstddef>
- extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { return 0; }
- /* comment to remove the main function ...
- ]],[[
- */ int not_main() {
- ]])])
else
BITCOIN_QT_INIT
@@ -1328,8 +1313,25 @@ else
QT_DBUS_INCLUDES=SUPPRESS_WARNINGS($QT_DBUS_INCLUDES)
QT_TEST_INCLUDES=SUPPRESS_WARNINGS($QT_TEST_INCLUDES)
fi
+fi
+
+if test "$enable_fuzz_binary" = "yes"; then
+ AC_MSG_CHECKING([whether main function is needed for fuzz binary])
+ AX_CHECK_LINK_FLAG(
+ [],
+ [AC_MSG_RESULT([no])],
+ [AC_MSG_RESULT([yes]); CORE_CPPFLAGS="$CORE_CPPFLAGS -DPROVIDE_FUZZ_MAIN_FUNCTION"],
+ [$SANITIZER_LDFLAGS],
+ [AC_LANG_PROGRAM([[
+ #include <cstdint>
+ #include <cstddef>
+ extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { return 0; }
+ /* comment to remove the main function ...
+ ]],[[
+ */ int not_main() {
+ ]])])
- CORE_CPPFLAGS="$CORE_CPPFLAGS -DPROVIDE_FUZZ_MAIN_FUNCTION"
+ CHECK_RUNTIME_LIB
fi
if test "$enable_wallet" != "no"; then
@@ -1818,10 +1820,6 @@ if test "$build_bitcoin_wallet$build_bitcoin_cli$build_bitcoin_tx$build_bitcoin_
AC_MSG_ERROR([No targets! Please specify at least one of: --with-utils --with-libs --with-daemon --with-gui --enable-bench or --enable-tests])
fi
-if test "$enable_fuzz_binary" = "yes"; then
- CHECK_RUNTIME_LIB
-fi
-
AM_CONDITIONAL([TARGET_DARWIN], [test "$TARGET_OS" = "darwin"])
AM_CONDITIONAL([BUILD_DARWIN], [test "$BUILD_OS" = "darwin"])
AM_CONDITIONAL([TARGET_LINUX], [test "$TARGET_OS" = "linux"])