This file lists preprocessor macros (symbols) which are tested in the
code (typically with ifdef).
Does not include
- symbols defined and documented in userdefs.h
- symbols expected to be set by compiler to indicate system type or
compiler features
- many symbols set and used only in connection with the ./configure
mechanism - the full and current list can be found in config.hin
(as a template) or, after running ./configure, in lynx_cfg.h.
- most symbols and macros defined in the source code
***Not complete.***
A. Symbols primarily to enable compilation on specific systems
==============================================================
See also under B for things needed by some systems.
# if you have an SVR4 system with the "type any key" problem, try defining
#
# -DSVR4_BSDSELECT
# Old Data General systems may need this in their SITE_LYDEFS
# for their inet_addr(host) calls.
#
# -DDGUX_OLD
---
Ports have been added for Win32 (95/NT) and 386 DOS computers with a
packet driver. I created four new defines to accomplish this.
_WINDOWS Defined for Win32 specific code (Mostly TCP related)
DJGPP Defined for 386 specific code (Mostly TCP related)
DOSPATH Defined for any DOS'ish computer
NOSIGHUP Defined for computers not supporting sighup signal calls.
-- Wayne Buttles lynx-port@fdisk.com
Added for 8+3 filesystems (DOS):
FNAMES_8_3 also defined in userdefs.h if __DJGPP__
* incorporate changes for win32 by Hiroyuki Senshu <senshu@shonai-cit.ac.jp>
(SH) from
ftp://crab.it.osha.sut.ac.jp/pub/Win32/develope/senshu/Lynx/
Most changes are ifdef'd
#define _WIN_CC= .... for Windows C Compiler
#define CJK_EX .... CJK EXtension
#define SH_EX .... Senshu Hiroyuki EXtension
#define WIN_EX .... Windows EXtension
B. Symbols to enable or disable specific features, mostly
=========================================================
Note that some of these may be only usable on some system types,
most were originally for UNIX.
Network related, specific protocols
-----------------------------------
# -DSOCKS For making a SOCKSified lynx.
see comments in makefile.in
# -DSHORTENED_RBIND For a SOCKSified lynx with the short version of Rbind.
see comments in makefile.in
Related to DirEd code - probably only usable for UNIX or similar
----------------------------------------------------------------
# -DDIRED_SUPPORT (see INSTALLATION, Section II-1c)
# -DOK_GZIP (see INSTALLATION, Section II-1c)
# -DOK_OVERRIDE (see INSTALLATION, Section II-1c)
# -DOK_PERMIT (see INSTALLATION, Section II-1c)
# -DOK_TAR (see INSTALLATION, Section II-1c)
# -DOK_UUDECODE (see INSTALLATION, Section II-1c)
# -DOK_ZIP (see INSTALLATION, Section II-1c)
# -DOK_INSTALL to enable dired menu "Install" function
# -DARCHIVE_ONLY (see INSTALLATION, Section II-1c)
# -DNO_CHANGE_EXECUTE_PERMS (see INSTALLATION, Section II-1c)
# -DCANT_EDIT_UNWRITABLE_FILES (see LYEdit.c - always in effect for VMS)
Related to formatting of local directory listings
-------------------------------------------------
# -DLONG_LIST (see INSTALLATION, Section II-1c)
# -DNO_PARENT_DIR_REFERENCE (see INSTALLATION, Section II-1c)
Related to screen display
-------------------------
Using curses or ncurses library:
# -DNCURSES (see INSTALLATION, Section II-1c)
# -DFANCY_CURSES whether curses lib supports more than very basic stuff
for UNIX handled by ./configure, for VMS defined in code
# -DNO_KEYPAD (old) or HAVE_KEYPAD (new) whether curses lib uses keypad().
for UNIX handled by ./configure, may be set in HTUtils.h
# -DCOLOR_CURSES whether curses lib supports color (in the right way).
for UNIX handled by ./configure
# -DUSE_COLOR_STYLE (see INSTALLATION, Section II-1c) needs SVr4 curses
# -DUNDERLINE_LINKS Define if you want links underlined instead of bold.
# -DHP_TERMINAL For DIM workaround to REVERSE problems on HP terminals.
# -DNO_SIZECHANGE (old) or HAVE_SIZECHANGE (new) whether using code to detect
new size after size changes of the terminal (window).
for UNIX handled by ./configure, may be set in HTUtils.h
# -DUSE_SCROLLBAR supports scrollbar when built with ncurses
# -DWIDEC_CURSES whether curses lib supports wide/multibyte characters.
Using slang library:
# -DUSE_SLANG (see INSTALLATION, Section II-1c)
# -DSLANG_MBCS_HACK prevent cutoff lines when using UTF8 console (slang only)
Both:
# -DREVERSE_CLEAR_SCREEN_PROBLEM
# if you have the reverse clear screen problem of some SUN4 systems, or
# to work around some other "garbage on the screen" problems
Other general
-------------
# -DIGNORE_CTRL_C Define if Control-C shouldn't exit lynx.
# -DINACTIVE_INPUT_STYLE_VH Different style for showing inactive text fields
# -DMISC_EXP Enable some truly experimental stuff
# -DNO_DUMP_WITH_BACKSPACES Disables -with_backspaces code
# -DNO_RULES Disables code for CERN-style rules files
# -DUSE_VASPRINT Use vasprintf() function
Untested
--------
# -DNO_EXTENDED_HTMLDTD Disable some "SortaSGML" code, see SGML.c
# -DWIND_DOWN_STACK Aggressive handling of end tags for "TagSoup", SGML.c
C. Secondary symbols
====================
Some macros that are not primary, i.e. they are normally automatically
set or unset in the code based on other macros (including those from
./configure), but it may be sometimes useful to set them differently.
They may directly affect several source files. Filenames show where
they are set. Normally installers shouldn't have to care about these
symbols.
COOKIE_FILE LYMain.c default cookie file in HOME dir
SHOW_WHEREIS_TARGETS LYCurses.h whereis search highlighting
USE_KEYMAPS LYCurses.h use of .lynx-keymaps files
D. Symbols defined locally to modify some behavior
==================================================
Defined in the source files to which they apply. Only filenames are listed,
the files would have to be read and edited anyway to change the definition.
Normally installers shouldn't have to care about any of these symbols.
ADVANCED_INFO LYShowInfo.c
ALLOW_PROXY_HEAD LYUtils.c
CHECK_FREE_MEM GridText.c
CLEAN_URLS HTParse.c
DEBUG_HOSTENT HTTCP.c
DEBUG_HOSTENT_CHILD HTTCP.c
DEFAULT_INVCHECK_BV LYCookie.c
DUPLICATE_ANCHOR_NAME_WORKAROUND HTAnchor.c
EXTENDED_OPTION_LOGIC LYMain.c
EXTENDED_STARTFILE_RECALL LYMain.c
OPTNAME_ALLOW_DASHES LYMain.c
OVERLAP HTNews.c
RESTRICT_NM_ALLOW_DASHES LYUtils.c
SOCKET_DEBUG_TRACE HTTCP.c
TRADITIONAL_SUFFIXES HTInit.c
USE_XHDR HTNews.c
max_cookies_buffer LYCookie.c
max_cookies_domain LYCookie.c
max_cookies_global LYCookie.c
reverse_mailcap HTInit.c