miller/doc/content-for-build.html
2015-05-24 08:33:49 -04:00

41 lines
2.2 KiB
HTML

<p/><boldmaroon>To build</boldmaroon>: just run <tt>make</tt> in the <tt>c/</tt> subdirectory of <a
href="https://github.com/johnkerl/miller">the repo</a>. To install, run
<tt>make install</tt> after editing the <tt>install</tt> target in the
makefile to configure the destination.
<p/><boldmaroon>C compiler</boldmaroon>: I use
<pre>
gcc -std=gnu99 -Wall -Werror -O3
</pre>
(see the <a
href="https://github.com/johnkerl/miller/blob/master/c/Makefile">makefile</a>
for details) and I&rsquo;ve done so successfully on Ubuntu 12.04 LTS, SELinux,
and Darwin (MacOS Yosemite). I also use <a
href="http://valgrind.org/">valgrind</a> for detection of memory leaks and
runtime memory-access errors.
<p/><boldmaroon>Dependencies</boldmaroon>: In addition to GCC, the standard C
library, and <tt>lex</tt> (all of which are part of the Linux/Darwin
distributions), Miller uses the following dependencies which
are included within the <a href="https://github.com/johnkerl/miller">Miller source tree</a>:
<ul>
<li/><a href="http://en.wikipedia.org/wiki/Mersenne_Twister">Mersenne Twister</a> for pseudorandom-number
generation: <a href="https://github.com/johnkerl/miller/blob/master/c/lib/mtrand.c">C implementation by Nishimura and Matsumoto</a> with license terms respected.
<li/> <a href="http://www.jera.com/techinfo/jtns/jtn002.html">MinUnit</a> for unit-testing,
with as-is-no-warranty license <a href="http://www.jera.com/techinfo/jtns/jtn002.html#License">http://www.jera.com/techinfo/jtns/jtn002.html#License</a>,
<a href="https://github.com/johnkerl/miller/blob/master/c/lib/minunit.h">
https://github.com/johnkerl/miller/blob/master/c/lib/minunit.h</a>.
<li/> The <a href="http://www.hwaci.com/sw/lemon/">Lemon parser-generator</a>, the author of which
<a href="https://github.com/johnkerl/miller/blob/master/c/dsls/lemon.c">explicitly disclaims
copyright</a>.
</ul>
Lastly, this documentation pageset is built using Poki:
<a href="http://johnkerl.org/poki/doc">docs here</a>,
<a href="https://github.com/johnkerl/poki">source code here</a>.
<p/><boldmaroon>Testing</boldmaroon>: Miller uses MinUnit unit-test for key
classes including <tt>lrec_t</tt>. The remaining coverage (which is
exhaustive) is regression coverage of Miller using all data-transform options
and all I/O-format pairs.