summaryrefslogtreecommitdiff
path: root/configure.ac
diff options
context:
space:
mode:
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac153
1 files changed, 153 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac
new file mode 100644
index 0000000..f1fde52
--- /dev/null
+++ b/configure.ac
@@ -0,0 +1,153 @@
+#######################################################################################################################
+#
+# Copyright (C) 2012 Continental Automotive Systems, Inc.
+#
+# Author: Ana.Chisca@continental-corporation.com
+#
+# Configure template for the Persistence Administration Service
+#
+# Process this file with autoconf to produce a configure script.
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+#######################################################################################################################
+
+dnl **************************************************************************
+dnl *** First, define all of the version numbers up front ***
+dnl *** In particular, this allows the version macro to be used in AC_INIT ***
+dnl **************************************************************************
+m4_define([PERS_SERVICE_VERSION_S],[1.0.2])
+m4_define([PERS_SERVICE_VERSION_N],[1000001])
+
+dnl ***************************
+dnl *** Initialize autoconf ***
+dnl ***************************
+AC_INIT([persistence-administration-service],[PERS_SERVICE_VERSION_S])
+AC_COPYRIGHT([Copyright (c) 2012 Continental Automotive GmbH])
+AC_PREREQ([2.50])
+
+dnl ***************************
+dnl *** Initialize automake ***
+dnl ***************************
+AM_INIT_AUTOMAKE()
+AC_CONFIG_MACRO_DIR([m4])
+AC_SUBST([ACLOCAL_AMFLAGS], ["$ACLOCAL_FLAGS -I m4"])
+
+dnl *********************************
+dnl *** Shared library versioning ***
+dnl *********************************
+PERSADMINACCESS_MAJOR=$((((PERS_SERVICE_VERSION_N() / 1000) / 1000) % 1000 ))
+PERSADMINACCESS_MINOR=$(( (PERS_SERVICE_VERSION_N() / 1000) % 1000 ))
+PERSADMINACCESS_MICRO=$(( PERS_SERVICE_VERSION_N() % 1000 ))
+GENERIC_LIBRARY_VERSION=$PERSADMINACCESS_MAJOR:$PERSADMINACCESS_MINOR:$PERSADMINACCESS_MICRO
+AC_SUBST(GENERIC_LIBRARY_VERSION)
+
+dnl ********************************
+dnl *** Check for basic programs ***
+dnl ********************************
+AC_PROG_CC()
+AM_PROG_CC_C_O()
+AC_PROG_CXX()
+AC_PROG_INSTALL()
+
+dnl ***************************
+dnl *** Initialize lib tool ***
+dnl ***************************
+AC_DISABLE_STATIC()
+AC_PROG_LIBTOOL()
+
+dnl ***************************************
+dnl *** Check for standard header files ***
+dnl ***************************************
+AC_CHECK_HEADERS([string.h])
+AC_CHECK_HEADERS([fcntl.h])
+AC_CHECK_HEADERS([stddef.h])
+AC_CHECK_HEADERS([sys/file.h])
+
+dnl ************************************
+dnl *** Check for standard functions ***
+dnl ************************************
+AC_FUNC_FORK
+AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK
+AC_FUNC_MALLOC
+AC_FUNC_MMAP
+AC_CHECK_FUNCS([memcpy])
+AC_CHECK_FUNCS([memmove])
+AC_CHECK_FUNCS([memset])
+AC_CHECK_FUNCS([mkdir])
+AC_CHECK_FUNCS([munmap])
+AC_CHECK_FUNCS([strerror])
+AC_CHECK_FUNCS([strstr])
+AC_CHECK_FUNCS([strrchr])
+
+AC_CHECK_FUNCS([ftruncate])
+AC_CHECK_FUNCS([strdup])
+AC_CHECK_FUNCS([strtol])
+
+dnl ********************************************************************
+dnl *** Check for typedefs, structures, and compiler characteristics ***
+dnl ********************************************************************
+AC_HEADER_STDBOOL
+AC_TYPE_MODE_T
+AC_TYPE_PID_T
+AC_TYPE_SIZE_T
+AC_TYPE_UINT8_T
+AC_TYPE_UINT16_T
+AC_TYPE_UINT32_T
+AC_TYPE_UINT64_T
+AC_TYPE_INT8_T
+AC_TYPE_INT16_T
+AC_TYPE_INT32_T
+AC_TYPE_INT64_T
+
+dnl ***********************************
+dnl *** Check for required packages ***
+dnl ***********************************
+PKG_CHECK_MODULES([GIO], [gio-2.0 >= 2.30.0])
+PKG_CHECK_MODULES([GIO_UNIX], [gio-unix-2.0 >= 2.30.0])
+PKG_CHECK_MODULES([GLIB], [glib-2.0 >= 2.30.0])
+PKG_CHECK_MODULES([GOBJECT], [gobject-2.0 >= 2.30.0])
+PKG_CHECK_MODULES([DBUS], [dbus-1 >= 1.4.10])
+PKG_CHECK_MODULES([DLT], [automotive-dlt >= 2.2.0])
+PKG_CHECK_MODULES([ZLIB], [zlib >= 1.2.5])
+PKG_CHECK_MODULES([ARCHIVELIB], [libarchive >= 3.0.4])
+PKG_CHECK_MODULES([PERSCOMMON], [libperscommon >= 1.0.1])
+PKG_CHECK_MODULES([JSON], [json >= 0.9])
+PKG_CHECK_MODULES([NSM], [node-state-manager])
+PKG_CHECK_MODULES([SYSTEMD], [libsystemd-daemon >= 37 ])
+
+AC_SUBST(DEPS_CFLAGS)
+AC_SUBST(DEPS_LIBS)
+
+dnl *************************************
+dnl *** Define extra paths ***
+dnl *************************************
+AC_ARG_WITH([systemdsystemunitdir],
+ AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [Directory for systemd service files]),
+ [],
+ [with_systemdsystemunitdir=$(pkg-config --silence-errors --variable=systemdsystemunitdir systemd)])
+AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir])
+AC_ARG_WITH([dbuspolicydir],
+ AS_HELP_STRING([--with-dbuspolicydirdir=DIR], [Directory for D-Bus system policy files]),
+ [],
+ [with_dbuspolicydir=$(pkg-config --silence-errors --variable=sysconfdir dbus-1)/dbus-1/system.d])
+AC_SUBST([dbuspolicydir], [$with_dbuspolicydir])
+
+# Derive path of the NSM dbus xml models
+AC_SUBST([nsmdbusinterfacesdir], [$(pkg-config --silence-errors --variable=dbusinterfacesdir node-state-manager)])
+
+dnl ************************************
+dnl *** Define configure output ***
+dnl ************************************
+AC_CONFIG_FILES([ Makefile
+ Administrator/Makefile
+ Administrator/generated/Makefile
+ Administrator/config/pas-daemon.service
+ Administrator/pkgconfig/libpersadminaccess.pc
+ test/pers_svc_test/Makefile
+ test/persadmin_tool/Makefile])
+AC_OUTPUT
+
+