chakra-core / chakra-core/ChakraCore

Include paths prevent hermetically sealed builds

Open
#3,916 2 comments 0 reactions 0 assignees View on GitHub
Codebase Quality help wanted
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.