summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Add kernel and userland properties to machine objects.syspropsJussi Pakkanen2023-04-286-6/+109
|
* Alphabetize methods in MesonMain.Jussi Pakkanen2023-04-281-21/+21
|
* yasm: Fix usage of incompatible optimization flagsL. E. Segovia2023-04-241-0/+4
| | | | Fixes #11726
* mtest: prevent parse error with gtest protocolCharles Brunet2023-04-241-1/+5
| | | | | | | | Replace illegal characters when reading gtest generated xml file, to prevent a ParseError and a stacktrace. catch et.ParseError, just in case, to prevent stopping other tests if the xml file was malformed.
* ci: Don't error out CI if codecov upload failsNirbheek Chauhan2023-04-246-9/+9
|
* ci: Don't search for llvm modules with LLVM 16.0.xNirbheek Chauhan2023-04-241-16/+40
| | | | See: https://github.com/mesonbuild/meson/issues/11642
* dependencies: allow to fallback on CMake to find the SDL2 libraryMatthieu Bouron2023-04-244-6/+8
| | | | | | 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.
* Initial support for Metrowerks C/C++ compilerNomura2023-04-2414-5/+571
|
* fix python.version() not working in some casesCharles Brunet2023-04-232-0/+4
| | | | | | import('python').find_installation('python').version() causes exception because of a missing initialization, when `find_installation()` receives a name or a path.
* rust: Add new `rust_dependency_map` target configurationSebastian Dröge2023-04-217-14/+48
| | | | | | 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.
* docs: update the Rust bindgen docs to talk about assertionsDylan Baker2023-04-211-0/+9
| | | | | | 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`.
* modules/rust: Add -DNDEBUG to bindgen if b_ndebug is falseDylan Baker2023-04-211-0/+3
| | | | | Otherwise bindgen may generate different behavior than the compiled C code actually has.
* rust: add support for b_ndebugDylan Baker2023-04-214-2/+24
| | | | | | | 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.
* compilers: split code for deciding if debug is needed into a helperDylan Baker2023-04-211-4/+12
|
* compilers: convert method to get assert control to a booleanDylan Baker2023-04-214-15/+28
| | | | | | | | C like compilers only off `-DNDEBUG` to disable asserts. This is not a universal paradigm however. Rust, for example has an argument that takes a boolean. To better represent this, we allow passing a `disable` boolean. `disable` was chosen rather than `enable` because it allowed all existing logic to be left in place
* ci: Move to the codecov github actionNirbheek Chauhan2023-04-218-21/+95
| | | | | | | The pypi package was suddenly removed. Not the most confidence-inspiring deprecation/migration: https://about.codecov.io/blog/message-regarding-the-pypi-package/
* intro: add more details to generated json filesCharles Brunet2023-04-206-38/+172
| | | | | | | | | | | | | | 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.
* extra_files keyword in declare_dependency()Charles Brunet2023-04-207-8/+34
|
* rust: Also disallow `.` in Rust library target namesSebastian Dröge2023-04-202-6/+6
|
* rust: Don't allow spaces/dashes in Rust library namesSebastian Dröge2023-04-201-0/+9
| | | | | | | | | | | | The library names are directly mapped to filenames by meson while the crate name gets spaces/dashes replaced by underscores. This works fine to a certain degree except that rustc expects a certain filename scheme for rlibs that matches the crate name. When using such a library as a dependency of a dependency compilation will fail with a confusing error message. See https://github.com/rust-lang/rust/issues/110460
* rust: Don't use prefer-dynamic in case of proc-macro Rust dependenciesSebastian Dröge2023-04-191-2/+3
| | | | | They're only used at build-time and whether they exist or not should not have any effect on the final build artifact.
* Revert "cygwin CI: work around gcovr bug"Eli Schwartz2023-04-191-6/+0
| | | | | | This reverts commit 0022e1863d8d9769378ebfb56695bdbf55f118b9. The bug is long since both fixed and *released*.
* CI: update cygwin cache actions to new version supporting granular saveEli Schwartz2023-04-191-3/+8
| | | | | | cache/restore and cache/save now exist, and close the issue linked in the workflow comment. The new save action runs when invoked, rather than as a post action.
* pkgconfig module: fix traceback on invalid missing descriptionEli Schwartz2023-04-182-6/+17
| | | | | | | | | | If the optional first "mainlib" argument is there, then we infer several values. Otherwise, some of those values fall back to a generic default, and two of them -- name and description -- fall back to being mandatory. In commit e84f293f672a372d2434d0ce4fa39d3f902b6ce8, we removed validation for description as part of refactoring that never actually validated anything.
* CI: cygwin coverage uploader needs to run in bash tooEli Schwartz2023-04-171-1/+4
| | | | | Like every single other command in the entire workflow, and for the same reasons. ;)
* Update Users.md [skip ci]Volker Weißmann2023-04-171-0/+1
|
* Add c++23 to the list of C++ standards.Jussi Pakkanen2023-04-171-1/+5
|
* select the correct python_command for pyinstaller builds, even on not-WindowsEli Schwartz2023-04-171-2/+2
| | | | | | | | | | | | Checking the executable basename sort of works, at least for Windows, since Windows always happens to use exactly this approach. However, the official pyinstaller documentation suggests a very different approach: https://pyinstaller.org/en/stable/runtime-information.html This approach is more robust since it works on any OS, and in particular it allows me to test the PyInstaller bundle functionality on Linux, even though we don't officially distribute it as such.
* fix data collection with pyinstallerEli Schwartz2023-04-171-1/+1
| | | | | | | | | | | | | | | pyinstaller considers .py files to not be data by default. The entire architecture of pyinstaller is, in fact, different from zipapp or unpacked modules -- because it actually has to use a resource loader with on-disk files *separate* from the module itself. So just because a file gets packaged in the application does not mean it's usable as an importlib.resources compatible resource. Although we collect data files in general, we need to make sure that .py files are collected from scripts, because we may try to run them standalone from an external process. Fixes #11689
* mbuild: .pdb files are created only when debug symbols are enabledDaniele Nicolodi2023-04-141-5/+9
| | | | | This is the same fix as the one in #10800 for shared libraries but applied to executables instead.
* minstall: work around broken environments with missing UIDsEli Schwartz2023-04-141-2/+10
| | | | | | | | | | | | | | | | Running some container-like mechanisms such as chroot(1) from sudo, can result in a new isolated environment where the environment variables exist but no users exist. From there, a build is performed as root but installation fails when we try to look up the passwd database entry for the user outside of the chroot. Proper container mechanisms such as systemd-nspawn, and even improper ones like docker, sanitize this and ensure those stale environment variables don't exist anymore. But chroot is very low-level. Avoid crashing when this happens. Fixes #11662
* minstall: do not drop privileges if msetup also ran under sudoEli Schwartz2023-04-141-0/+4
| | | | | | | | | | | A user might run `sudo somewrapper` to build and install something with meson, and it is not actually possible to drop privileges and build, since the build directory is also owned by root. A common case of this is `sudo pip install` for projects using meson-python or other python build-backends that wrap around meson. Fixes #11665
* minstall: Fix install_subdir() excludes with path separators on WinDaniele Nicolodi2023-04-147-5/+18
| | | | | | | The paths in meson.build use / as path separator, however, the paths constructed during the directory structure walk use native path separators, thus the path never compare equal to the excluded ones. Normalize the exclusion paths before the comparison.
* rust: Use `isinstance(d, build.StaticLibrary)` instead of comparing the type ↵Sebastian Dröge2023-04-141-1/+1
| | | | name string
* rust: Link staticlib/cdylib link targets like link targets from any other ↵Sebastian Dröge2023-04-141-1/+4
| | | | | | | language staticlib/cdylib only provide a C ABI, i.e. contain no Rust metadata, and can be linked like a link target from any other language.
* rust: Don't prefer dynamic linking of Rust libraries for cdylibsSebastian Dröge2023-04-141-5/+9
| | | | | cdylibs provide a plain C ABI to its consumers and should not be treated like dylib/proc-macro shared libraries that provide a Rust ABI.
* rust: Use the corresponding rustc version when clippy-driver is chosen as ↵Sebastian Dröge2023-04-141-1/+12
| | | | | | | | Rust compiler By default clippy-driver will report its own version, which is not very useful to check the toolchain version. Instead make sure to extract the actual toolchain version here.
* rust: Convert dashes in crate names to underscoresSebastian Dröge2023-04-141-4/+14
| | | | | Dashes can't be used as identifiers in Rust and cargo is converting dashes in crate names to underscores for the same reason.
* rust: Don't pass dependency compile arguments to the compilerSebastian Dröge2023-04-142-2/+13
| | | | | | Rust doesn't have a concept of dependency compile arguments, i.e. something like headers. Dependencies are linked in and all required metadata is provided by the linker flags.
* backend/vs: Fix OpenMPSupportJosh Soref2023-04-111-2/+2
| | | | | | | | https://learn.microsoft.com/en-us/visualstudio/msbuild/cl-task?view=vs-2022 Found by https://www.check-spelling.dev/ Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
* zsh: fix help / descriptionsJosh Soref2023-04-111-3/+3
| | | | | | | | | | * --load-average * --gdb-path * description for install Found by https://www.check-spelling.dev/ Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
* ci: properly check `test cases/windows` filesJosh Soref2023-04-111-2/+2
| | | | | | Found by https://www.check-spelling.dev/ Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
* ci: rename workflowJosh Soref2023-04-111-3/+3
| | | | | | Found by https://www.check-spelling.dev/ Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
* syntax-highlighting: vim: fix mesonSpaceErrorJosh Soref2023-04-111-1/+1
| | | | | | | | Fixes regression from 388fa6e7761712a7b1d3422a879fa9e90b6fa606 Found by https://www.check-spelling.dev/ Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
* packaging: fix options hostArchitectures attributeJosh Soref2023-04-111-1/+1
| | | | | | | | | | This is used by the meson.pkg but is an optional attribute: https://developer.apple.com/library/archive/documentation/DeveloperTools/Reference/DistributionDefinitionRef/Chapters/Distribution_XML_Ref.html#//apple_ref/doc/uid/TP40005370-CH100-SW41 Found by https://www.check-spelling.dev/ Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
* fix various spelling issuesJosh Soref2023-04-11151-248/+248
| | | | Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
* better algo to find DLL paths on WindowsCharles Brunet2023-04-111-6/+62
| | | | | | | | | | | Instead of using a hacky version of rpaths_for_non_system_absolute_shared_libraries, we use a custom adhoc function. The function filters out paths that do not contain dll files. It also finds paths from any kind of dependencies. This removes unneeded paths from the PATH env var, and adds paths that were missing otherwise.
* Revert "find dll path on Windows"Charles Brunet2023-04-111-34/+10
| | | | This reverts commit 3968b84696a9034233c2fd64ef7d8e078982afe3.
* Change "can not" to "cannot" throughout projectHiPhish2023-04-1141-45/+45
| | | | | The word "cannot" expresses inability to do something whereas "can not" expresses the ability to refrain from doing something.
* Fix spelling and grammar in Dependencies.mdPete Dietl2023-04-111-3/+3
|