View | Details | Raw Unified | Return to bug 397116 | Differences between
and this patch

Collapse All | Expand All

(-)a/org.eclipse.photran.cdtinterface/.classpath (+2 lines)
Lines 3-7 Link Here
3
	<classpathentry kind="src" path="src"/>
3
	<classpathentry kind="src" path="src"/>
4
	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
4
	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
5
	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
5
	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
6
	<classpathentry combineaccessrules="false" kind="src" path="/org.eclipse.photran.core.vpg"/>
7
	<classpathentry combineaccessrules="false" kind="src" path="/org.eclipse.rephraserengine.core"/>
6
	<classpathentry kind="output" path="bin"/>
8
	<classpathentry kind="output" path="bin"/>
7
</classpath>
9
</classpath>
(-)a/org.eclipse.photran.cdtinterface/META-INF/MANIFEST.MF (-1 / +6 lines)
Lines 8-13 Link Here
8
Bundle-Vendor: %providerName
8
Bundle-Vendor: %providerName
9
Bundle-Localization: plugin
9
Bundle-Localization: plugin
10
Export-Package: org.eclipse.photran.cdtinterface.makegen,
10
Export-Package: org.eclipse.photran.cdtinterface.makegen,
11
 org.eclipse.photran.cdtinterface.managebuilder,
12
 org.eclipse.photran.cdtinterface.managebuilder.gnu,
13
 org.eclipse.photran.cdtinterface.managebuilder.intel,
14
 org.eclipse.photran.cdtinterface.managebuilder.xlf,
11
 org.eclipse.photran.internal.cdtinterface;x-internal:=true,
15
 org.eclipse.photran.internal.cdtinterface;x-internal:=true,
12
 org.eclipse.photran.internal.cdtinterface.core;x-friends:="org.eclipse.photran.ui",
16
 org.eclipse.photran.internal.cdtinterface.core;x-friends:="org.eclipse.photran.ui",
13
 org.eclipse.photran.internal.cdtinterface.dom;x-internal:=true,
17
 org.eclipse.photran.internal.cdtinterface.dom;x-internal:=true,
Lines 41-46 Link Here
41
 org.eclipse.ui.views,
45
 org.eclipse.ui.views,
42
 org.eclipse.cdt.managedbuilder.core,
46
 org.eclipse.cdt.managedbuilder.core,
43
 org.eclipse.ui.navigator.resources,
47
 org.eclipse.ui.navigator.resources,
44
 org.eclipse.ui.navigator
48
 org.eclipse.ui.navigator,
49
 org.eclipse.photran.core.vpg;bundle-version="8.0.0"
45
Bundle-ActivationPolicy: lazy
50
Bundle-ActivationPolicy: lazy
46
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
51
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
(-)a/org.eclipse.photran.cdtinterface/src/org/eclipse/photran/cdtinterface/makegen/DefaultFortranDependencyCalculator.java (-75 / +77 lines)
Lines 7-12 Link Here
7
 *
7
 *
8
 * Contributors:
8
 * Contributors:
9
 * IBM - Initial API and implementation
9
 * IBM - Initial API and implementation
10
 * Mehrdad Biglari, Ramesh Kolavenu, Lorentz Arthur Morrow,
11
 * Jose Alberto Lozano Hinojosa, Michael T O'Sullivan 
12
 *     - Modified to do resource lookup using Photran VPG. Fixed bug#397116 
10
 *******************************************************************************/
13
 *******************************************************************************/
11
package org.eclipse.photran.cdtinterface.makegen;
14
package org.eclipse.photran.cdtinterface.makegen;
12
15
Lines 20-26 Link Here
20
import java.io.Reader;
23
import java.io.Reader;
21
import java.io.StreamTokenizer;
24
import java.io.StreamTokenizer;
22
import java.util.ArrayList;
25
import java.util.ArrayList;
26
import java.util.Arrays;
23
import java.util.Collection;
27
import java.util.Collection;
28
import java.util.List;
24
29
25
import org.eclipse.cdt.core.CCorePlugin;
30
import org.eclipse.cdt.core.CCorePlugin;
26
import org.eclipse.cdt.managedbuilder.core.IConfiguration;
31
import org.eclipse.cdt.managedbuilder.core.IConfiguration;
Lines 40-59 Link Here
40
import org.eclipse.core.runtime.Path;
45
import org.eclipse.core.runtime.Path;
41
import org.eclipse.core.runtime.content.IContentType;
46
import org.eclipse.core.runtime.content.IContentType;
42
import org.eclipse.photran.internal.cdtinterface.core.FortranLanguage;
47
import org.eclipse.photran.internal.cdtinterface.core.FortranLanguage;
48
import org.eclipse.photran.internal.core.vpg.PhotranVPG;
43
49
44
/**
50
/**
45
 *  This class implements the Dependency Manager and Output Name Provider interfaces
51
 *  This class implements the Dependency Manager and Output Name Provider interfaces
46
 *  @author Unknown
52
 *  @author Unknown
47
 *  @author Timofey Yuvashev 2009
53
 *  @author Timofey Yuvashev 2009
48
 *  @author Jeff Overbey -- files were not being closed (Bug 334796)
54
 *  @author Jeff Overbey -- files were not being closed (Bug 334796)
49
 *  
55
 *  @author Mehrdad Biglari, Ramesh Kolavenu, Lorentz Arthur Morrow,
56
 *          Jose Alberto Lozano Hinojosa, Michael T O'Sullivan 
57
 *          -- Use PhotranVPG to find dependencies for the given project
58
 *          (Managed Build project, Fall CS 427)
59
 *          -- Refactored, removed resources from getFileNameContainingModule
60
 *          function since Photran VPG does not need resources argument 
50
 *  @since 8.0
61
 *  @since 8.0
51
 */
62
 */
52
@SuppressWarnings({ "deprecation", "rawtypes", "unchecked", "unused" })
63
@SuppressWarnings({ "deprecation", "rawtypes", "unchecked", "unused" })
53
public class DefaultFortranDependencyCalculator implements IManagedDependencyGenerator,
64
public class DefaultFortranDependencyCalculator implements IManagedDependencyGenerator,
54
														   IManagedOutputNameProvider
65
														   IManagedOutputNameProvider
55
{
66
{
56
	public static final String MODULE_EXTENSION = "o";	//$NON-NLS-1$
67
	public static final String MODULE_EXTENSION = "o";	//$NON-NLS-1$	
57
	
68
	
58
	/*
69
	/*
59
	 * Return a list of the names of all modules used by a file
70
	 * Return a list of the names of all modules used by a file
Lines 243-249 Link Here
243
								//  to generate .mod files in the directory from which the compiler is run.  For MBS, this
254
								//  to generate .mod files in the directory from which the compiler is run.  For MBS, this
244
								//  is the top-level build directory.  
255
								//  is the top-level build directory.  
245
								//  TODO: Support the /module:path option and use that in determining the path of the module file 
256
								//  TODO: Support the /module:path option and use that in determining the path of the module file 
246
								IPath modName = getModulePath(topBuildDir, modules[im], res, project);
257
								IPath modName = getModulePath(topBuildDir, modules[im], resourcesToSearch, project);
247
								modRes.add(project.getFile(modName));
258
								modRes.add(project.getFile(modName));
248
								foundDependency = true;
259
								foundDependency = true;
249
								break;
260
								break;
Lines 269-275 Link Here
269
		return (IResource[]) modRes.toArray(new IResource[modRes.size()]);
280
		return (IResource[]) modRes.toArray(new IResource[modRes.size()]);
270
	}
281
	}
271
	
282
	
272
	/*
283
	/**
273
	 * Finds the relative path to the file whose name matches of the given module. If no such file
284
	 * Finds the relative path to the file whose name matches of the given module. If no such file
274
	 * is found, the "Debug" folder is erased and an error is thrown.
285
	 * is found, the "Debug" folder is erased and an error is thrown.
275
	 * 
286
	 * 
Lines 280-286 Link Here
280
	private IPath getModulePath(String topBuildDir, String moduleName, IResource[] resources, IProject project)
291
	private IPath getModulePath(String topBuildDir, String moduleName, IResource[] resources, IProject project)
281
	{
292
	{
282
		String fileNameContainingModule;
293
		String fileNameContainingModule;
283
		fileNameContainingModule = getFileNameContainingModule(moduleName, resources, topBuildDir);
294
		fileNameContainingModule = getFileNameContainingModule(resources, moduleName);
284
		
295
		
285
		//If we can't find any files with that module, remove Debug folder
296
		//If we can't find any files with that module, remove Debug folder
286
		if(fileNameContainingModule == null || fileNameContainingModule == "") //$NON-NLS-1$
297
		if(fileNameContainingModule == null || fileNameContainingModule == "") //$NON-NLS-1$
Lines 301-379 Link Here
301
		return p;
312
		return p;
302
	}
313
	}
303
	
314
	
304
	/*
315
	/**
305
	 * This method operates under that assumption that 
316
	 * This method finds the relative path to the filename that contains the 
306
	 * 1. There will be no 2 files that are named the same, even if they are in separate folder
317
	 * name of the given module. It returns a string which is the relative 
307
	 * 2. There is only 1 module per file
318
	 * path to the file containing the given module, with that
308
	 * 3. There are no files that differ in their names only by upper or lower case letters (i.e. file1.f90 and fILe1.f90)
319
	 * file's extension chopped off.
309
	 * 
320
	 * 
310
	 * This method finds the relative path to the filename that matches the name of the given module. It 
321
	 * @moduleName - name of the module that we are retrieving the filename
311
	 * searches the list of given @resources to compare the names of contained files. It returns a string which
312
	 * is the relative path to the file supposedly containing the given module, with that file's extension chopped off.
313
	 * 
314
	 * @moduleName - name of the module that we are comparing files against
315
	 * @resources  - list of resources that we look through (could be files and folders)
316
	 */
322
	 */
317
	private String getFileNameContainingModule(String moduleName, IResource[] resources, String buildDirName)
323
	@SuppressWarnings("restriction")
324
    public String getFileNameContainingModule(IResource[] resources, String moduleName)
318
	{
325
	{
319
		ArrayList possibleMatchingFiles = new ArrayList();
326
      if(resources == null || resources.length < 1 || 
320
		if(resources == null || resources.length < 1 || 
327
          moduleName == null || moduleName == "") //$NON-NLS-1$
321
		   moduleName == null || moduleName == "") //$NON-NLS-1$
328
      {
322
		{
329
          return null;
323
			return null;
330
      }
324
		}
331
      List<IFile> fileList = PhotranVPG.getInstance().findFilesThatExportModule(moduleName);
325
		
332
      
326
		for(int i = 0; i < resources.length; i++)
333
      return getFilePathFromResources(resources, fileList);
327
		{
328
			if(resources[i] instanceof IFile)
329
			{
330
				IFile f = (IFile)resources[i];
331
				
332
				//Gets rid of the file extension
333
				String fileName = f.getName().replaceFirst("\\..+", ""); //$NON-NLS-1$ //$NON-NLS-2$
334
				
335
				//If a file name matches a module name exactly -- return the relative path to that file
336
				if(fileName == moduleName)
337
					return f.getProjectRelativePath().toString().replaceFirst("\\..+", ""); //$NON-NLS-1$ //$NON-NLS-2$
338
				
339
				//Otherwise, check if the two names have different cases
340
				else if(fileName.equalsIgnoreCase(moduleName))
341
				{
342
					//And if they do, keep it
343
					possibleMatchingFiles.add(f.getProjectRelativePath().toString().replaceFirst("\\..+", "")); //$NON-NLS-1$ //$NON-NLS-2$
344
				}
345
			}
346
			//If its a folder, recurse, but don't look in other build folders (Bug 326333)
347
			else if(resources[i] instanceof IContainer && !resources[i].isDerived())
348
			{
349
				IContainer folder = (IContainer)resources[i];
350
				IResource[] subResource = null;
351
				
352
				//Skip build folder, because it contains files with the same
353
				// names as the one we are looking for (created .o files)
354
				if(folder.getName().equalsIgnoreCase(buildDirName))
355
					continue;
356
					
357
				try 
358
				{
359
					subResource = folder.members();
360
				} 
361
				catch (CoreException e) 
362
				{
363
					throw new Error("Could not open a container to explore its files"); //$NON-NLS-1$
364
				}
365
				
366
				String name = getFileNameContainingModule(moduleName, subResource, buildDirName);
367
				if(name != null)
368
					return name;
369
			}			
370
		}
371
		if(possibleMatchingFiles.size() == 1)
372
			return (String) possibleMatchingFiles.get(0);
373
		
374
		return null;
375
			
376
	}
334
	}
335
336
	
337
    /**
338
     * Returns the file path of the file from file list that matches a 
339
     * resource. 
340
     * 
341
     * @param resources: list of resources within the project
342
     * @param files: list of files
343
     */
344
    private String getFilePathFromResources(IResource[] resources, List<IFile> files)
345
    {
346
        for(IFile file: files){
347
              for (IResource resource : resources){
348
                  if (file.getProjectRelativePath().equals(resource.getProjectRelativePath())){
349
                      return file.getProjectRelativePath().toString().replaceFirst("\\..+", ""); //$NON-NLS-1$ //$NON-NLS-2$
350
                  }
351
              }
352
          }
353
        return null;
354
    }
377
	
355
	
378
	private void removeDir(File f)
356
	private void removeDir(File f)
379
	{	
357
	{	
Lines 395-401 Link Here
395
	/* (non-Javadoc)
373
	/* (non-Javadoc)
396
	 * @see org.eclipse.cdt.managedbuilder.makegen.IManagedBuilderDependencyCalculator#findDependencies(org.eclipse.core.resources.IResource)
374
	 * @see org.eclipse.cdt.managedbuilder.makegen.IManagedBuilderDependencyCalculator#findDependencies(org.eclipse.core.resources.IResource)
397
	 */
375
	 */
398
	public IResource[] findDependencies(IResource resource, IProject project) {
376
	@SuppressWarnings("restriction")
377
    public IResource[] findDependencies(IResource resource, IProject project) {
378
	    boolean isRefactoringEnableForProject = PhotranVPG.getInstance().shouldProcessProject(project);
379
	    if(!isRefactoringEnableForProject){
380
	        forcePhotranVPGUpdate(project, true);
381
	    }
382
	    
399
		ArrayList dependencies = new ArrayList();
383
		ArrayList dependencies = new ArrayList();
400
		Collection fortranContentTypes = new FortranLanguage().getRegisteredContentTypeIds();
384
		Collection fortranContentTypes = new FortranLanguage().getRegisteredContentTypeIds();
401
385
Lines 431-440 Link Here
431
		{
415
		{
432
			return new IResource[0];
416
			return new IResource[0];
433
		}
417
		}
418
		finally{
419
    		if(!isRefactoringEnableForProject){
420
    	        PhotranVPG.getInstance().clearDatabase();
421
    		    forcePhotranVPGUpdate(project, false);
422
    		}
423
		}
434
		
424
		
435
		return (IResource[]) dependencies.toArray(new IResource[dependencies.size()]);
425
		return (IResource[]) dependencies.toArray(new IResource[dependencies.size()]);
436
	}
426
	}
437
427
428
    /**
429
     * Force Photran VPG update and ensure the database is up-to-date
430
     *  
431
     * @param project - Project to force VPG update on it
432
     * @param forceUpdate - whether force update 
433
     */
434
    @SuppressWarnings("restriction")
435
    private void forcePhotranVPGUpdate(IProject project, boolean forceUpdate){
436
        PhotranVPG.getInstance().setPropertyEnableVpg(project, forceUpdate);
437
        PhotranVPG.getInstance().ensureVPGIsUpToDate(new NullProgressMonitor());
438
    }
439
438
	/* (non-Javadoc)
440
	/* (non-Javadoc)
439
	 * @see org.eclipse.cdt.managedbuilder.makegen.IManagedBuilderDependencyCalculator#getCalculatorType()
441
	 * @see org.eclipse.cdt.managedbuilder.makegen.IManagedBuilderDependencyCalculator#getCalculatorType()
440
	 */
442
	 */
(-)a/org.eclipse.photran.cdtinterface/src/org/eclipse/photran/cdtinterface/managebuilder/BaseManageBuilderToolChainSupported.java (+85 lines)
Added Link Here
1
/*******************************************************************************
2
* Copyright (c) 2012 Mehrdad Biglari, Ramesh Kolavenu, Lorentz Arthur Morrow,
3
* Jose Alberto Lozano Hinojosa, Michael T O'Sullivan and others.
4
* All rights reserved. This program and the accompanying materials
5
* are made available under the terms of the Eclipse Public License v1.0
6
* which accompanies this distribution, and is available at
7
* http://www.eclipse.org/legal/epl-v10.html
8
*
9
* Contributors:
10
* Mehrdad Biglari, Ramesh Kolavenu, Lorentz Arthur Morrow,
11
* Jose Alberto Lozano Hinojosa, Michael T O'Sullivan 
12
*      - Initial API and implementation
13
*******************************************************************************/
14
package org.eclipse.photran.cdtinterface.managebuilder;
15
16
import java.util.Arrays;
17
18
import org.eclipse.cdt.managedbuilder.core.IManagedIsToolChainSupported;
19
import org.eclipse.cdt.managedbuilder.core.IToolChain;
20
import org.osgi.framework.Version;
21
22
/**
23
 *  This class implements managed tool chain supported and outputs 
24
 *  whether Os, Compiler and tool chain are supported
25
 *  @author Mehrdad Biglari, Ramesh Kolavenu, Lorentz Arthur Morrow,
26
 *          Jose Alberto Lozano Hinojosa, Michael T O'Sullivan 
27
 *        - Managed Build project, Fall CS 427
28
 */
29
30
public abstract class BaseManageBuilderToolChainSupported implements IManagedIsToolChainSupported
31
{
32
    private IPlatformOS platformOs = new PlatformOS();
33
    private ISupportedCompiler supportedCompiler = new CompilerSupported();
34
    
35
    /**
36
     * Sets mocked OS for unit testing
37
     * 
38
     * @param platformOs - Mock up OS to support testing.      
39
     */
40
    public void setPlatformOs(IPlatformOS platformOs)
41
    {
42
        this.platformOs = platformOs;
43
    }
44
    
45
    /**
46
     * Sets mocked compiler for unit testing
47
     * 
48
     * @param supportedCompiler - Mock up compiler to support testing.      
49
     */
50
    public void setCompilerSupported(ISupportedCompiler supportedCompiler)
51
    {
52
        this.supportedCompiler = supportedCompiler;
53
    }
54
    
55
    /**
56
     * @return <code>true</code> if the given tool-chain is supported on the system
57
     * otherwise returns <code>false</code>
58
     * 
59
     */
60
    public boolean isSupported(IToolChain toolChain, Version version, String instance)
61
    {
62
       return isOsSupported(toolChain) && isCompilerSupported();
63
    }
64
 
65
    protected abstract boolean isCompilerSupported();
66
    
67
    /**
68
     * @return <code>true</code> if the given OS in the tool-chain is supported on 
69
     * the system otherwise returns <code>false</code>
70
     *
71
     */
72
    private boolean isOsSupported(IToolChain toolChain)
73
    {
74
        return Arrays.asList(toolChain.getOSList()).contains(platformOs.getOS());
75
    }
76
    
77
    /**
78
     * @return <code>true</code> if the given compiler executable and version is 
79
     * supported on the system otherwise returns <code>false</code>
80
     *
81
     */
82
    protected boolean isCompilerSupported(String compilerExecutable, String versionFlag){
83
        return this.supportedCompiler.isSupported(compilerExecutable, versionFlag);
84
    }
85
}
(-)a/org.eclipse.photran.cdtinterface/src/org/eclipse/photran/cdtinterface/managebuilder/CompilerSupported.java (+62 lines)
Added Link Here
1
/*******************************************************************************
2
* Copyright (c) 2012 Mehrdad Biglari, Ramesh Kolavenu, Lorentz Arthur Morrow,
3
* Jose Alberto Lozano Hinojosa, Michael T O'Sullivan and others. 
4
* All rights reserved. This program and the accompanying materials
5
* are made available under the terms of the Eclipse Public License v1.0
6
* which accompanies this distribution, and is available at
7
* http://www.eclipse.org/legal/epl-v10.html
8
*
9
* Contributors:
10
* Mehrdad Biglari, Ramesh Kolavenu, Lorentz Arthur Morrow,
11
* Jose Alberto Lozano Hinojosa, Michael T O'Sullivan 
12
*      - Initial API and implementation
13
*******************************************************************************/
14
15
package org.eclipse.photran.cdtinterface.managebuilder;
16
17
import java.io.BufferedReader;
18
import java.io.InputStreamReader;
19
20
/**
21
 *  This class implements supported compiler and outputs whether given compiler 
22
 *  is supported on the system.
23
 *  @author  Mehrdad Biglari, Ramesh Kolavenu, Lorentz Arthur Morrow,
24
 *           Jose Alberto Lozano Hinojosa, Michael T O'Sullivan 
25
 *         - Managed Build project, Fall CS 427
26
 */
27
28
public class CompilerSupported implements ISupportedCompiler
29
{
30
31
    /**
32
     * @return <code>true</code> if the given compiler is supported on the system
33
     * otherwise returns <code>false</code>
34
     * 
35
     */
36
    @Override
37
    public boolean isSupported(String compilerExecutable, String versionFlag)
38
    {
39
        if(compilerExecutable == null || compilerExecutable == "") //$NON-NLS-1$
40
            throw new IllegalArgumentException("Invalid compilerExecutable argument"); //$NON-NLS-1$
41
        if(versionFlag == null || versionFlag == "") //$NON-NLS-1$
42
            throw new IllegalArgumentException("Invalid versionFlag argument"); //$NON-NLS-1$
43
        
44
        String[] command = new String[] {compilerExecutable, versionFlag};
45
46
        Process runCompilerCommand = null;
47
        boolean compilerSupported = false;
48
        try {
49
            runCompilerCommand = Runtime.getRuntime().exec(command);
50
            new BufferedReader(new InputStreamReader(
51
                runCompilerCommand.getInputStream()));            
52
            compilerSupported = true;
53
        } catch (Exception e) {
54
            System.out.println("Compiler doesn't exist " + e.getMessage()); //$NON-NLS-1$
55
        }
56
        finally{
57
            if(runCompilerCommand != null)
58
                runCompilerCommand.destroy();
59
        }
60
        return compilerSupported;
61
    }
62
}
(-)a/org.eclipse.photran.cdtinterface/src/org/eclipse/photran/cdtinterface/managebuilder/IPlatformOS.java (+24 lines)
Added Link Here
1
/*******************************************************************************
2
* Copyright (c) 2012 Mehrdad Biglari, Ramesh Kolavenu, Lorentz Arthur Morrow,
3
* Jose Alberto Lozano Hinojosa, Michael T O'Sullivan and others. 
4
* All rights reserved. This program and the accompanying materials
5
* are made available under the terms of the Eclipse Public License v1.0
6
* which accompanies this distribution, and is available at
7
* http://www.eclipse.org/legal/epl-v10.html
8
*
9
* Contributors:
10
* Mehrdad Biglari, Ramesh Kolavenu, Lorentz Arthur Morrow,
11
* Jose Alberto Lozano Hinojosa, Michael T O'Sullivan 
12
*      - Initial API and implementation
13
*******************************************************************************/
14
package org.eclipse.photran.cdtinterface.managebuilder;
15
/**
16
 *  Interface to implement supported platform OS.
17
 *  @author Mehrdad Biglari, Ramesh Kolavenu, Lorentz Arthur Morrow,
18
 *          Jose Alberto Lozano Hinojosa, Michael T O'Sullivan 
19
 *        - Managed Build project, Fall CS 427
20
 */
21
public interface IPlatformOS
22
{
23
    String getOS();
24
}
(-)a/org.eclipse.photran.cdtinterface/src/org/eclipse/photran/cdtinterface/managebuilder/ISupportedCompiler.java (+24 lines)
Added Link Here
1
/*******************************************************************************
2
* Copyright (c) 2012 Mehrdad Biglari, Ramesh Kolavenu, Lorentz Arthur Morrow,
3
* Jose Alberto Lozano Hinojosa, Michael T O'Sullivan and others. 
4
* All rights reserved. This program and the accompanying materials
5
* are made available under the terms of the Eclipse Public License v1.0
6
* which accompanies this distribution, and is available at
7
* http://www.eclipse.org/legal/epl-v10.html
8
*
9
* Contributors:
10
* Mehrdad Biglari, Ramesh Kolavenu, Lorentz Arthur Morrow,
11
* Jose Alberto Lozano Hinojosa, Michael T O'Sullivan 
12
*      - Initial API and implementation
13
*******************************************************************************/
14
package org.eclipse.photran.cdtinterface.managebuilder;
15
/**
16
 *  Interface to implement supported compiler.
17
 *  @author Mehrdad Biglari, Ramesh Kolavenu, Lorentz Arthur Morrow,
18
 *          Jose Alberto Lozano Hinojosa, Michael T O'Sullivan
19
 *        - Managed Build project, Fall CS 427
20
 */
21
public interface ISupportedCompiler
22
{
23
    public boolean isSupported(String compilerExecutable, String versionFlag);
24
}
(-)a/org.eclipse.photran.cdtinterface/src/org/eclipse/photran/cdtinterface/managebuilder/PlatformOS.java (+34 lines)
Added Link Here
1
/*******************************************************************************
2
* Copyright (c) 2012 Mehrdad Biglari, Ramesh Kolavenu, Lorentz Arthur Morrow,
3
* Jose Alberto Lozano Hinojosa, Michael T O'Sullivan and others. 
4
* All rights reserved. This program and the accompanying materials
5
* are made available under the terms of the Eclipse Public License v1.0
6
* which accompanies this distribution, and is available at
7
* http://www.eclipse.org/legal/epl-v10.html
8
*
9
* Contributors:
10
* Mehrdad Biglari, Ramesh Kolavenu, Lorentz Arthur Morrow,
11
* Jose Alberto Lozano Hinojosa, Michael T O'Sullivan 
12
*      - Initial API and implementation
13
*******************************************************************************/
14
package org.eclipse.photran.cdtinterface.managebuilder;
15
16
import org.eclipse.core.runtime.Platform;
17
/**
18
 *  This class implements platform OS and outputs Os, used only for unit testing
19
 *  to mock different operating systems.
20
 *  @author Mehrdad Biglari, Ramesh Kolavenu, Lorentz Arthur Morrow,
21
 *          Jose Alberto Lozano Hinojosa, Michael T O'Sullivan 
22
 *        - Managed Build project, Fall CS 427
23
 */
24
25
public class PlatformOS implements IPlatformOS
26
{
27
28
    @Override
29
    public String getOS()
30
    {
31
        return Platform.getOS();
32
    }
33
34
}
(-)a/org.eclipse.photran.cdtinterface/src/org/eclipse/photran/cdtinterface/managebuilder/gnu/IsGnuToolChainSupported.java (+39 lines)
Added Link Here
1
/*******************************************************************************
2
* Copyright (c) 2012 Mehrdad Biglari, Ramesh Kolavenu, Lorentz Arthur Morrow,
3
* Jose Alberto Lozano Hinojosa, Michael T O'Sullivan and others. 
4
* All rights reserved. This program and the accompanying materials
5
* are made available under the terms of the Eclipse Public License v1.0
6
* which accompanies this distribution, and is available at
7
* http://www.eclipse.org/legal/epl-v10.html
8
*
9
* Contributors:
10
* Mehrdad Biglari, Ramesh Kolavenu, Lorentz Arthur Morrow,
11
* Jose Alberto Lozano Hinojosa, Michael T O'Sullivan 
12
*      - Initial API and implementation
13
*******************************************************************************/
14
package org.eclipse.photran.cdtinterface.managebuilder.gnu;
15
16
import org.eclipse.photran.cdtinterface.managebuilder.BaseManageBuilderToolChainSupported;
17
/**
18
 *  This class extends managed tool chain supported and outputs 
19
 *  whether Gnu fortran compiler is supported on the system.
20
 *  @author Mehrdad Biglari, Ramesh Kolavenu, Lorentz Arthur Morrow,
21
 *          Jose Alberto Lozano Hinojosa, Michael T O'Sullivan 
22
 *        - Managed Build project, Fall CS 427
23
 */
24
public class IsGnuToolChainSupported  extends BaseManageBuilderToolChainSupported
25
{
26
    private static final String COMPILER_EXECUTABLE = "gfortran"; //$NON-NLS-1$
27
    private static final String VERSION_FLAG = "-dumpversion"; //$NON-NLS-1$ 
28
    
29
    /**
30
     * @return <code>true</code> if the gnu fortran compiler is supported on the system
31
     * otherwise returns <code>false</code>
32
     * 
33
     */
34
    @Override
35
    protected boolean isCompilerSupported()
36
    {
37
        return isCompilerSupported(COMPILER_EXECUTABLE,VERSION_FLAG);
38
    }
39
}
(-)a/org.eclipse.photran.cdtinterface/src/org/eclipse/photran/cdtinterface/managebuilder/intel/IsIntelToolChainSupported.java (+38 lines)
Added Link Here
1
/*******************************************************************************
2
* Copyright (c) 2012 Mehrdad Biglari, Ramesh Kolavenu, Lorentz Arthur Morrow,
3
* Jose Alberto Lozano Hinojosa, Michael T O'Sullivan and others. 
4
* All rights reserved. This program and the accompanying materials
5
* are made available under the terms of the Eclipse Public License v1.0
6
* which accompanies this distribution, and is available at
7
* http://www.eclipse.org/legal/epl-v10.html
8
*
9
* Contributors:
10
* Mehrdad Biglari, Ramesh Kolavenu, Lorentz Arthur Morrow,
11
* Jose Alberto Lozano Hinojosa, Michael T O'Sullivan 
12
*      - Initial API and implementation
13
*******************************************************************************/
14
package org.eclipse.photran.cdtinterface.managebuilder.intel;
15
16
import org.eclipse.photran.cdtinterface.managebuilder.BaseManageBuilderToolChainSupported;
17
/**
18
 *  This class extends managed tool chain supported and outputs 
19
 *  whether Intel fortran compiler is supported on the system.
20
 *  @author Mehrdad Biglari, Ramesh Kolavenu, Lorentz Arthur Morrow,
21
 *          Jose Alberto Lozano Hinojosa, Michael T O'Sullivan
22
 *        - Managed Build project, Fall CS 427
23
 */
24
public class IsIntelToolChainSupported  extends BaseManageBuilderToolChainSupported
25
{
26
    private static final String COMPILER_EXECUTABLE = "ifort"; //$NON-NLS-1$
27
    private static final String VERSION_FLAG = "-version"; //$NON-NLS-1$ 
28
    /**
29
     * @return <code>true</code> if the intel fortran compiler is supported on the system
30
     * otherwise returns <code>false</code>
31
     * 
32
     */
33
    @Override
34
    protected boolean isCompilerSupported()
35
    {
36
        return isCompilerSupported(COMPILER_EXECUTABLE, VERSION_FLAG);
37
    }
38
}
(-)a/org.eclipse.photran.cdtinterface/src/org/eclipse/photran/cdtinterface/managebuilder/xlf/IsXlfToolChainSupported.java (+39 lines)
Added Link Here
1
/*******************************************************************************
2
* Copyright (c) 2012 Mehrdad Biglari, Ramesh Kolavenu, Lorentz Arthur Morrow,
3
* Jose Alberto Lozano Hinojosa, Michael T O'Sullivan and others. 
4
* All rights reserved. This program and the accompanying materials
5
* are made available under the terms of the Eclipse Public License v1.0
6
* which accompanies this distribution, and is available at
7
* http://www.eclipse.org/legal/epl-v10.html
8
*
9
* Contributors:
10
* Mehrdad Biglari, Ramesh Kolavenu, Lorentz Arthur Morrow,
11
* Jose Alberto Lozano Hinojosa, Michael T O'Sullivan 
12
*      - Initial API and implementation
13
*******************************************************************************/
14
package org.eclipse.photran.cdtinterface.managebuilder.xlf;
15
16
import org.eclipse.photran.cdtinterface.managebuilder.BaseManageBuilderToolChainSupported;
17
/**
18
 *  This class extends managed tool chain supported and outputs 
19
 *  whether Xlf fortran compiler is supported on the system.
20
 *  @author Mehrdad Biglari, Ramesh Kolavenu, Lorentz Arthur Morrow,
21
 *          Jose Alberto Lozano Hinojosa, Michael T O'Sullivan
22
 *        - Managed Build project, Fall CS 427
23
 */
24
public class IsXlfToolChainSupported extends BaseManageBuilderToolChainSupported
25
{
26
    private static final String COMPILER_EXECUTABLE = "xlf"; //$NON-NLS-1$
27
    private static final String VERSION_FLAG = "-qversion"; //$NON-NLS-1$    
28
29
    /**
30
     * @return <code>true</code> if the Xlf fortran compiler is supported on the system
31
     * otherwise returns <code>false</code>
32
     * 
33
     */
34
    @Override
35
    protected boolean isCompilerSupported()
36
    {
37
        return isCompilerSupported(COMPILER_EXECUTABLE, VERSION_FLAG);
38
    }
39
}
(-)a/org.eclipse.photran.core.vpg.tests/.classpath (+1 lines)
Lines 3-7 Link Here
3
	<classpathentry kind="src" path="src"/>
3
	<classpathentry kind="src" path="src"/>
4
	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
4
	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
5
	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
5
	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
6
	<classpathentry combineaccessrules="false" kind="src" path="/org.eclipse.photran.cdtinterface"/>
6
	<classpathentry kind="output" path="bin"/>
7
	<classpathentry kind="output" path="bin"/>
7
</classpath>
8
</classpath>
(-)a/org.eclipse.photran.core.vpg.tests/META-INF/MANIFEST.MF (-1 / +3 lines)
Lines 17-23 Link Here
17
 org.eclipse.rephraserengine.core,
17
 org.eclipse.rephraserengine.core,
18
 org.eclipse.rephraserengine.testing.junit3,
18
 org.eclipse.rephraserengine.testing.junit3,
19
 org.eclipse.rephraserengine.ui,
19
 org.eclipse.rephraserengine.ui,
20
 org.eclipse.photran.core
20
 org.eclipse.photran.core,
21
 org.eclipse.photran.cdtinterface;bundle-version="8.0.0",
22
 org.eclipse.cdt.managedbuilder.core;bundle-version="8.1.0"
21
Bundle-ActivationPolicy: lazy
23
Bundle-ActivationPolicy: lazy
22
Bundle-Activator: org.eclipse.photran.internal.tests.Activator
24
Bundle-Activator: org.eclipse.photran.internal.tests.Activator
23
Export-Package: org.eclipse.photran.internal.tests;x-friends:="org.eclipse.photran.core.vpg.tests.failing,org.eclipse.photran.core.vpg.preprocessor.c.tests",
25
Export-Package: org.eclipse.photran.internal.tests;x-friends:="org.eclipse.photran.core.vpg.tests.failing,org.eclipse.photran.core.vpg.preprocessor.c.tests",
(-)a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/PhotranWorkspaceTestCase.java (-1 / +37 lines)
Lines 25-36 Link Here
25
import java.net.URISyntaxException;
25
import java.net.URISyntaxException;
26
import java.net.URL;
26
import java.net.URL;
27
import java.util.ArrayList;
27
import java.util.ArrayList;
28
import java.util.Arrays;
28
import java.util.HashMap;
29
import java.util.HashMap;
30
import java.util.List;
29
31
30
import org.eclipse.cdt.core.CCorePlugin;
32
import org.eclipse.cdt.core.CCorePlugin;
31
import org.eclipse.cdt.core.dom.IPDOMManager;
33
import org.eclipse.cdt.core.dom.IPDOMManager;
34
import org.eclipse.cdt.core.model.CoreModel;
32
import org.eclipse.cdt.core.model.ICProject;
35
import org.eclipse.cdt.core.model.ICProject;
36
import org.eclipse.cdt.core.settings.model.CIncludePathEntry;
37
import org.eclipse.cdt.core.settings.model.ICConfigurationDescription;
38
import org.eclipse.cdt.core.settings.model.ICFolderDescription;
39
import org.eclipse.cdt.core.settings.model.ICLanguageSetting;
40
import org.eclipse.cdt.core.settings.model.ICLanguageSettingEntry;
41
import org.eclipse.cdt.core.settings.model.ICProjectDescription;
42
import org.eclipse.cdt.core.settings.model.ICSettingEntry;
33
import org.eclipse.core.resources.IFile;
43
import org.eclipse.core.resources.IFile;
44
import org.eclipse.core.resources.IFolder;
34
import org.eclipse.core.resources.IProject;
45
import org.eclipse.core.resources.IProject;
35
import org.eclipse.core.resources.IResource;
46
import org.eclipse.core.resources.IResource;
36
import org.eclipse.core.resources.IWorkspace;
47
import org.eclipse.core.resources.IWorkspace;
Lines 60-65 Link Here
60
 * @author Jeff Overbey - Modified so that every test case creates a new project - Added line/column
71
 * @author Jeff Overbey - Modified so that every test case creates a new project - Added line/column
61
 *         computation when importing files - Added {@link #compileAndRunFortranProgram(String...)}
72
 *         computation when importing files - Added {@link #compileAndRunFortranProgram(String...)}
62
 *         Also added marker infrastructure.
73
 *         Also added marker infrastructure.
74
 * @author Mehrdad Biglari, Ramesh Kolavenu, Lorentz Arthur Morrow,
75
 *         Jose Alberto Lozano Hinojosa, Michael T O'Sullivan - Modified to 
76
 *         create test sub directories to avoid overwriting test file contents
77
 *         when file names are identical in sub directories.        
63
 */
78
 */
64
public abstract class PhotranWorkspaceTestCase extends PhotranTestCase {
79
public abstract class PhotranWorkspaceTestCase extends PhotranTestCase {
65
80
Lines 169-176 Link Here
169
            PhotranVPG.getInstance().clearDatabase();
184
            PhotranVPG.getInstance().clearDatabase();
170
        }
185
        }
171
        project = null;
186
        project = null;
172
	}
187
    }
173
188
189
	// import file with test directory
190
    protected IFile importFile(String testSrcDir, String fileName, String contents) throws Exception
191
    {
192
        if(testSrcDir != null && testSrcDir != "")
193
        {
194
            IFolder folder = project.getProject().getFolder(testSrcDir);
195
            if(!folder.exists())
196
                  folder.create(true, false, monitor);
197
            fileName = "/" + testSrcDir + "/" + fileName;
198
        }        
199
        return importFile(fileName, contents);
200
    }
201
    
174
    protected IFile importFile(String fileName, String contents) throws Exception
202
    protected IFile importFile(String fileName, String contents) throws Exception
175
    {
203
    {
176
		//Obtain file handle
204
		//Obtain file handle
Lines 282-287 Link Here
282
        return result;
310
        return result;
283
    }
311
    }
284
312
313
    protected IFile importFile(Plugin activator, String srcDir, String filename, String testSrcDir) throws Exception
314
    {
315
        //project.getProject().getFile(filename).delete(true, new NullProgressMonitor());
316
        IFile result = importFile(testSrcDir, filename, readTestFile(activator, srcDir, filename));
317
        //project.refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());
318
        return result;
319
    }
320
    
285
    protected String readTestFile(Plugin activator, String srcDir, String filename) throws IOException, URISyntaxException
321
    protected String readTestFile(Plugin activator, String srcDir, String filename) throws IOException, URISyntaxException
286
    {
322
    {
287
        ArrayList<Integer> lineMap = new ArrayList<Integer>(50);
323
        ArrayList<Integer> lineMap = new ArrayList<Integer>(50);
(-)a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/managed/build/IsToolChainSupportedTest.java (+204 lines)
Added Link Here
1
/*******************************************************************************
2
* Copyright (c) 2012 Mehrdad Biglari, Ramesh Kolavenu, Lorentz Arthur Morrow,
3
* Jose Alberto Lozano Hinojosa, Michael T O'Sullivan and others. 
4
* All rights reserved. This program and the accompanying materials
5
* are made available under the terms of the Eclipse Public License v1.0
6
* which accompanies this distribution, and is available at
7
* http://www.eclipse.org/legal/epl-v10.html
8
*
9
* Contributors:
10
* Mehrdad Biglari, Ramesh Kolavenu, Lorentz Arthur Morrow,
11
* Jose Alberto Lozano Hinojosa, Michael T O'Sullivan 
12
*      - Initial API and implementation
13
*******************************************************************************/
14
package org.eclipse.photran.internal.tests.managed.build;
15
16
import org.eclipse.cdt.managedbuilder.core.IToolChain;
17
import org.eclipse.photran.cdtinterface.managebuilder.BaseManageBuilderToolChainSupported;
18
import org.eclipse.photran.cdtinterface.managebuilder.CompilerSupported;
19
import org.eclipse.photran.cdtinterface.managebuilder.gnu.IsGnuToolChainSupported;
20
import org.eclipse.photran.cdtinterface.managebuilder.intel.IsIntelToolChainSupported;
21
import org.eclipse.photran.cdtinterface.managebuilder.xlf.IsXlfToolChainSupported;
22
import org.eclipse.photran.internal.tests.PhotranWorkspaceTestCase;
23
/**
24
 *  Unit test class for testing supported platform OS and compilers for a given 
25
 *  project type and tool chain in new fortran project wizard. Use PhotranVPG 
26
 *  to find dependencies for the given project. 
27
 *  
28
 *  @author Mehrdad Biglari, Ramesh Kolavenu, Lorentz Arthur Morrow,
29
 *          Jose Alberto Lozano Hinojosa, Michael T O'Sullivan
30
 *          (Managed Build project, Fall CS 427)
31
 */
32
33
public class IsToolChainSupportedTest extends PhotranWorkspaceTestCase
34
{
35
    //Test win32 and gnu fortran compiler are supported, other OSes are unsupported.
36
    public void testOsWindowsAndGnuIsSupported() throws Exception
37
    {
38
        BaseManageBuilderToolChainSupported toolChainSupported = new IsGnuToolChainSupported();
39
        osAndAndCompilerIsSupported(toolChainSupported,"win32", new String[] {"solaris", "linux", "hpux", "aix", "qnx", "macosx"}, "gfortran", "-dumpversion");
40
    }
41
    
42
    //Test macosx and gnu fortran compiler are supported, other OSes are unsupported.
43
    public void testOsMacOsXAndGnuIsSupported() throws Exception
44
    {
45
        BaseManageBuilderToolChainSupported toolChainSupported = new IsGnuToolChainSupported();
46
        osAndAndCompilerIsSupported(toolChainSupported,"macosx", new String[] {"solaris", "linux", "hpux", "aix", "qnx", "win32"}, "gfortran", "-dumpversion");
47
    }
48
    
49
    //Test linux and gnu fortran compiler are supported, other OSes are unsupported.
50
    public void testOsLinuxAndGnuIsSupported() throws Exception
51
    {
52
        BaseManageBuilderToolChainSupported toolChainSupported = new IsGnuToolChainSupported();
53
        osAndAndCompilerIsSupported(toolChainSupported, "linux", new String[] {"win32", "macosx"}, "gfortran", "-dumpversion");
54
    }
55
    
56
    //Test win32 and intel fortran compiler are supported, other OSes are unsupported.
57
    public void testOsWindowsAndIntelIsSupported() throws Exception
58
    {
59
        BaseManageBuilderToolChainSupported toolChainSupported = new IsIntelToolChainSupported();
60
        osAndAndCompilerIsSupported(toolChainSupported, "win32", new String[] {"solaris", "linux", "hpux", "aix", "qnx", "macosx"}, "ifort", "-version");
61
    }
62
    
63
    //Test macosx and intel fortran compiler are supported, other OSes are unsupported.
64
    public void testOsMacOsXAndIntelIsSupported() throws Exception
65
    {
66
        BaseManageBuilderToolChainSupported toolChainSupported = new IsIntelToolChainSupported();
67
        osAndAndCompilerIsSupported(toolChainSupported, "macosx", new String[] {"solaris", "linux", "hpux", "aix", "qnx", "win32"}, "ifort", "-version");
68
    }
69
    
70
    //Test linux and intel fortran compiler are supported, other OSes are unsupported.
71
    public void testOsLinuxAndAndIntelIsSupported() throws Exception
72
    {
73
        BaseManageBuilderToolChainSupported toolChainSupported = new IsIntelToolChainSupported();
74
        osAndAndCompilerIsSupported(toolChainSupported, "linux", new String[] {"win32", "macosx"}, "ifort", "-version");
75
    }
76
    
77
    //Test win32 and xlf fortran compiler are supported, other OSes are unsupported.
78
    public void testOsWindowsAndXlfIsSupported() throws Exception
79
    {
80
        BaseManageBuilderToolChainSupported toolChainSupported = new IsXlfToolChainSupported();
81
        osAndAndCompilerIsSupported(toolChainSupported, "win32", new String[] {"solaris", "linux", "hpux", "aix", "qnx", "macosx"}, "xlf", "-qversion");
82
    }
83
    
84
    //Test macosx and xlf fortran compiler are supported, other OSes are unsupported.
85
    public void testOsMacOsXAndXlfIsSupported() throws Exception
86
    {
87
        BaseManageBuilderToolChainSupported toolChainSupported = new IsXlfToolChainSupported();
88
        osAndAndCompilerIsSupported(toolChainSupported,"macosx", new String[] {"solaris", "linux", "hpux", "aix", "qnx", "win32"}, "xlf", "-qversion");
89
    }
90
    
91
    //Test linux and xlf fortran compiler are supported, other OSes are unsupported.
92
    public void testOsLinuxAndAndXlfIsSupported() throws Exception
93
    {
94
        BaseManageBuilderToolChainSupported toolChainSupported = new IsXlfToolChainSupported();
95
        osAndAndCompilerIsSupported(toolChainSupported, "linux", new String[] {"win32", "macosx"}, "xlf", "-qversion");
96
    }
97
    
98
    //Test input validation for empty compiler executable
99
    public void testEmptyCompilerExecutable() throws Exception
100
    {
101
        try
102
        {            
103
            CompilerSupported compilerSupported = new CompilerSupported();
104
            compilerSupported.isSupported("", "-qversion");
105
        }
106
        catch(IllegalArgumentException e)
107
        {
108
            return;
109
        }
110
        fail("testEmptyCompilerExecutable failed to throw exception");
111
    }
112
    
113
    //Test input validation for null compiler executable
114
    public void testNullCompilerExecutable() throws Exception
115
    {
116
        try
117
        {
118
            CompilerSupported compilerSupported = new CompilerSupported();
119
            compilerSupported.isSupported(null, "-qversion");
120
        }
121
        catch(IllegalArgumentException e)
122
        {
123
            return;
124
        }
125
        fail("testNullCompilerExecutable failed to throw exception");
126
    }
127
    
128
    //Test input validation for empty version flag
129
    public void testEmptyCompilerFlag() throws Exception
130
    {
131
        try
132
        {
133
            CompilerSupported compilerSupported = new CompilerSupported();
134
            compilerSupported.isSupported("xlf", "");            
135
        }
136
        catch(IllegalArgumentException e)
137
        {
138
            return;
139
        }
140
        fail("testEmptyCompilerFlag failed to throw exception");
141
    }
142
    
143
    //Test input validation for null version flag
144
    public void testNullCompilerFlag() throws Exception
145
    {
146
        try
147
        {
148
            CompilerSupported compilerSupported = new CompilerSupported();
149
            compilerSupported.isSupported("xlf", null);
150
        }
151
        catch(IllegalArgumentException e)
152
        {
153
            return;
154
        }
155
        fail("testNullCompilerFlag failed to throw exception");
156
    }
157
    
158
    //Test catch block with invalid executable
159
    public void testInvalidCompilerCommand() throws Exception
160
    {
161
        CompilerSupported compilerSupported = new CompilerSupported();
162
        assertFalse(compilerSupported.isSupported("invalidCompiler", "-version"));
163
    }
164
    
165
166
    //Test at least one OS and one fortran compiler is supported
167
    public void testOneOsAndOneCompilerIsSupported() throws Exception
168
    {
169
        boolean hasAtLeastOneToolChainSupport = false;
170
        
171
        IToolChain supportedOs = new MockToolChain();
172
        supportedOs.setOSList(new String[] {"win32","macosx","solaris", "linux", "hpux", "aix", "qnx"});
173
        
174
        BaseManageBuilderToolChainSupported toolChainSupported = new IsGnuToolChainSupported();
175
        
176
        hasAtLeastOneToolChainSupport = toolChainSupported.isSupported(supportedOs, null, null);
177
        
178
        if (!hasAtLeastOneToolChainSupport) {
179
            toolChainSupported = new IsIntelToolChainSupported();
180
            hasAtLeastOneToolChainSupport = toolChainSupported.isSupported(supportedOs, null, null);
181
        }
182
        
183
        if (!hasAtLeastOneToolChainSupport) {
184
            toolChainSupported = new IsXlfToolChainSupported();
185
            hasAtLeastOneToolChainSupport = toolChainSupported.isSupported(supportedOs, null, null);
186
        }
187
        
188
        assertTrue(hasAtLeastOneToolChainSupport);
189
    }
190
    
191
    // Helper function to set mock tool chain and test whether OS and compiler are supported.
192
    private void osAndAndCompilerIsSupported(BaseManageBuilderToolChainSupported toolChainSupported, String supportedOsString, String[] unsupportedOsString, String compiler, String versionFlag)
193
    {
194
        toolChainSupported.setPlatformOs(new MockPlatformOS(supportedOsString));
195
        toolChainSupported.setCompilerSupported(new MockSupportedCompiler(compiler, versionFlag));
196
        IToolChain supportedOs = new MockToolChain();
197
        supportedOs.setOSList(new String[] {supportedOsString});
198
        assertTrue(toolChainSupported.isSupported(supportedOs, null, null));
199
        IToolChain unsupportedOs = new MockToolChain();
200
        unsupportedOs.setOSList(unsupportedOsString);
201
        assertFalse(toolChainSupported.isSupported(unsupportedOs, null, null));
202
    }
203
204
}
(-)a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/managed/build/MockPlatformOS.java (+39 lines)
Added Link Here
1
/*******************************************************************************
2
* Copyright (c) 2012 Mehrdad Biglari, Ramesh Kolavenu, Lorentz Arthur Morrow,
3
* Jose Alberto Lozano Hinojosa, Michael T O'Sullivan and others. 
4
* All rights reserved. This program and the accompanying materials
5
* are made available under the terms of the Eclipse Public License v1.0
6
* which accompanies this distribution, and is available at
7
* http://www.eclipse.org/legal/epl-v10.html
8
*
9
* Contributors:
10
* Mehrdad Biglari, Ramesh Kolavenu, Lorentz Arthur Morrow,
11
* Jose Alberto Lozano Hinojosa, Michael T O'Sullivan 
12
*      - Initial API and implementation
13
*******************************************************************************/
14
package org.eclipse.photran.internal.tests.managed.build;
15
16
import org.eclipse.photran.cdtinterface.managebuilder.IPlatformOS;
17
/**
18
 *  This class implements platform OS supported and outputs mocked OS.
19
 *  
20
 *  @author Mehrdad Biglari, Ramesh Kolavenu, Lorentz Arthur Morrow,
21
 *          Jose Alberto Lozano Hinojosa, Michael T O'Sullivan 
22
 *          (Managed Build project, Fall CS427)
23
 */
24
public class MockPlatformOS implements IPlatformOS
25
{
26
    private String os;
27
28
    public MockPlatformOS(String os)
29
    {
30
        this.os = os;
31
    }
32
   
33
    @Override
34
    public String getOS()
35
    {
36
        return os;
37
    }
38
39
}
(-)a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/managed/build/MockSupportedCompiler.java (+40 lines)
Added Link Here
1
/*******************************************************************************
2
* Copyright (c) 2012 Mehrdad Biglari, Ramesh Kolavenu, Lorentz Arthur Morrow,
3
* Jose Alberto Lozano Hinojosa, Michael T O'Sullivan and others. 
4
* All rights reserved. This program and the accompanying materials
5
* are made available under the terms of the Eclipse Public License v1.0
6
* which accompanies this distribution, and is available at
7
* http://www.eclipse.org/legal/epl-v10.html
8
*
9
* Contributors:
10
* Mehrdad Biglari, Ramesh Kolavenu, Lorentz Arthur Morrow,
11
* Jose Alberto Lozano Hinojosa, Michael T O'Sullivan 
12
*      - Initial API and implementation
13
*******************************************************************************/
14
package org.eclipse.photran.internal.tests.managed.build;
15
16
import org.eclipse.photran.cdtinterface.managebuilder.ISupportedCompiler;
17
18
/**
19
 *  This class implements supported compiler and outputs result
20
 *  based on mocked compiler executable and version flag.
21
 *  
22
 *  @author Mehrdad Biglari, Ramesh Kolavenu, Lorentz Arthur Morrow,
23
 *          Jose Alberto Lozano Hinojosa, Michael T O'Sullivan 
24
 *          (Managed Build project, Fall CS427)
25
 */
26
public class MockSupportedCompiler implements ISupportedCompiler 
27
{
28
    private String compilerExecutable;
29
    private String versionFlag;
30
    public MockSupportedCompiler(String compilerExecutable, String versionFlag){
31
       this.compilerExecutable = compilerExecutable;
32
       this.versionFlag = versionFlag;     
33
    }
34
35
    @Override
36
    public boolean isSupported(String compilerExecutable, String versionFlag)
37
    {
38
        return this.compilerExecutable.equals(compilerExecutable) && this.versionFlag.equals(versionFlag);
39
    }
40
}
(-)a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/managed/build/MockToolChain.java (+716 lines)
Added Link Here
1
/*******************************************************************************
2
* Copyright (c) 2012 Mehrdad Biglari, Ramesh Kolavenu, Lorentz Arthur Morrow,
3
* Jose Alberto Lozano Hinojosa, Michael T O'Sullivan and others. 
4
* All rights reserved. This program and the accompanying materials
5
* are made available under the terms of the Eclipse Public License v1.0
6
* which accompanies this distribution, and is available at
7
* http://www.eclipse.org/legal/epl-v10.html
8
*
9
* Contributors:
10
* Mehrdad Biglari, Ramesh Kolavenu, Lorentz Arthur Morrow,
11
* Jose Alberto Lozano Hinojosa, Michael T O'Sullivan 
12
*      - Initial API and implementation
13
*******************************************************************************/
14
package org.eclipse.photran.internal.tests.managed.build;
15
16
import org.eclipse.cdt.core.settings.model.extension.CTargetPlatformData;
17
import org.eclipse.cdt.managedbuilder.core.BuildException;
18
import org.eclipse.cdt.managedbuilder.core.IBuilder;
19
import org.eclipse.cdt.managedbuilder.core.IConfiguration;
20
import org.eclipse.cdt.managedbuilder.core.IFolderInfo;
21
import org.eclipse.cdt.managedbuilder.core.IHoldsOptions;
22
import org.eclipse.cdt.managedbuilder.core.IOption;
23
import org.eclipse.cdt.managedbuilder.core.IOptionCategory;
24
import org.eclipse.cdt.managedbuilder.core.IOptionPathConverter;
25
import org.eclipse.cdt.managedbuilder.core.IOutputType;
26
import org.eclipse.cdt.managedbuilder.core.ITargetPlatform;
27
import org.eclipse.cdt.managedbuilder.core.ITool;
28
import org.eclipse.cdt.managedbuilder.core.IToolChain;
29
import org.eclipse.cdt.managedbuilder.envvar.IConfigurationEnvironmentVariableSupplier;
30
import org.eclipse.cdt.managedbuilder.macros.IConfigurationBuildMacroSupplier;
31
import org.osgi.framework.Version;
32
/**
33
 *  This class implements tool chain and outputs mocked tool chain.
34
 *  @author Mehrdad Biglari, Ramesh Kolavenu, Lorentz Arthur Morrow,
35
 *          Jose Alberto Lozano Hinojosa, Michael T O'Sullivan 
36
 *          (Managed Build project, Fall CS427)
37
 */
38
39
public class MockToolChain implements IToolChain
40
{
41
42
    /* (non-Javadoc)
43
     * @see org.eclipse.cdt.managedbuilder.core.IBuildObject#getId()
44
     */
45
    @Override
46
    public String getId()
47
    {
48
        // TODO Auto-generated method stub
49
        return null;
50
    }
51
52
    /* (non-Javadoc)
53
     * @see org.eclipse.cdt.managedbuilder.core.IBuildObject#getName()
54
     */
55
    @Override
56
    public String getName()
57
    {
58
        // TODO Auto-generated method stub
59
        return null;
60
    }
61
62
    /* (non-Javadoc)
63
     * @see org.eclipse.cdt.managedbuilder.core.IBuildObject#getBaseId()
64
     */
65
    @Override
66
    public String getBaseId()
67
    {
68
        // TODO Auto-generated method stub
69
        return null;
70
    }
71
72
    /* (non-Javadoc)
73
     * @see org.eclipse.cdt.managedbuilder.core.IBuildObject#getVersion()
74
     */
75
    @Override
76
    public Version getVersion()
77
    {
78
        // TODO Auto-generated method stub
79
        return null;
80
    }
81
82
    /* (non-Javadoc)
83
     * @see org.eclipse.cdt.managedbuilder.core.IBuildObject#setVersion(org.osgi.framework.Version)
84
     */
85
    @Override
86
    public void setVersion(Version version)
87
    {
88
        // TODO Auto-generated method stub
89
90
    }
91
92
    /* (non-Javadoc)
93
     * @see org.eclipse.cdt.managedbuilder.core.IBuildObject#getManagedBuildRevision()
94
     */
95
    @Override
96
    public String getManagedBuildRevision()
97
    {
98
        // TODO Auto-generated method stub
99
        return null;
100
    }
101
102
    /* (non-Javadoc)
103
     * @see org.eclipse.cdt.managedbuilder.core.IHoldsOptions#createOption(org.eclipse.cdt.managedbuilder.core.IOption, java.lang.String, java.lang.String, boolean)
104
     */
105
    @Override
106
    public IOption createOption(IOption superClass, String Id, String name,
107
        boolean isExtensionElement)
108
    {
109
        // TODO Auto-generated method stub
110
        return null;
111
    }
112
113
    /* (non-Javadoc)
114
     * @see org.eclipse.cdt.managedbuilder.core.IHoldsOptions#removeOption(org.eclipse.cdt.managedbuilder.core.IOption)
115
     */
116
    @Override
117
    public void removeOption(IOption option)
118
    {
119
        // TODO Auto-generated method stub
120
121
    }
122
123
    /* (non-Javadoc)
124
     * @see org.eclipse.cdt.managedbuilder.core.IHoldsOptions#getOption(java.lang.String)
125
     */
126
    @Override
127
    @Deprecated
128
    public IOption getOption(String id)
129
    {
130
        // TODO Auto-generated method stub
131
        return null;
132
    }
133
134
    /* (non-Javadoc)
135
     * @see org.eclipse.cdt.managedbuilder.core.IHoldsOptions#getOptionById(java.lang.String)
136
     */
137
    @Override
138
    public IOption getOptionById(String id)
139
    {
140
        // TODO Auto-generated method stub
141
        return null;
142
    }
143
144
    /* (non-Javadoc)
145
     * @see org.eclipse.cdt.managedbuilder.core.IHoldsOptions#getOptionBySuperClassId(java.lang.String)
146
     */
147
    @Override
148
    public IOption getOptionBySuperClassId(String id)
149
    {
150
        // TODO Auto-generated method stub
151
        return null;
152
    }
153
154
    /* (non-Javadoc)
155
     * @see org.eclipse.cdt.managedbuilder.core.IHoldsOptions#getOptions()
156
     */
157
    @Override
158
    public IOption[] getOptions()
159
    {
160
        // TODO Auto-generated method stub
161
        return null;
162
    }
163
164
    /* (non-Javadoc)
165
     * @see org.eclipse.cdt.managedbuilder.core.IHoldsOptions#getChildCategories()
166
     */
167
    @Override
168
    public IOptionCategory[] getChildCategories()
169
    {
170
        // TODO Auto-generated method stub
171
        return null;
172
    }
173
174
    /* (non-Javadoc)
175
     * @see org.eclipse.cdt.managedbuilder.core.IHoldsOptions#addOptionCategory(org.eclipse.cdt.managedbuilder.core.IOptionCategory)
176
     */
177
    @Override
178
    public void addOptionCategory(IOptionCategory category)
179
    {
180
        // TODO Auto-generated method stub
181
182
    }
183
184
    /* (non-Javadoc)
185
     * @see org.eclipse.cdt.managedbuilder.core.IHoldsOptions#getOptionCategory(java.lang.String)
186
     */
187
    @Override
188
    public IOptionCategory getOptionCategory(String id)
189
    {
190
        // TODO Auto-generated method stub
191
        return null;
192
    }
193
194
    /* (non-Javadoc)
195
     * @see org.eclipse.cdt.managedbuilder.core.IHoldsOptions#createOptions(org.eclipse.cdt.managedbuilder.core.IHoldsOptions)
196
     */
197
    @Override
198
    public void createOptions(IHoldsOptions superClass)
199
    {
200
        // TODO Auto-generated method stub
201
202
    }
203
204
    /* (non-Javadoc)
205
     * @see org.eclipse.cdt.managedbuilder.core.IHoldsOptions#getOptionToSet(org.eclipse.cdt.managedbuilder.core.IOption, boolean)
206
     */
207
    @Override
208
    public IOption getOptionToSet(IOption option, boolean adjustExtension) throws BuildException
209
    {
210
        // TODO Auto-generated method stub
211
        return null;
212
    }
213
214
    /* (non-Javadoc)
215
     * @see org.eclipse.cdt.managedbuilder.core.IHoldsOptions#needsRebuild()
216
     */
217
    @Override
218
    public boolean needsRebuild()
219
    {
220
        // TODO Auto-generated method stub
221
        return false;
222
    }
223
224
    /* (non-Javadoc)
225
     * @see org.eclipse.cdt.managedbuilder.core.IHoldsOptions#setRebuildState(boolean)
226
     */
227
    @Override
228
    public void setRebuildState(boolean rebuild)
229
    {
230
        // TODO Auto-generated method stub
231
232
    }
233
234
    /* (non-Javadoc)
235
     * @see org.eclipse.cdt.managedbuilder.core.IToolChain#getParent()
236
     */
237
    @Override
238
    public IConfiguration getParent()
239
    {
240
        // TODO Auto-generated method stub
241
        return null;
242
    }
243
244
    /* (non-Javadoc)
245
     * @see org.eclipse.cdt.managedbuilder.core.IToolChain#createTargetPlatform(org.eclipse.cdt.managedbuilder.core.ITargetPlatform, java.lang.String, java.lang.String, boolean)
246
     */
247
    @Override
248
    public ITargetPlatform createTargetPlatform(ITargetPlatform superClass, String Id, String name,
249
        boolean isExtensionElement)
250
    {
251
        // TODO Auto-generated method stub
252
        return null;
253
    }
254
255
    /* (non-Javadoc)
256
     * @see org.eclipse.cdt.managedbuilder.core.IToolChain#getTargetPlatform()
257
     */
258
    @Override
259
    public ITargetPlatform getTargetPlatform()
260
    {
261
        // TODO Auto-generated method stub
262
        return null;
263
    }
264
265
    /* (non-Javadoc)
266
     * @see org.eclipse.cdt.managedbuilder.core.IToolChain#removeLocalTargetPlatform()
267
     */
268
    @Override
269
    public void removeLocalTargetPlatform()
270
    {
271
        // TODO Auto-generated method stub
272
273
    }
274
275
    /* (non-Javadoc)
276
     * @see org.eclipse.cdt.managedbuilder.core.IToolChain#getVersionsSupported()
277
     */
278
    @Override
279
    public String getVersionsSupported()
280
    {
281
        // TODO Auto-generated method stub
282
        return null;
283
    }
284
285
    /* (non-Javadoc)
286
     * @see org.eclipse.cdt.managedbuilder.core.IToolChain#getConvertToId()
287
     */
288
    @Override
289
    public String getConvertToId()
290
    {
291
        // TODO Auto-generated method stub
292
        return null;
293
    }
294
295
    /* (non-Javadoc)
296
     * @see org.eclipse.cdt.managedbuilder.core.IToolChain#setVersionsSupported(java.lang.String)
297
     */
298
    @Override
299
    public void setVersionsSupported(String versionsSupported)
300
    {
301
        // TODO Auto-generated method stub
302
303
    }
304
305
    /* (non-Javadoc)
306
     * @see org.eclipse.cdt.managedbuilder.core.IToolChain#setConvertToId(java.lang.String)
307
     */
308
    @Override
309
    public void setConvertToId(String convertToId)
310
    {
311
        // TODO Auto-generated method stub
312
313
    }
314
315
    /* (non-Javadoc)
316
     * @see org.eclipse.cdt.managedbuilder.core.IToolChain#createBuilder(org.eclipse.cdt.managedbuilder.core.IBuilder, java.lang.String, java.lang.String, boolean)
317
     */
318
    @Override
319
    public IBuilder createBuilder(IBuilder superClass, String Id, String name,
320
        boolean isExtensionElement)
321
    {
322
        // TODO Auto-generated method stub
323
        return null;
324
    }
325
326
    /* (non-Javadoc)
327
     * @see org.eclipse.cdt.managedbuilder.core.IToolChain#removeLocalBuilder()
328
     */
329
    @Override
330
    public void removeLocalBuilder()
331
    {
332
        // TODO Auto-generated method stub
333
334
    }
335
336
    /* (non-Javadoc)
337
     * @see org.eclipse.cdt.managedbuilder.core.IToolChain#getBuilder()
338
     */
339
    @Override
340
    public IBuilder getBuilder()
341
    {
342
        // TODO Auto-generated method stub
343
        return null;
344
    }
345
346
    /* (non-Javadoc)
347
     * @see org.eclipse.cdt.managedbuilder.core.IToolChain#createTool(org.eclipse.cdt.managedbuilder.core.ITool, java.lang.String, java.lang.String, boolean)
348
     */
349
    @Override
350
    public ITool createTool(ITool superClass, String Id, String name, boolean isExtensionElement)
351
    {
352
        // TODO Auto-generated method stub
353
        return null;
354
    }
355
356
    /* (non-Javadoc)
357
     * @see org.eclipse.cdt.managedbuilder.core.IToolChain#getTools()
358
     */
359
    @Override
360
    public ITool[] getTools()
361
    {
362
        // TODO Auto-generated method stub
363
        return null;
364
    }
365
366
    /* (non-Javadoc)
367
     * @see org.eclipse.cdt.managedbuilder.core.IToolChain#getTool(java.lang.String)
368
     */
369
    @Override
370
    public ITool getTool(String id)
371
    {
372
        // TODO Auto-generated method stub
373
        return null;
374
    }
375
376
    /* (non-Javadoc)
377
     * @see org.eclipse.cdt.managedbuilder.core.IToolChain#getToolsBySuperClassId(java.lang.String)
378
     */
379
    @Override
380
    public ITool[] getToolsBySuperClassId(String id)
381
    {
382
        // TODO Auto-generated method stub
383
        return null;
384
    }
385
386
    /* (non-Javadoc)
387
     * @see org.eclipse.cdt.managedbuilder.core.IToolChain#getSuperClass()
388
     */
389
    @Override
390
    public IToolChain getSuperClass()
391
    {
392
        // TODO Auto-generated method stub
393
        return null;
394
    }
395
396
    /* (non-Javadoc)
397
     * @see org.eclipse.cdt.managedbuilder.core.IToolChain#isAbstract()
398
     */
399
    @Override
400
    public boolean isAbstract()
401
    {
402
        // TODO Auto-generated method stub
403
        return false;
404
    }
405
406
    /* (non-Javadoc)
407
     * @see org.eclipse.cdt.managedbuilder.core.IToolChain#setIsAbstract(boolean)
408
     */
409
    @Override
410
    public void setIsAbstract(boolean b)
411
    {
412
        // TODO Auto-generated method stub
413
414
    }
415
416
    /* (non-Javadoc)
417
     * @see org.eclipse.cdt.managedbuilder.core.IToolChain#getUnusedChildren()
418
     */
419
    @Override
420
    public String getUnusedChildren()
421
    {
422
        // TODO Auto-generated method stub
423
        return null;
424
    }
425
426
    private String[] osList; 
427
    
428
    /* (non-Javadoc)
429
     * @see org.eclipse.cdt.managedbuilder.core.IToolChain#getOSList()
430
     */
431
    @Override
432
    public String[] getOSList()
433
    {
434
        return osList;
435
    }
436
437
    /* (non-Javadoc)
438
     * @see org.eclipse.cdt.managedbuilder.core.IToolChain#setOSList(java.lang.String[])
439
     */
440
    @Override
441
    public void setOSList(String[] OSs)
442
    {
443
        osList = OSs;
444
    }
445
446
    /* (non-Javadoc)
447
     * @see org.eclipse.cdt.managedbuilder.core.IToolChain#getArchList()
448
     */
449
    @Override
450
    public String[] getArchList()
451
    {
452
        // TODO Auto-generated method stub
453
        return null;
454
    }
455
456
    /* (non-Javadoc)
457
     * @see org.eclipse.cdt.managedbuilder.core.IToolChain#setArchList(java.lang.String[])
458
     */
459
    @Override
460
    public void setArchList(String[] archs)
461
    {
462
        // TODO Auto-generated method stub
463
464
    }
465
466
    /* (non-Javadoc)
467
     * @see org.eclipse.cdt.managedbuilder.core.IToolChain#getErrorParserIds()
468
     */
469
    @Override
470
    public String getErrorParserIds()
471
    {
472
        // TODO Auto-generated method stub
473
        return null;
474
    }
475
476
    /* (non-Javadoc)
477
     * @see org.eclipse.cdt.managedbuilder.core.IToolChain#getErrorParserIds(org.eclipse.cdt.managedbuilder.core.IConfiguration)
478
     */
479
    @Override
480
    public String getErrorParserIds(IConfiguration config)
481
    {
482
        // TODO Auto-generated method stub
483
        return null;
484
    }
485
486
    /* (non-Javadoc)
487
     * @see org.eclipse.cdt.managedbuilder.core.IToolChain#getErrorParserList()
488
     */
489
    @Override
490
    public String[] getErrorParserList()
491
    {
492
        // TODO Auto-generated method stub
493
        return null;
494
    }
495
496
    /* (non-Javadoc)
497
     * @see org.eclipse.cdt.managedbuilder.core.IToolChain#setErrorParserIds(java.lang.String)
498
     */
499
    @Override
500
    public void setErrorParserIds(String ids)
501
    {
502
        // TODO Auto-generated method stub
503
504
    }
505
506
    /* (non-Javadoc)
507
     * @see org.eclipse.cdt.managedbuilder.core.IToolChain#getDefaultLanguageSettingsProviderIds()
508
     */
509
    @Override
510
    public String getDefaultLanguageSettingsProviderIds()
511
    {
512
        // TODO Auto-generated method stub
513
        return null;
514
    }
515
516
    /* (non-Javadoc)
517
     * @see org.eclipse.cdt.managedbuilder.core.IToolChain#getScannerConfigDiscoveryProfileId()
518
     */
519
    @Override
520
    public String getScannerConfigDiscoveryProfileId()
521
    {
522
        // TODO Auto-generated method stub
523
        return null;
524
    }
525
526
    /* (non-Javadoc)
527
     * @see org.eclipse.cdt.managedbuilder.core.IToolChain#setScannerConfigDiscoveryProfileId(java.lang.String)
528
     */
529
    @Override
530
    public void setScannerConfigDiscoveryProfileId(String profileId)
531
    {
532
        // TODO Auto-generated method stub
533
534
    }
535
536
    /* (non-Javadoc)
537
     * @see org.eclipse.cdt.managedbuilder.core.IToolChain#getTargetToolIds()
538
     */
539
    @Override
540
    public String getTargetToolIds()
541
    {
542
        // TODO Auto-generated method stub
543
        return null;
544
    }
545
546
    /* (non-Javadoc)
547
     * @see org.eclipse.cdt.managedbuilder.core.IToolChain#setTargetToolIds(java.lang.String)
548
     */
549
    @Override
550
    public void setTargetToolIds(String targetToolIds)
551
    {
552
        // TODO Auto-generated method stub
553
554
    }
555
556
    /* (non-Javadoc)
557
     * @see org.eclipse.cdt.managedbuilder.core.IToolChain#getTargetToolList()
558
     */
559
    @Override
560
    public String[] getTargetToolList()
561
    {
562
        // TODO Auto-generated method stub
563
        return null;
564
    }
565
566
    /* (non-Javadoc)
567
     * @see org.eclipse.cdt.managedbuilder.core.IToolChain#getSecondaryOutputs()
568
     */
569
    @Override
570
    public IOutputType[] getSecondaryOutputs()
571
    {
572
        // TODO Auto-generated method stub
573
        return null;
574
    }
575
576
    /* (non-Javadoc)
577
     * @see org.eclipse.cdt.managedbuilder.core.IToolChain#setSecondaryOutputs(java.lang.String)
578
     */
579
    @Override
580
    public void setSecondaryOutputs(String ids)
581
    {
582
        // TODO Auto-generated method stub
583
584
    }
585
586
    /* (non-Javadoc)
587
     * @see org.eclipse.cdt.managedbuilder.core.IToolChain#isDirty()
588
     */
589
    @Override
590
    public boolean isDirty()
591
    {
592
        // TODO Auto-generated method stub
593
        return false;
594
    }
595
596
    /* (non-Javadoc)
597
     * @see org.eclipse.cdt.managedbuilder.core.IToolChain#setDirty(boolean)
598
     */
599
    @Override
600
    public void setDirty(boolean isDirty)
601
    {
602
        // TODO Auto-generated method stub
603
604
    }
605
606
    /* (non-Javadoc)
607
     * @see org.eclipse.cdt.managedbuilder.core.IToolChain#isExtensionElement()
608
     */
609
    @Override
610
    public boolean isExtensionElement()
611
    {
612
        // TODO Auto-generated method stub
613
        return false;
614
    }
615
616
    /* (non-Javadoc)
617
     * @see org.eclipse.cdt.managedbuilder.core.IToolChain#isSupported()
618
     */
619
    @Override
620
    public boolean isSupported()
621
    {
622
        // TODO Auto-generated method stub
623
        return false;
624
    }
625
626
    /* (non-Javadoc)
627
     * @see org.eclipse.cdt.managedbuilder.core.IToolChain#getEnvironmentVariableSupplier()
628
     */
629
    @Override
630
    public IConfigurationEnvironmentVariableSupplier getEnvironmentVariableSupplier()
631
    {
632
        // TODO Auto-generated method stub
633
        return null;
634
    }
635
636
    /* (non-Javadoc)
637
     * @see org.eclipse.cdt.managedbuilder.core.IToolChain#getBuildMacroSupplier()
638
     */
639
    @Override
640
    public IConfigurationBuildMacroSupplier getBuildMacroSupplier()
641
    {
642
        // TODO Auto-generated method stub
643
        return null;
644
    }
645
646
    /* (non-Javadoc)
647
     * @see org.eclipse.cdt.managedbuilder.core.IToolChain#getOptionPathConverter()
648
     */
649
    @Override
650
    public IOptionPathConverter getOptionPathConverter()
651
    {
652
        // TODO Auto-generated method stub
653
        return null;
654
    }
655
656
    /* (non-Javadoc)
657
     * @see org.eclipse.cdt.managedbuilder.core.IToolChain#getParentFolderInfo()
658
     */
659
    @Override
660
    public IFolderInfo getParentFolderInfo()
661
    {
662
        // TODO Auto-generated method stub
663
        return null;
664
    }
665
666
    /* (non-Javadoc)
667
     * @see org.eclipse.cdt.managedbuilder.core.IToolChain#getTargetPlatformData()
668
     */
669
    @Override
670
    public CTargetPlatformData getTargetPlatformData()
671
    {
672
        // TODO Auto-generated method stub
673
        return null;
674
    }
675
676
    /* (non-Javadoc)
677
     * @see org.eclipse.cdt.managedbuilder.core.IToolChain#supportsBuild(boolean)
678
     */
679
    @Override
680
    public boolean supportsBuild(boolean managed)
681
    {
682
        // TODO Auto-generated method stub
683
        return false;
684
    }
685
686
    /* (non-Javadoc)
687
     * @see org.eclipse.cdt.managedbuilder.core.IToolChain#isSystemObject()
688
     */
689
    @Override
690
    public boolean isSystemObject()
691
    {
692
        // TODO Auto-generated method stub
693
        return false;
694
    }
695
696
    /* (non-Javadoc)
697
     * @see org.eclipse.cdt.managedbuilder.core.IToolChain#matches(org.eclipse.cdt.managedbuilder.core.IToolChain)
698
     */
699
    @Override
700
    public boolean matches(IToolChain tc)
701
    {
702
        // TODO Auto-generated method stub
703
        return false;
704
    }
705
706
    /* (non-Javadoc)
707
     * @see org.eclipse.cdt.managedbuilder.core.IToolChain#getUniqueRealName()
708
     */
709
    @Override
710
    public String getUniqueRealName()
711
    {
712
        // TODO Auto-generated method stub
713
        return null;
714
    }
715
716
}
(-)a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/managed/build/ModuleNameDifferentTest.java (+142 lines)
Added Link Here
1
/*******************************************************************************
2
* Copyright (c) 2012 Mehrdad Biglari, Ramesh Kolavenu, Lorentz Arthur Morrow,
3
* Jose Alberto Lozano Hinojosa, Michael T O'Sullivan and others. 
4
* All rights reserved. This program and the accompanying materials
5
* are made available under the terms of the Eclipse Public License v1.0
6
* which accompanies this distribution, and is available at
7
* http://www.eclipse.org/legal/epl-v10.html
8
*
9
* Contributors:
10
* Mehrdad Biglari, Ramesh Kolavenu, Lorentz Arthur Morrow,
11
* Jose Alberto Lozano Hinojosa, Michael T O'Sullivan 
12
*      - Initial API and implementation
13
*******************************************************************************/
14
package org.eclipse.photran.internal.tests.managed.build;
15
16
import org.eclipse.core.resources.IFile;
17
import org.eclipse.core.resources.IResource;
18
import org.eclipse.core.runtime.NullProgressMonitor;
19
import org.eclipse.photran.cdtinterface.makegen.DefaultFortranDependencyCalculator;
20
import org.eclipse.photran.internal.core.properties.SearchPathProperties;
21
import org.eclipse.photran.internal.core.vpg.PhotranVPG;
22
import org.eclipse.photran.internal.tests.Activator;
23
import org.eclipse.photran.internal.tests.PhotranWorkspaceTestCase;
24
/**
25
 *  Unit test class for testing module name dependency on file name using 
26
 *  PhotranVPG.
27
 *  
28
 *  @author Mehrdad Biglari, Ramesh Kolavenu, Lorentz Arthur Morrow,
29
 *          Jose Alberto Lozano Hinojosa, Michael T O'Sullivan 
30
 *          (Managed Build project, Fall CS427)
31
 */
32
33
public class ModuleNameDifferentTest extends PhotranWorkspaceTestCase
34
{
35
    private static final String DIR = "vpg-test-code/managed-build/module-name-different/";
36
    
37
    // Test module name matches file name
38
    public void testModuleMatchFile() throws Exception
39
    {
40
        String DIR_test = DIR + "test1";
41
        IResource[] resources = new IResource[1];
42
        IFile module1 = importFile(Activator.getDefault(), DIR_test, "module1.f90");
43
        PhotranVPG.getInstance().ensureVPGIsUpToDate(new NullProgressMonitor());
44
        resources[0] = module1;
45
46
        DefaultFortranDependencyCalculator calculator = new DefaultFortranDependencyCalculator();
47
        String fileName = calculator.getFileNameContainingModule(resources, "module1");
48
        assertEquals("module1", fileName);
49
    }
50
51
    // Test module name does not match file name
52
    public void testModuleNotMatchFile() throws Exception
53
    {        
54
        String DIR_test = DIR + "test2";
55
        IResource[] resources = new IResource[1];
56
        IFile module1 = importFile(Activator.getDefault(), DIR_test, "modules.f90");
57
        PhotranVPG.getInstance().ensureVPGIsUpToDate(new NullProgressMonitor());
58
        resources[0] = module1;
59
60
        DefaultFortranDependencyCalculator calculator = new DefaultFortranDependencyCalculator();
61
        String fileName = calculator.getFileNameContainingModule(resources, "module1");
62
        assertEquals("modules", fileName);
63
     }
64
65
    // Test module name does not exist in the file 
66
    public void testNonexistentModuleName() throws Exception
67
    {        
68
        String DIR_test = DIR + "test3";
69
        IResource[] resources = new IResource[1];
70
        IFile module1 = importFile(Activator.getDefault(), DIR_test, "modules.f90");
71
        PhotranVPG.getInstance().ensureVPGIsUpToDate(new NullProgressMonitor());
72
        resources[0] = module1;
73
74
        DefaultFortranDependencyCalculator calculator = new DefaultFortranDependencyCalculator();
75
        String fileName = calculator.getFileNameContainingModule(resources, "nonexistentModule");
76
        assertNull(fileName);
77
     }
78
    
79
    // Test empty module name
80
    public void testEmptyModuleName() throws Exception
81
    {        
82
        String DIR_test = DIR + "test3";
83
        IResource[] resources = new IResource[1];
84
        IFile module1 = importFile(Activator.getDefault(), DIR_test, "modules.f90");
85
        PhotranVPG.getInstance().ensureVPGIsUpToDate(new NullProgressMonitor());
86
        resources[0] = module1;
87
88
        DefaultFortranDependencyCalculator calculator = new DefaultFortranDependencyCalculator();
89
        String fileName = calculator.getFileNameContainingModule(resources, "");
90
        assertNull(fileName);
91
     }
92
    
93
    // Test null module name
94
    public void testNullModuleName() throws Exception
95
    {        
96
        String DIR_test = DIR + "test3";
97
        IResource[] resources = new IResource[1];
98
        IFile module1 = importFile(Activator.getDefault(), DIR_test, "modules.f90");
99
        PhotranVPG.getInstance().ensureVPGIsUpToDate(new NullProgressMonitor());
100
        resources[0] = module1;
101
102
        DefaultFortranDependencyCalculator calculator = new DefaultFortranDependencyCalculator();
103
        String fileName = calculator.getFileNameContainingModule(resources, null);
104
        assertNull(fileName);
105
     }
106
    
107
    // Test empty resources 
108
    public void testEmptyResources() throws Exception
109
    {        
110
        IResource[] resources = new IResource[0];
111
        DefaultFortranDependencyCalculator calculator = new DefaultFortranDependencyCalculator();
112
        String fileName = calculator.getFileNameContainingModule(resources, "module1");
113
        assertNull(fileName);
114
     }
115
    
116
    // Test null resources
117
    public void testNullResources() throws Exception
118
    {        
119
        IResource[] resources = null;
120
        DefaultFortranDependencyCalculator calculator = new DefaultFortranDependencyCalculator();
121
        String fileName = calculator.getFileNameContainingModule(resources, "module1");
122
        assertNull(fileName);
123
    }
124
125
    // Test set analysis/refactoring enable
126
    public void testSetPropertyEnableVpg() throws Exception
127
    {   
128
        // initial setting is false
129
        String vpgDisableProperty = new SearchPathProperties().getProperty(project, SearchPathProperties.ENABLE_VPG_PROPERTY_NAME);
130
        assertFalse(vpgDisableProperty.equals("false"));
131
        
132
        // set it to true
133
        PhotranVPG.getInstance().setPropertyEnableVpg(project, true);
134
        String vpgEnabledProperty = new SearchPathProperties().getProperty(project, SearchPathProperties.ENABLE_VPG_PROPERTY_NAME);
135
        assertTrue(vpgEnabledProperty.equals("true"));
136
        
137
        // set it back to false
138
        PhotranVPG.getInstance().setPropertyEnableVpg(project, false);
139
        vpgDisableProperty  = new SearchPathProperties().getProperty(project, SearchPathProperties.ENABLE_VPG_PROPERTY_NAME);
140
        assertTrue(vpgDisableProperty.equals("false"));
141
    }
142
}
(-)a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/tests/managed/build/MulitpleModuleInFileTest.java (+114 lines)
Added Link Here
1
/*******************************************************************************
2
* Copyright (c) 2012 Mehrdad Biglari, Ramesh Kolavenu, Lorentz Arthur Morrow,
3
* Jose Alberto Lozano Hinojosa, Michael T O'Sullivan and others. 
4
* All rights reserved. This program and the accompanying materials
5
* are made available under the terms of the Eclipse Public License v1.0
6
* which accompanies this distribution, and is available at
7
* http://www.eclipse.org/legal/epl-v10.html
8
*
9
* Contributors:
10
* Mehrdad Biglari, Ramesh Kolavenu, Lorentz Arthur Morrow,
11
* Jose Alberto Lozano Hinojosa, Michael T O'Sullivan 
12
*      - Initial API and implementation
13
*******************************************************************************/
14
15
package org.eclipse.photran.internal.tests.managed.build;
16
17
import org.eclipse.core.resources.IFile;
18
import org.eclipse.core.resources.IResource;
19
import org.eclipse.core.runtime.NullProgressMonitor;
20
import org.eclipse.photran.cdtinterface.makegen.DefaultFortranDependencyCalculator;
21
import org.eclipse.photran.internal.core.vpg.PhotranVPG;
22
import org.eclipse.photran.internal.tests.Activator;
23
import org.eclipse.photran.internal.tests.PhotranWorkspaceTestCase;
24
/**
25
 *  Unit test class for testing multiple modules and files using PhotranVPG.
26
 *  
27
 *  @author Mehrdad Biglari, Ramesh Kolavenu, Lorentz Arthur Morrow,
28
 *          Jose Alberto Lozano Hinojosa, Michael T O'Sullivan 
29
 *          (Managed Build project, Fall CS427)
30
 */
31
public class MulitpleModuleInFileTest extends PhotranWorkspaceTestCase
32
{
33
    private static final String DIR = "vpg-test-code/managed-build/multiple-module-in-file/";
34
    
35
    // Test for multiple modules in a single file, and main program 
36
    // has same order on how modules are defined in the source file
37
    public void testMultipleModulesInOrder() throws Exception
38
    {
39
        String DIR_test = DIR + "testMultipleModulesInOrder";
40
        IResource[] resources = new IResource[2];
41
        IFile main = importFile(Activator.getDefault(), DIR_test, "main.f90");
42
        IFile module1 = importFile(Activator.getDefault(), DIR_test, "modules.f90");
43
        PhotranVPG.getInstance().ensureVPGIsUpToDate(new NullProgressMonitor());
44
        resources[0] = main;
45
        resources[1] = module1;
46
47
        DefaultFortranDependencyCalculator calculator = new DefaultFortranDependencyCalculator();
48
        String fileName = calculator.getFileNameContainingModule(resources, "module1");
49
        assertEquals("modules", fileName);
50
        
51
        fileName = calculator.getFileNameContainingModule(resources, "module2");
52
        assertEquals("modules", fileName);
53
    }
54
55
    // Test for multiple modules in a single file, and main program 
56
    // has different order on how modules are defined in the source file
57
    public void testMultipleModulesNotInOrder() throws Exception
58
    {
59
        String DIR_test = DIR + "testMultipleModulesNotInOrder";
60
        IResource[] resources = new IResource[2];
61
        IFile main = importFile(Activator.getDefault(), DIR_test, "main.f90");
62
        IFile modules = importFile(Activator.getDefault(), DIR_test, "modules.f90");
63
        PhotranVPG.getInstance().ensureVPGIsUpToDate(new NullProgressMonitor());
64
        resources[0] = main;
65
        resources[1] = modules;
66
67
        DefaultFortranDependencyCalculator calculator = new DefaultFortranDependencyCalculator();
68
        String fileName = calculator.getFileNameContainingModule(resources, "module1");
69
        assertEquals("modules", fileName);
70
        
71
        fileName = calculator.getFileNameContainingModule(resources, "module2");
72
        assertEquals("modules", fileName);
73
    }
74
75
    // Test different module in same file name and different folder
76
    public void testDifferentFoldersIdenticalFilesContainsUniqueModule() throws Exception
77
    {   
78
        String DIR_test = DIR + "testDifferentFoldersIdenticalFilesContainsUniqueModule/";
79
        String DIR_folder1_test = DIR_test + "folder1";
80
        String DIR_folder2_test = DIR_test + "folder2";
81
        IResource[] resources = new IResource[2];
82
        IFile module1 = importFile(Activator.getDefault(), DIR_folder1_test, "modules.f90", "folder1");
83
        IFile module2 = importFile(Activator.getDefault(), DIR_folder2_test, "modules.f90", "folder2");
84
        PhotranVPG.getInstance().ensureVPGIsUpToDate(new NullProgressMonitor());
85
        
86
        resources[0] = module1;
87
        resources[1] = module2;
88
89
        DefaultFortranDependencyCalculator calculator = new DefaultFortranDependencyCalculator();
90
        
91
        String fileNameModule1 = calculator.getFileNameContainingModule(resources, "module1");
92
        assertEquals("folder1/modules", fileNameModule1);
93
        
94
        String fileNameModule2 = calculator.getFileNameContainingModule(resources, "module2");
95
        assertEquals("folder2/modules", fileNameModule2);
96
     }
97
    
98
    // Test different module in same file name and different folder
99
    public void testDifferentFoldersIdenticalFilesContainsUniqueModuleDifferentProjects() throws Exception
100
    {   
101
        String DIR_test = DIR + "testDifferentFoldersIdenticalFilesContainsUniqueModuleDifferentProjects/";
102
        String DIR_project2_folder1_test = DIR_test + "project2/folder1";
103
        IResource[] resources = new IResource[1];
104
        IFile project2_module1 = importFile(Activator.getDefault(), DIR_project2_folder1_test, "modules.f90", "folder1");
105
        PhotranVPG.getInstance().ensureVPGIsUpToDate(new NullProgressMonitor());
106
        
107
        resources[0] = project2_module1;
108
109
        DefaultFortranDependencyCalculator calculator = new DefaultFortranDependencyCalculator();
110
        
111
        String fileNameModule1 = calculator.getFileNameContainingModule(resources, "module1");
112
        assertEquals("folder1/modules", fileNameModule1);
113
     }
114
}
(-)a/org.eclipse.photran.core.vpg.tests/vpg-test-code/managed-build/module-name-different/test1/module1.f90 (+2 lines)
Added Link Here
1
module module1
2
end module module1
(-)a/org.eclipse.photran.core.vpg.tests/vpg-test-code/managed-build/module-name-different/test2/modules.f90 (+2 lines)
Added Link Here
1
module module1
2
end module module1
(-)a/org.eclipse.photran.core.vpg.tests/vpg-test-code/managed-build/module-name-different/test3/modules.f90 (+2 lines)
Added Link Here
1
module module1
2
end module module1
(-)a/org.eclipse.photran.core.vpg.tests/vpg-test-code/managed-build/multiple-module-in-file/testDifferentFoldersIdenticalFilesContainsUniqueModule/folder1/modules.f90 (+2 lines)
Added Link Here
1
module module1
2
end module module1
(-)a/org.eclipse.photran.core.vpg.tests/vpg-test-code/managed-build/multiple-module-in-file/testDifferentFoldersIdenticalFilesContainsUniqueModule/folder2/modules.f90 (+2 lines)
Added Link Here
1
module module2
2
end module module2
(-)a/org.eclipse.photran.core.vpg.tests/vpg-test-code/managed-build/multiple-module-in-file/testDifferentFoldersIdenticalFilesContainsUniqueModuleDifferentProjects/project1/modules.f90 (+2 lines)
Added Link Here
1
module module1
2
end module module1
(-)a/org.eclipse.photran.core.vpg.tests/vpg-test-code/managed-build/multiple-module-in-file/testDifferentFoldersIdenticalFilesContainsUniqueModuleDifferentProjects/project2/folder1/modules.f90 (+2 lines)
Added Link Here
1
module module1
2
end module module1
(-)a/org.eclipse.photran.core.vpg.tests/vpg-test-code/managed-build/multiple-module-in-file/testMultipleModulesInOrder/main.f90 (+4 lines)
Added Link Here
1
program main
2
	USE Module1	
3
    USE Module2
4
end program
(-)a/org.eclipse.photran.core.vpg.tests/vpg-test-code/managed-build/multiple-module-in-file/testMultipleModulesInOrder/modules.f90 (+5 lines)
Added Link Here
1
module module1
2
end module module1
3
4
module module2
5
end module module2
(-)a/org.eclipse.photran.core.vpg.tests/vpg-test-code/managed-build/multiple-module-in-file/testMultipleModulesNotInOrder/main.f90 (+4 lines)
Added Link Here
1
program main
2
	USE Module2
3
	USE Module1
4
end program
(-)a/org.eclipse.photran.core.vpg.tests/vpg-test-code/managed-build/multiple-module-in-file/testMultipleModulesNotInOrder/modules.f90 (+5 lines)
Added Link Here
1
module module1
2
end module module1
3
4
module module2
5
end module module2
(-)a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/vpg/PhotranVPG.java (+18 lines)
Lines 39-44 Link Here
39
 * Photran's Virtual Program Graph.
39
 * Photran's Virtual Program Graph.
40
 *
40
 *
41
 * @author Jeff Overbey
41
 * @author Jeff Overbey
42
 * @author Mehrdad Biglari, Ramesh Kolavenu, Lorentz Arthur Morrow,
43
 *         Jose Alberto Lozano Hinojosa, Michael T O'Sullivan 
44
 *         -- Added setPropertyEnableVpg function to programmatically set Enable
45
 *         VPG property (Managed Build project, Fall CS 427)
42
 */
46
 */
43
//public class PhotranVPG extends EclipseVPG<IFortranAST, Token, PhotranTokenRef, PhotranVPGDB, PhotranVPGLog>
47
//public class PhotranVPG extends EclipseVPG<IFortranAST, Token, PhotranTokenRef, PhotranVPGDB, PhotranVPGLog>
44
public class PhotranVPG extends EclipseVPG<IFortranAST, Token, PhotranTokenRef>
48
public class PhotranVPG extends EclipseVPG<IFortranAST, Token, PhotranTokenRef>
Lines 544-549 Link Here
544
            return false; // Project may be closed, or something like that; see Bug 369094
548
            return false; // Project may be closed, or something like that; see Bug 369094
545
        }
549
        }
546
    }
550
    }
551
    
552
    /**
553
     * Set the ENABLE_VPG_PROPERTY_NAME property for a given project
554
     * 
555
     * @author Mehrdad Biglari, Ramesh Kolavenu, Lorentz Arthur Morrow,
556
     *         Jose Alberto Lozano Hinojosa, Michael T O'Sullivan 
557
     * 
558
     * @param project - Project to set its ENABLE_VPG_PROPERTY_NAME property
559
     * @param value - property value to set
560
     */
561
    public void setPropertyEnableVpg(IProject project, boolean value)
562
    {
563
        new SearchPathProperties().setProperty(project, SearchPathProperties.ENABLE_VPG_PROPERTY_NAME, Boolean.toString(value));
564
    }
547
565
548
    public String describeWhyCannotProcessProject(IProject project)
566
    public String describeWhyCannotProcessProject(IProject project)
549
    {
567
    {
(-)a/org.eclipse.photran.managedbuilder.gnu.ui/plugin.xml (-6 / +12 lines)
Lines 594-600 Link Here
594
                     name="%ToolChainName.Dbg"
594
                     name="%ToolChainName.Dbg"
595
                     targetTool="photran.managedbuild.tool.gnu.fortran.linker.exe.debug"
595
                     targetTool="photran.managedbuild.tool.gnu.fortran.linker.exe.debug"
596
                     scannerConfigDiscoveryProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile"
596
                     scannerConfigDiscoveryProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile"
597
                     id="photran.managedbuild.toolchain.gnu.fortran.exe.debug">
597
                     id="photran.managedbuild.toolchain.gnu.fortran.exe.debug"
598
                     isToolChainSupported="org.eclipse.photran.cdtinterface.managebuilder.gnu.IsGnuToolChainSupported">
598
		          <targetPlatform
599
		          <targetPlatform
599
		              id="photran.managedbuild.target.gnu.platform.exe.debug"
600
		              id="photran.managedbuild.target.gnu.platform.exe.debug"
600
		              name="%PlatformName.Dbg"
601
		              name="%PlatformName.Dbg"
Lines 655-661 Link Here
655
                     name="%ToolChainName.Rel"
656
                     name="%ToolChainName.Rel"
656
                     targetTool="photran.managedbuild.tool.gnu.fortran.linker.exe.release"
657
                     targetTool="photran.managedbuild.tool.gnu.fortran.linker.exe.release"
657
                     scannerConfigDiscoveryProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile"
658
                     scannerConfigDiscoveryProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile"
658
                     id="photran.managedbuild.toolchain.gnu.fortran.exe.release">
659
                     id="photran.managedbuild.toolchain.gnu.fortran.exe.release"
660
                     isToolChainSupported="org.eclipse.photran.cdtinterface.managebuilder.gnu.IsGnuToolChainSupported">
659
		          <targetPlatform
661
		          <targetPlatform
660
		              id="photran.managedbuild.target.gnu.platform.fortran.exe.release"
662
		              id="photran.managedbuild.target.gnu.platform.fortran.exe.release"
661
		              name="%PlatformName.Rel"
663
		              name="%PlatformName.Rel"
Lines 728-734 Link Here
728
                     name="%ToolChainName.Dbg"
730
                     name="%ToolChainName.Dbg"
729
                     targetTool="photran.managedbuild.tool.macosx.fortran.linker.macosx.exe.debug"
731
                     targetTool="photran.managedbuild.tool.macosx.fortran.linker.macosx.exe.debug"
730
                     scannerConfigDiscoveryProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile"
732
                     scannerConfigDiscoveryProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile"
731
                     id="photran.managedbuild.toolchain.gnu.fortran.macosx.exe.debug">
733
                     id="photran.managedbuild.toolchain.gnu.fortran.macosx.exe.debug"
734
                     isToolChainSupported="org.eclipse.photran.cdtinterface.managebuilder.gnu.IsGnuToolChainSupported">
732
                  <targetPlatform
735
                  <targetPlatform
733
					  id="photran.managedbuild.target.gnu.platform.macosx.exe.debug"
736
					  id="photran.managedbuild.target.gnu.platform.macosx.exe.debug"
734
				 	  name="%PlatformName.Dbg"
737
				 	  name="%PlatformName.Dbg"
Lines 789-795 Link Here
789
                     name="%ToolChainName.Rel"
792
                     name="%ToolChainName.Rel"
790
                     targetTool="photran.managedbuild.tool.macosx.fortran.linker.macosx.exe.release"
793
                     targetTool="photran.managedbuild.tool.macosx.fortran.linker.macosx.exe.release"
791
                     scannerConfigDiscoveryProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile"
794
                     scannerConfigDiscoveryProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile"
792
                     id="photran.managedbuild.toolchain.gnu.fortran.macosx.exe.release">
795
                     id="photran.managedbuild.toolchain.gnu.fortran.macosx.exe.release"
796
                     isToolChainSupported="org.eclipse.photran.cdtinterface.managebuilder.gnu.IsGnuToolChainSupported">
793
                  <targetPlatform
797
                  <targetPlatform
794
					  id="photran.managedbuild.target.gnu.platform.fortran.macosx.exe.release"
798
					  id="photran.managedbuild.target.gnu.platform.fortran.macosx.exe.release"
795
				 	  name="%PlatformName.Rel"
799
				 	  name="%PlatformName.Rel"
Lines 862-868 Link Here
862
                     name="%ToolChainName.Dbg"
866
                     name="%ToolChainName.Dbg"
863
                     targetTool="photran.managedbuild.tool.gnu.fortran.linker.exe.debug"
867
                     targetTool="photran.managedbuild.tool.gnu.fortran.linker.exe.debug"
864
                     scannerConfigDiscoveryProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile"
868
                     scannerConfigDiscoveryProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile"
865
                     id="photran.managedbuild.toolchain.gnu.fortran.win32.exe.debug">
869
                     id="photran.managedbuild.toolchain.gnu.fortran.win32.exe.debug"
870
                     isToolChainSupported="org.eclipse.photran.cdtinterface.managebuilder.gnu.IsGnuToolChainSupported">
866
                  <targetPlatform
871
                  <targetPlatform
867
					  id="photran.managedbuild.target.gnu.platform.win32.exe.debug"
872
					  id="photran.managedbuild.target.gnu.platform.win32.exe.debug"
868
				 	  name="%PlatformName.Dbg"
873
				 	  name="%PlatformName.Dbg"
Lines 923-929 Link Here
923
                     name="%ToolChainName.Rel"
928
                     name="%ToolChainName.Rel"
924
                     targetTool="photran.managedbuild.tool.gnu.fortran.linker.exe.release"
929
                     targetTool="photran.managedbuild.tool.gnu.fortran.linker.exe.release"
925
                     scannerConfigDiscoveryProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile"
930
                     scannerConfigDiscoveryProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile"
926
                     id="photran.managedbuild.toolchain.gnu.fortran.win32.exe.release">
931
                     id="photran.managedbuild.toolchain.gnu.fortran.win32.exe.release"
932
                     isToolChainSupported="org.eclipse.photran.cdtinterface.managebuilder.gnu.IsGnuToolChainSupported">
927
                  <targetPlatform
933
                  <targetPlatform
928
					  id="photran.managedbuild.target.gnu.platform.fortran.win32.exe.release"
934
					  id="photran.managedbuild.target.gnu.platform.fortran.win32.exe.release"
929
				 	  name="%PlatformName.Rel"
935
				 	  name="%PlatformName.Rel"
(-)a/org.eclipse.photran.managedbuilder.intel.ui/plugin.xml (-21 / +42 lines)
Lines 1918-1924 Link Here
1918
               osList="linux"
1918
               osList="linux"
1919
               name="%ToolChainName.x86"
1919
               name="%ToolChainName.x86"
1920
               targetTool="photran.managedbuild.tool.intel.fortran.linker;photran.managedbuild.tool.intel.fortran.archiver"
1920
               targetTool="photran.managedbuild.tool.intel.fortran.linker;photran.managedbuild.tool.intel.fortran.archiver"
1921
               id="photran.managedbuild.toolchain.intel.fortran.x86.base">
1921
               id="photran.managedbuild.toolchain.intel.fortran.x86.base"
1922
               isToolChainSupported="org.eclipse.photran.cdtinterface.managebuilder.intel.IsIntelToolChainSupported">
1922
               <!-- add archList="x86,x86_64" when possible-->
1923
               <!-- add archList="x86,x86_64" when possible-->
1923
		       <targetPlatform
1924
		       <targetPlatform
1924
		          id="photran.managedbuild.target.intel.platform.x86.base"
1925
		          id="photran.managedbuild.target.intel.platform.x86.base"
Lines 1976-1982 Link Here
1976
               osList="linux"
1977
               osList="linux"
1977
               name="%ToolChainName.x86_64"
1978
               name="%ToolChainName.x86_64"
1978
               targetTool="photran.managedbuild.tool.intel.fortran.linker;photran.managedbuild.tool.intel.fortran.archiver"
1979
               targetTool="photran.managedbuild.tool.intel.fortran.linker;photran.managedbuild.tool.intel.fortran.archiver"
1979
               id="photran.managedbuild.toolchain.intel.fortran.x86_64.base">
1980
               id="photran.managedbuild.toolchain.intel.fortran.x86_64.base"
1981
               isToolChainSupported="org.eclipse.photran.cdtinterface.managebuilder.intel.IsIntelToolChainSupported">
1980
		       <targetPlatform
1982
		       <targetPlatform
1981
		          id="photran.managedbuild.target.intel.platform.x86_64.base"
1983
		          id="photran.managedbuild.target.intel.platform.x86_64.base"
1982
		          name="%PlatformName.x86_64"
1984
		          name="%PlatformName.x86_64"
Lines 2032-2038 Link Here
2032
               osList="linux"
2034
               osList="linux"
2033
               name="%ToolChainName.ipf"
2035
               name="%ToolChainName.ipf"
2034
               targetTool="photran.managedbuild.tool.intel.fortran.linker;photran.managedbuild.tool.intel.fortran.archiver"
2036
               targetTool="photran.managedbuild.tool.intel.fortran.linker;photran.managedbuild.tool.intel.fortran.archiver"
2035
               id="photran.managedbuild.toolchain.intel.fortran.ipf.base">
2037
               id="photran.managedbuild.toolchain.intel.fortran.ipf.base"
2038
               isToolChainSupported="org.eclipse.photran.cdtinterface.managebuilder.intel.IsIntelToolChainSupported">
2036
               <targetPlatform
2039
               <targetPlatform
2037
                  id="photran.managedbuild.target.intel.platform.ipf.base"
2040
                  id="photran.managedbuild.target.intel.platform.ipf.base"
2038
                  name="%PlatformName.ipf"
2041
                  name="%PlatformName.ipf"
Lines 2117-2123 Link Here
2117
	        buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug">
2120
	        buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug">
2118
            <toolChain
2121
            <toolChain
2119
               id="photran.managedbuild.toolchain.intel.fortran.exe.x86.debug"
2122
               id="photran.managedbuild.toolchain.intel.fortran.exe.x86.debug"
2120
               superClass="photran.managedbuild.toolchain.intel.fortran.x86.base">
2123
               superClass="photran.managedbuild.toolchain.intel.fortran.x86.base"
2124
               isToolChainSupported="org.eclipse.photran.cdtinterface.managebuilder.intel.IsIntelToolChainSupported">
2121
		       <targetPlatform
2125
		       <targetPlatform
2122
		          id="photran.managedbuild.target.intel.platform.exe.x86.debug"
2126
		          id="photran.managedbuild.target.intel.platform.exe.x86.debug"
2123
		          superClass="photran.managedbuild.target.intel.platform.x86.base">
2127
		          superClass="photran.managedbuild.target.intel.platform.x86.base">
Lines 2171-2177 Link Here
2171
            buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release">
2175
            buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release">
2172
            <toolChain
2176
            <toolChain
2173
               id="photran.managedbuild.toolchain.intel.fortran.exe.x86.release"
2177
               id="photran.managedbuild.toolchain.intel.fortran.exe.x86.release"
2174
               superClass="photran.managedbuild.toolchain.intel.fortran.x86.base">
2178
               superClass="photran.managedbuild.toolchain.intel.fortran.x86.base"
2179
               isToolChainSupported="org.eclipse.photran.cdtinterface.managebuilder.intel.IsIntelToolChainSupported">
2175
               <targetPlatform
2180
               <targetPlatform
2176
                  id="photran.managedbuild.target.intel.platform.fortran.exe.x86.release"
2181
                  id="photran.managedbuild.target.intel.platform.fortran.exe.x86.release"
2177
                  superClass="photran.managedbuild.target.intel.platform.x86.base">
2182
                  superClass="photran.managedbuild.target.intel.platform.x86.base">
Lines 2215-2221 Link Here
2215
	        buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug">
2220
	        buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug">
2216
            <toolChain
2221
            <toolChain
2217
               id="photran.managedbuild.toolchain.intel.fortran.exe.x86_64.debug"
2222
               id="photran.managedbuild.toolchain.intel.fortran.exe.x86_64.debug"
2218
               superClass="photran.managedbuild.toolchain.intel.fortran.x86_64.base">
2223
               superClass="photran.managedbuild.toolchain.intel.fortran.x86_64.base"
2224
               isToolChainSupported="org.eclipse.photran.cdtinterface.managebuilder.intel.IsIntelToolChainSupported">
2219
		       <targetPlatform
2225
		       <targetPlatform
2220
		          id="photran.managedbuild.target.intel.platform.exe.x86_64.debug"
2226
		          id="photran.managedbuild.target.intel.platform.exe.x86_64.debug"
2221
		          superClass="photran.managedbuild.target.intel.platform.x86_64.base">
2227
		          superClass="photran.managedbuild.target.intel.platform.x86_64.base">
Lines 2269-2275 Link Here
2269
            buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release">
2275
            buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release">
2270
            <toolChain
2276
            <toolChain
2271
               id="photran.managedbuild.toolchain.intel.fortran.exe.x86_64.release"
2277
               id="photran.managedbuild.toolchain.intel.fortran.exe.x86_64.release"
2272
               superClass="photran.managedbuild.toolchain.intel.fortran.x86_64.base">
2278
               superClass="photran.managedbuild.toolchain.intel.fortran.x86_64.base"
2279
               isToolChainSupported="org.eclipse.photran.cdtinterface.managebuilder.intel.IsIntelToolChainSupported">
2273
               <targetPlatform
2280
               <targetPlatform
2274
                  id="photran.managedbuild.target.intel.platform.fortran.exe.x86_64.release"
2281
                  id="photran.managedbuild.target.intel.platform.fortran.exe.x86_64.release"
2275
                  superClass="photran.managedbuild.target.intel.platform.x86_64.base">
2282
                  superClass="photran.managedbuild.target.intel.platform.x86_64.base">
Lines 2314-2320 Link Here
2314
            buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug">
2321
            buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug">
2315
            <toolChain
2322
            <toolChain
2316
               id="photran.managedbuild.toolchain.intel.fortran.exe.ipf.debug"
2323
               id="photran.managedbuild.toolchain.intel.fortran.exe.ipf.debug"
2317
               superClass="photran.managedbuild.toolchain.intel.fortran.ipf.base">
2324
               superClass="photran.managedbuild.toolchain.intel.fortran.ipf.base"
2325
               isToolChainSupported="org.eclipse.photran.cdtinterface.managebuilder.intel.IsIntelToolChainSupported">
2318
               <targetPlatform
2326
               <targetPlatform
2319
                  id="photran.managedbuild.target.intel.platform.exe.ipf.debug"
2327
                  id="photran.managedbuild.target.intel.platform.exe.ipf.debug"
2320
                  superClass="photran.managedbuild.target.intel.platform.ipf.base">
2328
                  superClass="photran.managedbuild.target.intel.platform.ipf.base">
Lines 2368-2374 Link Here
2368
            buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release">
2376
            buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release">
2369
            <toolChain
2377
            <toolChain
2370
               id="photran.managedbuild.toolchain.intel.fortran.exe.ipf.release"
2378
               id="photran.managedbuild.toolchain.intel.fortran.exe.ipf.release"
2371
               superClass="photran.managedbuild.toolchain.intel.fortran.ipf.base">
2379
               superClass="photran.managedbuild.toolchain.intel.fortran.ipf.base"
2380
               isToolChainSupported="org.eclipse.photran.cdtinterface.managebuilder.intel.IsIntelToolChainSupported">
2372
               <targetPlatform
2381
               <targetPlatform
2373
                  id="photran.managedbuild.target.intel.platform.fortran.exe.ipf.release"
2382
                  id="photran.managedbuild.target.intel.platform.fortran.exe.ipf.release"
2374
                  superClass="photran.managedbuild.target.intel.platform.ipf.base">
2383
                  superClass="photran.managedbuild.target.intel.platform.ipf.base">
Lines 2423-2429 Link Here
2423
            buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug">
2432
            buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug">
2424
            <toolChain
2433
            <toolChain
2425
               id="photran.managedbuild.toolchain.intel.fortran.ar.x86.debug"
2434
               id="photran.managedbuild.toolchain.intel.fortran.ar.x86.debug"
2426
               superClass="photran.managedbuild.toolchain.intel.fortran.x86.base">
2435
               superClass="photran.managedbuild.toolchain.intel.fortran.x86.base"
2436
               isToolChainSupported="org.eclipse.photran.cdtinterface.managebuilder.intel.IsIntelToolChainSupported">
2427
               <targetPlatform
2437
               <targetPlatform
2428
                  id="photran.managedbuild.target.intel.platform.ar.x86.debug"
2438
                  id="photran.managedbuild.target.intel.platform.ar.x86.debug"
2429
                  superClass="photran.managedbuild.target.intel.platform.x86.base">
2439
                  superClass="photran.managedbuild.target.intel.platform.x86.base">
Lines 2477-2483 Link Here
2477
            buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release">
2487
            buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release">
2478
            <toolChain
2488
            <toolChain
2479
               id="photran.managedbuild.toolchain.intel.fortran.ar.x86.release"
2489
               id="photran.managedbuild.toolchain.intel.fortran.ar.x86.release"
2480
               superClass="photran.managedbuild.toolchain.intel.fortran.x86.base">
2490
               superClass="photran.managedbuild.toolchain.intel.fortran.x86.base"
2491
               isToolChainSupported="org.eclipse.photran.cdtinterface.managebuilder.intel.IsIntelToolChainSupported">
2481
               <targetPlatform
2492
               <targetPlatform
2482
                  id="photran.managedbuild.target.intel.platform.fortran.ar.x86.release"
2493
                  id="photran.managedbuild.target.intel.platform.fortran.ar.x86.release"
2483
                  superClass="photran.managedbuild.target.intel.platform.x86.base">
2494
                  superClass="photran.managedbuild.target.intel.platform.x86.base">
Lines 2521-2527 Link Here
2521
            buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug">
2532
            buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug">
2522
            <toolChain
2533
            <toolChain
2523
               id="photran.managedbuild.toolchain.intel.fortran.ar.x86_64.debug"
2534
               id="photran.managedbuild.toolchain.intel.fortran.ar.x86_64.debug"
2524
               superClass="photran.managedbuild.toolchain.intel.fortran.x86_64.base">
2535
               superClass="photran.managedbuild.toolchain.intel.fortran.x86_64.base"
2536
               isToolChainSupported="org.eclipse.photran.cdtinterface.managebuilder.intel.IsIntelToolChainSupported">
2525
               <targetPlatform
2537
               <targetPlatform
2526
                  id="photran.managedbuild.target.intel.platform.ar.x86_64.debug"
2538
                  id="photran.managedbuild.target.intel.platform.ar.x86_64.debug"
2527
                  superClass="photran.managedbuild.target.intel.platform.x86_64.base">
2539
                  superClass="photran.managedbuild.target.intel.platform.x86_64.base">
Lines 2575-2581 Link Here
2575
            buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release">
2587
            buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release">
2576
            <toolChain
2588
            <toolChain
2577
               id="photran.managedbuild.toolchain.intel.fortran.ar.x86_64.release"
2589
               id="photran.managedbuild.toolchain.intel.fortran.ar.x86_64.release"
2578
               superClass="photran.managedbuild.toolchain.intel.fortran.x86_64.base">
2590
               superClass="photran.managedbuild.toolchain.intel.fortran.x86_64.base"
2591
               isToolChainSupported="org.eclipse.photran.cdtinterface.managebuilder.intel.IsIntelToolChainSupported">
2579
               <targetPlatform
2592
               <targetPlatform
2580
                  id="photran.managedbuild.target.intel.platform.fortran.ar.x86_64.release"
2593
                  id="photran.managedbuild.target.intel.platform.fortran.ar.x86_64.release"
2581
                  superClass="photran.managedbuild.target.intel.platform.x86_64.base">
2594
                  superClass="photran.managedbuild.target.intel.platform.x86_64.base">
Lines 2619-2625 Link Here
2619
            buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug">
2632
            buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug">
2620
            <toolChain
2633
            <toolChain
2621
               id="photran.managedbuild.toolchain.intel.fortran.ar.ipf.debug"
2634
               id="photran.managedbuild.toolchain.intel.fortran.ar.ipf.debug"
2622
               superClass="photran.managedbuild.toolchain.intel.fortran.ipf.base">
2635
               superClass="photran.managedbuild.toolchain.intel.fortran.ipf.base"
2636
               isToolChainSupported="org.eclipse.photran.cdtinterface.managebuilder.intel.IsIntelToolChainSupported">
2623
               <targetPlatform
2637
               <targetPlatform
2624
                  id="photran.managedbuild.target.intel.platform.ar.ipf.debug"
2638
                  id="photran.managedbuild.target.intel.platform.ar.ipf.debug"
2625
                  superClass="photran.managedbuild.target.intel.platform.ipf.base">
2639
                  superClass="photran.managedbuild.target.intel.platform.ipf.base">
Lines 2673-2679 Link Here
2673
            buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release">
2687
            buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release">
2674
            <toolChain
2688
            <toolChain
2675
               id="photran.managedbuild.toolchain.intel.fortran.ar.ipf.release"
2689
               id="photran.managedbuild.toolchain.intel.fortran.ar.ipf.release"
2676
               superClass="photran.managedbuild.toolchain.intel.fortran.ipf.base">
2690
               superClass="photran.managedbuild.toolchain.intel.fortran.ipf.base"
2691
               isToolChainSupported="org.eclipse.photran.cdtinterface.managebuilder.intel.IsIntelToolChainSupported">
2677
               <targetPlatform
2692
               <targetPlatform
2678
                  id="photran.managedbuild.target.intel.platform.fortran.ar.ipf.release"
2693
                  id="photran.managedbuild.target.intel.platform.fortran.ar.ipf.release"
2679
                  superClass="photran.managedbuild.target.intel.platform.ipf.base">
2694
                  superClass="photran.managedbuild.target.intel.platform.ipf.base">
Lines 2727-2733 Link Here
2727
            buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug">
2742
            buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug">
2728
            <toolChain
2743
            <toolChain
2729
               id="photran.managedbuild.toolchain.intel.fortran.so.x86.debug"
2744
               id="photran.managedbuild.toolchain.intel.fortran.so.x86.debug"
2730
               superClass="photran.managedbuild.toolchain.intel.fortran.x86.base">
2745
               superClass="photran.managedbuild.toolchain.intel.fortran.x86.base"
2746
               isToolChainSupported="org.eclipse.photran.cdtinterface.managebuilder.intel.IsIntelToolChainSupported">
2731
               <targetPlatform
2747
               <targetPlatform
2732
                  id="photran.managedbuild.target.intel.platform.so.x86.debug"
2748
                  id="photran.managedbuild.target.intel.platform.so.x86.debug"
2733
                  superClass="photran.managedbuild.target.intel.platform.x86.base">
2749
                  superClass="photran.managedbuild.target.intel.platform.x86.base">
Lines 2785-2791 Link Here
2785
            buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release">
2801
            buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release">
2786
            <toolChain
2802
            <toolChain
2787
               id="photran.managedbuild.toolchain.intel.fortran.so.x86.release"
2803
               id="photran.managedbuild.toolchain.intel.fortran.so.x86.release"
2788
               superClass="photran.managedbuild.toolchain.intel.fortran.x86.base">
2804
               superClass="photran.managedbuild.toolchain.intel.fortran.x86.base"
2805
               isToolChainSupported="org.eclipse.photran.cdtinterface.managebuilder.intel.IsIntelToolChainSupported">
2789
               <targetPlatform
2806
               <targetPlatform
2790
                  id="photran.managedbuild.target.intel.platform.fortran.so.x86.release"
2807
                  id="photran.managedbuild.target.intel.platform.fortran.so.x86.release"
2791
                  superClass="photran.managedbuild.target.intel.platform.x86.base">
2808
                  superClass="photran.managedbuild.target.intel.platform.x86.base">
Lines 2832-2838 Link Here
2832
            buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug">
2849
            buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug">
2833
            <toolChain
2850
            <toolChain
2834
               id="photran.managedbuild.toolchain.intel.fortran.so.x86_64.debug"
2851
               id="photran.managedbuild.toolchain.intel.fortran.so.x86_64.debug"
2835
               superClass="photran.managedbuild.toolchain.intel.fortran.x86_64.base">
2852
               superClass="photran.managedbuild.toolchain.intel.fortran.x86_64.base"
2853
               isToolChainSupported="org.eclipse.photran.cdtinterface.managebuilder.intel.IsIntelToolChainSupported">
2836
               <targetPlatform
2854
               <targetPlatform
2837
                  id="photran.managedbuild.target.intel.platform.so.x86_64.debug"
2855
                  id="photran.managedbuild.target.intel.platform.so.x86_64.debug"
2838
                  superClass="photran.managedbuild.target.intel.platform.x86_64.base">
2856
                  superClass="photran.managedbuild.target.intel.platform.x86_64.base">
Lines 2890-2896 Link Here
2890
            buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release">
2908
            buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release">
2891
            <toolChain
2909
            <toolChain
2892
               id="photran.managedbuild.toolchain.intel.fortran.so.x86_64.release"
2910
               id="photran.managedbuild.toolchain.intel.fortran.so.x86_64.release"
2893
               superClass="photran.managedbuild.toolchain.intel.fortran.x86_64.base">
2911
               superClass="photran.managedbuild.toolchain.intel.fortran.x86_64.base"
2912
               isToolChainSupported="org.eclipse.photran.cdtinterface.managebuilder.intel.IsIntelToolChainSupported">
2894
               <targetPlatform
2913
               <targetPlatform
2895
                  id="photran.managedbuild.target.intel.platform.fortran.so.x86_64.release"
2914
                  id="photran.managedbuild.target.intel.platform.fortran.so.x86_64.release"
2896
                  superClass="photran.managedbuild.target.intel.platform.x86_64.base">
2915
                  superClass="photran.managedbuild.target.intel.platform.x86_64.base">
Lines 2937-2943 Link Here
2937
            buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug">
2956
            buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug">
2938
            <toolChain
2957
            <toolChain
2939
               id="photran.managedbuild.toolchain.intel.fortran.so.ipf.debug"
2958
               id="photran.managedbuild.toolchain.intel.fortran.so.ipf.debug"
2940
               superClass="photran.managedbuild.toolchain.intel.fortran.ipf.base">
2959
               superClass="photran.managedbuild.toolchain.intel.fortran.ipf.base"
2960
               isToolChainSupported="org.eclipse.photran.cdtinterface.managebuilder.intel.IsIntelToolChainSupported">
2941
               <targetPlatform
2961
               <targetPlatform
2942
                  id="photran.managedbuild.target.intel.platform.so.ipf.debug"
2962
                  id="photran.managedbuild.target.intel.platform.so.ipf.debug"
2943
                  superClass="photran.managedbuild.target.intel.platform.ipf.base">
2963
                  superClass="photran.managedbuild.target.intel.platform.ipf.base">
Lines 2995-3001 Link Here
2995
            buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release">
3015
            buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release">
2996
            <toolChain
3016
            <toolChain
2997
               id="photran.managedbuild.toolchain.intel.fortran.so.ipf.release"
3017
               id="photran.managedbuild.toolchain.intel.fortran.so.ipf.release"
2998
               superClass="photran.managedbuild.toolchain.intel.fortran.ipf.base">
3018
               superClass="photran.managedbuild.toolchain.intel.fortran.ipf.base"
3019
               isToolChainSupported="org.eclipse.photran.cdtinterface.managebuilder.intel.IsIntelToolChainSupported">
2999
               <targetPlatform
3020
               <targetPlatform
3000
                  id="photran.managedbuild.target.intel.platform.fortran.so.ipf.release"
3021
                  id="photran.managedbuild.target.intel.platform.fortran.so.ipf.release"
3001
                  superClass="photran.managedbuild.target.intel.platform.ipf.base">
3022
                  superClass="photran.managedbuild.target.intel.platform.ipf.base">
(-)a/org.eclipse.photran.managedbuilder.xlf.ui/plugin.xml (-2 / +4 lines)
Lines 418-424 Link Here
418
                     name="%XLFToolChainName.Dbg"
418
                     name="%XLFToolChainName.Dbg"
419
                     targetTool="photran.managedbuild.tool.macosx.fortran.xlf.linker.macosx.exe.debug"
419
                     targetTool="photran.managedbuild.tool.macosx.fortran.xlf.linker.macosx.exe.debug"
420
                     scannerConfigDiscoveryProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile"
420
                     scannerConfigDiscoveryProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile"
421
                     id="photran.managedbuild.toolchain.xlf.fortran.macosx.exe.debug">
421
                     id="photran.managedbuild.toolchain.xlf.fortran.macosx.exe.debug"
422
                     isToolChainSupported="org.eclipse.photran.cdtinterface.managebuilder.xlf.IsXlfToolChainSupported">
422
                  <!--targetPlatform
423
                  <!--targetPlatform
423
					  id="photran.managedbuild.target.xlf.platform.macosx.exe.debug"
424
					  id="photran.managedbuild.target.xlf.platform.macosx.exe.debug"
424
				 	  name="%PlatformName.Dbg"
425
				 	  name="%PlatformName.Dbg"
Lines 479-485 Link Here
479
                     name="%XLFToolChainName.Rel"
480
                     name="%XLFToolChainName.Rel"
480
                     targetTool="photran.managedbuild.tool.macosx.fortran.xlf.linker.macosx.exe.release"
481
                     targetTool="photran.managedbuild.tool.macosx.fortran.xlf.linker.macosx.exe.release"
481
                     scannerConfigDiscoveryProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile"
482
                     scannerConfigDiscoveryProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile"
482
                     id="photran.managedbuild.toolchain.xlf.fortran.macosx.exe.release">
483
                     id="photran.managedbuild.toolchain.xlf.fortran.macosx.exe.release"
484
                     isToolChainSupported="org.eclipse.photran.cdtinterface.managebuilder.xlf.IsXlfToolChainSupported">
483
                  <!--targetPlatform
485
                  <!--targetPlatform
484
					  id="photran.managedbuild.target.xlf.platform.fortran.macosx.exe.release"
486
					  id="photran.managedbuild.target.xlf.platform.fortran.macosx.exe.release"
485
				 	  name="%PlatformName.Rel"
487
				 	  name="%PlatformName.Rel"

Return to bug 397116