From 17a4adbc25915207272d167eccea36c5172fb348 Mon Sep 17 00:00:00 2001 From: oes Date: Wed, 9 Jan 2002 14:29:49 +0000 Subject: [PATCH] - Added AC_CHECK_FUNC tests for the availability of gethostbyname_r, gethostbyaddr_r, gmtime_r and localtime_r, as well as AC_TRY_COMPILE tests to determine their signatures. - Fixed a bug with the init of CFLAGS that was reported by barsnick --- configure.in | 144 ++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 138 insertions(+), 6 deletions(-) diff --git a/configure.in b/configure.in index d9a7e87b..714a278d 100644 --- a/configure.in +++ b/configure.in @@ -1,6 +1,6 @@ dnl Process this file with autoconf to produce a configure script. dnl -dnl $Id: configure.in,v 1.24 2001/12/30 14:07:31 steudten Exp $ +dnl $Id: configure.in,v 1.25 2002/01/04 15:27:18 oes Exp $ dnl dnl Written by and Copyright (C) 2001 the SourceForge dnl IJBSWA team. http://ijbswa.sourceforge.net @@ -28,6 +28,9 @@ dnl or write to the Free Software Foundation, Inc., 59 dnl Temple Place - Suite 330, Boston, MA 02111-1307, USA. dnl dnl $Log: configure.in,v $ +dnl Revision 1.25 2002/01/04 15:27:18 oes +dnl Changed quoting of CODE_STATUS for use in make +dnl dnl Revision 1.24 2001/12/30 14:07:31 steudten dnl - Add signal handling (unix) dnl - Add SIGHUP handler (unix) @@ -211,7 +214,7 @@ dnl ================================================================= dnl AutoConf Initialization dnl ================================================================= -AC_REVISION($Revision: 1.24 $) +AC_REVISION($Revision: 1.25 $) AC_INIT(jcc.c) AC_CONFIG_HEADER(config.h) AC_CANONICAL_HOST @@ -289,10 +292,12 @@ AC_ARG_WITH(debug, fi ], [ - if test "$GCC" = yes; then - CFLAGS="-O2" - else - CFLAGS= + if test "X$CFLAGS" = "X"; then # if CFLAGS are unset + if test "$GCC" = yes; then + CFLAGS="-O2" + else + CFLAGS= + fi fi ] ) @@ -407,6 +412,133 @@ fi AC_SUBST(PTHREAD_ONLY) +dnl ================================================================= +dnl Support for thread-safe versions of gethostbyaddr, gethostbyname, +dnl gmtime and localtime +dnl ================================================================= + +AC_CHECK_FUNC(gethostbyaddr_r, [ + AC_MSG_CHECKING([signature of gethostbyaddr_r]) + AC_TRY_COMPILE([ +# include + ], [ + struct hostent *h, *hp; + char *a, *b; + int l, bl, t, e; + (void) gethostbyaddr_r(a, l, t, h, b, bl, &hp, &e) + ], [ + AC_DEFINE(HAVE_GETHOSTBYADDR_R_8_ARGS) + AC_MSG_RESULT([8 args]) + ], [ + AC_TRY_COMPILE([ +# include + ], [ + struct hostent *h; + char *a, *b; + int l, bl, t, e; + (void) gethostbyaddr_r(a, l, t, h, b, bl, &e) + ], [ + AC_DEFINE(HAVE_GETHOSTBYADDR_R_7_ARGS) + AC_MSG_RESULT([7 args]) + ], [ + AC_TRY_COMPILE([ +# include + ], [ + struct hostent_data *d; + struct hostent *h; + char a, + int l, t; + (void) gethostbyaddr_r(a, l, t, h, d) + ], [ + AC_DEFINE(HAVE_GETHOSTBYADDR_R_5_ARGS) + AC_MSG_RESULT([5 args]) + ], [ + AC_MSG_RESULT(unrecognised) + ]) + ]) + ]) +], [ + AC_MSG_RESULT(no) +]) + +AC_CHECK_FUNC(gethostbyname_r, [ + AC_MSG_CHECKING([signature of gethostbyname_r]) + AC_TRY_COMPILE([ +# include + ], [ + struct hostent *h, *r; + char *n, *b; + int bl, e; + (void) gethostbyname_r(n, h, b, bl, &r, &e) + ], [ + AC_DEFINE(HAVE_GETHOSTBYNAME_R_6_ARGS) + AC_MSG_RESULT([6 args]) + ], [ + AC_TRY_COMPILE([ +# include + ], [ + struct hostent *h; + char *n, *b; + int bl, e; + (void) gethostbyname_r(n, h, b, bl, &e) + ], [ + AC_DEFINE(HAVE_GETHOSTBYNAME_R_5_ARGS) + AC_MSG_RESULT([5 args]) + ], [ + AC_TRY_COMPILE([ +# include + ], [ + struct hostent_data *d; + struct hostent *h; + char *n, + (void) gethostbyname_r(n, h, d) + ], [ + AC_DEFINE(HAVE_GETHOSTBYNAME_R_3_ARGS) + AC_MSG_RESULT([3 args]) + ], [ + AC_MSG_RESULT(unrecognised) + ]) + ]) + ]) +], [ + AC_MSG_RESULT(no) +]) + +AC_CHECK_FUNC(gmtime_r, [ + AC_MSG_CHECKING([signature of gmtime_r]) + AC_TRY_COMPILE([ +# include + ], [ + struct time *t; + struct tm *tm; + (void) gmtime_r(t, tm) + ], [ + AC_MSG_RESULT(ok) + AC_DEFINE(HAVE_GMTIME_R) + ], [ + AC_MSG_RESULT(unrecognised) + ]) +], [ + AC_MSG_RESULT(no) +]) + +AC_CHECK_FUNC(localtime_r, [ + AC_MSG_CHECKING([signature of localtime_r]) + AC_TRY_COMPILE([ +# include + ], [ + struct time *t; + struct tm *tm; + (void) localtime_r(t, tm) + ], [ + AC_MSG_RESULT(ok) + AC_DEFINE(HAVE_LOCALTIME_R) + ], [ + AC_MSG_RESULT(unrecognised) + ]) +], [ + AC_MSG_RESULT(no) +]) dnl ================================================================= dnl Solaris specific -- 2.39.2