mirror of https://github.com/python/cpython
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:
parent
ffcf899554
commit
1994c7f1cf
|
@ -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:
|
||||
|
|
Loading…
Reference in New Issue