# Sub modules
ADD_SUBDIRECTORY(src/crash-manager)
-IF("${SYS_ASSERT}" STREQUAL "on")
+IF("${SYS_ASSERT}" STREQUAL "ON")
ADD_SUBDIRECTORY(src/sys-assert)
-ENDIF("${SYS_ASSERT}" STREQUAL "on")
+ENDIF("${SYS_ASSERT}" STREQUAL "ON")
ADD_SUBDIRECTORY(src/crash-pipe)
ADD_SUBDIRECTORY(src/crash-stack)
-%define sys_assert on
+# "on_off foo" wil turn into "ON" or "OFF"
+%define on_off() %{expand:%%{?with_%{1}:ON}%%{!?with_%{1}:OFF}}
+
+%define _with_sys_assert on
%bcond_with doc
+%bcond_with core_dump
+%bcond_with sys_assert
Name: crash-worker
Summary: Crash-manager
BuildRequires: pkgconfig(capi-system-info)
BuildRequires: pkgconfig(glib-2.0)
BuildRequires: cmake
-%if "%{?sys_assert}" == "on"
+%if %{with sys_assert}
BuildRequires: pkgconfig(libunwind)
%endif
BuildRequires: libelf-devel libelf
-DCRASH_TEMP=%{crash_temp} \
-DCRASH_PIPE_PATH=%{_libexecdir}/crash-pipe \
-DCRASH_STACK_PATH=%{_libexecdir}/crash-stack \
-%if "%{?sys_assert}" == "on"
- -DSYS_ASSERT=%{sys_assert} \
-%endif
- -DUPGRADE_SCRIPT_PATH=%{upgrade_script_path}
-# to add support for core dump files add backslash at the end of above line
-# and uncomment below line:
-# -DWITH_CORE_DUMP=ON
+ -DSYS_ASSERT=%{on_off sys_assert} \
+ -DUPGRADE_SCRIPT_PATH=%{upgrade_script_path} \
+ -DWITH_CORE_DUMP=%{on_off core_dump}
make %{?jobs:-j%jobs}
%if %{with doc}
%endif
%post
-%if "%{?sys_assert}" == "on"
+%if %{with sys_assert}
if [ ! -d /.build ]; then
orig="%{_libdir}/libsys-assert.so"
pattern=$(echo $orig | sed -e 's|/|\\/|g')
/usr/bin/chsmack -a "_" %{crash_dump_gen}/module.d/*
%postun
-%if "%{?sys_assert}" == "on"
+%if %{with sys_assert}
orig="%{_libdir}/libsys-assert.so"
pattern=$(echo $orig | sed -e 's|/|\\/|g')
sed -i "/${pattern}/D" %{_sysconfdir}/ld.so.preload
%{_prefix}/lib/sysctl.d/99-crash-manager.conf
%{_datadir}/dbus-1/system-services/org.tizen.system.crash.service
-%if "%{?sys_assert}" == "on"
+%if %{with sys_assert}
%{_libdir}/libsys-assert.so
%{_sysconfdir}/tmpfiles.d/sys-assert.conf
%endif
# Set compilation options for core dump support
if (${WITH_CORE_DUMP} STREQUAL "ON")
set_property(TARGET ${CRASH_STACK_BIN} APPEND_STRING PROPERTY COMPILE_FLAGS " -DWITH_CORE_DUMP")
+ find_library(EBL_LIBRARY NAMES ebl)
endif()
# Linking
-target_link_libraries(${CRASH_STACK_BIN} dw elf ebl dl stdc++)
+target_link_libraries(${CRASH_STACK_BIN} ${EBL_LIBRARY} dw elf dl stdc++)
# Installing
install(TARGETS ${CRASH_STACK_BIN} DESTINATION libexec)