Commit Graph

5408 Commits

Author SHA1 Message Date
Razvan Maries
642dd2cc11 Merge mozilla-central to autoland. a=merge on a CLOSED TREE 2019-01-11 17:33:16 +02:00
Mike Hommey
9936784a53 Bug 1515528 - Detect MSVC paths separately for host and target. r=chmanchester
Because MSVC compilers only support one architecture, we need to search
"cl" in different toolchain search paths for each of the host and
target, especially when they are different.

Likewise for the library paths for the linker. Ideally we'd pass
-LIBPATH both for host and target, but that has implications for rust
that I don't want to have to figure just now.

Depends on D15263

Differential Revision: https://phabricator.services.mozilla.com/D15264

--HG--
extra : moz-landing-system : lando
2019-01-11 00:20:31 +00:00
Mike Hommey
28376bb4f9 Bug 1519042 - Remove special case adding -xgot assembly flag on NetBSD. r=ted
None of the values tested against OS_TEST are actually possible per
split_triplet in build/moz.configure/init.configure, so the code is
dead in practice.

Differential Revision: https://phabricator.services.mozilla.com/D16161

--HG--
extra : moz-landing-system : lando
2019-01-10 22:06:02 +00:00
Ehsan Akhgari
e5e885ae31 Bug 1521000 - Part 2: Adjust our clang-format rules to include spaces after the hash for nested preprocessor directives r=sylvestre
# ignore-this-changeset

--HG--
extra : amend_source : 7221c8d15a765df71171099468e7c7faa648f37c
extra : histedit_source : a0cce6015636202bff09e35a13f72e03257a7695
2019-01-18 10:16:18 +01:00
Henri Sivonen
f28bbfc06f Bug 256180 build config part - Increase the max size for the runtime stack on Windows. r=glandium. 2019-01-11 09:44:09 +02:00
André Bargull
609b56f708 Bug 1543642 - Part 2: Update in-tree ICU to release 64.2. r=jwalden
--HG--
extra : amend_source : e10719d9ef0593b38840e044b87ada042d499e01
2019-04-23 07:45:23 -07:00
André Bargull
12266f8fb5 Bug 1517222: Update tzdata in ICU data files to 2018i. r=Waldo 2019-01-04 04:46:00 -08:00
Andreea Pavel
f5a1a0f098 Backed out 5 changesets (bug 256180) for failing win xpcshell at xpcshell.ini:toolkit/mozapps/extensions/test/xpcshell/test_temporary.js on a CLOSED TREE
Backed out changeset e85e41f84971 (bug 256180)
Backed out changeset 125ebcfac58d (bug 256180)
Backed out changeset bc2e0a89d88e (bug 256180)
Backed out changeset b696df615c8b (bug 256180)
Backed out changeset 2d69841d2eb7 (bug 256180)
2019-01-08 20:35:31 +02:00
Henri Sivonen
0ce4f36c7a Bug 256180 build config part - Increase the max size for the runtime stack on Windows. r=glandium. 2019-01-08 18:08:37 +02:00
Nick Alexander
2027f25d2b Bug 1496190 - Pre: Default L10NBASEDIR to correct value in automation. r=Callek
At some point we made L10NBASEDIR required.  That means that

env L10NBASEDIR=... make chrome-AB_CD

takes the value set by configure.  That is different than

make chrome-AB_CD L10NBASEDIR=...

which uses the value passed on the command line.  Rather than making
the latter style work with `mach build`, we instead set the "correct"
value for L10NBASEDIR in automation.

We could remove the --with-l10n-base stanzas from many automation
mozconfigs, but there's some small advantage to keeping them explicit.
Perhaps eventually we will remove them -- hopefully after
standardizing l10n vs l10n-central!

Differential Revision: https://phabricator.services.mozilla.com/D15776

--HG--
extra : moz-landing-system : lando
2019-01-07 19:21:21 +00:00
Dana Keeler
74e6b5cabe bug 1498909 - dynamically load libsecret at runtime if available r=franziskus,jcj
Enough linux-based systems don't have libsecret that we can't make it a
requirement on linux. For those that do, however, we can dynamically load the
library at runtime. For those that don't, we can fall back to NSS.

Differential Revision: https://phabricator.services.mozilla.com/D9969

--HG--
extra : moz-landing-system : lando
2019-01-03 00:39:45 +00:00
Mike Hommey
d3856a0bf1 Bug 1515843 - Stop building host static libraries. r=ted
The build system has skipped creating target static libraries for very
long, except in very specific cases.

We can actually do the same for host static libraries, for which we
don't even need the escape hatch to still allow to create static
libraries.

Depends on D15171

Differential Revision: https://phabricator.services.mozilla.com/D15172

--HG--
extra : moz-landing-system : lando
2018-12-21 23:00:00 +00:00
Mike Hommey
a43e675e76 Bug 1515843 - Use the raw OBJ_SUFFIX for host objects. r=ted
OBJ_SUFFIX is modified during the profile-generation phase to be i_o
instead of o/obj. _OBJ_SUFFIX is the unmodified value.

We don't actually do PGO for host objects, so we don't need to build the
objects with a different suffix.

Differential Revision: https://phabricator.services.mozilla.com/D15171

--HG--
extra : moz-landing-system : lando
2018-12-21 22:59:47 +00:00
Iain Ireland
d3bdbed581 Bug 646763: Remove obsolete |make check-ooms| code r=tcampbell,froydnj
Differential Revision: https://phabricator.services.mozilla.com/D15119

--HG--
extra : moz-landing-system : lando
2018-12-21 15:07:14 +00:00
Nick Alexander
e22899b7cf Bug 1509573 - Part 2: Make |mach build faster| handle Android generated files. r=froydnj
This is just an awkward feature of the FasterMake build system:
without a direct consumer, GENERATED_FILES aren't handled.  We
"consume" them into a dummy directory that isn't packaged.  Sadly, the
FasterMake generic rule doesn't handle relative directories smoothly,
so we have to special case that too.

Differential Revision: https://phabricator.services.mozilla.com/D12796

--HG--
extra : moz-landing-system : lando
2018-12-18 23:00:59 +00:00
ffxbld
9ecff1011c Update configs. IGNORE BROKEN CHANGESETS CLOSED TREE NO BUG a=release ba=release 2018-12-10 07:58:12 -08:00
Sylvestre Ledru
265e672179 Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format
# ignore-this-changeset

--HG--
extra : amend_source : 4d301d3b0b8711c4692392aa76088ba7fd7d1022
2018-11-30 11:46:48 +01:00
Razvan Maries
530163105d Merge mozilla-inbound to mozilla-central a=merge 2018-11-30 05:05:29 +02:00
Razvan Maries
326dd87a7b Backed out 4 changesets (bug 1509573) for unexpected bustages a=backout.
Backed out changeset ace2d2ada8ef (bug 1509573)
Backed out changeset 059741f95cf4 (bug 1509573)
Backed out changeset 36cf7b9ce095 (bug 1509573)
Backed out changeset d7e0661e34c2 (bug 1509573)

--HG--
extra : amend_source : b2bd61c3d8c9db3686bf0d9773f0b53e69174789
2018-11-30 01:40:06 +02:00
Coroiu Cristina
3ba5c153be Merge mozilla-central to autoland a=merge 2018-11-29 06:38:18 +02:00
Nick Alexander
28bf110c5c Bug 1509573 - Part 1: Make |mach build faster| handle Android generated files. r=froydnj
This is just an awkward feature of the FasterMake build system:
without a direct consumer, GENERATED_FILES aren't handled.  We
"consume" them into a dummy directory that isn't packaged.  Sadly, the
FasterMake generic rule doesn't handle relative directories smoothly,
so we have to special case that too.

Differential Revision: https://phabricator.services.mozilla.com/D12796

--HG--
extra : moz-landing-system : lando
2018-11-28 19:46:16 +00:00
Tooru Fujisawa
05a6adee89 Bug 1508063 - Part 5: Move non-auto-generated part of BinASTParser into BinASTParserPerTokenizer. r=Yoric 2018-11-29 01:03:46 +09:00
Tooru Fujisawa
f5534517cb Bug 1508063 - Part 4: Rename BinSource-auto.{cpp,h} to BinASTParser.{cpp,h}, and BinSource.{cpp,h} to BinASTParserPerTokenizer.{cpp,h}. r=Yoric 2018-11-29 01:03:45 +09:00
arthur.iakab
af07f9b9d4 Backed out 13 changesets (bug 1500948, bug 1509362, bug 1509591, bug 1448426, bug 1500949, bug 1487249, bug 1509930, bug 1500950, bug 1500944) for causing crashes and assertion failures on PBackgroundParent.cpp:696 CLOSED TREE
Backed out changeset c3fe435e473a (bug 1509362)
Backed out changeset 6494840edc17 (bug 1509591)
Backed out changeset 123b5d5a3637 (bug 1509591)
Backed out changeset bce195f98895 (bug 1509930)
Backed out changeset 66db13126408 (bug 1500950)
Backed out changeset 3b5fffae2d2b (bug 1500949)
Backed out changeset 71c3b3677db8 (bug 1500948)
Backed out changeset 784b3b56e2ab (bug 1500944)
Backed out changeset 0bad27401ddb (bug 1500944)
Backed out changeset e0f95dd96d54 (bug 1448426)
Backed out changeset c60fa11538db (bug 1487249)
Backed out changeset 0190d4ffa54f (bug 1487249)
Backed out changeset 3cd10aba9130 (bug 1487249)
2018-11-28 02:57:32 +02:00
Nika Layzell
9f648dce32 Bug 1448426 - Wrap windows.h to avoid problematic define statements, r=froydnj,glandium
By default, windows.h exposes a large number of problematic define statements
which are UpperCamelCase, such as a define from `CreateWindow` to
`CreateWindow{A,W}`.

As many of these names are generic (e.g. CreateFile, CreateWindow), they can
mess up Gecko code that may legitimately have its own methods with the same
names.

The header also defines some traditional SCREAMING_SNAKE_CASE defines which
can mess up our code by conflicting with local values.

This patch adds a simple code generator which generates wrappers for these
defines, and uses them to wrap the windows.h wrapper using the `stl_wrappers`
mechanism, allowing us to use windows.h in more places.

Differential Revision: https://phabricator.services.mozilla.com/D10932
2018-11-27 18:09:33 -05:00
Nicolas B. Pierron
ae4fa6387c Bug 1499323 - Prepare the check_macroassembler_style python script to accept clang-format rewritting. r=jandem 2018-11-29 15:53:55 +01:00
Daniel Varga
dc295b2050 Backed out changeset 5c1893bd77c2 (bug 1499323) for linting failure at /builds/worker/checkouts/gecko/config/check_macroassembler_style.py:149:5 on a CLOSED TREE 2018-11-29 16:03:08 +02:00
Nicolas B. Pierron
6570f1fb9f Bug 1499323 - Prepare the check_macroassembler_style python script to accept clang-format rewritting. r=jandem 2018-11-29 14:46:02 +01:00
Nika Layzell
568787b95f Bug 1448426 - Wrap windows.h to avoid problematic define statements, r=froydnj,glandium
By default, windows.h exposes a large number of problematic define statements
which are UpperCamelCase, such as a define from `CreateWindow` to
`CreateWindow{A,W}`.

As many of these names are generic (e.g. CreateFile, CreateWindow), they can
mess up Gecko code that may legitimately have its own methods with the same
names.

The header also defines some traditional SCREAMING_SNAKE_CASE defines which
can mess up our code by conflicting with local values.

This patch adds a simple code generator which generates wrappers for these
defines, and uses them to wrap the windows.h wrapper using the `stl_wrappers`
mechanism, allowing us to use windows.h in more places.

Differential Revision: https://phabricator.services.mozilla.com/D10932
2018-11-28 12:56:20 -05:00
Alex Chronopoulos
e821d283fa Bug 1493400 - Create build files for dav1d. r=firefox-build-system-reviewers,chmanchester
Differential Revision: https://phabricator.services.mozilla.com/D12163

--HG--
extra : moz-landing-system : lando
2018-11-24 01:53:31 +00:00
Thomas Daede
9735214d9a Bug 1501796 - Use nasm when yasm is requested. r=firefox-build-system-reviewers,mshal
Includes changes to support nasm's stricter include paths.

Supports falling back to yasm if nasm is missing.

Differential Revision: https://phabricator.services.mozilla.com/D9972

--HG--
extra : moz-landing-system : lando
2018-11-16 01:20:58 +00:00
Mike Hommey
f61d77aee3 Bug 1507032 - Work around bug in wayland (< 1.12) headers. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D11837

--HG--
extra : moz-landing-system : lando
2018-11-14 22:48:26 +00:00
Philip Chimento
97ccc8c012 Bug 1506380 - Rename opcode.py to avoid conflict with builtin Python module. r=arai
Differential Revision: https://phabricator.services.mozilla.com/D11568

--HG--
rename : js/src/vm/opcode.py => js/src/vm/jsopcode.py
extra : moz-landing-system : lando
2018-11-12 03:55:30 +00:00
Chris Manchester
3f10fd4a47 Bug 1505859 - Allow rusttests to run when requested without --enable-rust-tests. r=firefox-build-system-reviewers,ted
Differential Revision: https://phabricator.services.mozilla.com/D11514

--HG--
extra : moz-landing-system : lando
2018-11-10 14:59:39 +00:00
Marco Castelluccio
96d2d394e1 Bug 1495683 - Apply code coverage Rust workaround only when building with GCC. r=froydnj
--HG--
extra : rebase_source : 533001f885d81ebfc33450ea584b8173685e5dce
2018-11-02 10:26:06 +01:00
André Bargull
f985d9152e Bug 1502530 - Part 2: Update tzdata in ICU data files to 2018g. r=Waldo 2018-11-06 02:52:01 -08:00
Jan de Mooij
e93b6f11c1 Bug 1504134 - Add a missing |return False| in check_js_opcode.py so we use the right exit code. r=arai
Differential Revision: https://phabricator.services.mozilla.com/D10685

--HG--
extra : moz-landing-system : lando
2018-11-02 08:26:39 +00:00
André Bargull
148e9c75e6 Bug 1499026 - Part 2: Update in-tree ICU to release 63.1. rs=Waldo
--HG--
rename : intl/icu/source/common/ulistformatter.cpp => intl/icu/source/i18n/ulistformatter.cpp
2018-11-01 06:32:25 -07:00
Andrew Osmond
d87a27c07f Bug 1294490 - Part 5. Add --with-system-webp switch to build. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D8118
2018-10-31 15:01:08 -04:00
Andrew Osmond
26e5749b27 Bug 1294490 - Part 2. Add build files to support libwebp decoding. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D8115
2018-10-31 15:01:08 -04:00
Nathan Froyd
9d90fe9902 Bug 1480550 - add ctypes support for aarch64 windows; r=dmajor
The bulk of this patch is the new win64.asm, which is a more-or-less
direct copy of aarch64's sysv.S file, with modifications for armasm64's
peculiarities.  The changes to ffi.c were minimal, mostly so that
arithmetic on `void*` conforms to the C standard.
2018-10-26 13:00:41 -04:00
Brindusan Cristian
c54d20162e Backed out 7 changesets (bug 1294490) for android build bustages. CLOSED TREE
Backed out changeset 1a1d5b5a6a1a (bug 1294490)
Backed out changeset fecbc475cf54 (bug 1294490)
Backed out changeset 7b9bc181d099 (bug 1294490)
Backed out changeset 2a06794651b2 (bug 1294490)
Backed out changeset d35b5fadd6ca (bug 1294490)
Backed out changeset 96fc5a421819 (bug 1294490)
Backed out changeset e74320599eba (bug 1294490)
2018-10-26 19:18:44 +03:00
Andrew Osmond
9b16fefe56 Bug 1294490 - Part 5. Add --with-system-webp switch to build. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D8118
2018-10-26 10:52:39 -04:00
Andrew Osmond
210c5b0b10 Bug 1294490 - Part 2. Add build files to support libwebp decoding. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D8115
2018-10-26 10:52:39 -04:00
ffxbld
2bf422025a Update configs. IGNORE BROKEN CHANGESETS CLOSED TREE NO BUG a=release ba=release 2018-10-22 08:50:03 -07:00
Masatoshi Kimura
f38cdcfbf1 Bug 1496179 - Make mozglue.dll a private SxS assembly. r=aklotz,froydnj
SxS assemblies do not obey the usual DLL search order. It will make it possible
to load mozglue.dll from appdir even if the PreferSystem32Images mitigation is
enabled and System32 has a random mozglue.dll.
2018-10-10 22:57:53 +09:00
Tom Ritter
15dd23bc5d Bug 1475562 Produce pdbs for the mingw-clang build job r=ted
This patch also changes how pdbs for the ASAN job are copied:
we relax restrictions so that pdbs if present) are always copied out
and add an environment variable MOZ_COPY_PDBS to indicate when we
want to produce pdbs for copying.
2018-10-17 09:38:52 -05:00
Mike Hommey
de511e5cee Bug 1414287 - Use a 64-bits clang-cl for 32-bits static analysis builds r=dmajor
This also requires the 64-bits rust compiler and some build system
tweaks.

And since we make the 32-bits builds cross-compiles on CI, we also need
to adjust the MSVC build mozconfigs such that the host compiler points
to the right MSVC cl. Likewise, the DIA SDK is used for host things, so
use the 64-bits version or it.

Differential Revision: https://phabricator.services.mozilla.com/D7845

--HG--
extra : moz-landing-system : lando
2018-10-10 17:53:06 +00:00
Noemi Erli
8e3fe95bfb Backed out 3 changesets (bug 1414287) for causing bug 1497029 a=backout
Backed out changeset b8da3d4e6da0 (bug 1414287)
Backed out changeset 273e84414434 (bug 1414287)
Backed out changeset 76fafdaa9216 (bug 1414287)
2018-10-09 05:07:54 +03:00
Mike Hommey
10ee195be0 Bug 1414287 - Use a 64-bits clang-cl for 32-bits static analysis builds r=dmajor
This also requires the 64-bits rust compiler and some build system
tweaks.

Differential Revision: https://phabricator.services.mozilla.com/D7845
2018-10-06 19:57:11 +09:00
Ciure Andrei
a48af06d13 Backed out 3 changesets (bug 1414287) for build bustages module machine type 'x64' conflicts with target machine type 'x86 CLOSED TREE
Backed out changeset 5cc491e4d9cb (bug 1414287)
Backed out changeset 98bb6d9eb63c (bug 1414287)
Backed out changeset 73dcff37f846 (bug 1414287)
2018-10-06 03:02:41 +03:00
Mike Hommey
ac4f925b8b Bug 1414287 - Use a 64-bits clang-cl for 32-bits static analysis builds r=dmajor
This also requires the 64-bits rust compiler and some build system
tweaks.

Differential Revision: https://phabricator.services.mozilla.com/D7845

--HG--
extra : moz-landing-system : lando
2018-10-05 22:56:34 +00:00
Mike Hommey
dc8e21e573 Bug 1496296 - Stop broadly setting RUSTC_BOOTSTRAP r=froydnj
Depends on D7679

Differential Revision: https://phabricator.services.mozilla.com/D7680

--HG--
extra : moz-landing-system : lando
2018-10-04 13:51:21 +00:00
Nathan Froyd
e2773ad4fd Bug 1397263 - move ASOUTOPTION to moz.configure; r=mshal 2018-10-03 20:29:29 -04:00
Nick Alexander
ceef29e5a6 Bug 1443332 - Fold APK signing from android-common.mk into upload-files-APK.mk. r=firefox-build-system-reviewers,mshal
This merely centralizes logic that was formerly used at multiple sites
into the single remaining use site.

None of the JAVA* flags have been used for a long time.

Differential Revision: https://phabricator.services.mozilla.com/D7313

--HG--
extra : moz-landing-system : lando
2018-10-03 18:05:27 +00:00
Benjamin Bouvier
5523ac828b Bug 1490948: Adjustments for the source package; r=chmanchester
- Embed vendored Rust dependencies into the source package.
- Don't use --freeze with Cargo in JS standalone builds: since all the Rust
  dependencies are vendored in, it won't trigger an update of the toplevel
  Cargo.lock file for a standalone build in the non-package build case.

--HG--
extra : rebase_source : 06704eb326aad36a870586694a99964ad7a4dbfa
extra : histedit_source : 1502d976bc12a3eed17efaaf5dd2d4f46d0b00d5
2018-09-13 12:05:50 +02:00
Mike Shal
129739246b Bug 1494038 - Prefix REPORT_BUILD with relativesrcdir; r=firefox-build-system-reviewers,nalexander
This makes it more apparent which directory is responsible for creating
a particular generated file, program, library, etc. It is particularly
helpful in bug 1485081 since all node.py invocations will have similarly
named make targets, but run in different directories.

MozReview-Commit-ID: HlSOiL34i3M

Differential Revision: https://phabricator.services.mozilla.com/D6822

--HG--
extra : moz-landing-system : lando
2018-09-25 19:05:02 +00:00
Thomas P.
fde56b2dde Bug 1483780: enable sanitizer-less libfuzzer builds r=froydnj 2018-09-20 21:21:38 +00:00
Andreea Pavel
a6ba34f2ad Backed out 2 changesets (bug 1483780) for build bustages on a CLOSED TREE
Backed out changeset 2b0a42c589c5 (bug 1483780)
Backed out changeset 48d133cbafd3 (bug 1483780)
2018-09-21 05:43:03 +03:00
Thomas P.
c047fdb3fb Bug 1483780: enable sanitizer-less libfuzzer builds r=froydnj
--HG--
extra : histedit_source : b7caa42560c3d8e7ba1dbf61fcacfe0698790801
2018-09-20 21:21:38 +00:00
Thomas P.
dae33d978b Bug 1483780: enable sanitizer-less libfuzzer builds r=froydnj superreview=decoder
--HG--
extra : histedit_source : 6fd1a37c3fb5d8997be11f7846b2976fc7b8a647
2018-09-11 03:49:37 +00:00
Ted Campbell
388abb1424 Bug 1138579 - Support multiple Files patterns in moz.build r=gps
Add support for |with Files('a/**', 'b/**')| in mozbuild config files.

MozReview-Commit-ID: IoM4qfEhXXc

Differential Revision: https://phabricator.services.mozilla.com/D5315

--HG--
extra : moz-landing-system : lando
2018-09-20 01:58:21 +00:00
arthur.iakab
e38cbc2831 Merge mozilla-central to autoland 2018-09-19 05:20:02 +03:00
Adam Gashlin
fc13e0055e Bug 1492268: Allow a Rust library to link to a program r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D6200

--HG--
extra : moz-landing-system : lando
2018-09-18 22:23:41 +00:00
Ted Mielczarek
115b2651d5 Bug 1490463 - part 3 - remove BUILD_TOOLS from config.mk; r=mshal
BUILD_TOOLS was only ever used for things that another variable provides
equally well.  Removing BUILD_TOOLS means that we can remove win_srcdir
and WIN_TOP_SRC as well.
2018-09-18 16:02:22 -04:00
Ted Mielczarek
90962198d5 Bug 1490463 - part 2 - use srcdir_rel for passing manifest paths to mt.exe; r=mshal
mt.exe doesn't like absolute paths, so we use srcdir-relative paths
where necessary for file arguments.
2018-09-18 16:02:22 -04:00
Ted Mielczarek
de99592416 Bug 1399870 - make DEFFILE a Path instead of a string; r=gps
All but one of the current uses of DEFFILE use `SRCDIR + '/file.def'` to
get a srcdir-relative path anyway, and the other one wants an
objdir-relative path, so using Path makes everything clearer.

This makes it more straightforward to translate the paths for the WSL
build.
2018-09-18 15:50:19 -04:00
Thomas P.
ac7fc2f5a6 Bug 1474488: add --enable-undefined-sanitizer with custom checks r=froydnj 2018-09-11 02:47:23 +00:00
Masatoshi Kimura
0fecbaf0bc Bug 1485224 - Workaround a linker bug of MSVC 2017 Update 8. r=glandium
MSVC 15.8 linker dislikes forward slashes in the /OUT: parameter when it is generating a profile

--HG--
extra : rebase_source : 6980e212ea5a7ae21513805c22ec0e8ddeaa5dc1
2018-08-28 23:41:39 +09:00
Ted Mielczarek
201bd292e7 Bug 1384557 - move _DEPEND_CFLAGS+CL_INCLUDES_PREFIX to toolchain.configure, ignore {CC,CXX}_WRAPPER when using sccache; r=glandium
Currently mozconfig.cache overrides a few build options for sccache.
This patch moves them into toolchain.configure so that the build system
will set them properly when sccache is in use.  Additionally,
{CC,CXX}_WRAPPER are set in config.mk, so just avoid setting them when
sccache is in use.
2018-09-14 12:12:34 -04:00
Tom Ritter
12b03f549e Bug 1490567 Update ffi build to handle x86 MinGW-clang builds r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D5643

--HG--
extra : moz-landing-system : lando
2018-09-14 02:08:17 +00:00
Kartikaya Gupta
22d325deab Bug 1440879 - Ensure all the stl_wrappers end up in the generated-files tarball. r=froydnj 2018-09-07 09:34:40 -04:00
Bogdan Tara
f302cbb0b3 Merge inbound to mozilla-central. a=merge 2018-09-05 02:24:27 +03:00
Nathan Froyd
cc7ab9c447 Bug 1487122 - fix icudata assembly for aarch64 windows; r=ted.mielczarek
Apparently the assembler was willing to accept the previous version, but
was unwilling to find the necessary symbols to link some JS code.  This
version correctly quotes the data symbol and adds a little extra quoting
based on examining compiler-generated output.
2018-09-04 16:41:08 -04:00
ffxbld
ebe4d2e4d6 Update configs. IGNORE BROKEN CHANGESETS CLOSED TREE NO BUG a=release ba=release 2018-09-04 11:15:27 -07:00
Narcis Beleuzu
b0827c4040 Backed out 2 changesets (bug 1440879) for build bustages on mozbuild\test\backend. CLOSED TREE
Backed out changeset 93892cfed015 (bug 1440879)
Backed out changeset 71d569322700 (bug 1440879)
2018-09-04 18:38:19 +03:00
Kartikaya Gupta
1a1ca59f9a Bug 1440879 - Ensure all the stl_wrappers end up in the generated-files tarball. r=froydnj 2018-09-04 10:40:45 -04:00
Gurzau Raul
09fe34b331 Merge inbound to mozilla-central. a=merge 2018-08-31 00:49:36 +03:00
Myk Melez
7978cd2fe4 Bug 1482810 - set COMPILE_FLAGS var to hide warnings for Rust crates r=chmanchester
In conjunction with the cc crate changes in https://github.com/alexcrichton/cc-rs/pull/342 (which I'll land in https://phabricator.services.mozilla.com/D4699), this hides warnings generated by C code in Rust crates (by removing warnings flags from CFLAGS when compiling Rust libraries).

MozReview-Commit-ID: 9CZgLGbWjbA

Differential Revision: https://phabricator.services.mozilla.com/D3939

--HG--
extra : moz-landing-system : lando
2018-08-30 17:29:54 +00:00
Ciure Andrei
d716a04e20 Merge inbound to mozilla-central. a=merge 2018-08-29 00:58:21 +03:00
Robert Helmer
10b80b68fe bug 1485946 - skip building libprio on MSVC r=froydnj
libprio does not currently build with MSVC (since it only supports
C90 as a compiler), this is being worked on upstream at https://github.com/mozilla/libprio/issues/17

As we are almost certainly not going to ship Firefox build with MSVC anymore,
let's disable this to get it working on this Tier-2 platform.

Differential Revision: https://phabricator.services.mozilla.com/D4292

--HG--
extra : moz-landing-system : lando
2018-08-27 20:07:51 +00:00
Narcis Beleuzu
eec002c6df Backed out changeset df602a252b66 (bug 1485946) for Linting failure. CLOSED TREE 2018-08-27 21:41:38 +03:00
Robert Helmer
70e2c73f5a bug 1485946 - skip building libprio on MSVC r=froydnj
libprio does not currently build with MSVC (since it only supports
C90 as a compiler), this is being worked on upstream at https://github.com/mozilla/libprio/issues/17

As we are almost certainly not going to ship Firefox build with MSVC anymore,
let's disable this to get it working on this Tier-2 platform.

Differential Revision: https://phabricator.services.mozilla.com/D4292

--HG--
extra : moz-landing-system : lando
2018-08-27 15:39:46 +00:00
Nathan Froyd
c551aa18b8 Bug 1486020 - eliminate warning spam about ICU RTTI with MSVC; r=chmanchester 2018-08-28 09:22:39 -04:00
Robert Helmer
5e9fa7fdb4 Bug 1421501 - build integration for vendored msgpack r=glandium
MozReview-Commit-ID: 4AKDbOU4aWx

--HG--
extra : rebase_source : 3c35f85a5cf25ba60e33fd64fbb265b490df4a33
2018-08-06 15:10:36 -07:00
Robert Helmer
c5e6829a8f Bug 1421501 - build system integration for libprio r=gps
MozReview-Commit-ID: FYHgLmEhr03

--HG--
extra : rebase_source : 4ba057098402c58a40cfa5f4ac804af6762b576a
2018-06-07 19:14:53 -07:00
Cosmin Sabou
0bd06ad763 Backed out 7 changesets (bug 1421501) for causing build bustages. CLOSED TREE
Backed out changeset 492f05d220b1 (bug 1421501)
Backed out changeset 844232d77d0d (bug 1421501)
Backed out changeset 3affc66728b0 (bug 1421501)
Backed out changeset 4d7c3c02ce8d (bug 1421501)
Backed out changeset e27d93ac79a0 (bug 1421501)
Backed out changeset a6c9888b5179 (bug 1421501)
Backed out changeset f7f9e47f0608 (bug 1421501)
2018-08-23 22:46:07 +03:00
Robert Helmer
1b7f123cfb Bug 1421501 - disable PrioEncoder on Android until libprio supports it r=froydnj
This is tracked upstream at https://github.com/mozilla/libprio/issues/15

MozReview-Commit-ID: L5VWKdEitfB

--HG--
extra : rebase_source : c19472a8658c01a2edc69904e36a2c5409af1396
2018-08-23 07:59:44 -07:00
Robert Helmer
bdf3c50c91 Bug 1421501 - build integration for vendored msgpack r=glandium
MozReview-Commit-ID: 4AKDbOU4aWx

--HG--
extra : rebase_source : 1900cbd80558397d9552e13b6405b489dd1e3111
2018-08-06 15:10:36 -07:00
Robert Helmer
3d34b66def Bug 1421501 - build system integration for libprio r=gps
MozReview-Commit-ID: FYHgLmEhr03

--HG--
extra : rebase_source : 96bcf9cca0dff054611c09ad3283c369f502fffe
2018-06-07 19:14:53 -07:00
Gurzau Raul
ac1914ecba Backed out 6 changesets (bug 1421501) for bustages on security/nss/lib/freebl/mpi/mp_comba.c on a CLOSED TREE
Backed out changeset cae4910806c7 (bug 1421501)
Backed out changeset 600a005d3613 (bug 1421501)
Backed out changeset 7381597721d2 (bug 1421501)
Backed out changeset 1ee0d35a041f (bug 1421501)
Backed out changeset 772dea1abb7f (bug 1421501)
Backed out changeset c119767aec7b (bug 1421501)
2018-08-23 17:13:42 +03:00
Robert Helmer
d0af2bd6c6 Bug 1421501 - build integration for vendored msgpack r=glandium
MozReview-Commit-ID: 4AKDbOU4aWx

--HG--
extra : rebase_source : f3aabdd38d6051bfef924ff34585940fff155157
2018-08-06 15:10:36 -07:00
Robert Helmer
20c3f148db Bug 1421501 - build system integration for libprio r=gps
MozReview-Commit-ID: FYHgLmEhr03

--HG--
extra : rebase_source : def9cb0e882c42035758e589c23cfe405ea3404a
2018-06-07 19:14:53 -07:00
Tom Ritter
777ed8fb73 Bug 1483760 Additionally, pass environment variables to cargo if we are not compiling on Windows r=ted
Previously we weren't passing the variables if we were compiling for Windows
when really we only want to do it if we're compiling with MSVC/clang-cl.

The MinGW-Clang build needs this.

Differential Revision: https://phabricator.services.mozilla.com/D3470

--HG--
extra : moz-landing-system : lando
2018-08-22 11:11:11 +00:00
Jan Beich
e459b11dc1 Bug 1484535 - Allow C++ files to check MOZ_SYSTEM_ICU. r=froydnj 2018-08-21 16:02:00 +03:00
Mike Hommey
ba761cd383 Bug 1483778 - Skip LTO during the profile-generate phase of PGO. r=froydnj
When both LTO and PGO are enabled, there is no point LTO'ing during the
first phase of PGO.
2018-08-22 07:05:40 +09:00
Marco Castelluccio
38495beeb7 Bug 1478969 - Don't apply RUSTFLAGS defined in mozconfig when building host Rust libraries and programs. r=froydnj
--HG--
extra : rebase_source : ba34d715409f6975c69d9259315cb5735d5e9ce6
extra : intermediate-source : 93e52a1e5d88d169fca83b1f8e9f0eb78d809cc9
extra : source : fe49224aa15b580499b4b52731622de628ec5c0e
2018-07-27 01:26:20 +01:00
Andreea Pavel
cfb3691ea0 Backed out changeset 93e52a1e5d88 (bug 1478969) for linux tier2 rust build bustages on a CLOSED TREE 2018-08-21 22:09:33 +03:00
Marco Castelluccio
d2512b7192 Bug 1478969 - Don't apply RUSTFLAGS defined in mozconfig when building host Rust libraries and programs. r=froydnj
--HG--
extra : rebase_source : 55fe4f4abf5a62b0c5dc78a380136fc085ab27c2
extra : source : fe49224aa15b580499b4b52731622de628ec5c0e
2018-07-27 01:26:20 +01:00
Nathan Froyd
684e72b2ab Bug 1486905 - add a HOST_LINKER variable for cross windows builds; r=dmajor
This setup seems to work well enough to enable me to link
HOST_SIMPLE_PROGRAMS with an AArch64-cross setup.  Necessary library
paths are passed to the linker via -LIBPATH and HOST_LDFLAGS rather than
letting MSVC fish them out of the environment.  The change to
HOST_SIMPLE_PROGRAMS to pass HOST_LDFLAGS was necessary for this to
work, in addition to the HOST_LINKER changes.
2018-08-30 10:28:15 -04:00
Nathan Froyd
93ba371b66 Bug 1480558 - part 4 - add icudata support for aarch64 windows; r=mshal
yasm doesn't support aarch64, and trying to use GNU as with an MSVC
build seems like sadness waiting to happen.  Instead, we'll generate our
own assembly file that armasm64 will accept.
2018-08-21 11:00:34 -04:00
Mike Hommey
d1714fc61d Bug 1484872 - Move LTO flags to python configure. r=froydnj 2018-08-21 08:40:26 +09:00
Nathan Froyd
562477257c Bug 1481504 - fix HOST_OUTOPTION setting for Windows cross-compiles; r=mshal
For "real" Windows-to-Windows cross compiles, the setting of
HOST_OUTOPTION is incorrect: it assumes that if we are cross-compiling,
we'll be using `-o ` (GNU-style) rather than `-Fo` (MSVC-style).  Our
normal x86 Windows automation builds are technically not
cross-compiles (host and target are both x86 Windows), so this case has
never bothered us before.  But when compiling for AArch64 Windows, we
are really doing a cross-compile, and so we need to be more careful
about how we set this option; otherwise, host compilations will
mysteriously fail because they won't produce any output.
2018-08-20 17:22:44 -04:00
Akshay Chiwhane
5d96779c1c Bug 1465046 - Remove ProcessHandler.waitForFinish(). r=whimboo
--HG--
extra : rebase_source : 9df8444de596c5868efd18c62054f321513b99d6
2018-08-20 21:28:21 +02:00
Kartikaya Gupta
f23e0ead9e Bug 1484503 - Ensure spidermonkey style check output is deterministic. r=jandem 2018-08-20 06:44:07 -04:00
André Bargull
69a6c8ce90 Bug 1346211 - Part 6: Use ICU for all time zone computations when available. r=Waldo
--HG--
extra : rebase_source : 7b7216fadc6cf2dd048c85b7c935b2c2a6b3b1c7
2018-08-17 03:04:39 -07:00
André Bargull
026003522e Bug 1346211 - Part 5: Only remove 'exemplar city' names from ICU time zone names data files. r=Waldo
--HG--
extra : rebase_source : b8d72bac193198875fd8df965849e35c7b04e699
2018-07-24 03:07:14 -07:00
Tom Ritter
4070649de2 Bug 1481638 Do not pass CFI sanitization flags to MOZ_CARGO_WRAP_LDFLAGS r=ted
MozReview-Commit-ID: C85uJBNugiY

Differential Revision: https://phabricator.services.mozilla.com/D3044

--HG--
extra : moz-landing-system : lando
2018-08-13 15:45:12 +00:00
Chris Manchester
c346a68ae0 Bug 1474028 - Add a way to exclude libraries from the default build. r=ted
MozReview-Commit-ID: MVfplx9lN2

--HG--
extra : rebase_source : 10b4bd3dcc1386d782531206c84b66207297d00a
2018-08-10 12:07:29 -07:00
Narcis Beleuzu
f4e5fb2d0f Backed out 2 changesets (bug 1474028) per chmanchester`s request. a=backout
Backed out changeset 52bd814d3589 (bug 1474028)
Backed out changeset 39a528147c34 (bug 1474028)
2018-08-12 21:22:45 +03:00
Chris Manchester
2476269229 Bug 1474028 - Add a way to exclude libraries from the default build. r=ted
MozReview-Commit-ID: MVfplx9lN2

--HG--
extra : rebase_source : 3eb5352b5bc0d1b9be857c16efa5af0313afb6e7
2018-08-10 12:07:29 -07:00
Aaron Klotz
06d15feb59 Bug 1481956: Allow SIMPLE_PROGRAMS to embed manifest from source directory; r=froydnj
--HG--
extra : amend_source : ecd475bd4abfe5318f715c140c7ced0d8b56229a
2018-08-08 16:16:35 -06:00
Nathan Froyd
12450ae975 Bug 1480590 - add support for aarch64 when setting up NSPR on Windows; r=chmanchester 2018-08-07 18:40:25 -04:00
Noemi Erli
048f87627e Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-08-02 12:03:09 +03:00
Noemi Erli
8f66a71e70 Merge inbound to mozilla-central. a=merge 2018-08-02 11:54:46 +03:00
Nika Layzell
082166e008 Bug 1479484 - Part 4: Move xptcodegen over to new perfecthash.py, r=froydnj
Summary:
This patch ports xptcodegen.py over to the new perfecthash.py system, removing
some special-case code generators, and taking advantage of the easier-to-use
interface.

In addition, the code was changed to take advantage of the endianness
information from Part 2, allowing us to avoid having to perform endianness swaps
at runtime when hashing nsIDs.

Depends On D2616

Reviewers: froydnj!

Tags: #secure-revision

Bug #: 1479484

Differential Revision: https://phabricator.services.mozilla.com/D2618
2018-08-01 17:54:42 -04:00
Chris Manchester
f464819a70 Bug 1478499 - Do not list pixman.h twice in system-headers.h r=froydnj
The file is added both unconditionally and conditionally to no effect.

MozReview-Commit-ID: 4t57o0bTF9P

--HG--
extra : rebase_source : c5f7bbb20e094cd4f7a9fcd1e143da90069b73b6
2018-07-31 16:19:59 -07:00
Andreea Pavel
67ce5df76f Backed out 6 changesets (bug 1478499) for failing spidermonkey pkg
Backed out changeset 9dee6a08a2dd (bug 1478499)
Backed out changeset 3982c14a834e (bug 1478499)
Backed out changeset 6f6e562e2013 (bug 1478499)
Backed out changeset 03f68a47b89e (bug 1478499)
Backed out changeset 237dc169f486 (bug 1478499)
Backed out changeset 3f72358d338a (bug 1478499)
2018-08-01 22:22:41 +03:00
Chris Manchester
533c7f8511 Bug 1478499 - Do not list pixman.h twice in system-headers.h r=froydnj
The file is added both unconditionally and conditionally to no effect.

MozReview-Commit-ID: JBZKN2qRf73

--HG--
extra : rebase_source : 74b601ae1d64f8ed7a47b02f79cbef66ac606abc
2018-07-31 15:15:57 -07:00
Karl Tomlinson
defeece367 bug 1476231 remove now-unused libav from lgpllibs r=jya
MozReview-Commit-ID: AjFS01DBXqT

--HG--
extra : rebase_source : 09923977cb864066fc56502427104234bab90f7d
2018-07-16 17:35:34 +12:00
Ted Mielczarek
4def48d158 bug 1409276 - pass C/C++ compilers and flags to cargo for use in build scripts. r=chmanchester
MozReview-Commit-ID: 3uEwzYJUQDA

--HG--
extra : rebase_source : 8c291fcff6dfdbf8c17c886057570fb87f824bed
2018-07-05 07:22:02 -04:00
Franziskus Kiefer
3d0b306faa Bug 1464828 - DAR API with libsecret and NSS back-end, r=keeler,m_and_m,froydnj
This implements an API in `nsIOSKeyStore.idl` and `OSKeyStore.cpp` to encrypt and decrypt bytes with a key that is stored in the OS key store.
There are two OS adapters in this patch.
Libsecret is used on Linux if available.
The NSS key store is used as fallback if no OS specific key store is implemented.

Differential Revision: https://phabricator.services.mozilla.com/D1858

--HG--
extra : rebase_source : 99d7d646968a46a13ffa61885bb246f6d3e443e4
2018-07-26 16:05:35 +02:00
David Major
e44fc57f36 Bug 1478014 - Silence -Wgnu-include-next in msvc-stl-wrapper.template.h. r=froydnj 2018-07-25 08:07:56 -04:00
Nathan Froyd
309ddc0be2 Bug 1477048 - part 2 - remove non-ipc/chromium moz.build uses of OS_TEST; r=gps
The deletions in xptcall are when we don't even have support for the CPU
in moz.configure, so I assume that people haven't been compiling on
those architectures for quite some time.
2018-07-24 16:08:56 -04:00
Mike Hommey
0f5d8527e2 Bug 1476874 - Only link object once in static libraries. r=froydnj
--HG--
extra : rebase_source : d4654d226b4bebf75b65eccff254d26a6880082c
2018-07-19 16:30:19 +09:00
Mike Hommey
40d73395b9 Bug 1476174 - Fix-up the change from bug 1474024 to avoid creating lto object files in installed locations. r=ted
--HG--
extra : rebase_source : 3ec10cc8801b2b6890496d77fdbcc429e31afca5
2018-07-17 11:29:49 +09:00
Dave Hunt
3836504fdd Bug 1475999 - Use the classic output style with pytest; r=ted
MozReview-Commit-ID: FvZjDhPl3RX

--HG--
extra : rebase_source : 469b1e8159c5daa5cbb463d5f8d2648e42c0a4c2
2018-07-17 12:01:38 +01:00
Mike Hommey
826bfa5d74 Bug 1474024 - Avoid LTO breaking debug info on macOS builds. r=froydnj
--HG--
extra : rebase_source : 75b5f251373bf410a5fb6fdeba71b9bc293279c0
2018-07-10 07:09:24 +09:00
Martin Stransky
cd921ebea3 Bug 1470047 - Implement InitBySystemSettingsWayland() and get key modifiers on Wayland, r=ashie
Use wl_keyboard_listener and keymap event to get key mapping on Wayland. Weston simple-im.c example
is used as a reference implementation and actual key modifiers are derived from Wayland/GDK code from
gdkkeys-wayland.c.

MozReview-Commit-ID: 9fMwCvxkYy0

--HG--
extra : rebase_source : 21212cadfa7b1e8bacec2d6fb6970d2aaba7b3f6
2018-07-10 18:28:32 +02:00
Jacek Caban
52efb2adb3 Bug 1443471 - Take clang mingw into account in moz.build files r=glandium
MozReview-Commit-ID: 2vKiHjmI9Hn

--HG--
extra : rebase_source : 0a527700795ab624926ca4d6de9ec33ab59f31a6
2018-06-25 20:01:39 +02:00
André Bargull
5f0b43c2d6 Bug 1466471 - Part 2: Update in-tree ICU to release 62.1. rs=Waldo 2018-06-22 04:40:26 -07:00
Nathan Froyd
0daa8edfcc Bug 1444171 - Add pgo-generate-only source functionality; r=glandium
For clang-cl, we want to add code to libxul that only exists during the
PGO generation phase, so we can collect data.  The most expedient way to
do that is to enable certain files in SOURCES to be marked as to only be
compiled during the PGO generation step.
2018-07-09 18:35:49 -04:00
Nathan Froyd
9277d23dba Bug 1444171: Generate profiling instrumentation for clang-cl in PGO builds; r=glandium 2018-07-09 18:26:24 -04:00
Nathan Froyd
9bf1ff2b31 Bug 1444171: Make clang-cl work with OBJS_VAR_SUFFIX as well; r=gps 2018-07-09 18:25:37 -04:00
Mike Hommey
b2837054ff Bug 1469091 - Build the clang plugin as a host shared library. r=ted
This adds just enough host shared library support for this one use case,
but also takes shortcuts, because fully supporting host shared library
is a deep rabbit hole I'm not ready to take just to fix --enable-lto
--enable-clang-plugin on mac builds.

One downside is that one my machine the plugin now takes > 80s to build,
instead of 15s before, thanks to the lack of unified sources.

--HG--
extra : rebase_source : bf52a72a01d4e3eb77cf52b646b19734b9273075
2018-07-05 14:58:09 +09:00
Bogdan Tara
f06fbe92ac Merge inbound to mozilla-central. a=merge 2018-07-07 01:00:41 +03:00
David Major
3438ab8312 Bug 1473954: Use $(ASOUTOPTION) rather than hardcode -o for SOBJS. r=ted 2018-07-06 13:56:50 -04:00
Dave Hunt
ea2e10e990 Bug 1472199 - Set the root directory for Python unit tests to topsrcdir; r=ahal
MozReview-Commit-ID: 4k4CTwzAbli

--HG--
extra : rebase_source : 23075814f6a71d39b451e534f5efba7539d66c1f
2018-07-02 11:22:37 +01:00
Ted Mielczarek
41895658f3 bug 1473121 - Pass -vv to cargo build instead of just --verbose when verbose output is requested. r=gps
Many Rust build scripts compile C/C++ source files with the cc crate, but
cargo doesn't print the output of build scripts unless you pass `-vv`, so
pass that instead of just `--verbose` to get that output in automation and
builds where verbose output was requested.

MozReview-Commit-ID: EUazlKWFsDw

--HG--
extra : rebase_source : 137882c4e970bb0e7b28cc36d7f8e436b59a8011
2018-07-03 14:17:31 -04:00
Andreea Pavel
2ebf16b514 Backed out changeset 530f89f70093 (bug 1472199) for build bustages on a CLOSED TREE 2018-07-05 11:55:11 +03:00
Dave Hunt
4d72fb0ad1 Bug 1472199 - Set the root directory for Python unit tests to topsrcdir; r=ahal
MozReview-Commit-ID: 4k4CTwzAbli

--HG--
extra : rebase_source : 688f4af6029254f986e406383c1bcd5cc6217172
2018-07-02 11:22:37 +01:00
Henri Sivonen
5885cf2259 Bug 1397807 - Allow rustc to emit NEON instructions when clang does on ARMv7 and use NEON in encoding_rs. r=glandium
MozReview-Commit-ID: LNd4jeIGIRg

--HG--
extra : rebase_source : e175f51ec3e8c1097d914d97c6b0d2644dbc4c18
2018-06-05 14:56:11 +03:00
Kris Maglione
b2a784a8bf Bug 1459004: Generate built_in_addons.json from moz.build definitions. r=mshal
MozReview-Commit-ID: 1HRLG5tSlFr

--HG--
rename : python/mozbuild/mozbuild/action/generate_builtin_addons.py => toolkit/mozapps/extensions/gen_built_in_addons.py
extra : rebase_source : 7079d5f6a9355201497ea85a0d8ea8fdcee43a64
2018-06-06 16:43:00 -07:00
Andrew Halberstadt
9435736ade Bug 1471620 - Skip python-tests locally that don't run with python 3 in CI r=davehunt
This will make sure that when running |mach python-test --python 3| locally,
we only run the tests that also run in CI with python 3 (and therefore pass
presumably).

MozReview-Commit-ID: 3OBr9yLSlSq

--HG--
extra : rebase_source : 456340d0ecdddf1078f2b5b4ebb1eddf3813b26a
2018-06-27 11:10:02 -04:00
Xidorn Quan
9d13707bca Bug 1471486 part 1 - Detect rustfmt like other rust executables. r=froydnj
MozReview-Commit-ID: 8LMdpdqbrFS

--HG--
extra : rebase_source : e23b7e467993963eb1a69637dacdabb7cbff3e90
2018-06-27 15:27:43 +10:00
Mike Hommey
354a9e27a0 Bug 1470127 - Move binary checks to a standalone script. r=froydnj
We perform, on the binaries we build, a series of check, that are
implemented as half-baked make commands, invoked after linking them.

- check libstdc++ symbol versions to ensure binary compatibility with
  a baseline.
- check glibc symbol versions to ensure binary compatibility with a
  baseline.
- check that target binaries don't contain text relocations.
- check that libmozglue is linked before libc on android.
- on libxul, check that NSModules are laid out correctly.
- on libxul, check that there is more than one PT_LOAD segment.

Those checks happen to work where they matter, but their setup is
unreliable. For example, the checks for symbol versions are supposed to
work for libclang-plugin on cross osx builds, but in fact, don't,
because the readelf path doesn't exist, and the command doesn't fail in
that case.

So move them all to a standalone script, performing the checks more
thoroughly (especially the NSModules one, where we now also check that
they are all adjacent), and more verbosely.

--HG--
extra : rebase_source : 7072e622e95f363d4a6c3a8e272d3445d998b592
2018-06-21 18:13:03 +09:00
ffxbld
499488f95b Update configs. IGNORE BROKEN CHANGESETS CLOSED TREE NO BUG a=release ba=release 2018-06-25 09:34:19 -07:00
Chris Manchester
86ddf36acf Bug 1469067 - Build host programs in their final locations rather than copying them to dist/host/bin. r=mshal
MozReview-Commit-ID: BrSou1ee2qV

--HG--
extra : rebase_source : 14ab70086b6b43b026c4ca269f27f0ae20a09aa6
2018-06-18 14:22:20 -07:00
Andrew Halberstadt
d19095947f Bug 1417920 - [python-test] Use a global pytest.ini configuration file, r=davehunt
This changes two config options:

pytest_classes = PyTest  # only classes that start with 'PyTest' will be considered tests (previously this was Test)
xfail_strict = true      # tests marked as xfail will cause pytest to return non-zero if they unexpectedly pass

MozReview-Commit-ID: DCWoDFbe6Mk

--HG--
extra : rebase_source : 9aa806e035d62d51bb338708396851c40f55ee00
2018-06-06 14:00:04 -04:00
Chris Manchester
a4d8492ece Bug 1464954 - Call TIERS when invoking the build with individual tier names. r=gps
MozReview-Commit-ID: FIEE7jd1jDD

--HG--
extra : rebase_source : 771909ae7376b8d6efc4518126917ab28bef1284
2018-05-31 21:08:18 -07:00
Mike Hommey
8b091c97fd Bug 1464522 - Count static initializers from the crash reporter symbol files. r=froydnj
The crash reporter symbol files are the easiest cross-platform way to
find static initializers. While some types of static initializers (e.g.
__attribute__(constructor) functions) don't appear there in a notable
way, the static initializers we do care the most about for tracking do
(static initializers from C++ globals). As a matter of fact, there is
only a difference of 2 compared to the currently reported count of 125
on a linux64 build, so this is a good enough approximation. And allows
us to easily track the count on Android, OSX and Windows builds, which
we currently don't do.

The tricky part is that the symbol files are in
dist/crashreporter-symbols/$lib/$fileid/$lib.sym, and $fileid is hard to
figure out. There is a `fileid` tool in testing/tools, but it is a
target binary, meaning it's not available on cross builds (OSX,
Android).

So the simplest is just to gather the data while creating the symbol
files, which unfortunately requires to go through some hoops to make it
happen for just the files we care about.

--HG--
extra : rebase_source : 458fed1ffd6f9294eefef61f10ff7a284af0d986
2018-05-29 08:48:47 +09:00
Bogdan Tara
597ad02dc7 Merge inbound to mozilla-central. a=merge
--HG--
rename : testing/web-platform/tests/css/vendor-imports/mozilla/mozilla-central-reftests/shapes1/shape-outside-circle-056-ref.html => layout/reftests/w3c-css/submitted/shapes1/shape-outside-circle-056-ref.html
rename : testing/web-platform/tests/css/vendor-imports/mozilla/mozilla-central-reftests/shapes1/shape-outside-circle-056.html => layout/reftests/w3c-css/submitted/shapes1/shape-outside-circle-056.html
rename : testing/web-platform/tests/css/vendor-imports/mozilla/mozilla-central-reftests/shapes1/shape-outside-ellipse-052-ref.html => layout/reftests/w3c-css/submitted/shapes1/shape-outside-ellipse-052-ref.html
rename : testing/web-platform/tests/css/vendor-imports/mozilla/mozilla-central-reftests/shapes1/shape-outside-ellipse-052.html => layout/reftests/w3c-css/submitted/shapes1/shape-outside-ellipse-052.html
rename : testing/web-platform/tests/css/vendor-imports/mozilla/mozilla-central-reftests/shapes1/shape-outside-polygon-032-ref.html => layout/reftests/w3c-css/submitted/shapes1/shape-outside-polygon-032-ref.html
rename : testing/web-platform/tests/css/vendor-imports/mozilla/mozilla-central-reftests/shapes1/shape-outside-polygon-032.html => layout/reftests/w3c-css/submitted/shapes1/shape-outside-polygon-032.html
2018-05-25 13:01:23 +03:00
Nick Alexander
72a9479310 Bug 1464128 - Migrate bookmarks.html.in to LOCALIZED_GENERATED_FILES. r=ted.mielczarek
This one looks to be pretty straight-forward.  It irritates me that
the jar.mn entry doesn't explicitly say that the result is coming from
the object directory, like

locale/browser/bookmarks.html (!bookmarks.html)

but that's for another day.

MozReview-Commit-ID: Cw8E0VJhSxv

--HG--
extra : rebase_source : a1045a5b564b0094b562729bc7234e69ec7a786d
2018-05-24 11:28:47 -07:00
Robin Templeton
f6e5382e6a bug 1366287 - Part 2.0: Use GMP integers to represent BigInt values. r=jwalden
Also link to libgmp and initialize it with custom memory allocation
functions.

--HG--
extra : rebase_source : 3aab0578a0b9e61c4aea5c7b7d1d572316f63b46
2018-05-11 19:42:48 -07:00
Sylvestre Ledru
a80feff40b bug 1463425 - Fix flake8/pep8 issue by hand in config/ r=gps
MozReview-Commit-ID: 6B60uh4n2nY

--HG--
extra : rebase_source : 4fd44789a9ee6376c72bae1132f73c81dd1eacbc
2018-05-22 06:22:46 -07:00
Sylvestre Ledru
3d085810e5 bug 1463425 - autopep8 on config/ r=gps
MozReview-Commit-ID: EaTAhH2CAee

--HG--
extra : rebase_source : f278cd9fc6e8f9db720c1430121ba91e0417c9b9
2018-05-22 00:01:01 +02:00
Kris Maglione
f8506d46d0 Bug 1460600: Remove unsupported --enable-system-hunspell flag. r=glandium
Our bundled Hunspell now significantly differs from upstream Hunspell. Most
importantly, it supports loading dictionaries from jar: URIs, which is now a
requirement for loading bundled and extension dictionaries. This means that
system Hunspell libraries are no longer compatible with our spell checker
code. We should remove the option to use them so that users don't fall into
the trap of trying to use them.

MozReview-Commit-ID: 2ihJe6YOnGf

--HG--
extra : rebase_source : ceb091b9475a2b101156405a02a60015fc36da17
2018-05-10 10:36:53 -07:00
Tom Ritter
c5a26d81ec Bug 1457483 Retrieve nm from environment for check_vanilla_allocations.py r=glandium
MozReview-Commit-ID: HIZpMk4Ierb

--HG--
extra : rebase_source : 670da25b7e516e176f2eae116b58e5e62ccbbde7
2018-04-27 10:25:35 -05:00
Andreea Pavel
47d4e9de33 Backed out changeset 23b5cf2c6824 (bug 1457483) for build bustages e.g. OSError: [Errno 13] Permission denied/ make[2]: *** [check-vanilla-allocations] Error 1 on a CLOSED TREE 2018-05-16 17:51:49 +03:00
Tom Ritter
c27fff25b3 Bug 1457483 Retrieve nm from environment for check_vanilla_allocations.py r=glandium
MozReview-Commit-ID: HIZpMk4Ierb

--HG--
extra : rebase_source : 5671a3f0ad8599aafb737f9fe6f76a5a4aa1d896
2018-04-27 10:25:35 -05:00
Martin Stransky
5fbefbfb2d Bug 1460605 - Provide NS_NATIVE_EGL_WINDOW to get a native EGL window on Wayland, r=jhorak
Original patch author is Takuro Ashie <ashie@clear-code.com>

Provide ability to create native EGL window and provide it under NS_NATIVE_EGL_WINDOW
to GL code. The native EGL window is owned/managed by mozcontainer.

MozReview-Commit-ID: 4d0Kk6DRSaD

--HG--
extra : rebase_source : e4677ce51fbf918eb1b0257c66ca4b7220174bbb
2018-05-10 16:04:20 +02:00
Dorel Luca
0d2ff9e60d Merge mozilla-inbound to mozilla-central. a=merge 2018-05-16 00:54:22 +03:00
Nathan Froyd
9bd5c61497 Bug 1459721 - part 8 - pass full paths for IDL files to xpidl-process.py; r=chmanchester
The build system knows at build-backend time where to find each IDL
file; making xpidl-process.py rediscover this by requiring
xpidl-process.py to search through directories to find input IDL files
is silly.  To rememdy this, we're going to modify things so full paths
are passed into the script.  Those paths can then be used directly, with
no searching.
2018-05-15 10:05:23 -04:00
Nathan Froyd
33635829ac Bug 1459721 - part 7 - remove dist_idl install manifest; r=chmanchester
We no longer need to install the IDL files to the objdir for
processing. \o/
2018-05-15 10:05:23 -04:00
Nathan Froyd
6d76a90b37 Bug 1459721 - part 6 - remove redundant dependency code from xpidl Makefile.in; r=chmanchester
The tail end of the xpidl Makefile.in contains a line, generated for
every xpt file:

$(1): $(addsuffix .idl,$(addprefix $(dist_idl_dir)/,$($(basename $(notdir $(1)))_deps)))

This line, in context, is saying that the xpt file depends on all of its
input IDL files.  But xpidl-process.py already generates this
information when we pass it --depsdir, which we do.  So this code is
redundant with what we already generate, and it can be removed.
2018-05-15 10:05:24 -04:00
Nathan Froyd
2f6686cbec Bug 1459721 - part 5 - explicitly specify include directories for xpidl files; r=chmanchester
The previous patch required us to pass a single -I argument pointing at
$(DIST)/idl so IDL include statements would work correctly.  This patch
lifts that limitation and explicitly points xpidl-process.py at the
locations of all the IDL source directories to search for included IDL
files.  Invocations of xpidl-process.py no longer depend on IDL files
being copied to the objdir.
2018-05-15 10:05:24 -04:00
Nathan Froyd
236d75aaae Bug 1459721 - part 4 - explicitly specify input directories for xpidl modules; r=chmanchester
Building on the last patch, we can change the build process to pass in
the directories where the input IDL files can be found.  It is
convenient to pass in just the relative source directory paths, to
encourage people to not look in the object directory and to make the
command lines slightly shorter.

xpidl-process.py still assumes that included IDL files can be found by
looking in a single directory.  We add a single -I argument to the
invocation of xpidl-process.py to accommodate this short-sightedness.
2018-05-15 10:05:24 -04:00
Nathan Froyd
31e67ea398 Bug 1459721 - part 3 - enable multiple input paths for xpidl-process.py; r=chmanchester
The current IDL build setup assumes that all IDL files can be found in a
single directory.  This setup requires that all IDL files be copied to a
single directory, which is suboptimal in terms of disk I/O and also
complicates things like generating IDL files at build time.

As a first step in moving away from this state of affairs,
xpidl-process.py needs to be taught that the input IDL files could
potentially be found in multiple directories.  The current setup can
just specify $(DIST)/idl as the lone directory to examine.  Future
patches will change this to examine multiple directories.
2018-05-15 10:05:24 -04:00
Mike Shal
8d4c5d5849 Bug 1454912 - Use a .stub file as the target for all GENERATED_FILES rules; r=nalexander
The make backend was treating the first output of a GENERATED_FILES rule
specially, since it was the target of the rule containing the script
invocation. We want the outputs of GENERATED_FILES rules to be
FileAvoidWrite so that we avoid triggering downstream rules if the
outputs are unchanged, but if the target of the script invocation is
FileAvoidWrite, then make may continually re-run the script during a
no-op build.

The solution here is to use a stub file as the target of the script
invocation which will always be touched when the script runs. Since
nothing else in the build depends on the stub, we don't need to
FileAvoidWrite it. All actual outputs of the script can be
FileAvoidWrite, and make can properly avoid work for files that haven't
changed.

MozReview-Commit-ID: 3GejZw2tpqu

--HG--
extra : rebase_source : 2b9be82f893e89a4c2f254f05b1e8b9a0f9c631b
2018-05-09 08:24:31 -04:00
Nick Alexander
53d03bac82 Bug 1460716 - Make mobile/android artifact builds produce features JSON. r=gps
I don't understand how this will interact with the parts of the build
where we try to avoid installing the dist/bin manifest, but this makes
sense to me and it works locally for mobile/android and for browser/.

MozReview-Commit-ID: L7RtA4K3WrX

--HG--
extra : rebase_source : 3c08a5aab5398eb3b5685b18e5fe06e926db5f85
2018-05-11 13:51:38 -07:00
Ted Mielczarek
1044f75cf5 bug 1459597 - fix Original Filename display in Windows file version info. r=chmanchester
MozReview-Commit-ID: 1JdpRcbS6qN

--HG--
extra : rebase_source : d2b3b6ab3cd5b40b0285557bb6f1b0ae6b0bfc17
2018-05-11 11:56:12 -04:00
André Bargull
a72259bbca Bug 1459285: Update tzdata in ICU data files to 2018e. r=Waldo 2018-05-09 01:12:01 -07:00
Ciure Andrei
a7fbf22348 Backed out 11 changesets (bug 1457560, bug 1366287) for causing Linux build bustages CLOSED TREE
Backed out changeset e71da1f3c048
Backed out changeset 971159738904 (bug 1366287)
Backed out changeset 68fae6784ebe (bug 1366287)
Backed out changeset a18120245eb7 (bug 1366287)
Backed out changeset 3bbd03d726e5 (bug 1366287)
Backed out changeset f80aac2c702a (bug 1366287)
Backed out changeset c834c0c12a7f (bug 1366287)
Backed out changeset dd19d38a2b1c (bug 1366287)
Backed out changeset 76fdbe405fbd (bug 1366287)
Backed out changeset b424782cd5d1 (bug 1366287)
Backed out changeset e4fd5393d398 (bug 1457560)
2018-05-12 08:00:13 +03:00
Robin Templeton
9684972b62 bug 1366287 - Part 2.0: Use GMP integers to represent BigInt values. r=jwalden
Also link to libgmp and initialize it with custom memory allocation
functions.
2018-05-11 19:42:48 -07:00
David Major
e02fd9579e Bug 1460020: Filter out PGO flags from cargo's LDFLAGS. r=froydnj 2018-05-11 10:37:55 -04:00
Kris Maglione
4900714df7 Bug 1457321: Part 1 - Add bundled dictionaries to built_in_addons.json. r=ted,rhelmer
MozReview-Commit-ID: GxCSXXaz8kz

--HG--
extra : rebase_source : a334cfbeee786aeaca373b5a7fc8107fa44c2243
2018-04-27 15:42:55 -07:00
Sylvestre Ledru
d8248a15c7 Bug 1418425 - Remove libbz2 files as we were only using it for crc32 as the updater moved to lzma r=glandium
MozReview-Commit-ID: 8Sz8vtV0b5G

--HG--
extra : rebase_source : 9f48f2e181fb16ad6bde1c357d74f879e1ef101e
2017-11-24 16:45:47 +01:00
Gurzau Raul
fcba2de1c0 Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-05-08 01:09:48 +03:00
ffxbld
f30847c12e Update configs. IGNORE BROKEN CHANGESETS CLOSED TREE NO BUG a=release ba=release 2018-05-07 16:29:07 +00:00
Xidorn Quan
12ddb6a1e7 Bug 1457524 part 3 - Check rustdoc for rust tests. r=froydnj
MozReview-Commit-ID: 4qRccUcXq6O

--HG--
extra : rebase_source : 684fd08a18f55a1f620fa305b22b31e002077a0a
2018-05-02 20:02:04 +10:00
Xidorn Quan
28f16a3912 Bug 1457524 part 2 - Run all rust tests regardless of failures. r=froydnj
MozReview-Commit-ID: K4ZhFOWd6gd

--HG--
extra : rebase_source : 176ecf1b54e949d2a177f15106dd7a31d158c845
2018-05-02 17:13:25 +10:00
Xidorn Quan
1c8dc43017 Bug 1457524 part 1 - Use a list for rust tests. r=froydnj
MozReview-Commit-ID: 6A0hHClXDUE

--HG--
extra : rebase_source : 827bb569642aa2ad834b94f08af3f60b68552de4
2018-05-02 11:51:25 +10:00
Nick Alexander
00dc996ad3 Bug 1444546 - Post: Remove add_java_jar and support. r=froydnj
MozReview-Commit-ID: J6E2ZOs9r3P

--HG--
extra : rebase_source : 0e68f776e95e0fd2fec4607435d030acc68ca0ad
2018-03-06 14:48:20 -08:00
Nick Alexander
bf575d403e Bug 1444546 - Part 4: Use GENERATED_FILES for Android JNI wrapper generation. r=froydnj,jchen
MozReview-Commit-ID: 1IjoQdEMqr8

--HG--
extra : rebase_source : 9f2e539328d83aa15bce0357a8c7d2722d517b2a
2018-03-06 20:09:37 -08:00
Nick Alexander
53a4852ffa Bug 1444546 - Part 3: Use GENERATED_FILES for Android SDK bindings generation. r=froydnj,jchen
MozReview-Commit-ID: 2blmzKTvpj3

--HG--
extra : rebase_source : 0954b407ce6625510eadc67dd9989da949b22110
2018-03-06 19:19:48 -08:00
Nick Alexander
520b63c85e Bug 1444546 - Part 2: Build annotationProcessors with Gradle. r=jchen
We want annotationProcessors to be compiled and archived into a JAR at
build time, ready to generate JNI wrappers.  (That is, until we turn
the whole thing into a real annotation processor.)  But even if we do
use a real annotation processor, we still need to generate SDK
bindings, which is less clearly expressed as an annotation processor.
(It's more of a build step.)

Gradle provides a huge number of ways to organize build logic to
achieve this: see
https://docs.gradle.org/current/userguide/organizing_build_logic.html.
Unfortunately, the best such way -- putting the code into
$topsrcdir/buildSrc -- has key disadvantages:

1) it pollutes the top-level $topsrcdir, and there's no way to change the
location of buildSrc (https://github.com/gradle/gradle/issues/2472);

2) it's complicated to have a dependent project
(mobile/android/annotations) expose its code via a buildSrc project;

3) using buildSrc at all appears to conflict with the Android-Gradle
plugin version that we are using.

Therefore, this commit does something much simpler: it adds a
Java-only project and uses the resulting Gradle "Jar" task and archive
output as input to the existing Gradle "generate JNI wrappers" task.

MozReview-Commit-ID: 2OyYLPneE1M

--HG--
extra : rebase_source : d99b74a0a1e0bb3e8f4d4540978328388e5c2e42
2018-02-22 16:11:14 -08:00
Jan de Mooij
d047348566 Bug 1063728 - Run SpiderMonkey style checkers as part of the build instead of make check. r=chmanchester 2018-04-26 09:09:51 +02:00
Cosmin Sabou
4595d43d3a Merge inbound to mozilla-central. a=merge
--HG--
rename : browser/modules/offlineAppCache.jsm => toolkit/modules/offlineAppCache.jsm
2018-04-20 01:29:10 +03:00
Chris Manchester
df340972e4 Bug 1449965 - Output directories during the build as we compile object files. r=ted
MozReview-Commit-ID: K4RrObGHXIC

--HG--
extra : rebase_source : 09e66caa36cd6bac1d5ac4bbf300ab4ee93fce27
2018-04-19 00:16:57 -07:00
Xidorn Quan
a8cc0738f6 Bug 1452542 part 6 - Replace uses of PythonCSSProps.h with the data file generated from Servo. r=froydnj
Some content in Makefile.in is removed because after this change, the
scripts no longer invoke the preprocessor and thus don't have unknown
dependencies anymore outside what is provided in their inputs array.

The order of exports.PREFERENCES in properties-db changes because the
data file has shorthands placed after longhands. The only usage of it
is in test_css-properties-db.js which doesn't care about the order.

MozReview-Commit-ID: AMjzTRf2HYN

--HG--
extra : rebase_source : 7976e48e7c7bba467d77a34ab0d7709cde1ecdf4
2018-04-17 14:40:12 +10:00
Gregory Szorc
32bab4f00f Bug 1455120 - Prefix output from automation tiers; r=mshal
We add a minimal Python script to run a process and prefix all its
output with a string. We change the automation tiers to evaluate all
make targets using this script.

MozReview-Commit-ID: 79g5KUd5ked

--HG--
extra : rebase_source : 63388a71b51e5abc05ca8bd48e180af72bf799e6
2018-04-18 14:30:05 -07:00
Andreea Pavel
1b610a02c9 Backed out 7 changesets (bug 1452542) for failing toolkit/content/tests/chrome/test_arrowpanel.xul on a CLOSED TREE
Backed out changeset f206acff283f (bug 1452542)
Backed out changeset be97e652391f (bug 1452542)
Backed out changeset 4d3a028edaed (bug 1452542)
Backed out changeset 5619bba37cdd (bug 1452542)
Backed out changeset e83a797bdc61 (bug 1452542)
Backed out changeset 255e2feff19f (bug 1452542)
Backed out changeset fac55b1a0706 (bug 1452542)
2018-04-18 20:10:35 +03:00
Xidorn Quan
ddcc60ec27 Bug 1452542 part 6 - Replace uses of PythonCSSProps.h with the data file generated from Servo. r=froydnj
Some content in Makefile.in is removed because after this change, the
scripts no longer invoke the preprocessor and thus don't have unknown
dependencies anymore outside what is provided in their inputs array.

The order of exports.PREFERENCES in properties-db changes because the
data file has shorthands placed after longhands. The only usage of it
is in test_css-properties-db.js which doesn't care about the order.

MozReview-Commit-ID: AMjzTRf2HYN

--HG--
extra : rebase_source : f9db0659a81bea28b335806ac70e23dc0d36e493
2018-04-17 14:40:12 +10:00
Jan de Mooij
98422b2e61 Bug 1064316 - Rewrite check_spidermonkey_style.py to use os.walk instead of looking at the repo data. r=njn 2018-04-18 09:42:24 +02:00
Nika Layzell
be8b24333a Bug 1444991 - Part 1: Read webidl's Bindings.conf, and pass it into xpidl, r=mccr8
This information is read in order to handle correctly selecting the native
type and header files for WebIDL types.
2018-04-17 19:20:58 -04:00
Nika Layzell
04547a4a00 Bug 1444745 - Part 4: Rewrite xptinfo, and write a new xptcodegen.py to generate the required datastructures, r=mccr8
This patch contains the meat of the changes here. The following summarize the changes:
1. xptinfo.h is rewritten to expose the new interface for reading the XPT data,

The nsXPTInterfaceInfo object exposes methods with the same signatures as
the methods on nsIInterfaceInfo, to make converting code which used
nsIInterfaceInfo as easy as possible, even when those methods don't have
signatures which make a ton of sense anymore. There are also a few methods
which are unnecessary (they return `true` or similar), which should be
removed over time.

Members of the data structures are made private in order to prevent reading
them directly. Code should instead call the getter methods. This should make
it easier to change their memory representation in the future. Constructing
these structs is made possible by making the structs `friend class` with the
XPTConstruct class, which is implemented by the code generator, and is able
to access the private fields.

In addition, rather than using integers with flag constants, I opted for
using C++ bitfields to store individual flags, as I found it made it easier
to both write the code generator, and reason about the layouts of the types.

I was able to shave a byte off of each nsXPTParamInfo (4 bytes -> 3 bytes)
by shoving the flags into spare bits in the nsXPTType. Unfortunately there
was not enough room for the retval flag. Fortunately, we already depend in
our code on the retval parameter being the last parameter, so I worked
around this by removing the retval flag and instead having a `hasretval`
flag on the method itself.

2. An xptinfo.cpp file is added for out-of-line definitions of more complex
methods, and the internal implementation details of the perfect hash.

Notable is the handling of xptshim interfaces. As the type is uniform, a
flag is checked when trying to read constant information, and a different
table with pointers into webidl data structures is checked when the type is
determined to be a shim.

Ideally we could remove this once we remove the remaining consumers of the
existing shim interfaces.

3. A python code generator which takes in the json XPT files generated in the
previous part, and emits a xptdata.cpp file with the data structures. I did
my best to heavily comment the code.

This code uses the friend class trick to construct the private fields of the
structs, and avoid a dependency on the ordering of fields in xptinfo.h.

The sInterfaces array's order is determined by a generated perfect hash
which is also written into the binary. This should allow for fast lookups by
IID or name of interfaces in memory. The hash function used for the perfect
hash is a simple FNV hash, as they're pretty fast.

For perfect hashing of names, another table is created which contains
indexes into the sInterfaces table. Lookup by name is less common, and this
form of lookup should still be very fast.

4. The necessary Makefiles are updated to use the new code generator, and
generate the file correctly.
2018-04-17 19:20:55 -04:00
Tom Prince
c8c9d47e92 Bug 1436662: Package translated uninstaller; r=pike,mshal
The uninstaller was being built as a side-effect of building `setup.exe`. In
Bug 1385227, that was moved from "somewhere" to part of the windows installer
packaging, which happens after the zip and mar are generated. Since the
installer we ship is actually repackaged from the zip[1], we stopped shipping
translated uninstallers.

This changes things around so that the uninstaller gets translated:
- Explicitly build the uninstaller as part of the L10n repack step.
- Use the same logic to build the installer locally as we do to create the ones
  we ship.

[1] Except on Thunderbird

Differential Revision: https://phabricator.services.mozilla.com/D672

--HG--
extra : rebase_source : 05fe935c1d2a9fbfeef786819bfe5913ed8ef862
extra : source : d6bf22099e2195dcb64c3c3d7700d3edd0850a3a
2018-04-16 12:49:53 -06:00
Brindusan Cristian
34b33a520a Backed out 2 changesets (bug 1436662) for build bustages on /installer/windows. CLOSED TREE
Backed out changeset fcb756834abb (bug 1436662)
Backed out changeset d6bf22099e21 (bug 1436662)
2018-04-17 19:08:21 +03:00
Tom Prince
cdf80aa336 Bug 1436662: Package translated uninstaller; r=pike,mshal
The uninstaller was being built as a side-effect of building `setup.exe`. In
Bug 1385227, that was moved from "somewhere" to part of the windows installer
packaging, which happens after the zip and mar are generated. Since the
installer we ship is actually repackaged from the zip[1], we stopped shipping
translated uninstallers.

This changes things around so that the uninstaller gets translated:
- Explicitly build the uninstaller as part of the L10n repack step.
- Use the same logic to build the installer locally as we do to create the ones
  we ship.

[1] Except on Thunderbird

Differential Revision: https://phabricator.services.mozilla.com/D672

--HG--
extra : rebase_source : 2b28b9ff7196d12f4a188c8dddf750b9a5efac5b
extra : histedit_source : 9bc28891950ae8c226cfdefef6f8121ce0b51f58
2018-04-16 12:49:53 -06:00
Jan de Mooij
e43e8a5da5 Bug 1064316 - Rewrite check_macroassembler_style.py to use os.walk instead of looking at the repo data. r=nbp 2018-04-19 13:02:00 +02:00