[build] Added basic GObject introspection to libadg
[adg.git] / configure.ac
blob3c0cf857c58f6def8e73d2c71d5b75e8a90fd8e5
1 m4_define([adg_version],[0.6.3])
2 m4_define([adg_api_version],[1.0])
4 m4_define([gtkdoc_prereq],[1.9])
5 m4_define([gobject_prereq],[2.10.1])
6 m4_define([cairo_prereq],[1.7.4])
7 m4_define([gtk_prereq],[2.12.0])
8 m4_define([pangocairo_prereq],[1.18.0])
11 # Initialization
13 dnl autoconf 2.62 is required by GObject introspection:
14 dnl http://live.gnome.org/GObjectIntrospection/AutotoolsIntegration
15 AC_PREREQ([2.62])
16 AC_INIT([adg-1.0],adg_version,[http://dev.entidi.com/p/adg/],[adg],[http://adg.entidi.com/])
17 AC_CONFIG_SRCDIR([configure.ac])
18 AC_CONFIG_HEADERS([src/config.h])
19 AC_CONFIG_AUX_DIR([build])
20 AC_CONFIG_MACRO_DIR([build])
21 AM_INIT_AUTOMAKE([1.6 gnits no-dist-gzip dist-bzip2 -Wall -Wno-portability])
22 m4_ifdef([AM_SILENT_RULES],
23          [AM_SILENT_RULES([yes])],
24          [AC_SUBST([AM_V_GEN],[])])
25 AC_SUBST([ADG_API_PACKAGE],AC_PACKAGE_TARNAME-adg_api_version)
28 # Check for host information
30 AC_CANONICAL_HOST
31 case "${host}" in
32   *-*-linux*)
33     guessed_host=linux
34     ;;
35   *-*-freebsd*)
36     guessed_host=freebsd
37     ;;
38   *-*-mingw*)
39     guessed_host=mingw
40     ;;
41   *-*-solaris*)
42     guessed_host=solaris
43     ;;
44   *-*-darwin*)
45     guessed_host=darwin
46     ;;
47   *-*-beos*)
48     guessed_host=beos
49     ;;
50   *-*-cygwin*)
51     guessed_host=cygwin
52     ;;
53   *-*-minix)
54     guessed_host=minix
55     ;;
56   *-*-aix*)
57     guessed_host=aix
58     ;;
59   *)
60     guessed_host=unknown
61     ;;
62 esac
63 AM_CONDITIONAL([OS_UNIX],[test "${guessed_host}" != "mingw"])
64 AM_CONDITIONAL([OS_WINDOWS],[test "${guessed_host}" == "mingw" -o "${guessed_host}" == "cygwin"])
67 # Check for programs
69 AC_PROG_CC
70 AC_PROG_SED
71 PKG_PROG_PKG_CONFIG
72 AC_PATH_PROG([XSLTPROC],[xsltproc],[/usr/bin/xsltproc])
73 AC_PATH_PROG([GLIB_MKENUMS],[glib-mkenums],[/usr/bin/glib-mkenums])
74 AC_PATH_PROG([GLIB_GENMARSHAL],[glib-genmarshal],[/usr/bin/glib-genmarshal])
75 AC_PATH_PROG([GTESTER],[gtester],[/usr/bin/gtester])
76 AC_PATH_PROG([GTESTER_REPORT],[gtester-report],[/usr/bin/gtester-report])
77 AC_PATH_PROG([GLADE3],[glade-3],[/usr/bin/glade-3])
80 # Check for libraries
82 AC_CHECK_LIB([m],[cos])
85 # Libtool initialization
87 AC_MSG_CHECKING([which libtool initialization strategy to adopt])
88 AC_MSG_RESULT([m4_ifset([LT_INIT],[LT-INIT],[AC-PROG-LIBTOOL])])
89 m4_ifset([LT_INIT],
90          [LT_INIT([disable-static win32-dll])],
91          [AC_DISABLE_STATIC
92           AC_LIBTOOL_WIN32_DLL
93           AC_PROG_LIBTOOL])
96 # I18n
98 AC_SUBST([GETTEXT_PACKAGE],[${ADG_API_PACKAGE}])
99 AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE],["${ADG_API_PACKAGE}"],
100                    [Define to the domain used by gettext.])
101 ALL_LINGUAS="`grep -v '^#' "$srcdir/po/LINGUAS" | tr '\n' ' '`"
102 IT_PROG_INTLTOOL(0.40.1)
103 AM_GLIB_GNU_GETTEXT
104 GLIB_DEFINE_LOCALEDIR([LOCALEDIR])
105 AC_CONFIG_COMMANDS([default],
106                    [case "${CONFIG_FILES}" in *po-properties/Makefile.in*)
107         ${SED} -e "/POTFILES =/r po-properties/POTFILES" po-properties/Makefile.in > po-properties/Makefile
108     esac],
109                    [SED="${SED}"])
112 # Gobject introspection
114 GOBJECT_INTROSPECTION_CHECK([0.6.7])
117 # Check for required packages
119 GTK_DOC_CHECK(gtkdoc_prereq)
120 PKG_CHECK_MODULES([GLIB],[glib-2.0])
121 PKG_CHECK_MODULES([GOBJECT2],[gobject-2.0 >= ]gobject_prereq)
122 PKG_CHECK_MODULES([CAIRO],[cairo >= ]cairo_prereq)
125 # Check for optional pango support
127 AC_ARG_ENABLE([pango],
128               [AS_HELP_STRING([--enable-pango],
129                               [use pango for rendering text @<:@default=check@:>@])],
130               [],[enable_pango=check])
131 AS_IF([test "x${enable_pango}" != "xno"],
132       [PKG_CHECK_MODULES([PANGO],[pangocairo >= ]pangocairo_prereq,
133                          [enable_pango=yes
134                           AC_DEFINE_UNQUOTED([PANGO_ENABLED],[1],
135                                              [Defined if the pango support is enabled.])],
136                          [AS_IF([test "x${enable_pango}" = "xyes"],
137                                 [AC_MSG_ERROR([${PANGO_PKG_ERRORS} and pango support requested])],
138                                 [enable_pango=no])])])
139 AM_CONDITIONAL([HAVE_PANGO],[test "x${enable_pango}" = "xyes"])
142 # Check for optional GTK+2 support
144 AC_ARG_ENABLE([gtk2],
145               [AS_HELP_STRING([--enable-gtk2],
146                               [include GKT+2 specific widgets @<:@default=check@:>@])],
147               [],[enable_gtk2=check])
148 AS_IF([test "x${enable_gtk2}" != "xno"],
149       [PKG_CHECK_MODULES([GTK2],[gtk+-2.0 >= ]gtk_prereq,
150                          [enable_gtk2=yes],
151                          [AS_IF([test "x${enable_gtk2}" = "xyes"],
152                                 [AC_MSG_ERROR([${GTK2_PKG_ERRORS} and GTK+2 support requested])],
153                                 [enable_gtk2=no])])])
154 AM_CONDITIONAL([HAVE_GTK2],[test "x${enable_gtk2}" = "xyes"])
157 # Check for optional glade support
159 AC_ARG_ENABLE([glade],
160               [AS_HELP_STRING([--enable-glade],
161                               [install glade catalog file @<:@default=check@:>@])],
162               [],[enable_glade=check])
163 AS_IF([test "x${enable_glade}" != "xno"],
164       [PKG_CHECK_MODULES([GLADE],[gladeui-1.0],
165                          [enable_glade=yes],
166                          [AS_IF([test "x${enable_glade}" = "xyes"],
167                                 [AC_MSG_ERROR([${GLADE_PKG_ERRORS} and glade support requested])],
168                                 [enable_glade=no])])])
169 AM_CONDITIONAL([HAVE_GLADE],[test "x${enable_glade}" = "xyes"])
170 AS_IF([test "x${enable_glade}" == "xyes"],
171       [AC_MSG_CHECKING([for the glade catalog path])
172        gladeroot=`${PKG_CONFIG} --variable=datarootdir gladeui-1.0`
173        AS_IF([test "x${gladeroot}" == "x"],
174              [GLADE_CATALOGDIR="\${datarootdir}/glade3/catalogs}"],
175              [gladecatalog=`${PKG_CONFIG} --variable=catalogdir gladeui-1.0`
176               GLADE_CATALOGDIR=`echo "${gladecatalog}" | ${SED} -e "s|^${gladeroot}|"'${datarootdir}|'`])
177        AC_SUBST([GLADE_CATALOGDIR])
178        AC_MSG_RESULT(${GLADE_CATALOGDIR})])
182 # Check for optional GLib test framework
184 AC_ARG_ENABLE([test_framework],
185               [AS_HELP_STRING([--enable-test-framework],
186                               [enable GLib test framework @<:@default=check@:>@])],
187               [],[enable_test_framework=check])
188 AS_IF([test "x${enable_test_framework}" != "xno"],
189       [PKG_CHECK_EXISTS([glib-2.0 >= 2.16.0],
190                         [enable_test_framework=yes],
191                         [AS_IF([test "x${enable_test_framework}" = "xyes"],
192                                [AC_MSG_ERROR([The test framework needs glib2-2.16.0 or later])],
193                                [enable_test_framework=no])])])
194 AM_CONDITIONAL([HAVE_TEST_FRAMEWORK],[test "x${enable_test_framework}" = "xyes"])
197 # Check for compiler characteristics
199 AC_C_CONST
202 # Final step
204 AC_SUBST([CPML_REQUIRES],'cairo >= cairo_prereq')
205 AC_SUBST([ADG_REQUIRES],'gobject-2.0 >= gobject_prereq')
206 AC_SUBST([ADG_GTK_REQUIRES],'gtk+-2.0 >= gtk_prereq')
207 AC_SUBST([DLLDIR],"$(${PKG_CONFIG} --variable=prefix gobject-2.0)/bin")
209 AC_CONFIG_FILES([build/adg.nsi
210                  Makefile
211                  src/Makefile
212                  src/cpml-1.pc
213                  src/cpml/Makefile
214                  src/cpml/tests/Makefile
215                  src/adg-1.pc
216                  src/adg/Makefile
217                  src/adg/tests/Makefile
218                  src/adg-gtk-1.pc
219                  src/adg-gtk/Makefile
220                  src/adg-gtk/tests/Makefile
221                  demo/Makefile
222                  demo/cpml-demo.ui
223                  demo/adg-demo.ui
224                  po/Makefile.in
225                  po-properties/Makefile.in
226                  docs/Makefile
227                  docs/cpml/Makefile
228                  docs/cpml/bookinfo.xml
229                  docs/adg/Makefile
230                  docs/adg/bookinfo.xml])
231 AC_CONFIG_FILES([demo/adg-glade],[chmod +x demo/adg-glade])
232 AC_OUTPUT
235 # Report
237 AS_IF([test "x${enable_glade}" != "xno"],
238       [report_glade_catalogdir="
239                   Glade catalog dir: ${GLADE_CATALOGDIR}"],
240       [report_glade_catalogdir=''])
243 AC_MSG_NOTICE([generating report
245 AC_PACKAGE_NAME adg_version will be built with the following options:
246 ----------------------------------------------------------
247                   API compatibility: adg_api_version
248                 CPML library to use: internal (cpml-adg_version)
249          Build pango based entities: ${enable_pango}
250            GTK+2 additional widgets: ${enable_gtk2}
251              Install glade catalogs: ${enable_glade}${report_glade_catalogdir}
252                 Build API reference: ${enable_gtk_doc}
253              Test framework support: ${enable_test_framework}