diff options
-rw-r--r-- | CHANGES | 5 | ||||
-rw-r--r-- | acinclude.m4 | 52 | ||||
-rw-r--r-- | ares_init.c | 3 | ||||
-rw-r--r-- | configure.ac | 1 | ||||
-rw-r--r-- | setup_once.h | 8 |
5 files changed, 67 insertions, 2 deletions
@@ -1,5 +1,10 @@ Changelog for the c-ares project +* April 21 2009 (Yang Tse) +- Moved potential inclusion of system's malloc.h and memory.h header files to + setup_once.h. Inclusion of each header file is based on the definition of + NEED_MALLOC_H and NEED_MEMORY_H respectively. + * March 11 2009 (Yang Tse) - Japheth Cleaver fixed acountry.c replacing u_long with unsigned long. diff --git a/acinclude.m4 b/acinclude.m4 index 879643d..790d1c7 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -360,6 +360,58 @@ AC_DEFUN([CURL_CHECK_HEADER_MALLOC], [ ]) +dnl CURL_CHECK_HEADER_MEMORY +dnl ------------------------------------------------- +dnl Check for compilable and valid memory.h header, +dnl and check if it is needed even with stdlib.h for +dnl memory related functions. + +AC_DEFUN([CURL_CHECK_HEADER_MEMORY], [ + AC_CACHE_CHECK([for memory.h], [ac_cv_header_memory_h], [ + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([[ +#include <memory.h> + ]],[[ + void *p = malloc(10); + void *q = calloc(10,10); + free(p); + free(q); + ]]) + ],[ + ac_cv_header_memory_h="yes" + ],[ + ac_cv_header_memory_h="no" + ]) + ]) + if test "$ac_cv_header_memory_h" = "yes"; then + AC_DEFINE_UNQUOTED(HAVE_MEMORY_H, 1, + [Define to 1 if you have the memory.h header file.]) + # + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([[ +#include <stdlib.h> + ]],[[ + void *p = malloc(10); + void *q = calloc(10,10); + free(p); + free(q); + ]]) + ],[ + curl_cv_need_header_memory_h="no" + ],[ + curl_cv_need_header_memory_h="yes" + ]) + # + case "$curl_cv_need_header_memory_h" in + yes) + AC_DEFINE_UNQUOTED(NEED_MEMORY_H, 1, + [Define to 1 if you need the memory.h header file even with stdlib.h]) + ;; + esac + fi +]) + + dnl CURL_CHECK_TYPE_SOCKLEN_T dnl ------------------------------------------------- dnl Check for existing socklen_t type, and provide diff --git a/ares_init.c b/ares_init.c index e8d9ab1..635efce 100644 --- a/ares_init.c +++ b/ares_init.c @@ -1,7 +1,7 @@ /* $Id$ */ /* Copyright 1998 by the Massachusetts Institute of Technology. - * Copyright (C) 2007-2008 by Daniel Stenberg + * Copyright (C) 2007-2009 by Daniel Stenberg * * Permission to use, copy, modify, and distribute this * software and its documentation for any purpose and without @@ -20,7 +20,6 @@ #if defined(WIN32) && !defined(WATT32) #include <iphlpapi.h> -#include <malloc.h> #endif #ifdef HAVE_SYS_PARAM_H diff --git a/configure.ac b/configure.ac index 67dc007..aca5e94 100644 --- a/configure.ac +++ b/configure.ac @@ -430,6 +430,7 @@ dnl Checks for header files. AC_HEADER_STDC CURL_CHECK_HEADER_MALLOC +CURL_CHECK_HEADER_MEMORY dnl check for a few basic system headers we need AC_CHECK_HEADERS( diff --git a/setup_once.h b/setup_once.h index 4f88d99..bd5eba3 100644 --- a/setup_once.h +++ b/setup_once.h @@ -42,6 +42,14 @@ #include <sys/types.h> #endif +#ifdef NEED_MALLOC_H +#include <malloc.h> +#endif + +#ifdef NEED_MEMORY_H +#include <memory.h> +#endif + #ifdef HAVE_SYS_STAT_H #include <sys/stat.h> #endif |