#
# configure.ac
#
# Author: Iago Toral Quiroga <itoral@igalia.com>
#
# Copyright (C) 2010, 2011 Igalia S.L.. All rights reserved.
m4_define([prj_name], [grilo])
m4_define([prj_gir_name], [Grilo])
m4_define([grl_major_version], [0])
m4_define([grl_minor_version], [3])
m4_define([grl_micro_version], [6])
m4_define([prj_version], grl_major_version.grl_minor_version.grl_micro_version)
AC_INIT([prj_name],
[prj_version],
[http://bugzilla.gnome.org/enter_bug.cgi?product=grilo;component=core],
[prj_name],
[https://wiki.gnome.org/Projects/Grilo])
AM_INIT_AUTOMAKE([foreign subdir-objects dist-xz no-dist-gzip])
AC_CONFIG_MACRO_DIR([m4])
AC_CONFIG_SRCDIR([src/grilo.h])
AC_CONFIG_HEADERS([config.h])
AC_PROG_AWK
AC_PROG_CC
AC_PROG_INSTALL
LT_PREREQ([2.2.6])
LT_INIT
AM_PROG_CC_C_O
AC_HEADER_STDC
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
# Grilo Net library
GRLNET_VERSION=grl_major_version.grl_minor_version.grl_micro_version
AC_SUBST(GRLNET_VERSION)
AC_DEFINE_UNQUOTED(GRLNET_VERSION, "$GRLNET_VERSION", [Grilo Net library version])
# Grilo Pls library
GRLPLS_VERSION=grl_major_version.grl_minor_version.grl_micro_version
AC_SUBST(GRLPLS_VERSION)
AC_DEFINE_UNQUOTED(GRLPLS_VERSION, "$GRLPLS_VERSION", [Grilo Pls library version])
# ----------------------------------------------------------
# LIBTOOL VERSIONING
# ----------------------------------------------------------
# Libtool library version, not to confuse with API version
# see http://www.gnu.org/software/libtool/manual/html_node/Libtool-versioning.html
GRL_LT_VERSION=2:0:2
GRLNET_LT_VERSION=0:5:0
GRLPLS_LT_VERSION=0:0:0
AC_SUBST([GRL_LT_VERSION])
AC_SUBST([GRLNET_LT_VERSION])
AC_SUBST([GRLPLS_LT_VERSION])
# ----------------------------------------------------------
# ENVIRONMENT CONFIGURATION
# ----------------------------------------------------------
GNOME_COMPILE_WARNINGS([maximum])
CFLAGS+=" ${WARN_CFLAGS} -Wmissing-declarations -std=c99 "
GNOME_MAINTAINER_MODE_DEFINES
# ----------------------------------------------------------
# DEFINITIONS
# ----------------------------------------------------------
# API version
GRL_MAJORMINOR=grl_major_version.grl_minor_version
GRL_MAJORMINOR_NORM=grl_major_version[_]grl_minor_version
AC_SUBST(GRL_MAJORMINOR)
AC_SUBST(GRL_MAJORMINOR_NORM)
AC_DEFINE_UNQUOTED(GRL_MAJORMINOR, "$GRL_MAJORMINOR", [library major.minor version])
# Framework name (contains API version)
GRL_NAME="${PACKAGE_NAME}-${GRL_MAJORMINOR}"
AC_SUBST(GRL_NAME)
AC_DEFINE_UNQUOTED(GRL_NAME, "$GRL_NAME", [framework name])
# Give parameters a default value
if test "x${prefix}" = "xNONE" ; then
prefix="${ac_default_prefix}"
fi
if test "x${exec_prefix}" = "xNONE" ; then
exec_prefix="${prefix}"
fi
# Plugins directory
GRL_PLUGINS_DIR=`eval echo ${libdir}/${GRL_NAME}`
AC_SUBST(GRL_PLUGINS_DIR)
AC_DEFINE_UNQUOTED(GRL_PLUGINS_DIR, "$GRL_PLUGINS_DIR", [Plugins directory])
# ----------------------------------------------------------
# DEPENDENCIES
# ----------------------------------------------------------
GLIB2_REQUIRED=2.44
PKG_CHECK_MODULES(DEPS, glib-2.0 >= $GLIB2_REQUIRED \
gobject-2.0 >= $GLIB2_REQUIRED \
gmodule-2.0 >= $GLIB2_REQUIRED \
gio-2.0 >= $GLIB2_REQUIRED \
libxml-2.0)
GLIB_GENMARSHAL=`pkg-config --variable=glib_genmarshal glib-2.0`
GLIB_MKENUMS=`pkg-config --variable=glib_mkenums glib-2.0`
AC_SUBST(GLIB_GENMARSHAL)
AC_SUBST(GLIB_MKENUMS)
# ----------------------------------------------------------
# UI Tool
# ----------------------------------------------------------
PKG_CHECK_MODULES([GTU], [ gtk+-3.0 >= 3.0 ],
[ HAVE_GTK=yes ],
[ HAVE_GTK=no ])
PKG_CHECK_MODULES(OAUTH, oauth, [HAVE_OAUTH=yes], [HAVE_OAUTH=no])
AM_CONDITIONAL(HAVE_OAUTH, test "x$HAVE_OAUTH" = "xyes")
if test "x$HAVE_OAUTH" = "xyes"; then
AC_DEFINE(HAVE_OAUTH, 1, [OAuth available])
else
AC_MSG_WARN([oauth missing, unable to configure Flickr personal accounts])
fi
AC_ARG_ENABLE(test-ui,
AS_HELP_STRING([--enable-test-ui],
[Build Test UI (default: auto)]),
[
case "$enableval" in
yes)
if test "x$HAVE_GTK" = "xno"; then
AC_MSG_ERROR([gtk+-3.0 >= 3.0 not found, install it or use --disable-test-ui])
fi
;;
no)
HAVE_GTK=no
;;
esac
])
AM_CONDITIONAL(BUILD_GRILO_TEST_UI, test "x$HAVE_GTK" = "xyes")
# ----------------------------------------------------------
# NET LIBRARY
# ----------------------------------------------------------
PKG_CHECK_MODULES(NET, libsoup-2.4 >= 2.41.3,
HAVE_LIBSOUP=yes,
HAVE_LIBSOUP=no)
AC_ARG_ENABLE([grl_net],
AS_HELP_STRING([--enable-grl-net],
[Enable Grilo Net library (default: auto)]),
[
case "$enableval" in
yes | auto)
if test "x$HAVE_LIBSOUP" = "xno"; then
AC_MSG_ERROR([libsoup-2.4 not found, install it or use --disable-grl-net])
fi
;;
no)
HAVE_LIBSOUP=no
;;
esac
])
AM_CONDITIONAL(BUILD_GRILO_NET, test "x$HAVE_LIBSOUP" = "xyes")
# ----------------------------------------------------------
# PLS LIBRARY
# ----------------------------------------------------------
PKG_CHECK_MODULES(TOTEM_PL_PARSER, totem-plparser >= 3.4.1, HAVE_TOTEM_PL_PARSER=yes, HAVE_TOTEM_PL_PARSER=no)
AC_ARG_ENABLE([grl_pls],
AS_HELP_STRING([--enable-grl-pls],
[Enable Grilo Pls library (default: auto)]),
[
case "$enableval" in
yes | auto)
if test "x$HAVE_TOTEM_PL_PARSER" = "xno"; then
AC_MSG_ERROR([totem-pl-parser not found, install it or use --disable-grl-pls])
fi
;;
no)
HAVE_TOTEM_PL_PARSER=no
;;
esac
])
AM_CONDITIONAL(BUILD_GRILO_PLS, test "x$HAVE_TOTEM_PL_PARSER" = "xyes")
# ----------------------------------------------------------
# DEBUG SUPPORT
# ----------------------------------------------------------
AC_ARG_ENABLE(debug,
[ --enable-debug include debug symbols],,
enable_debug=yes)
if test "x$enable_debug" = "xyes"; then
AC_MSG_WARN("Configuring with debugging options enabled!")
CFLAGS="$CFLAGS -g3 -O0"
fi
# ----------------------------------------------------------
# TESTS SUPPORT
# ----------------------------------------------------------
AC_ARG_ENABLE([tests],
AS_HELP_STRING([--enable-tests],[build unit tests]),
enable_tests=yes,
enable_tests=no)
AM_CONDITIONAL(ENABLE_TESTS, test "x$enable_tests" = "xyes")
# ----------------------------------------------------------
# GTK-DOC
# ----------------------------------------------------------
GTK_DOC_CHECK([1.10],[--flavour no-tmpl])
# ----------------------------------------------------------
# GOBJECT-INTROSPECTION
# ----------------------------------------------------------
GOBJECT_INTROSPECTION_CHECK([0.9])
# ----------------------------------------------------------
# VALA BINDINGS
# ----------------------------------------------------------
VAPIGEN_CHECK([0.27])
# ----------------------------------------------------------
# GETTEXT/INTLTOOL
# ----------------------------------------------------------
IT_PROG_INTLTOOL([0.40.0])
GETTEXT_PACKAGE=grilo
AC_SUBST(GETTEXT_PACKAGE)
AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE", [The domain to use with gettext])
# ----------------------------------------------------------
# WORKAROUNDS
# ----------------------------------------------------------
AC_SUBST([abs_top_builddir])
AC_SUBST([builddir])
# ----------------------------------------------------------
# OUTPUT
# ----------------------------------------------------------
if test "x$HAVE_LIBSOUP" = "xyes"; then
AC_CONFIG_FILES([grilo-net-uninstalled.pc grilo-net-${GRL_MAJORMINOR}.pc])
fi
if test "x$HAVE_TOTEM_PL_PARSER" = "xyes"; then
AC_CONFIG_FILES([grilo-pls-uninstalled.pc grilo-pls-${GRL_MAJORMINOR}.pc])
fi
AC_CONFIG_FILES([
Makefile
grilo-uninstalled.pc
grilo-${GRL_MAJORMINOR}.pc
src/Makefile
src/data/Makefile
po/Makefile.in
po/Makefile
tests/Makefile
tests/python/Makefile
tests/python/util.py
libs/Makefile
libs/net/Makefile
libs/pls/Makefile
tools/Makefile
tools/grilo-test-ui/Makefile
tools/grilo-inspect/Makefile
tools/grilo-launch/Makefile
bindings/Makefile
bindings/vala/Makefile
doc/Makefile
doc/grilo/Makefile
doc/man/Makefile
examples/Makefile
])
AC_OUTPUT
echo "
Configuration
Version : ${VERSION}
Prefix : ${prefix}
Compiler : ${CC}
Enable debug : ${enable_debug}
Enable tests : ${enable_tests}
Enable docs : ${enable_gtk_doc}
Introspection support : ${found_introspection}
Vala support : ${enable_vala}
Enable Test UI : ${HAVE_GTK}
GrlNet support : ${HAVE_LIBSOUP}
GrlPls support : ${HAVE_TOTEM_PL_PARSER}
"