summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2012-11-13 23:41:38 +0100
committerwm4 <wm4@nowhere>2012-11-14 11:26:43 +0100
commit97efafee8aac2bcc1bb404fb774c4f8fdbf1b3c0 (patch)
tree7e9c727e8cd858a0cb4b60b8c217190bab132e45
parenta2098326dac3587fb6f0869e515c07d1f9c762f8 (diff)
downloadmpv-97efafee8aac2bcc1bb404fb774c4f8fdbf1b3c0.tar.bz2
mpv-97efafee8aac2bcc1bb404fb774c4f8fdbf1b3c0.tar.xz
build: remove doc/locale language auto-detection, simplify
This removes the rather complicated configure and Makefile parts related to auto-detecting available languages for manpages and locales. We don't have non-English manpages or any locales, so this is pointless. It didn't even work: configure --language=all created an invalid config.mak that would cause "make install" to fail. Remove installation of locales. There are no translations at all which could be installed. Should there ever be someone who is interested in adding translations, this can be added back in a simpler way. Rename the --enable-translation configure option to --enable-gettext. This is what this option really does: enable gettext() use. This may be interesting for people who want to experiment with localizing mpv, but is entirely useless for normal use. Remove detection of the binary codecs directory in configure.
-rw-r--r--.gitignore2
-rw-r--r--Makefile46
-rwxr-xr-xconfigure135
-rw-r--r--core/mp_msg.c6
4 files changed, 22 insertions, 167 deletions
diff --git a/.gitignore b/.gitignore
index 6fc7816d5c..7ceff799c5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -14,8 +14,6 @@
/core/input/input_conf.h
/tags
/TAGS
-/locale
-/po
/video/out/vo_opengl_shaders.h
/video/out/vdpau_template.c
/demux/ebml_defs.c
diff --git a/Makefile b/Makefile
index 466f095052..40b3ed661c 100644
--- a/Makefile
+++ b/Makefile
@@ -286,11 +286,9 @@ ALL_PRG += mpv$(EXESUF)
INSTALL_TARGETS += check_rst2man \
install-mpv \
- install-mpv-man \
- install-mpv-msg
+ install-mpv-man
-INSTALL_NO_MAN_TARGETS += install-mpv \
- install-mpv-msg
+INSTALL_NO_MAN_TARGETS += install-mpv
DIRS = . \
audio \
@@ -309,8 +307,6 @@ DIRS = . \
video/filter \
video/out
-MOFILES := $(MSG_LANGS:%=locale/%/LC_MESSAGES/mpv.mo)
-
ADDSUFFIXES = $(foreach suf,$(1),$(addsuffix $(suf),$(2)))
ADD_ALL_DIRS = $(call ADDSUFFIXES,$(1),$(DIRS))
@@ -325,7 +321,7 @@ endif
###### generic rules #######
-all: $(ALL_PRG) locales
+all: $(ALL_PRG)
%.1: %.rst
$(RST2MAN) $< $@
@@ -392,16 +388,9 @@ version.h .version: version.sh
%$(EXESUF): %.c
$(CC) $(CFLAGS) -o $@ $^
-locales: $(MOFILES)
-
-locale/%/LC_MESSAGES/mpv.mo: po/%.po
- mkdir -p $(dir $@)
- msgfmt -c -o $@ $<
-
%.ho: %.h
$(CC) $(CFLAGS) -Wno-unused -c -o $@ -x c $<
-
###### dependency declarations / specific CFLAGS ######
core/version.c osdep/mpv-rc.o: version.h
@@ -421,46 +410,26 @@ install-no-man: $(INSTALL_NO_MAN_TARGETS)
install-dirs:
if test ! -d $(BINDIR) ; then $(INSTALL) -d $(BINDIR) ; fi
if test ! -d $(CONFDIR) ; then $(INSTALL) -d $(CONFDIR) ; fi
- if test ! -d $(LIBDIR) ; then $(INSTALL) -d $(LIBDIR) ; fi
install-%: %$(EXESUF) install-dirs
$(INSTALL) -m 755 $(INSTALLSTRIP) $< $(BINDIR)
-install-mpv-man: $(foreach lang,$(MAN_LANGS),install-mpv-man-$(lang))
-install-mpv-msg: $(foreach lang,$(MSG_LANGS),install-mpv-msg-$(lang))
+install-mpv-man: install-mpv-man-en
install-mpv-man-en: DOCS/man/en/mpv.1
if test ! -d $(MANDIR)/man1 ; then $(INSTALL) -d $(MANDIR)/man1 ; fi
$(INSTALL) -m 644 DOCS/man/en/mpv.1 $(MANDIR)/man1/
-define MPLAYER_MAN_RULE
-install-mpv-man-$(lang): DOCS/man/$(lang)/mpv.1
- if test ! -d $(MANDIR)/$(lang)/man1 ; then $(INSTALL) -d $(MANDIR)/$(lang)/man1 ; fi
- $(INSTALL) -m 644 DOCS/man/$(lang)/mpv.1 $(MANDIR)/$(lang)/man1/
-endef
-
-$(foreach lang,$(filter-out en,$(MAN_LANG_ALL)),$(eval $(MPLAYER_MAN_RULE)))
-
-define MPLAYER_MSG_RULE
-install-mpv-msg-$(lang):
- if test ! -d $(LOCALEDIR)/$(lang)/LC_MESSAGES ; then $(INSTALL) -d $(LOCALEDIR)/$(lang)/LC_MESSAGES ; fi
- $(INSTALL) -m 644 locale/$(lang)/LC_MESSAGES/mpv.mo $(LOCALEDIR)/$(lang)/LC_MESSAGES/
-endef
-
-$(foreach lang,$(MSG_LANG_ALL),$(eval $(MPLAYER_MSG_RULE)))
-
uninstall:
$(RM) $(BINDIR)/mpv$(EXESUF)
$(RM) $(MANDIR)/man1/mpv.1
- $(RM) $(foreach lang,$(MAN_LANGS),$(foreach man,mpv.1,$(MANDIR)/$(lang)/man1/$(man)))
- $(RM) $(foreach lang,$(MSG_LANGS),$(LOCALEDIR)/$(lang)/LC_MESSAGES/mpv.1)
+ $(RM) $(MANDIR)/en/man1/mpv.1
clean:
-$(RM) $(call ADD_ALL_DIRS,/*.o /*.d /*.a /*.ho /*~)
- -$(RM) $(foreach lang,$(MAN_LANGS),$(foreach man,mpv.1,DOCS/man/$(lang)/$(man)))
-$(RM) $(call ADD_ALL_DIRS,/*.o /*.a /*.ho /*~)
-$(RM) $(call ADD_ALL_EXESUFS,mpv)
- -$(RM) $(MOFILES)
+ -$(RM) DOCS/man/en/mpv.1
-$(RM) version.h
-$(RM) core/codecs.conf.h
-$(RM) core/input/input_conf.h
@@ -470,7 +439,6 @@ clean:
-$(RM) sub/osd_font.h
distclean: clean
- -$(RM) -r locale
-$(RM) config.log config.mak config.h TAGS tags
TAGS:
@@ -484,7 +452,7 @@ osxbundle:
-include $(DEP_FILES)
-.PHONY: all locales *install*
+.PHONY: all *install*
.PHONY: checkheaders *clean .version
# Disable suffix rules. Most of the builtin rules are suffix rules,
diff --git a/configure b/configure
index 91a16bfcbe..e494d8df59 100755
--- a/configure
+++ b/configure
@@ -272,10 +272,6 @@ case $(echo -n) in
*) _echo_n='-n ' _echo_c= ;; # BSD echo
esac
-msg_lang_all=''
-ls po/*.po >/dev/null 2>&1 && msg_lang_all=$(echo po/*.po | sed -e 's:po/\([^[:space:]]*\)\.po:\1:g')
-man_lang_all=$(echo DOCS/man/??/mpv.1 DOCS/man/??_??/mpv.1 | sed -e "s:DOCS/man/\(..\)/mpv.1:\1:g" -e "s:DOCS/man/\(.._..\)/mpv.1:\1:g")
-doc_lang_all=$(echo DOCS/xml/??/ DOCS/xml/??_??/ | sed -e "s:DOCS/xml/\(..\)/:\1:g" -e "s:DOCS/xml/\(.._..\)/:\1:g")
show_help(){
cat << EOF
@@ -292,12 +288,9 @@ Installation directories:
--mandir=DIR directory for installing man pages [PREFIX/share/man]
--confdir=DIR directory for installing configuration files
[PREFIX/etc/mpv]
- --localedir=DIR directory for locale tree [PREFIX/share/locale]
- --libdir=DIR directory for object code libraries [PREFIX/lib]
- --codecsdir=DIR directory for binary codecs [LIBDIR/codecs]
+ --localedir=DIR directory for gettext locales [PREFIX/share/locale]
Optional features:
- --disable-mpv disable mpv compilation [enable]
--disable-encoding disable encoding functionality [enable]
--enable-termcap use termcap database for key codes [autodetect]
--enable-termios use termios database for key codes [autodetect]
@@ -378,22 +371,8 @@ Audio output:
--disable-dsound disable DirectSound audio output [autodetect]
--disable-select disable using select() on the audio device [enable]
-Language options:
- --enable-translation enable support for translated output [disable]
- --language-doc=lang language to use for the documentation [en]
- --language-man=lang language to use for the man pages [en]
- --language-msg=lang extra languages for program messages [all]
- --language=lang default language to use [en]
-Specific options override --language. You can pass a list of languages separated
-by whitespace or commas instead of a single language. Nonexisting translations
-will be dropped from each list. All translations available in the list will be
-installed. The value "all" will activate all translations. The LINGUAS
-environment variable is honored. In all cases the fallback is English.
-The program always supports English-language output; additional message
-languages are only installed if --enable-translation is also specified.
-Available values for --language-doc are: all $doc_lang_all
-Available values for --language-man are: all $man_lang_all
-Available values for --language-msg are: all $msg_lang_all
+Localization options:
+ --enable-gettext enable gettext() usage [disable]
Miscellaneous options:
--enable-cross-compile enable cross-compilation [disable]
@@ -492,9 +471,8 @@ _apple_remote=auto
_apple_ir=auto
_termcap=auto
_termios=auto
-#language=en
_shm=auto
-_translation=no
+_gettext=no
_cdda=auto
_cddb=auto
_coreaudio=auto
@@ -541,12 +519,6 @@ for ac_option do
--confdir=*)
_confdir=$(echo $ac_option | cut -d '=' -f 2)
;;
- --libdir=*)
- _libdir=$(echo $ac_option | cut -d '=' -f 2)
- ;;
- --codecsdir=*)
- _codecsdir=$(echo $ac_option | cut -d '=' -f 2)
- ;;
--localedir=*)
_localedir=$(echo $ac_option | cut -d '=' -f 2)
;;
@@ -580,18 +552,6 @@ for ac_option do
--windres=*)
_windres=$(echo $ac_option | cut -d '=' -f 2)
;;
- --language-doc=*)
- language_doc=$(echo $ac_option | cut -d '=' -f 2)
- ;;
- --language-man=*)
- language_man=$(echo $ac_option | cut -d '=' -f 2)
- ;;
- --language-msg=*)
- language_msg=$(echo $ac_option | cut -d '=' -f 2)
- ;;
- --language=*)
- language=$(echo $ac_option | cut -d '=' -f 2)
- ;;
--enable-static)
_ld_static='-static'
@@ -616,8 +576,8 @@ for ac_option do
--disable-debug)
_debug=
;;
- --enable-translation) _translation=yes ;;
- --disable-translation) _translation=no ;;
+ --enable-gettext) _gettext=yes ;;
+ --disable-gettext) _gettext=no ;;
--enable-cross-compile) _cross_compile=yes ;;
--disable-cross-compile) _cross_compile=no ;;
--enable-encoding) _encoding=yes ;;
@@ -785,7 +745,6 @@ test -z "$_bindir" && _bindir="$_prefix/bin"
test -z "$_datadir" && _datadir="$_prefix/share/mpv"
test -z "$_mandir" && _mandir="$_prefix/share/man"
test -z "$_confdir" && _confdir="$_prefix/etc/mpv"
-test -z "$_libdir" && _libdir="$_prefix/lib"
test -z "$_localedir" && _localedir="$_prefix/share/locale"
for tmpdir in "$TMPDIR" "$TEMPDIR" "/tmp" ; do
@@ -1271,54 +1230,13 @@ else
fi
-echocheck "translation support"
-if test "$_translation" = yes; then
- def_translation="#define CONFIG_TRANSLATION 1"
+echocheck "gettext support"
+if test "$_gettext" = yes; then
+ def_gettext="#define CONFIG_GETTEXT 1"
else
- def_translation="#undef CONFIG_TRANSLATION"
+ def_gettext="#undef CONFIG_GETTEXT"
fi
-echores "$_translation"
-
-echocheck "language"
-# Set preferred languages, "all" uses English as main language.
-test -z "$language" && language=$LINGUAS
-test -z "$language_doc" && language_doc=$language
-test -z "$language_man" && language_man=$language
-test -z "$language_msg" && language_msg=$language
-test -z "$language_msg" && language_msg="all"
-language_doc=$(echo $language_doc | tr , " ")
-language_man=$(echo $language_man | tr , " ")
-language_msg=$(echo $language_msg | tr , " ")
-
-test "$language_doc" = "all" && language_doc=$doc_lang_all
-test "$language_man" = "all" && language_man=$man_lang_all
-test "$language_msg" = "all" && language_msg=$msg_lang_all
-
-if test "$_translation" != yes ; then
- language_msg=""
-fi
-
-# Prune non-existing translations from language lists.
-# Set message translation to the first available language.
-# Fall back on English.
-for lang in $language_doc ; do
- test -d DOCS/xml/$lang && tmp_language_doc="$tmp_language_doc $lang"
-done
-language_doc=$tmp_language_doc
-test -z "$language_doc" && language_doc=en
-
-for lang in $language_man ; do
- test -d DOCS/man/$lang && tmp_language_man="$tmp_language_man $lang"
-done
-language_man=$tmp_language_man
-test -z "$language_man" && language_man=en
-
-for lang in $language_msg ; do
- test -f po/$lang.po && tmp_language_msg="$tmp_language_msg $lang"
-done
-language_msg=$tmp_language_msg
-
-echores "messages (en+): $language_msg - man pages: $language_man - documentation: $language_doc"
+echores "$_gettext"
echocheck "__builtin_expect"
@@ -2910,22 +2828,6 @@ test "$_libbs2b" = yes && def_libbs2b="#define CONFIG_LIBBS2B 1"
echores "$_libbs2b"
-if test -z "$_codecsdir" ; then
- for dir in "$_libdir/codecs" "$_libdir/win32" /usr/local/lib/codecs \
- /usr/lib/codecs /usr/local/lib/win32 /usr/lib/win32 ; do
- if test -d "$dir" ; then
- _codecsdir="$dir"
- break;
- fi;
- done
-fi
-# Fall back on default directory.
-if test -z "$_codecsdir" ; then
- _codecsdir="$_libdir/codecs"
- mingw32 && _codecsdir="codecs"
-fi
-
-
echocheck "LCMS2 support"
if test "$_lcms2" = auto ; then
_lcms2=no
@@ -3304,17 +3206,9 @@ export LC_ALL = C
CONFIGURATION = $configuration
-DOC_LANGS = $language_doc
-DOC_LANG_ALL = $doc_lang_all
-MAN_LANGS = $language_man
-MAN_LANG_ALL = $man_lang_all
-MSG_LANGS = $language_msg
-MSG_LANG_ALL = $msg_lang_all
-
prefix = \$(DESTDIR)$_prefix
BINDIR = \$(DESTDIR)$_bindir
DATADIR = \$(DESTDIR)$_datadir
-LIBDIR = \$(DESTDIR)$_libdir
MANDIR = \$(DESTDIR)$_mandir
CONFDIR = \$(DESTDIR)$_confdir
LOCALEDIR = \$(DESTDIR)$_localedir
@@ -3457,7 +3351,7 @@ cat > $TMPH << EOF
#define MPLAYER_CONFDIR "$_confdir"
#define MPLAYER_LOCALEDIR "$_localedir"
-$def_translation
+$def_gettext
/* system headers */
@@ -3659,11 +3553,6 @@ Config files successfully generated by ./configure $configuration !
Data directory: $_datadir
Config direct.: $_confdir
- Languages:
- Messages (in addition to English): $language_msg
- Manual pages: $language_man
- Documentation: $language_doc
-
Enabled optional drivers:
Input: $inputmodules
Codecs: libavcodecs $codecmodules
diff --git a/core/mp_msg.c b/core/mp_msg.c
index d0cce8e064..2e6f148438 100644
--- a/core/mp_msg.c
+++ b/core/mp_msg.c
@@ -26,7 +26,7 @@
#include "osdep/getch2.h"
#include "osdep/io.h"
-#ifdef CONFIG_TRANSLATION
+#ifdef CONFIG_GETTEXT
#include <locale.h>
#include <libintl.h>
#endif
@@ -86,7 +86,7 @@ void mp_msg_init(void){
for(i=0;i<MSGT_MAX;i++) mp_msg_levels[i] = -2;
mp_msg_cancolor = isatty(fileno(stdout));
mp_msg_levels[MSGT_IDENTIFY] = -1; // no -identify output by default
-#ifdef CONFIG_TRANSLATION
+#ifdef CONFIG_GETTEXT
textdomain("mpv");
char *localedir = getenv("MPV_LOCALEDIR");
if (localedir == NULL && strlen(MPLAYER_LOCALEDIR))
@@ -249,7 +249,7 @@ void mp_msg(int mod, int lev, const char *format, ...)
char *mp_gtext(const char *string)
{
-#ifdef CONFIG_TRANSLATION
+#ifdef CONFIG_GETTEXT
/* gettext expects the global locale to be set with
* setlocale(LC_ALL, ""). However doing that would suck for a
* couple of reasons (locale stuff is badly designed and sucks in