-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathconfigure.ac
218 lines (173 loc) · 6.76 KB
/
configure.ac
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
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
## Copyright (C) 2012 Kolibre
#
# This file is part of kolibre-clientcore.
#
# Kolibre-clientcore is free software: you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation, either version 2.1 of the License, or
# (at your option) any later version.
#
# Kolibre-clientcore is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with kolibre-clientcore. If not, see <http://www.gnu.org/licenses/>.
#
# Process this file with autoconf to produce a configure script.
dnl -----------------------------------------------
dnl Release instructions
dnl -----------------------------------------------
dnl
dnl When you are about to release the software
dnl either as a stable release or an unstable release
dnl you should update the *_VERSION variables below
dnl according to the following rules:
dnl
dnl 1. If any interfaces has been removed or changed,
dnl increment MAJOR_VERSION and set others to 0
dnl 2. If any interface has been added,
dnl increment MINOR_VERSION and set PATCH_VERSION to 0
dnl 3. If only the source code has changed,
dnl increment PATCH_VERSION
dnl
dnl If you are releasing a stable version,
dnl set package version number in AC_INIT to
dnl [$MAJOR_VERSION.$MINOR_VERSION.$PATCH_VERSION]
dnl
dnl If you are releasing an unstable version,
dnl add a string (i.e -alpha or -beta or -rc1) to the
dnl package version in AC_INIT after $PATCH_VERSION
dnl e.g. [$MAJOR_VERSION.$MINOR_VERSION.$PATCH_VERSION-rc1]
# Setup version here:
m4_define([MAJOR_VERSION], [1])
m4_define([MINOR_VERSION], [1])
m4_define([PATCH_VERSION], [0])
m4_define([EXTRA_VERSION], [])
AC_PREREQ([2.67])
AC_INIT([kolibre-clientcore],[MAJOR_VERSION.MINOR_VERSION.PATCH_VERSION[]EXTRA_VERSION],[BUG-REPORT-ADDRESS])
AC_CONFIG_SRCDIR([src])
AC_CONFIG_HEADERS([config.h])
AM_INIT_AUTOMAKE(tar-pax color-tests parallel-tests)
VERSION_INFO=m4_eval(MAJOR_VERSION + MINOR_VERSION):PATCH_VERSION:MINOR_VERSION
AC_SUBST(VERSION_INFO)
# Checks for programs.
LT_INIT
AC_LANG([C++])
AC_PROG_CXX
AC_PROG_CC
AC_PROG_MAKE_SET
dnl -----------------------------------------------
dnl Doxygen settings
dnl -----------------------------------------------
DX_DOXYGEN_FEATURE(ON)
DX_HTML_FEATURE(ON)
DX_PDF_FEATURE(ON)
DX_INIT_DOXYGEN([kolibre-clientcore], doxygen.cfg, [doxygen-doc])
# Checks for libraries.
dnl -----------------------------------------------
dnl check for boost libraries
dnl -----------------------------------------------
AX_BOOST_BASE
AX_BOOST_SIGNALS
AC_CHECK_DECL([HAVE_BOOST_SIGNALS], [], [AC_MSG_ERROR([Library requirement (Boost::Signals) were not met])])
AX_BOOST_REGEX
AC_CHECK_DECL([HAVE_BOOST_REGEX], [], [AC_MSG_ERROR([Library requirement (Boost::Regex) were not met])])
AX_BOOST_FILESYSTEM
AC_CHECK_DECL([HAVE_BOOST_FILESYSTEM], [], [AC_MSG_ERROR([Library requirement (Boost::Filesystem) were not met])])
dnl -----------------------------------------------
dnl check for log4cxx
dnl -----------------------------------------------
PKG_CHECK_MODULES(LOG4CXX, liblog4cxx >= 0.10.0)
AC_SUBST(LOG4CXX_CFLAGS)
AC_SUBST(LOG4CXX_LIBS)
dnl -----------------------------------------------
dnl Checks for kolibre naviengine
dnl -----------------------------------------------
PKG_CHECK_MODULES(LIBKOLIBRENAVIENGINE, libkolibre-naviengine >= 1.0.0)
AC_SUBST(LIBKOLIBRENAVIENGINE_CFLAGS)
AC_SUBST(LIBKOLIBRENAVIENGINE_LIBS)
dnl -----------------------------------------------
dnl Checks for kolibre player
dnl -----------------------------------------------
PKG_CHECK_MODULES(LIBKOLIBREPLAYER, libkolibre-player >= 1.0.0)
AC_SUBST(LIBKOLIBREPLAYER_CFLAGS)
AC_SUBST(LIBKOLIBREPLAYER_LIBS)
dnl -----------------------------------------------
dnl Checks for kolibre narrator
dnl -----------------------------------------------
PKG_CHECK_MODULES(LIBKOLIBRENARRATOR, libkolibre-narrator >= 1.0.1)
AC_SUBST(LIBKOLIBRENARRATOR_CFLAGS)
AC_SUBST(LIBKOLIBRENARRATOR_LIBS)
dnl -----------------------------------------------
dnl Checks for kolibre daisyonline
dnl -----------------------------------------------
PKG_CHECK_MODULES(LIBKOLIBREDAISYONLINE, libkolibre-daisyonline >= 1.0.0)
AC_SUBST(LIBKOLIBREDAISYONLINE_CFLAGS)
AC_SUBST(LIBKOLIBREDAISYONLINE_LIBS)
dnl -----------------------------------------------
dnl Checks for kolibre xmlreader
dnl -----------------------------------------------
PKG_CHECK_MODULES(LIBKOLIBREXMLREADER, libkolibre-xmlreader >= 1.0.0)
AC_SUBST(LIBKOLIBREXMLREADER_CFLAGS)
AC_SUBST(LIBKOLIBREXMLREADER_LIBS)
dnl -----------------------------------------------
dnl Checks for kolibre amis
dnl -----------------------------------------------
PKG_CHECK_MODULES(LIBKOLIBREAMIS, libkolibre-amis >= 1.0.0)
AC_SUBST(LIBKOLIBREAMIS_CFLAGS)
AC_SUBST(LIBKOLIBREAMIS_LIBS)
dnl -----------------------------------------------
dnl Checks for dbus and dbus-glib
dnl -----------------------------------------------
PKG_CHECK_MODULES(DBUS, dbus-1 >= 1.6.8)
AC_SUBST(DBUS_CFLAGS)
AC_SUBST(DBUS_LIBS)
PKG_CHECK_MODULES(DBUSGLIB, dbus-glib-1 >= 0.100)
AC_SUBST(DBUSGLIB_CFLAGS)
AC_SUBST(DBUSGLIB_LIBS)
# Create kolibre prfix
KOLIBRE_PREFIX=${prefix}
AC_SUBST(KOLIBRE_PREFIX)
# Checks for header files.
AC_CHECK_HEADERS([libintl.h stdint.h stdlib.h unistd.h])
# Checks for typedefs, structures, and compiler characteristics.
AC_HEADER_STDBOOL
AC_C_INLINE
AC_TYPE_INT64_T
AC_TYPE_SIZE_T
AC_TYPE_UINT64_T
# Checks for library functions.
AC_FUNC_MALLOC
AC_FUNC_MKTIME
AC_CHECK_FUNCS([pow select strstr strtol])
dnl-------------------------------------------
dnl Configure samples
dnl--------------------------------------------
AC_ARG_WITH([samples], AS_HELP_STRING([--with-samples], [build applications in samples folder]))
AM_CONDITIONAL(SAMPLES, test "x$with_samples" = "xyes")
dnl-------------------------------------------
dnl Check for sample dependencies
dnl--------------------------------------------
AM_COND_IF(SAMPLES,
[
PKG_CHECK_MODULES(GLIB, glib-2.0 >= 2.0)
AC_SUBST(GLIB_CFLAGS)
AC_SUBST(GLIB_LIBS)
])
AC_CONFIG_FILES([libkolibre-clientcore.pc
src/version.h
Makefile
src/Makefile
src/Settings/Makefile
tests/Makefile
tests/settings/Makefile
tests/commandqueue2/Makefile
tests/utils/Makefile
tests/nodes/Makefile
tests/interface/Makefile
samples/Makefile
samples/client/Makefile
samples/client/kolibre_prefix.sh])
AC_OUTPUT