diff --git a/Makefile b/Makefile index 36a7457..96afc7b 100755 --- a/Makefile +++ b/Makefile @@ -27,6 +27,8 @@ # Uncomment if you want libpri to count number of Q921/Q931 sent/received #LIBPRI_COUNTERS=-DLIBPRI_COUNTERS +CC=gcc + OSARCH=$(shell uname -s) PROC=$(shell uname -m) @@ -38,6 +40,7 @@ STATIC_OBJS=pri.o q921.o prisched.o q931.o pri_facility.o DYNAMIC_OBJS=pri.lo q921.lo prisched.lo q931.lo pri_facility.lo CFLAGS=-Wall -Werror -Wstrict-prototypes -Wmissing-prototypes -g $(ALERTING) $(LIBPRI_COUNTERS) INSTALL_PREFIX= +INSTALL_BASE=/usr ifeq (${OSARCH},Linux) LDCONFIG_FLAGS=-n else @@ -46,6 +49,15 @@ LDCONFIG_FLAGS=-m CFLAGS += -I../zaptel -I../zapata endif endif +ifeq (${OSARCH},SunOS) +CFLAGS += -DSOLARIS -I../zaptel-solaris -lsocket -lnsl +SOFLAGS = +LDCONFIG = echo +INSTALL_BASE = /usr/local +else +SOFLAGS = -Wl,-soname,libpri.so.1 +LDCONFIG = /sbin/ldconfig +endif #The problem with sparc is the best stuff is in newer versions of gcc (post 3.0) only. #This works for even old (2.96) versions of gcc and provides a small boost either way. @@ -62,20 +74,20 @@ update: @cvs update -d install: $(STATIC_LIBRARY) $(DYNAMIC_LIBRARY) - mkdir -p $(INSTALL_PREFIX)/usr/lib - mkdir -p $(INSTALL_PREFIX)/usr/include - install -m 644 libpri.h $(INSTALL_PREFIX)/usr/include - install -m 755 $(DYNAMIC_LIBRARY) $(INSTALL_PREFIX)/usr/lib - ( cd $(INSTALL_PREFIX)/usr/lib ; ln -sf libpri.so.1 libpri.so ) - install -m 644 $(STATIC_LIBRARY) $(INSTALL_PREFIX)/usr/lib - /sbin/ldconfig + mkdir -p $(INSTALL_PREFIX)/$(INSTALL_BASE)/lib + mkdir -p $(INSTALL_PREFIX)/$(INSTALL_BASE)/include + install -m 644 libpri.h $(INSTALL_PREFIX)/$(INSTALL_BASE)/include + install -m 755 $(DYNAMIC_LIBRARY) $(INSTALL_PREFIX)/$(INSTALL_BASE)/lib + ( cd $(INSTALL_PREFIX)/$(INSTALL_BASE)/lib ; ln -sf libpri.so.1 libpri.so ) + install -m 644 $(STATIC_LIBRARY) $(INSTALL_PREFIX)/$(INSTALL_BASE)/lib + $(LDCONFIG) uninstall: @echo "Removing Libpri" - rm -f $(INSTALL_PREFIX)/usr/lib/libpri.so.1.0 - rm -f $(INSTALL_PREFIX)/usr/lib/libpri.so - rm -f $(INSTALL_PREFIX)/usr/lib/libpri.a - rm -f $(INSTALL_PREFIX)/usr/include/libpri.h + rm -f $(INSTALL_PREFIX)/$(INSTALL_BASE)/lib/libpri.so.1.0 + rm -f $(INSTALL_PREFIX)/$(INSTALL_BASE)/lib/libpri.so + rm -f $(INSTALL_PREFIX)/$(INSTALL_BASE)/lib/libpri.a + rm -f $(INSTALL_PREFIX)/$(INSTALL_BASE)/include/libpri.h pritest: pritest.o $(CC) -o pritest pritest.o -L. -lpri -lzap $(CFLAGS) @@ -99,8 +111,8 @@ $(STATIC_LIBRARY): $(STATIC_OBJS) ranlib $(STATIC_LIBRARY) $(DYNAMIC_LIBRARY): $(DYNAMIC_OBJS) - $(CC) -shared -Wl,-soname,libpri.so.1 -o $@ $(DYNAMIC_OBJS) - /sbin/ldconfig $(LDCONFIG_FLAGS) . + $(CC) -shared $(SOFLAGS) -o $@ $(DYNAMIC_OBJS) + $(LDCONFIG) $(LDCONFIG_FLAGS) . ln -sf libpri.so.1 libpri.so clean: diff --git a/compat.h b/compat.h new file mode 100755 index 0000000..1cbb8fb --- /dev/null +++ b/compat.h @@ -0,0 +1,10 @@ +#ifndef __COMPAT_H +#define __COMPAT_H + +#ifdef SOLARIS +typedef unsigned char u_int8_t; +typedef unsigned short u_int16_t; +typedef unsigned int u_int32_t; +#endif + +#endif diff --git a/mkdep b/mkdep index 94e6e48..3f30b51 100755 --- a/mkdep +++ b/mkdep @@ -1,4 +1,4 @@ -#!/bin/sh - +#!/bin/bash - # # $OpenBSD: mkdep.gcc.sh,v 1.8 1998/09/02 06:40:07 deraadt Exp $ # $NetBSD: mkdep.gcc.sh,v 1.9 1994/12/23 07:34:59 jtc Exp $ diff --git a/pri.c b/pri.c index 17c4e91..0af67dd 100755 --- a/pri.c +++ b/pri.c @@ -19,6 +19,7 @@ #include #include #include +#include "compat.h" #include "libpri.h" #include "pri_internal.h" #include "pri_q921.h" diff --git a/pri_facility.c b/pri_facility.c index 2d38c16..7faf70d 100755 --- a/pri_facility.c +++ b/pri_facility.c @@ -6,6 +6,7 @@ Copyright (C) 2004 Digium, Inc */ +#include "compat.h" #include "libpri.h" #include "pri_internal.h" #include "pri_q921.h" diff --git a/q921.c b/q921.c index c29e215..6c3efdd 100755 --- a/q921.c +++ b/q921.c @@ -27,6 +27,7 @@ #include #include #include +#include "compat.h" #include "libpri.h" #include "pri_internal.h" #include "pri_q921.h" diff --git a/q931.c b/q931.c index ce2962d..0e46488 100755 --- a/q931.c +++ b/q931.c @@ -22,6 +22,7 @@ * */ +#include "compat.h" #include "libpri.h" #include "pri_internal.h" #include "pri_q921.h" diff --git a/testprilib.c b/testprilib.c index 847e790..b27cc53 100755 --- a/testprilib.c +++ b/testprilib.c @@ -44,14 +44,20 @@ #include #if defined(__linux__) #include -#elif defined(__FreeBSD__) +#elif defined(__FreeBSD__) || defined(SOLARIS) #include #endif +#ifndef SOLARIS #include +#endif #include #include #include "libpri.h" +#ifndef AF_LOCAL +#define AF_LOCAL AF_UNIX +#endif + #define DEBUG_LEVEL PRI_DEBUG_ALL #define PRI_DEF_NODETYPE PRI_CPE