diff options
author | Alena Laskavaia | 2011-11-23 00:34:55 +0000 |
---|---|---|
committer | Alena Laskavaia | 2011-11-23 00:34:55 +0000 |
commit | fc919d81b68f1d474c0b564d157b7acc16e2b0fc (patch) | |
tree | fe558351f6b6d0a3e01b287fdb101e19b7be1da5 | |
parent | a3dd98987aac6bbe923499647d75c6e1f135f654 (diff) | |
download | org.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.java | 10 | ||||
-rw-r--r-- | build/org.eclipse.cdt.managedbuilder.gnu.ui/plugin.xml | 10 |
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 |