blob: b13d7e417da693bee891febf33407cd13706195c [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
Bob Badour84389f62021-03-08 11:43:30 -080015// *** THIS PACKAGE HAS SPECIAL LICENSING CONDITIONS. PLEASE
16// CONSULT THE OWNERS AND opensource-licensing@google.com BEFORE
17// DEPENDING ON IT IN YOUR PROJECT. ***
18package {
19 default_applicable_licenses: ["external_python_cpython2_license"],
20}
21
22// Added automatically by a large-scale-change that took the approach of
23// 'apply every license found to every target'. While this makes sure we respect
24// every license restriction, it may not be entirely correct.
25//
26// e.g. GPL in an MIT project might only apply to the contrib/ directory.
27//
28// Please consider splitting the single license below into multiple licenses,
29// taking care not to lose any license_kind information, and overriding the
30// default license using the 'licenses: [...]' property on targets as needed.
31//
32// For unused files, consider creating a 'fileGroup' with "//visibility:private"
33// to attach the license to, and including a comment whether the files may be
34// used in the current project.
35// See: http://go/android-license-faq
36license {
37 name: "external_python_cpython2_license",
38 visibility: [":__subpackages__"],
39 license_kinds: [
40 "SPDX-license-identifier-0BSD",
41 "SPDX-license-identifier-Apache-2.0",
42 "SPDX-license-identifier-BSD",
43 "SPDX-license-identifier-CC0-1.0",
44 "SPDX-license-identifier-GPL",
45 "SPDX-license-identifier-GPL-2.0",
46 "SPDX-license-identifier-GPL-3.0",
47 "SPDX-license-identifier-LGPL-2.1",
48 "SPDX-license-identifier-MIT",
49 "SPDX-license-identifier-MPL",
50 "SPDX-license-identifier-PSF-2.0",
51 "SPDX-license-identifier-Zlib",
52 "legacy_by_exception_only", // by exception only
53 "legacy_notice",
54 "legacy_unencumbered",
55 ],
56 license_text: [
57 "LICENSE",
58 ],
59}
60
Nan Zhangced27512017-06-19 18:01:34 -070061subdirs = [
62 "Lib",
63]
64
Nan Zhangc3939142017-05-25 23:21:27 -070065cc_defaults {
66 name: "py2-interp-defaults",
67 cflags: [
68 "-fwrapv",
69 "-O3",
70 "-Wall",
71 "-Wstrict-prototypes",
72 "-DPy_BUILD_CORE",
Nan Zhang33bb4bb2017-12-01 20:00:54 +000073 "-Werror",
Dan Willemsen04e39102019-02-14 21:00:06 -080074 "-Wno-invalid-source-encoding",
Tri Vo0b5cc4f2017-12-11 13:29:15 -080075 "-Wno-int-conversion",
Nan Zhangc3939142017-05-25 23:21:27 -070076 "-Wno-missing-field-initializers",
Yi Kong892b1a82018-12-12 11:58:51 -080077 "-Wno-null-pointer-arithmetic",
Elliott Hughese42a5962018-10-26 13:18:00 -070078 "-Wno-register",
Nan Zhangc3939142017-05-25 23:21:27 -070079 "-Wno-shift-count-overflow",
80 "-Wno-sign-compare",
Stephen Hinescec02392020-07-15 17:42:06 -070081 "-Wno-strict-prototypes",
Nan Zhangc3939142017-05-25 23:21:27 -070082 "-Wno-tautological-compare",
83 "-Wno-tautological-constant-out-of-range-compare",
84 "-Wno-unused-parameter",
85 "-Wno-unused-result",
86 ],
87 local_include_dirs: ["Include"],
88 target: {
Nan Zhang33bb4bb2017-12-01 20:00:54 +000089 android_arm: {
90 local_include_dirs: ["android_arm/pyconfig"],
91 },
92 android_arm64: {
93 local_include_dirs: ["android_arm64/pyconfig"],
94 },
95 android_x86: {
96 local_include_dirs: ["android_x86/pyconfig"],
97 },
Alex Light6f3263d2019-02-27 14:37:14 -080098 linux_bionic: {
99 // NB linux_bionic is a 'host' architecture but it uses the bionic libc like 'android'
100 // targets so use the android pyconfig.
101 local_include_dirs: ["android_x86_64/pyconfig"],
102 },
Nan Zhang33bb4bb2017-12-01 20:00:54 +0000103 android_x86_64: {
104 local_include_dirs: ["android_x86_64/pyconfig"],
105 },
Dan Willemsenc88c0802017-09-25 14:33:27 -0700106 // Regenerate include dirs with android_regen.sh
107 darwin_x86_64: {
108 local_include_dirs: ["darwin_x86_64/pyconfig"],
Stephen Hinesb788eb52017-11-20 17:31:30 -0800109 cflags: [
110 "-Wno-deprecated-declarations",
111 "-Wno-pointer-arith",
112 ],
Dan Willemsenc88c0802017-09-25 14:33:27 -0700113 },
Nan Zhang33bb4bb2017-12-01 20:00:54 +0000114 linux_glibc_x86: {
115 enabled: false,
116 },
Colin Crossfc6603b2022-03-08 15:12:47 -0800117 linux_musl_x86: {
118 enabled: false,
119 },
Dan Willemsene41d4ce2017-10-02 10:41:09 -0700120 linux_glibc_x86_64: {
Dan Willemsenc88c0802017-09-25 14:33:27 -0700121 local_include_dirs: ["linux_x86_64/pyconfig"],
Chih-Hung Hsieh6eebfa02017-10-13 14:40:05 -0700122 cflags: ["-Werror"],
Dan Willemsenc88c0802017-09-25 14:33:27 -0700123 },
Colin Crossfc6603b2022-03-08 15:12:47 -0800124 linux_musl_x86_64: {
125 local_include_dirs: ["linux_x86_64/pyconfig"],
126 cflags: ["-Werror"],
127 },
Dan Willemsenc88c0802017-09-25 14:33:27 -0700128 windows: {
129 enabled: false,
130 },
Nan Zhangc3939142017-05-25 23:21:27 -0700131 },
132 host_supported: true,
Nan Zhang33bb4bb2017-12-01 20:00:54 +0000133 compile_multilib: "both",
134 multilib: {
135 lib32: {
136 suffix: "32",
137 },
138 lib64: {
139 suffix: "64",
140 },
141 },
Nan Zhangc3939142017-05-25 23:21:27 -0700142}
143
144cc_library_static {
145 name: "py2-interp-parser",
146 defaults: ["py2-interp-defaults"],
147 srcs: [
148 "Parser/acceler.c",
149 "Parser/bitset.c",
150 "Parser/firstsets.c",
151 "Parser/grammar.c",
152 "Parser/grammar1.c",
153 "Parser/listnode.c",
154 "Parser/metagrammar.c",
155 "Parser/myreadline.c",
156 "Parser/node.c",
157 "Parser/parser.c",
158 "Parser/parsetok.c",
159 "Parser/pgen.c",
160 "Parser/tokenizer.c",
161 ],
162}
163
164cc_library_static {
165 name: "py2-interp-object",
166 defaults: ["py2-interp-defaults"],
167 srcs: [
168 "Objects/abstract.c",
169 "Objects/boolobject.c",
170 "Objects/bufferobject.c",
171 "Objects/bytes_methods.c",
172 "Objects/bytearrayobject.c",
173 "Objects/capsule.c",
174 "Objects/cellobject.c",
175 "Objects/classobject.c",
176 "Objects/cobject.c",
177 "Objects/codeobject.c",
178 "Objects/complexobject.c",
179 "Objects/descrobject.c",
180 "Objects/enumobject.c",
181 "Objects/exceptions.c",
182 "Objects/genobject.c",
183 "Objects/fileobject.c",
184 "Objects/floatobject.c",
185 "Objects/frameobject.c",
186 "Objects/funcobject.c",
187 "Objects/intobject.c",
188 "Objects/iterobject.c",
189 "Objects/listobject.c",
190 "Objects/longobject.c",
191 "Objects/dictobject.c",
192 "Objects/memoryobject.c",
193 "Objects/methodobject.c",
194 "Objects/moduleobject.c",
195 "Objects/object.c",
196 "Objects/obmalloc.c",
197 "Objects/rangeobject.c",
198 "Objects/setobject.c",
199 "Objects/sliceobject.c",
200 "Objects/stringobject.c",
201 "Objects/structseq.c",
202 "Objects/tupleobject.c",
203 "Objects/typeobject.c",
204 "Objects/weakrefobject.c",
205 "Objects/unicodeobject.c",
206 "Objects/unicodectype.c",
207 ],
208}
209
210cc_library_static {
211 name: "py2-interp-python",
212 defaults: ["py2-interp-defaults"],
Nan Zhang04b6dca2017-12-05 13:34:52 -0800213 target: {
214 linux: {
215 cflags: [
216 "-DPLATFORM=\"linux2\"",
217 ],
218 },
219 darwin_x86_64: {
220 cflags: [
221 "-DPLATFORM=\"darwin\"",
222 ],
223 },
224 },
Nan Zhangc3939142017-05-25 23:21:27 -0700225 srcs: [
226 "Python/_warnings.c",
227 "Python/Python-ast.c",
228 "Python/asdl.c",
229 "Python/ast.c",
230 "Python/bltinmodule.c",
231 "Python/ceval.c",
232 "Python/compile.c",
233 "Python/codecs.c",
234 "Python/errors.c",
235 "Python/frozen.c",
236 "Python/frozenmain.c",
237 "Python/future.c",
238 "Python/getargs.c",
239 "Python/getcompiler.c",
240 "Python/getcopyright.c",
241 "Python/getplatform.c",
242 "Python/getversion.c",
243 "Python/graminit.c",
244 "Python/import.c",
245 "Python/importdl.c",
246 "Python/marshal.c",
247 "Python/modsupport.c",
248 "Python/mystrtoul.c",
249 "Python/mysnprintf.c",
250 "Python/peephole.c",
251 "Python/pyarena.c",
252 "Python/pyctype.c",
253 "Python/pyfpe.c",
254 "Python/pymath.c",
255 "Python/pystate.c",
256 "Python/pythonrun.c",
257 "Python/random.c",
258 "Python/structmember.c",
259 "Python/symtable.c",
260 "Python/sysmodule.c",
261 "Python/traceback.c",
262 "Python/getopt.c",
263 "Python/pystrcmp.c",
264 "Python/pystrtod.c",
265 "Python/dtoa.c",
266 "Python/formatter_unicode.c",
267 "Python/formatter_string.c",
268 "Python/dynload_shlib.c",
269 "Python/thread.c",
270 ],
271}
272
Dan Willemsencd282852019-02-14 21:41:18 -0800273cc_defaults {
274 name: "py2-launcher-defaults",
Nan Zhangc3939142017-05-25 23:21:27 -0700275 defaults: ["py2-interp-defaults"],
Nan Zhangc3939142017-05-25 23:21:27 -0700276 cflags: [
Nan Zhangc3939142017-05-25 23:21:27 -0700277 "-DVERSION=\"2.7\"",
Nan Zhangced27512017-06-19 18:01:34 -0700278 "-DVPATH=\"\"",
279 "-DPREFIX=\"\"",
280 "-DEXEC_PREFIX=\"\"",
Dan Willemsen99f27542019-02-14 21:21:48 -0800281 "-DPYTHONPATH=\"..:\"",
282 "-DANDROID_SKIP_ZIP_PATH",
283 "-DANDROID_SKIP_EXEC_PREFIX_PATH",
284 "-DANDROID_LIB_PYTHON_PATH=\"internal/stdlib\"",
Igor Murashkinec37d4a2018-08-01 14:30:55 -0700285 "-DDATE=\"Dec 31 1969\"",
286 "-DTIME=\"23:59:59\"",
Nan Zhangc3939142017-05-25 23:21:27 -0700287 ],
Dan Willemsencd282852019-02-14 21:41:18 -0800288 static_libs: [
289 "libbase",
Colin Crossf67325c2019-09-18 11:05:54 -0700290 "libcrypto_static",
Dan Willemsencd282852019-02-14 21:41:18 -0800291 "libexpat",
Tom Cherry96459322020-01-08 14:11:54 -0800292 "liblog",
Dan Willemsencd282852019-02-14 21:41:18 -0800293 "libssl",
294 "libz",
295 ],
296 target: {
297 linux_glibc_x86_64: {
298 host_ldlibs: ["-lutil"],
299 },
Dan Willemsena7c6b232019-02-20 10:43:11 -0800300 darwin: {
301 host_ldlibs: [
302 "-framework SystemConfiguration",
303 "-framework CoreFoundation",
304 ],
305 },
Dan Willemsencd282852019-02-14 21:41:18 -0800306 host: {
307 static_libs: ["libsqlite"],
308 },
309 // Use shared libsqlite for device side, otherwise
310 // the executable size will be really huge.
311 android: {
312 shared_libs: ["libsqlite"],
313 },
314 },
315}
316
317cc_library_static {
318 name: "py2-launcher-lib",
319 defaults: ["py2-launcher-defaults"],
Nan Zhangc3939142017-05-25 23:21:27 -0700320 srcs: [
Nan Zhangc3939142017-05-25 23:21:27 -0700321 "Modules/gcmodule.c",
322 "Modules/getpath.c",
323 "Modules/config.c",
324 "Modules/getbuildinfo.c",
Nan Zhangced27512017-06-19 18:01:34 -0700325 // Default built-in extension py2-c-modules.
Nan Zhangc3939142017-05-25 23:21:27 -0700326 "Modules/threadmodule.c",
327 "Modules/signalmodule.c",
328 "Modules/posixmodule.c",
329 "Modules/errnomodule.c",
330 "Modules/pwdmodule.c",
331 "Modules/_sre.c",
332 "Modules/_codecsmodule.c",
333 "Modules/_weakref.c",
334 "Modules/zipimport.c",
335 "Modules/symtablemodule.c",
Dan Willemseneba50a52018-11-16 17:27:26 -0800336 "Modules/main.c",
Nan Zhangced27512017-06-19 18:01:34 -0700337 ],
338 // NOTE: Please update Modules/config.c if new lib get added in the static_libs.
Dan Willemsencd282852019-02-14 21:41:18 -0800339 whole_static_libs: [
Nan Zhangced27512017-06-19 18:01:34 -0700340 // Be careful the order of these three static libraries below due to
341 // missing symbols issues.
Nan Zhangc3939142017-05-25 23:21:27 -0700342 "py2-interp-object",
343 "py2-interp-python",
Nan Zhangced27512017-06-19 18:01:34 -0700344 "py2-interp-parser",
345 "py2-c-module-array",
346 "py2-c-module-cmath",
347 "py2-c-module-math",
348 "py2-c-module-_struct",
349 "py2-c-module-time",
350 "py2-c-module-operator",
351 "py2-c-module-_testcapi",
352 "py2-c-module-_random",
353 "py2-c-module-_collections",
354 "py2-c-module-_heapq",
355 "py2-c-module-itertools",
356 "py2-c-module-strop",
357 "py2-c-module-_functools",
358 "py2-c-module-datetime",
359 "py2-c-module-_bisect",
360 "py2-c-module-unicodedata",
361 "py2-c-module-_io",
362 "py2-c-module-fcntl",
363 "py2-c-module-select",
364 "py2-c-module-mmap",
365 "py2-c-module-_csv",
366 "py2-c-module-_socket",
367 "py2-c-module-termios",
Dan Willemsendbcebe02019-01-07 18:07:24 -0800368 "py2-c-module-_ssl",
Nan Zhangced27512017-06-19 18:01:34 -0700369 "py2-c-module-_md5",
370 "py2-c-module-_sha",
371 "py2-c-module-_sha256",
372 "py2-c-module-_sha512",
373 "py2-c-module-binascii",
374 "py2-c-module-parser",
375 "py2-c-module-cStringIO",
376 "py2-c-module-cPickle",
377 "py2-c-module-xxsubtype",
378 "py2-c-module-future_builtins",
379 "py2-c-module-_json",
380 "py2-c-module-_hotshot",
381 "py2-c-module-_lsprof",
382 "py2-c-module-grp",
383 "py2-c-module-syslog",
384 "py2-c-module-audioop",
385 "py2-c-module-resource",
386 "py2-c-module-_multibytecodec",
Nan Zhangd5c4d4a2017-07-19 16:22:00 -0700387 "py2-c-module-_codecs_kr",
388 "py2-c-module-_codecs_jp",
389 "py2-c-module-_codecs_cn",
390 "py2-c-module-_codecs_tw",
391 "py2-c-module-_codecs_hk",
392 "py2-c-module-_codecs_iso2022",
Nan Zhangced27512017-06-19 18:01:34 -0700393 "py2-c-module-_multiprocessing",
394 "py2-c-module-zlib",
Nan Zhangd5c4d4a2017-07-19 16:22:00 -0700395 "py2-c-module-pyexpat",
396 "py2-c-module-_sqlite3",
397 "py2-c-module-_ctypes_test",
398 "py2-c-module-_ctypes",
Nan Zhangc3939142017-05-25 23:21:27 -0700399 ],
Dan Willemsena7c6b232019-02-20 10:43:11 -0800400 target: {
401 darwin: {
402 whole_static_libs: ["py2-c-module-_scproxy"],
403 },
404 },
Dan Willemsencd282852019-02-14 21:41:18 -0800405}
406
407cc_binary {
408 name: "py2-launcher",
409 defaults: ["py2-launcher-defaults"],
410 srcs: ["Launcher/launcher_main.cpp"],
411 static_libs: ["py2-launcher-lib"],
412}
413
414cc_binary {
415 name: "py2-launcher-autorun",
416 defaults: ["py2-launcher-defaults"],
417 srcs: ["Launcher/launcher_main.cpp"],
418 static_libs: ["py2-launcher-lib"],
419 cflags: ["-DANDROID_AUTORUN"],
420}
421
422python_binary_host {
423 name: "py2-cmd",
424 autorun: false,
425 version: {
426 py2: {
427 enabled: true,
428 embedded_launcher: true,
Nan Zhang33bb4bb2017-12-01 20:00:54 +0000429 },
Dan Willemsencd282852019-02-14 21:41:18 -0800430 py3: {
431 enabled: false,
Dan Willemsenc88c0802017-09-25 14:33:27 -0700432 },
433 },
Nan Zhangc3939142017-05-25 23:21:27 -0700434}
435
Nan Zhangced27512017-06-19 18:01:34 -0700436// Enabled extension py2-c-modules.
Nan Zhangc3939142017-05-25 23:21:27 -0700437
438cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700439 name: "py2-c-module-array",
Nan Zhangc3939142017-05-25 23:21:27 -0700440 defaults: ["py2-interp-defaults"],
441 srcs: [
442 "Modules/arraymodule.c",
443 ],
444}
445
446cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700447 name: "py2-c-module-cmath",
Nan Zhangc3939142017-05-25 23:21:27 -0700448 defaults: ["py2-interp-defaults"],
449 srcs: [
450 "Modules/cmathmodule.c",
451 "Modules/_math.c",
452 ],
453}
454
455cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700456 name: "py2-c-module-math",
Nan Zhangc3939142017-05-25 23:21:27 -0700457 defaults: ["py2-interp-defaults"],
458 srcs: [
459 "Modules/mathmodule.c",
460 "Modules/_math.c",
461 ],
462}
463
464cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700465 name: "py2-c-module-_struct",
Nan Zhangc3939142017-05-25 23:21:27 -0700466 defaults: ["py2-interp-defaults"],
467 srcs: [
468 "Modules/_struct.c",
469 ],
470}
471
472cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700473 name: "py2-c-module-time",
Nan Zhangc3939142017-05-25 23:21:27 -0700474 defaults: ["py2-interp-defaults"],
475 srcs: [
476 "Modules/timemodule.c",
477 ],
478}
479
480cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700481 name: "py2-c-module-operator",
Nan Zhangc3939142017-05-25 23:21:27 -0700482 defaults: ["py2-interp-defaults"],
483 srcs: [
484 "Modules/operator.c",
485 ],
486}
487
488cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700489 name: "py2-c-module-_testcapi",
Nan Zhangc3939142017-05-25 23:21:27 -0700490 defaults: ["py2-interp-defaults"],
491 srcs: [
492 "Modules/_testcapimodule.c",
493 ],
494}
495
496cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700497 name: "py2-c-module-_random",
Nan Zhangc3939142017-05-25 23:21:27 -0700498 defaults: ["py2-interp-defaults"],
499 srcs: [
500 "Modules/_randommodule.c",
501 ],
502}
503
504cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700505 name: "py2-c-module-_collections",
Nan Zhangc3939142017-05-25 23:21:27 -0700506 defaults: ["py2-interp-defaults"],
507 srcs: [
508 "Modules/_collectionsmodule.c",
509 ],
510}
511
512cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700513 name: "py2-c-module-_heapq",
Nan Zhangc3939142017-05-25 23:21:27 -0700514 defaults: ["py2-interp-defaults"],
515 srcs: [
516 "Modules/_heapqmodule.c",
517 ],
518}
519
520cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700521 name: "py2-c-module-itertools",
Nan Zhangc3939142017-05-25 23:21:27 -0700522 defaults: ["py2-interp-defaults"],
523 srcs: [
524 "Modules/itertoolsmodule.c",
525 ],
526}
527
528cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700529 name: "py2-c-module-strop",
Nan Zhangc3939142017-05-25 23:21:27 -0700530 defaults: ["py2-interp-defaults"],
531 srcs: [
532 "Modules/stropmodule.c",
533 ],
534}
535
536cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700537 name: "py2-c-module-_functools",
Nan Zhangc3939142017-05-25 23:21:27 -0700538 defaults: ["py2-interp-defaults"],
539 srcs: [
540 "Modules/_functoolsmodule.c",
541 ],
542}
543
544cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700545 name: "py2-c-module-datetime",
Nan Zhangc3939142017-05-25 23:21:27 -0700546 defaults: ["py2-interp-defaults"],
547 srcs: [
548 "Modules/datetimemodule.c",
549 ],
550}
551
552cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700553 name: "py2-c-module-_bisect",
Nan Zhangc3939142017-05-25 23:21:27 -0700554 defaults: ["py2-interp-defaults"],
555 srcs: [
556 "Modules/_bisectmodule.c",
557 ],
558}
559
560cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700561 name: "py2-c-module-unicodedata",
Nan Zhangc3939142017-05-25 23:21:27 -0700562 defaults: ["py2-interp-defaults"],
563 srcs: [
564 "Modules/unicodedata.c",
565 ],
566}
567
568cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700569 name: "py2-c-module-_io",
Nan Zhangc3939142017-05-25 23:21:27 -0700570 defaults: ["py2-interp-defaults"],
571 srcs: [
572 "Modules/_io/bufferedio.c",
573 "Modules/_io/bytesio.c",
574 "Modules/_io/fileio.c",
575 "Modules/_io/iobase.c",
576 "Modules/_io/_iomodule.c",
577 "Modules/_io/stringio.c",
578 "Modules/_io/textio.c",
579 ],
580 local_include_dirs: [
581 "Modules/_io",
582 ],
583}
584
585cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700586 name: "py2-c-module-fcntl",
Nan Zhangc3939142017-05-25 23:21:27 -0700587 defaults: ["py2-interp-defaults"],
588 srcs: [
589 "Modules/fcntlmodule.c",
590 ],
591}
592
593cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700594 name: "py2-c-module-select",
Nan Zhangc3939142017-05-25 23:21:27 -0700595 defaults: ["py2-interp-defaults"],
596 srcs: [
597 "Modules/selectmodule.c",
598 ],
599}
600
601cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700602 name: "py2-c-module-mmap",
Nan Zhangc3939142017-05-25 23:21:27 -0700603 defaults: ["py2-interp-defaults"],
604 srcs: [
605 "Modules/mmapmodule.c",
606 ],
607}
608
609cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700610 name: "py2-c-module-_csv",
Nan Zhangc3939142017-05-25 23:21:27 -0700611 defaults: ["py2-interp-defaults"],
612 srcs: [
613 "Modules/_csv.c",
614 ],
615}
616
617cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700618 name: "py2-c-module-_socket",
Nan Zhangc3939142017-05-25 23:21:27 -0700619 defaults: ["py2-interp-defaults"],
620 srcs: [
621 "Modules/socketmodule.c",
622 "Modules/timemodule.c",
623 ],
624}
625
626cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700627 name: "py2-c-module-termios",
Nan Zhangc3939142017-05-25 23:21:27 -0700628 defaults: ["py2-interp-defaults"],
629 srcs: [
630 "Modules/termios.c",
631 ],
632}
633
634cc_library_static {
Dan Willemsendbcebe02019-01-07 18:07:24 -0800635 name: "py2-c-module-_ssl",
636 defaults: ["py2-interp-defaults"],
637 srcs: ["Modules/_ssl.c"],
638 cflags: ["-Wno-incompatible-pointer-types-discards-qualifiers"],
639 static_libs: [
640 "libssl",
Colin Crossf67325c2019-09-18 11:05:54 -0700641 "libcrypto_static",
Dan Willemsendbcebe02019-01-07 18:07:24 -0800642 ],
643}
644
645cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700646 name: "py2-c-module-_md5",
Nan Zhangc3939142017-05-25 23:21:27 -0700647 defaults: ["py2-interp-defaults"],
648 srcs: [
649 "Modules/md5module.c",
650 "Modules/md5.c",
651 ],
652}
653
654cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700655 name: "py2-c-module-_sha",
Nan Zhangc3939142017-05-25 23:21:27 -0700656 defaults: ["py2-interp-defaults"],
657 srcs: [
658 "Modules/shamodule.c",
659 ],
660}
661
662cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700663 name: "py2-c-module-_sha256",
Nan Zhangc3939142017-05-25 23:21:27 -0700664 defaults: ["py2-interp-defaults"],
665 srcs: [
666 "Modules/sha256module.c",
667 ],
668}
669
670cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700671 name: "py2-c-module-_sha512",
Nan Zhangc3939142017-05-25 23:21:27 -0700672 defaults: ["py2-interp-defaults"],
673 srcs: [
674 "Modules/sha512module.c",
675 ],
676}
677
678cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700679 name: "py2-c-module-binascii",
Nan Zhangc3939142017-05-25 23:21:27 -0700680 defaults: ["py2-interp-defaults"],
681 srcs: [
682 "Modules/binascii.c",
683 ],
684}
685
686cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700687 name: "py2-c-module-parser",
Nan Zhangc3939142017-05-25 23:21:27 -0700688 defaults: ["py2-interp-defaults"],
689 srcs: [
690 "Modules/parsermodule.c",
691 ],
692}
693
694cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700695 name: "py2-c-module-cStringIO",
Nan Zhangc3939142017-05-25 23:21:27 -0700696 defaults: ["py2-interp-defaults"],
697 srcs: [
698 "Modules/cStringIO.c",
699 ],
700}
701
702cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700703 name: "py2-c-module-cPickle",
Nan Zhangc3939142017-05-25 23:21:27 -0700704 defaults: ["py2-interp-defaults"],
705 srcs: [
706 "Modules/cPickle.c",
707 ],
708}
709
710cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700711 name: "py2-c-module-xxsubtype",
Nan Zhangc3939142017-05-25 23:21:27 -0700712 defaults: ["py2-interp-defaults"],
713 srcs: [
714 "Modules/xxsubtype.c",
715 ],
716}
717
718cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700719 name: "py2-c-module-future_builtins",
Nan Zhangc3939142017-05-25 23:21:27 -0700720 defaults: ["py2-interp-defaults"],
721 srcs: [
722 "Modules/future_builtins.c",
723 ],
724}
725
726cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700727 name: "py2-c-module-_json",
Nan Zhangc3939142017-05-25 23:21:27 -0700728 defaults: ["py2-interp-defaults"],
729 srcs: [
730 "Modules/_json.c",
731 ],
732}
733
734cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700735 name: "py2-c-module-_hotshot",
Nan Zhangc3939142017-05-25 23:21:27 -0700736 defaults: ["py2-interp-defaults"],
737 srcs: [
738 "Modules/_hotshot.c",
739 ],
740}
741
742cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700743 name: "py2-c-module-_lsprof",
Nan Zhangc3939142017-05-25 23:21:27 -0700744 defaults: ["py2-interp-defaults"],
745 srcs: [
746 "Modules/_lsprof.c",
747 "Modules/rotatingtree.c",
748 ],
749}
750
751cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700752 name: "py2-c-module-grp",
Nan Zhangc3939142017-05-25 23:21:27 -0700753 defaults: ["py2-interp-defaults"],
754 srcs: [
755 "Modules/grpmodule.c",
756 "Modules/rotatingtree.c",
757 ],
758}
759
760cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700761 name: "py2-c-module-syslog",
Nan Zhangc3939142017-05-25 23:21:27 -0700762 defaults: ["py2-interp-defaults"],
763 srcs: [
764 "Modules/syslogmodule.c",
765 ],
766}
767
768cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700769 name: "py2-c-module-audioop",
Nan Zhangc3939142017-05-25 23:21:27 -0700770 defaults: ["py2-interp-defaults"],
771 srcs: [
772 "Modules/audioop.c",
773 ],
774}
775
776cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700777 name: "py2-c-module-resource",
Nan Zhangc3939142017-05-25 23:21:27 -0700778 defaults: ["py2-interp-defaults"],
779 srcs: [
780 "Modules/resource.c",
781 ],
782}
783
784cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700785 name: "py2-c-module-_multibytecodec",
Nan Zhangc3939142017-05-25 23:21:27 -0700786 defaults: ["py2-interp-defaults"],
787 srcs: [
788 "Modules/cjkcodecs/multibytecodec.c",
789 ],
790}
791
792cc_library_static {
Nan Zhangd5c4d4a2017-07-19 16:22:00 -0700793 name: "py2-c-module-_codecs_kr",
794 defaults: ["py2-interp-defaults"],
795 srcs: ["Modules/cjkcodecs/_codecs_kr.c"],
796}
797
798cc_library_static {
799 name: "py2-c-module-_codecs_jp",
800 defaults: ["py2-interp-defaults"],
801 srcs: ["Modules/cjkcodecs/_codecs_jp.c"],
802}
803
804cc_library_static {
805 name: "py2-c-module-_codecs_cn",
806 defaults: ["py2-interp-defaults"],
807 srcs: ["Modules/cjkcodecs/_codecs_cn.c"],
808}
809
810cc_library_static {
811 name: "py2-c-module-_codecs_tw",
812 defaults: ["py2-interp-defaults"],
813 srcs: ["Modules/cjkcodecs/_codecs_tw.c"],
814}
815
816cc_library_static {
817 name: "py2-c-module-_codecs_hk",
818 defaults: ["py2-interp-defaults"],
819 srcs: ["Modules/cjkcodecs/_codecs_hk.c"],
820}
821
822cc_library_static {
823 name: "py2-c-module-_codecs_iso2022",
824 defaults: ["py2-interp-defaults"],
825 srcs: ["Modules/cjkcodecs/_codecs_iso2022.c"],
826}
827
828cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700829 name: "py2-c-module-_multiprocessing",
Nan Zhangc3939142017-05-25 23:21:27 -0700830 defaults: ["py2-interp-defaults"],
831 srcs: [
832 "Modules/_multiprocessing/multiprocessing.c",
833 "Modules/_multiprocessing/semaphore.c",
834 "Modules/_multiprocessing/socket_connection.c",
835 ],
836}
Nan Zhangced27512017-06-19 18:01:34 -0700837
838cc_library_static {
839 name: "py2-c-module-zlib",
840 defaults: [
841 "py2-interp-defaults",
842 ],
843 cflags: [
844 "-DUSE_ZLIB_CRC32",
845 ],
846 srcs: [
847 "Modules/zlibmodule.c",
848 ],
849 static_libs: [
850 "libz",
851 ],
852}
Nan Zhangd5c4d4a2017-07-19 16:22:00 -0700853
854cc_library_static {
855 name: "py2-c-module-pyexpat",
856 defaults: [
857 "py2-interp-defaults",
858 ],
859 cflags: [
860 "-DUSE_PYEXPAT_CAPI",
861 ],
862 srcs: [
863 "Modules/pyexpat.c",
864 ],
865 static_libs: [
866 "libexpat",
867 ],
868}
869
870cc_library_static {
871 name: "py2-c-module-_sqlite3",
872 defaults: [
873 "py2-interp-defaults",
874 ],
875 cflags: [
876 "-DMODULE_NAME=\"sqlite3\"",
877 "-DSQLITE_OMIT_LOAD_EXTENSION",
878 "-Wno-format-security",
879 "-Wno-type-limits",
880 "-Wno-char-subscripts",
881 ],
882 local_include_dirs: [
883 "Modules/_sqlite",
884 ],
885 srcs: [
886 "Modules/_sqlite/cache.c",
887 "Modules/_sqlite/connection.c",
888 "Modules/_sqlite/cursor.c",
889 "Modules/_sqlite/microprotocols.c",
890 "Modules/_sqlite/module.c",
891 "Modules/_sqlite/prepare_protocol.c",
892 "Modules/_sqlite/row.c",
893 "Modules/_sqlite/statement.c",
894 "Modules/_sqlite/util.c",
895 ],
Nan Zhang33bb4bb2017-12-01 20:00:54 +0000896 target: {
Alex Light6f3263d2019-02-27 14:37:14 -0800897 host: {
Nan Zhang33bb4bb2017-12-01 20:00:54 +0000898 static_libs: [
899 "libsqlite",
900 ],
901 },
902 android: {
903 shared_libs: [
904 "libsqlite",
Dan Willemsen04e39102019-02-14 21:00:06 -0800905 ],
Nan Zhang33bb4bb2017-12-01 20:00:54 +0000906 },
907 },
Nan Zhangd5c4d4a2017-07-19 16:22:00 -0700908}
909
910cc_library_static {
911 name: "py2-c-module-_ctypes_test",
912 defaults: ["py2-interp-defaults"],
913 srcs: ["Modules/_ctypes/_ctypes_test.c"],
914}
915
Nan Zhangd5c4d4a2017-07-19 16:22:00 -0700916cc_library_static {
917 name: "py2-c-module-_ctypes",
918 defaults: [
919 "py2-interp-defaults",
920 ],
921 local_include_dirs: [
Nan Zhangd5c4d4a2017-07-19 16:22:00 -0700922 "Modules/_ctypes/libffi/include",
923 ],
924 srcs: [
925 "Modules/_ctypes/_ctypes.c",
926 "Modules/_ctypes/callbacks.c",
927 "Modules/_ctypes/callproc.c",
928 "Modules/_ctypes/stgdict.c",
929 "Modules/_ctypes/cfield.c",
930 "Modules/_ctypes/libffi/src/prep_cif.c",
931 "Modules/_ctypes/libffi/src/closures.c",
932 ],
933 arch: {
934 x86_64: {
935 local_include_dirs: [
936 "Modules/_ctypes/libffi/src/x86",
937 ],
938 srcs: [
939 "Modules/_ctypes/libffi/src/x86/ffi64.c",
Nan Zhangd5c4d4a2017-07-19 16:22:00 -0700940 "Modules/_ctypes/libffi/src/x86/ffi.c",
941 "Modules/_ctypes/libffi/src/x86/sysv.S",
942 ],
943 },
Nan Zhang33bb4bb2017-12-01 20:00:54 +0000944 x86: {
945 local_include_dirs: [
946 "Modules/_ctypes/libffi/src/x86",
947 ],
948 srcs: [
949 "Modules/_ctypes/libffi/src/x86/ffi.c",
950 "Modules/_ctypes/libffi/src/x86/sysv.S",
951 ],
952 },
953 arm: {
954 local_include_dirs: [
955 "android_arm/libffi",
956 "Modules/_ctypes/libffi/src/arm",
957 ],
958 srcs: [
959 "Modules/_ctypes/libffi/src/arm/ffi.c",
960 "Modules/_ctypes/libffi/src/arm/sysv.S",
961 "Modules/_ctypes/libffi/src/arm/trampoline.S",
Dan Willemsen04e39102019-02-14 21:00:06 -0800962 ],
Nan Zhang33bb4bb2017-12-01 20:00:54 +0000963 },
964 arm64: {
965 // arithmetic on a pointer in _ctypes/libffi/src/aarch64/ffi.c
966 cflags: ["-Wno-pointer-arith"],
967 local_include_dirs: [
968 "android_arm64/libffi",
969 "Modules/_ctypes/libffi/src/aarch64",
970 ],
971 srcs: [
972 "Modules/_ctypes/libffi/src/aarch64/ffi.c",
973 "Modules/_ctypes/libffi/src/aarch64/sysv.S",
Dan Willemsen04e39102019-02-14 21:00:06 -0800974 ],
Nan Zhang33bb4bb2017-12-01 20:00:54 +0000975 },
Nan Zhangd5c4d4a2017-07-19 16:22:00 -0700976 },
Dan Willemsenc88c0802017-09-25 14:33:27 -0700977 target: {
978 // Regenerate include dirs with android_regen.sh
979 darwin_x86_64: {
980 local_include_dirs: ["darwin_x86_64/libffi"],
981 srcs: [
982 "Modules/_ctypes/libffi/src/x86/darwin.S",
983 "Modules/_ctypes/libffi/src/x86/darwin64.S",
984 ],
985 },
Colin Crossfc6603b2022-03-08 15:12:47 -0800986 host_linux: {
Dan Willemsenc88c0802017-09-25 14:33:27 -0700987 local_include_dirs: ["linux_x86_64/libffi"],
988 srcs: [
989 "Modules/_ctypes/libffi/src/x86/unix64.S",
990 ],
991 },
Nan Zhang33bb4bb2017-12-01 20:00:54 +0000992 android_x86: {
993 local_include_dirs: ["android_x86/libffi"],
994 srcs: [
995 "Modules/_ctypes/libffi/src/x86/win32.S",
996 ],
997 },
998 android_x86_64: {
999 local_include_dirs: ["android_x86_64/libffi"],
1000 srcs: [
1001 "Modules/_ctypes/libffi/src/x86/unix64.S",
1002 ],
1003 },
Dan Willemsenc88c0802017-09-25 14:33:27 -07001004 },
Nan Zhangd5c4d4a2017-07-19 16:22:00 -07001005}
Dan Willemsena7c6b232019-02-20 10:43:11 -08001006
1007cc_library_host_static {
1008 name: "py2-c-module-_scproxy",
1009 defaults: ["py2-interp-defaults"],
1010 srcs: ["Mac/Modules/_scproxy.c"],
1011 target: {
1012 linux: {
1013 enabled: false,
1014 },
1015 },
1016}