Skip to content

Commit 9677704

Browse files
authored
Merge branch 'mesonbuild:master' into mingw-python-limited-api
2 parents 4ec0e34 + 8d92487 commit 9677704

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

75 files changed

+1115
-834
lines changed

.pylintrc

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ disable=
1717
cell-var-from-loop,
1818
consider-using-f-string,
1919
consider-using-with,
20+
contextmanager-generator-missing-cleanup,
2021
cyclic-import,
2122
deprecated-decorator,
2223
duplicate-code,
@@ -47,6 +48,7 @@ disable=
4748
not-an-iterable,
4849
not-callable,
4950
pointless-string-statement,
51+
possibly-used-before-assignment,
5052
protected-access,
5153
raise-missing-from,
5254
redeclared-assigned-name,
@@ -75,6 +77,7 @@ disable=
7577
unsubscriptable-object,
7678
unused-argument,
7779
unused-variable,
80+
used-before-assignment,
7881
useless-super-delegation,
7982
wrong-import-order,
8083
wrong-import-position,

ci/ciimage/gentoo/install.sh

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ pkgs_stable=(
2424
#dev-util/bindgen
2525

2626
dev-libs/elfutils
27+
dev-util/gdbus-codegen
2728
dev-libs/gobject-introspection
2829
dev-util/itstool
2930
dev-libs/protobuf
@@ -114,6 +115,9 @@ cat <<-EOF >> /etc/portage/make.conf
114115
EMERGE_DEFAULT_OPTS="\${EMERGE_DEFAULT_OPTS} --autounmask-write --autounmask-continue --autounmask-keep-keywords=y --autounmask-use=y"
115116
EMERGE_DEFAULT_OPTS="\${EMERGE_DEFAULT_OPTS} --binpkg-respect-use=y"
116117
118+
# prevent painfully verbose Github Actions logs.
119+
FETCHCOMMAND='wget --no-show-progress -t 3 -T 60 --passive-ftp -O "\\\${DISTDIR}/\\\${FILE}" "\\\${URI}"'
120+
117121
# Fortran is no longer enabled by default in 23.0, but we do need and use it.
118122
USE="\${USE} fortran"
119123

docs/markdown/Builtin-options.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ machine](#specifying-options-per-machine) section for details.
9191
| strip | false | Strip targets on install | no | no |
9292
| unity {on, off, subprojects} | off | Unity build | no | no |
9393
| unity_size {>=2} | 4 | Unity file block size | no | no |
94-
| warning_level {0, 1, 2, 3, everything} | 1 | Set the warning level. From 0 = none to everything = highest | no | yes |
94+
| warning_level {0, 1, 2, 3, everything} | 1 | Set the warning level. From 0 = compiler default to everything = highest | no | yes |
9595
| werror | false | Treat warnings as errors | no | yes |
9696
| wrap_mode {default, nofallback,<br>nodownload, forcefallback, nopromote} | default | Wrap mode to use | no | no |
9797
| force_fallback_for | [] | Force fallback for those dependencies | no | no |
@@ -280,11 +280,11 @@ All these `<lang>_*` options are specified per machine. See below in
280280
the [specifying options per machine](#specifying-options-per-machine)
281281
section on how to do this in cross builds.
282282

283-
When using MSVC, `cpp_eh=none` will result in no exception flags being
284-
passed, while the `cpp_eh=[value]` will result in `/EH[value]`. Since
285-
*0.51.0* `cpp_eh=default` will result in `/EHsc` on MSVC. When using
286-
gcc-style compilers, nothing is passed (allowing exceptions to work),
287-
while `cpp_eh=none` passes `-fno-exceptions`.
283+
When using MSVC, `cpp_eh=[value]` will result in `/EH[value]` being passed.
284+
The magic value `none` translates to `s-c-` to disable exceptions. *Since
285+
0.51.0* `default` translates to `sc`. When using gcc-style compilers, nothing
286+
is passed (allowing exceptions to work), while `cpp_eh=none` passes
287+
`-fno-exceptions`.
288288

289289
Since *0.54.0* The `<lang>_thread_count` option can be used to control
290290
the value passed to `-s PTHREAD_POOL_SIZE` when using emcc. No other

docs/markdown/D.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,6 @@ DUB is a fully integrated build system for D, but it is also a way to
139139
provide dependencies. Adding dependencies from the [D package
140140
registry](https://code.dlang.org/) is pretty straight forward. You can
141141
find how to do this in
142-
[Dependencies](Dependencies.md#some-notes-on-dub). You can also
142+
[Dependencies](Dependencies.md#dub). You can also
143143
automatically generate a `dub.json` file as explained in
144144
[Dlang](Dlang-module.md#generate_dub_file).

docs/markdown/Reference-tables.md

Lines changed: 51 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -272,54 +272,55 @@ These values are supported using the GCC style `__attribute__` annotations,
272272
which are supported by GCC, Clang, and other compilers.
273273

274274

275-
| Name |
276-
|--------------------------|
277-
| alias |
278-
| aligned |
279-
| alloc_size |
280-
| always_inline |
281-
| artificial |
282-
| cold |
283-
| const |
284-
| constructor |
285-
| constructor_priority |
286-
| deprecated |
287-
| destructor |
288-
| error |
289-
| externally_visible |
290-
| fallthrough |
291-
| flatten |
292-
| format |
293-
| format_arg |
294-
| force_align_arg_pointer³ |
295-
| gnu_inline |
296-
| hot |
297-
| ifunc |
298-
| malloc |
299-
| noclone |
300-
| noinline |
301-
| nonnull |
302-
| noreturn |
303-
| nothrow |
304-
| optimize |
305-
| packed |
306-
| pure |
307-
| retain⁴ |
308-
| returns_nonnull |
309-
| section⁵ |
310-
| sentinel⁵ |
311-
| unused |
312-
| used |
313-
| vector_size⁶ |
314-
| visibility* |
315-
| visibility:default|
316-
| visibility:hidden|
317-
| visibility:internal|
318-
| visibility:protected|
319-
| warning |
320-
| warn_unused_result |
321-
| weak |
322-
| weakref |
275+
| Name |
276+
|-----------------------------|
277+
| alias |
278+
| aligned |
279+
| alloc_size |
280+
| always_inline |
281+
| artificial |
282+
| cold |
283+
| const |
284+
| constructor |
285+
| constructor_priority |
286+
| deprecated |
287+
| destructor |
288+
| error |
289+
| externally_visible |
290+
| fallthrough |
291+
| flatten |
292+
| format |
293+
| format_arg |
294+
| force_align_arg_pointer³ |
295+
| gnu_inline |
296+
| hot |
297+
| ifunc |
298+
| malloc |
299+
| noclone |
300+
| noinline |
301+
| nonnull |
302+
| noreturn |
303+
| nothrow |
304+
| null_terminated_string_arg⁷ |
305+
| optimize |
306+
| packed |
307+
| pure |
308+
| retain⁴ |
309+
| returns_nonnull |
310+
| section⁵ |
311+
| sentinel⁵ |
312+
| unused |
313+
| used |
314+
| vector_size⁶ |
315+
| visibility* |
316+
| visibility:default|
317+
| visibility:hidden|
318+
| visibility:internal|
319+
| visibility:protected|
320+
| warning |
321+
| warn_unused_result |
322+
| weak |
323+
| weakref |
323324

324325
\* *Changed in 0.52.0* the "visibility" target no longer includes
325326
"protected", which is not present in Apple's clang.
@@ -335,6 +336,8 @@ which are supported by GCC, Clang, and other compilers.
335336

336337
*New in 1.1.0*
337338

339+
*New in 1.5.0*
340+
338341
### MSVC __declspec
339342

340343
These values are supported using the MSVC style `__declspec` annotation,

docs/markdown/Unit-tests.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -208,6 +208,9 @@ Sometimes you need to run the tests multiple times, which is done like this:
208208
$ meson test --repeat=10
209209
```
210210

211+
Meson will set the `MESON_TEST_ITERATION` environment variable to the
212+
current iteration of the test *(added 1.5.0)*.
213+
211214
Invoking tests via a helper executable such as Valgrind can be done with the
212215
`--wrap` argument
213216

docs/markdown/Users.md

Lines changed: 2 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ topic](https://github.com/topics/meson).
5252
- [fwupd](https://github.com/hughsie/fwupd), a simple daemon to allow session software to update firmware
5353
- [GameMode](https://github.com/FeralInteractive/gamemode), a daemon/lib combo for Linux that allows games to request a set of optimisations be temporarily applied to the host OS
5454
- [Geary](https://wiki.gnome.org/Apps/Geary), an email application built around conversations, for the GNOME 3 desktop.
55-
- [GIMP](https://gitlab.gnome.org/GNOME/gimp), an image manipulation program (experimental replacing autoconf)
55+
- [GIMP](https://gitlab.gnome.org/GNOME/gimp), an image manipulation program (master branch)
5656
- [GLib](https://gitlab.gnome.org/GNOME/glib), cross-platform C library used by GTK+ and GStreamer
5757
- [Glorytun](https://github.com/angt/glorytun), a multipath UDP tunnel
5858
- [GNOME Boxes](https://gitlab.gnome.org/GNOME/gnome-boxes), a GNOME hypervisor
@@ -168,18 +168,7 @@ format files
168168
- [ThorVG](https://www.thorvg.org/), vector-based scenes and animations library
169169
- [Tilix](https://github.com/gnunn1/tilix), a tiling terminal emulator for Linux using GTK+ 3
170170
- [Tizonia](https://github.com/tizonia/tizonia-openmax-il), a command-line cloud music player for Linux with support for Spotify, Google Play Music, YouTube, SoundCloud, TuneIn, Plex servers and Chromecast devices
171-
- [FSCL XTest](https://github.com/fossil-lib/tscl-xtest-c), a framework for testing C/C++ code
172-
- [FSCL XMock](https://github.com/fossil-lib/tscl-xmock-c), a framework for mocking C/C++ code
173-
- [FSCL XCore](https://github.com/fossil-lib/tscl-xcore-c), essintal compoments for C code
174-
- [FSCL XTool](https://github.com/fossil-lib/tscl-xtool-c), essintal tool for low-level related task
175-
- [FSCL XString](https://github.com/fossil-lib/tscl-xstring-c), string and char types in C
176-
- [FSCL XToFu](https://github.com/fossil-lib/tscl-xtofu-c), a framework for generic types in C
177-
- [FSCL XJellyfish](https://github.com/fossil-lib/tscl-xfish-c), a framework for AI development using JellyFish in C
178-
- [FSCL XStructure](https://github.com/fossil-lib/tscl-xstructure-c), a framework for data structures in C
179-
- [FSCL XAlgorithm](https://github.com/fossil-lib/tscl-xalgorithm-c), a framework for algorithms C
180-
- [FSCL XPattern](https://github.com/fossil-lib/tscl-xpattern-c), a framework for design patterns C
181-
- [FSCL XScience](https://github.com/fossil-lib/tscl-xscience-c), a framework for scientific projects in C
182-
- [FSCL XCube](https://github.com/fossil-lib/tscl-xcube-c), a framework for creating a portable curses TUI in C
171+
- [Fossil Logic Standard](https://github.com/fossil-lib), a collection frameworks in C/C++, Objective-C and Objective-C++.
183172
- [UFJF-MLTK](https://github.com/mateus558/UFJF-Machine-Learning-Toolkit), A C++ cross-platform framework for machine learning algorithms development and testing
184173
- [Vala Language Server](https://github.com/benwaffle/vala-language-server), code intelligence engine for the Vala and Genie programming languages
185174
- [Valum](https://github.com/valum-framework/valum), a micro web framework written in Vala
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
## Added support for GCC's `null_terminated_string_arg` function attribute
2+
3+
You can now check if a compiler support the `null_terminated_string_arg`
4+
function attribute via the `has_function_attribute()` method on the
5+
[[@compiler]] object.
6+
7+
```meson
8+
cc = meson.get_compiler('c')
9+
10+
if cc.has_function_attribute('null_terminated_string_arg')
11+
# We have it...
12+
endif
13+
```
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
## Support of indexed `@PLAINNAME@` and `@BASENAME@`
2+
3+
In `custom_target()` and `configure_file()` with multiple inputs,
4+
it is now possible to specify index for `@PLAINNAME@` and `@BASENAME@`
5+
macros in `output`:
6+
```
7+
custom_target('target_name',
8+
output: '@PLAINNAME0@.dl',
9+
input: [dep1, dep2],
10+
command: cmd)
11+
```
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
## meson test now sets the `MESON_TEST_ITERATION` environment variable
2+
3+
`meson test` will now set the `MESON_TEST_ITERATION` environment variable to the
4+
current iteration of the test. This will always be `1` unless `--repeat` is used
5+
to run the same test multiple times.

0 commit comments

Comments
 (0)