d00f5bf64dd8c7523da2c31b965bd01ea4f6a27e
[reactos.git] / reactos / sdk / lib / crt / libcntpr.cmake
1
2 list(APPEND LIBCNTPR_SOURCE
3 float/isnan.c
4 math/abs.c
5 math/div.c
6 math/labs.c
7 math/rand_nt.c
8 mbstring/mbstrlen.c
9 mem/memccpy.c
10 mem/memcmp.c
11 mem/memicmp.c
12 misc/fltused.c
13 printf/_snprintf.c
14 printf/_snwprintf.c
15 printf/_vcprintf.c
16 printf/_vscwprintf.c
17 printf/_vsnprintf.c
18 printf/_vsnwprintf.c
19 printf/sprintf.c
20 printf/streamout.c
21 printf/swprintf.c
22 printf/vprintf.c
23 printf/vsprintf.c
24 printf/vswprintf.c
25 printf/wstreamout.c
26 search/bsearch.c
27 search/lfind.c
28 stdlib/qsort.c
29 string/_splitpath.c
30 string/_wsplitpath.c
31 string/ctype.c
32 string/iswctype.c
33 string/is_wctype.c
34 string/scanf.c
35 string/strcspn.c
36 string/stricmp.c
37 string/strnicmp.c
38 string/strlwr.c
39 string/strrev.c
40 string/strset.c
41 string/strstr.c
42 string/strupr.c
43 string/strpbrk.c
44 string/strspn.c
45 string/atoi64.c
46 string/atoi.c
47 string/atol.c
48 string/itoa.c
49 string/itow.c
50 string/mbstowcs_nt.c
51 string/strtoi64.c
52 string/strtol.c
53 string/strtoul.c
54 string/strtoull.c
55 string/wcs.c
56 string/wcstol.c
57 string/wcstombs_nt.c
58 string/wcstoul.c
59 string/wctype.c
60 string/wtoi64.c
61 string/wtoi.c
62 string/wtol.c
63 string/winesup.c
64 wstring/wcsicmp.c
65 wstring/wcslwr.c
66 wstring/wcsnicmp.c
67 wstring/wcsupr.c
68 wstring/wcscspn.c
69 wstring/wcsspn.c
70 wstring/wcsstr.c)
71
72 if(ARCH STREQUAL "i386")
73 list(APPEND LIBCNTPR_ASM_SOURCE
74 except/i386/chkstk_asm.s
75 except/i386/seh.s
76 except/i386/seh_prolog.s
77 setjmp/i386/setjmp.s
78 math/i386/alldiv_asm.s
79 math/i386/alldvrm_asm.s
80 math/i386/allmul_asm.s
81 math/i386/allrem_asm.s
82 math/i386/allshl_asm.s
83 math/i386/allshr_asm.s
84 math/i386/atan_asm.s
85 math/i386/atan2_asm.s
86 math/i386/aulldiv_asm.s
87 math/i386/aulldvrm_asm.s
88 math/i386/aullrem_asm.s
89 math/i386/aullshr_asm.s
90 math/i386/ceil_asm.s
91 math/i386/cos_asm.s
92 math/i386/fabs_asm.s
93 math/i386/floor_asm.s
94 math/i386/ftol_asm.s
95 math/i386/ftol2_asm.s
96 math/i386/log_asm.s
97 math/i386/log10_asm.s
98 math/i386/pow_asm.s
99 math/i386/sin_asm.s
100 math/i386/sqrt_asm.s
101 math/i386/tan_asm.s
102 misc/i386/readcr4.S)
103
104 list(APPEND LIBCNTPR_SOURCE
105 math/i386/ci.c
106 math/i386/cicos.c
107 math/i386/cilog.c
108 math/i386/cipow.c
109 math/i386/cisin.c
110 math/i386/cisqrt.c)
111 if(NOT MSVC)
112 list(APPEND LIBCNTPR_SOURCE except/i386/chkstk_ms.s)
113 endif()
114 elseif(ARCH STREQUAL "amd64")
115 list(APPEND LIBCNTPR_ASM_SOURCE
116 except/amd64/chkstk_asm.s
117 except/amd64/seh.s
118 setjmp/amd64/setjmp.s
119 math/amd64/atan.S
120 math/amd64/atan2.S
121 math/amd64/ceil.S
122 math/amd64/exp.S
123 math/amd64/fabs.S
124 math/amd64/floor.S
125 math/amd64/floorf.S
126 math/amd64/fmod.S
127 math/amd64/ldexp.S
128 math/amd64/log.S
129 math/amd64/log10.S
130 math/amd64/pow.S
131 math/amd64/sqrt.S
132 math/amd64/tan.S)
133 list(APPEND LIBCNTPR_SOURCE
134 except/amd64/ehandler.c
135 math/cos.c
136 math/sin.c)
137 elseif(ARCH STREQUAL "arm")
138 list(APPEND LIBCNTPR_SOURCE
139 except/arm/chkstk_asm.s
140 except/arm/__jump_unwind.s
141 math/arm/__rt_sdiv.c
142 math/arm/__rt_sdiv64_worker.c
143 math/arm/__rt_udiv.c
144 math/arm/__rt_udiv64_worker.c
145 )
146 list(APPEND LIBCNTPR_ASM_SOURCE
147 except/arm/_abnormal_termination.s
148 except/arm/_except_handler2.s
149 except/arm/_except_handler3.s
150 except/arm/_global_unwind2.s
151 except/arm/_local_unwind2.s
152 except/arm/chkstk_asm.s
153 except/arm/ehandler.c
154 float/arm/_clearfp.s
155 float/arm/_controlfp.s
156 float/arm/_fpreset.s
157 float/arm/_statusfp.s
158 math/arm/atan.s
159 math/arm/atan2.s
160 math/arm/ceil.s
161 math/arm/exp.s
162 math/arm/fabs.s
163 math/arm/fmod.s
164 math/arm/floor.s
165 math/arm/ldexp.s
166 math/arm/log.s
167 math/arm/log10.s
168 math/arm/pow.s
169 math/arm/tan.s
170 math/arm/__dtoi64.s
171 math/arm/__dtou64.s
172 math/arm/__i64tod.s
173 math/arm/__i64tos.s
174 math/arm/__stoi64.s
175 math/arm/__stou64.s
176 math/arm/__u64tod.s
177 math/arm/__u64tos.s
178 math/arm/__rt_sdiv64.s
179 math/arm/__rt_srsh.s
180 math/arm/__rt_udiv64.s
181 setjmp/arm/setjmp.s
182 )
183 endif()
184
185 if(ARCH STREQUAL "i386")
186 list(APPEND LIBCNTPR_ASM_SOURCE
187 mem/i386/memchr_asm.s
188 mem/i386/memmove_asm.s
189 mem/i386/memset_asm.s
190 string/i386/strcat_asm.s
191 string/i386/strchr_asm.s
192 string/i386/strcmp_asm.s
193 string/i386/strcpy_asm.s
194 string/i386/strlen_asm.s
195 string/i386/strncat_asm.s
196 string/i386/strncmp_asm.s
197 string/i386/strncpy_asm.s
198 string/i386/strnlen_asm.s
199 string/i386/strrchr_asm.s
200 string/i386/wcscat_asm.s
201 string/i386/wcschr_asm.s
202 string/i386/wcscmp_asm.s
203 string/i386/wcscpy_asm.s
204 string/i386/wcslen_asm.s
205 string/i386/wcsncat_asm.s
206 string/i386/wcsncmp_asm.s
207 string/i386/wcsncpy_asm.s
208 string/i386/wcsnlen_asm.s
209 string/i386/wcsrchr_asm.s)
210 else()
211 list(APPEND LIBCNTPR_SOURCE
212 math/cos.c
213 math/sin.c
214 math/sqrt.c
215 mem/memchr.c
216 mem/memcpy.c
217 mem/memmove.c
218 mem/memset.c
219 string/strcat.c
220 string/strchr.c
221 string/strcmp.c
222 string/strcpy.c
223 string/strlen.c
224 string/strncat.c
225 string/strncmp.c
226 string/strncpy.c
227 string/strnlen.c
228 string/strrchr.c
229 string/wcscat.c
230 string/wcschr.c
231 string/wcscmp.c
232 string/wcscpy.c
233 string/wcslen.c
234 string/wcsncat.c
235 string/wcsncmp.c
236 string/wcsncpy.c
237 string/wcsnlen.c
238 string/wcsrchr.c)
239 endif()
240
241 set_source_files_properties(${LIBCNTPR_ASM_SOURCE} PROPERTIES COMPILE_DEFINITIONS "NO_RTL_INLINES;_NTSYSTEM_;_NTDLLBUILD_;_LIBCNT_;__CRT__NO_INLINE;CRTDLL")
242 add_asm_files(libcntpr_asm ${LIBCNTPR_ASM_SOURCE})
243
244 add_library(libcntpr ${LIBCNTPR_SOURCE} ${libcntpr_asm})
245 add_target_compile_definitions(libcntpr
246 NO_RTL_INLINES
247 _NTSYSTEM_
248 _NTDLLBUILD_
249 _LIBCNT_
250 __CRT__NO_INLINE
251 CRTDLL)
252 add_dependencies(libcntpr psdk asm)