Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
0953039
Try using WSL 1 with Fedora 41.
davidgiven Nov 9, 2024
9a0357c
Fix filename.
davidgiven Nov 9, 2024
e335621
Adjust.
davidgiven Nov 9, 2024
3fcf7d4
More adjust.
davidgiven Nov 9, 2024
949e9c2
No, we need to stick with WSL2.
davidgiven Nov 9, 2024
a022aab
Change the wx library order.
davidgiven Nov 9, 2024
cd36cac
Warning fix.
davidgiven Nov 22, 2024
6f99f88
Merge from master.
davidgiven Nov 22, 2024
e5a3331
Enable debug tracing.
davidgiven Nov 22, 2024
f5adb89
Upgrade dep/fmt to 11.1.4.
davidgiven Mar 12, 2025
0f763fe
Patch up for the libfmt change and update to c++20.Patch up for the
davidgiven Mar 12, 2025
15a69f6
Make build with the new ab --- but the tests fail.
davidgiven Mar 17, 2025
06e2914
Arch files are now built as one library per subdirectory, and everything
davidgiven Mar 17, 2025
3e505f4
It now builds properly!
davidgiven Mar 18, 2025
f89adce
Add missing file.
davidgiven Mar 18, 2025
5d57957
Add missing dependency.
davidgiven Mar 18, 2025
311ff4a
Add in some missing dependencies.
davidgiven Mar 19, 2025
4d60ff8
Update ab.
davidgiven Mar 20, 2025
6d73371
Update ab.
davidgiven Apr 22, 2025
42aec98
Add missing file.
davidgiven Apr 22, 2025
8a2a58b
Hopefully beat the OSX build into working.
davidgiven Apr 23, 2025
c8fe56e
Switch the sandbox back to hardlinks.
davidgiven Apr 24, 2025
7096e9f
Disable Windows verbose builds.
davidgiven Apr 24, 2025
cdcc63f
Disable the Debian 11 build, as it doesn't work. Try WSL1 again.
davidgiven Apr 24, 2025
ed11a5c
Update release build script to match.
davidgiven Apr 24, 2025
f200bb8
Update documentation.
davidgiven Apr 24, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
54 changes: 27 additions & 27 deletions .github/workflows/ccpp.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,28 +24,28 @@ jobs:
- name: make
run: CXXFLAGS="-Wp,-D_GLIBCXX_ASSERTIONS" make -j`nproc` -C fluxengine

build-linux-debian-11:
runs-on: ubuntu-22.04
container: debian:11
steps:
- uses: actions/checkout@v4
with:
repository: 'davidgiven/fluxengine'
path: 'fluxengine'
- uses: actions/checkout@v4
with:
repository: 'davidgiven/fluxengine-testdata'
path: 'fluxengine-testdata'
- name: apt update
run: apt update
- name: apt
run: >
apt install -y python3 make xz-utils python3 python3-hamcrest
protobuf-compiler libprotobuf-dev libsqlite3-dev
libfmt-dev libprotobuf-dev wx-common pkg-config
libudev-dev g++ libwxgtk3.0-gtk3-dev
- name: make
run: make -C fluxengine
#build-linux-debian-11:
# runs-on: ubuntu-22.04
# container: debian:11
# steps:
# - uses: actions/checkout@v4
# with:
# repository: 'davidgiven/fluxengine'
# path: 'fluxengine'
# - uses: actions/checkout@v4
# with:
# repository: 'davidgiven/fluxengine-testdata'
# path: 'fluxengine-testdata'
# - name: apt update
# run: apt update
# - name: apt
# run: >
# apt install -y python3 make xz-utils python3 python3-hamcrest
# protobuf-compiler libprotobuf-dev libsqlite3-dev
# libfmt-dev libprotobuf-dev wx-common pkg-config
# libudev-dev g++ libwxgtk3.0-gtk3-dev
# - name: make
# run: make -C fluxengine

build-macos-current:
strategy:
Expand Down Expand Up @@ -78,15 +78,15 @@ jobs:
steps:
- name: setup WSL
run: |
curl -L https://github.com/WhitewaterFoundry/Fedora-Remix-for-WSL/releases/download/40.1.0/Fedora-Remix-for-WSL-SL_40.1.0.0_x64_arm64.msixbundle -o fedora.msixbundle
unzip fedora.msixbundle Fedora-Remix-for-WSL-SL_40.1.0.0_x64.msix
unzip Fedora-Remix-for-WSL-SL_40.1.0.0_x64.msix install.tar.gz
curl -L https://github.com/WhitewaterFoundry/Fedora-Remix-for-WSL/releases/download/41.0.0/Fedora-Remix-for-WSL-SL_41.0.0.0_x64_arm64.msixbundle -o fedora.msixbundle
unzip fedora.msixbundle Fedora-Remix-for-WSL-SL_41.0.0.0_x64.msix
unzip Fedora-Remix-for-WSL-SL_41.0.0.0_x64.msix install.tar.gz
wsl --update
wsl --set-default-version 2
wsl --set-default-version 1
wsl --import fedora fedora install.tar.gz
wsl --set-default fedora
wsl sh -c 'dnf -y install https://github.com/rpmsphere/noarch/raw/master/r/rpmsphere-release-40-1.noarch.rpm'
wsl sh -c 'dnf -y install --setop=install_weak_deps=False gcc gcc-c++ protobuf-c-compiler protobuf-devel fmt-devel systemd-devel sqlite-devel wxGTK-devel mingw32-gcc mingw32-gcc-c++ mingw32-zlib-static mingw32-protobuf-static mingw32-sqlite-static mingw32-wxWidgets3-static mingw32-libpng-static mingw32-libjpeg-static mingw32-libtiff-static mingw32-nsis png2ico'
wsl sh -c 'dnf -y install gcc gcc-c++ protobuf-c-compiler protobuf-devel fmt-devel systemd-devel sqlite-devel wxGTK-devel mingw32-gcc mingw32-gcc-c++ mingw32-zlib-static mingw32-protobuf-static mingw32-sqlite-static mingw32-wxWidgets3-static mingw32-libpng-static mingw32-libjpeg-static mingw32-libtiff-static mingw32-nsis png2ico'

- name: fix line endings
run: |
Expand Down
10 changes: 5 additions & 5 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,15 +16,15 @@ jobs:
steps:
- name: setup WSL
run: |
curl -L https://github.com/WhitewaterFoundry/Fedora-Remix-for-WSL/releases/download/40.1.0/Fedora-Remix-for-WSL-SL_40.1.0.0_x64_arm64.msixbundle -o fedora.msixbundle
unzip fedora.msixbundle Fedora-Remix-for-WSL-SL_40.1.0.0_x64.msix
unzip Fedora-Remix-for-WSL-SL_40.1.0.0_x64.msix install.tar.gz
curl -L https://github.com/WhitewaterFoundry/Fedora-Remix-for-WSL/releases/download/41.0.0/Fedora-Remix-for-WSL-SL_41.0.0.0_x64_arm64.msixbundle -o fedora.msixbundle
unzip fedora.msixbundle Fedora-Remix-for-WSL-SL_41.0.0.0_x64.msix
unzip Fedora-Remix-for-WSL-SL_41.0.0.0_x64.msix install.tar.gz
wsl --update
wsl --set-default-version 2
wsl --set-default-version 1
wsl --import fedora fedora install.tar.gz
wsl --set-default fedora
wsl sh -c 'dnf -y install https://github.com/rpmsphere/noarch/raw/master/r/rpmsphere-release-40-1.noarch.rpm'
wsl sh -c 'dnf -y install --setop=install_weak_deps=False gcc gcc-c++ protobuf-c-compiler protobuf-devel fmt-devel systemd-devel sqlite-devel wxGTK-devel mingw32-gcc mingw32-gcc-c++ mingw32-zlib-static mingw32-protobuf-static mingw32-sqlite-static mingw32-wxWidgets3-static mingw32-libpng-static mingw32-libjpeg-static mingw32-libtiff-static mingw32-nsis png2ico'
wsl sh -c 'dnf -y install gcc gcc-c++ protobuf-c-compiler protobuf-devel fmt-devel systemd-devel sqlite-devel wxGTK-devel mingw32-gcc mingw32-gcc-c++ mingw32-zlib-static mingw32-protobuf-static mingw32-sqlite-static mingw32-wxWidgets3-static mingw32-libpng-static mingw32-libjpeg-static mingw32-libtiff-static mingw32-nsis png2ico'

- name: fix line endings
run: |
Expand Down
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ export BUILDTYPE
ifeq ($(BUILDTYPE),windows)
MINGW = i686-w64-mingw32-
CC = $(MINGW)gcc
CXX = $(MINGW)g++ -std=c++17
CXX = $(MINGW)g++ -std=c++20
CFLAGS += -g -O3
CXXFLAGS += \
-fext-numeric-literals \
Expand Down
2 changes: 1 addition & 1 deletion arch/aeslanier/decoder.cc
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#include "lib/core/globals.h"
#include "lib/decoders/decoders.h"
#include "aeslanier.h"
#include "arch/aeslanier/aeslanier.h"
#include "lib/core/crc.h"
#include "lib/data/fluxmap.h"
#include "lib/data/fluxmapreader.h"
Expand Down
2 changes: 1 addition & 1 deletion arch/agat/agat.cc
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#include "lib/core/globals.h"
#include "lib/decoders/decoders.h"
#include "agat.h"
#include "arch/agat/agat.h"
#include "lib/core/bytes.h"
#include "fmt/format.h"

Expand Down
2 changes: 1 addition & 1 deletion arch/agat/decoder.cc
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#include "lib/core/globals.h"
#include "lib/decoders/decoders.h"
#include "agat.h"
#include "arch/agat/agat.h"
#include "lib/core/crc.h"
#include "lib/data/fluxmap.h"
#include "lib/data/fluxmapreader.h"
Expand Down
2 changes: 1 addition & 1 deletion arch/agat/encoder.cc
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
#include "lib/core/utils.h"
#include "lib/decoders/decoders.h"
#include "lib/encoders/encoders.h"
#include "agat.h"
#include "arch/agat/agat.h"
#include "lib/core/crc.h"
#include "lib/data/image.h"
#include "lib/data/layout.h"
Expand Down
2 changes: 1 addition & 1 deletion arch/amiga/amiga.cc
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#include "lib/core/globals.h"
#include "lib/decoders/decoders.h"
#include "amiga.h"
#include "arch/amiga/amiga.h"
#include "lib/core/bytes.h"
#include "fmt/format.h"

Expand Down
2 changes: 1 addition & 1 deletion arch/amiga/decoder.cc
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
#include "protocol.h"
#include "lib/decoders/decoders.h"
#include "lib/data/sector.h"
#include "amiga.h"
#include "arch/amiga/amiga.h"
#include "lib/core/bytes.h"
#include "fmt/format.h"
#include "lib/decoders/decoders.pb.h"
Expand Down
2 changes: 1 addition & 1 deletion arch/amiga/encoder.cc
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
#include "lib/core/utils.h"
#include "lib/decoders/decoders.h"
#include "lib/encoders/encoders.h"
#include "amiga.h"
#include "arch/amiga/amiga.h"
#include "lib/core/crc.h"
#include "lib/data/image.h"
#include "arch/amiga/amiga.pb.h"
Expand Down
2 changes: 1 addition & 1 deletion arch/apple2/decoder.cc
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
#include "protocol.h"
#include "lib/decoders/decoders.h"
#include "lib/data/sector.h"
#include "apple2.h"
#include "arch/apple2/apple2.h"
#include "arch/apple2/apple2.pb.h"
#include "lib/decoders/decoders.pb.h"
#include "lib/core/bytes.h"
Expand Down
2 changes: 1 addition & 1 deletion arch/brother/decoder.cc
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
#include "lib/data/fluxpattern.h"
#include "lib/decoders/decoders.h"
#include "lib/encoders/encoders.h"
#include "brother.h"
#include "arch/brother/brother.h"
#include "lib/data/sector.h"
#include "lib/core/bytes.h"
#include "lib/core/crc.h"
Expand Down
2 changes: 1 addition & 1 deletion arch/brother/encoder.cc
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
#include "lib/core/utils.h"
#include "lib/decoders/decoders.h"
#include "lib/encoders/encoders.h"
#include "brother.h"
#include "arch/brother/brother.h"
#include "lib/core/crc.h"
#include "lib/data/image.h"
#include "arch/brother/brother.pb.h"
Expand Down
135 changes: 46 additions & 89 deletions arch/build.py
Original file line number Diff line number Diff line change
@@ -1,104 +1,61 @@
from build.c import cxxlibrary
from build.protobuf import proto, protocc
from build.protobuf import proto, protocc, protolib
from os.path import *
from glob import glob
import sys

proto(
archs = [f for f in glob("*", root_dir="arch") if isfile(f"arch/{f}/{f}.proto")]

ps = []
pls = []
cls = []
for a in archs:
ps += [
proto(
name=f"proto_{a}",
srcs=[f"arch/{a}/{a}.proto"],
deps=["lib/config+common_proto"],
)
]

pls += [
protocc(
name=f"proto_lib_{a}",
srcs=[f".+proto_{a}"],
deps=["lib/config+common_proto_lib"],
)
]

cls += [
cxxlibrary(
name=f"arch_{a}",
srcs=glob(f"arch/{a}/*.cc") + glob(f"arch/{a}/*.h"),
hdrs={f"arch/{a}/{a}.h": f"arch/{a}/{a}.h"},
deps=[
"lib/core",
"lib/data",
"lib/config",
"lib/encoders",
"lib/decoders",
],
)
]

protolib(
name="proto",
srcs=[
"./aeslanier/aeslanier.proto",
"./agat/agat.proto",
"./amiga/amiga.proto",
"./apple2/apple2.proto",
"./brother/brother.proto",
"./c64/c64.proto",
"./f85/f85.proto",
"./fb100/fb100.proto",
"./ibm/ibm.proto",
"./macintosh/macintosh.proto",
"./micropolis/micropolis.proto",
"./mx/mx.proto",
"./northstar/northstar.proto",
"./rolandd20/rolandd20.proto",
"./smaky6/smaky6.proto",
"./tartu/tartu.proto",
"./tids990/tids990.proto",
"./victor9k/victor9k.proto",
"./zilogmcz/zilogmcz.proto",
],
deps=["lib/config+common_proto"],
srcs=ps + ["lib/config+common_proto"],
)

protocc(
name="proto_lib", srcs=[".+proto"], deps=["lib/config+common_proto_lib"]
)
cxxlibrary(name="proto_lib", deps=pls)

cxxlibrary(
name="arch",
srcs=[
"./arch.cc",
"./aeslanier/decoder.cc",
"./agat/agat.cc",
"./agat/decoder.cc",
"./agat/encoder.cc",
"./amiga/amiga.cc",
"./amiga/decoder.cc",
"./amiga/encoder.cc",
"./apple2/decoder.cc",
"./apple2/encoder.cc",
"./brother/decoder.cc",
"./brother/encoder.cc",
"./c64/c64.cc",
"./c64/decoder.cc",
"./c64/encoder.cc",
"./f85/decoder.cc",
"./fb100/decoder.cc",
"./ibm/decoder.cc",
"./ibm/encoder.cc",
"./macintosh/decoder.cc",
"./macintosh/encoder.cc",
"./micropolis/decoder.cc",
"./micropolis/encoder.cc",
"./mx/decoder.cc",
"./northstar/decoder.cc",
"./northstar/encoder.cc",
"./rolandd20/decoder.cc",
"./smaky6/decoder.cc",
"./tartu/decoder.cc",
"./tartu/encoder.cc",
"./tids990/decoder.cc",
"./tids990/encoder.cc",
"./victor9k/decoder.cc",
"./victor9k/encoder.cc",
"./zilogmcz/decoder.cc",
],
hdrs={
"arch/ibm/ibm.h": "./ibm/ibm.h",
"arch/apple2/data_gcr.h": "./apple2/data_gcr.h",
"arch/apple2/apple2.h": "./apple2/apple2.h",
"arch/amiga/amiga.h": "./amiga/amiga.h",
"arch/smaky6/smaky6.h": "./smaky6/smaky6.h",
"arch/tids990/tids990.h": "./tids990/tids990.h",
"arch/zilogmcz/zilogmcz.h": "./zilogmcz/zilogmcz.h",
"arch/amiga/amiga.h": "./amiga/amiga.h",
"arch/f85/data_gcr.h": "./f85/data_gcr.h",
"arch/f85/f85.h": "./f85/f85.h",
"arch/mx/mx.h": "./mx/mx.h",
"arch/aeslanier/aeslanier.h": "./aeslanier/aeslanier.h",
"arch/northstar/northstar.h": "./northstar/northstar.h",
"arch/brother/data_gcr.h": "./brother/data_gcr.h",
"arch/brother/brother.h": "./brother/brother.h",
"arch/brother/header_gcr.h": "./brother/header_gcr.h",
"arch/macintosh/data_gcr.h": "./macintosh/data_gcr.h",
"arch/macintosh/macintosh.h": "./macintosh/macintosh.h",
"arch/agat/agat.h": "./agat/agat.h",
"arch/fb100/fb100.h": "./fb100/fb100.h",
"arch/victor9k/data_gcr.h": "./victor9k/data_gcr.h",
"arch/victor9k/victor9k.h": "./victor9k/victor9k.h",
"arch/rolandd20/rolandd20.h": "./rolandd20/rolandd20.h",
"arch/micropolis/micropolis.h": "./micropolis/micropolis.h",
"arch/c64/data_gcr.h": "./c64/data_gcr.h",
"arch/c64/c64.h": "./c64/c64.h",
"arch/tartu/tartu.h": "./tartu/tartu.h",
"arch/arch.h": "./arch.h",
},
deps=["lib/core", "lib/data", "lib/config", "lib/encoders", "lib/decoders"],
deps=cls
+ ["lib/core", "lib/data", "lib/config", "lib/encoders", "lib/decoders"],
)
2 changes: 1 addition & 1 deletion arch/c64/c64.cc
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#include "lib/core/globals.h"
#include "c64.h"
#include "arch/c64/c64.h"

/*
* Track Sectors/track # Sectors Storage in Bytes Clock rate
Expand Down
2 changes: 1 addition & 1 deletion arch/c64/decoder.cc
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
#include "protocol.h"
#include "lib/decoders/decoders.h"
#include "lib/data/sector.h"
#include "c64.h"
#include "arch/c64/c64.h"
#include "lib/core/crc.h"
#include "lib/core/bytes.h"
#include "fmt/format.h"
Expand Down
2 changes: 1 addition & 1 deletion arch/c64/encoder.cc
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
#include "lib/core/utils.h"
#include "lib/decoders/decoders.h"
#include "lib/encoders/encoders.h"
#include "c64.h"
#include "arch/c64/c64.h"
#include "lib/core/crc.h"
#include "lib/data/sector.h"
#include "lib/data/image.h"
Expand Down
2 changes: 1 addition & 1 deletion arch/f85/decoder.cc
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
#include "protocol.h"
#include "lib/decoders/decoders.h"
#include "lib/data/sector.h"
#include "f85.h"
#include "arch/f85/f85.h"
#include "lib/core/crc.h"
#include "lib/core/bytes.h"
#include "fmt/format.h"
Expand Down
2 changes: 1 addition & 1 deletion arch/fb100/decoder.cc
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
#include "protocol.h"
#include "lib/decoders/decoders.h"
#include "lib/data/sector.h"
#include "fb100.h"
#include "arch/fb100/fb100.h"
#include "lib/core/crc.h"
#include "lib/core/bytes.h"
#include "lib/decoders/rawbits.h"
Expand Down
2 changes: 1 addition & 1 deletion arch/ibm/decoder.cc
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#include "lib/core/globals.h"
#include "lib/decoders/decoders.h"
#include "ibm.h"
#include "arch/ibm/ibm.h"
#include "lib/core/crc.h"
#include "lib/data/fluxmap.h"
#include "lib/data/fluxmapreader.h"
Expand Down
2 changes: 1 addition & 1 deletion arch/ibm/encoder.cc
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
#include "lib/config/config.h"
#include "lib/decoders/decoders.h"
#include "lib/encoders/encoders.h"
#include "ibm.h"
#include "arch/ibm/ibm.h"
#include "lib/core/crc.h"
#include "lib/data/image.h"
#include "arch/ibm/ibm.pb.h"
Expand Down
Loading
Loading