include_directories() is apparently filtering?
- Dominant language
- Python
- Stars
- 6.6k
- Forks
- 1.9k
- Avg merge
- 2d 6h
- Merged PRs (30d)
- 33
Description
**Describe the bug**
I maintain a libc and libcpp for use with microcontroller-based embedded projects. I compile with -nostdinc/-nostdinc++ to prevent picking up the compiler's builtin library. For supporting testing/simulation on a PC, I want to manually re-add some system includes as needed while ensuring proper ordering.
When I try this:
```
thread_host_include_directories = include_directories(
darwin_sdk_path + '/usr/include/',
is_system: true)
```
Meson **does not** add the include argument to the build. If I remove `is_system: true`, the include argument is added.
**To Reproduce**
Using OS X with Apple Clang, you can build the `pj/debug` branch of our libcpp project: https://github.com/embeddedartistry/libcpp/tree/pj/debug
**Expected behavior**
Meson adds the include directory.
**system parameters**
* Native build
* Mac OS 10.14.6
* what Python version are you using e.g. 3.8.0
* Meson 0.54.2 and 0.54.1
* ninja 1.10.0
Contributor guide
Research direction
Start from Meson's include_directories() entry point and reproduce the shown is_system call on macOS with Apple Clang, comparing the build arguments with and without is_system. Trace how the directory is handled and locate the relevant regression-test area; done means the requested include argument is emitted while preserving system-include behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- build-system
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100