From 98bba8b57a3446b7c8bfbcedc404330f59cfc495 Mon Sep 17 00:00:00 2001 From: Chris Rienzo Date: Mon, 24 Mar 2014 17:34:56 -0400 Subject: [PATCH] mod_mongo: switched from C++ to latest C driver --- src/mod/applications/mod_mongo/Makefile.am | 46 ++- .../conf/autoload_configs/mongo.conf.xml | 9 +- src/mod/applications/mod_mongo/fpic_hack.diff | 11 - src/mod/applications/mod_mongo/mod_mongo.c | 376 ++++++++++++++++++ src/mod/applications/mod_mongo/mod_mongo.cpp | 322 --------------- 5 files changed, 404 insertions(+), 360 deletions(-) delete mode 100644 src/mod/applications/mod_mongo/fpic_hack.diff create mode 100644 src/mod/applications/mod_mongo/mod_mongo.c delete mode 100644 src/mod/applications/mod_mongo/mod_mongo.cpp diff --git a/src/mod/applications/mod_mongo/Makefile.am b/src/mod/applications/mod_mongo/Makefile.am index 5dd2ad14ed..8b37d59da7 100644 --- a/src/mod/applications/mod_mongo/Makefile.am +++ b/src/mod/applications/mod_mongo/Makefile.am @@ -1,31 +1,37 @@ 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) - -$(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_BUILDDIR)/Makefile: $(MONGOC_DIR)/configure + mkdir -p $(MONGOC_BUILDDIR) + cd $(MONGOC_BUILDDIR) && $(DEFAULT_VARS) $(MONGOC_DIR)/configure $(DEFAULT_ARGS) + $(TOUCH_TARGET) + +$(MONGOC_LA): $(MONGOC_BUILDDIR)/Makefile + cd $(MONGOC_BUILDDIR) && $(MAKE) $(TOUCH_TARGET) diff --git a/src/mod/applications/mod_mongo/conf/autoload_configs/mongo.conf.xml b/src/mod/applications/mod_mongo/conf/autoload_configs/mongo.conf.xml index 72fffafbb7..57f9f6566f 100644 --- a/src/mod/applications/mod_mongo/conf/autoload_configs/mongo.conf.xml +++ b/src/mod/applications/mod_mongo/conf/autoload_configs/mongo.conf.xml @@ -2,14 +2,9 @@ - - - - +