1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-28 07:21:54 +03:00
samba-mirror/source4/lib/socket/SConscript
Jelmer Vernooij 5058f4b9e8 r10586: Add MergedObject() builder. Default to Library() rather
then StaticLibrary()
(This used to be commit b53313dc51)
2007-10-10 13:39:08 -05:00

65 lines
1.5 KiB
Python

#!/usr/bin/env python
Import('hostenv defines')
if hostenv['configure']:
conf = hostenv.Configure()
for h in ['sys/socket.h','sys/sockio.h','sys/un.h']:
if conf.CheckCHeader(h):
defines['HAVE_' + h.upper().replace('/','_').replace('.','_')] = 1
#HAVE_SOCK_SIN_LEN
conf.TryCompile("""
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
int main(void)
{
struct sockaddr_in sock; sock.sin_len = sizeof(sock);
return 0;
}""", '.c')
#HAVE_UNIXSOCKET
conf.TryCompile("""
#include <sys/types.h>
#include <stdlib.h>
#include <stddef.h>
#include <sys/socket.h>
#include <sys/un.h>],
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.Library('socket_ipv4.c')
hostenv.Library('socket_ipv6.c')
hostenv.Library('socket_unix.c')
hostenv.Library('socket', ['socket.c','access.c','connect.c'])