net.sf.antcontrib.cpptasks.gcc
Class AbstractArLibrarian

java.lang.Object
  |
  +--net.sf.antcontrib.cpptasks.compiler.AbstractProcessor
        |
        +--net.sf.antcontrib.cpptasks.compiler.AbstractLinker
              |
              +--net.sf.antcontrib.cpptasks.compiler.CommandLineLinker
                    |
                    +--net.sf.antcontrib.cpptasks.gcc.AbstractArLibrarian
Direct Known Subclasses:
GccLibrarian

public abstract class AbstractArLibrarian
extends CommandLineLinker

Adapter for the "ar" tool

Author:
Adam Murdoch, Curt Arnold

Constructor Summary
protected AbstractArLibrarian(java.lang.String command, java.lang.String identificationArg, java.lang.String[] inputExtensions, java.lang.String[] ignoredExtensions, java.lang.String outputExtension, boolean isLibtool, AbstractArLibrarian libtoolLibrarian)
           
 
Method Summary
 void addBase(long base, java.util.Vector args)
           
 void addFixed(java.lang.Boolean fixed, java.util.Vector args)
           
 void addImpliedArgs(boolean debug, LinkType linkType, java.util.Vector args)
           
 void addIncremental(boolean incremental, java.util.Vector args)
           
 void addMap(boolean map, java.util.Vector args)
           
 void addStack(int stack, java.util.Vector args)
           
 java.lang.String getCommandFileSwitch(java.lang.String commandFile)
           
 java.io.File[] getLibraryPath()
          returns the library path for the linker
 java.lang.String[] getLibraryPatterns(java.lang.String[] libnames)
          Returns a set of filename patterns corresponding to library names.
 int getMaximumCommandLength()
           
 java.lang.String[] getOutputFileSwitch(java.lang.String outputFile)
           
 boolean isCaseSensitive()
          Returns true if the linker is case-sensitive
 void link(CCTask task, java.io.File outputFile, java.lang.String[] sourceFiles, CommandLineLinkerConfiguration config)
          Performs a link using a command line linker
 
Methods inherited from class net.sf.antcontrib.cpptasks.compiler.CommandLineLinker
addLibrarySets, createConfiguration, decorateLinkerOption, getCommand, getIdentifier, getLibtoolLinker, getOutputFileName, getOutputFileSwitch, getStartupObject, prepareArguments, prepareFilename, prepareResponseFile, quoteFilename, runCommand
 
Methods inherited from class net.sf.antcontrib.cpptasks.compiler.AbstractLinker
bid, createConfiguration, getLibraryKey
 
Methods inherited from class net.sf.antcontrib.cpptasks.compiler.AbstractProcessor
getIdentifier, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

AbstractArLibrarian

protected AbstractArLibrarian(java.lang.String command,
                              java.lang.String identificationArg,
                              java.lang.String[] inputExtensions,
                              java.lang.String[] ignoredExtensions,
                              java.lang.String outputExtension,
                              boolean isLibtool,
                              AbstractArLibrarian libtoolLibrarian)
Method Detail

getLibraryPath

public java.io.File[] getLibraryPath()
Description copied from interface: Linker
returns the library path for the linker

addImpliedArgs

public void addImpliedArgs(boolean debug,
                           LinkType linkType,
                           java.util.Vector args)
Overrides:
addImpliedArgs in class CommandLineLinker

getCommandFileSwitch

public java.lang.String getCommandFileSwitch(java.lang.String commandFile)
Overrides:
getCommandFileSwitch in class CommandLineLinker

getOutputFileSwitch

public java.lang.String[] getOutputFileSwitch(java.lang.String outputFile)
Overrides:
getOutputFileSwitch in class CommandLineLinker

getMaximumCommandLength

public int getMaximumCommandLength()
Overrides:
getMaximumCommandLength in class CommandLineLinker

addStack

public void addStack(int stack,
                     java.util.Vector args)
Overrides:
addStack in class CommandLineLinker

addBase

public void addBase(long base,
                    java.util.Vector args)
Overrides:
addBase in class CommandLineLinker

addMap

public void addMap(boolean map,
                   java.util.Vector args)
Overrides:
addMap in class CommandLineLinker

addFixed

public void addFixed(java.lang.Boolean fixed,
                     java.util.Vector args)
Overrides:
addFixed in class CommandLineLinker

addIncremental

public void addIncremental(boolean incremental,
                           java.util.Vector args)
Overrides:
addIncremental in class CommandLineLinker

getLibraryPatterns

public java.lang.String[] getLibraryPatterns(java.lang.String[] libnames)
Description copied from interface: Linker
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.
Tags copied from interface: Linker
Parameters:
libnames - array of library names

isCaseSensitive

public boolean isCaseSensitive()
Description copied from interface: Linker
Returns true if the linker is case-sensitive

link

public void link(CCTask task,
                 java.io.File outputFile,
                 java.lang.String[] sourceFiles,
                 CommandLineLinkerConfiguration config)
          throws org.apache.tools.ant.BuildException
Description copied from class: CommandLineLinker
Performs a link using a command line linker
Overrides:
link in class CommandLineLinker


Copyright © 2001-2002 Ant-Contrib project. All Rights Reserved.