Граф коммитов

1423 Коммитов

Автор SHA1 Сообщение Дата
Mike Hommey f23ed044ba Bug 1522614 - Move rust related rules/setup to a separate makefile. r=froydnj
Because we're going to change how cargo recipes are called to export
environment variables rather than by wrapping the call with `env`, to
avoid msys roundtrips, it's better to avoid the complexity when not
building rust, and including a separate file only when required helps
with that. It is also possible to wrap the entire rust section of
rules.mk in the same condition we use for the include, but using a
separate file also makes things clearer.

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

--HG--
rename : config/rules.mk => config/makefiles/rust.mk
extra : moz-landing-system : lando
2019-02-05 21:38:42 +00:00
Ted Mielczarek 8a4288a193 bug 1506848 - switch Windows debug flags from -Zi to -Z7. r=nalexander
We default to -Zi for Windows debug flags, which is for generating debug info
into a PDB file, but clang-cl doesn't actually implement that so -Zi is
an alias for -Z7 in clang-cl:
http://clang.llvm.org/docs/UsersManual.html#id9

sccache has special handling for -Zi because multiple compiles writing
to the same PDB file is not cacheable, so we've always overridden -Zi with -Z7
in CI when using sccache.

Given that everyone should be using clang-cl nowadays and MSVC will no longer
be supported soon, this patch changes the default and removes some PDB
file name flag setting from rules.mk, as well as the no-longer-necessary
overrides from mozconfig.cache.

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

--HG--
extra : moz-landing-system : lando
2019-02-01 11:12:06 +00:00
Mike Hommey bf0e86a9dc Bug 1523540 - Remove WIN64_LIB and WIN64_LINK. r=ted
Now that everything is lined up nicely, we don't need those anymore.

We can fill cargo-linker.bat with HOST_LINKER and HOST_LINKER_LIBPATHS,
which, unfortunately, can't be used as is, so we add a variant for
substitution in .bat files.

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

--HG--
extra : moz-landing-system : lando
2019-01-30 21:46:39 +00:00
Tom Ritter 0a85461461 Bug 1376621 - Search for networking symbols in rust code and fail if they are found. r=glandium
--HG--
extra : amend_source : dfe442d1be95c5f37c959b38c12701d8d14432c1
2019-01-25 12:19:41 -06:00
Mike Hommey 03a6fa8570 Bug 1521691 - Remove _MSC_VER from configure. r=chmanchester
The only use in configure itself is for a MSVC version check that is now
always true (we don't accept versions < 19.15 anymore).

The only uses in the build system are in code that could just use
CC_TYPE instead.

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

--HG--
extra : moz-landing-system : lando
2019-01-23 00:35:10 +00:00
Chris Manchester 63da49dd4f Bug 1520516 - Set verbose logging for cargo when -v is passed to |./mach build|. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D16907

--HG--
extra : moz-landing-system : lando
2019-01-18 19:03:24 +00: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
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
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
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 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
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
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
Margareta Eliza Balazs f79a9159ca Backed out 2 changesets (bug 1485224) for perma bc3 failures e.g.: Error getting fileid for Z:\task_1536750533ad] WARNING: NS_ENSURE_TRUE CLOSED TREE
Backed out changeset fe2c607f4af7 (bug 1485224)
Backed out changeset f7a6e536532e (bug 1485224)
2018-09-12 15:37:19 +03:00
Masatoshi Kimura 57028ccb18 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 : source : d0098304d5b1a35446781d60a9050d310b45f5bd
2018-08-28 23:41:39 +09:00
Margareta Eliza Balazs e620c683cb Backed out 2 changesets (bug 1474488) for causing failures in build/src/obj-firefox/dist/include/mozilla/Assertions.h CLOSED TREE
Backed out changeset ffce46424c69 (bug 1474488)
Backed out changeset e4b9fa5f7592 (bug 1474488)
2018-09-11 10:59:28 +03:00
Thomas P. 357f9deb02 Bug 1474488 - add --enable-undefined-sanitizer with custom checks. r=froydnj 2018-09-11 02:47:23 +00: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
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
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 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
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
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
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
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
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
David Major 3438ab8312 Bug 1473954: Use $(ASOUTOPTION) rather than hardcode -o for SOBJS. r=ted 2018-07-06 13:56:50 -04:00