configure.ac 10.9 KB
Newer Older
Jose Maria Celorio's avatar
Jose Maria Celorio committed
1 2
dnl Process this file with autoconf to produce a configure script.

3
AC_PREREQ(2.52)
4 5

m4_define(glade_major_version, 3)
6
m4_define(glade_minor_version, 15)
7
m4_define(glade_micro_version, 2)
8 9
m4_define(glade_version, glade_major_version.glade_minor_version.glade_micro_version)

10
AC_INIT([glade], [glade_version],
11
	[http://bugzilla.gnome.org/enter_bug.cgi?product=glade],
12
	[glade],
13 14
	[http://glade.gnome.org/])

15
AC_CONFIG_HEADERS([config.h])
16
AC_CONFIG_SRCDIR([gladeui/glade.h])
17 18
AC_CONFIG_MACRO_DIR([m4])

19 20 21 22 23 24 25
AC_DEFINE(GLADE_MAJOR_VERSION, glade_major_version, [Glade major version])
AC_SUBST(GLADE_MAJOR_VERSION, glade_major_version)
AC_DEFINE(GLADE_MINOR_VERSION, glade_minor_version, [Glade minor version])
AC_SUBST(GLADE_MINOR_VERSION, glade_minor_version)
AC_DEFINE(GLADE_MICRO_VERSION, glade_micro_version, [Glade micro version])
AC_SUBST(GLADE_MICRO_VERSION, glade_micro_version)

26
AC_CANONICAL_TARGET
27

28 29
AM_INIT_AUTOMAKE([1.11 foreign no-dist-gzip dist-bzip2])
AM_MAINTAINER_MODE([enable])
Tristan Van Berkom's avatar
Tristan Van Berkom committed
30

31 32 33
# Support silent build rules, requires at least automake-1.11. Disable
# by either passing --disable-silent-rules to configure or passing V=1
# to make
34
AM_SILENT_RULES([yes])
35

36
# Checks for programs
Jose Maria Celorio's avatar
Jose Maria Celorio committed
37 38 39 40
AC_PROG_CC
AC_PROG_INSTALL
AC_PROG_MAKE_SET

41 42 43 44
# Initialize libtool
LT_PREREQ([2.2.6])
LT_INIT([dlopen win32-dll disable-static])

45
AC_PATH_PROG(GLIB_COMPILE_RESOURCES, glib-compile-resources)
46
AC_PATH_PROG(GLIB_GENMARSHAL, glib-genmarshal)
47
AC_PATH_PROG(GLIB_MKENUMS, glib-mkenums)
48
AC_PATH_PROG(DLLTOOL, dlltool)
49 50 51 52 53

# If the source code has changed at all, increment GLADE_REVISION
# If any interfaces have been added, removed, or changed, increment GLADE_CURRENT, and set GLADE_REVISION to 0.
# If any interfaces have been added since the last public release, then increment GLADE_AGE.
# If any interfaces have been removed since the last public release, then set GLADE_AGE to 0.
54 55
# Reference: http://www.gnu.org/software/libtool/manual/libtool.html#Versioning

56 57 58
GLADE_REVISION=0
GLADE_CURRENT=5
GLADE_AGE=1
Vincent Geddes's avatar
Vincent Geddes committed
59
GLADE_CURRENT_MINUS_AGE=`expr $GLADE_CURRENT - $GLADE_AGE`
60 61 62
AC_SUBST(GLADE_REVISION)
AC_SUBST(GLADE_CURRENT)
AC_SUBST(GLADE_AGE)
63
AC_SUBST(GLADE_CURRENT_MINUS_AGE)
64

65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
dnl are we unstable or stable?
m4_define([glade_unstable],
          m4_if(m4_eval(glade_minor_version % 2), [1], [yes], [no]))
GLADE_UNSTABLE=glade_unstable
AC_SUBST(GLADE_UNSTABLE)

dnl The symbol GLADE_UNSTABLE is defined above for substitution in
dnl Makefiles and conditionally defined here as a preprocessor symbol
dnl and automake conditional.
if test "x$GLADE_UNSTABLE" = "xyes"; then
  AC_DEFINE(GLADE_UNSTABLE, 1,
            [Define to 1 if this is an unstable version of Glade])
fi
AM_CONDITIONAL(GLADE_UNSTABLE, test "x$GLADE_UNSTABLE" = "xyes")

80 81 82 83 84 85
# ================================================================

GNOME_DEBUG_CHECK
GNOME_COMPILE_WARNINGS([maximum])
GNOME_MAINTAINER_MODE_DEFINES

86 87 88 89 90 91 92
# For the plugins, we don't use the warning flags defined by GNOME_COMPILE_WARNINGS.
# These flags include -Wmissing-prototypes, which we prefer not to use.
if test "x$GCC" = "xyes"; then
    PLUGINS_WARN_CFLAGS="-Wall -Wnested-externs -Wpointer-arith"
fi
AC_SUBST(PLUGINS_WARN_CFLAGS)

93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110

dnl ================================================================
dnl Collect some arguments.
dnl ================================================================
AC_ARG_ENABLE(debug,
              [AC_HELP_STRING([--enable-debug],
                              [enable debug build [default=no]])],,
              [enable_debug="no"])

AM_CONDITIONAL([GLADE_DEBUG],[test "x$enable_debug" = "xyes"])

if test "x$enable_debug" = "xyes"; then
   GLADE_DEBUG_FLAGS=-DGLADE_ENABLE_DEBUG
else
   GLADE_DEBUG_FLAGS=
fi
AC_SUBST(GLADE_DEBUG_FLAGS)

Jose Maria Celorio's avatar
Jose Maria Celorio committed
111
dnl ================================================================
112
dnl Gettext stuff.
Jose Maria Celorio's avatar
Jose Maria Celorio committed
113
dnl ================================================================
114 115
IT_PROG_INTLTOOL([0.41.0])

Javier Jardón's avatar
Javier Jardón committed
116 117 118
AM_GNU_GETTEXT_VERSION([0.17])
AM_GNU_GETTEXT([external])

119
GETTEXT_PACKAGE=AC_PACKAGE_NAME
120
AC_SUBST(GETTEXT_PACKAGE)
121
AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE", [Name of the gettext package.])
Jose Maria Celorio's avatar
Jose Maria Celorio committed
122

123 124 125 126 127 128 129 130 131 132 133 134 135 136 137
dnl ================================================================
dnl va_copy.
dnl ================================================================
AC_MSG_CHECKING([how to copy va_list])
AC_TRY_LINK([#include <stdarg.h>], [va_list ap1, ap2; va_copy(ap1, ap2);],
        AC_MSG_RESULT([va_copy]),
        [ AH_TEMPLATE([va_copy], [define if va_copy is not available])
        AC_TRY_LINK([#include <stdarg.h>], [va_list ap1, ap2; __va_copy(ap1, ap2);],
            [ AC_DEFINE([va_copy], [__va_copy])
            AC_MSG_RESULT([__va_copy])],
            [ AC_DEFINE([va_copy(dest,src)], [memcpy(&dest,&src,sizeof(va_list))])
            AC_MSG_RESULT([memcpy])]
            )
        ])

138 139 140
dnl ================================================================
dnl Check for gtk-doc
dnl ================================================================
141
GTK_DOC_CHECK([1.13],[--flavour no-tmpl])
142

143 144 145
dnl ================================================================
dnl Check for introspection
dnl ================================================================
146
GOBJECT_INTROSPECTION_CHECK([0.10.1])
147

Paolo Borelli's avatar
Paolo Borelli committed
148
dnl ================================================================
149
dnl Check for gtk+
Paolo Borelli's avatar
Paolo Borelli committed
150
dnl ================================================================
151
GTK_REQUIRED=3.9.0
152
PKG_CHECK_MODULES([GTK],[
153
  gtk+-3.0 >= $GTK_REQUIRED
154
  gmodule-2.0
155 156 157
  libxml-2.0 >= 2.4.0
])

158 159 160
PKG_CHECK_MODULES([GMODULE_EXPORT],[
  gmodule-export-2.0
])
161

162 163 164 165 166 167 168
dnl ================================================================
dnl Check for the unix print widgets in gtk+
dnl ================================================================
LIBS=$GTK_LIBS
AC_CHECK_FUNCS(gtk_print_unix_dialog_new,[have_unix_print=yes]; break,[have_unix_print=no])
AM_CONDITIONAL(HAVE_GTK_UNIX_PRINT, test x"$have_unix_print" = "xyes")

169 170 171
dnl ================================================================
dnl Python for optional python dev libs
dnl ================================================================
172
PYGOBJECT_REQS=2.90.4
173
PYGOBJECT_REQUIRED_MAJOR=2
174 175
PYGOBJECT_REQUIRED_MINOR=90
PYGOBJECT_REQUIRED_MICRO=4
176

177 178 179 180 181
AC_ARG_ENABLE(python,
    AS_HELP_STRING([--disable-python], [disable python catalog]),
    check_python=$enableval, check_python=yes)

if test x"$check_python" = x"yes"; then
182 183
  have_python=yes

184
  PKG_CHECK_MODULES([PYGOBJECT],[pygobject-3.0 >= ${PYGOBJECT_REQUIRED_MAJOR}.${PYGOBJECT_REQUIRED_MINOR}.${PYGOBJECT_REQUIRED_MICRO}],[have_pygobject=yes],[have_pygobject=no])
185

186 187 188
  AM_CHECK_PYTHON_HEADERS(, [have_python_headers=no])
  AM_CHECK_PYTHON_LIBS(, [have_python_lib=no])

189 190 191 192
  if test x"$have_pygobject" = x"no"; then
    have_python=no
  fi

193 194 195 196 197 198 199 200
  if test x"$have_python_headers" = x"no"; then
    have_python=no
  fi

  if test x"$have_python_lib" = x"no"; then
    have_python=no
  fi

201 202 203
  AC_DEFINE_UNQUOTED(PYGOBJECT_REQUIRED_MAJOR, $PYGOBJECT_REQUIRED_MAJOR, pygobject major version required)
  AC_DEFINE_UNQUOTED(PYGOBJECT_REQUIRED_MINOR, $PYGOBJECT_REQUIRED_MINOR, pygobject minor version required)
  AC_DEFINE_UNQUOTED(PYGOBJECT_REQUIRED_MICRO, $PYGOBJECT_REQUIRED_MICRO, pygobject micro version required)
204

205 206 207 208 209 210
else
  have_python=no
fi

AM_CONDITIONAL(BUILD_PYTHON, test x"$have_python" = "xyes")

211
# ==================================================================
212
# Glade User Manual (requires yelp-tools)
213
# ==================================================================
Tristan Van Berkom's avatar
Tristan Van Berkom committed
214

215
YELP_HELP_INIT
Tristan Van Berkom's avatar
Tristan Van Berkom committed
216

217 218 219 220
dnl ================================================================
dnl Check for windows
dnl ================================================================
case $host_os in
221
  *mingw* | pw32* | cygwin*)
222
    platform_win32=yes
223 224
    ;;
  *)
225
    platform_win32=no
226
    ;;
227
esac
228 229
AM_CONDITIONAL(PLATFORM_WIN32, test x"$platform_win32" = "xyes")

230 231 232 233 234 235 236 237 238 239 240
case $host_os in
  *mingw*)
    native_win32=yes
    ;;
  *)
    native_win32=no
    ;;
esac
AM_CONDITIONAL(NATIVE_WIN32, test x"$native_win32" = "xyes")

if test "$native_win32" = "yes"; then
241 242 243 244 245
  AC_CHECK_TOOL(WINDRES, windres, no)
  if test "$WINDRES" = no; then
    AC_MSG_ERROR([*** Could not find an implementation of windres in your PATH.])
  fi
fi
246

247 248 249
dnl ================================================================
dnl Check for GDK Quartz and MacOSX integration package 
dnl ================================================================
250
_gdk_tgt=`$PKG_CONFIG --variable=targets gdk-3.0`
251 252
AM_CONDITIONAL([GDK_TARGET_QUARTZ], [test x$_gdk_tgt = xquartz])
if test "x$_gdk_tgt" = xquartz; then 
253
   PKG_CHECK_MODULES(GTK_MAC, gtk-mac-integration)
254

255
   GTK_MAC_BUNDLE_FLAG=
256 257 258 259 260 261 262 263

   AC_ARG_ENABLE(mac-bundle,
      AS_HELP_STRING([--enable-mac-bundle], [enable mac bundling]),
      build_bundle=yes, build_bundle=no)

   if test "x$build_bundle" = xyes; then
      AC_MSG_NOTICE([enableing mac bundle..])

264
      GTK_MAC_BUNDLE_FLAG=-DMAC_BUNDLE
265 266
   fi      

267 268 269
   AC_SUBST(GTK_MAC_BUNDLE_FLAG)
   AC_SUBST(GTK_MAC_LIBS)
   AC_SUBST(GTK_MAC_CFLAGS)
270 271
fi

272 273 274 275 276 277 278 279 280 281
dnl ================================================================
dnl Enable installation of Gladeui catalog
dnl ================================================================
AC_ARG_ENABLE([gladeui],
	AS_HELP_STRING([--enable-gladeui],
	[Enable installation of the Gladeui catalog]),
	[enable_gladeui="$enableval"],[enable_gladeui="no"])

AM_CONDITIONAL(BUILD_GLADEUI, test x"$enable_gladeui" = "xyes")

282 283 284
dnl ================================================================
dnl Testing environment
dnl ================================================================
285
GLADE_TEST_ENVIRONMENT='GLADE_TESTING=1 GLADE_PIXMAP_DIR=$(top_srcdir)/data/icons GLADE_CATALOG_SEARCH_PATH=$(top_srcdir)/plugins/gtk+ GLADE_MODULE_SEARCH_PATH=$(top_builddir)/plugins/gtk+/.libs'
286 287
AC_SUBST(GLADE_TEST_ENVIRONMENT)

288 289 290 291
AC_SUBST([AM_CPPFLAGS])
AC_SUBST([AM_CFLAGS])
AC_SUBST([AM_CXXFLAGS])
AC_SUBST([AM_LDFLAGS])
292

Tristan Van Berkom's avatar
Tristan Van Berkom committed
293
AC_CONFIG_FILES([
Jose Maria Celorio's avatar
Jose Maria Celorio committed
294
Makefile
295 296
data/gladeui-2.0.pc
data/glade.desktop.in
297 298
data/Makefile
data/icons/Makefile
299 300 301 302 303 304 305 306 307 308 309
data/icons/hicolor/Makefile
data/icons/hicolor/16x16/Makefile
data/icons/hicolor/16x16/apps/Makefile
data/icons/hicolor/22x22/Makefile
data/icons/hicolor/22x22/apps/Makefile
data/icons/hicolor/24x24/Makefile
data/icons/hicolor/24x24/apps/Makefile
data/icons/hicolor/32x32/Makefile
data/icons/hicolor/32x32/apps/Makefile
data/icons/hicolor/48x48/Makefile
data/icons/hicolor/48x48/apps/Makefile
William Jon McCann's avatar
William Jon McCann committed
310 311
data/icons/hicolor/256x256/Makefile
data/icons/hicolor/256x256/apps/Makefile
312
gladeui/Makefile
313
gladeui/gladeui.rc
314
gladeui/glade-previewer.rc
315
src/Makefile
316
src/glade.rc
317 318 319 320 321
plugins/Makefile
plugins/gtk+/Makefile
plugins/gtk+/icons/Makefile
plugins/gtk+/icons/16x16/Makefile
plugins/gtk+/icons/22x22/Makefile
322
plugins/python/Makefile
323
plugins/gladeui/Makefile
324
po/Makefile.in
Tristan Van Berkom's avatar
Tristan Van Berkom committed
325 326
doc/Makefile
doc/version.xml
Tristan Van Berkom's avatar
Tristan Van Berkom committed
327
help/Makefile
328
tests/Makefile
329
build/mingw-w64/glade.nsi
330
])
Jose Maria Celorio's avatar
Jose Maria Celorio committed
331

Tristan Van Berkom's avatar
Tristan Van Berkom committed
332 333
AC_OUTPUT

Jose Maria Celorio's avatar
Jose Maria Celorio committed
334 335 336 337
echo "

Configuration:

338 339
	Source code location:	 ${srcdir}
	Compiler:		 ${CC}
340
	Debug Enabled:           ${enable_debug}
341
	GTK+ UNIX Print Widgets: ${have_unix_print}
342
	PYTHON Widgets support:	 ${have_python}
343
	Gladeui Catalog:         ${enable_gladeui}
344
	Introspection Data:      ${found_introspection}
345 346

	Build Reference Manual:  ${enable_gtk_doc}
Jose Maria Celorio's avatar
Jose Maria Celorio committed
347
"