Config - access Perl configuration information |
Config - access Perl configuration information
use Config; if ($Config{'cc'} =~ /gcc/) { print "built by gcc\n"; }
use Config qw(myconfig config_sh config_vars);
print myconfig();
print config_sh();
config_vars(qw(osname archname));
The Config module contains all the information that was available to
the Configure
program at Perl build time (over 900 values).
Shell variables from the config.sh file (written by Configure) are
stored in the readonly-variable %Config
, indexed by their names.
Values stored in config.sh as 'undef' are returned as undefined
values. The perl exists
function can be used to check if a
named variable exists.
myconfig()
-V
in Switches in the perlrun manpage.
config_sh()
config_vars(@names)
name='value';
Names which are unknown are output as name='UNKNOWN';
.
See also -V:name
in Switches in the perlrun manpage.
Here's a more sophisticated example of using %Config:
use Config; use strict;
my %sig_num; my @sig_name; unless($Config{sig_name} && $Config{sig_num}) { die "No sigs?"; } else { my @names = split ' ', $Config{sig_name}; @sig_num{@names} = split ' ', $Config{sig_num}; foreach (@names) { $sig_name[$sig_num{$_}] ||= $_; } }
print "signal #17 = $sig_name[17]\n"; if ($sig_num{ALRM}) { print "SIGALRM is $sig_num{ALRM}\n"; }
Because this information is not stored within the perl executable itself it is possible (but unlikely) that the information does not relate to the actual perl binary which is being used to access it.
The Config module is installed into the architecture and version specific library directory ($Config{installarchlib}) and it checks the perl version number when loaded.
The values stored in config.sh may be either single-quoted or
double-quoted. Double-quoted strings are handy for those cases where you
need to include escape sequences in the strings. To avoid runtime variable
interpolation, any $
and @
characters are replaced by \$
and
\@
, respectively. This isn't foolproof, of course, so don't embed \$
or \@
in double-quoted strings unless you're willing to deal with the
consequences. (The slashes will end up escaped and the $
or @
will
trigger variable interpolation)
Most Config
variables are determined by the Configure
script
on platforms supported by it (which is most UNIX platforms). Some
platforms have custom-made Config
variables, and may thus not have
some of the variables described below, or may have extraneous variables
specific to that particular port. See the port specific documentation
in such cases.
_a
This variable defines the extension used for ordinary libraries. For unix, it is .a. The . is included. Other possible values include .lib.
_exe
This variable defines the extension used for executable files. For unix it is empty. Other possible values include .exe.
_o
This variable defines the extension used for object files. For unix, it is .o. The . is included. Other possible values include .obj.
afs
This variable is set to true
if AFS
(Andrew File System) is used
on the system, false
otherwise. It is possible to override this
with a hint value or command line option, but you'd better know
what you are doing.
alignbytes
This variable holds the number of bytes required to align a double-- or a long double when applicable. Usual values are 2, 4 and 8. The default is eight, for safety.
ansi2knr
This variable is set if the user needs to run ansi2knr. Currently, this is not supported, so we just abort.
aphostname
This variable contains the command which can be used to compute the host name. The command is fully qualified by its absolute path, to make it safe when used by a process with super-user privileges.
api_revision
The three variables, api_revision, api_version, and
api_subversion, specify the version of the oldest perl binary
compatible with the present perl. In a full version string
such as 5.6.1, api_revision is the 5
.
Prior to 5.5.640, the format was a floating point number,
like 5.00563.
F<perl.c>:incpush() and F<lib/lib.pm> will automatically search in
$F<sitelib/.>. for older directories back to the limit specified by these api_ variables. This is only useful if you have a perl library directory tree structured like the default one. See C<INSTALL> for how this works. The versioned site_perl directory was introduced in 5.005, so that is the lowest possible value. The version list appropriate for the current system is determined in F<inc_version_list.U>.
C<XXX> To do: Since compatibility can depend on compile time
options (such as bincompat, longlong, F<etc.>) it should (perhaps) be set by Configure, but currently it isn't. Currently, we read a hard-wired value from F<patchlevel.h>. Perhaps what we ought to do is take the hard-wired value from F<patchlevel.h> but then modify it if the current Configure options warrant. F<patchlevel.h> then would use an #ifdef guard.
api_subversion
The three variables, api_revision, api_version, and
api_subversion, specify the version of the oldest perl binary
compatible with the present perl. In a full version string
such as 5.6.1, api_subversion is the 1
. See api_revision for
full details.
api_version
The three variables, api_revision, api_version, and
api_subversion, specify the version of the oldest perl binary
compatible with the present perl. In a full version string
such as 5.6.1, api_version is the 6
. See api_revision for
full details. As a special case, 5.5.0 is rendered in the
old-style as 5.005. (In the 5.005_0x maintenance series,
this was the only versioned directory in $sitelib.)
api_versionstring
This variable combines api_revision, api_version, and api_subversion in a format such as 5.6.1 (or 5_6_1) suitable for use as a directory name. This is filesystem dependent.
ar
This variable is used internally by Configure to determine the
full pathname (if any) of the ar program. After Configure runs,
the value is reset to a plain ar
and is not useful.
archlib
This variable holds the name of the directory in which the user wants to put architecture-dependent public library files for $package. It is most often a local directory such as /usr/local/lib. Programs using this variable must be prepared to deal with filename expansion.
archlibexp
This variable is the same as the archlib variable, but is filename expanded at configuration time, for convenient use.
archname64
This variable is used for the 64-bitness part of $archname.
archname
This variable is a short name to characterize the current architecture. It is used mainly to construct the default archlib.
archobjs
This variable defines any additional objects that must be linked in with the program on this architecture. On unix, it is usually empty. It is typically used to include emulations of unix calls or other facilities. For perl on OS/2, for example, this would include os2/os2.obj.
awk
This variable is used internally by Configure to determine the
full pathname (if any) of the awk program. After Configure runs,
the value is reset to a plain awk
and is not useful.
baserev
The base revision level of this package, from the .package file.
bash
This variable is defined but not used by Configure. The value is a plain '' and is not useful.
bin
This variable holds the name of the directory in which the user wants to put publicly executable images for the package in question. It is most often a local directory such as /usr/local/bin. Programs using this variable must be prepared to deal with ~name substitution.
bincompat5005
This variable contains y if this version of Perl should be binary-compatible with Perl 5.005.
binexp
This is the same as the bin variable, but is filename expanded at configuration time, for use in your makefiles.
bison
This variable is defined but not used by Configure. The value is a plain '' and is not useful.
byacc
This variable is used internally by Configure to determine the
full pathname (if any) of the byacc program. After Configure runs,
the value is reset to a plain byacc
and is not useful.
byteorder
This variable holds the byte order. In the following, larger digits indicate more significance. The variable byteorder is either 4321 on a big-endian machine, or 1234 on a little-endian, or 87654321 on a Cray ... or 3412 with weird order !
c
This variable contains the \c string if that is what causes the echo command to suppress newline. Otherwise it is null. Correct usage is $echo $n ``prompt for a question: $c''.
castflags
This variable contains a flag that precise difficulties the compiler has casting odd floating values to unsigned long: 0 = ok 1 = couldn't cast < 0 2 = couldn't cast >= 0x80000000 4 = couldn't cast in argument expression list
cat
This variable is used internally by Configure to determine the
full pathname (if any) of the cat program. After Configure runs,
the value is reset to a plain cat
and is not useful.
cc
This variable holds the name of a command to execute a C compiler which
can resolve multiple global references that happen to have the same
name. Usual values are cc
and gcc
.
Fervent ANSI
compilers may be called c89
. AIX
has xlc.
cccdlflags
This variable contains any special flags that might need to be
passed with cc -c
to compile modules to be used to create a shared
library that will be used for dynamic loading. For hpux, this
should be +z. It is up to the makefile to use it.
ccdlflags
This variable contains any special flags that might need to be passed to cc to link with a shared library for dynamic loading. It is up to the makefile to use it. For sunos 4.1, it should be empty.
ccflags
This variable contains any additional C compiler flags desired by the user. It is up to the Makefile to use this.
ccflags_uselargefiles
This variable contains the compiler flags needed by large file builds and added to ccflags by hints files.
ccname
This can set either by hints files or by Configure. If using
gcc, this is gcc, and if not, usually equal to cc, unimpressive, no?
Some platforms, however, make good use of this by storing the
flavor of the C compiler being used here. For example if using
the Sun WorkShop suite, ccname will be workshop
.
ccsymbols
The variable contains the symbols defined by the C compiler alone. The symbols defined by cpp or by cc when it calls cpp are not in this list, see cppsymbols and cppccsymbols. The list is a space-separated list of symbol=value tokens.
ccversion
This can set either by hints files or by Configure. If using a (non-gcc) vendor cc, this variable may contain a version for the compiler.
cf_by
Login name of the person who ran the Configure script and answered the questions. This is used to tag both config.sh and config_h.SH.
cf_email
Electronic mail address of the person who ran Configure. This can be used by units that require the user's e-mail, like MailList.U.
cf_time
Holds the output of the date
command when the configuration file was
produced. This is used to tag both config.sh and config_h.SH.
charsize
This variable contains the value of the CHARSIZE
symbol, which
indicates to the C program how many bytes there are in a character.
chgrp
This variable is defined but not used by Configure. The value is a plain '' and is not useful.
chmod
This variable is defined but not used by Configure. The value is a plain '' and is not useful.
chown
This variable is defined but not used by Configure. The value is a plain '' and is not useful.
clocktype
This variable holds the type returned by times(). It can be long,
or clock_t on BSD
sites (in which case <sys/types.h> should be
included).
comm
This variable is used internally by Configure to determine the
full pathname (if any) of the comm program. After Configure runs,
the value is reset to a plain comm
and is not useful.
compress
This variable is defined but not used by Configure. The value is a plain '' and is not useful.
CONFIGDOTSH
This is set to true
in config.sh so that a shell script
sourcing config.sh can tell if it has been sourced already.
contains
This variable holds the command to do a grep with a proper return
status. On most sane systems it is simply grep
. On insane systems
it is a grep followed by a cat followed by a test. This variable
is primarily for the use of other Configure units.
cp
This variable is used internally by Configure to determine the
full pathname (if any) of the cp program. After Configure runs,
the value is reset to a plain cp
and is not useful.
cpio
This variable is defined but not used by Configure. The value is a plain '' and is not useful.
cpp
This variable is used internally by Configure to determine the
full pathname (if any) of the cpp program. After Configure runs,
the value is reset to a plain cpp
and is not useful.
cpp_stuff
This variable contains an identification of the catenation mechanism used by the C preprocessor.
cppccsymbols
The variable contains the symbols defined by the C compiler when it calls cpp. The symbols defined by the cc alone or cpp alone are not in this list, see ccsymbols and cppsymbols. The list is a space-separated list of symbol=value tokens.
cppflags
This variable holds the flags that will be passed to the C pre- processor. It is up to the Makefile to use it.
cpplast
This variable has the same functionality as cppminus, only it applies to cpprun and not cppstdin.
cppminus
This variable contains the second part of the string which will invoke
the C preprocessor on the standard input and produce to standard
output. This variable will have the value -
if cppstdin needs
a minus to specify standard input, otherwise the value is ``''.
cpprun
This variable contains the command which will invoke a C preprocessor on standard input and put the output to stdout. It is guaranteed not to be a wrapper and may be a null string if no preprocessor can be made directly available. This preprocessor might be different from the one used by the C compiler. Don't forget to append cpplast after the preprocessor options.
cppstdin
This variable contains the command which will invoke the C preprocessor on standard input and put the output to stdout. It is primarily used by other Configure units that ask about preprocessor symbols.
cppsymbols
The variable contains the symbols defined by the C preprocessor alone. The symbols defined by cc or by cc when it calls cpp are not in this list, see ccsymbols and cppccsymbols. The list is a space-separated list of symbol=value tokens.
crosscompile
This variable conditionally defines the CROSSCOMPILE
symbol
which signifies that the build process is be a cross-compilation.
This is normally set by hints files or from Configure command line.
cryptlib
This variable holds -lcrypt or the path to a libcrypt.a archive if
the crypt()
function is not defined in the standard C library. It is
up to the Makefile to use this.
csh
This variable is used internally by Configure to determine the
full pathname (if any) of the csh program. After Configure runs,
the value is reset to a plain csh
and is not useful.
d__fwalk
This variable conditionally defines HAS__FWALK
if _fwalk()
is
available to apply a function to all the file handles.
d_access
This variable conditionally defines HAS_ACCESS
if the access()
system
call is available to check for access permissions using real IDs.
d_accessx
This variable conditionally defines the HAS_ACCESSX
symbol, which
indicates to the C program that the accessx()
routine is available.
d_alarm
This variable conditionally defines the HAS_ALARM
symbol, which
indicates to the C program that the alarm()
routine is available.
d_archlib
This variable conditionally defines ARCHLIB
to hold the pathname
of architecture-dependent library files for $package. If
$archlib is the same as $privlib, then this is set to undef.
d_atolf
This variable conditionally defines the HAS_ATOLF
symbol, which
indicates to the C program that the atolf()
routine is available.
d_atoll
This variable conditionally defines the HAS_ATOLL
symbol, which
indicates to the C program that the atoll()
routine is available.
d_attribut
This variable conditionally defines HASATTRIBUTE
, which
indicates the C compiler can check for function attributes,
such as printf formats.
d_bcmp
This variable conditionally defines the HAS_BCMP
symbol if
the bcmp()
routine is available to compare strings.
d_bcopy
This variable conditionally defines the HAS_BCOPY
symbol if
the bcopy()
routine is available to copy strings.
d_bincompat5005
This variable conditionally defines BINCOMPAT5005 so that embed.h can take special action if this version of Perl should be binary-compatible with Perl 5.005. This is impossible for builds that use features like threads and multiplicity it is always $undef for those versions.
d_bsd
This symbol conditionally defines the symbol BSD
when running on a
BSD
system.
d_bsdgetpgrp
This variable conditionally defines USE_BSD_GETPGRP
if
getpgrp needs one arguments whereas USG
one needs none.
d_bsdsetpgrp
This variable conditionally defines USE_BSD_SETPGRP
if
setpgrp needs two arguments whereas USG
one needs none.
See also d_setpgid for a POSIX
interface.
d_bzero
This variable conditionally defines the HAS_BZERO
symbol if
the bzero()
routine is available to set memory to 0.
d_casti32
This variable conditionally defines CASTI32, which indicates whether the C compiler can cast large floats to 32-bit ints.
d_castneg
This variable conditionally defines CASTNEG
, which indicates
wether the C compiler can cast negative float to unsigned.
d_charvspr
This variable conditionally defines CHARVSPRINTF
if this system
has vsprintf returning type (char*). The trend seems to be to
declare it as ``int vsprintf()''.
d_chown
This variable conditionally defines the HAS_CHOWN
symbol, which
indicates to the C program that the chown()
routine is available.
d_chroot
This variable conditionally defines the HAS_CHROOT
symbol, which
indicates to the C program that the chroot()
routine is available.
d_chsize
This variable conditionally defines the CHSIZE
symbol, which
indicates to the C program that the chsize()
routine is available
to truncate files. You might need a -lx to get this routine.
d_closedir
This variable conditionally defines HAS_CLOSEDIR
if closedir()
is
available.
d_const
This variable conditionally defines the HASCONST
symbol, which
indicates to the C program that this C compiler knows about the
const type.
d_crypt
This variable conditionally defines the CRYPT
symbol, which
indicates to the C program that the crypt()
routine is available
to encrypt passwords and the like.
d_csh
This variable conditionally defines the CSH
symbol, which
indicates to the C program that the C-shell exists.
d_cuserid
This variable conditionally defines the HAS_CUSERID
symbol, which
indicates to the C program that the cuserid()
routine is available
to get character login names.
d_dbl_dig
This variable conditionally defines d_dbl_dig if this system's
header files provide DBL_DIG
, which is the number of significant
digits in a double precision number.
d_difftime
This variable conditionally defines the HAS_DIFFTIME
symbol, which
indicates to the C program that the difftime()
routine is available.
d_dirnamlen
This variable conditionally defines DIRNAMLEN
, which indicates
to the C program that the length of directory entry names is
provided by a d_namelen field.
d_dlerror
This variable conditionally defines the HAS_DLERROR
symbol, which
indicates to the C program that the dlerror()
routine is available.
d_dlopen
This variable conditionally defines the HAS_DLOPEN
symbol, which
indicates to the C program that the dlopen()
routine is available.
d_dlsymun
This variable conditionally defines DLSYM_NEEDS_UNDERSCORE
, which
indicates that we need to prepend an underscore to the symbol
name before calling dlsym().
d_dosuid
This variable conditionally defines the symbol DOSUID
, which
tells the C program that it should insert setuid emulation code
on hosts which have setuid #! scripts disabled.
d_drand48proto
This variable conditionally defines the HAS_DRAND48_PROTO symbol,
which indicates to the C program that the system provides
a prototype for the drand48()
function. Otherwise, it is
up to the program to supply one.
d_dup2
This variable conditionally defines HAS_DUP2 if dup2()
is
available to duplicate file descriptors.
d_eaccess
This variable conditionally defines the HAS_EACCESS
symbol, which
indicates to the C program that the eaccess()
routine is available.
d_endgrent
This variable conditionally defines the HAS_ENDGRENT
symbol, which
indicates to the C program that the endgrent()
routine is available
for sequential access of the group database.
d_endhent
This variable conditionally defines HAS_ENDHOSTENT
if endhostent()
is
available to close whatever was being used for host queries.
d_endnent
This variable conditionally defines HAS_ENDNETENT
if endnetent()
is
available to close whatever was being used for network queries.
d_endpent
This variable conditionally defines HAS_ENDPROTOENT
if endprotoent()
is
available to close whatever was being used for protocol queries.
d_endpwent
This variable conditionally defines the HAS_ENDPWENT
symbol, which
indicates to the C program that the endpwent()
routine is available
for sequential access of the passwd database.
d_endsent
This variable conditionally defines HAS_ENDSERVENT
if endservent()
is
available to close whatever was being used for service queries.
d_eofnblk
This variable conditionally defines EOF_NONBLOCK
if EOF
can be seen
when reading from a non-blocking I/O source.
d_eunice
This variable conditionally defines the symbols EUNICE
and VAX
, which
alerts the C program that it must deal with ideosyncracies of VMS
.
d_fchmod
This variable conditionally defines the HAS_FCHMOD
symbol, which
indicates to the C program that the fchmod()
routine is available
to change mode of opened files.
d_fchown
This variable conditionally defines the HAS_FCHOWN
symbol, which
indicates to the C program that the fchown()
routine is available
to change ownership of opened files.
d_fcntl
This variable conditionally defines the HAS_FCNTL
symbol, and indicates
whether the fcntl()
function exists
d_fcntl_can_lock
This variable conditionally defines the FCNTL_CAN_LOCK
symbol
and indicates whether file locking with fcntl()
works.
d_fd_macros
This variable contains the eventual value of the HAS_FD_MACROS
symbol,
which indicates if your C compiler knows about the macros which
manipulate an fd_set.
d_fd_set
This variable contains the eventual value of the HAS_FD_SET
symbol,
which indicates if your C compiler knows about the fd_set typedef.
d_fds_bits
This variable contains the eventual value of the HAS_FDS_BITS
symbol,
which indicates if your fd_set typedef contains the fds_bits member.
If you have an fd_set typedef, but the dweebs who installed it did
a half-fast job and neglected to provide the macros to manipulate
an fd_set, HAS_FDS_BITS
will let us know how to fix the gaffe.
d_fgetpos
This variable conditionally defines HAS_FGETPOS
if fgetpos()
is
available to get the file position indicator.
d_flexfnam
This variable conditionally defines the FLEXFILENAMES
symbol, which
indicates that the system supports filenames longer than 14 characters.
d_flock
This variable conditionally defines HAS_FLOCK
if flock()
is
available to do file locking.
d_fork
This variable conditionally defines the HAS_FORK
symbol, which
indicates to the C program that the fork()
routine is available.
d_fpathconf
This variable conditionally defines the HAS_FPATHCONF
symbol, which
indicates to the C program that the pathconf()
routine is available
to determine file-system related limits and options associated
with a given open file descriptor.
d_fpos64_t
This symbol will be defined if the C compiler supports fpos64_t.
d_frexpl
This variable conditionally defines the HAS_FREXPL
symbol, which
indicates to the C program that the frexpl()
routine is available.
d_fs_data_s
This variable conditionally defines the HAS_STRUCT_FS_DATA
symbol,
which indicates that the struct fs_data is supported.
d_fseeko
This variable conditionally defines the HAS_FSEEKO
symbol, which
indicates to the C program that the fseeko()
routine is available.
d_fsetpos
This variable conditionally defines HAS_FSETPOS
if fsetpos()
is
available to set the file position indicator.
d_fstatfs
This variable conditionally defines the HAS_FSTATFS
symbol, which
indicates to the C program that the fstatfs()
routine is available.
d_fstatvfs
This variable conditionally defines the HAS_FSTATVFS
symbol, which
indicates to the C program that the fstatvfs()
routine is available.
d_fsync
This variable conditionally defines the HAS_FSYNC
symbol, which
indicates to the C program that the fsync()
routine is available.
d_ftello
This variable conditionally defines the HAS_FTELLO
symbol, which
indicates to the C program that the ftello()
routine is available.
d_ftime
This variable conditionally defines the HAS_FTIME
symbol, which indicates
that the ftime()
routine exists. The ftime()
routine is basically
a sub-second accuracy clock.
d_Gconvert
This variable holds what Gconvert is defined as to convert
floating point numbers into strings. It could be gconvert
or a more complex
macro emulating gconvert with gcvt()
or sprintf.
Possible values are:
d_Gconvert=gconvert((x),(n),(t),(b))
d_Gconvert=gcvt((x),(n),(b))
d_Gconvert=sprintf((b),%.*g,(n),(x))
d_getcwd
This variable conditionally defines the HAS_GETCWD
symbol, which
indicates to the C program that the getcwd()
routine is available
to get the current working directory.
d_getespwnam
This variable conditionally defines HAS_GETESPWNAM
if getespwnam()
is
available to retrieve enchanced (shadow) password entries by name.
d_getfsstat
This variable conditionally defines the HAS_GETFSSTAT
symbol, which
indicates to the C program that the getfsstat()
routine is available.
d_getgrent
This variable conditionally defines the HAS_GETGRENT
symbol, which
indicates to the C program that the getgrent()
routine is available
for sequential access of the group database.
d_getgrps
This variable conditionally defines the HAS_GETGROUPS
symbol, which
indicates to the C program that the getgroups()
routine is available
to get the list of process groups.
d_gethbyaddr
This variable conditionally defines the HAS_GETHOSTBYADDR
symbol, which
indicates to the C program that the gethostbyaddr()
routine is available
to look up hosts by their IP
addresses.
d_gethbyname
This variable conditionally defines the HAS_GETHOSTBYNAME
symbol, which
indicates to the C program that the gethostbyname()
routine is available
to look up host names in some data base or other.
d_gethent
This variable conditionally defines HAS_GETHOSTENT
if gethostent()
is
available to look up host names in some data base or another.
d_gethname
This variable conditionally defines the HAS_GETHOSTNAME
symbol, which
indicates to the C program that the gethostname()
routine may be
used to derive the host name.
d_gethostprotos
This variable conditionally defines the HAS_GETHOST_PROTOS
symbol,
which indicates to the C program that <netdb.h> supplies
prototypes for the various gethost*() functions.
See also netdbtype.U for probing for various netdb types.
d_getlogin
This variable conditionally defines the HAS_GETLOGIN
symbol, which
indicates to the C program that the getlogin()
routine is available
to get the login name.
d_getmnt
This variable conditionally defines the HAS_GETMNT
symbol, which
indicates to the C program that the getmnt()
routine is available
to retrieve one or more mount info blocks by filename.
d_getmntent
This variable conditionally defines the HAS_GETMNTENT
symbol, which
indicates to the C program that the getmntent()
routine is available
to iterate through mounted files to get their mount info.
d_getnbyaddr
This variable conditionally defines the HAS_GETNETBYADDR
symbol, which
indicates to the C program that the getnetbyaddr()
routine is available
to look up networks by their IP
addresses.
d_getnbyname
This variable conditionally defines the HAS_GETNETBYNAME
symbol, which
indicates to the C program that the getnetbyname()
routine is available
to look up networks by their names.
d_getnent
This variable conditionally defines HAS_GETNETENT
if getnetent()
is
available to look up network names in some data base or another.
d_getnetprotos
This variable conditionally defines the HAS_GETNET_PROTOS
symbol,
which indicates to the C program that <netdb.h> supplies
prototypes for the various getnet*() functions.
See also netdbtype.U for probing for various netdb types.
d_getpagsz
This variable conditionally defines HAS_GETPAGESIZE
if getpagesize()
is available to get the system page size.
d_getpbyname
This variable conditionally defines the HAS_GETPROTOBYNAME
symbol, which indicates to the C program that the
getprotobyname()
routine is available to look up protocols
by their name.
d_getpbynumber
This variable conditionally defines the HAS_GETPROTOBYNUMBER
symbol, which indicates to the C program that the
getprotobynumber()
routine is available to look up protocols
by their number.
d_getpent
This variable conditionally defines HAS_GETPROTOENT
if getprotoent()
is
available to look up protocols in some data base or another.
d_getpgid
This variable conditionally defines the HAS_GETPGID
symbol, which
indicates to the C program that the getpgid(pid)
function
is available to get the process group id.
d_getpgrp2
This variable conditionally defines the HAS_GETPGRP2 symbol, which
indicates to the C program that the getpgrp2()
(as in DG/UX
) routine
is available to get the current process group.
d_getpgrp
This variable conditionally defines HAS_GETPGRP
if getpgrp()
is
available to get the current process group.
d_getppid
This variable conditionally defines the HAS_GETPPID
symbol, which
indicates to the C program that the getppid()
routine is available
to get the parent process ID
.
d_getprior
This variable conditionally defines HAS_GETPRIORITY
if getpriority()
is available to get a process's priority.
d_getprotoprotos
This variable conditionally defines the HAS_GETPROTO_PROTOS
symbol,
which indicates to the C program that <netdb.h> supplies
prototypes for the various getproto*() functions.
See also netdbtype.U for probing for various netdb types.
d_getprpwnam
This variable conditionally defines HAS_GETPRPWNAM
if getprpwnam()
is
available to retrieve protected (shadow) password entries by name.
d_getpwent
This variable conditionally defines the HAS_GETPWENT
symbol, which
indicates to the C program that the getpwent()
routine is available
for sequential access of the passwd database.
d_getsbyname
This variable conditionally defines the HAS_GETSERVBYNAME
symbol, which indicates to the C program that the
getservbyname()
routine is available to look up services
by their name.
d_getsbyport
This variable conditionally defines the HAS_GETSERVBYPORT
symbol, which indicates to the C program that the
getservbyport()
routine is available to look up services
by their port.
d_getsent
This variable conditionally defines HAS_GETSERVENT
if getservent()
is
available to look up network services in some data base or another.
d_getservprotos
This variable conditionally defines the HAS_GETSERV_PROTOS
symbol,
which indicates to the C program that <netdb.h> supplies
prototypes for the various getserv*() functions.
See also netdbtype.U for probing for various netdb types.
d_getspnam
This variable conditionally defines HAS_GETSPNAM
if getspnam()
is
available to retrieve SysV shadow password entries by name.
d_gettimeod
This variable conditionally defines the HAS_GETTIMEOFDAY
symbol, which
indicates that the gettimeofday()
system call exists (to obtain a
sub-second accuracy clock). You should probably include <sys/resource.h>.
d_gnulibc
Defined if we're dealing with the GNU
C Library.
d_grpasswd
This variable conditionally defines GRPASSWD
, which indicates
that struct group in <grp.h> contains gr_passwd.
d_hasmntopt
This variable conditionally defines the HAS_HASMNTOPT
symbol, which
indicates to the C program that the hasmntopt()
routine is available
to query the mount options of file systems.
d_htonl
This variable conditionally defines HAS_HTONL
if htonl()
and its
friends are available to do network order byte swapping.
d_iconv
This variable conditionally defines the HAS_ICONV
symbol, which
indicates to the C program that the iconv()
routine is available.
d_index
This variable conditionally defines HAS_INDEX
if index()
and
rindex()
are available for string searching.
d_inetaton
This variable conditionally defines the HAS_INET_ATON
symbol, which
indicates to the C program that the inet_aton()
function is available
to parse IP
address dotted-quad
strings.
d_int64_t
This symbol will be defined if the C compiler supports int64_t.
d_isascii
This variable conditionally defines the HAS_ISASCII
constant,
which indicates to the C program that isascii()
is available.
d_isnan
This variable conditionally defines the HAS_ISNAN
symbol, which
indicates to the C program that the isnan()
routine is available.
d_isnanl
This variable conditionally defines the HAS_ISNANL
symbol, which
indicates to the C program that the isnanl()
routine is available.
d_killpg
This variable conditionally defines the HAS_KILLPG
symbol, which
indicates to the C program that the killpg()
routine is available
to kill process groups.
d_lchown
This variable conditionally defines the HAS_LCHOWN
symbol, which
indicates to the C program that the lchown()
routine is available
to operate on a symbolic link (instead of following the link).
d_ldbl_dig
This variable conditionally defines d_ldbl_dig if this system's
header files provide LDBL_DIG
, which is the number of significant
digits in a long double precision number.
d_link
This variable conditionally defines HAS_LINK
if link()
is
available to create hard links.
d_locconv
This variable conditionally defines HAS_LOCALECONV
if localeconv()
is
available for numeric and monetary formatting conventions.
d_lockf
This variable conditionally defines HAS_LOCKF
if lockf()
is
available to do file locking.
d_longdbl
This variable conditionally defines HAS_LONG_DOUBLE
if
the long double type is supported.
d_longlong
This variable conditionally defines HAS_LONG_LONG
if
the long long type is supported.
d_lseekproto
This variable conditionally defines the HAS_LSEEK_PROTO
symbol,
which indicates to the C program that the system provides
a prototype for the lseek()
function. Otherwise, it is
up to the program to supply one.
d_lstat
This variable conditionally defines HAS_LSTAT
if lstat()
is
available to do file stats on symbolic links.
d_madvise
This variable conditionally defines HAS_MADVISE
if madvise()
is
available to map a file into memory.
d_mblen
This variable conditionally defines the HAS_MBLEN
symbol, which
indicates to the C program that the mblen()
routine is available
to find the number of bytes in a multibye character.
d_mbstowcs
This variable conditionally defines the HAS_MBSTOWCS
symbol, which
indicates to the C program that the mbstowcs()
routine is available
to convert a multibyte string into a wide character string.
d_mbtowc
This variable conditionally defines the HAS_MBTOWC
symbol, which
indicates to the C program that the mbtowc()
routine is available
to convert multibyte to a wide character.
d_memchr
This variable conditionally defines the HAS_MEMCHR
symbol, which
indicates to the C program that the memchr()
routine is available
to locate characters within a C string.
d_memcmp
This variable conditionally defines the HAS_MEMCMP
symbol, which
indicates to the C program that the memcmp()
routine is available
to compare blocks of memory.
d_memcpy
This variable conditionally defines the HAS_MEMCPY
symbol, which
indicates to the C program that the memcpy()
routine is available
to copy blocks of memory.
d_memmove
This variable conditionally defines the HAS_MEMMOVE
symbol, which
indicates to the C program that the memmove()
routine is available
to copy potentatially overlapping blocks of memory.
d_memset
This variable conditionally defines the HAS_MEMSET
symbol, which
indicates to the C program that the memset()
routine is available
to set blocks of memory.
d_mkdir
This variable conditionally defines the HAS_MKDIR
symbol, which
indicates to the C program that the mkdir()
routine is available
to create directories..
d_mkdtemp
This variable conditionally defines the HAS_MKDTEMP
symbol, which
indicates to the C program that the mkdtemp()
routine is available
to exclusively create a uniquely named temporary directory.
d_mkfifo
This variable conditionally defines the HAS_MKFIFO
symbol, which
indicates to the C program that the mkfifo()
routine is available.
d_mkstemp
This variable conditionally defines the HAS_MKSTEMP
symbol, which
indicates to the C program that the mkstemp()
routine is available
to exclusively create and open a uniquely named temporary file.
d_mkstemps
This variable conditionally defines the HAS_MKSTEMPS
symbol, which
indicates to the C program that the mkstemps()
routine is available
to exclusively create and open a uniquely named (with a suffix)
temporary file.
d_mktime
This variable conditionally defines the HAS_MKTIME
symbol, which
indicates to the C program that the mktime()
routine is available.
d_mmap
This variable conditionally defines HAS_MMAP
if mmap()
is
available to map a file into memory.
d_modfl
This variable conditionally defines the HAS_MODFL
symbol, which
indicates to the C program that the modfl()
routine is available.
d_mprotect
This variable conditionally defines HAS_MPROTECT
if mprotect()
is
available to modify the access protection of a memory mapped file.
d_msg
This variable conditionally defines the HAS_MSG
symbol, which
indicates that the entire msg*(2) library is present.
d_msg_ctrunc
This variable conditionally defines the HAS_MSG_CTRUNC
symbol,
which indicates that the MSG_CTRUNC
is available. #ifdef is
not enough because it may be an enum, glibc has been known to do this.
d_msg_dontroute
This variable conditionally defines the HAS_MSG_DONTROUTE
symbol,
which indicates that the MSG_DONTROUTE
is available. #ifdef is
not enough because it may be an enum, glibc has been known to do this.
d_msg_oob
This variable conditionally defines the HAS_MSG_OOB
symbol,
which indicates that the MSG_OOB
is available. #ifdef is
not enough because it may be an enum, glibc has been known to do this.
d_msg_peek
This variable conditionally defines the HAS_MSG_PEEK
symbol,
which indicates that the MSG_PEEK
is available. #ifdef is
not enough because it may be an enum, glibc has been known to do this.
d_msg_proxy
This variable conditionally defines the HAS_MSG_PROXY
symbol,
which indicates that the MSG_PROXY
is available. #ifdef is
not enough because it may be an enum, glibc has been known to do this.
d_msgctl
This variable conditionally defines the HAS_MSGCTL
symbol, which
indicates to the C program that the msgctl()
routine is available.
d_msgget
This variable conditionally defines the HAS_MSGGET
symbol, which
indicates to the C program that the msgget()
routine is available.
d_msgrcv
This variable conditionally defines the HAS_MSGRCV
symbol, which
indicates to the C program that the msgrcv()
routine is available.
d_msgsnd
This variable conditionally defines the HAS_MSGSND
symbol, which
indicates to the C program that the msgsnd()
routine is available.
d_msync
This variable conditionally defines HAS_MSYNC
if msync()
is
available to synchronize a mapped file.
d_munmap
This variable conditionally defines HAS_MUNMAP
if munmap()
is
available to unmap a region mapped by mmap().
d_mymalloc
This variable conditionally defines MYMALLOC
in case other parts
of the source want to take special action if MYMALLOC
is used.
This may include different sorts of profiling or error detection.
d_nice
This variable conditionally defines the HAS_NICE
symbol, which
indicates to the C program that the nice()
routine is available.
d_nv_preserves_uv
This variable indicates whether a variable of type nvtype can preserve all the bits a variable of type uvtype.
d_nv_preserves_uv_bits
This variable indicates how many of bits type uvtype a variable nvtype can preserve.
d_off64_t
This symbol will be defined if the C compiler supports off64_t.
d_old_pthread_create_joinable
This variable conditionally defines pthread_create_joinable.
undef if pthread.h defines PTHREAD_CREATE_JOINABLE
.
d_oldpthreads
This variable conditionally defines the OLD_PTHREADS_API
symbol,
and indicates that Perl should be built to use the old
draft POSIX
threads API
. This is only potentially meaningful if
usethreads is set.
d_oldsock
This variable conditionally defines the OLDSOCKET
symbol, which
indicates that the BSD
socket interface is based on 4.1c and not 4.2.
d_open3
This variable conditionally defines the HAS_OPEN3 manifest constant,
which indicates to the C program that the 3 argument version of
the open(2)
function is available.
d_pathconf
This variable conditionally defines the HAS_PATHCONF
symbol, which
indicates to the C program that the pathconf()
routine is available
to determine file-system related limits and options associated
with a given filename.
d_pause
This variable conditionally defines the HAS_PAUSE
symbol, which
indicates to the C program that the pause()
routine is available
to suspend a process until a signal is received.
d_perl_otherlibdirs
This variable conditionally defines PERL_OTHERLIBDIRS
, which
contains a colon-separated set of paths for the perl binary to
include in @INC
. See also otherlibdirs.
d_phostname
This variable conditionally defines the HAS_PHOSTNAME
symbol, which
contains the shell command which, when fed to popen(), may be
used to derive the host name.
d_pipe
This variable conditionally defines the HAS_PIPE
symbol, which
indicates to the C program that the pipe()
routine is available
to create an inter-process channel.
d_poll
This variable conditionally defines the HAS_POLL
symbol, which
indicates to the C program that the poll()
routine is available
to poll active file descriptors.
d_portable
This variable conditionally defines the PORTABLE
symbol, which
indicates to the C program that it should not assume that it is
running on the machine it was compiled on.
d_PRId64
This variable conditionally defines the PERL_PRId64 symbol, which indiciates that stdio has a symbol to print 64-bit decimal numbers.
d_PRIeldbl
This variable conditionally defines the PERL_PRIfldbl symbol, which indiciates that stdio has a symbol to print long doubles.
d_PRIEUldbl
This variable conditionally defines the PERL_PRIfldbl symbol, which
indiciates that stdio has a symbol to print long doubles.
The U
in the name is to separate this from d_PRIeldbl so that even
case-blind systems can see the difference.
d_PRIfldbl
This variable conditionally defines the PERL_PRIfldbl symbol, which indiciates that stdio has a symbol to print long doubles.
d_PRIFUldbl
This variable conditionally defines the PERL_PRIfldbl symbol, which
indiciates that stdio has a symbol to print long doubles.
The U
in the name is to separate this from d_PRIfldbl so that even
case-blind systems can see the difference.
d_PRIgldbl
This variable conditionally defines the PERL_PRIfldbl symbol, which indiciates that stdio has a symbol to print long doubles.
d_PRIGUldbl
This variable conditionally defines the PERL_PRIfldbl symbol, which
indiciates that stdio has a symbol to print long doubles.
The U
in the name is to separate this from d_PRIgldbl so that even
case-blind systems can see the difference.
d_PRIi64
This variable conditionally defines the PERL_PRIi64 symbol, which indiciates that stdio has a symbol to print 64-bit decimal numbers.
d_PRIo64
This variable conditionally defines the PERL_PRIo64 symbol, which indiciates that stdio has a symbol to print 64-bit octal numbers.
d_PRIu64
This variable conditionally defines the PERL_PRIu64 symbol, which indiciates that stdio has a symbol to print 64-bit unsigned decimal numbers.
d_PRIx64
This variable conditionally defines the PERL_PRIx64 symbol, which indiciates that stdio has a symbol to print 64-bit hexadecimal numbers.
d_PRIXU64
This variable conditionally defines the PERL_PRIXU64 symbol, which
indiciates that stdio has a symbol to print 64-bit hExADECimAl numbers.
The U
in the name is to separate this from d_PRIx64 so that even
case-blind systems can see the difference.
d_pthread_atfork
This variable conditionally defines the HAS_PTHREAD_ATFORK
symbol,
which indicates to the C program that the pthread_atfork()
routine is available.
d_pthread_yield
This variable conditionally defines the HAS_PTHREAD_YIELD
symbol if the pthread_yield routine is available to yield
the execution of the current thread.
d_pwage
This variable conditionally defines PWAGE
, which indicates
that struct passwd contains pw_age.
d_pwchange
This variable conditionally defines PWCHANGE
, which indicates
that struct passwd contains pw_change.
d_pwclass
This variable conditionally defines PWCLASS
, which indicates
that struct passwd contains pw_class.
d_pwcomment
This variable conditionally defines PWCOMMENT
, which indicates
that struct passwd contains pw_comment.
d_pwexpire
This variable conditionally defines PWEXPIRE
, which indicates
that struct passwd contains pw_expire.
d_pwgecos
This variable conditionally defines PWGECOS
, which indicates
that struct passwd contains pw_gecos.
d_pwpasswd
This variable conditionally defines PWPASSWD
, which indicates
that struct passwd contains pw_passwd.
d_pwquota
This variable conditionally defines PWQUOTA
, which indicates
that struct passwd contains pw_quota.
d_qgcvt
This variable conditionally defines the HAS_QGCVT
symbol, which
indicates to the C program that the qgcvt()
routine is available.
d_quad
This variable, if defined, tells that there's a 64-bit integer type, quadtype.
d_readdir
This variable conditionally defines HAS_READDIR
if readdir()
is
available to read directory entries.
d_readlink
This variable conditionally defines the HAS_READLINK
symbol, which
indicates to the C program that the readlink()
routine is available
to read the value of a symbolic link.
d_rename
This variable conditionally defines the HAS_RENAME
symbol, which
indicates to the C program that the rename()
routine is available
to rename files.
d_rewinddir
This variable conditionally defines HAS_REWINDDIR
if rewinddir()
is
available.
d_rmdir
This variable conditionally defines HAS_RMDIR
if rmdir()
is
available to remove directories.
d_safebcpy
This variable conditionally defines the HAS_SAFE_BCOPY
symbol if
the bcopy()
routine can do overlapping copies.
d_safemcpy
This variable conditionally defines the HAS_SAFE_MEMCPY
symbol if
the memcpy()
routine can do overlapping copies.
d_sanemcmp
This variable conditionally defines the HAS_SANE_MEMCMP
symbol if
the memcpy()
routine is available and can be used to compare relative
magnitudes of chars with their high bits set.
d_sbrkproto
This variable conditionally defines the HAS_SBRK_PROTO
symbol,
which indicates to the C program that the system provides
a prototype for the sbrk()
function. Otherwise, it is
up to the program to supply one.
d_sched_yield
This variable conditionally defines the HAS_SCHED_YIELD
symbol if the sched_yield routine is available to yield
the execution of the current thread.
d_scm_rights
This variable conditionally defines the HAS_SCM_RIGHTS
symbol,
which indicates that the SCM_RIGHTS
is available. #ifdef is
not enough because it may be an enum, glibc has been known to do this.
d_SCNfldbl
This variable conditionally defines the PERL_PRIfldbl symbol, which indiciates that stdio has a symbol to scan long doubles.
d_seekdir
This variable conditionally defines HAS_SEEKDIR
if seekdir()
is
available.
d_select
This variable conditionally defines HAS_SELECT
if select()
is
available to select active file descriptors. A <sys/time.h>
inclusion may be necessary for the timeout field.
d_sem
This variable conditionally defines the HAS_SEM
symbol, which
indicates that the entire sem*(2) library is present.
d_semctl
This variable conditionally defines the HAS_SEMCTL
symbol, which
indicates to the C program that the semctl()
routine is available.
d_semctl_semid_ds
This variable conditionally defines USE_SEMCTL_SEMID_DS
, which
indicates that struct semid_ds * is to be used for semctl IPC_STAT
.
d_semctl_semun
This variable conditionally defines USE_SEMCTL_SEMUN
, which
indicates that union semun is to be used for semctl IPC_STAT
.
d_semget
This variable conditionally defines the HAS_SEMGET
symbol, which
indicates to the C program that the semget()
routine is available.
d_semop
This variable conditionally defines the HAS_SEMOP
symbol, which
indicates to the C program that the semop()
routine is available.
d_setegid
This variable conditionally defines the HAS_SETEGID
symbol, which
indicates to the C program that the setegid()
routine is available
to change the effective gid of the current program.
d_seteuid
This variable conditionally defines the HAS_SETEUID
symbol, which
indicates to the C program that the seteuid()
routine is available
to change the effective uid of the current program.
d_setgrent
This variable conditionally defines the HAS_SETGRENT
symbol, which
indicates to the C program that the setgrent()
routine is available
for initializing sequential access to the group database.
d_setgrps
This variable conditionally defines the HAS_SETGROUPS
symbol, which
indicates to the C program that the setgroups()
routine is available
to set the list of process groups.
d_sethent
This variable conditionally defines HAS_SETHOSTENT
if sethostent()
is
available.
d_setlinebuf
This variable conditionally defines the HAS_SETLINEBUF
symbol, which
indicates to the C program that the setlinebuf()
routine is available
to change stderr or stdout from block-buffered or unbuffered to a
line-buffered mode.
d_setlocale
This variable conditionally defines HAS_SETLOCALE
if setlocale()
is
available to handle locale-specific ctype implementations.
d_setnent
This variable conditionally defines HAS_SETNETENT
if setnetent()
is
available.
d_setpent
This variable conditionally defines HAS_SETPROTOENT
if setprotoent()
is
available.
d_setpgid
This variable conditionally defines the HAS_SETPGID
symbol if the
setpgid(pid, gpid) function is available to set process group ID
.
d_setpgrp2
This variable conditionally defines the HAS_SETPGRP2 symbol, which
indicates to the C program that the setpgrp2()
(as in DG/UX
) routine
is available to set the current process group.
d_setpgrp
This variable conditionally defines HAS_SETPGRP
if setpgrp()
is
available to set the current process group.
d_setprior
This variable conditionally defines HAS_SETPRIORITY
if setpriority()
is available to set a process's priority.
d_setproctitle
This variable conditionally defines the HAS_SETPROCTITLE
symbol,
which indicates to the C program that the setproctitle()
routine
is available.
d_setpwent
This variable conditionally defines the HAS_SETPWENT
symbol, which
indicates to the C program that the setpwent()
routine is available
for initializing sequential access to the passwd database.
d_setregid
This variable conditionally defines HAS_SETREGID
if setregid()
is
available to change the real and effective gid of the current
process.
d_setresgid
This variable conditionally defines HAS_SETRESGID
if setresgid()
is
available to change the real, effective and saved gid of the current
process.
d_setresuid
This variable conditionally defines HAS_SETREUID
if setresuid()
is
available to change the real, effective and saved uid of the current
process.
d_setreuid
This variable conditionally defines HAS_SETREUID
if setreuid()
is
available to change the real and effective uid of the current
process.
d_setrgid
This variable conditionally defines the HAS_SETRGID
symbol, which
indicates to the C program that the setrgid()
routine is available
to change the real gid of the current program.
d_setruid
This variable conditionally defines the HAS_SETRUID
symbol, which
indicates to the C program that the setruid()
routine is available
to change the real uid of the current program.
d_setsent
This variable conditionally defines HAS_SETSERVENT
if setservent()
is
available.
d_setsid
This variable conditionally defines HAS_SETSID
if setsid()
is
available to set the process group ID
.
d_setvbuf
This variable conditionally defines the HAS_SETVBUF
symbol, which
indicates to the C program that the setvbuf()
routine is available
to change buffering on an open stdio stream.
d_sfio
This variable conditionally defines the USE_SFIO
symbol,
and indicates whether sfio is available (and should be used).
d_shm
This variable conditionally defines the HAS_SHM
symbol, which
indicates that the entire shm*(2) library is present.
d_shmat
This variable conditionally defines the HAS_SHMAT
symbol, which
indicates to the C program that the shmat()
routine is available.
d_shmatprototype
This variable conditionally defines the HAS_SHMAT_PROTOTYPE
symbol, which indicates that sys/shm.h has a prototype for
shmat.
d_shmctl
This variable conditionally defines the HAS_SHMCTL
symbol, which
indicates to the C program that the shmctl()
routine is available.
d_shmdt
This variable conditionally defines the HAS_SHMDT
symbol, which
indicates to the C program that the shmdt()
routine is available.
d_shmget
This variable conditionally defines the HAS_SHMGET
symbol, which
indicates to the C program that the shmget()
routine is available.
d_sigaction
This variable conditionally defines the HAS_SIGACTION
symbol, which
indicates that the Vr4 sigaction()
routine is available.
d_sigprocmask
This variable conditionally defines HAS_SIGPROCMASK
if sigprocmask()
is available to examine or change the signal mask
of the calling process.
d_sigsetjmp
This variable conditionally defines the HAS_SIGSETJMP
symbol,
which indicates that the sigsetjmp()
routine is available to
call setjmp()
and optionally save the process's signal mask.
d_socket
This variable conditionally defines HAS_SOCKET
, which indicates
that the BSD
socket interface is supported.
d_socklen_t
This symbol will be defined if the C compiler supports socklen_t.
d_sockpair
This variable conditionally defines the HAS_SOCKETPAIR
symbol, which
indicates that the BSD
socketpair()
is supported.
d_socks5_init
This variable conditionally defines the HAS_SOCKS5_INIT symbol, which
indicates to the C program that the socks5_init()
routine is available.
d_sqrtl
This variable conditionally defines the HAS_SQRTL
symbol, which
indicates to the C program that the sqrtl()
routine is available.
d_statblks
This variable conditionally defines USE_STAT_BLOCKS
if this system has a stat structure declaring
st_blksize and st_blocks.
d_statfs_f_flags
This variable conditionally defines the HAS_STRUCT_STATFS_F_FLAGS
symbol, which indicates to struct statfs from has f_flags member.
This kind of struct statfs is coming from sys/mount.h (BSD
),
not from sys/statfs.h (SYSV
).
d_statfs_s
This variable conditionally defines the HAS_STRUCT_STATFS
symbol,
which indicates that the struct statfs is supported.
d_statvfs
This variable conditionally defines the HAS_STATVFS
symbol, which
indicates to the C program that the statvfs()
routine is available.
d_stdio_cnt_lval
This variable conditionally defines STDIO_CNT_LVALUE
if the
FILE_cnt
macro can be used as an lvalue.
d_stdio_ptr_lval
This variable conditionally defines STDIO_PTR_LVALUE
if the
FILE_ptr
macro can be used as an lvalue.
d_stdio_ptr_lval_nochange_cnt
This symbol is defined if using the FILE_ptr
macro as an lvalue
to increase the pointer by n leaves File_cnt(fp)
unchanged.
d_stdio_ptr_lval_sets_cnt
This symbol is defined if using the FILE_ptr
macro as an lvalue
to increase the pointer by n has the side effect of decreasing the
value of File_cnt(fp)
by n.
d_stdio_stream_array
This variable tells whether there is an array holding the stdio streams.
d_stdiobase
This variable conditionally defines USE_STDIO_BASE
if this system
has a FILE
structure declaring a usable _base field (or equivalent)
in stdio.h.
d_stdstdio
This variable conditionally defines USE_STDIO_PTR
if this system
has a FILE
structure declaring usable _ptr and _cnt fields (or
equivalent) in stdio.h.
d_strchr
This variable conditionally defines HAS_STRCHR
if strchr()
and
strrchr()
are available for string searching.
d_strcoll
This variable conditionally defines HAS_STRCOLL
if strcoll()
is
available to compare strings using collating information.
d_strctcpy
This variable conditionally defines the USE_STRUCT_COPY
symbol, which
indicates to the C program that this C compiler knows how to copy
structures.
d_strerrm
This variable holds what Strerrr is defined as to translate an error
code condition into an error message string. It could be strerror
or a more complex
macro emulating strrror with sys_errlist[], or the
unknown
string when both strerror and sys_errlist are missing.
d_strerror
This variable conditionally defines HAS_STRERROR
if strerror()
is
available to translate error numbers to strings.
d_strtod
This variable conditionally defines the HAS_STRTOD
symbol, which
indicates to the C program that the strtod()
routine is available
to provide better numeric string conversion than atof().
d_strtol
This variable conditionally defines the HAS_STRTOL
symbol, which
indicates to the C program that the strtol()
routine is available
to provide better numeric string conversion than atoi()
and friends.
d_strtold
This variable conditionally defines the HAS_STRTOLD
symbol, which
indicates to the C program that the strtold()
routine is available.
d_strtoll
This variable conditionally defines the HAS_STRTOLL
symbol, which
indicates to the C program that the strtoll()
routine is available.
d_strtoq
This variable conditionally defines the HAS_STRTOQ
symbol, which
indicates to the C program that the strtoq()
routine is available.
d_strtoul
This variable conditionally defines the HAS_STRTOUL
symbol, which
indicates to the C program that the strtoul()
routine is available
to provide conversion of strings to unsigned long.
d_strtoull
This variable conditionally defines the HAS_STRTOULL
symbol, which
indicates to the C program that the strtoull()
routine is available.
d_strtouq
This variable conditionally defines the HAS_STRTOUQ
symbol, which
indicates to the C program that the strtouq()
routine is available.
d_strxfrm
This variable conditionally defines HAS_STRXFRM
if strxfrm()
is
available to transform strings.
d_suidsafe
This variable conditionally defines SETUID_SCRIPTS_ARE_SECURE_NOW
if setuid scripts can be secure. This test looks in /dev/fd/.
d_symlink
This variable conditionally defines the HAS_SYMLINK
symbol, which
indicates to the C program that the symlink()
routine is available
to create symbolic links.
d_syscall
This variable conditionally defines HAS_SYSCALL
if syscall()
is
available call arbitrary system calls.
d_sysconf
This variable conditionally defines the HAS_SYSCONF
symbol, which
indicates to the C program that the sysconf()
routine is available
to determine system related limits and options.
d_sysernlst
This variable conditionally defines HAS_SYS_ERRNOLIST
if sys_errnolist[]
is available to translate error numbers to the symbolic name.
d_syserrlst
This variable conditionally defines HAS_SYS_ERRLIST
if sys_errlist[] is
available to translate error numbers to strings.
d_system
This variable conditionally defines HAS_SYSTEM
if system()
is
available to issue a shell command.
d_tcgetpgrp
This variable conditionally defines the HAS_TCGETPGRP
symbol, which
indicates to the C program that the tcgetpgrp()
routine is available.
to get foreground process group ID
.
d_tcsetpgrp
This variable conditionally defines the HAS_TCSETPGRP
symbol, which
indicates to the C program that the tcsetpgrp()
routine is available
to set foreground process group ID
.
d_telldir
This variable conditionally defines HAS_TELLDIR
if telldir()
is
available.
d_telldirproto
This variable conditionally defines the HAS_TELLDIR_PROTO
symbol,
which indicates to the C program that the system provides
a prototype for the telldir()
function. Otherwise, it is
up to the program to supply one.
d_time
This variable conditionally defines the HAS_TIME
symbol, which indicates
that the time()
routine exists. The time()
routine is normaly
provided on UNIX
systems.
d_times
This variable conditionally defines the HAS_TIMES
symbol, which indicates
that the times()
routine exists. The times()
routine is normaly
provided on UNIX
systems. You may have to include <sys/times.h>.
d_truncate
This variable conditionally defines HAS_TRUNCATE
if truncate()
is
available to truncate files.
d_tzname
This variable conditionally defines HAS_TZNAME
if tzname[] is
available to access timezone names.
d_umask
This variable conditionally defines the HAS_UMASK
symbol, which
indicates to the C program that the umask()
routine is available.
to set and get the value of the file creation mask.
d_uname
This variable conditionally defines the HAS_UNAME
symbol, which
indicates to the C program that the uname()
routine may be
used to derive the host name.
d_union_semun
This variable conditionally defines HAS_UNION_SEMUN
if the
union semun is defined by including <sys/sem.h>.
d_ustat
This variable conditionally defines HAS_USTAT
if ustat()
is
available to query file system statistics by dev_t.
d_vendorarch
This variable conditionally defined PERL_VENDORARCH
.
d_vendorbin
This variable conditionally defines PERL_VENDORBIN
.
d_vendorlib
This variable conditionally defines PERL_VENDORLIB
.
d_vfork
This variable conditionally defines the HAS_VFORK
symbol, which
indicates the vfork()
routine is available.
d_void_closedir
This variable conditionally defines VOID_CLOSEDIR
if closedir()
does not return a value.
d_voidsig
This variable conditionally defines VOIDSIG
if this system
declares ``void (*signal(...))()'' in signal.h. The old way was to
declare it as ``int (*signal(...))()''.
d_voidtty
This variable conditionally defines USE_IOCNOTTY
to indicate that the
ioctl()
call with TIOCNOTTY
should be used to void tty association.
Otherwise (on USG
probably), it is enough to close the standard file
decriptors and do a setpgrp().
d_volatile
This variable conditionally defines the HASVOLATILE
symbol, which
indicates to the C program that this C compiler knows about the
volatile declaration.
d_vprintf
This variable conditionally defines the HAS_VPRINTF
symbol, which
indicates to the C program that the vprintf()
routine is available
to printf with a pointer to an argument list.
d_wait4
This variable conditionally defines the HAS_WAIT4 symbol, which
indicates the wait4()
routine is available.
d_waitpid
This variable conditionally defines HAS_WAITPID
if waitpid()
is
available to wait for child process.
d_wcstombs
This variable conditionally defines the HAS_WCSTOMBS
symbol, which
indicates to the C program that the wcstombs()
routine is available
to convert wide character strings to multibyte strings.
d_wctomb
This variable conditionally defines the HAS_WCTOMB
symbol, which
indicates to the C program that the wctomb()
routine is available
to convert a wide character to a multibyte.
d_xenix
This variable conditionally defines the symbol XENIX
, which alerts
the C program that it runs under Xenix.
date
This variable is used internally by Configure to determine the
full pathname (if any) of the date program. After Configure runs,
the value is reset to a plain date
and is not useful.
db_hashtype
This variable contains the type of the hash structure element
in the <db.h> header file. In older versions of DB
, it was
int, while in newer ones it is u_int32_t.
db_prefixtype
This variable contains the type of the prefix structure element
in the <db.h> header file. In older versions of DB
, it was
int, while in newer ones it is size_t.
defvoidused
This variable contains the default value of the VOIDUSED
symbol (15).
direntrytype
This symbol is set to struct direct
or struct dirent
depending on
whether dirent is available or not. You should use this pseudo type to
portably declare your directory entries.
dlext
This variable contains the extension that is to be used for the dynamically loaded modules that perl generaties.
dlsrc
This variable contains the name of the dynamic loading file that will be used with the package.
doublesize
This variable contains the value of the DOUBLESIZE
symbol, which
indicates to the C program how many bytes there are in a double.
drand01
Indicates the macro to be used to generate normalized
random numbers. Uses randfunc, often divided by
(double) (((unsigned long) 1 << randbits)) in order to
normalize the result.
In C programs, the macro Drand01
is mapped to drand01.
dynamic_ext
This variable holds a list of XS
extension files we want to
link dynamically into the package. It is used by Makefile.
eagain
This variable bears the symbolic errno code set by read()
when no
data is present on the file and non-blocking I/O was enabled (otherwise,
read()
blocks naturally).
ebcdic
This variable conditionally defines EBCDIC
if this
system uses EBCDIC
encoding. Among other things, this
means that the character ranges are not contiguous.
See trnl.U
echo
This variable is used internally by Configure to determine the
full pathname (if any) of the echo program. After Configure runs,
the value is reset to a plain echo
and is not useful.
egrep
This variable is used internally by Configure to determine the
full pathname (if any) of the egrep program. After Configure runs,
the value is reset to a plain egrep
and is not useful.
emacs
This variable is defined but not used by Configure. The value is a plain '' and is not useful.
eunicefix
When running under Eunice this variable contains a command which will convert a shell script to the proper form of text file for it to be executable by the shell. On other systems it is a no-op.
exe_ext
This is an old synonym for _exe.
expr
This variable is used internally by Configure to determine the
full pathname (if any) of the expr program. After Configure runs,
the value is reset to a plain expr
and is not useful.
extensions
This variable holds a list of all extension files (both XS
and
non-xs linked into the package. It is propagated to Config.pm
and is typically used to test whether a particular extesion
is available.
fflushall
This symbol, if defined, tells that to flush all pending stdio output one must loop through all the stdio file handles stored in an array and fflush them. Note that if fflushNULL is defined, fflushall will not even be probed for and will be left undefined.
fflushNULL
This symbol, if defined, tells that fflush(NULL
) does flush
all pending stdio output.
find
This variable is defined but not used by Configure. The value is a plain '' and is not useful.
firstmakefile
This variable defines the first file searched by make. On unix, it is makefile (then Makefile). On case-insensitive systems, it might be something else. This is only used to deal with convoluted make depend tricks.
flex
This variable is defined but not used by Configure. The value is a plain '' and is not useful.
fpossize
This variable contains the size of a fpostype in bytes.
fpostype
This variable defines Fpos_t to be something like fpos_t, long, uint, or whatever type is used to declare file positions in libc.
freetype
This variable contains the return type of free(). It is usually void, but occasionally int.
full_ar
This variable contains the full pathname to ar
, whether or
not the user has specified portability
. This is only used
in the Makefile.SH.
full_csh
This variable contains the full pathname to csh
, whether or
not the user has specified portability
. This is only used
in the compiled C program, and we assume that all systems which
can share this executable will have the same full pathname to
csh.
full_sed
This variable contains the full pathname to sed
, whether or
not the user has specified portability
. This is only used
in the compiled C program, and we assume that all systems which
can share this executable will have the same full pathname to
sed.
gccosandvers
If GNU
cc (gcc) is used, this variable the operating system and
version used to compile the gcc. It is set to '' if not gcc,
or if nothing useful can be parsed as the os version.
gccversion
If GNU
cc (gcc) is used, this variable holds 1
or 2
to
indicate whether the compiler is version 1 or 2. This is used in
setting some of the default cflags. It is set to '' if not gcc.
gidformat
This variable contains the format string used for printing a Gid_t.
gidsign
This variable contains the signedness of a gidtype. 1 for unsigned, -1 for signed.
gidsize
This variable contains the size of a gidtype in bytes.
gidtype
This variable defines Gid_t to be something like gid_t, int, ushort, or whatever type is used to declare the return type of getgid(). Typically, it is the type of group ids in the kernel.
glibpth
This variable holds the general path (space-separated) used to find libraries. It may contain directories that do not exist on this platform, libpth is the cleaned-up version.
grep
This variable is used internally by Configure to determine the
full pathname (if any) of the grep program. After Configure runs,
the value is reset to a plain grep
and is not useful.
groupcat
This variable contains a command that produces the text of the
/etc/group file. This is normally ``cat /etc/group'', but can be
``ypcat group'' when NIS
is used.
On some systems, such as os390, there may be no equivalent
command, in which case this variable is unset.
groupstype
This variable defines Groups_t to be something like gid_t, int,
ushort, or whatever type is used for the second argument to
getgroups()
and setgroups(). Usually, this is the same as
gidtype (gid_t), but sometimes it isn't.
gzip
This variable is used internally by Configure to determine the
full pathname (if any) of the gzip program. After Configure runs,
the value is reset to a plain gzip
and is not useful.
h_fcntl
This is variable gets set in various places to tell i_fcntl that <fcntl.h> should be included.
h_sysfile
This is variable gets set in various places to tell i_sys_file that <sys/file.h> should be included.
hint
Gives the type of hints used for previous answers. May be one of
default
, recommended
or previous
.
hostcat
This variable contains a command that produces the text of the
/etc/hosts file. This is normally ``cat /etc/hosts'', but can be
``ypcat hosts'' when NIS
is used.
On some systems, such as os390, there may be no equivalent
command, in which case this variable is unset.
i16size
This variable is the size of an I16 in bytes.
i16type
This variable contains the C type used for Perl's I16.
i32size
This variable is the size of an I32 in bytes.
i32type
This variable contains the C type used for Perl's I32.
i64size
This variable is the size of an I64 in bytes.
i64type
This variable contains the C type used for Perl's I64.
i8size
This variable is the size of an I8 in bytes.
i8type
This variable contains the C type used for Perl's I8.
i_arpainet
This variable conditionally defines the I_ARPA_INET
symbol,
and indicates whether a C program should include <arpa/inet.h>.
i_bsdioctl
This variable conditionally defines the I_SYS_BSDIOCTL
symbol, which
indicates to the C program that <sys/bsdioctl.h> exists and should
be included.
i_db
This variable conditionally defines the I_DB
symbol, and indicates
whether a C program may include Berkeley's DB
include file <db.h>.
i_dbm
This variable conditionally defines the I_DBM
symbol, which
indicates to the C program that <dbm.h> exists and should
be included.
i_dirent
This variable conditionally defines I_DIRENT
, which indicates
to the C program that it should include <dirent.h>.
i_dld
This variable conditionally defines the I_DLD
symbol, which
indicates to the C program that <dld.h> (GNU
dynamic loading)
exists and should be included.
i_dlfcn
This variable conditionally defines the I_DLFCN
symbol, which
indicates to the C program that <dlfcn.h> exists and should
be included.
i_fcntl
This variable controls the value of I_FCNTL
(which tells
the C program to include <fcntl.h>).
i_float
This variable conditionally defines the I_FLOAT
symbol, and indicates
whether a C program may include <float.h> to get symbols like DBL_MAX
or DBL_MIN
, i.e. machine dependent floating point values.
i_gdbm
This variable conditionally defines the I_GDBM
symbol, which
indicates to the C program that <gdbm.h> exists and should
be included.
i_grp
This variable conditionally defines the I_GRP
symbol, and indicates
whether a C program should include <grp.h>.
i_iconv
This variable conditionally defines the I_ICONV
symbol, and indicates
whether a C program should include <iconv.h>.
i_ieeefp
This variable conditionally defines the I_IEEEFP
symbol, and indicates
whether a C program should include <ieeefp.h>.
i_inttypes
This variable conditionally defines the I_INTTYPES
symbol,
and indicates whether a C program should include <inttypes.h>.
i_libutil
This variable conditionally defines the I_LIBUTIL
symbol, and indicates
whether a C program should include <libutil.h>.
i_limits
This variable conditionally defines the I_LIMITS
symbol, and indicates
whether a C program may include <limits.h> to get symbols like WORD_BIT
and friends.
i_locale
This variable conditionally defines the I_LOCALE
symbol,
and indicates whether a C program should include <locale.h>.
i_machcthr
This variable conditionally defines the I_MACH_CTHREADS
symbol,
and indicates whether a C program should include <mach/cthreads.h>.
i_malloc
This variable conditionally defines the I_MALLOC
symbol, and indicates
whether a C program should include <malloc.h>.
i_math
This variable conditionally defines the I_MATH
symbol, and indicates
whether a C program may include <math.h>.
i_memory
This variable conditionally defines the I_MEMORY
symbol, and indicates
whether a C program should include <memory.h>.
i_mntent
This variable conditionally defines the I_MNTENT
symbol, and indicates
whether a C program should include <mntent.h>.
i_ndbm
This variable conditionally defines the I_NDBM
symbol, which
indicates to the C program that <ndbm.h> exists and should
be included.
i_netdb
This variable conditionally defines the I_NETDB
symbol, and indicates
whether a C program should include <netdb.h>.
i_neterrno
This variable conditionally defines the I_NET_ERRNO
symbol, which
indicates to the C program that <net/errno.h> exists and should
be included.
i_netinettcp
This variable conditionally defines the I_NETINET_TCP
symbol,
and indicates whether a C program should include <netinet/tcp.h>.
i_niin
This variable conditionally defines I_NETINET_IN
, which indicates
to the C program that it should include <netinet/in.h>. Otherwise,
you may try <sys/in.h>.
i_poll
This variable conditionally defines the I_POLL
symbol, and indicates
whether a C program should include <poll.h>.
i_prot
This variable conditionally defines the I_PROT
symbol, and indicates
whether a C program should include <prot.h>.
i_pthread
This variable conditionally defines the I_PTHREAD
symbol,
and indicates whether a C program should include <pthread.h>.
i_pwd
This variable conditionally defines I_PWD
, which indicates
to the C program that it should include <pwd.h>.
i_rpcsvcdbm
This variable conditionally defines the I_RPCSVC_DBM
symbol, which
indicates to the C program that <rpcsvc/dbm.h> exists and should
be included. Some System V systems might need this instead of <dbm.h>.
i_sfio
This variable conditionally defines the I_SFIO
symbol,
and indicates whether a C program should include <sfio.h>.
i_sgtty
This variable conditionally defines the I_SGTTY
symbol, which
indicates to the C program that it should include <sgtty.h> rather
than <termio.h>.
i_shadow
This variable conditionally defines the I_SHADOW
symbol, and indicates
whether a C program should include <shadow.h>.
i_socks
This variable conditionally defines the I_SOCKS
symbol, and indicates
whether a C program should include <socks.h>.
i_stdarg
This variable conditionally defines the I_STDARG
symbol, which
indicates to the C program that <stdarg.h> exists and should
be included.
i_stddef
This variable conditionally defines the I_STDDEF
symbol, which
indicates to the C program that <stddef.h> exists and should
be included.
i_stdlib
This variable conditionally defines the I_STDLIB
symbol, which
indicates to the C program that <stdlib.h> exists and should
be included.
i_string
This variable conditionally defines the I_STRING
symbol, which
indicates that <string.h> should be included rather than <strings.h>.
i_sunmath
This variable conditionally defines the I_SUNMATH
symbol, and indicates
whether a C program should include <sunmath.h>.
i_sysaccess
This variable conditionally defines the I_SYS_ACCESS
symbol,
and indicates whether a C program should include <sys/access.h>.
i_sysdir
This variable conditionally defines the I_SYS_DIR
symbol, and indicates
whether a C program should include <sys/dir.h>.
i_sysfile
This variable conditionally defines the I_SYS_FILE
symbol, and indicates
whether a C program should include <sys/file.h> to get R_OK
and friends.
i_sysfilio
This variable conditionally defines the I_SYS_FILIO
symbol, which
indicates to the C program that <sys/filio.h> exists and should
be included in preference to <sys/ioctl.h>.
i_sysin
This variable conditionally defines I_SYS_IN
, which indicates
to the C program that it should include <sys/in.h> instead of
<netinet/in.h>.
i_sysioctl
This variable conditionally defines the I_SYS_IOCTL
symbol, which
indicates to the C program that <sys/ioctl.h> exists and should
be included.
i_syslog
This variable conditionally defines the I_SYSLOG
symbol,
and indicates whether a C program should include <syslog.h>.
i_sysmman
This variable conditionally defines the I_SYS_MMAN
symbol, and
indicates whether a C program should include <sys/mman.h>.
i_sysmode
This variable conditionally defines the I_SYSMODE
symbol,
and indicates whether a C program should include <sys/mode.h>.
i_sysmount
This variable conditionally defines the I_SYSMOUNT
symbol,
and indicates whether a C program should include <sys/mount.h>.
i_sysndir
This variable conditionally defines the I_SYS_NDIR
symbol, and indicates
whether a C program should include <sys/ndir.h>.
i_sysparam
This variable conditionally defines the I_SYS_PARAM
symbol, and indicates
whether a C program should include <sys/param.h>.
i_sysresrc
This variable conditionally defines the I_SYS_RESOURCE
symbol,
and indicates whether a C program should include <sys/resource.h>.
i_syssecrt
This variable conditionally defines the I_SYS_SECURITY
symbol,
and indicates whether a C program should include <sys/security.h>.
i_sysselct
This variable conditionally defines I_SYS_SELECT
, which indicates
to the C program that it should include <sys/select.h> in order to
get the definition of struct timeval.
i_syssockio
This variable conditionally defines I_SYS_SOCKIO
to indicate to the
C program that socket ioctl codes may be found in <sys/sockio.h>
instead of <sys/ioctl.h>.
i_sysstat
This variable conditionally defines the I_SYS_STAT
symbol,
and indicates whether a C program should include <sys/stat.h>.
i_sysstatfs
This variable conditionally defines the I_SYSSTATFS
symbol,
and indicates whether a C program should include <sys/statfs.h>.
i_sysstatvfs
This variable conditionally defines the I_SYSSTATVFS
symbol,
and indicates whether a C program should include <sys/statvfs.h>.
i_systime
This variable conditionally defines I_SYS_TIME
, which indicates
to the C program that it should include <sys/time.h>.
i_systimek
This variable conditionally defines I_SYS_TIME_KERNEL
, which
indicates to the C program that it should include <sys/time.h>
with KERNEL
defined.
i_systimes
This variable conditionally defines the I_SYS_TIMES
symbol, and indicates
whether a C program should include <sys/times.h>.
i_systypes
This variable conditionally defines the I_SYS_TYPES
symbol,
and indicates whether a C program should include <sys/types.h>.
i_sysuio
This variable conditionally defines the I_SYSUIO
symbol, and indicates
whether a C program should include <sys/uio.h>.
i_sysun
This variable conditionally defines I_SYS_UN
, which indicates
to the C program that it should include <sys/un.h> to get UNIX
domain socket definitions.
i_sysutsname
This variable conditionally defines the I_SYSUTSNAME
symbol,
and indicates whether a C program should include <sys/utsname.h>.
i_sysvfs
This variable conditionally defines the I_SYSVFS
symbol,
and indicates whether a C program should include <sys/vfs.h>.
i_syswait
This variable conditionally defines I_SYS_WAIT
, which indicates
to the C program that it should include <sys/wait.h>.
i_termio
This variable conditionally defines the I_TERMIO
symbol, which
indicates to the C program that it should include <termio.h> rather
than <sgtty.h>.
i_termios
This variable conditionally defines the I_TERMIOS
symbol, which
indicates to the C program that the POSIX
<termios.h> file is
to be included.
i_time
This variable conditionally defines I_TIME
, which indicates
to the C program that it should include <time.h>.
i_unistd
This variable conditionally defines the I_UNISTD
symbol, and indicates
whether a C program should include <unistd.h>.
i_ustat
This variable conditionally defines the I_USTAT
symbol, and indicates
whether a C program should include <ustat.h>.
i_utime
This variable conditionally defines the I_UTIME
symbol, and indicates
whether a C program should include <utime.h>.
i_values
This variable conditionally defines the I_VALUES
symbol, and indicates
whether a C program may include <values.h> to get symbols like MAXLONG
and friends.
i_varargs
This variable conditionally defines I_VARARGS
, which indicates
to the C program that it should include <varargs.h>.
i_varhdr
Contains the name of the header to be included to get va_dcl definition. Typically one of varargs.h or stdarg.h.
i_vfork
This variable conditionally defines the I_VFORK
symbol, and indicates
whether a C program should include vfork.h.
ignore_versioned_solibs
This variable should be non-empty if non-versioned shared libraries (libfoo.so.x.y) are to be ignored (because they cannot be linked against).
inc_version_list
This variable specifies the list of subdirectories in over
which perl.c:incpush() and lib/lib.pm will automatically
search when adding directories to @INC
. The elements in
the list are separated by spaces. This is only useful
if you have a perl library directory tree structured like the
default one. See INSTALL
for how this works. The versioned
site_perl directory was introduced in 5.005, so that is the
lowest possible value.
inc_version_list_init
This variable holds the same list as inc_version_list, but
each item is enclosed in double quotes and separated by commas,
suitable for use in the PERL_INC_VERSION_LIST
initialization.
incpath
This variable must preceed the normal include path to get hte right one, as in $incpath/usr/include or $incpath/usr/lib. Value can be ``'' or /bsd43 on mips.
inews
This variable is defined but not used by Configure. The value is a plain '' and is not useful.
installarchlib
This variable is really the same as archlibexp but may differ on
those systems using AFS
. For extra portability, only this variable
should be used in makefiles.
installbin
This variable is the same as binexp unless AFS
is running in which case
the user is explicitely prompted for it. This variable should always
be used in your makefiles for maximum portability.
installman1dir
This variable is really the same as man1direxp, unless you are using
AFS
in which case it points to the read/write location whereas
man1direxp only points to the read-only access location. For extra
portability, you should only use this variable within your makefiles.
installman3dir
This variable is really the same as man3direxp, unless you are using
AFS
in which case it points to the read/write location whereas
man3direxp only points to the read-only access location. For extra
portability, you should only use this variable within your makefiles.
installprefix
This variable holds the name of the directory below which ``make install'' will install the package. For most users, this is the same as prefix. However, it is useful for installing the software into a different (usually temporary) location after which it can be bundled up and moved somehow to the final location specified by prefix.
installprefixexp
This variable holds the full absolute path of installprefix with all ~-expansion done.
installprivlib
This variable is really the same as privlibexp but may differ on
those systems using AFS
. For extra portability, only this variable
should be used in makefiles.
installscript
This variable is usually the same as scriptdirexp, unless you are on
a system running AFS
, in which case they may differ slightly. You
should always use this variable within your makefiles for portability.
installsitearch
This variable is really the same as sitearchexp but may differ on
those systems using AFS
. For extra portability, only this variable
should be used in makefiles.
installsitebin
This variable is usually the same as sitebinexp, unless you are on
a system running AFS
, in which case they may differ slightly. You
should always use this variable within your makefiles for portability.
installsitelib
This variable is really the same as sitelibexp but may differ on
those systems using AFS
. For extra portability, only this variable
should be used in makefiles.
installstyle
This variable describes the style
of the perl installation.
This is intended to be useful for tools that need to
manipulate entire perl distributions. Perl itself doesn't use
this to find its libraries -- the library directories are
stored directly in Config.pm. Currently, there are only two
styles: lib
and lib/perl5. The default library locations
(e.g. privlib, sitelib) are either $prefix/lib or
$prefix/lib/perl5. The former is useful if $prefix is a
directory dedicated to perl (e.g. /opt/perl), while the latter
is useful if $prefix is shared by many packages, e.g. if
$prefix=/usr/local.
This may later be extended to include other information, so
be careful with pattern-matching on the results.
For compatibility with F<perl5.005> and earlier, the default
setting is based on whether or not $prefix contains the string C<perl>.
installusrbinperl
This variable tells whether Perl should be installed also as /usr/bin/perl in addition to $installbin/perl
installvendorarch
This variable is really the same as vendorarchexp but may differ on
those systems using AFS
. For extra portability, only this variable
should be used in makefiles.
installvendorbin
This variable is really the same as vendorbinexp but may differ on
those systems using AFS
. For extra portability, only this variable
should be used in makefiles.
installvendorlib
This variable is really the same as vendorlibexp but may differ on
those systems using AFS
. For extra portability, only this variable
should be used in makefiles.
intsize
This variable contains the value of the INTSIZE
symbol, which
indicates to the C program how many bytes there are in an int.
issymlink
This variable holds the test command to test for a symbolic link
(if they are supported). Typical values include test -h
and
test -L
.
ivdformat
This variable contains the format string used for printing
a Perl IV
as a signed decimal integer.
ivsize
This variable is the size of an IV
in bytes.
ivtype
This variable contains the C type used for Perl's IV
.
known_extensions
This variable holds a list of all XS
extensions included in
the package.
ksh
This variable is defined but not used by Configure. The value is a plain '' and is not useful.
ld
This variable indicates the program to be used to link
libraries for dynamic loading. On some systems, it is ld
.
On ELF
systems, it should be $cc. Mostly, we'll try to respect
the hint file setting.
lddlflags
This variable contains any special flags that might need to be
passed to $ld to create a shared library suitable for dynamic
loading. It is up to the makefile to use it. For hpux, it
should be -b
. For sunos 4.1, it is empty.
ldflags
This variable contains any additional C loader flags desired by the user. It is up to the Makefile to use this.
ldflags_uselargefiles
This variable contains the loader flags needed by large file builds and added to ldflags by hints files.
ldlibpthname
This variable holds the name of the shared library
search path, often LD_LIBRARY_PATH
. To get an empty
string, the hints file must set this to none
.
less
This variable is used internally by Configure to determine the
full pathname (if any) of the less program. After Configure runs,
the value is reset to a plain less
and is not useful.
lib_ext
This is an old synonym for _a.
libc
This variable contains the location of the C library.
libperl
The perl executable is obtained by linking perlmain.c with libperl, any static extensions (usually just DynaLoader), and any other libraries needed on this system. libperl is usually libperl.a, but can also be libperl.so.xxx if the user wishes to build a perl executable with a shared library.
libpth
This variable holds the general path (space-separated) used to find libraries. It is intended to be used by other units.
libs
This variable holds the additional libraries we want to use. It is up to the Makefile to deal with it.
libsdirs
This variable holds the directory names aka dirnames of the libraries we found and accepted, duplicates are removed.
libsfiles
This variable holds the filenames aka basenames of the libraries we found and accepted.
libsfound
This variable holds the full pathnames of the libraries we found and accepted.
libspath
This variable holds the directory names probed for libraries.
libswanted
This variable holds a list of all the libraries we want to search. The order is chosen to pick up the c library ahead of ucb or bsd libraries for SVR4.
libswanted_uselargefiles
This variable contains the libraries needed by large file builds
and added to ldflags by hints files. It is a space separated list
of the library names without the lib
prefix or any suffix, just
like libswanted..
line
This variable is defined but not used by Configure. The value is a plain '' and is not useful.
lint
This variable is defined but not used by Configure. The value is a plain '' and is not useful.
lkflags
This variable contains any additional C partial linker flags desired by the user. It is up to the Makefile to use this.
ln
This variable is used internally by Configure to determine the
full pathname (if any) of the ln program. After Configure runs,
the value is reset to a plain ln
and is not useful.
lns
This variable holds the name of the command to make
symbolic links (if they are supported). It can be used
in the Makefile. It is either ln -s
or ln
locincpth
This variable contains a list of additional directories to be
searched by the compiler. The appropriate -I
directives will
be added to ccflags. This is intended to simplify setting
local directories from the Configure command line.
It's not much, but it parallels the loclibpth stuff in libpth.U.
loclibpth
This variable holds the paths (space-separated) used to find local libraries. It is prepended to libpth, and is intended to be easily set from the command line.
longdblsize
This variable contains the value of the LONG_DOUBLESIZE
symbol, which
indicates to the C program how many bytes there are in a long double,
if this system supports long doubles.
longlongsize
This variable contains the value of the LONGLONGSIZE
symbol, which
indicates to the C program how many bytes there are in a long long,
if this system supports long long.
longsize
This variable contains the value of the LONGSIZE
symbol, which
indicates to the C program how many bytes there are in a long.
lp
This variable is defined but not used by Configure. The value is a plain '' and is not useful.
lpr
This variable is defined but not used by Configure. The value is a plain '' and is not useful.
ls
This variable is used internally by Configure to determine the
full pathname (if any) of the ls program. After Configure runs,
the value is reset to a plain ls
and is not useful.
lseeksize
This variable defines lseektype to be something like off_t, long, or whatever type is used to declare lseek offset's type in the kernel (which also appears to be lseek's return type).
lseektype
This variable defines lseektype to be something like off_t, long, or whatever type is used to declare lseek offset's type in the kernel (which also appears to be lseek's return type).
mail
This variable is defined but not used by Configure. The value is a plain '' and is not useful.
mailx
This variable is defined but not used by Configure. The value is a plain '' and is not useful.
make
This variable is used internally by Configure to determine the
full pathname (if any) of the make program. After Configure runs,
the value is reset to a plain make
and is not useful.
make_set_make
Some versions of make
set the variable MAKE
. Others do not.
This variable contains the string to be included in Makefile.SH
so that MAKE
is set if needed, and not if not needed.
Possible values are:
make_set_make=#
# If your make program handles this for you,
make_set_make=MAKE=$make
# if it doesn't.
I used a comment character so that we can distinguish a
set
value (from a previous config.sh or Configure -D
option)
from an uncomputed value.
mallocobj
This variable contains the name of the malloc.o that this package generates, if that malloc.o is preferred over the system malloc. Otherwise the value is null. This variable is intended for generating Makefiles. See mallocsrc.
mallocsrc
This variable contains the name of the malloc.c that comes with the package, if that malloc.c is preferred over the system malloc. Otherwise the value is null. This variable is intended for generating Makefiles.
malloctype
This variable contains the kind of ptr returned by malloc and realloc.
man1dir
This variable contains the name of the directory in which manual source pages are to be put. It is the responsibility of the Makefile.SH to get the value of this into the proper command. You must be prepared to do the ~name expansion yourself.
man1direxp
This variable is the same as the man1dir variable, but is filename expanded at configuration time, for convenient use in makefiles.
man1ext
This variable contains the extension that the manual page should
have: one of n
, l
, or 1
. The Makefile must supply the ..
See man1dir.
man3dir
This variable contains the name of the directory in which manual source pages are to be put. It is the responsibility of the Makefile.SH to get the value of this into the proper command. You must be prepared to do the ~name expansion yourself.
man3direxp
This variable is the same as the man3dir variable, but is filename expanded at configuration time, for convenient use in makefiles.
man3ext
This variable contains the extension that the manual page should
have: one of n
, l
, or 3
. The Makefile must supply the ..
See man3dir.
Mcc
This variable is used internally by Configure to determine the
full pathname (if any) of the Mcc program. After Configure runs,
the value is reset to a plain Mcc
and is not useful.
mips_type
This variable holds the environment type for the mips system. Possible values are ``BSD 4.3'' and ``System V''.
mkdir
This variable is used internally by Configure to determine the
full pathname (if any) of the mkdir program. After Configure runs,
the value is reset to a plain mkdir
and is not useful.
mmaptype
This symbol contains the type of pointer returned by mmap()
(and simultaneously the type of the first argument).
It can be void *
or caddr_t
.
modetype
This variable defines modetype to be something like mode_t, int, unsigned short, or whatever type is used to declare file modes for system calls.
more
This variable is used internally by Configure to determine the
full pathname (if any) of the more program. After Configure runs,
the value is reset to a plain more
and is not useful.
multiarch
This variable conditionally defines the MULTIARCH
symbol
which signifies the presence of multiplatform files.
This is normally set by hints files.
mv
This variable is defined but not used by Configure. The value is a plain '' and is not useful.
myarchname
This variable holds the architecture name computed by Configure in a previous run. It is not intended to be perused by any user and should never be set in a hint file.
mydomain
This variable contains the eventual value of the MYDOMAIN
symbol,
which is the domain of the host the program is going to run on.
The domain must be appended to myhostname to form a complete host name.
The dot comes with mydomain, and need not be supplied by the program.
myhostname
This variable contains the eventual value of the MYHOSTNAME
symbol,
which is the name of the host the program is going to run on.
The domain is not kept with hostname, but must be gotten from mydomain.
The dot comes with mydomain, and need not be supplied by the program.
myuname
The output of uname -a
if available, otherwise the hostname. On Xenix,
pseudo variables assignments in the output are stripped, thank you. The
whole thing is then lower-cased.
n
This variable contains the -n
flag if that is what causes the echo
command to suppress newline. Otherwise it is null. Correct usage is
$echo $n ``prompt for a question: $c''.
need_va_copy
This symbol, if defined, indicates that the system stores
the variable argument list datatype, va_list, in a format
that cannot be copied by simple assignment, so that some
other means must be used when copying is required.
As such systems vary in their provision (or non-provision)
of copying mechanisms, handy.h defines a platform-
independent
macro, Perl_va_copy(src, dst), to do the job.
netdb_hlen_type
This variable holds the type used for the 2nd argument to gethostbyaddr(). Usually, this is int or size_t or unsigned. This is only useful if you have gethostbyaddr(), naturally.
netdb_host_type
This variable holds the type used for the 1st argument to gethostbyaddr(). Usually, this is char * or void *, possibly with or without a const prefix. This is only useful if you have gethostbyaddr(), naturally.
netdb_name_type
This variable holds the type used for the argument to gethostbyname(). Usually, this is char * or const char *. This is only useful if you have gethostbyname(), naturally.
netdb_net_type
This variable holds the type used for the 1st argument to getnetbyaddr(). Usually, this is int or long. This is only useful if you have getnetbyaddr(), naturally.
nm
This variable is used internally by Configure to determine the
full pathname (if any) of the nm program. After Configure runs,
the value is reset to a plain nm
and is not useful.
nm_opt
This variable holds the options that may be necessary for nm.
nm_so_opt
This variable holds the options that may be necessary for nm
to work on a shared library but that can not be used on an
archive library. Currently, this is only used by Linux, where
nm --dynamic is *required* to get symbols from an ELF
library which
has been stripped, but nm --dynamic is *fatal* on an archive library.
Maybe Linux should just always set usenm=false.
nonxs_ext
This variable holds a list of all non-xs extensions included in the package. All of them will be built.
nroff
This variable is used internally by Configure to determine the
full pathname (if any) of the nroff program. After Configure runs,
the value is reset to a plain nroff
and is not useful.
nveformat
This variable contains the format string used for printing
a Perl NV
using %e-ish floating point format.
nvEUformat
This variable contains the format string used for printing
a Perl NV
using %E-ish floating point format.
nvfformat
This variable confains the format string used for printing
a Perl NV
using %f-ish floating point format.
nvFUformat
This variable confains the format string used for printing
a Perl NV
using %F-ish floating point format.
nvgformat
This variable contains the format string used for printing
a Perl NV
using %g-ish floating point format.
nvGUformat
This variable contains the format string used for printing
a Perl NV
using %G-ish floating point format.
nvsize
This variable is the size of an NV
in bytes.
nvtype
This variable contains the C type used for Perl's NV
.
o_nonblock
This variable bears the symbol value to be used during open()
or fcntl()
to turn on non-blocking I/O for a file descriptor. If you wish to switch
between blocking and non-blocking, you may try ioctl(FIOSNBIO
) instead,
but that is only supported by some devices.
obj_ext
This is an old synonym for _o.
old_pthread_create_joinable
This variable defines the constant to use for creating joinable
(aka undetached) pthreads. Unused if pthread.h defines
PTHREAD_CREATE_JOINABLE
. If used, possible values are
PTHREAD_CREATE_UNDETACHED
and __UNDETACHED
.
optimize
This variable contains any optimizer/debugger flag that should be used. It is up to the Makefile to use it.
orderlib
This variable is true
if the components of libraries must be ordered
(with `lorder $* | tsort`) before placing them in an archive. Set to
false
if ranlib or ar can generate random libraries.
osname
This variable contains the operating system name (e.g. sunos, solaris, hpux, etc.). It can be useful later on for setting defaults. Any spaces are replaced with underscores. It is set to a null string if we can't figure it out.
osvers
This variable contains the operating system version (e.g. 4.1.3, 5.2, etc.). It is primarily used for helping select an appropriate hints file, but might be useful elsewhere for setting defaults. It is set to '' if we can't figure it out. We try to be flexible about how much of the version number to keep, e.g. if 4.1.1, 4.1.2, and 4.1.3 are essentially the same for this package, hints files might just be os_4.0 or os_4.1, etc., not keeping separate files for each little release.
otherlibdirs
This variable contains a colon-separated set of paths for the perl
binary to search for additional library files or modules.
These directories will be tacked to the end of @INC
.
Perl will automatically search below each path for version-
and architecture-specific directories. See inc_version_list
for more details.
A value of
means none
and is used to preserve this value
for the next run through Configure.
package
This variable contains the name of the package being constructed. It is primarily intended for the use of later Configure units.
pager
This variable contains the name of the preferred pager on the system. Usual values are (the full pathnames of) more, less, pg, or cat.
passcat
This variable contains a command that produces the text of the
/etc/passwd file. This is normally ``cat /etc/passwd'', but can be
``ypcat passwd'' when NIS
is used.
On some systems, such as os390, there may be no equivalent
command, in which case this variable is unset.
patchlevel
The patchlevel level of this package.
The value of patchlevel comes from the patchlevel.h file.
In a version number such as 5.6.1, this is the 6
.
In patchlevel.h, this is referred to as PERL_VERSION
.
path_sep
This is an old synonym for p_ in Head.U, the character
used to separate elements in the command shell search PATH
.
perl5
This variable contains the full path (if any) to a previously installed perl5.005 or later suitable for running the script to determine inc_version_list.
perl
This variable is defined but not used by Configure. The value is a plain '' and is not useful.
PERL_REVISION
In a Perl version number such as 5.6.2, this is the 5. This value is manually set in patchlevel.h
PERL_SUBVERSION
In a Perl version number such as 5.6.2, this is the 2. Values greater than 50 represent potentially unstable development subversions. This value is manually set in patchlevel.h
PERL_VERSION
In a Perl version number such as 5.6.2, this is the 6. This value is manually set in patchlevel.h
perladmin
Electronic mail address of the perl5 administrator.
perllibs
The list of libraries needed by Perl only (any libraries needed by extensions only will by dropped, if using dynamic loading).
perlpath
This variable contains the eventual value of the PERLPATH
symbol,
which contains the name of the perl interpreter to be used in
shell scripts and in the ``eval exec
'' idiom.
pg
This variable is used internally by Configure to determine the
full pathname (if any) of the pg program. After Configure runs,
the value is reset to a plain pg
and is not useful.
phostname
This variable contains the eventual value of the PHOSTNAME
symbol,
which is a command that can be fed to popen()
to get the host name.
The program should probably not presume that the domain is or isn't
there already.
pidtype
This variable defines PIDTYPE
to be something like pid_t, int,
ushort, or whatever type is used to declare process ids in the kernel.
plibpth
Holds the private path used by Configure to find out the libraries. Its value is prepend to libpth. This variable takes care of special machines, like the mips. Usually, it should be empty.
pm_apiversion
This variable contains the version of the oldest perl
compatible with the present perl. (That is, pure perl modules
written for $pm_apiversion will still work for the current
version). perl.c:incpush() and lib/lib.pm will automatically
search in $sitelib for older directories across major versions
back to pm_apiversion. This is only useful if you have a perl
library directory tree structured like the default one. The
versioned site_perl library was introduced in 5.005, so that's
the default setting for this variable. It's hard to imagine
it changing before Perl6. It is included here for symmetry
with xs_apiveprsion -- the searching algorithms will
(presumably) be similar.
See the INSTALL
file for how this works.
pmake
This variable is defined but not used by Configure. The value is a plain '' and is not useful.
pr
This variable is defined but not used by Configure. The value is a plain '' and is not useful.
prefix
This variable holds the name of the directory below which the user will install the package. Usually, this is /usr/local, and executables go in /usr/local/bin, library stuff in /usr/local/lib, man pages in /usr/local/man, etc. It is only used to set defaults for things in bin.U, mansrc.U, privlib.U, or scriptdir.U.
prefixexp
This variable holds the full absolute path of the directory below which the user will install the package. Derived from prefix.
privlib
This variable contains the eventual value of the PRIVLIB
symbol,
which is the name of the private library for this package. It may
have a ~ on the front. It is up to the makefile to eventually create
this directory while performing installation (with ~ substitution).
privlibexp
This variable is the ~name expanded version of privlib, so that you may use it directly in Makefiles or shell scripts.
prototype
This variable holds the eventual value of CAN_PROTOTYPE
, which
indicates the C compiler can handle funciton prototypes.
ptrsize
This variable contains the value of the PTRSIZE
symbol, which
indicates to the C program how many bytes there are in a pointer.
quadkind
This variable, if defined, encodes the type of a quad: 1 = int, 2 = long, 3 = long long, 4 = int64_t.
quadtype
This variable defines Quad_t to be something like long, int, long long, int64_t, or whatever type is used for 64-bit integers.
randbits
Indicates how many bits are produced by the function used to generate normalized random numbers.
randfunc
Indicates the name of the random number function to use.
Values include drand48, random, and rand. In C programs,
the Drand01
macro is defined to generate uniformly distributed
random numbers over the range [0., 1.[ (see drand01 and nrand).
randseedtype
Indicates the type of the argument of the seedfunc.
ranlib
This variable is set to the pathname of the ranlib program, if it is
needed to generate random libraries. Set to :
if ar can generate
random libraries or if random libraries are not supported
rd_nodata
This variable holds the return code from read()
when no data is
present. It should be -1, but some systems return 0 when O_NDELAY
is
used, which is a shame because you cannot make the difference between
no data and an EOF.. Sigh!
revision
The value of revision comes from the patchlevel.h file.
In a version number such as 5.6.1, this is the 5
.
In patchlevel.h, this is referred to as PERL_REVISION
.
rm
This variable is used internally by Configure to determine the
full pathname (if any) of the rm program. After Configure runs,
the value is reset to a plain rm
and is not useful.
rmail
This variable is defined but not used by Configure. The value is a plain '' and is not useful.
runnm
This variable contains true
or false
depending whether the
nm extraction should be performed or not, according to the value
of usenm and the flags on the Configure command line.
sched_yield
This variable defines the way to yield the execution of the current thread.
scriptdir
This variable holds the name of the directory in which the user wants to put publicly scripts for the package in question. It is either the same directory as for binaries, or a special one that can be mounted across different architectures, like /usr/share. Programs must be prepared to deal with ~name expansion.
scriptdirexp
This variable is the same as scriptdir, but is filename expanded at configuration time, for programs not wanting to bother with it.
sed
This variable is used internally by Configure to determine the
full pathname (if any) of the sed program. After Configure runs,
the value is reset to a plain sed
and is not useful.
seedfunc
Indicates the random number generating seed function. Values include srand48, srandom, and srand.
selectminbits
This variable holds the minimum number of bits operated by select. That is, if you do select(n, ...), how many bits at least will be cleared in the masks if some activity is detected. Usually this is either n or 32*ceil(n/32), especially many little-endians do the latter. This is only useful if you have select(), naturally.
selecttype
This variable holds the type used for the 2nd, 3rd, and 4th
arguments to select. Usually, this is fd_set *
, if HAS_FD_SET
is defined, and int *
otherwise. This is only useful if you
have select(), naturally.
sendmail
This variable is defined but not used by Configure. The value is a plain '' and is not useful.
sh
This variable contains the full pathname of the shell used
on this system to execute Bourne shell scripts. Usually, this will be
/bin/sh, though it's possible that some systems will have /bin/ksh,
/bin/pdksh, /bin/ash, /bin/bash, or even something such as
D:/bin/sh.exe.
This unit comes before Options.U, so you can't set sh with a -D
option, though you can override this (and startsh)
with -O -Dsh=/bin/whatever -Dstartsh=whatever
shar
This variable is defined but not used by Configure. The value is a plain '' and is not useful.
sharpbang
This variable contains the string #! if this system supports that construct.
shmattype
This symbol contains the type of pointer returned by shmat().
It can be void *
or char *
.
shortsize
This variable contains the value of the SHORTSIZE
symbol which
indicates to the C program how many bytes there are in a short.
shrpenv
If the user builds a shared libperl.so, then we need to tell the
perl
executable where it will be able to find the installed libperl.so.
One way to do this on some systems is to set the environment variable
LD_RUN_PATH
to the directory that will be the final location of the
shared libperl.so. The makefile can use this with something like
$shrpenv $(CC
) -o perl perlmain.o $libperl $libs
Typical values are
shrpenv=``env LD_RUN_PATH
=$archlibexp/CORE
''
or
shrpenv=''
See the main perl Makefile.SH for actual working usage.
Alternatively, we might be able to use a command line option such
as -R $archlibexp/CORE
(Solaris, NetBSD) or -Wl,-rpath
$archlibexp/CORE
(Linux).
shsharp
This variable tells further Configure units whether your sh can handle # comments.
sig_count
This variable holds a number larger than the largest valid
signal number. This is usually the same as the NSIG
macro.
sig_name
This variable holds the signal names, space separated. The leading
SIG
in signal name is removed. A ZERO
is prepended to the
list. This is currently not used.
sig_name_init
This variable holds the signal names, enclosed in double quotes and
separated by commas, suitable for use in the SIG_NAME
definition
below. A ZERO
is prepended to the list, and the list is
terminated with a plain 0. The leading SIG
in signal names
is removed. See sig_num.
sig_num
This variable holds the signal numbers, space separated. A ZERO
is
prepended to the list (corresponding to the fake SIGZERO
), and
the list is terminated with a 0. Those numbers correspond to
the value of the signal listed in the same place within the
sig_name list.
sig_num_init
This variable holds the signal numbers, enclosed in double quotes and
separated by commas, suitable for use in the SIG_NUM
definition
below. A ZERO
is prepended to the list, and the list is
terminated with a plain 0.
sig_size
This variable contains the number of elements of the sig_name
and sig_num arrays, excluding the final NULL
entry.
signal_t
This variable holds the type of the signal handler (void or int).
sitearch
This variable contains the eventual value of the SITEARCH
symbol,
which is the name of the private library for this package. It may
have a ~ on the front. It is up to the makefile to eventually create
this directory while performing installation (with ~ substitution).
The standard distribution will put nothing in this directory.
After perl has been installed, users may install their own local
architecture-dependent modules in this directory with
MakeMaker Makefile.PL
or equivalent. See INSTALL
for details.
sitearchexp
This variable is the ~name expanded version of sitearch, so that you may use it directly in Makefiles or shell scripts.
sitebin
This variable holds the name of the directory in which the user wants
to put add-on publicly executable files for the package in question. It
is most often a local directory such as /usr/local/bin. Programs using
this variable must be prepared to deal with ~name substitution.
The standard distribution will put nothing in this directory.
After perl has been installed, users may install their own local
executables in this directory with
MakeMaker Makefile.PL
or equivalent. See INSTALL
for details.
sitebinexp
This is the same as the sitebin variable, but is filename expanded at configuration time, for use in your makefiles.
sitelib
This variable contains the eventual value of the SITELIB
symbol,
which is the name of the private library for this package. It may
have a ~ on the front. It is up to the makefile to eventually create
this directory while performing installation (with ~ substitution).
The standard distribution will put nothing in this directory.
After perl has been installed, users may install their own local
architecture-independent modules in this directory with
MakeMaker Makefile.PL
or equivalent. See INSTALL
for details.
sitelib_stem
This variable is $sitelibexp with any trailing version-specific component removed. The elements in inc_version_list (inc_version_list.U) can be tacked onto this variable to generate a list of directories to search.
sitelibexp
This variable is the ~name expanded version of sitelib, so that you may use it directly in Makefiles or shell scripts.
siteprefix
This variable holds the full absolute path of the directory below
which the user will install add-on packages.
See INSTALL
for usage and examples.
siteprefixexp
This variable holds the full absolute path of the directory below which the user will install add-on packages. Derived from siteprefix.
sizesize
This variable contains the size of a sizetype in bytes.
sizetype
This variable defines sizetype to be something like size_t, unsigned long, or whatever type is used to declare length parameters for string functions.
sleep
This variable is defined but not used by Configure. The value is a plain '' and is not useful.
smail
This variable is defined but not used by Configure. The value is a plain '' and is not useful.
so
This variable holds the extension used to identify shared libraries
(also known as shared objects) on the system. Usually set to so
.
sockethdr
This variable has any cpp -I
flags needed for socket support.
socketlib
This variable has the names of any libraries needed for socket support.
socksizetype
This variable holds the type used for the size argument for various socket calls like accept. Usual values include socklen_t, size_t, and int.
sort
This variable is used internally by Configure to determine the
full pathname (if any) of the sort program. After Configure runs,
the value is reset to a plain sort
and is not useful.
spackage
This variable contains the name of the package being constructed, with the first letter uppercased, i.e. suitable for starting sentences.
spitshell
This variable contains the command necessary to spit out a runnable
shell on this system. It is either cat or a grep -v
for # comments.
sPRId64
This variable, if defined, contains the string used by stdio to
format 64-bit decimal numbers (format d
) for output.
sPRIeldbl
This variable, if defined, contains the string used by stdio to
format long doubles (format e
) for output.
sPRIEUldbl
This variable, if defined, contains the string used by stdio to
format long doubles (format E
) for output.
The U
in the name is to separate this from sPRIeldbl so that even
case-blind systems can see the difference.
sPRIfldbl
This variable, if defined, contains the string used by stdio to
format long doubles (format f
) for output.
sPRIFUldbl
This variable, if defined, contains the string used by stdio to
format long doubles (format F
) for output.
The U
in the name is to separate this from sPRIfldbl so that even
case-blind systems can see the difference.
sPRIgldbl
This variable, if defined, contains the string used by stdio to
format long doubles (format g
) for output.
sPRIGUldbl
This variable, if defined, contains the string used by stdio to
format long doubles (format G
) for output.
The U
in the name is to separate this from sPRIgldbl so that even
case-blind systems can see the difference.
sPRIi64
This variable, if defined, contains the string used by stdio to
format 64-bit decimal numbers (format i
) for output.
sPRIo64
This variable, if defined, contains the string used by stdio to
format 64-bit octal numbers (format o
) for output.
sPRIu64
This variable, if defined, contains the string used by stdio to
format 64-bit unsigned decimal numbers (format u
) for output.
sPRIx64
This variable, if defined, contains the string used by stdio to
format 64-bit hexadecimal numbers (format x
) for output.
sPRIXU64
This variable, if defined, contains the string used by stdio to
format 64-bit hExADECimAl numbers (format X
) for output.
The U
in the name is to separate this from sPRIx64 so that even
case-blind systems can see the difference.
src
This variable holds the path to the package source. It is up to
the Makefile to use this variable and set VPATH
accordingly to
find the sources remotely.
sSCNfldbl
This variable, if defined, contains the string used by stdio to
format long doubles (format f
) for input.
ssizetype
This variable defines ssizetype to be something like ssize_t,
long or int. It is used by functions that return a count
of bytes or an error condition. It must be a signed type.
We will pick a type such that sizeof(SSize_t)
== sizeof(Size_t).
startperl
This variable contains the string to put on the front of a perl
script to make sure (hopefully) that it runs with perl and not some
shell. Of course, that leading line must be followed by the classical
perl idiom:
eval 'exec perl -S $0 ${1+$@
}'
if $running_under_some_shell;
to guarantee perl startup should the shell execute the script. Note
that this magic incatation is not understood by csh.
startsh
This variable contains the string to put on the front of a shell script to make sure (hopefully) that it runs with sh and not some other shell.
static_ext
This variable holds a list of XS
extension files we want to
link statically into the package. It is used by Makefile.
stdchar
This variable conditionally defines STDCHAR
to be the type of char
used in stdio.h. It has the values ``unsigned char'' or char
.
stdio_base
This variable defines how, given a FILE
pointer, fp, to access the
_base field (or equivalent) of stdio.h's FILE
structure. This will
be used to define the macro FILE_base(fp).
stdio_bufsiz
This variable defines how, given a FILE
pointer, fp, to determine
the number of bytes store in the I/O buffer pointer to by the
_base field (or equivalent) of stdio.h's FILE
structure. This will
be used to define the macro FILE_bufsiz(fp).
stdio_cnt
This variable defines how, given a FILE
pointer, fp, to access the
_cnt field (or equivalent) of stdio.h's FILE
structure. This will
be used to define the macro FILE_cnt(fp).
stdio_filbuf
This variable defines how, given a FILE
pointer, fp, to tell
stdio to refill it's internal buffers (?). This will
be used to define the macro FILE_filbuf(fp).
stdio_ptr
This variable defines how, given a FILE
pointer, fp, to access the
_ptr field (or equivalent) of stdio.h's FILE
structure. This will
be used to define the macro FILE_ptr(fp).
stdio_stream_array
This variable tells the name of the array holding the stdio streams. Usual values include _iob, __iob, and __sF.
strings
This variable holds the full path of the string header that will be used. Typically /usr/include/string.h or /usr/include/strings.h.
submit
This variable is defined but not used by Configure. The value is a plain '' and is not useful.
subversion
The subversion level of this package.
The value of subversion comes from the patchlevel.h file.
In a version number such as 5.6.1, this is the 1
.
In patchlevel.h, this is referred to as PERL_SUBVERSION
.
This is unique to perl.
sysman
This variable holds the place where the manual is located on this system. It is not the place where the user wants to put his manual pages. Rather it is the place where Configure may look to find manual for unix commands (section 1 of the manual usually). See mansrc.
tail
This variable is defined but not used by Configure. The value is a plain '' and is not useful.
tar
This variable is defined but not used by Configure. The value is a plain '' and is not useful.
tbl
This variable is defined but not used by Configure. The value is a plain '' and is not useful.
tee
This variable is defined but not used by Configure. The value is a plain '' and is not useful.
test
This variable is used internally by Configure to determine the
full pathname (if any) of the test program. After Configure runs,
the value is reset to a plain test
and is not useful.
timeincl
This variable holds the full path of the included time header(s).
timetype
This variable holds the type returned by time(). It can be long,
or time_t on BSD
sites (in which case <sys/types.h> should be
included). Anyway, the type Time_t should be used.
touch
This variable is used internally by Configure to determine the
full pathname (if any) of the touch program. After Configure runs,
the value is reset to a plain touch
and is not useful.
tr
This variable is used internally by Configure to determine the
full pathname (if any) of the tr program. After Configure runs,
the value is reset to a plain tr
and is not useful.
trnl
This variable contains the value to be passed to the tr(1)
command to transliterate a newline. Typical values are
\012
and \n
. This is needed for EBCDIC
systems where
newline is not necessarily \012
.
troff
This variable is defined but not used by Configure. The value is a plain '' and is not useful.
u16size
This variable is the size of an U16 in bytes.
u16type
This variable contains the C type used for Perl's U16.
u32size
This variable is the size of an U32 in bytes.
u32type
This variable contains the C type used for Perl's U32.
u64size
This variable is the size of an U64 in bytes.
u64type
This variable contains the C type used for Perl's U64.
u8size
This variable is the size of an U8 in bytes.
u8type
This variable contains the C type used for Perl's U8.
uidformat
This variable contains the format string used for printing a Uid_t.
uidsign
This variable contains the signedness of a uidtype. 1 for unsigned, -1 for signed.
uidsize
This variable contains the size of a uidtype in bytes.
uidtype
This variable defines Uid_t to be something like uid_t, int, ushort, or whatever type is used to declare user ids in the kernel.
uname
This variable is used internally by Configure to determine the
full pathname (if any) of the uname program. After Configure runs,
the value is reset to a plain uname
and is not useful.
uniq
This variable is used internally by Configure to determine the
full pathname (if any) of the uniq program. After Configure runs,
the value is reset to a plain uniq
and is not useful.
uquadtype
This variable defines Uquad_t to be something like unsigned long, unsigned int, unsigned long long, uint64_t, or whatever type is used for 64-bit integers.
use5005threads
This variable conditionally defines the USE_5005THREADS symbol, and indicates that Perl should be built to use the 5.005-based threading implementation.
use64bitall
This variable conditionally defines the USE_64_BIT_ALL symbol,
and indicates that 64-bit integer types should be used
when available. The maximal possible
64-bitness is employed: LP64 or ILP64, meaning that you will
be able to use more than 2 gigabytes of memory. This mode is
even more binary incompatible than USE_64_BIT_INT. You may not
be able to run the resulting executable in a 32-bit CPU
at all or
you may need at least to reboot your OS
to 64-bit mode.
use64bitint
This variable conditionally defines the USE_64_BIT_INT symbol, and indicates that 64-bit integer types should be used when available. The minimal possible 64-bitness is employed, just enough to get 64-bit integers into Perl. This may mean using for example ``long longs'', while your memory may still be limited to 2 gigabytes.
usedl
This variable indicates if the system supports dynamic loading of some sort. See also dlsrc and dlobj.
useithreads
This variable conditionally defines the USE_ITHREADS
symbol,
and indicates that Perl should be built to use the interpreter-based
threading implementation.
uselargefiles
This variable conditionally defines the USE_LARGE_FILES
symbol,
and indicates that large file interfaces should be used when
available.
uselongdouble
This variable conditionally defines the USE_LONG_DOUBLE
symbol,
and indicates that long doubles should be used when available.
usemorebits
This variable conditionally defines the USE_MORE_BITS
symbol,
and indicates that explicit 64-bit interfaces and long doubles
should be used when available.
usemultiplicity
This variable conditionally defines the MULTIPLICITY
symbol,
and indicates that Perl should be built to use multiplicity.
usemymalloc
This variable contains y if the malloc that comes with this package
is desired over the system's version of malloc. People often include
special versions of malloc for effiency, but such versions are often
less portable. See also mallocsrc and mallocobj.
If this is y
, then -lmalloc is removed from $libs.
usenm
This variable contains true
or false
depending whether the
nm extraction is wanted or not.
useopcode
This variable holds either true
or false
to indicate
whether the Opcode extension should be used. The sole
use for this currently is to allow an easy mechanism
for users to skip the Opcode extension from the Configure
command line.
useperlio
This variable conditionally defines the USE_PERLIO
symbol,
and indicates that the PerlIO abstraction should be
used throughout.
useposix
This variable holds either true
or false
to indicate
whether the POSIX
extension should be used. The sole
use for this currently is to allow an easy mechanism
for hints files to indicate that POSIX
will not compile
on a particular system.
usesfio
This variable is set to true when the user agrees to use sfio. It is set to false when sfio is not available or when the user explicitely requests not to use sfio. It is here primarily so that command-line settings can override the auto-detection of d_sfio without running into a ``WHOA THERE''.
useshrplib
This variable is set to yes
if the user wishes
to build a shared libperl, and no
otherwise.
usesocks
This variable conditionally defines the USE_SOCKS
symbol,
and indicates that Perl should be built to use SOCKS
.
usethreads
This variable conditionally defines the USE_THREADS
symbol,
and indicates that Perl should be built to use threads.
usevendorprefix
This variable tells whether the vendorprefix and consequently other vendor* paths are in use.
usevfork
This variable is set to true when the user accepts to use vfork. It is set to false when no vfork is available or when the user explicitely requests not to use vfork.
usrinc
This variable holds the path of the include files, which is usually /usr/include. It is mainly used by other Configure units.
uuname
This variable is defined but not used by Configure. The value is a plain '' and is not useful.
uvoformat
This variable contains the format string used for printing
a Perl UV
as an unsigned octal integer.
uvsize
This variable is the size of a UV
in bytes.
uvtype
This variable contains the C type used for Perl's UV
.
uvuformat
This variable contains the format string used for printing
a Perl UV
as an unsigned decimal integer.
uvxformat
This variable contains the format string used for printing
a Perl UV
as an unsigned hexadecimal integer in lowercase abcdef.
uvXUformat
This variable contains the format string used for printing
a Perl UV
as an unsigned hexadecimal integer in uppercase ABCDEF
.
vendorarch
This variable contains the value of the PERL_VENDORARCH
symbol.
It may have a ~ on the front.
The standard distribution will put nothing in this directory.
Vendors who distribute perl may wish to place their own
architecture-dependent modules and extensions in this directory with
MakeMaker Makefile.PL INSTALLDIRS
=vendor
or equivalent. See INSTALL
for details.
vendorarchexp
This variable is the ~name expanded version of vendorarch, so that you may use it directly in Makefiles or shell scripts.
vendorbin
This variable contains the eventual value of the VENDORBIN
symbol.
It may have a ~ on the front.
The standard distribution will put nothing in this directory.
Vendors who distribute perl may wish to place additional
binaries in this directory with
MakeMaker Makefile.PL INSTALLDIRS
=vendor
or equivalent. See INSTALL
for details.
vendorbinexp
This variable is the ~name expanded version of vendorbin, so that you may use it directly in Makefiles or shell scripts.
vendorlib
This variable contains the eventual value of the VENDORLIB
symbol,
which is the name of the private library for this package.
The standard distribution will put nothing in this directory.
Vendors who distribute perl may wish to place their own
modules in this directory with
MakeMaker Makefile.PL INSTALLDIRS
=vendor
or equivalent. See INSTALL
for details.
vendorlib_stem
This variable is $vendorlibexp with any trailing version-specific component removed. The elements in inc_version_list (inc_version_list.U) can be tacked onto this variable to generate a list of directories to search.
vendorlibexp
This variable is the ~name expanded version of vendorlib, so that you may use it directly in Makefiles or shell scripts.
vendorprefix
This variable holds the full absolute path of the directory below
which the vendor will install add-on packages.
See INSTALL
for usage and examples.
vendorprefixexp
This variable holds the full absolute path of the directory below which the vendor will install add-on packages. Derived from vendorprefix.
version
The full version number of this package, such as 5.6.1 (or 5_6_1). This combines revision, patchlevel, and subversion to get the full version number, including any possible subversions. This is suitable for use as a directory name, and hence is filesystem dependent.
versiononly
If set, this symbol indicates that only the version-specific
components of a perl installation should be installed.
This may be useful for making a test installation of a new
version without disturbing the existing installation.
Setting versiononly is equivalent to setting installperl's -v option.
In particular, the non-versioned scripts and programs such as
a2p, c2ph, h2xs, pod2*, and perldoc are not installed
(see INSTALL
for a more complete list). Nor are the man
pages installed.
Usually, this is undef.
vi
This variable is defined but not used by Configure. The value is a plain '' and is not useful.
voidflags
This variable contains the eventual value of the VOIDFLAGS
symbol,
which indicates how much support of the void type is given by this
compiler. See VOIDFLAGS
for more info.
xlibpth
This variable holds extra path (space-separated) used to find
libraries on this platform, for example CPU
-specific libraries
(on multi-CPU
platforms) may be listed here.
xs_apiversion
This variable contains the version of the oldest perl binary
compatible with the present perl. perl.c:incpush() and
lib/lib.pm will automatically search in $sitearch for older
directories across major versions back to xs_apiversion.
This is only useful if you have a perl library directory tree
structured like the default one.
See INSTALL
for how this works.
The versioned site_perl directory was introduced in 5.005,
so that is the lowest possible value.
Since this can depend on compile time options (such as
bincompat) it is set by Configure. Other non-default sources
of potential incompatibility, such as multiplicity, threads,
debugging, 64bits, sfio, etc., are not checked for currently,
though in principle we could go snooping around in old
Config.pm files.
zcat
This variable is defined but not used by Configure. The value is a plain '' and is not useful.
zip
This variable is used internally by Configure to determine the
full pathname (if any) of the zip program. After Configure runs,
the value is reset to a plain zip
and is not useful.
This module contains a good example of how to use tie to implement a cache and an example of how to make a tied variable readonly to those outside of it.
Config - access Perl configuration information |