Age | Commit message (Collapse) | Author | Files | Lines |
|
Error is raised due to Elbrus Fortran compiler can't
generate debug information for now, because it's a 2-step
compiler where 1st step is code conversion from Fortran to C,
so debug information which C compiler would produce, is useless.
|
|
|
|
|
|
|
|
...But somehow it still remains in C++ compiler.
|
|
cmake: Refactor CMakeExecutor and CMakeTraceParser
|
|
Add ability to set and query arbitrary variables on declare_dependency objects
|
|
|
|
|
|
|
|
|
|
This moves most of the execution code from the CMakeInterpreter
into CMakeExecutor. Also, CMakeTraceParser is now responsible
for determining the trace cmd arguments.
|
|
|
|
With GCC 10, -fno-common becomes default behavior, meaning that any
subtly-broken code will be broken not so subtly anymore.
This commit changes the linkage to variables declared in headers to
external and, where needed, adds additional definitions in other
compilation units.
|
|
When a dependency is required, not found on the system, and its fallback
is disabled with --wrap-mode=nofallback, meson should abort instead of
returning not-found.
|
|
Fixes: #6477
|
|
Fixes #6456
|
|
Fixes: #6505.
|
|
|
|
Getting the runtime version fails when no devices are present.
|
|
|
|
Use OrderedDict instead of dict() to ensure that the order is the same
every time, and change the unit test to check for that.
|
|
|
|
Need gcc 6.0 or newer: https://gcc.gnu.org/wiki/Fortran2008Status
|
|
|
|
* xenial doesn't ship many dependencies, so make them all optional
since we don't guarantee that everything will work
* cmake/{5,6}: needs stdlib.h for EXIT_SUCCESS on GCC 5
* common/222: needs C++11, and GCC 5 doesn't understand `auto`
correctly unless we explicitly enable it.
* frameworks/1 boost: xenial doesn't ship boost_python3, so make it
properly optional
* frameworks/6 gettext: gettext can be installed without xgettext,
which doesn't cause the project to fail, but the installed files
list is different which causes the test to fail.
* frameworks/7 gnome: gobject-introspection can't be enabled because
the sanitizer unit test detects leaks in glib and fails
|
|
Fixes compatibility of unit tests with Python 3.5.2 on Ubuntu 16.04
|
|
Deriving from typing.MutableSequence does not give us a usable
sequence type on Python 3.5.2.
|
|
Explicitly use the type instead of the string 'NotImplemented' which
still works with Python 3.5.2
Fixes https://github.com/mesonbuild/meson/issues/6427
|
|
|
|
|
|
|
|
|
|
_guess_linker method
Fixes #6448
|
|
Reuse the git helper for `meson wrap` and `meson subprojects` so we
don't need to maintain the same git-colors-on-windows workarounds in
multiple places.
|
|
No functional changes. Split out from the next commit for ease of
reading.
|
|
`git submodule update --recursive` calls git clone recursively, and on
Windows it will undo the console mode we set in mlog and cause ANSI
colors to stop working. We could set it again only when we call that,
but we will definitely miss other instances where this could happen
in the future and regress.
|
|
Without this git messes up the console and ANSI colors stop working on
Windows inside cmd.exe.
This broke in https://github.com/mesonbuild/meson/pull/6139. Also add
the same to all git calls. Missed this when I opened
https://github.com/mesonbuild/meson/pull/6255
|
|
We need this for the next commit.
|
|
No need to repeatedly call `shutil.which`.
|
|
This makes things much clearer and follows PEP8.
|
|
Fixes #6492
|
|
pkgconf automatically prunes "system library paths" from its output. The
system library paths depend on the system toolchain. A common value on a
64-bit system is as follows:
/lib64:/usr/lib64:/usr/local/lib64
So, if -L/usr/lib64 appears in the Libs section, it will be pruned from
the output of pkg-config --libs.
The pc files generated for this test contain something like this:
libdir=/usr/lib
Libs: -L${libdir} ...
pkgconf may not consider /usr/lib to be a system library path, so it is
not pruned as the test expects. To work around this, override the
compiled-in list of paths via the PKG_CONFIG_SYSTEM_LIBRARY_PATH
environment variable.
Fixes: https://github.com/mesonbuild/meson/issues/6004
|
|
|
|
The rust code is ugly, because rust is annoying. It doesn't invoke a
linker directly (unless that linker is link.exe or lld-link.exe),
instead it invokes the C compiler (gcc or clang usually) to do it's
linking. Meson doesn't have good abstractions for this, though we
probably should because some of the D compilers do the same thing.
Either that or we should just call the c compiler directly, like vala
does.
This changes the public interface for meson, which we don't do unless we
absolutely have to. In this case I think we need to do it. A fair number
of projects have already been using 'ld' in their cross/native files to
get the ld binary and call it directly in custom_targets or generators,
and we broke that. While we could hit this problem again names like
`c_ld` and `cpp_ld` are far less likely to cause collisions than `ld`.
Additionally this gives a way to set the linker on a per-compiler basis,
which is probably in itself very useful.
Fixes #6442
|
|
In order to unify the use of sysroot in the cross-file,
the pkg_config_libdir can now be passed directly in the file.
|
|
The pefile module is a CI dependency now, so we can use that instead
of objdump/dumpbin which greatly simplifies the test. Of course, this
module is also cross-platform so it will work if we add cross-win32 CI
at some point.
|
|
Adds a CI dependency on the `pefile` python module.
|
|
This is needed for detecting data corruption, and its absence (or
an incorrect value) is also used as a hint by anti-viruses that the
binary may be malware.
Flag is only supported by MSVC `link.exe`, not `lld-link.exe`
https://docs.microsoft.com/en-us/cpp/build/reference/release-set-the-checksum
|
|
Simplifies some usage.
|