aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/coredata.py
AgeCommit message (Collapse)AuthorFilesLines
2021-10-28Bump versions to 0.60.1 for stable releaseNirbheek Chauhan1-1/+1
2021-10-24Bump version number for release.0.60.0Jussi Pakkanen1-1/+2
2021-10-19Update version number for rc2.0.60.0rc2Jussi Pakkanen1-1/+1
2021-10-11Bump version number for rc1.0.60.0.rc1Jussi Pakkanen1-1/+1
2021-10-10Fix typos discovered by codespellChristian Clauss1-1/+1
2021-10-09optinterpreter: Add deprecated kwargXavier Claessens1-2/+28
It can be either: - boolean: the option is completely deprecated. - list: some choices are deprecated. - dict: some choices are deprecated and replaced by another. Fixes: #7444
2021-10-08python: Add platlibdir and purelibdir optionsXavier Claessens1-0/+8
2021-10-04remove useless variables that are no longer or were never usedEli Schwartz1-1/+1
2021-09-21coredata: 0.59.1 -> 0.59.99 is a major version differenceXavier Claessens1-1/+5
Remove test_minor_version_does_not_reconfigure_wipe() because when run during dev cycle that test reconfigure with .99 -> .100 which is considered a major version change now. It is covered by a more efficient internal test now anyway. While at it, remove no-op `with Path(self.builddir):` statement, the intention was clearly to set workdir. Fixes: #9260
2021-09-14apply flake8 fixes for unused imports and missing importsEli Schwartz1-4/+4
2021-09-02interpreter: Add summary of all user defined optionsXavier Claessens1-4/+2
It is a commonly needed information to help debugging build issues. We already were printing options with non-default value at the end of the configure but outside of the summary. Keeping the list of user defined options in the interpreter will also in the future be useful to use new default value on reconfigure.
2021-08-31pylint: turn on superflous-parensDylan Baker1-2/+2
We have a lot of these. Some of them are harmless, if unidiomatic, such as `if (condition)`, others are potentially dangerous `assert(...)`, as `assert(condtion)` works as expected, but `assert(condition, message)` will result in an assertion that never triggers, as what you're actually asserting is `bool(tuple[2])`, which will always be true.
2021-08-16compilers: Fix annotations for run and cached_compileDylan Baker1-3/+3
Which absolutely should accept `str | File`, but the annotations claim that only strings are accepted.
2021-08-15editorconfig: add setting to trim trailing whitespaceEli Schwartz1-1/+0
and clean up all outstanding issues Skip 'test cases/common/141 special characters/meson.build' since it intentionally uses trailing newlines.
2021-07-26coredata: throw a MesonException on unknown optionsFlorian Schmaus1-8/+7
Fixes #7288.
2021-07-18Bump version number for new development.Jussi Pakkanen1-1/+1
2021-07-18Set up the 0.59.0 release.0.59.0Jussi Pakkanen1-1/+1
2021-07-12Update version number for rc2.0.59.0.rc2Jussi Pakkanen1-1/+1
2021-07-05Bump version number for rc1.0.59.0.rc1Jussi Pakkanen1-1/+1
2021-07-05more f-strings too complex to be caught by pyupgradeEli Schwartz1-10/+8
2021-06-29fix: Always explicitly set encoding for text files (fixes #8263)Daniel Mensinger1-4/+4
2021-06-22Add Visual Studio 2012/2013 backends (#8803)fanc9991-1/+1
* backends: Add a Visual Studio 2013 backend This is more-or-less a quick port from the VS2015 backend, except that we update the Visual Studio version strings and toolset versions accordingly. Also correct the generator string for Visual Studio 2015 in mesonbuild/cmake/common.py. * backend: Add VS2012 backend Similar to what we did for Visual Studio 2013, add a Visual Studio 2012 backend. * vs2010backend.py: Implement `link_whole:` if needed We actually need Visual Studio 2015 Update 2 to use `/WHOLEARCHIVE:`, which is what we are currently using for `link_whole:` on Visual Studio. For Visual Studio versions before that, we need to expand from the static targets that were indicated by `link_whole:`, and any of the sub-dependent targets that were pulled in via the dependent target's `link_whole:`. This wil ensure `link_whole:` would actually work in such cases. * vs2010backend.py: Handle objects from generated sources Unforunately, we can't use backends.determine_ext_objs() reliably, as the Visual Studio backends handle this differently. * vs2010backend.py: Fix generating VS2010 projects Visual Studio 2010 (at least the Express Edition) does not set the envvar %VisualStudioVersion% in its command prompt, so fix generating VS2010 projects by taking account into this, so that we can determine the location of vcvarsall.bat correctly. * whole archive test: Disable on vs2012/2013 backends too The Visual Studio 2012/2013 IDE has problems handling the items that would be generated from this test case, so skip this test when using --backend=vs[2012|2013]. This test does work for the Ninja backend when VS2012 or VS2013 is used, though. Consolidate this error message with XCode along with the vs2010 backend. * docs: Add the new vs2012 and vs2013 backends Let people know that we have backends for vs2012 and 2013. Also let people know that generating Visual Studio 2010 projects have been fixed and the pre-vs2015 backends now handle the `link_whole:` project option.
2021-06-18holders: Introduce HoldableObjectDaniel Mensinger1-1/+3
2021-06-11coredata: Invalidate deps cache when changing wrap_mode optionXavier Claessens1-0/+9
Fixes: #8858
2021-06-06typing: Fully annotate dependencies.{detect,factory} + some other fixesDaniel Mensinger1-20/+20
2021-05-29cmake: Fix CMakeToolchain (fixes #8293)Daniel Mensinger1-0/+32
Instead of guessing the internal compiler variables, Meson now runns CMake once to determine what they actually are.
2021-05-28Add a helper to simplify the usage of PerMachineDefaultableDylan Baker1-5/+4
2021-05-28coredata: Use a PerMachineDefaultable for the deps cacheDylan Baker1-5/+9
2021-05-02Bump version number for new development.Jussi Pakkanen1-1/+1
2021-05-02Release 0.58.0.0.58.0Jussi Pakkanen1-1/+1
2021-04-26Bump version number for rc1.0.58.0.rc1Jussi Pakkanen1-1/+1
2021-04-26store the list of initializes subprojects in the coredata structureDylan Baker1-0/+5
We need to konw on rconfigure which options have already bee set not just for the super project, but also for the subproject. However, using first_invocation is not sufficient, as a reconfigure could add a new subpproject that wasn't present before, and we need to initialize that project's builtins.
2021-04-06coredata: Check for built-in options as host optionsDylan Baker1-1/+5
These options often don't exist for the build machine, as they're generally invalid (ie, prefix, libdir, etc). So we should always check for their existance as host optiuons, since all we want to know in this case is if the option is yeilding (valid per-subproject), and build/vs host doesn't matter in that cases: Fixes #8613
2021-03-30Split environment variable and command line cflagsDylan Baker1-2/+9
They are supposed to have different behavior. The environment variables apply to both the compiler and linker when the compiler acts as a linker, but the command line ones do not. Fixes #8345
2021-03-28coredata: Fix dependency cacheDylan Baker1-1/+1
The host cache had BUILD, which is wrong.
2021-03-22cmd_line_file.txt: Use cross/native file path resolved by coredataXavier Claessens1-2/+2
This fix issue when using --wipe and the machine file was passed as a pipe and written locally, or when the file was resolved in XDG_DATA_HOME or XDG_DATA_DIRS. Fixes: #8560
2021-03-16coredata: be more robust on unpickling errorsPaolo Bonzini1-1/+1
When reverting from 0.57 to 0.56, one can see an error like this: File /Users/pm215/src/qemu-for-merges/meson/mesonbuild/coredata.py, line 1016, in load obj = pickle.load(f) ModuleNotFoundError: No module named 'mesonbuild.mesonlib.universal'; 'mesonbuild.mesonlib' is not a package FAILED: build.ninja The reason is that the old version fails to resolve mesonbuild.mesonlib, which is a similar situation to the existing AttributeError check. Raise a MesonException for ModuleNotFoundError as well, so that reconfiguration proceeds using cmd_line.txt.
2021-03-04mass rewrite of string formatting to use f-strings everywhereEli Schwartz1-16/+16
performed by running "pyupgrade --py36-plus" and committing the results
2021-03-04various python neatness cleanupsEli Schwartz1-2/+2
All changes were created by running "pyupgrade --py3-only --keep-percent-format" and committing the results. I have not touched string formatting for now. - use set literals - simplify .format() parameter naming - remove __future__ - remove default "r" mode for open() - use OSError rather than compatibility aliases - remove stray parentheses in function(generator) scopes
2021-02-14Bump version for new development.Jussi Pakkanen1-1/+1
2021-02-14Set up release 0.57.0.57.0Jussi Pakkanen1-1/+1
2021-02-09Bump version numbers for rc1.0.57.0.rc1Jussi Pakkanen1-2/+2
2021-02-01bugfix concerning octal umasks (#8282)Volker-Weissmann1-4/+11
* bugfix concerning octal umasks * minor fix * spelling mistake
2021-01-19Keep buildtype the same even if user changes debug and/or optimization.Jussi Pakkanen1-19/+29
2021-01-14coredata: Add missing nopromote wrap_mode choiceXavier Claessens1-1/+1
2021-01-11move handling of CFLAGS and friends to environmentDylan Baker1-1/+1
This has a bunch of nice features. It obviously centralizes everything, which is nice. It also means that env is only re-read at `meson --wipe`, not `meson --reconfigure`. And it's going to allow more cleanups.
2021-01-04fix LGTM warningsDylan Baker1-1/+1
2021-01-04Use a single coredata dictionary for optionsDylan Baker1-131/+85
This patches takes the options work to it's logical conclusion: A single flat dictionary of OptionKey: UserOptions. This allows us to simplify a large number of cases, as we don't need to check if an option is in this dict or that one (or any of 5 or 6, actually).
2021-01-04use OptionKey for builtin and base optionsDylan Baker1-124/+120
I would have prefered to do these seperatately, but they are combined in some cases, so it was much easier to convert them together. this eliminates the builtins_per_machine dict, as it's duplicated with the OptionKey's machine parameter.
2021-01-04move OptionKey to mesonlibDylan Baker1-196/+2
There's starting to be a lot of things including coredata that coredata needs to itself include. putting it in mesonlib makes more sense