Make sharedmemory api a compile time option
authorMichael J. Pounders <snowblind@bellsouth.net>
Thu, 2 Oct 2014 02:39:26 +0000 (22:39 -0400)
committerMichael J. Pounders <snowblind@bellsouth.net>
Thu, 2 Oct 2014 02:39:26 +0000 (22:39 -0400)
CMakeLists.txt
configure.ac
src/CMakeLists.txt
src/Makefile.am
src/main.c
src/server.c
src/sharedmemory.h

index 7ff95a019e777695b7bd49f50a8d33234cdc593f..712535374c9e29ac95d5f4118d0a0a40c57a02bc 100644 (file)
@@ -8,6 +8,8 @@ set(CMAKE_INSTALL_RPATH_USE_LINK_PATH true)
 option(USE_POLARSSL_TESTCERT "Link to the PolarSSL test certificate and key." OFF)
 option(USE_POLARSSL_HAVEGE "Use the PolarSSL HAVEGE random generator key." OFF)
 
+option(USE_SHAREDMEMORY_API "Compile with Sharedmemory API support" OFF)
+
 if(USE_POLARSSL_TESTCERT OR USE_POLARSSL_HAVEGE)
   if(SSL MATCHES "openssl" OR SSL MATCHES "gnutls")
     message(FATAL_ERROR "Selecting USE_POLARSSL_TESTCERT or USE_POLARSSL_HAVEGE implies SSL=polarssl")
index 5a637e1153c0a4b39f5ee7e7420e66b6004e1e54..5b612ca06671235260663a0f4ad67f706b532b3e 100644 (file)
@@ -38,8 +38,12 @@ AC_CANONICAL_HOST
 
 # Configure options.
 AC_ARG_WITH([ssl], [AC_HELP_STRING([--with-ssl=@<:@LIB@:>@], [SSL library (openssl|polarssl) @<:@default=polarssl@:>@])], [], [with_ssl=polarssl])
+AC_ARG_ENABLE([shmapi], [AC_HELP_STRING([--enable-shmapi], [compile with Sharedmemory API support @<:@default=no@:>@])],[],[enable_shmapi=no] )
 AC_ARG_ENABLE(polarssl-test-cert, [  --enable-polarssl-test-cert  Link to PolarSSL test certificate and key @<:@default=no@:>@], [enable_polarssl_test_cert=yes])
-AC_ARG_ENABLE(polarssl-havege, [  --enable-polarssl-havege  Link to PolarSSL HAVEGE random generator key @<:@default=no@:>@ Deafult: /dev/urandom], [enable_polarssl_havege=yes])
+AC_ARG_ENABLE(polarssl-havege, [  --enable-polarssl-havege  Link to PolarSSL HAVEGE random generator key @<:@default=no@:>@ Default: /dev/urandom], [enable_polarssl_havege=yes])
+
+
+
 
 # Checks for programs.
 AC_PROG_CC
@@ -89,6 +93,16 @@ AS_IF([test "x$with_ssl" = xopenssl], [
 AM_CONDITIONAL(USE_OPENSSL, test x$with_ssl = xopenssl)
 AM_CONDITIONAL(USE_GNUTLS, test x$with_ssl = xgnutls)
 
+AS_IF([test "x$enable_shmapi" != xno],
+       [
+       AM_CONDITIONAL(USE_SHAREDMEMORY_API, true)
+       AC_DEFINE([USE_SHAREDMEMORY_API],[],[Use sharedmemory API])
+       ], [
+       AM_CONDITIONAL(USE_SHAREDMEMORY_API, false)
+])
+
+
+
 AC_DEFINE([DEFAULT_CONFIG], ["/etc/umurmur.conf"], [Default config])
 
 # Checks for header files.
index f916d71052cc203dec77559d147b34695e9a9b2c..096ef45cc5d50ca65dcf93bf70e41fc7d946f2f8 100644 (file)
@@ -7,7 +7,6 @@ set(SOURCE_FILES
   ${CMAKE_CURRENT_SOURCE_DIR}/crypt.c
   ${CMAKE_CURRENT_SOURCE_DIR}/log.c
   ${CMAKE_CURRENT_SOURCE_DIR}/main.c
-  ${CMAKE_CURRENT_SOURCE_DIR}/sharedmemory.c
   ${CMAKE_CURRENT_SOURCE_DIR}/messagehandler.c
   ${CMAKE_CURRENT_SOURCE_DIR}/messages.c
   ${CMAKE_CURRENT_SOURCE_DIR}/pds.c
@@ -25,5 +24,9 @@ elseif(SSL MATCHES "gnutls")
   list(APPEND SOURCE_FILES ${CMAKE_CURRENT_SOURCE_DIR}/ssli_gnutls.c)
 endif(SSL MATCHES "openssl")
 
+if(USE_SHAREDMEMORY_API)
+  list(APPEND SOURCE_FILES ${CMAKE_CURRENT_SOURCE_DIR}/sharedmemory.c)
+endif(USE_SHAREDMEMORY_API)
+
 set(SOURCE ${SOURCE} ${SOURCE_FILES} PARENT_SCOPE)
 
index f280ecf6030c3b5ed17cd184df649ed9602b2c55..d8f476f521ae40ebe79d0364b3ec03d7e2999091 100644 (file)
@@ -38,3 +38,7 @@ else
 umurmurd_SOURCES+=ssli_polarssl.c
 endif
 endif
+
+if USE_SHAREDMEMORY_API
+umurmurd_SOURCES+=sharedmemory.c
+endif
index 929af5c951b3d28a7a09685ca6599b5bcfb2ac85..ceebd02f07ff7399cfe71c6db74c7ed5c2a3946f 100644 (file)
@@ -350,8 +350,11 @@ int main(int argc, char **argv)
                Chan_init();
                Client_init();
                Ban_init();
-    Sharedmemory_init();
     
+#ifdef USE_SHAREDMEMORY_API    
+    Sharedmemory_init();
+#endif
+   
 #ifdef POSIX_PRIORITY_SCHEDULING
                if (realtime)
                        setscheduler();
@@ -359,7 +362,10 @@ int main(int argc, char **argv)
 
                Server_run();
 
+#ifdef USE_SHAREDMEMORY_API
     Sharedmemory_deinit();
+#endif
+
                Ban_deinit();
                SSLi_deinit();
                Chan_free();
index 46175e9f538e939de73f7aaed5d60d8512b85074..a0ed7f5ceb256bb861afe3abca34d8c9d3aabb18 100644 (file)
@@ -194,7 +194,9 @@ void Server_runLoop(struct pollfd* pollfds)
                        if (pollfds[nofServerSocks + i].revents & POLLOUT)
                                Client_write_fd(pollfds[nofServerSocks + i].fd);
                }
+#ifdef USE_SHAREDMEMORY_API    
     Sharedmemory_update();
+#endif    
        }
 }
 
index 26001f75f94635623a05b8b3476e45a18a7c4032..e4d44949fd3907a9aa3aced9b30fde2e9309c523 100644 (file)
@@ -1,3 +1,6 @@
+#ifndef SHAREDMEMORY_H_777736932196\r
+#define SHAREDMEMORY_H_777736932196\r
+\r
 #include <stdlib.h>\r
 #include <string.h>\r
 \r
@@ -15,3 +18,5 @@ shm_t *shmptr;
 void Sharedmemory_init(void);\r
 void Sharedmemory_update(void);\r
 void Sharedmemory_deinit(void);\r
+\r
+#endif  // SHAREDMEMORY_H_777736932196
\ No newline at end of file