summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* mcompile: use -v instead of --verbose for ninjaignatenkobrain-ninja-verbose-compatIgor Raits2020-08-301-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
* unittests: continue on exception instead of breakJames Hilliard2020-08-301-1/+1
| | | | Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
* Dedup final install rpath.Jussi Pakkanen2020-08-301-6/+9
|
* D: fix include orderPierrick Bouvier2020-08-302-0/+13
| | | | | Commit 93c3ec7e introduced a new way to handle deduplication with compiler args. This resulted in D includes to be reversed.
* tests: make chdir more robust in run_unittests.pyDaniel Mensinger2020-08-271-2/+4
|
* Fix typo when fetching buildtype option for compiler checksNirbheek Chauhan2020-08-272-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
* test: Add 'dir' support for installed files in test.jsonDaniel Mensinger2020-08-275-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.
* tests: update .gitignoreDaniel Mensinger2020-08-272-0/+2
|
* tests: fix lchmod check for glibc >= 2.32 (fixes #6784)Daniel Mensinger2020-08-271-6/+14
|
* Merge pull request #7581 from peterh/aixJussi Pakkanen2020-08-255-5/+73
|\ | | | | Add AIX support
| * docs: add AIX preliminary support snippetPeter Harris2020-08-171-0/+8
| |
| * find_library: include get_linker_always_args in link argsPeter Harris2020-08-171-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.
| * aix: allow both 32-bit and 64-bit objects in a static libraryPeter Harris2020-08-122-2/+14
| | | | | | | | | | | | Without the -Xany flag, the ar command will complain when an .o file is compiled for the non-default bit width. This change is necessary to allow 64-bit builds via a native (or cross) file.
| * aix: detect and support the AIX dynamic linkerPeter Harris2020-08-122-0/+41
| |
| * aix: fix cpu family detectionPeter Harris2020-08-122-2/+9
| | | | | | | | Like the BSDs, AIX does not return anything useful in platform.machine().
* | qt module: add qresource support to compile_translationsEli Schwartz2020-08-253-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.
* | Merge pull request #7600 from alexrp/masterJussi Pakkanen2020-08-234-5/+17
|\ \ | | | | | | Add C2x option support.
| * | Update LLVM tool versions for LLVM/Clang 10.Alex Rønne Petersen2020-08-221-1/+2
| | |
| * | Add C2x option support.Alex Rønne Petersen2020-08-223-4/+15
| | |
* | | Merge pull request #7609 from dcbaker/submit/2020-08/cmake-fix-apple-clangJussi Pakkanen2020-08-225-8/+41
|\ \ \ | | | | | | | | Fix mapping of apple compilers in cmake
| * | | cmake: Fix detection of AppleClangDylan Baker2020-08-221-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.
| * | | compilers: Add Apple subclasses for ObjC and ObjC++Dylan Baker2020-08-224-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.
* | | Merge pull request #7607 from bonzini/speedupJussi Pakkanen2020-08-225-31/+47
|\ \ \ | | | | | | | | Various speedups from profiling QEMU's meson.build
| * | | clike: optimize to_nativePaolo Bonzini2020-08-181-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.
| * | | ninjabackend: avoid lambdasPaolo Bonzini2020-08-181-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.
| * | | ninjabackend: optimize length_estimatePaolo Bonzini2020-08-181-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.
| * | | build: optimize extract_objectsPaolo Bonzini2020-08-181-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>
| * | | File: precompute hashPaolo Bonzini2020-08-181-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.
| * | | ninjabackend: optimize ninja_quotePaolo Bonzini2020-08-181-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.
| * | | arglist: optimize flush_pre_postPaolo Bonzini2020-08-181-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.
* | | Merge pull request #7447 from scivision/nvcJussi Pakkanen2020-08-228-8/+78
|\ \ \ | | | | | | | | Add support for NVidia HPC SDK compilers
| * | | docMichael Hirsch, Ph.D2020-07-132-0/+4
| | | |
| * | | add Nvidia HPC SDK compilersMichael Hirsch, Ph.D2020-07-136-8/+74
| | | |
* | | | added VS Code/Codium extention [skip ci]noasakurajin2020-08-221-0/+1
| | | |
* | | | Virtualization 💖 Meson [skip ci]Paolo Bonzini2020-08-211-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>
* | | | interpreter: Do not get variable on failed subprojectXavier Claessens2020-08-201-4/+9
| | | | | | | | | | | | | | | | Fixes: #7620
* | | | Skip nostdlib test on non-x86(_64) platformsmakise-homura2020-08-201-1/+2
| | | |
* | | | Correctly determine C++ stds for Elbrus compilermakise-homura2020-08-201-5/+13
| | | |
* | | | simplify shutil usage by invoking copy2 where appropriateEli Schwartz2020-08-204-10/+5
| | | | | | | | | | | | | | | | It's equivalent to copyfile + copystat with the same arguments.
* | | | Interpreter: Fix c_stdlib usageXavier Claessens2020-08-1814-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.
* | | | prevent disabler() object from overwriting arrays (#7484)Elliot2020-08-183-4/+12
| |/ / |/| | | | | | | | | | | | | | | | | | | | | | | * prevent disabler object from overwriting arrays fixes #7107 * fix failing test forgot that func() != func(void) in c
* | | add owl chess in Users.md [skip ci]Michael Brockus2020-08-151-0/+1
| | |
* | | ci: Disable pytest-xdist on cygwinNirbheek Chauhan2020-08-151-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes breakage when installing psutil: Collecting psutil>=3.0.0 Downloading psutil-5.7.2.tar.gz (460 kB) ERROR: Command errored out with exit status 1: command: /usr/bin/python3 -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/cygdrive/c/Users/VSSADM~1/AppData/Local/Temp/pip-install-dajoe3xd/psutil/setup.py'"'"'; __file__='"'"'/cygdrive/c/Users/VSSADM~1/AppData/Local/Temp/pip-install-dajoe3xd/psutil/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base '/cygdrive/c/Users/VSSADM~1/AppData/Local/Temp/pip-pip-egg-info-1ei2_y44' cwd: /cygdrive/c/Users/VSSADM~1/AppData/Local/Temp/pip-install-dajoe3xd/psutil/ Complete output (1 lines): platform cygwin is not supported
* | | find_library: Print type of library not foundNirbheek Chauhan2020-08-151-2/+7
| | | | | | | | | | | | | | | If we can't find a static library, we should say that. It's confusing otherwise.
* | | Add paper rock scissors to Users.md [skip ci]Michael Brockus2020-08-151-0/+1
| | |
* | | ninjabackend: Fix coverage rule generationNirbheek Chauhan2020-08-152-1/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Without the parenthesis, the command evaluates to `[]` if `use_llvm_cov` is `False`. Also fix tests to actually check whether or not coverage reports are generated. Fixes https://github.com/mesonbuild/meson/issues/7553
* | | Add that prefix keyword works for cc.get_defineJohn Scott2020-08-151-1/+1
| | |
* | | docs: Clarify some FAQs in the Tutorial [skip ci]Nirbheek Chauhan2020-08-141-1/+13
| | | | | | | | | | | | | | | | | | Clarifications that were observed to be needed when seeing a user try the Tutorial for the first time at: https://www.twitch.tv/videos/709237047?t=50m20s
* | | mtest: Actually call colorize_console()Nirbheek Chauhan2020-08-131-1/+1
| | |
* | | add testcase for issue #5182Paolo Bonzini2020-08-131-0/+3
| |/ |/| | | | | | | Issue #5182 (" extract_objects returns duplicate objects") has been fixed. Add a testcase to ensure it does not regress.