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
This commit is contained in:
@@ -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},
|
||||
|
@@ -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;
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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()");
|
||||
|
@@ -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
|
||||
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
PyMod-$(PYTHON_VERSION)/Python/getcopyright.c
|
||||
PyMod-$(PYTHON_VERSION)/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
|
||||
|
||||
#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
|
||||
|
||||
#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
|
||||
|
||||
|
||||
#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
|
||||
|
||||
#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
|
||||
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-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)/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
|
||||
# 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-$(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-$(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 #
|
||||
|
||||
[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
|
||||
|
194
AppPkg/Applications/Python/PythonReadMe.txt
Normal file
194
AppPkg/Applications/Python/PythonReadMe.txt
Normal file
@@ -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
|
||||
|
||||
# # #
|
@@ -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
|
||||
|
Reference in New Issue
Block a user