diff --git a/Include/accessobject.h b/Include/accessobject.h
index 47f9895..0ea60fc 100644
--- a/Include/accessobject.h
+++ b/Include/accessobject.h
@@ -46,7 +46,7 @@
 #define AC_R_PUBLIC	0004
 #define AC_W_PUBLIC	0002
 
-extern DL_IMPORT PyTypeObject PyAccess_Type;
+extern DL_IMPORT(PyTypeObject) PyAccess_Type;
 
 #define PyAccess_Check(v) ((v)->ob_type == &PyAccess_Type)
 
@@ -58,7 +58,7 @@
 PyObject *PyAccess_Clone Py_PROTO((PyObject *));
 int PyAccess_HasValue Py_PROTO((PyObject *));
 
-extern DL_IMPORT PyTypeObject PyAnyNumber_Type, PyAnySequence_Type, PyAnyMapping_Type;
+extern DL_IMPORT(PyTypeObject) PyAnyNumber_Type, PyAnySequence_Type, PyAnyMapping_Type;
 
 #ifdef __cplusplus
 }
diff --git a/Include/allobjects.h b/Include/allobjects.h
index 6dbdb1e..b156e2e 100644
--- a/Include/allobjects.h
+++ b/Include/allobjects.h
@@ -35,12 +35,16 @@
  only turned on for the modules built as DL modules, not for python
  itself.
 */
-#define DL_IMPORT /* Save lots of #else/#if's */
+#define DL_IMPORT( RTYPE ) RTYPE /* Save lots of #else/#if's */
 #ifdef USE_DL_IMPORT
 #ifdef NT
 #undef DL_IMPORT
-#define DL_IMPORT __declspec(dllimport)
+#define DL_IMPORT(RTYPE) __declspec(dllimport) RTYPE
 #endif /* NT */
+#ifdef __BORLANDC__
+#undef DL_IMPORT
+#define DL_IMPORT(RTYPE)  RTYPE __import
+#endif /* BORLANDC */
 #endif /* USE_DL_IMPORT */
 
 #ifdef HAVE_CONFIG_H
diff --git a/Include/classobject.h b/Include/classobject.h
index 9810009..f87d02e 100644
--- a/Include/classobject.h
+++ b/Include/classobject.h
@@ -55,7 +55,7 @@
 	PyObject	*in_dict;	/* A dictionary */
 } PyInstanceObject;
 
-extern DL_IMPORT PyTypeObject PyClass_Type, PyInstance_Type, PyMethod_Type;
+extern DL_IMPORT(PyTypeObject) PyClass_Type, PyInstance_Type, PyMethod_Type;
 
 #define PyClass_Check(op) ((op)->ob_type == &PyClass_Type)
 #define PyInstance_Check(op) ((op)->ob_type == &PyInstance_Type)
diff --git a/Include/compile.h b/Include/compile.h
index 4513d28..f311a4b 100644
--- a/Include/compile.h
+++ b/Include/compile.h
@@ -47,7 +47,7 @@
 	PyObject *co_name;	/* string */
 } PyCodeObject;
 
-extern DL_IMPORT PyTypeObject PyCode_Type;
+extern DL_IMPORT(PyTypeObject) PyCode_Type;
 
 #define PyCode_Check(op) ((op)->ob_type == &PyCode_Type)
 
diff --git a/Include/errors.h b/Include/errors.h
index 893bc90..3307b36 100755
--- a/Include/errors.h
+++ b/Include/errors.h
@@ -40,25 +40,25 @@
 
 /* Predefined exceptions */
 
-extern DL_IMPORT PyObject *PyExc_AccessError;
-extern DL_IMPORT PyObject *PyExc_AttributeError;
-extern DL_IMPORT PyObject *PyExc_ConflictError;
-extern DL_IMPORT PyObject *PyExc_EOFError;
-extern DL_IMPORT PyObject *PyExc_IOError;
-extern DL_IMPORT PyObject *PyExc_ImportError;
-extern DL_IMPORT PyObject *PyExc_IndexError;
-extern DL_IMPORT PyObject *PyExc_KeyError;
-extern DL_IMPORT PyObject *PyExc_KeyboardInterrupt;
-extern DL_IMPORT PyObject *PyExc_MemoryError;
-extern DL_IMPORT PyObject *PyExc_NameError;
-extern DL_IMPORT PyObject *PyExc_OverflowError;
-extern DL_IMPORT PyObject *PyExc_RuntimeError;
-extern DL_IMPORT PyObject *PyExc_SyntaxError;
-extern DL_IMPORT PyObject *PyExc_SystemError;
-extern DL_IMPORT PyObject *PyExc_SystemExit;
-extern DL_IMPORT PyObject *PyExc_TypeError;
-extern DL_IMPORT PyObject *PyExc_ValueError;
-extern DL_IMPORT PyObject *PyExc_ZeroDivisionError;
+extern DL_IMPORT(PyObject *) PyExc_AccessError;
+extern DL_IMPORT(PyObject *) PyExc_AttributeError;
+extern DL_IMPORT(PyObject *) PyExc_ConflictError;
+extern DL_IMPORT(PyObject *) PyExc_EOFError;
+extern DL_IMPORT(PyObject *) PyExc_IOError;
+extern DL_IMPORT(PyObject *) PyExc_ImportError;
+extern DL_IMPORT(PyObject *) PyExc_IndexError;
+extern DL_IMPORT(PyObject *) PyExc_KeyError;
+extern DL_IMPORT(PyObject *) PyExc_KeyboardInterrupt;
+extern DL_IMPORT(PyObject *) PyExc_MemoryError;
+extern DL_IMPORT(PyObject *) PyExc_NameError;
+extern DL_IMPORT(PyObject *) PyExc_OverflowError;
+extern DL_IMPORT(PyObject *) PyExc_RuntimeError;
+extern DL_IMPORT(PyObject *) PyExc_SyntaxError;
+extern DL_IMPORT(PyObject *) PyExc_SystemError;
+extern DL_IMPORT(PyObject *) PyExc_SystemExit;
+extern DL_IMPORT(PyObject *) PyExc_TypeError;
+extern DL_IMPORT(PyObject *) PyExc_ValueError;
+extern DL_IMPORT(PyObject *) PyExc_ZeroDivisionError;
 
 /* Convenience functions */
 
diff --git a/Include/fileobject.h b/Include/fileobject.h
index 85c98c6..9346624 100644
--- a/Include/fileobject.h
+++ b/Include/fileobject.h
@@ -30,7 +30,7 @@
 
 /* File object interface */
 
-extern DL_IMPORT PyTypeObject PyFile_Type;
+extern DL_IMPORT(PyTypeObject) PyFile_Type;
 
 #define PyFile_Check(op) ((op)->ob_type == &PyFile_Type)
 
diff --git a/Include/floatobject.h b/Include/floatobject.h
index 2feb0bc..ba23f77 100644
--- a/Include/floatobject.h
+++ b/Include/floatobject.h
@@ -39,7 +39,7 @@
 	double ob_fval;
 } PyFloatObject;
 
-extern DL_IMPORT PyTypeObject PyFloat_Type;
+extern DL_IMPORT(PyTypeObject) PyFloat_Type;
 
 #define PyFloat_Check(op) ((op)->ob_type == &PyFloat_Type)
 
diff --git a/Include/frameobject.h b/Include/frameobject.h
index 949016a..e0c94e0 100644
--- a/Include/frameobject.h
+++ b/Include/frameobject.h
@@ -61,7 +61,7 @@
 
 /* Standard object interface */
 
-extern DL_IMPORT PyTypeObject PyFrame_Type;
+extern DL_IMPORT(PyTypeObject) PyFrame_Type;
 
 #define PyFrame_Check(op) ((op)->ob_type == &PyFrame_Type)
 
diff --git a/Include/funcobject.h b/Include/funcobject.h
index d33cad7..f618363 100644
--- a/Include/funcobject.h
+++ b/Include/funcobject.h
@@ -40,7 +40,7 @@
 	PyObject *func_doc;
 } PyFunctionObject;
 
-extern DL_IMPORT PyTypeObject PyFunction_Type;
+extern DL_IMPORT(PyTypeObject) PyFunction_Type;
 
 #define PyFunction_Check(op) ((op)->ob_type == &PyFunction_Type)
 
diff --git a/Include/intobject.h b/Include/intobject.h
index 6e2344a..24bcbf0 100644
--- a/Include/intobject.h
+++ b/Include/intobject.h
@@ -50,7 +50,7 @@
 	long ob_ival;
 } PyIntObject;
 
-extern DL_IMPORT PyTypeObject PyInt_Type;
+extern DL_IMPORT(PyTypeObject) PyInt_Type;
 
 #define PyInt_Check(op) ((op)->ob_type == &PyInt_Type)
 
@@ -69,7 +69,7 @@
 Don't forget to apply Py_INCREF() when returning True or False!!!
 */
 
-extern DL_IMPORT PyIntObject _Py_ZeroStruct, _Py_TrueStruct; /* Don't use these directly */
+extern DL_IMPORT(PyIntObject) _Py_ZeroStruct, _Py_TrueStruct; /* Don't use these directly */
 
 #define Py_False ((PyObject *) &_Py_ZeroStruct)
 #define Py_True ((PyObject *) &_Py_TrueStruct)
diff --git a/Include/listobject.h b/Include/listobject.h
index 8e5e973..76b49be 100644
--- a/Include/listobject.h
+++ b/Include/listobject.h
@@ -49,7 +49,7 @@
 	PyObject **ob_item;
 } PyListObject;
 
-extern DL_IMPORT PyTypeObject PyList_Type;
+extern DL_IMPORT(PyTypeObject) PyList_Type;
 
 #define PyList_Check(op) ((op)->ob_type == &PyList_Type)
 
diff --git a/Include/longobject.h b/Include/longobject.h
index 2a34417..77e5efe 100644
--- a/Include/longobject.h
+++ b/Include/longobject.h
@@ -32,7 +32,7 @@
 
 typedef struct _longobject PyLongObject; /* Revealed in longintrepr.h */
 
-extern DL_IMPORT PyTypeObject PyLong_Type;
+extern DL_IMPORT(PyTypeObject) PyLong_Type;
 
 #define PyLong_Check(op) ((op)->ob_type == &PyLong_Type)
 
diff --git a/Include/mappingobject.h b/Include/mappingobject.h
index f8e838c..584ee5a 100644
--- a/Include/mappingobject.h
+++ b/Include/mappingobject.h
@@ -31,7 +31,7 @@
 /* Dictionary object type -- mapping from hashable object to object */
 /* NB Should be moved back to dictobject.h */
 
-extern DL_IMPORT PyTypeObject PyDict_Type;
+extern DL_IMPORT(PyTypeObject) PyDict_Type;
 
 #define PyDict_Check(op) ((op)->ob_type == &PyDict_Type)
 
diff --git a/Include/methodobject.h b/Include/methodobject.h
index 946d004..cbe3270 100644
--- a/Include/methodobject.h
+++ b/Include/methodobject.h
@@ -30,7 +30,7 @@
 
 /* Method object interface */
 
-extern DL_IMPORT PyTypeObject PyCFunction_Type;
+extern DL_IMPORT(PyTypeObject) PyCFunction_Type;
 
 #define PyCFunction_Check(op) ((op)->ob_type == &PyCFunction_Type)
 
diff --git a/Include/moduleobject.h b/Include/moduleobject.h
index 277f95d..f8eea9c 100644
--- a/Include/moduleobject.h
+++ b/Include/moduleobject.h
@@ -30,7 +30,7 @@
 
 /* Module object interface */
 
-extern DL_IMPORT PyTypeObject PyModule_Type;
+extern DL_IMPORT(PyTypeObject) PyModule_Type;
 
 #define PyModule_Check(op) ((op)->ob_type == &PyModule_Type)
 
diff --git a/Include/object.h b/Include/object.h
index 9c9b689..0b679d5 100644
--- a/Include/object.h
+++ b/Include/object.h
@@ -237,7 +237,7 @@
 #endif
 } PyTypeObject;
 
-extern DL_IMPORT PyTypeObject PyType_Type; /* The type of type objects */
+extern DL_IMPORT(PyTypeObject) PyType_Type; /* The type of type objects */
 
 #define PyType_Check(op) ((op)->ob_type == &PyType_Type)
 
@@ -353,7 +353,7 @@
 Don't forget to apply Py_INCREF() when returning this value!!!
 */
 
-extern DL_IMPORT PyObject _Py_NoneStruct; /* Don't use this directly */
+extern DL_IMPORT(PyObject) _Py_NoneStruct; /* Don't use this directly */
 
 #define Py_None (&_Py_NoneStruct)
 
diff --git a/Include/osdefs.h b/Include/osdefs.h
index 25c9c36..0c279f2 100644
--- a/Include/osdefs.h
+++ b/Include/osdefs.h
@@ -37,7 +37,7 @@
 #define DELIM '\n'
 #endif
 
-#if defined(MSDOS) || defined(NT)
+#if defined(MSDOS) || defined(NT) || defined(__BORLANDC__)
 #define SEP '\\'
 #define MAXPATHLEN 256
 #define DELIM ';'
diff --git a/Include/pyerrors.h b/Include/pyerrors.h
index 893bc90..3307b36 100644
--- a/Include/pyerrors.h
+++ b/Include/pyerrors.h
@@ -40,25 +40,25 @@
 
 /* Predefined exceptions */
 
-extern DL_IMPORT PyObject *PyExc_AccessError;
-extern DL_IMPORT PyObject *PyExc_AttributeError;
-extern DL_IMPORT PyObject *PyExc_ConflictError;
-extern DL_IMPORT PyObject *PyExc_EOFError;
-extern DL_IMPORT PyObject *PyExc_IOError;
-extern DL_IMPORT PyObject *PyExc_ImportError;
-extern DL_IMPORT PyObject *PyExc_IndexError;
-extern DL_IMPORT PyObject *PyExc_KeyError;
-extern DL_IMPORT PyObject *PyExc_KeyboardInterrupt;
-extern DL_IMPORT PyObject *PyExc_MemoryError;
-extern DL_IMPORT PyObject *PyExc_NameError;
-extern DL_IMPORT PyObject *PyExc_OverflowError;
-extern DL_IMPORT PyObject *PyExc_RuntimeError;
-extern DL_IMPORT PyObject *PyExc_SyntaxError;
-extern DL_IMPORT PyObject *PyExc_SystemError;
-extern DL_IMPORT PyObject *PyExc_SystemExit;
-extern DL_IMPORT PyObject *PyExc_TypeError;
-extern DL_IMPORT PyObject *PyExc_ValueError;
-extern DL_IMPORT PyObject *PyExc_ZeroDivisionError;
+extern DL_IMPORT(PyObject *) PyExc_AccessError;
+extern DL_IMPORT(PyObject *) PyExc_AttributeError;
+extern DL_IMPORT(PyObject *) PyExc_ConflictError;
+extern DL_IMPORT(PyObject *) PyExc_EOFError;
+extern DL_IMPORT(PyObject *) PyExc_IOError;
+extern DL_IMPORT(PyObject *) PyExc_ImportError;
+extern DL_IMPORT(PyObject *) PyExc_IndexError;
+extern DL_IMPORT(PyObject *) PyExc_KeyError;
+extern DL_IMPORT(PyObject *) PyExc_KeyboardInterrupt;
+extern DL_IMPORT(PyObject *) PyExc_MemoryError;
+extern DL_IMPORT(PyObject *) PyExc_NameError;
+extern DL_IMPORT(PyObject *) PyExc_OverflowError;
+extern DL_IMPORT(PyObject *) PyExc_RuntimeError;
+extern DL_IMPORT(PyObject *) PyExc_SyntaxError;
+extern DL_IMPORT(PyObject *) PyExc_SystemError;
+extern DL_IMPORT(PyObject *) PyExc_SystemExit;
+extern DL_IMPORT(PyObject *) PyExc_TypeError;
+extern DL_IMPORT(PyObject *) PyExc_ValueError;
+extern DL_IMPORT(PyObject *) PyExc_ZeroDivisionError;
 
 /* Convenience functions */
 
diff --git a/Include/rangeobject.h b/Include/rangeobject.h
index f8b466c..949e710 100644
--- a/Include/rangeobject.h
+++ b/Include/rangeobject.h
@@ -32,7 +32,7 @@
 they are represented by a start, stop, and step datamembers.
 */
 
-extern DL_IMPORT PyTypeObject PyRange_Type;
+extern DL_IMPORT(PyTypeObject) PyRange_Type;
 
 #define PyRange_Check(op) ((op)->ob_type == &PyRange_Type)
 
diff --git a/Include/stringobject.h b/Include/stringobject.h
index d3b6ce4..f5ebe78 100644
--- a/Include/stringobject.h
+++ b/Include/stringobject.h
@@ -55,7 +55,7 @@
 	char ob_sval[1];
 } PyStringObject;
 
-extern DL_IMPORT PyTypeObject PyString_Type;
+extern DL_IMPORT(PyTypeObject) PyString_Type;
 
 #define PyString_Check(op) ((op)->ob_type == &PyString_Type)
 
diff --git a/Include/sysmodule.h b/Include/sysmodule.h
index 8d31748..29e7bff 100644
--- a/Include/sysmodule.h
+++ b/Include/sysmodule.h
@@ -35,8 +35,8 @@
 FILE *PySys_GetFile Py_PROTO((char *, FILE *));
 void PySys_Init Py_PROTO((void));
 
-extern DL_IMPORT PyObject *_PySys_TraceFunc, *_PySys_ProfileFunc;
-extern DL_IMPORT int _PySys_CheckInterval;
+extern DL_IMPORT(PyObject *) _PySys_TraceFunc, *_PySys_ProfileFunc;
+extern DL_IMPORT(int) _PySys_CheckInterval;
 
 #ifdef __cplusplus
 }
diff --git a/Include/tupleobject.h b/Include/tupleobject.h
index ff60672..da76891 100644
--- a/Include/tupleobject.h
+++ b/Include/tupleobject.h
@@ -49,7 +49,7 @@
 	PyObject *ob_item[1];
 } PyTupleObject;
 
-extern DL_IMPORT PyTypeObject PyTuple_Type;
+extern DL_IMPORT(PyTypeObject) PyTuple_Type;
 
 #define PyTuple_Check(op) ((op)->ob_type == &PyTuple_Type)
 
