diff options
author | fanquake <fanquake@gmail.com> | 2020-02-13 14:21:32 +0800 |
---|---|---|
committer | fanquake <fanquake@gmail.com> | 2020-02-27 12:12:18 +0800 |
commit | 3d9b41ecc02a69daa19df2bc850d60bf9917b724 (patch) | |
tree | 771cf8cb338ad6f15613528a379141f4e1e3cdf9 | |
parent | 4502ed7cd1b3f0478dd2fdf048ad36cd87a8e2df (diff) |
build: add --enable-determinism configure flag
If used, this will enable additional compile / link time flags
that will make subsequent builds of bitcoind determinisitic.
-rw-r--r-- | configure.ac | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac index d0fcf48713..35e5dc1fe7 100644 --- a/configure.ac +++ b/configure.ac @@ -262,6 +262,13 @@ AC_ARG_ENABLE([gprof], [enable_gprof=$enableval], [enable_gprof=no]) +dnl Pass compiler & liner flags that make builds deterministic +AC_ARG_ENABLE([determinism], + [AS_HELP_STRING([--enable-determinism], + [Enable compilation flags that make builds deterministic (default is no)])], + [enable_determinism=$enableval], + [enable_determinism=no]) + dnl Turn warnings into errors AC_ARG_ENABLE([werror], [AS_HELP_STRING([--enable-werror], @@ -764,6 +771,12 @@ if test x$TARGET_OS = xdarwin; then AX_CHECK_LINK_FLAG([[-Wl,-bind_at_load]], [HARDENED_LDFLAGS="$HARDENED_LDFLAGS -Wl,-bind_at_load"]) fi +if test x$enable_determinism = xyes; then + if test x$TARGET_OS = xwindows; then + AX_CHECK_LINK_FLAG([[-Wl,--no-insert-timestamp]], [LDFLAGS="$LDFLAGS -Wl,--no-insert-timestamp"]) + fi +fi + 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 sys/sysctl.h vm/vm_param.h sys/vmmeter.h sys/resources.h]) dnl FD_ZERO may be dependent on a declaration of memcpy, e.g. in SmartOS |