---
name: "klic"
section: "1"
platform: "linux"
package: "klic"
version: "3.003-gm1-2.1"
release: "Debian 4.0 (Etch)"
platforms: ["linux"]
url: "https://new.carta.tech/klic"
---

# klic(1)

Portable KL1 compiler

## NAME

klic - Portable KL1 compiler

## SYNOPSIS

**klic** \[*options*\] \[*files* ...\]

## DESCRIPTION

**klic** is an implementation of a concurrent logic programming language KL1.  The system is portable to almost any UNIX system by its compilation scheme using C as the intermediate language.

## OPTIONS

- **-c**

  Stop after generating relocatable object and don't link the program.

- **-C**

  Stop after translation into C.

- **-d**

  Don't try any compilation (dry run).  Implies **-v**.

- **-dp**

  Compile for distributed parallel execution (available only when installed with distributed parallel system configuration).

- **-D** *database\_manager*

  Specifies alternative database manager program.

- **-g**

  Debug flag passed to the C compiler.

- **-I** *directory*

  Specifies alternative include directory for C compilation.

- **-K** *klic\_compiler*

  Specifies alternative KL1 to C translator.

- **-l** *library*

  Specifies additional library for linking.

- **-L** *directory*

  Specifies additional directory to be searched for **-l**.

- **-o** *file*

  Specifies the name of executable file.

- **-O** *\[level\]*

  Specifies optimization level.  With no *level* specified, level of 1 is assumed.  When non-zero level is specified, some additional optimization flags may be also passed to the C compiler.  Such Additional optimization flags are system dependent and determined on KLIC system installation procedure.

- **-P** *\[parallel\]*

  Run subtasks (C compilers &c) in parallel.  At most *parallel* subtasks are forked at a time.

- **-R**

  Specifies recompilation regardless of file dates.

- **-shm**

  Compile for shared memory parallel execution (available only when installed with shared memory parallel system configuration).

- **-S**

  Stop after generating assembly code output.

- **-n**

  Link with the non-debugging runtime library.  Default uses the debugging library.

- **-v**

  Verbose run.  All the commands executed through the compielr driver will be output to standard error.

- **-x** *directory*

  Use database file **klic.db** in the *directory* and also place **atom.c** and **funct.c** and their corresponding objects in the same directory.  This flag is useful when programs to be linked together are distributed to multiple directories.

- **-X** *directory*

  When the database file **klic.db** does not exist, initiate it from the database initiation file **klicdb.init** under *directory*. It defaults to the default library directory.

- **-Fld** *loader*

  Force the linker program to *loader*. The default linker which is used by klic command is selected by the linked programs, i.e, "cc" in C version, and "f77" or "cc" in Fortran version. This option make the linker program *loader* forcely.

- **-Flo** *options*

  Force the linker options to to *options*.

## BUGS

Send bug reports to **klic-bugs@icot.or.jp**.

Distributed parallel implementation is a beta version.

The released version is not throughly tested.

This list is incomplete.

## COPYRIGHT

Copyright (C) 1993, 1994, 1995 Institute for New Generation Computer\
  Technology (C)1996, 1997, 1998, 1999 Japan Information Processing Development Center\
  (Read COPYRIGHT-JIPDEC for detailed information.)

## AUTHOR

Institute for New Generation Computer Technology, Japan Information Processing Development Center.
