1dnl Process this file with autoconf to produce a configure script.
2
3
4dnl ---------------------------------------------------------------------------
5dnl - GLABELS version
6dnl ---------------------------------------------------------------------------
7m4_define([glabels_major_version], [3])
8m4_define([glabels_minor_version], [4])
9m4_define([glabels_micro_version], [1])
10
11m4_define([glabels_version],
12          [glabels_major_version.glabels_minor_version.glabels_micro_version])
13
14dnl ---------------------------------------------------------------------------
15
16
17AC_PREREQ(2.64)
18AC_INIT([glabels],[glabels_version],
19	[http://bugzilla.gnome.org/enter_bug.cgi?product=glabels],
20	[glabels])
21
22AC_CONFIG_SRCDIR(src/glabels.c)
23
24AM_INIT_AUTOMAKE(AC_PACKAGE_NAME, AC_PACKAGE_VERSION)
25
26AM_MAINTAINER_MODE
27m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])])
28
29AC_CONFIG_HEADERS(config.h)
30
31IT_PROG_INTLTOOL([0.21])
32
33PKG_PROG_PKG_CONFIG
34
35LT_INIT
36
37YELP_HELP_INIT
38GTK_DOC_CHECK(1.0)
39
40GLIB_GSETTINGS
41
42AC_SEARCH_LIBS([strerror],[cposix])
43AC_PROG_CC
44AC_PROG_INSTALL
45
46GNOME_COMPILE_WARNINGS
47
48AC_PATH_PROG(GLIB_GENMARSHAL,         glib-genmarshal)
49AC_PATH_PROG(GDK_PIXBUF_CSOURCE,      gdk-pixbuf-csource)
50AC_PATH_PROG(GTK_UPDATE_ICON_CACHE,   gtk-update-icon-cache)
51
52
53dnl ---------------------------------------------------------------------------
54dnl - GLABELS branch
55dnl ---------------------------------------------------------------------------
56GLABELS_BRANCH=glabels-3.0
57AC_SUBST(GLABELS_BRANCH)
58
59dnl ---------------------------------------------------------------------------
60dnl - LIBGLABELS branch
61dnl ---------------------------------------------------------------------------
62LIBGLABELS_BRANCH=libglabels-3.0
63AC_SUBST(LIBGLABELS_BRANCH)
64
65dnl ---------------------------------------------------------------------------
66dnl - LIBGLBARCODE branch
67dnl ---------------------------------------------------------------------------
68LIBGLBARCODE_BRANCH=libglbarcode-3.0
69AC_SUBST(LIBGLBARCODE_BRANCH)
70
71dnl ---------------------------------------------------------------------------
72dnl - LIBGLABELS API versioning
73dnl ---------------------------------------------------------------------------
74dnl From the libtool manual:
75dnl 1. Start with version information of `0:0:0' for each libtool library.
76dnl 2. Update the version information only immediately before a public release.
77dnl    More frequent updates are unnecessary, and only guarantee that the current
78dnl    interface number gets larger faster.
79dnl 3. If the library source code has changed at all since the last update, then increment
80dnl    revision (`c:r:a' becomes `c:r+1:a').
81dnl 4. If any interfaces have been added, removed, or changed since the last update,
82dnl    increment current, and set revision to 0.
83dnl 5. If any interfaces have been added since the last public release, then increment age.
84dnl 6. If any interfaces have been removed since the last public release, then set age
85dnl    to 0.
86LIBGLABELS_C=8
87LIBGLABELS_R=0
88LIBGLABELS_A=0
89
90LIBGLABELS_API_VERSION=${LIBGLABELS_C}:${LIBGLABELS_R}:${LIBGLABELS_A}
91AC_SUBST(LIBGLABELS_API_VERSION)
92
93dnl ---------------------------------------------------------------------------
94dnl - LIBGLBARCODE API versioning
95dnl ---------------------------------------------------------------------------
96dnl From the libtool manual:
97dnl 1. Start with version information of `0:0:0' for each libtool library.
98dnl 2. Update the version information only immediately before a public release.
99dnl    More frequent updates are unnecessary, and only guarantee that the current
100dnl    interface number gets larger faster.
101dnl 3. If the library source code has changed at all since the last update, then increment
102dnl    revision (`c:r:a' becomes `c:r+1:a').
103dnl 4. If any interfaces have been added, removed, or changed since the last update,
104dnl    increment current, and set revision to 0.
105dnl 5. If any interfaces have been added since the last public release, then increment age.
106dnl 6. If any interfaces have been removed since the last public release, then set age
107dnl    to 0.
108LIBGLBARCODE_C=0
109LIBGLBARCODE_R=0
110LIBGLBARCODE_A=0
111
112LIBGLBARCODE_API_VERSION=${LIBGLBARCODE_C}:${LIBGLBARCODE_R}:${LIBGLBARCODE_A}
113AC_SUBST(LIBGLBARCODE_API_VERSION)
114
115dnl ---------------------------------------------------------------------------
116dnl - Library dependencies
117dnl ---------------------------------------------------------------------------
118dnl Required dependencies
119GLIB_REQUIRED=2.42.0
120GTK_REQUIRED=3.14.0
121LIBXML_REQUIRED=2.9.0
122LIBRSVG_REQUIRED=2.39.0
123CAIRO_REQUIRED=1.14.0
124PANGO_REQUIRED=1.36.0
125
126dnl Optional dependencies
127LIBEBOOK_REQUIRED=3.12.0
128LIBBARCODE_REQUIRED=0.98
129LIBQRENCODE_REQUIRED=3.1.0
130LIBIEC16022_REQUIRED=0.2.4
131LIBZINT_REQUIRED=2.4.0
132
133dnl Make above strings available for packaging files (e.g. rpm spec files)
134AC_SUBST(GLIB_REQUIRED)
135AC_SUBST(GTK_REQUIRED)
136AC_SUBST(LIBXML_REQUIRED)
137AC_SUBST(LIBRSVG_REQUIRED)
138AC_SUBST(CAIRO_REQUIRED)
139AC_SUBST(PANGO_REQUIRED)
140AC_SUBST(LIBEBOOK_REQUIRED)
141AC_SUBST(LIBBARCODE_REQUIRED)
142AC_SUBST(LIBQRENCODE_REQUIRED)
143AC_SUBST(LIBIEC16022_REQUIRED)
144AC_SUBST(LIBZINT_REQUIRED)
145
146
147dnl ---------------------------------------------------------------------------
148dnl - GLABELS prerequisites
149dnl ---------------------------------------------------------------------------
150PKG_CHECK_MODULES(GLABELS, [\
151	glib-2.0 >= $GLIB_REQUIRED \
152	gtk+-3.0 >= $GTK_REQUIRED \
153	libxml-2.0 >= $LIBXML_REQUIRED \
154	librsvg-2.0 >= $LIBRSVG_REQUIRED \
155])
156
157AC_SUBST(GLABELS_CFLAGS)
158AC_SUBST(GLABELS_LIBS)
159
160
161dnl ---------------------------------------------------------------------------
162dnl - LIBGLABELS more modest prerequisites
163dnl ---------------------------------------------------------------------------
164PKG_CHECK_MODULES(LIBGLABELS, [\
165	glib-2.0 >= $GLIB_REQUIRED \
166	gobject-2.0 >= $GLIB_REQUIRED \
167	libxml-2.0 >= $LIBXML_REQUIRED \
168])
169
170AC_SUBST(LIBGLABELS_CFLAGS)
171AC_SUBST(LIBGLABELS_LIBS)
172
173
174dnl ---------------------------------------------------------------------------
175dnl - LIBGLBARCODE more modest prerequisites
176dnl ---------------------------------------------------------------------------
177PKG_CHECK_MODULES(LIBGLBARCODE, [\
178	glib-2.0 >= $GLIB_REQUIRED \
179	cairo >= $CAIRO_REQUIRED \
180	pango >= $PANGO_REQUIRED \
181	pangocairo >= $PANGO_REQUIRED \
182])
183
184AC_SUBST(LIBGLBARCODE_CFLAGS)
185AC_SUBST(LIBGLBARCODE_LIBS)
186
187
188dnl ---------------------------------------------------------------------------
189dnl - Check for optional evolution data server
190dnl ---------------------------------------------------------------------------
191AC_ARG_WITH(libebook,
192	    [AS_HELP_STRING([--without-libebook],[build without Evolution Data Server support])])
193have_libebook=no
194if test "x$with_libebook" != xno; then
195	PKG_CHECK_MODULES(LIBEBOOK, libebook-1.2 >= $LIBEBOOK_REQUIRED,
196			  [have_libebook=yes], [have_libebook=no])
197fi
198
199if test "x$have_libebook" = "xyes"; then
200	AC_DEFINE(HAVE_LIBEBOOK,1,[Define to 1 for EDS support])
201	AC_SUBST(LIBEBOOK_CFLAGS)
202	AC_SUBST(LIBEBOOK_LIBS)
203fi
204
205
206dnl ---------------------------------------------------------------------------
207dnl - Check for optional GNU Barcode backend
208dnl ---------------------------------------------------------------------------
209AC_ARG_WITH(libbarcode,
210	    [AS_HELP_STRING([--without-libbarcode],[build without GNU Barcode support])])
211have_libbarcode=no
212if test "x$with_libbarcode" != xno; then
213   AC_CHECK_LIB(barcode, Barcode_Create,
214		[have_libbarcode=yes], [have_libbarcode=no])
215fi
216
217if test "x$have_libbarcode" = "xyes"; then
218	AC_DEFINE(HAVE_LIBBARCODE,1,[Define to 1 for GNU Barcode support])
219	LIBBARCODE_CFLAGS=""
220	LIBBARCODE_LIBS="-lbarcode"
221	AC_SUBST(LIBBARCODE_CFLAGS)
222	AC_SUBST(LIBBARCODE_LIBS)
223else
224	help_libbarcode="(See http://www.gnu.org/software/barcode/barcode.html)"
225fi
226
227dnl ---------------------------------------------------------------------------
228dnl - Check for optional Zint backend
229dnl ---------------------------------------------------------------------------
230AC_ARG_WITH(libzint,
231	    [AS_HELP_STRING([--without-libzint],[build without Zint Barcode support])])
232have_libzint=no
233if test "x$with_libzint" != xno; then
234   AC_CHECK_LIB(zint, ZBarcode_Render,
235		[have_libzint=yes], [have_libzint=no])
236fi
237
238if test "x$have_libzint" = "xyes"; then
239	AC_DEFINE(HAVE_LIBZINT,1,[Define to 1 for Zint Barcode support])
240	LIBZINT_CFLAGS=""
241	LIBZINT_LIBS="-lzint"
242	AC_SUBST(LIBZINT_CFLAGS)
243	AC_SUBST(LIBZINT_LIBS)
244else
245	help_libzint="(See http://www.zint.org.uk)"
246fi
247
248
249dnl ---------------------------------------------------------------------------
250dnl - Check for optional QRencode Barcode backend
251dnl ---------------------------------------------------------------------------
252AC_ARG_WITH(libqrencode,
253	    [AS_HELP_STRING([--without-libqrencode],[build without QR code support])])
254have_libqrencode=no
255if test "x$with_libqrencode" != xno; then
256	PKG_CHECK_MODULES(LIBQRENCODE, libqrencode >= $LIBQRENCODE_REQUIRED,
257			  [have_libqrencode=yes], [have_libqrencode=no])
258fi
259
260if test "x$have_libqrencode" = "xyes"; then
261	AC_DEFINE(HAVE_LIBQRENCODE,1,[Define to 1 for QR code support])
262	AC_SUBST(LIBQRENCODE_CFLAGS)
263	AC_SUBST(LIBQRENCODE_LIBS)
264else
265	help_libqrencode="(See http://megaui.net/fukuchi/works/qrencode/index.en.html)"
266fi
267
268
269dnl ---------------------------------------------------------------------------
270dnl - Check for IEC16022 Barcode backend
271dnl ---------------------------------------------------------------------------
272AC_ARG_WITH(libiec16022,
273	    [AS_HELP_STRING([--without-libiec16022],[build without IEC 16022 support])])
274have_libiec16022=no
275if test "x$with_libiec16022" != xno; then
276	PKG_CHECK_MODULES(LIBIEC16022, libiec16022 >= $LIBIEC16022_REQUIRED,
277			  [have_libiec16022=yes], [have_libiec16022=no])
278fi
279
280if test "x$have_libiec16022" = "xyes"; then
281	AC_DEFINE(HAVE_LIBIEC16022,1,[Define to 1 for IEC 16022 support])
282	AC_SUBST(LIBIEC16022_CFLAGS)
283	AC_SUBST(LIBIEC16022_LIBS)
284else
285	help_libiec16022="(See http://datenfreihafen.org/projects/iec16022.html)"
286fi
287
288
289dnl ---------------------------------------------------------------------------
290dnl - Enable deprecation testing
291dnl ---------------------------------------------------------------------------
292AC_ARG_ENABLE(deprecations,
293              [AS_HELP_STRING([--enable-deprecations],[warn about deprecated usages [default=no]])],,
294              [enable_deprecations=no])
295
296if test "x$enable_deprecations" = "xyes"; then
297   DISABLE_DEPRECATED_CFLAGS="\
298-DG_DISABLE_DEPRECATED \
299-DGDK_DISABLE_DEPRECATED \
300-DGTK_DISABLE_DEPRECATED \
301-DGDK_PIXBUF_DISABLE_DEPRECATED \
302"
303   AC_SUBST(DISABLE_DEPRECATED_CFLAGS)
304fi
305
306
307dnl ---------------------------------------------------------------------------
308dnl - i18n support
309dnl ---------------------------------------------------------------------------
310GETTEXT_PACKAGE=${GLABELS_BRANCH}
311AC_SUBST(GETTEXT_PACKAGE)
312AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE", [Gettext package])
313
314AM_GLIB_GNU_GETTEXT
315
316
317dnl ---------------------------------------------------------------------------
318dnl - Makefiles, etc.
319dnl ---------------------------------------------------------------------------
320AC_CONFIG_FILES([
321Makefile
322libglabels/Makefile
323libglabels/${LIBGLABELS_BRANCH}.pc
324libglbarcode/Makefile
325libglbarcode/${LIBGLBARCODE_BRANCH}.pc
326src/Makefile
327src/cursors/Makefile
328src/pixmaps/Makefile
329data/Makefile
330data/appdata/Makefile
331data/desktop/Makefile
332data/icons/Makefile
333data/icons/16x16/Makefile
334data/icons/22x22/Makefile
335data/icons/24x24/Makefile
336data/icons/32x32/Makefile
337data/icons/48x48/Makefile
338data/icons/scalable/Makefile
339data/man/Makefile
340data/mime/Makefile
341data/pixmaps/Makefile
342data/schemas/Makefile
343data/schemas/org.gnome.glabels-3.gschema.xml.in
344data/ui/Makefile
345templates/Makefile
346po/Makefile.in
347help/Makefile
348docs/Makefile
349docs/libglabels/Makefile
350docs/libglbarcode/Makefile
351glabels.spec
352])
353AC_OUTPUT
354
355
356dnl ---------------------------------------------------------------------------
357dnl - Print configuration information
358dnl ---------------------------------------------------------------------------
359echo "
360
361Configuration:
362
363        Package ................. ${PACKAGE}-${VERSION}
364        Installation prefix ..... ${prefix}
365        Source code location .... ${srcdir}
366        Compiler ................ ${CC}
367
368
369Optional data merge backends:
370
371        Evolution Data Server ... ${have_libebook}
372
373
374Optional barcode backends:
375
376        GNU Barcode ............. ${have_libbarcode} ${help_libbarcode}
377        QR Code ................. ${have_libqrencode} ${help_libqrencode}
378        IEC 16022 ............... ${have_libiec16022} ${help_libiec16022}
379        Zint .................... ${have_libzint} ${help_libzint}
380
381
382"
383