gecko-dev/build/gyp_base.mozbuild

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

40 lines
1.1 KiB
Plaintext
Raw Permalink Normal View History

bug 1295937 - Improvements to gyp_reader to handle NSS gyp files. r=glandium This patch contains a number of changes to the gyp_reader code: * Add three new flags to GYP_DIRS: ** no_chromium, to skip forcing the includes/etc needed for chromium gyp files ** no_unified, to force building all sources without unification ** action_overrides, to pass scripts used when mapping gyp actions to moz.build GENERATED_FILES * Handle the flags mentioned above in read_from_gyp * Handle actions in gyp targets by mapping them to GENERATED_FILES, using scripts specified in the action_overrides flag. We don't try to handle the generic action case, we require special-casing for each action. * Handle a subset of copies in gyp targets by mapping them to EXPORTS, just enough to handle the use of them for NSS exports. * Handle shared_library and executable gyp targets * Handle gyp target dependencies/libraries as USE_LIBS/OS_LIBS * Handle generated source files * Handle .def files in sources by mapping them to SYMBOLS_FILE * Special-case some include_dirs: ** Map `<(PRODUCT_DIR)/dist/` to $DIST/include (to handle include paths for NSS exports) ** Map include_dirs starting with topobjdir to objdir-relative paths, to handle passing the NSPR include path to NSS * split /build/gyp.mozbuild into two parts, with gyp_base.mozbuild containing generic bits, and gyp.mozbuild containing chromium-specific bits MozReview-Commit-ID: FbDmlqDjRp4 --HG-- extra : rebase_source : d3fb470c589f92d8c956b9ecd550fb8df79ff5bc
2016-11-15 17:37:09 +00:00
# -*- 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/.
gyp_vars = {}
os = CONFIG["OS_TARGET"]
bug 1295937 - Improvements to gyp_reader to handle NSS gyp files. r=glandium This patch contains a number of changes to the gyp_reader code: * Add three new flags to GYP_DIRS: ** no_chromium, to skip forcing the includes/etc needed for chromium gyp files ** no_unified, to force building all sources without unification ** action_overrides, to pass scripts used when mapping gyp actions to moz.build GENERATED_FILES * Handle the flags mentioned above in read_from_gyp * Handle actions in gyp targets by mapping them to GENERATED_FILES, using scripts specified in the action_overrides flag. We don't try to handle the generic action case, we require special-casing for each action. * Handle a subset of copies in gyp targets by mapping them to EXPORTS, just enough to handle the use of them for NSS exports. * Handle shared_library and executable gyp targets * Handle gyp target dependencies/libraries as USE_LIBS/OS_LIBS * Handle generated source files * Handle .def files in sources by mapping them to SYMBOLS_FILE * Special-case some include_dirs: ** Map `<(PRODUCT_DIR)/dist/` to $DIST/include (to handle include paths for NSS exports) ** Map include_dirs starting with topobjdir to objdir-relative paths, to handle passing the NSPR include path to NSS * split /build/gyp.mozbuild into two parts, with gyp_base.mozbuild containing generic bits, and gyp.mozbuild containing chromium-specific bits MozReview-Commit-ID: FbDmlqDjRp4 --HG-- extra : rebase_source : d3fb470c589f92d8c956b9ecd550fb8df79ff5bc
2016-11-15 17:37:09 +00:00
if os == "WINNT":
bug 1295937 - Improvements to gyp_reader to handle NSS gyp files. r=glandium This patch contains a number of changes to the gyp_reader code: * Add three new flags to GYP_DIRS: ** no_chromium, to skip forcing the includes/etc needed for chromium gyp files ** no_unified, to force building all sources without unification ** action_overrides, to pass scripts used when mapping gyp actions to moz.build GENERATED_FILES * Handle the flags mentioned above in read_from_gyp * Handle actions in gyp targets by mapping them to GENERATED_FILES, using scripts specified in the action_overrides flag. We don't try to handle the generic action case, we require special-casing for each action. * Handle a subset of copies in gyp targets by mapping them to EXPORTS, just enough to handle the use of them for NSS exports. * Handle shared_library and executable gyp targets * Handle gyp target dependencies/libraries as USE_LIBS/OS_LIBS * Handle generated source files * Handle .def files in sources by mapping them to SYMBOLS_FILE * Special-case some include_dirs: ** Map `<(PRODUCT_DIR)/dist/` to $DIST/include (to handle include paths for NSS exports) ** Map include_dirs starting with topobjdir to objdir-relative paths, to handle passing the NSPR include path to NSS * split /build/gyp.mozbuild into two parts, with gyp_base.mozbuild containing generic bits, and gyp.mozbuild containing chromium-specific bits MozReview-Commit-ID: FbDmlqDjRp4 --HG-- extra : rebase_source : d3fb470c589f92d8c956b9ecd550fb8df79ff5bc
2016-11-15 17:37:09 +00:00
gyp_vars.update(
MSVS_VERSION=CONFIG["MSVS_VERSION"],
MSVS_OS_BITS=64 if CONFIG["HAVE_64BIT_BUILD"] else 32,
bug 1295937 - Improvements to gyp_reader to handle NSS gyp files. r=glandium This patch contains a number of changes to the gyp_reader code: * Add three new flags to GYP_DIRS: ** no_chromium, to skip forcing the includes/etc needed for chromium gyp files ** no_unified, to force building all sources without unification ** action_overrides, to pass scripts used when mapping gyp actions to moz.build GENERATED_FILES * Handle the flags mentioned above in read_from_gyp * Handle actions in gyp targets by mapping them to GENERATED_FILES, using scripts specified in the action_overrides flag. We don't try to handle the generic action case, we require special-casing for each action. * Handle a subset of copies in gyp targets by mapping them to EXPORTS, just enough to handle the use of them for NSS exports. * Handle shared_library and executable gyp targets * Handle gyp target dependencies/libraries as USE_LIBS/OS_LIBS * Handle generated source files * Handle .def files in sources by mapping them to SYMBOLS_FILE * Special-case some include_dirs: ** Map `<(PRODUCT_DIR)/dist/` to $DIST/include (to handle include paths for NSS exports) ** Map include_dirs starting with topobjdir to objdir-relative paths, to handle passing the NSPR include path to NSS * split /build/gyp.mozbuild into two parts, with gyp_base.mozbuild containing generic bits, and gyp.mozbuild containing chromium-specific bits MozReview-Commit-ID: FbDmlqDjRp4 --HG-- extra : rebase_source : d3fb470c589f92d8c956b9ecd550fb8df79ff5bc
2016-11-15 17:37:09 +00:00
)
flavors = {
"WINNT": "win",
"Android": "android",
"Linux": "linux",
"Darwin": "mac" if CONFIG["MOZ_WIDGET_TOOLKIT"] == "cocoa" else "ios",
"SunOS": "solaris",
"GNU/kFreeBSD": "freebsd",
"DragonFly": "dragonfly",
"FreeBSD": "freebsd",
"NetBSD": "netbsd",
"OpenBSD": "openbsd",
bug 1295937 - Improvements to gyp_reader to handle NSS gyp files. r=glandium This patch contains a number of changes to the gyp_reader code: * Add three new flags to GYP_DIRS: ** no_chromium, to skip forcing the includes/etc needed for chromium gyp files ** no_unified, to force building all sources without unification ** action_overrides, to pass scripts used when mapping gyp actions to moz.build GENERATED_FILES * Handle the flags mentioned above in read_from_gyp * Handle actions in gyp targets by mapping them to GENERATED_FILES, using scripts specified in the action_overrides flag. We don't try to handle the generic action case, we require special-casing for each action. * Handle a subset of copies in gyp targets by mapping them to EXPORTS, just enough to handle the use of them for NSS exports. * Handle shared_library and executable gyp targets * Handle gyp target dependencies/libraries as USE_LIBS/OS_LIBS * Handle generated source files * Handle .def files in sources by mapping them to SYMBOLS_FILE * Special-case some include_dirs: ** Map `<(PRODUCT_DIR)/dist/` to $DIST/include (to handle include paths for NSS exports) ** Map include_dirs starting with topobjdir to objdir-relative paths, to handle passing the NSPR include path to NSS * split /build/gyp.mozbuild into two parts, with gyp_base.mozbuild containing generic bits, and gyp.mozbuild containing chromium-specific bits MozReview-Commit-ID: FbDmlqDjRp4 --HG-- extra : rebase_source : d3fb470c589f92d8c956b9ecd550fb8df79ff5bc
2016-11-15 17:37:09 +00:00
}
gyp_vars["OS"] = flavors.get(os)
bug 1295937 - Improvements to gyp_reader to handle NSS gyp files. r=glandium This patch contains a number of changes to the gyp_reader code: * Add three new flags to GYP_DIRS: ** no_chromium, to skip forcing the includes/etc needed for chromium gyp files ** no_unified, to force building all sources without unification ** action_overrides, to pass scripts used when mapping gyp actions to moz.build GENERATED_FILES * Handle the flags mentioned above in read_from_gyp * Handle actions in gyp targets by mapping them to GENERATED_FILES, using scripts specified in the action_overrides flag. We don't try to handle the generic action case, we require special-casing for each action. * Handle a subset of copies in gyp targets by mapping them to EXPORTS, just enough to handle the use of them for NSS exports. * Handle shared_library and executable gyp targets * Handle gyp target dependencies/libraries as USE_LIBS/OS_LIBS * Handle generated source files * Handle .def files in sources by mapping them to SYMBOLS_FILE * Special-case some include_dirs: ** Map `<(PRODUCT_DIR)/dist/` to $DIST/include (to handle include paths for NSS exports) ** Map include_dirs starting with topobjdir to objdir-relative paths, to handle passing the NSPR include path to NSS * split /build/gyp.mozbuild into two parts, with gyp_base.mozbuild containing generic bits, and gyp.mozbuild containing chromium-specific bits MozReview-Commit-ID: FbDmlqDjRp4 --HG-- extra : rebase_source : d3fb470c589f92d8c956b9ecd550fb8df79ff5bc
2016-11-15 17:37:09 +00:00
arches = {
"x86_64": "x64",
"x86": "ia32",
"aarch64": "arm64",
"ppc64": "ppc64le" if CONFIG["TARGET_ENDIANNESS"] == "little" else "ppc64",
bug 1295937 - Improvements to gyp_reader to handle NSS gyp files. r=glandium This patch contains a number of changes to the gyp_reader code: * Add three new flags to GYP_DIRS: ** no_chromium, to skip forcing the includes/etc needed for chromium gyp files ** no_unified, to force building all sources without unification ** action_overrides, to pass scripts used when mapping gyp actions to moz.build GENERATED_FILES * Handle the flags mentioned above in read_from_gyp * Handle actions in gyp targets by mapping them to GENERATED_FILES, using scripts specified in the action_overrides flag. We don't try to handle the generic action case, we require special-casing for each action. * Handle a subset of copies in gyp targets by mapping them to EXPORTS, just enough to handle the use of them for NSS exports. * Handle shared_library and executable gyp targets * Handle gyp target dependencies/libraries as USE_LIBS/OS_LIBS * Handle generated source files * Handle .def files in sources by mapping them to SYMBOLS_FILE * Special-case some include_dirs: ** Map `<(PRODUCT_DIR)/dist/` to $DIST/include (to handle include paths for NSS exports) ** Map include_dirs starting with topobjdir to objdir-relative paths, to handle passing the NSPR include path to NSS * split /build/gyp.mozbuild into two parts, with gyp_base.mozbuild containing generic bits, and gyp.mozbuild containing chromium-specific bits MozReview-Commit-ID: FbDmlqDjRp4 --HG-- extra : rebase_source : d3fb470c589f92d8c956b9ecd550fb8df79ff5bc
2016-11-15 17:37:09 +00:00
}
gyp_vars["host_arch"] = arches.get(CONFIG["HOST_CPU_ARCH"], CONFIG["HOST_CPU_ARCH"])
gyp_vars["target_arch"] = arches.get(CONFIG["TARGET_CPU"], CONFIG["TARGET_CPU"])