-
-
Notifications
You must be signed in to change notification settings - Fork 640
Support powerpc #2471
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
Support powerpc #2471
Conversation
|
Those changes just allow Premake to accept We can either add those changes onto this current PR, or you may want to follow them up in a future PR. |
| { "ARM64", "ARM64" }, | ||
| { "x86", "x86 (On macOS, same as x86_64.)" }, | ||
| { "x86_64", "x86_64" }, | ||
| { "ppc", "PowerPC 32-bit" }, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This may be better being "ppc32" instead of "ppc", since it makes it sound (in my mind) like 32 bit is the default, when 64 bit is the default on almost all desktop and server class hardware these days.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Like with arm and mips, convention is just ppc. Though I won’t really object if there is a strong preference to do otherwise.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good enough reason for me. Let's leave it.
After I build gcc on its own supports ppc/ppc64, of course, though maybe the sources here needs some modification as well. |
Got it, misunderstood the issue. Just to make sure, when you're running premake, you're using the most recently build binary, correct? |
Initially I just added patches into the existing portfile from MacPorts https://github.com/macports/macports-ports/blob/ecf89c2ff86a0b3be80dff99ffc8d09edd83fac5/devel/premake5/Portfile and ran the build. It uses Maybe I am not doing it right. Is there a canonical procedure to bootstrap premake on a new platform? I.e. I start from only having the toolchain, but no existing premake5. (There is an old premake4 for ppc, but I am not sure it is usable for this purpose.) |
|
@nickclark2016 Oh wait, I think I got it working. Give me a min to check. |
Please verify your build outside of the macports configuration. I am not familiar enough with that ecosystem to help you out on that specific piece of your pipeline. I'm not sure who manages the MacPorts configuration. |
|
Nice one, btw after it's working, don't forget to add some docs in |
|
@nickclark2016 @tritao Ok, I can confirm that I have not only building, but actually working For the arch support what is in this PR is sufficient. (I did not include universal for powerpc, just not to overload the code; if desired, it can be added as To have premake5 working on macOS ppc specifically, there are three more issues to address:
This results in a working premake: macos-powerpc/powerpc-ports@1397056 I am not sure macOS-specific fixes are wanted, but PowerPC is worth supporting in any case, since both *BSD and Linux support it in their modern releases. |
Co-authored-by: Joris Dauphin <[email protected]>
|
@Jarod42 Updated and rebased to master. |
|
Given you appear to have access to more legacy Apple hardware than I have, would you be willing to tackle issues 1 and 2 that you brought up? (TLS and clock issues) |
I have a patch to use For |
|
We have arguments in our build already for "system" vs vendored dependencies. We could probably just add an argument for explicit opt in to the |

What does this PR do?
This PR adds initial support for PowerPC.
P. S. Could someone explain how to force the build system actually use the patches .lua sources? Currently the build somehow sabotages applied changes, whether I build in a standard way or via boostrap script. I can build a working executable for powerpc with no issues, but it still does not acknowledge ppc among supported archs.
From earlier PRs adding support for
riscvandloongarchit follows that nothing else needs to be changed, and a search across codebase does not point to any other instances of arch definitions. Yet the build ignores whatever is added.How does this PR change Premake's behavior?
It does not affect currently supported archs.
Did you check all the boxes?
closes #XXXXin comment to auto-close issue when PR is merged)