aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/mconf.py
AgeCommit message (Collapse)AuthorFilesLines
2020-08-03Merge remote-tracking branch 'upstream/master' into lang-enumlang-enumJohn Ericson1-23/+8
2020-08-01mconf/mintro: use authoritative list of options from coredataDylan Baker1-13/+1
This splits the directory options and non-directory options into two dicts, and then merges them later to maintain API.
2020-06-18mconf: Fix regression when printing all optionsXavier Claessens1-8/+8
This is a regression introduced by #5489
2020-04-21WIP: Create enum to use instead of strings for languageJohn Ericson1-3/+3
2020-04-20Compiler options per langJohn Ericson1-6/+11
A current rather untyped storage of options is one of the things that contributes to the options code being so complex. This takes a small step in synching down by storing the compiler options in dicts per language. Future work might be replacing the langauge strings with an enum, and defaultdict with a custom struct, just like `PerMachine` and `MachineChoice`.
2019-11-06Fix typos found by codespellWolfgang Stöggl1-1/+1
- Typos were found by codespell v1.16.0
2019-10-22mconf: Fix printing options when there is no compiler/project optionsXavier Claessens1-3/+3
Closes: #6087
2019-10-18mconf: Group all options per subproject and align all groupsXavier Claessens1-72/+115
Also hide value of yielding subproject options to make it clear the value must be set on the main project.
2019-09-13mconf: Fix meson configure crash (fixes #5909)Daniel Mensinger1-2/+2
2019-08-06Do not print build and host settings when compiling natively.Jussi Pakkanen1-8/+14
2019-06-05Per machine do 'build.' and '' option prefixesJohn Ericson1-5/+8
See the docs/ changes for details.
2019-05-20Use dependency cacheDylan Baker1-1/+2
2019-05-16mconf: Don't change the type of coredata.depsDylan Baker1-1/+1
Which is an OrderedDict, but mconf changes to a plain dict. This will work fine with Python 3.7+, but not with 3.5 and 3.6
2019-05-13ast: fix #5376Daniel Mensinger1-1/+2
2019-02-17mconf: Limit the line length of the choices columnDaniel Mensinger1-1/+15
2019-02-12Merge pull request #4743 from dcbaker/native-file-extendedJussi Pakkanen1-2/+1
Extend native files to store install path information
2019-02-12Merge pull request #4826 from mensinda/confDefOptsJussi Pakkanen1-11/+48
mconf: Use introspection to print the project default options (fixes #2543)
2019-02-11allow setting directory locations in a native fileDylan Baker1-2/+1
This allows the person running configure (either a developer, user, or distro maintainer) to keep a configuration of where various kinds of files should end up.
2019-02-05Fixed some code issuesDaniel Mensinger1-5/+9
2019-02-02Never access environment.properties downstreamJohn Ericson1-1/+5
Instead use coredata.compiler_options.<machine>. This brings the cross and native code paths closer together, since both now use that. Command line options are interpreted just as before, for backwards compatibility. This does introduce some funny conditionals. In the future, I'd like to change the interpretation of command line options so - The logic is cross-agnostic, i.e. there are no conditions affected by `is_cross_build()`. - Compiler args for both the build and host machines can always be controlled by the command line. - Compiler args for both machines can always be controlled separately.
2019-01-25mconf: Use introspection to print the project default options (fixes #2543)Daniel Mensinger1-14/+47
2019-01-07Merge pull request #4732 from mensinda/introMesonInfo2Jussi Pakkanen1-0/+4
mintro: Added `meson-info.json` introspection information about the latest meson run
2019-01-06use same code for printing options in mconf and msetupNicolas Schneider1-11/+10
Also, options are now responsible for providing a suitable printable representation of their value instead of handling this at the caller.
2019-01-06Added meson-info.jsonDaniel Mensinger1-0/+4
2019-01-06Merge pull request #4547 from mensinda/introIncDirsJussi Pakkanen1-0/+2
mintro: Save introspection to disk and --targets modifications
2019-01-06fix meson configure exception when install_umask is not an intNicolas Schneider1-1/+1
2019-01-06Split the monolithic introspection file into chunksDaniel Mensinger1-1/+1
2019-01-06Update intro dump on meson configureDaniel Mensinger1-0/+2
2018-11-24Sorted arrays alphabeticallyDaniel Mensinger1-11/+11
2018-11-06Recover when coredata cannot be loadedXavier Claessens1-0/+1
Write command line options into a separate file to be able to reconfigure from scatch in the case coredata cannot be loaded. The most common case is when we are reconfiguring with a newer meson version. This means that we should try as much as possible to maintain backward compatibility for the cmd_line.txt file format. The main difference with a normal reconfigure is it will use new default options values and will read again environment variables like CFLAGS, etc.
2018-10-04Use a single ArgumentParser for all subcommandsXavier Claessens1-8/+2
This has the adventage that "meson --help" shows a list of all commands, making them discoverable. This also reduce the manual parsing of arguments to the strict minimum needed for backward compatibility.
2018-08-22Remove useless __main__ in files that cannot be executedXavier Claessens1-5/+0
2018-06-06mconf: Take only one optional builddir arg that defaults to '.'Xavier Claessens1-11/+2
2018-06-06coredata: Stop setting default option values as argparse attributeXavier Claessens1-1/+1
All options are now the projectoptions list, regardless of how they got defined in the command line. This also delays setting builtin option values until the main project() default options are parsed to simplify the code. This is possible because we already delayed setting the backend after parsing main project() in a previous commit.
2018-06-06mconf: Special case UserUmaskOption to print value in octal notationXavier Claessens1-0/+2
2018-06-06mconf: Reduce code duplication and avoid missing builtin optionsXavier Claessens1-81/+42
This ensure all option groups are printed the same way. Also ensure that we cannot miss some builtin options by taking the list of all builtin options and excluding only directories/testing options.
2018-06-06mconf: Fix print when choices is a string instead of listXavier Claessens1-1/+4
2018-06-06mconf: Set prefix first because other options depends on itXavier Claessens1-3/+3
2018-06-06Move to coredata some methods handling optionsXavier Claessens1-22/+3
Those methods only use coredata object, so better just move them as a coredata method.
2018-06-06mconf: Small tweaks when printing configurationXavier Claessens1-1/+2
2018-06-06Fix issues found by flake8Xavier Claessens1-1/+0
2018-06-06Move <lang>_args to coredata.compiler_optionsXavier Claessens1-21/+0
2018-05-01Fix setting c_args and friends from command lineXavier Claessens1-2/+3
When passing more than one -Dc_args it should override the value instead of appending. This is how all other options works. Value should be split on spaces using shlex just like it does with CFLAGS environment variable. Fixes #3473.
2018-04-27Fix --warnlevel being renamed to --warning-level in latest releaseXavier Claessens1-14/+1
2018-04-26Remove duplicated definition of -D cmdline argXavier Claessens1-6/+4
2018-04-25Add install_umask to list of options of `meson configure`Filipe Brandenburger1-1/+1
Tested: $ ./meson.py configure --help [...] --install-umask INSTALL_UMASK Default umask to apply on permissions of installed files (default: 022).
2018-04-17mconf: accept -- options like `meson` doesDylan Baker1-0/+15
I'm not really happy about this to be honest, I don't like having both -- and -D options, I think it's stupid to have two ways to do exactly the same thing, especially since we then have to validate that someone hasn't passed the argument both ways. However, other people want this, so here it is. Fixes #969
2018-03-27Always build parser objects anew to avoid leaking old data.Jussi Pakkanen1-7/+9
2018-03-10Refactor: Add log.error and log.exception to reduce code duplication.Jukka Laurila1-3/+2
2018-03-04mconf: Make it pep8 compliantSander Sweers1-2/+7