From b65651551719b84df51f8528cf1e8c1c65d662d7 Mon Sep 17 00:00:00 2001 From: Jeremy Rand Date: Mon, 25 Jun 2018 23:06:30 -0400 Subject: [PATCH] Update the build engine to support capturing build errors in Xcode itself. --- colourgo.xcodeproj/project.pbxproj | 2 + .../UserInterfaceState.xcuserstate | Bin 18796 -> 21059 bytes colourgo/make/errorFilter.sh | 59 ++++++++++++++++++ colourgo/make/tail.mk | 6 +- 4 files changed, 64 insertions(+), 3 deletions(-) create mode 100755 colourgo/make/errorFilter.sh diff --git a/colourgo.xcodeproj/project.pbxproj b/colourgo.xcodeproj/project.pbxproj index a6183f4..258494a 100644 --- a/colourgo.xcodeproj/project.pbxproj +++ b/colourgo.xcodeproj/project.pbxproj @@ -45,6 +45,7 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ + 9D45ABB520E1E50D008C3F16 /* errorFilter.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; name = errorFilter.sh; path = make/errorFilter.sh; sourceTree = ""; }; 9D55075F20DA0B6800B71EFD /* doNotBuild */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = doNotBuild; sourceTree = BUILT_PRODUCTS_DIR; }; 9D55076420DA0B6800B71EFD /* Makefile */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = ""; }; 9D55076720DA0B6800B71EFD /* AppleCommander.jar */ = {isa = PBXFileReference; lastKnownFileType = archive.jar; name = AppleCommander.jar; path = make/AppleCommander.jar; sourceTree = ""; }; @@ -123,6 +124,7 @@ 9D55076920DA0B6800B71EFD /* createDiskImage */, 9D55076B20DA0B6900B71EFD /* DevApple.vii */, 9D55076D20DA0B6900B71EFD /* dos33_template.dsk */, + 9D45ABB520E1E50D008C3F16 /* errorFilter.sh */, 9D55076F20DA0B6900B71EFD /* head.mk */, 9D55077120DA0B6900B71EFD /* prodos_template.dsk */, 9D55077320DA0B6900B71EFD /* tail.mk */, diff --git a/colourgo.xcodeproj/project.xcworkspace/xcuserdata/jrand.xcuserdatad/UserInterfaceState.xcuserstate b/colourgo.xcodeproj/project.xcworkspace/xcuserdata/jrand.xcuserdatad/UserInterfaceState.xcuserstate index 5f66bfdfc4c4760baa1791b2dcb6cec75b476a23..48ea2c99682f62b03395a82c06f6b3b6c0672611 100644 GIT binary patch delta 8841 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 -Wr>keEXQ`K~SE^U5*QzVk)#?rEP3q0+!|JOM z(GkvwoQP==TO+nd?1|VHu|ML2h)*Lvi}*a^zY)hH&PDtZaV6qf#EpnM8l@&i6RT;Y ziPOYu5;aMhrWz@rv1`&bE{#Xy(`0DcYBDurG_y3XXpU+A)W&N&Xgg{9YX@te(&lJ~ zYe#5DX-8`(YA0)7(7vdhsa>Mopxvb1tbJL#O}j(;s&$P1B|B7cdz5qUH6x5z(q0fkPji_%5wVsx>(W;&BD zMb}Da(WU7!be(klbt82Jx-q&UU5V~#U72p2ZoF=WZkBG2Zk}#|ZlP|GZi#N0ZiQ~W zZins@-M6}%dX+v=@6xx|chDE=%k<^?Df(IZ3VlewSie-iM!!y9rC+b#s6VB@Y0w(# z8xjpk0Yg(mbA!o{VrXe_8QK`y8L|u=4BZVq4ZRJ04gC!P!#2Yy!&$=x!wtiIqui)8 zs*M_Blrh>EV~jO6GA0|F8B>i;V}`Ms6VE)nkv-yJglKGDmS&AY>l@gJnP0lQ>Nls~&VoFI#X_+!0WqHc$DJN5YN`+K)>$9!TwZ3j47HSbJa*NWUwrDJomN-ki zCDD>(X=-V1FczOh`k+_v1c+_Qp}S!LEpYm_zG8e@&MHnX<0 zwzgWWqSa;fSbf$EYoM*Qi*3P^b&7SCb-uO28nQ04uCT7M zuCea49=D#gUbSAg{%XBt{oQ)odM8bprcTqOMW*S~jA`}K>Zi3#>y?ISYty!;?MwSS z?Qq(WwBu3}GpQduzMZZnw9yceZ!6cenSnKWQImA8gOI54F#+ueZN#|Iq%4 z{ebU`i8i&qda6~zx9Wjn%hsDvwk>i-;Snk;1 z*zNehany0#anf6#T!&r9 zU6%r`o9=jbvb%?SpnI4*-#yAb+8uPyb1!wTaIbc+b62~!x_7vDx?gkecE9P~?>^{0 z>Avc|>ydeso(NB*$KYw`Y3ym@N%SOnntIxKhI*d&tnzH|Z1lY3dEN7dXOHI{&pyw7 z&k4^Do}WDDJ(oOJJl8z8J@>re6})n9Aj;d&+t}O0o8WEkHG5ONt-V&S%iF=*-P_aK z+uPSW*qiMg>do`!dyBo3ypz3CyaDeV?|g5Ccae9gce%I9yUDx7yUn}9`?mLe?}y%x zy`OpydyjgLd%yI4lFHD*sx4rT;DeUjMuP{r(U9pZgE{kNS`MzsXQ$Xfqrc k85tuo#$;4vY|D5zBk6;T12t@wP+I#dWYqrFJu?peA4^l#yZ`_I diff --git a/colourgo/make/errorFilter.sh b/colourgo/make/errorFilter.sh new file mode 100755 index 0000000..30259c1 --- /dev/null +++ b/colourgo/make/errorFilter.sh @@ -0,0 +1,59 @@ +#!/bin/sh + +PWD=`pwd` + +$* 2> /tmp/errors.$$ +RESULT=$? + +if [ $RESULT -ne 0 ] +then + exec /usr/bin/perl -x $0 $RESULT /tmp/errors.$$ "$PWD" +fi +exit 0 + +#!/usr/bin/perl + +use strict; + +my $result = $ARGV[0]; +my $filename = $ARGV[1]; +my $pwd = $ARGV[2]; + +open(FILE, "<$filename") || die "$0: Unable to open file, $!"; + +my $unresolvedRefError = undef; + +while () { + chomp; + + if (defined $unresolvedRefError) { + if (m/^ ([^(]+)\(([0-9]+)\)/) { + my $file = $1; + my $lineno = $2; + + if (! -f "$pwd/$file") { + $file =~ s/\.s$/.c/; + } + + $_ = "$pwd/$file:$lineno:0: Error: $unresolvedRefError"; + } else { + $unresolvedRefError = undef; + } + } + + if (m/^(Unresolved external .* referenced) in:/) { + $unresolvedRefError = $1; + $_ = ""; + } elsif (m/^([^(]+)\(([0-9]+)\):(.*)$/) { + my $file = $1; + my $lineno = $2; + my $error = $3; + + $_ = "$pwd/$file:$lineno:0:$error"; + } + print STDERR "$_\n"; +} + +unlink($filename); + +exit($result); diff --git a/colourgo/make/tail.mk b/colourgo/make/tail.mk index 6463582..4d72c06 100644 --- a/colourgo/make/tail.mk +++ b/colourgo/make/tail.mk @@ -95,7 +95,7 @@ cleanMacCruft: rm -rf pkg $(PGM): $(OBJS) - $(CL65) $(MACHCONFIG) --mapfile $(MAPFILE) $(LDFLAGS) -o "$(PGM)" $(OBJS) + make/errorFilter.sh $(CL65) $(MACHCONFIG) --mapfile $(MAPFILE) $(LDFLAGS) -o "$(PGM)" $(OBJS) $(DISKIMAGE): $(PGM) make/createDiskImage $(AC) $(MACHINE) "$(DISKIMAGE)" "$(PGM)" "$(START_ADDR)" $(COPYDIRS) @@ -104,12 +104,12 @@ execute: $(DISKIMAGE) osascript make/V2Make.scpt "$(CWD)" "$(PGM)" "$(CWD)/make/DevApple.vii" "$(EXECCMD)" %.o: %.c - $(CL65) $(MACHCONFIG) $(CFLAGS) --create-dep -c -o $@ $< + make/errorFilter.sh $(CL65) $(MACHCONFIG) $(CFLAGS) --create-dep -c -o $@ $< sed -i .bak 's/\.s:/.o:/' $(@:.o=.u) rm -f $(@:.o=.u).bak %.o: %.s - $(CL65) $(MACHCONFIG) --cpu $(CPU) $(ASMFLAGS) -l -c -o $@ $< + make/errorFilter.sh $(CL65) $(MACHCONFIG) --cpu $(CPU) $(ASMFLAGS) -l -c -o $@ $< $(OBJS): Makefile