summaryrefslogtreecommitdiff
path: root/mesonbuild/interpreter.py
Commit message (Collapse)AuthorAgeFilesLines
...
* A few more lgtm fixes.Jussi Pakkanen2017-08-041-0/+1
|
* Fix test() accepting configure files for exePatrick Griffis2017-07-311-3/+7
|
* Convert man inputs to Files so you can install_man the output of ↵Jussi Pakkanen2017-07-311-9/+3
| | | | configure_file. Closes #2135.
* Merged buildrpath branch.Jussi Pakkanen2017-07-211-0/+1
|\
| * Add build_rpath as new property allowing people to specify rpath entries ↵Jussi Pakkanen2017-07-211-0/+1
| | | | | | | | that are used in the build tree but will be removed on install.
* | configure_file: warn in case a variable to subsitute is not present in the ↵Christoph Reiter2017-07-211-1/+8
|/ | | | passed configuration. Fixes #2090
* Turned SIMD into an unstable module.Jussi Pakkanen2017-07-181-0/+4
|
* Created merge_from method for ConfigurationData.Jussi Pakkanen2017-07-171-0/+11
|
* Removed unreachable code as == never throws.Jussi Pakkanen2017-07-161-5/+2
|
* Removed unnecessary pass statements.Jussi Pakkanen2017-07-161-1/+0
|
* Simplified control flow.Jussi Pakkanen2017-07-161-9/+9
|
* Make base options accessible via get_option()Gabríel Arthúr Pétursson2017-07-151-0/+4
|
* Fix remaining Interpreter object leaks.Jussi Pakkanen2017-07-011-1/+8
|
* Make Interpreter object unpicklable as it was being pickled by accident in ↵Jussi Pakkanen2017-07-011-0/+1
| | | | copies of kwargs.
* add_{project,global}_link_arguments require a 'language' argumentAaron Plattner2017-06-291-2/+4
| | | | | | | | | | | | | | | | | | Commit 325a231a added stricter keyword argument checking, but didn't enable keyword arguments for add_projects_link_arguments() and add_global_link_arguments(). This makes them fail with this error: Meson encountered an error in file meson.build, line 19, column 0: Function does not take keyword arguments. However, the language argument is required. Removing it produces this error instead: Meson encountered an error in file meson.build, line 19, column 0: Missing language definition in add_project_link_arguments Fix this by adding 'language' as a required keyword argument. Also add calls to these in the "146 C and CPP link" test case.
* Merge pull request #2001 from mesonbuild/kwcheckJussi Pakkanen2017-06-271-42/+193
|\ | | | | Decorator to check for unknown keyword arguments
| * Fixed issues raised in review.Jussi Pakkanen2017-06-261-31/+29
| |
| * Removed in_builddir from public usage as it is an internal feature that was ↵Jussi Pakkanen2017-06-261-6/+5
| | | | | | | | visible by accident.
| * Alphabetization.Jussi Pakkanen2017-06-261-67/+67
| |
| * Moved func_ methods from base class to Interpreter.Jussi Pakkanen2017-06-261-0/+35
| |
| * Add a few more.Jussi Pakkanen2017-06-261-9/+32
| |
| * A few more.Jussi Pakkanen2017-06-261-4/+23
| |
| * Added a few more kwarg checks to functions.Jussi Pakkanen2017-06-261-2/+20
| |
| * Checks for all build target functions.Jussi Pakkanen2017-06-261-17/+38
| |
| * Added kwargs for executable().Jussi Pakkanen2017-06-261-1/+33
| |
| * Decorator to check for permitted kwargs.Jussi Pakkanen2017-06-261-1/+7
| |
* | Add 'Compiler.get_display_language'Guillaume Poirier-Morency2017-06-261-7/+6
|/ | | | | Use this when we print language-related information to the console and via the Ninja backend.
* Merge pull request #1927 from centricular/gir-rpath-linkJussi Pakkanen2017-06-111-4/+6
|\ | | | | Work around GNU ld bug with -rpath,$ORIGIN
| * gnome: Work around GNU ld bug with -rpath,$ORIGINNirbheek Chauhan2017-06-111-4/+6
| | | | | | | | | | | | | | g-ir-scanner doesn't understand -rpath, so we use -L instead which has the same effect. Closes https://github.com/mesonbuild/meson/issues/1911
* | dependencies: Add a new class ExternalDependencyNirbheek Chauhan2017-06-091-1/+2
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | This class now consolidates a lot of the logic that each external dependency was duplicating in its class definition. All external dependencies now set: * self.version * self.compile_args and self.link_args * self.is_found (if found) * self.sources * etc And the abstract ExternalDependency class defines the methods that will fetch those properties. Some classes still override that for various reasons, but those should also be migrated to properties as far as possible. Next step is to consolidate and standardize the way in which we call 'configuration binaries' such as sdl2-config, llvm-config, pkg-config, etc. Currently each class has to duplicate code involved with that even though the format is very similar. Currently only pkg-config supports multiple version requirements, and some classes don't even properly check the version requirement. That will also become easier now.
* add `capture: true` ability to configure_file()Jan Chren (rindeal)2017-06-071-0/+13
| | | | Closes: https://github.com/mesonbuild/meson/issues/1863
* Enable variables for output in configure_fileBálint Aradi2017-06-031-0/+4
|
* Revert slashes in filenames being a hard error to give downstream projects ↵Jussi Pakkanen2017-06-021-8/+1
| | | | time to transition.
* interpreter: Prevent top-level subdirectories from using 'meson-' prefixGuillaume Poirier-Morency2017-05-291-0/+2
| | | | | These are reserved for internal usages like 'meson-private' or 'meson-logs'.
* Target file name must not contain a path separator as that breaks things.Jussi Pakkanen2017-05-261-1/+8
|
* Remove extra casts on InterpreterBase.evaluate_statement.Elliott Sales de Andrade2017-05-171-2/+1
| | | | | The result of this method is always a "native" object, and code coverage (plus a manual inspection) shows that this conversion is never done.
* Add super call in RunTargetHolder.Elliott Sales de Andrade2017-05-171-0/+1
|
* Remove dead code paths.Elliott Sales de Andrade2017-05-171-1/+0
|
* Fix undefined variables/methods.Elliott Sales de Andrade2017-05-171-1/+1
|
* dependencies: Only store found deps in the cacheNirbheek Chauhan2017-05-091-30/+7
| | | | | | | This simplifies everything since it means we will always search for the dependency again on the system if it wasn't found. This is particularly important when running `ninja reconfigure` with an edited PKG_CONFIG_PATH to point to a path that contains more pkg-config files.
* dependencies: Fix two more edge-cases in dependency searchingNirbheek Chauhan2017-05-091-12/+11
| | | | Includes tests for both of them.
* Completely overhaul caching of external dependenciesNirbheek Chauhan2017-05-091-25/+67
| | | | | | | | | | | | | | | | The old caching was a mess of spaghetti code layered over pasta code. The new code is well-commented, is clear about what it's trying to do, and uses a blacklist of keyword arguments instead of a whitelist while generating identifiers for dep caching which makes it much more robust for future changes. The only side-effect of forgetting about a new keyword argument would be that the dependency would not be cached unless the values of that keyword arguments were the same in the cached and new dependency. There are also more tests which identify scenarios that were broken earlier.
* interpreter: Typo in error messageNirbheek Chauhan2017-05-091-1/+1
| | | | | 'Non-existent' is the grammatically correct version. Also call it a 'build file' since that's what everyone calls it nowadays.
* dependencies: Fix caching of native/cross dependenciesNirbheek Chauhan2017-05-091-8/+4
| | | | | | | | | | | | | All our cached_dep magic was totally useless since we ended up using the same identifier for native and cross deps. Just nuke all this cached_dep code since it is very error-prone and improve the identifier generation instead. For instance, this is broken *right now* with the `type_name` kwarg. Add a bunch of tests to ensure that all this actually works... Closes https://github.com/mesonbuild/meson/issues/1736
* Merge pull request #1747 from centricular/run-command-configure-fileJussi Pakkanen2017-05-081-32/+32
|\ | | | | Some fixes to run_command()
| * run_command: Refactor + improve errors and testNirbheek Chauhan2017-05-071-34/+29
| | | | | | | | | | | | | | | | | | | | Refactor to use ExternalProgram for the command instead of duplicating that code (badly). Also improve messages to say "or not executable" when a script/command is not found. Also allow ExternalPrograms to be passed as arguments to run_command(). The only thing we're doing by preventing that is forcing people to use prog.path()
| * run_command: accept built File objects tooNirbheek Chauhan2017-05-071-7/+12
| | | | | | | | | | | | The file will always exist by the time run_command() is invoked, so there is no reason why we should forbid it. Also allow using File objects as the command to run since strings are also allowed.
* | Prevent going into the same directory twice via symlinks. Closes #1749.Jussi Pakkanen2017-05-081-2/+4
| |
* | Default to project_version() in vcs_tag fallbackPeter Hutterer2017-05-051-2/+2
| |
* | Check for input and output to exist in vcs_tagPeter Hutterer2017-05-051-0/+2
|/ | | | | | Provide a proper error message, rather than the current "Command cannot have '@INPUT0@', since no input files were specified" which doesn't actually tell us where things are going wrong.