Thanks, this is exactly what I was looking for!<div><br><div>I might look some more into exposing VCS tags too, however.<br><br><div class="gmail_quote">On Wed, Feb 22, 2012 at 12:25 PM, Roel van Dijk <span dir="ltr">&lt;<a href="mailto:vandijk.roel@gmail.com">vandijk.roel@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">For each package &quot;myPackage&quot; Cabal generates a module containing,<br>
among other things, the package&#39;s version as a Haskell value:<br>
<br>
&gt; import Paths_myPackage ( version )<br>
&gt; import Data.Version  ( showVersion )<br>
&gt; main = showVersion version<br>
<br>
See also &quot;Accessing data files from package code&quot; in<br>
<a href="http://www.haskell.org/cabal/users-guide/" target="_blank">http://www.haskell.org/cabal/users-guide/</a><br>
<br>
I do not now how to expose information from the VCS.<br>
<br>
2012/2/22 Eugene Kirpichov &lt;<a href="mailto:ekirpichov@gmail.com">ekirpichov@gmail.com</a>&gt;:<br>
<div class="HOEnZb"><div class="h5">&gt; Hi,<br>
&gt;<br>
&gt; I&#39;d like my program to print something like &quot;this is $program 1.0.4 git<br>
&gt; 45fea6b&quot; when invoked with --version, or at least just the 1.0.4 part.<br>
&gt;<br>
&gt; Can Cabal expose the version as a preprocessor macro by default, or do I<br>
&gt; have to use Build-Type: Custom and add a preprocessing step of my own?<br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br>Eugene Kirpichov<br>Principal Engineer, Mirantis Inc. <a href="http://www.mirantis.com/" target="_blank">http://www.mirantis.com/</a><br>Editor, <a href="http://fprog.ru/" target="_blank">http://fprog.ru/</a><br>

</div></div>