All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.qbicc.machine.tool.LinkerInvoker Maven / Gradle / Ivy

There is a newer version: 0.77.0
Show newest version
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();
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy