Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/cdtvariables/CdtMacroSupplier.java')
-rw-r--r--core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/cdtvariables/CdtMacroSupplier.java495
1 files changed, 0 insertions, 495 deletions
diff --git a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/cdtvariables/CdtMacroSupplier.java b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/cdtvariables/CdtMacroSupplier.java
deleted file mode 100644
index f595b44ef6e..00000000000
--- a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/cdtvariables/CdtMacroSupplier.java
+++ /dev/null
@@ -1,495 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2007 Intel Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Intel Corporation - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.cdt.internal.core.cdtvariables;
-
-import org.eclipse.cdt.core.CCorePlugin;
-import org.eclipse.cdt.core.cdtvariables.CdtVariable;
-import org.eclipse.cdt.core.cdtvariables.ICdtVariable;
-import org.eclipse.cdt.core.settings.model.ICConfigurationDescription;
-import org.eclipse.cdt.utils.Platform;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.osgi.framework.Bundle;
-
-/**
- * This supplier is used to suply MBS-predefined macros
- *
- * @since 3.0
- */
-public class CdtMacroSupplier extends CoreMacroSupplierBase {
- private static CdtMacroSupplier fInstance;
- public final static String DOT = "."; //$NON-NLS-1$
- public final static String EMPTY_STRING = ""; //$NON-NLS-1$
-
- private static final String fConfigurationMacros[] = new String[]{
- "ConfigName", //$NON-NLS-1$
- "ConfigDescription", //$NON-NLS-1$
-// "BuildArtifactFileName", //$NON-NLS-1$
-// "BuildArtifactFileExt", //$NON-NLS-1$
-// "BuildArtifactFileBaseName", //$NON-NLS-1$
-// "BuildArtifactFilePrefix", //$NON-NLS-1$
-// "TargetOsList", //$NON-NLS-1$
-// "TargetArchList", //$NON-NLS-1$
- };
-
- private static final String fWorkspaceMacros[] = new String[]{
- "WorkspaceDirPath", //$NON-NLS-1$
- "DirectoryDelimiter", //$NON-NLS-1$
- "PathDelimiter", //$NON-NLS-1$
- };
-
- private static final String fCDTEclipseMacros[] = new String[]{
- "EclipseVersion", //$NON-NLS-1$
- "CDTVersion", //$NON-NLS-1$
-// "MBSVersion", //$NON-NLS-1$
- "HostOsName", //$NON-NLS-1$
- "HostArchName", //$NON-NLS-1$
- "OsType", //$NON-NLS-1$
- "ArchType", //$NON-NLS-1$
- };
-
-
-/* private String getExplicitFileMacroValue(String name, IPath inputFileLocation, IPath outputFileLocation, IConfiguration cfg){
- String value = null;
- if("InputFileName".equals(name)){ //$NON-NLS-1$
- if(inputFileLocation != null && inputFileLocation.segmentCount() > 0)
- value = inputFileLocation.lastSegment();
- }else if("InputFileExt".equals(name)){ //$NON-NLS-1$
- if(inputFileLocation != null && inputFileLocation.segmentCount() > 0)
- value = getExtension(inputFileLocation.lastSegment());
- }else if("InputFileBaseName".equals(name)){ //$NON-NLS-1$
- if(inputFileLocation != null && inputFileLocation.segmentCount() > 0)
- value = getBaseName(inputFileLocation.lastSegment());
- }else if("InputFileRelPath".equals(name)){ //$NON-NLS-1$
- if(inputFileLocation != null && inputFileLocation.segmentCount() > 0){
- IPath workingDirectory = getBuilderCWD(cfg);
- if(workingDirectory != null){
- IPath filePath = ManagedBuildManager.calculateRelativePath(workingDirectory, inputFileLocation);
- if(filePath != null)
- value = filePath.toOSString();
- }
- }
- }
- else if("InputDirRelPath".equals(name)){ //$NON-NLS-1$
- if(inputFileLocation != null && inputFileLocation.segmentCount() > 0){
- IPath workingDirectory = getBuilderCWD(cfg);
- if(workingDirectory != null){
- IPath filePath = ManagedBuildManager.calculateRelativePath(workingDirectory, inputFileLocation.removeLastSegments(1).addTrailingSeparator());
- if(filePath != null)
- value = filePath.toOSString();
- }
- }
- }
- else if("OutputFileName".equals(name)){ //$NON-NLS-1$
- if(outputFileLocation != null && outputFileLocation.segmentCount() > 0)
- value = outputFileLocation.lastSegment();
- }else if("OutputFileExt".equals(name)){ //$NON-NLS-1$
- if(outputFileLocation != null && outputFileLocation.segmentCount() > 0)
- value = getExtension(outputFileLocation.lastSegment());
- }else if("OutputFileBaseName".equals(name)){ //$NON-NLS-1$
- if(outputFileLocation != null && outputFileLocation.segmentCount() > 0)
- value = getBaseName(outputFileLocation.lastSegment());
- }else if("OutputFileRelPath".equals(name)){ //$NON-NLS-1$
- if(outputFileLocation != null && outputFileLocation.segmentCount() > 0){
- IPath workingDirectory = getBuilderCWD(cfg);
- if(workingDirectory != null){
- IPath filePath = ManagedBuildManager.calculateRelativePath(workingDirectory, outputFileLocation);
- if(filePath != null)
- value = filePath.toOSString();
- }
- }
- }else if("OutputDirRelPath".equals(name)){ //$NON-NLS-1$
- if(outputFileLocation != null && outputFileLocation.segmentCount() > 0){
- IPath workingDirectory = getBuilderCWD(cfg);
- if(workingDirectory != null){
- IPath filePath = ManagedBuildManager.calculateRelativePath(workingDirectory, outputFileLocation.removeLastSegments(1).addTrailingSeparator());
- if(filePath != null)
- value = filePath.toOSString();
- }
- }
- }
-
- return value;
- }*/
-
- public String[] getMacroNames(int contextType){
- return getMacroNames(contextType,true);
- }
-
- private String[] getMacroNames(int contextType, boolean clone){
- String names[] = null;
- switch(contextType){
- case DefaultVariableContextInfo.CONTEXT_CONFIGURATION:
- names = fConfigurationMacros;
- break;
- case DefaultVariableContextInfo.CONTEXT_WORKSPACE:
- names = fWorkspaceMacros;
- break;
- case DefaultVariableContextInfo.CONTEXT_INSTALLATIONS:
- names = fCDTEclipseMacros;
- break;
- case DefaultVariableContextInfo.CONTEXT_ECLIPSEENV:
- break;
- }
- if(names != null)
- return clone ? (String[])names.clone() : names;
- return null;
- }
-
- private CdtMacroSupplier(){
-
- }
-
- public static CdtMacroSupplier getInstance(){
- if(fInstance == null)
- fInstance = new CdtMacroSupplier();
- return fInstance;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.cdt.managedbuilder.macros.IBuildMacroSupplier#getMacro(java.lang.String, int, java.lang.Object)
- */
- public ICdtVariable getMacro(String macroName, int contextType,
- Object contextData) {
- ICdtVariable macro = null;
- switch(contextType){
- case DefaultVariableContextInfo.CONTEXT_CONFIGURATION:
- if(contextData instanceof ICConfigurationDescription){
- macro = getMacro(macroName, (ICConfigurationDescription)contextData);
- }
- break;
- case DefaultVariableContextInfo.CONTEXT_WORKSPACE:
- if(contextData == null || contextData instanceof IWorkspace){
- macro = getMacro(macroName, (IWorkspace)contextData);
- }
- break;
- case DefaultVariableContextInfo.CONTEXT_INSTALLATIONS:
- if(contextData == null){
- macro = getMacro(macroName);
- }
- break;
- case DefaultVariableContextInfo.CONTEXT_ECLIPSEENV:
- break;
- }
-
- return macro;
- }
-
- public ICdtVariable getMacro(String macroName, ICConfigurationDescription cfg){
- ICdtVariable macro = null;
- if("ConfigName".equals(macroName)){ //$NON-NLS-1$
- macro = new CdtVariable(macroName,ICdtVariable.VALUE_TEXT,cfg.getName());
- }
- else if("ConfigDescription".equals(macroName)){ //$NON-NLS-1$
- macro = new CdtVariable(macroName,ICdtVariable.VALUE_TEXT,cfg.getDescription());
- }
-/* else if("BuildArtifactFileName".equals(macroName)){ //$NON-NLS-1$
- String name = cfg.getArtifactName();
- String ext = cfg.getArtifactExtension();
- if(ext != null && !EMPTY_STRING.equals(ext))
- name = name + DOT + ext;
- macro = new BuildMacro(macroName,IBuildMacro.VALUE_TEXT,name);
- }*/
-/* else if("BuildArtifactFileExt".equals(macroName)){ //$NON-NLS-1$
- String ext = cfg.getArtifactExtension();
- macro = new BuildMacro(macroName,IBuildMacro.VALUE_TEXT,ext);
- }*/
-/* else if("BuildArtifactFileBaseName".equals(macroName)){ //$NON-NLS-1$
- String name = cfg.getArtifactName();
- ITool targetTool = cfg.calculateTargetTool();
- if(targetTool != null){
- IOutputType pot = targetTool.getPrimaryOutputType();
- String prefix = pot.getOutputPrefix();
-
-
- // Resolve any macros in the outputPrefix
- // Note that we cannot use file macros because if we do a clean
- // we need to know the actual
- // name of the file to clean, and cannot use any builder
- // variables such as $@. Hence
- // we use the next best thing, i.e. configuration context.
-
- // figure out the configuration we're using
- IBuildObject toolParent = targetTool.getParent();
- IConfiguration config = null;
- // if the parent is a config then we're done
- if (toolParent instanceof IConfiguration)
- config = (IConfiguration) toolParent;
- else if (toolParent instanceof IToolChain) {
- // must be a toolchain
- config = (IConfiguration) ((IToolChain) toolParent)
- .getParent();
- }
-
- else if (toolParent instanceof IResourceConfiguration) {
- config = (IConfiguration) ((IResourceConfiguration) toolParent)
- .getParent();
- }
-
- else {
- // bad
- throw new AssertionError(
- "tool parent must be one of configuration, toolchain, or resource configuration");
- }
-
- if (config != null) {
-
- try {
- prefix = ManagedBuildManager
- .getBuildMacroProvider()
- .resolveValueToMakefileFormat(
- prefix,
- "", //$NON-NLS-1$
- " ", //$NON-NLS-1$
- IBuildMacroProvider.CONTEXT_CONFIGURATION,
- config);
- }
-
- catch (BuildMacroException e) {
- }
-
- }
-
-
- if(prefix != null && !EMPTY_STRING.equals(prefix))
- name = prefix + name;
- }
- macro = new BuildMacro(macroName,IBuildMacro.VALUE_TEXT,name);
- }*/
-/* else if("BuildArtifactFilePrefix".equals(macroName)){ //$NON-NLS-1$
- ITool targetTool = cfg.calculateTargetTool();
- if(targetTool != null){
- IOutputType pot = targetTool.getPrimaryOutputType();
- String prefix = pot.getOutputPrefix();
-
- // Resolve any macros in the outputPrefix
- // Note that we cannot use file macros because if we do a clean
- // we need to know the actual
- // name of the file to clean, and cannot use any builder
- // variables such as $@. Hence
- // we use the next best thing, i.e. configuration context.
-
- // figure out the configuration we're using
- IBuildObject toolParent = targetTool.getParent();
- IConfiguration config = null;
- // if the parent is a config then we're done
- if (toolParent instanceof IConfiguration)
- config = (IConfiguration) toolParent;
- else if (toolParent instanceof IToolChain) {
- // must be a toolchain
- config = (IConfiguration) ((IToolChain) toolParent)
- .getParent();
- }
-
- else if (toolParent instanceof IResourceConfiguration) {
- config = (IConfiguration) ((IResourceConfiguration) toolParent)
- .getParent();
- }
-
- else {
- // bad
- throw new AssertionError(
- "tool parent must be one of configuration, toolchain, or resource configuration");
- }
-
- if (config != null) {
-
- try {
- prefix = ManagedBuildManager
- .getBuildMacroProvider()
- .resolveValueToMakefileFormat(
- prefix,
- "", //$NON-NLS-1$
- " ", //$NON-NLS-1$
- IBuildMacroProvider.CONTEXT_CONFIGURATION,
- config);
- }
-
- catch (BuildMacroException e) {
- }
-
- }
-
- if(prefix == null)
- prefix = EMPTY_STRING;
- macro = new BuildMacro(macroName,IBuildMacro.VALUE_TEXT,prefix);
- }
- }*/
-/* else if("TargetOsList".equals(macroName)){ //$NON-NLS-1$
- IToolChain toolChain = cfg.getToolChain();
- String osList[] = toolChain.getOSList();
- if(osList == null)
- osList = new String[0];
- macro = new BuildMacro(macroName,IBuildMacro.VALUE_TEXT_LIST,osList);
- }*/
-/* else if("TargetArchList".equals(macroName)){ //$NON-NLS-1$
- IToolChain toolChain = cfg.getToolChain();
- String archList[] = toolChain.getArchList();
- if(archList == null)
- archList = new String[0];
- macro = new BuildMacro(macroName,IBuildMacro.VALUE_TEXT_LIST,archList);
-
- }*/
-/* else if("ToolChainVersion".equals(macroName)){ //$NON-NLS-1$
- if(cfg.getToolChain().getVersion() != null)
- macro = new BuildMacro(macroName,IBuildMacro.VALUE_TEXT,cfg.getToolChain().getVersion().toString());
- }*/
-/* else if("BuilderVersion".equals(macroName)){ //$NON-NLS-1$
- PluginVersionIdentifier version = cfg.getToolChain().getBuilder().getVersion();
- if(version != null)
- macro = new BuildMacro(macroName,IBuildMacro.VALUE_TEXT,version.toString());
- }*/
- return macro;
- }
-
- private String getBaseName(String name){
- String value = null;
- int index = name.lastIndexOf('.');
- if(index == -1)
- value = name;
- else
- value = name.substring(0,index);
- return value;
- }
-
- private String getExtension(String name){
- String value = null;
- int index = name.lastIndexOf('.');
- if(index != -1)
- value = name.substring(index+1);
- return value;
- }
-
-/* public IBuildMacro getMacro(String macroName, IManagedProject mngProj){
- IBuildMacro macro = null;
- if("ProjName".equals(macroName)){ //$NON-NLS-1$
- macro = new BuildMacro(macroName,IBuildMacro.VALUE_TEXT,mngProj.getOwner().getName());
- }
- else if("ProjDirPath".equals(macroName)){ //$NON-NLS-1$
- macro = new BuildMacro(macroName,IBuildMacro.VALUE_PATH_DIR,mngProj.getOwner().getLocation().toOSString());
- }
- return macro;
- }
-*/
- public ICdtVariable getMacro(String macroName, IWorkspace wsp){
- if(wsp == null)
- wsp = ResourcesPlugin.getWorkspace();
- ICdtVariable macro = null;
- if("WorkspaceDirPath".equals(macroName)){ //$NON-NLS-1$
- macro = new CdtVariable(macroName,ICdtVariable.VALUE_PATH_DIR,wsp.getRoot().getLocation().toOSString());
- } else if("DirectoryDelimiter".equals(macroName)){ //$NON-NLS-1$
- if(isWin32()){
- macro = new CdtVariable(macroName,ICdtVariable.VALUE_TEXT,"\\"); //$NON-NLS-1$
- } else {
- macro = new CdtVariable(macroName,ICdtVariable.VALUE_TEXT,"/"); //$NON-NLS-1$
- }
- } else if("PathDelimiter".equals(macroName)){ //$NON-NLS-1$
- if(isWin32()){
- macro = new CdtVariable(macroName,ICdtVariable.VALUE_TEXT,";"); //$NON-NLS-1$
- } else {
- macro = new CdtVariable(macroName,ICdtVariable.VALUE_TEXT,":"); //$NON-NLS-1$
- }
- }
- return macro;
- }
-
- private boolean isWin32(){
- String os = System.getProperty("os.name").toLowerCase(); //$NON-NLS-1$
- if (os.startsWith("windows ")) //$NON-NLS-1$
- return true;
- return false;
- }
-
- public ICdtVariable getMacro(String macroName){
- ICdtVariable macro = null;
- if("EclipseVersion".equals(macroName)){ //$NON-NLS-1$
- Bundle bundle = Platform.getBundle("org.eclipse.platform"); //$NON-NLS-1$
- String version = bundle != null ?
- (String)bundle.getHeaders().get(org.osgi.framework.Constants.BUNDLE_VERSION) :
- null;
- macro = new CdtVariable(macroName,ICdtVariable.VALUE_TEXT,version);
- }
- else if("CDTVersion".equals(macroName)){ //$NON-NLS-1$
- String version = (String)CCorePlugin.getDefault().getBundle().getHeaders().get(org.osgi.framework.Constants.BUNDLE_VERSION);
- macro = new CdtVariable(macroName,ICdtVariable.VALUE_TEXT,version);
- }
-/* else if("MBSVersion".equals(macroName)){ //$NON-NLS-1$
- String version = ManagedBuildManager.getBuildInfoVersion().toString();
- macro = new BuildMacro(macroName,IBuildMacro.VALUE_TEXT,version);
- }*/
- else if("HostOsName".equals(macroName)){ //$NON-NLS-1$
- String os = System.getProperty("os.name"); //$NON-NLS-1$
- macro = new CdtVariable(macroName,ICdtVariable.VALUE_TEXT,os);
- }
- else if("HostArchName".equals(macroName)){ //$NON-NLS-1$
- String arch = System.getProperty("os.arch"); //$NON-NLS-1$
- macro = new CdtVariable(macroName,ICdtVariable.VALUE_TEXT,arch);
- }
- else if("OsType".equals(macroName)){ //$NON-NLS-1$
- String os = Platform.getOS();
- macro = new CdtVariable(macroName,ICdtVariable.VALUE_TEXT,os);
- }
- else if("ArchType".equals(macroName)){ //$NON-NLS-1$
- String arch = Platform.getOSArch();
- macro = new CdtVariable(macroName,ICdtVariable.VALUE_TEXT,arch);
- }
-
- return macro;
- }
-
-
- /* (non-Javadoc)
- * @see org.eclipse.cdt.managedbuilder.macros.IBuildMacroSupplier#getMacros(int, java.lang.Object)
- */
- public ICdtVariable[] getMacros(int contextType, Object contextData) {
- String names[] = getMacroNames(contextType,false);
-
- if(names != null){
- ICdtVariable macros[] = new ICdtVariable[names.length];
- int num = 0;
- for(int i = 0; i < names.length; i++){
- ICdtVariable macro = getMacro(names[i],contextType,contextData);
- if(macro != null)
- macros[num++] = macro;
- }
- if(macros.length != num){
- ICdtVariable tmp[] = new ICdtVariable[num];
- if(num > 0)
- System.arraycopy(macros,0,tmp,0,num);
- macros = tmp;
- }
- return macros;
- }
- return null;
- }
-
-/* private IPath getBuilderCWD(IConfiguration cfg){
- IPath workingDirectory = null;
- IResource owner = cfg.getOwner();
- IManagedBuildInfo info = ManagedBuildManager.getBuildInfo(owner);
-
- if(info != null){
- if(info.getDefaultConfiguration().equals(cfg)){
- IManagedBuilderMakefileGenerator generator = ManagedBuildManager.getBuildfileGenerator(info.getDefaultConfiguration());
- generator.initialize((IProject)owner,info,null);
-
- IPath topBuildDir = generator.getBuildWorkingDir();
- if(topBuildDir == null)
- topBuildDir = new Path(info.getConfigurationName());
-
- IPath projectLocation = owner.getLocation();
- workingDirectory = projectLocation.append(topBuildDir);
- }
- }
- return workingDirectory;
- }
-*/
-}

Back to the top