diff options
author | Thomas Haller <thaller@redhat.com> | 2017-02-10 11:28:01 +0100 |
---|---|---|
committer | Thomas Haller <thaller@redhat.com> | 2017-02-10 12:11:21 +0100 |
commit | 90e4592b1746d9ce34e9e32133ebab359cfa4276 (patch) | |
tree | b42a351115a18c12253623fafcc2ca0802ea80e5 /m4 | |
parent | 4cba5535755add3597436b8002d801dc613ecb4e (diff) |
build: add m4 macros for --enable-lto and --enable-ld-gc
Diffstat (limited to 'm4')
-rw-r--r-- | m4/compiler_options.m4 | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/m4/compiler_options.m4 b/m4/compiler_options.m4 index c998711d7..fa35b9168 100644 --- a/m4/compiler_options.m4 +++ b/m4/compiler_options.m4 @@ -124,3 +124,30 @@ else AC_MSG_RESULT(no) fi ]) + +AC_DEFUN([NM_LTO], +[AC_ARG_ENABLE(lto, AS_HELP_STRING([--enable-lto], [Enable Link Time Optimization for smaller size (default: no)])) +if (test "${enable_lto}" = "yes"); then + CFLAGS="-flto $CFLAGS" +else + enable_lto='no' +fi +]) + +AC_DEFUN([NM_LD_GC], +[AC_ARG_ENABLE(ld-gc, AS_HELP_STRING([--enable-ld-gc], [Enable garbage collection of unused symbols on linking (default: auto)])) +if (test "${enable_ld_gc}" != "no"); then + CC_CHECK_FLAG_APPEND([ld_gc_flags], [CFLAGS], [-fdata-sections -ffunction-sections -Wl,--gc-sections]) + if (test -n "${ld_gc_flags}"); then + enable_ld_gc="yes" + CFLAGS="$CFLAGS $ld_gc_flags" + else + if (test "${enable_ld_gc}" = "yes"); then + AC_MSG_ERROR([Unused symbol eviction requested but not supported.]) + else + enable_ld_gc="no" + fi + fi +fi +]) + |