Features

Seperate Packages

Special AutoLISP specific versions

There are seperate packages supported, amongst them namely:

These versions are distributed in source code, under the directory sys/

They are generated automatically from the main sources, which are called DYNAMIC.

The postprocessor is the perl script utils/stdlib-pp.pl.

Beware! These versions cannot be tested that thoroughly as the DYNAMIC version, though VLISP and A2000 are in daily use.

They should be installed in subdirectories of the stdlib directory, if you intend to work with stdlib-pp.pl or the AutoLISP Packager.

Use DYNAMIC for the standard stdlib library, not any specialized seperate version in a subdirectory below. The DYNAMIC version has quite a lot of double and top-level definitions, so this is not quite suitable to built optimized and linked binaries. But it will run on any platform and is completely version unspecific.

VLISP runs fast on AutoCAD R14 with the VL runtime system or plain AutoCAD 2000, so it's the most common version to build.

Use VLISP, VILL, ALISP or ACOMP if you have those seperate packages installed, under a stdlib subdirectory, and want to use this package instead. A2000, VLISP or VILL should be used for compiling optimized and linked binaries.

Code marked with #- SMALL in this document will not be included when the SMALL package is used. SMALL is to be used on low-memory systems, such as R11 and earlier.

Postprocessing markers

To enable automatic updates the perl script utils/stdlib-pp.pl understands lisp-like #+ and #- markers.

These markers are similar to the Lisp reader-macros #+ and #- but they have to be embedded into inline comments, and need an end marker.

Comment processing is not 100% correct for now, it leaves closing inline comments somewhere, but this this does not harm.

;|(#+)|(#-) <feature>|;
;|END (#+)|(#-) <feature>|;

#+ <feature>  : if feature is defined
#- <feature>  : if feature is not defined
<feature>     : VL | ACOMP | ALISP | VLISP | VILL | VLA | SMALL | A2000| FCAD | ICAD | TCAD | STANDALONE | DYNAMIC
VL            : if A2000 | VILL, VLISP, VLA or STANDALONE
DYNAMIC       : always false if postprocessed