content: # This Source Code Form is subject to the terms of the Mozilla Public
  # License, v. 2.0. If a copy of the MPL was not distributed with this
  # file, You can obtain one at https://mozilla.org/MPL/2.0/.
  [workspace]
  
  [workspace.package]
  version = "0.2.2"
  edition = "2021"
  license = "MPL-2.0"
  authors = ["touchHLE project contributors"]
  homepage = "https://touchhle.org/"
  
  [package]
  name = "touchHLE"
  version = { workspace = true }
  edition = { workspace = true }
  license = { workspace = true }
  authors = { workspace = true }
  homepage = { workspace = true }
  
  [lib]
  # https://users.rust-lang.org/t/making-both-binary-and-cdylib-from-one-package/29105
  crate-type = ["cdylib", "rlib"]
  
  [[bin]]
  name = "touchHLE"
  path = "src/bin.rs"
  
  [features]
  default = ["static"]
  static = ["sdl2/bundled", "sdl2/static-link", "touchHLE_openal_soft_wrapper/static"]
  
  # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
  
  [workspace.dependencies]
  cc = "1.0.83"
  cmake = "0.1.49"
  gl_generator = "0.14.0"
  
  [dependencies]
  caf = "0.1.0"
  hound = "3.5.0"
  mach_object = "0.1.17"
  plist = "1.3.1"
  zip = { version = "0.6.4", default-features = false, features = ["deflate"] }
  rusttype = "0.9.3"
  # While most Symphonia codecs are (likely) unpatented/have freely licenseable 
  # patents as of 2024, all of the AAC profiles except AAC-LC (likely) have 
  # active patent claims. The "aac" feature only enables AAC-LC, so it's should 
  # be ok.
  # (The above statements should not understood as legal claims/advice.)
  symphonia = { version = "0.5.3", default-features = false, features = ["adpcm", "wav", "aac", "isomp4", "mp3", "alac"] }
  quick-xml = "0.36.2"
  md5 = "0.7.0"
  yore = "1.1.0"
  encoding_rs = "0.8.35"
  # We currently use a fork of rust-sdl2 because we need a fix for Android builds
  # that's not upstream yet.
  # The HIDAPI feature is enabled because rust-sdl2 hides the SDL2 sensor features
  # behind this, but the actual HIDAPI is not used by touchHLE (see window.rs).
  # Note that the submodule in vendor/SDL2/ must use exactly the same revision of
  # SDL2 that rust-sdl2 uses, so that the Android JNI interface matches.
  sdl2 = { git = "https://github.com/touchHLE/rust-sdl2", tag = "touchHLE-3", features = ["hidapi"] }
  sdl2-sys = { git = "https://github.com/touchHLE/rust-sdl2", tag = "touchHLE-3" }
  touchHLE_dynarmic_wrapper = { path = "src/cpu/dynarmic_wrapper" }
  touchHLE_gl_bindings = { path = "src/gles/gl_bindings" }
  touchHLE_openal_soft_wrapper = { path = "src/audio/openal_soft_wrapper" }
  touchHLE_pvrt_decompress_wrapper = { path = "src/image/pvrt_decompress_wrapper" }
  touchHLE_stb_image_wrapper = { path = "src/image/stb_image_wrapper" }
  touchHLE_version = { path = "src/version" }
  
  [build-dependencies]
  cargo-license = "0.5.1"
  cc = { workspace = true }
  cmake = { workspace = true }
  gl_generator = { workspace = true }
  