Age | Commit message (Collapse) | Author | Files | Lines |
|
Fixes #5570
|
|
There are two problems with this:
- It has false positives when the code that trips it is conditional and
no run on cross.
- It confuses users who never wrote any `native` flags and don't care
about cross.
Fixes #5509
|
|
- AttributeError: 'ValaCompiler' object has no attribute 'get_program_dirs'
Fixed by adding a `get_program_dirs()` function to the base Compiler
class, to match `get_library_dirs()`
- KeyError: 'vala_COMPILER'
Fixed by creating the Vala compile rules for all machines, not just
the build machine.
|
|
This further simplifies behavior to match the "build vs host" decision
we did with `c_args` vs `build_c_args`. The rules are now simply:
- `native: true` affects `native: true` targets
- `native: false` affects `native: false` targets
- No native flag is the same as `native: false`
I like this because you don't even have to know what "build" and "host"
mean to understand how it works, and it doesn't depend on whether the
overall build is cross or not.
Fixes #4933
|
|
need one
Fixes cross compiling mesa from x86_64 -> x86 on an x86_64 system.
Fixes #5567
|
|
|
|
|
|
|
|
In some cases it may be necessary to set PKG_CONFIG_SYSROOT_DIR, like
when you've mounted a host architecture system in an arbitrary path.
Meson will now check the cross files for a [properties]:sys_root
variable and set the PKG_CONFIG_SYSROOT_DIR environment variable based
on that variable.
Fixes #3801
Fixes #4057
|
|
Add ifort on Windows
|
|
* c_function_attributes: remove 'protected' from 'visibility'
This doesn't exist on macos with the apple compiler, which always causes
failures.
Fixes #5530
* compilers: Add split visibility checks to has_function_attribute
These check for a single visibility at a time, rather than all four at
once. This allows for finer grained searches, and should make using
these checks safer across operating systems.
|
|
calling this function too ~60 sec. before, now 0.000435 sec.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ifort passes all tests
cleanup logic
|
|
* coredata: Correctly handle receiving a pipe for native/cross files
In some cases a cross/native file may be a pipe, such as when using bash
process replacement `meson --native-file
<([binaries]llvm-config='/opt/bin/llvm-config')`, for example. In this
case we copy the contents of the pipe into a file in the meson-private
directory so we can create a proper ninja dependency, and be able to
reload the file on --wipe/--reconfigure. This requires some extra
negotiation to preserve these native/cross files.
Fixes #5505
* run_unitests: Add a unit test for native files that are pipes
Using mkfifo.
|
|
|
|
We were setting the base options for the Objective-C compiler
manually, due to which options such as b_bitcode and b_ndebug were not
getting set at all.
The base options here are the same as for C code with the Clang
compiler, so just use the same inherited list.
Also expand the bitcode test to ObjC and ObjC++ so this doesn't happen
again.
|
|
|
|
|
|
|
|
This uses the fix as suggested in issue 5491, which it also fixes.
Fixes #5491
|
|
|
|
|
|
CMake code refactor
|
|
|
|
i86pc may be either 32-bit or 64-bit, so use existing compiler checks
to determine if it should return 'x86' or 'x86_64'.
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
|
|
|
|
|
Currently meson does not write the outcome of this test to the log
file which makes debugging wrong outcomes of this incredibly tedious.
|
|
|
|
|
|
|
|
|
|
This ensures that invalid arguments properly cause errors, but doesn't
otherwise change semantics
|
|
Fixes #5351
|
|
This mirrors the modules keyword argument that some dependencies (such
as qt and llvm) take. This allows an easier method to determine if
modules are installed.
|
|
Revert the change done to Armclang compiler class in PR-4010
|
|
|
|
Fixes #5474
|
|
`native` kwarg is already handled
|
|
All uses now use `env.machines.YYY.is_XXX` instead.
|
|
|
|
Some things, like `method[...](...)` or `x: ... = ...` python 3.5
doesn't support, so I made a comment instead with the intention that it
can someday be made into a real annotation.
|
|
In most cases instead pass `for_machine`, the name of the relevant
machines (what compilers target, what targets run on, etc). This allows
us to use the cross code path in the native case, deduplicating the
code.
As one can see, environment got bigger as more information is kept
structured there, while ninjabackend got a smaller. Overall a few amount
of lines were added, but the hope is what's added is a lot simpler than
what's removed.
|
|
This is a small example of the `is_cross` removal the that abstraction
enables.
|