Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 326170 - BuildDescriptionManager should handle out-of-workspace build-resources
Summary: BuildDescriptionManager should handle out-of-workspace build-resources
Status: NEW
Alias: None
Product: CDT
Classification: Tools
Component: cdt-build-managed (show other bugs)
Version: 8.0   Edit
Hardware: PC Windows XP
: P3 major (vote)
Target Milestone: ---   Edit
Assignee: Project Inbox CLA
QA Contact: Jonah Graham CLA
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-09-24 11:41 EDT by Baltasar Belyavsky CLA
Modified: 2020-09-04 15:27 EDT (History)
2 users (show)

See Also:


Attachments
Patch - applies to workspace. (2.95 KB, patch)
2010-09-24 11:43 EDT, Baltasar Belyavsky CLA
no flags Details | Diff
Patch in Git format (3.19 KB, patch)
2012-05-31 12:30 EDT, Baltasar Belyavsky CLA
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Baltasar Belyavsky CLA 2010-09-24 11:41:28 EDT
Build Identifier: I20100608-0911 (Eclipse 3.6.0, CDT 7.0.0)

During incremental managed makefile builds, the BuildDescriptionManager deletes build-resources affected by the source-delta before 'make' runs.  This ensures that if the incremental build fails, any stale build-resources get deleted (like object files, and the build artifact file).  The problem is that only workspace build-resources are handled.  Our tool-chain supports redirecting the object-files and the build-artifact to anywhere on the filesystem, and all our build-resources which are outside of the workspace get ignored by the BuildDescriptionManager.

The attached patch adds handling of out-of-workspace build-resources.

Reproducible: Always

Steps to Reproduce:
This can't really be reproduced in CDT's GCC integration, because it does not support redirecting of build-artifacts to any arbitrary location.  But our tool-chain integration implements custom compiler output-name-providers and command-line-generators to support such redirection, and this use-case is very important to our users.
Comment 1 Baltasar Belyavsky CLA 2010-09-24 11:43:01 EDT
Created attachment 179529 [details]
Patch - applies to workspace.
Comment 2 Baltasar Belyavsky CLA 2012-05-31 12:30:04 EDT
Created attachment 216588 [details]
Patch in Git format

This is still a problem for us in the latest CDT (8.1.0). Is there any way this patch can be accepted?

Basically, we need to remove the assumption that all build-resources are always physically within the project directory. As I've mentioned, this assumption always holds true for the generic CDT-supplied GCC tool-chain implementation (because it does not allow routing of OBJ files to arbitrary locations). But for custom tool-chains which do have that support, this is a significant limitation...

I'm attaching an updated patch, in GIT format.