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:19 +0000
commit0f8d309847a3d83853646ce3ac9426cb3cf2129e (patch)
tree8af1f26215e62a43e36f110c6f233c064791a89c
parent9a28a22658c40795d20d6904df5f473469748304 (diff)
downloadntux-0f8d309847a3d83853646ce3ac9426cb3cf2129e.tar.bz2
ntux-0f8d309847a3d83853646ce3ac9426cb3cf2129e.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