1## @file
2# PythonCore.inf
3#
4#  Copyright (c) 2015, Daryl McDaniel. All rights reserved.<BR>
5#  Copyright (c) 2011-2012, Intel Corporation. All rights reserved.<BR>
6#  This program and the accompanying materials
7#  are licensed and made available under the terms and conditions of the BSD License
8#  which accompanies this distribution. The full text of the license may be found at
9#  http://opensource.org/licenses/bsd-license.
10#
11#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
13#
14##
15
16[Defines]
17  INF_VERSION                 = 0x00010016
18  BASE_NAME                   = Python
19  FILE_GUID                   = ca5627c4-51ba-4dcb-ac62-c076ebd37ddb
20  MODULE_TYPE                 = UEFI_APPLICATION
21  VERSION_STRING              = 0.8
22  ENTRY_POINT                 = ShellCEntryLib
23
24  DEFINE PYTHON_VERSION       = 2.7.2
25
26#
27#  VALID_ARCHITECTURES        = IA32 X64 IPF
28#
29
30[Packages]
31  StdLib/StdLib.dec
32  MdePkg/MdePkg.dec
33
34[LibraryClasses]
35  UefiLib
36  DebugLib
37  LibC
38  LibString
39  LibStdio
40  LibGdtoa
41  LibMath
42  LibWchar
43  LibGen
44  LibNetUtil
45  DevMedia
46  #
47  # Comment out the following two library classes if socket support is
48  # NOT being built in to Python.
49  #BsdSocketLib
50  #EfiSocketLib
51
52[FixedPcd]
53  gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x0F
54  gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000040
55
56[Sources]
57#EFI -- EFI specific code
58  Efi/config.c
59  Efi/edk2module.c
60  Efi/getpath.c
61
62#Parser
63  Python-$(PYTHON_VERSION)/Parser/acceler.c
64  Python-$(PYTHON_VERSION)/Parser/bitset.c
65  Python-$(PYTHON_VERSION)/Parser/firstsets.c
66  Python-$(PYTHON_VERSION)/Parser/grammar.c
67  Python-$(PYTHON_VERSION)/Parser/grammar1.c
68  Python-$(PYTHON_VERSION)/Parser/listnode.c
69  Python-$(PYTHON_VERSION)/Parser/metagrammar.c
70  Python-$(PYTHON_VERSION)/Parser/myreadline.c
71  Python-$(PYTHON_VERSION)/Parser/node.c
72  Python-$(PYTHON_VERSION)/Parser/parser.c
73  Python-$(PYTHON_VERSION)/Parser/parsetok.c
74  Python-$(PYTHON_VERSION)/Parser/tokenizer.c
75
76#Python
77  PyMod-$(PYTHON_VERSION)/Python/getcopyright.c
78  PyMod-$(PYTHON_VERSION)/Python/marshal.c
79  PyMod-$(PYTHON_VERSION)/Python/import.c
80
81  Python-$(PYTHON_VERSION)/Python/_warnings.c
82  Python-$(PYTHON_VERSION)/Python/Python-ast.c
83  Python-$(PYTHON_VERSION)/Python/asdl.c
84  Python-$(PYTHON_VERSION)/Python/ast.c
85  Python-$(PYTHON_VERSION)/Python/bltinmodule.c
86  Python-$(PYTHON_VERSION)/Python/ceval.c
87  Python-$(PYTHON_VERSION)/Python/codecs.c
88  Python-$(PYTHON_VERSION)/Python/compile.c
89  Python-$(PYTHON_VERSION)/Python/dtoa.c
90  Python-$(PYTHON_VERSION)/Python/dynload_stub.c
91  Python-$(PYTHON_VERSION)/Python/errors.c
92  Python-$(PYTHON_VERSION)/Python/formatter_string.c
93  Python-$(PYTHON_VERSION)/Python/formatter_unicode.c
94  Python-$(PYTHON_VERSION)/Python/frozen.c
95  Python-$(PYTHON_VERSION)/Python/future.c
96  Python-$(PYTHON_VERSION)/Python/getargs.c
97  Python-$(PYTHON_VERSION)/Python/getcompiler.c
98  Python-$(PYTHON_VERSION)/Python/getopt.c
99  Python-$(PYTHON_VERSION)/Python/getplatform.c
100  Python-$(PYTHON_VERSION)/Python/getversion.c
101  Python-$(PYTHON_VERSION)/Python/graminit.c
102  Python-$(PYTHON_VERSION)/Python/importdl.c
103  Python-$(PYTHON_VERSION)/Python/modsupport.c
104  Python-$(PYTHON_VERSION)/Python/mysnprintf.c
105  Python-$(PYTHON_VERSION)/Python/mystrtoul.c
106  Python-$(PYTHON_VERSION)/Python/peephole.c
107  Python-$(PYTHON_VERSION)/Python/pyarena.c
108  Python-$(PYTHON_VERSION)/Python/pyctype.c
109  Python-$(PYTHON_VERSION)/Python/pyfpe.c
110  Python-$(PYTHON_VERSION)/Python/pymath.c
111  Python-$(PYTHON_VERSION)/Python/pystate.c
112  Python-$(PYTHON_VERSION)/Python/pystrcmp.c
113  Python-$(PYTHON_VERSION)/Python/pystrtod.c
114  Python-$(PYTHON_VERSION)/Python/pythonrun.c
115  Python-$(PYTHON_VERSION)/Python/structmember.c
116  Python-$(PYTHON_VERSION)/Python/symtable.c
117  Python-$(PYTHON_VERSION)/Python/sysmodule.c
118  Python-$(PYTHON_VERSION)/Python/traceback.c
119
120#Objects
121  PyMod-$(PYTHON_VERSION)/Objects/longobject.c
122
123  Python-$(PYTHON_VERSION)/Objects/abstract.c
124  Python-$(PYTHON_VERSION)/Objects/boolobject.c
125  Python-$(PYTHON_VERSION)/Objects/bufferobject.c
126  Python-$(PYTHON_VERSION)/Objects/bytearrayobject.c
127  Python-$(PYTHON_VERSION)/Objects/bytes_methods.c
128  Python-$(PYTHON_VERSION)/Objects/capsule.c
129  Python-$(PYTHON_VERSION)/Objects/cellobject.c
130  Python-$(PYTHON_VERSION)/Objects/classobject.c
131  Python-$(PYTHON_VERSION)/Objects/cobject.c
132  Python-$(PYTHON_VERSION)/Objects/codeobject.c
133  Python-$(PYTHON_VERSION)/Objects/complexobject.c
134  Python-$(PYTHON_VERSION)/Objects/descrobject.c
135  Python-$(PYTHON_VERSION)/Objects/dictobject.c
136  Python-$(PYTHON_VERSION)/Objects/enumobject.c
137  Python-$(PYTHON_VERSION)/Objects/exceptions.c
138  Python-$(PYTHON_VERSION)/Objects/fileobject.c
139  Python-$(PYTHON_VERSION)/Objects/floatobject.c
140  Python-$(PYTHON_VERSION)/Objects/frameobject.c
141  Python-$(PYTHON_VERSION)/Objects/funcobject.c
142  Python-$(PYTHON_VERSION)/Objects/genobject.c
143  Python-$(PYTHON_VERSION)/Objects/intobject.c
144  Python-$(PYTHON_VERSION)/Objects/iterobject.c
145  Python-$(PYTHON_VERSION)/Objects/listobject.c
146  Python-$(PYTHON_VERSION)/Objects/memoryobject.c
147  Python-$(PYTHON_VERSION)/Objects/methodobject.c
148  Python-$(PYTHON_VERSION)/Objects/moduleobject.c
149  Python-$(PYTHON_VERSION)/Objects/object.c
150  Python-$(PYTHON_VERSION)/Objects/obmalloc.c
151  Python-$(PYTHON_VERSION)/Objects/rangeobject.c
152  Python-$(PYTHON_VERSION)/Objects/setobject.c
153  Python-$(PYTHON_VERSION)/Objects/sliceobject.c
154  Python-$(PYTHON_VERSION)/Objects/stringobject.c
155  Python-$(PYTHON_VERSION)/Objects/structseq.c
156  Python-$(PYTHON_VERSION)/Objects/tupleobject.c
157  Python-$(PYTHON_VERSION)/Objects/typeobject.c
158  Python-$(PYTHON_VERSION)/Objects/unicodectype.c
159  Python-$(PYTHON_VERSION)/Objects/unicodeobject.c
160  Python-$(PYTHON_VERSION)/Objects/weakrefobject.c
161
162#Modules -- See Efi/config.c
163  # Mandatory Modules -- These must always be built in.
164  PyMod-$(PYTHON_VERSION)/Modules/errnomodule.c
165  Python-$(PYTHON_VERSION)/Modules/_functoolsmodule.c
166  Python-$(PYTHON_VERSION)/Modules/gcmodule.c
167  Python-$(PYTHON_VERSION)/Modules/getbuildinfo.c
168  PyMod-$(PYTHON_VERSION)/Modules/main.c
169  Python-$(PYTHON_VERSION)/Modules/python.c
170
171  # Optional Modules -- See Python/Efi/config.c
172  PyMod-$(PYTHON_VERSION)/Modules/_sre.c                        #
173  PyMod-$(PYTHON_VERSION)/Modules/selectmodule.c                #
174  #
175  Python-$(PYTHON_VERSION)/Modules/_bisectmodule.c              #
176  Python-$(PYTHON_VERSION)/Modules/_codecsmodule.c              #
177  Python-$(PYTHON_VERSION)/Modules/_collectionsmodule.c         #
178  Python-$(PYTHON_VERSION)/Modules/_csv.c                       #
179  Python-$(PYTHON_VERSION)/Modules/_heapqmodule.c               #
180  Python-$(PYTHON_VERSION)/Modules/_json.c                      #
181  Python-$(PYTHON_VERSION)/Modules/_localemodule.c              #
182  Python-$(PYTHON_VERSION)/Modules/_math.c                      #
183  Python-$(PYTHON_VERSION)/Modules/_randommodule.c              #
184  Python-$(PYTHON_VERSION)/Modules/_struct.c                    #
185  Python-$(PYTHON_VERSION)/Modules/_weakref.c                   #
186  Python-$(PYTHON_VERSION)/Modules/arraymodule.c                #
187  Python-$(PYTHON_VERSION)/Modules/binascii.c                   #
188  Python-$(PYTHON_VERSION)/Modules/cmathmodule.c                #
189  Python-$(PYTHON_VERSION)/Modules/cPickle.c                    #
190  Python-$(PYTHON_VERSION)/Modules/cStringIO.c                  #
191  Python-$(PYTHON_VERSION)/Modules/datetimemodule.c             #
192  Python-$(PYTHON_VERSION)/Modules/future_builtins.c            #
193  Python-$(PYTHON_VERSION)/Modules/itertoolsmodule.c            #
194  Python-$(PYTHON_VERSION)/Modules/mathmodule.c                 #
195  Python-$(PYTHON_VERSION)/Modules/md5.c                        #
196  Python-$(PYTHON_VERSION)/Modules/md5module.c                  #
197  Python-$(PYTHON_VERSION)/Modules/operator.c                   #
198  Python-$(PYTHON_VERSION)/Modules/parsermodule.c               #
199  Python-$(PYTHON_VERSION)/Modules/sha256module.c               #
200  Python-$(PYTHON_VERSION)/Modules/sha512module.c               #
201  Python-$(PYTHON_VERSION)/Modules/shamodule.c                  #
202  Python-$(PYTHON_VERSION)/Modules/signalmodule.c               #
203  Python-$(PYTHON_VERSION)/Modules/socketmodule.c               #
204  Python-$(PYTHON_VERSION)/Modules/stropmodule.c                #
205  Python-$(PYTHON_VERSION)/Modules/symtablemodule.c             #
206  Python-$(PYTHON_VERSION)/Modules/timemodule.c                 #
207  Python-$(PYTHON_VERSION)/Modules/unicodedata.c                #
208  Python-$(PYTHON_VERSION)/Modules/xxsubtype.c                  #
209  Python-$(PYTHON_VERSION)/Modules/zipimport.c                  #
210  Python-$(PYTHON_VERSION)/Modules/zlibmodule.c                 #
211
212#Modules/_io
213  Python-$(PYTHON_VERSION)/Modules/_io/_iomodule.c              #
214  Python-$(PYTHON_VERSION)/Modules/_io/bufferedio.c             #
215  Python-$(PYTHON_VERSION)/Modules/_io/bytesio.c                #
216  Python-$(PYTHON_VERSION)/Modules/_io/fileio.c                 #
217  Python-$(PYTHON_VERSION)/Modules/_io/iobase.c                 #
218  Python-$(PYTHON_VERSION)/Modules/_io/stringio.c               #
219  Python-$(PYTHON_VERSION)/Modules/_io/textio.c                 #
220
221#Modules/cjkcodecs
222  Python-$(PYTHON_VERSION)/Modules/cjkcodecs/multibytecodec.c   #
223  Python-$(PYTHON_VERSION)/Modules/cjkcodecs/_codecs_cn.c       #
224  Python-$(PYTHON_VERSION)/Modules/cjkcodecs/_codecs_hk.c       #
225  Python-$(PYTHON_VERSION)/Modules/cjkcodecs/_codecs_iso2022.c  #
226  Python-$(PYTHON_VERSION)/Modules/cjkcodecs/_codecs_jp.c       #
227  Python-$(PYTHON_VERSION)/Modules/cjkcodecs/_codecs_kr.c       #
228  Python-$(PYTHON_VERSION)/Modules/cjkcodecs/_codecs_tw.c       #
229
230#Modules/expat
231  Python-$(PYTHON_VERSION)/Modules/pyexpat.c                    #
232  PyMod-$(PYTHON_VERSION)/Modules/expat/xmlparse.c              #
233  Python-$(PYTHON_VERSION)/Modules/expat/xmlrole.c              #
234  Python-$(PYTHON_VERSION)/Modules/expat/xmltok.c               #
235
236#Modules/zlib
237  Python-$(PYTHON_VERSION)/Modules/zlib/adler32.c               #
238  Python-$(PYTHON_VERSION)/Modules/zlib/compress.c              #
239  Python-$(PYTHON_VERSION)/Modules/zlib/crc32.c                 #
240  Python-$(PYTHON_VERSION)/Modules/zlib/deflate.c               #
241  Python-$(PYTHON_VERSION)/Modules/zlib/gzio.c                  #
242  Python-$(PYTHON_VERSION)/Modules/zlib/infback.c               #
243  Python-$(PYTHON_VERSION)/Modules/zlib/inffast.c               #
244  Python-$(PYTHON_VERSION)/Modules/zlib/inflate.c               #
245  Python-$(PYTHON_VERSION)/Modules/zlib/inftrees.c              #
246  Python-$(PYTHON_VERSION)/Modules/zlib/trees.c                 #
247  Python-$(PYTHON_VERSION)/Modules/zlib/uncompr.c               #
248  Python-$(PYTHON_VERSION)/Modules/zlib/zutil.c                 #
249
250[BuildOptions]
251   MSFT:*_*_IA32_CC_FLAGS         = /Oi- /wd4018 /wd4054 /wd4055 /wd4101 /wd4131 /wd4152 /wd4204 /wd4210 /wd4244 /wd4267 /wd4305 /wd4310 /wd4389 /wd4701 /wd4702 /wd4706 /I$(WORKSPACE)\AppPkg\Applications\Python\Ia32 /I$(WORKSPACE)\AppPkg\Applications\Python\Efi /I$(WORKSPACE)\AppPkg\Applications\Python\Python-$(PYTHON_VERSION)\Include /DHAVE_MEMMOVE /DUSE_PYEXPAT_CAPI /DXML_STATIC
252   MSFT:*_*_X64_CC_FLAGS          = /Oi- /wd4018 /wd4054 /wd4055 /wd4101 /wd4131 /wd4152 /wd4204 /wd4210 /wd4244 /wd4267 /wd4305 /wd4310 /wd4389 /wd4701 /wd4702 /wd4706 /I$(WORKSPACE)\AppPkg\Applications\Python\X64 /I$(WORKSPACE)\AppPkg\Applications\Python\Efi /I$(WORKSPACE)\AppPkg\Applications\Python\Python-$(PYTHON_VERSION)\Include /DHAVE_MEMMOVE /DUSE_PYEXPAT_CAPI /DXML_STATIC
253    GCC:*_*_IA32_CC_FLAGS         = -fno-builtin -Wno-format -I$(WORKSPACE)/AppPkg/Applications/Python/Ia32 -I$(WORKSPACE)/AppPkg/Applications/Python/Python-$(PYTHON_VERSION)/Include -DHAVE_MEMMOVE -DUSE_PYEXPAT_CAPI -DXML_STATIC
254    GCC:*_*_X64_CC_FLAGS          = -Wno-format -I$(WORKSPACE)/AppPkg/Applications/Python/X64 -I$(WORKSPACE)/AppPkg/Applications/Python/Python-$(PYTHON_VERSION)/Include -DHAVE_MEMMOVE -DUSE_PYEXPAT_CAPI -DXML_STATIC
255    GCC:*_*_IPF_SYMRENAME_FLAGS   = --redefine-syms=$(WORKSPACE)/StdLib/GccSymRename.txt
256