-- 1997/7/27 - T.Dickey -------------------------------------------------------------------------------- Overview -------- This is an auto-configure script which I and Jim Spath have been working on. It uses autoconf 2.12 to generate a Bourne shell script (configure), which can be run on a UNIX platform to generate: lynx_cfg.h makefile to replace the top-level Makefile of Lynx. To use the configure script, simply type ./configure or ./configure --with-screen=ncurses or ./configure --with-screen=slang and make -------------------------------------------------------------------------------- Platforms --------- We've tested this on several platforms. It should work properly on any Unix-style system. Linux 2.0.0 (gcc 2.7.2 with curses, several versions of ncurses and slang) FreeBSD 2.1.5 (gcc 2.6.3 with curses and ncurses) NetBSD DGUX SunOS 4.1 (cc curses, gcc ncurses and slang) Solaris 2.5 (cc and gcc with curses, ncurses and slang) IRIX 5.2 and 6.2 (cc and gcc with curses, ncurses and slang) CLIX (cc with curses and ncurses) AIX 3.2.5 (cc with curses) SCO (cc with curses) HP-UX (K&R and ANSI cc, gcc with curses, ncurses and slang) Note: SunOS and HP-UX come with a bundled K&R compiler, which is only useful for compiling with the bundled curses. Both ncurses and slang require a compiler that recognizes prototypes. -------------------------------------------------------------------------------- Options ------- To get a list of the configure script's options, type ./configure --help The form of the options is determined by the autoconf package. We can use either boolean (enable/disable) or value (with) options. Here's an alphabetical listing of the Lynx-specific options. The actual order shown by the -help option is different due to the requirements of the script: --disable-char-trans (defines EXP_CHARTRANS) Use this option to enable optional character-translations with new charsets, UTF8 mode, etc. --disable-dired (defines DIRED_SUPPORT) Use this option to enable or disable the optional directory-editor. Lynx supports directory editing (DirEd) for local directories. This allows users to do things like view, copy and remove files using a tabular display of the directory and single-keystroke commands instead of using the command line. From inside Lynx, the keystroke sequence "g." switches Lynx to DirEd mode on the current directory. If you're building a Lynx that is to be used as a kind of restricted shell for users who do not have access to the command line and should not have access to equivalent capabilities, you must disable DirEd with this option. You can also disable some DirEd functions while allowing others. All DirEd functions that were enabled on compilation can be disabled or modified at run time via DIRED_MENU symbols in lynx.cfg. If you have disabled DirEd completely, you can ignore all the other DirEd options. --disable-dired-archive (define ARCHIVE_ONLY) Use this option to prevent DirEd from extracting files from an archive file, --disable-dired-gzip (prevent defining OK_GZIP) Use this option to prevent DirEd from using gzip and gunzip. --disable-dired-override (prevent defining OK_OVERRIDE) Lynx users can customize their keymaps by creating private versions of lynx.cfg and modifying them, overriding the default keymap. Use this option to prevent DirEd keymap overriding. --disable-dired-permit (prevent defining OK_PERMIT) Use this option to prevent DirEd from changing the permissions on directories or files (i.e., from doing what the Unix chmod command or the DOS attrib command does). --disable-dired-tar (prevent defining OK_TAR) Use this option to prevent DirEd from using the tar program. --disable-dired-uudecode (prevent defining OK_UUDECODE) Use this option to prevent DirEd from using uudecode. --disable-dired-xpermit (define NO_CHANGE_EXECUTE_PERMS) Use this option if you do not disable out the dired-permit option, but want to restrict changes of the eXecute permission to directories (i.e., not allow it to be changed for files). If you don't do this, you can still block changes of the eXecute permission for files but not directories via the "change_exec_perms" command line restriction. --disable-dired-zip (prevent defining OK_ZIP) Use this option to prevent DirEd from using zip and unzip. --disable-echo Use this option to suppress the "compiling" commands during a build. Doing this makes it easier to find and read warning messages. --disable-full-paths Use this option to control whether full utility pathnames are used. By default, configure substitutes full pathnames. --disable-long-list (prevent defining LONG_LIST) Use this option to disable long "ls -l" directory listings. --disable-parent-dir-refs (define NO_PARENT_DIR_REFERENCE) Use this option to disable "Up-to" parent-links in directory listings. --enable-color-style (define USE_COLOR_STYLE) Use this option to enable optional/experimental color style. (Also defines USEHASH, UNPAINT_CACHE, LINKEDSTYLES) --enable-debug Use this option to compile-in support for debugging. (The symbol DEBUG is always defined). --enable-find-leaks (defines LY_FIND_LEAKS) Use this option to compile-in logic for testing memory leaks. --enable-warnings Use this option to turn on GCC compiler warnings. --with-cfg-file=XXX (defines LYNX_CFG_FILE) Use this option to override the location of the site configuration file's pathname. It defaults to $libdir/lynx.cfg, where $libdir is set in the configure script, e.g., to /usr/local/lib. --with-screen=XXX Use this option to select the screen type. The option value, XXX must be one of curses (the default), ncurses or slang. Specifying a screen type causes the configure script to look in standard locations for the associated header and library files, unless you have preset the $CFLAGS and $LIBS variables. --with-screen=ncurses (defines NCURSES) --with-screen=slang (defines USE_SLANG) --with-zlib (defines USE_ZLIB) Use zlib for decompression of some gzip files. -------------------------------------------------------------------------------- Environment ----------- This is all documented in great detail in the autoconf package. The configure script looks for programs and libraries in known/standard locations. You can override the behavior of the script by presetting environment variables; if they are set, the script will try to use these values rather than computing new ones. Useful variables include: CC - the C compiler. If you do not override this, configure will try to use gcc. CFLAGS - the C compiler options. These also include C preprocessor options (such as -I), since the $CFLAGS and $CPPFLAGS variables are maintained separately. CPPFLAGS - the C preprocessor options. For some configuration tests, you may need to set both $CFLAGS and $CPPFLAGS if you are compiling against header files in nonstandard locations. LDFLAGS - linker/loader options. LIBS - the libraries to be linked, e.g,. with -L and -l options. If you are linking against libraries in nonstandard locations (e.g., unrelated to the install prefix that you can specify in the configure script), you may have to specify these via the $LIBS variable. You should not have to edit the generated makefiles to modify the values that the configure script generates. If you do, you have either found a bug in the script, or you do not understand how to use it properly.