[build] Added glade support
[adg.git] / configure.ac
blob2a37fcae831887b74d49f7e8d1a5f8f4aa2fccb7
1 m4_define([adg_version],[0.5.6])
2 m4_define([adg_api_version],[1.0])
4 m4_define([gtkdoc_prereq],[1.9])
5 m4_define([gobject_prereq],[2.4.0])
6 m4_define([cairo_prereq],[1.7.4])
7 m4_define([gtk_prereq],[2.12.0])
10 # Initialization
12 AC_PREREQ([2.59])
13 AC_INIT([Automatic Drawing Generation],adg_version,
14         [http://dev.entidi.com/p/adg/],[adg],[http://adg.entidi.com/])
15 AC_CONFIG_SRCDIR([configure.ac])
16 AC_CONFIG_HEADERS([src/config.h])
17 AC_CONFIG_MACRO_DIR([build])
18 AM_INIT_AUTOMAKE([1.6 gnits no-dist-gzip dist-bzip2 -Wall])
21 # Check for programs
23 AC_PROG_CC
24 PKG_PROG_PKG_CONFIG
25 AC_PATH_PROG([XSLTPROC],[xsltproc],[/usr/bin/xsltproc])
26 AC_PATH_PROG([GLIB_MKENUMS],[glib-mkenums],[/usr/bin/glib-mkenums])
27 AC_PATH_PROG([GLIB_GENMARSHAL],[glib-genmarshal],[/usr/bin/glib-genmarshal])
28 AC_PATH_PROG([GTESTER],[gtester],[/usr/bin/gtester])
29 AC_PATH_PROG([GTESTER_REPORT],[gtester-report],[/usr/bin/gtester-report])
31 AC_MSG_CHECKING([which libtool initialization strategy to adopt])
32 AC_MSG_RESULT([m4_ifset([LT_INIT],[LT-INIT],[AC-PROG-LIBTOOL])])
33 m4_ifset([LT_INIT],
34          [LT_INIT([disable-static])],
35          [AC_DISABLE_STATIC
36           AC_PROG_LIBTOOL])
39 # I18n
41 AC_SUBST([GETTEXT_PACKAGE],adg-adg_api_version)
42 AC_DEFINE([GETTEXT_PACKAGE],"AC_PACKAGE_TARNAME-adg_api_version",
43           [Define to the domain used by gettext.])
44 ALL_LINGUAS=""
45 AM_GLIB_GNU_GETTEXT
46 GLIB_DEFINE_LOCALEDIR([LOCALEDIR])
47 AC_OUTPUT_COMMANDS([case "${CONFIG_FILES}" in *po-properties/Makefile.in*)
48         sed -e "/POTFILES =/r po-properties/POTFILES" po-properties/Makefile.in > po-properties/Makefile
49       esac])
52 # Check for required packages
54 GTK_DOC_CHECK(gtkdoc_prereq)
55 PKG_CHECK_MODULES([GOBJECT2],[gobject-2.0 >= ]gobject_prereq)
56 PKG_CHECK_MODULES([CAIRO],[cairo >= ]cairo_prereq)
59 # Check for optional GTK+2 support
61 AC_ARG_ENABLE([gtk2],
62               [AS_HELP_STRING([--enable-gtk2],
63                               [include GKT+2 specific widgets @<:@default=check@:>@])],
64               [],[enable_gtk2=check])
65 AS_IF([test "x${enable_gtk2}" != "xno"],
66       [PKG_CHECK_MODULES([GTK2],[gtk+-2.0 >= ]gtk_prereq,
67                          [enable_gtk2=yes],
68                          [AS_IF([test "x${enable_gtk2}" = "xyes"],
69                                 [AC_MSG_ERROR([${GTK2_PKG_ERRORS} and GTK+2 support requested])],
70                                 [enable_gtk2=no])])])
71 AM_CONDITIONAL([HAVE_GTK2],[test "x${enable_gtk2}" = "xyes"])
74 # Check for optional glade support
76 AC_ARG_ENABLE([glade],
77               [AS_HELP_STRING([--enable-glade],
78                               [install glade catalog file @<:@default=check@:>@])],
79               [],[enable_glade=check])
80 AS_IF([test "x${enable_glade}" != "xno"],
81       [PKG_CHECK_MODULES([GLADE],[gladeui-1.0],
82                          [enable_glade=yes
83                          AC_SUBST([GLADE_CATALOGDIR],$(${PKG_CONFIG} --variable=catalogdir gladeui-1.0))],
84                          [AS_IF([test "x${enable_glade}" = "xyes"],
85                                 [AC_MSG_ERROR([${GLADE_PKG_ERRORS} and glade support requested])],
86                                 [enable_glade=no])])])
87 AM_CONDITIONAL([HAVE_GLADE],[test "x${enable_glade}" = "xyes"])
90 # Check for optional GLib test framework
92 AC_ARG_ENABLE([test_framework],
93               [AS_HELP_STRING([--enable-test-framework],
94                               [enable GLib test framework @<:@default=check@:>@])],
95               [],[enable_test_framework=check])
96 AS_IF([test "x${enable_test_framework}" != "xno"],
97       [PKG_CHECK_EXISTS([glib-2.0 >= 2.16.0],
98                         [enable_test_framework=yes],
99                         [AS_IF([test "x${enable_test_framework}" = "xyes"],
100                                [AC_MSG_ERROR([The test framework needs glib2-2.16.0 or later])],
101                                [enable_test_framework=no])])])
102 AM_CONDITIONAL([HAVE_TEST_FRAMEWORK],[test "x${enable_test_framework}" = "xyes"])
105 # Check for compiler characteristics
107 AC_C_CONST
110 # Final step
112 CPML_REQUIRES='cairo >= cairo_prereq'
113 CPML_CFLAGS="${CAIRO_CFLAGS}"
114 CPML_LIBS="${CAIRO_LIBS}"
115 ADG_REQUIRES='gobject-2.0 >= gobject_prereq'
116 ADG_CFLAGS="${GOBJECT2_CFLAGS} ${CPML_CFLAGS}"
117 ADG_LIBS="${GOBJECT2_LIBS} ${CPML_LIBS}"
118 AS_IF([test "x${enable_gtk2}" = "xyes"],
119       [ADG_GTK_REQUIRES='gtk+-2.0 >= gtk_prereq'
120        ADG_GTK_CFLAGS="${GTK2_CFLAGS} ${CPML_CFLAGS}"
121        ADG_GTK_LIBS="${GTK2_LIBS} ${CPML_LIBS}"
122        AC_SUBST([ADG_GTK_REQUIRES])
123        AC_SUBST([ADG_GTK_CFLAGS])
124        AC_SUBST([ADG_GTK_LIBS])])
125 AC_SUBST([CPML_REQUIRES])
126 AC_SUBST([CPML_CFLAGS])
127 AC_SUBST([CPML_LIBS])
128 AC_SUBST([ADG_REQUIRES])
129 AC_SUBST([ADG_CFLAGS])
130 AC_SUBST([ADG_LIBS])
132 SHAVE_INIT([build],[enable])
133 AC_CONFIG_FILES([build/shave
134                  build/shave-libtool
135                  Makefile
136                  src/Makefile
137                  src/cpml-1.pc
138                  src/cpml/Makefile
139                  src/adg-1.pc
140                  src/adg/Makefile
141                  src/adg/tests/Makefile
142                  src/adg-gtk-1.pc
143                  src/adg-gtk/Makefile
144                  src/adg-gtk/tests/Makefile
145                  demo/Makefile
146                  po/Makefile.in
147                  po-properties/Makefile.in
148                  docs/Makefile
149                  docs/cpml/Makefile
150                  docs/cpml/bookinfo.xml
151                  docs/adg/Makefile
152                  docs/adg/bookinfo.xml])
153 AC_OUTPUT
156 # Report
158 AC_MSG_NOTICE([generating report
160 ADG canvas adg_version will be built with the following options:
161 ----------------------------------------------------------
162                   API compatibility: adg_api_version
163                 CPML library to use: internal (cpml-adg_version)
164            GTK+2 additional widgets: ${enable_gtk2}
165              Install glade catalogs: ${enable_glade}
166                 Build API reference: ${enable_gtk_doc}
167              Test framework support: ${enable_test_framework}