Import framework to build base clang (version 3.8.0)

Operating Systems / DragonFlyBSD - John Marino [marino.st] - 20 March 2016 16:09 UTC

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 /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.

2806e6a Import framework to build base clang (version 3.8.0)
Makefile.inc1 | 3 +
etc/mtree/BSD.usr.dist | 4 +
llvm_clang/Makefile | 5 +
llvm_clang/block1/LLVMSupport/Makefile | 10 +
llvm_clang/block1/LLVMSupport/Makefile.sources | 101 ++++
llvm_clang/block1/LLVMTableGen/Makefile | 4 +
llvm_clang/block1/LLVMTableGen/Makefile.sources | 16 +
llvm_clang/block1/Makefile | 6 +
llvm_clang/block1/Makefile.generated | 55 ++
llvm_clang/block1/Makefile.inc | 22 +
llvm_clang/block1/configuration/Version.inc | 4 +
llvm_clang/block1/configuration/config.h | 584 ++++++++++++++++++++
llvm_clang/block1/configuration/config.h.clang | 38 ++
llvm_clang/block1/configuration/llvm-config.h | 108 ++++
llvm_clang/block2/Makefile | 6 +
llvm_clang/block2/Makefile.inc | 31 ++
llvm_clang/block2/clang-tblgen/Makefile | 4 +
llvm_clang/block2/clang-tblgen/Makefile.sources | 15 +
llvm_clang/block2/llvm-tblgen/Makefile | 4 +
llvm_clang/block2/llvm-tblgen/Makefile.sources | 38 ++
llvm_clang/block3/Makefile | 182 ++++++
llvm_clang/block4/LLVMAArch64AsmParser/Makefile | 4 +
.../block4/LLVMAArch64AsmParser/Makefile.sources | 7 +
llvm_clang/block4/LLVMAArch64AsmPrinter/Makefile | 4 +
.../block4/LLVMAArch64AsmPrinter/Makefile.sources | 7 +
llvm_clang/block4/LLVMAArch64CodeGen/Makefile | 4 +
.../block4/LLVMAArch64CodeGen/Makefile.sources | 34 ++
llvm_clang/block4/LLVMAArch64Desc/Makefile | 4 +
llvm_clang/block4/LLVMAArch64Desc/Makefile.sources | 15 +
llvm_clang/block4/LLVMAArch64Disassembler/Makefile | 4 +
.../LLVMAArch64Disassembler/Makefile.sources | 8 +
llvm_clang/block4/LLVMAArch64Info/Makefile | 4 +
llvm_clang/block4/LLVMAArch64Info/Makefile.sources | 7 +
llvm_clang/block4/LLVMAArch64Utils/Makefile | 4 +
.../block4/LLVMAArch64Utils/Makefile.sources | 7 +
llvm_clang/block4/LLVMAMDGPUAsmParser/Makefile | 4 +
.../block4/LLVMAMDGPUAsmParser/Makefile.sources | 7 +
llvm_clang/block4/LLVMAMDGPUAsmPrinter/Makefile | 4 +
.../block4/LLVMAMDGPUAsmPrinter/Makefile.sources | 7 +
llvm_clang/block4/LLVMAMDGPUCodeGen/Makefile | 4 +
.../block4/LLVMAMDGPUCodeGen/Makefile.sources | 55 ++
llvm_clang/block4/LLVMAMDGPUDesc/Makefile | 4 +
llvm_clang/block4/LLVMAMDGPUDesc/Makefile.sources | 15 +
llvm_clang/block4/LLVMAMDGPUInfo/Makefile | 4 +
llvm_clang/block4/LLVMAMDGPUInfo/Makefile.sources | 7 +
llvm_clang/block4/LLVMAMDGPUUtils/Makefile | 4 +
llvm_clang/block4/LLVMAMDGPUUtils/Makefile.sources | 7 +
llvm_clang/block4/LLVMARMAsmParser/Makefile | 4 +
.../block4/LLVMARMAsmParser/Makefile.sources | 7 +
llvm_clang/block4/LLVMARMAsmPrinter/Makefile | 4 +
.../block4/LLVMARMAsmPrinter/Makefile.sources | 7 +
llvm_clang/block4/LLVMARMCodeGen/Makefile | 4 +
llvm_clang/block4/LLVMARMCodeGen/Makefile.sources | 36 ++
llvm_clang/block4/LLVMARMDesc/Makefile | 4 +
llvm_clang/block4/LLVMARMDesc/Makefile.sources | 20 +
llvm_clang/block4/LLVMARMDisassembler/Makefile | 4 +
.../block4/LLVMARMDisassembler/Makefile.sources | 7 +
llvm_clang/block4/LLVMARMInfo/Makefile | 4 +
llvm_clang/block4/LLVMARMInfo/Makefile.sources | 7 +
llvm_clang/block4/LLVMAnalysis/Makefile | 3 +
llvm_clang/block4/LLVMAnalysis/Makefile.sources | 78 +++
llvm_clang/block4/LLVMAsmParser/Makefile | 3 +
llvm_clang/block4/LLVMAsmParser/Makefile.sources | 11 +
llvm_clang/block4/LLVMAsmPrinter/Makefile | 3 +
llvm_clang/block4/LLVMAsmPrinter/Makefile.sources | 28 +
llvm_clang/block4/LLVMBitReader/Makefile | 3 +
llvm_clang/block4/LLVMBitReader/Makefile.sources | 11 +
llvm_clang/block4/LLVMBitWriter/Makefile | 3 +
llvm_clang/block4/LLVMBitWriter/Makefile.sources | 10 +
llvm_clang/block4/LLVMCodeGen/Makefile | 3 +
llvm_clang/block4/LLVMCodeGen/Makefile.sources | 137 +++++
llvm_clang/block4/LLVMCore/Makefile | 4 +
llvm_clang/block4/LLVMCore/Makefile.sources | 56 ++
llvm_clang/block4/LLVMCppBackendCodeGen/Makefile | 3 +
.../block4/LLVMCppBackendCodeGen/Makefile.sources | 7 +
llvm_clang/block4/LLVMCppBackendInfo/Makefile | 4 +
.../block4/LLVMCppBackendInfo/Makefile.sources | 7 +
llvm_clang/block4/LLVMIRReader/Makefile | 3 +
llvm_clang/block4/LLVMIRReader/Makefile.sources | 9 +
llvm_clang/block4/LLVMInstCombine/Makefile | 3 +
llvm_clang/block4/LLVMInstCombine/Makefile.sources | 22 +
llvm_clang/block4/LLVMInstrumentation/Makefile | 3 +
.../block4/LLVMInstrumentation/Makefile.sources | 19 +
llvm_clang/block4/LLVMLinker/Makefile | 3 +
llvm_clang/block4/LLVMLinker/Makefile.sources | 10 +
llvm_clang/block4/LLVMMC/Makefile | 3 +
llvm_clang/block4/LLVMMC/Makefile.sources | 58 ++
llvm_clang/block4/LLVMMCDisassembler/Makefile | 3 +
.../block4/LLVMMCDisassembler/Makefile.sources | 10 +
llvm_clang/block4/LLVMMCParser/Makefile | 3 +
llvm_clang/block4/LLVMMCParser/Makefile.sources | 17 +
llvm_clang/block4/LLVMMipsAsmParser/Makefile | 4 +
.../block4/LLVMMipsAsmParser/Makefile.sources | 7 +
llvm_clang/block4/LLVMMipsAsmPrinter/Makefile | 4 +
.../block4/LLVMMipsAsmPrinter/Makefile.sources | 7 +
llvm_clang/block4/LLVMMipsCodeGen/Makefile | 4 +
llvm_clang/block4/LLVMMipsCodeGen/Makefile.sources | 38 ++
llvm_clang/block4/LLVMMipsDesc/Makefile | 4 +
llvm_clang/block4/LLVMMipsDesc/Makefile.sources | 18 +
llvm_clang/block4/LLVMMipsDisassembler/Makefile | 4 +
.../block4/LLVMMipsDisassembler/Makefile.sources | 7 +
llvm_clang/block4/LLVMMipsInfo/Makefile | 4 +
llvm_clang/block4/LLVMMipsInfo/Makefile.sources | 7 +
llvm_clang/block4/LLVMObjCARCOpts/Makefile | 3 +
llvm_clang/block4/LLVMObjCARCOpts/Makefile.sources | 17 +
llvm_clang/block4/LLVMObject/Makefile | 3 +
llvm_clang/block4/LLVMObject/Makefile.sources | 26 +
llvm_clang/block4/LLVMOption/Makefile | 3 +
llvm_clang/block4/LLVMOption/Makefile.sources | 12 +
llvm_clang/block4/LLVMPowerPCAsmParser/Makefile | 4 +
.../block4/LLVMPowerPCAsmParser/Makefile.sources | 7 +
llvm_clang/block4/LLVMPowerPCAsmPrinter/Makefile | 4 +
.../block4/LLVMPowerPCAsmPrinter/Makefile.sources | 7 +
llvm_clang/block4/LLVMPowerPCCodeGen/Makefile | 4 +
.../block4/LLVMPowerPCCodeGen/Makefile.sources | 32 ++
llvm_clang/block4/LLVMPowerPCDesc/Makefile | 4 +
llvm_clang/block4/LLVMPowerPCDesc/Makefile.sources | 14 +
llvm_clang/block4/LLVMPowerPCDisassembler/Makefile | 4 +
.../LLVMPowerPCDisassembler/Makefile.sources | 7 +
llvm_clang/block4/LLVMPowerPCInfo/Makefile | 4 +
llvm_clang/block4/LLVMPowerPCInfo/Makefile.sources | 7 +
llvm_clang/block4/LLVMProfileData/Makefile | 3 +
llvm_clang/block4/LLVMProfileData/Makefile.sources | 17 +
llvm_clang/block4/LLVMScalarOpts/Makefile | 3 +
llvm_clang/block4/LLVMScalarOpts/Makefile.sources | 59 ++
llvm_clang/block4/LLVMSelectionDAG/Makefile | 3 +
.../block4/LLVMSelectionDAG/Makefile.sources | 30 +
llvm_clang/block4/LLVMTarget/Makefile | 3 +
llvm_clang/block4/LLVMTarget/Makefile.sources | 15 +
llvm_clang/block4/LLVMTransformUtils/Makefile | 3 +
.../block4/LLVMTransformUtils/Makefile.sources | 49 ++
llvm_clang/block4/LLVMVectorize/Makefile | 3 +
llvm_clang/block4/LLVMVectorize/Makefile.sources | 12 +
llvm_clang/block4/LLVMX86AsmParser/Makefile | 4 +
.../block4/LLVMX86AsmParser/Makefile.sources | 8 +
llvm_clang/block4/LLVMX86AsmPrinter/Makefile | 4 +
.../block4/LLVMX86AsmPrinter/Makefile.sources | 9 +
llvm_clang/block4/LLVMX86CodeGen/Makefile | 4 +
llvm_clang/block4/LLVMX86CodeGen/Makefile.sources | 29 +
llvm_clang/block4/LLVMX86Desc/Makefile | 4 +
llvm_clang/block4/LLVMX86Desc/Makefile.sources | 16 +
llvm_clang/block4/LLVMX86Disassembler/Makefile | 4 +
.../block4/LLVMX86Disassembler/Makefile.sources | 8 +
llvm_clang/block4/LLVMX86Info/Makefile | 4 +
llvm_clang/block4/LLVMX86Info/Makefile.sources | 7 +
llvm_clang/block4/LLVMX86Utils/Makefile | 3 +
llvm_clang/block4/LLVMX86Utils/Makefile.sources | 7 +
llvm_clang/block4/LLVMipo/Makefile | 3 +
llvm_clang/block4/LLVMipo/Makefile.sources | 37 ++
llvm_clang/block4/Makefile | 100 ++++
llvm_clang/block4/Makefile.inc | 41 ++
llvm_clang/block4/clangARCMigrate/Makefile | 4 +
llvm_clang/block4/clangARCMigrate/Makefile.sources | 26 +
llvm_clang/block4/clangAST/Makefile | 4 +
llvm_clang/block4/clangAST/Makefile.sources | 66 +++
llvm_clang/block4/clangAnalysis/Makefile | 4 +
llvm_clang/block4/clangAnalysis/Makefile.sources | 30 +
llvm_clang/block4/clangBasic/Makefile | 4 +
llvm_clang/block4/clangBasic/Makefile.sources | 32 ++
llvm_clang/block4/clangCodeGen/Makefile | 4 +
llvm_clang/block4/clangCodeGen/Makefile.sources | 53 ++
llvm_clang/block4/clangDriver/Makefile | 4 +
llvm_clang/block4/clangDriver/Makefile.sources | 22 +
llvm_clang/block4/clangEdit/Makefile | 4 +
llvm_clang/block4/clangEdit/Makefile.sources | 9 +
llvm_clang/block4/clangFrontend/Makefile | 5 +
llvm_clang/block4/clangFrontend/Makefile.sources | 39 ++
llvm_clang/block4/clangFrontendTool/Makefile | 4 +
.../block4/clangFrontendTool/Makefile.sources | 7 +
llvm_clang/block4/clangLex/Makefile | 4 +
llvm_clang/block4/clangLex/Makefile.sources | 28 +
llvm_clang/block4/clangParse/Makefile | 4 +
llvm_clang/block4/clangParse/Makefile.sources | 21 +
llvm_clang/block4/clangRewrite/Makefile | 4 +
llvm_clang/block4/clangRewrite/Makefile.sources | 11 +
llvm_clang/block4/clangRewriteFrontend/Makefile | 4 +
.../block4/clangRewriteFrontend/Makefile.sources | 14 +
llvm_clang/block4/clangSema/Makefile | 4 +
llvm_clang/block4/clangSema/Makefile.sources | 53 ++
llvm_clang/block4/clangSerialization/Makefile | 4 +
.../block4/clangSerialization/Makefile.sources | 19 +
.../block4/clangStaticAnalyzerCheckers/Makefile | 17 +
.../clangStaticAnalyzerCheckers/Makefile.sources | 78 +++
llvm_clang/block4/clangStaticAnalyzerCore/Makefile | 4 +
.../clangStaticAnalyzerCore/Makefile.sources | 47 ++
.../block4/clangStaticAnalyzerFrontend/Makefile | 4 +
.../clangStaticAnalyzerFrontend/Makefile.sources | 11 +
llvm_clang/block5/Makefile | 6 +
llvm_clang/block5/Makefile.inc | 29 +
llvm_clang/block5/clang/Makefile | 153 +++++
llvm_clang/block5/clang/clang.1 | 583 +++++++++++++++++++
llvm_clang/block5/include/Makefile | 9 +
llvm_clang/block5/include/Makefile.sources | 71 +++
tools/tools/llvm_generator/Makefile | 160 ++++++
tools/tools/llvm_generator/README | 34 ++
...h-tools_clang_lib_Frontend_InitHeaderSearch.cpp | 31 ++
tools/tools/llvm_generator/scrape_headers.awk | 38 ++
tools/tools/llvm_generator/scrape_library.awk | 94 ++++
tools/tools/llvm_generator/scrape_tablegen.awk | 42 ++
usr.bin/objformat/objformat.c | 14 +-
200 files changed, 4798 insertions(+), 3 deletions(-)

Upstream: gitweb.dragonflybsd.org


  • Share