diff options
author | Nirbheek Chauhan <nirbheek@centricular.com> | 2016-12-18 19:59:48 +0530 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2016-12-18 18:30:47 +0200 |
commit | c693bd9bb4be3b2f5413277aba723cb58223b44b (patch) | |
tree | d1f747173854fee64d497c718f66c7ae600e216e /mesonbuild/scripts | |
parent | 67c106a00152b44409a36ce7295a232afd09941c (diff) | |
download | meson-c693bd9bb4be3b2f5413277aba723cb58223b44b.zip meson-c693bd9bb4be3b2f5413277aba723cb58223b44b.tar.gz meson-c693bd9bb4be3b2f5413277aba723cb58223b44b.tar.bz2 |
Allow passing arguments to install scripts
Closes #1213
Diffstat (limited to 'mesonbuild/scripts')
-rwxr-xr-x | mesonbuild/scripts/meson_install.py | 27 |
1 files changed, 8 insertions, 19 deletions
diff --git a/mesonbuild/scripts/meson_install.py b/mesonbuild/scripts/meson_install.py index 3d22022..3206a67 100755 --- a/mesonbuild/scripts/meson_install.py +++ b/mesonbuild/scripts/meson_install.py @@ -132,34 +132,23 @@ def install_headers(d): def run_install_script(d): env = {'MESON_SOURCE_ROOT' : d.source_dir, 'MESON_BUILD_ROOT' : d.build_dir, - 'MESON_INSTALL_PREFIX' : d.prefix + 'MESON_INSTALL_PREFIX' : d.prefix, + 'MESON_INSTALL_DESTDIR_PREFIX' : d.fullprefix, } child_env = os.environ.copy() child_env.update(env) for i in d.install_scripts: - final_command = i.cmd_arr - script = i.cmd_arr[0] - print('Running custom install script %s' % script) - suffix = os.path.splitext(script)[1].lower() - if platform.system().lower() == 'windows' and suffix != '.bat': - with open(script, encoding='latin_1', errors='ignore') as f: - first_line = f.readline().strip() - if first_line.startswith('#!'): - if shutil.which(first_line[2:]): - commands = [first_line[2:]] - else: - commands = first_line[2:].split('#')[0].strip().split() - commands[0] = shutil.which(commands[0].split('/')[-1]) - if commands[0] is None: - raise RuntimeError("Don't know how to run script %s." % script) - final_command = commands + [script] + i.cmd_arr[1:] + script = i['exe'] + args = i['args'] + name = ' '.join(script + args) + print('Running custom install script {!r}'.format(name)) try: - rc = subprocess.call(final_command, env=child_env) + rc = subprocess.call(script + args, env=child_env) if rc != 0: sys.exit(rc) except: - print('Failed to run install script:', *i.cmd_arr) + print('Failed to run install script {!r}'.format(name)) sys.exit(1) def is_elf_platform(): |