Glossary

A

Autoconf

A tool used to generate cross-platform shell scripts that test the functionality of software development tools such as compilers and of local software installations. The results of the tests can be used to configure a software build system to work with the local system setup. Autoconf-generated scripts aid in the development of cross-platform software by detecting and managing platform-specific idiosyncrasies. Autoconf is part of the GNU software distribution.

Automake

A tool used in conjunction with Autoconf to generate complex makefiles from simple input files. Automake is part of the GNU software distribution.

C

configure script

A shell script, generated by the autoconf utility, that tests capabilities of common developer tools such as compilers and linkers and sets up a build environment based on the results of the tests.

D

dependency graph

A directed, acyclic graph defining connections between components. The connections imply a dependency of the source component on the target component.

G

glue makefile

A makefile that pulls together smaller makefiles and/or directs the compilation of a collection of makefiles in a source tree. In terms of the VR Juggler build, this usually means controlling the recursion through a source tree when building a module.

I

IDL compiler

A software tool that reads an IDL file and generates code in a specific language (e.g., Java, C++, Smalltalk, etc.). This code may be anything, but typically, it is stub or skeleton code that is extended by user-defined code that completes the interface implementation.

Interface Definition Language

The Interface Definition Language is a simple language used to define the interface (or signature) an object will have. An interface is composed solely of methods (functions) that may be invoked on an object (data element). No data members are present in the interface definition. IDL is not tied to a specific language but instead must be compiled into another language where the interface will be implemented.

J

JAR file

A Java archive. These files typically contain everything needed to execute a Java application or a Java applet. They may also be used to package language-independent information such as data files or images.

M

makefile stub

A makefile that cleanly encapsulates some specific task. This may be variable assignment or definition of reusable build targets. Many makefile stubs are only a few lines long, though some may be very complex depending on the task. The idea is that the makefile can be plugged into a larger makefile to promote reuse of make(1) code.

P

Plain Old Documentation

The documentation format used by Perl. It may be embedded within Perl scripts so that the documentation is bundled with the script at all times. The documentation can be rendered to three formats: manpage, HTML, and plain text. To get a script's documentation in the same style as that used by the man(1) command, use the following (replacing <script-name> appropriately):

perldoc <script-name>

S

substitution variable

A shell variable within an Autoconf-based configure script that is substituted in a .in template file. For the variable $variable, the Autoconf @variable@ syntax is used in the .in template file. This is not a formal term used in Autoconf documentation but rather a term used within the VR Juggler build system documentation to distinguish these variables from other shell variables in a configure script.

X

XSL Transformations

One of two parts that make up the Extensible Stylesheet Language (XSL). This part defines an XML-based programming language used to perform transforms on XML documents.