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

61 Коммитов

Автор SHA1 Сообщение Дата
Mike Hommey e19e94bc52 Bug 1729760 - Set -stdlib=libc++ for mac builds at the toolchain level. r=firefox-build-system-reviewers,nalexander
It's currently added manually to CXXFLAGS and bindgen flags, and is
notably missing from HOST_CXXFLAGS. However, setting it at the toolchain
level makes it inherited anywhere it's needed, including host builds and
bindgen.

Differential Revision: https://phabricator.services.mozilla.com/D126153
2021-09-21 04:45:34 +00:00
Mike Hommey a673ae0901 Bug 1724374 - Handle the macos SDK through the same code paths as sysroots. r=firefox-build-system-reviewers,andi
Differential Revision: https://phabricator.services.mozilla.com/D121944
2021-08-11 07:47:14 +00:00
Brindusan Cristian 10c5583558 Backed out 4 changesets (bug 1724372, bug 1724374) for causing macos non-unified build bustages in BlockingResourceBase.h.
CLOSED TREE

Backed out changeset a8d4d6248454 (bug 1724374)
Backed out changeset 030e725b4799 (bug 1724374)
Backed out changeset 9c32dfd8b694 (bug 1724374)
Backed out changeset d1096773021b (bug 1724372)
2021-08-07 05:49:03 +03:00
Mike Hommey ab833087f4 Bug 1724374 - Handle the macos SDK through the same code paths as sysroots. r=firefox-build-system-reviewers,andi
Differential Revision: https://phabricator.services.mozilla.com/D121944
2021-08-06 23:31:50 +00:00
Mike Hommey e0929c4c22 Bug 1722652 - Reduce the number of flags passed to bindgen. r=firefox-build-system-reviewers,necko-reviewers,andi,dragana
Originally, we only were using bindgen for stylo, and we also went a bit
overkill by including a lot of extra CFLAGS in there, which end up
being unnecessary. So we now only pass a more minimal set of flags, and
add some extra CFLAGS in cases where they are necessary.

Differential Revision: https://phabricator.services.mozilla.com/D121043
2021-07-28 20:37:49 +00:00
Emilio Cobos Álvarez fa55a94173 Bug 1695313 - Update cbindgen in tree to 0.19.0. r=zbraniecki
Differential Revision: https://phabricator.services.mozilla.com/D106660
2021-04-08 16:25:43 +00:00
Mike Hommey 34ada26a0e Bug 1693723 - Avoid bootstrapping when an explicit path is given for tools. r=firefox-build-system-reviewers,mhentges
This changes things such that setting e.g. NASM=/usr/bin/nasm will avoid
bootstrapping nasm even when bootstrapping is enabled.

This is not applied to CC/CXX/HOST_CC/HOST_CXX because things are more
complicated.

This also simplifies how check_prog is called for a bootstrapped tool,
and avoids the repetition of when.

CBINDGEN handling needs the pattern being applied manually because it
currently doesn't use check_prog. Once --enable-bootstrap=install
becomes the default on developer builds, it will be possible to simplify
this.

Differential Revision: https://phabricator.services.mozilla.com/D105718
2021-02-24 02:01:33 +00:00
Mike Hommey 5f86b697af Bug 1692137 - Allow local linux builds to use a bootstrapped sysroot. r=firefox-build-system-reviewers,andi,mhentges
Bug 1690930 added sysroots that can be bootstrapped. With this change,
we allow --enable-bootstrap=install to pull the right sysroot for the
configured target, and --enable-bootstrap to update it if it was already
there.

Differential Revision: https://phabricator.services.mozilla.com/D104797
2021-02-12 20:31:49 +00:00
Mike Hommey 8362a57bed Bug 1686646 - Use more targeted search paths for each tool. r=firefox-build-system-reviewers,dmajor
Instead of adding all possible tool paths from ~/.mozbuild, we only
add the relevant paths for each of the tools we search for.

Differential Revision: https://phabricator.services.mozilla.com/D101718
2021-01-15 04:26:05 +00:00
Mike Hommey de6099304e Bug 1686646 - Separate out Rust compiler search path. r=firefox-build-system-reviewers,dmajor
Differential Revision: https://phabricator.services.mozilla.com/D101717
2021-01-15 04:26:03 +00:00
Emilio Cobos Álvarez 78414576b9 Bug 1684350 - Update cbindgen to 0.16.0. r=andi
I was waiting for a better reason to do this, because the cbindgen
changes from 0.15.0 to 0.16.0 don't break trunk builds. But since
downstream has updated (see bug 1684180) and there's no reason not to,
let's do this to avoid future churn.

Differential Revision: https://phabricator.services.mozilla.com/D100499
2020-12-28 13:42:06 +00:00
Ricky Stewart 02a7b4ebdf Bug 1654103: Standardize on Black for Python code in `mozilla-central`.
Allow-list all Python code in tree for use with the black linter, and re-format all code in-tree accordingly.

To produce this patch I did all of the following:

1. Make changes to tools/lint/black.yml to remove include: stanza and update list of source extensions.

2. Run ./mach lint --linter black --fix

3. Make some ad-hoc manual updates to python/mozbuild/mozbuild/test/configure/test_configure.py -- it has some hard-coded line numbers that the reformat breaks.

4. Make some ad-hoc manual updates to `testing/marionette/client/setup.py`, `testing/marionette/harness/setup.py`, and `testing/firefox-ui/harness/setup.py`, which have hard-coded regexes that break after the reformat.

5. Add a set of exclusions to black.yml. These will be deleted in a follow-up bug (1672023).

# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D94045
2020-10-26 18:34:53 +00:00
Bogdan Tara da1098d4aa Backed out 10 changesets (bug 1654103, bug 1672023, bug 1518999) for PanZoomControllerTest.touchEventForResult gv-junit failures CLOSED TREE
Backed out changeset ff3fb0b4a512 (bug 1672023)
Backed out changeset e7834b600201 (bug 1654103)
Backed out changeset 807893ca8069 (bug 1518999)
Backed out changeset 13e6b92440e9 (bug 1518999)
Backed out changeset 8b2ac5a6c98a (bug 1518999)
Backed out changeset 575748295752 (bug 1518999)
Backed out changeset 65f07ce7b39b (bug 1518999)
Backed out changeset 4bb80556158d (bug 1518999)
Backed out changeset 8ac8461d7bd7 (bug 1518999)
Backed out changeset e8ba13ee17f5 (bug 1518999)
2020-10-24 03:36:18 +03:00
Ricky Stewart c0cea3b0fa Bug 1654103: Standardize on Black for Python code in `mozilla-central`. r=remote-protocol-reviewers,marionette-reviewers,webdriver-reviewers,perftest-reviewers,devtools-backward-compat-reviewers,jgilbert,preferences-reviewers,sylvestre,maja_zf,webcompat-reviewers,denschub,ntim,whimboo,sparky
Allow-list all Python code in tree for use with the black linter, and re-format all code in-tree accordingly.

To produce this patch I did all of the following:

1. Make changes to tools/lint/black.yml to remove include: stanza and update list of source extensions.

2. Run ./mach lint --linter black --fix

3. Make some ad-hoc manual updates to python/mozbuild/mozbuild/test/configure/test_configure.py -- it has some hard-coded line numbers that the reformat breaks.

4. Make some ad-hoc manual updates to `testing/marionette/client/setup.py`, `testing/marionette/harness/setup.py`, and `testing/firefox-ui/harness/setup.py`, which have hard-coded regexes that break after the reformat.

5. Add a set of exclusions to black.yml. These will be deleted in a follow-up bug (1672023).

# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D94045
2020-10-23 20:40:42 +00:00
Dorel Luca 1ff59cb7a3 Backed out changeset 7558c8821a07 (bug 1654103) for multiple failures. CLOSED TREE 2020-10-22 03:51:06 +03:00
Ricky Stewart 50762dacab Bug 1654103: Standardize on Black for Python code in `mozilla-central`. r=remote-protocol-reviewers,marionette-reviewers,webdriver-reviewers,perftest-reviewers,devtools-backward-compat-reviewers,jgilbert,preferences-reviewers,sylvestre,maja_zf,webcompat-reviewers,denschub,ntim,whimboo,sparky
Allow-list all Python code in tree for use with the black linter, and re-format all code in-tree accordingly.

To produce this patch I did all of the following:

1. Make changes to tools/lint/black.yml to remove include: stanza and update list of source extensions.

2. Run ./mach lint --linter black --fix

3. Make some ad-hoc manual updates to python/mozbuild/mozbuild/test/configure/test_configure.py -- it has some hard-coded line numbers that the reformat breaks.

4. Add a set of exclusions to black.yml. These will be deleted in a follow-up bug (1672023).

# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D94045
2020-10-21 21:27:27 +00:00
Kartikaya Gupta cfcbbaae93 Bug 1668921 - Update cbindgen version and generate ostream serializers for WR structs. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D92842
2020-10-08 09:24:36 +00:00
Mike Hommey d3519998ac Bug 1520395 - Remove the python configure distinction between option and js_option. r=firefox-build-system-reviewers,andi,rstewart
Now that we don't recurse into the js python configure, we don't need to
have a special treatment for the options that need to be passed down to
that subconfigure, which is what js_option was for.

Differential Revision: https://phabricator.services.mozilla.com/D92727
2020-10-08 04:07:46 +00:00
Emilio Cobos Álvarez 7c995807da Bug 1646936 - Generate a single metadata file in the objdir, and feed it to cbindgen. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D80360
2020-06-26 10:41:26 +00:00
Coroiu Cristina 302c2fa31a Backed out changeset 8f948dd74aba (bug 1646936) for SM and Toolchain failures on a CLOSED TREE 2020-06-26 13:08:09 +03:00
Emilio Cobos Álvarez 9c7c03bf30 Bug 1646936 - Generate a single metadata file in the objdir, and feed it to cbindgen. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D80360
2020-06-26 09:37:16 +00:00
Mitchell Hentges e8ffc3e0cb Bug 1641806: configure should look for libclang >= 5.0 r=rstewart
clang_getAddressSpace was found as a clang 5.0+ API by comparing the "tools/libclang/libclang.exports" files in the clang source code.
"clang_getAddressSpace" exists for 5.0.0 and 10.0.0, but not for 4.0.1.

Differential Revision: https://phabricator.services.mozilla.com/D78374
2020-06-04 20:15:20 +00:00
Dzmitry Malyshau 34dac56d81 Bug 1628754 - CBindGen update to 0.14.1 r=emilio,kats
Differential Revision: https://phabricator.services.mozilla.com/D70421

--HG--
extra : moz-landing-system : lando
2020-04-10 19:13:25 +00:00
Mihai Alexandru Michis 6013b44308 Backed out changeset e60ce7274c9f (bug 1628754) for causing bustages in ServoStyleConsts.h
CLOSED TREE
2020-04-10 04:05:15 +03:00
Dzmitry Malyshau e71799ed9d Bug 1628754 - Cbindgen update to 0.14.0 r=kats
Differential Revision: https://phabricator.services.mozilla.com/D70421

--HG--
extra : moz-landing-system : lando
2020-04-09 21:10:40 +00:00
Mike Hommey f805480ab5 Bug 1627163 - Switch python configure to python 3. r=firefox-build-system-reviewers,rstewart
This also does a few remaining python 2 incompatible changes to
.configure files.

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

--HG--
extra : moz-landing-system : lando
2020-04-07 18:31:56 +00:00
Ricky Stewart a7b0b2f38e Bug 1621624 - Check for any version of libclang.so r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D67208

--HG--
extra : moz-landing-system : lando
2020-03-19 14:19:23 +00:00
Tooru Fujisawa 350ed0cf8c Bug 1612515 - Part 6: Import the SmooshMonkey change from rust-frontend. r=jorendorff,glandium
Differential Revision: https://phabricator.services.mozilla.com/D64170

--HG--
extra : moz-landing-system : lando
2020-02-28 14:17:33 +00:00
Mike Hommey 83f784d880 Bug 1617794 - Properly set the target flag for bindgen when cross compiling for Windows. r=chmanchester
Differential Revision: https://phabricator.services.mozilla.com/D64292

--HG--
extra : moz-landing-system : lando
2020-02-26 20:52:09 +00:00
Emilio Cobos Álvarez c3cc693c75 Bug 1614198 - Update cbindgen. r=heycam
I need this to support individual #[cfg] in enum variants, which is used for
Image::PaintWorklet.

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

--HG--
extra : moz-landing-system : lando
2020-02-10 03:06:53 +00:00
Emilio Cobos Álvarez 4ba89c93cf Bug 1612092 - Update cbindgen. r=froydnj
v0.12.2 at least is needed to have proper v2 lockfile support.

But v0.13.0 contains extra fixes, and features that wgpu and the style system
plan to use, so let's just update to that.

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

--HG--
extra : moz-landing-system : lando
2020-01-31 08:03:17 +00:00
Emilio Cobos Álvarez 1258c314aa Bug 1604160 - Update cbindgen to do proper copy assignment on tagged enums. r=boris
This is needed to support min() / max() / clamp(), as LengthPercentage will have
a potential heap allocation and the current copy-assignment operators just do
bitwise copies.

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

--HG--
extra : moz-landing-system : lando
2019-12-16 13:31:24 +00:00
Emilio Cobos Álvarez 85599f3f1b Bug 1602317 - Update cbindgen to 0.11.1. r=jrmuizel
This includes more bitflag operators, which means we can remove some slightly
ugly code.

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

--HG--
extra : moz-landing-system : lando
2019-12-09 03:20:53 +00:00
Emilio Cobos Álvarez c17fdaaa27 Bug 1576703 - Update cbindgen. r=boris
This cleans up the pattern of "Use a private dtor so that the helper functions
do the right thing" by enabling it everywhere using:

  https://github.com/eqrion/cbindgen/pull/377

It also caught some uninitialized value issues.

I think they're mostly harmless since we zero-initialize our structs:

https://searchfox.org/mozilla-central/rev/325c1a707819602feff736f129cb36055ba6d94f/servo/components/style/properties/gecko.mako.rs#632

And since we override the clip rect, which is the other bit of code that was
failing to build with this change.

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

--HG--
extra : moz-landing-system : lando
2019-08-26 23:18:46 +00:00
Nathan Froyd 08b51223a9 Bug 1560666 - turn off C++17 aligned allocation support; r=glandium
Just like C++14 sized deallocation support, we don't want to support
this.  We shouldn't be using `new` on over-aligned types anyway.

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

--HG--
extra : moz-landing-system : lando
2019-08-14 01:37:34 +00:00
Emilio Cobos Álvarez 3d0f056ca7 Bug 1559814 - Update cbindgen. r=boris
Differential Revision: https://phabricator.services.mozilla.com/D36020

--HG--
extra : moz-landing-system : lando
2019-06-26 20:32:41 +00:00
David Major df7699c43c Bug 1561350 - Fix libclang detection for clang-cl 9 r=glandium
In the clang-cl 9 case where we have semicolon-separated paths, the `dirs` variable is never read, so the libclang detection fails.

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

--HG--
extra : moz-landing-system : lando
2019-06-25 20:39:01 +00:00
Mike Hommey 985a376afa Bug 1526857 - Improve bindgen configuration wrt clang. r=chmanchester
The current setup for bindgen relies on either finding clang/libclang
from the output of llvm-config, or from the paths given via the
configure flags --with-clang-path/--with-libclang-path.

One _very_ common problem is that the llvm-config we end up using does
not correspond to the clang used for compilation, which has some
undesirable side effect, like failing to build.

So instead of relying on llvm-config, we do the following:
- when the compiler is clang, we just use that
- when the compiler is clang-cl, we use clang from the same directory
- otherwise, we either try to find clang in PATH, or rely on
  --with-clang-path.

Once clang is found, we try to deduce the location of the corresponding
libclang via the output of `clang -print-search-dirs`, or rely on
--with-libclang-path.

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

--HG--
extra : moz-landing-system : lando
2019-06-05 02:48:20 +00:00
Emilio Cobos Álvarez dba21ae038 Bug 1552476 - Ensure we pass a string to CDLL on Windows. r=froydnj
Apparently it doesn't deal very well with unicode objects.

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

--HG--
extra : moz-landing-system : lando
2019-05-17 19:16:55 +00:00
Emilio Cobos Álvarez cee627fc60 Bug 1529002 - Update cbindgen. r=boris
We need this to auto-generate the copy-constructor for TransformOperation,
without which the patch wouldn't build.

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

--HG--
extra : moz-landing-system : lando
2019-05-16 23:24:17 +00:00
Ciure Andrei 00a73f5055 Backed out 17 changesets (bug 1550554, bug 1549593, bug 1551991, bug 1529002) for failing multiple Android tests and Windows 2012 bustages CLOSED TREE
Backed out changeset 3bb3fafa62e2 (bug 1551991)
Backed out changeset e12a979de502 (bug 1551991)
Backed out changeset d81e4aa6bf0c (bug 1551991)
Backed out changeset c354e61f2a34 (bug 1551991)
Backed out changeset 37fd602bebc2 (bug 1551991)
Backed out changeset 6c1f00cc30ca (bug 1551991)
Backed out changeset 8a7a0329bdc3 (bug 1551991)
Backed out changeset 86159475ddd3 (bug 1551991)
Backed out changeset 35f91a9ea82a (bug 1529002)
Backed out changeset 6798155e71dc (bug 1529002)
Backed out changeset b90c2cf5b8c5 (bug 1550554)
Backed out changeset 882ab9868c95 (bug 1550554)
Backed out changeset b28a48e2ed21 (bug 1550554)
Backed out changeset 2c31fe18eefd (bug 1550554)
Backed out changeset 57f2362aa538 (bug 1550554)
Backed out changeset 45f171b26e95 (bug 1550554)
Backed out changeset 2e4b263c9410 (bug 1549593)
2019-05-16 13:17:10 +03:00
Emilio Cobos Álvarez e10c38f6f4 Bug 1529002 - Update cbindgen. r=boris
We need this to auto-generate the copy-constructor for TransformOperation,
without which the patch wouldn't build.

Differential Revision: https://phabricator.services.mozilla.com/D30799
2019-05-16 16:24:36 +02:00
Emilio Cobos Álvarez 56a3566948 Bug 1551618 - Check for libclang >= 4.0 in configure. r=froydnj
This is better than failing with obscure rust errors later on.

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

--HG--
extra : moz-landing-system : lando
2019-05-15 13:11:52 +00:00
Nathan Froyd ae023b43de Bug 1549794 - add sysroot flags for the macOS SDK to bindgen's flags; r=nalexander
We already do this for the compiler that we detect via
toolchain.configure...but as the comment in `basic_bindgen_cflags`
alludes to, we don't actually use that compiler here.  We use a much
more bare-bones compiler, so we have to add the necessary flags manually.

We need to make `--with-macos-sdk` a `js_option` so that uses of bindgen
in the JS engine will receive the proper flags.

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

--HG--
extra : moz-landing-system : lando
2019-05-10 20:07:34 +00:00
Alexis Beingessner 1017bd764c Bug 1525402 - Bump cbindgen to 0.8.6. r=kvark
This version adds support for Rust 2018's new externs

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

--HG--
extra : moz-landing-system : lando
2019-05-07 01:40:15 +00:00
Emilio Cobos Álvarez 4f84601466 Bug 1542878 - Check all the cbindgen executables before failing configure. r=froydnj
Before this patch, we first find an executable, then check the version. So if
the first executable we find is outdated, we won't look for others.

Instead, check each of them for different versions manually. This will also
unblock bug 1540533, since at that point we know that we'll be able to find
a cbindgen with the right version.

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

--HG--
extra : moz-landing-system : lando
2019-04-17 14:31:19 +00:00
Emilio Cobos Álvarez 1edac4dc48 Bug 1536582 - Update cbindgen. r=boris
Differential Revision: https://phabricator.services.mozilla.com/D25520

--HG--
extra : moz-landing-system : lando
2019-03-30 19:55:23 +00:00
Emilio Cobos Álvarez 9b1323a3ae Bug 1533142 - Update min cbindgen version. r=jrmuizel,kats
Differential Revision: https://phabricator.services.mozilla.com/D22381

--HG--
extra : moz-landing-system : lando
2019-03-06 22:31:57 +00:00
Mike Hommey ef3ad686ee Bug 1512504 - Remove support for MSVC. r=froydnj
Consequently, this removes:
- MOZ_LIBPRIO, which is now always enabled.
- non_msvc_compiler, which is now always true.
- The cl.py wrapper, since it's not used anymore.
- CL_INCLUDES_PREFIX, which was only used for the cl.py wrapper.
- NONASCII, which was only there to ensure CL_INCLUDES_PREFIX still
  worked in non-ASCII cases.

This however keeps a large part of detecting and configuring for MSVC,
because we still do need it for at least headers, libraries, and midl.

Depends on D19614

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

--HG--
extra : moz-landing-system : lando
2019-02-14 21:45:27 +00:00
Mike Hommey 8b6c5293f7 Bug 1526497 - Always get clang information for bindgen. r=ted
When the build system compiler is clang, and bindgen autodetection
actually finds a different clang via llvm-config, or a different clang
was given with --with-clang-path, we do want the proper flags to be
used for that clang, so we always get the right flags for that clang
instead of trying to shortcut.

Bug 1526857 will take care of making things more proper, while this is a
quick fix to unbreak builds in some unfortunately common kind of local
setups.

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

--HG--
extra : moz-landing-system : lando
2019-02-11 22:04:06 +00:00