## @file
# Python2710.inf
#
#  Copyright (c) 2015, Daryl McDaniel. All rights reserved.<BR>
#  Copyright (c) 2011-2012, Intel Corporation. All rights reserved.<BR>
#  This program and the accompanying materials
#  are licensed and made available under the terms and conditions of the BSD License
#  which accompanies this distribution. The full text of the license may be found at
#  http://opensource.org/licenses/bsd-license.
#
#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#
##

[Defines]
  INF_VERSION                 = 0x00010016
  BASE_NAME                   = Python2710
  FILE_GUID                   = F78285FD-121E-49f4-9716-44E307656586
  MODULE_TYPE                 = UEFI_APPLICATION
  VERSION_STRING              = 0.1
  ENTRY_POINT                 = ShellCEntryLib

  DEFINE PYTHON_VERSION       = 2.7.10

#
#  VALID_ARCHITECTURES        = IA32 X64
#

[Packages]
  StdLib/StdLib.dec
  MdePkg/MdePkg.dec

[LibraryClasses]
  UefiLib
  DebugLib
  LibC
  LibString
  LibStdio
  LibGdtoa
  LibMath
  LibWchar
  LibGen
  LibNetUtil
  DevMedia
  #
# Comment out the following two library classes if socket support is
# NOT being built in to Python.
  #BsdSocketLib
  #EfiSocketLib

[FixedPcd]
  gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x0F
  gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000040

[Sources]
#Parser
  Parser/acceler.c
  Parser/bitset.c
  Parser/firstsets.c
  Parser/grammar.c
  Parser/grammar1.c
  Parser/listnode.c
  Parser/metagrammar.c
  Parser/myreadline.c
  Parser/node.c
  Parser/parser.c
  Parser/parsetok.c
  Parser/tokenizer.c

#Python
  PyMod-$(PYTHON_VERSION)/Python/getcopyright.c
  PyMod-$(PYTHON_VERSION)/Python/marshal.c
  PyMod-$(PYTHON_VERSION)/Python/random.c

  Python/_warnings.c
  Python/asdl.c
  Python/ast.c
  Python/bltinmodule.c
  Python/ceval.c
  Python/codecs.c
  Python/compile.c
  Python/dtoa.c
  Python/dynload_stub.c
  Python/errors.c
  Python/formatter_string.c
  Python/formatter_unicode.c
  Python/frozen.c
  Python/future.c
  Python/getargs.c
  Python/getcompiler.c
  Python/getopt.c
  Python/getplatform.c
  Python/getversion.c
  Python/graminit.c
  Python/import.c
  Python/importdl.c
  Python/modsupport.c
  Python/mysnprintf.c
  Python/mystrtoul.c
  Python/peephole.c
  Python/pyarena.c
  Python/pyctype.c
  Python/pyfpe.c
  Python/pymath.c
  Python/pystate.c
  Python/pystrcmp.c
  Python/pystrtod.c
  Python/Python-ast.c
  Python/pythonrun.c
  Python/structmember.c
  Python/symtable.c
  Python/sysmodule.c
  Python/traceback.c

#Objects
  PyMod-$(PYTHON_VERSION)/Objects/longobject.c

  Objects/abstract.c
  Objects/boolobject.c
  Objects/bufferobject.c
  Objects/bytearrayobject.c
  Objects/bytes_methods.c
  Objects/capsule.c
  Objects/cellobject.c
  Objects/classobject.c
  Objects/cobject.c
  Objects/codeobject.c
  Objects/complexobject.c
  Objects/descrobject.c
  Objects/dictobject.c
  Objects/enumobject.c
  Objects/exceptions.c
  Objects/fileobject.c
  Objects/floatobject.c
  Objects/frameobject.c
  Objects/funcobject.c
  Objects/genobject.c
  Objects/intobject.c
  Objects/iterobject.c
  Objects/listobject.c
  Objects/memoryobject.c
  Objects/methodobject.c
  Objects/moduleobject.c
  Objects/object.c
  Objects/obmalloc.c
  Objects/rangeobject.c
  Objects/setobject.c
  Objects/sliceobject.c
  Objects/stringobject.c
  Objects/structseq.c
  Objects/tupleobject.c
  Objects/typeobject.c
  Objects/unicodectype.c
  Objects/unicodeobject.c
  Objects/weakrefobject.c

#Modules -- See config.c
  # Mandatory Modules -- These must always be built in.
  PyMod-$(PYTHON_VERSION)/Modules/config.c
  PyMod-$(PYTHON_VERSION)/Modules/edk2module.c
  PyMod-$(PYTHON_VERSION)/Modules/errnomodule.c
  PyMod-$(PYTHON_VERSION)/Modules/getpath.c
  PyMod-$(PYTHON_VERSION)/Modules/main.c

  Modules/_functoolsmodule.c
  Modules/gcmodule.c
  Modules/getbuildinfo.c
  Modules/python.c

  # Optional Modules -- See Python/Efi/config.c
  PyMod-$(PYTHON_VERSION)/Modules/_sre.c
  PyMod-$(PYTHON_VERSION)/Modules/selectmodule.c
  #
  Modules/_bisectmodule.c              #
  Modules/_codecsmodule.c              #
  Modules/_collectionsmodule.c         #
  Modules/_csv.c                       #
  Modules/_heapqmodule.c               #
  Modules/_json.c                      #
  Modules/_localemodule.c              #
  Modules/_math.c                      #
  Modules/_randommodule.c              #
  Modules/_struct.c                    #
  Modules/_weakref.c                   #
  Modules/arraymodule.c                #
  Modules/binascii.c                   #
  Modules/cmathmodule.c                #
  Modules/cPickle.c                    #
  Modules/cStringIO.c                  #
  Modules/datetimemodule.c             #
  Modules/future_builtins.c            #
  Modules/itertoolsmodule.c            #
  Modules/mathmodule.c                 #
  Modules/md5.c                        #
  Modules/md5module.c                  #
  Modules/operator.c                   #
  Modules/parsermodule.c               #
  Modules/sha256module.c               #
  Modules/sha512module.c               #
  Modules/shamodule.c                  #
  Modules/signalmodule.c               #
  Modules/socketmodule.c               #
  Modules/stropmodule.c                #
  Modules/symtablemodule.c             #
  Modules/timemodule.c                 #
  Modules/unicodedata.c                #
  Modules/xxsubtype.c                  #
  Modules/zipimport.c                  #
  Modules/zlibmodule.c                 #

#Modules/_io
  Modules/_io/_iomodule.c              #
  Modules/_io/bufferedio.c             #
  Modules/_io/bytesio.c                #
  Modules/_io/fileio.c                 #
  Modules/_io/iobase.c                 #
  Modules/_io/stringio.c               #
  Modules/_io/textio.c                 #

#Modules/cjkcodecs
  Modules/cjkcodecs/multibytecodec.c   #
  Modules/cjkcodecs/_codecs_cn.c       #
  Modules/cjkcodecs/_codecs_hk.c       #
  Modules/cjkcodecs/_codecs_iso2022.c  #
  Modules/cjkcodecs/_codecs_jp.c       #
  Modules/cjkcodecs/_codecs_kr.c       #
  Modules/cjkcodecs/_codecs_tw.c       #

#Modules/expat
  Modules/pyexpat.c                    #
  Modules/expat/xmlrole.c              #
  Modules/expat/xmltok.c               #
  Modules/expat/xmlparse.c             #

#Modules/zlib
  Modules/zlib/adler32.c               #
  Modules/zlib/compress.c              #
  Modules/zlib/crc32.c                 #
  Modules/zlib/deflate.c               #
  Modules/zlib/gzclose.c               #
  Modules/zlib/gzlib.c                 #
  Modules/zlib/gzread.c                #
  Modules/zlib/gzwrite.c               #

  Modules/zlib/infback.c               #
  Modules/zlib/inffast.c               #
  Modules/zlib/inflate.c               #
  Modules/zlib/inftrees.c              #
  Modules/zlib/trees.c                 #
  Modules/zlib/uncompr.c               #
  Modules/zlib/zutil.c                 #

[BuildOptions]
   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\Python-2.7.10\Ia32 /I$(WORKSPACE)\AppPkg\Applications\Python\Python-2.7.10\Include /DHAVE_MEMMOVE /DUSE_PYEXPAT_CAPI /DXML_STATIC
   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\Python-2.7.10\X64 /I$(WORKSPACE)\AppPkg\Applications\Python\Python-2.7.10\Include /DHAVE_MEMMOVE /DUSE_PYEXPAT_CAPI /DXML_STATIC
    GCC:*_*_IA32_CC_FLAGS         = -fno-builtin -Wno-format -I$(WORKSPACE)/AppPkg/Applications/Python/Python-2.7.10/Ia32 -I$(WORKSPACE)/AppPkg/Applications/Python/Python-2.7.10/PyMod-2.7.10/Include -I$(WORKSPACE)/AppPkg/Applications/Python/Python-2.7.10/Include -DHAVE_MEMMOVE -DUSE_PYEXPAT_CAPI -DXML_STATIC
    GCC:*_*_X64_CC_FLAGS          = -Wno-format -I$(WORKSPACE)/AppPkg/Applications/Python/Python-2.7.10/X64 -I$(WORKSPACE)/AppPkg/Applications/Python/Python-2.7.10/PyMod-2.7.10/Include -I$(WORKSPACE)/AppPkg/Applications/Python/Python-2.7.10/Include -DHAVE_MEMMOVE -DUSE_PYEXPAT_CAPI -DXML_STATIC