| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
| |
It is not feasible to test all failure modes by creating projects in
`test cases/failing` that would be an explosion of files, and that
mechanism is too coarse anyway. We have no way to ensure that the
expected error is being raised.
See FailureTests.test_dependency for an example.
|
| | |
|
| |\ |
|
| | |
| |
| |
| |
| |
| |
| |
| | |
This is useful when build_machine appears to be compatible with
host_machine, but actually isn't. For example when:
- build_machine is macOS and host_machine is the iOS Simulator
- the build_machine's libc is glibc but the host_machine libc is uClibc
- code relies on kernel features not available on the build_machine
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Use -rpath-link with the absolute paths to the respective build dirs
to work around a binutils bug that causes $ORIGIN to not be used while
linking.
Includes a unit test that manually checks the RPATH value written out
to ensure that it uses $ORIGIN.
See: https://sourceware.org/bugzilla/show_bug.cgi?id=16936
Closes https://github.com/mesonbuild/meson/issues/1897
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
This is more reliable, and more accurate. For instance, this means
arguments in commands aren't surrounded by `'` on Linux unless that
is actually needed by that specific argument.
There is no equivalent helper for Windows, so we keep the old
behaviour for that.
|
| |/
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Now we aggressively de-dup the list of libraries used while linking,
and when linking with GNU ld we have to enclose all static libraries
with -Wl,--start-group and -Wl,--end-group to force the linker to
resolve all symbols recursively. This is needed when static libraries
have circular deps on each other (see included test).
The --start/end-group change is also needed for circular dependencies
between static libraries because we no longer recursively list out all
library dependencies.
The size of build.ninja for GStreamer is now down to 6.1M from 20M,
and yields a net reduction in configuration time of 10%
|
| |
|
|
|
|
|
| |
Environment variables like CFLAGS and LDFLAGS should not affect the
cross environment.
Fixes #1772
|
| |\
| |
| | |
Fix various warnings found in PyCharm
|
| | | |
|
| | | |
|
| | | |
|
| |/ |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Usage:
pkgconfig.generate(
...
description : 'A library with custom variables.',
variables : ['foo=bar', 'datadir=${prefix}/data']
)
The variables 'prefix', 'libdir' and 'includedir' are reserved, meson will
fail with an error message.
Variables can reference each other with the pkgconfig notation, e.g.
variables : ['datadir=${prefix}/data',
'otherdatadir=${datadir}/other']
meson does not check this for correctness or that the referenced variable
exists, we merely keep the same order as specified.
|
| |
|
|
|
|
|
|
|
| |
This actually caught a cached-dependency related bug for me that the
test-time regen did not. I also increased the ninja wait time to
1 second because that's actually how long you need to sleep to be
guaranteed that a change will be detected.
Must poke upstream about https://github.com/ninja-build/ninja/issues/371
|
| | |
|
| | |
|
| |
|
|
| |
Tests https://github.com/mesonbuild/meson/issues/1646
|
| |
|
|
| |
sharing. Closes #1619.
|
| | |
|
| |\
| |
| | |
Test that build and custom targets are rebuilt on changes
|
| | |
| |
| |
| |
| | |
Test that changing src tree headers rebuilds targets, and test that
changing any file used in a custom_target will rebuild it.
|
| |\ \
| |/
|/| |
Add an option to dependencies called 'method'.
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
configure a detection method, for those types of dependencies that have
more than one means of detection.
The default detection methods are unchanged if 'method' is not
specified, and all dependencies support the method 'auto', which is the
same as not specifying a method.
The dependencies which do support multiple detection methods
additionally support other values, depending on the dependency.
|
| | | |
|
| | |
| |
| |
| | |
Such as tests that use the compiler db, or install things.
|
| | |
| |
| |
| |
| |
| | |
/t:targetname syntax doesn't work, but running the vcxproj does work
Also use the Backend enum everywhere.
|
| | | |
|
| |/
|
|
|
|
| |
And use generic build/clean/test/install commands in the unit tests,
just like project tests. This sets the groundwork for running the unit
tests with all backends.
|
| |
|
|
| |
Use '.exe' extension for executables for Cygwin when building and installing
|
| |
|
|
|
|
|
| |
Identify Cygwin-targetted gcc as sui generis (don't use -fPIC, but don't
link with standard Windows libraries, either)
Update tests appropriately
|
| |
|
|
|
|
| |
Also don't add CFLAGS twice for links() checks
Includes a test for this.
|
| |\
| |
| | |
Add MVP implementation of overriding options.
|
| | | |
|
| | | |
|
| |\ \
| |/
|/| |
Try harder to use the C compiler for compiling asm
|
| | |
| |
| |
| | |
Ensure that they are all built with and linked with the C compiler
|
| | |
| |
| |
| | |
We want to return the stderr if the command failed.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Now as long as you have a C compiler available in the project, it will
be used to compile assembly even if the target contains a C++ compiler
and even if the target contains only assembly and C++ sources.
Earlier, the order in which sources appeared in a target would decide
which compiler would be used.
However, if the project only provides a C++ compiler, that will be
used for compiling assembly sources.
If this breaks your use-case, please tell us.
Includes a test that ensures that all of the above is adhered to.
|
| | |
| |
| |
| | |
Test is broken due to https://github.com/mesonbuild/meson/issues/1526
|
| |/
|
|
| |
up qt5 tools when using the qt4 module.
|
| |\
| |
| | |
Preserve internal-dep include order in build target dependencies
|
| | |
| |
| |
| |
| |
| |
| |
| | |
We were adding them to the CompilerArgs instance in the order in which
they are specified, which is wrong because later dependencies would
override previous ones. Add them in the reverse order instead.
Closes https://github.com/mesonbuild/meson/issues/1495
|