Ping.
This message has received no comments.


-----Original Message-----
From: Роман Донченко [mailto:d...@corrigendum.ru] 
Sent: Monday, 6 August 2012 09:19
To: dev@subversion.apache.org
Subject: [PATCH] Don't strip Content-Type in .po files on Windows

Greetings,

I submitted this patch a couple of years ago, but it didn't get much attention. 
I still think it's relevant, so I'll try again.

[[[
On Windows, don't strip the Content-Type field from .po files during their 
compilation.

GNU libintl, by default, converts the l10n strings into the locale encoding, 
while Subversion requires UTF-8. This conversion can be suppressed by calling 
bind_textdomain_codeset, but certain old versions of libintl don't have that, 
so the Unix build system checks for the existence of that function, and if it's 
not present, strips the Content-Type header  from the .po files (which prevents 
encoding conversion, as well, but makes msgfmt complain).

When building on Windows, this stripping is done unconditionally, but is 
completely unnecessary:

- On Windows, we only support linking with svn-win32-libintl, which is hacked 
to disable all encoding conversions.
- Even if someone links with with his own version of libintl, it's a safe bet 
that it will be new enough to support bind_textdomain_codeset, so we can just 
call that.

This patch removes Content-Type stripping on Windows, which gets rid of msgfmt 
warnings, as well as simplifies the build system.

* build/generator/build_locale.ezt: Remove the strip-po-charset.py invocation.

* build/generator/gen_win.py:
     (POFile.__init__): don't store the .spo file name.

* build/strip-po-charset.py: Delete.

* subversion/libsvn_subr/nls.c:
     (svn_nls_init): Move the bind_textdomain_codeset call out of the #ifdef 
WIN32 block, so it's executed on Windows, as well.

* subversion/svn_private_config.hw: Indicate that bind_textdomain_codeset is 
available if NLS is enabled.
]]]

Roman.

Reply via email to