A compiler and runtime for the Clipper/xBase programming language. Translates
.prgsource files into native shared libraries and executables, with a complete VM and standard library compatible with the Clipper ecosystem.
Tested on: Debian 12 · Debian 13 · Gentoo
Upstream: https://sourceforge.net/projects/clip-itk/files/clip-itk/1.2.0/
| Component | Purpose |
|---|---|
gcc, make |
Compiler toolchain |
flex, bison |
Lexer and parser generators |
ncurses |
Terminal I/O |
zlib |
Compression support |
gettext |
clip_msgfmt / clip_msgmerge locale utilities |
readline |
clip_gdb debugger |
Debian 12 / Debian 13
apt-get install git make flex bison libncurses-dev zlib1g-dev gettext libreadline-devGentoo
emerge -av git flex bison ncurses zlib gettext readlineInstall only the libraries needed for your target packages.
| Library | Purpose | Debian 12/13 | Gentoo |
|---|---|---|---|
| task support | Cooperative multitasking | libpth-dev (Debian 12) / libnpth0-dev (Debian 13) |
npth |
| clip-bzip2 | bzip2 compression | libbz2-dev |
app-arch/bzip2 |
| clip-com | Serial port I/O (RS-232) | (no extra dep) | (no extra dep) |
| clip-crypto | TLS / crypto | libssl-dev |
openssl |
| clip-fcgi | FastCGI | libfcgi-dev |
fcgi |
| clip-gzip | gzip compression | (no extra dep) | (no extra dep) |
| clip-mysql | MySQL client | default-libmysqlclient-dev |
mysql-connector-c |
| clip-oasis | Nanfor + Netto utility collections | (no extra dep) | (no extra dep) |
| clip-odbc | ODBC | unixodbc-dev |
unixODBC |
| clip-postgres | PostgreSQL client | postgresql-server-dev-all |
postgresql |
| clip-postscript | PostScript output | (no extra dep) | (no extra dep) |
| clip-r2d2 | Accounting / reporting framework | (no extra dep) | (no extra dep) |
| clip-rtf | RTF document generation | (no extra dep) | (no extra dep) |
| clip-xml | XML / Expat | libexpat1-dev |
expat |
Source code is present but these libraries are excluded from the build.
Excluded from build (click to expand)
| Library | Reason |
|---|---|
clip-gtk2 |
GTK2 removed from Debian 13+ |
clip-glade2 |
GTK2 removed from Debian 13+ |
clip-ui |
Requires clip-xml installed as a shared library |
clip-gd |
No libgd-dev available in current distros |
clip-oracle |
Proprietary Oracle client headers required |
clip-interbase |
InterBase/Firebird dev headers required |
clip-ctcom |
Earlier serial port attempt — incomplete CLIP bindings; superseded by clip-com |
clip-dbtcp |
Database-over-TCP layer — not wired into build |
Installs to $HOME/bin. CLIPROOT defaults to ../cliproot.
./make localInstalls to /usr/local/bin. CLIPROOT defaults to /usr/local/clip.
./make systemCustom CLIPROOT:
./make system CLIPROOT=/opt/clipCreate a source file hello.prg:
? "Hello, world!"Compile and run:
clip -e -ohello hello.prg
./helloNote:
-oand the output name must be written without a space (-ohello, not-o hello).
| Flag | Effect |
|---|---|
-e |
Produce a standalone executable |
-e omitted |
Compile to a shared library (loadable module) |
-ohello |
Set output filename |
-g |
Include debug information |
HTML documentation is generated in English and Russian from DocBook XML sources in doc/sgml/{en,ru}/, using xsltproc with the DocBook XSL NS stylesheet.
Debian 12 / Debian 13
apt-get install xsltproc docbook-xsl-ns docbook-xmlGentoo
emerge -av libxslt docbook-xsl-ns-stylesheetscd doc
make CLIPROOT=/usr/local/clip htmlFor a local install, replace
/usr/local/clipwith the path used duringmake local(defaults to../cliproot).
Output is written to doc/html/{en,ru}/. Alternatively, use the top-level script:
./mkdoc| Tool | Purpose |
|---|---|
clip_msgmerge |
Merges .pot template files with .po translation files per locale |
clip_msgfmt |
Compiles .po files into binary .mo catalogs loaded at runtime via loadModuleMsg() |
These follow the standard GNU gettext workflow within the CLIP ecosystem.