diff --git a/3rdparty/extras/wscript b/3rdparty/extras/wscript new file mode 100644 index 00000000..9d249bac --- /dev/null +++ b/3rdparty/extras/wscript @@ -0,0 +1,29 @@ +#! /usr/bin/env python +# encoding: utf-8 + +import os + +def options(opt): + pass + +def configure(conf): + if not conf.path.find_dir('xash-extras'): + conf.fatal('Can\'t find xash-extras submodule.') + return + + conf.load('zip') + +def build(bld): + srcdir = bld.path.find_dir('xash-extras') + + if bld.env.DEST_OS in ['android']: + install_path = bld.env.PREFIX + else: + install_path = os.path.join(bld.env.SHAREDIR, bld.env.GAMEDIR) + + bld(features='zip', + name = 'extras.pk3', + files = srcdir.ant_glob('**/*'), + relative_to = srcdir, + compresslevel = 0, + install_path = install_path) diff --git a/scripts/waifulib/zip.py b/scripts/waifulib/zip.py index 119f028b..12f5e44a 100644 --- a/scripts/waifulib/zip.py +++ b/scripts/waifulib/zip.py @@ -1,7 +1,7 @@ #! /usr/bin/env python # encoding: utf-8 -from waflib import TaskGen, Task, Logs +from waflib import TaskGen, Task, Logs, Utils import zipfile class ziparchive(Task.Task): @@ -51,3 +51,12 @@ def create_zip_archive(self): setattr(tsk, 'compresslevel', compresslevel) setattr(tsk, 'relative_to', relative_to) + + try: + inst_to = self.install_path + self.install_task = self.add_install_files( + install_to=inst_to, install_from=target, + chmod=Utils.O644, task=tsk) + + except AttributeError: + pass