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.
This commit is contained in:
Andrew MacIntyre 2002-08-18 06:31:01 +00:00
parent ffcf899554
commit 1994c7f1cf
1 changed files with 39 additions and 34 deletions

View File

@ -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 @@ PYTHON = \
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 @@ OBJECTS = \
$(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 @@ MODULES = \
$(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 @@ MODULES = \
$(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 @@ _GEN = /G4 /Gm /Gd-
# /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 @@ CFLAGS = $(_BASE) $(_GEN) $(_OPT) $(_DBG) $(_OUT) $(_EXE) /Ss
###################
# 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 @@ noise:
##############
# 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 @@ PyCore.lib: $(MODULES) $(OBJECTS) $(PARSER) $(PYTHON) $(PATHOBJ)\Config.obj
@ 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 @@ $(PATHOBJ)\Compile.obj: $(PY_PYTHON)\Compile.c
@ 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 @@ clean:
# 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: