<div dir="ltr"><div><br></div>Forgot to send this to the list.<br></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, May 29, 2014 at 8:06 AM, Tim Armstrong <span dir="ltr"><<a href="mailto:tim.g.armstrong@gmail.com" target="_blank">tim.g.armstrong@gmail.com</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"><div>Another thing I should mention is that you can source the turbine-build-config,sh script under turbine to get many of the variables you need e.g. install dirs, tcl version, linker flags.<span class="HOEnZb"><font color="#888888"><br>
<br></font></span></div><span class="HOEnZb"><font color="#888888">- Tim<br>
</font></span></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, May 28, 2014 at 9:40 AM, Tim Armstrong <span dir="ltr"><<a href="mailto:tim.g.armstrong@gmail.com" target="_blank">tim.g.armstrong@gmail.com</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"><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<span><font color="#888888"><br><br></font></span></div><span><font color="#888888"><div><br></div>- Tim<br></font></span></div><div><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>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>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><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><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>
<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>
<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>
<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>
</div></div></blockquote></div><br></div>
</div></div></blockquote></div><br></div>