mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-05 12:16:00 +00:00
more optimizations for embedded systems:
when LOADABLE_MODULES is off, don't export symbols from the main binary when LOADABLE_MODULES is off, and the compiler/linker support it, strip out code not used in the final binary git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@41166 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
35
configure.ac
35
configure.ac
@@ -251,6 +251,35 @@ AC_DEFINE([HAVE_GCC_ATOMICS], 1, [Define to 1 if your GCC C compiler provides at
|
||||
AC_MSG_RESULT(no)
|
||||
)
|
||||
|
||||
AST_GCC_ATTRIBUTE(pure)
|
||||
AST_GCC_ATTRIBUTE(malloc)
|
||||
AST_GCC_ATTRIBUTE(const)
|
||||
AST_GCC_ATTRIBUTE(unused)
|
||||
AST_GCC_ATTRIBUTE(always_inline)
|
||||
|
||||
AC_MSG_CHECKING(checking for -ffunction-sections support)
|
||||
saved_CFLAGS="${CFLAGS}"
|
||||
CFLAGS="${CFLAGS} -ffunction-sections"
|
||||
AC_COMPILE_IFELSE(
|
||||
AC_LANG_PROGRAM([], [int x = 1;]),
|
||||
AC_MSG_RESULT(yes)
|
||||
[saved_LDFLAGS="${LDFLAGS}"]
|
||||
[LDFLAGS="${LDFLAGS} -Wl,--gc-sections"]
|
||||
AC_MSG_CHECKING(checking for --gc-sections support)
|
||||
AC_LINK_IFELSE(
|
||||
AC_LANG_PROGRAM([], [int x = 1;]),
|
||||
AC_MSG_RESULT(yes)
|
||||
[GC_CFLAGS="-ffunction-sections"]
|
||||
[[GC_LDFLAGS="-Wl,--gc-sections"]],
|
||||
AC_MSG_RESULT(no)
|
||||
)
|
||||
[LDFLAGS="${saved_LDFLAGS}"],
|
||||
AC_MSG_RESULT(no)
|
||||
)
|
||||
CFLAGS="${saved_CFLAGS}"
|
||||
AC_SUBST(GC_CFLAGS)
|
||||
AC_SUBST(GC_LDFLAGS)
|
||||
|
||||
AC_MSG_CHECKING(checking for res_ninit)
|
||||
AC_LINK_IFELSE(
|
||||
AC_LANG_PROGRAM([#include <resolv.h>],
|
||||
@@ -269,12 +298,6 @@ AC_LINK_IFELSE(
|
||||
AC_MSG_RESULT(no)
|
||||
)
|
||||
|
||||
AST_GCC_ATTRIBUTE(pure)
|
||||
AST_GCC_ATTRIBUTE(malloc)
|
||||
AST_GCC_ATTRIBUTE(const)
|
||||
AST_GCC_ATTRIBUTE(unused)
|
||||
AST_GCC_ATTRIBUTE(always_inline)
|
||||
|
||||
AC_CHECK_HEADER([libkern/OSAtomic.h],
|
||||
[AC_DEFINE_UNQUOTED([HAVE_OSX_ATOMICS], 1, [Define to 1 if OSX atomic operations are supported.])])
|
||||
|
||||
|
Reference in New Issue
Block a user