diff options
author | midipix <writeonce@midipix.org> | 2021-06-05 14:49:41 +0000 |
---|---|---|
committer | midipix <writeonce@midipix.org> | 2021-06-05 15:11:51 +0000 |
commit | 8fd076682447e49824feb48beba751a4aa2c1fed (patch) | |
tree | 48bb51fd869841e4bf8bb7a7eb06f1db6304eb04 /sofort/cfgtest/cfgtest.sh | |
parent | 5f42ec8c3c7c121a0eff0d52e40c206a6b086f96 (diff) | |
download | ntcon-8fd076682447e49824feb48beba751a4aa2c1fed.tar.bz2 ntcon-8fd076682447e49824feb48beba751a4aa2c1fed.tar.xz |
build system: cfgtest_compiler_switch(): distinguish 'switch' from 'ldflag'.
Diffstat (limited to 'sofort/cfgtest/cfgtest.sh')
-rw-r--r-- | sofort/cfgtest/cfgtest.sh | 31 |
1 files changed, 27 insertions, 4 deletions
diff --git a/sofort/cfgtest/cfgtest.sh b/sofort/cfgtest/cfgtest.sh index 692bfec..f66dde5 100644 --- a/sofort/cfgtest/cfgtest.sh +++ b/sofort/cfgtest/cfgtest.sh @@ -213,6 +213,8 @@ cfgtest_common_init() if [ "$mb_cfgtest_stdin_input" = 'no' ]; then if [ "$cfgtest_type" = 'lib' ]; then cfgtest_fmt='%s cfgtest_c3RyaWN0X21vZGUK.c -o a.out' + elif [ "$cfgtest_type" = 'ldflag' ]; then + cfgtest_fmt='%s cfgtest_c3RyaWN0X21vZGUK.c -o a.out' else cfgtest_fmt='%s -c cfgtest_c3RyaWN0X21vZGUK.c -o a.out' fi @@ -220,6 +222,8 @@ cfgtest_common_init() cfgtest_fmt='%s -c -xc - -o a.out' elif [ "$cfgtest_type" = 'lib' ]; then cfgtest_fmt='%s -xc - -o a.out' + elif [ "$cfgtest_type" = 'ldflag' ]; then + cfgtest_fmt='%s -xc - -o a.out' else cfgtest_fmt='%s -S -xc - -o -' fi @@ -232,6 +236,13 @@ cfgtest_common_init() "$mb_cfgtest_ldflags" \ "$cfgtest_libs") + elif [ "$cfgtest_type" = 'ldflag' ]; then + cfgtest_cmd=$(printf "$cfgtest_fmt %s %s %s" \ + "$mb_cfgtest_cc" \ + "$mb_cfgtest_cflags" \ + "$mb_cfgtest_ldflags" \ + "$cfgtest_switches") + elif [ "$cfgtest_type" = 'switch' ]; then cfgtest_cmd=$(printf "$cfgtest_fmt %s %s" \ "$mb_cfgtest_cc" \ @@ -248,6 +259,10 @@ cfgtest_common_init() cfgtest_inc= cfgtest_src="$cfgtest_code_snippet" + elif [ "$cfgtest_type" = 'ldflag' ]; then + cfgtest_inc= + cfgtest_src= + elif [ "$cfgtest_type" = 'switch' ]; then cfgtest_inc= cfgtest_src= @@ -270,7 +285,7 @@ cfgtest_common_init() printf ' \\\n\t%s' "$cfgtest_lib" >&3 done - elif [ "$cfgtest_type" = 'switch' ]; then + elif [ "$cfgtest_type" = 'switch' ] || [ "$cfgtest_type" = 'ldflag' ]; then for cfgtest_switch in $(printf '%s' "$cfgtest_switches"); do printf ' \\\n\t%s' "$cfgtest_switch" >&3 done @@ -583,9 +598,17 @@ cfgtest_compiler_switch() cfgtest_prolog 'compiler switch combination' "$cfgtest_switches" fi - cfgtest_code_snippet= - - cfgtest_common_init 'switch' + case "${1}" in + -Wl,*) + cfgtest_code_snippet='int main(void){return 0;}' + cfgtest_common_init 'ldflag' + ;; + + *) + cfgtest_code_snippet= + cfgtest_common_init 'switch' + ;; + esac # execute printf '%s' "$cfgtest_src" \ |