Age | Commit message (Collapse) | Author | Files | Lines |
|
This adds a new method, partial_dependency to all dependencies. These
sub dependencies are copies of the original dependency, but with one or
more of the attributes replaced with an empty list. This allows creating
a sub dependency that has only cflags or drops link_arguments, for
example.
|
|
Accept -D for meson level options durring initial configuration
|
|
Add has_link_argument() and friends
|
|
Implement a generic python module
|
|
|
|
Add an OpenMP dependency.
|
|
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
|
|
We're going to want to use these functions in meson configure as well to
make the command line options the same between `meson` and `meson
configure`.
|
|
Currently meson only accepts `-Dopt=value` for builtin options when
calling `meson configure` and `--opt=value` for builtin options when
calling `meson` initially. This is a confusing behavior, and users only
get a small warning at the top of a potentially long configuration
summary to catch this.
This has confused end users and developers alike, there are at least 5
duplicates of the bug this fixes, and I have personally been asked about
this more times than I can count. The help documentation doesn't make
it clear that -D cannot be used to set options like prefix and bindir.
This adds support for -D options to the initial meson call, but not --
options to the meson configure call. I think it's better to have one way
to do things, and -- options are kinda one off while -D is used
everywhere else, so lets stick with that.
Related #969
|
|
We have all the information needed to calculate the builtin arguments in
the coredata module already, don't duplicate that in the mesonmain
module as well.
|
|
This means that there are no special args passed ot builtin args
anymore.
|
|
Currently we manually pass the argparse action, this isn't very DRY,
since the builtin_types already has all the data necessary to find that.
This adds a new function to determine the action based on the default
type.
|
|
Since we want to make the options passed to `meson` and `meson
configure` equivalent, we need to allows pass -D<lang>_args and
-D<lang>_link_args to `meson`. This path assumes that if one is set then
the other must be, which isn't true.
|
|
string
|
|
|
|
Fixes #3169
|
|
|
|
Also add a test for it.
|
|
GCC does not print a warning or error for unknown options if the options
are to disable warnings. Therefore, when checking for options starting
'-Wno-', also check the opposite enabling option. This fixes the case
where e.g. -Wno-implicit-fallthrough is incorrectly reported as supported
by gcc 5.4. To avoid missed warnings when using combinations of flags, such
as in test case "112 has arg", we limit the checking of for the positive
option to where the negative option is checked alone.
|
|
|
|
|
|
|
|
|
|
This works similarly to the thread dependency which stores the various
inconsistent flags in each compiler.
|
|
Closes: #3335.
|
|
super(VisualStudioCCompiler, self) calls CPPCompiler and that's what we
want to avoid.
|
|
This also fix links() not calling args.to_native() unlike compiles()
|
|
|
|
Allow same target names in different subdirectories
|
|
|
|
|
|
|
|
Allows creation of targets with same name in different subdirectories.
Closes #2861 and closes #1867
|
|
|
|
This patch exploits the information residing in ltversion to set the
-compatibility_version and -current_version flags that are passed to the
linker on macOS.
|
|
Make it possible to override find_program [skip ci]
|
|
GNU LD does not use soname when linking a PE/COFF binary, so it makes no
difference, but it breaks when using the llvm linker (lld), which does
not support the soname flag when building PE/COFF binaries for Windows.
Fix #3179
|
|
|
|
This way they override all other arguments. This matches the order of
link arguments too.
Note that this means -I flags will come in afterwards and not override
anything else, but this is correct since that's how toolchain paths
work normally too -- they are searched last.
Closes https://github.com/mesonbuild/meson/issues/3089
|
|
Support lcc compiler for e2k (Elbrus) architecture
|
|
The user doesn't need to know whether or not the program was found,
especially not when it's spammed for every gnome.foo() function
|
|
Also link to the release notes snippet from the Reference manual
|
|
|
|
|
|
Otherwise we can't do the following workflow:
if not find_program('foo', required : false).found()
subproject('provides-foo')
endif
Where 'provides-foo' has a meson.override_find_program() on
a configure_file() or similar.
|
|
|
|
|
|
|
|
Closes https://github.com/mesonbuild/meson/issues/2005
|
|
The linkers currently do not support ninja compatible output of
dependencies used while linking. Try to guess which files will be used
while linking in python code and generate conservative dependencies to
ensure changes in linked libraries are detected.
This generates dependencies on the best match for static and shared
linking, but this should not be a problem, except for spurious
rebuilding when only one of them changes, which should not be a problem.
Also makes sure to ignore any libraries generated inside the build, to
keep the optimisation working where changes in a shared library only
cause relink if the symbols have changed as well.
|