Make dlog backend optional. 07/67607/1
authorDariusz Michaluk <d.michaluk@samsung.com>
Tue, 26 Apr 2016 14:57:11 +0000 (16:57 +0200)
committerDariusz Michaluk <d.michaluk@samsung.com>
Wed, 27 Apr 2016 11:04:41 +0000 (13:04 +0200)
Change-Id: I59f52d7de4583bc945d33a0e109a3f4477d0a8b9

CMakeLists.txt
packaging/security-tests.spec
src/CMakeLists.txt
src/framework/config.cmake
src/framework/src/log.cpp

index bc5a202..c42e239 100644 (file)
@@ -45,9 +45,14 @@ SET(CMAKE_CXX_FLAGS_RELEASE    "-O2")
 SET(SMACK_ENABLE ON)
 
 OPTION(DPL_LOG "DPL logs status" ON)
+OPTION(DPL_WITH_DLOG "DPL DLOG backend" OFF)
 IF(DPL_LOG)
     MESSAGE(STATUS "Logging enabled for DPL")
     ADD_DEFINITIONS("-DDPL_LOGS_ENABLED")
+    IF(DPL_WITH_DLOG)
+        MESSAGE(STATUS "Enable DLOG backend")
+        ADD_DEFINITIONS("-DDPL_DLOG_ENABLED")
+    ENDIF(DPL_WITH_DLOG)
 ELSE(DPL_LOG)
     MESSAGE(STATUS "Logging disabled for DPL")
 ENDIF(DPL_LOG)
index c7667f0..18011c5 100644 (file)
@@ -43,6 +43,7 @@ export LDFLAGS+="-Wl,--rpath=%{_prefix}/lib"
 
 cmake . -DCMAKE_INSTALL_PREFIX=%{_prefix} \
         -DDPL_LOG="ON"                    \
+        -DDPL_WITH_DLOG="ON"              \
         -DVERSION=%{version}              \
         -DCMAKE_BUILD_TYPE=%{?build_type:%build_type}%{!?build_type:DEBUG} \
 %if "%{sec_product_feature_security_mdfpp_enable}" == "1"
index 478063c..d420f8f 100644 (file)
@@ -24,9 +24,12 @@ PKG_CHECK_MODULES(SYS_FRAMEWORK_TEST
 PKG_CHECK_MODULES(SYS_FRAMEWORK_TEST_OTHER
     REQUIRED
     glib-2.0
-    dlog
     )
 
+IF(DPL_WITH_DLOG)
+    PKG_CHECK_MODULES(SYS_FRAMEWORK_TEST_DLOG REQUIRED dlog)
+ENDIF(DPL_WITH_DLOG)
+
 ADD_DEFINITIONS(${SYS_FRAMEWORK_TEST_OTHER_CFLAGS})
 
 include(framework/config.cmake)
@@ -34,15 +37,18 @@ include(framework/config.cmake)
 SET(DPL_FRAMEWORK_TEST_LIBRARY "dpl-test-framework")
 
 INCLUDE_DIRECTORIES(SYSTEM
+    ${SYS_FRAMEWORK_TEST_INCLUDE_DIRS}
     ${SYS_FRAMEWORK_TEST_OTHER_INCLUDE_DIRS}
+    ${SYS_FRAMEWORK_TEST_DLOG_INCLUDE_DIRS}
     ${DPL_FRAMEWORK_TEST_INCLUDE_DIR}
     )
 
 ADD_LIBRARY(${DPL_FRAMEWORK_TEST_LIBRARY} ${DPL_FRAMEWORK_TEST_SOURCES})
 
 TARGET_LINK_LIBRARIES(${DPL_FRAMEWORK_TEST_LIBRARY}
-    ${SYS_FRAMEWORK_TEST_OTHER_LIBRARIES}
     ${SYS_FRAMEWORK_TEST_LIBRARIES}
+    ${SYS_FRAMEWORK_TEST_OTHER_LIBRARIES}
+    ${SYS_FRAMEWORK_TEST_DLOG_LIBRARIES}
     )
 
 INSTALL(FILES ${PROJECT_SOURCE_DIR}/src/security-tests.sh
index 72b3d2c..791e546 100644 (file)
@@ -29,7 +29,6 @@ SET(DPL_FRAMEWORK_TEST_SOURCES
     ${PROJECT_SOURCE_DIR}/src/framework/src/noncopyable.cpp
     ${PROJECT_SOURCE_DIR}/src/framework/src/singleton.cpp
     ${PROJECT_SOURCE_DIR}/src/framework/src/abstract_log_provider.cpp
-    ${PROJECT_SOURCE_DIR}/src/framework/src/dlog_log_provider.cpp
     ${PROJECT_SOURCE_DIR}/src/framework/src/log.cpp
     ${PROJECT_SOURCE_DIR}/src/framework/src/old_style_log_provider.cpp
     ${PROJECT_SOURCE_DIR}/src/framework/src/test_failed.cpp
@@ -44,6 +43,12 @@ SET(DPL_FRAMEWORK_TEST_SOURCES
     ${PROJECT_SOURCE_DIR}/src/framework/src/test_runner_multiprocess.cpp
 )
 
+IF(DPL_WITH_DLOG)
+    SET(DPL_FRAMEWORK_TEST_SOURCES
+        ${DPL_FRAMEWORK_TEST_SOURCES}
+        ${PROJECT_SOURCE_DIR}/src/framework/src/dlog_log_provider.cpp)
+ENDIF(DPL_WITH_DLOG)
+
 SET(DPL_FRAMEWORK_TEST_INCLUDE_DIR
     ${PROJECT_SOURCE_DIR}/src/framework/include
 )
index 1625088..5689428 100644 (file)
@@ -44,7 +44,9 @@ bool LogSystem::IsLoggingEnabled() const
 }
 
 LogSystem::LogSystem() :
+#ifdef DPL_DLOG_ENABLED
     m_dlogProvider(nullptr),
+#endif
     m_oldStyleProvider(nullptr),
     m_isLoggingEnabled(!getenv(DPL_LOG_OFF))
 {
@@ -117,8 +119,10 @@ LogSystem::LogSystem() :
         AddProvider(m_oldStyleProvider);
     } else {
         // DLOG
+#ifdef DPL_DLOG_ENABLED
         m_dlogProvider = new DLOGLogProvider();
         AddProvider(m_dlogProvider);
+#endif
     }
 }
 
@@ -135,15 +139,19 @@ LogSystem::~LogSystem()
     m_providers.clear();
 
     // And even default providers
+#ifdef DPL_DLOG_ENABLED
     m_dlogProvider = nullptr;
+#endif
     m_oldStyleProvider = nullptr;
 }
 
-void LogSystem::SetTag(const chartag)
+void LogSystem::SetTag(const char __attribute__((__unused__)) *tag)
 {
+#ifdef DPL_DLOG_ENABLED
     if (m_dlogProvider != nullptr) {
         m_dlogProvider->SetTag(tag);
     }
+#endif
 }
 
 void LogSystem::AddProvider(AbstractLogProvider *provider)