OSSP CVS Repository

ossp - ossp-pkg/sa/sa.ac 1.9
Not logged in
[Honeypot]  [Browse]  [Directory]  [Home]  [Login
[Reports]  [Search]  [Ticket]  [Timeline
  [Raw

ossp-pkg/sa/sa.ac 1.9
dnl ##
dnl ##  SA - OSSP Socket Abstraction Library
dnl ##  Copyright (c) 2001-2002 Ralf S. Engelschall <rse@engelschall.com>
dnl ##  Copyright (c) 2001-2002 The OSSP Project <http://www.ossp.org/>
dnl ##  Copyright (c) 2001-2002 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 ##

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]), 1, [Define to 1 if $1 exists])
    fi
])

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
        AC_CHECK_LIB(nsl, gethostbyname)
    fi  
    AC_CHECK_LIB(socket, accept)

    #   make sure some platforms find their IPv6 library
    AC_CHECK_LIB(inet6, getaddrinfo)
    
    #   check for system headers
    AC_CHECK_HEADERS(string.h sys/types.h sys/socket.h netdb.h netinet/in.h)

    #   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_TYPEDEF(socklen_t, sys/socket.h)
    SA_CHECK_TYPEDEF(ssize_t, sys/types.h)
])


CVSTrac 2.0.1