| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
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
|
|
|
|
| |
Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
|
| |
|
|
|
|
|
| |
Commit 93c3ec7e introduced a new way to handle deduplication with
compiler args. This resulted in D includes to be reversed.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
This is useful for automatically generated docs (doxygen, hotdoc)
with a lot of generated files that may differ with different
versions of the generator.
|
| |
|
| |
|
|\
| |
| | |
Add AIX support
|
| | |
|
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| | |
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.
|
| | |
|
| |
| |
| |
| | |
Like the BSDs, AIX does not return anything useful in platform.machine().
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
|\ \
| | |
| | | |
Add C2x option support.
|
| | | |
|
| | | |
|
|\ \ \
| | | |
| | | | |
Fix mapping of apple compilers in cmake
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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.
|
| |/ /
| | |
| | |
| | |
| | | |
These are needed because in some cases we need to be able to know if
we're using vanilla clang or Apple's clang.
|
|\ \ \
| | | |
| | | | |
Various speedups from profiling QEMU's meson.build
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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.
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
|\ \ \
| | | |
| | | | |
Add support for NVidia HPC SDK compilers
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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>
|
| | | |
| | | |
| | | |
| | | | |
Fixes: #7620
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | | |
It's equivalent to copyfile + copystat with the same arguments.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
- 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
fixes #7107
* fix failing test
forgot that func() != func(void) in c
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
| | |
| | |
| | |
| | |
| | | |
If we can't find a static library, we should say that. It's confusing
otherwise.
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
| | | |
|
| |/
|/|
| |
| |
| | |
Issue #5182 (" extract_objects returns duplicate objects") has been fixed.
Add a testcase to ensure it does not regress.
|