aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2017-06-17Make external library no-op when used with incompatible target (#1941)Nirbheek Chauhan2-2/+9
* tests: Add a test for C library in Vala target https://github.com/mesonbuild/meson/issues/1939 * Make external library no-op when used with incompatible target This is how it used to behave earlier, but we accidentally regressed Closes https://github.com/mesonbuild/meson/issues/1939
2017-06-17Use the Windows proof dir deleter consistently.Jussi Pakkanen1-5/+5
2017-06-17wxwidgets: Fix usage of multiple dependency() callsNirbheek Chauhan2-1/+4
This was broken because the class property will say True but the object property will not be set. Store the value on the class property and transfer to object in __init__. Just like PkgConfigDependency.
2017-06-17valgrind: Fix __init__ callNirbheek Chauhan2-2/+2
Adds a test so that this is catched later. Closes https://github.com/mesonbuild/meson/issues/1937
2017-06-12Update versions for new development.Jussi Pakkanen4-6/+13
2017-06-12Updated version number for release.0.41.0Jussi Pakkanen6-6/+6
2017-06-12Merge pull request #1932 from centricular/fix-libpath-reorderingJussi Pakkanen8-4/+87
Preserve -L -l pairings fetched from external deps
2017-06-12tests/unit/8: Rename to 9 and add -l flagsNirbheek Chauhan5-4/+7
2017-06-12Created unit test to ensure linker arguments from consecutive dependencies ↵Jussi Pakkanen5-0/+53
are kept in order.
2017-06-12Preserve -L -l pairings fetched from external depsNirbheek Chauhan4-4/+31
While adding link args for external deps, sometimes different libraries come from different prefixes, and an older version of the same library might be present in other prefixes and we don't want to accidentally pick that up. For example: /usr/local/lib/libglib-2.0.so /usr/local/lib/pkgconfig/glib-2.0.pc /usr/local/lib/libz.so /usr/local/lib/pkgconfig/zlib.pc /home/mesonuser/.local/lib/libglib-2.0.so /home/mesonuser/.local/lib/pkgconfig/glib-2.0.pc PKG_CONFIG_PATH="/home/mesonuser/.local/lib/pkgconfig/:/usr/local/lib/pkgconfig/" If a target uses `dependencies : [glib_dep, zlib_dep]`, it will end up using /usr/local/lib/libglib-2.0.so instead of /home/mesonuser/.local/lib/libglib-2.0.so despite using the pkg-config file in /home/mesonuser/.local/lib/pkgconfig because we reorder the -L flag and separate it from the -l flag. With this change, external link arguments will be added to the compiler list without de-dup or reordering. Closes https://github.com/mesonbuild/meson/issues/1718
2017-06-12Merge pull request #1919 from fmuellner/masterJussi Pakkanen1-8/+8
gnome: Guard all cflags passed to g-ir-scanner
2017-06-11gnome: Guard all cflags passed to g-ir-scannerFlorian Müllner1-7/+6
While g-ir-scanner's compatible -I and -D flags cover what most dependencies use, there's no guarantee that a dependency's cflags don't include more exotic flags that conflict with the tool's own options. For a real world example, mozjs-38 has '-include some-header-file.h', which translates to '--include nclude another-file-to-scan.h' for the scanner; unless for some reason there's an 'nclude' GIR available on the system, the target will thus fail. For this purpose, g-ir-scanner allows explicitly marking some flags as preprocessor/compiler flags by guarding them with --cflags-begin and --cflags-end. Make sure it is used this for all cflags, not only for global and project flags.
2017-06-11gnome: Fix includedir cflagsFlorian Müllner1-1/+2
Include directories are passed with the -I flag to both the compiler and g-ir-scanner, not as input files.
2017-06-11Merge pull request #1927 from centricular/gir-rpath-linkJussi Pakkanen5-53/+76
Work around GNU ld bug with -rpath,$ORIGIN
2017-06-11Merge pull request #1900 from centricular/abstract-extdepsJussi Pakkanen24-454/+496
dependencies: Add a new class ExternalDependency
2017-06-11gnome: Don't assume that a C compiler is being usedNirbheek Chauhan1-6/+12
2017-06-11gnome: Work around GNU ld bug with -rpath,$ORIGINNirbheek Chauhan4-18/+35
g-ir-scanner doesn't understand -rpath, so we use -L instead which has the same effect. Closes https://github.com/mesonbuild/meson/issues/1911
2017-06-10tests: Make SDL2 compulsory now that it's in the CI imageNirbheek Chauhan1-5/+6
2017-06-10tests: Add Boost unit tests and project tests on WindowsNirbheek Chauhan4-6/+29
Boost tests are disabled on Windows for now because the detection is actually completely broken. Once that's fixed (after the release) we can enable it again.
2017-06-10compilers: Fix build_unix_rpath_args indentationNirbheek Chauhan1-29/+29
No code changes
2017-06-10tests: Increase dependencies coverage a bit moreNirbheek Chauhan4-10/+71
2017-06-09vs: Sometimes WindowsSDKVersion is unsetNirbheek Chauhan1-1/+3
https://ci.appveyor.com/project/jpakkane/meson/build/2871/job/ti4qpoptd5tk19sn
2017-06-09vs: Always check VSINSTALLDIR in case VisualStudioVersion is unsetNirbheek Chauhan1-17/+15
This happened on the CI, so it could happen on people's machines too: https://ci.appveyor.com/project/jpakkane/meson/build/2870/job/p2n70hg01vp3dkgl https://ci.appveyor.com/project/jpakkane/meson/build/2870/job/7ifh64mi1999guxt
2017-06-09tests: Improve llvm dependency test coverageNirbheek Chauhan3-0/+13
2017-06-09unit tests: Add class to generate failing testsNirbheek Chauhan4-27/+93
It is not feasible to test all failure modes by creating projects in `test cases/failing` that would be an explosion of files, and that mechanism is too coarse anyway. We have no way to ensure that the expected error is being raised. See FailureTests.test_dependency for an example.
2017-06-09find_library: link_args is always a listNirbheek Chauhan2-3/+1
2017-06-09Add an env var to force meson to print a backtraceNirbheek Chauhan1-0/+4
This is really useful when debugging test failures. Without a stack trace, you have to grep the source code for the error message. Also set this in run_tests.py.
2017-06-09ExtraFrameworkDependency: Don't set requiredNirbheek Chauhan2-4/+6
Otherwise we will never hit the informative DependencyException.
2017-06-09Add a new test for SDL2, which didn't have oneNirbheek Chauhan2-0/+42
Currently optional on all platforms.
2017-06-09dependencies: Add a new class ExternalDependencyNirbheek Chauhan13-394/+226
This class now consolidates a lot of the logic that each external dependency was duplicating in its class definition. All external dependencies now set: * self.version * self.compile_args and self.link_args * self.is_found (if found) * self.sources * etc And the abstract ExternalDependency class defines the methods that will fetch those properties. Some classes still override that for various reasons, but those should also be migrated to properties as far as possible. Next step is to consolidate and standardize the way in which we call 'configuration binaries' such as sdl2-config, llvm-config, pkg-config, etc. Currently each class has to duplicate code involved with that even though the format is very similar. Currently only pkg-config supports multiple version requirements, and some classes don't even properly check the version requirement. That will also become easier now.
2017-06-08Document that the gnome.generate_vapi() function can install the .vapiSam Thursfield1-0/+2
2017-06-08fix WarningLevel in vcxproj #1913Bug1-3/+3
- VS 2010-2015 expect <WarningLevel> to be inside <ClCompile> - WarningLevel now correctly reflects VisualStudioCCompiler.get_warn_args
2017-06-08Merge pull request #1874 from rindeal/configure_file-captureJussi Pakkanen7-1/+104
add `capture: true` ability to configure_file()
2017-06-08Do not use context managers. Because Windows.Jussi Pakkanen1-9/+16
2017-06-07Update reference manual and release notesJan Chren (rindeal)2-1/+8
2017-06-07add tests for `capture` in `configure_file()`Jan Chren (rindeal)4-0/+83
2017-06-07add `capture: true` ability to configure_file()Jan Chren (rindeal)1-0/+13
Closes: https://github.com/mesonbuild/meson/issues/1863
2017-06-07Merge pull request #1866 from ebassi/mkdb-argsJussi Pakkanen3-1/+12
Add mkdb_args support to gnome.gtkdoc()
2017-06-07Document the mkdb_args argument for gnome.gtkdoc()Emmanuele Bassi1-0/+1
Include the newly added argument.
2017-06-07generalize the system include detection a bitAdam C. Foltzer1-2/+6
This should help when using a non-standard sysroot, common in cross-compiling
2017-06-07Merged needs_exe_wrapper branch.Jussi Pakkanen4-0/+49
2017-06-07Improve user-defined function wording & link to FAQTim Hutt1-1/+1
2017-06-07Document that user-defined functions and methods are unsupportedTim1-0/+5
Fixes #1870
2017-06-07Merge pull request #1898 from centricular/fix-rpath-linkingJussi Pakkanen2-46/+75
Use absolute RPATHs while linking due to a binutils bug
2017-06-07Update the list of possible llvm-config binariesTing-Wei Lan1-4/+12
This commit syncs the list with gnome-builder, which updates its list in https://bugzilla.gnome.org/show_bug.cgi?id=782296. llvm-config40 is added becaue LLVM 4.0 becomes a stable release. llvm-config-5.0 is added to the bottom of the list because it is still a development snapshot (svn trunk).
2017-06-05unit tests: Skip tests if no readelf foundNirbheek Chauhan1-2/+6
2017-06-05compilers: Only set -rpath-link on GNU ld and linuxlikeNirbheek Chauhan1-32/+35
It's an invalid option with Apple ld and leads to a build error.
2017-06-05unit tests: Also check RUNPATH when fetching RPATHNirbheek Chauhan1-2/+2
2017-06-05Use absolute RPATHs while linking due to a binutils bugNirbheek Chauhan2-1/+28
Use -rpath-link with the absolute paths to the respective build dirs to work around a binutils bug that causes $ORIGIN to not be used while linking. Includes a unit test that manually checks the RPATH value written out to ensure that it uses $ORIGIN. See: https://sourceware.org/bugzilla/show_bug.cgi?id=16936 Closes https://github.com/mesonbuild/meson/issues/1897
2017-06-05unit tests: Use only implementation of get_sonameNirbheek Chauhan1-18/+13