Cargo Features

[dependencies]
objc-sys = { version = "0.3.3", default-features = false, features = ["std", "alloc", "apple", "gnustep-1-7", "gnustep-1-8", "gnustep-1-9", "gnustep-2-0", "gnustep-2-1", "unstable-winobjc", "unstable-objfw", "unstable-c-unwind", "unstable-exception", "unstable-docsrs"] }
default = apple, std

The default runtime is Apple's. Other platforms will probably error if the correct feature flag is not specified.

std default = alloc

Currently not possible to turn off, put here for forwards compatibility.

alloc std
apple default

Link to Apple's objc4

Affects constants::OBJC_SYNC_SUCCESS, constants::OBJC_SYNC_NOT_OWNING_THREAD_ERROR, constants::OBJC_SYNC_TIMED_OUT, constants::OBJC_SYNC_NOT_INITIALIZED, exception::objc_exception_matcher, exception::objc_exception_preprocessor, exception::objc_uncaught_exception_handler, exception::objc_exception_handler

gnustep-1-7 gnustep-1-8?

Link to GNUStep's libobjc2

gnustep-1-8 gnustep-1-9? unstable-winobjc? = gnustep-1-7
gnustep-1-9 gnustep-2-0? = gnustep-1-8
gnustep-2-0 gnustep-2-1? = gnustep-1-9
gnustep-2-1 = gnustep-2-0
unstable-winobjc = gnustep-1-8

Link to Microsoft's libobjc2

unstable-objfw

Link to ObjFW

Affects exception::objc_uncaught_exception_handler

unstable-c-unwind

Use nightly c_unwind feature

unstable-exception = cc

Private

Affects exception::try_catch

unstable-docsrs

Features from optional dependencies

In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.

cc build unstable-exception?