Age | Commit message (Collapse) | Author | Files | Lines |
|
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: #6505.
|
|
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
|
|
|
|
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.
|
|
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.
|
|
|
|
Fix dependency('qt') crash with old Qt on OSX
|
|
|
|
Fixes: #6445
|
|
Don't fail with 'KeyError: QMAKE_XSPEC' if `qmake -query` doesn't report
QMAKE_XSPEC. (Seen with 4.8.7)
|
|
s390 is the 31/32bit variant, s390x is the 64 bit.
|
|
Fixes #6411
|
|
On MSYS2 and MSYS, Python reads HOME instead of USERPROFILE, which
gets the path wrong.
Serves me right for not writing a test!!
|
|
fixes #6096.
Didn't use CMake because Curses is a real corner-case for CMake that
would require Curses-specific enhancements to Meson's CMake interface.
|
|
The latest Windows 10 release in May 2019 added zero-sized files that
act as stubs which when launched from cmd.exe spawn the Windows Store
to install those apps. This also includes python.exe and python3.exe:
https://devblogs.microsoft.com/python/python-in-the-windows-10-may-2019-update/
Unfortunately, `import('python').find_installation('python3')` will
then think that python3.exe is available on Windows. Or, worse, if the
user has a fresh installation of Windows 10 and then installs the
Python 3 using the official installer (not the Windows Store app), we
will *still* pickup this stub because it will be first in `PATH`.
Always remove the WindowsApps directory from `PATH` while searching.
First reported at https://gitlab.freedesktop.org/gstreamer/cerbero/issues/223
|
|
Introduced in https://github.com/mesonbuild/meson/pull/3131
|
|
declare_dependencies
This allows dependencies declared in subprojects to set variables, and
for those variables to be accessed via the get_variable method, just
like those from pkg-config and cmake. This makes it easier to use
projects from subprojects in a polymorphic manner, lowering the
distinction between a subproject and an external dependency every
further.
|
|
|
|
|
|
|
|
|
|
|
|
Which wouldn't call the function to detect c_args and friends.
|
|
* environment: Fix passing always args to a number of less common linkers
These are mostly (oops xilink) proprietary linkers I can't use for
various reasons.
Fixes: #6332
* Add intelfix from scivision.
* Ifort fix from scivision.
* PGI fix from scivision.
* Cuda fix from scivision.
* Fix linker passing for armclang.
|
|
|
|
This is neccessary for static libraries, since the
CMake file API does not add link flags here.
|
|
|
|
|
|
This fixes an issue with generated sources and object libraries, as
well as an issue on windows with the `link` linker and the vs backend.
The last issue is resolved by building the source files multiple times
to avoid extracting object files in meson.
|
|
dependencies: refactor {coarray,mpi,hdf5,netcdf} to use dependency(.., methods: ...)
|
|
Fixes: #6372.
|
|
this can be useful for if/elif where linker behaviors must be
considered.
For example, clang with "link" vs gcc with "ld.bfd" etc.
ci for compiler.get_linker_id() method
doc
add @FeatureNew check
Co-Authored-By: Daniel Mensinger <daniel@mensinger-ka.de>
|
|
|
|
is_samepath better reflects the nature of this function--that files
and directories can be compared.
Also, instead of raising exceptions, simply return False when one
or both .is_samepath(path1, path1) don't exist. This is more
intuitive behavior and avoids having an extra if fs.exist() to go
with every fs.is_samepath()
|