memory/fallible/moz.build
author Mark Hammond <mhammond@skippinet.com.au>
Tue, 29 Dec 2015 15:46:46 +1100
changeset 312892 83cb1c2445fa081a67d379d975557afd56bf4979
parent 297354 20a95408d007f9e040ca02c87d851fbe625b91e0
child 336471 0ee18d7a875a77016dfe5f9ac651787bab7a48d9
permissions -rw-r--r--
Bug 1221808 - have the control centre crop the end for URIs without a host. r=rbarnes

# -*- Mode: python; c-basic-offset: 4; 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/.

EXPORTS.mozilla += [
    'fallible.h',
]

Library('fallible')

SOURCES += [
    'fallible.cpp',
]

if CONFIG['_MSC_VER']:
    # MSVC normally adds linker directives relative to the CRT in a .drectve
    # section in .obj files. Then, when linking objects, it adds those
    # directives as if they were given as command line arguments. This can
    # lead to trying to include link CRTs because different objects are
    # compiled with different CRT options (i.e. -MT vs. -MD), and failing.
    # The only source in this directory doesn't expose anything that depends
    # on a CRT, so it doesn't need to be bound to a specific one.
    # Adding the -Zl option makes MSVC not store linker directives in the
    # object. This allows to link fallible.obj to binaries independently of
    # the CRT they use.
    CXXFLAGS += [
        '-Zl',
    ]

    if CONFIG['_MSC_VER'] >= '1900':
        # This further prevents the CRT name from getting into the .obj file,
        # by avoiding pulling in a bunch of string code that uses the CRT.
        DEFINES['mozilla_Char16_h'] = True

if CONFIG['GNU_CXX']:
    CXXFLAGS += ['-Wshadow']