aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild
AgeCommit message (Collapse)AuthorFilesLines
2020-10-06environment: provide a more detailed explanation of linker detection failuresDylan Baker1-2/+8
Just saying "it failed" is accurate, but not useful to helping someone figure out why it failed. Giving them the stdout and stderr (like we might with compilers) should help people resolve the issue. Fixes: #7173
2020-10-06compilers: Enable C++20 for Intel C++ Compiler.Vinson Lee1-0/+3
Intel C++ Compiler 19.1 has C++20 features. https://software.intel.com/content/www/us/en/develop/articles/intel-c-compiler-191-for-linux-release-notes-for-intel-parallel-studio-xe-2020.html Signed-off-by: Vinson Lee <vlee@freedesktop.org>
2020-10-05options: Handle updates to choices in optionsDylan Baker1-5/+15
Currently if you change the `choices` field in the meson_options.txt file, no update will be done until `meson setup --wipe` is called. Now if the choices change then the options will be properly merged. If the currently select value is still valid it is guaranteed to be kept, if it is now invalid the new default value will be used and a warning will be printed. Fixes #7386
2020-10-05Never run clang-format / clang-tidy against directoriesBernd Busse2-0/+4
`pathlib.Path.glob()` also returns directories that match source filenames (i.e. a directory named `test.h/`), but `clang-format` and `clang-tidy` fail when handed a directory. We manually skip calling `clang-format` and `clang-tidy` on those directories.
2020-10-05machinefiles: Allow keys to be stored case insensitiveDylan Baker1-2/+6
This is required to make the various keys in the [user options] section work the same as they do in the meson_options.txt file, where we don't have any rules about case sensitivity. There is some risk here. Someone may be relying on this lower by default behavior, and this could break their machine files. Fixes #7731
2020-10-04linkers: Drop -pie on macOSRoman Bolshakov1-1/+1
Projects that specify b_pie=true clutter build logs with the warning: clang: warning: argument unused during compilation: '-pie' [-Wunused-command-line-argument] No option is needed to produce PIE binaries because ld64 is making PIE executables on 10.7 and above by default, as documented in ld(1). Signed-off-by: Roman Bolshakov <r.bolshakov@yadro.com>
2020-10-04Fixed using files object in subdir with xcode backendOskar Sigvardsson1-1/+1
Fixes bug #589. When generating string from file object, it didn't take subdir into account.
2020-10-04pathlib: Fix resolve() by overriding it in Python 3.5Daniel Mensinger34-35/+85
2020-10-04cmake: switch to pathlib (fixes #7322)Daniel Mensinger9-252/+260
2020-10-03Merge pull request #7795 from dcbaker/submit/full-compiler-annotationsDylan Baker29-903/+1154
Full annotations for the Compiler package
2020-10-02Fix meson compile for 32-bit MSVC buildVili Väinölä1-12/+16
- Remove platform from env so that msbuild does not try to compile e.g. configuration debug|x86
2020-10-01compilers/icl fix IntelClCPP argument checkingDylan Baker1-0/+4
Unlike MSVC and ClangCl it needs to call into it's own compiler check args
2020-10-01compilers/icl: Fix pch usageDylan Baker1-0/+3
2020-10-01linkers: Fix Xilink constructorDylan Baker1-2/+5
2020-10-01compilers/fortran: make ifort on windows signature match ICL'sDylan Baker2-3/+3
2020-10-01compilers/clike: Store exe_wrapper as ExternalProgramDylan Baker2-4/+4
Which is what other languages do.
2020-10-01compilers: make get_optimization_args abstractDylan Baker2-1/+5
2020-10-01compilers/fortran: fix has_multi_*_argumentsDylan Baker2-23/+12
The implementation of the link variant was what should have been the compiler variant, and there was no valid compiler variant, which meant it was getting C code.
2020-10-01compilers/d: add type annotationsDylan Baker2-128/+143
2020-10-01compilers/gnu: Don't pretend to inherit CLikeDylan Baker1-1/+1
We don't need it anymore, and it would be problematic for the D compilers.
2020-10-01compilers: move _build_wrapper out of clike into CompilerDylan Baker2-51/+79
This abstraction is really useful, and most compilers could use it (including D). It also will allow the Gnu mixins to work properly without the CLikeCompiler in their mro.
2020-10-01compilers: clang: use get_compiler_check_argsDylan Baker1-5/+8
2020-10-01compilers/intel: use get_compiler_check_argsDylan Baker2-24/+15
Instead of trying to override the compiles() method, which gets skipped in a bunch of cases.
2020-10-01compilers: move get_compile_check_args() to CompilerDylan Baker3-26/+47
This is groundwork to put _build_wrapper in the base Compiler, which is needed to make the D compilers truly type safe.
2020-10-01compilers/fortran: add type annotationsDylan Baker2-92/+143
2020-10-01compilers/java: Add type annotationsDylan Baker1-24/+22
2020-10-01compilers/rust: add type annotationsDylan Baker1-25/+38
2020-10-01compilers/swift: Add type annotationsDylan Baker2-32/+39
2020-10-01Compilers/vala: Add type annotationsDylan Baker2-24/+35
2020-10-01compilers/cuda: make type safeDylan Baker6-71/+75
2020-10-01mesonlib: make OptionOverrideProxy a true MutableMappingDylan Baker3-23/+31
So that we can actually use it anyplace that an OptionDictType could be used. I've also done a bit optimizing/simplifying of the implementation. This is needed for cuda, as it returns an OptionOverrideProxy where we ask for an OptionDicType
2020-10-01compilres: move depfile_for_object to compilerDylan Baker4-13/+6
2020-10-01compilers/cs: Add type annotationsDylan Baker3-44/+40
2020-10-01compilers: move get_dependency_gen_args to base CompilerDylan Baker13-40/+3
So that every subclass doesn't have to reimplement it. Especially since the Gnu implementation moved out of the CCompiler and into the GnuLikeCompiler mixin
2020-10-01compilers: move split_shlib_to_parts to the base compilerDylan Baker4-9/+3
Only the GnuLikeCompiler overrides this, and it's implemented multiple places
2020-10-01compilers/cpp: Add type annotationsDylan Baker4-121/+195
2020-10-01compilers: fully type annotate the C compilersDylan Baker9-128/+206
2020-10-01deprecated get_configtool_variable and get_pkgconfig_variableDylan Baker1-0/+4
The get_variable method is able to do everything they do and more, making it generally more useful. Let's tell people to stop using the old ones.
2020-09-30compilers: Use /Od for no-optimisation flag for Intel compilers on windowsIan Harvey1-2/+2
Intel compilers on Windows (and the Microsoft C++ compiler) use /Od to disable optimisation, not /O0.
2020-09-29dependencies/curses: don't try ncurses-config or system dependency on windowsDylan Baker1-5/+9
with msys ncurses-config returns a unix style path (currently, though it's been fixed upstream), which the compilers don't understand, so we can't do that. Additionally, while the system search does work, there's missing include directories that need to be added.
2020-09-29dependencies/curses: Add support for pdcursesYonggang Luo1-1/+6
On win32 there is pdcurses, so we detect it first, because python depends on ncursesw, so if we don't want to use ncursesw, we should make sure pdcurses detect before ncursesw
2020-09-29dependencies/curses: Add a system dependencyDylan Baker1-1/+58
That calls find_library and has_header in conjunction to look for curses implementations that are baked into the system without any other find method.
2020-09-29dependencies/zlib: Fix header detectionDylan Baker1-1/+1
has_header returns a tuple of (found: bool, cached: bool), so `if has_header` will always return true because the tuple is non-empty. We need to check if the found value is true or not.
2020-09-29dependencies/curses: Add support for using the ncurses config toolsDylan Baker1-1/+20
These are mostly duplicated with pkg-config, but maybe someone has one but not another, and they're easy to turn on with the ConfigToolDependency.
2020-09-29dependency/misc: change lookup order for curses pkg-configDylan Baker1-1/+1
look for (in order): ncursesw, ncurses, curses.
2020-09-29dependencies/misc: Fix typing of curses_factoryDylan Baker1-3/+3
2020-09-29Merge pull request #7758 from dcbaker/submit/hdf5-factoryDylan Baker4-111/+152
dependencies/hdf5: Convert to a dependency_factory
2020-09-29Merge pull request #7762 from jon-turney/meson-exe-output-improveJussi Pakkanen4-25/+53
Improve the output for meson wrapped commands
2020-09-29compilers/VS: fix build to use optimization and debug flagsVili Väinölä3-27/+41
- Fixed using debug and optimization built-in options in MSVC. - Fixed that VS backend does not create pdb files in release mode. VS implicitly adds the debug fields if left out. - Fix that it is possible to add debug info with ninja backend with optimizations.
2020-09-29Merge pull request #7772 from xclaesse/deprecate-source-rootJussi Pakkanen2-0/+25
Deprecate meson.build_root() and meson.source_root()