aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2021-06-18interpreter: Add a new MesonInterpreterObject for non-elementary objectsDaniel Mensinger7-25/+43
2021-06-18interpreter: Refactor interpreter.compiler to use ObjectHolderDaniel Mensinger3-17/+24
2021-06-18interpreter: Refactor ObjectHolder to extend InterpreterObjectDaniel Mensinger2-69/+47
2021-06-18decorators: Add not_set_warning to KwargInfoDaniel Mensinger1-1/+7
2021-06-18decorators: Fix typoDaniel Mensinger1-1/+1
2021-06-18build: textwrap.dedent() some stringsDaniel Mensinger1-10/+18
2021-06-18typing: Import missing classes in interpreterobjects.pyDaniel Mensinger1-0/+2
2021-06-18mesonlib: Add MesonBugExceptionDaniel Mensinger1-0/+9
2021-06-18tests: clear mesonlib.project_meson_versions (which **really** needs a refactor)Daniel Mensinger1-0/+2
2021-06-18tests: Always enable the traceback in run_project_tests.pyDaniel Mensinger4-6/+17
2021-06-18tests: Add visual seperator to the test logs in run_project_tests.pyDaniel Mensinger1-0/+9
2021-06-18modules/qt: use append rather than extend in preprocessDylan Baker2-3/+13
Because that's what we need, of course
2021-06-18modules/qt: allow string values for include_directoriesDylan Baker2-15/+15
This should have been supported before, but wasn't.
2021-06-18build: add type annotations for the IncludeDirs objectDylan Baker1-9/+11
2021-06-18interpreter: add type annotations to build_incdir_objectDylan Baker2-30/+31
and use textwrap.dedent to make the very large messages more readable and not break method folding.
2021-06-18dependency: Empty fallback is the same as allow_fallback: falseXavier Claessens5-0/+22
2021-06-17Revert "Add Chicken-Libraries to Users.md (#8180)"Eli Schwartz1-1/+0
This reverts commit 72365e6856e688054938f6055af66f0ac83d261e. This is a vanity project that no longer exists. See discussion at #8890, which still requires further thought but we can at least start off by removing something clearly invalid.
2021-06-17update gettext test to use new intl dependencyEli Schwartz2-3/+4
Tests that we find something sensible for intl, capable of producing binaries using gettext() to translate stuff. No more need to manually check headers and *maybe* include the intl library, which we were doing before; the new dependency actually simplifies the existing test, and should simplify users' build files too...
2021-06-17intl custom dependencyEli Schwartz4-3/+84
Checking how to aquire the *gettext family of symbols portably is annoyingly complex, and may come from the libc, or standalone. builtin dependency: This detects if libintl is unneeded, because the *gettext family of symbols is available in the libc. system dependency: This detects if libintl is installed as separate software, linkable via -lintl; unfortunately, GNU gettext does not ship pkg-config files for it. Fixes #3929
2021-06-17tests: update dependency factory tests to check type_name is saneEli Schwartz1-11/+26
Since we pass a method: 'foo' to every one of these config-tool/pkg-config dependencies, we do not ever need to check which type_name it has; change these to asserts instead. In the process, we discover a bug! We kept checking for type 'configtool' instead of 'config-tool', so these tests all short-circuited and checked nothing. Once moved to an assert, the asserts failed. Add a new lookup for a known system dependency and make it assert that too.
2021-06-17expose SystemDependency and BuiltinDependency as toplevel classesEli Schwartz2-3/+6
mesonbuild.dependencies.__init__ exposes configtool, pkgconfig, cmake and more in __init__.py, so there's no reason we should be tying SystemDependency to the internal organization implementation of the subpackage! In the 2nd previous commit it took quite some effort to figure out that the python module "does not exist" because of import errors while refactoring something completely different.
2021-06-17add new dependency type "builtin"Eli Schwartz2-1/+22
For dependencies that on some systems are built into libc etc. and don't need to be separately linked. This is distinct from "system" dependencies which add linker args.
2021-06-17move base class for system dependencies into base.pyEli Schwartz11-44/+26
In accordance with review comments; it's small enough this seems fitting.
2021-06-17doc: Add missing modules to dropdown listXavier Claessens2-2/+20
2021-06-16interpreter: Extract dependency() logic into its own helper classXavier Claessens25-337/+419
The dependency lookup is a lot of complex code. This refactor it all into a single file/class outside of interpreter main class. This new design allows adding more fallbacks candidates in the future (e.g. using cc.find_library()) but does not yet add any extra API.
2021-06-16Fix assert(not true) raising backtraceXavier Claessens1-1/+1
When no message is provided to assert(), it uses the ast printer to show the condition that failed. In this case the 'not' is the first string appended to the result, self.result[-1] would raise range error.
2021-06-16Merge pull request #8822 from dcbaker/submit/annotate-and-check-qt-moduleJussi Pakkanen17-360/+708
Rewrite the Qt module for type safety!
2021-06-15Users.md: add canfigger libraryandy59951-1/+2
2021-06-15docs: Add a page for qt6Dylan Baker2-0/+9
Which has been missing since the module was added in 0.57.0. This also uses the include syntax
2021-06-15docs: Use an include for the qt modulesDylan Baker4-162/+165
Insteadf of qt4 referencing the Qt5 page, include the same content in both.
2021-06-15modules/qt: sort and clean up dependenciesDylan Baker1-8/+9
2021-06-15modules/qt: Return GeneratedListHolder instead of GeneratedListDylan Baker1-2/+2
This really shouldn't be necissary, but fixing the typing annotations of ModuleReturnValue is much harder than just returning the Holder directly.
2021-06-15interpreterobjects: Clean up GeneratedListHolderDylan Baker1-8/+3
Remove an unused method (that didn't work before this series), and remove the ability to pass a Generator to the GeneratedListHolder, it's never used and it's weird and not the way Meson generally works now. While we're here, finish the type annotations.
2021-06-15build: Fully annotate GeneratedListDylan Baker1-11/+17
2021-06-15build: Generator add missing annotationsDylan Baker1-5/+6
2021-06-15build: cleanup Generator.proccess_files a bitDylan Baker1-5/+5
2021-06-15interpreterobjects|build: use typed_kwargs for generator.processDylan Baker4-27/+41
2021-06-15interpreter|build: use typed_pos_args and unholder in the interpreterDylan Baker2-31/+32
For generator.process_files. Just cleaner and nicer
2021-06-15build: Pass name of generator to initializerDylan Baker2-10/+17
It's really a property of the Generator what name to use, not something that should be passed to each call to process files.
2021-06-15interpreter|build: Do Generator keyword argument checking in the interpreterDylan Baker3-68/+37
For qt we already have all of the necissary checking in place. Now in the interpreter we have the same, the intrperter does all of the checking, then passed the arguments to the Generator initializer, which just assigns the passed values. This is nice, neat, and clean and fixes the layering violatino between build and interpreter.
2021-06-15interpreter: use typed_kwargs for func_generatorDylan Baker3-3/+22
Do the type checking in a nice tidy way
2021-06-15interpreter|build: Pass just the executable down to GeneratorDylan Baker3-12/+9
This requires that the interpreter has done the validation, which it now does at all callsites. This simplifies the Generator initializer.
2021-06-15interpreter: Do not create Generator in GeneratorHolderDylan Baker2-8/+10
This is an odd pattern, not the way most Holders work, and would be problematic if a method wanted to return a Generator.
2021-06-15modues/qt: Make use of typed_kwargs since/deprecation abiltiyDylan Baker1-15/+7
2021-06-15docs: update qt module documentation with types and new filesDylan Baker3-20/+96
2021-06-15modules/qt: fix remaining typing issues and add to run_mypyDylan Baker2-13/+16
This just ignores the fact taht Generator is unchecked. Generator needs some real love in terms of type checking.
2021-06-15modules/qt: use type checking and annotations for compile_translationsDylan Baker1-13/+34
2021-06-15modules/qt: fully annotate and check qt.has_toolsDylan Baker4-8/+45
2021-06-15modules/qt: Make use of the default=[] availabilityDylan Baker1-29/+44
2021-06-15modules/qt: Type anotations and cleanupsDylan Baker1-17/+30
This adds a number of missing type annotations to existing functions, and makes a few members protected instead of public, as they were never meant to be public