Blame configure.ac

Packit 4b6dd7
AC_PREREQ(2.65)
Packit 4b6dd7
Packit 4b6dd7
# Release version
Packit 4b6dd7
m4_define(gdata_version_major, 0)
Packit 4b6dd7
m4_define(gdata_version_minor, 17)
Packit 4b6dd7
m4_define(gdata_version_micro, 9)
Packit 4b6dd7
Packit 4b6dd7
# API version
Packit 4b6dd7
# TODO: This currently isn't used in the library name; once we hit gdata_version_major=1, that should be changed
Packit 4b6dd7
m4_define(gdata_api_version_major, 0)
Packit 4b6dd7
m4_define(gdata_api_version_minor, 0)
Packit 4b6dd7
Packit 4b6dd7
AC_INIT([libgdata],[gdata_version_major.gdata_version_minor.gdata_version_micro],[https://bugzilla.gnome.org/enter_bug.cgi?product=libgdata],[libgdata],[https://wiki.gnome.org/Projects/libgdata])
Packit 4b6dd7
AX_IS_RELEASE([git-directory])
Packit 4b6dd7
Packit 4b6dd7
AC_CONFIG_MACRO_DIR([m4])
Packit 4b6dd7
AC_CONFIG_AUX_DIR([build-aux])
Packit 4b6dd7
AC_CONFIG_SRCDIR([gdata/gdata.h])
Packit 4b6dd7
AC_CONFIG_HEADERS([config.h])
Packit 4b6dd7
AC_USE_SYSTEM_EXTENSIONS
Packit 4b6dd7
Packit 4b6dd7
# tar-pax is needed for long filename support for trace files
Packit 4b6dd7
AM_INIT_AUTOMAKE([1.9 dist-xz no-dist-gzip tar-pax check-news subdir-objects parallel-tests color-tests])
Packit 4b6dd7
Packit 4b6dd7
# Enable silent build when available (Automake 1.11)
Packit 4b6dd7
m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])])
Packit 4b6dd7
Packit 4b6dd7
AC_PROG_CXX
Packit 4b6dd7
AM_PROG_CC_C_O
Packit 4b6dd7
LT_INIT([])
Packit 4b6dd7
PKG_PROG_PKG_CONFIG
Packit 4b6dd7
AX_GENERATE_CHANGELOG
Packit 4b6dd7
Packit 4b6dd7
AC_PATH_PROG([GLIB_GENMARSHAL],[glib-genmarshal])
Packit 4b6dd7
AC_PATH_PROG([GLIB_MKENUMS],[glib-mkenums])
Packit 4b6dd7
Packit 4b6dd7
# Requirements
Packit 4b6dd7
GLIB_REQS=2.44.0
Packit 4b6dd7
GLIB_MIN_REQUIRED=GLIB_VERSION_2_44
Packit 4b6dd7
GLIB_MAX_ALLOWED='(G_ENCODE_VERSION(2, 44))'
Packit 4b6dd7
GIO_REQS=2.44.0
Packit 4b6dd7
SOUP_REQS=2.42.0
Packit 4b6dd7
SOUP_MIN_REQUIRED=SOUP_VERSION_2_42
Packit 4b6dd7
SOUP_MAX_ALLOWED=SOUP_VERSION_2_48
Packit 4b6dd7
OAUTH_REQS=0.9.4
Packit 4b6dd7
GTK_REQS=2.91.2
Packit 4b6dd7
GOA_REQS=3.8
Packit 4b6dd7
JSON_GLIB_REQS=0.15
Packit 4b6dd7
JSON_GLIB_MIN_REQUIRED=JSON_VERSION_1_0
Packit 4b6dd7
JSON_GLIB_MAX_ALLOWED=JSON_VERSION_1_0
Packit 4b6dd7
GDK_PIXBUF_REQS=2.14
Packit 4b6dd7
GDK_PIXBUF_MIN_REQUIRED=GDK_VERSION_2_14
Packit 4b6dd7
GDK_PIXBUF_MAX_ALLOWED=GDK_VERSION_2_14
Packit 4b6dd7
Packit 4b6dd7
# Before making a release, the GDATA_LT_VERSION string should be modified. The string is of the form c:r:a. Follow these instructions sequentially:
Packit 4b6dd7
#
Packit 4b6dd7
#  1. If the library source code has changed at all since the last update, then increment revision (‘c:r:a’ becomes ‘c:r+1:a’).
Packit 4b6dd7
#  2. If any interfaces have been added, removed, or changed since the last update, increment current, and set revision to 0.
Packit 4b6dd7
#  3. If any interfaces have been added since the last public release, then increment age.
Packit 4b6dd7
#  4. If any interfaces have been removed or changed since the last public release, then set age to 0.
Packit 4b6dd7
#
Packit 4b6dd7
# Note that versioning started at 2:0:0 to ensure no conflicts with e-d-s' libgdata library, whose maximum version was 1:0:0
Packit 4b6dd7
GDATA_LT_VERSION=25:0:3
Packit 4b6dd7
AC_SUBST(GDATA_LT_VERSION)
Packit 4b6dd7
Packit 4b6dd7
GDATA_VERSION_MAJOR=gdata_version_major
Packit 4b6dd7
GDATA_VERSION_MINOR=gdata_version_minor
Packit 4b6dd7
GDATA_VERSION_MICRO=gdata_version_micro
Packit 4b6dd7
GDATA_API_VERSION=gdata_api_version_major.gdata_api_version_minor
Packit 4b6dd7
GDATA_API_VERSION_MAJOR=gdata_api_version_major
Packit 4b6dd7
GDATA_API_VERSION_MINOR=gdata_api_version_minor
Packit 4b6dd7
AC_SUBST(GDATA_VERSION_MAJOR)
Packit 4b6dd7
AC_SUBST(GDATA_VERSION_MINOR)
Packit 4b6dd7
AC_SUBST(GDATA_VERSION_MICRO)
Packit 4b6dd7
AC_SUBST(GDATA_API_VERSION)
Packit 4b6dd7
AC_SUBST(GDATA_API_VERSION_MAJOR)
Packit 4b6dd7
AC_SUBST(GDATA_API_VERSION_MINOR)
Packit 4b6dd7
Packit 4b6dd7
GDATA_PACKAGES_PUBLIC="gobject-2.0 glib-2.0 >= $GLIB_REQS gio-2.0 >= $GIO_REQS libxml-2.0 libsoup-2.4 >= $SOUP_REQS json-glib-1.0 >= $JSON_GLIB_REQS"
Packit 4b6dd7
GDATA_PACKAGES_PRIVATE="gthread-2.0 oauth >= $OAUTH_REQS"
Packit 4b6dd7
GDATA_PACKAGES="$GDATA_PACKAGES_PUBLIC $GDATA_PACKAGES_PRIVATE"
Packit 4b6dd7
AC_SUBST([GDATA_PACKAGES_PUBLIC])
Packit 4b6dd7
AC_SUBST([GDATA_PACKAGES_PRIVATE])
Packit 4b6dd7
AC_SUBST([GDATA_PACKAGES])
Packit 4b6dd7
Packit 4b6dd7
PKG_CHECK_MODULES(GDATA, [$GDATA_PACKAGES])
Packit 4b6dd7
Packit 4b6dd7
# Minimum and maximum requirements for GLib and libsoup, etc.
Packit 4b6dd7
GDATA_CFLAGS="$GDATA_CFLAGS -DSOUP_VERSION_MIN_REQUIRED=$SOUP_MIN_REQUIRED -DSOUP_VERSION_MAX_ALLOWED=$SOUP_MAX_ALLOWED"
Packit 4b6dd7
GDATA_CFLAGS="$GDATA_CFLAGS -DGLIB_VERSION_MIN_REQUIRED=$GLIB_MIN_REQUIRED -DGLIB_VERSION_MAX_ALLOWED='"$GLIB_MAX_ALLOWED"'"
Packit 4b6dd7
GDATA_CFLAGS="$GDATA_CFLAGS -DJSON_VERSION_MIN_REQUIRED=$JSON_GLIB_MIN_REQUIRED -DJSON_VERSION_MAX_ALLOWED=$JSON_GLIB_MAX_ALLOWED"
Packit 4b6dd7
Packit 4b6dd7
AC_SUBST(GDATA_CFLAGS)
Packit 4b6dd7
AC_SUBST(GDATA_LIBS)
Packit 4b6dd7
Packit 4b6dd7
# libsoup 2.47.3 is needed for the new SoupServer API; but it contained a bug in
Packit 4b6dd7
# soup_server_set_ssl_cert_file() which was only fixed in 2.55.90.
Packit 4b6dd7
PKG_CHECK_MODULES([LIBSOUP], [libsoup-2.4 >= 2.55.90],
Packit 4b6dd7
                  [have_libsoup_2_55_90=yes], [have_libsoup_2_55_90=no])
Packit 4b6dd7
AS_IF([test "x$have_libsoup_2_55_90" = "xyes"], [
Packit 4b6dd7
	AC_DEFINE([HAVE_LIBSOUP_2_55_90], [1],
Packit 4b6dd7
	          [Define if the new SoupServer API is available])
Packit 4b6dd7
])
Packit 4b6dd7
Packit 4b6dd7
# Optional dependencies
Packit 4b6dd7
PKG_CHECK_MODULES(GDK_PIXBUF, gdk-pixbuf-2.0 >= $GDK_PIXBUF_REQS, have_gdk_pixbuf=yes, have_gdk_pixbuf=no)
Packit 4b6dd7
if test "x$have_gdk_pixbuf" = "xyes"; then
Packit 4b6dd7
	AC_DEFINE(HAVE_GDK_PIXBUF, 1, [Defined if gdk-pixbuf is installed])
Packit 4b6dd7
fi
Packit 4b6dd7
Packit 4b6dd7
# Minimum and maximum requirements for gdk-pixbuf
Packit 4b6dd7
GDK_PIXBUF_CFLAGS="$GDK_PIXBUF_CFLAGS -DGDK_VERSION_MIN_REQUIRED=$GDK_PIXBUF_MIN_REQUIRED -DGDK_VERSION_MAX_ALLOWED=$GDK_PIXBUF_MAX_ALLOWED"
Packit 4b6dd7
Packit 4b6dd7
AC_SUBST(GDK_PIXBUF_CFLAGS)
Packit 4b6dd7
AC_SUBST(GDK_PIXBUF_LIBS)
Packit 4b6dd7
Packit 4b6dd7
PKG_CHECK_MODULES([GTK], [gtk+-3.0 >= $GTK_REQS], [have_gtk=yes], [have_gtk=no])
Packit 4b6dd7
AM_CONDITIONAL([HAVE_GTK], [test "x$have_gtk" = "xyes"])
Packit 4b6dd7
Packit 4b6dd7
# GNOME support, which pulls in gcr-base-3 to provide non-pageable memory
Packit 4b6dd7
AC_MSG_CHECKING(whether to build with GNOME support)
Packit 4b6dd7
AC_ARG_ENABLE(gnome, AS_HELP_STRING([--enable-gnome], [Whether to enable GNOME support]),, enable_gnome=yes)
Packit 4b6dd7
AC_MSG_RESULT($enable_gnome)
Packit 4b6dd7
AM_CONDITIONAL([ENABLE_GNOME], [test "x$enable_gnome" = "xyes"])
Packit 4b6dd7
Packit 4b6dd7
# GNOME Online Accounts support -- only used if GNOME support is also enabled
Packit 4b6dd7
# Pulls in gdata/gdata-goa-authorizer.[ch]
Packit 4b6dd7
AC_MSG_CHECKING(whether to build with GOA support)
Packit 4b6dd7
AC_ARG_ENABLE(goa, AS_HELP_STRING([--enable-goa], [Whether to enable GOA support]),, enable_goa=yes)
Packit 4b6dd7
AC_MSG_RESULT($enable_goa)
Packit 4b6dd7
AM_CONDITIONAL([ENABLE_GOA], [test "x$enable_goa" = "xyes" -a "x$enable_gnome" = "xyes"])
Packit 4b6dd7
Packit 4b6dd7
if test "x$enable_gnome" = "xyes"; then
Packit 4b6dd7
	GNOME_PACKAGES_PUBLIC=""
Packit 4b6dd7
	GNOME_PACKAGES_PRIVATE="gcr-base-3 libxml-2.0"
Packit 4b6dd7
	if test "x$enable_goa" = "xyes"; then
Packit 4b6dd7
		GNOME_PACKAGES_PUBLIC="$GNOME_PACKAGES_PUBLIC"
Packit 4b6dd7
		GNOME_PACKAGES_PRIVATE="$GNOME_PACKAGES_PRIVATE goa-1.0 >= $GOA_REQS"
Packit 4b6dd7
		GOA_ENABLED="true"
Packit 4b6dd7
		AC_DEFINE(HAVE_GOA, 1, [Define if GOA support is enabled])
Packit 4b6dd7
	fi
Packit 4b6dd7
	GNOME_PACKAGES="$GNOME_PACKAGES_PUBLIC $GNOME_PACKAGES_PRIVATE"
Packit 4b6dd7
	AC_DEFINE(HAVE_GNOME, 1, [Defined if GNOME support is enabled])
Packit 4b6dd7
	PKG_CHECK_MODULES([GNOME], [$GNOME_PACKAGES])
Packit 4b6dd7
else
Packit 4b6dd7
	GNOME_PACKAGES_PUBLIC=""
Packit 4b6dd7
	GNOME_PACKAGES_PRIVATE=""
Packit 4b6dd7
	GNOME_PACKAGES=""
Packit 4b6dd7
fi
Packit 4b6dd7
AC_SUBST([GNOME_PACKAGES_PUBLIC])
Packit 4b6dd7
AC_SUBST([GNOME_PACKAGES_PRIVATE])
Packit 4b6dd7
AC_SUBST([GNOME_PACKAGES])
Packit 4b6dd7
AC_SUBST([GOA_ENABLED])
Packit 4b6dd7
Packit 4b6dd7
AC_ARG_ENABLE([always_build_tests],
Packit 4b6dd7
              AS_HELP_STRING([--enable-always-build-tests],
Packit 4b6dd7
                             [Enable always building tests (default: yes)]),,
Packit 4b6dd7
              [enable_always_build_tests=yes])
Packit 4b6dd7
AC_ARG_ENABLE([installed_tests],
Packit 4b6dd7
              AS_HELP_STRING([--enable-installed-tests],
Packit 4b6dd7
                             [Install test programs (default: no)]),,
Packit 4b6dd7
              [enable_installed_tests=no])
Packit 4b6dd7
Packit 4b6dd7
AM_CONDITIONAL([ENABLE_ALWAYS_BUILD_TESTS],
Packit 4b6dd7
               [test "$enable_always_build_tests" = "yes"])
Packit 4b6dd7
AC_SUBST([ENABLE_ALWAYS_BUILD_TESTS],[$enable_always_build_tests])
Packit 4b6dd7
Packit 4b6dd7
AM_CONDITIONAL([ENABLE_INSTALLED_TESTS],
Packit 4b6dd7
               [test "$enable_installed_tests" = "yes"])
Packit 4b6dd7
AC_SUBST([ENABLE_INSTALLED_TESTS],[$enable_installed_tests])
Packit 4b6dd7
Packit 4b6dd7
AS_IF([test "$enable_always_build_tests" = "yes" ||
Packit 4b6dd7
       test "$enable_installed_tests" = "yes"],[
Packit 4b6dd7
	PKG_CHECK_MODULES([UHTTPMOCK],[libuhttpmock-0.0 >= 0.5.0])
Packit 4b6dd7
])
Packit 4b6dd7
Packit 4b6dd7
# Various necessary functions and headers
Packit 4b6dd7
AC_CHECK_FUNCS([memset])
Packit 4b6dd7
AC_CHECK_FUNCS([setlocale])
Packit 4b6dd7
AC_CHECK_FUNCS([strchr])
Packit 4b6dd7
AC_CHECK_FUNCS([strstr])
Packit 4b6dd7
AC_CHECK_HEADERS([sys/time.h])
Packit 4b6dd7
AC_CHECK_HEADERS([arpa/inet.h])
Packit 4b6dd7
AC_CHECK_HEADERS([locale.h])
Packit 4b6dd7
AC_CHECK_HEADERS([netinet/in.h])
Packit 4b6dd7
AC_CHECK_HEADERS([sys/socket.h])
Packit 4b6dd7
Packit 4b6dd7
# Internationalisation support
Packit 4b6dd7
GETTEXT_PACKAGE=gdata
Packit 4b6dd7
AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, ["$GETTEXT_PACKAGE"], [Define to the Gettext package name])
Packit 4b6dd7
AC_SUBST(GETTEXT_PACKAGE)
Packit 4b6dd7
IT_PROG_INTLTOOL([0.40.0])
Packit 4b6dd7
Packit 4b6dd7
# Code coverage
Packit 4b6dd7
AX_CODE_COVERAGE
Packit 4b6dd7
Packit 4b6dd7
# General macros
Packit 4b6dd7
AX_COMPILER_FLAGS([WARN_CFLAGS],[WARN_LDFLAGS],[$ax_is_release],
Packit 4b6dd7
                  [],[-Wunsafe-loop-optimizations])
Packit 4b6dd7
Packit 4b6dd7
GOBJECT_INTROSPECTION_CHECK([0.9.7])
Packit 4b6dd7
Packit 4b6dd7
VAPIGEN_CHECK()
Packit 4b6dd7
Packit 4b6dd7
AC_SUBST([AM_CPPFLAGS])
Packit 4b6dd7
AC_SUBST([AM_CFLAGS])
Packit 4b6dd7
AC_SUBST([AM_CXXFLAGS])
Packit 4b6dd7
AC_SUBST([AM_LDFLAGS])
Packit 4b6dd7
Packit 4b6dd7
GTK_DOC_CHECK([1.25],[--flavour no-tmpl])
Packit 4b6dd7
Packit 4b6dd7
AC_CONFIG_FILES([
Packit 4b6dd7
Makefile
Packit 4b6dd7
libgdata.pc
Packit 4b6dd7
gdata/gdata-version.h
Packit 4b6dd7
gdata/tests/Makefile
Packit 4b6dd7
po/Makefile.in
Packit 4b6dd7
docs/Makefile
Packit 4b6dd7
docs/reference/Makefile
Packit 4b6dd7
])
Packit 4b6dd7
AC_OUTPUT