chakra-core/ChakraCore

Include paths prevent hermetically sealed builds

Open

#3,916 创建于 2017年10月10日

在 GitHub 查看
 (2 评论) (0 反应) (0 负责人)JavaScript (1,374 fork)batch import
Codebase Qualityhelp wanted

仓库指标

Star
 (9,000 star)
PR 合并指标
 (30 天内没有已合并 PR)

描述

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?

贡献者指南