Fixed bug 265
[profile/ivi/persistence-client-library.git] / configure.ac
1 #                                               -*- Autoconf -*-
2 # Process this file with autoconf to produce a configure script.
3
4
5 # create tag version information
6 m4_define([pers_client_library_tag_version_major], [0])
7 m4_define([pers_client_library_tag_version_minor], [9])
8 m4_define([pers_client_library_tag_version_micro], [0])
9 m4_define([pers_client_library_tag_version], [pers_client_library_tag_version_major().pers_client_library_tag_version_minor().pers_client_library_tag_version_micro()])
10
11
12 AC_INIT([Persistence Client Library], [pers_client_library_tag_version], [not-valid@xse.de])
13 AC_COPYRIGHT([Copyright (c) 2014 XS Embedded GmbH])
14 AC_CONFIG_SRCDIR([Makefile.am])
15 AM_INIT_AUTOMAKE([dist-bzip2])
16 AC_GNU_SOURCE()
17
18
19 # create library version information
20 m4_define([pers_client_library_version_current],  [7])
21 m4_define([pers_client_library_version_revision], [1])
22 m4_define([pers_client_library_version_age],      [0])
23 m4_define([pers_client_library_version], [pers_client_library_version_current():pers_client_library_version_revision():pers_client_library_version_age()])
24
25 PERS_CLIENT_LIBRARY_VERSION=pers_client_library_version()
26 AC_SUBST([PERS_CLIENT_LIBRARY_VERSION])
27
28
29 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
30
31
32 # Overwrite the build in defaults
33 #CFLAGS="-Wall -O2"
34
35 # Checks for programs.
36 AC_PROG_CC
37 AM_PROG_CC_C_O
38 AC_PROG_LIBTOOL
39 PKG_PROG_PKG_CONFIG
40
41 AC_SUBST(CFLAGS)
42 AC_SUBST(CPPFLAGS)
43 AC_SUBST(LDFLAGS)
44
45
46 # Checks for header files.
47 AC_CHECK_HEADERS([fcntl.h limits.h stdlib.h string.h unistd.h])
48
49 # Checks for typedefs, structures, and compiler characteristics.
50 AC_TYPE_UID_T
51 AC_TYPE_MODE_T
52 AC_TYPE_OFF_T
53 AC_TYPE_SIZE_T
54 AC_TYPE_UINT32_T
55 AC_TYPE_UINT64_T
56
57 AC_ARG_ENABLE([tests],
58               [AS_HELP_STRING([--enable-tests],[Enable tests])],
59               [enable_tests=$enableval],[enable_tests="no"])
60
61 AM_CONDITIONAL([WANT_TESTS], [test x"$enable_tests" = "xyes"])
62
63  
64 # Checks for library functions.
65 AC_FUNC_CHOWN
66 AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK
67 AC_FUNC_MMAP
68 AC_CHECK_FUNCS([fdatasync ftruncate mkdir munmap rmdir strerror utime dlopen])
69
70 PKG_CHECK_MODULES(DEPS,
71                   automotive-dlt
72                   dbus-1
73                   libperscommon)
74
75 AC_SUBST(DEPS_CFLAGS)
76 AC_SUBST(DEPS_LIBS)
77
78 AC_ARG_WITH([localcheck],
79               [AS_HELP_STRING([--with-localcheck],[Path to local check])],
80               [localcheck=$withval],[localcheck=""])
81
82 if test "x$enable_tests" != "xno" ; then
83    if test -z "$localcheck" ; then
84       PKG_CHECK_MODULES(CHECK, check)
85    else
86       CHECK_CFLAGS="-I$localcheck/include"
87       CHECK_LIBS="-L$localcheck/lib -lcheck"
88    fi
89    AC_SUBST(CHECK_CFLAGS)
90    AC_SUBST(CHECK_LIBS)
91
92    AC_DEFINE_UNQUOTED([TESTS_ENABLED], [1], [tests enabled])
93 else
94    AC_DEFINE_UNQUOTED([TESTS_ENABLED], [0], [tests enabled])
95 fi
96 AC_MSG_NOTICE([Tests enabled: $enable_tests])
97 AC_MSG_NOTICE([Local check enabled: $localcheck])
98
99
100 # enable persistence administration service dbus interface ###########
101 AC_ARG_ENABLE([pasinterface],
102             [AS_HELP_STRING([--enable-pasinterface],[Enable pas interface])],
103             [use_pasinterface=$enableval],
104             [use_pasinterface="no"])
105
106 AM_CONDITIONAL([USE_PASINTERFACE], [test x"$use_pasinterface" = "no"])
107
108 if test "$use_pasinterface" != "yes" -a "$use_pasinterface" != "no"; then
109    AC_MSG_ERROR([Invalid pas interface check mode specified: $use_pasinterface. Only "yes" or "no" is valid])
110 else   
111    AC_MSG_NOTICE([Use pas interface check is: $use_pasinterface])
112
113    if test "$use_pasinterface" = "yes"; then
114       AC_DEFINE_UNQUOTED([USE_PASINTERFACE], [1], [pasinterface enabled])   
115    fi
116 fi
117 ######################################################################
118
119 # enable persistence file cache component ###########
120 AC_ARG_ENABLE([filecache],
121             [AS_HELP_STRING([--enable-filecache],[Enable file cache component])],
122             [use_filecache=$enableval],
123             [use_filecache="no"])
124
125 AM_CONDITIONAL([USE_FILECACHE], [test x"$use_filecache" = "no"])
126
127 if test "$use_filecache" != "yes" -a "$use_filecache" != "no"; then   
128    AC_MSG_ERROR([Invalid file cache check mode specified: $use_filecache. Only "yes" or "no" is valid])
129 else   
130    AC_MSG_NOTICE([Use file cache: $use_filecache])
131
132    if test "$use_filecache" = "yes"; then
133       PKG_CHECK_MODULES(PFC, persistence_file_cache)
134       AC_DEFINE_UNQUOTED([USE_FILECACHE], [1], [filecache enabled])   
135    fi
136 fi
137    AC_SUBST(PFC_CFLAGS)
138    AC_SUBST(PFC_LIBS)
139 ######################################################################
140
141
142 AC_ARG_ENABLE(debug,
143 AS_HELP_STRING([--enable-debug],
144                [enable debugging, default: no]),
145 [case "${enableval}" in
146              yes) debug=true ;;
147              no)  debug=false ;;
148              *)   AC_MSG_ERROR([bad value ${enableval} for --enable-debug]) ;;
149 esac],
150 [debug=false])
151
152 AM_CONDITIONAL(DEBUG, test x"$debug" = x"true")
153
154
155 AC_CONFIG_FILES([Makefile
156                  persistence_client_library.pc
157                  src/Makefile
158                  persclient_tool/Makefile
159                  test/Makefile])
160               
161 AC_OUTPUT