| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|\
| |
| | |
dependencies/openmp: Don't special case OpenMP
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Currently we specialcase OpenMP like we do threads, with a special
`need_openmp` method. This seems like a great idea, but doesn't work
out in practice, as well as it complicates the opemp
implementation. If GCC is built without opemp support for example, we
still add -fopenmp to the the command line, which results in
compilation errors.
This patch discards that and treats it like a normal dependency,
removes the need_openmp() method, and sets the compile_args attributes
from the compiler.
Fixes #5115
|
| |
| |
| |
| |
| | |
On GCC anc Clang th _OPENMP preprocessor define is only defined if
-fopenmp is passed to the compiler.
|
| |
| |
| |
| | |
This reverts commit ec5e8869196cc7749f4c224bc8d850b33b942e2d.
|
|\ \
| | |
| | | |
Kconfig Module
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Document best practices for per-builddir config file, and add a test covering
loading a config file from the build directory.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
| | |
| | |
| | |
| | |
| | | |
Add a kconfig module to allow meson to integrate with existing projects
that use kconfig.
|
| | |
| | |
| | |
| | |
| | | |
This in turn allows modules to return dictionaries, since their return values
is automatically passed through holderify.
|
| | |
| | |
| | |
| | | |
The cross-file cleanup meant this function is no longer used, so remove it.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Whenever a non-executable Python script is found by find_program, currently
Haiku and Windows replace a python3 from the shebang line with the one that
was used by Meson. Extend this behavior to POSIX systems so that it is
easy to test a program with multiple Python versions.
Currently this is particularly important for generators, because
they don't allow files in the arguments and thus you cannot do
something like
g = generator(pymod.find_installation(), ...,
arguments: [files('myscript.py'), ...])
With this patch, instead, you can just do
g = generator(find_program('myscript.py'), ...)
|
|\ \ \
| | | |
| | | | |
Support multiple --cross-file options
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Just like --native-file, allow multiple --cross-file options. This is mostly
unifying the logic between cross_files and config_files.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Instead of hard-coding the fact that load_configs() searches for files under
meson/native, pass in the subdirectory allowing the cross-file code to use the
same logic.
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | | |
This patch creates an enum for selecting libtype as static, shared,
prefer-static, or prefer-shared. This also renames 'static-shared'
with 'prefer_static' and 'shared-static' with 'prefer_shared'. This is
just a refactor with no behavioral changes or user facing changes.
|
|\ \ \
| | | |
| | | | |
Fix linking when cross-compiling and a windows resource is first object
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
It appears that LIB/LINK default to the host architecture if they can't
guess it from the first object. With the MSVC toolchain, resource files
are (usually) compiled to an arch-neutral .res format. Always
explicitly provide a '/MACHINE:' argument to avoid it guessing
incorrectly when cross-compiling.
|
| | | | |
|
| |_|/
|/| | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Meson is not warning if you join paths with / but you are requesting a
version older than 0.49.0; fix this before adding more features to the
division operator.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
For dynamic linking, some mingw releases don't link
correctly with pythonXX.lib in all cases.
This patch forces mingw to link against
pyhthonXX.dll instead of the .lib file, which has
a better compatiblity.
Note that msys 1.0 old platform is detected
as windows instead of 'mingw'
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
It looks like BOOST_ROOT is now set in the azure v2017 image (relevant
change seems to be [1], pre-installing boost)
Remove BOOST_ROOT from the environment to prevent attempting to use a
boost which is incompatible with the compiler.
(an MSVC boost should be compatible with clang-cl, but has problems, see
c7a3e810)
[1] https://github.com/Microsoft/azure-pipelines-image-generation/pull/732
|
| | | |
|
| |/
|/| |
|
| |
| |
| | |
Add the libcamera project as a user of Meson.
|
|\ \
| | |
| | | |
FEATURE: Fortran Include directive
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
allow recursion for Fortran include
qualify include by file extension
correct suffix
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
In Fedora 30 the llvm-config binary has the number of bits in the isa
added as a suffic to the name llvm-config-64 or llvm-config-32, and no
naked llvm-config binary is provided. This commit moves the list of
llvm-config binaries to the constructor so that we can modify the list
on a per-instance basis, and adds the new Feodra names.
Fixes #5059
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
We'll need this in the llvm-config logic to determine the right
llvm-config to call on Fedora 30+, but this feels like the sort of
information that might be useful elsewhere. This does not expose this
information as part of the public API, it's only accessible at the
python layer.
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Compiler internal libs should always be de-duplicated, no matter what.
Closes https://github.com/mesonbuild/meson/issues/2150
Test case is by Bruce Richardson in the issue.
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
@permittedKwargs() is basically copying the logic of CustomTarget,
but it is not actually up to date, leading to warnings on perfectly
valid values such as 'build_by_default'.
Use CustomTarget.known_kwargs instead, and only append the specific
kwargs of i18n.merge_file().
Fixes https://github.com/mesonbuild/meson/issues/5079
|
| |
| |
| |
| |
| |
| | |
These don't work and no one has fixed them. When I've tried to
download dmd for windows I can't get a valid installer from their
website. Let's at least turn the CI green.
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Since the "-l<lib>" flags in the build.ninja file are passed in
"--start-group"/"--end-group" flags, there should be no need to have any
library listed twice, even if there are circular dependencies. Therefore we
can eliminate duplicates. For speed, rather than deduplicating at the end
of the process, it's faster to not add the duplicate flags in the first
place.
This should help fix #2150
|
| |
| |
| |
| |
| | |
Similar to https://github.com/mesonbuild/meson/pull/5067
This part was missed in my previous commit.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
OpenBSD doesn't have any support for the compiler sanitizers yet.
While this may change in the future, better fix test suite run in "failfast"
mode for now. This can be revisited once (if) we get support in the future.
* clang 7.0.1
$ make CFLAGS=-fsanitize=address foo
cc -fsanitize=address -o foo foo.c
cc: error: unsupported option '-fsanitize=address' for target 'amd64-unknown-openbsd6.5'
* gcc 4.2.1
*** Error 1 in /tmp (<sys.mk>:85 'foo')
$ make CC=gcc CFLAGS=-fsanitize=address foo
gcc -fsanitize=address -o foo foo.c
cc1: error: unrecognized command line option "-fsanitize=address"
* gcc 8.2.0
$ make CC=egcc CFLAGS=-fsanitize=address foo
egcc -fsanitize=address -o foo foo.c
ld: error: unable to find library -lasan
collect2: error: ld returned 1 exit status
|
| |
| |
| |
| | |
This is less hacky, and also prepares the way for #4010.
|
| |
| |
| |
| | |
Fixes #5056
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
* If clone-recursive is specified, populate submodules only after
the specified revision/branch has been checked out. Fixes #4996
* Update submodules recursively on `meson subprojects update`
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| | |
This is a regression introduced in meson 0.47.
Fixes https://github.com/mesonbuild/meson/issues/4135
|
| | |
|