Commit 00cae140 authored by Gaël Bonithon's avatar Gaël Bonithon
Browse files

Add skeleton

parents
*~
*.la
*.lo
*.o
*.gir
*.pc
*.stamp
*.typelib
.libs/
.deps/
aclocal.m4
autom4te.cache/
ChangeLog
compile
config.*
configure
configure.in
depcomp
docs/reference/html/
docs/reference/xml/
docs/reference/libxfcewl*
!docs/reference/libxfcewl-docs.xml
!docs/reference/libxfcewl.types
!docs/reference/libxfcewl-sections.txt
gtk-doc.make
INSTALL
install-sh
intltool-*
libtool
libxfcewl/libxfcewl-config.h
libxfcewl/libxfcewl-enum-types.c
libxfcewl/libxfcewl-enum-types.h
ltmain.sh
m4/*
!m4/introspection.m4
Makefile
Makefile.in
missing
po/POTFILES
po/stamp-it
po/Makefile.in.in
po/.intltool-merge-cache*
po/*.gmo
protocols/*.c
protocols/*.h
stamp-h1
include:
- project: 'xfce/xfce4-dev-tools'
file: '/ci/build_project.yml'
Gaël Bonithon <gael@xfce.org>
MIT License
Copyright (c) 2022 The Libxfcewl contributors
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS}
SUBDIRS = \
libxfcewl \
docs \
po
distclean-local:
rm -rf *.spec *.cache *~
.PHONY: ChangeLog
ChangeLog: Makefile
GIT_DIR=$(top_srcdir)/.git git log > .changelog.tmp \
|| echo 'Git directory not found: installing possibly empty changelog.' >&2; \
mv .changelog.tmp ChangeLog
dist-hook: ChangeLog
EXTRA_DIST = \
intltool-extract.in \
intltool-merge.in \
intltool-update.in \
m4/introspection.m4
DISTCLEANFILES = \
intltool-extract \
intltool-merge \
intltool-update \
po/.intltool-merge-cache.lock \
ChangeLog
DISTCHECK_CONFIGURE_FLAGS = \
--enable-gtk-doc \
--enable-introspection
[![License](https://img.shields.io/badge/License-MIT-blue.svg)](https://gitlab.xfce.org/xfce/libxfcewl/-/blob/master/COPYING)
# libxfcewl
Libxfcewl is a library gathering Wayland related utilities for Xfce. It provides in particular GTK-like APIs around Wayland protocols useful for Xfce but not supported by Mutter, so GNOME is unlikely to ever provide these APIs itself. These are typically the Wlroots protocols.
----
### Homepage
[Libxfcewl documentation](https://docs.xfce.org/xfce/libxfcewl/start)
### Changelog
See [NEWS](https://gitlab.xfce.org/xfce/libxfcewl/-/blob/master/NEWS) for details on changes and fixes made in the current release.
### Source Code Repository
[Libxfcewl source code](https://gitlab.xfce.org/xfce/libxfcewl)
### Download a Release Tarball
[Libxfcewl archive](https://archive.xfce.org/src/xfce/libxfcewl)
or
[Libxfcewl tags](https://gitlab.xfce.org/xfce/libxfcewl/-/tags)
### Installation
From source:
% cd libxfcewl
% ./autogen.sh
% make
% make install
From release tarball:
% tar xf libxfcewl-<version>.tar.bz2
% cd libxfcewl-<version>
% ./configure
% make
% make install
### Reporting Bugs
Visit the [reporting bugs](https://docs.xfce.org/xfce/libxfcewl/bugs) page to view currently open bug reports and instructions on reporting new bugs or submitting bugfixes.
#!/bin/sh
type xdt-autogen >/dev/null 2>&1 || {
cat >&2 <<EOF
autogen.sh: You don't seem to have the Xfce development tools installed on
your system, which are required to build this software.
Please install the xfce4-dev-tools package first, it is available
from your distribution or https://www.xfce.org/.
EOF
exit 1
}
XDT_AUTOGEN_REQUIRED_VERSION="4.17.0" exec xdt-autogen "$@"
dnl ***************************
dnl *** Version information ***
dnl ***************************
m4_define([libxfcewl_verinfo], [0:0:0])
XDT_VERSION_INIT([0.1.0], [git])
dnl ***************************
dnl *** Initialize autoconf ***
dnl ***************************
AC_COPYRIGHT([Copyright (c) 2022 The Libxfcewl contributors])
AC_INIT([libxfcewl], [xdt_version], [https://gitlab.xfce.org/xfce/libxfcewl])
AC_PREREQ([2.69])
AC_CONFIG_MACRO_DIRS([m4])
AC_REVISION([xdt_version_build])
AC_CANONICAL_TARGET()
dnl ***************************
dnl *** Initialize automake ***
dnl ***************************
AM_INIT_AUTOMAKE([1.15 dist-bzip2 tar-ustar no-dist-gzip foreign])
AC_CONFIG_HEADERS([config.h])
AM_MAINTAINER_MODE()
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
dnl **************************
dnl *** Initialize libtool ***
dnl **************************
LT_PREREQ([2.4])
LT_INIT([disable-static])
dnl **************************************
dnl *** Substitute version information ***
dnl **************************************
LIBXFCEWL_VERINFO=libxfcewl_verinfo()
LIBXFCEWL_VERSION_MAJOR=xdt_version_major()
LIBXFCEWL_VERSION_MINOR=xdt_version_minor()
LIBXFCEWL_VERSION_MICRO=xdt_version_micro()
AC_SUBST([LIBXFCEWL_VERINFO])
AC_SUBST([LIBXFCEWL_VERSION_MAJOR])
AC_SUBST([LIBXFCEWL_VERSION_MINOR])
AC_SUBST([LIBXFCEWL_VERSION_MICRO])
dnl ********************************
dnl *** Check for basic programs ***
dnl ********************************
AC_PROG_CC()
LT_PATH_LD()
AM_PROG_CC_C_O()
AC_PROG_INSTALL()
IT_PROG_INTLTOOL([0.51])
dnl ***************************************
dnl *** Check for standard header files ***
dnl ***************************************
AC_CHECK_HEADERS([errno.h fcntl.h limits.h locale.h math.h memory.h \
signal.h stdarg.h stdlib.h stdio.h string.h unistd.h ])
dnl ******************************
dnl *** Check for i18n support ***
dnl ******************************
XDT_I18N()
dnl ***********************************
dnl *** Check for required packages ***
dnl ***********************************
AC_DEFINE(GLIB_VERSION_MAX_ALLOWED, GLIB_VERSION_2_66, Warn when using post 2_66 APIs)
AC_DEFINE(GLIB_VERSION_MIN_REQUIRED, GLIB_VERSION_2_66, Don't warn about post 2_66 deprecations)
AC_DEFINE(G_LOG_USE_STRUCTURED, 1, [Use GLib structured logging])
XDT_CHECK_PACKAGE([GLIB], [glib-2.0], [2.66.0])
XDT_CHECK_PACKAGE([GTK], [gtk+-3.0], [3.24.0])
dnl *************************
dnl *** Check for gtk-doc ***
dnl *************************
GTK_DOC_CHECK([1.20])
dnl ***************************************
dnl *** Check for GObject Introspection ***
dnl ***************************************
GOBJECT_INTROSPECTION_CHECK([1.66.0])
dnl ***********************************
dnl *** Check for debugging support ***
dnl ***********************************
XDT_FEATURE_DEBUG([xdt_debug_default])
dnl **************************************
dnl *** Check for linker optimizations ***
dnl **************************************
XDT_FEATURE_LINKER_OPTS()
AC_CONFIG_FILES([
Makefile
docs/Makefile
docs/reference/Makefile
libxfcewl/Makefile
libxfcewl/libxfcewl-1.pc
po/Makefile.in
])
AC_OUTPUT
dnl ***************************
dnl *** Print configuration ***
dnl ***************************
echo
echo "Build Configuration:"
echo
echo "* Debug Support: $enable_debug"
echo "* GObject Introspection support: $enable_introspection"
echo "* Documentation support: $enable_gtk_doc"
echo
SUBDIRS = \
reference
# Name of the module
DOC_MODULE=libxfcewl
# Top-level SGML file
DOC_MAIN_SGML_FILE=$(DOC_MODULE)-docs.xml
SCAN_OPTIONS=
# Extra options to pass to gtkdoc-scangobj
SCANGOBJ_OPTIONS=
# Directory containing the source code
DOC_SOURCE_DIR=$(top_srcdir)/libxfcewl
# Extra options to supply to gtkdoc-mkdb
MKDB_OPTIONS=--xml-mode --output-format=xml
# Extra options to supply to gtkdoc-fixref
FIXXREF_OPTIONS=
# Used for dependencies
HFILE_GLOB=
CFILE_GLOB=
# Extra files to add when scanning (relative to $srcdir)
EXTRA_HFILES=
# Images to copy into HTML directory
HTML_IMAGES =
# Extra SGML files that are included by DOC_MAIN_SGML_FILE
content_files =
# CFLAGS and LDFLAGS for compiling scan program. Only needed
# if $(DOC_MODULE).types is non-empty.
GTKDOC_CFLAGS = \
-I$(top_srcdir) \
-I$(top_builddir) \
$(GTK_CFLAGS)
GTKDOC_LIBS = \
$(top_builddir)/libxfcewl/libxfcewl.la \
$(GTK_CFLAGS)
include $(top_srcdir)/gtk-doc.make
<?xml version="1.0"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"
[
<!ENTITY % local.common.attrib "xmlns:xi CDATA #FIXED 'http://www.w3.org/2003/XInclude'">
<!ENTITY % gtkdocentities SYSTEM "xml/gtkdocentities.ent">
%gtkdocentities;
]>
<book id="index" xmlns:xi="http://www.w3.org/2003/XInclude">
<bookinfo>
<title>&package_name; Reference Manual</title>
<releaseinfo>
For &package_string;.
The latest version of this documentation can be found on-line at
<ulink role="online-location" url="https://developer.xfce.org/&package_name;/index.html">https://developer.xfce.org/&package_name;/</ulink>.
</releaseinfo>
<copyright>
<year>2022</year>
<holder>The Libxfcewl contributors</holder>
</copyright>
</bookinfo>
<index id="api-index-full">
<title>Index of all symbols</title>
<xi:include href="xml/api-index-full.xml"><xi:fallback /></xi:include>
</index>
<index id="api-index-deprecated">
<title>Index of deprecated symbols</title>
<xi:include href="xml/api-index-deprecated.xml"><xi:fallback /></xi:include>
</index>
<xi:include href="xml/annotation-glossary.xml"><xi:fallback /></xi:include>
</book>
AM_CPPFLAGS = \
-I$(top_srcdir) \
-DG_LOG_DOMAIN=\"libxfcewl\" \
-DLIBXFCEWL_COMPILATION \
-DPACKAGE_LOCALE_DIR=\"$(localedir)\" \
$(PLATFORM_CPPFLAGS)
lib_LTLIBRARIES = \
libxfcewl.la
libxfcewl_public_built_sources = \
libxfcewl-enum-types.h
libxfcewl_built_sources = \
$(libxfcewl_public_built_sources) \
libxfcewl-enum-types.c
libxfcewl_headers = \
libxfcewl.h
libxfcewl_includedir = \
$(includedir)/xfce4/libxfcewl-1/libxfcewl
libxfcewl_include_HEADERS = \
$(libxfcewl_public_built_sources) \
$(libxfcewl_headers)
libxfcewl_la_SOURCES = \
$(libxfcewl_built_sources) \
$(libxfcewl_headers)
libxfcewl_la_CFLAGS = \
$(GTK_CFLAGS) \
$(PLATFORM_CFLAGS)
libxfcewl_la_LDFLAGS = \
-no-undefined \
-export-dynamic \
-version-info $(LIBXFCEWL_VERINFO) \
-export-symbols-regex '^[^_].*' \
$(PLATFORM_LDFLAGS)
libxfcewl_la_LIBADD = \
$(GTK_LIBS)
#
# Pkg-config file
#
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = libxfcewl-1.pc
#
# Build sources
#
DISTCLEANFILES =
if MAINTAINER_MODE
libxfcewl-enum-types.h: $(libxfcewl_headers) Makefile
$(AM_V_GEN) ( cd $(srcdir) && glib-mkenums \
--fhead "#ifndef __LIBXFCEWL_ENUM_TYPES_H__\n#define __LIBXFCEWL_ENUM_TYPES_H__\n#include <glib-object.h>\nG_BEGIN_DECLS\n" \
--fprod "/* enumerations from \"@filename@\" */\n" \
--vhead "GType @enum_name@_get_type (void) G_GNUC_CONST;\n#define @ENUMPREFIX@_TYPE_@ENUMSHORT@ (@enum_name@_get_type())\n" \
--ftail "G_END_DECLS\n\n#endif /* !__LIBXFCEWL_ENUM_TYPES_H__ */" \
$(libxfcewl_headers) ) > $@
libxfcewl-enum-types.c: $(libxfcewl_headers) Makefile
$(AM_V_GEN) ( cd $(srcdir) && glib-mkenums \
--fhead "#include <libxfcewl/libxfcewl-enum-types.h>" \
--fprod "\n/* enumerations from \"@filename@\" */\n#include <libxfcewl/@filename@>" \
--vhead "GType\n@enum_name@_get_type (void)\n{\n\tstatic GType type = 0;\n\tif (type == 0) {\n\tstatic const G@Type@Value values[] = {"\
--vprod "\t{ @VALUENAME@, \"@VALUENAME@\", \"@valuenick@\" }," \
--vtail "\t{ 0, NULL, NULL }\n\t};\n\ttype = g_@type@_register_static (\"@EnumName@\", values);\n }\n\treturn type;\n}\n" \
--ftail "\n#define __LIBXFCEWL_ENUM_TYPES_C__\n" \
$(libxfcewl_headers) ) > $@
DISTCLEANFILES += \
$(libxfcewl_built_sources)
BUILT_SOURCES = \
$(libxfcewl_built_sources)
endif
#
# GObject Introspection
#
-include $(INTROSPECTION_MAKEFILE)
INTROSPECTION_GIRS =
INTROSPECTION_SCANNER_ENV = CC="$(CC)"
INTROSPECTION_SCANNER_ARGS = \
--add-include-path=$(srcdir) \
--warn-all \
--identifier-prefix=libxfcewl \
--identifier-prefix=Xfwl \
--c-include=libxfcewl/libxfcewl.h
INTROSPECTION_COMPILER_ARGS = \
--includedir=$(srcdir) \
--includedir=.
if HAVE_INTROSPECTION
introspection_sources = $(libxfcewl_la_SOURCES)
Libxfcewl-1.0.gir: libxfcewl.la Makefile
Libxfcewl_1_0_gir_INCLUDES = GObject-2.0 GLib-2.0 Gio-2.0 Gtk-3.0
Libxfcewl_1_0_gir_CFLAGS = $(AM_CPPFLAGS)
Libxfcewl_1_0_gir_LIBS = libxfcewl.la
Libxfcewl_1_0_gir_FILES = $(introspection_sources)
Libxfcewl_1_0_gir_EXPORT_PACKAGES = libxfcewl-1.0
INTROSPECTION_GIRS += Libxfcewl-1.0.gir
girdir = $(datadir)/gir-1.0
gir_DATA = $(INTROSPECTION_GIRS)
typelibdir = $(libdir)/girepository-1.0
typelib_DATA = $(INTROSPECTION_GIRS:.gir=.typelib)
DISTCLEANFILES += $(gir_DATA) $(typelib_DATA)
endif
# required for gtk-doc
dist-hook: all
prefix=@prefix@
exec_prefix=@exec_prefix@
libdir=@libdir@
includedir=@includedir@
Name: Libxfcewl
Description: Wayland related utilities for Xfce
Requires: gtk+-3.0 wayland-client
Version: @PACKAGE_VERSION@
Libs: -L${libdir} -lxfcewl-1
Cflags: -I${includedir}/xfce4/libxfcewl-1
/*
* Copyright (c) 2022 Gaël Bonithon <gael@xfce.org>
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/
#ifndef __LIBXFCEWL_H__
#define __LIBXFCEWL_H__
#define __LIBXFCEWL_H_INSIDE__
#include <libxfcewl/libxfcewl-enum-types.h>
#undef __LIBXFCEWL_H_INSIDE__
#endif /* !__LIBXFCEWL_H__ */
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])
])