aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
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
2020-08-15ci: Disable pytest-xdist on cygwinNirbheek Chauhan1-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
2020-08-15find_library: Print type of library not foundNirbheek Chauhan1-2/+7
If we can't find a static library, we should say that. It's confusing otherwise.
2020-08-15Add paper rock scissors to Users.md [skip ci]Michael Brockus1-0/+1
2020-08-15ninjabackend: Fix coverage rule generationNirbheek Chauhan2-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
2020-08-15Add that prefix keyword works for cc.get_defineJohn Scott1-1/+1
2020-08-14docs: Clarify some FAQs in the Tutorial [skip ci]Nirbheek Chauhan1-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
2020-08-13mtest: Actually call colorize_console()Nirbheek Chauhan1-1/+1
2020-08-13add testcase for issue #5182Paolo Bonzini1-0/+3
Issue #5182 (" extract_objects returns duplicate objects") has been fixed. Add a testcase to ensure it does not regress.
2020-08-12aix: allow both 32-bit and 64-bit objects in a static libraryPeter Harris2-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.
2020-08-12aix: detect and support the AIX dynamic linkerPeter Harris2-0/+41
2020-08-12aix: fix cpu family detectionPeter Harris2-2/+9
Like the BSDs, AIX does not return anything useful in platform.machine().
2020-08-12interpreter: Don't force fallback when subproject failed to configureXavier Claessens2-1/+20
Fixes: #7534
2020-08-12cmake: Use a mapping when writing compiler IDNirbheek Chauhan1-1/+26
Meson and CMake compiler ids are different. This commit adds a mapping from the meson list: https://mesonbuild.com/Reference-tables.html#compiler-ids to the CMake list: https://cmake.org/cmake/help/latest/variable/CMAKE_LANG_COMPILER_ID.html The mapping is not 1-1, and not all entries are mapped, so this is a best-effort attempt. Fallback to GNU as before to try to limp along and hope that the build files don't rely on an accurate compiler ID.
2020-08-12cmake: Fix hard-coded values in fake CMakeLists for MSVCNirbheek Chauhan1-16/+28
Without this, MSVC and MSVC_VERSION won't be set by CMake during platform detection, and the compiler will be an undefined mixture of GNU and MSVC. In particular, find_package(opencv) will fail on Windows when building with MSVC.
2020-08-12Test for spurious warning from get_target_filenamePaolo Bonzini4-0/+18
Fixed by #7494 without a test, so here's a test. Extracted from https://github.com/mesonbuild/meson/pull/7539
2020-08-11Add h5cc shlib argument for correctly link hdf5 librariesWilliam F Godoy1-1/+2
respect "static" key in dependency function -shlib for static dependency -noshlib for static dependency
2020-08-09msvc: enable /std:c11 flagMichael Hirsch1-0/+20
2020-08-09cmake: Detect custom command targets in compiler argsDaniel Mensinger4-1/+27
This is required to make `-include /path/to/custom/target.hpp` work. This setup is used by wxWidgets and this PR is required to use wxWidgets as a CMake subproject.
2020-08-09cmake: Make the CMake targte not found error more useful (see #7567)Daniel Mensinger1-1/+3
2020-08-08Use uname -p to detect x86_64 on QNX.Elad Lahav2-1/+3
2020-08-07Better log message on rpath error.Jussi Pakkanen1-1/+2
2020-08-08Written a new paragraph for var naming recommendation (#7531)Michael Brockus1-3/+6
2020-08-08mtest: fix skipping with various prefixesMarc-André Lureau2-1/+2
According to the specification: https://testanything.org/tap-specification.html#skipping-tests The harness should report the text after # SKIP\S*\s+ as a reason for skipping. (it's not exactly like the TODO directive, the phrasing/presentation of the spec could be improved).
2020-08-08completions/zsh: Add --native-fileDylan Baker1-0/+1
Which is missing
2020-08-08common/234: avoid intermittent failure by dynamic path length generationMichael Hirsch5-20/+39
2020-08-07cmake: make the traceparser permissive by default (fixes #7501)Daniel Mensinger2-1/+4
2020-08-07interpreter: Lower case languages before checking if 'c' is in the listXavier Claessens2-2/+3
Fixes: #7495
2020-08-07qt dependency: do not require all the tools automaticallyEli Schwartz1-5/+5
The compilers_detect function is only used in the qt module, which checks every time before using a specific compiler, if it is found. e.g. meson.build:10:6: ERROR: MOC sources specified and couldn't find moc-qt5, please check your qt5 installation In fact, the current check means we never even hit this error to begin with, because we previously died on the uninformative error: meson.build:10:6: ERROR: Program(s) ['moc'] not found or not executable which doesn't actually tell the user why this matters, and is all around a waste of time. Fixes #5582
2020-08-06cmake: Fix failing test case. Followup to #7527.Daniel Mensinger1-1/+1
2020-08-05Merge pull request #7527 from mensinda/cnFixExeJussi Pakkanen7-21/+55
cmake: resolve IMPORTED executables in custom commands (fixes #7509)
2020-08-05mtest: TestResult.SKIP is not a failure (#7525)Simon McVittie5-1/+58
* mtest: TestResult.SKIP is not a failure If some but not all tests in a run were skipped, then the overall result is given by whether there were any failures among the non-skipped tests. Resolves: https://github.com/mesonbuild/meson/issues/7515 Signed-off-by: Simon McVittie <smcv@debian.org> * Add test-cases for partially skipped TAP tests issue7515.txt is the output of one of the real TAP tests in gjs, which failed as a result of #7515. The version inline in meson.build is a minimal reproducer. Signed-off-by: Simon McVittie <smcv@debian.org>
2020-08-05cmake: Use the DEBUG config when linking to the debug CRTNirbheek Chauhan1-1/+4
The `debug` builtin option does not control whether or not the debug CRT is used. Without this fix, when buildtype=debugoptimized or when debug=true + b_vscrt=md, we will try to link to the debug libraries found via cmake while linking with `/release`, which will cause a link failure.