aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2020-09-02Add a notice about Python 3.5 supportNirbheek Chauhan2-4/+21
This will be printed in bold at the end of interactive meson sub-commands that won't be parsed by a program. Specifically: setup, compile, test, and install. NOTICE: You are using [...]
2020-09-02Add Entangle application to list of apps using MesonDaniel Berrangé1-0/+1
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2020-09-02dependencies/mpi: add missing annotationDylan Baker1-3/+3
2020-09-02dependencies: Fix type of dependency_factory decoratorDylan Baker1-13/+11
There was both a straight up bug in the type signature (the return type is List[Callable[[], Dependency]] not List[Type[Dependency]]), and in the way the arguments are assembled. Typing is pretty limited in it's ability to express decorators, so the best mypy can do is check the return types (I think). I've done what the docs suggest and it's stopped complaining.
2020-09-02Add some forgotten values for "cpp_std" [skip ci]Michael Brockus1-1/+1
2020-08-31backends: do not look for extra paths unnecessarilyPaolo Bonzini2-8/+6
extra_paths only matter for the host machine if using an exe_wrapper. However, because CustomTarget.for_machine is always MachineChoice.HOST, they were computed unnecessarily in as_meson_exe_cmdline. Defer computation of extra_paths until after we have found out if the custom target executable is really for the host or the build machine, so that we can use exe_for_machine; for_machine then becomes unused and can be removed. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2020-08-31mcompile: Also support -v for verboseNirbheek Chauhan1-1/+1
This matches `meson test`, and there's really no other meaning that could be attributed to this, since you would call `meson` to get the version, not the `compile` sub-command.
2020-08-30CMake module: fix cmake 3.10 compatibility in path generationSebastian Würl1-4/+4
2020-08-30CMake module: fix python 3.6 compatibility in path generationSebastian Würl1-2/+2
2020-08-30CMake module: Allow paths of generated CMake sources for include directoriesSebastian Würl4-5/+24
2020-08-30Clarify the use of -Doption and alternatives [skip ci]Sebastian Engel1-4/+8
The -Doption=value style argument works for all builtin options, and compiler options passed to meson. And some universal options, have additional ways to be passed. However, base options (and compiler options) do not have exactly the same ways of passing as universal options. This change adds a few pieces of information, which might get lost, if the manual is not read serially. [skip ci]
2020-08-30Be stricter when detecting Windows/CygwinChristoph Reiter5-11/+9
This removes the check for "mingw" for platform.system(). The only case I know where "mingw" is return is if using a msys Python under a msys2 mingw environment. This combination is not really supported by meson and will result in weird errors, so remove the check. The second change is checking sys.platform for cygwin instead of platform.system(). The former is document to return "cygwin", while the latter is not and just returns uname(). While under Cygwin it uname() always starts with "cygwin" it's not hardcoded in MSYS2 and starts with the environment name. Using sys.platform is safer here. Fixes #7552
2020-08-30meson_exe: Remove two unused functionsChristoph Reiter1-9/+0
2020-08-30mcompile: use -v instead of --verbose for ninjaIgor Raits1-1/+1
The `--verbose` has been added to ninja in 1.9.0 and we pretend that we have compatibility with Ninja 1.7+. References: https://github.com/ninja-build/ninja/commit/bf7517505ad1def03e13bec2b4131399331bc5c4
2020-08-30unittests: continue on exception instead of breakJames Hilliard1-1/+1
Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
2020-08-30Dedup final install rpath.Jussi Pakkanen1-6/+9
2020-08-30D: fix include orderPierrick Bouvier2-0/+13
Commit 93c3ec7e introduced a new way to handle deduplication with compiler args. This resulted in D includes to be reversed.
2020-08-27tests: make chdir more robust in run_unittests.pyDaniel Mensinger1-2/+4
2020-08-27Fix typo when fetching buildtype option for compiler checksNirbheek Chauhan2-1/+54
This type happened in https://github.com/mesonbuild/meson/pull/7432 and wasn't noticed because I didn't add a test for it. Rectified now. If we don't specify the CRT, MSVC will pick /MT by default (!?) and link to `libcmt.lib`. This actually *breaks* UWP because `libcmt.lib` is not available by default when building for UWP. Was noticed here: https://github.com/cisco/libsrtp/pull/505
2020-08-27test: Add 'dir' support for installed files in test.jsonDaniel Mensinger5-401/+27
This is useful for automatically generated docs (doxygen, hotdoc) with a lot of generated files that may differ with different versions of the generator.
2020-08-27tests: update .gitignoreDaniel Mensinger2-0/+2
2020-08-27tests: fix lchmod check for glibc >= 2.32 (fixes #6784)Daniel Mensinger1-6/+14
2020-08-25Merge pull request #7581 from peterh/aixJussi Pakkanen5-5/+73
Add AIX support
2020-08-25qt module: add qresource support to compile_translationsEli Schwartz3-11/+85
A common pattern in Qt5 applications is to embed translations in the executable using the qresource system. In this case, the list of translation files is already available in the .qrc file and there's no good reason to duplicate this info in meson.build. Let compile_translations optionally take a qrc input, in which case it will go straight to generating the relevant translations and rcc-generated .cpp, and directly return the thing users actually care about -- the .cpp for linking.
2020-08-23Merge pull request #7600 from alexrp/masterJussi Pakkanen4-5/+17
Add C2x option support.
2020-08-22Merge pull request #7609 from dcbaker/submit/2020-08/cmake-fix-apple-clangJussi Pakkanen5-8/+41
Fix mapping of apple compilers in cmake
2020-08-22cmake: Fix detection of AppleClangDylan Baker1-6/+19
It's not enough to detect that the linker is ld64: gcc, icc, and vanilla clang all use ld64 on macoOS. Instead we have to detect the class of the compiler, and determine if it's an Apple Compiler or a vanilla one.
2020-08-22compilers: Add Apple subclasses for ObjC and ObjC++Dylan Baker4-2/+22
These are needed because in some cases we need to be able to know if we're using vanilla clang or Apple's clang.
2020-08-22Update LLVM tool versions for LLVM/Clang 10.Alex Rønne Petersen1-1/+2
2020-08-22Add C2x option support.Alex Rønne Petersen3-4/+15
2020-08-22Merge pull request #7607 from bonzini/speedupJussi Pakkanen5-31/+47
Various speedups from profiling QEMU's meson.build
2020-08-22Merge pull request #7447 from scivision/nvcJussi Pakkanen8-8/+78
Add support for NVidia HPC SDK compilers
2020-08-22added VS Code/Codium extention [skip ci]noasakurajin1-0/+1
2020-08-21Virtualization 💖 Meson [skip ci]Paolo Bonzini1-0/+2
There are a couple new users of Meson that might be worth mentioning. 502 commits later, Libvirt and QEMU have both switched! Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2020-08-20interpreter: Do not get variable on failed subprojectXavier Claessens1-4/+9
Fixes: #7620
2020-08-20Skip nostdlib test on non-x86(_64) platformsmakise-homura1-1/+2
2020-08-20Correctly determine C++ stds for Elbrus compilermakise-homura1-5/+13
2020-08-20simplify shutil usage by invoking copy2 where appropriateEli Schwartz4-10/+5
It's equivalent to copyfile + copystat with the same arguments.
2020-08-18Interpreter: Fix c_stdlib usageXavier Claessens14-43/+81
- Exceptions raised during subproject setup were ignored. - Allow c_stdlib in native file, was already half supported. - Eliminate usage of subproject variable name by overriding '<lang>_stdlib' dependency name.
2020-08-18prevent disabler() object from overwriting arrays (#7484)Elliot3-4/+12
* prevent disabler object from overwriting arrays fixes #7107 * fix failing test forgot that func() != func(void) in c
2020-08-18clike: optimize to_nativePaolo Bonzini1-4/+8
Look for group-able flags with a single regex match, since we are already using regexes for .so files. Also weed out flags other than -isystem very quickly with a single startswith call. On a QEMU build, the time spent in to_native goes from 2.279s to 1.322s.
2020-08-18ninjabackend: avoid lambdasPaolo Bonzini1-3/+2
The lambda in NinjaBuildElement.write is quite expensive, totalling 0.3s just to do a couple function calls. Since it is used just once, simply inline it. On a QEMU build, the total time spent in write from this series goes from 5.321s to 3.238s, though part of it can be attributed to previous patches.
2020-08-18ninjabackend: optimize length_estimatePaolo Bonzini1-10/+12
Optimize the regular expression so that the variable expansion part always ends up in group 1, and the trailer after the variable is discarded in the same match. Do not use re.sub to remove braces, and do not bother building the expanded command, just adjust the estimated length on the fly. functools.reduce is extremely slow, so I am keeping ' '.join(chunk). On a QEMU build the time spend in the function goes from 1.072s to 0.757s.
2020-08-18build: optimize extract_objectsPaolo Bonzini1-1/+2
extract_objects is repeatedly looking up files in self.sources, which is a list. Convert it to a set beforehand so that the lookup is O(1). On a QEMU build, the time spent in extract_objects goes from 3.292s to 0.431s. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2020-08-18File: precompute hashPaolo Bonzini1-1/+4
Most files are going to be looked up into a set or dictionary. Precompute the hash so that we only need to do so once and we can also use it to quickly weed out unequal objects. On a QEMU build, the time spent in __eq__ and __hash goes respectively from 3.110s to 2.162s and from 0.648s to 0.299s. Even larger gains are obtained by the next patch.
2020-08-18ninjabackend: optimize ninja_quotePaolo Bonzini1-5/+9
Use regular expressions to quickly weed out strings that require quoting On a QEMU build the time spent in ninja_quote goes from 1.978s to 1.281s, with str.replace being kicked completely out of the profile.
2020-08-18arglist: optimize flush_pre_postPaolo Bonzini1-7/+10
pre_flush_set and post_flush_set are almost always empty, so we can use extend() instead of a for...in loop to add the previous elements of self._container. We can also skip the conversion from deque to list since pre_flush is always appended on the right side. On a QEMU build the time spent in flush_pre_post goes from 1.4 to 0.5 seconds.
2020-08-17docs: add AIX preliminary support snippetPeter Harris1-0/+8
2020-08-17find_library: include get_linker_always_args in link argsPeter Harris1-1/+1
The linker always args, as the name implies, should always be included. For example, the AIX get_allow_undefined_link_args are a syntax error unless the AIX get_linker_always_args are also used.
2020-08-15add owl chess in Users.md [skip ci]Michael Brockus1-0/+1