1set(system_libs)
2if( NOT MSVC )
3  if( MINGW )
4    set(system_libs ${system_libs} imagehlp psapi shell32)
5  elseif( CMAKE_HOST_UNIX )
6    if( HAVE_LIBRT )
7      set(system_libs ${system_libs} rt)
8    endif()
9    if( HAVE_LIBDL )
10      set(system_libs ${system_libs} ${CMAKE_DL_LIBS})
11    endif()
12    if(LLVM_ENABLE_TERMINFO)
13      if(HAVE_TERMINFO)
14        set(system_libs ${system_libs} ${TERMINFO_LIBS})
15      endif()
16    endif()
17    if( LLVM_ENABLE_THREADS AND HAVE_LIBATOMIC )
18      set(system_libs ${system_libs} atomic)
19    endif()
20    if( LLVM_ENABLE_THREADS AND HAVE_LIBPTHREAD )
21      set(system_libs ${system_libs} pthread)
22    endif()
23    if ( LLVM_ENABLE_ZLIB AND HAVE_LIBZ )
24      set(system_libs ${system_libs} z)
25    endif()
26    set(system_libs ${system_libs} m)
27  endif( MINGW )
28endif( NOT MSVC )
29
30add_llvm_library(LLVMSupport
31  APFloat.cpp
32  APInt.cpp
33  APSInt.cpp
34  ARMBuildAttrs.cpp
35  ARMWinEH.cpp
36  Allocator.cpp
37  BlockFrequency.cpp
38  BranchProbability.cpp
39  circular_raw_ostream.cpp
40  CommandLine.cpp
41  Compression.cpp
42  ConvertUTF.c
43  ConvertUTFWrapper.cpp
44  CrashRecoveryContext.cpp
45  DataExtractor.cpp
46  DataStream.cpp
47  Debug.cpp
48  DeltaAlgorithm.cpp
49  DAGDeltaAlgorithm.cpp
50  Dwarf.cpp
51  ErrorHandling.cpp
52  FileUtilities.cpp
53  FileOutputBuffer.cpp
54  FoldingSet.cpp
55  FormattedStream.cpp
56  GraphWriter.cpp
57  Hashing.cpp
58  IntEqClasses.cpp
59  IntervalMap.cpp
60  IntrusiveRefCntPtr.cpp
61  IsInf.cpp
62  IsNAN.cpp
63  LEB128.cpp
64  LineIterator.cpp
65  Locale.cpp
66  LockFileManager.cpp
67  ManagedStatic.cpp
68  MathExtras.cpp
69  MemoryBuffer.cpp
70  MemoryObject.cpp
71  MD5.cpp
72  Options.cpp
73  PluginLoader.cpp
74  PrettyStackTrace.cpp
75  RandomNumberGenerator.cpp
76  Regex.cpp
77  ScaledNumber.cpp
78  SmallPtrSet.cpp
79  SmallVector.cpp
80  SourceMgr.cpp
81  SpecialCaseList.cpp
82  Statistic.cpp
83  StreamingMemoryObject.cpp
84  StringExtras.cpp
85  StringMap.cpp
86  StringPool.cpp
87  StringRef.cpp
88  SystemUtils.cpp
89  Timer.cpp
90  ToolOutputFile.cpp
91  Triple.cpp
92  Twine.cpp
93  Unicode.cpp
94  YAMLParser.cpp
95  YAMLTraits.cpp
96  raw_os_ostream.cpp
97  raw_ostream.cpp
98  regcomp.c
99  regerror.c
100  regexec.c
101  regfree.c
102  regstrlcpy.c
103
104# System
105  Atomic.cpp
106  DynamicLibrary.cpp
107  Errno.cpp
108  Host.cpp
109  Memory.cpp
110  Mutex.cpp
111  Path.cpp
112  Process.cpp
113  Program.cpp
114  RWMutex.cpp
115  SearchForAddressOfSpecialSymbol.cpp
116  Signals.cpp
117  TargetRegistry.cpp
118  ThreadLocal.cpp
119  Threading.cpp
120  TimeValue.cpp
121  Valgrind.cpp
122  Watchdog.cpp
123
124  ADDITIONAL_HEADERS
125  Unix/Host.inc
126  Unix/Memory.inc
127  Unix/Mutex.inc
128  Unix/Path.inc
129  Unix/Process.inc
130  Unix/Program.inc
131  Unix/RWMutex.inc
132  Unix/Signals.inc
133  Unix/ThreadLocal.inc
134  Unix/TimeValue.inc
135  Unix/Watchdog.inc
136  Windows/DynamicLibrary.inc
137  Windows/Host.inc
138  Windows/Memory.inc
139  Windows/Mutex.inc
140  Windows/Path.inc
141  Windows/Process.inc
142  Windows/Program.inc
143  Windows/RWMutex.inc
144  Windows/Signals.inc
145  Windows/ThreadLocal.inc
146  Windows/TimeValue.inc
147  Windows/Watchdog.inc
148
149  LINK_LIBS ${system_libs}
150  )
151
152set_property(TARGET LLVMSupport PROPERTY LLVM_SYSTEM_LIBS "${system_libs}")
153