blob: 8f973faadf71671101390b3b7eaa59bd13884ae2 [file] [log] [blame]
Nan Zhangc3939142017-05-25 23:21:27 -07001// Copyright 2017 Google Inc. All rights reserved.
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7// http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
Nan Zhangced27512017-06-19 18:01:34 -070015subdirs = [
16 "Lib",
17]
18
Nan Zhangc3939142017-05-25 23:21:27 -070019cc_defaults {
20 name: "py2-interp-defaults",
21 cflags: [
22 "-fwrapv",
23 "-O3",
24 "-Wall",
25 "-Wstrict-prototypes",
26 "-DPy_BUILD_CORE",
Nan Zhang33bb4bb2017-12-01 20:00:54 +000027 "-Werror",
Chih-Hung Hsieh6eebfa02017-10-13 14:40:05 -070028 "-Wno-error=invalid-source-encoding",
29 "-Wno-error=macro-redefined",
Tri Vo0b5cc4f2017-12-11 13:29:15 -080030 "-Wno-int-conversion",
Nan Zhangc3939142017-05-25 23:21:27 -070031 "-Wno-missing-field-initializers",
32 "-Wno-shift-count-overflow",
33 "-Wno-sign-compare",
34 "-Wno-tautological-compare",
35 "-Wno-tautological-constant-out-of-range-compare",
36 "-Wno-unused-parameter",
37 "-Wno-unused-result",
38 ],
39 local_include_dirs: ["Include"],
40 target: {
Nan Zhang33bb4bb2017-12-01 20:00:54 +000041 android_arm: {
42 local_include_dirs: ["android_arm/pyconfig"],
43 },
44 android_arm64: {
45 local_include_dirs: ["android_arm64/pyconfig"],
46 },
47 android_x86: {
48 local_include_dirs: ["android_x86/pyconfig"],
49 },
50 android_x86_64: {
51 local_include_dirs: ["android_x86_64/pyconfig"],
52 },
Dan Willemsenc88c0802017-09-25 14:33:27 -070053 // Regenerate include dirs with android_regen.sh
Nan Zhang33bb4bb2017-12-01 20:00:54 +000054 darwin_x86: {
55 enabled: false,
56 },
Dan Willemsenc88c0802017-09-25 14:33:27 -070057 darwin_x86_64: {
58 local_include_dirs: ["darwin_x86_64/pyconfig"],
Stephen Hinesb788eb52017-11-20 17:31:30 -080059 cflags: [
60 "-Wno-deprecated-declarations",
61 "-Wno-pointer-arith",
62 ],
Dan Willemsenc88c0802017-09-25 14:33:27 -070063 },
Nan Zhang33bb4bb2017-12-01 20:00:54 +000064 linux_glibc_x86: {
65 enabled: false,
66 },
Dan Willemsene41d4ce2017-10-02 10:41:09 -070067 linux_glibc_x86_64: {
Dan Willemsenc88c0802017-09-25 14:33:27 -070068 local_include_dirs: ["linux_x86_64/pyconfig"],
Chih-Hung Hsieh6eebfa02017-10-13 14:40:05 -070069 cflags: ["-Werror"],
Dan Willemsenc88c0802017-09-25 14:33:27 -070070 },
71 windows: {
72 enabled: false,
73 },
Nan Zhangc3939142017-05-25 23:21:27 -070074 },
75 host_supported: true,
Nan Zhang33bb4bb2017-12-01 20:00:54 +000076 compile_multilib: "both",
77 multilib: {
78 lib32: {
79 suffix: "32",
80 },
81 lib64: {
82 suffix: "64",
83 },
84 },
Nan Zhangc3939142017-05-25 23:21:27 -070085}
86
87cc_library_static {
88 name: "py2-interp-parser",
89 defaults: ["py2-interp-defaults"],
90 srcs: [
91 "Parser/acceler.c",
92 "Parser/bitset.c",
93 "Parser/firstsets.c",
94 "Parser/grammar.c",
95 "Parser/grammar1.c",
96 "Parser/listnode.c",
97 "Parser/metagrammar.c",
98 "Parser/myreadline.c",
99 "Parser/node.c",
100 "Parser/parser.c",
101 "Parser/parsetok.c",
102 "Parser/pgen.c",
103 "Parser/tokenizer.c",
104 ],
105}
106
107cc_library_static {
108 name: "py2-interp-object",
109 defaults: ["py2-interp-defaults"],
110 srcs: [
111 "Objects/abstract.c",
112 "Objects/boolobject.c",
113 "Objects/bufferobject.c",
114 "Objects/bytes_methods.c",
115 "Objects/bytearrayobject.c",
116 "Objects/capsule.c",
117 "Objects/cellobject.c",
118 "Objects/classobject.c",
119 "Objects/cobject.c",
120 "Objects/codeobject.c",
121 "Objects/complexobject.c",
122 "Objects/descrobject.c",
123 "Objects/enumobject.c",
124 "Objects/exceptions.c",
125 "Objects/genobject.c",
126 "Objects/fileobject.c",
127 "Objects/floatobject.c",
128 "Objects/frameobject.c",
129 "Objects/funcobject.c",
130 "Objects/intobject.c",
131 "Objects/iterobject.c",
132 "Objects/listobject.c",
133 "Objects/longobject.c",
134 "Objects/dictobject.c",
135 "Objects/memoryobject.c",
136 "Objects/methodobject.c",
137 "Objects/moduleobject.c",
138 "Objects/object.c",
139 "Objects/obmalloc.c",
140 "Objects/rangeobject.c",
141 "Objects/setobject.c",
142 "Objects/sliceobject.c",
143 "Objects/stringobject.c",
144 "Objects/structseq.c",
145 "Objects/tupleobject.c",
146 "Objects/typeobject.c",
147 "Objects/weakrefobject.c",
148 "Objects/unicodeobject.c",
149 "Objects/unicodectype.c",
150 ],
151}
152
153cc_library_static {
154 name: "py2-interp-python",
155 defaults: ["py2-interp-defaults"],
Nan Zhang04b6dca2017-12-05 13:34:52 -0800156 target: {
157 linux: {
158 cflags: [
159 "-DPLATFORM=\"linux2\"",
160 ],
161 },
162 darwin_x86_64: {
163 cflags: [
164 "-DPLATFORM=\"darwin\"",
165 ],
166 },
167 },
Nan Zhangc3939142017-05-25 23:21:27 -0700168 srcs: [
169 "Python/_warnings.c",
170 "Python/Python-ast.c",
171 "Python/asdl.c",
172 "Python/ast.c",
173 "Python/bltinmodule.c",
174 "Python/ceval.c",
175 "Python/compile.c",
176 "Python/codecs.c",
177 "Python/errors.c",
178 "Python/frozen.c",
179 "Python/frozenmain.c",
180 "Python/future.c",
181 "Python/getargs.c",
182 "Python/getcompiler.c",
183 "Python/getcopyright.c",
184 "Python/getplatform.c",
185 "Python/getversion.c",
186 "Python/graminit.c",
187 "Python/import.c",
188 "Python/importdl.c",
189 "Python/marshal.c",
190 "Python/modsupport.c",
191 "Python/mystrtoul.c",
192 "Python/mysnprintf.c",
193 "Python/peephole.c",
194 "Python/pyarena.c",
195 "Python/pyctype.c",
196 "Python/pyfpe.c",
197 "Python/pymath.c",
198 "Python/pystate.c",
199 "Python/pythonrun.c",
200 "Python/random.c",
201 "Python/structmember.c",
202 "Python/symtable.c",
203 "Python/sysmodule.c",
204 "Python/traceback.c",
205 "Python/getopt.c",
206 "Python/pystrcmp.c",
207 "Python/pystrtod.c",
208 "Python/dtoa.c",
209 "Python/formatter_unicode.c",
210 "Python/formatter_string.c",
211 "Python/dynload_shlib.c",
212 "Python/thread.c",
213 ],
214}
215
216cc_binary {
Nan Zhangced27512017-06-19 18:01:34 -0700217 name: "py2-launcher",
Nan Zhangc3939142017-05-25 23:21:27 -0700218 defaults: ["py2-interp-defaults"],
Nan Zhangc3939142017-05-25 23:21:27 -0700219 cflags: [
Nan Zhangc3939142017-05-25 23:21:27 -0700220 "-DVERSION=\"2.7\"",
Nan Zhangced27512017-06-19 18:01:34 -0700221 "-DVPATH=\"\"",
222 "-DPREFIX=\"\"",
223 "-DEXEC_PREFIX=\"\"",
224 "-DPYTHONPATH=\"\"",
Nan Zhang33bb4bb2017-12-01 20:00:54 +0000225 "-DDATE=\"xx/xx/xx\"",
226 "-DTIME=\"xx:xx:xx\"",
Nan Zhangc3939142017-05-25 23:21:27 -0700227 ],
228 srcs: [
Nan Zhangced27512017-06-19 18:01:34 -0700229 "Launcher/launcher_main.cpp",
230 "Launcher/launcher_internal.cpp",
Nan Zhangc3939142017-05-25 23:21:27 -0700231 "Modules/gcmodule.c",
232 "Modules/getpath.c",
233 "Modules/config.c",
234 "Modules/getbuildinfo.c",
Nan Zhangced27512017-06-19 18:01:34 -0700235 // Default built-in extension py2-c-modules.
Nan Zhangc3939142017-05-25 23:21:27 -0700236 "Modules/threadmodule.c",
237 "Modules/signalmodule.c",
238 "Modules/posixmodule.c",
239 "Modules/errnomodule.c",
240 "Modules/pwdmodule.c",
241 "Modules/_sre.c",
242 "Modules/_codecsmodule.c",
243 "Modules/_weakref.c",
244 "Modules/zipimport.c",
245 "Modules/symtablemodule.c",
246 ],
Nan Zhangced27512017-06-19 18:01:34 -0700247 local_include_dirs: [
248 "Launcher",
249 ],
250 // NOTE: Please update Modules/config.c if new lib get added in the static_libs.
Nan Zhangc3939142017-05-25 23:21:27 -0700251 static_libs: [
Nan Zhangced27512017-06-19 18:01:34 -0700252 "libbase",
253 // Be careful the order of these three static libraries below due to
254 // missing symbols issues.
Nan Zhangc3939142017-05-25 23:21:27 -0700255 "py2-interp-object",
256 "py2-interp-python",
Nan Zhangced27512017-06-19 18:01:34 -0700257 "py2-interp-parser",
258 "py2-c-module-array",
259 "py2-c-module-cmath",
260 "py2-c-module-math",
261 "py2-c-module-_struct",
262 "py2-c-module-time",
263 "py2-c-module-operator",
264 "py2-c-module-_testcapi",
265 "py2-c-module-_random",
266 "py2-c-module-_collections",
267 "py2-c-module-_heapq",
268 "py2-c-module-itertools",
269 "py2-c-module-strop",
270 "py2-c-module-_functools",
271 "py2-c-module-datetime",
272 "py2-c-module-_bisect",
273 "py2-c-module-unicodedata",
274 "py2-c-module-_io",
275 "py2-c-module-fcntl",
276 "py2-c-module-select",
277 "py2-c-module-mmap",
278 "py2-c-module-_csv",
279 "py2-c-module-_socket",
280 "py2-c-module-termios",
281 "py2-c-module-_md5",
282 "py2-c-module-_sha",
283 "py2-c-module-_sha256",
284 "py2-c-module-_sha512",
285 "py2-c-module-binascii",
286 "py2-c-module-parser",
287 "py2-c-module-cStringIO",
288 "py2-c-module-cPickle",
289 "py2-c-module-xxsubtype",
290 "py2-c-module-future_builtins",
291 "py2-c-module-_json",
292 "py2-c-module-_hotshot",
293 "py2-c-module-_lsprof",
294 "py2-c-module-grp",
295 "py2-c-module-syslog",
296 "py2-c-module-audioop",
297 "py2-c-module-resource",
298 "py2-c-module-_multibytecodec",
Nan Zhangd5c4d4a2017-07-19 16:22:00 -0700299 "py2-c-module-_codecs_kr",
300 "py2-c-module-_codecs_jp",
301 "py2-c-module-_codecs_cn",
302 "py2-c-module-_codecs_tw",
303 "py2-c-module-_codecs_hk",
304 "py2-c-module-_codecs_iso2022",
Nan Zhangced27512017-06-19 18:01:34 -0700305 "py2-c-module-_multiprocessing",
306 "py2-c-module-zlib",
Nan Zhangd5c4d4a2017-07-19 16:22:00 -0700307 "py2-c-module-pyexpat",
308 "py2-c-module-_sqlite3",
309 "py2-c-module-_ctypes_test",
310 "py2-c-module-_ctypes",
Nan Zhangced27512017-06-19 18:01:34 -0700311 "libz",
Nan Zhangd5c4d4a2017-07-19 16:22:00 -0700312 "libexpat",
Nan Zhangc3939142017-05-25 23:21:27 -0700313 ],
Dan Willemsenc88c0802017-09-25 14:33:27 -0700314 target: {
Dan Willemsene41d4ce2017-10-02 10:41:09 -0700315 linux_glibc_x86_64: {
Dan Willemsenc88c0802017-09-25 14:33:27 -0700316 host_ldlibs: ["-lutil"],
Nan Zhang33bb4bb2017-12-01 20:00:54 +0000317 static_libs: [
318 "libsqlite",
319 ],
320 },
321 darwin_x86_64: {
322 static_libs: [
323 "libsqlite",
324 ],
325 },
326 // Use shared libsqlite for device side, otherwise
327 // the executable size will be really huge.
328 android: {
329 shared_libs: [
330 "libsqlite",
Nan Zhang04b6dca2017-12-05 13:34:52 -0800331 ],
Dan Willemsenc88c0802017-09-25 14:33:27 -0700332 },
333 },
Nan Zhangc3939142017-05-25 23:21:27 -0700334}
335
Nan Zhangced27512017-06-19 18:01:34 -0700336// Enabled extension py2-c-modules.
Nan Zhangc3939142017-05-25 23:21:27 -0700337
338cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700339 name: "py2-c-module-array",
Nan Zhangc3939142017-05-25 23:21:27 -0700340 defaults: ["py2-interp-defaults"],
341 srcs: [
342 "Modules/arraymodule.c",
343 ],
344}
345
346cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700347 name: "py2-c-module-cmath",
Nan Zhangc3939142017-05-25 23:21:27 -0700348 defaults: ["py2-interp-defaults"],
349 srcs: [
350 "Modules/cmathmodule.c",
351 "Modules/_math.c",
352 ],
353}
354
355cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700356 name: "py2-c-module-math",
Nan Zhangc3939142017-05-25 23:21:27 -0700357 defaults: ["py2-interp-defaults"],
358 srcs: [
359 "Modules/mathmodule.c",
360 "Modules/_math.c",
361 ],
362}
363
364cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700365 name: "py2-c-module-_struct",
Nan Zhangc3939142017-05-25 23:21:27 -0700366 defaults: ["py2-interp-defaults"],
367 srcs: [
368 "Modules/_struct.c",
369 ],
370}
371
372cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700373 name: "py2-c-module-time",
Nan Zhangc3939142017-05-25 23:21:27 -0700374 defaults: ["py2-interp-defaults"],
375 srcs: [
376 "Modules/timemodule.c",
377 ],
378}
379
380cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700381 name: "py2-c-module-operator",
Nan Zhangc3939142017-05-25 23:21:27 -0700382 defaults: ["py2-interp-defaults"],
383 srcs: [
384 "Modules/operator.c",
385 ],
386}
387
388cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700389 name: "py2-c-module-_testcapi",
Nan Zhangc3939142017-05-25 23:21:27 -0700390 defaults: ["py2-interp-defaults"],
391 srcs: [
392 "Modules/_testcapimodule.c",
393 ],
394}
395
396cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700397 name: "py2-c-module-_random",
Nan Zhangc3939142017-05-25 23:21:27 -0700398 defaults: ["py2-interp-defaults"],
399 srcs: [
400 "Modules/_randommodule.c",
401 ],
402}
403
404cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700405 name: "py2-c-module-_collections",
Nan Zhangc3939142017-05-25 23:21:27 -0700406 defaults: ["py2-interp-defaults"],
407 srcs: [
408 "Modules/_collectionsmodule.c",
409 ],
410}
411
412cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700413 name: "py2-c-module-_heapq",
Nan Zhangc3939142017-05-25 23:21:27 -0700414 defaults: ["py2-interp-defaults"],
415 srcs: [
416 "Modules/_heapqmodule.c",
417 ],
418}
419
420cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700421 name: "py2-c-module-itertools",
Nan Zhangc3939142017-05-25 23:21:27 -0700422 defaults: ["py2-interp-defaults"],
423 srcs: [
424 "Modules/itertoolsmodule.c",
425 ],
426}
427
428cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700429 name: "py2-c-module-strop",
Nan Zhangc3939142017-05-25 23:21:27 -0700430 defaults: ["py2-interp-defaults"],
431 srcs: [
432 "Modules/stropmodule.c",
433 ],
434}
435
436cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700437 name: "py2-c-module-_functools",
Nan Zhangc3939142017-05-25 23:21:27 -0700438 defaults: ["py2-interp-defaults"],
439 srcs: [
440 "Modules/_functoolsmodule.c",
441 ],
442}
443
444cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700445 name: "py2-c-module-datetime",
Nan Zhangc3939142017-05-25 23:21:27 -0700446 defaults: ["py2-interp-defaults"],
447 srcs: [
448 "Modules/datetimemodule.c",
449 ],
450}
451
452cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700453 name: "py2-c-module-_bisect",
Nan Zhangc3939142017-05-25 23:21:27 -0700454 defaults: ["py2-interp-defaults"],
455 srcs: [
456 "Modules/_bisectmodule.c",
457 ],
458}
459
460cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700461 name: "py2-c-module-unicodedata",
Nan Zhangc3939142017-05-25 23:21:27 -0700462 defaults: ["py2-interp-defaults"],
463 srcs: [
464 "Modules/unicodedata.c",
465 ],
466}
467
468cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700469 name: "py2-c-module-_io",
Nan Zhangc3939142017-05-25 23:21:27 -0700470 defaults: ["py2-interp-defaults"],
471 srcs: [
472 "Modules/_io/bufferedio.c",
473 "Modules/_io/bytesio.c",
474 "Modules/_io/fileio.c",
475 "Modules/_io/iobase.c",
476 "Modules/_io/_iomodule.c",
477 "Modules/_io/stringio.c",
478 "Modules/_io/textio.c",
479 ],
480 local_include_dirs: [
481 "Modules/_io",
482 ],
483}
484
485cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700486 name: "py2-c-module-fcntl",
Nan Zhangc3939142017-05-25 23:21:27 -0700487 defaults: ["py2-interp-defaults"],
488 srcs: [
489 "Modules/fcntlmodule.c",
490 ],
491}
492
493cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700494 name: "py2-c-module-select",
Nan Zhangc3939142017-05-25 23:21:27 -0700495 defaults: ["py2-interp-defaults"],
496 srcs: [
497 "Modules/selectmodule.c",
498 ],
499}
500
501cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700502 name: "py2-c-module-mmap",
Nan Zhangc3939142017-05-25 23:21:27 -0700503 defaults: ["py2-interp-defaults"],
504 srcs: [
505 "Modules/mmapmodule.c",
506 ],
507}
508
509cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700510 name: "py2-c-module-_csv",
Nan Zhangc3939142017-05-25 23:21:27 -0700511 defaults: ["py2-interp-defaults"],
512 srcs: [
513 "Modules/_csv.c",
514 ],
515}
516
517cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700518 name: "py2-c-module-_socket",
Nan Zhangc3939142017-05-25 23:21:27 -0700519 defaults: ["py2-interp-defaults"],
520 srcs: [
521 "Modules/socketmodule.c",
522 "Modules/timemodule.c",
523 ],
524}
525
526cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700527 name: "py2-c-module-termios",
Nan Zhangc3939142017-05-25 23:21:27 -0700528 defaults: ["py2-interp-defaults"],
529 srcs: [
530 "Modules/termios.c",
531 ],
532}
533
534cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700535 name: "py2-c-module-_md5",
Nan Zhangc3939142017-05-25 23:21:27 -0700536 defaults: ["py2-interp-defaults"],
537 srcs: [
538 "Modules/md5module.c",
539 "Modules/md5.c",
540 ],
541}
542
543cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700544 name: "py2-c-module-_sha",
Nan Zhangc3939142017-05-25 23:21:27 -0700545 defaults: ["py2-interp-defaults"],
546 srcs: [
547 "Modules/shamodule.c",
548 ],
549}
550
551cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700552 name: "py2-c-module-_sha256",
Nan Zhangc3939142017-05-25 23:21:27 -0700553 defaults: ["py2-interp-defaults"],
554 srcs: [
555 "Modules/sha256module.c",
556 ],
557}
558
559cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700560 name: "py2-c-module-_sha512",
Nan Zhangc3939142017-05-25 23:21:27 -0700561 defaults: ["py2-interp-defaults"],
562 srcs: [
563 "Modules/sha512module.c",
564 ],
565}
566
567cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700568 name: "py2-c-module-binascii",
Nan Zhangc3939142017-05-25 23:21:27 -0700569 defaults: ["py2-interp-defaults"],
570 srcs: [
571 "Modules/binascii.c",
572 ],
573}
574
575cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700576 name: "py2-c-module-parser",
Nan Zhangc3939142017-05-25 23:21:27 -0700577 defaults: ["py2-interp-defaults"],
578 srcs: [
579 "Modules/parsermodule.c",
580 ],
581}
582
583cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700584 name: "py2-c-module-cStringIO",
Nan Zhangc3939142017-05-25 23:21:27 -0700585 defaults: ["py2-interp-defaults"],
586 srcs: [
587 "Modules/cStringIO.c",
588 ],
589}
590
591cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700592 name: "py2-c-module-cPickle",
Nan Zhangc3939142017-05-25 23:21:27 -0700593 defaults: ["py2-interp-defaults"],
594 srcs: [
595 "Modules/cPickle.c",
596 ],
597}
598
599cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700600 name: "py2-c-module-xxsubtype",
Nan Zhangc3939142017-05-25 23:21:27 -0700601 defaults: ["py2-interp-defaults"],
602 srcs: [
603 "Modules/xxsubtype.c",
604 ],
605}
606
607cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700608 name: "py2-c-module-future_builtins",
Nan Zhangc3939142017-05-25 23:21:27 -0700609 defaults: ["py2-interp-defaults"],
610 srcs: [
611 "Modules/future_builtins.c",
612 ],
613}
614
615cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700616 name: "py2-c-module-_json",
Nan Zhangc3939142017-05-25 23:21:27 -0700617 defaults: ["py2-interp-defaults"],
618 srcs: [
619 "Modules/_json.c",
620 ],
621}
622
623cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700624 name: "py2-c-module-_hotshot",
Nan Zhangc3939142017-05-25 23:21:27 -0700625 defaults: ["py2-interp-defaults"],
626 srcs: [
627 "Modules/_hotshot.c",
628 ],
629}
630
631cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700632 name: "py2-c-module-_lsprof",
Nan Zhangc3939142017-05-25 23:21:27 -0700633 defaults: ["py2-interp-defaults"],
634 srcs: [
635 "Modules/_lsprof.c",
636 "Modules/rotatingtree.c",
637 ],
638}
639
640cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700641 name: "py2-c-module-grp",
Nan Zhangc3939142017-05-25 23:21:27 -0700642 defaults: ["py2-interp-defaults"],
643 srcs: [
644 "Modules/grpmodule.c",
645 "Modules/rotatingtree.c",
646 ],
647}
648
649cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700650 name: "py2-c-module-syslog",
Nan Zhangc3939142017-05-25 23:21:27 -0700651 defaults: ["py2-interp-defaults"],
652 srcs: [
653 "Modules/syslogmodule.c",
654 ],
655}
656
657cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700658 name: "py2-c-module-audioop",
Nan Zhangc3939142017-05-25 23:21:27 -0700659 defaults: ["py2-interp-defaults"],
660 srcs: [
661 "Modules/audioop.c",
662 ],
663}
664
665cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700666 name: "py2-c-module-resource",
Nan Zhangc3939142017-05-25 23:21:27 -0700667 defaults: ["py2-interp-defaults"],
668 srcs: [
669 "Modules/resource.c",
670 ],
671}
672
673cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700674 name: "py2-c-module-_multibytecodec",
Nan Zhangc3939142017-05-25 23:21:27 -0700675 defaults: ["py2-interp-defaults"],
676 srcs: [
677 "Modules/cjkcodecs/multibytecodec.c",
678 ],
679}
680
681cc_library_static {
Nan Zhangd5c4d4a2017-07-19 16:22:00 -0700682 name: "py2-c-module-_codecs_kr",
683 defaults: ["py2-interp-defaults"],
684 srcs: ["Modules/cjkcodecs/_codecs_kr.c"],
685}
686
687cc_library_static {
688 name: "py2-c-module-_codecs_jp",
689 defaults: ["py2-interp-defaults"],
690 srcs: ["Modules/cjkcodecs/_codecs_jp.c"],
691}
692
693cc_library_static {
694 name: "py2-c-module-_codecs_cn",
695 defaults: ["py2-interp-defaults"],
696 srcs: ["Modules/cjkcodecs/_codecs_cn.c"],
697}
698
699cc_library_static {
700 name: "py2-c-module-_codecs_tw",
701 defaults: ["py2-interp-defaults"],
702 srcs: ["Modules/cjkcodecs/_codecs_tw.c"],
703}
704
705cc_library_static {
706 name: "py2-c-module-_codecs_hk",
707 defaults: ["py2-interp-defaults"],
708 srcs: ["Modules/cjkcodecs/_codecs_hk.c"],
709}
710
711cc_library_static {
712 name: "py2-c-module-_codecs_iso2022",
713 defaults: ["py2-interp-defaults"],
714 srcs: ["Modules/cjkcodecs/_codecs_iso2022.c"],
715}
716
717cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700718 name: "py2-c-module-_multiprocessing",
Nan Zhangc3939142017-05-25 23:21:27 -0700719 defaults: ["py2-interp-defaults"],
720 srcs: [
721 "Modules/_multiprocessing/multiprocessing.c",
722 "Modules/_multiprocessing/semaphore.c",
723 "Modules/_multiprocessing/socket_connection.c",
724 ],
725}
Nan Zhangced27512017-06-19 18:01:34 -0700726
727cc_library_static {
728 name: "py2-c-module-zlib",
729 defaults: [
730 "py2-interp-defaults",
731 ],
732 cflags: [
733 "-DUSE_ZLIB_CRC32",
734 ],
735 srcs: [
736 "Modules/zlibmodule.c",
737 ],
738 static_libs: [
739 "libz",
740 ],
741}
Nan Zhangd5c4d4a2017-07-19 16:22:00 -0700742
743cc_library_static {
744 name: "py2-c-module-pyexpat",
745 defaults: [
746 "py2-interp-defaults",
747 ],
748 cflags: [
749 "-DUSE_PYEXPAT_CAPI",
750 ],
751 srcs: [
752 "Modules/pyexpat.c",
753 ],
754 static_libs: [
755 "libexpat",
756 ],
757}
758
759cc_library_static {
760 name: "py2-c-module-_sqlite3",
761 defaults: [
762 "py2-interp-defaults",
763 ],
764 cflags: [
765 "-DMODULE_NAME=\"sqlite3\"",
766 "-DSQLITE_OMIT_LOAD_EXTENSION",
767 "-Wno-format-security",
768 "-Wno-type-limits",
769 "-Wno-char-subscripts",
770 ],
771 local_include_dirs: [
772 "Modules/_sqlite",
773 ],
774 srcs: [
775 "Modules/_sqlite/cache.c",
776 "Modules/_sqlite/connection.c",
777 "Modules/_sqlite/cursor.c",
778 "Modules/_sqlite/microprotocols.c",
779 "Modules/_sqlite/module.c",
780 "Modules/_sqlite/prepare_protocol.c",
781 "Modules/_sqlite/row.c",
782 "Modules/_sqlite/statement.c",
783 "Modules/_sqlite/util.c",
784 ],
Nan Zhang33bb4bb2017-12-01 20:00:54 +0000785 target: {
786 linux_glibc_x86_64: {
787 static_libs: [
788 "libsqlite",
789 ],
790 },
791 darwin_x86_64: {
792 static_libs: [
793 "libsqlite",
794 ],
795 },
796 android: {
797 shared_libs: [
798 "libsqlite",
799 ]
800 },
801 },
Nan Zhangd5c4d4a2017-07-19 16:22:00 -0700802}
803
804cc_library_static {
805 name: "py2-c-module-_ctypes_test",
806 defaults: ["py2-interp-defaults"],
807 srcs: ["Modules/_ctypes/_ctypes_test.c"],
808}
809
Nan Zhangd5c4d4a2017-07-19 16:22:00 -0700810cc_library_static {
811 name: "py2-c-module-_ctypes",
812 defaults: [
813 "py2-interp-defaults",
814 ],
815 local_include_dirs: [
Nan Zhangd5c4d4a2017-07-19 16:22:00 -0700816 "Modules/_ctypes/libffi/include",
817 ],
818 srcs: [
819 "Modules/_ctypes/_ctypes.c",
820 "Modules/_ctypes/callbacks.c",
821 "Modules/_ctypes/callproc.c",
822 "Modules/_ctypes/stgdict.c",
823 "Modules/_ctypes/cfield.c",
824 "Modules/_ctypes/libffi/src/prep_cif.c",
825 "Modules/_ctypes/libffi/src/closures.c",
826 ],
827 arch: {
828 x86_64: {
829 local_include_dirs: [
830 "Modules/_ctypes/libffi/src/x86",
831 ],
832 srcs: [
833 "Modules/_ctypes/libffi/src/x86/ffi64.c",
Nan Zhangd5c4d4a2017-07-19 16:22:00 -0700834 "Modules/_ctypes/libffi/src/x86/ffi.c",
835 "Modules/_ctypes/libffi/src/x86/sysv.S",
836 ],
837 },
Nan Zhang33bb4bb2017-12-01 20:00:54 +0000838 x86: {
839 local_include_dirs: [
840 "Modules/_ctypes/libffi/src/x86",
841 ],
842 srcs: [
843 "Modules/_ctypes/libffi/src/x86/ffi.c",
844 "Modules/_ctypes/libffi/src/x86/sysv.S",
845 ],
846 },
847 arm: {
848 local_include_dirs: [
849 "android_arm/libffi",
850 "Modules/_ctypes/libffi/src/arm",
851 ],
852 srcs: [
853 "Modules/_ctypes/libffi/src/arm/ffi.c",
854 "Modules/_ctypes/libffi/src/arm/sysv.S",
855 "Modules/_ctypes/libffi/src/arm/trampoline.S",
856 ]
857 },
858 arm64: {
859 // arithmetic on a pointer in _ctypes/libffi/src/aarch64/ffi.c
860 cflags: ["-Wno-pointer-arith"],
861 local_include_dirs: [
862 "android_arm64/libffi",
863 "Modules/_ctypes/libffi/src/aarch64",
864 ],
865 srcs: [
866 "Modules/_ctypes/libffi/src/aarch64/ffi.c",
867 "Modules/_ctypes/libffi/src/aarch64/sysv.S",
868 ]
869 },
Nan Zhangd5c4d4a2017-07-19 16:22:00 -0700870 },
Dan Willemsenc88c0802017-09-25 14:33:27 -0700871 target: {
872 // Regenerate include dirs with android_regen.sh
873 darwin_x86_64: {
874 local_include_dirs: ["darwin_x86_64/libffi"],
875 srcs: [
876 "Modules/_ctypes/libffi/src/x86/darwin.S",
877 "Modules/_ctypes/libffi/src/x86/darwin64.S",
878 ],
879 },
Dan Willemsene41d4ce2017-10-02 10:41:09 -0700880 linux_glibc_x86_64: {
Dan Willemsenc88c0802017-09-25 14:33:27 -0700881 local_include_dirs: ["linux_x86_64/libffi"],
882 srcs: [
883 "Modules/_ctypes/libffi/src/x86/unix64.S",
884 ],
885 },
Nan Zhang33bb4bb2017-12-01 20:00:54 +0000886 android_x86: {
887 local_include_dirs: ["android_x86/libffi"],
888 srcs: [
889 "Modules/_ctypes/libffi/src/x86/win32.S",
890 ],
891 },
892 android_x86_64: {
893 local_include_dirs: ["android_x86_64/libffi"],
894 srcs: [
895 "Modules/_ctypes/libffi/src/x86/unix64.S",
896 ],
897 },
Dan Willemsenc88c0802017-09-25 14:33:27 -0700898 },
Nan Zhangd5c4d4a2017-07-19 16:22:00 -0700899}