Skip to content

Commit

Permalink
Merge pull request #781 from davidgiven/refactor
Browse files Browse the repository at this point in the history
More refactoring and modularisation.
  • Loading branch information
davidgiven authored Oct 15, 2024
2 parents 86ede22 + 900ba11 commit cb93258
Show file tree
Hide file tree
Showing 93 changed files with 206 additions and 247 deletions.
4 changes: 2 additions & 2 deletions arch/aeslanier/decoder.cc
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
#include "aeslanier.h"
#include "lib/core/crc.h"
#include "lib/data/fluxmap.h"
#include "lib/decoders/fluxmapreader.h"
#include "lib/decoders/fluxpattern.h"
#include "lib/data/fluxmapreader.h"
#include "lib/data/fluxpattern.h"
#include "lib/data/sector.h"
#include "lib/core/bytes.h"
#include "fmt/format.h"
Expand Down
4 changes: 2 additions & 2 deletions arch/agat/decoder.cc
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
#include "agat.h"
#include "lib/core/crc.h"
#include "lib/data/fluxmap.h"
#include "lib/decoders/fluxmapreader.h"
#include "lib/decoders/fluxpattern.h"
#include "lib/data/fluxmapreader.h"
#include "lib/data/fluxpattern.h"
#include "lib/data/sector.h"
#include "lib/core/bytes.h"
#include "fmt/format.h"
Expand Down
4 changes: 2 additions & 2 deletions arch/amiga/decoder.cc
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#include "lib/core/globals.h"
#include "lib/data/fluxmap.h"
#include "lib/decoders/fluxmapreader.h"
#include "lib/decoders/fluxpattern.h"
#include "lib/data/fluxmapreader.h"
#include "lib/data/fluxpattern.h"
#include "protocol.h"
#include "lib/decoders/decoders.h"
#include "lib/data/sector.h"
Expand Down
4 changes: 2 additions & 2 deletions arch/apple2/decoder.cc
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#include "lib/core/globals.h"
#include "lib/data/fluxmap.h"
#include "lib/decoders/fluxmapreader.h"
#include "lib/decoders/fluxpattern.h"
#include "lib/data/fluxmapreader.h"
#include "lib/data/fluxpattern.h"
#include "protocol.h"
#include "lib/decoders/decoders.h"
#include "lib/data/sector.h"
Expand Down
4 changes: 2 additions & 2 deletions arch/brother/decoder.cc
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#include "lib/core/globals.h"
#include "lib/data/fluxmap.h"
#include "lib/decoders/fluxmapreader.h"
#include "lib/decoders/fluxpattern.h"
#include "lib/data/fluxmapreader.h"
#include "lib/data/fluxpattern.h"
#include "lib/decoders/decoders.h"
#include "lib/encoders/encoders.h"
#include "brother.h"
Expand Down
4 changes: 2 additions & 2 deletions arch/c64/decoder.cc
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#include "lib/core/globals.h"
#include "lib/data/fluxmap.h"
#include "lib/decoders/fluxmapreader.h"
#include "lib/decoders/fluxpattern.h"
#include "lib/data/fluxmapreader.h"
#include "lib/data/fluxpattern.h"
#include "protocol.h"
#include "lib/decoders/decoders.h"
#include "lib/data/sector.h"
Expand Down
4 changes: 2 additions & 2 deletions arch/f85/decoder.cc
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#include "lib/core/globals.h"
#include "lib/data/fluxmap.h"
#include "lib/decoders/fluxmapreader.h"
#include "lib/decoders/fluxpattern.h"
#include "lib/data/fluxmapreader.h"
#include "lib/data/fluxpattern.h"
#include "protocol.h"
#include "lib/decoders/decoders.h"
#include "lib/data/sector.h"
Expand Down
4 changes: 2 additions & 2 deletions arch/fb100/decoder.cc
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#include "lib/core/globals.h"
#include "lib/data/fluxmap.h"
#include "lib/decoders/fluxmapreader.h"
#include "lib/decoders/fluxpattern.h"
#include "lib/data/fluxmapreader.h"
#include "lib/data/fluxpattern.h"
#include "protocol.h"
#include "lib/decoders/decoders.h"
#include "lib/data/sector.h"
Expand Down
4 changes: 2 additions & 2 deletions arch/ibm/decoder.cc
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
#include "ibm.h"
#include "lib/core/crc.h"
#include "lib/data/fluxmap.h"
#include "lib/decoders/fluxmapreader.h"
#include "lib/decoders/fluxpattern.h"
#include "lib/data/fluxmapreader.h"
#include "lib/data/fluxpattern.h"
#include "lib/data/sector.h"
#include "arch/ibm/ibm.pb.h"
#include "lib/config/proto.h"
Expand Down
4 changes: 2 additions & 2 deletions arch/macintosh/decoder.cc
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#include "lib/core/globals.h"
#include "lib/data/fluxmap.h"
#include "lib/decoders/fluxmapreader.h"
#include "lib/decoders/fluxpattern.h"
#include "lib/data/fluxmapreader.h"
#include "lib/data/fluxpattern.h"
#include "protocol.h"
#include "lib/decoders/decoders.h"
#include "lib/data/sector.h"
Expand Down
4 changes: 2 additions & 2 deletions arch/micropolis/decoder.cc
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#include "lib/core/globals.h"
#include "lib/data/fluxmap.h"
#include "lib/decoders/fluxmapreader.h"
#include "lib/decoders/fluxpattern.h"
#include "lib/data/fluxmapreader.h"
#include "lib/data/fluxpattern.h"
#include "lib/decoders/decoders.h"
#include "lib/data/sector.h"
#include "micropolis.h"
Expand Down
4 changes: 2 additions & 2 deletions arch/mx/decoder.cc
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
#include "arch/mx/mx.h"
#include "lib/core/crc.h"
#include "lib/data/fluxmap.h"
#include "lib/decoders/fluxmapreader.h"
#include "lib/decoders/fluxpattern.h"
#include "lib/data/fluxmapreader.h"
#include "lib/data/fluxpattern.h"
#include "lib/data/sector.h"
#include <string.h>

Expand Down
4 changes: 2 additions & 2 deletions arch/northstar/decoder.cc
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@

#include "lib/core/globals.h"
#include "lib/data/fluxmap.h"
#include "lib/decoders/fluxmapreader.h"
#include "lib/decoders/fluxpattern.h"
#include "lib/data/fluxmapreader.h"
#include "lib/data/fluxpattern.h"
#include "lib/decoders/decoders.h"
#include "lib/data/sector.h"
#include "northstar.h"
Expand Down
4 changes: 2 additions & 2 deletions arch/rolandd20/decoder.cc
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
#include "lib/decoders/decoders.h"
#include "lib/core/crc.h"
#include "lib/data/fluxmap.h"
#include "lib/decoders/fluxmapreader.h"
#include "lib/decoders/fluxpattern.h"
#include "lib/data/fluxmapreader.h"
#include "lib/data/fluxpattern.h"
#include "lib/data/sector.h"
#include "lib/core/bytes.h"
#include "rolandd20.h"
Expand Down
4 changes: 2 additions & 2 deletions arch/smaky6/decoder.cc
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#include "lib/core/globals.h"
#include "lib/data/fluxmap.h"
#include "lib/decoders/fluxmapreader.h"
#include "lib/decoders/fluxpattern.h"
#include "lib/data/fluxmapreader.h"
#include "lib/data/fluxpattern.h"
#include "protocol.h"
#include "lib/decoders/decoders.h"
#include "lib/data/sector.h"
Expand Down
4 changes: 2 additions & 2 deletions arch/tartu/decoder.cc
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
#include "arch/tartu/tartu.h"
#include "lib/core/crc.h"
#include "lib/data/fluxmap.h"
#include "lib/decoders/fluxmapreader.h"
#include "lib/decoders/fluxpattern.h"
#include "lib/data/fluxmapreader.h"
#include "lib/data/fluxpattern.h"
#include "lib/data/sector.h"
#include <string.h>

Expand Down
4 changes: 2 additions & 2 deletions arch/tids990/decoder.cc
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
#include "arch/tids990/tids990.h"
#include "lib/core/crc.h"
#include "lib/data/fluxmap.h"
#include "lib/decoders/fluxmapreader.h"
#include "lib/decoders/fluxpattern.h"
#include "lib/data/fluxmapreader.h"
#include "lib/data/fluxpattern.h"
#include "lib/data/sector.h"
#include <string.h>
#include "fmt/format.h"
Expand Down
4 changes: 2 additions & 2 deletions arch/victor9k/decoder.cc
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#include "lib/core/globals.h"
#include "lib/data/fluxmap.h"
#include "lib/decoders/fluxmapreader.h"
#include "lib/decoders/fluxpattern.h"
#include "lib/data/fluxmapreader.h"
#include "lib/data/fluxpattern.h"
#include "protocol.h"
#include "lib/decoders/decoders.h"
#include "lib/data/sector.h"
Expand Down
4 changes: 2 additions & 2 deletions arch/zilogmcz/decoder.cc
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#include "lib/core/globals.h"
#include "lib/data/fluxmap.h"
#include "lib/decoders/fluxmapreader.h"
#include "lib/decoders/fluxpattern.h"
#include "lib/data/fluxmapreader.h"
#include "lib/data/fluxpattern.h"
#include "protocol.h"
#include "lib/decoders/decoders.h"
#include "lib/data/sector.h"
Expand Down
22 changes: 2 additions & 20 deletions build.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,17 +19,11 @@

clibrary(name="protocol", hdrs={"protocol.h": "./protocol.h"})

proto(name="fl2_proto", srcs=["lib/fl2.proto"])
protocc(name="fl2_proto_lib", srcs=["+fl2_proto"])

cxxlibrary(
name="lib",
srcs=[
"./lib/decoders/decoders.cc",
"./lib/fl2.cc",
"./lib/decoders/fluxdecoder.cc",
"./lib/decoders/fluxmapreader.cc",
"./lib/decoders/fluxpattern.cc",
"./lib/decoders/fmmfm.cc",
"./lib/encoders/encoders.cc",
"./lib/fluxsink/a2rfluxsink.cc",
Expand All @@ -40,7 +34,6 @@
"./lib/fluxsink/scpfluxsink.cc",
"./lib/fluxsink/vcdfluxsink.cc",
"./lib/fluxsource/a2rfluxsource.cc",
"./lib/fluxsource/catweasel.cc",
"./lib/fluxsource/cwffluxsource.cc",
"./lib/fluxsource/dmkfluxsource.cc",
"./lib/fluxsource/erasefluxsource.cc",
Expand All @@ -49,12 +42,10 @@
"./lib/fluxsource/flx.cc",
"./lib/fluxsource/flxfluxsource.cc",
"./lib/fluxsource/hardwarefluxsource.cc",
"./lib/fluxsource/kryoflux.cc",
"./lib/fluxsource/kryofluxfluxsource.cc",
"./lib/fluxsource/memoryfluxsource.cc",
"./lib/fluxsource/scpfluxsource.cc",
"./lib/fluxsource/testpatternfluxsource.cc",
"./lib/globals.cc",
"./lib/imagereader/d64imagereader.cc",
"./lib/imagereader/d88imagereader.cc",
"./lib/imagereader/dimimagereader.cc",
Expand All @@ -76,7 +67,6 @@
"./lib/imagewriter/ldbsimagewriter.cc",
"./lib/imagewriter/nsiimagewriter.cc",
"./lib/imagewriter/rawimagewriter.cc",
"./lib/ldbs.cc",
"./lib/readerwriter.cc",
"./lib/usb/applesauceusb.cc",
"./lib/usb/fluxengineusb.cc",
Expand Down Expand Up @@ -147,42 +137,34 @@
"arch/c64/data_gcr.h": "./arch/c64/data_gcr.h",
"arch/c64/c64.h": "./arch/c64/c64.h",
"arch/tartu/tartu.h": "./arch/tartu/tartu.h",
"lib/a2r.h": "./lib/a2r.h",
"lib/decoders/decoders.h": "./lib/decoders/decoders.h",
"lib/decoders/fluxdecoder.h": "./lib/decoders/fluxdecoder.h",
"lib/decoders/fluxmapreader.h": "./lib/decoders/fluxmapreader.h",
"lib/decoders/fluxpattern.h": "./lib/decoders/fluxpattern.h",
"lib/decoders/rawbits.h": "./lib/decoders/rawbits.h",
"lib/encoders/encoders.h": "./lib/encoders/encoders.h",
"lib/scp.h": "./lib/scp.h",
"lib/fl2.h": "./lib/fl2.h",
"lib/fluxsink/fluxsink.h": "./lib/fluxsink/fluxsink.h",
"lib/fluxsource/catweasel.h": "lib/fluxsource/catweasel.h",
"lib/fluxsource/fluxsource.h": "lib/fluxsource/fluxsource.h",
"lib/fluxsource/flx.h": "lib/fluxsource/flx.h",
"lib/fluxsource/kryoflux.h": "lib/fluxsource/kryoflux.h",
"lib/globals.h": "./lib/globals.h",
"lib/imagereader/imagereader.h": "./lib/imagereader/imagereader.h",
"lib/imagewriter/imagewriter.h": "./lib/imagewriter/imagewriter.h",
"lib/ldbs.h": "./lib/ldbs.h",
"lib/readerwriter.h": "./lib/readerwriter.h",
"lib/usb/applesauce.h": "./lib/usb/applesauce.h",
"lib/usb/greaseweazle.h": "./lib/usb/greaseweazle.h",
"lib/usb/usb.h": "./lib/usb/usb.h",
"lib/usb/usbfinder.h": "./lib/usb/usbfinder.h",
},
deps=[
"+fl2_proto_lib",
"+fmt_lib",
"+protocol",
"dep/adflib",
"dep/fatfs",
"dep/hfsutils",
"dep/libusbp",
"dep/stb",
"src/formats",
"lib/core",
"lib/config",
"lib/data",
"lib/external",
"lib/fluxsource+proto_lib",
],
)
Expand Down
2 changes: 1 addition & 1 deletion build/_progress.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,5 @@
(_, current, max) = sys.argv
percent = int(100 * float(current) / float(max))
print(f"[{percent:>3}%]")
except ValueError:
except:
pass
6 changes: 4 additions & 2 deletions build/c.py
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ def cfileimpl(self, name, srcs, deps, suffix, commands, label, kind, cflags):
t = simplerule(
replaces=self,
ins=srcs,
deps=sorted(hdr_deps),
deps=sorted(_indirect(hdr_deps, "cheader_files")),
outs=[outleaf],
label=label,
commands=commands,
Expand Down Expand Up @@ -216,6 +216,8 @@ def libraryimpl(
self.deps = self.outs
self.args["cheader_deps"] = hdr_deps
self.args["clibrary_deps"] = lib_deps
self.args["cheader_files"] = [hr] if hr else []
self.args["clibrary_files"] = [ar] if ar else []
self.args["caller_cflags"] = caller_cflags + hf
self.args["caller_ldflags"] = caller_ldflags

Expand Down Expand Up @@ -323,7 +325,7 @@ def programimpl(
replaces=self,
ins=cfiles + libs,
outs=[f"={self.localname}$(EXT)"],
deps=deps,
deps=sorted(_indirect(lib_deps, "clibrary_files")),
label=toolchain.label + label,
commands=commands,
args={
Expand Down
19 changes: 12 additions & 7 deletions build/pkg.py
Original file line number Diff line number Diff line change
Expand Up @@ -53,13 +53,18 @@ def _package(self, name, package, fallback, pkgconfig):
fallback
), f"Required package '{package}' not installed when materialising target '{name}'"

self.args["cheader_deps"] = fallback.args.get("cheader_deps", {fallback})
self.args["clibrary_deps"] = fallback.args.get("clibrary_deps", {fallback})
self.ins = []
self.outs = []
self.deps = [fallback]
self.traits.add("clibrary")
self.traits.add("cheaders")
if "cheader_deps" in fallback.args:
self.args["cheader_deps"] = fallback.args["cheader_deps"]
if "clibrary_deps" in fallback.args:
self.args["clibrary_deps"] = fallback.args["clibrary_deps"]
if "cheader_files" in fallback.args:
self.args["cheader_files"] = fallback.args["cheader_files"]
if "clibrary_files" in fallback.args:
self.args["clibrary_files"] = fallback.args["clibrary_files"]
self.ins = fallback.ins
self.outs = fallback.outs
self.deps = fallback.deps
self.traits = fallback.traits


@Rule
Expand Down
13 changes: 9 additions & 4 deletions build/protobuf.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
from build.ab import Rule, Targets, emit, simplerule, filenamesof
from build.utils import filenamesmatchingof, collectattrs
from types import SimpleNamespace
from os.path import join, abspath, dirname
from os.path import join, abspath, dirname, relpath
import build.pkg # to get the protobuf package check

emit(
Expand All @@ -26,7 +25,10 @@ def _getprotodeps(deps):
def proto(self, name, srcs: Targets = [], deps: Targets = []):
protodeps = _getprotodeps(deps)
descriptorlist = ":".join(
[abspath(f) for f in filenamesmatchingof(protodeps, "*.descriptor")]
[
relpath(f, start=self.dir)
for f in filenamesmatchingof(protodeps, "*.descriptor")
]
)

dirs = sorted({"{dir}/" + dirname(f) for f in filenamesof(srcs)})
Expand Down Expand Up @@ -81,7 +83,10 @@ def protocc(self, name, srcs: Targets = [], deps: Targets = []):

protodeps = _getprotodeps(deps + srcs)
descriptorlist = ":".join(
[abspath(f) for f in filenamesmatchingof(protodeps, "*.descriptor")]
[
relpath(f, start=self.dir)
for f in filenamesmatchingof(protodeps, "*.descriptor")
]
)

r = simplerule(
Expand Down
Loading

0 comments on commit cb93258

Please sign in to comment.