mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-09 19:35:51 +00:00
Bug 1451529 - Install shared libs in the Tup backend. r=mshal
MozReview-Commit-ID: Jn9Uk5XmFxJ --HG-- extra : rebase_source : 3a23b7e8530c6215614dccfb12e0b2cc799d63f4
This commit is contained in:
parent
d5e62a783b
commit
beec30d4f3
@ -240,11 +240,12 @@ class TupOnly(CommonBackend, PartialBackend):
|
||||
for l in libs]
|
||||
|
||||
def _gen_shared_library(self, backend_file):
|
||||
if backend_file.shared_lib.name == 'libxul.so':
|
||||
shlib = backend_file.shared_lib
|
||||
if shlib.name == 'libxul.so':
|
||||
# This will fail to link currently due to missing rust symbols.
|
||||
return
|
||||
|
||||
if backend_file.shared_lib.cxx_link:
|
||||
if shlib.cxx_link:
|
||||
mkshlib = (
|
||||
[backend_file.environment.substs['CXX']] +
|
||||
backend_file.local_flags['CXX_LDFLAGS']
|
||||
@ -258,15 +259,15 @@ class TupOnly(CommonBackend, PartialBackend):
|
||||
mkshlib += (
|
||||
backend_file.environment.substs['DSO_PIC_CFLAGS'] +
|
||||
[backend_file.environment.substs['DSO_LDOPTS']] +
|
||||
['-Wl,-h,%s' % backend_file.shared_lib.soname] +
|
||||
['-o', backend_file.shared_lib.lib_name]
|
||||
['-Wl,-h,%s' % shlib.soname] +
|
||||
['-o', shlib.lib_name]
|
||||
)
|
||||
|
||||
objs, _, shared_libs, os_libs, static_libs = self._expand_libs(backend_file.shared_lib)
|
||||
objs, _, shared_libs, os_libs, static_libs = self._expand_libs(shlib)
|
||||
static_libs = self._lib_paths(backend_file.objdir, static_libs)
|
||||
shared_libs = self._lib_paths(backend_file.objdir, shared_libs)
|
||||
|
||||
list_file_name = '%s.list' % backend_file.shared_lib.name.replace('.', '_')
|
||||
list_file_name = '%s.list' % shlib.name.replace('.', '_')
|
||||
list_file = self._make_list_file(backend_file.objdir, objs, list_file_name)
|
||||
|
||||
inputs = objs + static_libs + shared_libs
|
||||
@ -275,10 +276,10 @@ class TupOnly(CommonBackend, PartialBackend):
|
||||
return
|
||||
|
||||
symbols_file = []
|
||||
if backend_file.shared_lib.symbols_file:
|
||||
inputs.append(backend_file.shared_lib.symbols_file)
|
||||
if shlib.symbols_file:
|
||||
inputs.append(shlib.symbols_file)
|
||||
# TODO: Assumes GNU LD
|
||||
symbols_file = ['-Wl,--version-script,%s' % backend_file.shared_lib.symbols_file]
|
||||
symbols_file = ['-Wl,--version-script,%s' % shlib.symbols_file]
|
||||
|
||||
cmd = (
|
||||
mkshlib +
|
||||
@ -293,9 +294,14 @@ class TupOnly(CommonBackend, PartialBackend):
|
||||
backend_file.rule(
|
||||
cmd=cmd,
|
||||
inputs=inputs,
|
||||
outputs=[backend_file.shared_lib.lib_name],
|
||||
outputs=[shlib.lib_name],
|
||||
display='LINK %o'
|
||||
)
|
||||
backend_file.symlink_rule(mozpath.join(backend_file.objdir,
|
||||
shlib.lib_name),
|
||||
output=mozpath.join(self.environment.topobjdir,
|
||||
shlib.install_target,
|
||||
shlib.lib_name))
|
||||
|
||||
|
||||
def _gen_program(self, backend_file):
|
||||
|
Loading…
Reference in New Issue
Block a user