diff options
Diffstat (limited to 'cpp/demo/IceGrid/icebox/expect.py')
-rwxr-xr-x | cpp/demo/IceGrid/icebox/expect.py | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/cpp/demo/IceGrid/icebox/expect.py b/cpp/demo/IceGrid/icebox/expect.py index e24fdaa05bc..5742fddc397 100755 --- a/cpp/demo/IceGrid/icebox/expect.py +++ b/cpp/demo/IceGrid/icebox/expect.py @@ -22,14 +22,31 @@ sys.path.append(path[0]) from demoscript import Util from demoscript.IceGrid import icebox +if Util.isDarwin(): + # + # On OS X, make sure to also run the IceBox services in 32bits mode if + # x64 isn't specified and the service is built for 32bits. + # + iceBox = os.path.join(os.getcwd(), "iceboxwrapper") + iceBoxWrapper = open(iceBox, "w") + if Util.x64: + iceBoxWrapper.write("#!/bin/sh\narch -x86_64 icebox \"$@\"\n") + else: + iceBoxWrapper.write("#!/bin/sh\narch -i386 -x86_64 icebox \"$@\"\n") + iceBoxWrapper.close() + os.chmod(iceBox, 0700) + desc = 'application.xml' -if Util.isDebugBuild(): +if Util.isDebugBuild() or Util.isDarwin(): fi = open(desc, "r") desc = 'tmp_application.xml' fo = open(desc, "w") for l in fi: if l.find('exe="icebox"') != -1: - l = l.replace('exe="icebox"', 'exe="iceboxd.exe"') + if Util.isDarwin(): + l = l.replace('exe="icebox"', 'exe="./iceboxwrapper"') + else: + l = l.replace('exe="icebox"', 'exe="iceboxd.exe"') fo.write(l) fi.close() fo.close() @@ -37,3 +54,6 @@ if Util.isDebugBuild(): Util.addLdPath(os.getcwd()) icebox.run('./client', desc[0:len(desc)-4]) + +if Util.isDarwin(): + os.unlink("iceboxwrapper") |