<div dir="ltr"><div>main_script lets you specify the Tcl script that's run on application startup.  To run a compiled Swift program, you set main_script to point to the Tcl output file.  mkstatic.tcl doesn't need Swift source files.<br>
<br></div><div>Note that you only need to fill in the fields in the "Manifest info" section to generate the C main program.  You probably only need the follow to generate the C code:<br><br># Name and version of Tcl package<br>
pkg_name=flex_pep_docking_or_whatever<br>pkg_version=0.0<br><br># C function names to initialise Tcl modules<br># These follow the Tcl naming convention, e.g., Userlib_Init<br># Use nm on your extension object code to find this symbol<br>
lib_init=_Z24FlexPepDocking_wrap_InitP10Tcl_Interp<br><br># lib scripts are executed in specified order, before main_script and<br># after lib_inits<br>lib_script=../flexpep_docking/user-code.tcl<br><br># headers for user Tcl code, e.g. lib_init functions<br>
lib_include=../flexpep_docking/FlexPepDocking_wrap.h<br><br># main script (generated by STC). <br># If provided, always runs this main script.  <br># Otherwise, the script file is specified at run time as the <br># first command line argument (like tclsh)<br>
main_script = stc_output_file.tcl<br><br></div><div><br></div>- Tim<br></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, May 28, 2014 at 9:17 AM, Ketan Maheshwari <span dir="ltr"><<a href="mailto:ketan@mcs.anl.gov" target="_blank">ketan@mcs.anl.gov</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Thanks. One more question:<div><br></div><div>I am not sure where should I provide the application source file in the manifest files? </div>
<div><br></div><div>Thanks,</div><div>Ketan</div></div><div class="gmail_extra">
<br><br><div class="gmail_quote"><div class="">On Tue, May 27, 2014 at 2:14 PM, Tim Armstrong <span dir="ltr"><<a href="mailto:tim.g.armstrong@gmail.com" target="_blank">tim.g.armstrong@gmail.com</a>></span> wrote:<br>
</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">




<div>
<div dir="ltr"><br>
<div class="gmail_extra"><br>
<br>
<div class="gmail_quote"><div><div class="">On Tue, May 27, 2014 at 1:50 PM, Ketan Maheshwari <span dir="ltr">
<<a href="mailto:ketan@mcs.anl.gov" target="_blank">ketan@mcs.anl.gov</a>></span> wrote:<br>
</div><div class=""><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div dir="ltr">Hi,
<div><br>
</div>
<div>Trying to get the Rosetta application static build for Turbine using mkstatic.tcl.</div>
<div><br>
</div>
<div>I am a bit confused about the entries in the manifest file:</div>
<div><br>
</div>
<div>1. The purpose of lib_script option is not very clear to me. What scripts are supposed to go in there? The template lists user_stuff1.tcl, user_stuff2.tcl.</div>
<div><br>
</div>
</div>
</blockquote>
</div></div><div class=""><div>Any Tcl scripts that you want to run when the library loads.  E.g. if you set pkg_name=the_pkg and lib_script=the_pkg.tcl, then pkg.tcl will be included in the executable.  It's run when the Tcl user script does a "package require the_pkg".<br>


</div></div><div>
<div> </div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr">
<div></div>
<div>2. The lib_include entry: does it accept both include dirs and header files?</div>
</div>
</blockquote>
</div><div>It has to be a header file - it will just add a #include at the top of the C main file.  You have to provide any include directory flags to the C compiler later when you compile it.<br>
</div><div>
<div> </div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr">
<div><br>
</div><div class="">
<div>3. From the documentation <a href="http://www.mcs.anl.gov/exm/local/guides/swift.html#mkstatic" target="_blank">http://www.mcs.anl.gov/exm/local/guides/swift.html#mkstatic</a>, I see that there are options at commandline such as --include-lib and --include-system-lib.
 Are these in lieu of the ones in the manifest?</div>
</div></div>
</blockquote>
</div><div>These let you link in entire library directories.  <br><div class="">
<br>
--include-system-lib is for the Tcl standard library directory that is always loaded on startup - it links the files into the executable so that it doesn't need to load them off disk.  It's mainly for performance, but it can help build entirely self-contained
 executables.<br>
<br>
 --include-lib  lets you link in an external library, e.g. a directory of Tcl files, or a directory with a pkgIndex.tcl file.  These are set up to to be loaded on demand with "package require".  --include-lib <dir> is essentially an alternative to setting TURBINE_USER_LIB=<dir>.<br>


<br>
</div></div><div class="">
<div> </div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr">
<div><br>
</div>
<div>Thanks,</div>
<div>Ketan</div>
</div>
<br>
_______________________________________________<br>
ExM-user mailing list<br>
<a href="mailto:ExM-user@lists.mcs.anl.gov" target="_blank">ExM-user@lists.mcs.anl.gov</a><br>
<a href="https://lists.mcs.anl.gov/mailman/listinfo/exm-user" target="_blank">https://lists.mcs.anl.gov/mailman/listinfo/exm-user</a><br>
<br>
</blockquote>
</div></div>
<br>
</div>
</div>
</div>

</blockquote></div><br></div>
</blockquote></div><br></div>