Age | Commit message (Collapse) | Author | Files | Lines |
|
In some cases, init variables that accept None as a sentinel and
immediately overwrite with [], are migrated to dataclass field
factories. \o/
Note: dataclasses by default cannot provide eq methods, as they then
become unhashable. In the future we may wish to opt into declaring them
frozen, instead/additionally.
|
|
|
|
we have a mechanism for doing "this could be an environment variable"
let's use that.
|
|
|
|
|
|
|
|
The JDK system dependency is important for detecting JDK include paths
that may be useful when developing a JNI interface.
|
|
performed by running "pyupgrade --py36-plus" and committing the results
|
|
|
|
Signed-off-by: Antonin DĂ©cimo <antonin.decimo@gmail.com>
|
|
This is only used in environment, so it should live there too.
|
|
This both moves the env reading to configuration time, which is useful,
and also simplifies the implementation of the boost dependency. The
simplification comes from being able to delete basically duplicated code
since the values will be in the Properties if they exist at all.
|
|
This means that all the env lookups are done once, at initial configure
time. This has all of the expected advantages.
|
|
These really aren't pivotal to that class, and they're used outside of
it. In a follow up patch they're not going to be used inside it at all.
|
|
Python 3.6 cleanups
|
|
These are spammy, and being in the debug log is probably better anyway.
|
|
We added the _pathlib module to work around defeciencies in python 3.5's
implementation, since we now rely on 3.6 lets drop this
|
|
|
|
It doesn't return (None, None), it returns just None.
|
|
This adds an experimental meson module to build projects with other
build systems.
Closes: #4316
|
|
|
|
|
|
|
|
This removes the check for "mingw" for platform.system(). The only case I know
where "mingw" is return is if using a msys Python under a msys2 mingw environment.
This combination is not really supported by meson and will result in weird errors,
so remove the check.
The second change is checking sys.platform for cygwin instead of platform.system().
The former is document to return "cygwin", while the latter is not and just
returns uname().
While under Cygwin it uname() always starts with "cygwin" it's not hardcoded in MSYS2
and starts with the environment name. Using sys.platform is safer here.
Fixes #7552
|
|
|
|
Machine files already supports `+` operator as an implementation detail,
since it's using eval(). Now make it an officially supported feature and
add a way to define constants that are used while evaluating an entry
value.
|
|
Fixes: #7358
|
|
|
|
|
|
The comment for this code is correct, but the code itself isn't. The way
it's implemented in a cross compile we don't look at PKG_CONFIG_PATH at
all.
Fixes: #7062
|
|
|
|
|
|
This reverts commit 097dfc085e6a1bb3c670880134a52dcfca504be7.
|
|
PR #6363 made it so our interpretation of env vars no longer clashed
with Autoconf's: if both Meson and Autoconf would read and env var, both
would do the same things with the value they read.
However, there were still cases that autoconf would read an env var when
meson wouldn't:
- Autoconf would use `CC` in cross builds too
- Autoconf would use `CC_FOR_BUILD` in native builds too.
There's no reason Meson can't also do this--if native cross files
overwrite rather than replace env vars, cross files can also overwrite
rather than replace env vars.
Because variables like `CC` are so ubiquitous, and because ignoring them
in cross builds just makes those builds liable to break (and things more
complicated in general), we bring Meson's behavior in line with
Autoconf's.
|
|
Fix #3969
|
|
|
|
|
|
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.
|
|
s390 is the 31/32bit variant, s390x is the 64 bit.
|
|
Fixes #6411
|
|
|
|
This uses the normal meson mechanisms, an LD environment variable or via
cross/native files.
Fixes: #6057
|
|
- Typos were found by codespell v1.16.0
|
|
|
|
|
|
Add the CPU family for the MicroBlaze processor.
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
|
|
|
|
The mesonlib versions are slightly more specific in what they accept.
|