@@ -361,7 +361,9 @@ case $host in
361
361
esac
362
362
363
363
if test "$enable_debug" = "yes"; then
364
- dnl Clear default -g -O2 flags
364
+ dnl If debugging is enabled, and the user hasn't overriden CXXFLAGS, clear
365
+ dnl them, to prevent autoconfs "-g -O2" being added. Otherwise we'd end up
366
+ dnl with "-O0 -g3 -g -O2".
365
367
if test "$CXXFLAGS_overridden" = "no"; then
366
368
CXXFLAGS=""
367
369
fi
@@ -468,7 +470,7 @@ if test "$CXXFLAGS_overridden" = "no"; then
468
470
fi
469
471
470
472
dnl Don't allow extended (non-ASCII) symbols in identifiers. This is easier for code review.
471
- AX_CHECK_COMPILE_FLAG ( [ -fno-extended-identifiers] , [ CXXFLAGS ="$CXXFLAGS -fno-extended-identifiers"] , [ ] , [ $CXXFLAG_WERROR] )
473
+ AX_CHECK_COMPILE_FLAG ( [ -fno-extended-identifiers] , [ CORE_CXXFLAGS ="$CORE_CXXFLAGS -fno-extended-identifiers"] , [ ] , [ $CXXFLAG_WERROR] )
472
474
473
475
enable_sse42=no
474
476
enable_sse41=no
@@ -617,7 +619,7 @@ CXXFLAGS="$TEMP_CXXFLAGS"
617
619
618
620
fi
619
621
620
- CPPFLAGS ="$CPPFLAGS -DHAVE_BUILD_INFO"
622
+ CORE_CPPFLAGS ="$CORE_CPPFLAGS -DHAVE_BUILD_INFO"
621
623
622
624
AC_ARG_WITH ( [ utils] ,
623
625
[ AS_HELP_STRING ( [ --with-utils] ,
@@ -699,7 +701,7 @@ case $host in
699
701
AC_MSG_ERROR ( [ windres not found] )
700
702
fi
701
703
702
- CPPFLAGS ="$CPPFLAGS -D_MT -DWIN32 -D_WINDOWS -D_WIN32_WINNT=0x0601 -D_WIN32_IE=0x0501 -DWIN32_LEAN_AND_MEAN"
704
+ CORE_CPPFLAGS ="$CORE_CPPFLAGS -D_MT -DWIN32 -D_WINDOWS -D_WIN32_WINNT=0x0601 -D_WIN32_IE=0x0501 -DWIN32_LEAN_AND_MEAN"
703
705
704
706
dnl libtool insists upon adding -nostdlib and a list of objects/libs to link against.
705
707
dnl That breaks our ability to build dll's with static libgcc/libstdc++/libssp. Override
@@ -710,7 +712,7 @@ case $host in
710
712
postdeps_CXX=
711
713
712
714
dnl We require Windows 7 (NT 6.1) or later
713
- AX_CHECK_LINK_FLAG ( [ -Wl,--major-subsystem-version -Wl,6 -Wl,--minor-subsystem-version -Wl,1] , [ LDFLAGS ="$LDFLAGS -Wl,--major-subsystem-version -Wl,6 -Wl,--minor-subsystem-version -Wl,1"] , [ ] , [ $LDFLAG_WERROR] )
715
+ AX_CHECK_LINK_FLAG ( [ -Wl,--major-subsystem-version -Wl,6 -Wl,--minor-subsystem-version -Wl,1] , [ CORE_LDFLAGS ="$CORE_LDFLAGS -Wl,--major-subsystem-version -Wl,6 -Wl,--minor-subsystem-version -Wl,1"] , [ ] , [ $LDFLAG_WERROR] )
714
716
;;
715
717
*darwin*)
716
718
TARGET_OS=darwin
@@ -748,20 +750,20 @@ case $host in
748
750
if test "$use_upnp" != "no" && $BREW list --versions miniupnpc >/dev/null; then
749
751
miniupnpc_prefix=$($BREW --prefix miniupnpc 2>/dev/null)
750
752
if test "$suppress_external_warnings" != "no"; then
751
- CPPFLAGS ="$CPPFLAGS -isystem $miniupnpc_prefix/include"
753
+ CORE_CPPFLAGS ="$CORE_CPPFLAGS -isystem $miniupnpc_prefix/include"
752
754
else
753
- CPPFLAGS ="$CPPFLAGS -I$miniupnpc_prefix/include"
755
+ CORE_CPPFLAGS ="$CORE_CPPFLAGS -I$miniupnpc_prefix/include"
754
756
fi
755
- LDFLAGS ="$LDFLAGS -L$miniupnpc_prefix/lib"
757
+ CORE_LDFLAGS ="$CORE_LDFLAGS -L$miniupnpc_prefix/lib"
756
758
fi
757
759
if test "$use_natpmp" != "no" && $BREW list --versions libnatpmp >/dev/null; then
758
760
libnatpmp_prefix=$($BREW --prefix libnatpmp 2>/dev/null)
759
761
if test "$suppress_external_warnings" != "no"; then
760
- CPPFLAGS ="$CPPFLAGS -isystem $libnatpmp_prefix/include"
762
+ CORE_CPPFLAGS ="$CORE_CPPFLAGS -isystem $libnatpmp_prefix/include"
761
763
else
762
- CPPFLAGS ="$CPPFLAGS -I$libnatpmp_prefix/include"
764
+ CORE_CPPFLAGS ="$CORE_CPPFLAGS -I$libnatpmp_prefix/include"
763
765
fi
764
- LDFLAGS ="$LDFLAGS -L$libnatpmp_prefix/lib"
766
+ CORE_LDFLAGS ="$CORE_LDFLAGS -L$libnatpmp_prefix/lib"
765
767
fi
766
768
;;
767
769
esac
@@ -787,8 +789,8 @@ case $host in
787
789
esac
788
790
fi
789
791
790
- AX_CHECK_LINK_FLAG ( [ -Wl,-headerpad_max_install_names] , [ LDFLAGS ="$LDFLAGS -Wl,-headerpad_max_install_names"] , [ ] , [ $LDFLAG_WERROR] )
791
- CPPFLAGS ="$CPPFLAGS -DMAC_OSX -DOBJC_OLD_DISPATCH_PROTOTYPES=0"
792
+ AX_CHECK_LINK_FLAG ( [ -Wl,-headerpad_max_install_names] , [ CORE_LDFLAGS ="$CORE_LDFLAGS -Wl,-headerpad_max_install_names"] , [ ] , [ $LDFLAG_WERROR] )
793
+ CORE_CPPFLAGS ="$CORE_CPPFLAGS -DMAC_OSX -DOBJC_OLD_DISPATCH_PROTOTYPES=0"
792
794
OBJCXXFLAGS="$CXXFLAGS"
793
795
;;
794
796
*android*)
@@ -851,11 +853,17 @@ if test "$use_lcov" = "yes"; then
851
853
AC_SUBST ( COV_TOOL_WRAPPER , "cov_tool_wrapper.sh" )
852
854
LCOV="$LCOV --gcov-tool $(pwd)/$COV_TOOL_WRAPPER"
853
855
854
- AX_CHECK_LINK_FLAG ( [ --coverage] , [ LDFLAGS ="$LDFLAGS --coverage"] ,
856
+ AX_CHECK_LINK_FLAG ( [ --coverage] , [ CORE_LDFLAGS ="$CORE_LDFLAGS --coverage"] ,
855
857
[ AC_MSG_ERROR ( [ lcov testing requested but --coverage linker flag does not work] ) ] )
856
- AX_CHECK_COMPILE_FLAG ( [ --coverage] ,[ CXXFLAGS ="$CXXFLAGS --coverage"] ,
858
+ AX_CHECK_COMPILE_FLAG ( [ --coverage] ,[ CORE_CXXFLAGS ="$CORE_CXXFLAGS --coverage"] ,
857
859
[ AC_MSG_ERROR ( [ lcov testing requested but --coverage flag does not work] ) ] )
858
- CXXFLAGS="$CXXFLAGS -Og"
860
+ dnl If coverage is enabled, and the user hasn't overriden CXXFLAGS, clear
861
+ dnl them, to prevent autoconfs "-g -O2" being added. Otherwise we'd end up
862
+ dnl with "--coverage -Og -O0 -g -O2".
863
+ if test "$CXXFLAGS_overridden" = "no"; then
864
+ CXXFLAGS=""
865
+ fi
866
+ CORE_CXXFLAGS="$CORE_CXXFLAGS -Og -O0"
859
867
fi
860
868
861
869
if test "$use_lcov_branch" != "no"; then
@@ -878,13 +886,13 @@ AC_FUNC_STRERROR_R
878
886
if test "$ac_cv_sys_file_offset_bits" != "" &&
879
887
test "$ac_cv_sys_file_offset_bits" != "no" &&
880
888
test "$ac_cv_sys_file_offset_bits" != "unknown"; then
881
- CPPFLAGS ="$CPPFLAGS -D_FILE_OFFSET_BITS=$ac_cv_sys_file_offset_bits"
889
+ CORE_CPPFLAGS ="$CORE_CPPFLAGS -D_FILE_OFFSET_BITS=$ac_cv_sys_file_offset_bits"
882
890
fi
883
891
884
892
if test "$ac_cv_sys_large_files" != "" &&
885
893
test "$ac_cv_sys_large_files" != "no" &&
886
894
test "$ac_cv_sys_large_files" != "unknown"; then
887
- CPPFLAGS ="$CPPFLAGS -D_LARGE_FILES=$ac_cv_sys_large_files"
895
+ CORE_CPPFLAGS ="$CORE_CPPFLAGS -D_LARGE_FILES=$ac_cv_sys_large_files"
888
896
fi
889
897
890
898
AC_SEARCH_LIBS ( [ clock_gettime] ,[ rt] )
@@ -968,8 +976,8 @@ dnl These flags are specific to ld64, and may cause issues with other linkers.
968
976
dnl For example: GNU ld will interpret -dead_strip as -de and then try and use
969
977
dnl "ad_strip" as the symbol for the entry point.
970
978
if test "$TARGET_OS" = "darwin"; then
971
- AX_CHECK_LINK_FLAG ( [ -Wl,-dead_strip] , [ LDFLAGS ="$LDFLAGS -Wl,-dead_strip"] , [ ] , [ $LDFLAG_WERROR] )
972
- AX_CHECK_LINK_FLAG ( [ -Wl,-dead_strip_dylibs] , [ LDFLAGS ="$LDFLAGS -Wl,-dead_strip_dylibs"] , [ ] , [ $LDFLAG_WERROR] )
979
+ AX_CHECK_LINK_FLAG ( [ -Wl,-dead_strip] , [ CORE_LDFLAGS ="$CORE_LDFLAGS -Wl,-dead_strip"] , [ ] , [ $LDFLAG_WERROR] )
980
+ AX_CHECK_LINK_FLAG ( [ -Wl,-dead_strip_dylibs] , [ CORE_LDFLAGS ="$CORE_LDFLAGS -Wl,-dead_strip_dylibs"] , [ ] , [ $LDFLAG_WERROR] )
973
981
AX_CHECK_LINK_FLAG ( [ -Wl,-bind_at_load] , [ HARDENED_LDFLAGS="$HARDENED_LDFLAGS -Wl,-bind_at_load"] , [ ] , [ $LDFLAG_WERROR] )
974
982
fi
975
983
@@ -1297,7 +1305,7 @@ if test "$enable_fuzz" = "yes"; then
1297
1305
AX_CHECK_LINK_FLAG (
1298
1306
[ -fsanitize=$use_sanitizers] ,
1299
1307
[ AC_MSG_RESULT ( [ no] ) ] ,
1300
- [ AC_MSG_RESULT ( [ yes] ) ; CPPFLAGS ="$CPPFLAGS -DPROVIDE_FUZZ_MAIN_FUNCTION"] ,
1308
+ [ AC_MSG_RESULT ( [ yes] ) ; CORE_CPPFLAGS ="$CORE_CPPFLAGS -DPROVIDE_FUZZ_MAIN_FUNCTION"] ,
1301
1309
[ ] ,
1302
1310
[ AC_LANG_PROGRAM ( [ [
1303
1311
#include <cstdint>
@@ -1321,7 +1329,7 @@ else
1321
1329
QT_TEST_INCLUDES=SUPPRESS_WARNINGS($QT_TEST_INCLUDES)
1322
1330
fi
1323
1331
1324
- CPPFLAGS ="$CPPFLAGS -DPROVIDE_FUZZ_MAIN_FUNCTION"
1332
+ CORE_CPPFLAGS ="$CORE_CPPFLAGS -DPROVIDE_FUZZ_MAIN_FUNCTION"
1325
1333
fi
1326
1334
1327
1335
if test "$enable_wallet" != "no"; then
@@ -1513,7 +1521,7 @@ AM_CONDITIONAL([ENABLE_SYSCALL_SANDBOX], [test "$use_syscall_sandbox" != "no"])
1513
1521
1514
1522
dnl Check for reduced exports
1515
1523
if test "$use_reduce_exports" = "yes"; then
1516
- AX_CHECK_COMPILE_FLAG ( [ -fvisibility=hidden] , [ CXXFLAGS ="$CXXFLAGS -fvisibility=hidden"] ,
1524
+ AX_CHECK_COMPILE_FLAG ( [ -fvisibility=hidden] , [ CORE_CXXFLAGS ="$CORE_CXXFLAGS -fvisibility=hidden"] ,
1517
1525
[ AC_MSG_ERROR ( [ Cannot set hidden symbol visibility. Use --disable-reduce-exports.] ) ] , [ $CXXFLAG_WERROR] )
1518
1526
AX_CHECK_LINK_FLAG ( [ -Wl,--exclude-libs,ALL] , [ RELDFLAGS="-Wl,--exclude-libs,ALL"] , [ ] , [ $LDFLAG_WERROR] )
1519
1527
fi
@@ -1874,6 +1882,9 @@ AC_SUBST(BITCOIN_MP_NODE_NAME)
1874
1882
AC_SUBST ( BITCOIN_MP_GUI_NAME )
1875
1883
1876
1884
AC_SUBST ( RELDFLAGS )
1885
+ AC_SUBST ( CORE_LDFLAGS )
1886
+ AC_SUBST ( CORE_CPPFLAGS )
1887
+ AC_SUBST ( CORE_CXXFLAGS )
1877
1888
AC_SUBST ( DEBUG_CPPFLAGS )
1878
1889
AC_SUBST ( WARN_CXXFLAGS )
1879
1890
AC_SUBST ( NOWARN_CXXFLAGS )
@@ -2005,9 +2016,9 @@ echo " build os = $build_os"
2005
2016
echo
2006
2017
echo " CC = $CC"
2007
2018
echo " CFLAGS = $PTHREAD_CFLAGS $CFLAGS"
2008
- echo " CPPFLAGS = $DEBUG_CPPFLAGS $HARDENED_CPPFLAGS $CPPFLAGS"
2019
+ echo " CPPFLAGS = $DEBUG_CPPFLAGS $HARDENED_CPPFLAGS $CORE_CPPFLAGS $ CPPFLAGS"
2009
2020
echo " CXX = $CXX"
2010
- echo " CXXFLAGS = $LTO_CXXFLAGS $DEBUG_CXXFLAGS $HARDENED_CXXFLAGS $WARN_CXXFLAGS $NOWARN_CXXFLAGS $ERROR_CXXFLAGS $GPROF_CXXFLAGS $CXXFLAGS"
2011
- echo " LDFLAGS = $LTO_LDFLAGS $PTHREAD_LIBS $HARDENED_LDFLAGS $GPROF_LDFLAGS $LDFLAGS"
2021
+ echo " CXXFLAGS = $LTO_CXXFLAGS $DEBUG_CXXFLAGS $HARDENED_CXXFLAGS $WARN_CXXFLAGS $NOWARN_CXXFLAGS $ERROR_CXXFLAGS $GPROF_CXXFLAGS $CORE_CXXFLAGS $ CXXFLAGS"
2022
+ echo " LDFLAGS = $LTO_LDFLAGS $PTHREAD_LIBS $HARDENED_LDFLAGS $GPROF_LDFLAGS $CORE_LDFLAGS $ LDFLAGS"
2012
2023
echo " ARFLAGS = $ARFLAGS"
2013
2024
echo
0 commit comments