mirror of
https://github.com/dashpay/dash.git
synced 2024-12-25 03:52:49 +01:00
a23eee1938
a3a2bd9e8ad360a63cc8bdfc365d8bfd25ecc720 ci: Drop no longer needed package-specific flags (Hennadii Stepanov) 071eef1e974f128131afe6c6b5c68a430c64687a build: Propagate user-defined flags to host packages (Hennadii Stepanov) Pull request description: On master (4f8b1f8759301d2553183e14f72444a0f1d80725) `{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 https://github.com/bitcoin/bitcoin/pull/23551#issuecomment-973896518 ACKs for top commit: TheCharlatan: Code review ACK a3a2bd9e8ad360a63cc8bdfc365d8bfd25ecc720 Tree-SHA512: 243d6b1b0e9c5de46debc36de62a77b6b4d6f638940fd530040c219956ec624e321b0c25290fed164e3a8c88befa7b97b20f765d7b9a428c269b3720f21da099
45 lines
1.8 KiB
Makefile
45 lines
1.8 KiB
Makefile
ifneq ($(host),$(build))
|
|
host_toolchain:=$(host)-
|
|
endif
|
|
|
|
default_host_CC = $(host_toolchain)gcc
|
|
default_host_CXX = $(host_toolchain)g++
|
|
default_host_AR = $(host_toolchain)ar
|
|
default_host_RANLIB = $(host_toolchain)ranlib
|
|
default_host_STRIP = $(host_toolchain)strip
|
|
default_host_LIBTOOL = $(host_toolchain)libtool
|
|
default_host_INSTALL_NAME_TOOL = $(host_toolchain)install_name_tool
|
|
default_host_OTOOL = $(host_toolchain)otool
|
|
default_host_NM = $(host_toolchain)nm
|
|
|
|
define add_host_tool_func
|
|
ifneq ($(filter $(origin $1),undefined default),)
|
|
# Do not consider the well-known var $1 if it is undefined or is taking a value
|
|
# that is predefined by "make" (e.g. the make variable "CC" has a predefined
|
|
# value of "cc")
|
|
$(host_os)_$1?=$$(default_host_$1)
|
|
$(host_arch)_$(host_os)_$1?=$$($(host_os)_$1)
|
|
$(host_arch)_$(host_os)_$(release_type)_$1?=$$($(host_os)_$1)
|
|
else
|
|
$(host_os)_$1=$(or $($1),$($(host_os)_$1),$(default_host_$1))
|
|
$(host_arch)_$(host_os)_$1=$(or $($1),$($(host_arch)_$(host_os)_$1),$$($(host_os)_$1))
|
|
$(host_arch)_$(host_os)_$(release_type)_$1=$(or $($1),$($(host_arch)_$(host_os)_$(release_type)_$1),$$($(host_os)_$1))
|
|
endif
|
|
host_$1=$$($(host_arch)_$(host_os)_$1)
|
|
endef
|
|
|
|
define add_host_flags_func
|
|
ifeq ($(filter $(origin $1),undefined default),)
|
|
$(host_arch)_$(host_os)_$1 =
|
|
$(host_arch)_$(host_os)_$(release_type)_$1 = $($1)
|
|
else
|
|
$(host_arch)_$(host_os)_$1 += $($(host_os)_$1)
|
|
$(host_arch)_$(host_os)_$(release_type)_$1 += $($(host_os)_$(release_type)_$1)
|
|
endif
|
|
host_$1 = $$($(host_arch)_$(host_os)_$1)
|
|
host_$(release_type)_$1 = $$($(host_arch)_$(host_os)_$(release_type)_$1)
|
|
endef
|
|
|
|
$(foreach tool,CC CXX AR RANLIB STRIP NM LIBTOOL OTOOL INSTALL_NAME_TOOL,$(eval $(call add_host_tool_func,$(tool))))
|
|
$(foreach flags,CFLAGS CXXFLAGS CPPFLAGS LDFLAGS, $(eval $(call add_host_flags_func,$(flags))))
|