From c3cb3a20e2119228421e7c7fb7a26a3e0b2ede58 Mon Sep 17 00:00:00 2001 From: Christian Dywan Date: Sat, 6 Jun 2009 19:28:58 +0200 Subject: [PATCH] Support waf '--run' with wine --- wscript | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/wscript b/wscript index 4f83e054..257cd793 100644 --- a/wscript +++ b/wscript @@ -439,7 +439,9 @@ def shutdown (): elif Options.options.run: folder = os.path.dirname (Build.bld.env['waf_config_files'][0]) try: - relfolder = os.path.relpath (folder) + relfolder = folder + if not is_mingw (Build.bld.env): + relfolder = os.path.relpath (folder) except: pass try: @@ -460,8 +462,14 @@ def shutdown (): 'LC_MESSAGES' + os.sep + APPNAME + '.mo') except: pass - command = relfolder + os.sep + APPNAME + os.sep + APPNAME - print ext + ' ' + nls + ' ' + command - Utils.exec_command (ext + ' ' + nls + ' ' + command) - except: - Utils.pprint ('RED', "Failed to run application.") + command = ext + ' ' + nls + ' ' + if is_mingw (Build.bld.env): + # This works only if everything is installed to that prefix + os.chdir (Build.bld.env['PREFIX'] + os.sep + 'bin') + command += ' wine cmd /k "PATH=%PATH%;' + Build.bld.env['PREFIX'] + os.sep + 'bin' + ' && ' + APPNAME + '.exe"' + else: + command += ' ' + relfolder + os.sep + APPNAME + os.sep + APPNAME + print command + Utils.exec_command (command) + except Exception, msg: + Utils.pprint ('RED', "Failed to run application: " + str (msg))