Blame 00XCONFIG

Packit 6f02de
Packit 6f02de
			Cross-configuring Lsof
Packit 6f02de
Packit 6f02de
Introduction
Packit 6f02de
============
Packit 6f02de
Packit 6f02de
Lsof cross-configuration is useful when the target dialect or target
Packit 6f02de
dialect version for which lsof is to be configured and built differs
Packit 6f02de
from the one on which the Configure operation is done.
Packit 6f02de
Packit 6f02de
Marty Leisner <leisner@sdsp.mc.xerox.com> suggested the method
Packit 6f02de
described here for lsof cross-configuration, and he supplied
Packit 6f02de
modifications to the Configure script for cross-configuring Linux
Packit 6f02de
lsof.
Packit 6f02de
Packit 6f02de
Marty says:
Packit 6f02de
Packit 6f02de
    "I used this to successfully compile (lsof) on the same machine
Packit 6f02de
     for (Linux) 2.0.30 and 2.1.42.  (I normally don't bring up a
Packit 6f02de
     2.1.42 machine all the time).  Also it (the 2.0.30 system)
Packit 6f02de
     doesn't have much storage and compiles on it are slow.
Packit 6f02de
Packit 6f02de
     Set LSOF_VERS if it's not the (version of the) current system.
Packit 6f02de
     (Actually, you should get the version out of include/linux/version.h.)
Packit 6f02de
Packit 6f02de
     Define LINUX_KERNEL to (the path) where the kernel sources
Packit 6f02de
     are (located).  (No longer necessary as of lsof revision 4.53.)
Packit 6f02de
Packit 6f02de
     This should work on most systems; they put a kernel in
Packit 6f02de
     /usr/src/linux, which is the default.
Packit 6f02de
Packit 6f02de
     Now I can just do:
Packit 6f02de
Packit 6f02de
	LINUX_KERNEL=/some/other/kernel LSOF_VERS=2142 ./Configure linux
Packit 6f02de
Packit 6f02de
     Comments?  Its very convenient when running multiple kernels.
Packit 6f02de
     (It would be (have been) very handy when the structures changed
Packit 6f02de
     between 2.0.2* and 2.0.30 , or whatever.)
Packit 6f02de
Packit 6f02de
     I run multiple OSes at a time (not to mention multiple
Packit 6f02de
     architectures.  It's very pleasant to cross-build either
Packit 6f02de
     operating systems or versions."
Packit 6f02de
Packit 6f02de
So, the situation is that you have lsof sources on a UNIX dialect
Packit 6f02de
version, and you want to configure them to build lsof for some
Packit 6f02de
other version of the same dialect, or perhaps for some other UNIX
Packit 6f02de
dialect altogether.
Packit 6f02de
Packit 6f02de
Packit 6f02de
The Cross-Configure Method
Packit 6f02de
==========================
Packit 6f02de
Packit 6f02de
The lsof cross-configure method uses environment variables to tell
Packit 6f02de
the lsof Configure script about the target dialect.  The environment
Packit 6f02de
variables may specify alternate locations for Configure to examine
Packit 6f02de
when it determines characteristics of the target, or they may
Packit 6f02de
specify the values Configure would discover when it examined the
Packit 6f02de
target's characteristics.
Packit 6f02de
Packit 6f02de
Consult each environment variable description for the UNIX dialect
Packit 6f02de
in which you're interested to see how it affects the operation of
Packit 6f02de
the Configure script.
Packit 6f02de
Packit 6f02de
The number and values of the variables differ by dialect.  Each
Packit 6f02de
variable begins with an upper case version of the dialect's Configure
Packit 6f02de
abbreviation -- e.g., AIX for aix or aixgcc, LINUX for linux,
Packit 6f02de
UW for uw (UnixWare), etc.
Packit 6f02de
Packit 6f02de
Of course, the UNIX dialect's version is probably different from
Packit 6f02de
that of the system on which you're doing the cross-configuration,
Packit 6f02de
so you will need to specify the new version, too.  For example, to
Packit 6f02de
configure for FreeBSD 3.0 on a 2.1.7 system, where the standard
Packit 6f02de
3.0 header files are in /3.0/usr/include and the 3.0 system sources
Packit 6f02de
are in /3.0/sys, do this:
Packit 6f02de
Packit 6f02de
	LSOF_VERS=300 LSOF_INCLUDE=/3.0/usr/include \
Packit 6f02de
	FREEBSD_SYS=/3.0/sys Configure -n freebsd
Packit 6f02de
Packit 6f02de
Packit 6f02de
General Environment Variables
Packit 6f02de
=============================
Packit 6f02de
Packit 6f02de
There are some environment variables whose names don't begin with
Packit 6f02de
an upper case rendering of a dialect abbreviation.  Generally they
Packit 6f02de
apply to all dialects.
Packit 6f02de
Packit 6f02de
AFS_VICE        is for AFS configuration.   It need be set only if
Packit 6f02de
		lsof supports AFS on your dialect and you want to
Packit 6f02de
		specify an alternate path to the VICE files.
Packit 6f02de
Packit 6f02de
		default: /usr/vice
Packit 6f02de
Packit 6f02de
LSOF_AR         is the path to and arguments for the library archive
Packit 6f02de
		application that is used to build the lsof library,
Packit 6f02de
		liblsof.a.  When this value is placed in the library
Packit 6f02de
		Makefile as the contents of the AR make string, it is
Packit 6f02de
		followed by the path to the library and the relative
Packit 6f02de
		paths of the library module
Packit 6f02de
Packit 6f02de
		default: ar cr
Packit 6f02de
Packit 6f02de
LSOF_ARCH       is the architecture type string for the system.
Packit 6f02de
		Usually this is the output of `uname -m`.  Consult
Packit 6f02de
		the Configure script for details.  The LSOF_ARCH
Packit 6f02de
		value may have to be quoted if it contains spaces.
Packit 6f02de
Packit 6f02de
		default: auto-detection (e.g., from `uname -m`)
Packit 6f02de
Packit 6f02de
LSOF_BLDCMT     may be used to introduce a builder's comment into
Packit 6f02de
		lsof's -v output.  It defaults to the null string,
Packit 6f02de
		causing no builder's comment to appear in -v output.
Packit 6f02de
Packit 6f02de
		default: none
Packit 6f02de
Packit 6f02de
LSOF_CC         is the path to the C compiler.  You may need to
Packit 6f02de
		specify it if your C compiler is in a non-standard
Packit 6f02de
		place, not found by your path.  If you specify a
Packit 6f02de
		compiler different from the expected default, you
Packit 6f02de
		may have to change the compile time flags by
Packit 6f02de
		specifying new CFGF, CFGL, and DEBUG strings on
Packit 6f02de
		the make command line.
Packit 6f02de
Packit 6f02de
		default: normally cc, but some dialects have other
Packit 6f02de
			 defaults and some have auto-detection.
Packit 6f02de
Packit 6f02de
			 Check the dialect stanza in the lsof Configure
Packit 6f02de
			 script to see how LSOF_CC is set by default.
Packit 6f02de
Packit 6f02de
LSOF_CCV        is the C compiler version.  You should specify it
Packit 6f02de
		if you have specified a compiler path in LSOF_CC.
Packit 6f02de
Packit 6f02de
		default: the lsof Configure script knows how to find
Packit 6f02de
			 the version number of gcc and some other
Packit 6f02de
			 dialect-specific compilers.
Packit 6f02de
Packit 6f02de
			 Check the dialect stanza in the lsof Configure
Packit 6f02de
			 script to see how lsof_CCV is set by default.
Packit 6f02de
Packit 6f02de
LSOF_CFGF	may be used to specify additional configuration values
Packit 6f02de
		that will appear in the CFGF string of the Makefile.
Packit 6f02de
Packit 6f02de
LSOF_CFGL	may be used to specify additional library specifications
Packit 6f02de
		that will appear in the CFGL string of the Makefile.
Packit 6f02de
Packit 6f02de
LSOF_HOST       may be used to specify a value in lsof's -v output
Packit 6f02de
		other than the name of the host where lsof was
Packit 6f02de
		built.  A value of "none" inhibits host name display
Packit 6f02de
		in -v output.
Packit 6f02de
Packit 6f02de
		default: the dialect's host name application -- e.g.,
Packit 6f02de
			 hostname or uname -n
Packit 6f02de
Packit 6f02de
LSOF_INCLUDE    is the path to a tree of header files that is an exact
Packit 6f02de
		image of the the standard header file tree for the
Packit 6f02de
		target dialect.  You may need to specify it if you
Packit 6f02de
		want Configure to test header files in a tree different
Packit 6f02de
		from /usr/include and compile its test programs with
Packit 6f02de
		header files from that tree, then you want to compile
Packit 6f02de
		lsof from the header files in that different, duplicate
Packit 6f02de
		image tree.
Packit 6f02de
Packit 6f02de
		Note: LSOF_INCLUDE should contain a single path
Packit 6f02de
		without any option flags, such as -I.  It is always
Packit 6f02de
		supplied to the compiler in CFLAGS following the -I
Packit 6f02de
		option flag.  If you want to specify other include
Packit 6f02de
		paths, use LSOF_OPINC.
Packit 6f02de
Packit 6f02de
		ADDITIONAL NOTE: all the header files that lsof's
Packit 6f02de
		Configure tests for optional features and uses to
Packit 6f02de
		compile test programs must be in LSOF_CONFIGURE.
Packit 6f02de
		They can't be scattered in the other include path
Packit 6f02de
		that LSOF_OPINC names.
Packit 6f02de
Packit 6f02de
LSOF_LOGNAME    may be used to specify a value in lsof's -v output
Packit 6f02de
		other than the one in the LOGNAME environment
Packit 6f02de
		variable for the login name of the person who built
Packit 6f02de
		lsof.  A value of "none" inhibits login name display
Packit 6f02de
		in -v output.
Packit 6f02de
Packit 6f02de
		default: the LOGNAME environment variable
Packit 6f02de
Packit 6f02de
LSOF_MAKE	is the path to the make command.
Packit 6f02de
Packit 6f02de
		deafult: the output of `which make`, if it is not NULL;
Packit 6f02de
			 otherwise the string "make".
Packit 6f02de
Packit 6f02de
LSOF_MKC        may be used to specify an alternate method of
Packit 6f02de
		connecting dialect sources to the top-level lsof
Packit 6f02de
		directory.  See 00PORTING for more information.
Packit 6f02de
Packit 6f02de
		default: ln -s
Packit 6f02de
Packit 6f02de
LSOF_OPINC	may be used to specify other include file search
Packit 6f02de
		paths.  Each must be preceded by the compiler's -I
Packit 6f02de
		option file and, if there are muliple paths, they
Packit 6f02de
		must be separated by spaces and the entire set must
Packit 6f02de
		be enclosed in double quote marks -- e.g.,
Packit 6f02de
Packit 6f02de
		LSOF_OPINC="-I/path1 -I/path2 ..."
Packit 6f02de
Packit 6f02de
		The optional include paths thus specified will be
Packit 6f02de
		appended to LSOF_INCLUDE and whatever special
Packit 6f02de
		include paths the lsof Configure script finds
Packit 6f02de
		necessary.
Packit 6f02de
Packit 6f02de
LSOF_RANLIB	may be used to specify an alternate command for the
Packit 6f02de
		randomizing of the lsof library.
Packit 6f02de
Packit 6f02de
		default: ranlib for most dialects
Packit 6f02de
			 none for: IBM AIX; HP-UX; SCO OpenServer; Solaris
Packit 6f02de
				   and SCO|Caldera UnixWare
Packit 6f02de
Packit 6f02de
LSOF_SYSINFO    may be used to specify a value in lsof's -v output
Packit 6f02de
		other than the standard system identification --
Packit 6f02de
		e.g., output from uname.  A value of "none" inhibits
Packit 6f02de
		system information display in -v output.
Packit 6f02de
Packit 6f02de
		default: the dialect's standard system identification
Packit 6f02de
			 application output -- e.g., uname, sysinfo
Packit 6f02de
Packit 6f02de
LSOF_USER	may be used to specify a value in lsof's -v output
Packit 6f02de
		other than the one in the USER environment variable
Packit 6f02de
		for the login name of the person who built lsof.
Packit 6f02de
		A value of "none" inhibits login name display in
Packit 6f02de
		-v output.
Packit 6f02de
Packit 6f02de
		default: the USER environment variable
Packit 6f02de
Packit 6f02de
LSOF_VERS       is the target dialect version number.  It must be
Packit 6f02de
		stated in the dialect's form -- e.g., FreeBSD 2.0.5
Packit 6f02de
		is given as 205, Solaris 7 as 70000, etc.  The
Packit 6f02de
		table, "Abbreviations, Variable Prefixes, and
Packit 6f02de
		Version Numbers," in this file gives the form for
Packit 6f02de
		LSOF_VERS for each dialect lsof supports.
Packit 6f02de
Packit 6f02de
		default: auto-detection (e.g., from `uname -r`)
Packit 6f02de
Packit 6f02de
LSOF_VSTR       is the version string from which LSOF_VERS is
Packit 6f02de
		derived.  Usually this is the output of `uname -r`
Packit 6f02de
		or `uname -v`.  Consult the Configure script for
Packit 6f02de
		details.   The LSOF_VSTR value may have to be quoted
Packit 6f02de
		if it contains spaces.
Packit 6f02de
Packit 6f02de
		default: auto-detection (e.g., output from
Packit 6f02de
			 `hostname`, `uname -r`, or `uname -v)
Packit 6f02de
Packit 6f02de
Packit 6f02de
Make Strings
Packit 6f02de
============
Packit 6f02de
Packit 6f02de
The CFGF, CFGL, and DEBUG strings can be specified on the make
Packit 6f02de
command line to change default values placed in the top-level and
Packit 6f02de
library Makefiles by Configure.  For example, Configure usually
Packit 6f02de
defines the compiler optimization level to be -O, but you can change
Packit 6f02de
that with "DEBUG=-g" on the make command -- e.g.,
Packit 6f02de
Packit 6f02de
	$ make DEBUG=-g lsof
Packit 6f02de
Packit 6f02de
Similarly, the CFGF string contains miscellaneous compile-time
Packit 6f02de
options, and CFGL contains loader options.  Consult the Makefiles
Packit 6f02de
generated by Configure for the values it defines by default for
Packit 6f02de
CFGF and CFGL.
Packit 6f02de
Packit 6f02de
As an example, Configure might define CFGL to be "-L./lib -llsof -w"
Packit 6f02de
for NextStep 3.1; to remove "-w", use this make invocation:
Packit 6f02de
Packit 6f02de
	$ make CFGL="-L./lib -llsof"
Packit 6f02de
Packit 6f02de
Packit 6f02de
Abbreviations, Variable Prefixes, and Version Numbers
Packit 6f02de
=====================================================
Packit 6f02de
Packit 6f02de
The following table describes the relationship between Configure
Packit 6f02de
abbreviations, environment variable prefixes, and lsof UNIX dialect
Packit 6f02de
version numbers.  The lsof UNIX dialect version number must be
Packit 6f02de
declared exactly in the listed form when supplied via the LSOF_VERS
Packit 6f02de
environment variable.
Packit 6f02de
Packit 6f02de
				Dialect	   Lsof Version
Packit 6f02de
   Configure	Variable	Version      Number for
Packit 6f02de
Abbreviation*	  Prefix	 Number       LSOF_VERS
Packit 6f02de
Packit 6f02de
	 aix	     AIX	  3.2.5		   3250
Packit 6f02de
      aixgcc			  4.1.0		   4100
Packit 6f02de
				  4.1.4		   4140
Packit 6f02de
				  4.1.4		   4150
Packit 6f02de
				  4.2.0		   4200
Packit 6f02de
				  4.2.1		   4210
Packit 6f02de
				  4.3		   4300
Packit 6f02de
				  4.3.1		   4310
Packit 6f02de
				  4.3.2		   4320
Packit 6f02de
				  4.3.3		   4330
Packit 6f02de
				  5.0.x		   5000
Packit 6f02de
				  5.1.x		   5100
Packit 6f02de
				  5.2.x		   5200
Packit 6f02de
				  5.3.x		   5300
Packit 6f02de
      darwin	  DARWIN	  1.2*		    120
Packit 6f02de
				  1.3*		    130
Packit 6f02de
				  1.4*		    140
Packit 6f02de
				  5.[012]	    500
Packit 6f02de
				  5.[3-9]	    530
Packit 6f02de
				  6.x		    600
Packit 6f02de
				  7.x		    700
Packit 6f02de
				  8.x		    800
Packit 6f02de
	  du	      DU	  2.0		  20000
Packit 6f02de
				  3.0		  30000
Packit 6f02de
				  3.2		  30200
Packit 6f02de
				  4.0		  40000
Packit 6f02de
				  5.0		  50000
Packit 6f02de
				  5.1		  50100
Packit 6f02de
     freebsd	 FREEBSD	  1.x		   1000
Packit 6f02de
				  2.x		   2000
Packit 6f02de
				  2.0.5		   2005
Packit 6f02de
				  2.1.x		   2010
Packit 6f02de
				  2.2.x		   2020
Packit 6f02de
				  3.x		   30x0
Packit 6f02de
				  4.x		   40x0
Packit 6f02de
				  4.1x		   41x0
Packit 6f02de
				  5.x		   50x0
Packit 6f02de
				  6.x		   60x0
Packit 6f02de
				  7.x		   70x0
Packit 6f02de
				  8.x		   80x0
Packit 6f02de
				  9.x		   90x0
Packit 6f02de
	hpux	    HPUX	  9.1		    901
Packit 6f02de
     hpuxgcc	    HPUX	  9.5		    905
Packit 6f02de
				  10.0		   1000
Packit 6f02de
				  10.10		   1010
Packit 6f02de
				  10.20		   1020
Packit 6f02de
				  11.00		   1100
Packit 6f02de
				  11.11		   1111
Packit 6f02de
      linux	   LINUX	  2.1.x		  21xxx
Packit 6f02de
				  2.2.x		  22xxx
Packit 6f02de
				  2.3.x	     	  23xxx
Packit 6f02de
				  2.4.x		  24xxx
Packit 6f02de
				  2.6.x		  26xxx
Packit 6f02de
     netbsd	  NETBSD	  1.2		1002000
Packit 6f02de
				  1.3		1003000
Packit 6f02de
				  1.4		1004000
Packit 6f02de
				  1.5		1005000
Packit 6f02de
				  1.6		1006000
Packit 6f02de
				  2.0		2000000
Packit 6f02de
				  2.99.9        2099009
Packit 6f02de
				  2.99.10       2099010
Packit 6f02de
	 ns     NEXTSTEP	  3.1		     31
Packit 6f02de
    openbsd	 OPENBSD	  1.2		   1020
Packit 6f02de
				  2.0		   2000
Packit 6f02de
				  2.1		   2010
Packit 6f02de
				  2.2		   2020
Packit 6f02de
				  2.3		   2030
Packit 6f02de
				  2.4		   2040
Packit 6f02de
				  2.5		   2050
Packit 6f02de
				  2.6		   2060
Packit 6f02de
				  2.7		   2070
Packit 6f02de
				  2.8		   2080
Packit 6f02de
				  2.9		   2090
Packit 6f02de
				  3.0		   3000
Packit 6f02de
				  3.1		   3010
Packit 6f02de
				  3.2		   3020
Packit 6f02de
				  3.3		   3030
Packit 6f02de
				  3.4		   3040
Packit 6f02de
				  3.5		   3050
Packit 6f02de
				  3.6		   3060
Packit 6f02de
         os     OPENSTEP	  4.x		     4x
Packit 6f02de
	osr	     OSR	  3.2v2.0	     20
Packit 6f02de
				  3.2v2.1	     21
Packit 6f02de
				  3.2v4.0	     40
Packit 6f02de
				  3.2v4.1	     41
Packit 6f02de
				  3.2v4.2	     42
Packit 6f02de
				  3.2v5.0.0	    500
Packit 6f02de
				  3.2v5.0.2	    502
Packit 6f02de
				  3.2v5.0.4	    504
Packit 6f02de
				  3.2v5.0.6	    506
Packit 6f02de
         ou	      OU	  8.0.0		  80000
Packit 6f02de
    solaris      SOLARIS	  2.3		  20300
Packit 6f02de
  solariscc	 SOLARIS	  2.4		  20400
Packit 6f02de
				  2.5		  20500
Packit 6f02de
				  2.5.1		  20501
Packit 6f02de
				  2.6		  20600
Packit 6f02de
				  7		  70000
Packit 6f02de
				  8		  80000
Packit 6f02de
				  9		  90000
Packit 6f02de
				  10		 100000
Packit 6f02de
	 uw	      UW	  7.0		  70000
Packit 6f02de
	 	       		  7.1.0		  70100
Packit 6f02de
	 	       		  7.1.1		  70101
Packit 6f02de
	 	       		  7.1.3		  70103
Packit 6f02de
Packit 6f02de
* -- The optional Configure abbreviations -- e.g., the ``decosf''
Packit 6f02de
     and ``digital_unix'' alternatives to ``du'' -- aren't listed
Packit 6f02de
     here.
Packit 6f02de
Packit 6f02de
Packit 6f02de
Dialect-Specific Environment Variables
Packit 6f02de
======================================
Packit 6f02de
Packit 6f02de
Here are the dialect-specific environment variables, listed
Packit 6f02de
alphabetically.  The first part of any environment variable will
Packit 6f02de
be the dialect abbreviation, as specified to Configure, converted
Packit 6f02de
to upper case characters.  See the `Configure -help` output for a
Packit 6f02de
listing of the abbreviations.
Packit 6f02de
Packit 6f02de
AIX_ARCH		specifies the AIX architecture when the AIX version is
Packit 6f02de
			5.0 or higher.  A value of "" signifies POWER; "ia64",
Packit 6f02de
			64 bit x86 (Itanium).
Packit 6f02de
Packit 6f02de
			default: none (tested via `uname -a`)
Packit 6f02de
Packit 6f02de
AIX_HAS_AFS		specifies the state of AIX ADS support when the AIX
Packit 6f02de
			version is 4.3.3 or lower.  (Lsof doesn't support AFS
Packit 6f02de
			above AIX 4.3.3.)  A value of "" allows the Configure
Packit 6f02de
			script to determine the AFS support state; "no",
Packit 6f02de
			disables AFS support; and "yes", forces the enabling of
Packit 6f02de
			AFS support.
Packit 6f02de
Packit 6f02de
			default: none (tested via presence of AFS files and the
Packit 6f02de
				 lsof AFSConfig shell script)
Packit 6f02de
Packit 6f02de
AIX_KERNBITS		specifies the kernel bit size, 32 or 64, of the Power
Packit 6f02de
			architecture AIX 5.x kernel for which lsof was built.
Packit 6f02de
Packit 6f02de
			default: determined by the Configure script with a test
Packit 6f02de
				 program that uses <sys/systemcfg.h> macros.
Packit 6f02de
Packit 6f02de
AIX_USHACK		If this environment variable has a value of "Y" or "y",
Packit 6f02de
			and if the aixgcc Configure abbreviation is selected,
Packit 6f02de
			the AIX 4.1 and greater gcc user structure hack is
Packit 6f02de
			activated; any other non-NULL value, it's not set; a
Packit 6f02de
			NULL value, it's tested by compilation.
Packit 6f02de
Packit 6f02de
			default: none (tested by compilation)
Packit 6f02de
Packit 6f02de
DARWIN_XNUDIR		If this environment variable has a value, the value is
Packit 6f02de
			used as the path to the Darwin XNU kernel source code.
Packit 6f02de
Packit 6f02de
			default: none (entry requested)
Packit 6f02de
Packit 6f02de
DARWIN_XNU_HEADERS	If this environment variable has a value, the value is
Packit 6f02de
			used as the path to the Darwin XNU kernel header files.
Packit 6f02de
			This path would match the DSTROOT environment variable
Packit 6f02de
			used when a "make installhdrs" was executed from the
Packit 6f02de
			Darwin XNU kernel source directory.
Packit 6f02de
Packit 6f02de
			default: none
Packit 6f02de
Packit 6f02de
DU_ADVFSV		specifies the DEC OSF/1, Digital UNIX, or Tru64 UNIX
Packit 6f02de
			ADVFS file system version -- e.g., 200 for 2.0, 400
Packit 6f02de
			for 4.0, etc.
Packit 6f02de
Packit 6f02de
			default: determined via /usr/sbin/setld
Packit 6f02de
Packit 6f02de
DU_CDIR			specifies the name of the DEC OSF/1, Digital UNIX, or
Packit 6f02de
			Tru64 UNIX system configuration directory.
Packit 6f02de
Packit 6f02de
			default: first host name component, converted to upper
Packit 6f02de
				 case
Packit 6f02de
Packit 6f02de
DU_SHLIB		specifies the DEC OSF/1, Digital UNIX, or Tru64 UNIX
Packit 6f02de
			shared library directory path.
Packit 6f02de
Packit 6f02de
			default: /usr/shlib
Packit 6f02de
Packit 6f02de
DU_SYSDIR		DEC OSF/1, Digital UNIX, or Tru64 UNIX system
Packit 6f02de
			directory path.
Packit 6f02de
Packit 6f02de
			2.x and 3.x default: /sys
Packit 6f02de
			4.x default: /usr/sys
Packit 6f02de
Packit 6f02de
FREEBSD_KERNEL		specifies the path to the FreeBSD kernel for FreeBSD
Packit 6f02de
			version less than 2.0.
Packit 6f02de
Packit 6f02de
			default: /386bsd
Packit 6f02de
Packit 6f02de
FREEBSD_SYS		specifies the path to the FreeBSD system source
Packit 6f02de
			directory.
Packit 6f02de
Packit 6f02de
			default: /sys
Packit 6f02de
Packit 6f02de
HPUX_BASE		specifies the HP-UX lsof source code base, kmem or
Packit 6f02de
			pstat, to be used.
Packit 6f02de
Packit 6f02de
			default: determined by testing for the
Packit 6f02de
				 /usr/include/sys/pstat subdirectory
Packit 6f02de
Packit 6f02de
HPUX_BOOTFILE		specifies the file in which lsof's Configure script can
Packit 6f02de
			find kernel information.  This specification may be
Packit 6f02de
			useful for defining the path to a copy of /stand/vmunix
Packit 6f02de
			that has been processed by pxdb or q4pxdb.
Packit 6f02de
Packit 6f02de
			default: /stand/vmunix
Packit 6f02de
Packit 6f02de
HPUX_CCDIR1		specifies the first directory where Configure might
Packit 6f02de
			find an HP-UX C compiler.  This is ignored when
Packit 6f02de
			LSOF_CC has been specified.
Packit 6f02de
Packit 6f02de
			default: /bin
Packit 6f02de
Packit 6f02de
HPUX_CCDIR2		specifies the second directory where Configure might
Packit 6f02de
			find an HP-UX C compiler.  This is ignored when
Packit 6f02de
			LSOF_CC has been specified.
Packit 6f02de
Packit 6f02de
			default: /usr/ccs/bin
Packit 6f02de
Packit 6f02de
HPUX_HASONLINEJFS	If this environment variable has a value of "Y" or "y",
Packit 6f02de
			the HASONLINEJFS definition will be enabled in the
Packit 6f02de
			Makefile CFLAGS.  That will cause dnode1.c to use an
Packit 6f02de
			alternate vx_inode.h header file in the hpux11 sub-
Packit 6f02de
			directory of dialects/hpux/kmem.
Packit 6f02de
Packit 6f02de
			default: determined using nm and grep
Packit 6f02de
Packit 6f02de
HPUX_IPC_S_PATCH	If this environment variable has a value of "1", the
Packit 6f02de
			ipc_s structure of the HP-UX 11 kernel is assumed to
Packit 6f02de
			have an ipc_ipis member, but it is assumed the ipis_s
Packit 6f02de
			structure lacks the ipis_msgsqueued member; "2", ipc_s
Packit 6f02de
			has ipc_ipis, but ipis_s has ipis_msgsqueued; "n" or
Packit 6f02de
			"N", ipc_s lacks ipc_ipis; any other non-NULL value is
Packit 6f02de
			considered an error; a NULL value, HPUX_IPC_S_PATCH is
Packit 6f02de
			determined by testing.
Packit 6f02de
			
Packit 6f02de
			default: determined with q4 and grep
Packit 6f02de
Packit 6f02de
HPUX_KERNBITS		specifies the number of bits (32 or 64) in the HP-UX
Packit 6f02de
			11 "basic kernel word.
Packit 6f02de
Packit 6f02de
			default: `getconf _SC_KERNEL_BITS`
Packit 6f02de
Packit 6f02de
HPUX_LIBC1		specifies the first directory that might contain the
Packit 6f02de
			HP-UX C library, libc.sl.
Packit 6f02de
Packit 6f02de
			default: /usr/lib
Packit 6f02de
Packit 6f02de
HPUX_LIBC2		specifies the second directory that might contain the
Packit 6f02de
			HP-UX C library, libc.sl.
Packit 6f02de
Packit 6f02de
			default: /lib
Packit 6f02de
Packit 6f02de
HPUX_RNODE3		If this environment variable has a value of "1", the
Packit 6f02de
			Configure script will define HASRNODE3 in the Makefile
Packit 6f02de
			CFGF flags.   If it is defined, but not "1", Configure
Packit 6f02de
			will not define HASRNODE2.
Packit 6f02de
Packit 6f02de
			default: determined using `nm -x /stand/vmunix` and
Packit 6f02de
				 `grep r_fh3 /usr/include/nfs/rnode.h`
Packit 6f02de
Packit 6f02de
HPUX_X25DIR		specifies path to the HP-UX X25 directory that contains
Packit 6f02de
			configuration header files.
Packit 6f02de
Packit 6f02de
			default: /etc/conf
Packit 6f02de
Packit 6f02de
LINUX_CLIB		specifies the definition of the Linux C library:
Packit 6f02de
Packit 6f02de
			default: ""             (standard C library)
Packit 6f02de
			others: -DGLIBCV=2      (glibc2)
Packit 6f02de
Packit 6f02de
LINUX_CONF_CC		specifies the location of the C compiler to use during
Packit 6f02de
			the running of the Configure script:
Packit 6f02de
Packit 6f02de
			default: the value of the LSOF_CC variable, if defined,
Packit 6f02de
				 or cc
Packit 6f02de
Packit 6f02de
LINUX_HASSELINUX	If this environment variable has a value of "Y" or "y",
Packit 6f02de
			Configure unconditionally activates SELinux support.
Packit 6f02de
			If it has any other value, Configure unconditionally
Packit 6f02de
			inhibits SELinux suport.
Packit 6f02de
Packit 6f02de
			Default: assumed to be "Y" if <selinux/selinux.h>
Packit 6f02de
				 exists
Packit 6f02de
Packit 6f02de
LINUX_INCL		specifies the path to the header file tree:
Packit 6f02de
Packit 6f02de
			default: /usr/include
Packit 6f02de
Packit 6f02de
LINUX_LSEEK		If this environment variable has a value of "Y" or "y",
Packit 6f02de
			Configure uses Makefile.lseek in place of Makefile in
Packit 6f02de
			order to enable use of the private lseek() function for
Packit 6f02de
			2.1.x kernels; any other non-NULL value, Makefile.lseek
Packit 6f02de
			will isn't used; a NULL value, the alternate lseek()
Packit 6f02de
			need is determined by compilation.
Packit 6f02de
Packit 6f02de
			default: determined by test program
Packit 6f02de
Packit 6f02de
LINUX_VERSION_CODE	specifies the value of the LINUX_VERSION_CODE in the
Packit 6f02de
			same decimal form as found in the LINUX_VERSION_CODE
Packit 6f02de
			#define of /usr/include/linux/version.h:
Packit 6f02de
Packit 6f02de
			default: the value of LINUX_VERSION_CODE in
Packit 6f02de
				 /usr/include/linux/version.h
Packit 6f02de
Packit 6f02de
NETBSD_SYS		specifies the path to the NetBSD system source
Packit 6f02de
			directory.
Packit 6f02de
Packit 6f02de
			default: /usr/include
Packit 6f02de
Packit 6f02de
NETBSD_UVM		If this environment variable has a value of "Y" or "y",
Packit 6f02de
			the NetBSD system uses the UVM virtual memory system;
Packit 6f02de
			any other non-NULL value, it does not; a NULL value,
Packit 6f02de
			it will be determined by the contents of /etc/mk.conf.
Packit 6f02de
Packit 6f02de
			default: tested by grep'ping /etc/mk.conf
Packit 6f02de
Packit 6f02de
OPENBSD_SYS		specifies the path to the OpenBSD system source
Packit 6f02de
			directory.
Packit 6f02de
Packit 6f02de
			default: /sys
Packit 6f02de
Packit 6f02de
OPENBSD_UVM		If this environment variable has a value of "Y" or "y",
Packit 6f02de
			the OpenBSD system uses the UVM virtual memory system;
Packit 6f02de
			any other non-NULL value, it does not; a NULL value,
Packit 6f02de
			it will be determined by examining /bsd.
Packit 6f02de
Packit 6f02de
			default: tested by grep'ping `nm /bsd` output
Packit 6f02de
Packit 6f02de
Packit 6f02de
OSR_CFGF		The value of this environment variable is made the
Packit 6f02de
			initial value for the compiler flags the lsof Configure
Packit 6f02de
			script constructs for the Makefile CFGF macro.
Packit 6f02de
Packit 6f02de
			default: ""
Packit 6f02de
Packit 6f02de
OSR_CFGL		The value of this environment variable is made the
Packit 6f02de
			initial value for the loader flags the lsof Configure
Packit 6f02de
			script constructs for the Makefile CFGL macro.
Packit 6f02de
Packit 6f02de
			default: ""
Packit 6f02de
Packit 6f02de
OSR_STATLSTAT		If this environment variable has a value of "Y" or "y",
Packit 6f02de
			HAS_STATLSTAT is defined in the Makefile's CFGL string;
Packit 6f02de
			any other non-NULL value, it's not defined; a NULL
Packit 6f02de
			value, it is determined with nm and grep.
Packit 6f02de
Packit 6f02de
			default: determined with nm and grep
Packit 6f02de
Packit 6f02de
Packit 6f02de
SOLARIS_23P101318	If this environment variable has a non-NULL value, the
Packit 6f02de
			value is interpreted as the patch level of the Solaris
Packit 6f02de
			2.3 P101318 patch.
Packit 6f02de
Packit 6f02de
			default: pkginfo tested with grep
Packit 6f02de
Packit 6f02de
SOLARIS_24P101945	If this environment variable has a non-NULL value, the
Packit 6f02de
			value is interpreted as the patch level of the Solaris
Packit 6f02de
			2.4 P101945 patch.
Packit 6f02de
Packit 6f02de
			default: pkginfo tested with grep
Packit 6f02de
Packit 6f02de
SOLARIS_24P102303	If this environment variable has a non-NULL value, the
Packit 6f02de
			value is interpreted as the patch level of the Solaris
Packit 6f02de
			2.4 P102303 patch.
Packit 6f02de
Packit 6f02de
			default: pkginfo tested with grep
Packit 6f02de
Packit 6f02de
SOLARIS_26PR_GWINDOWS	If this environment variable has a value of "Y" or "y",
Packit 6f02de
			the HASPR_GWINDOWS definition is set in the Solaris 2.6
Packit 6f02de
			and 7 Makefile's CFG string; any other non-NULL value,
Packit 6f02de
			it's not set; a NULL value, it's tested by compilation.
Packit 6f02de
Packit 6f02de
			default: tested by compilation
Packit 6f02de
Packit 6f02de
SOLARIS_26PR_LDT	If this environment variable has a value of "Y" or "y",
Packit 6f02de
			the HASPR_LDT definition is set in the Solaris 2.6
Packit 6f02de
			Makefile's CFGL string; any other non-NULL value, it's
Packit 6f02de
			not set; a NULL value, it's tested by compilation.
Packit 6f02de
Packit 6f02de
			default: tested by compilation
Packit 6f02de
Packit 6f02de
SOLARIS_CCDIR		specifies the path to the Sun C compiler -- i.e., when
Packit 6f02de
			`Configure solariscc` is used.  This is ignored when
Packit 6f02de
			LSOF_CC has been specified.
Packit 6f02de
Packit 6f02de
			default: /opt/SUNWspro/bin
Packit 6f02de
Packit 6f02de
SOLARIS_INSTR		specifies the Sun C compiler target instruction set
Packit 6f02de
			when building lsof for a 64 bit kernel -- i.e., when
Packit 6f02de
			the Configure abbreviation is "solariscc".  Possible
Packit 6f02de
			values include amd64 and sparcv9.  This is ignored when
Packit 6f02de
			the Configure abbreviation is "solaris" -- i.e., the
Packit 6f02de
			compiler is gcc.
Packit 6f02de
Packit 6f02de
			default: tested with /bin/isainfo -k
Packit 6f02de
Packit 6f02de
SOLARIS_KERNBITS	specifies the number of bits in the Solaris 7, 8, 9 or
Packit 6f02de
			10 kernel: 32 or 64.
Packit 6f02de
Packit 6f02de
			default: tested with /bin/isainfo -kv
Packit 6f02de
Packit 6f02de
SOLARIS_VSOCK		If this environment variable has a value of "Y" or "y",
Packit 6f02de
			the HAS_VSOCK definition is in the Solaris Makefile's
Packit 6f02de
			CFGL string; any other non-NULL value, it's not set; a
Packit 6f02de
			NULL value, it's tested by compilation.
Packit 6f02de
Packit 6f02de
			default: tested by compilation
Packit 6f02de
Packit 6f02de
SOLARIS_VXFSINCL	This environment variable defines the path to the
Packit 6f02de
			header files of the VxFS 3.4 or greater version.  If
Packit 6f02de
			SOLARIS_VXFSINCL is not set, the default is used.
Packit 6f02de
Packit 6f02de
			default: VxFS < 4.0:
Packit 6f02de
				    /opt/VRTSvxfs/include
Packit 6f02de
				 VxFS 4.0 and above:
Packit 6f02de
				    /opt/VRTSfssdk/<version>/include
Packit 6f02de
Packit 6f02de
SOLARIS_VXFSLIB		This environment variable defines the path to the
Packit 6f02de
			VxFS 3.4 or greater utility libraries, libvxfsutil.a
Packit 6f02de
			(32 bit) and libvxfsutil64.a (64 bit).  If
Packit 6f02de
			SOLARIS_VXFSLIB is not set, the default is used.
Packit 6f02de
Packit 6f02de
			Note:  end SOLARIS_VXFSLIB at the "/lib" component; do
Packit 6f02de
			       NOT put "/sparcv9" at its end.  The lsof
Packit 6f02de
			       Configure script will add "/sparcv9" if it is
Packit 6f02de
			       required; hence, if Configure finds that
Packit 6f02de
			       "/sparcv9" is needed, your SOLARIS_VXFSLIB
Packit 6f02de
			       directory tree must have a sparcv9 subdirectory.
Packit 6f02de
Packit 6f02de
			default: `dirname $SOLARIS_VXFSINCL`/lib
Packit 6f02de
Packit 6f02de
SUN_AFSAPATHDEF		specifies the path to the AFS library modload file
Packit 6f02de
			for either Solaris or SunOS.
Packit 6f02de
Packit 6f02de
			default: /usr/vice/etc/modload/libafs
Packit 6f02de
				 Verified with ls.
Packit 6f02de
Packit 6f02de
			Note: the SunOS support is no longer maintained.
Packit 6f02de
Packit 6f02de
UW_HAS_NSC		If this environment variable has a value of "Y" or "y",
Packit 6f02de
			lsof will be configured for a UnixWare 7.1.1 or above
Packit 6f02de
			NonStop Cluster (NSC) system.
Packit 6f02de
Packit 6f02de
			default: tested via /bin/node_self
Packit 6f02de
Packit 6f02de
Vic Abell <abe@purdue.edu>
Packit 6f02de
October 13, 2014