aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2022-10-27Add regression test for pch link_whole bug.vs_pch_fixJussi Pakkanen7-0/+39
2022-10-25compilers: Make sure to not use ccache in compiler checksXavier Claessens5-12/+10
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-25Compilers: Keep ccache and exelist separatedXavier Claessens16-116/+114
Only combine them in the Compiler base class, this will make easier to run compiler without ccache.
2022-10-25Bump version numbers for 0.64.0.rc1.0.64.0rc1Jussi Pakkanen2-2/+2
2022-10-25tests: Add nasm compiler checksXavier Claessens1-0/+18
2022-10-25nasm: Use an hello world test that works on 32bits tooXavier Claessens2-15/+29
Fixes: #10956
2022-10-25Fix native compilation on ARM64 WindowsGustavoLCR3-23/+45
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-25Skip wrapdb test if there is no connectivity.Jussi Pakkanen1-0/+9
2022-10-24Add missing since annotations in docsElliott Sales de Andrade8-12/+18
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-24ci: run `brew update` before `brew install`Carlo Cabrera1-0/+2
This makes sure we don't end up picking up an older version of LLVM that does not work.
2022-10-24Revert "ci: Fix llvm detection on macOS CI"Carlo Cabrera1-27/+12
Fixed in Homebrew/homebrew-core#112154. This reverts commit c20fb659f600149c08d635fc3750f03632164b9b.
2022-10-25Condense test directory numbers.Jussi Pakkanen111-25/+25
2022-10-24Move JNISystemDependency to dependencies.base.detect_compilerTristan Partin1-3/+2
Only searches if the project already added that language before.
2022-10-24Fix mismatched param names between Compiler and BasicLinkerIsCompilerMixinTristan Partin2-6/+10
2022-10-24Use f-strings in JavaCompilerTristan Partin1-2/+2
2022-10-24Add missing compiler functions to JavaCompilerTristan Partin1-0/+6
Fixes #2571
2022-10-24basic support for oneapi compilersRobert Cohn7-5/+77
2022-10-24Add MASM compilerXavier Claessens7-5/+217
ml and armasm are Microsoft's Macro Assembler, part of MSVC.
2022-10-24Not all compilers support depfileXavier Claessens3-3/+4
2022-10-24hotdoc module: add partially typed kwargsEli Schwartz1-40/+45
We accept a list of known kwargs of required types, but also arbitrary kwargs understood by the hotdoc program (sometimes via extensions). Now that we can partially type-check kwargs, do so here.
2022-10-24add option to typed_kwargs that allows unknown kwargs throughEli Schwartz1-6/+7
Some functions cannot be fully type checked, because our API allows fully arbitrary kwargs and treats them as data to pass through to the underlying feature. For example, hotdoc command line arguments. This change allows us to type check some kwargs with known types and possibly required status, and make their values consistent(ly defaultable), while preserving the optional nature of the additional kwargs.
2022-10-24Accept disablers in summary valuesElliott Sales de Andrade4-5/+13
They are commonly used as a replacement for a `dependency`, and not accepting them in `summary` breaks the last example in [1] when used as a value. [1] https://mesonbuild.com/Disabler.html#disabling-parts-of-the-build
2022-10-24nasm: Harcode default path on WindowsXavier Claessens2-8/+9
NASM's installer does not add itself into PATH, even when installed by choco.
2022-10-24Add missing doc for NASM languageXavier Claessens2-0/+6
2022-10-24Add yasm as fallback for nasm languageXavier Claessens5-8/+50
2022-10-24Add NASM compilerXavier Claessens8-1/+184
2022-10-24run_mypy: add extra logging and permit specifying files to checkEli Schwartz1-15/+36
If those files are not yet known to be typed, skip them. This makes it possible to trivially check a shortlist of files that were just changed and see if they regress our mypy coverage. Ideal for use in a git pre-commit hook.
2022-10-23Merge pull request #10916 from xclaesse/preprocessJussi Pakkanen17-21/+247
Add cc.preprocess() method
2022-10-23gnulike: Fix preprocessing files with any extensionXavier Claessens2-1/+6
2022-10-23Add doc and release notes for cc.preprocess()Xavier Claessens2-0/+36
2022-10-23Add unit test for cc.preprocess()Xavier Claessens6-0/+28
2022-10-23vs backend: Add support for CompileTargetXavier Claessens2-0/+46
Since vs backend only support the C compiler, everything else are custom targets. Convert CompileTarget into a Generator to reuse existing code. This will be useful in the future to support transpilers, and assemblers.
2022-10-23Add cc.preprocess() method for c-like compilersXavier Claessens4-3/+83
This introduce a new type of BuildTarget: CompileTarget. From ninja backend POV it is the same thing as any other build target, except that it skips the final link step. It could be used in the future for transpilers too.
2022-10-23Compilers: Add a preprocessor mode for clike compilersXavier Claessens4-1/+38
A compiler object can now return a list of "modes", they are new compiler object specialized for a specific task.
2022-10-23Fix excluding sources for static lib in both_libraries()Xavier Claessens3-10/+35
When using both_libraries(), or library() with default_library=both, we remove all sources from args and kwargs when building the static library, and replace them by the objects from the shared library. But sources could also come from any InternalDependency, in which case we currently build them twice (not efficient) and link both objects into the static library. It also means that when we needlessly build those source for the static library, it miss order dependency on generated headers that we removed from args/kwargs, which can cause build errors in the case the source from static lib is compiled before the header in shared lib gets generated. This happened in GLib: https://gitlab.gnome.org/GNOME/glib/-/merge_requests/2917.
2022-10-23Fix typos in docsElliott Sales de Andrade26-34/+34
2022-10-22doc: Fix linkZhao, Gang1-1/+1
2022-10-21msubprojects: Fix issues when updating all wrapsXavier Claessens1-22/+10
When updating all wraps, it is not an error if some have not been downloaded or some does not have a wrap file.
2022-10-19BUG: Don't add debug files as targets when not building in debug modeThomas Li1-2/+4
2022-10-18ninja: Simplify getting rule name from compiler objectXavier Claessens1-17/+11
2022-10-14hotdoc: Fix typo in argumentNirbheek Chauhan1-1/+1
2022-10-13fix: don't set FavorSizeOrSpeed in vs backend if optimization disabled (/Od ↵Luke Elliott1-1/+2
set). Debugging is broken with clang-cl when FavorSizeOrSpeed is set.
2022-10-13Add b_thinlto_cache for automatically configuring incremental ThinLTOTatsuyuki Ishi7-25/+69
2022-10-13clang: Support ThinLTO with moldTatsuyuki Ishi1-4/+9
2022-10-13linkers: Add missing mold entries to __init__Tatsuyuki Ishi1-0/+2
2022-10-12Merge pull request #10357 from xclaesse/update-wrapdbJussi Pakkanen5-54/+109
Make `meson wrap update` command update all wraps in parallel
2022-10-12interpreter: Fix msg when none of the dependencies have namesNirbheek Chauhan1-5/+3
This case is identical to the case when there's no dependencies specified, so it should behave the same way.
2022-10-12interpreter: Don't say we're using -lfoo args when we're notNirbheek Chauhan1-9/+11
cc.compiles(), and other compiler checks that use cc.compiles() under the hood, do not use link args at all when doing the compile check, so messages like this: ``` Checking if "have zlib" with dependency -lz compiles: YES ``` is very misleading. The compiler check command-line for that is: ``` cc [...]/testfile.c -o [...]/output.obj -c -D_FILE_OFFSET_BITS=64 -O0 ``` Note the lack of linker args.
2022-10-11Make `meson wrap update` command update all wraps in parallelXavier Claessens4-17/+74
This moves the implementation into msubprojects because it has all the infrastructure to update wraps in parallel while keeping "meson wrap" UX.
2022-10-10Move some code from wraptool.py to wrap.pyXavier Claessens2-34/+32