Closed Bug 1002596 Opened 11 years ago Closed 11 years ago

Fix various sccache problems with clang

Categories

(Firefox Build System :: General, defect)

All
macOS
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED
mozilla32

People

(Reporter: glandium, Assigned: glandium)

References

(Blocks 1 open bug)

Details

Attachments

(1 file)

I only tested the initial clang support in sccache worked with simple commands, but trying to build firefox revealed many issues: - The compiler detection uses a c input, which clang++ complain about on stderr, and that fails because stderr is not opened for write when executing it. - The -M* flags are given to both the preprocessor and the compiler, which breaks what ends up in depfiles because of the temporary source files for compilation. We only mean to use those flags on preprocessor. - sccache doesn't know all flags clang supports that take a value, most notably -arch, we use during the build. - clan.g tries to be smart with warnings, and may emit more of them when compiling preprocessed output, which, when combined with -Werror leads to build failures. - ECONNREFUSED value is not the same as on Linux
Assignee: nobody → mh+mozilla
Attachment #8413861 - Flags: review?(mshal)
Blocks: sccache-mac
Blocks: 1002614
Comment on attachment 8413861 [details] [diff] [review] Fix various sccache problems with clang The clang -Werror issue is really unfortunate. Can you provide some details in this bug about it? Maybe it is something we could get fixed upstream eventually.
Attachment #8413861 - Flags: review?(mshal) → review+
In file included from /builds/slave/try-osx64-d-000000000000000000/build/obj-firefox/security/certverifier/Unified_cpp_certverifier0.cpp:15: /builds/slave/try-osx64-d-000000000000000000/build/security/certverifier/ExtendedValidation.cpp:839:36: error: self-comparison always evaluates to true [-Werror,-Wtautological-compare] unsigned int flags = (((trustSSL)==trustSSL)?((&nssTrust)->sslFlags): (((trustSSL)==trustEmail)?((&nssTrust)->emailFlags): (((trustSSL)==trustObjectSigning)?((&nssTrust)->objectSigningFlags):0))); ^ 1 error generated.
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla32
Product: Core → Firefox Build System
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: