diff --git a/plugins/emperor_mongodb/emperor_mongodb.cc b/plugins/emperor_mongodb/emperor_mongodb.cc index b7512175..24efb96a 100644 --- a/plugins/emperor_mongodb/emperor_mongodb.cc +++ b/plugins/emperor_mongodb/emperor_mongodb.cc @@ -1,4 +1,4 @@ -#include "../../uwsgi.h" +#include #include "client/dbclient.h" diff --git a/plugins/emperor_mongodb/plugin.c b/plugins/emperor_mongodb/plugin.c index a2d3c475..2255ed12 100644 --- a/plugins/emperor_mongodb/plugin.c +++ b/plugins/emperor_mongodb/plugin.c @@ -1,4 +1,4 @@ -#include "../../uwsgi.h" +#include void uwsgi_imperial_monitor_mongodb(struct uwsgi_emperor_scanner *); void uwsgi_imperial_monitor_mongodb_init(struct uwsgi_emperor_scanner *); diff --git a/plugins/emperor_mongodb/uwsgiplugin.py b/plugins/emperor_mongodb/uwsgiplugin.py index b8eeb965..5d7810de 100644 --- a/plugins/emperor_mongodb/uwsgiplugin.py +++ b/plugins/emperor_mongodb/uwsgiplugin.py @@ -1,7 +1,14 @@ +import os + NAME='emperor_mongodb' CFLAGS = ['-I/usr/include/mongo','-I/usr/local/include/mongo'] LDFLAGS = [] -LIBS = ['-lmongoclient', '-lboost_thread','-lboost_filesystem'] + +LIBS = [] +if not 'UWSGI_MONGODB_NOLIB' in os.environ: + LIBS.append('-lmongoclient') + LIBS.append('-lboost_thread') + LIBS.append('-lboost_filesystem') GCC_LIST = ['plugin', 'emperor_mongodb.cc'] diff --git a/plugins/mongodb/foobar.cc b/plugins/mongodb/foobar.cc new file mode 100644 index 00000000..f31651e7 --- /dev/null +++ b/plugins/mongodb/foobar.cc @@ -0,0 +1,9 @@ +#include + +#include "client/dbclient.h" + +extern "C" int uwsgi_mongodb_version() { + // this is only a hack to force the linked to embed libmongoclient.a + mongo::DBClientConnection c; + return 0; +} diff --git a/plugins/mongodb/plugin.c b/plugins/mongodb/plugin.c new file mode 100644 index 00000000..bcb61d88 --- /dev/null +++ b/plugins/mongodb/plugin.c @@ -0,0 +1,14 @@ +#include + +/* + +a fake plugin used for preloading mongodb library when only available as static. + +*/ + +int uwsgi_mongodb_version(void); + +struct uwsgi_plugin mongodb_plugin = { + .name = "mongodb", + .init = uwsgi_mongodb_version, +}; diff --git a/plugins/mongodb/uwsgiplugin.py b/plugins/mongodb/uwsgiplugin.py new file mode 100644 index 00000000..0cf56ebc --- /dev/null +++ b/plugins/mongodb/uwsgiplugin.py @@ -0,0 +1,8 @@ +NAME='mongodb' + +CFLAGS = ['-I/usr/include/mongo','-I/usr/local/include/mongo'] +LDFLAGS = [] +LIBS = ['-lmongoclient', '-lboost_thread','-lboost_filesystem'] + +GCC_LIST = ['plugin', 'foobar.cc'] + diff --git a/plugins/stats_pusher_mongodb/uwsgiplugin.py b/plugins/stats_pusher_mongodb/uwsgiplugin.py index 336b041b..f3b28600 100644 --- a/plugins/stats_pusher_mongodb/uwsgiplugin.py +++ b/plugins/stats_pusher_mongodb/uwsgiplugin.py @@ -1,7 +1,14 @@ +import os + NAME='stats_pusher_mongodb' CFLAGS = ['-I/usr/include/mongo','-I/usr/local/include/mongo'] LDFLAGS = [] -LIBS = ['-lmongoclient', '-lboost_thread','-lboost_filesystem'] + +LIBS = [] +if not 'UWSGI_MONGODB_NOLIB' in os.environ: + LIBS.append('-lmongoclient') + LIBS.append('-lboost_thread') + LIBS.append('-lboost_filesystem') GCC_LIST = ['plugin', 'stats_pusher_mongodb.cc']