summaryrefslogtreecommitdiff
path: root/AppPkg/Applications/Python/Efi
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/Applications/Python/Efi
parent2df686c67c7819e01a1487dd703faffef2b59dce (diff)
downloadedk2-platforms-d78fab6b4e9be83b781212f6a9f3fde0c092e81d.tar.xz
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/Applications/Python/Efi')
-rw-r--r--AppPkg/Applications/Python/Efi/config.c44
-rw-r--r--AppPkg/Applications/Python/Efi/edk2module.c14
2 files changed, 30 insertions, 28 deletions
diff --git a/AppPkg/Applications/Python/Efi/config.c b/AppPkg/Applications/Python/Efi/config.c
index 4d7ae06c01..2fd6019abd 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 451bf473be..edc9c867f1 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;