<varlistentry>
<term>
+ <option>-pgmm</option> <replaceable>cmd</replaceable>
+ <indexterm><primary><option>-pgmm</option></primary></indexterm>
+ </term>
+ <listitem>
+ <para>Use <replaceable>cmd</replaceable> as the
+ mangler.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>
+ <option>-pgms</option> <replaceable>cmd</replaceable>
+ <indexterm><primary><option>-pgms</option></primary></indexterm>
+ </term>
+ <listitem>
+ <para>Use <replaceable>cmd</replaceable> as the
+ splitter.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>
<option>-pgma</option> <replaceable>cmd</replaceable>
<indexterm><primary><option>-pgma</option></primary></indexterm>
</term>
<varlistentry>
<term>
- <option>-pgmdep</option> <replaceable>cmd</replaceable>
- <indexterm><primary><option>-pgmdep</option></primary></indexterm>
- </term>
- <listitem>
- <para>Use <replaceable>cmd</replaceable> as the dependency
- generator.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>
<option>-pgmF</option> <replaceable>cmd</replaceable>
<indexterm><primary><option>-pgmF</option></primary></indexterm>
</term>
</varlistentry>
<varlistentry>
<term>
+ <option>-optm</option> <replaceable>option</replaceable>
+ <indexterm><primary><option>-optm</option></primary></indexterm>
+ </term>
+ <listitem>
+ <para>Pass <replaceable>option</replaceable> to the mangler.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
<option>-opta</option> <replaceable>option</replaceable>
<indexterm><primary><option>-opta</option></primary></indexterm>
</term>
are fed to <replaceable>cmd</replaceable> on the command
line after the three standard input and output
arguments.</para>
+
+ <para>
+ An example of a pre-processor is to convert your source files to the
+ input encoding that GHC expects, i.e. create a script
+ <literal>convert.sh</literal> containing the lines:
+ </para>
+
+<screen>#!/bin/sh
+( echo "{-# LINE 1 \"$2\" #-}" ; iconv -f l1 -t utf-8 $2 ) > $3</screen>
+
+ <para>and pass <literal>-F -pgmF convert.sh</literal> to GHC.
+ The <literal>-f l1</literal> option tells iconv to convert your
+ Latin-1 file, supplied in argument <literal>$2</literal>, while
+ the "-t utf-8" options tell iconv to return a UTF-8 encoded file.
+ The result is redirected into argument <literal>$3</literal>.
+ The <literal>echo "{-# LINE 1 \"$2\" #-}"</literal>
+ just makes sure that your error positions are reported as
+ in the original source file.</para>
</listitem>
</varlistentry>
</variablelist>
<literal>ghc</literal> is not clever
enough to figure out that they both need recompiling. You can
force recompilation by removing the object file, or by using the
- <option>-no-recomp</option> flag.
+ <option>-fforce-recomp</option> flag.
</para>
</listitem>
</varlistentry>