Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
|
|
Add a keyword argument to to_native() to operate on a copy so that we
can call it multiple times instead of modifying the original compiler
args while iterating.
This is used in the unit test, and might be used in Meson at some
point too.
|
|
The index calculated through `self.index()` may find the same flag
earlier in the list and end up putting `--end-group` in the wrong spot.
|
|
These weren't caught by the CI because we have pkg-config on it, and
these were testing non-pkg-config codepaths. The unity build on macOS
now doesn't have pkg-config to ensure that the codepath is tested.
|
|
Since [1], OSX builds on travis fail with:
Error: Refusing to uninstall /usr/local/Cellar/python/3.6.5_1
because it is required by gdal, numpy, postgis, which are currently installed.
Revise #3163
[1] https://blog.travis-ci.com/2018-07-19-xcode9-4-default-announce
|
|
We skipped the changes made to this test in the commits in this branch
for ease of rebase, so re-add them manually.
|
|
|
|
Shared libraries may not always be linkable without the use of other
libraries, so don't make it a linker error.
|
|
This means that we will take into account all the flags set in the
cross file when fetching the list of library dirs, which means we
won't incorrectly look for 64-bit libraries when building for 32-bit.
Signed-off-by: Nirbheek Chauhan <nirbheek@centricular.com>
Closes https://github.com/mesonbuild/meson/issues/3881
|
|
Closes: #4021.
|
|
pkg-config and pkgconf treat additional search paths in
PKG_CONFIG_PATH and PKG_CONFIG_LIBDIR differently when
PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 is set.
pkg-config always outputs -L flags for the additional paths first, and
pkgconf always outputs -L flags for the default paths first.
To account for this inconsistency, we now sort the library paths into
two separate sets: system (default) and prefix (additional) paths. We
can do this because we always query pkg-config twice: once with
PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 set and once without it.
Then, we ensure that the prefix paths are searched before the system
paths.
Closes https://github.com/mesonbuild/meson/issues/4023
Closes https://github.com/mesonbuild/meson/issues/3951
|
|
It is undefined behaviour to call D I/O functions without initializing D runtime first. Simplify the test so it will work in all platforms.
|
|
linux/if.h can't be included directly because of a bug:
https://lore.kernel.org/patchwork/patch/762406/
Closes https://github.com/mesonbuild/meson/issues/4053
|
|
This could happen when setting an default install mode but with broken
symlinks.
Fixes #3914
|
|
Since we're supposed to call this for each installed path, we only should go
through what we've installed and not what this point to, as it might be
outside our scope or not existent.
To do this, since shutil.chown doesn't expose the follow_symlink that os.chown
has, we can temporarily replace os.chown with a lambda that acutually passes
all the values as we want them, and then restore it to the built-in functions.
Not the nicest way, but fixes the issue without having to reimplement what
shutil does.
Fixes #3914
|
|
It's only supported by few platforms when the linked file exists, while it
would cause an error otherwise.
In any case just implement this via an helper set_chmod function that will
handle the case where follow_symlinks is not supported by the platform
and will just not set any mod for the link itself (as it would otherwise
apply to the linked file).
Fixes #3914
|
|
Add test to verify the installation of broken symlinks when a default_umask
is set.
Reusing the same code of other test, thus sharing the actual test code
in a single function.
|
|
Closes https://github.com/mesonbuild/meson/issues/4047
|
|
Fixes https://github.com/mesonbuild/meson/issues/3914
|
|
Earlier, we would replace the subproject option with the parent
project's option, which is incorrect if the types are not the same.
Now we retain the subproject's option and print a warning. It's not
advisable to issue an error in this case because subproject option
yielding is involuntary for the parent project (option names can match
because of coincidences).
|
|
Fixes https://github.com/mesonbuild/meson/issues/3858
|
|
We still print the inherited env at the top of the test log because it
is useful when inspecting test results from a CI.
Fixes https://github.com/mesonbuild/meson/issues/3924
|
|
Fixes https://github.com/mesonbuild/meson/issues/3944
|
|
Fixes https://github.com/mesonbuild/meson/issues/3904
|
|
|
|
-lc -lm -ldl -lrt -lpthread are special linker arguments that should
never be resolved to on-disk libraries.
Closes https://github.com/mesonbuild/meson/issues/3879
|
|
|
|
Otherwise we get an error while checking the subproject version:
Uncomparable version string 'none'.
If the dependency was found as a not-found dependency in the
subproject and is not required, just take it.
|
|
We were searching the library paths in the reverse order, which meant
that we'd pick libraries from the wrong prefix.
Closes https://github.com/mesonbuild/meson/issues/3951
|
|
Needs a `mock` kwarg to Interpreter to not do any parsing of build
files, but only setup the builtins and functions.
Also consolidate the documentation and data tests into one class.
|
|
|
|
get_pkgconfig_variable() takes a 'default' keyword
|
|
The code was adding the library paths to LD_LIBRARY_PATH, but that
doesn't work on Windows where they need to be added to PATH instead.
Move the environ handling into gtkdoc_run_check() and add paths to PATH
instead of LD_LIBRARY_PATH when on Windows.
This fixes the gtk-doc build for glib on Windows
(in case glib isn't installed already)
|
|
|
|
Meson already had code to propagate link dependencies from static
libraries to programs that use those static libraries.
Unfortunately, it was not handling the special cases of 'threads' and
'openmp' dependencies.
|
|
Fix @CURRENT_SOURCE_DIR@ pointing to the wrong directory if generator() is called from a subdir.
|
|
0a035de removed main from meson.py breaking the call from __main__.py.
This causes zipapps to fail, since the call to meson.main() fails.
Copying the invocation from meson.py fixes this issue.
Additionally, add a test to run_meson_command_tests.py that
builds a zipapp from the source and attempts executing this
zipapp with --help to ensure that the resulting zipapp is
properly executable.
|
|
|
|
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
|
|
asan must be first in ldflags and this order was lost in cb36add970d448f8b4ace7e4dc6028e5441bccd7
So this is the most simple solution of just putting it first in internal_ldflags
See https://github.com/mesonbuild/meson/issues/2117#issuecomment-408560838
|
|
|
|
|
|
isn't in PATH
Meson tries to find the interpreter path through the "py" launcher on Windows in all
cases which breaks if meson is run under MSYS2 and an official CPython is installed as well.
MSYS2 Python doesn't install a py launcher which results in meson finding the system one instead
even though python2/python3 is in PATH.
Always check if the interpreter name is in PATH before falling back to checking the py launcher.
|
|
On OS X the paths are absolute and there is one -rpath option per
subproject.
Unfortunately we cannot just look for
-rpath,.*/subprojects/sub1.*/subprojects/sub2
as on linux the -rpath option is followed by -rpath-link and the test
would pass even without the patch.
|
|
|
|
We were using a set to store the rpaths. Just switch to a OrderedSet.
Fixes #3928.
|
|
Closes #3938.
|