From aab531317d74943a55fadda09c2d53dfa6692172 Mon Sep 17 00:00:00 2001 From: Nicolas Thill Date: Sat, 3 Oct 2009 23:29:30 +0000 Subject: [PATCH 1/1] [packages] add kamailio (former openser) SVN-Revision: 17841 --- net/kamailio/Makefile | 264 +++++++++++++++++++ net/kamailio/files/kamailio.default | 13 + net/kamailio/files/kamailio.init | 19 ++ net/kamailio/patches/005-config_h.patch | 20 ++ net/kamailio/patches/007-modules_build.patch | 137 ++++++++++ 5 files changed, 453 insertions(+) create mode 100644 net/kamailio/Makefile create mode 100644 net/kamailio/files/kamailio.default create mode 100755 net/kamailio/files/kamailio.init create mode 100644 net/kamailio/patches/005-config_h.patch create mode 100644 net/kamailio/patches/007-modules_build.patch diff --git a/net/kamailio/Makefile b/net/kamailio/Makefile new file mode 100644 index 0000000000..dabc66192d --- /dev/null +++ b/net/kamailio/Makefile @@ -0,0 +1,264 @@ +# +# Copyright (C) 2009 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=kamailio +PKG_VERSION:=1.5.2 +PKG_RELEASE:=1 +PKG_VARIANT:=-tls + +PKG_SOURCE_URL:=http://www.kamailio.org/pub/kamailio/1.5.2/src/ +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)$(PKG_VARIANT)_src.tar.gz +PKG_MD5SUM:=26b0d0d3c67c2d981bee86a803cca51f + +PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)$(PKG_VARIANT) + +PKG_BUILD_DEPENDS:=curl expat libxml2 mysql openldap openssl pcre postgresql radiusclient-ng + +include $(INCLUDE_DIR)/package.mk + +define Package/kamailio/Default + SECTION:=net + CATEGORY:=Network + URL:=http://www.kamailio.org/ +endef + + +define Package/kamailio +$(call Package/kamailio/Default) + TITLE:=Mature and flexible open source SIP server + MENU:=1 +endef + +define Package/kamailio-example +$(call Package/kamailio/Default) + TITLE:=Kamailio example config + DEPENDS:=kamailio \ + +kamailio-mod-acc \ + +kamailio-mod-maxfwd \ + +kamailio-mod-mi-fifo \ + +kamailio-mod-pv \ + +kamailio-mod-registrar \ + +kamailio-mod-rr \ + +kamailio-mod-sl \ + +kamailio-mod-siputils \ + +kamailio-mod-textops \ + +kamailio-mod-tm \ + +kamailio-mod-uri-db \ + +kamailio-mod-usrloc \ + +kamailio-mod-xlog +endef + +define Package/kamailio-example/conffiles +/etc/default/kamailio +/etc/kamailio/kamailio.cfg +endef + + +define Package/kamailio-tools +$(call Package/kamailio/Default) + TITLE:=Kamailio control tools + DEPENDS:=kamailio +endef + +define Package/kamailio-tools/conffiles +/etc/kamailio/kamctlrc +endef + + +PKG_EXCL_MODULES:= \ + auth_diameter \ + carrierroute \ + db_berkeley \ + db_oracle \ + db_unixodbc \ + mediaproxy \ + mi_xmlrpc \ + osp \ + perl \ + perlvdb \ + purple \ + snmpstats \ + +PKG_MAKE_ARGS:= \ + cfg-dir="etc/kamailio/" \ + bin-dir="usr/sbin/" \ + data-dir="var/lib/kamailio/" \ + lib-dir="usr/lib/kamailio/" \ + modules-dir="usr/lib/kamailio/modules/" \ + exclude_modules="$(PKG_EXCL_MODULES)" \ + + +define Build/Compile + $(MAKE) -C $(PKG_BUILD_DIR) $(PKG_MAKE_ARGS) \ + prefix=/ \ + extra_defs="-DUSE_PTHREAD_MUTEX " \ + CC="$(TARGET_CC)" \ + ARCH="$(ARCH)" \ + CFLAGS="$(TARGET_CFLAGS)" \ + ISSMP="no" \ + LOCALBASE="$(STAGING_DIR)/usr" \ + SYSBASE="$(STAGING_DIR)/usr" \ + PCREDEFS:="$(TARGET_CPPFLAGS)" \ + PCRELIBS:="$(TARGET_LDFLAGS)" \ + all + $(MAKE) -C $(PKG_BUILD_DIR) $(PKG_MAKE_ARGS) \ + DESTDIR="$(PKG_INSTALL_DIR)" \ + install +endef + +define Package/kamailio/install + $(INSTALL_DIR) $(1)/usr/sbin + $(CP) \ + $(PKG_INSTALL_DIR)/usr/sbin/kamailio \ + $(1)/usr/sbin/ + $(INSTALL_DIR) $(1)/usr/lib/kamailio/modules +endef + +define Package/kamailio-example/install + $(INSTALL_DIR) $(1)/etc/kamailio + $(CP) \ + $(PKG_INSTALL_DIR)/etc/kamailio/kamailio.cfg \ + $(1)/etc/kamailio/ + $(SED) 's,$(PKG_INSTALL_DIR),,g' \ + $(1)/etc/kamailio/kamailio.cfg + $(INSTALL_DIR) $(1)/etc/default + $(INSTALL_DATA) ./files/kamailio.default $(1)/etc/default/kamailio + $(INSTALL_DIR) $(1)/etc/init.d + $(INSTALL_BIN) ./files/kamailio.init $(1)/etc/init.d/kamailio +endef + +define Package/kamailio-tools/install + $(INSTALL_DIR) $(1)/etc/kamailio + $(CP) \ + $(PKG_INSTALL_DIR)/etc/kamailio/kamctlrc \ + $(1)/etc/kamailio/ + $(INSTALL_DIR) $(1)/usr/sbin + $(CP) \ + $(PKG_INSTALL_DIR)/usr/sbin/kam{ctl,dbctl,unix} \ + $(1)/usr/sbin/ + $(INSTALL_DIR) $(1)/usr/lib/kamailio + $(CP) \ + $(PKG_INSTALL_DIR)/usr/lib/kamailio/kamctl \ + $(1)/usr/lib/kamailio/ + $(SED) 's,/bin/bash,/bin/sh,g' \ + -e 's,$(PKG_INSTALL_DIR),,g' \ + $(1)/usr/sbin/kam{ctl,dbctl} +endef + +define BuildPlugin + define Package/kamailio-mod-$(1) + $$(call Package/kamailio/Default) + TITLE:= kamailio $(3) module + DEPENDS:=kamailio $$(foreach m,$(4),+kamailio-mod-$$m) $(5) + endef + + define Package/kamailio-mod-$(1)/install + [ -z "$(2)" ] || $(INSTALL_DIR) $$(1)/usr/lib/kamailio/modules/ + $(CP) $(PKG_INSTALL_DIR)/usr/lib/kamailio/modules/$(2).so \ + $$(1)/usr/lib/kamailio/modules/ ; + endef + + $$(eval $$(call BuildPackage,kamailio-mod-$(1))) +endef + +$(eval $(call BuildPackage,kamailio)) +$(eval $(call BuildPackage,kamailio-example)) +$(eval $(call BuildPackage,kamailio-tools)) +$(eval $(call BuildPlugin,acc,acc,Accounting,tm,)) +$(eval $(call BuildPlugin,alias-db,alias_db,Database-backend aliases,,)) +$(eval $(call BuildPlugin,auth,auth,Authentication Framework,,)) +$(eval $(call BuildPlugin,auth-db,auth_db,Database-backend authentication,auth,)) +#$(eval $(call BuildPlugin,auth-diameter,auth_diameter,Diameter-backend authentication,sl,)) +$(eval $(call BuildPlugin,auth-radius,auth_radius,RADIUS-backend authentication,auth,+libradiusclient-ng)) +$(eval $(call BuildPlugin,avpops,avpops,AVP operation,,)) +$(eval $(call BuildPlugin,benchmark,benchmark,Config benchmark,,)) +#$(eval $(call BuildPlugin,carrierroute,carrierroute,Carrier Routing,,+libconfuse)) +$(eval $(call BuildPlugin,cfgutils,cfgutils,Config utilities,,)) +$(eval $(call BuildPlugin,cpl-c,cpl-c,Call Processing language interpreter,tm sl usrloc,+libxml2)) +#$(eval $(call BuildPlugin,db-berkeley,db_berkeley,Berkeley DB Database-backend,,)) +$(eval $(call BuildPlugin,db-flatstore,db_flatstore,Fast writing-only text database-backed,,)) +$(eval $(call BuildPlugin,db-mysql,db_mysql,MySQL database-backend,,+libmysqlclient)) +#$(eval $(call BuildPlugin,db-oracle,db_oracle,Oracle Database-backend,,)) +$(eval $(call BuildPlugin,db-postgres,db_postgres,PostgreSQL Database-backend,,+libpq)) +$(eval $(call BuildPlugin,db-text,db_text,Text database-backend,,)) +#$(eval $(call BuildPlugin,db-unixodbc,db_unixodbc,UnixODBC Database-backend,,)) +$(eval $(call BuildPlugin,dialog,dialog,Dialog support,rr tm,)) +$(eval $(call BuildPlugin,dialplan,dialplan,Dialplan management,,+libpcre)) +$(eval $(call BuildPlugin,dispatcher,dispatcher,Dispatcher,,)) +$(eval $(call BuildPlugin,diversion,diversion,Diversion header insertion,,)) +$(eval $(call BuildPlugin,domain,domain,Multi-domain support,,)) +$(eval $(call BuildPlugin,domainpolicy,domainpolicy,Domain policy,,)) +$(eval $(call BuildPlugin,enum,enum,ENUM lookup,,)) +$(eval $(call BuildPlugin,exec,exec,External exec,,)) +$(eval $(call BuildPlugin,group,group,Database-backend user-groups,,)) +$(eval $(call BuildPlugin,h350,h350,H.350,ldap,+libopenldap)) +$(eval $(call BuildPlugin,htable,htable,Hash Table,,)) +$(eval $(call BuildPlugin,imc,imc,IM conferencing,db-mysql tm,)) +$(eval $(call BuildPlugin,jabber,jabber,Jabber,tm,+libexpat)) +$(eval $(call BuildPlugin,lcr,lcr,Least Cost Routing,tm,+libpcre)) +$(eval $(call BuildPlugin,ldap,ldap,LDAP connector,,+libopenldap)) +$(eval $(call BuildPlugin,maxfwd,maxfwd,Max-Forward processor,,)) +$(eval $(call BuildPlugin,mi-datagram,mi_datagram,Datagram support for Management Interface,,)) +$(eval $(call BuildPlugin,mi-fifo,mi_fifo,FIFO support for Management Interface,,)) +#$(eval $(call BuildPlugin,mi-xmlrpc,mi_xmlrpc,XML-RPC support for Management Interface,,+xmlrpc-c)) +#$(eval $(call BuildPlugin,mediaproxy,mediaproxy,NAT traversal,,+mediaproxy)) +$(eval $(call BuildPlugin,misc_radius,misc_radius,Generic RADIUS,,+libradiusclient-ng)) +$(eval $(call BuildPlugin,msilo,msilo,SIP message silo,tm,)) +$(eval $(call BuildPlugin,nat_traversal,nat_traversal,NAT traversal,dialog sl tm,)) +$(eval $(call BuildPlugin,nathelper,nathelper,NAT traversal helper,,+rtpproxy)) +#$(eval $(call BuildPlugin,osp,osp,OSP peering,auth rr sl tm textops,+libosp)) +$(eval $(call BuildPlugin,path,path,SIP path insertion,rr,)) +$(eval $(call BuildPlugin,pdt,pdt,Prefix-to-Domain translator,,)) +$(eval $(call BuildPlugin,peering,peering,Perring,,+libradiusclient-ng)) +#$(eval $(call BuildPlugin,perl,perl,Perl,sl,+perl)) +#$(eval $(call BuildPlugin,perlvdb,perlvdb,Perl Virtual DB,perl,)) +$(eval $(call BuildPlugin,permissions,permissions,Permissions control,,)) +$(eval $(call BuildPlugin,pike,pike,Flood detector,,)) +$(eval $(call BuildPlugin,presence,presence,Presence server,sl tm,+libxml2)) +$(eval $(call BuildPlugin,presence-dialoginfo,presence_dialoginfo,Dialog Event presence,presence,)) +$(eval $(call BuildPlugin,presence-mwi,presence_mwi,Message Waiting Indication presence,presence,)) +$(eval $(call BuildPlugin,presence-xml,presence_xml,XCAP presence,presence xcap-client,)) +$(eval $(call BuildPlugin,pua,pua,Presence User Agent,tm,+libxml2)) +$(eval $(call BuildPlugin,pua-bla,pua_bla,Bridged Line Appearence PUA,presence pua usrloc,)) +$(eval $(call BuildPlugin,pua-dialoginfo,pua_dialoginfo,Dialog Event PUA,dialog pua,)) +$(eval $(call BuildPlugin,pua-mi,pua_mi,PUA Management Interface,pua,)) +$(eval $(call BuildPlugin,pua-usrloc,pua_usrloc,PUA User Location,pua usrloc,)) +$(eval $(call BuildPlugin,pua-xmpp,pua_xmpp,PUA XMPP,presence pua xmpp,)) +#$(eval $(call BuildPlugin,purple,purple,Multi-protocol IM gateway,presence pua,+libpurple)) +$(eval $(call BuildPlugin,pv,pv,Pseudo-Variables,,)) +$(eval $(call BuildPlugin,qos,qos,QoS control,dialog,)) +$(eval $(call BuildPlugin,ratelimit,ratelimit,Traffic shapping,,)) +$(eval $(call BuildPlugin,regex,regex,Regular Expression,,+libpcre)) +$(eval $(call BuildPlugin,registrar,registrar,SIP Registrar,usrloc,)) +$(eval $(call BuildPlugin,rls,rls,Resource List Server,presence pua tm,+libxml2)) +$(eval $(call BuildPlugin,rr,rr,Record-Route and Route,,)) +$(eval $(call BuildPlugin,rtimer,rtimer,Routing Timer,,)) +$(eval $(call BuildPlugin,sanity,sanity,SIP sanity checks,sl,)) +#$(eval $(call BuildPlugin,seas,seas,SIP Express Application Server,tm,)) +$(eval $(call BuildPlugin,siptrace,siptrace,SIP trace,,)) +$(eval $(call BuildPlugin,siputils,siputils,SIP utilities,sl,)) +$(eval $(call BuildPlugin,sl,sl,Stateless replier,,)) +$(eval $(call BuildPlugin,sms,sms,SIP-to-SMS IM gateway,tm,)) +#$(eval $(call BuildPlugin,snmpstats,snmpstats,SNMP,presence usrloc,+libnetsnmp)) +$(eval $(call BuildPlugin,speeddial,speeddial,Per-user speed-dial controller,,)) +$(eval $(call BuildPlugin,sqlops,sqlops,SQL operations,,)) +$(eval $(call BuildPlugin,statistics,statistics,Script statistics,,)) +$(eval $(call BuildPlugin,sst,sst,SIP Session Timer,dialog sl,)) +$(eval $(call BuildPlugin,textops,textops,Text operations,,)) +$(eval $(call BuildPlugin,tlsops,tlsops,TLS operations,,+libopenssl)) +$(eval $(call BuildPlugin,tm,tm,Transaction,,)) +$(eval $(call BuildPlugin,uac,uac,User Agent Client,tm,)) +$(eval $(call BuildPlugin,uac-redirect,uac_redirect,User Agent Client redirection,tm,)) +$(eval $(call BuildPlugin,uri-db,uri_db,Database-backend SIP URI checking,,)) +$(eval $(call BuildPlugin,userblacklist,userblacklist,User blacklists,,)) +$(eval $(call BuildPlugin,usrloc,usrloc,User location,,)) +$(eval $(call BuildPlugin,utils,utils,Misc utilities,,+libcurl)) +$(eval $(call BuildPlugin,xcap-client,xcap_client,XCAP Client,,+libcurl)) +$(eval $(call BuildPlugin,xlog,xlog,Advanced logger,,)) +$(eval $(call BuildPlugin,xmpp,xmpp,SIP-to-XMPP Gateway,tm,+libexpat)) diff --git a/net/kamailio/files/kamailio.default b/net/kamailio/files/kamailio.default new file mode 100644 index 0000000000..a61617be47 --- /dev/null +++ b/net/kamailio/files/kamailio.default @@ -0,0 +1,13 @@ +# OPTIONS +# -n COUNT +# Specifies the number of children processes forked per interface +# -N COUNT +# Specifies the number of children processes forked to handle tcp incoming connections +# -m SIZE +# Size of the shared memory which will be allocated (in Megabytes). +# -u UID +# Changes the user id under which +# -g GID +# Changes the group id under which + +OPTIONS="-n 4 -m 4 - m 8" diff --git a/net/kamailio/files/kamailio.init b/net/kamailio/files/kamailio.init new file mode 100755 index 0000000000..1f42a9ee9c --- /dev/null +++ b/net/kamailio/files/kamailio.init @@ -0,0 +1,19 @@ +#!/bin/sh /etc/rc.common +# Copyright (C) 2009 OpenWrt.org +START=50 + +BIN=kamailio +DEFAULT=/etc/default/$BIN +RUN_D=/var/run +PID_F=$RUN_D/$BIN.pid + +start() { + [ -f $DEFAULT ] && . $DEFAULT + mkdir -p $RUN_D + $BIN -P $PID_F $OPTIONS >/dev/null 2>&1 +} + +stop() { + [ -f $PID_F ] && kill $(cat $PID_F) +} + diff --git a/net/kamailio/patches/005-config_h.patch b/net/kamailio/patches/005-config_h.patch new file mode 100644 index 0000000000..a641b3a152 --- /dev/null +++ b/net/kamailio/patches/005-config_h.patch @@ -0,0 +1,20 @@ +--- a/config.h ++++ b/config.h +@@ -48,7 +48,7 @@ + + #define MAX_LISTEN 16 /*!< maximum number of addresses on which we will listen */ + +-#define CHILD_NO 8 /*!< default number of child processes started */ ++#define CHILD_NO 4 /*!< default number of child processes started */ + + #ifndef RT_NO + #define RT_NO 80 /*!< routing tables number */ +@@ -119,7 +119,7 @@ + #define PKG_MEM_POOL_SIZE 4*1024*1024 /*!< Used only if PKG_MALLOC is defined*/ + #endif + +-#define SHM_MEM_SIZE 32 /*!< Used if SH_MEM is defined*/ ++#define SHM_MEM_SIZE 8 /*!< Used if SH_MEM is defined*/ + + #define TIMER_TICK 1 /*!< one second */ + #define UTIMER_TICK 100*1000 /*!< 100 miliseconds*/ diff --git a/net/kamailio/patches/007-modules_build.patch b/net/kamailio/patches/007-modules_build.patch new file mode 100644 index 0000000000..3fac163646 --- /dev/null +++ b/net/kamailio/patches/007-modules_build.patch @@ -0,0 +1,137 @@ +--- a/modules/carrierroute/Makefile ++++ b/modules/carrierroute/Makefile +@@ -12,10 +12,8 @@ NAME=carrierroute.so + BUILDER = $(shell which confuse-config) + + ifeq ($(BUILDER),) +- CONFUSEDEFS=-I$(LOCALBASE)/include -I/usr/local/include -I/opt/include \ +- -I/usr/sfw/include +- CONFUSELIBS=-L$(LOCALBASE)/lib -L/usr/local/lib -L/usr/sfw/lib \ +- -L/opt/lib -lconfuse ++ CONFUSEDEFS=-I$(LOCALBASE)/include ++ CONFUSELIBS=-L$(LOCALBASE)/lib + else + CONFUSEDEFS = $(shell confuse-config --cflags) + CONFUSELIBS = $(shell confuse-config --libs) +--- a/modules/h350/Makefile ++++ b/modules/h350/Makefile +@@ -9,7 +9,8 @@ include ../../Makefile.defs + + auto_gen= + NAME=h350.so +-LIBS= ++ + DEFS+=-I$(LOCALBASE)/include ++LIBS=-L$(LOCALBASE)/lib -lldap + + include ../../Makefile.modules +--- a/modules/ldap/Makefile ++++ b/modules/ldap/Makefile +@@ -12,8 +12,8 @@ include ../../Makefile.defs + auto_gen= + NAME=ldap.so + +-LIBS=-L$(LOCALBASE)/lib -lldap + DEFS+=-I$(LOCALBASE)/include ++LIBS=-L$(LOCALBASE)/lib -lldap + + ifeq ($(OS),solaris) + DEFS+=-I$(LOCALBASE)/include -I/usr/sfw/include -I/usr/local/include -I/opt/sfw/include -I/opt/csw/include +--- a/modules/pua_bla/Makefile ++++ b/modules/pua_bla/Makefile +@@ -9,8 +9,8 @@ include ../../Makefile.defs + auto_gen= + NAME=pua_bla.so + LIBS= +-DEFS+=-I/usr/include/libxml2 -I$(LOCALBASE)/include/libxml2 -I$(LOCALBASE)/include +-LIBS+=-L/usr/include/lib -L$(LOCALBASE)/lib -lxml2 ++DEFS+=-I$(LOCALBASE)/include/libxml2 -I$(LOCALBASE)/include ++LIBS+=-L$(LOCALBASE)/lib -lxml2 + + include ../../Makefile.modules + +--- a/modules/pua_xmpp/Makefile ++++ b/modules/pua_xmpp/Makefile +@@ -10,7 +10,7 @@ auto_gen= + NAME= pua_xmpp.so + LIBS= + +-DEFS+=-I/usr/include/libxml2 -I$(LOCALBASE)/include/libxml2 -I$(LOCALBASE)/include +-LIBS+=-L/usr/include/lib -L$(LOCALBASE)/lib -lxml2 ++DEFS+=-I$(LOCALBASE)/include/libxml2 -I$(LOCALBASE)/include ++LIBS+=-L$(LOCALBASE)/lib -lxml2 + + include ../../Makefile.modules +--- a/modules/regex/Makefile ++++ b/modules/regex/Makefile +@@ -7,10 +7,8 @@ NAME=regex.so + BUILDER = $(shell which pcre-config) + + ifeq ($(BUILDER),) +- PCREDEFS=-I$(LOCALBASE)/include -I/usr/local/include -I/opt/include \ +- -I/usr/sfw/include +- PCRELIBS=-L$(LOCALBASE)/lib -L/usr/local/lib -L/usr/sfw/lib \ +- -L/opt/lib -lpcre ++ PCREDEFS=-I$(LOCALBASE)/include ++ PCRELIBS=-L$(LOCALBASE)/lib -lpcre + else + PCREDEFS = $(shell pcre-config --cflags) + PCRELIBS = $(shell pcre-config --libs) +--- a/modules/tlsops/Makefile ++++ b/modules/tlsops/Makefile +@@ -7,8 +7,8 @@ auto_gen= + NAME=tlsops.so + LIBS= + +-DEFS+= -I$(LOCALBASE)/ssl/include +-LIBS+= -L$(LOCALBASE)/lib -L$(LOCALBASE)/ssl/lib -lssl -lcrypto ++DEFS+= -I$(LOCALBASE)/include ++LIBS+= -L$(LOCALBASE)/lib -lssl -lcrypto + + include ../../Makefile.modules + +--- a/modules/dialplan/Makefile ++++ b/modules/dialplan/Makefile +@@ -9,10 +9,8 @@ NAME=dialplan.so + BUILDER = $(shell which pcre-config) + + ifeq ($(BUILDER),) +- PCREDEFS=-I$(LOCALBASE)/include -I/usr/local/include -I/opt/include \ +- -I/usr/sfw/include +- PCRELIBS=-L$(LOCALBASE)/lib -L/usr/local/lib -L/usr/sfw/lib \ +- -L/opt/lib -lpcre ++ PCREDEFS=-I$(LOCALBASE)/include ++ PCRELIBS=-L$(LOCALBASE)/lib -lpcre + else + PCREDEFS = $(shell pcre-config --cflags) + PCRELIBS = $(shell pcre-config --libs) +--- a/modules/lcr/Makefile ++++ b/modules/lcr/Makefile +@@ -11,10 +11,8 @@ NAME=lcr.so + BUILDER = $(shell which pcre-config) + + ifeq ($(BUILDER),) +- PCREDEFS=-I$(LOCALBASE)/include -I/usr/local/include -I/opt/include \ +- -I/usr/sfw/include +- PCRELIBS=-L$(LOCALBASE)/lib -L/usr/local/lib -L/usr/sfw/lib \ +- -L/opt/lib -lpcre ++ PCREDEFS=-I$(LOCALBASE)/include ++ PCRELIBS=-L$(LOCALBASE)/lib -lpcre + else + PCREDEFS = $(shell pcre-config --cflags) + PCRELIBS = $(shell pcre-config --libs) +--- a/modules/purple/Makefile ++++ b/modules/purple/Makefile +@@ -3,9 +3,9 @@ auto_gen= + NAME=purple.so + LIBS= + +-DEFS+=-I/usr/lib/glib-2.0/include -I/usr/include/glib-2.0 \ +- -I/usr/include/libxml2 +-LIBS+=-lglib-2.0 -lpurple -lxml2 ++DEFS+=-I$(LOCALBASE)/include/glib-2.0/include -I$(LOCALBASE)/include/glib-2.0 \ ++ -I$(LOCALBASE)/incldue/libxml2 ++LIBS+=-L$(LOCALBASE)/lib -lglib-2.0 -lpurple -lxml2 + + + include ../../Makefile.modules -- 2.30.2