Patch #445762: Support --disable-unicode
- Do not compile unicodeobject, unicodectype, and unicodedata if Unicode is disabled
- check for Py_USING_UNICODE in all places that use Unicode functions
- disables unicode literals, and the builtin functions
- add the types.StringTypes list
- remove Unicode literals from most tests.
diff --git a/Python/marshal.c b/Python/marshal.c
index 008659d..5ef11ef 100644
--- a/Python/marshal.c
+++ b/Python/marshal.c
@@ -187,6 +187,7 @@
 		w_long((long)n, p);
 		w_string(PyString_AS_STRING(v), n, p);
 	}
+#ifdef Py_USING_UNICODE
 	else if (PyUnicode_Check(v)) {
 	        PyObject *utf8;
 		utf8 = PyUnicode_AsUTF8String(v);
@@ -201,6 +202,7 @@
 		w_string(PyString_AS_STRING(utf8), n, p);
 		Py_DECREF(utf8);
 	}
+#endif
 	else if (PyTuple_Check(v)) {
 		w_byte(TYPE_TUPLE, p);
 		n = PyTuple_Size(v);
@@ -472,6 +474,7 @@
 		}
 		return v;
 
+#ifdef Py_USING_UNICODE
 	case TYPE_UNICODE:
 	    {
 		char *buffer;
@@ -494,6 +497,7 @@
 		PyMem_DEL(buffer);
 		return v;
 	    }
+#endif
 
 	case TYPE_TUPLE:
 		n = r_long(p);