aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2023-09-25Adjust kernel detection to support Solaris 5.10 or earlierHEADmasterCorrodedCoder1-0/+5
The logic previously added to distinguish between illumos and Solaris made use of a uname invocation with a -o switch which is not supported on Solaris 5.10 or earlier. illumos started with version 5.11 so the logic has been shortcut to report 'solaris' in such cases where the version is 5.10 or below.
2023-09-25rust: apply global, project, and environment C args to bindgenDylan Baker6-1/+57
This means that arguments set via `add_global_arguments`, `add_project_arguments` and by either the `-Dc_args` or `CFLAGS` are applied to bindgen as well. This can be important when, among other things, #defines are set via these mechanisms. Fixes: #12065
2023-09-25fix bug where all java builds & tests fail to run SanityCheck on JDK11Alan Brooks1-1/+1
Needed a classpath set in the current working directory. This was on a Zulu build of OpenJDK 11.0.17 on a macOS ARM machine. The errors folks might encounter: Error: Could not find or load main class SanityCheck Caused by: java.lang.ClassNotFoundException: SanityCheck
2023-09-25Add clang-tidy-fix targetLei YU5-3/+41
Add the `clang-tidy-fix` target to apply clang-tidy fixes to the source code. This is done by calling `run-clang-tidy` with `-fix` argument. Add a test case to run `clang-tidy-fix` and verify the file is changed. Signed-off-by: Lei YU <yulei.sh@bytedance.com>
2023-09-24cpp: restore c++26 supportChristoph Reiter1-1/+1
c++26 support was added in #11986, but regressed in #10332 because the versions now get checked against the global _ALL_STDS list, and c++26 was missing there. Fix by adding c++26 to _ALL_STDS
2023-09-23openmp: add 5.1/5.2, fixes openmp with llvm v17Christoph Reiter1-0/+2
llvm v17 defaults to 5.1 and without this meson fails to find openmp: 'ERROR: Dependency "openmp" not found, tried system' Add 5.2 as well while at it.
2023-09-23get_llvm_tool_names: add llvm 17Christoph Reiter1-0/+1
this fixes the "frameworks: 15 llvm" tests with llvm 17
2023-09-22interpreter: Move code that dumps generated ASTXavier Claessens1-24/+14
That code is common to any method that generates an AST, like cargo subprojects coming soon.
2023-09-22CMakeInterpreter: Remove useless argumentsXavier Claessens2-9/+5
2023-09-22Allow to fallback to cmake subprojectXavier Claessens21-27/+188
The method can be overridden by setting the `method` key in the wrap file and always defaults to 'meson'. cmake.subproject() is still needed in case specific cmake options need to be passed. This also makes it easier to extend to other methods in the future e.g. cargo.
2023-09-22CPU family support 'sw_64' and remove the compile warning (#12273)Kunwu.Chan2-0/+4
add sw_64 to the list of known cpus
2023-09-22ZlibSystemDependency: pass libtype to clib_compiler.find_libraryAlan Coopersmith1-1/+1
Makes it stop reporting that it found a static zlib on Solaris which does not ship a static library file for libz, and thus allows "test cases/rust/13 external c dependencies" to pass. Fixes #10906
2023-09-22rust: properly rematerialize static dependencies as well as dynamic onesDylan Baker1-2/+3
Rustc expects to be provided both a search path `-L`, and a link arg `-l kind=libname`, but we don't handle that correctly. Because we combine -L and -l arguments from pkg-config the backend must rematerialize the -L and -l split. We currently don't do this for static archives.
2023-09-21objective-c++: add support for current supported standards in Apple ClangSteven Noonan1-1/+3
Pulled from this list on Xcode 15 beta: $ clang -E -dM -xobjective-c++ -std=arglbargle -o - /dev/null error: invalid value 'arglbargle' in '-std=arglbargle' note: use 'c++98' or 'c++03' for 'ISO C++ 1998 with amendments' standard note: use 'gnu++98' or 'gnu++03' for 'ISO C++ 1998 with amendments and GNU extensions' standard note: use 'c++11' for 'ISO C++ 2011 with amendments' standard note: use 'gnu++11' for 'ISO C++ 2011 with amendments and GNU extensions' standard note: use 'c++14' for 'ISO C++ 2014 with amendments' standard note: use 'gnu++14' for 'ISO C++ 2014 with amendments and GNU extensions' standard note: use 'c++17' for 'ISO C++ 2017 with amendments' standard note: use 'gnu++17' for 'ISO C++ 2017 with amendments and GNU extensions' standard note: use 'c++20' for 'ISO C++ 2020 DIS' standard note: use 'gnu++20' for 'ISO C++ 2020 DIS with GNU extensions' standard note: use 'c++2b' for 'Working draft for ISO C++ 2023 DIS' standard note: use 'gnu++2b' for 'Working draft for ISO C++ 2023 DIS with GNU extensions' standard Signed-off-by: Steven Noonan <steven@uplinklabs.net>
2023-09-19docs: fix `add_project_link_arguments` documentationBenoit Pierre1-3/+3
It should refer to `add_project_arguments`, not `add_global_arguments`.
2023-09-19Rust: Fix both_libraries() caseXavier Claessens2-3/+6
Rustc does not produce object files we can reuse to build both libraries. Ideally this should be done with a single target that has both `--crate-type` arguments instead of having 2 different build rules. As temporary workaround, build twice and ensure they don't get conflicts in intermediary files created by rustc by passing target's private directory as --out-dir. See https://github.com/rust-lang/rust/issues/111083.
2023-09-19Rust: Use Popen_safe_logged in sanity checksXavier Claessens1-11/+5
2023-09-19Rust: Fix proc-macro usage when cross compilingXavier Claessens2-1/+5
Force BUILD machine and allow to link with HOST machine.
2023-09-19Rust: Prevent linking Rust ABI with C library/executableXavier Claessens2-14/+19
2023-09-19Rust: Remove unit test already covered in "rust/4 polyglot"Xavier Claessens6-28/+0
2023-09-19Rust: Replace rust_crate_type with rust_abiXavier Claessens13-56/+263
Meson already knows if it's a shared or static library, user only need to specify the ABI (Rust or C).
2023-09-19Rust: Add a rust.proc_macro() methodDylan Baker3-3/+62
2023-09-19interpreter: Use common definition for sources typeXavier Claessens2-15/+20
2023-09-19interpreter: Allow regex matching in expect_error()Xavier Claessens1-4/+9
2023-09-18pkgconfig: Use ImmutableListProtocol[str] for cached listsXavier Claessens1-9/+10
This ensures that we are not modifying lists from lru cache.
2023-09-18pkgconfig: Set PKG_CONFIG in env for devenv and g-ir-scannerXavier Claessens5-24/+53
2023-09-18pkgconfig: Deprecate "pkgconfig" in favor of "pkg-config" in [binaries]Xavier Claessens2-2/+6
2023-09-18pkgconfig: Restore logging of pkg-config versionXavier Claessens2-15/+13
While at it, make more methods private by storing the version found on the instance. That avoids having to call check_pkgconfig() as static method from unittests.
2023-09-18pkgconfig: Use lru_cache instead of caching command linesXavier Claessens1-19/+9
2023-09-18pkgconfig: Cache the implementation instanceXavier Claessens3-48/+42
2023-09-18Remove get_configtool_variable()Xavier Claessens5-33/+13
This also makes it more consistent with get_pkgconfig_variable() which always return empty value instead of failing when the variable does not exist. Linking that to self.required makes no sense and was never documented any way.
2023-09-18Remove get_pkgconfig_variable()Xavier Claessens15-68/+62
Make sure that pkgconfig_define is a pair of strings and not a list with more than 2 strings.
2023-09-18fix linksyyyyyiiiiii1-2/+2
Wayland, Weston, wlroots migrated to gitlab.freedesktop.org
2023-09-18Update link to lcovEberhard Beilharz1-1/+1
lcov moved from sourceforge to github, so this change updates the link.
2023-09-18Metrowerks assembler should not inherit opt args from mixinNomura1-0/+3
The Metrowerks assembler does not support optimization flags. However, it received the same opt args as the Metrowerks C and C++ compilers, because it inherits from the 'MetrowerksCompiler' mixin. This broke builds with opt level higher than 0 that used the Metrowerks Assembler, as the latter received unsupported args. This is now fixed.
2023-09-18Metrowerks: set optlevel 3 to max optimization argsNomura1-1/+1
According to the Meson documentation, optimization level 3 should set the highest possible optimization for the compiler in use. In Metrowerks, this is 'O4,p'. However, Meson's Metrowerks implementation mapped opt level 3 to '-O3'. This has been fixed.
2023-09-18Metrowerks: remove duplicate optimization argsNomura1-4/+4
The args were in both buildtype and optimization. This broke buildtypes other than plain or custom unless manually setting the optimization level to 0, because Metrowerks chokes on duplicate arguments.
2023-09-18xcode: Check for apple framework deps by nameAlbert Tang1-6/+5
If `dependencies.platform.AppleFrameworks` has not been imported by this time, Meson crashes. Better to check by name instead.
2023-09-15reference tables: Document how to set compiler paths with spaces in ↵L. E. Segovia1-0/+20
environment variables See #11128
2023-09-15environment, env2mfile: Don't shell split paths if they point to a valid ↵L. E. Segovia2-2/+8
executable Fixes #11128
2023-09-14Revert "tests: skip a test that fails with new Python 3.11 from MSYS2"Christoph Reiter1-3/+0
This reverts commit 68dce66bf9a2bcb3d23c291beb2354225a74b954. The upstream issues https://github.com/msys2-contrib/cpython-mingw/issues/141 has been fixed now.
2023-09-14Wrap: Use git instead of patch by defaultXavier Claessens1-6/+8
This solves problems with Strawberry Perl providing patch.exe on Windows with an unconsistent line ending support. Fixes: #12092
2023-09-13Use @DIRNAME@ in Metrowerks cross files to point to linker scriptNomura2-18/+8
2023-09-13install_{data,headers,subdir}: implement follow_symlinksArsen Arsenović15-24/+139
This permits users who rely on following symlinks to stay on the old default of following them.
2023-09-13run_project_tests: support checking for symlinksArsen Arsenović2-2/+8
2023-09-13fix undefined StringNode from previous commitCharles Brunet1-1/+1
2023-09-13Fix assertion raised with invalid option nameCharles Brunet2-0/+13
When option name contains more that one dot, it should be detected earlier to prevent an assert to be raised. Fixes #11904.
2023-09-13Allow unit test to parse testcase blocksCharles Brunet1-0/+5
When a unittest introspect a meson.build file from a test case, the file may contain a testcase block. We should ignore this block.
2023-09-12Merge pull request #12152 from bruchar1/ast-preserve-allJussi Pakkanen18-272/+920
Preserve whitespaces and comments in AST
2023-09-12msubprojects: Speedup subproject_dir extractionXavier Claessens2-5/+22
The interpreter takes significant amount of time to initialize everything in project() function. We only need to extract a string from AST, just like we do in handle_meson_version_from_ast().