Remove win32/vs15/atk-install.props before re-generation
[platform/upstream/atk.git] / configure.ac
index ffbd37b..9b860fe 100644 (file)
@@ -1,6 +1,6 @@
 dnl Process this file with autoconf to produce a configure script.
 
-AC_PREREQ(2.62)
+AC_PREREQ([2.63])
 
 dnl ==========================================================================
 dnl                              Versioning              
@@ -15,38 +15,39 @@ dnl if backwards compatibility has been broken,
 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_micro_version], [0])
+m4_define([atk_major_version], [2])
+m4_define([atk_minor_version], [23])
+m4_define([atk_micro_version], [4])
 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([-Wno-portability])
+AM_INIT_AUTOMAKE([1.10 -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
@@ -84,15 +85,14 @@ AC_SUBST(LT_CURRENT_MINUS_AGE)
 
 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
@@ -145,7 +145,7 @@ AC_CACHE_CHECK([for aclocal flags], ac_cv_atk_aclocal_flags,[
 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])
 
@@ -160,7 +160,7 @@ if test "x$GCC" = "xyes"; then
 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)
@@ -185,14 +185,20 @@ PKG_CHECK_MODULES(DEP, glib-2.0 >= $GLIB_REQUIRED_VERSION $GLIB_PACKAGES, ,
 # Rerun PKG_CONFIG to add gthread-2.0 cflags, but not libs
 DEP_CFLAGS=`$PKG_CONFIG --cflags $GLIB_PACKAGES gthread-2.0`
 
-ALL_LINGUAS="`grep -v '^#' "$srcdir/po/LINGUAS" | tr '\n' ' '`"
-AM_GLIB_GNU_GETTEXT
+# i18n stuff
+AM_GNU_GETTEXT_VERSION([0.19.2])
+AM_GNU_GETTEXT([external])
 
-AC_CHECK_FUNCS(bind_textdomain_codeset)
+GETTEXT_PACKAGE=atk10
+AC_SUBST(GETTEXT_PACKAGE)
+AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, ["$GETTEXT_PACKAGE"],
+  [Define the gettext package to be used])
 
+# 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
@@ -200,6 +206,10 @@ GTK_DOC_CHECK([1.0])
 AC_PROG_AWK
 AC_CHECK_PROGS(PERL, perl5 perl)
 
+# Check whether MSVC toolset is explicitly set
+AM_CONDITIONAL(MSVC_BASE_NO_TOOLSET_SET, [test x$MSVC_BASE_TOOLSET = x])
+AM_CONDITIONAL(MSVC_NO_TOOLSET_SET, [test x$MSVC_TOOLSET = x])
+
 REBUILD=\#
 if test "x$enable_rebuilds" = "xyes" && \
        test -n "$PERL" && \
@@ -209,6 +219,36 @@ if test "x$enable_rebuilds" = "xyes" && \
 fi
 AC_SUBST(REBUILD)
 
+# 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
@@ -216,11 +256,22 @@ atk.pc
 atk-uninstalled.pc
 atk/Makefile
 atk/atk.rc
+atk/atkversion.h
 tests/Makefile
+win32/Makefile
+win32/vs9/Makefile
+win32/vs9/atk-version-paths.vsprops
+win32/vs10/Makefile
+win32/vs10/atk-version-paths.props
+win32/vs11/Makefile
+win32/vs12/Makefile
+win32/vs14/Makefile
+win32/vs15/Makefile
 docs/Makefile
 docs/version.xml
 atk.spec
 atk-zip.sh
+config.h.win32
 ])
 
 AC_OUTPUT