-*- Text -*-
Here is some more information on the configuration process.
The configuration symbols defined in config/urt are
APOLLO Define this if you want a display program for Apollo
workstations. The program getap will be compiled.
BOBCAT Define this if you want display programs for an HP 9000 series
workstation. The programs getbob, getren, and read98721 will
be compiled. See also LIBBOBCAT (you probably don't have all
the libraries in the default list). If you are running BSD, the
toolkit must be compiled in HPUX compatibility mode to use
these programs. The easiest thing to do is to use the 'hpux'
configuration file and add a line
CC = hpux cc
CX3D Define this if you have a Chromatics CX1536 running CX3D.
This program has not been compiled or tested in quite a while,
as we don't have one of these beasts any longer.
FB Define this if you have the BRL (Ballistic Research Lab)
extended frame buffer library. See also the definition of the
variable LIBFB. The display program 'getfb' will be compiled
if this symbol is defined.
GRINNELL Define this if you have a Grinnell GMR-27, and the U
of Utah library for it. The display program 'getgmr' will be
compiled if this symbol is defined. See also the variable
LIBGRINNELL.
HPQCR Define this if you want a program to drive a Matrix QCR-Z
camera attached to a HP workstation. The programs getqcr,
bright, qcrldmap, and wedge will be compiled. These programs
are not highly debugged or refined.
IRIS Define this if you want display programs for a Silicon
Graphics IRIS 2400 or 3000. The programs getmex and getiris
will be compiled. See also the variable LIBIRIS. The getmex
program is also useful on 4D displays with fewer than 24
bits/pixel.
IRIS4D Define this if you want a display program for a Silicon
Graphics IRIS 4D. The program get4d will be compiled. See
the variable LIBIRIS4D.
ORION Define this to get a display program for a "High-Level
Hardware" Orion display. This program has not been tested
recently, as we don't have one.
SUNTOOLS Define this if you want a (somewhat good) display
program for Sun workstations running SunTools (or NeWS). The
program getsun will be compiled. See the definition of the
make variable LIBSUNTOOLS_COM.
TAAC1 Define this if you have a Sun with a TAAC-1 board and want a
display program for it. See the defintion of the make
variables LIBSUNTOOLS_COM and LIBTAAC1.
X10 Define this if you want a display program for the X
Window System version 10 (getx10). See also the variables
LIBX10 and INCX10 (which should be of the form -Idir, or blank).
X11 Define this if you want a display program for the X Window
System version 11 (getx11). See also the variable LIBX11 and
the symbol XLIBINT_H. The variable INCX11 defines the "root"
of the X11 include tree. This is usually /usr/include (and
can be left blank if so). The value of INCX11 should be in
the form -Idir, or blank.
ABEKASA60 Define this to get "rletoabA60", a program that
converts RLE files into Abekas A60 digital video disk format.
ABEKASA62 Define this to get "rletoabA62", a program that
converts RLE files into Abekas A62 digital video disk format.
CUBICOMP If defined, compiles "cubitorle" to convert Cubicomp image
files to RLE format.
DVIRLE Define this if you want a program to convert from ".dvi" files
(TeX output) to RLE images. You need to have the Maryland
MC-TeX library to do this. See the README in the cnv/tex
directory for more information. This compiles the programs
dvirle and dviselect. See also DVIRLE_LIBSUBDIR, LIBMCTEX,
INCMCTEX, and CONFFILE.
GIF Define this to get "giftorle" and "rletogif" conversion
between GIF and RLE formats.
GRAYFILES Define this to get "graytorle" and "rletogray"
conversion between a simple raw data format and RLE.
MACPAINT Define this to get "painttorle" and "rletopaint" to
convert from and to MacPaint format. Conversion to MacPaint
performs a simple dithering into black & white.
PBMPLUS Define this to get "ppmtorle" and "pgmtorle" conversion from
PBMPLUS ppm and pgm formats to RLE, and "rletoppm" conversion
from RLE to ppm format. See also the variables LIBPBMPLUS and
INCPBMPLUS.
POSTSCRIPT Define this to get "rletops" conversion from RLE to
black&white or color PostScript.
SUNRASTER Define this to get "rastorle" and "rletorast"
conversions between RLE and Sun Raster files. These
programs are somewhat primitive, and do not handle the full
range of options available for Sun Raster files. In
particular, rastorle loses the color map information (it
always produces a 24 bit image). See the make variable
LIBSUNTOOLS_COM.
TARGA Define this to get "targatorle" conversion from TARGA format
to RLE.
TIFF Define this to get "tifftorle" and "rletotiff" conversions
between RLE and TIFF formats. Requires Sam Leffler's libtiff
package, available by anonymous FTP from ucbvax.berkeley.edu. The
make variables TIFFLIB and TIFFINC tell where to find the tiff
library and include files, respectively. If these are
relative pathnames, they are relative to the cnv/ directory.
TIFFINC should be empty or in the form "-Idir".
WASATCH Define this to get "wasatchtorle" conversion from Wasatch
Paintbox format to RLE.
WAVEFRONT Define this to get "rlatorle" and "rletorla"
conversions between RLE and Wavefront's RLA format.
APOLLOCC Adds C compiler flags for an Apollo workstation. At
the moment, this is a no-op.
HPUXCC Adds C compiler flags for HP-UX. Specifically, you get
-Dhpux.
IBMR6000CC Adds C compiler flags for the IBM RS6000.
Specifically, -Dunix.
IRIS4DCC Adds C compiler flags for SGI 4D. Specifically, you
get -G 4 -Olimit 600.
IRISCC Adds C compiler flags for SGI 2400/3000. At the moment, does
nothing.
SUNCC Adds C compiler flags for a Sun-3 workstation. Specifically,
you get -f68881.
386IXCC Adds compiler flags for the Interactive systems 386/ix.
ExtraCFLAGS A Make variable that can be used to supply extra flags
to the C compiler. This might be used to refer to another
system include directory, or to give flags like '-ansi' to the
Gnu C compiler. Ideally, instead of using this variable, you
would add another '#define xxxCC' symbol and add the
appropriate flags to makefile.hdr with '#ifadd xxxCC MachFLAGS ...'
ALL_MAN Normally, only the manual pages corresponding to configured
tools will be printed or installed. If this symbol is
defined, all man pages will be printed or installed.
CONST_DECL Define this symbol if your compiler understands the
'const' storage class. This modifies the prototype
declarations in `rle.h' so that string arguments which are not
modified are declared `const char *'.
FILE_NAME_14_CHARS Define this symbol if your system limits file
names to 14 characters (many System V based Unix systems do).
If you define this, and you want to use the manual pages for
the online 'man' command, then you MUST install the manual
pages in another directory by defining MAN_DEST (file name
truncation is only performed during the manual page
installation process.)
NEED_BSTRING If your C library does not have the functions bzero
and bcopy, you need to define this symbol. (One way to find
out is to try to make the toolkit and see if these symbols
turn up missing.)
NEED_GETOPT This compiles a public domain replacement for the
System V getopt() function. Most Unix systems seem to have
getopt() these days, so you can probably ignore this symbol.
NEED_SETLINEBUF If you have a System V Unix, you probably need this.
This defines the BSD setlinebuf() function in terms that
System V understands.
NO_MAKE_MAKEFILE If you don't want a 'makefile' action in the
makefiles, define this. This is a good thing to define if you
are using the GNU make program, as it insists on remaking the
makefile every time you run make. This is annoying at best.
NO_OPEN_PIPES On Unix systems, the file "names" "|..." and "*.Z" are
special. The first form will invoke "..." as a command and
read its output (for input files) or will write the output of
the tool to the command (for output files). The second form
will invoke the "compress" program to decompress (for input)
or compress (for output) files. This will not work on systems
(such as the Macintosh) that do not have a "popen" call.
Define this symbol for such systems.
NO_RANLIB If your system doesn't have the ranlib command, define
this. This is true of most System V systems.
NO_TOOLS If you define this symbol, the tools, get, and cnv
directories will not be made.
STDIO_NEEDS_BINARY If you are on a non-unix machine that requires
you to specify things like "rb" and "wb" in the fopen() call
in order to successfully read or write a binary file, then you
need this flag. (E.g., MS-DOS.) (Of course, it's not clear
the configuration process will work on such a machine, but at
least you have some idea of a starting point.)
SYS_TIME_H The file "time.h" is in /usr/include/sys, not in
/usr/include. This usually happens on BSD systems.
USE_L_FLAG The toolkit makefiles will refer to the RLE library by
the syntax "-Llibdir -lrle" instead of "libdir/librle.a" if
this is defined. You may want to do this if, for example, you
compile a shared version of the library.
USE_PROTOTYPES If your C compiler understands ANSI C function
prototypes, define this symbol.
USE_RANDOM If you have the BSD random() function, define this.
USE_STDARG Defining this causes the 'scanargs' routine to use the
'stdarg' interface instead of 'varargs'. 'stdarg' is the ANSI
way of passing variable numbers of arguments to functions.
USE_STDLIB_H If you have "stdlib.h" in your /usr/include directory,
define this. This overrides the effect of some other
flags, including USE_STRING_H and VOID_STAR (at least, in its
effect on the declaration of malloc()).
USE_STRING_H If your /usr/include directory has "string.h" but not
"strings.h" you need this symbol.
VOID_STAR If your C compiler understands the 'void *' type,
define this symbol. This is definitely true if you have an
ANSI compiler. If you get compile errors from the declaration
of the 'malloc' function in a few programs, you will probably
need to define this.
XLIBINT_H If you have the file "Xlibint.h" in your X11 include
directory (usually /usr/include/X11), define this.
Some path and make variables are also defined here. Paths that start
with a / are considered absolute paths and are used unchanged.
Otherwise, the path is treated as relative to the "root" of the URT
source tree. You can use make variables as part of a path, but they
will NOT be expanded to see if the initial character is a /.
DEST Where to put the compiled tools. This may be overridden by
the directory-specific paths below.
RI Where the toolkit compilation will find the header files.
This defaults to "include" and should not be changed.
RL Where the toolkit compilation will find the RLE library.
This defaults to "lib". If it is changed, see README for
toolkit compilation instructions.
The following will override DEST if defined.
MAN_DEST Where to put manual pages. If not defined, manual
pages will not be installed anywhere.
LIB_DEST Where to put the RLE library. If not defined, the
library will not be installed anywhere (i.e., it will be left
on the lib subdirectory), and the 'clean' action on the lib
subdirectory will not remove the compiled library.
GET_DEST Where to put "get" programs.
CNV_DEST Where to put conversion programs (from the cnv subdirectory.)
TOOLS_DEST Where to put programs from the tools (and tex) subdirectory.
INC_DEST If defined, the header files will be installed in this
directory.
Some make variables are also defined in this file. These are
ROFF What program to use to format the man pages.
ROFFOPT The options to supply to this program.
ROFFPIPE A pipeline to send the output of ROFF to in order to
print it.
OTHERJUNK Files that will be removed whenever you 'make clean'.
****************************************************************
The configuration process takes the files urt.config (or your own, if
you specify one), makefile.hdr, dir/makefile.src, and makefile.tlr,
concatenates them together and runs them through an awk program
'makedef.awk'. The awk program interprets the various configuration
commands and produces a makefile on the output. This is placed in the
file dir/makefile. Then Configure runs 'make post-config' to do any
directory-specific configuration (for example, on the include
directory, this creates the file rle_config.h). Finally Configure
runs 'make config-subdirs' to configure any subdirectories.
You should probably need to edit any of the makefile.{hdr,src,tlr}
files unless you modify the toolkit. Here are guidelines for what
goes where:
config file: The configuration file contains ONLY configuration
symbols and variables that need to be edited by the user.
ALL symbols #defined in this file will be added to the file
include/rle_config.h.
makefile.hdr: Make variable definitions that are used in all
makefiles. The user should not have to edit this file.
makefile.tlr: Make rules used in all makefiles. The user should not
have to edit this file. If you add rules or edit existing
rules in this file, be careful that they will work in ALL the
existing makefiles.
*/makefile.src: The directory-specific makefile contents. This should
define the variables PGMS, DIRS, and ALLDIRS, if it will use
any of the rules in makefile.tlr. The variable DIRLIBS can be
set to include more libraries in the default LIBS variable.
The value of DIRFLAGS is added to the CFLAGS variable. The
value of DIRMFLAGS is added to the make line for subdirectory
makes ('make subdirs' and 'make install-subdirs').
include/rle_config.tlr: This file is concatenated to the end of the
file rle_config.h when it is created. If a symbol that is
#defined in the config file should have a value in C code,
this is the place to change it. See the definition of
CONST_DECL in this file, for example. This is also the place
to define symbols that depend on others (see XLIBINT_H).
Local Variables:
fill-prefix: "\t"
End:
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.