config/moz.build
author Emilio Cobos Álvarez <emilio@crisal.io>
Sun, 17 Dec 2017 22:29:10 +0100
changeset 396857 13faabcf8e965cca857e3cc8fdbea289a09c7ea0
parent 395929 d7fcb5272323838f125aea773258eb3fab187510
child 401394 b11e44bb24295326ca7ed0ac614cace4f6389792
permissions -rw-r--r--
Bug 1425769: Base class for ShadowRoot and Document to manage style state. r=smaug This also removes some confusing comments around nsIDocument regarding some kind of "special" stylesheets, which don't seem to exist anymore, and consolidates StyleSheetList so that we only have one implementation. I think that fixes a potential leak on the shadow root code (even though the API is v0 only), given the pointer from the ShadowRootStyleSheetList to the ShadowRoot wasn't being CCd. Also, more stuff could be renamed, methods removed, etc, feel free to suggest more cleanup, I've done mostly the minimal. Next steps are moving the stylesets there and stop using the proto binding sheet list / resources. MozReview-Commit-ID: D9hnDgPQAS5

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

with Files('**'):
    BUG_COMPONENT = ('Core', 'Build Config')

DIST_INSTALL = False
# For sanity's sake, we compile nsinstall without the wrapped system
# headers, so that we can use it to set up the wrapped system headers.
NoVisibilityFlags()

CONFIGURE_SUBST_FILES += [
    'doxygen.cfg',
    'makefiles/test/Makefile',
    'tests/src-simple/Makefile',
]

if CONFIG['HOST_OS_ARCH'] != 'WINNT':
    HOST_SOURCES += [
        'nsinstall.c',
        'pathsub.c',
    ]
    HostProgram('nsinstall_real')

if CONFIG['MOZ_SYSTEM_ICU']:
    DEFINES['MOZ_SYSTEM_ICU'] = True

PYTHON_UNITTEST_MANIFESTS += [
    'tests/python.ini',
]

if CONFIG['CC_TYPE'] in ('clang', 'gcc') and CONFIG['MOZ_OPTIMIZE']:
    CFLAGS += ['-O3']

HOST_DEFINES = {
    'UNICODE': True,
    '_UNICODE': True,
}

include('stl-headers.mozbuild')
if CONFIG['WRAP_STL_INCLUDES']:
    stl_compiler = None
    if CONFIG['CC_TYPE'] in ('clang', 'gcc'):
        stl_compiler = 'gcc'
    elif CONFIG['CC_TYPE'] in ('msvc', 'clang-cl'):
        stl_compiler = 'msvc'

    if stl_compiler:
        template_file = SRCDIR + '/%s-stl-wrapper.template.h' % stl_compiler
        output_dir = '../dist/stl_wrappers'
        # We have to use a sentinel file as the first file because the
        # file_generate action will create it for us, but we want to create all
        # the files in gen_wrappers()
        outputs = tuple(['stl.sentinel'] + ['%s/%s' % (output_dir, h) for h in stl_headers])
        GENERATED_FILES += [outputs]
        stl = GENERATED_FILES[outputs]
        stl.script = 'make-stl-wrappers.py:gen_wrappers'
        stl.flags = [output_dir, stl_compiler, template_file]
        stl.flags.extend(stl_headers)

if CONFIG['WRAP_SYSTEM_INCLUDES']:
    include('system-headers.mozbuild')
    output_dir = '../dist/system_wrappers'
    outputs = tuple(['system-header.sentinel'] + ['%s/%s' % (output_dir, h) for h in stl_headers + system_headers])
    GENERATED_FILES += [outputs]
    system = GENERATED_FILES[outputs]
    system.script = 'make-system-wrappers.py:gen_wrappers'
    system.flags = [output_dir]
    system.flags.extend(stl_headers)
    system.flags.extend(system_headers)