1# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
2#
3# This file is part of the LibreOffice project.
4#
5# This Source Code Form is subject to the terms of the Mozilla Public
6# License, v. 2.0. If a copy of the MPL was not distributed with this
7# file, You can obtain one at http://mozilla.org/MPL/2.0/.
8#
9
10$(eval $(call gb_ExternalPackage_ExternalPackage,python3,python3))
11
12$(eval $(call gb_ExternalPackage_use_external_project,python3,python3))
13
14ifeq ($(OS),WNT)
15ifeq ($(CPUNAME),X86_64)
16python_arch_subdir=amd64/
17else
18python_arch_subdir=win32/
19endif
20$(eval $(call gb_ExternalPackage_add_file,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/bin/python.exe,PCbuild/$(python_arch_subdir)python$(if $(MSVC_USE_DEBUG_RUNTIME),_d).exe))
21$(eval $(call gb_ExternalPackage_add_file,python3,$(LIBO_BIN_FOLDER)/python$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)$(if $(MSVC_USE_DEBUG_RUNTIME),_d).dll,PCbuild/$(python_arch_subdir)python$(PYTHON_VERSION_MAJOR)$(PYTHON_VERSION_MINOR)$(if $(MSVC_USE_DEBUG_RUNTIME),_d).dll))
22ifeq ($(MSVC_USE_DEBUG_RUNTIME),)
23$(eval $(call gb_ExternalPackage_add_file,python3,$(LIBO_BIN_FOLDER)/python$(PYTHON_VERSION_MAJOR).dll,PCbuild/$(python_arch_subdir)python$(PYTHON_VERSION_MAJOR).dll))
24endif
25$(eval $(call gb_ExternalPackage_add_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib,\
26	PCbuild/$(python_arch_subdir)_asyncio$(if $(MSVC_USE_DEBUG_RUNTIME),_d).pyd \
27	PCbuild/$(python_arch_subdir)_ctypes$(if $(MSVC_USE_DEBUG_RUNTIME),_d).pyd \
28	PCbuild/$(python_arch_subdir)_ctypes_test$(if $(MSVC_USE_DEBUG_RUNTIME),_d).pyd \
29	PCbuild/$(python_arch_subdir)_decimal$(if $(MSVC_USE_DEBUG_RUNTIME),_d).pyd \
30	PCbuild/$(python_arch_subdir)_elementtree$(if $(MSVC_USE_DEBUG_RUNTIME),_d).pyd \
31	PCbuild/$(python_arch_subdir)_msi$(if $(MSVC_USE_DEBUG_RUNTIME),_d).pyd \
32	PCbuild/$(python_arch_subdir)_multiprocessing$(if $(MSVC_USE_DEBUG_RUNTIME),_d).pyd \
33	PCbuild/$(python_arch_subdir)_queue$(if $(MSVC_USE_DEBUG_RUNTIME),_d).pyd \
34	PCbuild/$(python_arch_subdir)_socket$(if $(MSVC_USE_DEBUG_RUNTIME),_d).pyd \
35	PCbuild/$(python_arch_subdir)_ssl$(if $(MSVC_USE_DEBUG_RUNTIME),_d).pyd \
36	PCbuild/$(python_arch_subdir)_testbuffer$(if $(MSVC_USE_DEBUG_RUNTIME),_d).pyd \
37	PCbuild/$(python_arch_subdir)_testcapi$(if $(MSVC_USE_DEBUG_RUNTIME),_d).pyd \
38	PCbuild/$(python_arch_subdir)_testconsole$(if $(MSVC_USE_DEBUG_RUNTIME),_d).pyd \
39	PCbuild/$(python_arch_subdir)pyexpat$(if $(MSVC_USE_DEBUG_RUNTIME),_d).pyd \
40	PCbuild/$(python_arch_subdir)select$(if $(MSVC_USE_DEBUG_RUNTIME),_d).pyd \
41	PCbuild/$(python_arch_subdir)unicodedata$(if $(MSVC_USE_DEBUG_RUNTIME),_d).pyd \
42	PCbuild/$(python_arch_subdir)winsound$(if $(MSVC_USE_DEBUG_RUNTIME),_d).pyd \
43))
44else
45$(eval $(call gb_ExternalPackage_add_file,python3,$(LIBO_BIN_FOLDER)/python.bin,python))
46$(eval $(call gb_ExternalPackage_add_file,python3,$(LIBO_BIN_FOLDER)/libpython$(PYTHON_VERSION_MAJOR).so,libpython$(PYTHON_VERSION_MAJOR).so))
47$(eval $(call gb_ExternalPackage_add_file,python3,$(LIBO_BIN_FOLDER)/libpython$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so.1.0,libpython$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so))
48$(eval $(call gb_ExternalPackage_add_file,python3,$(LIBO_BIN_FOLDER)/libpython$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so.1.0-gdb.py,Tools/gdb/libpython.py))
49
50# Unfortunately the python build system does not allow to explicitly enable or
51# disable these, it just tries to build them and then prints which did not
52# build successfully without stopping; so the build will break on delivering if
53# one of these failed to build.
54# Obviously this list should not contain stuff with external dependencies
55# that may not be available on baseline systems.
56
57ifneq ($(OS),AIX)
58$(eval $(call gb_ExternalPackage_add_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/lib-dynload,\
59	LO_lib/array.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
60	LO_lib/_asyncio.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
61	LO_lib/audioop.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
62	LO_lib/binascii.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
63	LO_lib/_bisect.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
64	LO_lib/_blake2.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
65	LO_lib/cmath.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
66	LO_lib/_codecs_cn.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
67	LO_lib/_codecs_hk.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
68	LO_lib/_codecs_iso2022.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
69	LO_lib/_codecs_jp.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
70	LO_lib/_codecs_kr.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
71	LO_lib/_codecs_tw.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
72	LO_lib/_contextvars.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
73	LO_lib/_crypt.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
74	LO_lib/_csv.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
75	LO_lib/_ctypes.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
76	LO_lib/_ctypes_test.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
77	LO_lib/_datetime.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
78	LO_lib/_decimal.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
79	LO_lib/_elementtree.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
80	LO_lib/fcntl.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
81	LO_lib/grp.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
82	$(if $(DISABLE_OPENSSL),, \
83		LO_lib/_hashlib.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
84	) \
85	LO_lib/_heapq.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
86	LO_lib/_json.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
87	LO_lib/_lsprof.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
88	LO_lib/math.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
89	LO_lib/_md5.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
90	LO_lib/mmap.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
91	LO_lib/_multibytecodec.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
92	LO_lib/_multiprocessing.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
93	LO_lib/_opcode.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
94	LO_lib/ossaudiodev.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
95	LO_lib/parser.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
96	LO_lib/_pickle.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
97	LO_lib/_posixsubprocess.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
98	LO_lib/pyexpat.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
99	LO_lib/_queue.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
100	LO_lib/_random.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
101	LO_lib/resource.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
102	LO_lib/select.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
103	LO_lib/_sha1.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
104	LO_lib/_sha256.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
105	LO_lib/_sha3.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
106	LO_lib/_sha512.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
107	LO_lib/_socket.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
108	LO_lib/spwd.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
109	$(if $(DISABLE_OPENSSL),, \
110		LO_lib/_ssl.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
111	) \
112	LO_lib/_struct.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
113	LO_lib/syslog.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
114	LO_lib/termios.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
115	LO_lib/_testbuffer.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
116	LO_lib/_testcapi.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
117	LO_lib/_testimportmultiple.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
118	LO_lib/_testmultiphase.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
119	LO_lib/unicodedata.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
120	LO_lib/xxlimited.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
121	LO_lib/_xxtestfuzz.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
122	LO_lib/zlib.cpython-$(PYTHON_VERSION_MAJOR).$(PYTHON_VERSION_MINOR)m.so \
123))
124endif
125endif
126
127# headers are not delivered, but used from unpacked dir Include/
128# (+ toplevel for pyconfig.h)
129
130ifeq ($(OS),LINUX)
131python3_MACHDEP=linux
132else
133ifeq ($(OS),MACOSX)
134python3_MACHDEP=darwin
135endif
136endif
137
138# that one is generated...
139# note: python configure overrides config.guess with something that doesn't
140# put -pc in its linux platform triplets, so filter that...
141ifneq ($(OS),WNT)
142$(eval $(call gb_ExternalPackage_add_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib,\
143	LO_lib/_sysconfigdata_m_$(python3_MACHDEP)_$(subst i686,i386,$(subst -pc,,$(HOST_PLATFORM))).py \
144))
145endif
146
147# packages not shipped:
148# dbm, sqlite3 - need some database stuff
149# curses - need curses to build the C module
150# idlelib, tkinter, turtledemo - need Tk to build the C module
151# test - probably unnecessary? was explicitly removed #i116738#
152# venv - why would we need virtual environments
153
154$(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib,\
155	LICENSE \
156	Lib/__future__.py \
157	Lib/__phello__.foo.py \
158	Lib/_bootlocale.py \
159	Lib/_collections_abc.py \
160	Lib/_compat_pickle.py \
161	Lib/_compression.py \
162	Lib/_dummy_thread.py \
163	Lib/_markupbase.py \
164	Lib/_osx_support.py \
165	Lib/_pydecimal.py \
166	Lib/_pyio.py \
167	Lib/_sitebuiltins.py \
168	Lib/_strptime.py \
169	Lib/_threading_local.py \
170	Lib/_weakrefset.py \
171	Lib/abc.py \
172	Lib/aifc.py \
173	Lib/antigravity.py \
174	Lib/argparse.py \
175	Lib/ast.py \
176	Lib/asynchat.py \
177	Lib/asyncore.py \
178	Lib/base64.py \
179	Lib/bdb.py \
180	Lib/binhex.py \
181	Lib/bisect.py \
182	Lib/bz2.py \
183	Lib/calendar.py \
184	Lib/cgi.py \
185	Lib/cgitb.py \
186	Lib/chunk.py \
187	Lib/cmd.py \
188	Lib/code.py \
189	Lib/codecs.py \
190	Lib/codeop.py \
191	Lib/colorsys.py \
192	Lib/compileall.py \
193	Lib/configparser.py \
194	Lib/contextlib.py \
195	Lib/contextvars.py \
196	Lib/copy.py \
197	Lib/copyreg.py \
198	Lib/cProfile.py \
199	Lib/crypt.py \
200	Lib/csv.py \
201	Lib/dataclasses.py \
202	Lib/datetime.py \
203	Lib/decimal.py \
204	Lib/difflib.py \
205	Lib/dis.py \
206	Lib/doctest.py \
207	Lib/dummy_threading.py \
208	Lib/enum.py \
209	Lib/filecmp.py \
210	Lib/fileinput.py \
211	Lib/fnmatch.py \
212	Lib/formatter.py \
213	Lib/fractions.py \
214	Lib/ftplib.py \
215	Lib/functools.py \
216	Lib/genericpath.py \
217	Lib/getopt.py \
218	Lib/getpass.py \
219	Lib/gettext.py \
220	Lib/glob.py \
221	Lib/gzip.py \
222	Lib/hashlib.py \
223	Lib/heapq.py \
224	Lib/hmac.py \
225	Lib/imaplib.py \
226	Lib/imghdr.py \
227	Lib/imp.py \
228	Lib/inspect.py \
229	Lib/io.py \
230	Lib/ipaddress.py \
231	Lib/keyword.py \
232	Lib/linecache.py \
233	Lib/locale.py \
234	Lib/lzma.py \
235	Lib/macpath.py \
236	Lib/mailbox.py \
237	Lib/mailcap.py \
238	Lib/mimetypes.py \
239	Lib/modulefinder.py \
240	Lib/netrc.py \
241	Lib/nntplib.py \
242	Lib/ntpath.py \
243	Lib/nturl2path.py \
244	Lib/numbers.py \
245	Lib/opcode.py \
246	Lib/operator.py \
247	Lib/optparse.py \
248	Lib/os.py \
249	Lib/pathlib.py \
250	Lib/pdb.py \
251	Lib/pickle.py \
252	Lib/pickletools.py \
253	Lib/pipes.py \
254	Lib/pkgutil.py \
255	Lib/platform.py \
256	Lib/plistlib.py \
257	Lib/poplib.py \
258	Lib/posixpath.py \
259	Lib/pprint.py \
260	Lib/profile.py \
261	Lib/pstats.py \
262	Lib/pty.py \
263	Lib/pyclbr.py \
264	Lib/_py_abc.py \
265	Lib/py_compile.py \
266	Lib/pydoc.py \
267	Lib/queue.py \
268	Lib/quopri.py \
269	Lib/random.py \
270	Lib/reprlib.py \
271	Lib/re.py \
272	Lib/rlcompleter.py \
273	Lib/runpy.py \
274	Lib/sched.py \
275	Lib/secrets.py \
276	Lib/shelve.py \
277	Lib/selectors.py \
278	Lib/shlex.py \
279	Lib/shutil.py \
280	Lib/signal.py \
281	Lib/site.py \
282	Lib/smtpd.py \
283	Lib/smtplib.py \
284	Lib/sndhdr.py \
285	Lib/socket.py \
286	Lib/socketserver.py \
287	Lib/sre_compile.py \
288	Lib/sre_constants.py \
289	Lib/sre_parse.py \
290	Lib/ssl.py \
291	Lib/statistics.py \
292	Lib/stat.py \
293	Lib/stringprep.py \
294	Lib/string.py \
295	Lib/struct.py \
296	Lib/subprocess.py \
297	Lib/sunau.py \
298	Lib/symbol.py \
299	Lib/symtable.py \
300	Lib/sysconfig.py \
301	Lib/tabnanny.py \
302	Lib/tarfile.py \
303	Lib/telnetlib.py \
304	Lib/tempfile.py \
305	Lib/textwrap.py \
306	Lib/this.py \
307	Lib/threading.py \
308	Lib/timeit.py \
309	Lib/tokenize.py \
310	Lib/token.py \
311	Lib/traceback.py \
312	Lib/trace.py \
313	Lib/tty.py \
314	Lib/turtle.py \
315	Lib/types.py \
316	Lib/typing.py \
317	Lib/uu.py \
318	Lib/uuid.py \
319	Lib/warnings.py \
320	Lib/wave.py \
321	Lib/weakref.py \
322	Lib/webbrowser.py \
323	Lib/xdrlib.py \
324	Lib/zipfile.py \
325))
326
327$(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/asyncio,\
328	Lib/asyncio/base_futures.py \
329	Lib/asyncio/base_tasks.py \
330	Lib/asyncio/format_helpers.py \
331	Lib/asyncio/runners.py \
332))
333
334$(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/collections,\
335	Lib/collections/__init__.py \
336	Lib/collections/abc.py \
337))
338
339$(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/concurrent,\
340	Lib/concurrent/__init__.py \
341))
342
343$(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/concurrent/futures,\
344	Lib/concurrent/futures/__init__.py \
345	Lib/concurrent/futures/_base.py \
346	Lib/concurrent/futures/process.py \
347	Lib/concurrent/futures/thread.py \
348))
349
350$(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/ctypes,\
351	Lib/ctypes/__init__.py \
352	Lib/ctypes/_aix.py \
353	Lib/ctypes/_endian.py \
354	Lib/ctypes/util.py \
355	Lib/ctypes/wintypes.py \
356))
357
358$(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/ctypes/macholib,\
359	Lib/ctypes/macholib/README.ctypes \
360	Lib/ctypes/macholib/fetch_macholib \
361	Lib/ctypes/macholib/fetch_macholib.bat \
362	Lib/ctypes/macholib/__init__.py \
363	Lib/ctypes/macholib/dyld.py \
364	Lib/ctypes/macholib/dylib.py \
365	Lib/ctypes/macholib/framework.py \
366))
367
368$(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/distutils,\
369	Lib/distutils/README \
370	Lib/distutils/__init__.py \
371	Lib/distutils/_msvccompiler.py \
372	Lib/distutils/archive_util.py \
373	Lib/distutils/bcppcompiler.py \
374	Lib/distutils/ccompiler.py \
375	Lib/distutils/cmd.py \
376	Lib/distutils/config.py \
377	Lib/distutils/core.py \
378	Lib/distutils/cygwinccompiler.py \
379	Lib/distutils/debug.py \
380	Lib/distutils/dep_util.py \
381	Lib/distutils/dir_util.py \
382	Lib/distutils/dist.py \
383	Lib/distutils/errors.py \
384	Lib/distutils/extension.py \
385	Lib/distutils/fancy_getopt.py \
386	Lib/distutils/filelist.py \
387	Lib/distutils/file_util.py \
388	Lib/distutils/log.py \
389	Lib/distutils/msvc9compiler.py \
390	Lib/distutils/msvccompiler.py \
391	Lib/distutils/spawn.py \
392	Lib/distutils/sysconfig.py \
393	Lib/distutils/text_file.py \
394	Lib/distutils/unixccompiler.py \
395	Lib/distutils/util.py \
396	Lib/distutils/versionpredicate.py \
397	Lib/distutils/version.py \
398))
399
400$(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/distutils/command,\
401	Lib/distutils/command/__init__.py \
402	Lib/distutils/command/bdist_dumb.py \
403	Lib/distutils/command/bdist_msi.py \
404	Lib/distutils/command/bdist.py \
405	Lib/distutils/command/bdist_rpm.py \
406	Lib/distutils/command/bdist_wininst.py \
407	Lib/distutils/command/build_clib.py \
408	Lib/distutils/command/build_ext.py \
409	Lib/distutils/command/build.py \
410	Lib/distutils/command/build_py.py \
411	Lib/distutils/command/build_scripts.py \
412	Lib/distutils/command/check.py \
413	Lib/distutils/command/clean.py \
414	Lib/distutils/command/command_template \
415	Lib/distutils/command/config.py \
416	Lib/distutils/command/install_data.py \
417	Lib/distutils/command/install_egg_info.py \
418	Lib/distutils/command/install_headers.py \
419	Lib/distutils/command/install_lib.py \
420	Lib/distutils/command/install.py \
421	Lib/distutils/command/install_scripts.py \
422	Lib/distutils/command/register.py \
423	Lib/distutils/command/sdist.py \
424	Lib/distutils/command/upload.py \
425	Lib/distutils/command/wininst-10.0-amd64.exe \
426	Lib/distutils/command/wininst-10.0.exe \
427	Lib/distutils/command/wininst-14.0-amd64.exe \
428	Lib/distutils/command/wininst-14.0.exe \
429	Lib/distutils/command/wininst-6.0.exe \
430	Lib/distutils/command/wininst-7.1.exe \
431	Lib/distutils/command/wininst-8.0.exe \
432	Lib/distutils/command/wininst-9.0-amd64.exe \
433	Lib/distutils/command/wininst-9.0.exe \
434))
435
436$(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/email,\
437	Lib/email/__init__.py \
438	Lib/email/_encoded_words.py \
439	Lib/email/_header_value_parser.py \
440	Lib/email/_parseaddr.py \
441	Lib/email/_policybase.py \
442	Lib/email/architecture.rst \
443	Lib/email/base64mime.py \
444	Lib/email/charset.py \
445	Lib/email/contentmanager.py \
446	Lib/email/encoders.py \
447	Lib/email/errors.py \
448	Lib/email/feedparser.py \
449	Lib/email/generator.py \
450	Lib/email/header.py \
451	Lib/email/headerregistry.py \
452	Lib/email/iterators.py \
453	Lib/email/message.py \
454	Lib/email/parser.py \
455	Lib/email/policy.py \
456	Lib/email/quoprimime.py \
457	Lib/email/utils.py \
458))
459
460$(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/email/mime,\
461	Lib/email/mime/__init__.py \
462	Lib/email/mime/application.py \
463	Lib/email/mime/audio.py \
464	Lib/email/mime/base.py \
465	Lib/email/mime/image.py \
466	Lib/email/mime/message.py \
467	Lib/email/mime/multipart.py \
468	Lib/email/mime/nonmultipart.py \
469	Lib/email/mime/text.py \
470))
471
472$(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/encodings,\
473	Lib/encodings/__init__.py \
474	Lib/encodings/aliases.py \
475	Lib/encodings/ascii.py \
476	Lib/encodings/base64_codec.py \
477	Lib/encodings/big5hkscs.py \
478	Lib/encodings/big5.py \
479	Lib/encodings/bz2_codec.py \
480	Lib/encodings/charmap.py \
481	Lib/encodings/cp037.py \
482	Lib/encodings/cp1006.py \
483	Lib/encodings/cp1026.py \
484	Lib/encodings/cp1125.py \
485	Lib/encodings/cp1140.py \
486	Lib/encodings/cp1250.py \
487	Lib/encodings/cp1251.py \
488	Lib/encodings/cp1252.py \
489	Lib/encodings/cp1253.py \
490	Lib/encodings/cp1254.py \
491	Lib/encodings/cp1255.py \
492	Lib/encodings/cp1256.py \
493	Lib/encodings/cp1257.py \
494	Lib/encodings/cp1258.py \
495	Lib/encodings/cp424.py \
496	Lib/encodings/cp437.py \
497	Lib/encodings/cp500.py \
498	Lib/encodings/cp65001.py \
499	Lib/encodings/cp720.py \
500	Lib/encodings/cp737.py \
501	Lib/encodings/cp775.py \
502	Lib/encodings/cp850.py \
503	Lib/encodings/cp852.py \
504	Lib/encodings/cp855.py \
505	Lib/encodings/cp856.py \
506	Lib/encodings/cp857.py \
507	Lib/encodings/cp858.py \
508	Lib/encodings/cp860.py \
509	Lib/encodings/cp861.py \
510	Lib/encodings/cp862.py \
511	Lib/encodings/cp863.py \
512	Lib/encodings/cp864.py \
513	Lib/encodings/cp865.py \
514	Lib/encodings/cp866.py \
515	Lib/encodings/cp869.py \
516	Lib/encodings/cp874.py \
517	Lib/encodings/cp875.py \
518	Lib/encodings/cp932.py \
519	Lib/encodings/cp949.py \
520	Lib/encodings/cp950.py \
521	Lib/encodings/euc_jis_2004.py \
522	Lib/encodings/euc_jisx0213.py \
523	Lib/encodings/euc_jp.py \
524	Lib/encodings/euc_kr.py \
525	Lib/encodings/gb18030.py \
526	Lib/encodings/gb2312.py \
527	Lib/encodings/gbk.py \
528	Lib/encodings/hex_codec.py \
529	Lib/encodings/hp_roman8.py \
530	Lib/encodings/hz.py \
531	Lib/encodings/idna.py \
532	Lib/encodings/iso2022_jp_1.py \
533	Lib/encodings/iso2022_jp_2004.py \
534	Lib/encodings/iso2022_jp_2.py \
535	Lib/encodings/iso2022_jp_3.py \
536	Lib/encodings/iso2022_jp_ext.py \
537	Lib/encodings/iso2022_jp.py \
538	Lib/encodings/iso2022_kr.py \
539	Lib/encodings/iso8859_10.py \
540	Lib/encodings/iso8859_11.py \
541	Lib/encodings/iso8859_13.py \
542	Lib/encodings/iso8859_14.py \
543	Lib/encodings/iso8859_15.py \
544	Lib/encodings/iso8859_16.py \
545	Lib/encodings/iso8859_1.py \
546	Lib/encodings/iso8859_2.py \
547	Lib/encodings/iso8859_3.py \
548	Lib/encodings/iso8859_4.py \
549	Lib/encodings/iso8859_5.py \
550	Lib/encodings/iso8859_6.py \
551	Lib/encodings/iso8859_7.py \
552	Lib/encodings/iso8859_8.py \
553	Lib/encodings/iso8859_9.py \
554	Lib/encodings/johab.py \
555	Lib/encodings/koi8_r.py \
556	Lib/encodings/koi8_t.py \
557	Lib/encodings/koi8_u.py \
558	Lib/encodings/kz1048.py \
559	Lib/encodings/latin_1.py \
560	Lib/encodings/mac_arabic.py \
561	Lib/encodings/mac_centeuro.py \
562	Lib/encodings/mac_croatian.py \
563	Lib/encodings/mac_cyrillic.py \
564	Lib/encodings/mac_farsi.py \
565	Lib/encodings/mac_greek.py \
566	Lib/encodings/mac_iceland.py \
567	Lib/encodings/mac_latin2.py \
568	Lib/encodings/mac_romanian.py \
569	Lib/encodings/mac_roman.py \
570	Lib/encodings/mac_turkish.py \
571	Lib/encodings/mbcs.py \
572	Lib/encodings/oem.py \
573	Lib/encodings/palmos.py \
574	Lib/encodings/ptcp154.py \
575	Lib/encodings/punycode.py \
576	Lib/encodings/quopri_codec.py \
577	Lib/encodings/raw_unicode_escape.py \
578	Lib/encodings/rot_13.py \
579	Lib/encodings/shift_jis_2004.py \
580	Lib/encodings/shift_jis.py \
581	Lib/encodings/shift_jisx0213.py \
582	Lib/encodings/tis_620.py \
583	Lib/encodings/undefined.py \
584	Lib/encodings/unicode_escape.py \
585	Lib/encodings/unicode_internal.py \
586	Lib/encodings/utf_16_be.py \
587	Lib/encodings/utf_16_le.py \
588	Lib/encodings/utf_16.py \
589	Lib/encodings/utf_32_be.py \
590	Lib/encodings/utf_32_le.py \
591	Lib/encodings/utf_32.py \
592	Lib/encodings/utf_7.py \
593	Lib/encodings/utf_8.py \
594	Lib/encodings/utf_8_sig.py \
595	Lib/encodings/uu_codec.py \
596	Lib/encodings/zlib_codec.py \
597))
598
599$(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/html,\
600	Lib/html/__init__.py \
601	Lib/html/entities.py \
602	Lib/html/parser.py \
603))
604
605$(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/http,\
606	Lib/http/__init__.py \
607	Lib/http/client.py \
608	Lib/http/cookiejar.py \
609	Lib/http/cookies.py \
610	Lib/http/server.py \
611))
612
613$(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/importlib,\
614	Lib/importlib/__init__.py \
615	Lib/importlib/_bootstrap.py \
616	Lib/importlib/_bootstrap_external.py \
617	Lib/importlib/abc.py \
618	Lib/importlib/machinery.py \
619	Lib/importlib/resources.py \
620	Lib/importlib/util.py \
621))
622
623$(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/json,\
624	Lib/json/__init__.py \
625	Lib/json/decoder.py \
626	Lib/json/encoder.py \
627	Lib/json/scanner.py \
628	Lib/json/tool.py \
629))
630
631$(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/lib2to3,\
632	Lib/lib2to3/__init__.py \
633	Lib/lib2to3/__main__.py \
634	Lib/lib2to3/Grammar.txt \
635	Lib/lib2to3/PatternGrammar.txt \
636	Lib/lib2to3/btm_matcher.py \
637	Lib/lib2to3/btm_utils.py \
638	Lib/lib2to3/fixer_base.py \
639	Lib/lib2to3/fixer_util.py \
640	Lib/lib2to3/main.py \
641	Lib/lib2to3/patcomp.py \
642	Lib/lib2to3/pygram.py \
643	Lib/lib2to3/pytree.py \
644	Lib/lib2to3/refactor.py \
645))
646
647$(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/lib2to3/fixes,\
648	Lib/lib2to3/fixes/__init__.py \
649	Lib/lib2to3/fixes/fix_apply.py \
650	Lib/lib2to3/fixes/fix_asserts.py \
651	Lib/lib2to3/fixes/fix_basestring.py \
652	Lib/lib2to3/fixes/fix_buffer.py \
653	Lib/lib2to3/fixes/fix_dict.py \
654	Lib/lib2to3/fixes/fix_except.py \
655	Lib/lib2to3/fixes/fix_execfile.py \
656	Lib/lib2to3/fixes/fix_exec.py \
657	Lib/lib2to3/fixes/fix_exitfunc.py \
658	Lib/lib2to3/fixes/fix_filter.py \
659	Lib/lib2to3/fixes/fix_funcattrs.py \
660	Lib/lib2to3/fixes/fix_future.py \
661	Lib/lib2to3/fixes/fix_getcwdu.py \
662	Lib/lib2to3/fixes/fix_has_key.py \
663	Lib/lib2to3/fixes/fix_idioms.py \
664	Lib/lib2to3/fixes/fix_import.py \
665	Lib/lib2to3/fixes/fix_imports2.py \
666	Lib/lib2to3/fixes/fix_imports.py \
667	Lib/lib2to3/fixes/fix_input.py \
668	Lib/lib2to3/fixes/fix_intern.py \
669	Lib/lib2to3/fixes/fix_isinstance.py \
670	Lib/lib2to3/fixes/fix_itertools_imports.py \
671	Lib/lib2to3/fixes/fix_itertools.py \
672	Lib/lib2to3/fixes/fix_long.py \
673	Lib/lib2to3/fixes/fix_map.py \
674	Lib/lib2to3/fixes/fix_metaclass.py \
675	Lib/lib2to3/fixes/fix_methodattrs.py \
676	Lib/lib2to3/fixes/fix_ne.py \
677	Lib/lib2to3/fixes/fix_next.py \
678	Lib/lib2to3/fixes/fix_nonzero.py \
679	Lib/lib2to3/fixes/fix_numliterals.py \
680	Lib/lib2to3/fixes/fix_operator.py \
681	Lib/lib2to3/fixes/fix_paren.py \
682	Lib/lib2to3/fixes/fix_print.py \
683	Lib/lib2to3/fixes/fix_raise.py \
684	Lib/lib2to3/fixes/fix_raw_input.py \
685	Lib/lib2to3/fixes/fix_reduce.py \
686	Lib/lib2to3/fixes/fix_reload.py \
687	Lib/lib2to3/fixes/fix_renames.py \
688	Lib/lib2to3/fixes/fix_repr.py \
689	Lib/lib2to3/fixes/fix_set_literal.py \
690	Lib/lib2to3/fixes/fix_standarderror.py \
691	Lib/lib2to3/fixes/fix_sys_exc.py \
692	Lib/lib2to3/fixes/fix_throw.py \
693	Lib/lib2to3/fixes/fix_tuple_params.py \
694	Lib/lib2to3/fixes/fix_types.py \
695	Lib/lib2to3/fixes/fix_unicode.py \
696	Lib/lib2to3/fixes/fix_urllib.py \
697	Lib/lib2to3/fixes/fix_ws_comma.py \
698	Lib/lib2to3/fixes/fix_xrange.py \
699	Lib/lib2to3/fixes/fix_xreadlines.py \
700	Lib/lib2to3/fixes/fix_zip.py \
701))
702
703$(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/pgen2,\
704	Lib/lib2to3/pgen2/__init__.py \
705	Lib/lib2to3/pgen2/conv.py \
706	Lib/lib2to3/pgen2/driver.py \
707	Lib/lib2to3/pgen2/grammar.py \
708	Lib/lib2to3/pgen2/literals.py \
709	Lib/lib2to3/pgen2/parse.py \
710	Lib/lib2to3/pgen2/pgen.py \
711	Lib/lib2to3/pgen2/tokenize.py \
712	Lib/lib2to3/pgen2/token.py \
713))
714
715$(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/logging,\
716	Lib/logging/__init__.py \
717	Lib/logging/config.py \
718	Lib/logging/handlers.py \
719))
720
721$(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/multiprocessing,\
722	Lib/multiprocessing/__init__.py \
723	Lib/multiprocessing/connection.py \
724	Lib/multiprocessing/context.py \
725	Lib/multiprocessing/forkserver.py \
726	Lib/multiprocessing/heap.py \
727	Lib/multiprocessing/managers.py \
728	Lib/multiprocessing/popen_fork.py \
729	Lib/multiprocessing/popen_forkserver.py \
730	Lib/multiprocessing/popen_spawn_posix.py \
731	Lib/multiprocessing/popen_spawn_win32.py \
732	Lib/multiprocessing/process.py \
733	Lib/multiprocessing/queues.py \
734	Lib/multiprocessing/reduction.py \
735	Lib/multiprocessing/resource_sharer.py \
736	Lib/multiprocessing/semaphore_tracker.py \
737	Lib/multiprocessing/sharedctypes.py \
738	Lib/multiprocessing/spawn.py \
739	Lib/multiprocessing/synchronize.py \
740	Lib/multiprocessing/util.py \
741))
742
743$(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/multiprocessing/dummy,\
744	Lib/multiprocessing/dummy/__init__.py \
745	Lib/multiprocessing/dummy/connection.py \
746))
747
748$(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/pydoc_data,\
749	Lib/pydoc_data/__init__.py \
750	Lib/pydoc_data/_pydoc.css \
751	Lib/pydoc_data/topics.py \
752))
753
754$(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/unittest,\
755	Lib/unittest/__init__.py \
756	Lib/unittest/__main__.py \
757	Lib/unittest/case.py \
758	Lib/unittest/loader.py \
759	Lib/unittest/main.py \
760	Lib/unittest/mock.py \
761	Lib/unittest/result.py \
762	Lib/unittest/runner.py \
763	Lib/unittest/signals.py \
764	Lib/unittest/suite.py \
765	Lib/unittest/util.py \
766))
767
768$(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/unittest/test,\
769	Lib/unittest/test/__init__.py \
770	Lib/unittest/test/__main__.py \
771	Lib/unittest/test/_test_warnings.py \
772	Lib/unittest/test/dummy.py \
773	Lib/unittest/test/support.py \
774	Lib/unittest/test/test_assertions.py \
775	Lib/unittest/test/test_break.py \
776	Lib/unittest/test/test_case.py \
777	Lib/unittest/test/test_discovery.py \
778	Lib/unittest/test/test_functiontestcase.py \
779	Lib/unittest/test/test_loader.py \
780	Lib/unittest/test/test_program.py \
781	Lib/unittest/test/test_result.py \
782	Lib/unittest/test/test_runner.py \
783	Lib/unittest/test/test_setups.py \
784	Lib/unittest/test/test_skipping.py \
785	Lib/unittest/test/test_suite.py \
786))
787
788$(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/unittest/test/testmock,\
789	Lib/unittest/test/testmock/__init__.py \
790	Lib/unittest/test/testmock/__main__.py \
791	Lib/unittest/test/testmock/support.py \
792	Lib/unittest/test/testmock/testcallable.py \
793	Lib/unittest/test/testmock/testhelpers.py \
794	Lib/unittest/test/testmock/testmagicmethods.py \
795	Lib/unittest/test/testmock/testmock.py \
796	Lib/unittest/test/testmock/testpatch.py \
797	Lib/unittest/test/testmock/testsealable.py \
798	Lib/unittest/test/testmock/testsentinel.py \
799	Lib/unittest/test/testmock/testwith.py \
800))
801
802$(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/urllib,\
803	Lib/urllib/__init__.py \
804	Lib/urllib/error.py \
805	Lib/urllib/parse.py \
806	Lib/urllib/request.py \
807	Lib/urllib/response.py \
808	Lib/urllib/robotparser.py \
809))
810
811$(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/wsgiref,\
812	Lib/wsgiref/__init__.py \
813	Lib/wsgiref/handlers.py \
814	Lib/wsgiref/headers.py \
815	Lib/wsgiref/simple_server.py \
816	Lib/wsgiref/util.py \
817	Lib/wsgiref/validate.py \
818))
819
820$(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/xml,\
821	Lib/xml/__init__.py \
822))
823
824$(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/xml/dom,\
825	Lib/xml/dom/__init__.py \
826	Lib/xml/dom/NodeFilter.py \
827	Lib/xml/dom/domreg.py \
828	Lib/xml/dom/expatbuilder.py \
829	Lib/xml/dom/minicompat.py \
830	Lib/xml/dom/minidom.py \
831	Lib/xml/dom/pulldom.py \
832	Lib/xml/dom/xmlbuilder.py \
833))
834
835$(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/xml/etree,\
836	Lib/xml/etree/__init__.py \
837	Lib/xml/etree/ElementInclude.py \
838	Lib/xml/etree/ElementPath.py \
839	Lib/xml/etree/ElementTree.py \
840	Lib/xml/etree/cElementTree.py \
841))
842
843$(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/xml/parsers,\
844	Lib/xml/parsers/__init__.py \
845	Lib/xml/parsers/expat.py \
846))
847
848$(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/xml/sax,\
849	Lib/xml/sax/__init__.py \
850	Lib/xml/sax/_exceptions.py \
851	Lib/xml/sax/expatreader.py \
852	Lib/xml/sax/handler.py \
853	Lib/xml/sax/saxutils.py \
854	Lib/xml/sax/xmlreader.py \
855))
856
857$(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/xmlrpc,\
858	Lib/xmlrpc/__init__.py \
859	Lib/xmlrpc/client.py \
860	Lib/xmlrpc/server.py \
861))
862
863$(eval $(call gb_ExternalPackage_add_unpacked_files,python3,$(LIBO_BIN_FOLDER)/python-core-$(PYTHON_VERSION)/lib/site-packages,\
864	Lib/site-packages/README.txt \
865))
866
867# vim: set noet sw=4 ts=4:
868