OSDN Git Service

Refactor duplicated code for linking with pthread.
[android-x86/external-llvm.git] / lib / Support / CMakeLists.txt
1 set(system_libs)
2 if( MSVC OR MINGW )
3   # libuuid required for FOLDERID_Profile usage in lib/Support/Windows/Path.inc.
4   set(system_libs ${system_libs} psapi shell32 ole32 uuid)
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   set(system_libs ${system_libs} ${PTHREAD_LIB})
21   if ( LLVM_ENABLE_ZLIB AND HAVE_LIBZ )
22     set(system_libs ${system_libs} z)
23   endif()
24   if( UNIX AND NOT (BEOS OR HAIKU) )
25     set(system_libs ${system_libs} m)
26   endif()
27 endif( MSVC OR MINGW )
28
29 add_llvm_library(LLVMSupport
30   APFloat.cpp
31   APInt.cpp
32   APSInt.cpp
33   ARMBuildAttrs.cpp
34   ARMWinEH.cpp
35   Allocator.cpp
36   BlockFrequency.cpp
37   BranchProbability.cpp
38   circular_raw_ostream.cpp
39   COM.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   JamCRC.cpp
62   LEB128.cpp
63   LineIterator.cpp
64   Locale.cpp
65   LockFileManager.cpp
66   ManagedStatic.cpp
67   MathExtras.cpp
68   MemoryBuffer.cpp
69   MemoryObject.cpp
70   MD5.cpp
71   Options.cpp
72   PluginLoader.cpp
73   PrettyStackTrace.cpp
74   RandomNumberGenerator.cpp
75   Regex.cpp
76   ScaledNumber.cpp
77   SmallPtrSet.cpp
78   SmallVector.cpp
79   SourceMgr.cpp
80   SpecialCaseList.cpp
81   Statistic.cpp
82   StreamingMemoryObject.cpp
83   StringExtras.cpp
84   StringMap.cpp
85   StringPool.cpp
86   StringSaver.cpp
87   StringRef.cpp
88   SystemUtils.cpp
89   TargetParser.cpp
90   ThreadPool.cpp
91   Timer.cpp
92   ToolOutputFile.cpp
93   Triple.cpp
94   Twine.cpp
95   Unicode.cpp
96   YAMLParser.cpp
97   YAMLTraits.cpp
98   raw_os_ostream.cpp
99   raw_ostream.cpp
100   regcomp.c
101   regerror.c
102   regexec.c
103   regfree.c
104   regstrlcpy.c
105
106 # System
107   Atomic.cpp
108   DynamicLibrary.cpp
109   Errno.cpp
110   Host.cpp
111   Memory.cpp
112   Mutex.cpp
113   Path.cpp
114   Process.cpp
115   Program.cpp
116   RWMutex.cpp
117   SearchForAddressOfSpecialSymbol.cpp
118   Signals.cpp
119   TargetRegistry.cpp
120   ThreadLocal.cpp
121   Threading.cpp
122   TimeValue.cpp
123   Valgrind.cpp
124   Watchdog.cpp
125
126   ADDITIONAL_HEADER_DIRS
127   Unix
128   Windows
129   ${LLVM_MAIN_INCLUDE_DIR}/llvm/Support
130
131   LINK_LIBS ${system_libs}
132   )
133
134 set_property(TARGET LLVMSupport PROPERTY LLVM_SYSTEM_LIBS "${system_libs}")