dnl Process this file with autoconf to produce a configure script.
-AC_PREREQ(2.62)
+AC_PREREQ([2.63])
dnl ==========================================================================
dnl Versioning
dnl set ATK_BINARY_AGE _and_ ATK_INTERFACE_AGE to 0.
dnl The triplet
-m4_define([atk_major_version], [1])
-m4_define([atk_minor_version], [32])
+m4_define([atk_major_version], [2])
+m4_define([atk_minor_version], [16])
m4_define([atk_micro_version], [0])
m4_define([atk_version],
[atk_major_version.atk_minor_version.atk_micro_version])
-dnl The X.Y in -latk-X.Y line. This is expected to stay 1.0 until Atk 2.
+dnl The X.Y in -latk-X.Y line. This is expected to stay 1.0 until Atk 3.
m4_define([atk_api_version], [1.0])
dnl Number of releases since we've added interfaces
m4_define([atk_interface_age], [1])
+dnl binary_age includes major version as ATK 2 is still fully API and ABI compatible
m4_define([atk_binary_age],
- [m4_eval(100 * atk_minor_version + 10 + atk_micro_version)])
+ [m4_eval(10000 * atk_major_version + 100 * atk_minor_version + 10 + atk_micro_version)])
m4_define([lt_current],
- [m4_eval(100 * atk_minor_version + 10 + atk_micro_version - atk_interface_age)])
+ [m4_eval(10000 * atk_major_version + 100 * atk_minor_version + 10 + atk_micro_version - atk_interface_age)])
m4_define([lt_revision], [atk_interface_age])
m4_define([lt_age], [m4_eval(atk_binary_age - atk_interface_age)])
m4_define([lt_version_info], [lt_current:lt_revision:lt_age])
m4_define([lt_current_minus_age], [m4_eval(lt_current - lt_age)])
+AC_INIT([atk],
+ [atk_version],
+ [http://bugzilla.gnome.org/enter_bug.cgi?product=atk],
+ [atk])
-AC_INIT(atk, [atk_version],
- [http://bugzilla.gnome.org/enter_bug.cgi?product=atk])
+AC_CONFIG_HEADERS([config.h])
AC_CONFIG_SRCDIR([ChangeLog])
-
AC_CONFIG_MACRO_DIR([m4])
-AM_CONFIG_HEADER(config.h)
+AM_INIT_AUTOMAKE([1.10 -Wno-portability])
-AM_INIT_AUTOMAKE([-Wno-portability])
+# 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
+m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])])
dnl ==========================================================================
dnl
dnl ==========================================================================
-GETTEXT_PACKAGE=atk10
-AC_SUBST(GETTEXT_PACKAGE)
-AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, ["$GETTEXT_PACKAGE"],
- [Define the gettext package to be used])
-
+# Check for programs
AC_PROG_CC
-AM_DISABLE_STATIC
-AC_LIBTOOL_WIN32_DLL
-AM_PROG_LIBTOOL
+
+# Initialize libtool
+LT_PREREQ([2.2])
+LT_INIT([disable-static win32-dll])
+
+AC_CHECK_FUNCS(bind_textdomain_codeset)
AC_MSG_CHECKING([for some Win32 platform])
case "$host" in
ACLOCAL="$ACLOCAL $ac_cv_atk_aclocal_flags"
AC_ARG_ENABLE(rebuilds,
- [AC_HELP_STRING([--disable-rebuilds],
+ [AS_HELP_STRING([--disable-rebuilds],
[disable all source autogeneration rules])],,
[enable_rebuilds=yes])
fi
changequote([,])dnl
-GLIB_REQUIRED_VERSION=2.0.0
+GLIB_REQUIRED_VERSION=2.31.2
GLIB_PACKAGES="gobject-2.0"
AC_SUBST(GLIB_PACKAGES)
AC_SUBST(GLIB_REQUIRED_VERSION)
# Rerun PKG_CONFIG to add gthread-2.0 cflags, but not libs
DEP_CFLAGS=`$PKG_CONFIG --cflags $GLIB_PACKAGES gthread-2.0`
+# i18n stuff
+GETTEXT_PACKAGE=atk10
+AC_SUBST(GETTEXT_PACKAGE)
+AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, ["$GETTEXT_PACKAGE"],
+ [Define the gettext package to be used])
+
ALL_LINGUAS="`grep -v '^#' "$srcdir/po/LINGUAS" | tr '\n' ' '`"
AM_GLIB_GNU_GETTEXT
-AC_CHECK_FUNCS(bind_textdomain_codeset)
-
-GOBJECT_INTROSPECTION_CHECK([0.6.7])
+# Introspection support
+#GOBJECT_INTROSPECTION_CHECK([0.6.7])
-GTK_DOC_CHECK([1.0])
+# Documentation support
+#GTK_DOC_CHECK([1.13])
# define a MAINT-like variable REBUILD which is set if Perl
# and awk are found, so autogenerated sources can be rebuilt
fi
AC_SUBST(REBUILD)
+# option to specify python interpreter to use; this just sets $PYTHON, so that
+# we will fallback to reading $PYTHON if --with-python is not given, and
+# python.m4 will get the expected input.
+# This dependency on Python is for 'make dist', so normal builds would not
+# need Python
+AC_ARG_WITH(python,
+ AS_HELP_STRING([--with-python=PATH],
+ [Path to Python interpreter; searches $PATH if only a program name is given; if not given, searches for a few standard names such as "python3" or "python2"]),
+ [PYTHON="$withval"], [])
+if test x"$PYTHON" = xyes; then
+ AC_MSG_ERROR([--with-python option requires a path or program argument])
+fi
+AM_PATH_PYTHON(2.5,,PYTHON="/usr/bin/env python2.5")
+
+# Check for the visibility flags
+ATK_HIDDEN_VISIBILITY_CFLAGS=""
+case "$host" in
+ *-*-mingw*)
+ dnl on mingw32 we do -fvisibility=hidden and __declspec(dllexport)
+ AC_DEFINE([_ATK_EXTERN], [__attribute__((visibility("default"))) __declspec(dllexport) extern],
+ [defines how to decorate public symbols while building])
+ CFLAGS="${CFLAGS} -fvisibility=hidden"
+ ;;
+ *)
+ dnl on other compilers, check if we can do -fvisibility=hidden
+ SAVED_CFLAGS="${CFLAGS}"
+ CFLAGS="-fvisibility=hidden"
+ AC_MSG_CHECKING([for -fvisibility=hidden compiler flag])
+ AC_TRY_COMPILE([], [int main (void) { return 0; }],
+ AC_MSG_RESULT(yes)
+ enable_fvisibility_hidden=yes,
+ AC_MSG_RESULT(no)
+ enable_fvisibility_hidden=no)
+ CFLAGS="${SAVED_CFLAGS}"
+
+ AS_IF([test "${enable_fvisibility_hidden}" = "yes"], [
+ AC_DEFINE([_ATK_EXTERN], [__attribute__((visibility("default"))) extern],
+ [defines how to decorate public symbols while building])
+ ATK_HIDDEN_VISIBILITY_CFLAGS="-fvisibility=hidden"
+ ])
+ ;;
+esac
+AC_SUBST(ATK_HIDDEN_VISIBILITY_CFLAGS)
+
AC_CONFIG_FILES([
Makefile
-po/Makefile.in
atk.pc
atk-uninstalled.pc
atk/Makefile
atk/atk.rc
+atk/atkversion.h
tests/Makefile
+build/Makefile
+build/win32/Makefile
+build/win32/vs9/Makefile
+build/win32/vs10/Makefile
+build/win32/vs11/Makefile
+build/win32/vs12/Makefile
docs/Makefile
docs/version.xml
atk.spec
atk-zip.sh
+config.h.win32
])
AC_OUTPUT