daemon: extract reader start-up to a function
[platform/core/system/dlog.git] / configure.ac
old mode 100755 (executable)
new mode 100644 (file)
index 124f3a1..20fcb45
@@ -2,67 +2,15 @@
 # Process this file with autoconf to produce a configure script.
 
 AC_PREREQ(2.61)
-AC_INIT([dlog], [1.0], yk.yun@samsung.com)
+AC_INIT([dlog], [8.0], [cw00.choi@samsung.com, k.lewandowsk@samsung.com, m.bloch@samsung.com])
 AM_INIT_AUTOMAKE([-Wall -Werror foreign])
-AC_CONFIG_HEADERS([config.h:config.hin])
+LT_INIT
 
-AC_CONFIG_MACRO_DIR([m4])
-# Init XO
-PLATFORM_INIT
-
-# Checks for programs.
-dnl AC_PROG_CXX
-m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
 AC_PROG_CC
-AC_PROG_GCC_TRADITIONAL
-AC_PROG_LIBTOOL
-
-# check for libsystemd-journal
-AC_ARG_ENABLE(journal, AS_HELP_STRING([--enable-journal], [enable systemd journal]),
-    [with_systemd_journal=yes],
-    with_systemd_journal=no)
-if test "x$with_systemd_journal" != "xno"; then
-       PKG_CHECK_MODULES(systemd_journal, [libsystemd-journal],
-               [AC_DEFINE(HAVE_SYSTEMD_JOURNAL, 1, [Define if systemd journal is available])
-               have_systemd_journal=yes],
-           have_systemd_journal=no)
-       if test "x$have_systemd_journal" = "xno" -a "x$with_systemd_journal" = "xyes"; then
-               AC_MSG_ERROR([systemd journal requested but libraries not found])
-       fi
-fi
-AM_CONDITIONAL(HAVE_SYSTEMD_JOURNAL, [test "x$have_systemd_journal" = "xyes"])
-AM_CONDITIONAL(WITH_SYSTEMD_JOURNAL, [test "x$with_systemd_journal" = "xyes"])
-if test "x$have_systemd_journal" = "xyes" ; then
-       systemd_journal=systemd-journal
-fi
-AC_SUBST(systemd_journal)
-
-# check binary type for dlog debug mode
-AC_ARG_ENABLE([dlog_debug_mode],
-       AS_HELP_STRING([--enable-debug_mode Turn on dlog_debug_mode]),
-               [dlog_debug_mode=yes],
-               dlog_debug_mode=no)
-if test "x$dlog_debug_mode" = "xyes" ; then
-       DEBUG_CFLAGS+=" -DDLOG_DEBUG_ENABLE"
-fi
-AC_ARG_ENABLE([debug_enable],
-       AS_HELP_STRING([--enable-debug_enable Turn on debug_enable]),
-               [debug_enable=yes],
-           debug_enable=no)
-# check for fatal_on
-AC_ARG_ENABLE([fatal_on],
-       AS_HELP_STRING([--enable-fatal_on Turn on fatal assertion]),
-               [fatal_on=yes],
-           fatal_on=no)
-if test "x$fatal_on" = "xyes" ; then
-       DEBUG_CFLAGS+=" -DFATAL_ON"
-fi
+AC_PROG_CXX
+
 AC_SUBST(DEBUG_CFLAGS)
-dnl AC_SUBST(ACLOCAL_AMFLAGS, "-I m4")
-# Checks for libraries.
-# Checks for header files.
-AC_HEADER_STDC
-AC_CHECK_HEADERS([stdlib.h unistd.h ])
+AC_CHECK_HEADERS([stdlib.h unistd.h])
 
 # Checks for typedefs, structures, and compiler characteristics.
 AC_HEADER_STDBOOL
@@ -81,6 +29,85 @@ AC_CHECK_FUNCS([memset])
 PKG_PROG_PKG_CONFIG
 PKG_CHECK_MODULES([CAPI_BASE_COMMON], [capi-base-common])
 
+AC_ARG_ENABLE([server-user],
+        AS_HELP_STRING([--enable-server-user=USER], [user dlog_server should run with]),
+        [dlog_server_user=$enableval],
+        [dlog_server_user=log])
+AC_DEFINE_UNQUOTED([DLOG_SERVER_USER], "$dlog_server_user")
+AC_SUBST([DLOG_SERVER_USER], "$dlog_server_user")
+
+AC_ARG_ENABLE([server-group],
+        AS_HELP_STRING([--enable-server-group=GROUP], [group dlog_server should run with]),
+        [dlog_server_group=$enableval],
+        [dlog_server_group=log])
+AC_DEFINE_UNQUOTED([DLOG_SERVER_GROUP], "$dlog_server_group")
+AC_SUBST([DLOG_SERVER_GROUP], "$dlog_server_group")
+
+critical_logfile_path_default=${localstatedir}/log/dlog/critical
+AC_ARG_ENABLE([critical-logfile],
+       AS_HELP_STRING([--critical-log-path=PATH], [path of the critical log file (default: $critical_logfile_path_default)]),
+       [critical_logfile=$enableval],
+       [critical_logfile=$critical_logfile_path_default])
+AC_DEFINE_UNQUOTED([DLOG_CRITICAL_LOGFILE_PATH], "$critical_logfile")
+AC_SUBST([DLOG_CRITICAL_LOGFILE_PATH], "$critical_logfile")
+
+critical_logfile_size_default=1048576 # 1 MB
+AC_ARG_ENABLE([critical-logsize],
+       AS_HELP_STRING([--critical-log-size=SIZE], [size of the critical log file in bytes (default: $critical_logfile_size_default)]),
+       [critical_logsize=$enableval],
+       [critical_logsize=$critical_logfile_size_default])
+AC_DEFINE_UNQUOTED([DLOG_CRITICAL_LOGFILE_SIZE], [$critical_logsize])
+AC_SUBST([DLOG_CRITICAL_LOGFILE_SIZE], [$critical_logsize])
+
+AC_ARG_ENABLE([android-monotonic],
+        AS_HELP_STRING([--enable-android-monotonic], [use monotonic send timestamp with log message when using android backend (EXPERIMENTAL)]),
+        [android_monotonic=true],
+        [android_monotonic=false])
+if test x$android_monotonic = xtrue; then
+       AC_DEFINE_UNQUOTED([USE_ANDROID_MONOTONIC])
+fi
+
+AC_ARG_ENABLE([lowmem-notification],
+       AS_HELP_STRING([--enable-lowmem-notification], [enable low memory notification feature in dlog_logger]),
+       [lowmem_notification=true],
+       [lowmem_notification=false])
+if test "${lowmem_notification}" = "true"; then
+       PKG_CHECK_MODULES([VCONF], [vconf])
+       PKG_CHECK_MODULES([GIO], [gio-2.0])
+
+       AC_SUBST(LOWMEM_NOTIFICATION, "true")
+       AC_DEFINE_UNQUOTED([LOWMEM_NOTIFICATION])
+else
+       AC_SUBST(LOWMEM_NOTIFICATION, "false")
+fi
+
 # output files
-AC_CONFIG_FILES([Makefile dlog.pc])
+AC_SUBST([datadir])
+AC_SUBST([libexecdir])
+AC_CONFIG_FILES([Makefile dlog.pc dlogutil.pc dlog-redirect-stdout.pc]
+                [dlog_test:tests/dlog_test.in]
+                [run-unittest.sh:tests/dlog_coverage.in]
+                [dlog_test_header:tests/dlog_test_header.in]
+                [dlog_test_daemon_early_quit:tests/dlog_test_daemon_early_quit.in]
+                [dlog_test_stdout_redirect:tests/dlog_test_stdout_redirect.in]
+                [dlog_test_tid_filtering_secure_logging:tests/dlog_test_tid_filtering_secure_logging.in]
+                [dlog_test_backend_autodetection:tests/dlog_test_backend_autodetection.in]
+                [dlog_test_logger_buffering_logging:tests/dlog_test_logger_buffering_logging.in]
+                [dlog_cpu:tests/dlog_cpu.in]
+                [README.testsuite:tests/README.testsuite.in]
+                [units/dlog_logger.service]
+                [units/dlog_cleanup.service])
+
 AC_OUTPUT
+
+AC_MSG_RESULT([
+        $PACKAGE $VERSION
+        =====
+
+        compiler:               ${CC}
+        cflags:                 ${CFLAGS}
+        ldflags:                ${LDFLAGS}
+
+        server's user:          ${dlog_server_user}
+        server's group:         ${dlog_server_group}
+])