summaryrefslogtreecommitdiffstats
path: root/build/header.mk
diff options
context:
space:
mode:
Diffstat (limited to 'build/header.mk')
-rw-r--r--build/header.mk23
1 files changed, 18 insertions, 5 deletions
diff --git a/build/header.mk b/build/header.mk
index fb8246d..e9f1abc 100644
--- a/build/header.mk
+++ b/build/header.mk
@@ -4,18 +4,21 @@
# Makefile that generates gen/config.h
include build/prelude.mk
-include gen/config.mk
+include gen/vars.mk
+include gen/flags.mk
+include gen/pkgs.mk
include build/exports.mk
# All header fragments we generate
HEADERS := \
gen/has/--st-birthtim.h \
+ gen/has/_Fork.h \
gen/has/acl-get-entry.h \
gen/has/acl-get-file.h \
gen/has/acl-get-tag-type.h \
gen/has/acl-is-trivial-np.h \
gen/has/acl-trivial.h \
- gen/has/aligned-alloc.h \
+ gen/has/builtin-riscv-pause.h \
gen/has/confstr.h \
gen/has/extattr-get-file.h \
gen/has/extattr-get-link.h \
@@ -46,12 +49,14 @@ HEADERS := \
gen/has/strerror-r-posix.h \
gen/has/string-to-flags.h \
gen/has/strtofflags.h \
+ gen/has/tcgetwinsize.h \
gen/has/timegm.h \
+ gen/has/timer-create.h \
gen/has/tm-gmtoff.h \
gen/has/uselocale.h
# Previously generated by pkgs.mk
-PKG_HEADERS := ${ALL_PKGS:%=gen/use/%.h}
+PKG_HEADERS := ${ALL_PKGS:%=gen/with/%.h}
gen/config.h: ${PKG_HEADERS} ${HEADERS}
${MSG} "[ GEN] $@"
@@ -60,14 +65,22 @@ gen/config.h: ${PKG_HEADERS} ${HEADERS}
@printf '#define BFS_CONFIG_H\n' >>$@
@cat ${.ALLSRC} >>$@
@printf '#endif // BFS_CONFIG_H\n' >>$@
- @cat ${.ALLSRC:%=%.log} >gen/config.log
+ @cat gen/flags.log ${.ALLSRC:%=%.log} >gen/config.log
${VCAT} $@
+ @printf '%s' "$$CONFFLAGS" | build/embed.sh >gen/confflags.i
+ @printf '%s' "$$XCC" | build/embed.sh >gen/cc.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
SLUG = ${@:gen/%.h=%}
+# The hidden output file name
+OUT = ${SLUG:has/%=gen/has/.%.out}
${HEADERS}::
@${MKDIR} ${@D}
- @build/define-if.sh ${SLUG} build/cc.sh build/${SLUG}.c >$@ 2>$@.log; \
+ @build/define-if.sh ${SLUG} build/cc.sh build/${SLUG}.c -o ${OUT} >$@ 2>$@.log; \
build/msg-if.sh "[ CC ] ${SLUG}.c" test $$? -eq 0