diff options
70 files changed, 218 insertions, 18 deletions
diff --git a/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticFrontendKinds.td b/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticFrontendKinds.td index b7a8476..d12b5d6 100644 --- a/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticFrontendKinds.td +++ b/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticFrontendKinds.td @@ -60,6 +60,8 @@ def warn_fe_cc_log_diagnostics_failure : Warning< "unable to open CC_LOG_DIAGNOSTICS file: %0 (using stderr)">; def err_fe_no_pch_in_dir : Error< "no suitable precompiled header file found in directory '%0'">; +def err_fe_action_not_available : Error< + "action %0 not compiled in">; def warn_fe_serialized_diag_failure : Warning< "unable to open file %0 for serializing diagnostics (%1)">, diff --git a/contrib/llvm/tools/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp b/contrib/llvm/tools/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp index c7c55b0..60a264a 100644 --- a/contrib/llvm/tools/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp +++ b/contrib/llvm/tools/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp @@ -31,6 +31,7 @@ using namespace clang; static FrontendAction *CreateFrontendBaseAction(CompilerInstance &CI) { using namespace clang::frontend; + StringRef Action("unknown"); switch (CI.getFrontendOpts().ProgramAction) { case ASTDeclList: return new ASTDeclListAction(); @@ -42,12 +43,20 @@ static FrontendAction *CreateFrontendBaseAction(CompilerInstance &CI) { case DumpTokens: return new DumpTokensAction(); case EmitAssembly: return new EmitAssemblyAction(); case EmitBC: return new EmitBCAction(); +#ifdef CLANG_ENABLE_REWRITER case EmitHTML: return new HTMLPrintAction(); +#else + case EmitHTML: Action = "EmitHTML"; break; +#endif case EmitLLVM: return new EmitLLVMAction(); case EmitLLVMOnly: return new EmitLLVMOnlyAction(); case EmitCodeGenOnly: return new EmitCodeGenOnlyAction(); case EmitObj: return new EmitObjAction(); +#ifdef CLANG_ENABLE_REWRITER case FixIt: return new FixItAction(); +#else + case FixIt: Action = "FixIt"; break; +#endif case GenerateModule: return new GenerateModuleAction; case GeneratePCH: return new GeneratePCHAction; case GeneratePTH: return new GeneratePTHAction(); @@ -74,19 +83,46 @@ static FrontendAction *CreateFrontendBaseAction(CompilerInstance &CI) { case PrintDeclContext: return new DeclContextPrintAction(); case PrintPreamble: return new PrintPreambleAction(); case PrintPreprocessedInput: { - if (CI.getPreprocessorOutputOpts().RewriteIncludes) + if (CI.getPreprocessorOutputOpts().RewriteIncludes) { +#ifdef CLANG_ENABLE_REWRITER return new RewriteIncludesAction(); +#else + Action = "RewriteIncludesAction"; + break; +#endif + } return new PrintPreprocessedAction(); } +#ifdef CLANG_ENABLE_REWRITER case RewriteMacros: return new RewriteMacrosAction(); case RewriteObjC: return new RewriteObjCAction(); case RewriteTest: return new RewriteTestAction(); - case RunAnalysis: return new ento::AnalysisAction(); +#else + case RewriteMacros: Action = "RewriteMacros"; break; + case RewriteObjC: Action = "RewriteObjC"; break; + case RewriteTest: Action = "RewriteTest"; break; +#endif +#ifdef CLANG_ENABLE_ARCMT case MigrateSource: return new arcmt::MigrateSourceAction(); +#else + case MigrateSource: Action = "MigrateSource"; break; +#endif +#ifdef CLANG_ENABLE_STATIC_ANALYZER + case RunAnalysis: return new ento::AnalysisAction(); +#else + case RunAnalysis: Action = "RunAnalysis"; break; +#endif case RunPreprocessorOnly: return new PreprocessOnlyAction(); } + +#if !defined(CLANG_ENABLE_ARCMT) || !defined(CLANG_ENABLE_STATIC_ANALYZER) \ + || !defined(CLANG_ENABLE_REWRITER) + CI.getDiagnostics().Report(diag::err_fe_action_not_available) << Action; + return 0; +#else llvm_unreachable("Invalid program action!"); +#endif } static FrontendAction *CreateFrontendAction(CompilerInstance &CI) { @@ -97,10 +133,13 @@ static FrontendAction *CreateFrontendAction(CompilerInstance &CI) { const FrontendOptions &FEOpts = CI.getFrontendOpts(); +#ifdef CLANG_ENABLE_REWRITER if (FEOpts.FixAndRecompile) { Act = new FixItRecompile(Act); } +#endif +#ifdef CLANG_ENABLE_ARCMT // Potentially wrap the base FE action in an ARC Migrate Tool action. switch (FEOpts.ARCMTAction) { case FrontendOptions::ARCMT_None: @@ -124,6 +163,7 @@ static FrontendAction *CreateFrontendAction(CompilerInstance &CI) { FEOpts.ObjCMTAction & ~FrontendOptions::ObjCMT_Literals, FEOpts.ObjCMTAction & ~FrontendOptions::ObjCMT_Subscripting); } +#endif // If there are any AST files to merge, create a frontend action // adaptor to perform the merge. @@ -176,12 +216,14 @@ bool clang::ExecuteCompilerInvocation(CompilerInstance *Clang) { llvm::cl::ParseCommandLineOptions(NumArgs + 1, Args); } +#ifdef CLANG_ENABLE_STATIC_ANALYZER // Honor -analyzer-checker-help. // This should happen AFTER plugins have been loaded! if (Clang->getAnalyzerOpts()->ShowCheckerHelp) { ento::printCheckerHelp(llvm::outs(), Clang->getFrontendOpts().Plugins); return 0; } +#endif // If there were errors in processing arguments, don't do anything else. bool Success = false; diff --git a/lib/clang/Makefile b/lib/clang/Makefile index cfc1554..a77d241 100644 --- a/lib/clang/Makefile +++ b/lib/clang/Makefile @@ -3,8 +3,20 @@ .include <bsd.own.mk> .if !make(install) +.if !defined(EARLY_BUILD) && defined(MK_CLANG_FULL) && ${MK_CLANG_FULL} != "no" +_libclangstaticanalyzer= \ + libclangstaticanalyzercheckers \ + libclangstaticanalyzercore \ + libclangstaticanalyzerfrontend +_libclangarcmigrate= \ + libclangarcmigrate +_libclangrewriter= \ + libclangrewritecore \ + libclangrewritefrontend +.endif # !EARLY_BUILD && MK_CLANG_FULL + SUBDIR= libclanganalysis \ - libclangarcmigrate \ + ${_libclangarcmigrate} \ libclangast \ libclangbasic \ libclangcodegen \ @@ -14,13 +26,10 @@ SUBDIR= libclanganalysis \ libclangfrontendtool \ libclanglex \ libclangparse \ - libclangrewritecore \ - libclangrewritefrontend \ + ${_libclangrewriter} \ libclangsema \ libclangserialization \ - libclangstaticanalyzercheckers \ - libclangstaticanalyzercore \ - libclangstaticanalyzerfrontend \ + ${_libclangstaticanalyzer} \ \ libllvmanalysis \ libllvmarchive \ @@ -78,8 +87,8 @@ SUBDIR+=libllvmdebuginfo \ libllvmmcdisassembler \ libllvmmcjit \ libllvmruntimedyld -.endif -.endif +.endif # MK_CLANG_EXTRAS +.endif # !make(install) SUBDIR+= include diff --git a/lib/clang/clang.build.mk b/lib/clang/clang.build.mk index 298a2eb..0015e3d 100644 --- a/lib/clang/clang.build.mk +++ b/lib/clang/clang.build.mk @@ -8,6 +8,12 @@ CFLAGS+= -I${LLVM_SRCS}/include -I${CLANG_SRCS}/include \ -DLLVM_ON_UNIX -DLLVM_ON_FREEBSD \ -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS #-DNDEBUG +.if !defined(EARLY_BUILD) && defined(MK_CLANG_FULL) && ${MK_CLANG_FULL} != "no" +CFLAGS+= -DCLANG_ENABLE_ARCMT \ + -DCLANG_ENABLE_REWRITER \ + -DCLANG_ENABLE_STATIC_ANALYZER +.endif # !EARLY_BUILD && MK_CLANG_FULL + # LLVM is not strict aliasing safe as of 12/31/2011 CFLAGS+= -fno-strict-aliasing diff --git a/lib/clang/libclanganalysis/Makefile b/lib/clang/libclanganalysis/Makefile index 61c45be..76bf1e5 100644 --- a/lib/clang/libclanganalysis/Makefile +++ b/lib/clang/libclanganalysis/Makefile @@ -1,5 +1,7 @@ # $FreeBSD$ +.include <bsd.own.mk> + LIB= clanganalysis SRCDIR= tools/clang/lib/Analysis diff --git a/lib/clang/libclangarcmigrate/Makefile b/lib/clang/libclangarcmigrate/Makefile index 6544805..7597e9c 100644 --- a/lib/clang/libclangarcmigrate/Makefile +++ b/lib/clang/libclangarcmigrate/Makefile @@ -1,5 +1,7 @@ # $FreeBSD$ +.include <bsd.own.mk> + LIB= clangarcmigrate SRCDIR= tools/clang/lib/ARCMigrate diff --git a/lib/clang/libclangast/Makefile b/lib/clang/libclangast/Makefile index 0b851e6..0ddeb53 100644 --- a/lib/clang/libclangast/Makefile +++ b/lib/clang/libclangast/Makefile @@ -1,5 +1,7 @@ # $FreeBSD$ +.include <bsd.own.mk> + LIB= clangast SRCDIR= tools/clang/lib/AST diff --git a/lib/clang/libclangbasic/Makefile b/lib/clang/libclangbasic/Makefile index f0efd74..eec941a 100644 --- a/lib/clang/libclangbasic/Makefile +++ b/lib/clang/libclangbasic/Makefile @@ -1,5 +1,7 @@ # $FreeBSD$ +.include <bsd.own.mk> + LIB= clangbasic SRCDIR= tools/clang/lib/Basic diff --git a/lib/clang/libclangcodegen/Makefile b/lib/clang/libclangcodegen/Makefile index 5252e7c..7aefa7c 100644 --- a/lib/clang/libclangcodegen/Makefile +++ b/lib/clang/libclangcodegen/Makefile @@ -1,5 +1,7 @@ # $FreeBSD$ +.include <bsd.own.mk> + LIB= clangcodegen SRCDIR= tools/clang/lib/CodeGen diff --git a/lib/clang/libclangdriver/Makefile b/lib/clang/libclangdriver/Makefile index 4950cfa..aae2a05 100644 --- a/lib/clang/libclangdriver/Makefile +++ b/lib/clang/libclangdriver/Makefile @@ -1,5 +1,7 @@ # $FreeBSD$ +.include <bsd.own.mk> + LIB= clangdriver SRCDIR= tools/clang/lib/Driver diff --git a/lib/clang/libclangedit/Makefile b/lib/clang/libclangedit/Makefile index a0e45a9..59b0b54 100644 --- a/lib/clang/libclangedit/Makefile +++ b/lib/clang/libclangedit/Makefile @@ -1,5 +1,7 @@ # $FreeBSD$ +.include <bsd.own.mk> + LIB= clangedit SRCDIR= tools/clang/lib/Edit diff --git a/lib/clang/libclangfrontend/Makefile b/lib/clang/libclangfrontend/Makefile index c2813b4..44ba2fb 100644 --- a/lib/clang/libclangfrontend/Makefile +++ b/lib/clang/libclangfrontend/Makefile @@ -1,5 +1,7 @@ # $FreeBSD$ +.include <bsd.own.mk> + LIB= clangfrontend SRCDIR= tools/clang/lib/Frontend diff --git a/lib/clang/libclangfrontendtool/Makefile b/lib/clang/libclangfrontendtool/Makefile index f37979f..f20aa35 100644 --- a/lib/clang/libclangfrontendtool/Makefile +++ b/lib/clang/libclangfrontendtool/Makefile @@ -1,5 +1,7 @@ # $FreeBSD$ +.include <bsd.own.mk> + LIB= clangfrontendtool SRCDIR= tools/clang/lib/FrontendTool diff --git a/lib/clang/libclanglex/Makefile b/lib/clang/libclanglex/Makefile index 3ad0e3f..768d43c 100644 --- a/lib/clang/libclanglex/Makefile +++ b/lib/clang/libclanglex/Makefile @@ -1,5 +1,7 @@ # $FreeBSD$ +.include <bsd.own.mk> + LIB= clanglex SRCDIR= tools/clang/lib/Lex diff --git a/lib/clang/libclangparse/Makefile b/lib/clang/libclangparse/Makefile index 599a034..dbe9adb 100644 --- a/lib/clang/libclangparse/Makefile +++ b/lib/clang/libclangparse/Makefile @@ -1,5 +1,7 @@ # $FreeBSD$ +.include <bsd.own.mk> + LIB= clangparse SRCDIR= tools/clang/lib/Parse diff --git a/lib/clang/libclangrewritecore/Makefile b/lib/clang/libclangrewritecore/Makefile index 3a628d0..80115ee 100644 --- a/lib/clang/libclangrewritecore/Makefile +++ b/lib/clang/libclangrewritecore/Makefile @@ -1,5 +1,7 @@ # $FreeBSD$ +.include <bsd.own.mk> + LIB= clangrewritecore SRCDIR= tools/clang/lib/Rewrite/Core diff --git a/lib/clang/libclangrewritefrontend/Makefile b/lib/clang/libclangrewritefrontend/Makefile index 35de008..ffa11b4 100644 --- a/lib/clang/libclangrewritefrontend/Makefile +++ b/lib/clang/libclangrewritefrontend/Makefile @@ -1,5 +1,7 @@ # $FreeBSD$ +.include <bsd.own.mk> + LIB= clangrewritefrontend SRCDIR= tools/clang/lib/Rewrite/Frontend diff --git a/lib/clang/libclangsema/Makefile b/lib/clang/libclangsema/Makefile index 235fa13..9ced8b4 100644 --- a/lib/clang/libclangsema/Makefile +++ b/lib/clang/libclangsema/Makefile @@ -1,5 +1,7 @@ # $FreeBSD$ +.include <bsd.own.mk> + LIB= clangsema SRCDIR= tools/clang/lib/Sema diff --git a/lib/clang/libclangserialization/Makefile b/lib/clang/libclangserialization/Makefile index 75f68bf..962bbf0 100644 --- a/lib/clang/libclangserialization/Makefile +++ b/lib/clang/libclangserialization/Makefile @@ -1,5 +1,7 @@ # $FreeBSD$ +.include <bsd.own.mk> + LIB= clangserialization SRCDIR= tools/clang/lib/Serialization diff --git a/lib/clang/libclangstaticanalyzercheckers/Makefile b/lib/clang/libclangstaticanalyzercheckers/Makefile index 96274d9..9536151 100644 --- a/lib/clang/libclangstaticanalyzercheckers/Makefile +++ b/lib/clang/libclangstaticanalyzercheckers/Makefile @@ -1,5 +1,7 @@ # $FreeBSD$ +.include <bsd.own.mk> + LIB= clangstaticanalyzercheckers SRCDIR= tools/clang/lib/StaticAnalyzer/Checkers diff --git a/lib/clang/libclangstaticanalyzercore/Makefile b/lib/clang/libclangstaticanalyzercore/Makefile index 82ff5a3..9c263f0 100644 --- a/lib/clang/libclangstaticanalyzercore/Makefile +++ b/lib/clang/libclangstaticanalyzercore/Makefile @@ -1,5 +1,7 @@ # $FreeBSD$ +.include <bsd.own.mk> + LIB= clangstaticanalyzercore SRCDIR= tools/clang/lib/StaticAnalyzer/Core diff --git a/lib/clang/libclangstaticanalyzerfrontend/Makefile b/lib/clang/libclangstaticanalyzerfrontend/Makefile index 5c7cd41..9e19f92 100644 --- a/lib/clang/libclangstaticanalyzerfrontend/Makefile +++ b/lib/clang/libclangstaticanalyzerfrontend/Makefile @@ -1,5 +1,7 @@ # $FreeBSD$ +.include <bsd.own.mk> + LIB= clangstaticanalyzerfrontend SRCDIR= tools/clang/lib/StaticAnalyzer/Frontend diff --git a/lib/clang/libllvmarchive/Makefile b/lib/clang/libllvmarchive/Makefile index a28f2f5..d553405 100644 --- a/lib/clang/libllvmarchive/Makefile +++ b/lib/clang/libllvmarchive/Makefile @@ -1,5 +1,7 @@ # $FreeBSD$ +.include <bsd.own.mk> + LIB= llvmarchive SRCDIR= lib/Archive diff --git a/lib/clang/libllvmarmasmparser/Makefile b/lib/clang/libllvmarmasmparser/Makefile index c3d0d89..05e6263 100644 --- a/lib/clang/libllvmarmasmparser/Makefile +++ b/lib/clang/libllvmarmasmparser/Makefile @@ -1,5 +1,7 @@ # $FreeBSD$ +.include <bsd.own.mk> + LIB= llvmarmasmparser SRCDIR= lib/Target/ARM/AsmParser diff --git a/lib/clang/libllvmarmcodegen/Makefile b/lib/clang/libllvmarmcodegen/Makefile index 6ae9251..6a10eaf 100644 --- a/lib/clang/libllvmarmcodegen/Makefile +++ b/lib/clang/libllvmarmcodegen/Makefile @@ -1,5 +1,7 @@ # $FreeBSD$ +.include <bsd.own.mk> + LIB= llvmarmcodegen SRCDIR= lib/Target/ARM diff --git a/lib/clang/libllvmarmdesc/Makefile b/lib/clang/libllvmarmdesc/Makefile index bd2e0cb..61679a6 100644 --- a/lib/clang/libllvmarmdesc/Makefile +++ b/lib/clang/libllvmarmdesc/Makefile @@ -1,5 +1,7 @@ # $FreeBSD$ +.include <bsd.own.mk> + LIB= llvmarmdesc SRCDIR= lib/Target/ARM/MCTargetDesc diff --git a/lib/clang/libllvmarmdisassembler/Makefile b/lib/clang/libllvmarmdisassembler/Makefile index a3d16f7..eb46736 100644 --- a/lib/clang/libllvmarmdisassembler/Makefile +++ b/lib/clang/libllvmarmdisassembler/Makefile @@ -1,5 +1,7 @@ # $FreeBSD$ +.include <bsd.own.mk> + LIB= llvmarmdisassembler SRCDIR= lib/Target/ARM/Disassembler diff --git a/lib/clang/libllvmarminfo/Makefile b/lib/clang/libllvmarminfo/Makefile index ec88367..1da434c 100644 --- a/lib/clang/libllvmarminfo/Makefile +++ b/lib/clang/libllvmarminfo/Makefile @@ -1,5 +1,7 @@ # $FreeBSD$ +.include <bsd.own.mk> + LIB= llvmarminfo SRCDIR= lib/Target/ARM/TargetInfo diff --git a/lib/clang/libllvmarminstprinter/Makefile b/lib/clang/libllvmarminstprinter/Makefile index ca7e7d4..67b8fee 100644 --- a/lib/clang/libllvmarminstprinter/Makefile +++ b/lib/clang/libllvmarminstprinter/Makefile @@ -1,5 +1,7 @@ # $FreeBSD$ +.include <bsd.own.mk> + LIB= llvmarminstprinter SRCDIR= lib/Target/ARM/InstPrinter diff --git a/lib/clang/libllvmasmparser/Makefile b/lib/clang/libllvmasmparser/Makefile index 8ceba69..bb8f0df 100644 --- a/lib/clang/libllvmasmparser/Makefile +++ b/lib/clang/libllvmasmparser/Makefile @@ -1,5 +1,7 @@ # $FreeBSD$ +.include <bsd.own.mk> + LIB= llvmasmparser SRCDIR= lib/AsmParser diff --git a/lib/clang/libllvmasmprinter/Makefile b/lib/clang/libllvmasmprinter/Makefile index 36e626f..97bc73d3 100644 --- a/lib/clang/libllvmasmprinter/Makefile +++ b/lib/clang/libllvmasmprinter/Makefile @@ -1,5 +1,7 @@ # $FreeBSD$ +.include <bsd.own.mk> + LIB= llvmasmprinter SRCDIR= lib/CodeGen/AsmPrinter diff --git a/lib/clang/libllvmbitreader/Makefile b/lib/clang/libllvmbitreader/Makefile index c426680..094e0e7 100644 --- a/lib/clang/libllvmbitreader/Makefile +++ b/lib/clang/libllvmbitreader/Makefile @@ -1,5 +1,7 @@ # $FreeBSD$ +.include <bsd.own.mk> + LIB= llvmbitreader SRCDIR= lib/Bitcode/Reader diff --git a/lib/clang/libllvmbitwriter/Makefile b/lib/clang/libllvmbitwriter/Makefile index 3431b21..1cb9d41 100644 --- a/lib/clang/libllvmbitwriter/Makefile +++ b/lib/clang/libllvmbitwriter/Makefile @@ -1,5 +1,7 @@ # $FreeBSD$ +.include <bsd.own.mk> + LIB= llvmbitwriter SRCDIR= lib/Bitcode/Writer diff --git a/lib/clang/libllvmcodegen/Makefile b/lib/clang/libllvmcodegen/Makefile index 8beb583..e65d19c 100644 --- a/lib/clang/libllvmcodegen/Makefile +++ b/lib/clang/libllvmcodegen/Makefile @@ -1,5 +1,7 @@ # $FreeBSD$ +.include <bsd.own.mk> + LIB= llvmcodegen SRCDIR= lib/CodeGen diff --git a/lib/clang/libllvmcore/Makefile b/lib/clang/libllvmcore/Makefile index 5b597fe..d2010c0 100644 --- a/lib/clang/libllvmcore/Makefile +++ b/lib/clang/libllvmcore/Makefile @@ -1,5 +1,7 @@ # $FreeBSD$ +.include <bsd.own.mk> + LIB= llvmcore SRCDIR= lib/VMCore diff --git a/lib/clang/libllvmdebuginfo/Makefile b/lib/clang/libllvmdebuginfo/Makefile index e12289b..757b909 100644 --- a/lib/clang/libllvmdebuginfo/Makefile +++ b/lib/clang/libllvmdebuginfo/Makefile @@ -1,5 +1,7 @@ # $FreeBSD$ +.include <bsd.own.mk> + LIB= llvmdebuginfo SRCDIR= lib/DebugInfo diff --git a/lib/clang/libllvmexecutionengine/Makefile b/lib/clang/libllvmexecutionengine/Makefile index c0dde71..3ec39c7 100644 --- a/lib/clang/libllvmexecutionengine/Makefile +++ b/lib/clang/libllvmexecutionengine/Makefile @@ -1,5 +1,7 @@ # $FreeBSD$ +.include <bsd.own.mk> + LIB= llvmexecutionengine SRCDIR= lib/ExecutionEngine diff --git a/lib/clang/libllvminstcombine/Makefile b/lib/clang/libllvminstcombine/Makefile index e989fa5..3752aef 100644 --- a/lib/clang/libllvminstcombine/Makefile +++ b/lib/clang/libllvminstcombine/Makefile @@ -1,5 +1,7 @@ # $FreeBSD$ +.include <bsd.own.mk> + LIB= llvminstcombine SRCDIR= lib/Transforms/InstCombine diff --git a/lib/clang/libllvminstrumentation/Makefile b/lib/clang/libllvminstrumentation/Makefile index ef09370..6d666e5 100644 --- a/lib/clang/libllvminstrumentation/Makefile +++ b/lib/clang/libllvminstrumentation/Makefile @@ -1,5 +1,7 @@ # $FreeBSD$ +.include <bsd.own.mk> + LIB= llvminstrumentation SRCDIR= lib/Transforms/Instrumentation diff --git a/lib/clang/libllvminterpreter/Makefile b/lib/clang/libllvminterpreter/Makefile index 6a1b453..06fcca4 100644 --- a/lib/clang/libllvminterpreter/Makefile +++ b/lib/clang/libllvminterpreter/Makefile @@ -1,5 +1,7 @@ # $FreeBSD$ +.include <bsd.own.mk> + LIB= llvminterpreter SRCDIR= lib/ExecutionEngine/Interpreter diff --git a/lib/clang/libllvmjit/Makefile b/lib/clang/libllvmjit/Makefile index ff852d5..682f704 100644 --- a/lib/clang/libllvmjit/Makefile +++ b/lib/clang/libllvmjit/Makefile @@ -1,5 +1,7 @@ # $FreeBSD$ +.include <bsd.own.mk> + LIB= llvmjit SRCDIR= lib/ExecutionEngine/JIT diff --git a/lib/clang/libllvmlinker/Makefile b/lib/clang/libllvmlinker/Makefile index 73f153b..7275131 100644 --- a/lib/clang/libllvmlinker/Makefile +++ b/lib/clang/libllvmlinker/Makefile @@ -1,5 +1,7 @@ # $FreeBSD$ +.include <bsd.own.mk> + LIB= llvmlinker SRCDIR= lib/Linker diff --git a/lib/clang/libllvmmcdisassembler/Makefile b/lib/clang/libllvmmcdisassembler/Makefile index dc5f294..94aff3e 100644 --- a/lib/clang/libllvmmcdisassembler/Makefile +++ b/lib/clang/libllvmmcdisassembler/Makefile @@ -1,5 +1,7 @@ # $FreeBSD$ +.include <bsd.own.mk> + LIB= llvmmcdisassembler SRCDIR= lib/MC/MCDisassembler diff --git a/lib/clang/libllvmmcparser/Makefile b/lib/clang/libllvmmcparser/Makefile index 48deadf..b39926a 100644 --- a/lib/clang/libllvmmcparser/Makefile +++ b/lib/clang/libllvmmcparser/Makefile @@ -1,5 +1,7 @@ # $FreeBSD$ +.include <bsd.own.mk> + LIB= llvmmcparser SRCDIR= lib/MC/MCParser diff --git a/lib/clang/libllvmmipsasmparser/Makefile b/lib/clang/libllvmmipsasmparser/Makefile index f5fb3c3..0572f8d 100644 --- a/lib/clang/libllvmmipsasmparser/Makefile +++ b/lib/clang/libllvmmipsasmparser/Makefile @@ -1,5 +1,7 @@ # $FreeBSD$ +.include <bsd.own.mk> + LIB= llvmmipsasmparser SRCDIR= lib/Target/Mips/AsmParser diff --git a/lib/clang/libllvmmipscodegen/Makefile b/lib/clang/libllvmmipscodegen/Makefile index c33d954..7675a01 100644 --- a/lib/clang/libllvmmipscodegen/Makefile +++ b/lib/clang/libllvmmipscodegen/Makefile @@ -1,5 +1,7 @@ # $FreeBSD$ +.include <bsd.own.mk> + LIB= llvmmipscodegen SRCDIR= lib/Target/Mips diff --git a/lib/clang/libllvmmipsdesc/Makefile b/lib/clang/libllvmmipsdesc/Makefile index 120b866..4ddb646 100644 --- a/lib/clang/libllvmmipsdesc/Makefile +++ b/lib/clang/libllvmmipsdesc/Makefile @@ -1,5 +1,7 @@ # $FreeBSD$ +.include <bsd.own.mk> + LIB= llvmmipsdesc SRCDIR= lib/Target/Mips/MCTargetDesc diff --git a/lib/clang/libllvmmipsdisassembler/Makefile b/lib/clang/libllvmmipsdisassembler/Makefile index 7cdd982..1c0a4b6 100644 --- a/lib/clang/libllvmmipsdisassembler/Makefile +++ b/lib/clang/libllvmmipsdisassembler/Makefile @@ -1,5 +1,7 @@ # $FreeBSD$ +.include <bsd.own.mk> + LIB= llvmmipsdisassembler SRCDIR= lib/Target/Mips/Disassembler diff --git a/lib/clang/libllvmmipsinfo/Makefile b/lib/clang/libllvmmipsinfo/Makefile index c5b96cd..c65c8c8 100644 --- a/lib/clang/libllvmmipsinfo/Makefile +++ b/lib/clang/libllvmmipsinfo/Makefile @@ -1,5 +1,7 @@ # $FreeBSD$ +.include <bsd.own.mk> + LIB= llvmmipsinfo SRCDIR= lib/Target/Mips/TargetInfo diff --git a/lib/clang/libllvmmipsinstprinter/Makefile b/lib/clang/libllvmmipsinstprinter/Makefile index 36d3b04..39df7cc 100644 --- a/lib/clang/libllvmmipsinstprinter/Makefile +++ b/lib/clang/libllvmmipsinstprinter/Makefile @@ -1,5 +1,7 @@ # $FreeBSD$ +.include <bsd.own.mk> + LIB= llvmmipsinstprinter SRCDIR= lib/Target/Mips/InstPrinter diff --git a/lib/clang/libllvmobject/Makefile b/lib/clang/libllvmobject/Makefile index d056dc7..c8c8068 100644 --- a/lib/clang/libllvmobject/Makefile +++ b/lib/clang/libllvmobject/Makefile @@ -1,5 +1,7 @@ # $FreeBSD$ +.include <bsd.own.mk> + LIB= llvmobject SRCDIR= lib/Object diff --git a/lib/clang/libllvmpowerpccodegen/Makefile b/lib/clang/libllvmpowerpccodegen/Makefile index a97c352..a09da59 100644 --- a/lib/clang/libllvmpowerpccodegen/Makefile +++ b/lib/clang/libllvmpowerpccodegen/Makefile @@ -1,5 +1,7 @@ # $FreeBSD$ +.include <bsd.own.mk> + LIB= llvmpowerpccodegen SRCDIR= lib/Target/PowerPC diff --git a/lib/clang/libllvmpowerpcdesc/Makefile b/lib/clang/libllvmpowerpcdesc/Makefile index 2a5ef6e..e48b484 100644 --- a/lib/clang/libllvmpowerpcdesc/Makefile +++ b/lib/clang/libllvmpowerpcdesc/Makefile @@ -1,5 +1,7 @@ # $FreeBSD$ +.include <bsd.own.mk> + LIB= llvmpowerpcdesc SRCDIR= lib/Target/PowerPC/MCTargetDesc diff --git a/lib/clang/libllvmpowerpcinfo/Makefile b/lib/clang/libllvmpowerpcinfo/Makefile index 8310378..03bba0e 100644 --- a/lib/clang/libllvmpowerpcinfo/Makefile +++ b/lib/clang/libllvmpowerpcinfo/Makefile @@ -1,5 +1,7 @@ # $FreeBSD$ +.include <bsd.own.mk> + LIB= llvmpowerpcinfo SRCDIR= lib/Target/PowerPC/TargetInfo diff --git a/lib/clang/libllvmpowerpcinstprinter/Makefile b/lib/clang/libllvmpowerpcinstprinter/Makefile index c1528ae..ac98321 100644 --- a/lib/clang/libllvmpowerpcinstprinter/Makefile +++ b/lib/clang/libllvmpowerpcinstprinter/Makefile @@ -1,5 +1,7 @@ # $FreeBSD$ +.include <bsd.own.mk> + LIB= llvmpowerpcinstprinter SRCDIR= lib/Target/PowerPC/InstPrinter diff --git a/lib/clang/libllvmruntimedyld/Makefile b/lib/clang/libllvmruntimedyld/Makefile index d5d5447..02ca4bd 100644 --- a/lib/clang/libllvmruntimedyld/Makefile +++ b/lib/clang/libllvmruntimedyld/Makefile @@ -1,5 +1,7 @@ # $FreeBSD$ +.include <bsd.own.mk> + LIB= llvmruntimedyld SRCDIR= lib/ExecutionEngine/RuntimeDyld diff --git a/lib/clang/libllvmselectiondag/Makefile b/lib/clang/libllvmselectiondag/Makefile index e6950127..7543102 100644 --- a/lib/clang/libllvmselectiondag/Makefile +++ b/lib/clang/libllvmselectiondag/Makefile @@ -1,5 +1,7 @@ # $FreeBSD$ +.include <bsd.own.mk> + LIB= llvmselectiondag SRCDIR= lib/CodeGen/SelectionDAG diff --git a/lib/clang/libllvmtablegen/Makefile b/lib/clang/libllvmtablegen/Makefile index 8dffad0..069cec0 100644 --- a/lib/clang/libllvmtablegen/Makefile +++ b/lib/clang/libllvmtablegen/Makefile @@ -1,5 +1,7 @@ # $FreeBSD$ +.include <bsd.own.mk> + LIB= llvmtablegen SRCDIR= lib/TableGen diff --git a/lib/clang/libllvmtarget/Makefile b/lib/clang/libllvmtarget/Makefile index b82377e..595d2cc 100644 --- a/lib/clang/libllvmtarget/Makefile +++ b/lib/clang/libllvmtarget/Makefile @@ -1,5 +1,7 @@ # $FreeBSD$ +.include <bsd.own.mk> + LIB= llvmtarget SRCDIR= lib/Target diff --git a/lib/clang/libllvmvectorize/Makefile b/lib/clang/libllvmvectorize/Makefile index 444d672..d0f5b73 100644 --- a/lib/clang/libllvmvectorize/Makefile +++ b/lib/clang/libllvmvectorize/Makefile @@ -1,5 +1,7 @@ # $FreeBSD$ +.include <bsd.own.mk> + LIB= llvmvectorize SRCDIR= lib/Transforms/Vectorize diff --git a/lib/clang/libllvmx86asmparser/Makefile b/lib/clang/libllvmx86asmparser/Makefile index c140268..252b2d0 100644 --- a/lib/clang/libllvmx86asmparser/Makefile +++ b/lib/clang/libllvmx86asmparser/Makefile @@ -1,5 +1,7 @@ # $FreeBSD$ +.include <bsd.own.mk> + LIB= llvmx86asmparser SRCDIR= lib/Target/X86/AsmParser diff --git a/lib/clang/libllvmx86codegen/Makefile b/lib/clang/libllvmx86codegen/Makefile index bcc7aa0..939b257 100644 --- a/lib/clang/libllvmx86codegen/Makefile +++ b/lib/clang/libllvmx86codegen/Makefile @@ -1,5 +1,7 @@ # $FreeBSD$ +.include <bsd.own.mk> + LIB= llvmx86codegen SRCDIR= lib/Target/X86 diff --git a/lib/clang/libllvmx86desc/Makefile b/lib/clang/libllvmx86desc/Makefile index 3d2a9dd..a177129 100644 --- a/lib/clang/libllvmx86desc/Makefile +++ b/lib/clang/libllvmx86desc/Makefile @@ -1,5 +1,7 @@ # $FreeBSD$ +.include <bsd.own.mk> + LIB= llvmx86desc SRCDIR= lib/Target/X86/MCTargetDesc diff --git a/lib/clang/libllvmx86info/Makefile b/lib/clang/libllvmx86info/Makefile index 85155a8..bc1a7d7 100644 --- a/lib/clang/libllvmx86info/Makefile +++ b/lib/clang/libllvmx86info/Makefile @@ -1,5 +1,7 @@ # $FreeBSD$ +.include <bsd.own.mk> + LIB= llvmx86info SRCDIR= lib/Target/X86/TargetInfo diff --git a/lib/clang/libllvmx86instprinter/Makefile b/lib/clang/libllvmx86instprinter/Makefile index a44006c..308f91c 100644 --- a/lib/clang/libllvmx86instprinter/Makefile +++ b/lib/clang/libllvmx86instprinter/Makefile @@ -1,5 +1,7 @@ # $FreeBSD$ +.include <bsd.own.mk> + LIB= llvmx86instprinter SRCDIR= lib/Target/X86/InstPrinter diff --git a/lib/clang/libllvmx86utils/Makefile b/lib/clang/libllvmx86utils/Makefile index bbed6b0..8355e7e 100644 --- a/lib/clang/libllvmx86utils/Makefile +++ b/lib/clang/libllvmx86utils/Makefile @@ -1,5 +1,7 @@ # $FreeBSD$ +.include <bsd.own.mk> + LIB= llvmx86utils SRCDIR= lib/Target/X86/Utils diff --git a/share/mk/bsd.own.mk b/share/mk/bsd.own.mk index 8b28602..aea33d3 100644 --- a/share/mk/bsd.own.mk +++ b/share/mk/bsd.own.mk @@ -391,9 +391,9 @@ __T=${MACHINE_ARCH} .endif # Clang is only for x86 and powerpc right now, by default. .if ${__T} == "amd64" || ${__T} == "i386" || ${__T:Mpowerpc*} -__DEFAULT_YES_OPTIONS+=CLANG +__DEFAULT_YES_OPTIONS+=CLANG CLANG_FULL .else -__DEFAULT_NO_OPTIONS+=CLANG +__DEFAULT_NO_OPTIONS+=CLANG CLANG_FULL .endif # Clang the default system compiler only on x86. .if ${__T} == "amd64" || ${__T} == "i386" @@ -524,6 +524,7 @@ MK_GDB:= no .if ${MK_CLANG} == "no" MK_CLANG_EXTRAS:= no +MK_CLANG_FULL:= no MK_CLANG_IS_CC:= no .endif diff --git a/tools/build/options/WITHOUT_CLANG_FULL b/tools/build/options/WITHOUT_CLANG_FULL new file mode 100644 index 0000000..418b7d6 --- /dev/null +++ b/tools/build/options/WITHOUT_CLANG_FULL @@ -0,0 +1,3 @@ +.\" $FreeBSD$ +Set to avoid building the ARCMigrate, Rewriter and StaticAnalyzer components of +the Clang C/C++ compiler. diff --git a/tools/build/options/WITH_CLANG_FULL b/tools/build/options/WITH_CLANG_FULL new file mode 100644 index 0000000..59b4dec --- /dev/null +++ b/tools/build/options/WITH_CLANG_FULL @@ -0,0 +1,3 @@ +.\" $FreeBSD$ +Set to build the ARCMigrate, Rewriter and StaticAnalyzer components of the +Clang C/C++ compiler. diff --git a/usr.bin/clang/clang/Makefile b/usr.bin/clang/clang/Makefile index 6fa9b80..18a768b 100644 --- a/usr.bin/clang/clang/Makefile +++ b/usr.bin/clang/clang/Makefile @@ -35,6 +35,19 @@ TGHDRS= CC1AsOptions \ DiagnosticLexKinds \ DiagnosticSemaKinds \ Options + +.if !defined(EARLY_BUILD) && defined(MK_CLANG_FULL) && ${MK_CLANG_FULL} != "no" +_clangstaticanalyzer= \ + clangstaticanalyzerfrontend \ + clangstaticanalyzercheckers \ + clangstaticanalyzercore +_clangarcmigrate= \ + clangarcmigrate +_clangrewriter= \ + clangrewritefrontend \ + clangrewritecore +.endif # !EARLY_BUILD && MK_CLANG_FULL + LIBDEPS=clangfrontendtool \ clangfrontend \ clangdriver \ @@ -42,13 +55,10 @@ LIBDEPS=clangfrontendtool \ clangcodegen \ clangparse \ clangsema \ - clangstaticanalyzerfrontend \ - clangstaticanalyzercheckers \ - clangstaticanalyzercore \ + ${_clangstaticanalyzer} \ clanganalysis \ - clangarcmigrate \ - clangrewritefrontend \ - clangrewritecore \ + ${_clangarcmigrate} \ + ${_clangrewriter} \ clangedit \ clangast \ clanglex \ |