[asterisk-commits] pcadach: branch pcadach/chan_h323-live r41194 - in /team/pcadach/chan_h323-li...

asterisk-commits at lists.digium.com asterisk-commits at lists.digium.com
Sat Aug 26 11:51:03 MST 2006


Author: pcadach
Date: Sat Aug 26 13:51:03 2006
New Revision: 41194

URL: http://svn.digium.com/view/asterisk?rev=41194&view=rev
Log:
Merged revisions 41118-41120,41133,41147,41150,41165-41166,41178,41181 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/trunk

........
r41118 | russell | 2006-08-26 00:05:28 +0600 (Сбт, 26 Авг 2006) | 2 lines

Identify what the columns mean in the output of "show profile"

........
r41119 | russell | 2006-08-26 00:55:26 +0600 (Сбт, 26 Авг 2006) | 6 lines

remove the make version check, and instead, check for the actual bug that
causes our build system to blow up.

If anyone still sees problems and configure didn't detect a problem with make,
please let me know.

........
r41120 | kpfleming | 2006-08-26 00:58:52 +0600 (Сбт, 26 Авг 2006) | 2 lines

fix a typo and clarify something else

........
r41133 | russell | 2006-08-26 01:10:15 +0600 (Сбт, 26 Авг 2006) | 2 lines

fix redirect typo

........
r41147 | rizzo | 2006-08-26 02:10:56 +0600 (Сбт, 26 Авг 2006) | 5 lines

we really need BSD make here to understand the -V option.
Fix and document this.
(problem introduced in SVN 40753)


........
r41150 | murf | 2006-08-26 02:43:51 +0600 (Сбт, 26 Авг 2006) | 1 line

Changes to fix all problems reported in 7804 are included here.
........
r41165 | russell | 2006-08-26 22:13:45 +0600 (Сбт, 26 Авг 2006) | 3 lines

remove some unneeded variables now that the menuselect build is isolated from
the parent project

........
r41166 | kpfleming | 2006-08-26 22:45:35 +0600 (Сбт, 26 Авг 2006) | 4 lines

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

........
r41178 | kpfleming | 2006-08-26 23:05:38 +0600 (Сбт, 26 Авг 2006) | 3 lines

ensure that cross-compiler info is removed from the enviroment before configuring menuselect
ensure that the user's LDFLAGS take precedence when linking the final binary

........
r41181 | russell | 2006-08-26 23:15:38 +0600 (Сбт, 26 Авг 2006) | 3 lines

menuselect doesn't use asterisk's autoconfig.h anymore, so this ifdef can be
removed

........

Added:
    team/pcadach/chan_h323-live/pbx/ael/ael-test/ael-test14/
      - copied from r41181, trunk/pbx/ael/ael-test/ael-test14/
    team/pcadach/chan_h323-live/pbx/ael/ael-test/ael-test14/extensions.ael   (props changed)
      - copied unchanged from r41181, trunk/pbx/ael/ael-test/ael-test14/extensions.ael
    team/pcadach/chan_h323-live/pbx/ael/ael-test/ref.ael-test14   (props changed)
      - copied unchanged from r41181, trunk/pbx/ael/ael-test/ref.ael-test14
Modified:
    team/pcadach/chan_h323-live/   (props changed)
    team/pcadach/chan_h323-live/Makefile
    team/pcadach/chan_h323-live/Makefile.moddir_rules
    team/pcadach/chan_h323-live/configure
    team/pcadach/chan_h323-live/configure.ac
    team/pcadach/chan_h323-live/include/asterisk/autoconfig.h.in
    team/pcadach/chan_h323-live/main/Makefile
    team/pcadach/chan_h323-live/main/asterisk.c
    team/pcadach/chan_h323-live/makeopts.in
    team/pcadach/chan_h323-live/pbx/pbx_ael.c
    team/pcadach/chan_h323-live/utils/Makefile
    team/pcadach/chan_h323-live/utils/ael_main.c

Propchange: team/pcadach/chan_h323-live/
------------------------------------------------------------------------------
--- svnmerge-integrated (original)
+++ svnmerge-integrated Sat Aug 26 13:51:03 2006
@@ -1,1 +1,1 @@
-/trunk:1-41115
+/trunk:1-41193

Modified: team/pcadach/chan_h323-live/Makefile
URL: http://svn.digium.com/view/asterisk/team/pcadach/chan_h323-live/Makefile?rev=41194&r1=41193&r2=41194&view=diff
==============================================================================
--- team/pcadach/chan_h323-live/Makefile (original)
+++ team/pcadach/chan_h323-live/Makefile Sat Aug 26 13:51:03 2006
@@ -163,7 +163,8 @@
 endif
 
 ifeq ($(OSARCH),FreeBSD)
-  BSDVERSION=$(shell $(MAKE) -V OSVERSION -f /usr/share/mk/bsd.port.subdir.mk)
+  # -V is understood by BSD Make, not by GNU make.
+  BSDVERSION=$(shell make -V OSVERSION -f /usr/share/mk/bsd.port.subdir.mk)
   ASTCFLAGS+=$(shell if test $(BSDVERSION) -lt 500016 ; then echo "-D_THREAD_SAFE"; fi)
   AST_LIBS+=$(shell if test  $(BSDVERSION) -lt 502102 ; then echo "-lc_r"; else echo "-pthread"; fi)
 endif
@@ -646,7 +647,7 @@
 	- at menuselect/menuselect $(GLOBAL_MAKEOPTS) $(USER_MAKEOPTS) menuselect.makeopts && echo "menuselect changes saved!" || echo "menuselect changes NOT saved!"
 
 menuselect/menuselect: makeopts menuselect/menuselect.c menuselect/menuselect_curses.c menuselect/menuselect_stub.c menuselect/menuselect.h menuselect/linkedlists.h makeopts
-	@PARENTSRC="$(ASTTOPDIR)" $(MAKE) -C menuselect CC="$(HOST_CC)"
+	@unset CC LD AR RANLIB && $(MAKE) -C menuselect
 
 menuselect-tree: $(foreach dir,$(filter-out main,$(MOD_SUBDIRS)),$(wildcard $(dir)/*.c) $(wildcard $(dir)/*.cc)) build_tools/cflags.xml sounds/sounds.xml build_tools/embed_modules.xml
 	@echo "Generating input for menuselect ..."

Modified: team/pcadach/chan_h323-live/Makefile.moddir_rules
URL: http://svn.digium.com/view/asterisk/team/pcadach/chan_h323-live/Makefile.moddir_rules?rev=41194&r1=41193&r2=41194&view=diff
==============================================================================
--- team/pcadach/chan_h323-live/Makefile.moddir_rules (original)
+++ team/pcadach/chan_h323-live/Makefile.moddir_rules Sat Aug 26 13:51:03 2006
@@ -13,6 +13,10 @@
 
 ifneq ($(findstring MALLOC_DEBUG,$(MENUSELECT_CFLAGS)),)
   CFLAGS+=-include $(ASTTOPDIR)/include/asterisk/astmm.h
+endif
+
+ifeq ($(findstring LOADABLE_MODULES,$(MENUSELECT_CFLAGS)),)
+  CFLAGS+=${GC_CFLAGS}
 endif
 
 ifneq ($(findstring STATIC_BUILD,$(MENUSELECT_CFLAGS)),)

Modified: team/pcadach/chan_h323-live/configure
URL: http://svn.digium.com/view/asterisk/team/pcadach/chan_h323-live/configure?rev=41194&r1=41193&r2=41194&view=diff
==============================================================================
--- team/pcadach/chan_h323-live/configure (original)
+++ team/pcadach/chan_h323-live/configure Sat Aug 26 13:51:03 2006
@@ -1,5 +1,5 @@
 #! /bin/sh
-# From configure.ac Revision: 41097 .
+# From configure.ac Revision: 41180 .
 # Guess values for system-dependent variables and create Makefiles.
 # Generated by GNU Autoconf 2.59.
 #
@@ -313,7 +313,7 @@
 # include <unistd.h>
 #endif"
 
-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os BUILD_PLATFORM BUILD_CPU BUILD_VENDOR BUILD_OS HOST_PLATFORM HOST_CPU HOST_VENDOR HOST_OS UNAME ac_pt_UNAME PBX_OSREV CC ac_ct_CC CXX ac_ct_CXX LD ac_ct_LD RANLIB ac_ct_RANLIB AR ac_ct_AR CFLAGS LDFLAGS CPPFLAGS EXEEXT OBJEXT CXXFLAGS CPP CXXCPP AWK INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA LN_S GNU_MAKE GREP FIND COMPRESS BASENAME DIRNAME LN DOT AST_DEVMODE ALSA_LIB ALSA_INCLUDE PBX_ALSA CURSES_LIB CURSES_INCLUDE PBX_CURSES GNUTLS_LIB GNUTLS_INCLUDE PBX_GNUTLS GSM_LIB GSM_INCLUDE PBX_GSM IKSEMEL_LIB IKSEMEL_INCLUDE PBX_IKSEMEL IMAP_TK_LIB IMAP_TK_INCLUDE PBX_IMAP_TK ISDNNET_LIB ISDNNET_INCLUDE PBX_ISDNNET KDE_LIB KDE_INCLUDE PBX_KDE MISDN_LIB MISDN_INCLUDE PBX_MISDN NBS_LIB NBS_INCLUDE PBX_NBS NCURSES_LIB NCURSES_INCLUDE PBX_NCURSES NETSNMP_LIB NETSNMP_INCLUDE PBX_NETSNMP NEWT_LIB NEWT_INCLUDE PBX_NEWT UNIXODBC_LIB UNIXODBC_INCLUDE PBX_UNIXODBC OGG_LIB OGG_INCLUDE PBX_OGG OSPTK_LIB OSPTK_INCLUDE PBX_OSPTK OSS_LIB OSS_INCLUDE PBX_OSS POPT_LIB POPT_INCLUDE PBX_POPT PGSQL_LIB PGSQL_INCLUDE PBX_PGSQL PRI_LIB PRI_INCLUDE PBX_PRI PWLIB_LIB PWLIB_INCLUDE PBX_PWLIB OPENH323_LIB OPENH323_INCLUDE PBX_OPENH323 QT_LIB QT_INCLUDE PBX_QT RADIUS_LIB RADIUS_INCLUDE PBX_RADIUS SPEEX_LIB SPEEX_INCLUDE PBX_SPEEX SQLITE_LIB SQLITE_INCLUDE PBX_SQLITE SUPPSERV_LIB SUPPSERV_INCLUDE PBX_SUPPSERV OPENSSL_LIB OPENSSL_INCLUDE PBX_OPENSSL FREETDS_LIB FREETDS_INCLUDE PBX_FREETDS TERMCAP_LIB TERMCAP_INCLUDE PBX_TERMCAP TINFO_LIB TINFO_INCLUDE PBX_TINFO TONEZONE_LIB TONEZONE_INCLUDE PBX_TONEZONE VORBIS_LIB VORBIS_INCLUDE PBX_VORBIS VPB_LIB VPB_INCLUDE PBX_VPB ZLIB_LIB ZLIB_INCLUDE PBX_ZLIB ZAPTEL_LIB ZAPTEL_INCLUDE PBX_ZAPTEL ALLOCA EGREP LIBOBJS POW_LIB GSM_INTERNAL KDEINIT ac_pt_KDEINIT KDEDIR NETSNMP_CONFIG ac_pt_NETSNMP_CONFIG PG_CONFIG ac_pt_PG_CONFIG PTLIB_CONFIG PWLIBDIR PWLIB_INCDIR PWLIB_LIBDIR PWLIB_PLATFORM OPENH323DIR OPENH323_INCDIR OPENH323_LIBDIR OPENH323_SUFFIX OPENH323_BUILD QTMOC ac_pt_QTMOC EDITLINE_LIB PBX_H323 PBX_IXJUSER GTKCONFIG ac_ct_GTKCONFIG PBX_GTK GTK_INCLUDE GTK_LIB CURL ac_pt_CURL PBX_CURL CURL_INCLUDE CURL_LIB LTLIBOBJS'
+ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os BUILD_PLATFORM BUILD_CPU BUILD_VENDOR BUILD_OS HOST_PLATFORM HOST_CPU HOST_VENDOR HOST_OS UNAME ac_pt_UNAME PBX_OSREV CC ac_ct_CC CXX ac_ct_CXX LD ac_ct_LD RANLIB ac_ct_RANLIB AR ac_ct_AR CFLAGS LDFLAGS CPPFLAGS EXEEXT OBJEXT CXXFLAGS CPP CXXCPP AWK INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA LN_S GNU_MAKE GREP FIND COMPRESS BASENAME DIRNAME LN DOT AST_DEVMODE ALSA_LIB ALSA_INCLUDE PBX_ALSA CURSES_LIB CURSES_INCLUDE PBX_CURSES GNUTLS_LIB GNUTLS_INCLUDE PBX_GNUTLS GSM_LIB GSM_INCLUDE PBX_GSM IKSEMEL_LIB IKSEMEL_INCLUDE PBX_IKSEMEL IMAP_TK_LIB IMAP_TK_INCLUDE PBX_IMAP_TK ISDNNET_LIB ISDNNET_INCLUDE PBX_ISDNNET KDE_LIB KDE_INCLUDE PBX_KDE MISDN_LIB MISDN_INCLUDE PBX_MISDN NBS_LIB NBS_INCLUDE PBX_NBS NCURSES_LIB NCURSES_INCLUDE PBX_NCURSES NETSNMP_LIB NETSNMP_INCLUDE PBX_NETSNMP NEWT_LIB NEWT_INCLUDE PBX_NEWT UNIXODBC_LIB UNIXODBC_INCLUDE PBX_UNIXODBC OGG_LIB OGG_INCLUDE PBX_OGG OSPTK_LIB OSPTK_INCLUDE PBX_OSPTK OSS_LIB OSS_INCLUDE PBX_OSS POPT_LIB POPT_INCLUDE PBX_POPT PGSQL_LIB PGSQL_INCLUDE PBX_PGSQL PRI_LIB PRI_INCLUDE PBX_PRI PWLIB_LIB PWLIB_INCLUDE PBX_PWLIB OPENH323_LIB OPENH323_INCLUDE PBX_OPENH323 QT_LIB QT_INCLUDE PBX_QT RADIUS_LIB RADIUS_INCLUDE PBX_RADIUS SPEEX_LIB SPEEX_INCLUDE PBX_SPEEX SQLITE_LIB SQLITE_INCLUDE PBX_SQLITE SUPPSERV_LIB SUPPSERV_INCLUDE PBX_SUPPSERV OPENSSL_LIB OPENSSL_INCLUDE PBX_OPENSSL FREETDS_LIB FREETDS_INCLUDE PBX_FREETDS TERMCAP_LIB TERMCAP_INCLUDE PBX_TERMCAP TINFO_LIB TINFO_INCLUDE PBX_TINFO TONEZONE_LIB TONEZONE_INCLUDE PBX_TONEZONE VORBIS_LIB VORBIS_INCLUDE PBX_VORBIS VPB_LIB VPB_INCLUDE PBX_VPB ZLIB_LIB ZLIB_INCLUDE PBX_ZLIB ZAPTEL_LIB ZAPTEL_INCLUDE PBX_ZAPTEL ALLOCA EGREP LIBOBJS POW_LIB GC_CFLAGS GC_LDFLAGS GSM_INTERNAL KDEINIT ac_pt_KDEINIT KDEDIR NETSNMP_CONFIG ac_pt_NETSNMP_CONFIG PG_CONFIG ac_pt_PG_CONFIG PTLIB_CONFIG PWLIBDIR PWLIB_INCDIR PWLIB_LIBDIR PWLIB_PLATFORM OPENH323DIR OPENH323_INCDIR OPENH323_LIBDIR OPENH323_SUFFIX OPENH323_BUILD QTMOC ac_pt_QTMOC EDITLINE_LIB PBX_H323 PBX_IXJUSER GTKCONFIG ac_ct_GTKCONFIG PBX_GTK GTK_INCLUDE GTK_LIB CURL ac_pt_CURL PBX_CURL CURL_INCLUDE CURL_LIB LTLIBOBJS'
 ac_subst_files=''
 
 # Initialize some variables set by options.
@@ -3980,6 +3980,35 @@
 
 
 
+# http://www.mail-archive.com/bug-make@gnu.org/msg02871.html
+echo 'define A' > testMakefile
+echo '12345: $(1:.idl=.hh) $(1:.idl=S.h) $(1:.idl=C.h) $(1:.idl=SK.cc) $(1:.idl=DynSK.cc)' >> testMakefile
+echo 'endef' >> testMakefile
+echo '$(eval $(call A,01234567890123456789012345678901.idl))' >> testMakefile
+echo '01234567890123456789012345678901.hh:' >> testMakefile
+echo '01234567890123456789012345678901S.h:' >> testMakefile
+echo '01234567890123456789012345678901C.h:' >> testMakefile
+echo '01234567890123456789012345678901SK.cc:' >> testMakefile
+echo '01234567890123456789012345678901DynSK.cc:' >> testMakefile
+$GNU_MAKE -r -f testMakefile 2>&1 > /dev/null
+if test "$?" != "0" ; then
+  rm -f testMakefile
+  { echo "$as_me:$LINENO: ********** ERROR **********" >&5
+echo "$as_me: ********** ERROR **********" >&6;}
+  { echo "$as_me:$LINENO: Your version of GNU Make contains a bug that will cause the Asterisk build" >&5
+echo "$as_me: Your version of GNU Make contains a bug that will cause the Asterisk build" >&6;}
+  { echo "$as_me:$LINENO: system to not function properly.  This bug is known to be fixed in version" >&5
+echo "$as_me: system to not function properly.  This bug is known to be fixed in version" >&6;}
+  { echo "$as_me:$LINENO: 3.81 as well as distributions of 3.80 that contain backported bug fixes.  You" >&5
+echo "$as_me: 3.81 as well as distributions of 3.80 that contain backported bug fixes.  You" >&6;}
+  { echo "$as_me:$LINENO: must update GNU make to build Asterisk." >&5
+echo "$as_me: must update GNU make to build Asterisk." >&6;}
+  { echo "$as_me:$LINENO: ***************************" >&5
+echo "$as_me: ***************************" >&6;}
+  exit 1
+fi
+rm -f testMakefile
+
 # Extract the first word of "grep", so it can be a program name with args.
 set dummy grep; ac_word=$2
 echo "$as_me:$LINENO: checking for $ac_word" >&5
@@ -11543,6 +11572,392 @@
 rm -f conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
 
+
+echo "$as_me:$LINENO: checking checking for compiler 'attribute pure' support" >&5
+echo $ECHO_N "checking checking for compiler 'attribute pure' support... $ECHO_C" >&6
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+static int __attribute__((pure)) test(void) {}
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_ATTRIBUTE_pure 1
+_ACEOF
+
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+
+echo "$as_me:$LINENO: checking checking for compiler 'attribute malloc' support" >&5
+echo $ECHO_N "checking checking for compiler 'attribute malloc' support... $ECHO_C" >&6
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+static int __attribute__((malloc)) test(void) {}
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_ATTRIBUTE_malloc 1
+_ACEOF
+
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+
+echo "$as_me:$LINENO: checking checking for compiler 'attribute const' support" >&5
+echo $ECHO_N "checking checking for compiler 'attribute const' support... $ECHO_C" >&6
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+static int __attribute__((const)) test(void) {}
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_ATTRIBUTE_const 1
+_ACEOF
+
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+
+echo "$as_me:$LINENO: checking checking for compiler 'attribute unused' support" >&5
+echo $ECHO_N "checking checking for compiler 'attribute unused' support... $ECHO_C" >&6
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+static int __attribute__((unused)) test(void) {}
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_ATTRIBUTE_unused 1
+_ACEOF
+
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+
+echo "$as_me:$LINENO: checking checking for compiler 'attribute always_inline' support" >&5
+echo $ECHO_N "checking checking for compiler 'attribute always_inline' support... $ECHO_C" >&6
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+static int __attribute__((always_inline)) test(void) {}
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_ATTRIBUTE_always_inline 1
+_ACEOF
+
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+
+echo "$as_me:$LINENO: checking checking for -ffunction-sections support" >&5
+echo $ECHO_N "checking checking for -ffunction-sections support... $ECHO_C" >&6
+saved_CFLAGS="${CFLAGS}"
+CFLAGS="${CFLAGS} -ffunction-sections"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+int x = 1;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+	saved_LDFLAGS="${LDFLAGS}"
+	LDFLAGS="${LDFLAGS} -Wl,--gc-sections"
+	echo "$as_me:$LINENO: checking checking for --gc-sections support" >&5
+echo $ECHO_N "checking checking for --gc-sections support... $ECHO_C" >&6
+	cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+int x = 1;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+		GC_CFLAGS="-ffunction-sections"
+		GC_LDFLAGS="-Wl,--gc-sections"
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+	LDFLAGS="${saved_LDFLAGS}"
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+CFLAGS="${saved_CFLAGS}"
+
+
+
 echo "$as_me:$LINENO: checking checking for res_ninit" >&5
 echo $ECHO_N "checking checking for res_ninit... $ECHO_C" >&6
 cat >conftest.$ac_ext <<_ACEOF
@@ -11654,282 +12069,6 @@
 fi
 rm -f conftest.err conftest.$ac_objext \
       conftest$ac_exeext conftest.$ac_ext
-
-
-echo "$as_me:$LINENO: checking checking for compiler 'attribute pure' support" >&5
-echo $ECHO_N "checking checking for compiler 'attribute pure' support... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-static int __attribute__((pure)) test(void) {}
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_ATTRIBUTE_pure 1
-_ACEOF
-
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-
-
-echo "$as_me:$LINENO: checking checking for compiler 'attribute malloc' support" >&5
-echo $ECHO_N "checking checking for compiler 'attribute malloc' support... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-static int __attribute__((malloc)) test(void) {}
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_ATTRIBUTE_malloc 1
-_ACEOF
-
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-
-
-echo "$as_me:$LINENO: checking checking for compiler 'attribute const' support" >&5
-echo $ECHO_N "checking checking for compiler 'attribute const' support... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-static int __attribute__((const)) test(void) {}
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_ATTRIBUTE_const 1
-_ACEOF
-
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-
-
-echo "$as_me:$LINENO: checking checking for compiler 'attribute unused' support" >&5
-echo $ECHO_N "checking checking for compiler 'attribute unused' support... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-static int __attribute__((unused)) test(void) {}
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_ATTRIBUTE_unused 1
-_ACEOF
-
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-
-
-echo "$as_me:$LINENO: checking checking for compiler 'attribute always_inline' support" >&5
-echo $ECHO_N "checking checking for compiler 'attribute always_inline' support... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-static int __attribute__((always_inline)) test(void) {}
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_ATTRIBUTE_always_inline 1
-_ACEOF
-
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-
 
 if test "${ac_cv_header_libkern_OSAtomic_h+set}" = set; then
   echo "$as_me:$LINENO: checking for libkern/OSAtomic.h" >&5
@@ -27350,6 +27489,8 @@
 s, at EGREP@,$EGREP,;t t
 s, at LIBOBJS@,$LIBOBJS,;t t
 s, at POW_LIB@,$POW_LIB,;t t
+s, at GC_CFLAGS@,$GC_CFLAGS,;t t
+s, at GC_LDFLAGS@,$GC_LDFLAGS,;t t
 s, at GSM_INTERNAL@,$GSM_INTERNAL,;t t
 s, at KDEINIT@,$KDEINIT,;t t
 s, at ac_pt_KDEINIT@,$ac_pt_KDEINIT,;t t
@@ -27913,20 +28054,3 @@
    { echo "$as_me:$LINENO: Cross Compilation = YES" >&5
 echo "$as_me: Cross Compilation = YES" >&6;}
 fi
-
-if test ${GNU_MAKE_VERSION_MAJOR} -lt 3 || test ${GNU_MAKE_VERSION_MINOR} -lt 81 ; then
-   { echo "$as_me:$LINENO: " >&5
-echo "$as_me: " >&6;}
-   { echo "$as_me:$LINENO: ***** WARNING ******" >&5
-echo "$as_me: ***** WARNING ******" >&6;}
-   { echo "$as_me:$LINENO: You are currently using GNU Make version ${GNU_MAKE_VERSION_MAJOR}.${GNU_MAKE_VERSION_MINOR}." >&5
-echo "$as_me: You are currently using GNU Make version ${GNU_MAKE_VERSION_MAJOR}.${GNU_MAKE_VERSION_MINOR}." >&6;}
-   { echo "$as_me:$LINENO: The Asterisk build system uses features that may not work correctly prior to 3.81." >&5
-echo "$as_me: The Asterisk build system uses features that may not work correctly prior to 3.81." >&6;}
-   { echo "$as_me:$LINENO: Please consider upgrading GNU Make or you may experience problems." >&5
-echo "$as_me: Please consider upgrading GNU Make or you may experience problems." >&6;}
-   { echo "$as_me:$LINENO: ********************" >&5
-echo "$as_me: ********************" >&6;}
-   { echo "$as_me:$LINENO: " >&5
-echo "$as_me: " >&6;}
-fi

Modified: team/pcadach/chan_h323-live/configure.ac
URL: http://svn.digium.com/view/asterisk/team/pcadach/chan_h323-live/configure.ac?rev=41194&r1=41193&r2=41194&view=diff
==============================================================================
--- team/pcadach/chan_h323-live/configure.ac (original)
+++ team/pcadach/chan_h323-live/configure.ac Sat Aug 26 13:51:03 2006
@@ -74,9 +74,7 @@
 #ifndef ASTERISK_AUTOCONFIG_H
 #define ASTERISK_AUTOCONFIG_H
 
-#ifndef MENUSELECT
 #include "asterisk/buildopts.h"
-#endif
 
 #ifndef _REENTRANT
 #define _REENTRANT
@@ -107,6 +105,29 @@
 AC_PROG_LN_S
 AC_PROG_RANLIB
 AST_CHECK_GNU_MAKE
+
+# http://www.mail-archive.com/bug-make@gnu.org/msg02871.html
+echo 'define A' > testMakefile
+echo '12345: $(1:.idl=.hh) $(1:.idl=S.h) $(1:.idl=C.h) $(1:.idl=SK.cc) $(1:.idl=DynSK.cc)' >> testMakefile
+echo 'endef' >> testMakefile
+echo '$(eval $(call A,01234567890123456789012345678901.idl))' >> testMakefile
+echo '01234567890123456789012345678901.hh:' >> testMakefile
+echo '01234567890123456789012345678901S.h:' >> testMakefile
+echo '01234567890123456789012345678901C.h:' >> testMakefile
+echo '01234567890123456789012345678901SK.cc:' >> testMakefile
+echo '01234567890123456789012345678901DynSK.cc:' >> testMakefile
+$GNU_MAKE -r -f testMakefile 2>&1 > /dev/null
+if test "$?" != "0" ; then
+  rm -f testMakefile
+  AC_MSG_NOTICE(********** ERROR **********)
+  AC_MSG_NOTICE(Your version of GNU Make contains a bug that will cause the Asterisk build)
+  AC_MSG_NOTICE(system to not function properly.  This bug is known to be fixed in version)
+  AC_MSG_NOTICE(3.81 as well as distributions of 3.80 that contain backported bug fixes.  You)
+  AC_MSG_NOTICE(must update GNU make to build Asterisk.)
+  AC_MSG_NOTICE(***************************)
+  exit 1
+fi
+rm -f testMakefile
 
 AC_PATH_PROG([GREP], [grep], :)
 AC_PATH_PROG([AR], [ar], :)
@@ -229,6 +250,35 @@
 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>],
@@ -246,12 +296,6 @@
 	AC_DEFINE([HAVE_RTLD_NOLOAD], 1, [Define to 1 if your system has a dynamic linker that supports RTLD_NOLOAD.]),
 	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.])])
@@ -980,13 +1024,3 @@
 if test "${cross_compiling}" = "yes"; then
    AC_MSG_NOTICE( Cross Compilation = YES)
 fi
-
-if test ${GNU_MAKE_VERSION_MAJOR} -lt 3 || test ${GNU_MAKE_VERSION_MINOR} -lt 81 ; then
-   AC_MSG_NOTICE()
-   AC_MSG_NOTICE(***** WARNING ******)
-   AC_MSG_NOTICE(You are currently using GNU Make version ${GNU_MAKE_VERSION_MAJOR}.${GNU_MAKE_VERSION_MINOR}.)
-   AC_MSG_NOTICE(The Asterisk build system uses features that may not work correctly prior to 3.81.)
-   AC_MSG_NOTICE(Please consider upgrading GNU Make or you may experience problems.)
-   AC_MSG_NOTICE(********************)
-   AC_MSG_NOTICE()
-fi

Modified: team/pcadach/chan_h323-live/include/asterisk/autoconfig.h.in
URL: http://svn.digium.com/view/asterisk/team/pcadach/chan_h323-live/include/asterisk/autoconfig.h.in?rev=41194&r1=41193&r2=41194&view=diff
==============================================================================
--- team/pcadach/chan_h323-live/include/asterisk/autoconfig.h.in (original)
+++ team/pcadach/chan_h323-live/include/asterisk/autoconfig.h.in Sat Aug 26 13:51:03 2006
@@ -3,9 +3,7 @@
 #ifndef ASTERISK_AUTOCONFIG_H
 #define ASTERISK_AUTOCONFIG_H
 
-#ifndef MENUSELECT
 #include "asterisk/buildopts.h"
-#endif
 
 #ifndef _REENTRANT
 #define _REENTRANT

Modified: team/pcadach/chan_h323-live/main/Makefile
URL: http://svn.digium.com/view/asterisk/team/pcadach/chan_h323-live/main/Makefile?rev=41194&r1=41193&r2=41194&view=diff
==============================================================================
--- team/pcadach/chan_h323-live/main/Makefile (original)
+++ team/pcadach/chan_h323-live/main/Makefile Sat Aug 26 13:51:03 2006
@@ -62,7 +62,9 @@
 
 ifneq ($(findstring darwin,$(OSARCH)),)
   AST_LIBS+=-lresolv
-  ASTLINK=-Wl,-dynamic
+  ifneq ($(findstring LOADABLE_MODULES,$(MENUSELECT_CFLAGS)),)
+    ASTLINK=-Wl,-dynamic
+  endif
   # Mac on Intel CoreDuo does not need poll compatibility layer
   ifneq ($(PROC),i386)
     OBJS+=poll.o
@@ -70,7 +72,11 @@
   endif
 else
 # These are used for all but Darwin
-  ASTLINK=-Wl,-E 
+  ifneq ($(findstring LOADABLE_MODULES,$(MENUSELECT_CFLAGS)),)
+    ASTLINK+=-Wl,--export-dynamic
+  else
+    ASTLINK+=${GC_LDFLAGS}
+  endif
   ifneq ($(findstring BSD,$(OSARCH)),)
     LDFLAGS+=-L/usr/local/lib
   endif
@@ -128,7 +134,7 @@
 	@rm -f $(ASTTOPDIR)/include/asterisk/build.h.tmp
 	@$(CC) -c -o buildinfo.o $(CFLAGS) buildinfo.c
 	$(ECHO_PREFIX) echo "   [LD] $^ -> $@"
-	$(CMD_PREFIX) $(CXX) $(LDFLAGS) $(STATIC_BUILD) -o asterisk $(ASTLINK) $(AST_EMBED_LDFLAGS) $^ buildinfo.o $(AST_LIBS) $(AST_EMBED_LIBS)
+	$(CMD_PREFIX) $(CXX) $(STATIC_BUILD) -o asterisk $(ASTLINK) $(AST_EMBED_LDFLAGS) $(LDFLAGS) $^ buildinfo.o $(AST_LIBS) $(AST_EMBED_LIBS)
 
 clean::
 	rm -f asterisk

Modified: team/pcadach/chan_h323-live/main/asterisk.c
URL: http://svn.digium.com/view/asterisk/team/pcadach/chan_h323-live/main/asterisk.c?rev=41194&r1=41193&r2=41194&view=diff

[... 305 lines stripped ...]


More information about the asterisk-commits mailing list