summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-09-18Update link to lcovEberhard Beilharz
lcov moved from sourceforge to github, so this change updates the link.
2023-09-18Metrowerks assembler should not inherit opt args from mixinNomura
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 argsNomura
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 argsNomura
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 Tang
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. Segovia
environment variables See #11128
2023-09-15environment, env2mfile: Don't shell split paths if they point to a valid ↵L. E. Segovia
executable Fixes #11128
2023-09-14Revert "tests: skip a test that fails with new Python 3.11 from MSYS2"Christoph Reiter
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 Claessens
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 scriptNomura
2023-09-13install_{data,headers,subdir}: implement follow_symlinksArsen Arsenović
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ć
2023-09-13fix undefined StringNode from previous commitCharles Brunet
2023-09-13Fix assertion raised with invalid option nameCharles Brunet
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 Brunet
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 Pakkanen
Preserve whitespaces and comments in AST
2023-09-12msubprojects: Speedup subproject_dir extractionXavier Claessens
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().
2023-09-12fix bug with openssl when cmake is missingCharles Brunet
Fixes #12098 DependencyFactory was returning a lambda, but it has no log_tried() function
2023-09-11parser: allow whitespaces and comments in cont_eolCharles Brunet
FIXME: another approach would be to consider cont_eol as comment (i.e. add backslash and whitespaces to the comment regex). In both cases it works until we want to parse comments separately. TODO?: handle eol_cont inside a string (to split long string without breaking lines). Probably a bad idea and better to simply join a multiline string.
2023-09-11raw printerCharles Brunet
this printer preserves all whitespaces and comments in original meson.build file. It will be useful for rewrite and potential auto-formatter
2023-09-11ast: fully resolve nodes for add operationCharles Brunet
Otherwise, string + stringmethod results in a list of two strings instead of the concatenation of the strings
2023-09-11parser: preserve whitespaces and commentsCharles Brunet
2023-09-11parser: simplify other node constructorsCharles Brunet
2023-09-11parser: simplify by using Unary and Binary Operator NodeCharles Brunet
2023-09-11parser: simplify Assignment and PlusAssignment nodesCharles Brunet
2023-09-11parser: add SymbolNode to preserve operatorsCharles Brunet
2023-09-11parser: add ElseNodeCharles Brunet
2023-09-11parser: remember previous TokenCharles Brunet
2023-09-11parser: preserve value of all tokensCharles Brunet
2023-09-11parser: use IdNode for foreach varnamesCharles Brunet
2023-09-11parser: use IdNode for function name and assignment nameCharles Brunet
2023-09-11parser: preserve escape chars in stringsCharles Brunet
use separate Node for multiline strings
2023-09-11parser: remove useless __str__ methods on nodesCharles Brunet
2023-09-11parser: preserve number baseCharles Brunet
2023-09-11parser: more specific error for float numbersCharles Brunet
2023-09-11Add ParenthesizedNodeJCWasmx86
2023-09-10Recognise more include search path opts when populating ↵Dan Hawson
'NMakeIncludeSearchPath' to help intellisense Added to existing '/I' and '-I' extraction with '-isystem', '/clang:-isystem', '/imsvc', '/external:I', which are forms of 'system' header include search path options for gcc, clang, clang-cl, and cl (msvc). Factored 3 separate 'extract_...(...)' functions into one since they were always called together on the same args; a new combined '_extract_nmake_fields(...)' func avoids repeated iterations and checks.
2023-09-09gnome.mkenum_simple(): Fix include path when header is in subdirXavier Claessens
It was generating #include with the basename of every header file. That assumes that every directory where there are headers are also included into search path when compiling the .c file. Change to use path relative to current subdir, which can be both in build or source directory. That means that we assume that when the .c file is compiled, the target has a include_directories pointing to the directory where gnome.mkenum_simple() has been called, which is generally '.' and added automatically. Also fix type annotation to only allow str and File sources, other types have never been working, it would require to iterate over custom target outputs, etc. Fixes: #7582
2023-09-09Add support for padding zeroes in int.to_string() methodNomura
2023-09-09Add macro_name option to configure_fileNicholas Vinson
Allow macro_name to be speficied as a parameter to configure_file(). This allows C macro-style include guards to be added to configure_file()'s output when a template file is not given. This change simplifies the creation of configure files that define macros with dynamic names and want the C-style include guards.
2023-09-09clike compilers: fix cross_* functions' includeMoody Liu
A standard C library may not exist for cross-compile environments, thus the existence of <stdio.h> cannot be guaranteed. Use <stddef.h> instead, this header contains compiler-specific defines thus it usually comes from the compiler.
2023-09-08dependencies: fix crash in Qt if private_headers dir not foundEli Schwartz
You cannot listdir() a directory that doesn't exist. This header directory may not exist if suitable devel packages in distros with split devel packages, aren't installed. In theory we could raise a suitable error here. But it would be inconsistent -- we don't otherwise validate that the Qt include directories exist, usually just assuming they do because the dependency was found. And this is niche code inside a non-default special kwarg. At least for pkg-config, it's probably a bug in the distro if pkg-config files exist but the headers don't. The qmake status is less clear. Avoiding a crash means that at the very least, if those headers are in fact directly used by the project, an obvious compiler error occurs instead of a noisy meson traceback. Fixes #12214
2023-09-08Override config-tool get_variable args for qmakeNirbheek Chauhan
2023-09-07Fix include_directories test for relative pathCharles Brunet
- On Windows, it was not detected if include directory was an absolute path to source directory, because of the mis of path separators. - In the edgecase the include directory begins with the exact same string as the source directory, but is a different directory, it was falsely reported as an error. Fixes #12217.
2023-09-07syntax-highlighting: vim: update builtin function listLiam Beguin
Update builtin function list using the refman python docs/genrefman.py \ -g vim \ -o data/syntax-highlighting/vim/syntax/ This also drops gettext() and find_library() from the list of builtin functions that have been deprecated since 2016. Changes are squashed here because test_vim_syntax_highlighting() would validate the file against the list of builtin functions that no longer matches the yaml documentation. Signed-off-by: Liam Beguin <liambeguin@gmail.com>
2023-09-07docs: refman: add vim syntax file generatorLiam Beguin
Signed-off-by: Liam Beguin <liambeguin@gmail.com>
2023-09-07gnome: Fix glib tool lookup consistencyXavier Claessens
It was not always using the pkg-config file.
2023-09-07Fix crash when installing a vala library and python sourcesXavier Claessens
Installing python sources causes the python module to call create_install_data() before Ninja backends adds extra outputs to Vala targets. Target objects are supposed to be immutable, adding outputs that late is totally wrong. Add extra vala outputs immediately, but be careful because the main output is only added later in post_init(). Luckily the base class already puts a placeholder item in self.outputs for the main filename so we can just replace self.outputs[0] instead of replacing the whole list which would contain vala outputs at that stage. This is surprisingly what SharedLibrary was already doing.
2023-09-07Compiler checks must use per-subproject optionsXavier Claessens
Fixes: #12202
2023-09-07Rename OptionOverrideProxy to OptionsView and move to coredataXavier Claessens
Coredata is where all option handling is done so it makes sense there. It is a view on a list of options for a given subproject and with optional overrides. This change prepare for using that view in a more generic way in the future.