STRIDE Build Tools: Difference between revisions
No edit summary |
No edit summary |
||
Line 23: | Line 23: | ||
===Intercept Module Generation=== | ===Intercept Module Generation=== | ||
* <h4>Single Intercept Module</h4> | |||
** <h5>Pre-build Instrumentation.</h5> | |||
The S2 compilation, binding and instrumentation are done before the user’s build. | The S2 compilation, binding and instrumentation are done before the user’s build. | ||
'''s2scompile''' is called first, then s2sbind, and finally s2sinstrument: | '''s2scompile''' is called first, then s2sbind, and finally s2sinstrument: | ||
'''s2scompile –I”C:\STRIDE\inc” –DN=100 file1.h file2.h''' | '''s2scompile –I”C:\STRIDE\inc” –DN=100 file1.h file2.h''' | ||
'''s2sbind –-starting_suid=123 test.sidb file1.meta file2.meta''' | '''s2sbind –-starting_suid=123 test.sidb file1.meta file2.meta''' | ||
'''s2sinstrument –-im_name=test -–mode=SDud(f1) -–mode=P(f2) test.sidb''' | '''s2sinstrument –-im_name=test -–mode=SDud(f1) -–mode=P(f2) test.sidb''' | ||
=====In-build Prototyping with Post-build Implementation===== | =====In-build Prototyping with Post-build Implementation===== | ||
The compilation, binding and IM prototyping (header files only generation) are done incrementally. For each component of the user’s build just a subset of SCL files are compiled, bound to a database (merged into the previously created database) and IM prototypes are generated for a set of interfaces defined in those SCL files. | The compilation, binding and IM prototyping (header files only generation) are done incrementally. For each component of the user’s build just a subset of SCL files are compiled, bound to a database (merged into the previously created database) and IM prototypes are generated for a set of interfaces defined in those SCL files. | ||
:s2scompile –I”C:\STRIDE\inc” –DN=100 file1.h | |||
:s2sbind –-starting_suid=123 test.sidb file1.meta | |||
:s2sinstrument –-im_name=test –prototype=p1 -–mode=SDud(f10,f11) test.sidb | |||
:s2scompile –I”C:\STRIDE\inc” –DN=100 file2.h | |||
:s2sbind –-input_database=test.sidb test.sidb file2.meta | |||
:s2sinstrument –-im_name=test –prototype=p2 -–mode=P(f20,f21) test.sidb | |||
:s2sinstrument –-im_name=test –implement -–mode=SDud(f10,f11) -–mode=P(f20,f21) test.sidb | |||
====Multiple Intercept Modules==== | ====Multiple Intercept Modules==== | ||
Line 48: | Line 48: | ||
This example shows how this can be accomplished. Notice that a unique name is specified for each IM when s2sinstrument is called: | This example shows how this can be accomplished. Notice that a unique name is specified for each IM when s2sinstrument is called: | ||
:s2scompile –I”C:\STRIDE\inc” –DN=100 file1.h | |||
:s2sbind –-starting_suid=123 test.sidb file1.meta | |||
:s2sinstrument –-im_name=test1 -–mode=SDud(f1) test.sidb | |||
:s2scompile –I”C:\STRIDE\inc” –DN=100 file2.h | |||
:s2sbind –-input_database=test.sidb test.sidb file2.meta | |||
:s2sinstrument –-im_name=test2 -–mode=P(f2) test.sidb |
Revision as of 19:42, 19 June 2008
Build Tools
Command line Utilities:
- The STRIDE compiler (s2scompile.exe)
- The STRIDE database binder (s2sbind.exe)
- The STRIDE instrumentation generator (s2sinstrument.exe)
Examples
Compiling multiple files
s2scompile –I"C:\STRIDE\inc" –DN=100 file1.h file2.h
Database Binding
s2sbind –-starting_suid=123 test.sidb file1.meta file2.meta
Intercept Module Generation
Single Intercept Module
Pre-build Instrumentation.
The S2 compilation, binding and instrumentation are done before the user’s build.
s2scompile is called first, then s2sbind, and finally s2sinstrument: s2scompile –I”C:\STRIDE\inc” –DN=100 file1.h file2.h s2sbind –-starting_suid=123 test.sidb file1.meta file2.meta s2sinstrument –-im_name=test -–mode=SDud(f1) -–mode=P(f2) test.sidb
In-build Prototyping with Post-build Implementation
The compilation, binding and IM prototyping (header files only generation) are done incrementally. For each component of the user’s build just a subset of SCL files are compiled, bound to a database (merged into the previously created database) and IM prototypes are generated for a set of interfaces defined in those SCL files.
- s2scompile –I”C:\STRIDE\inc” –DN=100 file1.h
- s2sbind –-starting_suid=123 test.sidb file1.meta
- s2sinstrument –-im_name=test –prototype=p1 -–mode=SDud(f10,f11) test.sidb
- s2scompile –I”C:\STRIDE\inc” –DN=100 file2.h
- s2sbind –-input_database=test.sidb test.sidb file2.meta
- s2sinstrument –-im_name=test –prototype=p2 -–mode=P(f20,f21) test.sidb
- s2sinstrument –-im_name=test –implement -–mode=SDud(f10,f11) -–mode=P(f20,f21) test.sidb
Multiple Intercept Modules
The compilation, binding and IM generation (headers and source) are done incrementally. For each component of the user’s build just a subset of SCL files are compiled, bound to a database (merged into the previously created database) and an IM generated for a set of interfaces defined in those SCL files. This example shows how this can be accomplished. Notice that a unique name is specified for each IM when s2sinstrument is called:
- s2scompile –I”C:\STRIDE\inc” –DN=100 file1.h
- s2sbind –-starting_suid=123 test.sidb file1.meta
- s2sinstrument –-im_name=test1 -–mode=SDud(f1) test.sidb
- s2scompile –I”C:\STRIDE\inc” –DN=100 file2.h
- s2sbind –-input_database=test.sidb test.sidb file2.meta
- s2sinstrument –-im_name=test2 -–mode=P(f2) test.sidb