Automatically add include_dirs for externs #1654
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Consider the following situation: some package Foo has installed files
foo.pxd
andheader.h
in.../python/site-packages/foo
. Thefoo.pxd
file containscdef extern from "header.h"
whereheader.h
is installed in.../python/site-packages/foo/header.h
When another package Bar wants to
cimport foo.foo
, thecdef extern from "header.h"
will become#include "header.h"
in the C file. The problem is now that the C compiler will not be able to find this file.The solution is obvious: whenever we look for a
cdef extern from
file, we add its directory to theinclude_dirs
of the extension.