summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Q&D experiment to scan and build C++ modules with VS.vsmodtestJussi Pakkanen2019-09-26105-2/+1098
|
* cmake: Support ALIAS librariesDaniel Mensinger2019-09-263-5/+19
|
* cmake: define set_and_check in CMake package config (fixes #5889)Daniel Mensinger2019-09-261-0/+12
|
* envconfig: Add MicroBlaze CPU familyNathan Rossi2019-09-262-0/+2
| | | | | | Add the CPU family for the MicroBlaze processor. Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
* Clarify the list of languages is optional for project() [skip ci]David Cantrell2019-09-261-2/+2
|
* Merge pull request #5958 from keszybz/caching-cleanupJussi Pakkanen2019-09-263-37/+33
|\ | | | | Caching cleanup
| * Use functools cache instead of open-coded implementationZbigniew Jędrzejewski-Szmek2019-09-251-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.
| * Drop unused variableZbigniew Jędrzejewski-Szmek2019-09-251-1/+0
| |
| * Add helper to print warnings onceZbigniew Jędrzejewski-Szmek2019-09-253-25/+29
| | | | | | | | | | The helper is general, although in this patch it is only used for warnings. No functional change intended.
* | environment: Don't make special case for scan-build on LinuxTing-Wei Lan2019-09-251-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.
* | Print user defined options in meson-log.txtXavier Claessens2019-09-252-0/+15
|/ | | | | | | It can be useful to know what options have been passed to the command line, excluding default values. Closes: #5956
* removed the InternalDepdendencyHolder, since it is unusedDaniel Mensinger2019-09-251-38/+1
|
* CUDA support on WindowsAleksey Gurtovoy2019-09-2417-51/+273
|
* Add blocks dependencyPatrick Griffis2019-09-238-1/+72
| | | | This allows easily enabling the blocks clang extension.
* mtest: TAP: ignore empty linesMarc-André Lureau2019-09-232-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)
* Add Windows behavior to executable()'s install_rpath arg doc [skip ci]Khairul Azhar Kasmiran2019-09-231-1/+1
|
* mesonbuild: fix exception name.Jehan2019-09-231-1/+1
| | | | CrossNoRunException is in compilers module, not mesonlib.
* configure_file(): Allow multiple inputs in command modeXavier Claessens2019-09-175-42/+61
| | | | Closes: #5893
* pkgconfig: Fix ordering of public librariesXavier Claessens2019-09-173-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.
* Fix improperly closed code backtick [skip ci]jimbo1qaz2019-09-151-1/+1
|
* uniform scan-build detection processGabriel Ganne2019-09-143-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
* Merge pull request #5917 from alanc/solaris-fixesJussi Pakkanen2019-09-144-7/+29
|\ | | | | Solaris fixes
| * get_library_dirs: Add Solaris 64-bit library subdirsAlan Coopersmith2019-09-131-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>
| * Fix "test cases/linuxlike/14 static dynamic linkage" on SolarisAlan Coopersmith2019-09-131-5/+19
| | | | | | | | | | | | | | Solaris doesn't ship static libraries, so the test can't rely on libz.a existing on Solaris. Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
| * Fix "test cases/common/131 generated assembly" on SolarisAlan Coopersmith2019-09-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Without this change, the test fails with: [11/12] Linking target square-gen-test. warning: Text relocation remains referenced against symbol offset in file square_unsigned 0x15 square-gen-test@exe/main.c.o [12/12] Linking target square-ct-test. warning: Text relocation remains referenced against symbol offset in file square_unsigned 0x15 square-ct-test@exe/main.c.o Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
| * compilers: Recognize Solaris 11.4 linkerAlan Coopersmith2019-09-101-1/+1
| | | | | | | | | | | | | | | | Solaris 11.3 & earlier sent the --version output to stderr, but Solaris 11.4 moved it to stdout in an attempt to be more compatible with the GNU tools, so look for it in both streams of output. Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
* | mconf: Fix meson configure crash (fixes #5909)Daniel Mensinger2019-09-132-2/+6
| |
* | modules/python: improve log when probing Python binaryRoss Burton2019-09-121-9/+8
|/ | | | | | | If the Python binary that we find doesn't return valid JSON when asked to run a small script, show the command being ran and stdout/stderr in meson-log.txt. Fixes: #5914
* Workaround for mingw-llvm linker (lld) misdetectionAndrei Alexeyev2019-09-101-0/+17
| | | | | | | | | | | llvm-mingw uses a wrapper script to inject (among other things) a -target argument into the clang command, which breaks -Wl,--version. This confuses Meson into thinking the linker is some unknown version of Apple ld, which breaks builds. This patch makes it detect and recover from the issue. Fixes #5910
* environment: merge successive is_windows blocksDylan Baker2019-09-091-3/+1
|
* docs: Add a snippet about illumos and Solaris support improvementsDylan Baker2019-09-091-0/+4
|
* docs: Add sunos to the reference tableDylan Baker2019-09-091-0/+1
| | | | | | | | I originally liked "solaris", but I've changed my mind. Both illumos (the open-source fork of OpenSolaris) and Oracle's closed-source Solaris are identified by the same token, and there are differences between them; so using "sunos" as a sort "supertype" for both makes sense to me.
* tests: pass "cp" as argv[0] in test 162Dylan Baker2019-09-091-1/+1
| | | | | | otherwise illumos gets grumpy. I'm assuming based on the error message that cp, mv, and ln are all the same program hardlinked to different names.
* the solaris linker also needs start/end-group for circular linkingDylan Baker2019-09-091-2/+2
|
* tests: add sunos to get defineDylan Baker2019-09-091-0/+3
|
* unitests: dont assume cc exists or is validDylan Baker2019-09-091-20/+27
| | | | | | On illumos (and presumably Solaris, though I can't test) cc normally points to Sun CC, which we don't support. So ensure that gcc is used explicitly in that case.
* environment: gcc/g++ and clang/clang++ are valid objc/objc++ compilers to tryDylan Baker2019-09-091-2/+5
|
* If ar is unrecognized, try gar for GNU arAlan Coopersmith2019-09-091-6/+7
| | | | | Needed on Solaris, where native ar doesn't recognize all the flags that meson uses, but GNU ar does.
* Fix static archives stripping (#5905)David Seifert2019-09-0810-1/+91
| | | | | | | | | | | | | | | | | | | | | | | | | * Do not strip static archives Stripping static archives without more fine-grained options (e.g. `-g`) leads to failures such as ld: libfoo.a: error adding symbols: archive has no index; run ranlib to add one because GNU strip removes *every* symbol in a static archive by default. Given that static archives are not final build artifacts (unlike executables and shared libraries), stripping them gains little and only causes more edge case failures. * Gentoo's portage only strips debug information: https://github.com/gentoo/portage/blob/86f211e3a552753eb945670a39c1a3b14c3c3bd1/bin/estrip#L322 * Fedora also only strips debug information: https://github.com/rpm-software-management/rpm/blob/e9c13c6565cf4782d1f73255ee9144dd9bd2aca7/scripts/brp-strip-static-archive#L18 * Debian also only does some very light stripping: https://github.com/Debian/debhelper/blob/72ed1d3261730d56da6afde0ec7f52f32976e04d/dh_strip#L374 Fixes #4138 * Add test case for static archive stripping
* Rename 'rpath-link secondary' unit testDavid Seifert2019-09-089-1/+1
|
* fix objc freestanding sanitycheckNguyen, Giang (G. Yakiro)2019-09-081-1/+1
|
* Add `-Wl,-rpath-link` for secondary dependenciesDavid Seifert2019-09-0610-3/+129
|
* Update Quickstart Guide [skip ci]dundir2019-09-061-16/+58
|
* Merge pull request #5823 from scivision/linker-pgi-linuxJussi Pakkanen2019-09-055-5/+31
|\ | | | | PGI compiler fixes
| * PGI cannot accept -pthreadMichael Hirsch, Ph.D2019-09-051-0/+4
| |
| * PGI: windows workaround not-msvc-like enough functionMichael Hirsch, Ph.D2019-09-051-1/+5
| |
| * PGI: windows PGI is sort of MSVC-likeMichael Hirsch, Ph.D2019-09-051-1/+2
| |
| * PGI: use ar link wrapper on WindowsMichael Hirsch, Ph.D2019-09-053-3/+20
| |
* | man: Make argument order of setup command consistent with help messageFabian BlÀse2019-09-051-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In msetup the two positional arguments build-dir and source-dir are added to the argument parser in this order. This also affects the help message. This order is different from the order given in the man page. Therefore it is switched around in the man page to make it consistent with the help message. As the code automatically decides which directory contains what, this change is only cosmetic. Both argument orders should be valid. Signed-off-by: Fabian BlÀse <fabian@blaese.de>
* | mesonlib.split_args/quote_arg/join_argsAleksey Gurtovoy2019-09-0517-69/+241
|/