configure.ac 11.6 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 7
m4_define(glade_minor_version, 19)
m4_define(glade_micro_version, 0)
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=8
GLADE_AGE=2
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 ================================================================
Juan Pablo Ugarte's avatar
Juan Pablo Ugarte committed
143
GOBJECT_INTROSPECTION_CHECK([1.32.0])
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.19.12
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
LT_LIB_M

161 162 163 164 165 166 167
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")

168 169 170
dnl ================================================================
dnl Python for optional python dev libs
dnl ================================================================
171 172 173 174
PYGOBJECT_REQUIRED_MAJOR=3
PYGOBJECT_REQUIRED_MINOR=8
PYGOBJECT_REQUIRED_MICRO=0
PYGOBJECT_REQS=$PYGOBJECT_REQUIRED_MAJOR.$PYGOBJECT_REQUIRED_MINOR.$PYGOBJECT_REQUIRED_MICRO
175

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

183
  PKG_CHECK_MODULES([PYGOBJECT],[pygobject-3.0 >= $PYGOBJECT_REQS],[have_pygobject=yes],[have_pygobject=no])
184

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

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

192 193 194 195 196 197 198 199
  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

200 201 202
  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)
203

204 205 206 207 208 209
else
  have_python=no
fi

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

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

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

Matthias Clasen's avatar
Matthias Clasen committed
216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231
# ==================================================================
# 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)

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

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

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

270
   GTK_MAC_BUNDLE_FLAG=
271 272 273 274 275 276 277 278

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

279
      GTK_MAC_BUNDLE_FLAG=-DMAC_BUNDLE
280 281
   fi      

282 283 284
   AC_SUBST(GTK_MAC_BUNDLE_FLAG)
   AC_SUBST(GTK_MAC_LIBS)
   AC_SUBST(GTK_MAC_CFLAGS)
285 286
fi

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

297 298 299
dnl ================================================================
dnl Testing environment
dnl ================================================================
300 301 302 303 304
#
# Do not redefine pixmap dir as it does not work if not inside a proper directory structure
# GLADE_PIXMAP_DIR=$(top_srcdir)/data/icons
#
GLADE_TEST_ENVIRONMENT='GLADE_TESTING=1 GLADE_CATALOG_SEARCH_PATH=$(top_srcdir)/plugins/gtk+ GLADE_MODULE_SEARCH_PATH=$(top_builddir)/plugins/gtk+/.libs'
305 306
AC_SUBST(GLADE_TEST_ENVIRONMENT)

307 308 309 310
AC_SUBST([AM_CPPFLAGS])
AC_SUBST([AM_CFLAGS])
AC_SUBST([AM_CXXFLAGS])
AC_SUBST([AM_LDFLAGS])
311

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

Tristan Van Berkom's avatar
Tristan Van Berkom committed
354 355
AC_OUTPUT

Jose Maria Celorio's avatar
Jose Maria Celorio committed
356 357 358 359
echo "

Configuration:

360 361
	Source code location:	 ${srcdir}
	Compiler:		 ${CC}
362
	Debug Enabled:           ${enable_debug}
363
	GTK+ UNIX Print Widgets: ${have_unix_print}
364
	PYTHON Widgets support:	 ${have_python}
365
	Gladeui Catalog:         ${enable_gladeui}
366
	Introspection Data:      ${found_introspection}
367 368

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