<?xml version="1.0" encoding="UTF-8"?>
<!-- vi:set ts=4: -->
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
                   "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [

	<!ENTITY binary "fauhdlc">
]>
<!-- 
  $Id$

  Copyright (C) 2009-2010 FAUmachine Team <info@faumachine.org>.
  This program is free software, GPL-2 (or any later version). See COPYING.
-->
<refentry>
	<refentryinfo>
		<address>
			<email>&lt;info@faumachine.org&gt;</email>
		</address>
		<corpauthor>FAUmachine Team</corpauthor>
		<copyright>
			<year>2009-2010</year>
			<holder>
				FAUmachine Team.
				Developed at Friedrich Alexander University 
				Erlangen-Nuremberg.
			</holder>
		</copyright>
		<legalnotice>
			<para>
				FAUhdlc comes with ABSOLUTELY NO WARRANTY.
				FAUhdlc is free software; you can redistribute
				it and/or modify it under the terms of the GNU
				General Public License as published by the
				Free Software Foundation; either version 2 of
				the License, or (at your option) any later 
				version. See COPYING for details.
			</para>
		</legalnotice>
	</refentryinfo>
	<refmeta>
		<refentrytitle>FAUHDLC</refentrytitle>
		<manvolnum>1</manvolnum>
	</refmeta>
	<refnamediv>
    		<refname>&binary;</refname>
		<refpurpose>
			Compile VHDL files to intermediate code.
		</refpurpose>
	</refnamediv>
	<refsynopsisdiv>
		<cmdsynopsis>
			<command>&binary;</command>
	      	<arg>
				<option>flags</option>
			</arg>
			<arg>
				<option>
					--output
					<replaceable>filename</replaceable>
				</option>
			</arg>
			<arg>
				<option>
					--c-output
					<replaceable>filename</replaceable>
				</option>
			</arg>
	      	<arg rep="repeat">
				<option>
					--lib
					<replaceable>library</replaceable>
				</option>
				<arg>
					<option>
						<replaceable>vhdl-file</replaceable>
					</option>
				</arg>
			</arg>
			<arg choice="req" rep="repeat">
				<option>
					<replaceable>vhdl-file</replaceable>
				</option>
			</arg>
		</cmdsynopsis>
	</refsynopsisdiv>
	<refsect1>
	<title>DESCRIPTION</title>
		<para>
			<command>&binary;</command> is a VHDL compiler, that
			will output intermediate code or C-code.
			It supports a subset of the VHDL 2000 standard.
		</para>
	</refsect1>
	<refsect1>
		<title>OPTIONS</title>
		<para>
			These programs follow the usual GNU command line 
			syntax, with long options starting with two dashes 
			(`-'). A summary of options is included below.
		</para>
		<variablelist>
			<varlistentry>
				<term>
					<option>-h</option>,
					<option>--help</option>
				</term>
				<listitem>
					<para>Show summary of options.</para>
				</listitem>
			</varlistentry>
			<varlistentry>
				<term>
					<option>-o</option>,
					<option>--output</option>
					<replaceable>output-file</replaceable>
				</term>
				<listitem>
					<para>
						Output intermediate code into
						<replaceable>output-file</replaceable>.
					</para>
				</listitem>
			</varlistentry>
			<varlistentry>
				<term>
					<option>-l</option>,
					<option>--lib</option>
					<replaceable>library-name</replaceable>
				</term>
				<listitem>
					<para>
						Put the following VHDL-files into the library 
						with name <replaceable>library-name</replaceable>.
						If no <option>--lib</option> is present, all files
						will be put into the library "work".
					</para>
				</listitem>
			</varlistentry>
			<varlistentry>
				<term>
					<option>-f</option>,
					<option>--freestanding</option>
				</term>
				<listitem>
					<para>
						Do not preload any library except std.vhdl.
						By default, <command>&binary;</command> will preload 
						common libraries (currently only std_logic_1164) in
						the	appropriate library namespace.
						The <option>--freestanding</option> prevents this
						behaviour, for example if you want to override 
						the implementation of such a library.
					</para>
				</listitem>
			</varlistentry>
			<varlistentry>
				<term>
					<option>-Werror</option>
				</term>
				<listitem>
					<para>
						Treat warnings as errors.
					</para>
				</listitem>
			</varlistentry>
			<varlistentry>
				<term>
					<option>-p</option>,
					<option>--parse-only</option>
				</term>
				<listitem>
					<para>
						Stop with compilation after 
						parsing the source file(s).
						Mainly useful for debugging 
						the compiler.
					</para>
				</listitem>
			</varlistentry>
			<varlistentry>
				<term>
					<option>-d</option>,
					<option>--dot-parse</option>
					<replaceable>dot-file</replaceable>
				</term>
				<listitem>
					<para>
						Output the raw syntax tree into 
						<replaceable>dot-file</replaceable>, 
						which can be used with the GraphViz	tools.
					</para>
				</listitem>
			</varlistentry>
			<varlistentry>
				<term>
					<option>-c</option>,
					<option>--dot-const</option>
					<replaceable>dot-file</replaceable>
				</term>
				<listitem>
					<para>
						Output the syntax tree that exists after performing
						constant folding into 
						<replaceable>dot-file</replaceable>,
						which can be used with the GraphViz	tools.
					</para>
				</listitem>
			</varlistentry>
			<varlistentry>
				<term>
					<option>-C</option>,
					<option>--c-output</option>
					<replaceable>c-file</replaceable>
				</term>
				<listitem>
					<para>
					    Generate output as a C file
						<replaceable>c-file</replaceable>, 
						that can be compiled
						with a C-compiler, e.g. <command>gcc</command>.
						This option is yet experimental.
					</para>
<!-- FIXME: Example of compile options for gcc -->
				</listitem>
			</varlistentry>
		</variablelist>
	</refsect1>
	<refsect1>
		<title>SEE ALSO</title>
		<para>
			<citerefentry>
				<refentrytitle>fauhdli</refentrytitle>
				<manvolnum>1</manvolnum>
			</citerefentry>
		</para>
	</refsect1>
	<refsect1>
		<title>CONTACT</title>
		<para>
			Please report all bugs to FAUmachine Team
			<email>info@faumachine.org</email>.
			<ulink url="http://www.faumachine.org">FAUmachine/fauhdlc Homepage
			</ulink>.
		</para>
	</refsect1>
</refentry>
