Work around libmozjs not being in ld.so.conf on Ubuntu

In our jhbuildrc, add the path containing libmozjs.so on Ubuntu to
to LD_LIBRARY_PATH. The path is heuristically derived from pkg-config
output.

svn path=/trunk/; revision=26
This commit is contained in:
Owen Taylor 2008-11-03 20:33:14 +00:00
parent 9d15b7c9e1
commit 39184955e5

View File

@ -37,6 +37,23 @@ addpath('XDG_DATA_DIRS', '/usr/share')
# Look in /etc/xdg for system-global autostart files # Look in /etc/xdg for system-global autostart files
addpath('XDG_CONFIG_DIRS', '/etc/xdg') addpath('XDG_CONFIG_DIRS', '/etc/xdg')
#
# For Ubuntu Intrepid, libmozjs lives in /usr/lib/xulrunner-<version>/lib
# However, that path isn't in ld.so.conf, meaning that it's basically
# impossible to use the xulrunner .pc files and libraries. Work around
# this by deriving the path and adding it to LD_SO_CONF ourself.
#
import re
import subprocess
_pkgconfig = subprocess.Popen(['pkg-config', '--variable=sdkdir', 'mozilla-js'],
stdout=subprocess.PIPE)
_sdkdir = _pkgconfig.communicate()[0].strip()
_pkgconfig.wait()
if _pkgconfig.returncode == 0:
_libdir = re.sub('-(sdk|devel)', '', _sdkdir) + '/lib'
if os.path.exists(_libdir + '/libmozjs.so'):
addpath('LD_LIBRARY_PATH', _libdir)
# Rebuild faster # Rebuild faster
os.environ['INSTALL'] = os.path.expanduser('~/bin/install-check') os.environ['INSTALL'] = os.path.expanduser('~/bin/install-check')