aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
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().
2023-09-12fix bug with openssl when cmake is missingCharles Brunet5-4/+39
Fixes #12098 DependencyFactory was returning a lambda, but it has no log_tried() function
2023-09-11parser: allow whitespaces and comments in cont_eolCharles Brunet2-7/+7
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 Brunet5-1/+432
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 Brunet1-2/+2
Otherwise, string + stringmethod results in a list of two strings instead of the concatenation of the strings
2023-09-11parser: preserve whitespaces and commentsCharles Brunet1-7/+60
2023-09-11parser: simplify other node constructorsCharles Brunet4-31/+26
2023-09-11parser: simplify by using Unary and Binary Operator NodeCharles Brunet1-42/+17
2023-09-11parser: simplify Assignment and PlusAssignment nodesCharles Brunet5-27/+12
2023-09-11parser: add SymbolNode to preserve operatorsCharles Brunet5-86/+239
2023-09-11parser: add ElseNodeCharles Brunet4-6/+19
2023-09-11parser: remember previous TokenCharles Brunet1-13/+10
2023-09-11parser: preserve value of all tokensCharles Brunet1-16/+10
2023-09-11parser: use IdNode for foreach varnamesCharles Brunet4-8/+10
2023-09-11parser: use IdNode for function name and assignment nameCharles Brunet12-56/+57
2023-09-11parser: preserve escape chars in stringsCharles Brunet13-49/+74
use separate Node for multiline strings
2023-09-11parser: remove useless __str__ methods on nodesCharles Brunet1-8/+4
2023-09-11parser: preserve number baseCharles Brunet3-4/+12
2023-09-11parser: more specific error for float numbersCharles Brunet1-0/+3
2023-09-11Add ParenthesizedNodeJCWasmx864-1/+18
2023-09-10Recognise more include search path opts when populating ↵Dan Hawson1-40/+33
'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 Claessens6-9/+47
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() methodNomura4-5/+49
2023-09-09Add macro_name option to configure_fileNicholas Vinson7-6/+63
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 Liu3-5/+31
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 Schwartz1-1/+1
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 Chauhan3-1/+10
2023-09-07Fix include_directories test for relative pathCharles Brunet4-3/+34
- 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 Beguin3-24/+9
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>