aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2020-01-27Fix broken link on Elbrus Fortran compilermakise-homura1-1/+3
Error is raised due to Elbrus Fortran compiler can't generate debug information for now, because it's a 2-step compiler where 1st step is code conversion from Fortran to C, so debug information which C compiler would produce, is useless.
2020-01-27ObjC/ObjC++ compilers are not available for Elbrus, so don't failmakise-homura2-6/+14
2020-01-27Remove RTTI option from get_option_compile_args() for Elbrus compilermakise-homura1-0/+13
2020-01-27Add missing functions to Elbrus compiler classmakise-homura1-0/+11
2020-01-27Fix missing 'defines' argumet for Elbrus compilermakise-homura5-10/+17
...But somehow it still remains in C++ compiler.
2020-01-27Merge pull request #6432 from mensinda/cmExeRefactorJussi Pakkanen6-69/+158
cmake: Refactor CMakeExecutor and CMakeTraceParser
2020-01-27Merge pull request #6423 from dcbaker/declare-dependency-variablesJussi Pakkanen8-25/+89
Add ability to set and query arbitrary variables on declare_dependency objects
2020-01-27Check for bad timestamps that cause eternal configure loops.Jussi Pakkanen1-0/+17
2020-01-27Update wrapdb docs to reflect repositories split [skip ci]Lisa White1-3/+3
2020-01-26cmake: Some test improvementsDaniel Mensinger1-1/+3
2020-01-26cmake: Add support for --trace-redirectDaniel Mensinger2-1/+14
2020-01-26cmake: Refactor CMakeExecutor and CMakeTraceParserDaniel Mensinger5-68/+142
This moves most of the execution code from the CMakeInterpreter into CMakeExecutor. Also, CMakeTraceParser is now responsible for determining the trace cmd arguments.
2020-01-26Support multiple args to message() and warning()Xavier Claessens4-15/+33
2020-01-25tests: Prevent multiple-definition of symbolsErnestas Kulik6-6/+14
With GCC 10, -fno-common becomes default behavior, meaning that any subtly-broken code will be broken not so subtly anymore. This commit changes the linkage to variables declared in headers to external and, where needed, adds additional definitions in other compilation units.
2020-01-25Fix required dependency() not failing when wrap-mode=nofallbackXavier Claessens2-1/+10
When a dependency is required, not found on the system, and its fallback is disabled with --wrap-mode=nofallback, meson should abort instead of returning not-found.
2020-01-25mconf: Recommend using --reconfigure when setting unknown optionsXavier Claessens1-0/+2
Fixes: #6477
2020-01-25docs: Update the release procedure to include release candidates [skip ci]Dylan Baker1-8/+31
Fixes #6456
2020-01-25wrap: Fix git clone with commit id in revisionXavier Claessens1-1/+1
Fixes: #6505.
2020-01-24Remove trial conversions as it is stale. [skip ci]Jussi Pakkanen2-23/+0
2020-01-24Fix CUDA test without devices.Jan Alexander Steffens (heftig)1-10/+11
Getting the runtime version fails when no devices are present.
2020-01-24unit tests: summary() test does not fail on Windows anymoreNirbheek Chauhan1-3/+1
2020-01-24summary: Ensure that output is deterministicNirbheek Chauhan1-3/+10
Use OrderedDict instead of dict() to ensure that the order is the same every time, and change the unit test to check for that.
2020-01-24ci: Fix boost test on xenialDaniel Mensinger2-3/+4
2020-01-24tests: Disable fortran submodule test on old GCC versionsNirbheek Chauhan1-0/+5
Need gcc 6.0 or newer: https://gcc.gnu.org/wiki/Fortran2008Status
2020-01-24ci: Install more packagesDaniel Mensinger1-0/+1
2020-01-24tests: Fix some test failures on Ubuntun 16.04 CINirbheek Chauhan8-15/+22
* xenial doesn't ship many dependencies, so make them all optional since we don't guarantee that everything will work * cmake/{5,6}: needs stdlib.h for EXIT_SUCCESS on GCC 5 * common/222: needs C++11, and GCC 5 doesn't understand `auto` correctly unless we explicitly enable it. * frameworks/1 boost: xenial doesn't ship boost_python3, so make it properly optional * frameworks/6 gettext: gettext can be installed without xgettext, which doesn't cause the project to fail, but the installed files list is different which causes the test to fail. * frameworks/7 gnome: gobject-introspection can't be enabled because the sanitizer unit test detects leaks in glib and fails
2020-01-24unit tests: Open all documentation as utf-8Nirbheek Chauhan1-6/+6
Fixes compatibility of unit tests with Python 3.5.2 on Ubuntu 16.04
2020-01-24compilers: Derive CompilerArgs from collections instead of typingNirbheek Chauhan1-1/+1
Deriving from typing.MutableSequence does not give us a usable sequence type on Python 3.5.2.
2020-01-24typing: Fix compatibility with Python 3.5.2Nirbheek Chauhan2-5/+5
Explicitly use the type instead of the string 'NotImplemented' which still works with Python 3.5.2 Fixes https://github.com/mesonbuild/meson/issues/6427
2020-01-24ci: Add a Ubuntu 16.04 testDaniel Mensinger1-0/+24
2020-01-23cmake: Always Add C, CXX if no language is specified (fixes #6441)Daniel Mensinger6-32/+69
2020-01-23Add LCA2020 talk to videos page. [skip ci]Jussi Pakkanen1-1/+5
2020-01-23Set source and build dir envvars when running dist.Jussi Pakkanen2-12/+17
2020-01-23environment: Fix initialization of compilers that don't use aDylan Baker1-0/+5
_guess_linker method Fixes #6448
2020-01-22Move git helper out into mesonlib for reuseNirbheek Chauhan3-22/+18
Reuse the git helper for `meson wrap` and `meson subprojects` so we don't need to maintain the same git-colors-on-windows workarounds in multiple places.
2020-01-22msubprojects: Rename 'git' to 'git_output'Nirbheek Chauhan1-10/+10
No functional changes. Split out from the next commit for ease of reading.
2020-01-22wrap: Re-set the console mode after calling gitNirbheek Chauhan1-0/+6
`git submodule update --recursive` calls git clone recursively, and on Windows it will undo the console mode we set in mlog and cause ANSI colors to stop working. We could set it again only when we call that, but we will definitely miss other instances where this could happen in the future and regress.
2020-01-22wrap: Redirect stdin to DEVNULL when calling gitNirbheek Chauhan1-1/+4
Without this git messes up the console and ANSI colors stop working on Windows inside cmd.exe. This broke in https://github.com/mesonbuild/meson/pull/6139. Also add the same to all git calls. Missed this when I opened https://github.com/mesonbuild/meson/pull/6255
2020-01-22wrap: Always use a wrapper for running gitNirbheek Chauhan1-32/+28
We need this for the next commit.
2020-01-22wrap: Look for git only once at startupNirbheek Chauhan1-22/+20
No need to repeatedly call `shutil.which`.
2020-01-22wrap: Use uppercase for global constantsNirbheek Chauhan1-12/+12
This makes things much clearer and follows PEP8.
2020-01-23Add m68k to known cpus for Motorola 68000 series processorsDylan Baker2-26/+28
Fixes #6492
2020-01-22test_pkgconfig_gen_deps: set PKG_CONFIG_SYSTEM_LIBRARY_PATH=/usr/libMike Gilbert1-1/+4
pkgconf automatically prunes "system library paths" from its output. The system library paths depend on the system toolchain. A common value on a 64-bit system is as follows: /lib64:/usr/lib64:/usr/local/lib64 So, if -L/usr/lib64 appears in the Libs section, it will be pruned from the output of pkg-config --libs. The pc files generated for this test contain something like this: libdir=/usr/lib Libs: -L${libdir} ... pkgconf may not consider /usr/lib to be a system library path, so it is not pruned as the test expects. To work around this, override the compiled-in list of paths via the PKG_CONFIG_SYSTEM_LIBRARY_PATH environment variable. Fixes: https://github.com/mesonbuild/meson/issues/6004
2020-01-22tests: Add a test case for finding ldDylan Baker5-5/+11
2020-01-22environment: Replace LD with <LANG>LDDylan Baker4-40/+77
The rust code is ugly, because rust is annoying. It doesn't invoke a linker directly (unless that linker is link.exe or lld-link.exe), instead it invokes the C compiler (gcc or clang usually) to do it's linking. Meson doesn't have good abstractions for this, though we probably should because some of the D compilers do the same thing. Either that or we should just call the c compiler directly, like vala does. This changes the public interface for meson, which we don't do unless we absolutely have to. In this case I think we need to do it. A fair number of projects have already been using 'ld' in their cross/native files to get the ld binary and call it directly in custom_targets or generators, and we broke that. While we could hit this problem again names like `c_ld` and `cpp_ld` are far less likely to cause collisions than `ld`. Additionally this gives a way to set the linker on a per-compiler basis, which is probably in itself very useful. Fixes #6442
2020-01-22envconfig: add pkg_config_libdir propertyStéphane Cerveau5-1/+49
In order to unify the use of sysroot in the cross-file, the pkg_config_libdir can now be passed directly in the file.
2020-01-22tests/windows/16: Use pefile module instead of objdump/dumpbinNirbheek Chauhan2-25/+13
The pefile module is a CI dependency now, so we can use that instead of objdump/dumpbin which greatly simplifies the test. Of course, this module is also cross-platform so it will work if we add cross-win32 CI at some point.
2020-01-22tests: Add a unit test for checksumsNirbheek Chauhan3-3/+33
Adds a CI dependency on the `pefile` python module.
2020-01-22vs: Write checksums in PE binaries (DLLs and EXEs)Nirbheek Chauhan2-0/+7
This is needed for detecting data corruption, and its absence (or an incorrect value) is also used as a hint by anti-viruses that the binary may be malware. Flag is only supported by MSVC `link.exe`, not `lld-link.exe` https://docs.microsoft.com/en-us/cpp/build/reference/release-set-the-checksum
2020-01-22linkers: Accept both str and List[str] for _apply_prefixNirbheek Chauhan1-6/+10
Simplifies some usage.