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

28 Коммитов

Автор SHA1 Сообщение Дата
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
Emilio Cobos Álvarez 7e29cc1765 Bug 1523071 - Update cbindgen. r=glandium,jwatt
Gonna need it to use https://github.com/eqrion/cbindgen/pull/275.

Differential Revision: https://phabricator.services.mozilla.com/D17736
2019-02-10 04:09:54 +01:00
Mike Hommey c5bfd96206 Bug 1524467 - Fix and refactor basic_bindgen_cflags. r=froydnj
basic_bindgen_cflags's function is to set some flags for use with
rust-bindgen through clang/libclang for C++ code. Part of the flags it
sets are for the C++ standard, and the target.

Unfortunately, some of the logic wrt target-specific flags is currently
broken. It wants to apply per-compiler flags on Windows, but fails to do
so. First, because the condition test is wrong, and second, because it
only cares about msvc and not clang-cl.

OTOH, we already have those flags when the compiler is clang or
clang-cl. And we already have code to get the right flags for a given
compiler. So when the compiler is not clang or clang-cl, we can use that
to get the right flags for the clang we're going to use for bindgen.

Depends on D18316

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

--HG--
extra : moz-landing-system : lando
2019-02-05 00:27:33 +00:00
Tom Ritter 55eb3434be Bug 1523003 - Remove the force-ms-compatibility for clang-cl r=glandium 2019-01-27 17:19:57 -06:00
Mark Banner 3a4a57f3fa Bug 1523593 - Pass arguments to check_cmd_output as simple arguments rather than a list. Bustage fix from bug 1523153. r=Gijs a=Aryx
Reviewers: Gijs

Reviewed By: Gijs

Subscribers: Gijs

Bug #: 1523593

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

--HG--
extra : rebase_source : 8e6098c9a53a2dbb8411c645b24cd045537ce42b
extra : amend_source : ef98541406c0bb72e920a1df6c28fe3272fcacb6
2019-01-29 15:42:05 +02:00
Mike Hommey 621fd58bd3 Bug 1523153 - Use find_program instead of which in llvm_config_paths. r=chmanchester
Also, while here, replace subprocess.check_output with check_cmd_output.

Depends on D17771

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

--HG--
extra : moz-landing-system : lando
2019-01-29 01:17:49 +00:00
Emilio Cobos Álvarez d133439037 Bug 1519501 - Update min cbindgen version. r=dmajor
We need this to properly generate the WR bindings.

Also update the comment since the check was recently moved.

Differential Revision: https://phabricator.services.mozilla.com/D16398
2019-01-14 13:44:27 +01:00
Mike Hommey fd2ad54c49 Bug 1519319 - Move cbindgen check to bindgen.configure. r=froydnj
Depends on D16292

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

--HG--
extra : moz-landing-system : lando
2019-01-11 15:42:07 +00:00
Benjamin Bouvier db0cd81fb4 Bug 1495669: Share bindgen flags globally; r=emilio, r=froydnj
--HG--
extra : rebase_source : 83bfa2a61e523048d0e618ed5920c4aa143a2582
extra : histedit_source : cfc8de67959c5a2dffc5fea3ee5be172bfc370e1%2C53a6b4c0de444b4a7ee04cdd015568069bca893a
2018-10-09 15:01:52 +02:00
Nathan Froyd 18ef37dc2c Bug 1476427 - part 3 - convert bindgen options into js_options; r=chmanchester 2018-07-26 17:37:56 -04:00
Nathan Froyd 85b06ba88f Bug 1476427 - part 2 - whitelist projects that require bindgen; r=chmanchester
JS, at least, doesn't need bindgen at this point.  If JS does start
requiring bindgen under certain build configurations, we'll have to
figure out what to do about the bindgen dependency at that point:
require bindgen always, or just require bindgen for the
configuration(s).
2018-07-26 17:37:56 -04:00
Nathan Froyd 08902bdd4d Bug 1476427 - part 1 - move bindgen configure bits to a separate file; r=chmanchester
This change makes the config variables determined for
bindgen (MOZ_CLANG_PATH et al) available to JS.
2018-07-26 17:37:56 -04:00