Add initial scaffolding for the GN build.

Authored by thakis on Nov 16 2018, 6:21 PM.


Add initial scaffolding for the GN build.

See "GN build roundtable summary; adding GN build files to the repo" on
llvm-dev and cfe-dev for discussion.

In particular, this build is completely unsupported. People adding new files to
LLVM are not expected to update the GN build files, and reviewers are not
supposed to request the gn build files to be updated.

This adds just enough to be able to build llvm/lib/Demangle. It requires using
a monorepo.

This adds a few build config options you can set in args.gn
(gn args out/foo --list for all):

  • is_debug = true to enable debug builds (defaults to release)
  • llvm_enable_assertions to toggle assertions (defaults to true)
  • clang_base_path, if set an absolute path to a locally-built clang to be used as host compiler

Differential Revision: https://reviews.llvm.org/D54345

llvm-svn: 347128