From 2347c96a9796a84c3e6c5515fb8dadc6545ba26e Mon Sep 17 00:00:00 2001 From: Sangyoon Jang Date: Wed, 3 Jun 2015 19:18:29 +0900 Subject: [PATCH] Fix build break on aarch64, clean up CMakeLists.txt use macro instead of hardcoded path set so version using package version remove unused cmake variables add visibility attribute on libalarm apis Change-Id: Ic0b334d689909033bb700866f4a63e414bb413ff Signed-off-by: Sangyoon Jang --- CMakeLists.txt | 17 ++--------------- packaging/alarm-manager.spec | 2 +- src/CMakeLists.txt | 24 +++++------------------- src/alarm-lib.c | 4 ++++ 4 files changed, 12 insertions(+), 35 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index fe24598..98bd72f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,12 +1,6 @@ CMAKE_MINIMUM_REQUIRED(VERSION 2.6) SET (this_target alarm-server) -SET (EXPORT_API "__attribute__ ((visibility(\"default\")))") - -ADD_DEFINITIONS("-DEXPORT_API=${EXPORT_API}") - -SET(CMAKE_EXECUTABLE_SUFFIX "") -SET(EXECUTABLE_OUTPUT_PATH "${CMAKE_CURRENT_SOURCE_DIR}/output") INCLUDE_DIRECTORIES( include @@ -27,10 +21,6 @@ FOREACH(flag ${pkgs_CFLAGS}) SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag} -Wall -Wno-unused") ENDFOREACH(flag) -FOREACH(flag ${pkgs_CFLAGS}) - SET(TEST_CFLAGS "${TEST_CFLAGS} ${flag}") -ENDFOREACH(flag) - SET (${this_target}_SOURCE_FILES alarm-manager-registry.c alarm-manager-schedule.c @@ -49,10 +39,7 @@ ADD_CUSTOM_COMMAND( ADD_EXECUTABLE (${this_target} ${${this_target}_SOURCE_FILES} alarm-mgr-stub.c) ADD_DEPENDENCIES(${this_target} alarm) -SET(CMAKE_C_FLAGS "${OSP_DEBUG_FLAGS} ${OSP_OPT_FLAGS} ${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} ${OSP_COMPILER_FLAGS} -fpie") -SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fexceptions -fvisibility=hidden") -SET(CMAKE_CXX_FLAGS "${OSP_DEBUG_FLAGS} ${OSP_OPT_FLAGS} ${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS} ${OSP_COMPILER_FLAGS}") -SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${TEST_CFLAGS}") +SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -fpie") TARGET_LINK_LIBRARIES(${this_target} ${pkgs_LDFLAGS}) TARGET_LINK_LIBRARIES(${this_target} "-lrt -lm -pie") @@ -62,7 +49,7 @@ ADD_SUBDIRECTORY(src) ADD_SUBDIRECTORY(tool) CONFIGURE_FILE(alarm-service.conf.in alarm-service.conf @ONLY) -INSTALL(TARGETS ${this_target} DESTINATION bin) +INSTALL(TARGETS ${this_target} DESTINATION ${CMAKE_INSTALL_PREFIX}/bin) IF(_APPFW_FEATURE_ALARM_MANAGER_MODULE_LOG) INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/alarmmgr_log_dump.sh DESTINATION ${SYSCONF_INSTALL_DIR}/dump.d/module.d/) ENDIF(_APPFW_FEATURE_ALARM_MANAGER_MODULE_LOG) diff --git a/packaging/alarm-manager.spec b/packaging/alarm-manager.spec index c2ad371..8557acc 100644 --- a/packaging/alarm-manager.spec +++ b/packaging/alarm-manager.spec @@ -119,7 +119,7 @@ chown system:system /var/log/alarmmgr.log %files -n libalarm %manifest alarm-lib.manifest -%attr(0644,root,root) %{_libdir}/libalarm.so.0.0.0 +%attr(0644,root,root) %{_libdir}/libalarm.so.* %{_libdir}/*.so.* %license LICENSE diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 079195d..06f905d 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,12 +1,4 @@ SET(this_target alarm) -ADD_DEFINITIONS("-DPREFIX=\"${PREFIX}\"") - -SET(PREFIX ${CMAKE_INSTALL_PREFIX}) -SET(EXEC_PREFIX "\${prefix}") -SET(LIBDIR "\${prefix}/lib") -SET(INCLUDEDIR "\${prefix}/include") -SET(VERSION_MAJOR 1) -SET(VERSION "${VERSION_MAJOR}.1") INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include) @@ -16,7 +8,7 @@ INCLUDE(FindPkgConfig) pkg_check_modules(lib_pkgs REQUIRED ${LIB_PKGS}) FOREACH(flag ${lib_pkgs_CFLAGS}) - SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag} -Wall -Wno-unused") + SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}") ENDFOREACH(flag) SET(${this_target}_SOURCE_FILES @@ -32,7 +24,7 @@ ADD_CUSTOM_COMMAND( ../alarm_mgr.xml COMMENT "Generating Server GDBus .c/.h") -SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}") +SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -Wall -Wno-unused -fvisibility=hidden") ADD_LIBRARY(${this_target} SHARED ${${this_target}_SOURCE_FILES} alarm-mgr-stub.c) @@ -42,22 +34,16 @@ SET_TARGET_PROPERTIES(${this_target} PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${EXEC SET_TARGET_PROPERTIES(${this_target} PROPERTIES - VERSION 0.0.0 + VERSION ${FULLVER} SOVERSION ${MAJORVER} CLEAN_DIRECT_OUTPUT 1 ) TARGET_LINK_LIBRARIES(${this_target} ${lib_pkgs_LDFLAGS}) -ADD_CUSTOM_COMMAND(TARGET ${this_target} - POST_BUILD - COMMAND ${CMAKE_COMMAND} -E create_symlink ${CMAKE_SHARED_LIBRARY_PREFIX}${this_target}${CMAKE_SHARED_LIBRARY_SUFFIX}.${FULLVER}${LIBRARY_OUTPUT_PATH} ${CMAKE_SHARED_LIBRARY_PREFIX}${this_target}${CMAKE_SHARED_LIBRARY_SUFFIX}.${MAJORVER} - -) - # pkgconfig file CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/alarm-service.pc.in ${CMAKE_SOURCE_DIR}/alarm-service.pc @ONLY) -INSTALL(FILES ${CMAKE_SOURCE_DIR}/alarm-service.pc DESTINATION lib/pkgconfig) +INSTALL(FILES ${CMAKE_SOURCE_DIR}/alarm-service.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/include/ DESTINATION include/ FILES_MATCHING PATTERN "alarm.h") -INSTALL(TARGETS ${this_target} DESTINATION lib) +INSTALL(TARGETS ${this_target} DESTINATION ${CMAKE_INSTALL_LIBDIR}) diff --git a/src/alarm-lib.c b/src/alarm-lib.c index 7ffd65b..c282bec 100644 --- a/src/alarm-lib.c +++ b/src/alarm-lib.c @@ -41,6 +41,10 @@ #define MAX_KEY_SIZE 256 #define MAX_PROC_NAME_LEN 512 +#ifndef EXPORT_API +#define EXPORT_API __attribute__ ((visibility("default"))) +#endif + static alarm_context_t alarm_context = { NULL, NULL, NULL, NULL, -1 }; static bool b_initialized = false; -- 2.7.4