mirror of
https://github.com/brl/mutter.git
synced 2024-11-21 07:30:42 -05:00
Drop Autotools
I saw Meson fade from the sky On the wind I heard a sigh As snowflakes cover fallen Makefiles I will say this last goodbye Meson is now coming So ends Autotools days Future is now coming And we must away Over Python and without Bashisms Through lands where never Meson touched By silver streams that run down to the Sea Under parsers, beneath old legacy Over snow one winter’s morn I turned at last to paths that lead home And though where the road then takes me I cannot tell We came all this way But now comes the day To bid you farewell Many places I have been Many sorrows I have seen But I don’t regret Nor will I forget All Makefiles that took that road with me I bid you all a very fond farewell.
This commit is contained in:
parent
582b67a2f1
commit
763ae36cee
13
Makefile.am
13
Makefile.am
@ -1,13 +0,0 @@
|
||||
pkgdatadir = $(datadir)/mutter-$(LIBMUTTER_API_VERSION)
|
||||
pkglibdir = $(libdir)/mutter-$(LIBMUTTER_API_VERSION)
|
||||
|
||||
SUBDIRS = cogl clutter data src po doc
|
||||
|
||||
ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS}
|
||||
|
||||
DISTCLEANFILES = \
|
||||
intltool-extract \
|
||||
intltool-merge \
|
||||
intltool-update \
|
||||
po/stamp-it \
|
||||
po/.intltool-merge-cache
|
27
autogen.sh
27
autogen.sh
@ -1,27 +0,0 @@
|
||||
#!/bin/sh
|
||||
# Run this to generate all the initial makefiles, etc.
|
||||
|
||||
srcdir=`dirname $0`
|
||||
test -z "$srcdir" && srcdir=.
|
||||
|
||||
REQUIRED_AUTOMAKE_VERSION=1.11
|
||||
|
||||
olddir="$(pwd)"
|
||||
|
||||
cd "${srcdir}"
|
||||
|
||||
(test -f configure.ac \
|
||||
&& test -d src) || {
|
||||
echo -n "**Error**: Directory "\`$srcdir\'" does not look like the"
|
||||
echo " top-level mutter directory"
|
||||
exit 1
|
||||
}
|
||||
|
||||
aclocal --install || exit 1
|
||||
autoreconf --verbose --force --install || exit 1
|
||||
|
||||
cd "${olddir}"
|
||||
|
||||
if [ "$NOCONFIGURE" = "" ]; then
|
||||
"${srcdir}/configure" "$@" || exit 1
|
||||
fi
|
@ -1,49 +0,0 @@
|
||||
NULL =
|
||||
|
||||
SUBDIRS = build clutter tests
|
||||
|
||||
DIST_SUBDIRS = clutter tests build
|
||||
|
||||
# XXX - this is a massive hack to make autoreconf honour the ACLOCAL_FLAGS
|
||||
# that jhbuild sets while still retaining build/autotools as the authoritative
|
||||
# source for m4 macros
|
||||
ACLOCAL_AMFLAGS = -I build/autotools ${ACLOCAL_FLAGS}
|
||||
|
||||
CLEANFILES = $(pcfiles)
|
||||
|
||||
DISTCLEANFILES =
|
||||
|
||||
DISTCHECK_CONFIGURE_FLAGS = --enable-maintainer-flags
|
||||
|
||||
# proxy rules for tests
|
||||
test-report full-report:
|
||||
$(MAKE) -C tests/conform $(@)
|
||||
|
||||
perf-report:
|
||||
$(MAKE) -C tests/performance $(@)
|
||||
|
||||
if ENABLE_GCOV
|
||||
# use recursive makes in order to ignore errors during check/perf
|
||||
lcov:
|
||||
-$(MAKE) $(AM_MAKEFLAGS) -C clutter check
|
||||
-$(MAKE) $(AM_MAKEFLAGS) -C tests/conform test
|
||||
$(MAKE) $(AM_MAKEFLAGS) genlcov
|
||||
|
||||
# we have to massage the lcov.info file slightly to hide the effect of libtool
|
||||
# placing the objects files in the .libs/ directory separate from the *.c
|
||||
genlcov:
|
||||
$(LTP) --directory $(top_builddir) --capture --output-file clutter-lcov.info --test-name CLUTTER_TEST --no-checksum
|
||||
$(SED) -e 's#.libs/##' < clutter-lcov.info > clutter-lcov.info.tmp
|
||||
LANG=C $(LTP_GENHTML) --prefix $(top_builddir) --output-directory clutter-lcov --title "Clutter Code Coverage" --show-details clutter-lcov.info.tmp
|
||||
rm -f clutter-lcov.info.tmp
|
||||
|
||||
lcov-clean:
|
||||
-$(LTP) --directory $(top_builddir) -z
|
||||
-$(RM) -rf clutter-lcov.info clutter-lcov
|
||||
else
|
||||
lcov genlcov lcov-clean:
|
||||
@echo You need to configure Clutter with support for gcov enabled.
|
||||
@echo e.g., ./configure --enable-gcov
|
||||
endif
|
||||
|
||||
.PHONY: test-report full-report perf-report lcov genlcov lcov-clean
|
@ -1 +0,0 @@
|
||||
SUBDIRS = autotools
|
8
clutter/build/autotools/.gitignore
vendored
8
clutter/build/autotools/.gitignore
vendored
@ -1,8 +0,0 @@
|
||||
gtk-doc.m4
|
||||
libtool.m4
|
||||
ltoptions.m4
|
||||
ltsugar.m4
|
||||
ltversion.m4
|
||||
lt~obsolete.m4
|
||||
shave
|
||||
shave-libtool
|
@ -1,10 +0,0 @@
|
||||
NULL =
|
||||
|
||||
EXTRA_DIST = \
|
||||
introspection.m4 \
|
||||
as-compiler-flag.m4 \
|
||||
glibtests.m4 \
|
||||
glib-tap.mk \
|
||||
tap-driver.sh \
|
||||
tap-test \
|
||||
$(NULL)
|
@ -1,62 +0,0 @@
|
||||
dnl as-compiler-flag.m4 0.1.0
|
||||
|
||||
dnl autostars m4 macro for detection of compiler flags
|
||||
|
||||
dnl David Schleef <ds@schleef.org>
|
||||
|
||||
dnl $Id: as-compiler-flag.m4,v 1.1 2005/12/15 23:35:19 ds Exp $
|
||||
|
||||
dnl AS_COMPILER_FLAG(CFLAGS, ACTION-IF-ACCEPTED, [ACTION-IF-NOT-ACCEPTED])
|
||||
dnl Tries to compile with the given CFLAGS.
|
||||
dnl Runs ACTION-IF-ACCEPTED if the compiler can compile with the flags,
|
||||
dnl and ACTION-IF-NOT-ACCEPTED otherwise.
|
||||
|
||||
AC_DEFUN([AS_COMPILER_FLAG],
|
||||
[
|
||||
AC_MSG_CHECKING([to see if compiler understands $1])
|
||||
|
||||
save_CFLAGS="$CFLAGS"
|
||||
CFLAGS="$CFLAGS $1"
|
||||
|
||||
AC_TRY_COMPILE([ ], [], [flag_ok=yes], [flag_ok=no])
|
||||
CFLAGS="$save_CFLAGS"
|
||||
|
||||
if test "X$flag_ok" = Xyes ; then
|
||||
m4_ifvaln([$2],[$2])
|
||||
true
|
||||
else
|
||||
m4_ifvaln([$3],[$3])
|
||||
true
|
||||
fi
|
||||
AC_MSG_RESULT([$flag_ok])
|
||||
])
|
||||
|
||||
dnl AS_COMPILER_FLAGS(VAR, FLAGS)
|
||||
dnl Tries to compile with the given CFLAGS.
|
||||
|
||||
AC_DEFUN([AS_COMPILER_FLAGS],
|
||||
[
|
||||
list=$2
|
||||
flags_supported=""
|
||||
flags_unsupported=""
|
||||
AC_MSG_CHECKING([for supported compiler flags])
|
||||
for each in $list
|
||||
do
|
||||
save_CFLAGS="$CFLAGS"
|
||||
CFLAGS="$CFLAGS $each"
|
||||
AC_TRY_COMPILE([ ], [], [flag_ok=yes], [flag_ok=no])
|
||||
CFLAGS="$save_CFLAGS"
|
||||
|
||||
if test "X$flag_ok" = Xyes ; then
|
||||
flags_supported="$flags_supported $each"
|
||||
else
|
||||
flags_unsupported="$flags_unsupported $each"
|
||||
fi
|
||||
done
|
||||
AC_MSG_RESULT([$flags_supported])
|
||||
if test "X$flags_unsupported" != X ; then
|
||||
AC_MSG_WARN([unsupported compiler flags: $flags_unsupported])
|
||||
fi
|
||||
$1="$$1 $flags_supported"
|
||||
])
|
||||
|
@ -1,134 +0,0 @@
|
||||
# GLIB - Library of useful C routines
|
||||
|
||||
TESTS_ENVIRONMENT= \
|
||||
G_TEST_SRCDIR="$(abs_srcdir)" \
|
||||
G_TEST_BUILDDIR="$(abs_builddir)" \
|
||||
G_DEBUG=gc-friendly \
|
||||
MALLOC_CHECK_=2 \
|
||||
MALLOC_PERTURB_=$$(($${RANDOM:-256} % 256))
|
||||
LOG_DRIVER = env AM_TAP_AWK='$(AWK)' $(SHELL) $(top_srcdir)/build/autotools/tap-driver.sh
|
||||
LOG_COMPILER = $(top_srcdir)/build/autotools/tap-test
|
||||
|
||||
NULL =
|
||||
|
||||
# initialize variables for unconditional += appending
|
||||
BUILT_SOURCES =
|
||||
BUILT_EXTRA_DIST =
|
||||
CLEANFILES = *.log *.trs
|
||||
DISTCLEANFILES =
|
||||
MAINTAINERCLEANFILES =
|
||||
EXTRA_DIST =
|
||||
TESTS =
|
||||
|
||||
installed_test_LTLIBRARIES =
|
||||
installed_test_PROGRAMS =
|
||||
installed_test_SCRIPTS =
|
||||
nobase_installed_test_DATA =
|
||||
|
||||
noinst_LTLIBRARIES =
|
||||
noinst_PROGRAMS =
|
||||
noinst_SCRIPTS =
|
||||
noinst_DATA =
|
||||
|
||||
check_LTLIBRARIES =
|
||||
check_PROGRAMS =
|
||||
check_SCRIPTS =
|
||||
check_DATA =
|
||||
|
||||
# We support a fairly large range of possible variables. It is expected that all types of files in a test suite
|
||||
# will belong in exactly one of the following variables.
|
||||
#
|
||||
# First, we support the usual automake suffixes, but in lowercase, with the customary meaning:
|
||||
#
|
||||
# test_programs, test_scripts, test_data, test_ltlibraries
|
||||
#
|
||||
# The above are used to list files that are involved in both uninstalled and installed testing. The
|
||||
# test_programs and test_scripts are taken to be actual testcases and will be run as part of the test suite.
|
||||
# Note that _data is always used with the nobase_ automake variable name to ensure that installed test data is
|
||||
# installed in the same way as it appears in the package layout.
|
||||
#
|
||||
# In order to mark a particular file as being only for one type of testing, use 'installed' or 'uninstalled',
|
||||
# like so:
|
||||
#
|
||||
# installed_test_programs, uninstalled_test_programs
|
||||
# installed_test_scripts, uninstalled_test_scripts
|
||||
# installed_test_data, uninstalled_test_data
|
||||
# installed_test_ltlibraries, uninstalled_test_ltlibraries
|
||||
#
|
||||
# Additionally, we support 'extra' infixes for programs and scripts. This is used for support programs/scripts
|
||||
# that should not themselves be run as testcases (but exist to be used from other testcases):
|
||||
#
|
||||
# test_extra_programs, installed_test_extra_programs, uninstalled_test_extra_programs
|
||||
# test_extra_scripts, installed_test_extra_scripts, uninstalled_test_extra_scripts
|
||||
#
|
||||
# Additionally, for _scripts and _data, we support the customary dist_ prefix so that the named script or data
|
||||
# file automatically end up in the tarball.
|
||||
#
|
||||
# dist_test_scripts, dist_test_data, dist_test_extra_scripts
|
||||
# dist_installed_test_scripts, dist_installed_test_data, dist_installed_test_extra_scripts
|
||||
# dist_uninstalled_test_scripts, dist_uninstalled_test_data, dist_uninstalled_test_extra_scripts
|
||||
#
|
||||
# Note that no file is automatically disted unless it appears in one of the dist_ variables. This follows the
|
||||
# standard automake convention of not disting programs scripts or data by default.
|
||||
#
|
||||
# test_programs, test_scripts, uninstalled_test_programs and uninstalled_test_scripts (as well as their disted
|
||||
# variants) will be run as part of the in-tree 'make check'. These are all assumed to be runnable under
|
||||
# gtester. That's a bit strange for scripts, but it's possible.
|
||||
|
||||
TESTS += $(test_programs) $(test_scripts) $(uninstalled_test_programs) $(uninstalled_test_scripts) \
|
||||
$(dist_test_scripts) $(dist_uninstalled_test_scripts)
|
||||
|
||||
# Note: build even the installed-only targets during 'make check' to ensure that they still work.
|
||||
# We need to do a bit of trickery here and manage disting via EXTRA_DIST instead of using dist_ prefixes to
|
||||
# prevent automake from mistreating gmake functions like $(wildcard ...) and $(addprefix ...) as if they were
|
||||
# filenames, including removing duplicate instances of the opening part before the space, eg. '$(addprefix'.
|
||||
all_test_programs = $(test_programs) $(uninstalled_test_programs) $(installed_test_programs) \
|
||||
$(test_extra_programs) $(uninstalled_test_extra_programs) $(installed_test_extra_programs)
|
||||
all_test_scripts = $(test_scripts) $(uninstalled_test_scripts) $(installed_test_scripts) \
|
||||
$(test_extra_scripts) $(uninstalled_test_extra_scripts) $(installed_test_extra_scripts)
|
||||
all_dist_test_scripts = $(dist_test_scripts) $(dist_uninstalled_test_scripts) $(dist_installed_test_scripts) \
|
||||
$(dist_test_extra_scripts) $(dist_uninstalled_test_extra_scripts) $(dist_installed_test_extra_scripts)
|
||||
all_test_scripts += $(all_dist_test_scripts)
|
||||
EXTRA_DIST += $(all_dist_test_scripts)
|
||||
all_test_data = $(test_data) $(uninstalled_test_data) $(installed_test_data)
|
||||
all_dist_test_data = $(dist_test_data) $(dist_uninstalled_test_data) $(dist_installed_test_data)
|
||||
all_test_data += $(all_dist_test_data)
|
||||
EXTRA_DIST += $(all_dist_test_data)
|
||||
all_test_ltlibs = $(test_ltlibraries) $(uninstalled_test_ltlibraries) $(installed_test_ltlibraries)
|
||||
|
||||
if ENABLE_ALWAYS_BUILD_TESTS
|
||||
noinst_LTLIBRARIES += $(all_test_ltlibs)
|
||||
noinst_PROGRAMS += $(all_test_programs)
|
||||
noinst_SCRIPTS += $(all_test_scripts)
|
||||
noinst_DATA += $(all_test_data)
|
||||
else
|
||||
check_LTLIBRARIES += $(all_test_ltlibs)
|
||||
check_PROGRAMS += $(all_test_programs)
|
||||
check_SCRIPTS += $(all_test_scripts)
|
||||
check_DATA += $(all_test_data)
|
||||
endif
|
||||
|
||||
if ENABLE_INSTALLED_TESTS
|
||||
installed_test_PROGRAMS += $(test_programs) $(installed_test_programs) \
|
||||
$(test_extra_programs) $(installed_test_extra_programs)
|
||||
installed_test_SCRIPTS += $(test_scripts) $(installed_test_scripts) \
|
||||
$(test_extra_scripts) $(test_installed_extra_scripts)
|
||||
installed_test_SCRIPTS += $(dist_test_scripts) $(dist_test_extra_scripts) \
|
||||
$(dist_installed_test_scripts) $(dist_installed_test_extra_scripts)
|
||||
nobase_installed_test_DATA += $(test_data) $(installed_test_data)
|
||||
nobase_installed_test_DATA += $(dist_test_data) $(dist_installed_test_data)
|
||||
installed_test_LTLIBRARIES += $(test_ltlibraries) $(installed_test_ltlibraries)
|
||||
installed_testcases = $(test_programs) $(installed_test_programs) \
|
||||
$(test_scripts) $(installed_test_scripts) \
|
||||
$(dist_test_scripts) $(dist_installed_test_scripts)
|
||||
|
||||
installed_test_meta_DATA = $(installed_testcases:=.test)
|
||||
|
||||
%.test: %$(EXEEXT) Makefile
|
||||
$(AM_V_GEN) (echo '[Test]' > $@.tmp; \
|
||||
echo 'Type=session' >> $@.tmp; \
|
||||
echo 'Exec=env G_ENABLE_DIAGNOSTIC=0 CLUTTER_ENABLE_DIAGNOSTIC=0 $(installed_testdir)/$<' >> $@.tmp; \
|
||||
mv $@.tmp $@)
|
||||
|
||||
CLEANFILES += $(installed_test_meta_DATA)
|
||||
endif
|
@ -1,28 +0,0 @@
|
||||
dnl GLIB_TESTS
|
||||
dnl
|
||||
|
||||
AC_DEFUN([GLIB_TESTS],
|
||||
[
|
||||
AC_ARG_ENABLE(installed-tests,
|
||||
AS_HELP_STRING([--enable-installed-tests],
|
||||
[Enable installation of some test cases]),
|
||||
[case ${enableval} in
|
||||
yes) ENABLE_INSTALLED_TESTS="1" ;;
|
||||
no) ENABLE_INSTALLED_TESTS="" ;;
|
||||
*) AC_MSG_ERROR([bad value ${enableval} for --enable-installed-tests]) ;;
|
||||
esac])
|
||||
AM_CONDITIONAL([ENABLE_INSTALLED_TESTS], test "$ENABLE_INSTALLED_TESTS" = "1")
|
||||
AC_ARG_ENABLE(always-build-tests,
|
||||
AS_HELP_STRING([--enable-always-build-tests],
|
||||
[Enable always building tests during 'make all']),
|
||||
[case ${enableval} in
|
||||
yes) ENABLE_ALWAYS_BUILD_TESTS="1" ;;
|
||||
no) ENABLE_ALWAYS_BUILD_TESTS="" ;;
|
||||
*) AC_MSG_ERROR([bad value ${enableval} for --enable-always-build-tests]) ;;
|
||||
esac])
|
||||
AM_CONDITIONAL([ENABLE_ALWAYS_BUILD_TESTS], test "$ENABLE_ALWAYS_BUILD_TESTS" = "1")
|
||||
if test "$ENABLE_INSTALLED_TESTS" = "1"; then
|
||||
AC_SUBST(installed_test_metadir, [${datadir}/installed-tests/]AC_PACKAGE_NAME)
|
||||
AC_SUBST(installed_testdir, [${libexecdir}/installed-tests/]AC_PACKAGE_NAME)
|
||||
fi
|
||||
])
|
@ -1,96 +0,0 @@
|
||||
dnl -*- mode: autoconf -*-
|
||||
dnl Copyright 2009 Johan Dahlin
|
||||
dnl
|
||||
dnl This file is free software; the author(s) gives unlimited
|
||||
dnl permission to copy and/or distribute it, with or without
|
||||
dnl modifications, as long as this notice is preserved.
|
||||
dnl
|
||||
|
||||
# serial 1
|
||||
|
||||
m4_define([_GOBJECT_INTROSPECTION_CHECK_INTERNAL],
|
||||
[
|
||||
AC_BEFORE([AC_PROG_LIBTOOL],[$0])dnl setup libtool first
|
||||
AC_BEFORE([AM_PROG_LIBTOOL],[$0])dnl setup libtool first
|
||||
AC_BEFORE([LT_INIT],[$0])dnl setup libtool first
|
||||
|
||||
dnl enable/disable introspection
|
||||
m4_if([$2], [require],
|
||||
[dnl
|
||||
enable_introspection=yes
|
||||
],[dnl
|
||||
AC_ARG_ENABLE(introspection,
|
||||
AS_HELP_STRING([--enable-introspection[=@<:@no/auto/yes@:>@]],
|
||||
[Enable introspection for this build]),,
|
||||
[enable_introspection=auto])
|
||||
])dnl
|
||||
|
||||
AC_MSG_CHECKING([for gobject-introspection])
|
||||
|
||||
dnl presence/version checking
|
||||
AS_CASE([$enable_introspection],
|
||||
[no], [dnl
|
||||
found_introspection="no (disabled, use --enable-introspection to enable)"
|
||||
],dnl
|
||||
[yes],[dnl
|
||||
PKG_CHECK_EXISTS([gobject-introspection-1.0],,
|
||||
AC_MSG_ERROR([gobject-introspection-1.0 is not installed]))
|
||||
PKG_CHECK_EXISTS([gobject-introspection-1.0 >= $1],
|
||||
found_introspection=yes,
|
||||
AC_MSG_ERROR([You need to have gobject-introspection >= $1 installed to build AC_PACKAGE_NAME]))
|
||||
],dnl
|
||||
[auto],[dnl
|
||||
PKG_CHECK_EXISTS([gobject-introspection-1.0 >= $1], found_introspection=yes, found_introspection=no)
|
||||
dnl Canonicalize enable_introspection
|
||||
enable_introspection=$found_introspection
|
||||
],dnl
|
||||
[dnl
|
||||
AC_MSG_ERROR([invalid argument passed to --enable-introspection, should be one of @<:@no/auto/yes@:>@])
|
||||
])dnl
|
||||
|
||||
AC_MSG_RESULT([$found_introspection])
|
||||
|
||||
INTROSPECTION_SCANNER=
|
||||
INTROSPECTION_COMPILER=
|
||||
INTROSPECTION_GENERATE=
|
||||
INTROSPECTION_GIRDIR=
|
||||
INTROSPECTION_TYPELIBDIR=
|
||||
if test "x$found_introspection" = "xyes"; then
|
||||
INTROSPECTION_SCANNER=`$PKG_CONFIG --variable=g_ir_scanner gobject-introspection-1.0`
|
||||
INTROSPECTION_COMPILER=`$PKG_CONFIG --variable=g_ir_compiler gobject-introspection-1.0`
|
||||
INTROSPECTION_GENERATE=`$PKG_CONFIG --variable=g_ir_generate gobject-introspection-1.0`
|
||||
INTROSPECTION_GIRDIR=`$PKG_CONFIG --variable=girdir gobject-introspection-1.0`
|
||||
INTROSPECTION_TYPELIBDIR="$($PKG_CONFIG --variable=typelibdir gobject-introspection-1.0)"
|
||||
INTROSPECTION_CFLAGS=`$PKG_CONFIG --cflags gobject-introspection-1.0`
|
||||
INTROSPECTION_LIBS=`$PKG_CONFIG --libs gobject-introspection-1.0`
|
||||
INTROSPECTION_MAKEFILE=`$PKG_CONFIG --variable=datadir gobject-introspection-1.0`/gobject-introspection-1.0/Makefile.introspection
|
||||
fi
|
||||
AC_SUBST(INTROSPECTION_SCANNER)
|
||||
AC_SUBST(INTROSPECTION_COMPILER)
|
||||
AC_SUBST(INTROSPECTION_GENERATE)
|
||||
AC_SUBST(INTROSPECTION_GIRDIR)
|
||||
AC_SUBST(INTROSPECTION_TYPELIBDIR)
|
||||
AC_SUBST(INTROSPECTION_CFLAGS)
|
||||
AC_SUBST(INTROSPECTION_LIBS)
|
||||
AC_SUBST(INTROSPECTION_MAKEFILE)
|
||||
|
||||
AM_CONDITIONAL(HAVE_INTROSPECTION, test "x$found_introspection" = "xyes")
|
||||
])
|
||||
|
||||
|
||||
dnl Usage:
|
||||
dnl GOBJECT_INTROSPECTION_CHECK([minimum-g-i-version])
|
||||
|
||||
AC_DEFUN([GOBJECT_INTROSPECTION_CHECK],
|
||||
[
|
||||
_GOBJECT_INTROSPECTION_CHECK_INTERNAL([$1])
|
||||
])
|
||||
|
||||
dnl Usage:
|
||||
dnl GOBJECT_INTROSPECTION_REQUIRE([minimum-g-i-version])
|
||||
|
||||
|
||||
AC_DEFUN([GOBJECT_INTROSPECTION_REQUIRE],
|
||||
[
|
||||
_GOBJECT_INTROSPECTION_CHECK_INTERNAL([$1], [require])
|
||||
])
|
@ -1,652 +0,0 @@
|
||||
#! /bin/sh
|
||||
# Copyright (C) 2011-2013 Free Software Foundation, Inc.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
# As a special exception to the GNU General Public License, if you
|
||||
# distribute this file as part of a program that contains a
|
||||
# configuration script generated by Autoconf, you may include it under
|
||||
# the same distribution terms that you use for the rest of that program.
|
||||
|
||||
# This file is maintained in Automake, please report
|
||||
# bugs to <bug-automake@gnu.org> or send patches to
|
||||
# <automake-patches@gnu.org>.
|
||||
|
||||
scriptversion=2011-12-27.17; # UTC
|
||||
|
||||
# Make unconditional expansion of undefined variables an error. This
|
||||
# helps a lot in preventing typo-related bugs.
|
||||
set -u
|
||||
|
||||
me=tap-driver.sh
|
||||
|
||||
fatal ()
|
||||
{
|
||||
echo "$me: fatal: $*" >&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
usage_error ()
|
||||
{
|
||||
echo "$me: $*" >&2
|
||||
print_usage >&2
|
||||
exit 2
|
||||
}
|
||||
|
||||
print_usage ()
|
||||
{
|
||||
cat <<END
|
||||
Usage:
|
||||
tap-driver.sh --test-name=NAME --log-file=PATH --trs-file=PATH
|
||||
[--expect-failure={yes|no}] [--color-tests={yes|no}]
|
||||
[--enable-hard-errors={yes|no}] [--ignore-exit]
|
||||
[--diagnostic-string=STRING] [--merge|--no-merge]
|
||||
[--comments|--no-comments] [--] TEST-COMMAND
|
||||
The \`--test-name', \`--log-file' and \`--trs-file' options are mandatory.
|
||||
END
|
||||
}
|
||||
|
||||
# TODO: better error handling in option parsing (in particular, ensure
|
||||
# TODO: $log_file, $trs_file and $test_name are defined).
|
||||
test_name= # Used for reporting.
|
||||
log_file= # Where to save the result and output of the test script.
|
||||
trs_file= # Where to save the metadata of the test run.
|
||||
expect_failure=0
|
||||
color_tests=0
|
||||
merge=0
|
||||
ignore_exit=0
|
||||
comments=0
|
||||
diag_string='#'
|
||||
while test $# -gt 0; do
|
||||
case $1 in
|
||||
--help) print_usage; exit $?;;
|
||||
--version) echo "$me $scriptversion"; exit $?;;
|
||||
--test-name) test_name=$2; shift;;
|
||||
--log-file) log_file=$2; shift;;
|
||||
--trs-file) trs_file=$2; shift;;
|
||||
--color-tests) color_tests=$2; shift;;
|
||||
--expect-failure) expect_failure=$2; shift;;
|
||||
--enable-hard-errors) shift;; # No-op.
|
||||
--merge) merge=1;;
|
||||
--no-merge) merge=0;;
|
||||
--ignore-exit) ignore_exit=1;;
|
||||
--comments) comments=1;;
|
||||
--no-comments) comments=0;;
|
||||
--diagnostic-string) diag_string=$2; shift;;
|
||||
--) shift; break;;
|
||||
-*) usage_error "invalid option: '$1'";;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
test $# -gt 0 || usage_error "missing test command"
|
||||
|
||||
case $expect_failure in
|
||||
yes) expect_failure=1;;
|
||||
*) expect_failure=0;;
|
||||
esac
|
||||
|
||||
if test $color_tests = yes; then
|
||||
init_colors='
|
||||
color_map["red"]="[0;31m" # Red.
|
||||
color_map["grn"]="[0;32m" # Green.
|
||||
color_map["lgn"]="[1;32m" # Light green.
|
||||
color_map["blu"]="[1;34m" # Blue.
|
||||
color_map["mgn"]="[0;35m" # Magenta.
|
||||
color_map["std"]="[m" # No color.
|
||||
color_for_result["ERROR"] = "mgn"
|
||||
color_for_result["PASS"] = "grn"
|
||||
color_for_result["XPASS"] = "red"
|
||||
color_for_result["FAIL"] = "red"
|
||||
color_for_result["XFAIL"] = "lgn"
|
||||
color_for_result["SKIP"] = "blu"'
|
||||
else
|
||||
init_colors=''
|
||||
fi
|
||||
|
||||
# :; is there to work around a bug in bash 3.2 (and earlier) which
|
||||
# does not always set '$?' properly on redirection failure.
|
||||
# See the Autoconf manual for more details.
|
||||
:;{
|
||||
(
|
||||
# Ignore common signals (in this subshell only!), to avoid potential
|
||||
# problems with Korn shells. Some Korn shells are known to propagate
|
||||
# to themselves signals that have killed a child process they were
|
||||
# waiting for; this is done at least for SIGINT (and usually only for
|
||||
# it, in truth). Without the `trap' below, such a behaviour could
|
||||
# cause a premature exit in the current subshell, e.g., in case the
|
||||
# test command it runs gets terminated by a SIGINT. Thus, the awk
|
||||
# script we are piping into would never seen the exit status it
|
||||
# expects on its last input line (which is displayed below by the
|
||||
# last `echo $?' statement), and would thus die reporting an internal
|
||||
# error.
|
||||
# For more information, see the Autoconf manual and the threads:
|
||||
# <http://lists.gnu.org/archive/html/bug-autoconf/2011-09/msg00004.html>
|
||||
# <http://mail.opensolaris.org/pipermail/ksh93-integration-discuss/2009-February/004121.html>
|
||||
trap : 1 3 2 13 15
|
||||
if test $merge -gt 0; then
|
||||
exec 2>&1
|
||||
else
|
||||
exec 2>&3
|
||||
fi
|
||||
"$@"
|
||||
echo $?
|
||||
) | LC_ALL=C ${AM_TAP_AWK-awk} \
|
||||
-v me="$me" \
|
||||
-v test_script_name="$test_name" \
|
||||
-v log_file="$log_file" \
|
||||
-v trs_file="$trs_file" \
|
||||
-v expect_failure="$expect_failure" \
|
||||
-v merge="$merge" \
|
||||
-v ignore_exit="$ignore_exit" \
|
||||
-v comments="$comments" \
|
||||
-v diag_string="$diag_string" \
|
||||
'
|
||||
# FIXME: the usages of "cat >&3" below could be optimized when using
|
||||
# FIXME: GNU awk, and/on on systems that supports /dev/fd/.
|
||||
|
||||
# Implementation note: in what follows, `result_obj` will be an
|
||||
# associative array that (partly) simulates a TAP result object
|
||||
# from the `TAP::Parser` perl module.
|
||||
|
||||
## ----------- ##
|
||||
## FUNCTIONS ##
|
||||
## ----------- ##
|
||||
|
||||
function fatal(msg)
|
||||
{
|
||||
print me ": " msg | "cat >&2"
|
||||
exit 1
|
||||
}
|
||||
|
||||
function abort(where)
|
||||
{
|
||||
fatal("internal error " where)
|
||||
}
|
||||
|
||||
# Convert a boolean to a "yes"/"no" string.
|
||||
function yn(bool)
|
||||
{
|
||||
return bool ? "yes" : "no";
|
||||
}
|
||||
|
||||
function add_test_result(result)
|
||||
{
|
||||
if (!test_results_index)
|
||||
test_results_index = 0
|
||||
test_results_list[test_results_index] = result
|
||||
test_results_index += 1
|
||||
test_results_seen[result] = 1;
|
||||
}
|
||||
|
||||
# Whether the test script should be re-run by "make recheck".
|
||||
function must_recheck()
|
||||
{
|
||||
for (k in test_results_seen)
|
||||
if (k != "XFAIL" && k != "PASS" && k != "SKIP")
|
||||
return 1
|
||||
return 0
|
||||
}
|
||||
|
||||
# Whether the content of the log file associated to this test should
|
||||
# be copied into the "global" test-suite.log.
|
||||
function copy_in_global_log()
|
||||
{
|
||||
for (k in test_results_seen)
|
||||
if (k != "PASS")
|
||||
return 1
|
||||
return 0
|
||||
}
|
||||
|
||||
# FIXME: this can certainly be improved ...
|
||||
function get_global_test_result()
|
||||
{
|
||||
if ("ERROR" in test_results_seen)
|
||||
return "ERROR"
|
||||
if ("FAIL" in test_results_seen || "XPASS" in test_results_seen)
|
||||
return "FAIL"
|
||||
all_skipped = 1
|
||||
for (k in test_results_seen)
|
||||
if (k != "SKIP")
|
||||
all_skipped = 0
|
||||
if (all_skipped)
|
||||
return "SKIP"
|
||||
return "PASS";
|
||||
}
|
||||
|
||||
function stringify_result_obj(result_obj)
|
||||
{
|
||||
if (result_obj["is_unplanned"] || result_obj["number"] != testno)
|
||||
return "ERROR"
|
||||
|
||||
if (plan_seen == LATE_PLAN)
|
||||
return "ERROR"
|
||||
|
||||
if (result_obj["directive"] == "TODO")
|
||||
return result_obj["is_ok"] ? "XPASS" : "XFAIL"
|
||||
|
||||
if (result_obj["directive"] == "SKIP")
|
||||
return result_obj["is_ok"] ? "SKIP" : COOKED_FAIL;
|
||||
|
||||
if (length(result_obj["directive"]))
|
||||
abort("in function stringify_result_obj()")
|
||||
|
||||
return result_obj["is_ok"] ? COOKED_PASS : COOKED_FAIL
|
||||
}
|
||||
|
||||
function decorate_result(result)
|
||||
{
|
||||
color_name = color_for_result[result]
|
||||
if (color_name)
|
||||
return color_map[color_name] "" result "" color_map["std"]
|
||||
# If we are not using colorized output, or if we do not know how
|
||||
# to colorize the given result, we should return it unchanged.
|
||||
return result
|
||||
}
|
||||
|
||||
function report(result, details)
|
||||
{
|
||||
if (result ~ /^(X?(PASS|FAIL)|SKIP|ERROR)/)
|
||||
{
|
||||
msg = ": " test_script_name
|
||||
add_test_result(result)
|
||||
}
|
||||
else if (result == "#")
|
||||
{
|
||||
msg = " " test_script_name ":"
|
||||
}
|
||||
else
|
||||
{
|
||||
abort("in function report()")
|
||||
}
|
||||
if (length(details))
|
||||
msg = msg " " details
|
||||
# Output on console might be colorized.
|
||||
print decorate_result(result) msg
|
||||
# Log the result in the log file too, to help debugging (this is
|
||||
# especially true when said result is a TAP error or "Bail out!").
|
||||
print result msg | "cat >&3";
|
||||
}
|
||||
|
||||
function testsuite_error(error_message)
|
||||
{
|
||||
report("ERROR", "- " error_message)
|
||||
}
|
||||
|
||||
function handle_tap_result()
|
||||
{
|
||||
details = result_obj["number"];
|
||||
if (length(result_obj["description"]))
|
||||
details = details " " result_obj["description"]
|
||||
|
||||
if (plan_seen == LATE_PLAN)
|
||||
{
|
||||
details = details " # AFTER LATE PLAN";
|
||||
}
|
||||
else if (result_obj["is_unplanned"])
|
||||
{
|
||||
details = details " # UNPLANNED";
|
||||
}
|
||||
else if (result_obj["number"] != testno)
|
||||
{
|
||||
details = sprintf("%s # OUT-OF-ORDER (expecting %d)",
|
||||
details, testno);
|
||||
}
|
||||
else if (result_obj["directive"])
|
||||
{
|
||||
details = details " # " result_obj["directive"];
|
||||
if (length(result_obj["explanation"]))
|
||||
details = details " " result_obj["explanation"]
|
||||
}
|
||||
|
||||
report(stringify_result_obj(result_obj), details)
|
||||
}
|
||||
|
||||
# `skip_reason` should be empty whenever planned > 0.
|
||||
function handle_tap_plan(planned, skip_reason)
|
||||
{
|
||||
planned += 0 # Avoid getting confused if, say, `planned` is "00"
|
||||
if (length(skip_reason) && planned > 0)
|
||||
abort("in function handle_tap_plan()")
|
||||
if (plan_seen)
|
||||
{
|
||||
# Error, only one plan per stream is acceptable.
|
||||
testsuite_error("multiple test plans")
|
||||
return;
|
||||
}
|
||||
planned_tests = planned
|
||||
# The TAP plan can come before or after *all* the TAP results; we speak
|
||||
# respectively of an "early" or a "late" plan. If we see the plan line
|
||||
# after at least one TAP result has been seen, assume we have a late
|
||||
# plan; in this case, any further test result seen after the plan will
|
||||
# be flagged as an error.
|
||||
plan_seen = (testno >= 1 ? LATE_PLAN : EARLY_PLAN)
|
||||
# If testno > 0, we have an error ("too many tests run") that will be
|
||||
# automatically dealt with later, so do not worry about it here. If
|
||||
# $plan_seen is true, we have an error due to a repeated plan, and that
|
||||
# has already been dealt with above. Otherwise, we have a valid "plan
|
||||
# with SKIP" specification, and should report it as a particular kind
|
||||
# of SKIP result.
|
||||
if (planned == 0 && testno == 0)
|
||||
{
|
||||
if (length(skip_reason))
|
||||
skip_reason = "- " skip_reason;
|
||||
report("SKIP", skip_reason);
|
||||
}
|
||||
}
|
||||
|
||||
function extract_tap_comment(line)
|
||||
{
|
||||
if (index(line, diag_string) == 1)
|
||||
{
|
||||
# Strip leading `diag_string` from `line`.
|
||||
line = substr(line, length(diag_string) + 1)
|
||||
# And strip any leading and trailing whitespace left.
|
||||
sub("^[ \t]*", "", line)
|
||||
sub("[ \t]*$", "", line)
|
||||
# Return what is left (if any).
|
||||
return line;
|
||||
}
|
||||
return "";
|
||||
}
|
||||
|
||||
# When this function is called, we know that line is a TAP result line,
|
||||
# so that it matches the (perl) RE "^(not )?ok\b".
|
||||
function setup_result_obj(line)
|
||||
{
|
||||
# Get the result, and remove it from the line.
|
||||
result_obj["is_ok"] = (substr(line, 1, 2) == "ok" ? 1 : 0)
|
||||
sub("^(not )?ok[ \t]*", "", line)
|
||||
|
||||
# If the result has an explicit number, get it and strip it; otherwise,
|
||||
# automatically assing the next progresive number to it.
|
||||
if (line ~ /^[0-9]+$/ || line ~ /^[0-9]+[^a-zA-Z0-9_]/)
|
||||
{
|
||||
match(line, "^[0-9]+")
|
||||
# The final `+ 0` is to normalize numbers with leading zeros.
|
||||
result_obj["number"] = substr(line, 1, RLENGTH) + 0
|
||||
line = substr(line, RLENGTH + 1)
|
||||
}
|
||||
else
|
||||
{
|
||||
result_obj["number"] = testno
|
||||
}
|
||||
|
||||
if (plan_seen == LATE_PLAN)
|
||||
# No further test results are acceptable after a "late" TAP plan
|
||||
# has been seen.
|
||||
result_obj["is_unplanned"] = 1
|
||||
else if (plan_seen && testno > planned_tests)
|
||||
result_obj["is_unplanned"] = 1
|
||||
else
|
||||
result_obj["is_unplanned"] = 0
|
||||
|
||||
# Strip trailing and leading whitespace.
|
||||
sub("^[ \t]*", "", line)
|
||||
sub("[ \t]*$", "", line)
|
||||
|
||||
# This will have to be corrected if we have a "TODO"/"SKIP" directive.
|
||||
result_obj["description"] = line
|
||||
result_obj["directive"] = ""
|
||||
result_obj["explanation"] = ""
|
||||
|
||||
if (index(line, "#") == 0)
|
||||
return # No possible directive, nothing more to do.
|
||||
|
||||
# Directives are case-insensitive.
|
||||
rx = "[ \t]*#[ \t]*([tT][oO][dD][oO]|[sS][kK][iI][pP])[ \t]*"
|
||||
|
||||
# See whether we have the directive, and if yes, where.
|
||||
pos = match(line, rx "$")
|
||||
if (!pos)
|
||||
pos = match(line, rx "[^a-zA-Z0-9_]")
|
||||
|
||||
# If there was no TAP directive, we have nothing more to do.
|
||||
if (!pos)
|
||||
return
|
||||
|
||||
# Let`s now see if the TAP directive has been escaped. For example:
|
||||
# escaped: ok \# SKIP
|
||||
# not escaped: ok \\# SKIP
|
||||
# escaped: ok \\\\\# SKIP
|
||||
# not escaped: ok \ # SKIP
|
||||
if (substr(line, pos, 1) == "#")
|
||||
{
|
||||
bslash_count = 0
|
||||
for (i = pos; i > 1 && substr(line, i - 1, 1) == "\\"; i--)
|
||||
bslash_count += 1
|
||||
if (bslash_count % 2)
|
||||
return # Directive was escaped.
|
||||
}
|
||||
|
||||
# Strip the directive and its explanation (if any) from the test
|
||||
# description.
|
||||
result_obj["description"] = substr(line, 1, pos - 1)
|
||||
# Now remove the test description from the line, that has been dealt
|
||||
# with already.
|
||||
line = substr(line, pos)
|
||||
# Strip the directive, and save its value (normalized to upper case).
|
||||
sub("^[ \t]*#[ \t]*", "", line)
|
||||
result_obj["directive"] = toupper(substr(line, 1, 4))
|
||||
line = substr(line, 5)
|
||||
# Now get the explanation for the directive (if any), with leading
|
||||
# and trailing whitespace removed.
|
||||
sub("^[ \t]*", "", line)
|
||||
sub("[ \t]*$", "", line)
|
||||
result_obj["explanation"] = line
|
||||
}
|
||||
|
||||
function get_test_exit_message(status)
|
||||
{
|
||||
if (status == 0)
|
||||
return ""
|
||||
if (status !~ /^[1-9][0-9]*$/)
|
||||
abort("getting exit status")
|
||||
if (status < 127)
|
||||
exit_details = ""
|
||||
else if (status == 127)
|
||||
exit_details = " (command not found?)"
|
||||
else if (status >= 128 && status <= 255)
|
||||
exit_details = sprintf(" (terminated by signal %d?)", status - 128)
|
||||
else if (status > 256 && status <= 384)
|
||||
# We used to report an "abnormal termination" here, but some Korn
|
||||
# shells, when a child process die due to signal number n, can leave
|
||||
# in $? an exit status of 256+n instead of the more standard 128+n.
|
||||
# Apparently, both behaviours are allowed by POSIX (2008), so be
|
||||
# prepared to handle them both. See also Austing Group report ID
|
||||
# 0000051 <http://www.austingroupbugs.net/view.php?id=51>
|
||||
exit_details = sprintf(" (terminated by signal %d?)", status - 256)
|
||||
else
|
||||
# Never seen in practice.
|
||||
exit_details = " (abnormal termination)"
|
||||
return sprintf("exited with status %d%s", status, exit_details)
|
||||
}
|
||||
|
||||
function write_test_results()
|
||||
{
|
||||
print ":global-test-result: " get_global_test_result() > trs_file
|
||||
print ":recheck: " yn(must_recheck()) > trs_file
|
||||
print ":copy-in-global-log: " yn(copy_in_global_log()) > trs_file
|
||||
for (i = 0; i < test_results_index; i += 1)
|
||||
print ":test-result: " test_results_list[i] > trs_file
|
||||
close(trs_file);
|
||||
}
|
||||
|
||||
BEGIN {
|
||||
|
||||
## ------- ##
|
||||
## SETUP ##
|
||||
## ------- ##
|
||||
|
||||
'"$init_colors"'
|
||||
|
||||
# Properly initialized once the TAP plan is seen.
|
||||
planned_tests = 0
|
||||
|
||||
COOKED_PASS = expect_failure ? "XPASS": "PASS";
|
||||
COOKED_FAIL = expect_failure ? "XFAIL": "FAIL";
|
||||
|
||||
# Enumeration-like constants to remember which kind of plan (if any)
|
||||
# has been seen. It is important that NO_PLAN evaluates "false" as
|
||||
# a boolean.
|
||||
NO_PLAN = 0
|
||||
EARLY_PLAN = 1
|
||||
LATE_PLAN = 2
|
||||
|
||||
testno = 0 # Number of test results seen so far.
|
||||
bailed_out = 0 # Whether a "Bail out!" directive has been seen.
|
||||
|
||||
# Whether the TAP plan has been seen or not, and if yes, which kind
|
||||
# it is ("early" is seen before any test result, "late" otherwise).
|
||||
plan_seen = NO_PLAN
|
||||
|
||||
## --------- ##
|
||||
## PARSING ##
|
||||
## --------- ##
|
||||
|
||||
is_first_read = 1
|
||||
|
||||
while (1)
|
||||
{
|
||||
# Involutions required so that we are able to read the exit status
|
||||
# from the last input line.
|
||||
st = getline
|
||||
if (st < 0) # I/O error.
|
||||
fatal("I/O error while reading from input stream")
|
||||
else if (st == 0) # End-of-input
|
||||
{
|
||||
if (is_first_read)
|
||||
abort("in input loop: only one input line")
|
||||
break
|
||||
}
|
||||
if (is_first_read)
|
||||
{
|
||||
is_first_read = 0
|
||||
nextline = $0
|
||||
continue
|
||||
}
|
||||
else
|
||||
{
|
||||
curline = nextline
|
||||
nextline = $0
|
||||
$0 = curline
|
||||
}
|
||||
# Copy any input line verbatim into the log file.
|
||||
print | "cat >&3"
|
||||
# Parsing of TAP input should stop after a "Bail out!" directive.
|
||||
if (bailed_out)
|
||||
continue
|
||||
|
||||
# TAP test result.
|
||||
if ($0 ~ /^(not )?ok$/ || $0 ~ /^(not )?ok[^a-zA-Z0-9_]/)
|
||||
{
|
||||
testno += 1
|
||||
setup_result_obj($0)
|
||||
handle_tap_result()
|
||||
}
|
||||
# TAP plan (normal or "SKIP" without explanation).
|
||||
else if ($0 ~ /^1\.\.[0-9]+[ \t]*$/)
|
||||
{
|
||||
# The next two lines will put the number of planned tests in $0.
|
||||
sub("^1\\.\\.", "")
|
||||
sub("[^0-9]*$", "")
|
||||
handle_tap_plan($0, "")
|
||||
continue
|
||||
}
|
||||
# TAP "SKIP" plan, with an explanation.
|
||||
else if ($0 ~ /^1\.\.0+[ \t]*#/)
|
||||
{
|
||||
# The next lines will put the skip explanation in $0, stripping
|
||||
# any leading and trailing whitespace. This is a little more
|
||||
# tricky in truth, since we want to also strip a potential leading
|
||||
# "SKIP" string from the message.
|
||||
sub("^[^#]*#[ \t]*(SKIP[: \t][ \t]*)?", "")
|
||||
sub("[ \t]*$", "");
|
||||
handle_tap_plan(0, $0)
|
||||
}
|
||||
# "Bail out!" magic.
|
||||
# Older versions of prove and TAP::Harness (e.g., 3.17) did not
|
||||
# recognize a "Bail out!" directive when preceded by leading
|
||||
# whitespace, but more modern versions (e.g., 3.23) do. So we
|
||||
# emulate the latter, "more modern" behaviour.
|
||||
else if ($0 ~ /^[ \t]*Bail out!/)
|
||||
{
|
||||
bailed_out = 1
|
||||
# Get the bailout message (if any), with leading and trailing
|
||||
# whitespace stripped. The message remains stored in `$0`.
|
||||
sub("^[ \t]*Bail out![ \t]*", "");
|
||||
sub("[ \t]*$", "");
|
||||
# Format the error message for the
|
||||
bailout_message = "Bail out!"
|
||||
if (length($0))
|
||||
bailout_message = bailout_message " " $0
|
||||
testsuite_error(bailout_message)
|
||||
}
|
||||
# Maybe we have too look for dianogtic comments too.
|
||||
else if (comments != 0)
|
||||
{
|
||||
comment = extract_tap_comment($0);
|
||||
if (length(comment))
|
||||
report("#", comment);
|
||||
}
|
||||
}
|
||||
|
||||
## -------- ##
|
||||
## FINISH ##
|
||||
## -------- ##
|
||||
|
||||
# A "Bail out!" directive should cause us to ignore any following TAP
|
||||
# error, as well as a non-zero exit status from the TAP producer.
|
||||
if (!bailed_out)
|
||||
{
|
||||
if (!plan_seen)
|
||||
{
|
||||
testsuite_error("missing test plan")
|
||||
}
|
||||
else if (planned_tests != testno)
|
||||
{
|
||||
bad_amount = testno > planned_tests ? "many" : "few"
|
||||
testsuite_error(sprintf("too %s tests run (expected %d, got %d)",
|
||||
bad_amount, planned_tests, testno))
|
||||
}
|
||||
if (!ignore_exit)
|
||||
{
|
||||
# Fetch exit status from the last line.
|
||||
exit_message = get_test_exit_message(nextline)
|
||||
if (exit_message)
|
||||
testsuite_error(exit_message)
|
||||
}
|
||||
}
|
||||
|
||||
write_test_results()
|
||||
|
||||
exit 0
|
||||
|
||||
} # End of "BEGIN" block.
|
||||
'
|
||||
|
||||
# TODO: document that we consume the file descriptor 3 :-(
|
||||
} 3>"$log_file"
|
||||
|
||||
test $? -eq 0 || fatal "I/O or internal error"
|
||||
|
||||
# Local Variables:
|
||||
# mode: shell-script
|
||||
# sh-indentation: 2
|
||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||
# time-stamp-start: "scriptversion="
|
||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||
# time-stamp-time-zone: "UTC"
|
||||
# time-stamp-end: "; # UTC"
|
||||
# End:
|
@ -1,5 +0,0 @@
|
||||
#! /bin/sh
|
||||
|
||||
# run a GTest in tap mode. The test binary is passed as $1
|
||||
|
||||
$1 -k --tap
|
@ -1,708 +0,0 @@
|
||||
AUTOMAKE_OPTIONS = subdir-objects
|
||||
|
||||
# preamble
|
||||
NULL =
|
||||
|
||||
# common definitions
|
||||
CLEANFILES =
|
||||
DISTCLEANFILES =
|
||||
EXTRA_DIST =
|
||||
BUILT_SOURCES =
|
||||
|
||||
AM_CPPFLAGS = \
|
||||
-DCLUTTER_SYSCONFDIR=\""$(sysconfdir)"\" \
|
||||
-DCLUTTER_COMPILATION=1 \
|
||||
-DCOGL_DISABLE_DEPRECATION_WARNINGS \
|
||||
-DG_LOG_DOMAIN=\"Clutter\" \
|
||||
-fvisibility=hidden \
|
||||
-I$(top_srcdir) \
|
||||
-I$(top_srcdir)/clutter \
|
||||
-I$(top_builddir) \
|
||||
-I$(top_builddir)/clutter \
|
||||
-I$(top_srcdir)/../cogl \
|
||||
-I$(top_builddir)/../cogl \
|
||||
-I$(top_builddir)/../cogl/cogl \
|
||||
$(CLUTTER_DEPRECATED_CFLAGS) \
|
||||
$(CLUTTER_DEBUG_CFLAGS) \
|
||||
$(NULL)
|
||||
|
||||
AM_CFLAGS = $(CLUTTER_CFLAGS) $(MAINTAINER_CFLAGS)
|
||||
|
||||
# these are the gir files we generate using g-ir-scanner
|
||||
INTROSPECTION_GIRS =
|
||||
|
||||
# the base include path for headers
|
||||
clutter_base_includedir = $(includedir)/mutter-$(LIBMUTTER_API_VERSION)/clutter
|
||||
clutter_includedir = $(clutter_base_includedir)/clutter
|
||||
clutter_deprecateddir = $(clutter_base_includedir)/clutter/deprecated
|
||||
|
||||
# pkg-config files
|
||||
pc_files =
|
||||
|
||||
# common sources - please, keep these sorted alphabetically
|
||||
source_h = \
|
||||
clutter-action.h \
|
||||
clutter-actor-meta.h \
|
||||
clutter-actor.h \
|
||||
clutter-align-constraint.h \
|
||||
clutter-animatable.h \
|
||||
clutter-backend.h \
|
||||
clutter-bind-constraint.h \
|
||||
clutter-binding-pool.h \
|
||||
clutter-bin-layout.h \
|
||||
clutter-blur-effect.h \
|
||||
clutter-box-layout.h \
|
||||
clutter-brightness-contrast-effect.h \
|
||||
clutter-cairo.h \
|
||||
clutter-canvas.h \
|
||||
clutter-child-meta.h \
|
||||
clutter-click-action.h \
|
||||
clutter-clone.h \
|
||||
clutter-color-static.h \
|
||||
clutter-color.h \
|
||||
clutter-colorize-effect.h \
|
||||
clutter-constraint.h \
|
||||
clutter-container.h \
|
||||
clutter-content.h \
|
||||
clutter-deform-effect.h \
|
||||
clutter-deprecated.h \
|
||||
clutter-desaturate-effect.h \
|
||||
clutter-device-manager.h \
|
||||
clutter-drag-action.h \
|
||||
clutter-drop-action.h \
|
||||
clutter-effect.h \
|
||||
clutter-enums.h \
|
||||
clutter-event.h \
|
||||
clutter-feature.h \
|
||||
clutter-fixed-layout.h \
|
||||
clutter-flow-layout.h \
|
||||
clutter-gesture-action.h \
|
||||
clutter-grid-layout.h \
|
||||
clutter-group.h \
|
||||
clutter-image.h \
|
||||
clutter-input-device.h \
|
||||
clutter-input-device-tool.h \
|
||||
clutter-input-focus.h \
|
||||
clutter-input-method.h \
|
||||
clutter-interval.h \
|
||||
clutter-keyframe-transition.h \
|
||||
clutter-keysyms.h \
|
||||
clutter-layout-manager.h \
|
||||
clutter-layout-meta.h \
|
||||
clutter-macros.h \
|
||||
clutter-main.h \
|
||||
clutter-offscreen-effect.h \
|
||||
clutter-page-turn-effect.h \
|
||||
clutter-paint-nodes.h \
|
||||
clutter-paint-node.h \
|
||||
clutter-pan-action.h \
|
||||
clutter-path-constraint.h \
|
||||
clutter-path.h \
|
||||
clutter-property-transition.h \
|
||||
clutter-rotate-action.h \
|
||||
clutter-script.h \
|
||||
clutter-scriptable.h \
|
||||
clutter-scroll-actor.h \
|
||||
clutter-settings.h \
|
||||
clutter-shader-effect.h \
|
||||
clutter-shader-types.h \
|
||||
clutter-swipe-action.h \
|
||||
clutter-snap-constraint.h \
|
||||
clutter-stage.h \
|
||||
clutter-stage-manager.h \
|
||||
clutter-tap-action.h \
|
||||
clutter-test-utils.h \
|
||||
clutter-texture.h \
|
||||
clutter-text.h \
|
||||
clutter-text-buffer.h \
|
||||
clutter-timeline.h \
|
||||
clutter-transition-group.h \
|
||||
clutter-transition.h \
|
||||
clutter-types.h \
|
||||
clutter-units.h \
|
||||
clutter-virtual-input-device.h \
|
||||
clutter-zoom-action.h \
|
||||
$(NULL)
|
||||
|
||||
source_c = \
|
||||
clutter-action.c \
|
||||
clutter-actor-box.c \
|
||||
clutter-actor-meta.c \
|
||||
clutter-actor.c \
|
||||
clutter-align-constraint.c \
|
||||
clutter-animatable.c \
|
||||
clutter-backend.c \
|
||||
clutter-base-types.c \
|
||||
clutter-bezier.c \
|
||||
clutter-bind-constraint.c \
|
||||
clutter-binding-pool.c \
|
||||
clutter-bin-layout.c \
|
||||
clutter-blur-effect.c \
|
||||
clutter-box-layout.c \
|
||||
clutter-brightness-contrast-effect.c \
|
||||
clutter-cairo.c \
|
||||
clutter-canvas.c \
|
||||
clutter-child-meta.c \
|
||||
clutter-click-action.c \
|
||||
clutter-clone.c \
|
||||
clutter-color.c \
|
||||
clutter-colorize-effect.c \
|
||||
clutter-constraint.c \
|
||||
clutter-container.c \
|
||||
clutter-content.c \
|
||||
clutter-deform-effect.c \
|
||||
clutter-desaturate-effect.c \
|
||||
clutter-device-manager.c \
|
||||
clutter-drag-action.c \
|
||||
clutter-drop-action.c \
|
||||
clutter-effect.c \
|
||||
clutter-event.c \
|
||||
clutter-feature.c \
|
||||
clutter-fixed-layout.c \
|
||||
clutter-flatten-effect.c \
|
||||
clutter-flow-layout.c \
|
||||
clutter-gesture-action.c \
|
||||
clutter-grid-layout.c \
|
||||
clutter-image.c \
|
||||
clutter-input-device.c \
|
||||
clutter-input-device-tool.c \
|
||||
clutter-input-focus.c \
|
||||
clutter-input-method.c \
|
||||
clutter-virtual-input-device.c \
|
||||
clutter-interval.c \
|
||||
clutter-keyframe-transition.c \
|
||||
clutter-keysyms-table.c \
|
||||
clutter-layout-manager.c \
|
||||
clutter-layout-meta.c \
|
||||
clutter-main.c \
|
||||
clutter-master-clock.c \
|
||||
clutter-master-clock-default.c \
|
||||
clutter-offscreen-effect.c \
|
||||
clutter-page-turn-effect.c \
|
||||
clutter-paint-nodes.c \
|
||||
clutter-paint-node.c \
|
||||
clutter-pan-action.c \
|
||||
clutter-path-constraint.c \
|
||||
clutter-path.c \
|
||||
clutter-property-transition.c \
|
||||
clutter-rotate-action.c \
|
||||
clutter-script.c \
|
||||
clutter-script-parser.c \
|
||||
clutter-scriptable.c \
|
||||
clutter-scroll-actor.c \
|
||||
clutter-settings.c \
|
||||
clutter-shader-effect.c \
|
||||
clutter-shader-types.c \
|
||||
clutter-swipe-action.c \
|
||||
clutter-snap-constraint.c \
|
||||
clutter-stage.c \
|
||||
clutter-stage-manager.c \
|
||||
clutter-stage-window.c \
|
||||
clutter-tap-action.c \
|
||||
clutter-test-utils.c \
|
||||
clutter-text.c \
|
||||
clutter-text-buffer.c \
|
||||
clutter-transition-group.c \
|
||||
clutter-transition.c \
|
||||
clutter-timeline.c \
|
||||
clutter-units.c \
|
||||
clutter-util.c \
|
||||
clutter-paint-volume.c \
|
||||
clutter-zoom-action.c \
|
||||
$(NULL)
|
||||
|
||||
# private headers; these should not be distributed or introspected
|
||||
source_h_priv = \
|
||||
clutter-actor-meta-private.h \
|
||||
clutter-actor-private.h \
|
||||
clutter-backend-private.h \
|
||||
clutter-bezier.h \
|
||||
clutter-constraint-private.h \
|
||||
clutter-content-private.h \
|
||||
clutter-debug.h \
|
||||
clutter-device-manager-private.h \
|
||||
clutter-easing.h \
|
||||
clutter-effect-private.h \
|
||||
clutter-event-translator.h \
|
||||
clutter-event-private.h \
|
||||
clutter-flatten-effect.h \
|
||||
clutter-gesture-action-private.h \
|
||||
clutter-id-pool.h \
|
||||
clutter-input-focus-private.h \
|
||||
clutter-input-method-private.h \
|
||||
clutter-master-clock.h \
|
||||
clutter-master-clock-default.h \
|
||||
clutter-offscreen-effect-private.h \
|
||||
clutter-paint-node-private.h \
|
||||
clutter-paint-volume-private.h \
|
||||
clutter-private.h \
|
||||
clutter-script-private.h \
|
||||
clutter-settings-private.h \
|
||||
clutter-stage-manager-private.h \
|
||||
clutter-stage-private.h \
|
||||
clutter-stage-view.h \
|
||||
clutter-stage-window.h \
|
||||
$(NULL)
|
||||
|
||||
# private source code; these should not be introspected
|
||||
source_c_priv = \
|
||||
clutter-easing.c \
|
||||
clutter-event-translator.c \
|
||||
clutter-id-pool.c \
|
||||
clutter-stage-view.c \
|
||||
$(NULL)
|
||||
|
||||
# deprecated installed headers
|
||||
deprecated_h = \
|
||||
deprecated/clutter-actor.h \
|
||||
deprecated/clutter-alpha.h \
|
||||
deprecated/clutter-animatable.h \
|
||||
deprecated/clutter-animation.h \
|
||||
deprecated/clutter-animator.h \
|
||||
deprecated/clutter-backend.h \
|
||||
deprecated/clutter-behaviour.h \
|
||||
deprecated/clutter-behaviour-depth.h \
|
||||
deprecated/clutter-behaviour-ellipse.h \
|
||||
deprecated/clutter-behaviour-opacity.h \
|
||||
deprecated/clutter-behaviour-path.h \
|
||||
deprecated/clutter-behaviour-rotate.h \
|
||||
deprecated/clutter-behaviour-scale.h \
|
||||
deprecated/clutter-bin-layout.h \
|
||||
deprecated/clutter-box.h \
|
||||
deprecated/clutter-cairo-texture.h \
|
||||
deprecated/clutter-container.h \
|
||||
deprecated/clutter-frame-source.h \
|
||||
deprecated/clutter-group.h \
|
||||
deprecated/clutter-input-device.h \
|
||||
deprecated/clutter-keysyms.h \
|
||||
deprecated/clutter-list-model.h \
|
||||
deprecated/clutter-main.h \
|
||||
deprecated/clutter-model.h \
|
||||
deprecated/clutter-rectangle.h \
|
||||
deprecated/clutter-score.h \
|
||||
deprecated/clutter-shader.h \
|
||||
deprecated/clutter-stage-manager.h \
|
||||
deprecated/clutter-stage.h \
|
||||
deprecated/clutter-state.h \
|
||||
deprecated/clutter-table-layout.h \
|
||||
deprecated/clutter-texture.h \
|
||||
deprecated/clutter-timeline.h \
|
||||
deprecated/clutter-timeout-pool.h \
|
||||
deprecated/clutter-util.h \
|
||||
$(NULL)
|
||||
|
||||
# deprecated source code
|
||||
deprecated_c = \
|
||||
deprecated/clutter-actor-deprecated.c \
|
||||
deprecated/clutter-alpha.c \
|
||||
deprecated/clutter-animation.c \
|
||||
deprecated/clutter-animator.c \
|
||||
deprecated/clutter-behaviour.c \
|
||||
deprecated/clutter-behaviour-depth.c \
|
||||
deprecated/clutter-behaviour-ellipse.c \
|
||||
deprecated/clutter-behaviour-opacity.c \
|
||||
deprecated/clutter-behaviour-path.c \
|
||||
deprecated/clutter-behaviour-rotate.c \
|
||||
deprecated/clutter-behaviour-scale.c \
|
||||
deprecated/clutter-box.c \
|
||||
deprecated/clutter-cairo-texture.c \
|
||||
deprecated/clutter-frame-source.c \
|
||||
deprecated/clutter-group.c \
|
||||
deprecated/clutter-input-device-deprecated.c \
|
||||
deprecated/clutter-layout-manager-deprecated.c \
|
||||
deprecated/clutter-list-model.c \
|
||||
deprecated/clutter-model.c \
|
||||
deprecated/clutter-rectangle.c \
|
||||
deprecated/clutter-score.c \
|
||||
deprecated/clutter-shader.c \
|
||||
deprecated/clutter-state.c \
|
||||
deprecated/clutter-table-layout.c \
|
||||
deprecated/clutter-texture.c \
|
||||
deprecated/clutter-timeout-pool.c \
|
||||
$(NULL)
|
||||
|
||||
# deprecated private headers; these should not be installed
|
||||
deprecated_h_priv = \
|
||||
deprecated/clutter-model-private.h \
|
||||
deprecated/clutter-timeout-interval.h \
|
||||
$(NULL)
|
||||
|
||||
# deprecated private source code; these should not be introspected
|
||||
deprecated_c_priv = \
|
||||
deprecated/clutter-timeout-interval.c \
|
||||
$(NULL)
|
||||
|
||||
# built sources
|
||||
built_source_c = \
|
||||
clutter-enum-types.c \
|
||||
clutter-marshal.c \
|
||||
$(NULL)
|
||||
|
||||
# built headers
|
||||
built_source_h = \
|
||||
clutter-enum-types.h \
|
||||
clutter-marshal.h \
|
||||
$(NULL)
|
||||
|
||||
# config header
|
||||
DISTCLEANFILES += clutter-config.h
|
||||
EXTRA_DIST += clutter-config.h.in
|
||||
|
||||
# key symbol update script
|
||||
EXTRA_DIST += clutter-keysyms-update.pl
|
||||
|
||||
pc_files += mutter-clutter-$(LIBMUTTER_API_VERSION).pc
|
||||
|
||||
# in order to be compatible with Clutter < 1.10, when we shipped a single
|
||||
# shared library whose name was determined by the single backend it
|
||||
# supported, we need to install symbolic links so that existing applications
|
||||
# using Clutter won't break in the Brave New World of multi-backend support
|
||||
# in the same shared object.
|
||||
compat_libs =
|
||||
|
||||
# backends source listings
|
||||
#
|
||||
# backend_source_c := source code
|
||||
# backend_source_h := installed public headers
|
||||
# backend_source_c_priv := source that should not be scanned by g-i
|
||||
# backend_source_h_priv := private headers
|
||||
# backend_source_built := built sources
|
||||
#
|
||||
backend_source_c =
|
||||
backend_source_h =
|
||||
backend_source_c_priv =
|
||||
backend_source_h_priv =
|
||||
backend_source_built =
|
||||
|
||||
# X11 backend rules
|
||||
x11_source_c = \
|
||||
x11/clutter-backend-x11.c \
|
||||
x11/clutter-device-manager-core-x11.c \
|
||||
x11/clutter-event-x11.c \
|
||||
x11/clutter-input-device-core-x11.c \
|
||||
x11/clutter-keymap-x11.c \
|
||||
x11/clutter-stage-x11.c \
|
||||
x11/clutter-x11-texture-pixmap.c \
|
||||
x11/clutter-xkb-a11y-x11.c \
|
||||
$(NULL)
|
||||
|
||||
x11_source_h = \
|
||||
x11/clutter-x11.h \
|
||||
x11/clutter-x11-texture-pixmap.h \
|
||||
$(NULL)
|
||||
|
||||
x11_source_h_priv = \
|
||||
x11/clutter-backend-x11.h \
|
||||
x11/clutter-device-manager-core-x11.h \
|
||||
x11/clutter-input-device-core-x11.h \
|
||||
x11/clutter-keymap-x11.h \
|
||||
x11/clutter-settings-x11.h \
|
||||
x11/clutter-stage-x11.h \
|
||||
x11/clutter-xkb-a11y-x11.h \
|
||||
$(NULL)
|
||||
|
||||
x11_source_c_priv = \
|
||||
x11/xsettings/xsettings-client.c \
|
||||
x11/xsettings/xsettings-client.h \
|
||||
x11/xsettings/xsettings-common.c \
|
||||
x11/xsettings/xsettings-common.h \
|
||||
$(NULL)
|
||||
|
||||
x11_source_c += \
|
||||
x11/clutter-device-manager-xi2.c \
|
||||
x11/clutter-input-device-xi2.c \
|
||||
x11/clutter-input-device-tool-xi2.c \
|
||||
$(NULL)
|
||||
|
||||
x11_source_h_priv += \
|
||||
x11/clutter-device-manager-xi2.h \
|
||||
x11/clutter-input-device-xi2.h \
|
||||
x11/clutter-input-device-tool-xi2.h \
|
||||
$(NULL)
|
||||
|
||||
x11_source_c += \
|
||||
x11/clutter-virtual-input-device-x11.c \
|
||||
$(NULL)
|
||||
|
||||
x11_source_h_priv += \
|
||||
x11/clutter-virtual-input-device-x11.h \
|
||||
$(NULL)
|
||||
|
||||
backend_source_h += $(x11_source_h)
|
||||
backend_source_c += $(x11_source_c)
|
||||
backend_source_h_priv += $(x11_source_h_priv)
|
||||
backend_source_c_priv += $(x11_source_c_priv)
|
||||
|
||||
# the list of files we want to introspect on X11
|
||||
x11_introspection = $(x11_source_c) $(x11_source_h)
|
||||
|
||||
clutterx11_includedir = $(clutter_includedir)/x11
|
||||
clutterx11_include_HEADERS = $(x11_source_h)
|
||||
|
||||
mutter-clutter-x11-@LIBMUTTER_API_VERSION@.pc: mutter-clutter-$(LIBMUTTER_API_VERSION).pc
|
||||
$(QUIET_GEN)cp -f $< $(@F)
|
||||
|
||||
pc_files += mutter-clutter-x11-$(LIBMUTTER_API_VERSION).pc
|
||||
|
||||
# Shared cogl backend files
|
||||
cogl_source_h =
|
||||
|
||||
cogl_source_c = \
|
||||
cogl/clutter-stage-cogl.c \
|
||||
$(NULL)
|
||||
|
||||
cogl_source_h_priv = \
|
||||
cogl/clutter-stage-cogl.h \
|
||||
$(NULL)
|
||||
|
||||
cogl_source_c_priv =
|
||||
|
||||
backend_source_h += $(cogl_source_h)
|
||||
backend_source_c += $(cogl_source_c)
|
||||
backend_source_h_priv += $(cogl_source_h_priv)
|
||||
backend_source_c_priv += $(cogl_source_c_priv)
|
||||
|
||||
backend_source_h += $(glx_source_h)
|
||||
backend_source_c += $(glx_source_c)
|
||||
|
||||
evdev_c_priv = \
|
||||
evdev/clutter-device-manager-evdev.c \
|
||||
evdev/clutter-input-device-evdev.c \
|
||||
evdev/clutter-seat-evdev.c \
|
||||
evdev/clutter-virtual-input-device-evdev.c \
|
||||
evdev/clutter-event-evdev.c \
|
||||
evdev/clutter-input-device-tool-evdev.c \
|
||||
$(NULL)
|
||||
evdev_h_priv = \
|
||||
evdev/clutter-device-manager-evdev.h \
|
||||
evdev/clutter-input-device-evdev.h \
|
||||
evdev/clutter-seat-evdev.h \
|
||||
evdev/clutter-input-device-tool-evdev.h \
|
||||
evdev/clutter-virtual-input-device-evdev.h \
|
||||
$(NULL)
|
||||
evdev_h = evdev/clutter-evdev.h
|
||||
|
||||
if SUPPORT_WAYLAND
|
||||
backend_source_c_priv += $(evdev_c_priv)
|
||||
backend_source_h_priv += $(evdev_h_priv)
|
||||
backend_source_h += $(evdev_h)
|
||||
|
||||
backend_source_c += evdev/clutter-xkb-utils.c
|
||||
backend_source_h_priv += evdev/clutter-xkb-utils.h
|
||||
|
||||
# EGL backend rules
|
||||
egl_source_h = \
|
||||
egl/clutter-egl-headers.h \
|
||||
egl/clutter-egl.h \
|
||||
$(NULL)
|
||||
|
||||
egl_source_h_priv = egl/clutter-backend-eglnative.h
|
||||
egl_source_c = egl/clutter-backend-eglnative.c
|
||||
|
||||
wayland_compositor_source_h = \
|
||||
wayland/clutter-wayland-compositor.h \
|
||||
wayland/clutter-wayland-surface.h
|
||||
backend_source_h += $(wayland_compositor_source_h)
|
||||
backend_source_c += \
|
||||
wayland/clutter-wayland-surface.c
|
||||
|
||||
backend_source_h += $(egl_source_h)
|
||||
backend_source_c += $(egl_source_c)
|
||||
backend_source_h_priv += $(egl_source_h_priv)
|
||||
|
||||
endif # SUPPORT_WAYLAND
|
||||
|
||||
# cally
|
||||
cally_sources_h = \
|
||||
cally/cally-actor.h \
|
||||
cally/cally-clone.h \
|
||||
cally/cally-factory.h \
|
||||
cally/cally-group.h \
|
||||
cally/cally.h \
|
||||
cally/cally-main.h \
|
||||
cally/cally-rectangle.h \
|
||||
cally/cally-root.h \
|
||||
cally/cally-stage.h \
|
||||
cally/cally-text.h \
|
||||
cally/cally-texture.h \
|
||||
cally/cally-util.h \
|
||||
$(NULL)
|
||||
|
||||
cally_sources_c = \
|
||||
cally/cally-actor.c \
|
||||
cally/cally.c \
|
||||
cally/cally-clone.c \
|
||||
cally/cally-group.c \
|
||||
cally/cally-rectangle.c \
|
||||
cally/cally-root.c \
|
||||
cally/cally-stage.c \
|
||||
cally/cally-text.c \
|
||||
cally/cally-texture.c \
|
||||
cally/cally-util.c \
|
||||
$(NULL)
|
||||
|
||||
cally_sources_private = \
|
||||
cally/cally-actor-private.h \
|
||||
$(NULL)
|
||||
|
||||
cally_includedir = $(clutter_base_includedir)/cally
|
||||
cally_include_HEADERS = $(cally_sources_h)
|
||||
|
||||
# general build rules:
|
||||
# you should not need to modify anything below this point
|
||||
|
||||
# glib-genmarshal rules
|
||||
glib_marshal_list = clutter-marshal.list
|
||||
glib_marshal_prefix = _clutter_marshal
|
||||
include $(srcdir)/Makefile.am.marshal
|
||||
|
||||
# glib-mkenums rules
|
||||
glib_enum_h = clutter-enum-types.h
|
||||
glib_enum_c = clutter-enum-types.c
|
||||
glib_enum_headers = $(source_h) $(deprecated_h)
|
||||
include $(srcdir)/Makefile.am.enums
|
||||
|
||||
pkgconfigdir = $(libdir)/pkgconfig
|
||||
pkgconfig_DATA = $(pc_files)
|
||||
DISTCLEANFILES += $(pc_files)
|
||||
|
||||
clutter_include_HEADERS = $(source_h) clutter.h clutter-autocleanups.h clutter-mutter.h
|
||||
nodist_clutter_include_HEADERS = clutter-config.h $(built_source_h)
|
||||
|
||||
clutter_deprecated_HEADERS = $(deprecated_h)
|
||||
|
||||
mutterlibdir = $(libdir)/mutter-@LIBMUTTER_API_VERSION@
|
||||
mutterlib_LTLIBRARIES = libmutter-clutter-@LIBMUTTER_API_VERSION@.la
|
||||
|
||||
libmutter_clutter_@LIBMUTTER_API_VERSION@_la_LIBADD = \
|
||||
$(LIBM) \
|
||||
$(CLUTTER_LIBS) \
|
||||
$(top_builddir)/../cogl/cogl/libmutter-cogl-$(LIBMUTTER_API_VERSION).la \
|
||||
$(top_builddir)/../cogl/cogl-pango/libmutter-cogl-pango-$(LIBMUTTER_API_VERSION).la \
|
||||
$(top_builddir)/../cogl/cogl-path/libmutter-cogl-path-$(LIBMUTTER_API_VERSION).la \
|
||||
$(NULL)
|
||||
|
||||
libmutter_clutter_@LIBMUTTER_API_VERSION@_la_SOURCES = \
|
||||
$(backend_source_c) \
|
||||
$(backend_source_h) \
|
||||
$(backend_source_c_priv) \
|
||||
$(backend_source_h_priv) \
|
||||
$(source_c) \
|
||||
$(source_h) \
|
||||
$(source_c_priv) \
|
||||
$(source_h_priv) \
|
||||
$(deprecated_c) \
|
||||
$(deprecated_h) \
|
||||
$(deprecated_c_priv) \
|
||||
$(deprecated_h_priv) \
|
||||
$(cally_sources_c) \
|
||||
$(cally_sources_h) \
|
||||
$(cally_sources_private) \
|
||||
$(NULL)
|
||||
|
||||
nodist_libmutter_clutter_@LIBMUTTER_API_VERSION@_la_SOURCES = \
|
||||
$(backend_source_built) \
|
||||
$(built_source_c) \
|
||||
$(built_source_h)
|
||||
|
||||
libmutter_clutter_@LIBMUTTER_API_VERSION@_la_LDFLAGS = \
|
||||
$(CLUTTER_LINK_FLAGS) \
|
||||
$(CLUTTER_LT_LDFLAGS) \
|
||||
-export-dynamic \
|
||||
-rpath $(mutterlibdir) \
|
||||
$(NULL)
|
||||
|
||||
install-exec-local:
|
||||
test -z "$(mutterlibdir)" || $(MKDIR_P) "$(DESTDIR)$(mutterlibdir)"
|
||||
for lib in `echo $(compat_libs)`; do \
|
||||
(cd $(DESTDIR)$(mutterlibdir) && \
|
||||
rm -f $$lib.0.$(CLUTTER_LT_CURRENT).$(CLUTTER_LT_REVISION); \
|
||||
) ; \
|
||||
(cd $(DESTDIR)$(mutterlibdir) && \
|
||||
{ ln -s -f libmutter-clutter-$(LIBMUTTER_API_VERSION).so.0.$(CLUTTER_LT_CURRENT).$(CLUTTER_LT_REVISION) $$lib.0 || \
|
||||
{ rm -f $$lib.0 && ln -s libmutter-clutter-$(LIBMUTTER_API_VERSION).so.0.$(CLUTTER_LT_CURRENT).$(CLUTTER_LT_REVISION) $$lib.0; }; \
|
||||
} \
|
||||
) ; \
|
||||
(cd $(DESTDIR)$(mutterlibdir) && \
|
||||
{ ln -s -f libmutter-clutter-$(LIBMUTTER_API_VERSION).so.0.$(CLUTTER_LT_CURRENT).$(CLUTTER_LT_REVISION) $$lib || \
|
||||
{ rm -f $$lib && ln -s libmutter-clutter-$(LIBMUTTER_API_VERSION).so.0.$(CLUTTER_LT_CURRENT).$(CLUTTER_LT_REVISION) $$lib; }; \
|
||||
} \
|
||||
) ; \
|
||||
done
|
||||
|
||||
# gobject-introspection rules
|
||||
-include $(INTROSPECTION_MAKEFILE)
|
||||
|
||||
INTROSPECTION_SCANNER_ARGS = \
|
||||
--add-include-path=$(top_builddir)/../cogl/cogl \
|
||||
--add-include-path=$(top_builddir)/../cogl/cogl-pango
|
||||
INTROSPECTION_COMPILER_ARGS = \
|
||||
--includedir=$(top_builddir)/../cogl/cogl \
|
||||
--includedir=$(top_builddir)/../cogl/cogl-pango
|
||||
INTROSPECTION_SCANNER_ENV = \
|
||||
PKG_CONFIG_PATH=$(top_builddir)/../cogl/cogl/:$(top_builddir)/../cogl/cogl-pango/:$${PKG_CONFIG_PATH}
|
||||
|
||||
Clutter-@LIBMUTTER_API_VERSION@.gir: libmutter-clutter-@LIBMUTTER_API_VERSION@.la Makefile
|
||||
|
||||
Clutter_@LIBMUTTER_API_VERSION@_gir_NAMESPACE = Clutter
|
||||
Clutter_@LIBMUTTER_API_VERSION@_gir_VERSION = @LIBMUTTER_API_VERSION@
|
||||
Clutter_@LIBMUTTER_API_VERSION@_gir_LIBS = libmutter-clutter-@LIBMUTTER_API_VERSION@.la
|
||||
Clutter_@LIBMUTTER_API_VERSION@_gir_FILES = \
|
||||
$(clutter_include_HEADERS) \
|
||||
$(clutter_deprecated_HEADERS) \
|
||||
$(nodist_clutter_include_HEADERS) \
|
||||
$(source_c) \
|
||||
$(deprecated_c) \
|
||||
$(built_source_c)
|
||||
Clutter_@LIBMUTTER_API_VERSION@_gir_CFLAGS = $(AM_CPPFLAGS) $(CLUTTER_CFLAGS)
|
||||
Clutter_@LIBMUTTER_API_VERSION@_gir_INCLUDES = GL-1.0 GObject-2.0 cairo-1.0 Cogl-@LIBMUTTER_API_VERSION@ CoglPango-@LIBMUTTER_API_VERSION@ Atk-1.0 Json-1.0
|
||||
Clutter_@LIBMUTTER_API_VERSION@_gir_SCANNERFLAGS = \
|
||||
--warn-all \
|
||||
--c-include='clutter/clutter.h' \
|
||||
--pkg-export=mutter-clutter-@LIBMUTTER_API_VERSION@
|
||||
|
||||
INTROSPECTION_GIRS += Clutter-@LIBMUTTER_API_VERSION@.gir
|
||||
|
||||
Cally-@LIBMUTTER_API_VERSION@.gir: Makefile Clutter-@LIBMUTTER_API_VERSION@.gir
|
||||
|
||||
Cally_@LIBMUTTER_API_VERSION@_gir_NAMESPACE = Cally
|
||||
Cally_@LIBMUTTER_API_VERSION@_gir_VERSION = @LIBMUTTER_API_VERSION@
|
||||
Cally_@LIBMUTTER_API_VERSION@_gir_LIBS = libmutter-clutter-@LIBMUTTER_API_VERSION@.la
|
||||
Cally_@LIBMUTTER_API_VERSION@_gir_FILES = $(cally_sources_h) $(cally_sources_c)
|
||||
Cally_@LIBMUTTER_API_VERSION@_gir_CFLAGS = $(AM_CPPFLAGS) $(CLUTTER_CFLAGS)
|
||||
Cally_@LIBMUTTER_API_VERSION@_gir_SCANNERFLAGS = \
|
||||
--warn-all \
|
||||
--c-include='cally/cally.h' \
|
||||
--pkg-export=mutter-clutter-@LIBMUTTER_API_VERSION@ \
|
||||
--include-uninstalled=$(top_builddir)/clutter/Clutter-@LIBMUTTER_API_VERSION@.gir
|
||||
|
||||
INTROSPECTION_GIRS += Cally-@LIBMUTTER_API_VERSION@.gir
|
||||
|
||||
ClutterX11-@LIBMUTTER_API_VERSION@.gir: Makefile Clutter-@LIBMUTTER_API_VERSION@.gir
|
||||
|
||||
ClutterX11_@LIBMUTTER_API_VERSION@_gir_NAMESPACE = ClutterX11
|
||||
ClutterX11_@LIBMUTTER_API_VERSION@_gir_INCLUDES = xlib-2.0
|
||||
ClutterX11_@LIBMUTTER_API_VERSION@_gir_LIBS = libmutter-clutter-@LIBMUTTER_API_VERSION@.la
|
||||
ClutterX11_@LIBMUTTER_API_VERSION@_gir_FILES = $(x11_introspection)
|
||||
ClutterX11_@LIBMUTTER_API_VERSION@_gir_CFLAGS = $(AM_CPPFLAGS) $(CLUTTER_CFLAGS)
|
||||
ClutterX11_@LIBMUTTER_API_VERSION@_gir_SCANNERFLAGS = \
|
||||
--warn-all \
|
||||
--c-include='clutter/x11/clutter-x11.h' \
|
||||
--pkg-export=mutter-clutter-x11-@LIBMUTTER_API_VERSION@ \
|
||||
--include-uninstalled=$(top_builddir)/clutter/Clutter-@LIBMUTTER_API_VERSION@.gir
|
||||
|
||||
INTROSPECTION_GIRS += ClutterX11-@LIBMUTTER_API_VERSION@.gir
|
||||
|
||||
# INTROSPECTION_GIRDIR/INTROSPECTION_TYPELIBDIR aren't the right place to
|
||||
# install anything - we need to install inside our prefix.
|
||||
girdir = $(mutterlibdir)
|
||||
gir_DATA = $(INTROSPECTION_GIRS)
|
||||
|
||||
typelibdir = $(mutterlibdir)
|
||||
typelib_DATA = $(INTROSPECTION_GIRS:.gir=.typelib)
|
||||
|
||||
EXTRA_DIST += \
|
||||
Makefile.am.marshal \
|
||||
Makefile.am.enums
|
||||
|
||||
CLEANFILES += $(gir_DATA) $(typelib_DATA)
|
@ -1,52 +0,0 @@
|
||||
# Rules for generating enumeration types using glib-mkenums
|
||||
#
|
||||
# Define:
|
||||
# glib_enum_h = header template file
|
||||
# glib_enum_c = source template file
|
||||
# glib_enum_headers = list of headers to parse
|
||||
#
|
||||
# before including Makefile.am.enums. You will also need to have
|
||||
# the following targets already defined:
|
||||
#
|
||||
# CLEANFILES
|
||||
# DISTCLEANFILES
|
||||
# BUILT_SOURCES
|
||||
# EXTRA_DIST
|
||||
#
|
||||
# Author: Emmanuele Bassi <ebassi@linux.intel.com>
|
||||
|
||||
# Basic sanity checks
|
||||
$(if $(GLIB_MKENUMS),,$(error Need to define GLIB_MKENUMS))
|
||||
|
||||
$(if $(or $(glib_enum_h), \
|
||||
$(glib_enum_c)),, \
|
||||
$(error Need to define glib_enum_h and glib_enum_c))
|
||||
|
||||
$(if $(glib_enum_headers),,$(error Need to define glib_enum_headers))
|
||||
|
||||
enum_tmpl_h=$(addprefix $(srcdir)/, $(glib_enum_h:.h=.h.in))
|
||||
enum_tmpl_c=$(addprefix $(srcdir)/, $(glib_enum_c:.c=.c.in))
|
||||
enum_headers=$(addprefix $(srcdir)/, $(glib_enum_headers))
|
||||
|
||||
CLEANFILES += stamp-enum-types
|
||||
DISTCLEANFILES += $(glib_enum_h) $(glib_enum_c)
|
||||
BUILT_SOURCES += $(glib_enum_h) $(glib_enum_c)
|
||||
EXTRA_DIST += $(enum_tmpl_h) $(enum_tmpl_c)
|
||||
|
||||
stamp-enum-types: $(enum_headers) $(enum_tmpl_h)
|
||||
$(AM_V_GEN)$(GLIB_MKENUMS) \
|
||||
--template $(enum_tmpl_h) \
|
||||
$(enum_headers) > xgen-eh \
|
||||
&& (cmp -s xgen-eh $(glib_enum_h) || cp -f xgen-eh $(glib_enum_h)) \
|
||||
&& rm -f xgen-eh \
|
||||
&& echo timestamp > $(@F)
|
||||
|
||||
$(glib_enum_h): stamp-enum-types
|
||||
@true
|
||||
|
||||
$(glib_enum_c): $(enum_headers) $(enum_tmpl_h) $(enum_tmpl_c)
|
||||
$(AM_V_GEN)$(GLIB_MKENUMS) \
|
||||
--template $(enum_tmpl_c) \
|
||||
$(enum_headers) > xgen-ec \
|
||||
&& cp -f xgen-ec $(glib_enum_c) \
|
||||
&& rm -f xgen-ec
|
@ -1,54 +0,0 @@
|
||||
# Rules for generating marshal files using glib-genmarshal
|
||||
#
|
||||
# Define:
|
||||
# glib_marshal_list = marshal list file
|
||||
# glib_marshal_prefix = prefix for marshal functions
|
||||
#
|
||||
# before including Makefile.am.marshal. You will also need to have
|
||||
# the following targets already defined:
|
||||
#
|
||||
# CLEANFILES
|
||||
# DISTCLEANFILES
|
||||
# BUILT_SOURCES
|
||||
# EXTRA_DIST
|
||||
#
|
||||
# Author: Emmanuele Bassi <ebassi@linux.intel.com>
|
||||
|
||||
# Basic sanity checks
|
||||
$(if $(GLIB_GENMARSHAL),,$(error Need to define GLIB_GENMARSHAL))
|
||||
|
||||
$(if $(or $(glib_marshal_list), \
|
||||
$(glib_marshal_prefix)),, \
|
||||
$(error Need to define glib_marshal_list and glib_marshal_prefix))
|
||||
|
||||
marshal_h = $(glib_marshal_list:.list=.h)
|
||||
marshal_c = $(glib_marshal_list:.list=.c)
|
||||
marshal_list = $(addprefix $(srcdir)/, $(glib_marshal_list))
|
||||
|
||||
CLEANFILES += stamp-marshal
|
||||
DISTCLEANFILES += $(marshal_h) $(marshal_c)
|
||||
BUILT_SOURCES += $(marshal_h) $(marshal_c)
|
||||
EXTRA_DIST += $(marshal_list)
|
||||
|
||||
stamp-marshal: $(marshal_list)
|
||||
$(AM_V_GEN)$(GLIB_GENMARSHAL) \
|
||||
--prefix=$(glib_marshal_prefix) \
|
||||
--header \
|
||||
--valist-marshallers \
|
||||
$(marshal_list) > xgen-mh \
|
||||
&& (cmp -s xgen-mh $(marshal_h) || cp -f xgen-mh $(marshal_h)) \
|
||||
&& rm -f xgen-mh \
|
||||
&& echo timestamp > $(@F)
|
||||
|
||||
$(marshal_h): stamp-marshal
|
||||
@true
|
||||
|
||||
$(marshal_c): $(marshal_h)
|
||||
$(AM_V_GEN)$(GLIB_GENMARSHAL) \
|
||||
--prefix=$(glib_marshal_prefix) \
|
||||
--body \
|
||||
--valist-marshallers \
|
||||
--prototypes \
|
||||
$(marshal_list) > xgen-mc \
|
||||
&& (cmp -s xgen-mc $(marshal_c) || cp -f xgen-mc $(marshal_c)) \
|
||||
&& rm -f xgen-mc
|
@ -1,705 +0,0 @@
|
||||
AC_PREREQ([2.63])
|
||||
|
||||
AC_INIT([clutter],
|
||||
[0.1],
|
||||
[http://bugzilla.gnome.org/enter_bug.cgi?product=clutter],
|
||||
[clutter],
|
||||
[http://www.clutter-project.org])
|
||||
|
||||
AC_CONFIG_SRCDIR([clutter/clutter.h])
|
||||
AC_CONFIG_HEADERS([clutter/clutter-build-config.h])
|
||||
AC_CONFIG_AUX_DIR([build])
|
||||
AC_CONFIG_MACRO_DIR([build/autotools])
|
||||
|
||||
AM_INIT_AUTOMAKE([1.11 foreign -Wno-portability no-define no-dist-gzip dist-xz tar-ustar])
|
||||
AM_SILENT_RULES([yes])
|
||||
|
||||
dnl = Check that we are configured by mutter ==============================
|
||||
|
||||
AC_ARG_VAR([MUTTER_VERSION])
|
||||
AC_ARG_VAR([LIBMUTTER_API_VERSION])
|
||||
|
||||
AS_IF([test "x$MUTTER_VERSION" = "x"],
|
||||
[AC_MSG_ERROR([Clutter can only be configured by mutter])],)
|
||||
|
||||
AC_DEFINE_UNQUOTED(MUTTER_VERSION, "$MUTTER_VERSION", [Mutter version])
|
||||
|
||||
AC_PROG_SED
|
||||
|
||||
dnl = Preliminary platform checks =============================================
|
||||
|
||||
AC_CANONICAL_HOST
|
||||
AC_CACHE_SAVE
|
||||
|
||||
dnl = Dependencies =========================================================
|
||||
|
||||
# Checks for programs.
|
||||
AM_PROG_CC_C_O
|
||||
|
||||
# require libtool >= 2.2
|
||||
LT_PREREQ([2.2.6])
|
||||
LT_INIT([disable-static])
|
||||
LT_LIB_M
|
||||
|
||||
# Checks for header files.
|
||||
AC_HEADER_STDC
|
||||
|
||||
# required versions for dependencies
|
||||
m4_define([glib_req_version], [2.53.2])
|
||||
m4_define([cogl_req_version], [1.21.2])
|
||||
m4_define([json_glib_req_version], [0.12.0])
|
||||
m4_define([atk_req_version], [2.5.3])
|
||||
m4_define([cairo_req_version], [1.14.0])
|
||||
m4_define([pango_req_version], [1.30])
|
||||
m4_define([gi_req_version], [1.39.0])
|
||||
m4_define([xcomposite_req_version], [0.4])
|
||||
m4_define([libinput_req_version], [1.4.0])
|
||||
m4_define([libudev_req_version], [136])
|
||||
m4_define([libwacom_req_version], [0.13])
|
||||
|
||||
AC_SUBST([GLIB_REQ_VERSION], [glib_req_version])
|
||||
AC_SUBST([COGL_REQ_VERSION], [cogl_req_version])
|
||||
AC_SUBST([JSON_GLIB_REQ_VERSION], [json_glib_req_version])
|
||||
AC_SUBST([ATK_REQ_VERSION], [atk_req_version])
|
||||
AC_SUBST([CAIRO_REQ_VERSION], [cairo_req_version])
|
||||
AC_SUBST([PANGO_REQ_VERSION], [pango_req_version])
|
||||
AC_SUBST([GI_REQ_VERSION], [gi_req_version])
|
||||
AC_SUBST([XCOMPOSITE_REQ_VERSION], [xcomposite_req_version])
|
||||
AC_SUBST([LIBINPUT_REQ_VERSION], [libinput_req_version])
|
||||
AC_SUBST([LIBUDEV_REQ_VERSION], [libudev_req_version])
|
||||
AC_SUBST([LIBWACOM_REQ_VERSION], [libwacom_req_version])
|
||||
|
||||
# Checks for typedefs, structures, and compiler characteristics.
|
||||
AM_PATH_GLIB_2_0([glib_req_version],
|
||||
[],
|
||||
[AC_MSG_ERROR([glib-2.0 is required])],
|
||||
[gobject gio gthread gmodule-no-export])
|
||||
|
||||
# Check for -Bsymbolic-functions to avoid intra-library PLT jumps
|
||||
AC_ARG_ENABLE([Bsymbolic],
|
||||
[AS_HELP_STRING([--disable-Bsymbolic],
|
||||
[Avoid linking with -Bsymbolic])],
|
||||
[],
|
||||
[
|
||||
saved_LDFLAGS="${LDFLAGS}"
|
||||
AC_MSG_CHECKING([for -Bsymbolic-functions linker flag])
|
||||
LDFLAGS=-Wl,-Bsymbolic-functions
|
||||
AC_TRY_LINK([], [return 0],
|
||||
[
|
||||
AC_MSG_RESULT([yes])
|
||||
enable_Bsymbolic=yes
|
||||
],
|
||||
[
|
||||
AC_MSG_RESULT([no])
|
||||
enable_Bsymbolic=no
|
||||
])
|
||||
LDFLAGS="${saved_LDFLAGS}"
|
||||
])
|
||||
|
||||
AS_IF([test "x$enable_Bsymbolic" = "xyes"], [CLUTTER_LINK_FLAGS=-Wl[,]-Bsymbolic-functions])
|
||||
AC_SUBST(CLUTTER_LINK_FLAGS)
|
||||
|
||||
AC_CACHE_SAVE
|
||||
|
||||
dnl ========================================================================
|
||||
|
||||
FLAVOUR_LIBS=""
|
||||
FLAVOUR_CFLAGS=""
|
||||
CLUTTER_BACKENDS=""
|
||||
CLUTTER_INPUT_BACKENDS=""
|
||||
CLUTTER_CONFIG_DEFINES=
|
||||
|
||||
# base dependencies for core
|
||||
CLUTTER_BASE_PC_FILES="cairo-gobject >= $CAIRO_REQ_VERSION gio-2.0 >= glib_req_version atk >= $ATK_REQ_VERSION pangocairo >= $PANGO_REQ_VERSION json-glib-1.0 >= $JSON_GLIB_REQ_VERSION"
|
||||
|
||||
# private base dependencies
|
||||
CLUTTER_BASE_PC_FILES_PRIVATE=""
|
||||
|
||||
# backend specific pkg-config files
|
||||
BACKEND_PC_FILES=""
|
||||
|
||||
# private backend specific dependencies
|
||||
BACKEND_PC_FILES_PRIVATE=""
|
||||
|
||||
dnl === Clutter windowing system backend ======================================
|
||||
|
||||
CLUTTER_BACKENDS="$CLUTTER_BACKENDS x11"
|
||||
CLUTTER_INPUT_BACKENDS="$CLUTTER_INPUT_BACKENDS x11"
|
||||
|
||||
SUPPORT_X11=1
|
||||
SUPPORT_GLX=1
|
||||
SUPPORT_COGL=1
|
||||
|
||||
# we use fontconfig API and pango-ft2 when the fontconfig
|
||||
# configuration changes; we don't expose any API for this
|
||||
# so we add pango-ft2 to the private Requires.
|
||||
PKG_CHECK_EXISTS([pangoft2],
|
||||
[
|
||||
AC_DEFINE([HAVE_PANGO_FT2], [1], [Supports PangoFt2])
|
||||
BACKEND_PC_FILES_PRIVATE="$BACKEND_PC_FILES_PRIVATE pangoft2"
|
||||
],
|
||||
[])
|
||||
|
||||
AC_ARG_ENABLE(
|
||||
[wayland-egl-server],
|
||||
[AC_HELP_STRING([--enable-wayland-egl-server=@<:@no/yes@:>@], [Enable server side wayland support @<:@default=no@:>@])],
|
||||
[],
|
||||
enable_wayland_egl_server=yes
|
||||
)
|
||||
|
||||
AS_IF([test "x$enable_wayland_egl_server" = "xyes"],
|
||||
[
|
||||
CLUTTER_BACKENDS="$CLUTTER_BACKENDS egl"
|
||||
SUPPORT_EGL=1
|
||||
|
||||
BACKEND_PC_FILES="$BACKEND_PC_FILES wayland-egl wayland-server"
|
||||
|
||||
SUPPORT_WAYLAND_COMPOSITOR=1
|
||||
CLUTTER_CONFIG_DEFINES="$CLUTTER_CONFIG_DEFINES
|
||||
#define CLUTTER_HAS_WAYLAND_COMPOSITOR_SUPPORT 1"
|
||||
|
||||
CLUTTER_INPUT_BACKENDS="$CLUTTER_INPUT_BACKENDS evdev"
|
||||
|
||||
SUPPORT_EVDEV=1
|
||||
BACKEND_PC_FILES_PRIVATE="$BACKEND_PC_FILES_PRIVATE libudev >= $LIBUDEV_REQ_VERSION libinput >= $LIBINPUT_REQ_VERSION xkbcommon"
|
||||
AC_DEFINE([HAVE_EVDEV], [1], [Have evdev support for input handling])
|
||||
])
|
||||
|
||||
AM_CONDITIONAL(SUPPORT_WAYLAND, [test "x$enable_wayland_egl_server" = "xyes"])
|
||||
|
||||
AC_DEFINE_UNQUOTED([CLUTTER_DRIVERS], ["*"], [List of Cogl drivers])
|
||||
|
||||
dnl strip leading spaces
|
||||
CLUTTER_BACKENDS=${CLUTTER_BACKENDS#* }
|
||||
AC_SUBST(CLUTTER_BACKENDS)
|
||||
|
||||
CLUTTER_INPUT_BACKENDS=${CLUTTER_INPUT_BACKENDS#* }
|
||||
AC_SUBST(CLUTTER_INPUT_BACKENDS)
|
||||
|
||||
AC_CACHE_SAVE
|
||||
|
||||
dnl === Clutter configuration =================================================
|
||||
|
||||
# windowing systems
|
||||
AS_IF([test "x$SUPPORT_X11" = "x1"],
|
||||
[CLUTTER_CONFIG_DEFINES="$CLUTTER_CONFIG_DEFINES
|
||||
#define CLUTTER_WINDOWING_X11 \"x11\"
|
||||
#define CLUTTER_INPUT_X11 \"x11\""])
|
||||
AS_IF([test "x$SUPPORT_GLX" = "x1"],
|
||||
[CLUTTER_CONFIG_DEFINES="$CLUTTER_CONFIG_DEFINES
|
||||
#define CLUTTER_WINDOWING_GLX \"glx\""])
|
||||
AS_IF([test "x$SUPPORT_EGL" = "x1"],
|
||||
[CLUTTER_CONFIG_DEFINES="$CLUTTER_CONFIG_DEFINES
|
||||
#define CLUTTER_WINDOWING_EGL \"eglnative\""])
|
||||
AS_IF([test "x$SUPPORT_EVDEV" = "x1"],
|
||||
[CLUTTER_CONFIG_DEFINES="$CLUTTER_CONFIG_DEFINES
|
||||
#define CLUTTER_INPUT_EVDEV \"evdev\""])
|
||||
|
||||
# the 'null' input backend is special
|
||||
CLUTTER_CONFIG_DEFINES="$CLUTTER_CONFIG_DEFINES
|
||||
#define CLUTTER_INPUT_NULL \"null\""
|
||||
|
||||
AC_SUBST([CLUTTER_CONFIG_DEFINES])
|
||||
|
||||
dnl === Clutter substitutions kept for backwards compatibility ================
|
||||
AC_SUBST([CLUTTER_WINSYS], [deprecated])
|
||||
AC_SUBST([CLUTTER_WINSYS_BASE], [deprecated])
|
||||
AC_SUBST([CLUTTER_STAGE_TYPE], [deprecated])
|
||||
AC_SUBST([CLUTTER_SONAME_INFIX], [deprecated])
|
||||
AC_SUBST([CLUTTER_FLAVOUR], [deprecated])
|
||||
AC_SUBST([CLUTTER_COGL], [deprecated])
|
||||
AC_SUBST([COGL_DRIVER], [deprecated])
|
||||
|
||||
dnl === X11 checks, only for X11-based backends ===============================
|
||||
X11_PC_FILES=""
|
||||
X11_EXTS=""
|
||||
x11_tests=no
|
||||
|
||||
AS_IF([test "x$SUPPORT_X11" = "x1"],
|
||||
[
|
||||
# base X11 includes and libraries
|
||||
AC_MSG_CHECKING([for X11])
|
||||
|
||||
# start with pkg-config
|
||||
PKG_CHECK_EXISTS([x11], [have_x11=yes], [have_x11=no])
|
||||
AS_IF([test "x$have_x11" = "xyes"],
|
||||
[
|
||||
X11_PC_FILES="x11"
|
||||
|
||||
# we actually need to ask for CFLAGS and LIBS
|
||||
X11_CFLAGS=`$PKG_CONFIG --cflags $X11_PC_FILES`
|
||||
X11_LIBS=`$PKG_CONFIG --libs $X11_PC_FILES`
|
||||
|
||||
AC_MSG_RESULT([found])
|
||||
],
|
||||
[
|
||||
# no pkg-config, let's go old school
|
||||
AC_PATH_X
|
||||
|
||||
AS_IF([test "x$no_x" = "xyes"],
|
||||
[AC_MSG_ERROR([No X11 Libraries found])],
|
||||
[
|
||||
AS_IF([test "x$x_includes" != "xNONE" && test -n "$x_includes"],
|
||||
[X11_CFLAGS=-I`echo $x_includes | sed -e "s/:/ -I/g"`])
|
||||
|
||||
AS_IF([test "x$x_libraries" != "xNONE" && test -n "$x_libraries"],
|
||||
[X11_LIBS=-L`echo $x_libraries | sed -e "s/:/ -L/g"`])
|
||||
|
||||
AC_MSG_RESULT([found])
|
||||
]
|
||||
)
|
||||
]
|
||||
)
|
||||
|
||||
# XEXT (required)
|
||||
AC_MSG_CHECKING([for XEXT extension])
|
||||
PKG_CHECK_EXISTS([xext], [have_xext=yes], [have_xext=no])
|
||||
AS_IF([test "x$have_xext" = "xyes"],
|
||||
[
|
||||
AC_DEFINE(HAVE_XEXT, [1], [Define to 1 if we have the XEXT X extension])
|
||||
|
||||
X11_LIBS="$X11_LIBS -lXext"
|
||||
X11_PC_FILES="$X11_PC_FILES xext"
|
||||
X11_EXTS="$X11_EXTS xext"
|
||||
|
||||
AC_MSG_RESULT([found])
|
||||
],
|
||||
[AC_MSG_ERROR([Not found])]
|
||||
)
|
||||
|
||||
# XDAMAGE (required)
|
||||
AC_MSG_CHECKING([for XDAMAGE extension])
|
||||
PKG_CHECK_EXISTS([xdamage], [have_xdamage=yes], [have_xdamage=no])
|
||||
AS_IF([test "x$have_xdamage" = "xyes"],
|
||||
[
|
||||
AC_DEFINE(HAVE_XDAMAGE, [1], [Define to 1 if we have the XDAMAGE X extension])
|
||||
|
||||
X11_LIBS="$X11_LIBS -lXdamage"
|
||||
X11_PC_FILES="$X11_PC_FILES xdamage"
|
||||
X11_EXTS="$X11_EXTS xdamage"
|
||||
|
||||
AC_MSG_RESULT([found])
|
||||
],
|
||||
[AC_MSG_ERROR([not found])]
|
||||
)
|
||||
|
||||
# XCOMPOSITE (required)
|
||||
AC_MSG_CHECKING([for XCOMPOSITE extension >= $XCOMPOSITE_REQ_VERSION])
|
||||
PKG_CHECK_EXISTS([xcomposite >= $XCOMPOSITE_REQ_VERSION], [have_xcomposite=yes], [have_xcomposite=no])
|
||||
AS_IF([test "x$have_xcomposite" = "xyes"],
|
||||
[
|
||||
X11_LIBS="$X11_LIBS -lXcomposite"
|
||||
X11_PC_FILES="$X11_PC_FILES xcomposite >= $XCOMPOSITE_REQ_VERSION"
|
||||
X11_EXTS="$X11_EXTS xcomposite"
|
||||
|
||||
AC_MSG_RESULT([found])
|
||||
],
|
||||
[AC_MSG_ERROR([not found])]
|
||||
)
|
||||
|
||||
# XTEST (required)
|
||||
AC_MSG_CHECKING([for XTest extension])
|
||||
PKG_CHECK_EXISTS([xtst], [have_xtest=yes], [have_xtest=no])
|
||||
AS_IF([test "x$have_xtest" = "xyes"],
|
||||
[
|
||||
AC_DEFINE(HAVE_XTEST, [1], [Define to 1 if we have the XTest X extension])
|
||||
|
||||
X11_LIBS="$X11_LIBS -lXtst"
|
||||
X11_PC_FILES="$X11_PC_FILES xtst"
|
||||
X11_EXTS="$X11_EXTS xtst"
|
||||
|
||||
AC_MSG_RESULT([found])
|
||||
],
|
||||
[AC_MSG_ERROR([Not found])]
|
||||
)
|
||||
|
||||
# X Generic Extensions (optional)
|
||||
clutter_save_CPPFLAGS="$CPPFLAGS"
|
||||
CPPFLAGS="$CPPFLAGS $X11_CFLAGS"
|
||||
|
||||
clutter_save_LIBS="$LIBS"
|
||||
LIBS="$LIBS $X11_LIBS"
|
||||
|
||||
CPPFLAGS="$clutter_save_CPPFLAGS"
|
||||
LIBS="$clutter_save_LIBS"
|
||||
|
||||
PKG_CHECK_EXISTS([xi], [have_xinput=yes], AC_MSG_ERROR([XI support not found]))
|
||||
AC_CHECK_HEADERS([X11/extensions/XInput2.h],
|
||||
[],
|
||||
AC_MSG_ERROR([XI2 not found]))
|
||||
AC_CHECK_FUNC([XIAllowTouchEvents],
|
||||
[
|
||||
AC_CHECK_MEMBER([XIScrollClassInfo.number],
|
||||
[],
|
||||
AC_MSG_ERROR([XIScrollClasSInfo.number member missing in XI2]),
|
||||
[[#include <X11/extensions/XInput2.h>]])
|
||||
])
|
||||
LIBS="$clutter_save_LIBS"
|
||||
|
||||
X11_LIBS="$X11_LIBS $XINPUT_LIBS"
|
||||
X11_PC_FILES="$X11_PC_FILES xi"
|
||||
|
||||
AS_IF([test "x$have_xinput_2_2" = "xyes"],
|
||||
[X11_EXTS="$X11_EXTS xi2.2"],
|
||||
[X11_EXTS="$X11_EXTS xi2.0"])
|
||||
|
||||
# XKB
|
||||
clutter_save_CPPFLAGS="$CPPFLAGS"
|
||||
CPPFLAGS="$CPPFLAGS $X11_CFLAGS"
|
||||
|
||||
clutter_save_LIBS="$LIBS"
|
||||
LIBS="$LIBS $X11_LIBS"
|
||||
|
||||
AC_CHECK_FUNC([XkbQueryExtension],
|
||||
[],
|
||||
[AC_MSG_ERROR([XKB support not found])])
|
||||
|
||||
CPPFLAGS="$clutter_save_CPPFLAGS"
|
||||
LIBS="$clutter_save_LIBS"
|
||||
|
||||
x11_tests=yes
|
||||
BACKEND_PC_FILES="$BACKEND_PC_FILES $X11_PC_FILES"
|
||||
FLAVOUR_LIBS="$FLAVOUR_LIBS $X11_LIBS"
|
||||
FLAVOUR_CFLAGS="$FLAVOUR_CFLAGS $X11_CFLAGS"
|
||||
]
|
||||
)
|
||||
|
||||
AM_CONDITIONAL([BUILD_XI2], [test "x$have_xinput2" = "xyes"])
|
||||
AM_CONDITIONAL([X11_TESTS], [test "x$x11_tests" = "xyes"])
|
||||
|
||||
X11_EXTS=${X11_EXTS#* }
|
||||
|
||||
AC_CACHE_SAVE
|
||||
|
||||
dnl === Libwacom support for X11 ===============================================
|
||||
AC_ARG_WITH(libwacom,
|
||||
AC_HELP_STRING([--without-libwacom],
|
||||
[disable the use of libwacom for advanced tablet management]),,
|
||||
with_libwacom=auto)
|
||||
|
||||
have_libwacom=no
|
||||
AC_MSG_CHECKING([libwacom])
|
||||
if test x$with_libwacom = xno ; then
|
||||
AC_MSG_RESULT([disabled])
|
||||
else
|
||||
if $PKG_CONFIG --exists libwacom '>=' $LIBWACOM_REQ_VERSION; then
|
||||
have_libwacom=yes
|
||||
AC_MSG_RESULT(yes)
|
||||
PKG_CHECK_MODULES([LIBWACOM], [libwacom])
|
||||
AC_SUBST(LIBWACOM_CFLAGS)
|
||||
AC_SUBST(LIBWACOM_LIBS)
|
||||
AC_DEFINE([HAVE_LIBWACOM], 1, [Building with libwacom for advanced tablet management])
|
||||
else
|
||||
AC_MSG_RESULT(no)
|
||||
if test x$with_libwacom = xyes ; then
|
||||
AC_MSG_ERROR([libwacom forced but not found])
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
dnl === Check for GDK-Pixbuf in tests =========================================
|
||||
|
||||
PKG_CHECK_MODULES([GDK_PIXBUF], [gdk-pixbuf-2.0])
|
||||
AC_SUBST(GDK_PIXBUF_CFLAGS)
|
||||
AC_SUBST(GDK_PIXBUF_LIBS)
|
||||
|
||||
dnl === Enable debug level ====================================================
|
||||
|
||||
m4_define([debug_default], [minimum])
|
||||
AC_ARG_ENABLE([debug],
|
||||
[AS_HELP_STRING([--enable-debug=@<:@no/minimum/yes@:>@],
|
||||
[Control Clutter debugging level @<:@default=]debug_default[@:>@])],
|
||||
[],
|
||||
[enable_debug=debug_default])
|
||||
|
||||
AS_CASE([$enable_debug],
|
||||
|
||||
[yes],
|
||||
[
|
||||
test "$cflags_set" = set || CFLAGS="$CFLAGS -g"
|
||||
CLUTTER_DEBUG_CFLAGS="-DCLUTTER_ENABLE_DEBUG"
|
||||
],
|
||||
|
||||
[minimum],
|
||||
[CLUTTER_DEBUG_CFLAGS="-DG_DISABLE_CAST_CHECKS"],
|
||||
|
||||
[no],
|
||||
[CLUTTER_DEBUG_CFLAGS="-DG_DISABLE_ASSERT -DG_DISABLE_CHECKS -DG_DISABLE_CAST_CHECKS"],
|
||||
|
||||
[AC_MSG_ERROR([Unknown argument for --enable-debug])]
|
||||
)
|
||||
|
||||
AC_SUBST(CLUTTER_DEBUG_CFLAGS)
|
||||
|
||||
dnl === Enable deprecation guards ==================================================
|
||||
|
||||
m4_define([deprecated_default],
|
||||
[yes])
|
||||
|
||||
AC_ARG_ENABLE([deprecated],
|
||||
[AS_HELP_STRING([--enable-deprecated=@<:@no/yes@:>@],
|
||||
[Whether deprecated symbols should be disabled when compiling Clutter @<:@default=]deprecated_default[@:>@])],
|
||||
[],
|
||||
[enable_deprecated=deprecated_default])
|
||||
|
||||
AS_CASE([$enable_deprecated],
|
||||
|
||||
[no],
|
||||
[
|
||||
CLUTTER_DEPRECATED_CFLAGS="-DG_DISABLE_SINGLE_INCLUDES -DCOGL_DISABLE_DEPRECATED"
|
||||
],
|
||||
|
||||
[yes],
|
||||
[
|
||||
CLUTTER_DEPRECATED_CFLAGS="-DGLIB_DISABLE_DEPRECATION_WARNINGS"
|
||||
],
|
||||
|
||||
[AC_MSG_ERROR([Unknown argument for --enable-deprecated])]
|
||||
)
|
||||
|
||||
AC_SUBST([CLUTTER_DEPRECATED_CFLAGS])
|
||||
|
||||
dnl === Enable strict compiler flags ==========================================
|
||||
|
||||
# use strict compiler flags only when building from git; the rules for
|
||||
# distcheck will take care of turning this on when making a release
|
||||
m4_define([maintainer_flags_default], [no])
|
||||
AC_ARG_ENABLE([maintainer-flags],
|
||||
[AS_HELP_STRING([--enable-maintainer-flags=@<:@no/yes/error@:>@],
|
||||
[Use strict compiler flags @<:@default=]maintainer_flags_default[@:>@])],
|
||||
[],
|
||||
[enable_maintainer_flags=maintainer_flags_default])
|
||||
|
||||
MAINTAINER_COMPILER_FLAGS="$MAINTAINER_COMPILER_FLAGS
|
||||
-Wall
|
||||
-Wcast-align
|
||||
-Wuninitialized
|
||||
-Wno-strict-aliasing
|
||||
-Wshadow"
|
||||
|
||||
AC_ARG_ENABLE([Werror],
|
||||
[AS_HELP_STRING([--disable-Werror], [Removes -Werror from compiler flags])],
|
||||
[],
|
||||
[enable_Werror=yes])
|
||||
|
||||
AS_IF([test "x$enable_Werror" = xyes], [
|
||||
MAINTAINER_COMPILER_FLAGS="$MAINTAINER_COMPILER_FLAGS
|
||||
-Werror=logical-op
|
||||
-Werror=pointer-arith
|
||||
-Werror=missing-declarations
|
||||
-Werror=redundant-decls
|
||||
-Werror=empty-body
|
||||
-Werror=format
|
||||
-Werror=format-security
|
||||
-Werror=format-nonliteral
|
||||
-Werror=init-self
|
||||
-Werror=declaration-after-statement
|
||||
-Werror=vla"
|
||||
])
|
||||
|
||||
AS_CASE([$enable_maintainer_flags],
|
||||
[yes],
|
||||
[
|
||||
AS_COMPILER_FLAGS([MAINTAINER_CFLAGS], [$MAINTAINER_COMPILER_FLAGS])
|
||||
],
|
||||
|
||||
[no],
|
||||
[
|
||||
],
|
||||
|
||||
[error],
|
||||
[
|
||||
MAINTAINER_COMPILER_FLAGS="$MAINTAINER_COMPILER_FLAGS -Werror"
|
||||
AS_COMPILER_FLAGS([MAINTAINER_CFLAGS], [$MAINTAINER_COMPILER_FLAGS])
|
||||
],
|
||||
|
||||
[*],
|
||||
[AC_MSG_ERROR([Invalid option for --enable-maintainer-flags])]
|
||||
)
|
||||
|
||||
# strip leading spaces
|
||||
MAINTAINER_CFLAGS=${MAINTAINER_CFLAGS#* }
|
||||
AC_SUBST(MAINTAINER_CFLAGS)
|
||||
|
||||
dnl === Dependencies, compiler flags and linker libraries =====================
|
||||
# strip leading space
|
||||
BACKEND_PC_FILES=${BACKEND_PC_FILES#* }
|
||||
|
||||
# public dependencies, will fill the Requires: field of clutter.pc
|
||||
CLUTTER_REQUIRES="$CLUTTER_BASE_PC_FILES $BACKEND_PC_FILES"
|
||||
PKG_CHECK_MODULES(CLUTTER_DEPS, [$CLUTTER_REQUIRES])
|
||||
|
||||
# private dependencies, will fill the Requires.private: field of clutter.pc
|
||||
AS_IF([test "x$CLUTTER_BASE_PC_FILES_PRIVATE" = "x" && test "x$BACKEND_PC_FILES_PRIVATE" = "x"],
|
||||
[
|
||||
CLUTTER_REQUIRES_PRIVATE=""
|
||||
CLUTTER_DEPS_PRIVATE_CFLAGS=""
|
||||
CLUTTER_DEPS_PRIVATE_LIBS=""
|
||||
],
|
||||
[
|
||||
CLUTTER_REQUIRES_PRIVATE="$CLUTTER_BASE_PC_FILES_PRIVATE $BACKEND_PC_FILES_PRIVATE"
|
||||
PKG_CHECK_MODULES(CLUTTER_DEPS_PRIVATE, [$CLUTTER_REQUIRES_PRIVATE])
|
||||
])
|
||||
|
||||
AC_SUBST(CLUTTER_REQUIRES)
|
||||
AC_SUBST(CLUTTER_REQUIRES_PRIVATE)
|
||||
|
||||
CLUTTER_CFLAGS="$FLAVOUR_CFLAGS $CLUTTER_DEPS_CFLAGS $CLUTTER_DEPS_PRIVATE_CFLAGS $GLIB_CFLAGS $LIBWACOM_CFLAGS"
|
||||
CLUTTER_LIBS="$FLAVOUR_LIBS $CLUTTER_DEPS_LIBS $CLUTTER_DEPS_PRIVATE_LIBS $GLIB_LIBS $LIBWACOM_LIBS"
|
||||
AC_SUBST(CLUTTER_CFLAGS)
|
||||
AC_SUBST(CLUTTER_LIBS)
|
||||
|
||||
dnl === Test coverage =========================================================
|
||||
|
||||
AC_ARG_ENABLE([gcov],
|
||||
[AS_HELP_STRING([--enable-gcov], [Enable gcov])],
|
||||
[use_gcov=$enableval],
|
||||
[use_gcov=no])
|
||||
|
||||
AS_IF([test "x$use_gcov" = "xyes"],
|
||||
[
|
||||
dnl we need gcc:
|
||||
AS_IF([test "$GCC" != "yes"], [AC_MSG_ERROR([GCC is required for --enable-gcov])])
|
||||
|
||||
dnl Check if ccache is being used
|
||||
AC_CHECK_PROG(SHTOOL, shtool, shtool)
|
||||
AS_CASE([`$SHTOOL path $CC`],
|
||||
[*ccache*], [gcc_ccache=yes],
|
||||
[gcc_ccache=no])
|
||||
|
||||
if test "$gcc_ccache" = "yes" && (test -z "$CCACHE_DISABLE" || test "$CCACHE_DISABLE" != "1"); then
|
||||
AC_MSG_ERROR([ccache must be disabled when --enable-gcov option is used. You can disable ccache by setting environment variable CCACHE_DISABLE=1.])
|
||||
fi
|
||||
|
||||
ltp_version_list="1.6 1.7 1.8 1.9 1.10"
|
||||
AC_CHECK_PROG(LTP, lcov, lcov)
|
||||
AC_CHECK_PROG(LTP_GENHTML, genhtml, genhtml)
|
||||
|
||||
if test "$LTP"; then
|
||||
AC_CACHE_CHECK([for ltp version], clutter_cv_ltp_version,
|
||||
[
|
||||
clutter_cv_ltp_version=invalid
|
||||
ltp_version=`$LTP -v 2>/dev/null | $SED -e 's/^.* //'`
|
||||
for ltp_check_version in $ltp_version_list; do
|
||||
if test "$ltp_version" = "$ltp_check_version"; then
|
||||
clutter_cv_ltp_version="$ltp_check_version (ok)"
|
||||
fi
|
||||
done
|
||||
])
|
||||
else
|
||||
ltp_msg="To enable code coverage reporting you must have one of the following LTP versions installed: $ltp_version_list"
|
||||
AC_MSG_ERROR([$ltp_msg])
|
||||
fi
|
||||
|
||||
case $clutter_cv_ltp_version in
|
||||
""|invalid[)]
|
||||
ltp_msg="You must have one of the following versions of LTP: $ltp_version_list (found: $ltp_version)."
|
||||
AC_MSG_ERROR([$ltp_msg])
|
||||
LTP="exit 0;"
|
||||
;;
|
||||
esac
|
||||
|
||||
if test -z "$LTP_GENHTML"; then
|
||||
AC_MSG_ERROR([Could not find genhtml from the LTP package])
|
||||
fi
|
||||
|
||||
dnl Remove all optimization flags from CFLAGS
|
||||
changequote({,})
|
||||
CFLAGS=`echo "$CFLAGS" | $SED -e 's/-O[0-9]*//g'`
|
||||
CLUTTER_CFLAGS=`echo "$CLUTTER_CFLAGS" | $SED -e 's/-O[0-9]*//g'`
|
||||
changequote([,])
|
||||
|
||||
dnl Define the special gcc flags
|
||||
CLUTTER_GCOV_CFLAGS="-O0 -fprofile-arcs -ftest-coverage"
|
||||
CLUTTER_GCOV_LDADD="-lgcov"
|
||||
|
||||
AC_SUBST(CLUTTER_GCOV_CFLAGS)
|
||||
AC_SUBST(CLUTTER_GCOV_LDADD)
|
||||
|
||||
CLUTTER_CFLAGS="$CLUTTER_CFLAGS $CLUTTER_GCOV_CFLAGS"
|
||||
CLUTTER_LIBS="$CLUTTER_LIBS $CLUTTER_GCOV_LDADD"
|
||||
])
|
||||
|
||||
AM_CONDITIONAL(ENABLE_GCOV, test "x$use_gcov" = "xyes")
|
||||
|
||||
dnl === GObject-Introspection check ===========================================
|
||||
|
||||
GOBJECT_INTROSPECTION_CHECK([gi_req_version])
|
||||
|
||||
dnl === Conformance test suite ================================================
|
||||
|
||||
GLIB_TESTS
|
||||
|
||||
dnl ===========================================================================
|
||||
|
||||
AC_CONFIG_FILES([
|
||||
Makefile
|
||||
|
||||
build/Makefile
|
||||
build/autotools/Makefile
|
||||
|
||||
clutter/Makefile
|
||||
clutter/clutter-config.h
|
||||
clutter/mutter-clutter-$LIBMUTTER_API_VERSION.pc:clutter/mutter-clutter.pc.in
|
||||
|
||||
tests/Makefile
|
||||
tests/accessibility/Makefile
|
||||
tests/conform/Makefile
|
||||
tests/interactive/Makefile
|
||||
tests/interactive/wrapper.sh
|
||||
tests/micro-bench/Makefile
|
||||
tests/performance/Makefile
|
||||
])
|
||||
|
||||
AC_OUTPUT
|
||||
|
||||
dnl === Summary ===============================================================
|
||||
|
||||
echo ""
|
||||
echo "Clutter - $VERSION (${CLUTTER_RELEASE_STATUS})"
|
||||
|
||||
# Global flags
|
||||
echo ""
|
||||
echo " • Global:"
|
||||
echo " Prefix: ${prefix}"
|
||||
echo " Libdir: ${libdir}"
|
||||
echo " Sysconfdir: ${sysconfdir}"
|
||||
|
||||
# Compiler/Debug related flags
|
||||
echo ""
|
||||
echo " • Compiler options:"
|
||||
echo " Clutter debug level: ${enable_debug}"
|
||||
echo " Compiler flags: ${CFLAGS} ${MAINTAINER_CFLAGS}"
|
||||
echo " Enable coverage tests: ${use_gcov}"
|
||||
echo " Enable deprecated symbols: ${enable_deprecated}"
|
||||
|
||||
# Miscellaneous
|
||||
echo ""
|
||||
echo " • Extra:"
|
||||
echo " Build introspection data: ${enable_introspection}"
|
||||
if test "x$x11_tests" = "xyes"; then
|
||||
echo " Build X11-specific tests: ${x11_tests}"
|
||||
fi
|
||||
if test "x$pixbuf_tests" = "xyes"; then
|
||||
echo " Build tests using GDK-Pixbuf: ${pixbuf_tests}"
|
||||
fi
|
||||
echo " Install test suites: ${enable_installed_tests}"
|
||||
|
||||
# Clutter backend related flags
|
||||
echo ""
|
||||
echo " • Clutter Backends:"
|
||||
echo " Windowing systems: ${CLUTTER_BACKENDS}"
|
||||
echo " Input backends: ${CLUTTER_INPUT_BACKENDS}"
|
||||
|
||||
if test "x$SUPPORT_X11" = "x1"; then
|
||||
echo ""
|
||||
echo " - X11 backend options:"
|
||||
echo " Enabled extensions: ${X11_EXTS}"
|
||||
fi
|
||||
|
||||
if test "x$SUPPORT_WAYLAND_COMPOSITOR" = "x1"; then
|
||||
echo ""
|
||||
echo " - Wayland compositor support enabled"
|
||||
fi
|
||||
|
||||
echo ""
|
@ -1,3 +0,0 @@
|
||||
SUBDIRS = accessibility conform interactive micro-bench performance
|
||||
|
||||
EXTRA_DIST = README clutter-1.0.suppressions
|
@ -1,37 +0,0 @@
|
||||
common_ldadd = \
|
||||
$(top_builddir)/clutter/libmutter-clutter-@LIBMUTTER_API_VERSION@.la
|
||||
|
||||
common_sources = \
|
||||
cally-examples-util.c \
|
||||
cally-examples-util.h
|
||||
|
||||
AM_CPPFLAGS = \
|
||||
-DPREFIXDIR=\"$(libdir)\" \
|
||||
-DCLUTTER_DISABLE_DEPRECATION_WARNINGS \
|
||||
-DGLIB_DISABLE_DEPRECATION_WARNINGS \
|
||||
-I$(top_srcdir)/../cogl \
|
||||
-I$(top_builddir)/../cogl \
|
||||
-I$(top_builddir)/../cogl/cogl \
|
||||
-I$(top_srcdir) \
|
||||
-I$(top_builddir) \
|
||||
-I$(top_srcdir)/clutter \
|
||||
-I$(top_builddir)/clutter \
|
||||
-I$(top_srcdir)/tests/accessibility
|
||||
|
||||
AM_CFLAGS = $(CLUTTER_CFLAGS) $(MAINTAINER_CFLAGS)
|
||||
LDADD = $(common_ldadd) $(CLUTTER_LIBS)
|
||||
|
||||
check_PROGRAMS = \
|
||||
cally-atkcomponent-example \
|
||||
cally-atkeditabletext-example \
|
||||
cally-atkevents-example \
|
||||
cally-atktext-example \
|
||||
cally-clone-example
|
||||
|
||||
cally_atkcomponent_example_SOURCES = $(common_sources) cally-atkcomponent-example.c
|
||||
cally_atktext_example_SOURCES = $(common_sources) cally-atktext-example.c
|
||||
cally_atkevents_example_SOURCES = $(common_sources) cally-atkevents-example.c
|
||||
cally_atkeditabletext_example_SOURCES = $(common_sources) cally-atkeditabletext-example.c
|
||||
cally_clone_example_SOURCES = $(common_sources) cally-clone-example.c
|
||||
|
||||
DISTCLEANFILES =
|
@ -1,97 +0,0 @@
|
||||
installed_test_metadir = $(datadir)/installed-tests/mutter-clutter
|
||||
installed_testdir = $(libexecdir)/installed-tests/mutter-clutter
|
||||
include $(top_srcdir)/build/autotools/glib-tap.mk
|
||||
|
||||
AM_CFLAGS = -g $(CLUTTER_CFLAGS) $(MAINTAINER_CFLAGS)
|
||||
LDADD = $(top_builddir)/../cogl/cogl/libmutter-cogl-@LIBMUTTER_API_VERSION@.la $(top_builddir)/clutter/libmutter-clutter-@LIBMUTTER_API_VERSION@.la $(CLUTTER_LIBS) $(LIBM)
|
||||
AM_LDFLAGS = -export-dynamic
|
||||
AM_CPPFLAGS = \
|
||||
-DG_LOG_DOMAIN=\"Clutter-Conform\" \
|
||||
-I$(top_srcdir)/../cogl \
|
||||
-I$(top_builddir)/../cogl \
|
||||
-I$(top_builddir)/../cogl/cogl \
|
||||
-I$(top_srcdir) \
|
||||
-I$(top_builddir) \
|
||||
-DCOGL_DISABLE_DEPRECATION_WARNINGS \
|
||||
$(CLUTTER_DEPRECATED_CFLAGS) \
|
||||
$(CLUTTER_DEBUG_CFLAGS)
|
||||
|
||||
# Basic actor API
|
||||
actor_tests = \
|
||||
actor-anchors \
|
||||
actor-destroy \
|
||||
actor-graph \
|
||||
actor-invariants \
|
||||
actor-iter \
|
||||
actor-layout \
|
||||
actor-meta \
|
||||
actor-offscreen-limit-max-size \
|
||||
actor-offscreen-redirect \
|
||||
actor-paint-opacity \
|
||||
actor-pick \
|
||||
actor-shader-effect \
|
||||
actor-size \
|
||||
$(NULL)
|
||||
|
||||
# Actor classes
|
||||
classes_tests = \
|
||||
text \
|
||||
$(NULL)
|
||||
|
||||
# General API
|
||||
general_tests = \
|
||||
binding-pool \
|
||||
color \
|
||||
interval \
|
||||
model \
|
||||
script-parser \
|
||||
units \
|
||||
$(NULL)
|
||||
|
||||
# Test for deprecated functionality
|
||||
deprecated_tests = \
|
||||
animator \
|
||||
behaviours \
|
||||
group \
|
||||
rectangle \
|
||||
texture \
|
||||
$(NULL)
|
||||
|
||||
test_programs = $(actor_tests) $(general_tests) $(classes_tests) $(deprecated_tests)
|
||||
|
||||
dist_test_data = $(script_ui_files)
|
||||
script_ui_files = $(addprefix scripts/,$(script_tests))
|
||||
script_tests = \
|
||||
test-animator-1.json \
|
||||
test-animator-2.json \
|
||||
test-animator-3.json \
|
||||
test-script-animation.json \
|
||||
test-script-child.json \
|
||||
test-script-implicit-alpha.json \
|
||||
test-script-interval.json \
|
||||
test-script-layout-property.json \
|
||||
test-script-margin.json \
|
||||
test-script-model.json \
|
||||
test-script-named-object.json \
|
||||
test-script-object-property.json \
|
||||
test-script-single.json \
|
||||
test-script-timeline-markers.json \
|
||||
test-state-1.json
|
||||
|
||||
TESTS_ENVIRONMENT += G_ENABLE_DIAGNOSTIC=0 CLUTTER_ENABLE_DIAGNOSTIC=0 CLUTTER_SCALE=1
|
||||
|
||||
# simple rules for generating a Git ignore file for the conformance test suite
|
||||
$(srcdir)/.gitignore: Makefile
|
||||
$(AM_V_GEN)( echo "/*.trs" ; \
|
||||
echo "/*.log" ; \
|
||||
echo "/*.test" ; \
|
||||
echo "/.gitignore" ; \
|
||||
for p in $(test_programs); do \
|
||||
echo "/$$p" ; \
|
||||
done ) > $(@F)
|
||||
|
||||
gitignore: $(srcdir)/.gitignore
|
||||
|
||||
all-am: gitignore
|
||||
|
||||
DISTCLEANFILES += .gitignore
|
@ -1,143 +0,0 @@
|
||||
UNIT_TESTS = \
|
||||
test-texture-slicing.c \
|
||||
test-texture-async.c \
|
||||
test-texture-material.c \
|
||||
test-events.c \
|
||||
test-scale.c \
|
||||
test-actors.c \
|
||||
test-shader-effects.c \
|
||||
test-script.c \
|
||||
test-grab.c \
|
||||
test-cogl-shader-glsl.c \
|
||||
test-animator.c \
|
||||
test-state.c \
|
||||
test-state-animator.c \
|
||||
test-fbo.c \
|
||||
test-multistage.c \
|
||||
test-cogl-tex-tile.c \
|
||||
test-cogl-tex-convert.c \
|
||||
test-cogl-tex-foreign.c \
|
||||
test-cogl-offscreen.c \
|
||||
test-cogl-tex-polygon.c \
|
||||
test-cogl-multitexture.c \
|
||||
test-stage-read-pixels.c \
|
||||
test-paint-wrapper.c \
|
||||
test-texture-quality.c \
|
||||
test-layout.c \
|
||||
test-animation.c \
|
||||
test-easing.c \
|
||||
test-binding-pool.c \
|
||||
test-text.c \
|
||||
test-text-field.c \
|
||||
test-cairo-clock.c \
|
||||
test-cairo-flowers.c \
|
||||
test-cogl-vertex-buffer.c \
|
||||
test-stage-sizing.c \
|
||||
test-scrolling.c \
|
||||
test-swipe-action.c \
|
||||
test-cogl-point-sprites.c \
|
||||
test-table-layout.c \
|
||||
test-path-constraint.c \
|
||||
test-state-script.c \
|
||||
test-devices.c \
|
||||
test-content.c \
|
||||
test-keyframe-transition.c \
|
||||
test-bind-constraint.c \
|
||||
test-touch-events.c \
|
||||
test-rotate-zoom.c \
|
||||
test-image.c
|
||||
|
||||
if X11_TESTS
|
||||
UNIT_TESTS += test-pixmap.c
|
||||
endif
|
||||
|
||||
SHEXT = $(EXEEXT)
|
||||
|
||||
# For convenience, this provides a way to easily run individual unit tests:
|
||||
wrappers: stamp-test-interactive
|
||||
@true
|
||||
|
||||
GIT_IGNORE_EXTRA = \
|
||||
stamp-test-interactive \
|
||||
stamp-test-unit-names \
|
||||
test-unit-names.h \
|
||||
$(UNIT_TESTS:.c=$(SHEXT))
|
||||
|
||||
stamp-test-interactive: Makefile
|
||||
@wrapper=$(abs_builddir)/wrapper.sh ; \
|
||||
chmod +x $$wrapper && \
|
||||
for i in $(UNIT_TESTS); \
|
||||
do \
|
||||
test_bin=$${i%*.c} ; \
|
||||
echo " GEN $$test_bin" ; \
|
||||
( echo "#!/bin/sh" ; \
|
||||
echo "$$wrapper $$test_bin \$$@" \
|
||||
) > $$test_bin$(SHEXT) ; \
|
||||
chmod +x $$test_bin$(SHEXT) ; \
|
||||
done \
|
||||
&& echo timestamp > $(@F)
|
||||
|
||||
test-unit-names.h: stamp-test-unit-names
|
||||
@true
|
||||
|
||||
stamp-test-unit-names: Makefile
|
||||
@( echo "/* ** This file is autogenerated. Do not edit. ** */" ; \
|
||||
echo "" ; \
|
||||
echo "const char *test_unit_names[] = {" ) > test-unit-names.h ; \
|
||||
for i in $(UNIT_TESTS); \
|
||||
do \
|
||||
test_bin=$${i%*.c} ; \
|
||||
echo " \"$$test_bin\"," >> test-unit-names.h ; \
|
||||
done \
|
||||
&& echo "};" >> test-unit-names.h \
|
||||
&& echo timestamp > $(@F)
|
||||
|
||||
clean-wrappers:
|
||||
@for i in $(UNIT_TESTS); \
|
||||
do \
|
||||
test_bin=$${i%*.c} ; \
|
||||
echo " RM $$test_bin"; \
|
||||
rm -f $$test_bin$(SHEXT); \
|
||||
done \
|
||||
&& rm -f stamp-test-unit-names \
|
||||
&& rm -f stamp-test-interactive
|
||||
|
||||
.PHONY: wrappers clean-wrappers
|
||||
|
||||
common_ldadd = \
|
||||
$(top_builddir)/clutter/libmutter-clutter-@LIBMUTTER_API_VERSION@.la \
|
||||
$(top_builddir)/../cogl/cogl/libmutter-cogl-@LIBMUTTER_API_VERSION@.la
|
||||
|
||||
check_PROGRAMS = test-interactive
|
||||
check_SCRIPTS = wrappers
|
||||
|
||||
test_interactive_SOURCES = test-main.c $(UNIT_TESTS)
|
||||
nodist_test_interactive_SOURCES = test-unit-names.h
|
||||
test_interactive_CFLAGS = $(CLUTTER_CFLAGS) $(GDK_PIXBUF_CFLAGS)
|
||||
test_interactive_CPPFLAGS = \
|
||||
-DTESTS_DATADIR=\""$(abs_srcdir)"\" \
|
||||
-DG_DISABLE_SINGLE_INCLUDES \
|
||||
-DGLIB_DISABLE_DEPRECATION_WARNINGS \
|
||||
-DCOGL_DISABLE_DEPRECATION_WARNINGS \
|
||||
-DCLUTTER_DISABLE_DEPRECATION_WARNINGS \
|
||||
-I$(top_srcdir)/../cogl \
|
||||
-I$(top_builddir)/../cogl \
|
||||
-I$(top_builddir)/../cogl/cogl \
|
||||
-I$(top_srcdir) \
|
||||
-I$(top_builddir) \
|
||||
-I$(top_srcdir)/clutter \
|
||||
-I$(top_builddir)/clutter
|
||||
test_interactive_LDFLAGS = -export-dynamic
|
||||
test_interactive_LDADD = $(CLUTTER_LIBS) $(GDK_PIXBUF_LIBS) $(common_ldadd) $(LIBM)
|
||||
|
||||
EXTRA_DIST = \
|
||||
wrapper.sh.in \
|
||||
test-script.json \
|
||||
test-script-signals.json \
|
||||
redhand.png
|
||||
|
||||
DISTCLEANFILES = wrapper.sh .gitignore test-unit-names.h
|
||||
|
||||
BUILT_SOURCES = test-unit-names.h
|
||||
|
||||
clean-local: clean-wrappers
|
@ -1,34 +0,0 @@
|
||||
common_ldadd = \
|
||||
$(top_builddir)/clutter/libmutter-clutter-@LIBMUTTER_API_VERSION@.la \
|
||||
$(top_builddir)/../cogl/cogl/libmutter-cogl-@LIBMUTTER_API_VERSION@.la
|
||||
|
||||
|
||||
check_PROGRAMS = \
|
||||
test-text \
|
||||
test-picking \
|
||||
test-text-perf \
|
||||
test-random-text \
|
||||
test-cogl-perf
|
||||
|
||||
AM_CFLAGS = $(CLUTTER_CFLAGS) $(MAINTAINER_CFLAGS)
|
||||
|
||||
AM_CPPFLAGS = \
|
||||
-DG_DISABLE_SINGLE_INCLUDES \
|
||||
-DGLIB_DISABLE_DEPRECATION_WARNINGS \
|
||||
-DCOGL_DISABLE_DEPRECATION_WARNINGS \
|
||||
-DCLUTTER_DISABLE_DEPRECATION_WARNINGS \
|
||||
-I$(top_srcdir)/../cogl \
|
||||
-I$(top_builddir)/../cogl \
|
||||
-I$(top_builddir)/../cogl/cogl \
|
||||
-I$(top_srcdir) \
|
||||
-I$(top_builddir) \
|
||||
-I$(top_srcdir)/clutter \
|
||||
-I$(top_builddir)/clutter
|
||||
|
||||
LDADD = $(common_ldadd) $(CLUTTER_LIBS) $(LIBM)
|
||||
|
||||
test_text_SOURCES = test-text.c
|
||||
test_picking_SOURCES = test-picking.c
|
||||
test_text_perf_SOURCES = test-text-perf.c
|
||||
test_random_text_SOURCES = test-random-text.c
|
||||
test_cogl_perf_SOURCES = test-cogl-perf.c
|
@ -1,66 +0,0 @@
|
||||
# A makefile based framework for testing performance commits in retrospect,
|
||||
# based on work done by pippin@gimp.org done for GEGL, original code placed in the public domain.
|
||||
|
||||
SELF = Makefile-retrospect
|
||||
|
||||
MAKE_FLAGS = -j3 -k
|
||||
CC = "ccache gcc" # if you do not have ccache replace with just gcc
|
||||
|
||||
PROJECT_PATH = ../../
|
||||
|
||||
# mute makes echoing of commands
|
||||
.SILENT:
|
||||
|
||||
# replace sequential with random to build a random subset
|
||||
all: reset sequential
|
||||
#all: reset random
|
||||
|
||||
retry:
|
||||
rm -rf reports/`cat jobs | tail -n1`*
|
||||
make -f $(SELF)
|
||||
|
||||
prepare:
|
||||
# uncomment these to make sure cpu is in high performance mode
|
||||
#sudo sh -c 'echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor || true'
|
||||
#sudo sh -c 'echo performance > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor || true'
|
||||
|
||||
reset:
|
||||
rm -rf jobs jobs
|
||||
# remove checkout dir to have a full reset on each invokation
|
||||
rm -rf checkout
|
||||
# create clone
|
||||
git clone -s $(PROJECT_PATH) checkout
|
||||
mkdir reports > /dev/null 2>&1 || true
|
||||
make -f $(SELF) jobs
|
||||
make -f $(SELF) prepare
|
||||
|
||||
jobs: joblist
|
||||
./makejobs.rb joblist > jobs
|
||||
|
||||
sequential:
|
||||
for a in `cat jobs`;do make -f $(SELF) reports/$$a;done
|
||||
|
||||
random:
|
||||
for a in `cat jobs|sort`;do make -f $(SELF) reports/$$a;done
|
||||
|
||||
reports/%:
|
||||
# check out revision
|
||||
(cd checkout; git checkout `echo $@|sed s:reports/::`)
|
||||
# write header for report
|
||||
git log -1 `echo $@|sed s:reports/::` > $@ || true
|
||||
# clean previous build
|
||||
rm -rf install; mkdir install
|
||||
# build revision
|
||||
(cd checkout; if [ ! -f Makefile ]; then CC=$(CC) ./autogen.sh --disable-introspection --prefix=`pwd`/../install; fi ; \
|
||||
make $(MAKE_FLAGS) ; make -k install ) > $@.log 2>&1 || true
|
||||
# testing
|
||||
make -f Makefile-tests clean;\
|
||||
make -f Makefile-tests; sync;\
|
||||
make -f Makefile-tests check >> $@ || true
|
||||
# update report.pdf / report.png
|
||||
./create-report.rb
|
||||
echo
|
||||
|
||||
clean:
|
||||
rm -rf reports jobs report.pdf report.png checkout install
|
||||
make -f Makefile-tests clean
|
@ -1,15 +0,0 @@
|
||||
CFILES = $(wildcard *.c)
|
||||
bins = $(subst ,,$(CFILES:.c=))
|
||||
|
||||
all: $(bins)
|
||||
|
||||
%: %.c
|
||||
PKG_CONFIG_PATH=install/lib/pkgconfig:$(PKG_CONFIG_PATH) $(CC) -DTESTS_DATA_DIR=\"../data/\" `pkg-config clutter-1.0 --cflags --libs` -Wall -O2 -o $@ $<
|
||||
|
||||
check: $(bins)
|
||||
for a in $(bins); do \
|
||||
LD_LIBRARY_PATH=install/lib:$(LD_LIBRARY_PATH) ./$$a;\
|
||||
done
|
||||
|
||||
clean:
|
||||
rm -f $(bins)
|
@ -1,43 +0,0 @@
|
||||
check_PROGRAMS = \
|
||||
test-picking \
|
||||
test-text-perf \
|
||||
test-state \
|
||||
test-state-interactive \
|
||||
test-state-hidden \
|
||||
test-state-mini \
|
||||
test-state-pick
|
||||
|
||||
common_ldadd = $(top_builddir)/clutter/libmutter-clutter-@LIBMUTTER_API_VERSION@.la
|
||||
|
||||
LDADD = $(common_ldadd) $(CLUTTER_LIBS) $(LIBM)
|
||||
|
||||
AM_CFLAGS = $(CLUTTER_CFLAGS)
|
||||
|
||||
AM_CPPFLAGS = \
|
||||
-DG_DISABLE_SINGLE_INCLUDES \
|
||||
-DGLIB_DISABLE_DEPRECATION_WARNINGS \
|
||||
-DCOGL_DISABLE_DEPRECATION_WARNINGS \
|
||||
-DCLUTTER_DISABLE_DEPRECATION_WARNINGS \
|
||||
-DTESTS_DATA_DIR=\""$(top_srcdir)/tests/data/"\" \
|
||||
-I$(top_srcdir)/../cogl \
|
||||
-I$(top_builddir)/../cogl \
|
||||
-I$(top_builddir)/../cogl/cogl \
|
||||
-I$(top_srcdir) \
|
||||
-I$(top_builddir) \
|
||||
-I$(top_srcdir)/clutter \
|
||||
-I$(top_builddir)/clutter
|
||||
|
||||
perf-report: check
|
||||
|
||||
check:
|
||||
for a in $(noinst_PROGRAMS);do ./$$a;done;true
|
||||
|
||||
test_picking_SOURCES = test-picking.c
|
||||
test_text_perf_SOURCES = test-text-perf.c
|
||||
test_state_SOURCES = test-state.c
|
||||
test_state_hidden_SOURCES = test-state-hidden.c
|
||||
test_state_pick_SOURCES = test-state-pick.c
|
||||
test_state_interactive_SOURCES = test-state-interactive.c
|
||||
test_state_mini_SOURCES = test-state-mini.c
|
||||
|
||||
EXTRA_DIST = Makefile-retrospect Makefile-tests create-report.rb test-common.h
|
@ -1,33 +0,0 @@
|
||||
SUBDIRS = test-fixtures
|
||||
|
||||
SUBDIRS += cogl
|
||||
|
||||
SUBDIRS += cogl-path
|
||||
|
||||
SUBDIRS += cogl-pango
|
||||
|
||||
if BUILD_COGL_GLES2
|
||||
SUBDIRS += cogl-gles2
|
||||
endif
|
||||
|
||||
SUBDIRS += tests
|
||||
|
||||
ACLOCAL_AMFLAGS = -I build/autotools ${ACLOCAL_FLAGS}
|
||||
|
||||
EXTRA_DIST = \
|
||||
config-custom.h
|
||||
|
||||
# .changelog expects these to be initializes
|
||||
CLEANFILES=
|
||||
DISTCLEANFILES=
|
||||
|
||||
DISTCHECK_CONFIGURE_FLAGS = \
|
||||
--enable-maintainer-flags \
|
||||
--enable-profile \
|
||||
--enable-gles2 \
|
||||
--enable-gl \
|
||||
--enable-xlib-egl-platform \
|
||||
--enable-wayland-egl-platform \
|
||||
--enable-glx \
|
||||
--enable-wayland-egl-server \
|
||||
--enable-cogl-gst
|
@ -1,52 +0,0 @@
|
||||
# Rules for generating enumeration types using glib-mkenums
|
||||
#
|
||||
# Define:
|
||||
# glib_enum_h = header template file
|
||||
# glib_enum_c = source template file
|
||||
# glib_enum_headers = list of headers to parse
|
||||
#
|
||||
# before including Makefile.am.enums. You will also need to have
|
||||
# the following targets already defined:
|
||||
#
|
||||
# CLEANFILES
|
||||
# DISTCLEANFILES
|
||||
# BUILT_SOURCES
|
||||
# EXTRA_DIST
|
||||
#
|
||||
# Author: Emmanuele Bassi <ebassi@linux.intel.com>
|
||||
|
||||
# Basic sanity checks
|
||||
$(if $(GLIB_MKENUMS),,$(error Need to define GLIB_MKENUMS))
|
||||
|
||||
$(if $(or $(glib_enum_h), \
|
||||
$(glib_enum_c)),, \
|
||||
$(error Need to define glib_enum_h and glib_enum_c))
|
||||
|
||||
$(if $(glib_enum_headers),,$(error Need to define glib_enum_headers))
|
||||
|
||||
enum_tmpl_h=$(addprefix $(srcdir)/, $(glib_enum_h:.h=.h.in))
|
||||
enum_tmpl_c=$(addprefix $(srcdir)/, $(glib_enum_c:.c=.c.in))
|
||||
enum_headers=$(addprefix $(srcdir)/, $(glib_enum_headers))
|
||||
|
||||
CLEANFILES += stamp-enum-types
|
||||
DISTCLEANFILES += $(glib_enum_h) $(glib_enum_c)
|
||||
BUILT_SOURCES += $(glib_enum_h) $(glib_enum_c)
|
||||
EXTRA_DIST += $(enum_tmpl_h) $(enum_tmpl_c)
|
||||
|
||||
stamp-enum-types: $(enum_headers) $(enum_tmpl_h)
|
||||
$(AM_V_GEN)$(GLIB_MKENUMS) \
|
||||
--template $(enum_tmpl_h) \
|
||||
$(enum_headers) > xgen-eh \
|
||||
&& (cmp -s xgen-eh $(glib_enum_h) || cp -f xgen-eh $(glib_enum_h)) \
|
||||
&& rm -f xgen-eh \
|
||||
&& echo timestamp > $(@F)
|
||||
|
||||
$(glib_enum_h): stamp-enum-types
|
||||
@true
|
||||
|
||||
$(glib_enum_c): $(enum_headers) $(enum_tmpl_h) $(enum_tmpl_c)
|
||||
$(AM_V_GEN)$(GLIB_MKENUMS) \
|
||||
--template $(enum_tmpl_c) \
|
||||
$(enum_headers) > xgen-ec \
|
||||
&& cp -f xgen-ec $(glib_enum_c) \
|
||||
&& rm -f xgen-ec
|
@ -1,62 +0,0 @@
|
||||
dnl as-compiler-flag.m4 0.1.0
|
||||
|
||||
dnl autostars m4 macro for detection of compiler flags
|
||||
|
||||
dnl David Schleef <ds@schleef.org>
|
||||
|
||||
dnl $Id: as-compiler-flag.m4,v 1.1 2005/12/15 23:35:19 ds Exp $
|
||||
|
||||
dnl AS_COMPILER_FLAG(CFLAGS, ACTION-IF-ACCEPTED, [ACTION-IF-NOT-ACCEPTED])
|
||||
dnl Tries to compile with the given CFLAGS.
|
||||
dnl Runs ACTION-IF-ACCEPTED if the compiler can compile with the flags,
|
||||
dnl and ACTION-IF-NOT-ACCEPTED otherwise.
|
||||
|
||||
AC_DEFUN([AS_COMPILER_FLAG],
|
||||
[
|
||||
AC_MSG_CHECKING([to see if compiler understands $1])
|
||||
|
||||
save_CFLAGS="$CFLAGS"
|
||||
CFLAGS="$CFLAGS $1"
|
||||
|
||||
AC_TRY_COMPILE([ ], [], [flag_ok=yes], [flag_ok=no])
|
||||
CFLAGS="$save_CFLAGS"
|
||||
|
||||
if test "X$flag_ok" = Xyes ; then
|
||||
m4_ifvaln([$2],[$2])
|
||||
true
|
||||
else
|
||||
m4_ifvaln([$3],[$3])
|
||||
true
|
||||
fi
|
||||
AC_MSG_RESULT([$flag_ok])
|
||||
])
|
||||
|
||||
dnl AS_COMPILER_FLAGS(VAR, FLAGS)
|
||||
dnl Tries to compile with the given CFLAGS.
|
||||
|
||||
AC_DEFUN([AS_COMPILER_FLAGS],
|
||||
[
|
||||
list=$2
|
||||
flags_supported=""
|
||||
flags_unsupported=""
|
||||
AC_MSG_CHECKING([for supported compiler flags])
|
||||
for each in $list
|
||||
do
|
||||
save_CFLAGS="$CFLAGS"
|
||||
CFLAGS="$CFLAGS $each"
|
||||
AC_TRY_COMPILE([ ], [], [flag_ok=yes], [flag_ok=no])
|
||||
CFLAGS="$save_CFLAGS"
|
||||
|
||||
if test "X$flag_ok" = Xyes ; then
|
||||
flags_supported="$flags_supported $each"
|
||||
else
|
||||
flags_unsupported="$flags_unsupported $each"
|
||||
fi
|
||||
done
|
||||
AC_MSG_RESULT([$flags_supported])
|
||||
if test "X$flags_unsupported" != X ; then
|
||||
AC_MSG_WARN([unsupported compiler flags: $flags_unsupported])
|
||||
fi
|
||||
$1="$$1 $flags_supported"
|
||||
])
|
||||
|
@ -1,94 +0,0 @@
|
||||
dnl -*- mode: autoconf -*-
|
||||
dnl Copyright 2009 Johan Dahlin
|
||||
dnl
|
||||
dnl This file is free software; the author(s) gives unlimited
|
||||
dnl permission to copy and/or distribute it, with or without
|
||||
dnl modifications, as long as this notice is preserved.
|
||||
dnl
|
||||
|
||||
# serial 1
|
||||
|
||||
m4_define([_GOBJECT_INTROSPECTION_CHECK_INTERNAL],
|
||||
[
|
||||
AC_BEFORE([AC_PROG_LIBTOOL],[$0])dnl setup libtool first
|
||||
AC_BEFORE([AM_PROG_LIBTOOL],[$0])dnl setup libtool first
|
||||
AC_BEFORE([LT_INIT],[$0])dnl setup libtool first
|
||||
|
||||
dnl enable/disable introspection
|
||||
m4_if([$2], [require],
|
||||
[dnl
|
||||
enable_introspection=yes
|
||||
],[dnl
|
||||
AC_ARG_ENABLE(introspection,
|
||||
AS_HELP_STRING([--enable-introspection[=@<:@no/auto/yes@:>@]],
|
||||
[Enable introspection for this build]),,
|
||||
[enable_introspection=auto])
|
||||
])dnl
|
||||
|
||||
AC_MSG_CHECKING([for gobject-introspection])
|
||||
|
||||
dnl presence/version checking
|
||||
AS_CASE([$enable_introspection],
|
||||
[no], [dnl
|
||||
found_introspection="no (disabled, use --enable-introspection to enable)"
|
||||
],dnl
|
||||
[yes],[dnl
|
||||
PKG_CHECK_EXISTS([gobject-introspection-1.0],,
|
||||
AC_MSG_ERROR([gobject-introspection-1.0 is not installed]))
|
||||
PKG_CHECK_EXISTS([gobject-introspection-1.0 >= $1],
|
||||
found_introspection=yes,
|
||||
AC_MSG_ERROR([You need to have gobject-introspection >= $1 installed to build AC_PACKAGE_NAME]))
|
||||
],dnl
|
||||
[auto],[dnl
|
||||
PKG_CHECK_EXISTS([gobject-introspection-1.0 >= $1], found_introspection=yes, found_introspection=no)
|
||||
],dnl
|
||||
[dnl
|
||||
AC_MSG_ERROR([invalid argument passed to --enable-introspection, should be one of @<:@no/auto/yes@:>@])
|
||||
])dnl
|
||||
|
||||
AC_MSG_RESULT([$found_introspection])
|
||||
|
||||
INTROSPECTION_SCANNER=
|
||||
INTROSPECTION_COMPILER=
|
||||
INTROSPECTION_GENERATE=
|
||||
INTROSPECTION_GIRDIR=
|
||||
INTROSPECTION_TYPELIBDIR=
|
||||
if test "x$found_introspection" = "xyes"; then
|
||||
INTROSPECTION_SCANNER=`$PKG_CONFIG --variable=g_ir_scanner gobject-introspection-1.0`
|
||||
INTROSPECTION_COMPILER=`$PKG_CONFIG --variable=g_ir_compiler gobject-introspection-1.0`
|
||||
INTROSPECTION_GENERATE=`$PKG_CONFIG --variable=g_ir_generate gobject-introspection-1.0`
|
||||
INTROSPECTION_GIRDIR=`$PKG_CONFIG --variable=girdir gobject-introspection-1.0`
|
||||
INTROSPECTION_TYPELIBDIR="$($PKG_CONFIG --variable=typelibdir gobject-introspection-1.0)"
|
||||
INTROSPECTION_CFLAGS=`$PKG_CONFIG --cflags gobject-introspection-1.0`
|
||||
INTROSPECTION_LIBS=`$PKG_CONFIG --libs gobject-introspection-1.0`
|
||||
INTROSPECTION_MAKEFILE=`$PKG_CONFIG --variable=datadir gobject-introspection-1.0`/gobject-introspection-1.0/Makefile.introspection
|
||||
fi
|
||||
AC_SUBST(INTROSPECTION_SCANNER)
|
||||
AC_SUBST(INTROSPECTION_COMPILER)
|
||||
AC_SUBST(INTROSPECTION_GENERATE)
|
||||
AC_SUBST(INTROSPECTION_GIRDIR)
|
||||
AC_SUBST(INTROSPECTION_TYPELIBDIR)
|
||||
AC_SUBST(INTROSPECTION_CFLAGS)
|
||||
AC_SUBST(INTROSPECTION_LIBS)
|
||||
AC_SUBST(INTROSPECTION_MAKEFILE)
|
||||
|
||||
AM_CONDITIONAL(HAVE_INTROSPECTION, test "x$found_introspection" = "xyes")
|
||||
])
|
||||
|
||||
|
||||
dnl Usage:
|
||||
dnl GOBJECT_INTROSPECTION_CHECK([minimum-g-i-version])
|
||||
|
||||
AC_DEFUN([GOBJECT_INTROSPECTION_CHECK],
|
||||
[
|
||||
_GOBJECT_INTROSPECTION_CHECK_INTERNAL([$1])
|
||||
])
|
||||
|
||||
dnl Usage:
|
||||
dnl GOBJECT_INTROSPECTION_REQUIRE([minimum-g-i-version])
|
||||
|
||||
|
||||
AC_DEFUN([GOBJECT_INTROSPECTION_REQUIRE],
|
||||
[
|
||||
_GOBJECT_INTROSPECTION_CHECK_INTERNAL([$1], [require])
|
||||
])
|
@ -1,37 +0,0 @@
|
||||
# preamble
|
||||
|
||||
NULL =
|
||||
|
||||
DISTCLEANFILES =
|
||||
|
||||
mutterlibdir = $(libdir)/mutter-@LIBMUTTER_API_VERSION@
|
||||
mutterlib_LTLIBRARIES = libmutter-cogl-gles2-@LIBMUTTER_API_VERSION@.la
|
||||
|
||||
AM_CPPFLAGS = \
|
||||
-I$(top_srcdir) \
|
||||
-I$(top_builddir) \
|
||||
-I$(top_builddir)/cogl \
|
||||
$(NULL)
|
||||
|
||||
AM_CFLAGS = $(COGL_DEP_CFLAGS) $(COGL_EXTRA_CFLAGS) $(MAINTAINER_CFLAGS)
|
||||
|
||||
libmutter_cogl_gles2_@LIBMUTTER_API_VERSION@_la_SOURCES = cogl-gles2-api.c
|
||||
libmutter_cogl_gles2_@LIBMUTTER_API_VERSION@_la_LDFLAGS = \
|
||||
-no-undefined \
|
||||
-rpath $(mutterlibdir) \
|
||||
-avoid-version \
|
||||
-export-dynamic \
|
||||
-export-symbols-regex "^gl*"
|
||||
|
||||
coglgles2includedir = $(includedir)/mutter-@LIBMUTTER_API_VERSION@/cogl/cogl-gles2/GLES2
|
||||
coglgles2include_HEADERS = \
|
||||
GLES2/gl2.h \
|
||||
GLES2/gl2ext.h \
|
||||
GLES2/gl2platform.h
|
||||
|
||||
pc_files = mutter-cogl-gles2-$(LIBMUTTER_API_VERSION).pc
|
||||
|
||||
pkgconfigdir = $(libdir)/pkgconfig
|
||||
pkgconfig_DATA = $(pc_files)
|
||||
|
||||
DISTCLEANFILES += $(pc_files)
|
@ -1,93 +0,0 @@
|
||||
NULL =
|
||||
|
||||
CLEANFILES =
|
||||
DISTCLEANFILES =
|
||||
|
||||
EXTRA_DIST =
|
||||
|
||||
source_c = \
|
||||
cogl-pango-display-list.c \
|
||||
cogl-pango-fontmap.c \
|
||||
cogl-pango-render.c \
|
||||
cogl-pango-glyph-cache.c \
|
||||
cogl-pango-pipeline-cache.c \
|
||||
$(NULL)
|
||||
|
||||
source_h = cogl-pango.h
|
||||
|
||||
source_h_priv = \
|
||||
cogl-pango-display-list.h \
|
||||
cogl-pango-private.h \
|
||||
cogl-pango-glyph-cache.h \
|
||||
cogl-pango-pipeline-cache.h \
|
||||
$(NULL)
|
||||
|
||||
mutterlibdir = $(libdir)/mutter-@LIBMUTTER_API_VERSION@
|
||||
mutterlib_LTLIBRARIES = libmutter-cogl-pango-@LIBMUTTER_API_VERSION@.la
|
||||
|
||||
libmutter_cogl_pango_@LIBMUTTER_API_VERSION@_la_SOURCES = $(source_c) $(source_h) $(source_h_priv)
|
||||
libmutter_cogl_pango_@LIBMUTTER_API_VERSION@_la_CFLAGS = $(COGL_DEP_CFLAGS) $(COGL_PANGO_DEP_CFLAGS) $(COGL_EXTRA_CFLAGS) $(MAINTAINER_CFLAGS)
|
||||
libmutter_cogl_pango_@LIBMUTTER_API_VERSION@_la_LIBADD = $(top_builddir)/cogl/libmutter-cogl-$(LIBMUTTER_API_VERSION).la
|
||||
libmutter_cogl_pango_@LIBMUTTER_API_VERSION@_la_LIBADD += $(COGL_DEP_LIBS) $(COGL_PANGO_DEP_LIBS) $(COGL_EXTRA_LDFLAGS)
|
||||
libmutter_cogl_pango_@LIBMUTTER_API_VERSION@_la_LDFLAGS = \
|
||||
-export-dynamic \
|
||||
-rpath $(mutterlibdir) \
|
||||
-export-symbols-regex "^cogl_pango_.*" \
|
||||
-no-undefined \
|
||||
-avoid-version
|
||||
|
||||
AM_CPPFLAGS = \
|
||||
-DCOGL_COMPILATION \
|
||||
-DG_LOG_DOMAIN=\"CoglPango\" \
|
||||
-I$(top_srcdir)/cogl \
|
||||
-I$(top_builddir)/cogl \
|
||||
-I$(top_srcdir)/cogl/winsys \
|
||||
-I$(top_srcdir) \
|
||||
-I$(top_builddir)
|
||||
|
||||
cogl_base_includedir = $(includedir)/mutter-@LIBMUTTER_API_VERSION@
|
||||
cogl_pangoheadersdir = $(cogl_base_includedir)/cogl/cogl-pango
|
||||
cogl_pangoheaders_HEADERS = $(source_h)
|
||||
|
||||
pc_files = mutter-cogl-pango-$(LIBMUTTER_API_VERSION).pc
|
||||
|
||||
pkgconfigdir = $(libdir)/pkgconfig
|
||||
pkgconfig_DATA = $(pc_files)
|
||||
|
||||
DISTCLEANFILES += $(pc_files)
|
||||
|
||||
EXTRA_DIST += cogl-pango.symbols
|
||||
|
||||
-include $(INTROSPECTION_MAKEFILE)
|
||||
|
||||
INTROSPECTION_GIRS =
|
||||
|
||||
if HAVE_INTROSPECTION
|
||||
INTROSPECTION_COMPILER_ARGS=--includedir=$(top_builddir)/cogl
|
||||
|
||||
CoglPango-@LIBMUTTER_API_VERSION@.gir: libmutter-cogl-pango-$(LIBMUTTER_API_VERSION).la Makefile
|
||||
|
||||
CoglPango_@LIBMUTTER_API_VERSION@_gir_NAMESPACE = CoglPango
|
||||
CoglPango_@LIBMUTTER_API_VERSION@_gir_VERSION = @LIBMUTTER_API_VERSION@
|
||||
CoglPango_@LIBMUTTER_API_VERSION@_gir_LIBS = $(top_builddir)/cogl/libmutter-cogl-$(LIBMUTTER_API_VERSION).la libmutter-cogl-pango-$(LIBMUTTER_API_VERSION).la
|
||||
CoglPango_@LIBMUTTER_API_VERSION@_gir_FILES = $(source_h) $(source_c)
|
||||
CoglPango_@LIBMUTTER_API_VERSION@_gir_CFLAGS = $(AM_CPPFLAGS) $(COGL_DEP_CFLAGS) $(COGL_PANGO_DEP_CFLAGS)
|
||||
CoglPango_@LIBMUTTER_API_VERSION@_gir_INCLUDES = Pango-1.0 PangoCairo-1.0
|
||||
CoglPango_@LIBMUTTER_API_VERSION@_gir_EXPORT_PACKAGES = mutter-cogl-pango-@LIBMUTTER_API_VERSION@
|
||||
CoglPango_@LIBMUTTER_API_VERSION@_gir_SCANNERFLAGS = \
|
||||
--warn-all \
|
||||
--identifier-prefix=CoglPango \
|
||||
--symbol-prefix=cogl_pango \
|
||||
--c-include='cogl-pango/cogl-pango.h' \
|
||||
--include-uninstalled=$(top_builddir)/cogl/Cogl-@LIBMUTTER_API_VERSION@.gir
|
||||
|
||||
INTROSPECTION_GIRS += CoglPango-@LIBMUTTER_API_VERSION@.gir
|
||||
|
||||
girdir = $(mutterlibdir)
|
||||
gir_DATA = $(INTROSPECTION_GIRS)
|
||||
|
||||
typelibdir = $(mutterlibdir)
|
||||
typelib_DATA = $(INTROSPECTION_GIRS:.gir=.typelib)
|
||||
|
||||
CLEANFILES += $(gir_DATA) $(typelib_DATA)
|
||||
endif
|
@ -1,102 +0,0 @@
|
||||
NULL =
|
||||
|
||||
BUILT_SOURCES =
|
||||
|
||||
CLEANFILES =
|
||||
DISTCLEANFILES =
|
||||
|
||||
EXTRA_DIST =
|
||||
|
||||
# tesselator sources
|
||||
cogl_tesselator_sources = \
|
||||
tesselator/dict-list.h \
|
||||
tesselator/dict.c \
|
||||
tesselator/dict.h \
|
||||
tesselator/geom.c \
|
||||
tesselator/geom.h \
|
||||
tesselator/gluos.h \
|
||||
tesselator/memalloc.h \
|
||||
tesselator/mesh.c \
|
||||
tesselator/mesh.h \
|
||||
tesselator/normal.c \
|
||||
tesselator/normal.h \
|
||||
tesselator/priorityq-heap.h \
|
||||
tesselator/priorityq-sort.h \
|
||||
tesselator/priorityq.c \
|
||||
tesselator/priorityq.h \
|
||||
tesselator/render.c \
|
||||
tesselator/render.h \
|
||||
tesselator/sweep.c \
|
||||
tesselator/sweep.h \
|
||||
tesselator/tess.c \
|
||||
tesselator/tess.h \
|
||||
tesselator/tesselator.h \
|
||||
tesselator/tessmono.c \
|
||||
tesselator/tessmono.h \
|
||||
tesselator/GL/glu.h \
|
||||
$(NULL)
|
||||
|
||||
source_c = \
|
||||
$(cogl_tesselator_sources) \
|
||||
cogl-path-private.h \
|
||||
cogl-path.c \
|
||||
$(NULL)
|
||||
|
||||
EXTRA_DIST += \
|
||||
tesselator/README \
|
||||
tesselator/priorityq-heap.c \
|
||||
cogl-path.symbols \
|
||||
$(NULL)
|
||||
|
||||
source_1_x_h = \
|
||||
cogl-path-types.h \
|
||||
$(NULL)
|
||||
|
||||
source_h = \
|
||||
cogl-path.h \
|
||||
$(source_1_x_h) \
|
||||
cogl-path-functions.h \
|
||||
$(NULL)
|
||||
|
||||
# glib-mkenums rules
|
||||
glib_enum_h = cogl-path-enum-types.h
|
||||
glib_enum_c = cogl-path-enum-types.c
|
||||
glib_enum_headers = $(source_1_x_h)
|
||||
include $(top_srcdir)/build/autotools/Makefile.am.enums
|
||||
|
||||
mutterlibdir = $(libdir)/mutter-@LIBMUTTER_API_VERSION@
|
||||
mutterlib_LTLIBRARIES = libmutter-cogl-path-@LIBMUTTER_API_VERSION@.la
|
||||
|
||||
libmutter_cogl_path_@LIBMUTTER_API_VERSION@_la_SOURCES = $(source_c) $(source_h)
|
||||
nodist_libmutter_cogl_path_@LIBMUTTER_API_VERSION@_la_SOURCES = $(BUILT_SOURCES)
|
||||
libmutter_cogl_path_@LIBMUTTER_API_VERSION@_la_CFLAGS = $(COGL_DEP_CFLAGS) $(COGL_EXTRA_CFLAGS) $(MAINTAINER_CFLAGS)
|
||||
libmutter_cogl_path_@LIBMUTTER_API_VERSION@_la_LIBADD = $(top_builddir)/cogl/libmutter-cogl-$(LIBMUTTER_API_VERSION).la
|
||||
libmutter_cogl_path_@LIBMUTTER_API_VERSION@_la_LIBADD += $(COGL_DEP_LIBS) $(COGL_EXTRA_LDFLAGS)
|
||||
libmutter_cogl_path_@LIBMUTTER_API_VERSION@_la_LDFLAGS = \
|
||||
-export-dynamic \
|
||||
-export-symbols-regex "^(cogl|cogl2)_(framebuffer|path|is|clip|[sg]et)_.*" \
|
||||
-no-undefined \
|
||||
-avoid-version \
|
||||
-rpath $(mutterlibdir)
|
||||
|
||||
AM_CPPFLAGS = \
|
||||
-DCOGL_COMPILATION \
|
||||
-DG_LOG_DOMAIN=\"CoglPath\" \
|
||||
-I$(srcdir)/tesselator \
|
||||
-I$(top_srcdir)/cogl \
|
||||
-I$(top_builddir)/cogl \
|
||||
-I$(top_srcdir)/cogl/winsys \
|
||||
-I$(top_srcdir) \
|
||||
-I$(top_builddir)
|
||||
|
||||
cogl_base_includedir = $(includedir)/mutter-@LIBMUTTER_API_VERSION@
|
||||
cogl_pathheadersdir = $(cogl_base_includedir)/cogl/cogl-path
|
||||
cogl_pathheaders_HEADERS = $(source_h)
|
||||
nodist_cogl_pathheaders_HEADERS = cogl-path-enum-types.h
|
||||
|
||||
pc_files = mutter-cogl-path-$(LIBMUTTER_API_VERSION).pc
|
||||
|
||||
pkgconfigdir = $(libdir)/pkgconfig
|
||||
pkgconfig_DATA = $(pc_files)
|
||||
|
||||
DISTCLEANFILES += $(pc_files)
|
@ -1,493 +0,0 @@
|
||||
# preamble
|
||||
|
||||
NULL =
|
||||
|
||||
SUBDIRS =
|
||||
|
||||
BUILT_SOURCES =
|
||||
|
||||
EXTRA_DIST =
|
||||
CLEANFILES =
|
||||
DISTCLEANFILES =
|
||||
|
||||
AM_CPPFLAGS = \
|
||||
-I$(top_srcdir) \
|
||||
-I$(top_builddir) \
|
||||
$(NULL)
|
||||
|
||||
AM_CPPFLAGS += \
|
||||
-DG_LOG_DOMAIN=\"Cogl\" \
|
||||
-DCOGL_COMPILATION \
|
||||
-DCOGL_GL_LIBNAME=\"$(COGL_GL_LIBNAME)\" \
|
||||
-DCOGL_GLES1_LIBNAME=\"$(COGL_GLES1_LIBNAME)\" \
|
||||
-DCOGL_GLES2_LIBNAME=\"$(COGL_GLES2_LIBNAME)\" \
|
||||
-DCOGL_LOCALEDIR=\""$(localedir)"\" \
|
||||
$(NULL)
|
||||
|
||||
if HAVE_COGL_DEFAULT_DRIVER
|
||||
AM_CPPFLAGS += \
|
||||
-DCOGL_DEFAULT_DRIVER=\"$(COGL_DEFAULT_DRIVER)\"
|
||||
endif
|
||||
|
||||
|
||||
AM_CFLAGS = $(COGL_DEP_CFLAGS) $(COGL_EXTRA_CFLAGS) $(MAINTAINER_CFLAGS)
|
||||
|
||||
BUILT_SOURCES += cogl-defines.h cogl-egl-defines.h cogl-gl-header.h
|
||||
DISTCLEANFILES += cogl-defines.h cogl-egl-defines.h cogl-gl-header.h
|
||||
EXTRA_DIST += cogl-defines.h.in cogl-egl-defines.h.in cogl-gl-header.h.in
|
||||
|
||||
pc_files = mutter-cogl-$(LIBMUTTER_API_VERSION).pc
|
||||
|
||||
pkgconfigdir = $(libdir)/pkgconfig
|
||||
pkgconfig_DATA = $(pc_files)
|
||||
|
||||
DISTCLEANFILES += $(pc_files)
|
||||
|
||||
cogl_deprecated_h = \
|
||||
deprecated/cogl-material-compat.h \
|
||||
deprecated/cogl-vertex-buffer.h \
|
||||
deprecated/cogl-shader.h \
|
||||
deprecated/cogl-clutter.h \
|
||||
deprecated/cogl-type-casts.h \
|
||||
deprecated/cogl-auto-texture.h \
|
||||
$(NULL)
|
||||
|
||||
cogl_deprecated_nonintrospected_h = \
|
||||
deprecated/cogl-framebuffer-deprecated.h \
|
||||
$(NULL)
|
||||
|
||||
# public 1.x api headers
|
||||
cogl_1_public_h = \
|
||||
$(cogl_deprecated_h) \
|
||||
cogl1-context.h \
|
||||
cogl-bitmap.h \
|
||||
cogl-color.h \
|
||||
cogl-framebuffer.h \
|
||||
cogl-matrix.h \
|
||||
cogl-offscreen.h \
|
||||
cogl-object.h \
|
||||
cogl-onscreen.h \
|
||||
cogl-pipeline.h \
|
||||
cogl-pipeline-state.h \
|
||||
cogl-pipeline-layer-state.h \
|
||||
cogl-primitives.h \
|
||||
cogl-texture.h \
|
||||
cogl-types.h \
|
||||
cogl.h \
|
||||
$(NULL)
|
||||
|
||||
cogl_nonintrospected_h = \
|
||||
cogl-renderer.h \
|
||||
cogl-swap-chain.h \
|
||||
cogl-onscreen-template.h \
|
||||
cogl-display.h \
|
||||
cogl-context.h \
|
||||
cogl-snippet.h \
|
||||
cogl-gles2.h \
|
||||
cogl-gles2-types.h \
|
||||
cogl-index-buffer.h \
|
||||
cogl-attribute-buffer.h \
|
||||
cogl-indices.h \
|
||||
cogl-attribute.h \
|
||||
cogl-primitive.h \
|
||||
cogl-frame-info.h \
|
||||
cogl-vector.h \
|
||||
cogl-euler.h \
|
||||
cogl-output.h \
|
||||
cogl-quaternion.h \
|
||||
cogl-matrix-stack.h \
|
||||
cogl-poll.h \
|
||||
cogl-texture-3d.h \
|
||||
cogl-texture-2d.h \
|
||||
cogl-texture-2d-gl.h \
|
||||
cogl-texture-rectangle.h \
|
||||
cogl-texture-2d-sliced.h \
|
||||
cogl-sub-texture.h \
|
||||
cogl-atlas-texture.h \
|
||||
cogl-meta-texture.h \
|
||||
cogl-primitive-texture.h \
|
||||
cogl-depth-state.h \
|
||||
cogl-buffer.h \
|
||||
cogl-pixel-buffer.h \
|
||||
cogl-macros.h \
|
||||
cogl-fence.h \
|
||||
cogl-version.h \
|
||||
cogl-error.h \
|
||||
cogl-bitmap.h \
|
||||
cogl-color.h \
|
||||
cogl-matrix.h \
|
||||
cogl-texture.h \
|
||||
cogl-types.h \
|
||||
cogl-gtype-private.h \
|
||||
cogl-mutter.h \
|
||||
$(NULL)
|
||||
|
||||
cogl_nodist_h = \
|
||||
$(NULL)
|
||||
|
||||
# nop driver
|
||||
cogl_driver_sources = \
|
||||
driver/nop/cogl-driver-nop.c \
|
||||
driver/nop/cogl-framebuffer-nop-private.h \
|
||||
driver/nop/cogl-framebuffer-nop.c \
|
||||
driver/nop/cogl-attribute-nop-private.h \
|
||||
driver/nop/cogl-attribute-nop.c \
|
||||
driver/nop/cogl-clip-stack-nop-private.h \
|
||||
driver/nop/cogl-clip-stack-nop.c \
|
||||
driver/nop/cogl-texture-2d-nop-private.h \
|
||||
driver/nop/cogl-texture-2d-nop.c \
|
||||
$(NULL)
|
||||
|
||||
# gl driver sources
|
||||
cogl_gl_prototypes_h = \
|
||||
gl-prototypes/cogl-gles2-functions.h \
|
||||
gl-prototypes/cogl-core-functions.h \
|
||||
gl-prototypes/cogl-in-gles-core-functions.h \
|
||||
gl-prototypes/cogl-in-gles2-core-functions.h \
|
||||
gl-prototypes/cogl-glsl-functions.h \
|
||||
$(NULL)
|
||||
|
||||
cogl_driver_sources += \
|
||||
driver/gl/cogl-util-gl-private.h \
|
||||
driver/gl/cogl-util-gl.c \
|
||||
driver/gl/cogl-framebuffer-gl-private.h \
|
||||
driver/gl/cogl-framebuffer-gl.c \
|
||||
driver/gl/cogl-texture-gl-private.h \
|
||||
driver/gl/cogl-texture-gl.c \
|
||||
driver/gl/cogl-texture-2d-gl-private.h \
|
||||
driver/gl/cogl-texture-2d-gl.c \
|
||||
driver/gl/cogl-attribute-gl-private.h \
|
||||
driver/gl/cogl-attribute-gl.c \
|
||||
driver/gl/cogl-clip-stack-gl-private.h \
|
||||
driver/gl/cogl-clip-stack-gl.c \
|
||||
driver/gl/cogl-buffer-gl-private.h \
|
||||
driver/gl/cogl-buffer-gl.c \
|
||||
driver/gl/cogl-pipeline-opengl.c \
|
||||
driver/gl/cogl-pipeline-opengl-private.h \
|
||||
driver/gl/cogl-pipeline-fragend-glsl.c \
|
||||
driver/gl/cogl-pipeline-fragend-glsl-private.h \
|
||||
driver/gl/cogl-pipeline-vertend-glsl.c \
|
||||
driver/gl/cogl-pipeline-vertend-glsl-private.h \
|
||||
driver/gl/cogl-pipeline-progend-glsl.c \
|
||||
driver/gl/cogl-pipeline-progend-glsl-private.h \
|
||||
$(NULL)
|
||||
|
||||
if COGL_DRIVER_GL_SUPPORTED
|
||||
cogl_driver_sources += \
|
||||
driver/gl/gl/cogl-driver-gl.c \
|
||||
driver/gl/gl/cogl-texture-driver-gl.c \
|
||||
$(NULL)
|
||||
endif
|
||||
|
||||
if COGL_DRIVER_GLES_SUPPORTED
|
||||
cogl_driver_sources += \
|
||||
driver/gl/gles/cogl-driver-gles.c \
|
||||
driver/gl/gles/cogl-texture-driver-gles.c \
|
||||
$(NULL)
|
||||
endif
|
||||
|
||||
# winsys sources, common to all backends
|
||||
cogl_winsys_common_sources = \
|
||||
winsys/cogl-winsys-private.h \
|
||||
winsys/cogl-winsys.c \
|
||||
$(NULL)
|
||||
|
||||
# sources
|
||||
cogl_sources_c = \
|
||||
$(cogl_driver_sources) \
|
||||
$(cogl_winsys_common_sources) \
|
||||
cogl-private.h \
|
||||
cogl-i18n-private.h \
|
||||
cogl-debug.h \
|
||||
cogl-debug-options.h \
|
||||
cogl-gpu-info.c \
|
||||
cogl-gpu-info-private.h \
|
||||
cogl-context-private.h \
|
||||
cogl-context.c \
|
||||
cogl-renderer-private.h \
|
||||
cogl-renderer.h \
|
||||
cogl-renderer.c \
|
||||
cogl-swap-chain-private.h \
|
||||
cogl-swap-chain.h \
|
||||
cogl-swap-chain.c \
|
||||
cogl-onscreen-template-private.h \
|
||||
cogl-onscreen-template.h \
|
||||
cogl-onscreen-template.c \
|
||||
cogl-display-private.h \
|
||||
cogl-display.h \
|
||||
cogl-display.c \
|
||||
cogl-driver.h \
|
||||
cogl.c \
|
||||
cogl-object-private.h \
|
||||
cogl-object.h \
|
||||
cogl-object.c \
|
||||
cogl-util.h \
|
||||
cogl-util.c \
|
||||
cogl-bitmap-private.h \
|
||||
cogl-bitmap.c \
|
||||
cogl-bitmap-conversion.c \
|
||||
cogl-bitmap-packing.h \
|
||||
cogl-primitives-private.h \
|
||||
cogl-primitives.h \
|
||||
cogl-primitives.c \
|
||||
cogl-bitmap-pixbuf.c \
|
||||
cogl-clip-stack.h \
|
||||
cogl-clip-stack.c \
|
||||
cogl-feature-private.h \
|
||||
cogl-feature-private.c \
|
||||
cogl-color-private.h \
|
||||
cogl-color.c \
|
||||
cogl-buffer-private.h \
|
||||
cogl-buffer.c \
|
||||
cogl-pixel-buffer-private.h \
|
||||
cogl-pixel-buffer.c \
|
||||
cogl-index-buffer-private.h \
|
||||
cogl-index-buffer.c \
|
||||
cogl-attribute-buffer-private.h \
|
||||
cogl-attribute-buffer.c \
|
||||
cogl-indices-private.h \
|
||||
cogl-indices.c \
|
||||
cogl-attribute-private.h \
|
||||
cogl-attribute.c \
|
||||
cogl-primitive-private.h \
|
||||
cogl-primitive.c \
|
||||
cogl-matrix.c \
|
||||
cogl-vector.c \
|
||||
cogl-euler.c \
|
||||
cogl-quaternion-private.h \
|
||||
cogl-quaternion.c \
|
||||
cogl-matrix-private.h \
|
||||
cogl-matrix-stack.c \
|
||||
cogl-matrix-stack-private.h \
|
||||
cogl-depth-state.c \
|
||||
cogl-depth-state-private.h \
|
||||
cogl-node.c \
|
||||
cogl-node-private.h \
|
||||
cogl-pipeline.c \
|
||||
cogl-pipeline-private.h \
|
||||
cogl-pipeline-layer.c \
|
||||
cogl-pipeline-layer-private.h \
|
||||
cogl-pipeline-state.c \
|
||||
cogl-pipeline-layer-state-private.h \
|
||||
cogl-pipeline-layer-state.c \
|
||||
cogl-pipeline-state-private.h \
|
||||
cogl-pipeline-debug.c \
|
||||
cogl-glsl-shader.c \
|
||||
cogl-glsl-shader-private.h \
|
||||
cogl-glsl-shader-boilerplate.h \
|
||||
cogl-pipeline-snippet-private.h \
|
||||
cogl-pipeline-snippet.c \
|
||||
cogl-pipeline-cache.h \
|
||||
cogl-pipeline-cache.c \
|
||||
cogl-pipeline-hash-table.h \
|
||||
cogl-pipeline-hash-table.c \
|
||||
cogl-sampler-cache.c \
|
||||
cogl-sampler-cache-private.h \
|
||||
cogl-blend-string.c \
|
||||
cogl-blend-string.h \
|
||||
cogl-debug.c \
|
||||
cogl-sub-texture-private.h \
|
||||
cogl-texture-private.h \
|
||||
cogl-texture-2d-private.h \
|
||||
cogl-texture-2d-sliced-private.h \
|
||||
cogl-texture-3d-private.h \
|
||||
cogl-texture-driver.h \
|
||||
cogl-sub-texture.c \
|
||||
cogl-texture.c \
|
||||
cogl-texture-2d.c \
|
||||
cogl-texture-2d-sliced.c \
|
||||
cogl-texture-3d.c \
|
||||
cogl-texture-rectangle-private.h \
|
||||
cogl-texture-rectangle.c \
|
||||
cogl-rectangle-map.h \
|
||||
cogl-rectangle-map.c \
|
||||
cogl-atlas.h \
|
||||
cogl-atlas.c \
|
||||
cogl-atlas-texture-private.h \
|
||||
cogl-atlas-texture.c \
|
||||
cogl-meta-texture.c \
|
||||
cogl-primitive-texture.c \
|
||||
cogl-blit.h \
|
||||
cogl-blit.c \
|
||||
cogl-spans.h \
|
||||
cogl-spans.c \
|
||||
cogl-journal-private.h \
|
||||
cogl-journal.c \
|
||||
cogl-frame-info-private.h \
|
||||
cogl-frame-info.c \
|
||||
cogl-framebuffer-private.h \
|
||||
cogl-framebuffer.c \
|
||||
cogl-onscreen-private.h \
|
||||
cogl-onscreen.c \
|
||||
cogl-output-private.h \
|
||||
cogl-output.c \
|
||||
cogl-profile.h \
|
||||
cogl-profile.c \
|
||||
cogl-flags.h \
|
||||
cogl-bitmask.h \
|
||||
cogl-bitmask.c \
|
||||
cogl-gtype.c \
|
||||
cogl-gtype-private.h \
|
||||
cogl-point-in-poly-private.h \
|
||||
cogl-point-in-poly.c \
|
||||
cogl-list.c \
|
||||
cogl-list.h \
|
||||
winsys/cogl-winsys-stub-private.h \
|
||||
winsys/cogl-winsys-stub.c \
|
||||
cogl-config-private.h \
|
||||
cogl-config.c \
|
||||
cogl-boxed-value.h \
|
||||
cogl-boxed-value.c \
|
||||
cogl-snippet-private.h \
|
||||
cogl-snippet.c \
|
||||
cogl-poll-private.h \
|
||||
cogl-poll.c \
|
||||
gl-prototypes/cogl-all-functions.h \
|
||||
gl-prototypes/cogl-gles2-functions.h \
|
||||
gl-prototypes/cogl-core-functions.h \
|
||||
gl-prototypes/cogl-in-gles-core-functions.h \
|
||||
gl-prototypes/cogl-in-gles2-core-functions.h \
|
||||
gl-prototypes/cogl-fixed-functions.h \
|
||||
gl-prototypes/cogl-glsl-functions.h \
|
||||
cogl-memory-stack-private.h \
|
||||
cogl-memory-stack.c \
|
||||
cogl-magazine-private.h \
|
||||
cogl-magazine.c \
|
||||
cogl-gles2-context-private.h \
|
||||
cogl-gles2-context.c \
|
||||
cogl-error-private.h \
|
||||
cogl-error.c \
|
||||
cogl-closure-list-private.h \
|
||||
cogl-closure-list.c \
|
||||
cogl-fence.c \
|
||||
cogl-fence-private.h \
|
||||
deprecated/cogl-vertex-buffer-private.h \
|
||||
deprecated/cogl-vertex-buffer.c \
|
||||
deprecated/cogl-material-compat.c \
|
||||
deprecated/cogl-program.c \
|
||||
deprecated/cogl-program-private.h \
|
||||
deprecated/cogl-auto-texture.c \
|
||||
deprecated/cogl-shader-private.h \
|
||||
deprecated/cogl-shader.c \
|
||||
deprecated/cogl-clutter.c \
|
||||
deprecated/cogl-framebuffer-deprecated.c \
|
||||
$(NULL)
|
||||
|
||||
cogl_nonintrospected_h += cogl-glib-source.h
|
||||
cogl_sources_c += cogl-glib-source.c
|
||||
|
||||
if SUPPORT_XLIB
|
||||
cogl_deprecated_nonintrospected_h += deprecated/cogl-clutter-xlib.h
|
||||
cogl_1_public_h += cogl-xlib-renderer.h
|
||||
|
||||
cogl_nonintrospected_h += \
|
||||
winsys/cogl-texture-pixmap-x11.h \
|
||||
cogl-xlib.h
|
||||
|
||||
cogl_sources_c += \
|
||||
cogl-x11-renderer-private.h \
|
||||
cogl-xlib-renderer-private.h \
|
||||
cogl-xlib-renderer.c \
|
||||
cogl-xlib.c \
|
||||
cogl-xlib-private.h \
|
||||
winsys/cogl-texture-pixmap-x11.c \
|
||||
winsys/cogl-texture-pixmap-x11-private.h
|
||||
endif
|
||||
if SUPPORT_GLX
|
||||
cogl_nonintrospected_h += cogl-glx.h
|
||||
cogl_sources_c += \
|
||||
cogl-glx-renderer-private.h \
|
||||
cogl-glx-display-private.h \
|
||||
winsys/cogl-winsys-glx-feature-functions.h \
|
||||
winsys/cogl-winsys-glx-private.h \
|
||||
winsys/cogl-winsys-glx.c
|
||||
endif
|
||||
if SUPPORT_WAYLAND_EGL_SERVER
|
||||
cogl_nonintrospected_h += cogl-wayland-server.h
|
||||
endif
|
||||
if SUPPORT_EGL_PLATFORM_XLIB
|
||||
cogl_sources_c += \
|
||||
winsys/cogl-winsys-egl-x11.c \
|
||||
winsys/cogl-winsys-egl-x11-private.h
|
||||
endif
|
||||
if SUPPORT_EGL
|
||||
cogl_nonintrospected_h += cogl-egl.h
|
||||
cogl_nodist_h += cogl-egl-defines.h
|
||||
|
||||
cogl_sources_c += \
|
||||
cogl-egl-private.h \
|
||||
winsys/cogl-winsys-egl.c \
|
||||
winsys/cogl-winsys-egl-feature-functions.h \
|
||||
winsys/cogl-winsys-egl-private.h
|
||||
endif
|
||||
|
||||
mutterlibdir = $(libdir)/mutter-@LIBMUTTER_API_VERSION@
|
||||
mutterlib_LTLIBRARIES = libmutter-cogl-@LIBMUTTER_API_VERSION@.la
|
||||
|
||||
libmutter_cogl_@LIBMUTTER_API_VERSION@_la_LIBADD = $(LIBM) $(COGL_DEP_LIBS) $(COGL_EXTRA_LDFLAGS)
|
||||
if UNIT_TESTS
|
||||
libmutter_cogl_@LIBMUTTER_API_VERSION@_la_LIBADD += $(top_builddir)/test-fixtures/libtest-fixtures.la
|
||||
endif
|
||||
# XXX: The aim is to eventually get rid of all private API exports
|
||||
# for cogl-pango.
|
||||
libmutter_cogl_@LIBMUTTER_API_VERSION@_la_LDFLAGS = \
|
||||
-no-undefined \
|
||||
-avoid-version \
|
||||
-export-dynamic \
|
||||
-rpath $(mutterlibdir) \
|
||||
-export-symbols-regex "^(cogl|_cogl_debug_flags|_cogl_atlas_new|_cogl_atlas_add_reorganize_callback|_cogl_atlas_reserve_space|_cogl_callback|_cogl_util_get_eye_planes_for_screen_poly|_cogl_atlas_texture_remove_reorganize_callback|_cogl_atlas_texture_add_reorganize_callback|_cogl_texture_get_format|_cogl_texture_foreach_sub_texture_in_region|_cogl_texture_set_region|_cogl_profile_trace_message|_cogl_context_get_default|_cogl_framebuffer_get_stencil_bits|_cogl_clip_stack_push_rectangle|_cogl_framebuffer_get_modelview_stack|_cogl_object_default_unref|_cogl_pipeline_foreach_layer_internal|_cogl_clip_stack_push_primitive|_cogl_buffer_unmap_for_fill_or_fallback|_cogl_framebuffer_draw_primitive|_cogl_debug_instances|_cogl_framebuffer_get_projection_stack|_cogl_pipeline_layer_get_texture|_cogl_buffer_map_for_fill_or_fallback|_cogl_texture_can_hardware_repeat|_cogl_pipeline_prune_to_n_layers|_cogl_primitive_draw|test_|unit_test_|_cogl_winsys_glx_get_vtable|_cogl_winsys_egl_xlib_get_vtable|_cogl_winsys_egl_get_vtable|_cogl_closure_disconnect|_cogl_onscreen_notify_complete|_cogl_onscreen_notify_frame_sync|_cogl_winsys_egl_renderer_connect_common|_cogl_winsys_error_quark|_cogl_set_error|_cogl_poll_renderer_add_fd|_cogl_poll_renderer_add_idle|_cogl_framebuffer_winsys_update_size|_cogl_winsys_egl_make_current|_cogl_winsys_egl_ensure_current|_cogl_pixel_format_get_bytes_per_pixel).*"
|
||||
|
||||
libmutter_cogl_@LIBMUTTER_API_VERSION@_la_SOURCES = $(cogl_sources_c)
|
||||
nodist_libmutter_cogl_@LIBMUTTER_API_VERSION@_la_SOURCES = $(BUILT_SOURCES)
|
||||
|
||||
# Cogl installed headers
|
||||
cogl_headers = \
|
||||
$(cogl_1_public_h) \
|
||||
cogl-deprecated.h \
|
||||
cogl-pango.h \
|
||||
$(NULL)
|
||||
|
||||
cogl_base_includedir = $(includedir)/mutter-@LIBMUTTER_API_VERSION@
|
||||
cogldeprecatedincludedir = $(cogl_base_includedir)/cogl/cogl/deprecated
|
||||
cogldeprecatedinclude_HEADERS = $(cogl_deprecated_h) $(cogl_deprecated_nonintrospected_h)
|
||||
|
||||
coglincludedir = $(cogl_base_includedir)/cogl/cogl
|
||||
coglinclude_HEADERS = $(cogl_headers) $(cogl_nonintrospected_h)
|
||||
nodist_coglinclude_HEADERS = $(cogl_nodist_h) cogl-defines.h
|
||||
|
||||
cogl_proto_includedir = $(cogl_base_includedir)/cogl/cogl/gl-prototypes
|
||||
cogl_proto_include_HEADERS = $(cogl_gl_prototypes_h)
|
||||
|
||||
EXTRA_DIST += \
|
||||
cogl.symbols
|
||||
|
||||
-include $(INTROSPECTION_MAKEFILE)
|
||||
|
||||
INTROSPECTION_GIRS =
|
||||
|
||||
if HAVE_INTROSPECTION
|
||||
Cogl-@LIBMUTTER_API_VERSION@.gir: libmutter-cogl-$(LIBMUTTER_API_VERSION).la Makefile
|
||||
|
||||
Cogl_@LIBMUTTER_API_VERSION@_gir_NAMESPACE = Cogl
|
||||
Cogl_@LIBMUTTER_API_VERSION@_gir_VERSION = $(LIBMUTTER_API_VERSION)
|
||||
Cogl_@LIBMUTTER_API_VERSION@_gir_LIBS = libmutter-cogl-$(LIBMUTTER_API_VERSION).la
|
||||
if UNIT_TESTS
|
||||
Cogl_@LIBMUTTER_API_VERSION@_gir_LIBS += $(top_builddir)/test-fixtures/libtest-fixtures.la
|
||||
endif
|
||||
Cogl_@LIBMUTTER_API_VERSION@_gir_FILES = $(cogl_1_public_h)
|
||||
|
||||
Cogl_@LIBMUTTER_API_VERSION@_gir_CFLAGS = $(AM_CPPFLAGS) $(COGL_DEP_CFLAGS) -UCOGL_COMPILATION -D__COGL_H_INSIDE__ -D__COGL_XLIB_H_INSIDE__ -D__COGL_EGL_H_INSIDE__ -D__COGL_GLX_H_INSIDE__ -DCOGL_GIR_SCANNING
|
||||
Cogl_@LIBMUTTER_API_VERSION@_gir_INCLUDES = GL-1.0 GObject-2.0
|
||||
Cogl_@LIBMUTTER_API_VERSION@_gir_EXPORT_PACKAGES = mutter-cogl-@LIBMUTTER_API_VERSION@
|
||||
Cogl_@LIBMUTTER_API_VERSION@_gir_SCANNERFLAGS = --warn-all --c-include='cogl/cogl.h'
|
||||
|
||||
INTROSPECTION_GIRS += Cogl-@LIBMUTTER_API_VERSION@.gir
|
||||
|
||||
girdir = $(mutterlibdir)
|
||||
gir_DATA = $(INTROSPECTION_GIRS)
|
||||
|
||||
typelibdir = $(mutterlibdir)
|
||||
typelib_DATA = $(INTROSPECTION_GIRS:.gir=.typelib)
|
||||
|
||||
CLEANFILES += $(gir_DATA) $(typelib_DATA)
|
||||
endif
|
@ -1,745 +0,0 @@
|
||||
AC_PREREQ(2.59)
|
||||
|
||||
AC_INIT(cogl, [0.1])
|
||||
AC_CONFIG_SRCDIR(cogl/cogl.h)
|
||||
AC_CONFIG_AUX_DIR([build])
|
||||
AC_CONFIG_MACRO_DIR([build/autotools])
|
||||
AC_CONFIG_HEADERS(cogl-config.h)
|
||||
AC_CONFIG_HEADERS(cogl-mutter-config.h)
|
||||
AC_GNU_SOURCE
|
||||
|
||||
dnl ================================================================
|
||||
dnl Check that we are configured by mutter
|
||||
dnl ================================================================
|
||||
|
||||
AC_ARG_VAR([MUTTER_VERSION])
|
||||
AC_ARG_VAR([LIBMUTTER_API_VERSION])
|
||||
|
||||
AS_IF([test "x$MUTTER_VERSION" = "x"],
|
||||
[AC_MSG_ERROR([Clutter can only be configured by mutter])],)
|
||||
|
||||
dnl ================================================================
|
||||
dnl Required versions for dependencies
|
||||
dnl ================================================================
|
||||
m4_define([glib_req_version], [2.32.0])
|
||||
m4_define([pangocairo_req_version], [1.20])
|
||||
m4_define([gi_req_version], [0.9.5])
|
||||
m4_define([gdk_pixbuf_req_version], [2.0])
|
||||
m4_define([uprof_req_version], [0.3])
|
||||
m4_define([xfixes_req_version], [3])
|
||||
m4_define([xcomposite_req_version], [0.4])
|
||||
m4_define([xrandr_req_version], [1.2])
|
||||
m4_define([cairo_req_version], [1.10])
|
||||
m4_define([wayland_server_req_version], [1.1.90])
|
||||
m4_define([mirclient_req_version], [0.9.0])
|
||||
|
||||
dnl These variables get copied into the generated README
|
||||
AC_SUBST([GLIB_REQ_VERSION], [glib_req_version])
|
||||
AC_SUBST([GDK_PIXBUF_REQ_VERSION], [gdk_pixbuf_req_version])
|
||||
AC_SUBST([CAIRO_REQ_VERSION], [cairo_req_version])
|
||||
AC_SUBST([PANGOCAIRO_REQ_VERSION], [pangocairo_req_version])
|
||||
AC_SUBST([XCOMPOSITE_REQ_VERSION], [xcomposite_req_version])
|
||||
AC_SUBST([XFIXES_REQ_VERSION], [xfixes_req_version])
|
||||
AC_SUBST([GI_REQ_VERSION], [gi_req_version])
|
||||
AC_SUBST([UPROF_REQ_VERSION], [uprof_req_version])
|
||||
AC_SUBST([WAYLAND_SERVER_REQ_VERSION], [wayland_server_req_version])
|
||||
|
||||
# Save this value here, since automake will set cflags later and we
|
||||
# want to know if the user specified custom cflags or not.
|
||||
cflags_set=${CFLAGS+set}
|
||||
|
||||
AM_INIT_AUTOMAKE([1.14 foreign -Wno-portability no-define no-dist-gzip dist-xz tar-ustar subdir-objects])
|
||||
AM_SILENT_RULES([yes])
|
||||
|
||||
AH_BOTTOM([#include "config-custom.h"])
|
||||
|
||||
dnl ================================================================
|
||||
dnl Compiler stuff.
|
||||
dnl ================================================================
|
||||
AC_PROG_CC
|
||||
AC_PROG_CPP
|
||||
AC_PROG_CXX
|
||||
AM_PROG_CC_C_O
|
||||
AC_ISC_POSIX
|
||||
AC_C_CONST
|
||||
|
||||
dnl ============================================================
|
||||
dnl Compiler features
|
||||
dnl ============================================================
|
||||
AC_MSG_CHECKING([for _Static_assert])
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([_Static_assert (1, "");],
|
||||
[(void) 0])],
|
||||
[AC_MSG_RESULT([yes])],
|
||||
[AC_MSG_ERROR([Missing _Static_assert])])
|
||||
|
||||
dnl ================================================================
|
||||
dnl Libtool stuff.
|
||||
dnl ================================================================
|
||||
dnl AC_PROG_LIBTOOL
|
||||
dnl LIBTOOL="$LIBTOOL --preserve-dup-deps"
|
||||
LT_PREREQ([2.2.6])
|
||||
LT_INIT([disable-static])
|
||||
dnl when using libtool 2.x create libtool early, because it's used in the
|
||||
dnl internal glib configure (as-glibconfig.m4)
|
||||
m4_ifdef([LT_OUTPUT], [LT_OUTPUT])
|
||||
|
||||
dnl ================================================================
|
||||
dnl Find an appropriate libm, for sin() etc.
|
||||
dnl ================================================================
|
||||
LT_LIB_M
|
||||
AC_SUBST(LIBM)
|
||||
|
||||
dnl ================================================================
|
||||
dnl See what platform we are building for
|
||||
dnl ================================================================
|
||||
AC_CANONICAL_HOST
|
||||
|
||||
dnl ============================================================
|
||||
dnl Installed tests
|
||||
dnl ============================================================
|
||||
|
||||
AC_ARG_ENABLE(installed_tests,
|
||||
AS_HELP_STRING([--enable-installed-tests],
|
||||
[Install test programs (default: no)]),,
|
||||
[enable_installed_tests=no])
|
||||
AM_CONDITIONAL(ENABLE_INSTALLED_TESTS, test x$enable_installed_tests = xyes)
|
||||
|
||||
dnl ============================================================
|
||||
dnl Enable debugging
|
||||
dnl ============================================================
|
||||
m4_define([debug_default], [m4_if(cogl_release_status, [git], [yes], [no])])
|
||||
AC_ARG_ENABLE(
|
||||
[debug],
|
||||
[AC_HELP_STRING([--enable-debug=@<:@no/yes@:>@], [Control Cogl debugging level @<:@default=]debug_default[@:>@])],
|
||||
[],
|
||||
enable_debug=debug_default
|
||||
)
|
||||
AS_CASE(
|
||||
[$enable_debug],
|
||||
[yes],
|
||||
[
|
||||
test "$cflags_set" = set || CFLAGS="$CFLAGS -g -O0"
|
||||
COGL_EXTRA_CFLAGS="$COGL_EXTRA_CFLAGS -DCOGL_GL_DEBUG -DCOGL_OBJECT_DEBUG -DCOGL_ENABLE_DEBUG"
|
||||
],
|
||||
[no],
|
||||
[
|
||||
COGL_EXTRA_CFLAGS="$COGL_EXTRA_CFLAGS -DG_DISABLE_CHECKS -DG_DISABLE_CAST_CHECKS"
|
||||
],
|
||||
[AC_MSG_ERROR([Unknown argument for --enable-debug])]
|
||||
)
|
||||
|
||||
AC_SUBST(COGL_DEBUG_CFLAGS)
|
||||
|
||||
AC_ARG_ENABLE(
|
||||
[unit-tests],
|
||||
[AC_HELP_STRING([--enable-unit-tests=@<:@no/yes@:>@], [Build Cogl unit tests @<:@default=yes@:>@])],
|
||||
[],
|
||||
enable_unit_tests=yes
|
||||
)
|
||||
AS_IF([test "x$enable_unit_tests" = "xyes"],
|
||||
[
|
||||
AC_DEFINE([ENABLE_UNIT_TESTS], [1], [Whether to enable building unit tests])
|
||||
]
|
||||
)
|
||||
AM_CONDITIONAL(UNIT_TESTS, test "x$enable_unit_tests" = "xyes")
|
||||
|
||||
dnl ============================================================
|
||||
dnl Enable cairo usage for debugging
|
||||
dnl (debugging code can use cairo to dump the atlas)
|
||||
dnl ============================================================
|
||||
|
||||
COGL_PKG_REQUIRES="$COGL_PKG_REQUIRES cairo >= cairo_req_version"
|
||||
|
||||
|
||||
dnl ============================================================
|
||||
dnl Enable profiling
|
||||
dnl ============================================================
|
||||
AC_ARG_ENABLE(profile,
|
||||
[AC_HELP_STRING([--enable-profile=@<:@no/yes@:>@],
|
||||
[Turn on uprof profiling support. yes; All UProf profiling probe points are compiled in and may be runtime enabled. no; No profiling support will built into cogl. @<:@default=no@:>@])],
|
||||
[],
|
||||
[enable_profile=no])
|
||||
AS_IF([test "x$enable_profile" = "xyes"],
|
||||
[
|
||||
AS_IF([test "x$GCC" = "xyes"],
|
||||
[
|
||||
COGL_PKG_REQUIRES="$COGL_PKG_REQUIRES uprof-0.3"
|
||||
COGL_EXTRA_CFLAGS="$COGL_EXTRA_CFLAGS -DCOGL_ENABLE_PROFILE"
|
||||
AS_IF([test "x$enable_debug" = "xyes"], [COGL_EXTRA_CFLAGS="$COGL_EXTRA_CFLAGS -DUPROF_DEBUG"])
|
||||
],
|
||||
[
|
||||
AC_MSG_ERROR([--enable-profile is currently only supported if using GCC])
|
||||
])
|
||||
])
|
||||
AM_CONDITIONAL(PROFILE, test "x$enable_profile" != "xno")
|
||||
|
||||
|
||||
dnl ============================================================
|
||||
dnl Enable strict compiler flags
|
||||
dnl ============================================================
|
||||
|
||||
# use strict compiler flags only when building from git; the rules for
|
||||
# distcheck will take care of turning this on when making a release
|
||||
m4_define([maintainer_default], [m4_if(cogl_release_status, [git], [yes], [no])])
|
||||
AC_ARG_ENABLE(
|
||||
[maintainer-flags],
|
||||
[AC_HELP_STRING([--enable-maintainer-flags=@<:@no/yes/error@:>@], [Use strict compiler flags @<:@default=]maintainer_default[@:>@])],
|
||||
[],
|
||||
enable_maintainer_flags=maintainer_default
|
||||
)
|
||||
|
||||
MAINTAINER_COMPILER_FLAGS="-Wall -Wcast-align -Wformat -Wformat-security
|
||||
-Werror=uninitialized -Werror=no-strict-aliasing
|
||||
-Werror=empty-body -Werror=init-self -Werror=undef
|
||||
-Werror=declaration-after-statement -Werror=vla
|
||||
-Werror=pointer-arith -Werror=missing-declarations
|
||||
-Werror=maybe-uninitialized"
|
||||
|
||||
AS_CASE(
|
||||
[$enable_maintainer_flags],
|
||||
[yes],
|
||||
[
|
||||
AS_COMPILER_FLAGS([MAINTAINER_CFLAGS], [$MAINTAINER_COMPILER_FLAGS])
|
||||
],
|
||||
[no],
|
||||
[
|
||||
],
|
||||
[error],
|
||||
[
|
||||
MAINTAINER_COMPILER_FLAGS="$MAINTAINER_COMPILER_FLAGS -Werror"
|
||||
AS_COMPILER_FLAGS([MAINTAINER_CFLAGS], [$MAINTAINER_COMPILER_FLAGS])
|
||||
],
|
||||
[*],
|
||||
[AC_MSG_ERROR([Invalid option for --enable-maintainer-flags])]
|
||||
)
|
||||
|
||||
# strip leading spaces
|
||||
COGL_EXTRA_CFLAGS="$COGL_EXTRA_CFLAGS ${MAINTAINER_CFLAGS#* }"
|
||||
COGL_EXTRA_CFLAGS="$COGL_EXTRA_CFLAGS -Wno-error=sign-compare"
|
||||
|
||||
|
||||
dnl ============================================================
|
||||
dnl Enable deprecation guards
|
||||
dnl ============================================================
|
||||
|
||||
# disable deprecated options from Glib only when building from git;
|
||||
# the rules for distcheck will take care of turning this on when
|
||||
# making a release
|
||||
m4_define([deprecated_default],
|
||||
[m4_if(cogl_release_status, [git], [no], [yes])])
|
||||
|
||||
AC_ARG_ENABLE([deprecated],
|
||||
[AS_HELP_STRING([--enable-deprecated=@<:@no/yes@:>@],
|
||||
[Whether deprecated symbols should be disabled when compiling Cogl @<:@default=]deprecated_default[@:>@])],
|
||||
[],
|
||||
[enable_deprecated=deprecated_default])
|
||||
|
||||
AS_CASE([$enable_deprecated],
|
||||
|
||||
[no],
|
||||
[
|
||||
DEPRECATED_CFLAGS="-DG_DISABLE_DEPRECATED -DG_DISABLE_SINGLE_INCLUDES"
|
||||
],
|
||||
|
||||
[yes],
|
||||
[
|
||||
DEPRECATED_CFLAGS=""
|
||||
],
|
||||
|
||||
[AC_MSG_ERROR([Unknown argument for --enable-deprecated])]
|
||||
)
|
||||
|
||||
# strip leading spaces
|
||||
COGL_EXTRA_CFLAGS="$COGL_EXTRA_CFLAGS ${DEPRECATED_CFLAGS#* }"
|
||||
|
||||
dnl ================================================================
|
||||
dnl Check for dependency packages.
|
||||
dnl ================================================================
|
||||
|
||||
AM_PATH_GLIB_2_0([glib_req_version],
|
||||
[],
|
||||
[AC_MSG_ERROR([glib-2.0 is required])],
|
||||
[gobject gthread gmodule-no-export])
|
||||
|
||||
COGL_PKG_REQUIRES="$COGL_PKG_REQUIRES gobject-2.0 gmodule-no-export-2.0"
|
||||
|
||||
COGL_PANGO_PKG_REQUIRES="$COGL_PANGO_PKG_REQUIRES pangocairo >= pangocairo_req_version"
|
||||
|
||||
|
||||
dnl ============================================================
|
||||
dnl Choose image loading backend
|
||||
dnl ============================================================
|
||||
COGL_PKG_REQUIRES="$COGL_PKG_REQUIRES gdk-pixbuf-2.0 >= gdk_pixbuf_req_version"
|
||||
COGL_IMAGE_BACKEND="gdk-pixbuf"
|
||||
|
||||
dnl ============================================================
|
||||
dnl Determine which drivers and window systems we can support
|
||||
dnl ============================================================
|
||||
|
||||
dnl ========================================================
|
||||
dnl Drivers first...
|
||||
dnl ========================================================
|
||||
EGL_CHECKED=no
|
||||
|
||||
enabled_drivers=""
|
||||
|
||||
HAVE_GLES2=0
|
||||
AC_ARG_ENABLE(
|
||||
[gles2],
|
||||
[AC_HELP_STRING([--enable-gles2=@<:@no/yes@:>@], [Enable support for OpenGL-ES 2.0 @<:@default=no@:>@])],
|
||||
[],
|
||||
enable_gles2=no
|
||||
)
|
||||
AS_IF([test "x$enable_gles2" = "xyes"],
|
||||
[
|
||||
enabled_drivers="$enabled_drivers gles2"
|
||||
|
||||
cogl_gl_headers="GLES2/gl2.h GLES2/gl2ext.h"
|
||||
AC_DEFINE([HAVE_COGL_GLES2], 1, [Have GLES 2.0 for rendering])
|
||||
COGL_DEFINES_SYMBOLS="$COGL_DEFINES_SYMBOLS COGL_HAS_GLES CLUTTER_COGL_HAS_GLES"
|
||||
COGL_DEFINES_SYMBOLS="$COGL_DEFINES_SYMBOLS COGL_HAS_GLES2"
|
||||
HAVE_GLES2=1
|
||||
|
||||
PKG_CHECK_EXISTS([glesv2],
|
||||
[COGL_PKG_REQUIRES_GL="$COGL_PKG_REQUIRES_GL glesv2"
|
||||
COGL_GLES2_LIBNAME="libGLESv2.so"
|
||||
],
|
||||
[
|
||||
# We have to check the two headers independently as GLES2/gl2ext.h
|
||||
# needs to include GLES2/gl2.h to have the GL types defined (eg.
|
||||
# GLenum).
|
||||
AC_CHECK_HEADER([GLES2/gl2.h],
|
||||
[],
|
||||
[AC_MSG_ERROR([Unable to locate GLES2/gl2.h])])
|
||||
AC_CHECK_HEADER([GLES2/gl2ext.h],
|
||||
[],
|
||||
[AC_MSG_ERROR([Unable to locate GLES2/gl2ext.h])],
|
||||
[#include <GLES2/gl2.h>])
|
||||
|
||||
COGL_GLES2_LIBNAME="libGLESv2.so"
|
||||
])
|
||||
])
|
||||
|
||||
HAVE_GL=0
|
||||
AC_ARG_ENABLE(
|
||||
[gl],
|
||||
[AC_HELP_STRING([--enable-gl=@<:@no/yes@:>@], [Enable support for OpenGL @<:@default=yes@:>@])],
|
||||
[],
|
||||
[enable_gl=yes]
|
||||
)
|
||||
AS_IF([test "x$enable_gl" = "xyes"],
|
||||
[
|
||||
enabled_drivers="$enabled_drivers gl"
|
||||
|
||||
PKG_CHECK_EXISTS([x11], [ALLOW_GLX=yes])
|
||||
|
||||
cogl_gl_headers="GL/gl.h"
|
||||
|
||||
PKG_CHECK_EXISTS([gl],
|
||||
dnl We don't want to use COGL_PKG_REQUIRES here because we don't want to
|
||||
dnl directly link against libGL
|
||||
[COGL_PKG_REQUIRES_GL="$COGL_PKG_REQUIRES_GL gl"],
|
||||
[AC_CHECK_LIB(GL, [glGetString],
|
||||
,
|
||||
[AC_MSG_ERROR([Unable to locate required GL library])])
|
||||
])
|
||||
COGL_GL_LIBNAME="libGL.so.1"
|
||||
|
||||
AC_DEFINE([HAVE_COGL_GL], [1], [Have GL for rendering])
|
||||
|
||||
COGL_DEFINES_SYMBOLS="$COGL_DEFINES_SYMBOLS COGL_HAS_GL"
|
||||
COGL_DEFINES_SYMBOLS="$COGL_DEFINES_SYMBOLS CLUTTER_COGL_HAS_GL"
|
||||
HAVE_GL=1
|
||||
])
|
||||
|
||||
AM_CONDITIONAL([COGL_DRIVER_GL_SUPPORTED], [test "x$enable_gl" = "xyes"])
|
||||
AM_CONDITIONAL([COGL_DRIVER_GLES_SUPPORTED],
|
||||
[test "x$enable_gles1" = "xyes" || test "x$enable_gles2" = "xyes"])
|
||||
|
||||
dnl Allow the GL library names and default driver to be overridden with configure options
|
||||
AC_ARG_WITH([gl-libname],
|
||||
[AS_HELP_STRING([--with-gl-libname],
|
||||
override the name of the GL library to dlopen)],
|
||||
[COGL_GL_LIBNAME="$withval"])
|
||||
AC_ARG_WITH([gles2-libname],
|
||||
[AS_HELP_STRING([--with-gles2-libname],
|
||||
override the name of the GLESv2 library to dlopen)],
|
||||
[COGL_GLES2_LIBNAME="$withval"])
|
||||
AC_ARG_WITH([default-driver],
|
||||
[AS_HELP_STRING([--with-default-driver],
|
||||
specify a default cogl driver)],
|
||||
[COGL_DEFAULT_DRIVER="${withval}"],
|
||||
[COGL_DEFAULT_DRIVER="" ])
|
||||
|
||||
AM_CONDITIONAL(HAVE_COGL_DEFAULT_DRIVER,
|
||||
[ test "x$COGL_DEFAULT_DRIVER" != "x" ])
|
||||
|
||||
|
||||
AC_SUBST([COGL_GL_LIBNAME])
|
||||
AC_SUBST([HAVE_GL])
|
||||
AC_SUBST([COGL_GLES2_LIBNAME])
|
||||
AC_SUBST([HAVE_GLES2])
|
||||
AC_SUBST([COGL_DEFAULT_DRIVER])
|
||||
|
||||
AC_ARG_ENABLE(
|
||||
[cogl-gles2],
|
||||
[AC_HELP_STRING([--enable-cogl-gles2=@<:@no/yes@:>@],
|
||||
[Enable libcogl-gles2 frontend api for OpenGL-ES 2.0 @<:@default=auto@:>@])],
|
||||
[],
|
||||
[
|
||||
AS_IF([test "x$HAVE_GLES2" = "x1"],
|
||||
[enable_cogl_gles2=yes],
|
||||
[enable_cogl_gles2=no])
|
||||
]
|
||||
)
|
||||
AS_IF([test "x$enable_cogl_gles2" = "xyes"],
|
||||
[
|
||||
AS_IF([test "x$HAVE_GLES2" != "x1"],
|
||||
[
|
||||
AC_MSG_ERROR([libcogl-gles2 is currently only supported on systems with a native GLES 2.0 library])
|
||||
])
|
||||
])
|
||||
AM_CONDITIONAL([BUILD_COGL_GLES2], [test "x$enable_cogl_gles2" = "xyes"])
|
||||
|
||||
|
||||
dnl ========================================================
|
||||
dnl Check window system integration libraries...
|
||||
dnl ========================================================
|
||||
|
||||
AC_ARG_ENABLE(
|
||||
[glx],
|
||||
[AC_HELP_STRING([--enable-glx=@<:@no/yes@:>@], [Enable support GLX @<:@default=auto@:>@])],
|
||||
[],
|
||||
[AS_IF([test "x$ALLOW_GLX" = "xyes"], [enable_glx=yes], [enable_glx=no])]
|
||||
)
|
||||
AS_IF([test "x$enable_glx" = "xyes"],
|
||||
[
|
||||
AS_IF([test "x$ALLOW_GLX" != "xyes"],
|
||||
[AC_MSG_ERROR([GLX not supported with this configuration])])
|
||||
|
||||
NEED_XLIB=yes
|
||||
SUPPORT_GLX=yes
|
||||
GL_WINSYS_APIS="$GL_WINSYS_APIS glx"
|
||||
|
||||
COGL_DEFINES_SYMBOLS="$COGL_DEFINES_SYMBOLS COGL_HAS_GLX_SUPPORT"
|
||||
])
|
||||
AM_CONDITIONAL(SUPPORT_GLX, [test "x$SUPPORT_GLX" = "xyes"])
|
||||
|
||||
EGL_PLATFORM_COUNT=0
|
||||
|
||||
AC_ARG_ENABLE(
|
||||
[wayland-egl-server],
|
||||
[AC_HELP_STRING([--enable-wayland-egl-server=@<:@no/yes@:>@], [Enable server side wayland support @<:@default=no@:>@])],
|
||||
[],
|
||||
enable_wayland_egl_server=yes
|
||||
)
|
||||
AS_IF([test "x$enable_wayland_egl_server" = "xyes"],
|
||||
[
|
||||
NEED_EGL=yes
|
||||
|
||||
PKG_CHECK_MODULES(WAYLAND_SERVER,
|
||||
[wayland-server >= wayland_server_req_version])
|
||||
COGL_PKG_REQUIRES="$COGL_PKG_REQUIRES wayland-server >= wayland_server_req_version"
|
||||
|
||||
COGL_DEFINES_SYMBOLS="$COGL_DEFINES_SYMBOLS COGL_HAS_WAYLAND_EGL_SERVER_SUPPORT"
|
||||
])
|
||||
AM_CONDITIONAL(SUPPORT_WAYLAND_EGL_SERVER,
|
||||
[test "x$enable_wayland_egl_server" = "xyes"])
|
||||
|
||||
dnl This should go last, since it's the default fallback and we need
|
||||
dnl to check the value of $EGL_PLATFORM_COUNT here.
|
||||
AC_ARG_ENABLE(
|
||||
[xlib-egl-platform],
|
||||
[AC_HELP_STRING([--enable-xlib-egl-platform=@<:@no/yes@:>@], [Enable support for the Xlib egl platform @<:@default=auto@:>@])],
|
||||
[],
|
||||
enable_xlib_egl_platform=yes
|
||||
)
|
||||
AS_IF([test "x$enable_xlib_egl_platform" = "xyes"],
|
||||
[
|
||||
EGL_PLATFORM_COUNT=$((EGL_PLATFORM_COUNT+1))
|
||||
NEED_EGL=yes
|
||||
NEED_XLIB=yes
|
||||
EGL_PLATFORMS="$EGL_PLATFORMS xlib"
|
||||
|
||||
COGL_DEFINES_SYMBOLS="$COGL_DEFINES_SYMBOLS COGL_HAS_EGL_PLATFORM_XLIB_SUPPORT"
|
||||
])
|
||||
AM_CONDITIONAL(SUPPORT_EGL_PLATFORM_XLIB,
|
||||
[test "x$enable_xlib_egl_platform" = "xyes"])
|
||||
|
||||
AS_IF([test "x$NEED_EGL" = "xyes" && test "x$EGL_CHECKED" != "xyes"],
|
||||
[
|
||||
PKG_CHECK_EXISTS([egl],
|
||||
[COGL_PKG_REQUIRES="$COGL_PKG_REQUIRES egl"],
|
||||
[
|
||||
AC_CHECK_HEADERS(
|
||||
[EGL/egl.h],
|
||||
[],
|
||||
[AC_MSG_ERROR([Unable to locate required EGL headers])])
|
||||
AC_CHECK_HEADERS(
|
||||
[EGL/eglext.h],
|
||||
[],
|
||||
[AC_MSG_ERROR([Unable to locate required EGL headers])],
|
||||
[#include <EGL/egl.h>])
|
||||
|
||||
AC_CHECK_LIB(EGL, [eglInitialize],
|
||||
[COGL_EXTRA_LDFLAGS="$COGL_EXTRA_LDFLAGS -lEGL"],
|
||||
[AC_MSG_ERROR([Unable to locate required EGL library])])
|
||||
|
||||
COGL_EXTRA_LDFLAGS="$COGL_EXTRA_LDFLAGS -lEGL"
|
||||
]
|
||||
)
|
||||
|
||||
COGL_EGL_INCLUDES="#include <EGL/egl.h>
|
||||
#include <EGL/eglext.h>"
|
||||
AC_SUBST([COGL_EGL_INCLUDES])
|
||||
])
|
||||
|
||||
AS_IF([test "x$NEED_EGL" = "xyes"],
|
||||
[
|
||||
SUPPORT_EGL=yes
|
||||
GL_WINSYS_APIS="$GL_WINSYS_APIS egl"
|
||||
COGL_DEFINES_SYMBOLS="$COGL_DEFINES_SYMBOLS COGL_HAS_EGL_SUPPORT"
|
||||
])
|
||||
|
||||
AM_CONDITIONAL(SUPPORT_EGL, [test "x$SUPPORT_EGL" = "xyes"])
|
||||
|
||||
dnl ========================================================
|
||||
dnl Check X11 dependencies if required
|
||||
dnl ========================================================
|
||||
AS_IF([test "x$NEED_XLIB" = "xyes"],
|
||||
[
|
||||
X11_MODULES="x11 xext xfixes >= xfixes_req_version xdamage xcomposite >= xcomposite_req_version xrandr >= xrandr_req_version"
|
||||
PKG_CHECK_MODULES(DUMMY, [$X11_MODULES],
|
||||
[COGL_PKG_REQUIRES="$COGL_PKG_REQUIRES $X11_MODULES"])
|
||||
SUPPORT_X11=yes
|
||||
SUPPORT_XLIB=yes
|
||||
|
||||
COGL_DEFINES_SYMBOLS="$COGL_DEFINES_SYMBOLS COGL_HAS_X11"
|
||||
COGL_DEFINES_SYMBOLS="$COGL_DEFINES_SYMBOLS COGL_HAS_X11_SUPPORT"
|
||||
COGL_DEFINES_SYMBOLS="$COGL_DEFINES_SYMBOLS COGL_HAS_XLIB"
|
||||
COGL_DEFINES_SYMBOLS="$COGL_DEFINES_SYMBOLS COGL_HAS_XLIB_SUPPORT"
|
||||
])
|
||||
|
||||
AM_CONDITIONAL(X11_TESTS, [test "x$SUPPORT_X11" = "xyes"])
|
||||
AM_CONDITIONAL(SUPPORT_X11, [test "x$SUPPORT_X11" = "xyes"])
|
||||
AM_CONDITIONAL(SUPPORT_XLIB, [test "x$SUPPORT_XLIB" = "xyes"])
|
||||
|
||||
dnl ================================================================
|
||||
dnl Documentation stuff.
|
||||
dnl ================================================================
|
||||
GLIB_PREFIX="`$PKG_CONFIG --variable=prefix glib-2.0`"
|
||||
GDKPIXBUF_PREFIX="`$PKG_CONFIG --variable=prefix gdk-pixbuf-2.0`"
|
||||
AC_SUBST(GLIB_PREFIX)
|
||||
AC_SUBST(GDKPIXBUF_PREFIX)
|
||||
|
||||
|
||||
AC_SUBST(COGL_PKG_REQUIRES)
|
||||
if test -n "$COGL_PKG_REQUIRES"; then
|
||||
PKG_CHECK_MODULES(COGL_DEP, [$COGL_PKG_REQUIRES])
|
||||
|
||||
if test -n "$COGL_PKG_REQUIRES_GL"; then
|
||||
PKG_CHECK_MODULES(COGL_DEP_GL, [$COGL_PKG_REQUIRES_GL])
|
||||
|
||||
dnl Strip out the GL libraries from the GL pkg-config files so we can
|
||||
dnl dynamically load them instead
|
||||
gl_libs=""
|
||||
for x in $COGL_DEP_GL_LIBS; do
|
||||
AS_CASE([$x],
|
||||
[-lGL], [],
|
||||
[-lGLESv2], [],
|
||||
[-lGLESv1_CM], [],
|
||||
[*], [gl_libs="$gl_libs $x"])
|
||||
done
|
||||
COGL_DEP_CFLAGS="$COGL_DEP_CFLAGS $COGL_DEP_CFLAGS_GL"
|
||||
COGL_DEP_LIBS="$COGL_DEP_LIBS $gl_libs"
|
||||
fi
|
||||
fi
|
||||
AC_SUBST(COGL_PANGO_PKG_REQUIRES)
|
||||
|
||||
PKG_CHECK_MODULES(COGL_PANGO_DEP, [$COGL_PANGO_PKG_REQUIRES])
|
||||
|
||||
dnl ================================================================
|
||||
dnl Misc program dependencies.
|
||||
dnl ================================================================
|
||||
AC_PROG_INSTALL
|
||||
|
||||
dnl ================================================================
|
||||
dnl GObject-Introspection check
|
||||
dnl ================================================================
|
||||
GOBJECT_INTROSPECTION_CHECK([gi_req_version])
|
||||
|
||||
dnl ================================================================
|
||||
dnl Checks for header files.
|
||||
dnl ================================================================
|
||||
AC_PATH_X
|
||||
AC_HEADER_STDC
|
||||
AC_CHECK_HEADERS(fcntl.h limits.h unistd.h)
|
||||
|
||||
dnl ================================================================
|
||||
dnl Checks for library functions.
|
||||
dnl ================================================================
|
||||
|
||||
dnl The 'ffs' function is part of C99 so it isn't always
|
||||
dnl available. Cogl has a fallback if needed.
|
||||
AC_CHECK_FUNCS([ffs])
|
||||
|
||||
dnl 'memmem' is a GNU extension but we have a simple fallback
|
||||
AC_CHECK_FUNCS([memmem])
|
||||
|
||||
dnl This is used in the cogl-gles2-gears example but it is a GNU extension
|
||||
save_libs="$LIBS"
|
||||
LIBS="$LIBS $LIBM"
|
||||
AC_CHECK_FUNCS([sincos])
|
||||
LIBS="$save_libs"
|
||||
|
||||
dnl ================================================================
|
||||
dnl Platform values
|
||||
dnl ================================================================
|
||||
|
||||
dnl These are values from system headers that we want to copy into the
|
||||
dnl public Cogl headers without having to include the system header
|
||||
have_poll_h=no
|
||||
AC_CHECK_HEADER(poll.h,
|
||||
[
|
||||
AC_COMPUTE_INT(COGL_SYSDEF_POLLIN, POLLIN, [#include <poll.h>],
|
||||
AC_MSG_ERROR([Unable to get value of POLLIN]))
|
||||
AC_COMPUTE_INT(COGL_SYSDEF_POLLPRI, POLLPRI, [#include <poll.h>],
|
||||
AC_MSG_ERROR([Unable to get value of POLLPRI]))
|
||||
AC_COMPUTE_INT(COGL_SYSDEF_POLLOUT, POLLOUT, [#include <poll.h>],
|
||||
AC_MSG_ERROR([Unable to get value of POLLOUT]))
|
||||
AC_COMPUTE_INT(COGL_SYSDEF_POLLERR, POLLERR, [#include <poll.h>],
|
||||
AC_MSG_ERROR([Unable to get value of POLLERR]))
|
||||
AC_COMPUTE_INT(COGL_SYSDEF_POLLHUP, POLLHUP, [#include <poll.h>],
|
||||
AC_MSG_ERROR([Unable to get value of POLLHUP]))
|
||||
AC_COMPUTE_INT(COGL_SYSDEF_POLLNVAL, POLLNVAL, [#include <poll.h>],
|
||||
AC_MSG_ERROR([Unable to get value of POLLNVAL]))
|
||||
COGL_DEFINES_SYMBOLS="$COGL_DEFINES_SYMBOLS COGL_HAS_POLL_SUPPORT"
|
||||
have_poll_h=yes
|
||||
])
|
||||
|
||||
AS_IF([test "x$have_poll_h" = "xno"],
|
||||
[
|
||||
COGL_SYSDEF_POLLIN=1
|
||||
COGL_SYSDEF_POLLPRI=2
|
||||
COGL_SYSDEF_POLLOUT=4
|
||||
COGL_SYSDEF_POLLERR=8
|
||||
COGL_SYSDEF_POLLHUP=16
|
||||
COGL_SYSDEF_POLLNVAL=32
|
||||
])
|
||||
|
||||
COGL_DEFINES_EXTRA="$COGL_DEFINES_EXTRA
|
||||
#define COGL_SYSDEF_POLLIN $COGL_SYSDEF_POLLIN
|
||||
#define COGL_SYSDEF_POLLPRI $COGL_SYSDEF_POLLPRI
|
||||
#define COGL_SYSDEF_POLLOUT $COGL_SYSDEF_POLLOUT
|
||||
#define COGL_SYSDEF_POLLERR $COGL_SYSDEF_POLLERR
|
||||
#define COGL_SYSDEF_POLLHUP $COGL_SYSDEF_POLLHUP
|
||||
#define COGL_SYSDEF_POLLNVAL $COGL_SYSDEF_POLLNVAL
|
||||
"
|
||||
|
||||
dnl ================================================================
|
||||
dnl What needs to be substituted in other files
|
||||
dnl ================================================================
|
||||
COGL_DEFINES="$COGL_DEFINES_EXTRA"
|
||||
for x in $COGL_DEFINES_SYMBOLS; do
|
||||
COGL_DEFINES="$COGL_DEFINES
|
||||
#define $x 1"
|
||||
done;
|
||||
AC_SUBST(COGL_DEFINES)
|
||||
AM_SUBST_NOTMAKE(COGL_DEFINES)
|
||||
|
||||
AS_IF([test "x$cogl_gl_headers" = "x"],
|
||||
[AC_MSG_ERROR([Internal error: no GL header set])])
|
||||
dnl cogl_gl_headers is a space separate list of headers to
|
||||
dnl include. We'll now convert them to a single variable with a
|
||||
dnl #include line for each header
|
||||
COGL_GL_HEADER_INCLUDES=""
|
||||
for x in $cogl_gl_headers; do
|
||||
COGL_GL_HEADER_INCLUDES="$COGL_GL_HEADER_INCLUDES
|
||||
#include <$x>"
|
||||
done;
|
||||
AC_SUBST(COGL_GL_HEADER_INCLUDES)
|
||||
AM_SUBST_NOTMAKE(COGL_GL_HEADER_INCLUDES)
|
||||
|
||||
AC_SUBST(COGL_DEP_CFLAGS)
|
||||
AC_SUBST(COGL_DEP_LIBS)
|
||||
AC_SUBST(COGL_PANGO_DEP_CFLAGS)
|
||||
AC_SUBST(COGL_PANGO_DEP_LIBS)
|
||||
AC_SUBST(COGL_GST_DEP_CFLAGS)
|
||||
AC_SUBST(COGL_GST_DEP_LIBS)
|
||||
AC_SUBST(COGL_EXTRA_CFLAGS)
|
||||
AC_SUBST(COGL_EXTRA_LDFLAGS)
|
||||
|
||||
# just for compatability with the clutter build...
|
||||
MAINTAINER_CFLAGS=
|
||||
AC_SUBST(MAINTAINER_CFLAGS)
|
||||
|
||||
AC_DEFINE([COGL_CONFIG_H_INCLUDED], 1, [cogl-config.h was included])
|
||||
|
||||
AC_OUTPUT(
|
||||
Makefile
|
||||
test-fixtures/Makefile
|
||||
cogl/Makefile
|
||||
cogl/mutter-cogl-$LIBMUTTER_API_VERSION.pc:cogl/mutter-cogl.pc.in
|
||||
cogl/cogl-defines.h
|
||||
cogl/cogl-gl-header.h
|
||||
cogl/cogl-egl-defines.h
|
||||
cogl-pango/Makefile
|
||||
cogl-pango/mutter-cogl-pango-$LIBMUTTER_API_VERSION.pc:cogl-pango/mutter-cogl-pango.pc.in
|
||||
cogl-path/Makefile
|
||||
cogl-path/mutter-cogl-path-$LIBMUTTER_API_VERSION.pc:cogl-path/mutter-cogl-path.pc.in
|
||||
cogl-gles2/Makefile
|
||||
cogl-gles2/mutter-cogl-gles2-$LIBMUTTER_API_VERSION.pc:cogl-gles2/mutter-cogl-gles2.pc.in
|
||||
tests/Makefile
|
||||
tests/config.env
|
||||
tests/conform/Makefile
|
||||
tests/unit/Makefile
|
||||
tests/data/Makefile
|
||||
)
|
||||
|
||||
dnl ================================================================
|
||||
dnl Dah Da!
|
||||
dnl ================================================================
|
||||
echo ""
|
||||
echo "Cogl - $COGL_1_VERSION/$COGL_VERSION (${COGL_RELEASE_STATUS})"
|
||||
|
||||
# Global flags
|
||||
echo ""
|
||||
echo " • Global:"
|
||||
echo " Prefix: ${prefix}"
|
||||
if test "x$COGL_DEFAULT_DRIVER" != "x"; then
|
||||
echo " Default driver: ${COGL_DEFAULT_DRIVER}"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
# Features
|
||||
echo " • Features:"
|
||||
echo " Drivers: ${enabled_drivers}"
|
||||
for driver in $enabled_drivers; do
|
||||
driver=`echo $driver | tr "[gles]" "[GLES]"`
|
||||
libname=`eval echo \\$COGL_${driver}_LIBNAME`
|
||||
echo " Library name for $driver: $libname"
|
||||
done
|
||||
echo " GL Window System APIs:${GL_WINSYS_APIS}"
|
||||
if test "x$SUPPORT_EGL" = "xyes"; then
|
||||
echo " EGL Platforms:${EGL_PLATFORMS}"
|
||||
echo " Wayland compositor support: ${enable_wayland_egl_server}"
|
||||
fi
|
||||
echo " Build libcogl-gles2 GLES 2.0 frontend api: ${enable_cogl_gles2}"
|
||||
echo " Image backend: ${COGL_IMAGE_BACKEND}"
|
||||
|
||||
# Compiler/Debug related flags
|
||||
echo ""
|
||||
echo " • Build options:"
|
||||
echo " Debugging: ${enable_debug}"
|
||||
echo " Profiling: ${enable_profile}"
|
||||
echo " Enable deprecated symbols: ${enable_deprecated}"
|
||||
echo " Compiler flags: ${CFLAGS} ${COGL_EXTRA_CFLAGS}"
|
||||
echo " Linker flags: ${LDFLAGS} ${COGL_EXTRA_LDFLAGS}"
|
||||
|
||||
# Miscellaneous
|
||||
echo ""
|
||||
echo " • Extra:"
|
||||
echo " Build introspection data: ${enable_introspection}"
|
||||
echo " Build unit tests: ${enable_unit_tests}"
|
||||
|
||||
echo ""
|
@ -1,21 +0,0 @@
|
||||
|
||||
noinst_LTLIBRARIES = libtest-fixtures.la
|
||||
|
||||
libtest_fixtures_la_CPPFLAGS = \
|
||||
-I$(top_srcdir) \
|
||||
-I$(top_builddir)/cogl \
|
||||
-Wall \
|
||||
$(NULL)
|
||||
|
||||
libtest_fixtures_la_CPPFLAGS += \
|
||||
-DCOGL_DISABLE_DEPRECATED \
|
||||
-DTESTS_DATADIR=\""$(top_srcdir)/tests/data"\" \
|
||||
-DCOGL_COMPILATION
|
||||
|
||||
libtest_fixtures_la_CFLAGS = -g3 -O0 $(COGL_DEP_CFLAGS) $(COGL_EXTRA_CFLAGS) -Wno-error=maybe-uninitialized -Wno-error=nested-externs -Wno-error=missing-prototypes
|
||||
|
||||
libtest_fixtures_la_SOURCES = \
|
||||
test-unit.h \
|
||||
test-utils.h \
|
||||
test-utils.c
|
||||
|
@ -1,31 +0,0 @@
|
||||
SUBDIRS = conform
|
||||
|
||||
if UNIT_TESTS
|
||||
SUBDIRS += unit
|
||||
endif
|
||||
|
||||
SUBDIRS += data
|
||||
|
||||
DIST_SUBDIRS = conform unit data
|
||||
|
||||
EXTRA_DIST = README test-launcher.sh run-tests.sh
|
||||
|
||||
if UNIT_TESTS
|
||||
test conform:
|
||||
( cd ./conform && $(MAKE) $(AM_MAKEFLAGS) $@ ) || exit $$?
|
||||
( cd ./unit && $(MAKE) $(AM_MAKEFLAGS) $@ ) || exit $$?
|
||||
else
|
||||
test conform:
|
||||
( cd ./conform && $(MAKE) $(AM_MAKEFLAGS) $@ ) || exit $$?
|
||||
endif
|
||||
|
||||
.PHONY: test conform
|
||||
|
||||
# run make test as part of make check
|
||||
check-local: test
|
||||
|
||||
if ENABLE_INSTALLED_TESTS
|
||||
insttestdir = $(libexecdir)/installed-tests/mutter-cogl
|
||||
insttest_SCRIPTS = run-tests.sh
|
||||
insttest_DATA = config.env
|
||||
endif
|
@ -1,172 +0,0 @@
|
||||
NULL =
|
||||
|
||||
noinst_PROGRAMS = test-conformance
|
||||
|
||||
common_sources = \
|
||||
test-conform-main.c \
|
||||
$(NULL)
|
||||
|
||||
unported_test_sources = \
|
||||
test-fixed.c \
|
||||
test-materials.c \
|
||||
test-viewport.c \
|
||||
test-multitexture.c \
|
||||
test-npot-texture.c \
|
||||
test-object.c \
|
||||
test-readpixels.c \
|
||||
test-texture-mipmaps.c \
|
||||
test-texture-pixmap-x11.c \
|
||||
test-texture-rectangle.c \
|
||||
test-vertex-buffer-contiguous.c \
|
||||
test-vertex-buffer-interleved.c \
|
||||
test-vertex-buffer-mutability.c \
|
||||
$(NULL)
|
||||
|
||||
test_sources = \
|
||||
test-atlas-migration.c \
|
||||
test-blend-strings.c \
|
||||
test-blend.c \
|
||||
test-depth-test.c \
|
||||
test-color-hsl.c \
|
||||
test-color-mask.c \
|
||||
test-backface-culling.c \
|
||||
test-just-vertex-shader.c \
|
||||
test-pipeline-user-matrix.c \
|
||||
test-pipeline-uniforms.c \
|
||||
test-pixel-buffer.c \
|
||||
test-premult.c \
|
||||
test-snippets.c \
|
||||
test-wrap-modes.c \
|
||||
test-sub-texture.c \
|
||||
test-custom-attributes.c \
|
||||
test-offscreen.c \
|
||||
test-primitive.c \
|
||||
test-texture-3d.c \
|
||||
test-sparse-pipeline.c \
|
||||
test-read-texture-formats.c \
|
||||
test-write-texture-formats.c \
|
||||
test-point-size.c \
|
||||
test-point-size-attribute.c \
|
||||
test-point-sprite.c \
|
||||
test-no-gl-header.c \
|
||||
test-version.c \
|
||||
test-gles2-context.c \
|
||||
test-euler-quaternion.c \
|
||||
test-layer-remove.c \
|
||||
test-alpha-test.c \
|
||||
test-map-buffer-range.c \
|
||||
test-npot-texture.c \
|
||||
test-alpha-textures.c \
|
||||
test-wrap-rectangle-textures.c \
|
||||
test-texture-get-set-data.c \
|
||||
test-framebuffer-get-bits.c \
|
||||
test-primitive-and-journal.c \
|
||||
test-copy-replace-texture.c \
|
||||
test-pipeline-cache-unrefs-texture.c \
|
||||
test-texture-no-allocate.c \
|
||||
test-pipeline-shader-state.c \
|
||||
test-texture-rg.c \
|
||||
test-fence.c \
|
||||
$(NULL)
|
||||
|
||||
test_sources += \
|
||||
test-path.c \
|
||||
test-path-clip.c
|
||||
|
||||
test_conformance_SOURCES = $(common_sources) $(test_sources)
|
||||
|
||||
SHEXT = $(EXEEXT)
|
||||
|
||||
# For convenience, this provides a way to easily run individual unit tests:
|
||||
.PHONY: wrappers clean-wrappers
|
||||
|
||||
wrappers: stamp-test-conformance
|
||||
@true
|
||||
stamp-test-conformance: Makefile $(srcdir)/test-conform-main.c
|
||||
@mkdir -p wrappers
|
||||
@sed -n -e 's/^ \{1,\}ADD_TEST *( *\([a-zA-Z0-9_]\{1,\}\).*/\1/p' $(srcdir)/test-conform-main.c > unit-tests
|
||||
@chmod +x $(top_srcdir)/tests/test-launcher.sh
|
||||
@( echo "/stamp-test-conformance" ; \
|
||||
echo "/test-conformance$(EXEEXT)" ; \
|
||||
echo "*.o" ; \
|
||||
echo ".gitignore" ; \
|
||||
echo "unit-tests" ; ) > .gitignore
|
||||
@for i in `cat unit-tests`; \
|
||||
do \
|
||||
unit=`basename $$i | sed -e s/_/-/g`; \
|
||||
echo " GEN $$unit"; \
|
||||
( echo "#!/bin/sh" ; echo "$(top_srcdir)/tests/test-launcher.sh $(abs_builddir)/test-conformance$(EXEEXT) '' '$$i' \"\$$@\"" ) > $$unit$(SHEXT) ; \
|
||||
chmod +x $$unit$(SHEXT); \
|
||||
echo "/$$unit$(SHEXT)" >> .gitignore; \
|
||||
done \
|
||||
&& echo timestamp > $(@F)
|
||||
|
||||
clean-wrappers:
|
||||
@for i in `cat unit-tests`; \
|
||||
do \
|
||||
unit=`basename $$i | sed -e s/_/-/g`; \
|
||||
echo " RM $$unit"; \
|
||||
rm -f $$unit$(SHEXT) ; \
|
||||
done \
|
||||
&& rm -f unit-tests \
|
||||
&& rm -f stamp-test-conformance
|
||||
|
||||
# NB: BUILT_SOURCES here a misnomer. We aren't building source, just inserting
|
||||
# a phony rule that will generate symlink scripts for running individual tests
|
||||
BUILT_SOURCES = wrappers
|
||||
|
||||
AM_CPPFLAGS = \
|
||||
-I$(top_srcdir) \
|
||||
-I$(top_builddir)/cogl \
|
||||
-I$(top_srcdir)/test-fixtures
|
||||
|
||||
AM_CPPFLAGS += \
|
||||
-DCOGL_ENABLE_EXPERIMENTAL_API \
|
||||
-DCOGL_DISABLE_DEPRECATED \
|
||||
-DCOGL_DISABLE_DEPRECATION_WARNINGS \
|
||||
-DTESTS_DATADIR=\""$(top_srcdir)/tests/data"\"
|
||||
|
||||
test_conformance_CFLAGS = -g3 -O0 $(COGL_DEP_CFLAGS) $(COGL_EXTRA_CFLAGS) -Wno-error=maybe-uninitialized -Wno-error=nested-externs -Wno-error=missing-prototypes
|
||||
test_conformance_LDADD = \
|
||||
$(COGL_DEP_LIBS) \
|
||||
$(top_builddir)/cogl/libmutter-cogl-$(LIBMUTTER_API_VERSION).la \
|
||||
$(LIBM)
|
||||
test_conformance_LDADD += $(top_builddir)/cogl-path/libmutter-cogl-path-$(LIBMUTTER_API_VERSION).la
|
||||
test_conformance_LDFLAGS = -export-dynamic
|
||||
|
||||
test: wrappers
|
||||
@$(top_srcdir)/tests/run-tests.sh $(abs_builddir)/../config.env $(abs_builddir)/test-conformance$(EXEEXT) unit-tests
|
||||
|
||||
# XXX: we could prevent the conformance test suite from running
|
||||
# by simply defining this variable conditionally
|
||||
TEST_PROGS = test-conformance
|
||||
|
||||
.PHONY: test
|
||||
|
||||
DISTCLEANFILES = .gitignore
|
||||
|
||||
# we override the clean-generic target to clean up the wrappers so
|
||||
# we cannot use CLEANFILES
|
||||
clean-generic: clean-wrappers
|
||||
$(QUIET_RM)rm -f .log
|
||||
|
||||
|
||||
if ENABLE_INSTALLED_TESTS
|
||||
|
||||
insttestdir = $(libexecdir)/installed-tests/mutter-cogl/conform
|
||||
insttest_PROGRAMS = test-conformance
|
||||
insttest_DATA = unit-tests
|
||||
|
||||
testmetadir = $(datadir)/installed-tests/mutter-cogl
|
||||
testmeta_DATA = conform.test
|
||||
|
||||
conform.test:
|
||||
echo " GEN $@"; \
|
||||
echo "[Test]" > $@.tmp; \
|
||||
echo "Type=session" >> $@.tmp; \
|
||||
echo "Exec=sh -c \"cd $(libexecdir)/installed-tests/mutter-cogl/conform; ../run-tests.sh ../config.env ./test-conformance unit-tests\"" >> $@.tmp; \
|
||||
mv $@.tmp $@
|
||||
|
||||
CLEANFILES = conform.test
|
||||
|
||||
endif
|
@ -1,3 +0,0 @@
|
||||
NULL =
|
||||
|
||||
EXTRA_DIST = valgrind.suppressions
|
@ -1,84 +0,0 @@
|
||||
NULL =
|
||||
|
||||
noinst_PROGRAMS = test-unit
|
||||
|
||||
test_unit_SOURCES = test-unit-main.c
|
||||
|
||||
SHEXT = $(EXEEXT)
|
||||
|
||||
# For convenience, this provides a way to easily run individual unit tests:
|
||||
.PHONY: wrappers clean-wrappers
|
||||
|
||||
wrappers: stamp-test-unit
|
||||
@true
|
||||
stamp-test-unit: Makefile test-unit$(EXEEXT)
|
||||
@mkdir -p wrappers
|
||||
. $(top_builddir)/cogl/libmutter-cogl-$(LIBMUTTER_API_VERSION).la ; \
|
||||
$(NM) $(top_builddir)/cogl/.libs/"$$dlname"| \
|
||||
grep '[DR] _\?unit_test_'|sed 's/.\+ [DR] _\?//' > unit-tests
|
||||
@chmod +x $(top_srcdir)/tests/test-launcher.sh
|
||||
@( echo "/stamp-test-unit" ; \
|
||||
echo "/test-unit$(EXEEXT)" ; \
|
||||
echo "*.o" ; \
|
||||
echo ".gitignore" ; \
|
||||
echo "unit-tests" ; ) > .gitignore
|
||||
@for i in `cat unit-tests`; \
|
||||
do \
|
||||
unit=`echo $$i | sed -e s/_/-/g | sed s/unit-test-//`; \
|
||||
echo " GEN $$unit"; \
|
||||
( echo "#!/bin/sh" ; echo "$(top_srcdir)/tests/test-launcher.sh $(abs_builddir)/test-unit$(EXEEXT) 'unit_test_' '$$i' \"\$$@\"" ) > $$unit$(SHEXT) ; \
|
||||
chmod +x $$unit$(SHEXT); \
|
||||
echo "/$$unit$(SHEXT)" >> .gitignore; \
|
||||
done \
|
||||
&& echo timestamp > $(@F)
|
||||
|
||||
clean-wrappers:
|
||||
@for i in `cat unit-tests`; \
|
||||
do \
|
||||
unit=`echo $$i | sed -e s/_/-/g | sed s/unit-test-//`; \
|
||||
echo " RM $$unit"; \
|
||||
rm -f $$unit$(SHEXT) ; \
|
||||
done \
|
||||
&& rm -f unit-tests \
|
||||
&& rm -f stamp-test-unit
|
||||
|
||||
# NB: BUILT_SOURCES here a misnomer. We aren't building source, just inserting
|
||||
# a phony rule that will generate symlink scripts for running individual tests
|
||||
BUILT_SOURCES = wrappers
|
||||
|
||||
# The include of the $(buildir)/cogl directory here is to make it so
|
||||
# that tests that directly include Cogl source code for whitebox
|
||||
# testing (such as test-bitmask) will still compile
|
||||
AM_CPPFLAGS = \
|
||||
-I$(top_srcdir) \
|
||||
-I$(top_srcdir)/test-fixtures \
|
||||
-I$(top_builddir)/cogl
|
||||
|
||||
AM_CPPFLAGS += \
|
||||
-DCOGL_DISABLE_DEPRECATED \
|
||||
-DTESTS_DATADIR=\""$(top_srcdir)/tests/data"\" \
|
||||
-DCOGL_COMPILATION
|
||||
|
||||
test_unit_CFLAGS = -g3 -O0 $(COGL_DEP_CFLAGS) $(COGL_EXTRA_CFLAGS)
|
||||
test_unit_LDADD = \
|
||||
$(COGL_DEP_LIBS) \
|
||||
$(top_builddir)/cogl/libmutter-cogl-$(LIBMUTTER_API_VERSION).la \
|
||||
$(LIBM)
|
||||
test_unit_LDFLAGS = -export-dynamic
|
||||
|
||||
# XXX: uncomment when tests get fixed
|
||||
#test: wrappers
|
||||
# @$(top_srcdir)/tests/run-tests.sh $(abs_builddir)/../config.env $(abs_builddir)/test-unit$(EXEEXT) unit-tests
|
||||
|
||||
# XXX: we could prevent the unit test suite from running
|
||||
# by simply defining this variable conditionally
|
||||
TEST_PROGS = test-unit
|
||||
|
||||
.PHONY: test
|
||||
|
||||
DISTCLEANFILES = .gitignore
|
||||
|
||||
# we override the clean-generic target to clean up the wrappers so
|
||||
# we cannot use CLEANFILES
|
||||
clean-generic: clean-wrappers
|
||||
$(QUIET_RM)rm -f .log
|
552
configure.ac
552
configure.ac
@ -1,552 +0,0 @@
|
||||
AC_PREREQ(2.62)
|
||||
|
||||
m4_define([mutter_major_version], [3])
|
||||
m4_define([mutter_minor_version], [31])
|
||||
m4_define([mutter_micro_version], [2])
|
||||
|
||||
m4_define([mutter_version],
|
||||
[mutter_major_version.mutter_minor_version.mutter_micro_version])
|
||||
|
||||
m4_define([mutter_plugin_api_version], [3])
|
||||
|
||||
m4_define([libmutter_api_version], [4])
|
||||
|
||||
AC_INIT([mutter], [mutter_version],
|
||||
[http://bugzilla.gnome.org/enter_bug.cgi?product=mutter])
|
||||
|
||||
AC_CONFIG_MACRO_DIR([m4])
|
||||
AC_CONFIG_AUX_DIR([build-aux])
|
||||
AC_CONFIG_SRCDIR(src/core/display.c)
|
||||
AC_CONFIG_HEADERS(config.h)
|
||||
AC_CONFIG_SUBDIRS([cogl clutter])
|
||||
|
||||
AM_INIT_AUTOMAKE([1.11 foreign no-dist-gzip dist-xz tar-ustar subdir-objects])
|
||||
m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])],)
|
||||
AM_MAINTAINER_MODE([enable])
|
||||
|
||||
AC_GNU_SOURCE
|
||||
|
||||
MUTTER_MAJOR_VERSION=mutter_major_version
|
||||
MUTTER_MINOR_VERSION=mutter_minor_version
|
||||
MUTTER_MICRO_VERSION=mutter_micro_version
|
||||
MUTTER_VERSION=mutter_version
|
||||
MUTTER_PLUGIN_API_VERSION=mutter_plugin_api_version
|
||||
LIBMUTTER_API_VERSION=libmutter_api_version
|
||||
AC_SUBST(MUTTER_MAJOR_VERSION)
|
||||
AC_SUBST(MUTTER_MINOR_VERSION)
|
||||
AC_SUBST(MUTTER_MICRO_VERSION)
|
||||
AC_SUBST(MUTTER_PLUGIN_API_VERSION)
|
||||
AC_SUBST(MUTTER_VERSION)
|
||||
AC_SUBST(LIBMUTTER_API_VERSION)
|
||||
|
||||
# Make the mutter versions visible to the cogl and clutter subdirs
|
||||
export LIBMUTTER_API_VERSION MUTTER_VERSION
|
||||
|
||||
MUTTER_PLUGIN_DIR="$libdir/mutter-$LIBMUTTER_API_VERSION/plugins"
|
||||
AC_SUBST(MUTTER_PLUGIN_DIR)
|
||||
|
||||
# Honor aclocal flags
|
||||
AC_SUBST(ACLOCAL_AMFLAGS, "\${ACLOCAL_FLAGS}")
|
||||
|
||||
GETTEXT_PACKAGE=mutter
|
||||
AC_SUBST(GETTEXT_PACKAGE)
|
||||
AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE",[Name of default gettext domain])
|
||||
|
||||
AM_GNU_GETTEXT_VERSION([0.19.6])
|
||||
AM_GNU_GETTEXT([external])
|
||||
|
||||
LT_PREREQ([2.2.6])
|
||||
LT_INIT([disable-static])
|
||||
|
||||
# Debian / Ubuntu set this flag to 'no' in libtool, causing linking errors
|
||||
# (i.e when linking against mutter-clutter). Not to explicitly redefine such
|
||||
# deps, we enable this flag for everybody.
|
||||
link_all_deplibs=yes
|
||||
link_all_deplibs_CXX=yes
|
||||
|
||||
AC_PROG_CC
|
||||
AC_PROG_CC_C_O
|
||||
AC_PROG_INSTALL
|
||||
AC_PROG_SED
|
||||
AC_HEADER_STDC
|
||||
PKG_PROG_PKG_CONFIG([0.21])
|
||||
|
||||
# Sets GLIB_GENMARSHAL and GLIB_MKENUMS
|
||||
AM_PATH_GLIB_2_0([2.53.2])
|
||||
|
||||
CANBERRA=libcanberra-gtk3
|
||||
CANBERRA_VERSION=0.26
|
||||
|
||||
LIBWACOM_VERSION=0.13
|
||||
|
||||
MUTTER_PC_MODULES="
|
||||
gl
|
||||
egl
|
||||
gtk+-3.0 >= 3.19.8
|
||||
gio-unix-2.0 >= 2.35.1
|
||||
pango >= 1.2.0
|
||||
cairo >= 1.10.0
|
||||
gsettings-desktop-schemas >= 3.31.0
|
||||
json-glib-1.0
|
||||
gnome-desktop-3.0
|
||||
xcomposite >= 0.2
|
||||
xcursor
|
||||
xdamage
|
||||
xext
|
||||
xfixes
|
||||
xi >= 1.6.99.1
|
||||
xkbfile
|
||||
xkeyboard-config
|
||||
xkbcommon >= 0.4.3
|
||||
xkbcommon-x11
|
||||
xrender
|
||||
xrandr >= 1.5.0
|
||||
x11-xcb
|
||||
xcb-randr
|
||||
xcb-res
|
||||
"
|
||||
XWAYLAND_GRAB_DEFAULT_ACCESS_RULES="gnome-boxes,remote-viewer,virt-viewer,virt-manager,vinagre,vncviewer,Xephyr"
|
||||
|
||||
GLIB_GSETTINGS
|
||||
|
||||
AC_ARG_ENABLE(verbose-mode,
|
||||
AC_HELP_STRING([--disable-verbose-mode],
|
||||
[disable mutter's ability to do verbose logging, for embedded/size-sensitive custom builds]),,
|
||||
enable_verbose_mode=yes)
|
||||
|
||||
if test x$enable_verbose_mode = xyes; then
|
||||
AC_DEFINE(WITH_VERBOSE_MODE,1,[Build with verbose mode support])
|
||||
fi
|
||||
|
||||
AC_ARG_ENABLE(sm,
|
||||
AC_HELP_STRING([--disable-sm],
|
||||
[disable mutter's session management support, for embedded/size-sensitive custom non-GNOME builds]),,
|
||||
enable_sm=auto)
|
||||
|
||||
AC_ARG_ENABLE(startup-notification,
|
||||
AC_HELP_STRING([--disable-startup-notification],
|
||||
[disable mutter's startup notification support, for embedded/size-sensitive custom non-GNOME builds]),,
|
||||
enable_startup_notification=auto)
|
||||
|
||||
AC_ARG_WITH(libwacom,
|
||||
AC_HELP_STRING([--without-libwacom],
|
||||
[disable the use of libwacom for advanced tablet management]),,
|
||||
with_libwacom=auto)
|
||||
|
||||
AC_ARG_WITH(gudev,
|
||||
AC_HELP_STRING([--without-gudev],
|
||||
[disable the use of gudev for device type detection]),,
|
||||
with_gudev=auto)
|
||||
|
||||
AC_ARG_WITH([xwayland-path],
|
||||
[AS_HELP_STRING([--with-xwayland-path], [Absolute path for an X Wayland server])],
|
||||
[XWAYLAND_PATH="$withval"],
|
||||
[XWAYLAND_PATH="$bindir/Xwayland"])
|
||||
|
||||
AC_ARG_ENABLE(installed_tests,
|
||||
AS_HELP_STRING([--enable-installed-tests],
|
||||
[Install test programs (default: no)]),,
|
||||
[enable_installed_tests=no])
|
||||
AM_CONDITIONAL(BUILDOPT_INSTALL_TESTS, test x$enable_installed_tests = xyes)
|
||||
|
||||
## here we get the flags we'll actually use
|
||||
|
||||
# Unconditionally use this dir to avoid a circular dep with gnomecc
|
||||
GNOME_KEYBINDINGS_KEYSDIR="${datadir}/gnome-control-center/keybindings"
|
||||
AC_SUBST(GNOME_KEYBINDINGS_KEYSDIR)
|
||||
|
||||
STARTUP_NOTIFICATION_VERSION=0.7
|
||||
AC_MSG_CHECKING([Startup notification library >= $STARTUP_NOTIFICATION_VERSION])
|
||||
if $PKG_CONFIG --atleast-version $STARTUP_NOTIFICATION_VERSION libstartup-notification-1.0; then
|
||||
have_startup_notification=yes
|
||||
else
|
||||
have_startup_notification=no
|
||||
fi
|
||||
AC_MSG_RESULT($have_startup_notification)
|
||||
|
||||
if test x$enable_startup_notification = xyes; then
|
||||
have_startup_notification=yes
|
||||
echo "startup-notification support forced on"
|
||||
elif test x$enable_startup_notification = xauto; then
|
||||
true
|
||||
else
|
||||
have_startup_notification=no
|
||||
fi
|
||||
|
||||
if test x$have_startup_notification = xyes; then
|
||||
echo "Building with libstartup-notification"
|
||||
MUTTER_PC_MODULES="$MUTTER_PC_MODULES libstartup-notification-1.0 >= $STARTUP_NOTIFICATION_VERSION"
|
||||
AC_DEFINE(HAVE_STARTUP_NOTIFICATION, , [Building with startup notification support])
|
||||
else
|
||||
echo "Building without libstartup-notification"
|
||||
fi
|
||||
|
||||
if $PKG_CONFIG --exists $CANBERRA_GTK '>=' $CANBERRA_GTK_VERSION; then
|
||||
AC_MSG_RESULT(yes)
|
||||
MUTTER_PC_MODULES="$MUTTER_PC_MODULES $CANBERRA_GTK"
|
||||
else
|
||||
AC_MSG_RESULT(no)
|
||||
AC_MSG_ERROR([libcanberra was not found])
|
||||
fi
|
||||
|
||||
have_libwacom=no
|
||||
AC_MSG_CHECKING([libwacom])
|
||||
if test x$with_libwacom = xno ; then
|
||||
AC_MSG_RESULT([disabled])
|
||||
else
|
||||
if $PKG_CONFIG --exists libwacom '>=' $LIBWACOM_VERSION; then
|
||||
have_libwacom=yes
|
||||
AC_MSG_RESULT(yes)
|
||||
MUTTER_PC_MODULES="$MUTTER_PC_MODULES libwacom"
|
||||
AC_DEFINE([HAVE_LIBWACOM], 1, [Building with libwacom for advanced tablet management])
|
||||
else
|
||||
AC_MSG_RESULT(no)
|
||||
if test x$with_libwacom = xyes ; then
|
||||
AC_MSG_ERROR([libwacom forced but not found])
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
have_gudev=no
|
||||
AC_MSG_CHECKING([gudev])
|
||||
if test x$with_gudev = xno ; then
|
||||
AC_MSG_RESULT([disabled])
|
||||
else
|
||||
if $PKG_CONFIG --exists "gudev-1.0 >= 232"; then
|
||||
have_gudev=yes
|
||||
AC_MSG_RESULT(yes)
|
||||
MUTTER_PC_MODULES="$MUTTER_PC_MODULES gudev-1.0 >= 232"
|
||||
AC_DEFINE([HAVE_LIBGUDEV], 1, [Building with gudev for device type detection])
|
||||
else
|
||||
AC_MSG_RESULT(no)
|
||||
if test x$with_gudev = xyes ; then
|
||||
AC_MSG_ERROR([gudev forced but not found])
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
AC_ARG_ENABLE(remote-desktop,
|
||||
AS_HELP_STRING([--enable-remote-desktop], [enable support for remote desktop and screen cast]),,
|
||||
enable_remote_desktop=no
|
||||
)
|
||||
AS_IF([test "$enable_remote_desktop" = "yes"], [
|
||||
MUTTER_PC_MODULES="$MUTTER_PC_MODULES libpipewire-0.2 >= 0.2.2"
|
||||
AC_DEFINE([HAVE_REMOTE_DESKTOP],[1], [Defined if screen cast and remote desktop support is enabled])
|
||||
])
|
||||
AM_CONDITIONAL([HAVE_REMOTE_DESKTOP],[test "$enable_remote_desktop" = "yes"])
|
||||
|
||||
INTROSPECTION_VERSION=0.9.5
|
||||
GOBJECT_INTROSPECTION_CHECK([$INTROSPECTION_VERSION])
|
||||
|
||||
if test x$found_introspection != xno; then
|
||||
AC_DEFINE(HAVE_INTROSPECTION, 1, [Define if GObject introspection is available])
|
||||
MUTTER_PC_MODULES="$MUTTER_PC_MODULES gobject-introspection-1.0"
|
||||
fi
|
||||
|
||||
AC_SUBST(XWAYLAND_PATH)
|
||||
|
||||
PKG_CHECK_MODULES(MUTTER, $MUTTER_PC_MODULES)
|
||||
|
||||
PKG_CHECK_MODULES(ELOGIND, [libelogind], [have_elogind=yes], [have_elogind=no])
|
||||
|
||||
if test x$have_elogind = xyes; then
|
||||
logind_provider="libelogind"
|
||||
fi
|
||||
|
||||
PKG_CHECK_MODULES(SYSTEMD, [libsystemd], [have_systemd=yes], [have_systemd=no])
|
||||
|
||||
if test x$have_systemd = xyes -o -z "$logind_provider"; then
|
||||
logind_provider="libsystemd"
|
||||
fi
|
||||
|
||||
MUTTER_NATIVE_BACKEND_MODULES="libdrm $logind_provider libinput >= 1.4 gudev-1.0 gbm >= 10.3"
|
||||
|
||||
AC_ARG_ENABLE(native-backend,
|
||||
AS_HELP_STRING([--disable-native-backend], [disable mutter native (KMS) backend]),,
|
||||
enable_native_backend=auto
|
||||
)
|
||||
have_native_backend="no"
|
||||
AS_IF([test "$enable_native_backend" = "yes"], [have_native_backend=yes],
|
||||
[test "$enable_native_backend" = "auto"], PKG_CHECK_EXISTS([$MUTTER_NATIVE_BACKEND_MODULES], [have_native_backend=yes]))
|
||||
|
||||
AS_IF([test "$have_native_backend" = "yes"], [
|
||||
PKG_CHECK_MODULES([MUTTER_NATIVE_BACKEND], [$MUTTER_NATIVE_BACKEND_MODULES])
|
||||
AC_DEFINE([HAVE_NATIVE_BACKEND],[1], [Define if you want to enable the native (KMS) backend based on systemd])
|
||||
])
|
||||
AM_CONDITIONAL([HAVE_NATIVE_BACKEND],[test "$have_native_backend" = "yes"])
|
||||
|
||||
AC_DEFINE([HAVE_EGL],[1], [Defined if EGL support is enabled])
|
||||
|
||||
MUTTER_WAYLAND_EGLSTREAM_MODULES="wayland-eglstream-protocols"
|
||||
|
||||
AC_ARG_ENABLE(egl-device,
|
||||
AS_HELP_STRING([--enable-egl-device], [enable support for EGLDevice on top of KMS]),,
|
||||
enable_egl_device=no
|
||||
have_wayland_eglstream=no
|
||||
)
|
||||
AS_IF([test "$enable_egl_device" = "yes"], [
|
||||
AC_DEFINE([HAVE_EGL_DEVICE],[1], [Defined if EGLDevice support is enabled])
|
||||
PKG_CHECK_EXISTS([$MUTTER_WAYLAND_EGLSTREAM_MODULES], [have_wayland_eglstream=yes], [have_wayland_eglstream=no])
|
||||
])
|
||||
AS_IF([test "$have_wayland_eglstream" = "yes"], [
|
||||
AC_DEFINE([HAVE_WAYLAND_EGLSTREAM],[1],[Defined if Wayland EGLStream protocols are available])
|
||||
PKG_CHECK_MODULES(WAYLAND_EGLSTREAM, [$MUTTER_WAYLAND_EGLSTREAM_MODULES],
|
||||
[ac_wayland_eglstream_pkgdatadir=`$PKG_CONFIG --variable=pkgdatadir $MUTTER_WAYLAND_EGLSTREAM_MODULES`])
|
||||
AC_SUBST(WAYLAND_EGLSTREAM_DATADIR, $ac_wayland_eglstream_pkgdatadir)
|
||||
])
|
||||
AM_CONDITIONAL([HAVE_WAYLAND_EGLSTREAM],[test "$have_wayland_eglstream" = "yes"])
|
||||
|
||||
MUTTER_WAYLAND_MODULES="wayland-server >= 1.13.0"
|
||||
|
||||
AC_ARG_ENABLE(wayland,
|
||||
AS_HELP_STRING([--disable-wayland], [disable mutter on wayland support]),,
|
||||
enable_wayland=auto
|
||||
)
|
||||
AS_IF([test "$enable_wayland" = "yes"], [have_wayland=yes],
|
||||
[test "$enable_wayland" = "auto"], PKG_CHECK_EXISTS([$MUTTER_WAYLAND_MODULES], [have_wayland=yes]))
|
||||
|
||||
AS_IF([test "$have_wayland" = "yes"], [
|
||||
PKG_CHECK_MODULES([MUTTER_WAYLAND], [$MUTTER_WAYLAND_MODULES])
|
||||
AC_PATH_PROG([WAYLAND_SCANNER],[wayland-scanner],[no])
|
||||
AS_IF([test $WAYLAND_SCANNER = "no"],
|
||||
[AC_MSG_ERROR([Could not find wayland-scanner in your PATH, required for parsing wayland extension protocols])])
|
||||
AC_SUBST([WAYLAND_SCANNER])
|
||||
AC_DEFINE([HAVE_WAYLAND],[1],[Define if you want to enable Wayland support])
|
||||
|
||||
PKG_CHECK_MODULES(WAYLAND_PROTOCOLS, [wayland-protocols >= 1.16],
|
||||
[ac_wayland_protocols_pkgdatadir=`$PKG_CONFIG --variable=pkgdatadir wayland-protocols`])
|
||||
AC_SUBST(WAYLAND_PROTOCOLS_DATADIR, $ac_wayland_protocols_pkgdatadir)
|
||||
])
|
||||
AM_CONDITIONAL([HAVE_WAYLAND],[test "$have_wayland" = "yes"])
|
||||
|
||||
AC_ARG_WITH([xwayland-grab-default-access-rules],
|
||||
[AS_HELP_STRING([--with-xwayland-grab-default-access-rules="app-res1,app-res2,..."],
|
||||
[comma delimited list of applications ressources or class allowed to issue X11 grabs in Xwayland"])],
|
||||
[with_XWAYLAND_GRAB_DEFAULT_ACCESS_RULES="$withval"],
|
||||
[with_XWAYLAND_GRAB_DEFAULT_ACCESS_RULES="$XWAYLAND_GRAB_DEFAULT_ACCESS_RULES"])
|
||||
|
||||
case "$with_XWAYLAND_GRAB_DEFAULT_ACCESS_RULES" in
|
||||
yes) with_XWAYLAND_GRAB_DEFAULT_ACCESS_RULES="$XWAYLAND_GRAB_DEFAULT_ACCESS_RULES" ;;
|
||||
no) with_XWAYLAND_GRAB_DEFAULT_ACCESS_RULES='' ;;
|
||||
esac
|
||||
AC_DEFINE_UNQUOTED([XWAYLAND_GRAB_DEFAULT_ACCESS_RULES],
|
||||
"$with_XWAYLAND_GRAB_DEFAULT_ACCESS_RULES",
|
||||
[Xwayland applications allowed to issue keyboard grabs])
|
||||
AC_SUBST(XWAYLAND_GRAB_DEFAULT_ACCESS_RULES)
|
||||
|
||||
AC_PATH_XTRA
|
||||
|
||||
ALL_X_LIBS="$X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS"
|
||||
|
||||
# Check for Xinerama extension - we only support the "XFree86" style,
|
||||
# and not the older Solaris-only version; recent Solaris supports the
|
||||
# XFree86 style.
|
||||
mutter_save_cppflags="$CPPFLAGS"
|
||||
CPPFLAGS="$CPPFLAGS $X_CFLAGS"
|
||||
|
||||
have_xinerama=yes
|
||||
AC_CHECK_LIB(Xinerama, XineramaQueryExtension,
|
||||
[AC_CHECK_HEADER(X11/extensions/Xinerama.h,
|
||||
[X_EXTRA_LIBS="-lXinerama $X_EXTRA_LIBS"
|
||||
if test -z "`echo $ALL_X_LIBS | grep "\-lXext" 2> /dev/null`"; then
|
||||
X_EXTRA_LIBS="-lXext $X_EXTRA_LIBS"
|
||||
fi],
|
||||
have_xinerama=no,
|
||||
[#include <X11/Xlib.h>])],
|
||||
have_xinerama=no, -lXext $ALL_X_LIBS)
|
||||
AC_MSG_CHECKING(for Xinerama support)
|
||||
AC_MSG_RESULT($have_xinerama)
|
||||
|
||||
CPPFLAGS="$mutter_save_cppflags"
|
||||
|
||||
if test x$have_xinerama = xno; then
|
||||
AC_MSG_ERROR([Xinerama extension was not found])
|
||||
fi
|
||||
|
||||
AC_DEFINE_UNQUOTED([XKB_BASE], ["`$PKG_CONFIG --variable xkb_base xkeyboard-config`"],
|
||||
[XKB base dir])
|
||||
|
||||
MUTTER_LIBS="$MUTTER_LIBS $X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS -lm"
|
||||
|
||||
found_sm=no
|
||||
case "$MUTTER_LIBS" in
|
||||
*-lSM*)
|
||||
found_sm=yes
|
||||
;;
|
||||
*)
|
||||
AC_CHECK_LIB(SM, SmcSaveYourselfDone,
|
||||
[AC_CHECK_HEADERS(X11/SM/SMlib.h,
|
||||
MUTTER_LIBS="-lSM -lICE $MUTTER_LIBS" found_sm=yes)],
|
||||
, $MUTTER_LIBS)
|
||||
;;
|
||||
esac
|
||||
|
||||
if test x$enable_sm = xno; then
|
||||
found_sm=no
|
||||
fi
|
||||
|
||||
if test x$enable_sm = xyes; then
|
||||
if test "$found_sm" = "no"; then
|
||||
AC_MSG_ERROR([--enable-sm forced and -lSM not found])
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
if test "$found_sm" = "yes"; then
|
||||
AC_DEFINE(HAVE_SM, , [Building with SM support])
|
||||
fi
|
||||
|
||||
AM_CONDITIONAL(HAVE_SM, test "$found_sm" = "yes")
|
||||
|
||||
AC_PATH_PROG(ZENITY, zenity, no)
|
||||
if test x"$ZENITY" = xno; then
|
||||
AC_MSG_ERROR([zenity not found in your path - needed for dialogs])
|
||||
fi
|
||||
|
||||
AC_ARG_ENABLE(debug,
|
||||
[ --enable-debug enable debugging],,
|
||||
enable_debug=no)
|
||||
if test "x$enable_debug" = "xyes"; then
|
||||
CFLAGS="$CFLAGS -g -O"
|
||||
fi
|
||||
|
||||
AC_CHECK_DECL([GL_EXT_x11_sync_object],
|
||||
[],
|
||||
[AC_MSG_ERROR([GL_EXT_x11_sync_object definition not found, please update your GL headers])],
|
||||
[#include <GL/glx.h>])
|
||||
|
||||
if test "$have_native_backend" = yes; then
|
||||
AC_PATH_PROG([CVT],[cvt],[])
|
||||
if test x"$CVT" = x; then
|
||||
AC_MSG_ERROR([cvt not found in your path])
|
||||
fi
|
||||
fi
|
||||
|
||||
#### Warnings (last since -Werror can disturb other tests)
|
||||
|
||||
# Stay command-line compatible with the gnome-common configure option. Here
|
||||
# minimum/yes/maximum are the same, however.
|
||||
AC_ARG_ENABLE(compile_warnings,
|
||||
AS_HELP_STRING([--enable-compile-warnings=@<:@no/minimum/yes/maximum/error@:>@],[Turn on compiler warnings]),,
|
||||
enable_compile_warnings=error)
|
||||
|
||||
changequote(,)dnl
|
||||
if test "$enable_compile_warnings" != no ; then
|
||||
if test "x$GCC" = "xyes"; then
|
||||
case " $CFLAGS " in
|
||||
*[\ \ ]-Wall[\ \ ]*) ;;
|
||||
*) CFLAGS="$CFLAGS -Wall" ;;
|
||||
esac
|
||||
|
||||
# case " $CFLAGS " in
|
||||
# *[\ \ ]-Wshadow[\ \ ]*) ;;
|
||||
# *) CFLAGS="$CFLAGS -Wshadow" ;;
|
||||
# esac
|
||||
|
||||
case " $CFLAGS " in
|
||||
*[\ \ ]-Wchar-subscripts[\ \ ]*) ;;
|
||||
*) CFLAGS="$CFLAGS -Wchar-subscripts" ;;
|
||||
esac
|
||||
|
||||
case " $CFLAGS " in
|
||||
*[\ \ ]-Wmissing-declarations[\ \ ]*) ;;
|
||||
*) CFLAGS="$CFLAGS -Wmissing-declarations" ;;
|
||||
esac
|
||||
|
||||
case " $CFLAGS " in
|
||||
*[\ \ ]-Wmissing-prototypes[\ \ ]*) ;;
|
||||
*) CFLAGS="$CFLAGS -Wmissing-prototypes" ;;
|
||||
esac
|
||||
|
||||
case " $CFLAGS " in
|
||||
*[\ \ ]-Wnested-externs[\ \ ]*) ;;
|
||||
*) CFLAGS="$CFLAGS -Wnested-externs" ;;
|
||||
esac
|
||||
|
||||
case " $CFLAGS " in
|
||||
*[\ \ ]-Wpointer-arith[\ \ ]*) ;;
|
||||
*) CFLAGS="$CFLAGS -Wpointer-arith" ;;
|
||||
esac
|
||||
|
||||
case " $CFLAGS " in
|
||||
*[\ \ ]-Wcast-align[\ \ ]*) ;;
|
||||
*) CFLAGS="$CFLAGS -Wcast-align" ;;
|
||||
esac
|
||||
|
||||
case " $CFLAGS " in
|
||||
*[\ \ ]-Wsign-compare[\ \ ]*) ;;
|
||||
*) CFLAGS="$CFLAGS -Wsign-compare" ;;
|
||||
esac
|
||||
|
||||
if test "$enable_compile_warnings" = error; then
|
||||
case " $CFLAGS " in
|
||||
*[\ \ ]-Werror[\ \ ]*) ;;
|
||||
*) CFLAGS="$CFLAGS -Werror -Wno-error=deprecated-declarations" ;;
|
||||
esac
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
changequote([,])dnl
|
||||
|
||||
AC_CONFIG_FILES([
|
||||
Makefile
|
||||
data/Makefile
|
||||
doc/Makefile
|
||||
doc/man/Makefile
|
||||
src/Makefile
|
||||
src/libmutter-$LIBMUTTER_API_VERSION.pc:src/libmutter.pc.in
|
||||
src/compositor/plugins/Makefile
|
||||
src/meta/meta-version.h
|
||||
po/Makefile.in
|
||||
])
|
||||
|
||||
AC_OUTPUT
|
||||
|
||||
# Check that cogl and clutter have their .pc files regenerated with the correct version
|
||||
|
||||
COGL_PC_VERSION=$(grep Version: cogl/cogl/mutter-cogl-$LIBMUTTER_API_VERSION.pc|awk '{ print $2; }')
|
||||
AS_IF([test "x$COGL_PC_VERSION" != "x$MUTTER_VERSION"],
|
||||
[AC_MSG_ERROR([mutter-cogl pkg-config file not updated, rerun ./configure])])
|
||||
|
||||
CLUTTER_PC_VERSION=$(grep Version: clutter/clutter/mutter-clutter-$LIBMUTTER_API_VERSION.pc|awk '{ print $2; }')
|
||||
AS_IF([test "x$CLUTTER_PC_VERSION" != "x$MUTTER_VERSION"],
|
||||
[AC_MSG_ERROR([mutter-clutter pkg-config file not updated, rerun ./configure])])
|
||||
|
||||
if test x$enable_verbose_mode = xno; then
|
||||
echo "*** WARNING WARNING WARNING WARNING WARNING"
|
||||
echo "*** Building without verbose mode"
|
||||
echo "*** This means there's no way to debug mutter problems."
|
||||
echo "*** Please build normal desktop versions of mutter"
|
||||
echo "*** with verbose mode enabled so users can use it when they report bugs."
|
||||
fi
|
||||
|
||||
dnl ==========================================================================
|
||||
echo "
|
||||
mutter-$VERSION
|
||||
|
||||
prefix: ${prefix}
|
||||
source code location: ${srcdir}
|
||||
compiler: ${CC}
|
||||
|
||||
Startup notification: ${have_startup_notification}
|
||||
libwacom: ${have_libwacom}
|
||||
gudev ${have_gudev}
|
||||
Introspection: ${found_introspection}
|
||||
Session management: ${found_sm}
|
||||
Wayland: ${have_wayland}
|
||||
Wayland EGLStream: ${have_wayland_eglstream}
|
||||
Native (KMS) backend: ${have_native_backend}
|
||||
EGLDevice: ${enable_egl_device}
|
||||
Remote desktop: ${enable_remote_desktop}
|
||||
"
|
||||
|
||||
|
||||
MUTTER_MINOR_VERSION=mutter_minor_version
|
||||
if expr $MUTTER_MINOR_VERSION % 2 > /dev/null ; then
|
||||
stable_version=`expr $MUTTER_MINOR_VERSION - 1`
|
||||
echo "This is the UNSTABLE branch of mutter"
|
||||
echo -n "Use 3.$stable_version.x for stable "
|
||||
echo "(gnome-3-$stable_version branch in git)"
|
||||
else
|
||||
echo "This is the stable branch of mutter"
|
||||
fi
|
@ -1,43 +0,0 @@
|
||||
desktopfiles_in_files = \
|
||||
mutter.desktop.in
|
||||
desktopfilesdir = $(datadir)/applications
|
||||
desktopfiles_DATA = $(desktopfiles_in_files:.desktop.in=.desktop)
|
||||
|
||||
%.desktop:%.desktop.in
|
||||
$(AM_V_GET) $(MSGFMT) --desktop --template $< -d $(top_srcdir)/po -o $@
|
||||
|
||||
xmldir = $(GNOME_KEYBINDINGS_KEYSDIR)
|
||||
xml_DATA = \
|
||||
50-mutter-navigation.xml \
|
||||
50-mutter-system.xml \
|
||||
50-mutter-windows.xml
|
||||
|
||||
if HAVE_WAYLAND
|
||||
xml_DATA += \
|
||||
50-mutter-wayland.xml
|
||||
endif
|
||||
|
||||
gschema_in_files = \
|
||||
org.gnome.mutter.gschema.xml.in \
|
||||
org.gnome.mutter.wayland.gschema.xml.in
|
||||
gsettings_SCHEMAS = $(gschema_in_files:.xml.in=.xml)
|
||||
|
||||
%.gschema.xml: %.gschema.xml.in Makefile
|
||||
$(AM_V_GEN) sed -e 's|@GETTEXT_DOMAIN[@]|$(GETTEXT_PACKAGE)|g' \
|
||||
-e 's|@XWAYLAND_GRAB_DEFAULT_ACCESS_RULES[@]|$(XWAYLAND_GRAB_DEFAULT_ACCESS_RULES)|g' \
|
||||
$< > $@ || rm $@
|
||||
|
||||
@GSETTINGS_RULES@
|
||||
|
||||
convertdir = $(datadir)/GConf/gsettings
|
||||
convert_DATA = mutter-schemas.convert
|
||||
|
||||
CLEANFILES = \
|
||||
$(desktopfiles_DATA) \
|
||||
$(gsettings_SCHEMAS)
|
||||
|
||||
EXTRA_DIST = \
|
||||
$(convert_DATA) \
|
||||
$(desktopfiles_in_files) \
|
||||
$(gschema_in_files) \
|
||||
$(xml_DATA)
|
@ -1,4 +0,0 @@
|
||||
SUBDIRS = man
|
||||
|
||||
EXTRA_DIST = dialogs.txt code-overview.txt \
|
||||
how-to-get-focus-right.txt rationales.txt
|
@ -1,3 +0,0 @@
|
||||
man_MANS = mutter.1
|
||||
|
||||
EXTRA_DIST = $(man_MANS)
|
@ -1,95 +0,0 @@
|
||||
# A framework for running scripted tests
|
||||
|
||||
if HAVE_WAYLAND
|
||||
|
||||
test_programs = \
|
||||
mutter-test-client \
|
||||
mutter-test-runner \
|
||||
mutter-test-unit-tests \
|
||||
mutter-test-headless-start-test \
|
||||
$(NULL)
|
||||
|
||||
if BUILDOPT_INSTALL_TESTS
|
||||
stackingdir = $(pkgdatadir)/tests/stacking
|
||||
dist_stacking_DATA = \
|
||||
$(srcdir)/tests/stacking/basic-x11.metatest \
|
||||
$(srcdir)/tests/stacking/basic-wayland.metatest \
|
||||
$(srcdir)/tests/stacking/closed-transient.metatest \
|
||||
$(srcdir)/tests/stacking/minimized.metatest \
|
||||
$(srcdir)/tests/stacking/mixed-windows.metatest \
|
||||
$(srcdir)/tests/stacking/set-parent.metatest \
|
||||
$(srcdir)/tests/stacking/set-parent-exported.metatest \
|
||||
$(srcdir)/tests/stacking/override-redirect.metatest
|
||||
|
||||
mutter-all.test: tests/mutter-all.test.in
|
||||
$(AM_V_GEN) sed -e "s|@libexecdir[@]|$(libexecdir)|g" $< > $@.tmp && mv $@.tmp $@
|
||||
|
||||
installedtestsdir = $(datadir)/installed-tests/mutter
|
||||
installedtests_DATA = mutter-all.test
|
||||
|
||||
installedtestsbindir = $(libexecdir)/installed-tests/mutter
|
||||
installedtestsbin_PROGRAMS = $(test_programs)
|
||||
else
|
||||
noinst_PROGRAMS += $(test_programs)
|
||||
endif
|
||||
|
||||
EXTRA_DIST += tests/mutter-all.test.in
|
||||
|
||||
mutter_test_client_SOURCES = tests/test-client.c
|
||||
mutter_test_client_LDADD = $(MUTTER_LIBS) libmutter-$(LIBMUTTER_API_VERSION).la
|
||||
|
||||
mutter_test_runner_SOURCES = \
|
||||
tests/test-utils.c \
|
||||
tests/test-utils.h \
|
||||
tests/test-runner.c
|
||||
mutter_test_runner_LDADD = $(MUTTER_LIBS) libmutter-$(LIBMUTTER_API_VERSION).la
|
||||
|
||||
mutter_test_unit_tests_SOURCES = \
|
||||
tests/test-utils.c \
|
||||
tests/test-utils.h \
|
||||
tests/unit-tests.c \
|
||||
tests/boxes-tests.c \
|
||||
tests/boxes-tests.h \
|
||||
tests/meta-backend-test.c \
|
||||
tests/meta-backend-test.h \
|
||||
tests/meta-monitor-manager-test.c \
|
||||
tests/meta-monitor-manager-test.h \
|
||||
tests/monitor-config-migration-unit-tests.c \
|
||||
tests/monitor-config-migration-unit-tests.h \
|
||||
tests/monitor-store-unit-tests.c \
|
||||
tests/monitor-store-unit-tests.h \
|
||||
tests/monitor-test-utils.c \
|
||||
tests/monitor-test-utils.h \
|
||||
tests/monitor-unit-tests.c \
|
||||
tests/monitor-unit-tests.h \
|
||||
$(NULL)
|
||||
mutter_test_unit_tests_LDADD = $(MUTTER_LIBS) libmutter-$(LIBMUTTER_API_VERSION).la
|
||||
|
||||
mutter_test_headless_start_test_SOURCES = \
|
||||
tests/test-utils.c \
|
||||
tests/test-utils.h \
|
||||
tests/headless-start-test.c \
|
||||
tests/meta-backend-test.c \
|
||||
tests/meta-backend-test.h \
|
||||
tests/meta-monitor-manager-test.c \
|
||||
tests/meta-monitor-manager-test.h \
|
||||
$(NULL)
|
||||
mutter_test_headless_start_test_LDADD = $(MUTTER_LIBS) libmutter-$(LIBMUTTER_API_VERSION).la
|
||||
|
||||
.PHONY: run-tests run-test-runner-tests run-unit-tests run-headless-start-test
|
||||
|
||||
export G_TEST_SRCDIR = $(abs_srcdir)
|
||||
export G_TEST_BUILDDIR = $(abs_builddir)
|
||||
|
||||
run-test-runner-tests: mutter-test-client mutter-test-runner
|
||||
./mutter-test-runner $(dist_stacking_DATA)
|
||||
|
||||
run-unit-tests: mutter-test-unit-tests
|
||||
./mutter-test-unit-tests
|
||||
|
||||
run-headless-start-test: mutter-test-headless-start-test
|
||||
./mutter-test-headless-start-test
|
||||
|
||||
run-tests: run-test-runner-tests run-unit-tests run-headless-start-test
|
||||
|
||||
endif
|
832
src/Makefile.am
832
src/Makefile.am
@ -1,832 +0,0 @@
|
||||
# Flag build for parallelism; see https://savannah.gnu.org/patch/?6905
|
||||
.AUTOPARALLEL:
|
||||
|
||||
pkgdatadir = $(datadir)/mutter-$(LIBMUTTER_API_VERSION)
|
||||
pkglibdir = $(libdir)/mutter-$(LIBMUTTER_API_VERSION)
|
||||
|
||||
lib_LTLIBRARIES = libmutter-@LIBMUTTER_API_VERSION@.la
|
||||
|
||||
SUBDIRS=compositor/plugins
|
||||
|
||||
EXTRA_DIST =
|
||||
NULL =
|
||||
|
||||
AM_CPPFLAGS = \
|
||||
-DCLUTTER_ENABLE_COMPOSITOR_API \
|
||||
-DCLUTTER_ENABLE_EXPERIMENTAL_API \
|
||||
-DCOGL_ENABLE_EXPERIMENTAL_API \
|
||||
-DCOGL_ENABLE_EXPERIMENTAL_2_0_API \
|
||||
-DCOGL_ENABLE_MUTTER_API \
|
||||
-DCLUTTER_DISABLE_DEPRECATION_WARNINGS \
|
||||
-DCOGL_DISABLE_DEPRECATION_WARNINGS \
|
||||
-D_GNU_SOURCE \
|
||||
$(MUTTER_CFLAGS) \
|
||||
$(MUTTER_NATIVE_BACKEND_CFLAGS) \
|
||||
-I$(builddir) \
|
||||
-I$(srcdir) \
|
||||
-I$(top_srcdir)/cogl \
|
||||
-I$(top_srcdir)/cogl/cogl \
|
||||
-I$(top_srcdir)/cogl/cogl/winsys \
|
||||
-I$(top_builddir)/cogl/cogl \
|
||||
-I$(top_builddir)/cogl \
|
||||
-I$(top_srcdir)/clutter \
|
||||
-I$(top_srcdir)/clutter/clutter \
|
||||
-I$(top_builddir)/clutter \
|
||||
-I$(top_builddir)/clutter/clutter \
|
||||
-DMUTTER_LIBEXECDIR=\"$(libexecdir)\" \
|
||||
-DMUTTER_LOCALEDIR=\"$(localedir)\" \
|
||||
-DMUTTER_PKGDATADIR=\"$(pkgdatadir)\" \
|
||||
-DMUTTER_DATADIR=\"$(datadir)\" \
|
||||
-DG_LOG_DOMAIN=\"mutter\" \
|
||||
-DSN_API_NOT_YET_FROZEN=1 \
|
||||
-DMUTTER_PKGLIBDIR=\"$(pkglibdir)\" \
|
||||
-DMUTTER_PLUGIN_DIR=\"$(MUTTER_PLUGIN_DIR)\" \
|
||||
-DGETTEXT_PACKAGE=\"$(GETTEXT_PACKAGE)\" \
|
||||
-DXWAYLAND_PATH=\"$(XWAYLAND_PATH)\" \
|
||||
$(NULL)
|
||||
|
||||
mutter_built_sources = \
|
||||
$(dbus_idle_built_sources) \
|
||||
$(dbus_display_config_built_sources) \
|
||||
$(dbus_login1_built_sources) \
|
||||
meta/meta-enum-types.h \
|
||||
meta-enum-types.c \
|
||||
meta-default-modes.h \
|
||||
meta-marshal.c \
|
||||
meta-marshal.h \
|
||||
$(NULL)
|
||||
|
||||
if HAVE_REMOTE_DESKTOP
|
||||
mutter_built_sources += \
|
||||
$(dbus_remote_desktop_built_sources) \
|
||||
$(dbus_screen_cast_built_sources) \
|
||||
$(NULL)
|
||||
endif
|
||||
|
||||
if HAVE_WAYLAND
|
||||
mutter_built_sources += \
|
||||
pointer-gestures-unstable-v1-protocol.c \
|
||||
pointer-gestures-unstable-v1-server-protocol.h \
|
||||
gtk-shell-protocol.c \
|
||||
gtk-shell-server-protocol.h \
|
||||
gtk-primary-selection-protocol.c \
|
||||
gtk-primary-selection-server-protocol.h \
|
||||
xdg-shell-protocol.c \
|
||||
xdg-shell-server-protocol.h \
|
||||
xdg-shell-unstable-v6-protocol.c \
|
||||
xdg-shell-unstable-v6-server-protocol.h \
|
||||
relative-pointer-unstable-v1-protocol.c \
|
||||
relative-pointer-unstable-v1-server-protocol.h \
|
||||
pointer-constraints-unstable-v1-protocol.c \
|
||||
pointer-constraints-unstable-v1-server-protocol.h \
|
||||
tablet-unstable-v2-protocol.c \
|
||||
tablet-unstable-v2-server-protocol.h \
|
||||
xdg-foreign-unstable-v1-protocol.c \
|
||||
xdg-foreign-unstable-v1-server-protocol.h \
|
||||
linux-dmabuf-unstable-v1-protocol.c \
|
||||
linux-dmabuf-unstable-v1-server-protocol.h \
|
||||
keyboard-shortcuts-inhibit-unstable-v1-protocol.c \
|
||||
keyboard-shortcuts-inhibit-unstable-v1-server-protocol.h \
|
||||
xdg-output-unstable-v1-protocol.c \
|
||||
xdg-output-unstable-v1-server-protocol.h \
|
||||
xwayland-keyboard-grab-unstable-v1-protocol.c \
|
||||
xwayland-keyboard-grab-unstable-v1-server-protocol.h \
|
||||
text-input-unstable-v3-protocol.c \
|
||||
text-input-unstable-v3-server-protocol.h \
|
||||
gtk-text-input-protocol.c \
|
||||
gtk-text-input-server-protocol.h \
|
||||
$(NULL)
|
||||
|
||||
if HAVE_WAYLAND_EGLSTREAM
|
||||
mutter_built_sources += \
|
||||
wayland-eglstream-controller-server-protocol.h \
|
||||
$(NULL)
|
||||
endif
|
||||
endif
|
||||
|
||||
wayland_protocols = \
|
||||
wayland/protocol/gtk-shell.xml \
|
||||
wayland/protocol/gtk-primary-selection.xml \
|
||||
wayland/protocol/gtk-text-input.xml \
|
||||
$(NULL)
|
||||
|
||||
libmutter_@LIBMUTTER_API_VERSION@_la_SOURCES = \
|
||||
backends/meta-backend.c \
|
||||
meta/meta-backend.h \
|
||||
meta/meta-settings.h \
|
||||
backends/meta-backend-private.h \
|
||||
backends/meta-barrier.c \
|
||||
backends/meta-barrier-private.h \
|
||||
backends/meta-crtc.c \
|
||||
backends/meta-crtc.h \
|
||||
backends/meta-cursor.c \
|
||||
backends/meta-cursor.h \
|
||||
backends/meta-cursor-tracker.c \
|
||||
backends/meta-cursor-tracker-private.h \
|
||||
backends/meta-cursor-renderer.c \
|
||||
backends/meta-cursor-renderer.h \
|
||||
backends/meta-cursor-sprite-xcursor.c \
|
||||
backends/meta-cursor-sprite-xcursor.h \
|
||||
backends/meta-dnd-private.h \
|
||||
backends/meta-egl.c \
|
||||
backends/meta-egl.h \
|
||||
backends/meta-egl-ext.h \
|
||||
backends/meta-gles3.c \
|
||||
backends/meta-gles3.h \
|
||||
backends/meta-gles3-table.h \
|
||||
backends/meta-gpu.c \
|
||||
backends/meta-gpu.h \
|
||||
backends/meta-display-config-shared.h \
|
||||
backends/meta-idle-monitor.c \
|
||||
backends/meta-idle-monitor-private.h \
|
||||
backends/meta-idle-monitor-dbus.c \
|
||||
backends/meta-idle-monitor-dbus.h \
|
||||
backends/meta-input-mapper.c \
|
||||
backends/meta-input-mapper-private.h \
|
||||
backends/meta-input-settings.c \
|
||||
backends/meta-input-settings-private.h \
|
||||
backends/meta-logical-monitor.c \
|
||||
backends/meta-logical-monitor.h \
|
||||
backends/meta-monitor-config-manager.c \
|
||||
backends/meta-monitor-config-manager.h \
|
||||
backends/meta-monitor-config-migration.c \
|
||||
backends/meta-monitor-config-migration.h \
|
||||
backends/meta-monitor-config-store.c \
|
||||
backends/meta-monitor-config-store.h \
|
||||
backends/meta-monitor.c \
|
||||
backends/meta-monitor.h \
|
||||
backends/meta-monitor-manager.c \
|
||||
meta/meta-monitor-manager.h \
|
||||
backends/meta-monitor-manager-private.h \
|
||||
backends/meta-monitor-manager-dummy.c \
|
||||
backends/meta-monitor-manager-dummy.h \
|
||||
backends/meta-monitor-transform.c \
|
||||
backends/meta-monitor-transform.h \
|
||||
backends/meta-orientation-manager.c \
|
||||
backends/meta-orientation-manager.h \
|
||||
backends/meta-output.c \
|
||||
backends/meta-output.h \
|
||||
backends/meta-pointer-constraint.c \
|
||||
backends/meta-pointer-constraint.h \
|
||||
backends/meta-screen-cast-window.c \
|
||||
backends/meta-screen-cast-window.h \
|
||||
backends/meta-settings.c \
|
||||
backends/meta-settings-private.h \
|
||||
backends/meta-stage-private.h \
|
||||
backends/meta-stage.c \
|
||||
backends/meta-renderer.c \
|
||||
backends/meta-renderer.h \
|
||||
backends/meta-renderer-view.c \
|
||||
backends/meta-renderer-view.h \
|
||||
backends/meta-remote-access-controller.c \
|
||||
backends/meta-remote-access-controller-private.h \
|
||||
meta/meta-remote-access-controller.h \
|
||||
backends/edid-parse.c \
|
||||
backends/edid.h \
|
||||
backends/gsm-inhibitor-flag.h \
|
||||
backends/x11/meta-backend-x11.c \
|
||||
backends/x11/meta-backend-x11.h \
|
||||
backends/x11/meta-barrier-x11.c \
|
||||
backends/x11/meta-barrier-x11.h \
|
||||
backends/x11/meta-clutter-backend-x11.c \
|
||||
backends/x11/meta-clutter-backend-x11.h \
|
||||
backends/x11/meta-crtc-xrandr.c \
|
||||
backends/x11/meta-crtc-xrandr.h \
|
||||
backends/x11/meta-cursor-renderer-x11.c \
|
||||
backends/x11/meta-cursor-renderer-x11.h \
|
||||
backends/x11/meta-gpu-xrandr.c \
|
||||
backends/x11/meta-gpu-xrandr.h \
|
||||
backends/x11/cm/meta-backend-x11-cm.c \
|
||||
backends/x11/cm/meta-backend-x11-cm.h \
|
||||
backends/x11/cm/meta-cursor-sprite-xfixes.c \
|
||||
backends/x11/cm/meta-cursor-sprite-xfixes.h \
|
||||
backends/x11/cm/meta-renderer-x11-cm.c \
|
||||
backends/x11/cm/meta-renderer-x11-cm.h \
|
||||
backends/x11/nested/meta-backend-x11-nested.c \
|
||||
backends/x11/nested/meta-backend-x11-nested.h \
|
||||
backends/x11/nested/meta-cursor-renderer-x11-nested.c \
|
||||
backends/x11/nested/meta-cursor-renderer-x11-nested.h \
|
||||
backends/x11/nested/meta-renderer-x11-nested.c \
|
||||
backends/x11/nested/meta-renderer-x11-nested.h \
|
||||
backends/x11/meta-input-settings-x11.c \
|
||||
backends/x11/meta-input-settings-x11.h \
|
||||
backends/x11/meta-monitor-manager-xrandr.c \
|
||||
backends/x11/meta-monitor-manager-xrandr.h \
|
||||
backends/x11/meta-output-xrandr.c \
|
||||
backends/x11/meta-output-xrandr.h \
|
||||
backends/x11/meta-renderer-x11.c \
|
||||
backends/x11/meta-renderer-x11.h \
|
||||
backends/x11/meta-stage-x11-nested.c \
|
||||
backends/x11/meta-stage-x11-nested.h \
|
||||
core/meta-accel-parse.c \
|
||||
core/meta-accel-parse.h \
|
||||
meta/barrier.h \
|
||||
core/bell.c \
|
||||
core/bell.h \
|
||||
core/boxes.c \
|
||||
core/boxes-private.h \
|
||||
meta/boxes.h \
|
||||
core/meta-border.c \
|
||||
core/meta-border.h \
|
||||
core/meta-fraction.c \
|
||||
core/meta-fraction.h \
|
||||
compositor/clutter-utils.c \
|
||||
compositor/clutter-utils.h \
|
||||
compositor/cogl-utils.c \
|
||||
compositor/cogl-utils.h \
|
||||
compositor/compositor.c \
|
||||
compositor/compositor-private.h \
|
||||
compositor/meta-background.c \
|
||||
compositor/meta-background-private.h \
|
||||
compositor/meta-background-actor.c \
|
||||
compositor/meta-background-actor-private.h \
|
||||
compositor/meta-background-image.c \
|
||||
compositor/meta-background-group.c \
|
||||
compositor/meta-cullable.c \
|
||||
compositor/meta-cullable.h \
|
||||
compositor/meta-dnd.c \
|
||||
compositor/meta-dnd-actor.c \
|
||||
compositor/meta-dnd-actor-private.h \
|
||||
compositor/meta-feedback-actor.c \
|
||||
compositor/meta-feedback-actor-private.h \
|
||||
compositor/meta-module.c \
|
||||
compositor/meta-module.h \
|
||||
compositor/meta-plugin.c \
|
||||
compositor/meta-plugin-manager.c \
|
||||
compositor/meta-plugin-manager.h \
|
||||
compositor/meta-shadow-factory.c \
|
||||
compositor/meta-shaped-texture.c \
|
||||
compositor/meta-shaped-texture-private.h \
|
||||
compositor/meta-surface-actor.c \
|
||||
compositor/meta-surface-actor.h \
|
||||
compositor/meta-surface-actor-x11.c \
|
||||
compositor/meta-surface-actor-x11.h \
|
||||
compositor/meta-sync-ring.c \
|
||||
compositor/meta-sync-ring.h \
|
||||
compositor/meta-texture-rectangle.c \
|
||||
compositor/meta-texture-rectangle.h \
|
||||
compositor/meta-texture-tower.c \
|
||||
compositor/meta-texture-tower.h \
|
||||
compositor/meta-window-actor.c \
|
||||
compositor/meta-window-actor-private.h \
|
||||
compositor/meta-window-group.c \
|
||||
compositor/meta-window-group-private.h \
|
||||
compositor/meta-window-shape.c \
|
||||
compositor/region-utils.c \
|
||||
compositor/region-utils.h \
|
||||
meta/compositor.h \
|
||||
meta/meta-background.h \
|
||||
meta/meta-background-actor.h \
|
||||
meta/meta-background-image.h \
|
||||
meta/meta-background-group.h \
|
||||
meta/meta-plugin.h \
|
||||
meta/meta-shadow-factory.h \
|
||||
meta/meta-window-actor.h \
|
||||
meta/meta-window-shape.h \
|
||||
meta/compositor-mutter.h \
|
||||
core/constraints.c \
|
||||
core/constraints.h \
|
||||
core/core.c \
|
||||
core/meta-close-dialog.c \
|
||||
meta/meta-close-dialog.h \
|
||||
core/meta-close-dialog-default.c \
|
||||
core/meta-close-dialog-default-private.h \
|
||||
core/meta-inhibit-shortcuts-dialog.c \
|
||||
meta/meta-inhibit-shortcuts-dialog.h \
|
||||
core/meta-inhibit-shortcuts-dialog-default.c \
|
||||
core/meta-inhibit-shortcuts-dialog-default-private.h \
|
||||
core/meta-sound-player.c \
|
||||
core/delete.c \
|
||||
core/display.c \
|
||||
core/display-private.h \
|
||||
meta/display.h \
|
||||
core/edge-resistance.c \
|
||||
core/edge-resistance.h \
|
||||
core/events.c \
|
||||
core/events.h \
|
||||
core/frame.c \
|
||||
core/frame.h \
|
||||
core/meta-gesture-tracker.c \
|
||||
core/meta-gesture-tracker-private.h \
|
||||
core/meta-workspace-manager.c \
|
||||
core/meta-workspace-manager-private.h \
|
||||
meta/meta-workspace-manager.h \
|
||||
core/keybindings.c \
|
||||
core/keybindings-private.h \
|
||||
core/main-private.h \
|
||||
core/main.c \
|
||||
core/place.c \
|
||||
core/place.h \
|
||||
core/prefs.c \
|
||||
meta/prefs.h \
|
||||
core/startup-notification.c \
|
||||
core/startup-notification-private.h \
|
||||
meta/meta-startup-notification.h \
|
||||
meta/types.h \
|
||||
core/restart.c \
|
||||
core/stack.c \
|
||||
core/stack.h \
|
||||
core/stack-tracker.c \
|
||||
core/stack-tracker.h \
|
||||
core/util.c \
|
||||
meta/util.h \
|
||||
core/util-private.h \
|
||||
core/window.c \
|
||||
core/window-private.h \
|
||||
meta/window.h \
|
||||
core/workspace.c \
|
||||
core/workspace-private.h \
|
||||
meta/common.h \
|
||||
core/core.h \
|
||||
ui/ui.h \
|
||||
ui/frames.c \
|
||||
ui/frames.h \
|
||||
ui/theme.c \
|
||||
meta/theme.h \
|
||||
ui/theme-private.h \
|
||||
ui/ui.c \
|
||||
x11/atomnames.h \
|
||||
x11/meta-x11-display.c \
|
||||
x11/meta-x11-display-private.h \
|
||||
meta/meta-x11-display.h \
|
||||
x11/meta-x11-errors.c \
|
||||
meta/meta-x11-errors.h \
|
||||
x11/meta-startup-notification-x11.c \
|
||||
x11/meta-startup-notification-x11.h \
|
||||
x11/events.c \
|
||||
x11/events.h \
|
||||
x11/group-private.h \
|
||||
x11/group-props.c \
|
||||
x11/group-props.h \
|
||||
x11/group.c \
|
||||
meta/group.h \
|
||||
x11/iconcache.c \
|
||||
x11/iconcache.h \
|
||||
x11/session.c \
|
||||
x11/session.h \
|
||||
x11/window-props.c \
|
||||
x11/window-props.h \
|
||||
x11/window-x11.c \
|
||||
x11/window-x11.h \
|
||||
x11/window-x11-private.h \
|
||||
x11/xprops.c \
|
||||
x11/xprops.h \
|
||||
x11/mutter-Xatomtype.h \
|
||||
$(NULL)
|
||||
|
||||
if HAVE_REMOTE_DESKTOP
|
||||
libmutter_@LIBMUTTER_API_VERSION@_la_SOURCES += \
|
||||
backends/meta-dbus-session-watcher.c \
|
||||
backends/meta-dbus-session-watcher.h \
|
||||
backends/meta-remote-desktop.c \
|
||||
backends/meta-remote-desktop.h \
|
||||
backends/meta-remote-desktop-session.c \
|
||||
backends/meta-remote-desktop-session.h \
|
||||
backends/meta-screen-cast.c \
|
||||
backends/meta-screen-cast.h \
|
||||
backends/meta-screen-cast-monitor-stream.c \
|
||||
backends/meta-screen-cast-monitor-stream.h \
|
||||
backends/meta-screen-cast-monitor-stream-src.c \
|
||||
backends/meta-screen-cast-monitor-stream-src.h \
|
||||
backends/meta-screen-cast-window-stream-src.c \
|
||||
backends/meta-screen-cast-window-stream-src.h \
|
||||
backends/meta-screen-cast-window-stream.c \
|
||||
backends/meta-screen-cast-window-stream.h \
|
||||
backends/meta-screen-cast-session.c \
|
||||
backends/meta-screen-cast-session.h \
|
||||
backends/meta-screen-cast-stream.c \
|
||||
backends/meta-screen-cast-stream.h \
|
||||
backends/meta-screen-cast-stream-src.c \
|
||||
backends/meta-screen-cast-stream-src.h \
|
||||
$(NULL)
|
||||
endif
|
||||
|
||||
if HAVE_WAYLAND
|
||||
libmutter_@LIBMUTTER_API_VERSION@_la_SOURCES += \
|
||||
compositor/meta-surface-actor-wayland.c \
|
||||
compositor/meta-surface-actor-wayland.h \
|
||||
wayland/meta-cursor-sprite-wayland.c \
|
||||
wayland/meta-cursor-sprite-wayland.h \
|
||||
wayland/meta-wayland.c \
|
||||
wayland/meta-wayland.h \
|
||||
wayland/meta-wayland-private.h \
|
||||
wayland/meta-xwayland.c \
|
||||
wayland/meta-xwayland.h \
|
||||
wayland/meta-xwayland-selection.c \
|
||||
wayland/meta-xwayland-selection-private.h \
|
||||
wayland/meta-xwayland-private.h \
|
||||
wayland/meta-wayland-buffer.c \
|
||||
wayland/meta-wayland-buffer.h \
|
||||
wayland/meta-wayland-dma-buf.c \
|
||||
wayland/meta-wayland-dma-buf.h \
|
||||
wayland/meta-wayland-region.c \
|
||||
wayland/meta-wayland-region.h \
|
||||
wayland/meta-wayland-data-device.c \
|
||||
wayland/meta-wayland-data-device.h \
|
||||
wayland/meta-wayland-data-device-private.h \
|
||||
wayland/meta-wayland-input-device.c \
|
||||
wayland/meta-wayland-input-device.h \
|
||||
wayland/meta-wayland-pointer-gestures.c \
|
||||
wayland/meta-wayland-pointer-gestures.h \
|
||||
wayland/meta-wayland-pointer-gesture-swipe.c \
|
||||
wayland/meta-wayland-pointer-gesture-swipe.h \
|
||||
wayland/meta-wayland-pointer-gesture-pinch.c \
|
||||
wayland/meta-wayland-pointer-gesture-pinch.h \
|
||||
wayland/meta-wayland-keyboard.c \
|
||||
wayland/meta-wayland-keyboard.h \
|
||||
wayland/meta-wayland-pointer.c \
|
||||
wayland/meta-wayland-pointer.h \
|
||||
wayland/meta-wayland-pointer-constraints.c \
|
||||
wayland/meta-wayland-pointer-constraints.h \
|
||||
wayland/meta-pointer-lock-wayland.c \
|
||||
wayland/meta-pointer-lock-wayland.h \
|
||||
wayland/meta-pointer-confinement-wayland.c \
|
||||
wayland/meta-pointer-confinement-wayland.h \
|
||||
wayland/meta-wayland-popup.c \
|
||||
wayland/meta-wayland-popup.h \
|
||||
wayland/meta-wayland-seat.c \
|
||||
wayland/meta-wayland-seat.h \
|
||||
wayland/meta-wayland-tablet.c \
|
||||
wayland/meta-wayland-tablet.h \
|
||||
wayland/meta-wayland-tablet-manager.c \
|
||||
wayland/meta-wayland-tablet-manager.h \
|
||||
wayland/meta-wayland-tablet-seat.c \
|
||||
wayland/meta-wayland-tablet-seat.h \
|
||||
wayland/meta-wayland-tablet-tool.c \
|
||||
wayland/meta-wayland-tablet-tool.h \
|
||||
wayland/meta-wayland-tablet-pad.c \
|
||||
wayland/meta-wayland-tablet-pad.h \
|
||||
wayland/meta-wayland-tablet-pad-group.c \
|
||||
wayland/meta-wayland-tablet-pad-group.h \
|
||||
wayland/meta-wayland-tablet-pad-ring.c \
|
||||
wayland/meta-wayland-tablet-pad-ring.h \
|
||||
wayland/meta-wayland-tablet-pad-strip.c \
|
||||
wayland/meta-wayland-tablet-pad-strip.h \
|
||||
wayland/meta-wayland-touch.c \
|
||||
wayland/meta-wayland-touch.h \
|
||||
wayland/meta-wayland-surface.c \
|
||||
wayland/meta-wayland-surface.h \
|
||||
wayland/meta-wayland-cursor-surface.c \
|
||||
wayland/meta-wayland-cursor-surface.h \
|
||||
wayland/meta-wayland-tablet-cursor-surface.c \
|
||||
wayland/meta-wayland-tablet-cursor-surface.h \
|
||||
wayland/meta-wayland-actor-surface.c \
|
||||
wayland/meta-wayland-actor-surface.h \
|
||||
wayland/meta-wayland-subsurface.c \
|
||||
wayland/meta-wayland-subsurface.h \
|
||||
wayland/meta-wayland-shell-surface.c \
|
||||
wayland/meta-wayland-shell-surface.h \
|
||||
wayland/meta-wayland-text-input-legacy.c \
|
||||
wayland/meta-wayland-text-input-legacy.h \
|
||||
wayland/meta-wayland-text-input.c \
|
||||
wayland/meta-wayland-text-input.h \
|
||||
wayland/meta-wayland-types.h \
|
||||
wayland/meta-wayland-versions.h \
|
||||
wayland/meta-wayland-outputs.c \
|
||||
wayland/meta-wayland-outputs.h \
|
||||
wayland/meta-wayland-xdg-foreign.c \
|
||||
wayland/meta-wayland-xdg-foreign.h \
|
||||
wayland/meta-window-wayland.c \
|
||||
wayland/meta-window-wayland.h \
|
||||
wayland/meta-window-xwayland.c \
|
||||
wayland/meta-window-xwayland.h \
|
||||
wayland/meta-wayland-xdg-shell.c \
|
||||
wayland/meta-wayland-xdg-shell.h \
|
||||
wayland/meta-wayland-legacy-xdg-shell.c \
|
||||
wayland/meta-wayland-legacy-xdg-shell.h \
|
||||
wayland/meta-wayland-wl-shell.c \
|
||||
wayland/meta-wayland-wl-shell.h \
|
||||
wayland/meta-wayland-gtk-shell.c \
|
||||
wayland/meta-wayland-gtk-shell.h \
|
||||
wayland/meta-wayland-inhibit-shortcuts.c \
|
||||
wayland/meta-wayland-inhibit-shortcuts.h \
|
||||
wayland/meta-wayland-inhibit-shortcuts-dialog.c \
|
||||
wayland/meta-wayland-inhibit-shortcuts-dialog.h \
|
||||
wayland/meta-xwayland-grab-keyboard.c \
|
||||
wayland/meta-xwayland-grab-keyboard.h \
|
||||
$(NULL)
|
||||
|
||||
if HAVE_WAYLAND_EGLSTREAM
|
||||
libmutter_@LIBMUTTER_API_VERSION@_la_SOURCES += \
|
||||
wayland/meta-wayland-egl-stream.c \
|
||||
wayland/meta-wayland-egl-stream.h \
|
||||
$(NULL)
|
||||
endif
|
||||
endif
|
||||
|
||||
if HAVE_NATIVE_BACKEND
|
||||
libmutter_@LIBMUTTER_API_VERSION@_la_SOURCES += \
|
||||
backends/native/meta-backend-native.c \
|
||||
backends/native/meta-backend-native.h \
|
||||
backends/native/meta-backend-native-private.h \
|
||||
backends/native/meta-barrier-native.c \
|
||||
backends/native/meta-barrier-native.h \
|
||||
backends/native/meta-crtc-kms.c \
|
||||
backends/native/meta-crtc-kms.h \
|
||||
backends/native/meta-clutter-backend-native.c \
|
||||
backends/native/meta-clutter-backend-native.h \
|
||||
backends/native/meta-cursor-renderer-native.c \
|
||||
backends/native/meta-cursor-renderer-native.h \
|
||||
backends/native/meta-gpu-kms.c \
|
||||
backends/native/meta-gpu-kms.h \
|
||||
backends/native/meta-input-settings-native.c \
|
||||
backends/native/meta-input-settings-native.h \
|
||||
backends/native/meta-monitor-manager-kms.c \
|
||||
backends/native/meta-monitor-manager-kms.h \
|
||||
backends/native/meta-launcher.c \
|
||||
backends/native/meta-launcher.h \
|
||||
backends/native/meta-output-kms.c \
|
||||
backends/native/meta-output-kms.h \
|
||||
backends/native/meta-renderer-native.c \
|
||||
backends/native/meta-renderer-native.h \
|
||||
backends/native/meta-renderer-native-gles3.c \
|
||||
backends/native/meta-renderer-native-gles3.h \
|
||||
backends/native/meta-stage-native.c \
|
||||
backends/native/meta-stage-native.h \
|
||||
backends/native/dbus-utils.c \
|
||||
backends/native/dbus-utils.h \
|
||||
$(NULL)
|
||||
endif
|
||||
|
||||
nodist_libmutter_@LIBMUTTER_API_VERSION@_la_SOURCES = $(mutter_built_sources)
|
||||
|
||||
libmutter_@LIBMUTTER_API_VERSION@_la_LDFLAGS = \
|
||||
-no-undefined -export-symbols-regex "^(meta|ag)_.*"
|
||||
libmutter_@LIBMUTTER_API_VERSION@_la_LIBADD = \
|
||||
$(MUTTER_LIBS) \
|
||||
$(MUTTER_NATIVE_BACKEND_LIBS) \
|
||||
$(top_builddir)/clutter/clutter/libmutter-clutter-$(LIBMUTTER_API_VERSION).la \
|
||||
$(NULL)
|
||||
|
||||
# Headers installed for plugins; introspected information will
|
||||
# be extracted into Mutter-<version>.gir
|
||||
libmutterinclude_headers = \
|
||||
meta/barrier.h \
|
||||
meta/boxes.h \
|
||||
meta/common.h \
|
||||
meta/compositor-mutter.h \
|
||||
meta/compositor.h \
|
||||
meta/display.h \
|
||||
meta/group.h \
|
||||
meta/keybindings.h \
|
||||
meta/main.h \
|
||||
meta/meta-backend.h \
|
||||
meta/meta-background.h \
|
||||
meta/meta-background-actor.h \
|
||||
meta/meta-background-image.h \
|
||||
meta/meta-background-group.h \
|
||||
meta/meta-close-dialog.h \
|
||||
meta/meta-inhibit-shortcuts-dialog.h \
|
||||
meta/meta-cursor-tracker.h \
|
||||
meta/meta-dnd.h \
|
||||
meta/meta-idle-monitor.h \
|
||||
meta/meta-plugin.h \
|
||||
meta/meta-monitor-manager.h \
|
||||
meta/meta-remote-access-controller.h \
|
||||
meta/meta-settings.h \
|
||||
meta/meta-shaped-texture.h \
|
||||
meta/meta-shadow-factory.h \
|
||||
meta/meta-sound-player.h \
|
||||
meta/meta-stage.h \
|
||||
meta/meta-startup-notification.h \
|
||||
meta/meta-window-actor.h \
|
||||
meta/meta-window-group.h \
|
||||
meta/meta-window-shape.h \
|
||||
meta/meta-workspace-manager.h \
|
||||
meta/meta-x11-display.h \
|
||||
meta/meta-x11-errors.h \
|
||||
meta/prefs.h \
|
||||
meta/theme.h \
|
||||
meta/types.h \
|
||||
meta/util.h \
|
||||
meta/window.h \
|
||||
meta/workspace.h \
|
||||
$(NULL)
|
||||
|
||||
libmutterinclude_built_headers = \
|
||||
meta/meta-version.h \
|
||||
meta/meta-enum-types.h \
|
||||
$(NULL)
|
||||
|
||||
libmutterinclude_base_headers = \
|
||||
$(libmutterinclude_headers) \
|
||||
$(libmutterinclude_built_headers)
|
||||
|
||||
libmutterincludedir = $(includedir)/mutter-@LIBMUTTER_API_VERSION@/meta
|
||||
|
||||
libmutterinclude_HEADERS = \
|
||||
$(libmutterinclude_headers)
|
||||
|
||||
nodist_libmutterinclude_HEADERS = \
|
||||
$(libmutterinclude_built_headers)
|
||||
|
||||
bin_PROGRAMS=mutter
|
||||
noinst_PROGRAMS=
|
||||
|
||||
mutter_SOURCES = core/mutter.c
|
||||
mutter_LDADD = $(MUTTER_LIBS) libmutter-@LIBMUTTER_API_VERSION@.la
|
||||
|
||||
libexec_PROGRAMS = mutter-restart-helper
|
||||
mutter_restart_helper_SOURCES = core/restart-helper.c
|
||||
mutter_restart_helper_LDADD = $(MUTTER_LIBS)
|
||||
|
||||
include Makefile-tests.am
|
||||
|
||||
if HAVE_INTROSPECTION
|
||||
|
||||
include $(INTROSPECTION_MAKEFILE)
|
||||
|
||||
# These files are in package-private directories, even though they may be used
|
||||
# by plugins. If you're writing a plugin, use g-ir-compiler --add-include-path
|
||||
# and g-ir-compiler --includedir.
|
||||
girdir = $(pkglibdir)
|
||||
gir_DATA = Meta-$(LIBMUTTER_API_VERSION).gir
|
||||
|
||||
typelibdir = $(pkglibdir)
|
||||
typelib_DATA = Meta-$(LIBMUTTER_API_VERSION).typelib
|
||||
|
||||
INTROSPECTION_GIRS = Meta-$(LIBMUTTER_API_VERSION).gir
|
||||
INTROSPECTION_SCANNER_ARGS = \
|
||||
--add-include-path=$(top_builddir)/clutter/clutter \
|
||||
--add-include-path=$(top_builddir)/cogl/cogl \
|
||||
--add-include-path=$(top_builddir)/cogl/cogl-pango \
|
||||
$(NULL)
|
||||
INTROSPECTION_COMPILER_ARGS = \
|
||||
--includedir=$(top_builddir)/clutter/clutter \
|
||||
--includedir=$(top_builddir)/cogl/cogl \
|
||||
--includedir=$(top_builddir)/cogl/cogl-pango \
|
||||
$(NULL)
|
||||
INTROSPECTION_SCANNER_ENV = \
|
||||
PKG_CONFIG_PATH=$(top_builddir)/clutter/clutter/:$(top_builddir)/cogl/cogl/:$(top_builddir)/cogl/cogl-pango/:$${PKG_CONFIG_PATH}
|
||||
|
||||
Meta-@LIBMUTTER_API_VERSION@.gir: libmutter-$(LIBMUTTER_API_VERSION).la
|
||||
Meta_@LIBMUTTER_API_VERSION@_gir_VERSION = $(LIBMUTTER_API_VERSION)
|
||||
Meta_@LIBMUTTER_API_VERSION@_gir_INCLUDES = \
|
||||
GObject-2.0 \
|
||||
GDesktopEnums-3.0 \
|
||||
Gdk-3.0 \
|
||||
Gtk-3.0 \
|
||||
Cogl-$(LIBMUTTER_API_VERSION) \
|
||||
Clutter-$(LIBMUTTER_API_VERSION) \
|
||||
xlib-2.0 \
|
||||
xfixes-4.0 \
|
||||
$(NULL)
|
||||
Meta_@LIBMUTTER_API_VERSION@_gir_EXPORT_PACKAGES = libmutter-$(LIBMUTTER_API_VERSION)
|
||||
Meta_@LIBMUTTER_API_VERSION@_gir_CFLAGS = $(AM_CPPFLAGS) -U_GNU_SOURCE
|
||||
Meta_@LIBMUTTER_API_VERSION@_gir_LIBS = libmutter-$(LIBMUTTER_API_VERSION).la
|
||||
Meta_@LIBMUTTER_API_VERSION@_gir_FILES = \
|
||||
$(libmutterinclude_base_headers) \
|
||||
$(filter %.c,$(libmutter_@LIBMUTTER_API_VERSION@_la_SOURCES) $(nodist_libmutter_@LIBMUTTER_API_VERSION@_la_SOURCES))
|
||||
Meta_@LIBMUTTER_API_VERSION@_SCANNERFLAGS = --warn-all --warn-error
|
||||
|
||||
endif
|
||||
|
||||
dbus_idle_built_sources = meta-dbus-idle-monitor.c meta-dbus-idle-monitor.h
|
||||
|
||||
CLEANFILES = \
|
||||
$(mutter_built_sources) \
|
||||
$(typelib_DATA) \
|
||||
$(gir_DATA)
|
||||
|
||||
DISTCLEANFILES = \
|
||||
$(libmutterinclude_built_headers) \
|
||||
$(pkgconfig_DATA)
|
||||
|
||||
pkgconfigdir = $(libdir)/pkgconfig
|
||||
pkgconfig_DATA = libmutter-$(LIBMUTTER_API_VERSION).pc
|
||||
|
||||
EXTRA_DIST += \
|
||||
$(wayland_protocols) \
|
||||
libmutter.pc.in \
|
||||
meta/meta-enum-types.h.in \
|
||||
meta/meta-enum-types.c.in \
|
||||
meta-marshal.list \
|
||||
org.freedesktop.login1.xml \
|
||||
org.gnome.Mutter.DisplayConfig.xml \
|
||||
org.gnome.Mutter.IdleMonitor.xml \
|
||||
org.gnome.Mutter.RemoteDesktop.xml \
|
||||
org.gnome.Mutter.ScreenCast.xml \
|
||||
backends/native/gen-default-modes.py \
|
||||
$(NULL)
|
||||
|
||||
BUILT_SOURCES = \
|
||||
$(mutter_built_sources) \
|
||||
$(libmutterinclude_built_headers)
|
||||
|
||||
MUTTER_STAMP_FILES = stamp-meta-enum-types.h
|
||||
CLEANFILES += \
|
||||
$(MUTTER_STAMP_FILES) \
|
||||
meta-marshal.c \
|
||||
meta-marshal.h
|
||||
|
||||
meta/meta-enum-types.h: stamp-meta-enum-types.h Makefile
|
||||
@true
|
||||
stamp-meta-enum-types.h: $(libmutterinclude_headers) meta/meta-enum-types.h.in
|
||||
$(AM_V_GEN) ( cd $(srcdir) && \
|
||||
$(GLIB_MKENUMS) \
|
||||
--template meta/meta-enum-types.h.in \
|
||||
$(libmutterinclude_headers) ) > xgen-teth && \
|
||||
(cmp -s xgen-teth meta/meta-enum-types.h || cp xgen-teth meta/meta-enum-types.h) && \
|
||||
rm -f xgen-teth && \
|
||||
echo timestamp > $(@F)
|
||||
|
||||
meta-enum-types.c: stamp-meta-enum-types.h meta/meta-enum-types.c.in
|
||||
$(AM_V_GEN) ( cd $(srcdir) && \
|
||||
$(GLIB_MKENUMS) \
|
||||
--template meta/meta-enum-types.c.in \
|
||||
$(libmutterinclude_headers) ) > xgen-tetc && \
|
||||
cp xgen-tetc meta-enum-types.c && \
|
||||
rm -f xgen-tetc
|
||||
|
||||
dbus_display_config_built_sources = meta-dbus-display-config.c meta-dbus-display-config.h
|
||||
|
||||
$(dbus_display_config_built_sources) : Makefile.am org.gnome.Mutter.DisplayConfig.xml
|
||||
$(AM_V_GEN)gdbus-codegen \
|
||||
--interface-prefix org.gnome.Mutter \
|
||||
--c-namespace MetaDBus \
|
||||
--generate-c-code meta-dbus-display-config \
|
||||
--c-generate-autocleanup all \
|
||||
$(srcdir)/org.gnome.Mutter.DisplayConfig.xml
|
||||
|
||||
$(dbus_idle_built_sources) : Makefile.am org.gnome.Mutter.IdleMonitor.xml
|
||||
$(AM_V_GEN)gdbus-codegen \
|
||||
--interface-prefix org.gnome.Mutter \
|
||||
--c-namespace MetaDBus \
|
||||
--generate-c-code meta-dbus-idle-monitor \
|
||||
--c-generate-object-manager \
|
||||
--c-generate-autocleanup all \
|
||||
$(srcdir)/org.gnome.Mutter.IdleMonitor.xml
|
||||
|
||||
if HAVE_REMOTE_DESKTOP
|
||||
dbus_remote_desktop_built_sources = meta-dbus-remote-desktop.c meta-dbus-remote-desktop.h
|
||||
|
||||
$(dbus_remote_desktop_built_sources) : Makefile.am org.gnome.Mutter.RemoteDesktop.xml
|
||||
$(AM_V_GEN)gdbus-codegen \
|
||||
--interface-prefix org.gnome.Mutter \
|
||||
--c-namespace MetaDBus \
|
||||
--generate-c-code meta-dbus-remote-desktop \
|
||||
$(srcdir)/org.gnome.Mutter.RemoteDesktop.xml
|
||||
|
||||
dbus_screen_cast_built_sources = meta-dbus-screen-cast.c meta-dbus-screen-cast.h
|
||||
|
||||
$(dbus_screen_cast_built_sources) : Makefile.am org.gnome.Mutter.ScreenCast.xml
|
||||
$(AM_V_GEN)gdbus-codegen \
|
||||
--interface-prefix org.gnome.Mutter \
|
||||
--c-namespace MetaDBus \
|
||||
--generate-c-code meta-dbus-screen-cast \
|
||||
$(srcdir)/org.gnome.Mutter.ScreenCast.xml
|
||||
endif
|
||||
|
||||
dbus_login1_built_sources = meta-dbus-login1.c meta-dbus-login1.h
|
||||
|
||||
$(dbus_login1_built_sources) : Makefile.am org.freedesktop.login1.xml
|
||||
$(AM_V_GEN)gdbus-codegen \
|
||||
--interface-prefix org.freedesktop.login1 \
|
||||
--c-namespace Login1 \
|
||||
--generate-c-code meta-dbus-login1 \
|
||||
--c-generate-autocleanup all \
|
||||
$(srcdir)/org.freedesktop.login1.xml
|
||||
|
||||
meta-default-modes.h: backends/native/gen-default-modes.py Makefile.am
|
||||
@if test -n "$(CVT)"; then \
|
||||
if $(AM_V_P); then PS4= set -x; else echo " GEN $@"; fi; \
|
||||
$(top_srcdir)/src/backends/native/gen-default-modes.py $@; \
|
||||
fi
|
||||
|
||||
.SECONDEXPANSION:
|
||||
|
||||
define protostability
|
||||
$(if $(findstring unstable,$1),unstable,stable)
|
||||
endef
|
||||
|
||||
define protoname
|
||||
$(shell echo $1 | sed 's/\([a-z\-]\{1,\}\)-[a-z]\{1,\}-v[0-9]\{1,\}/\1/')
|
||||
endef
|
||||
|
||||
%-protocol.c : $(WAYLAND_PROTOCOLS_DATADIR)/$$(call protostability,$$*)/$$(call protoname,$$*)/$$*.xml
|
||||
$(AM_V_GEN)$(WAYLAND_SCANNER) code $< $@
|
||||
%-server-protocol.h : $(WAYLAND_PROTOCOLS_DATADIR)/$$(call protostability,$$*)/$$(call protoname,$$*)/$$*.xml
|
||||
$(AM_V_GEN)$(WAYLAND_SCANNER) server-header $< $@
|
||||
%-protocol.c : $(srcdir)/wayland/protocol/%.xml
|
||||
$(AM_V_GEN)$(WAYLAND_SCANNER) code $< $@
|
||||
%-server-protocol.h : $(srcdir)/wayland/protocol/%.xml
|
||||
$(AM_V_GEN)$(WAYLAND_SCANNER) server-header $< $@
|
||||
%-server-protocol.h : $(WAYLAND_EGLSTREAM_DATADIR)/%.xml
|
||||
$(AM_V_GEN)$(WAYLAND_SCANNER) server-header $< $@
|
||||
|
||||
meta_marshal_opts = --prefix=meta_marshal --internal
|
||||
|
||||
meta-marshal.h: meta-marshal.list
|
||||
$(AM_V_GEN)$(GLIB_GENMARSHAL) \
|
||||
--header \
|
||||
$(meta_marshal_opts) \
|
||||
--output=$@ \
|
||||
$<
|
||||
|
||||
meta-marshal.c: meta-marshal.list meta-marshal.h
|
||||
$(AM_V_GEN)$(GLIB_GENMARSHAL) \
|
||||
--include-header=meta-marshal.h \
|
||||
$(meta_marshal_opts) \
|
||||
--body \
|
||||
--output=$@ \
|
||||
$<
|
@ -1,40 +0,0 @@
|
||||
pkgdatadir = $(datadir)/mutter-$(LIBMUTTER_API_VERSION)
|
||||
pkglibdir = $(MUTTER_PLUGIN_DIR)
|
||||
|
||||
AM_CPPFLAGS = \
|
||||
$(MUTTER_CFLAGS) \
|
||||
-I$(top_builddir)/src \
|
||||
-I$(top_srcdir)/src \
|
||||
-I$(top_srcdir)/cogl \
|
||||
-I$(top_builddir)/cogl \
|
||||
-I$(top_builddir)/cogl/cogl \
|
||||
-I$(top_srcdir)/clutter \
|
||||
-I$(top_builddir)/clutter \
|
||||
-I$(top_builddir)/clutter/clutter \
|
||||
-DMUTTER_LIBEXECDIR=\"$(libexecdir)\" \
|
||||
-DMUTTER_LOCALEDIR=\"$(localedir)\" \
|
||||
-DMUTTER_PKGDATADIR=\"$(pkgdatadir)\" \
|
||||
-DMUTTER_DATADIR=\"$(datadir)\" \
|
||||
-DG_LOG_DOMAIN=\"mutter\" \
|
||||
-DSN_API_NOT_YET_FROZEN=1 \
|
||||
-DMUTTER_PLUGIN_DIR=\"$(MUTTER_PLUGIN_DIR)\"
|
||||
|
||||
libdefault_la_CFLAGS = -fPIC
|
||||
libdefault_la_SOURCES = default.c
|
||||
libdefault_la_LDFLAGS = -module -avoid-version -no-undefined
|
||||
libdefault_la_LIBADD = $(CLUTTER_LIBS)
|
||||
|
||||
pkglib_LTLIBRARIES = libdefault.la
|
||||
|
||||
# post-install hook to remove the .la and .a files we are not interested in
|
||||
# (There is no way to stop libtool generating static libs locally, and we
|
||||
# cannot do this globally because of libmutter-private.so).
|
||||
install-exec-hook:
|
||||
-rm -f $(DESTDIR)$(pkglibdir)/*.a
|
||||
-rm -f $(DESTDIR)$(pkglibdir)/*.la
|
||||
|
||||
# Since we removed the .la file, 'make uninstall' doesn't work properly,
|
||||
# since it counts on libtool to remove the .la files, so just kill the
|
||||
# .so file manually.
|
||||
uninstall-local:
|
||||
-rm -f $(DESTDIR)$(pkglibdir)/libdefault.so
|
Loading…
Reference in New Issue
Block a user