aboutsummaryrefslogtreecommitdiffstats
path: root/chapter06/flex.xml
diff options
context:
space:
mode:
Diffstat (limited to 'chapter06/flex.xml')
-rw-r--r--chapter06/flex.xml47
1 files changed, 46 insertions, 1 deletions
diff --git a/chapter06/flex.xml b/chapter06/flex.xml
index bf7ddd59f..d202df991 100644
--- a/chapter06/flex.xml
+++ b/chapter06/flex.xml
@@ -7,6 +7,51 @@ Estimated required disk space: &flex-compsize;</screen>
&aa-flex-shortdesc;
&aa-flex-dep;
-&c6-flex-inst;
+
+<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
+
+<sect2>
+<title>Installation of Flex</title>
+
+<para>Prepare Flex for compilation:</para>
+
+<screen><userinput>./configure --prefix=/usr</userinput></screen>
+
+<para>Compile the package:</para>
+
+<screen><userinput>make</userinput></screen>
+
+<para>This package has a test suite available which can perform a number of
+checks to ensure it built correctly. Should you choose to run it, the
+following command will do so:</para>
+
+<screen><userinput>make bigcheck</userinput></screen>
+
+<para>And install the package:</para>
+
+<screen><userinput>make install</userinput></screen>
+
+<para>There are some packages that expect to find the Lex library in
+<filename>/usr/lib</filename>. Create a symlink to account for this:</para>
+
+<screen><userinput>ln -s libfl.a /usr/lib/libl.a</userinput></screen>
+
+<para>A few programs don't know about <userinput>flex</userinput> yet and try
+to run its predecessor <userinput>lex</userinput>. To support those programs,
+create a shell script named <filename>lex</filename> that calls
+<userinput>flex</userinput> in Lex emulation mode:</para>
+
+<screen><userinput>cat &gt; /usr/bin/lex &lt;&lt; "EOF"</userinput>
+#!/bin/sh
+# Begin /usr/bin/lex
+
+exec /usr/bin/flex -l "$@"
+
+# End /usr/bin/lex
+<userinput>EOF
+chmod 755 /usr/bin/lex</userinput></screen>
+
+</sect2>
</sect1>
+