aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2019-10-01cmake: subproject() supports the 'required' kwargXavier Claessens1-1/+1
2019-10-01cmake: Write AST into build dirXavier Claessens1-5/+6
It easier to read it from a file than looking into logs. Users needs to read it to find variable names of generated dependency objects.
2019-10-01Fix test_static_link() on MacOSXXavier Claessens1-6/+9
test3-static was actually always using the shared library because that warning was not fatal: WARNING: Static library 'func6' not found for dependency 'func6', may not be statically linked The reason why the libfunc6.a wasn't found is because the prefix in the generated pc file was not set to install dir.
2019-10-01doc: Add release snippet for the rework of static librariesXavier Claessens1-0/+34
2019-10-01Recursively include all objects from uninstalled static librariesXavier Claessens7-1/+44
2019-10-01Do not promote to link_whole when an internal library links to anotherXavier Claessens5-1/+33
2019-10-01pkgconfig: Include dependencies of uninstalled static librariesXavier Claessens7-17/+56
2019-10-01pkgconfig: Do not include uninstalled static librariesXavier Claessens8-7/+53
2019-10-01Fix link_with of a static library with an uninstalled static libraryXavier Claessens6-0/+35
2019-10-01Fix link_whole of static librariesXavier Claessens7-1/+60
2019-09-30Add depfile to configure_file()Marc-André Lureau8-0/+174
In qemu, minikconf generates a depfile that meson could use to automatically reconfigure on dependency change. Note: someone clever can perhaps find a way to express this with a ninja rule & depfile=. I didn't manage, so I wrote a simple depfile parser.
2019-09-30Deduplicate PKG_CONFIG_PATH entries when initializing the array option ↔Olexa Bilaniuk1-1/+7
pkg_config_path. This avoids a warning about duplicate entries in an array option, and closes #5736.
2019-09-30Correct obviously-wrong test for gold linker.Olexa Bilaniuk1-1/+1
2019-09-30Merge pull request #5939 from ↔Jussi Pakkanen4-39/+58
lantw44/move-the-list-of-llvm-versions-to-a-common-place Move the list of LLVM versions to a common place
2019-09-29Add support for `depth` option in wrap-gitChristoph Weiss3-7/+27
This allows cloning subprojects shallowly. It works recursively for a subproject's submodules in case `clone-recursive` is set to `true`.
2019-09-29environment: Support taking values from dictMarc-André Lureau6-18/+78
Related to #5955.
2019-09-29ConfigurationDataHolder: pass initial_values to ctorMarc-André Lureau1-9/+8
2019-09-29configure_file: add feature version checks for taking dictMarc-André Lureau1-0/+2
Since commit 38a658214 ("configure_file: Support taking values from a dict" #4236), configuration_data() and configure_file()'s configuration kwarg can take a dict. Add missing version checks.
2019-09-29Add CppCon 2019 talk to videos page. [skip ci]Jussi Pakkanen1-0/+3
2019-09-29Moved changes from preliminary relnote page to snippets. [skip ci]Jussi Pakkanen3-10/+9
2019-09-29environment: LLVM 9 is now a stable releaseTing-Wei Lan1-1/+2
2019-09-29Find clang-format with alternative namesTing-Wei Lan3-6/+28
This is similar to what we currently do for scan-build except there is no environment variable to choose a specific clang-format to run. If an environment variable is needed for better control, we can add it later.
2019-09-29Move the list of LLVM version suffixes to a common placeTing-Wei Lan2-33/+29
Both scan-build and llvm-config need the same list of LLVM version suffixes. It is better to keep the list at a common place instead of having several copies in different files, which is likely to become out-of-sync when the list is updated.
2019-09-28mtest: Don't require an exe wrapper for if the cross file says we don't need oneDylan Baker1-1/+1
Fixes #5970
2019-09-28backends: Add needs_exe_wrapper to test serializationDylan Baker1-2/+4
We need to know if the test actually needs an exe wrapper to run or not.
2019-09-27Catch NotADirectoryError to fix selinux errorAndrew Conrad1-1/+1
Fixes #4798
2019-09-27Fix GNU-like LLD being misdetected as MSVC-like LLDAndrei Alexeyev1-1/+4
Affects the latest version of the llvm-mingw toolchain
2019-09-27Correctly handle platform-specific LDFLAGS optionsAleksey Gurtovoy5-30/+71
2019-09-26cmake: Support ALIAS librariesDaniel Mensinger3-5/+19
2019-09-26cmake: define set_and_check in CMake package config (fixes #5889)Daniel Mensinger1-0/+12
2019-09-26envconfig: Add MicroBlaze CPU familyNathan Rossi2-0/+2
Add the CPU family for the MicroBlaze processor. Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
2019-09-26Clarify the list of languages is optional for project() [skip ci]David Cantrell1-2/+2
2019-09-26Merge pull request #5958 from keszybz/caching-cleanupJussi Pakkanen3-37/+33
Caching cleanup
2019-09-25environment: Don't make special case for scan-build on LinuxTing-Wei Lan1-9/+4
Versioning of executables is not related to the operating system kernel. It is possible for a Linux distribution to support multiple versions of LLVM in a way similar to FreeBSD. For example, on Debian, you can use 'apt install clang-tools-7' to install the versioned 'scan-build-7' executable without bringing the unversioned 'scan-build' into the environment. Therefore, we should not skip the version list on Linux. It also makes it consistent with the behavior of llvm dependency, which does not change the search list depending on the operating system. This commit also fixes the version suffix for Debian. Debian stops using the minor version number on the executable after version 7, so it should be 'scan-build-7', not 'scan-build-7.0'. This is a follow-up of https://github.com/mesonbuild/meson/pull/5918.
2019-09-25Print user defined options in meson-log.txtXavier Claessens2-0/+15
It can be useful to know what options have been passed to the command line, excluding default values. Closes: #5956
2019-09-25Use functools cache instead of open-coded implementationZbigniew Jędrzejewski-Szmek1-11/+4
Functional behaviour is not identical, because the cache not set when an exception is thrown. I hope this doesn't matter in practice.
2019-09-25Drop unused variableZbigniew Jędrzejewski-Szmek1-1/+0
2019-09-25Add helper to print warnings onceZbigniew Jędrzejewski-Szmek3-25/+29
The helper is general, although in this patch it is only used for warnings. No functional change intended.
2019-09-25removed the InternalDepdendencyHolder, since it is unusedDaniel Mensinger1-38/+1
2019-09-24CUDA support on WindowsAleksey Gurtovoy17-51/+273
2019-09-23Add blocks dependencyPatrick Griffis8-1/+72
This allows easily enabling the blocks clang extension.
2019-09-23mtest: TAP: ignore empty linesMarc-André Lureau2-0/+9
According to http://testanything.org/tap-specification.html "Any output line that is not a version, a plan, a test line, a diagnostic or a bail out is considered an “unknown” line. A TAP parser is required to not consider an unknown line as an error but may optionally choose to capture said line and hand it to the test harness, which may have custom behavior attached [...] TAP::Harness reports TAP syntax errors at the end of a test run". (glib gtest can generate empty lines)
2019-09-23Add Windows behavior to executable()'s install_rpath arg doc [skip ci]Khairul Azhar Kasmiran1-1/+1
2019-09-23mesonbuild: fix exception name.Jehan1-1/+1
CrossNoRunException is in compilers module, not mesonlib.
2019-09-17configure_file(): Allow multiple inputs in command modeXavier Claessens5-42/+61
Closes: #5893
2019-09-17pkgconfig: Fix ordering of public librariesXavier Claessens3-3/+20
The main library must come before extra libraries, because they are likely to be dependencies of the main library that get promoted from private to public. This was causing static link issues with glib-2.0.pc.
2019-09-15Fix improperly closed code backtick [skip ci]jimbo1qaz1-1/+1
2019-09-14uniform scan-build detection processGabriel Ganne3-36/+56
Detect scan-build the same way when trying to launch it and when generating the target. The detection method is: 1. look within SCANBUILD env variable 2. shutil.which('scan-build') 3. *on non-linux platforms only*: go through all the possible name candidates and test them individually. The third step is added following this comment https://github.com/mesonbuild/meson/pull/5857#issuecomment-528305788 However, going through a list of all the possible candidates is neither easily maintainable nor performant, and is therefore skipped on platforms that should not require such a step (currently, only Linux platforms). This is a follow-up to the issue raised by @lantw44 during PR: https://github.com/mesonbuild/meson/pull/5857
2019-09-14Merge pull request #5917 from alanc/solaris-fixesJussi Pakkanen4-7/+29
Solaris fixes
2019-09-13get_library_dirs: Add Solaris 64-bit library subdirsAlan Coopersmith1-0/+8
Solaris puts 32-bit libraries in the main /lib & /usr/lib directories and 64-bit libraries in platform specific subdirectories. Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>