From acbe56f6d0c29fb39b810600dbaaa83bc44c8538 Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Fri, 28 Dec 2012 10:09:41 +0100 Subject: [PATCH] Plugin Makefiles can now include a configuration file for compile time parameters --- CONTRIBUTORS | 2 ++ HISTORY | 9 ++++++++- Make.config.template | 6 +++++- Makefile | 3 ++- PLUGINS/src/dvbsddevice/Makefile | 7 ++++++- PLUGINS/src/epgtableid0/Makefile | 7 ++++++- PLUGINS/src/hello/Makefile | 7 ++++++- PLUGINS/src/osddemo/Makefile | 7 ++++++- PLUGINS/src/pictures/Makefile | 7 ++++++- PLUGINS/src/rcu/Makefile | 7 ++++++- PLUGINS/src/servicedemo/Makefile | 7 ++++++- PLUGINS/src/skincurses/Makefile | 7 ++++++- PLUGINS/src/status/Makefile | 7 ++++++- PLUGINS/src/svdrpdemo/Makefile | 7 ++++++- newplugin | 7 ++++++- 15 files changed, 83 insertions(+), 14 deletions(-) diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 6c87a3e9..c8e032c3 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -1324,6 +1324,8 @@ Reinhard Nissl for reporting that the Transfer Mode indicator bitmap in the LCARS skin may not fit with small font sizes for reporting a race condition when zapping in transfer mode + for requesting that plugin Makefiles should include a configuration file for compile + time parameters Richard Robson for reporting freezing replay if a timer starts while in Transfer Mode from the diff --git a/HISTORY b/HISTORY index 64a9bfac..89c4452e 100644 --- a/HISTORY +++ b/HISTORY @@ -7460,7 +7460,7 @@ Video Disk Recorder Revision History is an I-frame (which normally shouldn't occur). - Fixed replaying ongoing recordings from other VDR instances. -2012-12-27: Version 1.7.35 +2012-12-28: Version 1.7.35 - Making sure that plugins include the VDR header files from the actual VDR source directory when doing "make plugins" (suggested by Christoper Reimer). @@ -7477,3 +7477,10 @@ Video Disk Recorder Revision History - Added MANDIR to the vdr.pc file, so that plugins that need it can retrieve it via MANDIR = $(DESTDIR)$(call PKGCFG,mandir). - Using relative paths again when building plugins locally (by request of Udo Richter). +- Plugin Makefiles can now include a configuration file for compile time parameters + (requested by Reinhard Nissl). The actual name of this file can be defined in + Make.config (see "PLGCFG" in Make.config.template), and existing plugin Makefiles + that have compile time parameters should add the lines + PLGCFG = $(call PKGCFG,plgcfg) + -include $(PLGCFG) + accordingly (see the "newplugin" script for details). diff --git a/Make.config.template b/Make.config.template index 6399b20a..4bf8db57 100644 --- a/Make.config.template +++ b/Make.config.template @@ -6,7 +6,7 @@ # See the main source file 'vdr.c' for copyright information and # how to reach the author. # -# $Id: Make.config.template 2.13 2012/12/27 11:34:05 kls Exp $ +# $Id: Make.config.template 2.14 2012/12/28 09:55:22 kls Exp $ ### The C compiler and options: @@ -30,6 +30,10 @@ PREFIX = /usr/local MANDIR = $(PREFIX)/man BINDIR = $(PREFIX)/bin +# Use this if you want to have a central place where you configure compile time +# parameters for plugins: +#PLGCFG = /etc/vdr/plugins.conf + # By default locale and plugin files are built under the source directory: INCDIR = $(CWD)/include LOCDIR = $(CWD)/locale diff --git a/Makefile b/Makefile index 11c59729..f442fb8b 100644 --- a/Makefile +++ b/Makefile @@ -4,7 +4,7 @@ # See the main source file 'vdr.c' for copyright information and # how to reach the author. # -# $Id: Makefile 2.42 2012/12/27 16:02:53 kls Exp $ +# $Id: Makefile 2.43 2012/12/28 09:44:43 kls Exp $ .DELETE_ON_ERROR: @@ -139,6 +139,7 @@ vdr.pc: @echo "resdir=$(RESDIRDEF)" >> $@ @echo "libdir=$(UP3)$(LIBDIR)" >> $@ @echo "locdir=$(UP3)$(LOCDIR)" >> $@ + @echo "plgcfg=$(PLGCFG)" >> $@ @echo "apiversion=$(APIVERSION)" >> $@ @echo "cflags=$(CFLAGS) $(CDEFINES) -I$(UP3)$(INCDIR)" >> $@ @echo "cxxflags=$(CXXFLAGS) $(CDEFINES) -I$(UP3)$(INCDIR)" >> $@ diff --git a/PLUGINS/src/dvbsddevice/Makefile b/PLUGINS/src/dvbsddevice/Makefile index 72f6139b..b2c07f24 100644 --- a/PLUGINS/src/dvbsddevice/Makefile +++ b/PLUGINS/src/dvbsddevice/Makefile @@ -1,7 +1,7 @@ # # Makefile for a Video Disk Recorder plugin # -# $Id: Makefile 1.16 2012/12/27 13:01:57 kls Exp $ +# $Id: Makefile 1.17 2012/12/28 10:09:07 kls Exp $ # The official name of this plugin. # This name will be used in the '-P...' option of VDR to load the plugin. @@ -18,6 +18,7 @@ VERSION = $(shell grep 'static const char \*VERSION *=' $(PLUGIN).c | awk '{ pri # 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 --variable=$(1) vdr || pkg-config --variable=$(1) ../../../vdr.pc)) LIBDIR = $(DESTDIR)$(call PKGCFG,libdir) +PLGCFG = $(call PKGCFG,plgcfg) # TMPDIR ?= /tmp @@ -30,6 +31,10 @@ export CXXFLAGS = $(call PKGCFG,cxxflags) APIVERSION = $(call PKGCFG,apiversion) +### Allow user defined options to overwrite defaults: + +-include $(PLGCFG) + ### The name of the distribution archive: ARCHIVE = $(PLUGIN)-$(VERSION) diff --git a/PLUGINS/src/epgtableid0/Makefile b/PLUGINS/src/epgtableid0/Makefile index dc5402a8..36ae62d7 100644 --- a/PLUGINS/src/epgtableid0/Makefile +++ b/PLUGINS/src/epgtableid0/Makefile @@ -1,7 +1,7 @@ # # Makefile for a Video Disk Recorder plugin # -# $Id: Makefile 1.9 2012/12/27 13:02:13 kls Exp $ +# $Id: Makefile 1.10 2012/12/28 10:09:16 kls Exp $ # The official name of this plugin. # This name will be used in the '-P...' option of VDR to load the plugin. @@ -18,6 +18,7 @@ VERSION = $(shell grep 'static const char \*VERSION *=' $(PLUGIN).c | awk '{ pri # 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 --variable=$(1) vdr || pkg-config --variable=$(1) ../../../vdr.pc)) LIBDIR = $(DESTDIR)$(call PKGCFG,libdir) +PLGCFG = $(call PKGCFG,plgcfg) # TMPDIR ?= /tmp @@ -30,6 +31,10 @@ export CXXFLAGS = $(call PKGCFG,cxxflags) APIVERSION = $(call PKGCFG,apiversion) +### Allow user defined options to overwrite defaults: + +-include $(PLGCFG) + ### The name of the distribution archive: ARCHIVE = $(PLUGIN)-$(VERSION) diff --git a/PLUGINS/src/hello/Makefile b/PLUGINS/src/hello/Makefile index 4cfcae83..b729122b 100644 --- a/PLUGINS/src/hello/Makefile +++ b/PLUGINS/src/hello/Makefile @@ -1,7 +1,7 @@ # # Makefile for a Video Disk Recorder plugin # -# $Id: Makefile 2.15 2012/12/23 10:03:51 kls Exp $ +# $Id: Makefile 2.16 2012/12/28 10:09:20 kls Exp $ # The official name of this plugin. # This name will be used in the '-P...' option of VDR to load the plugin. @@ -19,6 +19,7 @@ VERSION = $(shell grep 'static const char \*VERSION *=' $(PLUGIN).c | awk '{ pri PKGCFG = $(if $(VDRDIR),$(shell pkg-config --variable=$(1) $(VDRDIR)/vdr.pc),$(shell pkg-config --variable=$(1) vdr || pkg-config --variable=$(1) ../../../vdr.pc)) LIBDIR = $(DESTDIR)$(call PKGCFG,libdir) LOCDIR = $(DESTDIR)$(call PKGCFG,locdir) +PLGCFG = $(call PKGCFG,plgcfg) # TMPDIR ?= /tmp @@ -31,6 +32,10 @@ export CXXFLAGS = $(call PKGCFG,cxxflags) APIVERSION = $(call PKGCFG,apiversion) +### Allow user defined options to overwrite defaults: + +-include $(PLGCFG) + ### The name of the distribution archive: ARCHIVE = $(PLUGIN)-$(VERSION) diff --git a/PLUGINS/src/osddemo/Makefile b/PLUGINS/src/osddemo/Makefile index 6f06e896..e6d8aaae 100644 --- a/PLUGINS/src/osddemo/Makefile +++ b/PLUGINS/src/osddemo/Makefile @@ -1,7 +1,7 @@ # # Makefile for a Video Disk Recorder plugin # -# $Id: Makefile 2.12 2012/12/27 13:02:35 kls Exp $ +# $Id: Makefile 2.13 2012/12/28 10:09:27 kls Exp $ # The official name of this plugin. # This name will be used in the '-P...' option of VDR to load the plugin. @@ -18,6 +18,7 @@ VERSION = $(shell grep 'static const char \*VERSION *=' $(PLUGIN).c | awk '{ pri # 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 --variable=$(1) vdr || pkg-config --variable=$(1) ../../../vdr.pc)) LIBDIR = $(DESTDIR)$(call PKGCFG,libdir) +PLGCFG = $(call PKGCFG,plgcfg) # TMPDIR ?= /tmp @@ -30,6 +31,10 @@ export CXXFLAGS = $(call PKGCFG,cxxflags) APIVERSION = $(call PKGCFG,apiversion) +### Allow user defined options to overwrite defaults: + +-include $(PLGCFG) + ### The name of the distribution archive: ARCHIVE = $(PLUGIN)-$(VERSION) diff --git a/PLUGINS/src/pictures/Makefile b/PLUGINS/src/pictures/Makefile index 516cb857..71377c9c 100644 --- a/PLUGINS/src/pictures/Makefile +++ b/PLUGINS/src/pictures/Makefile @@ -1,7 +1,7 @@ # # Makefile for a Video Disk Recorder plugin # -# $Id: Makefile 2.15 2012/12/23 10:04:13 kls Exp $ +# $Id: Makefile 2.16 2012/12/28 10:09:29 kls Exp $ # The official name of this plugin. # This name will be used in the '-P...' option of VDR to load the plugin. @@ -19,6 +19,7 @@ VERSION = $(shell grep 'static const char \*VERSION *=' $(PLUGIN).c | awk '{ pri PKGCFG = $(if $(VDRDIR),$(shell pkg-config --variable=$(1) $(VDRDIR)/vdr.pc),$(shell pkg-config --variable=$(1) vdr || pkg-config --variable=$(1) ../../../vdr.pc)) LIBDIR = $(DESTDIR)$(call PKGCFG,libdir) LOCDIR = $(DESTDIR)$(call PKGCFG,locdir) +PLGCFG = $(call PKGCFG,plgcfg) # TMPDIR ?= /tmp @@ -31,6 +32,10 @@ export CXXFLAGS = $(call PKGCFG,cxxflags) APIVERSION = $(call PKGCFG,apiversion) +### Allow user defined options to overwrite defaults: + +-include $(PLGCFG) + ### The name of the distribution archive: ARCHIVE = $(PLUGIN)-$(VERSION) diff --git a/PLUGINS/src/rcu/Makefile b/PLUGINS/src/rcu/Makefile index d2cbe9a3..be577ccc 100644 --- a/PLUGINS/src/rcu/Makefile +++ b/PLUGINS/src/rcu/Makefile @@ -1,7 +1,7 @@ # # Makefile for a Video Disk Recorder plugin # -# $Id: Makefile 1.9 2012/12/27 13:02:41 kls Exp $ +# $Id: Makefile 1.10 2012/12/28 10:09:31 kls Exp $ # The official name of this plugin. # This name will be used in the '-P...' option of VDR to load the plugin. @@ -18,6 +18,7 @@ VERSION = $(shell grep 'static const char \*VERSION *=' $(PLUGIN).c | awk '{ pri # 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 --variable=$(1) vdr || pkg-config --variable=$(1) ../../../vdr.pc)) LIBDIR = $(DESTDIR)$(call PKGCFG,libdir) +PLGCFG = $(call PKGCFG,plgcfg) # TMPDIR ?= /tmp @@ -30,6 +31,10 @@ export CXXFLAGS = $(call PKGCFG,cxxflags) APIVERSION = $(call PKGCFG,apiversion) +### Allow user defined options to overwrite defaults: + +-include $(PLGCFG) + ### The name of the distribution archive: ARCHIVE = $(PLUGIN)-$(VERSION) diff --git a/PLUGINS/src/servicedemo/Makefile b/PLUGINS/src/servicedemo/Makefile index bcf4bd39..972652f8 100644 --- a/PLUGINS/src/servicedemo/Makefile +++ b/PLUGINS/src/servicedemo/Makefile @@ -1,7 +1,7 @@ # # Makefile for a Video Disk Recorder plugin # -# $Id: Makefile 2.10 2012/12/27 13:02:52 kls Exp $ +# $Id: Makefile 2.11 2012/12/28 10:09:34 kls Exp $ # The official name of this plugin. # This name will be used in the '-P...' option of VDR to load the plugin. @@ -19,6 +19,7 @@ VERSION = $(shell grep 'static const char \*VERSION *=' $(PLUGIN1).c | awk '{ pr # 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 --variable=$(1) vdr || pkg-config --variable=$(1) ../../../vdr.pc)) LIBDIR = $(DESTDIR)$(call PKGCFG,libdir) +PLGCFG = $(call PKGCFG,plgcfg) # TMPDIR ?= /tmp @@ -31,6 +32,10 @@ export CXXFLAGS = $(call PKGCFG,cxxflags) APIVERSION = $(call PKGCFG,apiversion) +### Allow user defined options to overwrite defaults: + +-include $(PLGCFG) + ### The name of the distribution archive: ARCHIVE = svcintf-$(VERSION) diff --git a/PLUGINS/src/skincurses/Makefile b/PLUGINS/src/skincurses/Makefile index 63be8bb4..6ba4d252 100644 --- a/PLUGINS/src/skincurses/Makefile +++ b/PLUGINS/src/skincurses/Makefile @@ -1,7 +1,7 @@ # # Makefile for a Video Disk Recorder plugin # -# $Id: Makefile 2.15 2012/12/23 10:04:18 kls Exp $ +# $Id: Makefile 2.16 2012/12/28 10:09:36 kls Exp $ # The official name of this plugin. # This name will be used in the '-P...' option of VDR to load the plugin. @@ -19,6 +19,7 @@ VERSION = $(shell grep 'static const char \*VERSION *=' $(PLUGIN).c | awk '{ pri PKGCFG = $(if $(VDRDIR),$(shell pkg-config --variable=$(1) $(VDRDIR)/vdr.pc),$(shell pkg-config --variable=$(1) vdr || pkg-config --variable=$(1) ../../../vdr.pc)) LIBDIR = $(DESTDIR)$(call PKGCFG,libdir) LOCDIR = $(DESTDIR)$(call PKGCFG,locdir) +PLGCFG = $(call PKGCFG,plgcfg) # TMPDIR ?= /tmp @@ -31,6 +32,10 @@ export CXXFLAGS = $(call PKGCFG,cxxflags) APIVERSION = $(call PKGCFG,apiversion) +### Allow user defined options to overwrite defaults: + +-include $(PLGCFG) + ### The name of the distribution archive: ARCHIVE = $(PLUGIN)-$(VERSION) diff --git a/PLUGINS/src/status/Makefile b/PLUGINS/src/status/Makefile index bb398f25..a27bc506 100644 --- a/PLUGINS/src/status/Makefile +++ b/PLUGINS/src/status/Makefile @@ -1,7 +1,7 @@ # # Makefile for a Video Disk Recorder plugin # -# $Id: Makefile 2.11 2012/12/27 13:03:04 kls Exp $ +# $Id: Makefile 2.12 2012/12/28 10:09:38 kls Exp $ # The official name of this plugin. # This name will be used in the '-P...' option of VDR to load the plugin. @@ -18,6 +18,7 @@ VERSION = $(shell grep 'static const char \*VERSION *=' $(PLUGIN).c | awk '{ pri # 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 --variable=$(1) vdr || pkg-config --variable=$(1) ../../../vdr.pc)) LIBDIR = $(DESTDIR)$(call PKGCFG,libdir) +PLGCFG = $(call PKGCFG,plgcfg) # TMPDIR ?= /tmp @@ -30,6 +31,10 @@ export CXXFLAGS = $(call PKGCFG,cxxflags) APIVERSION = $(call PKGCFG,apiversion) +### Allow user defined options to overwrite defaults: + +-include $(PLGCFG) + ### The name of the distribution archive: ARCHIVE = $(PLUGIN)-$(VERSION) diff --git a/PLUGINS/src/svdrpdemo/Makefile b/PLUGINS/src/svdrpdemo/Makefile index 96e2f4f9..d0c572e9 100644 --- a/PLUGINS/src/svdrpdemo/Makefile +++ b/PLUGINS/src/svdrpdemo/Makefile @@ -1,7 +1,7 @@ # # Makefile for a Video Disk Recorder plugin # -# $Id: Makefile 2.11 2012/12/27 13:03:07 kls Exp $ +# $Id: Makefile 2.12 2012/12/28 10:09:41 kls Exp $ # The official name of this plugin. # This name will be used in the '-P...' option of VDR to load the plugin. @@ -18,6 +18,7 @@ VERSION = $(shell grep 'static const char \*VERSION *=' $(PLUGIN).c | awk '{ pri # 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 --variable=$(1) vdr || pkg-config --variable=$(1) ../../../vdr.pc)) LIBDIR = $(DESTDIR)$(call PKGCFG,libdir) +PLGCFG = $(call PKGCFG,plgcfg) # TMPDIR ?= /tmp @@ -30,6 +31,10 @@ export CXXFLAGS = $(call PKGCFG,cxxflags) APIVERSION = $(call PKGCFG,apiversion) +### Allow user defined options to overwrite defaults: + +-include $(PLGCFG) + ### The name of the distribution archive: ARCHIVE = $(PLUGIN)-$(VERSION) diff --git a/newplugin b/newplugin index a7bd5fcb..df6f0bdb 100755 --- a/newplugin +++ b/newplugin @@ -12,7 +12,7 @@ # See the main source file 'vdr.c' for copyright information and # how to reach the author. # -# $Id: newplugin 2.14 2012/12/23 10:05:22 kls Exp $ +# $Id: newplugin 2.15 2012/12/28 09:52:29 kls Exp $ $PLUGIN_NAME = $ARGV[0] || die "Usage: newplugin \n"; @@ -78,6 +78,7 @@ VERSION = \$(shell grep 'static const char \\*VERSION *=' \$(PLUGIN).c | awk '{ PKGCFG = \$(if \$(VDRDIR),\$(shell pkg-config --variable=\$(1) \$(VDRDIR)/vdr.pc),\$(shell pkg-config --variable=\$(1) vdr || pkg-config --variable=\$(1) ../../../vdr.pc)) LIBDIR = \$(DESTDIR)\$(call PKGCFG,libdir) LOCDIR = \$(DESTDIR)\$(call PKGCFG,locdir) +PLGCFG = \$(call PKGCFG,plgcfg) # TMPDIR ?= /tmp @@ -90,6 +91,10 @@ export CXXFLAGS = \$(call PKGCFG,cxxflags) APIVERSION = \$(call PKGCFG,apiversion) +### Allow user defined options to overwrite defaults: + +-include \$(PLGCFG) + ### The name of the distribution archive: ARCHIVE = \$(PLUGIN)-\$(VERSION)