configure: Add check_ld() helper function to simplify some expressions
authorDiego Biurrun <diego@biurrun.de>
Fri, 20 Oct 2017 01:43:58 +0000 (03:43 +0200)
committerDiego Biurrun <diego@biurrun.de>
Wed, 7 Mar 2018 12:55:07 +0000 (13:55 +0100)
configure

index 499d98f..5e35098 100755 (executable)
--- a/configure
+++ b/configure
@@ -850,6 +850,14 @@ test_ld(){
     test_cmd $ld $LDFLAGS $flags $(ld_o $TMPE) $TMPO $libs $extralibs
 }
 
+check_ld(){
+    log check_ld "$@"
+    name=$1
+    shift
+    disable $name
+    test_ld $@ && enable $name
+}
+
 print_include(){
     hdr=$1
     test "${hdr%.h}" = "${hdr}" &&
@@ -4267,8 +4275,8 @@ elif enabled arm; then
         :
     elif ! test_cpp_condition stddef.h "defined __ARM_PCS || defined __SOFTFP__" && [ $target_os != darwin ]; then
         case "${cross_prefix:-$cc}" in
-            *hardfloat*)         enable vfp_args;   fpabi=vfp ;;
-            *) test_ld <<EOF &&  enable vfp_args && fpabi=vfp || fpabi=soft ;;
+            *hardfloat*) enable vfp_args; fpabi=vfp ;;
+            *) check_ld vfp_args <<EOF && fpabi=vfp || fpabi=soft ;;
 __asm__ (".eabi_attribute 28, 1");
 int main(void) { return 0; }
 EOF
@@ -4867,7 +4875,7 @@ enabled xmm_clobber_test &&
                   -Wl,--wrap,sws_scale ||
     disable xmm_clobber_test
 
-test_ld <<EOF && enable proper_dce
+check_ld proper_dce <<EOF
 extern const int array[512];
 static inline int func(void) { return array[0]; }
 int main(void) { return 0; }