--- sa.ac 2001/10/08 10:03:54 1.3
+++ sa.ac 2001/10/08 14:47:30 1.4
@@ -1,34 +1,85 @@
-##
-## SA - OSSP Socket Abstraction Library
-## Copyright (c) 2001 Ralf S. Engelschall <rse@engelschall.com>
-## Copyright (c) 2001 The OSSP Project <http://www.ossp.org/>
-## Copyright (c) 2001 Cable & Wireless Deutschland <http://www.cw.com/de/>
-##
-## This file is part of OSSP SA, a socket abstraction library which
-## can be found at http://www.ossp.org/pkg/sa/.
-##
-## Permission to use, copy, modify, and distribute this software for
-## any purpose with or without fee is hereby granted, provided that
-## the above copyright notice and this permission notice appear in all
-## copies.
-##
-## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
-## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-## SUCH DAMAGE.
-##
-## sa.ac: socket abstraction Autoconf checks
-##
+dnl ##
+dnl ## SA - OSSP Socket Abstraction Library
+dnl ## Copyright (c) 2001 Ralf S. Engelschall <rse@engelschall.com>
+dnl ## Copyright (c) 2001 The OSSP Project <http://www.ossp.org/>
+dnl ## Copyright (c) 2001 Cable & Wireless Deutschland <http://www.cw.com/de/>
+dnl ##
+dnl ## This file is part of OSSP SA, a socket abstraction library which
+dnl ## can be found at http://www.ossp.org/pkg/sa/.
+dnl ##
+dnl ## Permission to use, copy, modify, and distribute this software for
+dnl ## any purpose with or without fee is hereby granted, provided that
+dnl ## the above copyright notice and this permission notice appear in all
+dnl ## copies.
+dnl ##
+dnl ## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+dnl ## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+dnl ## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+dnl ## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
+dnl ## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+dnl ## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+dnl ## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+dnl ## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+dnl ## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+dnl ## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+dnl ## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+dnl ## SUCH DAMAGE.
+dnl ##
+dnl ## sa.ac: socket abstraction Autoconf checks
+dnl ##
-AC_DEFUN(AC_CHECK_SA,[
+dnl # Check for an ANSI C typedef in a header
+dnl # configure.in:
+dnl # SA_CHECK_TYPEDEF(<typedef>, <header>)
+dnl # acconfig.h:
+dnl # #undef HAVE_<typedef>
+
+AC_DEFUN(SA_CHECK_TYPEDEF,[dnl
+ AC_REQUIRE([AC_HEADER_STDC])dnl
+ AC_MSG_CHECKING(for typedef $1)
+ AC_CACHE_VAL(ac_cv_typedef_$1,[
+ AC_EGREP_CPP(dnl
+changequote(<<,>>)dnl
+<<(^|[^a-zA-Z_0-9])$1[^a-zA-Z_0-9]>>dnl
+changequote([,]), [
+#include <$2>],
+ ac_cv_typedef_$1=yes,
+ ac_cv_typedef_$1=no
+ )
+ ])dnl
+ AC_MSG_RESULT($ac_cv_typedef_$1)
+ if test $ac_cv_typedef_$1 = yes; then
+ AC_DEFINE(HAVE_[]translit($1, [a-z], [A-Z]))
+ fi
+])
+
+dnl # Check for socklen_t
+dnl # configure.in:
+dnl # SA_CHECK_SOCKLENTYPE
+
+AC_DEFUN(SA_CHECK_SOCKLENTYPE,[dnl
+ SA_CHECK_TYPEDEF(socklen_t, sys/socket.h)
+ AC_MSG_CHECKING(for fallback socklen_t)
+ AC_CACHE_VAL(ac_cv_check_socklentype, [
+ if test ".$ac_cv_typedef_socklen_t" = .yes; then
+ ac_cv_check_socklentype='socklen_t'
+ else
+ ac_cv_check_socklentype='int'
+ fi
+ ])
+ AC_MSG_RESULT([$ac_cv_check_socklentype])
+ SA_FALLBACK_SOCKLEN_T="typedef ${ac_cv_check_socklentype} socklen_t;"
+ if test ".$ac_cv_check_socklentype" = ".socklen_t"; then
+ SA_FALLBACK_SOCKLEN_T="/* $SA_FALLBACK_SOCKLEN_T */"
+ fi
+ AC_SUBST(SA_FALLBACK_SOCKLEN_T)
+])
+
+dnl # Check for anything OSSP SA wants to know
+dnl # configure.in:
+dnl # SA_CHECK_ALL
+
+AC_DEFUN(SA_CHECK_ALL,[
# make sure libnsl and libsocket are linked in if they exist
AC_CHECK_LIB(nsl, gethostname)
if test ".`echo $LIBS | grep nsl`" = .; then
@@ -41,5 +92,8 @@
# check for system functions
AC_CHECK_FUNCS(inet_aton inet_pton inet_ntoa inet_ntop snprintf)
+
+ dnl # check for network/socket size type
+ SA_CHECK_SOCKLENTYPE
])
|