mirror of
https://github.com/elementary/gala.git
synced 2024-11-12 23:26:19 +03:00
281 lines
8.9 KiB
Plaintext
281 lines
8.9 KiB
Plaintext
# If not 1, append revision to the version number and enable other development stuff
|
|
m4_define([gala_released], [0])
|
|
|
|
m4_define([gala_major_version], [0])
|
|
m4_define([gala_minor_version], [2])
|
|
m4_define([gala_micro_version], [0])
|
|
m4_define([gala_nano_version], [0])
|
|
|
|
# If library source has changed since last release, increment revision
|
|
# If interfaces have been removed or changed since last release,
|
|
# increment current and set revision to 0
|
|
# If interfaces have been added since last release, increment age
|
|
# If interfaces have been removed since last release, set age to 0
|
|
m4_define([gala_lt_current], [0])
|
|
m4_define([gala_lt_revision], [0])
|
|
m4_define([gala_lt_age], [0])
|
|
|
|
# Display the nano_version only if it's not '0'
|
|
m4_define([gala_base_version],
|
|
gala_major_version.gala_minor_version.gala_micro_version)
|
|
m4_define([gala_full_version],
|
|
[m4_if(gala_nano_version, [0],
|
|
gala_base_version, gala_base_version.gala_nano_version)])
|
|
|
|
# Extend version with bzr revision for non-release builds
|
|
m4_define([gala_version], m4_if(gala_released, [1],
|
|
[gala_full_version], [m4_esyscmd([build-aux/bzr-version-gen gala_full_version])]))
|
|
m4_define([gala_major_minor_version], gala_major_version.gala_minor_version)
|
|
m4_define([gala_module_version], gala_lt_current)
|
|
|
|
AC_INIT([gala], gala_version,
|
|
[https://bugs.launchpad.net/gala], [gala],
|
|
[https://launchpad.net/gala])
|
|
AC_DEFINE(RELEASE_NAME, "Window Manager.", Codename of this release)
|
|
AC_DEFINE(VERSION_INFO, m4_if(gala_released, [1], "Release", "Development"), Version info for package)
|
|
|
|
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
|
|
|
|
AC_PREREQ([2.65])
|
|
|
|
AC_CONFIG_MACRO_DIR([m4])
|
|
AC_CONFIG_AUX_DIR([build-aux])
|
|
AC_CONFIG_SRCDIR([Makefile.am])
|
|
AC_CONFIG_HEADERS(config.h)
|
|
AC_CONFIG_SRCDIR([configure.ac])
|
|
AM_INIT_AUTOMAKE([1.11 tar-ustar dist-xz no-dist-gzip -Wno-portability subdir-objects])
|
|
AM_MAINTAINER_MODE
|
|
|
|
AC_PROG_CC
|
|
AM_PROG_CC_C_O
|
|
AC_DISABLE_STATIC
|
|
LT_INIT
|
|
PKG_PROG_PKG_CONFIG([0.21])
|
|
|
|
GLIB_GSETTINGS
|
|
|
|
AC_SUBST([CFLAGS])
|
|
AC_SUBST([CPPFLAGS])
|
|
AC_SUBST([LDFLAGS])
|
|
|
|
LT_CURRENT=gala_lt_current
|
|
LT_REVISION=gala_lt_revision
|
|
LT_AGE=gala_lt_age
|
|
AC_SUBST([LT_CURRENT])
|
|
AC_SUBST([LT_REVISION])
|
|
AC_SUBST([LT_AGE])
|
|
|
|
GALA_MAJOR_MINOR_VERSION=gala_major_minor_version
|
|
AC_SUBST([GALA_MAJOR_MINOR_VERSION])
|
|
|
|
API_VERSION=0.2
|
|
AC_SUBST([API_VERSION])
|
|
|
|
|
|
# -----------------------------------------------------------
|
|
# Vala
|
|
# -----------------------------------------------------------
|
|
VALA_MIN_VERSION=0.22.0
|
|
|
|
AM_PROG_VALAC([$VALA_MIN_VERSION])
|
|
if test "x$VALAC" = "x"; then
|
|
AC_MSG_ERROR([Vala requested but valac >= $VALA_MIN_VERSION is not installed])
|
|
fi
|
|
|
|
AC_PATH_PROG([VAPIGEN], [vapigen], [])
|
|
if test "x$VAPIGEN" = "x"; then
|
|
AC_MSG_ERROR([Vala must be built with --enable-vapigen])
|
|
fi
|
|
|
|
# -----------------------------------------------------------
|
|
# Dependencies
|
|
# -----------------------------------------------------------
|
|
GTK_MIN_VERSION=3.4.0
|
|
GLIB_MIN_VERSION=2.32.0
|
|
PLANK_MIN_VERSION=0.3.0
|
|
MUTTER_MIN_VERSION=3.8.4
|
|
MUTTER_API="3.8"
|
|
|
|
GALA_CORE_PKGS="gobject-2.0 >= $GLIB_MIN_VERSION \
|
|
glib-2.0 >= $GLIB_MIN_VERSION \
|
|
gio-2.0 >= $GLIB_MIN_VERSION \
|
|
gio-unix-2.0 >= $GLIB_MIN_VERSION \
|
|
gmodule-2.0 \
|
|
gtk+-3.0 >= $GTK_MIN_VERSION \
|
|
gdk-x11-3.0 >= $GTK_MIN_VERSION \
|
|
libbamf3 \
|
|
clutter-1.0 \
|
|
clutter-gtk-1.0 \
|
|
granite \
|
|
libmutter >= $MUTTER_MIN_VERSION \
|
|
gee-0.8 \
|
|
gnome-desktop-3.0 \
|
|
plank >= $PLANK_MIN_VERSION"
|
|
|
|
GALA_CORE_VALA_PKGS="--pkg gio-unix-2.0 \
|
|
--pkg gmodule-2.0 \
|
|
--pkg gtk+-3.0 \
|
|
--pkg gdk-x11-3.0 \
|
|
--pkg libbamf3 \
|
|
--pkg libmutter \
|
|
--pkg clutter-1.0 \
|
|
--pkg clutter-gtk-1.0 \
|
|
--pkg granite \
|
|
--pkg gee-0.8 \
|
|
--pkg gdesktopenums-3.0 \
|
|
--pkg gnome-desktop-3.0 \
|
|
--pkg xfixes-4.0 \
|
|
--pkg plank"
|
|
|
|
VALAFLAGS="--target-glib=2.32"
|
|
VALAFLAGS_CORE="--thread"
|
|
|
|
PKG_CHECK_MODULES(GALA_CORE, $GALA_CORE_PKGS)
|
|
|
|
# Plugins
|
|
PLUGIN_LDFLAGS="-module -avoid-version"
|
|
AC_SUBST([PLUGIN_LDFLAGS])
|
|
|
|
# -----------------------------------------------------------
|
|
# Optional Dependencies
|
|
# -----------------------------------------------------------
|
|
|
|
# 3.10
|
|
PKG_CHECK_MODULES(MUTTER310, [libmutter >= 3.9], [have_mutter310=yes], [have_mutter310=no])
|
|
if test "x$have_mutter310" = "xyes" ; then
|
|
PKG_CHECK_MODULES(MUTTER310, [libmutter >= 3.10.4])
|
|
VALAFLAGS="$VALAFLAGS --define HAS_MUTTER310"
|
|
MUTTER_API="3.10"
|
|
fi
|
|
|
|
# 3.12
|
|
PKG_CHECK_MODULES(MUTTER312, [libmutter >= 3.11], [have_mutter312=yes], [have_mutter312=no])
|
|
if test "x$have_mutter312" = "xyes" ; then
|
|
PKG_CHECK_MODULES(MUTTER312, [libmutter >= 3.12.2])
|
|
VALAFLAGS="$VALAFLAGS --define HAS_MUTTER312"
|
|
MUTTER_API="3.12"
|
|
fi
|
|
|
|
# 3.14
|
|
PKG_CHECK_MODULES(MUTTER314, [libmutter >= 3.13], [have_mutter314=yes], [have_mutter314=no])
|
|
if test "x$have_mutter314" = "xyes" ; then
|
|
PKG_CHECK_MODULES(MUTTER314, [libmutter >= 3.14.0])
|
|
VALAFLAGS="$VALAFLAGS --define HAS_MUTTER314"
|
|
MUTTER_API="3.14"
|
|
fi
|
|
AM_CONDITIONAL([HAVE_MUTTER314], [test "x$have_mutter314" = "xyes"])
|
|
|
|
# 3.16
|
|
PKG_CHECK_MODULES(MUTTER316, [libmutter >= 3.15], [have_mutter316=yes], [have_mutter316=no])
|
|
if test "x$have_mutter316" = "xyes" ; then
|
|
PKG_CHECK_MODULES(MUTTER316, [libmutter >= 3.15.2])
|
|
VALAFLAGS="$VALAFLAGS --define HAS_MUTTER316"
|
|
MUTTER_API="3.16"
|
|
fi
|
|
|
|
# -----------------------------------------------------------
|
|
# Dependencies for Notifications plugin
|
|
# -----------------------------------------------------------
|
|
|
|
NOTIFICATION_PLUGIN_PKGS="libcanberra \
|
|
libcanberra-gtk3"
|
|
|
|
NOTIFICATION_PLUGIN_VALA_PKGS="--pkg libcanberra \
|
|
--pkg libcanberra-gtk"
|
|
|
|
PKG_CHECK_MODULES(NOTIFICAION_PLUGIN, $NOTIFICATION_PLUGIN_PKGS)
|
|
|
|
AC_SUBST([NOTIFICATION_PLUGIN_VALA_PKGS])
|
|
|
|
# -----------------------------------------------------------
|
|
# Additional configure flags
|
|
# -----------------------------------------------------------
|
|
|
|
# Enable Vala debug-flag by default for non-release builds
|
|
AC_ARG_ENABLE([debug],
|
|
AS_HELP_STRING([--disable-debug],[compile without debug code]),
|
|
[enable_debug=$enableval], [m4_if(gala_released, [1], [enable_debug=no], [enable_debug=yes])])
|
|
if test "x$enable_debug" = "xyes" ; then
|
|
VALAFLAGS_CORE="$VALAFLAGS_CORE -g"
|
|
fi
|
|
|
|
GALA_CORE_VALAFLAGS="$VALAFLAGS $VALAFLAGS_CORE $GALA_CORE_VALA_PKGS"
|
|
AC_SUBST(GALA_CORE_VALAFLAGS)
|
|
GALA_DOCS_VALAFLAGS="$VALAFLAGS $GALA_CORE_VALA_PKGS"
|
|
AC_SUBST(GALA_DOCS_VALAFLAGS)
|
|
|
|
# -----------------------------------------------------------
|
|
# Additional build flags
|
|
# -----------------------------------------------------------
|
|
|
|
# Use RUNPATH instead of RPATH if needed
|
|
CFLAGS="$CFLAGS -Wl,--enable-new-dtags"
|
|
|
|
# -----------------------------------------------------------
|
|
# Documentation
|
|
# -----------------------------------------------------------
|
|
VALADOC_MIN_VERSION=0.3.1
|
|
|
|
AC_ARG_ENABLE([docs],
|
|
AS_HELP_STRING([--enable-docs],[Enable documentation generation]),
|
|
[enable_docs=$enableval], [enable_docs=no])
|
|
AM_CONDITIONAL([ENABLE_DOCS], [test "x$enable_docs" = "xyes"])
|
|
|
|
have_valadoc=no
|
|
if test "x$enable_docs" = "xyes"; then
|
|
# make sure the library is new enough and the program exists
|
|
PKG_CHECK_MODULES([VALADOC], [valadoc-1.0 >= $VALADOC_MIN_VERSION])
|
|
AC_PATH_PROG([VALADOC], [valadoc], [:])
|
|
AS_IF([test "$VALADOC" != :], have_valadoc=yes)
|
|
fi
|
|
AM_CONDITIONAL([HAVE_VALADOC], [test "x$have_valadoc" = "xyes"])
|
|
|
|
if test "x$enable_docs" = "xyes" -a "x$have_valadoc" != "xyes"; then
|
|
AC_MSG_ERROR([Doc building requested but valadoc not installed.])
|
|
fi
|
|
|
|
|
|
# -----------------------------------------------------------
|
|
# Gettext
|
|
# -----------------------------------------------------------
|
|
GETTEXT_PACKAGE=AC_PACKAGE_NAME
|
|
AC_SUBST(GETTEXT_PACKAGE)
|
|
AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, ["$GETTEXT_PACKAGE"], [Define the gettext package to be used])
|
|
IT_PROG_INTLTOOL([0.35.0])
|
|
|
|
|
|
# -----------------------------------------------------------
|
|
# Final output
|
|
# -----------------------------------------------------------
|
|
AC_CONFIG_FILES([
|
|
Makefile
|
|
src/Makefile
|
|
lib/Makefile
|
|
lib/gala.pc
|
|
docs/Makefile
|
|
data/Makefile
|
|
data/org.pantheon.desktop.gala.gschema.xml.in
|
|
data/icons/Makefile
|
|
vapi/Makefile
|
|
plugins/Makefile
|
|
plugins/maskcorners/Makefile
|
|
plugins/notify/Makefile
|
|
plugins/zoom/Makefile
|
|
po/Makefile.in
|
|
])
|
|
|
|
AC_OUTPUT
|
|
|
|
echo "
|
|
${PACKAGE} ${VERSION}
|
|
|
|
Prefix......................: ${prefix}
|
|
Vala Compiler...............: ${VALAC}
|
|
Vala Flags..................: ${VALAFLAGS}
|
|
C Compiler Flags............: ${CFLAGS}
|
|
|
|
Using Mutter................: ${MUTTER_API}
|
|
|
|
Documentation...............: ${have_valadoc}
|
|
"
|