diff --git a/Modules/_testcapimodule.c b/Modules/_testcapimodule.c
index 69f59fc..f306b1c 100644
--- a/Modules/_testcapimodule.c
+++ b/Modules/_testcapimodule.c
@@ -1824,7 +1824,7 @@
     Py_RETURN_NONE;
 }
 
-#ifdef Py_USING_UNICODE
+#if defined(Py_USING_UNICODE) && !defined(Py_BUILD_CORE)
 static int test_run_counter = 0;
 
 static PyObject *
@@ -2486,7 +2486,7 @@
     {"raise_exception",         raise_exception,                 METH_VARARGS},
     {"set_errno",               set_errno,                       METH_VARARGS},
     {"test_config",             (PyCFunction)test_config,        METH_NOARGS},
-#ifdef Py_USING_UNICODE
+#if defined(Py_USING_UNICODE) && !defined(Py_BUILD_CORE)
     {"test_datetime_capi",  test_datetime_capi,              METH_NOARGS},
 #endif
     {"test_list_api",           (PyCFunction)test_list_api,      METH_NOARGS},
diff --git a/Modules/config.c b/Modules/config.c
new file mode 100644
index 0000000..4f0e55e
--- /dev/null
+++ b/Modules/config.c
@@ -0,0 +1,172 @@
+/* Generated automatically from ./Modules/config.c.in by makesetup. */
+/* -*- C -*- ***********************************************
+Copyright (c) 2000, BeOpen.com.
+Copyright (c) 1995-2000, Corporation for National Research Initiatives.
+Copyright (c) 1990-1995, Stichting Mathematisch Centrum.
+All rights reserved.
+
+See the file "Misc/COPYRIGHT" for information on usage and
+redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+******************************************************************/
+
+/* Module configuration */
+
+/* !!! !!! !!! This file is edited by the makesetup script !!! !!! !!! */
+
+/* This file contains the table of built-in modules.
+   See init_builtin() in import.c. */
+
+#include "Python.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+extern void initthread(void);
+extern void initsignal(void);
+extern void initposix(void);
+extern void initerrno(void);
+extern void initpwd(void);
+extern void init_sre(void);
+extern void init_codecs(void);
+extern void init_weakref(void);
+extern void initzipimport(void);
+extern void init_symtable(void);
+extern void initarray(void);
+extern void initcmath(void);
+extern void initmath(void);
+extern void init_struct(void);
+extern void inittime(void);
+extern void initoperator(void);
+extern void init_testcapi(void);
+extern void init_random(void);
+extern void init_collections(void);
+extern void init_heapq(void);
+extern void inititertools(void);
+extern void initstrop(void);
+extern void init_functools(void);
+extern void initdatetime(void);
+extern void init_bisect(void);
+extern void initunicodedata(void);
+extern void init_io(void);
+extern void initfcntl(void);
+extern void initselect(void);
+extern void initmmap(void);
+extern void init_csv(void);
+extern void init_socket(void);
+extern void inittermios(void);
+extern void init_md5(void);
+extern void init_sha(void);
+extern void init_sha256(void);
+extern void init_sha512(void);
+extern void initbinascii(void);
+extern void initparser(void);
+extern void initcStringIO(void);
+extern void initcPickle(void);
+extern void initxxsubtype(void);
+extern void initfuture_builtins(void);
+extern void init_json(void);
+extern void init_hotshot(void);
+extern void init_lsprof(void);
+extern void initgrp(void);
+extern void initsyslog(void);
+extern void initaudioop(void);
+extern void initresource(void);
+extern void init_multibytecodec(void);
+extern void init_multiprocessing(void);
+
+/* -- ADDMODULE MARKER 1 -- */
+
+extern void PyMarshal_Init(void);
+extern void initimp(void);
+extern void initgc(void);
+extern void init_ast(void);
+extern void _PyWarnings_Init(void);
+
+struct _inittab _PyImport_Inittab[] = {
+
+    {"thread", initthread},
+    {"signal", initsignal},
+    {"posix", initposix},
+    {"errno", initerrno},
+    {"pwd", initpwd},
+    {"_sre", init_sre},
+    {"_codecs", init_codecs},
+    {"_weakref", init_weakref},
+    {"zipimport", initzipimport},
+    {"_symtable", init_symtable},
+    {"array", initarray},
+    {"cmath", initcmath},
+    {"math", initmath},
+    {"_struct", init_struct},
+    {"time", inittime},
+    {"operator", initoperator},
+    {"_testcapi", init_testcapi},
+    {"_random", init_random},
+    {"_collections", init_collections},
+    {"_heapq", init_heapq},
+    {"itertools", inititertools},
+    {"strop", initstrop},
+    {"_functools", init_functools},
+    {"datetime", initdatetime},
+    {"_bisect", init_bisect},
+    {"unicodedata", initunicodedata},
+    {"_io", init_io},
+    {"fcntl", initfcntl},
+    {"select", initselect},
+    {"mmap", initmmap},
+    {"_csv", init_csv},
+    {"_socket", init_socket},
+    {"termios", inittermios},
+    {"_md5", init_md5},
+    {"_sha", init_sha},
+    {"_sha256", init_sha256},
+    {"_sha512", init_sha512},
+    {"binascii", initbinascii},
+    {"parser", initparser},
+    {"cStringIO", initcStringIO},
+    {"cPickle", initcPickle},
+    {"xxsubtype", initxxsubtype},
+    {"future_builtins", initfuture_builtins},
+    {"_json", init_json},
+    {"_hotshot", init_hotshot},
+    {"_lsprof", init_lsprof},
+    {"grp", initgrp},
+    {"syslog", initsyslog},
+    {"audioop", initaudioop},
+    {"resource", initresource},
+    {"_multibytecodec", init_multibytecodec},
+    {"_multiprocessing", init_multiprocessing},
+
+/* -- ADDMODULE MARKER 2 -- */
+
+    /* This module lives in marshal.c */
+    {"marshal", PyMarshal_Init},
+
+    /* This lives in import.c */
+    {"imp", initimp},
+
+    /* This lives in Python/Python-ast.c */
+    {"_ast", init_ast},
+
+    /* These entries are here for sys.builtin_module_names */
+    {"__main__", NULL},
+    {"__builtin__", NULL},
+    {"sys", NULL},
+    {"exceptions", NULL},
+
+    /* This lives in gcmodule.c */
+    {"gc", initgc},
+
+    /* This lives in _warnings.c */
+    {"_warnings", _PyWarnings_Init},
+
+    /* Sentinel */
+    {0, 0}
+};
+
+
+#ifdef __cplusplus
+}
+#endif
