From 0ace2e48d0eaff68ea9e4fcf98f98401eb1ad4ab Mon Sep 17 00:00:00 2001 From: Doug Bailey Date: Tue, 21 Apr 2009 15:20:22 +0000 Subject: [PATCH] Merged revisions 189629 via svnmerge from https://origsvn.digium.com/svn/asterisk/trunk ................ r189629 | dbailey | 2009-04-21 09:28:04 -0500 (Tue, 21 Apr 2009) | 10 lines Merged revisions 189601 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r189601 | dbailey | 2009-04-21 09:00:55 -0500 (Tue, 21 Apr 2009) | 3 lines Add check in configure script to check for GLOB_NOMAGIC and GLOB_BRACE in glob.h This allows config.c to compile when linked against uclibc that does not support these parameters ........ ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.1@189642 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- configure | 174 +++++++++++++++++++++++++++++-- configure.ac | 4 + include/asterisk/autoconfig.h.in | 12 +++ include/asterisk/compat.h | 11 ++ main/config.c | 18 ---- 5 files changed, 191 insertions(+), 28 deletions(-) diff --git a/configure b/configure index 8994f385d1..fc208038f1 100755 --- a/configure +++ b/configure @@ -1,5 +1,5 @@ #! /bin/sh -# From configure.ac Revision: 182946 . +# From configure.ac Revision: 183249 . # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.61 for asterisk 1.6. # @@ -970,6 +970,8 @@ AST_DECLARATION_AFTER_STATEMENT AST_FORTIFY_SOURCE AST_NO_STRICT_OVERFLOW AST_SHADOW_WARNINGS +PBX_GLOB_NOMAGIC +PBX_GLOB_BRACE PBX_IP_MTU_DISCOVER GSM_INTERNAL PBX_MISDN_FAC_RESULT @@ -13141,13 +13143,11 @@ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -#include /* for off_t */ - #include +#include int main () { -int (*fp) (FILE *, off_t, int) = fseeko; - return fseeko (stdin, 0, 0) && fp (stdin, 0, 0); +return fseeko (stdin, 0, 0) && (fseeko) (stdin, 0, 0); ; return 0; } @@ -13187,13 +13187,11 @@ cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #define _LARGEFILE_SOURCE 1 -#include /* for off_t */ - #include +#include int main () { -int (*fp) (FILE *, off_t, int) = fseeko; - return fseeko (stdin, 0, 0) && fp (stdin, 0, 0); +return fseeko (stdin, 0, 0) && (fseeko) (stdin, 0, 0); ; return 0; } @@ -17946,6 +17944,160 @@ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext + if test "x${PBX_GLOB_NOMAGIC}" != "x1"; then + { echo "$as_me:$LINENO: checking for GLOB_NOMAGIC in glob.h" >&5 +echo $ECHO_N "checking for GLOB_NOMAGIC in glob.h... $ECHO_C" >&6; } + saved_cppflags="${CPPFLAGS}" + if test "x${GLOB_NOMAGIC_DIR}" != "x"; then + GLOB_NOMAGIC_INCLUDE="-I${GLOB_NOMAGIC_DIR}/include" + fi + CPPFLAGS="${CPPFLAGS} ${GLOB_NOMAGIC_INCLUDE}" + + cat >conftest.$ac_ext <<_ACEOF + /* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +#if defined(GLOB_NOMAGIC) + int foo = 0; + #else + int foo = bar; + #endif + 0 + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + PBX_GLOB_NOMAGIC=1 + +cat >>confdefs.h <<\_ACEOF +#define HAVE_GLOB_NOMAGIC 1 +_ACEOF + + +cat >>confdefs.h <<\_ACEOF +#define HAVE_GLOB_NOMAGIC_VERSION +_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 core conftest.err conftest.$ac_objext conftest.$ac_ext + CPPFLAGS="${saved_cppflags}" + fi + + + + + if test "x${PBX_GLOB_BRACE}" != "x1"; then + { echo "$as_me:$LINENO: checking for GLOB_BRACE in glob.h" >&5 +echo $ECHO_N "checking for GLOB_BRACE in glob.h... $ECHO_C" >&6; } + saved_cppflags="${CPPFLAGS}" + if test "x${GLOB_BRACE_DIR}" != "x"; then + GLOB_BRACE_INCLUDE="-I${GLOB_BRACE_DIR}/include" + fi + CPPFLAGS="${CPPFLAGS} ${GLOB_BRACE_INCLUDE}" + + cat >conftest.$ac_ext <<_ACEOF + /* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +#if defined(GLOB_BRACE) + int foo = 0; + #else + int foo = bar; + #endif + 0 + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + PBX_GLOB_BRACE=1 + +cat >>confdefs.h <<\_ACEOF +#define HAVE_GLOB_BRACE 1 +_ACEOF + + +cat >>confdefs.h <<\_ACEOF +#define HAVE_GLOB_BRACE_VERSION +_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 core conftest.err conftest.$ac_objext conftest.$ac_ext + CPPFLAGS="${saved_cppflags}" + fi + + + + if test "x${PBX_IP_MTU_DISCOVER}" != "x1"; then { echo "$as_me:$LINENO: checking for IP_MTU_DISCOVER in netinet/in.h" >&5 echo $ECHO_N "checking for IP_MTU_DISCOVER in netinet/in.h... $ECHO_C" >&6; } @@ -51381,6 +51533,8 @@ AST_DECLARATION_AFTER_STATEMENT!$AST_DECLARATION_AFTER_STATEMENT$ac_delim AST_FORTIFY_SOURCE!$AST_FORTIFY_SOURCE$ac_delim AST_NO_STRICT_OVERFLOW!$AST_NO_STRICT_OVERFLOW$ac_delim AST_SHADOW_WARNINGS!$AST_SHADOW_WARNINGS$ac_delim +PBX_GLOB_NOMAGIC!$PBX_GLOB_NOMAGIC$ac_delim +PBX_GLOB_BRACE!$PBX_GLOB_BRACE$ac_delim PBX_IP_MTU_DISCOVER!$PBX_IP_MTU_DISCOVER$ac_delim GSM_INTERNAL!$GSM_INTERNAL$ac_delim PBX_MISDN_FAC_RESULT!$PBX_MISDN_FAC_RESULT$ac_delim @@ -51411,7 +51565,7 @@ CURL_CONFIG!$CURL_CONFIG$ac_delim LTLIBOBJS!$LTLIBOBJS$ac_delim _ACEOF - if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 88; then + if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 90; then break elif $ac_last_try; then { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 diff --git a/configure.ac b/configure.ac index c227089ee1..61d666ac2a 100644 --- a/configure.ac +++ b/configure.ac @@ -583,6 +583,10 @@ AC_LINK_IFELSE( AC_MSG_RESULT(no) ) +AST_C_DEFINE_CHECK([GLOB_NOMAGIC], [GLOB_NOMAGIC], [glob.h]) + +AST_C_DEFINE_CHECK([GLOB_BRACE], [GLOB_BRACE], [glob.h]) + AST_C_DEFINE_CHECK([IP_MTU_DISCOVER], [IP_MTU_DISCOVER], [netinet/in.h]) AC_CHECK_HEADER([libkern/OSAtomic.h], diff --git a/include/asterisk/autoconfig.h.in b/include/asterisk/autoconfig.h.in index 336ab8cfe4..00adfb2008 100644 --- a/include/asterisk/autoconfig.h.in +++ b/include/asterisk/autoconfig.h.in @@ -328,6 +328,18 @@ /* Define to 1 if you have the `glob' function. */ #undef HAVE_GLOB +/* Define if your system has the GLOB_BRACE headers. */ +#undef HAVE_GLOB_BRACE + +/* Define GLOB_BRACE headers version */ +#undef HAVE_GLOB_BRACE_VERSION + +/* Define if your system has the GLOB_NOMAGIC headers. */ +#undef HAVE_GLOB_NOMAGIC + +/* Define GLOB_NOMAGIC headers version */ +#undef HAVE_GLOB_NOMAGIC_VERSION + /* Define if your system has the GMIME libraries. */ #undef HAVE_GMIME diff --git a/include/asterisk/compat.h b/include/asterisk/compat.h index d828b52708..6565687e27 100644 --- a/include/asterisk/compat.h +++ b/include/asterisk/compat.h @@ -182,4 +182,15 @@ typedef unsigned int uint; typedef unsigned long long uint64_t; #endif +/* glob compat stuff */ +#if defined(__Darwin__) || defined(__CYGWIN__) +#define GLOB_ABORTED GLOB_ABEND +#endif +#include +#if !defined(HAVE_GLOB_NOMAGIC) || !defined(HAVE_GLOB_BRACE) +#define MY_GLOB_FLAGS GLOB_NOCHECK +#else +#define MY_GLOB_FLAGS (GLOB_NOMAGIC | GLOB_BRACE) +#endif + #endif diff --git a/main/config.c b/main/config.c index 3725e958a0..fdc1e7a4fd 100644 --- a/main/config.c +++ b/main/config.c @@ -39,24 +39,6 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$") #define AST_INCLUDE_GLOB 1 -#ifdef AST_INCLUDE_GLOB -/* glob compat stuff - eventually this should go in compat.h or some - * header in include/asterisk/ - */ -#if defined(__Darwin__) || defined(__CYGWIN__) -#define GLOB_ABORTED GLOB_ABEND -#endif - -#include - -#ifdef SOLARIS -#define MY_GLOB_FLAGS GLOB_NOCHECK -#else -#define MY_GLOB_FLAGS (GLOB_NOMAGIC|GLOB_BRACE) -#endif - -#endif - #include "asterisk/config.h" #include "asterisk/cli.h" #include "asterisk/lock.h"