tests: enable redirection tests for zero-copy
[platform/core/system/dlog.git] / configure.ac
index 4b7cf1c..20fcb45 100644 (file)
@@ -1,50 +1,16 @@
 #                                               -*- Autoconf -*-
 # Process this file with autoconf to produce a configure script.
 
-AC_PREREQ([2.68])
-AC_INIT([dlog], [1.0], p.kedzierski@samsung.com)
+AC_PREREQ(2.61)
+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])
-
-PLATFORM_INIT
-AC_CONFIG_SRCDIR([log.c])
-
-PKG_CHECK_MODULES([TZPLATFORM_CONFIG], [libtzplatform-config])
-
-# Checks for programs.
-dnl AC_PROG_CXX
-m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
 AC_PROG_CC
-AC_PROG_LIBTOOL
-
-# checks arch
-AM_CONDITIONAL(DEVELOP_VER, test $DEVELOP_VER = yes)
-
-# check for libsystemd-journal
-AC_ARG_WITH([systemd-journal],
-       AS_HELP_STRING([--with-systemd-journal], [check for systemd-journal]),
-       [], [with_systemd_journal=check])
-have_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"])
-
-AC_SUBST(DLOG_CFLAGS)
+AC_PROG_CXX
 
-dnl AC_SUBST(ACLOCAL_AMFLAGS, "-I m4")
-# Checks for libraries.
-# Checks for header files.
-AC_HEADER_STDC
-AC_CHECK_HEADERS([fcntl.h stdlib.h string.h unistd.h])
+AC_SUBST(DEBUG_CFLAGS)
+AC_CHECK_HEADERS([stdlib.h unistd.h])
 
 # Checks for typedefs, structures, and compiler characteristics.
 AC_HEADER_STDBOOL
@@ -59,8 +25,89 @@ AC_TYPE_SSIZE_T
 AC_FUNC_MALLOC
 AC_FUNC_STAT
 AC_CHECK_FUNCS([memset])
-AC_CHECK_FUNCS([strtol])
+
+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}
+])