author Nathan Froyd <froydnj@mozilla.com>
Sat, 15 Oct 2016 18:16:13 -0400
changeset 318165 8090e9a4b93d7bb03e48e78f52645d2dfd9fb378
parent 315869 cce196d1d7b48958abcb1b23bc3afce6f223f074
child 325448 b0dae693fdbc687830ee450a88beec616c43f673
permissions -rw-r--r--
Bug 1304815 - rearrange Rust crate structure for newer Rust releases; r=ted.mielczarek In our current Rust world, we have the following dependency structure: xul.so --------------------------+ | xul-gtest.so -+--> xul.a --------+-> gkrust | +--> gkrust-gtest This structure results in link errors with multiply-defined symbols between gkrust-gtest and gkrust with newer Rust releases when linking xul-gtest.so. So we have to do something different. Our new structure is: xul.so --------------------------+ | xul-gtest.so -+--> xul.a --------+-> gkrust --+-> gkrust-shared | | +--> gkrust-gtest --------------+ and we enforce that a given shared library can only have at most one Rust library that it depends on. Said Rust library is assumed to include all significant Rust dependencies of the dependent static libraries as well. (In the above structure, gkrust is simply a wrapper around gkrust-shared, so gkrust-gtest doesn't have to include gkrust as a dependency.)

# See http://pep8.readthedocs.io/en/latest/intro.html#configuration
ignore = E121, E123, E126, E133, E226, E241, E242, E704, W503, E402
max-line-length = 99
filename = *.py, +.lint