Hello, all. The MacPorts build Portfile is very malleable. The reason I prefer MacPorts over homebrew and Fink is the power of the TCL language for building things. You can easily do almost anything in TCL.

There are downsides to the 64bit build of BasiliskII -- no networking, no JIT -- and when I last dove into it deeply, there were also serious screen glitches in the full-screen use of basiliskii (I usually use it full screen). These occurred in the Menu Bar region of the screen.

FYI, you can very easily modify the Portfile to your liking, and modify the build as you wish! IMHO this is much easier than building outside MacPorts, or building with Xcode.

First of all, a command like

bbedit `port file basiliskii-devel`

will bring up the Portfile for editing. If you comment out the line with the "supported_archs" in it, then you will be able to build it with the native arch, which is almost always x86_64 these days. You can build it "fat binary" as well.

You can very easily try adding or removing configure options or build settings by tweaking the Portfile.

I will put together a "variant" that has 64 bit build features (no JIT, no networking). But honestly, I have to wonder, why? It seems to me to work much more poorly on macOS at present. I can see no advantage in either speed or functionality. So for now, the 32bit build will remain the default on macOS, I think.

One day (two, three, four years from now?) 32bit software will no longer function on macOS. Hopefully by then the slirp networking and JIT will be all 64 bit and we won't even talk about 32bit any longer!

If there is anything else you desire in the basiliskii build on MacPorts, just ask! It's very easily added, or you can do it yourself!

@kencu, you got a rocket speed tech support! You must love macport to contribute this detailed steps. I myself like macports as well. One simple reason is that macport deploy it in /opt/local, instead of /usr/local. That alone help me resolve the conflict between my home build library (which is in /usr/local) and macport.

In any case, I replied you in macport ticket. I don't think we need JIT in beefy modern Intel CPU. But we do need a 64 bit clean slirp. If you are interested in fixing it, we can do it either in your github repo or mine together.

_________________There is an App for that!https://github.com/rickyzhang82

One day (two, three, four years from now?) 32bit software will no longer function on macOS. Hopefully by then the slirp networking and JIT will be all 64 bit and we won't even talk about 32bit any longer!

According to this year's WWDC, some 32-bit interfaces to system-level functions are going away this fall. 32-bit support for MachO binaries is supposed to be gone fall of 2019.

Of course, this doesn't mean everything will stop working; likely it will just begin with Apple no longer providing build support in XCode, and new APIs will not include 32-bit code. But I'd guess that yes, by three or four years from now, 32-bit x86 code will no longer run natively on OS X. We may need an OS X version of WINE or some sort of a dynarec shim to run 32-bit code under 10.17.

It makes sense to me for the 32-bit to stay the default build under MacPorts until it no longer works, as there's still work being done to get everything functional in 64-bit land.

But I'm not as bleak on this front as I was a year ago; SheepShaver has come a long way and now runs with almost perfect feature parity in 64-bit; this means that we still have the knowledge and skill to make the same changes to BII, if we also have the desire.

Note: the JIT doesn't work. Networking will crash unless "none" is selected in the network interface. And finally, there is still a non-functional menu bar in full screen mode, at least on all my tests. It seems to only work in windowed mode.

Hopefully having the 64bit variant easily available might lead to these things getting fixes!

Also, after git cloning kanjitalk755's repo + checking out DavidLudwig_and_jvernet branch, you can just change directory to (repo)/BasiliskII/src/MacOSX and run xcodebuild to build. Binaries are output in (repo)/BasiliskII/src/MacOSX/build/Release . If you want to make the output application self contained, make the directory (repo)/BasiliskII/src/MacOSX/build/Release/BasiliskII.app/Contents/Frameworks, then move SDL2.framework in the created directory. You may need to codesign again (if you did that) after moving SDL2.framework.

I hope to get my JIT branch in a mergeable state so that we can have both 64-bit m68k JIT and 64-bit PPC JIT with SDL2