// FloatBuild.cm
// Copywrite Xerox Corporation 1980
// Here is a command file that constructs the parallel
//   versions of the Floating Point packages.
// Required Subsystems:
//   MU.run PackMU.run TableCompiler.image Binder.image
//   Inline floating point version of Compiler.image
// Required files:
//    AltoConsts23.mu MesaBLTLreal.mu MesaXRAM.mu MesabROM.mu
//    RamDefs.bcd RamLoad.bcd DebugRealDefs.bcd
// There will be only the BcplCode version of FloatDebug;
//   the floatdebug installation will include the file Bcpl-Float.bcd
//   in both cases, although Float.bcd would be just as good in
//   non microcode systems.
// Last modified by L. Stewart, May 23, 1980  1:09 PM
// FloatFnDefs is common to both versions.
Compiler FloatFnDefs.mesa
// BcplCode versions
Compiler Bcpl-RealDefs.mesa
Copy RealDefs.bcd ← Bcpl-RealDefs.bcd
// Now do all the work
Compiler FloatDebug.mesa
Compiler Bcpl-Float.mesa
Copy Float.bcd ← Bcpl-Float.bcd
Compiler @FloatParallel.cm@
Dump Bcpl-Float.dm @FloatBcds.cm@
Dump FloatDebug.dm makeFloatDebug.cm makeXMFloatDebug.cm ↑
   Bcpl-Float.bcd FloatDebug.bcd
Compiler Mesa-Float.mesa
// Microcode versions
Compiler ucode-RealDefs uFloatDefs
Copy RealDefs.bcd ← ucode-RealDefs.bcd
// Put together microcode
mu/l Float.mu
PackMu Float.mb Float.br
TableCompiler MakeModule["Float.br", "uCodeImage", "uFloatDefs"]
// Now do all the work
Compiler MicroFloat
// Configuration including RamLoad, MicroFloat, and uCodeImage
Bind Float/cs
Delete Float.br Float.ls Float.mb uCodeImage.bcd uFloatDefs.bcd
Delete MicroFloat.bcd
// Use compiler with Inline floating point operations.
Compiler f/c @FloatParallel.cm@
Dump ucode-Float.dm @FloatBcds.cm@
// Sources
Dump FloatSources.dm @FloatSources.cm@
// OtherStuff
Dump FloatOther.dm @FloatOther.cm@
// Use Bravo to create Float.press from Float.bravo
// Use FTP to save: Bcpl-Float.dm uCode-Float.dm
//   FloatDebug.dm FloatSources.dm FloatOther.dm Float.press
Ftp Maxc st/c Bcpl-Float.dm uCode-Float.dm Mesa-Float.bcd ↑
  FloatDebug.dm FloatSources.dm FloatOther.dm Float.press
Ftp Ivy dir/c LStewart>Float st/c Bcpl-Float.dm uCode-Float.dm ↑
  Mesa-Float.bcd ↑
  FloatDebug.dm FloatSources.dm FloatOther.dm Float.press