summaryrefslogtreecommitdiff
path: root/configure.ac
blob: 50165fef0ad3d61860a7dd1d7e10ce75ff66d1c4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
#######################################################################################################################
#
# Copyright (C) 2012 Continental Automotive Systems, Inc.
#
# Author: Jean-Pierre.Bogler@continental-corporation.com
#
# Configure template for the NodeStateManager
#
# 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/.
#
#######################################################################################################################

# Initialize autoconf
AC_INIT([node-state-manager],[2.0.1])
AC_COPYRIGHT([Copyright (c) 2012 Continental Automotive GmbH])
AC_PREREQ([2.50])

# Initialize automake
AM_INIT_AUTOMAKE([tar-ustar])
AC_CONFIG_MACRO_DIR([m4])
AC_SUBST([ACLOCAL_AMFLAGS], ["$ACLOCAL_FLAGS -I m4"])

# Initialize libtool
LT_INIT([disable-static])

# Check for basic programs
AC_PROG_CC
AM_PROG_CC_C_O

# Check for basic headers
AC_CHECK_HEADERS([string.h])

# Check for basic functions
AC_CHECK_FUNCS([memcpy])

# Check for required packages
PKG_CHECK_MODULES([DLT],      [automotive-dlt             >= 2.2.0 ])
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([SYSTEMD],  [libsystemd-daemon          >= 37    ])
PKG_CHECK_MODULES([PCL],      [persistence_client_library >= 0.6.0 ])

# Choose NodeStateMachine
AC_ARG_WITH([nsmc],
            [AS_HELP_STRING([--with-nsmc], [Set the NodeStateMachine (default NodeStateMachineStub)])],
                           [nsmc=$withval], [nsmc="NodeStateMachineStub"])

AC_SUBST(NSMC, $nsmc)

# Derive path for storing systemd service files (e. g. /lib/systemd/system)
AC_ARG_WITH([systemdsystemunitdir],
        AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [Directory for systemd service files]),
        [],
        [with_systemdsystemunitdir=$(pkg-config --silence-errors --variable=systemdsystemunitdir systemd)])

if test "x${with_systemdsystemunitdir}" = "x"; then
            with_systemdsystemunitdir="/lib/systemd/system"
fi

AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir])

# Derive path for storing 'dbus' service files (e. g. /usr/share/dbus-1/system-services)
AC_ARG_WITH([dbussystemunitdir],
        AS_HELP_STRING([--with-dbussystemunitdir=DIR], [Directory for D-Bus system service files]),
        [],
        [with_dbussystemunitdir=$(pkg-config --silence-errors --variable=system_bus_services_dir dbus-1)])
AC_SUBST([dbussystemunitdir], [$with_dbussystemunitdir])

# Derive path for storing 'dbus' policy files (e. g. /etc)
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 for storing 'dbus' interface files (e. g. /usr/share/dbus-1/interfaces)
AC_ARG_WITH([dbusinterfacesdir],
        AS_HELP_STRING([--with-dbusinterfacesdir=DIR], [Directory for D-Bus interface files]),
        [],
        [with_dbusinterfacesdir=$(pkg-config --silence-errors --variable=interfaces_dir dbus-1)])
AC_SUBST([dbusinterfacesdir], [$with_dbusinterfacesdir])

# Define configure output
AC_CONFIG_FILES([Makefile 
                 NodeStateManager/Makefile 
                 NodeStateAccess/Makefile 
                 NodeStateMachineTest/Makefile 
                 NodeStateMachineStub/Makefile 
                 NodeStateManager/config/nodestatemanager-daemon.service 
                 NodeStateManager/config/org.genivi.NodeStateManager.LifeCycleControl.service 
                 NodeStateManager/config/node-state-manager.pc])
AC_OUTPUT