org.qbicc.machine.tool.LinkerInvoker Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of qbicc-machine-tool-api Show documentation
Show all versions of qbicc-machine-tool-api Show documentation
The API for Qbicc machine tooling support
package org.qbicc.machine.tool;
import java.nio.file.Path;
/**
* An invoker for a linker.
*/
public interface LinkerInvoker extends MessagingToolInvoker {
void addLibraryPath(Path path);
default void addLibraryPaths(Iterable paths) {
for (Path path : paths) {
addLibraryPath(path);
}
}
int getLibraryPathCount();
Path getLibraryPath(int index) throws IndexOutOfBoundsException;
void addLibrary(String name);
default void addLibraries(Iterable libraries) {
for (String library : libraries) {
addLibrary(library);
}
}
int getLibraryCount();
String getLibrary(int index) throws IndexOutOfBoundsException;
void addObjectFile(Path path);
default void addObjectFiles(Iterable paths) {
for (Path path : paths) {
addObjectFile(path);
}
}
int getObjectFileCount();
Path getObjectFile(int index) throws IndexOutOfBoundsException;
void setOutputPath(Path path);
Path getOutputPath();
void setIsPie(boolean isPie);
boolean getIsPie();
}