Patch #1495999: Part two of Windows CE changes.

- update header checks, using autoconf
- provide dummies for getenv, environ, and GetVersion
- adjust MSC_VER check in socketmodule.c
This commit is contained in:
Martin v. Löwis 2006-06-10 12:23:46 +00:00
parent acd0d6d416
commit 0e8bd7e1cc
26 changed files with 201 additions and 33 deletions

View file

@ -35,7 +35,7 @@
#endif
#include <string.h>
#ifndef DONT_HAVE_ERRNO_H
#ifdef HAVE_ERRNO_H
#include <errno.h>
#endif
#include <stdlib.h>

View file

@ -240,10 +240,10 @@ typedef Py_intptr_t Py_ssize_t;
* to your pyconfig.h. Python code beyond this should check HAVE_STAT and
* HAVE_FSTAT instead.
* Also
* #define DONT_HAVE_SYS_STAT_H
* if <sys/stat.h> doesn't exist on your platform, and
* #define HAVE_SYS_STAT_H
* if <sys/stat.h> exists on your platform, and
* #define HAVE_STAT_H
* if <stat.h> does (don't look at me -- ths mess is inherited).
* if <stat.h> does.
*/
#ifndef DONT_HAVE_STAT
#define HAVE_STAT
@ -258,7 +258,7 @@ typedef Py_intptr_t Py_ssize_t;
#include "unixstuff.h"
#endif
#ifndef DONT_HAVE_SYS_STAT_H
#ifdef HAVE_SYS_STAT_H
#if defined(PYOS_OS2) && defined(PYCC_GCC)
#include <sys/types.h>
#endif

View file

@ -14,7 +14,11 @@
*/
#ifdef MS_WINDOWS
#include <windows.h>
#ifdef HAVE_DIRECT_H
#include <direct.h> /* for getcwd() */
#endif
typedef __int64 hs_time;
#define GETTIMEOFDAY(P_HS_TIME) \
{ LARGE_INTEGER _temp; \

View file

@ -16,7 +16,7 @@ This software comes with no warranty. Use at your own risk.
#include <string.h>
#include <ctype.h>
#ifndef DONT_HAVE_ERRNO_H
#ifdef HAVE_ERRNO_H
#include <errno.h>
#endif

View file

@ -10,9 +10,9 @@
#ifdef STDC_HEADERS
#include <stddef.h>
#else /* !STDC_HEADERS */
#ifndef DONT_HAVE_SYS_TYPES_H
#ifdef HAVE_SYS_TYPES_H
#include <sys/types.h> /* For size_t */
#endif /* DONT_HAVE_SYS_TYPES_H */
#endif /* HAVE_SYS_TYPES_H */
#endif /* !STDC_HEADERS */
struct arrayobject; /* Forward */

View file

@ -50,7 +50,10 @@ my_getpagesize(void)
#endif /* UNIX */
#include <string.h>
#ifdef HAVE_SYS_TYPES_H
#include <sys/types.h>
#endif /* HAVE_SYS_TYPES_H */
/* Prefer MAP_ANONYMOUS since MAP_ANON is deprecated according to man page. */
#if !defined(MAP_ANONYMOUS) && defined(MAP_ANON)

View file

@ -64,14 +64,21 @@ corresponding Unix manual entries for more information on calls.");
#include "osdefs.h"
#endif
#ifdef HAVE_SYS_TYPES_H
#include <sys/types.h>
#endif /* HAVE_SYS_TYPES_H */
#ifdef HAVE_SYS_STAT_H
#include <sys/stat.h>
#endif /* HAVE_SYS_STAT_H */
#ifdef HAVE_SYS_WAIT_H
#include <sys/wait.h> /* For WNOHANG */
#endif
#ifdef HAVE_SIGNAL_H
#include <signal.h>
#endif
#ifdef HAVE_FCNTL_H
#include <fcntl.h>
@ -246,9 +253,15 @@ extern int lstat(const char *, struct stat *);
#endif
#ifdef _MSC_VER
#ifdef HAVE_DIRECT_H
#include <direct.h>
#endif
#ifdef HAVE_IO_H
#include <io.h>
#endif
#ifdef HAVE_PROCESS_H
#include <process.h>
#endif
#include "osdefs.h"
#define _WIN32_WINNT 0x0400 /* Needed for CryptoAPI on some systems */
#include <windows.h>

View file

@ -36,7 +36,7 @@
extern void bzero(void *, int);
#endif
#ifndef DONT_HAVE_SYS_TYPES_H
#ifdef HAVE_SYS_TYPES_H
#include <sys/types.h>
#endif

View file

@ -234,7 +234,9 @@ shutdown(how) -- shut down traffic in one or both directions\n\
#endif
/* Generic includes */
#ifdef HAVE_SYS_TYPES_H
#include <sys/types.h>
#endif
/* Generic socket object definitions and includes */
#define PySocket_BUILDING_SOCKET
@ -270,7 +272,9 @@ int h_errno; /* not used */
#else
/* MS_WINDOWS includes */
# include <fcntl.h>
# ifdef HAVE_FCNTL_H
# include <fcntl.h>
# endif
#endif
@ -290,7 +294,7 @@ int h_errno; /* not used */
* _SS_ALIGNSIZE is defined in sys/socket.h by 6.5.21,
* for example, but not by 6.5.10.
*/
#elif defined(_MSC_VER) && _MSC_VER>1200
#elif defined(_MSC_VER) && _MSC_VER>1201
/* Do not include addrinfo.h for MSVC7 or greater. 'addrinfo' and
* EAI_* constants are defined in (the already included) ws2tcpip.h.
*/

View file

@ -19,7 +19,9 @@
#include <ctype.h>
#ifdef HAVE_SYS_TYPES_H
#include <sys/types.h>
#endif /* HAVE_SYS_TYPES_H */
#ifdef QUICKWIN
#include <io.h>

View file

@ -4,9 +4,9 @@
#include "Python.h"
#include "structmember.h"
#ifndef DONT_HAVE_SYS_TYPES_H
#ifdef HAVE_SYS_TYPES_H
#include <sys/types.h>
#endif /* DONT_HAVE_SYS_TYPES_H */
#endif /* HAVE_SYS_TYPES_H */
#ifdef MS_WINDOWS
#define fileno _fileno

View file

@ -62,8 +62,14 @@
#include <tchar.h>
#endif
#ifdef HAVE_SYS_TYPES_H
#include <sys/types.h>
#endif /* HAVE_SYS_TYPES_H */
#ifdef HAVE_SYS_STAT_H
#include <sys/stat.h>
#endif /* HAVE_SYS_STAT_H */
#include <string.h>
/* Search in some common locations for the associated Python libraries.

View file

@ -254,15 +254,33 @@ typedef long intptr_t;
/* Define if you have the waitpid function. */
#define HAVE_WAITPID 1
/* Define if you have the <conio.h> header file. */
#undef HAVE_CONIO_H
/* Define if you have the <direct.h> header file. */
#undef HAVE_DIRECT_H
/* Define if you have the <dirent.h> header file. */
#define HAVE_DIRENT_H 1
/* Define if you have the <errno.h> header file. */
#define HAVE_ERRNO_H 1
/* Define if you have the <fcntl.h> header file. */
#define HAVE_FCNTL_H 1
/* Define if you have the <io.h> header file. */
#undef HAVE_IO_H
/* Define if you have the <ncurses.h> header file. */
#define HAVE_NCURSES_H 1
/* Define to 1 if you have the <process.h> header file. */
#define HAVE_PROCESS_H 1
/* Define if you have the <signal.h> header file. */
#define HAVE_SIGNAL_H 1
/* Define if you have the <sys/file.h> header file. */
#define HAVE_SYS_FILE_H 1
@ -272,12 +290,18 @@ typedef long intptr_t;
/* Define if you have the <sys/select.h> header file. */
#define HAVE_SYS_SELECT_H 1
/* Define if you have the <sys/stat.h> header file. */
#define HAVE_SYS_STAT_H 1
/* Define if you have the <sys/time.h> header file. */
#define HAVE_SYS_TIME_H 1
/* Define if you have the <sys/times.h> header file. */
#define HAVE_SYS_TIMES_H 1
/* Define if you have the <sys/types.h> header file. */
#define HAVE_SYS_TYPES_H 1
/* Define if you have the <sys/un.h> header file. */
#define HAVE_SYS_UN_H 1

View file

@ -112,6 +112,10 @@ typedef int pid_t;
#define HAVE_HYPOT 1 /* hypot() */
#define HAVE_PUTENV 1 /* putenv() */
/* #define VA_LIST_IS_ARRAY 1 */ /* if va_list is an array of some kind */
/* #define HAVE_CONIO_H 1 */ /* #include <conio.h> */
#define HAVE_ERRNO_H 1 /* #include <errno.h> */
#define HAVE_SYS_STAT_H 1 /* #include <sys/stat.h> */
#define HAVE_SYS_TYPES_H 1 /* #include <sys/types.h> */
/* Variable-Arguments/Prototypes */
#define HAVE_PROTOTYPES 1 /* VAC++ supports C Function Prototypes */
@ -124,6 +128,7 @@ typedef int pid_t;
#define MALLOC_ZERO_RETURNS_NULL 1 /* Our malloc(0) returns a NULL ptr */
/* Signal Handling */
#define HAVE_SIGNAL_H 1 /* signal.h */
#define RETSIGTYPE void /* Return type of handlers (int or void) */
/* #undef WANT_SIGFPE_HANDLER */ /* Handle SIGFPE (see Include/pyfpe.h) */
/* #define HAVE_ALARM 1 */ /* alarm() */
@ -163,7 +168,9 @@ typedef int pid_t;
#define HAVE_SETVBUF 1 /* setvbuf() */
#define HAVE_GETCWD 1 /* getcwd() */
#define HAVE_PIPE 1 /* pipe() [OS/2-specific code added] */
#define HAVE_IO_H 1 /* #include <io.h> */
#define HAVE_FCNTL_H 1 /* #include <fcntl.h> */
#define HAVE_DIRECT_H 1 /* #include <direct.h> */
/* #define HAVE_FLOCK 1 */ /* flock() */
/* #define HAVE_TRUNCATE 1 */ /* truncate() */
/* #define HAVE_FTRUNCATE 1 */ /* ftruncate() */
@ -172,6 +179,7 @@ typedef int pid_t;
/* #define HAVE_OPENDIR 1 */ /* opendir() */
/* Process Operations */
#define HAVE_PROCESS_H 1 /* #include <process.h> */
#define HAVE_GETPID 1 /* getpid() */
#define HAVE_SYSTEM 1 /* system() */
#define HAVE_WAIT 1 /* wait() */

View file

@ -78,8 +78,15 @@ MS_CORE_DLL.
#endif
#ifdef MS_WINCE
#define DONT_HAVE_SYS_STAT_H
#define DONT_HAVE_ERRNO_H
/* Python uses GetVersion() to distinguish between
* Windows NT and 9x/ME where OS Unicode support is concerned.
* Windows CE supports Unicode in the same way as NT so we
* define the missing GetVersion() accordingly.
*/
#define GetVersion() (4)
/* Windows CE does not support environment variables */
#define getenv(v) (NULL)
#define environ (NULL)
#endif
/* Compiler specific defines */
@ -356,6 +363,16 @@ Py_NO_ENABLE_SHARED to find out. Also support MS_NO_COREDLL for b/w compat */
/* Define to empty if the keyword does not work. */
/* #define const */
/* Define to 1 if you have the <conio.h> header file. */
#ifndef MS_WINCE
#define HAVE_CONIO_H 1
#endif
/* Define to 1 if you have the <direct.h> header file. */
#ifndef MS_WINCE
#define HAVE_DIRECT_H 1
#endif
/* Define if you have dirent.h. */
/* #define DIRENT 1 */
@ -561,11 +578,26 @@ Py_NO_ENABLE_SHARED to find out. Also support MS_NO_COREDLL for b/w compat */
/* Define if you have the <dlfcn.h> header file. */
/* #undef HAVE_DLFCN_H */
/* Define to 1 if you have the <errno.h> header file. */
#ifndef MS_WINCE
#define HAVE_ERRNO_H 1
#endif
/* Define if you have the <fcntl.h> header file. */
#ifndef MS_WINCE
#define HAVE_FCNTL_H 1
#endif
/* Define to 1 if you have the <process.h> header file. */
#ifndef MS_WINCE
#define HAVE_PROCESS_H 1
#endif
/* Define to 1 if you have the <signal.h> header file. */
#ifndef MS_WINCE
#define HAVE_SIGNAL_H 1
#endif
/* Define if you have the <stdarg.h> prototypes. */
#define HAVE_STDARG_PROTOTYPES
@ -581,12 +613,22 @@ Py_NO_ENABLE_SHARED to find out. Also support MS_NO_COREDLL for b/w compat */
/* Define if you have the <sys/select.h> header file. */
/* #define HAVE_SYS_SELECT_H 1 */
/* Define to 1 if you have the <sys/stat.h> header file. */
#ifndef MS_WINCE
#define HAVE_SYS_STAT_H 1
#endif
/* Define if you have the <sys/time.h> header file. */
/* #define HAVE_SYS_TIME_H 1 */
/* Define if you have the <sys/times.h> header file. */
/* #define HAVE_SYS_TIMES_H 1 */
/* Define to 1 if you have the <sys/types.h> header file. */
#ifndef MS_WINCE
#define HAVE_SYS_TYPES_H 1
#endif
/* Define if you have the <sys/un.h> header file. */
/* #define HAVE_SYS_UN_H 1 */

View file

@ -37,7 +37,9 @@
#include <windows.h>
#include <mmsystem.h>
#ifdef HAVE_CONIO_H
#include <conio.h> /* port functions on Win9x */
#endif
#include <Python.h>
PyDoc_STRVAR(sound_playsound_doc,

View file

@ -205,7 +205,7 @@ PyEval_GetCallStats(PyObject *self)
#ifdef WITH_THREAD
#ifndef DONT_HAVE_ERRNO_H
#ifdef HAVE_ERRNO_H
#include <errno.h>
#endif
#include "pythread.h"

View file

@ -2,7 +2,9 @@
/* Support for dynamic loading of extension modules */
#include <windows.h>
#ifdef HAVE_DIRECT_H
#include <direct.h>
#endif
#include <ctype.h>
#include "Python.h"

View file

@ -17,7 +17,7 @@
#include <ctype.h>
#ifndef DONT_HAVE_ERRNO_H
#ifdef HAVE_ERRNO_H
#include <errno.h>
#endif

View file

@ -17,7 +17,9 @@
#include "eval.h"
#include "marshal.h"
#ifdef HAVE_SIGNAL_H
#include <signal.h>
#endif
#ifdef HAVE_LANGINFO_H
#include <locale.h>

View file

@ -54,7 +54,7 @@ static double HUGE = 1.7976931348623157e308;
extern double atof(const char *); /* Only called when result known to be ok */
#ifndef DONT_HAVE_ERRNO_H
#ifdef HAVE_ERRNO_H
#include <errno.h>
#endif
extern int errno;

View file

@ -5,7 +5,9 @@
#include <windows.h>
#include <limits.h>
#ifdef HAVE_PROCESS_H
#include <process.h>
#endif
typedef struct NRMUTEX {
LONG owned ;

View file

@ -553,6 +553,9 @@
/* Define if you have the waitpid function. */
#undef HAVE_WAITPID
/* Define if you have the <conio.h> header file. */
#undef HAVE_CONIO_H
/* Define if you have the <db.h> header file. */
#undef HAVE_DB_H
@ -562,18 +565,27 @@
/* Define if you have the <db_185.h> header file. */
#undef HAVE_DB_185_H
/* Define if you have the <direct.h> header file. */
#undef HAVE_DIRECT_H
/* Define if you have the <dirent.h> header file. */
#undef HAVE_DIRENT_H
/* Define if you have the <dlfcn.h> header file. */
#undef HAVE_DLFCN_H
/* Define if you have the <errno.h> header file. */
#define HAVE_ERRNO_H 1
/* Define if you have the <fcntl.h> header file. */
#undef HAVE_FCNTL_H
/* Define if you have the <gdbm/ndbm.h> header file. */
#undef HAVE_GDBM_NDBM_H
/* Define if you have the <io.h> header file. */
#undef HAVE_IO_H
/* Define if you have the <langinfo.h> header file. */
#undef HAVE_LANGINFO_H
@ -595,12 +607,18 @@
/* Define if you have the <poll.h> header file. */
#undef HAVE_POLL_H
/* Define if you have the <process.h> header file. */
#undef HAVE_PROCESS_H
/* Define if you have the <pthread.h> header file. */
#undef HAVE_PTHREAD_H
/* Define if you have the <pty.h> header file. */
#undef HAVE_PTY_H
/* Define if you have the <signal.h> header file. */
#define HAVE_SIGNAL_H
/* Define if you have the <sys/audioio.h> header file. */
#undef HAVE_SYS_AUDIOIO_H
@ -634,12 +652,18 @@
/* Define if you have the <sys/socket.h> header file. */
#undef HAVE_SYS_SOCKET_H
/* Define if you have the <sys/stat.h> header file. */
#define HAVE_SYS_STAT_H 1
/* Define if you have the <sys/time.h> header file. */
#undef HAVE_SYS_TIME_H
/* Define if you have the <sys/times.h> header file. */
#undef HAVE_SYS_TIMES_H
/* Define if you have the <sys/types.h> header file. */
#define HAVE_SYS_TYPES_H 1
/* Define if you have the <sys/un.h> header file. */
#undef HAVE_SYS_UN_H
@ -688,7 +712,6 @@
#define DONT_HAVE_FSTAT 1
#define DONT_HAVE_STAT 1
#undef DONT_HAVE_SYS_STAT_H
#define PLATFORM "riscos"

29
configure vendored
View file

@ -1,5 +1,5 @@
#! /bin/sh
# From configure.in Revision: 46700 .
# From configure.in Revision: 46720 .
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.59 for python 2.5.
#
@ -4623,14 +4623,24 @@ done
for ac_header in asm/types.h curses.h dlfcn.h fcntl.h grp.h \
shadow.h langinfo.h libintl.h ncurses.h poll.h pthread.h \
stropts.h termios.h thread.h \
for ac_header in asm/types.h conio.h curses.h direct.h dlfcn.h errno.h \
fcntl.h grp.h \
shadow.h io.h langinfo.h libintl.h ncurses.h poll.h process.h pthread.h \
signal.h stropts.h termios.h thread.h \
unistd.h utime.h \
sys/audioio.h sys/bsdtty.h sys/file.h sys/loadavg.h sys/lock.h sys/mkdev.h \
sys/modem.h \
sys/param.h sys/poll.h sys/select.h sys/socket.h sys/statvfs.h sys/time.h \
sys/times.h sys/un.h sys/utsname.h sys/wait.h pty.h libutil.h \
sys/param.h sys/poll.h sys/select.h sys/socket.h sys/statvfs.h sys/stat.h \
sys/time.h \
sys/times.h sys/types.h sys/un.h sys/utsname.h sys/wait.h pty.h libutil.h \
sys/resource.h netpacket/packet.h sysexits.h bluetooth.h \
bluetooth/bluetooth.h
do
@ -22046,9 +22056,10 @@ for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
# 1. Remove the extension, and $U if already installed.
ac_i=`echo "$ac_i" |
sed 's/\$U\././;s/\.o$//;s/\.obj$//'`
# 2. Add them.
ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext"
ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo'
# 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR
# will be set to the directory where LIBOBJS objects are built.
ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext"
ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo'
done
LIBOBJS=$ac_libobjs

View file

@ -1066,14 +1066,16 @@ dnl AC_MSG_RESULT($cpp_type)
# checks for header files
AC_HEADER_STDC
AC_CHECK_HEADERS(asm/types.h curses.h dlfcn.h fcntl.h grp.h \
shadow.h langinfo.h libintl.h ncurses.h poll.h pthread.h \
stropts.h termios.h thread.h \
AC_CHECK_HEADERS(asm/types.h conio.h curses.h direct.h dlfcn.h errno.h \
fcntl.h grp.h \
shadow.h io.h langinfo.h libintl.h ncurses.h poll.h process.h pthread.h \
signal.h stropts.h termios.h thread.h \
unistd.h utime.h \
sys/audioio.h sys/bsdtty.h sys/file.h sys/loadavg.h sys/lock.h sys/mkdev.h \
sys/modem.h \
sys/param.h sys/poll.h sys/select.h sys/socket.h sys/statvfs.h sys/time.h \
sys/times.h sys/un.h sys/utsname.h sys/wait.h pty.h libutil.h \
sys/param.h sys/poll.h sys/select.h sys/socket.h sys/statvfs.h sys/stat.h \
sys/time.h \
sys/times.h sys/types.h sys/un.h sys/utsname.h sys/wait.h pty.h libutil.h \
sys/resource.h netpacket/packet.h sysexits.h bluetooth.h \
bluetooth/bluetooth.h)
AC_HEADER_DIRENT

View file

@ -73,6 +73,9 @@
/* Define to 1 if you have the `confstr' function. */
#undef HAVE_CONFSTR
/* Define to 1 if you have the <conio.h> header file. */
#undef HAVE_CONIO_H
/* Define to 1 if you have the `ctermid' function. */
#undef HAVE_CTERMID
@ -91,6 +94,9 @@
/* Define if we have /dev/ptmx. */
#undef HAVE_DEV_PTMX
/* Define to 1 if you have the <direct.h> header file. */
#undef HAVE_DIRECT_H
/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
*/
#undef HAVE_DIRENT_H
@ -107,6 +113,9 @@
/* Defined when any dynamic module loading is enabled. */
#undef HAVE_DYNAMIC_LOADING
/* Define to 1 if you have the <errno.h> header file. */
#undef HAVE_ERRNO_H
/* Define to 1 if you have the `execv' function. */
#undef HAVE_EXECV
@ -248,6 +257,9 @@
/* Define to 1 if you have the <inttypes.h> header file. */
#undef HAVE_INTTYPES_H
/* Define to 1 if you have the <io.h> header file. */
#undef HAVE_IO_H
/* Define to 1 if you have the `kill' function. */
#undef HAVE_KILL
@ -353,6 +365,9 @@
/* Define to 1 if you have the <poll.h> header file. */
#undef HAVE_POLL_H
/* Define to 1 if you have the <process.h> header file. */
#undef HAVE_PROCESS_H
/* Define if your compiler supports function prototype */
#undef HAVE_PROTOTYPES
@ -446,6 +461,9 @@
/* Define to 1 if you have the `siginterrupt' function. */
#undef HAVE_SIGINTERRUPT
/* Define to 1 if you have the <signal.h> header file. */
#undef HAVE_SIGNAL_H
/* Define to 1 if you have the `sigrelse' function. */
#undef HAVE_SIGRELSE