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?

貢獻者指南