aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild
AgeCommit message (Collapse)AuthorFilesLines
2018-04-23Updated version number for new release.0.46.0Jussi Pakkanen1-1/+1
2018-04-22Merge pull request #3446 from MathieuDuponchelle/python_module_with_docJussi Pakkanen1-13/+39
modules/python: add some more options around path and config_vars
2018-04-21Remove escaping for triple-quoted stringsNiklas Claesson1-16/+0
Fixes #3429
2018-04-21modules/python: add some more options around path and config_varsHavard Graff1-13/+39
What is actually defined here varies wildly on different python-versions for different platforms. On my python2.7 on Windows len(sysconfig.get_config_vars()) returns 17, whereas in my Ubuntu that number is 517! Hence it is useful to be able to check which keys are available, as well as allowing specifying a default option.
2018-04-21gnome: If pkg-config is not found, assume glib is 2.54 (#3443)Nirbheek Chauhan1-2/+7
* gnome: If pkg-config is not found, assume glib is 2.0 Checking the pkg-config file to confirm tool versions is a hack, and should eventually be replaced with checking the actual versions of the tools. * gnome: Actually assume glib version is 2.54 if not found It is actually not possible to build most projects with the GNOME module if your glib is older, particularly genmarshal and gdbus-codegen generate unusable output without newer arguments that were added for Meson.
2018-04-21ninja backend: Fix shared library symbols pathNirbheek Chauhan1-3/+4
The entire subdirectory was getting duplicated, which was exceeding the max path limit in Python on Windows and causing build failures. Example: subprojects/gst-plugins-bad/gst-libs/gst/uridownloader/subprojects@gst-plugins-bad@gst-libs@gst@uridownloader@@gsturidownloader-1.0@sha/subprojects/gst-plugins-bad/gst-libs/gst/uridownloader/gsturidownloader-1.0-0.dll.symbols This path is too long and opening it will cause a FileNotFoundError on Windows.
2018-04-21Fix Fortran dep hack when cross-compiling.Elliott Sales de Andrade1-6/+6
2018-04-21Don't fail on not-required not-found deps in forcefallback modeNirbheek Chauhan3-6/+14
This involves the creation of a new dummy NotFoundDependency.
2018-04-20gnome: gdbus-codegen add a `sources:` kwargNirbheek Chauhan1-8/+10
It accepts multiple XML files, not just one. For example, glib uses it that way.
2018-04-20regression: pkgconfig module: Fix Fix regression in Requires.private generation.Martin Hostettler1-1/+1
The fix for Requires generation in #3406 missed a second code path with the same problem. Passing a pkgconfig dependency to requires would produce Q, t, 5, C, o,r, e' instead of 'Qt5Core'. This was introduced in 8efd940.
2018-04-20Merge pull request #3404 from xclaesse/extract-recursiveJussi Pakkanen5-57/+77
extract_all_objects(): Recursively extract objects
2018-04-19cache the generated headers for each targetBruce Richardson1-0/+3
Once we calculate the generated headers for a target we can cache them to speed up future calls for that target.
2018-04-19CCompiler: Do not call to_native() twiceXavier Claessens1-1/+1
compile() method already does it so links() and compiles() shouldn't do it too. This fix regression introduced in 3d91a08b. Closes #3431
2018-04-18extract_all_objects: Add 'recursive' keyword argumentXavier Claessens3-5/+15
To maintain backward compatibility we cannot add recursive objects by default. Print a warning when there are recursive objects to be pulled and the argument is not set. After a while we'll do pull recursive objects by default.
2018-04-18extract_all_objects(): Recursively extract objectsXavier Claessens2-7/+13
Fixes #3401
2018-04-18Fix using object extracted from a unity buildXavier Claessens4-51/+55
- determine_ext_objs: What matters is if extobj.target is a unity build, not if the target using those objects is a unity build. - determine_ext_objs: Return one object file per compiler, taking into account generated sources. - object_filename_from_source: No need to special-case unity build, it does the same thing in both code paths. - check_unity_compatible: For each compiler we must extract either none or all its sources, taking into account generated sources.
2018-04-18gdbus_codegen: Fix install_dir parameterIñigo Martínez1-1/+1
The `install` parameter that is present in the `permittedKwargs` annotation is wrong. The correct parameter name, which is also consistent with the rest of functions in the `gnome` module, is `install_dir`.
2018-04-18Merge pull request #3314 from sarum9in/test_dependsJussi Pakkanen2-11/+15
Add test(depends) keyword parameter
2018-04-18Made Python module match the new init interface.Jussi Pakkanen1-4/+4
2018-04-17Add partial_dependency method to dependenciesDylan Baker2-2/+75
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 Pakkanen4-41/+78
Accept -D for meson level options durring initial configuration
2018-04-17Merge pull request #3353 from xclaesse/has-link-argumentJussi Pakkanen4-76/+95
Add has_link_argument() and friends
2018-04-17Merge pull request #3240 from MathieuDuponchelle/python_moduleJussi Pakkanen2-0/+435
Implement a generic python module
2018-04-17Merge pull request #1852 from QuLogic/openmpJussi Pakkanen10-4/+105
Add an OpenMP dependency.
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-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 Baker1-0/+20
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 Claesson1-3/+17
string
2018-04-17Complete python escape sequences aware stringsTim 'mithro' Ansell1-4/+30
Fixes #3169
2018-04-17Open build files with utf-8Nirbheek Chauhan2-6/+6
2018-04-17cc.has_multi_arguments: Convert all -Wno argsNirbheek Chauhan1-6/+6
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-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 Andrade10-4/+85
This works similarly to the thread dependency which stores the various inconsistent flags in each compiler.
2018-04-16Add has_link_argument() and friendsXavier Claessens4-23/+80
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-16Generate target id based on subdirectory instead of subprojectAleksey Filippov1-5/+10
Allows creation of targets with same name in different subdirectories. Closes #2861 and closes #1867
2018-04-16Merged Arm CC support.Jussi Pakkanen8-6/+168
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 Pakkanen16-90/+141
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-15cross: Add compiler cross_args after normal argsNirbheek Chauhan1-5/+5
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 Pakkanen8-8/+137
Support lcc compiler for e2k (Elbrus) architecture