Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlena Laskavaia2011-11-22 19:34:55 -0500
committerAlena Laskavaia2011-11-22 19:34:55 -0500
commitfc919d81b68f1d474c0b564d157b7acc16e2b0fc (patch)
treefe558351f6b6d0a3e01b287fdb101e19b7be1da5 /build/org.eclipse.cdt.managedbuilder.core
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
Diffstat (limited to 'build/org.eclipse.cdt.managedbuilder.core')
-rw-r--r--build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/AdditionalInput.java10
1 files changed, 9 insertions, 1 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 01c05fd947..0ac2ec3976 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();

Back to the top