Package net.sf.antcontrib.cpptasks.types
Class LibrarySet
- java.lang.Object
-
- org.apache.tools.ant.ProjectComponent
-
- org.apache.tools.ant.types.DataType
-
- net.sf.antcontrib.cpptasks.types.LibrarySet
-
- All Implemented Interfaces:
java.lang.Cloneable
- 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
-
-
Constructor Summary
Constructors Constructor Description LibrarySet()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description 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 typeboolean
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, clone, dieOnCircularReference, dieOnCircularReference, dieOnCircularReference, getCheckedRef, getCheckedRef, getCheckedRef, getCheckedRef, getDataTypeName, getRefid, invokeCircularReferenceCheck, isChecked, isReference, noChildrenAllowed, pushAndInvokeCircularReferenceCheck, setChecked, setRefid, tooManyAttributes, toString
-
-
-
-
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 classorg.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
-
-