[package]
name = "objc2"
version = "0.5.2"
authors = ["Steven Sheldon", "Mads Marquart <mads@marquart.dk>"]
edition = "2021"
rust-version = "1.60"
description = "Objective-C interface and runtime bindings"
keywords = ["objective-c", "macos", "ios", "objc_msgSend", "objc"]
categories = [
"api-bindings",
"development-tools::ffi",
"os::macos-apis",
]
readme = "README.md"
repository = "https://github.com/madsmtm/objc2"
documentation = "https://docs.rs/objc2/"
license = "MIT"
[lints]
workspace = true
[features]
default = ["std"]
std = ["alloc", "objc2-encode/std", "objc-sys/std", "block2/std", "objc2-foundation/std"]
alloc = ["objc2-encode/alloc", "objc-sys/alloc", "block2/alloc", "objc2-foundation/alloc"]
exception = ["objc-sys/unstable-exception"]
catch-all = ["exception"]
relax-void-encoding = []
relax-sign-encoding = []
unstable-msg-send-always-comma = []
malloc = ["malloc_buf"]
verify = []
unstable-static-sel = ["objc2-proc-macros"]
unstable-static-sel-inlined = ["unstable-static-sel"]
unstable-static-class = ["objc2-proc-macros"]
unstable-static-class-inlined = ["unstable-static-class"]
unstable-autoreleasesafe = []
unstable-c-unwind = []
unstable-apple-new = []
apple = []
gnustep-1-7 = ["unstable-static-class", "objc-sys/gnustep-1-7", "block2/gnustep-1-7"]
gnustep-1-8 = ["gnustep-1-7", "objc-sys/gnustep-1-8", "block2/gnustep-1-8"]
gnustep-1-9 = ["gnustep-1-8", "objc-sys/gnustep-1-9", "block2/gnustep-1-9"]
gnustep-2-0 = ["gnustep-1-9", "objc-sys/gnustep-2-0", "block2/gnustep-2-0"]
gnustep-2-1 = ["gnustep-2-0", "objc-sys/gnustep-2-1", "block2/gnustep-2-1"]
unstable-compiler-rt = ["gnustep-1-7"]
[dependencies]
malloc_buf = { version = "1.0", optional = true }
objc-sys = { path = "../objc-sys", version = "0.3.5", default-features = false }
objc2-encode = { path = "../objc2-encode", version = "4.0.3", default-features = false }
objc2-proc-macros = { path = "../objc2-proc-macros", version = "0.1.3", optional = true }
[dev-dependencies]
iai = { version = "0.1", git = "https://github.com/madsmtm/iai", branch = "callgrind" }
static_assertions = "1.1.0"
memoffset = "0.9.0"
block2 = { path = "../block2", default-features = false }
objc2-foundation = { path = "../../framework-crates/objc2-foundation", default-features = false, features = ["NSString", "NSObject"] }
[target.'cfg(target_vendor = "apple")'.dev-dependencies]
core-foundation = "0.9.3"
[[bench]]
name = "autorelease"
harness = false
[package.metadata.docs.rs]
default-target = "aarch64-apple-darwin"
features = ["exception"]
targets = [
"aarch64-apple-darwin",
"x86_64-apple-darwin",
"aarch64-apple-ios",
"x86_64-apple-ios",
"aarch64-apple-tvos",
"aarch64-apple-watchos",
"aarch64-apple-ios-macabi",
"x86_64-unknown-linux-gnu",
"i686-unknown-linux-gnu",
]
[package.metadata.release]
shared-version = false
tag-prefix = "objc"
enable-features = []