mirror of
https://github.com/python/cpython.git
synced 2025-09-27 02:39:58 +00:00
SF patch #418147 Fixes to allow compiling w/ Borland, from Stephen Hansen.
This commit is contained in:
parent
460f0691df
commit
58e0a8c130
5 changed files with 32 additions and 14 deletions
|
@ -434,6 +434,15 @@ typedef struct fd_set {
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Rename some functions for the Borland compiler
|
||||||
|
*/
|
||||||
|
#ifdef __BORLANDC__
|
||||||
|
# include <io.h>
|
||||||
|
# define _chsize chsize
|
||||||
|
# define _setmode setmode
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -105,6 +105,10 @@ Tests
|
||||||
pprint.isreadable() return sensible results. Also verifies that simple
|
pprint.isreadable() return sensible results. Also verifies that simple
|
||||||
cases produce correct output.
|
cases produce correct output.
|
||||||
|
|
||||||
|
New platforms
|
||||||
|
|
||||||
|
- Python should compile and run out of the box using the Borland C
|
||||||
|
compiler (under Windows), thanks to Stephen Hansen.
|
||||||
|
|
||||||
What's New in Python 2.1 (final)?
|
What's New in Python 2.1 (final)?
|
||||||
=================================
|
=================================
|
||||||
|
|
|
@ -63,12 +63,6 @@ corresponding Unix manual entries for more information on calls.";
|
||||||
#ifdef __BORLANDC__ /* Borland compiler */
|
#ifdef __BORLANDC__ /* Borland compiler */
|
||||||
#define HAVE_EXECV 1
|
#define HAVE_EXECV 1
|
||||||
#define HAVE_GETCWD 1
|
#define HAVE_GETCWD 1
|
||||||
#define HAVE_GETEGID 1
|
|
||||||
#define HAVE_GETEUID 1
|
|
||||||
#define HAVE_GETGID 1
|
|
||||||
#define HAVE_GETPPID 1
|
|
||||||
#define HAVE_GETUID 1
|
|
||||||
#define HAVE_KILL 1
|
|
||||||
#define HAVE_OPENDIR 1
|
#define HAVE_OPENDIR 1
|
||||||
#define HAVE_PIPE 1
|
#define HAVE_PIPE 1
|
||||||
#define HAVE_POPEN 1
|
#define HAVE_POPEN 1
|
||||||
|
@ -152,7 +146,11 @@ extern int rmdir(char *);
|
||||||
extern int chdir(const char *);
|
extern int chdir(const char *);
|
||||||
extern int rmdir(const char *);
|
extern int rmdir(const char *);
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef __BORLANDC__
|
||||||
|
extern int chmod(const char *, int);
|
||||||
|
#else
|
||||||
extern int chmod(const char *, mode_t);
|
extern int chmod(const char *, mode_t);
|
||||||
|
#endif
|
||||||
extern int chown(const char *, uid_t, gid_t);
|
extern int chown(const char *, uid_t, gid_t);
|
||||||
extern char *getcwd(char *, int);
|
extern char *getcwd(char *, int);
|
||||||
extern char *strerror(int);
|
extern char *strerror(int);
|
||||||
|
@ -5666,18 +5664,18 @@ all_ins(PyObject *d)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#if ( defined(_MSC_VER) || defined(__WATCOMC__) ) && !defined(__QNX__)
|
#if (defined(_MSC_VER) || defined(__WATCOMC__) || defined(__BORLANDC__)) && !defined(__QNX__)
|
||||||
#define INITFUNC initnt
|
#define INITFUNC initnt
|
||||||
#define MODNAME "nt"
|
#define MODNAME "nt"
|
||||||
#else
|
|
||||||
#if defined(PYOS_OS2)
|
#elif defined(PYOS_OS2)
|
||||||
#define INITFUNC initos2
|
#define INITFUNC initos2
|
||||||
#define MODNAME "os2"
|
#define MODNAME "os2"
|
||||||
|
|
||||||
#else
|
#else
|
||||||
#define INITFUNC initposix
|
#define INITFUNC initposix
|
||||||
#define MODNAME "posix"
|
#define MODNAME "posix"
|
||||||
#endif
|
#endif
|
||||||
#endif
|
|
||||||
|
|
||||||
DL_EXPORT(void)
|
DL_EXPORT(void)
|
||||||
INITFUNC(void)
|
INITFUNC(void)
|
||||||
|
|
|
@ -41,17 +41,19 @@ extern int ftime(struct timeb *);
|
||||||
#else
|
#else
|
||||||
#ifdef MS_WINDOWS
|
#ifdef MS_WINDOWS
|
||||||
#include <windows.h>
|
#include <windows.h>
|
||||||
#ifdef MS_WIN16
|
#if defined(MS_WIN16) || defined(__BORLANDC__)
|
||||||
/* These overrides not needed for Win32 */
|
/* These overrides not needed for Win32 */
|
||||||
#define timezone _timezone
|
#define timezone _timezone
|
||||||
#define tzname _tzname
|
#define tzname _tzname
|
||||||
#define daylight _daylight
|
#define daylight _daylight
|
||||||
|
#endif /* MS_WIN16 || __BORLANDC__ */
|
||||||
|
#ifdef MS_WIN16
|
||||||
#define altzone _altzone
|
#define altzone _altzone
|
||||||
#endif /* MS_WIN16 */
|
#endif /* MS_WIN16 */
|
||||||
#endif /* MS_WINDOWS */
|
#endif /* MS_WINDOWS */
|
||||||
#endif /* !__WATCOMC__ || __QNX__ */
|
#endif /* !__WATCOMC__ || __QNX__ */
|
||||||
|
|
||||||
#if defined(MS_WIN32) && !defined(MS_WIN64)
|
#if defined(MS_WIN32) && !defined(MS_WIN64) && !defined(__BORLANDC__)
|
||||||
/* Win32 has better clock replacement
|
/* Win32 has better clock replacement
|
||||||
XXX Win64 does not yet, but might when the platform matures. */
|
XXX Win64 does not yet, but might when the platform matures. */
|
||||||
#include <largeint.h>
|
#include <largeint.h>
|
||||||
|
@ -146,7 +148,7 @@ time_clock(PyObject *self, PyObject *args)
|
||||||
}
|
}
|
||||||
#endif /* HAVE_CLOCK */
|
#endif /* HAVE_CLOCK */
|
||||||
|
|
||||||
#if defined(MS_WIN32) && !defined(MS_WIN64)
|
#if defined(MS_WIN32) && !defined(MS_WIN64) && !defined(__BORLANDC__)
|
||||||
/* Due to Mark Hammond */
|
/* Due to Mark Hammond */
|
||||||
static PyObject *
|
static PyObject *
|
||||||
time_clock(PyObject *self, PyObject *args)
|
time_clock(PyObject *self, PyObject *args)
|
||||||
|
|
|
@ -36,6 +36,7 @@ compiler specific". Therefore, these should be very rare.
|
||||||
|
|
||||||
#include <io.h>
|
#include <io.h>
|
||||||
#define HAVE_LIMITS_H
|
#define HAVE_LIMITS_H
|
||||||
|
#define HAVE_SYS_UTIME_H
|
||||||
#define HAVE_HYPOT
|
#define HAVE_HYPOT
|
||||||
#define DONT_HAVE_SIG_ALARM
|
#define DONT_HAVE_SIG_ALARM
|
||||||
#define DONT_HAVE_SIG_PAUSE
|
#define DONT_HAVE_SIG_PAUSE
|
||||||
|
@ -177,6 +178,10 @@ typedef int pid_t;
|
||||||
#define LONG_LONG __int64
|
#define LONG_LONG __int64
|
||||||
|
|
||||||
#undef HAVE_HYPOT
|
#undef HAVE_HYPOT
|
||||||
|
#undef HAVE_SYS_UTIME_H
|
||||||
|
#define HAVE_UTIME_H
|
||||||
|
#define HAVE_DIRENT_H
|
||||||
|
#define HAVE_CLOCK
|
||||||
|
|
||||||
#else /* !_WIN32 */
|
#else /* !_WIN32 */
|
||||||
#error "Only Win32 and later are supported"
|
#error "Only Win32 and later are supported"
|
||||||
|
@ -593,7 +598,7 @@ typedef unsigned long uintptr_t;
|
||||||
/* #define HAVE_SYS_UN_H 1 */
|
/* #define HAVE_SYS_UN_H 1 */
|
||||||
|
|
||||||
/* Define if you have the <sys/utime.h> header file. */
|
/* Define if you have the <sys/utime.h> header file. */
|
||||||
#define HAVE_SYS_UTIME_H 1
|
/* #define HAVE_SYS_UTIME_H 1 */
|
||||||
|
|
||||||
/* Define if you have the <sys/utsname.h> header file. */
|
/* Define if you have the <sys/utsname.h> header file. */
|
||||||
/* #define HAVE_SYS_UTSNAME_H 1 */
|
/* #define HAVE_SYS_UTSNAME_H 1 */
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue