## FIXME: This only requires RTTI because tblgen uses it.  Fix that.
set(LLVM_REQUIRES_RTTI 1)
if( MINGW )
  set(LLVM_REQUIRES_EH 1)
endif()

add_llvm_library(LLVMSupport
  APFloat.cpp
  APInt.cpp
  APSInt.cpp
  Allocator.cpp
  circular_raw_ostream.cpp
  CommandLine.cpp
  ConstantRange.cpp
  CrashRecoveryContext.cpp
  Debug.cpp
  DeltaAlgorithm.cpp
  DAGDeltaAlgorithm.cpp
  Dwarf.cpp
  ErrorHandling.cpp
  FileUtilities.cpp
  FoldingSet.cpp
  FormattedStream.cpp
  GraphWriter.cpp
  IntEqClasses.cpp
  IntervalMap.cpp
  IsInf.cpp
  IsNAN.cpp
  ManagedStatic.cpp
  MemoryBuffer.cpp
  MemoryObject.cpp
  PluginLoader.cpp
  PrettyStackTrace.cpp
  Regex.cpp
  SmallPtrSet.cpp
  SmallVector.cpp
  SourceMgr.cpp
  Statistic.cpp
  StringExtras.cpp
  StringMap.cpp
  StringPool.cpp
  StringRef.cpp
  SystemUtils.cpp
  TargetRegistry.cpp
  Timer.cpp
  ToolOutputFile.cpp
  Triple.cpp
  Twine.cpp
  raw_os_ostream.cpp
  raw_ostream.cpp
  regcomp.c
  regerror.c
  regexec.c
  regfree.c
  regstrlcpy.c

# System
  Atomic.cpp
  Disassembler.cpp
  DynamicLibrary.cpp
  Errno.cpp
  Host.cpp
  IncludeFile.cpp
  Memory.cpp
  Mutex.cpp
  Path.cpp
  PathV2.cpp
  Process.cpp
  Program.cpp
  RWMutex.cpp
  SearchForAddressOfSpecialSymbol.cpp
  Signals.cpp
  system_error.cpp
  ThreadLocal.cpp
  Threading.cpp
  TimeValue.cpp
  Valgrind.cpp
  Unix/Host.inc
  Unix/Memory.inc
  Unix/Mutex.inc
  Unix/Path.inc
  Unix/PathV2.inc
  Unix/Process.inc
  Unix/Program.inc
  Unix/RWMutex.inc
  Unix/Signals.inc
  Unix/system_error.inc
  Unix/ThreadLocal.inc
  Unix/TimeValue.inc
  Windows/DynamicLibrary.inc
  Windows/Host.inc
  Windows/Memory.inc
  Windows/Mutex.inc
  Windows/Path.inc
  Windows/PathV2.inc
  Windows/Process.inc
  Windows/Program.inc
  Windows/RWMutex.inc
  Windows/Signals.inc
  Windows/system_error.inc
  Windows/ThreadLocal.inc
  Windows/TimeValue.inc
  )
