| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
| |
According to http://testanything.org/tap-specification.html
"Any output line that is not a version, a plan, a test line, a
diagnostic or a bail out is considered an âunknownâ line. A TAP parser
is required to not consider an unknown line as an error but may
optionally choose to capture said line and hand it to the test
harness, which may have custom behavior attached [...] TAP::Harness
reports TAP syntax errors at the end of a test run".
(glib gtest can generate empty lines)
|
|
|
|
|
|
| |
The main library must come before extra libraries, because they are
likely to be dependencies of the main library that get promoted from
private to public. This was causing static link issues with glib-2.0.pc.
|
| |
|
|
|
|
|
|
| |
On illumos (and presumably Solaris, though I can't test) cc normally
points to Sun CC, which we don't support. So ensure that gcc is used
explicitly in that case.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Do not strip static archives
Stripping static archives without more fine-grained options (e.g. `-g`)
leads to failures such as
ld: libfoo.a: error adding symbols: archive has no index; run ranlib to add one
because GNU strip removes *every* symbol in a static archive by default.
Given that static archives are not final build artifacts (unlike
executables and shared libraries), stripping them gains little and only
causes more edge case failures.
* Gentoo's portage only strips debug information:
https://github.com/gentoo/portage/blob/86f211e3a552753eb945670a39c1a3b14c3c3bd1/bin/estrip#L322
* Fedora also only strips debug information:
https://github.com/rpm-software-management/rpm/blob/e9c13c6565cf4782d1f73255ee9144dd9bd2aca7/scripts/brp-strip-static-archive#L18
* Debian also only does some very light stripping:
https://github.com/Debian/debhelper/blob/72ed1d3261730d56da6afde0ec7f52f32976e04d/dh_strip#L374
Fixes #4138
* Add test case for static archive stripping
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
class
Instead of the DynamicLinker returning a hardcoded value like
`-Wl,-foo`, it now is passed a value that could be '-Wl,', or could be
something '-Xlinker='
This makes a few things cleaner, and will make it possible to fix using
clang (not clang-cl) on windows, where it invokes either link.exe or
lld-link.exe instead of a gnu-ld compatible linker.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
Clang doesn't really like having no-undefined plus the address sanitizer, but
gcc doesn't mind. This all happens to work with clang + gnu ld, but with clang
+ apple ld this turns into a dumpster fire. Just add b_lundef=false to make
everyone happy.
|
|
|
|
| |
which is needed by swift.
|
|
|
|
|
|
| |
This is useful if one needs to check if a variable is a disabler.
Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
|
| |
|
| |
|
| |
|
|
|
|
| |
Allows people to run specific tests and/or enable verbose mode.
|
| |
|
|
|
|
|
|
|
| |
Also, always run pytest using the module format to ensure that we're
always using the Python interpreter selected by the user.
Fixes issue reported in https://github.com/mesonbuild/meson/pull/5621#issuecomment-513034198
|
|
|
|
| |
It's better to quickly skip when the network is unavailable or slow.
|
|
|
|
|
|
|
|
|
|
| |
@TingPing has a repository that contains a grammar for meson which is
used by linguist (GitHub), and by many editors such as Atom, VS Code,
TextMate, Sublime Text, etc. Add CI so that we notice that the
function list in it is out of date, such as https://github.com/TingPing/language-meson/pull/3
It's harder to do this generically for other syntax such as the `in`
keyword, but it's better than nothing.
|
|
|
|
|
|
|
|
|
|
| |
This reverts the changes to the `section` key for the
buildoptions and moves the machine choice into it's
own `machine` key.
With this commit the __undocumented__ breaking change
to the introspection format (introduced in 0.51.0) is
reverted and a new key is added instead.
|
|
|
|
|
|
| |
Instead of trying to guess whether we need py or python3, and then
falling over when whatever we guessed isn't in the path or isn't right,
just use sys.executable which should always work.
|
| |
|
|
|
|
|
| |
Seems to cause the umask tests to fail:
https://github.com/mesonbuild/meson/pull/5546#issuecomment-509666523
|
|\
| |
| | |
add clang c_std=c18 alias and cleanup logic for compiler version unit tests
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
fix unit test skips for clang c18
correct unittests clang minimum version
cleanup unittest clang skip c_std
finesse unittest vs. clang version
|
|\ \
| | |
| | | |
Add alias_target() function
|
| | | |
|
|/ / |
|
|/
|
|
|
| |
We can't rely on 'py' always being available in PATH, use
sys.executable which is the real path to Python 3.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Skip finding a .py script w/o extension on Windows if `.PY` isn't in
PATHEXT; closes #4355
|
|
|
|
|
| |
VCToolsVersion is not always set, and MS docs recommend getting the
info from a file
|
|
|
|
| |
Since it hangs and causes azure to time out.
|
|
|
|
|
| |
VS and virus scanners complain when generating executables
in temporary directories.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
(cherry picked from commit ae6426cd8acfe0ccc5d7958d55edb613b4a5bf01)
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
(cherry picked from commit 27ae70dfaaff1298e68df70098acaa96f7ca748a)
|
|
|
|
| |
See the docs/ changes for details.
|