summaryrefslogtreecommitdiffhomepage
path: root/sofort/cfgtest
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:20 +0000
commit3f4f11adc9cca96c86ba577f2b45aca86eb5622f (patch)
treedc1a2c4ccbd597736154b3d6f438f87fdb3c809f /sofort/cfgtest
parent86d780714c3082c51372117adcf5dc376968dadd (diff)
downloadperk-3f4f11adc9cca96c86ba577f2b45aca86eb5622f.tar.bz2
perk-3f4f11adc9cca96c86ba577f2b45aca86eb5622f.tar.xz
build system: cfgtest: added cfgtest_macro_definition().
Diffstat (limited to 'sofort/cfgtest')
-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