mirror of
https://github.com/VDR4Arch/vdr.git
synced 2023-10-10 13:36:52 +02:00
Implemented APIVERSION for the VDR plugin API version number
This commit is contained in:
parent
5dccc91c62
commit
73917abf60
33
HISTORY
33
HISTORY
@ -4534,6 +4534,8 @@ Video Disk Recorder Revision History
|
|||||||
other than /usr/include/linux/dvb, you can define DVBDIR in the Make.config
|
other than /usr/include/linux/dvb, you can define DVBDIR in the Make.config
|
||||||
file (see also INSTALL). Any reference to DVBDIR should be removed from all
|
file (see also INSTALL). Any reference to DVBDIR should be removed from all
|
||||||
plugins' Makefiles, like this:
|
plugins' Makefiles, like this:
|
||||||
|
|
||||||
|
------------------------------------------------------------
|
||||||
--- PLUGINS/src/hello/Makefile 2005/11/11 13:20:14 1.10
|
--- PLUGINS/src/hello/Makefile 2005/11/11 13:20:14 1.10
|
||||||
+++ PLUGINS/src/hello/Makefile 2006/04/15 11:58:46 1.11
|
+++ PLUGINS/src/hello/Makefile 2006/04/15 11:58:46 1.11
|
||||||
@@ -20,7 +20,6 @@
|
@@ -20,7 +20,6 @@
|
||||||
@ -4552,6 +4554,7 @@ Video Disk Recorder Revision History
|
|||||||
+INCLUDES += -I$(VDRDIR)/include
|
+INCLUDES += -I$(VDRDIR)/include
|
||||||
|
|
||||||
DEFINES += -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
|
DEFINES += -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
|
||||||
|
------------------------------------------------------------
|
||||||
|
|
||||||
Thanks to Marco Schlüßler for pointing out this problem.
|
Thanks to Marco Schlüßler for pointing out this problem.
|
||||||
- Implemented kNext and kPrev keys (based on a patch from Peter Juszack).
|
- Implemented kNext and kPrev keys (based on a patch from Peter Juszack).
|
||||||
@ -4561,3 +4564,33 @@ Video Disk Recorder Revision History
|
|||||||
allow updating only the PIDs (see MANUAL for details). When updating to this
|
allow updating only the PIDs (see MANUAL for details). When updating to this
|
||||||
version of VDR, please verify that the setting is as you want it to be, because
|
version of VDR, please verify that the setting is as you want it to be, because
|
||||||
the values have been shifted.
|
the values have been shifted.
|
||||||
|
- The new APIVERSION (see config.h) now allows existing compiled plugins to be
|
||||||
|
used with newer versions of VDR, as long as there have been no changes to the
|
||||||
|
VDR header files since the last APIVERSION. Existing plugins' Makefiles should
|
||||||
|
have all references to VDRVERSION changed to APIVERSION, like this:
|
||||||
|
|
||||||
|
------------------------------------------------------------
|
||||||
|
--- PLUGINS/src/hello/Makefile 2006/04/15 11:58:46 1.11
|
||||||
|
+++ PLUGINS/src/hello/Makefile 2006/04/16 09:03:50 1.12
|
||||||
|
@@ -28,9 +28,9 @@
|
||||||
|
|
||||||
|
-include $(VDRDIR)/Make.config
|
||||||
|
|
||||||
|
-### The version number of VDR (taken from VDR's "config.h"):
|
||||||
|
+### The version number of VDR's plugin API (taken from VDR's "config.h"):
|
||||||
|
|
||||||
|
-VDRVERSION = $(shell grep 'define VDRVERSION ' $(VDRDIR)/config.h | awk '{ print $$3 }' | sed -e 's/"//g')
|
||||||
|
+APIVERSION = $(shell grep 'define APIVERSION ' $(VDRDIR)/config.h | awk '{ print $$3 }' | sed -e 's/"//g')
|
||||||
|
|
||||||
|
### The name of the distribution archive:
|
||||||
|
|
||||||
|
@@ -67,7 +67,7 @@
|
||||||
|
|
||||||
|
libvdr-$(PLUGIN).so: $(OBJS)
|
||||||
|
$(CXX) $(CXXFLAGS) -shared $(OBJS) -o $@
|
||||||
|
- @cp $@ $(LIBDIR)/$@.$(VDRVERSION)
|
||||||
|
+ @cp $@ $(LIBDIR)/$@.$(APIVERSION)
|
||||||
|
|
||||||
|
dist: clean
|
||||||
|
@-rm -rf $(TMPDIR)/$(ARCHIVE)
|
||||||
|
------------------------------------------------------------
|
||||||
|
9
Makefile
9
Makefile
@ -4,7 +4,7 @@
|
|||||||
# See the main source file 'vdr.c' for copyright information and
|
# See the main source file 'vdr.c' for copyright information and
|
||||||
# how to reach the author.
|
# how to reach the author.
|
||||||
#
|
#
|
||||||
# $Id: Makefile 1.86 2006/04/15 12:24:28 kls Exp $
|
# $Id: Makefile 1.87 2006/04/16 09:00:30 kls Exp $
|
||||||
|
|
||||||
.DELETE_ON_ERROR:
|
.DELETE_ON_ERROR:
|
||||||
|
|
||||||
@ -79,9 +79,10 @@ DEFINES += -D_GNU_SOURCE
|
|||||||
DEFINES += -DVIDEODIR=\"$(VIDEODIR)\"
|
DEFINES += -DVIDEODIR=\"$(VIDEODIR)\"
|
||||||
DEFINES += -DPLUGINDIR=\"$(PLUGINLIBDIR)\"
|
DEFINES += -DPLUGINDIR=\"$(PLUGINLIBDIR)\"
|
||||||
|
|
||||||
# The version number of VDR (taken from VDR's "config.h"):
|
# The version numbers of VDR and the plugin API (taken from VDR's "config.h"):
|
||||||
|
|
||||||
VDRVERSION = $(shell grep 'define VDRVERSION ' config.h | awk '{ print $$3 }' | sed -e 's/"//g')
|
VDRVERSION = $(shell grep 'define VDRVERSION ' config.h | awk '{ print $$3 }' | sed -e 's/"//g')
|
||||||
|
APIVERSION = $(shell grep 'define APIVERSION ' config.h | awk '{ print $$3 }' | sed -e 's/"//g')
|
||||||
|
|
||||||
ifdef VFAT
|
ifdef VFAT
|
||||||
# for people who want their video directory on a VFAT partition
|
# for people who want their video directory on a VFAT partition
|
||||||
@ -183,7 +184,7 @@ plugins: include-dir
|
|||||||
|
|
||||||
clean-plugins:
|
clean-plugins:
|
||||||
@for i in `ls $(PLUGINDIR)/src | grep -v '[^a-z0-9]'`; do $(MAKE) -C "$(PLUGINDIR)/src/$$i" clean; done
|
@for i in `ls $(PLUGINDIR)/src | grep -v '[^a-z0-9]'`; do $(MAKE) -C "$(PLUGINDIR)/src/$$i" clean; done
|
||||||
@-rm -f $(PLUGINDIR)/lib/libvdr-*.so.$(VDRVERSION)
|
@-rm -f $(PLUGINDIR)/lib/libvdr-*.so.$(APIVERSION)
|
||||||
|
|
||||||
# Install the files:
|
# Install the files:
|
||||||
|
|
||||||
@ -215,7 +216,7 @@ install-doc:
|
|||||||
|
|
||||||
install-plugins: plugins
|
install-plugins: plugins
|
||||||
@mkdir -p $(PLUGINLIBDIR)
|
@mkdir -p $(PLUGINLIBDIR)
|
||||||
@cp $(PLUGINDIR)/lib/libvdr-*.so.$(VDRVERSION) $(PLUGINLIBDIR)
|
@cp $(PLUGINDIR)/lib/libvdr-*.so.$(APIVERSION) $(PLUGINLIBDIR)
|
||||||
|
|
||||||
# Source documentation:
|
# Source documentation:
|
||||||
|
|
||||||
|
11
PLUGINS.html
11
PLUGINS.html
@ -165,11 +165,20 @@ loadable library file for that plugin (we'll get to the details later).
|
|||||||
The <tt>lib</tt> directory contains the dynamically loadable libraries of all
|
The <tt>lib</tt> directory contains the dynamically loadable libraries of all
|
||||||
available plugins. Note that the names of these files are created by concatenating
|
available plugins. Note that the names of these files are created by concatenating
|
||||||
<p>
|
<p>
|
||||||
|
<!--X1.3.47--><table width=100%><tr><td bgcolor=#FF0000> </td><td width=100%>
|
||||||
<table border=2>
|
<table border=2>
|
||||||
<tr><td align=center><b><tt>libvdr-</tt></b></td><td align=center><b><tt>hello</tt></b></td><td align=center><b><tt>.so.</tt></b></td><td align=center><b><tt>1.1.0</tt></b></td></tr>
|
<tr><td align=center><b><tt>libvdr-</tt></b></td><td align=center><b><tt>hello</tt></b></td><td align=center><b><tt>.so.</tt></b></td><td align=center><b><tt>1.1.0</tt></b></td></tr>
|
||||||
<tr><td align=center><font size=-1>VDR plugin<br>library prefix</font></td><td align=center><font size=-1>name of<br>the plugin</font></td><td align=center><font size=-1>shared object<br>indicator</font></td><td align=center><font size=-1>VDR version number<br>this plugin was<br>compiled for</font></td></tr>
|
<tr><td align=center><font size=-1>VDR plugin<br>library prefix</font></td><td align=center><font size=-1>name of<br>the plugin</font></td><td align=center><font size=-1>shared object<br>indicator</font></td><td align=center><font size=-1>API version number<br>this plugin was<br>compiled for</font></td></tr>
|
||||||
</table>
|
</table>
|
||||||
<p>
|
<p>
|
||||||
|
The <i>API version number</i> refers to the plugin API version number of the VDR
|
||||||
|
version this plugin was compiled with. Compiled plugins can run with newer versions
|
||||||
|
of VDR as long as their plugin API version number is still the same as that of
|
||||||
|
the current VDR version. That way minor fixes to VDR, that don't require changes
|
||||||
|
to the VDR header files, can be made without requiring all plugins to be
|
||||||
|
recompiled.
|
||||||
|
<!--X1.3.47--></td></tr></table>
|
||||||
|
<p>
|
||||||
The plugin library files can be stored in any directory. If the default organization
|
The plugin library files can be stored in any directory. If the default organization
|
||||||
is not used, the path to the plugin directory has be be given to VDR through the
|
is not used, the path to the plugin directory has be be given to VDR through the
|
||||||
<b><tt>-L</tt></b> option.
|
<b><tt>-L</tt></b> option.
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#
|
#
|
||||||
# Makefile for a Video Disk Recorder plugin
|
# Makefile for a Video Disk Recorder plugin
|
||||||
#
|
#
|
||||||
# $Id: Makefile 1.11 2006/04/15 11:58:46 kls Exp $
|
# $Id: Makefile 1.12 2006/04/16 09:03:50 kls Exp $
|
||||||
|
|
||||||
# The official name of this plugin.
|
# The official name of this plugin.
|
||||||
# This name will be used in the '-P...' option of VDR to load the plugin.
|
# This name will be used in the '-P...' option of VDR to load the plugin.
|
||||||
@ -28,9 +28,9 @@ TMPDIR = /tmp
|
|||||||
|
|
||||||
-include $(VDRDIR)/Make.config
|
-include $(VDRDIR)/Make.config
|
||||||
|
|
||||||
### The version number of VDR (taken from VDR's "config.h"):
|
### The version number of VDR's plugin API (taken from VDR's "config.h"):
|
||||||
|
|
||||||
VDRVERSION = $(shell grep 'define VDRVERSION ' $(VDRDIR)/config.h | awk '{ print $$3 }' | sed -e 's/"//g')
|
APIVERSION = $(shell grep 'define APIVERSION ' $(VDRDIR)/config.h | awk '{ print $$3 }' | sed -e 's/"//g')
|
||||||
|
|
||||||
### The name of the distribution archive:
|
### The name of the distribution archive:
|
||||||
|
|
||||||
@ -67,7 +67,7 @@ all: libvdr-$(PLUGIN).so
|
|||||||
|
|
||||||
libvdr-$(PLUGIN).so: $(OBJS)
|
libvdr-$(PLUGIN).so: $(OBJS)
|
||||||
$(CXX) $(CXXFLAGS) -shared $(OBJS) -o $@
|
$(CXX) $(CXXFLAGS) -shared $(OBJS) -o $@
|
||||||
@cp $@ $(LIBDIR)/$@.$(VDRVERSION)
|
@cp $@ $(LIBDIR)/$@.$(APIVERSION)
|
||||||
|
|
||||||
dist: clean
|
dist: clean
|
||||||
@-rm -rf $(TMPDIR)/$(ARCHIVE)
|
@-rm -rf $(TMPDIR)/$(ARCHIVE)
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#
|
#
|
||||||
# Makefile for a Video Disk Recorder plugin
|
# Makefile for a Video Disk Recorder plugin
|
||||||
#
|
#
|
||||||
# $Id: Makefile 1.5 2006/04/15 11:59:01 kls Exp $
|
# $Id: Makefile 1.6 2006/04/16 09:03:55 kls Exp $
|
||||||
|
|
||||||
# The official name of this plugin.
|
# The official name of this plugin.
|
||||||
# This name will be used in the '-P...' option of VDR to load the plugin.
|
# This name will be used in the '-P...' option of VDR to load the plugin.
|
||||||
@ -28,9 +28,9 @@ TMPDIR = /tmp
|
|||||||
|
|
||||||
-include $(VDRDIR)/Make.config
|
-include $(VDRDIR)/Make.config
|
||||||
|
|
||||||
### The version number of VDR (taken from VDR's "config.h"):
|
### The version number of VDR's plugin API (taken from VDR's "config.h"):
|
||||||
|
|
||||||
VDRVERSION = $(shell grep 'define VDRVERSION ' $(VDRDIR)/config.h | awk '{ print $$3 }' | sed -e 's/"//g')
|
APIVERSION = $(shell grep 'define APIVERSION ' $(VDRDIR)/config.h | awk '{ print $$3 }' | sed -e 's/"//g')
|
||||||
|
|
||||||
### The name of the distribution archive:
|
### The name of the distribution archive:
|
||||||
|
|
||||||
@ -67,7 +67,7 @@ all: libvdr-$(PLUGIN).so
|
|||||||
|
|
||||||
libvdr-$(PLUGIN).so: $(OBJS)
|
libvdr-$(PLUGIN).so: $(OBJS)
|
||||||
$(CXX) $(CXXFLAGS) -shared $(OBJS) -o $@
|
$(CXX) $(CXXFLAGS) -shared $(OBJS) -o $@
|
||||||
@cp $@ $(LIBDIR)/$@.$(VDRVERSION)
|
@cp $@ $(LIBDIR)/$@.$(APIVERSION)
|
||||||
|
|
||||||
dist: clean
|
dist: clean
|
||||||
@-rm -rf $(TMPDIR)/$(ARCHIVE)
|
@-rm -rf $(TMPDIR)/$(ARCHIVE)
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#
|
#
|
||||||
# Makefile for a Video Disk Recorder plugin
|
# Makefile for a Video Disk Recorder plugin
|
||||||
#
|
#
|
||||||
# $Id: Makefile 1.3 2006/04/15 11:59:07 kls Exp $
|
# $Id: Makefile 1.4 2006/04/16 09:03:59 kls Exp $
|
||||||
|
|
||||||
# The official name of this plugin.
|
# The official name of this plugin.
|
||||||
# This name will be used in the '-P...' option of VDR to load the plugin.
|
# This name will be used in the '-P...' option of VDR to load the plugin.
|
||||||
@ -29,9 +29,9 @@ TMPDIR = /tmp
|
|||||||
|
|
||||||
-include $(VDRDIR)/Make.config
|
-include $(VDRDIR)/Make.config
|
||||||
|
|
||||||
### The version number of VDR (taken from VDR's "config.h"):
|
### The version number of VDR's plugin API (taken from VDR's "config.h"):
|
||||||
|
|
||||||
VDRVERSION = $(shell grep 'define VDRVERSION ' $(VDRDIR)/config.h | awk '{ print $$3 }' | sed -e 's/"//g')
|
APIVERSION = $(shell grep 'define APIVERSION ' $(VDRDIR)/config.h | awk '{ print $$3 }' | sed -e 's/"//g')
|
||||||
|
|
||||||
### The name of the distribution archive:
|
### The name of the distribution archive:
|
||||||
|
|
||||||
@ -68,11 +68,11 @@ all: libvdr-$(PLUGIN1).so libvdr-$(PLUGIN2).so
|
|||||||
|
|
||||||
libvdr-$(PLUGIN1).so: $(PLUGIN1).o
|
libvdr-$(PLUGIN1).so: $(PLUGIN1).o
|
||||||
$(CXX) $(CXXFLAGS) -shared $(PLUGIN1).o -o $@
|
$(CXX) $(CXXFLAGS) -shared $(PLUGIN1).o -o $@
|
||||||
@cp $@ $(LIBDIR)/$@.$(VDRVERSION)
|
@cp $@ $(LIBDIR)/$@.$(APIVERSION)
|
||||||
|
|
||||||
libvdr-$(PLUGIN2).so: $(PLUGIN2).o
|
libvdr-$(PLUGIN2).so: $(PLUGIN2).o
|
||||||
$(CXX) $(CXXFLAGS) -shared $(PLUGIN2).o -o $@
|
$(CXX) $(CXXFLAGS) -shared $(PLUGIN2).o -o $@
|
||||||
@cp $@ $(LIBDIR)/$@.$(VDRVERSION)
|
@cp $@ $(LIBDIR)/$@.$(APIVERSION)
|
||||||
|
|
||||||
dist: clean
|
dist: clean
|
||||||
@-rm -rf $(TMPDIR)/$(ARCHIVE)
|
@-rm -rf $(TMPDIR)/$(ARCHIVE)
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#
|
#
|
||||||
# Makefile for a Video Disk Recorder plugin
|
# Makefile for a Video Disk Recorder plugin
|
||||||
#
|
#
|
||||||
# $Id: Makefile 1.3 2006/04/15 11:59:12 kls Exp $
|
# $Id: Makefile 1.4 2006/04/16 09:04:04 kls Exp $
|
||||||
|
|
||||||
# The official name of this plugin.
|
# The official name of this plugin.
|
||||||
# This name will be used in the '-P...' option of VDR to load the plugin.
|
# This name will be used in the '-P...' option of VDR to load the plugin.
|
||||||
@ -28,9 +28,9 @@ TMPDIR = /tmp
|
|||||||
|
|
||||||
-include $(VDRDIR)/Make.config
|
-include $(VDRDIR)/Make.config
|
||||||
|
|
||||||
### The version number of VDR (taken from VDR's "config.h"):
|
### The version number of VDR's plugin API (taken from VDR's "config.h"):
|
||||||
|
|
||||||
VDRVERSION = $(shell grep 'define VDRVERSION ' $(VDRDIR)/config.h | awk '{ print $$3 }' | sed -e 's/"//g')
|
APIVERSION = $(shell grep 'define APIVERSION ' $(VDRDIR)/config.h | awk '{ print $$3 }' | sed -e 's/"//g')
|
||||||
|
|
||||||
### The name of the distribution archive:
|
### The name of the distribution archive:
|
||||||
|
|
||||||
@ -67,7 +67,7 @@ all: libvdr-$(PLUGIN).so
|
|||||||
|
|
||||||
libvdr-$(PLUGIN).so: $(OBJS)
|
libvdr-$(PLUGIN).so: $(OBJS)
|
||||||
$(CXX) $(CXXFLAGS) -shared $(OBJS) -lncurses -o $@
|
$(CXX) $(CXXFLAGS) -shared $(OBJS) -lncurses -o $@
|
||||||
@cp $@ $(LIBDIR)/$@.$(VDRVERSION)
|
@cp $@ $(LIBDIR)/$@.$(APIVERSION)
|
||||||
|
|
||||||
dist: clean
|
dist: clean
|
||||||
@-rm -rf $(TMPDIR)/$(ARCHIVE)
|
@-rm -rf $(TMPDIR)/$(ARCHIVE)
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#
|
#
|
||||||
# Makefile for a Video Disk Recorder plugin
|
# Makefile for a Video Disk Recorder plugin
|
||||||
#
|
#
|
||||||
# $Id: Makefile 1.5 2006/04/15 11:59:17 kls Exp $
|
# $Id: Makefile 1.6 2006/04/16 09:04:06 kls Exp $
|
||||||
|
|
||||||
# The official name of this plugin.
|
# The official name of this plugin.
|
||||||
# This name will be used in the '-P...' option of VDR to load the plugin.
|
# This name will be used in the '-P...' option of VDR to load the plugin.
|
||||||
@ -28,9 +28,9 @@ TMPDIR = /tmp
|
|||||||
|
|
||||||
-include $(VDRDIR)/Make.config
|
-include $(VDRDIR)/Make.config
|
||||||
|
|
||||||
### The version number of VDR (taken from VDR's "config.h"):
|
### The version number of VDR's plugin API (taken from VDR's "config.h"):
|
||||||
|
|
||||||
VDRVERSION = $(shell grep 'define VDRVERSION ' $(VDRDIR)/config.h | awk '{ print $$3 }' | sed -e 's/"//g')
|
APIVERSION = $(shell grep 'define APIVERSION ' $(VDRDIR)/config.h | awk '{ print $$3 }' | sed -e 's/"//g')
|
||||||
|
|
||||||
### The name of the distribution archive:
|
### The name of the distribution archive:
|
||||||
|
|
||||||
@ -67,7 +67,7 @@ all: libvdr-$(PLUGIN).so
|
|||||||
|
|
||||||
libvdr-$(PLUGIN).so: $(OBJS)
|
libvdr-$(PLUGIN).so: $(OBJS)
|
||||||
$(CXX) $(CXXFLAGS) -shared $(OBJS) -o $@
|
$(CXX) $(CXXFLAGS) -shared $(OBJS) -o $@
|
||||||
@cp $@ $(LIBDIR)/$@.$(VDRVERSION)
|
@cp $@ $(LIBDIR)/$@.$(APIVERSION)
|
||||||
|
|
||||||
dist: clean
|
dist: clean
|
||||||
@-rm -rf $(TMPDIR)/$(ARCHIVE)
|
@-rm -rf $(TMPDIR)/$(ARCHIVE)
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#
|
#
|
||||||
# Makefile for a Video Disk Recorder plugin
|
# Makefile for a Video Disk Recorder plugin
|
||||||
#
|
#
|
||||||
# $Id: Makefile 1.9 2006/04/15 11:59:23 kls Exp $
|
# $Id: Makefile 1.10 2006/04/16 09:04:10 kls Exp $
|
||||||
|
|
||||||
# The official name of this plugin.
|
# The official name of this plugin.
|
||||||
# This name will be used in the '-P...' option of VDR to load the plugin.
|
# This name will be used in the '-P...' option of VDR to load the plugin.
|
||||||
@ -28,9 +28,9 @@ TMPDIR = /tmp
|
|||||||
|
|
||||||
-include $(VDRDIR)/Make.config
|
-include $(VDRDIR)/Make.config
|
||||||
|
|
||||||
### The version number of VDR (taken from VDR's "config.h"):
|
### The version number of VDR's plugin API (taken from VDR's "config.h"):
|
||||||
|
|
||||||
VDRVERSION = $(shell grep 'define VDRVERSION ' $(VDRDIR)/config.h | awk '{ print $$3 }' | sed -e 's/"//g')
|
APIVERSION = $(shell grep 'define APIVERSION ' $(VDRDIR)/config.h | awk '{ print $$3 }' | sed -e 's/"//g')
|
||||||
|
|
||||||
### The name of the distribution archive:
|
### The name of the distribution archive:
|
||||||
|
|
||||||
@ -67,7 +67,7 @@ all: libvdr-$(PLUGIN).so
|
|||||||
|
|
||||||
libvdr-$(PLUGIN).so: $(OBJS)
|
libvdr-$(PLUGIN).so: $(OBJS)
|
||||||
$(CXX) $(CXXFLAGS) -shared $(OBJS) -o $@
|
$(CXX) $(CXXFLAGS) -shared $(OBJS) -o $@
|
||||||
@cp $@ $(LIBDIR)/$@.$(VDRVERSION)
|
@cp $@ $(LIBDIR)/$@.$(APIVERSION)
|
||||||
|
|
||||||
dist: clean
|
dist: clean
|
||||||
@-rm -rf $(TMPDIR)/$(ARCHIVE)
|
@-rm -rf $(TMPDIR)/$(ARCHIVE)
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#
|
#
|
||||||
# Makefile for a Video Disk Recorder plugin
|
# Makefile for a Video Disk Recorder plugin
|
||||||
#
|
#
|
||||||
# $Id: Makefile 1.3 2006/04/15 11:59:28 kls Exp $
|
# $Id: Makefile 1.4 2006/04/16 09:04:13 kls Exp $
|
||||||
|
|
||||||
# The official name of this plugin.
|
# The official name of this plugin.
|
||||||
# This name will be used in the '-P...' option of VDR to load the plugin.
|
# This name will be used in the '-P...' option of VDR to load the plugin.
|
||||||
@ -28,9 +28,9 @@ TMPDIR = /tmp
|
|||||||
|
|
||||||
-include $(VDRDIR)/Make.config
|
-include $(VDRDIR)/Make.config
|
||||||
|
|
||||||
### The version number of VDR (taken from VDR's "config.h"):
|
### The version number of VDR's plugin API (taken from VDR's "config.h"):
|
||||||
|
|
||||||
VDRVERSION = $(shell grep 'define VDRVERSION ' $(VDRDIR)/config.h | awk '{ print $$3 }' | sed -e 's/"//g')
|
APIVERSION = $(shell grep 'define APIVERSION ' $(VDRDIR)/config.h | awk '{ print $$3 }' | sed -e 's/"//g')
|
||||||
|
|
||||||
### The name of the distribution archive:
|
### The name of the distribution archive:
|
||||||
|
|
||||||
@ -67,7 +67,7 @@ all: libvdr-$(PLUGIN).so
|
|||||||
|
|
||||||
libvdr-$(PLUGIN).so: $(OBJS)
|
libvdr-$(PLUGIN).so: $(OBJS)
|
||||||
$(CXX) $(CXXFLAGS) -shared $(OBJS) -o $@
|
$(CXX) $(CXXFLAGS) -shared $(OBJS) -o $@
|
||||||
@cp $@ $(LIBDIR)/$@.$(VDRVERSION)
|
@cp $@ $(LIBDIR)/$@.$(APIVERSION)
|
||||||
|
|
||||||
dist: clean
|
dist: clean
|
||||||
@-rm -rf $(TMPDIR)/$(ARCHIVE)
|
@-rm -rf $(TMPDIR)/$(ARCHIVE)
|
||||||
|
15
config.h
15
config.h
@ -4,7 +4,7 @@
|
|||||||
* See the main source file 'vdr.c' for copyright information and
|
* See the main source file 'vdr.c' for copyright information and
|
||||||
* how to reach the author.
|
* how to reach the author.
|
||||||
*
|
*
|
||||||
* $Id: config.h 1.250 2006/04/14 09:46:32 kls Exp $
|
* $Id: config.h 1.251 2006/04/16 09:36:10 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __CONFIG_H
|
#ifndef __CONFIG_H
|
||||||
@ -19,9 +19,22 @@
|
|||||||
#include "i18n.h"
|
#include "i18n.h"
|
||||||
#include "tools.h"
|
#include "tools.h"
|
||||||
|
|
||||||
|
// VDR's own version number:
|
||||||
|
|
||||||
#define VDRVERSION "1.3.47"
|
#define VDRVERSION "1.3.47"
|
||||||
#define VDRVERSNUM 10347 // Version * 10000 + Major * 100 + Minor
|
#define VDRVERSNUM 10347 // Version * 10000 + Major * 100 + Minor
|
||||||
|
|
||||||
|
// The plugin API's version number:
|
||||||
|
|
||||||
|
#define APIVERSION "1.3.47"
|
||||||
|
#define APIVERSNUM 10347 // Version * 10000 + Major * 100 + Minor
|
||||||
|
|
||||||
|
// When loading plugins, VDR searches them by their APIVERSION, which
|
||||||
|
// may be smaller than VDRVERSION in case there have been no changes to
|
||||||
|
// VDR header files since the last APIVERSION. This allows compiled
|
||||||
|
// plugins to work with newer versions of the core VDR as long as no
|
||||||
|
// VDR header files have changed.
|
||||||
|
|
||||||
#define MAXPRIORITY 99
|
#define MAXPRIORITY 99
|
||||||
#define MAXLIFETIME 99
|
#define MAXLIFETIME 99
|
||||||
|
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
# See the main source file 'vdr.c' for copyright information and
|
# See the main source file 'vdr.c' for copyright information and
|
||||||
# how to reach the author.
|
# how to reach the author.
|
||||||
#
|
#
|
||||||
# $Id: newplugin 1.24 2006/04/15 11:59:43 kls Exp $
|
# $Id: newplugin 1.25 2006/04/16 09:04:21 kls Exp $
|
||||||
|
|
||||||
$PLUGIN_NAME = $ARGV[0] || die "Usage: newplugin <name>\n";
|
$PLUGIN_NAME = $ARGV[0] || die "Usage: newplugin <name>\n";
|
||||||
|
|
||||||
@ -83,9 +83,9 @@ TMPDIR = /tmp
|
|||||||
|
|
||||||
-include \$(VDRDIR)/Make.config
|
-include \$(VDRDIR)/Make.config
|
||||||
|
|
||||||
### The version number of VDR (taken from VDR's "config.h"):
|
### The version number of VDR's plugin API (taken from VDR's "config.h"):
|
||||||
|
|
||||||
VDRVERSION = \$(shell grep 'define VDRVERSION ' \$(VDRDIR)/config.h | awk '{ print \$\$3 }' | sed -e 's/"//g')
|
APIVERSION = \$(shell grep 'define APIVERSION ' \$(VDRDIR)/config.h | awk '{ print \$\$3 }' | sed -e 's/"//g')
|
||||||
|
|
||||||
### The name of the distribution archive:
|
### The name of the distribution archive:
|
||||||
|
|
||||||
@ -122,7 +122,7 @@ all: libvdr-\$(PLUGIN).so
|
|||||||
|
|
||||||
libvdr-\$(PLUGIN).so: \$(OBJS)
|
libvdr-\$(PLUGIN).so: \$(OBJS)
|
||||||
\$(CXX) \$(CXXFLAGS) -shared \$(OBJS) -o \$\@
|
\$(CXX) \$(CXXFLAGS) -shared \$(OBJS) -o \$\@
|
||||||
\@cp \$\@ \$(LIBDIR)/\$\@.\$(VDRVERSION)
|
\@cp \$\@ \$(LIBDIR)/\$\@.\$(APIVERSION)
|
||||||
|
|
||||||
dist: clean
|
dist: clean
|
||||||
\@-rm -rf \$(TMPDIR)/\$(ARCHIVE)
|
\@-rm -rf \$(TMPDIR)/\$(ARCHIVE)
|
||||||
|
6
plugin.c
6
plugin.c
@ -4,7 +4,7 @@
|
|||||||
* See the main source file 'vdr.c' for copyright information and
|
* See the main source file 'vdr.c' for copyright information and
|
||||||
* how to reach the author.
|
* how to reach the author.
|
||||||
*
|
*
|
||||||
* $Id: plugin.c 1.20 2006/04/15 11:17:03 kls Exp $
|
* $Id: plugin.c 1.21 2006/04/16 09:23:30 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "plugin.h"
|
#include "plugin.h"
|
||||||
@ -290,7 +290,7 @@ void cPluginManager::AddPlugin(const char *Args)
|
|||||||
if (p) {
|
if (p) {
|
||||||
*p = 0;
|
*p = 0;
|
||||||
p += strlen(SO_INDICATOR);
|
p += strlen(SO_INDICATOR);
|
||||||
if (strcmp(p, VDRVERSION) == 0) {
|
if (strcmp(p, APIVERSION) == 0) {
|
||||||
char *name = e->d_name + strlen(LIBVDR_PREFIX);
|
char *name = e->d_name + strlen(LIBVDR_PREFIX);
|
||||||
if (strcmp(name, "*") != 0) { // let's not get into a loop!
|
if (strcmp(name, "*") != 0) { // let's not get into a loop!
|
||||||
AddPlugin(e->d_name + strlen(LIBVDR_PREFIX));
|
AddPlugin(e->d_name + strlen(LIBVDR_PREFIX));
|
||||||
@ -306,7 +306,7 @@ void cPluginManager::AddPlugin(const char *Args)
|
|||||||
if (p)
|
if (p)
|
||||||
*p = 0;
|
*p = 0;
|
||||||
char *buffer = NULL;
|
char *buffer = NULL;
|
||||||
asprintf(&buffer, "%s/%s%s%s%s", directory, LIBVDR_PREFIX, s, SO_INDICATOR, VDRVERSION);
|
asprintf(&buffer, "%s/%s%s%s%s", directory, LIBVDR_PREFIX, s, SO_INDICATOR, APIVERSION);
|
||||||
dlls.Add(new cDll(buffer, Args));
|
dlls.Add(new cDll(buffer, Args));
|
||||||
free(buffer);
|
free(buffer);
|
||||||
free(s);
|
free(s);
|
||||||
|
Loading…
Reference in New Issue
Block a user