Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 1 addition & 4 deletions Main.py
Original file line number Diff line number Diff line change
Expand Up @@ -235,10 +235,7 @@ def compress_rom(input_file: str, output_file: str, delete_input: bool = False)
else:
compressor_path += "Compress"
elif platform.system() == 'Darwin':
if platform.machine() == 'arm64':
compressor_path += "Compress_ARM64.out"
else:
compressor_path += "Compress.out"
compressor_path += "Compress.out"
else:
logger.info("OS not supported for ROM compression.")
raise Exception("This operating system does not support ROM compression. You may only output patch files or uncompressed ROMs.")
Expand Down
Binary file modified bin/Compress/Compress
Binary file not shown.
Binary file modified bin/Compress/Compress.exe
Binary file not shown.
Binary file modified bin/Compress/Compress.out
Binary file not shown.
Binary file modified bin/Compress/Compress32.exe
Binary file not shown.
Binary file modified bin/Compress/Compress_ARM32
Binary file not shown.
Binary file modified bin/Compress/Compress_ARM64
Binary file not shown.
Binary file modified bin/Compress/Compress_ARM64.exe
Binary file not shown.
Binary file removed bin/Compress/Compress_ARM64.out
Binary file not shown.
73 changes: 73 additions & 0 deletions bin/Compress/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
To build:

# Windows (ARM64)

On Windows ARM64, install MSYS2 ARM64 variant (see <https://www.msys2.org/wiki/arm64/> or `scoop install msys2`).

In `clangarm64`, run:

```console
$ pacman -Suy
$ pacman -S mingw-w64-clang-aarch64-clang
$ clang -pthread bin/Compress/src/compressor.c -o bin/Compress/Compress_ARM64.exe -static
```

# Windows (x86_64)

In `mingw64`, run:

```bash
gcc bin/Compress/src/compressor.c -o bin/Compress/Compress.exe
```

# Windows (i686)

Can be cross-compiled from x86_64.

In `mingw32`, run:

```bash
pacman -S mingw-w64-i686-toolchain # only needs to be run once (installs the toolchain into the mingw environment)
gcc bin/Compress/src/compressor.c -o bin/Compress/Compress32.exe
```

# macOS (Universal)

Compile on ARM64 (Apple Silicon).

```zsh
clang -pthread bin/Compress/src/compressor.c -o bin/Compress/Compress_ARM64.out
clang -arch x86_64 -pthread bin/Compress/src/compressor.c -o bin/Compress/Compress_x86_64.out
lipo -create bin/Compress/Compress_ARM64.out bin/Compress/Compress_x86_64.out -output bin/Compress/Compress.out
rm bin/Compress/Compress_ARM64.out bin/Compress/Compress_x86_64.out
```

# Linux (ARM64)

Can be cross-compiled from any arch.

On Ubuntu:

```bash
sudo apt-get install gcc-aarch64-linux-gnu
aarch64-linux-gnu-gcc bin/Compress/src/compressor.c -o bin/Compress/Compress_ARM64
```

# Linux (ARM32)

Can be cross-compiled from any arch.

On Ubuntu:

```bash
sudo apt-get install gcc-arm-linux-gnueabihf
arm-linux-gnueabihf-gcc bin/Compress/src/compressor.c -o bin/Compress/Compress_ARM32
```

# Linux (x86_64)

On Ubuntu:

```bash
gcc bin/Compress/src/compressor.c -o bin/Compress/Compress
```
Loading