diff options
author | midipix <writeonce@midipix.org> | 2021-06-08 23:40:14 +0000 |
---|---|---|
committer | midipix <writeonce@midipix.org> | 2021-06-09 01:00:21 +0000 |
commit | 9ccd93600ce228ddda3ee6c32da044eecbf3c65c (patch) | |
tree | e4f388045da18135272d7f1460553d354fe47cb2 /sofort/cfgtest | |
parent | 5b8b145106222e24eff2b8d6b158a2e5e4ebe03e (diff) | |
download | ptycon-9ccd93600ce228ddda3ee6c32da044eecbf3c65c.tar.bz2 ptycon-9ccd93600ce228ddda3ee6c32da044eecbf3c65c.tar.xz |
build system: cfgtest: added cfgtest_macro_definition().
Diffstat (limited to 'sofort/cfgtest')
-rw-r--r-- | sofort/cfgtest/cfgtest.sh | 37 |
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 |