Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
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
|
|
This allows users to disable writing out the inbuilt variables to
the pkg-config file as they might actualy not be required.
One reason to have this is for architecture-independent pkg-config
files in projects which also have architecture-dependent outputs.
For example : https://gitlab.freedesktop.org/wayland/weston/issues/269
Fixes #4011
|
|
|
|
This PR significantly improves the handling of the boost library
tags and also ensures that the found libraries are always compatible
(have the same ABI tag). The current setup can also be extended to
filter for additional features (static linking with the runtime, etc.).
Additionally, BOOST_ROOT is better supported (it is now guaranteed
that all found files belong to a single root directory).
Finally, boost.py is now fully annotated (and checked with mypy).
|
|
|
|
Do this by tracking CMAKE_CURRENT_{SOURCE,BINARY}_DIR variables.
This is achieved by injecting CMake code with CMAKE_PROJECT_INCLUDE
and overriding some builtin functions with a wrapper that adds
additional trace information.
|
|
|
|
|
|
|
|
|
|
|
|
It should be a `##` heading, not a `###` heading.
Also make heading label consistent with the others.
|
|
|
|
|
|
`meson setup --debug` puts a bool object in cmd_line_options dictionary
that we have to convert to string.
Fixes: #6646
|
|
|
|
|
|
Just like the native meson subproject has.
|
|
|
|
|
|
|