[GH-ISSUE #33] Support building with MPW too #28

Closed
opened 2026-05-05 03:33:16 -06:00 by gitea-mirror · 6 comments
Owner

Originally created by @eschaton on GitHub (Feb 28, 2025).
Original GitHub issue: https://github.com/cy384/ssheven/issues/33

Right now it looks like SSHeven needs to be built with retro68. It'd be cool if it could be built on System 7 using MPW as well.

This is no doubt dependent on either being able to build mbedTLS and libssh2 with MPW, or building them with retro68 as MPW-compatible libraries or object files.

Originally created by @eschaton on GitHub (Feb 28, 2025). Original GitHub issue: https://github.com/cy384/ssheven/issues/33 Right now it looks like SSHeven needs to be built with retro68. It'd be cool if it could be built on System 7 using MPW as well. This is no doubt dependent on either being able to build mbedTLS and libssh2 with MPW, or building them with retro68 as MPW-compatible libraries or object files.
Author
Owner

@IoIxD commented on GitHub (Mar 1, 2025):

Does MPW even support libc (which this requires)?

<!-- gh-comment-id:2691952375 --> @IoIxD commented on GitHub (Mar 1, 2025): Does MPW even support libc (which this requires)?
Author
Owner

@eschaton commented on GitHub (Mar 1, 2025):

Yes. Every C compiler for the classic Mac provided its own version of the C standard library.

What it doesn't provide is most of POSIX, which shouldn't be expected. You're also not going to find a C99 compiler in MPW, though much of what would be expected is available in the CodeWarrior compilers (which can also be used through MPW, just like the Symantec compilers).

<!-- gh-comment-id:2692413956 --> @eschaton commented on GitHub (Mar 1, 2025): Yes. Every C compiler for the classic Mac provided its own version of the C standard library. What it doesn't provide is most of POSIX, which shouldn't be expected. You're also not going to find a C99 compiler in MPW, though much of what would be expected is available in the CodeWarrior compilers (which can also be used through MPW, just like the Symantec compilers).
Author
Owner

@IoIxD commented on GitHub (Mar 2, 2025):

That's what I meant, oops. It would require rewriting alot of the project and its dependencies.

It's the maintainers call, but I'm personally curious as to why you don't want to use Retro68?

<!-- gh-comment-id:2692522826 --> @IoIxD commented on GitHub (Mar 2, 2025): That's what I meant, oops. It would require rewriting alot of the project and its dependencies. It's the maintainers call, but I'm personally curious as to why you don't want to use Retro68?
Author
Owner

@eschaton commented on GitHub (Mar 2, 2025):

It would not require rewriting a lot of the project or its dependencies to use a different libc. It's just a libc. Neither mbedTLS nor libssh2 is that sensitive to which libc is used, libvterm shouldn't be either. (And also wouldn't be needed if SSHeven switched to using Terminal Tools from the Communications Toolbox.)

And why would I want to use Retro68 instead of using a classic Mac to develop for a classic Mac? Part of what's awesome about the classic Mac is the developer experience with tools like MPW, THINK C, and Metrowerks CodeWarrior.

<!-- gh-comment-id:2692559255 --> @eschaton commented on GitHub (Mar 2, 2025): It would not require rewriting a lot of the project or its dependencies to use a different libc. It's just a libc. Neither mbedTLS nor libssh2 is that sensitive to which libc is used, libvterm shouldn't be either. (And also wouldn't be needed if SSHeven switched to using Terminal Tools from the Communications Toolbox.) And why would I want to use Retro68 instead of using a classic Mac to develop for a classic Mac? Part of what's awesome about the classic Mac is the developer experience with tools like MPW, THINK C, and Metrowerks CodeWarrior.
Author
Owner

@cy384 commented on GitHub (Mar 2, 2025):

I'm personally not interested in doing development on a classic mac. Since my goal with ssheven is to make it as useful as possible with my limited available time/energy, I'd rather keep using all the (more or less) same modern tools as I do at work.

It would be kinda interesting to see if the libraries could be fully ported to build with a native compiler, but I am definitely not going to do it. I think I've seen some occasional interest in something like that on the various mac forums, could be worth asking around for interested parties.

<!-- gh-comment-id:2692775392 --> @cy384 commented on GitHub (Mar 2, 2025): I'm personally not interested in doing development on a classic mac. Since my goal with ssheven is to make it as useful as possible with my limited available time/energy, I'd rather keep using all the (more or less) same modern tools as I do at work. It would be kinda interesting to see if the libraries could be fully ported to build with a native compiler, but I am definitely not going to do it. I think I've seen some occasional interest in something like that on the various mac forums, could be worth asking around for interested parties.
Author
Owner

@eschaton commented on GitHub (Mar 2, 2025):

I think you're missing out, but it's your project. :)

(I did a bunch of a port of mbedTLS and libssh2 to Mac OS 9 a few years ago using CodeWarrior, but lost it with a disk failure.)

<!-- gh-comment-id:2692880153 --> @eschaton commented on GitHub (Mar 2, 2025): I think you're missing out, but it's your project. :) (I did a bunch of a port of mbedTLS and libssh2 to Mac OS 9 a few years ago using CodeWarrior, but lost it with a disk failure.)
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: github-starred/ssheven#28
No description provided.