mesonbuild / mesonbuild/meson

include_directories() is apparently filtering?

Open
#7,296 3 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.