summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-04-15cross: Add compiler cross_args after normal argsNirbheek Chauhan
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 Pakkanen
Support lcc compiler for e2k (Elbrus) architecture
2018-04-15ninjabackend: Try to guess library dependencies for linker invocation.Martin Hostettler
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.
2018-04-15compilers: is_library: Also detect .so files with version (using soregex)Martin Hostettler
2018-04-14Improve generation of pkg-config files for static only libraries.Martin Hostettler
Previously pkg-config files generated by the pkgconfig modules for static libraries with dependencies could only be used in a dependencies with `static: true`. This was caused by the dependencies only appearing in Libs.private even if they are needed in the default linking mode. But a user of a dependency should not have to know if the default linking mode is static or dynamic; A dependency('somelib') call should always pull in all needed pieces into the build. Now for meson build static libraries passed via `libraries` to the generate method automatically promote dependencies to public.
2018-04-14🤦🤦🤦Jussi Pakkanen
2018-04-14Merge pull request #2930 from inigomartinez/gdbus-targetsJussi Pakkanen
gnome: Split header and code targets in gdbus_codegen()
2018-04-14improve suite of meson test (#3369)Alberto Sartori
2018-04-14compilers: Cache compiler checks where we don't want the outputNirbheek Chauhan
This caching is only for a single run, so it doesn't help reconfigure. However, it is useful for subproject setups where different subprojects will run the same compiler checks. The cache is also per compiler instance and is not used for functions that want to read or run the outputted object file or binary. For gst-build, this halves the number of compiler checks that are run and reduces configuration time by 20%.
2018-04-14Merge pull request #3396 from mesonbuild/nirbheek/cache-pkgconfigJussi Pakkanen
PkgConfigDependency: Cache the output of pkg-config
2018-04-14pkgconfig module: Fix regression that Requires.private is generated as 'Q, ↵textshell
t, 5, C, o, r, e' instead of Qt5Core. (#3406)
2018-04-14Fix encoding bug on WindowsRobin
2018-04-13Indicate subproject depth in console outputJon Turney
2018-04-13Deduplicate dependencies resolved to absolute pathsDaniel Schulte
If paths are absolute the order of search directories is not relevant as the path is already resolved.
2018-04-13don't create unneeded internal dependency objectsBruce Richardson
when flattening the chained dependencies of an object, we don't need to create any new internal dependencies if all the fields to be added to it are empty. For projects with a lot of libraries and dependency objects this can lead to noticeable performance improvements. fixup
2018-04-13Prune unneeded transitive dependenciesBruce Richardson
When getting dependencies, we don't need to get the same dependencies and dependency chains multiple times. If library a depends on x, y and z, and library b depends on a, then we should not have to iterate through x, y and z multiple times. Pruning at the stage of scanning the dependencies leads to significant time savings when running meson
2018-04-13PkgConfigDependency: dicts aren't hashable, so use frozensetNirbheek Chauhan
2018-04-13PkgConfigDependency: Cache the output of pkg-configNirbheek Chauhan
This halves the configure time in gst-build, the aggregate of all GStreamer repositories. We can't do this to Popen_safe because we can't be sure that other programs have no side-effects and will always return the same output for the same arguments and environment.
2018-04-12Clarified version of lcc which will not suffer from depfiles problemmakise-homura
2018-04-12Make more precise CPU detection for Elbrus platformmakise-homura
2018-04-12docs: Fix syntax highlighting in release notesTingPing
2018-04-12gdbus_codegen: Fix new generated objectsIñigo Martínez
The `ct` variable used in the ModuleReturnValue is created only for versions earlier than 2.55.2. However, in newer versions that variable does not exist.
2018-04-12gdbus_codegen: Fix custom target nameIñigo Martínez
The namebase which is used as the target name, also holds part of the file names. This used in combination generates files with wrong names.
2018-04-12coredata: UserOption subclasses only need to implement validate_value()Xavier Claessens
Implementing set_value() in the base class simplifies the code and ensure validation is always consistent. This fix UserIntegerOption.validate_value() not checking min/max value, and UserArrayOption.validate_value() raising exception because it does not pass a value for user_input argument of validate() method.
2018-04-12Explain the choice of implementation language. [skip ci]Jussi Pakkanen
2018-04-11Fix unit test for Disabler()Xavier Claessens
2018-04-11introspect: default builddir to . to prevent a crashAndrei Alexeyev
Fixes #3250
2018-04-11vala: Don't pass -o and -C at the same timeRico Tzschichholz
Fixes "warning: --output and -o have no effect when -C or --ccode is set" get_always_args() adds -C which is already disabling the direct compilation ability of valac for which -o is used.
2018-04-11Trivial update to meson vim syntax + typo in snippet [skip ci]Nirbheek Chauhan
2018-04-11gdbus_codegen: Return 2 targets when docbook is disabledNirbheek Chauhan
Also document this behaviour, test it, and fix the return value from the module -- we create one target and return it thrice to the build file
2018-04-11gnome: Validate docbook parameter is a stringIñigo Martínez
The `docbook` parameter used in `gdbus_codegen` should contain the prefix string in `PREFIX-NAME.xml`. Therefore it has to be validated as a string.
2018-04-11gnome: Split header and code targets in gdbus_codegen()Iñigo Martínez
The development version of `glib` (2.55.2) has acquired support for generating gdbus header and source code files separately. This allows dependencies to be more fine grained on those targets depending only on the header.
2018-04-09Never install the glib-mkenums generated C source (#3374)Emmanuele Bassi
* Never install the glib-mkenums generated C source When using gnome.mkenums_simple() we end up installing the generated C source file alongside the C header file, if `install_header` is set to True. This is caused by mkenums_simple() acting as a wrapper for mkenums() without template files; mkenums() won't be able to know if we're generating the header or the source, and will use the presence of `install_header` as the deciding factor as to whether the generated file should be installed. When generating the C source file, we should always unset the `install_header` option to False, just like mkenums() expects. Closes #3373 * Verify that mkenums_simple() does not install C sources When asked to installed the generated C header file.
2018-04-08add support for cmakedefine in configure_file()David Fort
The added format argument for configure_file allows to specify the kind of file that is treated. It defaults to 'meson', but can also have the 'cmake' or 'cmake@' value to treat config.h.in files in the cmake format with #cmakedefine statements.
2018-04-08Update depfixer to fix rpaths also on OSX.Jussi Pakkanen
2018-04-08Merge pull request #3326 from jeandet/generated_qrcJussi Pakkanen
[Qt module] Add File object support for generated or not qrc files
2018-04-08Remove arbitrary [-1024,1024] limit in cross_compute_int()Xavier Claessens
Copy the algorithm used by autoconf. It computes the upper and lower limits by starting at [-1,1] and multiply by 2 at each iteration. This is even faster for small numbers (the common case), for example it finds value 0 in just 2 compilations where old algorithm would check for 1024, 512, ..., 0.
2018-04-08Merge pull request #3366 from xclaesse/pkgconfig-dup-versionJussi Pakkanen
Remove duplicates in generated pkgconfig required versions
2018-04-07pkgconfig generator: Remove duplicates in required versionsXavier Claessens
2018-04-08Merge pull request #3312 from MathieuDuponchelle/alwaysfallbackJussi Pakkanen
new wrap-mode: forcefallback
2018-04-08VS backend: dedup AdditionalDependenciesPaul I
2018-04-08Move entry in build_funct_dict to correct position.Christoph Behle
The entry 'subdir_done' is now at its right place.
2018-04-07[fixup]: rename test after rebaseMathieu Duponchelle
2018-04-07[fixup]: export symbols explicitlyMathieu Duponchelle
2018-04-07Remove commit_zero recommendation from wrap documentation, use action commit ↵Aleksey Filippov
[skip ci]
2018-04-06pkgconfig generator: Fix crash when passing a SharedModuleXavier Claessens
2018-04-06[fixup]: Add testMathieu Duponchelle
2018-04-06[fixup]: add since to FAQMathieu Duponchelle
2018-04-06new wrap-mode: forcefallbackMathieu Duponchelle
This can be useful to make sure that a project builds when its fallbacks are used on systems where external dependencies satisfy the version requirements, or to easily hack on the sources of a dependency for which a fallback exists.
2018-04-04Merge pull request #2711 from xclaesse/both-libraryJussi Pakkanen
Add both_library() to build both shared and static library