summaryrefslogtreecommitdiff
path: root/docs
AgeCommit message (Collapse)Author
2023-06-27modules/rust: Add a keyword argument to pass extra args to the rust compilerDylan Baker
This may be necessary to, for example, stop rustc complaining about unused functions
2023-06-27modules/rust: Add a machine file property for extra clang args with bindgenDylan Baker
It's currently impossible to inject extra clang arguments when using bindgen, which is problematic when cross compiling since you may need critical arguments like `--target=...`. Because such arguments must be passed after the `--` it's impossible to inject them currently without going to something like a wrapper script. Fixes: #11805
2023-06-27modules/rust: Add a `link_with` kwarg to the test methodDylan Baker
This was requested by Mesa, where a bunch of `declare_dependency` objects are being created as a workaround for the lack of this keyword
2023-06-27Added a little more useful info to 'link_whole' documentation, describing ↵Dan Hawson
the use of /LINKWHOLE with MSVC and the behaviour of re-exporting symbols of individual objects in a static library.
2023-06-25Add CppNorth talk.Jussi Pakkanen
2023-06-21rust: fix -C prefer-dynamic behaviorAlyssa Ross
I noticed when building a project that uses a proc macro that Meson passed -C prefer-dynamic for the executable, and not the proc macro, while cargo passed -C prefer-dynamic for the proc macro, but not for the executable. Meson's behavior broke setting -C panic=abort on the executable. As far as we can tell, because we explicitly pass each library path to rustc, the only thing -C prefer-dynamic affects in Meson is how the standard libraries are linked. Generally, one does not want the standard libraries to be dynamically linked, because if the Rust compiler is ever updated, anything linked against the old standard libraries will likely break, due to the lack of a stable Rust ABI. Therefore, I've reorganised Meson's behavior around the principle that the standard libraries should only be dynamically linked when Rust dynamic linking has already been opted into in some other way. The details of how this manifests are now explained in the documentation.
2023-06-21Clarify `environment` docs.Paolo Borelli
The object is not used only for tests, but also for `custom_target` etc.
2023-06-20doc: Dictionaries are ordered since Meson 0.62.0Xavier Claessens
This is a side effect of requiring Python >= 3.7 which itself guarantees dictionary order. This is now a Meson language guarantee as well which is required for passing default_options as dict and is generally expected by users.
2023-06-20interpreter: Accept more types in default_options dict valuesXavier Claessens
2023-06-20interpreter: allow default_options and override_options as a dictDylan Baker
2023-06-20add str.splitlines methodMartin Dørum
The new splitlines method on str is intended to replace usage of fs.read('whatever').strip().split('\n'). The problem with the .strip().split() approach is that it doesn't have a way to represent empty lists (an empty string becomes a list with one empty string, not an empty list), and it doesn't handle Windows-style line endings.
2023-06-19Add kernel and subsystem properties to machine objects.Jussi Pakkanen
2023-06-08Fix name of boost_includedir propertySébastien Villemot
2023-06-06Override find_program('meson')Tristan Partin
This override transparently upgrades anyone using it to this better functionality. Fixes #8511
2023-06-02docs: List vc++20 for cpp_stdNathan Kidd
vc++20 support was added in 012ec7d5b3379b035f1dd1369d74cafd26ff6ab0
2023-05-31mlog: use a hidden class for stateDylan Baker
This is a pretty common pattern in python (the standard library uses it a ton): A class is created, with a single private instance in the module, and then it's methods are exposed as public API. This removes the need for the global statement, and is generally a little easier to reason about thanks to encapsulation.
2023-05-26add refivar to users.mdNicholas Vinson
2023-05-26Update Users.mdNicholas Vinson
fix package ordering to so Q* and r* packages are in alphabetical order.
2023-05-25mtest: wildcard selectionCharles Brunet
Allow the use of wildcards (e.g. *) to match test names in `meson test`. Raise an error is given test name does not match any test. Optimize the search by looping through the list of tests only once.
2023-05-24repair install_mode support for uid/gid effectively everywhereEli Schwartz
We silently dropped all integer values to install_mode since the original implementation of doing this in KwargInfo, in commit 596c8d4af50d0e5a25ee0ee1e177e46b6c7ad22e. This happened because install_mode is supposed to convert False (exactly) to None, and otherwise pass all arguments in place. But a generator is homogeneous and attempting to do this correctly produced a mypy error that FileMode arguments were allowed to be ints -- well of course they are -- so that resulted in the convertor... treating ints like False instead, to make mypy happy. Fixes #11538
2023-05-23docs: gnome: mention that compile_resources adds dependencies by defaultPablo Correa Gómez
It is not very clear from the documentation that the dependencies in the resource file are added as default dependencies to the target.
2023-05-23docs: Fix some typos in feature option examplesNirbheek Chauhan
2023-05-21Allow generator.process(generator.process(...))Volker Weißmann
Fixes #1141
2023-05-09docs: mention additional python modules needed for buildingEli Schwartz
Also check that they are available in meson.build. Closes #11772
2023-05-09docs: make the man page installableEli Schwartz
Users now have the *option* to run the documentation build and use `meson install` to install man pages.
2023-05-09docs: add option to skip building HTML docsEli Schwartz
Reorder meson targets to handle those all at the end, and exit early if HTML documentation is disabled. This makes it possible to build just the manpage, without hotdoc installed.
2023-05-09docs: add meson option to use the unsafe loaderEli Schwartz
2023-05-09Enable fatal warnings in HotDoc when building website.Jussi Pakkanen
2023-05-08docs/prebuilt: fix sanity check logic in the exampleJoel Rosdahl
2023-05-06Initial support for Metrowerks AssemblerNomura
2023-05-03doc: Add link to argument detailsXavier Claessens
2023-05-03Visual studio: Generate vcxproj.filters files to adds filters to imitated ↵Renan Lavarec
directories to navigate more easily in the source files.
2023-05-02python module: add an automatic byte-compilation stepEli Schwartz
For all source `*.py` files installed via either py.install_sources() or an `install_dir: py.get_install_dir()`, produce `*.pyc` files at install time. Controllable via a module option.
2023-05-02Find python3.xx on windowsCharles Brunet
2023-04-26Add env kwarg to gnome.generate_gir().Volker Weißmann
Fixes #384
2023-04-24dependencies: allow to fallback on CMake to find the SDL2 libraryMatthieu Bouron
On Windows, the SDL2 library is generally provided with only CMake config files. This commit allows meson to fallback on CMake as a last resort to find the SDL2 library.
2023-04-24Initial support for Metrowerks C/C++ compilerNomura
2023-04-21rust: Add new `rust_dependency_map` target configurationSebastian Dröge
This allows changing the crate name with which a library ends up being available inside the Rust code, similar to cargo's dependency renaming feature or `extern crate foo as bar` inside Rust code.
2023-04-21docs: update the Rust bindgen docs to talk about assertionsDylan Baker
Since we now guarantee that Rust and C/C++ will have assertions both on or both off, we can give guidance about using `cfg(debug_assertions)` to wrap code using `#ifdef NDEBUG`.
2023-04-21rust: add support for b_ndebugDylan Baker
Rust has a `debug_assert!()` macro, which is designed to be toggled on the command line. It is on by default in debug builds, and off by default in release builds, in cargo. This matches what meson's b_ndebug option does in `if-release` mode.
2023-04-20intro: add more details to generated json filesCharles Brunet
This will help with the writing of tools to generate VisualStudio project and solution files, and possibly for other IDEs as well. - Used compilers a about `host`, `build` and `target` machines arere listed in `intro-compilers.json` - Informations lister in `intro-machines.json` - `intro-dependencies.json` now includes internal dependencies, and relations between dependencies. - `intro-targets.json` now includes dependencies, `vs_module_defs`, `win_subsystem`, and linker parameters.
2023-04-20extra_files keyword in declare_dependency()Charles Brunet
2023-04-17Update Users.md [skip ci]Volker Weißmann
2023-04-11fix various spelling issuesJosh Soref
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2023-04-11Change "can not" to "cannot" throughout projectHiPhish
The word "cannot" expresses inability to do something whereas "can not" expresses the ability to refrain from doing something.
2023-04-11Fix spelling and grammar in Dependencies.mdPete Dietl
2023-04-10Generate relnotes for 1.1.0.Jussi Pakkanen
2023-03-29Make --vsenv a readonly builtin optionXavier Claessens
We need to remember its value when reconfiguring, but the Build object is not reused, only coredata is. This also makes CLI more consistent by allowing `-Dvsenv=true` syntax. Fixes: #11309
2023-03-28doc: Use better name for builtin/return object titleXavier Claessens
The title is used only in the sidebar. There is no need to have "extends" information there. For returned objects the actual name is not meaningful so it's better to use the long name. For builtin objects the name is important because that's the global variable name.
2023-03-28doc: Fix some broken linksXavier Claessens