Replies: 1 comment 2 replies
-
Here's a simple proposal that can provide the choice and flexibility for build tool implementers to capture temporary output. The spec could provide a general guidance like the following -
|
Beta Was this translation helpful? Give feedback.
2 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
During the build process, output could be produced that is ephemeral. Should such output be captured in the OmniBOR document a.k.a Artifact Input Manifest (AIM) ?
For example, consider the build command 'gcc -c foo.c -o foo.o'
The above command implicitly does
cc foo.c -o tmp-foo.s
as tmp-foo.s -o foo.o
If we enable OMNIBOR_DIR environment variable, the compiler front-end and assembler becomes OmniBOR aware and we may potentially end up creating AIM for the output corresponding to tmp-foo.s and foo.o unless the assembler is taught NOT to create AIM or embed OmniBOR in certain situations. (Note that If OmniBOR was enabled by command line options instead of an environment variable, then we could avoid creating AIM for tmp-foo.s). Once the gcc command completes execution, the output file tmp-foo.s is not guaranteed to exist. So should AIM include that as a dependency for the output file foo.o ?
Note that tmp-foo.s will correspond to a non-leaf artifact in the AIM, the leaf artifact (foo.c) would still be persistent.
In general, the questions/points discussed so far are:
Beta Was this translation helpful? Give feedback.
All reactions