Changeset 52fb7d3 in rtems-eclipse-plug-in


Ignore:
Timestamp:
Nov 28, 2008, 9:50:29 AM (11 years ago)
Author:
Sebastian Huber <sebastian.huber@…>
Branches:
master
Children:
9fef14d
Parents:
30b6dbb
Message:

Added PATH environment variable to provider.
Uses now an absolute path for the compiler in the scanner information provider.

Location:
org.rtems.cdt.toolchain2/org/rtems/cdt/build
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • org.rtems.cdt.toolchain2/org/rtems/cdt/build/EnvironmentSupplier.java

    r30b6dbb r52fb7d3  
    1414
    1515import org.eclipse.core.resources.IProject;
     16import org.eclipse.core.runtime.IPath;
     17import org.eclipse.core.runtime.Path;
    1618import org.eclipse.cdt.managedbuilder.core.IManagedProject;
    1719import org.eclipse.cdt.managedbuilder.envvar.IBuildEnvironmentVariable;
     
    2325
    2426public class EnvironmentSupplier implements IProjectEnvironmentVariableSupplier {
    25         private static final int VERSION_INDEX = 0;
     27        private static final int PATH_INDEX = 0;
    2628       
    27         private static final int TARGET_INDEX = 1;
     29        private static final int VARIABLE_COUNT = 1;
    2830       
    29         private static final int MACRO_COUNT = 2;
     31        private static final String PATH_SEPERATOR = System.getProperty( "path.separator");
    3032       
    3133        public EnvironmentSupplier() {
     
    3335        }
    3436
    35         public IBuildEnvironmentVariable getVariable( String macroName, IManagedProject project, IEnvironmentVariableProvider provider) {
    36                 String value = null;
    37                
    38                 if (macroName.equals( Constants.VERSION_MACRO_NAME)) {
    39                         value = Storage.getProperty( (IProject) project.getOwner(), Constants.VERSION_KEY);
    40                 } else if (macroName.equals( Constants.TARGET_MACRO_NAME)) {
    41                         value = Storage.getProperty( (IProject) project.getOwner(), Constants.TARGET_KEY);
     37        public IBuildEnvironmentVariable getVariable( String name, IManagedProject project, IEnvironmentVariableProvider provider) {
     38                if (name.equals( "PATH")) {
     39                        IPath path = new Path(
     40                                Storage.getProperty( (IProject) project.getOwner(), Constants.BASE_PATH_KEY)
     41                        );
     42                        path = path.append( "bin");
     43                       
     44                        return new BuildEnvVar( name, path.toOSString(), IBuildEnvironmentVariable.ENVVAR_PREPEND, PATH_SEPERATOR);
    4245                }
    43                
    44                 if (value != null) {
    45                         // System.out.println( Constants.getCounter() + ": getVariable: " + macroName + ": " + value);
    46                         return new BuildEnvVar( macroName, value);
    47                 } else {
    48                         return null;
    49                 }       
     46
     47                return null;
    5048        }
    5149
    5250        public IBuildEnvironmentVariable [] getVariables( IManagedProject project, IEnvironmentVariableProvider provider) {
    53                 IBuildEnvironmentVariable variables [] = new IBuildEnvironmentVariable [MACRO_COUNT];
     51                IBuildEnvironmentVariable variables [] = new IBuildEnvironmentVariable [VARIABLE_COUNT];
    5452               
    5553                // System.out.println( Constants.getCounter() + ": getVariables");
    5654               
    57                 variables [VERSION_INDEX] = getVariable( Constants.VERSION_MACRO_NAME, project, provider);
    58                
    59                 variables [TARGET_INDEX] = getVariable( Constants.TARGET_MACRO_NAME, project, provider);
     55                variables [PATH_INDEX] = getVariable( "PATH", project, provider);
    6056               
    6157                return variables;
  • org.rtems.cdt.toolchain2/org/rtems/cdt/build/RunScannerInfoProvider.java

    r30b6dbb r52fb7d3  
    1515import org.eclipse.cdt.make.internal.core.scannerconfig2.GCCSpecsRunSIProvider;
    1616import org.eclipse.core.resources.IProject;
     17import org.eclipse.core.runtime.CoreException;
    1718import org.eclipse.core.runtime.Path;
    1819import org.rtems.cdt.Constants;
     
    2223        protected boolean initialize() {
    2324                if (!super.initialize()) {
    24                 return false;
    25         }
     25                        return false;
     26                }
    2627
    27         IProject project = resource.getProject();
    28        
    29         fCompileCommand = new Path(
    30                 Storage.getProperty( project, Constants.TARGET_KEY)
    31                         + "-rtems"
    32                         + Storage.getProperty( project, Constants.VERSION_KEY)
    33                         + "-gcc"
    34         );
     28                IProject project = resource.getProject();
     29               
     30                /*
     31                 * FIXME: This is a hack to avoid to early discovery of internal
     32                 * compiler include paths and symbols.  The discovery is suppressed for
     33                 * empty projects which contain only the '.project' and '.cproject'
     34                 * files.
     35                 */
     36                try {
     37                        if (project.members().length < 3) {
     38                                return false;
     39                        }
     40                } catch (CoreException e) {
     41                        e.printStackTrace();
     42                        return false;
     43                }
     44               
     45                /*
     46                 * FIXME: Added absolute path since it seams that the build
     47                 * environment is ignored.
     48                 */
     49                fCompileCommand = new Path(
     50                        Storage.getProperty( project, Constants.BASE_PATH_KEY)
     51                );
     52                fCompileCommand = fCompileCommand.append( "bin");
     53                fCompileCommand = fCompileCommand.append(
     54                        Storage.getProperty( project, Constants.TARGET_KEY)
     55                                + "-rtems"
     56                                + Storage.getProperty( project, Constants.VERSION_KEY)
     57                                + "-gcc"
     58                );
    3559               
    3660                return true;
Note: See TracChangeset for help on using the changeset viewer.