summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authormidipix <writeonce@midipix.org>2021-06-08 23:40:14 +0000
committermidipix <writeonce@midipix.org>2021-06-09 01:00:26 +0000
commit83fb7c1c10097b021cd51f72241c18d302a35d5d (patch)
treeaa41984e8da2ed6d5637bb28704b375e874dd184
parent6448777316a45e61177b8cbf0f00d5608dca2da6 (diff)
downloadtpax-83fb7c1c10097b021cd51f72241c18d302a35d5d.tar.bz2
tpax-83fb7c1c10097b021cd51f72241c18d302a35d5d.tar.xz
build system: cfgtest: added cfgtest_macro_definition().
-rw-r--r--sofort/cfgtest/cfgtest.sh37
1 files changed, 37 insertions, 0 deletions
diff --git a/sofort/cfgtest/cfgtest.sh b/sofort/cfgtest/cfgtest.sh
index 46c431f..fba7b24 100644
--- a/sofort/cfgtest/cfgtest.sh
+++ b/sofort/cfgtest/cfgtest.sh
@@ -261,6 +261,10 @@ cfgtest_common_init()
cfgtest_inc=
cfgtest_src="$cfgtest_code_snippet"
+ elif [ "$cfgtest_type" = 'macro' ]; then
+ cfgtest_inc=
+ cfgtest_src="$cfgtest_code_snippet"
+
elif [ "$cfgtest_type" = 'ldflag' ]; then
cfgtest_inc=
cfgtest_src=
@@ -544,6 +548,39 @@ cfgtest_code_snippet_asm()
}
+cfgtest_macro_definition()
+{
+ # init
+ cfgtest_prolog 'macro definition' "${1}"
+
+ cfgtest_code_snippet=$(printf '%s\n' \
+ "#ifndef ${1}" \
+ "#error macro ${1} is not defined." \
+ "#endif")
+
+ cfgtest_common_init 'macro'
+
+ # execute
+ cfgtest_ret=1
+
+ printf '%s' "$cfgtest_src" \
+ | eval $(printf '%s' "$cfgtest_cmd") \
+ > /dev/null 2>&3 \
+ || cfgtest_epilog 'macro' '(error)' "${1}" \
+ || return
+
+ # result
+ cfgtest_ret=0
+
+ printf 'cfgtest: %s compiler: above macro definition test compiled successfully.\n\n' \
+ "$mb_cfgtest_cfgtype" >&3
+
+ cfgtest_epilog 'macro' '(defined)'
+
+ return 0
+}
+
+
cfgtest_library_presence()
{
# init