aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild
AgeCommit message (Collapse)AuthorFilesLines
2019-12-05lgtm: ignore Iterator does not return self from __iter__ methodDaniel Mensinger1-2/+8
2019-12-05lgtm: fix Incomplete orderingDaniel Mensinger1-9/+12
2019-12-05lgtm: fix __eq__ not overridden when adding attributesDaniel Mensinger1-0/+10
2019-12-05lgtm: fix Multiple calls to __init__Daniel Mensinger4-13/+11
Some slight refactoring for the dependency classes and I switched the elbrus compiler to the GnuLikeCompiler. This is also the correct use according to the documentation of GnuLikeCompiler.
2019-12-05lgtm: Actually supress the Non-standard exception warningDaniel Mensinger2-10/+10
2019-12-05lgtm: Fix insecure SSL/TLS version by removing dead codeDaniel Mensinger1-10/+4
2019-12-05lgtm: Fix redundant codeDaniel Mensinger7-12/+3
2019-12-05lgtm: fix Incomplete URL substring sanitizationDaniel Mensinger1-1/+3
2019-12-05lgtm: ignore all safe `__init__ method calls overridden method` warningsDaniel Mensinger2-3/+5
2019-12-05lgtm: fix Non-iterable used in for loopDaniel Mensinger1-3/+2
Not sure why LGTM is complaining about this, but moving this from a static to a local context should fix this.
2019-12-05lgtm: fix Missing call to __init__ during object initializationDaniel Mensinger3-19/+23
Either mark the missing calls as intentional, or explicetly call the right __init__ method and avoid mixing super() and explicit base calss calls.
2019-12-05lgtm: fix Mismatch between signature and use of an overridden methodDaniel Mensinger1-3/+6
by renaming process_kwargs to process_kwargs_base for the base target class.
2019-12-05lgtm: fix `Mismatch in multiple assignment` errorDaniel Mensinger1-1/+1
The old version is technically also correct, but this commit makes the intent more explicit (and schould make LGTM happy).
2019-12-05lgtm: fix missing raiseDaniel Mensinger1-1/+1
2019-12-05lgtm: fix format string numberingDaniel Mensinger1-1/+1
2019-12-05lgtm: ignore Non-standard exception raised in special methodDaniel Mensinger2-5/+5
2019-12-05lgtm: Fix unused variableDaniel Mensinger2-3/+1
2019-12-05lgtm: Fix Module imported with `import` and `import from`Daniel Mensinger5-79/+75
2019-12-04dict: Fully evaluate keysXavier Claessens2-24/+15
The only restriction is keys must be string after evaluation. This fix various inconsistencies.
2019-12-04intel/intel-cl: use appropriate buildtype optionsMichael Hirsch, Ph.D2-16/+40
This puts appropriate default options across buildtype for Intel and Intel-Cl compilers, for C, C++ and Fortran. Prior to this PR, the behavior of Intel compilers vs. GNUlike was not the same, in particular, debug traceback available by default for GNUlike compilers was not present with Intel compilers.
2019-12-04Add raise at the start of MesonExceptionMichael Brockus1-7/+7
2019-12-03mparser.py: actually check the type of key variable, not its valueMarc Herbert1-1/+1
Fixes PR #6166 and more specifically commit 4e460f04f3b2 that tried to make sure the type of a key variable is a string but checked the type of the value instead. Extends test common/228's limited coverage, its only test case had (surprise) a string value. Also avoid reserved python keyword 'dict' and potentially confusing string 'key'. Implements #5231 for real.
2019-12-03linkers: make constructor signature of VisualStudioLike linkers the sameDylan Baker1-4/+6
2019-12-03environment: Fix selecting the linker with rustcDylan Baker2-29/+45
2019-12-03linkers: Correct MSVC-like linkers invoke directly flagDylan Baker1-1/+1
This is returning the inverse of the correct value, which happens to work out because in general the compilers that a link.exe-like linker is paired with accepts the same arguments.
2019-12-03Intel: Dump worthless Xild abstractionsDylan Baker2-29/+13
This dumps xild on mac and linux. After a lot of reading and banging my head I've discovered we (meson) don't care about xild, xild is only useful if your invoke ld directly (not through icc/icpc) and you want to do ipo/lto/wpo. Instead just make icc report what it's actually doing, invoking ld or ld64 (for linux and mac respectively) directly. This allows us to get -fuse-ld working on linux.
2019-12-02environment: Add a special error case for getting GNU link.exeDylan Baker1-0/+5
Since I spent three days banging my head against this it seems reasonable that other people might also run into this problem. It can happen if you're trying to use microsoft's link.exe, but also have the dmd bin directory at the tail of your %PATH%, among other reasons.
2019-12-02environment: unify platform detection logicDylan Baker1-4/+2
I noticed this while I was here, it's not much, just a small cleanup to the platform detection logic.
2019-12-02environment: Remove duplicate argument from _guess_nix_linkerDylan Baker1-32/+27
Since we pass the whole compiler class (as a type()) we don't need to also pass it's LINKER_PREFIX attribute, we can just get it from the type we're passing.
2019-12-02Allow selecting the dynamic linkerDylan Baker7-93/+163
This uses the normal meson mechanisms, an LD environment variable or via cross/native files. Fixes: #6057
2019-12-02backends/ninja: apply linker arguments when using rustDylan Baker1-0/+2
This will be required to make switching the linker work with rust.
2019-12-02Fix detection of D linker in MSVC environmentsDylan Baker1-4/+5
Rather than trying to figure out if we're using MSVC based on environment variables, then trying to get the C compiler and test some attributes, get the C compiler and see if it's MSVC. This is much more reliable and we were already doing it anyway.
2019-12-02linkers: Fix Apple and VS-like linkers always_argsDylan Baker1-2/+2
Which would not call the super() method, thus overriding the default behavior when it should have instead extended it.
2019-11-30scalapack: allow specifying find methodMichael Hirsch, Ph.D1-87/+86
2019-11-30deps: add scalapackMichael Hirsch, Ph.D2-3/+128
Scalapack uses a library stack that can be challenging to manage. Not least of all since many Scalapacks ship with broken / incomplete pkg-config files and CMake FindScalapack.cmake This resolves those issues for typical Scalapack setups including: * Linux: Intel MKL or OpenMPI + Netlib * MacOS: Intel MKL or OpenMPI + Netlib * Windows: Intel MKL (OpenMPI not available on Windows)
2019-11-30fix extraneous '\\ ' in some windows pkg-config filesMichael Hirsch, Ph.D1-1/+4
This fixes general issues with pkg-config on Windows, including specifically with Intel MKL that has "wrongly" escaped spaces on Windows.
2019-11-30Prevent the presence of duplicated items in .vcxproj filesLuca Bacci1-22/+43
Visual Studio refuses to open projects that present duplicated items, for example: <ItemGroup> <CLInclude Include="glib-enumtypes.h"/> <CLInclude Include="glib-enumtypes.h"/> </ItemGroup> Note that MSBuild handles duplicated items without any issue, this is useful only for compatibility with the VS IDE. See pull request mesonbuild#6151 Fixes issue mesonbuild#6147
2019-11-30cmake: Make output_target_map more robust (fixes #6208)Daniel Mensinger2-64/+95
This PR refactors the old output_target_map, which was a raw dict, into it's own class. This makes the access to the map more uniform and robust (at the cost of more lines of code). Additionally relative paths to the build directory are now also tracked for outputs. This is neccessary to corretcly distingluish files with the same name, that are in different directories.
2019-11-30improve error message when old version detectedtaz-0071-1/+2
Be more explicit about the --wipe command requiring to be executed from the source dir.
2019-11-30Fix regular expression for MSVC target arch detectionLuca Bacci1-1/+1
Make it work regardless of MSVC output language Fixes #6128 See PR #6265
2019-11-29linkers: AppleDynamicLinker supports -pie.Mihai Moldovan1-0/+3
The linker implementation split up introduced a regression: since the AppleDynamicLinker subclass doesn't expose PIE support, builds using that feature just plainly fail. Add back support for it using the default and supported -pie flag.
2019-11-28Revert "Have set() and set_quoted() of configuration object work with newlines."Xavier Claessens2-3/+0
This reverts commit 6ed36e97aeb01dd779115a9710d3a97cdbcb4ccf.
2019-11-28wrap: Redirect stdin to DEVNULL (again)Nirbheek Chauhan1-0/+4
Same fix as e7b25018c4715e538234d4ba51e32194b4757388, was accidentally missed when this code was rewritten.
2019-11-28Merge pull request #5989 from xclaesse/cmake-part2Jussi Pakkanen3-26/+152
cmake: Add support for add_custom_target() and add_dependencies()
2019-11-28wrap: Resolver.get_git: Factor out --depth argument generation and make sure ↵Martin Hostettler1-5/+9
not to pass None as parameter 507cf47507cf47 broke the combination of clone-recursive without depth. Because it passed depth (as None) to git. To fix this the depth option is now generated once as a list when depth is set and else set to an empty list and unpacked into the argument this when needed. This reduces duplication and allows code to work the same for both cases.
2019-11-28HDF5: make much more robust across platformsMichael Hirsch, Ph.D3-48/+122
This addresses various real-world problems with HDF5 pkg-config, including * hdf*.pc with package versions as part of the filename * malformed hdf*.pc missing the commonly-used HDF5 HL module --- Additionally, this refactors more complicated dependencies such as HDF5 and OpenMPI. This may help us deduplicate internal dependency code in the future. HDF5 selftest: improve platform-agnostic test ci: init demo github action for HDF5 framework ci Actions: hold off on MSYS2 for now [skip ci] hdf5: ensure C libraries always included ci: mac hdf5--use clang+gfortran
2019-11-28cmake: Reassign dependencies from header-only targetsDaniel Mensinger1-0/+45
2019-11-28cmake: Detect dependenciy cycles and avoid infinite recursionDaniel Mensinger1-0/+9
2019-11-28cmake: Some minor fixupDaniel Mensinger2-13/+27
2019-11-27cmake: Propagate error when running commandXavier Claessens1-1/+4