VDR developer version 1.7.16 is now available at
ftp://ftp.tvdr.de/vdr/Developer/vdr-1.7.16.tar.bz2
A 'diff' against the previous version is available at
ftp://ftp.tvdr.de/vdr/Developer/vdr-1.7.15-1.7.16.diff
WARNING: ========
This is a *developer* version. Even though *I* use it in my productive environment. I strongly recommend that you only use it under controlled conditions and for testing and debugging.
The changes since version 1.7.15:
- Updated the Italian OSD texts (thanks to Diego Pierotto). - Added missing Dtypes for ATSC (thanks to Alex Lasnier). - Updated the Portuguese language texts (thanks to Cristiano A. Silva). - Updated the Finnish OSD texts (thanks to Rolf Ahrenberg). - Fixed the array size of Atypes in cPatFilter::Process() (thanks to Rolf Ahrenberg). - Added locking to the cCutter functions to avoid a crash in case CutRecording() is called from a plugin (reported by Andreas Mair). - Fixed DDS detection for HD resolution subtitles (thanks to Reinhard Nissl). - Fixed following symbolic links in RemoveFileOrDir(). - Added support for languages that are written right-to-left (based on a patch from Osama Alrawab). See INSTALL for information on how to turn this on. - Added Arabian language texts (thanks to Osama Alrawab).
Have fun!
Klaus
VDR developer version 1.7.16 is now available at
Klaus,
we have an open bug [1] to all versions of VDR on gentoo
we changed any weeks befor our default profiles to use LDFLAGS on compile prozesses.
<snipp news-info about this from 2010-08-01>
-Wl,--as-needed has been added to the default profile's LDFLAGS.
This option optimizes the linking process, only linking binaries to libraries that are trully needed. This way, fewer libraries are loaded at runtime and fewer packages need to be rebuilt after library updates.
</snap>
For more information on --as-needed, read [2].
Plz. let us check is it possible to add a fix generally to the Makefile to respect the LDFLAGS or should i fixed always localy on gentoo Disti.
fixed should it be in this part of Makefile
-# The main program: - -vdr: $(OBJS) $(SILIB) - $(CXX) $(CXXFLAGS) -rdynamic $(OBJS) $(LIBS) $(LIBDIRS) $(SILIB) -o vdr
+# The main program: + +vdr: $(OBJS) $(SILIB) + $(CXX) $(CXXFLAGS) -rdynamic $(LDFLAGS) $(OBJS) $(LIBS) $(LIBDIRS) $(SILIB) -o vdr
[1] http://bugs.gentoo.org/show_bug.cgi?id=333493 [2] http://www.gentoo.org/proj/en/qa/asneeded.xml
Thanks, best regards
Dear Jörg,
Am Samstag, den 25.09.2010, 13:15 +0200 schrieb Joerg Bornkessel:
[…]
we have an open bug [1] to all versions of VDR on gentoo
we changed any weeks befor our default profiles to use LDFLAGS on compile prozesses.
<snipp news-info about this from 2010-08-01>
-Wl,--as-needed has been added to the default profile's LDFLAGS. This option optimizes the linking process, only linking binaries to libraries that are trully needed. This way, fewer libraries are loaded at runtime and fewer packages need to be rebuilt after library updates.
</snap>
For more information on --as-needed, read [2].
Plz. let us check is it possible to add a fix generally to the Makefile to respect the LDFLAGS or should i fixed always localy on gentoo Disti.
fixed should it be in this part of Makefile
-# The main program:
-vdr: $(OBJS) $(SILIB)
- $(CXX) $(CXXFLAGS) -rdynamic $(OBJS) $(LIBS) $(LIBDIRS) $(SILIB) -o vdr
+# The main program:
+vdr: $(OBJS) $(SILIB)
- $(CXX) $(CXXFLAGS) -rdynamic $(LDFLAGS) $(OBJS) $(LIBS) $(LIBDIRS) $(SILIB) -o vdr
[1] http://bugs.gentoo.org/show_bug.cgi?id=333493 [2] http://www.gentoo.org/proj/en/qa/asneeded.xml
Should `LDFLAGS` also be passed to the compiler when building the plugins?
I made a patch from your message which does not include any changes to the plugins.
Thanks,
Paul
8<-------------------------------------------------------------------->8 Date: Sun, 12 Dec 2010 18:19:42 +0100
Some distributions pass special flags to the linker [1][2]. Respect those by using `LDFLAGS`.
[1] http://cgit.openembedded.org/cgit.cgi/openembedded/tree/recipes/vdr/vdr-1.7.... [2] http://www.linuxtv.org/pipermail/vdr/2010-September/023623.html
Signed-off-by: Paul Menzel paulepanter@users.sourceforge.net --- Makefile | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/Makefile b/Makefile index cca4d55..e12e2b2 100644 --- a/Makefile +++ b/Makefile @@ -95,7 +95,7 @@ $(DEPFILE): Makefile # The main program:
vdr: $(OBJS) $(SILIB) - $(CXX) $(CXXFLAGS) -rdynamic $(OBJS) $(LIBS) $(LIBDIRS) $(SILIB) -o vdr + $(CXX) $(CXXFLAGS) -rdynamic $(LDFLAGS) $(OBJS) $(LIBS) $(LIBDIRS) $(SILIB) -o vdr
# The libsi library:
Dear Jörg,
Am Samstag, den 25.09.2010, 13:15 +0200 schrieb Joerg Bornkessel:
[…]
Should `LDFLAGS` also be passed to the compiler when building the plugins?
We have this fixed global on Gentoo for all plugins. All plugin Makefile's are sed'ed/patched to use the LDFLAGS.
I made a patch from your message which does not include any changes to the plugins.
I dont know, what distri you use, one way would be to fix this in the make.global ( used up from vdr-1.7.(not shure yet)) and inherit this in the plugin Makefile.
Should be standard in the vdr-1.7.x adapted plugin Makefiles
Am Montag, den 13.12.2010, 00:29 +0100 schrieb Joerg Bornkessel:
Am Samstag, den 25.09.2010, 13:15 +0200 schrieb Joerg Bornkessel:
[…]
Should `LDFLAGS` also be passed to the compiler when building the plugins?
We have this fixed global on Gentoo for all plugins. All plugin Makefile's are sed'ed/patched to use the LDFLAGS.
Sorry, I do not know Gentoo’s build system. I found the patch for VDR [1] and the ebuild file [2].
I was wondering why skincurses had no patch applied or change regarding `LDFLAGS` [3] and for example vdr-burn [4] has a separate patch. Then I found `vdr-plugin.eclass` [5] where the replacement is done using `sed`.
I made a patch from your message which does not include any changes to the plugins.
I dont know, what distri you use,
I am using the OpenEmbedded framework [6].
one way would be to fix this in the make.global ( used up from vdr-1.7.(not shure yet)) and inherit this in the plugin Makefile.
Should be standard in the vdr-1.7.x adapted plugin Makefiles
That is what my patch is for. I will send an updated patch.
Thanks,
Paul
[1] http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/media-video/vdr/file... [2] http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/media-video/vdr/vdr-... [3] http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/media-plugins/vdr-sk... [4] http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/media-plugins/vdr-bu... [5] http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/eclass/vdr-plugin.ec... [6] http://www.openembedded.org/
Am Montag, den 13.12.2010, 11:29 +0100 schrieb Paul Menzel:
Am Montag, den 13.12.2010, 00:29 +0100 schrieb Joerg Bornkessel:
Am Samstag, den 25.09.2010, 13:15 +0200 schrieb Joerg Bornkessel:
[…]
Should `LDFLAGS` also be passed to the compiler when building the plugins?
We have this fixed global on Gentoo for all plugins. All plugin Makefile's are sed'ed/patched to use the LDFLAGS.
Sorry, I do not know Gentoo’s build system. I found the patch for VDR [1] and the ebuild file [2].
I was wondering why skincurses had no patch applied or change regarding `LDFLAGS` [3] and for example vdr-burn [4] has a separate patch. Then I found `vdr-plugin.eclass` [5] where the replacement is done using `sed`.
I made a patch from your message which does not include any changes to the plugins.
I dont know, what distri you use,
I am using the OpenEmbedded framework [6].
one way would be to fix this in the make.global ( used up from vdr-1.7.(not shure yet)) and inherit this in the plugin Makefile.
Should be standard in the vdr-1.7.x adapted plugin Makefiles
That is what my patch is for. I will send an updated patch.
One question left. Why does not `LDFLAGS` need to be passed in the implicit rules?
### Implicit rules:
%.o: %.c $(CXX) $(CXXFLAGS) $(LDFLAGS) -c $(DEFINES) $(INCLUDES) $<
Thanks,
Paul
[1] http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/media-video/vdr/file... [2] http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/media-video/vdr/vdr-... [3] http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/media-plugins/vdr-sk... [4] http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/media-plugins/vdr-bu... [5] http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/eclass/vdr-plugin.ec... [6] http://www.openembedded.org/
Am Montag, den 13.12.2010, 11:56 +0100 schrieb Paul Menzel:
Am Montag, den 13.12.2010, 11:29 +0100 schrieb Paul Menzel:
Am Montag, den 13.12.2010, 00:29 +0100 schrieb Joerg Bornkessel:
Am Samstag, den 25.09.2010, 13:15 +0200 schrieb Joerg Bornkessel:
[…]
Should `LDFLAGS` also be passed to the compiler when building the plugins?
We have this fixed global on Gentoo for all plugins. All plugin Makefile's are sed'ed/patched to use the LDFLAGS.
Sorry, I do not know Gentoo’s build system. I found the patch for VDR [1] and the ebuild file [2].
I was wondering why skincurses had no patch applied or change regarding `LDFLAGS` [3] and for example vdr-burn [4] has a separate patch. Then I found `vdr-plugin.eclass` [5] where the replacement is done using `sed`.
I made a patch from your message which does not include any changes to the plugins.
I dont know, what distri you use,
I am using the OpenEmbedded framework [6].
one way would be to fix this in the make.global ( used up from vdr-1.7.(not shure yet)) and inherit this in the plugin Makefile.
Should be standard in the vdr-1.7.x adapted plugin Makefiles
That is what my patch is for. I will send an updated patch.
One question left. Why does not `LDFLAGS` need to be passed in the implicit rules?
### Implicit rules: %.o: %.c $(CXX) $(CXXFLAGS) $(LDFLAGS) -c $(DEFINES) $(INCLUDES) $<
I guess that no linking is happening here?
Please find below an updated patch. It would be great if you could add your Signed-off-by line or acknowledge it in some why, so Klaus can apply it.
Thanks,
Paul
[1] http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/media-video/vdr/file... [2] http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/media-video/vdr/vdr-... [3] http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/media-plugins/vdr-sk... [4] http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/media-plugins/vdr-bu... [5] http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/eclass/vdr-plugin.ec... [6] http://www.openembedded.org/
8<-------------------------------------------------------------------->8 Date: Sun, 12 Dec 2010 18:19:42 +0100 Subject: [PATCH v2] Makefile: pass `LDFLAGS` to compiler
Some distributions pass special flags to the linker [1][2]. Respect those by using `LDFLAGS`.
Instead of [1] this patch was made using the following command based on `vdr-plugin.eclass` [3].
find PLUGINS -name Makefile | xargs sed -i '/LDFLAGS/!s:-shared:$(LDFLAGS) -shared:'
Additionally the main Makefile was changed too.
The changes have been present in OpenEmbedded and Gentoo for a while already and can be assumend tested.
The implicit rules are not changed. This could been done easily using the following command.
$ find PLUGINS -name Makefile | xargs sed -i 's/$(CXX) $(CXXFLAGS) -c $(DEFINES) $(INCLUDES) $</$(CXX) $(CXXFLAGS) $(LDFLAGS) -c $(DEFINES) $(INCLUDES) $</'
[1] http://cgit.openembedded.org/cgit.cgi/openembedded/tree/recipes/vdr/vdr-1.7.... [2] http://www.linuxtv.org/pipermail/vdr/2010-September/023623.html [3] http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/eclass/vdr-plugin.ec... (code line 232)
Signed-off-by: Paul Menzel paulepanter@users.sourceforge.net --- Makefile | 2 +- PLUGINS/src/dvbsddevice/Makefile | 2 +- PLUGINS/src/hello/Makefile | 2 +- PLUGINS/src/osddemo/Makefile | 2 +- PLUGINS/src/pictures/Makefile | 2 +- PLUGINS/src/servicedemo/Makefile | 4 ++-- PLUGINS/src/skincurses/Makefile | 2 +- PLUGINS/src/status/Makefile | 2 +- PLUGINS/src/svdrpdemo/Makefile | 2 +- 9 files changed, 10 insertions(+), 10 deletions(-)
diff --git a/Makefile b/Makefile index 26f54ea..48e3309 100644 --- a/Makefile +++ b/Makefile @@ -95,7 +95,7 @@ $(DEPFILE): Makefile # The main program:
vdr: $(OBJS) $(SILIB) - $(CXX) $(CXXFLAGS) -rdynamic $(OBJS) $(LIBS) $(LIBDIRS) $(SILIB) -o vdr + $(CXX) $(CXXFLAGS) -rdynamic $(LDFLAGS) $(OBJS) $(LIBS) $(LIBDIRS) $(SILIB) -o vdr
# The libsi library:
diff --git a/PLUGINS/src/dvbsddevice/Makefile b/PLUGINS/src/dvbsddevice/Makefile index 32d0f50..afc801b 100644 --- a/PLUGINS/src/dvbsddevice/Makefile +++ b/PLUGINS/src/dvbsddevice/Makefile @@ -99,7 +99,7 @@ i18n: $(I18Nmsgs) $(I18Npot) ### Targets:
libvdr-$(PLUGIN).so: $(OBJS) - $(CXX) $(CXXFLAGS) -shared $(OBJS) -o $@ + $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@ @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
dist: clean diff --git a/PLUGINS/src/hello/Makefile b/PLUGINS/src/hello/Makefile index a5703f6..9e51cf7 100644 --- a/PLUGINS/src/hello/Makefile +++ b/PLUGINS/src/hello/Makefile @@ -99,7 +99,7 @@ i18n: $(I18Nmsgs) ### Targets:
libvdr-$(PLUGIN).so: $(OBJS) - $(CXX) $(CXXFLAGS) -shared $(OBJS) -o $@ + $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@ @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
dist: clean diff --git a/PLUGINS/src/osddemo/Makefile b/PLUGINS/src/osddemo/Makefile index d9ed4c5..eb98160 100644 --- a/PLUGINS/src/osddemo/Makefile +++ b/PLUGINS/src/osddemo/Makefile @@ -72,7 +72,7 @@ $(DEPFILE): Makefile ### Targets:
libvdr-$(PLUGIN).so: $(OBJS) - $(CXX) $(CXXFLAGS) -shared $(OBJS) -o $@ + $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@ @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
dist: clean diff --git a/PLUGINS/src/pictures/Makefile b/PLUGINS/src/pictures/Makefile index 19c6fc6..a573363 100644 --- a/PLUGINS/src/pictures/Makefile +++ b/PLUGINS/src/pictures/Makefile @@ -99,7 +99,7 @@ i18n: $(I18Nmsgs) $(I18Npot) ### Targets:
libvdr-$(PLUGIN).so: $(OBJS) - $(CXX) $(CXXFLAGS) -shared $(OBJS) -o $@ + $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@ @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
dist: clean diff --git a/PLUGINS/src/servicedemo/Makefile b/PLUGINS/src/servicedemo/Makefile index 18bfd26..8cba989 100644 --- a/PLUGINS/src/servicedemo/Makefile +++ b/PLUGINS/src/servicedemo/Makefile @@ -74,11 +74,11 @@ $(DEPFILE): Makefile ### Targets:
libvdr-$(PLUGIN1).so: $(PLUGIN1).o - $(CXX) $(CXXFLAGS) -shared $(PLUGIN1).o -o $@ + $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(PLUGIN1).o -o $@ @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
libvdr-$(PLUGIN2).so: $(PLUGIN2).o - $(CXX) $(CXXFLAGS) -shared $(PLUGIN2).o -o $@ + $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(PLUGIN2).o -o $@ @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
dist: clean diff --git a/PLUGINS/src/skincurses/Makefile b/PLUGINS/src/skincurses/Makefile index 080c3e6..e1e3ae6 100644 --- a/PLUGINS/src/skincurses/Makefile +++ b/PLUGINS/src/skincurses/Makefile @@ -99,7 +99,7 @@ i18n: $(I18Nmsgs) $(I18Npot) ### Targets:
libvdr-$(PLUGIN).so: $(OBJS) - $(CXX) $(CXXFLAGS) -shared $(OBJS) -lncursesw -o $@ + $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -lncursesw -o $@ @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
dist: clean diff --git a/PLUGINS/src/status/Makefile b/PLUGINS/src/status/Makefile index 556a09e..fa59016 100644 --- a/PLUGINS/src/status/Makefile +++ b/PLUGINS/src/status/Makefile @@ -72,7 +72,7 @@ $(DEPFILE): Makefile ### Targets:
libvdr-$(PLUGIN).so: $(OBJS) - $(CXX) $(CXXFLAGS) -shared $(OBJS) -o $@ + $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@ @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
dist: clean diff --git a/PLUGINS/src/svdrpdemo/Makefile b/PLUGINS/src/svdrpdemo/Makefile index 4a803c6..1101634 100644 --- a/PLUGINS/src/svdrpdemo/Makefile +++ b/PLUGINS/src/svdrpdemo/Makefile @@ -72,7 +72,7 @@ $(DEPFILE): Makefile ### Targets:
libvdr-$(PLUGIN).so: $(OBJS) - $(CXX) $(CXXFLAGS) -shared $(OBJS) -o $@ + $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@ @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
dist: clean
Am Montag, den 13.12.2010, 11:56 +0100 schrieb Paul Menzel:
Am Montag, den 13.12.2010, 11:29 +0100 schrieb Paul Menzel:
Am Montag, den 13.12.2010, 00:29 +0100 schrieb Joerg Bornkessel:
Am Samstag, den 25.09.2010, 13:15 +0200 schrieb Joerg Bornkessel:
[…]
Should `LDFLAGS` also be passed to the compiler when building the plugins?
We have this fixed global on Gentoo for all plugins. All plugin Makefile's are sed'ed/patched to use the LDFLAGS.
Sorry, I do not know Gentoo’s build system. I found the patch for VDR [1] and the ebuild file [2].
I was wondering why skincurses had no patch applied or change regarding `LDFLAGS` [3] and for example vdr-burn [4] has a separate patch. Then I found `vdr-plugin.eclass` [5] where the replacement is done using `sed`.
I made a patch from your message which does not include any changes to the plugins.
I dont know, what distri you use,
I am using the OpenEmbedded framework [6].
one way would be to fix this in the make.global ( used up from vdr-1.7.(not shure yet)) and inherit this in the plugin Makefile.
Should be standard in the vdr-1.7.x adapted plugin Makefiles
That is what my patch is for. I will send an updated patch.
One question left. Why does not `LDFLAGS` need to be passed in the implicit rules?
### Implicit rules: %.o: %.c $(CXX) $(CXXFLAGS) $(LDFLAGS) -c $(DEFINES) $(INCLUDES) $<
I guess that no linking is happening here?
Please find below an updated patch. It would be great if you could add your Signed-off-by line or acknowledge it in some why, so Klaus can apply it.
Thanks,
Paul
[1] http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/media-video/vdr/file... [2] http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/media-video/vdr/vdr-... [3] http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/media-plugins/vdr-sk... [4] http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/media-plugins/vdr-bu... [5] http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/eclass/vdr-plugin.ec... [6] http://www.openembedded.org/
8<-------------------------------------------------------------------->8 Date: Sun, 12 Dec 2010 18:19:42 +0100 Subject: [PATCH v2] Makefile: pass `LDFLAGS` to compiler
Some distributions pass special flags to the linker [1][2]. Respect those by using `LDFLAGS`.
Instead of [1] this patch was made using the following command based on `vdr-plugin.eclass` [3].
find PLUGINS -name Makefile | xargs sed -i
'/LDFLAGS/!s:-shared:$(LDFLAGS) -shared:'
Additionally the main Makefile was changed too.
The changes have been present in OpenEmbedded and Gentoo for a while already and can be assumend tested.
The implicit rules are not changed. This could been done easily using the following command.
$ find PLUGINS -name Makefile | xargs sed -i 's/$(CXX)
$(CXXFLAGS) -c $(DEFINES) $(INCLUDES) $</$(CXX) $(CXXFLAGS) $(LDFLAGS) -c $(DEFINES) $(INCLUDES) $</'
[1] http://cgit.openembedded.org/cgit.cgi/openembedded/tree/recipes/vdr/vdr-1.7.... [2] http://www.linuxtv.org/pipermail/vdr/2010-September/023623.html [3] http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/eclass/vdr-plugin.ec... (code line 232)
Signed-off-by: Paul Menzel paulepanter@users.sourceforge.net
Makefile | 2 +- PLUGINS/src/dvbsddevice/Makefile | 2 +- PLUGINS/src/hello/Makefile | 2 +- PLUGINS/src/osddemo/Makefile | 2 +- PLUGINS/src/pictures/Makefile | 2 +- PLUGINS/src/servicedemo/Makefile | 4 ++-- PLUGINS/src/skincurses/Makefile | 2 +- PLUGINS/src/status/Makefile | 2 +- PLUGINS/src/svdrpdemo/Makefile | 2 +- 9 files changed, 10 insertions(+), 10 deletions(-)
diff --git a/Makefile b/Makefile index 26f54ea..48e3309 100644 --- a/Makefile +++ b/Makefile @@ -95,7 +95,7 @@ $(DEPFILE): Makefile # The main program:
vdr: $(OBJS) $(SILIB)
$(CXX) $(CXXFLAGS) -rdynamic $(OBJS) $(LIBS) $(LIBDIRS) $(SILIB) -o vdr
$(CXX) $(CXXFLAGS) -rdynamic $(LDFLAGS) $(OBJS) $(LIBS) $(LIBDIRS) $(SILIB) -o vdr
# The libsi library:
diff --git a/PLUGINS/src/dvbsddevice/Makefile b/PLUGINS/src/dvbsddevice/Makefile index 32d0f50..afc801b 100644 --- a/PLUGINS/src/dvbsddevice/Makefile +++ b/PLUGINS/src/dvbsddevice/Makefile @@ -99,7 +99,7 @@ i18n: $(I18Nmsgs) $(I18Npot) ### Targets:
libvdr-$(PLUGIN).so: $(OBJS)
$(CXX) $(CXXFLAGS) -shared $(OBJS) -o $@
$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@ @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
dist: clean diff --git a/PLUGINS/src/hello/Makefile b/PLUGINS/src/hello/Makefile index a5703f6..9e51cf7 100644 --- a/PLUGINS/src/hello/Makefile +++ b/PLUGINS/src/hello/Makefile @@ -99,7 +99,7 @@ i18n: $(I18Nmsgs) ### Targets:
libvdr-$(PLUGIN).so: $(OBJS)
$(CXX) $(CXXFLAGS) -shared $(OBJS) -o $@
$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@ @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
dist: clean diff --git a/PLUGINS/src/osddemo/Makefile b/PLUGINS/src/osddemo/Makefile index d9ed4c5..eb98160 100644 --- a/PLUGINS/src/osddemo/Makefile +++ b/PLUGINS/src/osddemo/Makefile @@ -72,7 +72,7 @@ $(DEPFILE): Makefile ### Targets:
libvdr-$(PLUGIN).so: $(OBJS)
$(CXX) $(CXXFLAGS) -shared $(OBJS) -o $@
$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@ @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
dist: clean diff --git a/PLUGINS/src/pictures/Makefile b/PLUGINS/src/pictures/Makefile index 19c6fc6..a573363 100644 --- a/PLUGINS/src/pictures/Makefile +++ b/PLUGINS/src/pictures/Makefile @@ -99,7 +99,7 @@ i18n: $(I18Nmsgs) $(I18Npot) ### Targets:
libvdr-$(PLUGIN).so: $(OBJS)
$(CXX) $(CXXFLAGS) -shared $(OBJS) -o $@
$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@ @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
dist: clean diff --git a/PLUGINS/src/servicedemo/Makefile b/PLUGINS/src/servicedemo/Makefile index 18bfd26..8cba989 100644 --- a/PLUGINS/src/servicedemo/Makefile +++ b/PLUGINS/src/servicedemo/Makefile @@ -74,11 +74,11 @@ $(DEPFILE): Makefile ### Targets:
libvdr-$(PLUGIN1).so: $(PLUGIN1).o
$(CXX) $(CXXFLAGS) -shared $(PLUGIN1).o -o $@
$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(PLUGIN1).o -o $@ @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
libvdr-$(PLUGIN2).so: $(PLUGIN2).o
$(CXX) $(CXXFLAGS) -shared $(PLUGIN2).o -o $@
$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(PLUGIN2).o -o $@ @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
dist: clean diff --git a/PLUGINS/src/skincurses/Makefile b/PLUGINS/src/skincurses/Makefile index 080c3e6..e1e3ae6 100644 --- a/PLUGINS/src/skincurses/Makefile +++ b/PLUGINS/src/skincurses/Makefile @@ -99,7 +99,7 @@ i18n: $(I18Nmsgs) $(I18Npot) ### Targets:
libvdr-$(PLUGIN).so: $(OBJS)
$(CXX) $(CXXFLAGS) -shared $(OBJS) -lncursesw -o $@
$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -lncursesw -o $@ @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
dist: clean diff --git a/PLUGINS/src/status/Makefile b/PLUGINS/src/status/Makefile index 556a09e..fa59016 100644 --- a/PLUGINS/src/status/Makefile +++ b/PLUGINS/src/status/Makefile @@ -72,7 +72,7 @@ $(DEPFILE): Makefile ### Targets:
libvdr-$(PLUGIN).so: $(OBJS)
$(CXX) $(CXXFLAGS) -shared $(OBJS) -o $@
$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@ @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
dist: clean diff --git a/PLUGINS/src/svdrpdemo/Makefile b/PLUGINS/src/svdrpdemo/Makefile index 4a803c6..1101634 100644 --- a/PLUGINS/src/svdrpdemo/Makefile +++ b/PLUGINS/src/svdrpdemo/Makefile @@ -72,7 +72,7 @@ $(DEPFILE): Makefile ### Targets:
libvdr-$(PLUGIN).so: $(OBJS)
$(CXX) $(CXXFLAGS) -shared $(OBJS) -o $@
$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@ @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
dist: clean
Paul, is it possible to add the patch/diff attached to the mail? I get the patches always inherited in the mail. Its more ezy to handle by Klaus then.
btw, also it should patched then the script newplugin in the main vdr src dir, see attached file.
And finaly, if the patch is applyed in the core vdr, plugin developer should be forced to fix this also in her development trees ;)
Date: Sun, 12 Dec 2010 18:19:42 +0100
Some distributions pass special flags to the linker [1][2]. Respect those by using `LDFLAGS`.
Instead of [1] this patch was made using the following command based on `vdr-plugin.eclass` [3].
find PLUGINS -name Makefile | xargs sed -i '/LDFLAGS/!s:-shared:$(LDFLAGS) -shared:'
Additionally the main Makefile and the script `newplugin` are changed too.
The changes have been present in OpenEmbedded and Gentoo for a while already and can be assumend tested.
The implicit rules are not changed. This could been done easily using the following command.
$ find PLUGINS -name Makefile | xargs sed -i 's/$(CXX) $(CXXFLAGS) -c $(DEFINES) $(INCLUDES) $</$(CXX) $(CXXFLAGS) $(LDFLAGS) -c $(DEFINES) $(INCLUDES) $</'
[1] http://cgit.openembedded.org/cgit.cgi/openembedded/tree/recipes/vdr/vdr-1.7.... [2] http://www.linuxtv.org/pipermail/vdr/2010-September/023623.html [3] http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/eclass/vdr-plugin.ec... (code line 232)
Signed-off-by: Paul Menzel paulepanter@users.sourceforge.net Signed-off-by: Joerg Bornkessel ml@websitec.de --- v2 → v3: Change script `newplugin`. Patch submitted by Joerg [4].
[4] http://www.linuxtv.org/pipermail/vdr/2010-December/024068.html --- Makefile | 2 +- PLUGINS/src/dvbsddevice/Makefile | 2 +- PLUGINS/src/hello/Makefile | 2 +- PLUGINS/src/osddemo/Makefile | 2 +- PLUGINS/src/pictures/Makefile | 2 +- PLUGINS/src/servicedemo/Makefile | 4 ++-- PLUGINS/src/skincurses/Makefile | 2 +- PLUGINS/src/status/Makefile | 2 +- PLUGINS/src/svdrpdemo/Makefile | 2 +- newplugin | 2 +- 10 files changed, 11 insertions(+), 11 deletions(-)
diff --git a/Makefile b/Makefile index 26f54ea..48e3309 100644 --- a/Makefile +++ b/Makefile @@ -95,7 +95,7 @@ $(DEPFILE): Makefile # The main program:
vdr: $(OBJS) $(SILIB) - $(CXX) $(CXXFLAGS) -rdynamic $(OBJS) $(LIBS) $(LIBDIRS) $(SILIB) -o vdr + $(CXX) $(CXXFLAGS) -rdynamic $(LDFLAGS) $(OBJS) $(LIBS) $(LIBDIRS) $(SILIB) -o vdr
# The libsi library:
diff --git a/PLUGINS/src/dvbsddevice/Makefile b/PLUGINS/src/dvbsddevice/Makefile index 32d0f50..afc801b 100644 --- a/PLUGINS/src/dvbsddevice/Makefile +++ b/PLUGINS/src/dvbsddevice/Makefile @@ -99,7 +99,7 @@ i18n: $(I18Nmsgs) $(I18Npot) ### Targets:
libvdr-$(PLUGIN).so: $(OBJS) - $(CXX) $(CXXFLAGS) -shared $(OBJS) -o $@ + $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@ @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
dist: clean diff --git a/PLUGINS/src/hello/Makefile b/PLUGINS/src/hello/Makefile index a5703f6..9e51cf7 100644 --- a/PLUGINS/src/hello/Makefile +++ b/PLUGINS/src/hello/Makefile @@ -99,7 +99,7 @@ i18n: $(I18Nmsgs) ### Targets:
libvdr-$(PLUGIN).so: $(OBJS) - $(CXX) $(CXXFLAGS) -shared $(OBJS) -o $@ + $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@ @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
dist: clean diff --git a/PLUGINS/src/osddemo/Makefile b/PLUGINS/src/osddemo/Makefile index d9ed4c5..eb98160 100644 --- a/PLUGINS/src/osddemo/Makefile +++ b/PLUGINS/src/osddemo/Makefile @@ -72,7 +72,7 @@ $(DEPFILE): Makefile ### Targets:
libvdr-$(PLUGIN).so: $(OBJS) - $(CXX) $(CXXFLAGS) -shared $(OBJS) -o $@ + $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@ @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
dist: clean diff --git a/PLUGINS/src/pictures/Makefile b/PLUGINS/src/pictures/Makefile index 19c6fc6..a573363 100644 --- a/PLUGINS/src/pictures/Makefile +++ b/PLUGINS/src/pictures/Makefile @@ -99,7 +99,7 @@ i18n: $(I18Nmsgs) $(I18Npot) ### Targets:
libvdr-$(PLUGIN).so: $(OBJS) - $(CXX) $(CXXFLAGS) -shared $(OBJS) -o $@ + $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@ @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
dist: clean diff --git a/PLUGINS/src/servicedemo/Makefile b/PLUGINS/src/servicedemo/Makefile index 18bfd26..8cba989 100644 --- a/PLUGINS/src/servicedemo/Makefile +++ b/PLUGINS/src/servicedemo/Makefile @@ -74,11 +74,11 @@ $(DEPFILE): Makefile ### Targets:
libvdr-$(PLUGIN1).so: $(PLUGIN1).o - $(CXX) $(CXXFLAGS) -shared $(PLUGIN1).o -o $@ + $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(PLUGIN1).o -o $@ @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
libvdr-$(PLUGIN2).so: $(PLUGIN2).o - $(CXX) $(CXXFLAGS) -shared $(PLUGIN2).o -o $@ + $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(PLUGIN2).o -o $@ @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
dist: clean diff --git a/PLUGINS/src/skincurses/Makefile b/PLUGINS/src/skincurses/Makefile index 080c3e6..e1e3ae6 100644 --- a/PLUGINS/src/skincurses/Makefile +++ b/PLUGINS/src/skincurses/Makefile @@ -99,7 +99,7 @@ i18n: $(I18Nmsgs) $(I18Npot) ### Targets:
libvdr-$(PLUGIN).so: $(OBJS) - $(CXX) $(CXXFLAGS) -shared $(OBJS) -lncursesw -o $@ + $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -lncursesw -o $@ @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
dist: clean diff --git a/PLUGINS/src/status/Makefile b/PLUGINS/src/status/Makefile index 556a09e..fa59016 100644 --- a/PLUGINS/src/status/Makefile +++ b/PLUGINS/src/status/Makefile @@ -72,7 +72,7 @@ $(DEPFILE): Makefile ### Targets:
libvdr-$(PLUGIN).so: $(OBJS) - $(CXX) $(CXXFLAGS) -shared $(OBJS) -o $@ + $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@ @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
dist: clean diff --git a/PLUGINS/src/svdrpdemo/Makefile b/PLUGINS/src/svdrpdemo/Makefile index 4a803c6..1101634 100644 --- a/PLUGINS/src/svdrpdemo/Makefile +++ b/PLUGINS/src/svdrpdemo/Makefile @@ -72,7 +72,7 @@ $(DEPFILE): Makefile ### Targets:
libvdr-$(PLUGIN).so: $(OBJS) - $(CXX) $(CXXFLAGS) -shared $(OBJS) -o $@ + $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@ @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
dist: clean diff --git a/newplugin b/newplugin index ffc43d3..0c498f0 100755 --- a/newplugin +++ b/newplugin @@ -158,7 +158,7 @@ i18n: $(I18Nmsgs) $(I18Npot) ### Targets:
libvdr-$(PLUGIN).so: $(OBJS) - $(CXX) $(CXXFLAGS) -shared $(OBJS) -o $@ + $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@ @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
dist: clean
Dear Jörg,
Am Montag, den 13.12.2010, 23:49 +0100 schrieb Joerg Bornkessel:
[…]
is it possible to add the patch/diff attached to the mail? I get the patches always inherited in the mail. Its more ezy to handle by Klaus then.
I am used to Git, where it is easy to apply mail messages using the following command.
git am /path/to/file
I have not tried using `patch` with an mbox file. But it should work too.
btw, also it should patched then the script newplugin in the main vdr src dir, see attached file.
Thank you. I forgot about that. I hope the third iteration of the patch with your Signed-off-by will be fine [1].
And finaly, if the patch is applyed in the core vdr, plugin developer should be forced to fix this also in her development trees ;)
Is there a way to do that. Or is the only option to bug them and send them patches?
Thanks,
Paul
[1] http://www.linuxtv.org/pipermail/vdr/2010-December/024096.html
Am Montag, den 13.12.2010, 11:29 +0100 schrieb Paul Menzel:
Am Montag, den 13.12.2010, 00:29 +0100 schrieb Joerg Bornkessel:
Am Samstag, den 25.09.2010, 13:15 +0200 schrieb Joerg Bornkessel:
[…]
Should `LDFLAGS` also be passed to the compiler when building the plugins?
We have this fixed global on Gentoo for all plugins. All plugin Makefile's are sed'ed/patched to use the LDFLAGS.
Sorry, I do not know Gentoo’s build system. I found the patch for VDR [1] and the ebuild file [2].
I was wondering why skincurses had no patch applied or change regarding `LDFLAGS` [3] and for example vdr-burn [4] has a separate patch. Then I found `vdr-plugin.eclass` [5] where the replacement is done using `sed`.
I made a patch from your message which does not include any changes to the plugins.
I dont know, what distri you use,
I am using the OpenEmbedded framework [6].
one way would be to fix this in the make.global ( used up from vdr-1.7.(not shure yet)) and inherit this in the plugin Makefile.
Should be standard in the vdr-1.7.x adapted plugin Makefiles
That is what my patch is for. I will send an updated patch.
One question left. Why does not `LDFLAGS` need to be passed in the implicit rules?
### Implicit rules: %.o: %.c $(CXX) $(CXXFLAGS) $(LDFLAGS) -c $(DEFINES) $(INCLUDES) $<
In this part will only create/compiled the object files, $(OBJS), files with .o extension. It is not needed to link here against LDFLAGS, Linked will only the final lib
Am Montag, den 13.12.2010, 00:29 +0100 schrieb Joerg Bornkessel:
Am Samstag, den 25.09.2010, 13:15 +0200 schrieb Joerg Bornkessel:
I was wondering why skincurses had no patch applied or change regarding `LDFLAGS` [3] and for example vdr-burn [4] has a separate patch. Then I found `vdr-plugin.eclass` [5] where the replacement is done using `sed`.
some plugins (just a handfull) create beside on the plugin lib a helper lib or bin. to fix the makefile in this part will not fixed by the vdr-plugin.eclass. See this depended bug for vdr-burn
http://bugs.gentoo.org/show_bug.cgi?id=339328 http://bugs.gentoo.org/attachment.cgi?id=249154
I am using the OpenEmbedded framework [6].
hmm, sounds interresting, On what Hardware will this run, then?
one way would be to fix this in the make.global ( used up from vdr-1.7.(not shure yet)) and inherit this in the plugin Makefile.
Should be standard in the vdr-1.7.x adapted plugin Makefiles
That is what my patch is for. I will send an updated patch.
Thanks,
Paul
[1] http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/media-video/vdr/file... [2] http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/media-video/vdr/vdr-... [3] http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/media-plugins/vdr-sk... [4] http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/media-plugins/vdr-bu... [5] http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/eclass/vdr-plugin.ec... [6] http://www.openembedded.org/
Am Montag, den 13.12.2010, 23:03 +0100 schrieb Joerg Bornkessel:
Am Montag, den 13.12.2010, 00:29 +0100 schrieb Joerg Bornkessel:
Am Samstag, den 25.09.2010, 13:15 +0200 schrieb Joerg Bornkessel:
I was wondering why skincurses had no patch applied or change regarding `LDFLAGS` [3] and for example vdr-burn [4] has a separate patch. Then I found `vdr-plugin.eclass` [5] where the replacement is done using `sed`.
some plugins (just a handfull) create beside on the plugin lib a helper lib or bin. to fix the makefile in this part will not fixed by the vdr-plugin.eclass. See this depended bug for vdr-burn
http://bugs.gentoo.org/show_bug.cgi?id=339328 http://bugs.gentoo.org/attachment.cgi?id=249154
Thanks, actually I read that ticket before sending my message. It is great that you confirmed my guess. Could you reply to my »PATCH v2« if you have time please so that Klaus knows it is ready to be committed.
I am using the OpenEmbedded framework [6].
hmm, sounds interresting, On what Hardware will this run, then?
I am planning on using the BeagleBoard [8] which is ARM Cortex A8 based.
T. Brinkmann is working on getting VDR to run on the BeagleBoard too [9], but there are some problems to use it as the output device.
Thanks,
Paul
[7] http://www.vdr-wiki.de/wiki/index.php/%C3%85ngstr%C3%B6m [8] http://beagleboard.org/ [9] http://groups.google.com/group/beagleboard/msg/1b3fabd83fa9190e