From 2a0fc93f916605e2afa544a5051efdd2af4626ae Mon Sep 17 00:00:00 2001 From: cedric Date: Fri, 3 Dec 2010 18:27:17 +0000 Subject: [PATCH] * eet: improve detection of -Wl,--as-needed git-svn-id: http://svn.enlightenment.org/svn/e/trunk/eet@55214 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33 --- configure.ac | 15 +------------ m4/efl_compiler_flag.m4 | 57 +++++++++++++++++++++++++++++++++++++++++++++++++ src/bin/Makefile.am | 2 +- 3 files changed, 59 insertions(+), 15 deletions(-) create mode 100644 m4/efl_compiler_flag.m4 diff --git a/configure.ac b/configure.ac index 6e6e428..11bced3 100644 --- a/configure.ac +++ b/configure.ac @@ -415,20 +415,7 @@ case "$host_os" in esac AC_SUBST(lt_enable_auto_import) -# use --as-needed if supported - -LDFLAGS_SAVE=${LDFLAGS} -LDFLAGS="${LDFLAGS} -Wl,--as-needed" - -AC_LINK_IFELSE( - [AC_LANG_PROGRAM([[]], [])], - [ld_as_needed="-Wl,--as-needed"], - [ld_as_needed=""] -) - -LDFLAGS=${LDFLAGS_SAVE} -AC_SUBST(ld_as_needed) - +EFL_LINKER_FLAG([-Wl,--as-needed]) ### Checks for library functions AC_FUNC_ALLOCA diff --git a/m4/efl_compiler_flag.m4 b/m4/efl_compiler_flag.m4 new file mode 100644 index 0000000..618c6a6 --- /dev/null +++ b/m4/efl_compiler_flag.m4 @@ -0,0 +1,57 @@ +dnl Copyright (C) 2010 Vincent Torri +dnl and Albin Tonnerre +dnl That code is public domain and can be freely used or copied. + +dnl Macro that checks if a compiler flag is supported by the compiler. + +dnl Usage: EFL_COMPILER_FLAG(flag) +dnl flag is added to CFLAGS if supported. + +AC_DEFUN([EFL_COMPILER_FLAG], +[ + +CFLAGS_save="${CFLAGS}" +CFLAGS="${CFLAGS} $1" + +AC_LANG_PUSH([C]) +AC_MSG_CHECKING([whether the compiler supports $1]) + +AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM([[]])], + [have_flag="yes"], + [have_flag="no"]) +AC_MSG_RESULT([${have_flag}]) + +if test "x${have_flag}" = "xno" ; then + CFLAGS="${CFLAGS_save}" +fi +AC_LANG_POP([C]) + +]) + +dnl Macro that checks if a linker flag is supported by the compiler. + +dnl Usage: EFL_LINKER_FLAG(flag) +dnl flag is added to CFLAGS if supported (will be passed to ld anyway). + +AC_DEFUN([EFL_LINKER_FLAG], +[ + +CFLAGS_save="${CFLAGS}" +CFLAGS="${CFLAGS} $1" + +AC_LANG_PUSH([C]) +AC_MSG_CHECKING([whether the compiler supports $1]) + +AC_LINK_IFELSE( + [AC_LANG_PROGRAM([[]])], + [have_flag="yes"], + [have_flag="no"]) +AC_MSG_RESULT([${have_flag}]) + +if test "x${have_flag}" = "xno" ; then + CFLAGS="${CFLAGS_save}" +fi +AC_LANG_POP([C]) + +]) diff --git a/src/bin/Makefile.am b/src/bin/Makefile.am index 006bb3f..ba7d67e 100644 --- a/src/bin/Makefile.am +++ b/src/bin/Makefile.am @@ -18,4 +18,4 @@ EXTRA_PROGRAMS = eet eet_SOURCES = eet_main.c eet_CFLAGS = @EET_CFLAGS@ eet_LDADD = $(top_builddir)/src/lib/libeet.la @EINA_LIBS@ @EVIL_LIBS@ -eet_LDFLAGS = @lt_enable_auto_import@ @ld_as_needed@ +eet_LDFLAGS = @lt_enable_auto_import@ -- 2.7.4