diff options
| author | Ron Yorston <rmy@pobox.com> | 2024-02-16 12:06:15 +0000 |
|---|---|---|
| committer | Ron Yorston <rmy@pobox.com> | 2024-02-16 12:06:15 +0000 |
| commit | 0200baa675d3b51c0f021da7728353ee7ceedba4 (patch) | |
| tree | 2c60bea606dc2d2f0976f158de977c1babd0384a | |
| parent | a4bb355732f2902b936368b644fa08518ecce55a (diff) | |
| download | busybox-w32-0200baa675d3b51c0f021da7728353ee7ceedba4.tar.gz busybox-w32-0200baa675d3b51c0f021da7728353ee7ceedba4.tar.bz2 busybox-w32-0200baa675d3b51c0f021da7728353ee7ceedba4.zip | |
build system: avoid full rebuild when EXTRAVERSION changes
The last two commits allow EXTRAVERSION to track the current state
of a git repository. The build system was unable to determine
which files were affected by changes to EXTRAVERSION and caused
a full rebuild when it changed.
Alter how the version information is passed to the code so only
a handful of files need to be rebuilt when it changes.
| -rw-r--r-- | Makefile | 10 | ||||
| -rw-r--r-- | Makefile.flags | 2 | ||||
| -rw-r--r-- | archival/tar.c | 3 | ||||
| -rw-r--r-- | editors/vi.c | 3 | ||||
| -rw-r--r-- | libbb/messages.c | 3 | ||||
| -rw-r--r-- | miscutils/bc.c | 3 | ||||
| -rw-r--r-- | networking/httpd.c | 3 |
7 files changed, 25 insertions, 2 deletions
| @@ -892,7 +892,7 @@ endif | |||
| 892 | # prepare2 creates a makefile if using a separate output directory | 892 | # prepare2 creates a makefile if using a separate output directory |
| 893 | prepare2: prepare3 outputmakefile | 893 | prepare2: prepare3 outputmakefile |
| 894 | 894 | ||
| 895 | prepare1: prepare2 include/config/MARKER | 895 | prepare1: prepare2 include/config/MARKER include/BB_VER.h |
| 896 | ifneq ($(KBUILD_MODULES),) | 896 | ifneq ($(KBUILD_MODULES),) |
| 897 | $(Q)mkdir -p $(MODVERDIR) | 897 | $(Q)mkdir -p $(MODVERDIR) |
| 898 | $(Q)rm -f $(MODVERDIR)/* | 898 | $(Q)rm -f $(MODVERDIR)/* |
| @@ -956,6 +956,13 @@ define filechk_version.h | |||
| 956 | ) | 956 | ) |
| 957 | endef | 957 | endef |
| 958 | 958 | ||
| 959 | define filechk_BB_VER.h | ||
| 960 | (echo \#define BB_VER \"$(KERNELRELEASE)\";) | ||
| 961 | endef | ||
| 962 | |||
| 963 | include/BB_VER.h: $(srctree)/Makefile .config .kernelrelease FORCE | ||
| 964 | $(call filechk,BB_VER.h) | ||
| 965 | |||
| 959 | # --------------------------------------------------------------------------- | 966 | # --------------------------------------------------------------------------- |
| 960 | 967 | ||
| 961 | PHONY += depend dep | 968 | PHONY += depend dep |
| @@ -1051,6 +1058,7 @@ CLEAN_FILES += busybox$(EXEEXT) busybox_unstripped* busybox.links \ | |||
| 1051 | MRPROPER_DIRS += include/config include2 | 1058 | MRPROPER_DIRS += include/config include2 |
| 1052 | MRPROPER_FILES += .config .config.old include/asm .version .old_version \ | 1059 | MRPROPER_FILES += .config .config.old include/asm .version .old_version \ |
| 1053 | include/NUM_APPLETS.h \ | 1060 | include/NUM_APPLETS.h \ |
| 1061 | include/BB_VER.h \ | ||
| 1054 | include/common_bufsiz.h \ | 1062 | include/common_bufsiz.h \ |
| 1055 | include/autoconf.h \ | 1063 | include/autoconf.h \ |
| 1056 | include/bbconfigopts.h \ | 1064 | include/bbconfigopts.h \ |
diff --git a/Makefile.flags b/Makefile.flags index 8be999cb2..f24fd9475 100644 --- a/Makefile.flags +++ b/Makefile.flags | |||
| @@ -17,7 +17,7 @@ CPPFLAGS += \ | |||
| 17 | $(if $(CONFIG_LFS),-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64) \ | 17 | $(if $(CONFIG_LFS),-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64) \ |
| 18 | $(if $(CONFIG_TIME64),-D_TIME_BITS=64) \ | 18 | $(if $(CONFIG_TIME64),-D_TIME_BITS=64) \ |
| 19 | -DMINGW_VER=$(squote)$(quote)$(MINGW_VER)$(quote)$(squote) \ | 19 | -DMINGW_VER=$(squote)$(quote)$(MINGW_VER)$(quote)$(squote) \ |
| 20 | -DBB_VER=$(squote)$(quote)$(BB_VER)$(quote)$(squote) | 20 | $(if $(CONFIG_PLATFORM_MINGW32),,-DBB_VER=$(squote)$(quote)$(BB_VER)$(quote)$(squote)) |
| 21 | 21 | ||
| 22 | CFLAGS += $(call cc-option,-Wall,) | 22 | CFLAGS += $(call cc-option,-Wall,) |
| 23 | CFLAGS += $(call cc-option,-Wshadow,) | 23 | CFLAGS += $(call cc-option,-Wshadow,) |
diff --git a/archival/tar.c b/archival/tar.c index bb82560b8..23ea02b5d 100644 --- a/archival/tar.c +++ b/archival/tar.c | |||
| @@ -119,6 +119,9 @@ | |||
| 119 | #include "libbb.h" | 119 | #include "libbb.h" |
| 120 | #include "common_bufsiz.h" | 120 | #include "common_bufsiz.h" |
| 121 | #include "bb_archive.h" | 121 | #include "bb_archive.h" |
| 122 | #if ENABLE_PLATFORM_MINGW32 | ||
| 123 | # include "BB_VER.h" | ||
| 124 | #endif | ||
| 122 | /* FIXME: Stop using this non-standard feature */ | 125 | /* FIXME: Stop using this non-standard feature */ |
| 123 | #ifndef FNM_LEADING_DIR | 126 | #ifndef FNM_LEADING_DIR |
| 124 | # define FNM_LEADING_DIR 0 | 127 | # define FNM_LEADING_DIR 0 |
diff --git a/editors/vi.c b/editors/vi.c index b49d5454d..7ad8412a2 100644 --- a/editors/vi.c +++ b/editors/vi.c | |||
| @@ -214,6 +214,9 @@ | |||
| 214 | #if ENABLE_FEATURE_VI_REGEX_SEARCH | 214 | #if ENABLE_FEATURE_VI_REGEX_SEARCH |
| 215 | # include <regex.h> | 215 | # include <regex.h> |
| 216 | #endif | 216 | #endif |
| 217 | #if ENABLE_PLATFORM_MINGW32 | ||
| 218 | # include "BB_VER.h" | ||
| 219 | #endif | ||
| 217 | 220 | ||
| 218 | // the CRASHME code is unmaintained, and doesn't currently build | 221 | // the CRASHME code is unmaintained, and doesn't currently build |
| 219 | #define ENABLE_FEATURE_VI_CRASHME 0 | 222 | #define ENABLE_FEATURE_VI_CRASHME 0 |
diff --git a/libbb/messages.c b/libbb/messages.c index 3c9d8683a..12079a2e0 100644 --- a/libbb/messages.c +++ b/libbb/messages.c | |||
| @@ -5,6 +5,9 @@ | |||
| 5 | * Licensed under GPLv2 or later, see file LICENSE in this source tree. | 5 | * Licensed under GPLv2 or later, see file LICENSE in this source tree. |
| 6 | */ | 6 | */ |
| 7 | #include "libbb.h" | 7 | #include "libbb.h" |
| 8 | #if ENABLE_PLATFORM_MINGW32 | ||
| 9 | # include "BB_VER.h" | ||
| 10 | #endif | ||
| 8 | 11 | ||
| 9 | /* allow version to be extended, via CFLAGS */ | 12 | /* allow version to be extended, via CFLAGS */ |
| 10 | #ifndef BB_EXTRA_VERSION | 13 | #ifndef BB_EXTRA_VERSION |
diff --git a/miscutils/bc.c b/miscutils/bc.c index a82646674..31485ae9c 100644 --- a/miscutils/bc.c +++ b/miscutils/bc.c | |||
| @@ -203,6 +203,9 @@ | |||
| 203 | 203 | ||
| 204 | #include "libbb.h" | 204 | #include "libbb.h" |
| 205 | #include "common_bufsiz.h" | 205 | #include "common_bufsiz.h" |
| 206 | #if ENABLE_PLATFORM_MINGW32 | ||
| 207 | # include "BB_VER.h" | ||
| 208 | #endif | ||
| 206 | 209 | ||
| 207 | #if !ENABLE_BC && !ENABLE_FEATURE_DC_BIG | 210 | #if !ENABLE_BC && !ENABLE_FEATURE_DC_BIG |
| 208 | # include "dc.c" | 211 | # include "dc.c" |
diff --git a/networking/httpd.c b/networking/httpd.c index c76ce3658..bd3a5a097 100644 --- a/networking/httpd.c +++ b/networking/httpd.c | |||
| @@ -299,6 +299,9 @@ | |||
| 299 | 299 | ||
| 300 | #include "libbb.h" | 300 | #include "libbb.h" |
| 301 | #include "common_bufsiz.h" | 301 | #include "common_bufsiz.h" |
| 302 | #if ENABLE_PLATFORM_MINGW32 | ||
| 303 | # include "BB_VER.h" | ||
| 304 | #endif | ||
| 302 | #if ENABLE_PAM | 305 | #if ENABLE_PAM |
| 303 | /* PAM may include <locale.h>. We may need to undefine bbox's stub define: */ | 306 | /* PAM may include <locale.h>. We may need to undefine bbox's stub define: */ |
| 304 | # undef setlocale | 307 | # undef setlocale |
