Commit Graph

8393 Commits

Author SHA1 Message Date
Michael Hirsch, Ph.D 380b9071be ci: lgtm: configure for Python 3
LGTM is currently giving spurious errors since LGTM is defaulting
to Python 2 for Meson.
2019-11-27 02:24:07 +02:00
Marc e8ae7785a6 tests: add clues to find missing private/qtobject_p.h [skip ci]
Finding all the dependencies missing from my Fedora system to run the whole
test suite was relatively quick - except for this one.
2019-11-27 02:23:46 +02:00
Xavier Claessens 80dd3e30ce Fix crash when checking multi version on subproject dep
Also harminize a bit the logged message.
2019-11-26 11:31:48 -05:00
Xavier Claessens 7dd302773d Fix link_whole with a custom target
t.pic won't be defined. We can only hope it has been built with -fPIC.
Linker will complain otherwise any way.

t.extract_all_objects_recurse() won't be defined. We could support this
case by extracting the archive somewhere and pick object files.
2019-11-25 20:34:37 -05:00
Xavier Claessens f0565e6dc8 Simplify list of build def files
Refactor the code inside a common function for consistency.

It's not needed to add dependencies in func_configure_file() because
it's already done in run_command_impl(). Do it only for files from
`input:` in the case some of them does not end up in the command
arguments.
2019-11-25 22:35:34 +02:00
Xavier Claessens a6f7a1d8c4 fs: Add parent() and name() methods 2019-11-25 14:55:19 -05:00
Jussi Pakkanen 6963589576
Merge pull request #6213 from mensinda/cmNameFix
cmake: Uniform target name handling and custom target fixes
2019-11-25 20:07:04 +02:00
Chun-wei Fan 7677a38e1a dependencies/ui.py: Fix Vulkan detection on Windows
We might be using the 32-bit bits of the VulkanSDK on Windows on x64
Windows, so we still need to pass in the compiler items to detect what
architecture we are building for, so that we link to the correct Vulkan
libraries.

We might want to look into this again if Microsoft will allow ARM/ARM64
versions of the Vulkan drivers and SDK, since post-basic OpenGL and
any Vulkan are not supported on Windows-on-ARM.
2019-11-25 14:04:43 +02:00
Michael Hirsch, Ph.D 07a2fe2f00 complete gfortran/intel/intel-cl fortran_std test 2019-11-25 13:08:56 +02:00
Michael Hirsch, Ph.D 8313e8fd54 dep: MPI make work for intel-cl and improve robustness
optimize intelMPI variables

mpi: extract version from non-OpenMPI wrapper
2019-11-25 13:08:01 +02:00
Antoine Jacoutot 0241948d8f openbsd: execinfo is not a compiler lib 2019-11-25 12:54:07 +02:00
Olexa Bilaniuk bbaacc0a63 Add table entry for CUDA Toolkit 10.2.89. 2019-11-21 13:53:08 -05:00
Xavier Claessens e4e5f981eb Fix compute_int() when the value is -1 2019-11-21 01:32:11 +02:00
Artsiom Chapialiou cefdf8dcb0 Meson Syntax Highlighter plugin for JetBrains IDEs. 2019-11-21 01:19:13 +02:00
Daniel Mensinger f2114fa167
cmake: add_custom_command fix empty and quoted parameters 2019-11-20 20:58:38 +01:00
Daniel Mensinger 7e839fc4a9
cmake: Fix confilcting custom targets 2019-11-20 19:44:47 +01:00
Daniel Mensinger 560c4f7f96
cmake: Uniform target name handling 2019-11-20 17:44:48 +01:00
Jussi Pakkanen 5920344b92
Merge pull request #6199 from mensinda/cmSysInc
cmake: Handle CMake system include dirs (closes #6079)
2019-11-20 18:41:18 +02:00
Paolo Borelli 294b33144f docs: clarify how Meson handles shebang in run_command [skip ci] 2019-11-19 21:07:02 +02:00
Jehan 6ed36e97ae Have set() and set_quoted() of configuration object work with newlines.
* Have set() and set_quoted() of configuration object work with newlines.

set_quoted() makes the value into a double-quoted string, so let's
assume C-style string, in particular with newlines as "\n".

Also take care of remaining newlines in dump_conf_header(). C or nasm
macros expect single-line values so if the value was multi-line, we
would end up with broken syntax. Appending a backslash at each end of
line make them concat into a single line in both C and nasm format
(note: multi-line macros in nasm are actually possible apparently but
use another format not outputted by current meson code). Also note that
the replacement is done at the end only when dumping the conf as a
header because we cannot assume anything about the format when replacing
variables from an input file (in this case, it should be the dev
responsibility).

* Add unit tests for multiline set() and set_quoted().
2019-11-19 21:05:54 +02:00
Eric Le Bihan 24cdb4a92f Interpreter: display linker executable path, if available
Instead of only displaying the identifier of the linker, display also the path
to the executable in order to report useful information when cross-compiling.
2019-11-19 16:32:12 +02:00
Eric Le Bihan 815563841a Fix cross-compilation of D programs
Since version 9.1, GCC provides support for the D programming language. Thus it
is easy to build a cross-compiler for D, such as aarch64-unknown-linux-gnu-gdc.

However to cross-compile a Meson project using D, using a cross build definition
such as the following is not enough:

```
[binaries]
d = '/path/to/aarch64-unknown-linux-gnu-gdc'
exe_wrapper = '/path/to/qemu-aarch64-static'

[properties]
needs_exe_wrapper = true

[host_machine]
system = 'linux'
cpu_family = 'aarch64'
cpu = 'cortex-a53'
endian = 'little'
```

Indeed, "exe_wrapper" is not be taken into account. Build will fail with:

```
Executables created by D compiler /path/to/aarch64-uknown-linux-gnu-gdc are not runnable.
```

This patch fixes this by reworking:

- detect_d_compiler() to properly get exe_wrapper and D compilers and detect the
one available.
- Dcompiler to properly handle exe_wrapper.
2019-11-19 16:32:12 +02:00
Daniel Mensinger 9435f11b17
ci: Add CI command to include text files in the CI log 2019-11-19 15:21:13 +01:00
Daniel Mensinger b4af3328a4
cmake: Skip system include dir test for msvc 2019-11-19 15:21:07 +01:00
Daniel Mensinger 3e1435a968
cmake: Handle CMake system include dirs (closes #6079) 2019-11-19 13:08:17 +01:00
Kurtis Rader ffdacc4c9c Enable code coverage using LLVM on macOS Catalina
Fixes #6188
2019-11-19 12:46:27 +02:00
Michael Hirsch, Ph.D 1f751dacba fortran: sync implicit-none args for intel,pgi,gfortran
also, find intel-cl submodule .smod name pattern. this would fix
intermittent failures of ninja to resolve submodule file dependencies.
2019-11-18 23:45:24 +02:00
Jussi Pakkanen b5f9895bfb
Merge pull request #6194 from scivision/coarrays
dep: Fortran Coarrays-enhance finding by use Pkg-config & CMake
2019-11-18 23:40:12 +02:00
Michael Hirsch, Ph.D 050dcf80af fortran: note there is no has_function for Fortran
It would be very challenging if not futile to make has_function work for Fortran.
The meson.get_compiler('fortran').links() works very well instead.
As a reference, CMake's check_fortran_function_exists is completely broken in general.

This change raises a useful MesonException instead of giving bizarre errors.
2019-11-18 22:22:54 +02:00
Michael Hirsch, Ph.D 83b4e981c4 Use strict function prototypes 2019-11-18 22:21:36 +02:00
Michael Hirsch, Ph.D 0435691e83 lint+mypy: move to github actions
actions: run if .yml itself changed
2019-11-17 23:56:46 +02:00
Michael Hirsch, Ph.D cd08a9f7d8
deps: add pkg-config to coarray with CMake fallback
make coarray in its own file for clarity
2019-11-17 10:56:53 -05:00
Michael Hirsch, Ph.D a911a237ad
ci: add timeout to coarray test 2019-11-17 10:56:09 -05:00
Jussi Pakkanen f6ad5d1398 Make all C main functions without arguments have "void" in arg list. 2019-11-17 17:16:41 +02:00
Jussi Pakkanen bf800101c2
Merge pull request #6182 from mensinda/depInfo
Better dependency logs
2019-11-17 14:29:47 +02:00
Jussi Pakkanen bb4bd7ab56
Merge pull request #6150 from scivision/fsexpand
fs module; make more robust, dedupe code, add method, add type anno & check
2019-11-17 14:11:55 +02:00
Michael Hirsch, Ph.D 894bf56346 add bug report template [skip ci] 2019-11-17 14:07:59 +02:00
Alberto García Hierro ffa9459eed commandrunner: Forward KeyboardInterrupt to command
Some commands, notably gdb, use ctrl+c themselves to perform actions
without exiting. Instead of making meson exit and thus, kill the
subprocess, ignore the KeyboardInterrupt and continue waiting for
the child.
2019-11-17 13:54:38 +02:00
Michael Hirsch, Ph.D 1baa1c9222 use '-Werror=unused-parameter' for gcc/clang on project tests and -fimplicit-none on fortran
Fortran: check for undeclared variables by forcing implicit none everywhere
C/C++: check for unused parameters and return types

removed unused variables from test cases

ci: do missing return and unused arg check with Github Actions
2019-11-17 13:24:42 +02:00
Michael Hirsch, Ph.D 0cb48cdc79
fs: make replace_suffix not expand file to absolute path, just manipulate the string 2019-11-17 00:22:53 -05:00
Michael Hirsch, Ph.D 2ae96f8595
fs: replace_suffix 2019-11-17 00:17:06 -05:00
Michael Hirsch, Ph.D 4997d93b49
fs: add docs for fs.size() 2019-11-17 00:17:05 -05:00
Michael Hirsch, Ph.D 5db3f8ac3d
fs: correct docs 2019-11-17 00:17:05 -05:00
Michael Hirsch, Ph.D a320274179
fs: get file size
fs: add samefile
2019-11-17 00:17:04 -05:00
Michael Hirsch, Ph.D 67651271f6
fs: add hash compute method 2019-11-17 00:17:04 -05:00
Michael Hirsch, Ph.D 1a0b4ddf34
fs: further document and test behavior 2019-11-17 00:17:03 -05:00
Michael Hirsch, Ph.D 4340f76a7a
fs: extend self-test to cover windows as well for with_suffix 2019-11-17 00:17:03 -05:00
Michael Hirsch, Ph.D 052d918908
add fs.with_suffix 2019-11-17 00:17:02 -05:00
Michael Hirsch, Ph.D dc8e8f0644
fs: improve exception feedback 2019-11-17 00:17:02 -05:00
Michael Hirsch, Ph.D 4adfd921ae
fs: use expanduser 2019-11-17 00:17:01 -05:00