### NAME

CLIP - XBASE program language compatible compiler.

### SYNOPSIS

clip [options] [file1] [..fileN]

### DESCRIPTION

clip is a preprocessor, compiler and linker for XBASE program language dialects, such as Clipper ™.

All components of clip use environment variable CLIPROOT. If CLIPROOT is not set, will used default value /usr/local/clip.

clip can create native executables, bytecode objects, and builtined-in-executable bytecodes. Bytecode objects may be maked executable by using standard Unix #!program feature.

clip uses standard GNU gettext package for work with localized messages.

### OPTIONS

-h
  help page.
-H
  help about acceptable environment variables.
-V
  print clip version.
-v[level]
  set verbose level (default==1)
-a
  auto memvar variables. Any variabe, not included in PUBLIC, PRIVATE or PARAMETER operators, automatically declared as MEMVAR.
-w
  warning about implicit var declaration.
-e
  generate executable file.
-c
  stop after generation C code.
-g,-b
  generate debug info.
-t
  print program syntax tree
-o[name]
  set output file name.
-O
  make optimisations.
-M
  use first [file1] as start program point.
-n
  don't declare module procedure.
-p
  generate pseudocode module.
-l
  compile C-pseudocode module.
-s
  compile into shared object.
-I[path]
  add include search path.
-L[path]
  add library path.
-D[name]
  define macro name.
-D[name=value]
  define macro name as [value].
-U[filename]
  use alternate (or none) standard include file (default==std.ch).
-S[charset]
  define source charset of string constants.
-T[charset]
  define target charset of string constants.
-P
  preprocess only.
-C
  print command definitions.
-E[name=value]
  exact to set same environ variable(see -H for details).
filename
  files to process.
+option
  means disable feature (if possible). - for using in .cliprc.

All options may be placed into file $HOME/.cliprc or in ./.cliprc in form "one option - one line".

### ENVIRONMENT VARIABLES

CC
  name of C compiler (default=='gcc')
CFLAGS
  options for C compiler (default=='')
COMPILE_FLAG
  'compile-only' flag for C compiler (default=='-c')
COPT
  optimisation flag for C compiler (default=='-O2')
CDBG
  debug flag for C compiler (default=='-g')
OUT_FLAG
  output flag for C compiler (default=='-o')
INCLUDE_FLAG
  include flag for C compiler (default=='-I')
OBJSUF
  suffix for output object files (default=='.o')
SOBJSUF
  suffix for output shared files (default=='.so')
LIBSUF
  suffix for library files (default=='.a')
SLIBSUF
  suffix for shared library files (default=='.so')
SFLAGS
  options for C compiler - shared version (default=='-shared')
CLIPLIB
  runtime support library (default=='libclip.a')
CLIPSLIB
  runtime support shared library (default=='libclip.so')
CLIPLIBS
  additional libs (default=='')
CLIPROOT
  root for all clip related files (default=='/usr/local/clip')
CLIP_MODULE
  current locale module (default=='doc')
CLIP_CMDSTR
  comma-separated list of command-line options

### PREDEFINED MACROS

__FILE__
  string - name of current compile file
__BASE_FILE__
  string - name of root compile file
__LINE__
  numeric - number of current line in current file
__VERSION__
  string - version of clip
__CLIP__
  string - version of clip
__SYSTEM__
  string - name of operating system
__DATE__
  string - date in format 'MON DD YYYY'
__TIME__
  string - current time in format 'HH:MM::SS'

### USAGE

### FILES

$CLIPROOT/bin/*
  clip binaries.
$CLIPROOT/lib/*
  clip libraries.
$CLIPROOT/include/*
  clip develop include files.
$CLIPROOT/charsets/*
  clip charset defitinion files.
$CLIPROOT/keymaps/*
  clip scanmode keymap files.
$CLIPROOT/environment
  contens of this file automatically appends to program environment.
$CLIPROOT/lang/$LANG
  contens of this file automatically appends to program environment for this LANG variable value
$CLIPROOT/lang/$LANG
  contens of this file automatically appends to program environment for this LANG variable value
$CLIPROOT/term/$TERM
  contens of this file automatically appends to program environment for this TERM variable value
$CLIPROOT/locale.pot/*
  localized messages templates. Files in this directory will be created by clip when program text contain localized strings (such as [File] ).
$CLIPROOT/locale.po/$LANG/*
  localized messages repository. Files in this directory must be edited by hands for each locale, and merge with current templates by call of clip_msgmerge.
$CLIPROOT/locale.mo/$LANG/*
  compiled messages repository. Files in this directory are created by call of clip_msgfmt.
$HOME/.cliprc
  recource file.
./.cliprc
  recource file.

### SEE ALSO

clip_msgfmt, clip_msgmerge, clipar gcc(1), ar(1),

### AUTHORS

Uri Hnikyn Elena Kornilova Andrew Kulikov Paul Lasarev Rushat Nabiullin Sergey Rosenfeld Alexey M. Tkachenko Alex Vorontsov

### LICENSE

GPL