Merge pull request #4441 from hsteinhaus/vdr_pkg_config_fix

Use pkg-config mechanism to synchronize compile flags and paths between VDR and VDR plugins instead of tons of patches.
This commit is contained in:
Stephan Raue 2015-11-18 10:10:41 +01:00
commit f9a4a2f031
22 changed files with 149 additions and 649 deletions

View File

@ -33,20 +33,22 @@ PKG_LONGDESC="vdr dummydevice plugin"
PKG_IS_ADDON="no"
PKG_AUTORECONF="no"
pre_configure_target() {
export CFLAGS="$CFLAGS -fPIC"
export CXXFLAGS="$CXXFLAGS -fPIC"
export LDFLAGS="$LDFLAGS -fPIC"
}
make_target() {
VDR_DIR=$(get_build_dir vdr)
make VDRDIR=$VDR_DIR \
export PKG_CONFIG_PATH=$VDR_DIR:$PKG_CONFIG_PATH
export CPLUS_INCLUDE_PATH=$VDR_DIR/include
make \
LIBDIR="." \
LOCALEDIR="./locale"
LOCDIR="./locale" \
all install-i18n
}
post_make_target() {
VDR_DIR=$(get_build_dir vdr)
VDR_APIVERSION=`sed -ne '/define APIVERSION/s/^.*"\(.*\)".*$/\1/p' $VDR_DIR/config.h`
cp --remove-destination libvdr*.so libvdr.so.${VDR_APIVERSION}
$STRIP libvdr-*.so*
}

View File

@ -1,46 +0,0 @@
diff --git a/Makefile b/Makefile
index dc959f1..5cb2315 100644
--- a/Makefile
+++ b/Makefile
@@ -15,22 +15,15 @@ VERSION = $(shell grep 'static const char \*VERSION *=' $(PLUGIN).c | awk '{ pri
### 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 --variable=$(1) vdr || pkg-config --variable=$(1) ../../../vdr.pc))
-LIBDIR = $(call PKGCFG,libdir)
-LOCDIR = $(call PKGCFG,locdir)
-PLGCFG = $(call PKGCFG,plgcfg)
-#
TMPDIR ?= /tmp
### The compiler options:
-export CFLAGS = $(call PKGCFG,cflags)
-export CXXFLAGS = $(call PKGCFG,cxxflags)
+include $(VDRDIR)/Make.global
### The version number of VDR's plugin API:
-APIVERSION = $(call PKGCFG,apiversion)
+APIVERSION = $(shell sed -ne '/define APIVERSION/s/^.*"\(.*\)".*$$/\1/p' $(VDRDIR)/config.h)
### Allow user defined options to overwrite defaults:
@@ -47,7 +40,7 @@ SOFILE = libvdr-$(PLUGIN).so
### Includes and Defines (add further entries here):
-INCLUDES +=
+INCLUDES += -I$(VDRDIR)/include
DEFINES += -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
@@ -103,6 +96,7 @@ install-i18n: $(I18Nmsgs)
$(SOFILE): $(OBJS)
$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@
+ @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
install-lib: $(SOFILE)
install -D $^ $(DESTDIR)$(LIBDIR)/$^.$(APIVERSION)

View File

@ -33,17 +33,24 @@ PKG_IS_ADDON="no"
PKG_AUTORECONF="no"
pre_configure_target() {
export CFLAGS="$CFLAGS -fPIC -L$SYSROOT_PREFIX/usr/lib -L$SYSROOT_PREFIX/lib"
export CXXFLAGS="$CXXFLAGS -fPIC -L$SYSROOT_PREFIX/usr/lib -L$SYSROOT_PREFIX/lib"
export LDFLAGS="$LDFLAGS -fPIC -L$SYSROOT_PREFIX/usr/lib -L$SYSROOT_PREFIX/lib"
}
make_target() {
VDR_DIR=$(get_build_dir vdr)
make VDRDIR=$VDR_DIR \
export PKG_CONFIG_PATH=$VDR_DIR:$PKG_CONFIG_PATH
export CPLUS_INCLUDE_PATH=$VDR_DIR/include
make \
LIBDIR="." \
LOCALEDIR="./locale"
LOCDIR="./locale" \
all install-i18n
}
post_make_target() {
VDR_DIR=$(get_build_dir vdr)
VDR_APIVERSION=`sed -ne '/define APIVERSION/s/^.*"\(.*\)".*$/\1/p' $VDR_DIR/config.h`
LIB_NAME=lib${PKG_NAME/-plugin/}
cp --remove-destination $ROOT/$PKG_BUILD/${LIB_NAME}.so $ROOT/$PKG_BUILD/${LIB_NAME}.so.${VDR_APIVERSION}
$STRIP libvdr-*.so*
}
makeinstall_target() {

View File

@ -1,68 +0,0 @@
diff --git a/Makefile b/Makefile
index 6bb1b96..118e379 100644
--- a/Makefile
+++ b/Makefile
@@ -62,21 +62,10 @@ VERSION = $(shell grep 'static const char VERSION\[\] *=' $(PLUGIN).c | awk '{ p
### 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 --variable=$(1) vdr || pkg-config --variable=$(1) ../../../vdr.pc))
-LIBDIR = $(call PKGCFG,libdir)
-LOCDIR = $(call PKGCFG,locdir)
-MANDIR = $(call PKGCFG,mandir)
-CONFDIR = $(call PKGCFG,configdir)
-BINDIR = $(call PKGCFG,bindir)
-#
TMPDIR ?= /tmp
### The compiler options:
-export CFLAGS = $(call PKGCFG,cflags)
-export CXXFLAGS = $(call PKGCFG,cxxflags)
-
### configuring modules
ifeq ($(AUTOCONFIG),1)
ifeq (exists, $(shell pkg-config libpcre && echo exists))
@@ -92,9 +81,11 @@ ifeq ($(AUTOCONFIG),1)
endif
endif
+include $(VDRDIR)/Make.global
+
### The version number of VDR's plugin API:
-APIVERSION = $(call PKGCFG,apiversion)
+APIVERSION = $(shell sed -ne '/define APIVERSION/s/^.*"\(.*\)".*$$/\1/p' $(VDRDIR)/config.h)
### The name of the distribution archive:
@@ -103,7 +94,7 @@ PACKAGE = vdr-$(ARCHIVE)
### Includes and Defines (add further entries here):
-INCLUDES +=
+INCLUDES += -I$(VDRDIR)/include
DEFINES +=
@@ -231,15 +222,19 @@ install-i18n: $(I18Nmsgs)
libvdr-$(PLUGIN).so: $(OBJS)
$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) $(LIBS) -o $@
+ @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
libvdr-$(PLUGIN2).so: $(OBJS2)
$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS2) $(LIBS2) -o $@
+ @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
libvdr-$(PLUGIN3).so: $(OBJS3)
$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS3) $(LIBS3) -o $@
+ @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
libvdr-$(PLUGIN4).so: $(OBJS4)
$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS4) $(LIBS4) -o $@
+ @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
createcats: createcats.o Makefile
$(CXX) $(CXXFLAGS) $(LDFLAGS) createcats.o -o $@

View File

@ -33,17 +33,24 @@ PKG_LONGDESC="vdr-iptv is an IPTV plugin for the Video Disk Recorder (VDR)"
PKG_IS_ADDON="no"
PKG_AUTORECONF="no"
pre_configure_target() {
export CFLAGS="$CFLAGS -fPIC"
export CXXFLAGS="$CXXFLAGS -fPIC"
export LDFLAGS="$LDFLAGS -fPIC"
}
make_target() {
VDR_DIR=$(get_build_dir vdr)
make VDRDIR=$VDR_DIR \
export PKG_CONFIG_PATH=$VDR_DIR:$PKG_CONFIG_PATH
export CPLUS_INCLUDE_PATH=$VDR_DIR/include
make \
LIBDIR="." \
LOCALEDIR="./locale"
LOCDIR="./locale" \
all install-i18n
}
post_make_target() {
VDR_DIR=$(get_build_dir vdr)
VDR_APIVERSION=`sed -ne '/define APIVERSION/s/^.*"\(.*\)".*$/\1/p' $VDR_DIR/config.h`
LIB_NAME=lib${PKG_NAME/-plugin/}
cp --remove-destination $ROOT/$PKG_BUILD/${LIB_NAME}.so $ROOT/$PKG_BUILD/${LIB_NAME}.so.${VDR_APIVERSION}
$STRIP libvdr-*.so*
}
makeinstall_target() {

View File

@ -1,49 +0,0 @@
diff --git a/Makefile b/Makefile
index 62b2fb4..10e4e0d 100644
--- a/Makefile
+++ b/Makefile
@@ -19,25 +19,16 @@ GITTAG = $(shell git describe --always 2>/dev/null)
### 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))
-LIBDIR = $(call PKGCFG,libdir)
-LOCDIR = $(call PKGCFG,locdir)
-PLGCFG = $(call PKGCFG,plgcfg)
-RESDIR = $(call PKGCFG,resdir)
-CFGDIR = $(call PKGCFG,configdir)
-#
TMPDIR ?= /tmp
### The compiler options:
-export CFLAGS = $(call PKGCFG,cflags)
-export CXXFLAGS = $(call PKGCFG,cxxflags)
+include $(VDRDIR)/Make.global
STRIP ?= /bin/true
### The version number of VDR's plugin API:
-APIVERSION = $(call PKGCFG,apiversion)
+APIVERSION = $(shell sed -ne '/define APIVERSION/s/^.*"\(.*\)".*$$/\1/p' $(VDRDIR)/config.h)
### Allow user defined options to overwrite defaults:
@@ -58,7 +49,7 @@ LIBS = $(shell curl-config --libs)
### Includes and Defines (add further entries here):
-INCLUDES +=
+INCLUDES += -I$(VDRDIR)/include
DEFINES += -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
@@ -129,6 +120,7 @@ install-i18n: $(I18Nmsgs)
$(SOFILE): $(OBJS)
$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) $(LIBS) -o $@
@$(STRIP) $@
+ @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
install-lib: $(SOFILE)
install -D $^ $(DESTDIR)$(LIBDIR)/$^.$(APIVERSION)

View File

@ -33,12 +33,6 @@ PKG_IS_ADDON="no"
PKG_AUTORECONF="no"
pre_configure_target() {
export CFLAGS="$CFLAGS -fPIC"
export CXXFLAGS="$CXXFLAGS -fPIC"
export LDFLAGS="$LDFLAGS -fPIC"
}
pre_make_target() {
# dont build parallel
MAKEFLAGS=-j1
@ -46,11 +40,23 @@ pre_make_target() {
make_target() {
VDR_DIR=$(get_build_dir vdr)
make VDRDIR=$VDR_DIR \
VDRSRC=$VDR_DIR \
export PKG_CONFIG_PATH=$VDR_DIR:$PKG_CONFIG_PATH
export CPLUS_INCLUDE_PATH=$VDR_DIR/include
make \
LIBDIR="." \
LOCALEDIR="./locale" \
LIBDVBCSA=1
LOCDIR="./locale" \
LIBDVBCSA=1 \
all install-i18n
}
post_make_target() {
VDR_DIR=$(get_build_dir vdr)
VDR_APIVERSION=`sed -ne '/define APIVERSION/s/^.*"\(.*\)".*$/\1/p' $VDR_DIR/config.h`
LIB_NAME=lib${PKG_NAME/-plugin/}
cp --remove-destination $ROOT/$PKG_BUILD/${LIB_NAME}.so $ROOT/$PKG_BUILD/${LIB_NAME}.so.${VDR_APIVERSION}
$STRIP libvdr-*.so*
}
makeinstall_target() {

View File

@ -1,54 +0,0 @@
diff --git a/Makefile b/Makefile
index efd124a..ed303fa 100644
--- a/Makefile
+++ b/Makefile
@@ -12,22 +12,14 @@ PLUGIN = dvbapi
### The version number of this plugin (taken from the main source file):
VERSION = $(shell grep 'static const char \*VERSION *=' DVBAPI.h | awk '{ print $$6 }' | sed -e 's/[";]//g')
-GITTAG = $(shell git describe --always 2>/dev/null)
### 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))
-LIBDIR = $(call PKGCFG,libdir)
-LOCDIR = $(call PKGCFG,locdir)
-PLGCFG = $(call PKGCFG,plgcfg)
-#
TMPDIR ?= /tmp
### The compiler options:
-export CFLAGS = $(call PKGCFG,cflags)
-export CXXFLAGS = $(call PKGCFG,cxxflags)
+include $(VDRDIR)/Make.global
### Allow user defined options to overwrite defaults:
@@ -35,7 +27,7 @@ export CXXFLAGS = $(call PKGCFG,cxxflags)
### The version number of VDR's plugin API:
-APIVERSION = $(call PKGCFG,apiversion)
+APIVERSION = $(shell sed -ne '/define APIVERSION/s/^.*"\(.*\)".*$$/\1/p' $(VDRDIR)/config.h)
### The name of the distribution archive:
@@ -48,7 +40,7 @@ SOFILE = libvdr-$(PLUGIN).so
### Includes and Defines (add further entries here):
-INCLUDES +=
+INCLUDES += -I$(VDRDIR)/include
DEFINES += -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
@@ -122,6 +114,7 @@ install-i18n: $(I18Nmsgs)
$(SOFILE): $(OBJS) $(FFDECSA)
$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) $(DECSALIB) -o $@
+ @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
ifndef LIBDVBCSA
$(FFDECSA): $(FFDECSADIR)/*.c $(FFDECSADIR)/*.h

View File

@ -33,17 +33,24 @@ PKG_IS_ADDON="no"
PKG_AUTORECONF="no"
pre_configure_target() {
export CFLAGS="$CFLAGS -fPIC"
export CXXFLAGS="$CXXFLAGS -fPIC"
export LDFLAGS="$LDFLAGS -fPIC"
}
make_target() {
VDR_DIR=$(get_build_dir vdr)
make VDRDIR=$VDR_DIR \
export PKG_CONFIG_PATH=$VDR_DIR:$PKG_CONFIG_PATH
export CPLUS_INCLUDE_PATH=$VDR_DIR/include
make \
LIBDIR="." \
LOCALEDIR="./locale"
LOCDIR="./locale" \
all install-i18n
}
post_make_target() {
VDR_DIR=$(get_build_dir vdr)
VDR_APIVERSION=`sed -ne '/define APIVERSION/s/^.*"\(.*\)".*$/\1/p' $VDR_DIR/config.h`
LIB_NAME=lib${PKG_NAME/-plugin/}
cp --remove-destination $ROOT/$PKG_BUILD/${LIB_NAME}.so $ROOT/$PKG_BUILD/${LIB_NAME}.so.${VDR_APIVERSION}
$STRIP libvdr-*.so*
}
makeinstall_target() {

View File

@ -1,34 +0,0 @@
--- vdr-plugin-eepg-master/Makefile 2014-03-11 15:44:36.675368020 +0000
+++ vdr-plugin-eepg-master/Makefile 2014-03-11 15:51:02.065495474 +0000
@@ -31,21 +31,16 @@
### 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))
-LIBDIR = $(call PKGCFG,libdir)
-LOCDIR = $(call PKGCFG,locdir)
-PLGCFG = $(call PKGCFG,plgcfg)
#
TMPDIR ?= /tmp
### The compiler options:
-export CFLAGS = $(call PKGCFG,cflags)
-export CXXFLAGS = $(call PKGCFG,cxxflags)
+include $(VDRDIR)/Make.global
### The version number of VDR's plugin API:
-APIVERSION = $(call PKGCFG,apiversion)
+APIVERSION = $(shell sed -ne '/define APIVERSION/s/^.*"\(.*\)".*$$/\1/p' $(VDRDIR)/config.h)
### Allow user defined options to overwrite defaults:
@@ -119,6 +114,7 @@
$(SOFILE): $(OBJS)
$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@
+ @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
install-lib: $(SOFILE)
install -D $^ $(DESTDIR)$(LIBDIR)/$^.$(APIVERSION)

View File

@ -33,17 +33,24 @@ PKG_IS_ADDON="no"
PKG_AUTORECONF="no"
pre_configure_target() {
export CFLAGS="$CFLAGS -fPIC"
export CXXFLAGS="$CXXFLAGS -fPIC"
export LDFLAGS="$LDFLAGS -fPIC"
}
make_target() {
VDR_DIR=$(get_build_dir vdr)
make VDRDIR=$VDR_DIR \
export PKG_CONFIG_PATH=$VDR_DIR:$PKG_CONFIG_PATH
export CPLUS_INCLUDE_PATH=$VDR_DIR/include
make \
LIBDIR="." \
LOCALEDIR="./locale"
LOCDIR="./locale" \
all install-i18n
}
post_make_target() {
VDR_DIR=$(get_build_dir vdr)
VDR_APIVERSION=`sed -ne '/define APIVERSION/s/^.*"\(.*\)".*$/\1/p' $VDR_DIR/config.h`
LIB_NAME=lib${PKG_NAME/-plugin/}
cp --remove-destination $ROOT/$PKG_BUILD/${LIB_NAME}.so $ROOT/$PKG_BUILD/${LIB_NAME}.so.${VDR_APIVERSION}
$STRIP libvdr-*.so*
}
makeinstall_target() {

View File

@ -1,59 +0,0 @@
--- a/Makefile 2014-08-23 13:33:34.000000000 +0400
+++ b/Makefile 2014-12-25 06:10:10.903404927 +0300
@@ -18,18 +18,12 @@
### 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 --variable=$(1) vdr || pkg-config --variable=$(1) ../../../vdr.pc))
-CFGDIR = $(call PKGCFG,configdir)
-LIBDIR = $(call PKGCFG,libdir)
-LOCDIR = $(call PKGCFG,locdir)
-PLGCFG = $(call PKGCFG,plgcfg)
#
TMPDIR ?= /tmp
### The compiler options:
-export CFLAGS = $(call PKGCFG,cflags)
-export CXXFLAGS = $(call PKGCFG,cxxflags)
+include $(VDRDIR)/Make.global
### Regexp
ifeq (exists, $(shell pkg-config libpcre && echo exists))
@@ -40,7 +34,7 @@
### The version number of VDR's plugin API:
-APIVERSION = $(call PKGCFG,apiversion)
+APIVERSION = $(shell sed -ne '/define APIVERSION/s/^.*"\(.*\)".*$$/\1/p' $(VDRDIR)/config.h)
### Allow user defined options to overwrite defaults:
@@ -57,7 +51,7 @@
### Includes and Defines (add further entries here):
-INCLUDES +=
+INCLUDES += -I$(VDRDIR)/include
DEFINES += -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
@@ -70,8 +64,8 @@
OBJS = $(PLUGIN).o blacklist.o charset.o config.o epgclone.o epghandler.o regexp.o setup_menu.o tools.o
ifeq ($(REGEXLIB), pcre)
-LIBS += $(shell pcre-config --libs-posix)
-INCLUDES += $(shell pcre-config --cflags)
+LIBS += $(shell pkg-config --libs libpcreposix libpcre)
+INCLUDES += $(shell pkg-config --cflags libpcre)
DEFINES += -DHAVE_PCREPOSIX
endif
@@ -123,6 +117,7 @@
$(SOFILE): $(OBJS)
$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@ $(LIBS)
+ @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
install-lib: $(SOFILE)
install -D $^ $(DESTDIR)$(LIBDIR)/$^.$(APIVERSION)

View File

@ -32,12 +32,6 @@ PKG_LONGDESC="vdr-plugin-restfulapi allows to access many internals of the VDR v
PKG_IS_ADDON="no"
PKG_AUTORECONF="no"
pre_configure_target() {
export CFLAGS="$CFLAGS -fPIC -L$SYSROOT_PREFIX/usr/lib -L$SYSROOT_PREFIX/lib"
export CXXFLAGS="$CXXFLAGS -fPIC -L$SYSROOT_PREFIX/usr/lib -L$SYSROOT_PREFIX/lib"
export LDFLAGS="$LDFLAGS -fPIC -L$SYSROOT_PREFIX/usr/lib -L$SYSROOT_PREFIX/lib"
}
pre_make_target() {
# dont build parallel
MAKEFLAGS=-j1
@ -45,9 +39,22 @@ pre_make_target() {
make_target() {
VDR_DIR=$(get_build_dir vdr)
make VDRDIR=$VDR_DIR \
export PKG_CONFIG_PATH=$VDR_DIR:$PKG_CONFIG_PATH
export CPLUS_INCLUDE_PATH=$VDR_DIR/include
make \
LIBDIR="." \
LOCALEDIR="./locale"
LOCDIR="./locale" \
all install-i18n
}
post_make_target() {
VDR_DIR=$(get_build_dir vdr)
VDR_APIVERSION=`sed -ne '/define APIVERSION/s/^.*"\(.*\)".*$/\1/p' $VDR_DIR/config.h`
LIB_NAME=lib${PKG_NAME/-plugin/}
cp --remove-destination $ROOT/$PKG_BUILD/${LIB_NAME}.so $ROOT/$PKG_BUILD/${LIB_NAME}.so.${VDR_APIVERSION}
$STRIP libvdr-*.so*
}
makeinstall_target() {

View File

@ -1,50 +0,0 @@
--- vdr-plugin-restfulapi.orig/Makefile 2015-01-17 19:15:51.425203423 +0100
+++ vdr-plugin-restfulapi/Makefile 2015-01-17 20:12:27.336707418 +0100
@@ -16,21 +16,16 @@
### 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 --variable=$(1) vdr || pkg-config --variable=$(1) ../../../vdr.pc))
-LIBDIR = $(call PKGCFG,libdir)
-LOCDIR = $(call PKGCFG,locdir)
-PLGCFG = $(call PKGCFG,plgcfg)
#
TMPDIR ?= /tmp
### The compiler options:
-export CFLAGS = $(call PKGCFG,cflags)
-export CXXFLAGS = $(call PKGCFG,cxxflags)
+include $(VDRDIR)/Make.global
### The version number of VDR's plugin API:
-APIVERSION = $(call PKGCFG,apiversion)
+APIVERSION = $(shell sed -ne '/define APIVERSION/s/^.*"\(.*\)".*$$/\1/p' $(VDRDIR)/config.h)
### Allow user defined options to overwrite defaults:
@@ -47,9 +42,13 @@
### Includes and Defines (add further entries here):
-DEFINES += -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
+INCLUDES += -I$(VDRDIR)/include
-LIBS += $(shell cxxtools-config --libs) -lcxxtools-http
+DOCUMENT_ROOT=/storage/.kodi/addons/service.multimedia.vdr-addon/res/plugins/restfulapi/
+
+DEFINES += -DPLUGIN_NAME_I18N='"$(PLUGIN)"' -DDOCUMENT_ROOT='"$(DOCUMENT_ROOT)"'
+
+LIBS += -lcxxtools-http $(shell cxxtools-config --libs)
CONFDIR = $(call PKGCFG,configdir)
PLGCONFDIR = $(CONFDIR)/plugins/$(PLUGIN)
@@ -106,6 +105,7 @@
$(SOFILE): $(OBJS)
$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@ -Wl,--no-whole-archive $(LIBS)
+ @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
install-lib: $(SOFILE)
install -D $^ $(DESTDIR)$(LIBDIR)/$^.$(APIVERSION)

View File

@ -33,17 +33,26 @@ PKG_IS_ADDON="no"
PKG_AUTORECONF="no"
pre_configure_target() {
export CFLAGS="$CFLAGS -fPIC"
export CXXFLAGS="$CXXFLAGS -fPIC"
export LDFLAGS="$LDFLAGS -fPIC"
}
make_target() {
VDR_DIR=$(get_build_dir vdr)
make VDRDIR=$VDR_DIR \
export PKG_CONFIG_PATH=$VDR_DIR:$PKG_CONFIG_PATH
export CPLUS_INCLUDE_PATH=$VDR_DIR/include
make \
LIBDIR="." \
LOCALEDIR="./locale"
LOCDIR="./locale" \
all
}
post_make_target() {
VDR_DIR=$(get_build_dir vdr)
VDR_APIVERSION=`sed -ne '/define APIVERSION/s/^.*"\(.*\)".*$/\1/p' $VDR_DIR/config.h`
LIB_NAME=lib${PKG_NAME/-plugin/}
cp --remove-destination $ROOT/$PKG_BUILD/server/${LIB_NAME}-server.so $ROOT/$PKG_BUILD/server/${LIB_NAME}-server.so.${VDR_APIVERSION}
cp --remove-destination $ROOT/$PKG_BUILD/client/${LIB_NAME}-client.so $ROOT/$PKG_BUILD/client/${LIB_NAME}-client.so.${VDR_APIVERSION}
$STRIP client/libvdr-*.so*
$STRIP server/libvdr-*.so*
}
makeinstall_target() {

View File

@ -1,53 +0,0 @@
diff --git a/Makefile b/Makefile
index 90f3261..d80e15d 100644
--- a/Makefile
+++ b/Makefile
@@ -15,22 +15,15 @@ VERSION = $(shell grep 'const char \*VERSION *=' common.c | awk '{ print $$5 }'
### 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 --variable=$(1) vdr || pkg-config --variable=$(1) ../../../vdr.pc))
-LIBDIR = $(call PKGCFG,libdir)
-LOCDIR = $(call PKGCFG,locdir)
-PLGCFG = $(call PKGCFG,plgcfg)
-#
TMPDIR ?= /tmp
### The compiler options:
-export CFLAGS = $(call PKGCFG,cflags)
-export CXXFLAGS = $(call PKGCFG,cxxflags)
+include $(VDRDIR)/Make.global
### The version number of VDR's plugin API:
-APIVERSION = $(call PKGCFG,apiversion)
+APIVERSION = $(shell sed -ne '/define APIVERSION/s/^.*"\(.*\)".*$$/\1/p' $(VDRDIR)/config.h)
### Allow user defined options to overwrite defaults:
diff --git a/client/Makefile b/client/Makefile
index ea9dc45..6fac485 100644
--- a/client/Makefile
+++ b/client/Makefile
@@ -72,6 +72,7 @@ install-i18n: $(I18Nmsgs)
$(SOFILE): $(CLIENTOBJS) $(COMMONOBJS) ../tools/sockettools.a
$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $^ -o $@
+ @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
install-lib: $(SOFILE)
install -D $^ $(DESTDIR)$(LIBDIR)/$^.$(APIVERSION)
diff --git a/server/Makefile b/server/Makefile
index 37cd4bb..8d2f49f 100644
--- a/server/Makefile
+++ b/server/Makefile
@@ -78,6 +78,7 @@ install-i18n: $(I18Nmsgs)
$(SOFILE): $(SERVEROBJS) $(COMMONOBJS) \
../tools/sockettools.a ../remux/remux.a ../libdvbmpeg/libdvbmpegtools.a
$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $^ -o $@
+ @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
install-lib: $(SOFILE)
install -D $^ $(DESTDIR)$(LIBDIR)/$^.$(APIVERSION)

View File

@ -1,13 +0,0 @@
diff --git a/Makefile b/Makefile
index d80e15d..ed2e168 100644
--- a/Makefile
+++ b/Makefile
@@ -45,7 +45,7 @@ PACKAGE = vdr-$(ARCHIVE)
INCLUDES += -I$(VDRDIR)/include -I..
export INCLUDES
-DEFINES += -D_GNU_SOURCE
+DEFINES += -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE
ifdef DEBUG
DEFINES += -DDEBUG

View File

@ -32,17 +32,24 @@ PKG_LONGDESC="TV"
PKG_IS_ADDON="no"
PKG_AUTORECONF="no"
pre_configure_target() {
export CFLAGS="$CFLAGS -fPIC"
export CXXFLAGS="$CXXFLAGS -fPIC"
export LDFLAGS="$LDFLAGS -fPIC"
}
make_target() {
VDR_DIR=$(get_build_dir vdr)
make VDRDIR=$VDR_DIR \
export PKG_CONFIG_PATH=$VDR_DIR:$PKG_CONFIG_PATH
export CPLUS_INCLUDE_PATH=$VDR_DIR/include
make \
LIBDIR="." \
LOCALEDIR="./locale"
LOCDIR="./locale" \
all install-i18n
}
post_make_target() {
VDR_DIR=$(get_build_dir vdr)
VDR_APIVERSION=`sed -ne '/define APIVERSION/s/^.*"\(.*\)".*$/\1/p' $VDR_DIR/config.h`
LIB_NAME=lib${PKG_NAME/-plugin/}
cp --remove-destination $ROOT/$PKG_BUILD/${LIB_NAME}.so $ROOT/$PKG_BUILD/${LIB_NAME}.so.${VDR_APIVERSION}
$STRIP libvdr-*.so*
}
makeinstall_target() {

View File

@ -1,92 +0,0 @@
diff --git a/Makefile b/Makefile
index 8f37c92..94869aa 100644
--- a/Makefile
+++ b/Makefile
@@ -16,30 +16,18 @@ VERSION = $(shell grep 'static const char \*VERSION *=' vnsi.h | awk '{ print $$
### 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 --variable=$(1) vdr || pkg-config --variable=$(1) ../../../vdr.pc))
-LIBDIR ?= $(call PKGCFG,libdir)
-LOCDIR = $(call PKGCFG,locdir)
-PLGCFG = $(call PKGCFG,plgcfg)
#
TMPDIR ?= /tmp
### The compiler options:
-export CFLAGS = $(call PKGCFG,cflags)
-export CXXFLAGS = $(call PKGCFG,cxxflags)
+include $(VDRDIR)/Make.global
### The version number of VDR's plugin API:
-APIVERSION = $(call PKGCFG,apiversion)
-ifeq ($(strip $(APIVERSION)),)
-APIVERSION = $(shell grep 'define APIVERSION ' $(VDRDIR)/config.h | awk '{ print $$3 }' | sed -e 's/"//g')
-NOCONFIG := 1
-endif
+APIVERSION = $(shell sed -ne '/define APIVERSION/s/^.*"\(.*\)".*$$/\1/p' $(VDRDIR)/config.h)
# backwards compatibility version < 1.7.34
-API1733 := $(shell if [ "$(APIVERSION)" \< "1.7.34" ]; then echo true; fi; )
-
-ifdef API1733
VDRSRC = $(VDRDIR)
VDRSRC ?= ../../..
@@ -47,21 +35,8 @@ ifeq ($(strip $(LIBDIR)),)
LIBDIR = $(VDRSRC)/PLUGINS/lib
endif
-ifndef NOCONFIG
-CXXFLAGS = $(call PKGCFG,cflags)
-CXXFLAGS += -fPIC
-else
-include $(VDRSRC)/Make.global
-include $(VDRSRC)/Make.config
-endif
-
-export CXXFLAGS
-else
-
-### Allow user defined options to overwrite defaults:
-
--include $(PLGCFG)
-endif
### The name of the distribution archive:
@@ -74,11 +49,9 @@ SOFILE = libvdr-$(PLUGIN).so
### Includes and Defines (add further entries here):
-ifdef API1733
INCLUDES += -I$(VDRSRC)/include
-endif
-DEFINES += -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"$(PLUGIN)"' -DVNSI_SERVER_VERSION='"$(VERSION)"'
+DEFINES += -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"$(PLUGIN)"' -DVNSI_SERVER_VERSION='"$(VERSION)"' -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE
ifeq ($(DEBUG),1)
DEFINES += -DDEBUG
@@ -94,11 +67,7 @@ OBJS = vnsi.o bitstream.o vnsiclient.o config.o cxsocket.o parser.o parser_AAC.o
### The main target:
-ifdef API1733
-all: install-lib
-else
all: $(SOFILE)
-endif
#
### Implicit rules:
@@ -145,6 +114,7 @@ install-i18n: $(I18Nmsgs)
$(SOFILE): $(OBJS)
$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@
+ @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
install-lib: $(SOFILE)
install -D $^ $(DESTDIR)$(LIBDIR)/$^.$(APIVERSION)

View File

@ -33,18 +33,25 @@ PKG_LONGDESC="vdr-satip is a SAT>IP plugin for VDR"
PKG_IS_ADDON="no"
PKG_AUTORECONF="no"
pre_configure_target() {
export CFLAGS="$CFLAGS -fPIC"
export CXXFLAGS="$CXXFLAGS -fPIC"
export LDFLAGS="$LDFLAGS -fPIC"
}
make_target() {
VDR_DIR=$(get_build_dir vdr)
make VDRDIR=$VDR_DIR \
export PKG_CONFIG_PATH=$VDR_DIR:$PKG_CONFIG_PATH
export CPLUS_INCLUDE_PATH=$VDR_DIR/include
make \
SATIP_USE_TINYXML=1 \
LIBDIR="." \
LOCALEDIR="./locale"
LOCDIR="./locale" \
all install-i18n
}
post_make_target() {
VDR_DIR=$(get_build_dir vdr)
VDR_APIVERSION=`sed -ne '/define APIVERSION/s/^.*"\(.*\)".*$/\1/p' $VDR_DIR/config.h`
LIB_NAME=lib${PKG_NAME/-plugin/}
cp --remove-destination $ROOT/$PKG_BUILD/${LIB_NAME}.so $ROOT/$PKG_BUILD/${LIB_NAME}.so.${VDR_APIVERSION}
$STRIP libvdr-*.so*
}
makeinstall_target() {

View File

@ -1,48 +0,0 @@
diff --git a/Makefile b/Makefile
index b4c3bec..3a687cb 100644
--- a/Makefile
+++ b/Makefile
@@ -19,24 +19,16 @@ GITTAG = $(shell git describe --always 2>/dev/null)
### 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))
-LIBDIR = $(call PKGCFG,libdir)
-LOCDIR = $(call PKGCFG,locdir)
-PLGCFG = $(call PKGCFG,plgcfg)
-CFGDIR = $(call PKGCFG,configdir)
-#
TMPDIR ?= /tmp
### The compiler options:
-export CFLAGS = $(call PKGCFG,cflags)
-export CXXFLAGS = $(call PKGCFG,cxxflags)
+include $(VDRDIR)/Make.global
STRIP ?= /bin/true
### The version number of VDR's plugin API:
-APIVERSION = $(call PKGCFG,apiversion)
+APIVERSION = $(shell sed -ne '/define APIVERSION/s/^.*"\(.*\)".*$$/\1/p' $(VDRDIR)/config.h)
### Allow user defined options to overwrite defaults:
@@ -57,7 +49,7 @@ LIBS = $(shell curl-config --libs)
### Includes and Defines (add further entries here):
-INCLUDES +=
+INCLUDES += -I$(VDRDIR)/include
DEFINES += -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
@@ -130,6 +122,7 @@ install-i18n: $(I18Nmsgs)
$(SOFILE): $(OBJS)
$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) $(LIBS) -o $@
@$(STRIP) $@
+ @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
install-lib: $(SOFILE)
install -D $^ $(DESTDIR)$(LIBDIR)/$^.$(APIVERSION)

View File

@ -55,7 +55,7 @@ EOF
}
make_target() {
make vdr
make vdr vdr.pc
make include-dir
}