build/templates.mozbuild
author Serban Stanca <sstanca@mozilla.com>
Thu, 17 Jul 2025 20:21:32 +0300 (8 hours ago)
changeset 797003 7ec5a911287f51bc177058928bb102163a3b656e
parent 791144 d651a633b5dc1a272b520b0b6a913d9fba8c67bb
permissions -rw-r--r--
Revert "Bug 1977690 - Remove unused AppRequestInterceptor in androidTests r=aaronmt" for causing fenix-debug failures. This reverts commit bc9dc5f4296482e17560627acaacd2797e462211.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
306106
3ec6380fca8207fa199693206a3ca24975bf9833 Bug 1286877 - do not set c-basic-offset for python-mode; r=gps
Tom Tromey <tom@tromey.com>
parents: 284796
diff changeset
     1
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
201311
62b9f6d4328bb3609e731c694aabf9ad2ba9406d Bug 1041941 - Use templates for Gecko XPCOM components. r=gps
Mike Hommey <mh+mozilla@glandium.org>
parents:
diff changeset
     2
# vim: set filetype=python:
62b9f6d4328bb3609e731c694aabf9ad2ba9406d Bug 1041941 - Use templates for Gecko XPCOM components. r=gps
Mike Hommey <mh+mozilla@glandium.org>
parents:
diff changeset
     3
# This Source Code Form is subject to the terms of the Mozilla Public
62b9f6d4328bb3609e731c694aabf9ad2ba9406d Bug 1041941 - Use templates for Gecko XPCOM components. r=gps
Mike Hommey <mh+mozilla@glandium.org>
parents:
diff changeset
     4
# License, v. 2.0. If a copy of the MPL was not distributed with this
62b9f6d4328bb3609e731c694aabf9ad2ba9406d Bug 1041941 - Use templates for Gecko XPCOM components. r=gps
Mike Hommey <mh+mozilla@glandium.org>
parents:
diff changeset
     5
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
62b9f6d4328bb3609e731c694aabf9ad2ba9406d Bug 1041941 - Use templates for Gecko XPCOM components. r=gps
Mike Hommey <mh+mozilla@glandium.org>
parents:
diff changeset
     6
688776
7f982566b9a987cde8b9122661dc4bc7192b9c32 Bug 1677775 - reformat .mozbuild files with Black r=linter-reviewers,geckoview-reviewers,firefox-build-system-reviewers,ahal,glandium,owlish,sylvestre
Logan Rosen <loganrosen@gmail.com>
parents: 638241
diff changeset
     7
201311
62b9f6d4328bb3609e731c694aabf9ad2ba9406d Bug 1041941 - Use templates for Gecko XPCOM components. r=gps
Mike Hommey <mh+mozilla@glandium.org>
parents:
diff changeset
     8
@template
212817
afdcad4e027ea8cf14ee4e5ce4e0420e2c9cb2bf Bug 1090107 - Define stlport dependencies in moz.build. r=mshal
Mike Hommey <mh+mozilla@glandium.org>
parents: 203475
diff changeset
     9
def Binary():
688776
7f982566b9a987cde8b9122661dc4bc7192b9c32 Bug 1677775 - reformat .mozbuild files with Black r=linter-reviewers,geckoview-reviewers,firefox-build-system-reviewers,ahal,glandium,owlish,sylvestre
Logan Rosen <loganrosen@gmail.com>
parents: 638241
diff changeset
    10
    """Generic template for target binaries. Meant to be used by other
7f982566b9a987cde8b9122661dc4bc7192b9c32 Bug 1677775 - reformat .mozbuild files with Black r=linter-reviewers,geckoview-reviewers,firefox-build-system-reviewers,ahal,glandium,owlish,sylvestre
Logan Rosen <loganrosen@gmail.com>
parents: 638241
diff changeset
    11
    templates."""
203475
338372590fc44d51ac28d183ad46afc674caed39 Bug 1059129 - Move the addition of stdc++compat to templates. r=mshal
Mike Hommey <mh+mozilla@glandium.org>
parents: 203474
diff changeset
    12
367451
6293a69590dcbd03df360907a671eb67750f3755 Bug 1377970 - add -llog for Android in moz.build; r=chmanchester
Nathan Froyd <froydnj@mozilla.com>
parents: 344596
diff changeset
    13
    # Add -llog by default, since we use it all over the place.
688776
7f982566b9a987cde8b9122661dc4bc7192b9c32 Bug 1677775 - reformat .mozbuild files with Black r=linter-reviewers,geckoview-reviewers,firefox-build-system-reviewers,ahal,glandium,owlish,sylvestre
Logan Rosen <loganrosen@gmail.com>
parents: 638241
diff changeset
    14
    if CONFIG["OS_TARGET"] == "Android":
7f982566b9a987cde8b9122661dc4bc7192b9c32 Bug 1677775 - reformat .mozbuild files with Black r=linter-reviewers,geckoview-reviewers,firefox-build-system-reviewers,ahal,glandium,owlish,sylvestre
Logan Rosen <loganrosen@gmail.com>
parents: 638241
diff changeset
    15
        OS_LIBS += ["log"]
367451
6293a69590dcbd03df360907a671eb67750f3755 Bug 1377970 - add -llog for Android in moz.build; r=chmanchester
Nathan Froyd <froydnj@mozilla.com>
parents: 344596
diff changeset
    16
203475
338372590fc44d51ac28d183ad46afc674caed39 Bug 1059129 - Move the addition of stdc++compat to templates. r=mshal
Mike Hommey <mh+mozilla@glandium.org>
parents: 203474
diff changeset
    17
338372590fc44d51ac28d183ad46afc674caed39 Bug 1059129 - Move the addition of stdc++compat to templates. r=mshal
Mike Hommey <mh+mozilla@glandium.org>
parents: 203474
diff changeset
    18
@template
761049
5aced870902d08c68658e7beae441f4d0c8a9500 Bug 1908630 - Override LLVM Profiling for manual handling r=firefox-build-system-reviewers,glandium
Alexandre Lissy <lissyx+mozillians@lissyx.dyndns.org>
parents: 752967
diff changeset
    19
def MaybeAddProfiling(name):
5aced870902d08c68658e7beae441f4d0c8a9500 Bug 1908630 - Override LLVM Profiling for manual handling r=firefox-build-system-reviewers,glandium
Alexandre Lissy <lissyx+mozillians@lissyx.dyndns.org>
parents: 752967
diff changeset
    20
    if (
5aced870902d08c68658e7beae441f4d0c8a9500 Bug 1908630 - Override LLVM Profiling for manual handling r=firefox-build-system-reviewers,glandium
Alexandre Lissy <lissyx+mozillians@lissyx.dyndns.org>
parents: 752967
diff changeset
    21
        CONFIG["MOZ_ENABLE_FORKSERVER"]
5aced870902d08c68658e7beae441f4d0c8a9500 Bug 1908630 - Override LLVM Profiling for manual handling r=firefox-build-system-reviewers,glandium
Alexandre Lissy <lissyx+mozillians@lissyx.dyndns.org>
parents: 752967
diff changeset
    22
        and CONFIG["NIGHTLY_BUILD"]
5aced870902d08c68658e7beae441f4d0c8a9500 Bug 1908630 - Override LLVM Profiling for manual handling r=firefox-build-system-reviewers,glandium
Alexandre Lissy <lissyx+mozillians@lissyx.dyndns.org>
parents: 752967
diff changeset
    23
        and CONFIG["OS_TARGET"] == "Linux"
5aced870902d08c68658e7beae441f4d0c8a9500 Bug 1908630 - Override LLVM Profiling for manual handling r=firefox-build-system-reviewers,glandium
Alexandre Lissy <lissyx+mozillians@lissyx.dyndns.org>
parents: 752967
diff changeset
    24
        and CONFIG["MOZ_PROFILE_GENERATE"] == "1"
5aced870902d08c68658e7beae441f4d0c8a9500 Bug 1908630 - Override LLVM Profiling for manual handling r=firefox-build-system-reviewers,glandium
Alexandre Lissy <lissyx+mozillians@lissyx.dyndns.org>
parents: 752967
diff changeset
    25
    ):
5aced870902d08c68658e7beae441f4d0c8a9500 Bug 1908630 - Override LLVM Profiling for manual handling r=firefox-build-system-reviewers,glandium
Alexandre Lissy <lissyx+mozillians@lissyx.dyndns.org>
parents: 752967
diff changeset
    26
        USE_LIBS += ["profiling"]
5aced870902d08c68658e7beae441f4d0c8a9500 Bug 1908630 - Override LLVM Profiling for manual handling r=firefox-build-system-reviewers,glandium
Alexandre Lissy <lissyx+mozillians@lissyx.dyndns.org>
parents: 752967
diff changeset
    27
5aced870902d08c68658e7beae441f4d0c8a9500 Bug 1908630 - Override LLVM Profiling for manual handling r=firefox-build-system-reviewers,glandium
Alexandre Lissy <lissyx+mozillians@lissyx.dyndns.org>
parents: 752967
diff changeset
    28
5aced870902d08c68658e7beae441f4d0c8a9500 Bug 1908630 - Override LLVM Profiling for manual handling r=firefox-build-system-reviewers,glandium
Alexandre Lissy <lissyx+mozillians@lissyx.dyndns.org>
parents: 752967
diff changeset
    29
@template
203471
01a0e2c9c595e983605cb0aa5c12c9eceeb8ae7f Bug 1041941 - Use templates for programs, simple programs, libraries and C++ unit tests. r=gps
Mike Hommey <mh+mozilla@glandium.org>
parents: 201311
diff changeset
    30
def Program(name):
688776
7f982566b9a987cde8b9122661dc4bc7192b9c32 Bug 1677775 - reformat .mozbuild files with Black r=linter-reviewers,geckoview-reviewers,firefox-build-system-reviewers,ahal,glandium,owlish,sylvestre
Logan Rosen <loganrosen@gmail.com>
parents: 638241
diff changeset
    31
    """Template for program executables."""
203471
01a0e2c9c595e983605cb0aa5c12c9eceeb8ae7f Bug 1041941 - Use templates for programs, simple programs, libraries and C++ unit tests. r=gps
Mike Hommey <mh+mozilla@glandium.org>
parents: 201311
diff changeset
    32
    PROGRAM = name
01a0e2c9c595e983605cb0aa5c12c9eceeb8ae7f Bug 1041941 - Use templates for programs, simple programs, libraries and C++ unit tests. r=gps
Mike Hommey <mh+mozilla@glandium.org>
parents: 201311
diff changeset
    33
761049
5aced870902d08c68658e7beae441f4d0c8a9500 Bug 1908630 - Override LLVM Profiling for manual handling r=firefox-build-system-reviewers,glandium
Alexandre Lissy <lissyx+mozillians@lissyx.dyndns.org>
parents: 752967
diff changeset
    34
    MaybeAddProfiling(name)
5aced870902d08c68658e7beae441f4d0c8a9500 Bug 1908630 - Override LLVM Profiling for manual handling r=firefox-build-system-reviewers,glandium
Alexandre Lissy <lissyx+mozillians@lissyx.dyndns.org>
parents: 752967
diff changeset
    35
212817
afdcad4e027ea8cf14ee4e5ce4e0420e2c9cb2bf Bug 1090107 - Define stlport dependencies in moz.build. r=mshal
Mike Hommey <mh+mozilla@glandium.org>
parents: 203475
diff changeset
    36
    Binary()
203475
338372590fc44d51ac28d183ad46afc674caed39 Bug 1059129 - Move the addition of stdc++compat to templates. r=mshal
Mike Hommey <mh+mozilla@glandium.org>
parents: 203474
diff changeset
    37
203471
01a0e2c9c595e983605cb0aa5c12c9eceeb8ae7f Bug 1041941 - Use templates for programs, simple programs, libraries and C++ unit tests. r=gps
Mike Hommey <mh+mozilla@glandium.org>
parents: 201311
diff changeset
    38
01a0e2c9c595e983605cb0aa5c12c9eceeb8ae7f Bug 1041941 - Use templates for programs, simple programs, libraries and C++ unit tests. r=gps
Mike Hommey <mh+mozilla@glandium.org>
parents: 201311
diff changeset
    39
@template
688776
7f982566b9a987cde8b9122661dc4bc7192b9c32 Bug 1677775 - reformat .mozbuild files with Black r=linter-reviewers,geckoview-reviewers,firefox-build-system-reviewers,ahal,glandium,owlish,sylvestre
Logan Rosen <loganrosen@gmail.com>
parents: 638241
diff changeset
    40
def SimplePrograms(names, ext=".cpp"):
7f982566b9a987cde8b9122661dc4bc7192b9c32 Bug 1677775 - reformat .mozbuild files with Black r=linter-reviewers,geckoview-reviewers,firefox-build-system-reviewers,ahal,glandium,owlish,sylvestre
Logan Rosen <loganrosen@gmail.com>
parents: 638241
diff changeset
    41
    """Template for simple program executables.
203471
01a0e2c9c595e983605cb0aa5c12c9eceeb8ae7f Bug 1041941 - Use templates for programs, simple programs, libraries and C++ unit tests. r=gps
Mike Hommey <mh+mozilla@glandium.org>
parents: 201311
diff changeset
    42
01a0e2c9c595e983605cb0aa5c12c9eceeb8ae7f Bug 1041941 - Use templates for programs, simple programs, libraries and C++ unit tests. r=gps
Mike Hommey <mh+mozilla@glandium.org>
parents: 201311
diff changeset
    43
    Those have a single source with the same base name as the executable.
688776
7f982566b9a987cde8b9122661dc4bc7192b9c32 Bug 1677775 - reformat .mozbuild files with Black r=linter-reviewers,geckoview-reviewers,firefox-build-system-reviewers,ahal,glandium,owlish,sylvestre
Logan Rosen <loganrosen@gmail.com>
parents: 638241
diff changeset
    44
    """
203471
01a0e2c9c595e983605cb0aa5c12c9eceeb8ae7f Bug 1041941 - Use templates for programs, simple programs, libraries and C++ unit tests. r=gps
Mike Hommey <mh+mozilla@glandium.org>
parents: 201311
diff changeset
    45
    SIMPLE_PROGRAMS += names
688776
7f982566b9a987cde8b9122661dc4bc7192b9c32 Bug 1677775 - reformat .mozbuild files with Black r=linter-reviewers,geckoview-reviewers,firefox-build-system-reviewers,ahal,glandium,owlish,sylvestre
Logan Rosen <loganrosen@gmail.com>
parents: 638241
diff changeset
    46
    SOURCES += ["%s%s" % (name, ext) for name in names]
203471
01a0e2c9c595e983605cb0aa5c12c9eceeb8ae7f Bug 1041941 - Use templates for programs, simple programs, libraries and C++ unit tests. r=gps
Mike Hommey <mh+mozilla@glandium.org>
parents: 201311
diff changeset
    47
212817
afdcad4e027ea8cf14ee4e5ce4e0420e2c9cb2bf Bug 1090107 - Define stlport dependencies in moz.build. r=mshal
Mike Hommey <mh+mozilla@glandium.org>
parents: 203475
diff changeset
    48
    Binary()
203475
338372590fc44d51ac28d183ad46afc674caed39 Bug 1059129 - Move the addition of stdc++compat to templates. r=mshal
Mike Hommey <mh+mozilla@glandium.org>
parents: 203474
diff changeset
    49
203471
01a0e2c9c595e983605cb0aa5c12c9eceeb8ae7f Bug 1041941 - Use templates for programs, simple programs, libraries and C++ unit tests. r=gps
Mike Hommey <mh+mozilla@glandium.org>
parents: 201311
diff changeset
    50
01a0e2c9c595e983605cb0aa5c12c9eceeb8ae7f Bug 1041941 - Use templates for programs, simple programs, libraries and C++ unit tests. r=gps
Mike Hommey <mh+mozilla@glandium.org>
parents: 201311
diff changeset
    51
@template
688776
7f982566b9a987cde8b9122661dc4bc7192b9c32 Bug 1677775 - reformat .mozbuild files with Black r=linter-reviewers,geckoview-reviewers,firefox-build-system-reviewers,ahal,glandium,owlish,sylvestre
Logan Rosen <loganrosen@gmail.com>
parents: 638241
diff changeset
    52
def CppUnitTests(names, ext=".cpp"):
7f982566b9a987cde8b9122661dc4bc7192b9c32 Bug 1677775 - reformat .mozbuild files with Black r=linter-reviewers,geckoview-reviewers,firefox-build-system-reviewers,ahal,glandium,owlish,sylvestre
Logan Rosen <loganrosen@gmail.com>
parents: 638241
diff changeset
    53
    """Template for C++ unit tests.
203471
01a0e2c9c595e983605cb0aa5c12c9eceeb8ae7f Bug 1041941 - Use templates for programs, simple programs, libraries and C++ unit tests. r=gps
Mike Hommey <mh+mozilla@glandium.org>
parents: 201311
diff changeset
    54
01a0e2c9c595e983605cb0aa5c12c9eceeb8ae7f Bug 1041941 - Use templates for programs, simple programs, libraries and C++ unit tests. r=gps
Mike Hommey <mh+mozilla@glandium.org>
parents: 201311
diff changeset
    55
    Those have a single source with the same base name as the executable.
688776
7f982566b9a987cde8b9122661dc4bc7192b9c32 Bug 1677775 - reformat .mozbuild files with Black r=linter-reviewers,geckoview-reviewers,firefox-build-system-reviewers,ahal,glandium,owlish,sylvestre
Logan Rosen <loganrosen@gmail.com>
parents: 638241
diff changeset
    56
    """
7f982566b9a987cde8b9122661dc4bc7192b9c32 Bug 1677775 - reformat .mozbuild files with Black r=linter-reviewers,geckoview-reviewers,firefox-build-system-reviewers,ahal,glandium,owlish,sylvestre
Logan Rosen <loganrosen@gmail.com>
parents: 638241
diff changeset
    57
    COMPILE_FLAGS["EXTRA_INCLUDES"] = [
7f982566b9a987cde8b9122661dc4bc7192b9c32 Bug 1677775 - reformat .mozbuild files with Black r=linter-reviewers,geckoview-reviewers,firefox-build-system-reviewers,ahal,glandium,owlish,sylvestre
Logan Rosen <loganrosen@gmail.com>
parents: 638241
diff changeset
    58
        "-I%s/dist/include" % TOPOBJDIR,
7f982566b9a987cde8b9122661dc4bc7192b9c32 Bug 1677775 - reformat .mozbuild files with Black r=linter-reviewers,geckoview-reviewers,firefox-build-system-reviewers,ahal,glandium,owlish,sylvestre
Logan Rosen <loganrosen@gmail.com>
parents: 638241
diff changeset
    59
        "-I%s/dist/include/testing" % TOPOBJDIR,
7f982566b9a987cde8b9122661dc4bc7192b9c32 Bug 1677775 - reformat .mozbuild files with Black r=linter-reviewers,geckoview-reviewers,firefox-build-system-reviewers,ahal,glandium,owlish,sylvestre
Logan Rosen <loganrosen@gmail.com>
parents: 638241
diff changeset
    60
    ]
203471
01a0e2c9c595e983605cb0aa5c12c9eceeb8ae7f Bug 1041941 - Use templates for programs, simple programs, libraries and C++ unit tests. r=gps
Mike Hommey <mh+mozilla@glandium.org>
parents: 201311
diff changeset
    61
    CPP_UNIT_TESTS += names
688776
7f982566b9a987cde8b9122661dc4bc7192b9c32 Bug 1677775 - reformat .mozbuild files with Black r=linter-reviewers,geckoview-reviewers,firefox-build-system-reviewers,ahal,glandium,owlish,sylvestre
Logan Rosen <loganrosen@gmail.com>
parents: 638241
diff changeset
    62
    SOURCES += ["%s%s" % (name, ext) for name in names]
203471
01a0e2c9c595e983605cb0aa5c12c9eceeb8ae7f Bug 1041941 - Use templates for programs, simple programs, libraries and C++ unit tests. r=gps
Mike Hommey <mh+mozilla@glandium.org>
parents: 201311
diff changeset
    63
212817
afdcad4e027ea8cf14ee4e5ce4e0420e2c9cb2bf Bug 1090107 - Define stlport dependencies in moz.build. r=mshal
Mike Hommey <mh+mozilla@glandium.org>
parents: 203475
diff changeset
    64
    Binary()
203475
338372590fc44d51ac28d183ad46afc674caed39 Bug 1059129 - Move the addition of stdc++compat to templates. r=mshal
Mike Hommey <mh+mozilla@glandium.org>
parents: 203474
diff changeset
    65
203471
01a0e2c9c595e983605cb0aa5c12c9eceeb8ae7f Bug 1041941 - Use templates for programs, simple programs, libraries and C++ unit tests. r=gps
Mike Hommey <mh+mozilla@glandium.org>
parents: 201311
diff changeset
    66
01a0e2c9c595e983605cb0aa5c12c9eceeb8ae7f Bug 1041941 - Use templates for programs, simple programs, libraries and C++ unit tests. r=gps
Mike Hommey <mh+mozilla@glandium.org>
parents: 201311
diff changeset
    67
@template
01a0e2c9c595e983605cb0aa5c12c9eceeb8ae7f Bug 1041941 - Use templates for programs, simple programs, libraries and C++ unit tests. r=gps
Mike Hommey <mh+mozilla@glandium.org>
parents: 201311
diff changeset
    68
def Library(name):
688776
7f982566b9a987cde8b9122661dc4bc7192b9c32 Bug 1677775 - reformat .mozbuild files with Black r=linter-reviewers,geckoview-reviewers,firefox-build-system-reviewers,ahal,glandium,owlish,sylvestre
Logan Rosen <loganrosen@gmail.com>
parents: 638241
diff changeset
    69
    """Template for libraries."""
203471
01a0e2c9c595e983605cb0aa5c12c9eceeb8ae7f Bug 1041941 - Use templates for programs, simple programs, libraries and C++ unit tests. r=gps
Mike Hommey <mh+mozilla@glandium.org>
parents: 201311
diff changeset
    70
    LIBRARY_NAME = name
01a0e2c9c595e983605cb0aa5c12c9eceeb8ae7f Bug 1041941 - Use templates for programs, simple programs, libraries and C++ unit tests. r=gps
Mike Hommey <mh+mozilla@glandium.org>
parents: 201311
diff changeset
    71
688776
7f982566b9a987cde8b9122661dc4bc7192b9c32 Bug 1677775 - reformat .mozbuild files with Black r=linter-reviewers,geckoview-reviewers,firefox-build-system-reviewers,ahal,glandium,owlish,sylvestre
Logan Rosen <loganrosen@gmail.com>
parents: 638241
diff changeset
    72
429287
5f20a8a55268a579911b0494243a34311e836ec6 bug 1409276 - disable warnings-as-errors for Rust libraries/programs. r=chmanchester
Ted Mielczarek <ted@mielczarek.org>
parents: 425414
diff changeset
    73
@template
5f20a8a55268a579911b0494243a34311e836ec6 bug 1409276 - disable warnings-as-errors for Rust libraries/programs. r=chmanchester
Ted Mielczarek <ted@mielczarek.org>
parents: 425414
diff changeset
    74
def AllowCompilerWarnings():
688776
7f982566b9a987cde8b9122661dc4bc7192b9c32 Bug 1677775 - reformat .mozbuild files with Black r=linter-reviewers,geckoview-reviewers,firefox-build-system-reviewers,ahal,glandium,owlish,sylvestre
Logan Rosen <loganrosen@gmail.com>
parents: 638241
diff changeset
    75
    COMPILE_FLAGS["WARNINGS_AS_ERRORS"] = []
7f982566b9a987cde8b9122661dc4bc7192b9c32 Bug 1677775 - reformat .mozbuild files with Black r=linter-reviewers,geckoview-reviewers,firefox-build-system-reviewers,ahal,glandium,owlish,sylvestre
Logan Rosen <loganrosen@gmail.com>
parents: 638241
diff changeset
    76
    WASM_FLAGS["WARNINGS_AS_ERRORS"] = []
7f982566b9a987cde8b9122661dc4bc7192b9c32 Bug 1677775 - reformat .mozbuild files with Black r=linter-reviewers,geckoview-reviewers,firefox-build-system-reviewers,ahal,glandium,owlish,sylvestre
Logan Rosen <loganrosen@gmail.com>
parents: 638241
diff changeset
    77
203471
01a0e2c9c595e983605cb0aa5c12c9eceeb8ae7f Bug 1041941 - Use templates for programs, simple programs, libraries and C++ unit tests. r=gps
Mike Hommey <mh+mozilla@glandium.org>
parents: 201311
diff changeset
    78
01a0e2c9c595e983605cb0aa5c12c9eceeb8ae7f Bug 1041941 - Use templates for programs, simple programs, libraries and C++ unit tests. r=gps
Mike Hommey <mh+mozilla@glandium.org>
parents: 201311
diff changeset
    79
@template
434095
b9197ece79556d5e565bb5350383b75f1448f06c Bug 1482810 - set COMPILE_FLAGS var to hide warnings for Rust crates r=chmanchester
Myk Melez <myk@mykzilla.org>
parents: 431572
diff changeset
    80
def DisableCompilerWarnings():
638241
0c1875f175e917a8f63532141179992809b70660 Bug 1795215 - Keep -Wno-* flags when disabling compiler warnings. r=firefox-build-system-reviewers,andi
Mike Hommey <mh+mozilla@glandium.org>
parents: 638240
diff changeset
    81
    # Keep the -Wno-* flags to disable warnings that may be enabled through other means.
0c1875f175e917a8f63532141179992809b70660 Bug 1795215 - Keep -Wno-* flags when disabling compiler warnings. r=firefox-build-system-reviewers,andi
Mike Hommey <mh+mozilla@glandium.org>
parents: 638240
diff changeset
    82
    def filter(flags):
688776
7f982566b9a987cde8b9122661dc4bc7192b9c32 Bug 1677775 - reformat .mozbuild files with Black r=linter-reviewers,geckoview-reviewers,firefox-build-system-reviewers,ahal,glandium,owlish,sylvestre
Logan Rosen <loganrosen@gmail.com>
parents: 638241
diff changeset
    83
        return [f for f in flags or [] if f.startswith("-Wno-")]
7f982566b9a987cde8b9122661dc4bc7192b9c32 Bug 1677775 - reformat .mozbuild files with Black r=linter-reviewers,geckoview-reviewers,firefox-build-system-reviewers,ahal,glandium,owlish,sylvestre
Logan Rosen <loganrosen@gmail.com>
parents: 638241
diff changeset
    84
7f982566b9a987cde8b9122661dc4bc7192b9c32 Bug 1677775 - reformat .mozbuild files with Black r=linter-reviewers,geckoview-reviewers,firefox-build-system-reviewers,ahal,glandium,owlish,sylvestre
Logan Rosen <loganrosen@gmail.com>
parents: 638241
diff changeset
    85
    COMPILE_FLAGS["WARNINGS_CFLAGS"] = filter(CONFIG["WARNINGS_CFLAGS"])
7f982566b9a987cde8b9122661dc4bc7192b9c32 Bug 1677775 - reformat .mozbuild files with Black r=linter-reviewers,geckoview-reviewers,firefox-build-system-reviewers,ahal,glandium,owlish,sylvestre
Logan Rosen <loganrosen@gmail.com>
parents: 638241
diff changeset
    86
    COMPILE_FLAGS["WARNINGS_CXXFLAGS"] = filter(CONFIG["WARNINGS_CXXFLAGS"])
7f982566b9a987cde8b9122661dc4bc7192b9c32 Bug 1677775 - reformat .mozbuild files with Black r=linter-reviewers,geckoview-reviewers,firefox-build-system-reviewers,ahal,glandium,owlish,sylvestre
Logan Rosen <loganrosen@gmail.com>
parents: 638241
diff changeset
    87
    HOST_COMPILE_FLAGS["WARNINGS_CFLAGS"] = filter(CONFIG["WARNINGS_HOST_CFLAGS"])
7f982566b9a987cde8b9122661dc4bc7192b9c32 Bug 1677775 - reformat .mozbuild files with Black r=linter-reviewers,geckoview-reviewers,firefox-build-system-reviewers,ahal,glandium,owlish,sylvestre
Logan Rosen <loganrosen@gmail.com>
parents: 638241
diff changeset
    88
    HOST_COMPILE_FLAGS["WARNINGS_CXXFLAGS"] = filter(CONFIG["WARNINGS_HOST_CXXFLAGS"])
7f982566b9a987cde8b9122661dc4bc7192b9c32 Bug 1677775 - reformat .mozbuild files with Black r=linter-reviewers,geckoview-reviewers,firefox-build-system-reviewers,ahal,glandium,owlish,sylvestre
Logan Rosen <loganrosen@gmail.com>
parents: 638241
diff changeset
    89
434095
b9197ece79556d5e565bb5350383b75f1448f06c Bug 1482810 - set COMPILE_FLAGS var to hide warnings for Rust crates r=chmanchester
Myk Melez <myk@mykzilla.org>
parents: 431572
diff changeset
    90
b9197ece79556d5e565bb5350383b75f1448f06c Bug 1482810 - set COMPILE_FLAGS var to hide warnings for Rust crates r=chmanchester
Myk Melez <myk@mykzilla.org>
parents: 431572
diff changeset
    91
@template
743044
03c7a385e592d016ccf35fd33fa875c6a62026d4 Bug 1902360 - Add a RustProgram mozbuild template r=glandium
Alex Franchuk <afranchuk@mozilla.com>
parents: 688776
diff changeset
    92
def DisableWarningsForRust():
03c7a385e592d016ccf35fd33fa875c6a62026d4 Bug 1902360 - Add a RustProgram mozbuild template r=glandium
Alex Franchuk <afranchuk@mozilla.com>
parents: 688776
diff changeset
    93
    """Template to disable warnings when compiling rust (rust build scripts
03c7a385e592d016ccf35fd33fa875c6a62026d4 Bug 1902360 - Add a RustProgram mozbuild template r=glandium
Alex Franchuk <afranchuk@mozilla.com>
parents: 688776
diff changeset
    94
    compile C/C++ sources which we can't control easily). Meant to be used by
03c7a385e592d016ccf35fd33fa875c6a62026d4 Bug 1902360 - Add a RustProgram mozbuild template r=glandium
Alex Franchuk <afranchuk@mozilla.com>
parents: 688776
diff changeset
    95
    other templates.
03c7a385e592d016ccf35fd33fa875c6a62026d4 Bug 1902360 - Add a RustProgram mozbuild template r=glandium
Alex Franchuk <afranchuk@mozilla.com>
parents: 688776
diff changeset
    96
    """
429287
5f20a8a55268a579911b0494243a34311e836ec6 bug 1409276 - disable warnings-as-errors for Rust libraries/programs. r=chmanchester
Ted Mielczarek <ted@mielczarek.org>
parents: 425414
diff changeset
    97
    # Some Rust build scripts compile C/C++ sources, don't error on warnings for them.
5f20a8a55268a579911b0494243a34311e836ec6 bug 1409276 - disable warnings-as-errors for Rust libraries/programs. r=chmanchester
Ted Mielczarek <ted@mielczarek.org>
parents: 425414
diff changeset
    98
    AllowCompilerWarnings()
325139
8276296cd50509ba109d115d7b1d3b28b761e97c Bug 1319156 - part 1 - add features to RustLibrary objects and moz.build definitions; r=chmanchester
Nathan Froyd <froydnj@mozilla.com>
parents: 314835
diff changeset
    99
434095
b9197ece79556d5e565bb5350383b75f1448f06c Bug 1482810 - set COMPILE_FLAGS var to hide warnings for Rust crates r=chmanchester
Myk Melez <myk@mykzilla.org>
parents: 431572
diff changeset
   100
    # And furthermore, don't even show warnings for them, so they don't regress
b9197ece79556d5e565bb5350383b75f1448f06c Bug 1482810 - set COMPILE_FLAGS var to hide warnings for Rust crates r=chmanchester
Myk Melez <myk@mykzilla.org>
parents: 431572
diff changeset
   101
    # the Compiler Warnings build metric
b9197ece79556d5e565bb5350383b75f1448f06c Bug 1482810 - set COMPILE_FLAGS var to hide warnings for Rust crates r=chmanchester
Myk Melez <myk@mykzilla.org>
parents: 431572
diff changeset
   102
    # <https://developer.mozilla.org/en-US/docs/Mozilla/Performance/Automated_Performance_Testing_and_Sheriffing/Build_Metrics#compiler_warnings>.
b9197ece79556d5e565bb5350383b75f1448f06c Bug 1482810 - set COMPILE_FLAGS var to hide warnings for Rust crates r=chmanchester
Myk Melez <myk@mykzilla.org>
parents: 431572
diff changeset
   103
    DisableCompilerWarnings()
b9197ece79556d5e565bb5350383b75f1448f06c Bug 1482810 - set COMPILE_FLAGS var to hide warnings for Rust crates r=chmanchester
Myk Melez <myk@mykzilla.org>
parents: 431572
diff changeset
   104
743044
03c7a385e592d016ccf35fd33fa875c6a62026d4 Bug 1902360 - Add a RustProgram mozbuild template r=glandium
Alex Franchuk <afranchuk@mozilla.com>
parents: 688776
diff changeset
   105
03c7a385e592d016ccf35fd33fa875c6a62026d4 Bug 1902360 - Add a RustProgram mozbuild template r=glandium
Alex Franchuk <afranchuk@mozilla.com>
parents: 688776
diff changeset
   106
@template
03c7a385e592d016ccf35fd33fa875c6a62026d4 Bug 1902360 - Add a RustProgram mozbuild template r=glandium
Alex Franchuk <afranchuk@mozilla.com>
parents: 688776
diff changeset
   107
def RustLibrary(name, features=None, output_category=None, is_gkrust=False):
03c7a385e592d016ccf35fd33fa875c6a62026d4 Bug 1902360 - Add a RustProgram mozbuild template r=glandium
Alex Franchuk <afranchuk@mozilla.com>
parents: 688776
diff changeset
   108
    """Template for Rust libraries."""
03c7a385e592d016ccf35fd33fa875c6a62026d4 Bug 1902360 - Add a RustProgram mozbuild template r=glandium
Alex Franchuk <afranchuk@mozilla.com>
parents: 688776
diff changeset
   109
    Library(name)
03c7a385e592d016ccf35fd33fa875c6a62026d4 Bug 1902360 - Add a RustProgram mozbuild template r=glandium
Alex Franchuk <afranchuk@mozilla.com>
parents: 688776
diff changeset
   110
03c7a385e592d016ccf35fd33fa875c6a62026d4 Bug 1902360 - Add a RustProgram mozbuild template r=glandium
Alex Franchuk <afranchuk@mozilla.com>
parents: 688776
diff changeset
   111
    IS_RUST_LIBRARY = True
03c7a385e592d016ccf35fd33fa875c6a62026d4 Bug 1902360 - Add a RustProgram mozbuild template r=glandium
Alex Franchuk <afranchuk@mozilla.com>
parents: 688776
diff changeset
   112
03c7a385e592d016ccf35fd33fa875c6a62026d4 Bug 1902360 - Add a RustProgram mozbuild template r=glandium
Alex Franchuk <afranchuk@mozilla.com>
parents: 688776
diff changeset
   113
    DisableWarningsForRust()
03c7a385e592d016ccf35fd33fa875c6a62026d4 Bug 1902360 - Add a RustProgram mozbuild template r=glandium
Alex Franchuk <afranchuk@mozilla.com>
parents: 688776
diff changeset
   114
325142
a7ab3fbb933fb1ea7a0f6d5809a663d8242fab9b Bug 1319156 - followup - only assign RUST_LIBRARY_FEATURES when features are provided to RustLibrary; r=me
Nathan Froyd <froydnj@mozilla.com>
parents: 325139
diff changeset
   115
    if features:
a7ab3fbb933fb1ea7a0f6d5809a663d8242fab9b Bug 1319156 - followup - only assign RUST_LIBRARY_FEATURES when features are provided to RustLibrary; r=me
Nathan Froyd <froydnj@mozilla.com>
parents: 325139
diff changeset
   116
        RUST_LIBRARY_FEATURES = features
308451
0ceb4834ee8f544ba908031e279963c39be3b47b Bug 1231764 - part 6 - build rust code via cargo; r=chmanchester
Nathan Froyd <froydnj@gmail.com>
parents: 308128
diff changeset
   117
431572
f3a2d3db15e629812f0860ebdbadc5d6050c0307 Bug 1474028 - Add a way to exclude libraries from the default build. r=ted
Chris Manchester <cmanchester@mozilla.com>
parents: 431138
diff changeset
   118
    if output_category:
f3a2d3db15e629812f0860ebdbadc5d6050c0307 Bug 1474028 - Add a way to exclude libraries from the default build. r=ted
Chris Manchester <cmanchester@mozilla.com>
parents: 431138
diff changeset
   119
        RUST_LIBRARY_OUTPUT_CATEGORY = output_category
f3a2d3db15e629812f0860ebdbadc5d6050c0307 Bug 1474028 - Add a way to exclude libraries from the default build. r=ted
Chris Manchester <cmanchester@mozilla.com>
parents: 431138
diff changeset
   120
513442
5ce194cd0a4bed13ade9800dfa38edbd2df6aaef Bug 1613823 - Serialize cargo invocations in the build system, prioritizing gecko. r=froydnj
Chris Manchester <cmanchester@mozilla.com>
parents: 505691
diff changeset
   121
    if is_gkrust:
5ce194cd0a4bed13ade9800dfa38edbd2df6aaef Bug 1613823 - Serialize cargo invocations in the build system, prioritizing gecko. r=froydnj
Chris Manchester <cmanchester@mozilla.com>
parents: 505691
diff changeset
   122
        IS_GKRUST = True
5ce194cd0a4bed13ade9800dfa38edbd2df6aaef Bug 1613823 - Serialize cargo invocations in the build system, prioritizing gecko. r=froydnj
Chris Manchester <cmanchester@mozilla.com>
parents: 505691
diff changeset
   123
308451
0ceb4834ee8f544ba908031e279963c39be3b47b Bug 1231764 - part 6 - build rust code via cargo; r=chmanchester
Nathan Froyd <froydnj@gmail.com>
parents: 308128
diff changeset
   124
0ceb4834ee8f544ba908031e279963c39be3b47b Bug 1231764 - part 6 - build rust code via cargo; r=chmanchester
Nathan Froyd <froydnj@gmail.com>
parents: 308128
diff changeset
   125
@template
743044
03c7a385e592d016ccf35fd33fa875c6a62026d4 Bug 1902360 - Add a RustProgram mozbuild template r=glandium
Alex Franchuk <afranchuk@mozilla.com>
parents: 688776
diff changeset
   126
def RustProgram(name):
03c7a385e592d016ccf35fd33fa875c6a62026d4 Bug 1902360 - Add a RustProgram mozbuild template r=glandium
Alex Franchuk <afranchuk@mozilla.com>
parents: 688776
diff changeset
   127
    """Template for Rust programs."""
03c7a385e592d016ccf35fd33fa875c6a62026d4 Bug 1902360 - Add a RustProgram mozbuild template r=glandium
Alex Franchuk <afranchuk@mozilla.com>
parents: 688776
diff changeset
   128
    RUST_PROGRAMS += [name]
03c7a385e592d016ccf35fd33fa875c6a62026d4 Bug 1902360 - Add a RustProgram mozbuild template r=glandium
Alex Franchuk <afranchuk@mozilla.com>
parents: 688776
diff changeset
   129
    DisableWarningsForRust()
03c7a385e592d016ccf35fd33fa875c6a62026d4 Bug 1902360 - Add a RustProgram mozbuild template r=glandium
Alex Franchuk <afranchuk@mozilla.com>
parents: 688776
diff changeset
   130
03c7a385e592d016ccf35fd33fa875c6a62026d4 Bug 1902360 - Add a RustProgram mozbuild template r=glandium
Alex Franchuk <afranchuk@mozilla.com>
parents: 688776
diff changeset
   131
03c7a385e592d016ccf35fd33fa875c6a62026d4 Bug 1902360 - Add a RustProgram mozbuild template r=glandium
Alex Franchuk <afranchuk@mozilla.com>
parents: 688776
diff changeset
   132
@template
431572
f3a2d3db15e629812f0860ebdbadc5d6050c0307 Bug 1474028 - Add a way to exclude libraries from the default build. r=ted
Chris Manchester <cmanchester@mozilla.com>
parents: 431138
diff changeset
   133
def SharedLibrary(name, output_category=None):
688776
7f982566b9a987cde8b9122661dc4bc7192b9c32 Bug 1677775 - reformat .mozbuild files with Black r=linter-reviewers,geckoview-reviewers,firefox-build-system-reviewers,ahal,glandium,owlish,sylvestre
Logan Rosen <loganrosen@gmail.com>
parents: 638241
diff changeset
   134
    """Template for shared libraries."""
203474
8b5e3ba0f83d448eac343b84e95c2caae988524f Bug 1059113 - Use templates for shared libraries and frameworks. r=gps
Mike Hommey <mh+mozilla@glandium.org>
parents: 203472
diff changeset
   135
    Library(name)
8b5e3ba0f83d448eac343b84e95c2caae988524f Bug 1059113 - Use templates for shared libraries and frameworks. r=gps
Mike Hommey <mh+mozilla@glandium.org>
parents: 203472
diff changeset
   136
8b5e3ba0f83d448eac343b84e95c2caae988524f Bug 1059113 - Use templates for shared libraries and frameworks. r=gps
Mike Hommey <mh+mozilla@glandium.org>
parents: 203472
diff changeset
   137
    FORCE_SHARED_LIB = True
8b5e3ba0f83d448eac343b84e95c2caae988524f Bug 1059113 - Use templates for shared libraries and frameworks. r=gps
Mike Hommey <mh+mozilla@glandium.org>
parents: 203472
diff changeset
   138
431572
f3a2d3db15e629812f0860ebdbadc5d6050c0307 Bug 1474028 - Add a way to exclude libraries from the default build. r=ted
Chris Manchester <cmanchester@mozilla.com>
parents: 431138
diff changeset
   139
    if output_category:
f3a2d3db15e629812f0860ebdbadc5d6050c0307 Bug 1474028 - Add a way to exclude libraries from the default build. r=ted
Chris Manchester <cmanchester@mozilla.com>
parents: 431138
diff changeset
   140
        SHARED_LIBRARY_OUTPUT_CATEGORY = output_category
f3a2d3db15e629812f0860ebdbadc5d6050c0307 Bug 1474028 - Add a way to exclude libraries from the default build. r=ted
Chris Manchester <cmanchester@mozilla.com>
parents: 431138
diff changeset
   141
761049
5aced870902d08c68658e7beae441f4d0c8a9500 Bug 1908630 - Override LLVM Profiling for manual handling r=firefox-build-system-reviewers,glandium
Alexandre Lissy <lissyx+mozillians@lissyx.dyndns.org>
parents: 752967
diff changeset
   142
    MaybeAddProfiling(name)
5aced870902d08c68658e7beae441f4d0c8a9500 Bug 1908630 - Override LLVM Profiling for manual handling r=firefox-build-system-reviewers,glandium
Alexandre Lissy <lissyx+mozillians@lissyx.dyndns.org>
parents: 752967
diff changeset
   143
212817
afdcad4e027ea8cf14ee4e5ce4e0420e2c9cb2bf Bug 1090107 - Define stlport dependencies in moz.build. r=mshal
Mike Hommey <mh+mozilla@glandium.org>
parents: 203475
diff changeset
   144
    Binary()
203475
338372590fc44d51ac28d183ad46afc674caed39 Bug 1059129 - Move the addition of stdc++compat to templates. r=mshal
Mike Hommey <mh+mozilla@glandium.org>
parents: 203474
diff changeset
   145
203474
8b5e3ba0f83d448eac343b84e95c2caae988524f Bug 1059113 - Use templates for shared libraries and frameworks. r=gps
Mike Hommey <mh+mozilla@glandium.org>
parents: 203472
diff changeset
   146
8b5e3ba0f83d448eac343b84e95c2caae988524f Bug 1059113 - Use templates for shared libraries and frameworks. r=gps
Mike Hommey <mh+mozilla@glandium.org>
parents: 203472
diff changeset
   147
@template
431572
f3a2d3db15e629812f0860ebdbadc5d6050c0307 Bug 1474028 - Add a way to exclude libraries from the default build. r=ted
Chris Manchester <cmanchester@mozilla.com>
parents: 431138
diff changeset
   148
def Framework(name, output_category=None):
688776
7f982566b9a987cde8b9122661dc4bc7192b9c32 Bug 1677775 - reformat .mozbuild files with Black r=linter-reviewers,geckoview-reviewers,firefox-build-system-reviewers,ahal,glandium,owlish,sylvestre
Logan Rosen <loganrosen@gmail.com>
parents: 638241
diff changeset
   149
    """Template for OSX Frameworks."""
431572
f3a2d3db15e629812f0860ebdbadc5d6050c0307 Bug 1474028 - Add a way to exclude libraries from the default build. r=ted
Chris Manchester <cmanchester@mozilla.com>
parents: 431138
diff changeset
   150
    SharedLibrary(name, output_category)
203474
8b5e3ba0f83d448eac343b84e95c2caae988524f Bug 1059113 - Use templates for shared libraries and frameworks. r=gps
Mike Hommey <mh+mozilla@glandium.org>
parents: 203472
diff changeset
   151
8b5e3ba0f83d448eac343b84e95c2caae988524f Bug 1059113 - Use templates for shared libraries and frameworks. r=gps
Mike Hommey <mh+mozilla@glandium.org>
parents: 203472
diff changeset
   152
    IS_FRAMEWORK = True
8b5e3ba0f83d448eac343b84e95c2caae988524f Bug 1059113 - Use templates for shared libraries and frameworks. r=gps
Mike Hommey <mh+mozilla@glandium.org>
parents: 203472
diff changeset
   153
8b5e3ba0f83d448eac343b84e95c2caae988524f Bug 1059113 - Use templates for shared libraries and frameworks. r=gps
Mike Hommey <mh+mozilla@glandium.org>
parents: 203472
diff changeset
   154
8b5e3ba0f83d448eac343b84e95c2caae988524f Bug 1059113 - Use templates for shared libraries and frameworks. r=gps
Mike Hommey <mh+mozilla@glandium.org>
parents: 203472
diff changeset
   155
@template
395870
d7fcb5272323838f125aea773258eb3fab187510 Bug 1423802 - Handle stdc++compat and STLPORT_LIBS at the emitter level. r=nalexander
Mike Hommey <mh+mozilla@glandium.org>
parents: 388309
diff changeset
   156
def HostProgram(name):
688776
7f982566b9a987cde8b9122661dc4bc7192b9c32 Bug 1677775 - reformat .mozbuild files with Black r=linter-reviewers,geckoview-reviewers,firefox-build-system-reviewers,ahal,glandium,owlish,sylvestre
Logan Rosen <loganrosen@gmail.com>
parents: 638241
diff changeset
   157
    """Template for build tools executables."""
203471
01a0e2c9c595e983605cb0aa5c12c9eceeb8ae7f Bug 1041941 - Use templates for programs, simple programs, libraries and C++ unit tests. r=gps
Mike Hommey <mh+mozilla@glandium.org>
parents: 201311
diff changeset
   158
    HOST_PROGRAM = name
01a0e2c9c595e983605cb0aa5c12c9eceeb8ae7f Bug 1041941 - Use templates for programs, simple programs, libraries and C++ unit tests. r=gps
Mike Hommey <mh+mozilla@glandium.org>
parents: 201311
diff changeset
   159
01a0e2c9c595e983605cb0aa5c12c9eceeb8ae7f Bug 1041941 - Use templates for programs, simple programs, libraries and C++ unit tests. r=gps
Mike Hommey <mh+mozilla@glandium.org>
parents: 201311
diff changeset
   160
01a0e2c9c595e983605cb0aa5c12c9eceeb8ae7f Bug 1041941 - Use templates for programs, simple programs, libraries and C++ unit tests. r=gps
Mike Hommey <mh+mozilla@glandium.org>
parents: 201311
diff changeset
   161
@template
688776
7f982566b9a987cde8b9122661dc4bc7192b9c32 Bug 1677775 - reformat .mozbuild files with Black r=linter-reviewers,geckoview-reviewers,firefox-build-system-reviewers,ahal,glandium,owlish,sylvestre
Logan Rosen <loganrosen@gmail.com>
parents: 638241
diff changeset
   162
def HostSimplePrograms(names, ext=".cpp"):
7f982566b9a987cde8b9122661dc4bc7192b9c32 Bug 1677775 - reformat .mozbuild files with Black r=linter-reviewers,geckoview-reviewers,firefox-build-system-reviewers,ahal,glandium,owlish,sylvestre
Logan Rosen <loganrosen@gmail.com>
parents: 638241
diff changeset
   163
    """Template for simple build tools executables.
203471
01a0e2c9c595e983605cb0aa5c12c9eceeb8ae7f Bug 1041941 - Use templates for programs, simple programs, libraries and C++ unit tests. r=gps
Mike Hommey <mh+mozilla@glandium.org>
parents: 201311
diff changeset
   164
01a0e2c9c595e983605cb0aa5c12c9eceeb8ae7f Bug 1041941 - Use templates for programs, simple programs, libraries and C++ unit tests. r=gps
Mike Hommey <mh+mozilla@glandium.org>
parents: 201311
diff changeset
   165
    Those have a single source with the same base name as the executable.
688776
7f982566b9a987cde8b9122661dc4bc7192b9c32 Bug 1677775 - reformat .mozbuild files with Black r=linter-reviewers,geckoview-reviewers,firefox-build-system-reviewers,ahal,glandium,owlish,sylvestre
Logan Rosen <loganrosen@gmail.com>
parents: 638241
diff changeset
   166
    """
203471
01a0e2c9c595e983605cb0aa5c12c9eceeb8ae7f Bug 1041941 - Use templates for programs, simple programs, libraries and C++ unit tests. r=gps
Mike Hommey <mh+mozilla@glandium.org>
parents: 201311
diff changeset
   167
    HOST_SIMPLE_PROGRAMS += names
688776
7f982566b9a987cde8b9122661dc4bc7192b9c32 Bug 1677775 - reformat .mozbuild files with Black r=linter-reviewers,geckoview-reviewers,firefox-build-system-reviewers,ahal,glandium,owlish,sylvestre
Logan Rosen <loganrosen@gmail.com>
parents: 638241
diff changeset
   168
    HOST_SOURCES += ["%s%s" % (name.replace("host_", ""), ext) for name in names]
203471
01a0e2c9c595e983605cb0aa5c12c9eceeb8ae7f Bug 1041941 - Use templates for programs, simple programs, libraries and C++ unit tests. r=gps
Mike Hommey <mh+mozilla@glandium.org>
parents: 201311
diff changeset
   169
01a0e2c9c595e983605cb0aa5c12c9eceeb8ae7f Bug 1041941 - Use templates for programs, simple programs, libraries and C++ unit tests. r=gps
Mike Hommey <mh+mozilla@glandium.org>
parents: 201311
diff changeset
   170
01a0e2c9c595e983605cb0aa5c12c9eceeb8ae7f Bug 1041941 - Use templates for programs, simple programs, libraries and C++ unit tests. r=gps
Mike Hommey <mh+mozilla@glandium.org>
parents: 201311
diff changeset
   171
@template
425414
531b966781e6b2c086a798b18cec231a26a9d3e5 Bug 1469091 - Build the clang plugin as a host shared library. r=ted
Mike Hommey <mh+mozilla@glandium.org>
parents: 420058
diff changeset
   172
def HostSharedLibrary(name):
688776
7f982566b9a987cde8b9122661dc4bc7192b9c32 Bug 1677775 - reformat .mozbuild files with Black r=linter-reviewers,geckoview-reviewers,firefox-build-system-reviewers,ahal,glandium,owlish,sylvestre
Logan Rosen <loganrosen@gmail.com>
parents: 638241
diff changeset
   173
    """Template for build tools libraries."""
7f982566b9a987cde8b9122661dc4bc7192b9c32 Bug 1677775 - reformat .mozbuild files with Black r=linter-reviewers,geckoview-reviewers,firefox-build-system-reviewers,ahal,glandium,owlish,sylvestre
Logan Rosen <loganrosen@gmail.com>
parents: 638241
diff changeset
   174
    if name != "clang-plugin":
7f982566b9a987cde8b9122661dc4bc7192b9c32 Bug 1677775 - reformat .mozbuild files with Black r=linter-reviewers,geckoview-reviewers,firefox-build-system-reviewers,ahal,glandium,owlish,sylvestre
Logan Rosen <loganrosen@gmail.com>
parents: 638241
diff changeset
   175
        error(
7f982566b9a987cde8b9122661dc4bc7192b9c32 Bug 1677775 - reformat .mozbuild files with Black r=linter-reviewers,geckoview-reviewers,firefox-build-system-reviewers,ahal,glandium,owlish,sylvestre
Logan Rosen <loganrosen@gmail.com>
parents: 638241
diff changeset
   176
            "Please make sure host shared library support is complete "
7f982566b9a987cde8b9122661dc4bc7192b9c32 Bug 1677775 - reformat .mozbuild files with Black r=linter-reviewers,geckoview-reviewers,firefox-build-system-reviewers,ahal,glandium,owlish,sylvestre
Logan Rosen <loganrosen@gmail.com>
parents: 638241
diff changeset
   177
            "before using for something else than the clang plugin"
7f982566b9a987cde8b9122661dc4bc7192b9c32 Bug 1677775 - reformat .mozbuild files with Black r=linter-reviewers,geckoview-reviewers,firefox-build-system-reviewers,ahal,glandium,owlish,sylvestre
Logan Rosen <loganrosen@gmail.com>
parents: 638241
diff changeset
   178
        )
425414
531b966781e6b2c086a798b18cec231a26a9d3e5 Bug 1469091 - Build the clang plugin as a host shared library. r=ted
Mike Hommey <mh+mozilla@glandium.org>
parents: 420058
diff changeset
   179
531b966781e6b2c086a798b18cec231a26a9d3e5 Bug 1469091 - Build the clang plugin as a host shared library. r=ted
Mike Hommey <mh+mozilla@glandium.org>
parents: 420058
diff changeset
   180
    HOST_LIBRARY_NAME = name
531b966781e6b2c086a798b18cec231a26a9d3e5 Bug 1469091 - Build the clang plugin as a host shared library. r=ted
Mike Hommey <mh+mozilla@glandium.org>
parents: 420058
diff changeset
   181
531b966781e6b2c086a798b18cec231a26a9d3e5 Bug 1469091 - Build the clang plugin as a host shared library. r=ted
Mike Hommey <mh+mozilla@glandium.org>
parents: 420058
diff changeset
   182
    FORCE_SHARED_LIB = True
531b966781e6b2c086a798b18cec231a26a9d3e5 Bug 1469091 - Build the clang plugin as a host shared library. r=ted
Mike Hommey <mh+mozilla@glandium.org>
parents: 420058
diff changeset
   183
688776
7f982566b9a987cde8b9122661dc4bc7192b9c32 Bug 1677775 - reformat .mozbuild files with Black r=linter-reviewers,geckoview-reviewers,firefox-build-system-reviewers,ahal,glandium,owlish,sylvestre
Logan Rosen <loganrosen@gmail.com>
parents: 638241
diff changeset
   184
425414
531b966781e6b2c086a798b18cec231a26a9d3e5 Bug 1469091 - Build the clang plugin as a host shared library. r=ted
Mike Hommey <mh+mozilla@glandium.org>
parents: 420058
diff changeset
   185
@template
203471
01a0e2c9c595e983605cb0aa5c12c9eceeb8ae7f Bug 1041941 - Use templates for programs, simple programs, libraries and C++ unit tests. r=gps
Mike Hommey <mh+mozilla@glandium.org>
parents: 201311
diff changeset
   186
def HostLibrary(name):
688776
7f982566b9a987cde8b9122661dc4bc7192b9c32 Bug 1677775 - reformat .mozbuild files with Black r=linter-reviewers,geckoview-reviewers,firefox-build-system-reviewers,ahal,glandium,owlish,sylvestre
Logan Rosen <loganrosen@gmail.com>
parents: 638241
diff changeset
   187
    """Template for build tools libraries."""
203471
01a0e2c9c595e983605cb0aa5c12c9eceeb8ae7f Bug 1041941 - Use templates for programs, simple programs, libraries and C++ unit tests. r=gps
Mike Hommey <mh+mozilla@glandium.org>
parents: 201311
diff changeset
   188
    HOST_LIBRARY_NAME = name
01a0e2c9c595e983605cb0aa5c12c9eceeb8ae7f Bug 1041941 - Use templates for programs, simple programs, libraries and C++ unit tests. r=gps
Mike Hommey <mh+mozilla@glandium.org>
parents: 201311
diff changeset
   189
688776
7f982566b9a987cde8b9122661dc4bc7192b9c32 Bug 1677775 - reformat .mozbuild files with Black r=linter-reviewers,geckoview-reviewers,firefox-build-system-reviewers,ahal,glandium,owlish,sylvestre
Logan Rosen <loganrosen@gmail.com>
parents: 638241
diff changeset
   190
330854
e0fb919e31cf2765ad878e6d2201aff79b0ba1b8 Bug 1312916 - Add support for host rust libraries in moz.build. r=froydnj
Chris Manchester <cmanchester@mozilla.com>
parents: 325142
diff changeset
   191
@template
e0fb919e31cf2765ad878e6d2201aff79b0ba1b8 Bug 1312916 - Add support for host rust libraries in moz.build. r=froydnj
Chris Manchester <cmanchester@mozilla.com>
parents: 325142
diff changeset
   192
def HostRustLibrary(name, features=None):
688776
7f982566b9a987cde8b9122661dc4bc7192b9c32 Bug 1677775 - reformat .mozbuild files with Black r=linter-reviewers,geckoview-reviewers,firefox-build-system-reviewers,ahal,glandium,owlish,sylvestre
Logan Rosen <loganrosen@gmail.com>
parents: 638241
diff changeset
   193
    """Template for host Rust libraries."""
330854
e0fb919e31cf2765ad878e6d2201aff79b0ba1b8 Bug 1312916 - Add support for host rust libraries in moz.build. r=froydnj
Chris Manchester <cmanchester@mozilla.com>
parents: 325142
diff changeset
   194
    HostLibrary(name)
e0fb919e31cf2765ad878e6d2201aff79b0ba1b8 Bug 1312916 - Add support for host rust libraries in moz.build. r=froydnj
Chris Manchester <cmanchester@mozilla.com>
parents: 325142
diff changeset
   195
e0fb919e31cf2765ad878e6d2201aff79b0ba1b8 Bug 1312916 - Add support for host rust libraries in moz.build. r=froydnj
Chris Manchester <cmanchester@mozilla.com>
parents: 325142
diff changeset
   196
    IS_RUST_LIBRARY = True
429287
5f20a8a55268a579911b0494243a34311e836ec6 bug 1409276 - disable warnings-as-errors for Rust libraries/programs. r=chmanchester
Ted Mielczarek <ted@mielczarek.org>
parents: 425414
diff changeset
   197
    # Some Rust build scripts compile C/C++ sources, don't error on warnings for them.
5f20a8a55268a579911b0494243a34311e836ec6 bug 1409276 - disable warnings-as-errors for Rust libraries/programs. r=chmanchester
Ted Mielczarek <ted@mielczarek.org>
parents: 425414
diff changeset
   198
    AllowCompilerWarnings()
330854
e0fb919e31cf2765ad878e6d2201aff79b0ba1b8 Bug 1312916 - Add support for host rust libraries in moz.build. r=froydnj
Chris Manchester <cmanchester@mozilla.com>
parents: 325142
diff changeset
   199
e0fb919e31cf2765ad878e6d2201aff79b0ba1b8 Bug 1312916 - Add support for host rust libraries in moz.build. r=froydnj
Chris Manchester <cmanchester@mozilla.com>
parents: 325142
diff changeset
   200
    if features:
e0fb919e31cf2765ad878e6d2201aff79b0ba1b8 Bug 1312916 - Add support for host rust libraries in moz.build. r=froydnj
Chris Manchester <cmanchester@mozilla.com>
parents: 325142
diff changeset
   201
        HOST_RUST_LIBRARY_FEATURES = features
e0fb919e31cf2765ad878e6d2201aff79b0ba1b8 Bug 1312916 - Add support for host rust libraries in moz.build. r=froydnj
Chris Manchester <cmanchester@mozilla.com>
parents: 325142
diff changeset
   202
688776
7f982566b9a987cde8b9122661dc4bc7192b9c32 Bug 1677775 - reformat .mozbuild files with Black r=linter-reviewers,geckoview-reviewers,firefox-build-system-reviewers,ahal,glandium,owlish,sylvestre
Logan Rosen <loganrosen@gmail.com>
parents: 638241
diff changeset
   203
380136
e1eaee9c428c83d6c7954b6a7e8cb434186bcbad Bug 1386876 - Add classes to handle compile flags computed by moz.build with templates, convert 'DISABLE_STL_WRAPPING' to use them. r=glandium
Chris Manchester <cmanchester@mozilla.com>
parents: 367451
diff changeset
   204
@template
e1eaee9c428c83d6c7954b6a7e8cb434186bcbad Bug 1386876 - Add classes to handle compile flags computed by moz.build with templates, convert 'DISABLE_STL_WRAPPING' to use them. r=glandium
Chris Manchester <cmanchester@mozilla.com>
parents: 367451
diff changeset
   205
def DisableStlWrapping():
688776
7f982566b9a987cde8b9122661dc4bc7192b9c32 Bug 1677775 - reformat .mozbuild files with Black r=linter-reviewers,geckoview-reviewers,firefox-build-system-reviewers,ahal,glandium,owlish,sylvestre
Logan Rosen <loganrosen@gmail.com>
parents: 638241
diff changeset
   206
    COMPILE_FLAGS["STL"] = []
7f982566b9a987cde8b9122661dc4bc7192b9c32 Bug 1677775 - reformat .mozbuild files with Black r=linter-reviewers,geckoview-reviewers,firefox-build-system-reviewers,ahal,glandium,owlish,sylvestre
Logan Rosen <loganrosen@gmail.com>
parents: 638241
diff changeset
   207
380136
e1eaee9c428c83d6c7954b6a7e8cb434186bcbad Bug 1386876 - Add classes to handle compile flags computed by moz.build with templates, convert 'DISABLE_STL_WRAPPING' to use them. r=glandium
Chris Manchester <cmanchester@mozilla.com>
parents: 367451
diff changeset
   208
380138
40dbde701504661c0b537073ba6bbd305c76e7a9 Bug 1386876 - Move visibility flag handling to computed compile flags with templates. r=glandium
Chris Manchester <cmanchester@mozilla.com>
parents: 380136
diff changeset
   209
@template
40dbde701504661c0b537073ba6bbd305c76e7a9 Bug 1386876 - Move visibility flag handling to computed compile flags with templates. r=glandium
Chris Manchester <cmanchester@mozilla.com>
parents: 380136
diff changeset
   210
def NoVisibilityFlags():
688776
7f982566b9a987cde8b9122661dc4bc7192b9c32 Bug 1677775 - reformat .mozbuild files with Black r=linter-reviewers,geckoview-reviewers,firefox-build-system-reviewers,ahal,glandium,owlish,sylvestre
Logan Rosen <loganrosen@gmail.com>
parents: 638241
diff changeset
   211
    COMPILE_FLAGS["VISIBILITY"] = []
7f982566b9a987cde8b9122661dc4bc7192b9c32 Bug 1677775 - reformat .mozbuild files with Black r=linter-reviewers,geckoview-reviewers,firefox-build-system-reviewers,ahal,glandium,owlish,sylvestre
Logan Rosen <loganrosen@gmail.com>
parents: 638241
diff changeset
   212
380138
40dbde701504661c0b537073ba6bbd305c76e7a9 Bug 1386876 - Move visibility flag handling to computed compile flags with templates. r=glandium
Chris Manchester <cmanchester@mozilla.com>
parents: 380136
diff changeset
   213
388309
0c470da05f01a572e7daa890408545bd65ce319a Bug 1403346 - Implement ALLOW_COMPILER_WARNINGS as a template. r=glandium
Chris Manchester <cmanchester@mozilla.com>
parents: 384000
diff changeset
   214
@template
420058
79a77332a9e515bfae5e1807b5c57be7cec7c83a Bug 1463637: Remove mozilla-config.h hacks for Hunspell extra includes. r=ted
Kris Maglione <maglione.k@gmail.com>
parents: 417006
diff changeset
   215
def ForceInclude(*headers):
79a77332a9e515bfae5e1807b5c57be7cec7c83a Bug 1463637: Remove mozilla-config.h hacks for Hunspell extra includes. r=ted
Kris Maglione <maglione.k@gmail.com>
parents: 417006
diff changeset
   216
    """Force includes a set of header files in C++ compilations"""
688776
7f982566b9a987cde8b9122661dc4bc7192b9c32 Bug 1677775 - reformat .mozbuild files with Black r=linter-reviewers,geckoview-reviewers,firefox-build-system-reviewers,ahal,glandium,owlish,sylvestre
Logan Rosen <loganrosen@gmail.com>
parents: 638241
diff changeset
   217
    if CONFIG["CC_TYPE"] == "clang-cl":
7f982566b9a987cde8b9122661dc4bc7192b9c32 Bug 1677775 - reformat .mozbuild files with Black r=linter-reviewers,geckoview-reviewers,firefox-build-system-reviewers,ahal,glandium,owlish,sylvestre
Logan Rosen <loganrosen@gmail.com>
parents: 638241
diff changeset
   218
        include_flag = "-FI"
420058
79a77332a9e515bfae5e1807b5c57be7cec7c83a Bug 1463637: Remove mozilla-config.h hacks for Hunspell extra includes. r=ted
Kris Maglione <maglione.k@gmail.com>
parents: 417006
diff changeset
   219
    else:
688776
7f982566b9a987cde8b9122661dc4bc7192b9c32 Bug 1677775 - reformat .mozbuild files with Black r=linter-reviewers,geckoview-reviewers,firefox-build-system-reviewers,ahal,glandium,owlish,sylvestre
Logan Rosen <loganrosen@gmail.com>
parents: 638241
diff changeset
   220
        include_flag = "-include"
420058
79a77332a9e515bfae5e1807b5c57be7cec7c83a Bug 1463637: Remove mozilla-config.h hacks for Hunspell extra includes. r=ted
Kris Maglione <maglione.k@gmail.com>
parents: 417006
diff changeset
   221
    for header in headers:
79a77332a9e515bfae5e1807b5c57be7cec7c83a Bug 1463637: Remove mozilla-config.h hacks for Hunspell extra includes. r=ted
Kris Maglione <maglione.k@gmail.com>
parents: 417006
diff changeset
   222
        CXXFLAGS += [include_flag, header]
79a77332a9e515bfae5e1807b5c57be7cec7c83a Bug 1463637: Remove mozilla-config.h hacks for Hunspell extra includes. r=ted
Kris Maglione <maglione.k@gmail.com>
parents: 417006
diff changeset
   223
688776
7f982566b9a987cde8b9122661dc4bc7192b9c32 Bug 1677775 - reformat .mozbuild files with Black r=linter-reviewers,geckoview-reviewers,firefox-build-system-reviewers,ahal,glandium,owlish,sylvestre
Logan Rosen <loganrosen@gmail.com>
parents: 638241
diff changeset
   224
495818
134999fb1885d55868a18682dd7334676a0c2082 Bug 1562996 - Add a GeneratedFile template to get rid of some of the boilerplate involved in interfacing with GENERATED_FILES. r=nalexander
Ricky Stewart <Ricky Stewart>
parents: 459206
diff changeset
   225
@template
134999fb1885d55868a18682dd7334676a0c2082 Bug 1562996 - Add a GeneratedFile template to get rid of some of the boilerplate involved in interfacing with GENERATED_FILES. r=nalexander
Ricky Stewart <Ricky Stewart>
parents: 459206
diff changeset
   226
def GeneratedFile(name, *names, **kwargs):
134999fb1885d55868a18682dd7334676a0c2082 Bug 1562996 - Add a GeneratedFile template to get rid of some of the boilerplate involved in interfacing with GENERATED_FILES. r=nalexander
Ricky Stewart <Ricky Stewart>
parents: 459206
diff changeset
   227
    """Add one or more GENERATED_FILES with the given attributes.
134999fb1885d55868a18682dd7334676a0c2082 Bug 1562996 - Add a GeneratedFile template to get rid of some of the boilerplate involved in interfacing with GENERATED_FILES. r=nalexander
Ricky Stewart <Ricky Stewart>
parents: 459206
diff changeset
   228
134999fb1885d55868a18682dd7334676a0c2082 Bug 1562996 - Add a GeneratedFile template to get rid of some of the boilerplate involved in interfacing with GENERATED_FILES. r=nalexander
Ricky Stewart <Ricky Stewart>
parents: 459206
diff changeset
   229
    You must pass in at least one generated file (the "name" argument). Other
134999fb1885d55868a18682dd7334676a0c2082 Bug 1562996 - Add a GeneratedFile template to get rid of some of the boilerplate involved in interfacing with GENERATED_FILES. r=nalexander
Ricky Stewart <Ricky Stewart>
parents: 459206
diff changeset
   230
    names can be included as positional arguments after "name"."""
688776
7f982566b9a987cde8b9122661dc4bc7192b9c32 Bug 1677775 - reformat .mozbuild files with Black r=linter-reviewers,geckoview-reviewers,firefox-build-system-reviewers,ahal,glandium,owlish,sylvestre
Logan Rosen <loganrosen@gmail.com>
parents: 638241
diff changeset
   231
    script = kwargs.pop("script", None)
7f982566b9a987cde8b9122661dc4bc7192b9c32 Bug 1677775 - reformat .mozbuild files with Black r=linter-reviewers,geckoview-reviewers,firefox-build-system-reviewers,ahal,glandium,owlish,sylvestre
Logan Rosen <loganrosen@gmail.com>
parents: 638241
diff changeset
   232
    entry_point = kwargs.pop("entry_point", None)
7f982566b9a987cde8b9122661dc4bc7192b9c32 Bug 1677775 - reformat .mozbuild files with Black r=linter-reviewers,geckoview-reviewers,firefox-build-system-reviewers,ahal,glandium,owlish,sylvestre
Logan Rosen <loganrosen@gmail.com>
parents: 638241
diff changeset
   233
    inputs = kwargs.pop("inputs", [])
7f982566b9a987cde8b9122661dc4bc7192b9c32 Bug 1677775 - reformat .mozbuild files with Black r=linter-reviewers,geckoview-reviewers,firefox-build-system-reviewers,ahal,glandium,owlish,sylvestre
Logan Rosen <loganrosen@gmail.com>
parents: 638241
diff changeset
   234
    flags = kwargs.pop("flags", [])
7f982566b9a987cde8b9122661dc4bc7192b9c32 Bug 1677775 - reformat .mozbuild files with Black r=linter-reviewers,geckoview-reviewers,firefox-build-system-reviewers,ahal,glandium,owlish,sylvestre
Logan Rosen <loganrosen@gmail.com>
parents: 638241
diff changeset
   235
    force = kwargs.pop("force", False)
528631
5d44a9bea183dc551abc61caeff07d388e3403dc Bug 1634737 - GeneratedFile() template should yell at you if you try to set py2=True r=glandium
Ricky Stewart <rstewart@mozilla.com>
parents: 525957
diff changeset
   236
    if kwargs:
688776
7f982566b9a987cde8b9122661dc4bc7192b9c32 Bug 1677775 - reformat .mozbuild files with Black r=linter-reviewers,geckoview-reviewers,firefox-build-system-reviewers,ahal,glandium,owlish,sylvestre
Logan Rosen <loganrosen@gmail.com>
parents: 638241
diff changeset
   237
        error("Unrecognized argument(s) to GeneratedFile: %s" % ", ".join(kwargs))
495818
134999fb1885d55868a18682dd7334676a0c2082 Bug 1562996 - Add a GeneratedFile template to get rid of some of the boilerplate involved in interfacing with GENERATED_FILES. r=nalexander
Ricky Stewart <Ricky Stewart>
parents: 459206
diff changeset
   238
    if entry_point and not script:
688776
7f982566b9a987cde8b9122661dc4bc7192b9c32 Bug 1677775 - reformat .mozbuild files with Black r=linter-reviewers,geckoview-reviewers,firefox-build-system-reviewers,ahal,glandium,owlish,sylvestre
Logan Rosen <loganrosen@gmail.com>
parents: 638241
diff changeset
   239
        error("entry_point cannot be provided if script is not provided")
7f982566b9a987cde8b9122661dc4bc7192b9c32 Bug 1677775 - reformat .mozbuild files with Black r=linter-reviewers,geckoview-reviewers,firefox-build-system-reviewers,ahal,glandium,owlish,sylvestre
Logan Rosen <loganrosen@gmail.com>
parents: 638241
diff changeset
   240
    if script and ":" in script:
7f982566b9a987cde8b9122661dc4bc7192b9c32 Bug 1677775 - reformat .mozbuild files with Black r=linter-reviewers,geckoview-reviewers,firefox-build-system-reviewers,ahal,glandium,owlish,sylvestre
Logan Rosen <loganrosen@gmail.com>
parents: 638241
diff changeset
   241
        error(
7f982566b9a987cde8b9122661dc4bc7192b9c32 Bug 1677775 - reformat .mozbuild files with Black r=linter-reviewers,geckoview-reviewers,firefox-build-system-reviewers,ahal,glandium,owlish,sylvestre
Logan Rosen <loganrosen@gmail.com>
parents: 638241
diff changeset
   242
            "script should not include a `:`. If you want to provide an "
7f982566b9a987cde8b9122661dc4bc7192b9c32 Bug 1677775 - reformat .mozbuild files with Black r=linter-reviewers,geckoview-reviewers,firefox-build-system-reviewers,ahal,glandium,owlish,sylvestre
Logan Rosen <loganrosen@gmail.com>
parents: 638241
diff changeset
   243
            "alternative entry point for your script, use the entry_point "
7f982566b9a987cde8b9122661dc4bc7192b9c32 Bug 1677775 - reformat .mozbuild files with Black r=linter-reviewers,geckoview-reviewers,firefox-build-system-reviewers,ahal,glandium,owlish,sylvestre
Logan Rosen <loganrosen@gmail.com>
parents: 638241
diff changeset
   244
            "parameter."
7f982566b9a987cde8b9122661dc4bc7192b9c32 Bug 1677775 - reformat .mozbuild files with Black r=linter-reviewers,geckoview-reviewers,firefox-build-system-reviewers,ahal,glandium,owlish,sylvestre
Logan Rosen <loganrosen@gmail.com>
parents: 638241
diff changeset
   245
        )
495818
134999fb1885d55868a18682dd7334676a0c2082 Bug 1562996 - Add a GeneratedFile template to get rid of some of the boilerplate involved in interfacing with GENERATED_FILES. r=nalexander
Ricky Stewart <Ricky Stewart>
parents: 459206
diff changeset
   246
134999fb1885d55868a18682dd7334676a0c2082 Bug 1562996 - Add a GeneratedFile template to get rid of some of the boilerplate involved in interfacing with GENERATED_FILES. r=nalexander
Ricky Stewart <Ricky Stewart>
parents: 459206
diff changeset
   247
    key = (name,) + names if names else name
134999fb1885d55868a18682dd7334676a0c2082 Bug 1562996 - Add a GeneratedFile template to get rid of some of the boilerplate involved in interfacing with GENERATED_FILES. r=nalexander
Ricky Stewart <Ricky Stewart>
parents: 459206
diff changeset
   248
    GENERATED_FILES += [key]
134999fb1885d55868a18682dd7334676a0c2082 Bug 1562996 - Add a GeneratedFile template to get rid of some of the boilerplate involved in interfacing with GENERATED_FILES. r=nalexander
Ricky Stewart <Ricky Stewart>
parents: 459206
diff changeset
   249
    generated_file = GENERATED_FILES[key]
134999fb1885d55868a18682dd7334676a0c2082 Bug 1562996 - Add a GeneratedFile template to get rid of some of the boilerplate involved in interfacing with GENERATED_FILES. r=nalexander
Ricky Stewart <Ricky Stewart>
parents: 459206
diff changeset
   250
    if script and not entry_point:
134999fb1885d55868a18682dd7334676a0c2082 Bug 1562996 - Add a GeneratedFile template to get rid of some of the boilerplate involved in interfacing with GENERATED_FILES. r=nalexander
Ricky Stewart <Ricky Stewart>
parents: 459206
diff changeset
   251
        generated_file.script = script
134999fb1885d55868a18682dd7334676a0c2082 Bug 1562996 - Add a GeneratedFile template to get rid of some of the boilerplate involved in interfacing with GENERATED_FILES. r=nalexander
Ricky Stewart <Ricky Stewart>
parents: 459206
diff changeset
   252
    if script and entry_point:
688776
7f982566b9a987cde8b9122661dc4bc7192b9c32 Bug 1677775 - reformat .mozbuild files with Black r=linter-reviewers,geckoview-reviewers,firefox-build-system-reviewers,ahal,glandium,owlish,sylvestre
Logan Rosen <loganrosen@gmail.com>
parents: 638241
diff changeset
   253
        generated_file.script = script + ":" + entry_point
495818
134999fb1885d55868a18682dd7334676a0c2082 Bug 1562996 - Add a GeneratedFile template to get rid of some of the boilerplate involved in interfacing with GENERATED_FILES. r=nalexander
Ricky Stewart <Ricky Stewart>
parents: 459206
diff changeset
   254
    generated_file.inputs = inputs
134999fb1885d55868a18682dd7334676a0c2082 Bug 1562996 - Add a GeneratedFile template to get rid of some of the boilerplate involved in interfacing with GENERATED_FILES. r=nalexander
Ricky Stewart <Ricky Stewart>
parents: 459206
diff changeset
   255
    generated_file.flags = flags
134999fb1885d55868a18682dd7334676a0c2082 Bug 1562996 - Add a GeneratedFile template to get rid of some of the boilerplate involved in interfacing with GENERATED_FILES. r=nalexander
Ricky Stewart <Ricky Stewart>
parents: 459206
diff changeset
   256
    generated_file.force = force
134999fb1885d55868a18682dd7334676a0c2082 Bug 1562996 - Add a GeneratedFile template to get rid of some of the boilerplate involved in interfacing with GENERATED_FILES. r=nalexander
Ricky Stewart <Ricky Stewart>
parents: 459206
diff changeset
   257
688776
7f982566b9a987cde8b9122661dc4bc7192b9c32 Bug 1677775 - reformat .mozbuild files with Black r=linter-reviewers,geckoview-reviewers,firefox-build-system-reviewers,ahal,glandium,owlish,sylvestre
Logan Rosen <loganrosen@gmail.com>
parents: 638241
diff changeset
   258
537571
564eedd27f0a948aea1f7b666b8a7c64002d189e Bug 1646936 - Generate a single metadata file in the objdir, and feed it to cbindgen. r=glandium
Emilio Cobos Álvarez <emilio@crisal.io>
parents: 537566
diff changeset
   259
@template
564eedd27f0a948aea1f7b666b8a7c64002d189e Bug 1646936 - Generate a single metadata file in the objdir, and feed it to cbindgen. r=glandium
Emilio Cobos Álvarez <emilio@crisal.io>
parents: 537566
diff changeset
   260
def CbindgenHeader(name, inputs):
564eedd27f0a948aea1f7b666b8a7c64002d189e Bug 1646936 - Generate a single metadata file in the objdir, and feed it to cbindgen. r=glandium
Emilio Cobos Álvarez <emilio@crisal.io>
parents: 537566
diff changeset
   261
    """Add one GENERATED_FILES by running RunCbindgen.py"""
564eedd27f0a948aea1f7b666b8a7c64002d189e Bug 1646936 - Generate a single metadata file in the objdir, and feed it to cbindgen. r=glandium
Emilio Cobos Álvarez <emilio@crisal.io>
parents: 537566
diff changeset
   262
688776
7f982566b9a987cde8b9122661dc4bc7192b9c32 Bug 1677775 - reformat .mozbuild files with Black r=linter-reviewers,geckoview-reviewers,firefox-build-system-reviewers,ahal,glandium,owlish,sylvestre
Logan Rosen <loganrosen@gmail.com>
parents: 638241
diff changeset
   263
    inputs = ["!/config/cbindgen-metadata.json"] + inputs
7f982566b9a987cde8b9122661dc4bc7192b9c32 Bug 1677775 - reformat .mozbuild files with Black r=linter-reviewers,geckoview-reviewers,firefox-build-system-reviewers,ahal,glandium,owlish,sylvestre
Logan Rosen <loganrosen@gmail.com>
parents: 638241
diff changeset
   264
    GeneratedFile(
7f982566b9a987cde8b9122661dc4bc7192b9c32 Bug 1677775 - reformat .mozbuild files with Black r=linter-reviewers,geckoview-reviewers,firefox-build-system-reviewers,ahal,glandium,owlish,sylvestre
Logan Rosen <loganrosen@gmail.com>
parents: 638241
diff changeset
   265
        name, script="/build/RunCbindgen.py", entry_point="generate", inputs=inputs
7f982566b9a987cde8b9122661dc4bc7192b9c32 Bug 1677775 - reformat .mozbuild files with Black r=linter-reviewers,geckoview-reviewers,firefox-build-system-reviewers,ahal,glandium,owlish,sylvestre
Logan Rosen <loganrosen@gmail.com>
parents: 638241
diff changeset
   266
    )
537571
564eedd27f0a948aea1f7b666b8a7c64002d189e Bug 1646936 - Generate a single metadata file in the objdir, and feed it to cbindgen. r=glandium
Emilio Cobos Álvarez <emilio@crisal.io>
parents: 537566
diff changeset
   267
564eedd27f0a948aea1f7b666b8a7c64002d189e Bug 1646936 - Generate a single metadata file in the objdir, and feed it to cbindgen. r=glandium
Emilio Cobos Álvarez <emilio@crisal.io>
parents: 537566
diff changeset
   268
688776
7f982566b9a987cde8b9122661dc4bc7192b9c32 Bug 1677775 - reformat .mozbuild files with Black r=linter-reviewers,geckoview-reviewers,firefox-build-system-reviewers,ahal,glandium,owlish,sylvestre
Logan Rosen <loganrosen@gmail.com>
parents: 638241
diff changeset
   269
include("gecko_templates.mozbuild")