From 4be0ae794e4af2354d678fddd7bf1e822ffa9148 Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Fri, 23 Sep 2005 16:32:52 +0000 Subject: r10456: More SCons fixes: - Add framework for fallback generating code - Move pread / pwrite replacement functions to libreplace - Support pidl builds correctly - Support asn1 builds correctly - Move OS-specific checks to lib/replace/SConscript (This used to be commit fbbfad0a1f7dedbf48e835a864f8285f283d72f3) --- source4/lib/socket/SConscript | 59 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) (limited to 'source4/lib/socket/SConscript') diff --git a/source4/lib/socket/SConscript b/source4/lib/socket/SConscript index db449592c2..c4e791467a 100644 --- a/source4/lib/socket/SConscript +++ b/source4/lib/socket/SConscript @@ -1,5 +1,64 @@ +#!/usr/bin/env python Import('hostenv') + +if hostenv['configure']: + conf = hostenv.Configure() + conf.CheckCHeader('sys/socket.h') + conf.CheckCHeader('sys/sockio.h') + conf.CheckCHeader('sys/un.h') + #HAVE_SOCK_SIN_LEN + conf.TryCompile(""" +#include +#include +#include + +int main(void) +{ + struct sockaddr_in sock; sock.sin_len = sizeof(sock); + return 0; +}""", '.c') + + #HAVE_UNIXSOCKET + conf.TryCompile(""" +#include +#include +#include +#include +#include ], + +int main(void) +{ + struct sockaddr_un sunaddr; + sunaddr.sun_family = AF_UNIX; + return 0; +}""", '.c') + + # HAVE_IPV6 + conf.CheckFunc('gethostbyname2') + + # The following test taken from the cvs sources + # If we can't find connect, try looking in -lsocket, -lnsl, and -linet. + # The Irix 5 libc.so has connect and gethostbyname, but Irix 5 also has + # libsocket.so which has a bad implementation of gethostbyname (it + # only looks in /etc/hosts), so we only look for -lsocket if we need + # it. + + connect_libs = [] + + if not conf.CheckFunc('connect'): + for l in ['nsl_s','nsl','socket','inet']: + if conf.CheckLib(l, 'connect'): + connect_libs.append(l) + break + + # HAVE_WORKING_AF_LOCAL + # FIXME: Try compiling build/tests/unixsock.c + + + conf.Finish() + hostenv.StaticLibrary('socket_ipv4.c') hostenv.StaticLibrary('socket_ipv6.c') hostenv.StaticLibrary('socket_unix.c') hostenv.StaticLibrary('socket', ['socket.c','access.c','connect.c']) + -- cgit