Commit Graph

13109 Commits

Author SHA1 Message Date
Eli Schwartz 0e5d632a62
CI: force macOS to use brew's python at all costs
The default actions one is broken in two ways, and additionally
overwrote homebrew's symlinks to begin with.
2022-11-14 19:16:58 -05:00
Eli Schwartz aa84c55bef
tests: fix edge case where non-default python is used, by skipping it
In a couple of python module tests, we try to test things that rely on
the default python being the same one we look up in the python module.
This is unsolvable for the deprecated python3 module, as it actually
uses the in-process version of python for everything. For the python
module, we could actually look up the default system python instead of
the one we are running with, but then we wouldn't be testing the
functionality of that alternative python... and also the install
manifest tests would see files installed for the wrong version of
python, and report a combination of missing+extra files...

Solve both tests by just skipping the parts we cannot check.
2022-11-14 19:16:57 -05:00
Hagen Möbius 6860e42c06 Raise an error, if the file element in a resource file has no text.
- minor cleanups in the vicinity
2022-11-14 00:26:55 +02:00
Hagen Möbius 0bfe776132 Update Qt6-module.md
- qt5 -> qt6
- remove version information from when the Qt6 module was not a thing
- linked to dependency function
- highlight version information with *...* and placing it at the front of options or on new lines in text
- reformatted for shorter lines
2022-11-13 21:48:01 +02:00
Ralf Gommers 3646697892 Add a note on relocatable pkg-config files to reference manual. 2022-11-13 14:37:45 -05:00
Kleis Auke Wolthuizen e4538a0362 docs: installation tags for the GNOME module
PR #10826 adds a couple of missing installation tags for the GNOME
module, ensure we document these.
2022-11-13 11:16:37 -05:00
Jussi Pakkanen 611bd4e6db Add CMake to cross file.
Original patch by Helmut Grohne.

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1023744
2022-11-12 14:21:47 +02:00
Jussi Pakkanen 318579b367 Fix ppc64 detection in Debian.
Original patch by Helmut Grohne.

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1023744
2022-11-12 14:21:47 +02:00
Guilherme Janczak 69dae6395d docs: improve ESL text, fix some English errors
Fixes:
- Incorrect, redundant, or overabundant usage of "just"
- Missing punctuation
- Missing "the"
- Parenthesized text far from what it describes

There are some subjective changes, I hope those aren't controversial.
2022-11-11 22:24:19 +02:00
Will Thompson f9328f7757 Fix typo in dependency() 'names' docstring [skip ci] 2022-11-11 11:52:28 -05:00
Guilherme Janczak 3336cc8b27 fix typo 2022-11-10 21:56:06 -05:00
Denis Fortin b78ebc6741 Fix options overrides for vsbackend
Use OptionOverrideProxy instead of pure options.
Closes #10393
2022-11-10 06:19:41 -05:00
Xavier Claessens 9463595b11 genrelnotes: Jump to version 1.0.0 2022-11-09 17:20:41 +02:00
Xavier Claessens 273605f859 Fix since annotation for str "in" operator 2022-11-08 20:48:32 +02:00
Eli Schwartz bcc127b3fd hotdoc module: add dedicated depends kwarg, deprecate file deps in dependencies
We consistently use the "dependencies" kwarg to refer to C-like
CFLAGS/LDFLAGS interfaces. And for hotdoc, we actually accept libraries
for this as well, as we may want to document their (generated?) sources,
so we want their CFLAGS too.

But we also accepted custom targets and just added a build order
dependency on these, which was odd and typically we call that "depends".
Let's deprecate this in favor of the depends kwarg.
2022-11-07 09:19:56 -05:00
Eli Schwartz 726353460a hotdoc module: use less confusing names
Internally we pass this as extra_depends to the CustomTarget
initializer, so it makes sense to call it that rather than confusing the
topic by referring to "dependencies", a term that indicates
CFLAGS/LDFLAGS interfaces.
2022-11-07 09:19:56 -05:00
Eli Schwartz 0b7d935a84
target python 3.10 as the mypy language version
mypy has a bug when running on/for 3.11 which results in incorrect
analysis of the codebase, specifically due to enum.Enum's self.name

See:

https://github.com/python/typeshed/issues/7564
https://github.com/python/mypy/issues/12483
2022-11-06 12:20:36 -05:00
Xavier Claessens a6db624aad Implement `in` operator on string 2022-11-06 17:22:00 +02:00
Jussi Pakkanen 8abbcf7887 Bump version number for new development. 2022-11-06 17:05:06 +02:00
Jussi Pakkanen b9d19afb9a Bump version number for release. 2022-11-06 15:42:20 +02:00
Jussi Pakkanen c1e9a0ea60 Generate release notes for 0.64. 2022-11-06 15:42:05 +02:00
Ole André Vadla Ravnås fa86a9d96d nasm: Fix get_optimization_args() 2022-11-05 19:02:27 -04:00
Eli Schwartz 97ec20e901
depfixer: handle darwin dependencies with non-ASCII paths
I assume there's no real reason this cannot happen, perhaps if the meson
source directory has one. So we should use Popen_safe for safety
reasons.
2022-11-03 17:51:35 -04:00
Eli Schwartz af41eb6e9b
squelch an EncodingWarning we don't care about
We would like to use the default value (the one python urged us not to
use), but without getting a warning for it. Luckily, we have the correct
value already, so we can pass it manually to avoid the complaint.
2022-11-03 15:44:41 -04:00
Eli Schwartz 608a6196a0
python 3.11: suppress an incorrect EncodingWarning
python 3.11 adds a warning that in 3.15, UTF-8 mode will be default.
This is fantastic news, we'd love that. Less fantastic: this warning is
silly, we *want* these checks to be affected. Plus, the recommended
alternative API would (in addition to warning people when UTF-8 mode
removed the problem) also require using a minimum python version of 3.11
(in which the warning was added) or add verbose if/else soup.

The simple, and obvious, approach is to add a warnings filter to hide
it.
2022-11-03 15:44:41 -04:00
Eli Schwartz c95001b130
dependencies: make the hdf5 dependency use Popen_safe
It is, after all, "safe". ;) That's why it exists. There's no reason to
think listing all pkg-config entries cannot print unicode descriptions,
it's absolutely possible, and we should handle it properly if we
encounter it.
2022-11-03 00:26:28 -04:00
Garrett D'Amore 535bd377b4 Document binary literals. 2022-11-02 17:23:07 -04:00
Xavier Claessens f5871e240d backends: Try guessing install tag for all installed files
It was only trying to guess install tag, and log missing tags, for files
installed by install_data(). Do it also for all other files, especially
custom_taget() that commonly installs generated headers.
2022-11-02 14:53:35 +02:00
Jussi Pakkanen 43e274c733 Bump version for rc2. 2022-11-01 21:00:43 +02:00
Xavier Claessens 64a6969def nasm: Implement get_crt_compile_args()
This fix a crash when using NASM on Windows.
2022-11-01 18:51:10 +02:00
Jussi Pakkanen 060595f0d0 Add regression test for pch link_whole bug. 2022-11-01 18:43:08 +02:00
L. E. Segovia 7e5b0760ce minstall: make do_strip run with -Sx for macOS targets
This commit also adds some extra symbol noise to lib.c, in order to aid
detection of the debug information with nm.

Fixes #10943
2022-11-01 17:56:18 +02:00
Eli Schwartz 21f86fa902
Revert "backends/ninja: run `ranlib -c $out` when using the apple ar"
This reverts commit bdc6f243e9.

This is part of #10628 and needs to be reverted, as it breaks other
things.

See https://github.com/mesonbuild/meson/pull/10628#issuecomment-1230560772
2022-10-31 23:22:07 -04:00
Eli Schwartz f9d6ae8d57
Revert "tests: Test extern'd globals on MacOS with the Apple Archiver"
This reverts commit d285be763f.

This is part of #10628 and needs to be reverted, as it breaks other
things.

See https://github.com/mesonbuild/meson/pull/10628#issuecomment-1230560772
2022-10-31 23:22:07 -04:00
Eli Schwartz 4533dfc279
Revert "build: don't add targets to link_whole_targets if we took their objects"
This reverts commit c94c492089.

This broke propagated deps as well as PCH in MSVC, and has not been
fixed in time for the final release of 0.64.0, so it needs to be
reverted and then brought back later.

Fixes #10745
Fixes #10975
2022-10-31 23:22:07 -04:00
Xavier Claessens 81763e610f both_libraries: Make sure to select the right linker for static lib
Regression test: libccpp has both C and C++ sources. The executable only
has C sources. It should still link using the C++ compiler. When using
both_libraries the static has no sources and thus no compilers,
resulting in the executable linking using the C compiler.
https://github.com/Netflix/vmaf/issues/1107
2022-10-31 20:21:07 -04:00
Eli Schwartz 8d8ce4fb77 emit a FeatureNew when using include_directories as a string
This was introduced in commit 3a6e2aeed9
as part of 0.50.0, but did not contain a FeatureNew. As a result, people
would use it without realizing that they broke support for versions of
Meson included in their minimum requirements.
2022-10-31 20:19:43 -04:00
L. E. Segovia 0ddca4d0d0 ci: Fix usage of concurrency in branches other than master 2022-10-30 01:03:31 -04:00
Paolo Bonzini 212af2b278 gnome: allow generator outputs as gdbus-codegen inputs
GeneratedLists as sources to `gnome.gdbus_codegen` worked until
version 0.60 of Meson, but broke in 0.61 because of the conversion to
typed_pos_args and typed_kwargs.  Reinstate this by adding them to the
decorators and annotations.

Note that gdbus_codegen desugars to two custom_targets and therefore the
generator is invoked twice.  This is not optimal, but it should not be
an issue and can be changed later.

Fixes: 53a187ba2 ("modules/gnome: use typed_pos_args for gdbus_codegen", 2021-11-01)
Fixes: ef52e6093 ("modules/gnome: use typed_kwargs for gdbus_codegen", 2021-11-08)
2022-10-28 13:06:52 +03:00
Paolo Bonzini 2fe3271f77 gnome: allow custom targets as gdbus-codegen inputs
Custom targets as sources to `gnome.gdbus_codegen` worked until version 0.60
of Meson, but broke in 0.61 because of the conversion to typed_pos_args
and typed_kwargs.  Reinstate this by adding custom targets to the
decorators and annotations.

While generators also used to work, they are a bit tricky because
gdbus_codegen desugars to two custom_targets and therefore the generator
is invoked twice.  This should not be a problem, but be explicit and
leave that to a separate commit to highlight the problem.

Fixes: 53a187ba2 ("modules/gnome: use typed_pos_args for gdbus_codegen", 2021-11-01)
Fixes: ef52e6093 ("modules/gnome: use typed_kwargs for gdbus_codegen", 2021-11-08)
2022-10-28 13:06:52 +03:00
Xavier Claessens e68fcac919 compilers: Make sure to not use ccache in compiler checks
ccache was used in all command lines but disabled using CCACHE_DISABLE
in Compiler.compile() method. Wrapping invokations still has a cost,
especially on Windows.

With sccache things are even worse because CCACHE_DISABLE was not
respected at all, making configure *extremely* slow on Windows when
sccache is installed.
2022-10-25 17:24:56 -04:00
Xavier Claessens 2961adb8c8 Compilers: Keep ccache and exelist separated
Only combine them in the Compiler base class, this will make easier to
run compiler without ccache.
2022-10-25 17:24:56 -04:00
Jussi Pakkanen b0e2d00acd Bump version numbers for 0.64.0.rc1. 2022-10-25 19:35:01 +03:00
Xavier Claessens 725f77650d tests: Add nasm compiler checks 2022-10-25 18:09:36 +03:00
Xavier Claessens d67c4c6ab0 nasm: Use an hello world test that works on 32bits too
Fixes: #10956
2022-10-25 18:09:36 +03:00
GustavoLCR 32bc64e632 Fix native compilation on ARM64 Windows
Move `detect_native_windows_arch()` to `mesonlib/universal.py` and
rename it to `windows_detect_native_arch()`
Use `IsWow64Process2()` to detect native architecture if available
Use native `vcvarsarm64.bat` to initialize vsenv if available
2022-10-25 14:59:06 +03:00
Jussi Pakkanen 3c0ac626d7 Skip wrapdb test if there is no connectivity. 2022-10-25 11:21:37 +03:00
Elliott Sales de Andrade 8c5838bfea Add missing since annotations in docs
This is based on searching for `@FeatureNew*` decorators.

There is also one correction to a version in a decorators;
`build_by_default` was added in #1303, which is 0.38.0, not 0.40.0.
2022-10-24 21:47:46 -04:00
Carlo Cabrera 4287099f06 ci: run `brew update` before `brew install`
This makes sure we don't end up picking up an older version of LLVM that
does not work.
2022-10-24 21:13:34 -04:00
Carlo Cabrera c96e40f727 Revert "ci: Fix llvm detection on macOS CI"
Fixed in Homebrew/homebrew-core#112154.

This reverts commit c20fb659f6.
2022-10-24 21:13:34 -04:00