Closed Bug 1617769 Opened 5 years ago Closed 5 years ago

Pass bindgen clang args ourselves rather than rely on individual crates doing they homework

Categories

(Firefox Build System :: General, task)

task
Not set
normal

Tracking

(Not tracked)

RESOLVED WONTFIX

People

(Reporter: glandium, Assigned: glandium)

References

Details

Attachments

(4 obsolete files)

No description provided.

Bingen supports a BINDGEN_EXTRA_CLANG_ARGS environment variable since
version 0.49.0. Use that instead of relying on individual crates doing
it properly (hint: some crates in Firefox don't do it at all, breaking
some cross-compilation setups).

Depends on D63991

The build system now does due diligence on its own.

Depends on D63992

The build system now does due diligence on its own.

Depends on D63993

After these 4 patches, we're left with neqo, which is vendored and will have to be dealt with separately.

For now, I'm going to bail on this. This is a massive can of worms.

  • Some bindgen callers are not actually generating bindings for C++, but we unconditionally pass flags for C++
  • Many callers don't actually need many of the Gecko-specific flags that are set via basic_bindgen_cflags. Those flags have been originally set for servo, and have essentially been cargo culted most of everywhere.
  • Some bindgen callers need the same C/C++ standard flags as Gecko, some don't.

It somehow works out ok right now but is a big mess, and a single BINDGEN_EXTRA_CLANG_ARGS across the tree doesn't help in any way.

Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → WONTFIX
Attachment #9128675 - Attachment is obsolete: true
Attachment #9128676 - Attachment is obsolete: true
Attachment #9128677 - Attachment is obsolete: true
Attachment #9128678 - Attachment is obsolete: true
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: