]> git.ipfire.org Git - thirdparty/openssh-portable.git/commitdiff
Run compiler test program when compiling natively.
authorDarren Tucker <dtucker@dtucker.net>
Wed, 22 Nov 2023 10:18:55 +0000 (21:18 +1100)
committerDarren Tucker <dtucker@dtucker.net>
Thu, 23 Nov 2023 03:40:51 +0000 (14:40 +1100)
ok djm@

m4/openssh.m4

index 386a616f2371d5a1b3ebb2c0349a762ea4b138c6..80254a302da86d96e6c58ec44d79572a32d3c8e7 100644 (file)
@@ -53,8 +53,15 @@ then
                AC_MSG_RESULT([no])
                CFLAGS="$saved_CFLAGS"
 else
-               AC_MSG_RESULT([yes])
-                CFLAGS="$saved_CFLAGS $_define_flag"
+               dnl If we are compiling natively, try running the program.
+               AC_RUN_IFELSE([OSSH_COMPILER_FLAG_TEST_PROGRAM],
+                       [ AC_MSG_RESULT([yes])
+                         CFLAGS="$saved_CFLAGS $_define_flag" ],
+                       [ AC_MSG_RESULT([no, fails at run time])
+                         CFLAGS="$saved_CFLAGS" ],
+                       [ AC_MSG_RESULT([yes])
+                         CFLAGS="$saved_CFLAGS $_define_flag" ],
+               )
 fi],
                [ AC_MSG_RESULT([no])
                  CFLAGS="$saved_CFLAGS" ]
@@ -78,8 +85,15 @@ then
                AC_MSG_RESULT([no])
                CFLAGS="$saved_CFLAGS"
 else
-               AC_MSG_RESULT([yes])
-                CFLAGS="$saved_CFLAGS $_define_flag"
+               dnl If we are compiling natively, try running the program.
+               AC_RUN_IFELSE([OSSH_COMPILER_FLAG_TEST_PROGRAM],
+                       [ AC_MSG_RESULT([yes])
+                         CFLAGS="$saved_CFLAGS $_define_flag" ],
+                       [ AC_MSG_RESULT([no, fails at run time])
+                         CFLAGS="$saved_CFLAGS" ],
+                       [ AC_MSG_RESULT([yes])
+                         CFLAGS="$saved_CFLAGS $_define_flag" ],
+               )
 fi],
                [ AC_MSG_RESULT([no])
                  CFLAGS="$saved_CFLAGS" ]
@@ -103,8 +117,15 @@ then
                  AC_MSG_RESULT([no])
                  LDFLAGS="$saved_LDFLAGS"
 else
-                 AC_MSG_RESULT([yes])
-                 LDFLAGS="$saved_LDFLAGS $_define_flag"
+                 dnl If we are compiling natively, try running the program.
+                 AC_RUN_IFELSE([OSSH_COMPILER_FLAG_TEST_PROGRAM],
+                       [ AC_MSG_RESULT([yes])
+                         LDFLAGS="$saved_LDFLAGS $_define_flag" ],
+                       [ AC_MSG_RESULT([no, fails at run time])
+                         LDFLAGS="$saved_LDFLAGS" ],
+                       [ AC_MSG_RESULT([yes])
+                         LDFLAGS="$saved_LDFLAGS $_define_flag" ]
+                 )
 fi             ],
                [ AC_MSG_RESULT([no])
                  LDFLAGS="$saved_LDFLAGS" ]