Commit Graph

297 Commits

Author SHA1 Message Date
Jussi Pakkanen cd8bdef776 Bump version number for new development. [skip ci] 2020-07-12 18:30:25 +03:00
Jussi Pakkanen d0c68dc115 Updated everything for release 0.55.0. 2020-07-12 17:25:51 +03:00
Jussi Pakkanen 7ab0090d2a Update version number for rc 2. 2020-07-05 23:52:03 +03:00
Nirbheek Chauhan 40319c9634 Don't make unactionable warnings fatal
Some warnings are out of the user's control, such as the RCC QT bug,
or the GNU windres bug, or our informational warning about
auto-disabling of options when -Db_bitcode is enabled.

Such warnings should not be fatal when --fatal-meson-warnings is
passed because there's no action that the user can take to fix it. The
only purpose it serves is to prevent people who use those features
from using --fatal-meson-warnings.
2020-07-05 16:13:00 +03:00
Jussi Pakkanen f8bec97084 Bump version number for RC1. 2020-07-02 20:03:36 +03:00
Xavier Claessens 1c8731a100 envconfig: Add [constants] section in machine files
Machine files already supports `+` operator as an implementation detail,
since it's using eval(). Now make it an officially supported feature and
add a way to define constants that are used while evaluating an entry
value.
2020-06-29 20:16:21 +03:00
Mathieu Duponchelle 20709af4d2 interpreter: add support for --force-fallback-for
This new command line option allows specifying dependencies for
which to force fallback.

See the documentation for more information

Fixes: #7218
2020-06-16 13:45:40 -04:00
Nirbheek Chauhan 5b8a636504 Fix typo in bitcode message 2020-06-11 07:10:43 +00:00
Michael Hirsch 58e1534773 tell variable name when erroring on bad combo option
fixes #7269
2020-06-10 01:05:41 +03:00
Nirbheek Chauhan 3e13497574 coredata: Fixup the default libdir value, not the set value
We shouldn't change the value of libdir after builtins have been
initialized because we want to change the *default* value.
2020-05-14 15:38:44 +00:00
Dylan Baker 85708facae
Merge pull request #6620 from jon-turney/test-output-check
Add a mechanism for validating meson output in tests
2020-05-13 11:32:28 -07:00
Ole André Vadla Ravnås 859dc4255a Fix outdated cross-compilation checks 2020-05-13 15:51:54 +00:00
Jussi Pakkanen ec8db6a1b5
Merge pull request #7076 from mesonbuild/revertcrossfixup
Revert cross fixup
2020-05-06 23:21:37 +03:00
Eric Engestrom 8ce4952890 coredata: init IntegerOption choices to the correct value
It's not a boolean, so let's avoid initializing it to invalid choices
followed by assigning it valid ones.
2020-05-04 09:59:25 -07:00
Jussi Pakkanen dee10c9151 Revert "coredata: init_builtins should always call libdir_cross_fixup"
This reverts commit cc4e9e79be.
2020-05-04 18:11:39 +03:00
Jon Turney 6a5c6fb439
Be more careful about the use of repr() in error messages
Generally, we'd want to use str() rather than repr() in error messages
anyhow, as that explicitly gives something designed to be read by
humans.

Sometimes {!r} is being used as a shortcut to avoid writing the quotes
in '{!s}'.

Unfortunately, these things aren't quite the same, as the repr of a
string containing '\' (the path separator on Windows) will have those
escaped.

We don't have a good string representation to use for the arbitrary
internal object used as an argument for install_data() when it's neither
a string nor file (which doesn't lead to a good error message), so drop
that for the moment.
2020-04-30 20:11:32 +01:00
John Ericson 278c294aa4 Compiler options per lang
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`.
2020-04-20 23:23:15 +03:00
Jussi Pakkanen 41485f3eca Bump version number for new development. [skip ci] 2020-03-29 20:46:20 +03:00
Jussi Pakkanen 15b0bd6e93 Update everything for new release. 2020-03-29 20:37:15 +03:00
Xavier Claessens 4d7ccd1399 Make werror per subproject option 2020-03-24 22:48:55 +02:00
Jussi Pakkanen 253fbc4470 Bump version number for rc1. 2020-03-24 10:53:02 +02:00
John Ericson 3a4388e51d Fix legacy env var support with cross
Fix #3969
2020-03-23 17:51:36 +02:00
Nirbheek Chauhan 69e9d32bca coredata: Warn on usage of both -Dbuildtype and -Doptimization/-Ddebug
It may not be obvious to users that these two ways to set build-types
override each other and specifying both is redundant, and conflicts
are resolved based on whichever is specified later.

Closes https://github.com/mesonbuild/meson/issues/6742
2020-03-11 07:11:59 -04:00
Nirbheek Chauhan bd953b6b29 coredata: Passing an option is supposed to set it, not flip the default
With the current logic passing `--debug` will actually be parsed as
`-Ddebug=false`, which is absolutely not what is expected.

There is no case in which the presence of a boolean option in `--foo`
form will mean 'I want feature foo disabled', regardless of the
*default* value of that option.

Also includes a test.

Closes https://github.com/mesonbuild/meson/issues/4686
2020-03-11 07:11:59 -04:00
Nirbheek Chauhan c7aa4c8861 coredata: Set default options as cmdline args that override each other
The previous code was assuming that options do not depend on each
other, and that you can set defaults using `dict.setdefault()`. This
is not true for `buildtype` + `optimization`/`debug`, so we add
defaults + overrides in the right order and use the options parsing
code later to compute the values.

Includes a test.

Closes https://github.com/mesonbuild/meson/issues/6752
2020-03-11 07:11:59 -04:00
Nirbheek Chauhan bc135f6c4d coredata: Convert all option parsing to OrderedDict()
This ensures that options are always parsed in the order in which they
were specified on the command-line, even with Python 3.5, and
non-CPython implementations compatible with CPython 3.5 and 3.6.

Closes https://github.com/mesonbuild/meson/issues/6742
2020-03-11 07:11:59 -04:00
Stéphane Cerveau cc4e9e79be coredata: init_builtins should always call libdir_cross_fixup
As the interpreter reinitialize the coredate builtins, need to call
again libdir_cross_fixup
2020-03-02 19:09:31 +05:30
Dylan Baker be9bff81a2 coredata: Fix search and replace mistake
A descriptive string had List replaced with T.List on accident.
2020-02-21 14:34:20 -05:00
Dylan Baker edb52e9003 coredata: Warn on reconfigure if PKG_CONFIG_PATH has changed
Fixes #6520
Fixes #5223
2020-02-21 14:34:20 -05:00
Xavier Claessens 76ae865864 coredata: Fix crash when cmd_line_options contains booleans
`meson setup --debug` puts a bool object in cmd_line_options dictionary
that we have to convert to string.

Fixes: #6646
2020-02-19 09:31:50 -05:00
Jussi Pakkanen 47759550e5 Add unity block size option. 2020-02-12 22:31:08 +02:00
Jussi Pakkanen 6b5c1a4fc3 Refactor UserIntegerOption to work with BuiltinOption. 2020-02-12 22:31:08 +02:00
Xavier Claessens 3ba0073df6 Make 'default_library' per-subproject builtin option
Currently it's just like if all builtin/base/compiler options are
yielding. This patch makes possible to have non-yielding builtin
options. The value in is overriden in this order:
 - Value from parent project
 - Value from subproject's default_options if set
 - Value from subproject() default_options if set
 - Value from command line if set
2020-02-06 14:11:24 -05:00
Jon Turney a3e2aa2d66
Fix prefix dependent option defaults (#6552)
* Extend test_prefix_dependent_defaults unit test to cover default case

Extend test_prefix_dependent_defaults unit test to cover the default
case, when the default prefix is '/usr/local'. (On Windows, the default
prefix is 'c:/')

* Restore adjusting option defaults depending on the default prefix

Restore adjusting option defaults, depending on the default prefix.
Droppped in d778a371
2020-02-04 23:27:59 +02:00
Daniel Mensinger 4104cbdaf9
typing: Fix Any --> T.Any 2020-01-31 09:48:21 +01:00
Michael Hirsch, Ph.D 00f5dadd5b
Bugfix: sanitize_dir: use pathlib to handle case-insensitive filesystems (#6398) 2020-01-30 23:07:44 +02:00
Jussi Pakkanen 7375eaa263 Always disable interpolation for ini parsers. 2020-01-27 22:22:12 +02:00
Xavier Claessens b6b4903129 mconf: Recommend using --reconfigure when setting unknown options
Fixes: #6477
2020-01-25 12:08:47 +02:00
Daniel Mensinger 09b53c534f types: import typing as T (fixes #6333) 2020-01-08 15:28:17 +01:00
Jussi Pakkanen 74d245a8c0 Bump version number for new development. 2020-01-07 22:57:44 +02:00
Jussi Pakkanen 8d576eba91 Prepare new release. 2020-01-07 22:12:25 +02:00
Dylan Baker 47dfe34c85 Consider compiler arguments in linker detection logic
If a user passes -fuse-ld=gold to gcc or clang, they expect that they'll
get ld.gold, not whatever the default is. Meson currently doesn't do
that, because it doesn't pass these arguments to the linker detection
logic. This patch fixes that. Another case that this is needed is with
clang's --target option

This is a bad solution, honestly, and it would be better to use $LD or a
cross/native file but this is needed for backwards compatability.

Fixes #6057
2019-12-12 10:57:27 -08:00
Dylan Baker 87766b3727 Allow setting <lang>_args before the compiler is detected
This is required to be able to pass compiler and linker arguments to the
methods that try to guess what linker to use.
2019-12-12 10:52:07 -08:00
Michael Hirsch, Ph.D 1031c96d31 catch malformed command line array option with helpful error
fixes #6291
2019-12-07 07:24:31 -05:00
Michael Hirsch, Ph.D 9cb600cbb8 type anno 2019-12-07 07:24:31 -05:00
Daniel Mensinger e4a0ee205d lgtm: Fix redundant code 2019-12-05 00:22:10 +02:00
Daniel Mensinger 286b9f0921 lgtm: Fix Module imported with `import` and `import from` 2019-12-05 00:22:10 +02:00
Paulo Neves 07389e23bc coredata: CmdLineFileParser no longer interpolates strings.
Previously if a user tried to pass a command line build
option that contained a '%' character the command line
parser assumed that there was string interpolation to be
done. As there is no sense in such a scenario no code
provides any input for the interpolation. This then leads to
a failure.

In this commit we specifically override the defaults in
ConfigParser and set interpolation to None, which disables
command line build option interpolation.

Fixes #6157
2019-11-13 22:04:15 +02:00
Wolfgang Stöggl f037e7ef45 Fix typos found by codespell
- Typos were found by codespell v1.16.0
2019-11-06 09:55:30 -05:00
Jussi Pakkanen ba1367b588 Bump version number for new development. [skip ci] 2019-10-06 22:53:31 +03:00