PiDP-8/I SoftwareCheck-in [ff7ab04cc3]
Not logged in

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Passing --disable-cc8-cross now effectively sets --disable-os8-cc8. That wasn't necessary before, since we were distributing a pre-built version of the native CC8, but now that we're building it from source, we need the cross-compiler to produce cc8.tu56.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: ff7ab04cc3e515c70e0530bd64c43dcacdf2c2d63e3136a1adfc87fb2980e1c1
User & Date: tangent 2019-02-13 05:27:32
Context
2019-02-13
06:13
Documented the new ./configure --boot-tape-* options, and updated some of the other configuration option docs in README.md. check-in: f5a05c7790 user: tangent tags: trunk
05:27
Passing --disable-cc8-cross now effectively sets --disable-os8-cc8. That wasn't necessary before, since we were distributing a pre-built version of the native CC8, but now that we're building it from source, we need the cross-compiler to produce cc8.tu56. check-in: ff7ab04cc3 user: tangent tags: trunk
2019-02-12
06:13
Updated ChangeLog.md to cover new CC8 work check-in: 1992d9b147 user: tangent tags: trunk
Changes
Hide Diffs Side-by-Side Diffs Ignore Whitespace Patch

Changes to Makefile.in.

   298    298   OS8_BOOT_TAPE = bin/@OS8_BOOT_TAPE@
   299    299   V3D_TC08_TU56 = bin/v3d-tc08.tu56
   300    300   V3D_TD12K_TU56 = bin/v3d-td12k.tu56
   301    301   V3F_TC08_TU56 = bin/v3f-tc08.tu56
   302    302   V3F_TD12K_TU56 = bin/v3f-td12k.tu56
   303    303   V3F_BOOT_TAPE= bin/v3f-@OS8_TAPE_DEVICE@.tu56
   304    304   
   305         -CC8_TU56 = bin/cc8.tu56
   306    305   CC8_TU56_SCRIPT = $(OS8_SCRIPTS_DIR)/cc8-tu56.os8
   307    306   
   308    307   CLTXT = /boot/cmdline.txt
   309    308   
   310    309   ADF := adrules.mk
   311    310   
   312    311   
................................................................................
   589    588   	@srcdir@/src/os8/v3f/*.MA \
   590    589   	@srcdir@/src/os8/v3f/*.BI
   591    590   
   592    591   
   593    592   $(OS8_DIST_RK05): $(V3D_DIST_SRCS) | $(SIM) $(OS8RUN_OUTFILES)
   594    593   	$(OS8RUN)@OS8_OPTS@ $(V3D_DIST_SCRIPT)
   595    594   
   596         -$(OS8_BOOT_DISK): $(V3D_RK05_SCRIPT) $(OS8_DIST_RK05) $(V3D_PATCHES) $(CC8_TU56) | $(SIM) $(OS8RUN_OUTFILES)
          595  +$(OS8_BOOT_DISK): $(V3D_RK05_SCRIPT) $(OS8_DIST_RK05) $(V3D_PATCHES) @CC8_TU56@ | $(SIM) $(OS8RUN_OUTFILES)
   597    596   	$(OS8RUN)@OS8_OPTS@ $(V3D_RK05_SCRIPT)
   598    597   
   599    598   
   600    599   # Also build an OS/8 source disk, as a convenience to avoid the 
   601    600   # need to mount up the 7 source tapes in succession.
   602    601   #
   603    602   # Using an order-only dependency for the simulator and the bin disk: we
................................................................................
   632    631   	$(OS8RUN)@OS8_OPTS@ $(ALL_TU56_SCRIPT)
   633    632   
   634    633   # Make a bootable OS/8 v3d TD8E 12K DECtape image
   635    634   $(V3D_TD12K_TU56): $(ALL_TU56_SCRIPT) $(CUSP_COPYIN_SCRIPT) | $(OS8_BOOT_DISK) 
   636    635   	$(OS8RUN)@OS8_OPTS@ $(ALL_TU56_SCRIPT) --enable td12k
   637    636   
   638    637   # Create the CC8 distribution DECtape image
   639         -$(CC8_TU56): $(CC_OS8_OBJS) $(CC_OS8_SRCS) $(CC_OS8_DEMOS) $(CC8_TU56_SCRIPT) | $(OS8_DIST_RK05)
          638  +bin/cc8.tu56: $(CC_OS8_OBJS) $(CC_OS8_SRCS) $(CC_OS8_DEMOS) $(CC8_TU56_SCRIPT) | $(OS8_DIST_RK05)
   640    639   	$(OS8RUN) $(CC8_TU56_SCRIPT)
   641    640   
   642    641   # Rule for building PAL assembly language programs in src/asm/*.pal.
   643    642   obj/%.lst bin/%-pal.pt: @srcdir@/src/asm/%.pal bin/palbart
   644    643   	bin/palbart -lr $< || cat obj/$*.err
   645    644   	mv @srcdir@/src/asm/$*.lst obj
   646    645   	mv @srcdir@/src/asm/$*.rim bin/$*-pal.pt

Changes to README.md.

   351    351   
   352    352   
   353    353   #### --disable-cc8-cross
   354    354   
   355    355   Give this option if you do not want to build Ian Schofield's `cc8` C
   356    356   cross-compiler on the host.
   357    357   
   358         -Note that this is different from `--disable-os8-cc8`, which disables the
   359         -*native OS/8* C compiler. They are two different C compilers: one runs
   360         -outside the SIMH PDP-8 simulator and the other runs inside the simulator
   361         -under OS/8.
          358  +Because the cross-compiler is needed to build the CC8 native OS/8
          359  +compiler, disabling the cross-compiler also causes the native compiler
          360  +to be left off the bootable OS/8 RK05 disk image, as if you’d passed the
          361  +`--disable-os8-cc8` configuration option.
   362    362   
   363    363   
   364    364   <a id="disable-os8"></a>
   365    365   #### --disable-os8-\*
   366    366   
   367    367   Several default components of the [OS/8 RK05 disk image](#os8di) used by
   368    368   boot options IF=0 and IF=7 can be left out to save space and build time:
................................................................................
   378    378       implies that it is the OS/8 BASIC subsystem that is being left out,
   379    379       which is not even currently an option.)
   380    380   
   381    381   *   **--disable-os8-chess** — Leave out John Comeau's
   382    382       [CHECKMO-II chess implementation][chess].
   383    383   
   384    384   *   **--disable-os8-cc8** - Leave out Ian Schofield's native OS/8 CC8
   385         -    compiler normally installed to `SYS:`.
          385  +    compiler and all of its ancillary files.
   386    386   
   387    387   *   **--disable-os8-crt** — Suppress the [console rubout behavior][tty]
   388    388       enabled while building the OS/8 binary RK05 disk image. You
   389    389       probably only want to do this if you have attached a real teletype
   390    390       to your PiDP-8/I, and thus do not want video terminal style rubout
   391    391       processing.
   392    392   

Changes to auto.def.

   118    118   }
   119    119   set os8bool(src) [opt-bool os8-src]
   120    120   
   121    121   # Handle meta-options
   122    122   set os8min [opt-bool os8-minimal]
   123    123   set os8src [opt-bool os8-src]
   124    124   if {![opt-bool os8-focal]} {
   125         -    set os8bool(focal69) 0
   126         -    set os8bool(uwfocal) 0
          125  +    set os8bool(focal69) "0"
          126  +    set os8bool(uwfocal) "0"
   127    127   }
   128    128   
   129    129   # -- do not use opt-bool os8-* below this point
   130    130   # -- use the os8bool() array
   131    131   
   132    132   # Handle interdependent options
   133    133   if {$os8bool(cc8) && !$os8bool(fortran-ii)} {
   134    134       set $os8bool(fortran-ii) 1
   135    135       msg-result "WARNING: Re-enabling OS/8 FORTRAN II: OS/8 CC8 requires it."
          136  +}
          137  +define CC8_TU56 {}
          138  +if {[opt-bool cc8-cross]} {
          139  +    define CC8_CROSS bin/cc8
          140  +    if {$os8bool(cc8)} {
          141  +        define CC8_TU56 bin/cc8.tu56
          142  +    }
          143  +} else {
          144  +    define CC8_CROSS {}
          145  +    msg-result "Will not build the CC8 cross-compiler."
          146  +    if {$os8bool(cc8)} {
          147  +        msg-result "Also disabling OS/8 CC8: can't cross-compile it now."
          148  +        set os8bool(cc8) "0"
          149  +    }
   136    150   }
   137    151   
   138    152   # Now build the options to os8-run
   139    153   set os8_opts ""
   140    154   foreach {opt def desc} $os8opts {
   141    155       set val $os8bool($opt)
   142    156       if {$os8min} {
................................................................................
   209    223       define PCB_SERIAL_MOD_ANY
   210    224   } elseif {[opt-bool serial-mod]} {
   211    225       msg-result "GPIO drive adjusted for O. Vermeulen's serial mods to the Pi & PiDP-8/I PCBs."
   212    226       define PCB_SERIAL_MOD_OV
   213    227       define PCB_SERIAL_MOD_ANY
   214    228   }
   215    229   
   216         -if {[opt-bool cc8-cross]} {
   217         -    define CC8_CROSS bin/cc8
   218         -} else {
   219         -    define CC8_CROSS {}
   220         -    msg-result "Will not build the cc8 cross-compiler."
   221         -}
   222         -
   223    230   if {[opt-bool debug-mode]} {
   224    231       msg-result "Creating a debuggable build."
   225    232       define BUILDMODE {-O0 -g}
   226    233   } else {
   227    234       msg-result "Creating a release build."
   228    235       define BUILDMODE {-O2}
   229    236   }