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

mod_mongo: switched from C++ to latest C driver

上级 c7bd862e
include $(top_srcdir)/build/modmake.rulesam include $(top_srcdir)/build/modmake.rulesam
AUTOMAKE_OPTIONS += foreign
MODNAME=mod_mongo MODNAME=mod_mongo
MONGO_CXX_DRIVER_VERSION=v2.4 MONGOC=mongo-c-driver-0.92.2
MONGO_CXX_DRIVER_URL=http://downloads.mongodb.org/cxx-driver MONGOC_DIR=$(switch_srcdir)/libs/$(MONGOC)
MONGO_CXX_DRIVER_TARBALL=mongodb-linux-x86_64-$(MONGO_CXX_DRIVER_VERSION)-latest.tgz MONGOC_BUILDDIR=$(switch_builddir)/libs/$(MONGOC)
MONGO_CXX_DRIVER_SRC=$(switch_builddir)/libs/mongo-cxx-driver-$(MONGO_CXX_DRIVER_VERSION) MONGOC_LA=$(MONGOC_BUILDDIR)/libmongoc-priv.la
LIBMONGOCLIENT_A =$(MONGO_CXX_DRIVER_SRC)/libmongoclient.a
mod_LTLIBRARIES = mod_mongo.la mod_LTLIBRARIES = mod_mongo.la
mod_mongo_la_SOURCES = mod_mongo.cpp mod_mongo_la_SOURCES = mod_mongo.c
mod_mongo_la_CFLAGS = $(AM_CFLAGS) mod_mongo_la_CFLAGS = $(AM_CFLAGS) -I$(MONGOC_DIR)/src/mongoc/ -I$(MONGOC_DIR)/src/libbson/src/bson/
mod_mongo_la_CPPFLAGS = -I$(MONGO_CXX_DRIVER_SRC)/src -I$(switch_srcdir)/libs/libteletone/src/ mod_mongo_la_CPPFLAGS = $(AM_CPPFLAGS)
mod_mongo_la_LIBADD = $(switch_builddir)/libfreeswitch.la $(LIBMONGOCLIENT_A) mod_mongo_la_LIBADD = $(switch_builddir)/libfreeswitch.la $(MONGOC_LA)
mod_mongo_la_LDFLAGS = -avoid-version -module -no-undefined -shared -lboost_thread -lboost_filesystem-mt -lboost_system-mt mod_mongo_la_LDFLAGS = -avoid-version -module -no-undefined -shared
BUILT_SOURCES=$(LIBMONGOCLIENT_A) BUILT_SOURCES=$(MONGOC_LA)
$(MONGO_CXX_DRIVER_SRC): $(MONGOC_DIR)/configure:
$(GETLIB) $(MONGO_CXX_DRIVER_URL) $(MONGO_CXX_DRIVER_TARBALL) $(GETLIB) $(MONGOC).tar.gz
cd $(MONGO_CXX_DRIVER_SRC) && patch -p0 -i $(switch_srcdir)/src/mod/applications/mod_mongo/fpic_hack.diff 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) $(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) $(MONGOC_LA): $(MONGOC_BUILDDIR)/Makefile
(cd $(MONGO_CXX_DRIVER_SRC) && \ cd $(MONGOC_BUILDDIR) && $(MAKE)
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)
$(TOUCH_TARGET) $(TOUCH_TARGET)
...@@ -2,14 +2,9 @@ ...@@ -2,14 +2,9 @@
<settings> <settings>
<!-- <!--
connection-string handles different ways to connect to mongo connection-string handles different ways to connect to mongo
samples: mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]
server:port
foo/server:port,server:port SET
--> -->
<param name="connection-string" value="127.0.0.1:27017"/> <param name="connection-string" value="mongodb://127.0.0.1:27017/?connectTimeoutMS=5000"/>
<param name="max-connections" value="100"/>
<!-- Timeout in seconds. 0 means no timeout -->
<param name="socket-timeout" value="0"/>
<!-- <!--
<param name="map" value="function() { emit(this.a, 1); }"/> <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 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论