| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
| |
Otherwise there's a high likelihood that some program run by us will
mess up the console settings and break ANSI colors. F.ex., running
`uname` in the Visual Studio 2019 x86 developer prompt using
`run_command()` does this.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This allows Meson native-file [properties] to be used.
This avoids the need to call meson from a script file or have a
long command line invocation of `meson setup`
The method meson.get_native_property('prop', 'fallback') is added.
The native file can contain properties like
```
[properties]
myprop1 = 'foo'
mydir2 = 'lib/custom'
```
Then from within `meson.build`
```meson
x1 = meson.get_native_property('myprop1')
thedir = meson.get_native_property('mydir2', 'libs')
```
fallback values are optional
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
cmake: get language from Meson project if not specified as depedency(..., langugage: ...)
deps: add threads method:cmake
dependency('threads', method: 'cmake') is useful for cmake unit tests
or those who just want to find threads using cmake.
cmake: project(... Fortran) generally also requires C language
|
| |
|
|
|
|
| |
This reverts commit 6ed36e97aeb01dd779115a9710d3a97cdbcb4ccf.
|
|
|
|
|
|
| |
optimize intelMPI variables
mpi: extract version from non-OpenMPI wrapper
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Have set() and set_quoted() of configuration object work with newlines.
set_quoted() makes the value into a double-quoted string, so let's
assume C-style string, in particular with newlines as "\n".
Also take care of remaining newlines in dump_conf_header(). C or nasm
macros expect single-line values so if the value was multi-line, we
would end up with broken syntax. Appending a backslash at each end of
line make them concat into a single line in both C and nasm format
(note: multi-line macros in nasm are actually possible apparently but
use another format not outputted by current meson code). Also note that
the replacement is done at the end only when dumping the conf as a
header because we cannot assume anything about the format when replacing
variables from an input file (in this case, it should be the dev
responsibility).
* Add unit tests for multiline set() and set_quoted().
|
|
|
|
| |
- Typos were found by codespell v1.16.0
|
| |
|
|
|
|
| |
This handles the Windows-specific case, the next commit handles the general issue
|
|
|
|
|
| |
The helper is general, although in this patch it is only used for
warnings. No functional change intended.
|
| |
|
|
|
|
|
|
|
| |
Solaris puts 32-bit libraries in the main /lib & /usr/lib directories
and 64-bit libraries in platform specific subdirectories.
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The size of WINEPATH is limited (1024 [until recently]), we
can very easily reach that limit, and even the new one (2048) so
try to keep path as small as possible by using the shortPath
version of paths.
Also assert that we do not reach the new hard limit.
And avoid having duplicates in the list of path.
[until recently]: https://bugs.winehq.org/show_bug.cgi?id=45810
|
| |
|
| |
|
|
|
|
|
| |
These are used in linkers.py and need to be annotated to make linkers.py
100% clean
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
fix unit test skips for clang c18
correct unittests clang minimum version
cleanup unittest clang skip c_std
finesse unittest vs. clang version
|
|
|
|
| |
All uses now use `env.machines.YYY.is_XXX` instead.
|
|
|
|
|
| |
This is a small example of the `is_cross` removal the that abstraction
enables.
|
|
|
|
| |
See the docs/ changes for details.
|
|
|
|
| |
handle x86 correctly
|
|\
| |
| | |
Mtest annotations and bug fixes
|
| |
| |
| |
| | |
for mtest
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Meson itself *almost* only cares about the build and host platforms. The
exception is it takes a `target_machine` in the cross file and exposes
it to the user; but it doesn't do anything else with it. It's therefore
overkill to put target in `PerMachine` and `MachineChoice`. Instead, we
make a `PerThreeMachine` only for the machine infos.
Additionally fix a few other things that were bugging me in the process:
- Get rid of `MachineInfos` class. Since `envconfig.py` was created, it
has no methods that couldn't just got on `PerMachine`
- Make `default_missing` and `miss_defaulting` work functionally. That
means we can just locally bind rather than bind as class vars the
"unfrozen" configuration. This helps prevent bugs where one forgets
to freeze a configuration.
|
|
|
|
|
|
| |
head to converge it to the solaris 11.4 platform based on the sparcv9 and i386 processor architecture.
The purpose is to complete the porting related to the fork "sneyx1234/ast" of "att/ast" the "AT&T kornshell".
|
|
|
|
|
|
|
|
| |
Mypy know what to do with these and isn't confused, but some versions of
python 3.5 (at least 3.5.2) can't handle these annotations. By making
them strings the python interpreter wont try to evaluate them.
Fixes #5326
|
|\
| |
| | |
Added flake8 plugins and some code fixes
|
| | |
|
| |
| |
| |
| |
| |
| | |
Some things, like `method[...](...)` or `x: ... = ...` python 3.5
doesn't support, so I made a comment instead with the intention that it
can someday be made into a real annotation.
|
|/
|
|
| |
This is basically the same as #1612 just for new new Popen_safe_legacy().
|
|\
| |
| | |
Fully annotate the envconfig and mlog modules
|
| |
| |
| |
| | |
Just enough to make mlog and envconfig happy
|
| | |
|
| |
| |
| |
| | |
due to refactoring this is now useless.
|
| |
| |
| |
| |
| |
| | |
Instead of using the ___cmp__ method just straight up compare the two
values, since we've already converted numbers to ints and split
non-numeric seperators this is sufficient, and 4x faster
|
| |
| |
| |
| | |
makes version comparisons even faster
|
|/
|
|
|
| |
Instead of range. This makes version comparison 25-50% faster depending
on the operator and how different the values are.
|
|
|
|
|
|
|
| |
This patch creates an enum for selecting libtype as static, shared,
prefer-static, or prefer-shared. This also renames 'static-shared'
with 'prefer_static' and 'shared-static' with 'prefer_shared'. This is
just a refactor with no behavioral changes or user facing changes.
|
|
|
|
|
|
|
|
| |
Fix get_library_dirs() on FreeBSD to only return /usr/local/lib,
/usr/lib and /lib as the default location to look for libraries.
FreeBSD does not use lib/${platform} or lib64 by default. In general,
those directories should not exist, but in case they do, ensure they're
not picked up.
|
|
|
|
|
|
|
|
| |
Fix defaul_libdir() on FreeBSD. The current behaviour of using
usr/lib64 if that exists is wrong on FreeBSD. The default should be to
always use usr/lib, even if usr/lib64 exists as a folder in the file
system. Fix this by checking if we're running on FreeBSD and then
always return 'lib' in default_libdir().
|
|
|
|
|
|
|
|
|
|
| |
more type hints
syntax modernization / robustify
syntax typo
more effective directory collection
|
|
|
|
|
|
| |
Mypy struggles with the imperative form of Enum declaration, and
upstream doesn't consider it a bug, they recomend using the class form
for enums that are going to be externally exposed.
|
|
|
|
| |
Or we'll reject arm64 objects as invalid when building for aarch64
|