chakra-core / chakra-core/ChakraCore
Include paths prevent hermetically sealed builds
- Dominant language
- JavaScript
- Stars
- 9.3k
- Forks
- 1.2k
- PR merge metrics
- No merged PRs in 30d
Description
I am trying to port ChakraCore to [Buck Build](https://buckbuild.com), but the include paths used in ChakraCore are making this difficult.
For instance:
- `RuntimeBasePch.h` contains `#include "Runtime.h"`;
- `Runtime.h` contains `#include "../JITIDL/JITTypes.h"`.
This causes the compiler to walk outside of the top-level of the build, which breaks reproducibility.
This scenario is avoidable if a path without `../` is used instead. For example:
```
#include "JITIDL/JITTypes.h"
```
Or better yet, something like this:
```
#include
```
Ideally, all headers would be included from the same include-path. This is common practice is many C++ libraries, such as [Boost](https://github.com/boostorg/graph/blob/develop/include/boost/graph/subgraph.hpp#L19).
What are the ChakraCore team's thoughts on this?
Contributor guide
Assessment
This issue has not been assessed yet.