net.sf.antcontrib.cpptasks.types
Class LibrarySet

java.lang.Object
  extended by org.apache.tools.ant.ProjectComponent
      extended by org.apache.tools.ant.types.DataType
          extended by net.sf.antcontrib.cpptasks.types.LibrarySet
Direct Known Subclasses:
SystemLibrarySet

public class LibrarySet
extends org.apache.tools.ant.types.DataType

A set of library names. Libraries can also be added to a link by specifying them in a fileset. For most Unix-like compilers, libset will result in a series of -l and -L linker arguments. For Windows compilers, the library names will be used to locate the appropriate library files which will be added to the linkers input file list as if they had been specified in a fileset.

Author:
Mark A Russell mark_russell@csg_systems.com , Adam Murdoch, Curt Arnold

Field Summary
 
Fields inherited from class org.apache.tools.ant.types.DataType
checked, description, ref
 
Fields inherited from class org.apache.tools.ant.ProjectComponent
project
 
Constructor Summary
LibrarySet()
           
 
Method Summary
 void execute()
           
 java.lang.String getDataset()
          Gets the dataset.
 java.io.File getDir(org.apache.tools.ant.Project project)
           
protected  org.apache.tools.ant.types.FileSet getFileSet()
           
 java.lang.String[] getLibs()
           
 LibraryTypeEnum getType()
          Gets preferred library type
 boolean isActive(org.apache.tools.ant.Project p)
          Returns true if the define's if and unless conditions (if any) are satisfied.
 void setCaseSensitive(boolean isCaseSensitive)
          Sets case sensitivity of the file system.
 void setDataset(java.lang.String dataset)
          Sets the dataset.
 void setDir(java.io.File dir)
          Library directory.
 void setIf(java.lang.String propName)
          Sets the property name for the 'if' condition.
 void setLibs(CUtil.StringArrayBuilder libs)
          Comma-separated list of library names without leading prefixes, such as "lib", or extensions, such as ".so" or ".a".
 void setProject(org.apache.tools.ant.Project project)
           
 void setType(LibraryTypeEnum type)
          Sets the preferred library type.
 void setUnless(java.lang.String propName)
          Set the property name for the 'unless' condition.
 void visitLibraries(org.apache.tools.ant.Project project, Linker linker, java.io.File[] libpath, FileVisitor visitor)
           
 
Methods inherited from class org.apache.tools.ant.types.DataType
checkAttributesAllowed, checkChildrenAllowed, circularReference, dieOnCircularReference, getCheckedRef, getDescription, getRefid, isChecked, isReference, noChildrenAllowed, setChecked, setDescription, setRefid, tooManyAttributes
 
Methods inherited from class org.apache.tools.ant.ProjectComponent
getProject, log, log
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

LibrarySet

public LibrarySet()
Method Detail

execute

public void execute()
             throws org.apache.tools.ant.BuildException
Throws:
org.apache.tools.ant.BuildException

getDataset

public java.lang.String getDataset()
Gets the dataset. Used on OS390 if the libs are in a dataset.

Returns:
Returns a String

getDir

public java.io.File getDir(org.apache.tools.ant.Project project)

getFileSet

protected org.apache.tools.ant.types.FileSet getFileSet()

getLibs

public java.lang.String[] getLibs()

getType

public LibraryTypeEnum getType()
Gets preferred library type

Returns:
library type, may be null.

isActive

public boolean isActive(org.apache.tools.ant.Project p)
Returns true if the define's if and unless conditions (if any) are satisfied.


setCaseSensitive

public void setCaseSensitive(boolean isCaseSensitive)
Sets case sensitivity of the file system. If not set, will default to the linker's case sensitivity.

Parameters:
isCaseSensitive - "true"|"on"|"yes" if file system is case sensitive, "false"|"off"|"no" when not.

setDataset

public void setDataset(java.lang.String dataset)
Sets the dataset. Used on OS390 if the libs are in a dataset.

Parameters:
dataset - The dataset to set

setDir

public void setDir(java.io.File dir)
            throws org.apache.tools.ant.BuildException
Library directory.

Parameters:
dir - library directory
Throws:
org.apache.tools.ant.BuildException

setIf

public void setIf(java.lang.String propName)
Sets the property name for the 'if' condition. The library set will be ignored unless the property is defined. The value of the property is insignificant, but values that would imply misinterpretation ("false", "no") will throw an exception when evaluated.

Parameters:
propName - property name

setLibs

public void setLibs(CUtil.StringArrayBuilder libs)
             throws org.apache.tools.ant.BuildException
Comma-separated list of library names without leading prefixes, such as "lib", or extensions, such as ".so" or ".a".

Throws:
org.apache.tools.ant.BuildException

setProject

public void setProject(org.apache.tools.ant.Project project)
Overrides:
setProject in class org.apache.tools.ant.ProjectComponent

setUnless

public void setUnless(java.lang.String propName)
Set the property name for the 'unless' condition. If named property is set, the library set will be ignored. The value of the property is insignificant, but values that would imply misinterpretation ("false", "no") of the behavior will throw an exception when evaluated.

Parameters:
propName - name of property

setType

public void setType(LibraryTypeEnum type)
Sets the preferred library type. Supported values "shared", "static", and "framework". "framework" is equivalent to "shared" on non-Darwin platforms.


visitLibraries

public void visitLibraries(org.apache.tools.ant.Project project,
                           Linker linker,
                           java.io.File[] libpath,
                           FileVisitor visitor)
                    throws org.apache.tools.ant.BuildException
Throws:
org.apache.tools.ant.BuildException


Copyright 2001-2008 Ant-Contrib Project. All Rights Reserved.