]> git.ipfire.org Git - thirdparty/bird.git/commitdiff
Fixed link time optimizer check for FreeBSD
authorMaria Matejka <mq@ucw.cz>
Wed, 27 Feb 2019 13:40:05 +0000 (14:40 +0100)
committerMaria Matejka <mq@ucw.cz>
Wed, 27 Feb 2019 13:40:05 +0000 (14:40 +0100)
aclocal.m4
configure.ac

index c401d447b9c95eb3180834eba657c065a4f818bb..0044adf9b4142dadd8aa5cccca74e0e091f870ce 100644 (file)
@@ -131,6 +131,30 @@ AC_DEFUN([BIRD_CHECK_ANDROID_LOG],
   )
 ])
 
+AC_DEFUN([BIRD_CHECK_LTO],
+[
+  bird_tmp_cflags="$CFLAGS"
+  bird_tmp_ldflags="$CFLAGS"
+  CFLAGS="-flto"
+  LDFLAGS="-flto"
+
+  AC_CACHE_CHECK(
+    [whether link time optimizer is available],
+    [bird_cv_c_lto],
+    [
+      AC_LINK_IFELSE(
+       [AC_LANG_PROGRAM()],
+       [bird_cv_c_lto=yes],
+       [bird_cv_c_lto=no]
+      )
+    ]
+  )
+
+  CFLAGS="$bird_tmp_cflags"
+  LDFLAGS="$bird_tmp_ldflags"
+])
+
+
 AC_DEFUN([BIRD_CHECK_GCC_OPTION],
 [
   bird_tmp_cflags="$CFLAGS"
index 7013a34e3ac0b40a9a37d824aca01cc2f05cacb4..58fdc7fe4466a4278df75f22bbf19d986bb040d1 100644 (file)
@@ -137,22 +137,24 @@ if test "$bird_cflags_default" = yes ; then
   BIRD_CHECK_GCC_OPTION([bird_cv_c_option_wno_missing_init], [-Wno-missing-field-initializers], [-Wall -Wextra])
   BIRD_CHECK_GCC_OPTION([bird_cv_c_option_fno_strict_aliasing], [-fno-strict-aliasing])
   BIRD_CHECK_GCC_OPTION([bird_cv_c_option_fno_strict_overflow], [-fno-strict-overflow])
-  if test "$enable_debug" = no; then
-    BIRD_CHECK_GCC_OPTION([bird_cv_c_option_flto], [-flto])
-  fi
 
   CFLAGS="$CFLAGS -Wall -Wextra -Wstrict-prototypes -Wno-parentheses"
   BIRD_ADD_GCC_OPTION([bird_cv_c_option_wno_pointer_sign], [-Wno-pointer-sign])
   BIRD_ADD_GCC_OPTION([bird_cv_c_option_wno_missing_init], [-Wno-missing-field-initializers])
   BIRD_ADD_GCC_OPTION([bird_cv_c_option_fno_strict_aliasing], [-fno-strict-aliasing])
   BIRD_ADD_GCC_OPTION([bird_cv_c_option_fno_strict_overflow], [-fno-strict-overflow])
-  if test "$enable_debug" = no; then
-    BIRD_ADD_GCC_OPTION([bird_cv_c_option_flto], [-flto])
-  fi
 fi
 AC_MSG_CHECKING([CFLAGS])
 AC_MSG_RESULT([$CFLAGS])
 
+if test "$enable_debug" = no; then
+  BIRD_CHECK_LTO
+fi
+
+if test "$bird_cv_c_lto" = yes; then
+  CFLAGS="$CFLAGS -flto"
+  LDFLAGS="$LDFLAGS -flto"
+fi
 
 AC_PROG_CPP
 AC_PROG_INSTALL