Bug 1319228 - Link libxul in the Tup backend. r=mshal

MozReview-Commit-ID: sqCdlqP9pj

--HG--
extra : rebase_source : beb539cd174d173b745287bd659d4659f976b2b1
This commit is contained in:
Chris Manchester 2018-06-13 22:33:23 -07:00
Родитель 76dfb7be41
Коммит c70aa1dec3
1 изменённых файлов: 14 добавлений и 8 удалений

Просмотреть файл

@ -100,8 +100,6 @@ class BackendTupfile(object):
# depends on them.
self._skip_files = [
'signmar',
'libxul.so',
'libtestcrasher.so',
]
self.fh = FileAvoidWrite(self.name, capture_diff=True, dry_run=dry_run)
@ -325,6 +323,9 @@ class TupBackend(CommonBackend):
def _gen_shared_library(self, backend_file):
shlib = backend_file.shared_lib
if backend_file.objdir.endswith('gtest') and shlib.name == 'libxul.so':
return
if shlib.cxx_link:
mkshlib = (
[backend_file.environment.substs['CXX']] +
@ -350,8 +351,17 @@ class TupBackend(CommonBackend):
list_file_name = '%s.list' % shlib.name.replace('.', '_')
list_file = self._make_list_file(backend_file.objdir, objs, list_file_name)
rust_linked = self._lib_paths(backend_file.objdir,
(l for l in backend_file.shared_lib.linked_libraries
if isinstance(l, RustLibrary)))
inputs = objs + static_libs + shared_libs
extra_inputs = []
if rust_linked:
extra_inputs = [self._rust_libs]
static_libs += rust_linked
symbols_file = []
if shlib.symbols_file:
inputs.append(shlib.symbols_file)
@ -371,6 +381,7 @@ class TupBackend(CommonBackend):
backend_file.rule(
cmd=cmd,
inputs=inputs,
extra_inputs=extra_inputs,
outputs=[shlib.lib_name],
display='LINK %o'
)
@ -801,12 +812,7 @@ class TupBackend(CommonBackend):
def _process_generated_file(self, backend_file, obj):
# TODO: These are directories that don't work in the tup backend
# yet, because things they depend on aren't built yet.
skip_directories = (
'toolkit/library', # libxul.so
)
if obj.script and obj.method and obj.relobjdir not in skip_directories:
if obj.script and obj.method:
backend_file.export_shell()
cmd = self._py_action('file_generate')
if obj.localized: