blob: 5d72eda0726defd94b9c01e7035bf82c0da24822 [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",
Dan Willemsen04e39102019-02-14 21:00:06 -080028 "-Wno-invalid-source-encoding",
Tri Vo0b5cc4f2017-12-11 13:29:15 -080029 "-Wno-int-conversion",
Nan Zhangc3939142017-05-25 23:21:27 -070030 "-Wno-missing-field-initializers",
Yi Kong892b1a82018-12-12 11:58:51 -080031 "-Wno-null-pointer-arithmetic",
Elliott Hughese42a5962018-10-26 13:18:00 -070032 "-Wno-register",
Nan Zhangc3939142017-05-25 23:21:27 -070033 "-Wno-shift-count-overflow",
34 "-Wno-sign-compare",
35 "-Wno-tautological-compare",
36 "-Wno-tautological-constant-out-of-range-compare",
37 "-Wno-unused-parameter",
38 "-Wno-unused-result",
39 ],
40 local_include_dirs: ["Include"],
41 target: {
Nan Zhang33bb4bb2017-12-01 20:00:54 +000042 android_arm: {
43 local_include_dirs: ["android_arm/pyconfig"],
44 },
45 android_arm64: {
46 local_include_dirs: ["android_arm64/pyconfig"],
47 },
48 android_x86: {
49 local_include_dirs: ["android_x86/pyconfig"],
50 },
51 android_x86_64: {
52 local_include_dirs: ["android_x86_64/pyconfig"],
53 },
Dan Willemsenc88c0802017-09-25 14:33:27 -070054 // Regenerate include dirs with android_regen.sh
55 darwin_x86_64: {
56 local_include_dirs: ["darwin_x86_64/pyconfig"],
Stephen Hinesb788eb52017-11-20 17:31:30 -080057 cflags: [
58 "-Wno-deprecated-declarations",
59 "-Wno-pointer-arith",
60 ],
Dan Willemsenc88c0802017-09-25 14:33:27 -070061 },
Nan Zhang33bb4bb2017-12-01 20:00:54 +000062 linux_glibc_x86: {
63 enabled: false,
64 },
Dan Willemsene41d4ce2017-10-02 10:41:09 -070065 linux_glibc_x86_64: {
Dan Willemsenc88c0802017-09-25 14:33:27 -070066 local_include_dirs: ["linux_x86_64/pyconfig"],
Chih-Hung Hsieh6eebfa02017-10-13 14:40:05 -070067 cflags: ["-Werror"],
Dan Willemsenc88c0802017-09-25 14:33:27 -070068 },
69 windows: {
70 enabled: false,
71 },
Nan Zhangc3939142017-05-25 23:21:27 -070072 },
73 host_supported: true,
Nan Zhang33bb4bb2017-12-01 20:00:54 +000074 compile_multilib: "both",
75 multilib: {
76 lib32: {
77 suffix: "32",
78 },
79 lib64: {
80 suffix: "64",
81 },
82 },
Nan Zhangc3939142017-05-25 23:21:27 -070083}
84
85cc_library_static {
86 name: "py2-interp-parser",
87 defaults: ["py2-interp-defaults"],
88 srcs: [
89 "Parser/acceler.c",
90 "Parser/bitset.c",
91 "Parser/firstsets.c",
92 "Parser/grammar.c",
93 "Parser/grammar1.c",
94 "Parser/listnode.c",
95 "Parser/metagrammar.c",
96 "Parser/myreadline.c",
97 "Parser/node.c",
98 "Parser/parser.c",
99 "Parser/parsetok.c",
100 "Parser/pgen.c",
101 "Parser/tokenizer.c",
102 ],
103}
104
105cc_library_static {
106 name: "py2-interp-object",
107 defaults: ["py2-interp-defaults"],
108 srcs: [
109 "Objects/abstract.c",
110 "Objects/boolobject.c",
111 "Objects/bufferobject.c",
112 "Objects/bytes_methods.c",
113 "Objects/bytearrayobject.c",
114 "Objects/capsule.c",
115 "Objects/cellobject.c",
116 "Objects/classobject.c",
117 "Objects/cobject.c",
118 "Objects/codeobject.c",
119 "Objects/complexobject.c",
120 "Objects/descrobject.c",
121 "Objects/enumobject.c",
122 "Objects/exceptions.c",
123 "Objects/genobject.c",
124 "Objects/fileobject.c",
125 "Objects/floatobject.c",
126 "Objects/frameobject.c",
127 "Objects/funcobject.c",
128 "Objects/intobject.c",
129 "Objects/iterobject.c",
130 "Objects/listobject.c",
131 "Objects/longobject.c",
132 "Objects/dictobject.c",
133 "Objects/memoryobject.c",
134 "Objects/methodobject.c",
135 "Objects/moduleobject.c",
136 "Objects/object.c",
137 "Objects/obmalloc.c",
138 "Objects/rangeobject.c",
139 "Objects/setobject.c",
140 "Objects/sliceobject.c",
141 "Objects/stringobject.c",
142 "Objects/structseq.c",
143 "Objects/tupleobject.c",
144 "Objects/typeobject.c",
145 "Objects/weakrefobject.c",
146 "Objects/unicodeobject.c",
147 "Objects/unicodectype.c",
148 ],
149}
150
151cc_library_static {
152 name: "py2-interp-python",
153 defaults: ["py2-interp-defaults"],
Nan Zhang04b6dca2017-12-05 13:34:52 -0800154 target: {
155 linux: {
156 cflags: [
157 "-DPLATFORM=\"linux2\"",
158 ],
159 },
160 darwin_x86_64: {
161 cflags: [
162 "-DPLATFORM=\"darwin\"",
163 ],
164 },
165 },
Nan Zhangc3939142017-05-25 23:21:27 -0700166 srcs: [
167 "Python/_warnings.c",
168 "Python/Python-ast.c",
169 "Python/asdl.c",
170 "Python/ast.c",
171 "Python/bltinmodule.c",
172 "Python/ceval.c",
173 "Python/compile.c",
174 "Python/codecs.c",
175 "Python/errors.c",
176 "Python/frozen.c",
177 "Python/frozenmain.c",
178 "Python/future.c",
179 "Python/getargs.c",
180 "Python/getcompiler.c",
181 "Python/getcopyright.c",
182 "Python/getplatform.c",
183 "Python/getversion.c",
184 "Python/graminit.c",
185 "Python/import.c",
186 "Python/importdl.c",
187 "Python/marshal.c",
188 "Python/modsupport.c",
189 "Python/mystrtoul.c",
190 "Python/mysnprintf.c",
191 "Python/peephole.c",
192 "Python/pyarena.c",
193 "Python/pyctype.c",
194 "Python/pyfpe.c",
195 "Python/pymath.c",
196 "Python/pystate.c",
197 "Python/pythonrun.c",
198 "Python/random.c",
199 "Python/structmember.c",
200 "Python/symtable.c",
201 "Python/sysmodule.c",
202 "Python/traceback.c",
203 "Python/getopt.c",
204 "Python/pystrcmp.c",
205 "Python/pystrtod.c",
206 "Python/dtoa.c",
207 "Python/formatter_unicode.c",
208 "Python/formatter_string.c",
209 "Python/dynload_shlib.c",
210 "Python/thread.c",
211 ],
212}
213
214cc_binary {
Nan Zhangced27512017-06-19 18:01:34 -0700215 name: "py2-launcher",
Nan Zhangc3939142017-05-25 23:21:27 -0700216 defaults: ["py2-interp-defaults"],
Nan Zhangc3939142017-05-25 23:21:27 -0700217 cflags: [
Nan Zhangc3939142017-05-25 23:21:27 -0700218 "-DVERSION=\"2.7\"",
Nan Zhangced27512017-06-19 18:01:34 -0700219 "-DVPATH=\"\"",
220 "-DPREFIX=\"\"",
221 "-DEXEC_PREFIX=\"\"",
Dan Willemsen99f27542019-02-14 21:21:48 -0800222 "-DPYTHONPATH=\"..:\"",
223 "-DANDROID_SKIP_ZIP_PATH",
224 "-DANDROID_SKIP_EXEC_PREFIX_PATH",
225 "-DANDROID_LIB_PYTHON_PATH=\"internal/stdlib\"",
Igor Murashkinec37d4a2018-08-01 14:30:55 -0700226 "-DDATE=\"Dec 31 1969\"",
227 "-DTIME=\"23:59:59\"",
Nan Zhangc3939142017-05-25 23:21:27 -0700228 ],
229 srcs: [
Nan Zhangced27512017-06-19 18:01:34 -0700230 "Launcher/launcher_main.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",
Dan Willemseneba50a52018-11-16 17:27:26 -0800246 "Modules/main.c",
Nan Zhangced27512017-06-19 18:01:34 -0700247 ],
248 // NOTE: Please update Modules/config.c if new lib get added in the static_libs.
Nan Zhangc3939142017-05-25 23:21:27 -0700249 static_libs: [
Nan Zhangced27512017-06-19 18:01:34 -0700250 "libbase",
251 // Be careful the order of these three static libraries below due to
252 // missing symbols issues.
Nan Zhangc3939142017-05-25 23:21:27 -0700253 "py2-interp-object",
254 "py2-interp-python",
Nan Zhangced27512017-06-19 18:01:34 -0700255 "py2-interp-parser",
256 "py2-c-module-array",
257 "py2-c-module-cmath",
258 "py2-c-module-math",
259 "py2-c-module-_struct",
260 "py2-c-module-time",
261 "py2-c-module-operator",
262 "py2-c-module-_testcapi",
263 "py2-c-module-_random",
264 "py2-c-module-_collections",
265 "py2-c-module-_heapq",
266 "py2-c-module-itertools",
267 "py2-c-module-strop",
268 "py2-c-module-_functools",
269 "py2-c-module-datetime",
270 "py2-c-module-_bisect",
271 "py2-c-module-unicodedata",
272 "py2-c-module-_io",
273 "py2-c-module-fcntl",
274 "py2-c-module-select",
275 "py2-c-module-mmap",
276 "py2-c-module-_csv",
277 "py2-c-module-_socket",
278 "py2-c-module-termios",
Dan Willemsendbcebe02019-01-07 18:07:24 -0800279 "py2-c-module-_ssl",
Nan Zhangced27512017-06-19 18:01:34 -0700280 "py2-c-module-_md5",
281 "py2-c-module-_sha",
282 "py2-c-module-_sha256",
283 "py2-c-module-_sha512",
284 "py2-c-module-binascii",
285 "py2-c-module-parser",
286 "py2-c-module-cStringIO",
287 "py2-c-module-cPickle",
288 "py2-c-module-xxsubtype",
289 "py2-c-module-future_builtins",
290 "py2-c-module-_json",
291 "py2-c-module-_hotshot",
292 "py2-c-module-_lsprof",
293 "py2-c-module-grp",
294 "py2-c-module-syslog",
295 "py2-c-module-audioop",
296 "py2-c-module-resource",
297 "py2-c-module-_multibytecodec",
Nan Zhangd5c4d4a2017-07-19 16:22:00 -0700298 "py2-c-module-_codecs_kr",
299 "py2-c-module-_codecs_jp",
300 "py2-c-module-_codecs_cn",
301 "py2-c-module-_codecs_tw",
302 "py2-c-module-_codecs_hk",
303 "py2-c-module-_codecs_iso2022",
Nan Zhangced27512017-06-19 18:01:34 -0700304 "py2-c-module-_multiprocessing",
305 "py2-c-module-zlib",
Nan Zhangd5c4d4a2017-07-19 16:22:00 -0700306 "py2-c-module-pyexpat",
307 "py2-c-module-_sqlite3",
308 "py2-c-module-_ctypes_test",
309 "py2-c-module-_ctypes",
Dan Willemsendbcebe02019-01-07 18:07:24 -0800310 "libcrypto",
Nan Zhangd5c4d4a2017-07-19 16:22:00 -0700311 "libexpat",
Dan Willemsendbcebe02019-01-07 18:07:24 -0800312 "libssl",
313 "libz",
Nan Zhangc3939142017-05-25 23:21:27 -0700314 ],
Dan Willemsenc88c0802017-09-25 14:33:27 -0700315 target: {
Dan Willemsene41d4ce2017-10-02 10:41:09 -0700316 linux_glibc_x86_64: {
Dan Willemsenc88c0802017-09-25 14:33:27 -0700317 host_ldlibs: ["-lutil"],
Nan Zhang33bb4bb2017-12-01 20:00:54 +0000318 },
Dan Willemseneba50a52018-11-16 17:27:26 -0800319 host: {
320 static_libs: ["libsqlite"],
Nan Zhang33bb4bb2017-12-01 20:00:54 +0000321 },
322 // Use shared libsqlite for device side, otherwise
323 // the executable size will be really huge.
324 android: {
Dan Willemseneba50a52018-11-16 17:27:26 -0800325 shared_libs: ["libsqlite"],
Dan Willemsenc88c0802017-09-25 14:33:27 -0700326 },
327 },
Nan Zhangc3939142017-05-25 23:21:27 -0700328}
329
Nan Zhangced27512017-06-19 18:01:34 -0700330// Enabled extension py2-c-modules.
Nan Zhangc3939142017-05-25 23:21:27 -0700331
332cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700333 name: "py2-c-module-array",
Nan Zhangc3939142017-05-25 23:21:27 -0700334 defaults: ["py2-interp-defaults"],
335 srcs: [
336 "Modules/arraymodule.c",
337 ],
338}
339
340cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700341 name: "py2-c-module-cmath",
Nan Zhangc3939142017-05-25 23:21:27 -0700342 defaults: ["py2-interp-defaults"],
343 srcs: [
344 "Modules/cmathmodule.c",
345 "Modules/_math.c",
346 ],
347}
348
349cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700350 name: "py2-c-module-math",
Nan Zhangc3939142017-05-25 23:21:27 -0700351 defaults: ["py2-interp-defaults"],
352 srcs: [
353 "Modules/mathmodule.c",
354 "Modules/_math.c",
355 ],
356}
357
358cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700359 name: "py2-c-module-_struct",
Nan Zhangc3939142017-05-25 23:21:27 -0700360 defaults: ["py2-interp-defaults"],
361 srcs: [
362 "Modules/_struct.c",
363 ],
364}
365
366cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700367 name: "py2-c-module-time",
Nan Zhangc3939142017-05-25 23:21:27 -0700368 defaults: ["py2-interp-defaults"],
369 srcs: [
370 "Modules/timemodule.c",
371 ],
372}
373
374cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700375 name: "py2-c-module-operator",
Nan Zhangc3939142017-05-25 23:21:27 -0700376 defaults: ["py2-interp-defaults"],
377 srcs: [
378 "Modules/operator.c",
379 ],
380}
381
382cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700383 name: "py2-c-module-_testcapi",
Nan Zhangc3939142017-05-25 23:21:27 -0700384 defaults: ["py2-interp-defaults"],
385 srcs: [
386 "Modules/_testcapimodule.c",
387 ],
388}
389
390cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700391 name: "py2-c-module-_random",
Nan Zhangc3939142017-05-25 23:21:27 -0700392 defaults: ["py2-interp-defaults"],
393 srcs: [
394 "Modules/_randommodule.c",
395 ],
396}
397
398cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700399 name: "py2-c-module-_collections",
Nan Zhangc3939142017-05-25 23:21:27 -0700400 defaults: ["py2-interp-defaults"],
401 srcs: [
402 "Modules/_collectionsmodule.c",
403 ],
404}
405
406cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700407 name: "py2-c-module-_heapq",
Nan Zhangc3939142017-05-25 23:21:27 -0700408 defaults: ["py2-interp-defaults"],
409 srcs: [
410 "Modules/_heapqmodule.c",
411 ],
412}
413
414cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700415 name: "py2-c-module-itertools",
Nan Zhangc3939142017-05-25 23:21:27 -0700416 defaults: ["py2-interp-defaults"],
417 srcs: [
418 "Modules/itertoolsmodule.c",
419 ],
420}
421
422cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700423 name: "py2-c-module-strop",
Nan Zhangc3939142017-05-25 23:21:27 -0700424 defaults: ["py2-interp-defaults"],
425 srcs: [
426 "Modules/stropmodule.c",
427 ],
428}
429
430cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700431 name: "py2-c-module-_functools",
Nan Zhangc3939142017-05-25 23:21:27 -0700432 defaults: ["py2-interp-defaults"],
433 srcs: [
434 "Modules/_functoolsmodule.c",
435 ],
436}
437
438cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700439 name: "py2-c-module-datetime",
Nan Zhangc3939142017-05-25 23:21:27 -0700440 defaults: ["py2-interp-defaults"],
441 srcs: [
442 "Modules/datetimemodule.c",
443 ],
444}
445
446cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700447 name: "py2-c-module-_bisect",
Nan Zhangc3939142017-05-25 23:21:27 -0700448 defaults: ["py2-interp-defaults"],
449 srcs: [
450 "Modules/_bisectmodule.c",
451 ],
452}
453
454cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700455 name: "py2-c-module-unicodedata",
Nan Zhangc3939142017-05-25 23:21:27 -0700456 defaults: ["py2-interp-defaults"],
457 srcs: [
458 "Modules/unicodedata.c",
459 ],
460}
461
462cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700463 name: "py2-c-module-_io",
Nan Zhangc3939142017-05-25 23:21:27 -0700464 defaults: ["py2-interp-defaults"],
465 srcs: [
466 "Modules/_io/bufferedio.c",
467 "Modules/_io/bytesio.c",
468 "Modules/_io/fileio.c",
469 "Modules/_io/iobase.c",
470 "Modules/_io/_iomodule.c",
471 "Modules/_io/stringio.c",
472 "Modules/_io/textio.c",
473 ],
474 local_include_dirs: [
475 "Modules/_io",
476 ],
477}
478
479cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700480 name: "py2-c-module-fcntl",
Nan Zhangc3939142017-05-25 23:21:27 -0700481 defaults: ["py2-interp-defaults"],
482 srcs: [
483 "Modules/fcntlmodule.c",
484 ],
485}
486
487cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700488 name: "py2-c-module-select",
Nan Zhangc3939142017-05-25 23:21:27 -0700489 defaults: ["py2-interp-defaults"],
490 srcs: [
491 "Modules/selectmodule.c",
492 ],
493}
494
495cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700496 name: "py2-c-module-mmap",
Nan Zhangc3939142017-05-25 23:21:27 -0700497 defaults: ["py2-interp-defaults"],
498 srcs: [
499 "Modules/mmapmodule.c",
500 ],
501}
502
503cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700504 name: "py2-c-module-_csv",
Nan Zhangc3939142017-05-25 23:21:27 -0700505 defaults: ["py2-interp-defaults"],
506 srcs: [
507 "Modules/_csv.c",
508 ],
509}
510
511cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700512 name: "py2-c-module-_socket",
Nan Zhangc3939142017-05-25 23:21:27 -0700513 defaults: ["py2-interp-defaults"],
514 srcs: [
515 "Modules/socketmodule.c",
516 "Modules/timemodule.c",
517 ],
518}
519
520cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700521 name: "py2-c-module-termios",
Nan Zhangc3939142017-05-25 23:21:27 -0700522 defaults: ["py2-interp-defaults"],
523 srcs: [
524 "Modules/termios.c",
525 ],
526}
527
528cc_library_static {
Dan Willemsendbcebe02019-01-07 18:07:24 -0800529 name: "py2-c-module-_ssl",
530 defaults: ["py2-interp-defaults"],
531 srcs: ["Modules/_ssl.c"],
532 cflags: ["-Wno-incompatible-pointer-types-discards-qualifiers"],
533 static_libs: [
534 "libssl",
535 "libcrypto",
536 ],
537}
538
539cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700540 name: "py2-c-module-_md5",
Nan Zhangc3939142017-05-25 23:21:27 -0700541 defaults: ["py2-interp-defaults"],
542 srcs: [
543 "Modules/md5module.c",
544 "Modules/md5.c",
545 ],
546}
547
548cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700549 name: "py2-c-module-_sha",
Nan Zhangc3939142017-05-25 23:21:27 -0700550 defaults: ["py2-interp-defaults"],
551 srcs: [
552 "Modules/shamodule.c",
553 ],
554}
555
556cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700557 name: "py2-c-module-_sha256",
Nan Zhangc3939142017-05-25 23:21:27 -0700558 defaults: ["py2-interp-defaults"],
559 srcs: [
560 "Modules/sha256module.c",
561 ],
562}
563
564cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700565 name: "py2-c-module-_sha512",
Nan Zhangc3939142017-05-25 23:21:27 -0700566 defaults: ["py2-interp-defaults"],
567 srcs: [
568 "Modules/sha512module.c",
569 ],
570}
571
572cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700573 name: "py2-c-module-binascii",
Nan Zhangc3939142017-05-25 23:21:27 -0700574 defaults: ["py2-interp-defaults"],
575 srcs: [
576 "Modules/binascii.c",
577 ],
578}
579
580cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700581 name: "py2-c-module-parser",
Nan Zhangc3939142017-05-25 23:21:27 -0700582 defaults: ["py2-interp-defaults"],
583 srcs: [
584 "Modules/parsermodule.c",
585 ],
586}
587
588cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700589 name: "py2-c-module-cStringIO",
Nan Zhangc3939142017-05-25 23:21:27 -0700590 defaults: ["py2-interp-defaults"],
591 srcs: [
592 "Modules/cStringIO.c",
593 ],
594}
595
596cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700597 name: "py2-c-module-cPickle",
Nan Zhangc3939142017-05-25 23:21:27 -0700598 defaults: ["py2-interp-defaults"],
599 srcs: [
600 "Modules/cPickle.c",
601 ],
602}
603
604cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700605 name: "py2-c-module-xxsubtype",
Nan Zhangc3939142017-05-25 23:21:27 -0700606 defaults: ["py2-interp-defaults"],
607 srcs: [
608 "Modules/xxsubtype.c",
609 ],
610}
611
612cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700613 name: "py2-c-module-future_builtins",
Nan Zhangc3939142017-05-25 23:21:27 -0700614 defaults: ["py2-interp-defaults"],
615 srcs: [
616 "Modules/future_builtins.c",
617 ],
618}
619
620cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700621 name: "py2-c-module-_json",
Nan Zhangc3939142017-05-25 23:21:27 -0700622 defaults: ["py2-interp-defaults"],
623 srcs: [
624 "Modules/_json.c",
625 ],
626}
627
628cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700629 name: "py2-c-module-_hotshot",
Nan Zhangc3939142017-05-25 23:21:27 -0700630 defaults: ["py2-interp-defaults"],
631 srcs: [
632 "Modules/_hotshot.c",
633 ],
634}
635
636cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700637 name: "py2-c-module-_lsprof",
Nan Zhangc3939142017-05-25 23:21:27 -0700638 defaults: ["py2-interp-defaults"],
639 srcs: [
640 "Modules/_lsprof.c",
641 "Modules/rotatingtree.c",
642 ],
643}
644
645cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700646 name: "py2-c-module-grp",
Nan Zhangc3939142017-05-25 23:21:27 -0700647 defaults: ["py2-interp-defaults"],
648 srcs: [
649 "Modules/grpmodule.c",
650 "Modules/rotatingtree.c",
651 ],
652}
653
654cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700655 name: "py2-c-module-syslog",
Nan Zhangc3939142017-05-25 23:21:27 -0700656 defaults: ["py2-interp-defaults"],
657 srcs: [
658 "Modules/syslogmodule.c",
659 ],
660}
661
662cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700663 name: "py2-c-module-audioop",
Nan Zhangc3939142017-05-25 23:21:27 -0700664 defaults: ["py2-interp-defaults"],
665 srcs: [
666 "Modules/audioop.c",
667 ],
668}
669
670cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700671 name: "py2-c-module-resource",
Nan Zhangc3939142017-05-25 23:21:27 -0700672 defaults: ["py2-interp-defaults"],
673 srcs: [
674 "Modules/resource.c",
675 ],
676}
677
678cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700679 name: "py2-c-module-_multibytecodec",
Nan Zhangc3939142017-05-25 23:21:27 -0700680 defaults: ["py2-interp-defaults"],
681 srcs: [
682 "Modules/cjkcodecs/multibytecodec.c",
683 ],
684}
685
686cc_library_static {
Nan Zhangd5c4d4a2017-07-19 16:22:00 -0700687 name: "py2-c-module-_codecs_kr",
688 defaults: ["py2-interp-defaults"],
689 srcs: ["Modules/cjkcodecs/_codecs_kr.c"],
690}
691
692cc_library_static {
693 name: "py2-c-module-_codecs_jp",
694 defaults: ["py2-interp-defaults"],
695 srcs: ["Modules/cjkcodecs/_codecs_jp.c"],
696}
697
698cc_library_static {
699 name: "py2-c-module-_codecs_cn",
700 defaults: ["py2-interp-defaults"],
701 srcs: ["Modules/cjkcodecs/_codecs_cn.c"],
702}
703
704cc_library_static {
705 name: "py2-c-module-_codecs_tw",
706 defaults: ["py2-interp-defaults"],
707 srcs: ["Modules/cjkcodecs/_codecs_tw.c"],
708}
709
710cc_library_static {
711 name: "py2-c-module-_codecs_hk",
712 defaults: ["py2-interp-defaults"],
713 srcs: ["Modules/cjkcodecs/_codecs_hk.c"],
714}
715
716cc_library_static {
717 name: "py2-c-module-_codecs_iso2022",
718 defaults: ["py2-interp-defaults"],
719 srcs: ["Modules/cjkcodecs/_codecs_iso2022.c"],
720}
721
722cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700723 name: "py2-c-module-_multiprocessing",
Nan Zhangc3939142017-05-25 23:21:27 -0700724 defaults: ["py2-interp-defaults"],
725 srcs: [
726 "Modules/_multiprocessing/multiprocessing.c",
727 "Modules/_multiprocessing/semaphore.c",
728 "Modules/_multiprocessing/socket_connection.c",
729 ],
730}
Nan Zhangced27512017-06-19 18:01:34 -0700731
732cc_library_static {
733 name: "py2-c-module-zlib",
734 defaults: [
735 "py2-interp-defaults",
736 ],
737 cflags: [
738 "-DUSE_ZLIB_CRC32",
739 ],
740 srcs: [
741 "Modules/zlibmodule.c",
742 ],
743 static_libs: [
744 "libz",
745 ],
746}
Nan Zhangd5c4d4a2017-07-19 16:22:00 -0700747
748cc_library_static {
749 name: "py2-c-module-pyexpat",
750 defaults: [
751 "py2-interp-defaults",
752 ],
753 cflags: [
754 "-DUSE_PYEXPAT_CAPI",
755 ],
756 srcs: [
757 "Modules/pyexpat.c",
758 ],
759 static_libs: [
760 "libexpat",
761 ],
762}
763
764cc_library_static {
765 name: "py2-c-module-_sqlite3",
766 defaults: [
767 "py2-interp-defaults",
768 ],
769 cflags: [
770 "-DMODULE_NAME=\"sqlite3\"",
771 "-DSQLITE_OMIT_LOAD_EXTENSION",
772 "-Wno-format-security",
773 "-Wno-type-limits",
774 "-Wno-char-subscripts",
775 ],
776 local_include_dirs: [
777 "Modules/_sqlite",
778 ],
779 srcs: [
780 "Modules/_sqlite/cache.c",
781 "Modules/_sqlite/connection.c",
782 "Modules/_sqlite/cursor.c",
783 "Modules/_sqlite/microprotocols.c",
784 "Modules/_sqlite/module.c",
785 "Modules/_sqlite/prepare_protocol.c",
786 "Modules/_sqlite/row.c",
787 "Modules/_sqlite/statement.c",
788 "Modules/_sqlite/util.c",
789 ],
Nan Zhang33bb4bb2017-12-01 20:00:54 +0000790 target: {
791 linux_glibc_x86_64: {
792 static_libs: [
793 "libsqlite",
794 ],
795 },
796 darwin_x86_64: {
797 static_libs: [
798 "libsqlite",
799 ],
800 },
801 android: {
802 shared_libs: [
803 "libsqlite",
Dan Willemsen04e39102019-02-14 21:00:06 -0800804 ],
Nan Zhang33bb4bb2017-12-01 20:00:54 +0000805 },
806 },
Nan Zhangd5c4d4a2017-07-19 16:22:00 -0700807}
808
809cc_library_static {
810 name: "py2-c-module-_ctypes_test",
811 defaults: ["py2-interp-defaults"],
812 srcs: ["Modules/_ctypes/_ctypes_test.c"],
813}
814
Nan Zhangd5c4d4a2017-07-19 16:22:00 -0700815cc_library_static {
816 name: "py2-c-module-_ctypes",
817 defaults: [
818 "py2-interp-defaults",
819 ],
820 local_include_dirs: [
Nan Zhangd5c4d4a2017-07-19 16:22:00 -0700821 "Modules/_ctypes/libffi/include",
822 ],
823 srcs: [
824 "Modules/_ctypes/_ctypes.c",
825 "Modules/_ctypes/callbacks.c",
826 "Modules/_ctypes/callproc.c",
827 "Modules/_ctypes/stgdict.c",
828 "Modules/_ctypes/cfield.c",
829 "Modules/_ctypes/libffi/src/prep_cif.c",
830 "Modules/_ctypes/libffi/src/closures.c",
831 ],
832 arch: {
833 x86_64: {
834 local_include_dirs: [
835 "Modules/_ctypes/libffi/src/x86",
836 ],
837 srcs: [
838 "Modules/_ctypes/libffi/src/x86/ffi64.c",
Nan Zhangd5c4d4a2017-07-19 16:22:00 -0700839 "Modules/_ctypes/libffi/src/x86/ffi.c",
840 "Modules/_ctypes/libffi/src/x86/sysv.S",
841 ],
842 },
Nan Zhang33bb4bb2017-12-01 20:00:54 +0000843 x86: {
844 local_include_dirs: [
845 "Modules/_ctypes/libffi/src/x86",
846 ],
847 srcs: [
848 "Modules/_ctypes/libffi/src/x86/ffi.c",
849 "Modules/_ctypes/libffi/src/x86/sysv.S",
850 ],
851 },
852 arm: {
853 local_include_dirs: [
854 "android_arm/libffi",
855 "Modules/_ctypes/libffi/src/arm",
856 ],
857 srcs: [
858 "Modules/_ctypes/libffi/src/arm/ffi.c",
859 "Modules/_ctypes/libffi/src/arm/sysv.S",
860 "Modules/_ctypes/libffi/src/arm/trampoline.S",
Dan Willemsen04e39102019-02-14 21:00:06 -0800861 ],
Nan Zhang33bb4bb2017-12-01 20:00:54 +0000862 },
863 arm64: {
864 // arithmetic on a pointer in _ctypes/libffi/src/aarch64/ffi.c
865 cflags: ["-Wno-pointer-arith"],
866 local_include_dirs: [
867 "android_arm64/libffi",
868 "Modules/_ctypes/libffi/src/aarch64",
869 ],
870 srcs: [
871 "Modules/_ctypes/libffi/src/aarch64/ffi.c",
872 "Modules/_ctypes/libffi/src/aarch64/sysv.S",
Dan Willemsen04e39102019-02-14 21:00:06 -0800873 ],
Nan Zhang33bb4bb2017-12-01 20:00:54 +0000874 },
Nan Zhangd5c4d4a2017-07-19 16:22:00 -0700875 },
Dan Willemsenc88c0802017-09-25 14:33:27 -0700876 target: {
877 // Regenerate include dirs with android_regen.sh
878 darwin_x86_64: {
879 local_include_dirs: ["darwin_x86_64/libffi"],
880 srcs: [
881 "Modules/_ctypes/libffi/src/x86/darwin.S",
882 "Modules/_ctypes/libffi/src/x86/darwin64.S",
883 ],
884 },
Dan Willemsene41d4ce2017-10-02 10:41:09 -0700885 linux_glibc_x86_64: {
Dan Willemsenc88c0802017-09-25 14:33:27 -0700886 local_include_dirs: ["linux_x86_64/libffi"],
887 srcs: [
888 "Modules/_ctypes/libffi/src/x86/unix64.S",
889 ],
890 },
Nan Zhang33bb4bb2017-12-01 20:00:54 +0000891 android_x86: {
892 local_include_dirs: ["android_x86/libffi"],
893 srcs: [
894 "Modules/_ctypes/libffi/src/x86/win32.S",
895 ],
896 },
897 android_x86_64: {
898 local_include_dirs: ["android_x86_64/libffi"],
899 srcs: [
900 "Modules/_ctypes/libffi/src/x86/unix64.S",
901 ],
902 },
Dan Willemsenc88c0802017-09-25 14:33:27 -0700903 },
Nan Zhangd5c4d4a2017-07-19 16:22:00 -0700904}