From 2e99babe5bfda9c9e2d5bb4f53bab74ec1bcad6d Mon Sep 17 00:00:00 2001 From: Jeff Johnston Date: Wed, 4 Apr 2018 12:50:19 -0400 Subject: Bug 533222 - Add Container Build support to Std Make Core Build - add new getConsoleHeader() method to ICBuildCommandLauncher interface and ContainerCommandLauncher class - modify MakefileBuildConfigurationProvider to create build configurations based on an Image name when building for Container and as well support the linux-container os that is used for Container targets - add new IConsoleParser2 interface that extends IConsoleParser and adds new processLine method that takes a List of Job as a parameter - make CBuildConfiguration implement IConsoleParser2 and add new processLine method - modify watchProcess to recognize an IConsoleParser2 and pass a Job List then wait for all jobs to finish before calling shutdown() and possibly reindex - add new IToolChain2 interface with startBuildProcess() method - add new startBuildProcess() method to CBuildConfiguration to look for new IToolChain2 and use its startBuildProcess() method to perform the build - make ContainerGCCToolChain implement IToolChain2 and add new startBuildProcess() method to build in Container - change StandardBuildConfiguration to use startBuildProcess() to do build and clean Change-Id: Icae9a55ef6abfa1b7f611544ad591b6062c72585 --- .../core/MakefileBuildConfigurationProvider.java | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) (limited to 'build/org.eclipse.cdt.make.core') diff --git a/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/core/MakefileBuildConfigurationProvider.java b/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/core/MakefileBuildConfigurationProvider.java index 1406011df48..5d6f82d2927 100644 --- a/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/core/MakefileBuildConfigurationProvider.java +++ b/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/core/MakefileBuildConfigurationProvider.java @@ -43,14 +43,20 @@ public class MakefileBuildConfigurationProvider implements ICBuildConfigurationP StringBuilder configName = new StringBuilder("make."); //$NON-NLS-1$ configName.append(launchMode); String os = toolChain.getProperty(IToolChain.ATTR_OS); - if (os != null) { + if ("linux-container".equals(os)) { //$NON-NLS-1$ + String osConfigName = toolChain.getProperty("linux-container-id"); //$NON-NLS-1$ configName.append('.'); - configName.append(os); - } - String arch = toolChain.getProperty(IToolChain.ATTR_ARCH); - if (arch != null && !arch.isEmpty()) { - configName.append('.'); - configName.append(arch); + configName.append(osConfigName); + } else { + if (os != null) { + configName.append('.'); + configName.append(os); + } + String arch = toolChain.getProperty(IToolChain.ATTR_ARCH); + if (arch != null && !arch.isEmpty()) { + configName.append('.'); + configName.append(arch); + } } String name = configName.toString(); int i = 0; -- cgit v1.2.3