1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-16 08:10:43 -08:00
[160053] build Mac MPS with new compiler+linker, and good options
 Build different varieties (variety.ci and variety.he) differently.
 Upgrade tools from MrC1.0 + PPCLink1.0 to MrC2.0.2d1 + PPCLink1.5.
 Drop InterfaceLib from link, because it provokes a PPCLink1.5 error
  (Error 3019 while reading file InterfaceLib; File is not an object
  file) and is apparently not needed.
 The release build (variety.he) is untested -- see .he.untested.
 Correct copyright.
 Improve build instructions.
 Old HE settings are still temporarily available as the pseudo-variety
  ZZ, for testing.

Copied from Perforce
 Change: 19556
 ServerID: perforce.ravenbrook.com

GitHub-reference: https://github.com/Ravenbrook/mps/issues/160053
This commit is contained in:
Richard Kistruck 1998-05-29 15:36:38 +01:00
parent 60044c2d1d
commit f7c41cd024

View file

@ -1,38 +1,88 @@
# impl.makefile.s7ppac: S7PPAC MPW MAKE FILE
#
# $HopeName: MMsrc!s7ppac:Makefile(trunk.9) $
# $HopeName: MMsrc!s7ppac:Makefile(trunk.10) $
#
# Copyright (C) 1996, 1997 Harlequin Group, all rights reserved
# Copyright (c) 1998 Harlequin Group plc. All rights reserved.
#
# This only knows about making the mmsw libraries for MM/EP-core.
#
# To invoke:
#
# directory {...}s7ppac
# BuildProgram -d Variety mmsw
#
# (this builds mmsw_HE.o and mmsw_CI.o)
#
# to clean everything else away:
#
# directory {...}s7ppac
# BuildProgram -d Variety clean
#
# Notes:
#
# .dep.accum: If several single-f rules all produce the same product
# (left-hand-side of the f), they act together: at most one may have a
# body, the others only add additional dependencies.
#
# .he.untested: The variety.he build hasn't been tested; see
# .obsolete.zz below.
COptions = -d CONFIG_VAR_{Variety} -d CONFIG_PROD_EPCORE ¶
-ansi strict -proto strict -typecheck strict -w error ¶
-sym full ¶
-i "{CIncludes96}"
# Options cribbed from SWbuild!macos:rules:rulemrc4.make(trunk.3)
CC_OPT_CONTROL= -nomfmem -y "{TempFolder}"
CC_OPT_SOURCE= -inclpath nosystem
CC_OPT_OBJECT= -align power -char signed -enum int -fp_contract off -ldsize 128 -target ppc
CC_OPTT_AbsAPAD= -ansi strict -proto strict -typecheck strict
# Plus "warnings are errors":
CC_OPTT={CC_OPTT_AbsAPAD} -w error
CC_OPTR_Dbg= -opt off -sym on -tb on
CC_OPTR_Qkb= -opt off -sym off -tb on
CC_OPTR_Spd= -opt speed,nounroll -sym off -tb on
CC_OPTR_= -opt speed,nounroll -sym off -w 35
SYS_CINCLUDES= -i {CIncludes96}
BB_OPT_CONTROL= -nomf -linkfaster on
BB_OPT_SOURCE=
BB_OPT_OBJECT= -xm Library
BB_OPTR_Dbg= -sym on
BB_OPTR_Qkb= -sym off
BB_OPTR_Spd= -sym off
BB_OPTR_= -sym off
PRODDEFINES= -d CONFIG_VAR_{Variety} -d CONFIG_PROD_EPCORE
":" Ä "::"
OSffx = .c.{Variety}.o
{OSffx} Ä .c
{MPWCommands96}MrC1.0 ¶
-o {TargDir}{Default}{OSffx}
{COptions}
{DepDir}{Default}.c
.c.CI.o Ä .c
{MPWCommands96}MrC2.0.2d1 ¶
-o {TargDir}{Default}.c.CI.o ¶
{CC_OPTT}
{CC_OPTR_Dbg}
{CC_OPT_CONTROL} {CC_OPT_SOURCE} {CC_OPT_OBJECT}
{ENVDEFINES} {PRODDEFINES}
{SYS_CINCLUDES}
{DepDir}{Default}.c
mmsw_{Variety}.o Ä
.c.HE.o Ä .c
{MPWCommands96}MrC2.0.2d1 ¶
-o {TargDir}{Default}.c.HE.o ¶
{CC_OPTT}
{CC_OPTR_}
{CC_OPT_CONTROL} {CC_OPT_SOURCE} {CC_OPT_OBJECT}
{ENVDEFINES} {PRODDEFINES}
{SYS_CINCLUDES}
{DepDir}{Default}.c
mmsw_{Variety}.o Ä
assert{OSffx}
ring{OSffx}
mpm{OSffx}
@ -61,10 +111,45 @@ mmsw_{Variety}.o
seg{OSffx}
poolmrg{OSffx}
message{OSffx}
{MPWCommands96}PPCLink ¶
-o {Targ}
-xm l -sym on ¶
{Deps} "{SharedLibraries96}InterfaceLib"
mmsw_CI.o Ä # .dep.accum
{MPWCommands97}PPCLink1.5 ¶
-o {Targ}
{BB_OPTR_Dbg}
{BB_OPT_CONTROL} {BB_OPT_SOURCE} {BB_OPT_OBJECT}
{Deps}
mmsw_HE.o Ä # .dep.accum
{MPWCommands97}PPCLink1.5 ¶
-o {Targ}
{BB_OPTR_}
{BB_OPT_CONTROL} {BB_OPT_SOURCE} {BB_OPT_OBJECT}
{Deps}
## .obsolete.zz: In trunk.11 this makefile was changed radically, but
## could not be tested because Mac Release ScriptWorks was broken.
## When SW is mended, it might be nice to test and compare the new and
## old builds of the MPS.
## It is easy to make the old HE build: just use the following "ZZ"
## pseudo-variety, which uses the old compiler, linker, and
## command-line options to build the HE variety.
## To build it: BuildProgram -d Variety=ZZ mmsw_ZZ.o
## richardk 1998-05-28
.c.ZZ.o Ä .c
{MPWCommands96}MrC1.0 ¶
-o {TargDir}{Default}.c.ZZ.o ¶
-d CONFIG_VAR_HE -d CONFIG_PROD_EPCORE ¶
-ansi strict -proto strict -typecheck strict -w error ¶
-sym full ¶
-i "{CIncludes96}"
{DepDir}{Default}.c
mmsw_ZZ.o Ä # .dep.accum
{MPWCommands96}PPCLink ¶
-o {Targ}
-xm l -sym on ¶
{Deps} "{SharedLibraries96}InterfaceLib"
cleanall Ä
Delete Å.o