diff --new-file -ru Python-1.4.orig/Include/osdefs.h Python-1.4/Include/osdefs.h
--- Python-1.4.orig/Include/osdefs.h	Fri Oct 25 16:38:52 1996
+++ Python-1.4/Include/osdefs.h	Sat Nov 16 16:26:14 1996
@@ -44,7 +44,7 @@
 #define DELIM '\n'
 #endif
 
-#if defined(MS_WINDOWS) || defined(__BORLANDC__) || defined(__WATCOMC__)
+#if defined(MS_WINDOWS) || defined(__BORLANDC__) || defined(__WATCOMC__) || defined(__EMX__)
 #define SEP '\\'
 #define ALTSEP '/'
 #define MAXPATHLEN 256
diff --new-file -ru Python-1.4.orig/Lib/os2/IN.py Python-1.4/Lib/os2/IN.py
--- Python-1.4.orig/Lib/os2/IN.py	Thu Jan  1 01:00:00 1970
+++ Python-1.4/Lib/os2/IN.py	Sat Nov 16 16:26:14 1996
@@ -0,0 +1,62 @@
+# Generated by h2py from /emx/include/netinet/in.h
+IPPROTO_IP = 0
+IPPROTO_ICMP = 1
+IPPROTO_IGMP = 2
+IPPROTO_GGP = 3
+IPPROTO_TCP = 6
+IPPROTO_EGP = 8
+IPPROTO_PUP = 12
+IPPROTO_UDP = 17
+IPPROTO_IDP = 22
+IPPROTO_TP = 29
+IPPROTO_EON = 80
+IPPROTO_RAW = 255
+IPPROTO_MAX = 256
+IPPORT_RESERVED = 1024
+IPPORT_USERRESERVED = 5000
+def IN_CLASSA(i): return (((long)(i) & 0x80000000) == 0)
+
+IN_CLASSA_NET = 0xff000000
+IN_CLASSA_NSHIFT = 24
+IN_CLASSA_HOST = 0x00ffffff
+IN_CLASSA_MAX = 128
+def IN_CLASSB(i): return (((long)(i) & 0xc0000000) == 0x80000000)
+
+IN_CLASSB_NET = 0xffff0000
+IN_CLASSB_NSHIFT = 16
+IN_CLASSB_HOST = 0x0000ffff
+IN_CLASSB_MAX = 65536
+def IN_CLASSC(i): return (((long)(i) & 0xe0000000) == 0xc0000000)
+
+IN_CLASSC_NET = 0xffffff00
+IN_CLASSC_NSHIFT = 8
+IN_CLASSC_HOST = 0x000000ff
+def IN_CLASSD(i): return (((long)(i) & 0xf0000000) == 0xe0000000)
+
+IN_CLASSD_NET = 0xf0000000
+IN_CLASSD_NSHIFT = 28
+IN_CLASSD_HOST = 0x0fffffff
+def IN_MULTICAST(i): return IN_CLASSD(i)
+
+def IN_EXPERIMENTAL(i): return (((long)(i) & 0xe0000000) == 0xe0000000)
+
+def IN_BADCLASS(i): return (((long)(i) & 0xf0000000) == 0xf0000000)
+
+INADDR_NONE = 0xffffffff
+IN_LOOPBACKNET = 127
+IP_OPTIONS = 1
+IP_MULTICAST_IF = 2
+IP_MULTICAST_TTL = 3
+IP_MULTICAST_LOOP = 4
+IP_ADD_MEMBERSHIP = 5
+IP_DROP_MEMBERSHIP = 6
+IP_HDRINCL = 2
+IP_TOS = 3
+IP_TTL = 4
+IP_RECVOPTS = 5
+IP_RECVRETOPTS = 6
+IP_RECVDSTADDR = 7
+IP_RETOPTS = 8
+IP_DEFAULT_MULTICAST_TTL = 1
+IP_DEFAULT_MULTICAST_LOOP = 1
+IP_MAX_MEMBERSHIPS = 20
diff --new-file -ru Python-1.4.orig/Lib/os2/SOCKET.py Python-1.4/Lib/os2/SOCKET.py
--- Python-1.4.orig/Lib/os2/SOCKET.py	Thu Jan  1 01:00:00 1970
+++ Python-1.4/Lib/os2/SOCKET.py	Sat Nov 16 16:26:14 1996
@@ -0,0 +1,98 @@
+# Generated by h2py from /emx/include/sys/socket.h
+SOCK_STREAM = 1
+SOCK_DGRAM = 2
+SOCK_RAW = 3
+SOCK_RDM = 4
+SOCK_SEQPACKET = 5
+SO_DEBUG = 0x0001
+SO_ACCEPTCONN = 0x0002
+SO_REUSEADDR = 0x0004
+SO_KEEPALIVE = 0x0008
+SO_DONTROUTE = 0x0010
+SO_BROADCAST = 0x0020
+SO_USELOOPBACK = 0x0040
+SO_LINGER = 0x0080
+SO_OOBINLINE = 0x0100
+SO_L_BROADCAST = 0x0200
+SO_RCV_SHUTDOWN = 0x0400
+SO_SND_SHUTDOWN = 0x0800
+SO_SNDBUF = 0x1001
+SO_RCVBUF = 0x1002
+SO_SNDLOWAT = 0x1003
+SO_RCVLOWAT = 0x1004
+SO_SNDTIMEO = 0x1005
+SO_RCVTIMEO = 0x1006
+SO_ERROR = 0x1007
+SO_TYPE = 0x1008
+SO_OPTIONS = 0x1010
+SOL_SOCKET = 0xffff
+AF_UNSPEC = 0
+AF_UNIX = 1
+AF_INET = 2
+AF_IMPLINK = 3
+AF_PUP = 4
+AF_CHAOS = 5
+AF_NS = 6
+AF_NBS = 7
+AF_ISO = 7
+AF_OSI = AF_ISO
+AF_ECMA = 8
+AF_DATAKIT = 9
+AF_CCITT = 10
+AF_SNA = 11
+AF_DECnet = 12
+AF_DLI = 13
+AF_LAT = 14
+AF_HYLINK = 15
+AF_APPLETALK = 16
+AF_NB = 17
+AF_NETBIOS = AF_NB
+AF_OS2 = AF_UNIX
+AF_MAX = 18
+PF_UNSPEC = AF_UNSPEC
+PF_UNIX = AF_UNIX
+PF_INET = AF_INET
+PF_IMPLINK = AF_IMPLINK
+PF_PUP = AF_PUP
+PF_CHAOS = AF_CHAOS
+PF_NS = AF_NS
+PF_NBS = AF_NBS
+PF_ISO = AF_ISO
+PF_OSI = AF_ISO
+PF_ECMA = AF_ECMA
+PF_DATAKIT = AF_DATAKIT
+PF_CCITT = AF_CCITT
+PF_SNA = AF_SNA
+PF_DECnet = AF_DECnet
+PF_DLI = AF_DLI
+PF_LAT = AF_LAT
+PF_HYLINK = AF_HYLINK
+PF_APPLETALK = AF_APPLETALK
+PF_NB = AF_NB
+PF_NETBIOS = AF_NB
+PF_OS2 = AF_UNIX
+PF_MAX = AF_MAX
+SOMAXCONN = 5
+MSG_OOB = 0x1
+MSG_PEEK = 0x2
+MSG_DONTROUTE = 0x4
+MSG_EOR = 0x8
+MSG_TRUNC = 0x10
+MSG_CTRUNC = 0x20
+MSG_WAITALL = 0x40
+MSG_MAXIOVLEN = 16
+SCM_RIGHTS = 0x01
+MT_FREE = 0
+MT_DATA = 1
+MT_HEADER = 2
+MT_SOCKET = 3
+MT_PCB = 4
+MT_RTABLE = 5
+MT_HTABLE = 6
+MT_ATABLE = 7
+MT_SONAME = 8
+MT_ZOMBIE = 9
+MT_SOOPTS = 10
+MT_FTABLE = 11
+MT_RIGHTS = 12
+MT_IFADDR = 13
diff --new-file -ru Python-1.4.orig/Lib/os2/TERMIOS.py Python-1.4/Lib/os2/TERMIOS.py
--- Python-1.4.orig/Lib/os2/TERMIOS.py	Thu Jan  1 01:00:00 1970
+++ Python-1.4/Lib/os2/TERMIOS.py	Sat Nov 16 16:26:14 1996
@@ -0,0 +1,76 @@
+# Generated by h2py from /emx/include/termios.h
+TCSANOW = 0
+TCSADRAIN = 1
+TCSAFLUSH = 2
+TCIFLUSH = 0
+TCOFLUSH = 1
+TCIOFLUSH = 2
+TCOOFF = 0
+TCOON = 1
+TCIOFF = 2
+TCION = 3
+VINTR = 0
+VQUIT = 1
+VERASE = 2
+VKILL = 3
+VEOF = 4
+VEOL = 5
+VMIN = 6
+VTIME = 7
+VSUSP = 8
+VSTOP = 9
+VSTART = 10
+NCCS = 11
+IGNBRK = 0x0001
+BRKINT = 0x0002
+IGNPAR = 0x0004
+PARMRK = 0x0008
+INPCK = 0x0010
+ISTRIP = 0x0020
+INLCR = 0x0040
+IGNCR = 0x0080
+ICRNL = 0x0100
+IXON = 0x0400
+IXOFF = 0x1000
+IUCLC = 0x0200
+IXANY = 0x0800
+IDELETE = 0x8000
+OPOST = 0x0001
+B0 = 0x0000
+B50 = 0x0001
+B75 = 0x0002
+B110 = 0x0003
+B134 = 0x0004
+B150 = 0x0005
+B200 = 0x0006
+B300 = 0x0007
+B600 = 0x0008
+B1200 = 0x0009
+B1800 = 0x000a
+B2400 = 0x000b
+B4800 = 0x000c
+B9600 = 0x000d
+B19200 = 0x000e
+B38400 = 0x000f
+CSIZE = 0x0030
+CS5 = 0x0000
+CS6 = 0x0010
+CS7 = 0x0020
+CS8 = 0x0030
+CSTOPB = 0x0040
+CREAD = 0x0080
+PARENB = 0x0100
+PARODD = 0x0200
+HUPCL = 0x0400
+CLOCAL = 0x0800
+LOBLK = 0x1000
+ISIG = 0x0001
+ICANON = 0x0002
+ECHO = 0x0008
+ECHOE = 0x0010
+ECHOK = 0x0020
+ECHONL = 0x0040
+NOFLSH = 0x0080
+XCASE = 0x0004
+IEXTEN = 0x0100
+TOSTOP = 0x0200
diff --new-file -ru Python-1.4.orig/Lib/os2/regen.cmd Python-1.4/Lib/os2/regen.cmd
--- Python-1.4.orig/Lib/os2/regen.cmd	Thu Jan  1 01:00:00 1970
+++ Python-1.4/Lib/os2/regen.cmd	Sat Nov 16 16:26:16 1996
@@ -0,0 +1,4 @@
+python ../../Tools/scripts/h2py.py /emx/include/fcntl.h
+python ../../Tools/scripts/h2py.py /emx/include/sys/socket.h
+python ../../Tools/scripts/h2py.py -i '(u_long)' /emx/include/netinet/in.h
+python ../../Tools/scripts/h2py.py /emx/include/termios.h
diff --new-file -ru Python-1.4.orig/Modules/Makefile Python-1.4/Modules/Makefile
--- Python-1.4.orig/Modules/Makefile	Thu Jan  1 01:00:00 1970
+++ Python-1.4/Modules/Makefile	Sat Nov 16 15:41:32 1996
@@ -0,0 +1,305 @@
+# Generated automatically from Makefile.pre by makesetup.
+# Generated automatically from Makefile.pre.in by configure.
+# META-NOTE: this note is different from the note in the other Makefiles!
+# NOTE: Makefile.pre.in is converted into Makefile.pre by the configure
+# script in the toplevel directory or by ../config.status.
+# Makefile.pre is converted into Makefile by running the makesetup
+# script in the source directory.  Once Makefile exists, it can be
+# brought up to date by running "make Makefile".  (The makesetup also
+# creates config.c from config.c.in in the source directory.)
+
+# Interpreter version number, for library destination pathnames
+VERSION=	1.4
+
+# === Variables set by makesetup ===
+
+MODOBJS=	  posixmodule.o  signalmodule.o  arraymodule.o  cmathmodule.o  mathmodule.o  regexmodule.o regexpr.o  stropmodule.o  structmodule.o  timemodule.o  operator.o  fcntlmodule.o  pwdmodule.o  selectmodule.o  socketmodule.o  errnomodule.o  audioop.o  imageop.o  rgbimgmodule.o  md5module.o md5c.o  rotormodule.o  binascii.o  parsermodule.o
+# cryptmodule.o  
+MODLIBS=	$(LOCALMODLIBS) $(BASEMODLIBS)
+
+# === Variables set by configure ===
+
+srcdir=		.
+
+CC=		gcc
+RANLIB=		echo
+AR=		ar
+
+OPT=		-O
+LDFLAGS=	
+
+DEFS=		-DHAVE_CONFIG_H
+LIBS=		-lsocket
+LIBM=		-lm
+LIBC=		
+
+# Machine-dependent subdirectories
+MACHDEP=	os2
+
+# Install prefix for architecture-independent files
+prefix=		
+
+# Install prefix for architecture-dependent files
+exec_prefix=	${prefix}
+
+# Expanded directories
+BINDIR=		$(exec_prefix)/bin
+LIBDIR=		$(exec_prefix)/lib
+MANDIR=		$(prefix)/man
+INCLUDEDIR=	$(prefix)/include
+SCRIPTDIR=	$(prefix)/lib
+
+# Detailed destination directories
+BINLIBDEST=	$(LIBDIR)/python$(VERSION)
+LIBDEST=	$(SCRIPTDIR)/python$(VERSION)
+INCLUDEPY=	$(INCLUDEDIR)/python$(VERSION)
+LIBP=		$(LIBDIR)/python$(VERSION)
+
+# Symbols used for using shared libraries
+SO=		.dll
+LDSHARED=	gcc
+CCSHARED=	gcc
+LINKFORSHARED=
+DESTSHARED=	$(BINLIBDEST)/sharedmodules
+
+# Portable install script (configure doesn't always guess right)
+INSTALL=	./../install-sh -c
+INSTALL_PROGRAM=${INSTALL} -m 755
+INSTALL_DATA=	${INSTALL} -m 644
+# Shared libraries must be installed with executable mode on some systems;
+# rather than figuring out exactly which, we always give them executable mode.
+# Also, making them read-only seems to be a good idea...
+INSTALL_SHARED=	${INSTALL} -m 555
+
+# === Variables that are customizable by hand or by inclusion in Setup ===
+
+LINKCC=		$(CC)
+INCLDIR=	$(srcdir)/../Include
+CONFIGINCLDIR=	..
+CFLAGS=		$(OPT) -I$(INCLDIR) -I$(CONFIGINCLDIR) $(DEFS)
+
+MKDEP=		mkdep
+# SHELL=		/bin/sh
+
+MAKESETUP=	$(srcdir)/makesetup
+
+# (The makesetup script inserts all variable definitions found
+# found in the Setup file just below the following line.
+# This means that the Setup file can override any of the definitions
+# given before this point, but not any given below.
+# The script insert the definitions in reverse order,
+# for the benefits of independent extensions.)
+# === Definitions added by makesetup ===
+
+LOCALMODLIBS=                        
+BASEMODLIBS=
+# PYTHONPATH=".;\\Python-1.4"
+# COREPYTHONPATH=$(DESTPATH)$(SITEPATH)$(TESTPATH)$(MACHDEPPATH)$(STDWINPATH)$(TKPATH)
+MACHDEPPATH=:$(DESTLIB)/$(MACHDEP):$(MACHDESTLIB)/sharedmodules
+TESTPATH=:$(DESTLIB)/test
+SITEPATH=
+DESTPATH=$(DESTLIB)
+MACHDESTLIB=$(BINLIBDEST)
+DESTLIB=$(LIBDEST)
+
+
+# === Fixed definitions ===
+
+OBJS=		$(MODOBJS)
+
+ADDOBJS=	main.o config.o getpath.o
+
+LIB=		libModules.a
+
+MYLIBS=		$(LIB) \
+		../Python/libPython.a \
+		../Objects/libObjects.a \
+		../Parser/libParser.a
+
+SYSLIBS=	$(LIBM) $(LIBC)
+
+
+# === Rules ===
+
+all:		$(LIB) ../python.exe sharedmods
+
+asharedmodule:	$(ASHAREDMODULE)$(SO)
+
+$(ASHAREDMODULE)$(SO): $(ASHAREDMODULESOBS)
+	$(LDSHARED) $(LDFLAGS) -o $(ASHAREDMODULE)$(SO) $(ASHAREDMODULESOBS) \
+	$(ASHAREDMODULESEXTRA)
+
+$(LIB):		$& $(OBJS) Makefile
+		-rm -f $(LIB)
+		$(AR) crs $(LIB) $(OBJS)
+		$(RANLIB) $(LIB)
+
+../python.exe:	$(MYLIBS) $(ADDOBJS) Makefile
+		$(LINKCC) $(LDFLAGS) $(OPT) $(LINKFORSHARED) $(ADDOBJS) \
+  	      	$(MYLIBS) $(MODLIBS) $(LIBS) $(SYSLIBS) -Zcrtdll -Zdll -o Python14.dll Python14.def
+		emximp -o Python14.lib Python14.def
+		$(CC) -Zcrtdll -s -o python.exe main_os2.c Python14.lib python.def
+		mv python.exe ..
+		mv python14.dll ..
+
+clean:
+		-rm -f *.o python core *~ [@,#]* *.old *.orig *.rej
+
+clobber:	clean
+		-rm -f *.a tags TAGS config.c glmodule.c Makefile.pre
+		-rm -f *.so *.sl so_locations
+
+getpath.o:	getpath.c Makefile
+		$(CC) -c $(CFLAGS) -DPYTHONPATH='"$(PYTHONPATH)"' \
+		      -DPREFIX='"$(prefix)"' \
+		      -DEXEC_PREFIX='"$(exec_prefix)"' \
+		      $(srcdir)/getpath.c -o getpath.o
+
+# config.c Makefile: Makefile.pre config.c.in $(MAKESETUP) Setup Setup.local
+#		$(SHELL) $(MAKESETUP) Setup Setup.local
+
+Setup:
+		cp $(srcdir)/Setup.in Setup
+
+Setup.local:
+		echo "# Edit this file for local setup changes" >Setup.local
+
+# Makefile.pre:	Makefile.pre.in ../config.status
+# 		(cd ..; CONFIG_FILES=Modules/Makefile.pre CONFIG_HEADERS= \
+# 		$(SHELL) config.status)
+# 
+depend:
+		$(MKDEP) $(CFLAGS) `echo $(OBJS) | tr ' ' '\012' | \
+					sed 's|\(.*\)\.o|$(srcdir)/\1.c|'`
+
+.PRECIOUS:	../python.exe
+
+glmodule.c:	$(srcdir)/cgen.py $(srcdir)/cstubs
+		python $(srcdir)/cgen.py <$(srcdir)/cstubs >glmodule.c
+
+almodule.o: almodule.c
+arraymodule.o: arraymodule.c
+audioop.o: audioop.c
+cdmodule.o: cdmodule.c
+clmodule.o: clmodule.c
+dbmmodule.o: dbmmodule.c
+errnomodule.o: errnomodule.c
+fcntlmodule.o: fcntlmodule.c
+flmodule.o: flmodule.c
+fmmodule.o: fmmodule.c
+glmodule.o: glmodule.c
+imageop.o: imageop.c
+imgfile.o: imgfile.c
+main.o: main.c
+mathmodule.o: mathmodule.c
+md5c.o: md5c.c
+md5module.o: md5module.c
+mpzmodule.o: mpzmodule.c
+nismodule.o: nismodule.c
+operator.o: operator.c
+parsermodule.o: parsermodule.c
+posixmodule.o: posixmodule.c
+pwdmodule.o: pwdmodule.c
+regexmodule.o: regexmodule.c
+regexpr.o: regexpr.c
+rgbimgmodule.o: rgbimgmodule.c
+rotormodule.o: rotormodule.c
+selectmodule.o: selectmodule.c
+sgimodule.o: sgimodule.c
+socketmodule.o: socketmodule.c
+stdwinmodule.o: stdwinmodule.c
+stropmodule.o: stropmodule.c
+structmodule.o: structmodule.c
+sunaudiodev.o: sunaudiodev.c
+svmodule.o: svmodule.c
+threadmodule.o: threadmodule.c
+timemodule.o: timemodule.c
+timingmodule.o: timingmodule.c
+xxmodule.o: xxmodule.c
+yuvconvert.o: yuvconvert.c
+
+# Rules to build and install all shared modules
+sharedmods:	$(SHAREDMODS)
+sharedinstall:	$(DESTSHARED) $(SHAREDMODS)
+		-for i in X $(SHAREDMODS); do \
+			if test $$i != X; \
+			then $(INSTALL_SHARED) $$i $(DESTSHARED)/$$i; \
+			fi; \
+		done
+
+# Install a shared module from outside of setup
+asharedinstall:	$(DESTSHARED) $(ASHAREDMODULE)$(SO)
+		-for i in dummy $(ASHAREDMODULE)$(SO); do \
+		    if test -f $$i; then mv $$i $(DESTSHARED)/$$i; fi; done
+
+# This is handy when modules need to know where the destination directory is:
+echodestshared: $(DESTSHARED)
+	echo 	$(DESTSHARED)
+
+DESTDIRS=	$(exec_prefix) $(LIBDIR) $(BINLIBDEST) $(DESTSHARED)
+
+$(DESTSHARED): 
+		@for i in $(DESTDIRS); \
+		do \
+			if test ! -d $$i; then \
+				echo "Creating directory $$i"; \
+				mkdir $$i; \
+				chmod 755 $$i; \
+			else	true; \
+			fi; \
+		done
+
+# Stuff is appended here by makesetup and make depend
+
+# Rules appended by makedepend
+
+posixmodule.o: $(srcdir)/posixmodule.c; $(CC) $(CFLAGS)  -c $(srcdir)/posixmodule.c -o posixmodule.o
+posixmodule$(SO):  posixmodule.o; $(LDSHARED)  posixmodule.o  -o posixmodule$(SO)
+signalmodule.o: $(srcdir)/signalmodule.c; $(CC) $(CFLAGS)  -c $(srcdir)/signalmodule.c -o signalmodule.o
+signalmodule$(SO):  signalmodule.o; $(LDSHARED)  signalmodule.o  -o signalmodule$(SO)
+arraymodule.o: $(srcdir)/arraymodule.c; $(CC) $(CFLAGS)  -c $(srcdir)/arraymodule.c -o arraymodule.o
+arraymodule$(SO):  arraymodule.o; $(LDSHARED)  arraymodule.o  -o arraymodule$(SO)
+cmathmodule.o: $(srcdir)/cmathmodule.c; $(CC) $(CFLAGS)  -c $(srcdir)/cmathmodule.c -o cmathmodule.o
+cmathmodule$(SO):  cmathmodule.o; $(LDSHARED)  cmathmodule.o  -o cmathmodule$(SO)
+mathmodule.o: $(srcdir)/mathmodule.c; $(CC) $(CFLAGS)  -c $(srcdir)/mathmodule.c -o mathmodule.o
+mathmodule$(SO):  mathmodule.o; $(LDSHARED)  mathmodule.o  -o mathmodule$(SO)
+regexmodule.o: $(srcdir)/regexmodule.c; $(CC) $(CFLAGS)  -c $(srcdir)/regexmodule.c -o regexmodule.o
+regexpr.o: $(srcdir)/regexpr.c; $(CC) $(CFLAGS)  -c $(srcdir)/regexpr.c -o regexpr.o
+regexmodule$(SO):  regexmodule.o regexpr.o; $(LDSHARED)  regexmodule.o regexpr.o  -o regexmodule$(SO)
+stropmodule.o: $(srcdir)/stropmodule.c; $(CC) $(CFLAGS)  -c $(srcdir)/stropmodule.c -o stropmodule.o
+stropmodule$(SO):  stropmodule.o; $(LDSHARED)  stropmodule.o  -o stropmodule$(SO)
+structmodule.o: $(srcdir)/structmodule.c; $(CC) $(CFLAGS)  -c $(srcdir)/structmodule.c -o structmodule.o
+structmodule$(SO):  structmodule.o; $(LDSHARED)  structmodule.o  -o structmodule$(SO)
+timemodule.o: $(srcdir)/timemodule.c; $(CC) $(CFLAGS)  -c $(srcdir)/timemodule.c -o timemodule.o
+timemodule$(SO):  timemodule.o; $(LDSHARED)  timemodule.o  -o timemodule$(SO)
+operator.o: $(srcdir)/operator.c; $(CC) $(CFLAGS)  -c $(srcdir)/operator.c -o operator.o
+operator$(SO):  operator.o; $(LDSHARED)  operator.o  -o operator$(SO)
+fcntlmodule.o: $(srcdir)/fcntlmodule.c; $(CC) $(CFLAGS)  -c $(srcdir)/fcntlmodule.c -o fcntlmodule.o
+fcntlmodule$(SO):  fcntlmodule.o; $(LDSHARED)  fcntlmodule.o  -o fcntlmodule$(SO)
+pwdmodule.o: $(srcdir)/pwdmodule.c; $(CC) $(CFLAGS)  -c $(srcdir)/pwdmodule.c -o pwdmodule.o
+pwdmodule$(SO):  pwdmodule.o; $(LDSHARED)  pwdmodule.o  -o pwdmodule$(SO)
+grpmodule.o: $(srcdir)/grpmodule.c; $(CC) $(CFLAGS)  -c $(srcdir)/grpmodule.c -o grpmodule.o
+grpmodule$(SO):  grpmodule.o; $(LDSHARED)  grpmodule.o  -o grpmodule$(SO)
+cryptmodule.o: $(srcdir)/cryptmodule.c; $(CC) $(CFLAGS)  -c $(srcdir)/cryptmodule.c -o cryptmodule.o
+cryptmodule$(SO):  cryptmodule.o; $(LDSHARED)  cryptmodule.o  -o cryptmodule$(SO)
+selectmodule.o: $(srcdir)/selectmodule.c; $(CC) $(CFLAGS)  -c $(srcdir)/selectmodule.c -o selectmodule.o
+selectmodule$(SO):  selectmodule.o; $(LDSHARED)  selectmodule.o  -o selectmodule$(SO)
+socketmodule.o: $(srcdir)/socketmodule.c; $(CC) $(CFLAGS)  -c $(srcdir)/socketmodule.c -o socketmodule.o
+socketmodule$(SO):  socketmodule.o; $(LDSHARED)  socketmodule.o  -o socketmodule$(SO)
+errnomodule.o: $(srcdir)/errnomodule.c; $(CC) $(CFLAGS)  -c $(srcdir)/errnomodule.c -o errnomodule.o
+errnomodule$(SO):  errnomodule.o; $(LDSHARED)  errnomodule.o  -o errnomodule$(SO)
+audioop.o: $(srcdir)/audioop.c; $(CC) $(CFLAGS)  -c $(srcdir)/audioop.c -o audioop.o
+audioop$(SO):  audioop.o; $(LDSHARED)  audioop.o  -o audioop$(SO)
+imageop.o: $(srcdir)/imageop.c; $(CC) $(CFLAGS)  -c $(srcdir)/imageop.c -o imageop.o
+imageop$(SO):  imageop.o; $(LDSHARED)  imageop.o  -o imageop$(SO)
+rgbimgmodule.o: $(srcdir)/rgbimgmodule.c; $(CC) $(CFLAGS)  -c $(srcdir)/rgbimgmodule.c -o rgbimgmodule.o
+rgbimgmodule$(SO):  rgbimgmodule.o; $(LDSHARED)  rgbimgmodule.o  -o rgbimgmodule$(SO)
+md5module.o: $(srcdir)/md5module.c; $(CC) $(CFLAGS)  -c $(srcdir)/md5module.c -o md5module.o
+md5c.o: $(srcdir)/md5c.c; $(CC) $(CFLAGS)  -c $(srcdir)/md5c.c -o md5c.o
+md5module$(SO):  md5module.o md5c.o; $(LDSHARED)  md5module.o md5c.o  -o md5module$(SO)
+rotormodule.o: $(srcdir)/rotormodule.c; $(CC) $(CFLAGS)  -c $(srcdir)/rotormodule.c -o rotormodule.o
+rotormodule$(SO):  rotormodule.o; $(LDSHARED)  rotormodule.o  -o rotormodule$(SO)
+binascii.o: $(srcdir)/binascii.c; $(CC) $(CFLAGS)  -c $(srcdir)/binascii.c -o binascii.o
+binascii$(SO):  binascii.o; $(LDSHARED)  binascii.o  -o binascii$(SO)
+parsermodule.o: $(srcdir)/parsermodule.c; $(CC) $(CFLAGS)  -c $(srcdir)/parsermodule.c -o parsermodule.o
+parsermodule$(SO):  parsermodule.o; $(LDSHARED)  parsermodule.o  -o parsermodule$(SO)
diff --new-file -ru Python-1.4.orig/Modules/Makefile.pre Python-1.4/Modules/Makefile.pre
--- Python-1.4.orig/Modules/Makefile.pre	Thu Jan  1 01:00:00 1970
+++ Python-1.4/Modules/Makefile.pre	Sat Nov 16 16:26:18 1996
@@ -0,0 +1,235 @@
+# Generated automatically from Makefile.pre.in by configure.
+# META-NOTE: this note is different from the note in the other Makefiles!
+# NOTE: Makefile.pre.in is converted into Makefile.pre by the configure
+# script in the toplevel directory or by ../config.status.
+# Makefile.pre is converted into Makefile by running the makesetup
+# script in the source directory.  Once Makefile exists, it can be
+# brought up to date by running "make Makefile".  (The makesetup also
+# creates config.c from config.c.in in the source directory.)
+
+# Interpreter version number, for library destination pathnames
+VERSION=	1.4
+
+# === Variables set by makesetup ===
+
+MODOBJS=	_MODOBJS_
+MODLIBS=	_MODLIBS_
+
+# === Variables set by configure ===
+
+srcdir=		.
+
+CC=		gcc
+RANLIB=		ranlib
+AR=		ar
+
+OPT=		-O
+LDFLAGS=	
+
+DEFS=		-DHAVE_CONFIG_H
+LIBS=		-lieee -ldl 
+LIBM=		-lm
+LIBC=		
+
+# Machine-dependent subdirectories
+MACHDEP=	linux2
+
+# Install prefix for architecture-independent files
+prefix=		/usr
+
+# Install prefix for architecture-dependent files
+exec_prefix=	${prefix}
+
+# Expanded directories
+BINDIR=		$(exec_prefix)/bin
+LIBDIR=		$(exec_prefix)/lib
+MANDIR=		$(prefix)/man
+INCLUDEDIR=	$(prefix)/include
+SCRIPTDIR=	$(prefix)/lib
+
+# Detailed destination directories
+BINLIBDEST=	$(LIBDIR)/python$(VERSION)
+LIBDEST=	$(SCRIPTDIR)/python$(VERSION)
+INCLUDEPY=	$(INCLUDEDIR)/python$(VERSION)
+LIBP=		$(LIBDIR)/python$(VERSION)
+
+# Symbols used for using shared libraries
+SO=		.so
+LDSHARED=	gcc -shared
+CCSHARED=	-fpic
+LINKFORSHARED=	-rdynamic
+DESTSHARED=	$(BINLIBDEST)/sharedmodules
+
+# Portable install script (configure doesn't always guess right)
+INSTALL=	./../install-sh -c
+INSTALL_PROGRAM=${INSTALL} -m 755
+INSTALL_DATA=	${INSTALL} -m 644
+# Shared libraries must be installed with executable mode on some systems;
+# rather than figuring out exactly which, we always give them executable mode.
+# Also, making them read-only seems to be a good idea...
+INSTALL_SHARED=	${INSTALL} -m 555
+
+# === Variables that are customizable by hand or by inclusion in Setup ===
+
+LINKCC=		$(CC)
+INCLDIR=	$(srcdir)/../Include
+CONFIGINCLDIR=	..
+CFLAGS=		$(OPT) -I$(INCLDIR) -I$(CONFIGINCLDIR) $(DEFS)
+
+MKDEP=		mkdep
+SHELL=		/bin/sh
+
+MAKESETUP=	$(srcdir)/makesetup
+
+# (The makesetup script inserts all variable definitions found
+# found in the Setup file just below the following line.
+# This means that the Setup file can override any of the definitions
+# given before this point, but not any given below.
+# The script insert the definitions in reverse order,
+# for the benefits of independent extensions.)
+# === Definitions added by makesetup ===
+
+# === Fixed definitions ===
+
+OBJS=		$(MODOBJS)
+
+ADDOBJS=	main.o config.o getpath.o
+
+LIB=		libModules.a
+
+MYLIBS=		$(LIB) \
+		../Python/libPython.a \
+		../Objects/libObjects.a \
+		../Parser/libParser.a
+
+SYSLIBS=	$(LIBM) $(LIBC)
+
+
+# === Rules ===
+
+all:		$(LIB) ../python sharedmods
+
+asharedmodule:	$(ASHAREDMODULE)$(SO)
+
+$(ASHAREDMODULE)$(SO): $(ASHAREDMODULESOBS)
+	$(LDSHARED) $(LDFLAGS) -o $(ASHAREDMODULE)$(SO) $(ASHAREDMODULESOBS) \
+	$(ASHAREDMODULESEXTRA)
+
+$(LIB):		$& $(OBJS) Makefile
+		-rm -f $(LIB)
+		$(AR) cr $(LIB) $(OBJS)
+		$(RANLIB) $(LIB)
+
+../python:	$(MYLIBS) $(ADDOBJS) Makefile
+		$(LINKCC) $(LDFLAGS) $(OPT) $(LINKFORSHARED) $(ADDOBJS) \
+		      $(MYLIBS) $(MODLIBS) $(LIBS) $(SYSLIBS) -o python
+		mv python ../python
+
+clean:
+		-rm -f *.o python core *~ [@,#]* *.old *.orig *.rej
+
+clobber:	clean
+		-rm -f *.a tags TAGS config.c glmodule.c Makefile.pre
+		-rm -f *.so *.sl so_locations
+
+getpath.o:	getpath.c Makefile
+		$(CC) -c $(CFLAGS) -DPYTHONPATH='"$(PYTHONPATH)"' \
+		      -DPREFIX='"$(prefix)"' \
+		      -DEXEC_PREFIX='"$(exec_prefix)"' \
+		      $(srcdir)/getpath.c
+
+config.c Makefile: Makefile.pre config.c.in $(MAKESETUP) Setup Setup.local
+		$(SHELL) $(MAKESETUP) Setup Setup.local
+
+Setup:
+		cp $(srcdir)/Setup.in Setup
+
+Setup.local:
+		echo "# Edit this file for local setup changes" >Setup.local
+
+Makefile.pre:	Makefile.pre.in ../config.status
+		(cd ..; CONFIG_FILES=Modules/Makefile.pre CONFIG_HEADERS= \
+		$(SHELL) config.status)
+
+depend:
+		$(MKDEP) $(CFLAGS) `echo $(OBJS) | tr ' ' '\012' | \
+					sed 's|\(.*\)\.o|$(srcdir)/\1.c|'`
+
+.PRECIOUS:	../python
+
+glmodule.c:	$(srcdir)/cgen.py $(srcdir)/cstubs
+		python $(srcdir)/cgen.py <$(srcdir)/cstubs >glmodule.c
+
+almodule.o: almodule.c
+arraymodule.o: arraymodule.c
+audioop.o: audioop.c
+cdmodule.o: cdmodule.c
+clmodule.o: clmodule.c
+dbmmodule.o: dbmmodule.c
+errnomodule.o: errnomodule.c
+fcntlmodule.o: fcntlmodule.c
+flmodule.o: flmodule.c
+fmmodule.o: fmmodule.c
+glmodule.o: glmodule.c
+imageop.o: imageop.c
+imgfile.o: imgfile.c
+main.o: main.c
+mathmodule.o: mathmodule.c
+md5c.o: md5c.c
+md5module.o: md5module.c
+mpzmodule.o: mpzmodule.c
+nismodule.o: nismodule.c
+operator.o: operator.c
+parsermodule.o: parsermodule.c
+posixmodule.o: posixmodule.c
+pwdmodule.o: pwdmodule.c
+regexmodule.o: regexmodule.c
+regexpr.o: regexpr.c
+rgbimgmodule.o: rgbimgmodule.c
+rotormodule.o: rotormodule.c
+selectmodule.o: selectmodule.c
+sgimodule.o: sgimodule.c
+socketmodule.o: socketmodule.c
+stdwinmodule.o: stdwinmodule.c
+stropmodule.o: stropmodule.c
+structmodule.o: structmodule.c
+sunaudiodev.o: sunaudiodev.c
+svmodule.o: svmodule.c
+threadmodule.o: threadmodule.c
+timemodule.o: timemodule.c
+timingmodule.o: timingmodule.c
+xxmodule.o: xxmodule.c
+yuvconvert.o: yuvconvert.c
+
+# Rules to build and install all shared modules
+sharedmods:	$(SHAREDMODS)
+sharedinstall:	$(DESTSHARED) $(SHAREDMODS)
+		-for i in X $(SHAREDMODS); do \
+			if test $$i != X; \
+			then $(INSTALL_SHARED) $$i $(DESTSHARED)/$$i; \
+			fi; \
+		done
+
+# Install a shared module from outside of setup
+asharedinstall:	$(DESTSHARED) $(ASHAREDMODULE)$(SO)
+		-for i in dummy $(ASHAREDMODULE)$(SO); do \
+		    if test -f $$i; then mv $$i $(DESTSHARED)/$$i; fi; done
+
+# This is handy when modules need to know where the destination directory is:
+echodestshared: $(DESTSHARED)
+	echo 	$(DESTSHARED)
+
+DESTDIRS=	$(exec_prefix) $(LIBDIR) $(BINLIBDEST) $(DESTSHARED)
+
+$(DESTSHARED): 
+		@for i in $(DESTDIRS); \
+		do \
+			if test ! -d $$i; then \
+				echo "Creating directory $$i"; \
+				mkdir $$i; \
+				chmod 755 $$i; \
+			else	true; \
+			fi; \
+		done
+
+# Stuff is appended here by makesetup and make depend
diff --new-file -ru Python-1.4.orig/Modules/Python.def Python-1.4/Modules/Python.def
--- Python-1.4.orig/Modules/Python.def	Thu Jan  1 01:00:00 1970
+++ Python-1.4/Modules/Python.def	Sat Nov 16 17:16:24 1996
@@ -0,0 +1,5 @@
+NAME 		PYTHON 	WINDOWCOMPAT
+CODE    	PRELOAD MOVABLE DISCARDABLE
+DATA           	PRELOAD MOVABLE
+DESCRIPTION	'Python 1.4 for OS/2 - EMX0.9c FIX 02'
+STACKSIZE	128000
diff --new-file -ru Python-1.4.orig/Modules/Setup Python-1.4/Modules/Setup
--- Python-1.4.orig/Modules/Setup	Thu Jan  1 01:00:00 1970
+++ Python-1.4/Modules/Setup	Sat Nov 16 16:26:18 1996
@@ -0,0 +1,316 @@
+# The file Setup is used by the makesetup script to construct the files
+# Makefile and config.c, from Makefile.pre and config.c.in,
+# respectively.  The file Setup itself is initially copied from
+# Setup.in; once it exists it will not be overwritten, so you can edit
+# Setup to your heart's content.  Note that Makefile.pre is created
+# from Makefile.pre.in by the toplevel configure script.
+
+# (VPATH notes: Setup and Makefile.pre are in the build directory, as
+# are Makefile and config.c; the *.in files are in the source
+# directory.)
+
+# Each line in this file describes one or more optional modules.
+# Comment out lines to suppress modules.
+# Lines have the following structure:
+#
+# <module> ... [<sourcefile> ...] [<cpparg> ...] [<library> ...]
+#
+# <sourcefile> is anything ending in .c (.C, .cc, .c++ are C++ files)
+# <cpparg> is anything starting with -I, -D, -U or -C
+# <library> is anything ending in .a or beginning with -l or -L
+# <module> is anything else but should be a valid Python
+# identifier (letters, digits, underscores, beginning with non-digit)
+#
+# (As the makesetup script changes, it may recognize some other
+# arguments as well, e.g. *.so and *.sl as libraries.  See the big
+# case statement in the makesetup script.)
+#
+# Lines can also have the form
+#
+# <name> = <value>
+#
+# which defines a Make variable definition inserted into Makefile.in
+#
+# Finally, if a line has the literal form
+#
+# *shared*
+#
+# (that is including the '*' and '*' !) then the following modules will
+# not be included in the config.c file, nor in the list of objects to be
+# added to the library archive, and their linker options won't be added 
+# to the linker options, but rules to create their .o files and their
+# shared libraries will still be added to the Makefile, and their
+# names will be collected in the Make variable SHAREDMODS.  This is
+# used to build modules as shared libraries.  (They must be installed
+# using "make sharedinstall".)  (For compatibility, *noconfig* has the
+# same effect as *shared*.)
+
+# NOTE: As a standard policy, as many modules as can be supported by a
+# platform should be present.  The distribution comes with all modules
+# enabled that are supported by most platforms and don't require you
+# to ftp sources from elsewhere.
+
+
+# -------> Uncomment this line if you are running AIX    <----------
+# -------> and if you are building with shared libraries <----------
+#LINKCC= makexp_aix python.exp "" $(MYLIBS) $(ADDOBJS) ; $(CC)
+
+
+# Some special rules to define PYTHONPATH.
+# Edit the definitions below to indicate which options you are using.
+# Don't add any whitespace or comments!
+
+# Directories where library files get installed.
+# DESTLIB is for Python modules; MACHDESTLIB for shared libraries.
+DESTLIB=$(LIBDEST)
+MACHDESTLIB=$(BINLIBDEST)
+
+# Standard path -- don't edit.
+# No leading colon since this is the first entry
+DESTPATH=$(DESTLIB)
+
+# Site specific path components -- should begin with : if non-empty
+SITEPATH=
+
+# Standard path components for test modules
+TESTPATH=:$(DESTLIB)/test
+
+# Path components for machine- or system-dependent modules and shared libraries
+MACHDEPPATH=:$(DESTLIB)/$(MACHDEP):$(MACHDESTLIB)/sharedmodules
+
+COREPYTHONPATH=$(DESTPATH)$(SITEPATH)$(TESTPATH)$(MACHDEPPATH)$(STDWINPATH)$(TKPATH)
+PYTHONPATH=$(COREPYTHONPATH)
+
+
+# The modules listed here can't be built as shared libraries for
+# various reasons; therefore they are listed here instead of in the
+# normal order.
+
+# Some modules that are normally always on:
+
+posix posixmodule.c		# posix (UNIX) system calls
+signal signalmodule.c		# signal(2)
+
+# The SGI specific GL module:
+
+#gl glmodule.c -lgl -lX11	# Graphics Library -- SGI only
+
+# Thread module -- use only if Python has thread support for your OS.
+# Note that you must have configured (and built!) Python with the
+# --with-thread option passed to the configure script for this to work:
+
+#thread threadmodule.c
+
+# Uncommenting the following line tells makesetup that all following
+# modules are to be built as shared libraries (see above for more
+# detail):
+
+#*shared*
+
+
+# Modules that should always be present (non UNIX dependent):
+
+array arraymodule.c	# array objects
+cmath cmathmodule.c # -lm # complex math library functions
+math mathmodule.c # -lm # math library functions, e.g. sin()
+regex regexmodule.c regexpr.c	# Regular expressions, GNU Emacs style
+strop stropmodule.c	# fast string operations implemented in C
+struct structmodule.c	# binary structure packing/unpacking
+time timemodule.c # -lm # time operations and variables
+operator operator.c	# operator.add() and similar goodies
+
+
+# Modules with some UNIX dependencies -- on by default:
+# (If you have a really backward UNIX, select and socket may not be
+# supported...)
+
+fcntl fcntlmodule.c	# fcntl(2) and ioctl(2)
+pwd pwdmodule.c		# pwd(3) 
+grp grpmodule.c		# grp(3)
+crypt cryptmodule.c # -lcrypt	# crypt(3); needs -lcrypt on some systems
+select selectmodule.c	# select(2); not on ancient System V
+socket socketmodule.c	# socket(2); not on ancient System V
+errno errnomodule.c	# posix (UNIX) errno values
+
+
+# Some more UNIX dependent modules -- off by default, since these
+# are not supported by all UNIX systems:
+
+#dbm dbmmodule.c 	# dbm(3) may require -lndbm or similar
+#nis nismodule.c 	# Sun yellow pages -- not everywhere
+#termios termios.c	# Steen Lumholt's termios module
+#_xdr _xdrmodule.c # -lnsl # Helper for xdrlib.py
+
+
+# Multimedia modules -- on by default.
+# These represent audio samples or images as strings:
+
+audioop audioop.c	# Operations on audio samples
+imageop imageop.c	# Operations on images
+rgbimg rgbimgmodule.c   # Read SGI RGB image files (but coded portably)
+
+
+# The stdwin module provides a simple, portable (between X11 and Mac)
+# windowing interface.  You need to ftp the STDWIN library, e.g. from
+# ftp://ftp.cwi.nl/pub/stdwin.  (If you get it elsewhere, be sure to
+# get version 1.0 or higher!)  The STDWIN variable must point to the
+# STDWIN toplevel directory.
+
+# Uncomment and edit as needed:
+#STDWIN=/ufs/guido/src/stdwin
+
+# Uncomment these lines:
+#STDWINPATH=:$(DESTLIB)/stdwin
+#LIBTEXTEDIT=$(STDWIN)/$(MACHDEP)/Packs/textedit/libtextedit.a
+#LIBX11STDWIN=$(STDWIN)/$(MACHDEP)/Ports/x11/libstdwin.a
+#stdwin stdwinmodule.c -I$(STDWIN)/H $(LIBTEXTEDIT) $(LIBX11STDWIN) -lX11
+
+# Use this instead of the last two lines above for alphanumeric stdwin:
+#LIBALFASTDWIN=$(STDWIN)/$(MACHDEP)/Ports/alfa/libstdwin.a
+#stdwin stdwinmodule.c -I$(STDWIN)/H $(LIBTEXTEDIT) $(LIBALFASTDWIN) -ltermcap
+
+
+# The md5 module implements the RSA Data Security, Inc. MD5
+# Message-Digest Algorithm, described in RFC 1321.  The necessary files
+# md5c.c and md5.h are included here.
+
+md5 md5module.c md5c.c
+
+
+# The mpz module interfaces to the GNU Multiple Precision library.
+# You need to ftp the GNU MP library.  
+# The GMP variable must point to the GMP source directory.
+# This was originally written and tested against GMP 1.2 and 1.3.2.
+# It has been modified by Rob Hooft to work with 2.0.2 as well, but I
+# haven't tested it recently.
+
+# A compatible MP library unencombered by the GPL also exists.  It was
+# posted to comp.sources.misc in volume 40 and is widely available from
+# FTP archive sites. One URL for it is:
+# ftp://gatekeeper.dec.com/.b/usenet/comp.sources.misc/volume40/fgmp/part01.Z
+
+#GMP=/ufs/guido/src/gmp
+#mpz mpzmodule.c -I$(GMP) $(GMP)/libgmp.a
+
+
+# SGI IRIX specific modules -- off by default.
+
+# These module work on any SGI machine:
+
+# *** gl must be enabled higher up in this file ***
+#fm fmmodule.c -lfm -lgl		# Font Manager
+#sgi sgimodule.c			# sgi.nap() and a few more
+
+# This module requires the header file
+# /usr/people/4Dgifts/iristools/include/izoom.h:
+
+#imgfile imgfile.c -limage -lgutil	# Image Processing Utilities
+
+
+# These modules require the Multimedia Development Option (I think):
+
+#al almodule.c -laudio			# Audio Library
+#cd cdmodule.c -lcdaudio -lds -lmediad	# CD Audio Library
+#cl clmodule.c -lcl -lawareaudio	# Compression Library
+#sv svmodule.c yuvconvert.c -lsvideo -lXext -lX11	# Starter Video
+
+
+# The FORMS library, by Mark Overmars, implements user interface
+# components such as dialogs and buttons using SGI's GL and FM
+# libraries.  You must ftp the FORMS library separately from
+# ftp://ftp.cs.ruu.nl/pub/SGI/FORMS.  It was tested with FORMS 2.2a.
+# The FORMS variable must point to the FORMS subdirectory of the forms
+# toplevel directory:
+
+#FORMS=/ufs/guido/src/forms/FORMS
+#fl flmodule.c -I$(FORMS) $(FORMS)/libforms.a -lfm -lgl
+
+
+# SunOS specific modules -- off by default:
+
+#sunaudiodev sunaudiodev.c
+
+
+# George Neville-Neil's timing module:
+
+#timing timingmodule.c
+
+
+# The _tkinter module.
+#
+# See the section "The Tk interface" in ../README for more info.
+#
+# Enable the TKPATH line and choose the most applicable _tkinter line.
+# You may have to change /usr/local to wherever Tcl/Tk are installed.
+# Change the -l arguments to use Tcl 7.4 and Tk 4.0!
+
+# *** ALWAYS enable this line:
+#TKPATH=:$(DESTLIB)/tkinter
+
+# *** Enable *one* of the following lines:
+# For Solaris:
+#_tkinter _tkinter.c -I/usr/openwin/include -I/usr/local/include -L/usr/openwin/lib -L/usr/local/lib -ltk4.1 -ltcl7.5 -lX11
+# For generic system (may have to add -I/-L options to find X11):
+#_tkinter _tkinter.c -I/usr/local/include -L/usr/local/lib -ltk4.1 -ltcl7.5 -lX11
+
+
+# Lance Ellinghaus's modules:
+
+rotor rotormodule.c		# enigma-inspired encryption
+#syslog syslogmodule.c		# syslog daemon interface
+
+
+# Lance's curses module.  This requires the System V version of
+# curses, sometimes known as ncurses (e.g. on Linux, link with
+# -lncurses instead of -lcurses; on SunOS 4.1.3, insert -I/usr/5include
+# -L/usr/5lib before -lcurses).
+
+#curses cursesmodule.c -lcurses -ltermcap
+
+
+
+# Tommy Burnette's 'new' module (creates new empty objects of certain kinds):
+
+#new newmodule.c
+
+
+# Generic (SunOS / SVR4) dynamic loading module.
+# This is not needed for dynamic loading of Python modules --
+# it is a highly experimental and dangerous device for calling
+# *arbitrary* C functions in *arbitrary* shared libraries:
+
+#dl dlmodule.c
+
+
+# Anthony Baxter's gdbm module (derived from Jack's dbm module)
+# GNU dbm(3) will require -lgdbm:
+
+#gdbm gdbmmodule.c -I/usr/local/include -L/usr/local/lib -lgdbm
+
+
+# Berkeley DB interface.
+#
+# This requires the Berkeley DB code, see
+# ftp://ftp.cs.berkeley.edu/pub/4bsd/db.1.85.tar.gz
+#
+# Edit the variables DB and DBPORT to point to the db top directory
+# and the subdirectory of PORT where you built it.
+
+#DB=/depot/sundry/src/berkeley-db/db.1.85
+#DBPORT=$(DB)/PORT/irix.5.3
+#bsddb bsddbmodule.o -I$(DBPORT)/include $(DBPORT)/libdb.a
+
+
+
+# David Wayne Williams' soundex module
+#soundex soundex.c
+
+# Helper module for various ascii-encoders
+binascii binascii.c
+
+# Fred Drake's interface to the Python parser
+parser parsermodule.c
+
+
+# Example -- included for reference only:
+# xx xxmodule.c
diff --new-file -ru Python-1.4.orig/Modules/Setup.local Python-1.4/Modules/Setup.local
--- Python-1.4.orig/Modules/Setup.local	Thu Jan  1 01:00:00 1970
+++ Python-1.4/Modules/Setup.local	Sat Nov 16 16:26:18 1996
@@ -0,0 +1 @@
+# Edit this file for local setup changes
diff --new-file -ru Python-1.4.orig/Modules/config.c Python-1.4/Modules/config.c
--- Python-1.4.orig/Modules/config.c	Thu Jan  1 01:00:00 1970
+++ Python-1.4/Modules/config.c	Sat Nov 16 16:26:18 1996
@@ -0,0 +1,117 @@
+/* Generated automatically from ./config.c.in by makesetup. */
+/* -*- C -*- ***********************************************
+Copyright 1991-1995 by Stichting Mathematisch Centrum, Amsterdam,
+The Netherlands.
+
+                        All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the names of Stichting Mathematisch
+Centrum or CWI or Corporation for National Research Initiatives or
+CNRI not be used in advertising or publicity pertaining to
+distribution of the software without specific, written prior
+permission.
+
+While CWI is the initial source for this software, a modified version
+is made available by the Corporation for National Research Initiatives
+(CNRI) at the Internet address ftp://ftp.python.org.
+
+STICHTING MATHEMATISCH CENTRUM AND CNRI DISCLAIM ALL WARRANTIES WITH
+REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH
+CENTRUM OR CNRI BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
+DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
+PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
+
+******************************************************************/
+
+/* 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"
+
+
+extern void initposix();
+extern void initsignal();
+extern void initarray();
+extern void initcmath();
+extern void initmath();
+extern void initregex();
+extern void initstrop();
+extern void initstruct();
+extern void inittime();
+extern void initoperator();
+extern void initfcntl();
+extern void initpwd();
+extern void initgrp();
+extern void initcrypt();
+extern void initselect();
+extern void initsocket();
+extern void initerrno();
+extern void initaudioop();
+extern void initimageop();
+extern void initrgbimg();
+extern void initmd5();
+extern void initrotor();
+extern void initbinascii();
+extern void initparser();
+
+/* -- ADDMODULE MARKER 1 -- */
+
+extern void PyMarshal_Init();
+extern void initimp();
+
+struct _inittab inittab[] = {
+
+	{"posix", initposix},
+	{"signal", initsignal},
+	{"array", initarray},
+	{"cmath", initcmath},
+	{"math", initmath},
+	{"regex", initregex},
+	{"strop", initstrop},
+	{"struct", initstruct},
+	{"time", inittime},
+	{"operator", initoperator},
+	{"fcntl", initfcntl},
+	{"pwd", initpwd},
+#ifndef __EMX__
+	{"grp", initgrp},
+	{"crypt", initcrypt},
+#endif
+	{"select", initselect},
+	{"socket", initsocket},
+	{"errno", initerrno},
+	{"audioop", initaudioop},
+	{"imageop", initimageop},
+	{"rgbimg", initrgbimg},
+	{"md5", initmd5},
+	{"rotor", initrotor},
+	{"binascii", initbinascii},
+	{"parser", initparser},
+
+/* -- ADDMODULE MARKER 2 -- */
+
+	/* This module "lives in" with marshal.c */
+	{"marshal", PyMarshal_Init},
+
+	/* This lives it with import.c */
+	{"imp", initimp},
+
+	/* These entries are here for sys.builtin_module_names */
+	{"__main__", NULL},
+	{"__builtin__", NULL},
+	{"sys", NULL},
+
+	/* Sentinel */
+	{0, 0}
+};
diff --new-file -ru Python-1.4.orig/Modules/fcntlmodule.c Python-1.4/Modules/fcntlmodule.c
--- Python-1.4.orig/Modules/fcntlmodule.c	Fri Oct 25 16:39:57 1996
+++ Python-1.4/Modules/fcntlmodule.c	Sat Nov 16 16:26:18 1996
@@ -136,6 +136,7 @@
 	return newintobject((long)ret);
 }
 
+#ifndef __EMX__
 
 /* flock(fd, operation) */
 
@@ -146,13 +147,14 @@
 {
 	int fd;
 	int code;
-	int ret;
+	int ret = -1;
 	FILE *f;
 
 	if (!getargs(args, "(ii)", &fd, &code))
 		return NULL;
 
 	BGN_SAVE
+
 #ifdef HAVE_FLOCK
 	ret = flock(fd, code);
 #else
@@ -233,14 +235,17 @@
 	INCREF(None);
 	return None;
 }
+#endif
 
 /* List of functions */
 
 static struct methodlist fcntl_methods[] = {
 	{"fcntl",	fcntl_fcntl},
 	{"ioctl",	fcntl_ioctl},
+#ifndef __EMX__
 	{"flock",	fcntl_flock},
 	{"lockf",       fcntl_lockf, 1},
+#endif
 	{NULL,		NULL}		/* sentinel */
 };
 
diff --new-file -ru Python-1.4.orig/Modules/main.c Python-1.4/Modules/main.c
--- Python-1.4.orig/Modules/main.c	Fri Oct 25 16:40:15 1996
+++ Python-1.4/Modules/main.c	Sat Nov 16 17:17:08 1996
@@ -82,7 +82,11 @@
 /* Main program */
 
 int
+#ifdef __EMX__
+Py_Main(argc, argv)
+#else
 main(argc, argv)
+#endif
 	int argc;
 	char **argv;
 {
diff --new-file -ru Python-1.4.orig/Modules/main_os2.c Python-1.4/Modules/main_os2.c
--- Python-1.4.orig/Modules/main_os2.c	Thu Jan  1 01:00:00 1970
+++ Python-1.4/Modules/main_os2.c	Sat Nov 16 16:26:18 1996
@@ -0,0 +1,43 @@
+/* -*- C -*- ***********************************************
+Copyright 1991-1995 by Stichting Mathematisch Centrum, Amsterdam,
+The Netherlands.
+
+                        All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the names of Stichting Mathematisch
+Centrum or CWI or Corporation for National Research Initiatives or
+CNRI not be used in advertising or publicity pertaining to
+distribution of the software without specific, written prior
+permission.
+
+While CWI is the initial source for this software, a modified version
+is made available by the Corporation for National Research Initiatives
+(CNRI) at the Internet address ftp://ftp.python.org.
+
+STICHTING MATHEMATISCH CENTRUM AND CNRI DISCLAIM ALL WARRANTIES WITH
+REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH
+CENTRUM OR CNRI BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
+DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
+PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
+
+******************************************************************/
+
+/* Python interpreter main program */
+
+extern int Py_Main(int, char **);
+
+int
+main(argc, argv)
+	int argc;
+	char **argv;
+{
+	_wildcard(&argc, &argv);
+	return Py_Main(argc, argv);
+}
diff --new-file -ru Python-1.4.orig/Modules/posixmodule.c Python-1.4/Modules/posixmodule.c
--- Python-1.4.orig/Modules/posixmodule.c	Fri Oct 25 16:40:31 1996
+++ Python-1.4/Modules/posixmodule.c	Sat Nov 16 16:26:18 1996
@@ -96,7 +96,9 @@
 #else			/* all other compilers */
 /* Unix functions that the configure script doesn't check for */
 #define HAVE_EXECV      1
+#ifndef __EMX__
 #define HAVE_FORK       1
+#endif
 #define HAVE_GETCWD     1
 #define HAVE_GETEGID    1
 #define HAVE_GETEUID    1
@@ -381,7 +383,11 @@
 	object *self;
 	object *args;
 {
+#ifdef __EMX__
+	return posix_1str(args, _chdir2);
+#else
 	return posix_1str(args, chdir);
+#endif
 }
 
 static object *
diff --new-file -ru Python-1.4.orig/Modules/python14.def Python-1.4/Modules/python14.def
--- Python-1.4.orig/Modules/python14.def	Thu Jan  1 01:00:00 1970
+++ Python-1.4/Modules/python14.def	Sat Nov 16 17:22:50 1996
@@ -0,0 +1,358 @@
+LIBRARY		PYTHON14
+EXPORTS
+	PyAST_Type=PyAST_Type
+	PyArg_Parse=PyArg_Parse
+	PyArg_ParseTuple=PyArg_ParseTuple
+	PyArg_ParseTupleAndKeywords=PyArg_ParseTupleAndKeywords
+	PyArgs_VaParse=PyArgs_VaParse
+	PyBuiltin_GetDict=PyBuiltin_GetDict
+	PyBuiltin_GetModule=PyBuiltin_GetModule
+	PyBuiltin_Init=PyBuiltin_Init
+	PyCFunction_GetFlags=PyCFunction_GetFlags
+	PyCFunction_GetFunction=PyCFunction_GetFunction
+	PyCFunction_GetSelf=PyCFunction_GetSelf
+	PyCFunction_New=PyCFunction_New
+	PyCFunction_Type=PyCFunction_Type
+	PyCObject_AsVoidPtr=PyCObject_AsVoidPtr
+	PyCObject_FromVoidPtr=PyCObject_FromVoidPtr
+	PyCObject_Type=PyCObject_Type
+	PyCallable_Check=PyCallable_Check
+	PyClass_IsSubclass=PyClass_IsSubclass
+	PyClass_New=PyClass_New
+	PyClass_Type=PyClass_Type
+	PyCode_New=PyCode_New
+	PyCode_Type=PyCode_Type
+	PyComplex_AsCComplex=PyComplex_AsCComplex
+	PyComplex_FromCComplex=PyComplex_FromCComplex
+	PyComplex_FromDoubles=PyComplex_FromDoubles
+	PyComplex_ImagAsDouble=PyComplex_ImagAsDouble
+	PyComplex_RealAsDouble=PyComplex_RealAsDouble
+	PyComplex_Type=PyComplex_Type
+	PyDict_Clear=PyDict_Clear
+	PyDict_DelItem=PyDict_DelItem
+	PyDict_DelItemString=PyDict_DelItemString
+	PyDict_GetItem=PyDict_GetItem
+	PyDict_GetItemString=PyDict_GetItemString
+	PyDict_Items=PyDict_Items
+	PyDict_Keys=PyDict_Keys
+	PyDict_New=PyDict_New
+	PyDict_Next=PyDict_Next
+	PyDict_SetItem=PyDict_SetItem
+	PyDict_SetItemString=PyDict_SetItemString
+	PyDict_Size=PyDict_Size
+	PyDict_Type=PyDict_Type
+	PyDict_Values=PyDict_Values
+	PyErr_BadArgument=PyErr_BadArgument
+	PyErr_BadInternalCall=PyErr_BadInternalCall
+	PyErr_CheckSignals=PyErr_CheckSignals
+	PyErr_Clear=PyErr_Clear
+	PyErr_Fetch=PyErr_Fetch
+	PyErr_NoMemory=PyErr_NoMemory
+	PyErr_Occurred=PyErr_Occurred
+	PyErr_Print=PyErr_Print
+	PyErr_Restore=PyErr_Restore
+	PyErr_SetFromErrno=PyErr_SetFromErrno
+	PyErr_SetInterrupt=PyErr_SetInterrupt
+	PyErr_SetNone=PyErr_SetNone
+	PyErr_SetObject=PyErr_SetObject
+	PyErr_SetString=PyErr_SetString
+	PyEval_CallFunction=PyEval_CallFunction
+	PyEval_CallMethod=PyEval_CallMethod
+	PyEval_CallObject=PyEval_CallObject
+	PyEval_CallObjectWithKeywords=PyEval_CallObjectWithKeywords
+	PyEval_EvalCode=PyEval_EvalCode
+	PyEval_GetBuiltins=PyEval_GetBuiltins
+	PyEval_GetFrame=PyEval_GetFrame
+	PyEval_GetGlobals=PyEval_GetGlobals
+	PyEval_GetLocals=PyEval_GetLocals
+	PyEval_GetOwner=PyEval_GetOwner
+	PyEval_GetRestricted=PyEval_GetRestricted
+	PyEval_RestoreThread=PyEval_RestoreThread
+	PyEval_SaveThread=PyEval_SaveThread
+	PyExc_AccessError=PyExc_AccessError
+	PyExc_AttributeError=PyExc_AttributeError
+	PyExc_ConflictError=PyExc_ConflictError
+	PyExc_EOFError=PyExc_EOFError
+	PyExc_IOError=PyExc_IOError
+	PyExc_ImportError=PyExc_ImportError
+	PyExc_IndexError=PyExc_IndexError
+	PyExc_KeyError=PyExc_KeyError
+	PyExc_KeyboardInterrupt=PyExc_KeyboardInterrupt
+	PyExc_MemoryError=PyExc_MemoryError
+	PyExc_NameError=PyExc_NameError
+	PyExc_OverflowError=PyExc_OverflowError
+	PyExc_RuntimeError=PyExc_RuntimeError
+	PyExc_SyntaxError=PyExc_SyntaxError
+	PyExc_SystemError=PyExc_SystemError
+	PyExc_SystemExit=PyExc_SystemExit
+	PyExc_TypeError=PyExc_TypeError
+	PyExc_ValueError=PyExc_ValueError
+	PyExc_ZeroDivisionError=PyExc_ZeroDivisionError
+	PyFile_AsFile=PyFile_AsFile
+	PyFile_FromFile=PyFile_FromFile
+	PyFile_FromString=PyFile_FromString
+	PyFile_GetLine=PyFile_GetLine
+	PyFile_Name=PyFile_Name
+	PyFile_SetBufSize=PyFile_SetBufSize
+	PyFile_SoftSpace=PyFile_SoftSpace
+	PyFile_Type=PyFile_Type
+	PyFile_WriteObject=PyFile_WriteObject
+	PyFile_WriteString=PyFile_WriteString
+	PyFloat_AsDouble=PyFloat_AsDouble
+	PyFloat_AsString=PyFloat_AsString
+	PyFloat_FromDouble=PyFloat_FromDouble
+	PyFloat_Type=PyFloat_Type
+	PyFrame_BlockPop=PyFrame_BlockPop
+	PyFrame_BlockSetup=PyFrame_BlockSetup
+	PyFrame_ExtendStack=PyFrame_ExtendStack
+	PyFrame_FastToLocals=PyFrame_FastToLocals
+	PyFrame_LocalsToFast=PyFrame_LocalsToFast
+	PyFrame_New=PyFrame_New
+	PyFrame_Type=PyFrame_Type
+	PyFunction_GetCode=PyFunction_GetCode
+	PyFunction_GetDefaults=PyFunction_GetDefaults
+	PyFunction_GetGlobals=PyFunction_GetGlobals
+	PyFunction_New=PyFunction_New
+	PyFunction_SetDefaults=PyFunction_SetDefaults
+	PyFunction_Type=PyFunction_Type
+	PyGrammar_AddAccelerators=PyGrammar_AddAccelerators
+	PyGrammar_FindDFA=PyGrammar_FindDFA
+	PyGrammar_LabelRepr=PyGrammar_LabelRepr
+	PyImport_AddModule=PyImport_AddModule
+	PyImport_Cleanup=PyImport_Cleanup
+	PyImport_ExecCodeModule=PyImport_ExecCodeModule
+	PyImport_FrozenModules=PyImport_FrozenModules
+	PyImport_GetMagicNumber=PyImport_GetMagicNumber
+	PyImport_GetModuleDict=PyImport_GetModuleDict
+	PyImport_ImportFrozenModule=PyImport_ImportFrozenModule
+	PyImport_ImportModule=PyImport_ImportModule
+	PyImport_Init=PyImport_Init
+	PyImport_ReloadModule=PyImport_ReloadModule
+	PyInstance_DoBinOp=PyInstance_DoBinOp
+	PyInstance_New=PyInstance_New
+	PyInstance_Type=PyInstance_Type
+	PyInt_AsLong=PyInt_AsLong
+	PyInt_FromLong=PyInt_FromLong
+	PyInt_GetMax=PyInt_GetMax
+	PyInt_Type=PyInt_Type
+	PyList_Append=PyList_Append
+	PyList_AsTuple=PyList_AsTuple
+	PyList_GetItem=PyList_GetItem
+	PyList_GetSlice=PyList_GetSlice
+	PyList_Insert=PyList_Insert
+	PyList_New=PyList_New
+	PyList_Reverse=PyList_Reverse
+	PyList_SetItem=PyList_SetItem
+	PyList_SetSlice=PyList_SetSlice
+	PyList_Size=PyList_Size
+	PyList_Sort=PyList_Sort
+	PyList_Type=PyList_Type
+	PyLong_AsDouble=PyLong_AsDouble
+	PyLong_AsLong=PyLong_AsLong
+	PyLong_FromDouble=PyLong_FromDouble
+	PyLong_FromLong=PyLong_FromLong
+	PyLong_FromString=PyLong_FromString
+	PyLong_Type=PyLong_Type
+	PyMapping_Check=PyMapping_Check
+	PyMapping_GetItemString=PyMapping_GetItemString
+	PyMapping_HasKey=PyMapping_HasKey
+	PyMapping_HasKeyString=PyMapping_HasKeyString
+	PyMapping_Length=PyMapping_Length
+	PyMapping_SetItemString=PyMapping_SetItemString
+	PyMarshal_Init=PyMarshal_Init
+	PyMarshal_ReadLongFromFile=PyMarshal_ReadLongFromFile
+	PyMarshal_ReadObjectFromFile=PyMarshal_ReadObjectFromFile
+	PyMarshal_ReadObjectFromString=PyMarshal_ReadObjectFromString
+	PyMarshal_WriteLongToFile=PyMarshal_WriteLongToFile
+	PyMarshal_WriteObjectToFile=PyMarshal_WriteObjectToFile
+	PyMarshal_WriteObjectToString=PyMarshal_WriteObjectToString
+	PyMember_Get=PyMember_Get
+	PyMember_Set=PyMember_Set
+	PyMethod_Class=PyMethod_Class
+	PyMethod_Function=PyMethod_Function
+	PyMethod_New=PyMethod_New
+	PyMethod_Self=PyMethod_Self
+	PyMethod_Type=PyMethod_Type
+	PyModule_GetDict=PyModule_GetDict
+	PyModule_GetName=PyModule_GetName
+	PyModule_New=PyModule_New
+	PyModule_Type=PyModule_Type
+	PyNode_AddChild=PyNode_AddChild
+	PyNode_Compile=PyNode_Compile
+	PyNode_Free=PyNode_Free
+	PyNode_New=PyNode_New
+	PyNumber_Absolute=PyNumber_Absolute
+	PyNumber_Add=PyNumber_Add
+	PyNumber_And=PyNumber_And
+	PyNumber_Check=PyNumber_Check
+	PyNumber_Coerce=PyNumber_Coerce
+	PyNumber_Divide=PyNumber_Divide
+	PyNumber_Divmod=PyNumber_Divmod
+	PyNumber_Float=PyNumber_Float
+	PyNumber_Int=PyNumber_Int
+	PyNumber_Invert=PyNumber_Invert
+	PyNumber_Long=PyNumber_Long
+	PyNumber_Lshift=PyNumber_Lshift
+	PyNumber_Multiply=PyNumber_Multiply
+	PyNumber_Negative=PyNumber_Negative
+	PyNumber_Or=PyNumber_Or
+	PyNumber_Positive=PyNumber_Positive
+	PyNumber_Power=PyNumber_Power
+	PyNumber_Remainder=PyNumber_Remainder
+	PyNumber_Rshift=PyNumber_Rshift
+	PyNumber_Subtract=PyNumber_Subtract
+	PyNumber_Xor=PyNumber_Xor
+	PyOS_GetLastModificationTime=PyOS_GetLastModificationTime
+	PyOS_InitInterrupts=PyOS_InitInterrupts
+	PyOS_InterruptOccurred=PyOS_InterruptOccurred
+	PyOS_Readline=PyOS_Readline
+;	PyOS_ReadlineInit=PyOS_ReadlineInit
+	PyOS_strtol=PyOS_strtol
+	PyOS_strtoul=PyOS_strtoul
+	PyObject_CallFunction=PyObject_CallFunction
+	PyObject_CallMethod=PyObject_CallMethod
+	PyObject_CallObject=PyObject_CallObject
+	PyObject_Cmp=PyObject_Cmp
+	PyObject_Compare=PyObject_Compare
+	PyObject_DelItem=PyObject_DelItem
+	PyObject_GetAttr=PyObject_GetAttr
+	PyObject_GetAttrString=PyObject_GetAttrString
+	PyObject_GetItem=PyObject_GetItem
+	PyObject_HasAttrString=PyObject_HasAttrString
+	PyObject_Hash=PyObject_Hash
+	PyObject_IsTrue=PyObject_IsTrue
+	PyObject_Length=PyObject_Length
+	PyObject_Print=PyObject_Print
+	PyObject_Repr=PyObject_Repr
+	PyObject_SetAttr=PyObject_SetAttr
+	PyObject_SetAttrString=PyObject_SetAttrString
+	PyObject_SetItem=PyObject_SetItem
+	PyObject_Str=PyObject_Str
+	PyObject_Type=PyObject_Type
+	PyParser_AddToken=PyParser_AddToken
+	PyParser_Delete=PyParser_Delete
+	PyParser_New=PyParser_New
+	PyParser_ParseFile=PyParser_ParseFile
+	PyParser_ParseString=PyParser_ParseString
+	PyParser_SimpleParseFile=PyParser_SimpleParseFile
+	PyParser_SimpleParseString=PyParser_SimpleParseString
+	PyRange_New=PyRange_New
+	PyRange_Type=PyRange_Type
+	PyRun_AnyFile=PyRun_AnyFile
+	PyRun_File=PyRun_File
+	PyRun_InteractiveLoop=PyRun_InteractiveLoop
+	PyRun_InteractiveOne=PyRun_InteractiveOne
+	PyRun_SimpleFile=PyRun_SimpleFile
+	PyRun_SimpleString=PyRun_SimpleString
+	PyRun_String=PyRun_String
+	PySequence_Check=PySequence_Check
+	PySequence_Concat=PySequence_Concat
+	PySequence_Count=PySequence_Count
+	PySequence_DelItem=PySequence_DelItem
+	PySequence_DelSlice=PySequence_DelSlice
+	PySequence_GetItem=PySequence_GetItem
+	PySequence_GetSlice=PySequence_GetSlice
+	PySequence_In=PySequence_In
+	PySequence_Index=PySequence_Index
+	PySequence_Length=PySequence_Length
+	PySequence_Repeat=PySequence_Repeat
+	PySequence_SetItem=PySequence_SetItem
+	PySequence_SetSlice=PySequence_SetSlice
+	PySequence_Tuple=PySequence_Tuple
+	PySlice_GetIndices=PySlice_GetIndices
+	PySlice_New=PySlice_New
+	PySlice_Type=PySlice_Type
+	PyString_AsString=PyString_AsString
+	PyString_Concat=PyString_Concat
+	PyString_ConcatAndDel=PyString_ConcatAndDel
+	PyString_Format=PyString_Format
+	PyString_FromString=PyString_FromString
+	PyString_FromStringAndSize=PyString_FromStringAndSize
+	PyString_Size=PyString_Size
+	PyString_Type=PyString_Type
+	PySys_GetFile=PySys_GetFile
+	PySys_GetObject=PySys_GetObject
+	PySys_Init=PySys_Init
+	PySys_SetArgv=PySys_SetArgv
+	PySys_SetObject=PySys_SetObject
+	PySys_SetPath=PySys_SetPath
+	PyToken_OneChar=PyToken_OneChar
+	PyToken_TwoChars=PyToken_TwoChars
+	PyTokenizer_Free=PyTokenizer_Free
+	PyTokenizer_FromFile=PyTokenizer_FromFile
+	PyTokenizer_FromString=PyTokenizer_FromString
+	PyTokenizer_Get=PyTokenizer_Get
+	PyTraceBack_Fetch=PyTraceBack_Fetch
+	PyTraceBack_Here=PyTraceBack_Here
+	PyTraceBack_Print=PyTraceBack_Print
+	PyTraceBack_Store=PyTraceBack_Store
+	PyTraceBack_Type=PyTraceBack_Type
+	PyTuple_GetItem=PyTuple_GetItem
+	PyTuple_GetSlice=PyTuple_GetSlice
+	PyTuple_New=PyTuple_New
+	PyTuple_SetItem=PyTuple_SetItem
+	PyTuple_Size=PyTuple_Size
+	PyTuple_Type=PyTuple_Type
+	PyType_Type=PyType_Type
+	Py_AddPendingCall=Py_AddPendingCall
+	Py_AtExit=Py_AtExit
+	Py_BuildValue=Py_BuildValue
+	Py_Cleanup=Py_Cleanup
+	Py_CompileString=Py_CompileString
+	Py_DebugFlag=Py_DebugFlag
+	Py_Exit=Py_Exit
+	Py_FatalError=Py_FatalError
+	Py_FindMethod=Py_FindMethod
+	Py_FindMethodInChain=Py_FindMethodInChain
+	Py_FlushLine=Py_FlushLine
+	Py_GetArgcArgv=Py_GetArgcArgv
+	Py_GetCompiler=Py_GetCompiler
+	Py_GetCopyright=Py_GetCopyright
+	Py_GetExecPrefix=Py_GetExecPrefix
+	Py_GetPath=Py_GetPath
+	Py_GetPlatform=Py_GetPlatform
+	Py_GetPrefix=Py_GetPrefix
+	Py_GetProgramName=Py_GetProgramName
+	Py_GetVersion=Py_GetVersion
+	Py_InitModule4=Py_InitModule4
+	Py_Initialize=Py_Initialize
+	Py_Main=Py_Main
+	Py_MakePendingCalls=Py_MakePendingCalls
+	Py_ReturnNullError=Py_ReturnNullError
+	Py_SuppressPrintingFlag=Py_SuppressPrintingFlag
+	Py_VaBuildValue=Py_VaBuildValue
+	Py_VerboseFlag=Py_VerboseFlag
+	_PyImport_Filetab=_PyImport_Filetab
+	_PyImport_LoadDynamicModule=_PyImport_LoadDynamicModule
+	_PyImport_MaxSuffixSize=_PyImport_MaxSuffixSize
+	_PyLong_New=_PyLong_New
+	_PyObject_New=_PyObject_New
+	_PyObject_NewVar=_PyObject_NewVar
+	_PyParser_Grammar=_PyParser_Grammar
+	_PyParser_TokenNames=_PyParser_TokenNames
+	_PyString_Resize=_PyString_Resize
+	_PySys_CheckInterval=_PySys_CheckInterval
+	_PySys_ProfileFunc=_PySys_ProfileFunc
+	_PySys_TraceFunc=_PySys_TraceFunc
+	_PyTuple_Resize=_PyTuple_Resize
+	_Py_EllipsisObject=_Py_EllipsisObject
+	_Py_MD5Final=_Py_MD5Final
+	_Py_MD5Init=_Py_MD5Init
+	_Py_MD5Update=_Py_MD5Update
+	_Py_NoneStruct=_Py_NoneStruct
+	_Py_TrueStruct=_Py_TrueStruct
+	_Py_ZeroStruct=_Py_ZeroStruct
+	_Py_c_diff=_Py_c_diff
+	_Py_c_neg=_Py_c_neg
+	_Py_c_pow=_Py_c_pow
+	_Py_c_prod=_Py_c_prod
+	_Py_c_quot=_Py_c_quot
+	_Py_c_sum=_Py_c_sum
+	_Py_re_compile_fastmap=_Py_re_compile_fastmap
+	_Py_re_compile_pattern=_Py_re_compile_pattern
+	_Py_re_match=_Py_re_match
+	_Py_re_match_2=_Py_re_match_2
+	_Py_re_search=_Py_re_search
+	_Py_re_search_2=_Py_re_search_2
+	_Py_re_set_syntax=_Py_re_set_syntax
+	_Py_re_syntax=_Py_re_syntax
diff --new-file -ru Python-1.4.orig/Modules/socketmodule.c Python-1.4/Modules/socketmodule.c
--- Python-1.4.orig/Modules/socketmodule.c	Fri Oct 25 16:40:44 1996
+++ Python-1.4/Modules/socketmodule.c	Sat Nov 16 16:26:20 1996
@@ -99,6 +99,9 @@
 #include <fcntl.h>
 #endif
 #ifdef HAVE_SYS_UN_H
+#ifdef __EMX__
+#define TCPIPV4
+#endif
 #include <sys/un.h>
 #else
 #undef AF_UNIX
diff --new-file -ru Python-1.4.orig/Modules/xxmodule.def Python-1.4/Modules/xxmodule.def
--- Python-1.4.orig/Modules/xxmodule.def	Thu Jan  1 01:00:00 1970
+++ Python-1.4/Modules/xxmodule.def	Sat Nov 16 16:26:20 1996
@@ -0,0 +1,3 @@
+LIBRARY XXModule
+EXPORTS
+	initxx=initxx
diff --new-file -ru Python-1.4.orig/Modules/xxmodule.mk Python-1.4/Modules/xxmodule.mk
--- Python-1.4.orig/Modules/xxmodule.mk	Thu Jan  1 01:00:00 1970
+++ Python-1.4/Modules/xxmodule.mk	Sat Nov 16 16:40:14 1996
@@ -0,0 +1,11 @@
+CC=gcc -Zomf
+CFLAGS=-O -I./../include -I.. -DHAVE_CONFIG_H 
+
+.SUFFIXES: .c .o .dll
+
+.c.o:
+	$(CC) $(CFLAGS) -c $< -o $*.o
+
+xx.dll: xxmodule.o
+	$(CC) -Zcrtdll -Zdll -o xx.dll xxmodule.o python14.lib xxmodule.def
+
diff --new-file -ru Python-1.4.orig/Objects/Makefile Python-1.4/Objects/Makefile
--- Python-1.4.orig/Objects/Makefile	Thu Jan  1 01:00:00 1970
+++ Python-1.4/Objects/Makefile	Sat Nov 16 16:38:12 1996
@@ -0,0 +1,99 @@
+
+# NOTE: Makefile.in is converted into Makefile by the configure script
+# in the parent directory.  Once configure has run, you can recreate
+# the Makefile by running just config.status.
+
+# === Variables set by config.stat ===
+
+srcdir=		.
+
+CC=		gcc
+RANLIB=		echo
+AR=		ar
+
+DEFS=		-DHAVE_CONFIG_H
+
+
+# === Other things that are customizable but not by configure ===
+
+INCLDIR=	$(srcdir)/../Include
+OPT=		-O
+CFLAGS=		$(OPT) -I$(INCLDIR) -I.. $(DEFS)
+
+MKDEP=		mkdep
+# SHELL=		/bin/sh
+
+
+# === Fixed definitions ===
+
+OBJS=		abstract.o accessobject.o \
+		classobject.o cobject.o complexobject.o \
+		fileobject.o floatobject.o \
+		frameobject.o funcobject.o intobject.o listobject.o \
+		longobject.o mappingobject.o methodobject.o \
+		moduleobject.o object.o rangeobject.o \
+		sliceobject.o stringobject.o \
+		tupleobject.o typeobject.o
+
+SRCS=		abstract.c accessobject.c \
+		classobject.c cobject.c complexobject.c \
+		fileobject.c floatobject.c \
+		frameobject.c funcobject.c intobject.c listobject.c \
+		longobject.c mappingobject.c methodobject.c \
+		moduleobject.c object.c rangeobject.c \
+		sliceobject.c stringobject.c \
+		tupleobject.c typeobject.c
+
+LIB=		libObjects.a
+
+
+# === Rules ===
+
+all:		$(LIB)
+
+$(LIB):		$& $(OBJS)
+		-rm -f $(LIB)
+		$(AR) crs $(LIB) $(OBJS)
+		$(RANLIB) $(LIB)
+
+clean:
+		-rm -f *.o core *~ [@,#]* *.old *.orig *.rej
+
+clobber:	clean
+		-rm -f *.a tags TAGS
+
+# Makefile:	$(srcdir)/Makefile.in ../config.status
+# 		(cd ..; CONFIG_FILES=Objects/Makefile CONFIG_HEADERS= \
+# 		$(SHELL) config.status)
+# 
+depend:
+		$(MKDEP) $(CFLAGS) `echo $(OBJS) | tr ' ' '\012' | \
+					sed 's|\(.*\)\.o|$(srcdir)/\1.c|'`
+
+.PRECIOUS:	Makefile
+
+abstract.o: abstract.c
+accessobject.o: accessobject.c
+classobject.o: classobject.c
+cobject.o: cobject.c
+complexobject.o: complexobject.c
+fileobject.o: fileobject.c
+floatobject.o: floatobject.c
+frameobject.o: frameobject.c
+funcobject.o: funcobject.c
+intobject.o: intobject.c
+listobject.o: listobject.c
+longobject.o: longobject.c
+mappingobject.o: mappingobject.c
+methodobject.o: methodobject.c
+moduleobject.o: moduleobject.c
+object.o: object.c
+rangeobject.o: rangeobject.c
+sliceobject.o: sliceobject.c
+stringobject.o: stringobject.c
+tupleobject.o: tupleobject.c
+typeobject.o: typeobject.c
+
+# DO NOT DELETE THIS LINE -- mkdep uses it.
+# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
+# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
diff --new-file -ru Python-1.4.orig/Parser/Makefile Python-1.4/Parser/Makefile
--- Python-1.4.orig/Parser/Makefile	Thu Jan  1 01:00:00 1970
+++ Python-1.4/Parser/Makefile	Sat Nov 16 16:34:10 1996
@@ -0,0 +1,91 @@
+# Generated automatically from Makefile.in by configure.
+# NOTE: Makefile.in is converted into Makefile by the configure script
+# in the parent directory.  Once configure has run, you can recreate
+# the Makefile by running just config.status.
+
+# === Variables set by config.stat ===
+
+srcdir=		.
+
+CC=		gcc
+RANLIB=		echo
+AR=		ar
+
+DEFS=		-DHAVE_CONFIG_H
+
+
+# === Other things that are customizable but not by configure ===
+
+INCLDIR=	$(srcdir)/../Include
+OPT=		-O
+CFLAGS=		$(OPT) -I$(INCLDIR) -I.. $(DEFS)
+
+MKDEP=		mkdep
+# SHELL=		/bin/sh
+
+
+# === Fixed definitions ===
+
+PARSEROBJS=	acceler.o grammar1.o \
+		intrcheck.o listnode.o myreadline.o node.o parser.o \
+		parsetok.o tokenizer.o bitset.o \
+		firstsets.o grammar.o metagrammar.o pgen.o \
+		printgrammar.o
+
+PGENOBJS=	pgenmain.o
+
+OBJS=		$(PGENOBJS) $(PARSEROBJS)
+
+PGEN=		pgen.exe
+
+LIB=		libParser.a
+
+
+# === Rules ===
+
+all:		$(LIB) $(PGEN)
+
+$(LIB):		$& $(PARSEROBJS)
+		-rm -f $(LIB)
+		$(AR) crs $(LIB) $(PARSEROBJS)
+		$(RANLIB) $(LIB)
+
+$(PGEN):	$(PGENOBJS) $(LIB)
+		$(CC) $(OPT) $(PGENOBJS) $(LIB) -o $(PGEN)
+
+clean:
+		-rm -f *.o core *~ [@,#]* *.old *.orig *.rej
+
+clobber:	clean
+		-rm -f $(PGEN) *.a tags TAGS
+
+# Makefile:	$(srcdir)/Makefile.in ../config.status
+# 		(cd ..; CONFIG_FILES=Parser/Makefile CONFIG_HEADERS= \
+# 		$(SHELL) config.status)
+# 
+depend:
+		$(MKDEP) $(CFLAGS) `echo $(OBJS) | tr ' ' '\012' | \
+					sed 's|\(.*\)\.o|$(srcdir)/\1.c|'`
+
+.PRECIOUS:	Makefile
+
+acceler.o: acceler.c
+grammar1.o: grammar1.c
+intrcheck.o: intrcheck.c
+listnode.o: listnode.c
+myreadline.o: myreadline.c
+node.o: node.c
+parser.o: parser.c
+parsetok.o: parsetok.c
+tokenizer.o: tokenizer.c
+bitset.o: bitset.c
+firstsets.o: firstsets.c
+grammar.o: grammar.c
+metagrammar.o: metagrammar.c
+pgen.o: pgen.c
+printgrammar.o: printgrammar.c
+pgenmain.o: pgenmain.c
+
+# DO NOT DELETE THIS LINE -- mkdep uses it.
+# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
+# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
diff --new-file -ru Python-1.4.orig/Python/Makefile Python-1.4/Python/Makefile
--- Python-1.4.orig/Python/Makefile	Thu Jan  1 01:00:00 1970
+++ Python-1.4/Python/Makefile	Sat Nov 16 16:38:38 1996
@@ -0,0 +1,122 @@
+# Generated automatically from Makefile.in by configure.
+# NOTE: Makefile.in is converted into Makefile by the configure script
+# in the parent directory.  Once configure has run, you can recreate
+# the Makefile by running just config.status.
+
+# === Variables set by config.stat ===
+
+srcdir=		.
+
+CC=		gcc
+RANLIB=		echo
+AR=		ar
+
+DEFS=		-DHAVE_CONFIG_H
+LIBOBJS=	 getopt.o
+LIBS=
+DLINCLDIR=	/
+
+# Machine-dependent subdirectories
+MACHDEP=	os2
+
+
+# === Other things that are customizable but not by configure ===
+
+INCLDIR=	$(srcdir)/../Include
+OPT=		-O
+CFLAGS=		$(OPT) -I$(INCLDIR) -I.. $(DEFS)
+
+MKDEP=		mkdep
+# SHELL=		/bin/sh
+
+
+# === Fixed definitions ===
+
+OBJS=		\
+		bltinmodule.o \
+		ceval.o cgensupport.o compile.o \
+		errors.o \
+		frozen.o \
+		getargs.o getcompiler.o getcopyright.o getmtime.o \
+		getplatform.o getversion.o graminit.o \
+		import.o importdl.o \
+		marshal.o modsupport.o mystrtoul.o \
+		pythonrun.o \
+		sigcheck.o structmember.o sysmodule.o \
+		traceback.o \
+		$(LIBOBJS)
+
+LIB=		libPython.a
+
+SYSLIBS=	-lm
+
+
+# === Rules ===
+
+all:		$(LIB)
+
+$(LIB):		$& $(OBJS)
+		-rm -f $(LIB)
+		$(AR) crs $(LIB) $(OBJS)
+		$(RANLIB) $(LIB)
+
+clean:
+		-rm -f *.o core *~ [@,#]* *.old *.orig *.rej
+
+clobber:	clean
+		-rm -f *.a tags TAGS
+
+# Makefile:	$(srcdir)/Makefile.in ../config.status
+# 		(cd ..; CONFIG_FILES=Python/Makefile CONFIG_HEADERS= \
+# 		$(SHELL) config.status)
+# 
+getplatform.o:	getplatform.c Makefile
+		$(CC) -c $(CFLAGS) -DPLATFORM='"$(MACHDEP)"' \
+		      $(srcdir)/getplatform.c -o getplatform.o
+
+importdl.o:	importdl.c
+		$(CC) -c $(CFLAGS) -I$(DLINCLDIR) $(srcdir)/importdl.c -o importdl.o
+
+depend:
+		$(MKDEP) $(CFLAGS) `echo $(OBJS) | tr ' ' '\012' | \
+					sed 's|\(.*\)\.o|$(srcdir)/\1.c|'`
+
+.PRECIOUS:	Makefile
+
+bltinmodule.o: bltinmodule.c
+ceval.o: ceval.c
+cgensupport.o: cgensupport.c
+compile.o: compile.c
+dup2.o: dup2.c
+errors.o: errors.c
+fmod.o: fmod.c
+frozen.o: frozen.c
+frozenmain.o: frozenmain.c
+getargs.o: getargs.c
+getcompiler.o: getcompiler.c
+getcopyright.o: getcopyright.c
+getcwd.o: getcwd.c
+getmtime.o: getmtime.c
+getopt.o: getopt.c
+getplatform.o: getplatform.c
+getversion.o: getversion.c
+graminit.o: graminit.c
+import.o: import.c
+importdl.o: importdl.c
+marshal.o: marshal.c
+memmove.o: memmove.c
+modsupport.o: modsupport.c
+mystrtoul.o: mystrtoul.c
+pythonrun.o: pythonrun.c
+sigcheck.o: sigcheck.c
+strerror.o: strerror.c
+strtod.o: strtod.c
+structmember.o: structmember.c
+sysmodule.o: sysmodule.c
+thread.o: thread.c
+traceback.o: traceback.c
+version.o: version.c
+
+# DO NOT DELETE THIS LINE -- mkdep uses it.
+# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
+# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
diff --new-file -ru Python-1.4.orig/Python/importdl.c Python-1.4/Python/importdl.c
--- Python-1.4.orig/Python/importdl.c	Fri Oct 25 16:43:24 1996
+++ Python-1.4/Python/importdl.c	Sat Nov 16 16:26:22 1996
@@ -83,6 +83,7 @@
 #define dlerror() "error in dynamic linking"
 #endif
 
+
 #ifdef MS_WINDOWS /* i.e. MS_WIN32 or MS_WIN16 */
 #define DYNAMIC_LINK
 #include <windows.h>
@@ -128,6 +129,16 @@
 #endif
 #endif
 
+#ifdef __EMX__
+#define DYNAMIC_LINK
+#define INCL_DOS
+#include <os2.h>
+#define SHORT_EXT ".pyd"
+#define LONG_EXT ".dll"
+typedef void (*dl_funcptr)();
+#define _DL_FUNCPTR_DEFINED
+#endif
+
 #if !defined(DYNAMIC_LINK) && (defined(HAVE_DLOPEN) || defined(M_UNIX))
 #define DYNAMIC_LINK
 #define USE_SHLIB
@@ -381,6 +392,40 @@
 		}
 	}
 #endif /* _AIX */
+
+#ifdef __EMX__
+	{
+		HMODULE hDLL;
+		UCHAR szFailName[256];
+		UCHAR szWrk[256];
+		char *psz;
+		strcpy(szWrk, pathname);
+		if ((psz = strrchr(szWrk, '.')) != (char *)0)
+		{
+			if (! stricmp(psz, ".dll"))
+				*psz = '\0';
+		}
+
+		if (DosLoadModule(szFailName, 
+				     sizeof(szFailName),
+				     szWrk,
+				     &hDLL) != 0)
+		  {
+		    char errBuf[256];
+		    strcpy(errBuf, "DLL load failed: ");
+		    strcat(errBuf, szFailName);
+		    err_setstr(ImportError, errBuf);
+		    return NULL;
+		  }
+
+		if (DosQueryProcAddr(hDLL, 0, funcname, (PFN *)&p))
+		  {
+		    DosFreeModule(hDLL);
+		    p = (PFN *)0;
+		  }
+	}
+#endif
+
 #ifdef MS_WIN32
 	{
 		HINSTANCE hDLL;
diff --new-file -ru Python-1.4.orig/clean.cmd Python-1.4/clean.cmd
--- Python-1.4.orig/clean.cmd	Thu Jan  1 01:00:00 1970
+++ Python-1.4/clean.cmd	Sat Nov 16 16:26:22 1996
@@ -0,0 +1,92 @@
+del Modules\arraymodule.o
+del Modules\audioop.o
+del Modules\binascii.o
+del Modules\cmathmodule.o
+del Modules\config.o
+del Modules\errnomodule.o
+del Modules\fcntlmodule.o
+del Modules\getpath.o
+del Modules\imageop.o
+del Modules\main.o
+del Modules\mathmodule.o
+del Modules\md5c.o
+del Modules\md5module.o
+del Modules\operator.o
+del Modules\parsermodule.o
+del Modules\posixmodule.o
+del Modules\pwdmodule.o
+del Modules\regexmodule.o
+del Modules\regexpr.o
+del Modules\rgbimgmodule.o
+del Modules\rotormodule.o
+del Modules\selectmodule.o
+del Modules\signalmodule.o
+del Modules\socketmodule.o
+del Modules\stropmodule.o
+del Modules\structmodule.o
+del Modules\timemodule.o
+del Objects\abstract.o
+del Objects\accessobject.o
+del Objects\classobject.o
+del Objects\cobject.o
+del Objects\complexobject.o
+del Objects\fileobject.o
+del Objects\floatobject.o
+del Objects\frameobject.o
+del Objects\funcobject.o
+del Objects\intobject.o
+del Objects\listobject.o
+del Objects\longobject.o
+del Objects\mappingobject.o
+del Objects\methodobject.o
+del Objects\moduleobject.o
+del Objects\object.o
+del Objects\rangeobject.o
+del Objects\sliceobject.o
+del Objects\stringobject.o
+del Objects\tupleobject.o
+del Objects\typeobject.o
+del Parser\acceler.o
+del Parser\bitset.o
+del Parser\firstsets.o
+del Parser\grammar.o
+del Parser\grammar1.o
+del Parser\intrcheck.o
+del Parser\listnode.o
+del Parser\metagrammar.o
+del Parser\myreadline.o
+del Parser\node.o
+del Parser\parser.o
+del Parser\parsetok.o
+del Parser\pgen.o
+del Parser\pgenmain.o
+del Parser\printgrammar.o
+del Parser\tokenizer.o
+del Python\bltinmodule.o
+del Python\ceval.o
+del Python\cgensupport.o
+del Python\compile.o
+del Python\errors.o
+del Python\frozen.o
+del Python\getargs.o
+del Python\getcompiler.o
+del Python\getcopyright.o
+del Python\getmtime.o
+del Python\getopt.o
+del Python\getplatform.o
+del Python\getversion.o
+del Python\graminit.o
+del Python\import.o
+del Python\importdl.o
+del Python\marshal.o
+del Python\modsupport.o
+del Python\mystrtoul.o
+del Python\pythonrun.o
+del Python\sigcheck.o
+del Python\structmember.o
+del Python\sysmodule.o
+del Python\traceback.o
+del Modules\libModules.a
+del Objects\libObjects.a
+del Parser\libParser.a
+del Python\libPython.a
diff --new-file -ru Python-1.4.orig/config.h Python-1.4/config.h
--- Python-1.4.orig/config.h	Thu Jan  1 01:00:00 1970
+++ Python-1.4/config.h	Sat Nov 16 15:03:24 1996
@@ -0,0 +1,344 @@
+/* config.h.  Generated automatically by configure.  */
+/* config.h.in.  Generated automatically from configure.in by autoheader.  */
+
+/* Define if on AIX 3.
+   System headers sometimes define this.
+   We just want to avoid a redefinition error message.  */
+#ifndef _ALL_SOURCE
+/* #undef _ALL_SOURCE */
+#endif
+
+/* #define PYTHONPATH "\\python-1.4\\lib;\\python-1.4\\lib\\os2;\\python-1.4\\lib\\scripts" */
+
+/* Define if type char is unsigned and you are not using gcc.  */
+#ifndef __CHAR_UNSIGNED__
+/* #undef __CHAR_UNSIGNED__ */
+#endif
+
+/* Define to empty if the keyword does not work.  */
+/* #undef const */
+
+/* Define to `int' if <sys/types.h> doesn't define.  */
+/* #undef gid_t */
+
+/* Define if your struct tm has tm_zone.  */
+/* #undef HAVE_TM_ZONE */
+
+/* Define if you don't have tm_zone but do have the external array
+   tzname.  */
+#define HAVE_TZNAME 1
+
+/* Define if on MINIX.  */
+/* #undef _MINIX */
+
+/* Define to `int' if <sys/types.h> doesn't define.  */
+/* #undef mode_t */
+
+/* Define to `long' if <sys/types.h> doesn't define.  */
+/* #undef off_t */
+
+/* Define to `int' if <sys/types.h> doesn't define.  */
+/* #undef pid_t */
+
+/* Define if the system does not provide POSIX.1 features except
+   with this defined.  */
+/* #undef _POSIX_1_SOURCE */
+
+/* Define if you need to in order for stat and other things to work.  */
+/* #undef _POSIX_SOURCE */
+
+/* Define as the return type of signal handlers (int or void).  */
+#define RETSIGTYPE void
+
+/* Define to `unsigned' if <sys/types.h> doesn't define.  */
+/* #undef size_t */
+
+/* Define if you have the ANSI C header files.  */
+#define STDC_HEADERS 1
+
+/* Define if you can safely include both <sys/time.h> and <time.h>.  */
+#define TIME_WITH_SYS_TIME 1
+
+/* Define if your <sys/time.h> declares struct tm.  */
+/* #undef TM_IN_SYS_TIME */
+
+/* Define to `int' if <sys/types.h> doesn't define.  */
+/* #undef uid_t */
+
+/* Define if your <unistd.h> contains bad prototypes for exec*()
+   (as it does on SGI IRIX 4.x) */
+/* #undef BAD_EXEC_PROTOTYPES */
+
+/* Define if your compiler botches static forward declarations
+   (as it does on SCI ODT 3.0) */
+/* #undef BAD_STATIC_FORWARD */
+
+/* Define if you have the Mach cthreads package */
+/* #undef C_THREADS */
+
+/* Define to `long' if <time.h> doesn't define.  */
+/* #undef clock_t */
+
+/* Define if getpgrp() must be called as getpgrp(0). */
+/* #undef GETPGRP_HAVE_ARG */
+
+/* Define if gettimeofday() does not have second (timezone) argument
+   This is the case on Motorola V4 (R40V4.2) */
+/* #undef GETTIMEOFDAY_NO_TZ */
+
+/* Define this if your time.h defines altzone */
+/* #undef HAVE_ALTZONE */
+
+/* Define this if you have a K&R style C preprocessor */
+/* #undef HAVE_OLD_CPP */
+
+/* Define if your compiler supports function prototypes */
+#define HAVE_PROTOTYPES 1
+
+/* Define if your compiler supports variable length function prototypes
+   (e.g. void fprintf(FILE *, char *, ...);) *and* <stdarg.h> */
+#define HAVE_STDARG_PROTOTYPES 1
+
+/* Define if you have POSIX threads */
+/* #undef _POSIX_THREADS */
+
+/* Define to force use of thread-safe errno, h_errno, and other functions */
+/* #undef _REENTRANT */
+
+/* Define if setpgrp() must be called as setpgrp(0, 0). */
+/* #undef SETPGRP_HAVE_ARG */
+
+/* Define to empty if the keyword does not work.  */
+/* #undef signed */
+
+/* Define if  you can safely include both <sys/select.h> and <sys/time.h>
+   (which you can't on SCO ODT 3.0). */
+/* #undef SYS_SELECT_WITH_SYS_TIME */
+
+/* Define if a va_list is an array of some kind */
+/* #undef VA_LIST_IS_ARRAY */
+
+/* Define to empty if the keyword does not work.  */
+/* #undef volatile */
+
+/* Define if you want to use SGI (IRIX 4) dynamic linking.
+   This requires the "dl" library by Jack Jansen,
+   ftp://ftp.cwi.nl/pub/dynload/dl-1.6.tar.Z.
+   Don't bother on IRIX 5, it already has dynamic linking using SunOS
+   style shared libraries */ 
+/* #undef WITH_SGI_DL */
+
+/* Define if you want to emulate SGI (IRIX 4) dynamic linking.
+   This is rumoured to work on VAX (Ultrix), Sun3 (SunOS 3.4),
+   Sequent Symmetry (Dynix), and Atari ST.
+   This requires the "dl-dld" library,
+   ftp://ftp.cwi.nl/pub/dynload/dl-dld-1.1.tar.Z,
+   as well as the "GNU dld" library,
+   ftp://ftp.cwi.nl/pub/dynload/dld-3.2.3.tar.Z.
+   Don't bother on SunOS 4 or 5, they already have dynamic linking using
+   shared libraries */ 
+/* #undef WITH_DL_DLD */
+
+/* Define if you want to compile in rudimentary thread support */
+/* #undef WITH_THREAD */
+
+/* Define if you want to use the GNU readline library */
+/* #define WITH_READLINE 1 */
+
+/* Define if you have the chown function.  */
+/* #define HAVE_CHOWN 1 */
+
+/* Define if you have the clock function.  */
+#define HAVE_CLOCK 1
+
+/* Define if you have the dlopen function.  */
+/* #define HAVE_DLOPEN 1 */
+
+/* Define if you have the flock function.  */
+/* #define HAVE_FLOCK 1 */
+
+/* Define if you have the ftime function.  */
+#define HAVE_FTIME 1
+
+/* Define if you have the ftruncate function.  */
+#define HAVE_FTRUNCATE 1
+
+/* Define if you have the gethostname_r function.  */
+/* #undef HAVE_GETHOSTNAME_R */
+
+/* Define if you have the getpeername function.  */
+#define HAVE_GETPEERNAME 1
+
+/* Define if you have the getpgrp function.  */
+#define HAVE_GETPGRP 1
+
+/* Define if you have the getpid function.  */
+#define HAVE_GETPID 1
+
+/* Define if you have the gettimeofday function.  */
+#define HAVE_GETTIMEOFDAY 1
+
+/* Define if you have the getwd function.  */
+#define HAVE_GETWD 1
+
+/* Define if you have the hypot function.  */
+#define HAVE_HYPOT 1
+
+/* Define if you have the link function.  */
+/* #define HAVE_LINK 1 */
+
+/* Define if you have the lstat function.  */
+/* #define HAVE_LSTAT 1 */
+
+/* Define if you have the mkfifo function.  */
+/* #define HAVE_MKFIFO 1 */
+
+/* Define if you have the nice function.  */
+/* #define HAVE_NICE 1 */
+
+/* Define if you have the plock function.  */
+/* #undef HAVE_PLOCK */
+
+/* Define if you have the putenv function.  */
+#define HAVE_PUTENV 1
+
+/* Define if you have the readlink function.  */
+/* #define HAVE_READLINK 1 */
+
+/* Define if you have the select function.  */
+#define HAVE_SELECT 1
+
+/* Define if you have the setgid function.  */
+#define HAVE_SETGID 1
+
+/* Define if you have the setpgid function.  */
+#define HAVE_SETPGID 1
+
+/* Define if you have the setpgrp function.  */
+/* #define HAVE_SETPGRP 1 */
+
+/* Define if you have the setsid function.  */
+/* #define HAVE_SETSID 1 */
+
+/* Define if you have the setuid function.  */
+/* #define HAVE_SETUID 1 */
+
+/* Define if you have the setvbuf function.  */
+#define HAVE_SETVBUF 1
+
+/* Define if you have the sigaction function.  */
+#define HAVE_SIGACTION 1
+
+/* Define if you have the siginterrupt function.  */
+#define HAVE_SIGINTERRUPT 1
+
+/* Define if you have the sigrelse function.  */
+/* #undef HAVE_SIGRELSE */
+
+/* Define if you have the strftime function.  */
+#define HAVE_STRFTIME 1
+
+/* Define if you have the symlink function.  */
+/* #define HAVE_SYMLINK 1 */
+
+/* Define if you have the tcgetpgrp function.  */
+#define HAVE_TCGETPGRP 1
+
+/* Define if you have the tcsetpgrp function.  */
+#define HAVE_TCSETPGRP 1
+
+/* Define if you have the times function.  */
+#define HAVE_TIMES 1
+
+/* Define if you have the truncate function.  */
+/* #define HAVE_TRUNCATE 1 */
+
+/* Define if you have the uname function.  */
+#define HAVE_UNAME 1
+
+/* Define if you have the waitpid function.  */
+#define HAVE_WAITPID 1
+
+/* Define if you have the <dirent.h> header file.  */
+#define HAVE_DIRENT_H 1
+
+/* Define if you have the <dlfcn.h> header file.  */
+/* #define HAVE_DLFCN_H 1 */
+
+/* Define if you have the <fcntl.h> header file.  */
+#define HAVE_FCNTL_H 1
+
+/* Define if you have the <limits.h> header file.  */
+#define HAVE_LIMITS_H 1
+
+/* Define if you have the <ncurses.h> header file.  */
+/* #undef HAVE_NCURSES_H */
+
+/* Define if you have the <ndir.h> header file.  */
+/* #undef HAVE_NDIR_H */
+
+/* Define if you have the <signal.h> header file.  */
+#define HAVE_SIGNAL_H 1
+
+/* Define if you have the <stdarg.h> header file.  */
+#define HAVE_STDARG_H 1
+
+/* Define if you have the <stddef.h> header file.  */
+#define HAVE_STDDEF_H 1
+
+/* Define if you have the <stdlib.h> header file.  */
+#define HAVE_STDLIB_H 1
+
+/* Define if you have the <sys/audioio.h> header file.  */
+/* #undef HAVE_SYS_AUDIOIO_H */
+
+/* Define if you have the <sys/dir.h> header file.  */
+/* #undef HAVE_SYS_DIR_H */
+
+/* Define if you have the <sys/lock.h> header file.  */
+/* #undef HAVE_SYS_LOCK_H */
+
+/* Define if you have the <sys/ndir.h> header file.  */
+/* #undef HAVE_SYS_NDIR_H */
+
+/* Define if you have the <sys/param.h> header file.  */
+#define HAVE_SYS_PARAM_H 1
+
+/* Define if you have the <sys/select.h> header file.  */
+/* #undef HAVE_SYS_SELECT_H */
+
+/* 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/un.h> header file.  */
+#define HAVE_SYS_UN_H 1
+
+/* Define if you have the <sys/utsname.h> header file.  */
+#define HAVE_SYS_UTSNAME_H 1
+
+/* Define if you have the <sys/wait.h> header file.  */
+#define HAVE_SYS_WAIT_H 1
+
+/* Define if you have the <thread.h> header file.  */
+/* #undef HAVE_THREAD_H */
+
+/* Define if you have the <unistd.h> header file.  */
+#define HAVE_UNISTD_H 1
+
+/* Define if you have the <utime.h> header file.  */
+#define HAVE_UTIME_H 1
+
+/* Define if you have the dl library (-ldl).  */
+/* #undef HAVE_LIBDL 1 */
+
+/* Define if you have the dld library (-ldld).  */
+/* #undef HAVE_LIBDLD */
+
+/* Define if you have the ieee library (-lieee).  */
+#define HAVE_LIBIEEE 1
+
+/* Define if you have the sun library (-lsun).  */
+/* #undef HAVE_LIBSUN */
diff --new-file -ru Python-1.4.orig/makeos2.cmd Python-1.4/makeos2.cmd
--- Python-1.4.orig/makeos2.cmd	Thu Jan  1 01:00:00 1970
+++ Python-1.4/makeos2.cmd	Sat Nov 16 16:02:24 1996
@@ -0,0 +1,19 @@
+@rem
+@rem Compilation script for OS/2 - Top makefile replacement
+@rem 
+@setlocal
+@cd Parser 
+make CC="gcc -Zomf -ffast-math"  OPT=-O2 AR=emxomfar
+@endlocal
+@setlocal
+@cd Objects
+make CC="gcc -Zomf -ffast-math"  OPT=-O2 AR=emxomfar
+@endlocal
+@setlocal
+@cd Python
+make CC="gcc -Zomf -ffast-math"  OPT=-O2 AR=emxomfar
+@endlocal
+@setlocal
+@cd Modules
+make CC="gcc -Zomf -ffast-math"  OPT=-O2 AR=emxomfar
+@endlocal
diff --new-file -ru Python-1.4.orig/testos2.cmd Python-1.4/testos2.cmd
--- Python-1.4.orig/testos2.cmd	Thu Jan  1 01:00:00 1970
+++ Python-1.4/testos2.cmd	Sat Nov 16 16:26:22 1996
@@ -0,0 +1,8 @@
+setlocal
+set PYTHONROOT=d:\gvallet\src\Python-1.4
+set TESTPATH=%PYTHONROOT%\Lib;%PYTHONROOT%\Lib\test;%PYTHONROOT%\Modules
+set PYTHONPATH=%TESTPATH%
+rm -f d:\Python-1.4\Lib\test\*.pyc
+python -c "import autotest"
+echo %PYTHONPATH%
+endlocal
