diff options
author | midipix <writeonce@midipix.org> | 2020-01-06 22:18:59 +0000 |
---|---|---|
committer | midipix <writeonce@midipix.org> | 2020-01-07 06:04:25 +0000 |
commit | 21dc705fcc16dc55d3832925b4d38cec0b38c243 (patch) | |
tree | ac1283b5c681338f2a7cac489b57eef4f15111e4 /sofort | |
parent | 62890d7521f7a8ebbe33f7928e965324351b8d78 (diff) | |
download | sbpython3-21dc705fcc16dc55d3832925b4d38cec0b38c243.tar.bz2 sbpython3-21dc705fcc16dc55d3832925b4d38cec0b38c243.tar.xz |
build system: cfgtest_library_presence(): config.log integration.
Diffstat (limited to 'sofort')
-rw-r--r-- | sofort/cfgtest/cfgtest.sh | 49 |
1 files changed, 44 insertions, 5 deletions
diff --git a/sofort/cfgtest/cfgtest.sh b/sofort/cfgtest/cfgtest.sh index 4cd9e08..9cf5ec0 100644 --- a/sofort/cfgtest/cfgtest.sh +++ b/sofort/cfgtest/cfgtest.sh @@ -459,15 +459,54 @@ cfgtest_code_snippet_asm() cfgtest_library_presence() { - printf 'int main(void){return 0;}' \ - | $mb_cfgtest_cc -o a.out -xc - \ - $mb_cfgtest_cflags \ - $@ \ - > /dev/null 2>/dev/null \ + cfgtest_libs= + cfgtest_spc= + + for cfgtest_lib in ${@}; do + cfgtest_libs="$cfgtest_libs$cfgtest_spc$cfgtest_lib" + cfgtest_spc=' ' + done + + if [ "${1}" = "$cfgtest_libs" ]; then + cfgtest_prolog 'library' "${1#*-l}" + else + cfgtest_prolog 'lib module' '(see config.log)' + fi + + cfgtest_code_snippet='int main(void){return 0;}' + + printf 'printf %s "%s" \\\n' "'%s'" "$cfgtest_code_snippet" >&3 + printf '| %s -o a.out -xc -' "$mb_cfgtest_cc" >&3 + + for cfgtest_cflag in $mb_cfgtest_cflags; do + printf ' \\\n\t%s' "$cfgtest_cflag" >&3 + done + + for cfgtest_lib in ${@}; do + printf ' \\\n\t%s' "$cfgtest_lib" >&3 + done + + printf '\n\n' >&3 + + cfgtest_cmd=$(printf '%s -o a.out -xc - %s' \ + "$mb_cfgtest_cc" "$mb_cfgtest_cflags") + + cfgtest_cmd="$cfgtest_cmd $cfgtest_libs" + + printf '%s' "$cfgtest_code_snippet" \ + | $(printf '%s' "$cfgtest_cmd") \ + > /dev/null 2>&3 \ + || cfgtest_epilog 'library' '-----' \ || return 1 rm -f a.out + printf 'cfgtest: `%s'"'"' was accepted by the linker driver.\n' \ + "$cfgtest_libs" >&3 + printf '%s\n' '------------------------' >&3 + + cfgtest_epilog 'library' '(present)' + return 0 } |