<div dir="ltr"><div>I just did a fresh build with `cmake -GNinja ../llvm-rw/ -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_ASSERTIONS=ON`. `ninja check-clang` failed with:</div><div><br></div><div>FAILED: lib/libclang.so.4.0 </div><div>: && /usr/bin/c++  -fPIC -fPIC -fvisibility-inlines-hidden -Wall -W -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wno-maybe-uninitialized -Wdelete-non-virtual-dtor -Wno-comment -std=c++11 -ffunction-sections -fdata-sections -fno-common -Woverloaded-virtual -fno-strict-aliasing -O3  -Wl,-z,defs   -Wl,-rpath-link,/usr/local/google/home/thakis/src/llvm-build/./lib  -Wl,-O3 -Wl,--gc-sections  -Wl,--version-script,/usr/local/google/home/thakis/src/llvm-build/tools/clang/tools/libclang/libclang.exports -shared -Wl,-soname,libclang.so.40 -o lib/libclang.so.4.0 tools/clang/tools/libclang/CMakeFiles/libclang.dir/ARCMigrate.cpp.o tools/clang/tools/libclang/CMakeFiles/libclang.dir/BuildSystem.cpp.o tools/clang/tools/libclang/CMakeFiles/libclang.dir/CIndex.cpp.o tools/clang/tools/libclang/CMakeFiles/libclang.dir/CIndexCXX.cpp.o tools/clang/tools/libclang/CMakeFiles/libclang.dir/CIndexCodeCompletion.cpp.o tools/clang/tools/libclang/CMakeFiles/libclang.dir/CIndexDiagnostic.cpp.o tools/clang/tools/libclang/CMakeFiles/libclang.dir/CIndexHigh.cpp.o tools/clang/tools/libclang/CMakeFiles/libclang.dir/CIndexInclusionStack.cpp.o tools/clang/tools/libclang/CMakeFiles/libclang.dir/CIndexUSRs.cpp.o tools/clang/tools/libclang/CMakeFiles/libclang.dir/CIndexer.cpp.o tools/clang/tools/libclang/CMakeFiles/libclang.dir/CXComment.cpp.o tools/clang/tools/libclang/CMakeFiles/libclang.dir/CXCursor.cpp.o tools/clang/tools/libclang/CMakeFiles/libclang.dir/CXIndexDataConsumer.cpp.o tools/clang/tools/libclang/CMakeFiles/libclang.dir/CXCompilationDatabase.cpp.o tools/clang/tools/libclang/CMakeFiles/libclang.dir/CXLoadedDiagnostic.cpp.o tools/clang/tools/libclang/CMakeFiles/libclang.dir/CXSourceLocation.cpp.o tools/clang/tools/libclang/CMakeFiles/libclang.dir/CXStoredDiagnostic.cpp.o tools/clang/tools/libclang/CMakeFiles/libclang.dir/CXString.cpp.o tools/clang/tools/libclang/CMakeFiles/libclang.dir/CXType.cpp.o tools/clang/tools/libclang/CMakeFiles/libclang.dir/Indexing.cpp.o  lib/libclangAST.a lib/libclangBasic.a lib/libclangFrontend.a lib/libclangIndex.a lib/libclangLex.a lib/libclangSema.a lib/libclangTooling.a lib/libclangARCMigrate.a lib/libclangTidyPlugin.a -lclangIncludeFixerPlugin -ldl lib/libLLVMAArch64CodeGen.a lib/libLLVMAArch64AsmPrinter.a lib/libLLVMAArch64AsmParser.a lib/libLLVMAArch64Desc.a lib/libLLVMAArch64Info.a lib/libLLVMAArch64Disassembler.a lib/libLLVMAMDGPUCodeGen.a lib/libLLVMAMDGPUAsmPrinter.a lib/libLLVMAMDGPUAsmParser.a lib/libLLVMAMDGPUDesc.a lib/libLLVMAMDGPUInfo.a lib/libLLVMAMDGPUDisassembler.a lib/libLLVMARMCodeGen.a lib/libLLVMARMAsmPrinter.a lib/libLLVMARMAsmParser.a lib/libLLVMARMDesc.a lib/libLLVMARMInfo.a lib/libLLVMARMDisassembler.a lib/libLLVMBPFCodeGen.a lib/libLLVMBPFAsmPrinter.a lib/libLLVMBPFDesc.a lib/libLLVMBPFInfo.a lib/libLLVMBPFDisassembler.a lib/libLLVMHexagonCodeGen.a lib/libLLVMHexagonAsmParser.a lib/libLLVMHexagonDesc.a lib/libLLVMHexagonInfo.a lib/libLLVMHexagonDisassembler.a lib/libLLVMLanaiCodeGen.a lib/libLLVMLanaiAsmParser.a lib/libLLVMLanaiDesc.a lib/libLLVMLanaiInfo.a lib/libLLVMLanaiDisassembler.a lib/libLLVMMipsCodeGen.a lib/libLLVMMipsAsmPrinter.a lib/libLLVMMipsAsmParser.a lib/libLLVMMipsDesc.a lib/libLLVMMipsInfo.a lib/libLLVMMipsDisassembler.a lib/libLLVMMSP430CodeGen.a lib/libLLVMMSP430AsmPrinter.a lib/libLLVMMSP430Desc.a lib/libLLVMMSP430Info.a lib/libLLVMNVPTXCodeGen.a lib/libLLVMNVPTXAsmPrinter.a lib/libLLVMNVPTXDesc.a lib/libLLVMNVPTXInfo.a lib/libLLVMPowerPCCodeGen.a lib/libLLVMPowerPCAsmPrinter.a lib/libLLVMPowerPCAsmParser.a lib/libLLVMPowerPCDesc.a lib/libLLVMPowerPCInfo.a lib/libLLVMPowerPCDisassembler.a lib/libLLVMRISCVCodeGen.a lib/libLLVMRISCVDesc.a lib/libLLVMRISCVInfo.a lib/libLLVMSparcCodeGen.a lib/libLLVMSparcAsmPrinter.a lib/libLLVMSparcAsmParser.a lib/libLLVMSparcDesc.a lib/libLLVMSparcInfo.a lib/libLLVMSparcDisassembler.a lib/libLLVMSystemZCodeGen.a lib/libLLVMSystemZAsmPrinter.a lib/libLLVMSystemZAsmParser.a lib/libLLVMSystemZDesc.a lib/libLLVMSystemZInfo.a lib/libLLVMSystemZDisassembler.a lib/libLLVMX86CodeGen.a lib/libLLVMX86AsmPrinter.a lib/libLLVMX86AsmParser.a lib/libLLVMX86Desc.a lib/libLLVMX86Info.a lib/libLLVMX86Disassembler.a lib/libLLVMXCoreCodeGen.a lib/libLLVMXCoreAsmPrinter.a lib/libLLVMXCoreDesc.a lib/libLLVMXCoreInfo.a lib/libLLVMXCoreDisassembler.a lib/libLLVMCore.a lib/libLLVMSupport.a lib/libclangTidyBoostModule.a lib/libclangTidyCERTModule.a lib/libclangTidyCppCoreGuidelinesModule.a lib/libclangTidyGoogleModule.a lib/libclangTidyLLVMModule.a lib/libclangTidyMiscModule.a lib/libclangTidyModernizeModule.a lib/libclangTidyMPIModule.a lib/libclangTidyPerformanceModule.a lib/libclangTidyReadabilityModule.a lib/libclangTidyUtils.a lib/libclangTidy.a lib/libclangTooling.a lib/libclangFormat.a lib/libclangToolingCore.a lib/libclangStaticAnalyzerFrontend.a lib/libclangFrontend.a lib/libclangDriver.a lib/libclangParse.a lib/libclangSerialization.a lib/libclangSema.a lib/libclangEdit.a lib/libLLVMOption.a lib/libclangStaticAnalyzerCheckers.a lib/libclangASTMatchers.a lib/libclangStaticAnalyzerCore.a lib/libclangRewrite.a lib/libclangAnalysis.a lib/libclangAST.a lib/libclangLex.a lib/libclangBasic.a lib/libLLVMAArch64Desc.a lib/libLLVMAArch64AsmPrinter.a lib/libLLVMAArch64Info.a lib/libLLVMAArch64Utils.a lib/libLLVMipo.a lib/libLLVMIRReader.a lib/libLLVMAsmParser.a lib/libLLVMLinker.a lib/libLLVMAMDGPUDesc.a lib/libLLVMAMDGPUAsmPrinter.a lib/libLLVMAMDGPUInfo.a lib/libLLVMAMDGPUUtils.a lib/libLLVMARMDesc.a lib/libLLVMARMAsmPrinter.a lib/libLLVMARMInfo.a lib/libLLVMBPFAsmPrinter.a lib/libLLVMBPFInfo.a lib/libLLVMHexagonDesc.a lib/libLLVMHexagonInfo.a lib/libLLVMLanaiDesc.a lib/libLLVMLanaiInstPrinter.a lib/libLLVMLanaiInfo.a lib/libLLVMMipsAsmPrinter.a lib/libLLVMMipsInfo.a lib/libLLVMMSP430AsmPrinter.a lib/libLLVMNVPTXAsmPrinter.a lib/libLLVMVectorize.a lib/libLLVMPowerPCAsmPrinter.a lib/libLLVMPowerPCInfo.a lib/libLLVMSparcAsmPrinter.a lib/libLLVMSparcInfo.a lib/libLLVMSystemZDesc.a lib/libLLVMSystemZAsmPrinter.a lib/libLLVMSystemZInfo.a lib/libLLVMGlobalISel.a lib/libLLVMX86AsmPrinter.a lib/libLLVMX86Utils.a lib/libLLVMX86Info.a lib/libLLVMXCoreAsmPrinter.a lib/libLLVMAsmPrinter.a lib/libLLVMDebugInfoCodeView.a lib/libLLVMDebugInfoMSF.a lib/libLLVMSelectionDAG.a lib/libLLVMCodeGen.a lib/libLLVMScalarOpts.a lib/libLLVMInstCombine.a lib/libLLVMBitWriter.a lib/libLLVMInstrumentation.a lib/libLLVMTarget.a lib/libLLVMTransformUtils.a lib/libLLVMAnalysis.a lib/libLLVMProfileData.a lib/libLLVMObject.a lib/libLLVMBitReader.a lib/libLLVMCore.a lib/libLLVMMCParser.a lib/libLLVMXCoreInfo.a lib/libLLVMMCDisassembler.a lib/libLLVMMC.a lib/libLLVMSupport.a -lrt -ldl -ltinfo -lpthread -lz -lm lib/libLLVMDemangle.a -Wl,-rpath,"\$ORIGIN/../lib" && :</div><div>/usr/bin/ld: cannot find -lclangIncludeFixerPlugin</div><div>collect2: error: ld returned 1 exit status</div><div><br></div><div>I guess libclang.so target is missing a dependency on clangIncludeFixerPlugin?</div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Nov 17, 2016 at 10:22 AM, Benjamin Kramer via cfe-commits <span dir="ltr"><<a href="mailto:cfe-commits@lists.llvm.org" target="_blank">cfe-commits@lists.llvm.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Author: d0k<br>
Date: Thu Nov 17 09:22:36 2016<br>
New Revision: 287229<br>
<br>
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=287229&view=rev" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project?rev=287229&view=rev</a><br>
Log:<br>
Link include-fixer into libclang if clang-tools-extra is checked out.<br>
<br>
include-fixer only slightly bloats the size of libclang, but since<br>
libclang has no explicit plugin mechanism it's the only way of getting<br>
this to work. Clang-tidy is already there and so far there weren't many<br>
complaints ;)<br>
<br>
This is designed to be easy to remove again if libclang ever grows<br>
proper plugin support.<br>
<br>
Modified:<br>
    cfe/trunk/tools/libclang/<wbr>CIndex.cpp<br>
    cfe/trunk/tools/libclang/<wbr>CMakeLists.txt<br>
<br>
Modified: cfe/trunk/tools/libclang/<wbr>CIndex.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/tools/libclang/CIndex.cpp?rev=287229&r1=287228&r2=287229&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/cfe/trunk/tools/<wbr>libclang/CIndex.cpp?rev=<wbr>287229&r1=287228&r2=287229&<wbr>view=diff</a><br>
==============================<wbr>==============================<wbr>==================<br>
--- cfe/trunk/tools/libclang/<wbr>CIndex.cpp (original)<br>
+++ cfe/trunk/tools/libclang/<wbr>CIndex.cpp Thu Nov 17 09:22:36 2016<br>
@@ -8120,4 +8120,10 @@ cxindex::Logger::~Logger() {<br>
 extern volatile int ClangTidyPluginAnchorSource;<br>
 static int LLVM_ATTRIBUTE_UNUSED ClangTidyPluginAnchorDestinati<wbr>on =<br>
     ClangTidyPluginAnchorSource;<br>
+<br>
+// This anchor is used to force the linker to link the clang-include-fixer<br>
+// plugin.<br>
+extern volatile int ClangIncludeFixerPluginAnchorS<wbr>ource;<br>
+static int LLVM_ATTRIBUTE_UNUSED ClangIncludeFixerPluginAnchorD<wbr>estination =<br>
+    ClangIncludeFixerPluginAnchorS<wbr>ource;<br>
 #endif<br>
<br>
Modified: cfe/trunk/tools/libclang/<wbr>CMakeLists.txt<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/tools/libclang/CMakeLists.txt?rev=287229&r1=287228&r2=287229&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/cfe/trunk/tools/<wbr>libclang/CMakeLists.txt?rev=<wbr>287229&r1=287228&r2=287229&<wbr>view=diff</a><br>
==============================<wbr>==============================<wbr>==================<br>
--- cfe/trunk/tools/libclang/<wbr>CMakeLists.txt (original)<br>
+++ cfe/trunk/tools/libclang/<wbr>CMakeLists.txt Thu Nov 17 09:22:36 2016<br>
@@ -50,6 +50,7 @@ endif ()<br>
 if (TARGET clangTidyPlugin)<br>
   add_definitions(-DCLANG_TOOL_<wbr>EXTRA_BUILD)<br>
   list(APPEND LIBS clangTidyPlugin)<br>
+  list(APPEND LIBS clangIncludeFixerPlugin)<br>
 endif ()<br>
<br>
 find_library(DL_LIBRARY_PATH dl)<br>
<br>
<br>
______________________________<wbr>_________________<br>
cfe-commits mailing list<br>
<a href="mailto:cfe-commits@lists.llvm.org">cfe-commits@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/<wbr>mailman/listinfo/cfe-commits</a><br>
</blockquote></div><br></div>