diff options
author | Tzafrir Cohen <tzafrir.cohen@xorcom.com> | 2010-08-15 13:08:45 +0000 |
---|---|---|
committer | Tzafrir Cohen <tzafrir.cohen@xorcom.com> | 2010-08-15 13:08:45 +0000 |
commit | 4a8fdd6aa1bff7e2d5f452e3465d242eeb7981b1 (patch) | |
tree | 032ed446ea3856ef45e8e947ba0b9943c25ce2de /main | |
parent | 557ad25f0773ae488497562a1a2d5699d7c3e9c3 (diff) |
Support for GNU/kFreeBSD
kFreeBSD is GNU (with glibc) on to of a FreeBSD kernel. See
http://glibc-bsd.alioth.debian.org/porting/PORTING
This patch gets Asterisk close to building on Debian kFreeBSD i386,
mainly by adding an extra test for __GLIBC__ in one or two (or more)
places.
OSARCH is set to 'kfreebsd-gnu'
DAHDI support (and support for chan_vpb) was not tested.
Review: https://reviewboard.asterisk.org/r/858/
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@282397 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'main')
-rw-r--r-- | main/Makefile | 2 | ||||
-rw-r--r-- | main/acl.c | 6 | ||||
-rw-r--r-- | main/netsock.c | 4 |
3 files changed, 7 insertions, 5 deletions
diff --git a/main/Makefile b/main/Makefile index af294dda6..0bb7c97c0 100644 --- a/main/Makefile +++ b/main/Makefile @@ -34,7 +34,7 @@ AST_LIBS += $(OPENSSL_LIB) AST_LIBS += $(BKTR_LIB) AST_LIBS += $(LIBXML2_LIB) -ifneq ($(findstring $(OSARCH), linux-gnu uclinux linux-uclibc linux-gnueabi ),) +ifneq ($(findstring $(OSARCH), linux-gnu uclinux linux-uclibc linux-gnueabi kfreebsd-gnu),) ifneq ($(findstring LOADABLE_MODULES,$(MENUSELECT_CFLAGS)),) AST_LIBS+=-ldl endif diff --git a/main/acl.c b/main/acl.c index 4ab102736..278647be8 100644 --- a/main/acl.c +++ b/main/acl.c @@ -123,7 +123,7 @@ static int get_local_address(struct ast_sockaddr *ourip) char *buf = NULL; int bufsz, x; #endif /* SOLARIS */ -#if defined(__OpenBSD__) || defined(__NetBSD__) || defined(__FreeBSD__) || defined(__linux__) || defined(__Darwin__) +#if defined(__OpenBSD__) || defined(__NetBSD__) || defined(__FreeBSD__) || defined(__linux__) || defined(__Darwin__) || defined(__GLIBC__) struct ifaddrs *ifap, *ifaphead; int rtnerr; const struct sockaddr_in *sin; @@ -132,7 +132,7 @@ static int get_local_address(struct ast_sockaddr *ourip) int best_score = -100; memset(&best_addr, 0, sizeof(best_addr)); -#if defined(__OpenBSD__) || defined(__NetBSD__) || defined(__FreeBSD__) || defined(__linux__) || defined(__Darwin__) +#if defined(__OpenBSD__) || defined(__NetBSD__) || defined(__FreeBSD__) || defined(__linux__) || defined(__Darwin__) || defined(__GLIBC__) rtnerr = getifaddrs(&ifaphead); if (rtnerr) { perror(NULL); @@ -143,7 +143,7 @@ static int get_local_address(struct ast_sockaddr *ourip) s = socket(AF_INET, SOCK_STREAM, 0); if (s > 0) { -#if defined(__OpenBSD__) || defined(__NetBSD__) || defined(__FreeBSD__) || defined(__linux__) || defined(__Darwin__) +#if defined(__OpenBSD__) || defined(__NetBSD__) || defined(__FreeBSD__) || defined(__linux__) || defined(__Darwin__) || defined(__GLIBC__) for (ifap = ifaphead; ifap; ifap = ifap->ifa_next) { if (ifap->ifa_addr && ifap->ifa_addr->sa_family == AF_INET) { diff --git a/main/netsock.c b/main/netsock.c index e4cfb3bd3..b6dfc6e9c 100644 --- a/main/netsock.c +++ b/main/netsock.c @@ -29,9 +29,11 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$") -#if defined(__OpenBSD__) || defined(__NetBSD__) || defined(__FreeBSD__) || defined(__Darwin__) +#ifndef __linux__ +#if defined(__OpenBSD__) || defined(__NetBSD__) || defined(__FreeBSD__) || defined(__Darwin__) || defined(__GLIBC__) #include <net/if_dl.h> #endif +#endif #if defined (SOLARIS) #include <sys/sockio.h> |