diff options
author | Vsevolod Stakhov <vsevolod@rambler-co.ru> | 2012-06-05 18:21:49 +0400 |
---|---|---|
committer | Vsevolod Stakhov <vsevolod@rambler-co.ru> | 2012-06-05 18:21:49 +0400 |
commit | 35cb2b6e2f17a518d0c940985e6e19b41fdedf19 (patch) | |
tree | 18b4c1bd7ddea5af8eb580333c6ac1e5f0e00ebb /src | |
parent | 1d8da7cd96a810bc6119a8f604e934235e68f9cf (diff) | |
download | rspamd-35cb2b6e2f17a518d0c940985e6e19b41fdedf19.tar.gz rspamd-35cb2b6e2f17a518d0c940985e6e19b41fdedf19.zip |
* Split rspamd build to several independent libraries to reduce overhead.
Diffstat (limited to 'src')
-rw-r--r-- | src/cdb/CMakeLists.txt | 8 | ||||
-rw-r--r-- | src/client/CMakeLists.txt | 2 | ||||
-rw-r--r-- | src/json/CMakeLists.txt | 8 | ||||
-rw-r--r-- | src/lua/CMakeLists.txt | 11 | ||||
-rw-r--r-- | src/util.c | 21 | ||||
-rw-r--r-- | src/util.h | 2 | ||||
-rw-r--r-- | src/worker.c | 21 |
7 files changed, 42 insertions, 31 deletions
diff --git a/src/cdb/CMakeLists.txt b/src/cdb/CMakeLists.txt index d0b56bc6c..ab7b8b57a 100644 --- a/src/cdb/CMakeLists.txt +++ b/src/cdb/CMakeLists.txt @@ -3,5 +3,9 @@ SET(CDBSRC cdb_init.c cdb_find.c cdb_make.c) -ADD_LIBRARY(rspamd_cdb STATIC ${CDBSRC}) -SET_TARGET_PROPERTIES(rspamd_cdb PROPERTIES COMPILE_FLAGS "-DRSPAMD_LIB")
\ No newline at end of file +ADD_LIBRARY(rspamd-cdb SHARED ${CDBSRC}) +SET_TARGET_PROPERTIES(rspamd-cdb PROPERTIES COMPILE_FLAGS "-DRSPAMD_LIB") +INSTALL(TARGETS rspamd-cdb + LIBRARY DESTINATION ${LIBDIR} + PUBLIC_HEADER DESTINATION ${INCLUDEDIR} + ARCHIVE DESTINATION ${LIBDIR})
\ No newline at end of file diff --git a/src/client/CMakeLists.txt b/src/client/CMakeLists.txt index a486f24d2..fe02d5e1b 100644 --- a/src/client/CMakeLists.txt +++ b/src/client/CMakeLists.txt @@ -3,7 +3,7 @@ SET(RSPAMCSRC rspamc.c) ADD_EXECUTABLE(rspamc ${RSPAMCSRC}) SET_TARGET_PROPERTIES(rspamc PROPERTIES COMPILE_FLAGS "-I${CMAKE_SOURCE_DIR}/lib") -TARGET_LINK_LIBRARIES(rspamc rspamdserver) +TARGET_LINK_LIBRARIES(rspamc rspamd-util) IF(ENABLE_STATIC MATCHES "ON") TARGET_LINK_LIBRARIES(rspamc rspamdclient_static) ELSE(ENABLE_STATIC MATCHES "ON") diff --git a/src/json/CMakeLists.txt b/src/json/CMakeLists.txt index 1f61d55a3..ad8059269 100644 --- a/src/json/CMakeLists.txt +++ b/src/json/CMakeLists.txt @@ -6,5 +6,9 @@ SET(JSONSRC dump.c utf.c value.c) -ADD_LIBRARY(rspamd_json STATIC ${JSONSRC}) -SET_TARGET_PROPERTIES(rspamd_json PROPERTIES COMPILE_FLAGS "-DRSPAMD_LIB") +ADD_LIBRARY(rspamd-json SHARED ${JSONSRC}) +SET_TARGET_PROPERTIES(rspamd-json PROPERTIES COMPILE_FLAGS "-DRSPAMD_LIB") +INSTALL(TARGETS rspamd-json + LIBRARY DESTINATION ${LIBDIR} + PUBLIC_HEADER DESTINATION ${INCLUDEDIR} + ARCHIVE DESTINATION ${LIBDIR}) diff --git a/src/lua/CMakeLists.txt b/src/lua/CMakeLists.txt index e46b5c885..bdba01c27 100644 --- a/src/lua/CMakeLists.txt +++ b/src/lua/CMakeLists.txt @@ -12,7 +12,10 @@ SET(LUASRC lua_common.c lua_redis.c lua_upstream.c) -ADD_LIBRARY(rspamd_lua STATIC ${LUASRC}) -TARGET_LINK_LIBRARIES(rspamd_lua ${LUALIB}) -TARGET_LINK_LIBRARIES(rspamd_lua hiredis) -SET_TARGET_PROPERTIES(rspamd_lua PROPERTIES COMPILE_FLAGS "-DRSPAMD_LIB") +ADD_LIBRARY(rspamd-lua SHARED ${LUASRC}) +TARGET_LINK_LIBRARIES(rspamd-lua ${LUALIB}) +SET_TARGET_PROPERTIES(rspamd-lua PROPERTIES COMPILE_FLAGS "-DRSPAMD_LIB") +INSTALL(TARGETS rspamd-lua + LIBRARY DESTINATION ${LIBDIR} + PUBLIC_HEADER DESTINATION ${INCLUDEDIR} + ARCHIVE DESTINATION ${LIBDIR}) diff --git a/src/util.c b/src/util.c index 4db04c3d5..d569e9be7 100644 --- a/src/util.c +++ b/src/util.c @@ -1347,27 +1347,6 @@ rspamd_fallocate (gint fd, off_t offset, off_t len) /** - * Return worker's control structure by its type - * @param type - * @return worker's control structure or NULL - */ -worker_t* -get_worker_by_type (GQuark type) -{ - worker_t **cur; - - cur = &workers[0]; - while (*cur) { - if (g_quark_from_string ((*cur)->name) == type) { - return *cur; - } - cur ++; - } - - return NULL; -} - -/** * Create new mutex * @return mutex or NULL */ diff --git a/src/util.h b/src/util.h index 8db8cc878..0d9834a76 100644 --- a/src/util.h +++ b/src/util.h @@ -225,7 +225,7 @@ gint rspamd_fallocate (gint fd, off_t offset, off_t len); * @param type * @return worker's control structure or NULL */ -worker_t* get_worker_by_type (GQuark type); +extern worker_t* get_worker_by_type (GQuark type); /** * Utils for working with threads to be compatible with all glib versions diff --git a/src/worker.c b/src/worker.c index 250bf7d31..1da4458d7 100644 --- a/src/worker.c +++ b/src/worker.c @@ -251,6 +251,27 @@ construct_task (struct rspamd_worker *worker) return new_task; } +/** + * Return worker's control structure by its type + * @param type + * @return worker's control structure or NULL + */ +worker_t* +get_worker_by_type (GQuark type) +{ + worker_t **cur; + + cur = &workers[0]; + while (*cur) { + if (g_quark_from_string ((*cur)->name) == type) { + return *cur; + } + cur ++; + } + + return NULL; +} + /* * Free all structures of worker_task |