This commit renames lib/setup.h to lib/curl_setup.h and
renames lib/setup_once.h to lib/curl_setup_once.h.
Removes the need and usage of a header inclusion guard foreign
to libcurl. [1]
Removes the need and presence of an alarming notice we carried
in old setup_once.h [2]
----------------------------------------
1 - lib/setup_once.h used __SETUP_ONCE_H macro as header inclusion guard
    up to commit ec691ca3 which changed this to HEADER_CURL_SETUP_ONCE_H,
    this single inclusion guard is enough to ensure that inclusion of
    lib/setup_once.h done from lib/setup.h is only done once.
    Additionally lib/setup.h has always used __SETUP_ONCE_H macro to
    protect inclusion of setup_once.h even after commit ec691ca3, this
    was to avoid a circular header inclusion triggered when building a
    c-ares enabled version with c-ares sources available which also has
    a setup_once.h header. Commit ec691ca3 exposes the real nature of
    __SETUP_ONCE_H usage in lib/setup.h, it is a header inclusion guard
    foreign to libcurl belonging to c-ares's setup_once.h
    The renaming this commit does, fixes the circular header inclusion,
    and as such removes the need and usage of a header inclusion guard
    foreign to libcurl. Macro __SETUP_ONCE_H no longer used in libcurl.
2 - Due to the circular interdependency of old lib/setup_once.h and the
    c-ares setup_once.h header, old file lib/setup_once.h has carried
    back from 2006 up to now days an alarming and prominent notice about
    the need of keeping libcurl's and c-ares's setup_once.h in sync.
    Given that this commit fixes the circular interdependency, the need
    and presence of mentioned notice is removed.
    All mentioned interdependencies come back from now old days when
    the c-ares project lived inside a curl subdirectory. This commit
    removes last traces of such fact.
		
	
		
			
				
	
	
		
			618 lines
		
	
	
		
			16 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			618 lines
		
	
	
		
			16 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
#***************************************************************************
 | 
						|
#                                  _   _ ____  _
 | 
						|
#  Project                     ___| | | |  _ \| |
 | 
						|
#                             / __| | | | |_) | |
 | 
						|
#                            | (__| |_| |  _ <| |___
 | 
						|
#                             \___|\___/|_| \_\_____|
 | 
						|
#
 | 
						|
# Copyright (C) 1998 - 2009, Daniel Stenberg, <daniel@haxx.se>, et al.
 | 
						|
#
 | 
						|
# This software is licensed as described in the file COPYING, which
 | 
						|
# you should have received as part of this distribution. The terms
 | 
						|
# are also available at http://curl.haxx.se/docs/copyright.html.
 | 
						|
#
 | 
						|
# You may opt to use, copy, modify, merge, publish, distribute and/or sell
 | 
						|
# copies of the Software, and permit persons to whom the Software is
 | 
						|
# furnished to do so, under the terms of the COPYING file.
 | 
						|
#
 | 
						|
# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
 | 
						|
# KIND, either express or implied.
 | 
						|
#
 | 
						|
#***************************************************************************
 | 
						|
 | 
						|
# File version for 'aclocal' use. Keep it a single number.
 | 
						|
# serial 10
 | 
						|
 | 
						|
dnl Note 1
 | 
						|
dnl ------
 | 
						|
dnl None of the CURL_CHECK_NEED_REENTRANT_* macros shall use HAVE_FOO_H to
 | 
						|
dnl conditionally include header files. These macros are used early in the
 | 
						|
dnl configure process much before header file availability is known.
 | 
						|
 | 
						|
 | 
						|
dnl CURL_CHECK_NEED_REENTRANT_ERRNO
 | 
						|
dnl -------------------------------------------------
 | 
						|
dnl Checks if the preprocessor _REENTRANT definition
 | 
						|
dnl makes errno available as a preprocessor macro.
 | 
						|
 | 
						|
AC_DEFUN([CURL_CHECK_NEED_REENTRANT_ERRNO], [
 | 
						|
  AC_COMPILE_IFELSE([
 | 
						|
    AC_LANG_PROGRAM([[
 | 
						|
#include <errno.h>
 | 
						|
    ]],[[
 | 
						|
      if(0 != errno)
 | 
						|
        return 1;
 | 
						|
    ]])
 | 
						|
  ],[
 | 
						|
    tmp_errno="yes"
 | 
						|
  ],[
 | 
						|
    tmp_errno="no"
 | 
						|
  ])
 | 
						|
  if test "$tmp_errno" = "yes"; then
 | 
						|
    AC_COMPILE_IFELSE([
 | 
						|
      AC_LANG_PROGRAM([[
 | 
						|
#include <errno.h>
 | 
						|
      ]],[[
 | 
						|
#ifdef errno
 | 
						|
        int dummy=1;
 | 
						|
#else
 | 
						|
        force compilation error
 | 
						|
#endif
 | 
						|
      ]])
 | 
						|
    ],[
 | 
						|
      tmp_errno="errno_macro_defined"
 | 
						|
    ],[
 | 
						|
      AC_COMPILE_IFELSE([
 | 
						|
        AC_LANG_PROGRAM([[
 | 
						|
#define _REENTRANT
 | 
						|
#include <errno.h>
 | 
						|
        ]],[[
 | 
						|
#ifdef errno
 | 
						|
          int dummy=1;
 | 
						|
#else
 | 
						|
          force compilation error
 | 
						|
#endif
 | 
						|
        ]])
 | 
						|
      ],[
 | 
						|
        tmp_errno="errno_macro_needs_reentrant"
 | 
						|
        tmp_need_reentrant="yes"
 | 
						|
      ])
 | 
						|
    ])
 | 
						|
  fi
 | 
						|
])
 | 
						|
 | 
						|
 | 
						|
dnl CURL_CHECK_NEED_REENTRANT_GMTIME_R
 | 
						|
dnl -------------------------------------------------
 | 
						|
dnl Checks if the preprocessor _REENTRANT definition
 | 
						|
dnl makes function gmtime_r compiler visible.
 | 
						|
 | 
						|
AC_DEFUN([CURL_CHECK_NEED_REENTRANT_GMTIME_R], [
 | 
						|
  AC_LINK_IFELSE([
 | 
						|
    AC_LANG_FUNC_LINK_TRY([gmtime_r])
 | 
						|
  ],[
 | 
						|
    tmp_gmtime_r="yes"
 | 
						|
  ],[
 | 
						|
    tmp_gmtime_r="no"
 | 
						|
  ])
 | 
						|
  if test "$tmp_gmtime_r" = "yes"; then
 | 
						|
    AC_EGREP_CPP([gmtime_r],[
 | 
						|
#include <sys/types.h>
 | 
						|
#include <time.h>
 | 
						|
    ],[
 | 
						|
      tmp_gmtime_r="proto_declared"
 | 
						|
    ],[
 | 
						|
      AC_EGREP_CPP([gmtime_r],[
 | 
						|
#define _REENTRANT
 | 
						|
#include <sys/types.h>
 | 
						|
#include <time.h>
 | 
						|
      ],[
 | 
						|
        tmp_gmtime_r="proto_needs_reentrant"
 | 
						|
        tmp_need_reentrant="yes"
 | 
						|
      ])
 | 
						|
    ])
 | 
						|
  fi
 | 
						|
])
 | 
						|
 | 
						|
 | 
						|
dnl CURL_CHECK_NEED_REENTRANT_LOCALTIME_R
 | 
						|
dnl -------------------------------------------------
 | 
						|
dnl Checks if the preprocessor _REENTRANT definition
 | 
						|
dnl makes function localtime_r compiler visible.
 | 
						|
 | 
						|
AC_DEFUN([CURL_CHECK_NEED_REENTRANT_LOCALTIME_R], [
 | 
						|
  AC_LINK_IFELSE([
 | 
						|
    AC_LANG_FUNC_LINK_TRY([localtime_r])
 | 
						|
  ],[
 | 
						|
    tmp_localtime_r="yes"
 | 
						|
  ],[
 | 
						|
    tmp_localtime_r="no"
 | 
						|
  ])
 | 
						|
  if test "$tmp_localtime_r" = "yes"; then
 | 
						|
    AC_EGREP_CPP([localtime_r],[
 | 
						|
#include <sys/types.h>
 | 
						|
#include <time.h>
 | 
						|
    ],[
 | 
						|
      tmp_localtime_r="proto_declared"
 | 
						|
    ],[
 | 
						|
      AC_EGREP_CPP([localtime_r],[
 | 
						|
#define _REENTRANT
 | 
						|
#include <sys/types.h>
 | 
						|
#include <time.h>
 | 
						|
      ],[
 | 
						|
        tmp_localtime_r="proto_needs_reentrant"
 | 
						|
        tmp_need_reentrant="yes"
 | 
						|
      ])
 | 
						|
    ])
 | 
						|
  fi
 | 
						|
])
 | 
						|
 | 
						|
 | 
						|
dnl CURL_CHECK_NEED_REENTRANT_STRERROR_R
 | 
						|
dnl -------------------------------------------------
 | 
						|
dnl Checks if the preprocessor _REENTRANT definition
 | 
						|
dnl makes function strerror_r compiler visible.
 | 
						|
 | 
						|
AC_DEFUN([CURL_CHECK_NEED_REENTRANT_STRERROR_R], [
 | 
						|
  AC_LINK_IFELSE([
 | 
						|
    AC_LANG_FUNC_LINK_TRY([strerror_r])
 | 
						|
  ],[
 | 
						|
    tmp_strerror_r="yes"
 | 
						|
  ],[
 | 
						|
    tmp_strerror_r="no"
 | 
						|
  ])
 | 
						|
  if test "$tmp_strerror_r" = "yes"; then
 | 
						|
    AC_EGREP_CPP([strerror_r],[
 | 
						|
#include <sys/types.h>
 | 
						|
#include <string.h>
 | 
						|
    ],[
 | 
						|
      tmp_strerror_r="proto_declared"
 | 
						|
    ],[
 | 
						|
      AC_EGREP_CPP([strerror_r],[
 | 
						|
#define _REENTRANT
 | 
						|
#include <sys/types.h>
 | 
						|
#include <string.h>
 | 
						|
      ],[
 | 
						|
        tmp_strerror_r="proto_needs_reentrant"
 | 
						|
        tmp_need_reentrant="yes"
 | 
						|
      ])
 | 
						|
    ])
 | 
						|
  fi
 | 
						|
])
 | 
						|
 | 
						|
 | 
						|
dnl CURL_CHECK_NEED_REENTRANT_STRTOK_R
 | 
						|
dnl -------------------------------------------------
 | 
						|
dnl Checks if the preprocessor _REENTRANT definition
 | 
						|
dnl makes function strtok_r compiler visible.
 | 
						|
 | 
						|
AC_DEFUN([CURL_CHECK_NEED_REENTRANT_STRTOK_R], [
 | 
						|
  AC_LINK_IFELSE([
 | 
						|
    AC_LANG_FUNC_LINK_TRY([strtok_r])
 | 
						|
  ],[
 | 
						|
    tmp_strtok_r="yes"
 | 
						|
  ],[
 | 
						|
    tmp_strtok_r="no"
 | 
						|
  ])
 | 
						|
  if test "$tmp_strtok_r" = "yes"; then
 | 
						|
    AC_EGREP_CPP([strtok_r],[
 | 
						|
#include <sys/types.h>
 | 
						|
#include <string.h>
 | 
						|
    ],[
 | 
						|
      tmp_strtok_r="proto_declared"
 | 
						|
    ],[
 | 
						|
      AC_EGREP_CPP([strtok_r],[
 | 
						|
#define _REENTRANT
 | 
						|
#include <sys/types.h>
 | 
						|
#include <string.h>
 | 
						|
      ],[
 | 
						|
        tmp_strtok_r="proto_needs_reentrant"
 | 
						|
        tmp_need_reentrant="yes"
 | 
						|
      ])
 | 
						|
    ])
 | 
						|
  fi
 | 
						|
])
 | 
						|
 | 
						|
 | 
						|
dnl CURL_CHECK_NEED_REENTRANT_INET_NTOA_R
 | 
						|
dnl -------------------------------------------------
 | 
						|
dnl Checks if the preprocessor _REENTRANT definition
 | 
						|
dnl makes function inet_ntoa_r compiler visible.
 | 
						|
 | 
						|
AC_DEFUN([CURL_CHECK_NEED_REENTRANT_INET_NTOA_R], [
 | 
						|
  AC_LINK_IFELSE([
 | 
						|
    AC_LANG_FUNC_LINK_TRY([inet_ntoa_r])
 | 
						|
  ],[
 | 
						|
    tmp_inet_ntoa_r="yes"
 | 
						|
  ],[
 | 
						|
    tmp_inet_ntoa_r="no"
 | 
						|
  ])
 | 
						|
  if test "$tmp_inet_ntoa_r" = "yes"; then
 | 
						|
    AC_EGREP_CPP([inet_ntoa_r],[
 | 
						|
#include <sys/types.h>
 | 
						|
#include <sys/socket.h>
 | 
						|
#include <netinet/in.h>
 | 
						|
#include <arpa/inet.h>
 | 
						|
    ],[
 | 
						|
      tmp_inet_ntoa_r="proto_declared"
 | 
						|
    ],[
 | 
						|
      AC_EGREP_CPP([inet_ntoa_r],[
 | 
						|
#define _REENTRANT
 | 
						|
#include <sys/types.h>
 | 
						|
#include <sys/socket.h>
 | 
						|
#include <netinet/in.h>
 | 
						|
#include <arpa/inet.h>
 | 
						|
      ],[
 | 
						|
        tmp_inet_ntoa_r="proto_needs_reentrant"
 | 
						|
        tmp_need_reentrant="yes"
 | 
						|
      ])
 | 
						|
    ])
 | 
						|
  fi
 | 
						|
])
 | 
						|
 | 
						|
 | 
						|
dnl CURL_CHECK_NEED_REENTRANT_GETHOSTBYADDR_R
 | 
						|
dnl -------------------------------------------------
 | 
						|
dnl Checks if the preprocessor _REENTRANT definition
 | 
						|
dnl makes function gethostbyaddr_r compiler visible.
 | 
						|
 | 
						|
AC_DEFUN([CURL_CHECK_NEED_REENTRANT_GETHOSTBYADDR_R], [
 | 
						|
  AC_LINK_IFELSE([
 | 
						|
    AC_LANG_FUNC_LINK_TRY([gethostbyaddr_r])
 | 
						|
  ],[
 | 
						|
    tmp_gethostbyaddr_r="yes"
 | 
						|
  ],[
 | 
						|
    tmp_gethostbyaddr_r="no"
 | 
						|
  ])
 | 
						|
  if test "$tmp_gethostbyaddr_r" = "yes"; then
 | 
						|
    AC_EGREP_CPP([gethostbyaddr_r],[
 | 
						|
#include <sys/types.h>
 | 
						|
#include <netdb.h>
 | 
						|
    ],[
 | 
						|
      tmp_gethostbyaddr_r="proto_declared"
 | 
						|
    ],[
 | 
						|
      AC_EGREP_CPP([gethostbyaddr_r],[
 | 
						|
#define _REENTRANT
 | 
						|
#include <sys/types.h>
 | 
						|
#include <netdb.h>
 | 
						|
      ],[
 | 
						|
        tmp_gethostbyaddr_r="proto_needs_reentrant"
 | 
						|
        tmp_need_reentrant="yes"
 | 
						|
      ])
 | 
						|
    ])
 | 
						|
  fi
 | 
						|
])
 | 
						|
 | 
						|
 | 
						|
dnl CURL_CHECK_NEED_REENTRANT_GETHOSTBYNAME_R
 | 
						|
dnl -------------------------------------------------
 | 
						|
dnl Checks if the preprocessor _REENTRANT definition
 | 
						|
dnl makes function gethostbyname_r compiler visible.
 | 
						|
 | 
						|
AC_DEFUN([CURL_CHECK_NEED_REENTRANT_GETHOSTBYNAME_R], [
 | 
						|
  AC_LINK_IFELSE([
 | 
						|
    AC_LANG_FUNC_LINK_TRY([gethostbyname_r])
 | 
						|
  ],[
 | 
						|
    tmp_gethostbyname_r="yes"
 | 
						|
  ],[
 | 
						|
    tmp_gethostbyname_r="no"
 | 
						|
  ])
 | 
						|
  if test "$tmp_gethostbyname_r" = "yes"; then
 | 
						|
    AC_EGREP_CPP([gethostbyname_r],[
 | 
						|
#include <sys/types.h>
 | 
						|
#include <netdb.h>
 | 
						|
    ],[
 | 
						|
      tmp_gethostbyname_r="proto_declared"
 | 
						|
    ],[
 | 
						|
      AC_EGREP_CPP([gethostbyname_r],[
 | 
						|
#define _REENTRANT
 | 
						|
#include <sys/types.h>
 | 
						|
#include <netdb.h>
 | 
						|
      ],[
 | 
						|
        tmp_gethostbyname_r="proto_needs_reentrant"
 | 
						|
        tmp_need_reentrant="yes"
 | 
						|
      ])
 | 
						|
    ])
 | 
						|
  fi
 | 
						|
])
 | 
						|
 | 
						|
 | 
						|
dnl CURL_CHECK_NEED_REENTRANT_GETPROTOBYNAME_R
 | 
						|
dnl -------------------------------------------------
 | 
						|
dnl Checks if the preprocessor _REENTRANT definition
 | 
						|
dnl makes function getprotobyname_r compiler visible.
 | 
						|
 | 
						|
AC_DEFUN([CURL_CHECK_NEED_REENTRANT_GETPROTOBYNAME_R], [
 | 
						|
  AC_LINK_IFELSE([
 | 
						|
    AC_LANG_FUNC_LINK_TRY([getprotobyname_r])
 | 
						|
  ],[
 | 
						|
    tmp_getprotobyname_r="yes"
 | 
						|
  ],[
 | 
						|
    tmp_getprotobyname_r="no"
 | 
						|
  ])
 | 
						|
  if test "$tmp_getprotobyname_r" = "yes"; then
 | 
						|
    AC_EGREP_CPP([getprotobyname_r],[
 | 
						|
#include <sys/types.h>
 | 
						|
#include <netdb.h>
 | 
						|
    ],[
 | 
						|
      tmp_getprotobyname_r="proto_declared"
 | 
						|
    ],[
 | 
						|
      AC_EGREP_CPP([getprotobyname_r],[
 | 
						|
#define _REENTRANT
 | 
						|
#include <sys/types.h>
 | 
						|
#include <netdb.h>
 | 
						|
      ],[
 | 
						|
        tmp_getprotobyname_r="proto_needs_reentrant"
 | 
						|
        tmp_need_reentrant="yes"
 | 
						|
      ])
 | 
						|
    ])
 | 
						|
  fi
 | 
						|
])
 | 
						|
 | 
						|
 | 
						|
dnl CURL_CHECK_NEED_REENTRANT_GETSERVBYPORT_R
 | 
						|
dnl -------------------------------------------------
 | 
						|
dnl Checks if the preprocessor _REENTRANT definition
 | 
						|
dnl makes function getservbyport_r compiler visible.
 | 
						|
 | 
						|
AC_DEFUN([CURL_CHECK_NEED_REENTRANT_GETSERVBYPORT_R], [
 | 
						|
  AC_LINK_IFELSE([
 | 
						|
    AC_LANG_FUNC_LINK_TRY([getservbyport_r])
 | 
						|
  ],[
 | 
						|
    tmp_getservbyport_r="yes"
 | 
						|
  ],[
 | 
						|
    tmp_getservbyport_r="no"
 | 
						|
  ])
 | 
						|
  if test "$tmp_getservbyport_r" = "yes"; then
 | 
						|
    AC_EGREP_CPP([getservbyport_r],[
 | 
						|
#include <sys/types.h>
 | 
						|
#include <netdb.h>
 | 
						|
    ],[
 | 
						|
      tmp_getservbyport_r="proto_declared"
 | 
						|
    ],[
 | 
						|
      AC_EGREP_CPP([getservbyport_r],[
 | 
						|
#define _REENTRANT
 | 
						|
#include <sys/types.h>
 | 
						|
#include <netdb.h>
 | 
						|
      ],[
 | 
						|
        tmp_getservbyport_r="proto_needs_reentrant"
 | 
						|
        tmp_need_reentrant="yes"
 | 
						|
      ])
 | 
						|
    ])
 | 
						|
  fi
 | 
						|
])
 | 
						|
 | 
						|
 | 
						|
dnl CURL_CHECK_NEED_REENTRANT_FUNCTIONS_R
 | 
						|
dnl -------------------------------------------------
 | 
						|
dnl Checks if the preprocessor _REENTRANT definition
 | 
						|
dnl makes several _r functions compiler visible.
 | 
						|
dnl Internal macro for CURL_CONFIGURE_REENTRANT.
 | 
						|
 | 
						|
AC_DEFUN([CURL_CHECK_NEED_REENTRANT_FUNCTIONS_R], [
 | 
						|
  if test "$tmp_need_reentrant" = "no"; then
 | 
						|
    CURL_CHECK_NEED_REENTRANT_GMTIME_R
 | 
						|
  fi
 | 
						|
  if test "$tmp_need_reentrant" = "no"; then
 | 
						|
    CURL_CHECK_NEED_REENTRANT_LOCALTIME_R
 | 
						|
  fi
 | 
						|
  if test "$tmp_need_reentrant" = "no"; then
 | 
						|
    CURL_CHECK_NEED_REENTRANT_STRERROR_R
 | 
						|
  fi
 | 
						|
  if test "$tmp_need_reentrant" = "no"; then
 | 
						|
    CURL_CHECK_NEED_REENTRANT_STRTOK_R
 | 
						|
  fi
 | 
						|
  if test "$tmp_need_reentrant" = "no"; then
 | 
						|
    CURL_CHECK_NEED_REENTRANT_INET_NTOA_R
 | 
						|
  fi
 | 
						|
  if test "$tmp_need_reentrant" = "no"; then
 | 
						|
    CURL_CHECK_NEED_REENTRANT_GETHOSTBYADDR_R
 | 
						|
  fi
 | 
						|
  if test "$tmp_need_reentrant" = "no"; then
 | 
						|
    CURL_CHECK_NEED_REENTRANT_GETHOSTBYNAME_R
 | 
						|
  fi
 | 
						|
  if test "$tmp_need_reentrant" = "no"; then
 | 
						|
    CURL_CHECK_NEED_REENTRANT_GETPROTOBYNAME_R
 | 
						|
  fi
 | 
						|
  if test "$tmp_need_reentrant" = "no"; then
 | 
						|
    CURL_CHECK_NEED_REENTRANT_GETSERVBYPORT_R
 | 
						|
  fi
 | 
						|
])
 | 
						|
 | 
						|
 | 
						|
dnl CURL_CHECK_NEED_REENTRANT_SYSTEM
 | 
						|
dnl -------------------------------------------------
 | 
						|
dnl Checks if the preprocessor _REENTRANT definition
 | 
						|
dnl must be unconditionally done for this platform.
 | 
						|
dnl Internal macro for CURL_CONFIGURE_REENTRANT.
 | 
						|
 | 
						|
AC_DEFUN([CURL_CHECK_NEED_REENTRANT_SYSTEM], [
 | 
						|
  case $host_os in
 | 
						|
    solaris*)
 | 
						|
      tmp_need_reentrant="yes"
 | 
						|
      ;;
 | 
						|
    *)
 | 
						|
      tmp_need_reentrant="no"
 | 
						|
      ;;
 | 
						|
  esac
 | 
						|
])
 | 
						|
 | 
						|
 | 
						|
dnl CURL_CHECK_NEED_THREAD_SAFE_SYSTEM
 | 
						|
dnl -------------------------------------------------
 | 
						|
dnl Checks if the preprocessor _THREAD_SAFE definition
 | 
						|
dnl must be unconditionally done for this platform.
 | 
						|
dnl Internal macro for CURL_CONFIGURE_THREAD_SAFE.
 | 
						|
 | 
						|
AC_DEFUN([CURL_CHECK_NEED_THREAD_SAFE_SYSTEM], [
 | 
						|
  case $host_os in
 | 
						|
    aix[[123]].* | aix4.[[012]].*)
 | 
						|
      dnl aix 4.2 and older
 | 
						|
      tmp_need_thread_safe="no"
 | 
						|
      ;;
 | 
						|
    aix*)
 | 
						|
      dnl AIX 4.3 and newer
 | 
						|
      tmp_need_thread_safe="yes"
 | 
						|
      ;;
 | 
						|
    *)
 | 
						|
      tmp_need_thread_safe="no"
 | 
						|
      ;;
 | 
						|
  esac
 | 
						|
])
 | 
						|
 | 
						|
 | 
						|
dnl CURL_CONFIGURE_FROM_NOW_ON_WITH_REENTRANT
 | 
						|
dnl -------------------------------------------------
 | 
						|
dnl This macro ensures that configuration tests done
 | 
						|
dnl after this will execute with preprocessor symbol
 | 
						|
dnl _REENTRANT defined. This macro also ensures that
 | 
						|
dnl the generated config file defines NEED_REENTRANT
 | 
						|
dnl and that in turn curl_setup.h will define _REENTRANT.
 | 
						|
dnl Internal macro for CURL_CONFIGURE_REENTRANT.
 | 
						|
 | 
						|
AC_DEFUN([CURL_CONFIGURE_FROM_NOW_ON_WITH_REENTRANT], [
 | 
						|
AC_DEFINE(NEED_REENTRANT, 1,
 | 
						|
  [Define to 1 if _REENTRANT preprocessor symbol must be defined.])
 | 
						|
cat >>confdefs.h <<_EOF
 | 
						|
#ifndef _REENTRANT
 | 
						|
#  define _REENTRANT
 | 
						|
#endif
 | 
						|
_EOF
 | 
						|
])
 | 
						|
 | 
						|
 | 
						|
dnl CURL_CONFIGURE_FROM_NOW_ON_WITH_THREAD_SAFE
 | 
						|
dnl -------------------------------------------------
 | 
						|
dnl This macro ensures that configuration tests done
 | 
						|
dnl after this will execute with preprocessor symbol
 | 
						|
dnl _THREAD_SAFE defined. This macro also ensures that
 | 
						|
dnl the generated config file defines NEED_THREAD_SAFE
 | 
						|
dnl and that in turn curl_setup.h will define _THREAD_SAFE.
 | 
						|
dnl Internal macro for CURL_CONFIGURE_THREAD_SAFE.
 | 
						|
 | 
						|
AC_DEFUN([CURL_CONFIGURE_FROM_NOW_ON_WITH_THREAD_SAFE], [
 | 
						|
AC_DEFINE(NEED_THREAD_SAFE, 1,
 | 
						|
  [Define to 1 if _THREAD_SAFE preprocessor symbol must be defined.])
 | 
						|
cat >>confdefs.h <<_EOF
 | 
						|
#ifndef _THREAD_SAFE
 | 
						|
#  define _THREAD_SAFE
 | 
						|
#endif
 | 
						|
_EOF
 | 
						|
])
 | 
						|
 | 
						|
 | 
						|
dnl CURL_CONFIGURE_REENTRANT
 | 
						|
dnl -------------------------------------------------
 | 
						|
dnl This first checks if the preprocessor _REENTRANT
 | 
						|
dnl symbol is already defined. If it isn't currently
 | 
						|
dnl defined a set of checks are performed to verify
 | 
						|
dnl if its definition is required to make visible to
 | 
						|
dnl the compiler a set of *_r functions. Finally, if
 | 
						|
dnl _REENTRANT is already defined or needed it takes
 | 
						|
dnl care of making adjustments necessary to ensure
 | 
						|
dnl that it is defined equally for further configure
 | 
						|
dnl tests and generated config file.
 | 
						|
 | 
						|
AC_DEFUN([CURL_CONFIGURE_REENTRANT], [
 | 
						|
  AC_PREREQ([2.50])dnl
 | 
						|
  #
 | 
						|
  AC_MSG_CHECKING([if _REENTRANT is already defined])
 | 
						|
  AC_COMPILE_IFELSE([
 | 
						|
    AC_LANG_PROGRAM([[
 | 
						|
    ]],[[
 | 
						|
#ifdef _REENTRANT
 | 
						|
      int dummy=1;
 | 
						|
#else
 | 
						|
      force compilation error
 | 
						|
#endif
 | 
						|
    ]])
 | 
						|
  ],[
 | 
						|
    AC_MSG_RESULT([yes])
 | 
						|
    tmp_reentrant_initially_defined="yes"
 | 
						|
  ],[
 | 
						|
    AC_MSG_RESULT([no])
 | 
						|
    tmp_reentrant_initially_defined="no"
 | 
						|
  ])
 | 
						|
  #
 | 
						|
  if test "$tmp_reentrant_initially_defined" = "no"; then
 | 
						|
    AC_MSG_CHECKING([if _REENTRANT is actually needed])
 | 
						|
    CURL_CHECK_NEED_REENTRANT_SYSTEM
 | 
						|
    if test "$tmp_need_reentrant" = "no"; then
 | 
						|
      CURL_CHECK_NEED_REENTRANT_ERRNO
 | 
						|
    fi
 | 
						|
    if test "$tmp_need_reentrant" = "no"; then
 | 
						|
      CURL_CHECK_NEED_REENTRANT_FUNCTIONS_R
 | 
						|
    fi
 | 
						|
    if test "$tmp_need_reentrant" = "yes"; then
 | 
						|
      AC_MSG_RESULT([yes])
 | 
						|
    else
 | 
						|
      AC_MSG_RESULT([no])
 | 
						|
    fi
 | 
						|
  fi
 | 
						|
  #
 | 
						|
  AC_MSG_CHECKING([if _REENTRANT is onwards defined])
 | 
						|
  if test "$tmp_reentrant_initially_defined" = "yes" ||
 | 
						|
    test "$tmp_need_reentrant" = "yes"; then
 | 
						|
    CURL_CONFIGURE_FROM_NOW_ON_WITH_REENTRANT
 | 
						|
    AC_MSG_RESULT([yes])
 | 
						|
  else
 | 
						|
    AC_MSG_RESULT([no])
 | 
						|
  fi
 | 
						|
  #
 | 
						|
])
 | 
						|
 | 
						|
 | 
						|
dnl CURL_CONFIGURE_THREAD_SAFE
 | 
						|
dnl -------------------------------------------------
 | 
						|
dnl This first checks if the preprocessor _THREAD_SAFE
 | 
						|
dnl symbol is already defined. If it isn't currently
 | 
						|
dnl defined a set of checks are performed to verify
 | 
						|
dnl if its definition is required. Finally, if
 | 
						|
dnl _THREAD_SAFE is already defined or needed it takes
 | 
						|
dnl care of making adjustments necessary to ensure
 | 
						|
dnl that it is defined equally for further configure
 | 
						|
dnl tests and generated config file.
 | 
						|
 | 
						|
AC_DEFUN([CURL_CONFIGURE_THREAD_SAFE], [
 | 
						|
  AC_PREREQ([2.50])dnl
 | 
						|
  #
 | 
						|
  AC_MSG_CHECKING([if _THREAD_SAFE is already defined])
 | 
						|
  AC_COMPILE_IFELSE([
 | 
						|
    AC_LANG_PROGRAM([[
 | 
						|
    ]],[[
 | 
						|
#ifdef _THREAD_SAFE
 | 
						|
      int dummy=1;
 | 
						|
#else
 | 
						|
      force compilation error
 | 
						|
#endif
 | 
						|
    ]])
 | 
						|
  ],[
 | 
						|
    AC_MSG_RESULT([yes])
 | 
						|
    tmp_thread_safe_initially_defined="yes"
 | 
						|
  ],[
 | 
						|
    AC_MSG_RESULT([no])
 | 
						|
    tmp_thread_safe_initially_defined="no"
 | 
						|
  ])
 | 
						|
  #
 | 
						|
  if test "$tmp_thread_safe_initially_defined" = "no"; then
 | 
						|
    AC_MSG_CHECKING([if _THREAD_SAFE is actually needed])
 | 
						|
    CURL_CHECK_NEED_THREAD_SAFE_SYSTEM
 | 
						|
    if test "$tmp_need_thread_safe" = "yes"; then
 | 
						|
      AC_MSG_RESULT([yes])
 | 
						|
    else
 | 
						|
      AC_MSG_RESULT([no])
 | 
						|
    fi
 | 
						|
  fi
 | 
						|
  #
 | 
						|
  AC_MSG_CHECKING([if _THREAD_SAFE is onwards defined])
 | 
						|
  if test "$tmp_thread_safe_initially_defined" = "yes" ||
 | 
						|
    test "$tmp_need_thread_safe" = "yes"; then
 | 
						|
    CURL_CONFIGURE_FROM_NOW_ON_WITH_THREAD_SAFE
 | 
						|
    AC_MSG_RESULT([yes])
 | 
						|
  else
 | 
						|
    AC_MSG_RESULT([no])
 | 
						|
  fi
 | 
						|
  #
 | 
						|
])
 | 
						|
 |