This helps get sccache hits across source directories.
The previous presentation guaranteed the version of `ftlcdfil.h` in
the tree, while this unorthodox presentation only ensures that the
`freetype2` directory has parent `modules`. This is at least unlikely
to occur in random `/usr/include` directories.
If this turns out to be an issue it would be possible to copy
`ftlcdfil.h` into the object directory, potentially with a unique
name, and then reference that (with a relative path).
Differential Revision: https://phabricator.services.mozilla.com/D73759
We create sub images from larger images by using a stride that matches
the original and adjusting the offset. This creates a situation where
the last row will only have stride - offset bytes. This stops us
from lying to CGDataProvider.
Differential Revision: https://phabricator.services.mozilla.com/D77476
`register` isn't allowed in C++17, but cairo is too old to care.
Instead of turning off the warning, just use the `__builtin_popcount`
path for clang. This path also applies to clang-cl.
Differential Revision: https://phabricator.services.mozilla.com/D44047
--HG--
extra : moz-landing-system : lando
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
- modify line wrap up to 80 chars; (tw=80)
- modify size of tab to 2 chars everywhere; (sts=2, sw=2)
--HG--
extra : rebase_source : 7eedce0311b340c9a5a1265dc42d3121cc0f32a0
extra : amend_source : 9cb4ffdd5005f5c4c14172390dd00b04b2066cd7
By default, windows.h exposes a large number of problematic define statements
which are UpperCamelCase, such as a define from `CreateWindow` to
`CreateWindow{A,W}`.
As many of these names are generic (e.g. CreateFile, CreateWindow), they can
mess up Gecko code that may legitimately have its own methods with the same
names.
The header also defines some traditional SCREAMING_SNAKE_CASE defines which
can mess up our code by conflicting with local values.
This patch adds a simple code generator which generates wrappers for these
defines, and uses them to wrap the windows.h wrapper using the `stl_wrappers`
mechanism, allowing us to use windows.h in more places.
Differential Revision: https://phabricator.services.mozilla.com/D10932
By default, windows.h exposes a large number of problematic define statements
which are UpperCamelCase, such as a define from `CreateWindow` to
`CreateWindow{A,W}`.
As many of these names are generic (e.g. CreateFile, CreateWindow), they can
mess up Gecko code that may legitimately have its own methods with the same
names.
The header also defines some traditional SCREAMING_SNAKE_CASE defines which
can mess up our code by conflicting with local values.
This patch adds a simple code generator which generates wrappers for these
defines, and uses them to wrap the windows.h wrapper using the `stl_wrappers`
mechanism, allowing us to use windows.h in more places.
Differential Revision: https://phabricator.services.mozilla.com/D10932
The deletions in xptcall are when we don't even have support for the CPU
in moz.configure, so I assume that people haven't been compiling on
those architectures for quite some time.
The current code is somewhat non-obvious to a first-time reader, and
OS_TEST is a bizarre thing anyway, since it's actually the name of the
CPU we're running on. We'd do well to minimize the use of OS_TEST.
Note that the complete nuking of the xptcall/md/unix/moz.build lines are
because we don't support OS X/x86 anymore.
pixman-8888-over-565.patch added a call to free(), which is apparently
not included by the other headers when using the new NDK headers.
MozReview-Commit-ID: 9fAuSano36N
--HG--
extra : rebase_source : de9a1f1c4676df9ed724ae7264ca1170b77aac52
pixman-8888-over-565.patch added a call to free(), which is apparently
not included by the other headers when using the new NDK headers.
MozReview-Commit-ID: 9fAuSano36N
--HG--
extra : rebase_source : 92c1e729c41cebf320ef5d5b2de5d3fa14c8e121
This flag should be two parameters, the first of which is '--param', and
the second is the parameter, such as 'inline-unit-growth=10000'. The
recursive make backend lets this slide at the moment because
PerSourceFlags aren't shell_quoted() there.
MozReview-Commit-ID: 8vblYqCGxwg
--HG--
extra : rebase_source : b3fb7fd78e1deec27c3ceb2bcc706e2e3e201e9e