Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Format the filename relative to cwd in a warning location.
|
|
Warnings have a location node object (with subdir and lineno
attributes), which is passed as a location: kwarg to mlog.warning() and
formatted in _log_error().
Re-purpose the subdir attribute (path relative to the source root dir,
with an implied filename of 'meson.build'), which is stored into the
node by parser(), to contain a pathname.
(Properly I should rename 'subdir' -> 'file' everywhere, but that's a
lot of churn just to see if this works)
Notes:
The warning location node may also have a colno attribute, which is
currently ignored by _log_error().
We can't currently issue warnings with locations in meson_options.txt
because the filename isn't part of the location (as it's assumed to be
'meson.build).
|
|
A MesonException has file, lineno and colno attributes, which get
formatted as a location in mlog.exception().
The file attribute got changed from a path relative to the root source
directory to a pathname (absolute or relative to cwd) in one place in
commit b8fbbf59. Adjust all the other places the file attribute is set
to match.
Also:
Setting MesonException.file seems to be missing in the case where Parser
returned a non-CodeBlockNode object. Fortunately, that looks like it's
unreachable, but add it just in case.
|
|
|
|
After that, the only remaining user of get_error_location_string() is mlog,
so move that there.
|
|
Update the expected output from nm to match changes in binutils 2.34.
|
|
|
|
|
|
* unittests: fix finding python2 if the binary is named python2
Because of the way the python module works the simplicity of the test
function is no longer valid, we need to have and additional name
parameter to make the python module work, as it doesn't look for an
entry called "python2" or "python3", only "python"
* unittests: Don't make our python 2.x check debian specific
* unittests: On macOS the python2 binary is still called python
|
|
Currently, giscanner and the gicompiler paths are only scanned via pkg-config
if they are first found in the host path.
Add a else statement to fix this oversite.
|
|
pkgconfig
Currently, meson hard codes the paths of these binaries which results in
cross-compiled environments to run the host versions of these tools.
However, GObject-introspection provides the appropriate paths to these
utilities via pkg-config
find_program is needed in the case g-i is built as a subproject. If
g-ir-scanner or g-ir-compiler are in the build or source directory use those.
If they aren't found in the source directory, use the results from pkg-config.
|
|
This was dropped when the VS2015 images were removed from Azure.
|
|
|
|
|
|
Update minit.py
|
|
|
|
|
|
|
|
mesonbuild/nirbheek/implement-symbolextractor-windows
Implement symbolextractor on windows + some cleanups/fixes
|
|
|
|
boost: System dependency rewrite
|
|
cmake: Fix dependency loops in custom targets (fixes #6632)
|
|
Use the declared variables infile and outfile
|
|
|
|
Requires the latest LLVm 9.0 release which implements the `-list`
argument to `llvm-lib` and ships with an implementation of `nm` called
`llvm-nm`.
|
|
Supports both MSVC and MinGW toolchains. Checks for MSVC first, then
falls back to MinGW.
|
|
When a source file for a library is changed without adding new extern
symbols, only that library should be rebuilt. Nothing that uses it
should be relinked.
Along the way, also remove trailing `.` in all Ninja rule
descriptions. It's very confusing to see messages like:
```
Linking target mylib.dll.
```
It's confusing that the period at the end of that is not part of the
filename. Instead of removing that period manually in the tests (which
feels wrong!) just don't print it at all.
|
|
meson setup && ninja && touch meson.build && ninja
should only reconfigure but not cause anything to be rebuilt.
|
|
We also need to verify that no CustomBuild targets were rebuilt.
|
|
Of course, this does not skip on the CI, but helps on Windows.
|
|
We actually use this while linking on Windows, and hence we need to
extract symbols from this file, and not the DLL.
However, we cannot pass it instead of the DLL because it's an optional
output of the compiler. It will not be written out at all if there are
no symbols in the DLL, and we cannot know that at configure time. This
means we cannot describe it as an output of any ninja target, or the
input of any ninja target. We must pass it as an argument without
semantic meaning.
|
|
|
|
On Windows, the basename is used to determine the name of the PDB
file. So for a project called myproject, we will create myproject.dll
and myproject.exe, both of which will have myproject.pdb. This is
a file collision. Instead, append `_test`, similar to the C# template.
Fixes AllPlatformTest.test_templates on MSVC. This became a hard error
when we started listing PDBs in the implicit outputs list of ninja
targets.
Do the same for a test that was making the same mistake.
|
|
This is more correct, and forces the target(s) to be rebuilt if the
PDB files are missing. Increases the minimum required Ninja to 1.7,
which is available in Ubuntu 16.04 under backports.
We can't do the same for import libraries, because it is impossible
for us to know at configure time whether or not an import library will
be generated for a given DLL.
|
|
A descriptive string had List replaced with T.List on accident.
|
|
Fixes #6520
Fixes #5223
|
|
mesonbuild/nirbheek/strip-more-unused-linkerlike-args
macOS: Remove more unused linkerlike args
|
|
`-L` and `-headerpad_max_install_names` are both linker arguments that
are commonly passed in CFLAGS too.
Closes https://github.com/mesonbuild/meson/issues/6294
|
|
This makes two basic changes, 1 it moves the name of the linker into the
linker class, this should reduce the number of errors and typos, and
ensure that a linker always has one name. This then renames the linkers
to have more consistent names.
Posix/gnu linkers are called ld.<name>: ld.gold, ld.lld, ld.solaris.
Apple linkers are renamed ld64.
|
|
These are pretty much all over the place because I never intended them
to be exposed to the meson source language, they were meant just for
documentation.
|
|
Which could raise an AttributeError when used on languages like Java and
C# that don't have separate compilers and linkers.
|
|
|
|
Fixes https://github.com/mesonbuild/meson/issues/6651
|