Interface Linker

    • Method Detail

      • getLibraryKey

        java.lang.String getLibraryKey​(java.io.File libname)
        Extracts the significant part of a library name to ensure there aren't collisions
      • getLibraryPath

        java.io.File[] getLibraryPath()
        returns the library path for the linker
      • getLibraryPatterns

        java.lang.String[] getLibraryPatterns​(java.lang.String[] libnames,
                                              LibraryTypeEnum libraryType)
        Returns a set of filename patterns corresponding to library names. For example, "advapi32" would be expanded to "advapi32.dll" by DevStudioLinker and to "libadvapi32.a" and "libadvapi32.so" by GccLinker.
        Parameters:
        libnames - array of library names
      • getLinker

        Linker getLinker​(LinkType linkType)
        Gets the linker for the specified link type.
        Specified by:
        getLinker in interface Processor
        Returns:
        appropriate linker or null, will return this if this linker can handle the specified link type
      • isCaseSensitive

        boolean isCaseSensitive()
        Returns true if the linker is case-sensitive
      • addVersionFiles

        void addVersionFiles​(VersionInfo versionInfo,
                             LinkType linkType,
                             java.io.File outputFile,
                             boolean isDebug,
                             java.io.File objDir,
                             TargetMatcher matcher)
                      throws java.io.IOException
        Adds source or object files to the bidded fileset to support version information.
        Parameters:
        versionInfo - version information
        linkType - link type
        isDebug - true if debug build
        outputFile - name of generated executable
        objDir - directory for generated files
        matcher - bidded fileset
        Throws:
        java.io.IOException