Next Previous Contents

## 3. Installation

## 3.1 Requirements

cgihtml was written for Unix machines in C, although it has been successfully ported to Windows 95 and NT, VMS, OS-9, and other operating systems. All you need is a C compiler, and you should be set.

By default, cgihtml assumes that the CGI source code goes in the cgi-src directory and the binaries in the cgi-bin directory.

## 3.2 Obtaining and unpacking the distribution

You may find cgihtml.tar.gz at ftp://ftp.eekim.com/users/eekim/cgihtml/

To unpack the distribution, you must first gunzip it (using the GNU gzip utility) and then untar it. Copy the distribution into your CGI source directory, and try the following command:

> `

>     % gzip -dc cgihtml.tar.gz | tar xvf -

> `

cgihtml is also available in UNIX compressed (.Z) and PKZipped (.zip) format.

## 3.3 Compiling the library

To compile the library, examine the Makefiles in the cgihtml and examples directories, and make sure you are satisfied with the variables.

### Makefile variables

INSTALLDIR in cgihtml's Makefile should point to your CGI source directory, while INSTALLDIR in your examples directory should point to your server's CGI binary directory.

### Compiling for Win32

If you're compiling for Win32 (ie. Windows 95/NT), make sure to uncomment the line with -DWINDOWS.

### Configuring File Uploadn

By default, the file upload directory is set to /tmp. To change this value, uncomment `#-DUPLOADDIR='"/tmp"'` in the Makefile and replace /tmp with the directory of your choice. Make sure that whichever directory you choose is surrounded by both the single and double quotes, ie: `'"/foo/bar"'`.

### Compiling and Installing

When you are satisfied with the Makefiles, type:

> `

>     % make cgihtml.a

> `

This will produce the file cgihtml.a. To compile the library as well as all of the example programs, type:

> `

>     % make all

> `

To install the library and examples, type:

> `

>     % make install

> `

If you want to compile and/or install the example programs separately, change to the examples subdirectory and use make there.

## 3.4 Porting

While compiling the libraries on various Unix machines, you may have trouble with the "ranlib" command. If you system doesn't seem to have this command, you most likely don't need. Set the RANLIB variable in the Makefile to "true".

If you're compiling for Win32, make sure you use the -DWINDOWS directive when compiling.

If you are compiling for DOS/16-bit Windows, VMS, or OS-9, you will need to change the filenames to support your OS.

Next Previous Contents