Skip to content

Commit d032ac8

Browse files
committed
depends: add *FLAGS to gen_id
The depends cache should be busted when flags change, the same as any other tooling change. Id also like to start passing *FLAGS into depends inside the Guix env, which, without this change, doesn't bust the cache.
1 parent 528354e commit d032ac8

File tree

2 files changed

+19
-3
lines changed

2 files changed

+19
-3
lines changed

depends/Makefile

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -141,8 +141,16 @@ include packages/packages.mk
141141
# 2. Before including packages/*.mk (excluding packages/packages.mk), since
142142
# they rely on the build_id variables
143143
#
144-
build_id:=$(shell env CC='$(build_CC)' C_STANDARD='$(C_STANDARD)' CXX='$(build_CXX)' CXX_STANDARD='$(CXX_STANDARD)' AR='$(build_AR)' NM='$(build_NM)' RANLIB='$(build_RANLIB)' STRIP='$(build_STRIP)' SHA256SUM='$(build_SHA256SUM)' DEBUG='$(DEBUG)' LTO='$(LTO)' NO_HARDEN='$(NO_HARDEN)' ./gen_id '$(BUILD_ID_SALT)' 'GUIX_ENVIRONMENT=$(realpath $(GUIX_ENVIRONMENT))')
145-
$(host_arch)_$(host_os)_id:=$(shell env CC='$(host_CC)' C_STANDARD='$(C_STANDARD)' CXX='$(host_CXX)' CXX_STANDARD='$(CXX_STANDARD)' AR='$(host_AR)' NM='$(host_NM)' RANLIB='$(host_RANLIB)' STRIP='$(host_STRIP)' SHA256SUM='$(build_SHA256SUM)' DEBUG='$(DEBUG)' LTO='$(LTO)' NO_HARDEN='$(NO_HARDEN)' ./gen_id '$(HOST_ID_SALT)' 'GUIX_ENVIRONMENT=$(realpath $(GUIX_ENVIRONMENT))')
144+
build_id:=$(shell env CC='$(build_CC)' C_STANDARD='$(C_STANDARD)' CXX='$(build_CXX)' CXX_STANDARD='$(CXX_STANDARD)' \
145+
AR='$(build_AR)' NM='$(build_NM)' RANLIB='$(build_RANLIB)' STRIP='$(build_STRIP)' SHA256SUM='$(build_SHA256SUM)' \
146+
DEBUG='$(DEBUG)' NO_HARDEN='$(NO_HARDEN)' \
147+
./gen_id '$(BUILD_ID_SALT)' 'GUIX_ENVIRONMENT=$(realpath $(GUIX_ENVIRONMENT))')
148+
149+
$(host_arch)_$(host_os)_id:=$(shell env CC='$(host_CC)' C_STANDARD='$(C_STANDARD)' CXX='$(host_CXX)' CXX_STANDARD='$(CXX_STANDARD)' \
150+
CPPFLAGS='$(CPPFLAGS)' CFLAGS='$(CFLAGS)' CXXFLAGS='$(CXXFLAGS)' LDFLAGS='$(LDFLAGS)' \
151+
AR='$(host_AR)' NM='$(host_NM)' RANLIB='$(host_RANLIB)' STRIP='$(host_STRIP)' SHA256SUM='$(build_SHA256SUM)' \
152+
DEBUG='$(DEBUG)' LTO='$(LTO)' NO_HARDEN='$(NO_HARDEN)' \
153+
./gen_id '$(HOST_ID_SALT)' 'GUIX_ENVIRONMENT=$(realpath $(GUIX_ENVIRONMENT))')
146154

147155
boost_packages_$(NO_BOOST) = $(boost_packages)
148156

depends/gen_id

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
#!/usr/bin/env bash
22

33
# Usage: env [ CC=... ] [ C_STANDARD=...] [ CXX=... ] [CXX_STANDARD=...] \
4+
# [ CPPFLAGS=... ] [CFLAGS=...] [CXXFLAGS=...] [LDFLAGS=...] \
45
# [ AR=... ] [ NM=... ] [ RANLIB=... ] [ STRIP=... ] [ DEBUG=... ] \
5-
# [ LTO=... ] [ NO_HARDEN=... ] ./build-id [ID_SALT]...
6+
# [ LTO=... ] [ NO_HARDEN=... ] ./gen_id [ID_SALT]...
67
#
78
# Prints to stdout a SHA256 hash representing the current toolset, used by
89
# depends/Makefile as a build id for caching purposes (detecting when the
@@ -34,6 +35,13 @@
3435
echo "$@"
3536
echo "END ID SALT"
3637

38+
echo "BEGIN FLAGS"
39+
echo "CPPFLAGS=${CPPFLAGS}"
40+
echo "CFLAGS=${CFLAGS}"
41+
echo "CXXFLAGS=${CXXFLAGS}"
42+
echo "LDFLAGS=${LDFLAGS}"
43+
echo "END FLAGS"
44+
3745
# GCC only prints COLLECT_LTO_WRAPPER when invoked with just "-v", but we want
3846
# the information from "-v -E -" as well, so just include both.
3947
echo "BEGIN CC"

0 commit comments

Comments
 (0)