build: enable LTO and _FORTIFY_SOURCE with optimization
If building with optimization enabled, enable LTO.
diff --git a/configure.ac b/configure.ac
index 648ff12..e7bab61 100644
--- a/configure.ac
+++ b/configure.ac
@@ -226,8 +226,18 @@
-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 \