-*- 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.