Prep for 2.3:
 - update DLL version number
 - add files required for 2.3 (no changes to modules though)
 - restructure build of pgen.exe

NOTE:  As I don't have the VACPP compiler, these changes are untested.
Apart from slightly re-ordering some file lists, and matching file name
casing, I believe these changes are the minimum necessary to build 2.3
with VACPP.
diff --git a/PC/os2vacpp/makefile b/PC/os2vacpp/makefile
index 680a8e6..13eeb19 100644
--- a/PC/os2vacpp/makefile
+++ b/PC/os2vacpp/makefile
@@ -6,10 +6,10 @@
 # for OS/2 compiler, version 3.0, with Fixpack 8 applied.  It uses
 # version 4.0 of the NMAKE tool that comes with that package.
 #
-# The output of the build is a largish Python15.DLL containing the
+# The output of the build is a largish Python23.DLL containing the
 # essential modules of Python and a small Python.exe program to start
 # the interpreter.  When embedding Python within another program, only
-# Python15.DLL is needed.
+# Python23.DLL is needed.
 #
 # These two binaries can be statically linked with the VisualAge C/C++
 # runtime library (producing larger binaries), or dynamically linked
@@ -133,24 +133,33 @@
 PARSER		=                              \
                   $(PATHOBJ)\Acceler.obj       \
                   $(PATHOBJ)\Grammar1.obj      \
-                  $(PATHOBJ)\MyReadline.obj    \
+                  $(PATHOBJ)\ListNode.obj      \
                   $(PATHOBJ)\Node.obj          \
                   $(PATHOBJ)\Parser.obj        \
                   $(PATHOBJ)\ParseTok.obj      \
-                  $(PATHOBJ)\Tokenizer.obj
+                  $(PATHOBJ)\BitSet.obj        \
+                  $(PATHOBJ)\MetaGrammar.obj   \
+                  $(PATHOBJ)\Tokenizer.obj     \
+                  $(PATHOBJ)\MyReadline.obj
 
 # Python Object Types
 OBJECTS		=                              \
                   $(PATHOBJ)\Abstract.obj      \
+                  $(PATHOBJ)\BoolObject.obj    \
+                  $(PATHOBJ)\BufferObject.obj  \
+                  $(PATHOBJ)\CellObject.obj    \
                   $(PATHOBJ)\ClassObject.obj   \
                   $(PATHOBJ)\CObject.obj       \
                   $(PATHOBJ)\ComplexObject.obj \
+                  $(PATHOBJ)\DescrObject.obj   \
                   $(PATHOBJ)\DictObject.obj    \
+                  $(PATHOBJ)\EnumObject.obj    \
                   $(PATHOBJ)\FileObject.obj    \
                   $(PATHOBJ)\FloatObject.obj   \
                   $(PATHOBJ)\FrameObject.obj   \
                   $(PATHOBJ)\FuncObject.obj    \
                   $(PATHOBJ)\IntObject.obj     \
+                  $(PATHOBJ)\IterObject.obj    \
                   $(PATHOBJ)\ListObject.obj    \
                   $(PATHOBJ)\LongObject.obj    \
                   $(PATHOBJ)\MethodObject.obj  \
@@ -159,14 +168,12 @@
                   $(PATHOBJ)\RangeObject.obj   \
                   $(PATHOBJ)\SliceObject.obj   \
                   $(PATHOBJ)\StringObject.obj  \
+                  $(PATHOBJ)\StructSeq.obj     \
                   $(PATHOBJ)\TupleObject.obj   \
                   $(PATHOBJ)\TypeObject.obj    \
-                  $(PATHOBJ)\unicodeobject.obj \
-                  $(PATHOBJ)\unicodectype.obj  \
-                  $(PATHOBJ)\cellobject.obj    \
-                  $(PATHOBJ)\descrobject.obj   \
-                  $(PATHOBJ)\weakrefobject.obj \
-                  $(PATHOBJ)\structseq.obj
+                  $(PATHOBJ)\UnicodeObject.obj \
+                  $(PATHOBJ)\UnicodeCType.obj  \
+                  $(PATHOBJ)\WeakrefObject.obj
 
 # Extension Modules (Built-In or as Separate DLLs)
 MODULES		=                              \
@@ -176,6 +183,7 @@
                   $(PATHOBJ)\cPickle.obj       \
                   $(PATHOBJ)\cStringIO.obj     \
                   $(PATHOBJ)\ErrnoModule.obj   \
+                  $(PATHOBJ)\GCModule.obj      \
                   $(PATHOBJ)\GetBuildInfo.obj  \
                   $(PATHOBJ)\GetPathP.obj      \
                   $(PATHOBJ)\Main.obj          \
@@ -196,20 +204,17 @@
                   $(PATHOBJ)\StructModule.obj  \
                   $(PATHOBJ)\TimeModule.obj    \
                   $(PATHOBJ)\ThreadModule.obj  \
-                  $(PATHOBJ)\YUVConvert.obj    \
-                  $(PATHOBJ)\bufferobject.obj  \
-                  $(PATHOBJ)\gcmodule.obj
+                  $(PATHOBJ)\YUVConvert.obj
 
 # Standalone Parser Generator Program (Shares Some of Python's Modules)
 PGEN            =                              \
-                  $(PATHOBJ)\PGenMain.obj      \
                   $(PATHOBJ)\PGen.obj          \
+                  $(PATHOBJ)\PGenMain.obj      \
+                  $(PATHOBJ)\MySNPrintf.obj    \
+                  $(PATHOBJ)\Tokenizer_Pgen.obj \
                   $(PATHOBJ)\PrintGrammar.obj  \
-                  $(PATHOBJ)\ListNode.obj      \
                   $(PATHOBJ)\Grammar.obj       \
-                  $(PATHOBJ)\BitSet.obj        \
-                  $(PATHOBJ)\FirstSets.obj     \
-                  $(PATHOBJ)\MetaGrammar.obj
+                  $(PATHOBJ)\FirstSets.obj
 
 ##################
 # Macros and Flags
@@ -223,7 +228,7 @@
 		# /Gm  = Use Multithread Runtime
 		# /Gd  = Dynamically Load Runtime
 		# /Ms  = Use _System Calling Convention (vs _Optlink)
-		#        (to allow non-VAC++ code to call into Python22.dll)
+		#        (to allow non-VAC++ code to call into Python23.dll)
 
 _OPT		= /O /Gl
 		# /O   = Enable Speed-Optimizations
@@ -258,8 +263,8 @@
 ###################
 # Primary Target(s)
 ###################
-All:  obj noise PyCore.lib Python22.lib PGen.exe \
-      Python.exe PythonPM.exe Python22.dll # _tkinter.dll
+All:  obj noise PyCore.lib Python23.lib PGen.exe \
+      Python.exe PythonPM.exe Python23.dll # _tkinter.dll
 
 Modules: $(MODULES)
 Objects: $(OBJECTS)
@@ -279,7 +284,7 @@
 ##############
 
 # Python Extension DLL: Tcl/Tk Interface
-#_tkinter.dll: $(PATHOBJ)\_tkinter.obj Python22.lib _tkinter.def
+#_tkinter.dll: $(PATHOBJ)\_tkinter.obj Python23.lib _tkinter.def
 #	@ Echo Linking $@ As DLL
 #	@ $(CC) $(CFLAGS) /B"/NOE" $(_DLL) /Fe$@ $(_MAP) $** $(OTHERLIBS) >>$(ERRS)
 
@@ -292,7 +297,7 @@
 	@ Echo Adding Updated Object Files to Link Library $@
 	@ ! ILIB $@ /NOLOGO /NOBACKUP -+$? ; >>$(ERRS)
 
-Python22.dll: $(PATHOBJ)\Compile.obj PyCore.lib Python.def
+Python23.dll: $(PATHOBJ)\Compile.obj PyCore.lib Python.def
 	@ Echo Linking $@ As DLL
 	@ $(CC) $(CFLAGS) /B"/NOE" $(_DLL) /Fe$@ $(_MAP) $** $(OTHERLIBS) >>$(ERRS)
 #	@ Echo Compressing $@ with LxLite
@@ -303,19 +308,19 @@
 	@ Echo Compiling $**
 	@ $(CC) -c $(CFLAGS) $(_DLL) -Fo$@ $** >>$(ERRS)
 
-# Import Library for Using the Python22.dll
-Python22.lib: Python.def
+# Import Library for Using the Python23.dll
+Python23.lib: Python.def
 	@ Echo Making $@
 	@ IMPLIB /NOLOGO /NOIGNORE $@ $** >>$(ERRS)
 	@ ILIB /NOLOGO /CONVFORMAT /NOEXTDICTIONARY /NOBROWSE /NOBACKUP $@; >>$(ERRS)
 
-# Small Command-Line Program to Start Interpreter in Python22.dll
-Python.exe: $(PATHOBJ)\Python.obj Python22.lib
+# Small Command-Line Program to Start Interpreter in Python23.dll
+Python.exe: $(PATHOBJ)\Python.obj Python23.lib
 	@ Echo Linking $@ As EXE
 	@ $(CC) $(CFLAGS) $(_EXE) /B"/PM:VIO /STACK:360000" /Fe$@ $(_MAP) $** $(OTHERLIBS) >>$(ERRS)
 
-# Small PM-GUI Program to Start Interpreter in Python22.dll
-PythonPM.exe: $(PATHOBJ)\Python.obj Python22.lib
+# Small PM-GUI Program to Start Interpreter in Python23.dll
+PythonPM.exe: $(PATHOBJ)\Python.obj Python23.lib
 	@ Echo Linking $@ As EXE
 	@ $(CC) $(CFLAGS) $(_EXE) /B"/PM:PM /STACK:360000" /Fe$@ $(_MAP) $** $(OTHERLIBS) >>$(ERRS)
 
@@ -335,13 +340,13 @@
 
 # Remove All Targets, Including Final Binaries
 distclean: clean
-        -- Del /Q PyCore.lib Python22.lib       >NUL 2>&1
-        -- Del /Q Python22.dll Python.exe PGen.exe >NUL 2>&1
+        -- Del /Q PyCore.lib Python23.lib       >NUL 2>&1
+        -- Del /Q Python23.dll Python.exe PGen.exe >NUL 2>&1
 
-release: Python.exe Python22.dll Python22.lib
+release: Python.exe Python23.dll Python23.lib
 	-- @Echo Y | copy /U Python.exe   D:\EXEs
-	-- @Echo Y | copy /U Python22.dll D:\DLLs
-	-- @Echo Y | copy /U Python22.lib E:\Tau\Lib
+	-- @Echo Y | copy /U Python23.dll D:\DLLs
+	-- @Echo Y | copy /U Python23.lib E:\Tau\Lib
 	-- @Echo Y | copy /U _tkinter.dll D:\Python
 
 test: