chakra-core/ChakraCore

Include paths prevent hermetically sealed builds

Open

#3.916 geöffnet am 10. Okt. 2017

Auf GitHub ansehen
 (2 Kommentare) (0 Reaktionen) (0 zugewiesene Personen)JavaScript (1.374 Forks)batch import
Codebase Qualityhelp wanted

Repository-Metriken

Stars
 (9.000 Stars)
PR-Merge-Metriken
 (Keine gemergten PRs in 30 T)

Beschreibung

I am trying to port ChakraCore to Buck Build, 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 <ChakraCore/JITIDL/JITTypes.h>

Ideally, all headers would be included from the same include-path. This is common practice is many C++ libraries, such as Boost.

What are the ChakraCore team's thoughts on this?

Contributor Guide