aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild
AgeCommit message (Collapse)AuthorFilesLines
2019-06-30xcodebackend: Fix iterating compilers after host/build changesDylan Baker1-1/+1
Fixes #5570
2019-06-28Remove build host mixing warning on nativeJohn Ericson1-5/+0
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
2019-06-27Fix two errors when cross-compiling with ValaJames Westman2-2/+4
- 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.
2019-06-27`add_{global,project}_{,link_}arguments`: simply native flag behaviorJohn Ericson1-26/+8
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
2019-06-27meson_exe: Don't assert that we need an exe_wrapper when we say we don't ↵Dylan Baker2-5/+7
need one Fixes cross compiling mesa from x86_64 -> x86 on an x86_64 system. Fixes #5567
2019-06-27Improve error message when Python is not usable. [skip ci]Jussi Pakkanen1-1/+1
2019-06-27sanitycheckc: avoid linking sanitycheckc when cross compilingCody Schafer3-7/+14
2019-06-27gnome.py: correctly pick the compiler for gtk-doc buildsAlexander Kanavin1-4/+1
2019-06-26dependencies/base: Set PKG_CONFIG_SYSROOT_DIR from cross fileDylan Baker1-0/+4
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
2019-06-24Merge pull request #5524 from scivision/icl_ifortDylan Baker5-28/+33
Add ifort on Windows
2019-06-25Split attribute visibilityDylan Baker1-2/+9
* 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.
2019-06-24meson: add cache for getting optionsMarcel Hollerbach1-0/+1
calling this function too ~60 sec. before, now 0.000435 sec.
2019-06-24typoMichael Hirsch, Ph.D1-1/+1
2019-06-24known Python 3.5 on windows workaround for subprocess(cwd=str(Path))Michael Hirsch, Ph.D1-1/+2
2019-06-24windows ifort can't do shared_library sanelyMichael Hirsch, Ph.D1-4/+2
2019-06-24update compiler ID for windows INtel MPIMichael Hirsch, Ph.D1-1/+1
2019-06-24intel windows coarray argsMichael Hirsch, Ph.D1-0/+4
2019-06-24BUGFIX: typo for PGI C/CPPMichael Hirsch, Ph.D1-1/+1
2019-06-24correct missing argument for IntelClFortranCompilerMichael Hirsch, Ph.D4-22/+24
ifort passes all tests cleanup logic
2019-06-23coredata: Correctly handle receiving a pipe for native/cross filesDylan Baker3-35/+58
* 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.
2019-06-23BUGFIX: Fortran module regex handle more edge casesMichael Hirsch, Ph.D1-4/+4
2019-06-23compilers: Fix bitcode and other options for objc codeNirbheek Chauhan2-2/+0
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.
2019-06-22Increase logging for Rust CI failures.Jussi Pakkanen1-3/+11
2019-06-21Made TestHarness a context manager to ensure files get closed.Jussi Pakkanen1-14/+25
2019-06-21Do not quote targetdep, Ninja fails if it contains double quotes.Jussi Pakkanen1-1/+1
2019-06-21environment: Fix detection of Microsoft cl.exe with non English localesDylan Baker1-1/+1
This uses the fix as suggested in issue 5491, which it also fixes. Fixes #5491
2019-06-20fortran depscan: ignore module procedureMichael Hirsch, Ph.D1-2/+2
2019-06-20BUGFIX syntaxMichael Hirsch, Ph.D1-7/+10
2019-06-19Merge pull request #5457 from mensinda/cmakeRefactorJussi Pakkanen7-490/+582
CMake code refactor
2019-06-19Handle thread flags when not using C at all. Closes #5497.Jussi Pakkanen1-2/+8
2019-06-19Canonicalize 'i86pc' return from platform.machine() for SolarisAlan Coopersmith1-2/+2
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>
2019-06-16Update version number for new development.Jussi Pakkanen1-1/+1
2019-06-16Update things for new release.0.51.0Jussi Pakkanen1-1/+1
2019-06-13compilers: Add logging for symbol prefix testMarvin Scholz1-0/+2
Currently meson does not write the outcome of this test to the log file which makes debugging wrong outcomes of this incredibly tedious.
2019-06-13tvOS: added support AppleTVOSRoman Shpuntov4-8/+8
2019-06-13dependencies/shaderc: fix exception caused by typoAndrei Alexeyev1-1/+1
2019-06-12cmake: Move parsing the CMake trace into the CMake moduleDaniel Mensinger4-324/+347
2019-06-12cmake: Moved finding and running CMake out of dependencyDaniel Mensinger5-167/+236
2019-06-12Further deduplicate Interpreter native kwarg codeJohn Ericson1-15/+15
This ensures that invalid arguments properly cause errors, but doesn't otherwise change semantics
2019-06-12Solaris fixesKurtis Rader2-0/+4
Fixes #5351
2019-06-12modules/python: add a modules keyword argumentDylan Baker1-4/+34
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.
2019-06-11compilers: armclang supports only cross-compilationsompen1-1/+1
Revert the change done to Armclang compiler class in PR-4010
2019-06-11compilers/cpp: Fix removal of name from Combo options for Armclangsompen1-2/+1
2019-06-11environment: better xcode 11 clang detectionDan Kegel1-2/+2
Fixes #5474
2019-06-09Simplify `ConfigToolDependency` for_machineJohn Ericson1-4/+2
`native` kwarg is already handled
2019-06-09remove `for_XXX` functions from mesonlibJohn Ericson1-70/+0
All uses now use `env.machines.YYY.is_XXX` instead.
2019-06-09Simplify and dedup machine kwarg -> MachineChoice logic in the interpreterJohn Ericson1-16/+8
2019-06-09Add some type annotationsJohn Ericson1-7/+7
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.
2019-06-09Purge `is_cross` and friends without changing user interfacesJohn Ericson36-841/+701
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.
2019-06-09Use `env.machines.*` to avoid some `is_cross`John Ericson7-81/+63
This is a small example of the `is_cross` removal the that abstraction enables.