Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Generalize atarist-toolkit-docker to support x86_64, Mac (arm64) and RPi (aarch64) #5

Merged
merged 11 commits into from
Oct 28, 2024

Conversation

shooking
Copy link
Contributor

@shooking shooking commented Oct 3, 2024

Changes

  1. Make docker buildable for Linux (x86_64), Mac (arm64) and RPi (aarch64) via "arch"
  2. Simplify the installation script - needs just one now
  3. Pass UID and GID to docker so files are creates as invoking user (not root!)
  4. Check build examples on Pi, Mac and x86.
  5. Update README to demo builds (and hence test my proposal seems to work)
  6. Utilize your agtools bin directory - no need to rebuild zx0, agtcut etc?
  7. rmac has moved from a gz to a zip - but you already built it (see 6)
  8. Mac is bizarre in that it will consume x86_64 and aarch64. You commented in config.sh

Significant changes

I would love for you to add 3 docker's to your docker hub - one per Mac, x86 and Pi.
I am sure you have a Pi but if not I can contribute the images for that.

Even if you dont - the installation script tries to get image from you and builds if it cannot find it.
Provided the user has configured docker properly and is on an Intel, Mac or RPi then my extension to your excellent work seems to allow seamless build and deployment?

Details

I originally built a much later gcc cross compiler for the Pi - then I found Riviere also has aarch64 pre-build cross-mint-essential. So I generalized your docker toolkit. Provided it is ok to use "arch" to differentiate between Intel, RPi and Mac, and you are happy to build and store those images then users of common platforms can generate ST code easily.

I removed the "sed" stuff. Is it necessary if we label the dockers? There should be enough into from the target system as to which image they need.

I notice your agtools is build for aarch64 and x86_64. I tested with a friends Mac - that seems to be happy to run either binaries. I do not understand why you rebuild the sources from your agtools - you have already pre-built them in your bin tree right? In any case the rmac is no longer a gz. It is not a zip. My hope is you would pre-build those tools, drop them into your agtools => no need to build them as part of the docker build process?

If you wanted to move to later gcc's and you are happy to create some tar's then we could also move to https://github.com/freemint/m68k-atari-mint-gcc/tree/gcc-13-mintelf

I was in contact with Miro - he maintains this. Apparently one can use gdb with this via ELF. Could be kinky.

@diegoparrilla
Copy link
Collaborator

Let's do it!

@diegoparrilla diegoparrilla merged commit 37bddd1 into sidecartridge:main Oct 28, 2024
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants