Show More
@@ -28,6 +28,7 Output/Mercurial-*.exe | |||
|
28 | 28 | tags |
|
29 | 29 | cscope.* |
|
30 | 30 | i18n/hg.pot |
|
31 | locale/*/LC_MESSAGES/hg.mo | |
|
31 | 32 | |
|
32 | 33 | syntax: regexp |
|
33 | 34 | ^\.pc/ |
@@ -31,6 +31,8 import shutil | |||
|
31 | 31 | import tempfile |
|
32 | 32 | from distutils.core import setup, Extension |
|
33 | 33 | from distutils.command.install_data import install_data |
|
34 | from distutils.command.build import build | |
|
35 | from distutils.spawn import spawn, find_executable | |
|
34 | 36 | from distutils.ccompiler import new_compiler |
|
35 | 37 | |
|
36 | 38 | extra = {} |
@@ -115,7 +117,38 class install_package_data(install_data) | |||
|
115 | 117 | ('install_lib', 'install_dir')) |
|
116 | 118 | install_data.finalize_options(self) |
|
117 | 119 | |
|
118 | cmdclass = {'install_data': install_package_data} | |
|
120 | class build_mo(build): | |
|
121 | ||
|
122 | description = "build translations (.mo files)" | |
|
123 | ||
|
124 | def run(self): | |
|
125 | if not find_executable('msgfmt'): | |
|
126 | self.warn("could not find msgfmt executable, no translations " | |
|
127 | "will be built") | |
|
128 | return | |
|
129 | ||
|
130 | podir = 'i18n' | |
|
131 | if not os.path.isdir(podir): | |
|
132 | self.warn("could not find %s/ directory" % podir) | |
|
133 | return | |
|
134 | ||
|
135 | join = os.path.join | |
|
136 | for po in os.listdir(podir): | |
|
137 | if not po.endswith('.po'): | |
|
138 | continue | |
|
139 | pofile = join(podir, po) | |
|
140 | modir = join('locale', po[:-3], 'LC_MESSAGES') | |
|
141 | mofile = join(modir, 'hg.mo') | |
|
142 | self.mkpath(modir) | |
|
143 | self.make_file([pofile], mofile, spawn, | |
|
144 | (['msgfmt', '-o', mofile, pofile],)) | |
|
145 | self.distribution.data_files.append((join('mercurial', modir), | |
|
146 | [mofile])) | |
|
147 | ||
|
148 | build.sub_commands.append(('build_mo', None)) | |
|
149 | ||
|
150 | cmdclass = {'install_data': install_package_data, | |
|
151 | 'build_mo': build_mo} | |
|
119 | 152 | |
|
120 | 153 | ext_modules=[ |
|
121 | 154 | Extension('mercurial.base85', ['mercurial/base85.c']), |
General Comments 0
You need to be logged in to leave comments.
Login now