X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=configure.ac;h=e67cbdd607c6e2d8321fe4fb5444adb858c8f1e4;hp=df38297bfdf4c79841e4df290cd08084b891b214;hb=7e17c59e6b33219e1d478a74852a64d4c726d76b;hpb=39584e4d26d7ba7d144d9c1872fcf2045069c5e2 diff --git a/configure.ac b/configure.ac index df38297bf..e67cbdd60 100644 --- a/configure.ac +++ b/configure.ac @@ -247,14 +247,20 @@ AS_CASE([$CC], [*clang*], ])]) # ------------------------------------------------------------------------------ +have_lto=no AC_ARG_ENABLE([lto], [AS_HELP_STRING([--disable-lto], [disable -flto])], [], [enable_lto=yes]) AS_CASE([$CFLAGS], [*-O[[12345sz\ ]]*], - [AS_IF([test "x$enable_lto" = "xyes"], - [CC_CHECK_FLAGS_APPEND([with_cflags], [CFLAGS], [-flto])], + [AS_IF([test "x$enable_lto" = "xyes"], [have_lto=yes], [AC_MSG_RESULT([disabling -flto as requested])])], [AC_MSG_RESULT([skipping -flto, optimization not enabled])]) +AS_IF([test "x$have_lto" = "xyes"], + [CC_CHECK_FLAGS_APPEND([with_cflags], [CFLAGS], + [-flto -fuse-linker-plugin])]) + +AS_CASE([$with_cflags], [*-flto*], [], [have_lto=no]) + # ------------------------------------------------------------------------------ AS_CASE([$CFLAGS], [*-O[[12345sz\ ]]*], [CC_CHECK_FLAGS_APPEND([with_cppflags], [CPPFLAGS], [\ @@ -279,8 +285,9 @@ CC_CHECK_FLAGS_APPEND([with_ldflags], [LDFLAGS], [\ -Wl,--no-undefined \ -Wl,-z,relro \ -Wl,-z,now \ - -pie \ - -Wl,-fuse-ld=gold]) + -pie]) +AS_IF([test "x$have_lto" = "xyes"], + [CC_CHECK_FLAGS_APPEND([with_ldflags], [LDFLAGS], [-Wl,-fuse-ld=gold])]) # ------------------------------------------------------------------------------ AC_SUBST([OUR_CPPFLAGS], "$with_cppflags $sanitizer_cppflags") @@ -865,6 +872,7 @@ AC_MSG_RESULT([ test coverage: . . . . . . . . . . ${have_coverage} Split /usr: . . . . . . . . . . . ${enable_split_usr} utmp/wtmp support: . . . . . . . . ${have_utmp} + Link time optimization: . . . . . ${have_lto} extra debugging: . . . . . . . . . ${enable_debug} cgroup controller: . . . . . . . . ${with_cgroupctrl}