blob: b6dc00e2c11b58c458482dea6f9c310c6acf441d [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
Dan Willemsencd282852019-02-14 21:41:18 -0800214cc_defaults {
215 name: "py2-launcher-defaults",
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 ],
Dan Willemsencd282852019-02-14 21:41:18 -0800229 static_libs: [
230 "libbase",
231 "libcrypto",
232 "libexpat",
233 "libssl",
234 "libz",
235 ],
236 target: {
237 linux_glibc_x86_64: {
238 host_ldlibs: ["-lutil"],
239 },
Dan Willemsena7c6b232019-02-20 10:43:11 -0800240 darwin: {
241 host_ldlibs: [
242 "-framework SystemConfiguration",
243 "-framework CoreFoundation",
244 ],
245 },
Dan Willemsencd282852019-02-14 21:41:18 -0800246 host: {
247 static_libs: ["libsqlite"],
248 },
249 // Use shared libsqlite for device side, otherwise
250 // the executable size will be really huge.
251 android: {
252 shared_libs: ["libsqlite"],
253 },
254 },
255}
256
257cc_library_static {
258 name: "py2-launcher-lib",
259 defaults: ["py2-launcher-defaults"],
Nan Zhangc3939142017-05-25 23:21:27 -0700260 srcs: [
Nan Zhangc3939142017-05-25 23:21:27 -0700261 "Modules/gcmodule.c",
262 "Modules/getpath.c",
263 "Modules/config.c",
264 "Modules/getbuildinfo.c",
Nan Zhangced27512017-06-19 18:01:34 -0700265 // Default built-in extension py2-c-modules.
Nan Zhangc3939142017-05-25 23:21:27 -0700266 "Modules/threadmodule.c",
267 "Modules/signalmodule.c",
268 "Modules/posixmodule.c",
269 "Modules/errnomodule.c",
270 "Modules/pwdmodule.c",
271 "Modules/_sre.c",
272 "Modules/_codecsmodule.c",
273 "Modules/_weakref.c",
274 "Modules/zipimport.c",
275 "Modules/symtablemodule.c",
Dan Willemseneba50a52018-11-16 17:27:26 -0800276 "Modules/main.c",
Nan Zhangced27512017-06-19 18:01:34 -0700277 ],
278 // NOTE: Please update Modules/config.c if new lib get added in the static_libs.
Dan Willemsencd282852019-02-14 21:41:18 -0800279 whole_static_libs: [
Nan Zhangced27512017-06-19 18:01:34 -0700280 // Be careful the order of these three static libraries below due to
281 // missing symbols issues.
Nan Zhangc3939142017-05-25 23:21:27 -0700282 "py2-interp-object",
283 "py2-interp-python",
Nan Zhangced27512017-06-19 18:01:34 -0700284 "py2-interp-parser",
285 "py2-c-module-array",
286 "py2-c-module-cmath",
287 "py2-c-module-math",
288 "py2-c-module-_struct",
289 "py2-c-module-time",
290 "py2-c-module-operator",
291 "py2-c-module-_testcapi",
292 "py2-c-module-_random",
293 "py2-c-module-_collections",
294 "py2-c-module-_heapq",
295 "py2-c-module-itertools",
296 "py2-c-module-strop",
297 "py2-c-module-_functools",
298 "py2-c-module-datetime",
299 "py2-c-module-_bisect",
300 "py2-c-module-unicodedata",
301 "py2-c-module-_io",
302 "py2-c-module-fcntl",
303 "py2-c-module-select",
304 "py2-c-module-mmap",
305 "py2-c-module-_csv",
306 "py2-c-module-_socket",
307 "py2-c-module-termios",
Dan Willemsendbcebe02019-01-07 18:07:24 -0800308 "py2-c-module-_ssl",
Nan Zhangced27512017-06-19 18:01:34 -0700309 "py2-c-module-_md5",
310 "py2-c-module-_sha",
311 "py2-c-module-_sha256",
312 "py2-c-module-_sha512",
313 "py2-c-module-binascii",
314 "py2-c-module-parser",
315 "py2-c-module-cStringIO",
316 "py2-c-module-cPickle",
317 "py2-c-module-xxsubtype",
318 "py2-c-module-future_builtins",
319 "py2-c-module-_json",
320 "py2-c-module-_hotshot",
321 "py2-c-module-_lsprof",
322 "py2-c-module-grp",
323 "py2-c-module-syslog",
324 "py2-c-module-audioop",
325 "py2-c-module-resource",
326 "py2-c-module-_multibytecodec",
Nan Zhangd5c4d4a2017-07-19 16:22:00 -0700327 "py2-c-module-_codecs_kr",
328 "py2-c-module-_codecs_jp",
329 "py2-c-module-_codecs_cn",
330 "py2-c-module-_codecs_tw",
331 "py2-c-module-_codecs_hk",
332 "py2-c-module-_codecs_iso2022",
Nan Zhangced27512017-06-19 18:01:34 -0700333 "py2-c-module-_multiprocessing",
334 "py2-c-module-zlib",
Nan Zhangd5c4d4a2017-07-19 16:22:00 -0700335 "py2-c-module-pyexpat",
336 "py2-c-module-_sqlite3",
337 "py2-c-module-_ctypes_test",
338 "py2-c-module-_ctypes",
Nan Zhangc3939142017-05-25 23:21:27 -0700339 ],
Dan Willemsena7c6b232019-02-20 10:43:11 -0800340 target: {
341 darwin: {
342 whole_static_libs: ["py2-c-module-_scproxy"],
343 },
344 },
Dan Willemsencd282852019-02-14 21:41:18 -0800345}
346
347cc_binary {
348 name: "py2-launcher",
349 defaults: ["py2-launcher-defaults"],
350 srcs: ["Launcher/launcher_main.cpp"],
351 static_libs: ["py2-launcher-lib"],
352}
353
354cc_binary {
355 name: "py2-launcher-autorun",
356 defaults: ["py2-launcher-defaults"],
357 srcs: ["Launcher/launcher_main.cpp"],
358 static_libs: ["py2-launcher-lib"],
359 cflags: ["-DANDROID_AUTORUN"],
360}
361
362python_binary_host {
363 name: "py2-cmd",
364 autorun: false,
365 version: {
366 py2: {
367 enabled: true,
368 embedded_launcher: true,
Nan Zhang33bb4bb2017-12-01 20:00:54 +0000369 },
Dan Willemsencd282852019-02-14 21:41:18 -0800370 py3: {
371 enabled: false,
Dan Willemsenc88c0802017-09-25 14:33:27 -0700372 },
373 },
Nan Zhangc3939142017-05-25 23:21:27 -0700374}
375
Nan Zhangced27512017-06-19 18:01:34 -0700376// Enabled extension py2-c-modules.
Nan Zhangc3939142017-05-25 23:21:27 -0700377
378cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700379 name: "py2-c-module-array",
Nan Zhangc3939142017-05-25 23:21:27 -0700380 defaults: ["py2-interp-defaults"],
381 srcs: [
382 "Modules/arraymodule.c",
383 ],
384}
385
386cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700387 name: "py2-c-module-cmath",
Nan Zhangc3939142017-05-25 23:21:27 -0700388 defaults: ["py2-interp-defaults"],
389 srcs: [
390 "Modules/cmathmodule.c",
391 "Modules/_math.c",
392 ],
393}
394
395cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700396 name: "py2-c-module-math",
Nan Zhangc3939142017-05-25 23:21:27 -0700397 defaults: ["py2-interp-defaults"],
398 srcs: [
399 "Modules/mathmodule.c",
400 "Modules/_math.c",
401 ],
402}
403
404cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700405 name: "py2-c-module-_struct",
Nan Zhangc3939142017-05-25 23:21:27 -0700406 defaults: ["py2-interp-defaults"],
407 srcs: [
408 "Modules/_struct.c",
409 ],
410}
411
412cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700413 name: "py2-c-module-time",
Nan Zhangc3939142017-05-25 23:21:27 -0700414 defaults: ["py2-interp-defaults"],
415 srcs: [
416 "Modules/timemodule.c",
417 ],
418}
419
420cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700421 name: "py2-c-module-operator",
Nan Zhangc3939142017-05-25 23:21:27 -0700422 defaults: ["py2-interp-defaults"],
423 srcs: [
424 "Modules/operator.c",
425 ],
426}
427
428cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700429 name: "py2-c-module-_testcapi",
Nan Zhangc3939142017-05-25 23:21:27 -0700430 defaults: ["py2-interp-defaults"],
431 srcs: [
432 "Modules/_testcapimodule.c",
433 ],
434}
435
436cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700437 name: "py2-c-module-_random",
Nan Zhangc3939142017-05-25 23:21:27 -0700438 defaults: ["py2-interp-defaults"],
439 srcs: [
440 "Modules/_randommodule.c",
441 ],
442}
443
444cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700445 name: "py2-c-module-_collections",
Nan Zhangc3939142017-05-25 23:21:27 -0700446 defaults: ["py2-interp-defaults"],
447 srcs: [
448 "Modules/_collectionsmodule.c",
449 ],
450}
451
452cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700453 name: "py2-c-module-_heapq",
Nan Zhangc3939142017-05-25 23:21:27 -0700454 defaults: ["py2-interp-defaults"],
455 srcs: [
456 "Modules/_heapqmodule.c",
457 ],
458}
459
460cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700461 name: "py2-c-module-itertools",
Nan Zhangc3939142017-05-25 23:21:27 -0700462 defaults: ["py2-interp-defaults"],
463 srcs: [
464 "Modules/itertoolsmodule.c",
465 ],
466}
467
468cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700469 name: "py2-c-module-strop",
Nan Zhangc3939142017-05-25 23:21:27 -0700470 defaults: ["py2-interp-defaults"],
471 srcs: [
472 "Modules/stropmodule.c",
473 ],
474}
475
476cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700477 name: "py2-c-module-_functools",
Nan Zhangc3939142017-05-25 23:21:27 -0700478 defaults: ["py2-interp-defaults"],
479 srcs: [
480 "Modules/_functoolsmodule.c",
481 ],
482}
483
484cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700485 name: "py2-c-module-datetime",
Nan Zhangc3939142017-05-25 23:21:27 -0700486 defaults: ["py2-interp-defaults"],
487 srcs: [
488 "Modules/datetimemodule.c",
489 ],
490}
491
492cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700493 name: "py2-c-module-_bisect",
Nan Zhangc3939142017-05-25 23:21:27 -0700494 defaults: ["py2-interp-defaults"],
495 srcs: [
496 "Modules/_bisectmodule.c",
497 ],
498}
499
500cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700501 name: "py2-c-module-unicodedata",
Nan Zhangc3939142017-05-25 23:21:27 -0700502 defaults: ["py2-interp-defaults"],
503 srcs: [
504 "Modules/unicodedata.c",
505 ],
506}
507
508cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700509 name: "py2-c-module-_io",
Nan Zhangc3939142017-05-25 23:21:27 -0700510 defaults: ["py2-interp-defaults"],
511 srcs: [
512 "Modules/_io/bufferedio.c",
513 "Modules/_io/bytesio.c",
514 "Modules/_io/fileio.c",
515 "Modules/_io/iobase.c",
516 "Modules/_io/_iomodule.c",
517 "Modules/_io/stringio.c",
518 "Modules/_io/textio.c",
519 ],
520 local_include_dirs: [
521 "Modules/_io",
522 ],
523}
524
525cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700526 name: "py2-c-module-fcntl",
Nan Zhangc3939142017-05-25 23:21:27 -0700527 defaults: ["py2-interp-defaults"],
528 srcs: [
529 "Modules/fcntlmodule.c",
530 ],
531}
532
533cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700534 name: "py2-c-module-select",
Nan Zhangc3939142017-05-25 23:21:27 -0700535 defaults: ["py2-interp-defaults"],
536 srcs: [
537 "Modules/selectmodule.c",
538 ],
539}
540
541cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700542 name: "py2-c-module-mmap",
Nan Zhangc3939142017-05-25 23:21:27 -0700543 defaults: ["py2-interp-defaults"],
544 srcs: [
545 "Modules/mmapmodule.c",
546 ],
547}
548
549cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700550 name: "py2-c-module-_csv",
Nan Zhangc3939142017-05-25 23:21:27 -0700551 defaults: ["py2-interp-defaults"],
552 srcs: [
553 "Modules/_csv.c",
554 ],
555}
556
557cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700558 name: "py2-c-module-_socket",
Nan Zhangc3939142017-05-25 23:21:27 -0700559 defaults: ["py2-interp-defaults"],
560 srcs: [
561 "Modules/socketmodule.c",
562 "Modules/timemodule.c",
563 ],
564}
565
566cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700567 name: "py2-c-module-termios",
Nan Zhangc3939142017-05-25 23:21:27 -0700568 defaults: ["py2-interp-defaults"],
569 srcs: [
570 "Modules/termios.c",
571 ],
572}
573
574cc_library_static {
Dan Willemsendbcebe02019-01-07 18:07:24 -0800575 name: "py2-c-module-_ssl",
576 defaults: ["py2-interp-defaults"],
577 srcs: ["Modules/_ssl.c"],
578 cflags: ["-Wno-incompatible-pointer-types-discards-qualifiers"],
579 static_libs: [
580 "libssl",
581 "libcrypto",
582 ],
583}
584
585cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700586 name: "py2-c-module-_md5",
Nan Zhangc3939142017-05-25 23:21:27 -0700587 defaults: ["py2-interp-defaults"],
588 srcs: [
589 "Modules/md5module.c",
590 "Modules/md5.c",
591 ],
592}
593
594cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700595 name: "py2-c-module-_sha",
Nan Zhangc3939142017-05-25 23:21:27 -0700596 defaults: ["py2-interp-defaults"],
597 srcs: [
598 "Modules/shamodule.c",
599 ],
600}
601
602cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700603 name: "py2-c-module-_sha256",
Nan Zhangc3939142017-05-25 23:21:27 -0700604 defaults: ["py2-interp-defaults"],
605 srcs: [
606 "Modules/sha256module.c",
607 ],
608}
609
610cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700611 name: "py2-c-module-_sha512",
Nan Zhangc3939142017-05-25 23:21:27 -0700612 defaults: ["py2-interp-defaults"],
613 srcs: [
614 "Modules/sha512module.c",
615 ],
616}
617
618cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700619 name: "py2-c-module-binascii",
Nan Zhangc3939142017-05-25 23:21:27 -0700620 defaults: ["py2-interp-defaults"],
621 srcs: [
622 "Modules/binascii.c",
623 ],
624}
625
626cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700627 name: "py2-c-module-parser",
Nan Zhangc3939142017-05-25 23:21:27 -0700628 defaults: ["py2-interp-defaults"],
629 srcs: [
630 "Modules/parsermodule.c",
631 ],
632}
633
634cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700635 name: "py2-c-module-cStringIO",
Nan Zhangc3939142017-05-25 23:21:27 -0700636 defaults: ["py2-interp-defaults"],
637 srcs: [
638 "Modules/cStringIO.c",
639 ],
640}
641
642cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700643 name: "py2-c-module-cPickle",
Nan Zhangc3939142017-05-25 23:21:27 -0700644 defaults: ["py2-interp-defaults"],
645 srcs: [
646 "Modules/cPickle.c",
647 ],
648}
649
650cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700651 name: "py2-c-module-xxsubtype",
Nan Zhangc3939142017-05-25 23:21:27 -0700652 defaults: ["py2-interp-defaults"],
653 srcs: [
654 "Modules/xxsubtype.c",
655 ],
656}
657
658cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700659 name: "py2-c-module-future_builtins",
Nan Zhangc3939142017-05-25 23:21:27 -0700660 defaults: ["py2-interp-defaults"],
661 srcs: [
662 "Modules/future_builtins.c",
663 ],
664}
665
666cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700667 name: "py2-c-module-_json",
Nan Zhangc3939142017-05-25 23:21:27 -0700668 defaults: ["py2-interp-defaults"],
669 srcs: [
670 "Modules/_json.c",
671 ],
672}
673
674cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700675 name: "py2-c-module-_hotshot",
Nan Zhangc3939142017-05-25 23:21:27 -0700676 defaults: ["py2-interp-defaults"],
677 srcs: [
678 "Modules/_hotshot.c",
679 ],
680}
681
682cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700683 name: "py2-c-module-_lsprof",
Nan Zhangc3939142017-05-25 23:21:27 -0700684 defaults: ["py2-interp-defaults"],
685 srcs: [
686 "Modules/_lsprof.c",
687 "Modules/rotatingtree.c",
688 ],
689}
690
691cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700692 name: "py2-c-module-grp",
Nan Zhangc3939142017-05-25 23:21:27 -0700693 defaults: ["py2-interp-defaults"],
694 srcs: [
695 "Modules/grpmodule.c",
696 "Modules/rotatingtree.c",
697 ],
698}
699
700cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700701 name: "py2-c-module-syslog",
Nan Zhangc3939142017-05-25 23:21:27 -0700702 defaults: ["py2-interp-defaults"],
703 srcs: [
704 "Modules/syslogmodule.c",
705 ],
706}
707
708cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700709 name: "py2-c-module-audioop",
Nan Zhangc3939142017-05-25 23:21:27 -0700710 defaults: ["py2-interp-defaults"],
711 srcs: [
712 "Modules/audioop.c",
713 ],
714}
715
716cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700717 name: "py2-c-module-resource",
Nan Zhangc3939142017-05-25 23:21:27 -0700718 defaults: ["py2-interp-defaults"],
719 srcs: [
720 "Modules/resource.c",
721 ],
722}
723
724cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700725 name: "py2-c-module-_multibytecodec",
Nan Zhangc3939142017-05-25 23:21:27 -0700726 defaults: ["py2-interp-defaults"],
727 srcs: [
728 "Modules/cjkcodecs/multibytecodec.c",
729 ],
730}
731
732cc_library_static {
Nan Zhangd5c4d4a2017-07-19 16:22:00 -0700733 name: "py2-c-module-_codecs_kr",
734 defaults: ["py2-interp-defaults"],
735 srcs: ["Modules/cjkcodecs/_codecs_kr.c"],
736}
737
738cc_library_static {
739 name: "py2-c-module-_codecs_jp",
740 defaults: ["py2-interp-defaults"],
741 srcs: ["Modules/cjkcodecs/_codecs_jp.c"],
742}
743
744cc_library_static {
745 name: "py2-c-module-_codecs_cn",
746 defaults: ["py2-interp-defaults"],
747 srcs: ["Modules/cjkcodecs/_codecs_cn.c"],
748}
749
750cc_library_static {
751 name: "py2-c-module-_codecs_tw",
752 defaults: ["py2-interp-defaults"],
753 srcs: ["Modules/cjkcodecs/_codecs_tw.c"],
754}
755
756cc_library_static {
757 name: "py2-c-module-_codecs_hk",
758 defaults: ["py2-interp-defaults"],
759 srcs: ["Modules/cjkcodecs/_codecs_hk.c"],
760}
761
762cc_library_static {
763 name: "py2-c-module-_codecs_iso2022",
764 defaults: ["py2-interp-defaults"],
765 srcs: ["Modules/cjkcodecs/_codecs_iso2022.c"],
766}
767
768cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700769 name: "py2-c-module-_multiprocessing",
Nan Zhangc3939142017-05-25 23:21:27 -0700770 defaults: ["py2-interp-defaults"],
771 srcs: [
772 "Modules/_multiprocessing/multiprocessing.c",
773 "Modules/_multiprocessing/semaphore.c",
774 "Modules/_multiprocessing/socket_connection.c",
775 ],
776}
Nan Zhangced27512017-06-19 18:01:34 -0700777
778cc_library_static {
779 name: "py2-c-module-zlib",
780 defaults: [
781 "py2-interp-defaults",
782 ],
783 cflags: [
784 "-DUSE_ZLIB_CRC32",
785 ],
786 srcs: [
787 "Modules/zlibmodule.c",
788 ],
789 static_libs: [
790 "libz",
791 ],
792}
Nan Zhangd5c4d4a2017-07-19 16:22:00 -0700793
794cc_library_static {
795 name: "py2-c-module-pyexpat",
796 defaults: [
797 "py2-interp-defaults",
798 ],
799 cflags: [
800 "-DUSE_PYEXPAT_CAPI",
801 ],
802 srcs: [
803 "Modules/pyexpat.c",
804 ],
805 static_libs: [
806 "libexpat",
807 ],
808}
809
810cc_library_static {
811 name: "py2-c-module-_sqlite3",
812 defaults: [
813 "py2-interp-defaults",
814 ],
815 cflags: [
816 "-DMODULE_NAME=\"sqlite3\"",
817 "-DSQLITE_OMIT_LOAD_EXTENSION",
818 "-Wno-format-security",
819 "-Wno-type-limits",
820 "-Wno-char-subscripts",
821 ],
822 local_include_dirs: [
823 "Modules/_sqlite",
824 ],
825 srcs: [
826 "Modules/_sqlite/cache.c",
827 "Modules/_sqlite/connection.c",
828 "Modules/_sqlite/cursor.c",
829 "Modules/_sqlite/microprotocols.c",
830 "Modules/_sqlite/module.c",
831 "Modules/_sqlite/prepare_protocol.c",
832 "Modules/_sqlite/row.c",
833 "Modules/_sqlite/statement.c",
834 "Modules/_sqlite/util.c",
835 ],
Nan Zhang33bb4bb2017-12-01 20:00:54 +0000836 target: {
837 linux_glibc_x86_64: {
838 static_libs: [
839 "libsqlite",
840 ],
841 },
842 darwin_x86_64: {
843 static_libs: [
844 "libsqlite",
845 ],
846 },
847 android: {
848 shared_libs: [
849 "libsqlite",
Dan Willemsen04e39102019-02-14 21:00:06 -0800850 ],
Nan Zhang33bb4bb2017-12-01 20:00:54 +0000851 },
852 },
Nan Zhangd5c4d4a2017-07-19 16:22:00 -0700853}
854
855cc_library_static {
856 name: "py2-c-module-_ctypes_test",
857 defaults: ["py2-interp-defaults"],
858 srcs: ["Modules/_ctypes/_ctypes_test.c"],
859}
860
Nan Zhangd5c4d4a2017-07-19 16:22:00 -0700861cc_library_static {
862 name: "py2-c-module-_ctypes",
863 defaults: [
864 "py2-interp-defaults",
865 ],
866 local_include_dirs: [
Nan Zhangd5c4d4a2017-07-19 16:22:00 -0700867 "Modules/_ctypes/libffi/include",
868 ],
869 srcs: [
870 "Modules/_ctypes/_ctypes.c",
871 "Modules/_ctypes/callbacks.c",
872 "Modules/_ctypes/callproc.c",
873 "Modules/_ctypes/stgdict.c",
874 "Modules/_ctypes/cfield.c",
875 "Modules/_ctypes/libffi/src/prep_cif.c",
876 "Modules/_ctypes/libffi/src/closures.c",
877 ],
878 arch: {
879 x86_64: {
880 local_include_dirs: [
881 "Modules/_ctypes/libffi/src/x86",
882 ],
883 srcs: [
884 "Modules/_ctypes/libffi/src/x86/ffi64.c",
Nan Zhangd5c4d4a2017-07-19 16:22:00 -0700885 "Modules/_ctypes/libffi/src/x86/ffi.c",
886 "Modules/_ctypes/libffi/src/x86/sysv.S",
887 ],
888 },
Nan Zhang33bb4bb2017-12-01 20:00:54 +0000889 x86: {
890 local_include_dirs: [
891 "Modules/_ctypes/libffi/src/x86",
892 ],
893 srcs: [
894 "Modules/_ctypes/libffi/src/x86/ffi.c",
895 "Modules/_ctypes/libffi/src/x86/sysv.S",
896 ],
897 },
898 arm: {
899 local_include_dirs: [
900 "android_arm/libffi",
901 "Modules/_ctypes/libffi/src/arm",
902 ],
903 srcs: [
904 "Modules/_ctypes/libffi/src/arm/ffi.c",
905 "Modules/_ctypes/libffi/src/arm/sysv.S",
906 "Modules/_ctypes/libffi/src/arm/trampoline.S",
Dan Willemsen04e39102019-02-14 21:00:06 -0800907 ],
Nan Zhang33bb4bb2017-12-01 20:00:54 +0000908 },
909 arm64: {
910 // arithmetic on a pointer in _ctypes/libffi/src/aarch64/ffi.c
911 cflags: ["-Wno-pointer-arith"],
912 local_include_dirs: [
913 "android_arm64/libffi",
914 "Modules/_ctypes/libffi/src/aarch64",
915 ],
916 srcs: [
917 "Modules/_ctypes/libffi/src/aarch64/ffi.c",
918 "Modules/_ctypes/libffi/src/aarch64/sysv.S",
Dan Willemsen04e39102019-02-14 21:00:06 -0800919 ],
Nan Zhang33bb4bb2017-12-01 20:00:54 +0000920 },
Nan Zhangd5c4d4a2017-07-19 16:22:00 -0700921 },
Dan Willemsenc88c0802017-09-25 14:33:27 -0700922 target: {
923 // Regenerate include dirs with android_regen.sh
924 darwin_x86_64: {
925 local_include_dirs: ["darwin_x86_64/libffi"],
926 srcs: [
927 "Modules/_ctypes/libffi/src/x86/darwin.S",
928 "Modules/_ctypes/libffi/src/x86/darwin64.S",
929 ],
930 },
Dan Willemsene41d4ce2017-10-02 10:41:09 -0700931 linux_glibc_x86_64: {
Dan Willemsenc88c0802017-09-25 14:33:27 -0700932 local_include_dirs: ["linux_x86_64/libffi"],
933 srcs: [
934 "Modules/_ctypes/libffi/src/x86/unix64.S",
935 ],
936 },
Nan Zhang33bb4bb2017-12-01 20:00:54 +0000937 android_x86: {
938 local_include_dirs: ["android_x86/libffi"],
939 srcs: [
940 "Modules/_ctypes/libffi/src/x86/win32.S",
941 ],
942 },
943 android_x86_64: {
944 local_include_dirs: ["android_x86_64/libffi"],
945 srcs: [
946 "Modules/_ctypes/libffi/src/x86/unix64.S",
947 ],
948 },
Dan Willemsenc88c0802017-09-25 14:33:27 -0700949 },
Nan Zhangd5c4d4a2017-07-19 16:22:00 -0700950}
Dan Willemsena7c6b232019-02-20 10:43:11 -0800951
952cc_library_host_static {
953 name: "py2-c-module-_scproxy",
954 defaults: ["py2-interp-defaults"],
955 srcs: ["Mac/Modules/_scproxy.c"],
956 target: {
957 linux: {
958 enabled: false,
959 },
960 },
961}