From ed7f5fb7a6cb05f847d5b7cf17501d5e3266e7bd Mon Sep 17 00:00:00 2001 From: Steven Hugg Date: Sat, 1 Jun 2019 20:02:50 -0400 Subject: [PATCH] fixed so there can only be one linkstep --- doc/notes.txt | 11 +++++++---- src/worker/workermain.ts | 42 ++++++++++++++++------------------------ 2 files changed, 24 insertions(+), 29 deletions(-) diff --git a/doc/notes.txt b/doc/notes.txt index cc6d1818..d4e222ee 100644 --- a/doc/notes.txt +++ b/doc/notes.txt @@ -41,7 +41,6 @@ TODO: - VCS asm library - better VCS single stepping, maybe also listings - VCS skips step on lsr/lsr after run to line -- error msg when #link doesn't work - figure out folders for projects for real - click to break on raster position - restructure src/ folders @@ -59,9 +58,12 @@ TODO: - error showing replay div before rom starts - compiler flags for final ROM build - workermain: split build functions, better msg types -- sdcc: can't link asm files before c files (e.g. acheader.s must be last) -- what if >1 file with same name? (local/nonlocal/directory) -- what if .c and .s names collide? +- builds: + - what if >1 file with same name? (local/nonlocal/directory) + - what if .c and .s names collide? + - maybe put stuff in examples/ dir? + - error msg when #link doesn't work + - sdcc: can't link asm files before c files (e.g. acheader.s must be last) - live coding URL - resize memory browser when vertical div resize - preroll the emulator so optimizer does its thing before loading rom @@ -156,6 +158,7 @@ TODO: - z80 - can't single step on PUSH insns in listings? - order of acheader.s +- ctrl+alt+l on ubuntu locks screen WEB WORKER FORMAT diff --git a/src/worker/workermain.ts b/src/worker/workermain.ts index c2813d10..999fa580 100644 --- a/src/worker/workermain.ts +++ b/src/worker/workermain.ts @@ -292,7 +292,6 @@ interface BuildStep extends WorkerBuildStep { params? result? code? - generated? prefix? maxts? }; @@ -1989,6 +1988,7 @@ function applyDefaultErrorPath(errors:WorkerError[], path:string) { function executeBuildSteps() { buildstartseq = workerseq; + var linkstep : BuildStep = null; while (buildsteps.length) { var step = buildsteps.shift(); // get top of array var platform = step.platform; @@ -2014,37 +2014,29 @@ function executeBuildSteps() { } // combine files with a link tool? if (step.result.linktool) { - var linkstep = { - tool:step.result.linktool, - platform:platform, - files:step.result.files, - args:step.result.args - }; - step.generated = linkstep.files; - // find previous link step to combine - for (var i=0; i