Cargo Features

[dependencies]
block-sys = { version = "0.2.1", default-features = false, features = ["std", "alloc", "apple", "compiler-rt", "gnustep-1-7", "gnustep-1-8", "gnustep-1-9", "gnustep-2-0", "gnustep-2-1", "unstable-winobjc", "unstable-objfw", "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.

Enables std of optional objc-sys

alloc std

Enables alloc of optional objc-sys

apple default

Link to Apple's libclosure (exists in libSystem)

Affects block-sys::BLOCK_DEALLOCATING, block-sys::BLOCK_INLINE_LAYOUT_STRING, block-sys::BLOCK_SMALL_DESCRIPTOR, block-sys::BLOCK_IS_NOESCAPE, block-sys::BLOCK_NEEDS_FREE, block-sys::BLOCK_IS_GC, block-sys::BLOCK_HAS_EXTENDED_LAYOUT, block-sys::BLOCK_ALL_COPY_DISPOSE_FLAGS, block-sys::Block_byref_header.size, block-sys::Block_byref_extended, block-sys::Block_size

compiler-rt

Link to libBlocksRuntime from compiler-rt

Affects block-sys::Block_size

gnustep-1-7 gnustep-1-8? = objc-sys

Link to GNUStep's libobjc2 (which contains the block implementation)

Enables gnustep-1-7 of objc-sys

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

Enables gnustep-1-8 of objc-sys

gnustep-1-9 gnustep-2-0? = gnustep-1-8

Enables gnustep-1-9 of objc-sys

gnustep-2-0 gnustep-2-1? = gnustep-1-9

Enables gnustep-2-0 of objc-sys

gnustep-2-1 = gnustep-2-0

Enables gnustep-2-1 of objc-sys

unstable-winobjc = gnustep-1-8

Link to Microsoft's libobjc2

Enables unstable-winobjc of objc-sys

unstable-objfw

Link to ObjFW

unstable-docsrs = objc-sys

Private Need objc-sys on certain platforms

Enables unstable-docsrs of objc-sys

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.

objc-sys gnustep-1-7? gnustep-1-8? gnustep-1-9? gnustep-2-0? gnustep-2-1? unstable-docsrs? unstable-winobjc?