vboxxpcom.py revision e64031e20c39650a7bc902a3e1aba613b9415dee
#
# Copyright (C) 2008 Oracle Corporation
#
# This file is part of VirtualBox Open Source Edition (OSE), as
# available from http://www.virtualbox.org. This file is free software;
# General Public License (GPL) as published by the Free Software
# Foundation, in version 2 as it comes in the "COPYING" file of the
# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
#
import xpcom
import sys
import platform
# this code overcomes somewhat unlucky feature of Python, where it searches
# for binaries in the same place as platfom independent modules, while
# rest of Python bindings expect _xpcom to be inside xpcom module
'VBoxPython']
# On Darwin (aka Mac OS X) we know exactly where things are in a normal
# VirtualBox installation. Also, there are two versions of python there
# (2.3.x and 2.5.x) depending on whether the os is striped or spotty, so
# we have to choose the right module to load.
#
# XXX: This needs to be adjusted for OSE builds. A more general solution would
# be to to sed the file during install and inject the VBOX_PATH_APP_PRIVATE_ARCH
# and VBOX_PATH_SHARED_LIBS when these are set.
cglue = None
for m in candidates:
try:
cglue = __import__(m)
break
except:
pass
if cglue == None:
raise Exception, "Cannot find VBoxPython module"