diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2013-01-12 14:31:43 +0200 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2013-01-12 14:31:43 +0200 |
commit | 5969b1ed334454ff6907c521493d635bfb878456 (patch) | |
tree | b3d6f9478695f17cd545d6720359b0a282735970 /shellgenerator.py | |
parent | 8d038ef09ed709f7db95504f04b13678ecf79816 (diff) | |
download | meson-5969b1ed334454ff6907c521493d635bfb878456.zip meson-5969b1ed334454ff6907c521493d635bfb878456.tar.gz meson-5969b1ed334454ff6907c521493d635bfb878456.tar.bz2 |
Can install Man files.
Diffstat (limited to 'shellgenerator.py')
-rwxr-xr-x | shellgenerator.py | 29 |
1 files changed, 25 insertions, 4 deletions
diff --git a/shellgenerator.py b/shellgenerator.py index 79dab1a..6b98b65 100755 --- a/shellgenerator.py +++ b/shellgenerator.py @@ -73,16 +73,37 @@ echo Run compile.sh before this or bad things will happen. outfile = self.create_shfile(outfilename, message) self.generate_target_install(outfile) self.generate_header_install(outfile) + self.generate_man_install(outfile) outfile.close() def make_subdir(self, outfile, dir): cmdlist = ['mkdir', '-p', dir] - outfile.write(' '.join(shell_quote(cmdlist)) + '\n') + outfile.write(' '.join(shell_quote(cmdlist)) + ' || exit\n') def copy_file(self, outfile, filename, outdir): cpcommand = ['cp', filename, outdir] - cpcommand = ' '.join(shell_quote(cpcommand)) + '\n' + cpcommand = ' '.join(shell_quote(cpcommand)) + ' || exit\n' outfile.write(cpcommand) + + def generate_man_install(self, outfile): + prefix = self.environment.get_prefix() + manroot = os.path.join(prefix, self.environment.get_mandir()) + man = self.build.get_man() + if len(man) != 0: + outfile.write('\necho Installing man pages.\n') + else: + outfile.write('\necho This project has no man pages to install.\n') + for m in man: + for f in m.get_sources(): + num = f.split('.')[-1] + subdir = 'man' + num + absdir = os.path.join(manroot, subdir) + self.make_subdir(outfile, absdir) + srcabs = os.path.join(self.environment.get_source_dir(), f) + dstabs = os.path.join(manroot, + os.path.join(subdir, f + '.gz')) + cmd = "gzip < '%s' > '%s' || exit\n" % (srcabs, dstabs) + outfile.write(cmd) def generate_header_install(self, outfile): prefix = self.environment.get_prefix() @@ -91,12 +112,12 @@ echo Run compile.sh before this or bad things will happen. if len(headers) != 0: outfile.write('\necho Installing headers.\n') else: - outfile.write('\necho This project has no headers to install.') + outfile.write('\necho This project has no headers to install.\n') for h in headers: outdir = os.path.join(incroot, h.get_subdir()) self.make_subdir(outfile, outdir) for f in h.get_sources(): - abspath = os.path.join(self.environment.get_source_dir(), f) + abspath = os.path.join(self.environment.get_source_dir(), f) # FIXME self.copy_file(outfile, abspath, outdir) def generate_target_install(self, outfile): |