summaryrefslogtreecommitdiff
path: root/AppPkg
diff options
context:
space:
mode:
authordarylm503 <darylm503@6f19259b-4bc3-4df7-8a09-765794883524>2012-03-24 01:19:06 +0000
committerdarylm503 <darylm503@6f19259b-4bc3-4df7-8a09-765794883524>2012-03-24 01:19:06 +0000
commitd78fab6b4e9be83b781212f6a9f3fde0c092e81d (patch)
treec16ad39d0aa2ca7f1c62a39b68121db6d4fb5b05 /AppPkg
parent2df686c67c7819e01a1487dd703faffef2b59dce (diff)
downloadjuice-d78fab6b4e9be83b781212f6a9f3fde0c092e81d.tar.gz
EADK (StdLib, AppPkg, StdLibPrivateInternalFiles): Python Beta Release.
Clean up and clearly differentiate required and optional items in configuration files. Enable the system command and synchronize configuration options between all CPU architectures. Replace the UEFI_ENV macro with UEFI_C_SOURCE to align with Linux and Posix conventions. Update copyrights and versions and make minor cosmetic enhancements to files. Fix compiler-specific build errors. Add Python-specific ReadMe file. Signed-off-by: darylm503 Reviewed-by: geekboy15a Reviewed-by: jljusten Reviewed-by: leegrosenbaum git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13119 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'AppPkg')
-rw-r--r--AppPkg/AppPkg.dsc14
-rw-r--r--AppPkg/Applications/Python/Efi/config.c44
-rw-r--r--AppPkg/Applications/Python/Efi/edk2module.c14
-rw-r--r--AppPkg/Applications/Python/Ia32/pyconfig.h20
-rw-r--r--AppPkg/Applications/Python/Ipf/pyconfig.h20
-rw-r--r--AppPkg/Applications/Python/PyMod-2.7.2/Include/osdefs.h6
-rw-r--r--AppPkg/Applications/Python/PyMod-2.7.2/Modules/selectmodule.c4
-rw-r--r--AppPkg/Applications/Python/PyMod-2.7.2/Modules/socketmodule.h2
-rw-r--r--AppPkg/Applications/Python/PyMod-2.7.2/Modules/zlib/zutil.h4
-rw-r--r--AppPkg/Applications/Python/PythonCore.inf355
-rw-r--r--AppPkg/Applications/Python/PythonReadMe.txt194
-rw-r--r--AppPkg/Applications/Python/X64/pyconfig.h20
12 files changed, 455 insertions, 242 deletions
diff --git a/AppPkg/AppPkg.dsc b/AppPkg/AppPkg.dsc
index 60ff05fa4..23ebf4773 100644
--- a/AppPkg/AppPkg.dsc
+++ b/AppPkg/AppPkg.dsc
@@ -7,7 +7,7 @@
# for important information about configuring this package for your
# environment.
#
-# Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR>
+# Copyright (c) 2010 - 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
@@ -30,8 +30,8 @@
[PcdsFeatureFlag]
[PcdsFixedAtBuild]
- gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x0f
- gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000000
+ gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x00
+ gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000040
[PcdsFixedAtBuild.IPF]
@@ -53,7 +53,13 @@
MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
+ #
+ # To enable debugging:
+ # Enable ONE of the following DebugLib instances, as appropriate for your platform.
+ #
DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
+# DebugLib|MdePkg/Library/UefiDebugLibConOut/UefiDebugLibConOut.inf
+
DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf
@@ -97,7 +103,7 @@
#### Sample Applications.
AppPkg/Applications/Hello/Hello.inf # No LibC includes or functions.
AppPkg/Applications/Main/Main.inf # Simple invocation. No other LibC functions.
- AppPkg/Applications/Enquire/Enquire.inf
+ AppPkg/Applications/Enquire/Enquire.inf #
#### After extracting the Python distribution, un-comment the following line to build Python.
# AppPkg/Applications/Python/PythonCore.inf
diff --git a/AppPkg/Applications/Python/Efi/config.c b/AppPkg/Applications/Python/Efi/config.c
index 4d7ae06c0..2fd6019ab 100644
--- a/AppPkg/Applications/Python/Efi/config.c
+++ b/AppPkg/Applications/Python/Efi/config.c
@@ -75,43 +75,31 @@ extern void initselect(void);
extern void PyMarshal_Init(void);
extern void initimp(void);
+extern void initunicodedata(void);
+extern void init_ctypes(void);
struct _inittab _PyImport_Inittab[] = {
//{"_ast", init_ast},
- //{"_bisect", init_bisect},
- //{"_codecs", init_codecs},
- //{"_collections", init_collections},
- //{"_functools", init_functools},
- //{"_heapq", init_heapq},
+ //{"_bisect", init_bisect}, /* A fast version of bisect.py */
+ //{"_heapq", init_heapq}, /* A fast version of heapq.py */
//{"_io", init_io},
//{"_json", init_json},
//{"_md5", init_md5},
- //{"_random", init_random},
//{"_sha", init_sha},
//{"_sha256", init_sha256},
//{"_sha512", init_sha512},
//{"_socket", init_socket},
- //{"_sre", init_sre},
- //{"_struct", init_struct},
- //{"_weakref", init_weakref},
//{"array", initarray},
- //{"binascii", initbinascii},
//{"cmath", initcmath},
//{"cPickle", initcPickle},
- //{"cStringIO", initcStringIO},
//{"datetime", initdatetime},
//{"future_builtins", initfuture_builtins},
- //{"gc", initgc},
- //{"itertools", inititertools},
- //{"math", initmath},
- //{"operator", initoperator},
//{"parser", initparser},
//{"select", initselect},
//{"signal", initsignal},
- //{"strop", initstrop},
- //{"time", inittime},
+ //{"strop", initstrop}, /* redefines some string operations that are 100-1000 times faster */
//{"xxsubtype", initxxsubtype},
//{"zipimport", initzipimport},
//{"zlib", initzlib},
@@ -129,10 +117,24 @@ struct _inittab _PyImport_Inittab[] = {
{"thread", initthread},
#endif
-#if 0
- {"_symtable", init_symtable},
- {"_csv", init_csv},
-#endif
+ //{"_symtable", init_symtable},
+ //{"_csv", init_csv},
+
+ /* These modules are required for the full built-in help() facility provided by pydoc. */
+ {"_codecs", init_codecs},
+ {"_collections", init_collections},
+ {"_functools", init_functools},
+ {"_random", init_random},
+ {"_sre", init_sre},
+ {"_struct", init_struct}, /* Required by the logging package. */
+ {"_weakref", init_weakref},
+ {"binascii", initbinascii},
+ {"cStringIO", initcStringIO}, /* Required by several modules, such as logging. */
+ {"gc", initgc},
+ {"itertools", inititertools},
+ {"math", initmath},
+ {"operator", initoperator},
+ {"time", inittime},
/* These four modules should always be built in. */
{"edk2", initedk2},
diff --git a/AppPkg/Applications/Python/Efi/edk2module.c b/AppPkg/Applications/Python/Efi/edk2module.c
index 451bf473b..edc9c867f 100644
--- a/AppPkg/Applications/Python/Efi/edk2module.c
+++ b/AppPkg/Applications/Python/Efi/edk2module.c
@@ -2,7 +2,7 @@
OS-specific module implementation for EDK II and UEFI.
Derived from posixmodule.c in Python 2.7.2.
- Copyright (c) 2011, Intel Corporation. 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 that accompanies this distribution.
The full text of the license may be found at
@@ -155,7 +155,7 @@ corresponding Unix manual entries for more information on calls.");
/* dummy version. _PyVerify_fd() is already defined in fileobject.h */
#define _PyVerify_fd_dup2(A, B) (1)
-#ifndef UEFI_ENV
+#ifndef UEFI_C_SOURCE
/* Return a dictionary corresponding to the POSIX environment table */
extern char **environ;
@@ -196,7 +196,7 @@ convertenviron(void)
}
return d;
}
-#endif /* UEFI_ENV */
+#endif /* UEFI_C_SOURCE */
/* Set a POSIX-specific error from errno, and return NULL */
@@ -372,7 +372,7 @@ static PyStructSequence_Desc stat_result_desc = {
10
};
-#ifndef UEFI_ENV /* Not in UEFI */
+#ifndef UEFI_C_SOURCE /* Not in UEFI */
PyDoc_STRVAR(statvfs_result__doc__,
"statvfs_result: Result from statvfs or fstatvfs.\n\n\
This object may be accessed either as a tuple of\n\
@@ -433,7 +433,7 @@ statresult_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
/* If true, st_?time is float. */
-#if defined(UEFI_ENV)
+#if defined(UEFI_C_SOURCE)
static int _stat_float_times = 0;
#else
static int _stat_float_times = 1;
@@ -7349,14 +7349,14 @@ INITFUNC(void)
if (m == NULL)
return;
-#ifndef UEFI_ENV
+#ifndef UEFI_C_SOURCE
/* Initialize environ dictionary */
v = convertenviron();
Py_XINCREF(v);
if (v == NULL || PyModule_AddObject(m, "environ", v) != 0)
return;
Py_DECREF(v);
-#endif /* UEFI_ENV */
+#endif /* UEFI_C_SOURCE */
if (all_ins(m))
return;
diff --git a/AppPkg/Applications/Python/Ia32/pyconfig.h b/AppPkg/Applications/Python/Ia32/pyconfig.h
index 6b05e4e16..67f9d33f3 100644
--- a/AppPkg/Applications/Python/Ia32/pyconfig.h
+++ b/AppPkg/Applications/Python/Ia32/pyconfig.h
@@ -1,7 +1,7 @@
/** @file
Manually generated Python Configuration file for EDK II.
- Copyright (c) 2011, Intel Corporation. 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 that accompanies this distribution.
The full text of the license may be found at
@@ -15,10 +15,7 @@
#include <Uefi.h>
-/* Define to indicate that code is being built to run in the UEFI Environment. */
-#define UEFI_ENV EFI_SYSTEM_TABLE_REVISION
-
-#define PLATFORM "UEFI"
+#define PLATFORM "uefi"
/* Define if building universal (internal helper macro) */
#undef AC_APPLE_UNIVERSAL_BUILD
@@ -813,6 +810,9 @@
/* Define to 1 if you have the <sys/wait.h> header file. */
#undef HAVE_SYS_WAIT_H
+/* Define to 1 if you have the system() command. */
+#define HAVE_SYSTEM 1
+
/* Define to 1 if you have the `tcgetpgrp' function. */
#undef HAVE_TCGETPGRP
@@ -938,7 +938,7 @@
#define PACKAGE_NAME "EDK II Python Package"
/* Define to the full name and version of this package. */
-#define PACKAGE_STRING "EDK II Python Package V0.2"
+#define PACKAGE_STRING "EDK II Python Package V0.8"
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "EADK_Python"
@@ -947,7 +947,7 @@
#define PACKAGE_URL "http://edk2.tianocore.org/toolkit/python"
/* Define to the version of this package. */
-#define PACKAGE_VERSION "V0.2"
+#define PACKAGE_VERSION "V0.8"
/* Define if POSIX semaphores aren't enabled on your system */
#define POSIX_SEMAPHORES_NOT_ENABLED 1
@@ -1091,7 +1091,7 @@
/* Define if you want wctype.h functions to be used instead of the one
supplied by Python itself. (see Include/unicodectype.h). */
-#undef WANT_WCTYPE_FUNCTIONS
+#define WANT_WCTYPE_FUNCTIONS 1
/* Define if WINDOW in curses.h offers a field _flags. */
#undef WINDOW_HAS_FLAGS
@@ -1160,7 +1160,9 @@
#undef _MINIX
/* Define on NetBSD to activate all library features */
-#define _NETBSD_SOURCE
+#ifndef _NETBSD_SOURCE
+ #define _NETBSD_SOURCE 1
+#endif
/* Define _OSF_SOURCE to get the makedev macro. */
#undef _OSF_SOURCE
diff --git a/AppPkg/Applications/Python/Ipf/pyconfig.h b/AppPkg/Applications/Python/Ipf/pyconfig.h
index 3d8d03bd2..5b0602405 100644
--- a/AppPkg/Applications/Python/Ipf/pyconfig.h
+++ b/AppPkg/Applications/Python/Ipf/pyconfig.h
@@ -1,7 +1,7 @@
/** @file
Manually generated Python Configuration file for EDK II.
- Copyright (c) 2011, Intel Corporation. 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 that accompanies this distribution.
The full text of the license may be found at
@@ -15,10 +15,7 @@
#include <Uefi.h>
-/* Define to indicate that code is being built to run in the UEFI Environment. */
-#define UEFI_ENV EFI_SYSTEM_TABLE_REVISION
-
-#define PLATFORM "UEFI"
+#define PLATFORM "uefi"
/* Define if building universal (internal helper macro) */
#undef AC_APPLE_UNIVERSAL_BUILD
@@ -809,6 +806,9 @@
/* Define to 1 if you have the <sys/wait.h> header file. */
#undef HAVE_SYS_WAIT_H
+/* Define to 1 if you have the system() command. */
+#define HAVE_SYSTEM 1
+
/* Define to 1 if you have the `tcgetpgrp' function. */
#undef HAVE_TCGETPGRP
@@ -934,7 +934,7 @@
#define PACKAGE_NAME "EDK II Python Package"
/* Define to the full name and version of this package. */
-#define PACKAGE_STRING "EDK II Python Package V0.2"
+#define PACKAGE_STRING "EDK II Python Package V0.8"
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "EADK_Python"
@@ -943,7 +943,7 @@
#define PACKAGE_URL "http://edk2.tianocore.org/toolkit/python"
/* Define to the version of this package. */
-#define PACKAGE_VERSION "V0.2"
+#define PACKAGE_VERSION "V0.8"
/* Define if POSIX semaphores aren't enabled on your system */
#define POSIX_SEMAPHORES_NOT_ENABLED 1
@@ -1091,7 +1091,7 @@
/* Define if you want wctype.h functions to be used instead of the one
supplied by Python itself. (see Include/unicodectype.h). */
-#undef WANT_WCTYPE_FUNCTIONS
+#define WANT_WCTYPE_FUNCTIONS 1
/* Define if WINDOW in curses.h offers a field _flags. */
#undef WINDOW_HAS_FLAGS
@@ -1160,7 +1160,9 @@
#undef _MINIX
/* Define on NetBSD to activate all library features */
-#define _NETBSD_SOURCE
+#ifndef _NETBSD_SOURCE
+ #define _NETBSD_SOURCE 1
+#endif
/* Define _OSF_SOURCE to get the makedev macro. */
#undef _OSF_SOURCE
diff --git a/AppPkg/Applications/Python/PyMod-2.7.2/Include/osdefs.h b/AppPkg/Applications/Python/PyMod-2.7.2/Include/osdefs.h
index f6bfdb01c..bf6ec1100 100644
--- a/AppPkg/Applications/Python/PyMod-2.7.2/Include/osdefs.h
+++ b/AppPkg/Applications/Python/PyMod-2.7.2/Include/osdefs.h
@@ -1,7 +1,7 @@
/** @file
Operating system dependencies.
- Copyright (c) 2011, Intel Corporation. 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 that accompanies this distribution.
The full text of the license may be found at
@@ -18,7 +18,7 @@ extern "C" {
/* Mod by chrish: QNX has WATCOM, but isn't DOS */
-#if !defined(__QNX__) && !defined(UEFI_ENV)
+#if !defined(__QNX__) && !defined(UEFI_C_SOURCE)
#if defined(MS_WINDOWS) || defined(__BORLANDC__) || defined(__WATCOMC__) || defined(__DJGPP__) || defined(PYOS_OS2)
#if defined(PYOS_OS2) && defined(PYCC_GCC)
#define MAXPATHLEN 260
@@ -57,7 +57,7 @@ extern "C" {
/* Search path entry delimiter */
#ifndef DELIM
- #ifdef UEFI_ENV
+ #ifdef UEFI_C_SOURCE
#define DELIM ';'
#define DELIM_STR ";"
#else
diff --git a/AppPkg/Applications/Python/PyMod-2.7.2/Modules/selectmodule.c b/AppPkg/Applications/Python/PyMod-2.7.2/Modules/selectmodule.c
index d1fe57c14..81e5af88a 100644
--- a/AppPkg/Applications/Python/PyMod-2.7.2/Modules/selectmodule.c
+++ b/AppPkg/Applications/Python/PyMod-2.7.2/Modules/selectmodule.c
@@ -111,7 +111,7 @@ seq2set(PyObject *seq, fd_set *set, pylist fd2obj[FD_SETSIZE + 1])
v = PyObject_AsFileDescriptor( o );
if (v == -1) goto finally;
-#if defined(_MSC_VER) && !defined(UEFI_ENV)
+#if defined(_MSC_VER) && !defined(UEFI_C_SOURCE)
max = 0; /* not used for Win32 */
#else /* !_MSC_VER */
if (v < 0 || v >= FD_SETSIZE) {
@@ -164,7 +164,7 @@ set2list(fd_set *set, pylist fd2obj[FD_SETSIZE + 1])
for (j = 0; fd2obj[j].sentinel >= 0; j++) {
fd = fd2obj[j].fd;
if (FD_ISSET(fd, set)) {
-#if !defined(_MSC_VER) || defined(UEFI_ENV)
+#if !defined(_MSC_VER) || defined(UEFI_C_SOURCE)
if (fd > FD_SETSIZE) {
PyErr_SetString(PyExc_SystemError,
"filedescriptor out of range returned in select()");
diff --git a/AppPkg/Applications/Python/PyMod-2.7.2/Modules/socketmodule.h b/AppPkg/Applications/Python/PyMod-2.7.2/Modules/socketmodule.h
index 56ee42222..1190bfd9d 100644
--- a/AppPkg/Applications/Python/PyMod-2.7.2/Modules/socketmodule.h
+++ b/AppPkg/Applications/Python/PyMod-2.7.2/Modules/socketmodule.h
@@ -8,7 +8,7 @@
# include <sys/socket.h>
# endif
# include <netinet/in.h>
-# if !(defined(UEFI_ENV) || defined(__BEOS__) || defined(__CYGWIN__) || (defined(PYOS_OS2) && defined(PYCC_VACPP)))
+# if !(defined(UEFI_C_SOURCE) || defined(__BEOS__) || defined(__CYGWIN__) || (defined(PYOS_OS2) && defined(PYCC_VACPP)))
# include <netinet/tcp.h>
# endif
diff --git a/AppPkg/Applications/Python/PyMod-2.7.2/Modules/zlib/zutil.h b/AppPkg/Applications/Python/PyMod-2.7.2/Modules/zlib/zutil.h
index 9f4d1a6f9..a202cdfa9 100644
--- a/AppPkg/Applications/Python/PyMod-2.7.2/Modules/zlib/zutil.h
+++ b/AppPkg/Applications/Python/PyMod-2.7.2/Modules/zlib/zutil.h
@@ -1,6 +1,6 @@
/* zutil.h -- internal interface and configuration of the compression library
- Copyright (c) 2011, Intel Corporation. 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 that accompanies this distribution.
The full text of the license may be found at
@@ -161,7 +161,7 @@ extern const char * const z_errmsg[10]; /* indexed by 2-zlib_error */
# define fdopen(fd,mode) NULL /* No fdopen() */
#endif
-#if (defined(_MSC_VER) && (_MSC_VER > 600)) && !defined(UEFI_ENV)
+#if (defined(_MSC_VER) && (_MSC_VER > 600)) && !defined(UEFI_C_SOURCE)
# if defined(_WIN32_WCE)
# define fdopen(fd,mode) NULL /* No fdopen() */
# ifndef _PTRDIFF_T_DEFINED
diff --git a/AppPkg/Applications/Python/PythonCore.inf b/AppPkg/Applications/Python/PythonCore.inf
index 2b101e900..bb6dacc52 100644
--- a/AppPkg/Applications/Python/PythonCore.inf
+++ b/AppPkg/Applications/Python/PythonCore.inf
@@ -13,13 +13,15 @@
##
[Defines]
- INF_VERSION = 0x00010006
+ INF_VERSION = 0x00010016
BASE_NAME = Python
FILE_GUID = ca5627c4-51ba-4dcb-ac62-c076ebd37ddb
MODULE_TYPE = UEFI_APPLICATION
- VERSION_STRING = 0.1
+ VERSION_STRING = 0.8
ENTRY_POINT = ShellCEntryLib
+ DEFINE PYTHON_VERSION = 2.7.2
+
#
# VALID_ARCHITECTURES = IA32 X64 IPF
#
@@ -30,6 +32,7 @@
[LibraryClasses]
UefiLib
+ DebugLib
LibC
LibString
LibStdio
@@ -42,6 +45,10 @@
EfiSocketLib
DevShell
+[FixedPcd]
+ gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x0F
+ gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000040
+
[Sources]
#EFI -- EFI specific code
Efi/config.c
@@ -49,189 +56,187 @@
Efi/getpath.c
#Parser
- Python-2.7.2/Parser/acceler.c
- Python-2.7.2/Parser/bitset.c
- Python-2.7.2/Parser/firstsets.c
- Python-2.7.2/Parser/grammar.c
- Python-2.7.2/Parser/grammar1.c
- Python-2.7.2/Parser/listnode.c
- Python-2.7.2/Parser/metagrammar.c
- Python-2.7.2/Parser/myreadline.c
- Python-2.7.2/Parser/node.c
- Python-2.7.2/Parser/parser.c
- Python-2.7.2/Parser/parsetok.c
- Python-2.7.2/Parser/tokenizer.c
+ Python-$(PYTHON_VERSION)/Parser/acceler.c
+ Python-$(PYTHON_VERSION)/Parser/bitset.c
+ Python-$(PYTHON_VERSION)/Parser/firstsets.c
+ Python-$(PYTHON_VERSION)/Parser/grammar.c
+ Python-$(PYTHON_VERSION)/Parser/grammar1.c
+ Python-$(PYTHON_VERSION)/Parser/listnode.c
+ Python-$(PYTHON_VERSION)/Parser/metagrammar.c
+ Python-$(PYTHON_VERSION)/Parser/myreadline.c
+ Python-$(PYTHON_VERSION)/Parser/node.c
+ Python-$(PYTHON_VERSION)/Parser/parser.c
+ Python-$(PYTHON_VERSION)/Parser/parsetok.c
+ Python-$(PYTHON_VERSION)/Parser/tokenizer.c
#Python
- PyMod-2.7.2/Python/getcopyright.c
- PyMod-2.7.2/Python/marshal.c
-
- Python-2.7.2/Python/_warnings.c
- Python-2.7.2/Python/asdl.c
- Python-2.7.2/Python/ast.c
- Python-2.7.2/Python/bltinmodule.c
- Python-2.7.2/Python/ceval.c
- Python-2.7.2/Python/codecs.c
- Python-2.7.2/Python/compile.c
- Python-2.7.2/Python/dtoa.c
- Python-2.7.2/Python/dynload_stub.c
- Python-2.7.2/Python/errors.c
- Python-2.7.2/Python/formatter_string.c
- Python-2.7.2/Python/formatter_unicode.c
- Python-2.7.2/Python/frozen.c
- Python-2.7.2/Python/future.c
- Python-2.7.2/Python/getargs.c
- Python-2.7.2/Python/getcompiler.c
- Python-2.7.2/Python/getopt.c
- Python-2.7.2/Python/getplatform.c
- Python-2.7.2/Python/getversion.c
- Python-2.7.2/Python/graminit.c
- Python-2.7.2/Python/import.c
- Python-2.7.2/Python/importdl.c
- Python-2.7.2/Python/modsupport.c
- Python-2.7.2/Python/mysnprintf.c
- Python-2.7.2/Python/mystrtoul.c
- Python-2.7.2/Python/peephole.c
- Python-2.7.2/Python/pyarena.c
- Python-2.7.2/Python/pyctype.c
- Python-2.7.2/Python/pyfpe.c
- Python-2.7.2/Python/pymath.c
- Python-2.7.2/Python/pystate.c
- Python-2.7.2/Python/pystrcmp.c
- Python-2.7.2/Python/pystrtod.c
- Python-2.7.2/Python/Python-ast.c
- Python-2.7.2/Python/pythonrun.c
- Python-2.7.2/Python/structmember.c
- Python-2.7.2/Python/symtable.c
- Python-2.7.2/Python/sysmodule.c
- Python-2.7.2/Python/traceback.c
-# Python-$(PYTHON_VERSION)/Python/thread.c
+ PyMod-$(PYTHON_VERSION)/Python/getcopyright.c
+ PyMod-$(PYTHON_VERSION)/Python/marshal.c
+
+ Python-$(PYTHON_VERSION)/Python/_warnings.c
+ Python-$(PYTHON_VERSION)/Python/asdl.c
+ Python-$(PYTHON_VERSION)/Python/ast.c
+ Python-$(PYTHON_VERSION)/Python/bltinmodule.c
+ Python-$(PYTHON_VERSION)/Python/ceval.c
+ Python-$(PYTHON_VERSION)/Python/codecs.c
+ Python-$(PYTHON_VERSION)/Python/compile.c
+ Python-$(PYTHON_VERSION)/Python/dtoa.c
+ Python-$(PYTHON_VERSION)/Python/dynload_stub.c
+ Python-$(PYTHON_VERSION)/Python/errors.c
+ Python-$(PYTHON_VERSION)/Python/formatter_string.c
+ Python-$(PYTHON_VERSION)/Python/formatter_unicode.c
+ Python-$(PYTHON_VERSION)/Python/frozen.c
+ Python-$(PYTHON_VERSION)/Python/future.c
+ Python-$(PYTHON_VERSION)/Python/getargs.c
+ Python-$(PYTHON_VERSION)/Python/getcompiler.c
+ Python-$(PYTHON_VERSION)/Python/getopt.c
+ Python-$(PYTHON_VERSION)/Python/getplatform.c
+ Python-$(PYTHON_VERSION)/Python/getversion.c
+ Python-$(PYTHON_VERSION)/Python/graminit.c
+ Python-$(PYTHON_VERSION)/Python/import.c
+ Python-$(PYTHON_VERSION)/Python/importdl.c
+ Python-$(PYTHON_VERSION)/Python/modsupport.c
+ Python-$(PYTHON_VERSION)/Python/mysnprintf.c
+ Python-$(PYTHON_VERSION)/Python/mystrtoul.c
+ Python-$(PYTHON_VERSION)/Python/peephole.c
+ Python-$(PYTHON_VERSION)/Python/pyarena.c
+ Python-$(PYTHON_VERSION)/Python/pyctype.c
+ Python-$(PYTHON_VERSION)/Python/pyfpe.c
+ Python-$(PYTHON_VERSION)/Python/pymath.c
+ Python-$(PYTHON_VERSION)/Python/pystate.c
+ Python-$(PYTHON_VERSION)/Python/pystrcmp.c
+ Python-$(PYTHON_VERSION)/Python/pystrtod.c
+ Python-$(PYTHON_VERSION)/Python/Python-ast.c
+ Python-$(PYTHON_VERSION)/Python/pythonrun.c
+ Python-$(PYTHON_VERSION)/Python/structmember.c
+ Python-$(PYTHON_VERSION)/Python/symtable.c
+ Python-$(PYTHON_VERSION)/Python/sysmodule.c
+ Python-$(PYTHON_VERSION)/Python/traceback.c
+
+#Objects
+ Python-$(PYTHON_VERSION)/Objects/abstract.c
+ Python-$(PYTHON_VERSION)/Objects/boolobject.c
+ Python-$(PYTHON_VERSION)/Objects/bufferobject.c
+ Python-$(PYTHON_VERSION)/Objects/bytearrayobject.c
+ Python-$(PYTHON_VERSION)/Objects/bytes_methods.c
+ Python-$(PYTHON_VERSION)/Objects/capsule.c
+ Python-$(PYTHON_VERSION)/Objects/cellobject.c
+ Python-$(PYTHON_VERSION)/Objects/classobject.c
+ Python-$(PYTHON_VERSION)/Objects/cobject.c
+ Python-$(PYTHON_VERSION)/Objects/codeobject.c
+ Python-$(PYTHON_VERSION)/Objects/complexobject.c
+ Python-$(PYTHON_VERSION)/Objects/descrobject.c
+ Python-$(PYTHON_VERSION)/Objects/dictobject.c
+ Python-$(PYTHON_VERSION)/Objects/enumobject.c
+ Python-$(PYTHON_VERSION)/Objects/exceptions.c
+ Python-$(PYTHON_VERSION)/Objects/fileobject.c
+ Python-$(PYTHON_VERSION)/Objects/floatobject.c
+ Python-$(PYTHON_VERSION)/Objects/frameobject.c
+ Python-$(PYTHON_VERSION)/Objects/funcobject.c
+ Python-$(PYTHON_VERSION)/Objects/genobject.c
+ Python-$(PYTHON_VERSION)/Objects/intobject.c
+ Python-$(PYTHON_VERSION)/Objects/iterobject.c
+ Python-$(PYTHON_VERSION)/Objects/listobject.c
+ Python-$(PYTHON_VERSION)/Objects/longobject.c
+ Python-$(PYTHON_VERSION)/Objects/memoryobject.c
+ Python-$(PYTHON_VERSION)/Objects/methodobject.c
+ Python-$(PYTHON_VERSION)/Objects/moduleobject.c
+ Python-$(PYTHON_VERSION)/Objects/object.c
+ Python-$(PYTHON_VERSION)/Objects/obmalloc.c
+ Python-$(PYTHON_VERSION)/Objects/rangeobject.c
+ Python-$(PYTHON_VERSION)/Objects/setobject.c
+ Python-$(PYTHON_VERSION)/Objects/sliceobject.c
+ Python-$(PYTHON_VERSION)/Objects/stringobject.c
+ Python-$(PYTHON_VERSION)/Objects/structseq.c
+ Python-$(PYTHON_VERSION)/Objects/tupleobject.c
+ Python-$(PYTHON_VERSION)/Objects/typeobject.c
+ Python-$(PYTHON_VERSION)/Objects/unicodectype.c
+ Python-$(PYTHON_VERSION)/Objects/unicodeobject.c
+ Python-$(PYTHON_VERSION)/Objects/weakrefobject.c
#Modules -- See Efi/config.c
- PyMod-2.7.2/Modules/_sre.c
- PyMod-2.7.2/Modules/errnomodule.c
- PyMod-2.7.2/Modules/selectmodule.c
-
- Python-2.7.2/Modules/getbuildinfo.c
- Python-2.7.2/Modules/main.c
- Python-2.7.2/Modules/python.c
-
- Python-2.7.2/Modules/_bisectmodule.c
- Python-2.7.2/Modules/_codecsmodule.c
- Python-2.7.2/Modules/_collectionsmodule.c
- Python-2.7.2/Modules/_functoolsmodule.c
- Python-2.7.2/Modules/_heapqmodule.c
- Python-2.7.2/Modules/_json.c
- Python-2.7.2/Modules/_math.c
- Python-2.7.2/Modules/_randommodule.c
- Python-2.7.2/Modules/_struct.c
- Python-2.7.2/Modules/_weakref.c
- Python-2.7.2/Modules/arraymodule.c
- Python-2.7.2/Modules/binascii.c
- Python-2.7.2/Modules/cmathmodule.c
- Python-2.7.2/Modules/cPickle.c
- Python-2.7.2/Modules/cStringIO.c
- Python-2.7.2/Modules/datetimemodule.c
- Python-2.7.2/Modules/future_builtins.c
- Python-2.7.2/Modules/gcmodule.c
- Python-2.7.2/Modules/itertoolsmodule.c
- Python-2.7.2/Modules/mathmodule.c
- Python-2.7.2/Modules/md5.c
- Python-2.7.2/Modules/md5module.c
- Python-2.7.2/Modules/operator.c
- Python-2.7.2/Modules/parsermodule.c
- Python-2.7.2/Modules/shamodule.c
- Python-2.7.2/Modules/sha256module.c
- Python-2.7.2/Modules/sha512module.c
- Python-2.7.2/Modules/signalmodule.c
- Python-2.7.2/Modules/socketmodule.c
- Python-2.7.2/Modules/stropmodule.c
- Python-2.7.2/Modules/timemodule.c
- Python-2.7.2/Modules/xxsubtype.c
-
-# Python-$(PYTHON_VERSION)/Modules/_csv.c
-# Python-$(PYTHON_VERSION)/Modules/symtablemodule.c
-# Python-$(PYTHON_VERSION)/Modules/_localemodule.c
-# Python-$(PYTHON_VERSION)/Modules/rotatingtree.c
-# Python-$(PYTHON_VERSION)/Modules/threadmodule.c
-# Python-$(PYTHON_VERSION)/Modules/zipimport.c
-# Python-$(PYTHON_VERSION)/Modules/zlibmodule.c
+ # Mandatory Modules -- These must always be built in.
+ PyMod-$(PYTHON_VERSION)/Modules/errnomodule.c
+ Python-$(PYTHON_VERSION)/Modules/_functoolsmodule.c
+ Python-$(PYTHON_VERSION)/Modules/gcmodule.c
+ Python-$(PYTHON_VERSION)/Modules/getbuildinfo.c
+ Python-$(PYTHON_VERSION)/Modules/main.c
+ Python-$(PYTHON_VERSION)/Modules/python.c
+
+ # Optional Modules -- See Python/Efi/config.c
+ PyMod-$(PYTHON_VERSION)/Modules/_sre.c #
+ PyMod-$(PYTHON_VERSION)/Modules/selectmodule.c #
+ #
+ Python-$(PYTHON_VERSION)/Modules/_bisectmodule.c #
+ Python-$(PYTHON_VERSION)/Modules/_codecsmodule.c #
+ Python-$(PYTHON_VERSION)/Modules/_collectionsmodule.c #
+ Python-$(PYTHON_VERSION)/Modules/_heapqmodule.c #
+ Python-$(PYTHON_VERSION)/Modules/_json.c #
+ Python-$(PYTHON_VERSION)/Modules/_localemodule.c #
+ Python-$(PYTHON_VERSION)/Modules/_math.c #
+ Python-$(PYTHON_VERSION)/Modules/_randommodule.c #
+ Python-$(PYTHON_VERSION)/Modules/_struct.c #
+ Python-$(PYTHON_VERSION)/Modules/_weakref.c #
+ Python-$(PYTHON_VERSION)/Modules/arraymodule.c #
+ Python-$(PYTHON_VERSION)/Modules/binascii.c #
+ Python-$(PYTHON_VERSION)/Modules/cmathmodule.c #
+ Python-$(PYTHON_VERSION)/Modules/cPickle.c #
+ Python-$(PYTHON_VERSION)/Modules/cStringIO.c #
+ Python-$(PYTHON_VERSION)/Modules/datetimemodule.c #
+ Python-$(PYTHON_VERSION)/Modules/future_builtins.c #
+ Python-$(PYTHON_VERSION)/Modules/itertoolsmodule.c #
+ Python-$(PYTHON_VERSION)/Modules/mathmodule.c #
+ Python-$(PYTHON_VERSION)/Modules/md5.c #
+ Python-$(PYTHON_VERSION)/Modules/md5module.c #
+ Python-$(PYTHON_VERSION)/Modules/operator.c #
+ Python-$(PYTHON_VERSION)/Modules/parsermodule.c #
+ Python-$(PYTHON_VERSION)/Modules/shamodule.c #
+ Python-$(PYTHON_VERSION)/Modules/sha256module.c #
+ Python-$(PYTHON_VERSION)/Modules/sha512module.c #
+ Python-$(PYTHON_VERSION)/Modules/signalmodule.c #
+ Python-$(PYTHON_VERSION)/Modules/socketmodule.c #
+ Python-$(PYTHON_VERSION)/Modules/stropmodule.c #
+ Python-$(PYTHON_VERSION)/Modules/timemodule.c #
+ Python-$(PYTHON_VERSION)/Modules/xxsubtype.c #
+ Python-$(PYTHON_VERSION)/Modules/zipimport.c #
+ Python-$(PYTHON_VERSION)/Modules/zlibmodule.c #
+
+# Python-$(PYTHON_VERSION)/Modules/_csv.c #
+# Python-$(PYTHON_VERSION)/Modules/symtablemodule.c #
#Modules/cjkcodecs
- Python-2.7.2/Modules/cjkcodecs/multibytecodec.c
- Python-2.7.2/Modules/cjkcodecs/_codecs_cn.c
- Python-2.7.2/Modules/cjkcodecs/_codecs_hk.c
- Python-2.7.2/Modules/cjkcodecs/_codecs_iso2022.c
- Python-2.7.2/Modules/cjkcodecs/_codecs_jp.c
- Python-2.7.2/Modules/cjkcodecs/_codecs_kr.c
- Python-2.7.2/Modules/cjkcodecs/_codecs_tw.c
-
+ Python-$(PYTHON_VERSION)/Modules/cjkcodecs/multibytecodec.c #
+ Python-$(PYTHON_VERSION)/Modules/cjkcodecs/_codecs_cn.c #
+ Python-$(PYTHON_VERSION)/Modules/cjkcodecs/_codecs_hk.c #
+ Python-$(PYTHON_VERSION)/Modules/cjkcodecs/_codecs_iso2022.c #
+ Python-$(PYTHON_VERSION)/Modules/cjkcodecs/_codecs_jp.c #
+ Python-$(PYTHON_VERSION)/Modules/cjkcodecs/_codecs_kr.c #
+ Python-$(PYTHON_VERSION)/Modules/cjkcodecs/_codecs_tw.c #
#Modules/_io
- Python-2.7.2/Modules/_io/_iomodule.c
- Python-2.7.2/Modules/_io/bufferedio.c
- Python-2.7.2/Modules/_io/bytesio.c
- Python-2.7.2/Modules/_io/fileio.c
- Python-2.7.2/Modules/_io/iobase.c
- Python-2.7.2/Modules/_io/stringio.c
- Python-2.7.2/Modules/_io/textio.c
+ Python-$(PYTHON_VERSION)/Modules/_io/_iomodule.c #
+ Python-$(PYTHON_VERSION)/Modules/_io/bufferedio.c #
+ Python-$(PYTHON_VERSION)/Modules/_io/bytesio.c #
+ Python-$(PYTHON_VERSION)/Modules/_io/fileio.c #
+ Python-$(PYTHON_VERSION)/Modules/_io/iobase.c #
+ Python-$(PYTHON_VERSION)/Modules/_io/stringio.c #
+ Python-$(PYTHON_VERSION)/Modules/_io/textio.c #
#Modules/zlib
-# Python-$(PYTHON_VERSION)/Modules/zlib/adler32.c
-# Python-$(PYTHON_VERSION)/Modules/zlib/compress.c
-# Python-$(PYTHON_VERSION)/Modules/zlib/crc32.c
-# Python-$(PYTHON_VERSION)/Modules/zlib/deflate.c
-# Python-$(PYTHON_VERSION)/Modules/zlib/gzio.c
-# Python-$(PYTHON_VERSION)/Modules/zlib/infback.c
-# Python-$(PYTHON_VERSION)/Modules/zlib/inffast.c
-# Python-$(PYTHON_VERSION)/Modules/zlib/inflate.c
-# Python-$(PYTHON_VERSION)/Modules/zlib/inftrees.c
-# Python-$(PYTHON_VERSION)/Modules/zlib/trees.c
-# Python-$(PYTHON_VERSION)/Modules/zlib/uncompr.c
-# Python-$(PYTHON_VERSION)/Modules/zlib/zutil.c
-
-#Objects
- Python-2.7.2/Objects/abstract.c
- Python-2.7.2/Objects/boolobject.c
- Python-2.7.2/Objects/bufferobject.c
- Python-2.7.2/Objects/bytearrayobject.c
- Python-2.7.2/Objects/bytes_methods.c
- Python-2.7.2/Objects/capsule.c
- Python-2.7.2/Objects/cellobject.c
- Python-2.7.2/Objects/classobject.c
- Python-2.7.2/Objects/cobject.c
- Python-2.7.2/Objects/codeobject.c
- Python-2.7.2/Objects/complexobject.c
- Python-2.7.2/Objects/descrobject.c
- Python-2.7.2/Objects/dictobject.c
- Python-2.7.2/Objects/enumobject.c
- Python-2.7.2/Objects/exceptions.c
- Python-2.7.2/Objects/fileobject.c
- Python-2.7.2/Objects/floatobject.c
- Python-2.7.2/Objects/frameobject.c
- Python-2.7.2/Objects/funcobject.c
- Python-2.7.2/Objects/genobject.c
- Python-2.7.2/Objects/intobject.c
- Python-2.7.2/Objects/iterobject.c
- Python-2.7.2/Objects/listobject.c
- Python-2.7.2/Objects/longobject.c
- Python-2.7.2/Objects/memoryobject.c
- Python-2.7.2/Objects/methodobject.c
- Python-2.7.2/Objects/moduleobject.c
- Python-2.7.2/Objects/object.c
- Python-2.7.2/Objects/obmalloc.c
- Python-2.7.2/Objects/rangeobject.c
- Python-2.7.2/Objects/setobject.c
- Python-2.7.2/Objects/sliceobject.c
- Python-2.7.2/Objects/stringobject.c
- Python-2.7.2/Objects/structseq.c
- Python-2.7.2/Objects/tupleobject.c
- Python-2.7.2/Objects/typeobject.c
- Python-2.7.2/Objects/unicodectype.c
- Python-2.7.2/Objects/unicodeobject.c
- Python-2.7.2/Objects/weakrefobject.c
+ Python-$(PYTHON_VERSION)/Modules/zlib/adler32.c #
+ Python-$(PYTHON_VERSION)/Modules/zlib/compress.c #
+ Python-$(PYTHON_VERSION)/Modules/zlib/crc32.c #
+ Python-$(PYTHON_VERSION)/Modules/zlib/deflate.c #
+ Python-$(PYTHON_VERSION)/Modules/zlib/gzio.c #
+ Python-$(PYTHON_VERSION)/Modules/zlib/infback.c #
+ Python-$(PYTHON_VERSION)/Modules/zlib/inffast.c #
+ Python-$(PYTHON_VERSION)/Modules/zlib/inflate.c #
+ Python-$(PYTHON_VERSION)/Modules/zlib/inftrees.c #
+ Python-$(PYTHON_VERSION)/Modules/zlib/trees.c #
+ Python-$(PYTHON_VERSION)/Modules/zlib/uncompr.c #
+ Python-$(PYTHON_VERSION)/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\Ia32 /I$(WORKSPACE)\AppPkg\Applications\Python\Efi /I$(WORKSPACE)\AppPkg\Applications\Python\Python-2.7.2\Include
- 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-2.7.2\Include
+ 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
+ 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
GCC:*_*_IPF_SYMRENAME_FLAGS = --redefine-syms=$(WORKSPACE)/StdLib/GccSymRename.txt
diff --git a/AppPkg/Applications/Python/PythonReadMe.txt b/AppPkg/Applications/Python/PythonReadMe.txt
new file mode 100644
index 000000000..d16a9a2be
--- /dev/null
+++ b/AppPkg/Applications/Python/PythonReadMe.txt
@@ -0,0 +1,194 @@
+ EDK II Python
+ ReadMe
+ Beta Release
+ 23 Mar. 2012
+
+
+1. OVERVIEW
+===========
+This document is devoted to general information on building and setup of the
+Python environment for UEFI 2.3, the invocation of the interpreter, and things
+that make working with Python easier.
+
+It is assumed that you already have either UDK2010 or a current snapshot of
+the EDK II sources from www.tianocore.org, and that you can successfully build
+packages within that distribution.
+
+2. Release Notes
+================
+ 1) There is no input line editing. Backspace, ^C, etc. do not work.
+ 2) All C extension modules must be statically linked (built in)
+ 3) The site and os modules must exist as discrete files in ...\lib\python.27
+
+3. Getting and Building the latest version of Python
+======================================================
+ 3.1 Getting Python
+ ==================
+ Currently only version 2.7.2 of the CPython distribution is supported. The
+ source code can be downloaded from http://www.python.org/download/source/.
+
+ A. Within your EDK II development tree, extract the Python distribution into
+ AppPkg/Applications/Python. This should create the
+ AppPkg/Applications/Python/Python-2.7.2 directory.
+
+ B. Copy the files from PyMod-2.7.2 into the corresponding directories within
+ the Python-2.7.2 tree. This will overwrite existing files with files
+ modified for UEFI usage.
+
+ 3.2 Building Python
+ ===================
+ A. Edit Efi/config.c to enable the built-in modules you need.
+ Mandatory Built-in Modules:
+ edk2 errno imp marshal
+
+ Additional built-in modules which are required to use the help()
+ functionality provided by PyDoc, are:
+ _codecs _collections _functools _random
+ _sre _struct _weakref binascii
+ cStringIO gc itertools math
+ operator time
+
+ B. Edit AppPkg/AppPkg.dsc to enable (uncomment) the PythonCore.inf line
+ within the [Components] section.
+
+ C. Build AppPkg, which includes Python, using the standard "build" command:
+ For example, to build Python for an X64 CPU architecture:
+ build -a X64 -p AppPkg\AppPkg.dsc
+
+4. Python-related paths and files
+=================================
+Python depends upon the existence of several directories and files on the
+target system.
+
+ \EFI Root of the UEFI system area.
+ |- \Tools Location of the Python.efi executable.
+ |- \Boot UEFI specified Boot directory.
+ |- \StdLib Root of the Standard Libraries sub-tree.
+ |- \etc Configuration files used by libraries.
+ |- \tmp Temporary files created by tmpfile(), etc.
+ |- \lib Root of the libraries tree.
+ |- \python.27 Directory containing the Python library modules.
+ |- \lib-dynload Dynamically loadable Python extensions.
+ |- \site-packages Site-specific packages and modules.
+
+
+5. Installing Python
+====================
+These directories, on the target system, are populated from the development
+system as follows:
+
+ * \Efi\Tools receives a copy of Build/AppPkg/DEBUG_VS2005/X64/Python.efi.
+ ^^^^^ ^^^^^^
+ Modify the host path to match the your build type and compiler.
+
+ * The \Efi\StdLib\etc directory is populated from the StdLib/Efi/StdLib/etc
+ source directory.
+
+ * Directory \Efi\StdLib\lib\python.27 is populated with packages and modules
+ from the AppPkg/Applications/Python/Python-2.7.2/Lib directory.
+ The recommended minimum set of modules (.py, .pyc, and/or .pyo):
+ os stat ntpath warnings traceback
+ site types copy_reg linecache genericpath
+
+ * Python C Extension Modules built as dynamically loadable extensions go into
+ the \Efi\StdLib\lib\python.27\lib-dynload directory.
+
+
+6. Example: Enabling socket support
+===================================
+ 1. enable {"_socket", init_socket}, in Efi\config.c
+ 2. enable Python-2.7.2/Modules/socketmodule.c in PythonCore.inf.
+ 3. copy socket.py over to /Efi/StdLib/lib/python.27 on your target system.
+ 4. Make sure dependent modules are present(.py) or built in(.c):
+ functools, types, os, sys, warnings, cStringIO, StringIO, errno
+
+ 5. build -a X64 -p AppPkg\AppPkg.dsc
+ 6. copy Build\AppPkg\DEBUG_VS2005\X64\Python.efi to \Efi\Tools on your target system.
+ ^^^^ Modify as needed
+
+
+7. Supported C Modules
+======================
+ Module Name C File(s)
+ =============== =============================================
+ _ast Python/Python-ast.c
+ _bisect Modules/_bisectmodule.c
+ _codecs Modules/_codecsmodule.c
+ _codecs_cn Modules/cjkcodecs/_codecs_cn.c
+ _codecs_hk Modules/cjkcodecs/_codecs_hk.c
+ _codecs_iso2022 Modules/cjkcodecs/_codecs_iso2022.c
+ _codecs_jp Modules/cjkcodecs/_codecs_jp
+ _codecs_kr Modules/cjkcodecs/_codecs_kr
+ _codecs_tw Modules/cjkcodecs/_codecs_tw
+ _collections Modules/_collectionsmodule.c
+ _csv Modules/_csv.c
+ _functools Modules/_functoolsmodule.c
+ _heapq Modules/_heapqmodule.c
+ _io Modules/_io/_iomodule.c Modules/_io/*
+ _json Modules/_json.c
+ _md5 Modules/md5module.c Modules/md5.c
+ _multibytecodec Modules/cjkcodecs/_multibytecodec.c
+ _random Modules/_randommodule.c
+ _sha Modules/shamodule.c
+ _sha256 Modules/sha256module.c
+ _sha512 Modules/sha512module.c
+ _socket Modules/socketmodule.c
+ _sre Modules/_sre.c
+ _struct Modules/_struct.c
+ _symtable Modules/symtablemodule.c
+ _weakref Modules/_weakref.c
+ array Modules/arraymodule.c
+ binascii Modules/binascii.c
+ cmath Modules/cmathmodule.c
+ cPickle Modules/cPickle.c
+ cStringIO Modules/cStringIO.c
+ datetime Modules/datetimemodule.c
+ edk2 Modules/Efi/edk2module.c
+ errno Modules/errnomodule.c
+ future_builtins Modules/future_builtins.c
+ gc Modules/gcmodule.c
+ imp Python/import.c
+ itertools Modules/itertoolsmodule.c
+ marshal Python/marshal.c
+ math Modules/mathmodule.c Modules/_math.c
+ operator Modules/operator.c
+ parser Modules/parsermodule.c
+ select Modules/selectmodule.c
+ signal Modules/signalmodule.c
+ strop Modules/stropmodule.c
+ time Modules/timemodule.c
+ xxsubtype Modules/xxsubtype.c
+ zipimport Modules/zipimport.c
+ zlib Modules/zlibmodule.c Modules/zlib/*
+
+
+8. Tested Python Library Modules
+================================
+This is a partial list of the packages and modules of the Python Standard
+Library that have been tested or used in some manner.
+
+ encodings genericpath.py sha.py
+ importlib getopt.py SimpleHTTPServer.py
+ json hashlib.py site.py
+ pydoc_data heapq.py socket.py
+ xml HTMLParser.py SocketServer.py
+ abc.py inspect.py sre.py
+ argparse.py io.py sre_compile.py
+ ast.py keyword.py sre_constants.py
+ atexit.py linecache.py sre_parse.py
+ BaseHTTPServer.py locale.py stat.py
+ binhex.py md5.py string.py
+ bisect.py modulefinder.py StringIO.py
+ calendar.py ntpath.py struct.py
+ cmd.py numbers.py textwrap.py
+ codecs.py optparse.py token.py
+ collections.py os.py tokenize.py
+ copy.py platform.py traceback.py
+ copy_reg.py posixpath.py types.py
+ csv.py pydoc.py warnings.py
+ dummy_thread.py random.py weakref.py
+ fileinput.py re.py xmllib.py
+ formatter.py repr.py zipfile.py
+ functools.py runpy.py
+
+# # #
diff --git a/AppPkg/Applications/Python/X64/pyconfig.h b/AppPkg/Applications/Python/X64/pyconfig.h
index ef95d1be6..ddb00c6f4 100644
--- a/AppPkg/Applications/Python/X64/pyconfig.h
+++ b/AppPkg/Applications/Python/X64/pyconfig.h
@@ -1,7 +1,7 @@
/** @file
Manually generated Python Configuration file for EDK II.
- Copyright (c) 2011, Intel Corporation. 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 that accompanies this distribution.
The full text of the license may be found at
@@ -15,10 +15,7 @@
#include <Uefi.h>
-/* Define to indicate that code is being built to run in the UEFI Environment. */
-#define UEFI_ENV EFI_SYSTEM_TABLE_REVISION
-
-#define PLATFORM "UEFI"
+#define PLATFORM "uefi"
/* Define if building universal (internal helper macro) */
#undef AC_APPLE_UNIVERSAL_BUILD
@@ -813,6 +810,9 @@
/* Define to 1 if you have the <sys/wait.h> header file. */
#undef HAVE_SYS_WAIT_H
+/* Define to 1 if you have the system() command. */
+#define HAVE_SYSTEM 1
+
/* Define to 1 if you have the `tcgetpgrp' function. */
#undef HAVE_TCGETPGRP
@@ -938,7 +938,7 @@
#define PACKAGE_NAME "EDK II Python Package"
/* Define to the full name and version of this package. */
-#define PACKAGE_STRING "EDK II Python Package V0.2"
+#define PACKAGE_STRING "EDK II Python Package V0.8"
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "EADK_Python"
@@ -947,7 +947,7 @@
#define PACKAGE_URL "http://edk2.tianocore.org/toolkit/python"
/* Define to the version of this package. */
-#define PACKAGE_VERSION "V0.2"
+#define PACKAGE_VERSION "V0.8"
/* Define if POSIX semaphores aren't enabled on your system */
#define POSIX_SEMAPHORES_NOT_ENABLED 1
@@ -1095,7 +1095,7 @@
/* Define if you want wctype.h functions to be used instead of the one
supplied by Python itself. (see Include/unicodectype.h). */
-#undef WANT_WCTYPE_FUNCTIONS
+#define WANT_WCTYPE_FUNCTIONS 1
/* Define if WINDOW in curses.h offers a field _flags. */
#undef WINDOW_HAS_FLAGS
@@ -1164,7 +1164,9 @@
#undef _MINIX
/* Define on NetBSD to activate all library features */
-#define _NETBSD_SOURCE
+#ifndef _NETBSD_SOURCE
+ #define _NETBSD_SOURCE 1
+#endif
/* Define _OSF_SOURCE to get the makedev macro. */
#undef _OSF_SOURCE