Skip to content

Commit 228edaf

Browse files
committed
Merge bitcoin/bitcoin#23619: build: Propagate user-defined flags to host packages
a3a2bd9 ci: Drop no longer needed package-specific flags (Hennadii Stepanov) 071eef1 build: Propagate user-defined flags to host packages (Hennadii Stepanov) Pull request description: On master (4f8b1f8) `{CPP,C,CXX,LD}FLAGS` that are specified in the command line are not propagated to packages: ``` $ make --no-print-directory -C depends print-libevent_cxxflags CXXFLAGS=-some-fancy-flag libevent_cxxflags=-pipe -O2 ``` This PR: - propagates `{CPP,C,CXX,LD}FLAGS` to host packages: ``` $ make --no-print-directory -C depends print-libevent_cxxflags CXXFLAGS=-some-fancy-flag libevent_cxxflags= -some-fancy-flag ``` - does not propagate `{CPP,C,CXX,LD}FLAGS` to native packages: ``` $ make --no-print-directory -C depends print-native_b2_cxxflags CXXFLAGS=-some-fancy-flag native_b2_cxxflags= ``` - actually addresses the bitcoin/bitcoin#23551 (comment) ACKs for top commit: TheCharlatan: Code review ACK a3a2bd9 Tree-SHA512: 243d6b1b0e9c5de46debc36de62a77b6b4d6f638940fd530040c219956ec624e321b0c25290fed164e3a8c88befa7b97b20f765d7b9a428c269b3720f21da099
2 parents 79e18eb + a3a2bd9 commit 228edaf

File tree

3 files changed

+7
-2
lines changed

3 files changed

+7
-2
lines changed

ci/test/00_setup_env_native_fuzz_with_msan.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ export MSAN_AND_LIBCXX_FLAGS="${MSAN_FLAGS} ${LIBCXX_FLAGS}"
1515
export CONTAINER_NAME="ci_native_fuzz_msan"
1616
export PACKAGES="clang-12 llvm-12 cmake"
1717
# BDB generates false-positives and will be removed in future
18-
export DEP_OPTS="NO_BDB=1 NO_QT=1 CC='clang' CXX='clang++' CFLAGS='${MSAN_FLAGS}' CXXFLAGS='${MSAN_AND_LIBCXX_FLAGS}' libevent_cflags='${MSAN_FLAGS}' sqlite_cflags='${MSAN_FLAGS}' zeromq_cxxflags='-std=c++17 ${MSAN_AND_LIBCXX_FLAGS}'"
18+
export DEP_OPTS="NO_BDB=1 NO_QT=1 CC='clang' CXX='clang++' CFLAGS='${MSAN_FLAGS}' CXXFLAGS='${MSAN_AND_LIBCXX_FLAGS}'"
1919
export GOAL="install"
2020
export BITCOIN_CONFIG="--enable-fuzz --with-sanitizers=fuzzer,memory --disable-hardening --with-asm=no CC=clang CXX=clang++ CFLAGS='${MSAN_FLAGS}' CXXFLAGS='${MSAN_AND_LIBCXX_FLAGS}'"
2121
export USE_MEMORY_SANITIZER="true"

ci/test/00_setup_env_native_msan.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ export MSAN_AND_LIBCXX_FLAGS="${MSAN_FLAGS} ${LIBCXX_FLAGS}"
1515
export CONTAINER_NAME="ci_native_msan"
1616
export PACKAGES="clang-12 llvm-12 cmake"
1717
# BDB generates false-positives and will be removed in future
18-
export DEP_OPTS="NO_BDB=1 NO_QT=1 CC='clang' CXX='clang++' CFLAGS='${MSAN_FLAGS}' CXXFLAGS='${MSAN_AND_LIBCXX_FLAGS}' libevent_cflags='${MSAN_FLAGS}' sqlite_cflags='${MSAN_FLAGS}' zeromq_cxxflags='-std=c++17 ${MSAN_AND_LIBCXX_FLAGS}'"
18+
export DEP_OPTS="NO_BDB=1 NO_QT=1 CC='clang' CXX='clang++' CFLAGS='${MSAN_FLAGS}' CXXFLAGS='${MSAN_AND_LIBCXX_FLAGS}'"
1919
export GOAL="install"
2020
export BITCOIN_CONFIG="--with-sanitizers=memory --disable-hardening --with-asm=no CC=clang CXX=clang++ CFLAGS='${MSAN_FLAGS}' CXXFLAGS='${MSAN_AND_LIBCXX_FLAGS}'"
2121
export USE_MEMORY_SANITIZER="true"

depends/hosts/default.mk

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,13 @@ host_$1=$$($(host_arch)_$(host_os)_$1)
2828
endef
2929

3030
define add_host_flags_func
31+
ifeq ($(filter $(origin $1),undefined default),)
32+
$(host_arch)_$(host_os)_$1 =
33+
$(host_arch)_$(host_os)_$(release_type)_$1 = $($1)
34+
else
3135
$(host_arch)_$(host_os)_$1 += $($(host_os)_$1)
3236
$(host_arch)_$(host_os)_$(release_type)_$1 += $($(host_os)_$(release_type)_$1)
37+
endif
3338
host_$1 = $$($(host_arch)_$(host_os)_$1)
3439
host_$(release_type)_$1 = $$($(host_arch)_$(host_os)_$(release_type)_$1)
3540
endef

0 commit comments

Comments
 (0)