configure.ac 11.5 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])

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

120 121 122 123 124 125 126 127 128 129 130 131 132 133 134
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])]
            )
        ])

135 136 137
dnl ================================================================
dnl Check for gtk-doc
dnl ================================================================
138
GTK_DOC_CHECK([1.13],[--flavour no-tmpl])
139

140 141 142
dnl ================================================================
dnl Check for introspection
dnl ================================================================
143
GOBJECT_INTROSPECTION_CHECK([0.10.1])
144

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

155 156 157
PKG_CHECK_MODULES([GMODULE_EXPORT],[
  gmodule-export-2.0
])
158

159 160 161 162 163 164 165
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")

166 167 168
dnl ================================================================
dnl Python for optional python dev libs
dnl ================================================================
169
PYGOBJECT_REQS=2.90.4
170
PYGOBJECT_REQUIRED_MAJOR=2
171 172
PYGOBJECT_REQUIRED_MINOR=90
PYGOBJECT_REQUIRED_MICRO=4
173

174 175 176 177 178
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
179 180
  have_python=yes

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

183 184 185
  AM_CHECK_PYTHON_HEADERS(, [have_python_headers=no])
  AM_CHECK_PYTHON_LIBS(, [have_python_lib=no])

186 187 188 189
  if test x"$have_pygobject" = x"no"; then
    have_python=no
  fi

190 191 192 193 194 195 196 197
  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

198 199 200
  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)
201

202 203 204 205 206 207
else
  have_python=no
fi

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

208
# ==================================================================
209
# Glade User Manual (requires yelp-tools)
210
# ==================================================================
Tristan Van Berkom's avatar
Tristan Van Berkom committed
211

212
YELP_HELP_INIT
Tristan Van Berkom's avatar
Tristan Van Berkom committed
213

Matthias Clasen's avatar
Matthias Clasen committed
214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229
# ==================================================================
# Man pages (requires xsltproc)
# ==================================================================

AC_ARG_ENABLE(man-pages,
              AC_HELP_STRING([--enable-man-pages],
                             [build manual pages]),,
              enable_man_pages=yes)
if test x$enable_man_pages = xyes; then
   AC_PATH_PROG([XSLTPROC], [xsltproc])
   if test x$XSLTPROC = x; then
      AC_MSG_ERROR([xsltproc is required to build manual pages])
   fi
fi
AM_CONDITIONAL(BUILD_MAN_PAGES, test x$enable_man_pages = xyes)

230 231 232 233
dnl ================================================================
dnl Check for windows
dnl ================================================================
case $host_os in
234
  *mingw* | pw32* | cygwin*)
235
    platform_win32=yes
236 237
    ;;
  *)
238
    platform_win32=no
239
    ;;
240
esac
241 242
AM_CONDITIONAL(PLATFORM_WIN32, test x"$platform_win32" = "xyes")

243 244 245 246 247 248 249 250 251 252 253
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
254 255 256 257 258
  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
259

260 261 262
dnl ================================================================
dnl Check for GDK Quartz and MacOSX integration package 
dnl ================================================================
263
_gdk_tgt=`$PKG_CONFIG --variable=targets gdk-3.0`
264 265
AM_CONDITIONAL([GDK_TARGET_QUARTZ], [test x$_gdk_tgt = xquartz])
if test "x$_gdk_tgt" = xquartz; then 
266
   PKG_CHECK_MODULES(GTK_MAC, gtk-mac-integration)
267

268
   GTK_MAC_BUNDLE_FLAG=
269 270 271 272 273 274 275 276

   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..])

277
      GTK_MAC_BUNDLE_FLAG=-DMAC_BUNDLE
278 279
   fi      

280 281 282
   AC_SUBST(GTK_MAC_BUNDLE_FLAG)
   AC_SUBST(GTK_MAC_LIBS)
   AC_SUBST(GTK_MAC_CFLAGS)
283 284
fi

285 286 287 288 289 290 291 292 293 294
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")

295 296 297
dnl ================================================================
dnl Testing environment
dnl ================================================================
298
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'
299 300
AC_SUBST(GLADE_TEST_ENVIRONMENT)

301 302 303 304
AC_SUBST([AM_CPPFLAGS])
AC_SUBST([AM_CFLAGS])
AC_SUBST([AM_CXXFLAGS])
AC_SUBST([AM_LDFLAGS])
305

Tristan Van Berkom's avatar
Tristan Van Berkom committed
306
AC_CONFIG_FILES([
Jose Maria Celorio's avatar
Jose Maria Celorio committed
307
Makefile
308 309
data/gladeui-2.0.pc
data/glade.desktop.in
310 311
data/Makefile
data/icons/Makefile
312 313 314 315 316 317 318 319 320 321 322
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
323 324
data/icons/hicolor/256x256/Makefile
data/icons/hicolor/256x256/apps/Makefile
325
gladeui/Makefile
326
gladeui/gladeui.rc
327
gladeui/glade-previewer.rc
328
src/Makefile
329
src/glade.rc
330 331 332 333 334
plugins/Makefile
plugins/gtk+/Makefile
plugins/gtk+/icons/Makefile
plugins/gtk+/icons/16x16/Makefile
plugins/gtk+/icons/22x22/Makefile
335
plugins/python/Makefile
336
plugins/gladeui/Makefile
337
po/Makefile.in
Tristan Van Berkom's avatar
Tristan Van Berkom committed
338 339
doc/Makefile
doc/version.xml
Tristan Van Berkom's avatar
Tristan Van Berkom committed
340
help/Makefile
Matthias Clasen's avatar
Matthias Clasen committed
341
man/Makefile
342
tests/Makefile
343
build/mingw-w64/glade.nsi
344
])
Jose Maria Celorio's avatar
Jose Maria Celorio committed
345

Tristan Van Berkom's avatar
Tristan Van Berkom committed
346 347
AC_OUTPUT

Jose Maria Celorio's avatar
Jose Maria Celorio committed
348 349 350 351
echo "

Configuration:

352 353
	Source code location:	 ${srcdir}
	Compiler:		 ${CC}
354
	Debug Enabled:           ${enable_debug}
355
	GTK+ UNIX Print Widgets: ${have_unix_print}
356
	PYTHON Widgets support:	 ${have_python}
357
	Gladeui Catalog:         ${enable_gladeui}
358
	Introspection Data:      ${found_introspection}
359 360

	Build Reference Manual:  ${enable_gtk_doc}
Matthias Clasen's avatar
Matthias Clasen committed
361
	Build Manual Pages:      ${enable_man_pages}
Jose Maria Celorio's avatar
Jose Maria Celorio committed
362
"