kanjitalk755 / macemu

Basilisk II and SheepShaver Macintosh emulators
356 stars 55 forks source link

BasiliskII

macOS     x86_64 JIT / arm64 non-JIT
Linux x86 x86_64 JIT / arm64 non-JIT
MinGW x86        JIT

SheepShaver

macOS     x86_64 JIT / arm64 non-JIT
Linux x86 x86_64 JIT / arm64 non-JIT
MinGW x86        JIT

How To Build

These builds need to be installed SDL2.0.14+ framework/library.

https://www.libsdl.org

BasiliskII

macOS

preparation:

Download gmp-6.2.1.tar.xz from https://gmplib.org.

$ cd ~/Downloads
$ tar xf gmp-6.2.1.tar.xz
$ cd gmp-6.2.1
$ ./configure --disable-shared
$ make
$ make check
$ sudo make install

Download mpfr-4.2.0.tar.xz from https://www.mpfr.org.

$ cd ~/Downloads
$ tar xf mpfr-4.2.0.tar.xz
$ cd mpfr-4.2.0
$ ./configure --disable-shared
$ make
$ make check
$ sudo make install

On an Intel Mac, the libraries should be cross-built.
Change the configure command for both GMP and MPFR as follows, and ignore the make check command:

$ CFLAGS="-arch arm64" CXXFLAGS="$CFLAGS" ./configure -host=aarch64-apple-darwin --disable-shared 

(from https://github.com/kanjitalk755/macemu/pull/96)

about changing Deployment Target:
If you build with an older version of Xcode, you can change Deployment Target to the minimum it supports or 10.7, whichever is greater.

build:

$ cd macemu/BasiliskII/src/MacOSX
$ xcodebuild build -project BasiliskII.xcodeproj -configuration Release

or same as Linux

Linux

preparation (arm64 only): Install GMP and MPFR.

$ cd macemu/BasiliskII/src/Unix
$ ./autogen.sh
$ make
MinGW32/MSYS2

preparation:

$ pacman -S base-devel mingw-w64-i686-toolchain autoconf automake mingw-w64-i686-SDL2 mingw-w64-i686-gtk2

build (from a mingw32.exe prompt):

$ cd macemu/BasiliskII/src/Windows
$ ../Unix/autogen.sh
$ make

SheepShaver

macOS

about changing Deployment Target: see BasiliskII

$ cd macemu/SheepShaver/src/MacOSX
$ xcodebuild build -project SheepShaver_Xcode8.xcodeproj -configuration Release

or same as Linux

Linux
$ cd macemu/SheepShaver/src/Unix
$ ./autogen.sh
$ make
MinGW32/MSYS2

preparation: same as BasiliskII

build (from a mingw32.exe prompt):

$ cd macemu/SheepShaver
$ make links
$ cd src/Windows
$ ../Unix/autogen.sh
$ make

Recommended key bindings for gnome

https://github.com/kanjitalk755/macemu/blob/master/SheepShaver/doc/Linux/gnome_keybindings.txt

(from https://github.com/kanjitalk755/macemu/issues/59)