Updating branch refs/heads/gber/improvements to 294b8fcd8e786ae870cd20b9f28daf19fd70c735 (commit) from 2df866c1df3f06834884533dac33f6eb2d966d3d (commit)
commit 294b8fcd8e786ae870cd20b9f28daf19fd70c735 Author: Guido Berhoerster <guido+x...@berhoerster.name> Date: Fri Sep 21 12:00:36 2012 +0200 Modernize build system and build panel plugin as a module Modernize configure.in.in. Build the plugin as a module. Remove unnecessary trickery with desktop file substitutions. --HG-- rename : panel-plugin/xfce4-mixer-plugin.desktop.in.in => panel-plugin/mixer.desktop.in rename : xfce4-mixer/xfce4-mixer.desktop.in.in => xfce4-mixer/xfce4-mixer.desktop.in AUTHORS | 1 + NEWS | 1 + autogen.sh | 30 +++++++++++++- configure.in.in | 18 ++++---- panel-plugin/Makefile.am | 42 ++++++++------------ ...mixer-plugin.desktop.in.in => mixer.desktop.in} | 3 +- panel-plugin/xfce-mixer-plugin.c | 2 +- xfce4-mixer/Makefile.am | 19 +------- ...-mixer.desktop.in.in => xfce4-mixer.desktop.in} | 0 9 files changed, 62 insertions(+), 54 deletions(-) diff --git a/AUTHORS b/AUTHORS index c40ddc1..14d2553 100644 --- a/AUTHORS +++ b/AUTHORS @@ -1 +1,2 @@ Jannis Pohlmann <jan...@xfce.org> +Guido Berhoerster <guido+x...@berhoerster.name> diff --git a/NEWS b/NEWS index 7bdbf49..6d0998c 100644 --- a/NEWS +++ b/NEWS @@ -4,6 +4,7 @@ - Fix a potential NULL pointer dereference. - Do not try to destroy the mixer window twice after a delete-event (bug #8288). +- Modernize build system and build panel plugin as a module. 4.8.0 diff --git a/autogen.sh b/autogen.sh index 2c644e9..ae2cb53 100755 --- a/autogen.sh +++ b/autogen.sh @@ -3,6 +3,7 @@ # vi:set et ai sw=2 sts=2 ts=2: */ #- # Copyright (c) 2009 Jannis Pohlmann <jan...@xfce.org> +# Copyright (c) 2012 Guido Berhoerster <guido+x...@berhoerster.name> # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License as @@ -19,7 +20,32 @@ # Software Foundation, Inc., 51 Franklin Street, Fifth Floor, # Boston, MA 02110-1301, USA. -(type xdt-autogen) >/dev/null 2>&1 || { +# finds the given command in $PATH +findpath () { + if [ $# -ne 1 ] || [ -z "$1" ]; then + return 1 + fi + + _findpath_cmd="$1" + oIFS="${IFS}" + IFS=: + set -- ${PATH} + IFS="${oIFS}" + + while [ $# -gt 0 ]; do + if [ -x "$1/${_findpath_cmd}" ]; then + printf "%s\n" "$1/${_findpath_cmd}" + unset _findpath_cmd oIFS + return 0 + fi + shift + done + + unset _findpath_cmd oIFS + return 1 +} + +xdt_autogen="$(findpath xdt-autogen)" || { 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. @@ -29,4 +55,4 @@ EOF exit 1 } -XDT_AUTOGEN_REQUIRED_VERSION="4.7.2" exec xdt-autogen $@ +XDT_AUTOGEN_REQUIRED_VERSION="4.7.2" exec "${xdt_autogen}" "$@" diff --git a/configure.in.in b/configure.in.in index e043134..d38a06f 100644 --- a/configure.in.in +++ b/configure.in.in @@ -1,6 +1,7 @@ # vi:set et ai sw=2 sts=2 ts=2: */ #- # Copyright (c) 2008-2011 Jannis Pohlmann <jan...@xfce.org> +# Copyright (c) 2012 Guido Berhoerster <guido+x...@berhoerster.name> # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License as @@ -26,25 +27,25 @@ m4_define([xfce4_mixer_version_micro], [0]) m4_define([xfce4_mixer_version_nano], []) dnl leave this empty to have no nano version m4_define([xfce4_mixer_version_build], [r@REVISION@]) m4_define([xfce4_mixer_version_tag], [git]) -m4_define([xfce4_mixer_version], [xfce4_mixer_version_major().xfce4_mixer_version_minor().xfce4_mixer_version_micro()ifelse(xfce4_mixer_version_nano(), [], [], [.xfce4_mixer_version_nano()])ifelse(xfce4_mixer_version_tag(), [svn], [xfce4_mixer_version_tag()-xfce4_mixer_version_build()], [xfce4_mixer_version_tag()])]) +m4_define([xfce4_mixer_version], [xfce4_mixer_version_major().xfce4_mixer_version_minor().xfce4_mixer_version_micro()ifelse(xfce4_mixer_version_nano(), [], [], [.xfce4_mixer_version_nano()])ifelse(xfce4_mixer_version_tag(), [git], [xfce4_mixer_version_tag()-xfce4_mixer_version_build()], [xfce4_mixer_version_tag()])]) dnl ******************************************* dnl *** Debugging support for SVN snapshots *** dnl ******************************************* -m4_define([mixer_debug_default], [ifelse(xfce4_mixer_version_tag(), [svn], [full], [minimum])]) +m4_define([mixer_debug_default], [ifelse(xfce4_mixer_version_tag(), [git], [full], [minimum])]) dnl *************************** dnl *** Initialize autoconf *** dnl *************************** -AC_COPYRIGHT([Copyright (c) 2008-2011 Jannis Pohlmann <jan...@xfce.org>.]) +AC_COPYRIGHT([Copyright (c) 2008-2011 Jannis Pohlmann <jan...@xfce.org>. +Copyright (c) 2012 Guido Berhoerster <guido+x...@berhoerster.name>.]) AC_INIT([xfce4-mixer], [xfce4_mixer_version], [http://bugzilla.xfce.org/], [xfce4-mixer]) -AC_REVISION([$Id$]) -AC_PREREQ([2.50]) +AC_PREREQ([2.60]) dnl *************************** dnl *** Initialize automake *** dnl *************************** -AM_INIT_AUTOMAKE([AC_PACKAGE_TARNAME()], [AC_PACKAGE_VERSION()]) +AM_INIT_AUTOMAKE([1.11 foreign check-news dist-bzip2 silent-rules tar-ustar]) AM_CONFIG_HEADER([config.h]) AM_MAINTAINER_MODE() @@ -52,7 +53,6 @@ dnl ******************************* dnl *** Check for UNIX variants *** dnl ******************************* AC_AIX() -AC_ISC_POSIX() AC_MINIX() dnl ******************************** @@ -67,8 +67,8 @@ AC_PROG_INTLTOOL() dnl ************************** dnl *** Initialize libtool *** dnl ************************** -AC_DISABLE_STATIC() -AC_PROG_LIBTOOL() +LT_PREREQ([2.4]) +LT_INIT ([disable-static]) dnl ********************************** dnl *** Check for standard headers *** diff --git a/panel-plugin/Makefile.am b/panel-plugin/Makefile.am index 358ea44..2d2bcbd 100644 --- a/panel-plugin/Makefile.am +++ b/panel-plugin/Makefile.am @@ -1,20 +1,17 @@ -# $Id$ -# # vi:set ts=8 sw=8 noet ai nocindent syntax=automake: -plugindir = $(libexecdir)/xfce4/panel-plugins +plugindir = $(libdir)/xfce4/panel/plugins -plugin_PROGRAMS = \ - xfce4-mixer-plugin +plugin_LTLIBRARIES = libmixer.la -xfce4_mixer_plugin_SOURCES = \ +libmixer_la_SOURCES = \ xfce-plugin-dialog.h \ xfce-plugin-dialog.c \ xfce-volume-button.h \ xfce-volume-button.c \ xfce-mixer-plugin.c -xfce4_mixer_plugin_CFLAGS = \ +libmixer_la_CFLAGS = \ -I$(top_builddir) \ -I$(top_srcdir) \ -DDATADIR=\"$(datadir)\" \ @@ -28,12 +25,18 @@ xfce4_mixer_plugin_CFLAGS = \ $(LIBXFCE4PANEL_CFLAGS) \ $(GST_PLUGINS_BASE_CFLAGS) -xfce4_mixer_plugin_DEPENDENCIES = \ +libmixer_la_DEPENDENCIES = \ $(top_builddir)/libxfce4mixer/libxfce4mixer.la -xfce4_mixer_plugin_LDFLAGS = \ +libmixer_la_LDFLAGS = \ + -avoid-version \ + -module \ + -no-undefined \ + -export-symbols-regex '^xfce_panel_module_(preinit|init|construct)' \ $(top_builddir)/libxfce4mixer/libxfce4mixer.la \ - $(PLATFORM_LDFLAGS) \ + $(PLATFORM_LDFLAGS) + +libmixer_la_LIBADD = \ $(GLIB_LIBS) \ $(GTK_LIBS) \ $(LIBXFCE4UTIL_LIBS) \ @@ -43,26 +46,15 @@ xfce4_mixer_plugin_LDFLAGS = \ -lgstaudio-0.10 \ -lgstinterfaces-0.10 -desktopdir = \ - $(datadir)/xfce4/panel-plugins - -desktop_in_in_files = \ - xfce4-mixer-plugin.desktop.in.in - -desktop_in_files = \ - $(desktop_in_in_files:.desktop.in.in=.desktop.in) +desktopdir = $(datadir)/xfce4/panel/plugins -%.desktop.in: %.desktop.in.in - sed -e "s,\@libexecdir\@,$(libexecdir),g" < $< > $@ +desktop_in_files = mixer.desktop.in desktop_DATA = \ $(desktop_in_files:.desktop.in=.desktop) @INTLTOOL_DESKTOP_RULE@ -EXTRA_DIST = \ - $(desktop_in_in_files) +EXTRA_DIST = $(desktop_in_files) -CLEANFILES = \ - $(desktop_in_files) \ - $(desktop_DATA) +CLEANFILES = $(desktop_DATA) diff --git a/panel-plugin/xfce4-mixer-plugin.desktop.in.in b/panel-plugin/mixer.desktop.in similarity index 69% rename from panel-plugin/xfce4-mixer-plugin.desktop.in.in rename to panel-plugin/mixer.desktop.in index e228c05..fb46a41 100644 --- a/panel-plugin/xfce4-mixer-plugin.desktop.in.in +++ b/panel-plugin/mixer.desktop.in @@ -3,5 +3,6 @@ Type=X-XFCE-PanelPlugin _Name=Mixer _Comment=Volume control for your sound card Icon=multimedia-volume-control -X-XFCE-Exec=@libexecdir@/xfce4/panel-plugins/xfce4-mixer-plugin +X-XFCE-Internal=false +X-XFCE-Module=mixer X-XFCE-Unique=false diff --git a/panel-plugin/xfce-mixer-plugin.c b/panel-plugin/xfce-mixer-plugin.c index d56d43f..e2470a0 100644 --- a/panel-plugin/xfce-mixer-plugin.c +++ b/panel-plugin/xfce-mixer-plugin.c @@ -113,7 +113,7 @@ static void xfce_mixer_plugin_set_command (XfceMixerPlugin *m /* Register the plugin */ -XFCE_PANEL_PLUGIN_REGISTER_EXTERNAL (xfce_mixer_plugin_construct); +XFCE_PANEL_PLUGIN_REGISTER (xfce_mixer_plugin_construct); diff --git a/xfce4-mixer/Makefile.am b/xfce4-mixer/Makefile.am index a869325..fd17aeb 100644 --- a/xfce4-mixer/Makefile.am +++ b/xfce4-mixer/Makefile.am @@ -1,4 +1,3 @@ -# $Id$ # vi:set ts=8 sw=8 noet ai nocindent syntax=automake: bin_PROGRAMS = \ @@ -47,26 +46,14 @@ xfce4_mixer_LDFLAGS = \ -lgstaudio-0.10 \ -lgstinterfaces-0.10 -# .desktop file -# -# Some automake trickery here. Because we cannot use $(libexecdir) in the -# automake stage, we'll use sed to get the full path into the .desktop file. -# We also need to let intltool merge the translated fields, so we add an -# additional level of indirection: a <name>.desktop.in.in file. -# -desktop_in_in_files = xfce4-mixer.desktop.in.in -desktop_in_files = $(desktop_in_in_files:.desktop.in.in=.desktop.in) +desktop_in_files = xfce4-mixer.desktop.in desktopdir = $(datadir)/applications desktop_DATA = $(desktop_in_files:.desktop.in=.desktop) @INTLTOOL_DESKTOP_RULE@ EXTRA_DIST = \ - $(desktop_in_in_files) + $(desktop_in_files) DISTCLEANFILES = \ - $(desktop_DATA) $(desktop_in_files) + $(desktop_DATA) -# Get full path into .desktop file -%.desktop.in: %.desktop.in.in - sed -e "s^@PLUGIN_PATH@^$(libexecdir)/applications^" \ - $< > $@ diff --git a/xfce4-mixer/xfce4-mixer.desktop.in.in b/xfce4-mixer/xfce4-mixer.desktop.in similarity index 100% rename from xfce4-mixer/xfce4-mixer.desktop.in.in rename to xfce4-mixer/xfce4-mixer.desktop.in _______________________________________________ Xfce4-commits mailing list Xfce4-commits@xfce.org https://mail.xfce.org/mailman/listinfo/xfce4-commits