Patch #1722225: Support QNX 6.

This commit is contained in:
Martin v. Löwis 2008-05-23 15:06:50 +00:00
parent badd7da622
commit 8c255e4173
9 changed files with 61 additions and 6 deletions

View File

@ -454,6 +454,13 @@ int shutdown( int, int );
extern char * _getpty(int *, int, mode_t, int);
#endif
/* On QNX 6, struct termio must be declared by including sys/termio.h
if TCGETA, TCSETA, TCSETAW, or TCSETAF are used. sys/termio.h must
be included before termios.h or it will generate an error. */
#ifdef HAVE_SYS_TERMIO_H
#include <sys/termio.h>
#endif
#if defined(HAVE_OPENPTY) || defined(HAVE_FORKPTY)
#if !defined(HAVE_PTY_H) && !defined(HAVE_LIBUTIL_H)
/* BSDI does not supply a prototype for the 'openpty' and 'forkpty'

View File

@ -224,6 +224,8 @@ Library
Build
-----
- Patch #1722225: Support QNX 6.
- ``Lib/lib-old`` is now added to sys.path.

View File

@ -20406,6 +20406,9 @@ case "$host" in
i?86-*-solaris2.1[0-9]*)
TARGET=X86_64; TARGETDIR=x86
;;
i*86-*-nto-qnx*)
TARGET=X86; TARGETDIR=x86
;;
i?86-*-*)
TARGET=X86; TARGETDIR=x86
;;

View File

@ -86,6 +86,9 @@ case "$host" in
i?86-*-solaris2.1[[0-9]]*)
TARGET=X86_64; TARGETDIR=x86
;;
i*86-*-nto-qnx*)
TARGET=X86; TARGETDIR=x86
;;
i?86-*-*)
TARGET=X86; TARGETDIR=x86
;;

View File

@ -48,7 +48,11 @@ static void more_core(void)
}
#else
if (!_pagesize) {
#ifdef _SC_PAGESIZE
_pagesize = sysconf(_SC_PAGESIZE);
#else
_pagesize = getpagesize();
#endif
}
#endif

23
configure vendored
View File

@ -1,5 +1,5 @@
#! /bin/sh
# From configure.in Revision: 62644 .
# From configure.in Revision: 63545 .
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.61 for python 2.6.
#
@ -2078,6 +2078,11 @@ _ACEOF
Darwin/[789].*)
define_xopen_source=no
;;
# On QNX 6.3.2, defining _XOPEN_SOURCE prevents netdb.h from
# defining NI_NUMERICHOST.
QNX/6.3.2)
define_xopen_source=no
;;
esac
@ -3931,6 +3936,10 @@ then
LINKCC="\$(srcdir)/Modules/makexp_aix Modules/python.exp $exp_extra \$(LIBRARY); $LINKCC";;
Monterey64*)
LINKCC="$LINKCC -L/usr/lib/ia64l64";;
QNX*)
# qcc must be used because the other compilers do not
# support -N.
LINKCC=qcc;;
esac
fi
{ echo "$as_me:$LINENO: result: $LINKCC" >&5
@ -5470,6 +5479,7 @@ done
for ac_header in asm/types.h conio.h curses.h direct.h dlfcn.h errno.h \
@ -5480,7 +5490,7 @@ unistd.h utime.h \
sys/audioio.h sys/bsdtty.h sys/epoll.h sys/event.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/stat.h \
sys/time.h \
sys/termio.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 linux/tipc.h
@ -12531,7 +12541,7 @@ then
fi
fi
;;
Linux*|GNU*) LDSHARED='$(CC) -shared';;
Linux*|GNU*|QNX*) LDSHARED='$(CC) -shared';;
BSD/OS*/4*) LDSHARED="gcc -shared";;
FreeBSD*)
if [ "`$CC -dM -E - </dev/null | grep __ELF__`" != "" ]
@ -12659,6 +12669,13 @@ then
then
LINKFORSHARED='-Wl,--out-implib=$(LDLIBRARY)'
fi;;
QNX*)
# -Wl,-E causes the symbols to be added to the dynamic
# symbol table so that they can be found when a module
# is loaded. -N 2048K causes the stack size to be set
# to 2048 kilobytes so that the stack doesn't overflow
# when running test_compile.py.
LINKFORSHARED='-Wl,-E -N 2048K';;
esac
fi
{ echo "$as_me:$LINENO: result: $LINKFORSHARED" >&5

View File

@ -262,6 +262,11 @@ case $ac_sys_system/$ac_sys_release in
Darwin/@<:@789@:>@.*)
define_xopen_source=no
;;
# On QNX 6.3.2, defining _XOPEN_SOURCE prevents netdb.h from
# defining NI_NUMERICHOST.
QNX/6.3.2)
define_xopen_source=no
;;
esac
@ -597,6 +602,10 @@ then
LINKCC="\$(srcdir)/Modules/makexp_aix Modules/python.exp $exp_extra \$(LIBRARY); $LINKCC";;
Monterey64*)
LINKCC="$LINKCC -L/usr/lib/ia64l64";;
QNX*)
# qcc must be used because the other compilers do not
# support -N.
LINKCC=qcc;;
esac
fi
AC_MSG_RESULT($LINKCC)
@ -1143,7 +1152,7 @@ unistd.h utime.h \
sys/audioio.h sys/bsdtty.h sys/epoll.h sys/event.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/stat.h \
sys/time.h \
sys/termio.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 linux/tipc.h)
@ -1587,7 +1596,7 @@ then
fi
fi
;;
Linux*|GNU*) LDSHARED='$(CC) -shared';;
Linux*|GNU*|QNX*) LDSHARED='$(CC) -shared';;
BSD/OS*/4*) LDSHARED="gcc -shared";;
FreeBSD*)
if [[ "`$CC -dM -E - </dev/null | grep __ELF__`" != "" ]]
@ -1711,6 +1720,13 @@ then
then
LINKFORSHARED='-Wl,--out-implib=$(LDLIBRARY)'
fi;;
QNX*)
# -Wl,-E causes the symbols to be added to the dynamic
# symbol table so that they can be found when a module
# is loaded. -N 2048K causes the stack size to be set
# to 2048 kilobytes so that the stack doesn't overflow
# when running test_compile.py.
LINKFORSHARED='-Wl,-E -N 2048K';;
esac
fi
AC_MSG_RESULT($LINKFORSHARED)

View File

@ -688,6 +688,9 @@
/* Define to 1 if you have the <sys/stat.h> header file. */
#undef HAVE_SYS_STAT_H
/* Define to 1 if you have the <sys/termio.h> header file. */
#undef HAVE_SYS_TERMIO_H
/* Define to 1 if you have the <sys/times.h> header file. */
#undef HAVE_SYS_TIMES_H

View File

@ -1009,7 +1009,7 @@ class PyBuildExt(build_ext):
missing.append('resource')
# Sun yellow pages. Some systems have the functions in libc.
if platform not in ['cygwin', 'atheos']:
if platform not in ['cygwin', 'atheos', 'qnx6']:
if (self.compiler.find_library_file(lib_dirs, 'nsl')):
libs = ['nsl']
else: