Annotation Interface CLibrary


@Retention(RUNTIME) @Target({TYPE,METHOD}) public @interface CLibrary
Denotes an external library that needs to be linked in. The annotation can be placed on any element, and the same library can be referenced by multiple annotations.
Since:
19.0
  • Required Element Summary

    Required Elements
    Modifier and Type
    Required Element
    Description
    The name of the library without a file extension (e.g., "hello").
  • Optional Element Summary

    Optional Elements
    Modifier and Type
    Optional Element
    Description
    Specifies the name of the libraries this library depends on.
    boolean
    Specifies if static linking is required.
  • Element Details

    • value

      String value
      The name of the library without a file extension (e.g., "hello"). The name of the actual file is platform-specific, e.g., libhello.so on Linux, libhello.dylib on macOS, and hello.dll on Windows.
      Since:
      19.0
    • requireStatic

      boolean requireStatic
      Specifies if static linking is required.
      Since:
      19.1.0
      Default:
      false
    • dependsOn

      String[] dependsOn
      Specifies the name of the libraries this library depends on.
      Since:
      20.1.0
      Default:
      {}