On 08/19/07 19:13, Anssi Hannula wrote:
Before one could just run make and after that you could just run
./vdr. However, now LOCDIR is set to $(PREFIX)/share/vdr/locale by
default, which causes localisation to not work unless make
install-i18n (or make install which runs it as well) is run, which
copies the locale files to LOCDIR.
However, almost exactly the opposite is the case with PLUGINLIBDIR,
which by default is ./PLUGINS/lib so that it works inside the
source-tree, but it is not so good if installed into /usr/local.
AFAICS this is inconsistent. I think either VDR should work
out-of-the-box (without modifying make variables) inside the source tree
*or* out of the source tree.
I.e. LOCDIR should be changed to ./locale or PLUGINLIBDIR should be
changed $(PREFIX)/lib/vdr or similar.
Or make the i18n.c work with locales being either in LOCDIR or ./locale.
It doesn't really matter to me, but for some other users the current
state might be confusing.
You're right. When I started writing VDR, the idea was to have
everything in one directory and also run it from there. No install
or anything.
Then came people who insisted in installing VDR, so the BINDIR
etc. got in, which I didn't care about, because I just didn't do
make install. Later came the plugins, and that's when VDR actually
needed to know where they are, so that's when PLUGINLIBDIR came in.
I still didn't care about it, because the default was what I needed,
namely ./PLUGINS.
Now with gettext, VDR needed to know where the locale files are, so
it can offer the user the list of supported languages. Somehow I
made the mistake of making /usr/share/vdr/locale the default for
this, not thinking about the confusion this apparently causes.
(Actually /usr/share/vdr/locale should probably become /usr/share/locale
with the latest changes in handling this stuff in version 1.5.8).
Since I don't care the least bit about actually installing VDR,
I should probably stay completely out of the install targets.
Change them to whatever you like and agree on a common version
here on the list (as a complete patch against the latest developer
version).
The only request I have is that it must be possible to unpack
VDR into a directory and do
make vdrto compile the vdr executable into this directory
make i18n to build VDR's i18n files into ./locale
make pluginsto compile all plugins under ./PLUGINS/src and have
their *.so files end up in ./PLUGINS/lib, and also
have their i18n files end up in ./locale
make clean-plugins to clean up everything that 'make plugins'
generated
make clean to clean up everything that 'make vdr' or 'make i18n'
created
VDR must be runnable from within its source directory and must
search for plugin files in ./PLUGINS/lib and for locale files
in ./locale.
If it is necessary to add something like LOCAL=1 to the make calls
in order to achieve this, that's fine with me (this should, however,
also be definable in Make.config - I don't want to have to add this
every time I make VDR ;-).
So you can make the default for PLUGINLIBDIR and LOCDIR point to
whatever location you want (and good luck finding a consensus in
these defaults ;-).
If there shall be a way to remove what any install target has created,
this shall be done in a clean-install or whatever target. I don't want
'make clean' to have anything to do with any install target.
Klaus
___
vdr mailing list
vdr@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr