1 m4_define([adg_version],[0.6.4])
2 m4_define([adg_api_version],[1.0])
3 m4_define([adg_lt_version],[1:0:0])
5 m4_define([cpml_version],adg_version)
6 m4_define([cpml_api_version],adg_api_version)
7 m4_define([cpml_lt_version],[1:0:0])
9 m4_define([gtkdoc_prereq],[1.9])
10 m4_define([gobject_prereq],[2.10.1])
11 m4_define([cairo_prereq],[1.7.4])
12 m4_define([gtk2_prereq],[2.12.0])
13 m4_define([gtk3_prereq],[3.0.0])
14 m4_define([pangocairo_prereq],[1.18.0])
15 m4_define([gi_prereq],[0.9.5])dnl Picked up from clutter
20 dnl autoconf 2.62 is required by GObject introspection:
21 dnl http://live.gnome.org/GObjectIntrospection/AutotoolsIntegration
23 AC_INIT([adg-1],adg_version,[http://dev.entidi.com/p/adg/],[adg],[http://adg.entidi.com/])
24 AC_CONFIG_SRCDIR([configure.ac])
25 AC_CONFIG_HEADERS([src/config.h])
26 AC_CONFIG_AUX_DIR([build])
27 AC_CONFIG_MACRO_DIR([build])
28 AM_INIT_AUTOMAKE([1.10 gnits no-dist-gzip dist-bzip2 -Wall -Wno-portability])
30 dnl m4 backward compatibility stuff
31 m4_ifdef([AM_SILENT_RULES],
32 [AM_SILENT_RULES([yes])],
33 [AC_SUBST([AM_V_GEN],[])])
34 m4_ifdef([AM_SUBST_NOTMAKE],[],
35 [AC_DEFUN([AM_SUBST_NOTMAKE],[_AM_SUBST_NOTMAKE($@)])])
36 m4_ifdef([AM_COND_IF],[],
37 [AC_DEFUN([AM_COND_IF],
38 [AS_IF([test -z "$$1_TRUE"],[$2],[$3])])])
41 # Check for host information
76 AM_CONDITIONAL([OS_UNIX],[test "${guessed_host}" != "mingw"])
77 AM_CONDITIONAL([OS_WINDOWS],[test "${guessed_host}" = "mingw" -o "${guessed_host}" = "cygwin"])
85 AC_PATH_PROG([XSLTPROC],[xsltproc],[/usr/bin/xsltproc])
86 AC_PATH_PROG([GLIB_MKENUMS],[glib-mkenums],[/usr/bin/glib-mkenums])
87 AC_PATH_PROG([GLIB_GENMARSHAL],[glib-genmarshal],[/usr/bin/glib-genmarshal])
88 AC_PATH_PROG([GTESTER],[gtester],[/usr/bin/gtester])
89 AC_PATH_PROG([GTESTER_REPORT],[gtester-report],[/usr/bin/gtester-report])
90 AC_PATH_PROG([GLADE3],[glade-3],[/usr/bin/glade-3])
95 AC_CHECK_LIB([m],[cos])
98 # Libtool initialization
100 AC_MSG_CHECKING([which libtool initialization strategy to adopt])
101 AC_MSG_RESULT([m4_ifset([LT_INIT],[LT-INIT],[AC-PROG-LIBTOOL])])
103 [LT_INIT([disable-static win32-dll])],
111 AC_SUBST([ADG_API_PACKAGE],AC_PACKAGE_TARNAME-adg_api_version)
112 AC_SUBST([GETTEXT_PACKAGE],[${ADG_API_PACKAGE}])
113 AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE],["${ADG_API_PACKAGE}"],
114 [Define to the domain used by gettext.])
115 ALL_LINGUAS="`grep -v '^#' "$srcdir/po/LINGUAS" | tr '\n' ' '`"
116 IT_PROG_INTLTOOL(0.40.1)
118 GLIB_DEFINE_LOCALEDIR([LOCALEDIR])
119 AC_CONFIG_COMMANDS([default],
120 [case "${CONFIG_FILES}" in *po-properties/Makefile.in*)
121 ${SED} -e "/POTFILES =/r po-properties/POTFILES" po-properties/Makefile.in > po-properties/Makefile
126 # Check for required packages
128 PKG_CHECK_MODULES([GLIB],[glib-2.0])
129 PKG_CHECK_MODULES([GOBJECT],[gobject-2.0 >= ]gobject_prereq)
130 PKG_CHECK_MODULES([CAIRO],[cairo >= ]cairo_prereq)
133 # Check for optional packages
136 AC_ARG_ENABLE([pango],
137 [AS_HELP_STRING([--enable-pango],
138 [use pango for rendering text @<:@default=check@:>@])],
139 [],[enable_pango=check])
140 AS_IF([test "x${enable_pango}" != "xno"],
141 [PKG_CHECK_MODULES([PANGO],[pangocairo >= ]pangocairo_prereq,
143 AC_DEFINE_UNQUOTED([PANGO_ENABLED],[1],
144 [Defined if the pango support is enabled.])],
145 [AS_IF([test "x${enable_pango}" = "xyes"],
146 [AC_MSG_ERROR([${PANGO_PKG_ERRORS} and pango support requested])],
147 [enable_pango=no])])])
148 AM_CONDITIONAL([HAVE_PANGO],[test "x${enable_pango}" = "xyes"])
152 [AC_HELP_STRING([--with-gtk=@<:@gtk2/gtk3@:>@],
153 [include GTK+ specific widgets @<:@default=check@:>@])],
155 AS_IF([test "x${with_gtk}" = "xgtk3" -o "x${with_gtk}" = "xcheck"],
156 [PKG_CHECK_MODULES([GTK3],[gtk+-3.0 >= ]gtk3_prereq,
158 AC_DEFINE_UNQUOTED([GTK3_ENABLED],[1],
159 [Defined if the GTK+3 support is enabled.])],
160 [AS_IF([test "x${with_gtk}" = "xgtk3"],
161 [AC_MSG_ERROR([${GTK3_PKG_ERRORS} and GTK+3 support requested])])])])
162 AS_IF([test "x${with_gtk}" = "xgtk2" -o "x{with_gtk}" = "xcheck"],
163 [PKG_CHECK_MODULES([GTK2],[gtk+-2.0 >= ]gtk2_prereq,
165 AC_DEFINE_UNQUOTED([GTK2_ENABLED],[1],
166 [Defined if the GTK+2 support is enabled.])],
167 [AS_IF([test "x${with_gtk}" = "xgtk2"],
168 [AC_MSG_ERROR([${GTK2_PKG_ERRORS} and GTK+2 support requested])])])])
169 AM_CONDITIONAL([HAVE_GTK], [test "x${with_gtk}" = "xgtk2" -o "x${with_gtk}" = "xgtk3"])
170 AM_CONDITIONAL([HAVE_GTK2],[test "x${with_gtk}" = "xgtk2"])
171 AM_CONDITIONAL([HAVE_GTK3],[test "x${with_gtk}" = "xgtk3"])
173 dnl Glade catalog dir
174 AC_ARG_WITH(glade_catalogdir,
175 [AC_HELP_STRING([--with-glade-catalogdir=DIR],
176 [where to install the glade catalogs @<:@default=check@:>@])],
177 [],[with_glade_catalogdir=check])
178 # Check before for gladeui-2.0, dependent on GTK+3, and failback to gladeui-1.0.
179 AS_IF([test "x${with_glade_catalogdir}" = "xcheck" -a "x${with_gtk}" != "xgtk2"],
180 [PKG_CHECK_MODULES([GLADEUI2],[gladeui-2.0],[gladeui=gladeui-2.0],[:])])
181 AS_IF([test "x${with_glade_catalogdir}" = "xcheck" -a "x${gladeui}" = "x"],
182 [PKG_CHECK_MODULES([GLADEUI1],[gladeui-1.0],[gladeui=gladeui-1.0],
183 [with_glade_catalogdir=no])])
184 AM_CONDITIONAL([HAVE_GLADE],[test "x${with_glade_catalogdir}" != "xno"])
185 AS_IF([test "x${gladeui}" != "x"],
186 [NTD_UNEXPAND([${gladeui}],
188 [with_glade_catalogdir="${NTD_UNEXPANDED}"],
189 [AC_MSG_ERROR([${gladeui} found but pkg-config file invalid])])])
190 AM_COND_IF([HAVE_GLADE],
193 Glade catalog dir: ${with_glade_catalogdir}"],
196 AC_SUBST([GLADE_CATALOGDIR],${with_glade_catalogdir})
199 GTK_DOC_CHECK(gtkdoc_prereq)
201 dnl GObject introspection
202 GOBJECT_INTROSPECTION_CHECK(gi_prereq)
204 [AC_HELP_STRING([--with-girdir=DIR],
205 [where the gir files are installed @<:@default=check@:>@])],
206 [],[with_girdir=check])
207 AS_IF([test "x${with_girdir}" = "xcheck"],
208 [NTD_UNEXPAND([gobject-introspection-1.0],
210 [with_girdir="${NTD_UNEXPANDED}"],
211 [AC_MSG_ERROR([invalid GObject introspection pkg-config file])])])
212 AC_SUBST([GIRDIR],${with_girdir})
213 AC_ARG_WITH(typelibdir,
214 [AC_HELP_STRING([--with-typelibdir=DIR],
215 [where the typelib files are installed @<:@default=check@:>@])],
216 [],[with_typelibdir=check])
217 AS_IF([test "x${with_typelibdir}" = "xcheck"],
218 [NTD_UNEXPAND([gobject-introspection-1.0],
220 [with_typelibdir="${NTD_UNEXPANDED}"],
221 [AC_MSG_ERROR([invalid GObject introspection pkg-config file])])])
222 AC_SUBST([TYPELIBDIR],${with_typelibdir})
223 AM_COND_IF([HAVE_INTROSPECTION],
224 [enable_introspection='yes'
225 report_introspection="
226 Where to install gir files: ${with_girdir}
227 Where to install the typelib files: ${with_typelibdir}"],
228 [enable_introspection='no'
229 report_introspection=""])
231 dnl GLib test framework
232 AC_ARG_ENABLE([test_framework],
233 [AS_HELP_STRING([--enable-test-framework],
234 [enable GLib test framework @<:@default=check@:>@])],
235 [],[enable_test_framework=check])
236 AS_IF([test "x${enable_test_framework}" != "xno"],
237 [PKG_CHECK_EXISTS([glib-2.0 >= 2.16.0],
238 [enable_test_framework=yes],
239 [AS_IF([test "x${enable_test_framework}" = "xyes"],
240 [AC_MSG_ERROR([The test framework needs glib2-2.16.0 or later])],
241 [enable_test_framework=no])])])
242 AM_CONDITIONAL([HAVE_TEST_FRAMEWORK],[test "x${enable_test_framework}" = "xyes"])
245 # Check for compiler characteristics
250 # Additional substitutions
252 DLLDIR="$(${PKG_CONFIG} --variable=prefix gobject-2.0)/bin"
253 CPML_REQUIRES='cairo >= cairo_prereq'
254 AM_COND_IF([HAVE_PANGO],
255 [ADG_REQUIRES='pangocairo >= pangocairo_prereq'
257 #include <pango/pango.h>
258 #include "adg/adg-text.h"
259 #include "adg/adg-pango-style.h"
261 [ADG_REQUIRES='gobject-2.0 >= gobject_prereq'
262 ADG_H_ADDITIONAL=''])
263 AM_COND_IF([HAVE_GTK3],[ADG_REQUIRES='gtk+-3.0 >= gtk3_prereq'])
264 AM_COND_IF([HAVE_GTK2],[ADG_REQUIRES='gtk+-2.0 >= gtk2_prereq'])
265 AM_COND_IF([HAVE_GTK],
266 [ADG_H_ADDITIONAL="${ADG_H_ADDITIONAL}
268 #include \"adg/adg-gtk-utils.h\"
269 #include \"adg/adg-gtk-area.h\"
270 #include \"adg/adg-gtk-layout.h\"
272 ADG_CANVAS_H_ADDITIONAL='
273 void adg_canvas_set_paper (AdgCanvas *canvas,
274 const gchar *paper_name,
275 GtkPageOrientation orientation);
276 void adg_canvas_set_page_setup (AdgCanvas *canvas,
277 GtkPageSetup *page_setup);
279 [ADG_CANVAS_H_ADDITIONAL=''])
281 AC_SUBST([CPML_API_VERSION],cpml_api_version)
282 AC_SUBST([CPML_LT_VERSION],cpml_lt_version)
283 AC_SUBST([CPML_REQUIRES])
284 AC_SUBST([ADG_API_VERSION],adg_api_version)
285 AC_SUBST([ADG_LT_VERSION],adg_lt_version)
286 AC_SUBST([ADG_REQUIRES])
287 AC_SUBST([ADG_H_ADDITIONAL])
288 AC_SUBST([ADG_CANVAS_H_ADDITIONAL])
291 AM_SUBST_NOTMAKE([CPML_REQUIRES])
292 AM_SUBST_NOTMAKE([ADG_REQUIRES])
293 AM_SUBST_NOTMAKE([ADG_H_ADDITIONAL])
294 AM_SUBST_NOTMAKE([ADG_CANVAS_H_ADDITIONAL])
295 AM_SUBST_NOTMAKE([DLLDIR])
300 AC_CONFIG_FILES([build/adg.nsi
305 src/cpml/tests/Makefile
310 src/adg/tests/Makefile
315 po-properties/Makefile.in
318 docs/cpml/bookinfo.xml
320 docs/adg/bookinfo.xml])
321 AC_CONFIG_FILES([demo/adg-glade],[chmod +x demo/adg-glade])
327 AC_MSG_NOTICE([generating report
329 AC_PACKAGE_NAME adg_version will be built with the following options:
330 ----------------------------------------------------------
331 API compatibility: adg_api_version
332 CPML library to use: internal (cpml-adg_version)
333 Build pango based entities: ${enable_pango}
334 GTK+ support: ${with_gtk}
335 Install glade catalogs: ${enable_glade}${report_glade}
336 Build API reference: ${enable_gtk_doc}
337 GObject instrospection: ${enable_introspection}${report_introspection}
338 Test framework support: ${enable_test_framework}