提交 98bba8b5 authored 作者: Chris Rienzo's avatar Chris Rienzo

mod_mongo: switched from C++ to latest C driver

上级 c7bd862e
include $(top_srcdir)/build/modmake.rulesam
AUTOMAKE_OPTIONS += foreign
MODNAME=mod_mongo
MONGO_CXX_DRIVER_VERSION=v2.4
MONGO_CXX_DRIVER_URL=http://downloads.mongodb.org/cxx-driver
MONGO_CXX_DRIVER_TARBALL=mongodb-linux-x86_64-$(MONGO_CXX_DRIVER_VERSION)-latest.tgz
MONGO_CXX_DRIVER_SRC=$(switch_builddir)/libs/mongo-cxx-driver-$(MONGO_CXX_DRIVER_VERSION)
LIBMONGOCLIENT_A =$(MONGO_CXX_DRIVER_SRC)/libmongoclient.a
MONGOC=mongo-c-driver-0.92.2
MONGOC_DIR=$(switch_srcdir)/libs/$(MONGOC)
MONGOC_BUILDDIR=$(switch_builddir)/libs/$(MONGOC)
MONGOC_LA=$(MONGOC_BUILDDIR)/libmongoc-priv.la
mod_LTLIBRARIES = mod_mongo.la
mod_mongo_la_SOURCES = mod_mongo.cpp
mod_mongo_la_CFLAGS = $(AM_CFLAGS)
mod_mongo_la_CPPFLAGS = -I$(MONGO_CXX_DRIVER_SRC)/src -I$(switch_srcdir)/libs/libteletone/src/
mod_mongo_la_LIBADD = $(switch_builddir)/libfreeswitch.la $(LIBMONGOCLIENT_A)
mod_mongo_la_LDFLAGS = -avoid-version -module -no-undefined -shared -lboost_thread -lboost_filesystem-mt -lboost_system-mt
mod_mongo_la_SOURCES = mod_mongo.c
mod_mongo_la_CFLAGS = $(AM_CFLAGS) -I$(MONGOC_DIR)/src/mongoc/ -I$(MONGOC_DIR)/src/libbson/src/bson/
mod_mongo_la_CPPFLAGS = $(AM_CPPFLAGS)
mod_mongo_la_LIBADD = $(switch_builddir)/libfreeswitch.la $(MONGOC_LA)
mod_mongo_la_LDFLAGS = -avoid-version -module -no-undefined -shared
BUILT_SOURCES=$(LIBMONGOCLIENT_A)
BUILT_SOURCES=$(MONGOC_LA)
$(MONGO_CXX_DRIVER_SRC):
$(GETLIB) $(MONGO_CXX_DRIVER_URL) $(MONGO_CXX_DRIVER_TARBALL)
cd $(MONGO_CXX_DRIVER_SRC) && patch -p0 -i $(switch_srcdir)/src/mod/applications/mod_mongo/fpic_hack.diff
$(MONGOC_DIR)/configure:
$(GETLIB) $(MONGOC).tar.gz
sed -i'' -e 's/cruT/cru/' $(MONGOC_DIR)/configure
sed -i'' -e 's/cruT/cru/' $(MONGOC_DIR)/build/autotools/SetupLibtool.m4
sed -i'' -e 's/cruT/cru/' $(MONGOC_DIR)/src/libbson/configure
sed -i'' -e 's/cruT/cru/' $(MONGOC_DIR)/src/libbson/build/autotools/SetupLibtool.m4
cd $(MONGOC_DIR) && autoreconf -i
$(TOUCH_TARGET)
$(MONGOC_BUILDDIR)/Makefile: $(MONGOC_DIR)/configure
mkdir -p $(MONGOC_BUILDDIR)
cd $(MONGOC_BUILDDIR) && $(DEFAULT_VARS) $(MONGOC_DIR)/configure $(DEFAULT_ARGS)
$(TOUCH_TARGET)
$(LIBMONGOCLIENT_A): $(MONGO_CXX_DRIVER_SRC)
(cd $(MONGO_CXX_DRIVER_SRC) && \
sed -i'' SConstruct -e "s|Environment()|Environment(ENV = {'PATH' : os.environ.get('PATH','/bin:/usr/bin'),'CFLAGS' : os.environ.get('CFLAGS',''),'CXXFLAGS' : os.environ.get('CXXFLAGS','')})|" && \
echo "env.Append(PATH=os.environ.get('PATH','/bin:/usr/bin'))" >> SConstruct && \
scons)
$(MONGOC_LA): $(MONGOC_BUILDDIR)/Makefile
cd $(MONGOC_BUILDDIR) && $(MAKE)
$(TOUCH_TARGET)
......@@ -2,14 +2,9 @@
<settings>
<!--
connection-string handles different ways to connect to mongo
samples:
server:port
foo/server:port,server:port SET
mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]
-->
<param name="connection-string" value="127.0.0.1:27017"/>
<param name="max-connections" value="100"/>
<!-- Timeout in seconds. 0 means no timeout -->
<param name="socket-timeout" value="0"/>
<param name="connection-string" value="mongodb://127.0.0.1:27017/?connectTimeoutMS=5000"/>
<!--
<param name="map" value="function() { emit(this.a, 1); }"/>
......
--- SConstruct 2013-10-30 17:18:51.160645496 -0400
+++ new 2013-10-30 17:22:18.790072856 -0400
@@ -78,7 +78,7 @@
env['DIST_ARCHIVE_SUFFIX'] = '.tgz'
if nix:
- env.Append(CCFLAGS=["-O3", "-pthread"])
+ env.Append(CCFLAGS=["-I../pcre", "-fPIC", "-O3", "-pthread"])
if linux:
env.Append(LINKFLAGS=["-pthread"])
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论