summaryrefslogtreecommitdiffstats
path: root/build
diff options
context:
space:
mode:
authorTavian Barnes <tavianator@tavianator.com>2024-05-29 13:19:20 -0400
committerTavian Barnes <tavianator@tavianator.com>2024-06-08 12:36:30 -0400
commit34e133bd0e2d5bb4eed5d5091d14d9e6fce1ff2b (patch)
tree2abf64518759de4a84d4ac08e218021e9643d3f8 /build
parent778295321928767552ebc577f15e88c17da4c1c9 (diff)
downloadbfs-34e133bd0e2d5bb4eed5d5091d14d9e6fce1ff2b.tar.xz
Embed more configuration info in bfs --version
Diffstat (limited to 'build')
-rwxr-xr-xbuild/embed.sh12
-rw-r--r--build/header.mk5
-rw-r--r--build/prelude.mk2
3 files changed, 18 insertions, 1 deletions
diff --git a/build/embed.sh b/build/embed.sh
new file mode 100755
index 0000000..8d7d0f1
--- /dev/null
+++ b/build/embed.sh
@@ -0,0 +1,12 @@
+#!/bin/sh
+
+# Copyright © Tavian Barnes <tavianator@tavianator.com>
+# SPDX-License-Identifier: 0BSD
+
+# Convert data into a C array like #embed
+
+set -eu
+
+{ cat; printf '\0'; } \
+ | od -An -tx1 \
+ | sed 's/\([^ ][^ ]*\)/0x\1,/g'
diff --git a/build/header.mk b/build/header.mk
index 76e9562..8b28346 100644
--- a/build/header.mk
+++ b/build/header.mk
@@ -63,6 +63,11 @@ gen/config.h: ${PKG_HEADERS} ${HEADERS}
@printf '#endif // BFS_CONFIG_H\n' >>$@
@cat ${.ALLSRC:%=%.log} >gen/config.log
${VCAT} $@
+ @printf '%s' "$$CONFIG" | build/embed.sh >gen/config.i
+ @printf '%s' "$$XCPPFLAGS" | build/embed.sh >gen/cppflags.i
+ @printf '%s' "$$XCFLAGS" | build/embed.sh >gen/cflags.i
+ @printf '%s' "$$XLDFLAGS" | build/embed.sh >gen/ldflags.i
+ @printf '%s' "$$XLDLIBS" | build/embed.sh >gen/ldlibs.i
.PHONY: gen/config.h
# The short name of the config test
diff --git a/build/prelude.mk b/build/prelude.mk
index 38e432c..76fbce8 100644
--- a/build/prelude.mk
+++ b/build/prelude.mk
@@ -97,10 +97,10 @@ LIBBFS := \
obj/src/thread.o \
obj/src/trie.o \
obj/src/typo.o \
+ obj/src/version.o \
obj/src/xregex.o \
obj/src/xspawn.o \
obj/src/xtime.o \
- obj/gen/version.o
# Unit test objects
UNIT_OBJS := \