$NetBSD: patch-aa,v 1.13 2008/04/24 09:04:56 wiz Exp $

--- Makefile.orig	2007-07-16 20:33:02.000000000 +0200
+++ Makefile
@@ -47,7 +47,6 @@ ifneq ($(findstring dont-optimize,$(MAKE
 #K6OPT  = -DK6OPT
 
 #Tell gcc to optimize the code
-OPTIMIZE+=-O6
 endif
 
 #Overwite config files on "make samples"
@@ -111,31 +110,32 @@ BUSYDETECT+= #-DBUSYDETECT_TONEONLY
 BUSYDETECT+= #-DBUSYDETECT_COMPARE_TONE_AND_SILENCE
 
 ifneq ($(OSARCH),SunOS)
-  ASTLIBDIR=$(INSTALL_PREFIX)/usr/lib/asterisk
-  ASTVARLIBDIR=$(INSTALL_PREFIX)/var/lib/asterisk
-  ASTETCDIR=$(INSTALL_PREFIX)/etc/asterisk
-  ASTSPOOLDIR=$(INSTALL_PREFIX)/var/spool/asterisk
-  ASTLOGDIR=$(INSTALL_PREFIX)/var/log/asterisk
-  ASTHEADERDIR=$(INSTALL_PREFIX)/usr/include/asterisk
-  ASTCONFPATH=$(ASTETCDIR)/asterisk.conf
-  ASTBINDIR=$(INSTALL_PREFIX)/usr/bin
-  ASTSBINDIR=$(INSTALL_PREFIX)/usr/sbin
-  ASTVARRUNDIR=$(INSTALL_PREFIX)/var/run
-  ASTMANDIR=$(INSTALL_PREFIX)/usr/share/man
+ASTLIBDIR = ${PREFIX}/lib/asterisk
+ASTVARLIBDIR = ${PREFIX}/libdata/asterisk
+ASTETCDIR = ${PREFIX}/etc/asterisk
+ASTSPOOLDIR = ${VARBASE}/spool/asterisk
+ASTLOGDIR = ${VARBASE}/log/asterisk
+ASTHEADERDIR = ${PREFIX}/include/asterisk
+ASTCONFPATH = ${PREFIX}/etc/asterisk/asterisk.conf
+ASTBINDIR = ${PREFIX}/bin
+ASTSBINDIR = ${PREFIX}/sbin
+ASTVARRUNDIR = ${VARBASE}/run
+ASTMANDIR = ${PREFIX}/man
+  ASTEXAMPLEDIR?=${PREFIX}/share/examples/asterisk
   MODULES_DIR=$(ASTLIBDIR)/modules
   AGI_DIR=$(ASTVARLIBDIR)/agi-bin
 else
-  ASTLIBDIR=$(INSTALL_PREFIX)/opt/asterisk/lib
-  ASTVARLIBDIR=$(INSTALL_PREFIX)/var/opt/asterisk/lib
-  ASTETCDIR=$(INSTALL_PREFIX)/etc/opt/asterisk
-  ASTSPOOLDIR=$(INSTALL_PREFIX)/var/opt/asterisk/spool
-  ASTLOGDIR=$(INSTALL_PREFIX)/var/opt/asterisk/log
-  ASTHEADERDIR=$(INSTALL_PREFIX)/opt/asterisk/usr/include/asterisk
-  ASTCONFPATH=$(ASTETCDIR)/asterisk.conf
-  ASTBINDIR=$(INSTALL_PREFIX)/opt/asterisk/usr/bin
-  ASTSBINDIR=$(INSTALL_PREFIX)/opt/asterisk/usr/sbin
-  ASTVARRUNDIR=$(INSTALL_PREFIX)/var/opt/asterisk/run
-  ASTMANDIR=$(INSTALL_PREFIX)/opt/asterisk/usr/share/man
+ASTLIBDIR = ${PREFIX}/lib/asterisk
+ASTVARLIBDIR = ${PREFIX}/libdata/asterisk
+ASTETCDIR = ${PREFIX}/etc/asterisk
+ASTSPOOLDIR = ${VARBASE}/spool/asterisk
+ASTLOGDIR = ${VARBASE}/log/asterisk
+ASTHEADERDIR = ${PREFIX}/include/asterisk
+ASTCONFPATH = ${PREFIX}/etc/asterisk/asterisk.conf
+ASTBINDIR = ${PREFIX}/bin
+ASTSBINDIR = ${PREFIX}/sbin
+ASTVARRUNDIR = ${VARBASE}/run
+ASTMANDIR = ${PREFIX}/man
   MODULES_DIR=$(ASTLIBDIR)/modules
   AGI_DIR=$(ASTVARLIBDIR)/agi-bin
 endif
@@ -231,10 +231,14 @@ ASTCFLAGS+=$(OPTIMIZE)
 ASTOBJ=-o asterisk
 
 ifeq ($(findstring BSD,$(OSARCH)),BSD)
-  PROC=$(shell uname -m)
+  PROC=$(shell uname -p)
   ASTCFLAGS+=-I$(CROSS_COMPILE_TARGET)/usr/local/include -L$(CROSS_COMPILE_TARGET)/usr/local/lib
 endif
 
+ifeq ($(OSARCH),DragonFly)
+  PROC=$(shell uname -p)
+endif
+
 ifneq ($(PROC),ultrasparc)
   ASTCFLAGS+=$(shell if $(CC) -march=$(PROC) -S -o /dev/null -xc /dev/null >/dev/null 2>&1; then echo "-march=$(PROC)"; fi)
 endif
@@ -262,24 +266,24 @@ ifeq ($(OSARCH),FreeBSD)
 
   # XXX FreeBSD paths
   PREFIX?=/usr/local
-  ASTLIBDIR=$(INSTALL_PREFIX)$(PREFIX)/lib/asterisk
-  ASTVARLIBDIR=$(INSTALL_PREFIX)$(PREFIX)/share/asterisk
-  ASTETCDIR=$(INSTALL_PREFIX)$(PREFIX)/etc/asterisk
-  ASTSPOOLDIR=$(INSTALL_PREFIX)/var/spool/asterisk
-  ASTLOGDIR=$(INSTALL_PREFIX)/var/log/asterisk
-  ASTHEADERDIR=$(INSTALL_PREFIX)$(PREFIX)/include/asterisk
-  ASTCONFPATH=$(ASTETCDIR)/asterisk.conf
-  ASTBINDIR=$(INSTALL_PREFIX)$(PREFIX)/bin
-  ASTSBINDIR=$(INSTALL_PREFIX)$(PREFIX)/sbin
-  ASTVARRUNDIR=$(INSTALL_PREFIX)/var/run
-  ASTMANDIR=$(INSTALL_PREFIX)$(PREFIX)/man
+ASTLIBDIR = ${PREFIX}/lib/asterisk
+ASTVARLIBDIR = ${PREFIX}/libdata/asterisk
+ASTETCDIR = ${PREFIX}/etc/asterisk
+ASTSPOOLDIR = ${VARBASE}/spool/asterisk
+ASTLOGDIR = ${VARBASE}/log/asterisk
+ASTHEADERDIR = ${PREFIX}/include/asterisk
+ASTCONFPATH = ${PREFIX}/etc/asterisk/asterisk.conf
+ASTBINDIR = ${PREFIX}/bin
+ASTSBINDIR = ${PREFIX}/sbin
+ASTVARRUNDIR = ${VARBASE}/run
+ASTMANDIR = ${PREFIX}/man
   # XXX end FreeBSD paths
 
 endif # FreeBSD
 
 ifeq ($(OSARCH),NetBSD)
   ASTCFLAGS+=-pthread
-  INCLUDE+=-I$(CROSS_COMPILE_TARGET)/usr/pkg/include
+  INCLUDE+=-I${PREFIX}/include
   MPG123TARG=netbsd
 endif
 
@@ -301,7 +305,7 @@ ifeq ($(findstring CYGWIN,$(OSARCH)),CYG
   ASTOBJ=-shared -o asterisk.dll -Wl,--out-implib=libasterisk.dll.a -Wl,--export-all-symbols
   ASTLINK=
   LIBS+=-lpthread -lncurses -lm -lresolv
-  ASTSBINDIR=$(MODULES_DIR)
+ASTSBINDIR = ${PREFIX}/sbin
   PROC=$(shell uname -m)
 endif
 
@@ -382,7 +386,8 @@ ifeq ($(OSARCH),Darwin)
   AUDIO_LIBS=-framework CoreAudio
   ASTLINK=-Wl,-dynamic
   SOLINK=-dynamic -bundle -undefined suppress -force_flat_namespace
-  OBJS+= poll.o
+  OBJS+=dlfcn.o
+  OBJS+=$(shell if [ -e /usr/include/sys/poll.h ]; then echo -n "" ; else echo poll.o; fi)
   ASTCFLAGS+=-DPOLLCOMPAT
 else
 #These are used for all but Darwin
@@ -394,8 +399,12 @@ ifeq ($(OSARCH),FreeBSD)
   LIBS+=-lcrypto
 endif
 
+ifeq ($(OSARCH),DragonFly)
+  LIBS+=-lcrypto -pthread
+endif
+
 ifeq ($(OSARCH),NetBSD)
-  LIBS+=-lpthread -lcrypto -lm -L$(CROSS_COMPILE_TARGET)/usr/pkg/lib -lncurses
+  LIBS+=-lpthread -lcrypto -lm -L${PREFIX}/lib -R${PREFIX}/lib -lncurses
 endif
 
 ifeq ($(OSARCH),OpenBSD)
@@ -551,7 +560,7 @@ clean:
 	$(MAKE) -C stdtime clean
 
 datafiles: all
-	if [ x`$(ID) -un` = xroot ]; then sh mkpkgconfig $(DESTDIR)/usr/lib/pkgconfig; fi
+	sh mkpkgconfig $(DESTDIR)${PREFIX}/lib/pkgconfig
 	mkdir -p $(DESTDIR)$(ASTVARLIBDIR)/sounds/digits
 	mkdir -p $(DESTDIR)$(ASTVARLIBDIR)/sounds/silence
 	mkdir -p $(DESTDIR)$(ASTVARLIBDIR)/sounds/priv-callerintros
@@ -651,7 +660,7 @@ bininstall: all
 	mkdir -p $(DESTDIR)$(ASTSPOOLDIR)/tmp
 	mkdir -p $(DESTDIR)$(ASTSPOOLDIR)/meetme
 	mkdir -p $(DESTDIR)$(ASTSPOOLDIR)/monitor
-	if [ -f asterisk ]; then $(INSTALL) -m 755 asterisk $(DESTDIR)$(ASTSBINDIR)/; fi
+	if [ -f asterisk ]; then $(BSD_INSTALL_PROGRAM) asterisk $(DESTDIR)$(ASTSBINDIR)/; fi
 	if [ -f cygwin/asterisk.exe ]; then $(INSTALL) -m 755 cygwin/asterisk.exe $(DESTDIR)$(ASTSBINDIR)/; fi
 	if [ -f asterisk.dll ]; then $(INSTALL) -m 755 asterisk.dll $(DESTDIR)$(ASTSBINDIR)/; fi
 	$(LN) -sf asterisk $(DESTDIR)$(ASTSBINDIR)/rasterisk
@@ -740,31 +749,31 @@ install: all datafiles bininstall instal
 upgrade: all bininstall
 
 adsi:
-	mkdir -p $(DESTDIR)$(ASTETCDIR)
+	mkdir -p $(DESTDIR)$(ASTEXAMPLEDIR)
 	for x in configs/*.adsi; do \
-		if [ ! -f $(DESTDIR)$(ASTETCDIRX)/$$x ]; then \
-			$(INSTALL) -m 644 $$x $(DESTDIR)$(ASTETCDIR)/`basename $$x` ; \
+		if ! [ -f $(DESTDIR)$(ASTEXAMPLEDIR)/$$x ]; then \
+			$(INSTALL) -m 644 $$x $(DESTDIR)$(ASTEXAMPLEDIR)/`basename $$x` ; \
 		fi ; \
 	done
 
 samples: adsi
-	mkdir -p $(DESTDIR)$(ASTETCDIR)
+	mkdir -p $(DESTDIR)$(ASTEXAMPLEDIR)
 	for x in configs/*.sample; do \
-		if [ -f $(DESTDIR)$(ASTETCDIR)/`basename $$x .sample` ]; then \
+		if [ -f $(DESTDIR)$(ASTEXAMPLEDIR)/`basename $$x .sample` ]; then \
 			if [ "$(OVERWRITE)" = "y" ]; then \
-				if cmp -s $(DESTDIR)$(ASTETCDIR)/`basename $$x .sample` $$x ; then \
+				if cmp -s $(DESTDIR)$(ASTEXAMPLEDIR)/`basename $$x .sample` $$x ; then \
 					echo "Config file $$x is unchanged"; \
 					continue; \
 				fi ; \
-				mv -f $(DESTDIR)$(ASTETCDIR)/`basename $$x .sample` $(DESTDIR)$(ASTETCDIR)/`basename $$x .sample`.old ; \
+				mv -f $(DESTDIR)$(ASTEXAMPLEDIR)/`basename $$x .sample` $(DESTDIR)$(ASTEXAMPLEDIR)/`basename $$x .sample`.old ; \
 			else \
 				echo "Skipping config file $$x"; \
 				continue; \
 			fi ;\
 		fi ; \
-		$(INSTALL) -m 644 $$x $(DESTDIR)$(ASTETCDIR)/`basename $$x .sample` ;\
+		$(INSTALL) -m 644 $$x $(DESTDIR)$(ASTEXAMPLEDIR)/`basename $$x .sample` ;\
 	done
-	if [ "$(OVERWRITE)" = "y" ] || [ ! -f $(DESTDIR)$(ASTCONFPATH) ]; then \
+	if [ "$(OVERWRITE)" = "y" ] || [ ! -f $(DESTDIR)$(ASTEXAMPLEDIR)/asterisk.conf ]; then \
 		( \
 		echo "[directories]" ; \
 		echo "astetcdir => $(ASTETCDIR)" ; \
@@ -781,7 +790,7 @@ samples: adsi
 		echo ";astctlowner = root" ; \
 		echo ";astctlgroup = apache" ; \
 		echo ";astctl = asterisk.ctl" ; \
-		) > $(DESTDIR)$(ASTCONFPATH) ; \
+		) > $(DESTDIR)$(ASTEXAMPLEDIR)/asterisk.conf ; \
 	else \
 		echo "Skipping asterisk.conf creation"; \
 	fi