aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xbuilder_install.py14
-rwxr-xr-xgenerators.py16
2 files changed, 28 insertions, 2 deletions
diff --git a/builder_install.py b/builder_install.py
index 2fbc91d..8731443 100755
--- a/builder_install.py
+++ b/builder_install.py
@@ -14,7 +14,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-import sys, pickle, os, shutil, subprocess
+import sys, pickle, os, shutil, subprocess, gzip
class InstallData():
def __init__(self, depfixer, dep_prefix):
@@ -22,12 +22,24 @@ class InstallData():
self.depfixer = depfixer
self.dep_prefix = dep_prefix
self.headers = []
+ self.man = []
def do_install(datafilename):
ifile = open(datafilename, 'rb')
d = pickle.load(ifile)
install_targets(d)
install_headers(d)
+ install_man(d)
+
+def install_man(d):
+ for m in d.man:
+ fullfilename = m[0]
+ outfilename = m[1]
+ outdir = os.path.split(outfilename)[0]
+ os.makedirs(outdir, exist_ok=True)
+ print('Installing %s to %s.' % (fullfilename, outdir))
+ gzip.open(outfilename, 'w').write(open(fullfilename, 'rb').read())
+
def install_headers(d):
for t in d.headers:
diff --git a/generators.py b/generators.py
index 44a7176..9c4109f 100755
--- a/generators.py
+++ b/generators.py
@@ -173,7 +173,7 @@ class NinjaGenerator(Generator):
outfile.write(" COMMAND = '%s' '%s'\n\n" % (ninja_quote(install_script), ninja_quote(install_data_file)))
self.generate_target_install(d)
self.generate_header_install(d)
- #self.generate_man_install(outfile)
+ self.generate_man_install(d)
#self.generate_data_install(outfile)
ofile = open(install_data_file, 'wb')
pickle.dump(d, ofile)
@@ -204,6 +204,20 @@ class NinjaGenerator(Generator):
i = [abspath, outdir]
d.headers.append(i)
+ def generate_man_install(self, d):
+ prefix = self.environment.get_prefix()
+ manroot = os.path.join(prefix, self.environment.get_mandir())
+ man = self.build.get_man()
+ for m in man:
+ for f in m.get_sources():
+ num = f.split('.')[-1]
+ subdir = 'man' + num
+ srcabs = os.path.join(self.environment.get_source_dir(), f)
+ dstabs = os.path.join(manroot,
+ os.path.join(subdir, f + '.gz'))
+ i = [srcabs, dstabs]
+ d.man.append(i)
+
def generate_tests(self, outfile):
script_root = self.get_script_root()
test_script = os.path.join(script_root, 'builder_test.py')