build: drop autotools

Meson now replaces autotools.

Signed-off-by: Simon Ser <contact@emersion.fr>
This commit is contained in:
Simon Ser 2020-12-14 14:46:46 +01:00
parent 2b22160fb6
commit 3bda3d1b47
22 changed files with 10 additions and 1049 deletions

40
.gitignore vendored
View File

@ -1,48 +1,8 @@
*.announce
*.deps
*.jpg
*.la
*.lo
*.o
*.pc
*.sig
*.so
*.swp
*.3
*.7
*.log
*.trs
*.tar.xz
*~
*-test
.libs
.dirstamp
cscope.out
ctags
/aclocal.m4
/wayland-scanner.m4
/autom4te.cache
/compile
/config.guess
/config.h
/config.h.in
/config.log
/config.mk
/config.status
/config.sub
/configure
/depcomp
/install-sh
/libtool
/ltmain.sh
/missing
/stamp-h1
/test-driver
/tests/output/
Makefile
Makefile.in
exec-fd-leak-checker
fixed-benchmark
/wayland-egl-abi-check
/wayland-scanner
protocol/*.[ch]

View File

@ -14,13 +14,13 @@ stages:
variables:
DEBIAN_PACKAGES: 'build-essential automake autoconf libtool pkg-config libexpat1-dev libffi-dev libxml2-dev doxygen graphviz xmlto xsltproc docbook-xsl python3-pip python3-setuptools ninja-build'
DEBIAN_PACKAGES: 'build-essential pkg-config libexpat1-dev libffi-dev libxml2-dev doxygen graphviz xmlto xsltproc docbook-xsl python3-pip python3-setuptools ninja-build'
DEBIAN_EXEC: 'pip3 install meson==0.52.1'
# these tags should be updated each time the list of packages is updated
# changing these will force rebuilding the associated image
# Note: these tags have no meaning and are not tied to a particular
# wayland version
DEBIAN_TAG: '2020-06-05.1'
DEBIAN_TAG: '2020-12-14.0'
FDO_UPSTREAM_REPO: wayland/wayland
@ -41,34 +41,7 @@ debian:buster@container-prep:
GIT_STRATEGY: none
build-native-autotools:
extends:
- .debian.buster
- .fdo.distribution-image@debian
stage: build
script:
- export BUILD_ID="wayland-$CI_JOB_NAME_$CI_COMMIT_SHA-$CI_JOB_ID"
- export PREFIX="$(pwd)/prefix-$BUILD_ID"
- export BUILDDIR="$(pwd)/build-$BUILD_ID"
- export MAKEFLAGS="-j4"
- mkdir "$BUILDDIR" "$PREFIX"
- cd "$BUILDDIR"
- ../autogen.sh --prefix="$PREFIX" --with-icondir=/usr/share/X11/icons
- make all
- make check
- make install
- make distcheck
artifacts:
name: wayland-$CI_COMMIT_SHA-$CI_JOB_ID
when: always
paths:
- build-*/wayland-*.tar.xz
- build-*/wayland*/_build/sub/*.log
- build-*/*.log
- prefix-*
build-native-meson:
build-native:
extends:
- .debian.buster
- .fdo.distribution-image@debian

View File

@ -1,341 +0,0 @@
if BUILD_DOCS
SUBDIRS = doc
endif
ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS}
AM_CPPFLAGS = \
-I$(top_builddir)/src \
-I$(top_srcdir)/src \
-I$(top_builddir)/protocol
AM_CFLAGS = $(GCC_CFLAGS)
aclocaldir = $(datadir)/aclocal
dist_aclocal_DATA = wayland-scanner.m4
dist_pkgdata_DATA = \
wayland-scanner.mk \
protocol/wayland.xml \
protocol/wayland.dtd
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA =
bin_PROGRAMS = wayland-scanner
wayland_scanner_SOURCES = src/scanner.c
wayland_scanner_CPPFLAGS = $(AM_CPPFLAGS) -include config.h
wayland_scanner_CFLAGS = $(EXPAT_CFLAGS) $(LIBXML_CFLAGS) $(AM_CFLAGS)
wayland_scanner_LDADD = $(EXPAT_LIBS) $(LIBXML_LIBS) libwayland-util.la
pkgconfig_DATA += src/wayland-scanner.pc
if DTD_VALIDATION
wayland_scanner_SOURCES += src/dtddata.S
endif
src/dtddata.o: protocol/wayland.dtd
if USE_HOST_SCANNER
wayland_scanner = wayland-scanner
else
$(BUILT_SOURCES) : wayland-scanner
wayland_scanner = $(top_builddir)/wayland-scanner
endif
libwayland_util_la_CFLAGS = $(AM_CFLAGS)
libwayland_util_la_SOURCES = \
src/wayland-util.c \
src/wayland-util.h
noinst_LTLIBRARIES = libwayland-util.la
if ENABLE_LIBRARIES
noinst_LTLIBRARIES += libwayland-private.la
lib_LTLIBRARIES = libwayland-server.la libwayland-client.la
libwayland_private_la_CFLAGS = $(FFI_CFLAGS) $(AM_CFLAGS)
libwayland_private_la_SOURCES = \
src/connection.c \
src/wayland-os.c \
src/wayland-os.h \
src/wayland-private.h \
src/wayland-server-private.h
include_HEADERS = \
src/wayland-util.h \
src/wayland-server.h \
src/wayland-server-core.h \
src/wayland-client.h \
src/wayland-client-core.h \
src/wayland-version.h
nodist_include_HEADERS = \
protocol/wayland-server-protocol.h \
protocol/wayland-client-protocol.h
libwayland_server_la_CFLAGS = $(FFI_CFLAGS) $(AM_CFLAGS) -pthread
libwayland_server_la_LIBADD = $(FFI_LIBS) libwayland-private.la libwayland-util.la $(RT_LIBS) -lm
libwayland_server_la_LDFLAGS = -version-info 1:0:1
libwayland_server_la_SOURCES = \
src/wayland-server.c \
src/wayland-shm.c \
src/event-loop.c
nodist_libwayland_server_la_SOURCES = \
protocol/wayland-server-protocol.h \
protocol/wayland-protocol.c
libwayland_client_la_CFLAGS = $(FFI_CFLAGS) $(AM_CFLAGS) -pthread
libwayland_client_la_LIBADD = $(FFI_LIBS) libwayland-private.la libwayland-util.la $(RT_LIBS) -lm
libwayland_client_la_LDFLAGS = -version-info 3:0:3
libwayland_client_la_SOURCES = \
src/wayland-client.c
nodist_libwayland_client_la_SOURCES = \
protocol/wayland-client-protocol.h \
protocol/wayland-protocol.c
pkgconfig_DATA += src/wayland-client.pc src/wayland-server.pc
protocol/%-protocol.c : $(top_srcdir)/protocol/%.xml
if USE_HOST_SCANNER
$(AM_V_GEN)$(MKDIR_P) $(dir $@) && $(wayland_scanner) -s code $< $@
else
$(AM_V_GEN)$(MKDIR_P) $(dir $@) && $(wayland_scanner) -s public-code $< $@
endif
protocol/%-server-protocol.h : $(top_srcdir)/protocol/%.xml
$(AM_V_GEN)$(MKDIR_P) $(dir $@) && $(wayland_scanner) -s server-header $< $@
protocol/%-client-protocol.h : $(top_srcdir)/protocol/%.xml
$(AM_V_GEN)$(MKDIR_P) $(dir $@) && $(wayland_scanner) -s client-header $< $@
protocol/%-server-protocol-core.h : $(top_srcdir)/protocol/%.xml
$(AM_V_GEN)$(MKDIR_P) $(dir $@) && $(wayland_scanner) -s server-header -c < $< > $@
protocol/%-client-protocol-core.h : $(top_srcdir)/protocol/%.xml
$(AM_V_GEN)$(MKDIR_P) $(dir $@) && $(wayland_scanner) -s client-header -c < $< > $@
BUILT_SOURCES = \
$(nodist_libwayland_server_la_SOURCES) \
$(nodist_libwayland_client_la_SOURCES) \
$(nodist_headers_test_SOURCES) \
$(nodist_display_test_SOURCES)
CLEANFILES = $(BUILT_SOURCES) doc/doxygen/doxygen_sqlite3.db
DISTCLEANFILES = src/wayland-version.h
EXTRA_DIST = CONTRIBUTING.md
lib_LTLIBRARIES += libwayland-cursor.la
include_HEADERS += cursor/wayland-cursor.h
libwayland_cursor_la_SOURCES = \
cursor/wayland-cursor.c \
cursor/os-compatibility.c \
cursor/os-compatibility.h \
cursor/cursor-data.h \
cursor/xcursor.c \
cursor/xcursor.h
libwayland_cursor_la_LIBADD = libwayland-client.la
pkgconfig_DATA += cursor/wayland-cursor.pc
libwayland_cursor_la_CFLAGS = \
$(AM_CFLAGS) \
-I$(top_builddir)/src \
-I$(top_srcdir)/src \
-DICONDIR=\"$(ICONDIR)\"
lib_LTLIBRARIES += libwayland-egl.la
include_HEADERS += egl/wayland-egl.h
include_HEADERS += egl/wayland-egl-core.h
libwayland_egl_la_SOURCES = egl/wayland-egl.c
libwayland_egl_la_LDFLAGS = -version-info 1
pkgconfig_DATA += egl/wayland-egl.pc
## XXX: backend interface
include_HEADERS += egl/wayland-egl-backend.h
pkgconfig_DATA += egl/wayland-egl-backend.pc
built_test_programs = \
array-test \
client-test \
display-test \
connection-test \
event-loop-test \
fixed-test \
interface-test \
list-test \
map-test \
os-wrappers-test \
sanity-test \
socket-test \
queue-test \
proxy-test \
signal-test \
newsignal-test \
resources-test \
message-test \
headers-test \
compositor-introspection-test \
protocol-logger-test \
wayland-egl-abi-check
EXTRA_DIST += egl/wayland-egl-symbols-check
check_PROGRAMS = wayland-egl-abi-check
wayland_egl_abi_check_SOURCES = egl/wayland-egl-abi-check.c
if ENABLE_CPP_TEST
built_test_programs += cpp-compile-test
endif
AM_TESTS_ENVIRONMENT = \
export WAYLAND_SCANNER='$(top_builddir)/wayland-scanner' \
TEST_DATA_DIR='$(top_srcdir)/tests/data' \
TEST_OUTPUT_DIR='$(top_builddir)/tests/output' \
WAYLAND_EGL_LIB='$(top_builddir)/.libs/libwayland-egl.so' \
SED=$(SED) \
NM='$(NM)' \
;
TESTS = $(built_test_programs) \
egl/wayland-egl-symbols-check \
tests/scanner-test.sh
noinst_PROGRAMS = \
$(built_test_programs) \
exec-fd-leak-checker \
fixed-benchmark
noinst_LTLIBRARIES += \
libtest-runner.la \
libtest-helpers.la
libtest_helpers_la_SOURCES = tests/test-helpers.c
libtest_runner_la_SOURCES = \
tests/test-runner.c \
tests/test-runner.h \
tests/test-compositor.h \
tests/test-compositor.c
libtest_runner_la_LIBADD = \
libwayland-private.la \
libwayland-util.la \
libwayland-client.la \
libwayland-server.la \
libtest-helpers.la \
$(RT_LIBS) $(DL_LIBS) $(FFI_LIBS)
array_test_SOURCES = tests/array-test.c
array_test_LDADD = libtest-runner.la
client_test_SOURCES = tests/client-test.c
client_test_LDADD = libtest-runner.la
display_test_CFLAGS = -pthread
display_test_SOURCES = tests/display-test.c
display_test_LDADD = libtest-runner.la
nodist_display_test_SOURCES = \
protocol/tests-server-protocol.h \
protocol/tests-client-protocol.h \
protocol/tests-protocol.c
connection_test_SOURCES = tests/connection-test.c
connection_test_LDADD = libtest-runner.la
event_loop_test_SOURCES = tests/event-loop-test.c
event_loop_test_LDADD = libtest-runner.la
fixed_test_SOURCES = tests/fixed-test.c
fixed_test_LDADD = libtest-runner.la
interface_test_SOURCES = tests/interface-test.c
interface_test_LDADD = libtest-runner.la
list_test_SOURCES = tests/list-test.c
list_test_LDADD = libtest-runner.la
map_test_SOURCES = tests/map-test.c
map_test_LDADD = libtest-runner.la
sanity_test_SOURCES = tests/sanity-test.c
sanity_test_LDADD = libtest-runner.la
socket_test_SOURCES = tests/socket-test.c
socket_test_LDADD = libtest-runner.la
queue_test_SOURCES = tests/queue-test.c
queue_test_LDADD = libtest-runner.la
proxy_test_SOURCES = tests/proxy-test.c
proxy_test_LDADD = libtest-runner.la
signal_test_SOURCES = tests/signal-test.c
signal_test_LDADD = libtest-runner.la
# wayland-server.c is needed here to access wl_priv_* functions
newsignal_test_SOURCES = tests/newsignal-test.c src/wayland-server.c
newsignal_test_LDADD = libtest-runner.la
resources_test_SOURCES = tests/resources-test.c
resources_test_LDADD = libtest-runner.la
message_test_SOURCES = tests/message-test.c
message_test_LDADD = libtest-runner.la
compositor_introspection_test_SOURCES = tests/compositor-introspection-test.c
compositor_introspection_test_LDADD = libtest-runner.la
protocol_logger_test_SOURCES = tests/protocol-logger-test.c
protocol_logger_test_LDADD = libtest-runner.la
headers_test_SOURCES = tests/headers-test.c \
tests/headers-protocol-test.c \
tests/headers-protocol-core-test.c
nodist_headers_test_SOURCES = \
protocol/wayland-server-protocol-core.h \
protocol/wayland-client-protocol-core.h
if ENABLE_CPP_TEST
cpp_compile_test_SOURCES = tests/cpp-compile-test.cpp
endif
fixed_benchmark_SOURCES = tests/fixed-benchmark.c
fixed_benchmark_LDADD = $(RT_LIBS)
os_wrappers_test_SOURCES = tests/os-wrappers-test.c
os_wrappers_test_LDADD = libtest-runner.la
exec_fd_leak_checker_SOURCES = tests/exec-fd-leak-checker.c
exec_fd_leak_checker_LDADD = libtest-helpers.la
EXTRA_DIST += tests/scanner-test.sh \
protocol/tests.xml \
tests/data/bad-identifier-arg.xml \
tests/data/bad-identifier-entry.xml \
tests/data/bad-identifier-enum.xml \
tests/data/bad-identifier-event.xml \
tests/data/bad-identifier-interface.xml \
tests/data/bad-identifier-protocol.xml \
tests/data/bad-identifier-request.xml \
tests/data/example.xml \
tests/data/example-client.h \
tests/data/example-server.h \
tests/data/example-code.c \
tests/data/small.xml \
tests/data/small-code.c \
tests/data/small-client.h \
tests/data/small-server.h \
tests/data/small-code-core.c \
tests/data/small-client-core.h \
tests/data/small-server-core.h \
tests/data/small-private-code.c \
meson.build \
meson_options.txt \
cursor/meson.build \
doc/meson.build \
doc/doxygen/mainpage.dox \
doc/doxygen/meson.build \
doc/doxygen/gen-doxygen.py \
doc/doxygen/xml/meson.build \
doc/doxygen/xml/Client/meson.build \
doc/doxygen/xml/Server/meson.build \
doc/publican/meson.build \
doc/publican/sources/meson.build \
egl/meson.build \
src/meson.build \
tests/meson.build
tests/scanner-test.sh: $(top_builddir)/wayland-scanner
clean-local:
-rm -rf tests/output
endif #ENABLE_LIBRARIES

View File

@ -1,9 +0,0 @@
#! /bin/sh
test -n "$srcdir" || srcdir=`dirname "$0"`
test -n "$srcdir" || srcdir=.
(
cd "$srcdir" &&
autoreconf --force -v --install
) || exit
test -n "$NOCONFIGURE" || "$srcdir/configure" "$@"

View File

@ -1,202 +0,0 @@
AC_PREREQ([2.64])
m4_define([wayland_major_version], [1])
m4_define([wayland_minor_version], [19])
m4_define([wayland_micro_version], [90])
m4_define([wayland_version],
[wayland_major_version.wayland_minor_version.wayland_micro_version])
AC_INIT([wayland],
[wayland_version],
[https://gitlab.freedesktop.org/wayland/wayland/issues/],
[wayland],
[https://wayland.freedesktop.org/])
AC_SUBST([WAYLAND_VERSION_MAJOR], [wayland_major_version])
AC_SUBST([WAYLAND_VERSION_MINOR], [wayland_minor_version])
AC_SUBST([WAYLAND_VERSION_MICRO], [wayland_micro_version])
AC_SUBST([WAYLAND_VERSION], [wayland_version])
AC_CONFIG_HEADERS([config.h])
AC_CONFIG_MACRO_DIR([m4])
AM_INIT_AUTOMAKE([1.11 foreign no-dist-gzip dist-xz subdir-objects])
AM_SILENT_RULES([yes])
# Check for programs
AC_PROG_CC
AC_PROG_CXX
AC_PROG_GREP
AM_PROG_AS
AC_PROG_NM
# check if we have C++ compiler. This is hacky workaround,
# for a reason why it is this way see
# http://lists.gnu.org/archive/html/bug-autoconf/2010-05/msg00001.html
have_cpp_compiler=yes
if ! which "$CXX" &>/dev/null; then
have_cpp_compiler=no
fi
AM_CONDITIONAL(ENABLE_CPP_TEST, test "x$have_cpp_compiler" = "xyes")
# Initialize libtool
LT_PREREQ([2.2])
LT_INIT([disable-static])
PKG_PROG_PKG_CONFIG()
AC_ARG_ENABLE([fatal-warnings],
AC_HELP_STRING([--enable-fatal-warnings],
[Build with -Werror]),
[enable_fatal_warnings=$enableval],
[enable_fatal_warnings=no])
AS_IF([test x"$enable_fatal_warnings" != "xno"], [
WERROR_CFLAGS="-Werror"
])
if test "x$GCC" = "xyes"; then
GCC_CFLAGS="$WERROR_CFLAGS -Wall -Wextra -Wno-unused-parameter -g -Wstrict-prototypes -Wmissing-prototypes -fvisibility=hidden"
fi
AC_SUBST(GCC_CFLAGS)
AC_CHECK_HEADERS([sys/prctl.h])
AC_CHECK_FUNCS([accept4 mkostemp posix_fallocate prctl memfd_create strndup])
# *BSD don't have libdl, but they have its functions in libc
WESTON_SEARCH_LIBS([DL], [dl], [dlsym])
# OpenBSD doesn't have librt, but it has its functions in libc
WESTON_SEARCH_LIBS([RT], [rt], [clock_gettime])
AC_ARG_ENABLE([libraries],
[AC_HELP_STRING([--disable-libraries],
[Disable compilation of wayland libraries])],
[],
[enable_libraries=yes])
AC_ARG_WITH([host-scanner],
[AC_HELP_STRING([--with-host-scanner],
[Use installed wayland-scanner from host PATH during build])],
[],
[with_host_scanner=no])
AC_ARG_ENABLE([documentation],
[AC_HELP_STRING([--disable-documentation],
[Disable building the documentation])],
[],
[enable_documentation=yes])
AC_ARG_ENABLE([dtd-validation],
[AC_HELP_STRING([--disable-dtd-validation],
[Disable DTD validation of the protocol])],
[],
[enable_dtd_validation=yes])
AM_CONDITIONAL(USE_HOST_SCANNER, test "x$with_host_scanner" = xyes)
AM_CONDITIONAL(ENABLE_LIBRARIES, test "x$enable_libraries" = xyes)
AC_ARG_WITH(icondir, [ --with-icondir=<dir> Look for cursor icons here],
[ ICONDIR=$withval],
[ ICONDIR=${datadir}/icons])
AC_SUBST([ICONDIR])
if test "x$enable_libraries" = "xyes"; then
PKG_CHECK_MODULES(FFI, [libffi])
AC_CHECK_DECL(SFD_CLOEXEC,[],
[AC_MSG_ERROR("SFD_CLOEXEC is needed to compile wayland libraries")],
[[#include <sys/signalfd.h>]])
AC_CHECK_DECL(TFD_CLOEXEC,[],
[AC_MSG_ERROR("TFD_CLOEXEC is needed to compile wayland libraries")],
[[#include <sys/timerfd.h>]])
AC_CHECK_DECL(CLOCK_MONOTONIC,[],
[AC_MSG_ERROR("CLOCK_MONOTONIC is needed to compile wayland libraries")],
[[#include <time.h>]])
fi
PKG_CHECK_MODULES(EXPAT, [expat])
AM_CONDITIONAL([DTD_VALIDATION], [test "x$enable_dtd_validation" = "xyes"])
if test "x$enable_dtd_validation" = "xyes"; then
PKG_CHECK_MODULES(LIBXML, [libxml-2.0])
AC_DEFINE(HAVE_LIBXML, 1, [libxml-2.0 is available])
AC_CONFIG_LINKS([src/wayland.dtd.embed:protocol/wayland.dtd])
fi
AC_PATH_PROG(XSLTPROC, xsltproc)
AM_CONDITIONAL([HAVE_XSLTPROC], [test "x$XSLTPROC" != "x"])
AM_CONDITIONAL(BUILD_DOCS, [test x$enable_documentation = xyes])
if test "x$enable_documentation" = "xyes"; then
AC_PATH_PROG(DOXYGEN, doxygen)
if test "x$DOXYGEN" = "x"; then
AC_MSG_ERROR([Documentation build requested but doxygen not found. Install doxygen or disable the documentation using --disable-documentation])
fi
AC_MSG_CHECKING([for compatible doxygen version])
doxygen_version=`$DOXYGEN --version`
AS_VERSION_COMPARE([$doxygen_version], [1.6.0],
[AC_MSG_RESULT([no])
AC_MSG_ERROR([Doxygen $doxygen_version too old. Doxygen 1.6+ required for documentation build. Install required doxygen version or disable the documentation using --disable-documentation])],
[AC_MSG_RESULT([yes])],
[AC_MSG_RESULT([yes])])
AC_PATH_PROG(XMLTO, xmlto)
if test "x$XMLTO" = "x"; then
AC_MSG_ERROR([Documentation build requested but xmlto not found. Install xmlto or disable the documentation using --disable-documentation])
fi
AC_PATH_PROG(DOT, dot)
if test "x$DOT" = "x"; then
AC_MSG_ERROR([Documentation build requested but graphviz's dot not found. Install graphviz or disable the documentation using --disable-documentation])
fi
AC_MSG_CHECKING([for compatible dot version])
dot_version=`$DOT -V 2>&1|$GREP -o ['[0-9]*\.[0-9]*\.[0-9]*']`
AS_VERSION_COMPARE([$dot_version], [2.26.0],
[AC_MSG_RESULT([no])
AC_MSG_ERROR([Graphviz dot $dot_version too old. Graphviz 2.26+ required for documentation build. Install required graphviz version or disable the documentation using --disable-documentation])],
[AC_MSG_RESULT([yes])],
[AC_MSG_RESULT([yes])])
AC_MSG_CHECKING([for docbook stylesheets])
DOCS_STYLESHEET=http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl
AC_PATH_PROGS_FEATURE_CHECK([XSLTPROC_TMP], [xsltproc],
AS_IF([`"$ac_path_XSLTPROC_TMP" --nonet "$DOCS_STYLESHEET" > /dev/null 2>&1`],
[HAVE_DOCS_STYLESHEET=yes]))
if test "x$HAVE_DOCS_STYLESHEET" != "xyes"; then
AC_MSG_RESULT([no])
AC_MSG_ERROR([Documentation build requested but docbook-xsl stylesheets are not found. Install the docbook-xsl package or disable the documentation using --disable-documentation])
fi
AC_MSG_RESULT([yes])
AC_SUBST(DOCS_STYLESHEET)
AC_CONFIG_FILES([
doc/doxygen/wayland.doxygen
])
fi
AM_CONDITIONAL([HAVE_XMLTO], [test "x$XMLTO" != "x"])
AC_CONFIG_FILES([Makefile
cursor/wayland-cursor.pc
cursor/wayland-cursor-uninstalled.pc
doc/Makefile
doc/publican/Makefile
doc/doxygen/Makefile
egl/wayland-egl.pc
egl/wayland-egl-backend.pc
src/wayland-server-uninstalled.pc
src/wayland-client-uninstalled.pc
src/wayland-scanner-uninstalled.pc
src/wayland-server.pc
src/wayland-client.pc
src/wayland-scanner.pc
src/wayland-version.h])
AC_OUTPUT

View File

@ -1,8 +0,0 @@
libdir=@abs_builddir@/.libs
includedir=@abs_srcdir@
Name: Wayland Cursor
Description: Wayland cursor helper library (not installed)
Version: @WAYLAND_VERSION@
Cflags: -I${includedir}
Libs: -L${libdir} -lwayland-cursor

View File

@ -1,10 +0,0 @@
prefix=@prefix@
exec_prefix=@exec_prefix@
libdir=@libdir@
includedir=@includedir@
Name: Wayland Cursor
Description: Wayland cursor helper library
Version: @WAYLAND_VERSION@
Cflags: -I${includedir}
Libs: -L${libdir} -lwayland-cursor

View File

@ -1 +0,0 @@
SUBDIRS = doxygen publican

View File

@ -1,113 +0,0 @@
.SUFFIXES = .gv .png .map
noinst_DATA = \
xml/Client/index.xml \
xml/Cursor/index.xml \
xml/Server/index.xml \
html/Client/index.html \
html/Cursor/index.html \
html/Server/index.html
dist_noinst_DATA = wayland.doxygen.in
scanned_src_files_shared = \
$(top_srcdir)/src/wayland-util.h
scanned_src_files_Client = \
$(scanned_src_files_shared) \
$(top_srcdir)/src/wayland-client.c \
$(top_srcdir)/src/wayland-client.h \
$(top_srcdir)/src/wayland-client-core.h
scanned_src_files_Cursor = \
$(top_srcdir)/cursor/wayland-cursor.c \
$(top_srcdir)/cursor/wayland-cursor.h
scanned_src_files_Server = \
$(scanned_src_files_shared) \
$(top_srcdir)/src/event-loop.c \
$(top_srcdir)/src/wayland-server.c \
$(top_srcdir)/src/wayland-server.h \
$(top_srcdir)/src/wayland-server-core.h \
$(top_srcdir)/src/wayland-shm.c
scanned_src_files_man = \
$(scanned_src_files_Server) \
$(top_srcdir)/src/wayland-client.c \
$(top_srcdir)/src/wayland-client.h \
$(top_srcdir)/src/wayland-client-core.h
extra_doxygen = \
mainpage.dox
extra_doxygen_Server = \
$(top_builddir)/protocol/wayland-server-protocol.h \
$(extra_doxygen)
extra_doxygen_Client = \
$(top_builddir)/protocol/wayland-client-protocol.h \
$(extra_doxygen)
extra_doxygen_Cursor = \
$(extra_doxygen)
diagramsdir := $(srcdir)/dot
diagramssrc := $(wildcard $(diagramsdir)/*.gv)
diagrams := $(patsubst $(diagramsdir)/%,xml/%,$(diagramssrc:.gv=.png))
diagram_maps := $(patsubst $(diagramsdir)/%,xml/%,$(diagramssrc:.gv=.map))
# find all man/man3/wl_foo.3 pages
# for this to work, we need to create them before the man target (hence
# all-local below)
dist_man3_MANS = $(shell test -d man && find man/man3 -name "wl_*.3" -printf "man/man3/%P\n")
# Listing various directories that might need to be created.
alldirsrel := xml xml/Client xml/Server xml/Cursor man/man3 html/Client html/Server html/Cursor
alldirs := $(patsubst %,$(CURDIR)/%,$(alldirsrel))
$(diagrams): $(diagramssrc)
$(diagram_maps): $(diagramssrc)
xml/%/index.xml: $(top_srcdir)/src/scanner.c $(scanned_src_files_%) wayland.doxygen $(diagrams) $(diagram_maps) | $(CURDIR)/xml/%
$(AM_V_GEN)(cat wayland.doxygen; \
echo "GENERATE_XML=YES"; \
echo "XML_OUTPUT=xml/$*"; \
echo "INPUT= $(scanned_src_files_$*)"; \
) | $(DOXYGEN) -
html/%/index.html: $(scanned_src_files_%) wayland.doxygen $(diagrams) $(diagram_maps) | $(CURDIR)/html/%
$(AM_V_GEN)(cat wayland.doxygen; \
echo "PROJECT_NAME=\"Wayland $* API\""; \
echo "GENERATE_HTML=YES"; \
echo "HTML_OUTPUT=html/$*"; \
echo "INPUT= $(scanned_src_files_$*) $(extra_doxygen_$*)"; \
) | $(DOXYGEN) -
man/man3/wl_display.3: $(top_srcdir)/src/scanner.c $(scanned_src_files_man) wayland.doxygen | $(CURDIR)/man/man3
$(AM_V_GEN)(cat wayland.doxygen; \
echo "GENERATE_MAN=YES"; \
echo "MAN_OUTPUT=man"; \
echo "JAVADOC_AUTOBRIEF=NO"; \
echo "INPUT= $(scanned_src_files_man)"; \
) | $(DOXYGEN) -
xml/%.png: $(diagramsdir)/%.gv | $(CURDIR)/xml
$(AM_V_GEN)$(DOT) -Tpng -o$@ $<
xml/%.map: $(diagramsdir)/%.gv | $(CURDIR)/xml
$(AM_V_GEN)$(DOT) -Tcmapx_np -o$@ $<
# general rule to create one of the listed directories.
$(alldirs):
$(AM_V_GEN)$(MKDIR_P) $@
# there is no man-local
all-local: man/man3/wl_display.3
clean-local:
rm -rf xml/
rm -rf html/
rm -rf man/
EXTRA_DIST = $(diagramssrc)

View File

@ -1,169 +0,0 @@
# Documentation is built with xmlto, but some of the recipes in here are
# leftovers from building with Publican (https://fedorahosted.org/publican/)
#
# How this build works:
# * the main target is Wayland, documentation ends up in $(builddir)/Wayland/
# * hand-written chapters and CSS files are located in sources. These are
# copied into $(builddir)/en-US/
# * ProtocolSpec.xml is generated from $(top_srcdir)/protocol/wayland.xml,
# changed into docbook via XSLT and saved in $(builddir)/en-US/
# * ProtocolInterfaces.xml, same as above, uses a different XSLT
# * *API.xml is generated from the doxygen output and saved in
# $(builddir)/en-US
# * run xmlto on $(builddir)/en-US, output to $(builddir)/Wayland/en-US
doxydir := $(top_builddir)/doc/doxygen
html_destdir := $(builddir)/Wayland/en-US/html
publican_sources = \
$(srcdir)/sources/Wayland.ent \
$(srcdir)/sources/Wayland.xml \
$(srcdir)/sources/Book_Info.xml \
$(srcdir)/sources/Author_Group.xml \
$(srcdir)/sources/Foreword.xml \
$(srcdir)/sources/Preface.xml \
$(srcdir)/sources/Revision_History.xml \
$(srcdir)/sources/Protocol.xml \
$(srcdir)/sources/Xwayland.xml \
$(srcdir)/sources/Compositors.xml \
$(srcdir)/sources/images/icon.svg \
$(srcdir)/sources/images/wayland.png \
$(srcdir)/sources/images/xwayland-architecture.png \
$(srcdir)/sources/Client.xml \
$(srcdir)/sources/Server.xml
processed_sources := \
$(srcdir)/sources/Architecture.xml \
$(srcdir)/sources/Introduction.xml
css_sources = \
$(srcdir)/sources/css/brand.css \
$(srcdir)/sources/css/common.css \
$(srcdir)/sources/css/default.css \
$(srcdir)/sources/css/epub.css \
$(srcdir)/sources/css/print.css
img_sources = \
$(srcdir)/sources/images/icon.svg \
$(srcdir)/sources/images/wayland.png \
$(srcdir)/sources/images/xwayland-architecture.png
doxygen_img_sources := \
$(doxydir)/xml/wayland-architecture.png \
$(doxydir)/xml/x-architecture.png
map_sources := \
$(doxydir)/xml/x-architecture.map \
$(doxydir)/xml/wayland-architecture.map
if HAVE_XMLTO
if HAVE_XSLTPROC
noinst_DATA = $(builddir)/Wayland $(publican_targets)
XMLTO_PARAM = \
--skip-validation \
--stringparam chunk.section.depth=0 \
--stringparam toc.section.depth=1 \
--stringparam html.stylesheet=css/default.css
# Listing various directories that might need to be created.
alldirs := $(builddir)/en-US $(builddir)/en-US/images $(html_destdir) $(html_destdir)/css $(html_destdir)/images
html_css_targets = $(addprefix $(html_destdir)/css/,$(notdir $(css_sources)))
html_img_targets = $(addprefix $(html_destdir)/images/,$(notdir $(img_sources)))
doxygen_img_targets := $(doxygen_img_sources:$(doxydir)/xml/%=$(html_destdir)/images/%)
map_targets := $(map_sources:$(doxydir)/xml/%=$(builddir)/en-US/images/%)
processed_targets := $(processed_sources:$(srcdir)/sources/%=$(builddir)/en-US/%)
$(builddir)/Wayland: $(publican_targets) $(html_css_targets) $(html_img_targets) $(processed_targets) $(doxygen_img_targets) | $(builddir)/en-US
$(AM_V_GEN)$(XMLTO) $(XMLTO_PARAM) html $(builddir)/en-US/Wayland.xml -o $(html_destdir)
@touch $@
$(html_destdir)/css/%: $(srcdir)/sources/css/% | $(html_destdir)/css
$(AM_V_GEN)cp -f $< $@
$(html_destdir)/images/%: $(srcdir)/sources/images/% | $(html_destdir)/images
$(AM_V_GEN)cp -f $< $@
$(html_destdir)/images/%: $(doxydir)/xml/% | $(html_destdir)/images
$(AM_V_GEN)cp -f $< $@
pubdir = $(docdir)/Wayland/en-US
publican_targets = $(publican_sources:$(srcdir)/sources/%=$(builddir)/en-US/%) \
$(builddir)/en-US/ProtocolSpec.xml \
$(builddir)/en-US/ProtocolInterfaces.xml \
$(builddir)/en-US/ClientAPI.xml \
$(builddir)/en-US/ServerAPI.xml
# The Protocol.xml is purely generated and required before running publican
$(builddir)/en-US/ProtocolSpec.xml: $(top_srcdir)/protocol/wayland.xml $(srcdir)/protocol-to-docbook.xsl | $(builddir)/en-US
$(AM_V_GEN)$(XSLTPROC) $(srcdir)/protocol-to-docbook.xsl \
$(top_srcdir)/protocol/wayland.xml > $@
$(builddir)/en-US/ProtocolInterfaces.xml: $(top_srcdir)/protocol/wayland.xml $(srcdir)/protocol-interfaces-to-docbook.xsl | $(builddir)/en-US
$(AM_V_GEN)$(XSLTPROC) $(srcdir)/protocol-interfaces-to-docbook.xsl \
$(top_srcdir)/protocol/wayland.xml > $@
# * use doxygen's combine.xslt to merge the xml files into one single file
# * pipe that through the doxygen-to-publican stylesheet
$(builddir)/en-US/%API.xml: $(doxydir)/xml/%/index.xml $(srcdir)/doxygen-to-publican.xsl | $(builddir)/en-US
$(AM_V_GEN)$(XSLTPROC) $(doxydir)/xml/$*/combine.xslt \
$(doxydir)/xml/$*/index.xml | \
$(XSLTPROC) --stringparam which $* \
$(srcdir)/doxygen-to-publican.xsl - > $@
# Copy the sources source files into en-US destination
# This is required for out-of-source-tree build as publican does not allow us
# to specify the location of the source code.
$(builddir)/en-US/%: $(srcdir)/sources/% $(publican_sources) | $(builddir)/en-US/images
$(AM_V_GEN)cp -f $< $@
$(AM_V_at)chmod a+w $@
$(builddir)/en-US/images/%: $(doxydir)/xml/% | $(builddir)/en-US/images
$(AM_V_GEN)cp -f $< $@
$(AM_V_at)chmod a+w $@
# More specific rule to override explicitly listed targets and perform xslt
# modifications on them.
# Note that we can't use $< as all targets must be there
$(processed_targets): $(processed_sources) $(map_targets) $(srcdir)/merge-mapcoords.xsl | $(builddir)/en-US/images
$(AM_V_GEN)$(XSLTPROC) --stringparam basedir $(builddir)/en-US \
$(srcdir)/merge-mapcoords.xsl $(addprefix $(srcdir)/sources/,$(notdir $@)) > $@
# general rule to create one of the listed directories.
$(alldirs):
$(AM_V_GEN)$(MKDIR_P) $@
CLEANFILES = $(publican_targets)
clean-local:
$(AM_V_at)rm -fr $(builddir)/en-US
$(AM_V_at)rm -fr $(builddir)/Wayland
install-data-local:
test -z "$(pubdir)/html/css" || $(mkdir_p) "$(DESTDIR)$(pubdir)/html/css"
test -z "$(pubdir)/html/images" || $(mkdir_p) "$(DESTDIR)$(pubdir)/html/images"
list=`find $(builddir)/Wayland/en-US -type f`; \
for p in $$list; do \
echo " $(INSTALL_DATA) '$$p' '$(DESTDIR)$(docdir)/$$p'"; \
$(INSTALL_DATA) "$$p" "$(DESTDIR)$(docdir)/$$p"; \
done;
uninstall-local:
@if test -n $(DESTDIR)$(docdir); then \
if test -d $(DESTDIR)$(docdir); then \
echo " rm -fr $(DESTDIR)$(docdir)/Wayland;"; \
rm -fr $(DESTDIR)$(docdir)/Wayland; \
fi; \
fi;
endif
endif
EXTRA_DIST = \
$(publican_sources) $(processed_sources) $(css_sources) $(img_sources) \
protocol-to-docbook.xsl \
protocol-interfaces-to-docbook.xsl \
doxygen-to-publican.xsl \
merge-mapcoords.xsl

View File

@ -35,8 +35,8 @@ extern "C" {
#endif
/*
* NOTE: This version must be kept in sync with the Version field in the
* wayland-egl-backend.pc.in file.
* NOTE: This version must be kept in sync with the version field in the
* wayland-egl-backend pkgconfig file generated in meson.build.
*/
#define WL_EGL_WINDOW_VERSION 3

View File

@ -1,9 +0,0 @@
prefix=@prefix@
exec_prefix=@exec_prefix@
includedir=@includedir@
Name: wayland-egl-backend
Description: Backend wayland-egl interface
Version: 3
Libs:
Cflags: -I${includedir}

View File

@ -1,11 +0,0 @@
prefix=@prefix@
exec_prefix=@exec_prefix@
libdir=@libdir@
includedir=@includedir@
Name: wayland-egl
Description: Frontend wayland-egl library
Version: 18.1.0
Requires: wayland-client
Libs: -L${libdir} -lwayland-egl
Cflags: -I${includedir}

5
m4/.gitignore vendored
View File

@ -1,5 +0,0 @@
libtool.m4
ltoptions.m4
ltsugar.m4
ltversion.m4
lt~obsolete.m4

View File

@ -1,37 +0,0 @@
dnl
dnl Copyright © 2016 Quentin “Sardem FF7” Glidic
dnl
dnl Permission is hereby granted, free of charge, to any person obtaining a
dnl copy of this software and associated documentation files (the "Software"),
dnl to deal in the Software without restriction, including without limitation
dnl the rights to use, copy, modify, merge, publish, distribute, sublicense,
dnl and/or sell copies of the Software, and to permit persons to whom the
dnl Software is furnished to do so, subject to the following conditions:
dnl
dnl The above copyright notice and this permission notice (including the next
dnl paragraph) shall be included in all copies or substantial portions of the
dnl Software.
dnl
dnl THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
dnl IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
dnl FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
dnl THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
dnl LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
dnl FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
dnl DEALINGS IN THE SOFTWARE.
dnl
dnl WESTON_SEARCH_LIBS(PREFIX, search-libs, function, [action-if-found], [action-if-not-found], [other-libraries])
dnl WESTON_SEARCH_LIBS is a wrapper around AC_SEARCH_LIBS with a little difference:
dnl action-if-found is called even if no library is required
AC_DEFUN([WESTON_SEARCH_LIBS], [
weston_save_LIBS=${LIBS}
AC_SEARCH_LIBS([$3], [$2], [$4], [$5], [$6])
AS_CASE([${ac_cv_search_][$3][}],
['none required'], [$4],
[no], [],
[$1][_LIBS=${ac_cv_search_][$3][}]
)
AC_SUBST([$1][_LIBS])
LIBS=${weston_save_LIBS}
])

View File

@ -3,16 +3,16 @@ To make a release of Wayland, follow these steps.
0. Verify the test suites and codebase checks pass. All of the
tests should either pass or skip.
$ make check
$ ninja -C build/ test
1. Update the first stanza of configure.ac to the intended version.
1. Update the first stanza of meson.build to the intended version.
Then commit your changes:
$ export RELEASE_NUMBER="x.y.z"
$ export RELEASE_NAME="[alpha|beta|RC1|RC2|official|point]"
$ git status
$ git commit configure.ac -m "configure.ac: bump to version $RELEASE_NUMBER for the $RELEASE_NAME release"
$ git commit meson.build -m "build: bump to version $RELEASE_NUMBER for the $RELEASE_NAME release"
$ git push
2. Run the release.sh script to generate the tarballs, sign and
@ -69,9 +69,9 @@ development early).
$ git branch x.y [sha]
$ git push origin x.y
The master branch's configure.ac version should always be (at least)
The master branch's meson.build version should always be (at least)
x.y.90, with x.y being the most recent stable branch. The stable
branch's configure.ac version is just whatever was most recently
branch's meson.build version is just whatever was most recently
released from that branch.
For stable branches, we commit fixes to master first, then cherry-pick

View File

@ -1,9 +0,0 @@
libdir=@abs_builddir@/.libs
includedir=@abs_srcdir@
protocoldir=@abs_top_builddir@/protocol
Name: Wayland Client
Description: Wayland client side library (not installed)
Version: @PACKAGE_VERSION@
Cflags: -I${includedir} -I${protocoldir}
Libs: -L${libdir} -lwayland-client

View File

@ -1,12 +0,0 @@
prefix=@prefix@
exec_prefix=@exec_prefix@
datarootdir=@datarootdir@
pkgdatadir=@datadir@/@PACKAGE@
libdir=@libdir@
includedir=@includedir@
Name: Wayland Client
Description: Wayland client side library
Version: @WAYLAND_VERSION@
Cflags: -I${includedir}
Libs: -L${libdir} -lwayland-client

View File

@ -1,6 +0,0 @@
pkgdatadir=@abs_top_srcdir@
wayland_scanner=@abs_top_builddir@/wayland-scanner
Name: Wayland Scanner
Description: Wayland scanner (not installed)
Version: @PACKAGE_VERSION@

View File

@ -1,9 +0,0 @@
prefix=@prefix@
exec_prefix=@exec_prefix@
datarootdir=@datarootdir@
pkgdatadir=@datadir@/@PACKAGE@
wayland_scanner=@bindir@/wayland-scanner
Name: Wayland Scanner
Description: Wayland scanner
Version: @WAYLAND_VERSION@

View File

@ -1,9 +0,0 @@
libdir=@abs_builddir@/.libs
includedir=@abs_srcdir@
protocoldir=@abs_top_builddir@/protocol
Name: Wayland Server
Description: Server side implementation of the Wayland protocol (not installed)
Version: @PACKAGE_VERSION@
Cflags: -I${includedir} -I${protocoldir}
Libs: -L${libdir} -lwayland-server

View File

@ -1,12 +0,0 @@
prefix=@prefix@
exec_prefix=@exec_prefix@
datarootdir=@datarootdir@
pkgdatadir=@datadir@/@PACKAGE@
libdir=@libdir@
includedir=@includedir@
Name: Wayland Server
Description: Server side implementation of the Wayland protocol
Version: @WAYLAND_VERSION@
Cflags: -I${includedir}
Libs: -L${libdir} -lwayland-server