summaryrefslogtreecommitdiffstats
path: root/org.rtems.cdt.toolchain2
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2008-12-03 14:59:50 +0000
committerSebastian Huber <sebastian.huber@embedded-brains.de>2008-12-03 14:59:50 +0000
commitc1a000bcfa60fdbc5a6611759d44414e68b40b4c (patch)
treebae2a6f5b53943d9a699154f6077d4a3a4d32a8a /org.rtems.cdt.toolchain2
parentFixed path translation issue. (diff)
downloadrtems-eclipse-plug-in-c1a000bcfa60fdbc5a6611759d44414e68b40b4c.tar.bz2
Reverted previous change. You must translate the path manually for Cygwin.
TODO: Fix for MinGW.
Diffstat (limited to 'org.rtems.cdt.toolchain2')
-rw-r--r--org.rtems.cdt.toolchain2/org/rtems/cdt/Activator.java3
-rw-r--r--org.rtems.cdt.toolchain2/org/rtems/cdt/Constants.java2
-rw-r--r--org.rtems.cdt.toolchain2/org/rtems/cdt/Storage.java21
3 files changed, 17 insertions, 9 deletions
diff --git a/org.rtems.cdt.toolchain2/org/rtems/cdt/Activator.java b/org.rtems.cdt.toolchain2/org/rtems/cdt/Activator.java
index 925f32d..7d45944 100644
--- a/org.rtems.cdt.toolchain2/org/rtems/cdt/Activator.java
+++ b/org.rtems.cdt.toolchain2/org/rtems/cdt/Activator.java
@@ -47,8 +47,7 @@ public class Activator extends AbstractUIPlugin {
try {
out = new BufferedWriter( new FileWriter( makefile.toFile()));
out.write(
- "PROJECT_RELEASE = $(" + Constants.BSP_PATH_MAKE_VARIABLE + ")\n"
- + "include $(PROJECT_RELEASE)/Makefile.inc\n"
+ "include $(" + Constants.BSP_PATH_MAKE_VARIABLE + ")/Makefile.inc\n"
+ "include $(RTEMS_CUSTOM)\n"
+ "include $(PROJECT_ROOT)/make/leaf.cfg\n"
+ "all:\n"
diff --git a/org.rtems.cdt.toolchain2/org/rtems/cdt/Constants.java b/org.rtems.cdt.toolchain2/org/rtems/cdt/Constants.java
index 1a9ea97..08ccd04 100644
--- a/org.rtems.cdt.toolchain2/org/rtems/cdt/Constants.java
+++ b/org.rtems.cdt.toolchain2/org/rtems/cdt/Constants.java
@@ -15,7 +15,7 @@ package org.rtems.cdt;
public class Constants {
public static final String PATH_SEPERATOR = System.getProperty( "path.separator");
- public static final String BSP_PATH_MAKE_VARIABLE = "ENVIRONMENT_PROJECT_RELEASE";
+ public static final String BSP_PATH_MAKE_VARIABLE = "PROJECT_RELEASE";
public static final String DEFAULT_BASE_PATH = "/opt/rtems-4.9";
diff --git a/org.rtems.cdt.toolchain2/org/rtems/cdt/Storage.java b/org.rtems.cdt.toolchain2/org/rtems/cdt/Storage.java
index 2cab79c..5a4ae30 100644
--- a/org.rtems.cdt.toolchain2/org/rtems/cdt/Storage.java
+++ b/org.rtems.cdt.toolchain2/org/rtems/cdt/Storage.java
@@ -18,7 +18,6 @@ import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.LinkedList;
import java.util.List;
-import java.util.Map;
import org.eclipse.cdt.build.core.scannerconfig.CfgInfoContext;
import org.eclipse.cdt.build.internal.core.scannerconfig.CfgDiscoveredPathManager;
@@ -29,6 +28,7 @@ import org.eclipse.cdt.managedbuilder.core.IConfiguration;
import org.eclipse.cdt.managedbuilder.core.ManagedBuildManager;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.Platform;
import org.eclipse.core.runtime.QualifiedName;
public class Storage {
@@ -105,12 +105,21 @@ public class Storage {
}
public static void updateTools( IProject project) {
+ String path = getProperty( project, Constants.BSP_PATH_KEY);
+
+ // Translate path if necessary
+ if (Platform.getOS().equals( Platform.OS_WIN32)) {
+ // FIXME: MinGW?
+
+ String device = path.split( ":") [0];
+ path = path.replaceFirst( "^" + device + ":", "/cygdrive/" + device).replaceAll( "\\\\", "/");
+ }
+
// Create make process builder
- ProcessBuilder pb = new ProcessBuilder( "make");
-
- // Use environment to pass the BSP path to enable implicit path translation
- Map<String, String> env = pb.environment();
- env.put( Constants.BSP_PATH_MAKE_VARIABLE, getProperty( project, Constants.BSP_PATH_KEY));
+ ProcessBuilder pb = new ProcessBuilder(
+ "make",
+ Constants.BSP_PATH_MAKE_VARIABLE + "=" + path
+ );
// Change working directory to the Makefile location
pb.directory( Activator.getDefault().getMakefileLocation().toFile());