# AbstractLinkTask

API Documentation: | `AbstractLinkTask`

Known Subtypes: |
`LinkExecutable`
`LinkSharedLibrary`
`LinkMachOBundle`

Base task for linking a native binary from object files and libraries.

### Properties

Property | Description
`debuggable` | Create a debuggable binary?
`libs` | The library files to be passed to the linker.
`linkedFile` | The file where the linked binary will be located.
`linkerArgs` | Additional arguments passed to the linker.
`source` | The source object files to be passed to the linker.
`targetPlatform` | The platform being linked for.
`toolChain` | The tool chain used for linking.

### Methods

Method | Description
`lib(libs)` | Adds a set of library files to be linked. The provided libs object is evaluated as per `Project.files(java.lang.Object[])`.
`source(source)` | Adds a set of object files to be linked. The provided source object is evaluated as per `Project.files(java.lang.Object[])`.

### Script blocks

No script blocks

### Property details

#### ``Property`<`Boolean`>` `debuggable`

Create a debuggable binary?

#### `ConfigurableFileCollection` `libs`

The library files to be passed to the linker.

#### `RegularFileProperty` `linkedFile`

The file where the linked binary will be located.

#### ``ListProperty`<`String`>` `linkerArgs`

Additional arguments passed to the linker.

#### `ConfigurableFileCollection` `source`

The source object files to be passed to the linker.

#### ``Property`<`NativePlatform`>` `targetPlatform`

The platform being linked for.

#### ``Property`<`NativeToolChain`>` `toolChain`

The tool chain used for linking.

### Method details

#### `void` `lib`(`Object` libs)

Adds a set of library files to be linked. The provided libs object is evaluated as per `Project.files(java.lang.Object[])`.

#### `void` `source`(`Object` source)

Adds a set of object files to be linked. The provided source object is evaluated as per `Project.files(java.lang.Object[])`.