aboutsummaryrefslogtreecommitdiff
path: root/meson_install.py
diff options
context:
space:
mode:
Diffstat (limited to 'meson_install.py')
-rwxr-xr-xmeson_install.py9
1 files changed, 9 insertions, 0 deletions
diff --git a/meson_install.py b/meson_install.py
index c353949..f267c5d 100755
--- a/meson_install.py
+++ b/meson_install.py
@@ -106,6 +106,15 @@ def run_install_script(d):
}
script = d.install_script
print('Running custom install script %s' % script)
+ suffix = os.path.splitext(script)[1].lower()
+ if platform.system().lower() == 'windows' and suffix != 'bat':
+ first_line = open(script).readline().strip()
+ if first_line.startswith('#!'):
+ 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)
+ script = commands + [script]
child_env = os.environ.copy()
child_env.update(env)
subprocess.check_call(script, env=child_env)