set(LLVM_LINK_COMPONENTS
  ${LLVM_TARGETS_TO_BUILD}
  BitReader
  Core
  MCDisassembler
  Object
  Target
  )

# We should only have llvm-c-test use libLLVM if libLLVM is built with the
# default list of components. Using libLLVM with custom components can result in
# build failures.

set (USE_LLVM_DYLIB FALSE)

if (TARGET LLVM)
  set (USE_LLVM_DYLIB TRUE)
  if (DEFINED LLVM_DYLIB_COMPONENTS)
    foreach(c in ${LLVM_LINK_COMPONENTS})
      list(FIND LLVM_DYLIB_COMPONENTS ${c} C_IDX)
      if (C_IDX EQUAL -1)
        set(USE_LLVM_DYLIB FALSE)
        break()
      endif()
    endforeach()
  endif()
endif()

if(USE_LLVM_DYLIB)
  set(LLVM_LINK_COMPONENTS)
endif()

if (LLVM_COMPILER_IS_GCC_COMPATIBLE)
  set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=gnu99 -Wstrict-prototypes")
endif ()

add_llvm_tool(llvm-c-test
  calc.c
  disassemble.c
  helpers.c
  include-all.c
  main.c
  module.c
  metadata.c
  object.c
  targets.c
  )

if(USE_LLVM_DYLIB)
  target_link_libraries(llvm-c-test LLVM)
endif()
