]> granicus.if.org Git - icinga2/commitdiff
Build libraries as static libraries
authorGunnar Beutner <gunnar.beutner@icinga.com>
Sun, 31 Dec 2017 06:22:16 +0000 (07:22 +0100)
committerGunnar Beutner <gunnar.beutner@icinga.com>
Tue, 2 Jan 2018 22:29:48 +0000 (23:29 +0100)
239 files changed:
CMakeLists.txt
icinga-app/CMakeLists.txt
icinga-app/icinga.cpp
icinga-studio/CMakeLists.txt
lib/base/CMakeLists.txt
lib/base/application.hpp
lib/base/array.hpp
lib/base/base64.hpp
lib/base/boolean.hpp
lib/base/configobject.hpp
lib/base/configobject.ti
lib/base/configtype.hpp
lib/base/configwriter.hpp
lib/base/console.hpp
lib/base/context.hpp
lib/base/convert.hpp
lib/base/datetime.hpp
lib/base/debuginfo.hpp
lib/base/dependencygraph.hpp
lib/base/dictionary.hpp
lib/base/exception.cpp
lib/base/exception.hpp
lib/base/fifo.hpp
lib/base/filelogger.hpp
lib/base/function.hpp
lib/base/i2-base.hpp
lib/base/initialize.hpp
lib/base/json.hpp
lib/base/loader.cpp
lib/base/loader.hpp
lib/base/logger.hpp
lib/base/netstring.hpp
lib/base/networkstream.hpp
lib/base/number.hpp
lib/base/object.hpp
lib/base/objectlock.hpp
lib/base/objecttype.hpp
lib/base/perfdatavalue.hpp
lib/base/primitivetype.hpp
lib/base/process.hpp
lib/base/ringbuffer.hpp
lib/base/scriptframe.hpp
lib/base/scriptglobal.hpp
lib/base/scriptutils.hpp
lib/base/serializer.hpp
lib/base/socket.hpp
lib/base/socketevents.hpp
lib/base/stacktrace.hpp
lib/base/stdiostream.hpp
lib/base/stream.hpp
lib/base/streamlogger.hpp
lib/base/string.hpp
lib/base/sysloglogger.hpp
lib/base/tcpsocket.hpp
lib/base/threadpool.hpp
lib/base/timer.hpp
lib/base/tlsstream.cpp
lib/base/tlsstream.hpp
lib/base/tlsutility.hpp
lib/base/type.hpp
lib/base/unixsocket.hpp
lib/base/utility.hpp
lib/base/value.hpp
lib/base/visibility.hpp [deleted file]
lib/base/workqueue.hpp
lib/checker/CMakeLists.txt
lib/cli/CMakeLists.txt
lib/cli/apisetuputility.hpp
lib/cli/clicommand.hpp
lib/cli/daemonutility.hpp
lib/cli/featureutility.hpp
lib/cli/i2-cli.hpp
lib/cli/nodeutility.hpp
lib/cli/objectlistutility.hpp
lib/cli/variableutility.hpp
lib/compat/CMakeLists.txt
lib/config/CMakeLists.txt
lib/config/activationcontext.hpp
lib/config/applyrule.hpp
lib/config/configcompiler.hpp
lib/config/configcompilercontext.hpp
lib/config/configitem.hpp
lib/config/configitembuilder.hpp
lib/config/expression.cpp
lib/config/expression.hpp
lib/config/i2-config.hpp
lib/config/objectrule.hpp
lib/db_ido/CMakeLists.txt
lib/db_ido/dbconnection.hpp
lib/db_ido/dbobject.hpp
lib/db_ido/dbquery.hpp
lib/db_ido/dbreference.hpp
lib/db_ido/dbtype.hpp
lib/db_ido/dbvalue.hpp
lib/db_ido/i2-db_ido.hpp
lib/db_ido_mysql/CMakeLists.txt
lib/db_ido_pgsql/CMakeLists.txt
lib/demo/CMakeLists.txt
lib/hello/CMakeLists.txt
lib/icinga/CMakeLists.txt
lib/icinga/apiactions.hpp
lib/icinga/apievents.hpp
lib/icinga/checkable.hpp
lib/icinga/checkcommand.hpp
lib/icinga/checkresult.hpp
lib/icinga/cib.hpp
lib/icinga/clusterevents.hpp
lib/icinga/command.hpp
lib/icinga/comment.hpp
lib/icinga/comment.ti
lib/icinga/compatutility.hpp
lib/icinga/customvarobject.hpp
lib/icinga/dependency.hpp
lib/icinga/dependency.ti
lib/icinga/downtime.hpp
lib/icinga/downtime.ti
lib/icinga/eventcommand.hpp
lib/icinga/externalcommandprocessor.hpp
lib/icinga/host.hpp
lib/icinga/hostgroup.hpp
lib/icinga/i2-icinga.hpp
lib/icinga/icingaapplication.cpp
lib/icinga/icingaapplication.hpp
lib/icinga/legacytimeperiod.hpp
lib/icinga/macroprocessor.hpp
lib/icinga/macroresolver.hpp
lib/icinga/notification.hpp
lib/icinga/notification.ti
lib/icinga/notificationcommand.hpp
lib/icinga/objectutils.hpp
lib/icinga/pluginutility.hpp
lib/icinga/scheduleddowntime.hpp
lib/icinga/scheduleddowntime.ti
lib/icinga/service.hpp
lib/icinga/service.ti
lib/icinga/servicegroup.hpp
lib/icinga/timeperiod.hpp
lib/icinga/user.hpp
lib/icinga/usergroup.hpp
lib/livestatus/CMakeLists.txt
lib/livestatus/aggregator.hpp
lib/livestatus/andfilter.hpp
lib/livestatus/attributefilter.hpp
lib/livestatus/avgaggregator.hpp
lib/livestatus/column.hpp
lib/livestatus/combinerfilter.hpp
lib/livestatus/commandstable.hpp
lib/livestatus/commentstable.hpp
lib/livestatus/contactgroupstable.hpp
lib/livestatus/contactstable.hpp
lib/livestatus/countaggregator.hpp
lib/livestatus/downtimestable.hpp
lib/livestatus/endpointstable.hpp
lib/livestatus/filter.hpp
lib/livestatus/historytable.hpp
lib/livestatus/hostgroupstable.hpp
lib/livestatus/hoststable.hpp
lib/livestatus/i2-livestatus.hpp
lib/livestatus/invavgaggregator.hpp
lib/livestatus/invsumaggregator.hpp
lib/livestatus/livestatuslistener.hpp
lib/livestatus/livestatuslogutility.hpp
lib/livestatus/livestatusquery.hpp
lib/livestatus/logtable.hpp
lib/livestatus/maxaggregator.hpp
lib/livestatus/minaggregator.hpp
lib/livestatus/negatefilter.hpp
lib/livestatus/orfilter.hpp
lib/livestatus/servicegroupstable.hpp
lib/livestatus/servicestable.hpp
lib/livestatus/statehisttable.hpp
lib/livestatus/statustable.hpp
lib/livestatus/stdaggregator.hpp
lib/livestatus/sumaggregator.hpp
lib/livestatus/table.hpp
lib/livestatus/timeperiodstable.hpp
lib/livestatus/zonestable.hpp
lib/methods/CMakeLists.txt
lib/methods/clrchecktask.hpp
lib/methods/dummychecktask.hpp
lib/methods/i2-methods.hpp
lib/methods/icingachecktask.hpp
lib/methods/nullchecktask.hpp
lib/methods/nulleventtask.hpp
lib/methods/pluginchecktask.hpp
lib/methods/plugineventtask.hpp
lib/methods/pluginnotificationtask.hpp
lib/notification/CMakeLists.txt
lib/perfdata/CMakeLists.txt
lib/remote/CMakeLists.txt
lib/remote/actionshandler.hpp
lib/remote/apiaction.hpp
lib/remote/apiclient.hpp
lib/remote/apifunction.hpp
lib/remote/apilistener.hpp
lib/remote/apiuser.hpp
lib/remote/configfileshandler.hpp
lib/remote/configobjectutility.hpp
lib/remote/configpackageshandler.hpp
lib/remote/configpackageutility.hpp
lib/remote/configstageshandler.hpp
lib/remote/consolehandler.hpp
lib/remote/createobjecthandler.hpp
lib/remote/deleteobjecthandler.hpp
lib/remote/endpoint.hpp
lib/remote/eventqueue.hpp
lib/remote/eventshandler.hpp
lib/remote/filterutility.hpp
lib/remote/httpchunkedencoding.hpp
lib/remote/httpclientconnection.hpp
lib/remote/httphandler.hpp
lib/remote/httprequest.hpp
lib/remote/httpresponse.hpp
lib/remote/httpserverconnection.hpp
lib/remote/httputility.hpp
lib/remote/i2-remote.hpp
lib/remote/infohandler.hpp
lib/remote/jsonrpc.hpp
lib/remote/jsonrpcconnection.hpp
lib/remote/messageorigin.hpp
lib/remote/modifyobjecthandler.hpp
lib/remote/objectqueryhandler.hpp
lib/remote/pkiutility.hpp
lib/remote/statushandler.hpp
lib/remote/templatequeryhandler.hpp
lib/remote/typequeryhandler.hpp
lib/remote/url.hpp
lib/remote/variablequeryhandler.hpp
lib/remote/zone.hpp
plugins/CMakeLists.txt
test/CMakeLists.txt
third-party/execvpe/CMakeLists.txt
third-party/execvpe/execvpe.h
third-party/mmatch/CMakeLists.txt
third-party/mmatch/mmatch.h
third-party/socketpair/CMakeLists.txt
third-party/socketpair/socketpair.h
third-party/yajl/src/CMakeLists.txt
tools/mkclass/classcompiler.cpp

index fdf75d3072f72cc900103015f42e46713fb7d8d3..30116a6c8b1dac0a908e63845c2bfe984b76ee1a 100644 (file)
@@ -15,7 +15,7 @@
 # along with this program; if not, write to the Free Software Foundation
 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
 
-cmake_minimum_required(VERSION 2.6)
+cmake_minimum_required(VERSION 2.8.8)
 set(BOOST_MIN_VERSION "1.48.0")
 
 project(icinga2)
@@ -139,6 +139,13 @@ set(HAVE_EDITLINE "${EDITLINE_FOUND}")
 find_package(Termcap)
 set(HAVE_TERMCAP "${TERMCAP_FOUND}")
 
+find_package(PostgreSQL)
+
+if(PostgreSQL_FOUND)
+  link_directories(${PostgreSQL_LIBRARY_DIRS})
+  include_directories(${PostgreSQL_INCLUDE_DIRS})
+endif()
+
 include_directories(
   ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/lib
   ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_BINARY_DIR}/lib
@@ -172,12 +179,28 @@ if(CMAKE_C_COMPILER_ID STREQUAL "GNU")
     set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -pthread")
     set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -lpthread")
     set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -lpthread")
+    set(CMAKE_STATIC_LINKER_FLAGS "${CMAKE_STATIC_LINKER_FLAGS} -lpthread")
   else()
     set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g -pthread")
     set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -pthread")
   endif()
 endif()
 
+if(CMAKE_SYSTEM_NAME MATCHES "Darwin")
+  function(add_whole_static_library target library)
+    target_link_libraries(${target} -force_load ${library})
+  endfunction()
+elseif(MSVC)
+  function(add_whole_static_library target library)
+    target_link_libraries(${target} ${library})
+    set_property(TARGET ${target} APPEND_STRING PROPERTY LINK_FLAGS "/wholearchive:${library} ")
+  endfunction()
+else()
+  function(add_whole_static_library target library)
+    target_link_libraries(${target} -Wl,--whole-archive ${library} -Wl,--no-whole-archive)
+  endfunction()
+endif()
+
 include(CheckCXXCompilerFlag)
 
 function(check_cxx_linker_flag flag var)
@@ -238,26 +261,10 @@ if(ICINGA2_LTO_BUILD)
     set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -flto")
     set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -flto")
     set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -flto")
-    set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -flto")
+    set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -flto")
   endif()
 endif()
 
-include(CheckCCompilerFlag)
-
-check_c_compiler_flag(-fvisibility-inlines-hidden HAVE_VISIBILITY_INLINES_HIDDEN)
-
-if(HAVE_VISIBILITY_INLINES_HIDDEN)
-  set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fvisibility-inlines-hidden")
-  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility-inlines-hidden")
-endif()
-
-check_c_compiler_flag(-fvisibility=hidden HAVE_VISIBILITY_HIDDEN)
-
-if(HAVE_VISIBILITY_HIDDEN)
-  set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fvisibility=hidden")
-  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden")
-endif()
-
 if(MSVC)
   add_definitions(-D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS)
 endif()
index b2d7d6e4ea5874593641a100390bd3825029f917..a6747fb4b7a1563c3af9800f7be906e313a06cb9 100644 (file)
@@ -21,10 +21,54 @@ else()
   set(WindowsSources "")
 endif()
 
-add_executable(icinga-app icinga.cpp ${WindowsSources})
+set(icingaloader_SOURCES
+  icinga.cpp
+  ${WindowsSources}
+)
+
+add_library(icingaloader OBJECT ${icingaloader_SOURCES})
+add_dependencies(icingaloader base config cli)
 
 include_directories(${Boost_INCLUDE_DIRS})
-target_link_libraries(icinga-app ${Boost_LIBRARIES} base config cli)
+
+add_executable(icinga-app $<TARGET_OBJECTS:icingaloader>)
+
+add_whole_static_library(icinga-app base)
+add_whole_static_library(icinga-app config)
+add_whole_static_library(icinga-app remote)
+add_whole_static_library(icinga-app cli)
+
+if(ICINGA2_WITH_CHECKER)
+  add_whole_static_library(icinga-app checker)
+endif()
+
+if(ICINGA2_WITH_COMPAT)
+  add_whole_static_library(icinga-app compat)
+endif()
+
+if(ICINGA2_WITH_MYSQL)
+  add_whole_static_library(icinga-app db_ido_mysql)
+endif()
+
+if(ICINGA2_WITH_PGSQL)
+  add_whole_static_library(icinga-app db_ido_pgsql)
+endif()
+
+add_whole_static_library(icinga-app icinga)
+
+if(ICINGA2_WITH_LIVESTATUS)
+  add_whole_static_library(icinga-app livestatus)
+endif()
+
+add_whole_static_library(icinga-app methods)
+
+if(ICINGA2_WITH_NOTIFICATION)
+  add_whole_static_library(icinga-app notification)
+endif()
+
+if(ICINGA2_WITH_PERFDATA)
+  add_whole_static_library(icinga-app perfdata)
+endif()
 
 set_target_properties (
   icinga-app PROPERTIES
@@ -52,6 +96,27 @@ install(
   RUNTIME DESTINATION ${InstallPath}
 )
 
+if(ICINGA2_WITH_HELLO)
+  add_executable(hello-app $<TARGET_OBJECTS:icingaloader>)
+  add_whole_static_library(hello-app base)
+  add_whole_static_library(hello-app config)
+  add_whole_static_library(hello-app remote)
+  add_whole_static_library(hello-app cli)
+  add_whole_static_library(hello-app hello)
+
+  set_target_properties (
+    hello-app PROPERTIES
+    INSTALL_RPATH ${CMAKE_INSTALL_FULL_LIBDIR}/icinga2
+    FOLDER Bin
+    OUTPUT_NAME hello
+  )
+
+  install(
+    TARGETS hello-app
+    RUNTIME DESTINATION ${InstallPath}
+  )
+endif()
+
 install(CODE "file(MAKE_DIRECTORY \"\$ENV{DESTDIR}${CMAKE_INSTALL_FULL_LOCALSTATEDIR}/log/icinga2\")")
 install(CODE "file(MAKE_DIRECTORY \"\$ENV{DESTDIR}${CMAKE_INSTALL_FULL_LOCALSTATEDIR}/lib/icinga2\")")
 install(CODE "file(MAKE_DIRECTORY \"\$ENV{DESTDIR}${ICINGA2_RUNDIR}/icinga2\")")
index 0a25e691e0dc211f2ca4f0b90c2b8cd4a0274987..0e8d93f35068b9ef75755bd0975206e10c89e46d 100644 (file)
@@ -194,8 +194,6 @@ static int Main(void)
        LogSeverity logLevel = Logger::GetConsoleLogSeverity();
        Logger::SetConsoleLogSeverity(LogWarning);
 
-       Loader::LoadExtensionLibrary("cli");
-
        po::options_description visibleDesc("Global options");
 
        visibleDesc.add_options()
@@ -205,8 +203,6 @@ static int Main(void)
                ("color", "use VT100 color codes even when stdout is not a terminal")
 #endif /* _WIN32 */
                ("define,D", po::value<std::vector<std::string> >(), "define a constant")
-               ("app,a", po::value<std::string>(), "application library name (default: icinga)")
-               ("library,l", po::value<std::vector<std::string> >(), "load a library")
                ("include,I", po::value<std::vector<std::string> >(), "add include search directory")
                ("log-level,x", po::value<std::string>(), "specify the log level for the console log.\n"
                        "The valid value is either debug, notice, information (default), warning, or critical")
@@ -359,18 +355,6 @@ static int Main(void)
                        Logger::SetConsoleLogSeverity(logLevel);
                }
 
-               if (vm.count("library")) {
-                       for (const String& libraryName : vm["library"].as<std::vector<std::string> >()) {
-                               try {
-                                       (void) Loader::LoadExtensionLibrary(libraryName);
-                               } catch (const std::exception& ex) {
-                                       Log(LogCritical, "icinga-app")
-                                               <<  "Could not load library \"" << libraryName << "\": " << DiagnosticInformation(ex);
-                                       return EXIT_FAILURE;
-                               }
-                       }
-               }
-
                if (!command || vm.count("help") || vm.count("version")) {
                        String appName;
 
@@ -544,16 +528,6 @@ static int Main(void)
                        return EXIT_FAILURE;
                }
 
-               LogSeverity logLevel = Logger::GetConsoleLogSeverity();
-               Logger::SetConsoleLogSeverity(LogWarning);
-
-               if (vm.count("app"))
-                       Loader::LoadExtensionLibrary(vm["app"].as<std::string>());
-               else
-                       Loader::LoadExtensionLibrary("icinga");
-
-               Logger::SetConsoleLogSeverity(logLevel);
-
                rc = command->Run(vm, args);
        }
 
index 230e7375d8f7a7791f9fdb436474432052015f93..bf3aac869819174eb5a7cd9c6ed66e55f235cf41 100644 (file)
@@ -30,7 +30,9 @@ add_executable(icinga-studio MACOSX_BUNDLE WIN32 icinga-studio.cpp
   icinga.icns ${WindowsSources})
 
 include_directories(${Boost_INCLUDE_DIRS})
-target_link_libraries(icinga-studio ${Boost_LIBRARIES} ${wxWidgets_LIBRARIES} base remote)
+target_link_libraries(icinga-studio ${Boost_LIBRARIES} ${wxWidgets_LIBRARIES})
+add_whole_static_library(icinga-studio base)
+add_whole_static_library(icinga-studio remote)
 
 if(APPLE)
   set_source_files_properties(icinga.icns PROPERTIES MACOSX_PACKAGE_LOCATION Resources)
index 71479d79ff99d3019d6d2c2bdbbf5b3262493807..2b3d19e8441d679cef484fa16e555437503df992 100644 (file)
@@ -49,7 +49,7 @@ if(ICINGA2_UNITY_BUILD)
     mkunity_target(base base base_SOURCES)
 endif()
 
-add_library(base SHARED ${base_SOURCES})
+add_library(base STATIC ${base_SOURCES})
 
 target_link_libraries(base ${CMAKE_DL_LIBS} ${Boost_LIBRARIES} ${OPENSSL_LIBRARIES} ${YAJL_LIBRARIES} mmatch socketpair)
 
@@ -76,26 +76,10 @@ endif()
 
 set_target_properties (
   base PROPERTIES
-  INSTALL_RPATH ${CMAKE_INSTALL_FULL_LIBDIR}/icinga2
-  DEFINE_SYMBOL I2_BASE_BUILD
   FOLDER Lib
-  VERSION ${SPEC_VERSION}
 )
 
 install(CODE "file(MAKE_DIRECTORY \"\$ENV{DESTDIR}${CMAKE_INSTALL_FULL_LOCALSTATEDIR}/cache/icinga2\")")
 install(CODE "file(MAKE_DIRECTORY \"\$ENV{DESTDIR}${CMAKE_INSTALL_FULL_LOCALSTATEDIR}/log/icinga2/crash\")")
 
-install(
-  TARGETS base
-  RUNTIME DESTINATION ${CMAKE_INSTALL_SBINDIR}
-  LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}/icinga2
-)
-
-if(APPLE)
-  install(
-    TARGETS base
-    LIBRARY DESTINATION ${CMAKE_INSTALL_BINDIR}/icinga-studio.app/Contents
-  )
-endif()
-
 set(CPACK_NSIS_EXTRA_INSTALL_COMMANDS "${CPACK_NSIS_EXTRA_INSTALL_COMMANDS}" PARENT_SCOPE)
index 2ed3243234a86afb39f9daad5d1fb9247a362222..2ce037b23d86ddb8f69293d966d1a93a21c99423 100644 (file)
@@ -35,7 +35,7 @@ namespace icinga
  *
  * @ingroup base
  */
-class I2_BASE_API Application : public ObjectImpl<Application> {
+class Application : public ObjectImpl<Application> {
 public:
        DECLARE_OBJECT(Application);
 
index d07146fded3844bdf87cc7f29ece3de92f689830..1df29f506384a1660f3142eadd8419c7b0f5db09 100644 (file)
@@ -35,7 +35,7 @@ namespace icinga
  *
  * @ingroup base
  */
-class I2_BASE_API Array : public Object
+class Array : public Object
 {
 public:
        DECLARE_OBJECT(Array);
index 0c689f08170e9be27f7b942eb2f9d059f76bb62e..1cea938cacae7c76251bf596b2dec718d558c0d0 100644 (file)
@@ -31,7 +31,7 @@ namespace icinga
  *
  * @ingroup remote
  */
-struct I2_BASE_API Base64
+struct Base64
 {
        static String Decode(const String& data);
        static String Encode(const String& data);
index d1b22f82d88a30ba051c67478a900d79f6b34f0e..d9612026a1baaacbf91e97fe926afba4bc9658f6 100644 (file)
@@ -30,7 +30,7 @@ class Value;
 /**
  * Boolean class.
  */
-class I2_BASE_API Boolean
+class Boolean
 {
 public:
        static Object::Ptr GetPrototype(void);
index ed2ea01deca30208f1280f36eb5dfef6756e9387..f7a7a91a6b6f82a64dd32e0f6384953d1e4ea001 100644 (file)
@@ -37,7 +37,7 @@ class ConfigType;
  *
  * @ingroup base
  */
-class I2_BASE_API ConfigObject : public ObjectImpl<ConfigObject>
+class ConfigObject : public ObjectImpl<ConfigObject>
 {
 public:
        DECLARE_OBJECT(ConfigObject);
index da5bb80e823ebc0a77815e7de4dcced17ae64a06..535a6589bc9ba1f8c59f763dca8401a32be3af95 100644 (file)
@@ -32,7 +32,7 @@ enum HAMode
        HARunEverywhere
 };
 
-class I2_BASE_API NameComposer
+class NameComposer
 {
 public:
        virtual ~NameComposer(void);
@@ -46,7 +46,7 @@ abstract class ConfigObjectBase
 { };
 
 code {{{
-class I2_BASE_API ConfigObjectBase : public ObjectImpl<ConfigObjectBase>
+class ConfigObjectBase : public ObjectImpl<ConfigObjectBase>
 {
 public:
        inline DebugInfo GetDebugInfo(void) const
index 64999be1bc9e8e11f7194ef35d669a976843444a..5258ebe2933b0b48b5fa2eefbf9cd40cb66f8573 100644 (file)
@@ -30,7 +30,7 @@ namespace icinga
 
 class ConfigObject;
 
-class I2_BASE_API ConfigType
+class ConfigType
 {
 public:
        virtual ~ConfigType(void);
index 0cb71ca6162ff03197cb1bd22e4f392d02bbc7ef..3bb55249b2766ff9043fa9ae04e960810a5b0a81 100644 (file)
@@ -33,7 +33,7 @@ namespace icinga
  *
  * @ingroup base
  */
-class I2_BASE_API ConfigIdentifier : public Object
+class ConfigIdentifier : public Object
 {
 public:
        DECLARE_PTR_TYPEDEFS(ConfigIdentifier);
@@ -51,7 +51,7 @@ private:
  *
  * @ingroup base
  */
-class I2_BASE_API ConfigWriter
+class ConfigWriter
 {
 public:
        static void EmitBoolean(std::ostream& fp, bool val);
index ad70ee57ab66ba247b2bccd04cc5cdb813484b39..1b6456b5e50072d34cf61c2914eb2896ed921821 100644 (file)
@@ -66,26 +66,26 @@ enum ConsoleType
 #endif /* _WIN32 */
 };
 
-class I2_BASE_API ConsoleColorTag
+class ConsoleColorTag
 {
 public:
        ConsoleColorTag(int color, ConsoleType consoleType = Console_Autodetect);
 
-       friend I2_BASE_API std::ostream& operator<<(std::ostream& fp, const ConsoleColorTag& cct);
+       friend std::ostream& operator<<(std::ostream& fp, const ConsoleColorTag& cct);
 
 private:
        int m_Color;
        int m_ConsoleType;
 };
 
-I2_BASE_API std::ostream& operator<<(std::ostream& fp, const ConsoleColorTag& cct);
+std::ostream& operator<<(std::ostream& fp, const ConsoleColorTag& cct);
 
 /**
  * Console utilities.
  *
  * @ingroup base
  */
-class I2_BASE_API Console
+class Console
 {
 public:
        static void DetectType(void);
index 7fd455a941123f6cf30336657c36a158083e835d..aa0b8c15c3fafbf4b049a5dc21fcb7fa33e14751 100644 (file)
@@ -27,7 +27,7 @@
 namespace icinga
 {
 
-class I2_BASE_API ContextTrace
+class ContextTrace
 {
 public:
        ContextTrace(void);
@@ -40,14 +40,14 @@ private:
        std::list<String> m_Frames;
 };
 
-I2_BASE_API std::ostream& operator<<(std::ostream& stream, const ContextTrace& trace);
+std::ostream& operator<<(std::ostream& stream, const ContextTrace& trace);
 
 /**
  * A context frame.
  *
  * @ingroup base
  */
-class I2_BASE_API ContextFrame
+class ContextFrame
 {
 public:
        ContextFrame(const String& message);
index 3043c5f2e4c7305e09ed368ac4dfff26b6881d9b..4e7b4c4d30e7050ad28e859e4f2ad800e529bc09 100644 (file)
@@ -32,7 +32,7 @@ namespace icinga
  *
  * @ingroup base
  */
-class I2_BASE_API Convert
+class Convert
 {
 public:
        template<typename T>
index fffb62cb14775a72851b04ba410ee165e456c10f..3637738d4a63b9ad39cb0a3b27e008d3fff11695 100644 (file)
@@ -33,7 +33,7 @@ namespace icinga
  *
  * @ingroup base
  */
-class I2_BASE_API DateTime : public ObjectImpl<DateTime>
+class DateTime : public ObjectImpl<DateTime>
 {
 public:
        DECLARE_OBJECT(DateTime);
index ec7732f169d910a2c4160b65e6e2473db79f3915..0d54d0a920fcb3485604a373c20ee71d7396e42b 100644 (file)
@@ -31,7 +31,7 @@ namespace icinga
  *
  * @ingroup config
  */
-struct I2_BASE_API DebugInfo
+struct DebugInfo
 {
        String Path;
 
@@ -44,11 +44,11 @@ struct I2_BASE_API DebugInfo
        DebugInfo(void);
 };
 
-I2_BASE_API std::ostream& operator<<(std::ostream& out, const DebugInfo& val);
+std::ostream& operator<<(std::ostream& out, const DebugInfo& val);
 
-I2_BASE_API DebugInfo DebugInfoRange(const DebugInfo& start, const DebugInfo& end);
+DebugInfo DebugInfoRange(const DebugInfo& start, const DebugInfo& end);
 
-I2_BASE_API void ShowCodeLocation(std::ostream& out, const DebugInfo& di, bool verbose = true);
+void ShowCodeLocation(std::ostream& out, const DebugInfo& di, bool verbose = true);
 
 }
 
index 89900acd1b93732369c06bfc003ebf34a3016447..f66a87cc593f870eb5d08a4d01c8513b4418c4eb 100644 (file)
@@ -31,7 +31,7 @@ namespace icinga {
  *
  * @ingroup base
  */
-class I2_BASE_API DependencyGraph
+class DependencyGraph
 {
 public:
        static void AddDependency(Object *parent, Object *child);
index 9244f18daf2301c054d43a8cbfccbf2da2369b8b..fadc1f41ab84c310e8bbc1ad7d485d396f8e2d12 100644 (file)
@@ -35,7 +35,7 @@ namespace icinga
  *
  * @ingroup base
  */
-class I2_BASE_API Dictionary : public Object
+class Dictionary : public Object
 {
 public:
        DECLARE_OBJECT(Dictionary);
index 14006ea8d803c9c845b35d51768a35a2fa66259d..1a5b50fa6c7b2e1277a5948daa26174a718389eb 100644 (file)
@@ -88,7 +88,7 @@ typedef void (*DestCallback)(void *);
 static boost::thread_specific_ptr<DestCallback> l_LastExceptionDest;
 #      endif /* !__GLIBCXX__ && !_WIN32 */
 
-extern "C" I2_EXPORT void __cxa_throw(void *obj, TYPEINFO_TYPE *pvtinfo, void (*dest)(void *));
+extern "C" void __cxa_throw(void *obj, TYPEINFO_TYPE *pvtinfo, void (*dest)(void *));
 #endif /* HAVE_CXXABI_H */
 
 void icinga::RethrowUncaughtException(void)
index f0af63be201e8db6af0c2e41d8852dc1a0af27f7..08ec022ff19fa9445598ea361cc8a43b145cd39d 100644 (file)
 namespace icinga
 {
 
-class I2_BASE_API user_error : virtual public std::exception, virtual public boost::exception
+class user_error : virtual public std::exception, virtual public boost::exception
 { };
 
 /*
  * @ingroup base
  */
-class I2_BASE_API ScriptError : virtual public user_error
+class ScriptError : virtual public user_error
 {
 public:
        ScriptError(const String& message);
@@ -73,7 +73,7 @@ private:
 /*
  * @ingroup base
  */
-class I2_BASE_API ValidationError : virtual public user_error
+class ValidationError : virtual public user_error
 {
 public:
        ValidationError(const ConfigObject::Ptr& object, const std::vector<String>& attributePath, const String& message);
@@ -96,13 +96,13 @@ private:
        Dictionary::Ptr m_DebugHint;
 };
 
-I2_BASE_API StackTrace *GetLastExceptionStack(void);
-I2_BASE_API void SetLastExceptionStack(const StackTrace& trace);
+StackTrace *GetLastExceptionStack(void);
+void SetLastExceptionStack(const StackTrace& trace);
 
-I2_BASE_API ContextTrace *GetLastExceptionContext(void);
-I2_BASE_API void SetLastExceptionContext(const ContextTrace& context);
+ContextTrace *GetLastExceptionContext(void);
+void SetLastExceptionContext(const ContextTrace& context);
 
-I2_BASE_API void RethrowUncaughtException(void);
+void RethrowUncaughtException(void);
 
 typedef boost::error_info<StackTrace, StackTrace> StackTraceErrorInfo;
 
@@ -120,10 +120,10 @@ inline std::string to_string(const ContextTraceErrorInfo& e)
        return msgbuf.str();
 }
 
-I2_BASE_API String DiagnosticInformation(const std::exception& ex, bool verbose = true, StackTrace *stack = nullptr, ContextTrace *context = nullptr);
-I2_BASE_API String DiagnosticInformation(boost::exception_ptr eptr, bool verbose = true);
+String DiagnosticInformation(const std::exception& ex, bool verbose = true, StackTrace *stack = nullptr, ContextTrace *context = nullptr);
+String DiagnosticInformation(boost::exception_ptr eptr, bool verbose = true);
 
-class I2_BASE_API posix_error : virtual public std::exception, virtual public boost::exception {
+class posix_error : virtual public std::exception, virtual public boost::exception {
 public:
        posix_error(void);
        virtual ~posix_error(void) throw();
@@ -135,7 +135,7 @@ private:
 };
 
 #ifdef _WIN32
-class I2_BASE_API win32_error : virtual public std::exception, virtual public boost::exception { };
+class win32_error : virtual public std::exception, virtual public boost::exception { };
 
 struct errinfo_win32_error_;
 typedef boost::error_info<struct errinfo_win32_error_, int> errinfo_win32_error;
index 27fa56403c8e78794350c59b041997737c5ce500..f596e942638025150b664b6671c673d69639ff52 100644 (file)
@@ -31,7 +31,7 @@ namespace icinga
  *
  * @ingroup base
  */
-class I2_BASE_API FIFO : public Stream
+class FIFO : public Stream
 {
 public:
        DECLARE_PTR_TYPEDEFS(FIFO);
index 92add833d17001ce189d0f0dc3dbf674638472e3..1e82750ed8773dfb4cd049e8391062309c0c7c8f 100644 (file)
@@ -31,7 +31,7 @@ namespace icinga
  *
  * @ingroup base
  */
-class I2_BASE_API FileLogger : public ObjectImpl<FileLogger>
+class FileLogger : public ObjectImpl<FileLogger>
 {
 public:
        DECLARE_OBJECT(FileLogger);
index 2e5ac95b8641a8a9ca50d11b4ac34b3b996940cb..531bd3288c7cbb1933cebcd2e2487230590a9e6e 100644 (file)
@@ -35,7 +35,7 @@ namespace icinga
  *
  * @ingroup base
  */
-class I2_BASE_API Function : public ObjectImpl<Function>
+class Function : public ObjectImpl<Function>
 {
 public:
        DECLARE_OBJECT(Function);
index 104feeee47453f2a6c8c21d249649670e72ad79e..95446b2cf101f36056a02790ff1d489803729e22 100644 (file)
 #      pragma GCC diagnostic ignored "-Wdeprecated-declarations"
 #endif
 
-#include "base/visibility.hpp"
-
-#ifdef I2_BASE_BUILD
-#      define I2_BASE_API I2_EXPORT
-#else /* I2_BASE_BUILD */
-#      define I2_BASE_API I2_IMPORT
-#endif /* I2_BASE_BUILD */
-
 #if defined(__GNUC__)
 #      define likely(x) __builtin_expect(!!(x), 1)
 #      define unlikely(x) __builtin_expect(!!(x), 0)
index a24e67dcc0626330b5d6b1f3a94667757d58ed8c..dbc31149d6a0a71d30d1b8c1dbd187ba03e74e93 100644 (file)
@@ -30,16 +30,16 @@ namespace icinga
 
 #define I2_UNIQUE_NAME(prefix) I2_TOKENPASTE2(prefix, __COUNTER__)
 
-I2_BASE_API bool InitializeOnceHelper(void (*func)(void), int priority = 0);
+bool InitializeOnceHelper(void (*func)(void), int priority = 0);
 
 #define INITIALIZE_ONCE(func)                                                                  \
        namespace { namespace I2_UNIQUE_NAME(io) {                                                      \
-               I2_EXPORT bool l_InitializeOnce(icinga::InitializeOnceHelper(func));            \
+               bool l_InitializeOnce(icinga::InitializeOnceHelper(func));              \
        } }
 
 #define INITIALIZE_ONCE_WITH_PRIORITY(func, priority)                                          \
        namespace { namespace I2_UNIQUE_NAME(io) {                                                      \
-               I2_EXPORT bool l_InitializeOnce(icinga::InitializeOnceHelper(func, priority));  \
+               bool l_InitializeOnce(icinga::InitializeOnceHelper(func, priority));    \
        } }
 }
 
index 18abf568e56fc9e1be3b85c0b5ec920fe9f6aa7f..368a25cbd068df3ee41f58d8101bfff56b3edaaf 100644 (file)
@@ -28,8 +28,8 @@ namespace icinga
 class String;
 class Value;
 
-I2_BASE_API String JsonEncode(const Value& value, bool pretty_print = false);
-I2_BASE_API Value JsonDecode(const String& data);
+String JsonEncode(const Value& value, bool pretty_print = false);
+Value JsonDecode(const String& data);
 
 }
 
index 4bf7effb088ae2baf08f331a6f8726e63be9e098..43709589ef4563b48e9a5cd5875b31bf960ae4da 100644 (file)
  ******************************************************************************/
 
 #include "base/loader.hpp"
-#include "base/logger.hpp"
-#include "base/exception.hpp"
-#include "base/application.hpp"
 
 using namespace icinga;
 
-/**
- * Loads the specified library.
- *
- * @param library The name of the library.
- */
-void Loader::LoadExtensionLibrary(const String& library)
-{
-       String path;
-#if defined(_WIN32)
-       path = library + ".dll";
-#elif defined(__APPLE__)
-       path = "lib" + library + "." + Application::GetAppSpecVersion() + ".dylib";
-#else /* __APPLE__ */
-       path = "lib" + library + ".so." + Application::GetAppSpecVersion();
-#endif /* _WIN32 */
-
-       Log(LogNotice, "Loader")
-               << "Loading library '" << path << "'";
-
-#ifdef _WIN32
-       HMODULE hModule = LoadLibrary(path.CStr());
-
-       if (!hModule) {
-               BOOST_THROW_EXCEPTION(win32_error()
-                       << boost::errinfo_api_function("LoadLibrary")
-                       << errinfo_win32_error(GetLastError())
-                       << boost::errinfo_file_name(path));
-       }
-#else /* _WIN32 */
-       void *hModule = dlopen(path.CStr(), RTLD_NOW | RTLD_GLOBAL);
-
-       if (!hModule) {
-               BOOST_THROW_EXCEPTION(std::runtime_error("Could not load library '" + path + "': " + dlerror()));
-       }
-#endif /* _WIN32 */
-
-       ExecuteDeferredInitializers();
-}
-
 boost::thread_specific_ptr<std::priority_queue<DeferredInitializer> >& Loader::GetDeferredInitializers(void)
 {
        static boost::thread_specific_ptr<std::priority_queue<DeferredInitializer> > initializers;
index 16e33ce98f4686033946845d9a7ee60719653833..2462fc027f09700bdec56331b841e371f5d45d76 100644 (file)
@@ -55,11 +55,9 @@ private:
  *
  * @ingroup base
  */
-class I2_BASE_API Loader
+class Loader
 {
 public:
-       static void LoadExtensionLibrary(const String& library);
-
        static void AddDeferredInitializer(const std::function<void(void)>& callback, int priority = 0);
        static void ExecuteDeferredInitializers(void);
 
index 928f135a0064745d605bcf82e73ffc6ea9832c90..406341d5783b415aee896d2c57bf2d01991a26b3 100644 (file)
@@ -59,7 +59,7 @@ struct LogEntry {
  *
  * @ingroup base
  */
-class I2_BASE_API Logger : public ObjectImpl<Logger>
+class Logger : public ObjectImpl<Logger>
 {
 public:
        DECLARE_OBJECT(Logger);
@@ -104,7 +104,7 @@ private:
        static LogSeverity m_ConsoleLogSeverity;
 };
 
-I2_BASE_API void IcingaLog(LogSeverity severity, const String& facility, const String& message);
+void IcingaLog(LogSeverity severity, const String& facility, const String& message);
 
 class Log
 {
index 0ab0575c493385f717bcdc8c565870d39d49bd4e..a5f3ed0393c60e76f68799f3b9663ef029f8c429 100644 (file)
@@ -35,7 +35,7 @@ class String;
  *
  * @ingroup base
  */
-class I2_BASE_API NetString
+class NetString
 {
 public:
        static StreamReadStatus ReadStringFromStream(const Stream::Ptr& stream, String *message, StreamReadContext& context, bool may_wait = false);
index e121ed3fc85ddad087078da2ba53f9749ded7291..be10007964c984d6a9fbe06ae283c158c293aaff 100644 (file)
@@ -32,7 +32,7 @@ namespace icinga
  *
  * @ingroup base
  */
-class I2_BASE_API NetworkStream : public Stream
+class NetworkStream : public Stream
 {
 public:
        DECLARE_PTR_TYPEDEFS(NetworkStream);
index a43c63c80a88211ca3bc443f68c39bde0afe9e13..3bff5ddbc7cd982950a17cc81298585b4fb84127 100644 (file)
@@ -30,7 +30,7 @@ class Value;
 /**
  * Number class.
  */
-class I2_BASE_API Number
+class Number
 {
 public:
        static Object::Ptr GetPrototype(void);
index 3721f85ae91854608a1ecca79b0454a3443a420b..8740f337ce05920502c1c1cca866e7c00625f83c 100644 (file)
@@ -41,7 +41,7 @@ class String;
 struct DebugInfo;
 class ValidationUtils;
 
-extern I2_BASE_API Value Empty;
+extern Value Empty;
 
 #define DECLARE_PTR_TYPEDEFS(klass) \
        typedef intrusive_ptr<klass> Ptr
@@ -105,7 +105,7 @@ struct TypeHelper<T, true>
  *
  * @ingroup base
  */
-class I2_BASE_API Object
+class Object
 {
 public:
        DECLARE_PTR_TYPEDEFS(Object);
@@ -160,10 +160,10 @@ private:
        friend void intrusive_ptr_release(Object *object);
 };
 
-I2_BASE_API Value GetPrototypeField(const Value& context, const String& field, bool not_found_error, const DebugInfo& debugInfo);
+Value GetPrototypeField(const Value& context, const String& field, bool not_found_error, const DebugInfo& debugInfo);
 
-I2_BASE_API void TypeAddObject(Object *object);
-I2_BASE_API void TypeRemoveObject(Object *object);
+void TypeAddObject(Object *object);
+void TypeRemoveObject(Object *object);
 
 inline void intrusive_ptr_add_ref(Object *object)
 {
index f7c8d9f17fd83bbdbe731f57608147221f358bd5..427e90a265b4f027c1a6e7499bafb0615f31d254 100644 (file)
@@ -31,7 +31,7 @@ namespace icinga
 /**
  * A scoped lock for Objects.
  */
-struct I2_BASE_API ObjectLock
+struct ObjectLock
 {
 public:
        ObjectLock(void)
index 2e65d7d274b8182dc5baeefebe5bd35e268d8c85..9b3da8972365312033e3e01767de72fdbb4cab12 100644 (file)
@@ -27,7 +27,7 @@
 namespace icinga
 {
 
-class I2_BASE_API ObjectType : public Type
+class ObjectType : public Type
 {
 public:
        ObjectType(void);
index 6d054f5638a5d3d09ae8706cfb2da384e1d2fe9f..3da0bd72456dc5467f165a7df2620e7759245d79 100644 (file)
@@ -31,7 +31,7 @@ namespace icinga
  *
  * @ingroup base
  */
-class I2_BASE_API PerfdataValue : public ObjectImpl<PerfdataValue>
+class PerfdataValue : public ObjectImpl<PerfdataValue>
 {
 public:
        DECLARE_OBJECT(PerfdataValue);
index 1eb8ee55a70d4e73bbed06fa0bafbc6e8eabe072..9c30ef5b88b3dbc7a13642718e479bf7cdd4a20f 100644 (file)
@@ -27,7 +27,7 @@
 namespace icinga
 {
 
-class I2_BASE_API PrimitiveType : public Type
+class PrimitiveType : public Type
 {
 public:
        PrimitiveType(const String& name, const String& base, const ObjectFactory& factory = ObjectFactory());
index 38a560e9e883d9d5ced8e66a31ab1331e1a2b941..bfd28baa4cdc7d9f933e2bddf5dfe07613f2ebb9 100644 (file)
@@ -49,7 +49,7 @@ struct ProcessResult
  *
  * @ingroup base
  */
-class I2_BASE_API Process : public Object
+class Process : public Object
 {
 public:
        DECLARE_PTR_TYPEDEFS(Process);
index b6ff187a01cbcf6bc2f68d8fd16ac1b290ec0127..30b2f31bd3b578df289f8c87d7f96298cfcf66f3 100644 (file)
@@ -32,7 +32,7 @@ namespace icinga
  *
  * @ingroup base
  */
-class I2_BASE_API RingBuffer : public Object
+class RingBuffer : public Object
 {
 public:
        DECLARE_PTR_TYPEDEFS(RingBuffer);
index 8de9360cfdc4e46772d7ede1409ca5376c777842..4c80cad0075c4f73659ae236b13017bdd4c0c1c9 100644 (file)
@@ -29,7 +29,7 @@
 namespace icinga
 {
 
-struct I2_BASE_API ScriptFrame
+struct ScriptFrame
 {
        Dictionary::Ptr Locals;
        Value Self;
index 0f75408c9098799b1cfe1f0d40f138b5c5d2c237..6705b762c839f695ee006d903762c7c56d946234 100644 (file)
@@ -31,7 +31,7 @@ namespace icinga
  *
  * @ingroup base
  */
-class I2_BASE_API ScriptGlobal
+class ScriptGlobal
 {
 public:
        static Value Get(const String& name, const Value *defaultValue = nullptr);
index dae87888258519bf7374c657b1e95275809e1559..c9fa4a605f7e1fce482a50f61a59152ce9e48ad1 100644 (file)
@@ -33,7 +33,7 @@ namespace icinga
 /**
  * @ingroup base
  */
-class I2_BASE_API ScriptUtils
+class ScriptUtils
 {
 public:
        static void StaticInitialize(void);
index 89089ddf8ca125544d2ad2c0ee0b90d218071a1d..b5e8cd31a4cbc3683818ca10225195c355922500 100644 (file)
@@ -27,9 +27,9 @@
 namespace icinga
 {
 
-I2_BASE_API Value Serialize(const Value& value, int attributeTypes = FAState);
-I2_BASE_API Value Deserialize(const Value& value, bool safe_mode = false, int attributeTypes = FAState);
-I2_BASE_API Value Deserialize(const Object::Ptr& object, const Value& value, bool safe_mode = false, int attributeTypes = FAState);
+Value Serialize(const Value& value, int attributeTypes = FAState);
+Value Deserialize(const Value& value, bool safe_mode = false, int attributeTypes = FAState);
+Value Deserialize(const Object::Ptr& object, const Value& value, bool safe_mode = false, int attributeTypes = FAState);
 
 }
 
index d900c6250c668dcb0b6cc0b019feda1531c72df9..066960f0f503fcbe8bf14e83c6ad23df1be4bc5f 100644 (file)
@@ -31,7 +31,7 @@ namespace icinga
  *
  * @ingroup base
  */
-class I2_BASE_API Socket : public Object
+class Socket : public Object
 {
 public:
        DECLARE_PTR_TYPEDEFS(Socket);
index c7aba9a16e1f9dc691353964b3790fe2626c1a71..2acb13ab59536fd0195ba28d0ba032e42651e919 100644 (file)
@@ -36,7 +36,7 @@ namespace icinga
  *
  * @ingroup base
  */
-class I2_BASE_API SocketEvents
+class SocketEvents
 {
 public:
        ~SocketEvents(void);
@@ -93,7 +93,7 @@ struct EventDescription
        Object::Ptr LifesupportReference;
 };
 
-class I2_BASE_API SocketEventEngine
+class SocketEventEngine
 {
 public:
        void Start(void);
@@ -119,7 +119,7 @@ protected:
        friend class SocketEvents;
 };
 
-class I2_BASE_API SocketEventEnginePoll : public SocketEventEngine
+class SocketEventEnginePoll : public SocketEventEngine
 {
 public:
        virtual void Register(SocketEvents *se, Object *lifesupportObject);
@@ -132,7 +132,7 @@ protected:
 };
 
 #ifdef __linux__
-class I2_BASE_API SocketEventEngineEpoll : public SocketEventEngine
+class SocketEventEngineEpoll : public SocketEventEngine
 {
 public:
        virtual void Register(SocketEvents *se, Object *lifesupportObject);
index 73696f23b44fa58502a841ea53feb5bd1fd0da31..b6dbd2c2d2c2332f7205bc2d674fc2a99441ce47 100644 (file)
@@ -31,7 +31,7 @@ namespace icinga
  *
  * @ingroup base
  */
-class I2_BASE_API StackTrace
+class StackTrace
 {
 public:
        StackTrace(void);
@@ -48,7 +48,7 @@ private:
        int m_Count;
 };
 
-I2_BASE_API std::ostream& operator<<(std::ostream& stream, const StackTrace& trace);
+std::ostream& operator<<(std::ostream& stream, const StackTrace& trace);
 
 }
 
index 277bea27b296f0d0d438906df07cf16563cc6f7c..238d37f873a92225c72c545d52a80c59fa4568c1 100644 (file)
@@ -26,7 +26,7 @@
 
 namespace icinga {
 
-class I2_BASE_API StdioStream : public Stream
+class StdioStream : public Stream
 {
 public:
        DECLARE_PTR_TYPEDEFS(StdioStream);
index 7f6dd9006542b9349cee948772b4e384cc746a9f..09a13b7dc0b0a4b4565ce1af30542cd88c01e7b0 100644 (file)
@@ -36,7 +36,7 @@ enum ConnectionRole
        RoleServer
 };
 
-struct I2_BASE_API StreamReadContext
+struct StreamReadContext
 {
        StreamReadContext(void)
                : Buffer(nullptr), Size(0), MustRead(true), Eof(false)
@@ -68,7 +68,7 @@ enum StreamReadStatus
  *
  * @ingroup base
  */
-class I2_BASE_API Stream : public Object
+class Stream : public Object
 {
 public:
        DECLARE_PTR_TYPEDEFS(Stream);
index f4041555374c2878b47cd6298bec18591ef6c3bd..793c00ccb87ca5965546a140ad768e66c3ba0fb2 100644 (file)
@@ -33,7 +33,7 @@ namespace icinga
  *
  * @ingroup base
  */
-class I2_BASE_API StreamLogger : public ObjectImpl<StreamLogger>
+class StreamLogger : public ObjectImpl<StreamLogger>
 {
 public:
        DECLARE_OBJECT(StreamLogger);
index e85814f2e60c8c479db21a929fc3f45b3997c6d5..9a844d447314263202c1e03418b8cf822bab59a2 100644 (file)
@@ -41,7 +41,7 @@ class Value;
  * Rationale for having this: The std::string class has an ambiguous assignment
  * operator when used in conjunction with the Value class.
  */
-class I2_BASE_API String
+class String
 {
 public:
        typedef std::string::iterator Iterator;
index 94edebca9f53241634fb5c73d3749aabe686534e..762f051e0e57334c4e3735f5790d781c13df9424 100644 (file)
@@ -32,7 +32,7 @@ namespace icinga
  *
  * @ingroup base
  */
-class I2_BASE_API SyslogLogger : public ObjectImpl<SyslogLogger>
+class SyslogLogger : public ObjectImpl<SyslogLogger>
 {
 public:
        DECLARE_OBJECT(SyslogLogger);
index af824a16b95846bc336d8314470dcea93df0afc1..e8ba26428c0c6870a852b74d33f7e8c65cb8f71f 100644 (file)
@@ -31,7 +31,7 @@ namespace icinga
  *
  * @ingroup base
  */
-class I2_BASE_API TcpSocket : public Socket
+class TcpSocket : public Socket
 {
 public:
        DECLARE_PTR_TYPEDEFS(TcpSocket);
index 10a327f453e33e6e3a291461cad8ab6eece605fc..9e3f1dc5b54f2448ff8492ae02288fd5ac06f9a4 100644 (file)
@@ -43,7 +43,7 @@ enum SchedulerPolicy
  *
  * @ingroup base
  */
-class I2_BASE_API ThreadPool
+class ThreadPool
 {
 public:
        typedef std::function<void ()> WorkFunction;
index 919980a35fab5540611b717b5a0ffaa98f616165..e28c404d46b56b42c6d73e4213f73fef90d0a9ef 100644 (file)
@@ -33,7 +33,7 @@ class TimerHolder;
  *
  * @ingroup base
  */
-class I2_BASE_API Timer : public Object
+class Timer : public Object
 {
 public:
        DECLARE_PTR_TYPEDEFS(Timer);
index ed687b97c8f163a6e7c5c50637b54827dd41c238..29daad4bf93193745b039239ca8b559adde61c61 100644 (file)
@@ -29,8 +29,8 @@
 
 using namespace icinga;
 
-int I2_EXPORT TlsStream::m_SSLIndex;
-bool I2_EXPORT TlsStream::m_SSLIndexInitialized = false;
+int TlsStream::m_SSLIndex;
+bool TlsStream::m_SSLIndexInitialized = false;
 
 /**
  * Constructor for the TlsStream class.
index 9dd2b1a888ecdf36178b6abceecf60d66a845d2d..d4dd5a17d05b6835ea3cdb5680b73cf5352d14a3 100644 (file)
@@ -43,7 +43,7 @@ enum TlsAction
  *
  * @ingroup base
  */
-class I2_BASE_API TlsStream : public Stream, private SocketEvents
+class TlsStream : public Stream, private SocketEvents
 {
 public:
        DECLARE_PTR_TYPEDEFS(TlsStream);
index cce898852b26ead38beb46613aead849c358e870..23f7c93a628e3125602b9a183bb0b5e69b0ae6f7 100644 (file)
 namespace icinga
 {
 
-void I2_BASE_API InitializeOpenSSL(void);
-std::shared_ptr<SSL_CTX> I2_BASE_API MakeSSLContext(const String& pubkey = String(), const String& privkey = String(), const String& cakey = String());
-void I2_BASE_API AddCRLToSSLContext(const std::shared_ptr<SSL_CTX>& context, const String& crlPath);
-void I2_BASE_API SetCipherListToSSLContext(const std::shared_ptr<SSL_CTX>& context, const String& cipherList);
-void I2_BASE_API SetTlsProtocolminToSSLContext(const std::shared_ptr<SSL_CTX>& context, const String& tlsProtocolmin);
-String I2_BASE_API GetCertificateCN(const std::shared_ptr<X509>& certificate);
-std::shared_ptr<X509> I2_BASE_API GetX509Certificate(const String& pemfile);
-int I2_BASE_API MakeX509CSR(const String& cn, const String& keyfile, const String& csrfile = String(), const String& certfile = String(), bool ca = false);
-std::shared_ptr<X509> I2_BASE_API CreateCert(EVP_PKEY *pubkey, X509_NAME *subject, X509_NAME *issuer, EVP_PKEY *cakey, bool ca);
-String I2_BASE_API GetIcingaCADir(void);
-String I2_BASE_API CertificateToString(const std::shared_ptr<X509>& cert);
-std::shared_ptr<X509> I2_BASE_API StringToCertificate(const String& cert);
-std::shared_ptr<X509> I2_BASE_API CreateCertIcingaCA(EVP_PKEY *pubkey, X509_NAME *subject);
-std::shared_ptr<X509> I2_BASE_API CreateCertIcingaCA(const std::shared_ptr<X509>& cert);
-String I2_BASE_API PBKDF2_SHA1(const String& password, const String& salt, int iterations);
-String I2_BASE_API SHA1(const String& s, bool binary = false);
-String I2_BASE_API SHA256(const String& s);
-String I2_BASE_API RandomString(int length);
-bool I2_BASE_API VerifyCertificate(const std::shared_ptr<X509>& caCertificate, const std::shared_ptr<X509>& certificate);
+void InitializeOpenSSL(void);
+std::shared_ptr<SSL_CTX> MakeSSLContext(const String& pubkey = String(), const String& privkey = String(), const String& cakey = String());
+void AddCRLToSSLContext(const std::shared_ptr<SSL_CTX>& context, const String& crlPath);
+void SetCipherListToSSLContext(const std::shared_ptr<SSL_CTX>& context, const String& cipherList);
+void SetTlsProtocolminToSSLContext(const std::shared_ptr<SSL_CTX>& context, const String& tlsProtocolmin);
+String GetCertificateCN(const std::shared_ptr<X509>& certificate);
+std::shared_ptr<X509> GetX509Certificate(const String& pemfile);
+int MakeX509CSR(const String& cn, const String& keyfile, const String& csrfile = String(), const String& certfile = String(), bool ca = false);
+std::shared_ptr<X509> CreateCert(EVP_PKEY *pubkey, X509_NAME *subject, X509_NAME *issuer, EVP_PKEY *cakey, bool ca);
+String GetIcingaCADir(void);
+String CertificateToString(const std::shared_ptr<X509>& cert);
+std::shared_ptr<X509> StringToCertificate(const String& cert);
+std::shared_ptr<X509> CreateCertIcingaCA(EVP_PKEY *pubkey, X509_NAME *subject);
+std::shared_ptr<X509> CreateCertIcingaCA(const std::shared_ptr<X509>& cert);
+String PBKDF2_SHA1(const String& password, const String& salt, int iterations);
+String SHA1(const String& s, bool binary = false);
+String SHA256(const String& s);
+String RandomString(int length);
+bool VerifyCertificate(const std::shared_ptr<X509>& caCertificate, const std::shared_ptr<X509>& certificate);
 
-class I2_BASE_API openssl_error : virtual public std::exception, virtual public boost::exception { };
+class openssl_error : virtual public std::exception, virtual public boost::exception { };
 
 struct errinfo_openssl_error_;
 typedef boost::error_info<struct errinfo_openssl_error_, unsigned long> errinfo_openssl_error;
index 311a947e9b96f462e9463abb5c0b0636dc6d6584..3b860bc79fd4c10699f05079a31926a7f74099b5 100644 (file)
@@ -70,7 +70,7 @@ public:
        virtual bool ValidateName(const String& type, const String& name) const = 0;
 };
 
-class I2_BASE_API Type : public Object
+class Type : public Object
 {
 public:
        DECLARE_OBJECT(Type);
@@ -114,7 +114,7 @@ private:
        Object::Ptr m_Prototype;
 };
 
-class I2_BASE_API TypeType : public Type
+class TypeType : public Type
 {
 public:
        DECLARE_PTR_TYPEDEFS(Type);
@@ -133,7 +133,7 @@ protected:
 };
 
 template<typename T>
-class I2_BASE_API TypeImpl
+class TypeImpl
 {
 };
 
index 72e27bde0ac74ea64087c4cd3e258f99c49d52aa..a7e31f779cd4d642499d1b4b96c31ece682957d7 100644 (file)
@@ -26,7 +26,7 @@
 namespace icinga
 {
 
-class I2_BASE_API UnixSocket : public Socket
+class UnixSocket : public Socket
 {
 public:
        DECLARE_PTR_TYPEDEFS(UnixSocket);
index ea7988f10e0cc3bc062dcd2097ddba43c1c97f73..a52a8d52e99b4dacccd4d36600a3b963af89452b 100644 (file)
@@ -56,7 +56,7 @@ enum GlobType
  *
  * @ingroup base
  */
-class I2_BASE_API Utility
+class Utility
 {
 public:
        static String DemangleSymbolName(const String& sym);
index d764e9c9c3f5edcf2fa589d10cf75fd86cf46da2..688f6cc1060121c2d508be0983e728ed0b0a6eef 100644 (file)
@@ -49,7 +49,7 @@ enum ValueType
  *
  * @ingroup base
  */
-class I2_BASE_API Value
+class Value
 {
 public:
        Value(void)
@@ -293,100 +293,100 @@ private:
        boost::variant<boost::blank, double, bool, String, Object::Ptr> m_Value;
 };
 
-extern I2_BASE_API Value Empty;
-
-I2_BASE_API Value operator+(const Value& lhs, const char *rhs);
-I2_BASE_API Value operator+(const char *lhs, const Value& rhs);
-
-I2_BASE_API Value operator+(const Value& lhs, const String& rhs);
-I2_BASE_API Value operator+(const String& lhs, const Value& rhs);
-
-I2_BASE_API Value operator+(const Value& lhs, const Value& rhs);
-I2_BASE_API Value operator+(const Value& lhs, double rhs);
-I2_BASE_API Value operator+(double lhs, const Value& rhs);
-I2_BASE_API Value operator+(const Value& lhs, int rhs);
-I2_BASE_API Value operator+(int lhs, const Value& rhs);
-
-I2_BASE_API Value operator-(const Value& lhs, const Value& rhs);
-I2_BASE_API Value operator-(const Value& lhs, double rhs);
-I2_BASE_API Value operator-(double lhs, const Value& rhs);
-I2_BASE_API Value operator-(const Value& lhs, int rhs);
-I2_BASE_API Value operator-(int lhs, const Value& rhs);
-
-I2_BASE_API Value operator*(const Value& lhs, const Value& rhs);
-I2_BASE_API Value operator*(const Value& lhs, double rhs);
-I2_BASE_API Value operator*(double lhs, const Value& rhs);
-I2_BASE_API Value operator*(const Value& lhs, int rhs);
-I2_BASE_API Value operator*(int lhs, const Value& rhs);
-
-I2_BASE_API Value operator/(const Value& lhs, const Value& rhs);
-I2_BASE_API Value operator/(const Value& lhs, double rhs);
-I2_BASE_API Value operator/(double lhs, const Value& rhs);
-I2_BASE_API Value operator/(const Value& lhs, int rhs);
-I2_BASE_API Value operator/(int lhs, const Value& rhs);
-
-I2_BASE_API Value operator%(const Value& lhs, const Value& rhs);
-I2_BASE_API Value operator%(const Value& lhs, double rhs);
-I2_BASE_API Value operator%(double lhs, const Value& rhs);
-I2_BASE_API Value operator%(const Value& lhs, int rhs);
-I2_BASE_API Value operator%(int lhs, const Value& rhs);
-
-I2_BASE_API Value operator^(const Value& lhs, const Value& rhs);
-I2_BASE_API Value operator^(const Value& lhs, double rhs);
-I2_BASE_API Value operator^(double lhs, const Value& rhs);
-I2_BASE_API Value operator^(const Value& lhs, int rhs);
-I2_BASE_API Value operator^(int lhs, const Value& rhs);
-
-I2_BASE_API Value operator&(const Value& lhs, const Value& rhs);
-I2_BASE_API Value operator&(const Value& lhs, double rhs);
-I2_BASE_API Value operator&(double lhs, const Value& rhs);
-I2_BASE_API Value operator&(const Value& lhs, int rhs);
-I2_BASE_API Value operator&(int lhs, const Value& rhs);
-
-I2_BASE_API Value operator|(const Value& lhs, const Value& rhs);
-I2_BASE_API Value operator|(const Value& lhs, double rhs);
-I2_BASE_API Value operator|(double lhs, const Value& rhs);
-I2_BASE_API Value operator|(const Value& lhs, int rhs);
-I2_BASE_API Value operator|(int lhs, const Value& rhs);
-
-I2_BASE_API Value operator<<(const Value& lhs, const Value& rhs);
-I2_BASE_API Value operator<<(const Value& lhs, double rhs);
-I2_BASE_API Value operator<<(double lhs, const Value& rhs);
-I2_BASE_API Value operator<<(const Value& lhs, int rhs);
-I2_BASE_API Value operator<<(int lhs, const Value& rhs);
-
-I2_BASE_API Value operator>>(const Value& lhs, const Value& rhs);
-I2_BASE_API Value operator>>(const Value& lhs, double rhs);
-I2_BASE_API Value operator>>(double lhs, const Value& rhs);
-I2_BASE_API Value operator>>(const Value& lhs, int rhs);
-I2_BASE_API Value operator>>(int lhs, const Value& rhs);
-
-I2_BASE_API bool operator<(const Value& lhs, const Value& rhs);
-I2_BASE_API bool operator<(const Value& lhs, double rhs);
-I2_BASE_API bool operator<(double lhs, const Value& rhs);
-I2_BASE_API bool operator<(const Value& lhs, int rhs);
-I2_BASE_API bool operator<(int lhs, const Value& rhs);
-
-I2_BASE_API bool operator>(const Value& lhs, const Value& rhs);
-I2_BASE_API bool operator>(const Value& lhs, double rhs);
-I2_BASE_API bool operator>(double lhs, const Value& rhs);
-I2_BASE_API bool operator>(const Value& lhs, int rhs);
-I2_BASE_API bool operator>(int lhs, const Value& rhs);
-
-I2_BASE_API bool operator<=(const Value& lhs, const Value& rhs);
-I2_BASE_API bool operator<=(const Value& lhs, double rhs);
-I2_BASE_API bool operator<=(double lhs, const Value& rhs);
-I2_BASE_API bool operator<=(const Value& lhs, int rhs);
-I2_BASE_API bool operator<=(int lhs, const Value& rhs);
-
-I2_BASE_API bool operator>=(const Value& lhs, const Value& rhs);
-I2_BASE_API bool operator>=(const Value& lhs, double rhs);
-I2_BASE_API bool operator>=(double lhs, const Value& rhs);
-I2_BASE_API bool operator>=(const Value& lhs, int rhs);
-I2_BASE_API bool operator>=(int lhs, const Value& rhs);
-
-I2_BASE_API std::ostream& operator<<(std::ostream& stream, const Value& value);
-I2_BASE_API std::istream& operator>>(std::istream& stream, Value& value);
+extern Value Empty;
+
+Value operator+(const Value& lhs, const char *rhs);
+Value operator+(const char *lhs, const Value& rhs);
+
+Value operator+(const Value& lhs, const String& rhs);
+Value operator+(const String& lhs, const Value& rhs);
+
+Value operator+(const Value& lhs, const Value& rhs);
+Value operator+(const Value& lhs, double rhs);
+Value operator+(double lhs, const Value& rhs);
+Value operator+(const Value& lhs, int rhs);
+Value operator+(int lhs, const Value& rhs);
+
+Value operator-(const Value& lhs, const Value& rhs);
+Value operator-(const Value& lhs, double rhs);
+Value operator-(double lhs, const Value& rhs);
+Value operator-(const Value& lhs, int rhs);
+Value operator-(int lhs, const Value& rhs);
+
+Value operator*(const Value& lhs, const Value& rhs);
+Value operator*(const Value& lhs, double rhs);
+Value operator*(double lhs, const Value& rhs);
+Value operator*(const Value& lhs, int rhs);
+Value operator*(int lhs, const Value& rhs);
+
+Value operator/(const Value& lhs, const Value& rhs);
+Value operator/(const Value& lhs, double rhs);
+Value operator/(double lhs, const Value& rhs);
+Value operator/(const Value& lhs, int rhs);
+Value operator/(int lhs, const Value& rhs);
+
+Value operator%(const Value& lhs, const Value& rhs);
+Value operator%(const Value& lhs, double rhs);
+Value operator%(double lhs, const Value& rhs);
+Value operator%(const Value& lhs, int rhs);
+Value operator%(int lhs, const Value& rhs);
+
+Value operator^(const Value& lhs, const Value& rhs);
+Value operator^(const Value& lhs, double rhs);
+Value operator^(double lhs, const Value& rhs);
+Value operator^(const Value& lhs, int rhs);
+Value operator^(int lhs, const Value& rhs);
+
+Value operator&(const Value& lhs, const Value& rhs);
+Value operator&(const Value& lhs, double rhs);
+Value operator&(double lhs, const Value& rhs);
+Value operator&(const Value& lhs, int rhs);
+Value operator&(int lhs, const Value& rhs);
+
+Value operator|(const Value& lhs, const Value& rhs);
+Value operator|(const Value& lhs, double rhs);
+Value operator|(double lhs, const Value& rhs);
+Value operator|(const Value& lhs, int rhs);
+Value operator|(int lhs, const Value& rhs);
+
+Value operator<<(const Value& lhs, const Value& rhs);
+Value operator<<(const Value& lhs, double rhs);
+Value operator<<(double lhs, const Value& rhs);
+Value operator<<(const Value& lhs, int rhs);
+Value operator<<(int lhs, const Value& rhs);
+
+Value operator>>(const Value& lhs, const Value& rhs);
+Value operator>>(const Value& lhs, double rhs);
+Value operator>>(double lhs, const Value& rhs);
+Value operator>>(const Value& lhs, int rhs);
+Value operator>>(int lhs, const Value& rhs);
+
+bool operator<(const Value& lhs, const Value& rhs);
+bool operator<(const Value& lhs, double rhs);
+bool operator<(double lhs, const Value& rhs);
+bool operator<(const Value& lhs, int rhs);
+bool operator<(int lhs, const Value& rhs);
+
+bool operator>(const Value& lhs, const Value& rhs);
+bool operator>(const Value& lhs, double rhs);
+bool operator>(double lhs, const Value& rhs);
+bool operator>(const Value& lhs, int rhs);
+bool operator>(int lhs, const Value& rhs);
+
+bool operator<=(const Value& lhs, const Value& rhs);
+bool operator<=(const Value& lhs, double rhs);
+bool operator<=(double lhs, const Value& rhs);
+bool operator<=(const Value& lhs, int rhs);
+bool operator<=(int lhs, const Value& rhs);
+
+bool operator>=(const Value& lhs, const Value& rhs);
+bool operator>=(const Value& lhs, double rhs);
+bool operator>=(double lhs, const Value& rhs);
+bool operator>=(const Value& lhs, int rhs);
+bool operator>=(int lhs, const Value& rhs);
+
+std::ostream& operator<<(std::ostream& stream, const Value& value);
+std::istream& operator>>(std::istream& stream, Value& value);
 
 }
 
diff --git a/lib/base/visibility.hpp b/lib/base/visibility.hpp
deleted file mode 100644 (file)
index 7908193..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-/******************************************************************************
- * Icinga 2                                                                   *
- * Copyright (C) 2012-2018 Icinga Development Team (https://www.icinga.com/)  *
- *                                                                            *
- * This program is free software; you can redistribute it and/or              *
- * modify it under the terms of the GNU General Public License                *
- * as published by the Free Software Foundation; either version 2             *
- * of the License, or (at your option) any later version.                     *
- *                                                                            *
- * This program is distributed in the hope that it will be useful,            *
- * but WITHOUT ANY WARRANTY; without even the implied warranty of             *
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the              *
- * GNU General Public License for more details.                               *
- *                                                                            *
- * You should have received a copy of the GNU General Public License          *
- * along with this program; if not, write to the Free Software Foundation     *
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.             *
- ******************************************************************************/
-
-#ifndef VISIBILITY_H
-#define VISIBILITY_H
-
-#ifndef _WIN32
-#      define I2_EXPORT __attribute__ ((visibility("default")))
-#      define I2_IMPORT __attribute__ ((visibility("default")))
-#else /* _WIN32 */
-#      define I2_EXPORT __declspec(dllexport)
-#      define I2_IMPORT __declspec(dllimport)
-#      define I2_HIDDEN
-#endif /* _WIN32 */
-
-#endif /* VISIBILITY_H */
index fea9415c81de60f7e004c1f820c83e98fad956d5..781eaba5ab74855a534bf23ac9c270ccf4423454 100644 (file)
@@ -76,7 +76,7 @@ inline bool operator<(const Task& a, const Task& b)
  *
  * @ingroup base
  */
-class I2_BASE_API WorkQueue
+class WorkQueue
 {
 public:
        typedef std::function<void (boost::exception_ptr)> ExceptionCallback;
index c1ceb05c37983c901caa2649779d025b56b2c324..fe79d0e09565b422959977024dbf620271c40b97 100644 (file)
@@ -25,16 +25,13 @@ if(ICINGA2_UNITY_BUILD)
     mkunity_target(checker checker checker_SOURCES)
 endif()
 
-add_library(checker SHARED ${checker_SOURCES})
+add_library(checker STATIC ${checker_SOURCES})
 
 target_link_libraries(checker ${Boost_LIBRARIES} base config icinga remote)
 
 set_target_properties (
   checker PROPERTIES
-  INSTALL_RPATH ${CMAKE_INSTALL_FULL_LIBDIR}/icinga2
-  DEFINE_SYMBOL I2_CHECKER_BUILD
   FOLDER Components
-  VERSION ${SPEC_VERSION}
 )
 
 install_if_not_exists(
@@ -49,10 +46,4 @@ else()
   install_if_not_exists(${PROJECT_SOURCE_DIR}/etc/icinga2/features-enabled/checker.conf ${CMAKE_INSTALL_SYSCONFDIR}/icinga2/features-enabled)
 endif()
 
-install(
-  TARGETS checker
-  RUNTIME DESTINATION ${CMAKE_INSTALL_SBINDIR}
-  LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}/icinga2
-)
-
 set(CPACK_NSIS_EXTRA_INSTALL_COMMANDS "${CPACK_NSIS_EXTRA_INSTALL_COMMANDS}" PARENT_SCOPE)
index 690335888fb7d6b7197ff298038a6d446fae8809..dc1768f36b07e85c26b4f4e135ea4a7df0858fb2 100644 (file)
@@ -33,7 +33,7 @@ if(ICINGA2_UNITY_BUILD)
     mkunity_target(cli cli cli_SOURCES)
 endif()
 
-add_library(cli SHARED ${cli_SOURCES})
+add_library(cli STATIC ${cli_SOURCES})
 
 target_link_libraries(cli ${Boost_LIBRARIES} base config remote)
 
@@ -49,14 +49,5 @@ endif()
 
 set_target_properties (
   cli PROPERTIES
-  INSTALL_RPATH ${CMAKE_INSTALL_FULL_LIBDIR}/icinga2
-  DEFINE_SYMBOL I2_CLI_BUILD
   FOLDER Lib
-  VERSION ${SPEC_VERSION}
-)
-
-install(
-  TARGETS cli
-  RUNTIME DESTINATION ${CMAKE_INSTALL_SBINDIR}
-  LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}/icinga2
 )
index 838418dd20b59ecc6c7fee79fe21a111fbc77d74..46bf453da841940e47431d8129bdc0ea90bec846 100644 (file)
@@ -34,7 +34,7 @@ namespace icinga
 /**
  * @ingroup cli
  */
-class I2_CLI_API ApiSetupUtility
+class ApiSetupUtility
 {
 public:
        static bool SetupMaster(const String& cn, bool prompt_restart = false);
index 989db9642f4bb48c0ad9591bf1d9bbbb20d913e7..e00baaf998c508594a29b5e4a47c55fcaf0f2b1e 100644 (file)
@@ -32,8 +32,8 @@
 namespace icinga
 {
 
-std::vector<String> I2_CLI_API GetBashCompletionSuggestions(const String& type, const String& word);
-std::vector<String> I2_CLI_API GetFieldCompletionSuggestions(const Type::Ptr& type, const String& word);
+std::vector<String> GetBashCompletionSuggestions(const String& type, const String& word);
+std::vector<String> GetFieldCompletionSuggestions(const Type::Ptr& type, const String& word);
 
 enum ImpersonationLevel
 {
@@ -47,7 +47,7 @@ enum ImpersonationLevel
  *
  * @ingroup base
  */
-class I2_CLI_API CLICommand : public Object
+class CLICommand : public Object
 {
 public:
        DECLARE_PTR_TYPEDEFS(CLICommand);
index 98de6ac18a9d35f16c1fb74869226129453dc765..ffd8f04b3f7e3baacc85d6b8c0193a733f07cfe3 100644 (file)
@@ -31,7 +31,7 @@ namespace icinga
 /**
  * @ingroup cli
  */
-class I2_CLI_API DaemonUtility
+class DaemonUtility
 {
 public:
        static bool ValidateConfigFiles(const std::vector<std::string>& configs, const String& objectsFile = String());
index 28df00e3d874b049328991ed91f7137f8142b71b..281d62ca49fc9a027eb221e36460b1dc284c89ad 100644 (file)
@@ -32,7 +32,7 @@ namespace icinga
 /**
  * @ingroup cli
  */
-class I2_CLI_API FeatureUtility
+class FeatureUtility
 {
 public:
        static String GetFeaturesAvailablePath(void);
index e7c6144cd11a85120457b0e3aaf1a3940cc663e9..c23e2b87534c14a8a01ffcfe7b3cdabe28aa3e84 100644 (file)
 
 #include "base/i2-base.hpp"
 
-#ifdef I2_CLI_BUILD
-#      define I2_CLI_API I2_EXPORT
-#else /* I2_REMOTE_BUILD */
-#      define I2_CLI_API I2_IMPORT
-#endif /* I2_REMOTE_BUILD */
-
 #endif /* I2CLI_H */
index 481a7bae71a46589d9d0be02f28a520406066869..403699d1689368372d8cf82fd16cfcf75988c8b0 100644 (file)
@@ -34,7 +34,7 @@ namespace icinga
 /**
  * @ingroup cli
  */
-class I2_CLI_API NodeUtility
+class NodeUtility
 {
 public:
        static String GetConstantsConfPath(void);
index b7a9da9e9546bf20ddaf3351a6b42f30d1783540..1b80f7dc2337bc6d1cd34c1fa4b909576b49c4fb 100644 (file)
@@ -33,7 +33,7 @@ namespace icinga
 /**
  * @ingroup cli
  */
-class I2_CLI_API ObjectListUtility
+class ObjectListUtility
 {
 public:
        static bool PrintObject(std::ostream& fp, bool& first, const String& message, std::map<String, int>& type_count, const String& name_filter, const String& type_filter);
index 880bbe4da5b393e9daed5ebf2f9f565e755b54c2..4a3ce1545c17a38b3f75bcca38a1ee16e9d67205 100644 (file)
@@ -32,7 +32,7 @@ namespace icinga
 /**
  * @ingroup cli
  */
-class I2_CLI_API VariableUtility
+class VariableUtility
 {
 public:
        static Value GetVariable(const String& name);
index 4bae49ae3b6e38f7e4d86ae5367f98df3eb4cc17..1e7b749b42862b03d6045cc58b73e743a82e5c95 100644 (file)
@@ -30,16 +30,13 @@ if(ICINGA2_UNITY_BUILD)
     mkunity_target(compat compat compat_SOURCES)
 endif()
 
-add_library(compat SHARED ${compat_SOURCES})
+add_library(compat STATIC ${compat_SOURCES})
 
 target_link_libraries(compat ${Boost_LIBRARIES} base config icinga)
 
 set_target_properties (
   compat PROPERTIES
-  INSTALL_RPATH ${CMAKE_INSTALL_FULL_LIBDIR}/icinga2
-  DEFINE_SYMBOL I2_COMPAT_BUILD
   FOLDER Components
-  VERSION ${SPEC_VERSION}
 )
 
 install_if_not_exists(
@@ -57,8 +54,6 @@ install_if_not_exists(
   ${CMAKE_INSTALL_SYSCONFDIR}/icinga2/features-available
 )
 
-install(TARGETS compat RUNTIME DESTINATION ${CMAKE_INSTALL_SBINDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}/icinga2)
-
 install(CODE "file(MAKE_DIRECTORY \"\$ENV{DESTDIR}${CMAKE_INSTALL_FULL_LOCALSTATEDIR}/log/icinga2/compat/archives\")")
 install(CODE "file(MAKE_DIRECTORY \"\$ENV{DESTDIR}${CMAKE_INSTALL_FULL_LOCALSTATEDIR}/spool/icinga2\")")
 install(CODE "file(MAKE_DIRECTORY \"\$ENV{DESTDIR}${ICINGA2_RUNDIR}/icinga2/cmd\")")
index ec3dd8909a34aa5ef6d3fc1468a69bab739fae18..7fd35b558a7c8d68e57f9cfa1981096ff5dd7450 100644 (file)
@@ -44,27 +44,11 @@ if(ICINGA2_UNITY_BUILD)
     mkunity_target(config config config_SOURCES)
 endif()
 
-add_library(config SHARED ${config_SOURCES})
+add_library(config STATIC ${config_SOURCES})
 
-target_link_libraries(config ${Boost_LIBRARIES} base) 
+target_link_libraries(config ${Boost_LIBRARIES} base)
 
 set_target_properties (
   config PROPERTIES
-  INSTALL_RPATH ${CMAKE_INSTALL_FULL_LIBDIR}/icinga2
-  DEFINE_SYMBOL I2_CONFIG_BUILD
   FOLDER Lib
-  VERSION ${SPEC_VERSION}
 )
-
-install(
-  TARGETS config
-  RUNTIME DESTINATION ${CMAKE_INSTALL_SBINDIR}
-  LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}/icinga2
-)
-
-if(APPLE)
-  install(
-    TARGETS config
-    LIBRARY DESTINATION ${CMAKE_INSTALL_BINDIR}/icinga-studio.app/Contents
-  )
-endif()
index 55750fc3f75919181f5f2c3b3d2ff34bfc66009f..ff30b7d4b012dbb4cf52869c4f3f32f5f8e0a6a0 100644 (file)
@@ -28,7 +28,7 @@
 namespace icinga
 {
 
-class I2_CONFIG_API ActivationContext : public Object
+class ActivationContext : public Object
 {
 public:
        DECLARE_PTR_TYPEDEFS(ActivationContext);
@@ -46,7 +46,7 @@ private:
        friend class ActivationScope;
 };
 
-class I2_CONFIG_API ActivationScope
+class ActivationScope
 {
 public:
        ActivationScope(const ActivationContext::Ptr& context = nullptr);
index 4b8a776eb1842aae0a19113e3c9b5efb12f6ff00..8a13db3921422e1822208da9bbe8e9f812800823 100644 (file)
@@ -30,7 +30,7 @@ namespace icinga
 /**
  * @ingroup config
  */
-class I2_CONFIG_API ApplyRule
+class ApplyRule
 {
 public:
        typedef std::map<String, std::vector<String> > TypeMap;
index 92dd78c7c174133102a483535c93af20cf21a5b4..53df8994a61e1afc0c8cac04086584fcd16b12f2 100644 (file)
@@ -83,7 +83,7 @@ struct ZoneFragment
  *
  * @ingroup config
  */
-class I2_CONFIG_API ConfigCompiler
+class ConfigCompiler
 {
 public:
        explicit ConfigCompiler(const String& path, std::istream *input,
index 9aad4916d6b6584203d50f85a655dc960cd02a26..75fa887e7eaf544be59815b384c9e6b2d1f206ec 100644 (file)
@@ -31,7 +31,7 @@ namespace icinga
 /*
  * @ingroup config
  */
-class I2_CONFIG_API ConfigCompilerContext
+class ConfigCompilerContext
 {
 public:
        ConfigCompilerContext(void);
index 742c88fe9a5931c81e8166c22685597ad36ebc06..f2fc84037188083d00e8a79a6fbf1d1e3d2f22b3 100644 (file)
@@ -36,7 +36,7 @@ namespace icinga
  *
  * @ingroup config
  */
-class I2_CONFIG_API ConfigItem : public Object {
+class ConfigItem : public Object {
 public:
        DECLARE_PTR_TYPEDEFS(ConfigItem);
 
index c44553d72700eb08759bcf81ca48170835a5abba..d1a344a295a2046f7d7a3c152dda7bcbc849a466 100644 (file)
@@ -34,7 +34,7 @@ namespace icinga
  *
  * @ingroup config
  */
-class I2_CONFIG_API ConfigItemBuilder : public Object
+class ConfigItemBuilder : public Object
 {
 public:
        DECLARE_PTR_TYPEDEFS(ConfigItemBuilder);
index 4d1534dca9caf9619704bfe8c139db72ae80c17e..cc29c1dcdaeb4a5904d5bcb90d39ad6b5537906c 100644 (file)
@@ -840,7 +840,9 @@ ExpressionResult LibraryExpression::DoEvaluate(ScriptFrame& frame, DebugHint *dh
        ExpressionResult libres = m_Operand->Evaluate(frame, dhint);
        CHECK_RESULT(libres);
 
-       Loader::LoadExtensionLibrary(libres.GetValue());
+       Log(LogNotice, "config")
+               << "Ignoring explicit load request for library \"" << libres << "\".";
+       //Loader::LoadExtensionLibrary(libres.GetValue());
 
        return Empty;
 }
index 6b7eb9f02c029773a2f42bfae391e58089661220..1bf55b0d451302dedb95c5209eacf72ab4996905 100644 (file)
@@ -195,7 +195,7 @@ private:
 /**
  * @ingroup config
  */
-class I2_CONFIG_API Expression
+class Expression
 {
 public:
        Expression(void) = default;
@@ -215,9 +215,9 @@ public:
        static void ScriptBreakpoint(ScriptFrame& frame, ScriptError *ex, const DebugInfo& di);
 };
 
-I2_CONFIG_API std::unique_ptr<Expression> MakeIndexer(ScopeSpecifier scopeSpec, const String& index);
+std::unique_ptr<Expression> MakeIndexer(ScopeSpecifier scopeSpec, const String& index);
 
-class I2_CONFIG_API OwnedExpression : public Expression
+class OwnedExpression : public Expression
 {
 public:
        OwnedExpression(const std::shared_ptr<Expression>& expression)
@@ -239,7 +239,7 @@ private:
        std::shared_ptr<Expression> m_Expression;
 };
 
-class I2_CONFIG_API LiteralExpression : public Expression
+class LiteralExpression : public Expression
 {
 public:
        LiteralExpression(const Value& value = Value());
@@ -266,7 +266,7 @@ inline std::unique_ptr<LiteralExpression> MakeLiteral(const Value& literal = Val
        return std::unique_ptr<LiteralExpression>(MakeLiteralRaw(literal));
 }
 
-class I2_CONFIG_API DebuggableExpression : public Expression
+class DebuggableExpression : public Expression
 {
 public:
        DebuggableExpression(const DebugInfo& debugInfo = DebugInfo())
@@ -279,7 +279,7 @@ protected:
        DebugInfo m_DebugInfo;
 };
 
-class I2_CONFIG_API UnaryExpression : public DebuggableExpression
+class UnaryExpression : public DebuggableExpression
 {
 public:
        UnaryExpression(std::unique_ptr<Expression> operand, const DebugInfo& debugInfo = DebugInfo())
@@ -290,7 +290,7 @@ protected:
        std::unique_ptr<Expression> m_Operand;
 };
 
-class I2_CONFIG_API BinaryExpression : public DebuggableExpression
+class BinaryExpression : public DebuggableExpression
 {
 public:
        BinaryExpression(std::unique_ptr<Expression> operand1, std::unique_ptr<Expression> operand2, const DebugInfo& debugInfo = DebugInfo())
@@ -302,7 +302,7 @@ protected:
        std::unique_ptr<Expression> m_Operand2;
 };
 
-class I2_CONFIG_API VariableExpression : public DebuggableExpression
+class VariableExpression : public DebuggableExpression
 {
 public:
        VariableExpression(const String& variable, const DebugInfo& debugInfo = DebugInfo())
@@ -321,10 +321,10 @@ protected:
 private:
        String m_Variable;
 
-       friend I2_CONFIG_API void BindToScope(std::unique_ptr<Expression>& expr, ScopeSpecifier scopeSpec);
+       friend void BindToScope(std::unique_ptr<Expression>& expr, ScopeSpecifier scopeSpec);
 };
 
-class I2_CONFIG_API NegateExpression : public UnaryExpression
+class NegateExpression : public UnaryExpression
 {
 public:
        NegateExpression(std::unique_ptr<Expression> operand, const DebugInfo& debugInfo = DebugInfo())
@@ -335,7 +335,7 @@ protected:
        virtual ExpressionResult DoEvaluate(ScriptFrame& frame, DebugHint *dhint) const override;
 };
 
-class I2_CONFIG_API LogicalNegateExpression : public UnaryExpression
+class LogicalNegateExpression : public UnaryExpression
 {
 public:
        LogicalNegateExpression(std::unique_ptr<Expression> operand, const DebugInfo& debugInfo = DebugInfo())
@@ -346,7 +346,7 @@ protected:
        virtual ExpressionResult DoEvaluate(ScriptFrame& frame, DebugHint *dhint) const override;
 };
 
-class I2_CONFIG_API AddExpression : public BinaryExpression
+class AddExpression : public BinaryExpression
 {
 public:
        AddExpression(std::unique_ptr<Expression> operand1, std::unique_ptr<Expression> operand2, const DebugInfo& debugInfo = DebugInfo())
@@ -357,7 +357,7 @@ protected:
        virtual ExpressionResult DoEvaluate(ScriptFrame& frame, DebugHint *dhint) const override;
 };
 
-class I2_CONFIG_API SubtractExpression : public BinaryExpression
+class SubtractExpression : public BinaryExpression
 {
 public:
        SubtractExpression(std::unique_ptr<Expression> operand1, std::unique_ptr<Expression> operand2, const DebugInfo& debugInfo = DebugInfo())
@@ -368,7 +368,7 @@ protected:
        virtual ExpressionResult DoEvaluate(ScriptFrame& frame, DebugHint *dhint) const override;
 };
 
-class I2_CONFIG_API MultiplyExpression : public BinaryExpression
+class MultiplyExpression : public BinaryExpression
 {
 public:
        MultiplyExpression(std::unique_ptr<Expression> operand1, std::unique_ptr<Expression> operand2, const DebugInfo& debugInfo = DebugInfo())
@@ -379,7 +379,7 @@ protected:
        virtual ExpressionResult DoEvaluate(ScriptFrame& frame, DebugHint *dhint) const override;
 };
 
-class I2_CONFIG_API DivideExpression : public BinaryExpression
+class DivideExpression : public BinaryExpression
 {
 public:
        DivideExpression(std::unique_ptr<Expression> operand1, std::unique_ptr<Expression> operand2, const DebugInfo& debugInfo = DebugInfo())
@@ -390,7 +390,7 @@ protected:
        virtual ExpressionResult DoEvaluate(ScriptFrame& frame, DebugHint *dhint) const override;
 };
 
-class I2_CONFIG_API ModuloExpression : public BinaryExpression
+class ModuloExpression : public BinaryExpression
 {
 public:
        ModuloExpression(std::unique_ptr<Expression> operand1, std::unique_ptr<Expression> operand2, const DebugInfo& debugInfo = DebugInfo())
@@ -401,7 +401,7 @@ protected:
        virtual ExpressionResult DoEvaluate(ScriptFrame& frame, DebugHint *dhint) const override;
 };
 
-class I2_CONFIG_API XorExpression : public BinaryExpression
+class XorExpression : public BinaryExpression
 {
 public:
        XorExpression(std::unique_ptr<Expression> operand1, std::unique_ptr<Expression> operand2, const DebugInfo& debugInfo = DebugInfo())
@@ -412,7 +412,7 @@ protected:
        virtual ExpressionResult DoEvaluate(ScriptFrame& frame, DebugHint *dhint) const override;
 };
 
-class I2_CONFIG_API BinaryAndExpression : public BinaryExpression
+class BinaryAndExpression : public BinaryExpression
 {
 public:
        BinaryAndExpression(std::unique_ptr<Expression> operand1, std::unique_ptr<Expression> operand2, const DebugInfo& debugInfo = DebugInfo())
@@ -423,7 +423,7 @@ protected:
        virtual ExpressionResult DoEvaluate(ScriptFrame& frame, DebugHint *dhint) const override;
 };
 
-class I2_CONFIG_API BinaryOrExpression : public BinaryExpression
+class BinaryOrExpression : public BinaryExpression
 {
 public:
        BinaryOrExpression(std::unique_ptr<Expression> operand1, std::unique_ptr<Expression> operand2, const DebugInfo& debugInfo = DebugInfo())
@@ -434,7 +434,7 @@ protected:
        virtual ExpressionResult DoEvaluate(ScriptFrame& frame, DebugHint *dhint) const override;
 };
 
-class I2_CONFIG_API ShiftLeftExpression : public BinaryExpression
+class ShiftLeftExpression : public BinaryExpression
 {
 public:
        ShiftLeftExpression(std::unique_ptr<Expression> operand1, std::unique_ptr<Expression> operand2, const DebugInfo& debugInfo = DebugInfo())
@@ -445,7 +445,7 @@ protected:
        virtual ExpressionResult DoEvaluate(ScriptFrame& frame, DebugHint *dhint) const override;
 };
 
-class I2_CONFIG_API ShiftRightExpression : public BinaryExpression
+class ShiftRightExpression : public BinaryExpression
 {
 public:
        ShiftRightExpression(std::unique_ptr<Expression> operand1, std::unique_ptr<Expression> operand2, const DebugInfo& debugInfo = DebugInfo())
@@ -456,7 +456,7 @@ protected:
        virtual ExpressionResult DoEvaluate(ScriptFrame& frame, DebugHint *dhint) const override;
 };
 
-class I2_CONFIG_API EqualExpression : public BinaryExpression
+class EqualExpression : public BinaryExpression
 {
 public:
        EqualExpression(std::unique_ptr<Expression> operand1, std::unique_ptr<Expression> operand2, const DebugInfo& debugInfo = DebugInfo())
@@ -467,7 +467,7 @@ protected:
        virtual ExpressionResult DoEvaluate(ScriptFrame& frame, DebugHint *dhint) const override;
 };
 
-class I2_CONFIG_API NotEqualExpression : public BinaryExpression
+class NotEqualExpression : public BinaryExpression
 {
 public:
        NotEqualExpression(std::unique_ptr<Expression> operand1, std::unique_ptr<Expression> operand2, const DebugInfo& debugInfo = DebugInfo())
@@ -478,7 +478,7 @@ protected:
        virtual ExpressionResult DoEvaluate(ScriptFrame& frame, DebugHint *dhint) const override;
 };
 
-class I2_CONFIG_API LessThanExpression : public BinaryExpression
+class LessThanExpression : public BinaryExpression
 {
 public:
        LessThanExpression(std::unique_ptr<Expression> operand1, std::unique_ptr<Expression> operand2, const DebugInfo& debugInfo = DebugInfo())
@@ -489,7 +489,7 @@ protected:
        virtual ExpressionResult DoEvaluate(ScriptFrame& frame, DebugHint *dhint) const override;
 };
 
-class I2_CONFIG_API GreaterThanExpression : public BinaryExpression
+class GreaterThanExpression : public BinaryExpression
 {
 public:
        GreaterThanExpression(std::unique_ptr<Expression> operand1, std::unique_ptr<Expression> operand2, const DebugInfo& debugInfo = DebugInfo())
@@ -500,7 +500,7 @@ protected:
        virtual ExpressionResult DoEvaluate(ScriptFrame& frame, DebugHint *dhint) const override;
 };
 
-class I2_CONFIG_API LessThanOrEqualExpression : public BinaryExpression
+class LessThanOrEqualExpression : public BinaryExpression
 {
 public:
        LessThanOrEqualExpression(std::unique_ptr<Expression> operand1, std::unique_ptr<Expression> operand2, const DebugInfo& debugInfo = DebugInfo())
@@ -511,7 +511,7 @@ protected:
        virtual ExpressionResult DoEvaluate(ScriptFrame& frame, DebugHint *dhint) const override;
 };
 
-class I2_CONFIG_API GreaterThanOrEqualExpression : public BinaryExpression
+class GreaterThanOrEqualExpression : public BinaryExpression
 {
 public:
        GreaterThanOrEqualExpression(std::unique_ptr<Expression> operand1, std::unique_ptr<Expression> operand2, const DebugInfo& debugInfo = DebugInfo())
@@ -522,7 +522,7 @@ protected:
        virtual ExpressionResult DoEvaluate(ScriptFrame& frame, DebugHint *dhint) const override;
 };
 
-class I2_CONFIG_API InExpression : public BinaryExpression
+class InExpression : public BinaryExpression
 {
 public:
        InExpression(std::unique_ptr<Expression> operand1, std::unique_ptr<Expression> operand2, const DebugInfo& debugInfo = DebugInfo())
@@ -533,7 +533,7 @@ protected:
        virtual ExpressionResult DoEvaluate(ScriptFrame& frame, DebugHint *dhint) const override;
 };
 
-class I2_CONFIG_API NotInExpression : public BinaryExpression
+class NotInExpression : public BinaryExpression
 {
 public:
        NotInExpression(std::unique_ptr<Expression> operand1, std::unique_ptr<Expression> operand2, const DebugInfo& debugInfo = DebugInfo())
@@ -544,7 +544,7 @@ protected:
        virtual ExpressionResult DoEvaluate(ScriptFrame& frame, DebugHint *dhint) const override;
 };
 
-class I2_CONFIG_API LogicalAndExpression : public BinaryExpression
+class LogicalAndExpression : public BinaryExpression
 {
 public:
        LogicalAndExpression(std::unique_ptr<Expression> operand1, std::unique_ptr<Expression> operand2, const DebugInfo& debugInfo = DebugInfo())
@@ -555,7 +555,7 @@ protected:
        virtual ExpressionResult DoEvaluate(ScriptFrame& frame, DebugHint *dhint) const override;
 };
 
-class I2_CONFIG_API LogicalOrExpression : public BinaryExpression
+class LogicalOrExpression : public BinaryExpression
 {
 public:
        LogicalOrExpression(std::unique_ptr<Expression> operand1, std::unique_ptr<Expression> operand2, const DebugInfo& debugInfo = DebugInfo())
@@ -566,7 +566,7 @@ protected:
        virtual ExpressionResult DoEvaluate(ScriptFrame& frame, DebugHint *dhint) const override;
 };
 
-class I2_CONFIG_API FunctionCallExpression : public DebuggableExpression
+class FunctionCallExpression : public DebuggableExpression
 {
 public:
        FunctionCallExpression(std::unique_ptr<Expression> fname, std::vector<std::unique_ptr<Expression> >&& args, const DebugInfo& debugInfo = DebugInfo())
@@ -581,7 +581,7 @@ public:
        std::vector<std::unique_ptr<Expression> > m_Args;
 };
 
-class I2_CONFIG_API ArrayExpression : public DebuggableExpression
+class ArrayExpression : public DebuggableExpression
 {
 public:
        ArrayExpression(std::vector<std::unique_ptr<Expression > >&& expressions, const DebugInfo& debugInfo = DebugInfo())
@@ -595,7 +595,7 @@ private:
        std::vector<std::unique_ptr<Expression> > m_Expressions;
 };
 
-class I2_CONFIG_API DictExpression : public DebuggableExpression
+class DictExpression : public DebuggableExpression
 {
 public:
        DictExpression(std::vector<std::unique_ptr<Expression> >&& expressions = {}, const DebugInfo& debugInfo = DebugInfo())
@@ -611,10 +611,10 @@ private:
        std::vector<std::unique_ptr<Expression> > m_Expressions;
        bool m_Inline;
 
-       friend I2_CONFIG_API void BindToScope(std::unique_ptr<Expression>& expr, ScopeSpecifier scopeSpec);
+       friend void BindToScope(std::unique_ptr<Expression>& expr, ScopeSpecifier scopeSpec);
 };
 
-class I2_CONFIG_API SetExpression : public BinaryExpression
+class SetExpression : public BinaryExpression
 {
 public:
        SetExpression(std::unique_ptr<Expression> operand1, CombinedSetOp op, std::unique_ptr<Expression> operand2, const DebugInfo& debugInfo = DebugInfo())
@@ -627,10 +627,10 @@ protected:
 private:
        CombinedSetOp m_Op;
 
-       friend I2_CONFIG_API void BindToScope(std::unique_ptr<Expression>& expr, ScopeSpecifier scopeSpec);
+       friend void BindToScope(std::unique_ptr<Expression>& expr, ScopeSpecifier scopeSpec);
 };
 
-class I2_CONFIG_API ConditionalExpression : public DebuggableExpression
+class ConditionalExpression : public DebuggableExpression
 {
 public:
        ConditionalExpression(std::unique_ptr<Expression> condition, std::unique_ptr<Expression> true_branch, std::unique_ptr<Expression> false_branch, const DebugInfo& debugInfo = DebugInfo())
@@ -646,7 +646,7 @@ private:
        std::unique_ptr<Expression> m_FalseBranch;
 };
 
-class I2_CONFIG_API WhileExpression : public DebuggableExpression
+class WhileExpression : public DebuggableExpression
 {
 public:
        WhileExpression(std::unique_ptr<Expression> condition, std::unique_ptr<Expression> loop_body, const DebugInfo& debugInfo = DebugInfo())
@@ -662,7 +662,7 @@ private:
 };
 
 
-class I2_CONFIG_API ReturnExpression : public UnaryExpression
+class ReturnExpression : public UnaryExpression
 {
 public:
        ReturnExpression(std::unique_ptr<Expression> expression, const DebugInfo& debugInfo = DebugInfo())
@@ -673,7 +673,7 @@ protected:
        virtual ExpressionResult DoEvaluate(ScriptFrame& frame, DebugHint *dhint) const override;
 };
 
-class I2_CONFIG_API BreakExpression : public DebuggableExpression
+class BreakExpression : public DebuggableExpression
 {
 public:
        BreakExpression(const DebugInfo& debugInfo = DebugInfo())
@@ -684,7 +684,7 @@ protected:
        virtual ExpressionResult DoEvaluate(ScriptFrame& frame, DebugHint *dhint) const override;
 };
 
-class I2_CONFIG_API ContinueExpression : public DebuggableExpression
+class ContinueExpression : public DebuggableExpression
 {
 public:
        ContinueExpression(const DebugInfo& debugInfo = DebugInfo())
@@ -695,7 +695,7 @@ protected:
        virtual ExpressionResult DoEvaluate(ScriptFrame& frame, DebugHint *dhint) const override;
 };
 
-class I2_CONFIG_API GetScopeExpression : public Expression
+class GetScopeExpression : public Expression
 {
 public:
        GetScopeExpression(ScopeSpecifier scopeSpec)
@@ -709,7 +709,7 @@ private:
        ScopeSpecifier m_ScopeSpec;
 };
 
-class I2_CONFIG_API IndexerExpression : public BinaryExpression
+class IndexerExpression : public BinaryExpression
 {
 public:
        IndexerExpression(std::unique_ptr<Expression> operand1, std::unique_ptr<Expression> operand2, const DebugInfo& debugInfo = DebugInfo())
@@ -720,12 +720,12 @@ protected:
        virtual ExpressionResult DoEvaluate(ScriptFrame& frame, DebugHint *dhint) const override;
        virtual bool GetReference(ScriptFrame& frame, bool init_dict, Value *parent, String *index, DebugHint **dhint) const override;
 
-       friend I2_CONFIG_API void BindToScope(std::unique_ptr<Expression>& expr, ScopeSpecifier scopeSpec);
+       friend void BindToScope(std::unique_ptr<Expression>& expr, ScopeSpecifier scopeSpec);
 };
 
-I2_CONFIG_API void BindToScope(std::unique_ptr<Expression>& expr, ScopeSpecifier scopeSpec);
+void BindToScope(std::unique_ptr<Expression>& expr, ScopeSpecifier scopeSpec);
 
-class I2_CONFIG_API ThrowExpression : public DebuggableExpression
+class ThrowExpression : public DebuggableExpression
 {
 public:
        ThrowExpression(std::unique_ptr<Expression> message, bool incompleteExpr, const DebugInfo& debugInfo = DebugInfo())
@@ -740,7 +740,7 @@ private:
        bool m_IncompleteExpr;
 };
 
-class I2_CONFIG_API ImportExpression : public DebuggableExpression
+class ImportExpression : public DebuggableExpression
 {
 public:
        ImportExpression(std::unique_ptr<Expression> name, const DebugInfo& debugInfo = DebugInfo())
@@ -754,7 +754,7 @@ private:
        std::unique_ptr<Expression> m_Name;
 };
 
-class I2_CONFIG_API ImportDefaultTemplatesExpression : public DebuggableExpression
+class ImportDefaultTemplatesExpression : public DebuggableExpression
 {
 public:
        ImportDefaultTemplatesExpression(const DebugInfo& debugInfo = DebugInfo())
@@ -765,7 +765,7 @@ protected:
        virtual ExpressionResult DoEvaluate(ScriptFrame& frame, DebugHint *dhint) const override;
 };
 
-class I2_CONFIG_API FunctionExpression : public DebuggableExpression
+class FunctionExpression : public DebuggableExpression
 {
 public:
        FunctionExpression(const String& name, const std::vector<String>& args,
@@ -783,7 +783,7 @@ private:
        std::shared_ptr<Expression> m_Expression;
 };
 
-class I2_CONFIG_API ApplyExpression : public DebuggableExpression
+class ApplyExpression : public DebuggableExpression
 {
 public:
        ApplyExpression(const String& type, const String& target, std::unique_ptr<Expression> name,
@@ -813,7 +813,7 @@ private:
        std::shared_ptr<Expression> m_Expression;
 };
 
-class I2_CONFIG_API ObjectExpression : public DebuggableExpression
+class ObjectExpression : public DebuggableExpression
 {
 public:
        ObjectExpression(bool abstract, std::unique_ptr<Expression> type, std::unique_ptr<Expression> name, std::unique_ptr<Expression> filter,
@@ -840,7 +840,7 @@ private:
        std::shared_ptr<Expression> m_Expression;
 };
 
-class I2_CONFIG_API ForExpression : public DebuggableExpression
+class ForExpression : public DebuggableExpression
 {
 public:
        ForExpression(const String& fkvar, const String& fvvar, std::unique_ptr<Expression> value, std::unique_ptr<Expression> expression, const DebugInfo& debugInfo = DebugInfo())
@@ -857,7 +857,7 @@ private:
        std::unique_ptr<Expression> m_Expression;
 };
 
-class I2_CONFIG_API LibraryExpression : public UnaryExpression
+class LibraryExpression : public UnaryExpression
 {
 public:
        LibraryExpression(std::unique_ptr<Expression> expression, const DebugInfo& debugInfo = DebugInfo())
@@ -875,7 +875,7 @@ enum IncludeType
        IncludeZones
 };
 
-class I2_CONFIG_API IncludeExpression : public DebuggableExpression
+class IncludeExpression : public DebuggableExpression
 {
 public:
        IncludeExpression(const String& relativeBase, std::unique_ptr<Expression> path, std::unique_ptr<Expression> pattern, std::unique_ptr<Expression> name,
@@ -898,7 +898,7 @@ private:
        String m_Package;
 };
 
-class I2_CONFIG_API BreakpointExpression : public DebuggableExpression
+class BreakpointExpression : public DebuggableExpression
 {
 public:
        BreakpointExpression(const DebugInfo& debugInfo = DebugInfo())
@@ -909,7 +909,7 @@ protected:
        virtual ExpressionResult DoEvaluate(ScriptFrame& frame, DebugHint *dhint) const override;
 };
 
-class I2_CONFIG_API UsingExpression : public DebuggableExpression
+class UsingExpression : public DebuggableExpression
 {
 public:
        UsingExpression(std::unique_ptr<Expression> name, const DebugInfo& debugInfo = DebugInfo())
@@ -923,7 +923,7 @@ private:
        std::unique_ptr<Expression> m_Name;
 };
 
-class I2_CONFIG_API TryExceptExpression : public DebuggableExpression
+class TryExceptExpression : public DebuggableExpression
 {
 public:
        TryExceptExpression(std::unique_ptr<Expression> tryBody, std::unique_ptr<Expression> exceptBody, const DebugInfo& debugInfo = DebugInfo())
index 7bf50eaf9e6f94861aa556f0198c8024b9270de2..5ec9145c39895159b595626e09f374db5b0bc35b 100644 (file)
 
 #include "base/i2-base.hpp"
 
-#ifdef I2_CONFIG_BUILD
-#      define I2_CONFIG_API I2_EXPORT
-#else /* I2_CONFIG_BUILD */
-#      define I2_CONFIG_API I2_IMPORT
-#endif /* I2_CONFIG_BUILD */
-
 #endif /* I2CONFIG_H */
index 42c7e2040000a0f8d35670d7b9d909ba8ab8649d..1d080cebe110e0deb1afe65a584322ee1025bbe9 100644 (file)
@@ -31,7 +31,7 @@ namespace icinga
 /**
  * @ingroup config
  */
-class I2_CONFIG_API ObjectRule
+class ObjectRule
 {
 public:
        typedef std::set<String> TypeSet;
index 769bcc8986cdd7f15f4034dcac42608af606b1f5..2139c70aa2a2f697cd13a89839602af73e7db530 100644 (file)
@@ -32,21 +32,12 @@ if(ICINGA2_UNITY_BUILD)
     mkunity_target(db_ido db_ido db_ido_SOURCES)
 endif()
 
-add_library(db_ido SHARED ${db_ido_SOURCES})
+add_library(db_ido STATIC ${db_ido_SOURCES})
 
 include_directories(${Boost_INCLUDE_DIRS})
 target_link_libraries(db_ido ${Boost_LIBRARIES} base config icinga remote)
 
 set_target_properties (
   db_ido PROPERTIES
-  INSTALL_RPATH ${CMAKE_INSTALL_FULL_LIBDIR}/icinga2
-  DEFINE_SYMBOL I2_DB_IDO_BUILD
   FOLDER Lib
-  VERSION ${SPEC_VERSION}
-)
-
-install(
-  TARGETS db_ido
-  RUNTIME DESTINATION ${CMAKE_INSTALL_SBINDIR}
-  LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}/icinga2
 )
index 4d76802a20af2d7ef8e7dc02a339cc32166015f0..afd8aedaf8eb66afbf491f3911626f6bc024268f 100644 (file)
@@ -40,7 +40,7 @@ namespace icinga
  *
  * @ingroup db_ido
  */
-class I2_DB_IDO_API DbConnection : public ObjectImpl<DbConnection>
+class DbConnection : public ObjectImpl<DbConnection>
 {
 public:
        DECLARE_OBJECT(DbConnection);
index d1689e2e3ae49239a6989c5d0a5469e72d2394d1..592a2c24ba14fdf297907e8905a6b20200f00faf 100644 (file)
@@ -59,7 +59,7 @@ enum DbObjectType
  *
  * @ingroup ido
  */
-class I2_DB_IDO_API DbObject : public Object
+class DbObject : public Object
 {
 public:
        DECLARE_PTR_TYPEDEFS(DbObject);
index 872f56550599fb18f23a69bcc7e81597076cf030..9947d6f74fd46cfd6a1cfe8b692b9d2b781b49ce 100644 (file)
@@ -60,7 +60,7 @@ enum DbQueryCategory
 
 class DbObject;
 
-struct I2_DB_IDO_API DbQuery
+struct DbQuery
 {
        int Type;
        DbQueryCategory Category;
index 5484ac047dde7923032154307c2a267298505444..9dba6af5a6e2142410dc8ad454797aef48b7a672 100644 (file)
@@ -30,7 +30,7 @@ namespace icinga
  *
  * @ingroup ido
  */
-struct I2_DB_IDO_API DbReference
+struct DbReference
 {
 public:
        DbReference(void);
index 0d09428bf55315920411caf854779256df758927..e0c42ff693ab0545070ac1421c8023dded92fa05 100644 (file)
@@ -36,7 +36,7 @@ class DbObject;
  *
  * @ingroup ido
  */
-class I2_DB_IDO_API DbType : public Object
+class DbType : public Object
 {
 public:
        DECLARE_PTR_TYPEDEFS(DbType);
@@ -79,7 +79,7 @@ private:
  *
  * @ingroup ido
  */
-class I2_DB_IDO_API DbTypeRegistry : public Registry<DbTypeRegistry, DbType::Ptr>
+class DbTypeRegistry : public Registry<DbTypeRegistry, DbType::Ptr>
 {
 public:
        static DbTypeRegistry *GetInstance(void);
index 57042a3b98e862b4bb8b4177499c845aa23910a0..f52bfc2c2b40aa942227332cae3ca1cb11db1635 100644 (file)
@@ -39,7 +39,7 @@ enum DbValueType
  *
  * @ingroup ido
  */
-struct I2_DB_IDO_API DbValue : public Object
+struct DbValue : public Object
 {
 public:
        DECLARE_PTR_TYPEDEFS(DbValue);
index 72359f5dda8133e26d171eb719cae49cb0a3e51e..959fb9fbcf97666b68c832ecdee3f583fba087f7 100644 (file)
 
 #include "base/i2-base.hpp"
 
-#ifdef I2_DB_IDO_BUILD
-#      define I2_DB_IDO_API I2_EXPORT
-#else /* I2_DB_IDO_BUILD */
-#      define I2_DB_IDO_API I2_IMPORT
-#endif /* I2_DB_IDO_BUILD */
-
 #endif /* I2DB_IDO_H */
index 9fe27de77a60e21d58ac4bf71b5664ba087941dc..d8db6fe2ca194a3c65248a66e0f47a082bf85c58 100644 (file)
@@ -28,17 +28,14 @@ if(MYSQL_FOUND)
       mkunity_target(db_ido_mysql db_ido_mysql db_ido_mysql_SOURCES)
   endif()
 
-  add_library(db_ido_mysql SHARED ${db_ido_mysql_SOURCES})
+  add_library(db_ido_mysql STATIC ${db_ido_mysql_SOURCES})
 
   include_directories(${MYSQL_INCLUDE_DIR})
-  target_link_libraries(db_ido_mysql ${Boost_LIBRARIES} ${MYSQL_CLIENT_LIBS} base config icinga db_ido)
+  target_link_libraries(db_ido_mysql ${Boost_LIBRARIES} ${MYSQL_LIB} base config icinga db_ido)
 
   set_target_properties (
     db_ido_mysql PROPERTIES
-    INSTALL_RPATH ${CMAKE_INSTALL_FULL_LIBDIR}/icinga2
-    DEFINE_SYMBOL I2_DB_IDO_MYSQL_BUILD
     FOLDER Components
-    VERSION ${SPEC_VERSION}
   )
 
   install_if_not_exists(
@@ -46,12 +43,6 @@ if(MYSQL_FOUND)
     ${CMAKE_INSTALL_SYSCONFDIR}/icinga2/features-available
   )
 
-  install(
-    TARGETS db_ido_mysql
-    RUNTIME DESTINATION ${CMAKE_INSTALL_SBINDIR}
-    LIBRARY DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR}/icinga2
-  )
-
   install(
     DIRECTORY schema
     DESTINATION ${CMAKE_INSTALL_DATADIR}/icinga2-ido-mysql
index d203b6190c4257e7c7ceba6423018d789a0d480b..d1eb092d616b0838412d29b1ed7ce6ade3a61bc9 100644 (file)
 # along with this program; if not, write to the Free Software Foundation
 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
 
-find_package(PostgreSQL)
-
 if(PostgreSQL_FOUND)
   mkclass_target(idopgsqlconnection.ti idopgsqlconnection.tcpp idopgsqlconnection.thpp)
 
-  link_directories(${PostgreSQL_LIBRARY_DIRS})
-  include_directories(${PostgreSQL_INCLUDE_DIRS})
-
   set(db_ido_pgsql_SOURCES
     idopgsqlconnection.cpp idopgsqlconnection.thpp
   )
@@ -31,16 +26,13 @@ if(PostgreSQL_FOUND)
       mkunity_target(db_ido_pgsql db_ido_pgsql db_ido_pgsql_SOURCES)
   endif()
 
-  add_library(db_ido_pgsql SHARED ${db_ido_pgsql_SOURCES})
+  add_library(db_ido_pgsql STATIC ${db_ido_pgsql_SOURCES})
 
   target_link_libraries(db_ido_pgsql ${Boost_LIBRARIES} ${PostgreSQL_LIBRARIES} base config icinga db_ido)
 
   set_target_properties (
     db_ido_pgsql PROPERTIES
-    INSTALL_RPATH ${CMAKE_INSTALL_FULL_LIBDIR}/icinga2
-    DEFINE_SYMBOL I2_DB_IDO_PGSQL_BUILD
     FOLDER Components
-    VERSION ${SPEC_VERSION}
   )
 
   install_if_not_exists(
@@ -48,12 +40,6 @@ if(PostgreSQL_FOUND)
     ${CMAKE_INSTALL_SYSCONFDIR}/icinga2/features-available
   )
 
-  install(
-    TARGETS db_ido_pgsql
-    RUNTIME DESTINATION ${CMAKE_INSTALL_SBINDIR}
-    LIBRARY DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR}/icinga2
-  )
-
   install(
     DIRECTORY schema
     DESTINATION ${CMAKE_INSTALL_DATADIR}/icinga2-ido-pgsql
index 39e87d31d12fc06a2c19a043b0277d6aa41d7055..07d8554b06a02f4e1c0f2b72dd1bbb9012dfc74a 100644 (file)
@@ -25,21 +25,11 @@ if(ICINGA2_UNITY_BUILD)
     mkunity_target(demo demo demo_SOURCES)
 endif()
 
-add_library(demo SHARED ${demo_SOURCES})
+add_library(demo STATIC ${demo_SOURCES})
 
 target_link_libraries(demo ${Boost_LIBRARIES} base config icinga remote)
 
 set_target_properties (
   demo PROPERTIES
-  INSTALL_RPATH ${CMAKE_INSTALL_FULL_LIBDIR}/icinga2
-  DEFINE_SYMBOL I2_DEMO_BUILD
   FOLDER Components
-  VERSION ${SPEC_VERSION}
 )
-
-install(
-  TARGETS demo
-  RUNTIME DESTINATION ${CMAKE_INSTALL_SBINDIR}
-  LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}/icinga2
-)
-
index 0360f45f5190fc83da8a8a5dd0416e3054ec7fbf..fa149d1f64a0e21e581f6ebbd835a3f3a40d4647 100644 (file)
@@ -25,21 +25,11 @@ if(ICINGA2_UNITY_BUILD)
     mkunity_target(hello hello hello_SOURCES)
 endif()
 
-add_library(hello SHARED ${hello_SOURCES})
+add_library(hello STATIC ${hello_SOURCES})
 
 target_link_libraries(hello ${Boost_LIBRARIES} base config)
 
 set_target_properties (
   hello PROPERTIES
-  INSTALL_RPATH ${CMAKE_INSTALL_FULL_LIBDIR}/icinga2
-  DEFINE_SYMBOL I2_HELLO_BUILD
   FOLDER Lib
-  VERSION ${SPEC_VERSION}
 )
-
-install(
-  TARGETS hello
-  RUNTIME DESTINATION ${CMAKE_INSTALL_SBINDIR}
-  LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}/icinga2
-)
-
index 466033ec6c705e90426130c111fe603a2acdafc9..acfb55f45b0fd748836c57b562bea0113994d500 100644 (file)
@@ -56,22 +56,11 @@ if(ICINGA2_UNITY_BUILD)
     mkunity_target(icinga icinga icinga_SOURCES)
 endif()
 
-add_library(icinga SHARED ${icinga_SOURCES})
+add_library(icinga STATIC ${icinga_SOURCES})
 
 target_link_libraries(icinga ${Boost_LIBRARIES} base config remote)
 
 set_target_properties (
   icinga PROPERTIES
-  INSTALL_RPATH ${CMAKE_INSTALL_FULL_LIBDIR}/icinga2
-  DEFINE_SYMBOL I2_ICINGA_BUILD
   FOLDER Lib
-  VERSION ${SPEC_VERSION}
 )
-
-install(
-  TARGETS icinga
-  RUNTIME DESTINATION ${CMAKE_INSTALL_SBINDIR}
-  LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}/icinga2
-)
-
-
index 80efa2175b2d33757a504153612d2cd6d296559a..0b13bb546f8afcaac55d23ba6b0c0f1fbc4414b8 100644 (file)
@@ -30,7 +30,7 @@ namespace icinga
 /**
  * @ingroup icinga
  */
-class I2_ICINGA_API ApiActions
+class ApiActions
 {
 public:
        static Dictionary::Ptr ProcessCheckResult(const ConfigObject::Ptr& object, const Dictionary::Ptr& params);
index 9bbc4b3ac1845b827e0f3927e003eb6acc3a7439..3937f77a681e0ff504210663edfe6a598d0915fb 100644 (file)
@@ -29,7 +29,7 @@ namespace icinga
 /**
  * @ingroup icinga
  */
-class I2_ICINGA_API ApiEvents
+class ApiEvents
 {
 public:
        static void StaticInitialize(void);
index a3a774d19566ffa1bba1ebed9ca27a6d88e30420..da15fb212b3148d467bbfc22ca4542999a29949c 100644 (file)
@@ -78,7 +78,7 @@ class Dependency;
  *
  * @ingroup icinga
  */
-class I2_ICINGA_API Checkable : public ObjectImpl<Checkable>
+class Checkable : public ObjectImpl<Checkable>
 {
 public:
        DECLARE_OBJECT(Checkable);
index e7b5697fffca80ae5557beccf3bd3b54e5ffa3ea..2502bc1b4a28ae4272ff3270c4169494f4f3cc4e 100644 (file)
@@ -31,7 +31,7 @@ namespace icinga
  *
  * @ingroup icinga
  */
-class I2_ICINGA_API CheckCommand : public ObjectImpl<CheckCommand>
+class CheckCommand : public ObjectImpl<CheckCommand>
 {
 public:
        DECLARE_OBJECT(CheckCommand);
index 370f076af42343210612095ba9753ec6c8269277..08c635008c6eeed41d726b247c057d71228b6d40 100644 (file)
@@ -31,7 +31,7 @@ namespace icinga
  *
  * @ingroup icinga
  */
-class I2_ICINGA_API CheckResult : public ObjectImpl<CheckResult>
+class CheckResult : public ObjectImpl<CheckResult>
 {
 public:
        DECLARE_OBJECT(CheckResult);
index cf202e743a8b0f45d7add4ae09e280e32f911467..ff2ad87701076beeb0837546995ac42aaca00b82 100644 (file)
@@ -65,7 +65,7 @@ struct HostStatistics {
  *
  * @ingroup icinga
  */
-class I2_ICINGA_API CIB
+class CIB
 {
 public:
        static void UpdateActiveHostChecksStatistics(long tv, int num);
index 511137caa9744f1619b5eb42d97872f0c68dda23..2faf2a4bdaee74f0b4424fd52a5ebeaad2d7f2e2 100644 (file)
@@ -32,7 +32,7 @@ namespace icinga
 /**
  * @ingroup icinga
  */
-class I2_ICINGA_API ClusterEvents
+class ClusterEvents
 {
 public:
        static void StaticInitialize(void);
index 3211a366daf103db8be3ce5c1d52eb6af00543fe..a64606d26e180fc74a3b1e2c7c948b94c32860ec 100644 (file)
@@ -32,7 +32,7 @@ namespace icinga
  *
  * @ingroup icinga
  */
-class I2_ICINGA_API Command : public ObjectImpl<Command>
+class Command : public ObjectImpl<Command>
 {
 public:
        DECLARE_OBJECT(Command);
index 029caf2dbafb5a09444a06ca242560d95d868cca..023726133967b4196bef01ce7f3e31820f1164b5 100644 (file)
@@ -33,7 +33,7 @@ namespace icinga
  *
  * @ingroup icinga
  */
-class I2_ICINGA_API Comment : public ObjectImpl<Comment>
+class Comment : public ObjectImpl<Comment>
 {
 public:
        DECLARE_OBJECT(Comment);
index b4857eaeec49b92739d8b2e7533d09639295d27c..003fe0ff5c7580c6abdc366aa90373a67d455d45 100644 (file)
@@ -40,7 +40,7 @@ enum CommentType
        CommentAcknowledgement = 4
 };
 
-class I2_ICINGA_API CommentNameComposer : public NameComposer
+class CommentNameComposer : public NameComposer
 {
 public:
        virtual String MakeName(const String& shortName, const Object::Ptr& context) const;
index de3539b26cf495283387df761a310643a7b61821..247226c01a80b21790f1b8a488d6f997650e5e6a 100644 (file)
@@ -36,7 +36,7 @@ namespace icinga
  *
  * @ingroup icinga
  */
-class I2_ICINGA_API CompatUtility
+class CompatUtility
 {
 public:
        /* command */
index 3ff9741bb06309e9c8f9e3195cf95da38e6a7785..53bf323d816ba2e4cd08d32852651a06611bbf2d 100644 (file)
@@ -33,7 +33,7 @@ namespace icinga
  *
  * @ingroup icinga
  */
-class I2_ICINGA_API CustomVarObject : public ObjectImpl<CustomVarObject>
+class CustomVarObject : public ObjectImpl<CustomVarObject>
 {
 public:
        DECLARE_OBJECT(CustomVarObject);
@@ -41,7 +41,7 @@ public:
        virtual void ValidateVars(const Dictionary::Ptr& value, const ValidationUtils& utils) override;
 };
 
-I2_ICINGA_API int FilterArrayToInt(const Array::Ptr& typeFilters, const std::map<String, int>& filterMap, int defaultValue);
+int FilterArrayToInt(const Array::Ptr& typeFilters, const std::map<String, int>& filterMap, int defaultValue);
 
 }
 
index bcf62a2f9771f0de681ef1dc78a1718735a881c1..be21521794a576e11490be4d0e96ee5d74a6716b 100644 (file)
@@ -36,7 +36,7 @@ class Service;
  *
  * @ingroup icinga
  */
-class I2_ICINGA_API Dependency : public ObjectImpl<Dependency>
+class Dependency : public ObjectImpl<Dependency>
 {
 public:
        DECLARE_OBJECT(Dependency);
index 609bf9ac4f37e1d969820a9f12a439eb7009d47f..66c215bda9f7dad8084a79537a5b2866f050ceac 100644 (file)
@@ -27,7 +27,7 @@ namespace icinga
 {
 
 code {{{
-class I2_ICINGA_API DependencyNameComposer : public NameComposer
+class DependencyNameComposer : public NameComposer
 {
 public:
        virtual String MakeName(const String& shortName, const Object::Ptr& context) const;
index 26436f746128457b6fccd4c4bdede1c6dd597ebc..c806ec22c8d36c85649ed7c41c3ea0e8efbcb0f9 100644 (file)
@@ -33,7 +33,7 @@ namespace icinga
  *
  * @ingroup icinga
  */
-class I2_ICINGA_API Downtime : public ObjectImpl<Downtime>
+class Downtime : public ObjectImpl<Downtime>
 {
 public:
        DECLARE_OBJECT(Downtime);
index 2a60877fcf415e610737df70e7e1bd8dfed3127b..0cbc6738ad9a02288a653ebcdbd80032ce5a2a58 100644 (file)
@@ -27,7 +27,7 @@ namespace icinga
 {
 
 code {{{
-class I2_ICINGA_API DowntimeNameComposer : public NameComposer
+class DowntimeNameComposer : public NameComposer
 {
 public:
        virtual String MakeName(const String& shortName, const Object::Ptr& context) const;
index 57ae947a12c1c934dbd452ecc10b5035b478f00e..e0a61671b2b69cf064ac0645fa565d93fda64a6e 100644 (file)
@@ -31,7 +31,7 @@ namespace icinga
  *
  * @ingroup icinga
  */
-class I2_ICINGA_API EventCommand : public ObjectImpl<EventCommand>
+class EventCommand : public ObjectImpl<EventCommand>
 {
 public:
        DECLARE_OBJECT(EventCommand);
index 66d07dea724b2464b3caa25817dc4247f879bf93..aa76c6040724bdd8b961f268648464120b81eecc 100644 (file)
@@ -38,7 +38,7 @@ struct ExternalCommandInfo
        size_t MaxArgs;
 };
 
-class I2_ICINGA_API ExternalCommandProcessor {
+class ExternalCommandProcessor {
 public:
        static void Execute(const String& line);
        static void Execute(double time, const String& command, const std::vector<String>& arguments);
index abce0ac772112a19bd1204099cd76e867f612fa2..7666f55614c546706b256ff472465e880a9b2511 100644 (file)
@@ -35,7 +35,7 @@ class Service;
  *
  * @ingroup icinga
  */
-class I2_ICINGA_API Host : public ObjectImpl<Host>, public MacroResolver
+class Host : public ObjectImpl<Host>, public MacroResolver
 {
 public:
        DECLARE_OBJECT(Host);
index aad8e2265708914ea04e967688c106efa4502497..1df85823e2475c66d4ad83b57550bac34fbcd8f6 100644 (file)
@@ -34,7 +34,7 @@ class ConfigItem;
  *
  * @ingroup icinga
  */
-class I2_ICINGA_API HostGroup : public ObjectImpl<HostGroup>
+class HostGroup : public ObjectImpl<HostGroup>
 {
 public:
        DECLARE_OBJECT(HostGroup);
index 59e0a458b2955f344644a73a537d7cbb5a7ec85c..80469b4bdf2de026b9cf887e7145fcf6ca59ebfa 100644 (file)
 
 #include "base/i2-base.hpp"
 
-#ifdef I2_ICINGA_BUILD
-#      define I2_ICINGA_API I2_EXPORT
-#else /* I2_ICINGA_BUILD */
-#      define I2_ICINGA_API I2_IMPORT
-#endif /* I2_ICINGA_BUILD */
-
 #endif /* I2ICINGA_H */
index aaa187a4a118421fbe7f1cfbc0f184514f4a8603..6e011175c4a2021e1d1164bcf3cbdc8b919f8156 100644 (file)
@@ -44,8 +44,6 @@ INITIALIZE_ONCE(&IcingaApplication::StaticInitialize);
 
 void IcingaApplication::StaticInitialize(void)
 {
-       Loader::LoadExtensionLibrary("methods");
-
        String node_name = Utility::GetFQDN();
 
        if (node_name.IsEmpty()) {
index 0e0a54f1af2d5b1f79f40f17f524d453f7cdb255..3a9f6ea63d0a649b7d1916829049f84b8449b44c 100644 (file)
@@ -32,7 +32,7 @@ namespace icinga
  *
  * @ingroup icinga
  */
-class I2_ICINGA_API IcingaApplication : public ObjectImpl<IcingaApplication>, public MacroResolver
+class IcingaApplication : public ObjectImpl<IcingaApplication>, public MacroResolver
 {
 public:
        DECLARE_OBJECT(IcingaApplication);
index a51e1f8e88d22e125943aac75861b6dc8a10175c..249106dbc95c0cde3ff8bfd665c7d73d0af2ec6c 100644 (file)
@@ -32,7 +32,7 @@ namespace icinga
  *
  * @ingroup icinga
  */
-class I2_ICINGA_API LegacyTimePeriod
+class LegacyTimePeriod
 {
 public:
        static Array::Ptr ScriptFunc(const TimePeriod::Ptr& tp, double start, double end);
index c55032d0fff96ed1100564074c76520f917c8736..ed214a3936fe31f954d85e37066deae83c0cfe70 100644 (file)
@@ -33,7 +33,7 @@ namespace icinga
  *
  * @ingroup icinga
  */
-class I2_ICINGA_API MacroProcessor
+class MacroProcessor
 {
 public:
        typedef std::function<Value (const Value&)> EscapeCallback;
index aa47e0c74ff2785201d5674af7f85758d936613c..33d3a97aee18be26cbe35d4770f1ad585774b499 100644 (file)
@@ -33,7 +33,7 @@ namespace icinga
  *
  * @ingroup icinga
  */
-class I2_ICINGA_API MacroResolver
+class MacroResolver
 {
 public:
        DECLARE_PTR_TYPEDEFS(MacroResolver);
index b02b3c8c4a34baeb074b9f10726505dd7f582841..5a2f04141dd4cd0c28a951bdda2142c3887cb4e1 100644 (file)
@@ -77,7 +77,7 @@ class Service;
  *
  * @ingroup icinga
  */
-class I2_ICINGA_API Notification : public ObjectImpl<Notification>
+class Notification : public ObjectImpl<Notification>
 {
 public:
        DECLARE_OBJECT(Notification);
@@ -139,8 +139,8 @@ private:
        static std::map<String, int> m_TypeFilterMap;
 };
 
-I2_ICINGA_API int ServiceStateToFilter(ServiceState state);
-I2_ICINGA_API int HostStateToFilter(HostState state);
+int ServiceStateToFilter(ServiceState state);
+int HostStateToFilter(HostState state);
 
 }
 
index 631144166196402bb6709b68c01f42f7b0170a22..d11f1b37733cb53fbf929ec12a20e667a06be910 100644 (file)
@@ -27,7 +27,7 @@ namespace icinga
 {
 
 code {{{
-class I2_ICINGA_API NotificationNameComposer : public NameComposer
+class NotificationNameComposer : public NameComposer
 {
 public:
        virtual String MakeName(const String& shortName, const Object::Ptr& context) const;
index a67562e714e1071ebc0d664a84dd3ae69a28545f..3e6586b38fc344115968316ce3cc5a07b477855a 100644 (file)
@@ -33,7 +33,7 @@ class Notification;
  *
  * @ingroup icinga
  */
-class I2_ICINGA_API NotificationCommand : public ObjectImpl<NotificationCommand>
+class NotificationCommand : public ObjectImpl<NotificationCommand>
 {
 public:
        DECLARE_OBJECT(NotificationCommand);
index a42cffb3623f1935c9caa1ec90aa8f13fe54ca7f..e31ae9f5ef1d419d479fc6ecf73230ddce899715 100644 (file)
@@ -31,7 +31,7 @@ namespace icinga
 /**
  * @ingroup icinga
  */
-class I2_ICINGA_API ObjectUtils
+class ObjectUtils
 {
 public:
        static Service::Ptr GetService(const Value& host, const String& name);
index 79621db5cf2ee03e4310d39e218bb17717cb0e7c..e3995f9644cc3479b5162782c84f6bdc2c3a0a7e 100644 (file)
@@ -36,7 +36,7 @@ struct ProcessResult;
  *
  * @ingroup icinga
  */
-class I2_ICINGA_API PluginUtility
+class PluginUtility
 {
 public:
        static void ExecuteCommand(const Command::Ptr& commandObj, const Checkable::Ptr& checkable,
index 2dfedcbda93def31c3b2abab53e9100fc79c5e7a..5054e365c04fda99db93a142fcdea2fbd60266c1 100644 (file)
@@ -38,7 +38,7 @@ class Service;
  *
  * @ingroup icinga
  */
-class I2_ICINGA_API ScheduledDowntime : public ObjectImpl<ScheduledDowntime>
+class ScheduledDowntime : public ObjectImpl<ScheduledDowntime>
 {
 public:
        DECLARE_OBJECT(ScheduledDowntime);
index d836aef8bc1e7d0d8b38137bee690fdf6f4580f9..10e88417bce4eec1bee2643542c5c269b8722d60 100644 (file)
@@ -26,7 +26,7 @@ namespace icinga
 {
 
 code {{{
-class I2_ICINGA_API ScheduledDowntimeNameComposer : public NameComposer
+class ScheduledDowntimeNameComposer : public NameComposer
 {
 public:
        virtual String MakeName(const String& shortName, const Object::Ptr& context) const;
index 2e2a1d50f57e05078a236b7297a614e6b2c722d6..24b90036cb99794c7648d5a6e44245670bff004e 100644 (file)
@@ -37,7 +37,7 @@ namespace icinga
  *
  * @ingroup icinga
  */
-class I2_ICINGA_API Service : public ObjectImpl<Service>, public MacroResolver
+class Service : public ObjectImpl<Service>, public MacroResolver
 {
 public:
        DECLARE_OBJECT(Service);
@@ -72,7 +72,7 @@ private:
        static bool EvaluateApplyRule(const Host::Ptr& host, const ApplyRule& rule);
 };
 
-I2_ICINGA_API std::pair<Host::Ptr, Service::Ptr> GetHostService(const Checkable::Ptr& checkable);
+std::pair<Host::Ptr, Service::Ptr> GetHostService(const Checkable::Ptr& checkable);
 
 }
 
index 8db01190336250b8de937733b7df4fef0ed9b3ef..0d30978caf21a5a9398dd7e5813316e6a1565237 100644 (file)
@@ -29,7 +29,7 @@ namespace icinga
 {
 
 code {{{
-class I2_ICINGA_API ServiceNameComposer : public NameComposer
+class ServiceNameComposer : public NameComposer
 {
 public:
        virtual String MakeName(const String& shortName, const Object::Ptr& context) const;
index 8b26d57c400fb721e82ad878a0c14ef1e49f4b91..cc05a9ecc48b776e58bc72a932dec6e348991921 100644 (file)
@@ -34,7 +34,7 @@ class ConfigItem;
  *
  * @ingroup icinga
  */
-class I2_ICINGA_API ServiceGroup : public ObjectImpl<ServiceGroup>
+class ServiceGroup : public ObjectImpl<ServiceGroup>
 {
 public:
        DECLARE_OBJECT(ServiceGroup);
index 9a8e73d01b9b712502f5c4200cae38307c3ff54c..b6a4b0873ce2a66500b170c408fd8bb36face39f 100644 (file)
@@ -31,7 +31,7 @@ namespace icinga
  *
  * @ingroup icinga
  */
-class I2_ICINGA_API TimePeriod : public ObjectImpl<TimePeriod>
+class TimePeriod : public ObjectImpl<TimePeriod>
 {
 public:
        DECLARE_OBJECT(TimePeriod);
index bacbaa81a906a1b3bf86fcd22a2d6381e3787206..b7984722decc1215aeb222045185f373fdc3a93f 100644 (file)
@@ -33,7 +33,7 @@ namespace icinga
  *
  * @ingroup icinga
  */
-class I2_ICINGA_API User : public ObjectImpl<User>
+class User : public ObjectImpl<User>
 {
 public:
        DECLARE_OBJECT(User);
index 5c90dd7da0d9821be1dad7fe4371a8ab599523ad..eca1745a108a4f7138e4ec07b4cb50919c5cc935 100644 (file)
@@ -34,7 +34,7 @@ class ConfigItem;
  *
  * @ingroup icinga
  */
-class I2_ICINGA_API UserGroup : public ObjectImpl<UserGroup>
+class UserGroup : public ObjectImpl<UserGroup>
 {
 public:
        DECLARE_OBJECT(UserGroup);
index 6158031c341432d83d8f1fe51fe9512b59678f28..0130724c9eb8d691e105fec4b8aa7a9d3d898b99 100644 (file)
@@ -35,16 +35,13 @@ if(ICINGA2_UNITY_BUILD)
     mkunity_target(livestatus livestatus livestatus_SOURCES)
 endif()
 
-add_library(livestatus SHARED ${livestatus_SOURCES})
+add_library(livestatus STATIC ${livestatus_SOURCES})
 
 target_link_libraries(livestatus ${Boost_LIBRARIES} base config icinga remote)
 
 set_target_properties (
   livestatus PROPERTIES
-  INSTALL_RPATH ${CMAKE_INSTALL_FULL_LIBDIR}/icinga2
-  DEFINE_SYMBOL I2_LIVESTATUS_BUILD
   FOLDER Components
-  VERSION ${SPEC_VERSION}
 )
 
 install_if_not_exists(
@@ -54,6 +51,4 @@ install_if_not_exists(
 
 install(CODE "file(MAKE_DIRECTORY \"\$ENV{DESTDIR}${ICINGA2_RUNDIR}/icinga2/cmd\")")
 
-install(TARGETS livestatus RUNTIME DESTINATION ${CMAKE_INSTALL_SBINDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}/icinga2)
-
 set(CPACK_NSIS_EXTRA_INSTALL_COMMANDS "${CPACK_NSIS_EXTRA_INSTALL_COMMANDS}" PARENT_SCOPE)
index 15bc6fc2e90be8eef843934c8f8cc8d42d1ccd03..242c795a6dbab288a5e445eacab5d71f0b8339a4 100644 (file)
@@ -30,7 +30,7 @@ namespace icinga
 /**
  * @ingroup livestatus
  */
-struct I2_LIVESTATUS_API AggregatorState
+struct AggregatorState
 {
        virtual ~AggregatorState(void);
 };
@@ -38,7 +38,7 @@ struct I2_LIVESTATUS_API AggregatorState
 /**
  * @ingroup livestatus
  */
-class I2_LIVESTATUS_API Aggregator : public Object
+class Aggregator : public Object
 {
 public:
        DECLARE_PTR_TYPEDEFS(Aggregator);
index e8c0f72dbb0ea2683d0f6607439fa514bc672da1..37feead8be5153c9fa30ea7095587465276593c6 100644 (file)
@@ -30,7 +30,7 @@ namespace icinga
 /**
  * @ingroup livestatus
  */
-class I2_LIVESTATUS_API AndFilter : public CombinerFilter
+class AndFilter : public CombinerFilter
 {
 public:
        DECLARE_PTR_TYPEDEFS(AndFilter);
index b9ce2701cd3c5ce94089549ea59a116425cb04c5..eaf55589461e44b581791fefdd8fc3a010b03331 100644 (file)
@@ -30,7 +30,7 @@ namespace icinga
 /**
  * @ingroup livestatus
  */
-class I2_LIVESTATUS_API AttributeFilter : public Filter
+class AttributeFilter : public Filter
 {
 public:
        DECLARE_PTR_TYPEDEFS(AttributeFilter);
index 54cfee73e2fb093c8000c6c335a31fec586b4419..50ec98453821be2b6ee118f3e0f09eff1fc94532 100644 (file)
@@ -42,7 +42,7 @@ struct AvgAggregatorState : public AggregatorState
 /**
  * @ingroup livestatus
  */
-class I2_LIVESTATUS_API AvgAggregator : public Aggregator
+class AvgAggregator : public Aggregator
 {
 public:
        DECLARE_PTR_TYPEDEFS(AvgAggregator);
index 635d8a209e4208282ad292938d08a2a41948460b..7a0ad1c690ab5c09f8dd8888e771e97ce7aed773 100644 (file)
@@ -34,7 +34,7 @@ enum LivestatusGroupByType {
        LivestatusGroupByServiceGroup
 };
 
-class I2_LIVESTATUS_API Column
+class Column
 {
 public:
        typedef std::function<Value (const Value&)> ValueAccessor;
index 375cd57a970242a92df372f1a2de8856540e61f8..2a907586076d7da5e46c94a352ed0576d4cc247e 100644 (file)
@@ -30,7 +30,7 @@ namespace icinga
 /**
  * @ingroup livestatus
  */
-class I2_LIVESTATUS_API CombinerFilter : public Filter
+class CombinerFilter : public Filter
 {
 public:
        DECLARE_PTR_TYPEDEFS(CombinerFilter);
index ef72f93f8a140ff62201cbf6b207740a6c83ae66..b54776c8f99169fa87b58c1e3dd6a0984ff9e6fd 100644 (file)
@@ -30,7 +30,7 @@ namespace icinga
 /**
  * @ingroup livestatus
  */
-class I2_LIVESTATUS_API CommandsTable : public Table
+class CommandsTable : public Table
 {
 public:
        DECLARE_PTR_TYPEDEFS(CommandsTable);
index eb697a1c5e65db24b629d8f31c7a8a998a33e294..a0bc3ab30bf29bc6b38a2702172ce88ab8c1bc1b 100644 (file)
@@ -30,7 +30,7 @@ namespace icinga
 /**
  * @ingroup livestatus
  */
-class I2_LIVESTATUS_API CommentsTable : public Table
+class CommentsTable : public Table
 {
 public:
        DECLARE_PTR_TYPEDEFS(CommentsTable);
index 196546c567640e5b38de3da340718e061961cd1c..b1ee6c6ee74e7d60d2431c191a44a6f2fa3195a6 100644 (file)
@@ -30,7 +30,7 @@ namespace icinga
 /**
  * @ingroup livestatus
  */
-class I2_LIVESTATUS_API ContactGroupsTable : public Table
+class ContactGroupsTable : public Table
 {
 public:
        DECLARE_PTR_TYPEDEFS(ContactGroupsTable);
index 43246855b2824c942feac536dcf4532812c67e9f..23a625ec3fcc6f161a177b890ee0cc2d08cc3795 100644 (file)
@@ -30,7 +30,7 @@ namespace icinga
 /**
  * @ingroup livestatus
  */
-class I2_LIVESTATUS_API ContactsTable : public Table
+class ContactsTable : public Table
 {
 public:
        DECLARE_PTR_TYPEDEFS(ContactsTable);
index f0dc59b86ebd36bbd8b7be2058740a49b111af57..9d1cc6f40889a2549a6495002080adbc396ff93d 100644 (file)
@@ -41,7 +41,7 @@ struct CountAggregatorState : public AggregatorState
 /**
  * @ingroup livestatus
  */
-class I2_LIVESTATUS_API CountAggregator : public Aggregator
+class CountAggregator : public Aggregator
 {
 public:
        DECLARE_PTR_TYPEDEFS(CountAggregator);
index 89ecdc8401e5bd4c903d84a1afaed0a750b3a455..7df6078a46c1dcad5c7e26d080714ec334031c9a 100644 (file)
@@ -30,7 +30,7 @@ namespace icinga
 /**
  * @ingroup livestatus
  */
-class I2_LIVESTATUS_API DowntimesTable : public Table
+class DowntimesTable : public Table
 {
 public:
        DECLARE_PTR_TYPEDEFS(DowntimesTable);
index 62ce2912ce149bc71a6d390b549ec3d434df3b26..38cabfe28a12f5f191c616b9145d5602fb333d2f 100644 (file)
@@ -30,7 +30,7 @@ namespace icinga
 /**
  * @ingroup livestatus
  */
-class I2_LIVESTATUS_API EndpointsTable : public Table
+class EndpointsTable : public Table
 {
 public:
        DECLARE_PTR_TYPEDEFS(EndpointsTable);
index 4bdd342e73f6ca14d776859749032e78dceebc03..0942fccd48d77db8935eeb4d73b15a2fbd01667d 100644 (file)
@@ -29,7 +29,7 @@ namespace icinga
 /**
  * @ingroup livestatus
  */
-class I2_LIVESTATUS_API Filter : public Object
+class Filter : public Object
 {
 public:
        DECLARE_PTR_TYPEDEFS(Filter);
index e2e0c751c5caadd7aff66ded401552741092e101..7daaef617ce44854596cc0ba5c5156772fe639c7 100644 (file)
@@ -30,7 +30,7 @@ namespace icinga
 /**
  * @ingroup livestatus
  */
-class I2_LIVESTATUS_API HistoryTable : public Table
+class HistoryTable : public Table
 {
 public:
        virtual void UpdateLogEntries(const Dictionary::Ptr& bag, int line_count, int lineno, const AddRowFunction& addRowFn);
index 32f3b36f42a120ba7f529021c919a4a9bf1a81ec..df8dc5c30a529a453b55f50fe04a8505755a65e5 100644 (file)
@@ -30,7 +30,7 @@ namespace icinga
 /**
  * @ingroup livestatus
  */
-class I2_LIVESTATUS_API HostGroupsTable : public Table
+class HostGroupsTable : public Table
 {
 public:
        DECLARE_PTR_TYPEDEFS(HostGroupsTable);
index 1b4cab119473b4476fd1c7608ec7858d8b9b99af..dbf0dfb5e608ee3cda6f9c6997176375aefbe86b 100644 (file)
@@ -30,7 +30,7 @@ namespace icinga
 /**
  * @ingroup livestatus
  */
-class I2_LIVESTATUS_API HostsTable : public Table
+class HostsTable : public Table
 {
 public:
        DECLARE_PTR_TYPEDEFS(HostsTable);
index 0516c89c7c43b3bbb71b70098daa850d80ae7294..7e7acf1feadd57233721c7f3292cecb153ca9776 100644 (file)
 
 #include "base/i2-base.hpp"
 
-#ifdef I2_LIVESTATUS_BUILD
-#      define I2_LIVESTATUS_API I2_EXPORT
-#else /* I2_LIVESTATUS_BUILD */
-#      define I2_LIVESTATUS_API I2_IMPORT
-#endif /* I2_LIVESTATUS_BUILD */
-
 #endif /* I2LIVESTATUS_H */
index ef4090df59fc5edb381d1c5e1d4243b02797fa8f..3559cc2f703c95fe8ee75a8be9b7b08e1955da64 100644 (file)
@@ -42,7 +42,7 @@ struct InvAvgAggregatorState : public AggregatorState
 /**
  * @ingroup livestatus
  */
-class I2_LIVESTATUS_API InvAvgAggregator : public Aggregator
+class InvAvgAggregator : public Aggregator
 {
 public:
        DECLARE_PTR_TYPEDEFS(InvAvgAggregator);
index d32328f179a6b30a3e5ecd6eb0121f3a6319aef2..8541f406e9df76a1162f48e28c2d9b5afd1b9f9e 100644 (file)
@@ -29,7 +29,7 @@ namespace icinga
 /**
  * @ingroup livestatus
  */
-struct I2_LIVESTATUS_API InvSumAggregatorState : public AggregatorState
+struct InvSumAggregatorState : public AggregatorState
 {
        InvSumAggregatorState(void)
                : InvSum(0)
@@ -41,7 +41,7 @@ struct I2_LIVESTATUS_API InvSumAggregatorState : public AggregatorState
 /**
  * @ingroup livestatus
  */
-class I2_LIVESTATUS_API InvSumAggregator : public Aggregator
+class InvSumAggregator : public Aggregator
 {
 public:
        DECLARE_PTR_TYPEDEFS(InvSumAggregator);
index 5e510c4c4ea4abba3d6af90511ad20853fa38713..56c298a0a96588f73231ab41ec20e579c4ef7fb6 100644 (file)
@@ -34,7 +34,7 @@ namespace icinga
 /**
  * @ingroup livestatus
  */
-class I2_LIVESTATUS_API LivestatusListener : public ObjectImpl<LivestatusListener>
+class LivestatusListener : public ObjectImpl<LivestatusListener>
 {
 public:
        DECLARE_OBJECT(LivestatusListener);
index 669d6a4912d3e068e80301f6ba4d37268cdb0480..2a548f7545035150c86d20a7fa2cf51e835082c8 100644 (file)
@@ -60,7 +60,7 @@ enum LogEntryClass {
 /**
  * @ingroup livestatus
  */
-class I2_LIVESTATUS_API LivestatusLogUtility
+class LivestatusLogUtility
 {
 public:
        static void CreateLogIndex(const String& path, std::map<time_t, String>& index);
index 91bc727e395ef2382f5b545c30833adcaa0da5bb..36a86b1664e80b9fbd9f1c1a8467457b9b832e8d 100644 (file)
@@ -43,7 +43,7 @@ enum LivestatusError
 /**
  * @ingroup livestatus
  */
-class I2_LIVESTATUS_API LivestatusQuery : public Object
+class LivestatusQuery : public Object
 {
 public:
        DECLARE_PTR_TYPEDEFS(LivestatusQuery);
index 02ce7832087d3f7f3764d51d33c786a7cbddff7f..648334270a8590286e9a6b90b3c7fd081e9fa5d7 100644 (file)
@@ -31,7 +31,7 @@ namespace icinga
 /**
  * @ingroup livestatus
  */
-class I2_LIVESTATUS_API LogTable : public HistoryTable
+class LogTable : public HistoryTable
 {
 public:
        DECLARE_PTR_TYPEDEFS(LogTable);
index 99ac9193aade81ca0d72994bdd092584a611c827..7a3b1b544edb06fd16b96acb955d23a47c59d2b4 100644 (file)
@@ -29,7 +29,7 @@ namespace icinga
 /**
  * @ingroup livestatus
  */
-struct I2_LIVESTATUS_API MaxAggregatorState : public AggregatorState
+struct MaxAggregatorState : public AggregatorState
 {
        MaxAggregatorState(void)
                : Max(0)
@@ -41,7 +41,7 @@ struct I2_LIVESTATUS_API MaxAggregatorState : public AggregatorState
 /**
  * @ingroup livestatus
  */
-class I2_LIVESTATUS_API MaxAggregator : public Aggregator
+class MaxAggregator : public Aggregator
 {
 public:
        DECLARE_PTR_TYPEDEFS(MaxAggregator);
index ec8464eb366793bfa61b84a3a547a4e6094ce9e2..82b40f1f6bba54c03408704d1ae40360d3f399dd 100644 (file)
@@ -30,7 +30,7 @@ namespace icinga
 /**
  * @ingroup livestatus
  */
-struct I2_LIVESTATUS_API MinAggregatorState : public AggregatorState
+struct MinAggregatorState : public AggregatorState
 {
        MinAggregatorState(void)
                : Min(DBL_MAX)
@@ -42,7 +42,7 @@ struct I2_LIVESTATUS_API MinAggregatorState : public AggregatorState
 /**
  * @ingroup livestatus
  */
-class I2_LIVESTATUS_API MinAggregator : public Aggregator
+class MinAggregator : public Aggregator
 {
 public:
        DECLARE_PTR_TYPEDEFS(MinAggregator);
index eb4a795c656948e2b7272a73e792ab4bd6b071b8..0ba575be8562fd74813fef13a8bd993052545b7e 100644 (file)
@@ -30,7 +30,7 @@ namespace icinga
 /**
  * @ingroup livestatus
  */
-class I2_LIVESTATUS_API NegateFilter : public Filter
+class NegateFilter : public Filter
 {
 public:
        DECLARE_PTR_TYPEDEFS(NegateFilter);
index e4dc54bac7218737921c09c38d10e03ce015b5a0..45389de38bf54b34a262feb5b281f6c3b1c006d8 100644 (file)
@@ -30,7 +30,7 @@ namespace icinga
 /**
  * @ingroup livestatus
  */
-class I2_LIVESTATUS_API OrFilter : public CombinerFilter
+class OrFilter : public CombinerFilter
 {
 public:
        DECLARE_PTR_TYPEDEFS(OrFilter);
index 17cb33cc2884ec088ef92fbf4e287361a5654b1d..f42e979e1650974961dac3076a39fec906fce9e7 100644 (file)
@@ -30,7 +30,7 @@ namespace icinga
 /**
  * @ingroup livestatus
  */
-class I2_LIVESTATUS_API ServiceGroupsTable : public Table
+class ServiceGroupsTable : public Table
 {
 public:
        DECLARE_PTR_TYPEDEFS(ServiceGroupsTable);
index f750330274198424749ad630f45c8ae859e288a2..2b43ed789edfd80f9eb2c8d39ed68975e95aac8c 100644 (file)
@@ -30,7 +30,7 @@ namespace icinga
 /**
  * @ingroup livestatus
  */
-class I2_LIVESTATUS_API ServicesTable : public Table
+class ServicesTable : public Table
 {
 public:
        DECLARE_PTR_TYPEDEFS(ServicesTable);
index 3cfd22e3e71f8f116b29d4286fd1b4d1024a6d87..505e5bedbac0755f624c5e0f360f3cb6e81379e4 100644 (file)
@@ -32,7 +32,7 @@ namespace icinga
 /**
  * @ingroup livestatus
  */
-class I2_LIVESTATUS_API StateHistTable : public HistoryTable
+class StateHistTable : public HistoryTable
 {
 public:
        DECLARE_PTR_TYPEDEFS(StateHistTable);
index de67d73035cbbe04b4bcfef0516aae6e2f4732de..2c036937b0cdc8d686a9c714450cc8b266275c6a 100644 (file)
@@ -30,7 +30,7 @@ namespace icinga
 /**
  * @ingroup livestatus
  */
-class I2_LIVESTATUS_API StatusTable : public Table
+class StatusTable : public Table
 {
 public:
        DECLARE_PTR_TYPEDEFS(StatusTable);
index 887085816c3ad4a9f44c80501aecf79ca725ebe2..f105458a27e6b405e12093941863c0e526a6719e 100644 (file)
@@ -29,7 +29,7 @@ namespace icinga
 /**
  * @ingroup livestatus
  */
-struct I2_LIVESTATUS_API StdAggregatorState : public AggregatorState
+struct StdAggregatorState : public AggregatorState
 {
        StdAggregatorState(void)
                : StdSum(0), StdQSum(0), StdCount(0)
@@ -43,7 +43,7 @@ struct I2_LIVESTATUS_API StdAggregatorState : public AggregatorState
 /**
  * @ingroup livestatus
  */
-class I2_LIVESTATUS_API StdAggregator : public Aggregator
+class StdAggregator : public Aggregator
 {
 public:
        DECLARE_PTR_TYPEDEFS(StdAggregator);
index 54a87f010d335d9bcd3e0b982b7a8c7a42bff94d..43fa7bb61586d122de26a6c56f8b2f19e5613879 100644 (file)
@@ -29,7 +29,7 @@ namespace icinga
 /**
  * @ingroup livestatus
  */
-struct I2_LIVESTATUS_API SumAggregatorState : public AggregatorState
+struct SumAggregatorState : public AggregatorState
 {
        SumAggregatorState(void)
                : Sum(0)
@@ -41,7 +41,7 @@ struct I2_LIVESTATUS_API SumAggregatorState : public AggregatorState
 /**
  * @ingroup livestatus
  */
-class I2_LIVESTATUS_API SumAggregator : public Aggregator
+class SumAggregator : public Aggregator
 {
 public:
        DECLARE_PTR_TYPEDEFS(SumAggregator);
index bc1045a34a16a1d4905bfb967fcb107dbaaee7b2..d39de04ad530e3a569643b8407006828625ff2c8 100644 (file)
@@ -42,7 +42,7 @@ class Filter;
 /**
  * @ingroup livestatus
  */
-class I2_LIVESTATUS_API Table : public Object
+class Table : public Object
 {
 public:
        DECLARE_PTR_TYPEDEFS(Table);
index 256f75d7ca143b93fc7da5f7277e93b425d28ca3..e234cb7b0ad2b0e3182dbf534948c4c204997c3c 100644 (file)
@@ -30,7 +30,7 @@ namespace icinga
 /**
  * @ingroup livestatus
  */
-class I2_LIVESTATUS_API TimePeriodsTable : public Table
+class TimePeriodsTable : public Table
 {
 public:
        DECLARE_PTR_TYPEDEFS(TimePeriodsTable);
index 05dfa03dc00759d03c451dffcfd13b880f3758ce..b1ccaf6209e7227fd9cc5aa0ab56b579e4b296c7 100644 (file)
@@ -30,7 +30,7 @@ namespace icinga
 /**
  * @ingroup livestatus
  */
-class I2_LIVESTATUS_API ZonesTable : public Table
+class ZonesTable : public Table
 {
 public:
        DECLARE_PTR_TYPEDEFS(ZonesTable);
index 3debccfa4f265f2b4a9532aabc0455a152226e85..2b5c3134cc059aeed40be67efbeb10d18c185121 100644 (file)
@@ -35,22 +35,11 @@ if(ICINGA2_UNITY_BUILD)
     mkunity_target(methods methods methods_SOURCES)
 endif()
 
-add_library(methods SHARED ${methods_SOURCES})
+add_library(methods STATIC ${methods_SOURCES})
 
 target_link_libraries(methods ${Boost_LIBRARIES} base config icinga)
 
 set_target_properties (
   methods PROPERTIES
-  INSTALL_RPATH ${CMAKE_INSTALL_FULL_LIBDIR}/icinga2
-  DEFINE_SYMBOL I2_METHODS_BUILD
   FOLDER Lib
-  VERSION ${SPEC_VERSION}
 )
-
-install(
-  TARGETS methods
-  RUNTIME DESTINATION ${CMAKE_INSTALL_SBINDIR}
-  LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}/icinga2
-)
-
-
index 0ae01a8184d792decbfc1b0e11d68508e135fdae..c44764f56be02e6ea602ded416334674c1a4a0e8 100644 (file)
@@ -32,7 +32,7 @@ namespace icinga
  *
  * @ingroup methods
  */
-class I2_METHODS_API ClrCheckTask
+class ClrCheckTask
 {
 public:
        static void ScriptFunc(const Checkable::Ptr& service, const CheckResult::Ptr& cr,
index ae1428b4dd21a548133f4db45f9c2af431e949c0..065f63c39cd3439c5abdb6a00d1562e8c6d10047 100644 (file)
@@ -32,7 +32,7 @@ namespace icinga
  *
  * @ingroup methods
  */
-class I2_METHODS_API DummyCheckTask
+class DummyCheckTask
 {
 public:
        static void ScriptFunc(const Checkable::Ptr& checkable, const CheckResult::Ptr& cr,
index 17b6c0b3d513e60522f85ba10c7feef76233de1e..e3543bb044da291a400cb09352d2a6312422bba3 100644 (file)
 
 #include "base/i2-base.hpp"
 
-#ifdef I2_METHODS_BUILD
-#      define I2_METHODS_API I2_EXPORT
-#else /* I2_METHODS_BUILD */
-#      define I2_METHODS_API I2_IMPORT
-#endif /* I2_METHODS_BUILD */
-
 #endif /* I2METHODS_H */
index 953cbb13c7ed54c3933f6dbf71833d931e7ce783..fe74efc05cae8b3182e1749ed2e1b438dc84e377 100644 (file)
@@ -31,7 +31,7 @@ namespace icinga
  *
  * @ingroup methods
  */
-class I2_METHODS_API IcingaCheckTask
+class IcingaCheckTask
 {
 public:
        static void ScriptFunc(const Checkable::Ptr& service, const CheckResult::Ptr& cr,
index 7e74ca0b4e7e1e93326b095917337452d89ca77f..3afe491a908e2492573eb4a838ab03031c0a17eb 100644 (file)
@@ -32,7 +32,7 @@ namespace icinga
  *
  * @ingroup methods
  */
-class I2_METHODS_API NullCheckTask
+class NullCheckTask
 {
 public:
        static void ScriptFunc(const Checkable::Ptr& service, const CheckResult::Ptr& cr,
index c3d656399800968a568b73bd63f0ec928f75d63a..1aee38fd8d32e02627d825f2f6dd5734365bfa35 100644 (file)
@@ -32,7 +32,7 @@ namespace icinga
  *
  * @ingroup methods
  */
-class I2_METHODS_API NullEventTask
+class NullEventTask
 {
 public:
        static void ScriptFunc(const Checkable::Ptr& service,
index 67afe448087127146d0c1bd2f2d040e08b83c62a..7095119b3e80b756d785ddd52ddd78d9ec491937 100644 (file)
@@ -32,7 +32,7 @@ namespace icinga
  *
  * @ingroup methods
  */
-class I2_METHODS_API PluginCheckTask
+class PluginCheckTask
 {
 public:
        static void ScriptFunc(const Checkable::Ptr& service, const CheckResult::Ptr& cr,
index ac73a082ad98d0bc9e5e8c0aa7e765c6c979f9e9..8801a51423713849d24556812968a91b9b928a93 100644 (file)
@@ -32,7 +32,7 @@ namespace icinga
  *
  * @ingroup methods
  */
-class I2_METHODS_API PluginEventTask
+class PluginEventTask
 {
 public:
        static void ScriptFunc(const Checkable::Ptr& service,
index 6a0ebe947f77caf278d6f902e292e904418436a8..546d6338457541ad7a11bba0ae7425ae3bd46f51 100644 (file)
@@ -33,7 +33,7 @@ namespace icinga
  *
  * @ingroup methods
  */
-class I2_METHODS_API PluginNotificationTask
+class PluginNotificationTask
 {
 public:
        static void ScriptFunc(const Notification::Ptr& notification,
index f1d491d878ee24ba78ad43d4dfac225cb1c84a66..d288b8ab58430bbc2e5468ca9a5ef3ea074f7c08 100644 (file)
@@ -25,16 +25,13 @@ if(ICINGA2_UNITY_BUILD)
     mkunity_target(notification notification notification_SOURCES)
 endif()
 
-add_library(notification SHARED ${notification_SOURCES})
+add_library(notification STATIC ${notification_SOURCES})
 
 target_link_libraries(notification ${Boost_LIBRARIES} base config icinga)
 
 set_target_properties (
   notification PROPERTIES
-  INSTALL_RPATH ${CMAKE_INSTALL_FULL_LIBDIR}/icinga2
-  DEFINE_SYMBOL I2_NOTIFICATION_BUILD
   FOLDER Components
-  VERSION ${SPEC_VERSION}
 )
 
 install_if_not_exists(
@@ -49,6 +46,4 @@ else()
   install_if_not_exists(${PROJECT_SOURCE_DIR}/etc/icinga2/features-enabled/notification.conf ${CMAKE_INSTALL_SYSCONFDIR}/icinga2/features-enabled)
 endif()
 
-install(TARGETS notification RUNTIME DESTINATION ${CMAKE_INSTALL_SBINDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}/icinga2)
-
 set(CPACK_NSIS_EXTRA_INSTALL_COMMANDS "${CPACK_NSIS_EXTRA_INSTALL_COMMANDS}" PARENT_SCOPE)
index cc3d6deb0062fba83ca268f56d43317c0ccc5144..c670660a0522a0f911cc5a6c1f8f8022be196d71 100644 (file)
@@ -30,16 +30,13 @@ if(ICINGA2_UNITY_BUILD)
     mkunity_target(perfdata perfdata perfdata_SOURCES)
 endif()
 
-add_library(perfdata SHARED ${perfdata_SOURCES})
+add_library(perfdata STATIC ${perfdata_SOURCES})
 
 target_link_libraries(perfdata ${Boost_LIBRARIES} base config icinga)
 
 set_target_properties (
   perfdata PROPERTIES
-  INSTALL_RPATH ${CMAKE_INSTALL_FULL_LIBDIR}/icinga2
-  DEFINE_SYMBOL I2_PERFDATA_BUILD
   FOLDER Components
-  VERSION ${SPEC_VERSION}
 )
 
 install_if_not_exists(
@@ -72,12 +69,6 @@ install_if_not_exists(
   ${CMAKE_INSTALL_SYSCONFDIR}/icinga2/features-available
 )
 
-install(
-  TARGETS perfdata
-  RUNTIME DESTINATION ${CMAKE_INSTALL_SBINDIR}
-  LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}/icinga2
-)
-
 install(CODE "file(MAKE_DIRECTORY \"\$ENV{DESTDIR}${CMAKE_INSTALL_FULL_LOCALSTATEDIR}/spool/icinga2/perfdata\")")
 install(CODE "file(MAKE_DIRECTORY \"\$ENV{DESTDIR}${CMAKE_INSTALL_FULL_LOCALSTATEDIR}/spool/icinga2/tmp\")")
 
index 7444b660eca889d7371e41fb7e4974fbb859a4c8..522125694ceacabf655cd226d695fcc4aebee19b 100644 (file)
@@ -38,32 +38,16 @@ if(ICINGA2_UNITY_BUILD)
     mkunity_target(remote remote remote_SOURCES)
 endif()
 
-add_library(remote SHARED ${remote_SOURCES})
+add_library(remote STATIC ${remote_SOURCES})
 
 include_directories(${Boost_INCLUDE_DIRS})
 target_link_libraries(remote ${Boost_LIBRARIES} base config)
 
 set_target_properties (
   remote PROPERTIES
-  INSTALL_RPATH ${CMAKE_INSTALL_FULL_LIBDIR}/icinga2
-  DEFINE_SYMBOL I2_REMOTE_BUILD
   FOLDER Lib
-  VERSION ${SPEC_VERSION}
 )
 
-install(
-  TARGETS remote
-  RUNTIME DESTINATION ${CMAKE_INSTALL_SBINDIR}
-  LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}/icinga2
-)
-
-if(APPLE)
-  install(
-    TARGETS remote
-    LIBRARY DESTINATION ${CMAKE_INSTALL_BINDIR}/icinga-studio.app/Contents
-  )
-endif()
-
 #install(CODE "file(MAKE_DIRECTORY \"\$ENV{DESTDIR}${CMAKE_INSTALL_FULL_LOCALSTATEDIR}/lib/icinga2/api\")")
 install(CODE "file(MAKE_DIRECTORY \"\$ENV{DESTDIR}${CMAKE_INSTALL_FULL_LOCALSTATEDIR}/lib/icinga2/api/log\")")
 install(CODE "file(MAKE_DIRECTORY \"\$ENV{DESTDIR}${CMAKE_INSTALL_FULL_LOCALSTATEDIR}/lib/icinga2/api/zones\")")
index 23446fd6ebdd0694ee6aa3e88e5446f1a3f58841..4fc54bfd96a32668a3dd380f2a6277afa421806c 100644 (file)
@@ -25,7 +25,7 @@
 namespace icinga
 {
 
-class I2_REMOTE_API ActionsHandler : public HttpHandler
+class ActionsHandler : public HttpHandler
 {
 public:
        DECLARE_PTR_TYPEDEFS(ActionsHandler);
index 9bd511fd0b00532098a886716747bd29498c78d2..9921b734d01c34c4c31ae56b4f5e48bf5d89081f 100644 (file)
@@ -38,7 +38,7 @@ namespace icinga
  *
  * @ingroup remote
  */
-class I2_REMOTE_API ApiAction : public Object
+class ApiAction : public Object
 {
 public:
        DECLARE_PTR_TYPEDEFS(ApiAction);
@@ -65,7 +65,7 @@ private:
  *
  * @ingroup remote
  */
-class I2_REMOTE_API ApiActionRegistry : public Registry<ApiActionRegistry, ApiAction::Ptr>
+class ApiActionRegistry : public Registry<ApiActionRegistry, ApiAction::Ptr>
 {
 public:
        static ApiActionRegistry *GetInstance(void);
index f4152ad3b24cb901362d8cddc7194f263e492271..a552a0d23635bb34d39d47a35386a6c6132bc8c4 100644 (file)
@@ -52,7 +52,7 @@ public:
        intrusive_ptr<ApiType> Type;
 };
 
-class I2_REMOTE_API ApiType : public Object
+class ApiType : public Object
 {
 public:
        DECLARE_PTR_TYPEDEFS(ApiType);
@@ -73,7 +73,7 @@ public:
        String Type;
 };
 
-struct I2_REMOTE_API ApiObject : public Object
+struct ApiObject : public Object
 {
 public:
        DECLARE_PTR_TYPEDEFS(ApiObject);
@@ -84,7 +84,7 @@ public:
        std::vector<ApiObjectReference> UsedBy;
 };
 
-class I2_REMOTE_API ApiClient : public Object
+class ApiClient : public Object
 {
 public:
        DECLARE_PTR_TYPEDEFS(ApiClient);
index 0d37d84ad389ab6bc1adef0608b85655890f92fb..7a722e26b513402e603d4d052b5488913eae870c 100644 (file)
@@ -35,7 +35,7 @@ namespace icinga
  *
  * @ingroup base
  */
-class I2_REMOTE_API ApiFunction : public Object
+class ApiFunction : public Object
 {
 public:
        DECLARE_PTR_TYPEDEFS(ApiFunction);
@@ -59,7 +59,7 @@ private:
  *
  * @ingroup base
  */
-class I2_REMOTE_API ApiFunctionRegistry : public Registry<ApiFunctionRegistry, ApiFunction::Ptr>
+class ApiFunctionRegistry : public Registry<ApiFunctionRegistry, ApiFunction::Ptr>
 {
 public:
        static ApiFunctionRegistry *GetInstance(void);
index c3dbddbe5f150e43a6cfcbb24f7f5e4eed7f4467..71d7a7d46d2afdfbc242324b4afc42ac2d6982cb 100644 (file)
@@ -49,7 +49,7 @@ struct ConfigDirInformation
 /**
 * @ingroup remote
 */
-class I2_REMOTE_API ApiListener : public ObjectImpl<ApiListener>
+class ApiListener : public ObjectImpl<ApiListener>
 {
 public:
        DECLARE_OBJECT(ApiListener);
index f2903058bc1c1fcb5d9a4dfd00f80040ade2614a..b64f48da66459159113c7ee3beb838a3f824118c 100644 (file)
@@ -29,7 +29,7 @@ namespace icinga
 /**
  * @ingroup remote
  */
-class I2_REMOTE_API ApiUser : public ObjectImpl<ApiUser>
+class ApiUser : public ObjectImpl<ApiUser>
 {
 public:
        DECLARE_OBJECT(ApiUser);
index bb2a85c8e38d15aeca65d7cfe94827d8587ddee0..8de6a2f6c993284fb528826c8dab49a4e5719ae4 100644 (file)
@@ -25,7 +25,7 @@
 namespace icinga
 {
 
-class I2_REMOTE_API ConfigFilesHandler : public HttpHandler
+class ConfigFilesHandler : public HttpHandler
 {
 public:
        DECLARE_PTR_TYPEDEFS(ConfigFilesHandler);
index d91549d57f7eadcd180ef0df19e0dd708e2233be..fd27b530cec4d37ff25a182c2ec2a9a5b8785c0c 100644 (file)
@@ -34,7 +34,7 @@ namespace icinga
  *
  * @ingroup remote
  */
-class I2_REMOTE_API ConfigObjectUtility
+class ConfigObjectUtility
 {
 
 public:
index 79589bbe37bb1988c0e4678b0f15a7f62fb760fa..a6eb782eb36a3a66aa9451d17513af5ff4c896b6 100644 (file)
@@ -25,7 +25,7 @@
 namespace icinga
 {
 
-class I2_REMOTE_API ConfigPackagesHandler : public HttpHandler
+class ConfigPackagesHandler : public HttpHandler
 {
 public:
        DECLARE_PTR_TYPEDEFS(ConfigPackagesHandler);
index 608ca6600956b5ad040a352953307109568ceacf..f877af5f0d1b5229894191f9b1eed4a68f305587 100644 (file)
@@ -35,7 +35,7 @@ namespace icinga
  *
  * @ingroup remote
  */
-class I2_REMOTE_API ConfigPackageUtility
+class ConfigPackageUtility
 {
 
 public:
index 832ee041308a2643c68e91fb47c672b10ea85bc4..cb215deaae6953c1c6d9f4ea8e7ae7d7bdb6a8c0 100644 (file)
@@ -25,7 +25,7 @@
 namespace icinga
 {
 
-class I2_REMOTE_API ConfigStagesHandler : public HttpHandler
+class ConfigStagesHandler : public HttpHandler
 {
 public:
        DECLARE_PTR_TYPEDEFS(ConfigStagesHandler);
index 0a09049a6523714d8f6297982690a06e602a5c0b..605e3cb1d8623710eae4103ac5d1037798970405 100644 (file)
@@ -26,7 +26,7 @@
 namespace icinga
 {
 
-struct I2_REMOTE_API ApiScriptFrame
+struct ApiScriptFrame
 {
        double Seen;
        int NextLine;
@@ -38,7 +38,7 @@ struct I2_REMOTE_API ApiScriptFrame
        { }
 };
 
-class I2_REMOTE_API ConsoleHandler : public HttpHandler
+class ConsoleHandler : public HttpHandler
 {
 public:
        DECLARE_PTR_TYPEDEFS(ConsoleHandler);
index d83ff4af89774f81a3c092146809cfad4d706e83..85b407d76d1f626b3b3c689ede977c0c7f2f5640 100644 (file)
@@ -25,7 +25,7 @@
 namespace icinga
 {
 
-class I2_REMOTE_API CreateObjectHandler : public HttpHandler
+class CreateObjectHandler : public HttpHandler
 {
 public:
        DECLARE_PTR_TYPEDEFS(CreateObjectHandler);
index 7ab02c590e506f3029acf998f4a83fd049479b85..951d957a29276f167abf1bf2e261aae7c49f0dbf 100644 (file)
@@ -25,7 +25,7 @@
 namespace icinga
 {
 
-class I2_REMOTE_API DeleteObjectHandler : public HttpHandler
+class DeleteObjectHandler : public HttpHandler
 {
 public:
        DECLARE_PTR_TYPEDEFS(DeleteObjectHandler);
index 5ca81b648d08dc45c31c7e3ec1df9924079763b3..344d49bbce669f3497564333ca27f21b432236ef 100644 (file)
@@ -36,7 +36,7 @@ class Zone;
  *
  * @ingroup remote
  */
-class I2_REMOTE_API Endpoint : public ObjectImpl<Endpoint>
+class Endpoint : public ObjectImpl<Endpoint>
 {
 public:
        DECLARE_OBJECT(Endpoint);
index 1f8404b8037e02c91b327455cc78da6ae4864dfe..eb5778b56c5f0f0ce047ba4f069a32b6f434a468 100644 (file)
@@ -32,7 +32,7 @@
 namespace icinga
 {
 
-class I2_REMOTE_API EventQueue : public Object
+class EventQueue : public Object
 {
 public:
        DECLARE_PTR_TYPEDEFS(EventQueue);
@@ -73,7 +73,7 @@ private:
  *
  * @ingroup base
  */
-class I2_REMOTE_API EventQueueRegistry : public Registry<EventQueueRegistry, EventQueue::Ptr>
+class EventQueueRegistry : public Registry<EventQueueRegistry, EventQueue::Ptr>
 {
 public:
        static EventQueueRegistry *GetInstance(void);
index 5ab40ab7e660ede93409f7e5d9b85e4005b6127a..f58cefd5cc42a1ed447940626bed63743e1fec0e 100644 (file)
@@ -26,7 +26,7 @@
 namespace icinga
 {
 
-class I2_REMOTE_API EventsHandler : public HttpHandler
+class EventsHandler : public HttpHandler
 {
 public:
        DECLARE_PTR_TYPEDEFS(EventsHandler);
index c4edba9f6f79db60c1da09200618c8f66f10c429..a41567a274bc638fb01c13749813b38e0bb36a57 100644 (file)
@@ -64,7 +64,7 @@ struct QueryDescription
  *
  * @ingroup remote
  */
-class I2_REMOTE_API FilterUtility
+class FilterUtility
 {
 public:
        static Type::Ptr TypeFromPluralName(const String& pluralName);
index c09edf04c1508464b0681c5b977a521c4bc18417..c0a658c998f8d6f9ea6c2a250e955b156607689b 100644 (file)
@@ -41,7 +41,7 @@ struct ChunkReadContext
  *
  * @ingroup remote
  */
-struct I2_REMOTE_API HttpChunkedEncoding
+struct HttpChunkedEncoding
 {
        static StreamReadStatus ReadChunkFromStream(const Stream::Ptr& stream,
                char **data, size_t *size, ChunkReadContext& ccontext, bool may_wait = false);
index 73d8fea0efdea647ddd39e86977e6f16fffd4bc0..9971cd41d5827b8a26da4e8d5aab9e9629865153 100644 (file)
@@ -34,7 +34,7 @@ namespace icinga
  *
  * @ingroup remote
  */
-class I2_REMOTE_API HttpClientConnection : public Object
+class HttpClientConnection : public Object
 {
 public:
        DECLARE_PTR_TYPEDEFS(HttpClientConnection);
index d27ca291102a27d6c3941297b7e0181c9b46d989..c06c4030b66a080d95631d6683d252ad87348231 100644 (file)
@@ -34,7 +34,7 @@ namespace icinga
  *
  * @ingroup remote
  */
-class I2_REMOTE_API HttpHandler : public Object
+class HttpHandler : public Object
 {
 public:
        DECLARE_PTR_TYPEDEFS(HttpHandler);
@@ -53,7 +53,7 @@ private:
  *
  * @ingroup remote
  */
-class I2_REMOTE_API RegisterHttpHandler
+class RegisterHttpHandler
 {
 public:
        RegisterHttpHandler(const String& url, const HttpHandler& function);
index 6a125c57131c0d9f163776ae0f5ceab271a7b5d5..18a11c6023a8c54186df245d0c3dafba2f121a25 100644 (file)
@@ -49,7 +49,7 @@ enum HttpRequestState
  *
  * @ingroup remote
  */
-struct I2_REMOTE_API HttpRequest
+struct HttpRequest
 {
 public:
        bool Complete;
index 216a333e47bb6d57faece5bf5301519a92cbb7f1..6a876d342e929fab39fc9d635eb7ac1670cbdb44 100644 (file)
@@ -41,7 +41,7 @@ enum HttpResponseState
  *
  * @ingroup remote
  */
-struct I2_REMOTE_API HttpResponse
+struct HttpResponse
 {
 public:
        bool Complete;
index 347d33a4854458f5206fe510722cebe14ad27725..1f43265317bae676449852531294d93dcce52741 100644 (file)
@@ -34,7 +34,7 @@ namespace icinga
  *
  * @ingroup remote
  */
-class I2_REMOTE_API HttpServerConnection : public Object
+class HttpServerConnection : public Object
 {
 public:
        DECLARE_PTR_TYPEDEFS(HttpServerConnection);
index 5a74a8f42450703b2def4805ec7d3fee8ef8a0de..bebc4f68417907c776a4d1cecf9b4775f63c20dd 100644 (file)
@@ -32,7 +32,7 @@ namespace icinga
  *
  * @ingroup remote
  */
-class I2_REMOTE_API HttpUtility
+class HttpUtility
 {
 
 public:
index f5bb0adc03afbd4a8fde9e91b3a505f63b94cdfd..292e8f2e0056ebf2d71fb8c740a53e400cfaa494 100644 (file)
 
 #include "base/i2-base.hpp"
 
-#ifdef I2_REMOTE_BUILD
-#      define I2_REMOTE_API I2_EXPORT
-#else /* I2_REMOTE_BUILD */
-#      define I2_REMOTE_API I2_IMPORT
-#endif /* I2_REMOTE_BUILD */
-
 #endif /* I2REMOTE_H */
index b50e0f430feb1eb8302f336acf15ed604770d68a..1d318018c4b6e00021f05cdab30cdd3a3bf5f90f 100644 (file)
@@ -25,7 +25,7 @@
 namespace icinga
 {
 
-class I2_REMOTE_API InfoHandler : public HttpHandler
+class InfoHandler : public HttpHandler
 {
 public:
        DECLARE_PTR_TYPEDEFS(InfoHandler);
index ef11edbeed753b5d15dd9b9cc2c5cc5fa6a109d0..1033086e4d6ba70d2bcb4316e29428467f31cdc7 100644 (file)
@@ -32,7 +32,7 @@ namespace icinga
  *
  * @ingroup remote
  */
-class I2_REMOTE_API JsonRpc
+class JsonRpc
 {
 public:
        static size_t SendMessage(const Stream::Ptr& stream, const Dictionary::Ptr& message);
index 9a65d1282672a14fbeb5403c6bfb967289967811..1d1cc4a7e2806d2cedbfb9cc12e9e00f7bea37a5 100644 (file)
@@ -48,7 +48,7 @@ class MessageOrigin;
  *
  * @ingroup remote
  */
-class I2_REMOTE_API JsonRpcConnection : public Object
+class JsonRpcConnection : public Object
 {
 public:
        DECLARE_PTR_TYPEDEFS(JsonRpcConnection);
index 1be114aa794eae755e372a9fa612d93df9728617..f32b2b434750c7cc877b7e84d9590c1284eb0cce 100644 (file)
@@ -29,7 +29,7 @@ namespace icinga
 /**
  * @ingroup remote
  */
-class I2_REMOTE_API MessageOrigin : public Object
+class MessageOrigin : public Object
 {
 public:
        DECLARE_PTR_TYPEDEFS(MessageOrigin);
index a8d6cd3b39530d02576a953c462d9044f392ead2..aa46e259c409918ae96fe8514cca0eed519c17eb 100644 (file)
@@ -25,7 +25,7 @@
 namespace icinga
 {
 
-class I2_REMOTE_API ModifyObjectHandler : public HttpHandler
+class ModifyObjectHandler : public HttpHandler
 {
 public:
        DECLARE_PTR_TYPEDEFS(ModifyObjectHandler);
index 5be7d7e8c8beb86a4e121ec5cbcd95350a3f413d..ebcd5e47fa78566e7e0694470d88e57b9130d66c 100644 (file)
@@ -25,7 +25,7 @@
 namespace icinga
 {
 
-class I2_REMOTE_API ObjectQueryHandler : public HttpHandler
+class ObjectQueryHandler : public HttpHandler
 {
 public:
        DECLARE_PTR_TYPEDEFS(ObjectQueryHandler);
index 2f872685ea4b4db916de442baec4ab5140fa32b8..5cd98eb5e6f0d8ca426d7d296c654c0c810e690e 100644 (file)
@@ -31,7 +31,7 @@ namespace icinga
 /**
  * @ingroup remote
  */
-class I2_REMOTE_API PkiUtility
+class PkiUtility
 {
 public:
        static int NewCa(void);
index 808561b26a164be42304b0797ff01f10fa5331ba..0e2db4d4c64480c746861c1c9e12f8a4a62b2bfa 100644 (file)
@@ -25,7 +25,7 @@
 namespace icinga
 {
 
-class I2_REMOTE_API StatusHandler : public HttpHandler
+class StatusHandler : public HttpHandler
 {
 public:
        DECLARE_PTR_TYPEDEFS(StatusHandler);
index 26d09ad2596d3fdf15b99b2cb42d9addcfad0fa0..55de097d15eb43fd2a33421a786556b127114093 100644 (file)
@@ -25,7 +25,7 @@
 namespace icinga
 {
 
-class I2_REMOTE_API TemplateQueryHandler : public HttpHandler
+class TemplateQueryHandler : public HttpHandler
 {
 public:
        DECLARE_PTR_TYPEDEFS(TemplateQueryHandler);
index 26d56f5a1c9d1fb150833ca56d1c37b03a3ea257..12ff5c293900188ea8820e2922fc1aef93b69307 100644 (file)
@@ -25,7 +25,7 @@
 namespace icinga
 {
 
-class I2_REMOTE_API TypeQueryHandler : public HttpHandler
+class TypeQueryHandler : public HttpHandler
 {
 public:
        DECLARE_PTR_TYPEDEFS(TypeQueryHandler);
index fa05f72cb8c62e8a515837c356677a0dd0ae0528..531c7c26a27b618347bfbcfd7470654218202d28 100644 (file)
@@ -36,7 +36,7 @@ namespace icinga
  *
  * @ingroup base
  */
-class I2_REMOTE_API Url : public Object
+class Url : public Object
 {
 public:
        DECLARE_PTR_TYPEDEFS(Url);
index 6a4954ecc94bd09165cddc60f8059afcfb0dab23..469a3442f7ed438b0cbf2ed05dcd426bbe58061a 100644 (file)
@@ -25,7 +25,7 @@
 namespace icinga
 {
 
-class I2_REMOTE_API VariableQueryHandler : public HttpHandler
+class VariableQueryHandler : public HttpHandler
 {
 public:
        DECLARE_PTR_TYPEDEFS(VariableQueryHandler);
index 07a44c03507f2a297234d861a6d2724048eacf6b..218e148cd314fceaab9826b539e65dc061f7228f 100644 (file)
@@ -30,7 +30,7 @@ namespace icinga
 /**
  * @ingroup remote
  */
-class I2_REMOTE_API Zone : public ObjectImpl<Zone>
+class Zone : public ObjectImpl<Zone>
 {
 public:
        DECLARE_OBJECT(Zone);
index 18c821e96f9e8a709c956bb9c186880f398de04f..0182b6787d994282c1b64ea1f48fde5875632a59 100644 (file)
 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
 
 add_executable ( check_nscp_api check_nscp_api.cpp  )
-target_link_libraries ( check_nscp_api ${Boost_PROGRAM_OPTIONS_LIBRARY} ${Boost_SYSTEM_LIBRARY} base remote )
+target_link_libraries ( check_nscp_api ${Boost_PROGRAM_OPTIONS_LIBRARY} ${Boost_SYSTEM_LIBRARY})
+add_whole_static_library(check_nscp_api base)
+add_whole_static_library(check_nscp_api config)
+add_whole_static_library(check_nscp_api remote)
 set_target_properties (
   check_nscp_api PROPERTIES
   INSTALL_RPATH ${CMAKE_INSTALL_FULL_LIBDIR}/icinga2
index 53e79aa2ddcd2c45d85c3f7e3b54905fff33e97f..6f43285451b75857bc07d51d4992e58f48c390d5 100644 (file)
@@ -35,7 +35,6 @@ endif()
 
 add_boost_test(base
   SOURCES test-runner.cpp ${base_test_SOURCES}
-  LIBRARIES base config icinga
   TESTS base_array/construct
         base_array/getset
         base_array/resize
@@ -121,6 +120,10 @@ add_boost_test(base
         remote_url/illegal_legal_strings
 )
 
+add_whole_static_library(${base_TARGET_NAME} base)
+add_whole_static_library(${base_TARGET_NAME} config)
+add_whole_static_library(${base_TARGET_NAME} icinga)
+
 if(ICINGA2_WITH_LIVESTATUS)
   set(livestatus_test_SOURCES
     livestatus.cpp
@@ -132,10 +135,14 @@ if(ICINGA2_WITH_LIVESTATUS)
 
   add_boost_test(livestatus
     SOURCES test-runner.cpp livestatus-fixture.cpp ${livestatus_test_SOURCES}
-    LIBRARIES base config icinga livestatus
-    DEPENDENCIES methods
     TESTS livestatus/hosts livestatus/services
   )
+
+  add_whole_static_library(${livestatus_TARGET_NAME} base)
+  add_whole_static_library(${livestatus_TARGET_NAME} config)
+  add_whole_static_library(${livestatus_TARGET_NAME} icinga)
+  add_whole_static_library(${livestatus_TARGET_NAME} livestatus)
+  add_whole_static_library(${livestatus_TARGET_NAME} methods)
 endif()
 
 set(icinga_checkable_test_SOURCES
@@ -148,10 +155,13 @@ endif()
 
 add_boost_test(icinga_checkable
   SOURCES test-runner.cpp icinga-checkable-test.cpp ${icinga_checkable_test_SOURCES}
-  LIBRARIES base config icinga cli
   TESTS icinga_checkable_flapping/host_not_flapping
         icinga_checkable_flapping/host_flapping
         icinga_checkable_flapping/host_flapping_recover
         icinga_checkable_flapping/host_flapping_docs_example
 )
 
+add_whole_static_library(${icinga_checkable_TARGET_NAME} base)
+add_whole_static_library(${icinga_checkable_TARGET_NAME} config)
+add_whole_static_library(${icinga_checkable_TARGET_NAME} icinga)
+add_whole_static_library(${icinga_checkable_TARGET_NAME} cli)
index 2d754196fd99bd189882295c12298bb07db3b3cb..4aba917243aeb11374c7f2d0028be763d66db8fa 100644 (file)
 # along with this program; if not, write to the Free Software Foundation
 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
 
-add_library(execvpe SHARED execvpe.c execvpe.h)
+add_library(execvpe STATIC execvpe.c execvpe.h)
 
 set_target_properties (
   execvpe PROPERTIES
-  DEFINE_SYMBOL I2_EXECVPE_BUILD
   FOLDER Lib
-  VERSION ${SPEC_VERSION}
 )
-
-install(
-  TARGETS execvpe
-  RUNTIME DESTINATION ${CMAKE_INSTALL_SBINDIR}
-  LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}/icinga2
-)
-
-if(APPLE)
-  install(
-    TARGETS execvpe
-    LIBRARY DESTINATION ${CMAKE_INSTALL_BINDIR}/icinga-studio.app/Contents
-  )
-endif()
index a3e62c851333a675b2483c45c66e5ab1908bff11..c2230cad7568ab17fd8c9675fe500b7dfbd718a7 100644 (file)
 #ifndef EXECVPE_H
 #define EXECVPE_H
 
-#include "base/visibility.hpp"
-
 #ifdef __cplusplus
 extern "C" {
 #endif /* __cplusplus */
 
-#ifdef I2_EXECVPE_BUILD
-#      define I2_EXECVPE_API I2_EXPORT
-#else
-#      define I2_EXECVPE_API I2_IMPORT
-#endif /* I2_EXECVPE_BUILD */
-
 #ifndef _MSC_VER
-I2_EXECVPE_API int icinga2_execvpe(const char *file, char *const argv[], char *const envp[]);
+int icinga2_execvpe(const char *file, char *const argv[], char *const envp[]);
 #endif /* _MSC_VER */
 
 #ifdef __cplusplus
index ed96fc0e404b266a397ad4f8214efcbb959bf51b..39060cb002ea749a6a8588ee02caf21e3811d05f 100644 (file)
 # along with this program; if not, write to the Free Software Foundation
 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
 
-add_library(mmatch SHARED mmatch.c mmatch.h)
+add_library(mmatch STATIC mmatch.c mmatch.h)
 
 set_target_properties(
   mmatch PROPERTIES
-  DEFINE_SYMBOL I2_MMATCH_BUILD
   FOLDER Lib
-  VERSION ${SPEC_VERSION}
 )
-
-install(
-  TARGETS mmatch
-  RUNTIME DESTINATION ${CMAKE_INSTALL_SBINDIR}
-  LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}/icinga2
-)
-
-if(APPLE)
-  install(
-    TARGETS mmatch
-    LIBRARY DESTINATION ${CMAKE_INSTALL_BINDIR}/icinga-studio.app/Contents
-  )
-endif()
index 940220391d6eac0b23d7d251aef796e4a847f0ae..8a451b2edd2d144b1f2e54e91674b63ffa9a1e0c 100644 (file)
@@ -1,21 +1,13 @@
 #ifndef MMATCH_H
 #define MMATCH_H
 
-#include "base/visibility.hpp"
-
 #ifdef __cplusplus
 extern "C" {
 #endif /* __cplusplus */
 
-#ifdef I2_MMATCH_BUILD
-#      define I2_MMATCH_API I2_EXPORT
-#else
-#      define I2_MMATCH_API I2_IMPORT
-#endif /* I2_MMATCH_BUILD */
-
-I2_MMATCH_API int mmatch(const char *old_mask, const char *new_mask);
-I2_MMATCH_API int match(const char *mask, const char *str);
-I2_MMATCH_API char *collapse(char *pattern);
+int mmatch(const char *old_mask, const char *new_mask);
+int match(const char *mask, const char *str);
+char *collapse(char *pattern);
 
 #ifdef __cplusplus
 }
index 0e227aca18509e8b938bd1a2752340d28d8454d6..f154ede8d945f98e3b6a2a7d845cc30facd084c8 100644 (file)
 # along with this program; if not, write to the Free Software Foundation
 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
 
-add_library(socketpair SHARED socketpair.c socketpair.h)
+add_library(socketpair STATIC socketpair.c socketpair.h)
 
 set_target_properties (
   socketpair PROPERTIES
-  DEFINE_SYMBOL I2_SOCKETPAIR_BUILD
   FOLDER Lib
-  VERSION ${SPEC_VERSION}
 )
 
 if(WIN32)
   target_link_libraries(socketpair ws2_32)
 endif()
-
-install(
-  TARGETS socketpair
-  RUNTIME DESTINATION ${CMAKE_INSTALL_SBINDIR}
-  LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}/icinga2
-)
-
-if(APPLE)
-  install(
-    TARGETS socketpair
-    LIBRARY DESTINATION ${CMAKE_INSTALL_BINDIR}/icinga-studio.app/Contents
-  )
-endif()
index eb091c7daa115954e65c9ff5fa9165e8f0023552..4b3783968f408f2058b20298bb22e6c483dcd5e7 100644 (file)
@@ -28,22 +28,14 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 #ifndef SOCKETPAIR_H
 #define SOCKETPAIR_H
 
-#include "base/visibility.hpp"
-
 #ifdef __cplusplus
 extern "C" {
 #endif /* __cplusplus */
 
-#ifdef I2_SOCKETPAIR_BUILD
-#       define I2_SOCKETPAIR_API I2_EXPORT
-#else
-#       define I2_SOCKETPAIR_API I2_IMPORT
-#endif /* I2_SOCKETPAIR_BUILD */
-
 #ifdef _WIN32
-I2_SOCKETPAIR_API int dumb_socketpair(SOCKET socks[2], int make_overlapped);
+int dumb_socketpair(SOCKET socks[2], int make_overlapped);
 #else /* _WIN32 */
-I2_SOCKETPAIR_API int dumb_socketpair(int socks[2], int dummy);
+int dumb_socketpair(int socks[2], int dummy);
 #endif
 
 #ifdef __cplusplus
index c5de3539db7a9bae212cf147c1f4675b0f0db4b9..1ebf3686969e3f4dc07d8a9cea6e36403332b7c8 100644 (file)
@@ -30,15 +30,13 @@ ADD_DEFINITIONS(-DYAJL_BUILD)
 # set up some paths
 SET (incDir ${CMAKE_CURRENT_BINARY_DIR}/../include/yajl)
 
-ADD_LIBRARY(yajl SHARED ${SRCS} ${HDRS} ${PUB_HDRS})
+ADD_LIBRARY(yajl STATIC ${SRCS} ${HDRS} ${PUB_HDRS})
 
 #### setup shared library version number
-SET_TARGET_PROPERTIES(yajl PROPERTIES
-                      INSTALL_RPATH ${CMAKE_INSTALL_FULL_LIBDIR}/icinga2
-                      DEFINE_SYMBOL YAJL_SHARED
-                      SOVERSION ${YAJL_MAJOR}
-                      VERSION ${YAJL_MAJOR}.${YAJL_MINOR}.${YAJL_MICRO}
-                                         FOLDER Lib)
+SET_TARGET_PROPERTIES(yajl
+    PROPERTIES
+    FOLDER Lib
+)
 
 #### build up an sdk as a post build step
 
@@ -56,14 +54,3 @@ FOREACH (header ${PUB_HDRS})
 ENDFOREACH (header ${PUB_HDRS})
 
 INCLUDE_DIRECTORIES(${incDir}/..)
-
-INSTALL(TARGETS yajl
-  RUNTIME DESTINATION ${CMAKE_INSTALL_SBINDIR}
-  LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}/icinga2)
-
-if(APPLE)
-  install(
-    TARGETS yajl
-    LIBRARY DESTINATION ${CMAKE_INSTALL_BINDIR}/icinga-studio.app/Contents
-  )
-endif()
index 79d9011b526f8d545dab2bcffb55ba5e801c8a22..525358d75847505661d1b730558153f697473884 100644 (file)
@@ -109,20 +109,6 @@ void ClassCompiler::HandleCode(const std::string& code, const ClassDebugInfo&)
 void ClassCompiler::HandleLibrary(const std::string& library, const ClassDebugInfo&)
 {
        m_Library = library;
-
-       std::string libName = m_Library;
-       std::locale locale;
-
-       for (auto& ch : libName)
-               ch = std::toupper(ch, locale);
-
-       m_Header << "#ifndef I2_" << libName << "_API" << std::endl
-               << "#   ifdef I2_" << libName << "_BUILD" << std::endl
-               << "#           define I2_" << libName << "_API I2_EXPORT" << std::endl
-               << "#   else /* I2_" << libName << "_BUILD */" << std::endl
-               << "#           define I2_" << libName << "_API I2_IMPORT" << std::endl
-               << "#   endif /* I2_" << libName << "_BUILD */" << std::endl
-               << "#endif /* I2_" << libName << "_API */" << std::endl << std::endl;
 }
 
 unsigned long ClassCompiler::SDBM(const std::string& str, size_t len = std::string::npos)
@@ -203,18 +189,6 @@ void ClassCompiler::OptimizeStructLayout(std::vector<Field>& fields)
 
 void ClassCompiler::HandleClass(const Klass& klass, const ClassDebugInfo&)
 {
-       std::string apiMacro;
-
-       if (!m_Library.empty()) {
-               std::string libName = m_Library;
-               std::locale locale;
-
-               for (auto& ch : libName)
-                       ch = std::toupper(ch, locale);
-
-               apiMacro = "I2_" + libName + "_API ";
-       }
-
        /* forward declaration */
        if (klass.Name.find_first_of(':') == std::string::npos)
                m_Header << "class " << klass.Name << ";" << std::endl << std::endl;
@@ -233,7 +207,7 @@ void ClassCompiler::HandleClass(const Klass& klass, const ClassDebugInfo&)
 
        /* TypeImpl */
        m_Header << "template<>" << std::endl
-               << "class " << apiMacro << "TypeImpl<" << klass.Name << ">"
+               << "class TypeImpl<" << klass.Name << ">"
                << " : public Type";
 
        if (!klass.Parent.empty())
@@ -471,7 +445,7 @@ void ClassCompiler::HandleClass(const Klass& klass, const ClassDebugInfo&)
 
        /* ObjectImpl */
        m_Header << "template<>" << std::endl
-                       << "class " << apiMacro << "ObjectImpl<" << klass.Name << ">"
+                       << "class ObjectImpl<" << klass.Name << ">"
                        << " : public " << (klass.Parent.empty() ? "Object" : klass.Parent) << std::endl
                        << "{" << std::endl
                        << "public:" << std::endl