# Installation and Setup

## System Requirements

To run CScout your system must satisfy the following requirements:

- Have an installation of the Perl interpreter
- Contain the include files of the compiler your programs use
- Support a Web browser (text or graphics-based). CScout uses vanilla HTML and has been tested with Firefox, SeaMonkey, Mozilla, Safari, the Microsoft Internet Explorer, and Lynx.
- (Optional, needed only for displaying call and dependency graphs.) Have an installation of the AT&T GraphViz dot program in the executable file path, and a Web browser supporting, directly or via a plugin, the display of SVG (scalable vector graphics) content.
- Be able to retrieve Web content from the Internet without a proxy
  (The free unsupported version of CScout will `phone home' when run on relatively large workspaces, registering the workspace for public browsing, while your CScout is running. Only file list and source-code browsing facilities are provided to the public; source modification, option changes, and the resource-hungry identifier queries are only allowed when accessing CScout from the local host.)

## Installation and Configuration

From this point onward we use the term Unix to refer to Unix-like systems like GNU/Linux and FreeBSD, and Windows to refer to Microsoft Windows systems.

You install CScout in eight steps:

1. Unpack the distribution file on your system.

2. Copy the executable files `cscout`, `cswc` and `csmake` (under Unix) or `cscout.exe`, `cswc.bat` and `csmake.bat` (under Windows) from the `bin` directory into a directory that is part of your path. Under Unix `/usr/local/bin` is a common suitable choice. Under Windows `C:\WINNT\system32` is a location you could use, if your system is not better organized.

3. Under Windows adjust the second line of the file `cswc.bat` and `csmake.bat` to point to the directory where you installed the corresponding file.

4. Copy the directory `etc` to the final installation place you prefer (renaming it, if you wish), and arrange for the environment variable `CSCOUT_HOME` to point to it. As an example, under Unix you would probably have the directory installed as `/usr/local/etc/cscout`. Under Unix, you can permanently set the `CSCOUT_HOME` environment variable by editing a file named `.profile` (sh and derivative shells) or `.login` (csh and derivative shells) in your home directory. Under Windows (NT, 2000, XP, and later editions), you can set environment variables through an option in: Control Panel - System - Advanced - Environment Variables.

   Alternativelly, the contents of the directory `etc` will be searched in `$HOME/.cscout`, `%APPDATA%/.cscout` (under Windows; it will be something like `C:\Documents and Settings\Your Name\Application Data`), and the current directory's `.cscout` directory.

5. Go in the CScout etc directory and copy the file pair `cscout_incs.PLATFORM` and `cscout_defs.PLATFORM` (where PLATFORM is the operating system and the compiler that most closely resemble your setup) as `cscout_incs.h` and `cscout_defs.h`.

   In most cases you want CScout to process your code using the include files of the compiler you are normally using. This will allow CScout to handle programs using the libraries and facilities available in your environment (e.g. Unix system calls or the Windows API). If your programs are written in ANSI C and do not use any additional include files, you can use the .GENERIC files and rely on the include files supplied with the CScout distribution.

6. If you decided to use the `.GENERIC` files copy the `include` directory to an appropriate location (e.g. `/usr/local/include/cscout` under Unix).

7. Edit the file `cscout_incs.h` to specify the location where your compiler's (or the generic) include files reside.

8. If the compiler you are using does not match any of the files supplied, start with the `.GENERIC` file set and add suitable definitions to sidestep the problems caused by the extensions your compiler supports. As an example, if your compiler supports a `quad_double` type and associated keyword with semantics roughly equivalent to `double` you would add a line in `cscout_incs`:

       #define quad_double double

   Have a look in the existing `cscout_defs` files to see what might be required.

Note that there is nothing magical about the installation steps described above; feel free to follow them in whatever way matches your setup and environment, as long as you achieve the desired results.

Contents | « Previous Next (Workflow) »