aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2017-11-14unit tests: Teach detect_prebuild_env about CygwinJon Turney1-0/+3
This is enough to fix things. Note that build_shared_lib doesn't use the implib name for mingw or cygwin gcc, only msvc, so I'm not quite sure how this is working, I guess we are using the gcc facility to link directly with a dll...
2017-11-11dependencies: Force pkg-config to output -L argsNirbheek Chauhan1-3/+10
Sometimes pkg-config can decide that the libdir is a system library dir and must not be included in the output because that would mess up the library search order for pkg-config libraries that must be sourced from a non-system prefix. However, when we're doing manual searching, we always want to see the library directory even if it's the system path, otherwise we can't do manual searching at all.
2017-11-11unit tests: Attempt to fix failure on CygwinNirbheek Chauhan1-0/+4
This was always broken, but was missed because we ran MSVC on Cygwin instead.
2017-11-11unit tests: Properly skip if pkg-config wasn't foundNirbheek Chauhan1-0/+4
2017-11-11appveyor: Install pkg-config for MSVC buildsNirbheek Chauhan1-0/+2
2017-11-11pkgconfig module: Escape all paths while generatingNirbheek Chauhan2-15/+52
Without this, we produce unusable pkg-config files when prefix/libdir/etc contain spaces, which is very common on Windows.
2017-11-11dependencies: Use shlex to parse pkg-config cflags and libsNirbheek Chauhan3-14/+19
Escaping spaces with '\ ' is the only way that works with both pkg-config and pkgconf, so quote that way and unquote inside Meson. This should work on all platforms. Also fix the unit test to do the same. https://github.com/pkgconf/pkgconf/issues/153
2017-11-11dependencies: Improve pkg-config library detectionNirbheek Chauhan1-1/+16
When `static: true` is passed to dependency(), we parse the pkg-config output and manually search for `-lfoo`, etc in the library paths gathered from `-Lbar` arguments in the output. If there are no `-L` arguments in the output, the behaviour is the same as before. If there are `-L` arguments and we can't find a static library, we will error out.
2017-11-11compilers: Improve manual library searchingNirbheek Chauhan5-55/+91
We can now specify the library type we want to search for, and whether we want to prefer static libraries over shared ones or the other way around. This functionality is not exposed to build files yet.
2017-11-11dependencies: Add a test for static libs with pkg-configNirbheek Chauhan6-39/+141
Demonstrates that pkg-config does not prefer static libs over shared libs even if we use the `static: true` kwarg.
2017-11-10gnome: Add include_directories parameter to gtkdoc()Xavier Claessens1-1/+1
2017-11-10Interpreter: ensure build_def_files defined before parse_project()Dylan Baker1-1/+2
Mesa has 4 build systems currently, set our version in a file called VERSION, and read that in to each build system to simplify the release process. For meson this is accomplished by using run_command within the project() function declaration itself, and with meson <= 0.43.0 this works fine. Commit 1b0048a7022a89f461cf4d01e7cdbf995bab70f5 makes scripts that are run through run_command a rebuild dependency, but the attribute used to store that information is set after the project() command is processed. This breaks mesa. The solution is to set that list before calling parse_project. Fixes #2597
2017-11-09Better check for when address sanitizer is enabled. Closes #2590.Jussi Pakkanen1-1/+1
2017-11-09Print correct command in help messageEric Engestrom5-5/+5
Taking mconf for instance: before: $ meson configure --help usage: meson [-h] [-D SETS] [--clearcache] [directory [directory ...]] after: $ meson configure --help usage: meson configure [-h] [-D SETS] [--clearcache] [directory [directory ...]]
2017-11-09introspect: print `build_by_default` fieldEric Engestrom1-0/+1
2017-11-09llvm: fix static linkingDylan Baker1-2/+7
I left a hack patch in a pull request for LLVM, and the result is that LLVM doesn't link with static builds. The real problem was that some distros have pkg-config for tinfo, other's don't, so the correct solution is to use cpp_compiler.find_library if dependency() fails.
2017-11-09llvm: llvm 5.0 is released and the current stableDylan Baker1-5/+6
So set it as the first versioned config to check for, and add llvm-config-6.0 to the list of configs.
2017-11-08fix include_directories handling in subprojects for compiler tests.Philipp Ittershagen5-1/+30
2017-11-08Merge pull request #2444 from dcbaker/llvmJussi Pakkanen3-28/+108
LLVM: Fix dynamic vs statically linking.
2017-11-08Add description on how to use external and internal dependencies ↵Jussi Pakkanen1-17/+46
interchangeably.
2017-11-07Merge pull request #2564 from jeandet/fix_boost_detection_with_wrong_localeJussi Pakkanen1-2/+8
Fix detection of include dirs with gnu compiler and non US locale
2017-11-07gtkdoc: Pass the linker down to gtkdoc-scangobjXavier Claessens1-1/+2
Closes #2540
2017-11-07docs: fix use of depsJoergen Ibsen1-1/+1
2017-11-06vim: remove double indentEric Engestrom1-2/+2
There is no reason to indent twice inside blocks.
2017-11-06Dump coredata earlier.Elliott Sales de Andrade2-18/+13
Unfortunately, `time.time` and file timestamps are not guaranteed to be in sync and due to various kernel caches may be different enough to cause rebuilds to fail [1]. This was masked by older ninja versions that could not read sub-second timestamps. [1] https://travis-ci.org/mesonbuild/meson/jobs/296797872
2017-11-06Small changes for syntax hightlightDavid Pérez-Suárez2-3/+3
2017-11-06coredata: Remove parse_string() methodXavier Claessens2-14/+1
set_value() already does a better job at parsing strings, such as accepting "True" for a boolean. This fixes issue #2544
2017-11-02Warn when no inc dir is found from parsing GNU compiler outputAlexis Jeandet1-1/+4
Signed-off-by: Alexis Jeandet <alexis.jeandet@member.fsf.org>
2017-11-01Fix detection of include dirs with gnu compiler and non C localeAlexis Jeandet1-1/+4
Auto detection was based on parsing gcc's output so we have to ensure that it is always 'C'. Signed-off-by: Alexis Jeandet <alexis.jeandet@member.fsf.org>
2017-10-31Merge pull request #2562 from 1ace/fix/mesontestJussi Pakkanen4-9/+11
Remove references to `mesontest`
2017-10-31interpreter: Add warning functionPaulo Antonio Alvarez3-2/+26
2017-10-31mtest: print correct name in error messageEric Engestrom1-1/+1
2017-10-31man: remove references to `mesontest` in meson(1)Eric Engestrom1-2/+4
`mesontest` is deprecated, and shouldn't be suggested to users anymore.
2017-10-31docs: remove references to `mesontest`Eric Engestrom2-6/+6
`mesontest` is deprecated, and shouldn't be suggested to users anymore.
2017-10-31Added libwmf to the CI image.Jussi Pakkanen1-0/+1
2017-10-31Merge pull request #2551 from mesonbuild/fix2481Jussi Pakkanen9-6/+100
Evaluate subproject directory name correctly
2017-10-31Add LibWmf as a specified dependency, and associated tests.Félix Piédallu6-1/+69
2017-10-31namespace run_targets by subprojectMartin Kelly9-59/+64
Currently, run_target does not get namespaced for each subproject, unlike executable and others. This means that two subprojects sharing the same run_target name cause meson to crash. Fix this by moving the subproject namespacing logic from the BuildTarget class to the Target class.
2017-10-29Merge pull request #2529 from leiflm/qt5-add-moc-extra-arguments-keywordJussi Pakkanen6-11/+40
Qt5-Module: Add `moc_extra_arguments` keyword support.
2017-10-29Fixes the `kwargs` handling.Leif Middelschulte1-1/+1
As suggested by @jeandet. Details: https://github.com/mesonbuild/meson/pull/2529#pullrequestreview-72703268
2017-10-29run_command: add command and files as build dependenciesScott D Phillips1-0/+11
2017-10-29Renamed test dir to avoid duplicate numbers.Jussi Pakkanen8-0/+0
2017-10-29Evaluate subproject path correctly. Closes #2481.Jussi Pakkanen1-6/+15
2017-10-29add failing test case for overly-strict sandbox violationAdam C. Foltzer8-0/+85
2017-10-29Fix boost link cmd line when compiler.find_library returns None, ↵Goncalo Carvalho1-3/+4
self.request_modules doesn't have 'boost_' prefix but lib_modules is keyed on 'boost_*'
2017-10-29Check that link_with arguments in declare_dependency are not external ↵Jussi Pakkanen1-0/+4
dependencies.
2017-10-29Merge pull request #2217 from mesonbuild/gcc7Jussi Pakkanen6-14/+29
Use GCC 7 for cross compilation tests.
2017-10-29Raise InvalidArguments when trying to link against stringsLyude Paul3-0/+5
With executable(), if the link_with argument has a string as one of it's elements, meson ends up throwing an AttributeError exception: ... File "/home/lyudess/Projects/meson/mesonbuild/build.py", line 868, in link if not t.is_linkable_target(): AttributeError: 'str' object has no attribute 'is_linkable_target' Which is not very helpful in figuring out where exactly the project is trying to link against a string instead of an actual link target. So, fix this by verifying in BuildTarget.link() that each given target is actually a Target object and not something else. Additionally, add a simple test case for this in failing tests. At the moment, this test case just passes unconditionally due to meson throwing the AttributeError exception and failing as expected. However, this test case will be useful eventually if we ever end up making failing tests more strict about failing gracefully (per advice of QuLogic).
2017-10-29Do not run MPI Fortran tests on Ubuntu Artful.Jussi Pakkanen2-1/+18
2017-10-28Use GCC 7 for cross compilation tests.Jussi Pakkanen4-13/+11