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