[PATCH] [CMake] Introduce libLLVM.so as LLVM_ENABLE_SHARED
Tom Stellard
tom at stellard.net
Tue Mar 4 09:17:41 PST 2014
Hi,
I have a few questions about this patch:
1. Will libLLVM.so be replacing the all the individual component shared libraries
which are currently being built (e.g. libCodeGen.so) ?
2. Will -lLLVM be added to llvm-config --ldflags ?
Thanks,
Tom
On Tue, Mar 04, 2014 at 09:06:53AM -0800, NAKAMURA Takumi wrote:
> Hi chandlerc,
>
> Note, this includes; http://llvm-reviews.chandlerc.com/D2941
>
> **Why using OBJLIB?**
> - --whole-archive is available only for GNU ld. Rather, I chose linking whole OBJLIBs.
> - No need to create *.a(s). Archive files may be created in parallel.
>
> **Why introducing DEPENDS instead of add_dependencies?**
> - add_dependencies(target) works only for the target. Implicitly generated obj.LLVM*** are required to add deps to generated files.
>
> **Why llvm-tblgen and clang-tblgen are tweaked?**
> - They should be built out of LINK_COMPONENTS with -static.
>
> **Why LLVM_ENABLE_SHARED turns off LLVM_DEAD_STRIP?**
> - I think -ffunction-sections would not make sense for the big libLLVM.so.
>
> **TODO**
> - libLLVM-3.5.so may have VERSION.
> - Consider c-index-test with libclang. With this, it requires "libclang.so libLLVM.so" in its command line to link it.
> If we could use -rpath-link, it might be simply "libclang.so" w/o libLLVM.so.
> - Introduce Clang's big shared libraries.
> - Introduce LLVM.dll for cygming.
> - Introduce LLVM.dll for whole win32. (It would require dllexport/dllimport in public headers)
>
> http://llvm-reviews.chandlerc.com/D2942
>
> Files:
> clang/tools/driver/CMakeLists.txt
> clang/utils/TableGen/CMakeLists.txt
> llvm/CMakeLists.txt
> llvm/cmake/modules/AddLLVM.cmake
> llvm/cmake/modules/HandleLLVMOptions.cmake
> llvm/cmake/modules/TableGen.cmake
> llvm/lib/Analysis/CMakeLists.txt
> llvm/lib/Analysis/IPA/CMakeLists.txt
> llvm/lib/Bitcode/Reader/CMakeLists.txt
> llvm/lib/CodeGen/AsmPrinter/CMakeLists.txt
> llvm/lib/CodeGen/CMakeLists.txt
> llvm/lib/CodeGen/SelectionDAG/CMakeLists.txt
> llvm/lib/ExecutionEngine/Interpreter/CMakeLists.txt
> llvm/lib/IR/CMakeLists.txt
> llvm/lib/Transforms/IPO/CMakeLists.txt
> llvm/lib/Transforms/InstCombine/CMakeLists.txt
> llvm/lib/Transforms/Instrumentation/CMakeLists.txt
> llvm/lib/Transforms/ObjCARC/CMakeLists.txt
> llvm/lib/Transforms/Scalar/CMakeLists.txt
> llvm/lib/Transforms/Utils/CMakeLists.txt
> llvm/lib/Transforms/Vectorize/CMakeLists.txt
> llvm/tools/CMakeLists.txt
> llvm/tools/bugpoint/CMakeLists.txt
> llvm/tools/llc/CMakeLists.txt
> llvm/tools/llvm-shlib/CMakeLists.txt
> llvm/tools/opt/CMakeLists.txt
> llvm/unittests/ExecutionEngine/JIT/CMakeLists.txt
> llvm/utils/TableGen/CMakeLists.txt
> Index: clang/tools/driver/CMakeLists.txt
> ===================================================================
> --- clang/tools/driver/CMakeLists.txt
> +++ clang/tools/driver/CMakeLists.txt
> @@ -17,7 +17,7 @@
> )
>
> # Support plugins.
> -set(LLVM_NO_DEAD_STRIP 1)
> +set(LLVM_DEAD_STRIP OFF)
>
> add_clang_executable(clang
> driver.cpp
> Index: clang/utils/TableGen/CMakeLists.txt
> ===================================================================
> --- clang/utils/TableGen/CMakeLists.txt
> +++ clang/utils/TableGen/CMakeLists.txt
> @@ -1,5 +1,3 @@
> -set(LLVM_LINK_COMPONENTS Support)
> -
> add_tablegen(clang-tblgen CLANG
> ClangASTNodesEmitter.cpp
> ClangAttrEmitter.cpp
> Index: llvm/CMakeLists.txt
> ===================================================================
> --- llvm/CMakeLists.txt
> +++ llvm/CMakeLists.txt
> @@ -298,6 +298,10 @@
> "Default target for which LLVM will generate code." )
> set(TARGET_TRIPLE "${LLVM_DEFAULT_TARGET_TRIPLE}")
>
> +if(NOT WIN32)
> + option(LLVM_ENABLE_SHARED "Build the big shared library libLLVM.so." OFF)
> +endif()
> +
> include(HandleLLVMOptions)
>
> # Verify that we can find a Python 2 interpreter. Python 3 is unsupported.
> Index: llvm/cmake/modules/AddLLVM.cmake
> ===================================================================
> --- llvm/cmake/modules/AddLLVM.cmake
> +++ llvm/cmake/modules/AddLLVM.cmake
> @@ -134,17 +134,19 @@
> endfunction(add_llvm_symbol_exports)
>
> function(add_dead_strip target_name)
> - if(NOT LLVM_NO_DEAD_STRIP)
> - if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
> - set_property(TARGET ${target_name} APPEND_STRING PROPERTY
> - LINK_FLAGS " -Wl,-dead_strip")
> - elseif(NOT WIN32)
> - # Object files are compiled with -ffunction-data-sections.
> - set_property(TARGET ${target_name} APPEND_STRING PROPERTY
> - LINK_FLAGS " -Wl,--gc-sections")
> - endif()
> + if(NOT LLVM_DEAD_STRIP)
> + return()
> + endif()
> +
> + if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
> + set_property(TARGET ${target_name} APPEND_STRING PROPERTY
> + LINK_FLAGS " -Wl,-dead_strip")
> + elseif(NOT WIN32)
> + # Object files are compiled with -ffunction-data-sections.
> + set_property(TARGET ${target_name} APPEND_STRING PROPERTY
> + LINK_FLAGS " -Wl,--gc-sections")
> endif()
> -endfunction(add_dead_strip)
> +endfunction()
>
> # Set each output directory according to ${CMAKE_CONFIGURATION_TYPES}.
> # Note: Don't set variables CMAKE_*_OUTPUT_DIRECTORY any more,
> @@ -218,8 +220,16 @@
> endif()
> endif()
>
> + set(build_objlib)
> # Generate objlib
> if(ARG_SHARED AND ARG_STATIC)
> + set(build_objlib TRUE)
> + endif()
> + if(LLVM_ENABLE_SHARED)
> + set(build_objlib TRUE)
> + endif()
> +
> + if(build_objlib AND NOT ARG_OBJLIBS)
> # Generate an obj library for both targets.
> set(obj_name "obj.${name}")
> add_library(${obj_name} OBJECT EXCLUDE_FROM_ALL
> @@ -296,10 +306,18 @@
> # property has been set to an empty value.
> get_property(lib_deps GLOBAL PROPERTY LLVMBUILD_LIB_DEPS_${name})
>
> - llvm_map_components_to_libnames(llvm_libs
> - ${ARG_LINK_COMPONENTS}
> - ${LLVM_LINK_COMPONENTS}
> - )
> + if((ARG_LINK_COMPONENTS OR LLVM_LINK_COMPONENTS) AND TARGET LLVM_shared)
> + set(llvm_libs)
> + # FIXME: It may be PRIVATE since SO knows its dependent libs.
> + target_link_libraries(${name} PUBLIC
> + LLVM_shared
> + )
> + else()
> + llvm_map_components_to_libnames(llvm_libs
> + ${ARG_LINK_COMPONENTS}
> + ${LLVM_LINK_COMPONENTS}
> + )
> + endif()
>
> if(CMAKE_VERSION VERSION_LESS 2.8.12)
> # Link libs w/o keywords, assuming PUBLIC.
> @@ -338,19 +356,23 @@
> add_dependencies(${objlib} ${LLVM_COMMON_DEPENDS})
> endforeach()
> endif()
> +
> + if(objlibs)
> + set_target_properties(${name} PROPERTIES LLVM_OBJLIBS ${objlibs})
> + endif()
> endfunction()
>
> macro(add_llvm_library name)
> if( BUILD_SHARED_LIBS )
> llvm_add_library(${name} SHARED ${ARGN})
> else()
> llvm_add_library(${name} ${ARGN})
> endif()
> - set_property( GLOBAL APPEND PROPERTY LLVM_LIBS ${name} )
>
> if( EXCLUDE_FROM_ALL )
> set_target_properties( ${name} PROPERTIES EXCLUDE_FROM_ALL ON)
> else()
> + set_property( GLOBAL APPEND PROPERTY LLVM_LIBS ${name} )
> if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY OR ${name} STREQUAL "LTO")
> install(TARGETS ${name}
> EXPORT LLVMExports
> @@ -401,7 +423,13 @@
>
> set(EXCLUDE_FROM_ALL OFF)
> set_output_directory(${name} ${LLVM_RUNTIME_OUTPUT_INTDIR} ${LLVM_LIBRARY_OUTPUT_INTDIR})
> - llvm_config( ${name} ${LLVM_LINK_COMPONENTS} )
> + if(LLVM_LINK_COMPONENTS)
> + if(TARGET LLVM_shared)
> + target_link_libraries(${name} LLVM_shared)
> + else()
> + llvm_config(${name} ${LLVM_LINK_COMPONENTS})
> + endif()
> + endif()
> if( LLVM_COMMON_DEPENDS )
> add_dependencies( ${name} ${LLVM_COMMON_DEPENDS} )
> endif( LLVM_COMMON_DEPENDS )
> @@ -456,7 +484,7 @@
> include_directories(BEFORE
> ${CMAKE_CURRENT_BINARY_DIR}
> ${CMAKE_CURRENT_SOURCE_DIR})
> - add_llvm_library(LLVM${target_name} ${ARGN} ${TABLEGEN_OUTPUT})
> + add_llvm_library(LLVM${target_name} ${ARGN})
> set( CURRENT_LLVM_TARGET LLVM${target_name} )
> endmacro(add_llvm_target)
>
> Index: llvm/cmake/modules/HandleLLVMOptions.cmake
> ===================================================================
> --- llvm/cmake/modules/HandleLLVMOptions.cmake
> +++ llvm/cmake/modules/HandleLLVMOptions.cmake
> @@ -353,8 +353,10 @@
> # Add flags for add_dead_strip().
> # FIXME: With MSVS, consider compiling with /Gy and linking with /OPT:REF?
> # But MinSizeRel seems to add that automatically, so maybe disable these
> -# flags instead if LLVM_NO_DEAD_STRIP is set.
> -if(NOT CYGWIN AND NOT WIN32)
> +# flags instead if LLVM_DEAD_STRIP is not set.
> +# With LLVM_ENABLE_SHARED, LLVM_DEAD_STRIP doesn't make sense.
> +if(NOT LLVM_ENABLE_SHARED AND NOT CYGWIN AND NOT WIN32)
> + set(LLVM_DEAD_STRIP ON)
> if(NOT ${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
> check_c_compiler_flag("-Werror -fno-function-sections" C_SUPPORTS_FNO_FUNCTION_SECTIONS)
> if (C_SUPPORTS_FNO_FUNCTION_SECTIONS)
> Index: llvm/cmake/modules/TableGen.cmake
> ===================================================================
> --- llvm/cmake/modules/TableGen.cmake
> +++ llvm/cmake/modules/TableGen.cmake
> @@ -91,10 +91,9 @@
> endif()
>
> macro(add_tablegen target project)
> - set(${target}_OLD_LLVM_LINK_COMPONENTS ${LLVM_LINK_COMPONENTS})
> - set(LLVM_LINK_COMPONENTS ${LLVM_LINK_COMPONENTS} TableGen)
> + set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${LLVM_TOOLS_BINARY_DIR})
> +
> add_llvm_utility(${target} ${ARGN})
> - set(LLVM_LINK_COMPONENTS ${${target}_OLD_LLVM_LINK_COMPONENTS})
>
> set(${project}_TABLEGEN "${target}" CACHE
> STRING "Native TableGen executable. Saves building one when cross-compiling.")
> @@ -128,6 +127,7 @@
> endif()
> endif()
>
> + target_link_libraries(${target} LLVMSupport LLVMTableGen)
> if( MINGW )
> if(CMAKE_SIZEOF_VOID_P MATCHES "8")
> set_target_properties(${target} PROPERTIES LINK_FLAGS -Wl,--stack,16777216)
> Index: llvm/lib/Analysis/CMakeLists.txt
> ===================================================================
> --- llvm/lib/Analysis/CMakeLists.txt
> +++ llvm/lib/Analysis/CMakeLists.txt
> @@ -51,8 +51,7 @@
> Trace.cpp
> TypeBasedAliasAnalysis.cpp
> ValueTracking.cpp
> + DEPENDS intrinsics_gen
> )
>
> -add_dependencies(LLVMAnalysis intrinsics_gen)
> -
> add_subdirectory(IPA)
> Index: llvm/lib/Analysis/IPA/CMakeLists.txt
> ===================================================================
> --- llvm/lib/Analysis/IPA/CMakeLists.txt
> +++ llvm/lib/Analysis/IPA/CMakeLists.txt
> @@ -6,6 +6,5 @@
> GlobalsModRef.cpp
> IPA.cpp
> InlineCost.cpp
> + DEPENDS intrinsics_gen
> )
> -
> -add_dependencies(LLVMipa intrinsics_gen)
> Index: llvm/lib/Bitcode/Reader/CMakeLists.txt
> ===================================================================
> --- llvm/lib/Bitcode/Reader/CMakeLists.txt
> +++ llvm/lib/Bitcode/Reader/CMakeLists.txt
> @@ -2,6 +2,5 @@
> BitReader.cpp
> BitcodeReader.cpp
> BitstreamReader.cpp
> + DEPENDS intrinsics_gen
> )
> -
> -add_dependencies(LLVMBitReader intrinsics_gen)
> Index: llvm/lib/CodeGen/AsmPrinter/CMakeLists.txt
> ===================================================================
> --- llvm/lib/CodeGen/AsmPrinter/CMakeLists.txt
> +++ llvm/lib/CodeGen/AsmPrinter/CMakeLists.txt
> @@ -14,6 +14,5 @@
> OcamlGCPrinter.cpp
> Win64Exception.cpp
> WinCodeViewLineTables.cpp
> + DEPENDS intrinsics_gen
> )
> -
> -add_dependencies(LLVMAsmPrinter intrinsics_gen)
> Index: llvm/lib/CodeGen/CMakeLists.txt
> ===================================================================
> --- llvm/lib/CodeGen/CMakeLists.txt
> +++ llvm/lib/CodeGen/CMakeLists.txt
> @@ -111,9 +111,8 @@
> TwoAddressInstructionPass.cpp
> UnreachableBlockElim.cpp
> VirtRegMap.cpp
> + DEPENDS intrinsics_gen
> )
>
> -add_dependencies(LLVMCodeGen intrinsics_gen)
> -
> add_subdirectory(SelectionDAG)
> add_subdirectory(AsmPrinter)
> Index: llvm/lib/CodeGen/SelectionDAG/CMakeLists.txt
> ===================================================================
> --- llvm/lib/CodeGen/SelectionDAG/CMakeLists.txt
> +++ llvm/lib/CodeGen/SelectionDAG/CMakeLists.txt
> @@ -22,6 +22,5 @@
> ScheduleDAGVLIW.cpp
> TargetLowering.cpp
> TargetSelectionDAGInfo.cpp
> + DEPENDS intrinsics_gen
> )
> -
> -add_dependencies(LLVMSelectionDAG intrinsics_gen)
> Index: llvm/lib/ExecutionEngine/Interpreter/CMakeLists.txt
> ===================================================================
> --- llvm/lib/ExecutionEngine/Interpreter/CMakeLists.txt
> +++ llvm/lib/ExecutionEngine/Interpreter/CMakeLists.txt
> @@ -10,10 +10,9 @@
> Execution.cpp
> ExternalFunctions.cpp
> Interpreter.cpp
> + DEPENDS intrinsics_gen
> )
>
> if( LLVM_ENABLE_FFI )
> target_link_libraries( LLVMInterpreter ${FFI_LIBRARY_PATH} )
> endif()
> -
> -add_dependencies(LLVMInterpreter intrinsics_gen)
> Index: llvm/lib/IR/CMakeLists.txt
> ===================================================================
> --- llvm/lib/IR/CMakeLists.txt
> +++ llvm/lib/IR/CMakeLists.txt
> @@ -42,6 +42,5 @@
> ValueSymbolTable.cpp
> ValueTypes.cpp
> Verifier.cpp
> + DEPENDS intrinsics_gen
> )
> -
> -add_dependencies(LLVMCore intrinsics_gen)
> Index: llvm/lib/Transforms/IPO/CMakeLists.txt
> ===================================================================
> --- llvm/lib/Transforms/IPO/CMakeLists.txt
> +++ llvm/lib/Transforms/IPO/CMakeLists.txt
> @@ -20,6 +20,5 @@
> PruneEH.cpp
> StripDeadPrototypes.cpp
> StripSymbols.cpp
> + DEPENDS intrinsics_gen
> )
> -
> -add_dependencies(LLVMipo intrinsics_gen)
> Index: llvm/lib/Transforms/InstCombine/CMakeLists.txt
> ===================================================================
> --- llvm/lib/Transforms/InstCombine/CMakeLists.txt
> +++ llvm/lib/Transforms/InstCombine/CMakeLists.txt
> @@ -12,6 +12,5 @@
> InstCombineShifts.cpp
> InstCombineSimplifyDemanded.cpp
> InstCombineVectorOps.cpp
> + DEPENDS intrinsics_gen
> )
> -
> -add_dependencies(LLVMInstCombine intrinsics_gen)
> Index: llvm/lib/Transforms/Instrumentation/CMakeLists.txt
> ===================================================================
> --- llvm/lib/Transforms/Instrumentation/CMakeLists.txt
> +++ llvm/lib/Transforms/Instrumentation/CMakeLists.txt
> @@ -7,6 +7,5 @@
> MemorySanitizer.cpp
> Instrumentation.cpp
> ThreadSanitizer.cpp
> + DEPENDS intrinsics_gen
> )
> -
> -add_dependencies(LLVMInstrumentation intrinsics_gen)
> Index: llvm/lib/Transforms/ObjCARC/CMakeLists.txt
> ===================================================================
> --- llvm/lib/Transforms/ObjCARC/CMakeLists.txt
> +++ llvm/lib/Transforms/ObjCARC/CMakeLists.txt
> @@ -8,6 +8,5 @@
> ObjCARCContract.cpp
> DependencyAnalysis.cpp
> ProvenanceAnalysis.cpp
> + DEPENDS intrinsics_gen
> )
> -
> -add_dependencies(LLVMObjCARCOpts intrinsics_gen)
> Index: llvm/lib/Transforms/Scalar/CMakeLists.txt
> ===================================================================
> --- llvm/lib/Transforms/Scalar/CMakeLists.txt
> +++ llvm/lib/Transforms/Scalar/CMakeLists.txt
> @@ -35,6 +35,5 @@
> Sink.cpp
> StructurizeCFG.cpp
> TailRecursionElimination.cpp
> + DEPENDS intrinsics_gen
> )
> -
> -add_dependencies(LLVMScalarOpts intrinsics_gen)
> Index: llvm/lib/Transforms/Utils/CMakeLists.txt
> ===================================================================
> --- llvm/lib/Transforms/Utils/CMakeLists.txt
> +++ llvm/lib/Transforms/Utils/CMakeLists.txt
> @@ -36,6 +36,5 @@
> UnifyFunctionExitNodes.cpp
> Utils.cpp
> ValueMapper.cpp
> + DEPENDS intrinsics_gen
> )
> -
> -add_dependencies(LLVMTransformUtils intrinsics_gen)
> Index: llvm/lib/Transforms/Vectorize/CMakeLists.txt
> ===================================================================
> --- llvm/lib/Transforms/Vectorize/CMakeLists.txt
> +++ llvm/lib/Transforms/Vectorize/CMakeLists.txt
> @@ -3,6 +3,5 @@
> Vectorize.cpp
> LoopVectorize.cpp
> SLPVectorizer.cpp
> + DEPENDS intrinsics_gen
> )
> -
> -add_dependencies(LLVMVectorize intrinsics_gen)
> Index: llvm/tools/CMakeLists.txt
> ===================================================================
> --- llvm/tools/CMakeLists.txt
> +++ llvm/tools/CMakeLists.txt
> @@ -1,3 +1,7 @@
> +if(LLVM_ENABLE_SHARED)
> + add_llvm_tool_subdirectory(llvm-shlib)
> +endif()
> +
> add_llvm_tool_subdirectory(llvm-config)
>
> add_llvm_tool_subdirectory(opt)
> Index: llvm/tools/bugpoint/CMakeLists.txt
> ===================================================================
> --- llvm/tools/bugpoint/CMakeLists.txt
> +++ llvm/tools/bugpoint/CMakeLists.txt
> @@ -18,7 +18,7 @@
> )
>
> # Support plugins.
> -set(LLVM_NO_DEAD_STRIP 1)
> +set(LLVM_DEAD_STRIP OFF)
>
> add_llvm_tool(bugpoint
> BugDriver.cpp
> Index: llvm/tools/llc/CMakeLists.txt
> ===================================================================
> --- llvm/tools/llc/CMakeLists.txt
> +++ llvm/tools/llc/CMakeLists.txt
> @@ -12,7 +12,7 @@
> )
>
> # Support plugins.
> -set(LLVM_NO_DEAD_STRIP 1)
> +set(LLVM_DEAD_STRIP OFF)
>
> add_llvm_tool(llc
> llc.cpp
> Index: llvm/tools/llvm-shlib/CMakeLists.txt
> ===================================================================
> --- /dev/null
> +++ llvm/tools/llvm-shlib/CMakeLists.txt
> @@ -0,0 +1,25 @@
> +get_property(llvm_libs GLOBAL PROPERTY LLVM_LIBS)
> +list(REMOVE_ITEM llvm_libs LLVMTableGen gtest gtest_main)
> +foreach(lib ${llvm_libs})
> + get_target_property(objlibs ${lib} LLVM_OBJLIBS)
> + foreach(objlib ${objlibs})
> + list(APPEND all_objlibs "$<TARGET_OBJECTS:${objlib}>")
> + endforeach()
> + # Collect dependent system libs.
> + get_target_property(dependent_libs ${lib} INTERFACE_LINK_LIBRARIES)
> + list(REMOVE_ITEM dependent_libs ${llvm_libs})
> + if(dependent_libs)
> + list(REVERSE dependent_libs)
> + list(INSERT all_dependent_libs 0 ${dependent_libs})
> + endif()
> +endforeach()
> +list(REMOVE_DUPLICATES all_dependent_libs)
> +list(REVERSE all_dependent_libs)
> +
> +add_llvm_library(LLVM_shared SHARED
> + OUTPUT_NAME "LLVM-3.5"
> + OBJLIBS ${all_objlibs}
> + LINK_LIBS ${all_dependent_libs}
> + )
> +
> +set_target_properties(LLVM_shared PROPERTIES LINKER_LANGUAGE "CXX")
> Index: llvm/tools/opt/CMakeLists.txt
> ===================================================================
> --- llvm/tools/opt/CMakeLists.txt
> +++ llvm/tools/opt/CMakeLists.txt
> @@ -19,7 +19,7 @@
> )
>
> # Support plugins.
> -set(LLVM_NO_DEAD_STRIP 1)
> +set(LLVM_DEAD_STRIP OFF)
>
> add_llvm_tool(opt
> AnalysisWrappers.cpp
> Index: llvm/unittests/ExecutionEngine/JIT/CMakeLists.txt
> ===================================================================
> --- llvm/unittests/ExecutionEngine/JIT/CMakeLists.txt
> +++ llvm/unittests/ExecutionEngine/JIT/CMakeLists.txt
> @@ -52,7 +52,7 @@
> endif()
>
> # The JIT tests need to dlopen things.
> -set(LLVM_NO_DEAD_STRIP 1)
> +set(LLVM_DEAD_STRIP OFF)
>
> add_llvm_unittest(JITTests
> ${JITTestsSources}
> Index: llvm/utils/TableGen/CMakeLists.txt
> ===================================================================
> --- llvm/utils/TableGen/CMakeLists.txt
> +++ llvm/utils/TableGen/CMakeLists.txt
> @@ -1,5 +1,3 @@
> -set(LLVM_LINK_COMPONENTS Support)
> -
> add_tablegen(llvm-tblgen LLVM
> AsmMatcherEmitter.cpp
> AsmWriterEmitter.cpp
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
More information about the llvm-commits
mailing list