blob: 11a2ab684ef42289774223acbaafd40462ccdae3 [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 },
Alex Light6f3263d2019-02-27 14:37:14 -080051 linux_bionic: {
52 // NB linux_bionic is a 'host' architecture but it uses the bionic libc like 'android'
53 // targets so use the android pyconfig.
54 local_include_dirs: ["android_x86_64/pyconfig"],
55 },
Nan Zhang33bb4bb2017-12-01 20:00:54 +000056 android_x86_64: {
57 local_include_dirs: ["android_x86_64/pyconfig"],
58 },
Dan Willemsenc88c0802017-09-25 14:33:27 -070059 // Regenerate include dirs with android_regen.sh
60 darwin_x86_64: {
61 local_include_dirs: ["darwin_x86_64/pyconfig"],
Stephen Hinesb788eb52017-11-20 17:31:30 -080062 cflags: [
63 "-Wno-deprecated-declarations",
64 "-Wno-pointer-arith",
65 ],
Dan Willemsenc88c0802017-09-25 14:33:27 -070066 },
Nan Zhang33bb4bb2017-12-01 20:00:54 +000067 linux_glibc_x86: {
68 enabled: false,
69 },
Dan Willemsene41d4ce2017-10-02 10:41:09 -070070 linux_glibc_x86_64: {
Dan Willemsenc88c0802017-09-25 14:33:27 -070071 local_include_dirs: ["linux_x86_64/pyconfig"],
Chih-Hung Hsieh6eebfa02017-10-13 14:40:05 -070072 cflags: ["-Werror"],
Dan Willemsenc88c0802017-09-25 14:33:27 -070073 },
74 windows: {
75 enabled: false,
76 },
Nan Zhangc3939142017-05-25 23:21:27 -070077 },
78 host_supported: true,
Nan Zhang33bb4bb2017-12-01 20:00:54 +000079 compile_multilib: "both",
80 multilib: {
81 lib32: {
82 suffix: "32",
83 },
84 lib64: {
85 suffix: "64",
86 },
87 },
Nan Zhangc3939142017-05-25 23:21:27 -070088}
89
90cc_library_static {
91 name: "py2-interp-parser",
92 defaults: ["py2-interp-defaults"],
93 srcs: [
94 "Parser/acceler.c",
95 "Parser/bitset.c",
96 "Parser/firstsets.c",
97 "Parser/grammar.c",
98 "Parser/grammar1.c",
99 "Parser/listnode.c",
100 "Parser/metagrammar.c",
101 "Parser/myreadline.c",
102 "Parser/node.c",
103 "Parser/parser.c",
104 "Parser/parsetok.c",
105 "Parser/pgen.c",
106 "Parser/tokenizer.c",
107 ],
108}
109
110cc_library_static {
111 name: "py2-interp-object",
112 defaults: ["py2-interp-defaults"],
113 srcs: [
114 "Objects/abstract.c",
115 "Objects/boolobject.c",
116 "Objects/bufferobject.c",
117 "Objects/bytes_methods.c",
118 "Objects/bytearrayobject.c",
119 "Objects/capsule.c",
120 "Objects/cellobject.c",
121 "Objects/classobject.c",
122 "Objects/cobject.c",
123 "Objects/codeobject.c",
124 "Objects/complexobject.c",
125 "Objects/descrobject.c",
126 "Objects/enumobject.c",
127 "Objects/exceptions.c",
128 "Objects/genobject.c",
129 "Objects/fileobject.c",
130 "Objects/floatobject.c",
131 "Objects/frameobject.c",
132 "Objects/funcobject.c",
133 "Objects/intobject.c",
134 "Objects/iterobject.c",
135 "Objects/listobject.c",
136 "Objects/longobject.c",
137 "Objects/dictobject.c",
138 "Objects/memoryobject.c",
139 "Objects/methodobject.c",
140 "Objects/moduleobject.c",
141 "Objects/object.c",
142 "Objects/obmalloc.c",
143 "Objects/rangeobject.c",
144 "Objects/setobject.c",
145 "Objects/sliceobject.c",
146 "Objects/stringobject.c",
147 "Objects/structseq.c",
148 "Objects/tupleobject.c",
149 "Objects/typeobject.c",
150 "Objects/weakrefobject.c",
151 "Objects/unicodeobject.c",
152 "Objects/unicodectype.c",
153 ],
154}
155
156cc_library_static {
157 name: "py2-interp-python",
158 defaults: ["py2-interp-defaults"],
Nan Zhang04b6dca2017-12-05 13:34:52 -0800159 target: {
160 linux: {
161 cflags: [
162 "-DPLATFORM=\"linux2\"",
163 ],
164 },
165 darwin_x86_64: {
166 cflags: [
167 "-DPLATFORM=\"darwin\"",
168 ],
169 },
170 },
Nan Zhangc3939142017-05-25 23:21:27 -0700171 srcs: [
172 "Python/_warnings.c",
173 "Python/Python-ast.c",
174 "Python/asdl.c",
175 "Python/ast.c",
176 "Python/bltinmodule.c",
177 "Python/ceval.c",
178 "Python/compile.c",
179 "Python/codecs.c",
180 "Python/errors.c",
181 "Python/frozen.c",
182 "Python/frozenmain.c",
183 "Python/future.c",
184 "Python/getargs.c",
185 "Python/getcompiler.c",
186 "Python/getcopyright.c",
187 "Python/getplatform.c",
188 "Python/getversion.c",
189 "Python/graminit.c",
190 "Python/import.c",
191 "Python/importdl.c",
192 "Python/marshal.c",
193 "Python/modsupport.c",
194 "Python/mystrtoul.c",
195 "Python/mysnprintf.c",
196 "Python/peephole.c",
197 "Python/pyarena.c",
198 "Python/pyctype.c",
199 "Python/pyfpe.c",
200 "Python/pymath.c",
201 "Python/pystate.c",
202 "Python/pythonrun.c",
203 "Python/random.c",
204 "Python/structmember.c",
205 "Python/symtable.c",
206 "Python/sysmodule.c",
207 "Python/traceback.c",
208 "Python/getopt.c",
209 "Python/pystrcmp.c",
210 "Python/pystrtod.c",
211 "Python/dtoa.c",
212 "Python/formatter_unicode.c",
213 "Python/formatter_string.c",
214 "Python/dynload_shlib.c",
215 "Python/thread.c",
216 ],
217}
218
Dan Willemsencd282852019-02-14 21:41:18 -0800219cc_defaults {
220 name: "py2-launcher-defaults",
Nan Zhangc3939142017-05-25 23:21:27 -0700221 defaults: ["py2-interp-defaults"],
Nan Zhangc3939142017-05-25 23:21:27 -0700222 cflags: [
Nan Zhangc3939142017-05-25 23:21:27 -0700223 "-DVERSION=\"2.7\"",
Nan Zhangced27512017-06-19 18:01:34 -0700224 "-DVPATH=\"\"",
225 "-DPREFIX=\"\"",
226 "-DEXEC_PREFIX=\"\"",
Dan Willemsen99f27542019-02-14 21:21:48 -0800227 "-DPYTHONPATH=\"..:\"",
228 "-DANDROID_SKIP_ZIP_PATH",
229 "-DANDROID_SKIP_EXEC_PREFIX_PATH",
230 "-DANDROID_LIB_PYTHON_PATH=\"internal/stdlib\"",
Igor Murashkinec37d4a2018-08-01 14:30:55 -0700231 "-DDATE=\"Dec 31 1969\"",
232 "-DTIME=\"23:59:59\"",
Nan Zhangc3939142017-05-25 23:21:27 -0700233 ],
Dan Willemsencd282852019-02-14 21:41:18 -0800234 static_libs: [
235 "libbase",
Colin Crossf67325c2019-09-18 11:05:54 -0700236 "libcrypto_static",
Dan Willemsencd282852019-02-14 21:41:18 -0800237 "libexpat",
Tom Cherry96459322020-01-08 14:11:54 -0800238 "liblog",
Dan Willemsencd282852019-02-14 21:41:18 -0800239 "libssl",
240 "libz",
241 ],
242 target: {
243 linux_glibc_x86_64: {
244 host_ldlibs: ["-lutil"],
245 },
Dan Willemsena7c6b232019-02-20 10:43:11 -0800246 darwin: {
247 host_ldlibs: [
248 "-framework SystemConfiguration",
249 "-framework CoreFoundation",
250 ],
251 },
Dan Willemsencd282852019-02-14 21:41:18 -0800252 host: {
253 static_libs: ["libsqlite"],
254 },
255 // Use shared libsqlite for device side, otherwise
256 // the executable size will be really huge.
257 android: {
258 shared_libs: ["libsqlite"],
259 },
260 },
261}
262
263cc_library_static {
264 name: "py2-launcher-lib",
265 defaults: ["py2-launcher-defaults"],
Nan Zhangc3939142017-05-25 23:21:27 -0700266 srcs: [
Nan Zhangc3939142017-05-25 23:21:27 -0700267 "Modules/gcmodule.c",
268 "Modules/getpath.c",
269 "Modules/config.c",
270 "Modules/getbuildinfo.c",
Nan Zhangced27512017-06-19 18:01:34 -0700271 // Default built-in extension py2-c-modules.
Nan Zhangc3939142017-05-25 23:21:27 -0700272 "Modules/threadmodule.c",
273 "Modules/signalmodule.c",
274 "Modules/posixmodule.c",
275 "Modules/errnomodule.c",
276 "Modules/pwdmodule.c",
277 "Modules/_sre.c",
278 "Modules/_codecsmodule.c",
279 "Modules/_weakref.c",
280 "Modules/zipimport.c",
281 "Modules/symtablemodule.c",
Dan Willemseneba50a52018-11-16 17:27:26 -0800282 "Modules/main.c",
Nan Zhangced27512017-06-19 18:01:34 -0700283 ],
284 // NOTE: Please update Modules/config.c if new lib get added in the static_libs.
Dan Willemsencd282852019-02-14 21:41:18 -0800285 whole_static_libs: [
Nan Zhangced27512017-06-19 18:01:34 -0700286 // Be careful the order of these three static libraries below due to
287 // missing symbols issues.
Nan Zhangc3939142017-05-25 23:21:27 -0700288 "py2-interp-object",
289 "py2-interp-python",
Nan Zhangced27512017-06-19 18:01:34 -0700290 "py2-interp-parser",
291 "py2-c-module-array",
292 "py2-c-module-cmath",
293 "py2-c-module-math",
294 "py2-c-module-_struct",
295 "py2-c-module-time",
296 "py2-c-module-operator",
297 "py2-c-module-_testcapi",
298 "py2-c-module-_random",
299 "py2-c-module-_collections",
300 "py2-c-module-_heapq",
301 "py2-c-module-itertools",
302 "py2-c-module-strop",
303 "py2-c-module-_functools",
304 "py2-c-module-datetime",
305 "py2-c-module-_bisect",
306 "py2-c-module-unicodedata",
307 "py2-c-module-_io",
308 "py2-c-module-fcntl",
309 "py2-c-module-select",
310 "py2-c-module-mmap",
311 "py2-c-module-_csv",
312 "py2-c-module-_socket",
313 "py2-c-module-termios",
Dan Willemsendbcebe02019-01-07 18:07:24 -0800314 "py2-c-module-_ssl",
Nan Zhangced27512017-06-19 18:01:34 -0700315 "py2-c-module-_md5",
316 "py2-c-module-_sha",
317 "py2-c-module-_sha256",
318 "py2-c-module-_sha512",
319 "py2-c-module-binascii",
320 "py2-c-module-parser",
321 "py2-c-module-cStringIO",
322 "py2-c-module-cPickle",
323 "py2-c-module-xxsubtype",
324 "py2-c-module-future_builtins",
325 "py2-c-module-_json",
326 "py2-c-module-_hotshot",
327 "py2-c-module-_lsprof",
328 "py2-c-module-grp",
329 "py2-c-module-syslog",
330 "py2-c-module-audioop",
331 "py2-c-module-resource",
332 "py2-c-module-_multibytecodec",
Nan Zhangd5c4d4a2017-07-19 16:22:00 -0700333 "py2-c-module-_codecs_kr",
334 "py2-c-module-_codecs_jp",
335 "py2-c-module-_codecs_cn",
336 "py2-c-module-_codecs_tw",
337 "py2-c-module-_codecs_hk",
338 "py2-c-module-_codecs_iso2022",
Nan Zhangced27512017-06-19 18:01:34 -0700339 "py2-c-module-_multiprocessing",
340 "py2-c-module-zlib",
Nan Zhangd5c4d4a2017-07-19 16:22:00 -0700341 "py2-c-module-pyexpat",
342 "py2-c-module-_sqlite3",
343 "py2-c-module-_ctypes_test",
344 "py2-c-module-_ctypes",
Nan Zhangc3939142017-05-25 23:21:27 -0700345 ],
Dan Willemsena7c6b232019-02-20 10:43:11 -0800346 target: {
347 darwin: {
348 whole_static_libs: ["py2-c-module-_scproxy"],
349 },
350 },
Dan Willemsencd282852019-02-14 21:41:18 -0800351}
352
353cc_binary {
354 name: "py2-launcher",
355 defaults: ["py2-launcher-defaults"],
356 srcs: ["Launcher/launcher_main.cpp"],
357 static_libs: ["py2-launcher-lib"],
358}
359
360cc_binary {
361 name: "py2-launcher-autorun",
362 defaults: ["py2-launcher-defaults"],
363 srcs: ["Launcher/launcher_main.cpp"],
364 static_libs: ["py2-launcher-lib"],
365 cflags: ["-DANDROID_AUTORUN"],
366}
367
368python_binary_host {
369 name: "py2-cmd",
370 autorun: false,
371 version: {
372 py2: {
373 enabled: true,
374 embedded_launcher: true,
Nan Zhang33bb4bb2017-12-01 20:00:54 +0000375 },
Dan Willemsencd282852019-02-14 21:41:18 -0800376 py3: {
377 enabled: false,
Dan Willemsenc88c0802017-09-25 14:33:27 -0700378 },
379 },
Nan Zhangc3939142017-05-25 23:21:27 -0700380}
381
Nan Zhangced27512017-06-19 18:01:34 -0700382// Enabled extension py2-c-modules.
Nan Zhangc3939142017-05-25 23:21:27 -0700383
384cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700385 name: "py2-c-module-array",
Nan Zhangc3939142017-05-25 23:21:27 -0700386 defaults: ["py2-interp-defaults"],
387 srcs: [
388 "Modules/arraymodule.c",
389 ],
390}
391
392cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700393 name: "py2-c-module-cmath",
Nan Zhangc3939142017-05-25 23:21:27 -0700394 defaults: ["py2-interp-defaults"],
395 srcs: [
396 "Modules/cmathmodule.c",
397 "Modules/_math.c",
398 ],
399}
400
401cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700402 name: "py2-c-module-math",
Nan Zhangc3939142017-05-25 23:21:27 -0700403 defaults: ["py2-interp-defaults"],
404 srcs: [
405 "Modules/mathmodule.c",
406 "Modules/_math.c",
407 ],
408}
409
410cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700411 name: "py2-c-module-_struct",
Nan Zhangc3939142017-05-25 23:21:27 -0700412 defaults: ["py2-interp-defaults"],
413 srcs: [
414 "Modules/_struct.c",
415 ],
416}
417
418cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700419 name: "py2-c-module-time",
Nan Zhangc3939142017-05-25 23:21:27 -0700420 defaults: ["py2-interp-defaults"],
421 srcs: [
422 "Modules/timemodule.c",
423 ],
424}
425
426cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700427 name: "py2-c-module-operator",
Nan Zhangc3939142017-05-25 23:21:27 -0700428 defaults: ["py2-interp-defaults"],
429 srcs: [
430 "Modules/operator.c",
431 ],
432}
433
434cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700435 name: "py2-c-module-_testcapi",
Nan Zhangc3939142017-05-25 23:21:27 -0700436 defaults: ["py2-interp-defaults"],
437 srcs: [
438 "Modules/_testcapimodule.c",
439 ],
440}
441
442cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700443 name: "py2-c-module-_random",
Nan Zhangc3939142017-05-25 23:21:27 -0700444 defaults: ["py2-interp-defaults"],
445 srcs: [
446 "Modules/_randommodule.c",
447 ],
448}
449
450cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700451 name: "py2-c-module-_collections",
Nan Zhangc3939142017-05-25 23:21:27 -0700452 defaults: ["py2-interp-defaults"],
453 srcs: [
454 "Modules/_collectionsmodule.c",
455 ],
456}
457
458cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700459 name: "py2-c-module-_heapq",
Nan Zhangc3939142017-05-25 23:21:27 -0700460 defaults: ["py2-interp-defaults"],
461 srcs: [
462 "Modules/_heapqmodule.c",
463 ],
464}
465
466cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700467 name: "py2-c-module-itertools",
Nan Zhangc3939142017-05-25 23:21:27 -0700468 defaults: ["py2-interp-defaults"],
469 srcs: [
470 "Modules/itertoolsmodule.c",
471 ],
472}
473
474cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700475 name: "py2-c-module-strop",
Nan Zhangc3939142017-05-25 23:21:27 -0700476 defaults: ["py2-interp-defaults"],
477 srcs: [
478 "Modules/stropmodule.c",
479 ],
480}
481
482cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700483 name: "py2-c-module-_functools",
Nan Zhangc3939142017-05-25 23:21:27 -0700484 defaults: ["py2-interp-defaults"],
485 srcs: [
486 "Modules/_functoolsmodule.c",
487 ],
488}
489
490cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700491 name: "py2-c-module-datetime",
Nan Zhangc3939142017-05-25 23:21:27 -0700492 defaults: ["py2-interp-defaults"],
493 srcs: [
494 "Modules/datetimemodule.c",
495 ],
496}
497
498cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700499 name: "py2-c-module-_bisect",
Nan Zhangc3939142017-05-25 23:21:27 -0700500 defaults: ["py2-interp-defaults"],
501 srcs: [
502 "Modules/_bisectmodule.c",
503 ],
504}
505
506cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700507 name: "py2-c-module-unicodedata",
Nan Zhangc3939142017-05-25 23:21:27 -0700508 defaults: ["py2-interp-defaults"],
509 srcs: [
510 "Modules/unicodedata.c",
511 ],
512}
513
514cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700515 name: "py2-c-module-_io",
Nan Zhangc3939142017-05-25 23:21:27 -0700516 defaults: ["py2-interp-defaults"],
517 srcs: [
518 "Modules/_io/bufferedio.c",
519 "Modules/_io/bytesio.c",
520 "Modules/_io/fileio.c",
521 "Modules/_io/iobase.c",
522 "Modules/_io/_iomodule.c",
523 "Modules/_io/stringio.c",
524 "Modules/_io/textio.c",
525 ],
526 local_include_dirs: [
527 "Modules/_io",
528 ],
529}
530
531cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700532 name: "py2-c-module-fcntl",
Nan Zhangc3939142017-05-25 23:21:27 -0700533 defaults: ["py2-interp-defaults"],
534 srcs: [
535 "Modules/fcntlmodule.c",
536 ],
537}
538
539cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700540 name: "py2-c-module-select",
Nan Zhangc3939142017-05-25 23:21:27 -0700541 defaults: ["py2-interp-defaults"],
542 srcs: [
543 "Modules/selectmodule.c",
544 ],
545}
546
547cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700548 name: "py2-c-module-mmap",
Nan Zhangc3939142017-05-25 23:21:27 -0700549 defaults: ["py2-interp-defaults"],
550 srcs: [
551 "Modules/mmapmodule.c",
552 ],
553}
554
555cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700556 name: "py2-c-module-_csv",
Nan Zhangc3939142017-05-25 23:21:27 -0700557 defaults: ["py2-interp-defaults"],
558 srcs: [
559 "Modules/_csv.c",
560 ],
561}
562
563cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700564 name: "py2-c-module-_socket",
Nan Zhangc3939142017-05-25 23:21:27 -0700565 defaults: ["py2-interp-defaults"],
566 srcs: [
567 "Modules/socketmodule.c",
568 "Modules/timemodule.c",
569 ],
570}
571
572cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700573 name: "py2-c-module-termios",
Nan Zhangc3939142017-05-25 23:21:27 -0700574 defaults: ["py2-interp-defaults"],
575 srcs: [
576 "Modules/termios.c",
577 ],
578}
579
580cc_library_static {
Dan Willemsendbcebe02019-01-07 18:07:24 -0800581 name: "py2-c-module-_ssl",
582 defaults: ["py2-interp-defaults"],
583 srcs: ["Modules/_ssl.c"],
584 cflags: ["-Wno-incompatible-pointer-types-discards-qualifiers"],
585 static_libs: [
586 "libssl",
Colin Crossf67325c2019-09-18 11:05:54 -0700587 "libcrypto_static",
Dan Willemsendbcebe02019-01-07 18:07:24 -0800588 ],
589}
590
591cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700592 name: "py2-c-module-_md5",
Nan Zhangc3939142017-05-25 23:21:27 -0700593 defaults: ["py2-interp-defaults"],
594 srcs: [
595 "Modules/md5module.c",
596 "Modules/md5.c",
597 ],
598}
599
600cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700601 name: "py2-c-module-_sha",
Nan Zhangc3939142017-05-25 23:21:27 -0700602 defaults: ["py2-interp-defaults"],
603 srcs: [
604 "Modules/shamodule.c",
605 ],
606}
607
608cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700609 name: "py2-c-module-_sha256",
Nan Zhangc3939142017-05-25 23:21:27 -0700610 defaults: ["py2-interp-defaults"],
611 srcs: [
612 "Modules/sha256module.c",
613 ],
614}
615
616cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700617 name: "py2-c-module-_sha512",
Nan Zhangc3939142017-05-25 23:21:27 -0700618 defaults: ["py2-interp-defaults"],
619 srcs: [
620 "Modules/sha512module.c",
621 ],
622}
623
624cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700625 name: "py2-c-module-binascii",
Nan Zhangc3939142017-05-25 23:21:27 -0700626 defaults: ["py2-interp-defaults"],
627 srcs: [
628 "Modules/binascii.c",
629 ],
630}
631
632cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700633 name: "py2-c-module-parser",
Nan Zhangc3939142017-05-25 23:21:27 -0700634 defaults: ["py2-interp-defaults"],
635 srcs: [
636 "Modules/parsermodule.c",
637 ],
638}
639
640cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700641 name: "py2-c-module-cStringIO",
Nan Zhangc3939142017-05-25 23:21:27 -0700642 defaults: ["py2-interp-defaults"],
643 srcs: [
644 "Modules/cStringIO.c",
645 ],
646}
647
648cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700649 name: "py2-c-module-cPickle",
Nan Zhangc3939142017-05-25 23:21:27 -0700650 defaults: ["py2-interp-defaults"],
651 srcs: [
652 "Modules/cPickle.c",
653 ],
654}
655
656cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700657 name: "py2-c-module-xxsubtype",
Nan Zhangc3939142017-05-25 23:21:27 -0700658 defaults: ["py2-interp-defaults"],
659 srcs: [
660 "Modules/xxsubtype.c",
661 ],
662}
663
664cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700665 name: "py2-c-module-future_builtins",
Nan Zhangc3939142017-05-25 23:21:27 -0700666 defaults: ["py2-interp-defaults"],
667 srcs: [
668 "Modules/future_builtins.c",
669 ],
670}
671
672cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700673 name: "py2-c-module-_json",
Nan Zhangc3939142017-05-25 23:21:27 -0700674 defaults: ["py2-interp-defaults"],
675 srcs: [
676 "Modules/_json.c",
677 ],
678}
679
680cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700681 name: "py2-c-module-_hotshot",
Nan Zhangc3939142017-05-25 23:21:27 -0700682 defaults: ["py2-interp-defaults"],
683 srcs: [
684 "Modules/_hotshot.c",
685 ],
686}
687
688cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700689 name: "py2-c-module-_lsprof",
Nan Zhangc3939142017-05-25 23:21:27 -0700690 defaults: ["py2-interp-defaults"],
691 srcs: [
692 "Modules/_lsprof.c",
693 "Modules/rotatingtree.c",
694 ],
695}
696
697cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700698 name: "py2-c-module-grp",
Nan Zhangc3939142017-05-25 23:21:27 -0700699 defaults: ["py2-interp-defaults"],
700 srcs: [
701 "Modules/grpmodule.c",
702 "Modules/rotatingtree.c",
703 ],
704}
705
706cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700707 name: "py2-c-module-syslog",
Nan Zhangc3939142017-05-25 23:21:27 -0700708 defaults: ["py2-interp-defaults"],
709 srcs: [
710 "Modules/syslogmodule.c",
711 ],
712}
713
714cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700715 name: "py2-c-module-audioop",
Nan Zhangc3939142017-05-25 23:21:27 -0700716 defaults: ["py2-interp-defaults"],
717 srcs: [
718 "Modules/audioop.c",
719 ],
720}
721
722cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700723 name: "py2-c-module-resource",
Nan Zhangc3939142017-05-25 23:21:27 -0700724 defaults: ["py2-interp-defaults"],
725 srcs: [
726 "Modules/resource.c",
727 ],
728}
729
730cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700731 name: "py2-c-module-_multibytecodec",
Nan Zhangc3939142017-05-25 23:21:27 -0700732 defaults: ["py2-interp-defaults"],
733 srcs: [
734 "Modules/cjkcodecs/multibytecodec.c",
735 ],
736}
737
738cc_library_static {
Nan Zhangd5c4d4a2017-07-19 16:22:00 -0700739 name: "py2-c-module-_codecs_kr",
740 defaults: ["py2-interp-defaults"],
741 srcs: ["Modules/cjkcodecs/_codecs_kr.c"],
742}
743
744cc_library_static {
745 name: "py2-c-module-_codecs_jp",
746 defaults: ["py2-interp-defaults"],
747 srcs: ["Modules/cjkcodecs/_codecs_jp.c"],
748}
749
750cc_library_static {
751 name: "py2-c-module-_codecs_cn",
752 defaults: ["py2-interp-defaults"],
753 srcs: ["Modules/cjkcodecs/_codecs_cn.c"],
754}
755
756cc_library_static {
757 name: "py2-c-module-_codecs_tw",
758 defaults: ["py2-interp-defaults"],
759 srcs: ["Modules/cjkcodecs/_codecs_tw.c"],
760}
761
762cc_library_static {
763 name: "py2-c-module-_codecs_hk",
764 defaults: ["py2-interp-defaults"],
765 srcs: ["Modules/cjkcodecs/_codecs_hk.c"],
766}
767
768cc_library_static {
769 name: "py2-c-module-_codecs_iso2022",
770 defaults: ["py2-interp-defaults"],
771 srcs: ["Modules/cjkcodecs/_codecs_iso2022.c"],
772}
773
774cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700775 name: "py2-c-module-_multiprocessing",
Nan Zhangc3939142017-05-25 23:21:27 -0700776 defaults: ["py2-interp-defaults"],
777 srcs: [
778 "Modules/_multiprocessing/multiprocessing.c",
779 "Modules/_multiprocessing/semaphore.c",
780 "Modules/_multiprocessing/socket_connection.c",
781 ],
782}
Nan Zhangced27512017-06-19 18:01:34 -0700783
784cc_library_static {
785 name: "py2-c-module-zlib",
786 defaults: [
787 "py2-interp-defaults",
788 ],
789 cflags: [
790 "-DUSE_ZLIB_CRC32",
791 ],
792 srcs: [
793 "Modules/zlibmodule.c",
794 ],
795 static_libs: [
796 "libz",
797 ],
798}
Nan Zhangd5c4d4a2017-07-19 16:22:00 -0700799
800cc_library_static {
801 name: "py2-c-module-pyexpat",
802 defaults: [
803 "py2-interp-defaults",
804 ],
805 cflags: [
806 "-DUSE_PYEXPAT_CAPI",
807 ],
808 srcs: [
809 "Modules/pyexpat.c",
810 ],
811 static_libs: [
812 "libexpat",
813 ],
814}
815
816cc_library_static {
817 name: "py2-c-module-_sqlite3",
818 defaults: [
819 "py2-interp-defaults",
820 ],
821 cflags: [
822 "-DMODULE_NAME=\"sqlite3\"",
823 "-DSQLITE_OMIT_LOAD_EXTENSION",
824 "-Wno-format-security",
825 "-Wno-type-limits",
826 "-Wno-char-subscripts",
827 ],
828 local_include_dirs: [
829 "Modules/_sqlite",
830 ],
831 srcs: [
832 "Modules/_sqlite/cache.c",
833 "Modules/_sqlite/connection.c",
834 "Modules/_sqlite/cursor.c",
835 "Modules/_sqlite/microprotocols.c",
836 "Modules/_sqlite/module.c",
837 "Modules/_sqlite/prepare_protocol.c",
838 "Modules/_sqlite/row.c",
839 "Modules/_sqlite/statement.c",
840 "Modules/_sqlite/util.c",
841 ],
Nan Zhang33bb4bb2017-12-01 20:00:54 +0000842 target: {
Alex Light6f3263d2019-02-27 14:37:14 -0800843 host: {
Nan Zhang33bb4bb2017-12-01 20:00:54 +0000844 static_libs: [
845 "libsqlite",
846 ],
847 },
848 android: {
849 shared_libs: [
850 "libsqlite",
Dan Willemsen04e39102019-02-14 21:00:06 -0800851 ],
Nan Zhang33bb4bb2017-12-01 20:00:54 +0000852 },
853 },
Nan Zhangd5c4d4a2017-07-19 16:22:00 -0700854}
855
856cc_library_static {
857 name: "py2-c-module-_ctypes_test",
858 defaults: ["py2-interp-defaults"],
859 srcs: ["Modules/_ctypes/_ctypes_test.c"],
860}
861
Nan Zhangd5c4d4a2017-07-19 16:22:00 -0700862cc_library_static {
863 name: "py2-c-module-_ctypes",
864 defaults: [
865 "py2-interp-defaults",
866 ],
867 local_include_dirs: [
Nan Zhangd5c4d4a2017-07-19 16:22:00 -0700868 "Modules/_ctypes/libffi/include",
869 ],
870 srcs: [
871 "Modules/_ctypes/_ctypes.c",
872 "Modules/_ctypes/callbacks.c",
873 "Modules/_ctypes/callproc.c",
874 "Modules/_ctypes/stgdict.c",
875 "Modules/_ctypes/cfield.c",
876 "Modules/_ctypes/libffi/src/prep_cif.c",
877 "Modules/_ctypes/libffi/src/closures.c",
878 ],
879 arch: {
880 x86_64: {
881 local_include_dirs: [
882 "Modules/_ctypes/libffi/src/x86",
883 ],
884 srcs: [
885 "Modules/_ctypes/libffi/src/x86/ffi64.c",
Nan Zhangd5c4d4a2017-07-19 16:22:00 -0700886 "Modules/_ctypes/libffi/src/x86/ffi.c",
887 "Modules/_ctypes/libffi/src/x86/sysv.S",
888 ],
889 },
Nan Zhang33bb4bb2017-12-01 20:00:54 +0000890 x86: {
891 local_include_dirs: [
892 "Modules/_ctypes/libffi/src/x86",
893 ],
894 srcs: [
895 "Modules/_ctypes/libffi/src/x86/ffi.c",
896 "Modules/_ctypes/libffi/src/x86/sysv.S",
897 ],
898 },
899 arm: {
900 local_include_dirs: [
901 "android_arm/libffi",
902 "Modules/_ctypes/libffi/src/arm",
903 ],
904 srcs: [
905 "Modules/_ctypes/libffi/src/arm/ffi.c",
906 "Modules/_ctypes/libffi/src/arm/sysv.S",
907 "Modules/_ctypes/libffi/src/arm/trampoline.S",
Dan Willemsen04e39102019-02-14 21:00:06 -0800908 ],
Nan Zhang33bb4bb2017-12-01 20:00:54 +0000909 },
910 arm64: {
911 // arithmetic on a pointer in _ctypes/libffi/src/aarch64/ffi.c
912 cflags: ["-Wno-pointer-arith"],
913 local_include_dirs: [
914 "android_arm64/libffi",
915 "Modules/_ctypes/libffi/src/aarch64",
916 ],
917 srcs: [
918 "Modules/_ctypes/libffi/src/aarch64/ffi.c",
919 "Modules/_ctypes/libffi/src/aarch64/sysv.S",
Dan Willemsen04e39102019-02-14 21:00:06 -0800920 ],
Nan Zhang33bb4bb2017-12-01 20:00:54 +0000921 },
Nan Zhangd5c4d4a2017-07-19 16:22:00 -0700922 },
Dan Willemsenc88c0802017-09-25 14:33:27 -0700923 target: {
924 // Regenerate include dirs with android_regen.sh
925 darwin_x86_64: {
926 local_include_dirs: ["darwin_x86_64/libffi"],
927 srcs: [
928 "Modules/_ctypes/libffi/src/x86/darwin.S",
929 "Modules/_ctypes/libffi/src/x86/darwin64.S",
930 ],
931 },
Alex Light6f3263d2019-02-27 14:37:14 -0800932 linux_bionic: {
933 local_include_dirs: ["linux_x86_64/libffi"],
934 srcs: [
935 "Modules/_ctypes/libffi/src/x86/unix64.S",
936 ],
937 },
Dan Willemsene41d4ce2017-10-02 10:41:09 -0700938 linux_glibc_x86_64: {
Dan Willemsenc88c0802017-09-25 14:33:27 -0700939 local_include_dirs: ["linux_x86_64/libffi"],
940 srcs: [
941 "Modules/_ctypes/libffi/src/x86/unix64.S",
942 ],
943 },
Nan Zhang33bb4bb2017-12-01 20:00:54 +0000944 android_x86: {
945 local_include_dirs: ["android_x86/libffi"],
946 srcs: [
947 "Modules/_ctypes/libffi/src/x86/win32.S",
948 ],
949 },
950 android_x86_64: {
951 local_include_dirs: ["android_x86_64/libffi"],
952 srcs: [
953 "Modules/_ctypes/libffi/src/x86/unix64.S",
954 ],
955 },
Dan Willemsenc88c0802017-09-25 14:33:27 -0700956 },
Nan Zhangd5c4d4a2017-07-19 16:22:00 -0700957}
Dan Willemsena7c6b232019-02-20 10:43:11 -0800958
959cc_library_host_static {
960 name: "py2-c-module-_scproxy",
961 defaults: ["py2-interp-defaults"],
962 srcs: ["Mac/Modules/_scproxy.c"],
963 target: {
964 linux: {
965 enabled: false,
966 },
967 },
968}