Comments (4)
Regarding placing command-line arguments in files, GCC also supports this. Please, read this and this. Corresponding files may be temporary as well.
This enhancement can be treated as more generic although it is not specified in the issue description. Indeed, in this way we can process all files that are removed after builds are completed. These files are not necessary temporary ones and they can be even source files.
Another bad case is overwriting required [likely just source] files during builds. Let's assume that for build command A a build process generates source file in.c and then it removes this file and generates one more time but with a different content for build command B. So, in ideal you need to store both versions of the same file and allow to use a required version of it rather easily and efficiently. Although this is possible but it seems to happen much less often than just removing files during builds. Thus, we can keep this in mind but do not implement, as it is quite hard, it complicates usage and breaks performance.
from clade.
My implementation will be very generic: it will allow any extension to perform any action on intercepted build command (including its changing) before its execution. For example, if CC extension will want to save some file that will be overwritten, or to read command-line arguments from a temporary file - it will be able to do so.
And thank you for information about command files - it is quite interesting.
from clade.
Implemented, but currently not used.
from clade.
I suggest to support an ability to get dependencies for C files as well as to preprocess them in parallel with build (likely there should be an option that will change current implementations slightly rather than a completely different implementations). You can introduce a simple test case that will fail without this, e.g. some header files and even C files can be created and removed during a build.
from clade.
Related Issues (20)
- Clarify entity kind for references from
- Do not duplicate references from expansions HOT 1
- Clade should fail if intercepted build process fails HOT 1
- Clade can not capture dependencies when build is performed within directory having spaces in its name HOT 1
- Clade does not take into account -isysroot preprocessor option
- Treat Aspectator as one more compiler
- Clade can not capture dependencies when build is performed within directory having colons in its name HOT 1
- Log stage execution time in addition to start time HOT 1
- Invalid Clade version HOT 6
- Optimize memory consumption for Clade queries HOT 5
- Clade sometimes cannot import chardet module HOT 2
- UnboundLocalError: local variable 'r' referenced before assignment
- Collecting dependencies on Windows was broken HOT 2
- Clade does not work when directories are located on different filesystems
- UnicodeDecodeError when preparing Klever build base for linux-3.14.79 HOT 4
- Improve error message at checking outdated build bases
- Remove duplicate entries in output of Variables extension HOT 1
- Support new features of CIF HOT 1
- Improve error logs of various extensions
- Intercept build commands using ptrace HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from clade.