{{#nativeDeps}}
[env]
PROTOC = { force = true, value = "{{{protoc}}}" }
FFMPEG_DIR = { force = true, value = "{{{nativeDeps}}}" }
CPATH = { force = true, value = "{{{nativeDeps}}}/include" }
{{#isMacOS}}
BINDGEN_EXTRA_CLANG_ARGS = { force = true, value = "-isysroot {{{sdkPath}}}" }
{{/isMacOS}}
{{#isLinux}}
ORT_LIB_LOCATION = { force = true, value = "{{{nativeDeps}}}/lib" }
{{/isLinux}}
OPENSSL_STATIC = { force = true, value = "1" }
OPENSSL_NO_VENDOR = { force = true, value = "0" }
OPENSSL_RUST_USE_NASM = { force = true, value = "1" }
{{/nativeDeps}}

{{#isMacOS}}
[target.x86_64-apple-darwin]
rustflags = ["-L", "{{{nativeDeps}}}/lib", "-Csplit-debuginfo=unpacked"]

[target.x86_64-apple-darwin.heif]
rustc-link-search = ["{{{nativeDeps}}}/lib"]
rustc-link-lib = ["heif"]

[target.aarch64-apple-darwin]
rustflags = ["-L", "{{{nativeDeps}}}/lib", "-Csplit-debuginfo=unpacked"]

[target.aarch64-apple-darwin.heif]
rustc-link-search = ["{{{nativeDeps}}}/lib"]
rustc-link-lib = ["heif"]

{{#hasiOS}}
[target.aarch64-apple-ios]
rustflags = ["-L", "{{{mobileNativeDeps}}}/aarch64-apple-ios/lib", "-Csplit-debuginfo=unpacked"]

[target.aarch64-apple-ios.heif]
rustc-link-search = ["{{{mobileNativeDeps}}}/aarch64-apple-ios/lib"]
rustc-link-lib = ["static:+bundle=heif"]

[target.aarch64-apple-ios-sim]
rustflags = ["-L", "{{{mobileNativeDeps}}}/aarch64-apple-ios-sim/lib", "-Csplit-debuginfo=unpacked"]

[target.aarch64-apple-ios-sim.heif]
rustc-link-search = ["{{{mobileNativeDeps}}}/aarch64-apple-ios-sim/lib"]
rustc-link-lib = ["static:+bundle=heif"]

[target.x86_64-apple-ios]
rustflags = ["-L", "{{{mobileNativeDeps}}}/x86_64-apple-ios/lib", "-Csplit-debuginfo=unpacked"]

[target.x86_64-apple-ios.heif]
rustc-link-search = ["{{{mobileNativeDeps}}}/x86_64-apple-ios/lib"]
rustc-link-lib = ["static:+bundle=heif"]
{{/hasiOS}}
{{/isMacOS}}

{{#isWin}}
[target.x86_64-pc-windows-msvc]
{{#hasLLD}}
linker = "lld-link.exe"
{{/hasLLD}}
rustflags = ["-L", "{{{nativeDeps}}}\\lib"]

[target.x86_64-pc-windows-msvc.heif]
rustc-link-search = ["{{{nativeDeps}}}\\lib"]
rustc-link-lib = ["heif"]
{{/isWin}}

{{#isLinux}}
[target.x86_64-unknown-linux-gnu]
{{#hasLLD}}
linker = "clang"
{{/hasLLD}}
rustflags = [
	"-L", "{{{nativeDeps}}}/lib", "-C", "link-arg=-Wl,-rpath=${ORIGIN}/../lib/spacedrive",
	{{#hasLLD}}
	"-C", "link-arg=-fuse-ld={{{linker}}}",
	{{/hasLLD}}
]

[target.x86_64-unknown-linux-gnu.heif]
rustc-link-search = ["{{{nativeDeps}}}/lib"]
rustc-link-lib = ["heif"]

[target.aarch64-unknown-linux-gnu]
{{#hasLLD}}
linker = "clang"
{{/hasLLD}}
rustflags = [
	"-L", "{{{nativeDeps}}}/lib", "-C", "link-arg=-Wl,-rpath=${ORIGIN}/../lib/spacedrive",
	{{#hasLLD}}
	"-C", "link-arg=-fuse-ld={{{linker}}}",
	{{/hasLLD}}
]

[target.aarch64-unknown-linux-gnu.heif]
rustc-link-search = ["{{{nativeDeps}}}/lib"]
rustc-link-lib = ["heif"]
{{/isLinux}}

{{#hasAndroid}}
[target.aarch64-linux-android]
linker = "{{{androidNdkHome}}}/toolchains/llvm/prebuilt/{{{hostTag}}}/bin/aarch64-linux-android35-clang"
rustflags = ["-L", "{{{mobileNativeDeps}}}/aarch64-linux-android/lib"]

[target.x86_64-linux-android]
linker = "{{{androidNdkHome}}}/toolchains/llvm/prebuilt/{{{hostTag}}}/bin/x86_64-linux-android35-clang"
rustflags = ["-L", "{{{mobileNativeDeps}}}/x86_64-linux-android/lib"]
{{/hasAndroid}}

# Cargo aliases for xtask commands
[alias]
xtask = "run --package xtask --"
ios = "run --package xtask -- build-ios"
daemon = "run --package sd-core --bin sd-daemon --features sd-core/ffmpeg,sd-core/heif"
cli = "run --package sd-core --bin spacedrive --features sd-core/ffmpeg,sd-core/heif"
