fix for undefined LANG_XXX constants with some compilers

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@9324 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Václav Slavík
2001-02-07 21:47:55 +00:00
parent 0bb6242172
commit 63986ba653
2 changed files with 559 additions and 46 deletions

View File

@@ -62,17 +62,48 @@ this
def GenTable(table):
all_langs = []
all_sublangs = []
lngtable = ''
ifdefs = ''
for i in table:
ican = '"%s"' % i[1]
if ican == '"-"': ican = '""'
ilang = i[2]
if ilang == '-': ilang = '0'
isublang = i[3]
if isublang == '-': isublang = '0'
lngtable += ' LNG(%-38s %-7s, %-15s, %-34s, %s)\n' % \
((i[0]+','), ican, ilang, isublang, i[4])
if ilang not in all_langs: all_langs.append(ilang)
if isublang not in all_sublangs: all_sublangs.append(isublang)
for s in all_langs:
if s != '0':
ifdefs += '#ifndef %s\n#define %s (0)\n#endif\n' % (s, s)
for s in all_sublangs:
if s != '0' and s != 'SUBLANG_DEFAULT':
ifdefs += '#ifndef %s\n#define %s SUBLANG_DEFAULT\n#endif\n' % (s, s)
f = open('_wxlang.cpp', 'wt')
f.write("""
// This table is generated by misc/languages/genlang.py
// When making changes, please put them into misc/languages/langtabl.txt
#ifdef __WXMSW__
#ifndef __WIN32__
#define SETWINLANG(info,lang,sublang)
#else
#define SETWINLANG(info,lang,sublang) \\
info.WinLang = lang, info.WinSublang = sublang;
#else
#define SETWINLANG(info,lang,sublang)
#endif
%s
#endif // __WIN32__
#define LNG(wxlang, canonical, winlang, winsublang, desc) \\
info.Language = wxlang; \\
@@ -85,21 +116,11 @@ void wxLocale::InitLanguagesDB()
{
wxLanguageInfo info;
wxStringTokenizer tkn;
""");
for i in table:
ican = '"%s"' % i[1]
if ican == '"-"': ican = '""'
ilang = i[2]
if ilang == '-': ilang = '0'
isublang = i[3]
if isublang == '-': isublang = '0'
f.write(' LNG(%-38s %-7s, %-15s, %-34s, %s)\n' % \
((i[0]+','), ican, ilang, isublang, i[4]))
f.write("""};
%s
};
#undef LNG
""")
""" % (ifdefs, lngtable))
f.close()