summaryrefslogtreecommitdiffstats
path: root/org.rtems.cdt.toolchain2/org/rtems/cdt/build/EnvironmentSupplier.java
diff options
context:
space:
mode:
Diffstat (limited to 'org.rtems.cdt.toolchain2/org/rtems/cdt/build/EnvironmentSupplier.java')
-rw-r--r--org.rtems.cdt.toolchain2/org/rtems/cdt/build/EnvironmentSupplier.java31
1 files changed, 18 insertions, 13 deletions
diff --git a/org.rtems.cdt.toolchain2/org/rtems/cdt/build/EnvironmentSupplier.java b/org.rtems.cdt.toolchain2/org/rtems/cdt/build/EnvironmentSupplier.java
index 2099038..acde119 100644
--- a/org.rtems.cdt.toolchain2/org/rtems/cdt/build/EnvironmentSupplier.java
+++ b/org.rtems.cdt.toolchain2/org/rtems/cdt/build/EnvironmentSupplier.java
@@ -13,38 +13,43 @@
package org.rtems.cdt.build;
import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.cdt.managedbuilder.core.IManagedProject;
+import org.eclipse.cdt.managedbuilder.core.IConfiguration;
import org.eclipse.cdt.managedbuilder.envvar.IBuildEnvironmentVariable;
+import org.eclipse.cdt.managedbuilder.envvar.IConfigurationEnvironmentVariableSupplier;
import org.eclipse.cdt.managedbuilder.envvar.IEnvironmentVariableProvider;
-import org.eclipse.cdt.managedbuilder.envvar.IProjectEnvironmentVariableSupplier;
import org.eclipse.cdt.managedbuilder.internal.envvar.BuildEnvVar;
import org.rtems.cdt.Constants;
import org.rtems.cdt.Storage;
-public class EnvironmentSupplier implements IProjectEnvironmentVariableSupplier {
+public class EnvironmentSupplier implements IConfigurationEnvironmentVariableSupplier {
private static final int PATH_INDEX = 0;
private static final int VARIABLE_COUNT = 1;
+
+ protected String getPlatform() {
+ return Constants.PLATFORM_DEFAULT;
+ }
- public IBuildEnvironmentVariable getVariable( String name, IManagedProject project, IEnvironmentVariableProvider provider) {
+ public IBuildEnvironmentVariable getVariable( String name, IConfiguration configuration, IEnvironmentVariableProvider provider) {
if (name.equals( "PATH")) {
- IPath path = new Path(
- Storage.getProperty( (IProject) project.getOwner(), Constants.BASE_PATH_KEY)
- );
- path = path.append( "bin");
+ IProject project = (IProject) configuration.getOwner();
+
+ // Change platform
+ Storage.changePlatform( project, getPlatform());
+
+ // Get path parts
+ String part = Storage.getProperty( project, Constants.PATH_PREPEND_KEY);
- return new BuildEnvVar( name, path.toOSString(), IBuildEnvironmentVariable.ENVVAR_PREPEND, Constants.PATH_SEPERATOR);
+ return new BuildEnvVar( name, part, IBuildEnvironmentVariable.ENVVAR_PREPEND, Constants.PATH_SEPARATOR);
}
return null;
}
- public IBuildEnvironmentVariable [] getVariables( IManagedProject project, IEnvironmentVariableProvider provider) {
+ public IBuildEnvironmentVariable [] getVariables( IConfiguration configuration, IEnvironmentVariableProvider provider) {
IBuildEnvironmentVariable variables [] = new IBuildEnvironmentVariable [VARIABLE_COUNT];
- variables [PATH_INDEX] = getVariable( "PATH", project, provider);
+ variables [PATH_INDEX] = getVariable( "PATH", configuration, provider);
return variables;
}