|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.eclipse.cdt.managedbuilder.llvm.util.LlvmToolOptionPathUtil
public class LlvmToolOptionPathUtil
The main purpose of this class is to add include paths and libraries and library search paths for LLVM assembler and linker Tools which are added in Preferences->LLVM to all projects and build configurations that use LLVM ToolChain. Values added in Preferences->LLVM will show in Project->Properties->C/C++ General->Paths and Symbols tabs.
Field Summary | |
---|---|
static int |
INCLUDE
|
private static java.lang.String[] |
inputTypes
|
static int |
LIB
|
static int |
LIB_PATH
|
private static java.lang.String |
linkerInputType
|
Constructor Summary | |
---|---|
LlvmToolOptionPathUtil()
|
Method Summary | |
---|---|
private static void |
addIncludePathToToolOption(org.eclipse.cdt.managedbuilder.core.IConfiguration cf,
org.eclipse.cdt.managedbuilder.core.ITool cfTool,
org.eclipse.cdt.managedbuilder.core.IOption option,
java.lang.String newIncludePath)
Adds include path for given Build configuration's Tool's Include path Option. |
private static void |
addInputToToolOption(org.eclipse.cdt.managedbuilder.core.IConfiguration cf,
org.eclipse.cdt.managedbuilder.core.ITool cfTool,
org.eclipse.cdt.managedbuilder.core.IOption option,
java.lang.String newValue,
java.lang.String[] existingValues)
Adds a new value to specific Option. |
private static void |
addLibrarySearchPathToToolOption(org.eclipse.cdt.managedbuilder.core.IConfiguration cf,
org.eclipse.cdt.managedbuilder.core.ITool cfTool,
org.eclipse.cdt.managedbuilder.core.IOption option,
java.lang.String newSearchPath)
Adds new Library search path for the Linker's Library search path Option. |
private static void |
addLibraryToToolOption(org.eclipse.cdt.managedbuilder.core.IConfiguration cf,
org.eclipse.cdt.managedbuilder.core.ITool cfTool,
org.eclipse.cdt.managedbuilder.core.IOption option,
java.lang.String newLibrary)
Adds new Library for the Linker's Libraries Option. |
static void |
addLlvmIncludePath(java.lang.String includePath)
Adds new include path to LLVM Assembler's Include path option for every project in the workspace that use LLVM Toolchain and for for every build configuration. |
private static boolean |
addLlvmIncludePathToToolOption(org.eclipse.cdt.managedbuilder.core.IConfiguration cf,
java.lang.String newIncludePath)
Adds an include path to LLVM front-end's include path option. |
static void |
addLlvmLib(java.lang.String lib)
Adds a new Library to LLVM linker's Libraries Option for every project in the workspace that use LLVM Toolchain and for for every build configuration. |
static void |
addLlvmLibSearchPath(java.lang.String libDir)
Adds a new Library search path directory to LLVM linker's Library search path Option for every project in the workspace that use LLVM Toolchain and for for every build configuration. |
private static boolean |
addLlvmLibSearchPathToToolOption(org.eclipse.cdt.managedbuilder.core.IConfiguration cf,
java.lang.String libDir)
Adds a Library search path to LLVM linker's Library search path Option. |
private static boolean |
addLlvmLibToToolOption(org.eclipse.cdt.managedbuilder.core.IConfiguration cf,
java.lang.String lib)
Adds a Library to LLVM linker's Libraries Option. |
static java.lang.String[] |
addNewPathToExistingPathList(java.lang.String[] existingPaths,
java.lang.String newPath)
Adds one or more paths to the list of paths. |
private static boolean |
addPathToSelectedToolOptionBuildConf(org.eclipse.cdt.managedbuilder.core.IConfiguration cf,
java.lang.String path,
int var)
Add a path to specific build configuration's Tool option. |
private static void |
addPathToToolOption(java.lang.String path,
int var)
Adds a path to Tool option. |
static java.lang.String |
arrayToString(java.lang.String[] array)
Append an array of Strings to a String separated by a path separator. |
private static org.eclipse.cdt.managedbuilder.core.IConfiguration[] |
getAllBuildConfigs(org.eclipse.core.resources.IProject proj)
Returns all build configurations of the project. |
private static org.eclipse.cdt.managedbuilder.core.ITool |
getIToolByInputType(org.eclipse.cdt.managedbuilder.core.IConfiguration cf,
java.lang.String ext)
Returns ITool associated with the input extension. |
private static org.eclipse.cdt.managedbuilder.core.IOption |
getIToolPathOption(org.eclipse.cdt.managedbuilder.core.ITool cfTool,
java.lang.String optionId)
Returns Tool's Option type by Id. |
private static org.eclipse.cdt.managedbuilder.core.ITool |
getLlvmFrontEnd(org.eclipse.cdt.managedbuilder.core.IConfiguration cf)
Return LLVM front-end according to the input type. |
private static org.eclipse.cdt.managedbuilder.core.IOption |
getLlvmFrontEndIncludePathOption(org.eclipse.cdt.managedbuilder.core.IConfiguration cf)
Returns LLVM front-end Include path Option type. |
private static org.eclipse.cdt.managedbuilder.core.ITool |
getLlvmLinker(org.eclipse.cdt.managedbuilder.core.IConfiguration cf)
Returns LLVM linker. |
private static org.eclipse.cdt.managedbuilder.core.IOption |
getLlvmLinkerLibrariesOption(org.eclipse.cdt.managedbuilder.core.IConfiguration cf)
Returns LLVM Linker Libraries Option type. |
private static org.eclipse.cdt.managedbuilder.core.IOption |
getLlvmLinkerLibrarySearchPathOption(org.eclipse.cdt.managedbuilder.core.IConfiguration cf)
Returns LLVM Linker Library search path Option type. |
private static java.lang.String |
getOptionId(org.eclipse.cdt.managedbuilder.core.ITool cfTool,
int optionValueType)
Returns Tool's option id. |
static org.eclipse.core.resources.IProject[] |
getProjectsInWorkspace()
Returns all projects in the workspace. |
private static boolean |
pathExists(java.lang.String path)
Checks if a file path exists. |
private static void |
removeIncludePathFromToolOption(org.eclipse.cdt.managedbuilder.core.IConfiguration cf,
org.eclipse.cdt.managedbuilder.core.ITool cfTool,
org.eclipse.cdt.managedbuilder.core.IOption option,
java.lang.String removeIncludePath)
Removes an include path from given Build configuration's Tool's Include path Option. |
private static void |
removeInputFromToolOption(org.eclipse.cdt.managedbuilder.core.IConfiguration cf,
org.eclipse.cdt.managedbuilder.core.ITool cfTool,
org.eclipse.cdt.managedbuilder.core.IOption option,
java.lang.String removeValue,
java.lang.String[] existingValues)
Removes a value from a specific Option. |
private static void |
removeLibraryFromToolOption(org.eclipse.cdt.managedbuilder.core.IConfiguration cf,
org.eclipse.cdt.managedbuilder.core.ITool cfTool,
org.eclipse.cdt.managedbuilder.core.IOption option,
java.lang.String removeLibrary)
Removes a new Library from the Linker's Libraries Option. |
private static void |
removeLibrarySearchPathFromToolOption(org.eclipse.cdt.managedbuilder.core.IConfiguration cf,
org.eclipse.cdt.managedbuilder.core.ITool cfTool,
org.eclipse.cdt.managedbuilder.core.IOption option,
java.lang.String removeSearchPath)
Removes a Library search path from the Linker's Library search path Option. |
static void |
removeLlvmIncludePath(java.lang.String includePath)
Removes an include path from LLVM Assembler's Include path option for every project in the workspace that use LLVM Toolchain and for for every build configuration. |
private static boolean |
removeLlvmIncludePathFromToolOption(org.eclipse.cdt.managedbuilder.core.IConfiguration cf,
java.lang.String removeIncludePath)
Removes an include path from LLVM front-end's include path option. |
static void |
removeLlvmLib(java.lang.String lib)
Removes a Library to LLVM linker's Libraries Option for every project in the workspace that use LLVM Toolchain and for for every build configuration. |
private static boolean |
removeLlvmLibFromToolOption(org.eclipse.cdt.managedbuilder.core.IConfiguration cf,
java.lang.String removeLib)
Removes a Library from LLVM linker's Libraries Option. |
static void |
removeLlvmLibSearchPath(java.lang.String libDir)
Removes a Library search path directory from LLVM linker's Library search path Option for every project in the workspace that use LLVM Toolchain and for for every build configuration. |
private static boolean |
removeLlvmLibSearchPathFromToolOption(org.eclipse.cdt.managedbuilder.core.IConfiguration cf,
java.lang.String removeLibDir)
Removes a Library search path from LLVM linker's Library search path Option. |
static java.lang.String[] |
removePathFromExistingPathList(java.lang.String[] existingPaths,
java.lang.String removePath)
Removes one path from the list of paths. |
private static boolean |
removePathFromSelectedToolOptionBuildConf(org.eclipse.cdt.managedbuilder.core.IConfiguration cf,
java.lang.String path,
int var)
Removes a path from specific build configuration's Tool option. |
private static void |
removePathFromToolOption(java.lang.String path,
int var)
Removes a path from Tool option. |
static java.lang.String[] |
stringToArray(java.lang.String str)
Split paths to a String array. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private static final java.lang.String linkerInputType
private static final java.lang.String[] inputTypes
public static final int INCLUDE
public static final int LIB
public static final int LIB_PATH
Constructor Detail |
---|
public LlvmToolOptionPathUtil()
Method Detail |
---|
public static void addLlvmIncludePath(java.lang.String includePath)
includePath
- Include path for LLVM assembler's Include Optionpublic static void removeLlvmIncludePath(java.lang.String includePath)
includePath
- Include path for LLVM assembler's Include Optionpublic static void addLlvmLib(java.lang.String lib)
lib
- Library name for the LLVM linker's Libraries Optionpublic static void removeLlvmLib(java.lang.String lib)
lib
- Library name for the LLVM linker's Libraries Optionpublic static void addLlvmLibSearchPath(java.lang.String libDir)
libDir
- Library search path directory for LLVM linker's Library search path Optionpublic static void removeLlvmLibSearchPath(java.lang.String libDir)
libDir
- Library search path directory for LLVM linker's Library search path Optionprivate static void addPathToToolOption(java.lang.String path, int var)
path
- Path to add to Tool optionvar
- Tool option's valueprivate static void removePathFromToolOption(java.lang.String path, int var)
path
- Path to remove from Tool optionvar
- Tool option's valueprivate static boolean addPathToSelectedToolOptionBuildConf(org.eclipse.cdt.managedbuilder.core.IConfiguration cf, java.lang.String path, int var)
cf
- Build configurationpath
- Path or file name to addvar
- Value of the option type
private static boolean removePathFromSelectedToolOptionBuildConf(org.eclipse.cdt.managedbuilder.core.IConfiguration cf, java.lang.String path, int var)
cf
- Build configurationpath
- Path or file name to removevar
- Value of the option type
public static org.eclipse.core.resources.IProject[] getProjectsInWorkspace()
private static org.eclipse.cdt.managedbuilder.core.IConfiguration[] getAllBuildConfigs(org.eclipse.core.resources.IProject proj)
proj
- IProject Project
private static boolean addLlvmIncludePathToToolOption(org.eclipse.cdt.managedbuilder.core.IConfiguration cf, java.lang.String newIncludePath)
cf
- IConfiguration Build configurationnewIncludePath
- Include path to be added to LLVM front-end's Include path optionprivate static boolean removeLlvmIncludePathFromToolOption(org.eclipse.cdt.managedbuilder.core.IConfiguration cf, java.lang.String removeIncludePath)
cf
- IConfiguration Build configurationremoveIncludePath
- Include path to be removed from LLVM front-end's Include path optionprivate static boolean addLlvmLibToToolOption(org.eclipse.cdt.managedbuilder.core.IConfiguration cf, java.lang.String lib)
cf
- IConfiguration Build configurationlib
- Library name
private static boolean removeLlvmLibFromToolOption(org.eclipse.cdt.managedbuilder.core.IConfiguration cf, java.lang.String removeLib)
cf
- IConfiguration Build configurationremoveLib
- Library name
private static boolean addLlvmLibSearchPathToToolOption(org.eclipse.cdt.managedbuilder.core.IConfiguration cf, java.lang.String libDir)
cf
- IConfiguration Build configurationlibDir
- Library search path
private static boolean removeLlvmLibSearchPathFromToolOption(org.eclipse.cdt.managedbuilder.core.IConfiguration cf, java.lang.String removeLibDir)
cf
- IConfiguration Build configurationremoveLibDir
- Library search path
private static void addIncludePathToToolOption(org.eclipse.cdt.managedbuilder.core.IConfiguration cf, org.eclipse.cdt.managedbuilder.core.ITool cfTool, org.eclipse.cdt.managedbuilder.core.IOption option, java.lang.String newIncludePath)
cf
- IConfiguration Build configurationcfTool
- ITool Tooloption
- Tool Option typenewIncludePath
- Include path to be added to Tool's Include path optionprivate static void removeIncludePathFromToolOption(org.eclipse.cdt.managedbuilder.core.IConfiguration cf, org.eclipse.cdt.managedbuilder.core.ITool cfTool, org.eclipse.cdt.managedbuilder.core.IOption option, java.lang.String removeIncludePath)
cf
- IConfiguration Build configurationcfTool
- ITool Tooloption
- Tool Option typeremoveIncludePath
- Include path to be removed from Tool's Include path optionprivate static void addLibraryToToolOption(org.eclipse.cdt.managedbuilder.core.IConfiguration cf, org.eclipse.cdt.managedbuilder.core.ITool cfTool, org.eclipse.cdt.managedbuilder.core.IOption option, java.lang.String newLibrary)
cf
- IConfiguration Build configurationcfTool
- ITool Tooloption
- Tool Option typenewLibrary
- Libraryprivate static void removeLibraryFromToolOption(org.eclipse.cdt.managedbuilder.core.IConfiguration cf, org.eclipse.cdt.managedbuilder.core.ITool cfTool, org.eclipse.cdt.managedbuilder.core.IOption option, java.lang.String removeLibrary)
cf
- IConfiguration Build configurationcfTool
- ITool Tooloption
- Tool Option typeremoveLibrary
- Libraryprivate static void addLibrarySearchPathToToolOption(org.eclipse.cdt.managedbuilder.core.IConfiguration cf, org.eclipse.cdt.managedbuilder.core.ITool cfTool, org.eclipse.cdt.managedbuilder.core.IOption option, java.lang.String newSearchPath)
cf
- IConfiguration Build configurationcfTool
- ITool Tooloption
- Tool Option typenewSearchPath
- Library search pathprivate static void removeLibrarySearchPathFromToolOption(org.eclipse.cdt.managedbuilder.core.IConfiguration cf, org.eclipse.cdt.managedbuilder.core.ITool cfTool, org.eclipse.cdt.managedbuilder.core.IOption option, java.lang.String removeSearchPath)
cf
- IConfiguration Build configurationcfTool
- ITool Tooloption
- Tool Option typeremoveSearchPath
- Library search pathprivate static void addInputToToolOption(org.eclipse.cdt.managedbuilder.core.IConfiguration cf, org.eclipse.cdt.managedbuilder.core.ITool cfTool, org.eclipse.cdt.managedbuilder.core.IOption option, java.lang.String newValue, java.lang.String[] existingValues)
cf
- IConfiguration Build configurationcfTool
- ITool Tooloption
- Tool Option typenewValue
- New value to be added to the Option typeexistingValues
- Existing Option type valuesprivate static void removeInputFromToolOption(org.eclipse.cdt.managedbuilder.core.IConfiguration cf, org.eclipse.cdt.managedbuilder.core.ITool cfTool, org.eclipse.cdt.managedbuilder.core.IOption option, java.lang.String removeValue, java.lang.String[] existingValues)
cf
- IConfiguration Build configurationcfTool
- ITool Tooloption
- Tool Option typeremoveValue
- Value to be removed from the Option typeexistingValues
- Existing Option type valuesprivate static org.eclipse.cdt.managedbuilder.core.ITool getLlvmFrontEnd(org.eclipse.cdt.managedbuilder.core.IConfiguration cf)
cf
- IConfiguration Build configuration
private static org.eclipse.cdt.managedbuilder.core.ITool getLlvmLinker(org.eclipse.cdt.managedbuilder.core.IConfiguration cf)
cf
- IConfiguration Build configuration
private static org.eclipse.cdt.managedbuilder.core.ITool getIToolByInputType(org.eclipse.cdt.managedbuilder.core.IConfiguration cf, java.lang.String ext)
cf
- IConfiguration Build configurationext
- input extension associated with ITool
private static org.eclipse.cdt.managedbuilder.core.IOption getLlvmFrontEndIncludePathOption(org.eclipse.cdt.managedbuilder.core.IConfiguration cf)
cf
- IConfiguration Project build configuration
private static org.eclipse.cdt.managedbuilder.core.IOption getLlvmLinkerLibrariesOption(org.eclipse.cdt.managedbuilder.core.IConfiguration cf)
cf
- IConfiguration Project build configuration
private static org.eclipse.cdt.managedbuilder.core.IOption getLlvmLinkerLibrarySearchPathOption(org.eclipse.cdt.managedbuilder.core.IConfiguration cf)
cf
- IConfiguration Project build configuration
private static java.lang.String getOptionId(org.eclipse.cdt.managedbuilder.core.ITool cfTool, int optionValueType)
cfTool
- ITool TooloptionValueType
- Option's value type.
private static org.eclipse.cdt.managedbuilder.core.IOption getIToolPathOption(org.eclipse.cdt.managedbuilder.core.ITool cfTool, java.lang.String optionId)
cfTool
- ITool TooloptionId
- String Tool option type id
public static java.lang.String[] addNewPathToExistingPathList(java.lang.String[] existingPaths, java.lang.String newPath)
existingPaths
- Existing list of paths to add tonewPath
- New path to add. May include multiple directories with a path delimiter java.io.File.pathSeparator
(usually semicolon (Win) or colon (Linux/Mac), OS specific)
public static java.lang.String[] removePathFromExistingPathList(java.lang.String[] existingPaths, java.lang.String removePath)
existingPaths
- Existing list of paths to remove fromremovePath
- Path to be removed.
public static java.lang.String[] stringToArray(java.lang.String str)
str
- String of paths separated by a path separator.
public static java.lang.String arrayToString(java.lang.String[] array)
array
- An array of Strings.
private static boolean pathExists(java.lang.String path)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |