build: enable LTO and _FORTIFY_SOURCE with optimization
authorLucas De Marchi <lucas.demarchi@intel.com>
Mon, 26 Jan 2015 01:28:46 +0000 (23:28 -0200)
committerLucas De Marchi <lucas.demarchi@intel.com>
Mon, 26 Jan 2015 01:28:46 +0000 (23:28 -0200)
If building with optimization enabled, enable LTO.

configure.ac

index 648ff12..e7bab61 100644 (file)
@@ -226,8 +226,18 @@ CC_CHECK_FLAGS_APPEND(with_cflags, [CFLAGS], [\
                       -fvisibility=hidden \
                       -ffunction-sections \
                       -fdata-sections])
-AC_SUBST([OUR_CFLAGS], "$with_cflags $with_coverage_cflags")
 
+AS_CASE([$CFLAGS], [*-O[[12345\ ]]*],
+       [CC_CHECK_FLAGS_APPEND([with_cflags], [CFLAGS], [\
+        -flto -ffat-lto-objects])],
+       [AC_MSG_RESULT([skipping -flto, optimization not enabled])])
+
+AS_CASE([$CFLAGS], [*-O[[12345\ ]]*],
+        [CC_CHECK_FLAGS_APPEND([with_cppflags], [CPPFLAGS], [\
+               -Wp,-D_FORTIFY_SOURCE=2])],
+        [AC_MSG_RESULT([skipping -D_FORTIFY_SOURCE, optimization not enabled])])
+
+AC_SUBST([OUR_CFLAGS], "$with_cflags $with_coverage_cflags")
 
 CC_CHECK_FLAGS_APPEND([with_ldflags], [LDFLAGS], [ \
                       -Wl,--as-needed \