Commit 1994c7f1 authored by Andrew MacIntyre's avatar Andrew MacIntyre

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.
parent ffcf8995
...@@ -6,10 +6,10 @@ ...@@ -6,10 +6,10 @@
# for OS/2 compiler, version 3.0, with Fixpack 8 applied. It uses # 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. # 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 # essential modules of Python and a small Python.exe program to start
# the interpreter. When embedding Python within another program, only # 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++ # These two binaries can be statically linked with the VisualAge C/C++
# runtime library (producing larger binaries), or dynamically linked # runtime library (producing larger binaries), or dynamically linked
...@@ -133,24 +133,33 @@ PYTHON = \ ...@@ -133,24 +133,33 @@ PYTHON = \
PARSER = \ PARSER = \
$(PATHOBJ)\Acceler.obj \ $(PATHOBJ)\Acceler.obj \
$(PATHOBJ)\Grammar1.obj \ $(PATHOBJ)\Grammar1.obj \
$(PATHOBJ)\MyReadline.obj \ $(PATHOBJ)\ListNode.obj \
$(PATHOBJ)\Node.obj \ $(PATHOBJ)\Node.obj \
$(PATHOBJ)\Parser.obj \ $(PATHOBJ)\Parser.obj \
$(PATHOBJ)\ParseTok.obj \ $(PATHOBJ)\ParseTok.obj \
$(PATHOBJ)\Tokenizer.obj $(PATHOBJ)\BitSet.obj \
$(PATHOBJ)\MetaGrammar.obj \
$(PATHOBJ)\Tokenizer.obj \
$(PATHOBJ)\MyReadline.obj
# Python Object Types # Python Object Types
OBJECTS = \ OBJECTS = \
$(PATHOBJ)\Abstract.obj \ $(PATHOBJ)\Abstract.obj \
$(PATHOBJ)\BoolObject.obj \
$(PATHOBJ)\BufferObject.obj \
$(PATHOBJ)\CellObject.obj \
$(PATHOBJ)\ClassObject.obj \ $(PATHOBJ)\ClassObject.obj \
$(PATHOBJ)\CObject.obj \ $(PATHOBJ)\CObject.obj \
$(PATHOBJ)\ComplexObject.obj \ $(PATHOBJ)\ComplexObject.obj \
$(PATHOBJ)\DescrObject.obj \
$(PATHOBJ)\DictObject.obj \ $(PATHOBJ)\DictObject.obj \
$(PATHOBJ)\EnumObject.obj \
$(PATHOBJ)\FileObject.obj \ $(PATHOBJ)\FileObject.obj \
$(PATHOBJ)\FloatObject.obj \ $(PATHOBJ)\FloatObject.obj \
$(PATHOBJ)\FrameObject.obj \ $(PATHOBJ)\FrameObject.obj \
$(PATHOBJ)\FuncObject.obj \ $(PATHOBJ)\FuncObject.obj \
$(PATHOBJ)\IntObject.obj \ $(PATHOBJ)\IntObject.obj \
$(PATHOBJ)\IterObject.obj \
$(PATHOBJ)\ListObject.obj \ $(PATHOBJ)\ListObject.obj \
$(PATHOBJ)\LongObject.obj \ $(PATHOBJ)\LongObject.obj \
$(PATHOBJ)\MethodObject.obj \ $(PATHOBJ)\MethodObject.obj \
...@@ -159,14 +168,12 @@ OBJECTS = \ ...@@ -159,14 +168,12 @@ OBJECTS = \
$(PATHOBJ)\RangeObject.obj \ $(PATHOBJ)\RangeObject.obj \
$(PATHOBJ)\SliceObject.obj \ $(PATHOBJ)\SliceObject.obj \
$(PATHOBJ)\StringObject.obj \ $(PATHOBJ)\StringObject.obj \
$(PATHOBJ)\StructSeq.obj \
$(PATHOBJ)\TupleObject.obj \ $(PATHOBJ)\TupleObject.obj \
$(PATHOBJ)\TypeObject.obj \ $(PATHOBJ)\TypeObject.obj \
$(PATHOBJ)\unicodeobject.obj \ $(PATHOBJ)\UnicodeObject.obj \
$(PATHOBJ)\unicodectype.obj \ $(PATHOBJ)\UnicodeCType.obj \
$(PATHOBJ)\cellobject.obj \ $(PATHOBJ)\WeakrefObject.obj
$(PATHOBJ)\descrobject.obj \
$(PATHOBJ)\weakrefobject.obj \
$(PATHOBJ)\structseq.obj
# Extension Modules (Built-In or as Separate DLLs) # Extension Modules (Built-In or as Separate DLLs)
MODULES = \ MODULES = \
...@@ -176,6 +183,7 @@ MODULES = \ ...@@ -176,6 +183,7 @@ MODULES = \
$(PATHOBJ)\cPickle.obj \ $(PATHOBJ)\cPickle.obj \
$(PATHOBJ)\cStringIO.obj \ $(PATHOBJ)\cStringIO.obj \
$(PATHOBJ)\ErrnoModule.obj \ $(PATHOBJ)\ErrnoModule.obj \
$(PATHOBJ)\GCModule.obj \
$(PATHOBJ)\GetBuildInfo.obj \ $(PATHOBJ)\GetBuildInfo.obj \
$(PATHOBJ)\GetPathP.obj \ $(PATHOBJ)\GetPathP.obj \
$(PATHOBJ)\Main.obj \ $(PATHOBJ)\Main.obj \
...@@ -196,20 +204,17 @@ MODULES = \ ...@@ -196,20 +204,17 @@ MODULES = \
$(PATHOBJ)\StructModule.obj \ $(PATHOBJ)\StructModule.obj \
$(PATHOBJ)\TimeModule.obj \ $(PATHOBJ)\TimeModule.obj \
$(PATHOBJ)\ThreadModule.obj \ $(PATHOBJ)\ThreadModule.obj \
$(PATHOBJ)\YUVConvert.obj \ $(PATHOBJ)\YUVConvert.obj
$(PATHOBJ)\bufferobject.obj \
$(PATHOBJ)\gcmodule.obj
# Standalone Parser Generator Program (Shares Some of Python's Modules) # Standalone Parser Generator Program (Shares Some of Python's Modules)
PGEN = \ PGEN = \
$(PATHOBJ)\PGenMain.obj \
$(PATHOBJ)\PGen.obj \ $(PATHOBJ)\PGen.obj \
$(PATHOBJ)\PGenMain.obj \
$(PATHOBJ)\MySNPrintf.obj \
$(PATHOBJ)\Tokenizer_Pgen.obj \
$(PATHOBJ)\PrintGrammar.obj \ $(PATHOBJ)\PrintGrammar.obj \
$(PATHOBJ)\ListNode.obj \
$(PATHOBJ)\Grammar.obj \ $(PATHOBJ)\Grammar.obj \
$(PATHOBJ)\BitSet.obj \ $(PATHOBJ)\FirstSets.obj
$(PATHOBJ)\FirstSets.obj \
$(PATHOBJ)\MetaGrammar.obj
################## ##################
# Macros and Flags # Macros and Flags
...@@ -223,7 +228,7 @@ _GEN = /G4 /Gm /Gd- ...@@ -223,7 +228,7 @@ _GEN = /G4 /Gm /Gd-
# /Gm = Use Multithread Runtime # /Gm = Use Multithread Runtime
# /Gd = Dynamically Load Runtime # /Gd = Dynamically Load Runtime
# /Ms = Use _System Calling Convention (vs _Optlink) # /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 _OPT = /O /Gl
# /O = Enable Speed-Optimizations # /O = Enable Speed-Optimizations
...@@ -258,8 +263,8 @@ CFLAGS = $(_BASE) $(_GEN) $(_OPT) $(_DBG) $(_OUT) $(_EXE) /Ss ...@@ -258,8 +263,8 @@ CFLAGS = $(_BASE) $(_GEN) $(_OPT) $(_DBG) $(_OUT) $(_EXE) /Ss
################### ###################
# Primary Target(s) # Primary Target(s)
################### ###################
All: obj noise PyCore.lib Python22.lib PGen.exe \ All: obj noise PyCore.lib Python23.lib PGen.exe \
Python.exe PythonPM.exe Python22.dll # _tkinter.dll Python.exe PythonPM.exe Python23.dll # _tkinter.dll
Modules: $(MODULES) Modules: $(MODULES)
Objects: $(OBJECTS) Objects: $(OBJECTS)
...@@ -279,7 +284,7 @@ noise: ...@@ -279,7 +284,7 @@ noise:
############## ##############
# Python Extension DLL: Tcl/Tk Interface # 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 # @ Echo Linking $@ As DLL
# @ $(CC) $(CFLAGS) /B"/NOE" $(_DLL) /Fe$@ $(_MAP) $** $(OTHERLIBS) >>$(ERRS) # @ $(CC) $(CFLAGS) /B"/NOE" $(_DLL) /Fe$@ $(_MAP) $** $(OTHERLIBS) >>$(ERRS)
...@@ -292,7 +297,7 @@ PyCore.lib: $(MODULES) $(OBJECTS) $(PARSER) $(PYTHON) $(PATHOBJ)\Config.obj ...@@ -292,7 +297,7 @@ PyCore.lib: $(MODULES) $(OBJECTS) $(PARSER) $(PYTHON) $(PATHOBJ)\Config.obj
@ Echo Adding Updated Object Files to Link Library $@ @ Echo Adding Updated Object Files to Link Library $@
@ ! ILIB $@ /NOLOGO /NOBACKUP -+$? ; >>$(ERRS) @ ! 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 @ Echo Linking $@ As DLL
@ $(CC) $(CFLAGS) /B"/NOE" $(_DLL) /Fe$@ $(_MAP) $** $(OTHERLIBS) >>$(ERRS) @ $(CC) $(CFLAGS) /B"/NOE" $(_DLL) /Fe$@ $(_MAP) $** $(OTHERLIBS) >>$(ERRS)
# @ Echo Compressing $@ with LxLite # @ Echo Compressing $@ with LxLite
...@@ -303,19 +308,19 @@ $(PATHOBJ)\Compile.obj: $(PY_PYTHON)\Compile.c ...@@ -303,19 +308,19 @@ $(PATHOBJ)\Compile.obj: $(PY_PYTHON)\Compile.c
@ Echo Compiling $** @ Echo Compiling $**
@ $(CC) -c $(CFLAGS) $(_DLL) -Fo$@ $** >>$(ERRS) @ $(CC) -c $(CFLAGS) $(_DLL) -Fo$@ $** >>$(ERRS)
# Import Library for Using the Python22.dll # Import Library for Using the Python23.dll
Python22.lib: Python.def Python23.lib: Python.def
@ Echo Making $@ @ Echo Making $@
@ IMPLIB /NOLOGO /NOIGNORE $@ $** >>$(ERRS) @ IMPLIB /NOLOGO /NOIGNORE $@ $** >>$(ERRS)
@ ILIB /NOLOGO /CONVFORMAT /NOEXTDICTIONARY /NOBROWSE /NOBACKUP $@; >>$(ERRS) @ ILIB /NOLOGO /CONVFORMAT /NOEXTDICTIONARY /NOBROWSE /NOBACKUP $@; >>$(ERRS)
# Small Command-Line Program to Start Interpreter in Python22.dll # Small Command-Line Program to Start Interpreter in Python23.dll
Python.exe: $(PATHOBJ)\Python.obj Python22.lib Python.exe: $(PATHOBJ)\Python.obj Python23.lib
@ Echo Linking $@ As EXE @ Echo Linking $@ As EXE
@ $(CC) $(CFLAGS) $(_EXE) /B"/PM:VIO /STACK:360000" /Fe$@ $(_MAP) $** $(OTHERLIBS) >>$(ERRS) @ $(CC) $(CFLAGS) $(_EXE) /B"/PM:VIO /STACK:360000" /Fe$@ $(_MAP) $** $(OTHERLIBS) >>$(ERRS)
# Small PM-GUI Program to Start Interpreter in Python22.dll # Small PM-GUI Program to Start Interpreter in Python23.dll
PythonPM.exe: $(PATHOBJ)\Python.obj Python22.lib PythonPM.exe: $(PATHOBJ)\Python.obj Python23.lib
@ Echo Linking $@ As EXE @ Echo Linking $@ As EXE
@ $(CC) $(CFLAGS) $(_EXE) /B"/PM:PM /STACK:360000" /Fe$@ $(_MAP) $** $(OTHERLIBS) >>$(ERRS) @ $(CC) $(CFLAGS) $(_EXE) /B"/PM:PM /STACK:360000" /Fe$@ $(_MAP) $** $(OTHERLIBS) >>$(ERRS)
...@@ -335,13 +340,13 @@ clean: ...@@ -335,13 +340,13 @@ clean:
# Remove All Targets, Including Final Binaries # Remove All Targets, Including Final Binaries
distclean: clean distclean: clean
-- Del /Q PyCore.lib Python22.lib >NUL 2>&1 -- Del /Q PyCore.lib Python23.lib >NUL 2>&1
-- Del /Q Python22.dll Python.exe PGen.exe >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 Python.exe D:\EXEs
-- @Echo Y | copy /U Python22.dll D:\DLLs -- @Echo Y | copy /U Python23.dll D:\DLLs
-- @Echo Y | copy /U Python22.lib E:\Tau\Lib -- @Echo Y | copy /U Python23.lib E:\Tau\Lib
-- @Echo Y | copy /U _tkinter.dll D:\Python -- @Echo Y | copy /U _tkinter.dll D:\Python
test: test:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment