Import framework to build base clang (version 3.8.0)
authorJohn Marino <draco@marino.st>
Sun, 20 Mar 2016 21:07:44 +0000 (22:07 +0100)
committerJohn Marino <draco@marino.st>
Sun, 20 Mar 2016 21:09:27 +0000 (22:09 +0100)
commit2806e6a60c229f114f518953ac8268a4e6e94a63
treeed17f65b3efabbcfdff701061b02af3c37306229
parent9cefb7c89c63c495157c0c77d761030bf2bea9b0
Import framework to build base clang (version 3.8.0)

This commit has two major components:

1) Set of tools to generate makefiles from LLVM's CMake data.
   It greatly assists upgrading base clang from release to release

2) A new directory <root>/llvm_clang that will build and install
   clang.  It is not hooked into the world build yet.

The process for building clang is described in
tools/tools/llvm_generator/README.  Basically the llvm source needs
to be symlinked to contrib/llvm after applying one patch, and then
it can be manually built and installed (and accessible via CCVER and
WORLD_CCVER).

It will not be hooked until the build until clang-built kernel modules
load properly (they load via kldload but not during boot).  This was
last tested a few months ago on an llvm-38 dev branch using the customcc
functionality.  clang-built worlds and kernels using clang 3.8.0 have
not been tested yet.  This commit is meant to facilitate testing and
resolution of any issues with clang.

It was necessary to temporarily modify objformat to enable
WORLD_CCVER=clang to build the world.  This modication will be removed
once clang officially replaces gcc47.
200 files changed:
Makefile.inc1
etc/mtree/BSD.usr.dist
llvm_clang/Makefile [new file with mode: 0644]
llvm_clang/block1/LLVMSupport/Makefile [new file with mode: 0644]
llvm_clang/block1/LLVMSupport/Makefile.sources [new file with mode: 0644]
llvm_clang/block1/LLVMTableGen/Makefile [new file with mode: 0644]
llvm_clang/block1/LLVMTableGen/Makefile.sources [new file with mode: 0644]
llvm_clang/block1/Makefile [new file with mode: 0644]
llvm_clang/block1/Makefile.generated [new file with mode: 0644]
llvm_clang/block1/Makefile.inc [new file with mode: 0644]
llvm_clang/block1/configuration/Version.inc [new file with mode: 0644]
llvm_clang/block1/configuration/config.h [new file with mode: 0644]
llvm_clang/block1/configuration/config.h.clang [new file with mode: 0644]
llvm_clang/block1/configuration/llvm-config.h [new file with mode: 0644]
llvm_clang/block2/Makefile [new file with mode: 0644]
llvm_clang/block2/Makefile.inc [new file with mode: 0644]
llvm_clang/block2/clang-tblgen/Makefile [new file with mode: 0644]
llvm_clang/block2/clang-tblgen/Makefile.sources [new file with mode: 0644]
llvm_clang/block2/llvm-tblgen/Makefile [new file with mode: 0644]
llvm_clang/block2/llvm-tblgen/Makefile.sources [new file with mode: 0644]
llvm_clang/block3/Makefile [new file with mode: 0644]
llvm_clang/block4/LLVMAArch64AsmParser/Makefile [new file with mode: 0644]
llvm_clang/block4/LLVMAArch64AsmParser/Makefile.sources [new file with mode: 0644]
llvm_clang/block4/LLVMAArch64AsmPrinter/Makefile [new file with mode: 0644]
llvm_clang/block4/LLVMAArch64AsmPrinter/Makefile.sources [new file with mode: 0644]
llvm_clang/block4/LLVMAArch64CodeGen/Makefile [new file with mode: 0644]
llvm_clang/block4/LLVMAArch64CodeGen/Makefile.sources [new file with mode: 0644]
llvm_clang/block4/LLVMAArch64Desc/Makefile [new file with mode: 0644]
llvm_clang/block4/LLVMAArch64Desc/Makefile.sources [new file with mode: 0644]
llvm_clang/block4/LLVMAArch64Disassembler/Makefile [new file with mode: 0644]
llvm_clang/block4/LLVMAArch64Disassembler/Makefile.sources [new file with mode: 0644]
llvm_clang/block4/LLVMAArch64Info/Makefile [new file with mode: 0644]
llvm_clang/block4/LLVMAArch64Info/Makefile.sources [new file with mode: 0644]
llvm_clang/block4/LLVMAArch64Utils/Makefile [new file with mode: 0644]
llvm_clang/block4/LLVMAArch64Utils/Makefile.sources [new file with mode: 0644]
llvm_clang/block4/LLVMAMDGPUAsmParser/Makefile [new file with mode: 0644]
llvm_clang/block4/LLVMAMDGPUAsmParser/Makefile.sources [new file with mode: 0644]
llvm_clang/block4/LLVMAMDGPUAsmPrinter/Makefile [new file with mode: 0644]
llvm_clang/block4/LLVMAMDGPUAsmPrinter/Makefile.sources [new file with mode: 0644]
llvm_clang/block4/LLVMAMDGPUCodeGen/Makefile [new file with mode: 0644]
llvm_clang/block4/LLVMAMDGPUCodeGen/Makefile.sources [new file with mode: 0644]
llvm_clang/block4/LLVMAMDGPUDesc/Makefile [new file with mode: 0644]
llvm_clang/block4/LLVMAMDGPUDesc/Makefile.sources [new file with mode: 0644]
llvm_clang/block4/LLVMAMDGPUInfo/Makefile [new file with mode: 0644]
llvm_clang/block4/LLVMAMDGPUInfo/Makefile.sources [new file with mode: 0644]
llvm_clang/block4/LLVMAMDGPUUtils/Makefile [new file with mode: 0644]
llvm_clang/block4/LLVMAMDGPUUtils/Makefile.sources [new file with mode: 0644]
llvm_clang/block4/LLVMARMAsmParser/Makefile [new file with mode: 0644]
llvm_clang/block4/LLVMARMAsmParser/Makefile.sources [new file with mode: 0644]
llvm_clang/block4/LLVMARMAsmPrinter/Makefile [new file with mode: 0644]
llvm_clang/block4/LLVMARMAsmPrinter/Makefile.sources [new file with mode: 0644]
llvm_clang/block4/LLVMARMCodeGen/Makefile [new file with mode: 0644]
llvm_clang/block4/LLVMARMCodeGen/Makefile.sources [new file with mode: 0644]
llvm_clang/block4/LLVMARMDesc/Makefile [new file with mode: 0644]
llvm_clang/block4/LLVMARMDesc/Makefile.sources [new file with mode: 0644]
llvm_clang/block4/LLVMARMDisassembler/Makefile [new file with mode: 0644]
llvm_clang/block4/LLVMARMDisassembler/Makefile.sources [new file with mode: 0644]
llvm_clang/block4/LLVMARMInfo/Makefile [new file with mode: 0644]
llvm_clang/block4/LLVMARMInfo/Makefile.sources [new file with mode: 0644]
llvm_clang/block4/LLVMAnalysis/Makefile [new file with mode: 0644]
llvm_clang/block4/LLVMAnalysis/Makefile.sources [new file with mode: 0644]
llvm_clang/block4/LLVMAsmParser/Makefile [new file with mode: 0644]
llvm_clang/block4/LLVMAsmParser/Makefile.sources [new file with mode: 0644]
llvm_clang/block4/LLVMAsmPrinter/Makefile [new file with mode: 0644]
llvm_clang/block4/LLVMAsmPrinter/Makefile.sources [new file with mode: 0644]
llvm_clang/block4/LLVMBitReader/Makefile [new file with mode: 0644]
llvm_clang/block4/LLVMBitReader/Makefile.sources [new file with mode: 0644]
llvm_clang/block4/LLVMBitWriter/Makefile [new file with mode: 0644]
llvm_clang/block4/LLVMBitWriter/Makefile.sources [new file with mode: 0644]
llvm_clang/block4/LLVMCodeGen/Makefile [new file with mode: 0644]
llvm_clang/block4/LLVMCodeGen/Makefile.sources [new file with mode: 0644]
llvm_clang/block4/LLVMCore/Makefile [new file with mode: 0644]
llvm_clang/block4/LLVMCore/Makefile.sources [new file with mode: 0644]
llvm_clang/block4/LLVMCppBackendCodeGen/Makefile [new file with mode: 0644]
llvm_clang/block4/LLVMCppBackendCodeGen/Makefile.sources [new file with mode: 0644]
llvm_clang/block4/LLVMCppBackendInfo/Makefile [new file with mode: 0644]
llvm_clang/block4/LLVMCppBackendInfo/Makefile.sources [new file with mode: 0644]
llvm_clang/block4/LLVMIRReader/Makefile [new file with mode: 0644]
llvm_clang/block4/LLVMIRReader/Makefile.sources [new file with mode: 0644]
llvm_clang/block4/LLVMInstCombine/Makefile [new file with mode: 0644]
llvm_clang/block4/LLVMInstCombine/Makefile.sources [new file with mode: 0644]
llvm_clang/block4/LLVMInstrumentation/Makefile [new file with mode: 0644]
llvm_clang/block4/LLVMInstrumentation/Makefile.sources [new file with mode: 0644]
llvm_clang/block4/LLVMLinker/Makefile [new file with mode: 0644]
llvm_clang/block4/LLVMLinker/Makefile.sources [new file with mode: 0644]
llvm_clang/block4/LLVMMC/Makefile [new file with mode: 0644]
llvm_clang/block4/LLVMMC/Makefile.sources [new file with mode: 0644]
llvm_clang/block4/LLVMMCDisassembler/Makefile [new file with mode: 0644]
llvm_clang/block4/LLVMMCDisassembler/Makefile.sources [new file with mode: 0644]
llvm_clang/block4/LLVMMCParser/Makefile [new file with mode: 0644]
llvm_clang/block4/LLVMMCParser/Makefile.sources [new file with mode: 0644]
llvm_clang/block4/LLVMMipsAsmParser/Makefile [new file with mode: 0644]
llvm_clang/block4/LLVMMipsAsmParser/Makefile.sources [new file with mode: 0644]
llvm_clang/block4/LLVMMipsAsmPrinter/Makefile [new file with mode: 0644]
llvm_clang/block4/LLVMMipsAsmPrinter/Makefile.sources [new file with mode: 0644]
llvm_clang/block4/LLVMMipsCodeGen/Makefile [new file with mode: 0644]
llvm_clang/block4/LLVMMipsCodeGen/Makefile.sources [new file with mode: 0644]
llvm_clang/block4/LLVMMipsDesc/Makefile [new file with mode: 0644]
llvm_clang/block4/LLVMMipsDesc/Makefile.sources [new file with mode: 0644]
llvm_clang/block4/LLVMMipsDisassembler/Makefile [new file with mode: 0644]
llvm_clang/block4/LLVMMipsDisassembler/Makefile.sources [new file with mode: 0644]
llvm_clang/block4/LLVMMipsInfo/Makefile [new file with mode: 0644]
llvm_clang/block4/LLVMMipsInfo/Makefile.sources [new file with mode: 0644]
llvm_clang/block4/LLVMObjCARCOpts/Makefile [new file with mode: 0644]
llvm_clang/block4/LLVMObjCARCOpts/Makefile.sources [new file with mode: 0644]
llvm_clang/block4/LLVMObject/Makefile [new file with mode: 0644]
llvm_clang/block4/LLVMObject/Makefile.sources [new file with mode: 0644]
llvm_clang/block4/LLVMOption/Makefile [new file with mode: 0644]
llvm_clang/block4/LLVMOption/Makefile.sources [new file with mode: 0644]
llvm_clang/block4/LLVMPowerPCAsmParser/Makefile [new file with mode: 0644]
llvm_clang/block4/LLVMPowerPCAsmParser/Makefile.sources [new file with mode: 0644]
llvm_clang/block4/LLVMPowerPCAsmPrinter/Makefile [new file with mode: 0644]
llvm_clang/block4/LLVMPowerPCAsmPrinter/Makefile.sources [new file with mode: 0644]
llvm_clang/block4/LLVMPowerPCCodeGen/Makefile [new file with mode: 0644]
llvm_clang/block4/LLVMPowerPCCodeGen/Makefile.sources [new file with mode: 0644]
llvm_clang/block4/LLVMPowerPCDesc/Makefile [new file with mode: 0644]
llvm_clang/block4/LLVMPowerPCDesc/Makefile.sources [new file with mode: 0644]
llvm_clang/block4/LLVMPowerPCDisassembler/Makefile [new file with mode: 0644]
llvm_clang/block4/LLVMPowerPCDisassembler/Makefile.sources [new file with mode: 0644]
llvm_clang/block4/LLVMPowerPCInfo/Makefile [new file with mode: 0644]
llvm_clang/block4/LLVMPowerPCInfo/Makefile.sources [new file with mode: 0644]
llvm_clang/block4/LLVMProfileData/Makefile [new file with mode: 0644]
llvm_clang/block4/LLVMProfileData/Makefile.sources [new file with mode: 0644]
llvm_clang/block4/LLVMScalarOpts/Makefile [new file with mode: 0644]
llvm_clang/block4/LLVMScalarOpts/Makefile.sources [new file with mode: 0644]
llvm_clang/block4/LLVMSelectionDAG/Makefile [new file with mode: 0644]
llvm_clang/block4/LLVMSelectionDAG/Makefile.sources [new file with mode: 0644]
llvm_clang/block4/LLVMTarget/Makefile [new file with mode: 0644]
llvm_clang/block4/LLVMTarget/Makefile.sources [new file with mode: 0644]
llvm_clang/block4/LLVMTransformUtils/Makefile [new file with mode: 0644]
llvm_clang/block4/LLVMTransformUtils/Makefile.sources [new file with mode: 0644]
llvm_clang/block4/LLVMVectorize/Makefile [new file with mode: 0644]
llvm_clang/block4/LLVMVectorize/Makefile.sources [new file with mode: 0644]
llvm_clang/block4/LLVMX86AsmParser/Makefile [new file with mode: 0644]
llvm_clang/block4/LLVMX86AsmParser/Makefile.sources [new file with mode: 0644]
llvm_clang/block4/LLVMX86AsmPrinter/Makefile [new file with mode: 0644]
llvm_clang/block4/LLVMX86AsmPrinter/Makefile.sources [new file with mode: 0644]
llvm_clang/block4/LLVMX86CodeGen/Makefile [new file with mode: 0644]
llvm_clang/block4/LLVMX86CodeGen/Makefile.sources [new file with mode: 0644]
llvm_clang/block4/LLVMX86Desc/Makefile [new file with mode: 0644]
llvm_clang/block4/LLVMX86Desc/Makefile.sources [new file with mode: 0644]
llvm_clang/block4/LLVMX86Disassembler/Makefile [new file with mode: 0644]
llvm_clang/block4/LLVMX86Disassembler/Makefile.sources [new file with mode: 0644]
llvm_clang/block4/LLVMX86Info/Makefile [new file with mode: 0644]
llvm_clang/block4/LLVMX86Info/Makefile.sources [new file with mode: 0644]
llvm_clang/block4/LLVMX86Utils/Makefile [new file with mode: 0644]
llvm_clang/block4/LLVMX86Utils/Makefile.sources [new file with mode: 0644]
llvm_clang/block4/LLVMipo/Makefile [new file with mode: 0644]
llvm_clang/block4/LLVMipo/Makefile.sources [new file with mode: 0644]
llvm_clang/block4/Makefile [new file with mode: 0644]
llvm_clang/block4/Makefile.inc [new file with mode: 0644]
llvm_clang/block4/clangARCMigrate/Makefile [new file with mode: 0644]
llvm_clang/block4/clangARCMigrate/Makefile.sources [new file with mode: 0644]
llvm_clang/block4/clangAST/Makefile [new file with mode: 0644]
llvm_clang/block4/clangAST/Makefile.sources [new file with mode: 0644]
llvm_clang/block4/clangAnalysis/Makefile [new file with mode: 0644]
llvm_clang/block4/clangAnalysis/Makefile.sources [new file with mode: 0644]
llvm_clang/block4/clangBasic/Makefile [new file with mode: 0644]
llvm_clang/block4/clangBasic/Makefile.sources [new file with mode: 0644]
llvm_clang/block4/clangCodeGen/Makefile [new file with mode: 0644]
llvm_clang/block4/clangCodeGen/Makefile.sources [new file with mode: 0644]
llvm_clang/block4/clangDriver/Makefile [new file with mode: 0644]
llvm_clang/block4/clangDriver/Makefile.sources [new file with mode: 0644]
llvm_clang/block4/clangEdit/Makefile [new file with mode: 0644]
llvm_clang/block4/clangEdit/Makefile.sources [new file with mode: 0644]
llvm_clang/block4/clangFrontend/Makefile [new file with mode: 0644]
llvm_clang/block4/clangFrontend/Makefile.sources [new file with mode: 0644]
llvm_clang/block4/clangFrontendTool/Makefile [new file with mode: 0644]
llvm_clang/block4/clangFrontendTool/Makefile.sources [new file with mode: 0644]
llvm_clang/block4/clangLex/Makefile [new file with mode: 0644]
llvm_clang/block4/clangLex/Makefile.sources [new file with mode: 0644]
llvm_clang/block4/clangParse/Makefile [new file with mode: 0644]
llvm_clang/block4/clangParse/Makefile.sources [new file with mode: 0644]
llvm_clang/block4/clangRewrite/Makefile [new file with mode: 0644]
llvm_clang/block4/clangRewrite/Makefile.sources [new file with mode: 0644]
llvm_clang/block4/clangRewriteFrontend/Makefile [new file with mode: 0644]
llvm_clang/block4/clangRewriteFrontend/Makefile.sources [new file with mode: 0644]
llvm_clang/block4/clangSema/Makefile [new file with mode: 0644]
llvm_clang/block4/clangSema/Makefile.sources [new file with mode: 0644]
llvm_clang/block4/clangSerialization/Makefile [new file with mode: 0644]
llvm_clang/block4/clangSerialization/Makefile.sources [new file with mode: 0644]
llvm_clang/block4/clangStaticAnalyzerCheckers/Makefile [new file with mode: 0644]
llvm_clang/block4/clangStaticAnalyzerCheckers/Makefile.sources [new file with mode: 0644]
llvm_clang/block4/clangStaticAnalyzerCore/Makefile [new file with mode: 0644]
llvm_clang/block4/clangStaticAnalyzerCore/Makefile.sources [new file with mode: 0644]
llvm_clang/block4/clangStaticAnalyzerFrontend/Makefile [new file with mode: 0644]
llvm_clang/block4/clangStaticAnalyzerFrontend/Makefile.sources [new file with mode: 0644]
llvm_clang/block5/Makefile [new file with mode: 0644]
llvm_clang/block5/Makefile.inc [new file with mode: 0644]
llvm_clang/block5/clang/Makefile [new file with mode: 0644]
llvm_clang/block5/clang/clang.1 [new file with mode: 0644]
llvm_clang/block5/include/Makefile [new file with mode: 0644]
llvm_clang/block5/include/Makefile.sources [new file with mode: 0644]
tools/tools/llvm_generator/Makefile [new file with mode: 0644]
tools/tools/llvm_generator/README [new file with mode: 0644]
tools/tools/llvm_generator/patches/patch-tools_clang_lib_Frontend_InitHeaderSearch.cpp [new file with mode: 0644]
tools/tools/llvm_generator/scrape_headers.awk [new file with mode: 0644]
tools/tools/llvm_generator/scrape_library.awk [new file with mode: 0644]
tools/tools/llvm_generator/scrape_tablegen.awk [new file with mode: 0644]
usr.bin/objformat/objformat.c