blob: d75aa7c0bf3e5fd5699ba6f5f9b961de07b2c6c2 [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",
Chih-Hung Hsieh6eebfa02017-10-13 14:40:05 -070028 "-Wno-error=invalid-source-encoding",
29 "-Wno-error=macro-redefined",
Tri Vo0b5cc4f2017-12-11 13:29:15 -080030 "-Wno-int-conversion",
Nan Zhangc3939142017-05-25 23:21:27 -070031 "-Wno-missing-field-initializers",
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",
228 "Launcher/launcher_internal.cpp",
Nan Zhangc3939142017-05-25 23:21:27 -0700229 "Modules/gcmodule.c",
230 "Modules/getpath.c",
231 "Modules/config.c",
232 "Modules/getbuildinfo.c",
Nan Zhangced27512017-06-19 18:01:34 -0700233 // Default built-in extension py2-c-modules.
Nan Zhangc3939142017-05-25 23:21:27 -0700234 "Modules/threadmodule.c",
235 "Modules/signalmodule.c",
236 "Modules/posixmodule.c",
237 "Modules/errnomodule.c",
238 "Modules/pwdmodule.c",
239 "Modules/_sre.c",
240 "Modules/_codecsmodule.c",
241 "Modules/_weakref.c",
242 "Modules/zipimport.c",
243 "Modules/symtablemodule.c",
244 ],
Nan Zhangced27512017-06-19 18:01:34 -0700245 local_include_dirs: [
246 "Launcher",
247 ],
248 // NOTE: Please update Modules/config.c if new lib get added in the static_libs.
Nan Zhangc3939142017-05-25 23:21:27 -0700249 static_libs: [
Nan Zhangced27512017-06-19 18:01:34 -0700250 "libbase",
251 // Be careful the order of these three static libraries below due to
252 // missing symbols issues.
Nan Zhangc3939142017-05-25 23:21:27 -0700253 "py2-interp-object",
254 "py2-interp-python",
Nan Zhangced27512017-06-19 18:01:34 -0700255 "py2-interp-parser",
256 "py2-c-module-array",
257 "py2-c-module-cmath",
258 "py2-c-module-math",
259 "py2-c-module-_struct",
260 "py2-c-module-time",
261 "py2-c-module-operator",
262 "py2-c-module-_testcapi",
263 "py2-c-module-_random",
264 "py2-c-module-_collections",
265 "py2-c-module-_heapq",
266 "py2-c-module-itertools",
267 "py2-c-module-strop",
268 "py2-c-module-_functools",
269 "py2-c-module-datetime",
270 "py2-c-module-_bisect",
271 "py2-c-module-unicodedata",
272 "py2-c-module-_io",
273 "py2-c-module-fcntl",
274 "py2-c-module-select",
275 "py2-c-module-mmap",
276 "py2-c-module-_csv",
277 "py2-c-module-_socket",
278 "py2-c-module-termios",
279 "py2-c-module-_md5",
280 "py2-c-module-_sha",
281 "py2-c-module-_sha256",
282 "py2-c-module-_sha512",
283 "py2-c-module-binascii",
284 "py2-c-module-parser",
285 "py2-c-module-cStringIO",
286 "py2-c-module-cPickle",
287 "py2-c-module-xxsubtype",
288 "py2-c-module-future_builtins",
289 "py2-c-module-_json",
290 "py2-c-module-_hotshot",
291 "py2-c-module-_lsprof",
292 "py2-c-module-grp",
293 "py2-c-module-syslog",
294 "py2-c-module-audioop",
295 "py2-c-module-resource",
296 "py2-c-module-_multibytecodec",
Nan Zhangd5c4d4a2017-07-19 16:22:00 -0700297 "py2-c-module-_codecs_kr",
298 "py2-c-module-_codecs_jp",
299 "py2-c-module-_codecs_cn",
300 "py2-c-module-_codecs_tw",
301 "py2-c-module-_codecs_hk",
302 "py2-c-module-_codecs_iso2022",
Nan Zhangced27512017-06-19 18:01:34 -0700303 "py2-c-module-_multiprocessing",
304 "py2-c-module-zlib",
Nan Zhangd5c4d4a2017-07-19 16:22:00 -0700305 "py2-c-module-pyexpat",
306 "py2-c-module-_sqlite3",
307 "py2-c-module-_ctypes_test",
308 "py2-c-module-_ctypes",
Nan Zhangced27512017-06-19 18:01:34 -0700309 "libz",
Nan Zhangd5c4d4a2017-07-19 16:22:00 -0700310 "libexpat",
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 static_libs: [
316 "libsqlite",
317 ],
318 },
319 darwin_x86_64: {
320 static_libs: [
321 "libsqlite",
322 ],
323 },
324 // Use shared libsqlite for device side, otherwise
325 // the executable size will be really huge.
326 android: {
327 shared_libs: [
328 "libsqlite",
Nan Zhang04b6dca2017-12-05 13:34:52 -0800329 ],
Dan Willemsenc88c0802017-09-25 14:33:27 -0700330 },
331 },
Nan Zhangc3939142017-05-25 23:21:27 -0700332}
333
Nan Zhangced27512017-06-19 18:01:34 -0700334// Enabled extension py2-c-modules.
Nan Zhangc3939142017-05-25 23:21:27 -0700335
336cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700337 name: "py2-c-module-array",
Nan Zhangc3939142017-05-25 23:21:27 -0700338 defaults: ["py2-interp-defaults"],
339 srcs: [
340 "Modules/arraymodule.c",
341 ],
342}
343
344cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700345 name: "py2-c-module-cmath",
Nan Zhangc3939142017-05-25 23:21:27 -0700346 defaults: ["py2-interp-defaults"],
347 srcs: [
348 "Modules/cmathmodule.c",
349 "Modules/_math.c",
350 ],
351}
352
353cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700354 name: "py2-c-module-math",
Nan Zhangc3939142017-05-25 23:21:27 -0700355 defaults: ["py2-interp-defaults"],
356 srcs: [
357 "Modules/mathmodule.c",
358 "Modules/_math.c",
359 ],
360}
361
362cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700363 name: "py2-c-module-_struct",
Nan Zhangc3939142017-05-25 23:21:27 -0700364 defaults: ["py2-interp-defaults"],
365 srcs: [
366 "Modules/_struct.c",
367 ],
368}
369
370cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700371 name: "py2-c-module-time",
Nan Zhangc3939142017-05-25 23:21:27 -0700372 defaults: ["py2-interp-defaults"],
373 srcs: [
374 "Modules/timemodule.c",
375 ],
376}
377
378cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700379 name: "py2-c-module-operator",
Nan Zhangc3939142017-05-25 23:21:27 -0700380 defaults: ["py2-interp-defaults"],
381 srcs: [
382 "Modules/operator.c",
383 ],
384}
385
386cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700387 name: "py2-c-module-_testcapi",
Nan Zhangc3939142017-05-25 23:21:27 -0700388 defaults: ["py2-interp-defaults"],
389 srcs: [
390 "Modules/_testcapimodule.c",
391 ],
392}
393
394cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700395 name: "py2-c-module-_random",
Nan Zhangc3939142017-05-25 23:21:27 -0700396 defaults: ["py2-interp-defaults"],
397 srcs: [
398 "Modules/_randommodule.c",
399 ],
400}
401
402cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700403 name: "py2-c-module-_collections",
Nan Zhangc3939142017-05-25 23:21:27 -0700404 defaults: ["py2-interp-defaults"],
405 srcs: [
406 "Modules/_collectionsmodule.c",
407 ],
408}
409
410cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700411 name: "py2-c-module-_heapq",
Nan Zhangc3939142017-05-25 23:21:27 -0700412 defaults: ["py2-interp-defaults"],
413 srcs: [
414 "Modules/_heapqmodule.c",
415 ],
416}
417
418cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700419 name: "py2-c-module-itertools",
Nan Zhangc3939142017-05-25 23:21:27 -0700420 defaults: ["py2-interp-defaults"],
421 srcs: [
422 "Modules/itertoolsmodule.c",
423 ],
424}
425
426cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700427 name: "py2-c-module-strop",
Nan Zhangc3939142017-05-25 23:21:27 -0700428 defaults: ["py2-interp-defaults"],
429 srcs: [
430 "Modules/stropmodule.c",
431 ],
432}
433
434cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700435 name: "py2-c-module-_functools",
Nan Zhangc3939142017-05-25 23:21:27 -0700436 defaults: ["py2-interp-defaults"],
437 srcs: [
438 "Modules/_functoolsmodule.c",
439 ],
440}
441
442cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700443 name: "py2-c-module-datetime",
Nan Zhangc3939142017-05-25 23:21:27 -0700444 defaults: ["py2-interp-defaults"],
445 srcs: [
446 "Modules/datetimemodule.c",
447 ],
448}
449
450cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700451 name: "py2-c-module-_bisect",
Nan Zhangc3939142017-05-25 23:21:27 -0700452 defaults: ["py2-interp-defaults"],
453 srcs: [
454 "Modules/_bisectmodule.c",
455 ],
456}
457
458cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700459 name: "py2-c-module-unicodedata",
Nan Zhangc3939142017-05-25 23:21:27 -0700460 defaults: ["py2-interp-defaults"],
461 srcs: [
462 "Modules/unicodedata.c",
463 ],
464}
465
466cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700467 name: "py2-c-module-_io",
Nan Zhangc3939142017-05-25 23:21:27 -0700468 defaults: ["py2-interp-defaults"],
469 srcs: [
470 "Modules/_io/bufferedio.c",
471 "Modules/_io/bytesio.c",
472 "Modules/_io/fileio.c",
473 "Modules/_io/iobase.c",
474 "Modules/_io/_iomodule.c",
475 "Modules/_io/stringio.c",
476 "Modules/_io/textio.c",
477 ],
478 local_include_dirs: [
479 "Modules/_io",
480 ],
481}
482
483cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700484 name: "py2-c-module-fcntl",
Nan Zhangc3939142017-05-25 23:21:27 -0700485 defaults: ["py2-interp-defaults"],
486 srcs: [
487 "Modules/fcntlmodule.c",
488 ],
489}
490
491cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700492 name: "py2-c-module-select",
Nan Zhangc3939142017-05-25 23:21:27 -0700493 defaults: ["py2-interp-defaults"],
494 srcs: [
495 "Modules/selectmodule.c",
496 ],
497}
498
499cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700500 name: "py2-c-module-mmap",
Nan Zhangc3939142017-05-25 23:21:27 -0700501 defaults: ["py2-interp-defaults"],
502 srcs: [
503 "Modules/mmapmodule.c",
504 ],
505}
506
507cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700508 name: "py2-c-module-_csv",
Nan Zhangc3939142017-05-25 23:21:27 -0700509 defaults: ["py2-interp-defaults"],
510 srcs: [
511 "Modules/_csv.c",
512 ],
513}
514
515cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700516 name: "py2-c-module-_socket",
Nan Zhangc3939142017-05-25 23:21:27 -0700517 defaults: ["py2-interp-defaults"],
518 srcs: [
519 "Modules/socketmodule.c",
520 "Modules/timemodule.c",
521 ],
522}
523
524cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700525 name: "py2-c-module-termios",
Nan Zhangc3939142017-05-25 23:21:27 -0700526 defaults: ["py2-interp-defaults"],
527 srcs: [
528 "Modules/termios.c",
529 ],
530}
531
532cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700533 name: "py2-c-module-_md5",
Nan Zhangc3939142017-05-25 23:21:27 -0700534 defaults: ["py2-interp-defaults"],
535 srcs: [
536 "Modules/md5module.c",
537 "Modules/md5.c",
538 ],
539}
540
541cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700542 name: "py2-c-module-_sha",
Nan Zhangc3939142017-05-25 23:21:27 -0700543 defaults: ["py2-interp-defaults"],
544 srcs: [
545 "Modules/shamodule.c",
546 ],
547}
548
549cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700550 name: "py2-c-module-_sha256",
Nan Zhangc3939142017-05-25 23:21:27 -0700551 defaults: ["py2-interp-defaults"],
552 srcs: [
553 "Modules/sha256module.c",
554 ],
555}
556
557cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700558 name: "py2-c-module-_sha512",
Nan Zhangc3939142017-05-25 23:21:27 -0700559 defaults: ["py2-interp-defaults"],
560 srcs: [
561 "Modules/sha512module.c",
562 ],
563}
564
565cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700566 name: "py2-c-module-binascii",
Nan Zhangc3939142017-05-25 23:21:27 -0700567 defaults: ["py2-interp-defaults"],
568 srcs: [
569 "Modules/binascii.c",
570 ],
571}
572
573cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700574 name: "py2-c-module-parser",
Nan Zhangc3939142017-05-25 23:21:27 -0700575 defaults: ["py2-interp-defaults"],
576 srcs: [
577 "Modules/parsermodule.c",
578 ],
579}
580
581cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700582 name: "py2-c-module-cStringIO",
Nan Zhangc3939142017-05-25 23:21:27 -0700583 defaults: ["py2-interp-defaults"],
584 srcs: [
585 "Modules/cStringIO.c",
586 ],
587}
588
589cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700590 name: "py2-c-module-cPickle",
Nan Zhangc3939142017-05-25 23:21:27 -0700591 defaults: ["py2-interp-defaults"],
592 srcs: [
593 "Modules/cPickle.c",
594 ],
595}
596
597cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700598 name: "py2-c-module-xxsubtype",
Nan Zhangc3939142017-05-25 23:21:27 -0700599 defaults: ["py2-interp-defaults"],
600 srcs: [
601 "Modules/xxsubtype.c",
602 ],
603}
604
605cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700606 name: "py2-c-module-future_builtins",
Nan Zhangc3939142017-05-25 23:21:27 -0700607 defaults: ["py2-interp-defaults"],
608 srcs: [
609 "Modules/future_builtins.c",
610 ],
611}
612
613cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700614 name: "py2-c-module-_json",
Nan Zhangc3939142017-05-25 23:21:27 -0700615 defaults: ["py2-interp-defaults"],
616 srcs: [
617 "Modules/_json.c",
618 ],
619}
620
621cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700622 name: "py2-c-module-_hotshot",
Nan Zhangc3939142017-05-25 23:21:27 -0700623 defaults: ["py2-interp-defaults"],
624 srcs: [
625 "Modules/_hotshot.c",
626 ],
627}
628
629cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700630 name: "py2-c-module-_lsprof",
Nan Zhangc3939142017-05-25 23:21:27 -0700631 defaults: ["py2-interp-defaults"],
632 srcs: [
633 "Modules/_lsprof.c",
634 "Modules/rotatingtree.c",
635 ],
636}
637
638cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700639 name: "py2-c-module-grp",
Nan Zhangc3939142017-05-25 23:21:27 -0700640 defaults: ["py2-interp-defaults"],
641 srcs: [
642 "Modules/grpmodule.c",
643 "Modules/rotatingtree.c",
644 ],
645}
646
647cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700648 name: "py2-c-module-syslog",
Nan Zhangc3939142017-05-25 23:21:27 -0700649 defaults: ["py2-interp-defaults"],
650 srcs: [
651 "Modules/syslogmodule.c",
652 ],
653}
654
655cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700656 name: "py2-c-module-audioop",
Nan Zhangc3939142017-05-25 23:21:27 -0700657 defaults: ["py2-interp-defaults"],
658 srcs: [
659 "Modules/audioop.c",
660 ],
661}
662
663cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700664 name: "py2-c-module-resource",
Nan Zhangc3939142017-05-25 23:21:27 -0700665 defaults: ["py2-interp-defaults"],
666 srcs: [
667 "Modules/resource.c",
668 ],
669}
670
671cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700672 name: "py2-c-module-_multibytecodec",
Nan Zhangc3939142017-05-25 23:21:27 -0700673 defaults: ["py2-interp-defaults"],
674 srcs: [
675 "Modules/cjkcodecs/multibytecodec.c",
676 ],
677}
678
679cc_library_static {
Nan Zhangd5c4d4a2017-07-19 16:22:00 -0700680 name: "py2-c-module-_codecs_kr",
681 defaults: ["py2-interp-defaults"],
682 srcs: ["Modules/cjkcodecs/_codecs_kr.c"],
683}
684
685cc_library_static {
686 name: "py2-c-module-_codecs_jp",
687 defaults: ["py2-interp-defaults"],
688 srcs: ["Modules/cjkcodecs/_codecs_jp.c"],
689}
690
691cc_library_static {
692 name: "py2-c-module-_codecs_cn",
693 defaults: ["py2-interp-defaults"],
694 srcs: ["Modules/cjkcodecs/_codecs_cn.c"],
695}
696
697cc_library_static {
698 name: "py2-c-module-_codecs_tw",
699 defaults: ["py2-interp-defaults"],
700 srcs: ["Modules/cjkcodecs/_codecs_tw.c"],
701}
702
703cc_library_static {
704 name: "py2-c-module-_codecs_hk",
705 defaults: ["py2-interp-defaults"],
706 srcs: ["Modules/cjkcodecs/_codecs_hk.c"],
707}
708
709cc_library_static {
710 name: "py2-c-module-_codecs_iso2022",
711 defaults: ["py2-interp-defaults"],
712 srcs: ["Modules/cjkcodecs/_codecs_iso2022.c"],
713}
714
715cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700716 name: "py2-c-module-_multiprocessing",
Nan Zhangc3939142017-05-25 23:21:27 -0700717 defaults: ["py2-interp-defaults"],
718 srcs: [
719 "Modules/_multiprocessing/multiprocessing.c",
720 "Modules/_multiprocessing/semaphore.c",
721 "Modules/_multiprocessing/socket_connection.c",
722 ],
723}
Nan Zhangced27512017-06-19 18:01:34 -0700724
725cc_library_static {
726 name: "py2-c-module-zlib",
727 defaults: [
728 "py2-interp-defaults",
729 ],
730 cflags: [
731 "-DUSE_ZLIB_CRC32",
732 ],
733 srcs: [
734 "Modules/zlibmodule.c",
735 ],
736 static_libs: [
737 "libz",
738 ],
739}
Nan Zhangd5c4d4a2017-07-19 16:22:00 -0700740
741cc_library_static {
742 name: "py2-c-module-pyexpat",
743 defaults: [
744 "py2-interp-defaults",
745 ],
746 cflags: [
747 "-DUSE_PYEXPAT_CAPI",
748 ],
749 srcs: [
750 "Modules/pyexpat.c",
751 ],
752 static_libs: [
753 "libexpat",
754 ],
755}
756
757cc_library_static {
758 name: "py2-c-module-_sqlite3",
759 defaults: [
760 "py2-interp-defaults",
761 ],
762 cflags: [
763 "-DMODULE_NAME=\"sqlite3\"",
764 "-DSQLITE_OMIT_LOAD_EXTENSION",
765 "-Wno-format-security",
766 "-Wno-type-limits",
767 "-Wno-char-subscripts",
768 ],
769 local_include_dirs: [
770 "Modules/_sqlite",
771 ],
772 srcs: [
773 "Modules/_sqlite/cache.c",
774 "Modules/_sqlite/connection.c",
775 "Modules/_sqlite/cursor.c",
776 "Modules/_sqlite/microprotocols.c",
777 "Modules/_sqlite/module.c",
778 "Modules/_sqlite/prepare_protocol.c",
779 "Modules/_sqlite/row.c",
780 "Modules/_sqlite/statement.c",
781 "Modules/_sqlite/util.c",
782 ],
Nan Zhang33bb4bb2017-12-01 20:00:54 +0000783 target: {
784 linux_glibc_x86_64: {
785 static_libs: [
786 "libsqlite",
787 ],
788 },
789 darwin_x86_64: {
790 static_libs: [
791 "libsqlite",
792 ],
793 },
794 android: {
795 shared_libs: [
796 "libsqlite",
797 ]
798 },
799 },
Nan Zhangd5c4d4a2017-07-19 16:22:00 -0700800}
801
802cc_library_static {
803 name: "py2-c-module-_ctypes_test",
804 defaults: ["py2-interp-defaults"],
805 srcs: ["Modules/_ctypes/_ctypes_test.c"],
806}
807
Nan Zhangd5c4d4a2017-07-19 16:22:00 -0700808cc_library_static {
809 name: "py2-c-module-_ctypes",
810 defaults: [
811 "py2-interp-defaults",
812 ],
813 local_include_dirs: [
Nan Zhangd5c4d4a2017-07-19 16:22:00 -0700814 "Modules/_ctypes/libffi/include",
815 ],
816 srcs: [
817 "Modules/_ctypes/_ctypes.c",
818 "Modules/_ctypes/callbacks.c",
819 "Modules/_ctypes/callproc.c",
820 "Modules/_ctypes/stgdict.c",
821 "Modules/_ctypes/cfield.c",
822 "Modules/_ctypes/libffi/src/prep_cif.c",
823 "Modules/_ctypes/libffi/src/closures.c",
824 ],
825 arch: {
826 x86_64: {
827 local_include_dirs: [
828 "Modules/_ctypes/libffi/src/x86",
829 ],
830 srcs: [
831 "Modules/_ctypes/libffi/src/x86/ffi64.c",
Nan Zhangd5c4d4a2017-07-19 16:22:00 -0700832 "Modules/_ctypes/libffi/src/x86/ffi.c",
833 "Modules/_ctypes/libffi/src/x86/sysv.S",
834 ],
835 },
Nan Zhang33bb4bb2017-12-01 20:00:54 +0000836 x86: {
837 local_include_dirs: [
838 "Modules/_ctypes/libffi/src/x86",
839 ],
840 srcs: [
841 "Modules/_ctypes/libffi/src/x86/ffi.c",
842 "Modules/_ctypes/libffi/src/x86/sysv.S",
843 ],
844 },
845 arm: {
846 local_include_dirs: [
847 "android_arm/libffi",
848 "Modules/_ctypes/libffi/src/arm",
849 ],
850 srcs: [
851 "Modules/_ctypes/libffi/src/arm/ffi.c",
852 "Modules/_ctypes/libffi/src/arm/sysv.S",
853 "Modules/_ctypes/libffi/src/arm/trampoline.S",
854 ]
855 },
856 arm64: {
857 // arithmetic on a pointer in _ctypes/libffi/src/aarch64/ffi.c
858 cflags: ["-Wno-pointer-arith"],
859 local_include_dirs: [
860 "android_arm64/libffi",
861 "Modules/_ctypes/libffi/src/aarch64",
862 ],
863 srcs: [
864 "Modules/_ctypes/libffi/src/aarch64/ffi.c",
865 "Modules/_ctypes/libffi/src/aarch64/sysv.S",
866 ]
867 },
Nan Zhangd5c4d4a2017-07-19 16:22:00 -0700868 },
Dan Willemsenc88c0802017-09-25 14:33:27 -0700869 target: {
870 // Regenerate include dirs with android_regen.sh
871 darwin_x86_64: {
872 local_include_dirs: ["darwin_x86_64/libffi"],
873 srcs: [
874 "Modules/_ctypes/libffi/src/x86/darwin.S",
875 "Modules/_ctypes/libffi/src/x86/darwin64.S",
876 ],
877 },
Dan Willemsene41d4ce2017-10-02 10:41:09 -0700878 linux_glibc_x86_64: {
Dan Willemsenc88c0802017-09-25 14:33:27 -0700879 local_include_dirs: ["linux_x86_64/libffi"],
880 srcs: [
881 "Modules/_ctypes/libffi/src/x86/unix64.S",
882 ],
883 },
Nan Zhang33bb4bb2017-12-01 20:00:54 +0000884 android_x86: {
885 local_include_dirs: ["android_x86/libffi"],
886 srcs: [
887 "Modules/_ctypes/libffi/src/x86/win32.S",
888 ],
889 },
890 android_x86_64: {
891 local_include_dirs: ["android_x86_64/libffi"],
892 srcs: [
893 "Modules/_ctypes/libffi/src/x86/unix64.S",
894 ],
895 },
Dan Willemsenc88c0802017-09-25 14:33:27 -0700896 },
Nan Zhangd5c4d4a2017-07-19 16:22:00 -0700897}