Re: [vdr] [DISCUSSION REQUEST] reintroduce a common make configuration file in VDR-1.7.35

2012-12-26 Thread Christopher Reimer
2012/12/25 Klaus Schmidinger klaus.schmidin...@tvdr.de:

 3.) the file should be included into plugin Makefiles after having set
 PLUGIN and VERSION to be able to have some plugin-/version-dependent
 configuration.


 Agreed.


No. Not agreed.

Just use DEFINES+= in Make.config, and if that doesn't work, plugin
makefiles have to be patched.

There's also the possibility to add a Make.config to every plugin.
Some plugin maintainer already started to include their own
Make.config (e.g.
http://projects.vdr-developer.org/git/vdr-plugin-ripit.git/tree/Make.config.template)

Christopher

___
vdr mailing list
vdr@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr


Re: [vdr] [DISCUSSION REQUEST] reintroduce a common make configuration file in VDR-1.7.35

2012-12-26 Thread Reinhard Nissl

Hi,

Am 26.12.2012 09:53, schrieb Christopher Reimer:

2012/12/25 Klaus Schmidinger klaus.schmidin...@tvdr.de:



3.) the file should be included into plugin Makefiles after having set
PLUGIN and VERSION to be able to have some plugin-/version-dependent
configuration.


Agreed.


No. Not agreed.

Just use DEFINES+= in Make.config, and if that doesn't work, plugin
makefiles have to be patched.


I understand that this seems to be a quite simple solution, 
because in the end, almost any other configuration option will be 
converted to either compiler or linker settings. But it's quite 
lowlevel and one has to dig through the Makefile in depth to 
extract the necessary compiler or linker options.


And as you already mention, plugin Makefiles need to be patched 
to get it working. For example, there can nolonger be any default 
values in the Makefile that get always passed to the compiler as 
a define, as one cannot override it with a different value in 
Make.config. The default value has to go into the source file in 
case a certain define (and hence, a specific value) has not been 
passed to the compiler.


I think that we should keep the possibility to configure 
highlevel plugin options from a central place like plugins.conf 
just as Make.config did up to VDR-1.7.33.



There's also the possibility to add a Make.config to every plugin.
Some plugin maintainer already started to include their own
Make.config (e.g.
http://projects.vdr-developer.org/git/vdr-plugin-ripit.git/tree/Make.config.template)


Well, that's not what I was looking for, but kls suggested that 
already on vdr-portal too. I dislike on that solution that there 
is not a single central configuration file, but a symbolic link 
could do the trick to share a common file.


Bye.
--
Dipl.-Inform. (FH) Reinhard Nissl
mailto:rni...@gmx.de

___
vdr mailing list
vdr@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr


Re: [vdr] [DISCUSSION REQUEST] reintroduce a common make configuration file in VDR-1.7.35

2012-12-26 Thread Manuel Reimer

Reinhard Nissl wrote:

I understand that this seems to be a quite simple solution, because in the end,
almost any other configuration option will be converted to either compiler or
linker settings. But it's quite lowlevel and one has to dig through the Makefile
in depth to extract the necessary compiler or linker options.


... so we have the same situation, we always had. You either have to find the 
configuration options in the Makefile or you have to find them somewhere in the 
documentation of the plugin, you want to build.



I think that we should keep the possibility to configure highlevel plugin
options from a central place like plugins.conf just as Make.config did up to
VDR-1.7.33.


What is your plan? Do you want to build plugins the old way inside the VDR 
source dir? If so, then just add your options to your Make.config as you did 
in the past, but prefix them with an export . Something like:


export PLUGIN_OPTION = any_value

This way the options reach the plugin Makefiles if you do your make plugins as 
the global VDR Makefile exports the value.


If you don't plan to build all your plugins from the VDR source file, then a 
global configuration isn't needed. Then, the configuration should be part of the 
distribution specific package build scripts.


Yours

Manuel

___
vdr mailing list
vdr@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr


Re: [vdr] [DISCUSSION REQUEST] reintroduce a common make configuration file in VDR-1.7.35

2012-12-26 Thread Udo Richter
I've been doing things with Make.config too, and would like it to be 
available again. My plugins usually followed this pattern:


-include $(VDRDIR)/Make.global
-include $(VDRDIR)/Make.config
-include Make.config

so you always had the chance to have optional control without patching 
makefiles.


The global Make.config had lines like this:

ifeq ($(PLUGIN),someplugin)
  ...
endif

to do build configuration for some plugins, or to force-off some 
warnings or fix certain compile issues, or even add 
distribution-specific quirks. (building for different debian releases 
from same source)


So I'm in for a central method to do configuration, and not having to 
patch every plugin makefile and distribute several local Make.config files.



Am 25.12.2012 21:07, schrieb Klaus Schmidinger:

On 25.12.2012 20:47, Reinhard Nissl wrote:

1.) there is a need for a common make configuration file for both VDR and 
plugins.


No, only for *plugins*!
VDR itself will have nothing to do with this file!


Should be ok to have an Make-plugin.config, as long as all vdr relevant 
options from Make.config get passed on into vdr.pc and can be re-read by 
the plugin. Directly accessing Make.config is way easier than 
reconstructing it, though. Speaking of all, I wonder whether some plugin 
out there used PREFIX or MANDIR, these are now off-limits.


Oh, and by the way, with introducing $(CWD) some previously relative 
paths got hard coded, so moving these builds around or accessing them 
from different mount points might now be broken. For example, my default 
lib dir changed from ./PLUGINS/lib to 
/usr/src/pc/vdr/vdr-1.7.34/PLUGINS/lib, which only makes sense within a 
single virtual machine that cannot even run VDR at all. I'll have to add 
some overrides for that.



Also, this needs some thoughts on compatibility, as I prefer to provide 
ONE source code package, no matter what VDR version it is for. I won't 
support X different plugin versions for Y different VDR versions. Don't 
make me choose between dropping pre-1.7.34 or post-1.7.33, you might not 
like the outcome. Right now, the old Makefiles luckily just do compile 
after all.




I suggest to put the lines

PLGCFG ?= /etc/vdr/plugins.conf
-include $(PLGCFG)

into each plugin's Makefile and that's it.


Please, prettyprettyprettyplease NOT /etc. Source code should compile 
from within its source folder, and not interfere with global 
configuration. I don't want to sudo scripts that prepare sources for 
compiling, and I want multiple source codes in parallel to build 
independently, without swapping files in /etc each time.



Am 26.12.2012 15:54, schrieb Manuel Reimer:

then just add your options to your Make.config as you did in the
past, but prefix them with an export . Something like:

export PLUGIN_OPTION = any_value

This way the options reach the plugin Makefiles if you do your make
plugins as the global VDR Makefile exports the value.


Especially for development, make plugins is waaay to heavyweight. Until 
now it was easily possible to enter the plugin source directory and just 
do an make all. (for my plugins, even a simple make will do.)
Your suggestion depends on passing through VDR's makefile first to 
realize these options.


Cheers,

Udo


___
vdr mailing list
vdr@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr


Re: [vdr] [DISCUSSION REQUEST] reintroduce a common make configuration file in VDR-1.7.35

2012-12-26 Thread Timothy D. Lenz
I prefer to keep files for a given program together in that programs 
tree. Not scatter all over the computer like ms. The only thing for vdr 
I move is the recordings because of the space required. All 
settings/config files for vdr belong in the vdr directory tree.


On 12/25/2012 1:07 PM, Klaus Schmidinger wrote:

On 25.12.2012 20:47, Reinhard Nissl wrote:

Hi,

as mentioned in the VDR-1.7.34 announcement, Make.config is now gone
for plugins.

Make.config gave me the opportunity to control features or behavior of
plugins and VDR at a central location without having the need to
adjust each plugin's Makefile. For example, while developing vdr-xine,
I could keep vdr-xine's Makefile in a distributable state and still
control to enable some
features I'd like to use in my local configuration. And when upgrading
some other plugins at bugfix level (i. e. there are usually no new
features and hence the config variables can stay the same), there was
no need to adjust the Makefile due to the config entries in Make.config.

Here is an excerpt of my Make.config for an example of the above
mentioned configuration settings:


#xine
#VDR_XINE_VDR_HAS_TRUECOLOR_OSD = 1
VDR_XINE_SET_VIDEO_WINDOW = 1
VDR_XINE_VERIFY_BITMAP_DIRTY = 0

#burn
DVDDEV=/dev/hdd
ISODIR=/video

#vdr
BIDI=1
VFAT=1
REMOTE=LIRC
LIRC_PUSHFREQ=64 # 1/s
LIRC_REPEATDELAY=250 # ms
LIRC_REPEATFREQ=32 # 1/s
#LIRC_REPEATTIMEOUT=500 # ms
#LIRC_RECONNECTDELAY=3000 # ms
LIRC_PRIORITYBOOST=1

#muggle
HAVE_ONLY_SERVER=1


As you can see, there is nothing like changing compiler or linker
settings -- for that stuff, I really appreciate the way it is done now.

In a private discussion with kls, he asked me to talk to other plugin
developers too (so here we are) about that issue, so that any solution
in that regard will be of broad agreement by all developers.

To conclude:
1.) there is a need for a common make configuration file for both VDR
and plugins.


No, only for *plugins*!
VDR itself will have nothing to do with this file!


2.) the file should be included in VDR's Makefile after including
Make.config (maybe that idea should be dropped in favor of 5.a) as any
VDR related option can be put into Make.config anyway).


See 1.).


3.) the file should be included into plugin Makefiles after having set
PLUGIN and VERSION to be able to have some plugin-/version-dependent
configuration.


Agreed.


4.) the file is optional -- maybe a template file like
Make.config.template could indicate that there is something available
for tuning.

5.) how do we name the file?
5.a) plugins.conf (doesn't fit perfectly for 2., to be a common file
for VDR too)


No need, see 1.).


5.b) Make.common
5.c) local.conf
5.d) Make.config.local

6.) where do we put the file?
6.a) kls suggested /etc/vdr at a random shot
6.b) I would like to put it next to Make.config
6.c) use pkg-config to determine path (defaults to VDRDIR)


Can't we just agree on a fixed place for this file?
Does it really have to be somewhere else on every system?

I suggest to put the lines

PLGCFG ?= /etc/vdr/plugins.conf
-include $(PLGCFG)

into each plugin's Makefile and that's it.

Klaus

___
vdr mailing list
vdr@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr



___
vdr mailing list
vdr@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr


Re: [vdr] [ANNOUNCE] VDR developer version 1.7.34

2012-12-26 Thread Udo Richter

Am 24.12.2012 10:39, schrieb Klaus Schmidinger:

- The plugin Makefiles now have a separate 'install' target (suggested by 
Christopher
   Reimer). In order to still allow the normal building of VDR (with all 
plugins in its
   ./PLUGINS/src subdirectory, the plugin libraries in ./PLUGINS/lib and the 
i18n files in
   ./locale) the VDR Makefile checks the settings of LIBDIR and LOCDIR when 
building the
   plugins from within the VDR source directory. If these macros have their 
default values,
   then the 'install' targets of the plugins' Makefiles are called. Otherwise 
the 'all'
   targets are called and the plugins are merely built, and will have to be 
installed by a
   call to 'make install-plugins'. This now also allows a user to copy a plugin 
source to
   any directory, change into that directory and do 'make' and 'make install' 
to have the
   plugin installed to wherever the local installation of VDR expects them.


This has a major downside: LIBDIR and LOCDIR have two different 
meanings: First, the install target for make install, second, the 
default search path for VDR as long as --lib and --localedir is not 
specified. There's no way to handle them different.


So either I have a build that expects ./PLUGINS/lib to exist, or I 
*have* to use make install, that currently creates a total mess. 
(xineliboutput even tries to write outside of DESTDIR, and luckily fails 
to write directly to /lib/.)


I'm now (after 6 hours) at the point that I'll probably have to write an 
own lib and locale collector script that collects what has been in 
./locale and ./PLUGINS/lib before, avoiding all the Makefiles, picking 
the right folders and files (there's no common way to find the .so file 
in the src folder), renaming them, etc. And I'm starting to think 
whether staying at VDR-1.7.33 wouldn't be the better solution. (or 
returning to 1.7.31 where editing recordings doesn't take forever.)


Cheers,

Udo


___
vdr mailing list
vdr@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr


[vdr] Debugging facility in VDR Makefile(s)?

2012-12-26 Thread Eike
Hello!

When I had a deeper look into VDR, I wondered why there seems 
to be no debugging facility. I added the following to VDR's Makefile:

debug: CFLAGS += -DDEBUG -ggdb3 -O0
debug: CXXFLAGS += -DDEBUG -ggdb3 -O0
debug: all

... so make debug creates an executable where no variables 
are optimized out and and no statements are reordered.
I guess this could be useful for other people as well.
Or did I miss something and this is already included somewhere?

Ciao,
Eike

PS: Sorry, I misdirected this mail to vdr-ow...@linuxtv.org first.


signature.asc
Description: This is a digitally signed message part.
___
vdr mailing list
vdr@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr