mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-16 23:05:42 +00:00
ace23258e7
When building gtest libxul with LTO, the fact that StaticXULComponentStart is not passed first to the linker makes the linker pull the NSModule symbols out of all the other objects first, presumably because linking the gtest objects (which appear first) pulls code from the other non StaticXULComponent* objects first. So, to make things link properly with LTO, we trick the build system to always put StaticXULComponentStart first. --HG-- extra : rebase_source : 7ddda118903f5845f6b6d12db2bf39cd22d67ab5
31 lines
899 B
Python
31 lines
899 B
Python
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
|
|
# vim: set filetype=python:
|
|
# This Source Code Form is subject to the terms of the Mozilla Public
|
|
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
|
|
FINAL_TARGET = 'dist/bin/gtest'
|
|
|
|
USE_LIBS += [
|
|
'static:xul',
|
|
# xul-gtest is an intermediate static library. It is used as FINAL_TARGET
|
|
# for gtest code.
|
|
# If the FINAL_TARGET were the library in this directory, then the gtest
|
|
# code would end up before static:xul, and before StaticXULComponentStart,
|
|
# which needs to stay first.
|
|
'xul-gtest',
|
|
]
|
|
|
|
# This needs to come after static:xul to avoid things like libfallible coming
|
|
# before StaticXULComponentStart.
|
|
Libxul('xul-gtest-real')
|
|
|
|
if CONFIG['MOZ_RUST']:
|
|
USE_LIBS += [
|
|
'gkrust-gtest',
|
|
]
|
|
|
|
DIRS += [
|
|
'static',
|
|
]
|