uncommitted - vdr-plugin-xineliboutput

Ready changes

Summary

Import uploads missing from VCS:

Diff

diff --git a/.pc/.quilt_patches b/.pc/.quilt_patches
new file mode 100644
index 0000000..6857a8d
--- /dev/null
+++ b/.pc/.quilt_patches
@@ -0,0 +1 @@
+debian/patches
diff --git a/.pc/.quilt_series b/.pc/.quilt_series
new file mode 100644
index 0000000..c206706
--- /dev/null
+++ b/.pc/.quilt_series
@@ -0,0 +1 @@
+series
diff --git a/.pc/.version b/.pc/.version
new file mode 100644
index 0000000..0cfbf08
--- /dev/null
+++ b/.pc/.version
@@ -0,0 +1 @@
+2
diff --git a/.pc/applied-patches b/.pc/applied-patches
new file mode 100644
index 0000000..24cd223
--- /dev/null
+++ b/.pc/applied-patches
@@ -0,0 +1,3 @@
+disable-po-update.patch
+cppflags.patch
+cross.patch
diff --git a/.pc/cppflags.patch/Makefile b/.pc/cppflags.patch/Makefile
new file mode 100644
index 0000000..80d668e
--- /dev/null
+++ b/.pc/cppflags.patch/Makefile
@@ -0,0 +1,509 @@
+#
+# Makefile for a Video Disk Recorder plugin
+#
+# See the main source file 'xineliboutput.c' for copyright information and
+# how to reach the author.
+#
+# $Id$
+#
+
+# The official name of this plugin.
+# This name will be used in the '-P...' option of VDR to load the plugin.
+# By default the main source file also carries this name.
+
+PLUGIN = xineliboutput
+
+_default: all
+
+# Keep VDR Makefile happy - it requires $(LIBDIR)/.$(APIVERSION) somewhere in this file ...
+
+# check for Apple Darwin
+ARCH_APPLE_DARWIN = no
+ifeq ($(shell gcc -dumpmachine | grep -q 'apple-darwin' && echo "1" || echo "0"), 1)
+    ARCH_APPLE_DARWIN = yes
+endif
+
+#
+# Override configuration here or in ../../../Make.config
+#
+
+#NOSIGNAL_IMAGE_FILE=/usr/share/vdr/xineliboutput/nosignal.mpv
+#STARTUP_IMAGE_FILE=/usr/share/vdr/xineliboutput/logodisplay.mpv
+XINELIBOUTPUT_CONFIGURE_OPTS =
+
+
+###
+### The version number of this plugin (taken from the main source file):
+###
+
+VERSION = $(shell grep 'static const char \*VERSION *=' $(PLUGIN).c | cut -d'"' -f2)
+
+
+###
+### The C++ compiler and options:
+###
+
+CXX      ?= g++
+CC       ?= gcc 
+OPTFLAGS ?= 
+
+ifeq ($(ARCH_APPLE_DARWIN), yes)
+    CXXFLAGS   ?= -O3 -pipe -Wall -Woverloaded-virtual -fPIC -g -fno-common -bundle -flat_namespace -undefined suppress
+    CFLAGS     ?= -O3 -pipe -Wall -fPIC -g -fno-common -bundle -flat_namespace -undefined suppress
+    LDFLAGS_SO ?= -fvisibility=hidden
+else
+    CXXFLAGS   ?= -O3 -pipe -Wall -Woverloaded-virtual -fPIC -g
+    CFLAGS     ?= -O3 -pipe -Wall -fPIC -g
+    LDFLAGS_SO ?= -fvisibility=hidden
+    LDFLAGS_SO += -shared
+endif
+
+###
+### The directory environment:
+###
+
+# Use package data if installed...otherwise assume we're under the VDR source directory:
+PKGCFG = $(if $(VDRDIR),$(shell pkg-config --variable=$(1) $(VDRDIR)/vdr.pc),$(shell PKG_CONFIG_PATH="$$PKG_CONFIG_PATH:../../.." pkg-config --variable=$(1) vdr))
+BINDIR = $(call PKGCFG,bindir)
+LIBDIR = $(call PKGCFG,libdir)
+LOCDIR = $(call PKGCFG,locdir)
+PLGCFG = $(call PKGCFG,plgcfg)
+VIDEODIR = $(call PKGCFG,videodir)
+
+TMPDIR  ?= /tmp
+
+INSTALL ?= install
+
+###
+### Allow user defined options to overwrite defaults:
+###
+
+-include Make.config
+
+ifeq ($(strip $(BINDIR)),)
+  BINDIR = /usr/bin
+endif
+
+###
+### check for VDR
+###
+
+APIVERSION = $(call PKGCFG,apiversion)
+
+VDR_TREE = no
+ifeq ($(strip $(APIVERSION)),)
+    $(warning ********************************************************)
+    $(warning VDR not detected ! VDR plugins will not be compiled.    )
+    $(warning ********************************************************)
+    CONFIGURE_OPTS += --disable-vdr
+else
+    export CFLAGS   = $(call PKGCFG,cflags)
+    export CXXFLAGS = $(call PKGCFG,cxxflags)
+
+    ifeq ($(VDRDIR),)
+        $(warning Building outside VDR source tree)
+    else
+        $(warning Building inside VDR source tree)
+        VDR_TREE = yes
+    endif
+endif
+
+CFLAGS += -Wextra -Wno-unused-parameter -Wmissing-prototypes -Wimplicit-function-declaration -Wshadow
+CXXFLAGS += -Wextra -Wno-unused-parameter
+
+### Allow user defined options to overwrite defaults:
+-include $(PLGCFG)
+
+#
+# Silent rules falback
+#
+ifndef Q
+ifdef VERBOSE
+Q =
+else
+Q = @
+endif
+export Q
+endif
+
+###
+### run configure script
+###
+
+config.mak: Makefile configure
+	@echo Running configure
+	@sh configure --cc="$(CC)" --cxx="$(CXX)" $(CONFIGURE_OPTS) $(XINELIBOUTPUT_CONFIGURE_OPTS)
+-include config.mak
+
+###
+### The name of the distribution archive:
+###
+
+ARCHIVE = $(PLUGIN)-$(VERSION)
+PACKAGE = vdr-$(ARCHIVE)
+
+
+###
+### The name of executable and libraries
+###
+
+VDRPLUGIN            = libvdr-$(PLUGIN).so.$(APIVERSION)
+VDRPLUGIN_SXFE       = lib$(PLUGIN)-sxfe.so.$(VERSION)
+VDRPLUGIN_FBFE       = lib$(PLUGIN)-fbfe.so.$(VERSION)
+VDRPLUGIN_WLFE       = lib$(PLUGIN)-wlfe.so.$(VERSION)
+VDRSXFE              = vdr-sxfe
+VDRFBFE              = vdr-fbfe
+VDRWLFE              = vdr-wlfe
+XINEINPUTVDR         = xineplug_inp_xvdr.so
+XINEPOSTAUTOCROP     = xineplug_post_autocrop.so
+XINEPOSTSWSCALE      = xineplug_post_swscale.so
+XINEPOSTAUDIOCHANNEL = xineplug_post_audiochannel.so
+
+###
+### which programs and libs to build
+###
+
+TARGETS_VDR  =
+TARGETS_FE   =
+TARGETS_XINE =
+ifeq ($(XINELIBOUTPUT_VDRPLUGIN), yes)
+    TARGETS_VDR += $(VDRPLUGIN)
+endif
+ifeq ($(XINELIBOUTPUT_XINEPLUGIN), yes)
+    TARGETS_XINE += $(XINEINPUTVDR) $(XINEPOSTAUTOCROP) $(XINEPOSTSWSCALE) $(XINEPOSTAUDIOCHANNEL)
+endif
+ifeq ($(XINELIBOUTPUT_X11), yes)
+    TARGETS_FE += $(VDRSXFE)
+    ifeq ($(XINELIBOUTPUT_VDRPLUGIN), yes)
+        TARGETS_VDR += $(VDRPLUGIN_SXFE)
+    endif
+endif
+ifeq ($(XINELIBOUTPUT_FB), yes)
+    TARGETS_FE += $(VDRFBFE)
+    ifeq ($(XINELIBOUTPUT_VDRPLUGIN), yes)
+        TARGETS_VDR += $(VDRPLUGIN_FBFE)
+    endif
+endif
+ifeq ($(XINELIBOUTPUT_WAYLAND), yes)
+    TARGETS_FE += $(VDRWLFE)
+    ifeq ($(XINELIBOUTPUT_VDRPLUGIN), yes)
+        TARGETS_VDR += $(VDRPLUGIN_WLFE)
+    endif
+endif
+
+
+###
+### Includes and Defines (add further entries here):
+###
+
+ifeq ($(ARCH_APPLE_DARWIN), yes)
+    INCLUDES  += -I/sw/include
+    LIBDIRS   += -L/sw/lib
+    LIBS      += $(LIBDIRS)
+else
+    LIBS      += -lrt
+endif
+
+DEFINES   += -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"$(PLUGIN)"' \
+             -D_REENTRANT -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 \
+	     -DVIDEODIR='"$(VIDEODIR)"' -DXINELIBOUTPUT_VERSION='"$(VERSION)"'
+
+ifdef NOSIGNAL_IMAGE_FILE
+  DEFINES += -DNOSIGNAL_IMAGE_FILE='"$(NOSIGNAL_IMAGE_FILE)"'
+endif
+ifdef STARTUP_IMAGE_FILE
+  DEFINES += -DSTARTUP_IMAGE_FILE='"$(STARTUP_IMAGE_FILE)"'
+endif
+
+DEFINES += $(EXTRA_DEFINES)
+
+###
+### The object files (add further files here):
+###
+
+# VDR plugin
+ifeq ($(XINELIBOUTPUT_VDRPLUGIN), yes)
+OBJS = $(PLUGIN).o device.o frontend.o osd.o config.o menu.o setup_menu.o \
+       menuitems.o media_player.o equalizer.o \
+       frontend_local.o frontend_svr.o tools/avahi.o \
+       tools/cxsocket.o tools/udp_pes_scheduler.o \
+       tools/backgroundwriter.o tools/playlist.o tools/http.o \
+       tools/time_pts.o tools.o \
+       tools/metainfo_menu.o logdefs.o tools/rle.o \
+       tools/sys_cap.o tools/sap.o tools/sdp.o
+OBJS_MPG = black_720x576.o nosignal_720x576.o vdrlogo_720x576.o
+endif
+
+# frontends
+OBJS_FE_SO = xine_frontend.o logdefs.o \
+             xine/post.o xine/vo_hook.o xine/vo_osdscaler.o xine/vo_osdreorder.o xine/vo_lastpts.o \
+             xine/vo_frameoutput.o \
+             tools/rle.o
+OBJS_FE    = $(OBJS_FE_SO) \
+             xine_frontend_main.o \
+             xine_frontend_lirc.o xine_frontend_kbd.o xine_frontend_cec.o \
+             tools/vdrdiscovery.o
+OBJS_SXFE_SO = xine_sxfe_frontend.o $(OBJS_FE_SO)
+OBJS_SXFE    = xine_sxfe_frontend.o $(OBJS_FE)
+OBJS_FBFE_SO = xine_fbfe_frontend.o $(OBJS_FE_SO)
+OBJS_FBFE    = xine_fbfe_frontend.o $(OBJS_FE)
+OBJS_WLFE_SO = xine_wlfe_frontend.o $(OBJS_FE_SO)
+OBJS_WLFE    = xine_wlfe_frontend.o $(OBJS_FE)
+
+ifneq ($(HAVE_DBUS_GLIB_1), no)
+OBJS_SXFE    += tools/gnome_screensaver.o
+OBJS_SXFE_SO += tools/gnome_screensaver.o
+endif
+
+# xine plugins
+OBJS_XINEINPUTVDR = xine_input_vdr.o xine/demux_xvdr.o \
+                    xine/ts2es.o xine/demux_xvdr_tsdata.o \
+                    xine/adjustable_scr.o xine/xvdr_metronom.o xine/osd_manager.o \
+                    tools/rle.o tools/ts.o tools/pes.o tools/mpeg.o tools/h264.o tools/h265.o \
+                    tools/vdrdiscovery.o
+
+OBJS_XINE = $(OBJS_XINEINPUTVDR) xine_post_autocrop.o xine_post_swscale.o xine_post_audiochannel.o
+
+###
+### Implicit rules:
+###
+
+%.o: %.c
+	@echo CXX $@
+	$(Q)$(CXX) $(CXXFLAGS) -c $(DEFINES) $(INCLUDES) $(CFLAGS_VDR) -o $@ $<
+
+
+###
+### Dependencies:
+###
+
+MAKEDEP = $(CXX) -MM -MG
+DEPFILE = .dependencies
+$(DEPFILE): Makefile config.mak
+	@rm -f $@
+	@for i in $(OBJS:%.o=%.c) $(OBJS_SXFE:%.o=%.c) $(OBJS_FBFE:%.o=%.c) $(OBJS_WLFE:%.o=%.c) $(OBJS_XINE:%.o=%.c) ; do \
+	  $(MAKEDEP) $(CXXFLAGS) $(DEFINES) $(INCLUDES) -MT "`dirname $$i`/`basename $$i .c`.o" $$i >>$@ ; \
+	done
+
+-include $(DEPFILE)
+
+DEFINES += -Wall
+
+
+###
+### Rules:
+###
+
+mpg2c: mpg2c.c
+	@echo CCLD $@
+	$(Q)$(CC) $(CFLAGS) $(LDFLAGS) mpg2c.c -o $@
+
+# data
+black_720x576.c: mpg2c black_720x576.mpg
+	@echo GEN $@
+	$(Q)./mpg2c black black_720x576.mpg black_720x576.c
+nosignal_720x576.c: mpg2c nosignal_720x576.mpg
+	@echo GEN $@
+	$(Q)./mpg2c nosignal nosignal_720x576.mpg nosignal_720x576.c
+vdrlogo_720x576.c: mpg2c vdrlogo_720x576.mpg
+	@echo GEN $@
+	$(Q)./mpg2c vdrlogo vdrlogo_720x576.mpg vdrlogo_720x576.c
+
+# C code (xine plugins and frontends)
+
+xine_input_vdr.o: nosignal_720x576.c
+
+$(sort $(OBJS_SXFE) $(OBJS_FBFE) $(OBJS_WLFE) $(OBJS_XINE)): %.o: %.c
+	@echo CC $@
+	$(Q)$(CC) $(CFLAGS) -c $(DEFINES) $(INCLUDES) $(CFLAGS_X11) $(CFLAGS_WAYLAND) $(CFLAGS_AVUTIL) $(OPTFLAGS) -o $@ $<
+
+### Internationalization (I18N):
+PODIR     = po
+ifeq ($(XINELIBOUTPUT_VDRPLUGIN), yes)
+I18Npo    = $(wildcard $(PODIR)/*.po)
+I18Nmo    = $(addsuffix .mo, $(foreach file, $(I18Npo), $(basename $(file))))
+I18Nmsgs  = $(addprefix $(DESTDIR)$(LOCDIR)/, $(addsuffix /LC_MESSAGES/vdr-$(PLUGIN).mo, $(notdir $(foreach file, $(I18Npo), $(basename $(file))))))
+I18Npot   = $(PODIR)/$(PLUGIN).pot
+
+%.mo: %.po
+	@echo MO $@
+	$(Q)msgfmt -c -o $@ $<
+
+$(I18Npot): $(wildcard *.c)
+	@echo GT $@
+	$(Q)xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --package-name=vdr-$(PLUGIN) --package-version=$(VERSION) --msgid-bugs-address='<phintuka@users.sourceforge.net>' -o $@ `ls $^`
+
+#%.po: $(I18Npot)
+#	@echo PO $@
+#	$(Q)msgmerge -U --no-wrap --no-location --backup=none -q -N $@ $<
+#	@touch $@
+
+$(I18Nmsgs): $(DESTDIR)$(LOCDIR)/%/LC_MESSAGES/vdr-$(PLUGIN).mo: $(PODIR)/%.mo
+	@echo INSTALL $^
+	@install -D -m644 $< $@
+endif
+
+.PHONY: i18n
+i18n: $(I18Nmo) $(I18Npot)
+
+install-i18n: $(I18Nmsgs)
+
+###
+### targets
+###
+
+XINELIBOUTPUT_INSTALL_MSG =  \
+	    $(warning *********************** xineliboutput ***************************) \
+	    $(warning  Xine plugins and frontends will not be installed automatically. ) \
+	    $(warning  To install files execute "make install" in                      ) \
+	    $(warning  $(shell echo `pwd`)) \
+	    $(warning *****************************************************************)
+
+install : XINELIBOUTPUT_INSTALL_MSG =
+
+.PHONY: all
+all: config $(TARGETS_VDR) frontends i18n
+
+frontends: config $(TARGETS_FE) $(TARGETS_XINE)
+	$(XINELIBOUTPUT_INSTALL_MSG)
+
+config: config.mak
+
+.PHONY: config 
+
+.PHONY: frontends install dist clean
+
+#
+# VDR plugin
+#
+
+$(VDRPLUGIN): $(OBJS) $(OBJS_MPG)
+	@echo LD $@
+	$(Q)$(CXX) $(CXXFLAGS) $(LDFLAGS_SO) $(LDFLAGS) -shared $(OBJS) $(OBJS_MPG) $(LIBS) $(LIBS_VDR) -o $@
+ifeq ($(VDR_TREE), yes)
+	$(INSTALL) $@ $(LIBDIR)/
+endif
+
+install-lib: $(TARGETS_VDR)
+ifeq ($(XINELIBOUTPUT_VDRPLUGIN), yes)
+	@echo INSTALL $^
+	@mkdir -p $(DESTDIR)$(LIBDIR)
+	install -D $^ $(DESTDIR)$(LIBDIR)/
+endif
+
+install: install-lib install-i18n
+
+#
+# vdr-sxfe
+#
+
+$(VDRPLUGIN_SXFE): $(OBJS_SXFE_SO)
+	@echo LD $@
+	$(Q)$(CC) $(CFLAGS) $(LDFLAGS_SO) $(LDFLAGS) $(OBJS_SXFE_SO) $(LIBS_X11) $(LIBS_XINE) $(LIBS_JPEG) -o $@
+ifeq ($(VDR_TREE), yes)
+	$(INSTALL) $@ $(LIBDIR)/
+endif
+$(VDRSXFE): $(OBJS_SXFE)
+	@echo LD $@
+	$(Q)$(CC) $(CFLAGS) $(LDFLAGS) $(OBJS_SXFE) $(LIBS_X11) $(LIBS_XINE) $(LIBS_JPEG) $(LIBS_CEC) $(LIBS_PTHREAD) -o $@
+
+#
+# vdr-wlfe
+#
+
+$(VDRPLUGIN_WLFE): $(OBJS_WLFE_SO)
+	@echo LD $@
+	$(Q)$(CC) $(CFLAGS) $(LDFLAGS_SO) $(LDFLAGS) $(OBJS_WLFE_SO) $(LIBS_WAYLAND) $(LIBS_XINE) $(LIBS_JPEG) -o $@
+ifeq ($(VDR_TREE), yes)
+	$(INSTALL) $@ $(LIBDIR)/
+endif
+$(VDRWLFE): $(OBJS_WLFE)
+	@echo LD $@
+	$(Q)$(CC) $(CFLAGS) $(LDFLAGS) $(OBJS_WLFE) $(LIBS_WAYLAND) $(LIBS_XINE) $(LIBS_JPEG) $(LIBS_CEC) $(LIBS_PTHREAD) -o $@
+
+#
+# vdr-fbfe
+#
+
+$(VDRPLUGIN_FBFE): $(OBJS_FBFE_SO)
+	@echo LD $@
+	$(Q)$(CC) $(CFLAGS) $(LDFLAGS_SO) $(LDFLAGS) $(OBJS_FBFE_SO) $(LIBS_XINE) $(LIBS_JPEG) -o $@
+ifeq ($(VDR_TREE), yes)
+	$(INSTALL) $@ $(LIBDIR)/
+endif
+$(VDRFBFE): $(OBJS_FBFE)
+	@echo LD $@
+	$(Q)$(CC) $(CFLAGS) $(LDFLAGS) $(OBJS_FBFE) $(LIBS_XINE) $(LIBS_JPEG) $(LIBS_CEC) $(LIBS_PTHREAD) -o $@
+
+#
+# xine plugins
+#
+
+$(XINEINPUTVDR): $(OBJS_XINEINPUTVDR)
+	@echo LD $@
+	$(Q)$(CC) $(CFLAGS) $(LDFLAGS_SO) $(LDFLAGS) $(OBJS_XINEINPUTVDR) $(LIBS_XINE) $(LIBS_AVUTIL) $(LIBS_PTHREAD) -o $@
+$(XINEPOSTAUTOCROP): xine_post_autocrop.o
+	@echo LD $@
+	$(Q)$(CC) $(CFLAGS) $(LDFLAGS_SO) $(LDFLAGS) $< -o $@ $(LIBS_XINE)
+$(XINEPOSTSWSCALE): xine_post_swscale.o
+	@echo LD $@
+	$(Q)$(CC) $(CFLAGS) $(LDFLAGS_SO) $(LDFLAGS) $< -o $@ $(LIBS_XINE)
+$(XINEPOSTAUDIOCHANNEL): xine_post_audiochannel.o
+	@echo LD $@
+	$(Q)$(CC) $(CFLAGS) $(LDFLAGS_SO) $(LDFLAGS) $< -o $@ $(LIBS_XINE)
+
+#
+# install
+#
+
+install: all
+ifeq ($(XINELIBOUTPUT_XINEPLUGIN), yes)
+	@mkdir -p $(DESTDIR)$(XINEPLUGINDIR)/post
+	@echo INSTALL $(DESTDIR)$(XINEPLUGINDIR)/$(XINEINPUTVDR)
+	@-rm -rf $(DESTDIR)$(XINEPLUGINDIR)/$(XINEINPUTVDR)
+	@$(INSTALL) -m 0644 $(XINEINPUTVDR) $(DESTDIR)$(XINEPLUGINDIR)/$(XINEINPUTVDR)
+	@echo INSTALL $(DESTDIR)$(XINEPLUGINDIR)/post/$(XINEPOSTAUTOCROP)
+	@-rm -rf $(DESTDIR)$(XINEPLUGINDIR)/post/$(XINEPOSTAUTOCROP)
+	@$(INSTALL) -m 0644 $(XINEPOSTAUTOCROP) $(DESTDIR)$(XINEPLUGINDIR)/post/$(XINEPOSTAUTOCROP)
+	@echo INSTALL $(DESTDIR)$(XINEPLUGINDIR)/post/$(XINEPOSTSWSCALE)
+	@-rm -rf $(DESTDIR)$(XINEPLUGINDIR)/post/$(XINEPOSTSWSCALE)
+	@$(INSTALL) -m 0644 $(XINEPOSTSWSCALE) $(DESTDIR)$(XINEPLUGINDIR)/post/$(XINEPOSTSWSCALE)
+	@echo INSTALL $(DESTDIR)$(XINEPLUGINDIR)/post/$(XINEPOSTAUDIOCHANNEL)
+	@-rm -rf $(DESTDIR)$(XINEPLUGINDIR)/post/$(XINEPOSTAUDIOCHANNEL)
+	@$(INSTALL) -m 0644 $(XINEPOSTAUDIOCHANNEL) $(DESTDIR)$(XINEPLUGINDIR)/post/$(XINEPOSTAUDIOCHANNEL)
+endif
+ifeq ($(XINELIBOUTPUT_FB), yes)
+	@echo INSTALL $(DESTDIR)$(BINDIR)/vdr-fbfe
+	@mkdir -p $(DESTDIR)$(BINDIR)
+	@-rm -rf $(DESTDIR)$(BINDIR)/vdr-fbfe
+	@$(INSTALL) -m 0755 vdr-fbfe $(DESTDIR)$(BINDIR)/vdr-fbfe
+endif
+ifeq ($(XINELIBOUTPUT_X11), yes)
+	@echo INSTALL $(DESTDIR)$(BINDIR)/vdr-sxfe
+	@mkdir -p $(DESTDIR)$(BINDIR)
+	@-rm -rf $(DESTDIR)$(BINDIR)/vdr-sxfe
+	@$(INSTALL) -m 0755 vdr-sxfe $(DESTDIR)$(BINDIR)/vdr-sxfe
+endif
+ifeq ($(XINELIBOUTPUT_WAYLAND), yes)
+	@echo Installing $(DESTDIR)$(BINDIR)/vdr-wlfe
+	@mkdir -p $(DESTDIR)$(BINDIR)
+	@-rm -rf $(DESTDIR)$(BINDIR)/vdr-wlfe
+	@$(INSTALL) -m 0755 vdr-wlfe $(DESTDIR)$(BINDIR)/vdr-wlfe
+endif
+
+dist: $(I18Npo) clean
+	@-rm -rf $(TMPDIR)/$(ARCHIVE)
+	@mkdir $(TMPDIR)/$(ARCHIVE)
+	@cp -a * $(TMPDIR)/$(ARCHIVE)
+	@tar czf $(PACKAGE).tgz --exclude=CVS -C $(TMPDIR) $(ARCHIVE)
+	@-rm -rf $(TMPDIR)/$(ARCHIVE)
+	@echo Distribution package created as $(PACKAGE).tgz
+
+
+clean:
+	@-rm -f $(DEPFILE) *.so* *.o *.tgz core* *~ *.flc *.bak \
+		tools/*.o tools/*~ tools/*.flc xine/*.o xine/*~ \
+		xine/*.flc $(VDR_FBFE) $(VDR_WLFE) $(VDR_SXFE) mpg2c black_720x576.c \
+		nosignal_720x576.c vdrlogo_720x576.c vdr-sxfe vdr-fbfe vdr-wlfe \
+		features.h config.mak configure.log
+	@-rm -f $(PODIR)/*.mo $(PODIR)/*.pot
diff --git a/.pc/cross.patch/Makefile b/.pc/cross.patch/Makefile
new file mode 100644
index 0000000..3ab61c5
--- /dev/null
+++ b/.pc/cross.patch/Makefile
@@ -0,0 +1,509 @@
+#
+# Makefile for a Video Disk Recorder plugin
+#
+# See the main source file 'xineliboutput.c' for copyright information and
+# how to reach the author.
+#
+# $Id$
+#
+
+# The official name of this plugin.
+# This name will be used in the '-P...' option of VDR to load the plugin.
+# By default the main source file also carries this name.
+
+PLUGIN = xineliboutput
+
+_default: all
+
+# Keep VDR Makefile happy - it requires $(LIBDIR)/.$(APIVERSION) somewhere in this file ...
+
+# check for Apple Darwin
+ARCH_APPLE_DARWIN = no
+ifeq ($(shell gcc -dumpmachine | grep -q 'apple-darwin' && echo "1" || echo "0"), 1)
+    ARCH_APPLE_DARWIN = yes
+endif
+
+#
+# Override configuration here or in ../../../Make.config
+#
+
+#NOSIGNAL_IMAGE_FILE=/usr/share/vdr/xineliboutput/nosignal.mpv
+#STARTUP_IMAGE_FILE=/usr/share/vdr/xineliboutput/logodisplay.mpv
+XINELIBOUTPUT_CONFIGURE_OPTS =
+
+
+###
+### The version number of this plugin (taken from the main source file):
+###
+
+VERSION = $(shell grep 'static const char \*VERSION *=' $(PLUGIN).c | cut -d'"' -f2)
+
+
+###
+### The C++ compiler and options:
+###
+
+CXX      ?= g++
+CC       ?= gcc 
+OPTFLAGS ?= 
+
+ifeq ($(ARCH_APPLE_DARWIN), yes)
+    CXXFLAGS   ?= -O3 -pipe -Wall -Woverloaded-virtual -fPIC -g -fno-common -bundle -flat_namespace -undefined suppress
+    CFLAGS     ?= -O3 -pipe -Wall -fPIC -g -fno-common -bundle -flat_namespace -undefined suppress
+    LDFLAGS_SO ?= -fvisibility=hidden
+else
+    CXXFLAGS   ?= -O3 -pipe -Wall -Woverloaded-virtual -fPIC -g
+    CFLAGS     ?= -O3 -pipe -Wall -fPIC -g
+    LDFLAGS_SO ?= -fvisibility=hidden
+    LDFLAGS_SO += -shared
+endif
+
+###
+### The directory environment:
+###
+
+# Use package data if installed...otherwise assume we're under the VDR source directory:
+PKGCFG = $(if $(VDRDIR),$(shell pkg-config --variable=$(1) $(VDRDIR)/vdr.pc),$(shell PKG_CONFIG_PATH="$$PKG_CONFIG_PATH:../../.." pkg-config --variable=$(1) vdr))
+BINDIR = $(call PKGCFG,bindir)
+LIBDIR = $(call PKGCFG,libdir)
+LOCDIR = $(call PKGCFG,locdir)
+PLGCFG = $(call PKGCFG,plgcfg)
+VIDEODIR = $(call PKGCFG,videodir)
+
+TMPDIR  ?= /tmp
+
+INSTALL ?= install
+
+###
+### Allow user defined options to overwrite defaults:
+###
+
+-include Make.config
+
+ifeq ($(strip $(BINDIR)),)
+  BINDIR = /usr/bin
+endif
+
+###
+### check for VDR
+###
+
+APIVERSION = $(call PKGCFG,apiversion)
+
+VDR_TREE = no
+ifeq ($(strip $(APIVERSION)),)
+    $(warning ********************************************************)
+    $(warning VDR not detected ! VDR plugins will not be compiled.    )
+    $(warning ********************************************************)
+    CONFIGURE_OPTS += --disable-vdr
+else
+    export CFLAGS   = $(call PKGCFG,cflags)
+    export CXXFLAGS = $(call PKGCFG,cxxflags)
+
+    ifeq ($(VDRDIR),)
+        $(warning Building outside VDR source tree)
+    else
+        $(warning Building inside VDR source tree)
+        VDR_TREE = yes
+    endif
+endif
+
+CFLAGS += -Wextra -Wno-unused-parameter -Wmissing-prototypes -Wimplicit-function-declaration -Wshadow
+CXXFLAGS += -Wextra -Wno-unused-parameter
+
+### Allow user defined options to overwrite defaults:
+-include $(PLGCFG)
+
+#
+# Silent rules falback
+#
+ifndef Q
+ifdef VERBOSE
+Q =
+else
+Q = @
+endif
+export Q
+endif
+
+###
+### run configure script
+###
+
+config.mak: Makefile configure
+	@echo Running configure
+	@sh configure --cc="$(CC)" --cxx="$(CXX)" $(CONFIGURE_OPTS) $(XINELIBOUTPUT_CONFIGURE_OPTS)
+-include config.mak
+
+###
+### The name of the distribution archive:
+###
+
+ARCHIVE = $(PLUGIN)-$(VERSION)
+PACKAGE = vdr-$(ARCHIVE)
+
+
+###
+### The name of executable and libraries
+###
+
+VDRPLUGIN            = libvdr-$(PLUGIN).so.$(APIVERSION)
+VDRPLUGIN_SXFE       = lib$(PLUGIN)-sxfe.so.$(VERSION)
+VDRPLUGIN_FBFE       = lib$(PLUGIN)-fbfe.so.$(VERSION)
+VDRPLUGIN_WLFE       = lib$(PLUGIN)-wlfe.so.$(VERSION)
+VDRSXFE              = vdr-sxfe
+VDRFBFE              = vdr-fbfe
+VDRWLFE              = vdr-wlfe
+XINEINPUTVDR         = xineplug_inp_xvdr.so
+XINEPOSTAUTOCROP     = xineplug_post_autocrop.so
+XINEPOSTSWSCALE      = xineplug_post_swscale.so
+XINEPOSTAUDIOCHANNEL = xineplug_post_audiochannel.so
+
+###
+### which programs and libs to build
+###
+
+TARGETS_VDR  =
+TARGETS_FE   =
+TARGETS_XINE =
+ifeq ($(XINELIBOUTPUT_VDRPLUGIN), yes)
+    TARGETS_VDR += $(VDRPLUGIN)
+endif
+ifeq ($(XINELIBOUTPUT_XINEPLUGIN), yes)
+    TARGETS_XINE += $(XINEINPUTVDR) $(XINEPOSTAUTOCROP) $(XINEPOSTSWSCALE) $(XINEPOSTAUDIOCHANNEL)
+endif
+ifeq ($(XINELIBOUTPUT_X11), yes)
+    TARGETS_FE += $(VDRSXFE)
+    ifeq ($(XINELIBOUTPUT_VDRPLUGIN), yes)
+        TARGETS_VDR += $(VDRPLUGIN_SXFE)
+    endif
+endif
+ifeq ($(XINELIBOUTPUT_FB), yes)
+    TARGETS_FE += $(VDRFBFE)
+    ifeq ($(XINELIBOUTPUT_VDRPLUGIN), yes)
+        TARGETS_VDR += $(VDRPLUGIN_FBFE)
+    endif
+endif
+ifeq ($(XINELIBOUTPUT_WAYLAND), yes)
+    TARGETS_FE += $(VDRWLFE)
+    ifeq ($(XINELIBOUTPUT_VDRPLUGIN), yes)
+        TARGETS_VDR += $(VDRPLUGIN_WLFE)
+    endif
+endif
+
+
+###
+### Includes and Defines (add further entries here):
+###
+
+ifeq ($(ARCH_APPLE_DARWIN), yes)
+    INCLUDES  += -I/sw/include
+    LIBDIRS   += -L/sw/lib
+    LIBS      += $(LIBDIRS)
+else
+    LIBS      += -lrt
+endif
+
+DEFINES   += -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"$(PLUGIN)"' \
+             -D_REENTRANT -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 \
+	     -DVIDEODIR='"$(VIDEODIR)"' -DXINELIBOUTPUT_VERSION='"$(VERSION)"'
+
+ifdef NOSIGNAL_IMAGE_FILE
+  DEFINES += -DNOSIGNAL_IMAGE_FILE='"$(NOSIGNAL_IMAGE_FILE)"'
+endif
+ifdef STARTUP_IMAGE_FILE
+  DEFINES += -DSTARTUP_IMAGE_FILE='"$(STARTUP_IMAGE_FILE)"'
+endif
+
+DEFINES += $(EXTRA_DEFINES)
+
+###
+### The object files (add further files here):
+###
+
+# VDR plugin
+ifeq ($(XINELIBOUTPUT_VDRPLUGIN), yes)
+OBJS = $(PLUGIN).o device.o frontend.o osd.o config.o menu.o setup_menu.o \
+       menuitems.o media_player.o equalizer.o \
+       frontend_local.o frontend_svr.o tools/avahi.o \
+       tools/cxsocket.o tools/udp_pes_scheduler.o \
+       tools/backgroundwriter.o tools/playlist.o tools/http.o \
+       tools/time_pts.o tools.o \
+       tools/metainfo_menu.o logdefs.o tools/rle.o \
+       tools/sys_cap.o tools/sap.o tools/sdp.o
+OBJS_MPG = black_720x576.o nosignal_720x576.o vdrlogo_720x576.o
+endif
+
+# frontends
+OBJS_FE_SO = xine_frontend.o logdefs.o \
+             xine/post.o xine/vo_hook.o xine/vo_osdscaler.o xine/vo_osdreorder.o xine/vo_lastpts.o \
+             xine/vo_frameoutput.o \
+             tools/rle.o
+OBJS_FE    = $(OBJS_FE_SO) \
+             xine_frontend_main.o \
+             xine_frontend_lirc.o xine_frontend_kbd.o xine_frontend_cec.o \
+             tools/vdrdiscovery.o
+OBJS_SXFE_SO = xine_sxfe_frontend.o $(OBJS_FE_SO)
+OBJS_SXFE    = xine_sxfe_frontend.o $(OBJS_FE)
+OBJS_FBFE_SO = xine_fbfe_frontend.o $(OBJS_FE_SO)
+OBJS_FBFE    = xine_fbfe_frontend.o $(OBJS_FE)
+OBJS_WLFE_SO = xine_wlfe_frontend.o $(OBJS_FE_SO)
+OBJS_WLFE    = xine_wlfe_frontend.o $(OBJS_FE)
+
+ifneq ($(HAVE_DBUS_GLIB_1), no)
+OBJS_SXFE    += tools/gnome_screensaver.o
+OBJS_SXFE_SO += tools/gnome_screensaver.o
+endif
+
+# xine plugins
+OBJS_XINEINPUTVDR = xine_input_vdr.o xine/demux_xvdr.o \
+                    xine/ts2es.o xine/demux_xvdr_tsdata.o \
+                    xine/adjustable_scr.o xine/xvdr_metronom.o xine/osd_manager.o \
+                    tools/rle.o tools/ts.o tools/pes.o tools/mpeg.o tools/h264.o tools/h265.o \
+                    tools/vdrdiscovery.o
+
+OBJS_XINE = $(OBJS_XINEINPUTVDR) xine_post_autocrop.o xine_post_swscale.o xine_post_audiochannel.o
+
+###
+### Implicit rules:
+###
+
+%.o: %.c
+	@echo CXX $@
+	$(Q)$(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $(DEFINES) $(INCLUDES) $(CFLAGS_VDR) -o $@ $<
+
+
+###
+### Dependencies:
+###
+
+MAKEDEP = $(CXX) -MM -MG
+DEPFILE = .dependencies
+$(DEPFILE): Makefile config.mak
+	@rm -f $@
+	@for i in $(OBJS:%.o=%.c) $(OBJS_SXFE:%.o=%.c) $(OBJS_FBFE:%.o=%.c) $(OBJS_WLFE:%.o=%.c) $(OBJS_XINE:%.o=%.c) ; do \
+	  $(MAKEDEP) $(CPPFLAGS) $(CXXFLAGS) $(DEFINES) $(INCLUDES) -MT "`dirname $$i`/`basename $$i .c`.o" $$i >>$@ ; \
+	done
+
+-include $(DEPFILE)
+
+DEFINES += -Wall
+
+
+###
+### Rules:
+###
+
+mpg2c: mpg2c.c
+	@echo CCLD $@
+	$(Q)$(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) mpg2c.c -o $@
+
+# data
+black_720x576.c: mpg2c black_720x576.mpg
+	@echo GEN $@
+	$(Q)./mpg2c black black_720x576.mpg black_720x576.c
+nosignal_720x576.c: mpg2c nosignal_720x576.mpg
+	@echo GEN $@
+	$(Q)./mpg2c nosignal nosignal_720x576.mpg nosignal_720x576.c
+vdrlogo_720x576.c: mpg2c vdrlogo_720x576.mpg
+	@echo GEN $@
+	$(Q)./mpg2c vdrlogo vdrlogo_720x576.mpg vdrlogo_720x576.c
+
+# C code (xine plugins and frontends)
+
+xine_input_vdr.o: nosignal_720x576.c
+
+$(sort $(OBJS_SXFE) $(OBJS_FBFE) $(OBJS_WLFE) $(OBJS_XINE)): %.o: %.c
+	@echo CC $@
+	$(Q)$(CC) $(CPPFLAGS) $(CFLAGS) -c $(DEFINES) $(INCLUDES) $(CFLAGS_X11) $(CFLAGS_WAYLAND) $(CFLAGS_AVUTIL) $(OPTFLAGS) -o $@ $<
+
+### Internationalization (I18N):
+PODIR     = po
+ifeq ($(XINELIBOUTPUT_VDRPLUGIN), yes)
+I18Npo    = $(wildcard $(PODIR)/*.po)
+I18Nmo    = $(addsuffix .mo, $(foreach file, $(I18Npo), $(basename $(file))))
+I18Nmsgs  = $(addprefix $(DESTDIR)$(LOCDIR)/, $(addsuffix /LC_MESSAGES/vdr-$(PLUGIN).mo, $(notdir $(foreach file, $(I18Npo), $(basename $(file))))))
+I18Npot   = $(PODIR)/$(PLUGIN).pot
+
+%.mo: %.po
+	@echo MO $@
+	$(Q)msgfmt -c -o $@ $<
+
+$(I18Npot): $(wildcard *.c)
+	@echo GT $@
+	$(Q)xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --package-name=vdr-$(PLUGIN) --package-version=$(VERSION) --msgid-bugs-address='<phintuka@users.sourceforge.net>' -o $@ `ls $^`
+
+#%.po: $(I18Npot)
+#	@echo PO $@
+#	$(Q)msgmerge -U --no-wrap --no-location --backup=none -q -N $@ $<
+#	@touch $@
+
+$(I18Nmsgs): $(DESTDIR)$(LOCDIR)/%/LC_MESSAGES/vdr-$(PLUGIN).mo: $(PODIR)/%.mo
+	@echo INSTALL $^
+	@install -D -m644 $< $@
+endif
+
+.PHONY: i18n
+i18n: $(I18Nmo) $(I18Npot)
+
+install-i18n: $(I18Nmsgs)
+
+###
+### targets
+###
+
+XINELIBOUTPUT_INSTALL_MSG =  \
+	    $(warning *********************** xineliboutput ***************************) \
+	    $(warning  Xine plugins and frontends will not be installed automatically. ) \
+	    $(warning  To install files execute "make install" in                      ) \
+	    $(warning  $(shell echo `pwd`)) \
+	    $(warning *****************************************************************)
+
+install : XINELIBOUTPUT_INSTALL_MSG =
+
+.PHONY: all
+all: config $(TARGETS_VDR) frontends i18n
+
+frontends: config $(TARGETS_FE) $(TARGETS_XINE)
+	$(XINELIBOUTPUT_INSTALL_MSG)
+
+config: config.mak
+
+.PHONY: config 
+
+.PHONY: frontends install dist clean
+
+#
+# VDR plugin
+#
+
+$(VDRPLUGIN): $(OBJS) $(OBJS_MPG)
+	@echo LD $@
+	$(Q)$(CXX) $(CXXFLAGS) $(LDFLAGS_SO) $(LDFLAGS) -shared $(OBJS) $(OBJS_MPG) $(LIBS) $(LIBS_VDR) -o $@
+ifeq ($(VDR_TREE), yes)
+	$(INSTALL) $@ $(LIBDIR)/
+endif
+
+install-lib: $(TARGETS_VDR)
+ifeq ($(XINELIBOUTPUT_VDRPLUGIN), yes)
+	@echo INSTALL $^
+	@mkdir -p $(DESTDIR)$(LIBDIR)
+	install -D $^ $(DESTDIR)$(LIBDIR)/
+endif
+
+install: install-lib install-i18n
+
+#
+# vdr-sxfe
+#
+
+$(VDRPLUGIN_SXFE): $(OBJS_SXFE_SO)
+	@echo LD $@
+	$(Q)$(CC) $(CFLAGS) $(LDFLAGS_SO) $(LDFLAGS) $(OBJS_SXFE_SO) $(LIBS_X11) $(LIBS_XINE) $(LIBS_JPEG) -o $@
+ifeq ($(VDR_TREE), yes)
+	$(INSTALL) $@ $(LIBDIR)/
+endif
+$(VDRSXFE): $(OBJS_SXFE)
+	@echo LD $@
+	$(Q)$(CC) $(CFLAGS) $(LDFLAGS) $(OBJS_SXFE) $(LIBS_X11) $(LIBS_XINE) $(LIBS_JPEG) $(LIBS_CEC) $(LIBS_PTHREAD) -o $@
+
+#
+# vdr-wlfe
+#
+
+$(VDRPLUGIN_WLFE): $(OBJS_WLFE_SO)
+	@echo LD $@
+	$(Q)$(CC) $(CFLAGS) $(LDFLAGS_SO) $(LDFLAGS) $(OBJS_WLFE_SO) $(LIBS_WAYLAND) $(LIBS_XINE) $(LIBS_JPEG) -o $@
+ifeq ($(VDR_TREE), yes)
+	$(INSTALL) $@ $(LIBDIR)/
+endif
+$(VDRWLFE): $(OBJS_WLFE)
+	@echo LD $@
+	$(Q)$(CC) $(CFLAGS) $(LDFLAGS) $(OBJS_WLFE) $(LIBS_WAYLAND) $(LIBS_XINE) $(LIBS_JPEG) $(LIBS_CEC) $(LIBS_PTHREAD) -o $@
+
+#
+# vdr-fbfe
+#
+
+$(VDRPLUGIN_FBFE): $(OBJS_FBFE_SO)
+	@echo LD $@
+	$(Q)$(CC) $(CFLAGS) $(LDFLAGS_SO) $(LDFLAGS) $(OBJS_FBFE_SO) $(LIBS_XINE) $(LIBS_JPEG) -o $@
+ifeq ($(VDR_TREE), yes)
+	$(INSTALL) $@ $(LIBDIR)/
+endif
+$(VDRFBFE): $(OBJS_FBFE)
+	@echo LD $@
+	$(Q)$(CC) $(CFLAGS) $(LDFLAGS) $(OBJS_FBFE) $(LIBS_XINE) $(LIBS_JPEG) $(LIBS_CEC) $(LIBS_PTHREAD) -o $@
+
+#
+# xine plugins
+#
+
+$(XINEINPUTVDR): $(OBJS_XINEINPUTVDR)
+	@echo LD $@
+	$(Q)$(CC) $(CFLAGS) $(LDFLAGS_SO) $(LDFLAGS) $(OBJS_XINEINPUTVDR) $(LIBS_XINE) $(LIBS_AVUTIL) $(LIBS_PTHREAD) -o $@
+$(XINEPOSTAUTOCROP): xine_post_autocrop.o
+	@echo LD $@
+	$(Q)$(CC) $(CFLAGS) $(LDFLAGS_SO) $(LDFLAGS) $< -o $@ $(LIBS_XINE)
+$(XINEPOSTSWSCALE): xine_post_swscale.o
+	@echo LD $@
+	$(Q)$(CC) $(CFLAGS) $(LDFLAGS_SO) $(LDFLAGS) $< -o $@ $(LIBS_XINE)
+$(XINEPOSTAUDIOCHANNEL): xine_post_audiochannel.o
+	@echo LD $@
+	$(Q)$(CC) $(CFLAGS) $(LDFLAGS_SO) $(LDFLAGS) $< -o $@ $(LIBS_XINE)
+
+#
+# install
+#
+
+install: all
+ifeq ($(XINELIBOUTPUT_XINEPLUGIN), yes)
+	@mkdir -p $(DESTDIR)$(XINEPLUGINDIR)/post
+	@echo INSTALL $(DESTDIR)$(XINEPLUGINDIR)/$(XINEINPUTVDR)
+	@-rm -rf $(DESTDIR)$(XINEPLUGINDIR)/$(XINEINPUTVDR)
+	@$(INSTALL) -m 0644 $(XINEINPUTVDR) $(DESTDIR)$(XINEPLUGINDIR)/$(XINEINPUTVDR)
+	@echo INSTALL $(DESTDIR)$(XINEPLUGINDIR)/post/$(XINEPOSTAUTOCROP)
+	@-rm -rf $(DESTDIR)$(XINEPLUGINDIR)/post/$(XINEPOSTAUTOCROP)
+	@$(INSTALL) -m 0644 $(XINEPOSTAUTOCROP) $(DESTDIR)$(XINEPLUGINDIR)/post/$(XINEPOSTAUTOCROP)
+	@echo INSTALL $(DESTDIR)$(XINEPLUGINDIR)/post/$(XINEPOSTSWSCALE)
+	@-rm -rf $(DESTDIR)$(XINEPLUGINDIR)/post/$(XINEPOSTSWSCALE)
+	@$(INSTALL) -m 0644 $(XINEPOSTSWSCALE) $(DESTDIR)$(XINEPLUGINDIR)/post/$(XINEPOSTSWSCALE)
+	@echo INSTALL $(DESTDIR)$(XINEPLUGINDIR)/post/$(XINEPOSTAUDIOCHANNEL)
+	@-rm -rf $(DESTDIR)$(XINEPLUGINDIR)/post/$(XINEPOSTAUDIOCHANNEL)
+	@$(INSTALL) -m 0644 $(XINEPOSTAUDIOCHANNEL) $(DESTDIR)$(XINEPLUGINDIR)/post/$(XINEPOSTAUDIOCHANNEL)
+endif
+ifeq ($(XINELIBOUTPUT_FB), yes)
+	@echo INSTALL $(DESTDIR)$(BINDIR)/vdr-fbfe
+	@mkdir -p $(DESTDIR)$(BINDIR)
+	@-rm -rf $(DESTDIR)$(BINDIR)/vdr-fbfe
+	@$(INSTALL) -m 0755 vdr-fbfe $(DESTDIR)$(BINDIR)/vdr-fbfe
+endif
+ifeq ($(XINELIBOUTPUT_X11), yes)
+	@echo INSTALL $(DESTDIR)$(BINDIR)/vdr-sxfe
+	@mkdir -p $(DESTDIR)$(BINDIR)
+	@-rm -rf $(DESTDIR)$(BINDIR)/vdr-sxfe
+	@$(INSTALL) -m 0755 vdr-sxfe $(DESTDIR)$(BINDIR)/vdr-sxfe
+endif
+ifeq ($(XINELIBOUTPUT_WAYLAND), yes)
+	@echo Installing $(DESTDIR)$(BINDIR)/vdr-wlfe
+	@mkdir -p $(DESTDIR)$(BINDIR)
+	@-rm -rf $(DESTDIR)$(BINDIR)/vdr-wlfe
+	@$(INSTALL) -m 0755 vdr-wlfe $(DESTDIR)$(BINDIR)/vdr-wlfe
+endif
+
+dist: $(I18Npo) clean
+	@-rm -rf $(TMPDIR)/$(ARCHIVE)
+	@mkdir $(TMPDIR)/$(ARCHIVE)
+	@cp -a * $(TMPDIR)/$(ARCHIVE)
+	@tar czf $(PACKAGE).tgz --exclude=CVS -C $(TMPDIR) $(ARCHIVE)
+	@-rm -rf $(TMPDIR)/$(ARCHIVE)
+	@echo Distribution package created as $(PACKAGE).tgz
+
+
+clean:
+	@-rm -f $(DEPFILE) *.so* *.o *.tgz core* *~ *.flc *.bak \
+		tools/*.o tools/*~ tools/*.flc xine/*.o xine/*~ \
+		xine/*.flc $(VDR_FBFE) $(VDR_WLFE) $(VDR_SXFE) mpg2c black_720x576.c \
+		nosignal_720x576.c vdrlogo_720x576.c vdr-sxfe vdr-fbfe vdr-wlfe \
+		features.h config.mak configure.log
+	@-rm -f $(PODIR)/*.mo $(PODIR)/*.pot
diff --git a/.pc/cross.patch/configure b/.pc/cross.patch/configure
new file mode 100755
index 0000000..53eb983
--- /dev/null
+++ b/.pc/cross.patch/configure
@@ -0,0 +1,532 @@
+#!/bin/sh
+#
+# vdr-xinelibout configure script
+#
+# Copyright (c) Petri Hintukainen 2008
+#
+# See the main source file 'xineliboutput.c' for copyright information and
+# how to reach the author.
+#
+# * $Id$
+#
+
+PKG_CONFIG="pkg-config"
+makefile="config.mak"
+header="features.h"
+logfile="configure.log"
+debug=no
+
+CC="cc"
+CXX="g++"
+CFLAGS=""
+
+#
+# tools
+#
+
+toupper(){
+  echo "$@" | tr abcdefghijklmnopqrstuvwxyz.- ABCDEFGHIJKLMNOPQRSTUVWXYZ__
+}
+
+die(){
+  log "$@"
+  exit 1
+}
+
+log(){
+  echo "$@"
+  echo "$@" >> $logfile
+}
+
+logdbg(){
+  [ x$debug = xyes ] && log "$@" || echo "$@" >> $logfile
+}
+
+not_in_list(){
+  key=$1
+  shift
+  for item in $*; do
+    test $key = $item && return 1
+  done
+  return 0
+}
+
+add_flag(){
+  eval not_in_list $flag \$$flags_list || return 1
+  logdbg "adding $flag to $flags_list"
+  eval $flags_list=\"\$${flags_list} ${flag}\"
+}
+
+add_flags(){
+  flags_list=$1
+  shift 
+  for flag in $*; do
+    add_flag $flags_list $flag
+  done
+}
+
+#
+# enable/disable
+#
+
+set_opt(){
+  eval HAVE_$(toupper $1)=$2
+}
+
+set_opts(){
+  optvalue=$1
+  shift
+  for optname in $*; do
+    set_opt $optname $optvalue
+  done
+}
+
+enable(){
+  set_opts yes $*
+}
+
+disable(){
+  set_opts no $*
+}
+
+enabled(){
+  ucfeature=$(toupper $1)
+  eval test "x\$HAVE_${ucfeature}" = "xyes"
+}
+
+disabled(){
+  ucfeature=$(toupper $1)
+  eval test "x\$HAVE_${ucfeature}" = "xno"
+}
+
+#
+# compile/link tests
+#
+
+generate_test_c(){
+  hdrname="$1"
+  subsys="$2"
+  func="$3"
+  if test x"$subsys" = xX11 ; then
+    cat <<EOF >testhdr.c
+#include <X11/Xlib.h>
+#include <$hdrname>
+int main(int c, char **v) { 
+  $func; 
+  return 0; 
+}
+EOF
+  else
+    cat <<EOF >testhdr.c
+#include <stdio.h>
+#include <$hdrname>
+int main(int c, char **v) { 
+  $func; 
+}
+EOF
+  fi
+}
+
+test_library_c(){
+
+  log -n "Checking for $libname ... "
+  generate_test_c "$hdr" "$subsys" "$func"
+  $CC -g testhdr.c -o testhdr $CFLAGS $inc $lib >> $logfile 2>&1
+  err=$?
+
+  if test $err = 0; then
+    log "yes"
+    add_flags LIBS_$subsys $lib
+    add_flags CFLAGS_$subsys $inc
+  else
+    log "no"
+    logdbg "--------"
+    logdbg "/* $CC -g testhdr.c -o testhdr $CFLAGS $inc $lib */"
+    logdbg `cat testhdr.c`
+    logdbg "--------"
+  fi
+
+  rm -f testhdr.c testhdr
+  return $err
+}
+
+test_header(){
+  hdr="$1"
+  func="$2"
+  log -n "Checking for $hdr ... "
+  generate_test_c "$hdr" "" "$func"
+  $CC -g testhdr.c -o testhdr $CFLAGS >> $logfile 2>&1
+  err=$?
+  if test $err = 0; then
+    log "yes"
+    enable $hdrname
+  else
+    log "no"
+    logdbg "--------"
+    logdbg "/* $CC -g testhdr.c -o testhdr $CFLAGS */"
+    logdbg `cat testhdr.c`
+    logdbg "--------"
+  fi
+}
+
+#
+# pkg-config tests
+#
+
+test_pkgconfig(){
+  disabled pkgconfig && return 1
+  log -n "Checking for $PKG_CONFIG ... "
+  disable pkgconfig
+  $PKG_CONFIG --version>/dev/null && enable pkgconfig
+  log $HAVE_PKGCONFIG
+}
+
+test_library_pc(){
+  subsys="$1"
+  libname="$2"
+
+  log -n "Checking for pkg-config $libname ... "
+  if $PKG_CONFIG --exists $libname; then
+   if $PKG_CONFIG --libs $libname >/dev/null; then
+    add_flags LIBS_$subsys \
+              `pkg-config --libs-only-L $libname` \
+              `pkg-config --libs-only-l $libname`
+    add_flags CFLAGS_$subsys `pkg-config --cflags-only-I $libname`
+    log "yes"
+    return 0
+   fi
+  fi
+  log "no"
+  return 1
+}
+
+#
+# generic test
+#
+
+test_library(){
+  subsys="$1"
+  libname="$2"
+  hdr="$3"
+  lib="$4"
+  func="$5"
+  inc="$6"
+  feature=$(toupper $libname)
+
+  # do not test if disabled from command-line
+  if disabled $feature; then
+    log "Not checking for $libname"
+    disable $feature
+    return 1
+  fi
+
+  disable $feature
+
+  # try pkg-config first
+  if enabled pkgconfig; then
+     test_library_pc "$subsys" "$libname" && enable "$feature"
+  fi
+
+  # compile/link test as fallback
+  if disabled $feature; then
+    test_library_c "$subsys" "$libname" "$hdr" "$lib" "$func" "$inc" && enable $feature
+  fi
+}
+
+#
+# configurable features
+#
+
+SUBSYSTEMS="
+  x11
+  wayland
+  fb
+  vdr
+  libxine
+"
+FEATURES="
+  stdatomic_h
+  $SUBSYSTEMS
+  libextractor
+  libavutil
+  libjpeg
+  dbus_glib_1
+  xshm
+  xdpms
+  xinerama
+  xrandr
+  xrender
+  xshape
+  opengl
+  glx
+  pthread
+  dlfcn
+  i18n
+  libcap
+  libbluray
+  libcec
+  mce-dbus-names
+  avahi-client
+"
+
+# set defaults
+
+enable wayland x11 vdr fb xine i18n libcec
+
+# clear log file
+
+rm -f $logfile
+
+#
+# Parse command-line arguments
+#
+
+show_help(){
+  echo "Usage: configure [options]"
+  echo "Options: [defaults in brackets after descriptions]"
+  echo
+  echo "  --help                 print this message"
+  echo "  --enable-x11           build X11 frontend (vdr-sxfe) [yes]"
+  echo "  --enable-wayland       build Wayland frontend (vdr-wlfe) [yes]"
+  echo "  --enable-fb            build framebuffer frontend (vdr-fbfe) [yes]"
+  echo "  --enable-vdr           build VDR plugin [yes]"
+  echo "  --enable-libxine       build xine plugins [yes]"
+  echo
+  echo "  --disable-libextractor disable libextractor support (media file metainfo) [no]"
+  echo "  --disable-libbluray    disable libbluray support (BluRay metainfo) [no]"
+  echo "  --disable-libcec       disable libcec support (HDMI-CEC remote control) [no]"
+  echo "  --disable-libjpeg      disable libjpeg support [no]"
+  echo "  --disable-dbus-glib-1  disable dbus-glib support [no]"
+  echo "  --disable-xshm         disable XShm support [no]"
+  echo "  --disable-xdpms        disable Xdpms support [no]"
+  echo "  --disable-xinerama     disable Xinerama support [no]"
+  echo "  --disable-xrandr       disable Xrandr support [no]"
+  echo "  --disable-xrender      disable Xrender support (HUD OSD) [no]"
+  echo "  --disable-xshape       disable Xshape support (non-transparent HUD OSD without composite manager) [no]"
+  echo "  --disable-opengl       disable OpenGL support (transparent HUD OSD without composite manager) [no]"
+  echo "  --disable-i18n         disable i18n support [no]"
+  echo "  --disable-libcap       disable libcap support [no]"
+  echo "  --disable-avahi-client disable avahi support [no]"
+  echo
+  echo "  --debug                debug configure script"
+  echo "  --disable-pkgconfig    do not use pkg-config"
+  echo "  --cc=CC                select C compiler"
+  echo "  --cxx=CXX              select C++ compiler"
+  echo "  --add-cflags=FLAGS     add compiler flags"
+}
+
+for opt do
+  optval="${opt#*=}"
+  logdbg "Command line: $opt  [$optval]"
+  case "$opt" in
+    --help)
+      show_help && die
+      ;;
+    --debug)
+      debug=yes
+      logdbg "Debug mode"
+      ;;
+    --cc=?*)
+      CC=$optval
+      logdbg "C compiler: $CC"
+      ;;
+    --cxx=?*)
+      CXX=$optval
+      logdbg "C++ compiler: $CXX"
+      ;;
+    --add-cflags=?*)
+      CFLAGS="$CFLAGS $optval"
+      logdbg "CFLAGS: $CFLAGS"
+      ;;
+    --disable-pkgconfig)
+      disable pkgconfig
+      logdbg "Disabled pkg-config"
+      ;;
+    --enable-?*|--disable-?*)
+      eval `echo "$opt" | sed 's/--/action=/;s/-/ option=/;s/-/_/g'`
+      logdbg "    $action $option"
+      not_in_list $option $FEATURES && die "unknown option $opt"
+      eval $action \${option}
+      ;;
+    -*)
+      die "unknown option $opt"
+      ;;
+  esac
+done
+
+#
+# maintain deps
+#
+
+check_deps(){
+  disabled libxine && disable wayland x11 fb libavutil libjpeg libcec
+  disabled x11     && disable dbus-glib-1 xshm xrandr xrender xshape opengl xdpms xinerama
+  disabled vdr     && disable libextractor libcap libbluray avahi-client
+  disabled dlfcn   && disable opengl
+  disabled pthread && disable opengl
+  disabled glx     && disable opengl
+  disabled xrender && disable xshape xshm
+  disabled wayland-client && disable wayland
+}
+
+check_deps
+
+#
+# Run the tests
+#
+
+test_pkgconfig
+
+test_header "stdatomic.h" "atomic_int foo, bar = ATOMIC_VAR_INIT(-1); int b; atomic_init(&b,0); atomic_store(&foo, 0); foo += bar"
+
+# fake test that should fail
+[ $debug = yes ] && \
+  test_library   X11  do_error     "none.h"         "-lnolib"
+
+test_library     VDR   libextractor "extractor.h"        "-lextractor" "EXTRACTOR_getKeywords(0,0)"
+test_library     VDR   libcap       "sys/capability.h"   "-lcap"       "cap_get_proc()"
+test_library     VDR   libbluray    "libbluray/bluray.h" "-lbluray"    "bd_get_disc_info(0)"
+test_library     VDR   avahi-client "avahi-client/publish.h" "-lavahi-common -lavahi-client"    "avahi_client_new"
+test_library     XINE  libxine      "xine.h"             "-lxine"      "xine_init(0)"
+test_library     DLFCN dlfcn        "dlfcn.h"            "-ldl"        "dlopen(0,0)"
+test_library     X11   libm         "math.h"             "-lm"         "floor(0)"
+
+if enabled libxine; then
+
+  log -n "Checking for xine plugin directory ..."
+  if enabled pkgconfig && $PKG_CONFIG libxine --atleast-version 1.1.17; then
+    XINEPLUGINDIR=`$PKG_CONFIG libxine --variable=plugindir`
+  else
+    XINEPLUGINDIR=`xine-config --plugindir`
+  fi
+  log " $XINEPLUGINDIR"
+
+  test_library   AVUTIL  libavutil    "libavutil/mem.h"        "-lavutil"    "av_mallocz(1)"
+  test_library   JPEG    libjpeg      "jpeglib.h"              "-ljpeg"      "jpeg_create_compress(0)"
+  test_library   X11     x11          "X11/X.h"                "-lX11"       "XInitThreads()"
+  if enabled wayland; then
+    test_library   WAYLAND wayland-client  "wayland-client.h"    "-lwayland-client" "wl_display_connect(0)"
+    test_library   WAYLAND wayland-cursor  "wayland-cursor.h"    "-lwayland-cursor" "wl_cursor_theme_load(0,0,0)"
+  fi
+  test_library   PTHREAD pthread      "pthread.h"              "-lpthread"   "pthread_create(0,0,0,0)"
+
+  if enabled libcec; then
+    test_library   CEC     libcec       "libcec/cecc.h"          "-lcec"       "libcec_initialise(0)"
+    if disabled libcec; then
+      # try libcec < 3.0.0
+      enable libcec
+      test_library   CEC     libcec       "libcec/cecc.h"          "-lcec"       "cec_initialise(0)"
+    fi
+  fi
+
+  if enabled x11; then
+    test_library X11  xext         "X11/extensions/Xext.h"     "-lXext"      ""
+    test_library X11  xshm         "X11/extensions/XShm.h"     "-lXext"      "XShmQueryExtension(0)"
+    test_library X11  xrandr       "X11/extensions/Xrandr.h"   "-lXrandr"    "XRRGetScreenInfo(0,0)"
+    test_library X11  xrender      "X11/extensions/Xrender.h"  "-lXrender"   "XRenderQueryFormats(0)"
+    test_library X11  xshape       "X11/extensions/shape.h"    "-lXext"      "XShapeQueryExtension(0,0,0)"
+    test_library X11  xdpms        "X11/extensions/dpms.h"     "-lXext"      "DPMSDisable(0)"
+    test_library X11  xinerama     "X11/extensions/Xinerama.h" "-lXinerama"  "XineramaQueryScreens(0,0)"
+    test_library X11  opengl       "GL/gl.h"                   "-lGL -lGLU"  "glTexCoord2f(0.0,0.0)"
+    test_library X11  glx          "GL/glx.h"                  "-lGLX"       "glXQueryVersion(0,0,0)"
+    test_library X11  dbus-glib-1  \
+      "dbus/dbus-glib.h" \
+      "-ldbus-glib-1 -lgobject-2.0 -lglib-2.0" \
+      "dbus_g_bus_get(0,0)" \
+      "-I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/lib/glib-2.0/include"
+    enabled dbus-glib-1 && test_library X11 mce-dbus-names "mce/dbus-names.h" "" ""
+  fi
+fi
+
+check_deps
+
+# need -lm for ceil/floor in HUD OSD
+enabled xrender && add_flags "LIBS_X11" "-lm"
+# need -ldl and -lpthread with opengl
+enabled opengl  && add_flags "LIBS_X11" $LIBS_DLFCN $LIBS_PTHREAD
+# need -ldl for dlopen() in vdr plugin
+enabled vdr     && add_flags "LIBS_VDR" $LIBS_DLFCN
+
+#
+# Print results
+#
+
+log
+log "Enabled features:"
+for feature in $FEATURES; do
+  enabled $feature && log "  $feature"
+done
+log "Disabled features:"
+for feature in $FEATURES; do
+  enabled $feature || log "  $feature"
+done
+log
+
+#
+# create features.h
+#
+
+log "Creating $header ..."
+
+cat <<EOF >$header
+/* Automatically generated by configure - do not modify! */
+
+#ifndef XINELIBOUTPUT_FEATURES_H
+#define XINELIBOUTPUT_FEATURES_H
+
+EOF
+
+for feature in $FEATURES; do
+  enabled $feature && 
+    echo "#define HAVE_$(toupper $feature) 1">>$header || \
+    echo "#undef  HAVE_$(toupper $feature)">>$header
+done
+
+echo "" >> $header
+echo "#endif /* XINELIBOUTPUT_FEATURES_H */" >> $header
+
+#
+# create config.mak
+#
+
+log "Creating $makefile ..."
+
+echo "# Automatically generated by configure - do not modify!" > $makefile
+echo >> $makefile
+
+# subsystems
+echo "XINELIBOUTPUT_VDRPLUGIN=$HAVE_VDR" >> $makefile
+echo "XINELIBOUTPUT_XINEPLUGIN=$HAVE_LIBXINE" >> $makefile
+echo "XINELIBOUTPUT_X11=$HAVE_X11" >> $makefile
+echo "XINELIBOUTPUT_FB=$HAVE_FB" >> $makefile
+echo "XINELIBOUTPUT_WAYLAND=$HAVE_WAYLAND_CLIENT" >> $makefile
+echo >> $makefile
+
+# features
+for feature in $FEATURES; do
+  feature="`toupper $feature`"
+  enabled $feature && 
+    echo "HAVE_$feature=yes">>$makefile ||
+    echo "HAVE_$feature=no">>$makefile
+done
+echo >> $makefile
+
+# xine plugin dir
+enabled libxine && echo "XINEPLUGINDIR=$XINEPLUGINDIR" >> $makefile && echo >> $makefile
+
+# cc/ld flags
+echo "CC = $CC">>$makefile
+echo "CXX = $CXX">>$makefile
+echo "CFLAGS_XINE += $CFLAGS_XINE">>$makefile
+echo "CFLAGS_VDR  += $CFLAGS_VDR">>$makefile
+echo "CFLAGS_X11  += $CFLAGS_X11">>$makefile
+echo "CFLAGS_WAYLAND += $CFLAGS_WAYLAND">>$makefile
+echo "CFLAGS_AVUTIL += $CFLAGS_AVUTIL">>$makefile
+echo "LIBS_XINE   += $LIBS_XINE">>$makefile
+echo "LIBS_JPEG   += $LIBS_JPEG">>$makefile
+echo "LIBS_AVUTIL += $LIBS_AVUTIL">>$makefile
+echo "LIBS_PTHREAD += $LIBS_PTHREAD">>$makefile
+echo "LIBS_VDR    += $LIBS_VDR">>$makefile
+echo "LIBS_X11    += $LIBS_X11">>$makefile
+echo "LIBS_WAYLAND+= $LIBS_WAYLAND">>$makefile
+echo "LIBS_CEC    += $LIBS_CEC">>$makefile
diff --git a/.pc/disable-po-update.patch/Makefile b/.pc/disable-po-update.patch/Makefile
new file mode 100644
index 0000000..5cf4150
--- /dev/null
+++ b/.pc/disable-po-update.patch/Makefile
@@ -0,0 +1,509 @@
+#
+# Makefile for a Video Disk Recorder plugin
+#
+# See the main source file 'xineliboutput.c' for copyright information and
+# how to reach the author.
+#
+# $Id$
+#
+
+# The official name of this plugin.
+# This name will be used in the '-P...' option of VDR to load the plugin.
+# By default the main source file also carries this name.
+
+PLUGIN = xineliboutput
+
+_default: all
+
+# Keep VDR Makefile happy - it requires $(LIBDIR)/.$(APIVERSION) somewhere in this file ...
+
+# check for Apple Darwin
+ARCH_APPLE_DARWIN = no
+ifeq ($(shell gcc -dumpmachine | grep -q 'apple-darwin' && echo "1" || echo "0"), 1)
+    ARCH_APPLE_DARWIN = yes
+endif
+
+#
+# Override configuration here or in ../../../Make.config
+#
+
+#NOSIGNAL_IMAGE_FILE=/usr/share/vdr/xineliboutput/nosignal.mpv
+#STARTUP_IMAGE_FILE=/usr/share/vdr/xineliboutput/logodisplay.mpv
+XINELIBOUTPUT_CONFIGURE_OPTS =
+
+
+###
+### The version number of this plugin (taken from the main source file):
+###
+
+VERSION = $(shell grep 'static const char \*VERSION *=' $(PLUGIN).c | cut -d'"' -f2)
+
+
+###
+### The C++ compiler and options:
+###
+
+CXX      ?= g++
+CC       ?= gcc 
+OPTFLAGS ?= 
+
+ifeq ($(ARCH_APPLE_DARWIN), yes)
+    CXXFLAGS   ?= -O3 -pipe -Wall -Woverloaded-virtual -fPIC -g -fno-common -bundle -flat_namespace -undefined suppress
+    CFLAGS     ?= -O3 -pipe -Wall -fPIC -g -fno-common -bundle -flat_namespace -undefined suppress
+    LDFLAGS_SO ?= -fvisibility=hidden
+else
+    CXXFLAGS   ?= -O3 -pipe -Wall -Woverloaded-virtual -fPIC -g
+    CFLAGS     ?= -O3 -pipe -Wall -fPIC -g
+    LDFLAGS_SO ?= -fvisibility=hidden
+    LDFLAGS_SO += -shared
+endif
+
+###
+### The directory environment:
+###
+
+# Use package data if installed...otherwise assume we're under the VDR source directory:
+PKGCFG = $(if $(VDRDIR),$(shell pkg-config --variable=$(1) $(VDRDIR)/vdr.pc),$(shell PKG_CONFIG_PATH="$$PKG_CONFIG_PATH:../../.." pkg-config --variable=$(1) vdr))
+BINDIR = $(call PKGCFG,bindir)
+LIBDIR = $(call PKGCFG,libdir)
+LOCDIR = $(call PKGCFG,locdir)
+PLGCFG = $(call PKGCFG,plgcfg)
+VIDEODIR = $(call PKGCFG,videodir)
+
+TMPDIR  ?= /tmp
+
+INSTALL ?= install
+
+###
+### Allow user defined options to overwrite defaults:
+###
+
+-include Make.config
+
+ifeq ($(strip $(BINDIR)),)
+  BINDIR = /usr/bin
+endif
+
+###
+### check for VDR
+###
+
+APIVERSION = $(call PKGCFG,apiversion)
+
+VDR_TREE = no
+ifeq ($(strip $(APIVERSION)),)
+    $(warning ********************************************************)
+    $(warning VDR not detected ! VDR plugins will not be compiled.    )
+    $(warning ********************************************************)
+    CONFIGURE_OPTS += --disable-vdr
+else
+    export CFLAGS   = $(call PKGCFG,cflags)
+    export CXXFLAGS = $(call PKGCFG,cxxflags)
+
+    ifeq ($(VDRDIR),)
+        $(warning Building outside VDR source tree)
+    else
+        $(warning Building inside VDR source tree)
+        VDR_TREE = yes
+    endif
+endif
+
+CFLAGS += -Wextra -Wno-unused-parameter -Wmissing-prototypes -Wimplicit-function-declaration -Wshadow
+CXXFLAGS += -Wextra -Wno-unused-parameter
+
+### Allow user defined options to overwrite defaults:
+-include $(PLGCFG)
+
+#
+# Silent rules falback
+#
+ifndef Q
+ifdef VERBOSE
+Q =
+else
+Q = @
+endif
+export Q
+endif
+
+###
+### run configure script
+###
+
+config.mak: Makefile configure
+	@echo Running configure
+	@sh configure --cc="$(CC)" --cxx="$(CXX)" $(CONFIGURE_OPTS) $(XINELIBOUTPUT_CONFIGURE_OPTS)
+-include config.mak
+
+###
+### The name of the distribution archive:
+###
+
+ARCHIVE = $(PLUGIN)-$(VERSION)
+PACKAGE = vdr-$(ARCHIVE)
+
+
+###
+### The name of executable and libraries
+###
+
+VDRPLUGIN            = libvdr-$(PLUGIN).so.$(APIVERSION)
+VDRPLUGIN_SXFE       = lib$(PLUGIN)-sxfe.so.$(VERSION)
+VDRPLUGIN_FBFE       = lib$(PLUGIN)-fbfe.so.$(VERSION)
+VDRPLUGIN_WLFE       = lib$(PLUGIN)-wlfe.so.$(VERSION)
+VDRSXFE              = vdr-sxfe
+VDRFBFE              = vdr-fbfe
+VDRWLFE              = vdr-wlfe
+XINEINPUTVDR         = xineplug_inp_xvdr.so
+XINEPOSTAUTOCROP     = xineplug_post_autocrop.so
+XINEPOSTSWSCALE      = xineplug_post_swscale.so
+XINEPOSTAUDIOCHANNEL = xineplug_post_audiochannel.so
+
+###
+### which programs and libs to build
+###
+
+TARGETS_VDR  =
+TARGETS_FE   =
+TARGETS_XINE =
+ifeq ($(XINELIBOUTPUT_VDRPLUGIN), yes)
+    TARGETS_VDR += $(VDRPLUGIN)
+endif
+ifeq ($(XINELIBOUTPUT_XINEPLUGIN), yes)
+    TARGETS_XINE += $(XINEINPUTVDR) $(XINEPOSTAUTOCROP) $(XINEPOSTSWSCALE) $(XINEPOSTAUDIOCHANNEL)
+endif
+ifeq ($(XINELIBOUTPUT_X11), yes)
+    TARGETS_FE += $(VDRSXFE)
+    ifeq ($(XINELIBOUTPUT_VDRPLUGIN), yes)
+        TARGETS_VDR += $(VDRPLUGIN_SXFE)
+    endif
+endif
+ifeq ($(XINELIBOUTPUT_FB), yes)
+    TARGETS_FE += $(VDRFBFE)
+    ifeq ($(XINELIBOUTPUT_VDRPLUGIN), yes)
+        TARGETS_VDR += $(VDRPLUGIN_FBFE)
+    endif
+endif
+ifeq ($(XINELIBOUTPUT_WAYLAND), yes)
+    TARGETS_FE += $(VDRWLFE)
+    ifeq ($(XINELIBOUTPUT_VDRPLUGIN), yes)
+        TARGETS_VDR += $(VDRPLUGIN_WLFE)
+    endif
+endif
+
+
+###
+### Includes and Defines (add further entries here):
+###
+
+ifeq ($(ARCH_APPLE_DARWIN), yes)
+    INCLUDES  += -I/sw/include
+    LIBDIRS   += -L/sw/lib
+    LIBS      += $(LIBDIRS)
+else
+    LIBS      += -lrt
+endif
+
+DEFINES   += -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"$(PLUGIN)"' \
+             -D_REENTRANT -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 \
+	     -DVIDEODIR='"$(VIDEODIR)"' -DXINELIBOUTPUT_VERSION='"$(VERSION)"'
+
+ifdef NOSIGNAL_IMAGE_FILE
+  DEFINES += -DNOSIGNAL_IMAGE_FILE='"$(NOSIGNAL_IMAGE_FILE)"'
+endif
+ifdef STARTUP_IMAGE_FILE
+  DEFINES += -DSTARTUP_IMAGE_FILE='"$(STARTUP_IMAGE_FILE)"'
+endif
+
+DEFINES += $(EXTRA_DEFINES)
+
+###
+### The object files (add further files here):
+###
+
+# VDR plugin
+ifeq ($(XINELIBOUTPUT_VDRPLUGIN), yes)
+OBJS = $(PLUGIN).o device.o frontend.o osd.o config.o menu.o setup_menu.o \
+       menuitems.o media_player.o equalizer.o \
+       frontend_local.o frontend_svr.o tools/avahi.o \
+       tools/cxsocket.o tools/udp_pes_scheduler.o \
+       tools/backgroundwriter.o tools/playlist.o tools/http.o \
+       tools/time_pts.o tools.o \
+       tools/metainfo_menu.o logdefs.o tools/rle.o \
+       tools/sys_cap.o tools/sap.o tools/sdp.o
+OBJS_MPG = black_720x576.o nosignal_720x576.o vdrlogo_720x576.o
+endif
+
+# frontends
+OBJS_FE_SO = xine_frontend.o logdefs.o \
+             xine/post.o xine/vo_hook.o xine/vo_osdscaler.o xine/vo_osdreorder.o xine/vo_lastpts.o \
+             xine/vo_frameoutput.o \
+             tools/rle.o
+OBJS_FE    = $(OBJS_FE_SO) \
+             xine_frontend_main.o \
+             xine_frontend_lirc.o xine_frontend_kbd.o xine_frontend_cec.o \
+             tools/vdrdiscovery.o
+OBJS_SXFE_SO = xine_sxfe_frontend.o $(OBJS_FE_SO)
+OBJS_SXFE    = xine_sxfe_frontend.o $(OBJS_FE)
+OBJS_FBFE_SO = xine_fbfe_frontend.o $(OBJS_FE_SO)
+OBJS_FBFE    = xine_fbfe_frontend.o $(OBJS_FE)
+OBJS_WLFE_SO = xine_wlfe_frontend.o $(OBJS_FE_SO)
+OBJS_WLFE    = xine_wlfe_frontend.o $(OBJS_FE)
+
+ifneq ($(HAVE_DBUS_GLIB_1), no)
+OBJS_SXFE    += tools/gnome_screensaver.o
+OBJS_SXFE_SO += tools/gnome_screensaver.o
+endif
+
+# xine plugins
+OBJS_XINEINPUTVDR = xine_input_vdr.o xine/demux_xvdr.o \
+                    xine/ts2es.o xine/demux_xvdr_tsdata.o \
+                    xine/adjustable_scr.o xine/xvdr_metronom.o xine/osd_manager.o \
+                    tools/rle.o tools/ts.o tools/pes.o tools/mpeg.o tools/h264.o tools/h265.o \
+                    tools/vdrdiscovery.o
+
+OBJS_XINE = $(OBJS_XINEINPUTVDR) xine_post_autocrop.o xine_post_swscale.o xine_post_audiochannel.o
+
+###
+### Implicit rules:
+###
+
+%.o: %.c
+	@echo CXX $@
+	$(Q)$(CXX) $(CXXFLAGS) -c $(DEFINES) $(INCLUDES) $(CFLAGS_VDR) -o $@ $<
+
+
+###
+### Dependencies:
+###
+
+MAKEDEP = $(CXX) -MM -MG
+DEPFILE = .dependencies
+$(DEPFILE): Makefile config.mak
+	@rm -f $@
+	@for i in $(OBJS:%.o=%.c) $(OBJS_SXFE:%.o=%.c) $(OBJS_FBFE:%.o=%.c) $(OBJS_WLFE:%.o=%.c) $(OBJS_XINE:%.o=%.c) ; do \
+	  $(MAKEDEP) $(CXXFLAGS) $(DEFINES) $(INCLUDES) -MT "`dirname $$i`/`basename $$i .c`.o" $$i >>$@ ; \
+	done
+
+-include $(DEPFILE)
+
+DEFINES += -Wall
+
+
+###
+### Rules:
+###
+
+mpg2c: mpg2c.c
+	@echo CCLD $@
+	$(Q)$(CC) $(CFLAGS) $(LDFLAGS) mpg2c.c -o $@
+
+# data
+black_720x576.c: mpg2c black_720x576.mpg
+	@echo GEN $@
+	$(Q)./mpg2c black black_720x576.mpg black_720x576.c
+nosignal_720x576.c: mpg2c nosignal_720x576.mpg
+	@echo GEN $@
+	$(Q)./mpg2c nosignal nosignal_720x576.mpg nosignal_720x576.c
+vdrlogo_720x576.c: mpg2c vdrlogo_720x576.mpg
+	@echo GEN $@
+	$(Q)./mpg2c vdrlogo vdrlogo_720x576.mpg vdrlogo_720x576.c
+
+# C code (xine plugins and frontends)
+
+xine_input_vdr.o: nosignal_720x576.c
+
+$(sort $(OBJS_SXFE) $(OBJS_FBFE) $(OBJS_WLFE) $(OBJS_XINE)): %.o: %.c
+	@echo CC $@
+	$(Q)$(CC) $(CFLAGS) -c $(DEFINES) $(INCLUDES) $(CFLAGS_X11) $(CFLAGS_WAYLAND) $(CFLAGS_AVUTIL) $(OPTFLAGS) -o $@ $<
+
+### Internationalization (I18N):
+PODIR     = po
+ifeq ($(XINELIBOUTPUT_VDRPLUGIN), yes)
+I18Npo    = $(wildcard $(PODIR)/*.po)
+I18Nmo    = $(addsuffix .mo, $(foreach file, $(I18Npo), $(basename $(file))))
+I18Nmsgs  = $(addprefix $(DESTDIR)$(LOCDIR)/, $(addsuffix /LC_MESSAGES/vdr-$(PLUGIN).mo, $(notdir $(foreach file, $(I18Npo), $(basename $(file))))))
+I18Npot   = $(PODIR)/$(PLUGIN).pot
+
+%.mo: %.po
+	@echo MO $@
+	$(Q)msgfmt -c -o $@ $<
+
+$(I18Npot): $(wildcard *.c)
+	@echo GT $@
+	$(Q)xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --package-name=vdr-$(PLUGIN) --package-version=$(VERSION) --msgid-bugs-address='<phintuka@users.sourceforge.net>' -o $@ `ls $^`
+
+%.po: $(I18Npot)
+	@echo PO $@
+	$(Q)msgmerge -U --no-wrap --no-location --backup=none -q -N $@ $<
+	@touch $@
+
+$(I18Nmsgs): $(DESTDIR)$(LOCDIR)/%/LC_MESSAGES/vdr-$(PLUGIN).mo: $(PODIR)/%.mo
+	@echo INSTALL $^
+	@install -D -m644 $< $@
+endif
+
+.PHONY: i18n
+i18n: $(I18Nmo) $(I18Npot)
+
+install-i18n: $(I18Nmsgs)
+
+###
+### targets
+###
+
+XINELIBOUTPUT_INSTALL_MSG =  \
+	    $(warning *********************** xineliboutput ***************************) \
+	    $(warning  Xine plugins and frontends will not be installed automatically. ) \
+	    $(warning  To install files execute "make install" in                      ) \
+	    $(warning  $(shell echo `pwd`)) \
+	    $(warning *****************************************************************)
+
+install : XINELIBOUTPUT_INSTALL_MSG =
+
+.PHONY: all
+all: config $(TARGETS_VDR) frontends i18n
+
+frontends: config $(TARGETS_FE) $(TARGETS_XINE)
+	$(XINELIBOUTPUT_INSTALL_MSG)
+
+config: config.mak
+
+.PHONY: config 
+
+.PHONY: frontends install dist clean
+
+#
+# VDR plugin
+#
+
+$(VDRPLUGIN): $(OBJS) $(OBJS_MPG)
+	@echo LD $@
+	$(Q)$(CXX) $(CXXFLAGS) $(LDFLAGS_SO) $(LDFLAGS) -shared $(OBJS) $(OBJS_MPG) $(LIBS) $(LIBS_VDR) -o $@
+ifeq ($(VDR_TREE), yes)
+	$(INSTALL) $@ $(LIBDIR)/
+endif
+
+install-lib: $(TARGETS_VDR)
+ifeq ($(XINELIBOUTPUT_VDRPLUGIN), yes)
+	@echo INSTALL $^
+	@mkdir -p $(DESTDIR)$(LIBDIR)
+	install -D $^ $(DESTDIR)$(LIBDIR)/
+endif
+
+install: install-lib install-i18n
+
+#
+# vdr-sxfe
+#
+
+$(VDRPLUGIN_SXFE): $(OBJS_SXFE_SO)
+	@echo LD $@
+	$(Q)$(CC) $(CFLAGS) $(LDFLAGS_SO) $(LDFLAGS) $(OBJS_SXFE_SO) $(LIBS_X11) $(LIBS_XINE) $(LIBS_JPEG) -o $@
+ifeq ($(VDR_TREE), yes)
+	$(INSTALL) $@ $(LIBDIR)/
+endif
+$(VDRSXFE): $(OBJS_SXFE)
+	@echo LD $@
+	$(Q)$(CC) $(CFLAGS) $(LDFLAGS) $(OBJS_SXFE) $(LIBS_X11) $(LIBS_XINE) $(LIBS_JPEG) $(LIBS_CEC) $(LIBS_PTHREAD) -o $@
+
+#
+# vdr-wlfe
+#
+
+$(VDRPLUGIN_WLFE): $(OBJS_WLFE_SO)
+	@echo LD $@
+	$(Q)$(CC) $(CFLAGS) $(LDFLAGS_SO) $(LDFLAGS) $(OBJS_WLFE_SO) $(LIBS_WAYLAND) $(LIBS_XINE) $(LIBS_JPEG) -o $@
+ifeq ($(VDR_TREE), yes)
+	$(INSTALL) $@ $(LIBDIR)/
+endif
+$(VDRWLFE): $(OBJS_WLFE)
+	@echo LD $@
+	$(Q)$(CC) $(CFLAGS) $(LDFLAGS) $(OBJS_WLFE) $(LIBS_WAYLAND) $(LIBS_XINE) $(LIBS_JPEG) $(LIBS_CEC) $(LIBS_PTHREAD) -o $@
+
+#
+# vdr-fbfe
+#
+
+$(VDRPLUGIN_FBFE): $(OBJS_FBFE_SO)
+	@echo LD $@
+	$(Q)$(CC) $(CFLAGS) $(LDFLAGS_SO) $(LDFLAGS) $(OBJS_FBFE_SO) $(LIBS_XINE) $(LIBS_JPEG) -o $@
+ifeq ($(VDR_TREE), yes)
+	$(INSTALL) $@ $(LIBDIR)/
+endif
+$(VDRFBFE): $(OBJS_FBFE)
+	@echo LD $@
+	$(Q)$(CC) $(CFLAGS) $(LDFLAGS) $(OBJS_FBFE) $(LIBS_XINE) $(LIBS_JPEG) $(LIBS_CEC) $(LIBS_PTHREAD) -o $@
+
+#
+# xine plugins
+#
+
+$(XINEINPUTVDR): $(OBJS_XINEINPUTVDR)
+	@echo LD $@
+	$(Q)$(CC) $(CFLAGS) $(LDFLAGS_SO) $(LDFLAGS) $(OBJS_XINEINPUTVDR) $(LIBS_XINE) $(LIBS_AVUTIL) $(LIBS_PTHREAD) -o $@
+$(XINEPOSTAUTOCROP): xine_post_autocrop.o
+	@echo LD $@
+	$(Q)$(CC) $(CFLAGS) $(LDFLAGS_SO) $(LDFLAGS) $< -o $@ $(LIBS_XINE)
+$(XINEPOSTSWSCALE): xine_post_swscale.o
+	@echo LD $@
+	$(Q)$(CC) $(CFLAGS) $(LDFLAGS_SO) $(LDFLAGS) $< -o $@ $(LIBS_XINE)
+$(XINEPOSTAUDIOCHANNEL): xine_post_audiochannel.o
+	@echo LD $@
+	$(Q)$(CC) $(CFLAGS) $(LDFLAGS_SO) $(LDFLAGS) $< -o $@ $(LIBS_XINE)
+
+#
+# install
+#
+
+install: all
+ifeq ($(XINELIBOUTPUT_XINEPLUGIN), yes)
+	@mkdir -p $(DESTDIR)$(XINEPLUGINDIR)/post
+	@echo INSTALL $(DESTDIR)$(XINEPLUGINDIR)/$(XINEINPUTVDR)
+	@-rm -rf $(DESTDIR)$(XINEPLUGINDIR)/$(XINEINPUTVDR)
+	@$(INSTALL) -m 0644 $(XINEINPUTVDR) $(DESTDIR)$(XINEPLUGINDIR)/$(XINEINPUTVDR)
+	@echo INSTALL $(DESTDIR)$(XINEPLUGINDIR)/post/$(XINEPOSTAUTOCROP)
+	@-rm -rf $(DESTDIR)$(XINEPLUGINDIR)/post/$(XINEPOSTAUTOCROP)
+	@$(INSTALL) -m 0644 $(XINEPOSTAUTOCROP) $(DESTDIR)$(XINEPLUGINDIR)/post/$(XINEPOSTAUTOCROP)
+	@echo INSTALL $(DESTDIR)$(XINEPLUGINDIR)/post/$(XINEPOSTSWSCALE)
+	@-rm -rf $(DESTDIR)$(XINEPLUGINDIR)/post/$(XINEPOSTSWSCALE)
+	@$(INSTALL) -m 0644 $(XINEPOSTSWSCALE) $(DESTDIR)$(XINEPLUGINDIR)/post/$(XINEPOSTSWSCALE)
+	@echo INSTALL $(DESTDIR)$(XINEPLUGINDIR)/post/$(XINEPOSTAUDIOCHANNEL)
+	@-rm -rf $(DESTDIR)$(XINEPLUGINDIR)/post/$(XINEPOSTAUDIOCHANNEL)
+	@$(INSTALL) -m 0644 $(XINEPOSTAUDIOCHANNEL) $(DESTDIR)$(XINEPLUGINDIR)/post/$(XINEPOSTAUDIOCHANNEL)
+endif
+ifeq ($(XINELIBOUTPUT_FB), yes)
+	@echo INSTALL $(DESTDIR)$(BINDIR)/vdr-fbfe
+	@mkdir -p $(DESTDIR)$(BINDIR)
+	@-rm -rf $(DESTDIR)$(BINDIR)/vdr-fbfe
+	@$(INSTALL) -m 0755 vdr-fbfe $(DESTDIR)$(BINDIR)/vdr-fbfe
+endif
+ifeq ($(XINELIBOUTPUT_X11), yes)
+	@echo INSTALL $(DESTDIR)$(BINDIR)/vdr-sxfe
+	@mkdir -p $(DESTDIR)$(BINDIR)
+	@-rm -rf $(DESTDIR)$(BINDIR)/vdr-sxfe
+	@$(INSTALL) -m 0755 vdr-sxfe $(DESTDIR)$(BINDIR)/vdr-sxfe
+endif
+ifeq ($(XINELIBOUTPUT_WAYLAND), yes)
+	@echo Installing $(DESTDIR)$(BINDIR)/vdr-wlfe
+	@mkdir -p $(DESTDIR)$(BINDIR)
+	@-rm -rf $(DESTDIR)$(BINDIR)/vdr-wlfe
+	@$(INSTALL) -m 0755 vdr-wlfe $(DESTDIR)$(BINDIR)/vdr-wlfe
+endif
+
+dist: $(I18Npo) clean
+	@-rm -rf $(TMPDIR)/$(ARCHIVE)
+	@mkdir $(TMPDIR)/$(ARCHIVE)
+	@cp -a * $(TMPDIR)/$(ARCHIVE)
+	@tar czf $(PACKAGE).tgz --exclude=CVS -C $(TMPDIR) $(ARCHIVE)
+	@-rm -rf $(TMPDIR)/$(ARCHIVE)
+	@echo Distribution package created as $(PACKAGE).tgz
+
+
+clean:
+	@-rm -f $(DEPFILE) *.so* *.o *.tgz core* *~ *.flc *.bak \
+		tools/*.o tools/*~ tools/*.flc xine/*.o xine/*~ \
+		xine/*.flc $(VDR_FBFE) $(VDR_WLFE) $(VDR_SXFE) mpg2c black_720x576.c \
+		nosignal_720x576.c vdrlogo_720x576.c vdr-sxfe vdr-fbfe vdr-wlfe \
+		features.h config.mak configure.log
+	@-rm -f $(PODIR)/*.mo $(PODIR)/*.pot
diff --git a/Makefile b/Makefile
index 5cf4150..23b1dc8 100644
--- a/Makefile
+++ b/Makefile
@@ -45,6 +45,8 @@ VERSION = $(shell grep 'static const char \*VERSION *=' $(PLUGIN).c | cut -d'"'
 
 CXX      ?= g++
 CC       ?= gcc 
+PKG_CONFIG ?= pkg-config
+CC_FOR_BUILD ?= gcc
 OPTFLAGS ?= 
 
 ifeq ($(ARCH_APPLE_DARWIN), yes)
@@ -63,7 +65,7 @@ endif
 ###
 
 # Use package data if installed...otherwise assume we're under the VDR source directory:
-PKGCFG = $(if $(VDRDIR),$(shell pkg-config --variable=$(1) $(VDRDIR)/vdr.pc),$(shell PKG_CONFIG_PATH="$$PKG_CONFIG_PATH:../../.." pkg-config --variable=$(1) vdr))
+PKGCFG = $(if $(VDRDIR),$(shell $(PKG_CONFIG) --variable=$(1) $(VDRDIR)/vdr.pc),$(shell $(PKG_CONFIG) --variable=$(1) vdr))
 BINDIR = $(call PKGCFG,bindir)
 LIBDIR = $(call PKGCFG,libdir)
 LOCDIR = $(call PKGCFG,locdir)
@@ -270,7 +272,7 @@ OBJS_XINE = $(OBJS_XINEINPUTVDR) xine_post_autocrop.o xine_post_swscale.o xine_p
 
 %.o: %.c
 	@echo CXX $@
-	$(Q)$(CXX) $(CXXFLAGS) -c $(DEFINES) $(INCLUDES) $(CFLAGS_VDR) -o $@ $<
+	$(Q)$(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $(DEFINES) $(INCLUDES) $(CFLAGS_VDR) -o $@ $<
 
 
 ###
@@ -282,7 +284,7 @@ DEPFILE = .dependencies
 $(DEPFILE): Makefile config.mak
 	@rm -f $@
 	@for i in $(OBJS:%.o=%.c) $(OBJS_SXFE:%.o=%.c) $(OBJS_FBFE:%.o=%.c) $(OBJS_WLFE:%.o=%.c) $(OBJS_XINE:%.o=%.c) ; do \
-	  $(MAKEDEP) $(CXXFLAGS) $(DEFINES) $(INCLUDES) -MT "`dirname $$i`/`basename $$i .c`.o" $$i >>$@ ; \
+	  $(MAKEDEP) $(CPPFLAGS) $(CXXFLAGS) $(DEFINES) $(INCLUDES) -MT "`dirname $$i`/`basename $$i .c`.o" $$i >>$@ ; \
 	done
 
 -include $(DEPFILE)
@@ -296,7 +298,7 @@ DEFINES += -Wall
 
 mpg2c: mpg2c.c
 	@echo CCLD $@
-	$(Q)$(CC) $(CFLAGS) $(LDFLAGS) mpg2c.c -o $@
+	$(Q)$(CC_FOR_BUILD) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) mpg2c.c -o $@
 
 # data
 black_720x576.c: mpg2c black_720x576.mpg
@@ -315,7 +317,7 @@ xine_input_vdr.o: nosignal_720x576.c
 
 $(sort $(OBJS_SXFE) $(OBJS_FBFE) $(OBJS_WLFE) $(OBJS_XINE)): %.o: %.c
 	@echo CC $@
-	$(Q)$(CC) $(CFLAGS) -c $(DEFINES) $(INCLUDES) $(CFLAGS_X11) $(CFLAGS_WAYLAND) $(CFLAGS_AVUTIL) $(OPTFLAGS) -o $@ $<
+	$(Q)$(CC) $(CPPFLAGS) $(CFLAGS) -c $(DEFINES) $(INCLUDES) $(CFLAGS_X11) $(CFLAGS_WAYLAND) $(CFLAGS_AVUTIL) $(OPTFLAGS) -o $@ $<
 
 ### Internationalization (I18N):
 PODIR     = po
@@ -333,10 +335,10 @@ $(I18Npot): $(wildcard *.c)
 	@echo GT $@
 	$(Q)xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --package-name=vdr-$(PLUGIN) --package-version=$(VERSION) --msgid-bugs-address='<phintuka@users.sourceforge.net>' -o $@ `ls $^`
 
-%.po: $(I18Npot)
-	@echo PO $@
-	$(Q)msgmerge -U --no-wrap --no-location --backup=none -q -N $@ $<
-	@touch $@
+#%.po: $(I18Npot)
+#	@echo PO $@
+#	$(Q)msgmerge -U --no-wrap --no-location --backup=none -q -N $@ $<
+#	@touch $@
 
 $(I18Nmsgs): $(DESTDIR)$(LOCDIR)/%/LC_MESSAGES/vdr-$(PLUGIN).mo: $(PODIR)/%.mo
 	@echo INSTALL $^
diff --git a/configure b/configure
index 53eb983..7b99b13 100755
--- a/configure
+++ b/configure
@@ -189,9 +189,9 @@ test_library_pc(){
   if $PKG_CONFIG --exists $libname; then
    if $PKG_CONFIG --libs $libname >/dev/null; then
     add_flags LIBS_$subsys \
-              `pkg-config --libs-only-L $libname` \
-              `pkg-config --libs-only-l $libname`
-    add_flags CFLAGS_$subsys `pkg-config --cflags-only-I $libname`
+              `$PKG_CONFIG --libs-only-L $libname` \
+              `$PKG_CONFIG --libs-only-l $libname`
+    add_flags CFLAGS_$subsys `$PKG_CONFIG --cflags-only-I $libname`
     log "yes"
     return 0
    fi
@@ -312,6 +312,7 @@ show_help(){
   echo "  --disable-pkgconfig    do not use pkg-config"
   echo "  --cc=CC                select C compiler"
   echo "  --cxx=CXX              select C++ compiler"
+  echo "  --pkg-config=PKG-CONFIG select the pkg-config executable"
   echo "  --add-cflags=FLAGS     add compiler flags"
 }
 
@@ -334,6 +335,10 @@ for opt do
       CXX=$optval
       logdbg "C++ compiler: $CXX"
       ;;
+    --pkg-config=?*)
+      PKG_CONFIG=$optval
+      logdbg "pkg-config: $PKG_CONFIG"
+      ;;
     --add-cflags=?*)
       CFLAGS="$CFLAGS $optval"
       logdbg "CFLAGS: $CFLAGS"
@@ -517,6 +522,7 @@ enabled libxine && echo "XINEPLUGINDIR=$XINEPLUGINDIR" >> $makefile && echo >> $
 # cc/ld flags
 echo "CC = $CC">>$makefile
 echo "CXX = $CXX">>$makefile
+echo "PKG_CONFIG = $PKG_CONFIG">>$makefile
 echo "CFLAGS_XINE += $CFLAGS_XINE">>$makefile
 echo "CFLAGS_VDR  += $CFLAGS_VDR">>$makefile
 echo "CFLAGS_X11  += $CFLAGS_X11">>$makefile
diff --git a/debian/changelog b/debian/changelog
index ee4c24a..1578f5e 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,24 @@
+vdr-plugin-xineliboutput (2.2.0+git20211212-2.2) unstable; urgency=medium
+
+  * Non-maintainer upload.
+  * Add missing Breaks/Replaces for correction of xineliboutput-fbfe desktop
+    icon. Closes: #1034915
+
+ -- Andreas Metzler <ametzler@debian.org>  Thu, 18 May 2023 13:40:36 +0200
+
+vdr-plugin-xineliboutput (2.2.0+git20211212-2.1) unstable; urgency=medium
+
+  [ Helmut Grohne ]
+  * Fix FTCBFS: (Closes: #1003760)
+    + Add --pkg-config flag to configure.
+    + Pass all build tools to configure.
+    + Build mpg2c.c with the build architecture compiler.
+
+  [ Tobias Grimm ]
+  * Fix installation of desktop icons
+
+ -- Tobias Grimm <etobi@debian.org>  Tue, 25 Jan 2022 19:06:50 +0100
+
 vdr-plugin-xineliboutput (2.2.0+git20211212-2) unstable; urgency=medium
 
   [ Tobias Grimm ]
diff --git a/debian/control b/debian/control
index 9deaa4b..476def8 100644
--- a/debian/control
+++ b/debian/control
@@ -54,6 +54,8 @@ Description: Local Waylend frontend for the xineliboutput plugin
 Package: xineliboutput-fbfe
 Architecture: any
 Depends: ${shlibs:Depends}, ${misc:Depends}, libxine2-xvdr (= ${binary:Version}), libxine2-console
+Breaks: xineliboutput-sxfe (<< 2.2.0+git20211212-2.1)
+Replaces: xineliboutput-sxfe (<< 2.2.0+git20211212-2.1)
 Description: Remote Framebuffer frontend for vdr-plugin-xineliboutput
  This frambuffer remote frontend plays back streams provided by
  vdr-plugin-xineliboutput.
diff --git a/debian/patches/cross.patch b/debian/patches/cross.patch
new file mode 100644
index 0000000..c33e647
--- /dev/null
+++ b/debian/patches/cross.patch
@@ -0,0 +1,71 @@
+--- vdr-plugin-xineliboutput-2.2.0+git20211212.orig/configure
++++ vdr-plugin-xineliboutput-2.2.0+git20211212/configure
+@@ -189,9 +189,9 @@
+   if $PKG_CONFIG --exists $libname; then
+    if $PKG_CONFIG --libs $libname >/dev/null; then
+     add_flags LIBS_$subsys \
+-              `pkg-config --libs-only-L $libname` \
+-              `pkg-config --libs-only-l $libname`
+-    add_flags CFLAGS_$subsys `pkg-config --cflags-only-I $libname`
++              `$PKG_CONFIG --libs-only-L $libname` \
++              `$PKG_CONFIG --libs-only-l $libname`
++    add_flags CFLAGS_$subsys `$PKG_CONFIG --cflags-only-I $libname`
+     log "yes"
+     return 0
+    fi
+@@ -312,6 +312,7 @@
+   echo "  --disable-pkgconfig    do not use pkg-config"
+   echo "  --cc=CC                select C compiler"
+   echo "  --cxx=CXX              select C++ compiler"
++  echo "  --pkg-config=PKG-CONFIG select the pkg-config executable"
+   echo "  --add-cflags=FLAGS     add compiler flags"
+ }
+ 
+@@ -334,6 +335,10 @@
+       CXX=$optval
+       logdbg "C++ compiler: $CXX"
+       ;;
++    --pkg-config=?*)
++      PKG_CONFIG=$optval
++      logdbg "pkg-config: $PKG_CONFIG"
++      ;;
+     --add-cflags=?*)
+       CFLAGS="$CFLAGS $optval"
+       logdbg "CFLAGS: $CFLAGS"
+@@ -517,6 +522,7 @@
+ # cc/ld flags
+ echo "CC = $CC">>$makefile
+ echo "CXX = $CXX">>$makefile
++echo "PKG_CONFIG = $PKG_CONFIG">>$makefile
+ echo "CFLAGS_XINE += $CFLAGS_XINE">>$makefile
+ echo "CFLAGS_VDR  += $CFLAGS_VDR">>$makefile
+ echo "CFLAGS_X11  += $CFLAGS_X11">>$makefile
+--- vdr-plugin-xineliboutput-2.2.0+git20211212.orig/Makefile
++++ vdr-plugin-xineliboutput-2.2.0+git20211212/Makefile
+@@ -45,6 +45,8 @@
+ 
+ CXX      ?= g++
+ CC       ?= gcc 
++PKG_CONFIG ?= pkg-config
++CC_FOR_BUILD ?= gcc
+ OPTFLAGS ?= 
+ 
+ ifeq ($(ARCH_APPLE_DARWIN), yes)
+@@ -63,7 +65,7 @@
+ ###
+ 
+ # Use package data if installed...otherwise assume we're under the VDR source directory:
+-PKGCFG = $(if $(VDRDIR),$(shell pkg-config --variable=$(1) $(VDRDIR)/vdr.pc),$(shell PKG_CONFIG_PATH="$$PKG_CONFIG_PATH:../../.." pkg-config --variable=$(1) vdr))
++PKGCFG = $(if $(VDRDIR),$(shell $(PKG_CONFIG) --variable=$(1) $(VDRDIR)/vdr.pc),$(shell $(PKG_CONFIG) --variable=$(1) vdr))
+ BINDIR = $(call PKGCFG,bindir)
+ LIBDIR = $(call PKGCFG,libdir)
+ LOCDIR = $(call PKGCFG,locdir)
+@@ -296,7 +298,7 @@
+ 
+ mpg2c: mpg2c.c
+ 	@echo CCLD $@
+-	$(Q)$(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) mpg2c.c -o $@
++	$(Q)$(CC_FOR_BUILD) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) mpg2c.c -o $@
+ 
+ # data
+ black_720x576.c: mpg2c black_720x576.mpg
diff --git a/debian/patches/series b/debian/patches/series
index cebe540..24cd223 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,2 +1,3 @@
 disable-po-update.patch
 cppflags.patch
+cross.patch
diff --git a/debian/rules b/debian/rules
index b7d1eb5..9f12a98 100755
--- a/debian/rules
+++ b/debian/rules
@@ -1,5 +1,7 @@
 #!/usr/bin/make -f
 
+include /usr/share/dpkg/buildtools.mk
+
 # Uncomment this to turn on verbose mode.
 #export DH_VERBOSE=1
 
@@ -11,7 +13,7 @@ endif
 	dh $@ --with vdrplugin
 
 override_dh_auto_configure:
-	./configure --disable-dbus-glib-1
+	./configure --disable-dbus-glib-1 '--cc=$(CC)' '--cxx=$(CXX)' '--pkg-config=$(PKG_CONFIG)'
 
 override_dh_auto_build:
 	dh_auto_build -- all $(MAKE_OPTIONS)
@@ -31,8 +33,8 @@ override_dh_gencontrol:
 override_dh_auto_install:
 	dh_auto_install -- $(MAKE_OPTIONS)
 	install -m 644 -D debian/icon.svg debian/xineliboutput-sxfe/usr/share/icons/xineliboutput-sxfe.svg
-	install -m 644 -D debian/icon.svg debian/xineliboutput-sxfe/usr/share/icons/xineliboutput-fbfe.svg
-	install -m 644 -D debian/icon.svg debian/xineliboutput-sxfe/usr/share/icons/xineliboutput-wlfe.svg
+	install -m 644 -D debian/icon.svg debian/xineliboutput-fbfe/usr/share/icons/xineliboutput-fbfe.svg
+	install -m 644 -D debian/icon.svg debian/xineliboutput-wlfe/usr/share/icons/xineliboutput-wlfe.svg
 
 override_dh_strip:
 	dh_strip --dbgsym-migration='vdr-plugin-xineliboutput-dbg (<< 2.1.0+git20190511-1~)'

Run locally

More details

Full run details

Historical runs