aboutsummaryrefslogtreecommitdiff
path: root/mesonrewriter.py
diff options
context:
space:
mode:
authorDylan Baker <dylan@pnwbakers.com>2017-09-15 16:29:59 -0700
committerDylan Baker <dylan@pnwbakers.com>2017-09-20 08:59:26 -0700
commitd5003c2190d32d46ab7e1d40e5f9ee1169ef93b0 (patch)
treec7c44957c7a2602790b7bca05cf10989c9de820f /mesonrewriter.py
parent59a90309aba460df33dd6624601295355c7eb4e9 (diff)
downloadmeson-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