Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlena Laskavaia2011-11-23 00:34:55 +0000
committerAlena Laskavaia2011-11-23 00:34:55 +0000
commitfc919d81b68f1d474c0b564d157b7acc16e2b0fc (patch)
treefe558351f6b6d0a3e01b287fdb101e19b7be1da5
parenta3dd98987aac6bbe923499647d75c6e1f135f654 (diff)
downloadorg.eclipse.cdt-fc919d81b68f1d474c0b564d157b7acc16e2b0fc.tar.gz
org.eclipse.cdt-fc919d81b68f1d474c0b564d157b7acc16e2b0fc.tar.xz
org.eclipse.cdt-fc919d81b68f1d474c0b564d157b7acc16e2b0fc.zip
Bug 210248 - [Internal Builder]does not rebuild a dependent project in
case of a reference library project change - fixed external builder
-rw-r--r--build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/AdditionalInput.java10
-rw-r--r--build/org.eclipse.cdt.managedbuilder.gnu.ui/plugin.xml10
2 files changed, 14 insertions, 6 deletions
diff --git a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/AdditionalInput.java b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/AdditionalInput.java
index 01c05fd9479..0ac2ec3976f 100644
--- a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/AdditionalInput.java
+++ b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/AdditionalInput.java
@@ -337,7 +337,8 @@ public class AdditionalInput implements IAdditionalInput {
if (fRebuildState)
return fRebuildState;
if (fKind.intValue() == IAdditionalInput.KIND_ADDITIONAL_DEPENDENCY
- || fKind.intValue() == IAdditionalInput.KIND_ADDITIONAL_INPUT_DEPENDENCY) {
+ || fKind.intValue() == IAdditionalInput.KIND_ADDITIONAL_INPUT_DEPENDENCY
+ || isLibrariesInput()) {
IToolChain toolChain = getToolChain();
if (!toolChain.isExtensionElement()) {
long artifactTimeStamp = getArtifactTimeStamp(toolChain);
@@ -395,6 +396,13 @@ public class AdditionalInput implements IAdditionalInput {
return 0;
}
+ private boolean isLibrariesInput() {
+ // libraries are of the "additionalinput" kind, not "additionalinputdependency" because otherwise the
+ // external make builder would generate makefiles with $(LIBS) in the dependency list, resulting in
+ // failure to build dependency -lxyz etc.
+ return (fKind.intValue() == IAdditionalInput.KIND_ADDITIONAL_INPUT && Arrays.asList(getPaths()).contains("$(LIBS)")); //$NON-NLS-1$
+ }
+
private boolean dependencyChanged(String sPath, long artefactTimeStamp) {
try {
IToolChain toolChain = getToolChain();
diff --git a/build/org.eclipse.cdt.managedbuilder.gnu.ui/plugin.xml b/build/org.eclipse.cdt.managedbuilder.gnu.ui/plugin.xml
index 3fce76a186d..ddc4c317689 100644
--- a/build/org.eclipse.cdt.managedbuilder.gnu.ui/plugin.xml
+++ b/build/org.eclipse.cdt.managedbuilder.gnu.ui/plugin.xml
@@ -176,7 +176,7 @@
</additionalInput>
<additionalInput
paths="$(LIBS)"
- kind="additionalinputdependency">
+ kind="additionalinput">
</additionalInput>
</inputType>
<outputType
@@ -377,7 +377,7 @@
</additionalInput>
<additionalInput
paths="$(LIBS)"
- kind="additionalinputdependency">
+ kind="additionalinput">
</additionalInput>
</inputType>
<outputType
@@ -458,7 +458,7 @@
</additionalInput>
<additionalInput
paths="$(LIBS)"
- kind="additionalinputdependency">
+ kind="additionalinput">
</additionalInput>
</inputType>
<outputType
@@ -746,7 +746,7 @@
</additionalInput>
<additionalInput
paths="$(LIBS)"
- kind="additionalinputdependency">
+ kind="additionalinput">
</additionalInput>
</inputType>
<outputType
@@ -911,7 +911,7 @@
</additionalInput>
<additionalInput
paths="$(LIBS)"
- kind="additionalinputdependency">
+ kind="additionalinput">
</additionalInput>
</inputType>
<outputType

Back to the top