aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild
AgeCommit message (Collapse)AuthorFilesLines
2018-04-28Install generated gdbus header with old glib version too.Jussi Pakkanen1-1/+5
2018-04-27New argument: --profile-self for profiling performanceNirbheek Chauhan1-3/+16
Outputs two profile logs: one for the interpreter run and another for the backend-specific build file generation. Both are stored in meson-private in the build directory.
2018-04-27CCompiler: Cache result of get_library_dirs().Martin Hostettler1-1/+9
It is repeatedly used by e.g. guess_external_link_dependencies.
2018-04-27guess_external_link_dependencies: deduplicate search dirs and libraries.Martin Hostettler1-6/+7
Reduce speed impact of duplicated libs and pathes in the link command line. (fixes #3465)
2018-04-26Merge pull request #3225 from filbranden/fixperms3Jussi Pakkanen5-14/+62
Introduce install_umask to determine permissions of files in install tree. Default it to 022
2018-04-26Merge pull request #3372 from NickeZ/vs-sol-foldersJussi Pakkanen3-24/+80
Use visual studio solution directories
2018-04-25Add install_umask to list of options of `meson configure`Filipe Brandenburger1-1/+1
Tested: $ ./meson.py configure --help [...] --install-umask INSTALL_UMASK Default umask to apply on permissions of installed files (default: 022).
2018-04-26interpreter: Verify permitted kwargs on all methodsXavier Claessens3-65/+183
2018-04-23Bump version number for new development. [skip ci]Jussi Pakkanen1-1/+1
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-18Update default of install-umask to 022Filipe Brandenburger1-1/+1
And, with that, update the test cases that checked that preserving the original permissions worked to set install_umask=preserve explicitly in those projects' default_options. Tested: ./run_tests.py
2018-04-18Add new builtin option --install-umaskFilipe Brandenburger4-13/+61
This option controls the permissions of installed files (except for those specified explicitly using install_mode option, e.g. in install_data rules.) An install-umask of 022 will install all binaries, directories and executable files with mode rwxr-xr-x, while all data and non-executable files will be installed with mode rw-r--r--. Setting install-umask to the string 'preserve' will disable this feature, keeping the permissions of installed files same as the files in the build tree (or source tree for install_data and install_subdir.) Note that, in this case, the umask used when building and that used when checking out the source tree will leak into the install tree. Keep the default as 'preserve', to show that no behavior is changed and all tests keep passing unchanged. Tested: ./run_tests.py
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-17Use visual studio solution directoriesNiklas Claesson3-21/+77
This implements support for visual studio solution directories. Projects will by default be put into directories that map their sub-directory name in the source folder. No directories are created if `--layout=flat` is used. Fixes: #2524
2018-04-17Fix vs flat layout bugNiklas Claesson1-4/+4
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