diff options
author | Dylan Baker <dylan@pnwbakers.com> | 2017-09-15 16:29:59 -0700 |
---|---|---|
committer | Dylan Baker <dylan@pnwbakers.com> | 2017-09-20 08:59:26 -0700 |
commit | d5003c2190d32d46ab7e1d40e5f9ee1169ef93b0 (patch) | |
tree | c7c44957c7a2602790b7bca05cf10989c9de820f /mesonrewriter.py | |
parent | 59a90309aba460df33dd6624601295355c7eb4e9 (diff) | |
download | meson-d5003c2190d32d46ab7e1d40e5f9ee1169ef93b0.zip meson-d5003c2190d32d46ab7e1d40e5f9ee1169ef93b0.tar.gz meson-d5003c2190d32d46ab7e1d40e5f9ee1169ef93b0.tar.bz2 |
Consider compilers used in static_library parents
Currently meson only considers what compiler/linker were used by a
Target's immediate sources or objects, not the sources of libraries it's
linked with by the link_with and link_while keywords. This means that if
given 3 libraries: libA which is C++, libB which is C, and libC which is
also C, and libC links with libB which links with libA then linking libC
will be attempted with the C linker, and will fail.
This patch corrects that by adding the compilers used by sub libraries
to the collection of compilers considered by meson when picking a
linker.
This adds a new process_compilers_late method to the BuildTarget class,
which is evaluated after process_kwargs is called. This is needed
because some D options need to be evaluated after compilers are
selected, while for C-like languages we need to check the link* targets
for language requirements, and link* targets are passed by kwargs.
This implementation is recursive, since each Target adds it's parent's
dependencies.
Diffstat (limited to 'mesonrewriter.py')
0 files changed, 0 insertions, 0 deletions