Class AbstractLinker

    • Constructor Detail

      • AbstractLinker

        public AbstractLinker​(java.lang.String[] objExtensions,
                              java.lang.String[] ignoredExtensions)
    • Method Detail

      • bid

        public int bid​(java.lang.String inputFile)
        Returns the bid of the processor for the file. A linker will bid 1 on any unrecognized file type.
        Specified by:
        bid in interface Processor
        Overrides:
        bid in class AbstractProcessor
        Parameters:
        inputFile - filename of input file
        Returns:
        bid for the file, 0 indicates no interest, 1 indicates that the processor recognizes the file but doesn't process it (header files, for example), 100 indicates strong interest
      • createConfiguration

        public ProcessorConfiguration createConfiguration​(CCTask task,
                                                          LinkType linkType,
                                                          ProcessorDef[] baseConfigs,
                                                          ProcessorDef specificConfig,
                                                          TargetDef targetPlatform,
                                                          VersionInfo versionInfo)
        Description copied from interface: Processor
        Returns the compiler configuration for or element.
        Specified by:
        createConfiguration in interface Processor
        baseConfigs - When specificConfig corresponds to a or linker element, defaultProvider will be a zero to two element array. If there is an extends attribute, the first element will be the referenced ProcessorDef, unless inherit = false, the last element will be the containing element
        specificConfig - A or element.
        Returns:
        resulting configuration
      • getLibraryKey

        public java.lang.String getLibraryKey​(java.io.File libfile)
        Description copied from interface: Linker
        Extracts the significant part of a library name to ensure there aren't collisions
        Specified by:
        getLibraryKey in interface Linker
      • getOutputFileNames

        public abstract java.lang.String[] getOutputFileNames​(java.lang.String fileName,
                                                              VersionInfo versionInfo)
        Description copied from interface: Processor
        Output file name (no path components) corresponding to source file
        Specified by:
        getOutputFileNames in interface Processor
        Parameters:
        fileName - input file
        Returns:
        output file name or null if no output file or name not determined by input file
      • addVersionFiles

        public 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.
        Specified by:
        addVersionFiles in interface Linker
        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