config/expandlibs_config.py
author Tom Ritter <tom@mozilla.com>
Wed, 26 Apr 2017 12:08:59 -0500
changeset 355037 51edd4c0ae9f29134d86a73bfda0dc9a87bdb3ba
parent 119350 204b95febb133df8062ab60e393ca8b654f31d07
permissions -rw-r--r--
Bug 1353541 Fix rustc in MinGW build r=froydnj,ted rustc generates .lib files for its libraries when compiling for Windows (even using MinGW on Linux). But MinGW expects .a files. So we add in rust-specific prefix and suffixes so MinGW builds can find the libs that rustc generates. (And the RUST_LIB- variables default to the same vales as the LIB_ variables otherwise.) MozReview-Commit-ID: ClsA0YuJaxh

# 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/.

from buildconfig import substs

def normalize_suffix(suffix):
    '''Returns a normalized suffix, i.e. ensures it starts with a dot and
    doesn't starts or ends with whitespace characters'''
    value = suffix.strip()
    if len(value) and not value.startswith('.'):
        value = '.' + value
    return value

# Variables from the build system
AR = substs['AR']
AR_EXTRACT = substs['AR_EXTRACT'].replace('$(AR)', AR)
DLL_PREFIX = substs['DLL_PREFIX']
LIB_PREFIX = substs['LIB_PREFIX']
RUST_LIB_PREFIX = substs['RUST_LIB_PREFIX']
OBJ_SUFFIX = normalize_suffix(substs['OBJ_SUFFIX'])
LIB_SUFFIX = normalize_suffix(substs['LIB_SUFFIX'])
RUST_LIB_SUFFIX = normalize_suffix(substs['RUST_LIB_SUFFIX'])
DLL_SUFFIX = normalize_suffix(substs['DLL_SUFFIX'])
IMPORT_LIB_SUFFIX = normalize_suffix(substs['IMPORT_LIB_SUFFIX'])
LIBS_DESC_SUFFIX = normalize_suffix(substs['LIBS_DESC_SUFFIX'])
EXPAND_LIBS_LIST_STYLE = substs['EXPAND_LIBS_LIST_STYLE']
EXPAND_LIBS_ORDER_STYLE = substs['EXPAND_LIBS_ORDER_STYLE']
LD_PRINT_ICF_SECTIONS = substs['LD_PRINT_ICF_SECTIONS']