4 @EXPORT_OK = qw(myconfig config_sh config_vars);
6 # Define our own import method to avoid pulling in the full Exporter:
9 @_ = @EXPORT unless @_;
10 my @func = grep {$_ ne '%Config'} @_;
11 local $Exporter::ExportLevel
= 1;
12 Exporter
::import
('Config', @func) if @func;
13 return if @func == @_;
14 my $callpkg = caller(0);
15 *{"$callpkg\::Config"} = \
%Config;
18 die "Perl lib version (v5.6.1) doesn't match executable version ($])"
22 or die "Perl lib version (v5.6.1) doesn't match executable version (" .
23 (sprintf "v%vd",$^V
) . ")";
25 # This file was created by configpm when Perl was built. Any changes
26 # made to this file will be lost the next time perl is built.
29 ## This file was produced by running the Configure script. It holds all the
30 ## definitions figured out by Configure. Should you modify one of these values,
31 ## do not forget to propagate your changes by running "Configure -der". You may
32 ## instead choose to run each of the .SH files by yourself, or "Configure -S".
35 ## Package name : perl5
36 ## Source directory : .
37 ## Configuration time: Sat May 18 14:14:54 EDT 2002
38 ## Configured by : unknown
39 ## Target system : msys_nt-4.0 du216771 1.0.8(0.4632) 2002-05-13 09:50 i686 unknown
41 ## Configure command line arguments.
43 my $config_sh = <<'!END!';
44 archlibexp
='/usr/lib/perl5/5.6.1/msys'
47 ccflags
='-DPERL_USE_SAFE_PUTENV -fno-strict-aliasing -fnative-struct'
48 cppflags
='-DPERL_USE_SAFE_PUTENV -fno-strict-aliasing -fnative-struct'
50 dynamic_ext
='B ByteLoader Data/Dumper Devel/DProf Devel/Peek Fcntl File/Glob GDBM_File IO Opcode POSIX SDBM_File Socket Sys/Hostname Sys/Syslog attrs re'
51 extensions
='B ByteLoader Data/Dumper Devel/DProf Devel/Peek Fcntl File/Glob GDBM_File IO Opcode POSIX SDBM_File Socket Sys/Hostname Sys/Syslog attrs re Errno'
52 installarchlib
='/usr/lib/perl5/5.6.1/msys'
53 installprivlib
='/usr/lib/perl5/5.6.1'
54 libpth
='/usr/lib /lib'
57 osvers
='1.0.8(0.4632)'
59 privlibexp
='/usr/lib/perl5/5.6.1'
62 sig_name
='ZERO HUP INT QUIT ILL TRAP ABRT EMT FPE KILL BUS SEGV SYS PIPE ALRM TERM URG STOP TSTP CONT CHLD TTIN TTOU IO XCPU XFSZ VTALRM PROF WINCH LOST USR1 USR2 CLD POLL '
63 sig_num
='0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 20 23 '
77 PERL_API_SUBVERSION
='0'
94 aphostname
='/c/WINNT/system32/hostname'
98 api_versionstring
='5.005'
100 archlib
='/usr/lib/perl5/5.6.1/msys'
107 bincompat5005
='undef'
117 ccflags_uselargefiles
=''
119 ccsymbols
='_X86_=1 __GNUC_MINOR__=95 __GNUC__=2 __MSYS__=1 __cdecl=__attribute__((__cdecl__)) __declspec(x)=__attribute__((x)) __i386=1 __i386__=1 __stdcall=__attribute__((__stdcall__)) __unix=1 __unix__=1 _cdecl=__attribute__((__cdecl__)) _stdcall=__attribute__((__stdcall__)) _unix=1 cpu=i386 i386=1 machine=i386 system=winnt unix=1'
122 cf_email
='unknown@du216771.users'
123 cf_time
='Sat May 18 14:14:54 EDT 2002'
131 config_arg0
='./Configure'
148 d_Gconvert
='gcvt((x),(n),(b))'
172 d_bincompat5005
='undef'
195 d_drand48proto
='define'
209 d_fcntl_can_lock
='define'
233 d_gethbyaddr
='define'
234 d_gethbyname
='define'
237 d_gethostprotos
='define'
244 d_getnetprotos
='define'
246 d_getpbyname
='define'
247 d_getpbynumber
='define'
254 d_getprotoprotos
='define'
257 d_getsbyname
='define'
258 d_getsbyport
='define'
260 d_getservprotos
='define'
282 d_lseekproto
='define'
304 d_msg_dontroute
='define'
316 d_nv_preserves_uv
='define'
317 d_nv_preserves_uv_bits
='32'
319 d_old_pthread_create_joinable
='undef'
320 d_oldpthreads
='undef'
325 d_perl_otherlibdirs
='undef'
330 d_pthread_yield
='undef'
350 d_sched_yield
='define'
356 d_semctl_semid_ds
='undef'
357 d_semctl_semun
='undef'
373 d_setproctitle
='undef'
387 d_shmatprototype
='undef'
396 d_socks5_init
='undef'
399 d_statfs_f_flags
='undef'
402 d_stdio_cnt_lval
='define'
403 d_stdio_ptr_lval
='define'
404 d_stdio_ptr_lval_nochange_cnt
='define'
405 d_stdio_ptr_lval_sets_cnt
='undef'
406 d_stdio_stream_array
='undef'
412 d_strerrm
='strerror(e)'
432 d_telldirproto
='define'
439 d_union_semun
='undef'
445 d_void_closedir
='undef'
456 db_hashtype
='u_int32_t'
457 db_prefixtype
='size_t'
459 direntrytype
='struct dirent'
474 firstmakefile
='GNUmakefile'
483 gccversion
='2.95.3-1'
488 glibpth
='/usr/shlib /lib /usr/lib /usr/lib/386 /lib/386 /usr/ccs/lib /usr/ucblib /usr/local/lib '
530 i_netinettcp
='define'
571 i_sysutsname
='define'
584 ignore_versioned_solibs
=''
586 inc_version_list_init
='0'
589 installbin
='/usr/bin'
593 installprefixexp
='/usr'
594 installscript
='/usr/bin'
595 installsitearch
='/usr/lib/perl5/site_perl/5.6.1/msys'
596 installsitebin
='/usr/bin'
597 installsitelib
='/usr/lib/perl5/site_perl/5.6.1'
598 installstyle
='lib/perl5'
599 installusrbinperl
='undef'
608 known_extensions
='B ByteLoader DB_File Data/Dumper Devel/DProf Devel/Peek Fcntl File/Glob GDBM_File IO IPC/SysV NDBM_File ODBM_File Opcode POSIX SDBM_File Socket Sys/Hostname Sys/Syslog Thread attrs re'
613 ldflags_uselargefiles
=''
617 libc
='/usr/lib/libmsys-1.0.dll.a'
618 libperl
='libperl.dll'
620 libsfiles
=' libgdbm.a'
621 libsfound
=' /usr/lib/libgdbm.a'
622 libspath
=' /usr/lib /lib'
623 libswanted
=' sfio socket bind inet nsl nm ndbm gdbm dbm db malloc dl dld ld sun cposix posix ndir dir crypt sec ucb bsd BSD PW x iconv util cygipc'
624 libswanted_uselargefiles
=''
630 locincpth
='/usr/local/include /opt/local/include /usr/gnu/include /opt/gnu/include /usr/GNU/include /opt/GNU/include'
631 loclibpth
='/usr/local/lib /opt/local/lib /usr/gnu/lib /opt/gnu/lib /usr/GNU/lib /opt/GNU/lib'
660 myarchname
='i686-msys'
662 myhostname
='du216771'
663 myuname
='msys_nt-4.0 du216771 1.0.8(0.4632) 2002-05-13 09:50 i686 unknown '
665 netdb_hlen_type
='int'
666 netdb_host_type
='const char *'
667 netdb_name_type
='const char *'
668 netdb_net_type
='long'
682 o_nonblock
='O_NONBLOCK'
684 old_pthread_create_joinable
=''
685 optimize
='-O3 -s -mcpu=pentium'
693 perl5
='/usr/bin/perl'
695 perladmin
='unknown@du216771.users'
697 perlpath
='/usr/bin/perl'
702 pm_apiversion
='5.005'
706 privlib
='/usr/lib/perl5/5.6.1'
733 sched_yield
='sched_yield()'
735 scriptdirexp
='/usr/bin'
739 selecttype
='fd_set *'
745 shrpenv
='env LD_RUN_PATH=/usr/lib/perl5/5.6.1/msys/CORE'
747 sig_name_init
='"ZERO", "HUP", "INT", "QUIT", "ILL", "TRAP", "ABRT", "EMT", "FPE", "KILL", "BUS", "SEGV", "SYS", "PIPE", "ALRM", "TERM", "URG", "STOP", "TSTP", "CONT", "CHLD", "TTIN", "TTOU", "IO", "XCPU", "XFSZ", "VTALRM", "PROF", "WINCH", "LOST", "USR1", "USR2", "CLD", "POLL", 0'
748 sig_num_init
='0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 20, 23, 0'
750 sitearch
='/usr/lib/perl5/site_perl/5.6.1/msys'
751 sitearchexp
='/usr/lib/perl5/site_perl/5.6.1/msys'
753 sitebinexp
='/usr/bin'
754 sitelib
='/usr/lib/perl5/site_perl/5.6.1'
755 sitelib_stem
='/usr/lib/perl5/site_perl'
756 sitelibexp
='/usr/lib/perl5/site_perl/5.6.1'
765 socksizetype
='socklen_t'
771 startperl
='#!/usr/bin/perl'
773 stdio_base
='((fp)->_ub._base ? (fp)->_ub._base : (fp)->_bf._base)'
774 stdio_bufsiz
='((fp)->_ub._base ? (fp)->_ub._size : (fp)->_bf._size)'
775 stdio_cnt
='((fp)->_r)'
777 stdio_ptr
='((fp)->_p)'
778 stdio_stream_array
=''
779 strings
='/usr/include/string.h'
782 sysman
='/usr/man/man1'
788 timeincl
='/usr/include/sys/time.h '
795 u16type
='unsigned short'
797 u32type
='unsigned long'
799 u64type
='unsigned long long'
801 u8type
='unsigned char'
808 uquadtype
='unsigned long long'
809 use5005threads
='undef'
814 uselargefiles
='define'
815 uselongdouble
='undef'
817 usemultiplicity
='undef'
827 usevendorprefix
='undef'
829 usrinc
='/usr/include'
834 uvtype
='unsigned long'
850 xlibpth
='/usr/lib/386 /lib/386'
851 xs_apiversion
='5.6.1'
858 my $summary = <<'!END!';
859 Summary of
my $package (revision
$baserev version
$PERL_VERSION subversion
$PERL_SUBVERSION) configuration
:
861 osname
=$osname, osvers
=$osvers, archname
=$archname
863 config_args
='$config_args'
864 hint
=$hint, useposix
=$useposix, d_sigaction
=$d_sigaction
865 usethreads
=$usethreads use5005threads
=$use5005threads useithreads
=$useithreads usemultiplicity
=$usemultiplicity
866 useperlio
=$useperlio d_sfio
=$d_sfio uselargefiles
=$uselargefiles usesocks
=$usesocks
867 use64bitint
=$use64bitint use64bitall
=$use64bitall uselongdouble
=$uselongdouble
869 cc
='$cc', ccflags
='$ccflags',
870 optimize
='$optimize',
872 ccversion
='$ccversion', gccversion
='$gccversion', gccosandvers
='$gccosandvers'
873 intsize
=$intsize, longsize
=$longsize, ptrsize
=$ptrsize, doublesize
=$doublesize, byteorder
=$byteorder
874 d_longlong
=$d_longlong, longlongsize
=$longlongsize, d_longdbl
=$d_longdbl, longdblsize
=$longdblsize
875 ivtype
='$ivtype', ivsize
=$ivsize, nvtype
='$nvtype', nvsize
=$nvsize, Off_t
='$lseektype', lseeksize
=$lseeksize
876 alignbytes
=$alignbytes, usemymalloc
=$usemymalloc, prototype=$prototype
877 Linker
and Libraries
:
878 ld
='$ld', ldflags
='$ldflags'
882 libc
=$libc, so
=$so, useshrplib
=$useshrplib, libperl
=$libperl
884 dlsrc
=$dlsrc, dlext
=$dlext, d_dlsymun
=$d_dlsymun, ccdlflags
='$ccdlflags'
885 cccdlflags
='$cccdlflags', lddlflags
='$lddlflags'
888 my $summary_expanded = 0;
891 return $summary if $summary_expanded;
892 $summary =~ s
{\
$(\w
+)}
893 { my $c = $Config{$1}; defined($c) ?
$c : 'undef' }ge;
894 $summary_expanded = 1;
899 # check for cached value (which may be undef so we use exists not defined)
900 return $_[0]->{$_[1]} if (exists $_[0]->{$_[1]});
902 # Search for it in the big string
903 my($value, $start, $marker, $quote_type);
907 if ($_[1] eq 'byteorder') {
908 # byteorder does exist on its own but we overlay a virtual
909 # dynamically recomputed value.
910 my $t = $Config{ivtype
};
911 my $s = $Config{ivsize
};
912 my $f = $t eq 'long' ?
'L!' : $s == 8 ?
'Q': 'I';
913 if ($s == 4 || $s == 8) {
915 foreach my $c (reverse(2..$s)) { $i |= ord($c); $i <<= 8 }
917 $value = join('', unpack('a'x
$s, pack($f, $i)));
921 } elsif ($_[1] =~ /^((?:cc|ld)flags|libs(?:wanted)?)_nolargefiles/) {
922 # These are purely virtual, they do not exist, but need to
923 # be computed on demand for largefile-incapable extensions.
924 my $key = "${1}_uselargefiles";
925 $value = $Config{$1};
926 my $withlargefiles = $Config{$key};
927 if ($key =~ /^(?:cc|ld)flags_/) {
928 $value =~ s/\Q$withlargefiles\E\b//;
929 } elsif ($key =~ /^libs/) {
930 my @lflibswanted = split(' ', $Config{libswanted_uselargefiles
});
933 @lflibswanted{@lflibswanted} = ();
934 if ($key =~ /^libs_/) {
935 my @libs = grep { /^-l(.+)/ &&
936 not exists $lflibswanted{$1} }
937 split(' ', $Config{libs
});
938 $Config{libs
} = join(' ', @libs);
939 } elsif ($key =~ /^libswanted_/) {
940 my @libswanted = grep { not exists $lflibswanted{$_} }
941 split(' ', $Config{libswanted
});
942 $Config{libswanted
} = join(' ', @libswanted);
948 # return undef unless (($value) = $config_sh =~ m/^$_[1]='(.*)'\s*$/m);
949 # Check for the common case, ' delimeted
950 $start = index($config_sh, "\n$marker$quote_type");
951 # If that failed, check for " delimited
954 $start = index($config_sh, "\n$marker$quote_type");
956 return undef if ( ($start == -1) && # in case it's first
957 (substr($config_sh, 0, length($marker)) ne $marker) );
959 # It's the very first thing we found. Skip $start forward
960 # and figure out the quote mark after the =.
961 $start = length($marker) + 1;
962 $quote_type = substr($config_sh, $start - 1, 1);
965 $start += length($marker) + 2;
967 $value = substr($config_sh, $start,
968 index($config_sh, "$quote_type\n", $start) - $start);
970 # If we had a double-quote, we'd better eval it so escape
971 # sequences and such can be interpolated. Since the incoming
972 # value is supposed to follow shell rules and not perl rules,
973 # we escape any perl variable markers
974 if ($quote_type eq '"') {
975 $value =~ s/\$/\\\$/g;
976 $value =~ s/\@/\\\@/g;
977 eval "\$value = \"$value\"";
979 #$value = sprintf($value) if $quote_type eq '"';
980 # So we can say "if $Config{'foo'}".
981 $value = undef if $value eq 'undef';
982 $_[0]->{$_[1]} = $value; # cache it
990 # my($key) = $config_sh =~ m/^(.*?)=/;
991 substr($config_sh, 0, index($config_sh, '=') );
996 # Find out how the current key's quoted so we can skip to its end.
997 my $quote = substr($config_sh, index($config_sh, "=", $prevpos)+1, 1);
998 my $pos = index($config_sh, qq($quote\n), $prevpos) + 2;
999 my $len = index($config_sh, "=", $pos) - $pos;
1001 $len > 0 ?
substr($config_sh, $pos, $len) : undef;
1005 # exists($_[0]->{$_[1]}) or $config_sh =~ m/^$_[1]=/m;
1006 exists($_[0]->{$_[1]}) or
1007 index($config_sh, "\n$_[1]='") != -1 or
1008 substr($config_sh, 0, length($_[1])+2) eq "$_[1]='" or
1009 index($config_sh, "\n$_[1]=\"") != -1 or
1010 substr($config_sh, 0, length($_[1])+2) eq "$_[1]=\"" or
1011 $_[1] =~ /^(?:(?:cc|ld)flags|libs(?:wanted)?)_nolargefiles$/;
1014 sub STORE
{ die "\%Config::Config is read-only\n" }
1015 sub DELETE
{ &STORE
}
1016 sub CLEAR
{ &STORE
}
1025 my @matches = ($config_sh =~ /^$re=.*\n/mg);
1026 @matches ?
(print @matches) : print "$re: not found\n";
1031 config_re
($_), next if /\W/;
1032 my $v=(exists $Config{$_}) ?
$Config{$_} : 'UNKNOWN';
1033 $v='undef' unless defined $v;
1038 sub TIEHASH
{ bless {} }
1040 # avoid Config..Exporter..UNIVERSAL search for DESTROY then AUTOLOAD
1043 tie
%Config, 'Config';
1050 Config - access Perl configuration information
1055 if ($Config{'cc'} =~ /gcc/) {
1056 print "built by gcc\n";
1059 use Config qw(myconfig config_sh config_vars);
1065 config_vars(qw(osname archname));
1070 The Config module contains all the information that was available to
1071 the C<Configure> program at Perl build time (over 900 values).
1073 Shell variables from the F<config.sh> file (written by Configure) are
1074 stored in the readonly-variable C<%Config>, indexed by their names.
1076 Values stored in config.sh as 'undef' are returned as undefined
1077 values. The perl C<exists> function can be used to check if a
1078 named variable exists.
1084 Returns a textual summary of the major perl configuration values.
1085 See also C<-V> in L<perlrun/Switches>.
1089 Returns the entire perl configuration information in the form of the
1090 original config.sh shell variable assignment script.
1092 =item config_vars(@names)
1094 Prints to STDOUT the values of the named configuration variable. Each is
1095 printed on a separate line in the form:
1099 Names which are unknown are output as C<name='UNKNOWN';>.
1100 See also C<-V:name> in L<perlrun/Switches>.
1106 Here's a more sophisticated example of using %Config:
1113 unless($Config{sig_name} && $Config{sig_num}) {
1116 my @names = split ' ', $Config{sig_name};
1117 @sig_num{@names} = split ' ', $Config{sig_num};
1119 $sig_name[$sig_num{$_}] ||= $_;
1123 print "signal #17 = $sig_name[17]\n";
1124 if ($sig_num{ALRM}) {
1125 print "SIGALRM is $sig_num{ALRM}\n";
1130 Because this information is not stored within the perl executable
1131 itself it is possible (but unlikely) that the information does not
1132 relate to the actual perl binary which is being used to access it.
1134 The Config module is installed into the architecture and version
1135 specific library directory ($Config{installarchlib}) and it checks the
1136 perl version number when loaded.
1138 The values stored in config.sh may be either single-quoted or
1139 double-quoted. Double-quoted strings are handy for those cases where you
1140 need to include escape sequences in the strings. To avoid runtime variable
1141 interpolation, any C<$> and C<@> characters are replaced by C<\$> and
1142 C<\@>, respectively. This isn't foolproof, of course, so don't embed C<\$>
1143 or C<\@> in double-quoted strings unless you're willing to deal with the
1144 consequences. (The slashes will end up escaped and the C<$> or C<@> will
1145 trigger variable interpolation)
1149 Most C<Config> variables are determined by the C<Configure> script
1150 on platforms supported by it (which is most UNIX platforms). Some
1151 platforms have custom-made C<Config> variables, and may thus not have
1152 some of the variables described below, or may have extraneous variables
1153 specific to that particular port. See the port specific documentation
1164 This variable defines the extension used for ordinary libraries.
1165 For unix, it is F<.a>. The F<.> is included. Other possible
1166 values include F<.lib>.
1172 This variable defines the extension used for executable files.
1173 For unix it is empty. Other possible values include F<.exe>.
1179 This variable defines the extension used for object files.
1180 For unix, it is F<.o>. The F<.> is included. Other possible
1181 values include F<.obj>.
1193 This variable is set to C<true> if C<AFS> (Andrew File System) is used
1194 on the system, C<false> otherwise. It is possible to override this
1195 with a hint value or command line option, but you'd better know
1200 From F<alignbytes.U>:
1202 This variable holds the number of bytes required to align a
1203 double-- or a long double when applicable. Usual values are
1204 2, 4 and 8. The default is eight, for safety.
1210 This variable is set if the user needs to run ansi2knr.
1211 Currently, this is not supported, so we just abort.
1215 From F<d_gethname.U>:
1217 This variable contains the command which can be used to compute the
1218 host name. The command is fully qualified by its absolute path, to make
1219 it safe when used by a process with super-user privileges.
1221 =item C<api_revision>
1223 From F<patchlevel.U>:
1225 The three variables, api_revision, api_version, and
1226 api_subversion, specify the version of the oldest perl binary
1227 compatible with the present perl. In a full version string
1228 such as F<5.6.1>, api_revision is the C<5>.
1229 Prior to 5.5.640, the format was a floating point number,
1232 F<perl.c>:incpush() and F<lib/lib.pm> will automatically search in
1234 $F<sitelib/.>. for older directories back to the limit specified
1235 by these api_ variables. This is only useful if you have a
1236 perl library directory tree structured like the default one.
1237 See C<INSTALL> for how this works. The versioned site_perl
1238 directory was introduced in 5.005, so that is the lowest
1239 possible value. The version list appropriate for the current
1240 system is determined in F<inc_version_list.U>.
1242 C<XXX> To do: Since compatibility can depend on compile time
1244 options (such as bincompat, longlong, F<etc.>) it should
1245 (perhaps) be set by Configure, but currently it isn't.
1246 Currently, we read a hard-wired value from F<patchlevel.h>.
1247 Perhaps what we ought to do is take the hard-wired value from
1248 F<patchlevel.h> but then modify it if the current Configure
1249 options warrant. F<patchlevel.h> then would use an #ifdef guard.
1251 =item C<api_subversion>
1253 From F<patchlevel.U>:
1255 The three variables, api_revision, api_version, and
1256 api_subversion, specify the version of the oldest perl binary
1257 compatible with the present perl. In a full version string
1258 such as F<5.6.1>, api_subversion is the C<1>. See api_revision for
1261 =item C<api_version>
1263 From F<patchlevel.U>:
1265 The three variables, api_revision, api_version, and
1266 api_subversion, specify the version of the oldest perl binary
1267 compatible with the present perl. In a full version string
1268 such as F<5.6.1>, api_version is the C<6>. See api_revision for
1269 full details. As a special case, 5.5.0 is rendered in the
1270 old-style as 5.005. (In the 5.005_0x maintenance series,
1271 this was the only versioned directory in $F<sitelib.>)
1273 =item C<api_versionstring>
1275 From F<patchlevel.U>:
1277 This variable combines api_revision, api_version, and
1278 api_subversion in a format such as 5.6.1 (or 5_6_1) suitable
1279 for use as a directory name. This is filesystem dependent.
1285 This variable is used internally by Configure to determine the
1286 full pathname (if any) of the ar program. After Configure runs,
1287 the value is reset to a plain C<ar> and is not useful.
1293 This variable holds the name of the directory in which the user wants
1294 to put architecture-dependent public library files for $package.
1295 It is most often a local directory such as F</usr/local/lib>.
1296 Programs using this variable must be prepared to deal
1297 with filename expansion.
1303 This variable is the same as the archlib variable, but is
1304 filename expanded at configuration time, for convenient use.
1308 From F<use64bits.U>:
1310 This variable is used for the 64-bitness part of $archname.
1316 This variable is a short name to characterize the current
1317 architecture. It is used mainly to construct the default archlib.
1323 This variable defines any additional objects that must be linked
1324 in with the program on this architecture. On unix, it is usually
1325 empty. It is typically used to include emulations of unix calls
1326 or other facilities. For perl on F<OS/2>, for example, this would
1327 include F<os2/os2.obj>.
1333 This variable is used internally by Configure to determine the
1334 full pathname (if any) of the awk program. After Configure runs,
1335 the value is reset to a plain C<awk> and is not useful.
1347 The base revision level of this package, from the F<.package> file.
1353 This variable is defined but not used by Configure.
1354 The value is a plain '' and is not useful.
1360 This variable holds the name of the directory in which the user wants
1361 to put publicly executable images for the package in question. It
1362 is most often a local directory such as F</usr/local/bin>. Programs using
1363 this variable must be prepared to deal with F<~name> substitution.
1365 =item C<bincompat5005>
1367 From F<bincompat5005.U>:
1369 This variable contains y if this version of Perl should be
1370 binary-compatible with Perl 5.005.
1376 This is the same as the bin variable, but is filename expanded at
1377 configuration time, for use in your makefiles.
1383 This variable is defined but not used by Configure.
1384 The value is a plain '' and is not useful.
1390 This variable is used internally by Configure to determine the
1391 full pathname (if any) of the byacc program. After Configure runs,
1392 the value is reset to a plain C<byacc> and is not useful.
1396 From F<byteorder.U>:
1398 This variable holds the byte order. In the following, larger digits
1399 indicate more significance. The variable byteorder is either 4321
1400 on a big-endian machine, or 1234 on a little-endian, or 87654321
1401 on a Cray ... or 3412 with weird order !
1413 This variable contains the \c string if that is what causes the echo
1414 command to suppress newline. Otherwise it is null. Correct usage is
1415 $echo $n "prompt for a question: $c".
1419 From F<d_castneg.U>:
1421 This variable contains a flag that precise difficulties the
1422 compiler has casting odd floating values to unsigned long:
1424 1 = couldn't cast < 0
1425 2 = couldn't cast >= 0x80000000
1426 4 = couldn't cast in argument expression list
1432 This variable is used internally by Configure to determine the
1433 full pathname (if any) of the cat program. After Configure runs,
1434 the value is reset to a plain C<cat> and is not useful.
1440 This variable holds the name of a command to execute a C compiler which
1441 can resolve multiple global references that happen to have the same
1442 name. Usual values are C<cc> and C<gcc>.
1443 Fervent C<ANSI> compilers may be called C<c89>. C<AIX> has xlc.
1449 This variable contains any special flags that might need to be
1450 passed with C<cc -c> to compile modules to be used to create a shared
1451 library that will be used for dynamic loading. For hpux, this
1452 should be +z. It is up to the makefile to use it.
1458 This variable contains any special flags that might need to be
1459 passed to cc to link with a shared library for dynamic loading.
1460 It is up to the makefile to use it. For sunos 4.1, it should
1467 This variable contains any additional C compiler flags desired by
1468 the user. It is up to the Makefile to use this.
1470 =item C<ccflags_uselargefiles>
1474 This variable contains the compiler flags needed by large file builds
1475 and added to ccflags by hints files.
1481 This can set either by hints files or by Configure. If using
1482 gcc, this is gcc, and if not, usually equal to cc, unimpressive, no?
1483 Some platforms, however, make good use of this by storing the
1484 flavor of the C compiler being used here. For example if using
1485 the Sun WorkShop suite, ccname will be C<workshop>.
1491 The variable contains the symbols defined by the C compiler alone.
1492 The symbols defined by cpp or by cc when it calls cpp are not in
1493 this list, see cppsymbols and cppccsymbols.
1494 The list is a space-separated list of symbol=value tokens.
1500 This can set either by hints files or by Configure. If using
1501 a (non-gcc) vendor cc, this variable may contain a version for
1508 Login name of the person who ran the Configure script and answered the
1509 questions. This is used to tag both F<config.sh> and F<config_h.SH>.
1515 Electronic mail address of the person who ran Configure. This can be
1516 used by units that require the user's e-mail, like F<MailList.U>.
1522 Holds the output of the C<date> command when the configuration file was
1523 produced. This is used to tag both F<config.sh> and F<config_h.SH>.
1529 This variable contains the value of the C<CHARSIZE> symbol, which
1530 indicates to the C program how many bytes there are in a character.
1536 This variable is defined but not used by Configure.
1537 The value is a plain '' and is not useful.
1543 This variable is defined but not used by Configure.
1544 The value is a plain '' and is not useful.
1550 This variable is defined but not used by Configure.
1551 The value is a plain '' and is not useful.
1557 This variable holds the type returned by times(). It can be long,
1558 or clock_t on C<BSD> sites (in which case <sys/types.h> should be
1565 This variable is used internally by Configure to determine the
1566 full pathname (if any) of the comm program. After Configure runs,
1567 the value is reset to a plain C<comm> and is not useful.
1573 This variable is defined but not used by Configure.
1574 The value is a plain '' and is not useful.
1582 =item C<CONFIGDOTSH>
1586 This is set to C<true> in F<config.sh> so that a shell script
1587 sourcing F<config.sh> can tell if it has been sourced already.
1593 This variable holds the command to do a grep with a proper return
1594 status. On most sane systems it is simply C<grep>. On insane systems
1595 it is a grep followed by a cat followed by a test. This variable
1596 is primarily for the use of other Configure units.
1602 This variable is used internally by Configure to determine the
1603 full pathname (if any) of the cp program. After Configure runs,
1604 the value is reset to a plain C<cp> and is not useful.
1610 This variable is defined but not used by Configure.
1611 The value is a plain '' and is not useful.
1617 This variable is used internally by Configure to determine the
1618 full pathname (if any) of the cpp program. After Configure runs,
1619 the value is reset to a plain C<cpp> and is not useful.
1623 From F<cpp_stuff.U>:
1625 This variable contains an identification of the catenation mechanism
1626 used by the C preprocessor.
1628 =item C<cppccsymbols>
1632 The variable contains the symbols defined by the C compiler
1633 when it calls cpp. The symbols defined by the cc alone or cpp
1634 alone are not in this list, see ccsymbols and cppsymbols.
1635 The list is a space-separated list of symbol=value tokens.
1641 This variable holds the flags that will be passed to the C pre-
1642 processor. It is up to the Makefile to use it.
1648 This variable has the same functionality as cppminus, only it applies
1649 to cpprun and not cppstdin.
1655 This variable contains the second part of the string which will invoke
1656 the C preprocessor on the standard input and produce to standard
1657 output. This variable will have the value C<-> if cppstdin needs
1658 a minus to specify standard input, otherwise the value is "".
1664 This variable contains the command which will invoke a C preprocessor
1665 on standard input and put the output to stdout. It is guaranteed not
1666 to be a wrapper and may be a null string if no preprocessor can be
1667 made directly available. This preprocessor might be different from the
1668 one used by the C compiler. Don't forget to append cpplast after the
1669 preprocessor options.
1675 This variable contains the command which will invoke the C
1676 preprocessor on standard input and put the output to stdout.
1677 It is primarily used by other Configure units that ask about
1678 preprocessor symbols.
1684 The variable contains the symbols defined by the C preprocessor
1685 alone. The symbols defined by cc or by cc when it calls cpp are
1686 not in this list, see ccsymbols and cppccsymbols.
1687 The list is a space-separated list of symbol=value tokens.
1689 =item C<crosscompile>
1691 From F<crosscompile.U>:
1693 This variable conditionally defines the C<CROSSCOMPILE> symbol
1694 which signifies that the build process is be a cross-compilation.
1695 This is normally set by hints files or from Configure command line.
1701 This variable holds -lcrypt or the path to a F<libcrypt.a> archive if
1702 the crypt() function is not defined in the standard C library. It is
1703 up to the Makefile to use this.
1709 This variable is used internally by Configure to determine the
1710 full pathname (if any) of the csh program. After Configure runs,
1711 the value is reset to a plain C<csh> and is not useful.
1723 This variable conditionally defines C<HAS__FWALK> if _fwalk() is
1724 available to apply a function to all the file handles.
1730 This variable conditionally defines C<HAS_ACCESS> if the access() system
1731 call is available to check for access permissions using real IDs.
1735 From F<d_accessx.U>:
1737 This variable conditionally defines the C<HAS_ACCESSX> symbol, which
1738 indicates to the C program that the accessx() routine is available.
1744 This variable conditionally defines the C<HAS_ALARM> symbol, which
1745 indicates to the C program that the alarm() routine is available.
1751 This variable conditionally defines C<ARCHLIB> to hold the pathname
1752 of architecture-dependent library files for $package. If
1753 $archlib is the same as $privlib, then this is set to undef.
1759 This variable conditionally defines the C<HAS_ATOLF> symbol, which
1760 indicates to the C program that the atolf() routine is available.
1766 This variable conditionally defines the C<HAS_ATOLL> symbol, which
1767 indicates to the C program that the atoll() routine is available.
1771 From F<d_attribut.U>:
1773 This variable conditionally defines C<HASATTRIBUTE>, which
1774 indicates the C compiler can check for function attributes,
1775 such as printf formats.
1781 This variable conditionally defines the C<HAS_BCMP> symbol if
1782 the bcmp() routine is available to compare strings.
1788 This variable conditionally defines the C<HAS_BCOPY> symbol if
1789 the bcopy() routine is available to copy strings.
1791 =item C<d_bincompat5005>
1793 From F<bincompat5005.U>:
1795 This variable conditionally defines BINCOMPAT5005 so that F<embed.h>
1796 can take special action if this version of Perl should be
1797 binary-compatible with Perl 5.005. This is impossible for builds
1798 that use features like threads and multiplicity it is always $undef
1805 This symbol conditionally defines the symbol C<BSD> when running on a
1808 =item C<d_bsdgetpgrp>
1810 From F<d_getpgrp.U>:
1812 This variable conditionally defines C<USE_BSD_GETPGRP> if
1813 getpgrp needs one arguments whereas C<USG> one needs none.
1815 =item C<d_bsdsetpgrp>
1817 From F<d_setpgrp.U>:
1819 This variable conditionally defines C<USE_BSD_SETPGRP> if
1820 setpgrp needs two arguments whereas C<USG> one needs none.
1821 See also d_setpgid for a C<POSIX> interface.
1827 This variable conditionally defines the C<HAS_BZERO> symbol if
1828 the bzero() routine is available to set memory to 0.
1832 From F<d_casti32.U>:
1834 This variable conditionally defines CASTI32, which indicates
1835 whether the C compiler can cast large floats to 32-bit ints.
1839 From F<d_castneg.U>:
1841 This variable conditionally defines C<CASTNEG>, which indicates
1842 wether the C compiler can cast negative float to unsigned.
1846 From F<d_vprintf.U>:
1848 This variable conditionally defines C<CHARVSPRINTF> if this system
1849 has vsprintf returning type (char*). The trend seems to be to
1850 declare it as "int vsprintf()".
1856 This variable conditionally defines the C<HAS_CHOWN> symbol, which
1857 indicates to the C program that the chown() routine is available.
1863 This variable conditionally defines the C<HAS_CHROOT> symbol, which
1864 indicates to the C program that the chroot() routine is available.
1870 This variable conditionally defines the C<CHSIZE> symbol, which
1871 indicates to the C program that the chsize() routine is available
1872 to truncate files. You might need a -lx to get this routine.
1876 From F<d_closedir.U>:
1878 This variable conditionally defines C<HAS_CLOSEDIR> if closedir() is
1885 This variable conditionally defines the C<HASCONST> symbol, which
1886 indicates to the C program that this C compiler knows about the
1893 This variable conditionally defines the C<CRYPT> symbol, which
1894 indicates to the C program that the crypt() routine is available
1895 to encrypt passwords and the like.
1901 This variable conditionally defines the C<CSH> symbol, which
1902 indicates to the C program that the C-shell exists.
1906 From F<d_cuserid.U>:
1908 This variable conditionally defines the C<HAS_CUSERID> symbol, which
1909 indicates to the C program that the cuserid() routine is available
1910 to get character login names.
1914 From F<d_dbl_dig.U>:
1916 This variable conditionally defines d_dbl_dig if this system's
1917 header files provide C<DBL_DIG>, which is the number of significant
1918 digits in a double precision number.
1922 From F<d_difftime.U>:
1924 This variable conditionally defines the C<HAS_DIFFTIME> symbol, which
1925 indicates to the C program that the difftime() routine is available.
1927 =item C<d_dirnamlen>
1931 This variable conditionally defines C<DIRNAMLEN>, which indicates
1932 to the C program that the length of directory entry names is
1933 provided by a d_namelen field.
1937 From F<d_dlerror.U>:
1939 This variable conditionally defines the C<HAS_DLERROR> symbol, which
1940 indicates to the C program that the dlerror() routine is available.
1946 This variable conditionally defines the C<HAS_DLOPEN> symbol, which
1947 indicates to the C program that the dlopen() routine is available.
1951 From F<d_dlsymun.U>:
1953 This variable conditionally defines C<DLSYM_NEEDS_UNDERSCORE>, which
1954 indicates that we need to prepend an underscore to the symbol
1955 name before calling dlsym().
1961 This variable conditionally defines the symbol C<DOSUID>, which
1962 tells the C program that it should insert setuid emulation code
1963 on hosts which have setuid #! scripts disabled.
1965 =item C<d_drand48proto>
1967 From F<d_drand48proto.U>:
1969 This variable conditionally defines the HAS_DRAND48_PROTO symbol,
1970 which indicates to the C program that the system provides
1971 a prototype for the drand48() function. Otherwise, it is
1972 up to the program to supply one.
1978 This variable conditionally defines HAS_DUP2 if dup2() is
1979 available to duplicate file descriptors.
1983 From F<d_eaccess.U>:
1985 This variable conditionally defines the C<HAS_EACCESS> symbol, which
1986 indicates to the C program that the eaccess() routine is available.
1990 From F<d_endgrent.U>:
1992 This variable conditionally defines the C<HAS_ENDGRENT> symbol, which
1993 indicates to the C program that the endgrent() routine is available
1994 for sequential access of the group database.
1998 From F<d_endhent.U>:
2000 This variable conditionally defines C<HAS_ENDHOSTENT> if endhostent() is
2001 available to close whatever was being used for host queries.
2005 From F<d_endnent.U>:
2007 This variable conditionally defines C<HAS_ENDNETENT> if endnetent() is
2008 available to close whatever was being used for network queries.
2012 From F<d_endpent.U>:
2014 This variable conditionally defines C<HAS_ENDPROTOENT> if endprotoent() is
2015 available to close whatever was being used for protocol queries.
2019 From F<d_endpwent.U>:
2021 This variable conditionally defines the C<HAS_ENDPWENT> symbol, which
2022 indicates to the C program that the endpwent() routine is available
2023 for sequential access of the passwd database.
2027 From F<d_endsent.U>:
2029 This variable conditionally defines C<HAS_ENDSERVENT> if endservent() is
2030 available to close whatever was being used for service queries.
2034 From F<nblock_io.U>:
2036 This variable conditionally defines C<EOF_NONBLOCK> if C<EOF> can be seen
2037 when reading from a non-blocking F<I/O> source.
2043 This variable conditionally defines the symbols C<EUNICE> and C<VAX>, which
2044 alerts the C program that it must deal with ideosyncracies of C<VMS>.
2050 This variable conditionally defines the C<HAS_FCHMOD> symbol, which
2051 indicates to the C program that the fchmod() routine is available
2052 to change mode of opened files.
2058 This variable conditionally defines the C<HAS_FCHOWN> symbol, which
2059 indicates to the C program that the fchown() routine is available
2060 to change ownership of opened files.
2066 This variable conditionally defines the C<HAS_FCNTL> symbol, and indicates
2067 whether the fcntl() function exists
2069 =item C<d_fcntl_can_lock>
2071 From F<d_fcntl_can_lock.U>:
2073 This variable conditionally defines the C<FCNTL_CAN_LOCK> symbol
2074 and indicates whether file locking with fcntl() works.
2076 =item C<d_fd_macros>
2080 This variable contains the eventual value of the C<HAS_FD_MACROS> symbol,
2081 which indicates if your C compiler knows about the macros which
2082 manipulate an fd_set.
2088 This variable contains the eventual value of the C<HAS_FD_SET> symbol,
2089 which indicates if your C compiler knows about the fd_set typedef.
2095 This variable contains the eventual value of the C<HAS_FDS_BITS> symbol,
2096 which indicates if your fd_set typedef contains the fds_bits member.
2097 If you have an fd_set typedef, but the dweebs who installed it did
2098 a half-fast job and neglected to provide the macros to manipulate
2099 an fd_set, C<HAS_FDS_BITS> will let us know how to fix the gaffe.
2103 From F<d_fgetpos.U>:
2105 This variable conditionally defines C<HAS_FGETPOS> if fgetpos() is
2106 available to get the file position indicator.
2110 From F<d_flexfnam.U>:
2112 This variable conditionally defines the C<FLEXFILENAMES> symbol, which
2113 indicates that the system supports filenames longer than 14 characters.
2119 This variable conditionally defines C<HAS_FLOCK> if flock() is
2120 available to do file locking.
2126 This variable conditionally defines the C<HAS_FORK> symbol, which
2127 indicates to the C program that the fork() routine is available.
2129 =item C<d_fpathconf>
2131 From F<d_pathconf.U>:
2133 This variable conditionally defines the C<HAS_FPATHCONF> symbol, which
2134 indicates to the C program that the pathconf() routine is available
2135 to determine file-system related limits and options associated
2136 with a given open file descriptor.
2140 From F<d_fpos64_t.U>:
2142 This symbol will be defined if the C compiler supports fpos64_t.
2148 This variable conditionally defines the C<HAS_FREXPL> symbol, which
2149 indicates to the C program that the frexpl() routine is available.
2151 =item C<d_fs_data_s>
2153 From F<d_fs_data_s.U>:
2155 This variable conditionally defines the C<HAS_STRUCT_FS_DATA> symbol,
2156 which indicates that the struct fs_data is supported.
2162 This variable conditionally defines the C<HAS_FSEEKO> symbol, which
2163 indicates to the C program that the fseeko() routine is available.
2167 From F<d_fsetpos.U>:
2169 This variable conditionally defines C<HAS_FSETPOS> if fsetpos() is
2170 available to set the file position indicator.
2174 From F<d_fstatfs.U>:
2176 This variable conditionally defines the C<HAS_FSTATFS> symbol, which
2177 indicates to the C program that the fstatfs() routine is available.
2181 From F<d_statvfs.U>:
2183 This variable conditionally defines the C<HAS_FSTATVFS> symbol, which
2184 indicates to the C program that the fstatvfs() routine is available.
2190 This variable conditionally defines the C<HAS_FSYNC> symbol, which
2191 indicates to the C program that the fsync() routine is available.
2197 This variable conditionally defines the C<HAS_FTELLO> symbol, which
2198 indicates to the C program that the ftello() routine is available.
2204 This variable conditionally defines the C<HAS_FTIME> symbol, which indicates
2205 that the ftime() routine exists. The ftime() routine is basically
2206 a sub-second accuracy clock.
2210 From F<d_gconvert.U>:
2212 This variable holds what Gconvert is defined as to convert
2213 floating point numbers into strings. It could be C<gconvert>
2214 or a more C<complex> macro emulating gconvert with gcvt() or sprintf.
2215 Possible values are:
2216 d_Gconvert=C<gconvert((x),(n),(t),(b))>
2217 d_Gconvert=C<gcvt((x),(n),(b))>
2218 d_Gconvert=C<sprintf((b),F<%F<.>*g>,(n),(x))>
2224 This variable conditionally defines the C<HAS_GETCWD> symbol, which
2225 indicates to the C program that the getcwd() routine is available
2226 to get the current working directory.
2228 =item C<d_getespwnam>
2230 From F<d_getespwnam.U>:
2232 This variable conditionally defines C<HAS_GETESPWNAM> if getespwnam() is
2233 available to retrieve enchanced (shadow) password entries by name.
2235 =item C<d_getfsstat>
2237 From F<d_getfsstat.U>:
2239 This variable conditionally defines the C<HAS_GETFSSTAT> symbol, which
2240 indicates to the C program that the getfsstat() routine is available.
2244 From F<d_getgrent.U>:
2246 This variable conditionally defines the C<HAS_GETGRENT> symbol, which
2247 indicates to the C program that the getgrent() routine is available
2248 for sequential access of the group database.
2252 From F<d_getgrps.U>:
2254 This variable conditionally defines the C<HAS_GETGROUPS> symbol, which
2255 indicates to the C program that the getgroups() routine is available
2256 to get the list of process groups.
2258 =item C<d_gethbyaddr>
2260 From F<d_gethbyad.U>:
2262 This variable conditionally defines the C<HAS_GETHOSTBYADDR> symbol, which
2263 indicates to the C program that the gethostbyaddr() routine is available
2264 to look up hosts by their C<IP> addresses.
2266 =item C<d_gethbyname>
2268 From F<d_gethbynm.U>:
2270 This variable conditionally defines the C<HAS_GETHOSTBYNAME> symbol, which
2271 indicates to the C program that the gethostbyname() routine is available
2272 to look up host names in some data base or other.
2276 From F<d_gethent.U>:
2278 This variable conditionally defines C<HAS_GETHOSTENT> if gethostent() is
2279 available to look up host names in some data base or another.
2283 From F<d_gethname.U>:
2285 This variable conditionally defines the C<HAS_GETHOSTNAME> symbol, which
2286 indicates to the C program that the gethostname() routine may be
2287 used to derive the host name.
2289 =item C<d_gethostprotos>
2291 From F<d_gethostprotos.U>:
2293 This variable conditionally defines the C<HAS_GETHOST_PROTOS> symbol,
2294 which indicates to the C program that <netdb.h> supplies
2295 prototypes for the various gethost*() functions.
2296 See also F<netdbtype.U> for probing for various netdb types.
2300 From F<d_getlogin.U>:
2302 This variable conditionally defines the C<HAS_GETLOGIN> symbol, which
2303 indicates to the C program that the getlogin() routine is available
2304 to get the login name.
2310 This variable conditionally defines the C<HAS_GETMNT> symbol, which
2311 indicates to the C program that the getmnt() routine is available
2312 to retrieve one or more mount info blocks by filename.
2314 =item C<d_getmntent>
2316 From F<d_getmntent.U>:
2318 This variable conditionally defines the C<HAS_GETMNTENT> symbol, which
2319 indicates to the C program that the getmntent() routine is available
2320 to iterate through mounted files to get their mount info.
2322 =item C<d_getnbyaddr>
2324 From F<d_getnbyad.U>:
2326 This variable conditionally defines the C<HAS_GETNETBYADDR> symbol, which
2327 indicates to the C program that the getnetbyaddr() routine is available
2328 to look up networks by their C<IP> addresses.
2330 =item C<d_getnbyname>
2332 From F<d_getnbynm.U>:
2334 This variable conditionally defines the C<HAS_GETNETBYNAME> symbol, which
2335 indicates to the C program that the getnetbyname() routine is available
2336 to look up networks by their names.
2340 From F<d_getnent.U>:
2342 This variable conditionally defines C<HAS_GETNETENT> if getnetent() is
2343 available to look up network names in some data base or another.
2345 =item C<d_getnetprotos>
2347 From F<d_getnetprotos.U>:
2349 This variable conditionally defines the C<HAS_GETNET_PROTOS> symbol,
2350 which indicates to the C program that <netdb.h> supplies
2351 prototypes for the various getnet*() functions.
2352 See also F<netdbtype.U> for probing for various netdb types.
2356 From F<d_getpagsz.U>:
2358 This variable conditionally defines C<HAS_GETPAGESIZE> if getpagesize()
2359 is available to get the system page size.
2361 =item C<d_getpbyname>
2363 From F<d_getprotby.U>:
2365 This variable conditionally defines the C<HAS_GETPROTOBYNAME>
2366 symbol, which indicates to the C program that the
2367 getprotobyname() routine is available to look up protocols
2370 =item C<d_getpbynumber>
2372 From F<d_getprotby.U>:
2374 This variable conditionally defines the C<HAS_GETPROTOBYNUMBER>
2375 symbol, which indicates to the C program that the
2376 getprotobynumber() routine is available to look up protocols
2381 From F<d_getpent.U>:
2383 This variable conditionally defines C<HAS_GETPROTOENT> if getprotoent() is
2384 available to look up protocols in some data base or another.
2388 From F<d_getpgid.U>:
2390 This variable conditionally defines the C<HAS_GETPGID> symbol, which
2391 indicates to the C program that the getpgid(pid) function
2392 is available to get the process group id.
2396 From F<d_getpgrp2.U>:
2398 This variable conditionally defines the HAS_GETPGRP2 symbol, which
2399 indicates to the C program that the getpgrp2() (as in F<DG/C<UX>>) routine
2400 is available to get the current process group.
2404 From F<d_getpgrp.U>:
2406 This variable conditionally defines C<HAS_GETPGRP> if getpgrp() is
2407 available to get the current process group.
2411 From F<d_getppid.U>:
2413 This variable conditionally defines the C<HAS_GETPPID> symbol, which
2414 indicates to the C program that the getppid() routine is available
2415 to get the parent process C<ID>.
2419 From F<d_getprior.U>:
2421 This variable conditionally defines C<HAS_GETPRIORITY> if getpriority()
2422 is available to get a process's priority.
2424 =item C<d_getprotoprotos>
2426 From F<d_getprotoprotos.U>:
2428 This variable conditionally defines the C<HAS_GETPROTO_PROTOS> symbol,
2429 which indicates to the C program that <netdb.h> supplies
2430 prototypes for the various getproto*() functions.
2431 See also F<netdbtype.U> for probing for various netdb types.
2433 =item C<d_getprpwnam>
2435 From F<d_getprpwnam.U>:
2437 This variable conditionally defines C<HAS_GETPRPWNAM> if getprpwnam() is
2438 available to retrieve protected (shadow) password entries by name.
2442 From F<d_getpwent.U>:
2444 This variable conditionally defines the C<HAS_GETPWENT> symbol, which
2445 indicates to the C program that the getpwent() routine is available
2446 for sequential access of the passwd database.
2448 =item C<d_getsbyname>
2450 From F<d_getsrvby.U>:
2452 This variable conditionally defines the C<HAS_GETSERVBYNAME>
2453 symbol, which indicates to the C program that the
2454 getservbyname() routine is available to look up services
2457 =item C<d_getsbyport>
2459 From F<d_getsrvby.U>:
2461 This variable conditionally defines the C<HAS_GETSERVBYPORT>
2462 symbol, which indicates to the C program that the
2463 getservbyport() routine is available to look up services
2468 From F<d_getsent.U>:
2470 This variable conditionally defines C<HAS_GETSERVENT> if getservent() is
2471 available to look up network services in some data base or another.
2473 =item C<d_getservprotos>
2475 From F<d_getservprotos.U>:
2477 This variable conditionally defines the C<HAS_GETSERV_PROTOS> symbol,
2478 which indicates to the C program that <netdb.h> supplies
2479 prototypes for the various getserv*() functions.
2480 See also F<netdbtype.U> for probing for various netdb types.
2484 From F<d_getspnam.U>:
2486 This variable conditionally defines C<HAS_GETSPNAM> if getspnam() is
2487 available to retrieve SysV shadow password entries by name.
2489 =item C<d_gettimeod>
2493 This variable conditionally defines the C<HAS_GETTIMEOFDAY> symbol, which
2494 indicates that the gettimeofday() system call exists (to obtain a
2495 sub-second accuracy clock). You should probably include <sys/resource.h>.
2499 From F<d_gnulibc.U>:
2501 Defined if we're dealing with the C<GNU> C Library.
2507 This variable conditionally defines C<GRPASSWD>, which indicates
2508 that struct group in <grp.h> contains gr_passwd.
2510 =item C<d_hasmntopt>
2512 From F<d_hasmntopt.U>:
2514 This variable conditionally defines the C<HAS_HASMNTOPT> symbol, which
2515 indicates to the C program that the hasmntopt() routine is available
2516 to query the mount options of file systems.
2522 This variable conditionally defines C<HAS_HTONL> if htonl() and its
2523 friends are available to do network order byte swapping.
2529 This variable conditionally defines the C<HAS_ICONV> symbol, which
2530 indicates to the C program that the iconv() routine is available.
2536 This variable conditionally defines C<HAS_INDEX> if index() and
2537 rindex() are available for string searching.
2541 From F<d_inetaton.U>:
2543 This variable conditionally defines the C<HAS_INET_ATON> symbol, which
2544 indicates to the C program that the inet_aton() function is available
2545 to parse C<IP> address C<dotted-quad> strings.
2549 From F<d_int64_t.U>:
2551 This symbol will be defined if the C compiler supports int64_t.
2555 From F<d_isascii.U>:
2557 This variable conditionally defines the C<HAS_ISASCII> constant,
2558 which indicates to the C program that isascii() is available.
2564 This variable conditionally defines the C<HAS_ISNAN> symbol, which
2565 indicates to the C program that the isnan() routine is available.
2571 This variable conditionally defines the C<HAS_ISNANL> symbol, which
2572 indicates to the C program that the isnanl() routine is available.
2578 This variable conditionally defines the C<HAS_KILLPG> symbol, which
2579 indicates to the C program that the killpg() routine is available
2580 to kill process groups.
2586 This variable conditionally defines the C<HAS_LCHOWN> symbol, which
2587 indicates to the C program that the lchown() routine is available
2588 to operate on a symbolic link (instead of following the link).
2592 From F<d_ldbl_dig.U>:
2594 This variable conditionally defines d_ldbl_dig if this system's
2595 header files provide C<LDBL_DIG>, which is the number of significant
2596 digits in a long double precision number.
2602 This variable conditionally defines C<HAS_LINK> if link() is
2603 available to create hard links.
2607 From F<d_locconv.U>:
2609 This variable conditionally defines C<HAS_LOCALECONV> if localeconv() is
2610 available for numeric and monetary formatting conventions.
2616 This variable conditionally defines C<HAS_LOCKF> if lockf() is
2617 available to do file locking.
2621 From F<d_longdbl.U>:
2623 This variable conditionally defines C<HAS_LONG_DOUBLE> if
2624 the long double type is supported.
2628 From F<d_longlong.U>:
2630 This variable conditionally defines C<HAS_LONG_LONG> if
2631 the long long type is supported.
2633 =item C<d_lseekproto>
2635 From F<d_lseekproto.U>:
2637 This variable conditionally defines the C<HAS_LSEEK_PROTO> symbol,
2638 which indicates to the C program that the system provides
2639 a prototype for the lseek() function. Otherwise, it is
2640 up to the program to supply one.
2646 This variable conditionally defines C<HAS_LSTAT> if lstat() is
2647 available to do file stats on symbolic links.
2651 From F<d_madvise.U>:
2653 This variable conditionally defines C<HAS_MADVISE> if madvise() is
2654 available to map a file into memory.
2660 This variable conditionally defines the C<HAS_MBLEN> symbol, which
2661 indicates to the C program that the mblen() routine is available
2662 to find the number of bytes in a multibye character.
2666 From F<d_mbstowcs.U>:
2668 This variable conditionally defines the C<HAS_MBSTOWCS> symbol, which
2669 indicates to the C program that the mbstowcs() routine is available
2670 to convert a multibyte string into a wide character string.
2676 This variable conditionally defines the C<HAS_MBTOWC> symbol, which
2677 indicates to the C program that the mbtowc() routine is available
2678 to convert multibyte to a wide character.
2684 This variable conditionally defines the C<HAS_MEMCHR> symbol, which
2685 indicates to the C program that the memchr() routine is available
2686 to locate characters within a C string.
2692 This variable conditionally defines the C<HAS_MEMCMP> symbol, which
2693 indicates to the C program that the memcmp() routine is available
2694 to compare blocks of memory.
2700 This variable conditionally defines the C<HAS_MEMCPY> symbol, which
2701 indicates to the C program that the memcpy() routine is available
2702 to copy blocks of memory.
2706 From F<d_memmove.U>:
2708 This variable conditionally defines the C<HAS_MEMMOVE> symbol, which
2709 indicates to the C program that the memmove() routine is available
2710 to copy potentatially overlapping blocks of memory.
2716 This variable conditionally defines the C<HAS_MEMSET> symbol, which
2717 indicates to the C program that the memset() routine is available
2718 to set blocks of memory.
2724 This variable conditionally defines the C<HAS_MKDIR> symbol, which
2725 indicates to the C program that the mkdir() routine is available
2726 to create F<directories.>.
2730 From F<d_mkdtemp.U>:
2732 This variable conditionally defines the C<HAS_MKDTEMP> symbol, which
2733 indicates to the C program that the mkdtemp() routine is available
2734 to exclusively create a uniquely named temporary directory.
2740 This variable conditionally defines the C<HAS_MKFIFO> symbol, which
2741 indicates to the C program that the mkfifo() routine is available.
2745 From F<d_mkstemp.U>:
2747 This variable conditionally defines the C<HAS_MKSTEMP> symbol, which
2748 indicates to the C program that the mkstemp() routine is available
2749 to exclusively create and open a uniquely named temporary file.
2753 From F<d_mkstemps.U>:
2755 This variable conditionally defines the C<HAS_MKSTEMPS> symbol, which
2756 indicates to the C program that the mkstemps() routine is available
2757 to exclusively create and open a uniquely named (with a suffix)
2764 This variable conditionally defines the C<HAS_MKTIME> symbol, which
2765 indicates to the C program that the mktime() routine is available.
2771 This variable conditionally defines C<HAS_MMAP> if mmap() is
2772 available to map a file into memory.
2778 This variable conditionally defines the C<HAS_MODFL> symbol, which
2779 indicates to the C program that the modfl() routine is available.
2783 From F<d_mprotect.U>:
2785 This variable conditionally defines C<HAS_MPROTECT> if mprotect() is
2786 available to modify the access protection of a memory mapped file.
2792 This variable conditionally defines the C<HAS_MSG> symbol, which
2793 indicates that the entire msg*(2) library is present.
2795 =item C<d_msg_ctrunc>
2799 This variable conditionally defines the C<HAS_MSG_CTRUNC> symbol,
2800 which indicates that the C<MSG_CTRUNC> is available. #ifdef is
2801 not enough because it may be an enum, glibc has been known to do this.
2803 =item C<d_msg_dontroute>
2807 This variable conditionally defines the C<HAS_MSG_DONTROUTE> symbol,
2808 which indicates that the C<MSG_DONTROUTE> is available. #ifdef is
2809 not enough because it may be an enum, glibc has been known to do this.
2815 This variable conditionally defines the C<HAS_MSG_OOB> symbol,
2816 which indicates that the C<MSG_OOB> is available. #ifdef is
2817 not enough because it may be an enum, glibc has been known to do this.
2823 This variable conditionally defines the C<HAS_MSG_PEEK> symbol,
2824 which indicates that the C<MSG_PEEK> is available. #ifdef is
2825 not enough because it may be an enum, glibc has been known to do this.
2827 =item C<d_msg_proxy>
2831 This variable conditionally defines the C<HAS_MSG_PROXY> symbol,
2832 which indicates that the C<MSG_PROXY> is available. #ifdef is
2833 not enough because it may be an enum, glibc has been known to do this.
2839 This variable conditionally defines the C<HAS_MSGCTL> symbol, which
2840 indicates to the C program that the msgctl() routine is available.
2846 This variable conditionally defines the C<HAS_MSGGET> symbol, which
2847 indicates to the C program that the msgget() routine is available.
2853 This variable conditionally defines the C<HAS_MSGRCV> symbol, which
2854 indicates to the C program that the msgrcv() routine is available.
2860 This variable conditionally defines the C<HAS_MSGSND> symbol, which
2861 indicates to the C program that the msgsnd() routine is available.
2867 This variable conditionally defines C<HAS_MSYNC> if msync() is
2868 available to synchronize a mapped file.
2874 This variable conditionally defines C<HAS_MUNMAP> if munmap() is
2875 available to unmap a region mapped by mmap().
2879 From F<mallocsrc.U>:
2881 This variable conditionally defines C<MYMALLOC> in case other parts
2882 of the source want to take special action if C<MYMALLOC> is used.
2883 This may include different sorts of profiling or error detection.
2889 This variable conditionally defines the C<HAS_NICE> symbol, which
2890 indicates to the C program that the nice() routine is available.
2892 =item C<d_nv_preserves_uv>
2896 This variable indicates whether a variable of type nvtype
2897 can preserve all the bits a variable of type uvtype.
2899 =item C<d_nv_preserves_uv_bits>
2903 This variable indicates how many of bits type uvtype
2904 a variable nvtype can preserve.
2908 From F<d_off64_t.U>:
2910 This symbol will be defined if the C compiler supports off64_t.
2912 =item C<d_old_pthread_create_joinable>
2914 From F<d_pthrattrj.U>:
2916 This variable conditionally defines pthread_create_joinable.
2917 undef if F<pthread.h> defines C<PTHREAD_CREATE_JOINABLE>.
2919 =item C<d_oldpthreads>
2921 From F<usethreads.U>:
2923 This variable conditionally defines the C<OLD_PTHREADS_API> symbol,
2924 and indicates that Perl should be built to use the old
2925 draft C<POSIX> threads C<API>. This is only potentially meaningful if
2932 This variable conditionally defines the C<OLDSOCKET> symbol, which
2933 indicates that the C<BSD> socket interface is based on 4.1c and not 4.2.
2939 This variable conditionally defines the HAS_OPEN3 manifest constant,
2940 which indicates to the C program that the 3 argument version of
2941 the open(2) function is available.
2945 From F<d_pathconf.U>:
2947 This variable conditionally defines the C<HAS_PATHCONF> symbol, which
2948 indicates to the C program that the pathconf() routine is available
2949 to determine file-system related limits and options associated
2950 with a given filename.
2956 This variable conditionally defines the C<HAS_PAUSE> symbol, which
2957 indicates to the C program that the pause() routine is available
2958 to suspend a process until a signal is received.
2960 =item C<d_perl_otherlibdirs>
2962 From F<otherlibdirs.U>:
2964 This variable conditionally defines C<PERL_OTHERLIBDIRS>, which
2965 contains a colon-separated set of paths for the perl binary to
2966 include in @C<INC>. See also otherlibdirs.
2968 =item C<d_phostname>
2970 From F<d_gethname.U>:
2972 This variable conditionally defines the C<HAS_PHOSTNAME> symbol, which
2973 contains the shell command which, when fed to popen(), may be
2974 used to derive the host name.
2980 This variable conditionally defines the C<HAS_PIPE> symbol, which
2981 indicates to the C program that the pipe() routine is available
2982 to create an inter-process channel.
2988 This variable conditionally defines the C<HAS_POLL> symbol, which
2989 indicates to the C program that the poll() routine is available
2990 to poll active file descriptors.
2994 From F<d_portable.U>:
2996 This variable conditionally defines the C<PORTABLE> symbol, which
2997 indicates to the C program that it should not assume that it is
2998 running on the machine it was compiled on.
3004 This variable conditionally defines the PERL_PRId64 symbol, which
3005 indiciates that stdio has a symbol to print 64-bit decimal numbers.
3009 From F<longdblfio.U>:
3011 This variable conditionally defines the PERL_PRIfldbl symbol, which
3012 indiciates that stdio has a symbol to print long doubles.
3014 =item C<d_PRIEUldbl>
3016 From F<longdblfio.U>:
3018 This variable conditionally defines the PERL_PRIfldbl symbol, which
3019 indiciates that stdio has a symbol to print long doubles.
3020 The C<U> in the name is to separate this from d_PRIeldbl so that even
3021 case-blind systems can see the difference.
3025 From F<longdblfio.U>:
3027 This variable conditionally defines the PERL_PRIfldbl symbol, which
3028 indiciates that stdio has a symbol to print long doubles.
3030 =item C<d_PRIFUldbl>
3032 From F<longdblfio.U>:
3034 This variable conditionally defines the PERL_PRIfldbl symbol, which
3035 indiciates that stdio has a symbol to print long doubles.
3036 The C<U> in the name is to separate this from d_PRIfldbl so that even
3037 case-blind systems can see the difference.
3041 From F<longdblfio.U>:
3043 This variable conditionally defines the PERL_PRIfldbl symbol, which
3044 indiciates that stdio has a symbol to print long doubles.
3046 =item C<d_PRIGUldbl>
3048 From F<longdblfio.U>:
3050 This variable conditionally defines the PERL_PRIfldbl symbol, which
3051 indiciates that stdio has a symbol to print long doubles.
3052 The C<U> in the name is to separate this from d_PRIgldbl so that even
3053 case-blind systems can see the difference.
3059 This variable conditionally defines the PERL_PRIi64 symbol, which
3060 indiciates that stdio has a symbol to print 64-bit decimal numbers.
3066 This variable conditionally defines the PERL_PRIo64 symbol, which
3067 indiciates that stdio has a symbol to print 64-bit octal numbers.
3073 This variable conditionally defines the PERL_PRIu64 symbol, which
3074 indiciates that stdio has a symbol to print 64-bit unsigned decimal
3081 This variable conditionally defines the PERL_PRIx64 symbol, which
3082 indiciates that stdio has a symbol to print 64-bit hexadecimal numbers.
3088 This variable conditionally defines the PERL_PRIXU64 symbol, which
3089 indiciates that stdio has a symbol to print 64-bit hExADECimAl numbers.
3090 The C<U> in the name is to separate this from d_PRIx64 so that even
3091 case-blind systems can see the difference.
3093 =item C<d_pthread_yield>
3095 From F<d_pthread_y.U>:
3097 This variable conditionally defines the C<HAS_PTHREAD_YIELD>
3098 symbol if the pthread_yield routine is available to yield
3099 the execution of the current thread.
3105 This variable conditionally defines C<PWAGE>, which indicates
3106 that struct passwd contains pw_age.
3112 This variable conditionally defines C<PWCHANGE>, which indicates
3113 that struct passwd contains pw_change.
3119 This variable conditionally defines C<PWCLASS>, which indicates
3120 that struct passwd contains pw_class.
3122 =item C<d_pwcomment>
3126 This variable conditionally defines C<PWCOMMENT>, which indicates
3127 that struct passwd contains pw_comment.
3133 This variable conditionally defines C<PWEXPIRE>, which indicates
3134 that struct passwd contains pw_expire.
3140 This variable conditionally defines C<PWGECOS>, which indicates
3141 that struct passwd contains pw_gecos.
3147 This variable conditionally defines C<PWPASSWD>, which indicates
3148 that struct passwd contains pw_passwd.
3154 This variable conditionally defines C<PWQUOTA>, which indicates
3155 that struct passwd contains pw_quota.
3161 This variable conditionally defines the C<HAS_QGCVT> symbol, which
3162 indicates to the C program that the qgcvt() routine is available.
3168 This variable, if defined, tells that there's a 64-bit integer type,
3173 From F<d_readdir.U>:
3175 This variable conditionally defines C<HAS_READDIR> if readdir() is
3176 available to read directory entries.
3180 From F<d_readlink.U>:
3182 This variable conditionally defines the C<HAS_READLINK> symbol, which
3183 indicates to the C program that the readlink() routine is available
3184 to read the value of a symbolic link.
3190 This variable conditionally defines the C<HAS_RENAME> symbol, which
3191 indicates to the C program that the rename() routine is available
3194 =item C<d_rewinddir>
3196 From F<d_readdir.U>:
3198 This variable conditionally defines C<HAS_REWINDDIR> if rewinddir() is
3205 This variable conditionally defines C<HAS_RMDIR> if rmdir() is
3206 available to remove directories.
3210 From F<d_safebcpy.U>:
3212 This variable conditionally defines the C<HAS_SAFE_BCOPY> symbol if
3213 the bcopy() routine can do overlapping copies.
3217 From F<d_safemcpy.U>:
3219 This variable conditionally defines the C<HAS_SAFE_MEMCPY> symbol if
3220 the memcpy() routine can do overlapping copies.
3224 From F<d_sanemcmp.U>:
3226 This variable conditionally defines the C<HAS_SANE_MEMCMP> symbol if
3227 the memcpy() routine is available and can be used to compare relative
3228 magnitudes of chars with their high bits set.
3230 =item C<d_sbrkproto>
3232 From F<d_sbrkproto.U>:
3234 This variable conditionally defines the C<HAS_SBRK_PROTO> symbol,
3235 which indicates to the C program that the system provides
3236 a prototype for the sbrk() function. Otherwise, it is
3237 up to the program to supply one.
3239 =item C<d_sched_yield>
3241 From F<d_pthread_y.U>:
3243 This variable conditionally defines the C<HAS_SCHED_YIELD>
3244 symbol if the sched_yield routine is available to yield
3245 the execution of the current thread.
3247 =item C<d_scm_rights>
3251 This variable conditionally defines the C<HAS_SCM_RIGHTS> symbol,
3252 which indicates that the C<SCM_RIGHTS> is available. #ifdef is
3253 not enough because it may be an enum, glibc has been known to do this.
3257 From F<longdblfio.U>:
3259 This variable conditionally defines the PERL_PRIfldbl symbol, which
3260 indiciates that stdio has a symbol to scan long doubles.
3264 From F<d_readdir.U>:
3266 This variable conditionally defines C<HAS_SEEKDIR> if seekdir() is
3273 This variable conditionally defines C<HAS_SELECT> if select() is
3274 available to select active file descriptors. A <sys/time.h>
3275 inclusion may be necessary for the timeout field.
3281 This variable conditionally defines the C<HAS_SEM> symbol, which
3282 indicates that the entire sem*(2) library is present.
3288 This variable conditionally defines the C<HAS_SEMCTL> symbol, which
3289 indicates to the C program that the semctl() routine is available.
3291 =item C<d_semctl_semid_ds>
3293 From F<d_union_semun.U>:
3295 This variable conditionally defines C<USE_SEMCTL_SEMID_DS>, which
3296 indicates that struct semid_ds * is to be used for semctl C<IPC_STAT>.
3298 =item C<d_semctl_semun>
3300 From F<d_union_semun.U>:
3302 This variable conditionally defines C<USE_SEMCTL_SEMUN>, which
3303 indicates that union semun is to be used for semctl C<IPC_STAT>.
3309 This variable conditionally defines the C<HAS_SEMGET> symbol, which
3310 indicates to the C program that the semget() routine is available.
3316 This variable conditionally defines the C<HAS_SEMOP> symbol, which
3317 indicates to the C program that the semop() routine is available.
3321 From F<d_setegid.U>:
3323 This variable conditionally defines the C<HAS_SETEGID> symbol, which
3324 indicates to the C program that the setegid() routine is available
3325 to change the effective gid of the current program.
3329 From F<d_seteuid.U>:
3331 This variable conditionally defines the C<HAS_SETEUID> symbol, which
3332 indicates to the C program that the seteuid() routine is available
3333 to change the effective uid of the current program.
3337 From F<d_setgrent.U>:
3339 This variable conditionally defines the C<HAS_SETGRENT> symbol, which
3340 indicates to the C program that the setgrent() routine is available
3341 for initializing sequential access to the group database.
3345 From F<d_setgrps.U>:
3347 This variable conditionally defines the C<HAS_SETGROUPS> symbol, which
3348 indicates to the C program that the setgroups() routine is available
3349 to set the list of process groups.
3353 From F<d_sethent.U>:
3355 This variable conditionally defines C<HAS_SETHOSTENT> if sethostent() is
3358 =item C<d_setlinebuf>
3360 From F<d_setlnbuf.U>:
3362 This variable conditionally defines the C<HAS_SETLINEBUF> symbol, which
3363 indicates to the C program that the setlinebuf() routine is available
3364 to change stderr or stdout from block-buffered or unbuffered to a
3367 =item C<d_setlocale>
3369 From F<d_setlocale.U>:
3371 This variable conditionally defines C<HAS_SETLOCALE> if setlocale() is
3372 available to handle locale-specific ctype implementations.
3376 From F<d_setnent.U>:
3378 This variable conditionally defines C<HAS_SETNETENT> if setnetent() is
3383 From F<d_setpent.U>:
3385 This variable conditionally defines C<HAS_SETPROTOENT> if setprotoent() is
3390 From F<d_setpgid.U>:
3392 This variable conditionally defines the C<HAS_SETPGID> symbol if the
3393 setpgid(pid, gpid) function is available to set process group C<ID>.
3397 From F<d_setpgrp2.U>:
3399 This variable conditionally defines the HAS_SETPGRP2 symbol, which
3400 indicates to the C program that the setpgrp2() (as in F<DG/C<UX>>) routine
3401 is available to set the current process group.
3405 From F<d_setpgrp.U>:
3407 This variable conditionally defines C<HAS_SETPGRP> if setpgrp() is
3408 available to set the current process group.
3412 From F<d_setprior.U>:
3414 This variable conditionally defines C<HAS_SETPRIORITY> if setpriority()
3415 is available to set a process's priority.
3417 =item C<d_setproctitle>
3419 From F<d_setproctitle.U>:
3421 This variable conditionally defines the C<HAS_SETPROCTITLE> symbol,
3422 which indicates to the C program that the setproctitle() routine
3427 From F<d_setpwent.U>:
3429 This variable conditionally defines the C<HAS_SETPWENT> symbol, which
3430 indicates to the C program that the setpwent() routine is available
3431 for initializing sequential access to the passwd database.
3435 From F<d_setregid.U>:
3437 This variable conditionally defines C<HAS_SETREGID> if setregid() is
3438 available to change the real and effective gid of the current
3441 =item C<d_setresgid>
3443 From F<d_setregid.U>:
3445 This variable conditionally defines C<HAS_SETRESGID> if setresgid() is
3446 available to change the real, effective and saved gid of the current
3449 =item C<d_setresuid>
3451 From F<d_setreuid.U>:
3453 This variable conditionally defines C<HAS_SETREUID> if setresuid() is
3454 available to change the real, effective and saved uid of the current
3459 From F<d_setreuid.U>:
3461 This variable conditionally defines C<HAS_SETREUID> if setreuid() is
3462 available to change the real and effective uid of the current
3467 From F<d_setrgid.U>:
3469 This variable conditionally defines the C<HAS_SETRGID> symbol, which
3470 indicates to the C program that the setrgid() routine is available
3471 to change the real gid of the current program.
3475 From F<d_setruid.U>:
3477 This variable conditionally defines the C<HAS_SETRUID> symbol, which
3478 indicates to the C program that the setruid() routine is available
3479 to change the real uid of the current program.
3483 From F<d_setsent.U>:
3485 This variable conditionally defines C<HAS_SETSERVENT> if setservent() is
3492 This variable conditionally defines C<HAS_SETSID> if setsid() is
3493 available to set the process group C<ID>.
3497 From F<d_setvbuf.U>:
3499 This variable conditionally defines the C<HAS_SETVBUF> symbol, which
3500 indicates to the C program that the setvbuf() routine is available
3501 to change buffering on an open stdio stream.
3507 This variable conditionally defines the C<USE_SFIO> symbol,
3508 and indicates whether sfio is available (and should be used).
3514 This variable conditionally defines the C<HAS_SHM> symbol, which
3515 indicates that the entire shm*(2) library is present.
3521 This variable conditionally defines the C<HAS_SHMAT> symbol, which
3522 indicates to the C program that the shmat() routine is available.
3524 =item C<d_shmatprototype>
3528 This variable conditionally defines the C<HAS_SHMAT_PROTOTYPE>
3529 symbol, which indicates that F<sys/shm.h> has a prototype for
3536 This variable conditionally defines the C<HAS_SHMCTL> symbol, which
3537 indicates to the C program that the shmctl() routine is available.
3543 This variable conditionally defines the C<HAS_SHMDT> symbol, which
3544 indicates to the C program that the shmdt() routine is available.
3550 This variable conditionally defines the C<HAS_SHMGET> symbol, which
3551 indicates to the C program that the shmget() routine is available.
3553 =item C<d_sigaction>
3555 From F<d_sigaction.U>:
3557 This variable conditionally defines the C<HAS_SIGACTION> symbol, which
3558 indicates that the Vr4 sigaction() routine is available.
3560 =item C<d_sigprocmask>
3562 From F<d_sigprocmask.U>:
3564 This variable conditionally defines C<HAS_SIGPROCMASK>
3565 if sigprocmask() is available to examine or change the signal mask
3566 of the calling process.
3568 =item C<d_sigsetjmp>
3570 From F<d_sigsetjmp.U>:
3572 This variable conditionally defines the C<HAS_SIGSETJMP> symbol,
3573 which indicates that the sigsetjmp() routine is available to
3574 call setjmp() and optionally save the process's signal mask.
3580 This variable conditionally defines C<HAS_SOCKET>, which indicates
3581 that the C<BSD> socket interface is supported.
3583 =item C<d_socklen_t>
3585 From F<d_socklen_t.U>:
3587 This symbol will be defined if the C compiler supports socklen_t.
3593 This variable conditionally defines the C<HAS_SOCKETPAIR> symbol, which
3594 indicates that the C<BSD> socketpair() is supported.
3596 =item C<d_socks5_init>
3598 From F<d_socks5_init.U>:
3600 This variable conditionally defines the HAS_SOCKS5_INIT symbol, which
3601 indicates to the C program that the socks5_init() routine is available.
3607 This variable conditionally defines the C<HAS_SQRTL> symbol, which
3608 indicates to the C program that the sqrtl() routine is available.
3612 From F<d_statblks.U>:
3614 This variable conditionally defines C<USE_STAT_BLOCKS>
3615 if this system has a stat structure declaring
3616 st_blksize and st_blocks.
3618 =item C<d_statfs_f_flags>
3620 From F<d_statfs_f_flags.U>:
3622 This variable conditionally defines the C<HAS_STRUCT_STATFS_F_FLAGS>
3623 symbol, which indicates to struct statfs from has f_flags member.
3624 This kind of struct statfs is coming from F<sys/mount.h> (C<BSD>),
3625 not from F<sys/statfs.h> (C<SYSV>).
3629 From F<d_statfs_s.U>:
3631 This variable conditionally defines the C<HAS_STRUCT_STATFS> symbol,
3632 which indicates that the struct statfs is supported.
3636 From F<d_statvfs.U>:
3638 This variable conditionally defines the C<HAS_STATVFS> symbol, which
3639 indicates to the C program that the statvfs() routine is available.
3641 =item C<d_stdio_cnt_lval>
3643 From F<d_stdstdio.U>:
3645 This variable conditionally defines C<STDIO_CNT_LVALUE> if the
3646 C<FILE_cnt> macro can be used as an lvalue.
3648 =item C<d_stdio_ptr_lval>
3650 From F<d_stdstdio.U>:
3652 This variable conditionally defines C<STDIO_PTR_LVALUE> if the
3653 C<FILE_ptr> macro can be used as an lvalue.
3655 =item C<d_stdio_ptr_lval_nochange_cnt>
3657 From F<d_stdstdio.U>:
3659 This symbol is defined if using the C<FILE_ptr> macro as an lvalue
3660 to increase the pointer by n leaves File_cnt(fp) unchanged.
3662 =item C<d_stdio_ptr_lval_sets_cnt>
3664 From F<d_stdstdio.U>:
3666 This symbol is defined if using the C<FILE_ptr> macro as an lvalue
3667 to increase the pointer by n has the side effect of decreasing the
3668 value of File_cnt(fp) by n.
3670 =item C<d_stdio_stream_array>
3672 From F<stdio_streams.U>:
3674 This variable tells whether there is an array holding
3677 =item C<d_stdiobase>
3679 From F<d_stdstdio.U>:
3681 This variable conditionally defines C<USE_STDIO_BASE> if this system
3682 has a C<FILE> structure declaring a usable _base field (or equivalent)
3687 From F<d_stdstdio.U>:
3689 This variable conditionally defines C<USE_STDIO_PTR> if this system
3690 has a C<FILE> structure declaring usable _ptr and _cnt fields (or
3691 equivalent) in F<stdio.h>.
3697 This variable conditionally defines C<HAS_STRCHR> if strchr() and
3698 strrchr() are available for string searching.
3702 From F<d_strcoll.U>:
3704 This variable conditionally defines C<HAS_STRCOLL> if strcoll() is
3705 available to compare strings using collating information.
3709 From F<d_strctcpy.U>:
3711 This variable conditionally defines the C<USE_STRUCT_COPY> symbol, which
3712 indicates to the C program that this C compiler knows how to copy
3717 From F<d_strerror.U>:
3719 This variable holds what Strerrr is defined as to translate an error
3720 code condition into an error message string. It could be C<strerror>
3721 or a more C<complex> macro emulating strrror with sys_errlist[], or the
3722 C<unknown> string when both strerror and sys_errlist are missing.
3726 From F<d_strerror.U>:
3728 This variable conditionally defines C<HAS_STRERROR> if strerror() is
3729 available to translate error numbers to strings.
3735 This variable conditionally defines the C<HAS_STRTOD> symbol, which
3736 indicates to the C program that the strtod() routine is available
3737 to provide better numeric string conversion than atof().
3743 This variable conditionally defines the C<HAS_STRTOL> symbol, which
3744 indicates to the C program that the strtol() routine is available
3745 to provide better numeric string conversion than atoi() and friends.
3749 From F<d_strtold.U>:
3751 This variable conditionally defines the C<HAS_STRTOLD> symbol, which
3752 indicates to the C program that the strtold() routine is available.
3756 From F<d_strtoll.U>:
3758 This variable conditionally defines the C<HAS_STRTOLL> symbol, which
3759 indicates to the C program that the strtoll() routine is available.
3765 This variable conditionally defines the C<HAS_STRTOQ> symbol, which
3766 indicates to the C program that the strtoq() routine is available.
3770 From F<d_strtoul.U>:
3772 This variable conditionally defines the C<HAS_STRTOUL> symbol, which
3773 indicates to the C program that the strtoul() routine is available
3774 to provide conversion of strings to unsigned long.
3778 From F<d_strtoull.U>:
3780 This variable conditionally defines the C<HAS_STRTOULL> symbol, which
3781 indicates to the C program that the strtoull() routine is available.
3785 From F<d_strtouq.U>:
3787 This variable conditionally defines the C<HAS_STRTOUQ> symbol, which
3788 indicates to the C program that the strtouq() routine is available.
3792 From F<d_strxfrm.U>:
3794 This variable conditionally defines C<HAS_STRXFRM> if strxfrm() is
3795 available to transform strings.
3801 This variable conditionally defines C<SETUID_SCRIPTS_ARE_SECURE_NOW>
3802 if setuid scripts can be secure. This test looks in F</dev/fd/>.
3806 From F<d_symlink.U>:
3808 This variable conditionally defines the C<HAS_SYMLINK> symbol, which
3809 indicates to the C program that the symlink() routine is available
3810 to create symbolic links.
3814 From F<d_syscall.U>:
3816 This variable conditionally defines C<HAS_SYSCALL> if syscall() is
3817 available call arbitrary system calls.
3821 From F<d_sysconf.U>:
3823 This variable conditionally defines the C<HAS_SYSCONF> symbol, which
3824 indicates to the C program that the sysconf() routine is available
3825 to determine system related limits and options.
3827 =item C<d_sysernlst>
3829 From F<d_strerror.U>:
3831 This variable conditionally defines C<HAS_SYS_ERRNOLIST> if sys_errnolist[]
3832 is available to translate error numbers to the symbolic name.
3834 =item C<d_syserrlst>
3836 From F<d_strerror.U>:
3838 This variable conditionally defines C<HAS_SYS_ERRLIST> if sys_errlist[] is
3839 available to translate error numbers to strings.
3845 This variable conditionally defines C<HAS_SYSTEM> if system() is
3846 available to issue a shell command.
3848 =item C<d_tcgetpgrp>
3850 From F<d_tcgtpgrp.U>:
3852 This variable conditionally defines the C<HAS_TCGETPGRP> symbol, which
3853 indicates to the C program that the tcgetpgrp() routine is available.
3854 to get foreground process group C<ID>.
3856 =item C<d_tcsetpgrp>
3858 From F<d_tcstpgrp.U>:
3860 This variable conditionally defines the C<HAS_TCSETPGRP> symbol, which
3861 indicates to the C program that the tcsetpgrp() routine is available
3862 to set foreground process group C<ID>.
3866 From F<d_readdir.U>:
3868 This variable conditionally defines C<HAS_TELLDIR> if telldir() is
3871 =item C<d_telldirproto>
3873 From F<d_telldirproto.U>:
3875 This variable conditionally defines the C<HAS_TELLDIR_PROTO> symbol,
3876 which indicates to the C program that the system provides
3877 a prototype for the telldir() function. Otherwise, it is
3878 up to the program to supply one.
3884 This variable conditionally defines the C<HAS_TIME> symbol, which indicates
3885 that the time() routine exists. The time() routine is normaly
3886 provided on C<UNIX> systems.
3892 This variable conditionally defines the C<HAS_TIMES> symbol, which indicates
3893 that the times() routine exists. The times() routine is normaly
3894 provided on C<UNIX> systems. You may have to include <sys/times.h>.
3898 From F<d_truncate.U>:
3900 This variable conditionally defines C<HAS_TRUNCATE> if truncate() is
3901 available to truncate files.
3907 This variable conditionally defines C<HAS_TZNAME> if tzname[] is
3908 available to access timezone names.
3914 This variable conditionally defines the C<HAS_UMASK> symbol, which
3915 indicates to the C program that the umask() routine is available.
3916 to set and get the value of the file creation mask.
3920 From F<d_gethname.U>:
3922 This variable conditionally defines the C<HAS_UNAME> symbol, which
3923 indicates to the C program that the uname() routine may be
3924 used to derive the host name.
3926 =item C<d_union_semun>
3928 From F<d_union_semun.U>:
3930 This variable conditionally defines C<HAS_UNION_SEMUN> if the
3931 union semun is defined by including <sys/sem.h>.
3937 This variable conditionally defines C<HAS_USTAT> if ustat() is
3938 available to query file system statistics by dev_t.
3940 =item C<d_vendorarch>
3942 From F<vendorarch.U>:
3944 This variable conditionally defined C<PERL_VENDORARCH>.
3946 =item C<d_vendorbin>
3948 From F<vendorbin.U>:
3950 This variable conditionally defines C<PERL_VENDORBIN>.
3952 =item C<d_vendorlib>
3954 From F<vendorlib.U>:
3956 This variable conditionally defines C<PERL_VENDORLIB>.
3962 This variable conditionally defines the C<HAS_VFORK> symbol, which
3963 indicates the vfork() routine is available.
3965 =item C<d_void_closedir>
3967 From F<d_closedir.U>:
3969 This variable conditionally defines C<VOID_CLOSEDIR> if closedir()
3970 does not return a value.
3974 From F<d_voidsig.U>:
3976 This variable conditionally defines C<VOIDSIG> if this system
3977 declares "void (*signal(...))()" in F<signal.h>. The old way was to
3978 declare it as "int (*signal(...))()".
3982 From F<i_sysioctl.U>:
3984 This variable conditionally defines C<USE_IOCNOTTY> to indicate that the
3985 ioctl() call with C<TIOCNOTTY> should be used to void tty association.
3986 Otherwise (on C<USG> probably), it is enough to close the standard file
3987 decriptors and do a setpgrp().
3991 From F<d_volatile.U>:
3993 This variable conditionally defines the C<HASVOLATILE> symbol, which
3994 indicates to the C program that this C compiler knows about the
3995 volatile declaration.
3999 From F<d_vprintf.U>:
4001 This variable conditionally defines the C<HAS_VPRINTF> symbol, which
4002 indicates to the C program that the vprintf() routine is available
4003 to printf with a pointer to an argument list.
4009 This variable conditionally defines the HAS_WAIT4 symbol, which
4010 indicates the wait4() routine is available.
4014 From F<d_waitpid.U>:
4016 This variable conditionally defines C<HAS_WAITPID> if waitpid() is
4017 available to wait for child process.
4021 From F<d_wcstombs.U>:
4023 This variable conditionally defines the C<HAS_WCSTOMBS> symbol, which
4024 indicates to the C program that the wcstombs() routine is available
4025 to convert wide character strings to multibyte strings.
4031 This variable conditionally defines the C<HAS_WCTOMB> symbol, which
4032 indicates to the C program that the wctomb() routine is available
4033 to convert a wide character to a multibyte.
4039 This variable conditionally defines the symbol C<XENIX>, which alerts
4040 the C program that it runs under Xenix.
4046 This variable is used internally by Configure to determine the
4047 full pathname (if any) of the date program. After Configure runs,
4048 the value is reset to a plain C<date> and is not useful.
4050 =item C<db_hashtype>
4054 This variable contains the type of the hash structure element
4055 in the <db.h> header file. In older versions of C<DB>, it was
4056 int, while in newer ones it is u_int32_t.
4058 =item C<db_prefixtype>
4062 This variable contains the type of the prefix structure element
4063 in the <db.h> header file. In older versions of C<DB>, it was
4064 int, while in newer ones it is size_t.
4066 =item C<defvoidused>
4068 From F<voidflags.U>:
4070 This variable contains the default value of the C<VOIDUSED> symbol (15).
4072 =item C<direntrytype>
4076 This symbol is set to C<struct direct> or C<struct dirent> depending on
4077 whether dirent is available or not. You should use this pseudo type to
4078 portably declare your directory entries.
4084 This variable contains the extension that is to be used for the
4085 dynamically loaded modules that perl generaties.
4091 This variable contains the name of the dynamic loading file that
4092 will be used with the package.
4096 From F<doublesize.U>:
4098 This variable contains the value of the C<DOUBLESIZE> symbol, which
4099 indicates to the C program how many bytes there are in a double.
4105 Indicates the macro to be used to generate normalized
4106 random numbers. Uses randfunc, often divided by
4107 (double) (((unsigned long) 1 << randbits)) in order to
4108 normalize the result.
4109 In C programs, the macro C<Drand01> is mapped to drand01.
4111 =item C<dynamic_ext>
4113 From F<Extensions.U>:
4115 This variable holds a list of C<XS> extension files we want to
4116 link dynamically into the package. It is used by Makefile.
4126 From F<nblock_io.U>:
4128 This variable bears the symbolic errno code set by read() when no
4129 data is present on the file and non-blocking F<I/O> was enabled (otherwise,
4130 read() blocks naturally).
4136 This variable conditionally defines C<EBCDIC> if this
4137 system uses C<EBCDIC> encoding. Among other things, this
4138 means that the character ranges are not contiguous.
4145 This variable is used internally by Configure to determine the
4146 full pathname (if any) of the echo program. After Configure runs,
4147 the value is reset to a plain C<echo> and is not useful.
4153 This variable is used internally by Configure to determine the
4154 full pathname (if any) of the egrep program. After Configure runs,
4155 the value is reset to a plain C<egrep> and is not useful.
4161 This variable is defined but not used by Configure.
4162 The value is a plain '' and is not useful.
4168 When running under Eunice this variable contains a command which will
4169 convert a shell script to the proper form of text file for it to be
4170 executable by the shell. On other systems it is a no-op.
4176 This is an old synonym for _exe.
4182 This variable is used internally by Configure to determine the
4183 full pathname (if any) of the expr program. After Configure runs,
4184 the value is reset to a plain C<expr> and is not useful.
4188 From F<Extensions.U>:
4190 This variable holds a list of all extension files (both C<XS> and
4191 non-xs linked into the package. It is propagated to F<Config.pm>
4192 and is typically used to test whether a particular extesion
4203 From F<fflushall.U>:
4205 This symbol, if defined, tells that to flush
4206 all pending stdio output one must loop through all
4207 the stdio file handles stored in an array and fflush them.
4208 Note that if fflushNULL is defined, fflushall will not
4209 even be probed for and will be left undefined.
4213 From F<fflushall.U>:
4215 This symbol, if defined, tells that fflush(C<NULL>) does flush
4216 all pending stdio output.
4222 This variable is defined but not used by Configure.
4223 The value is a plain '' and is not useful.
4225 =item C<firstmakefile>
4229 This variable defines the first file searched by make. On unix,
4230 it is makefile (then Makefile). On case-insensitive systems,
4231 it might be something else. This is only used to deal with
4232 convoluted make depend tricks.
4238 This variable is defined but not used by Configure.
4239 The value is a plain '' and is not useful.
4245 This variable contains the size of a fpostype in bytes.
4251 This variable defines Fpos_t to be something like fpos_t, long,
4252 uint, or whatever type is used to declare file positions in libc.
4256 From F<mallocsrc.U>:
4258 This variable contains the return type of free(). It is usually
4259 void, but occasionally int.
4265 This variable contains the full pathname to C<ar>, whether or
4266 not the user has specified C<portability>. This is only used
4267 in the F<Makefile.SH>.
4273 This variable contains the full pathname to C<csh>, whether or
4274 not the user has specified C<portability>. This is only used
4275 in the compiled C program, and we assume that all systems which
4276 can share this executable will have the same full pathname to
4283 This variable contains the full pathname to C<sed>, whether or
4284 not the user has specified C<portability>. This is only used
4285 in the compiled C program, and we assume that all systems which
4286 can share this executable will have the same full pathname to
4295 =item C<gccosandvers>
4299 If C<GNU> cc (gcc) is used, this variable the operating system and
4300 version used to compile the gcc. It is set to '' if not gcc,
4301 or if nothing useful can be parsed as the os version.
4307 If C<GNU> cc (gcc) is used, this variable holds C<1> or C<2> to
4308 indicate whether the compiler is version 1 or 2. This is used in
4309 setting some of the default cflags. It is set to '' if not gcc.
4315 This variable contains the format string used for printing a Gid_t.
4321 This variable contains the signedness of a gidtype.
4322 1 for unsigned, -1 for signed.
4328 This variable contains the size of a gidtype in bytes.
4334 This variable defines Gid_t to be something like gid_t, int,
4335 ushort, or whatever type is used to declare the return type
4336 of getgid(). Typically, it is the type of group ids in the kernel.
4342 This variable holds the general path (space-separated) used to
4343 find libraries. It may contain directories that do not exist on
4344 this platform, libpth is the cleaned-up version.
4350 This variable is used internally by Configure to determine the
4351 full pathname (if any) of the grep program. After Configure runs,
4352 the value is reset to a plain C<grep> and is not useful.
4358 This variable contains a command that produces the text of the
4359 F</etc/group> file. This is normally "cat F</etc/group>", but can be
4360 "ypcat group" when C<NIS> is used.
4361 On some systems, such as os390, there may be no equivalent
4362 command, in which case this variable is unset.
4366 From F<groupstype.U>:
4368 This variable defines Groups_t to be something like gid_t, int,
4369 ushort, or whatever type is used for the second argument to
4370 getgroups() and setgroups(). Usually, this is the same as
4371 gidtype (gid_t), but sometimes it isn't.
4377 This variable is used internally by Configure to determine the
4378 full pathname (if any) of the gzip program. After Configure runs,
4379 the value is reset to a plain C<gzip> and is not useful.
4391 This is variable gets set in various places to tell i_fcntl that
4392 <fcntl.h> should be included.
4396 From F<h_sysfile.U>:
4398 This is variable gets set in various places to tell i_sys_file that
4399 <sys/file.h> should be included.
4403 From F<Oldconfig.U>:
4405 Gives the type of hints used for previous answers. May be one of
4406 C<default>, C<recommended> or C<previous>.
4412 This variable contains a command that produces the text of the
4413 F</etc/hosts> file. This is normally "cat F</etc/hosts>", but can be
4414 "ypcat hosts" when C<NIS> is used.
4415 On some systems, such as os390, there may be no equivalent
4416 command, in which case this variable is unset.
4428 This variable is the size of an I16 in bytes.
4434 This variable contains the C type used for Perl's I16.
4440 This variable is the size of an I32 in bytes.
4446 This variable contains the C type used for Perl's I32.
4452 This variable is the size of an I64 in bytes.
4458 This variable contains the C type used for Perl's I64.
4464 This variable is the size of an I8 in bytes.
4470 This variable contains the C type used for Perl's I8.
4474 From F<i_arpainet.U>:
4476 This variable conditionally defines the C<I_ARPA_INET> symbol,
4477 and indicates whether a C program should include <arpa/inet.h>.
4481 From F<i_sysioctl.U>:
4483 This variable conditionally defines the C<I_SYS_BSDIOCTL> symbol, which
4484 indicates to the C program that <sys/bsdioctl.h> exists and should
4491 This variable conditionally defines the C<I_DB> symbol, and indicates
4492 whether a C program may include Berkeley's C<DB> include file <db.h>.
4498 This variable conditionally defines the C<I_DBM> symbol, which
4499 indicates to the C program that <dbm.h> exists and should
4506 This variable conditionally defines C<I_DIRENT>, which indicates
4507 to the C program that it should include <dirent.h>.
4513 This variable conditionally defines the C<I_DLD> symbol, which
4514 indicates to the C program that <dld.h> (C<GNU> dynamic loading)
4515 exists and should be included.
4521 This variable conditionally defines the C<I_DLFCN> symbol, which
4522 indicates to the C program that <dlfcn.h> exists and should
4529 This variable controls the value of C<I_FCNTL> (which tells
4530 the C program to include <fcntl.h>).
4536 This variable conditionally defines the C<I_FLOAT> symbol, and indicates
4537 whether a C program may include <float.h> to get symbols like C<DBL_MAX>
4538 or C<DBL_MIN>, F<i.e>. machine dependent floating point values.
4544 This variable conditionally defines the C<I_GDBM> symbol, which
4545 indicates to the C program that <gdbm.h> exists and should
4552 This variable conditionally defines the C<I_GRP> symbol, and indicates
4553 whether a C program should include <grp.h>.
4559 This variable conditionally defines the C<I_ICONV> symbol, and indicates
4560 whether a C program should include <iconv.h>.
4566 This variable conditionally defines the C<I_IEEEFP> symbol, and indicates
4567 whether a C program should include <ieeefp.h>.
4571 From F<i_inttypes.U>:
4573 This variable conditionally defines the C<I_INTTYPES> symbol,
4574 and indicates whether a C program should include <inttypes.h>.
4578 From F<i_libutil.U>:
4580 This variable conditionally defines the C<I_LIBUTIL> symbol, and indicates
4581 whether a C program should include <libutil.h>.
4587 This variable conditionally defines the C<I_LIMITS> symbol, and indicates
4588 whether a C program may include <limits.h> to get symbols like C<WORD_BIT>
4595 This variable conditionally defines the C<I_LOCALE> symbol,
4596 and indicates whether a C program should include <locale.h>.
4600 From F<i_machcthr.U>:
4602 This variable conditionally defines the C<I_MACH_CTHREADS> symbol,
4603 and indicates whether a C program should include <mach/cthreads.h>.
4609 This variable conditionally defines the C<I_MALLOC> symbol, and indicates
4610 whether a C program should include <malloc.h>.
4616 This variable conditionally defines the C<I_MATH> symbol, and indicates
4617 whether a C program may include <math.h>.
4623 This variable conditionally defines the C<I_MEMORY> symbol, and indicates
4624 whether a C program should include <memory.h>.
4630 This variable conditionally defines the C<I_MNTENT> symbol, and indicates
4631 whether a C program should include <mntent.h>.
4637 This variable conditionally defines the C<I_NDBM> symbol, which
4638 indicates to the C program that <ndbm.h> exists and should
4645 This variable conditionally defines the C<I_NETDB> symbol, and indicates
4646 whether a C program should include <netdb.h>.
4650 From F<i_neterrno.U>:
4652 This variable conditionally defines the C<I_NET_ERRNO> symbol, which
4653 indicates to the C program that <net/errno.h> exists and should
4656 =item C<i_netinettcp>
4658 From F<i_netinettcp.U>:
4660 This variable conditionally defines the C<I_NETINET_TCP> symbol,
4661 and indicates whether a C program should include <netinet/tcp.h>.
4667 This variable conditionally defines C<I_NETINET_IN>, which indicates
4668 to the C program that it should include <netinet/in.h>. Otherwise,
4669 you may try <sys/in.h>.
4675 This variable conditionally defines the C<I_POLL> symbol, and indicates
4676 whether a C program should include <poll.h>.
4682 This variable conditionally defines the C<I_PROT> symbol, and indicates
4683 whether a C program should include <prot.h>.
4687 From F<i_pthread.U>:
4689 This variable conditionally defines the C<I_PTHREAD> symbol,
4690 and indicates whether a C program should include <pthread.h>.
4696 This variable conditionally defines C<I_PWD>, which indicates
4697 to the C program that it should include <pwd.h>.
4699 =item C<i_rpcsvcdbm>
4703 This variable conditionally defines the C<I_RPCSVC_DBM> symbol, which
4704 indicates to the C program that <rpcsvc/dbm.h> exists and should
4705 be included. Some System V systems might need this instead of <dbm.h>.
4711 This variable conditionally defines the C<I_SFIO> symbol,
4712 and indicates whether a C program should include <sfio.h>.
4718 This variable conditionally defines the C<I_SGTTY> symbol, which
4719 indicates to the C program that it should include <sgtty.h> rather
4726 This variable conditionally defines the C<I_SHADOW> symbol, and indicates
4727 whether a C program should include <shadow.h>.
4733 This variable conditionally defines the C<I_SOCKS> symbol, and indicates
4734 whether a C program should include <socks.h>.
4740 This variable conditionally defines the C<I_STDARG> symbol, which
4741 indicates to the C program that <stdarg.h> exists and should
4748 This variable conditionally defines the C<I_STDDEF> symbol, which
4749 indicates to the C program that <stddef.h> exists and should
4756 This variable conditionally defines the C<I_STDLIB> symbol, which
4757 indicates to the C program that <stdlib.h> exists and should
4764 This variable conditionally defines the C<I_STRING> symbol, which
4765 indicates that <string.h> should be included rather than <strings.h>.
4769 From F<i_sunmath.U>:
4771 This variable conditionally defines the C<I_SUNMATH> symbol, and indicates
4772 whether a C program should include <sunmath.h>.
4774 =item C<i_sysaccess>
4776 From F<i_sysaccess.U>:
4778 This variable conditionally defines the C<I_SYS_ACCESS> symbol,
4779 and indicates whether a C program should include <sys/access.h>.
4785 This variable conditionally defines the C<I_SYS_DIR> symbol, and indicates
4786 whether a C program should include <sys/dir.h>.
4790 From F<i_sysfile.U>:
4792 This variable conditionally defines the C<I_SYS_FILE> symbol, and indicates
4793 whether a C program should include <sys/file.h> to get C<R_OK> and friends.
4797 From F<i_sysioctl.U>:
4799 This variable conditionally defines the C<I_SYS_FILIO> symbol, which
4800 indicates to the C program that <sys/filio.h> exists and should
4801 be included in preference to <sys/ioctl.h>.
4807 This variable conditionally defines C<I_SYS_IN>, which indicates
4808 to the C program that it should include <sys/in.h> instead of
4813 From F<i_sysioctl.U>:
4815 This variable conditionally defines the C<I_SYS_IOCTL> symbol, which
4816 indicates to the C program that <sys/ioctl.h> exists and should
4823 This variable conditionally defines the C<I_SYSLOG> symbol,
4824 and indicates whether a C program should include <syslog.h>.
4828 From F<i_sysmman.U>:
4830 This variable conditionally defines the C<I_SYS_MMAN> symbol, and
4831 indicates whether a C program should include <sys/mman.h>.
4835 From F<i_sysmode.U>:
4837 This variable conditionally defines the C<I_SYSMODE> symbol,
4838 and indicates whether a C program should include <sys/mode.h>.
4842 From F<i_sysmount.U>:
4844 This variable conditionally defines the C<I_SYSMOUNT> symbol,
4845 and indicates whether a C program should include <sys/mount.h>.
4849 From F<i_sysndir.U>:
4851 This variable conditionally defines the C<I_SYS_NDIR> symbol, and indicates
4852 whether a C program should include <sys/ndir.h>.
4856 From F<i_sysparam.U>:
4858 This variable conditionally defines the C<I_SYS_PARAM> symbol, and indicates
4859 whether a C program should include <sys/param.h>.
4863 From F<i_sysresrc.U>:
4865 This variable conditionally defines the C<I_SYS_RESOURCE> symbol,
4866 and indicates whether a C program should include <sys/resource.h>.
4870 From F<i_syssecrt.U>:
4872 This variable conditionally defines the C<I_SYS_SECURITY> symbol,
4873 and indicates whether a C program should include <sys/security.h>.
4877 From F<i_sysselct.U>:
4879 This variable conditionally defines C<I_SYS_SELECT>, which indicates
4880 to the C program that it should include <sys/select.h> in order to
4881 get the definition of struct timeval.
4883 =item C<i_syssockio>
4885 From F<i_sysioctl.U>:
4887 This variable conditionally defines C<I_SYS_SOCKIO> to indicate to the
4888 C program that socket ioctl codes may be found in <sys/sockio.h>
4889 instead of <sys/ioctl.h>.
4893 From F<i_sysstat.U>:
4895 This variable conditionally defines the C<I_SYS_STAT> symbol,
4896 and indicates whether a C program should include <sys/stat.h>.
4898 =item C<i_sysstatfs>
4900 From F<i_sysstatfs.U>:
4902 This variable conditionally defines the C<I_SYSSTATFS> symbol,
4903 and indicates whether a C program should include <sys/statfs.h>.
4905 =item C<i_sysstatvfs>
4907 From F<i_sysstatvfs.U>:
4909 This variable conditionally defines the C<I_SYSSTATVFS> symbol,
4910 and indicates whether a C program should include <sys/statvfs.h>.
4916 This variable conditionally defines C<I_SYS_TIME>, which indicates
4917 to the C program that it should include <sys/time.h>.
4923 This variable conditionally defines C<I_SYS_TIME_KERNEL>, which
4924 indicates to the C program that it should include <sys/time.h>
4925 with C<KERNEL> defined.
4929 From F<i_systimes.U>:
4931 This variable conditionally defines the C<I_SYS_TIMES> symbol, and indicates
4932 whether a C program should include <sys/times.h>.
4936 From F<i_systypes.U>:
4938 This variable conditionally defines the C<I_SYS_TYPES> symbol,
4939 and indicates whether a C program should include <sys/types.h>.
4945 This variable conditionally defines the C<I_SYSUIO> symbol, and indicates
4946 whether a C program should include <sys/uio.h>.
4952 This variable conditionally defines C<I_SYS_UN>, which indicates
4953 to the C program that it should include <sys/un.h> to get C<UNIX>
4954 domain socket definitions.
4956 =item C<i_sysutsname>
4958 From F<i_sysutsname.U>:
4960 This variable conditionally defines the C<I_SYSUTSNAME> symbol,
4961 and indicates whether a C program should include <sys/utsname.h>.
4967 This variable conditionally defines the C<I_SYSVFS> symbol,
4968 and indicates whether a C program should include <sys/vfs.h>.
4972 From F<i_syswait.U>:
4974 This variable conditionally defines C<I_SYS_WAIT>, which indicates
4975 to the C program that it should include <sys/wait.h>.
4981 This variable conditionally defines the C<I_TERMIO> symbol, which
4982 indicates to the C program that it should include <termio.h> rather
4989 This variable conditionally defines the C<I_TERMIOS> symbol, which
4990 indicates to the C program that the C<POSIX> <termios.h> file is
4997 This variable conditionally defines C<I_TIME>, which indicates
4998 to the C program that it should include <time.h>.
5004 This variable conditionally defines the C<I_UNISTD> symbol, and indicates
5005 whether a C program should include <unistd.h>.
5011 This variable conditionally defines the C<I_USTAT> symbol, and indicates
5012 whether a C program should include <ustat.h>.
5018 This variable conditionally defines the C<I_UTIME> symbol, and indicates
5019 whether a C program should include <utime.h>.
5025 This variable conditionally defines the C<I_VALUES> symbol, and indicates
5026 whether a C program may include <values.h> to get symbols like C<MAXLONG>
5033 This variable conditionally defines C<I_VARARGS>, which indicates
5034 to the C program that it should include <varargs.h>.
5040 Contains the name of the header to be included to get va_dcl definition.
5041 Typically one of F<varargs.h> or F<stdarg.h>.
5047 This variable conditionally defines the C<I_VFORK> symbol, and indicates
5048 whether a C program should include F<vfork.h>.
5050 =item C<ignore_versioned_solibs>
5054 This variable should be non-empty if non-versioned shared
5055 libraries (F<libfoo.so.x.y>) are to be ignored (because they
5056 cannot be linked against).
5058 =item C<inc_version_list>
5060 From F<inc_version_list.U>:
5062 This variable specifies the list of subdirectories in over
5063 which F<perl.c>:incpush() and F<lib/lib.pm> will automatically
5064 search when adding directories to @C<INC>. The elements in
5065 the list are separated by spaces. This is only useful
5066 if you have a perl library directory tree structured like the
5067 default one. See C<INSTALL> for how this works. The versioned
5068 site_perl directory was introduced in 5.005, so that is the
5069 lowest possible value.
5071 =item C<inc_version_list_init>
5073 From F<inc_version_list.U>:
5075 This variable holds the same list as inc_version_list, but
5076 each item is enclosed in double quotes and separated by commas,
5077 suitable for use in the C<PERL_INC_VERSION_LIST> initialization.
5083 This variable must preceed the normal include path to get hte
5084 right one, as in F<$F<incpath/usr/include>> or F<$F<incpath/usr/lib>>.
5085 Value can be "" or F</bsd43> on mips.
5091 This variable is defined but not used by Configure.
5092 The value is a plain '' and is not useful.
5094 =item C<installarchlib>
5098 This variable is really the same as archlibexp but may differ on
5099 those systems using C<AFS>. For extra portability, only this variable
5100 should be used in makefiles.
5106 This variable is the same as binexp unless C<AFS> is running in which case
5107 the user is explicitely prompted for it. This variable should always
5108 be used in your makefiles for maximum portability.
5110 =item C<installman1dir>
5114 This variable is really the same as man1direxp, unless you are using
5115 C<AFS> in which case it points to the F<read/write> location whereas
5116 man1direxp only points to the read-only access location. For extra
5117 portability, you should only use this variable within your makefiles.
5119 =item C<installman3dir>
5123 This variable is really the same as man3direxp, unless you are using
5124 C<AFS> in which case it points to the F<read/write> location whereas
5125 man3direxp only points to the read-only access location. For extra
5126 portability, you should only use this variable within your makefiles.
5128 =item C<installprefix>
5130 From F<installprefix.U>:
5132 This variable holds the name of the directory below which
5133 "make install" will install the package. For most users, this
5134 is the same as prefix. However, it is useful for
5135 installing the software into a different (usually temporary)
5136 location after which it can be bundled up and moved somehow
5137 to the final location specified by prefix.
5139 =item C<installprefixexp>
5141 From F<installprefix.U>:
5143 This variable holds the full absolute path of installprefix
5144 with all F<~>-expansion done.
5146 =item C<installprivlib>
5150 This variable is really the same as privlibexp but may differ on
5151 those systems using C<AFS>. For extra portability, only this variable
5152 should be used in makefiles.
5154 =item C<installscript>
5156 From F<scriptdir.U>:
5158 This variable is usually the same as scriptdirexp, unless you are on
5159 a system running C<AFS>, in which case they may differ slightly. You
5160 should always use this variable within your makefiles for portability.
5162 =item C<installsitearch>
5166 This variable is really the same as sitearchexp but may differ on
5167 those systems using C<AFS>. For extra portability, only this variable
5168 should be used in makefiles.
5170 =item C<installsitebin>
5174 This variable is usually the same as sitebinexp, unless you are on
5175 a system running C<AFS>, in which case they may differ slightly. You
5176 should always use this variable within your makefiles for portability.
5178 =item C<installsitelib>
5182 This variable is really the same as sitelibexp but may differ on
5183 those systems using C<AFS>. For extra portability, only this variable
5184 should be used in makefiles.
5186 =item C<installstyle>
5188 From F<installstyle.U>:
5190 This variable describes the C<style> of the perl installation.
5191 This is intended to be useful for tools that need to
5192 manipulate entire perl distributions. Perl itself doesn't use
5193 this to find its libraries -- the library directories are
5194 stored directly in F<Config.pm>. Currently, there are only two
5195 styles: C<lib> and F<lib/perl5>. The default library locations
5196 (e.g. privlib, sitelib) are either $F<prefix/lib> or
5197 $F<prefix/lib/perl5>. The former is useful if $prefix is a
5198 directory dedicated to perl (e.g. F</opt/perl>), while the latter
5199 is useful if $prefix is shared by many packages, e.g. if
5200 $prefix=F</usr/local>.
5202 This may later be extended to include other information, so
5204 be careful with pattern-matching on the results.
5206 For compatibility with F<perl5.005> and earlier, the default
5208 setting is based on whether or not $prefix contains the string
5211 =item C<installusrbinperl>
5213 From F<instubperl.U>:
5215 This variable tells whether Perl should be installed also as
5216 F</usr/bin/perl> in addition to
5219 =item C<installvendorarch>
5221 From F<vendorarch.U>:
5223 This variable is really the same as vendorarchexp but may differ on
5224 those systems using C<AFS>. For extra portability, only this variable
5225 should be used in makefiles.
5227 =item C<installvendorbin>
5229 From F<vendorbin.U>:
5231 This variable is really the same as vendorbinexp but may differ on
5232 those systems using C<AFS>. For extra portability, only this variable
5233 should be used in makefiles.
5235 =item C<installvendorlib>
5237 From F<vendorlib.U>:
5239 This variable is really the same as vendorlibexp but may differ on
5240 those systems using C<AFS>. For extra portability, only this variable
5241 should be used in makefiles.
5247 This variable contains the value of the C<INTSIZE> symbol, which
5248 indicates to the C program how many bytes there are in an int.
5252 From F<issymlink.U>:
5254 This variable holds the test command to test for a symbolic link
5255 (if they are supported). Typical values include C<test -h> and
5262 This variable contains the format string used for printing
5263 a Perl C<IV> as a signed decimal integer.
5269 This variable is the size of an C<IV> in bytes.
5275 This variable contains the C type used for Perl's C<IV>.
5283 =item C<known_extensions>
5285 From F<Extensions.U>:
5287 This variable holds a list of all C<XS> extensions included in
5294 This variable is defined but not used by Configure.
5295 The value is a plain '' and is not useful.
5307 This variable indicates the program to be used to link
5308 libraries for dynamic loading. On some systems, it is C<ld>.
5309 On C<ELF> systems, it should be $cc. Mostly, we'll try to respect
5310 the hint file setting.
5316 This variable contains any special flags that might need to be
5317 passed to $ld to create a shared library suitable for dynamic
5318 loading. It is up to the makefile to use it. For hpux, it
5319 should be C<-b>. For sunos 4.1, it is empty.
5325 This variable contains any additional C loader flags desired by
5326 the user. It is up to the Makefile to use this.
5328 =item C<ldflags_uselargefiles>
5332 This variable contains the loader flags needed by large file builds
5333 and added to ldflags by hints files.
5335 =item C<ldlibpthname>
5339 This variable holds the name of the shared library
5340 search path, often C<LD_LIBRARY_PATH>. To get an empty
5341 string, the hints file must set this to C<none>.
5347 This variable is used internally by Configure to determine the
5348 full pathname (if any) of the less program. After Configure runs,
5349 the value is reset to a plain C<less> and is not useful.
5355 This is an old synonym for _a.
5361 This variable contains the location of the C library.
5367 The perl executable is obtained by linking F<perlmain.c> with
5368 libperl, any static extensions (usually just DynaLoader),
5369 and any other libraries needed on this system. libperl
5370 is usually F<libperl.a>, but can also be F<libperl.so.xxx> if
5371 the user wishes to build a perl executable with a shared
5378 This variable holds the general path (space-separated) used to find
5379 libraries. It is intended to be used by other units.
5385 This variable holds the additional libraries we want to use.
5386 It is up to the Makefile to deal with it.
5392 This variable holds the directory names aka dirnames of the libraries
5393 we found and accepted, duplicates are removed.
5399 This variable holds the filenames aka basenames of the libraries
5400 we found and accepted.
5406 This variable holds the full pathnames of the libraries
5407 we found and accepted.
5413 This variable holds the directory names probed for libraries.
5419 This variable holds a list of all the libraries we want to
5420 search. The order is chosen to pick up the c library
5421 ahead of ucb or bsd libraries for SVR4.
5423 =item C<libswanted_uselargefiles>
5427 This variable contains the libraries needed by large file builds
5428 and added to ldflags by hints files. It is a space separated list
5429 of the library names without the C<lib> prefix or any suffix, just
5430 like F<libswanted.>.
5436 This variable is defined but not used by Configure.
5437 The value is a plain '' and is not useful.
5443 This variable is defined but not used by Configure.
5444 The value is a plain '' and is not useful.
5450 This variable contains any additional C partial linker flags desired by
5451 the user. It is up to the Makefile to use this.
5457 This variable is used internally by Configure to determine the
5458 full pathname (if any) of the ln program. After Configure runs,
5459 the value is reset to a plain C<ln> and is not useful.
5465 This variable holds the name of the command to make
5466 symbolic links (if they are supported). It can be used
5467 in the Makefile. It is either C<ln -s> or C<ln>
5473 This variable contains a list of additional directories to be
5474 searched by the compiler. The appropriate C<-I> directives will
5475 be added to ccflags. This is intended to simplify setting
5476 local directories from the Configure command line.
5477 It's not much, but it parallels the loclibpth stuff in F<libpth.U>.
5483 This variable holds the paths (space-separated) used to find local
5484 libraries. It is prepended to libpth, and is intended to be easily
5485 set from the command line.
5487 =item C<longdblsize>
5489 From F<d_longdbl.U>:
5491 This variable contains the value of the C<LONG_DOUBLESIZE> symbol, which
5492 indicates to the C program how many bytes there are in a long double,
5493 if this system supports long doubles.
5495 =item C<longlongsize>
5497 From F<d_longlong.U>:
5499 This variable contains the value of the C<LONGLONGSIZE> symbol, which
5500 indicates to the C program how many bytes there are in a long long,
5501 if this system supports long long.
5507 This variable contains the value of the C<LONGSIZE> symbol, which
5508 indicates to the C program how many bytes there are in a long.
5514 This variable is defined but not used by Configure.
5515 The value is a plain '' and is not useful.
5521 This variable is defined but not used by Configure.
5522 The value is a plain '' and is not useful.
5528 This variable is used internally by Configure to determine the
5529 full pathname (if any) of the ls program. After Configure runs,
5530 the value is reset to a plain C<ls> and is not useful.
5534 From F<lseektype.U>:
5536 This variable defines lseektype to be something like off_t, long,
5537 or whatever type is used to declare lseek offset's type in the
5538 kernel (which also appears to be lseek's return type).
5542 From F<lseektype.U>:
5544 This variable defines lseektype to be something like off_t, long,
5545 or whatever type is used to declare lseek offset's type in the
5546 kernel (which also appears to be lseek's return type).
5558 This variable is defined but not used by Configure.
5559 The value is a plain '' and is not useful.
5565 This variable is defined but not used by Configure.
5566 The value is a plain '' and is not useful.
5572 This variable is used internally by Configure to determine the
5573 full pathname (if any) of the make program. After Configure runs,
5574 the value is reset to a plain C<make> and is not useful.
5576 =item C<make_set_make>
5580 Some versions of C<make> set the variable C<MAKE>. Others do not.
5581 This variable contains the string to be included in F<Makefile.SH>
5582 so that C<MAKE> is set if needed, and not if not needed.
5583 Possible values are:
5584 make_set_make=C<#> # If your make program handles this for you,
5585 make_set_make=C<MAKE=$make> # if it doesn't.
5586 I used a comment character so that we can distinguish a
5587 C<set> value (from a previous F<config.sh> or Configure C<-D> option)
5588 from an uncomputed value.
5592 From F<mallocsrc.U>:
5594 This variable contains the name of the F<malloc.o> that this package
5595 generates, if that F<malloc.o> is preferred over the system malloc.
5596 Otherwise the value is null. This variable is intended for generating
5597 Makefiles. See mallocsrc.
5601 From F<mallocsrc.U>:
5603 This variable contains the name of the F<malloc.c> that comes with
5604 the package, if that F<malloc.c> is preferred over the system malloc.
5605 Otherwise the value is null. This variable is intended for generating
5610 From F<mallocsrc.U>:
5612 This variable contains the kind of ptr returned by malloc and realloc.
5618 This variable contains the name of the directory in which manual
5619 source pages are to be put. It is the responsibility of the
5620 F<Makefile.SH> to get the value of this into the proper command.
5621 You must be prepared to do the F<~name> expansion yourself.
5627 This variable is the same as the man1dir variable, but is filename
5628 expanded at configuration time, for convenient use in makefiles.
5634 This variable contains the extension that the manual page should
5635 have: one of C<n>, C<l>, or C<1>. The Makefile must supply the F<.>.
5642 This variable contains the name of the directory in which manual
5643 source pages are to be put. It is the responsibility of the
5644 F<Makefile.SH> to get the value of this into the proper command.
5645 You must be prepared to do the F<~name> expansion yourself.
5651 This variable is the same as the man3dir variable, but is filename
5652 expanded at configuration time, for convenient use in makefiles.
5658 This variable contains the extension that the manual page should
5659 have: one of C<n>, C<l>, or C<3>. The Makefile must supply the F<.>.
5672 This variable is used internally by Configure to determine the
5673 full pathname (if any) of the Mcc program. After Configure runs,
5674 the value is reset to a plain C<Mcc> and is not useful.
5680 This variable holds the environment type for the mips system.
5681 Possible values are "BSD 4.3" and "System V".
5687 This variable is used internally by Configure to determine the
5688 full pathname (if any) of the mkdir program. After Configure runs,
5689 the value is reset to a plain C<mkdir> and is not useful.
5695 This symbol contains the type of pointer returned by mmap()
5696 (and simultaneously the type of the first argument).
5697 It can be C<void *> or C<caddr_t>.
5703 This variable defines modetype to be something like mode_t,
5704 int, unsigned short, or whatever type is used to declare file
5705 modes for system calls.
5711 This variable is used internally by Configure to determine the
5712 full pathname (if any) of the more program. After Configure runs,
5713 the value is reset to a plain C<more> and is not useful.
5717 From F<multiarch.U>:
5719 This variable conditionally defines the C<MULTIARCH> symbol
5720 which signifies the presence of multiplatform files.
5721 This is normally set by hints files.
5727 This variable is defined but not used by Configure.
5728 The value is a plain '' and is not useful.
5734 This variable holds the architecture name computed by Configure in
5735 a previous run. It is not intended to be perused by any user and
5736 should never be set in a hint file.
5740 From F<myhostname.U>:
5742 This variable contains the eventual value of the C<MYDOMAIN> symbol,
5743 which is the domain of the host the program is going to run on.
5744 The domain must be appended to myhostname to form a complete host name.
5745 The dot comes with mydomain, and need not be supplied by the program.
5749 From F<myhostname.U>:
5751 This variable contains the eventual value of the C<MYHOSTNAME> symbol,
5752 which is the name of the host the program is going to run on.
5753 The domain is not kept with hostname, but must be gotten from mydomain.
5754 The dot comes with mydomain, and need not be supplied by the program.
5758 From F<Oldconfig.U>:
5760 The output of C<uname -a> if available, otherwise the hostname. On Xenix,
5761 pseudo variables assignments in the output are stripped, thank you. The
5762 whole thing is then lower-cased.
5774 This variable contains the C<-n> flag if that is what causes the echo
5775 command to suppress newline. Otherwise it is null. Correct usage is
5776 $echo $n "prompt for a question: $c".
5778 =item C<need_va_copy>
5780 From F<need_va_copy.U>:
5782 This symbol, if defined, indicates that the system stores
5783 the variable argument list datatype, va_list, in a format
5784 that cannot be copied by simple assignment, so that some
5785 other means must be used when copying is required.
5786 As such systems vary in their provision (or non-provision)
5787 of copying mechanisms, F<handy.h> defines a platform-
5788 C<independent> macro, Perl_va_copy(src, dst), to do the job.
5790 =item C<netdb_hlen_type>
5792 From F<netdbtype.U>:
5794 This variable holds the type used for the 2nd argument to
5795 gethostbyaddr(). Usually, this is int or size_t or unsigned.
5796 This is only useful if you have gethostbyaddr(), naturally.
5798 =item C<netdb_host_type>
5800 From F<netdbtype.U>:
5802 This variable holds the type used for the 1st argument to
5803 gethostbyaddr(). Usually, this is char * or void *, possibly
5804 with or without a const prefix.
5805 This is only useful if you have gethostbyaddr(), naturally.
5807 =item C<netdb_name_type>
5809 From F<netdbtype.U>:
5811 This variable holds the type used for the argument to
5812 gethostbyname(). Usually, this is char * or const char *.
5813 This is only useful if you have gethostbyname(), naturally.
5815 =item C<netdb_net_type>
5817 From F<netdbtype.U>:
5819 This variable holds the type used for the 1st argument to
5820 getnetbyaddr(). Usually, this is int or long.
5821 This is only useful if you have getnetbyaddr(), naturally.
5827 This variable is used internally by Configure to determine the
5828 full pathname (if any) of the nm program. After Configure runs,
5829 the value is reset to a plain C<nm> and is not useful.
5835 This variable holds the options that may be necessary for nm.
5841 This variable holds the options that may be necessary for nm
5842 to work on a shared library but that can not be used on an
5843 archive library. Currently, this is only used by Linux, where
5844 nm --dynamic is *required* to get symbols from an C<ELF> library which
5845 has been stripped, but nm --dynamic is *fatal* on an archive library.
5846 Maybe Linux should just always set usenm=false.
5850 From F<Extensions.U>:
5852 This variable holds a list of all non-xs extensions included
5853 in the package. All of them will be built.
5859 This variable is used internally by Configure to determine the
5860 full pathname (if any) of the nroff program. After Configure runs,
5861 the value is reset to a plain C<nroff> and is not useful.
5867 This variable contains the format string used for printing
5868 a Perl C<NV> using %e-ish floating point format.
5874 This variable contains the format string used for printing
5875 a Perl C<NV> using %E-ish floating point format.
5881 This variable confains the format string used for printing
5882 a Perl C<NV> using %f-ish floating point format.
5888 This variable confains the format string used for printing
5889 a Perl C<NV> using %F-ish floating point format.
5895 This variable contains the format string used for printing
5896 a Perl C<NV> using %g-ish floating point format.
5902 This variable contains the format string used for printing
5903 a Perl C<NV> using %G-ish floating point format.
5909 This variable is the size of an C<NV> in bytes.
5915 This variable contains the C type used for Perl's C<NV>.
5925 From F<nblock_io.U>:
5927 This variable bears the symbol value to be used during open() or fcntl()
5928 to turn on non-blocking F<I/O> for a file descriptor. If you wish to switch
5929 between blocking and non-blocking, you may try ioctl(C<FIOSNBIO>) instead,
5930 but that is only supported by some devices.
5936 This is an old synonym for _o.
5938 =item C<old_pthread_create_joinable>
5940 From F<d_pthrattrj.U>:
5942 This variable defines the constant to use for creating joinable
5943 (aka undetached) pthreads. Unused if F<pthread.h> defines
5944 C<PTHREAD_CREATE_JOINABLE>. If used, possible values are
5945 C<PTHREAD_CREATE_UNDETACHED> and C<__UNDETACHED>.
5951 This variable contains any F<optimizer/debugger> flag that should be used.
5952 It is up to the Makefile to use it.
5958 This variable is C<true> if the components of libraries must be ordered
5959 (with `lorder $* | tsort`) before placing them in an archive. Set to
5960 C<false> if ranlib or ar can generate random libraries.
5964 From F<Oldconfig.U>:
5966 This variable contains the operating system name (e.g. sunos,
5967 solaris, hpux, F<etc.>). It can be useful later on for setting
5968 defaults. Any spaces are replaced with underscores. It is set
5969 to a null string if we can't figure it out.
5973 From F<Oldconfig.U>:
5975 This variable contains the operating system version (e.g.
5976 4.1.3, 5.2, F<etc.>). It is primarily used for helping select
5977 an appropriate hints file, but might be useful elsewhere for
5978 setting defaults. It is set to '' if we can't figure it out.
5979 We try to be flexible about how much of the version number
5980 to keep, e.g. if 4.1.1, 4.1.2, and 4.1.3 are essentially the
5981 same for this package, hints files might just be F<os_4.0> or
5982 F<os_4.1>, F<etc.>, not keeping separate files for each little release.
5984 =item C<otherlibdirs>
5986 From F<otherlibdirs.U>:
5988 This variable contains a colon-separated set of paths for the perl
5989 binary to search for additional library files or modules.
5990 These directories will be tacked to the end of @C<INC>.
5991 Perl will automatically search below each path for version-
5992 and architecture-specific directories. See inc_version_list
5994 A value of C< > means C<none> and is used to preserve this value
5995 for the next run through Configure.
6007 This variable contains the name of the package being constructed.
6008 It is primarily intended for the use of later Configure units.
6014 This variable contains the name of the preferred pager on the system.
6015 Usual values are (the full pathnames of) more, less, pg, or cat.
6021 This variable contains a command that produces the text of the
6022 F</etc/passwd> file. This is normally "cat F</etc/passwd>", but can be
6023 "ypcat passwd" when C<NIS> is used.
6024 On some systems, such as os390, there may be no equivalent
6025 command, in which case this variable is unset.
6029 From F<patchlevel.U>:
6031 The patchlevel level of this package.
6032 The value of patchlevel comes from the F<patchlevel.h> file.
6033 In a version number such as 5.6.1, this is the C<6>.
6034 In F<patchlevel.h>, this is referred to as C<PERL_VERSION>.
6040 This is an old synonym for p_ in F<Head.U>, the character
6041 used to separate elements in the command shell search C<PATH>.
6047 This variable contains the full path (if any) to a previously
6048 installed F<perl5.005> or later suitable for running the script
6049 to determine inc_version_list.
6055 This variable is defined but not used by Configure.
6056 The value is a plain '' and is not useful.
6064 =item C<PERL_REVISION>
6068 In a Perl version number such as 5.6.2, this is the 5.
6069 This value is manually set in F<patchlevel.h>
6071 =item C<PERL_SUBVERSION>
6075 In a Perl version number such as 5.6.2, this is the 2.
6076 Values greater than 50 represent potentially unstable
6077 development subversions.
6078 This value is manually set in F<patchlevel.h>
6080 =item C<PERL_VERSION>
6084 In a Perl version number such as 5.6.2, this is the 6.
6085 This value is manually set in F<patchlevel.h>
6089 From F<perladmin.U>:
6091 Electronic mail address of the perl5 administrator.
6097 The list of libraries needed by Perl only (any libraries needed
6098 by extensions only will by dropped, if using dynamic loading).
6104 This variable contains the eventual value of the C<PERLPATH> symbol,
6105 which contains the name of the perl interpreter to be used in
6106 shell scripts and in the "eval C<exec>" idiom.
6112 This variable is used internally by Configure to determine the
6113 full pathname (if any) of the pg program. After Configure runs,
6114 the value is reset to a plain C<pg> and is not useful.
6118 From F<myhostname.U>:
6120 This variable contains the eventual value of the C<PHOSTNAME> symbol,
6121 which is a command that can be fed to popen() to get the host name.
6122 The program should probably not presume that the domain is or isn't
6129 This variable defines C<PIDTYPE> to be something like pid_t, int,
6130 ushort, or whatever type is used to declare process ids in the kernel.
6136 Holds the private path used by Configure to find out the libraries.
6137 Its value is prepend to libpth. This variable takes care of special
6138 machines, like the mips. Usually, it should be empty.
6140 =item C<pm_apiversion>
6142 From F<xs_apiversion.U>:
6144 This variable contains the version of the oldest perl
6145 compatible with the present perl. (That is, pure perl modules
6146 written for $pm_apiversion will still work for the current
6147 version). F<perl.c>:incpush() and F<lib/lib.pm> will automatically
6148 search in $sitelib for older directories across major versions
6149 back to pm_apiversion. This is only useful if you have a perl
6150 library directory tree structured like the default one. The
6151 versioned site_perl library was introduced in 5.005, so that's
6152 the default setting for this variable. It's hard to imagine
6153 it changing before Perl6. It is included here for symmetry
6154 with xs_apiveprsion -- the searching algorithms will
6155 (presumably) be similar.
6156 See the C<INSTALL> file for how this works.
6162 This variable is defined but not used by Configure.
6163 The value is a plain '' and is not useful.
6169 This variable is defined but not used by Configure.
6170 The value is a plain '' and is not useful.
6176 This variable holds the name of the directory below which the
6177 user will install the package. Usually, this is F</usr/local>, and
6178 executables go in F</usr/local/bin>, library stuff in F</usr/local/lib>,
6179 man pages in F</usr/local/man>, etc. It is only used to set defaults
6180 for things in F<bin.U>, F<mansrc.U>, F<privlib.U>, or F<scriptdir.U>.
6186 This variable holds the full absolute path of the directory below
6187 which the user will install the package. Derived from prefix.
6193 This variable contains the eventual value of the C<PRIVLIB> symbol,
6194 which is the name of the private library for this package. It may
6195 have a F<~> on the front. It is up to the makefile to eventually create
6196 this directory while performing installation (with F<~> substitution).
6202 This variable is the F<~name> expanded version of privlib, so that you
6203 may use it directly in Makefiles or shell scripts.
6207 From F<prototype.U>:
6209 This variable holds the eventual value of C<CAN_PROTOTYPE>, which
6210 indicates the C compiler can handle funciton prototypes.
6216 This variable contains the value of the C<PTRSIZE> symbol, which
6217 indicates to the C program how many bytes there are in a pointer.
6229 This variable, if defined, encodes the type of a quad:
6230 1 = int, 2 = long, 3 = long long, 4 = int64_t.
6236 This variable defines Quad_t to be something like long, int,
6237 long long, int64_t, or whatever type is used for 64-bit integers.
6249 Indicates how many bits are produced by the function used to
6250 generate normalized random numbers.
6256 Indicates the name of the random number function to use.
6257 Values include drand48, random, and rand. In C programs,
6258 the C<Drand01> macro is defined to generate uniformly distributed
6259 random numbers over the range [0., 1.[ (see drand01 and nrand).
6261 =item C<randseedtype>
6265 Indicates the type of the argument of the seedfunc.
6271 This variable is set to the pathname of the ranlib program, if it is
6272 needed to generate random libraries. Set to C<:> if ar can generate
6273 random libraries or if random libraries are not supported
6277 From F<nblock_io.U>:
6279 This variable holds the return code from read() when no data is
6280 present. It should be -1, but some systems return 0 when C<O_NDELAY> is
6281 used, which is a shame because you cannot make the difference between
6282 no data and an F<EOF.>. Sigh!
6286 From F<patchlevel.U>:
6288 The value of revision comes from the F<patchlevel.h> file.
6289 In a version number such as 5.6.1, this is the C<5>.
6290 In F<patchlevel.h>, this is referred to as C<PERL_REVISION>.
6296 This variable is used internally by Configure to determine the
6297 full pathname (if any) of the rm program. After Configure runs,
6298 the value is reset to a plain C<rm> and is not useful.
6304 This variable is defined but not used by Configure.
6305 The value is a plain '' and is not useful.
6311 This variable contains C<true> or C<false> depending whether the
6312 nm extraction should be performed or not, according to the value
6313 of usenm and the flags on the Configure command line.
6321 =item C<sched_yield>
6323 From F<d_pthread_y.U>:
6325 This variable defines the way to yield the execution
6326 of the current thread.
6330 From F<scriptdir.U>:
6332 This variable holds the name of the directory in which the user wants
6333 to put publicly scripts for the package in question. It is either
6334 the same directory as for binaries, or a special one that can be
6335 mounted across different architectures, like F</usr/share>. Programs
6336 must be prepared to deal with F<~name> expansion.
6338 =item C<scriptdirexp>
6340 From F<scriptdir.U>:
6342 This variable is the same as scriptdir, but is filename expanded
6343 at configuration time, for programs not wanting to bother with it.
6349 This variable is used internally by Configure to determine the
6350 full pathname (if any) of the sed program. After Configure runs,
6351 the value is reset to a plain C<sed> and is not useful.
6357 Indicates the random number generating seed function.
6358 Values include srand48, srandom, and srand.
6360 =item C<selectminbits>
6362 From F<selectminbits.U>:
6364 This variable holds the minimum number of bits operated by select.
6365 That is, if you do select(n, ...), how many bits at least will be
6366 cleared in the masks if some activity is detected. Usually this
6367 is either n or 32*ceil(F<n/32>), especially many little-endians do
6368 the latter. This is only useful if you have select(), naturally.
6372 From F<selecttype.U>:
6374 This variable holds the type used for the 2nd, 3rd, and 4th
6375 arguments to select. Usually, this is C<fd_set *>, if C<HAS_FD_SET>
6376 is defined, and C<int *> otherwise. This is only useful if you
6377 have select(), naturally.
6383 This variable is defined but not used by Configure.
6384 The value is a plain '' and is not useful.
6390 This variable contains the full pathname of the shell used
6391 on this system to execute Bourne shell scripts. Usually, this will be
6392 F</bin/sh>, though it's possible that some systems will have F</bin/ksh>,
6393 F</bin/pdksh>, F</bin/ash>, F</bin/bash>, or even something such as
6395 This unit comes before F<Options.U>, so you can't set sh with a C<-D>
6396 option, though you can override this (and startsh)
6397 with C<-O -Dsh=F</bin/whatever> -Dstartsh=whatever>
6403 This variable is defined but not used by Configure.
6404 The value is a plain '' and is not useful.
6408 From F<spitshell.U>:
6410 This variable contains the string #! if this system supports that
6417 This symbol contains the type of pointer returned by shmat().
6418 It can be C<void *> or C<char *>.
6424 This variable contains the value of the C<SHORTSIZE> symbol which
6425 indicates to the C program how many bytes there are in a short.
6431 If the user builds a shared F<libperl.so>, then we need to tell the
6432 C<perl> executable where it will be able to find the installed F<libperl.so>.
6433 One way to do this on some systems is to set the environment variable
6434 C<LD_RUN_PATH> to the directory that will be the final location of the
6435 shared F<libperl.so>. The makefile can use this with something like
6436 $shrpenv $(C<CC>) -o perl F<perlmain.o> $libperl $libs
6438 shrpenv="env C<LD_RUN_PATH>=$F<archlibexp/C<CORE>>"
6441 See the main perl F<Makefile.SH> for actual working usage.
6442 Alternatively, we might be able to use a command line option such
6443 as -R $F<archlibexp/C<CORE>> (Solaris, NetBSD) or -Wl,-rpath
6444 $F<archlibexp/C<CORE>> (Linux).
6448 From F<spitshell.U>:
6450 This variable tells further Configure units whether your sh can
6457 This variable holds a number larger than the largest valid
6458 signal number. This is usually the same as the C<NSIG> macro.
6464 This variable holds the signal names, space separated. The leading
6465 C<SIG> in signal name is removed. A C<ZERO> is prepended to the
6466 list. This is currently not used.
6468 =item C<sig_name_init>
6472 This variable holds the signal names, enclosed in double quotes and
6473 separated by commas, suitable for use in the C<SIG_NAME> definition
6474 below. A C<ZERO> is prepended to the list, and the list is
6475 terminated with a plain 0. The leading C<SIG> in signal names
6476 is removed. See sig_num.
6482 This variable holds the signal numbers, space separated. A C<ZERO> is
6483 prepended to the list (corresponding to the fake C<SIGZERO>), and
6484 the list is terminated with a 0. Those numbers correspond to
6485 the value of the signal listed in the same place within the
6488 =item C<sig_num_init>
6492 This variable holds the signal numbers, enclosed in double quotes and
6493 separated by commas, suitable for use in the C<SIG_NUM> definition
6494 below. A C<ZERO> is prepended to the list, and the list is
6495 terminated with a plain 0.
6501 This variable contains the number of elements of the sig_name
6502 and sig_num arrays, excluding the final C<NULL> entry.
6506 From F<d_voidsig.U>:
6508 This variable holds the type of the signal handler (void or int).
6514 This variable contains the eventual value of the C<SITEARCH> symbol,
6515 which is the name of the private library for this package. It may
6516 have a F<~> on the front. It is up to the makefile to eventually create
6517 this directory while performing installation (with F<~> substitution).
6518 The standard distribution will put nothing in this directory.
6519 After perl has been installed, users may install their own local
6520 architecture-dependent modules in this directory with
6521 MakeMaker F<Makefile.PL>
6522 or equivalent. See C<INSTALL> for details.
6524 =item C<sitearchexp>
6528 This variable is the F<~name> expanded version of sitearch, so that you
6529 may use it directly in Makefiles or shell scripts.
6535 This variable holds the name of the directory in which the user wants
6536 to put add-on publicly executable files for the package in question. It
6537 is most often a local directory such as F</usr/local/bin>. Programs using
6538 this variable must be prepared to deal with F<~name> substitution.
6539 The standard distribution will put nothing in this directory.
6540 After perl has been installed, users may install their own local
6541 executables in this directory with
6542 MakeMaker F<Makefile.PL>
6543 or equivalent. See C<INSTALL> for details.
6549 This is the same as the sitebin variable, but is filename expanded at
6550 configuration time, for use in your makefiles.
6556 This variable contains the eventual value of the C<SITELIB> symbol,
6557 which is the name of the private library for this package. It may
6558 have a F<~> on the front. It is up to the makefile to eventually create
6559 this directory while performing installation (with F<~> substitution).
6560 The standard distribution will put nothing in this directory.
6561 After perl has been installed, users may install their own local
6562 architecture-independent modules in this directory with
6563 MakeMaker F<Makefile.PL>
6564 or equivalent. See C<INSTALL> for details.
6566 =item C<sitelib_stem>
6570 This variable is $sitelibexp with any trailing version-specific component
6571 removed. The elements in inc_version_list (F<inc_version_list.U>) can
6572 be tacked onto this variable to generate a list of directories to search.
6578 This variable is the F<~name> expanded version of sitelib, so that you
6579 may use it directly in Makefiles or shell scripts.
6583 From F<siteprefix.U>:
6585 This variable holds the full absolute path of the directory below
6586 which the user will install add-on packages.
6587 See C<INSTALL> for usage and examples.
6589 =item C<siteprefixexp>
6591 From F<siteprefix.U>:
6593 This variable holds the full absolute path of the directory below
6594 which the user will install add-on packages. Derived from siteprefix.
6600 This variable contains the size of a sizetype in bytes.
6606 This variable defines sizetype to be something like size_t,
6607 unsigned long, or whatever type is used to declare length
6608 parameters for string functions.
6614 This variable is defined but not used by Configure.
6615 The value is a plain '' and is not useful.
6621 This variable is defined but not used by Configure.
6622 The value is a plain '' and is not useful.
6628 This variable holds the extension used to identify shared libraries
6629 (also known as shared objects) on the system. Usually set to C<so>.
6635 This variable has any cpp C<-I> flags needed for socket support.
6641 This variable has the names of any libraries needed for socket support.
6643 =item C<socksizetype>
6645 From F<socksizetype.U>:
6647 This variable holds the type used for the size argument
6648 for various socket calls like accept. Usual values include
6649 socklen_t, size_t, and int.
6655 This variable is used internally by Configure to determine the
6656 full pathname (if any) of the sort program. After Configure runs,
6657 the value is reset to a plain C<sort> and is not useful.
6663 This variable contains the name of the package being constructed,
6664 with the first letter uppercased, F<i.e>. suitable for starting
6669 From F<spitshell.U>:
6671 This variable contains the command necessary to spit out a runnable
6672 shell on this system. It is either cat or a grep C<-v> for # comments.
6678 This variable, if defined, contains the string used by stdio to
6679 format 64-bit decimal numbers (format C<d>) for output.
6683 From F<longdblfio.U>:
6685 This variable, if defined, contains the string used by stdio to
6686 format long doubles (format C<e>) for output.
6690 From F<longdblfio.U>:
6692 This variable, if defined, contains the string used by stdio to
6693 format long doubles (format C<E>) for output.
6694 The C<U> in the name is to separate this from sPRIeldbl so that even
6695 case-blind systems can see the difference.
6699 From F<longdblfio.U>:
6701 This variable, if defined, contains the string used by stdio to
6702 format long doubles (format C<f>) for output.
6706 From F<longdblfio.U>:
6708 This variable, if defined, contains the string used by stdio to
6709 format long doubles (format C<F>) for output.
6710 The C<U> in the name is to separate this from sPRIfldbl so that even
6711 case-blind systems can see the difference.
6715 From F<longdblfio.U>:
6717 This variable, if defined, contains the string used by stdio to
6718 format long doubles (format C<g>) for output.
6722 From F<longdblfio.U>:
6724 This variable, if defined, contains the string used by stdio to
6725 format long doubles (format C<G>) for output.
6726 The C<U> in the name is to separate this from sPRIgldbl so that even
6727 case-blind systems can see the difference.
6733 This variable, if defined, contains the string used by stdio to
6734 format 64-bit decimal numbers (format C<i>) for output.
6740 This variable, if defined, contains the string used by stdio to
6741 format 64-bit octal numbers (format C<o>) for output.
6747 This variable, if defined, contains the string used by stdio to
6748 format 64-bit unsigned decimal numbers (format C<u>) for output.
6754 This variable, if defined, contains the string used by stdio to
6755 format 64-bit hexadecimal numbers (format C<x>) for output.
6761 This variable, if defined, contains the string used by stdio to
6762 format 64-bit hExADECimAl numbers (format C<X>) for output.
6763 The C<U> in the name is to separate this from sPRIx64 so that even
6764 case-blind systems can see the difference.
6770 This variable holds the path to the package source. It is up to
6771 the Makefile to use this variable and set C<VPATH> accordingly to
6772 find the sources remotely.
6776 From F<longdblfio.U>:
6778 This variable, if defined, contains the string used by stdio to
6779 format long doubles (format C<f>) for input.
6783 From F<ssizetype.U>:
6785 This variable defines ssizetype to be something like ssize_t,
6786 long or int. It is used by functions that return a count
6787 of bytes or an error condition. It must be a signed type.
6788 We will pick a type such that sizeof(SSize_t) == sizeof(Size_t).
6792 From F<startperl.U>:
6794 This variable contains the string to put on the front of a perl
6795 script to make sure (hopefully) that it runs with perl and not some
6796 shell. Of course, that leading line must be followed by the classical
6798 eval 'exec perl -S $0 ${1+C<$@>}'
6799 if $running_under_some_shell;
6800 to guarantee perl startup should the shell execute the script. Note
6801 that this magic incatation is not understood by csh.
6807 This variable contains the string to put on the front of a shell
6808 script to make sure (hopefully) that it runs with sh and not some
6813 From F<Extensions.U>:
6815 This variable holds a list of C<XS> extension files we want to
6816 link statically into the package. It is used by Makefile.
6822 This variable conditionally defines C<STDCHAR> to be the type of char
6823 used in F<stdio.h>. It has the values "unsigned char" or C<char>.
6827 From F<d_stdstdio.U>:
6829 This variable defines how, given a C<FILE> pointer, fp, to access the
6830 _base field (or equivalent) of F<stdio.h>'s C<FILE> structure. This will
6831 be used to define the macro FILE_base(fp).
6833 =item C<stdio_bufsiz>
6835 From F<d_stdstdio.U>:
6837 This variable defines how, given a C<FILE> pointer, fp, to determine
6838 the number of bytes store in the F<I/O> buffer pointer to by the
6839 _base field (or equivalent) of F<stdio.h>'s C<FILE> structure. This will
6840 be used to define the macro FILE_bufsiz(fp).
6844 From F<d_stdstdio.U>:
6846 This variable defines how, given a C<FILE> pointer, fp, to access the
6847 _cnt field (or equivalent) of F<stdio.h>'s C<FILE> structure. This will
6848 be used to define the macro FILE_cnt(fp).
6850 =item C<stdio_filbuf>
6852 From F<d_stdstdio.U>:
6854 This variable defines how, given a C<FILE> pointer, fp, to tell
6855 stdio to refill it's internal buffers (?). This will
6856 be used to define the macro FILE_filbuf(fp).
6860 From F<d_stdstdio.U>:
6862 This variable defines how, given a C<FILE> pointer, fp, to access the
6863 _ptr field (or equivalent) of F<stdio.h>'s C<FILE> structure. This will
6864 be used to define the macro FILE_ptr(fp).
6866 =item C<stdio_stream_array>
6868 From F<stdio_streams.U>:
6870 This variable tells the name of the array holding the stdio streams.
6871 Usual values include _iob, __iob, and __sF.
6877 This variable holds the full path of the string header that will be
6878 used. Typically F</usr/include/string.h> or F</usr/include/strings.h>.
6884 This variable is defined but not used by Configure.
6885 The value is a plain '' and is not useful.
6889 From F<patchlevel.U>:
6891 The subversion level of this package.
6892 The value of subversion comes from the F<patchlevel.h> file.
6893 In a version number such as 5.6.1, this is the C<1>.
6894 In F<patchlevel.h>, this is referred to as C<PERL_SUBVERSION>.
6895 This is unique to perl.
6901 This variable holds the place where the manual is located on this
6902 system. It is not the place where the user wants to put his manual
6903 pages. Rather it is the place where Configure may look to find manual
6904 for unix commands (section 1 of the manual usually). See mansrc.
6916 This variable is defined but not used by Configure.
6917 The value is a plain '' and is not useful.
6923 This variable is defined but not used by Configure.
6924 The value is a plain '' and is not useful.
6930 This variable is defined but not used by Configure.
6931 The value is a plain '' and is not useful.
6937 This variable is defined but not used by Configure.
6938 The value is a plain '' and is not useful.
6944 This variable is used internally by Configure to determine the
6945 full pathname (if any) of the test program. After Configure runs,
6946 the value is reset to a plain C<test> and is not useful.
6952 This variable holds the full path of the included time header(s).
6958 This variable holds the type returned by time(). It can be long,
6959 or time_t on C<BSD> sites (in which case <sys/types.h> should be
6960 included). Anyway, the type Time_t should be used.
6966 This variable is used internally by Configure to determine the
6967 full pathname (if any) of the touch program. After Configure runs,
6968 the value is reset to a plain C<touch> and is not useful.
6974 This variable is used internally by Configure to determine the
6975 full pathname (if any) of the tr program. After Configure runs,
6976 the value is reset to a plain C<tr> and is not useful.
6982 This variable contains the value to be passed to the tr(1)
6983 command to transliterate a newline. Typical values are
6984 C<\012> and C<\n>. This is needed for C<EBCDIC> systems where
6985 newline is not necessarily C<\012>.
6991 This variable is defined but not used by Configure.
6992 The value is a plain '' and is not useful.
7004 This variable is the size of an U16 in bytes.
7010 This variable contains the C type used for Perl's U16.
7016 This variable is the size of an U32 in bytes.
7022 This variable contains the C type used for Perl's U32.
7028 This variable is the size of an U64 in bytes.
7034 This variable contains the C type used for Perl's U64.
7040 This variable is the size of an U8 in bytes.
7046 This variable contains the C type used for Perl's U8.
7052 This variable contains the format string used for printing a Uid_t.
7058 This variable contains the signedness of a uidtype.
7059 1 for unsigned, -1 for signed.
7065 This variable contains the size of a uidtype in bytes.
7071 This variable defines Uid_t to be something like uid_t, int,
7072 ushort, or whatever type is used to declare user ids in the kernel.
7078 This variable is used internally by Configure to determine the
7079 full pathname (if any) of the uname program. After Configure runs,
7080 the value is reset to a plain C<uname> and is not useful.
7086 This variable is used internally by Configure to determine the
7087 full pathname (if any) of the uniq program. After Configure runs,
7088 the value is reset to a plain C<uniq> and is not useful.
7094 This variable defines Uquad_t to be something like unsigned long,
7095 unsigned int, unsigned long long, uint64_t, or whatever type is
7096 used for 64-bit integers.
7098 =item C<use5005threads>
7100 From F<usethreads.U>:
7102 This variable conditionally defines the USE_5005THREADS symbol,
7103 and indicates that Perl should be built to use the 5.005-based
7104 threading implementation.
7106 =item C<use64bitall>
7108 From F<use64bits.U>:
7110 This variable conditionally defines the USE_64_BIT_ALL symbol,
7111 and indicates that 64-bit integer types should be used
7112 when available. The maximal possible
7113 64-bitness is employed: LP64 or ILP64, meaning that you will
7114 be able to use more than 2 gigabytes of memory. This mode is
7115 even more binary incompatible than USE_64_BIT_INT. You may not
7116 be able to run the resulting executable in a 32-bit C<CPU> at all or
7117 you may need at least to reboot your C<OS> to 64-bit mode.
7119 =item C<use64bitint>
7121 From F<use64bits.U>:
7123 This variable conditionally defines the USE_64_BIT_INT symbol,
7124 and indicates that 64-bit integer types should be used
7125 when available. The minimal possible 64-bitness
7126 is employed, just enough to get 64-bit integers into Perl.
7127 This may mean using for example "long longs", while your memory
7128 may still be limited to 2 gigabytes.
7134 This variable indicates if the system supports dynamic
7135 loading of some sort. See also dlsrc and dlobj.
7137 =item C<useithreads>
7139 From F<usethreads.U>:
7141 This variable conditionally defines the C<USE_ITHREADS> symbol,
7142 and indicates that Perl should be built to use the interpreter-based
7143 threading implementation.
7145 =item C<uselargefiles>
7149 This variable conditionally defines the C<USE_LARGE_FILES> symbol,
7150 and indicates that large file interfaces should be used when
7153 =item C<uselongdouble>
7155 From F<uselongdbl.U>:
7157 This variable conditionally defines the C<USE_LONG_DOUBLE> symbol,
7158 and indicates that long doubles should be used when available.
7160 =item C<usemorebits>
7162 From F<usemorebits.U>:
7164 This variable conditionally defines the C<USE_MORE_BITS> symbol,
7165 and indicates that explicit 64-bit interfaces and long doubles
7166 should be used when available.
7168 =item C<usemultiplicity>
7170 From F<usemultiplicity.U>:
7172 This variable conditionally defines the C<MULTIPLICITY> symbol,
7173 and indicates that Perl should be built to use multiplicity.
7175 =item C<usemymalloc>
7177 From F<mallocsrc.U>:
7179 This variable contains y if the malloc that comes with this package
7180 is desired over the system's version of malloc. People often include
7181 special versions of malloc for effiency, but such versions are often
7182 less portable. See also mallocsrc and mallocobj.
7183 If this is C<y>, then -lmalloc is removed from $libs.
7189 This variable contains C<true> or C<false> depending whether the
7190 nm extraction is wanted or not.
7194 From F<Extensions.U>:
7196 This variable holds either C<true> or C<false> to indicate
7197 whether the Opcode extension should be used. The sole
7198 use for this currently is to allow an easy mechanism
7199 for users to skip the Opcode extension from the Configure
7204 From F<useperlio.U>:
7206 This variable conditionally defines the C<USE_PERLIO> symbol,
7207 and indicates that the PerlIO abstraction should be
7212 From F<Extensions.U>:
7214 This variable holds either C<true> or C<false> to indicate
7215 whether the C<POSIX> extension should be used. The sole
7216 use for this currently is to allow an easy mechanism
7217 for hints files to indicate that C<POSIX> will not compile
7218 on a particular system.
7224 This variable is set to true when the user agrees to use sfio.
7225 It is set to false when sfio is not available or when the user
7226 explicitely requests not to use sfio. It is here primarily so
7227 that command-line settings can override the auto-detection of
7228 d_sfio without running into a "WHOA THERE".
7234 This variable is set to C<yes> if the user wishes
7235 to build a shared libperl, and C<no> otherwise.
7241 This variable conditionally defines the C<USE_SOCKS> symbol,
7242 and indicates that Perl should be built to use C<SOCKS>.
7246 From F<usethreads.U>:
7248 This variable conditionally defines the C<USE_THREADS> symbol,
7249 and indicates that Perl should be built to use threads.
7251 =item C<usevendorprefix>
7253 From F<vendorprefix.U>:
7255 This variable tells whether the vendorprefix
7256 and consequently other vendor* paths are in use.
7262 This variable is set to true when the user accepts to use vfork.
7263 It is set to false when no vfork is available or when the user
7264 explicitely requests not to use vfork.
7270 This variable holds the path of the include files, which is
7271 usually F</usr/include>. It is mainly used by other Configure units.
7277 This variable is defined but not used by Configure.
7278 The value is a plain '' and is not useful.
7284 This variable contains the format string used for printing
7285 a Perl C<UV> as an unsigned octal integer.
7291 This variable is the size of a C<UV> in bytes.
7297 This variable contains the C type used for Perl's C<UV>.
7303 This variable contains the format string used for printing
7304 a Perl C<UV> as an unsigned decimal integer.
7310 This variable contains the format string used for printing
7311 a Perl C<UV> as an unsigned hexadecimal integer in lowercase abcdef.
7317 This variable contains the format string used for printing
7318 a Perl C<UV> as an unsigned hexadecimal integer in uppercase C<ABCDEF>.
7328 From F<vendorarch.U>:
7330 This variable contains the value of the C<PERL_VENDORARCH> symbol.
7331 It may have a F<~> on the front.
7332 The standard distribution will put nothing in this directory.
7333 Vendors who distribute perl may wish to place their own
7334 architecture-dependent modules and extensions in this directory with
7335 MakeMaker F<Makefile.PL> C<INSTALLDIRS>=vendor
7336 or equivalent. See C<INSTALL> for details.
7338 =item C<vendorarchexp>
7340 From F<vendorarch.U>:
7342 This variable is the F<~name> expanded version of vendorarch, so that you
7343 may use it directly in Makefiles or shell scripts.
7347 From F<vendorbin.U>:
7349 This variable contains the eventual value of the C<VENDORBIN> symbol.
7350 It may have a F<~> on the front.
7351 The standard distribution will put nothing in this directory.
7352 Vendors who distribute perl may wish to place additional
7353 binaries in this directory with
7354 MakeMaker F<Makefile.PL> C<INSTALLDIRS>=vendor
7355 or equivalent. See C<INSTALL> for details.
7357 =item C<vendorbinexp>
7359 From F<vendorbin.U>:
7361 This variable is the F<~name> expanded version of vendorbin, so that you
7362 may use it directly in Makefiles or shell scripts.
7366 From F<vendorlib.U>:
7368 This variable contains the eventual value of the C<VENDORLIB> symbol,
7369 which is the name of the private library for this package.
7370 The standard distribution will put nothing in this directory.
7371 Vendors who distribute perl may wish to place their own
7372 modules in this directory with
7373 MakeMaker F<Makefile.PL> C<INSTALLDIRS>=vendor
7374 or equivalent. See C<INSTALL> for details.
7376 =item C<vendorlib_stem>
7378 From F<vendorlib.U>:
7380 This variable is $vendorlibexp with any trailing version-specific component
7381 removed. The elements in inc_version_list (F<inc_version_list.U>) can
7382 be tacked onto this variable to generate a list of directories to search.
7384 =item C<vendorlibexp>
7386 From F<vendorlib.U>:
7388 This variable is the F<~name> expanded version of vendorlib, so that you
7389 may use it directly in Makefiles or shell scripts.
7391 =item C<vendorprefix>
7393 From F<vendorprefix.U>:
7395 This variable holds the full absolute path of the directory below
7396 which the vendor will install add-on packages.
7397 See C<INSTALL> for usage and examples.
7399 =item C<vendorprefixexp>
7401 From F<vendorprefix.U>:
7403 This variable holds the full absolute path of the directory below
7404 which the vendor will install add-on packages. Derived from vendorprefix.
7408 From F<patchlevel.U>:
7410 The full version number of this package, such as 5.6.1 (or 5_6_1).
7411 This combines revision, patchlevel, and subversion to get the
7412 full version number, including any possible subversions.
7413 This is suitable for use as a directory name, and hence is
7414 filesystem dependent.
7416 =item C<versiononly>
7418 From F<versiononly.U>:
7420 If set, this symbol indicates that only the version-specific
7421 components of a perl installation should be installed.
7422 This may be useful for making a test installation of a new
7423 version without disturbing the existing installation.
7424 Setting versiononly is equivalent to setting installperl's -v option.
7425 In particular, the non-versioned scripts and programs such as
7426 a2p, c2ph, h2xs, pod2*, and perldoc are not installed
7427 (see C<INSTALL> for a more complete list). Nor are the man
7429 Usually, this is undef.
7435 This variable is defined but not used by Configure.
7436 The value is a plain '' and is not useful.
7440 From F<voidflags.U>:
7442 This variable contains the eventual value of the C<VOIDFLAGS> symbol,
7443 which indicates how much support of the void type is given by this
7444 compiler. See C<VOIDFLAGS> for more info.
7456 This variable holds extra path (space-separated) used to find
7457 libraries on this platform, for example C<CPU>-specific libraries
7458 (on multi-C<CPU> platforms) may be listed here.
7460 =item C<xs_apiversion>
7462 From F<xs_apiversion.U>:
7464 This variable contains the version of the oldest perl binary
7465 compatible with the present perl. F<perl.c>:incpush() and
7466 F<lib/lib.pm> will automatically search in $sitearch for older
7467 directories across major versions back to xs_apiversion.
7468 This is only useful if you have a perl library directory tree
7469 structured like the default one.
7470 See C<INSTALL> for how this works.
7471 The versioned site_perl directory was introduced in 5.005,
7472 so that is the lowest possible value.
7473 Since this can depend on compile time options (such as
7474 bincompat) it is set by Configure. Other non-default sources
7475 of potential incompatibility, such as multiplicity, threads,
7476 debugging, 64bits, sfio, F<etc.>, are not checked for currently,
7477 though in principle we could go snooping around in old
7490 This variable is defined but not used by Configure.
7491 The value is a plain '' and is not useful.
7497 This variable is used internally by Configure to determine the
7498 full pathname (if any) of the zip program. After Configure runs,
7499 the value is reset to a plain C<zip> and is not useful.
7506 This module contains a good example of how to use tie to implement a
7507 cache and an example of how to make a tied variable readonly to those