aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2018-04-17Add partial_dependency method to dependenciesDylan Baker15-2/+356
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.
2018-04-17Merge pull request #3243 from dcbaker/accept-d-setupJussi Pakkanen5-41/+84
Accept -D for meson level options durring initial configuration
2018-04-17Merge pull request #3353 from xclaesse/has-link-argumentJussi Pakkanen7-80/+166
Add has_link_argument() and friends
2018-04-17Merge pull request #3240 from MathieuDuponchelle/python_moduleJussi Pakkanen13-1/+793
Implement a generic python module
2018-04-17fix fallback variable nameGoncalo Carvalho1-1/+1
2018-04-17Merge pull request #1852 from QuLogic/openmpJussi Pakkanen15-4/+191
Add an OpenMP dependency.
2018-04-17mconf: accept -- options like `meson` doesDylan Baker2-4/+19
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-04-17Move builtin_argument_registration to coredataDylan Baker2-21/+25
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`.
2018-04-17Accept builtin options with -D when making initial meson callDylan Baker2-0/+26
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
2018-04-17mesonmain: be DRYDylan Baker1-24/+4
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.
2018-04-17coredata: encapsulate destination nameDylan Baker2-2/+8
This means that there are no special args passed ot builtin args anymore.
2018-04-17coredata: Add helper for setting actionDylan Baker2-5/+15
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.
2018-04-17interpreter: Don't assume default link_args == compile_argsDylan Baker1-2/+4
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.
2018-04-17Exit meson with an error if an invalid escape sequence is found in aNiklas Claesson3-4/+21
string
2018-04-17Add release snippetNiklas Claesson1-0/+17
2018-04-17Complete python escape sequences aware stringsTim 'mithro' Ansell11-19/+125
Fixes #3169
2018-04-17Open build files with utf-8Nirbheek Chauhan2-6/+6
2018-04-17cc.has_multi_arguments: Convert all -Wno argsNirbheek Chauhan2-7/+13
Also add a test for it.
2018-04-17fix checks for gcc disable warning flagsBruce Richardson1-0/+5
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.
2018-04-17Add release note for OpenMP dependency.Elliott Sales de Andrade1-0/+6
2018-04-17Skip OpenMP tests on old compilers.Elliott Sales de Andrade1-0/+14
2018-04-17Explicitly check for OpenMP headers.Elliott Sales de Andrade2-4/+13
2018-04-17Determine OpenMP version from _OPENMP macro.Elliott Sales de Andrade1-5/+16
2018-04-17Add an OpenMP dependency.Elliott Sales de Andrade14-4/+151
This works similarly to the thread dependency which stores the various inconsistent flags in each compiler.
2018-04-16Add has_link_argument() and friendsXavier Claessens7-27/+151
Closes: #3335.
2018-04-16VisualStudioCPPCompiler: Fix -fpermissive still being addedXavier Claessens1-2/+2
super(VisualStudioCCompiler, self) calls CPPCompiler and that's what we want to avoid.
2018-04-16Compilers: Reduce code duplication between compiles and linksXavier Claessens1-26/+11
This also fix links() not calling args.to_native() unlike compiles()
2018-04-16has_argument(): reduce code duplicationXavier Claessens2-31/+8
2018-04-17Merge pull request #3246 from sarum9in/non-unique-target-namesJussi Pakkanen14-8/+66
Allow same target names in different subdirectories
2018-04-16Add build snippet for non-unique-target-names featureAleksey Filippov1-0/+9
2018-04-16Add 'failing/17 same target' testAleksey Filippov2-0/+5
2018-04-16Add '189 same target name flat layout' testAleksey Filippov6-0/+39
2018-04-16Generate target id based on subdirectory instead of subprojectAleksey Filippov6-8/+13
Allows creation of targets with same name in different subdirectories. Closes #2861 and closes #1867
2018-04-16Merged Arm CC support.Jussi Pakkanen11-6/+204
2018-04-16Add macOS linker versioning informationTom Schoonjans7-16/+24
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.
2018-04-16Merge pull request #3218 from mesonbuild/findoverriderJussi Pakkanen32-90/+299
Make it possible to override find_program [skip ci]
2018-04-16Do not use -soname when linking with GCC for mingw/cygwinMarvin Scholz1-2/+4
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
2018-04-16Docs: Mention important macOS caveat about function detection [ci skip]Marvin Scholz1-3/+18
2018-04-15cross: Add compiler cross_args after normal argsNirbheek Chauhan5-7/+56
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
2018-04-15Merge pull request #3115 from makise-homura/e2k-lcc-supportJussi Pakkanen16-16/+199
Support lcc compiler for e2k (Elbrus) architecture
2018-04-15find_program: Don't spam when called from a moduleNirbheek Chauhan3-35/+40
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
2018-04-15Document that override_find_program works on configure_file [skip ci]Nirbheek Chauhan2-5/+16
Also link to the release notes snippet from the Reference manual
2018-04-15Added documentation [skip ci]Jussi Pakkanen2-0/+33
2018-04-15Renamed test dirs to avoid duplicate numbers [skip ci]Jussi Pakkanen14-0/+0
2018-04-15find_program: Only store successful lookupsNirbheek Chauhan2-2/+11
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.
2018-04-15Updated all modules to work with the new API.Jussi Pakkanen11-29/+29
2018-04-15Can override programs with scripts generated with configure_file.Jussi Pakkanen7-1/+54
2018-04-15Convert Gnome module to use find_program from interpreter.Jussi Pakkanen6-40/+36
2018-04-15Made it possible to override find_program to return a different program.Jussi Pakkanen13-2/+104
Closes https://github.com/mesonbuild/meson/issues/2005
2018-04-15ninjabackend: Try to guess library dependencies for linker invocation.Martin Hostettler8-4/+174
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.