Skip to content

spacedriveapp/native-deps

Repository files navigation

Spacedrive native dependencies

Build instructions

To build the native dependencies a docker or podman installation is required. It is recomended to enable BuildKit in docker.

Just run the following inside this directory:

$> docker build --build-arg TARGET=<TARGET> -o . .

or

$> podman build --jobs 4 --format docker --build-arg TARGET=<TARGET> -o . .

Where <TARGET> is one of:

  • x86_64-darwin-apple
  • aarch64-darwin-apple
  • x86_64-windows-gnu
  • aarch64-windows-gnu
  • x86_64-linux-gnu
  • aarch64-linux-gnu
  • x86_64-linux-musl
  • aarch64-linux-musl

After some time (it takes aroung 1~2 hours in Github CI) a directory named out will show up in the current directory containing our native dependencies.

TODO (Order of importance)

Acknowledgments

This build system is losely base on:

It uses Zig 0.11 as a C/C++ toolchain to build the Windows and Linux targets:

It uses LLVM/Clang 16 with some tweaks from osxcross + Apple's cctools and linker to build the Darwin (macOS) targets:

The pre-packaged macOS SDK comes from: https://github.com/joseluisq/macosx-sdks

By building the Darwin target you are agreeing with the Apple Public Source License (APSL) and the Xcode license terms

Thanks to all the developers involved in making the dependencies used in this project