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