blob: 5b6120dc043991c880e681199fdbdaaba0de36c5 [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",
32 "-Wno-shift-count-overflow",
33 "-Wno-sign-compare",
34 "-Wno-tautological-compare",
35 "-Wno-tautological-constant-out-of-range-compare",
36 "-Wno-unused-parameter",
37 "-Wno-unused-result",
38 ],
39 local_include_dirs: ["Include"],
40 target: {
Nan Zhang33bb4bb2017-12-01 20:00:54 +000041 android_arm: {
42 local_include_dirs: ["android_arm/pyconfig"],
43 },
44 android_arm64: {
45 local_include_dirs: ["android_arm64/pyconfig"],
46 },
47 android_x86: {
48 local_include_dirs: ["android_x86/pyconfig"],
49 },
50 android_x86_64: {
51 local_include_dirs: ["android_x86_64/pyconfig"],
52 },
Dan Willemsenc88c0802017-09-25 14:33:27 -070053 // Regenerate include dirs with android_regen.sh
54 darwin_x86_64: {
55 local_include_dirs: ["darwin_x86_64/pyconfig"],
Stephen Hinesb788eb52017-11-20 17:31:30 -080056 cflags: [
57 "-Wno-deprecated-declarations",
58 "-Wno-pointer-arith",
59 ],
Dan Willemsenc88c0802017-09-25 14:33:27 -070060 },
Nan Zhang33bb4bb2017-12-01 20:00:54 +000061 linux_glibc_x86: {
62 enabled: false,
63 },
Dan Willemsene41d4ce2017-10-02 10:41:09 -070064 linux_glibc_x86_64: {
Dan Willemsenc88c0802017-09-25 14:33:27 -070065 local_include_dirs: ["linux_x86_64/pyconfig"],
Chih-Hung Hsieh6eebfa02017-10-13 14:40:05 -070066 cflags: ["-Werror"],
Dan Willemsenc88c0802017-09-25 14:33:27 -070067 },
68 windows: {
69 enabled: false,
70 },
Nan Zhangc3939142017-05-25 23:21:27 -070071 },
72 host_supported: true,
Nan Zhang33bb4bb2017-12-01 20:00:54 +000073 compile_multilib: "both",
74 multilib: {
75 lib32: {
76 suffix: "32",
77 },
78 lib64: {
79 suffix: "64",
80 },
81 },
Nan Zhangc3939142017-05-25 23:21:27 -070082}
83
84cc_library_static {
85 name: "py2-interp-parser",
86 defaults: ["py2-interp-defaults"],
87 srcs: [
88 "Parser/acceler.c",
89 "Parser/bitset.c",
90 "Parser/firstsets.c",
91 "Parser/grammar.c",
92 "Parser/grammar1.c",
93 "Parser/listnode.c",
94 "Parser/metagrammar.c",
95 "Parser/myreadline.c",
96 "Parser/node.c",
97 "Parser/parser.c",
98 "Parser/parsetok.c",
99 "Parser/pgen.c",
100 "Parser/tokenizer.c",
101 ],
102}
103
104cc_library_static {
105 name: "py2-interp-object",
106 defaults: ["py2-interp-defaults"],
107 srcs: [
108 "Objects/abstract.c",
109 "Objects/boolobject.c",
110 "Objects/bufferobject.c",
111 "Objects/bytes_methods.c",
112 "Objects/bytearrayobject.c",
113 "Objects/capsule.c",
114 "Objects/cellobject.c",
115 "Objects/classobject.c",
116 "Objects/cobject.c",
117 "Objects/codeobject.c",
118 "Objects/complexobject.c",
119 "Objects/descrobject.c",
120 "Objects/enumobject.c",
121 "Objects/exceptions.c",
122 "Objects/genobject.c",
123 "Objects/fileobject.c",
124 "Objects/floatobject.c",
125 "Objects/frameobject.c",
126 "Objects/funcobject.c",
127 "Objects/intobject.c",
128 "Objects/iterobject.c",
129 "Objects/listobject.c",
130 "Objects/longobject.c",
131 "Objects/dictobject.c",
132 "Objects/memoryobject.c",
133 "Objects/methodobject.c",
134 "Objects/moduleobject.c",
135 "Objects/object.c",
136 "Objects/obmalloc.c",
137 "Objects/rangeobject.c",
138 "Objects/setobject.c",
139 "Objects/sliceobject.c",
140 "Objects/stringobject.c",
141 "Objects/structseq.c",
142 "Objects/tupleobject.c",
143 "Objects/typeobject.c",
144 "Objects/weakrefobject.c",
145 "Objects/unicodeobject.c",
146 "Objects/unicodectype.c",
147 ],
148}
149
150cc_library_static {
151 name: "py2-interp-python",
152 defaults: ["py2-interp-defaults"],
Nan Zhang04b6dca2017-12-05 13:34:52 -0800153 target: {
154 linux: {
155 cflags: [
156 "-DPLATFORM=\"linux2\"",
157 ],
158 },
159 darwin_x86_64: {
160 cflags: [
161 "-DPLATFORM=\"darwin\"",
162 ],
163 },
164 },
Nan Zhangc3939142017-05-25 23:21:27 -0700165 srcs: [
166 "Python/_warnings.c",
167 "Python/Python-ast.c",
168 "Python/asdl.c",
169 "Python/ast.c",
170 "Python/bltinmodule.c",
171 "Python/ceval.c",
172 "Python/compile.c",
173 "Python/codecs.c",
174 "Python/errors.c",
175 "Python/frozen.c",
176 "Python/frozenmain.c",
177 "Python/future.c",
178 "Python/getargs.c",
179 "Python/getcompiler.c",
180 "Python/getcopyright.c",
181 "Python/getplatform.c",
182 "Python/getversion.c",
183 "Python/graminit.c",
184 "Python/import.c",
185 "Python/importdl.c",
186 "Python/marshal.c",
187 "Python/modsupport.c",
188 "Python/mystrtoul.c",
189 "Python/mysnprintf.c",
190 "Python/peephole.c",
191 "Python/pyarena.c",
192 "Python/pyctype.c",
193 "Python/pyfpe.c",
194 "Python/pymath.c",
195 "Python/pystate.c",
196 "Python/pythonrun.c",
197 "Python/random.c",
198 "Python/structmember.c",
199 "Python/symtable.c",
200 "Python/sysmodule.c",
201 "Python/traceback.c",
202 "Python/getopt.c",
203 "Python/pystrcmp.c",
204 "Python/pystrtod.c",
205 "Python/dtoa.c",
206 "Python/formatter_unicode.c",
207 "Python/formatter_string.c",
208 "Python/dynload_shlib.c",
209 "Python/thread.c",
210 ],
211}
212
213cc_binary {
Nan Zhangced27512017-06-19 18:01:34 -0700214 name: "py2-launcher",
Nan Zhangc3939142017-05-25 23:21:27 -0700215 defaults: ["py2-interp-defaults"],
Nan Zhangc3939142017-05-25 23:21:27 -0700216 cflags: [
Nan Zhangc3939142017-05-25 23:21:27 -0700217 "-DVERSION=\"2.7\"",
Nan Zhangced27512017-06-19 18:01:34 -0700218 "-DVPATH=\"\"",
219 "-DPREFIX=\"\"",
220 "-DEXEC_PREFIX=\"\"",
221 "-DPYTHONPATH=\"\"",
Igor Murashkinec37d4a2018-08-01 14:30:55 -0700222 "-DDATE=\"Dec 31 1969\"",
223 "-DTIME=\"23:59:59\"",
Nan Zhangc3939142017-05-25 23:21:27 -0700224 ],
225 srcs: [
Nan Zhangced27512017-06-19 18:01:34 -0700226 "Launcher/launcher_main.cpp",
227 "Launcher/launcher_internal.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",
243 ],
Nan Zhangced27512017-06-19 18:01:34 -0700244 local_include_dirs: [
245 "Launcher",
246 ],
247 // NOTE: Please update Modules/config.c if new lib get added in the static_libs.
Nan Zhangc3939142017-05-25 23:21:27 -0700248 static_libs: [
Nan Zhangced27512017-06-19 18:01:34 -0700249 "libbase",
250 // Be careful the order of these three static libraries below due to
251 // missing symbols issues.
Nan Zhangc3939142017-05-25 23:21:27 -0700252 "py2-interp-object",
253 "py2-interp-python",
Nan Zhangced27512017-06-19 18:01:34 -0700254 "py2-interp-parser",
255 "py2-c-module-array",
256 "py2-c-module-cmath",
257 "py2-c-module-math",
258 "py2-c-module-_struct",
259 "py2-c-module-time",
260 "py2-c-module-operator",
261 "py2-c-module-_testcapi",
262 "py2-c-module-_random",
263 "py2-c-module-_collections",
264 "py2-c-module-_heapq",
265 "py2-c-module-itertools",
266 "py2-c-module-strop",
267 "py2-c-module-_functools",
268 "py2-c-module-datetime",
269 "py2-c-module-_bisect",
270 "py2-c-module-unicodedata",
271 "py2-c-module-_io",
272 "py2-c-module-fcntl",
273 "py2-c-module-select",
274 "py2-c-module-mmap",
275 "py2-c-module-_csv",
276 "py2-c-module-_socket",
277 "py2-c-module-termios",
278 "py2-c-module-_md5",
279 "py2-c-module-_sha",
280 "py2-c-module-_sha256",
281 "py2-c-module-_sha512",
282 "py2-c-module-binascii",
283 "py2-c-module-parser",
284 "py2-c-module-cStringIO",
285 "py2-c-module-cPickle",
286 "py2-c-module-xxsubtype",
287 "py2-c-module-future_builtins",
288 "py2-c-module-_json",
289 "py2-c-module-_hotshot",
290 "py2-c-module-_lsprof",
291 "py2-c-module-grp",
292 "py2-c-module-syslog",
293 "py2-c-module-audioop",
294 "py2-c-module-resource",
295 "py2-c-module-_multibytecodec",
Nan Zhangd5c4d4a2017-07-19 16:22:00 -0700296 "py2-c-module-_codecs_kr",
297 "py2-c-module-_codecs_jp",
298 "py2-c-module-_codecs_cn",
299 "py2-c-module-_codecs_tw",
300 "py2-c-module-_codecs_hk",
301 "py2-c-module-_codecs_iso2022",
Nan Zhangced27512017-06-19 18:01:34 -0700302 "py2-c-module-_multiprocessing",
303 "py2-c-module-zlib",
Nan Zhangd5c4d4a2017-07-19 16:22:00 -0700304 "py2-c-module-pyexpat",
305 "py2-c-module-_sqlite3",
306 "py2-c-module-_ctypes_test",
307 "py2-c-module-_ctypes",
Nan Zhangced27512017-06-19 18:01:34 -0700308 "libz",
Nan Zhangd5c4d4a2017-07-19 16:22:00 -0700309 "libexpat",
Nan Zhangc3939142017-05-25 23:21:27 -0700310 ],
Dan Willemsenc88c0802017-09-25 14:33:27 -0700311 target: {
Dan Willemsene41d4ce2017-10-02 10:41:09 -0700312 linux_glibc_x86_64: {
Dan Willemsenc88c0802017-09-25 14:33:27 -0700313 host_ldlibs: ["-lutil"],
Nan Zhang33bb4bb2017-12-01 20:00:54 +0000314 static_libs: [
315 "libsqlite",
316 ],
317 },
318 darwin_x86_64: {
319 static_libs: [
320 "libsqlite",
321 ],
322 },
323 // Use shared libsqlite for device side, otherwise
324 // the executable size will be really huge.
325 android: {
326 shared_libs: [
327 "libsqlite",
Nan Zhang04b6dca2017-12-05 13:34:52 -0800328 ],
Dan Willemsenc88c0802017-09-25 14:33:27 -0700329 },
330 },
Nan Zhangc3939142017-05-25 23:21:27 -0700331}
332
Nan Zhangced27512017-06-19 18:01:34 -0700333// Enabled extension py2-c-modules.
Nan Zhangc3939142017-05-25 23:21:27 -0700334
335cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700336 name: "py2-c-module-array",
Nan Zhangc3939142017-05-25 23:21:27 -0700337 defaults: ["py2-interp-defaults"],
338 srcs: [
339 "Modules/arraymodule.c",
340 ],
341}
342
343cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700344 name: "py2-c-module-cmath",
Nan Zhangc3939142017-05-25 23:21:27 -0700345 defaults: ["py2-interp-defaults"],
346 srcs: [
347 "Modules/cmathmodule.c",
348 "Modules/_math.c",
349 ],
350}
351
352cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700353 name: "py2-c-module-math",
Nan Zhangc3939142017-05-25 23:21:27 -0700354 defaults: ["py2-interp-defaults"],
355 srcs: [
356 "Modules/mathmodule.c",
357 "Modules/_math.c",
358 ],
359}
360
361cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700362 name: "py2-c-module-_struct",
Nan Zhangc3939142017-05-25 23:21:27 -0700363 defaults: ["py2-interp-defaults"],
364 srcs: [
365 "Modules/_struct.c",
366 ],
367}
368
369cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700370 name: "py2-c-module-time",
Nan Zhangc3939142017-05-25 23:21:27 -0700371 defaults: ["py2-interp-defaults"],
372 srcs: [
373 "Modules/timemodule.c",
374 ],
375}
376
377cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700378 name: "py2-c-module-operator",
Nan Zhangc3939142017-05-25 23:21:27 -0700379 defaults: ["py2-interp-defaults"],
380 srcs: [
381 "Modules/operator.c",
382 ],
383}
384
385cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700386 name: "py2-c-module-_testcapi",
Nan Zhangc3939142017-05-25 23:21:27 -0700387 defaults: ["py2-interp-defaults"],
388 srcs: [
389 "Modules/_testcapimodule.c",
390 ],
391}
392
393cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700394 name: "py2-c-module-_random",
Nan Zhangc3939142017-05-25 23:21:27 -0700395 defaults: ["py2-interp-defaults"],
396 srcs: [
397 "Modules/_randommodule.c",
398 ],
399}
400
401cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700402 name: "py2-c-module-_collections",
Nan Zhangc3939142017-05-25 23:21:27 -0700403 defaults: ["py2-interp-defaults"],
404 srcs: [
405 "Modules/_collectionsmodule.c",
406 ],
407}
408
409cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700410 name: "py2-c-module-_heapq",
Nan Zhangc3939142017-05-25 23:21:27 -0700411 defaults: ["py2-interp-defaults"],
412 srcs: [
413 "Modules/_heapqmodule.c",
414 ],
415}
416
417cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700418 name: "py2-c-module-itertools",
Nan Zhangc3939142017-05-25 23:21:27 -0700419 defaults: ["py2-interp-defaults"],
420 srcs: [
421 "Modules/itertoolsmodule.c",
422 ],
423}
424
425cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700426 name: "py2-c-module-strop",
Nan Zhangc3939142017-05-25 23:21:27 -0700427 defaults: ["py2-interp-defaults"],
428 srcs: [
429 "Modules/stropmodule.c",
430 ],
431}
432
433cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700434 name: "py2-c-module-_functools",
Nan Zhangc3939142017-05-25 23:21:27 -0700435 defaults: ["py2-interp-defaults"],
436 srcs: [
437 "Modules/_functoolsmodule.c",
438 ],
439}
440
441cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700442 name: "py2-c-module-datetime",
Nan Zhangc3939142017-05-25 23:21:27 -0700443 defaults: ["py2-interp-defaults"],
444 srcs: [
445 "Modules/datetimemodule.c",
446 ],
447}
448
449cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700450 name: "py2-c-module-_bisect",
Nan Zhangc3939142017-05-25 23:21:27 -0700451 defaults: ["py2-interp-defaults"],
452 srcs: [
453 "Modules/_bisectmodule.c",
454 ],
455}
456
457cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700458 name: "py2-c-module-unicodedata",
Nan Zhangc3939142017-05-25 23:21:27 -0700459 defaults: ["py2-interp-defaults"],
460 srcs: [
461 "Modules/unicodedata.c",
462 ],
463}
464
465cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700466 name: "py2-c-module-_io",
Nan Zhangc3939142017-05-25 23:21:27 -0700467 defaults: ["py2-interp-defaults"],
468 srcs: [
469 "Modules/_io/bufferedio.c",
470 "Modules/_io/bytesio.c",
471 "Modules/_io/fileio.c",
472 "Modules/_io/iobase.c",
473 "Modules/_io/_iomodule.c",
474 "Modules/_io/stringio.c",
475 "Modules/_io/textio.c",
476 ],
477 local_include_dirs: [
478 "Modules/_io",
479 ],
480}
481
482cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700483 name: "py2-c-module-fcntl",
Nan Zhangc3939142017-05-25 23:21:27 -0700484 defaults: ["py2-interp-defaults"],
485 srcs: [
486 "Modules/fcntlmodule.c",
487 ],
488}
489
490cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700491 name: "py2-c-module-select",
Nan Zhangc3939142017-05-25 23:21:27 -0700492 defaults: ["py2-interp-defaults"],
493 srcs: [
494 "Modules/selectmodule.c",
495 ],
496}
497
498cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700499 name: "py2-c-module-mmap",
Nan Zhangc3939142017-05-25 23:21:27 -0700500 defaults: ["py2-interp-defaults"],
501 srcs: [
502 "Modules/mmapmodule.c",
503 ],
504}
505
506cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700507 name: "py2-c-module-_csv",
Nan Zhangc3939142017-05-25 23:21:27 -0700508 defaults: ["py2-interp-defaults"],
509 srcs: [
510 "Modules/_csv.c",
511 ],
512}
513
514cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700515 name: "py2-c-module-_socket",
Nan Zhangc3939142017-05-25 23:21:27 -0700516 defaults: ["py2-interp-defaults"],
517 srcs: [
518 "Modules/socketmodule.c",
519 "Modules/timemodule.c",
520 ],
521}
522
523cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700524 name: "py2-c-module-termios",
Nan Zhangc3939142017-05-25 23:21:27 -0700525 defaults: ["py2-interp-defaults"],
526 srcs: [
527 "Modules/termios.c",
528 ],
529}
530
531cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700532 name: "py2-c-module-_md5",
Nan Zhangc3939142017-05-25 23:21:27 -0700533 defaults: ["py2-interp-defaults"],
534 srcs: [
535 "Modules/md5module.c",
536 "Modules/md5.c",
537 ],
538}
539
540cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700541 name: "py2-c-module-_sha",
Nan Zhangc3939142017-05-25 23:21:27 -0700542 defaults: ["py2-interp-defaults"],
543 srcs: [
544 "Modules/shamodule.c",
545 ],
546}
547
548cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700549 name: "py2-c-module-_sha256",
Nan Zhangc3939142017-05-25 23:21:27 -0700550 defaults: ["py2-interp-defaults"],
551 srcs: [
552 "Modules/sha256module.c",
553 ],
554}
555
556cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700557 name: "py2-c-module-_sha512",
Nan Zhangc3939142017-05-25 23:21:27 -0700558 defaults: ["py2-interp-defaults"],
559 srcs: [
560 "Modules/sha512module.c",
561 ],
562}
563
564cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700565 name: "py2-c-module-binascii",
Nan Zhangc3939142017-05-25 23:21:27 -0700566 defaults: ["py2-interp-defaults"],
567 srcs: [
568 "Modules/binascii.c",
569 ],
570}
571
572cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700573 name: "py2-c-module-parser",
Nan Zhangc3939142017-05-25 23:21:27 -0700574 defaults: ["py2-interp-defaults"],
575 srcs: [
576 "Modules/parsermodule.c",
577 ],
578}
579
580cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700581 name: "py2-c-module-cStringIO",
Nan Zhangc3939142017-05-25 23:21:27 -0700582 defaults: ["py2-interp-defaults"],
583 srcs: [
584 "Modules/cStringIO.c",
585 ],
586}
587
588cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700589 name: "py2-c-module-cPickle",
Nan Zhangc3939142017-05-25 23:21:27 -0700590 defaults: ["py2-interp-defaults"],
591 srcs: [
592 "Modules/cPickle.c",
593 ],
594}
595
596cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700597 name: "py2-c-module-xxsubtype",
Nan Zhangc3939142017-05-25 23:21:27 -0700598 defaults: ["py2-interp-defaults"],
599 srcs: [
600 "Modules/xxsubtype.c",
601 ],
602}
603
604cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700605 name: "py2-c-module-future_builtins",
Nan Zhangc3939142017-05-25 23:21:27 -0700606 defaults: ["py2-interp-defaults"],
607 srcs: [
608 "Modules/future_builtins.c",
609 ],
610}
611
612cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700613 name: "py2-c-module-_json",
Nan Zhangc3939142017-05-25 23:21:27 -0700614 defaults: ["py2-interp-defaults"],
615 srcs: [
616 "Modules/_json.c",
617 ],
618}
619
620cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700621 name: "py2-c-module-_hotshot",
Nan Zhangc3939142017-05-25 23:21:27 -0700622 defaults: ["py2-interp-defaults"],
623 srcs: [
624 "Modules/_hotshot.c",
625 ],
626}
627
628cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700629 name: "py2-c-module-_lsprof",
Nan Zhangc3939142017-05-25 23:21:27 -0700630 defaults: ["py2-interp-defaults"],
631 srcs: [
632 "Modules/_lsprof.c",
633 "Modules/rotatingtree.c",
634 ],
635}
636
637cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700638 name: "py2-c-module-grp",
Nan Zhangc3939142017-05-25 23:21:27 -0700639 defaults: ["py2-interp-defaults"],
640 srcs: [
641 "Modules/grpmodule.c",
642 "Modules/rotatingtree.c",
643 ],
644}
645
646cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700647 name: "py2-c-module-syslog",
Nan Zhangc3939142017-05-25 23:21:27 -0700648 defaults: ["py2-interp-defaults"],
649 srcs: [
650 "Modules/syslogmodule.c",
651 ],
652}
653
654cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700655 name: "py2-c-module-audioop",
Nan Zhangc3939142017-05-25 23:21:27 -0700656 defaults: ["py2-interp-defaults"],
657 srcs: [
658 "Modules/audioop.c",
659 ],
660}
661
662cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700663 name: "py2-c-module-resource",
Nan Zhangc3939142017-05-25 23:21:27 -0700664 defaults: ["py2-interp-defaults"],
665 srcs: [
666 "Modules/resource.c",
667 ],
668}
669
670cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700671 name: "py2-c-module-_multibytecodec",
Nan Zhangc3939142017-05-25 23:21:27 -0700672 defaults: ["py2-interp-defaults"],
673 srcs: [
674 "Modules/cjkcodecs/multibytecodec.c",
675 ],
676}
677
678cc_library_static {
Nan Zhangd5c4d4a2017-07-19 16:22:00 -0700679 name: "py2-c-module-_codecs_kr",
680 defaults: ["py2-interp-defaults"],
681 srcs: ["Modules/cjkcodecs/_codecs_kr.c"],
682}
683
684cc_library_static {
685 name: "py2-c-module-_codecs_jp",
686 defaults: ["py2-interp-defaults"],
687 srcs: ["Modules/cjkcodecs/_codecs_jp.c"],
688}
689
690cc_library_static {
691 name: "py2-c-module-_codecs_cn",
692 defaults: ["py2-interp-defaults"],
693 srcs: ["Modules/cjkcodecs/_codecs_cn.c"],
694}
695
696cc_library_static {
697 name: "py2-c-module-_codecs_tw",
698 defaults: ["py2-interp-defaults"],
699 srcs: ["Modules/cjkcodecs/_codecs_tw.c"],
700}
701
702cc_library_static {
703 name: "py2-c-module-_codecs_hk",
704 defaults: ["py2-interp-defaults"],
705 srcs: ["Modules/cjkcodecs/_codecs_hk.c"],
706}
707
708cc_library_static {
709 name: "py2-c-module-_codecs_iso2022",
710 defaults: ["py2-interp-defaults"],
711 srcs: ["Modules/cjkcodecs/_codecs_iso2022.c"],
712}
713
714cc_library_static {
Nan Zhangced27512017-06-19 18:01:34 -0700715 name: "py2-c-module-_multiprocessing",
Nan Zhangc3939142017-05-25 23:21:27 -0700716 defaults: ["py2-interp-defaults"],
717 srcs: [
718 "Modules/_multiprocessing/multiprocessing.c",
719 "Modules/_multiprocessing/semaphore.c",
720 "Modules/_multiprocessing/socket_connection.c",
721 ],
722}
Nan Zhangced27512017-06-19 18:01:34 -0700723
724cc_library_static {
725 name: "py2-c-module-zlib",
726 defaults: [
727 "py2-interp-defaults",
728 ],
729 cflags: [
730 "-DUSE_ZLIB_CRC32",
731 ],
732 srcs: [
733 "Modules/zlibmodule.c",
734 ],
735 static_libs: [
736 "libz",
737 ],
738}
Nan Zhangd5c4d4a2017-07-19 16:22:00 -0700739
740cc_library_static {
741 name: "py2-c-module-pyexpat",
742 defaults: [
743 "py2-interp-defaults",
744 ],
745 cflags: [
746 "-DUSE_PYEXPAT_CAPI",
747 ],
748 srcs: [
749 "Modules/pyexpat.c",
750 ],
751 static_libs: [
752 "libexpat",
753 ],
754}
755
756cc_library_static {
757 name: "py2-c-module-_sqlite3",
758 defaults: [
759 "py2-interp-defaults",
760 ],
761 cflags: [
762 "-DMODULE_NAME=\"sqlite3\"",
763 "-DSQLITE_OMIT_LOAD_EXTENSION",
764 "-Wno-format-security",
765 "-Wno-type-limits",
766 "-Wno-char-subscripts",
767 ],
768 local_include_dirs: [
769 "Modules/_sqlite",
770 ],
771 srcs: [
772 "Modules/_sqlite/cache.c",
773 "Modules/_sqlite/connection.c",
774 "Modules/_sqlite/cursor.c",
775 "Modules/_sqlite/microprotocols.c",
776 "Modules/_sqlite/module.c",
777 "Modules/_sqlite/prepare_protocol.c",
778 "Modules/_sqlite/row.c",
779 "Modules/_sqlite/statement.c",
780 "Modules/_sqlite/util.c",
781 ],
Nan Zhang33bb4bb2017-12-01 20:00:54 +0000782 target: {
783 linux_glibc_x86_64: {
784 static_libs: [
785 "libsqlite",
786 ],
787 },
788 darwin_x86_64: {
789 static_libs: [
790 "libsqlite",
791 ],
792 },
793 android: {
794 shared_libs: [
795 "libsqlite",
796 ]
797 },
798 },
Nan Zhangd5c4d4a2017-07-19 16:22:00 -0700799}
800
801cc_library_static {
802 name: "py2-c-module-_ctypes_test",
803 defaults: ["py2-interp-defaults"],
804 srcs: ["Modules/_ctypes/_ctypes_test.c"],
805}
806
Nan Zhangd5c4d4a2017-07-19 16:22:00 -0700807cc_library_static {
808 name: "py2-c-module-_ctypes",
809 defaults: [
810 "py2-interp-defaults",
811 ],
812 local_include_dirs: [
Nan Zhangd5c4d4a2017-07-19 16:22:00 -0700813 "Modules/_ctypes/libffi/include",
814 ],
815 srcs: [
816 "Modules/_ctypes/_ctypes.c",
817 "Modules/_ctypes/callbacks.c",
818 "Modules/_ctypes/callproc.c",
819 "Modules/_ctypes/stgdict.c",
820 "Modules/_ctypes/cfield.c",
821 "Modules/_ctypes/libffi/src/prep_cif.c",
822 "Modules/_ctypes/libffi/src/closures.c",
823 ],
824 arch: {
825 x86_64: {
826 local_include_dirs: [
827 "Modules/_ctypes/libffi/src/x86",
828 ],
829 srcs: [
830 "Modules/_ctypes/libffi/src/x86/ffi64.c",
Nan Zhangd5c4d4a2017-07-19 16:22:00 -0700831 "Modules/_ctypes/libffi/src/x86/ffi.c",
832 "Modules/_ctypes/libffi/src/x86/sysv.S",
833 ],
834 },
Nan Zhang33bb4bb2017-12-01 20:00:54 +0000835 x86: {
836 local_include_dirs: [
837 "Modules/_ctypes/libffi/src/x86",
838 ],
839 srcs: [
840 "Modules/_ctypes/libffi/src/x86/ffi.c",
841 "Modules/_ctypes/libffi/src/x86/sysv.S",
842 ],
843 },
844 arm: {
845 local_include_dirs: [
846 "android_arm/libffi",
847 "Modules/_ctypes/libffi/src/arm",
848 ],
849 srcs: [
850 "Modules/_ctypes/libffi/src/arm/ffi.c",
851 "Modules/_ctypes/libffi/src/arm/sysv.S",
852 "Modules/_ctypes/libffi/src/arm/trampoline.S",
853 ]
854 },
855 arm64: {
856 // arithmetic on a pointer in _ctypes/libffi/src/aarch64/ffi.c
857 cflags: ["-Wno-pointer-arith"],
858 local_include_dirs: [
859 "android_arm64/libffi",
860 "Modules/_ctypes/libffi/src/aarch64",
861 ],
862 srcs: [
863 "Modules/_ctypes/libffi/src/aarch64/ffi.c",
864 "Modules/_ctypes/libffi/src/aarch64/sysv.S",
865 ]
866 },
Nan Zhangd5c4d4a2017-07-19 16:22:00 -0700867 },
Dan Willemsenc88c0802017-09-25 14:33:27 -0700868 target: {
869 // Regenerate include dirs with android_regen.sh
870 darwin_x86_64: {
871 local_include_dirs: ["darwin_x86_64/libffi"],
872 srcs: [
873 "Modules/_ctypes/libffi/src/x86/darwin.S",
874 "Modules/_ctypes/libffi/src/x86/darwin64.S",
875 ],
876 },
Dan Willemsene41d4ce2017-10-02 10:41:09 -0700877 linux_glibc_x86_64: {
Dan Willemsenc88c0802017-09-25 14:33:27 -0700878 local_include_dirs: ["linux_x86_64/libffi"],
879 srcs: [
880 "Modules/_ctypes/libffi/src/x86/unix64.S",
881 ],
882 },
Nan Zhang33bb4bb2017-12-01 20:00:54 +0000883 android_x86: {
884 local_include_dirs: ["android_x86/libffi"],
885 srcs: [
886 "Modules/_ctypes/libffi/src/x86/win32.S",
887 ],
888 },
889 android_x86_64: {
890 local_include_dirs: ["android_x86_64/libffi"],
891 srcs: [
892 "Modules/_ctypes/libffi/src/x86/unix64.S",
893 ],
894 },
Dan Willemsenc88c0802017-09-25 14:33:27 -0700895 },
Nan Zhangd5c4d4a2017-07-19 16:22:00 -0700896}