<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!--
* $Rev$
* $Date$
*
* ***** BEGIN LICENSE BLOCK *****
*
* Version: MPL 1.1
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with the
* License. You may obtain a copy of the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for
* the specific language governing rights and limitations under the License.
*
* The Original Code is dlg_configcompilers.htm
*
* The Initial Developer of the Original Code is Peter Johnson
* (http://www.delphidabbler.com/).
*
* Portions created by the Initial Developer are Copyright (C) 2005-2012 Peter
* Johnson. All Rights Reserved.
*
* Contributor(s)
* NONE
*
* ***** END LICENSE BLOCK *****
-->
<html>
<head>
<meta
http-equiv="Content-Type"
content="text-html; charset=Windows-1252">
<title>
Configure Compilers Dialogue Box
</title>
<link
rel="stylesheet"
href="../css/codesnip.css"
type="text/css">
</head>
<body>
<object
type="application/x-oleobject"
classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e">
<param
name="ALink Name"
value="CompilersDlg">
</object>
<h1>
<a
name="dlg_configcompilers"></a> <img
alt="Menu icon"
src="../images/ConfigCompilers.gif"
class="glyph"> Configure Compilers Dialogue Box
</h1>
<p>
This dialogue box is used to let <em>CodeSnip</em> know about the Pascal
Compilers that are installed on the system. It is displayed using the
<em>Tools | Configure Compilers</em> menu option. <em>CodeSnip</em> uses
these compilers when <a href="about_compiler_checks.htm">test
compiling</a> routines.
</p>
<p>
Supported compilers are listed on the left hand side of the dialogue. If a
compiler is known to <em>CodeSnip</em> its name appears in bold. Unknown
compilers (or compilers that are not installed on the local system)
appear in plain text.
</p>
<p>
Any changes you make do not affect other users.
</p>
<p>
Selecting a compiler on the left displays information about it on the
right hand side of the dialogue. Here you enter or edit the required
information on three tabs, as follows.
</p>
<h2>
Compiler Tab
</h2>
<p>
Enter the the full path to the compiler's executable file. This must
be the command line version of the compiler - for example Delphi's
DCC32.exe. You can either type in the name of the file or choose from a
standard file dialogue by clicking the ellipsis button to the right of the
edit box. As soon as the cursor leaves the edit box the selected compiler
is assigned the file name and the compiler name will be emboldened.
</p>
<h2>
Switches
</h2>
<p>
<em>CodeSnip</em> passes certain switches to the command line of each
supported compiler. You can edit these switches if you wish the compilers
to perform differently. You can add, delete or edit switches as follows:
</p>
<ul>
<li>
<em>Add a switch</em>. Enter its name in the edit box and click <em>
Add</em>.
</li>
<li>
<em>Delete a switch</em>. Select the switch in the list box the click
the <em>Delete</em> button.
</li>
<li>
<em>Edit a switch</em>. Select the switch in the list box to copy it to
the edit box. Change the switch and click <em>Replace</em>.
</li>
<li>
<em>Restore default switches</em>. Click the <em>Defaults</em> button.
This can be useful if you have made some changes to switches and <em>
CodeSnip</em> ceases to function properly.
</li>
</ul>
<p>
<strong
class="warning"
>Warning:</strong> You should not remove any switches that cause the
compilers to generate warnings and error messages since <em>CodeSnip</em>
will not detect compilation errors correctly without these switches. You
are strongly recommended not to pass any switches that alter the
compiler's output otherwise <em>CodeSnip</em> may fail to operate
correctly.
</p>
<p>
For an explanation of the purpose of the switches please see your
compiler's documentation.
</p>
<h2>
Search Paths
</h2>
<p>
If you have your own or third party units you want your user-defined
routines to reference you need to tell the compilers where to find them.
This tab lets you do just that. Because you often use different versions
of the same unit for different compilers, you must set up each compiler's
search path separately.
</p>
<p>
The <em>Existing Paths</em> list displays any current search paths. You
edit the search paths as follows:
</p>
<ul>
<li>
<em>Add a path</em>. Enter the required directory in the <em>Add or edit
path</em> edit box then click <em>Add</em>. You can browse for a
directory by clicking the ellipsis button to the right of the edit
control to display a <a
href="dlg_browsesearchdir.htm"
>Browse</a> dialogue box.
</li>
<li>
<em>Edit an existing path</em>. Select the directory in the list box.
This copies the directory name to the edit control. Modify the name then
click <em>Replace</em>.
</li>
<li>
<em>Delete a path</em>. Select it in the list box and press
<em>Delete</em>.
</li>
<li>
<em>Change the order of the search paths</em>. Select a directory in the
list box then moving it up and down the list using the buttons that
display the up and down arrows. <span class="smallcaps">Ctrl+Up</span>
and <span class="smallcaps">Ctrl+Down</span> have the same effect.
</li>
</ul>
<h2>
Output Log Tab
</h2>
<p>
<em>CodeSnip</em> logs and examines the output of the compiler to
determine if the compilation was clean or contained warnings. It also
examines the output for error messages when the compilation fails. A
summary of the logged output can be displayed by the user when warnings
or errors occur. Instead of displaying the whole log the program filters
out the required messages. It does this by looking for some common text
that preceeds the messages in the log. These prefixes are listed in the
<em>Log Prefixes</em> editor.
</p>
<p>
If you are using an English language version of a compiler the default
values will be correct. For all Delphis and Free Pascal the default
values are:
</p>
<ul>
<li>
For fatal errors: "Fatal: "
</li>
<li>
For general errors: "Error: "
</li>
<li>
For warnings: "Warning: "
</li>
</ul>
<p>
For languages other than English you need to compile some code that
generates warnings, errors and fatal errors then check what text preceeds
each kind of message. This text should be entered in the <em>Log
Prefixes</em> editor. Failure to do this will mean that CodeSnip
won't detect warnings and won't report errors correctly.
</p>
<h2>
Auto Detecting Compilers
</h2>
<p>
<em>CodeSnip</em> can automatically detect the presence of Win 32 Delphi
compilers from versions 2 to XE2. Click the <em>Detect Delphi
Compilers</em> button to do this. Any supported installed version of
Delphi will be recorded. This can save considerable time and avoid
errors.
</p>
<p>
Free Pascal cannot be detected automatically and must be configured
manually.
</p>
</body>
</html>