diff --git a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/buildmodel/BuildDescription.java b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/buildmodel/BuildDescription.java index 8bff0c06021..dde1a0a9c4f 100644 --- a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/buildmodel/BuildDescription.java +++ b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/buildmodel/BuildDescription.java @@ -391,6 +391,9 @@ public class BuildDescription implements IBuildDescription { DbgUtil.traceln("--->Synch started"); //$NON-NLS-1$ BuildDescriptionManager.accept(new RebuildStateSynchronizer(), this, true); + + if(fOutputStep.needsRebuild()) + fInputStep.setRebuildState(true);//needed for the pre-build step invocation if(DbgUtil.DEBUG) DbgUtil.traceln("<---Synch stopped"); //$NON-NLS-1$ diff --git a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/buildmodel/GenDirInfo.java b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/buildmodel/GenDirInfo.java index 0c7ec2e950b..a4475267ef7 100644 --- a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/buildmodel/GenDirInfo.java +++ b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/buildmodel/GenDirInfo.java @@ -47,7 +47,7 @@ public class GenDirInfo { if(path != null && fProjPath.isPrefixOf(path)){ path = path.removeLastSegments(1).removeFirstSegments(1); - if(fDirPathSet.add(path)){ + if(path.segmentCount() > 0 && fDirPathSet.add(path)){ IFolder folder = fProject.getFolder(path); if(!folder.exists()){ try {