From 6c8e4c45f4215bf4211f5442fde427a699312bef Mon Sep 17 00:00:00 2001 From: Liviu Ionescu Date: Thu, 24 Oct 2013 18:00:33 +0300 Subject: [PATCH] Bug 322168: source files with specific settings disable secondary outputs Change-Id: I86caab2a842ef821606cf589c194b8deee91c5ec Signed-off-by: Liviu Ionescu Reviewed-on: https://git.eclipse.org/r/17735 Tested-by: Hudson CI Reviewed-by: Andrew Gvozdev IP-Clean: Andrew Gvozdev Tested-by: Andrew Gvozdev --- .../eclipse/cdt/managedbuilder/internal/core/Tool.java | 2 ++ .../managedbuilder/makegen/gnu/GnuMakefileGenerator.java | 8 +++++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/Tool.java b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/Tool.java index 93b00d76f6b..1d8e5d8c742 100644 --- a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/Tool.java +++ b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/Tool.java @@ -9,6 +9,7 @@ * IBM - Initial API and implementation * Baltasar Belyavsky (Texas Instruments) - [279633] Custom option command-generator support * Miwako Tokugawa (Intel Corporation) - bug 222817 (OptionCategoryApplicability) + * Liviu Ionescu - [322168] *******************************************************************************/ package org.eclipse.cdt.managedbuilder.internal.core; @@ -4047,6 +4048,7 @@ public class Tool extends HoldsOptions implements ITool, IOptionCategory, IMatch // find matching option try { if (op1.getValueType() == op2.getValueType() && + op1.getName() != null && op1.getName().equals(op2.getName())) { Object ob1 = op1.getValue(); Object ob2 = op2.getValue(); diff --git a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/makegen/gnu/GnuMakefileGenerator.java b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/makegen/gnu/GnuMakefileGenerator.java index 8c275d9924a..8f3d7effdb0 100644 --- a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/makegen/gnu/GnuMakefileGenerator.java +++ b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/makegen/gnu/GnuMakefileGenerator.java @@ -12,6 +12,7 @@ * Anna Dushistova (Mentor Graphics) - [307244] extend visibility of fields in GnuMakefileGenerator * James Blackburn (Broadcom Corp.) * Marc-Andre Laperle + * Liviu Ionescu - [322168] *******************************************************************************/ package org.eclipse.cdt.managedbuilder.makegen.gnu; @@ -4013,7 +4014,12 @@ public class GnuMakefileGenerator implements IManagedBuilderMakefileGenerator2 { Set>> set = buildOutVars.entrySet(); for (Entry> entry : set) { String macroName = entry.getKey(); - addMacroAdditionPrefix(map, macroName, "", false); //$NON-NLS-1$ + + // for projects with specific setting on folders/files do + // not clear the macro value on subsequent passes + if (!map.containsKey(macroName)) { + addMacroAdditionPrefix(map, macroName, "", false); //$NON-NLS-1$ + } } // Set of input extensions for which macros have been created so far