From 98f2dfecd79944d81344f3db720d02fd0b6f72ac Mon Sep 17 00:00:00 2001 From: Cedric BAIL Date: Fri, 3 Dec 2010 18:27:17 +0000 Subject: [PATCH] * eet: improve detection of -Wl,--as-needed SVN revision: 55214 --- legacy/eet/configure.ac | 15 +------- legacy/eet/m4/efl_compiler_flag.m4 | 57 ++++++++++++++++++++++++++++++ legacy/eet/src/bin/Makefile.am | 2 +- 3 files changed, 59 insertions(+), 15 deletions(-) create mode 100644 legacy/eet/m4/efl_compiler_flag.m4 diff --git a/legacy/eet/configure.ac b/legacy/eet/configure.ac index 6e6e4289d2..11bced3dcd 100644 --- a/legacy/eet/configure.ac +++ b/legacy/eet/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/legacy/eet/m4/efl_compiler_flag.m4 b/legacy/eet/m4/efl_compiler_flag.m4 new file mode 100644 index 0000000000..618c6a6847 --- /dev/null +++ b/legacy/eet/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/legacy/eet/src/bin/Makefile.am b/legacy/eet/src/bin/Makefile.am index 006bb3f6f4..ba7d67e3b6 100644 --- a/legacy/eet/src/bin/Makefile.am +++ b/legacy/eet/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@