blob: 2a56885aca4293504490ed8d13c4010970850346 [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=\"\"",
222 "-DPYTHONPATH=\"\"",
Igor Murashkinec37d4a2018-08-01 14:30:55 -0700223 "-DDATE=\"Dec 31 1969\"",
224 "-DTIME=\"23:59:59\"",
Nan Zhangc3939142017-05-25 23:21:27 -0700225 ],
226 srcs: [
Nan Zhangced27512017-06-19 18:01:34 -0700227 "Launcher/launcher_main.cpp",
Nan Zhangc3939142017-05-25 23:21:27 -0700228 "Modules/gcmodule.c",
229 "Modules/getpath.c",
230 "Modules/config.c",
231 "Modules/getbuildinfo.c",
Nan Zhangced27512017-06-19 18:01:34 -0700232 // Default built-in extension py2-c-modules.
Nan Zhangc3939142017-05-25 23:21:27 -0700233 "Modules/threadmodule.c",
234 "Modules/signalmodule.c",
235 "Modules/posixmodule.c",
236 "Modules/errnomodule.c",
237 "Modules/pwdmodule.c",
238 "Modules/_sre.c",
239 "Modules/_codecsmodule.c",
240 "Modules/_weakref.c",
241 "Modules/zipimport.c",
242 "Modules/symtablemodule.c",
Dan Willemseneba50a52018-11-16 17:27:26 -0800243 "Modules/main.c",
Nan Zhangced27512017-06-19 18:01:34 -0700244 ],
245 // NOTE: Please update Modules/config.c if new lib get added in the static_libs.
Nan Zhangc3939142017-05-25 23:21:27 -0700246 static_libs: [
Nan Zhangced27512017-06-19 18:01:34 -0700247 "libbase",
248 // Be careful the order of these three static libraries below due to
249 // missing symbols issues.
Nan Zhangc3939142017-05-25 23:21:27 -0700250 "py2-interp-object",
251 "py2-interp-python",
Nan Zhangced27512017-06-19 18:01:34 -0700252 "py2-interp-parser",
253 "py2-c-module-array",
254 "py2-c-module-cmath",
255 "py2-c-module-math",
256 "py2-c-module-_struct",
257 "py2-c-module-time",
258 "py2-c-module-operator",
259 "py2-c-module-_testcapi",
260 "py2-c-module-_random",
261 "py2-c-module-_collections",
262 "py2-c-module-_heapq",
263 "py2-c-module-itertools",
264 "py2-c-module-strop",
265 "py2-c-module-_functools",
266 "py2-c-module-datetime",
267 "py2-c-module-_bisect",
268 "py2-c-module-unicodedata",
269 "py2-c-module-_io",
270 "py2-c-module-fcntl",
271 "py2-c-module-select",
272 "py2-c-module-mmap",
273 "py2-c-module-_csv",
274 "py2-c-module-_socket",
275 "py2-c-module-termios",
Dan Willemsendbcebe02019-01-07 18:07:24 -0800276 "py2-c-module-_ssl",
Nan Zhangced27512017-06-19 18:01:34 -0700277 "py2-c-module-_md5",
278 "py2-c-module-_sha",
279 "py2-c-module-_sha256",
280 "py2-c-module-_sha512",
281 "py2-c-module-binascii",
282 "py2-c-module-parser",
283 "py2-c-module-cStringIO",
284 "py2-c-module-cPickle",
285 "py2-c-module-xxsubtype",
286 "py2-c-module-future_builtins",
287 "py2-c-module-_json",
288 "py2-c-module-_hotshot",
289 "py2-c-module-_lsprof",
290 "py2-c-module-grp",
291 "py2-c-module-syslog",
292 "py2-c-module-audioop",
293 "py2-c-module-resource",
294 "py2-c-module-_multibytecodec",
Nan Zhangd5c4d4a2017-07-19 16:22:00 -0700295 "py2-c-module-_codecs_kr",
296 "py2-c-module-_codecs_jp",
297 "py2-c-module-_codecs_cn",
298 "py2-c-module-_codecs_tw",
299 "py2-c-module-_codecs_hk",
300 "py2-c-module-_codecs_iso2022",
Nan Zhangced27512017-06-19 18:01:34 -0700301 "py2-c-module-_multiprocessing",
302 "py2-c-module-zlib",
Nan Zhangd5c4d4a2017-07-19 16:22:00 -0700303 "py2-c-module-pyexpat",
304 "py2-c-module-_sqlite3",
305 "py2-c-module-_ctypes_test",
306 "py2-c-module-_ctypes",
Dan Willemsendbcebe02019-01-07 18:07:24 -0800307 "libcrypto",
Nan Zhangd5c4d4a2017-07-19 16:22:00 -0700308 "libexpat",
Dan Willemsendbcebe02019-01-07 18:07:24 -0800309 "libssl",
310 "libz",
Nan Zhangc3939142017-05-25 23:21:27 -0700311 ],
Dan Willemsenc88c0802017-09-25 14:33:27 -0700312 target: {
Dan Willemsene41d4ce2017-10-02 10:41:09 -0700313 linux_glibc_x86_64: {
Dan Willemsenc88c0802017-09-25 14:33:27 -0700314 host_ldlibs: ["-lutil"],
Nan Zhang33bb4bb2017-12-01 20:00:54 +0000315 },
Dan Willemseneba50a52018-11-16 17:27:26 -0800316 host: {
317 static_libs: ["libsqlite"],
Nan Zhang33bb4bb2017-12-01 20:00:54 +0000318 },
319 // Use shared libsqlite for device side, otherwise
320 // the executable size will be really huge.
321 android: {
Dan Willemseneba50a52018-11-16 17:27:26 -0800322 shared_libs: ["libsqlite"],
Dan Willemsenc88c0802017-09-25 14:33:27 -0700323 },
324 },
Nan Zhangc3939142017-05-25 23:21:27 -0700325}
326
Nan Zhangced27512017-06-19 18:01:34 -0700327// Enabled extension py2-c-modules.
Nan Zhangc3939142017-05-25 23:21:27 -0700328
329cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700330 name: "py2-c-module-array",
Nan Zhangc3939142017-05-25 23:21:27 -0700331 defaults: ["py2-interp-defaults"],
332 srcs: [
333 "Modules/arraymodule.c",
334 ],
335}
336
337cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700338 name: "py2-c-module-cmath",
Nan Zhangc3939142017-05-25 23:21:27 -0700339 defaults: ["py2-interp-defaults"],
340 srcs: [
341 "Modules/cmathmodule.c",
342 "Modules/_math.c",
343 ],
344}
345
346cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700347 name: "py2-c-module-math",
Nan Zhangc3939142017-05-25 23:21:27 -0700348 defaults: ["py2-interp-defaults"],
349 srcs: [
350 "Modules/mathmodule.c",
351 "Modules/_math.c",
352 ],
353}
354
355cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700356 name: "py2-c-module-_struct",
Nan Zhangc3939142017-05-25 23:21:27 -0700357 defaults: ["py2-interp-defaults"],
358 srcs: [
359 "Modules/_struct.c",
360 ],
361}
362
363cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700364 name: "py2-c-module-time",
Nan Zhangc3939142017-05-25 23:21:27 -0700365 defaults: ["py2-interp-defaults"],
366 srcs: [
367 "Modules/timemodule.c",
368 ],
369}
370
371cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700372 name: "py2-c-module-operator",
Nan Zhangc3939142017-05-25 23:21:27 -0700373 defaults: ["py2-interp-defaults"],
374 srcs: [
375 "Modules/operator.c",
376 ],
377}
378
379cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700380 name: "py2-c-module-_testcapi",
Nan Zhangc3939142017-05-25 23:21:27 -0700381 defaults: ["py2-interp-defaults"],
382 srcs: [
383 "Modules/_testcapimodule.c",
384 ],
385}
386
387cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700388 name: "py2-c-module-_random",
Nan Zhangc3939142017-05-25 23:21:27 -0700389 defaults: ["py2-interp-defaults"],
390 srcs: [
391 "Modules/_randommodule.c",
392 ],
393}
394
395cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700396 name: "py2-c-module-_collections",
Nan Zhangc3939142017-05-25 23:21:27 -0700397 defaults: ["py2-interp-defaults"],
398 srcs: [
399 "Modules/_collectionsmodule.c",
400 ],
401}
402
403cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700404 name: "py2-c-module-_heapq",
Nan Zhangc3939142017-05-25 23:21:27 -0700405 defaults: ["py2-interp-defaults"],
406 srcs: [
407 "Modules/_heapqmodule.c",
408 ],
409}
410
411cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700412 name: "py2-c-module-itertools",
Nan Zhangc3939142017-05-25 23:21:27 -0700413 defaults: ["py2-interp-defaults"],
414 srcs: [
415 "Modules/itertoolsmodule.c",
416 ],
417}
418
419cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700420 name: "py2-c-module-strop",
Nan Zhangc3939142017-05-25 23:21:27 -0700421 defaults: ["py2-interp-defaults"],
422 srcs: [
423 "Modules/stropmodule.c",
424 ],
425}
426
427cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700428 name: "py2-c-module-_functools",
Nan Zhangc3939142017-05-25 23:21:27 -0700429 defaults: ["py2-interp-defaults"],
430 srcs: [
431 "Modules/_functoolsmodule.c",
432 ],
433}
434
435cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700436 name: "py2-c-module-datetime",
Nan Zhangc3939142017-05-25 23:21:27 -0700437 defaults: ["py2-interp-defaults"],
438 srcs: [
439 "Modules/datetimemodule.c",
440 ],
441}
442
443cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700444 name: "py2-c-module-_bisect",
Nan Zhangc3939142017-05-25 23:21:27 -0700445 defaults: ["py2-interp-defaults"],
446 srcs: [
447 "Modules/_bisectmodule.c",
448 ],
449}
450
451cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700452 name: "py2-c-module-unicodedata",
Nan Zhangc3939142017-05-25 23:21:27 -0700453 defaults: ["py2-interp-defaults"],
454 srcs: [
455 "Modules/unicodedata.c",
456 ],
457}
458
459cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700460 name: "py2-c-module-_io",
Nan Zhangc3939142017-05-25 23:21:27 -0700461 defaults: ["py2-interp-defaults"],
462 srcs: [
463 "Modules/_io/bufferedio.c",
464 "Modules/_io/bytesio.c",
465 "Modules/_io/fileio.c",
466 "Modules/_io/iobase.c",
467 "Modules/_io/_iomodule.c",
468 "Modules/_io/stringio.c",
469 "Modules/_io/textio.c",
470 ],
471 local_include_dirs: [
472 "Modules/_io",
473 ],
474}
475
476cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700477 name: "py2-c-module-fcntl",
Nan Zhangc3939142017-05-25 23:21:27 -0700478 defaults: ["py2-interp-defaults"],
479 srcs: [
480 "Modules/fcntlmodule.c",
481 ],
482}
483
484cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700485 name: "py2-c-module-select",
Nan Zhangc3939142017-05-25 23:21:27 -0700486 defaults: ["py2-interp-defaults"],
487 srcs: [
488 "Modules/selectmodule.c",
489 ],
490}
491
492cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700493 name: "py2-c-module-mmap",
Nan Zhangc3939142017-05-25 23:21:27 -0700494 defaults: ["py2-interp-defaults"],
495 srcs: [
496 "Modules/mmapmodule.c",
497 ],
498}
499
500cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700501 name: "py2-c-module-_csv",
Nan Zhangc3939142017-05-25 23:21:27 -0700502 defaults: ["py2-interp-defaults"],
503 srcs: [
504 "Modules/_csv.c",
505 ],
506}
507
508cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700509 name: "py2-c-module-_socket",
Nan Zhangc3939142017-05-25 23:21:27 -0700510 defaults: ["py2-interp-defaults"],
511 srcs: [
512 "Modules/socketmodule.c",
513 "Modules/timemodule.c",
514 ],
515}
516
517cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700518 name: "py2-c-module-termios",
Nan Zhangc3939142017-05-25 23:21:27 -0700519 defaults: ["py2-interp-defaults"],
520 srcs: [
521 "Modules/termios.c",
522 ],
523}
524
525cc_library_static {
Dan Willemsendbcebe02019-01-07 18:07:24 -0800526 name: "py2-c-module-_ssl",
527 defaults: ["py2-interp-defaults"],
528 srcs: ["Modules/_ssl.c"],
529 cflags: ["-Wno-incompatible-pointer-types-discards-qualifiers"],
530 static_libs: [
531 "libssl",
532 "libcrypto",
533 ],
534}
535
536cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700537 name: "py2-c-module-_md5",
Nan Zhangc3939142017-05-25 23:21:27 -0700538 defaults: ["py2-interp-defaults"],
539 srcs: [
540 "Modules/md5module.c",
541 "Modules/md5.c",
542 ],
543}
544
545cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700546 name: "py2-c-module-_sha",
Nan Zhangc3939142017-05-25 23:21:27 -0700547 defaults: ["py2-interp-defaults"],
548 srcs: [
549 "Modules/shamodule.c",
550 ],
551}
552
553cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700554 name: "py2-c-module-_sha256",
Nan Zhangc3939142017-05-25 23:21:27 -0700555 defaults: ["py2-interp-defaults"],
556 srcs: [
557 "Modules/sha256module.c",
558 ],
559}
560
561cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700562 name: "py2-c-module-_sha512",
Nan Zhangc3939142017-05-25 23:21:27 -0700563 defaults: ["py2-interp-defaults"],
564 srcs: [
565 "Modules/sha512module.c",
566 ],
567}
568
569cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700570 name: "py2-c-module-binascii",
Nan Zhangc3939142017-05-25 23:21:27 -0700571 defaults: ["py2-interp-defaults"],
572 srcs: [
573 "Modules/binascii.c",
574 ],
575}
576
577cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700578 name: "py2-c-module-parser",
Nan Zhangc3939142017-05-25 23:21:27 -0700579 defaults: ["py2-interp-defaults"],
580 srcs: [
581 "Modules/parsermodule.c",
582 ],
583}
584
585cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700586 name: "py2-c-module-cStringIO",
Nan Zhangc3939142017-05-25 23:21:27 -0700587 defaults: ["py2-interp-defaults"],
588 srcs: [
589 "Modules/cStringIO.c",
590 ],
591}
592
593cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700594 name: "py2-c-module-cPickle",
Nan Zhangc3939142017-05-25 23:21:27 -0700595 defaults: ["py2-interp-defaults"],
596 srcs: [
597 "Modules/cPickle.c",
598 ],
599}
600
601cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700602 name: "py2-c-module-xxsubtype",
Nan Zhangc3939142017-05-25 23:21:27 -0700603 defaults: ["py2-interp-defaults"],
604 srcs: [
605 "Modules/xxsubtype.c",
606 ],
607}
608
609cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700610 name: "py2-c-module-future_builtins",
Nan Zhangc3939142017-05-25 23:21:27 -0700611 defaults: ["py2-interp-defaults"],
612 srcs: [
613 "Modules/future_builtins.c",
614 ],
615}
616
617cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700618 name: "py2-c-module-_json",
Nan Zhangc3939142017-05-25 23:21:27 -0700619 defaults: ["py2-interp-defaults"],
620 srcs: [
621 "Modules/_json.c",
622 ],
623}
624
625cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700626 name: "py2-c-module-_hotshot",
Nan Zhangc3939142017-05-25 23:21:27 -0700627 defaults: ["py2-interp-defaults"],
628 srcs: [
629 "Modules/_hotshot.c",
630 ],
631}
632
633cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700634 name: "py2-c-module-_lsprof",
Nan Zhangc3939142017-05-25 23:21:27 -0700635 defaults: ["py2-interp-defaults"],
636 srcs: [
637 "Modules/_lsprof.c",
638 "Modules/rotatingtree.c",
639 ],
640}
641
642cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700643 name: "py2-c-module-grp",
Nan Zhangc3939142017-05-25 23:21:27 -0700644 defaults: ["py2-interp-defaults"],
645 srcs: [
646 "Modules/grpmodule.c",
647 "Modules/rotatingtree.c",
648 ],
649}
650
651cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700652 name: "py2-c-module-syslog",
Nan Zhangc3939142017-05-25 23:21:27 -0700653 defaults: ["py2-interp-defaults"],
654 srcs: [
655 "Modules/syslogmodule.c",
656 ],
657}
658
659cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700660 name: "py2-c-module-audioop",
Nan Zhangc3939142017-05-25 23:21:27 -0700661 defaults: ["py2-interp-defaults"],
662 srcs: [
663 "Modules/audioop.c",
664 ],
665}
666
667cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700668 name: "py2-c-module-resource",
Nan Zhangc3939142017-05-25 23:21:27 -0700669 defaults: ["py2-interp-defaults"],
670 srcs: [
671 "Modules/resource.c",
672 ],
673}
674
675cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700676 name: "py2-c-module-_multibytecodec",
Nan Zhangc3939142017-05-25 23:21:27 -0700677 defaults: ["py2-interp-defaults"],
678 srcs: [
679 "Modules/cjkcodecs/multibytecodec.c",
680 ],
681}
682
683cc_library_static {
Nan Zhangd5c4d4a2017-07-19 16:22:00 -0700684 name: "py2-c-module-_codecs_kr",
685 defaults: ["py2-interp-defaults"],
686 srcs: ["Modules/cjkcodecs/_codecs_kr.c"],
687}
688
689cc_library_static {
690 name: "py2-c-module-_codecs_jp",
691 defaults: ["py2-interp-defaults"],
692 srcs: ["Modules/cjkcodecs/_codecs_jp.c"],
693}
694
695cc_library_static {
696 name: "py2-c-module-_codecs_cn",
697 defaults: ["py2-interp-defaults"],
698 srcs: ["Modules/cjkcodecs/_codecs_cn.c"],
699}
700
701cc_library_static {
702 name: "py2-c-module-_codecs_tw",
703 defaults: ["py2-interp-defaults"],
704 srcs: ["Modules/cjkcodecs/_codecs_tw.c"],
705}
706
707cc_library_static {
708 name: "py2-c-module-_codecs_hk",
709 defaults: ["py2-interp-defaults"],
710 srcs: ["Modules/cjkcodecs/_codecs_hk.c"],
711}
712
713cc_library_static {
714 name: "py2-c-module-_codecs_iso2022",
715 defaults: ["py2-interp-defaults"],
716 srcs: ["Modules/cjkcodecs/_codecs_iso2022.c"],
717}
718
719cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700720 name: "py2-c-module-_multiprocessing",
Nan Zhangc3939142017-05-25 23:21:27 -0700721 defaults: ["py2-interp-defaults"],
722 srcs: [
723 "Modules/_multiprocessing/multiprocessing.c",
724 "Modules/_multiprocessing/semaphore.c",
725 "Modules/_multiprocessing/socket_connection.c",
726 ],
727}
Nan Zhangced27512017-06-19 18:01:34 -0700728
729cc_library_static {
730 name: "py2-c-module-zlib",
731 defaults: [
732 "py2-interp-defaults",
733 ],
734 cflags: [
735 "-DUSE_ZLIB_CRC32",
736 ],
737 srcs: [
738 "Modules/zlibmodule.c",
739 ],
740 static_libs: [
741 "libz",
742 ],
743}
Nan Zhangd5c4d4a2017-07-19 16:22:00 -0700744
745cc_library_static {
746 name: "py2-c-module-pyexpat",
747 defaults: [
748 "py2-interp-defaults",
749 ],
750 cflags: [
751 "-DUSE_PYEXPAT_CAPI",
752 ],
753 srcs: [
754 "Modules/pyexpat.c",
755 ],
756 static_libs: [
757 "libexpat",
758 ],
759}
760
761cc_library_static {
762 name: "py2-c-module-_sqlite3",
763 defaults: [
764 "py2-interp-defaults",
765 ],
766 cflags: [
767 "-DMODULE_NAME=\"sqlite3\"",
768 "-DSQLITE_OMIT_LOAD_EXTENSION",
769 "-Wno-format-security",
770 "-Wno-type-limits",
771 "-Wno-char-subscripts",
772 ],
773 local_include_dirs: [
774 "Modules/_sqlite",
775 ],
776 srcs: [
777 "Modules/_sqlite/cache.c",
778 "Modules/_sqlite/connection.c",
779 "Modules/_sqlite/cursor.c",
780 "Modules/_sqlite/microprotocols.c",
781 "Modules/_sqlite/module.c",
782 "Modules/_sqlite/prepare_protocol.c",
783 "Modules/_sqlite/row.c",
784 "Modules/_sqlite/statement.c",
785 "Modules/_sqlite/util.c",
786 ],
Nan Zhang33bb4bb2017-12-01 20:00:54 +0000787 target: {
788 linux_glibc_x86_64: {
789 static_libs: [
790 "libsqlite",
791 ],
792 },
793 darwin_x86_64: {
794 static_libs: [
795 "libsqlite",
796 ],
797 },
798 android: {
799 shared_libs: [
800 "libsqlite",
Dan Willemsen04e39102019-02-14 21:00:06 -0800801 ],
Nan Zhang33bb4bb2017-12-01 20:00:54 +0000802 },
803 },
Nan Zhangd5c4d4a2017-07-19 16:22:00 -0700804}
805
806cc_library_static {
807 name: "py2-c-module-_ctypes_test",
808 defaults: ["py2-interp-defaults"],
809 srcs: ["Modules/_ctypes/_ctypes_test.c"],
810}
811
Nan Zhangd5c4d4a2017-07-19 16:22:00 -0700812cc_library_static {
813 name: "py2-c-module-_ctypes",
814 defaults: [
815 "py2-interp-defaults",
816 ],
817 local_include_dirs: [
Nan Zhangd5c4d4a2017-07-19 16:22:00 -0700818 "Modules/_ctypes/libffi/include",
819 ],
820 srcs: [
821 "Modules/_ctypes/_ctypes.c",
822 "Modules/_ctypes/callbacks.c",
823 "Modules/_ctypes/callproc.c",
824 "Modules/_ctypes/stgdict.c",
825 "Modules/_ctypes/cfield.c",
826 "Modules/_ctypes/libffi/src/prep_cif.c",
827 "Modules/_ctypes/libffi/src/closures.c",
828 ],
829 arch: {
830 x86_64: {
831 local_include_dirs: [
832 "Modules/_ctypes/libffi/src/x86",
833 ],
834 srcs: [
835 "Modules/_ctypes/libffi/src/x86/ffi64.c",
Nan Zhangd5c4d4a2017-07-19 16:22:00 -0700836 "Modules/_ctypes/libffi/src/x86/ffi.c",
837 "Modules/_ctypes/libffi/src/x86/sysv.S",
838 ],
839 },
Nan Zhang33bb4bb2017-12-01 20:00:54 +0000840 x86: {
841 local_include_dirs: [
842 "Modules/_ctypes/libffi/src/x86",
843 ],
844 srcs: [
845 "Modules/_ctypes/libffi/src/x86/ffi.c",
846 "Modules/_ctypes/libffi/src/x86/sysv.S",
847 ],
848 },
849 arm: {
850 local_include_dirs: [
851 "android_arm/libffi",
852 "Modules/_ctypes/libffi/src/arm",
853 ],
854 srcs: [
855 "Modules/_ctypes/libffi/src/arm/ffi.c",
856 "Modules/_ctypes/libffi/src/arm/sysv.S",
857 "Modules/_ctypes/libffi/src/arm/trampoline.S",
Dan Willemsen04e39102019-02-14 21:00:06 -0800858 ],
Nan Zhang33bb4bb2017-12-01 20:00:54 +0000859 },
860 arm64: {
861 // arithmetic on a pointer in _ctypes/libffi/src/aarch64/ffi.c
862 cflags: ["-Wno-pointer-arith"],
863 local_include_dirs: [
864 "android_arm64/libffi",
865 "Modules/_ctypes/libffi/src/aarch64",
866 ],
867 srcs: [
868 "Modules/_ctypes/libffi/src/aarch64/ffi.c",
869 "Modules/_ctypes/libffi/src/aarch64/sysv.S",
Dan Willemsen04e39102019-02-14 21:00:06 -0800870 ],
Nan Zhang33bb4bb2017-12-01 20:00:54 +0000871 },
Nan Zhangd5c4d4a2017-07-19 16:22:00 -0700872 },
Dan Willemsenc88c0802017-09-25 14:33:27 -0700873 target: {
874 // Regenerate include dirs with android_regen.sh
875 darwin_x86_64: {
876 local_include_dirs: ["darwin_x86_64/libffi"],
877 srcs: [
878 "Modules/_ctypes/libffi/src/x86/darwin.S",
879 "Modules/_ctypes/libffi/src/x86/darwin64.S",
880 ],
881 },
Dan Willemsene41d4ce2017-10-02 10:41:09 -0700882 linux_glibc_x86_64: {
Dan Willemsenc88c0802017-09-25 14:33:27 -0700883 local_include_dirs: ["linux_x86_64/libffi"],
884 srcs: [
885 "Modules/_ctypes/libffi/src/x86/unix64.S",
886 ],
887 },
Nan Zhang33bb4bb2017-12-01 20:00:54 +0000888 android_x86: {
889 local_include_dirs: ["android_x86/libffi"],
890 srcs: [
891 "Modules/_ctypes/libffi/src/x86/win32.S",
892 ],
893 },
894 android_x86_64: {
895 local_include_dirs: ["android_x86_64/libffi"],
896 srcs: [
897 "Modules/_ctypes/libffi/src/x86/unix64.S",
898 ],
899 },
Dan Willemsenc88c0802017-09-25 14:33:27 -0700900 },
Nan Zhangd5c4d4a2017-07-19 16:22:00 -0700901}