source: for-distributions/trunk/bin/windows/perl/lib/Config.pod@ 14489

Last change on this file since 14489 was 14489, checked in by oranfry, 17 years ago

upgrading to perl 5.8

File size: 215.7 KB
Line 
1=head1 NAME
2
3Config - access Perl configuration information
4
5=head1 SYNOPSIS
6
7 use Config;
8 if ($Config{usethreads}) {
9 print "has thread support\n"
10 }
11
12 use Config qw(myconfig config_sh config_vars config_re);
13
14 print myconfig();
15
16 print config_sh();
17
18 print config_re();
19
20 config_vars(qw(osname archname));
21
22
23=head1 DESCRIPTION
24
25The Config module contains all the information that was available to
26the C<Configure> program at Perl build time (over 900 values).
27
28Shell variables from the F<config.sh> file (written by Configure) are
29stored in the readonly-variable C<%Config>, indexed by their names.
30
31Values stored in config.sh as 'undef' are returned as undefined
32values. The perl C<exists> function can be used to check if a
33named variable exists.
34
35=over 4
36
37=item myconfig()
38
39Returns a textual summary of the major perl configuration values.
40See also C<-V> in L<perlrun/Switches>.
41
42=item config_sh()
43
44Returns the entire perl configuration information in the form of the
45original config.sh shell variable assignment script.
46
47=item config_re($regex)
48
49Like config_sh() but returns, as a list, only the config entries who's
50names match the $regex.
51
52=item config_vars(@names)
53
54Prints to STDOUT the values of the named configuration variable. Each is
55printed on a separate line in the form:
56
57 name='value';
58
59Names which are unknown are output as C<name='UNKNOWN';>.
60See also C<-V:name> in L<perlrun/Switches>.
61
62=back
63
64=head1 EXAMPLE
65
66Here's a more sophisticated example of using %Config:
67
68 use Config;
69 use strict;
70
71 my %sig_num;
72 my @sig_name;
73 unless($Config{sig_name} && $Config{sig_num}) {
74 die "No sigs?";
75 } else {
76 my @names = split ' ', $Config{sig_name};
77 @sig_num{@names} = split ' ', $Config{sig_num};
78 foreach (@names) {
79 $sig_name[$sig_num{$_}] ||= $_;
80 }
81 }
82
83 print "signal #17 = $sig_name[17]\n";
84 if ($sig_num{ALRM}) {
85 print "SIGALRM is $sig_num{ALRM}\n";
86 }
87
88=head1 WARNING
89
90Because this information is not stored within the perl executable
91itself it is possible (but unlikely) that the information does not
92relate to the actual perl binary which is being used to access it.
93
94The Config module is installed into the architecture and version
95specific library directory ($Config{installarchlib}) and it checks the
96perl version number when loaded.
97
98The values stored in config.sh may be either single-quoted or
99double-quoted. Double-quoted strings are handy for those cases where you
100need to include escape sequences in the strings. To avoid runtime variable
101interpolation, any C<$> and C<@> characters are replaced by C<\$> and
102C<\@>, respectively. This isn't foolproof, of course, so don't embed C<\$>
103or C<\@> in double-quoted strings unless you're willing to deal with the
104consequences. (The slashes will end up escaped and the C<$> or C<@> will
105trigger variable interpolation)
106
107=head1 GLOSSARY
108
109Most C<Config> variables are determined by the C<Configure> script
110on platforms supported by it (which is most UNIX platforms). Some
111platforms have custom-made C<Config> variables, and may thus not have
112some of the variables described below, or may have extraneous variables
113specific to that particular port. See the port specific documentation
114in such cases.
115
116=head2 _
117
118=over 4
119
120=item C<_a>
121
122From F<Unix.U>:
123
124This variable defines the extension used for ordinary library files.
125For unix, it is F<.a>. The F<.> is included. Other possible
126values include F<.lib>.
127
128=item C<_exe>
129
130From F<Unix.U>:
131
132This variable defines the extension used for executable files.
133C<DJGPP>, Cygwin and F<OS/2> use F<.exe>. Stratus C<VOS> uses F<.pm>.
134On operating systems which do not require a specific extension
135for executable files, this variable is empty.
136
137=item C<_o>
138
139From F<Unix.U>:
140
141This variable defines the extension used for object files.
142For unix, it is F<.o>. The F<.> is included. Other possible
143values include F<.obj>.
144
145=back
146
147=head2 a
148
149=over 4
150
151=item C<afs>
152
153From F<afs.U>:
154
155This variable is set to C<true> if C<AFS> (Andrew File System) is used
156on the system, C<false> otherwise. It is possible to override this
157with a hint value or command line option, but you'd better know
158what you are doing.
159
160=item C<afsroot>
161
162From F<afs.U>:
163
164This variable is by default set to F</afs>. In the unlikely case
165this is not the correct root, it is possible to override this with
166a hint value or command line option. This will be used in subsequent
167tests for AFSness in the Perl configure and test process.
168
169=item C<alignbytes>
170
171From F<alignbytes.U>:
172
173This variable holds the number of bytes required to align a
174double-- or a long double when applicable. Usual values are
1752, 4 and 8. The default is eight, for safety.
176
177=item C<ansi2knr>
178
179From F<ansi2knr.U>:
180
181This variable is set if the user needs to run ansi2knr.
182Currently, this is not supported, so we just abort.
183
184=item C<aphostname>
185
186From F<d_gethname.U>:
187
188This variable contains the command which can be used to compute the
189host name. The command is fully qualified by its absolute path, to make
190it safe when used by a process with super-user privileges.
191
192=item C<api_revision>
193
194From F<patchlevel.U>:
195
196The three variables, api_revision, api_version, and
197api_subversion, specify the version of the oldest perl binary
198compatible with the present perl. In a full version string
199such as F<5.6.1>, api_revision is the C<5>.
200Prior to 5.5.640, the format was a floating point number,
201like 5.00563.
202
203F<perl.c>:incpush() and F<lib/lib.pm> will automatically search in
204F<$sitelib/.>. for older directories back to the limit specified
205by these api_ variables. This is only useful if you have a
206perl library directory tree structured like the default one.
207See C<INSTALL> for how this works. The versioned site_perl
208directory was introduced in 5.005, so that is the lowest
209possible value. The version list appropriate for the current
210system is determined in F<inc_version_list.U>.
211
212C<XXX> To do: Since compatibility can depend on compile time
213options (such as bincompat, longlong, etc.) it should
214(perhaps) be set by Configure, but currently it isn't.
215Currently, we read a hard-wired value from F<patchlevel.h>.
216Perhaps what we ought to do is take the hard-wired value from
217F<patchlevel.h> but then modify it if the current Configure
218options warrant. F<patchlevel.h> then would use an #ifdef guard.
219
220=item C<api_subversion>
221
222From F<patchlevel.U>:
223
224The three variables, api_revision, api_version, and
225api_subversion, specify the version of the oldest perl binary
226compatible with the present perl. In a full version string
227such as F<5.6.1>, api_subversion is the C<1>. See api_revision for
228full details.
229
230=item C<api_version>
231
232From F<patchlevel.U>:
233
234The three variables, api_revision, api_version, and
235api_subversion, specify the version of the oldest perl binary
236compatible with the present perl. In a full version string
237such as F<5.6.1>, api_version is the C<6>. See api_revision for
238full details. As a special case, 5.5.0 is rendered in the
239old-style as 5.005. (In the 5.005_0x maintenance series,
240this was the only versioned directory in $sitelib.)
241
242=item C<api_versionstring>
243
244From F<patchlevel.U>:
245
246This variable combines api_revision, api_version, and
247api_subversion in a format such as 5.6.1 (or 5_6_1) suitable
248for use as a directory name. This is filesystem dependent.
249
250=item C<ar>
251
252From F<Loc.U>:
253
254This variable is used internally by Configure to determine the
255full pathname (if any) of the ar program. After Configure runs,
256the value is reset to a plain C<ar> and is not useful.
257
258=item C<archlib>
259
260From F<archlib.U>:
261
262This variable holds the name of the directory in which the user wants
263to put architecture-dependent public library files for $package.
264It is most often a local directory such as F</usr/local/lib>.
265Programs using this variable must be prepared to deal
266with filename expansion.
267
268=item C<archlibexp>
269
270From F<archlib.U>:
271
272This variable is the same as the archlib variable, but is
273filename expanded at configuration time, for convenient use.
274
275=item C<archname64>
276
277From F<use64bits.U>:
278
279This variable is used for the 64-bitness part of $archname.
280
281=item C<archname>
282
283From F<archname.U>:
284
285This variable is a short name to characterize the current
286architecture. It is used mainly to construct the default archlib.
287
288=item C<archobjs>
289
290From F<Unix.U>:
291
292This variable defines any additional objects that must be linked
293in with the program on this architecture. On unix, it is usually
294empty. It is typically used to include emulations of unix calls
295or other facilities. For perl on F<OS/2>, for example, this would
296include F<os2/os2.obj>.
297
298=item C<asctime_r_proto>
299
300From F<d_asctime_r.U>:
301
302This variable encodes the prototype of asctime_r.
303It is zero if d_asctime_r is undef, and one of the
304C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_asctime_r
305is defined.
306
307=item C<awk>
308
309From F<Loc.U>:
310
311This variable is used internally by Configure to determine the
312full pathname (if any) of the awk program. After Configure runs,
313the value is reset to a plain C<awk> and is not useful.
314
315=back
316
317=head2 b
318
319=over 4
320
321=item C<baserev>
322
323From F<baserev.U>:
324
325The base revision level of this package, from the F<.package> file.
326
327=item C<bash>
328
329From F<Loc.U>:
330
331This variable is defined but not used by Configure.
332The value is a plain '' and is not useful.
333
334=item C<bin>
335
336From F<bin.U>:
337
338This variable holds the name of the directory in which the user wants
339to put publicly executable images for the package in question. It
340is most often a local directory such as F</usr/local/bin>. Programs using
341this variable must be prepared to deal with F<~name> substitution.
342
343=item C<binexp>
344
345From F<bin.U>:
346
347This is the same as the bin variable, but is filename expanded at
348configuration time, for use in your makefiles.
349
350=item C<bison>
351
352From F<Loc.U>:
353
354This variable is used internally by Configure to determine the
355full pathname (if any) of the bison program. After Configure runs,
356the value is reset to a plain C<bison> and is not useful.
357
358=item C<byacc>
359
360From F<Loc.U>:
361
362This variable is used internally by Configure to determine the
363full pathname (if any) of the byacc program. After Configure runs,
364the value is reset to a plain C<byacc> and is not useful.
365
366=item C<byteorder>
367
368From F<byteorder.U>:
369
370This variable holds the byte order in a C<UV>. In the following,
371larger digits indicate more significance. The variable byteorder
372is either 4321 on a big-endian machine, or 1234 on a little-endian,
373or 87654321 on a Cray ... or 3412 with weird order !
374
375=back
376
377=head2 c
378
379=over 4
380
381=item C<c>
382
383From F<n.U>:
384
385This variable contains the \c string if that is what causes the echo
386command to suppress newline. Otherwise it is null. Correct usage is
387$echo $n "prompt for a question: $c".
388
389=item C<castflags>
390
391From F<d_castneg.U>:
392
393This variable contains a flag that precise difficulties the
394compiler has casting odd floating values to unsigned long:
3950 = ok
3961 = couldn't cast < 0
3972 = couldn't cast >= 0x80000000
3984 = couldn't cast in argument expression list
399
400=item C<cat>
401
402From F<Loc.U>:
403
404This variable is used internally by Configure to determine the
405full pathname (if any) of the cat program. After Configure runs,
406the value is reset to a plain C<cat> and is not useful.
407
408=item C<cc>
409
410From F<cc.U>:
411
412This variable holds the name of a command to execute a C compiler which
413can resolve multiple global references that happen to have the same
414name. Usual values are C<cc> and C<gcc>.
415Fervent C<ANSI> compilers may be called C<c89>. C<AIX> has xlc.
416
417=item C<cccdlflags>
418
419From F<dlsrc.U>:
420
421This variable contains any special flags that might need to be
422passed with C<cc -c> to compile modules to be used to create a shared
423library that will be used for dynamic loading. For hpux, this
424should be +z. It is up to the makefile to use it.
425
426=item C<ccdlflags>
427
428From F<dlsrc.U>:
429
430This variable contains any special flags that might need to be
431passed to cc to link with a shared library for dynamic loading.
432It is up to the makefile to use it. For sunos 4.1, it should
433be empty.
434
435=item C<ccflags>
436
437From F<ccflags.U>:
438
439This variable contains any additional C compiler flags desired by
440the user. It is up to the Makefile to use this.
441
442=item C<ccflags_uselargefiles>
443
444From F<uselfs.U>:
445
446This variable contains the compiler flags needed by large file builds
447and added to ccflags by hints files.
448
449=item C<ccname>
450
451From F<Checkcc.U>:
452
453This can set either by hints files or by Configure. If using
454gcc, this is gcc, and if not, usually equal to cc, unimpressive, no?
455Some platforms, however, make good use of this by storing the
456flavor of the C compiler being used here. For example if using
457the Sun WorkShop suite, ccname will be C<workshop>.
458
459=item C<ccsymbols>
460
461From F<Cppsym.U>:
462
463The variable contains the symbols defined by the C compiler alone.
464The symbols defined by cpp or by cc when it calls cpp are not in
465this list, see cppsymbols and cppccsymbols.
466The list is a space-separated list of symbol=value tokens.
467
468=item C<ccversion>
469
470From F<Checkcc.U>:
471
472This can set either by hints files or by Configure. If using
473a (non-gcc) vendor cc, this variable may contain a version for
474the compiler.
475
476=item C<cf_by>
477
478From F<cf_who.U>:
479
480Login name of the person who ran the Configure script and answered the
481questions. This is used to tag both F<config.sh> and F<config_h.SH>.
482
483=item C<cf_email>
484
485From F<cf_email.U>:
486
487Electronic mail address of the person who ran Configure. This can be
488used by units that require the user's e-mail, like F<MailList.U>.
489
490=item C<cf_time>
491
492From F<cf_who.U>:
493
494Holds the output of the C<date> command when the configuration file was
495produced. This is used to tag both F<config.sh> and F<config_h.SH>.
496
497=item C<charsize>
498
499From F<charsize.U>:
500
501This variable contains the value of the C<CHARSIZE> symbol, which
502indicates to the C program how many bytes there are in a character.
503
504=item C<chgrp>
505
506From F<Loc.U>:
507
508This variable is defined but not used by Configure.
509The value is a plain '' and is not useful.
510
511=item C<chmod>
512
513From F<Loc.U>:
514
515This variable is used internally by Configure to determine the
516full pathname (if any) of the chmod program. After Configure runs,
517the value is reset to a plain C<chmod> and is not useful.
518
519=item C<chown>
520
521From F<Loc.U>:
522
523This variable is defined but not used by Configure.
524The value is a plain '' and is not useful.
525
526=item C<clocktype>
527
528From F<d_times.U>:
529
530This variable holds the type returned by times(). It can be long,
531or clock_t on C<BSD> sites (in which case <sys/types.h> should be
532included).
533
534=item C<comm>
535
536From F<Loc.U>:
537
538This variable is used internally by Configure to determine the
539full pathname (if any) of the comm program. After Configure runs,
540the value is reset to a plain C<comm> and is not useful.
541
542=item C<compress>
543
544From F<Loc.U>:
545
546This variable is defined but not used by Configure.
547The value is a plain '' and is not useful.
548
549=item C<contains>
550
551From F<contains.U>:
552
553This variable holds the command to do a grep with a proper return
554status. On most sane systems it is simply C<grep>. On insane systems
555it is a grep followed by a cat followed by a test. This variable
556is primarily for the use of other Configure units.
557
558=item C<cp>
559
560From F<Loc.U>:
561
562This variable is used internally by Configure to determine the
563full pathname (if any) of the cp program. After Configure runs,
564the value is reset to a plain C<cp> and is not useful.
565
566=item C<cpio>
567
568From F<Loc.U>:
569
570This variable is defined but not used by Configure.
571The value is a plain '' and is not useful.
572
573=item C<cpp>
574
575From F<Loc.U>:
576
577This variable is used internally by Configure to determine the
578full pathname (if any) of the cpp program. After Configure runs,
579the value is reset to a plain C<cpp> and is not useful.
580
581=item C<cpp_stuff>
582
583From F<cpp_stuff.U>:
584
585This variable contains an identification of the concatenation mechanism
586used by the C preprocessor.
587
588=item C<cppccsymbols>
589
590From F<Cppsym.U>:
591
592The variable contains the symbols defined by the C compiler
593when it calls cpp. The symbols defined by the cc alone or cpp
594alone are not in this list, see ccsymbols and cppsymbols.
595The list is a space-separated list of symbol=value tokens.
596
597=item C<cppflags>
598
599From F<ccflags.U>:
600
601This variable holds the flags that will be passed to the C pre-
602processor. It is up to the Makefile to use it.
603
604=item C<cpplast>
605
606From F<cppstdin.U>:
607
608This variable has the same functionality as cppminus, only it applies
609to cpprun and not cppstdin.
610
611=item C<cppminus>
612
613From F<cppstdin.U>:
614
615This variable contains the second part of the string which will invoke
616the C preprocessor on the standard input and produce to standard
617output. This variable will have the value C<-> if cppstdin needs
618a minus to specify standard input, otherwise the value is "".
619
620=item C<cpprun>
621
622From F<cppstdin.U>:
623
624This variable contains the command which will invoke a C preprocessor
625on standard input and put the output to stdout. It is guaranteed not
626to be a wrapper and may be a null string if no preprocessor can be
627made directly available. This preprocessor might be different from the
628one used by the C compiler. Don't forget to append cpplast after the
629preprocessor options.
630
631=item C<cppstdin>
632
633From F<cppstdin.U>:
634
635This variable contains the command which will invoke the C
636preprocessor on standard input and put the output to stdout.
637It is primarily used by other Configure units that ask about
638preprocessor symbols.
639
640=item C<cppsymbols>
641
642From F<Cppsym.U>:
643
644The variable contains the symbols defined by the C preprocessor
645alone. The symbols defined by cc or by cc when it calls cpp are
646not in this list, see ccsymbols and cppccsymbols.
647The list is a space-separated list of symbol=value tokens.
648
649=item C<crypt_r_proto>
650
651From F<d_crypt_r.U>:
652
653This variable encodes the prototype of crypt_r.
654It is zero if d_crypt_r is undef, and one of the
655C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_crypt_r
656is defined.
657
658=item C<cryptlib>
659
660From F<d_crypt.U>:
661
662This variable holds -lcrypt or the path to a F<libcrypt.a> archive if
663the crypt() function is not defined in the standard C library. It is
664up to the Makefile to use this.
665
666=item C<csh>
667
668From F<Loc.U>:
669
670This variable is used internally by Configure to determine the
671full pathname (if any) of the csh program. After Configure runs,
672the value is reset to a plain C<csh> and is not useful.
673
674=item C<ctermid_r_proto>
675
676From F<d_ctermid_r.U>:
677
678This variable encodes the prototype of ctermid_r.
679It is zero if d_ctermid_r is undef, and one of the
680C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_ctermid_r
681is defined.
682
683=item C<ctime_r_proto>
684
685From F<d_ctime_r.U>:
686
687This variable encodes the prototype of ctime_r.
688It is zero if d_ctime_r is undef, and one of the
689C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_ctime_r
690is defined.
691
692=back
693
694=head2 d
695
696=over 4
697
698=item C<d__fwalk>
699
700From F<d__fwalk.U>:
701
702This variable conditionally defines C<HAS__FWALK> if _fwalk() is
703available to apply a function to all the file handles.
704
705=item C<d_access>
706
707From F<d_access.U>:
708
709This variable conditionally defines C<HAS_ACCESS> if the access() system
710call is available to check for access permissions using real IDs.
711
712=item C<d_accessx>
713
714From F<d_accessx.U>:
715
716This variable conditionally defines the C<HAS_ACCESSX> symbol, which
717indicates to the C program that the accessx() routine is available.
718
719=item C<d_aintl>
720
721From F<d_aintl.U>:
722
723This variable conditionally defines the C<HAS_AINTL> symbol, which
724indicates to the C program that the aintl() routine is available.
725If copysignl is also present we can emulate modfl.
726
727=item C<d_alarm>
728
729From F<d_alarm.U>:
730
731This variable conditionally defines the C<HAS_ALARM> symbol, which
732indicates to the C program that the alarm() routine is available.
733
734=item C<d_archlib>
735
736From F<archlib.U>:
737
738This variable conditionally defines C<ARCHLIB> to hold the pathname
739of architecture-dependent library files for $package. If
740$archlib is the same as $privlib, then this is set to undef.
741
742=item C<d_asctime_r>
743
744From F<d_asctime_r.U>:
745
746This variable conditionally defines the C<HAS_ASCTIME_R> symbol,
747which indicates to the C program that the asctime_r()
748routine is available.
749
750=item C<d_atolf>
751
752From F<atolf.U>:
753
754This variable conditionally defines the C<HAS_ATOLF> symbol, which
755indicates to the C program that the atolf() routine is available.
756
757=item C<d_atoll>
758
759From F<atoll.U>:
760
761This variable conditionally defines the C<HAS_ATOLL> symbol, which
762indicates to the C program that the atoll() routine is available.
763
764=item C<d_attribute_format>
765
766From F<d_attribut_format.U>:
767
768This variable conditionally defines C<HASATTRIBUTE_FORMAT>, which
769indicates the C compiler can check for printf-like formats.
770
771=item C<d_attribute_malloc>
772
773From F<d_attribute_malloc.U>:
774
775This variable conditionally defines C<HASATTRIBUTE_MALLOC>, which
776indicates the C compiler can understand functions as having
777malloc-like semantics.
778
779=item C<d_attribute_nonnull>
780
781From F<d_attribute_nonnull.U>:
782
783This variable conditionally defines C<HASATTRIBUTE_NONNULL>, which
784indicates that the C compiler can know that certain arguments
785must not be C<NULL>, and will check accordingly at compile time.
786
787=item C<d_attribute_noreturn>
788
789From F<d_attribute_noreturn.U>:
790
791This variable conditionally defines C<HASATTRIBUTE_NORETURN>, which
792indicates that the C compiler can know that certain functions
793are guaranteed never to return.
794
795=item C<d_attribute_pure>
796
797From F<d_attribute_pure.U>:
798
799This variable conditionally defines C<HASATTRIBUTE_PURE>, which
800indicates that the C compiler can know that certain functions
801are C<pure> functions, meaning that they have no side effects, and
802only rely on function input F<and/or> global data for their results.
803
804=item C<d_attribute_unused>
805
806From F<d_attribute_unused.U>:
807
808This variable conditionally defines C<HASATTRIBUTE_UNUSED>, which
809indicates that the C compiler can know that certain variables
810and arguments may not always be used, and to not throw warnings
811if they don't get used.
812
813=item C<d_attribute_warn_unused_result>
814
815From F<d_attribute_warn_unused_result.U>:
816
817This variable conditionally defines
818C<HASATTRIBUTE_WARN_UNUSED_RESULT>, which indicates that the C
819compiler can know that certain functions have a return values
820that must not be ignored, such as malloc() or open().
821
822=item C<d_bcmp>
823
824From F<d_bcmp.U>:
825
826This variable conditionally defines the C<HAS_BCMP> symbol if
827the bcmp() routine is available to compare strings.
828
829=item C<d_bcopy>
830
831From F<d_bcopy.U>:
832
833This variable conditionally defines the C<HAS_BCOPY> symbol if
834the bcopy() routine is available to copy strings.
835
836=item C<d_bsd>
837
838From F<Guess.U>:
839
840This symbol conditionally defines the symbol C<BSD> when running on a
841C<BSD> system.
842
843=item C<d_bsdgetpgrp>
844
845From F<d_getpgrp.U>:
846
847This variable conditionally defines C<USE_BSD_GETPGRP> if
848getpgrp needs one arguments whereas C<USG> one needs none.
849
850=item C<d_bsdsetpgrp>
851
852From F<d_setpgrp.U>:
853
854This variable conditionally defines C<USE_BSD_SETPGRP> if
855setpgrp needs two arguments whereas C<USG> one needs none.
856See also d_setpgid for a C<POSIX> interface.
857
858=item C<d_bzero>
859
860From F<d_bzero.U>:
861
862This variable conditionally defines the C<HAS_BZERO> symbol if
863the bzero() routine is available to set memory to 0.
864
865=item C<d_casti32>
866
867From F<d_casti32.U>:
868
869This variable conditionally defines CASTI32, which indicates
870whether the C compiler can cast large floats to 32-bit ints.
871
872=item C<d_castneg>
873
874From F<d_castneg.U>:
875
876This variable conditionally defines C<CASTNEG>, which indicates
877wether the C compiler can cast negative float to unsigned.
878
879=item C<d_charvspr>
880
881From F<d_vprintf.U>:
882
883This variable conditionally defines C<CHARVSPRINTF> if this system
884has vsprintf returning type (char*). The trend seems to be to
885declare it as "int vsprintf()".
886
887=item C<d_chown>
888
889From F<d_chown.U>:
890
891This variable conditionally defines the C<HAS_CHOWN> symbol, which
892indicates to the C program that the chown() routine is available.
893
894=item C<d_chroot>
895
896From F<d_chroot.U>:
897
898This variable conditionally defines the C<HAS_CHROOT> symbol, which
899indicates to the C program that the chroot() routine is available.
900
901=item C<d_chsize>
902
903From F<d_chsize.U>:
904
905This variable conditionally defines the C<CHSIZE> symbol, which
906indicates to the C program that the chsize() routine is available
907to truncate files. You might need a -lx to get this routine.
908
909=item C<d_class>
910
911From F<d_class.U>:
912
913This variable conditionally defines the C<HAS_CLASS> symbol, which
914indicates to the C program that the class() routine is available.
915
916=item C<d_clearenv>
917
918From F<d_clearenv.U>:
919
920This variable conditionally defines the C<HAS_CLEARENV> symbol, which
921indicates to the C program that the clearenv () routine is available.
922
923=item C<d_closedir>
924
925From F<d_closedir.U>:
926
927This variable conditionally defines C<HAS_CLOSEDIR> if closedir() is
928available.
929
930=item C<d_cmsghdr_s>
931
932From F<d_cmsghdr_s.U>:
933
934This variable conditionally defines the C<HAS_STRUCT_CMSGHDR> symbol,
935which indicates that the struct cmsghdr is supported.
936
937=item C<d_const>
938
939From F<d_const.U>:
940
941This variable conditionally defines the C<HASCONST> symbol, which
942indicates to the C program that this C compiler knows about the
943const type.
944
945=item C<d_copysignl>
946
947From F<d_copysignl.U>:
948
949This variable conditionally defines the C<HAS_COPYSIGNL> symbol, which
950indicates to the C program that the copysignl() routine is available.
951If aintl is also present we can emulate modfl.
952
953=item C<d_crypt>
954
955From F<d_crypt.U>:
956
957This variable conditionally defines the C<CRYPT> symbol, which
958indicates to the C program that the crypt() routine is available
959to encrypt passwords and the like.
960
961=item C<d_crypt_r>
962
963From F<d_crypt_r.U>:
964
965This variable conditionally defines the C<HAS_CRYPT_R> symbol,
966which indicates to the C program that the crypt_r()
967routine is available.
968
969=item C<d_csh>
970
971From F<d_csh.U>:
972
973This variable conditionally defines the C<CSH> symbol, which
974indicates to the C program that the C-shell exists.
975
976=item C<d_ctermid_r>
977
978From F<d_ctermid_r.U>:
979
980This variable conditionally defines the C<HAS_CTERMID_R> symbol,
981which indicates to the C program that the ctermid_r()
982routine is available.
983
984=item C<d_ctime_r>
985
986From F<d_ctime_r.U>:
987
988This variable conditionally defines the C<HAS_CTIME_R> symbol,
989which indicates to the C program that the ctime_r()
990routine is available.
991
992=item C<d_cuserid>
993
994From F<d_cuserid.U>:
995
996This variable conditionally defines the C<HAS_CUSERID> symbol, which
997indicates to the C program that the cuserid() routine is available
998to get character login names.
999
1000=item C<d_dbl_dig>
1001
1002From F<d_dbl_dig.U>:
1003
1004This variable conditionally defines d_dbl_dig if this system's
1005header files provide C<DBL_DIG>, which is the number of significant
1006digits in a double precision number.
1007
1008=item C<d_dbminitproto>
1009
1010From F<d_dbminitproto.U>:
1011
1012This variable conditionally defines the C<HAS_DBMINIT_PROTO> symbol,
1013which indicates to the C program that the system provides
1014a prototype for the dbminit() function. Otherwise, it is
1015up to the program to supply one.
1016
1017=item C<d_difftime>
1018
1019From F<d_difftime.U>:
1020
1021This variable conditionally defines the C<HAS_DIFFTIME> symbol, which
1022indicates to the C program that the difftime() routine is available.
1023
1024=item C<d_dirfd>
1025
1026From F<d_dirfd.U>:
1027
1028This variable conditionally defines the C<HAS_DIRFD> constant,
1029which indicates to the C program that dirfd() is available
1030to return the file descriptor of a directory stream.
1031
1032=item C<d_dirnamlen>
1033
1034From F<i_dirent.U>:
1035
1036This variable conditionally defines C<DIRNAMLEN>, which indicates
1037to the C program that the length of directory entry names is
1038provided by a d_namelen field.
1039
1040=item C<d_dlerror>
1041
1042From F<d_dlerror.U>:
1043
1044This variable conditionally defines the C<HAS_DLERROR> symbol, which
1045indicates to the C program that the dlerror() routine is available.
1046
1047=item C<d_dlopen>
1048
1049From F<d_dlopen.U>:
1050
1051This variable conditionally defines the C<HAS_DLOPEN> symbol, which
1052indicates to the C program that the dlopen() routine is available.
1053
1054=item C<d_dlsymun>
1055
1056From F<d_dlsymun.U>:
1057
1058This variable conditionally defines C<DLSYM_NEEDS_UNDERSCORE>, which
1059indicates that we need to prepend an underscore to the symbol
1060name before calling dlsym().
1061
1062=item C<d_dosuid>
1063
1064From F<d_dosuid.U>:
1065
1066This variable conditionally defines the symbol C<DOSUID>, which
1067tells the C program that it should insert setuid emulation code
1068on hosts which have setuid #! scripts disabled.
1069
1070=item C<d_drand48_r>
1071
1072From F<d_drand48_r.U>:
1073
1074This variable conditionally defines the HAS_DRAND48_R symbol,
1075which indicates to the C program that the drand48_r()
1076routine is available.
1077
1078=item C<d_drand48proto>
1079
1080From F<d_drand48proto.U>:
1081
1082This variable conditionally defines the HAS_DRAND48_PROTO symbol,
1083which indicates to the C program that the system provides
1084a prototype for the drand48() function. Otherwise, it is
1085up to the program to supply one.
1086
1087=item C<d_dup2>
1088
1089From F<d_dup2.U>:
1090
1091This variable conditionally defines HAS_DUP2 if dup2() is
1092available to duplicate file descriptors.
1093
1094=item C<d_eaccess>
1095
1096From F<d_eaccess.U>:
1097
1098This variable conditionally defines the C<HAS_EACCESS> symbol, which
1099indicates to the C program that the eaccess() routine is available.
1100
1101=item C<d_endgrent>
1102
1103From F<d_endgrent.U>:
1104
1105This variable conditionally defines the C<HAS_ENDGRENT> symbol, which
1106indicates to the C program that the endgrent() routine is available
1107for sequential access of the group database.
1108
1109=item C<d_endgrent_r>
1110
1111From F<d_endgrent_r.U>:
1112
1113This variable conditionally defines the C<HAS_ENDGRENT_R> symbol,
1114which indicates to the C program that the endgrent_r()
1115routine is available.
1116
1117=item C<d_endhent>
1118
1119From F<d_endhent.U>:
1120
1121This variable conditionally defines C<HAS_ENDHOSTENT> if endhostent() is
1122available to close whatever was being used for host queries.
1123
1124=item C<d_endhostent_r>
1125
1126From F<d_endhostent_r.U>:
1127
1128This variable conditionally defines the C<HAS_ENDHOSTENT_R> symbol,
1129which indicates to the C program that the endhostent_r()
1130routine is available.
1131
1132=item C<d_endnent>
1133
1134From F<d_endnent.U>:
1135
1136This variable conditionally defines C<HAS_ENDNETENT> if endnetent() is
1137available to close whatever was being used for network queries.
1138
1139=item C<d_endnetent_r>
1140
1141From F<d_endnetent_r.U>:
1142
1143This variable conditionally defines the C<HAS_ENDNETENT_R> symbol,
1144which indicates to the C program that the endnetent_r()
1145routine is available.
1146
1147=item C<d_endpent>
1148
1149From F<d_endpent.U>:
1150
1151This variable conditionally defines C<HAS_ENDPROTOENT> if endprotoent() is
1152available to close whatever was being used for protocol queries.
1153
1154=item C<d_endprotoent_r>
1155
1156From F<d_endprotoent_r.U>:
1157
1158This variable conditionally defines the C<HAS_ENDPROTOENT_R> symbol,
1159which indicates to the C program that the endprotoent_r()
1160routine is available.
1161
1162=item C<d_endpwent>
1163
1164From F<d_endpwent.U>:
1165
1166This variable conditionally defines the C<HAS_ENDPWENT> symbol, which
1167indicates to the C program that the endpwent() routine is available
1168for sequential access of the passwd database.
1169
1170=item C<d_endpwent_r>
1171
1172From F<d_endpwent_r.U>:
1173
1174This variable conditionally defines the C<HAS_ENDPWENT_R> symbol,
1175which indicates to the C program that the endpwent_r()
1176routine is available.
1177
1178=item C<d_endsent>
1179
1180From F<d_endsent.U>:
1181
1182This variable conditionally defines C<HAS_ENDSERVENT> if endservent() is
1183available to close whatever was being used for service queries.
1184
1185=item C<d_endservent_r>
1186
1187From F<d_endservent_r.U>:
1188
1189This variable conditionally defines the C<HAS_ENDSERVENT_R> symbol,
1190which indicates to the C program that the endservent_r()
1191routine is available.
1192
1193=item C<d_eofnblk>
1194
1195From F<nblock_io.U>:
1196
1197This variable conditionally defines C<EOF_NONBLOCK> if C<EOF> can be seen
1198when reading from a non-blocking I/O source.
1199
1200=item C<d_eunice>
1201
1202From F<Guess.U>:
1203
1204This variable conditionally defines the symbols C<EUNICE> and C<VAX>, which
1205alerts the C program that it must deal with ideosyncracies of C<VMS>.
1206
1207=item C<d_faststdio>
1208
1209From F<d_faststdio.U>:
1210
1211This variable conditionally defines the C<HAS_FAST_STDIO> symbol,
1212which indicates to the C program that the "fast stdio" is available
1213to manipulate the stdio buffers directly.
1214
1215=item C<d_fchdir>
1216
1217From F<d_fchdir.U>:
1218
1219This variable conditionally defines the C<HAS_FCHDIR> symbol, which
1220indicates to the C program that the fchdir() routine is available.
1221
1222=item C<d_fchmod>
1223
1224From F<d_fchmod.U>:
1225
1226This variable conditionally defines the C<HAS_FCHMOD> symbol, which
1227indicates to the C program that the fchmod() routine is available
1228to change mode of opened files.
1229
1230=item C<d_fchown>
1231
1232From F<d_fchown.U>:
1233
1234This variable conditionally defines the C<HAS_FCHOWN> symbol, which
1235indicates to the C program that the fchown() routine is available
1236to change ownership of opened files.
1237
1238=item C<d_fcntl>
1239
1240From F<d_fcntl.U>:
1241
1242This variable conditionally defines the C<HAS_FCNTL> symbol, and indicates
1243whether the fcntl() function exists
1244
1245=item C<d_fcntl_can_lock>
1246
1247From F<d_fcntl_can_lock.U>:
1248
1249This variable conditionally defines the C<FCNTL_CAN_LOCK> symbol
1250and indicates whether file locking with fcntl() works.
1251
1252=item C<d_fd_macros>
1253
1254From F<d_fd_set.U>:
1255
1256This variable contains the eventual value of the C<HAS_FD_MACROS> symbol,
1257which indicates if your C compiler knows about the macros which
1258manipulate an fd_set.
1259
1260=item C<d_fd_set>
1261
1262From F<d_fd_set.U>:
1263
1264This variable contains the eventual value of the C<HAS_FD_SET> symbol,
1265which indicates if your C compiler knows about the fd_set typedef.
1266
1267=item C<d_fds_bits>
1268
1269From F<d_fd_set.U>:
1270
1271This variable contains the eventual value of the C<HAS_FDS_BITS> symbol,
1272which indicates if your fd_set typedef contains the fds_bits member.
1273If you have an fd_set typedef, but the dweebs who installed it did
1274a half-fast job and neglected to provide the macros to manipulate
1275an fd_set, C<HAS_FDS_BITS> will let us know how to fix the gaffe.
1276
1277=item C<d_fgetpos>
1278
1279From F<d_fgetpos.U>:
1280
1281This variable conditionally defines C<HAS_FGETPOS> if fgetpos() is
1282available to get the file position indicator.
1283
1284=item C<d_finite>
1285
1286From F<d_finite.U>:
1287
1288This variable conditionally defines the C<HAS_FINITE> symbol, which
1289indicates to the C program that the finite() routine is available.
1290
1291=item C<d_finitel>
1292
1293From F<d_finitel.U>:
1294
1295This variable conditionally defines the C<HAS_FINITEL> symbol, which
1296indicates to the C program that the finitel() routine is available.
1297
1298=item C<d_flexfnam>
1299
1300From F<d_flexfnam.U>:
1301
1302This variable conditionally defines the C<FLEXFILENAMES> symbol, which
1303indicates that the system supports filenames longer than 14 characters.
1304
1305=item C<d_flock>
1306
1307From F<d_flock.U>:
1308
1309This variable conditionally defines C<HAS_FLOCK> if flock() is
1310available to do file locking.
1311
1312=item C<d_flockproto>
1313
1314From F<d_flockproto.U>:
1315
1316This variable conditionally defines the C<HAS_FLOCK_PROTO> symbol,
1317which indicates to the C program that the system provides
1318a prototype for the flock() function. Otherwise, it is
1319up to the program to supply one.
1320
1321=item C<d_fork>
1322
1323From F<d_fork.U>:
1324
1325This variable conditionally defines the C<HAS_FORK> symbol, which
1326indicates to the C program that the fork() routine is available.
1327
1328=item C<d_fp_class>
1329
1330From F<d_fp_class.U>:
1331
1332This variable conditionally defines the C<HAS_FP_CLASS> symbol, which
1333indicates to the C program that the fp_class() routine is available.
1334
1335=item C<d_fpathconf>
1336
1337From F<d_pathconf.U>:
1338
1339This variable conditionally defines the C<HAS_FPATHCONF> symbol, which
1340indicates to the C program that the pathconf() routine is available
1341to determine file-system related limits and options associated
1342with a given open file descriptor.
1343
1344=item C<d_fpclass>
1345
1346From F<d_fpclass.U>:
1347
1348This variable conditionally defines the C<HAS_FPCLASS> symbol, which
1349indicates to the C program that the fpclass() routine is available.
1350
1351=item C<d_fpclassify>
1352
1353From F<d_fpclassify.U>:
1354
1355This variable conditionally defines the C<HAS_FPCLASSIFY> symbol, which
1356indicates to the C program that the fpclassify() routine is available.
1357
1358=item C<d_fpclassl>
1359
1360From F<d_fpclassl.U>:
1361
1362This variable conditionally defines the C<HAS_FPCLASSL> symbol, which
1363indicates to the C program that the fpclassl() routine is available.
1364
1365=item C<d_fpos64_t>
1366
1367From F<d_fpos64_t.U>:
1368
1369This symbol will be defined if the C compiler supports fpos64_t.
1370
1371=item C<d_frexpl>
1372
1373From F<d_frexpl.U>:
1374
1375This variable conditionally defines the C<HAS_FREXPL> symbol, which
1376indicates to the C program that the frexpl() routine is available.
1377
1378=item C<d_fs_data_s>
1379
1380From F<d_fs_data_s.U>:
1381
1382This variable conditionally defines the C<HAS_STRUCT_FS_DATA> symbol,
1383which indicates that the struct fs_data is supported.
1384
1385=item C<d_fseeko>
1386
1387From F<d_fseeko.U>:
1388
1389This variable conditionally defines the C<HAS_FSEEKO> symbol, which
1390indicates to the C program that the fseeko() routine is available.
1391
1392=item C<d_fsetpos>
1393
1394From F<d_fsetpos.U>:
1395
1396This variable conditionally defines C<HAS_FSETPOS> if fsetpos() is
1397available to set the file position indicator.
1398
1399=item C<d_fstatfs>
1400
1401From F<d_fstatfs.U>:
1402
1403This variable conditionally defines the C<HAS_FSTATFS> symbol, which
1404indicates to the C program that the fstatfs() routine is available.
1405
1406=item C<d_fstatvfs>
1407
1408From F<d_statvfs.U>:
1409
1410This variable conditionally defines the C<HAS_FSTATVFS> symbol, which
1411indicates to the C program that the fstatvfs() routine is available.
1412
1413=item C<d_fsync>
1414
1415From F<d_fsync.U>:
1416
1417This variable conditionally defines the C<HAS_FSYNC> symbol, which
1418indicates to the C program that the fsync() routine is available.
1419
1420=item C<d_ftello>
1421
1422From F<d_ftello.U>:
1423
1424This variable conditionally defines the C<HAS_FTELLO> symbol, which
1425indicates to the C program that the ftello() routine is available.
1426
1427=item C<d_ftime>
1428
1429From F<d_ftime.U>:
1430
1431This variable conditionally defines the C<HAS_FTIME> symbol, which indicates
1432that the ftime() routine exists. The ftime() routine is basically
1433a sub-second accuracy clock.
1434
1435=item C<d_futimes>
1436
1437From F<f_futimes.U>:
1438
1439This variable conditionally defines the C<HAS_FUTIMES> symbol, which
1440indicates to the C program that the futimes() routine is available.
1441
1442=item C<d_Gconvert>
1443
1444From F<d_gconvert.U>:
1445
1446This variable holds what Gconvert is defined as to convert
1447floating point numbers into strings. By default, Configure
1448sets C<this> macro to use the first of gconvert, gcvt, or sprintf
1449that pass sprintf-%g-like behaviour tests. If perl is using
1450long doubles, the macro uses the first of the following
1451functions that pass Configure's tests: qgcvt, sprintf (if
1452Configure knows how to make sprintf format long doubles--see
1453sPRIgldbl), gconvert, gcvt, and sprintf (casting to double).
1454The gconvert_preference and gconvert_ld_preference variables
1455can be used to alter Configure's preferences, for doubles and
1456long doubles, respectively. If present, they contain a
1457space-separated list of one or more of the above function
1458names in the order they should be tried.
1459
1460d_Gconvert may be set to override Configure with a platform-
1461specific function. If this function expects a double, a
1462different value may need to be set by the F<uselongdouble.cbu>
1463call-back unit so that long doubles can be formatted without
1464loss of precision.
1465
1466=item C<d_getcwd>
1467
1468From F<d_getcwd.U>:
1469
1470This variable conditionally defines the C<HAS_GETCWD> symbol, which
1471indicates to the C program that the getcwd() routine is available
1472to get the current working directory.
1473
1474=item C<d_getespwnam>
1475
1476From F<d_getespwnam.U>:
1477
1478This variable conditionally defines C<HAS_GETESPWNAM> if getespwnam() is
1479available to retrieve enchanced (shadow) password entries by name.
1480
1481=item C<d_getfsstat>
1482
1483From F<d_getfsstat.U>:
1484
1485This variable conditionally defines the C<HAS_GETFSSTAT> symbol, which
1486indicates to the C program that the getfsstat() routine is available.
1487
1488=item C<d_getgrent>
1489
1490From F<d_getgrent.U>:
1491
1492This variable conditionally defines the C<HAS_GETGRENT> symbol, which
1493indicates to the C program that the getgrent() routine is available
1494for sequential access of the group database.
1495
1496=item C<d_getgrent_r>
1497
1498From F<d_getgrent_r.U>:
1499
1500This variable conditionally defines the C<HAS_GETGRENT_R> symbol,
1501which indicates to the C program that the getgrent_r()
1502routine is available.
1503
1504=item C<d_getgrgid_r>
1505
1506From F<d_getgrgid_r.U>:
1507
1508This variable conditionally defines the C<HAS_GETGRGID_R> symbol,
1509which indicates to the C program that the getgrgid_r()
1510routine is available.
1511
1512=item C<d_getgrnam_r>
1513
1514From F<d_getgrnam_r.U>:
1515
1516This variable conditionally defines the C<HAS_GETGRNAM_R> symbol,
1517which indicates to the C program that the getgrnam_r()
1518routine is available.
1519
1520=item C<d_getgrps>
1521
1522From F<d_getgrps.U>:
1523
1524This variable conditionally defines the C<HAS_GETGROUPS> symbol, which
1525indicates to the C program that the getgroups() routine is available
1526to get the list of process groups.
1527
1528=item C<d_gethbyaddr>
1529
1530From F<d_gethbyad.U>:
1531
1532This variable conditionally defines the C<HAS_GETHOSTBYADDR> symbol, which
1533indicates to the C program that the gethostbyaddr() routine is available
1534to look up hosts by their C<IP> addresses.
1535
1536=item C<d_gethbyname>
1537
1538From F<d_gethbynm.U>:
1539
1540This variable conditionally defines the C<HAS_GETHOSTBYNAME> symbol, which
1541indicates to the C program that the gethostbyname() routine is available
1542to look up host names in some data base or other.
1543
1544=item C<d_gethent>
1545
1546From F<d_gethent.U>:
1547
1548This variable conditionally defines C<HAS_GETHOSTENT> if gethostent() is
1549available to look up host names in some data base or another.
1550
1551=item C<d_gethname>
1552
1553From F<d_gethname.U>:
1554
1555This variable conditionally defines the C<HAS_GETHOSTNAME> symbol, which
1556indicates to the C program that the gethostname() routine may be
1557used to derive the host name.
1558
1559=item C<d_gethostbyaddr_r>
1560
1561From F<d_gethostbyaddr_r.U>:
1562
1563This variable conditionally defines the C<HAS_GETHOSTBYADDR_R> symbol,
1564which indicates to the C program that the gethostbyaddr_r()
1565routine is available.
1566
1567=item C<d_gethostbyname_r>
1568
1569From F<d_gethostbyname_r.U>:
1570
1571This variable conditionally defines the C<HAS_GETHOSTBYNAME_R> symbol,
1572which indicates to the C program that the gethostbyname_r()
1573routine is available.
1574
1575=item C<d_gethostent_r>
1576
1577From F<d_gethostent_r.U>:
1578
1579This variable conditionally defines the C<HAS_GETHOSTENT_R> symbol,
1580which indicates to the C program that the gethostent_r()
1581routine is available.
1582
1583=item C<d_gethostprotos>
1584
1585From F<d_gethostprotos.U>:
1586
1587This variable conditionally defines the C<HAS_GETHOST_PROTOS> symbol,
1588which indicates to the C program that <netdb.h> supplies
1589prototypes for the various gethost*() functions.
1590See also F<netdbtype.U> for probing for various netdb types.
1591
1592=item C<d_getitimer>
1593
1594From F<d_getitimer.U>:
1595
1596This variable conditionally defines the C<HAS_GETITIMER> symbol, which
1597indicates to the C program that the getitimer() routine is available.
1598
1599=item C<d_getlogin>
1600
1601From F<d_getlogin.U>:
1602
1603This variable conditionally defines the C<HAS_GETLOGIN> symbol, which
1604indicates to the C program that the getlogin() routine is available
1605to get the login name.
1606
1607=item C<d_getlogin_r>
1608
1609From F<d_getlogin_r.U>:
1610
1611This variable conditionally defines the C<HAS_GETLOGIN_R> symbol,
1612which indicates to the C program that the getlogin_r()
1613routine is available.
1614
1615=item C<d_getmnt>
1616
1617From F<d_getmnt.U>:
1618
1619This variable conditionally defines the C<HAS_GETMNT> symbol, which
1620indicates to the C program that the getmnt() routine is available
1621to retrieve one or more mount info blocks by filename.
1622
1623=item C<d_getmntent>
1624
1625From F<d_getmntent.U>:
1626
1627This variable conditionally defines the C<HAS_GETMNTENT> symbol, which
1628indicates to the C program that the getmntent() routine is available
1629to iterate through mounted files to get their mount info.
1630
1631=item C<d_getnbyaddr>
1632
1633From F<d_getnbyad.U>:
1634
1635This variable conditionally defines the C<HAS_GETNETBYADDR> symbol, which
1636indicates to the C program that the getnetbyaddr() routine is available
1637to look up networks by their C<IP> addresses.
1638
1639=item C<d_getnbyname>
1640
1641From F<d_getnbynm.U>:
1642
1643This variable conditionally defines the C<HAS_GETNETBYNAME> symbol, which
1644indicates to the C program that the getnetbyname() routine is available
1645to look up networks by their names.
1646
1647=item C<d_getnent>
1648
1649From F<d_getnent.U>:
1650
1651This variable conditionally defines C<HAS_GETNETENT> if getnetent() is
1652available to look up network names in some data base or another.
1653
1654=item C<d_getnetbyaddr_r>
1655
1656From F<d_getnetbyaddr_r.U>:
1657
1658This variable conditionally defines the C<HAS_GETNETBYADDR_R> symbol,
1659which indicates to the C program that the getnetbyaddr_r()
1660routine is available.
1661
1662=item C<d_getnetbyname_r>
1663
1664From F<d_getnetbyname_r.U>:
1665
1666This variable conditionally defines the C<HAS_GETNETBYNAME_R> symbol,
1667which indicates to the C program that the getnetbyname_r()
1668routine is available.
1669
1670=item C<d_getnetent_r>
1671
1672From F<d_getnetent_r.U>:
1673
1674This variable conditionally defines the C<HAS_GETNETENT_R> symbol,
1675which indicates to the C program that the getnetent_r()
1676routine is available.
1677
1678=item C<d_getnetprotos>
1679
1680From F<d_getnetprotos.U>:
1681
1682This variable conditionally defines the C<HAS_GETNET_PROTOS> symbol,
1683which indicates to the C program that <netdb.h> supplies
1684prototypes for the various getnet*() functions.
1685See also F<netdbtype.U> for probing for various netdb types.
1686
1687=item C<d_getpagsz>
1688
1689From F<d_getpagsz.U>:
1690
1691This variable conditionally defines C<HAS_GETPAGESIZE> if getpagesize()
1692is available to get the system page size.
1693
1694=item C<d_getpbyname>
1695
1696From F<d_getprotby.U>:
1697
1698This variable conditionally defines the C<HAS_GETPROTOBYNAME>
1699symbol, which indicates to the C program that the
1700getprotobyname() routine is available to look up protocols
1701by their name.
1702
1703=item C<d_getpbynumber>
1704
1705From F<d_getprotby.U>:
1706
1707This variable conditionally defines the C<HAS_GETPROTOBYNUMBER>
1708symbol, which indicates to the C program that the
1709getprotobynumber() routine is available to look up protocols
1710by their number.
1711
1712=item C<d_getpent>
1713
1714From F<d_getpent.U>:
1715
1716This variable conditionally defines C<HAS_GETPROTOENT> if getprotoent() is
1717available to look up protocols in some data base or another.
1718
1719=item C<d_getpgid>
1720
1721From F<d_getpgid.U>:
1722
1723This variable conditionally defines the C<HAS_GETPGID> symbol, which
1724indicates to the C program that the getpgid(pid) function
1725is available to get the process group id.
1726
1727=item C<d_getpgrp2>
1728
1729From F<d_getpgrp2.U>:
1730
1731This variable conditionally defines the HAS_GETPGRP2 symbol, which
1732indicates to the C program that the getpgrp2() (as in F<DG/C<UX>>) routine
1733is available to get the current process group.
1734
1735=item C<d_getpgrp>
1736
1737From F<d_getpgrp.U>:
1738
1739This variable conditionally defines C<HAS_GETPGRP> if getpgrp() is
1740available to get the current process group.
1741
1742=item C<d_getppid>
1743
1744From F<d_getppid.U>:
1745
1746This variable conditionally defines the C<HAS_GETPPID> symbol, which
1747indicates to the C program that the getppid() routine is available
1748to get the parent process C<ID>.
1749
1750=item C<d_getprior>
1751
1752From F<d_getprior.U>:
1753
1754This variable conditionally defines C<HAS_GETPRIORITY> if getpriority()
1755is available to get a process's priority.
1756
1757=item C<d_getprotobyname_r>
1758
1759From F<d_getprotobyname_r.U>:
1760
1761This variable conditionally defines the C<HAS_GETPROTOBYNAME_R> symbol,
1762which indicates to the C program that the getprotobyname_r()
1763routine is available.
1764
1765=item C<d_getprotobynumber_r>
1766
1767From F<d_getprotobynumber_r.U>:
1768
1769This variable conditionally defines the C<HAS_GETPROTOBYNUMBER_R> symbol,
1770which indicates to the C program that the getprotobynumber_r()
1771routine is available.
1772
1773=item C<d_getprotoent_r>
1774
1775From F<d_getprotoent_r.U>:
1776
1777This variable conditionally defines the C<HAS_GETPROTOENT_R> symbol,
1778which indicates to the C program that the getprotoent_r()
1779routine is available.
1780
1781=item C<d_getprotoprotos>
1782
1783From F<d_getprotoprotos.U>:
1784
1785This variable conditionally defines the C<HAS_GETPROTO_PROTOS> symbol,
1786which indicates to the C program that <netdb.h> supplies
1787prototypes for the various getproto*() functions.
1788See also F<netdbtype.U> for probing for various netdb types.
1789
1790=item C<d_getprpwnam>
1791
1792From F<d_getprpwnam.U>:
1793
1794This variable conditionally defines C<HAS_GETPRPWNAM> if getprpwnam() is
1795available to retrieve protected (shadow) password entries by name.
1796
1797=item C<d_getpwent>
1798
1799From F<d_getpwent.U>:
1800
1801This variable conditionally defines the C<HAS_GETPWENT> symbol, which
1802indicates to the C program that the getpwent() routine is available
1803for sequential access of the passwd database.
1804
1805=item C<d_getpwent_r>
1806
1807From F<d_getpwent_r.U>:
1808
1809This variable conditionally defines the C<HAS_GETPWENT_R> symbol,
1810which indicates to the C program that the getpwent_r()
1811routine is available.
1812
1813=item C<d_getpwnam_r>
1814
1815From F<d_getpwnam_r.U>:
1816
1817This variable conditionally defines the C<HAS_GETPWNAM_R> symbol,
1818which indicates to the C program that the getpwnam_r()
1819routine is available.
1820
1821=item C<d_getpwuid_r>
1822
1823From F<d_getpwuid_r.U>:
1824
1825This variable conditionally defines the C<HAS_GETPWUID_R> symbol,
1826which indicates to the C program that the getpwuid_r()
1827routine is available.
1828
1829=item C<d_getsbyname>
1830
1831From F<d_getsrvby.U>:
1832
1833This variable conditionally defines the C<HAS_GETSERVBYNAME>
1834symbol, which indicates to the C program that the
1835getservbyname() routine is available to look up services
1836by their name.
1837
1838=item C<d_getsbyport>
1839
1840From F<d_getsrvby.U>:
1841
1842This variable conditionally defines the C<HAS_GETSERVBYPORT>
1843symbol, which indicates to the C program that the
1844getservbyport() routine is available to look up services
1845by their port.
1846
1847=item C<d_getsent>
1848
1849From F<d_getsent.U>:
1850
1851This variable conditionally defines C<HAS_GETSERVENT> if getservent() is
1852available to look up network services in some data base or another.
1853
1854=item C<d_getservbyname_r>
1855
1856From F<d_getservbyname_r.U>:
1857
1858This variable conditionally defines the C<HAS_GETSERVBYNAME_R> symbol,
1859which indicates to the C program that the getservbyname_r()
1860routine is available.
1861
1862=item C<d_getservbyport_r>
1863
1864From F<d_getservbyport_r.U>:
1865
1866This variable conditionally defines the C<HAS_GETSERVBYPORT_R> symbol,
1867which indicates to the C program that the getservbyport_r()
1868routine is available.
1869
1870=item C<d_getservent_r>
1871
1872From F<d_getservent_r.U>:
1873
1874This variable conditionally defines the C<HAS_GETSERVENT_R> symbol,
1875which indicates to the C program that the getservent_r()
1876routine is available.
1877
1878=item C<d_getservprotos>
1879
1880From F<d_getservprotos.U>:
1881
1882This variable conditionally defines the C<HAS_GETSERV_PROTOS> symbol,
1883which indicates to the C program that <netdb.h> supplies
1884prototypes for the various getserv*() functions.
1885See also F<netdbtype.U> for probing for various netdb types.
1886
1887=item C<d_getspnam>
1888
1889From F<d_getspnam.U>:
1890
1891This variable conditionally defines C<HAS_GETSPNAM> if getspnam() is
1892available to retrieve SysV shadow password entries by name.
1893
1894=item C<d_getspnam_r>
1895
1896From F<d_getspnam_r.U>:
1897
1898This variable conditionally defines the C<HAS_GETSPNAM_R> symbol,
1899which indicates to the C program that the getspnam_r()
1900routine is available.
1901
1902=item C<d_gettimeod>
1903
1904From F<d_ftime.U>:
1905
1906This variable conditionally defines the C<HAS_GETTIMEOFDAY> symbol, which
1907indicates that the gettimeofday() system call exists (to obtain a
1908sub-second accuracy clock). You should probably include <sys/resource.h>.
1909
1910=item C<d_gmtime_r>
1911
1912From F<d_gmtime_r.U>:
1913
1914This variable conditionally defines the C<HAS_GMTIME_R> symbol,
1915which indicates to the C program that the gmtime_r()
1916routine is available.
1917
1918=item C<d_gnulibc>
1919
1920From F<d_gnulibc.U>:
1921
1922Defined if we're dealing with the C<GNU> C Library.
1923
1924=item C<d_grpasswd>
1925
1926From F<i_grp.U>:
1927
1928This variable conditionally defines C<GRPASSWD>, which indicates
1929that struct group in <grp.h> contains gr_passwd.
1930
1931=item C<d_hasmntopt>
1932
1933From F<d_hasmntopt.U>:
1934
1935This variable conditionally defines the C<HAS_HASMNTOPT> symbol, which
1936indicates to the C program that the hasmntopt() routine is available
1937to query the mount options of file systems.
1938
1939=item C<d_htonl>
1940
1941From F<d_htonl.U>:
1942
1943This variable conditionally defines C<HAS_HTONL> if htonl() and its
1944friends are available to do network order byte swapping.
1945
1946=item C<d_ilogbl>
1947
1948From F<d_ilogbl.U>:
1949
1950This variable conditionally defines the C<HAS_ILOGBL> symbol, which
1951indicates to the C program that the ilogbl() routine is available.
1952If scalbnl is also present we can emulate frexpl.
1953
1954=item C<d_index>
1955
1956From F<d_strchr.U>:
1957
1958This variable conditionally defines C<HAS_INDEX> if index() and
1959rindex() are available for string searching.
1960
1961=item C<d_inetaton>
1962
1963From F<d_inetaton.U>:
1964
1965This variable conditionally defines the C<HAS_INET_ATON> symbol, which
1966indicates to the C program that the inet_aton() function is available
1967to parse C<IP> address C<dotted-quad> strings.
1968
1969=item C<d_int64_t>
1970
1971From F<d_int64_t.U>:
1972
1973This symbol will be defined if the C compiler supports int64_t.
1974
1975=item C<d_isascii>
1976
1977From F<d_isascii.U>:
1978
1979This variable conditionally defines the C<HAS_ISASCII> constant,
1980which indicates to the C program that isascii() is available.
1981
1982=item C<d_isfinite>
1983
1984From F<d_isfinite.U>:
1985
1986This variable conditionally defines the C<HAS_ISFINITE> symbol, which
1987indicates to the C program that the isfinite() routine is available.
1988
1989=item C<d_isinf>
1990
1991From F<d_isinf.U>:
1992
1993This variable conditionally defines the C<HAS_ISINF> symbol, which
1994indicates to the C program that the isinf() routine is available.
1995
1996=item C<d_isnan>
1997
1998From F<d_isnan.U>:
1999
2000This variable conditionally defines the C<HAS_ISNAN> symbol, which
2001indicates to the C program that the isnan() routine is available.
2002
2003=item C<d_isnanl>
2004
2005From F<d_isnanl.U>:
2006
2007This variable conditionally defines the C<HAS_ISNANL> symbol, which
2008indicates to the C program that the isnanl() routine is available.
2009
2010=item C<d_killpg>
2011
2012From F<d_killpg.U>:
2013
2014This variable conditionally defines the C<HAS_KILLPG> symbol, which
2015indicates to the C program that the killpg() routine is available
2016to kill process groups.
2017
2018=item C<d_lchown>
2019
2020From F<d_lchown.U>:
2021
2022This variable conditionally defines the C<HAS_LCHOWN> symbol, which
2023indicates to the C program that the lchown() routine is available
2024to operate on a symbolic link (instead of following the link).
2025
2026=item C<d_ldbl_dig>
2027
2028From F<d_ldbl_dig.U>:
2029
2030This variable conditionally defines d_ldbl_dig if this system's
2031header files provide C<LDBL_DIG>, which is the number of significant
2032digits in a long double precision number.
2033
2034=item C<d_link>
2035
2036From F<d_link.U>:
2037
2038This variable conditionally defines C<HAS_LINK> if link() is
2039available to create hard links.
2040
2041=item C<d_localtime_r>
2042
2043From F<d_localtime_r.U>:
2044
2045This variable conditionally defines the C<HAS_LOCALTIME_R> symbol,
2046which indicates to the C program that the localtime_r()
2047routine is available.
2048
2049=item C<d_locconv>
2050
2051From F<d_locconv.U>:
2052
2053This variable conditionally defines C<HAS_LOCALECONV> if localeconv() is
2054available for numeric and monetary formatting conventions.
2055
2056=item C<d_lockf>
2057
2058From F<d_lockf.U>:
2059
2060This variable conditionally defines C<HAS_LOCKF> if lockf() is
2061available to do file locking.
2062
2063=item C<d_longdbl>
2064
2065From F<d_longdbl.U>:
2066
2067This variable conditionally defines C<HAS_LONG_DOUBLE> if
2068the long double type is supported.
2069
2070=item C<d_longlong>
2071
2072From F<d_longlong.U>:
2073
2074This variable conditionally defines C<HAS_LONG_LONG> if
2075the long long type is supported.
2076
2077=item C<d_lseekproto>
2078
2079From F<d_lseekproto.U>:
2080
2081This variable conditionally defines the C<HAS_LSEEK_PROTO> symbol,
2082which indicates to the C program that the system provides
2083a prototype for the lseek() function. Otherwise, it is
2084up to the program to supply one.
2085
2086=item C<d_lstat>
2087
2088From F<d_lstat.U>:
2089
2090This variable conditionally defines C<HAS_LSTAT> if lstat() is
2091available to do file stats on symbolic links.
2092
2093=item C<d_madvise>
2094
2095From F<d_madvise.U>:
2096
2097This variable conditionally defines C<HAS_MADVISE> if madvise() is
2098available to map a file into memory.
2099
2100=item C<d_malloc_size>
2101
2102From F<d_malloc_size.U>:
2103
2104This symbol, if defined, indicates that the malloc_size
2105routine is available for use.
2106
2107=item C<d_malloc_good_size>
2108
2109From F<d_malloc_good_size.U>:
2110
2111This symbol, if defined, indicates that the malloc_good_size
2112routine is available for use.
2113
2114=item C<d_mblen>
2115
2116From F<d_mblen.U>:
2117
2118This variable conditionally defines the C<HAS_MBLEN> symbol, which
2119indicates to the C program that the mblen() routine is available
2120to find the number of bytes in a multibye character.
2121
2122=item C<d_mbstowcs>
2123
2124From F<d_mbstowcs.U>:
2125
2126This variable conditionally defines the C<HAS_MBSTOWCS> symbol, which
2127indicates to the C program that the mbstowcs() routine is available
2128to convert a multibyte string into a wide character string.
2129
2130=item C<d_mbtowc>
2131
2132From F<d_mbtowc.U>:
2133
2134This variable conditionally defines the C<HAS_MBTOWC> symbol, which
2135indicates to the C program that the mbtowc() routine is available
2136to convert multibyte to a wide character.
2137
2138=item C<d_memchr>
2139
2140From F<d_memchr.U>:
2141
2142This variable conditionally defines the C<HAS_MEMCHR> symbol, which
2143indicates to the C program that the memchr() routine is available
2144to locate characters within a C string.
2145
2146=item C<d_memcmp>
2147
2148From F<d_memcmp.U>:
2149
2150This variable conditionally defines the C<HAS_MEMCMP> symbol, which
2151indicates to the C program that the memcmp() routine is available
2152to compare blocks of memory.
2153
2154=item C<d_memcpy>
2155
2156From F<d_memcpy.U>:
2157
2158This variable conditionally defines the C<HAS_MEMCPY> symbol, which
2159indicates to the C program that the memcpy() routine is available
2160to copy blocks of memory.
2161
2162=item C<d_memmove>
2163
2164From F<d_memmove.U>:
2165
2166This variable conditionally defines the C<HAS_MEMMOVE> symbol, which
2167indicates to the C program that the memmove() routine is available
2168to copy potentatially overlapping blocks of memory.
2169
2170=item C<d_memset>
2171
2172From F<d_memset.U>:
2173
2174This variable conditionally defines the C<HAS_MEMSET> symbol, which
2175indicates to the C program that the memset() routine is available
2176to set blocks of memory.
2177
2178=item C<d_mkdir>
2179
2180From F<d_mkdir.U>:
2181
2182This variable conditionally defines the C<HAS_MKDIR> symbol, which
2183indicates to the C program that the mkdir() routine is available
2184to create F<directories.>.
2185
2186=item C<d_mkdtemp>
2187
2188From F<d_mkdtemp.U>:
2189
2190This variable conditionally defines the C<HAS_MKDTEMP> symbol, which
2191indicates to the C program that the mkdtemp() routine is available
2192to exclusively create a uniquely named temporary directory.
2193
2194=item C<d_mkfifo>
2195
2196From F<d_mkfifo.U>:
2197
2198This variable conditionally defines the C<HAS_MKFIFO> symbol, which
2199indicates to the C program that the mkfifo() routine is available.
2200
2201=item C<d_mkstemp>
2202
2203From F<d_mkstemp.U>:
2204
2205This variable conditionally defines the C<HAS_MKSTEMP> symbol, which
2206indicates to the C program that the mkstemp() routine is available
2207to exclusively create and open a uniquely named temporary file.
2208
2209=item C<d_mkstemps>
2210
2211From F<d_mkstemps.U>:
2212
2213This variable conditionally defines the C<HAS_MKSTEMPS> symbol, which
2214indicates to the C program that the mkstemps() routine is available
2215to exclusively create and open a uniquely named (with a suffix)
2216temporary file.
2217
2218=item C<d_mktime>
2219
2220From F<d_mktime.U>:
2221
2222This variable conditionally defines the C<HAS_MKTIME> symbol, which
2223indicates to the C program that the mktime() routine is available.
2224
2225=item C<d_mmap>
2226
2227From F<d_mmap.U>:
2228
2229This variable conditionally defines C<HAS_MMAP> if mmap() is
2230available to map a file into memory.
2231
2232=item C<d_modfl>
2233
2234From F<d_modfl.U>:
2235
2236This variable conditionally defines the C<HAS_MODFL> symbol, which
2237indicates to the C program that the modfl() routine is available.
2238
2239=item C<d_modfl_pow32_bug>
2240
2241From F<d_modfl.U>:
2242
2243This variable conditionally defines the HAS_MODFL_POW32_BUG symbol,
2244which indicates that modfl() is broken for long doubles >= pow(2, 32).
2245For example from 4294967303.150000 one would get 4294967302.000000
2246and 1.150000. The bug has been seen in certain versions of glibc,
2247release 2.2.2 is known to be okay.
2248
2249=item C<d_modflproto>
2250
2251From F<d_modfl.U>:
2252
2253This symbol, if defined, indicates that the system provides
2254a prototype for the modfl() function. Otherwise, it is up
2255to the program to supply one. C99 says it should be
2256long double modfl(long double, long double *);
2257
2258=item C<d_mprotect>
2259
2260From F<d_mprotect.U>:
2261
2262This variable conditionally defines C<HAS_MPROTECT> if mprotect() is
2263available to modify the access protection of a memory mapped file.
2264
2265=item C<d_msg>
2266
2267From F<d_msg.U>:
2268
2269This variable conditionally defines the C<HAS_MSG> symbol, which
2270indicates that the entire msg*(2) library is present.
2271
2272=item C<d_msg_ctrunc>
2273
2274From F<d_socket.U>:
2275
2276This variable conditionally defines the C<HAS_MSG_CTRUNC> symbol,
2277which indicates that the C<MSG_CTRUNC> is available. #ifdef is
2278not enough because it may be an enum, glibc has been known to do this.
2279
2280=item C<d_msg_dontroute>
2281
2282From F<d_socket.U>:
2283
2284This variable conditionally defines the C<HAS_MSG_DONTROUTE> symbol,
2285which indicates that the C<MSG_DONTROUTE> is available. #ifdef is
2286not enough because it may be an enum, glibc has been known to do this.
2287
2288=item C<d_msg_oob>
2289
2290From F<d_socket.U>:
2291
2292This variable conditionally defines the C<HAS_MSG_OOB> symbol,
2293which indicates that the C<MSG_OOB> is available. #ifdef is
2294not enough because it may be an enum, glibc has been known to do this.
2295
2296=item C<d_msg_peek>
2297
2298From F<d_socket.U>:
2299
2300This variable conditionally defines the C<HAS_MSG_PEEK> symbol,
2301which indicates that the C<MSG_PEEK> is available. #ifdef is
2302not enough because it may be an enum, glibc has been known to do this.
2303
2304=item C<d_msg_proxy>
2305
2306From F<d_socket.U>:
2307
2308This variable conditionally defines the C<HAS_MSG_PROXY> symbol,
2309which indicates that the C<MSG_PROXY> is available. #ifdef is
2310not enough because it may be an enum, glibc has been known to do this.
2311
2312=item C<d_msgctl>
2313
2314From F<d_msgctl.U>:
2315
2316This variable conditionally defines the C<HAS_MSGCTL> symbol, which
2317indicates to the C program that the msgctl() routine is available.
2318
2319=item C<d_msgget>
2320
2321From F<d_msgget.U>:
2322
2323This variable conditionally defines the C<HAS_MSGGET> symbol, which
2324indicates to the C program that the msgget() routine is available.
2325
2326=item C<d_msghdr_s>
2327
2328From F<d_msghdr_s.U>:
2329
2330This variable conditionally defines the C<HAS_STRUCT_MSGHDR> symbol,
2331which indicates that the struct msghdr is supported.
2332
2333=item C<d_msgrcv>
2334
2335From F<d_msgrcv.U>:
2336
2337This variable conditionally defines the C<HAS_MSGRCV> symbol, which
2338indicates to the C program that the msgrcv() routine is available.
2339
2340=item C<d_msgsnd>
2341
2342From F<d_msgsnd.U>:
2343
2344This variable conditionally defines the C<HAS_MSGSND> symbol, which
2345indicates to the C program that the msgsnd() routine is available.
2346
2347=item C<d_msync>
2348
2349From F<d_msync.U>:
2350
2351This variable conditionally defines C<HAS_MSYNC> if msync() is
2352available to synchronize a mapped file.
2353
2354=item C<d_munmap>
2355
2356From F<d_munmap.U>:
2357
2358This variable conditionally defines C<HAS_MUNMAP> if munmap() is
2359available to unmap a region mapped by mmap().
2360
2361=item C<d_mymalloc>
2362
2363From F<mallocsrc.U>:
2364
2365This variable conditionally defines C<MYMALLOC> in case other parts
2366of the source want to take special action if C<MYMALLOC> is used.
2367This may include different sorts of profiling or error detection.
2368
2369=item C<d_nanosleep>
2370
2371From F<d_nanosleep.U>:
2372
2373This variable conditionally defines C<HAS_NANOSLEEP>
2374if nanosleep() is available to sleep with 1E-9 sec accuracy.
2375
2376=item C<d_nice>
2377
2378From F<d_nice.U>:
2379
2380This variable conditionally defines the C<HAS_NICE> symbol, which
2381indicates to the C program that the nice() routine is available.
2382
2383=item C<d_nl_langinfo>
2384
2385From F<d_nl_langinfo.U>:
2386
2387This variable conditionally defines the C<HAS_NL_LANGINFO> symbol, which
2388indicates to the C program that the nl_langinfo() routine is available.
2389
2390=item C<d_nv_preserves_uv>
2391
2392From F<perlxv.U>:
2393
2394This variable indicates whether a variable of type nvtype
2395can preserve all the bits a variable of type uvtype.
2396
2397=item C<d_nv_zero_is_allbits_zero>
2398
2399From F<perlxv.U>:
2400
2401This variable indicates whether a variable of type nvtype
2402stores 0.0 in memory as all bits zero.
2403
2404=item C<d_off64_t>
2405
2406From F<d_off64_t.U>:
2407
2408This symbol will be defined if the C compiler supports off64_t.
2409
2410=item C<d_old_pthread_create_joinable>
2411
2412From F<d_pthrattrj.U>:
2413
2414This variable conditionally defines pthread_create_joinable.
2415undef if F<pthread.h> defines C<PTHREAD_CREATE_JOINABLE>.
2416
2417=item C<d_oldpthreads>
2418
2419From F<usethreads.U>:
2420
2421This variable conditionally defines the C<OLD_PTHREADS_API> symbol,
2422and indicates that Perl should be built to use the old
2423draft C<POSIX> threads C<API>. This is only potentially meaningful if
2424usethreads is set.
2425
2426=item C<d_oldsock>
2427
2428From F<d_socket.U>:
2429
2430This variable conditionally defines the C<OLDSOCKET> symbol, which
2431indicates that the C<BSD> socket interface is based on 4.1c and not 4.2.
2432
2433=item C<d_open3>
2434
2435From F<d_open3.U>:
2436
2437This variable conditionally defines the HAS_OPEN3 manifest constant,
2438which indicates to the C program that the 3 argument version of
2439the open(2) function is available.
2440
2441=item C<d_pathconf>
2442
2443From F<d_pathconf.U>:
2444
2445This variable conditionally defines the C<HAS_PATHCONF> symbol, which
2446indicates to the C program that the pathconf() routine is available
2447to determine file-system related limits and options associated
2448with a given filename.
2449
2450=item C<d_pause>
2451
2452From F<d_pause.U>:
2453
2454This variable conditionally defines the C<HAS_PAUSE> symbol, which
2455indicates to the C program that the pause() routine is available
2456to suspend a process until a signal is received.
2457
2458=item C<d_perl_otherlibdirs>
2459
2460From F<otherlibdirs.U>:
2461
2462This variable conditionally defines C<PERL_OTHERLIBDIRS>, which
2463contains a colon-separated set of paths for the perl binary to
2464include in @C<INC>. See also otherlibdirs.
2465
2466=item C<d_phostname>
2467
2468From F<d_gethname.U>:
2469
2470This variable conditionally defines the C<HAS_PHOSTNAME> symbol, which
2471contains the shell command which, when fed to popen(), may be
2472used to derive the host name.
2473
2474=item C<d_pipe>
2475
2476From F<d_pipe.U>:
2477
2478This variable conditionally defines the C<HAS_PIPE> symbol, which
2479indicates to the C program that the pipe() routine is available
2480to create an inter-process channel.
2481
2482=item C<d_poll>
2483
2484From F<d_poll.U>:
2485
2486This variable conditionally defines the C<HAS_POLL> symbol, which
2487indicates to the C program that the poll() routine is available
2488to poll active file descriptors.
2489
2490=item C<d_portable>
2491
2492From F<d_portable.U>:
2493
2494This variable conditionally defines the C<PORTABLE> symbol, which
2495indicates to the C program that it should not assume that it is
2496running on the machine it was compiled on.
2497
2498=item C<d_PRId64>
2499
2500From F<quadfio.U>:
2501
2502This variable conditionally defines the PERL_PRId64 symbol, which
2503indiciates that stdio has a symbol to print 64-bit decimal numbers.
2504
2505=item C<d_PRIeldbl>
2506
2507From F<longdblfio.U>:
2508
2509This variable conditionally defines the PERL_PRIfldbl symbol, which
2510indiciates that stdio has a symbol to print long doubles.
2511
2512=item C<d_PRIEUldbl>
2513
2514From F<longdblfio.U>:
2515
2516This variable conditionally defines the PERL_PRIfldbl symbol, which
2517indiciates that stdio has a symbol to print long doubles.
2518The C<U> in the name is to separate this from d_PRIeldbl so that even
2519case-blind systems can see the difference.
2520
2521=item C<d_PRIfldbl>
2522
2523From F<longdblfio.U>:
2524
2525This variable conditionally defines the PERL_PRIfldbl symbol, which
2526indiciates that stdio has a symbol to print long doubles.
2527
2528=item C<d_PRIFUldbl>
2529
2530From F<longdblfio.U>:
2531
2532This variable conditionally defines the PERL_PRIfldbl symbol, which
2533indiciates that stdio has a symbol to print long doubles.
2534The C<U> in the name is to separate this from d_PRIfldbl so that even
2535case-blind systems can see the difference.
2536
2537=item C<d_PRIgldbl>
2538
2539From F<longdblfio.U>:
2540
2541This variable conditionally defines the PERL_PRIfldbl symbol, which
2542indiciates that stdio has a symbol to print long doubles.
2543
2544=item C<d_PRIGUldbl>
2545
2546From F<longdblfio.U>:
2547
2548This variable conditionally defines the PERL_PRIfldbl symbol, which
2549indiciates that stdio has a symbol to print long doubles.
2550The C<U> in the name is to separate this from d_PRIgldbl so that even
2551case-blind systems can see the difference.
2552
2553=item C<d_PRIi64>
2554
2555From F<quadfio.U>:
2556
2557This variable conditionally defines the PERL_PRIi64 symbol, which
2558indiciates that stdio has a symbol to print 64-bit decimal numbers.
2559
2560=item C<d_PRIo64>
2561
2562From F<quadfio.U>:
2563
2564This variable conditionally defines the PERL_PRIo64 symbol, which
2565indiciates that stdio has a symbol to print 64-bit octal numbers.
2566
2567=item C<d_PRIu64>
2568
2569From F<quadfio.U>:
2570
2571This variable conditionally defines the PERL_PRIu64 symbol, which
2572indiciates that stdio has a symbol to print 64-bit unsigned decimal
2573numbers.
2574
2575=item C<d_PRIx64>
2576
2577From F<quadfio.U>:
2578
2579This variable conditionally defines the PERL_PRIx64 symbol, which
2580indiciates that stdio has a symbol to print 64-bit hexadecimal numbers.
2581
2582=item C<d_PRIXU64>
2583
2584From F<quadfio.U>:
2585
2586This variable conditionally defines the PERL_PRIXU64 symbol, which
2587indiciates that stdio has a symbol to print 64-bit hExADECimAl numbers.
2588The C<U> in the name is to separate this from d_PRIx64 so that even
2589case-blind systems can see the difference.
2590
2591=item C<d_procselfexe>
2592
2593From F<d_procselfexe.U>:
2594
2595Defined if $procselfexe is symlink to the absolute
2596pathname of the executing program.
2597
2598=item C<d_pthread_atfork>
2599
2600From F<d_pthread_atfork.U>:
2601
2602This variable conditionally defines the C<HAS_PTHREAD_ATFORK> symbol,
2603which indicates to the C program that the pthread_atfork()
2604routine is available.
2605
2606=item C<d_pthread_attr_setscope>
2607
2608From F<d_pthread_attr_ss.U>:
2609
2610This variable conditionally defines C<HAS_PTHREAD_ATTR_SETSCOPE> if
2611pthread_attr_setscope() is available to set the contention scope
2612attribute of a thread attribute object.
2613
2614=item C<d_pthread_yield>
2615
2616From F<d_pthread_y.U>:
2617
2618This variable conditionally defines the C<HAS_PTHREAD_YIELD>
2619symbol if the pthread_yield routine is available to yield
2620the execution of the current thread.
2621
2622=item C<d_pwage>
2623
2624From F<i_pwd.U>:
2625
2626This variable conditionally defines C<PWAGE>, which indicates
2627that struct passwd contains pw_age.
2628
2629=item C<d_pwchange>
2630
2631From F<i_pwd.U>:
2632
2633This variable conditionally defines C<PWCHANGE>, which indicates
2634that struct passwd contains pw_change.
2635
2636=item C<d_pwclass>
2637
2638From F<i_pwd.U>:
2639
2640This variable conditionally defines C<PWCLASS>, which indicates
2641that struct passwd contains pw_class.
2642
2643=item C<d_pwcomment>
2644
2645From F<i_pwd.U>:
2646
2647This variable conditionally defines C<PWCOMMENT>, which indicates
2648that struct passwd contains pw_comment.
2649
2650=item C<d_pwexpire>
2651
2652From F<i_pwd.U>:
2653
2654This variable conditionally defines C<PWEXPIRE>, which indicates
2655that struct passwd contains pw_expire.
2656
2657=item C<d_pwgecos>
2658
2659From F<i_pwd.U>:
2660
2661This variable conditionally defines C<PWGECOS>, which indicates
2662that struct passwd contains pw_gecos.
2663
2664=item C<d_pwpasswd>
2665
2666From F<i_pwd.U>:
2667
2668This variable conditionally defines C<PWPASSWD>, which indicates
2669that struct passwd contains pw_passwd.
2670
2671=item C<d_pwquota>
2672
2673From F<i_pwd.U>:
2674
2675This variable conditionally defines C<PWQUOTA>, which indicates
2676that struct passwd contains pw_quota.
2677
2678=item C<d_qgcvt>
2679
2680From F<d_qgcvt.U>:
2681
2682This variable conditionally defines the C<HAS_QGCVT> symbol, which
2683indicates to the C program that the qgcvt() routine is available.
2684
2685=item C<d_quad>
2686
2687From F<quadtype.U>:
2688
2689This variable, if defined, tells that there's a 64-bit integer type,
2690quadtype.
2691
2692=item C<d_random_r>
2693
2694From F<d_random_r.U>:
2695
2696This variable conditionally defines the C<HAS_RANDOM_R> symbol,
2697which indicates to the C program that the random_r()
2698routine is available.
2699
2700=item C<d_readdir64_r>
2701
2702From F<d_readdir64_r.U>:
2703
2704This variable conditionally defines the HAS_READDIR64_R symbol,
2705which indicates to the C program that the readdir64_r()
2706routine is available.
2707
2708=item C<d_readdir>
2709
2710From F<d_readdir.U>:
2711
2712This variable conditionally defines C<HAS_READDIR> if readdir() is
2713available to read directory entries.
2714
2715=item C<d_readdir_r>
2716
2717From F<d_readdir_r.U>:
2718
2719This variable conditionally defines the C<HAS_READDIR_R> symbol,
2720which indicates to the C program that the readdir_r()
2721routine is available.
2722
2723=item C<d_readlink>
2724
2725From F<d_readlink.U>:
2726
2727This variable conditionally defines the C<HAS_READLINK> symbol, which
2728indicates to the C program that the readlink() routine is available
2729to read the value of a symbolic link.
2730
2731=item C<d_readv>
2732
2733From F<d_readv.U>:
2734
2735This variable conditionally defines the C<HAS_READV> symbol, which
2736indicates to the C program that the readv() routine is available.
2737
2738=item C<d_recvmsg>
2739
2740From F<d_recvmsg.U>:
2741
2742This variable conditionally defines the C<HAS_RECVMSG> symbol, which
2743indicates to the C program that the recvmsg() routine is available.
2744
2745=item C<d_rename>
2746
2747From F<d_rename.U>:
2748
2749This variable conditionally defines the C<HAS_RENAME> symbol, which
2750indicates to the C program that the rename() routine is available
2751to rename files.
2752
2753=item C<d_rewinddir>
2754
2755From F<d_readdir.U>:
2756
2757This variable conditionally defines C<HAS_REWINDDIR> if rewinddir() is
2758available.
2759
2760=item C<d_rmdir>
2761
2762From F<d_rmdir.U>:
2763
2764This variable conditionally defines C<HAS_RMDIR> if rmdir() is
2765available to remove directories.
2766
2767=item C<d_safebcpy>
2768
2769From F<d_safebcpy.U>:
2770
2771This variable conditionally defines the C<HAS_SAFE_BCOPY> symbol if
2772the bcopy() routine can do overlapping copies. Normally, you
2773should probably use memmove().
2774
2775=item C<d_safemcpy>
2776
2777From F<d_safemcpy.U>:
2778
2779This variable conditionally defines the C<HAS_SAFE_MEMCPY> symbol if
2780the memcpy() routine can do overlapping copies.
2781For overlapping copies, memmove() should be used, if available.
2782
2783=item C<d_sanemcmp>
2784
2785From F<d_sanemcmp.U>:
2786
2787This variable conditionally defines the C<HAS_SANE_MEMCMP> symbol if
2788the memcpy() routine is available and can be used to compare relative
2789magnitudes of chars with their high bits set.
2790
2791=item C<d_sbrkproto>
2792
2793From F<d_sbrkproto.U>:
2794
2795This variable conditionally defines the C<HAS_SBRK_PROTO> symbol,
2796which indicates to the C program that the system provides
2797a prototype for the sbrk() function. Otherwise, it is
2798up to the program to supply one.
2799
2800=item C<d_scalbnl>
2801
2802From F<d_scalbnl.U>:
2803
2804This variable conditionally defines the C<HAS_SCALBNL> symbol, which
2805indicates to the C program that the scalbnl() routine is available.
2806If ilogbl is also present we can emulate frexpl.
2807
2808=item C<d_sched_yield>
2809
2810From F<d_pthread_y.U>:
2811
2812This variable conditionally defines the C<HAS_SCHED_YIELD>
2813symbol if the sched_yield routine is available to yield
2814the execution of the current thread.
2815
2816=item C<d_scm_rights>
2817
2818From F<d_socket.U>:
2819
2820This variable conditionally defines the C<HAS_SCM_RIGHTS> symbol,
2821which indicates that the C<SCM_RIGHTS> is available. #ifdef is
2822not enough because it may be an enum, glibc has been known to do this.
2823
2824=item C<d_SCNfldbl>
2825
2826From F<longdblfio.U>:
2827
2828This variable conditionally defines the PERL_PRIfldbl symbol, which
2829indiciates that stdio has a symbol to scan long doubles.
2830
2831=item C<d_seekdir>
2832
2833From F<d_readdir.U>:
2834
2835This variable conditionally defines C<HAS_SEEKDIR> if seekdir() is
2836available.
2837
2838=item C<d_select>
2839
2840From F<d_select.U>:
2841
2842This variable conditionally defines C<HAS_SELECT> if select() is
2843available to select active file descriptors. A <sys/time.h>
2844inclusion may be necessary for the timeout field.
2845
2846=item C<d_sem>
2847
2848From F<d_sem.U>:
2849
2850This variable conditionally defines the C<HAS_SEM> symbol, which
2851indicates that the entire sem*(2) library is present.
2852
2853=item C<d_semctl>
2854
2855From F<d_semctl.U>:
2856
2857This variable conditionally defines the C<HAS_SEMCTL> symbol, which
2858indicates to the C program that the semctl() routine is available.
2859
2860=item C<d_semctl_semid_ds>
2861
2862From F<d_union_semun.U>:
2863
2864This variable conditionally defines C<USE_SEMCTL_SEMID_DS>, which
2865indicates that struct semid_ds * is to be used for semctl C<IPC_STAT>.
2866
2867=item C<d_semctl_semun>
2868
2869From F<d_union_semun.U>:
2870
2871This variable conditionally defines C<USE_SEMCTL_SEMUN>, which
2872indicates that union semun is to be used for semctl C<IPC_STAT>.
2873
2874=item C<d_semget>
2875
2876From F<d_semget.U>:
2877
2878This variable conditionally defines the C<HAS_SEMGET> symbol, which
2879indicates to the C program that the semget() routine is available.
2880
2881=item C<d_semop>
2882
2883From F<d_semop.U>:
2884
2885This variable conditionally defines the C<HAS_SEMOP> symbol, which
2886indicates to the C program that the semop() routine is available.
2887
2888=item C<d_sendmsg>
2889
2890From F<d_sendmsg.U>:
2891
2892This variable conditionally defines the C<HAS_SENDMSG> symbol, which
2893indicates to the C program that the sendmsg() routine is available.
2894
2895=item C<d_setegid>
2896
2897From F<d_setegid.U>:
2898
2899This variable conditionally defines the C<HAS_SETEGID> symbol, which
2900indicates to the C program that the setegid() routine is available
2901to change the effective gid of the current program.
2902
2903=item C<d_seteuid>
2904
2905From F<d_seteuid.U>:
2906
2907This variable conditionally defines the C<HAS_SETEUID> symbol, which
2908indicates to the C program that the seteuid() routine is available
2909to change the effective uid of the current program.
2910
2911=item C<d_setgrent>
2912
2913From F<d_setgrent.U>:
2914
2915This variable conditionally defines the C<HAS_SETGRENT> symbol, which
2916indicates to the C program that the setgrent() routine is available
2917for initializing sequential access to the group database.
2918
2919=item C<d_setgrent_r>
2920
2921From F<d_setgrent_r.U>:
2922
2923This variable conditionally defines the C<HAS_SETGRENT_R> symbol,
2924which indicates to the C program that the setgrent_r()
2925routine is available.
2926
2927=item C<d_setgrps>
2928
2929From F<d_setgrps.U>:
2930
2931This variable conditionally defines the C<HAS_SETGROUPS> symbol, which
2932indicates to the C program that the setgroups() routine is available
2933to set the list of process groups.
2934
2935=item C<d_sethent>
2936
2937From F<d_sethent.U>:
2938
2939This variable conditionally defines C<HAS_SETHOSTENT> if sethostent() is
2940available.
2941
2942=item C<d_sethostent_r>
2943
2944From F<d_sethostent_r.U>:
2945
2946This variable conditionally defines the C<HAS_SETHOSTENT_R> symbol,
2947which indicates to the C program that the sethostent_r()
2948routine is available.
2949
2950=item C<d_setitimer>
2951
2952From F<d_setitimer.U>:
2953
2954This variable conditionally defines the C<HAS_SETITIMER> symbol, which
2955indicates to the C program that the setitimer() routine is available.
2956
2957=item C<d_setlinebuf>
2958
2959From F<d_setlnbuf.U>:
2960
2961This variable conditionally defines the C<HAS_SETLINEBUF> symbol, which
2962indicates to the C program that the setlinebuf() routine is available
2963to change stderr or stdout from block-buffered or unbuffered to a
2964line-buffered mode.
2965
2966=item C<d_setlocale>
2967
2968From F<d_setlocale.U>:
2969
2970This variable conditionally defines C<HAS_SETLOCALE> if setlocale() is
2971available to handle locale-specific ctype implementations.
2972
2973=item C<d_setlocale_r>
2974
2975From F<d_setlocale_r.U>:
2976
2977This variable conditionally defines the C<HAS_SETLOCALE_R> symbol,
2978which indicates to the C program that the setlocale_r()
2979routine is available.
2980
2981=item C<d_setnent>
2982
2983From F<d_setnent.U>:
2984
2985This variable conditionally defines C<HAS_SETNETENT> if setnetent() is
2986available.
2987
2988=item C<d_setnetent_r>
2989
2990From F<d_setnetent_r.U>:
2991
2992This variable conditionally defines the C<HAS_SETNETENT_R> symbol,
2993which indicates to the C program that the setnetent_r()
2994routine is available.
2995
2996=item C<d_setpent>
2997
2998From F<d_setpent.U>:
2999
3000This variable conditionally defines C<HAS_SETPROTOENT> if setprotoent() is
3001available.
3002
3003=item C<d_setpgid>
3004
3005From F<d_setpgid.U>:
3006
3007This variable conditionally defines the C<HAS_SETPGID> symbol if the
3008setpgid(pid, gpid) function is available to set process group C<ID>.
3009
3010=item C<d_setpgrp2>
3011
3012From F<d_setpgrp2.U>:
3013
3014This variable conditionally defines the HAS_SETPGRP2 symbol, which
3015indicates to the C program that the setpgrp2() (as in F<DG/C<UX>>) routine
3016is available to set the current process group.
3017
3018=item C<d_setpgrp>
3019
3020From F<d_setpgrp.U>:
3021
3022This variable conditionally defines C<HAS_SETPGRP> if setpgrp() is
3023available to set the current process group.
3024
3025=item C<d_setprior>
3026
3027From F<d_setprior.U>:
3028
3029This variable conditionally defines C<HAS_SETPRIORITY> if setpriority()
3030is available to set a process's priority.
3031
3032=item C<d_setproctitle>
3033
3034From F<d_setproctitle.U>:
3035
3036This variable conditionally defines the C<HAS_SETPROCTITLE> symbol,
3037which indicates to the C program that the setproctitle() routine
3038is available.
3039
3040=item C<d_setprotoent_r>
3041
3042From F<d_setprotoent_r.U>:
3043
3044This variable conditionally defines the C<HAS_SETPROTOENT_R> symbol,
3045which indicates to the C program that the setprotoent_r()
3046routine is available.
3047
3048=item C<d_setpwent>
3049
3050From F<d_setpwent.U>:
3051
3052This variable conditionally defines the C<HAS_SETPWENT> symbol, which
3053indicates to the C program that the setpwent() routine is available
3054for initializing sequential access to the passwd database.
3055
3056=item C<d_setpwent_r>
3057
3058From F<d_setpwent_r.U>:
3059
3060This variable conditionally defines the C<HAS_SETPWENT_R> symbol,
3061which indicates to the C program that the setpwent_r()
3062routine is available.
3063
3064=item C<d_setregid>
3065
3066From F<d_setregid.U>:
3067
3068This variable conditionally defines C<HAS_SETREGID> if setregid() is
3069available to change the real and effective gid of the current
3070process.
3071
3072=item C<d_setresgid>
3073
3074From F<d_setregid.U>:
3075
3076This variable conditionally defines C<HAS_SETRESGID> if setresgid() is
3077available to change the real, effective and saved gid of the current
3078process.
3079
3080=item C<d_setresuid>
3081
3082From F<d_setreuid.U>:
3083
3084This variable conditionally defines C<HAS_SETREUID> if setresuid() is
3085available to change the real, effective and saved uid of the current
3086process.
3087
3088=item C<d_setreuid>
3089
3090From F<d_setreuid.U>:
3091
3092This variable conditionally defines C<HAS_SETREUID> if setreuid() is
3093available to change the real and effective uid of the current
3094process.
3095
3096=item C<d_setrgid>
3097
3098From F<d_setrgid.U>:
3099
3100This variable conditionally defines the C<HAS_SETRGID> symbol, which
3101indicates to the C program that the setrgid() routine is available
3102to change the real gid of the current program.
3103
3104=item C<d_setruid>
3105
3106From F<d_setruid.U>:
3107
3108This variable conditionally defines the C<HAS_SETRUID> symbol, which
3109indicates to the C program that the setruid() routine is available
3110to change the real uid of the current program.
3111
3112=item C<d_setsent>
3113
3114From F<d_setsent.U>:
3115
3116This variable conditionally defines C<HAS_SETSERVENT> if setservent() is
3117available.
3118
3119=item C<d_setservent_r>
3120
3121From F<d_setservent_r.U>:
3122
3123This variable conditionally defines the C<HAS_SETSERVENT_R> symbol,
3124which indicates to the C program that the setservent_r()
3125routine is available.
3126
3127=item C<d_setsid>
3128
3129From F<d_setsid.U>:
3130
3131This variable conditionally defines C<HAS_SETSID> if setsid() is
3132available to set the process group C<ID>.
3133
3134=item C<d_setvbuf>
3135
3136From F<d_setvbuf.U>:
3137
3138This variable conditionally defines the C<HAS_SETVBUF> symbol, which
3139indicates to the C program that the setvbuf() routine is available
3140to change buffering on an open stdio stream.
3141
3142=item C<d_sfio>
3143
3144From F<d_sfio.U>:
3145
3146This variable conditionally defines the C<USE_SFIO> symbol,
3147and indicates whether sfio is available (and should be used).
3148
3149=item C<d_shm>
3150
3151From F<d_shm.U>:
3152
3153This variable conditionally defines the C<HAS_SHM> symbol, which
3154indicates that the entire shm*(2) library is present.
3155
3156=item C<d_shmat>
3157
3158From F<d_shmat.U>:
3159
3160This variable conditionally defines the C<HAS_SHMAT> symbol, which
3161indicates to the C program that the shmat() routine is available.
3162
3163=item C<d_shmatprototype>
3164
3165From F<d_shmat.U>:
3166
3167This variable conditionally defines the C<HAS_SHMAT_PROTOTYPE>
3168symbol, which indicates that F<sys/shm.h> has a prototype for
3169shmat.
3170
3171=item C<d_shmctl>
3172
3173From F<d_shmctl.U>:
3174
3175This variable conditionally defines the C<HAS_SHMCTL> symbol, which
3176indicates to the C program that the shmctl() routine is available.
3177
3178=item C<d_shmdt>
3179
3180From F<d_shmdt.U>:
3181
3182This variable conditionally defines the C<HAS_SHMDT> symbol, which
3183indicates to the C program that the shmdt() routine is available.
3184
3185=item C<d_shmget>
3186
3187From F<d_shmget.U>:
3188
3189This variable conditionally defines the C<HAS_SHMGET> symbol, which
3190indicates to the C program that the shmget() routine is available.
3191
3192=item C<d_sigaction>
3193
3194From F<d_sigaction.U>:
3195
3196This variable conditionally defines the C<HAS_SIGACTION> symbol, which
3197indicates that the Vr4 sigaction() routine is available.
3198
3199=item C<d_sigprocmask>
3200
3201From F<d_sigprocmask.U>:
3202
3203This variable conditionally defines C<HAS_SIGPROCMASK>
3204if sigprocmask() is available to examine or change the signal mask
3205of the calling process.
3206
3207=item C<d_sigsetjmp>
3208
3209From F<d_sigsetjmp.U>:
3210
3211This variable conditionally defines the C<HAS_SIGSETJMP> symbol,
3212which indicates that the sigsetjmp() routine is available to
3213call setjmp() and optionally save the process's signal mask.
3214
3215=item C<d_sockatmark>
3216
3217From F<d_sockatmark.U>:
3218
3219This variable conditionally defines the C<HAS_SOCKATMARK> symbol, which
3220indicates to the C program that the sockatmark() routine is available.
3221
3222=item C<d_sockatmarkproto>
3223
3224From F<d_sockatmarkproto.U>:
3225
3226This variable conditionally defines the C<HAS_SOCKATMARK_PROTO> symbol,
3227which indicates to the C program that the system provides
3228a prototype for the sockatmark() function. Otherwise, it is
3229up to the program to supply one.
3230
3231=item C<d_socket>
3232
3233From F<d_socket.U>:
3234
3235This variable conditionally defines C<HAS_SOCKET>, which indicates
3236that the C<BSD> socket interface is supported.
3237
3238=item C<d_socklen_t>
3239
3240From F<d_socklen_t.U>:
3241
3242This symbol will be defined if the C compiler supports socklen_t.
3243
3244=item C<d_sockpair>
3245
3246From F<d_socket.U>:
3247
3248This variable conditionally defines the C<HAS_SOCKETPAIR> symbol, which
3249indicates that the C<BSD> socketpair() is supported.
3250
3251=item C<d_socks5_init>
3252
3253From F<d_socks5_init.U>:
3254
3255This variable conditionally defines the HAS_SOCKS5_INIT symbol, which
3256indicates to the C program that the socks5_init() routine is available.
3257
3258=item C<d_sprintf_returns_strlen>
3259
3260From F<d_sprintf_returns_strlen.U>:
3261
3262This variable defines whether sprintf returns the length of the string
3263(as per the C<ANSI> spec). Some C libraries retain compatibility with
3264pre-C<ANSI> C and return a pointer to the passed in buffer; for these
3265this variable will be undef.
3266
3267=item C<d_sqrtl>
3268
3269From F<d_sqrtl.U>:
3270
3271This variable conditionally defines the C<HAS_SQRTL> symbol, which
3272indicates to the C program that the sqrtl() routine is available.
3273
3274=item C<d_srand48_r>
3275
3276From F<d_srand48_r.U>:
3277
3278This variable conditionally defines the HAS_SRAND48_R symbol,
3279which indicates to the C program that the srand48_r()
3280routine is available.
3281
3282=item C<d_srandom_r>
3283
3284From F<d_srandom_r.U>:
3285
3286This variable conditionally defines the C<HAS_SRANDOM_R> symbol,
3287which indicates to the C program that the srandom_r()
3288routine is available.
3289
3290=item C<d_sresgproto>
3291
3292From F<d_sresgproto.U>:
3293
3294This variable conditionally defines the C<HAS_SETRESGID_PROTO> symbol,
3295which indicates to the C program that the system provides
3296a prototype for the setresgid() function. Otherwise, it is
3297up to the program to supply one.
3298
3299=item C<d_sresuproto>
3300
3301From F<d_sresuproto.U>:
3302
3303This variable conditionally defines the C<HAS_SETRESUID_PROTO> symbol,
3304which indicates to the C program that the system provides
3305a prototype for the setresuid() function. Otherwise, it is
3306up to the program to supply one.
3307
3308=item C<d_statblks>
3309
3310From F<d_statblks.U>:
3311
3312This variable conditionally defines C<USE_STAT_BLOCKS>
3313if this system has a stat structure declaring
3314st_blksize and st_blocks.
3315
3316=item C<d_statfs_f_flags>
3317
3318From F<d_statfs_f_flags.U>:
3319
3320This variable conditionally defines the C<HAS_STRUCT_STATFS_F_FLAGS>
3321symbol, which indicates to struct statfs from has f_flags member.
3322This kind of struct statfs is coming from F<sys/mount.h> (C<BSD>),
3323not from F<sys/statfs.h> (C<SYSV>).
3324
3325=item C<d_statfs_s>
3326
3327From F<d_statfs_s.U>:
3328
3329This variable conditionally defines the C<HAS_STRUCT_STATFS> symbol,
3330which indicates that the struct statfs is supported.
3331
3332=item C<d_statvfs>
3333
3334From F<d_statvfs.U>:
3335
3336This variable conditionally defines the C<HAS_STATVFS> symbol, which
3337indicates to the C program that the statvfs() routine is available.
3338
3339=item C<d_stdio_cnt_lval>
3340
3341From F<d_stdstdio.U>:
3342
3343This variable conditionally defines C<STDIO_CNT_LVALUE> if the
3344C<FILE_cnt> macro can be used as an lvalue.
3345
3346=item C<d_stdio_ptr_lval>
3347
3348From F<d_stdstdio.U>:
3349
3350This variable conditionally defines C<STDIO_PTR_LVALUE> if the
3351C<FILE_ptr> macro can be used as an lvalue.
3352
3353=item C<d_stdio_ptr_lval_nochange_cnt>
3354
3355From F<d_stdstdio.U>:
3356
3357This symbol is defined if using the C<FILE_ptr> macro as an lvalue
3358to increase the pointer by n leaves File_cnt(fp) unchanged.
3359
3360=item C<d_stdio_ptr_lval_sets_cnt>
3361
3362From F<d_stdstdio.U>:
3363
3364This symbol is defined if using the C<FILE_ptr> macro as an lvalue
3365to increase the pointer by n has the side effect of decreasing the
3366value of File_cnt(fp) by n.
3367
3368=item C<d_stdio_stream_array>
3369
3370From F<stdio_streams.U>:
3371
3372This variable tells whether there is an array holding
3373the stdio streams.
3374
3375=item C<d_stdiobase>
3376
3377From F<d_stdstdio.U>:
3378
3379This variable conditionally defines C<USE_STDIO_BASE> if this system
3380has a C<FILE> structure declaring a usable _base field (or equivalent)
3381in F<stdio.h>.
3382
3383=item C<d_stdstdio>
3384
3385From F<d_stdstdio.U>:
3386
3387This variable conditionally defines C<USE_STDIO_PTR> if this system
3388has a C<FILE> structure declaring usable _ptr and _cnt fields (or
3389equivalent) in F<stdio.h>.
3390
3391=item C<d_strchr>
3392
3393From F<d_strchr.U>:
3394
3395This variable conditionally defines C<HAS_STRCHR> if strchr() and
3396strrchr() are available for string searching.
3397
3398=item C<d_strcoll>
3399
3400From F<d_strcoll.U>:
3401
3402This variable conditionally defines C<HAS_STRCOLL> if strcoll() is
3403available to compare strings using collating information.
3404
3405=item C<d_strctcpy>
3406
3407From F<d_strctcpy.U>:
3408
3409This variable conditionally defines the C<USE_STRUCT_COPY> symbol, which
3410indicates to the C program that this C compiler knows how to copy
3411structures.
3412
3413=item C<d_strerrm>
3414
3415From F<d_strerror.U>:
3416
3417This variable holds what Strerrr is defined as to translate an error
3418code condition into an error message string. It could be C<strerror>
3419or a more C<complex> macro emulating strrror with sys_errlist[], or the
3420C<unknown> string when both strerror and sys_errlist are missing.
3421
3422=item C<d_strerror>
3423
3424From F<d_strerror.U>:
3425
3426This variable conditionally defines C<HAS_STRERROR> if strerror() is
3427available to translate error numbers to strings.
3428
3429=item C<d_strerror_r>
3430
3431From F<d_strerror_r.U>:
3432
3433This variable conditionally defines the C<HAS_STRERROR_R> symbol,
3434which indicates to the C program that the strerror_r()
3435routine is available.
3436
3437=item C<d_strftime>
3438
3439From F<d_strftime.U>:
3440
3441This variable conditionally defines the C<HAS_STRFTIME> symbol, which
3442indicates to the C program that the strftime() routine is available.
3443
3444=item C<d_strlcat>
3445
3446From F<d_strlcat.U>:
3447
3448This variable conditionally defines the C<HAS_STRLCAT> symbol, which
3449indicates to the C program that the strlcat () routine is available.
3450
3451=item C<d_strlcpy>
3452
3453From F<d_strlcpy.U>:
3454
3455This variable conditionally defines the C<HAS_STRLCPY> symbol, which
3456indicates to the C program that the strlcpy () routine is available.
3457
3458=item C<d_strtod>
3459
3460From F<d_strtod.U>:
3461
3462This variable conditionally defines the C<HAS_STRTOD> symbol, which
3463indicates to the C program that the strtod() routine is available
3464to provide better numeric string conversion than atof().
3465
3466=item C<d_strtol>
3467
3468From F<d_strtol.U>:
3469
3470This variable conditionally defines the C<HAS_STRTOL> symbol, which
3471indicates to the C program that the strtol() routine is available
3472to provide better numeric string conversion than atoi() and friends.
3473
3474=item C<d_strtold>
3475
3476From F<d_strtold.U>:
3477
3478This variable conditionally defines the C<HAS_STRTOLD> symbol, which
3479indicates to the C program that the strtold() routine is available.
3480
3481=item C<d_strtoll>
3482
3483From F<d_strtoll.U>:
3484
3485This variable conditionally defines the C<HAS_STRTOLL> symbol, which
3486indicates to the C program that the strtoll() routine is available.
3487
3488=item C<d_strtoq>
3489
3490From F<d_strtoq.U>:
3491
3492This variable conditionally defines the C<HAS_STRTOQ> symbol, which
3493indicates to the C program that the strtoq() routine is available.
3494
3495=item C<d_strtoul>
3496
3497From F<d_strtoul.U>:
3498
3499This variable conditionally defines the C<HAS_STRTOUL> symbol, which
3500indicates to the C program that the strtoul() routine is available
3501to provide conversion of strings to unsigned long.
3502
3503=item C<d_strtoull>
3504
3505From F<d_strtoull.U>:
3506
3507This variable conditionally defines the C<HAS_STRTOULL> symbol, which
3508indicates to the C program that the strtoull() routine is available.
3509
3510=item C<d_strtouq>
3511
3512From F<d_strtouq.U>:
3513
3514This variable conditionally defines the C<HAS_STRTOUQ> symbol, which
3515indicates to the C program that the strtouq() routine is available.
3516
3517=item C<d_strxfrm>
3518
3519From F<d_strxfrm.U>:
3520
3521This variable conditionally defines C<HAS_STRXFRM> if strxfrm() is
3522available to transform strings.
3523
3524=item C<d_suidsafe>
3525
3526From F<d_dosuid.U>:
3527
3528This variable conditionally defines C<SETUID_SCRIPTS_ARE_SECURE_NOW>
3529if setuid scripts can be secure. This test looks in F</dev/fd/>.
3530
3531=item C<d_symlink>
3532
3533From F<d_symlink.U>:
3534
3535This variable conditionally defines the C<HAS_SYMLINK> symbol, which
3536indicates to the C program that the symlink() routine is available
3537to create symbolic links.
3538
3539=item C<d_syscall>
3540
3541From F<d_syscall.U>:
3542
3543This variable conditionally defines C<HAS_SYSCALL> if syscall() is
3544available call arbitrary system calls.
3545
3546=item C<d_syscallproto>
3547
3548From F<d_syscallproto.U>:
3549
3550This variable conditionally defines the C<HAS_SYSCALL_PROTO> symbol,
3551which indicates to the C program that the system provides
3552a prototype for the syscall() function. Otherwise, it is
3553up to the program to supply one.
3554
3555=item C<d_sysconf>
3556
3557From F<d_sysconf.U>:
3558
3559This variable conditionally defines the C<HAS_SYSCONF> symbol, which
3560indicates to the C program that the sysconf() routine is available
3561to determine system related limits and options.
3562
3563=item C<d_sysernlst>
3564
3565From F<d_strerror.U>:
3566
3567This variable conditionally defines C<HAS_SYS_ERRNOLIST> if sys_errnolist[]
3568is available to translate error numbers to the symbolic name.
3569
3570=item C<d_syserrlst>
3571
3572From F<d_strerror.U>:
3573
3574This variable conditionally defines C<HAS_SYS_ERRLIST> if sys_errlist[] is
3575available to translate error numbers to strings.
3576
3577=item C<d_system>
3578
3579From F<d_system.U>:
3580
3581This variable conditionally defines C<HAS_SYSTEM> if system() is
3582available to issue a shell command.
3583
3584=item C<d_tcgetpgrp>
3585
3586From F<d_tcgtpgrp.U>:
3587
3588This variable conditionally defines the C<HAS_TCGETPGRP> symbol, which
3589indicates to the C program that the tcgetpgrp() routine is available.
3590to get foreground process group C<ID>.
3591
3592=item C<d_tcsetpgrp>
3593
3594From F<d_tcstpgrp.U>:
3595
3596This variable conditionally defines the C<HAS_TCSETPGRP> symbol, which
3597indicates to the C program that the tcsetpgrp() routine is available
3598to set foreground process group C<ID>.
3599
3600=item C<d_telldir>
3601
3602From F<d_readdir.U>:
3603
3604This variable conditionally defines C<HAS_TELLDIR> if telldir() is
3605available.
3606
3607=item C<d_telldirproto>
3608
3609From F<d_telldirproto.U>:
3610
3611This variable conditionally defines the C<HAS_TELLDIR_PROTO> symbol,
3612which indicates to the C program that the system provides
3613a prototype for the telldir() function. Otherwise, it is
3614up to the program to supply one.
3615
3616=item C<d_time>
3617
3618From F<d_time.U>:
3619
3620This variable conditionally defines the C<HAS_TIME> symbol, which indicates
3621that the time() routine exists. The time() routine is normaly
3622provided on C<UNIX> systems.
3623
3624=item C<d_times>
3625
3626From F<d_times.U>:
3627
3628This variable conditionally defines the C<HAS_TIMES> symbol, which indicates
3629that the times() routine exists. The times() routine is normaly
3630provided on C<UNIX> systems. You may have to include <sys/times.h>.
3631
3632=item C<d_tm_tm_gmtoff>
3633
3634From F<i_time.U>:
3635
3636This variable conditionally defines C<HAS_TM_TM_GMTOFF>, which indicates
3637indicates to the C program that the struct tm has the tm_gmtoff field.
3638
3639=item C<d_tm_tm_zone>
3640
3641From F<i_time.U>:
3642
3643This variable conditionally defines C<HAS_TM_TM_ZONE>, which indicates
3644indicates to the C program that the struct tm has the tm_zone field.
3645
3646=item C<d_tmpnam_r>
3647
3648From F<d_tmpnam_r.U>:
3649
3650This variable conditionally defines the C<HAS_TMPNAM_R> symbol,
3651which indicates to the C program that the tmpnam_r()
3652routine is available.
3653
3654=item C<d_truncate>
3655
3656From F<d_truncate.U>:
3657
3658This variable conditionally defines C<HAS_TRUNCATE> if truncate() is
3659available to truncate files.
3660
3661=item C<d_ttyname_r>
3662
3663From F<d_ttyname_r.U>:
3664
3665This variable conditionally defines the C<HAS_TTYNAME_R> symbol,
3666which indicates to the C program that the ttyname_r()
3667routine is available.
3668
3669=item C<d_tzname>
3670
3671From F<d_tzname.U>:
3672
3673This variable conditionally defines C<HAS_TZNAME> if tzname[] is
3674available to access timezone names.
3675
3676=item C<d_u32align>
3677
3678From F<d_u32align.U>:
3679
3680This variable tells whether you must access character data
3681through U32-aligned pointers.
3682
3683=item C<d_ualarm>
3684
3685From F<d_ualarm.U>:
3686
3687This variable conditionally defines the C<HAS_UALARM> symbol, which
3688indicates to the C program that the ualarm() routine is available.
3689
3690=item C<d_umask>
3691
3692From F<d_umask.U>:
3693
3694This variable conditionally defines the C<HAS_UMASK> symbol, which
3695indicates to the C program that the umask() routine is available.
3696to set and get the value of the file creation mask.
3697
3698=item C<d_uname>
3699
3700From F<d_gethname.U>:
3701
3702This variable conditionally defines the C<HAS_UNAME> symbol, which
3703indicates to the C program that the uname() routine may be
3704used to derive the host name.
3705
3706=item C<d_union_semun>
3707
3708From F<d_union_semun.U>:
3709
3710This variable conditionally defines C<HAS_UNION_SEMUN> if the
3711union semun is defined by including <sys/sem.h>.
3712
3713=item C<d_unordered>
3714
3715From F<d_unordered.U>:
3716
3717This variable conditionally defines the C<HAS_UNORDERED> symbol, which
3718indicates to the C program that the unordered() routine is available.
3719
3720=item C<d_unsetenv>
3721
3722From F<d_unsetenv.U>:
3723
3724This variable conditionally defines the C<HAS_UNSETENV> symbol, which
3725indicates to the C program that the unsetenv () routine is available.
3726
3727=item C<d_usleep>
3728
3729From F<d_usleep.U>:
3730
3731This variable conditionally defines C<HAS_USLEEP> if usleep() is
3732available to do high granularity sleeps.
3733
3734=item C<d_usleepproto>
3735
3736From F<d_usleepproto.U>:
3737
3738This variable conditionally defines the C<HAS_USLEEP_PROTO> symbol,
3739which indicates to the C program that the system provides
3740a prototype for the usleep() function. Otherwise, it is
3741up to the program to supply one.
3742
3743=item C<d_ustat>
3744
3745From F<d_ustat.U>:
3746
3747This variable conditionally defines C<HAS_USTAT> if ustat() is
3748available to query file system statistics by dev_t.
3749
3750=item C<d_vendorarch>
3751
3752From F<vendorarch.U>:
3753
3754This variable conditionally defined C<PERL_VENDORARCH>.
3755
3756=item C<d_vendorbin>
3757
3758From F<vendorbin.U>:
3759
3760This variable conditionally defines C<PERL_VENDORBIN>.
3761
3762=item C<d_vendorlib>
3763
3764From F<vendorlib.U>:
3765
3766This variable conditionally defines C<PERL_VENDORLIB>.
3767
3768=item C<d_vendorscript>
3769
3770From F<vendorscript.U>:
3771
3772This variable conditionally defines C<PERL_VENDORSCRIPT>.
3773
3774=item C<d_vfork>
3775
3776From F<d_vfork.U>:
3777
3778This variable conditionally defines the C<HAS_VFORK> symbol, which
3779indicates the vfork() routine is available.
3780
3781=item C<d_void_closedir>
3782
3783From F<d_closedir.U>:
3784
3785This variable conditionally defines C<VOID_CLOSEDIR> if closedir()
3786does not return a value.
3787
3788=item C<d_voidsig>
3789
3790From F<d_voidsig.U>:
3791
3792This variable conditionally defines C<VOIDSIG> if this system
3793declares "void (*signal(...))()" in F<signal.h>. The old way was to
3794declare it as "int (*signal(...))()".
3795
3796=item C<d_voidtty>
3797
3798From F<i_sysioctl.U>:
3799
3800This variable conditionally defines C<USE_IOCNOTTY> to indicate that the
3801ioctl() call with C<TIOCNOTTY> should be used to void tty association.
3802Otherwise (on C<USG> probably), it is enough to close the standard file
3803decriptors and do a setpgrp().
3804
3805=item C<d_volatile>
3806
3807From F<d_volatile.U>:
3808
3809This variable conditionally defines the C<HASVOLATILE> symbol, which
3810indicates to the C program that this C compiler knows about the
3811volatile declaration.
3812
3813=item C<d_vprintf>
3814
3815From F<d_vprintf.U>:
3816
3817This variable conditionally defines the C<HAS_VPRINTF> symbol, which
3818indicates to the C program that the vprintf() routine is available
3819to printf with a pointer to an argument list.
3820
3821=item C<d_wait4>
3822
3823From F<d_wait4.U>:
3824
3825This variable conditionally defines the HAS_WAIT4 symbol, which
3826indicates the wait4() routine is available.
3827
3828=item C<d_waitpid>
3829
3830From F<d_waitpid.U>:
3831
3832This variable conditionally defines C<HAS_WAITPID> if waitpid() is
3833available to wait for child process.
3834
3835=item C<d_wcstombs>
3836
3837From F<d_wcstombs.U>:
3838
3839This variable conditionally defines the C<HAS_WCSTOMBS> symbol, which
3840indicates to the C program that the wcstombs() routine is available
3841to convert wide character strings to multibyte strings.
3842
3843=item C<d_wctomb>
3844
3845From F<d_wctomb.U>:
3846
3847This variable conditionally defines the C<HAS_WCTOMB> symbol, which
3848indicates to the C program that the wctomb() routine is available
3849to convert a wide character to a multibyte.
3850
3851=item C<d_writev>
3852
3853From F<d_writev.U>:
3854
3855This variable conditionally defines the C<HAS_WRITEV> symbol, which
3856indicates to the C program that the writev() routine is available.
3857
3858=item C<d_xenix>
3859
3860From F<Guess.U>:
3861
3862This variable conditionally defines the symbol C<XENIX>, which alerts
3863the C program that it runs under Xenix.
3864
3865=item C<date>
3866
3867From F<Loc.U>:
3868
3869This variable is used internally by Configure to determine the
3870full pathname (if any) of the date program. After Configure runs,
3871the value is reset to a plain C<date> and is not useful.
3872
3873=item C<db_hashtype>
3874
3875From F<i_db.U>:
3876
3877This variable contains the type of the hash structure element
3878in the <db.h> header file. In older versions of C<DB>, it was
3879int, while in newer ones it is u_int32_t.
3880
3881=item C<db_prefixtype>
3882
3883From F<i_db.U>:
3884
3885This variable contains the type of the prefix structure element
3886in the <db.h> header file. In older versions of C<DB>, it was
3887int, while in newer ones it is size_t.
3888
3889=item C<db_version_major>
3890
3891From F<i_db.U>:
3892
3893This variable contains the major version number of
3894Berkeley C<DB> found in the <db.h> header file.
3895
3896=item C<db_version_minor>
3897
3898From F<i_db.U>:
3899
3900This variable contains the minor version number of
3901Berkeley C<DB> found in the <db.h> header file.
3902For C<DB> version 1 this is always 0.
3903
3904=item C<db_version_patch>
3905
3906From F<i_db.U>:
3907
3908This variable contains the patch version number of
3909Berkeley C<DB> found in the <db.h> header file.
3910For C<DB> version 1 this is always 0.
3911
3912=item C<defvoidused>
3913
3914From F<voidflags.U>:
3915
3916This variable contains the default value of the C<VOIDUSED> symbol (15).
3917
3918=item C<direntrytype>
3919
3920From F<i_dirent.U>:
3921
3922This symbol is set to C<struct direct> or C<struct dirent> depending on
3923whether dirent is available or not. You should use this pseudo type to
3924portably declare your directory entries.
3925
3926=item C<dlext>
3927
3928From F<dlext.U>:
3929
3930This variable contains the extension that is to be used for the
3931dynamically loaded modules that perl generaties.
3932
3933=item C<dlsrc>
3934
3935From F<dlsrc.U>:
3936
3937This variable contains the name of the dynamic loading file that
3938will be used with the package.
3939
3940=item C<doublesize>
3941
3942From F<doublesize.U>:
3943
3944This variable contains the value of the C<DOUBLESIZE> symbol, which
3945indicates to the C program how many bytes there are in a double.
3946
3947=item C<drand01>
3948
3949From F<randfunc.U>:
3950
3951Indicates the macro to be used to generate normalized
3952random numbers. Uses randfunc, often divided by
3953(double) (((unsigned long) 1 << randbits)) in order to
3954normalize the result.
3955In C programs, the macro C<Drand01> is mapped to drand01.
3956
3957=item C<drand48_r_proto>
3958
3959From F<d_drand48_r.U>:
3960
3961This variable encodes the prototype of drand48_r.
3962It is zero if d_drand48_r is undef, and one of the
3963C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_drand48_r
3964is defined.
3965
3966=item C<dynamic_ext>
3967
3968From F<Extensions.U>:
3969
3970This variable holds a list of C<XS> extension files we want to
3971link dynamically into the package. It is used by Makefile.
3972
3973=back
3974
3975=head2 e
3976
3977=over 4
3978
3979=item C<eagain>
3980
3981From F<nblock_io.U>:
3982
3983This variable bears the symbolic errno code set by read() when no
3984data is present on the file and non-blocking I/O was enabled (otherwise,
3985read() blocks naturally).
3986
3987=item C<ebcdic>
3988
3989From F<ebcdic.U>:
3990
3991This variable conditionally defines C<EBCDIC> if this
3992system uses C<EBCDIC> encoding. Among other things, this
3993means that the character ranges are not contiguous.
3994See F<trnl.U>
3995
3996=item C<echo>
3997
3998From F<Loc.U>:
3999
4000This variable is used internally by Configure to determine the
4001full pathname (if any) of the echo program. After Configure runs,
4002the value is reset to a plain C<echo> and is not useful.
4003
4004=item C<egrep>
4005
4006From F<Loc.U>:
4007
4008This variable is used internally by Configure to determine the
4009full pathname (if any) of the egrep program. After Configure runs,
4010the value is reset to a plain C<egrep> and is not useful.
4011
4012=item C<emacs>
4013
4014From F<Loc.U>:
4015
4016This variable is defined but not used by Configure.
4017The value is a plain '' and is not useful.
4018
4019=item C<endgrent_r_proto>
4020
4021From F<d_endgrent_r.U>:
4022
4023This variable encodes the prototype of endgrent_r.
4024It is zero if d_endgrent_r is undef, and one of the
4025C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_endgrent_r
4026is defined.
4027
4028=item C<endhostent_r_proto>
4029
4030From F<d_endhostent_r.U>:
4031
4032This variable encodes the prototype of endhostent_r.
4033It is zero if d_endhostent_r is undef, and one of the
4034C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_endhostent_r
4035is defined.
4036
4037=item C<endnetent_r_proto>
4038
4039From F<d_endnetent_r.U>:
4040
4041This variable encodes the prototype of endnetent_r.
4042It is zero if d_endnetent_r is undef, and one of the
4043C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_endnetent_r
4044is defined.
4045
4046=item C<endprotoent_r_proto>
4047
4048From F<d_endprotoent_r.U>:
4049
4050This variable encodes the prototype of endprotoent_r.
4051It is zero if d_endprotoent_r is undef, and one of the
4052C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_endprotoent_r
4053is defined.
4054
4055=item C<endpwent_r_proto>
4056
4057From F<d_endpwent_r.U>:
4058
4059This variable encodes the prototype of endpwent_r.
4060It is zero if d_endpwent_r is undef, and one of the
4061C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_endpwent_r
4062is defined.
4063
4064=item C<endservent_r_proto>
4065
4066From F<d_endservent_r.U>:
4067
4068This variable encodes the prototype of endservent_r.
4069It is zero if d_endservent_r is undef, and one of the
4070C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_endservent_r
4071is defined.
4072
4073=item C<eunicefix>
4074
4075From F<Init.U>:
4076
4077When running under Eunice this variable contains a command which will
4078convert a shell script to the proper form of text file for it to be
4079executable by the shell. On other systems it is a no-op.
4080
4081=item C<exe_ext>
4082
4083From F<Unix.U>:
4084
4085This is an old synonym for _exe.
4086
4087=item C<expr>
4088
4089From F<Loc.U>:
4090
4091This variable is used internally by Configure to determine the
4092full pathname (if any) of the expr program. After Configure runs,
4093the value is reset to a plain C<expr> and is not useful.
4094
4095=item C<extensions>
4096
4097From F<Extensions.U>:
4098
4099This variable holds a list of all extension files (both C<XS> and
4100non-xs linked into the package. It is propagated to F<Config.pm>
4101and is typically used to test whether a particular extesion
4102is available.
4103
4104=item C<extras>
4105
4106From F<Extras.U>:
4107
4108This variable holds a list of extra modules to install.
4109
4110=back
4111
4112=head2 f
4113
4114=over 4
4115
4116=item C<fflushall>
4117
4118From F<fflushall.U>:
4119
4120This symbol, if defined, tells that to flush
4121all pending stdio output one must loop through all
4122the stdio file handles stored in an array and fflush them.
4123Note that if fflushNULL is defined, fflushall will not
4124even be probed for and will be left undefined.
4125
4126=item C<fflushNULL>
4127
4128From F<fflushall.U>:
4129
4130This symbol, if defined, tells that fflush(C<NULL>) does flush
4131all pending stdio output.
4132
4133=item C<find>
4134
4135From F<Loc.U>:
4136
4137This variable is defined but not used by Configure.
4138The value is a plain '' and is not useful.
4139
4140=item C<firstmakefile>
4141
4142From F<Unix.U>:
4143
4144This variable defines the first file searched by make. On unix,
4145it is makefile (then Makefile). On case-insensitive systems,
4146it might be something else. This is only used to deal with
4147convoluted make depend tricks.
4148
4149=item C<flex>
4150
4151From F<Loc.U>:
4152
4153This variable is defined but not used by Configure.
4154The value is a plain '' and is not useful.
4155
4156=item C<fpossize>
4157
4158From F<fpossize.U>:
4159
4160This variable contains the size of a fpostype in bytes.
4161
4162=item C<fpostype>
4163
4164From F<fpostype.U>:
4165
4166This variable defines Fpos_t to be something like fpos_t, long,
4167uint, or whatever type is used to declare file positions in libc.
4168
4169=item C<freetype>
4170
4171From F<mallocsrc.U>:
4172
4173This variable contains the return type of free(). It is usually
4174void, but occasionally int.
4175
4176=item C<from>
4177
4178From F<Cross.U>:
4179
4180This variable contains the command used by Configure
4181to copy files from the target host. Useful and available
4182only during Perl build.
4183The string C<:> if not cross-compiling.
4184
4185=item C<full_ar>
4186
4187From F<Loc_ar.U>:
4188
4189This variable contains the full pathname to C<ar>, whether or
4190not the user has specified C<portability>. This is only used
4191in the F<Makefile.SH>.
4192
4193=item C<full_csh>
4194
4195From F<d_csh.U>:
4196
4197This variable contains the full pathname to C<csh>, whether or
4198not the user has specified C<portability>. This is only used
4199in the compiled C program, and we assume that all systems which
4200can share this executable will have the same full pathname to
4201F<csh.>
4202
4203=item C<full_sed>
4204
4205From F<Loc_sed.U>:
4206
4207This variable contains the full pathname to C<sed>, whether or
4208not the user has specified C<portability>. This is only used
4209in the compiled C program, and we assume that all systems which
4210can share this executable will have the same full pathname to
4211F<sed.>
4212
4213=back
4214
4215=head2 g
4216
4217=over 4
4218
4219=item C<gccansipedantic>
4220
4221From F<gccvers.U>:
4222
4223If C<GNU> cc (gcc) is used, this variable will enable (if set) the
4224-ansi and -pedantic ccflags for building core files (through
4225cflags script). (See F<Porting/pumpkin.pod> for full description).
4226
4227=item C<gccosandvers>
4228
4229From F<gccvers.U>:
4230
4231If C<GNU> cc (gcc) is used, this variable holds the operating system
4232and version used to compile gcc. It is set to '' if not gcc,
4233or if nothing useful can be parsed as the os version.
4234
4235=item C<gccversion>
4236
4237From F<gccvers.U>:
4238
4239If C<GNU> cc (gcc) is used, this variable holds C<1> or C<2> to
4240indicate whether the compiler is version 1 or 2. This is used in
4241setting some of the default cflags. It is set to '' if not gcc.
4242
4243=item C<getgrent_r_proto>
4244
4245From F<d_getgrent_r.U>:
4246
4247This variable encodes the prototype of getgrent_r.
4248It is zero if d_getgrent_r is undef, and one of the
4249C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_getgrent_r
4250is defined.
4251
4252=item C<getgrgid_r_proto>
4253
4254From F<d_getgrgid_r.U>:
4255
4256This variable encodes the prototype of getgrgid_r.
4257It is zero if d_getgrgid_r is undef, and one of the
4258C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_getgrgid_r
4259is defined.
4260
4261=item C<getgrnam_r_proto>
4262
4263From F<d_getgrnam_r.U>:
4264
4265This variable encodes the prototype of getgrnam_r.
4266It is zero if d_getgrnam_r is undef, and one of the
4267C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_getgrnam_r
4268is defined.
4269
4270=item C<gethostbyaddr_r_proto>
4271
4272From F<d_gethostbyaddr_r.U>:
4273
4274This variable encodes the prototype of gethostbyaddr_r.
4275It is zero if d_gethostbyaddr_r is undef, and one of the
4276C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_gethostbyaddr_r
4277is defined.
4278
4279=item C<gethostbyname_r_proto>
4280
4281From F<d_gethostbyname_r.U>:
4282
4283This variable encodes the prototype of gethostbyname_r.
4284It is zero if d_gethostbyname_r is undef, and one of the
4285C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_gethostbyname_r
4286is defined.
4287
4288=item C<gethostent_r_proto>
4289
4290From F<d_gethostent_r.U>:
4291
4292This variable encodes the prototype of gethostent_r.
4293It is zero if d_gethostent_r is undef, and one of the
4294C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_gethostent_r
4295is defined.
4296
4297=item C<getlogin_r_proto>
4298
4299From F<d_getlogin_r.U>:
4300
4301This variable encodes the prototype of getlogin_r.
4302It is zero if d_getlogin_r is undef, and one of the
4303C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_getlogin_r
4304is defined.
4305
4306=item C<getnetbyaddr_r_proto>
4307
4308From F<d_getnetbyaddr_r.U>:
4309
4310This variable encodes the prototype of getnetbyaddr_r.
4311It is zero if d_getnetbyaddr_r is undef, and one of the
4312C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_getnetbyaddr_r
4313is defined.
4314
4315=item C<getnetbyname_r_proto>
4316
4317From F<d_getnetbyname_r.U>:
4318
4319This variable encodes the prototype of getnetbyname_r.
4320It is zero if d_getnetbyname_r is undef, and one of the
4321C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_getnetbyname_r
4322is defined.
4323
4324=item C<getnetent_r_proto>
4325
4326From F<d_getnetent_r.U>:
4327
4328This variable encodes the prototype of getnetent_r.
4329It is zero if d_getnetent_r is undef, and one of the
4330C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_getnetent_r
4331is defined.
4332
4333=item C<getprotobyname_r_proto>
4334
4335From F<d_getprotobyname_r.U>:
4336
4337This variable encodes the prototype of getprotobyname_r.
4338It is zero if d_getprotobyname_r is undef, and one of the
4339C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_getprotobyname_r
4340is defined.
4341
4342=item C<getprotobynumber_r_proto>
4343
4344From F<d_getprotobynumber_r.U>:
4345
4346This variable encodes the prototype of getprotobynumber_r.
4347It is zero if d_getprotobynumber_r is undef, and one of the
4348C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_getprotobynumber_r
4349is defined.
4350
4351=item C<getprotoent_r_proto>
4352
4353From F<d_getprotoent_r.U>:
4354
4355This variable encodes the prototype of getprotoent_r.
4356It is zero if d_getprotoent_r is undef, and one of the
4357C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_getprotoent_r
4358is defined.
4359
4360=item C<getpwent_r_proto>
4361
4362From F<d_getpwent_r.U>:
4363
4364This variable encodes the prototype of getpwent_r.
4365It is zero if d_getpwent_r is undef, and one of the
4366C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_getpwent_r
4367is defined.
4368
4369=item C<getpwnam_r_proto>
4370
4371From F<d_getpwnam_r.U>:
4372
4373This variable encodes the prototype of getpwnam_r.
4374It is zero if d_getpwnam_r is undef, and one of the
4375C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_getpwnam_r
4376is defined.
4377
4378=item C<getpwuid_r_proto>
4379
4380From F<d_getpwuid_r.U>:
4381
4382This variable encodes the prototype of getpwuid_r.
4383It is zero if d_getpwuid_r is undef, and one of the
4384C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_getpwuid_r
4385is defined.
4386
4387=item C<getservbyname_r_proto>
4388
4389From F<d_getservbyname_r.U>:
4390
4391This variable encodes the prototype of getservbyname_r.
4392It is zero if d_getservbyname_r is undef, and one of the
4393C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_getservbyname_r
4394is defined.
4395
4396=item C<getservbyport_r_proto>
4397
4398From F<d_getservbyport_r.U>:
4399
4400This variable encodes the prototype of getservbyport_r.
4401It is zero if d_getservbyport_r is undef, and one of the
4402C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_getservbyport_r
4403is defined.
4404
4405=item C<getservent_r_proto>
4406
4407From F<d_getservent_r.U>:
4408
4409This variable encodes the prototype of getservent_r.
4410It is zero if d_getservent_r is undef, and one of the
4411C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_getservent_r
4412is defined.
4413
4414=item C<getspnam_r_proto>
4415
4416From F<d_getspnam_r.U>:
4417
4418This variable encodes the prototype of getspnam_r.
4419It is zero if d_getspnam_r is undef, and one of the
4420C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_getspnam_r
4421is defined.
4422
4423=item C<gidformat>
4424
4425From F<gidf.U>:
4426
4427This variable contains the format string used for printing a Gid_t.
4428
4429=item C<gidsign>
4430
4431From F<gidsign.U>:
4432
4433This variable contains the signedness of a gidtype.
44341 for unsigned, -1 for signed.
4435
4436=item C<gidsize>
4437
4438From F<gidsize.U>:
4439
4440This variable contains the size of a gidtype in bytes.
4441
4442=item C<gidtype>
4443
4444From F<gidtype.U>:
4445
4446This variable defines Gid_t to be something like gid_t, int,
4447ushort, or whatever type is used to declare the return type
4448of getgid(). Typically, it is the type of group ids in the kernel.
4449
4450=item C<glibpth>
4451
4452From F<libpth.U>:
4453
4454This variable holds the general path (space-separated) used to
4455find libraries. It may contain directories that do not exist on
4456this platform, libpth is the cleaned-up version.
4457
4458=item C<gmake>
4459
4460From F<Loc.U>:
4461
4462This variable is used internally by Configure to determine the
4463full pathname (if any) of the gmake program. After Configure runs,
4464the value is reset to a plain C<gmake> and is not useful.
4465
4466=item C<gmtime_r_proto>
4467
4468From F<d_gmtime_r.U>:
4469
4470This variable encodes the prototype of gmtime_r.
4471It is zero if d_gmtime_r is undef, and one of the
4472C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_gmtime_r
4473is defined.
4474
4475=item C<gnulibc_version>
4476
4477From F<d_gnulibc.U>:
4478
4479This variable contains the version number of the C<GNU> C library.
4480It is usually something like F<2.2.5>. It is a plain '' if this
4481is not the C<GNU> C library, or if the version is unknown.
4482
4483=item C<grep>
4484
4485From F<Loc.U>:
4486
4487This variable is used internally by Configure to determine the
4488full pathname (if any) of the grep program. After Configure runs,
4489the value is reset to a plain C<grep> and is not useful.
4490
4491=item C<groupcat>
4492
4493From F<nis.U>:
4494
4495This variable contains a command that produces the text of the
4496F</etc/group> file. This is normally "cat F</etc/group>", but can be
4497"ypcat group" when C<NIS> is used.
4498On some systems, such as os390, there may be no equivalent
4499command, in which case this variable is unset.
4500
4501=item C<groupstype>
4502
4503From F<groupstype.U>:
4504
4505This variable defines Groups_t to be something like gid_t, int,
4506ushort, or whatever type is used for the second argument to
4507getgroups() and setgroups(). Usually, this is the same as
4508gidtype (gid_t), but sometimes it isn't.
4509
4510=item C<gzip>
4511
4512From F<Loc.U>:
4513
4514This variable is used internally by Configure to determine the
4515full pathname (if any) of the gzip program. After Configure runs,
4516the value is reset to a plain C<gzip> and is not useful.
4517
4518=back
4519
4520=head2 h
4521
4522=over 4
4523
4524=item C<h_fcntl>
4525
4526From F<h_fcntl.U>:
4527
4528This is variable gets set in various places to tell i_fcntl that
4529<fcntl.h> should be included.
4530
4531=item C<h_sysfile>
4532
4533From F<h_sysfile.U>:
4534
4535This is variable gets set in various places to tell i_sys_file that
4536<sys/file.h> should be included.
4537
4538=item C<hint>
4539
4540From F<Oldconfig.U>:
4541
4542Gives the type of hints used for previous answers. May be one of
4543C<default>, C<recommended> or C<previous>.
4544
4545=item C<hostcat>
4546
4547From F<nis.U>:
4548
4549This variable contains a command that produces the text of the
4550F</etc/hosts> file. This is normally "cat F</etc/hosts>", but can be
4551"ypcat hosts" when C<NIS> is used.
4552On some systems, such as os390, there may be no equivalent
4553command, in which case this variable is unset.
4554
4555=item C<html1dir>
4556
4557From F<html1dir.U>:
4558
4559This variable contains the name of the directory in which html
4560source pages are to be put. This directory is for pages
4561that describe whole programs, not libraries or modules. It
4562is intended to correspond roughly to section 1 of the Unix
4563manuals.
4564
4565=item C<html1direxp>
4566
4567From F<html1dir.U>:
4568
4569This variable is the same as the html1dir variable, but is filename
4570expanded at configuration time, for convenient use in makefiles.
4571
4572=item C<html3dir>
4573
4574From F<html3dir.U>:
4575
4576This variable contains the name of the directory in which html
4577source pages are to be put. This directory is for pages
4578that describe libraries or modules. It is intended to
4579correspond roughly to section 3 of the Unix manuals.
4580
4581=item C<html3direxp>
4582
4583From F<html3dir.U>:
4584
4585This variable is the same as the html3dir variable, but is filename
4586expanded at configuration time, for convenient use in makefiles.
4587
4588=back
4589
4590=head2 i
4591
4592=over 4
4593
4594=item C<i16size>
4595
4596From F<perlxv.U>:
4597
4598This variable is the size of an I16 in bytes.
4599
4600=item C<i16type>
4601
4602From F<perlxv.U>:
4603
4604This variable contains the C type used for Perl's I16.
4605
4606=item C<i32size>
4607
4608From F<perlxv.U>:
4609
4610This variable is the size of an I32 in bytes.
4611
4612=item C<i32type>
4613
4614From F<perlxv.U>:
4615
4616This variable contains the C type used for Perl's I32.
4617
4618=item C<i64size>
4619
4620From F<perlxv.U>:
4621
4622This variable is the size of an I64 in bytes.
4623
4624=item C<i64type>
4625
4626From F<perlxv.U>:
4627
4628This variable contains the C type used for Perl's I64.
4629
4630=item C<i8size>
4631
4632From F<perlxv.U>:
4633
4634This variable is the size of an I8 in bytes.
4635
4636=item C<i8type>
4637
4638From F<perlxv.U>:
4639
4640This variable contains the C type used for Perl's I8.
4641
4642=item C<i_arpainet>
4643
4644From F<i_arpainet.U>:
4645
4646This variable conditionally defines the C<I_ARPA_INET> symbol,
4647and indicates whether a C program should include <arpa/inet.h>.
4648
4649=item C<i_bsdioctl>
4650
4651From F<i_sysioctl.U>:
4652
4653This variable conditionally defines the C<I_SYS_BSDIOCTL> symbol, which
4654indicates to the C program that <sys/bsdioctl.h> exists and should
4655be included.
4656
4657=item C<i_crypt>
4658
4659From F<i_crypt.U>:
4660
4661This variable conditionally defines the C<I_CRYPT> symbol, and indicates
4662whether a C program should include <crypt.h>.
4663
4664=item C<i_db>
4665
4666From F<i_db.U>:
4667
4668This variable conditionally defines the C<I_DB> symbol, and indicates
4669whether a C program may include Berkeley's C<DB> include file <db.h>.
4670
4671=item C<i_dbm>
4672
4673From F<i_dbm.U>:
4674
4675This variable conditionally defines the C<I_DBM> symbol, which
4676indicates to the C program that <dbm.h> exists and should
4677be included.
4678
4679=item C<i_dirent>
4680
4681From F<i_dirent.U>:
4682
4683This variable conditionally defines C<I_DIRENT>, which indicates
4684to the C program that it should include <dirent.h>.
4685
4686=item C<i_dld>
4687
4688From F<i_dld.U>:
4689
4690This variable conditionally defines the C<I_DLD> symbol, which
4691indicates to the C program that <dld.h> (C<GNU> dynamic loading)
4692exists and should be included.
4693
4694=item C<i_dlfcn>
4695
4696From F<i_dlfcn.U>:
4697
4698This variable conditionally defines the C<I_DLFCN> symbol, which
4699indicates to the C program that <dlfcn.h> exists and should
4700be included.
4701
4702=item C<i_fcntl>
4703
4704From F<i_fcntl.U>:
4705
4706This variable controls the value of C<I_FCNTL> (which tells
4707the C program to include <fcntl.h>).
4708
4709=item C<i_float>
4710
4711From F<i_float.U>:
4712
4713This variable conditionally defines the C<I_FLOAT> symbol, and indicates
4714whether a C program may include <float.h> to get symbols like C<DBL_MAX>
4715or C<DBL_MIN>, F<i.e>. machine dependent floating point values.
4716
4717=item C<i_fp>
4718
4719From F<i_fp.U>:
4720
4721This variable conditionally defines the C<I_FP> symbol, and indicates
4722whether a C program should include <fp.h>.
4723
4724=item C<i_fp_class>
4725
4726From F<i_fp_class.U>:
4727
4728This variable conditionally defines the C<I_FP_CLASS> symbol, and indicates
4729whether a C program should include <fp_class.h>.
4730
4731=item C<i_gdbm>
4732
4733From F<i_gdbm.U>:
4734
4735This variable conditionally defines the C<I_GDBM> symbol, which
4736indicates to the C program that <gdbm.h> exists and should
4737be included.
4738
4739=item C<i_grp>
4740
4741From F<i_grp.U>:
4742
4743This variable conditionally defines the C<I_GRP> symbol, and indicates
4744whether a C program should include <grp.h>.
4745
4746=item C<i_ieeefp>
4747
4748From F<i_ieeefp.U>:
4749
4750This variable conditionally defines the C<I_IEEEFP> symbol, and indicates
4751whether a C program should include <ieeefp.h>.
4752
4753=item C<i_inttypes>
4754
4755From F<i_inttypes.U>:
4756
4757This variable conditionally defines the C<I_INTTYPES> symbol,
4758and indicates whether a C program should include <inttypes.h>.
4759
4760=item C<i_langinfo>
4761
4762From F<i_langinfo.U>:
4763
4764This variable conditionally defines the C<I_LANGINFO> symbol,
4765and indicates whether a C program should include <langinfo.h>.
4766
4767=item C<i_libutil>
4768
4769From F<i_libutil.U>:
4770
4771This variable conditionally defines the C<I_LIBUTIL> symbol, and indicates
4772whether a C program should include <libutil.h>.
4773
4774=item C<i_limits>
4775
4776From F<i_limits.U>:
4777
4778This variable conditionally defines the C<I_LIMITS> symbol, and indicates
4779whether a C program may include <limits.h> to get symbols like C<WORD_BIT>
4780and friends.
4781
4782=item C<i_locale>
4783
4784From F<i_locale.U>:
4785
4786This variable conditionally defines the C<I_LOCALE> symbol,
4787and indicates whether a C program should include <locale.h>.
4788
4789=item C<i_machcthr>
4790
4791From F<i_machcthr.U>:
4792
4793This variable conditionally defines the C<I_MACH_CTHREADS> symbol,
4794and indicates whether a C program should include <mach/cthreads.h>.
4795
4796=item C<i_malloc>
4797
4798From F<i_malloc.U>:
4799
4800This variable conditionally defines the C<I_MALLOC> symbol, and indicates
4801whether a C program should include <malloc.h>.
4802
4803=item C<i_math>
4804
4805From F<i_math.U>:
4806
4807This variable conditionally defines the C<I_MATH> symbol, and indicates
4808whether a C program may include <math.h>.
4809
4810=item C<i_memory>
4811
4812From F<i_memory.U>:
4813
4814This variable conditionally defines the C<I_MEMORY> symbol, and indicates
4815whether a C program should include <memory.h>.
4816
4817=item C<i_mntent>
4818
4819From F<i_mntent.U>:
4820
4821This variable conditionally defines the C<I_MNTENT> symbol, and indicates
4822whether a C program should include <mntent.h>.
4823
4824=item C<i_ndbm>
4825
4826From F<i_ndbm.U>:
4827
4828This variable conditionally defines the C<I_NDBM> symbol, which
4829indicates to the C program that <ndbm.h> exists and should
4830be included.
4831
4832=item C<i_netdb>
4833
4834From F<i_netdb.U>:
4835
4836This variable conditionally defines the C<I_NETDB> symbol, and indicates
4837whether a C program should include <netdb.h>.
4838
4839=item C<i_neterrno>
4840
4841From F<i_neterrno.U>:
4842
4843This variable conditionally defines the C<I_NET_ERRNO> symbol, which
4844indicates to the C program that <net/errno.h> exists and should
4845be included.
4846
4847=item C<i_netinettcp>
4848
4849From F<i_netinettcp.U>:
4850
4851This variable conditionally defines the C<I_NETINET_TCP> symbol,
4852and indicates whether a C program should include <netinet/tcp.h>.
4853
4854=item C<i_niin>
4855
4856From F<i_niin.U>:
4857
4858This variable conditionally defines C<I_NETINET_IN>, which indicates
4859to the C program that it should include <netinet/in.h>. Otherwise,
4860you may try <sys/in.h>.
4861
4862=item C<i_poll>
4863
4864From F<i_poll.U>:
4865
4866This variable conditionally defines the C<I_POLL> symbol, and indicates
4867whether a C program should include <poll.h>.
4868
4869=item C<i_prot>
4870
4871From F<i_prot.U>:
4872
4873This variable conditionally defines the C<I_PROT> symbol, and indicates
4874whether a C program should include <prot.h>.
4875
4876=item C<i_pthread>
4877
4878From F<i_pthread.U>:
4879
4880This variable conditionally defines the C<I_PTHREAD> symbol,
4881and indicates whether a C program should include <pthread.h>.
4882
4883=item C<i_pwd>
4884
4885From F<i_pwd.U>:
4886
4887This variable conditionally defines C<I_PWD>, which indicates
4888to the C program that it should include <pwd.h>.
4889
4890=item C<i_rpcsvcdbm>
4891
4892From F<i_dbm.U>:
4893
4894This variable conditionally defines the C<I_RPCSVC_DBM> symbol, which
4895indicates to the C program that <rpcsvc/dbm.h> exists and should
4896be included. Some System V systems might need this instead of <dbm.h>.
4897
4898=item C<i_sfio>
4899
4900From F<i_sfio.U>:
4901
4902This variable conditionally defines the C<I_SFIO> symbol,
4903and indicates whether a C program should include <sfio.h>.
4904
4905=item C<i_sgtty>
4906
4907From F<i_termio.U>:
4908
4909This variable conditionally defines the C<I_SGTTY> symbol, which
4910indicates to the C program that it should include <sgtty.h> rather
4911than <termio.h>.
4912
4913=item C<i_shadow>
4914
4915From F<i_shadow.U>:
4916
4917This variable conditionally defines the C<I_SHADOW> symbol, and indicates
4918whether a C program should include <shadow.h>.
4919
4920=item C<i_socks>
4921
4922From F<i_socks.U>:
4923
4924This variable conditionally defines the C<I_SOCKS> symbol, and indicates
4925whether a C program should include <socks.h>.
4926
4927=item C<i_stdarg>
4928
4929From F<i_varhdr.U>:
4930
4931This variable conditionally defines the C<I_STDARG> symbol, which
4932indicates to the C program that <stdarg.h> exists and should
4933be included.
4934
4935=item C<i_stddef>
4936
4937From F<i_stddef.U>:
4938
4939This variable conditionally defines the C<I_STDDEF> symbol, which
4940indicates to the C program that <stddef.h> exists and should
4941be included.
4942
4943=item C<i_stdlib>
4944
4945From F<i_stdlib.U>:
4946
4947This variable conditionally defines the C<I_STDLIB> symbol, which
4948indicates to the C program that <stdlib.h> exists and should
4949be included.
4950
4951=item C<i_string>
4952
4953From F<i_string.U>:
4954
4955This variable conditionally defines the C<I_STRING> symbol, which
4956indicates that <string.h> should be included rather than <strings.h>.
4957
4958=item C<i_sunmath>
4959
4960From F<i_sunmath.U>:
4961
4962This variable conditionally defines the C<I_SUNMATH> symbol, and indicates
4963whether a C program should include <sunmath.h>.
4964
4965=item C<i_sysaccess>
4966
4967From F<i_sysaccess.U>:
4968
4969This variable conditionally defines the C<I_SYS_ACCESS> symbol,
4970and indicates whether a C program should include <sys/access.h>.
4971
4972=item C<i_sysdir>
4973
4974From F<i_sysdir.U>:
4975
4976This variable conditionally defines the C<I_SYS_DIR> symbol, and indicates
4977whether a C program should include <sys/dir.h>.
4978
4979=item C<i_sysfile>
4980
4981From F<i_sysfile.U>:
4982
4983This variable conditionally defines the C<I_SYS_FILE> symbol, and indicates
4984whether a C program should include <sys/file.h> to get C<R_OK> and friends.
4985
4986=item C<i_sysfilio>
4987
4988From F<i_sysioctl.U>:
4989
4990This variable conditionally defines the C<I_SYS_FILIO> symbol, which
4991indicates to the C program that <sys/filio.h> exists and should
4992be included in preference to <sys/ioctl.h>.
4993
4994=item C<i_sysin>
4995
4996From F<i_niin.U>:
4997
4998This variable conditionally defines C<I_SYS_IN>, which indicates
4999to the C program that it should include <sys/in.h> instead of
5000<netinet/in.h>.
5001
5002=item C<i_sysioctl>
5003
5004From F<i_sysioctl.U>:
5005
5006This variable conditionally defines the C<I_SYS_IOCTL> symbol, which
5007indicates to the C program that <sys/ioctl.h> exists and should
5008be included.
5009
5010=item C<i_syslog>
5011
5012From F<i_syslog.U>:
5013
5014This variable conditionally defines the C<I_SYSLOG> symbol,
5015and indicates whether a C program should include <syslog.h>.
5016
5017=item C<i_sysmman>
5018
5019From F<i_sysmman.U>:
5020
5021This variable conditionally defines the C<I_SYS_MMAN> symbol, and
5022indicates whether a C program should include <sys/mman.h>.
5023
5024=item C<i_sysmode>
5025
5026From F<i_sysmode.U>:
5027
5028This variable conditionally defines the C<I_SYSMODE> symbol,
5029and indicates whether a C program should include <sys/mode.h>.
5030
5031=item C<i_sysmount>
5032
5033From F<i_sysmount.U>:
5034
5035This variable conditionally defines the C<I_SYSMOUNT> symbol,
5036and indicates whether a C program should include <sys/mount.h>.
5037
5038=item C<i_sysndir>
5039
5040From F<i_sysndir.U>:
5041
5042This variable conditionally defines the C<I_SYS_NDIR> symbol, and indicates
5043whether a C program should include <sys/ndir.h>.
5044
5045=item C<i_sysparam>
5046
5047From F<i_sysparam.U>:
5048
5049This variable conditionally defines the C<I_SYS_PARAM> symbol, and indicates
5050whether a C program should include <sys/param.h>.
5051
5052=item C<i_sysresrc>
5053
5054From F<i_sysresrc.U>:
5055
5056This variable conditionally defines the C<I_SYS_RESOURCE> symbol,
5057and indicates whether a C program should include <sys/resource.h>.
5058
5059=item C<i_syssecrt>
5060
5061From F<i_syssecrt.U>:
5062
5063This variable conditionally defines the C<I_SYS_SECURITY> symbol,
5064and indicates whether a C program should include <sys/security.h>.
5065
5066=item C<i_sysselct>
5067
5068From F<i_sysselct.U>:
5069
5070This variable conditionally defines C<I_SYS_SELECT>, which indicates
5071to the C program that it should include <sys/select.h> in order to
5072get the definition of struct timeval.
5073
5074=item C<i_syssockio>
5075
5076From F<i_sysioctl.U>:
5077
5078This variable conditionally defines C<I_SYS_SOCKIO> to indicate to the
5079C program that socket ioctl codes may be found in <sys/sockio.h>
5080instead of <sys/ioctl.h>.
5081
5082=item C<i_sysstat>
5083
5084From F<i_sysstat.U>:
5085
5086This variable conditionally defines the C<I_SYS_STAT> symbol,
5087and indicates whether a C program should include <sys/stat.h>.
5088
5089=item C<i_sysstatfs>
5090
5091From F<i_sysstatfs.U>:
5092
5093This variable conditionally defines the C<I_SYSSTATFS> symbol,
5094and indicates whether a C program should include <sys/statfs.h>.
5095
5096=item C<i_sysstatvfs>
5097
5098From F<i_sysstatvfs.U>:
5099
5100This variable conditionally defines the C<I_SYSSTATVFS> symbol,
5101and indicates whether a C program should include <sys/statvfs.h>.
5102
5103=item C<i_systime>
5104
5105From F<i_time.U>:
5106
5107This variable conditionally defines C<I_SYS_TIME>, which indicates
5108to the C program that it should include <sys/time.h>.
5109
5110=item C<i_systimek>
5111
5112From F<i_time.U>:
5113
5114This variable conditionally defines C<I_SYS_TIME_KERNEL>, which
5115indicates to the C program that it should include <sys/time.h>
5116with C<KERNEL> defined.
5117
5118=item C<i_systimes>
5119
5120From F<i_systimes.U>:
5121
5122This variable conditionally defines the C<I_SYS_TIMES> symbol, and indicates
5123whether a C program should include <sys/times.h>.
5124
5125=item C<i_systypes>
5126
5127From F<i_systypes.U>:
5128
5129This variable conditionally defines the C<I_SYS_TYPES> symbol,
5130and indicates whether a C program should include <sys/types.h>.
5131
5132=item C<i_sysuio>
5133
5134From F<i_sysuio.U>:
5135
5136This variable conditionally defines the C<I_SYSUIO> symbol, and indicates
5137whether a C program should include <sys/uio.h>.
5138
5139=item C<i_sysun>
5140
5141From F<i_sysun.U>:
5142
5143This variable conditionally defines C<I_SYS_UN>, which indicates
5144to the C program that it should include <sys/un.h> to get C<UNIX>
5145domain socket definitions.
5146
5147=item C<i_sysutsname>
5148
5149From F<i_sysutsname.U>:
5150
5151This variable conditionally defines the C<I_SYSUTSNAME> symbol,
5152and indicates whether a C program should include <sys/utsname.h>.
5153
5154=item C<i_sysvfs>
5155
5156From F<i_sysvfs.U>:
5157
5158This variable conditionally defines the C<I_SYSVFS> symbol,
5159and indicates whether a C program should include <sys/vfs.h>.
5160
5161=item C<i_syswait>
5162
5163From F<i_syswait.U>:
5164
5165This variable conditionally defines C<I_SYS_WAIT>, which indicates
5166to the C program that it should include <sys/wait.h>.
5167
5168=item C<i_termio>
5169
5170From F<i_termio.U>:
5171
5172This variable conditionally defines the C<I_TERMIO> symbol, which
5173indicates to the C program that it should include <termio.h> rather
5174than <sgtty.h>.
5175
5176=item C<i_termios>
5177
5178From F<i_termio.U>:
5179
5180This variable conditionally defines the C<I_TERMIOS> symbol, which
5181indicates to the C program that the C<POSIX> <termios.h> file is
5182to be included.
5183
5184=item C<i_time>
5185
5186From F<i_time.U>:
5187
5188This variable conditionally defines C<I_TIME>, which indicates
5189to the C program that it should include <time.h>.
5190
5191=item C<i_unistd>
5192
5193From F<i_unistd.U>:
5194
5195This variable conditionally defines the C<I_UNISTD> symbol, and indicates
5196whether a C program should include <unistd.h>.
5197
5198=item C<i_ustat>
5199
5200From F<i_ustat.U>:
5201
5202This variable conditionally defines the C<I_USTAT> symbol, and indicates
5203whether a C program should include <ustat.h>.
5204
5205=item C<i_utime>
5206
5207From F<i_utime.U>:
5208
5209This variable conditionally defines the C<I_UTIME> symbol, and indicates
5210whether a C program should include <utime.h>.
5211
5212=item C<i_values>
5213
5214From F<i_values.U>:
5215
5216This variable conditionally defines the C<I_VALUES> symbol, and indicates
5217whether a C program may include <values.h> to get symbols like C<MAXLONG>
5218and friends.
5219
5220=item C<i_varargs>
5221
5222From F<i_varhdr.U>:
5223
5224This variable conditionally defines C<I_VARARGS>, which indicates
5225to the C program that it should include <varargs.h>.
5226
5227=item C<i_varhdr>
5228
5229From F<i_varhdr.U>:
5230
5231Contains the name of the header to be included to get va_dcl definition.
5232Typically one of F<varargs.h> or F<stdarg.h>.
5233
5234=item C<i_vfork>
5235
5236From F<i_vfork.U>:
5237
5238This variable conditionally defines the C<I_VFORK> symbol, and indicates
5239whether a C program should include F<vfork.h>.
5240
5241=item C<ignore_versioned_solibs>
5242
5243From F<libs.U>:
5244
5245This variable should be non-empty if non-versioned shared
5246libraries (F<libfoo.so.x.y>) are to be ignored (because they
5247cannot be linked against).
5248
5249=item C<inc_version_list>
5250
5251From F<inc_version_list.U>:
5252
5253This variable specifies the list of subdirectories in over
5254which F<perl.c>:incpush() and F<lib/lib.pm> will automatically
5255search when adding directories to @C<INC>. The elements in
5256the list are separated by spaces. This is only useful
5257if you have a perl library directory tree structured like the
5258default one. See C<INSTALL> for how this works. The versioned
5259site_perl directory was introduced in 5.005, so that is the
5260lowest possible value.
5261
5262=item C<inc_version_list_init>
5263
5264From F<inc_version_list.U>:
5265
5266This variable holds the same list as inc_version_list, but
5267each item is enclosed in double quotes and separated by commas,
5268suitable for use in the C<PERL_INC_VERSION_LIST> initialization.
5269
5270=item C<incpath>
5271
5272From F<usrinc.U>:
5273
5274This variable must preceed the normal include path to get hte
5275right one, as in F<$F<incpath/usr/include>> or F<$F<incpath/usr/lib>>.
5276Value can be "" or F</bsd43> on mips.
5277
5278=item C<inews>
5279
5280From F<Loc.U>:
5281
5282This variable is defined but not used by Configure.
5283The value is a plain '' and is not useful.
5284
5285=item C<installarchlib>
5286
5287From F<archlib.U>:
5288
5289This variable is really the same as archlibexp but may differ on
5290those systems using C<AFS>. For extra portability, only this variable
5291should be used in makefiles.
5292
5293=item C<installbin>
5294
5295From F<bin.U>:
5296
5297This variable is the same as binexp unless C<AFS> is running in which case
5298the user is explicitely prompted for it. This variable should always
5299be used in your makefiles for maximum portability.
5300
5301=item C<installhtml1dir>
5302
5303From F<html1dir.U>:
5304
5305This variable is really the same as html1direxp, unless you are
5306using a different installprefix. For extra portability, you
5307should only use this variable within your makefiles.
5308
5309=item C<installhtml3dir>
5310
5311From F<html3dir.U>:
5312
5313This variable is really the same as html3direxp, unless you are
5314using a different installprefix. For extra portability, you
5315should only use this variable within your makefiles.
5316
5317=item C<installman1dir>
5318
5319From F<man1dir.U>:
5320
5321This variable is really the same as man1direxp, unless you are using
5322C<AFS> in which case it points to the read/write location whereas
5323man1direxp only points to the read-only access location. For extra
5324portability, you should only use this variable within your makefiles.
5325
5326=item C<installman3dir>
5327
5328From F<man3dir.U>:
5329
5330This variable is really the same as man3direxp, unless you are using
5331C<AFS> in which case it points to the read/write location whereas
5332man3direxp only points to the read-only access location. For extra
5333portability, you should only use this variable within your makefiles.
5334
5335=item C<installprefix>
5336
5337From F<installprefix.U>:
5338
5339This variable holds the name of the directory below which
5340"make install" will install the package. For most users, this
5341is the same as prefix. However, it is useful for
5342installing the software into a different (usually temporary)
5343location after which it can be bundled up and moved somehow
5344to the final location specified by prefix.
5345
5346=item C<installprefixexp>
5347
5348From F<installprefix.U>:
5349
5350This variable holds the full absolute path of installprefix
5351with all F<~>-expansion done.
5352
5353=item C<installprivlib>
5354
5355From F<privlib.U>:
5356
5357This variable is really the same as privlibexp but may differ on
5358those systems using C<AFS>. For extra portability, only this variable
5359should be used in makefiles.
5360
5361=item C<installscript>
5362
5363From F<scriptdir.U>:
5364
5365This variable is usually the same as scriptdirexp, unless you are on
5366a system running C<AFS>, in which case they may differ slightly. You
5367should always use this variable within your makefiles for portability.
5368
5369=item C<installsitearch>
5370
5371From F<sitearch.U>:
5372
5373This variable is really the same as sitearchexp but may differ on
5374those systems using C<AFS>. For extra portability, only this variable
5375should be used in makefiles.
5376
5377=item C<installsitebin>
5378
5379From F<sitebin.U>:
5380
5381This variable is usually the same as sitebinexp, unless you are on
5382a system running C<AFS>, in which case they may differ slightly. You
5383should always use this variable within your makefiles for portability.
5384
5385=item C<installsitehtml1dir>
5386
5387From F<sitehtml1dir.U>:
5388
5389This variable is really the same as sitehtml1direxp, unless you are using
5390C<AFS> in which case it points to the read/write location whereas
5391html1direxp only points to the read-only access location. For extra
5392portability, you should only use this variable within your makefiles.
5393
5394=item C<installsitehtml3dir>
5395
5396From F<sitehtml3dir.U>:
5397
5398This variable is really the same as sitehtml3direxp, unless you are using
5399C<AFS> in which case it points to the read/write location whereas
5400html3direxp only points to the read-only access location. For extra
5401portability, you should only use this variable within your makefiles.
5402
5403=item C<installsitelib>
5404
5405From F<sitelib.U>:
5406
5407This variable is really the same as sitelibexp but may differ on
5408those systems using C<AFS>. For extra portability, only this variable
5409should be used in makefiles.
5410
5411=item C<installsiteman1dir>
5412
5413From F<siteman1dir.U>:
5414
5415This variable is really the same as siteman1direxp, unless you are using
5416C<AFS> in which case it points to the read/write location whereas
5417man1direxp only points to the read-only access location. For extra
5418portability, you should only use this variable within your makefiles.
5419
5420=item C<installsiteman3dir>
5421
5422From F<siteman3dir.U>:
5423
5424This variable is really the same as siteman3direxp, unless you are using
5425C<AFS> in which case it points to the read/write location whereas
5426man3direxp only points to the read-only access location. For extra
5427portability, you should only use this variable within your makefiles.
5428
5429=item C<installsitescript>
5430
5431From F<sitescript.U>:
5432
5433This variable is usually the same as sitescriptexp, unless you are on
5434a system running C<AFS>, in which case they may differ slightly. You
5435should always use this variable within your makefiles for portability.
5436
5437=item C<installstyle>
5438
5439From F<installstyle.U>:
5440
5441This variable describes the C<style> of the perl installation.
5442This is intended to be useful for tools that need to
5443manipulate entire perl distributions. Perl itself doesn't use
5444this to find its libraries -- the library directories are
5445stored directly in F<Config.pm>. Currently, there are only two
5446styles: C<lib> and F<lib/perl5>. The default library locations
5447(e.g. privlib, sitelib) are either F<$prefix/lib> or
5448F<$prefix/lib/perl5>. The former is useful if $prefix is a
5449directory dedicated to perl (e.g. F</opt/perl>), while the latter
5450is useful if $prefix is shared by many packages, e.g. if
5451$prefix=F</usr/local>.
5452
5453Unfortunately, while this C<style> variable is used to set
5454defaults for all three directory hierarchies (core, vendor, and
5455site), there is no guarantee that the same style is actually
5456appropriate for all those directories. For example, $prefix
5457might be F</opt/perl>, but $siteprefix might be F</usr/local>.
5458(Perhaps, in retrospect, the C<lib> style should never have been
5459supported, but it did seem like a nice idea at the time.)
5460
5461The situation is even less clear for tools such as MakeMaker
5462that can be used to install additional modules into
5463non-standard places. For example, if a user intends to install
5464a module into a private directory (perhaps by setting C<PREFIX> on
5465the F<Makefile.PL> command line), then there is no reason to
5466assume that the Configure-time $installstyle setting will be
5467relevant for that C<PREFIX>.
5468
5469This may later be extended to include other information, so
5470be careful with pattern-matching on the results.
5471
5472For compatibility with F<perl5.005> and earlier, the default
5473setting is based on whether or not $prefix contains the string
5474C<perl>.
5475
5476=item C<installusrbinperl>
5477
5478From F<instubperl.U>:
5479
5480This variable tells whether Perl should be installed also as
5481F</usr/bin/perl> in addition to
5482F<$installbin/perl>
5483
5484=item C<installvendorarch>
5485
5486From F<vendorarch.U>:
5487
5488This variable is really the same as vendorarchexp but may differ on
5489those systems using C<AFS>. For extra portability, only this variable
5490should be used in makefiles.
5491
5492=item C<installvendorbin>
5493
5494From F<vendorbin.U>:
5495
5496This variable is really the same as vendorbinexp but may differ on
5497those systems using C<AFS>. For extra portability, only this variable
5498should be used in makefiles.
5499
5500=item C<installvendorhtml1dir>
5501
5502From F<vendorhtml1dir.U>:
5503
5504This variable is really the same as vendorhtml1direxp but may differ on
5505those systems using C<AFS>. For extra portability, only this variable
5506should be used in makefiles.
5507
5508=item C<installvendorhtml3dir>
5509
5510From F<vendorhtml3dir.U>:
5511
5512This variable is really the same as vendorhtml3direxp but may differ on
5513those systems using C<AFS>. For extra portability, only this variable
5514should be used in makefiles.
5515
5516=item C<installvendorlib>
5517
5518From F<vendorlib.U>:
5519
5520This variable is really the same as vendorlibexp but may differ on
5521those systems using C<AFS>. For extra portability, only this variable
5522should be used in makefiles.
5523
5524=item C<installvendorman1dir>
5525
5526From F<vendorman1dir.U>:
5527
5528This variable is really the same as vendorman1direxp but may differ on
5529those systems using C<AFS>. For extra portability, only this variable
5530should be used in makefiles.
5531
5532=item C<installvendorman3dir>
5533
5534From F<vendorman3dir.U>:
5535
5536This variable is really the same as vendorman3direxp but may differ on
5537those systems using C<AFS>. For extra portability, only this variable
5538should be used in makefiles.
5539
5540=item C<installvendorscript>
5541
5542From F<vendorscript.U>:
5543
5544This variable is really the same as vendorscriptexp but may differ on
5545those systems using C<AFS>. For extra portability, only this variable
5546should be used in makefiles.
5547
5548=item C<intsize>
5549
5550From F<intsize.U>:
5551
5552This variable contains the value of the C<INTSIZE> symbol, which
5553indicates to the C program how many bytes there are in an int.
5554
5555=item C<issymlink>
5556
5557From F<issymlink.U>:
5558
5559This variable holds the test command to test for a symbolic link
5560(if they are supported). Typical values include C<test -h> and
5561C<test -L>.
5562
5563=item C<ivdformat>
5564
5565From F<perlxvf.U>:
5566
5567This variable contains the format string used for printing
5568a Perl C<IV> as a signed decimal integer.
5569
5570=item C<ivsize>
5571
5572From F<perlxv.U>:
5573
5574This variable is the size of an C<IV> in bytes.
5575
5576=item C<ivtype>
5577
5578From F<perlxv.U>:
5579
5580This variable contains the C type used for Perl's C<IV>.
5581
5582=back
5583
5584=head2 k
5585
5586=over 4
5587
5588=item C<known_extensions>
5589
5590From F<Extensions.U>:
5591
5592This variable holds a list of all C<XS> extensions included in
5593the package.
5594
5595=item C<ksh>
5596
5597From F<Loc.U>:
5598
5599This variable is defined but not used by Configure.
5600The value is a plain '' and is not useful.
5601
5602=back
5603
5604=head2 l
5605
5606=over 4
5607
5608=item C<ld>
5609
5610From F<dlsrc.U>:
5611
5612This variable indicates the program to be used to link
5613libraries for dynamic loading. On some systems, it is C<ld>.
5614On C<ELF> systems, it should be $cc. Mostly, we'll try to respect
5615the hint file setting.
5616
5617=item C<lddlflags>
5618
5619From F<dlsrc.U>:
5620
5621This variable contains any special flags that might need to be
5622passed to $ld to create a shared library suitable for dynamic
5623loading. It is up to the makefile to use it. For hpux, it
5624should be C<-b>. For sunos 4.1, it is empty.
5625
5626=item C<ldflags>
5627
5628From F<ccflags.U>:
5629
5630This variable contains any additional C loader flags desired by
5631the user. It is up to the Makefile to use this.
5632
5633=item C<ldflags_uselargefiles>
5634
5635From F<uselfs.U>:
5636
5637This variable contains the loader flags needed by large file builds
5638and added to ldflags by hints files.
5639
5640=item C<ldlibpthname>
5641
5642From F<libperl.U>:
5643
5644This variable holds the name of the shared library
5645search path, often C<LD_LIBRARY_PATH>. To get an empty
5646string, the hints file must set this to C<none>.
5647
5648=item C<less>
5649
5650From F<Loc.U>:
5651
5652This variable is used internally by Configure to determine the
5653full pathname (if any) of the less program. After Configure runs,
5654the value is reset to a plain C<less> and is not useful.
5655
5656=item C<lib_ext>
5657
5658From F<Unix.U>:
5659
5660This is an old synonym for _a.
5661
5662=item C<libc>
5663
5664From F<libc.U>:
5665
5666This variable contains the location of the C library.
5667
5668=item C<libperl>
5669
5670From F<libperl.U>:
5671
5672The perl executable is obtained by linking F<perlmain.c> with
5673libperl, any static extensions (usually just DynaLoader),
5674and any other libraries needed on this system. libperl
5675is usually F<libperl.a>, but can also be F<libperl.so.xxx> if
5676the user wishes to build a perl executable with a shared
5677library.
5678
5679=item C<libpth>
5680
5681From F<libpth.U>:
5682
5683This variable holds the general path (space-separated) used to find
5684libraries. It is intended to be used by other units.
5685
5686=item C<libs>
5687
5688From F<libs.U>:
5689
5690This variable holds the additional libraries we want to use.
5691It is up to the Makefile to deal with it. The list can be empty.
5692
5693=item C<libsdirs>
5694
5695From F<libs.U>:
5696
5697This variable holds the directory names aka dirnames of the libraries
5698we found and accepted, duplicates are removed.
5699
5700=item C<libsfiles>
5701
5702From F<libs.U>:
5703
5704This variable holds the filenames aka basenames of the libraries
5705we found and accepted.
5706
5707=item C<libsfound>
5708
5709From F<libs.U>:
5710
5711This variable holds the full pathnames of the libraries
5712we found and accepted.
5713
5714=item C<libspath>
5715
5716From F<libs.U>:
5717
5718This variable holds the directory names probed for libraries.
5719
5720=item C<libswanted>
5721
5722From F<Myinit.U>:
5723
5724This variable holds a list of all the libraries we want to
5725search. The order is chosen to pick up the c library
5726ahead of ucb or bsd libraries for SVR4.
5727
5728=item C<libswanted_uselargefiles>
5729
5730From F<uselfs.U>:
5731
5732This variable contains the libraries needed by large file builds
5733and added to ldflags by hints files. It is a space separated list
5734of the library names without the C<lib> prefix or any suffix, just
5735like F<libswanted.>.
5736
5737=item C<line>
5738
5739From F<Loc.U>:
5740
5741This variable is defined but not used by Configure.
5742The value is a plain '' and is not useful.
5743
5744=item C<lint>
5745
5746From F<Loc.U>:
5747
5748This variable is defined but not used by Configure.
5749The value is a plain '' and is not useful.
5750
5751=item C<lkflags>
5752
5753From F<ccflags.U>:
5754
5755This variable contains any additional C partial linker flags desired by
5756the user. It is up to the Makefile to use this.
5757
5758=item C<ln>
5759
5760From F<Loc.U>:
5761
5762This variable is used internally by Configure to determine the
5763full pathname (if any) of the ln program. After Configure runs,
5764the value is reset to a plain C<ln> and is not useful.
5765
5766=item C<lns>
5767
5768From F<lns.U>:
5769
5770This variable holds the name of the command to make
5771symbolic links (if they are supported). It can be used
5772in the Makefile. It is either C<ln -s> or C<ln>
5773
5774=item C<localtime_r_proto>
5775
5776From F<d_localtime_r.U>:
5777
5778This variable encodes the prototype of localtime_r.
5779It is zero if d_localtime_r is undef, and one of the
5780C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_localtime_r
5781is defined.
5782
5783=item C<locincpth>
5784
5785From F<ccflags.U>:
5786
5787This variable contains a list of additional directories to be
5788searched by the compiler. The appropriate C<-I> directives will
5789be added to ccflags. This is intended to simplify setting
5790local directories from the Configure command line.
5791It's not much, but it parallels the loclibpth stuff in F<libpth.U>.
5792
5793=item C<loclibpth>
5794
5795From F<libpth.U>:
5796
5797This variable holds the paths (space-separated) used to find local
5798libraries. It is prepended to libpth, and is intended to be easily
5799set from the command line.
5800
5801=item C<longdblsize>
5802
5803From F<d_longdbl.U>:
5804
5805This variable contains the value of the C<LONG_DOUBLESIZE> symbol, which
5806indicates to the C program how many bytes there are in a long double,
5807if this system supports long doubles.
5808
5809=item C<longlongsize>
5810
5811From F<d_longlong.U>:
5812
5813This variable contains the value of the C<LONGLONGSIZE> symbol, which
5814indicates to the C program how many bytes there are in a long long,
5815if this system supports long long.
5816
5817=item C<longsize>
5818
5819From F<intsize.U>:
5820
5821This variable contains the value of the C<LONGSIZE> symbol, which
5822indicates to the C program how many bytes there are in a long.
5823
5824=item C<lp>
5825
5826From F<Loc.U>:
5827
5828This variable is defined but not used by Configure.
5829The value is a plain '' and is not useful.
5830
5831=item C<lpr>
5832
5833From F<Loc.U>:
5834
5835This variable is defined but not used by Configure.
5836The value is a plain '' and is not useful.
5837
5838=item C<ls>
5839
5840From F<Loc.U>:
5841
5842This variable is used internally by Configure to determine the
5843full pathname (if any) of the ls program. After Configure runs,
5844the value is reset to a plain C<ls> and is not useful.
5845
5846=item C<lseeksize>
5847
5848From F<lseektype.U>:
5849
5850This variable defines lseektype to be something like off_t, long,
5851or whatever type is used to declare lseek offset's type in the
5852kernel (which also appears to be lseek's return type).
5853
5854=item C<lseektype>
5855
5856From F<lseektype.U>:
5857
5858This variable defines lseektype to be something like off_t, long,
5859or whatever type is used to declare lseek offset's type in the
5860kernel (which also appears to be lseek's return type).
5861
5862=back
5863
5864=head2 m
5865
5866=over 4
5867
5868=item C<mail>
5869
5870From F<Loc.U>:
5871
5872This variable is defined but not used by Configure.
5873The value is a plain '' and is not useful.
5874
5875=item C<mailx>
5876
5877From F<Loc.U>:
5878
5879This variable is defined but not used by Configure.
5880The value is a plain '' and is not useful.
5881
5882=item C<make>
5883
5884From F<Loc.U>:
5885
5886This variable is used internally by Configure to determine the
5887full pathname (if any) of the make program. After Configure runs,
5888the value is reset to a plain C<make> and is not useful.
5889
5890=item C<make_set_make>
5891
5892From F<make.U>:
5893
5894Some versions of C<make> set the variable C<MAKE>. Others do not.
5895This variable contains the string to be included in F<Makefile.SH>
5896so that C<MAKE> is set if needed, and not if not needed.
5897Possible values are:
5898
5899make_set_make=C<#> # If your make program handles this for you,
5900
5901make_set_make=C<MAKE=$make> # if it doesn't.
5902
5903This uses a comment character to distinguish a
5904C<set> value (from a previous F<config.sh> or Configure C<-D> option)
5905from an uncomputed value.
5906
5907=item C<mallocobj>
5908
5909From F<mallocsrc.U>:
5910
5911This variable contains the name of the F<malloc.o> that this package
5912generates, if that F<malloc.o> is preferred over the system malloc.
5913Otherwise the value is null. This variable is intended for generating
5914Makefiles. See mallocsrc.
5915
5916=item C<mallocsrc>
5917
5918From F<mallocsrc.U>:
5919
5920This variable contains the name of the F<malloc.c> that comes with
5921the package, if that F<malloc.c> is preferred over the system malloc.
5922Otherwise the value is null. This variable is intended for generating
5923Makefiles.
5924
5925=item C<malloctype>
5926
5927From F<mallocsrc.U>:
5928
5929This variable contains the kind of ptr returned by malloc and realloc.
5930
5931=item C<man1dir>
5932
5933From F<man1dir.U>:
5934
5935This variable contains the name of the directory in which manual
5936source pages are to be put. It is the responsibility of the
5937F<Makefile.SH> to get the value of this into the proper command.
5938You must be prepared to do the F<~name> expansion yourself.
5939
5940=item C<man1direxp>
5941
5942From F<man1dir.U>:
5943
5944This variable is the same as the man1dir variable, but is filename
5945expanded at configuration time, for convenient use in makefiles.
5946
5947=item C<man1ext>
5948
5949From F<man1dir.U>:
5950
5951This variable contains the extension that the manual page should
5952have: one of C<n>, C<l>, or C<1>. The Makefile must supply the F<.>.
5953See man1dir.
5954
5955=item C<man3dir>
5956
5957From F<man3dir.U>:
5958
5959This variable contains the name of the directory in which manual
5960source pages are to be put. It is the responsibility of the
5961F<Makefile.SH> to get the value of this into the proper command.
5962You must be prepared to do the F<~name> expansion yourself.
5963
5964=item C<man3direxp>
5965
5966From F<man3dir.U>:
5967
5968This variable is the same as the man3dir variable, but is filename
5969expanded at configuration time, for convenient use in makefiles.
5970
5971=item C<man3ext>
5972
5973From F<man3dir.U>:
5974
5975This variable contains the extension that the manual page should
5976have: one of C<n>, C<l>, or C<3>. The Makefile must supply the F<.>.
5977See man3dir.
5978
5979=back
5980
5981=head2 M
5982
5983=over 4
5984
5985=item C<Mcc>
5986
5987From F<Loc.U>:
5988
5989This variable is used internally by Configure to determine the
5990full pathname (if any) of the Mcc program. After Configure runs,
5991the value is reset to a plain C<Mcc> and is not useful.
5992
5993=item C<mips_type>
5994
5995From F<usrinc.U>:
5996
5997This variable holds the environment type for the mips system.
5998Possible values are "BSD 4.3" and "System V".
5999
6000=item C<mistrustnm>
6001
6002From F<Csym.U>:
6003
6004This variable can be used to establish a fallthrough for the cases
6005where nm fails to find a symbol. If usenm is false or usenm is true
6006and mistrustnm is false, this variable has no effect. If usenm is true
6007and mistrustnm is C<compile>, a test program will be compiled to try to
6008find any symbol that can't be located via nm lookup. If mistrustnm is
6009C<run>, the test program will be run as well as being compiled.
6010
6011=item C<mkdir>
6012
6013From F<Loc.U>:
6014
6015This variable is used internally by Configure to determine the
6016full pathname (if any) of the mkdir program. After Configure runs,
6017the value is reset to a plain C<mkdir> and is not useful.
6018
6019=item C<mmaptype>
6020
6021From F<d_mmap.U>:
6022
6023This symbol contains the type of pointer returned by mmap()
6024(and simultaneously the type of the first argument).
6025It can be C<void *> or C<caddr_t>.
6026
6027=item C<modetype>
6028
6029From F<modetype.U>:
6030
6031This variable defines modetype to be something like mode_t,
6032int, unsigned short, or whatever type is used to declare file
6033modes for system calls.
6034
6035=item C<more>
6036
6037From F<Loc.U>:
6038
6039This variable is used internally by Configure to determine the
6040full pathname (if any) of the more program. After Configure runs,
6041the value is reset to a plain C<more> and is not useful.
6042
6043=item C<multiarch>
6044
6045From F<multiarch.U>:
6046
6047This variable conditionally defines the C<MULTIARCH> symbol
6048which signifies the presence of multiplatform files.
6049This is normally set by hints files.
6050
6051=item C<mv>
6052
6053From F<Loc.U>:
6054
6055This variable is defined but not used by Configure.
6056The value is a plain '' and is not useful.
6057
6058=item C<myarchname>
6059
6060From F<archname.U>:
6061
6062This variable holds the architecture name computed by Configure in
6063a previous run. It is not intended to be perused by any user and
6064should never be set in a hint file.
6065
6066=item C<mydomain>
6067
6068From F<myhostname.U>:
6069
6070This variable contains the eventual value of the C<MYDOMAIN> symbol,
6071which is the domain of the host the program is going to run on.
6072The domain must be appended to myhostname to form a complete host name.
6073The dot comes with mydomain, and need not be supplied by the program.
6074
6075=item C<myhostname>
6076
6077From F<myhostname.U>:
6078
6079This variable contains the eventual value of the C<MYHOSTNAME> symbol,
6080which is the name of the host the program is going to run on.
6081The domain is not kept with hostname, but must be gotten from mydomain.
6082The dot comes with mydomain, and need not be supplied by the program.
6083
6084=item C<myuname>
6085
6086From F<Oldconfig.U>:
6087
6088The output of C<uname -a> if available, otherwise the hostname. On Xenix,
6089pseudo variables assignments in the output are stripped, thank you. The
6090whole thing is then lower-cased.
6091
6092=back
6093
6094=head2 n
6095
6096=over 4
6097
6098=item C<n>
6099
6100From F<n.U>:
6101
6102This variable contains the C<-n> flag if that is what causes the echo
6103command to suppress newline. Otherwise it is null. Correct usage is
6104$echo $n "prompt for a question: $c".
6105
6106=item C<need_va_copy>
6107
6108From F<need_va_copy.U>:
6109
6110This symbol, if defined, indicates that the system stores
6111the variable argument list datatype, va_list, in a format
6112that cannot be copied by simple assignment, so that some
6113other means must be used when copying is required.
6114As such systems vary in their provision (or non-provision)
6115of copying mechanisms, F<handy.h> defines a platform-
6116C<independent> macro, Perl_va_copy(src, dst), to do the job.
6117
6118=item C<netdb_hlen_type>
6119
6120From F<netdbtype.U>:
6121
6122This variable holds the type used for the 2nd argument to
6123gethostbyaddr(). Usually, this is int or size_t or unsigned.
6124This is only useful if you have gethostbyaddr(), naturally.
6125
6126=item C<netdb_host_type>
6127
6128From F<netdbtype.U>:
6129
6130This variable holds the type used for the 1st argument to
6131gethostbyaddr(). Usually, this is char * or void *, possibly
6132with or without a const prefix.
6133This is only useful if you have gethostbyaddr(), naturally.
6134
6135=item C<netdb_name_type>
6136
6137From F<netdbtype.U>:
6138
6139This variable holds the type used for the argument to
6140gethostbyname(). Usually, this is char * or const char *.
6141This is only useful if you have gethostbyname(), naturally.
6142
6143=item C<netdb_net_type>
6144
6145From F<netdbtype.U>:
6146
6147This variable holds the type used for the 1st argument to
6148getnetbyaddr(). Usually, this is int or long.
6149This is only useful if you have getnetbyaddr(), naturally.
6150
6151=item C<nm>
6152
6153From F<Loc.U>:
6154
6155This variable is used internally by Configure to determine the
6156full pathname (if any) of the nm program. After Configure runs,
6157the value is reset to a plain C<nm> and is not useful.
6158
6159=item C<nm_opt>
6160
6161From F<usenm.U>:
6162
6163This variable holds the options that may be necessary for nm.
6164
6165=item C<nm_so_opt>
6166
6167From F<usenm.U>:
6168
6169This variable holds the options that may be necessary for nm
6170to work on a shared library but that can not be used on an
6171archive library. Currently, this is only used by Linux, where
6172nm --dynamic is *required* to get symbols from an C<ELF> library which
6173has been stripped, but nm --dynamic is *fatal* on an archive library.
6174Maybe Linux should just always set usenm=false.
6175
6176=item C<nonxs_ext>
6177
6178From F<Extensions.U>:
6179
6180This variable holds a list of all non-xs extensions included
6181in the package. All of them will be built.
6182
6183=item C<nroff>
6184
6185From F<Loc.U>:
6186
6187This variable is used internally by Configure to determine the
6188full pathname (if any) of the nroff program. After Configure runs,
6189the value is reset to a plain C<nroff> and is not useful.
6190
6191=item C<nv_preserves_uv_bits>
6192
6193From F<perlxv.U>:
6194
6195This variable indicates how many of bits type uvtype
6196a variable nvtype can preserve.
6197
6198=item C<nveformat>
6199
6200From F<perlxvf.U>:
6201
6202This variable contains the format string used for printing
6203a Perl C<NV> using %e-ish floating point format.
6204
6205=item C<nvEUformat>
6206
6207From F<perlxvf.U>:
6208
6209This variable contains the format string used for printing
6210a Perl C<NV> using %E-ish floating point format.
6211
6212=item C<nvfformat>
6213
6214From F<perlxvf.U>:
6215
6216This variable confains the format string used for printing
6217a Perl C<NV> using %f-ish floating point format.
6218
6219=item C<nvFUformat>
6220
6221From F<perlxvf.U>:
6222
6223This variable confains the format string used for printing
6224a Perl C<NV> using %F-ish floating point format.
6225
6226=item C<nvgformat>
6227
6228From F<perlxvf.U>:
6229
6230This variable contains the format string used for printing
6231a Perl C<NV> using %g-ish floating point format.
6232
6233=item C<nvGUformat>
6234
6235From F<perlxvf.U>:
6236
6237This variable contains the format string used for printing
6238a Perl C<NV> using %G-ish floating point format.
6239
6240=item C<nvsize>
6241
6242From F<perlxv.U>:
6243
6244This variable is the size of an C<NV> in bytes.
6245
6246=item C<nvtype>
6247
6248From F<perlxv.U>:
6249
6250This variable contains the C type used for Perl's C<NV>.
6251
6252=back
6253
6254=head2 o
6255
6256=over 4
6257
6258=item C<o_nonblock>
6259
6260From F<nblock_io.U>:
6261
6262This variable bears the symbol value to be used during open() or fcntl()
6263to turn on non-blocking I/O for a file descriptor. If you wish to switch
6264between blocking and non-blocking, you may try ioctl(C<FIOSNBIO>) instead,
6265but that is only supported by some devices.
6266
6267=item C<obj_ext>
6268
6269From F<Unix.U>:
6270
6271This is an old synonym for _o.
6272
6273=item C<old_pthread_create_joinable>
6274
6275From F<d_pthrattrj.U>:
6276
6277This variable defines the constant to use for creating joinable
6278(aka undetached) pthreads. Unused if F<pthread.h> defines
6279C<PTHREAD_CREATE_JOINABLE>. If used, possible values are
6280C<PTHREAD_CREATE_UNDETACHED> and C<__UNDETACHED>.
6281
6282=item C<optimize>
6283
6284From F<ccflags.U>:
6285
6286This variable contains any F<optimizer/debugger> flag that should be used.
6287It is up to the Makefile to use it.
6288
6289=item C<orderlib>
6290
6291From F<orderlib.U>:
6292
6293This variable is C<true> if the components of libraries must be ordered
6294(with `lorder $* | tsort`) before placing them in an archive. Set to
6295C<false> if ranlib or ar can generate random libraries.
6296
6297=item C<osname>
6298
6299From F<Oldconfig.U>:
6300
6301This variable contains the operating system name (e.g. sunos,
6302solaris, hpux, etc.). It can be useful later on for setting
6303defaults. Any spaces are replaced with underscores. It is set
6304to a null string if we can't figure it out.
6305
6306=item C<osvers>
6307
6308From F<Oldconfig.U>:
6309
6310This variable contains the operating system version (e.g.
63114.1.3, 5.2, etc.). It is primarily used for helping select
6312an appropriate hints file, but might be useful elsewhere for
6313setting defaults. It is set to '' if we can't figure it out.
6314We try to be flexible about how much of the version number
6315to keep, e.g. if 4.1.1, 4.1.2, and 4.1.3 are essentially the
6316same for this package, hints files might just be F<os_4.0> or
6317F<os_4.1>, etc., not keeping separate files for each little release.
6318
6319=item C<otherlibdirs>
6320
6321From F<otherlibdirs.U>:
6322
6323This variable contains a colon-separated set of paths for the perl
6324binary to search for additional library files or modules.
6325These directories will be tacked to the end of @C<INC>.
6326Perl will automatically search below each path for version-
6327and architecture-specific directories. See inc_version_list
6328for more details.
6329A value of C< > means C<none> and is used to preserve this value
6330for the next run through Configure.
6331
6332=back
6333
6334=head2 p
6335
6336=over 4
6337
6338=item C<package>
6339
6340From F<package.U>:
6341
6342This variable contains the name of the package being constructed.
6343It is primarily intended for the use of later Configure units.
6344
6345=item C<pager>
6346
6347From F<pager.U>:
6348
6349This variable contains the name of the preferred pager on the system.
6350Usual values are (the full pathnames of) more, less, pg, or cat.
6351
6352=item C<passcat>
6353
6354From F<nis.U>:
6355
6356This variable contains a command that produces the text of the
6357F</etc/passwd> file. This is normally "cat F</etc/passwd>", but can be
6358"ypcat passwd" when C<NIS> is used.
6359On some systems, such as os390, there may be no equivalent
6360command, in which case this variable is unset.
6361
6362=item C<patchlevel>
6363
6364From F<patchlevel.U>:
6365
6366The patchlevel level of this package.
6367The value of patchlevel comes from the F<patchlevel.h> file.
6368In a version number such as 5.6.1, this is the C<6>.
6369In F<patchlevel.h>, this is referred to as C<PERL_VERSION>.
6370
6371=item C<path_sep>
6372
6373From F<Unix.U>:
6374
6375This is an old synonym for p_ in F<Head.U>, the character
6376used to separate elements in the command shell search C<PATH>.
6377
6378=item C<perl5>
6379
6380From F<perl5.U>:
6381
6382This variable contains the full path (if any) to a previously
6383installed F<perl5.005> or later suitable for running the script
6384to determine inc_version_list.
6385
6386=item C<perl>
6387
6388From F<Loc.U>:
6389
6390This variable is defined but not used by Configure.
6391The value is a plain '' and is not useful.
6392
6393=item C<perl_patchlevel>
6394
6395From F<patchlevel.U>:
6396
6397This is the Perl patch level, a numeric change identifier,
6398as defined by whichever source code maintenance system
6399is used to maintain the patches; currently Perforce.
6400It does not correlate with the Perl version numbers or
6401the maintenance versus development dichotomy except
6402by also being increasing.
6403
6404=back
6405
6406=head2 P
6407
6408=over 4
6409
6410=item C<PERL_REVISION>
6411
6412From F<Oldsyms.U>:
6413
6414In a Perl version number such as 5.6.2, this is the 5.
6415This value is manually set in F<patchlevel.h>
6416
6417=item C<PERL_SUBVERSION>
6418
6419From F<Oldsyms.U>:
6420
6421In a Perl version number such as 5.6.2, this is the 2.
6422Values greater than 50 represent potentially unstable
6423development subversions.
6424This value is manually set in F<patchlevel.h>
6425
6426=item C<PERL_VERSION>
6427
6428From F<Oldsyms.U>:
6429
6430In a Perl version number such as 5.6.2, this is the 6.
6431This value is manually set in F<patchlevel.h>
6432
6433=item C<perladmin>
6434
6435From F<perladmin.U>:
6436
6437Electronic mail address of the perl5 administrator.
6438
6439=item C<perllibs>
6440
6441From F<End.U>:
6442
6443The list of libraries needed by Perl only (any libraries needed
6444by extensions only will by dropped, if using dynamic loading).
6445
6446=item C<perlpath>
6447
6448From F<perlpath.U>:
6449
6450This variable contains the eventual value of the C<PERLPATH> symbol,
6451which contains the name of the perl interpreter to be used in
6452shell scripts and in the "eval C<exec>" idiom. This variable is
6453not necessarily the pathname of the file containing the perl
6454interpreter; you must append the executable extension (_exe) if
6455it is not already present. Note that Perl code that runs during
6456the Perl build process cannot reference this variable, as Perl
6457may not have been installed, or even if installed, may be a
6458different version of Perl.
6459
6460=item C<pg>
6461
6462From F<Loc.U>:
6463
6464This variable is used internally by Configure to determine the
6465full pathname (if any) of the pg program. After Configure runs,
6466the value is reset to a plain C<pg> and is not useful.
6467
6468=item C<phostname>
6469
6470From F<myhostname.U>:
6471
6472This variable contains the eventual value of the C<PHOSTNAME> symbol,
6473which is a command that can be fed to popen() to get the host name.
6474The program should probably not presume that the domain is or isn't
6475there already.
6476
6477=item C<pidtype>
6478
6479From F<pidtype.U>:
6480
6481This variable defines C<PIDTYPE> to be something like pid_t, int,
6482ushort, or whatever type is used to declare process ids in the kernel.
6483
6484=item C<plibpth>
6485
6486From F<libpth.U>:
6487
6488Holds the private path used by Configure to find out the libraries.
6489Its value is prepend to libpth. This variable takes care of special
6490machines, like the mips. Usually, it should be empty.
6491
6492=item C<pmake>
6493
6494From F<Loc.U>:
6495
6496This variable is defined but not used by Configure.
6497The value is a plain '' and is not useful.
6498
6499=item C<pr>
6500
6501From F<Loc.U>:
6502
6503This variable is defined but not used by Configure.
6504The value is a plain '' and is not useful.
6505
6506=item C<prefix>
6507
6508From F<prefix.U>:
6509
6510This variable holds the name of the directory below which the
6511user will install the package. Usually, this is F</usr/local>, and
6512executables go in F</usr/local/bin>, library stuff in F</usr/local/lib>,
6513man pages in F</usr/local/man>, etc. It is only used to set defaults
6514for things in F<bin.U>, F<mansrc.U>, F<privlib.U>, or F<scriptdir.U>.
6515
6516=item C<prefixexp>
6517
6518From F<prefix.U>:
6519
6520This variable holds the full absolute path of the directory below
6521which the user will install the package. Derived from prefix.
6522
6523=item C<privlib>
6524
6525From F<privlib.U>:
6526
6527This variable contains the eventual value of the C<PRIVLIB> symbol,
6528which is the name of the private library for this package. It may
6529have a F<~> on the front. It is up to the makefile to eventually create
6530this directory while performing installation (with F<~> substitution).
6531
6532=item C<privlibexp>
6533
6534From F<privlib.U>:
6535
6536This variable is the F<~name> expanded version of privlib, so that you
6537may use it directly in Makefiles or shell scripts.
6538
6539=item C<procselfexe>
6540
6541From F<d_procselfexe.U>:
6542
6543If d_procselfexe is defined, $procselfexe is the filename
6544of the symbolic link pointing to the absolute pathname of
6545the executing program.
6546
6547=item C<prototype>
6548
6549From F<prototype.U>:
6550
6551This variable holds the eventual value of C<CAN_PROTOTYPE>, which
6552indicates the C compiler can handle funciton prototypes.
6553
6554=item C<ptrsize>
6555
6556From F<ptrsize.U>:
6557
6558This variable contains the value of the C<PTRSIZE> symbol, which
6559indicates to the C program how many bytes there are in a pointer.
6560
6561=back
6562
6563=head2 q
6564
6565=over 4
6566
6567=item C<quadkind>
6568
6569From F<quadtype.U>:
6570
6571This variable, if defined, encodes the type of a quad:
65721 = int, 2 = long, 3 = long long, 4 = int64_t.
6573
6574=item C<quadtype>
6575
6576From F<quadtype.U>:
6577
6578This variable defines Quad_t to be something like long, int,
6579long long, int64_t, or whatever type is used for 64-bit integers.
6580
6581=back
6582
6583=head2 r
6584
6585=over 4
6586
6587=item C<randbits>
6588
6589From F<randfunc.U>:
6590
6591Indicates how many bits are produced by the function used to
6592generate normalized random numbers.
6593
6594=item C<randfunc>
6595
6596From F<randfunc.U>:
6597
6598Indicates the name of the random number function to use.
6599Values include drand48, random, and rand. In C programs,
6600the C<Drand01> macro is defined to generate uniformly distributed
6601random numbers over the range [0., 1.[ (see drand01 and nrand).
6602
6603=item C<random_r_proto>
6604
6605From F<d_random_r.U>:
6606
6607This variable encodes the prototype of random_r.
6608It is zero if d_random_r is undef, and one of the
6609C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_random_r
6610is defined.
6611
6612=item C<randseedtype>
6613
6614From F<randfunc.U>:
6615
6616Indicates the type of the argument of the seedfunc.
6617
6618=item C<ranlib>
6619
6620From F<orderlib.U>:
6621
6622This variable is set to the pathname of the ranlib program, if it is
6623needed to generate random libraries. Set to C<:> if ar can generate
6624random libraries or if random libraries are not supported
6625
6626=item C<rd_nodata>
6627
6628From F<nblock_io.U>:
6629
6630This variable holds the return code from read() when no data is
6631present. It should be -1, but some systems return 0 when C<O_NDELAY> is
6632used, which is a shame because you cannot make the difference between
6633no data and an F<EOF.>. Sigh!
6634
6635=item C<readdir64_r_proto>
6636
6637From F<d_readdir64_r.U>:
6638
6639This variable encodes the prototype of readdir64_r.
6640It is zero if d_readdir64_r is undef, and one of the
6641C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_readdir64_r
6642is defined.
6643
6644=item C<readdir_r_proto>
6645
6646From F<d_readdir_r.U>:
6647
6648This variable encodes the prototype of readdir_r.
6649It is zero if d_readdir_r is undef, and one of the
6650C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_readdir_r
6651is defined.
6652
6653=item C<revision>
6654
6655From F<patchlevel.U>:
6656
6657The value of revision comes from the F<patchlevel.h> file.
6658In a version number such as 5.6.1, this is the C<5>.
6659In F<patchlevel.h>, this is referred to as C<PERL_REVISION>.
6660
6661=item C<rm>
6662
6663From F<Loc.U>:
6664
6665This variable is used internally by Configure to determine the
6666full pathname (if any) of the rm program. After Configure runs,
6667the value is reset to a plain C<rm> and is not useful.
6668
6669=item C<rmail>
6670
6671From F<Loc.U>:
6672
6673This variable is defined but not used by Configure.
6674The value is a plain '' and is not useful.
6675
6676=item C<run>
6677
6678From F<Cross.U>:
6679
6680This variable contains the command used by Configure
6681to copy and execute a cross-compiled executable in the
6682target host. Useful and available only during Perl build.
6683Empty string '' if not cross-compiling.
6684
6685=item C<runnm>
6686
6687From F<usenm.U>:
6688
6689This variable contains C<true> or C<false> depending whether the
6690nm extraction should be performed or not, according to the value
6691of usenm and the flags on the Configure command line.
6692
6693=back
6694
6695=head2 s
6696
6697=over 4
6698
6699=item C<sched_yield>
6700
6701From F<d_pthread_y.U>:
6702
6703This variable defines the way to yield the execution
6704of the current thread.
6705
6706=item C<scriptdir>
6707
6708From F<scriptdir.U>:
6709
6710This variable holds the name of the directory in which the user wants
6711to put publicly scripts for the package in question. It is either
6712the same directory as for binaries, or a special one that can be
6713mounted across different architectures, like F</usr/share>. Programs
6714must be prepared to deal with F<~name> expansion.
6715
6716=item C<scriptdirexp>
6717
6718From F<scriptdir.U>:
6719
6720This variable is the same as scriptdir, but is filename expanded
6721at configuration time, for programs not wanting to bother with it.
6722
6723=item C<sed>
6724
6725From F<Loc.U>:
6726
6727This variable is used internally by Configure to determine the
6728full pathname (if any) of the sed program. After Configure runs,
6729the value is reset to a plain C<sed> and is not useful.
6730
6731=item C<seedfunc>
6732
6733From F<randfunc.U>:
6734
6735Indicates the random number generating seed function.
6736Values include srand48, srandom, and srand.
6737
6738=item C<selectminbits>
6739
6740From F<selectminbits.U>:
6741
6742This variable holds the minimum number of bits operated by select.
6743That is, if you do select(n, ...), how many bits at least will be
6744cleared in the masks if some activity is detected. Usually this
6745is either n or 32*ceil(F<n/32>), especially many little-endians do
6746the latter. This is only useful if you have select(), naturally.
6747
6748=item C<selecttype>
6749
6750From F<selecttype.U>:
6751
6752This variable holds the type used for the 2nd, 3rd, and 4th
6753arguments to select. Usually, this is C<fd_set *>, if C<HAS_FD_SET>
6754is defined, and C<int *> otherwise. This is only useful if you
6755have select(), naturally.
6756
6757=item C<sendmail>
6758
6759From F<Loc.U>:
6760
6761This variable is defined but not used by Configure.
6762The value is a plain '' and is not useful.
6763
6764=item C<setgrent_r_proto>
6765
6766From F<d_setgrent_r.U>:
6767
6768This variable encodes the prototype of setgrent_r.
6769It is zero if d_setgrent_r is undef, and one of the
6770C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_setgrent_r
6771is defined.
6772
6773=item C<sethostent_r_proto>
6774
6775From F<d_sethostent_r.U>:
6776
6777This variable encodes the prototype of sethostent_r.
6778It is zero if d_sethostent_r is undef, and one of the
6779C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_sethostent_r
6780is defined.
6781
6782=item C<setlocale_r_proto>
6783
6784From F<d_setlocale_r.U>:
6785
6786This variable encodes the prototype of setlocale_r.
6787It is zero if d_setlocale_r is undef, and one of the
6788C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_setlocale_r
6789is defined.
6790
6791=item C<setnetent_r_proto>
6792
6793From F<d_setnetent_r.U>:
6794
6795This variable encodes the prototype of setnetent_r.
6796It is zero if d_setnetent_r is undef, and one of the
6797C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_setnetent_r
6798is defined.
6799
6800=item C<setprotoent_r_proto>
6801
6802From F<d_setprotoent_r.U>:
6803
6804This variable encodes the prototype of setprotoent_r.
6805It is zero if d_setprotoent_r is undef, and one of the
6806C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_setprotoent_r
6807is defined.
6808
6809=item C<setpwent_r_proto>
6810
6811From F<d_setpwent_r.U>:
6812
6813This variable encodes the prototype of setpwent_r.
6814It is zero if d_setpwent_r is undef, and one of the
6815C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_setpwent_r
6816is defined.
6817
6818=item C<setservent_r_proto>
6819
6820From F<d_setservent_r.U>:
6821
6822This variable encodes the prototype of setservent_r.
6823It is zero if d_setservent_r is undef, and one of the
6824C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_setservent_r
6825is defined.
6826
6827=item C<sh>
6828
6829From F<sh.U>:
6830
6831This variable contains the full pathname of the shell used
6832on this system to execute Bourne shell scripts. Usually, this will be
6833F</bin/sh>, though it's possible that some systems will have F</bin/ksh>,
6834F</bin/pdksh>, F</bin/ash>, F</bin/bash>, or even something such as
6835D:F</bin/sh.exe>.
6836This unit comes before F<Options.U>, so you can't set sh with a C<-D>
6837option, though you can override this (and startsh)
6838with C<-O -Dsh=F</bin/whatever> -Dstartsh=whatever>
6839
6840=item C<shar>
6841
6842From F<Loc.U>:
6843
6844This variable is defined but not used by Configure.
6845The value is a plain '' and is not useful.
6846
6847=item C<sharpbang>
6848
6849From F<spitshell.U>:
6850
6851This variable contains the string #! if this system supports that
6852construct.
6853
6854=item C<shmattype>
6855
6856From F<d_shmat.U>:
6857
6858This symbol contains the type of pointer returned by shmat().
6859It can be C<void *> or C<char *>.
6860
6861=item C<shortsize>
6862
6863From F<intsize.U>:
6864
6865This variable contains the value of the C<SHORTSIZE> symbol which
6866indicates to the C program how many bytes there are in a short.
6867
6868=item C<shrpenv>
6869
6870From F<libperl.U>:
6871
6872If the user builds a shared F<libperl.so>, then we need to tell the
6873C<perl> executable where it will be able to find the installed F<libperl.so>.
6874One way to do this on some systems is to set the environment variable
6875C<LD_RUN_PATH> to the directory that will be the final location of the
6876shared F<libperl.so>. The makefile can use this with something like
6877$shrpenv $(C<CC>) -o perl F<perlmain.o> $libperl $libs
6878Typical values are
6879shrpenv="env C<LD_RUN_PATH>=F<$archlibexp/C<CORE>>"
6880or
6881shrpenv=''
6882See the main perl F<Makefile.SH> for actual working usage.
6883Alternatively, we might be able to use a command line option such
6884as -R F<$archlibexp/C<CORE>> (Solaris) or -Wl,-rpath
6885F<$archlibexp/C<CORE>> (Linux).
6886
6887=item C<shsharp>
6888
6889From F<spitshell.U>:
6890
6891This variable tells further Configure units whether your sh can
6892handle # comments.
6893
6894=item C<sig_count>
6895
6896From F<sig_name.U>:
6897
6898This variable holds a number larger than the largest valid
6899signal number. This is usually the same as the C<NSIG> macro.
6900
6901=item C<sig_name>
6902
6903From F<sig_name.U>:
6904
6905This variable holds the signal names, space separated. The leading
6906C<SIG> in signal name is removed. A C<ZERO> is prepended to the list.
6907This is currently not used, sig_name_init is used instead.
6908
6909=item C<sig_name_init>
6910
6911From F<sig_name.U>:
6912
6913This variable holds the signal names, enclosed in double quotes and
6914separated by commas, suitable for use in the C<SIG_NAME> definition
6915below. A C<ZERO> is prepended to the list, and the list is
6916terminated with a plain 0. The leading C<SIG> in signal names
6917is removed. See sig_num.
6918
6919=item C<sig_num>
6920
6921From F<sig_name.U>:
6922
6923This variable holds the signal numbers, space separated. A C<ZERO> is
6924prepended to the list (corresponding to the fake C<SIGZERO>).
6925Those numbers correspond to the value of the signal listed
6926in the same place within the sig_name list.
6927This is currently not used, sig_num_init is used instead.
6928
6929=item C<sig_num_init>
6930
6931From F<sig_name.U>:
6932
6933This variable holds the signal numbers, enclosed in double quotes and
6934separated by commas, suitable for use in the C<SIG_NUM> definition
6935below. A C<ZERO> is prepended to the list, and the list is
6936terminated with a plain 0.
6937
6938=item C<sig_size>
6939
6940From F<sig_name.U>:
6941
6942This variable contains the number of elements of the sig_name
6943and sig_num arrays.
6944
6945=item C<signal_t>
6946
6947From F<d_voidsig.U>:
6948
6949This variable holds the type of the signal handler (void or int).
6950
6951=item C<sitearch>
6952
6953From F<sitearch.U>:
6954
6955This variable contains the eventual value of the C<SITEARCH> symbol,
6956which is the name of the private library for this package. It may
6957have a F<~> on the front. It is up to the makefile to eventually create
6958this directory while performing installation (with F<~> substitution).
6959The standard distribution will put nothing in this directory.
6960After perl has been installed, users may install their own local
6961architecture-dependent modules in this directory with
6962MakeMaker F<Makefile.PL>
6963or equivalent. See C<INSTALL> for details.
6964
6965=item C<sitearchexp>
6966
6967From F<sitearch.U>:
6968
6969This variable is the F<~name> expanded version of sitearch, so that you
6970may use it directly in Makefiles or shell scripts.
6971
6972=item C<sitebin>
6973
6974From F<sitebin.U>:
6975
6976This variable holds the name of the directory in which the user wants
6977to put add-on publicly executable files for the package in question. It
6978is most often a local directory such as F</usr/local/bin>. Programs using
6979this variable must be prepared to deal with F<~name> substitution.
6980The standard distribution will put nothing in this directory.
6981After perl has been installed, users may install their own local
6982executables in this directory with
6983MakeMaker F<Makefile.PL>
6984or equivalent. See C<INSTALL> for details.
6985
6986=item C<sitebinexp>
6987
6988From F<sitebin.U>:
6989
6990This is the same as the sitebin variable, but is filename expanded at
6991configuration time, for use in your makefiles.
6992
6993=item C<sitehtml1dir>
6994
6995From F<sitehtml1dir.U>:
6996
6997This variable contains the name of the directory in which site-specific
6998html source pages are to be put. It is the responsibility of the
6999F<Makefile.SH> to get the value of this into the proper command.
7000You must be prepared to do the F<~name> expansion yourself.
7001The standard distribution will put nothing in this directory.
7002After perl has been installed, users may install their own local
7003html pages in this directory with
7004MakeMaker F<Makefile.PL>
7005or equivalent. See C<INSTALL> for details.
7006
7007=item C<sitehtml1direxp>
7008
7009From F<sitehtml1dir.U>:
7010
7011This variable is the same as the sitehtml1dir variable, but is filename
7012expanded at configuration time, for convenient use in makefiles.
7013
7014=item C<sitehtml3dir>
7015
7016From F<sitehtml3dir.U>:
7017
7018This variable contains the name of the directory in which site-specific
7019library html source pages are to be put. It is the responsibility of the
7020F<Makefile.SH> to get the value of this into the proper command.
7021You must be prepared to do the F<~name> expansion yourself.
7022The standard distribution will put nothing in this directory.
7023After perl has been installed, users may install their own local
7024library html pages in this directory with
7025MakeMaker F<Makefile.PL>
7026or equivalent. See C<INSTALL> for details.
7027
7028=item C<sitehtml3direxp>
7029
7030From F<sitehtml3dir.U>:
7031
7032This variable is the same as the sitehtml3dir variable, but is filename
7033expanded at configuration time, for convenient use in makefiles.
7034
7035=item C<sitelib>
7036
7037From F<sitelib.U>:
7038
7039This variable contains the eventual value of the C<SITELIB> symbol,
7040which is the name of the private library for this package. It may
7041have a F<~> on the front. It is up to the makefile to eventually create
7042this directory while performing installation (with F<~> substitution).
7043The standard distribution will put nothing in this directory.
7044After perl has been installed, users may install their own local
7045architecture-independent modules in this directory with
7046MakeMaker F<Makefile.PL>
7047or equivalent. See C<INSTALL> for details.
7048
7049=item C<sitelib_stem>
7050
7051From F<sitelib.U>:
7052
7053This variable is $sitelibexp with any trailing version-specific component
7054removed. The elements in inc_version_list (F<inc_version_list.U>) can
7055be tacked onto this variable to generate a list of directories to search.
7056
7057=item C<sitelibexp>
7058
7059From F<sitelib.U>:
7060
7061This variable is the F<~name> expanded version of sitelib, so that you
7062may use it directly in Makefiles or shell scripts.
7063
7064=item C<siteman1dir>
7065
7066From F<siteman1dir.U>:
7067
7068This variable contains the name of the directory in which site-specific
7069manual source pages are to be put. It is the responsibility of the
7070F<Makefile.SH> to get the value of this into the proper command.
7071You must be prepared to do the F<~name> expansion yourself.
7072The standard distribution will put nothing in this directory.
7073After perl has been installed, users may install their own local
7074man1 pages in this directory with
7075MakeMaker F<Makefile.PL>
7076or equivalent. See C<INSTALL> for details.
7077
7078=item C<siteman1direxp>
7079
7080From F<siteman1dir.U>:
7081
7082This variable is the same as the siteman1dir variable, but is filename
7083expanded at configuration time, for convenient use in makefiles.
7084
7085=item C<siteman3dir>
7086
7087From F<siteman3dir.U>:
7088
7089This variable contains the name of the directory in which site-specific
7090library man source pages are to be put. It is the responsibility of the
7091F<Makefile.SH> to get the value of this into the proper command.
7092You must be prepared to do the F<~name> expansion yourself.
7093The standard distribution will put nothing in this directory.
7094After perl has been installed, users may install their own local
7095man3 pages in this directory with
7096MakeMaker F<Makefile.PL>
7097or equivalent. See C<INSTALL> for details.
7098
7099=item C<siteman3direxp>
7100
7101From F<siteman3dir.U>:
7102
7103This variable is the same as the siteman3dir variable, but is filename
7104expanded at configuration time, for convenient use in makefiles.
7105
7106=item C<siteprefix>
7107
7108From F<siteprefix.U>:
7109
7110This variable holds the full absolute path of the directory below
7111which the user will install add-on packages.
7112See C<INSTALL> for usage and examples.
7113
7114=item C<siteprefixexp>
7115
7116From F<siteprefix.U>:
7117
7118This variable holds the full absolute path of the directory below
7119which the user will install add-on packages. Derived from siteprefix.
7120
7121=item C<sitescript>
7122
7123From F<sitescript.U>:
7124
7125This variable holds the name of the directory in which the user wants
7126to put add-on publicly executable files for the package in question. It
7127is most often a local directory such as F</usr/local/bin>. Programs using
7128this variable must be prepared to deal with F<~name> substitution.
7129The standard distribution will put nothing in this directory.
7130After perl has been installed, users may install their own local
7131scripts in this directory with
7132MakeMaker F<Makefile.PL>
7133or equivalent. See C<INSTALL> for details.
7134
7135=item C<sitescriptexp>
7136
7137From F<sitescript.U>:
7138
7139This is the same as the sitescript variable, but is filename expanded at
7140configuration time, for use in your makefiles.
7141
7142=item C<sizesize>
7143
7144From F<sizesize.U>:
7145
7146This variable contains the size of a sizetype in bytes.
7147
7148=item C<sizetype>
7149
7150From F<sizetype.U>:
7151
7152This variable defines sizetype to be something like size_t,
7153unsigned long, or whatever type is used to declare length
7154parameters for string functions.
7155
7156=item C<sleep>
7157
7158From F<Loc.U>:
7159
7160This variable is defined but not used by Configure.
7161The value is a plain '' and is not useful.
7162
7163=item C<smail>
7164
7165From F<Loc.U>:
7166
7167This variable is defined but not used by Configure.
7168The value is a plain '' and is not useful.
7169
7170=item C<so>
7171
7172From F<so.U>:
7173
7174This variable holds the extension used to identify shared libraries
7175(also known as shared objects) on the system. Usually set to C<so>.
7176
7177=item C<sockethdr>
7178
7179From F<d_socket.U>:
7180
7181This variable has any cpp C<-I> flags needed for socket support.
7182
7183=item C<socketlib>
7184
7185From F<d_socket.U>:
7186
7187This variable has the names of any libraries needed for socket support.
7188
7189=item C<socksizetype>
7190
7191From F<socksizetype.U>:
7192
7193This variable holds the type used for the size argument
7194for various socket calls like accept. Usual values include
7195socklen_t, size_t, and int.
7196
7197=item C<sort>
7198
7199From F<Loc.U>:
7200
7201This variable is used internally by Configure to determine the
7202full pathname (if any) of the sort program. After Configure runs,
7203the value is reset to a plain C<sort> and is not useful.
7204
7205=item C<spackage>
7206
7207From F<package.U>:
7208
7209This variable contains the name of the package being constructed,
7210with the first letter uppercased, F<i.e>. suitable for starting
7211sentences.
7212
7213=item C<spitshell>
7214
7215From F<spitshell.U>:
7216
7217This variable contains the command necessary to spit out a runnable
7218shell on this system. It is either cat or a grep C<-v> for # comments.
7219
7220=item C<sPRId64>
7221
7222From F<quadfio.U>:
7223
7224This variable, if defined, contains the string used by stdio to
7225format 64-bit decimal numbers (format C<d>) for output.
7226
7227=item C<sPRIeldbl>
7228
7229From F<longdblfio.U>:
7230
7231This variable, if defined, contains the string used by stdio to
7232format long doubles (format C<e>) for output.
7233
7234=item C<sPRIEUldbl>
7235
7236From F<longdblfio.U>:
7237
7238This variable, if defined, contains the string used by stdio to
7239format long doubles (format C<E>) for output.
7240The C<U> in the name is to separate this from sPRIeldbl so that even
7241case-blind systems can see the difference.
7242
7243=item C<sPRIfldbl>
7244
7245From F<longdblfio.U>:
7246
7247This variable, if defined, contains the string used by stdio to
7248format long doubles (format C<f>) for output.
7249
7250=item C<sPRIFUldbl>
7251
7252From F<longdblfio.U>:
7253
7254This variable, if defined, contains the string used by stdio to
7255format long doubles (format C<F>) for output.
7256The C<U> in the name is to separate this from sPRIfldbl so that even
7257case-blind systems can see the difference.
7258
7259=item C<sPRIgldbl>
7260
7261From F<longdblfio.U>:
7262
7263This variable, if defined, contains the string used by stdio to
7264format long doubles (format C<g>) for output.
7265
7266=item C<sPRIGUldbl>
7267
7268From F<longdblfio.U>:
7269
7270This variable, if defined, contains the string used by stdio to
7271format long doubles (format C<G>) for output.
7272The C<U> in the name is to separate this from sPRIgldbl so that even
7273case-blind systems can see the difference.
7274
7275=item C<sPRIi64>
7276
7277From F<quadfio.U>:
7278
7279This variable, if defined, contains the string used by stdio to
7280format 64-bit decimal numbers (format C<i>) for output.
7281
7282=item C<sPRIo64>
7283
7284From F<quadfio.U>:
7285
7286This variable, if defined, contains the string used by stdio to
7287format 64-bit octal numbers (format C<o>) for output.
7288
7289=item C<sPRIu64>
7290
7291From F<quadfio.U>:
7292
7293This variable, if defined, contains the string used by stdio to
7294format 64-bit unsigned decimal numbers (format C<u>) for output.
7295
7296=item C<sPRIx64>
7297
7298From F<quadfio.U>:
7299
7300This variable, if defined, contains the string used by stdio to
7301format 64-bit hexadecimal numbers (format C<x>) for output.
7302
7303=item C<sPRIXU64>
7304
7305From F<quadfio.U>:
7306
7307This variable, if defined, contains the string used by stdio to
7308format 64-bit hExADECimAl numbers (format C<X>) for output.
7309The C<U> in the name is to separate this from sPRIx64 so that even
7310case-blind systems can see the difference.
7311
7312=item C<srand48_r_proto>
7313
7314From F<d_srand48_r.U>:
7315
7316This variable encodes the prototype of srand48_r.
7317It is zero if d_srand48_r is undef, and one of the
7318C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_srand48_r
7319is defined.
7320
7321=item C<srandom_r_proto>
7322
7323From F<d_srandom_r.U>:
7324
7325This variable encodes the prototype of srandom_r.
7326It is zero if d_srandom_r is undef, and one of the
7327C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_srandom_r
7328is defined.
7329
7330=item C<src>
7331
7332From F<src.U>:
7333
7334This variable holds the path to the package source. It is up to
7335the Makefile to use this variable and set C<VPATH> accordingly to
7336find the sources remotely.
7337
7338=item C<sSCNfldbl>
7339
7340From F<longdblfio.U>:
7341
7342This variable, if defined, contains the string used by stdio to
7343format long doubles (format C<f>) for input.
7344
7345=item C<ssizetype>
7346
7347From F<ssizetype.U>:
7348
7349This variable defines ssizetype to be something like ssize_t,
7350long or int. It is used by functions that return a count
7351of bytes or an error condition. It must be a signed type.
7352We will pick a type such that sizeof(SSize_t) == sizeof(Size_t).
7353
7354=item C<startperl>
7355
7356From F<startperl.U>:
7357
7358This variable contains the string to put on the front of a perl
7359script to make sure (hopefully) that it runs with perl and not some
7360shell. Of course, that leading line must be followed by the classical
7361perl idiom:
7362eval 'exec perl -S $0 ${1+C<$@>}'
7363if $running_under_some_shell;
7364to guarantee perl startup should the shell execute the script. Note
7365that this magic incatation is not understood by csh.
7366
7367=item C<startsh>
7368
7369From F<startsh.U>:
7370
7371This variable contains the string to put on the front of a shell
7372script to make sure (hopefully) that it runs with sh and not some
7373other shell.
7374
7375=item C<static_ext>
7376
7377From F<Extensions.U>:
7378
7379This variable holds a list of C<XS> extension files we want to
7380link statically into the package. It is used by Makefile.
7381
7382=item C<stdchar>
7383
7384From F<stdchar.U>:
7385
7386This variable conditionally defines C<STDCHAR> to be the type of char
7387used in F<stdio.h>. It has the values "unsigned char" or C<char>.
7388
7389=item C<stdio_base>
7390
7391From F<d_stdstdio.U>:
7392
7393This variable defines how, given a C<FILE> pointer, fp, to access the
7394_base field (or equivalent) of F<stdio.h>'s C<FILE> structure. This will
7395be used to define the macro FILE_base(fp).
7396
7397=item C<stdio_bufsiz>
7398
7399From F<d_stdstdio.U>:
7400
7401This variable defines how, given a C<FILE> pointer, fp, to determine
7402the number of bytes store in the I/O buffer pointer to by the
7403_base field (or equivalent) of F<stdio.h>'s C<FILE> structure. This will
7404be used to define the macro FILE_bufsiz(fp).
7405
7406=item C<stdio_cnt>
7407
7408From F<d_stdstdio.U>:
7409
7410This variable defines how, given a C<FILE> pointer, fp, to access the
7411_cnt field (or equivalent) of F<stdio.h>'s C<FILE> structure. This will
7412be used to define the macro FILE_cnt(fp).
7413
7414=item C<stdio_filbuf>
7415
7416From F<d_stdstdio.U>:
7417
7418This variable defines how, given a C<FILE> pointer, fp, to tell
7419stdio to refill its internal buffers (?). This will
7420be used to define the macro FILE_filbuf(fp).
7421
7422=item C<stdio_ptr>
7423
7424From F<d_stdstdio.U>:
7425
7426This variable defines how, given a C<FILE> pointer, fp, to access the
7427_ptr field (or equivalent) of F<stdio.h>'s C<FILE> structure. This will
7428be used to define the macro FILE_ptr(fp).
7429
7430=item C<stdio_stream_array>
7431
7432From F<stdio_streams.U>:
7433
7434This variable tells the name of the array holding the stdio streams.
7435Usual values include _iob, __iob, and __sF.
7436
7437=item C<strerror_r_proto>
7438
7439From F<d_strerror_r.U>:
7440
7441This variable encodes the prototype of strerror_r.
7442It is zero if d_strerror_r is undef, and one of the
7443C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_strerror_r
7444is defined.
7445
7446=item C<strings>
7447
7448From F<i_string.U>:
7449
7450This variable holds the full path of the string header that will be
7451used. Typically F</usr/include/string.h> or F</usr/include/strings.h>.
7452
7453=item C<submit>
7454
7455From F<Loc.U>:
7456
7457This variable is defined but not used by Configure.
7458The value is a plain '' and is not useful.
7459
7460=item C<subversion>
7461
7462From F<patchlevel.U>:
7463
7464The subversion level of this package.
7465The value of subversion comes from the F<patchlevel.h> file.
7466In a version number such as 5.6.1, this is the C<1>.
7467In F<patchlevel.h>, this is referred to as C<PERL_SUBVERSION>.
7468This is unique to perl.
7469
7470=item C<sysman>
7471
7472From F<sysman.U>:
7473
7474This variable holds the place where the manual is located on this
7475system. It is not the place where the user wants to put his manual
7476pages. Rather it is the place where Configure may look to find manual
7477for unix commands (section 1 of the manual usually). See mansrc.
7478
7479=back
7480
7481=head2 t
7482
7483=over 4
7484
7485=item C<tail>
7486
7487From F<Loc.U>:
7488
7489This variable is defined but not used by Configure.
7490The value is a plain '' and is not useful.
7491
7492=item C<tar>
7493
7494From F<Loc.U>:
7495
7496This variable is defined but not used by Configure.
7497The value is a plain '' and is not useful.
7498
7499=item C<targetarch>
7500
7501From F<Cross.U>:
7502
7503If cross-compiling, this variable contains the target architecture.
7504If not, this will be empty.
7505
7506=item C<tbl>
7507
7508From F<Loc.U>:
7509
7510This variable is defined but not used by Configure.
7511The value is a plain '' and is not useful.
7512
7513=item C<tee>
7514
7515From F<Loc.U>:
7516
7517This variable is defined but not used by Configure.
7518The value is a plain '' and is not useful.
7519
7520=item C<test>
7521
7522From F<Loc.U>:
7523
7524This variable is used internally by Configure to determine the
7525full pathname (if any) of the test program. After Configure runs,
7526the value is reset to a plain C<test> and is not useful.
7527
7528=item C<timeincl>
7529
7530From F<i_time.U>:
7531
7532This variable holds the full path of the included time header(s).
7533
7534=item C<timetype>
7535
7536From F<d_time.U>:
7537
7538This variable holds the type returned by time(). It can be long,
7539or time_t on C<BSD> sites (in which case <sys/types.h> should be
7540included). Anyway, the type Time_t should be used.
7541
7542=item C<tmpnam_r_proto>
7543
7544From F<d_tmpnam_r.U>:
7545
7546This variable encodes the prototype of tmpnam_r.
7547It is zero if d_tmpnam_r is undef, and one of the
7548C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_tmpnam_r
7549is defined.
7550
7551=item C<to>
7552
7553From F<Cross.U>:
7554
7555This variable contains the command used by Configure
7556to copy to from the target host. Useful and available
7557only during Perl build.
7558The string C<:> if not cross-compiling.
7559
7560=item C<touch>
7561
7562From F<Loc.U>:
7563
7564This variable is used internally by Configure to determine the
7565full pathname (if any) of the touch program. After Configure runs,
7566the value is reset to a plain C<touch> and is not useful.
7567
7568=item C<tr>
7569
7570From F<Loc.U>:
7571
7572This variable is used internally by Configure to determine the
7573full pathname (if any) of the tr program. After Configure runs,
7574the value is reset to a plain C<tr> and is not useful.
7575
7576=item C<trnl>
7577
7578From F<trnl.U>:
7579
7580This variable contains the value to be passed to the tr(1)
7581command to transliterate a newline. Typical values are
7582C<\012> and C<\n>. This is needed for C<EBCDIC> systems where
7583newline is not necessarily C<\012>.
7584
7585=item C<troff>
7586
7587From F<Loc.U>:
7588
7589This variable is defined but not used by Configure.
7590The value is a plain '' and is not useful.
7591
7592=item C<ttyname_r_proto>
7593
7594From F<d_ttyname_r.U>:
7595
7596This variable encodes the prototype of ttyname_r.
7597It is zero if d_ttyname_r is undef, and one of the
7598C<REENTRANT_PROTO_T_ABC> macros of F<reentr.h> if d_ttyname_r
7599is defined.
7600
7601=back
7602
7603=head2 u
7604
7605=over 4
7606
7607=item C<u16size>
7608
7609From F<perlxv.U>:
7610
7611This variable is the size of an U16 in bytes.
7612
7613=item C<u16type>
7614
7615From F<perlxv.U>:
7616
7617This variable contains the C type used for Perl's U16.
7618
7619=item C<u32size>
7620
7621From F<perlxv.U>:
7622
7623This variable is the size of an U32 in bytes.
7624
7625=item C<u32type>
7626
7627From F<perlxv.U>:
7628
7629This variable contains the C type used for Perl's U32.
7630
7631=item C<u64size>
7632
7633From F<perlxv.U>:
7634
7635This variable is the size of an U64 in bytes.
7636
7637=item C<u64type>
7638
7639From F<perlxv.U>:
7640
7641This variable contains the C type used for Perl's U64.
7642
7643=item C<u8size>
7644
7645From F<perlxv.U>:
7646
7647This variable is the size of an U8 in bytes.
7648
7649=item C<u8type>
7650
7651From F<perlxv.U>:
7652
7653This variable contains the C type used for Perl's U8.
7654
7655=item C<uidformat>
7656
7657From F<uidf.U>:
7658
7659This variable contains the format string used for printing a Uid_t.
7660
7661=item C<uidsign>
7662
7663From F<uidsign.U>:
7664
7665This variable contains the signedness of a uidtype.
76661 for unsigned, -1 for signed.
7667
7668=item C<uidsize>
7669
7670From F<uidsize.U>:
7671
7672This variable contains the size of a uidtype in bytes.
7673
7674=item C<uidtype>
7675
7676From F<uidtype.U>:
7677
7678This variable defines Uid_t to be something like uid_t, int,
7679ushort, or whatever type is used to declare user ids in the kernel.
7680
7681=item C<uname>
7682
7683From F<Loc.U>:
7684
7685This variable is used internally by Configure to determine the
7686full pathname (if any) of the uname program. After Configure runs,
7687the value is reset to a plain C<uname> and is not useful.
7688
7689=item C<uniq>
7690
7691From F<Loc.U>:
7692
7693This variable is used internally by Configure to determine the
7694full pathname (if any) of the uniq program. After Configure runs,
7695the value is reset to a plain C<uniq> and is not useful.
7696
7697=item C<uquadtype>
7698
7699From F<quadtype.U>:
7700
7701This variable defines Uquad_t to be something like unsigned long,
7702unsigned int, unsigned long long, uint64_t, or whatever type is
7703used for 64-bit integers.
7704
7705=item C<use5005threads>
7706
7707From F<usethreads.U>:
7708
7709This variable conditionally defines the USE_5005THREADS symbol,
7710and indicates that Perl should be built to use the 5.005-based
7711threading implementation.
7712
7713=item C<use64bitall>
7714
7715From F<use64bits.U>:
7716
7717This variable conditionally defines the USE_64_BIT_ALL symbol,
7718and indicates that 64-bit integer types should be used
7719when available. The maximal possible
772064-bitness is employed: LP64 or ILP64, meaning that you will
7721be able to use more than 2 gigabytes of memory. This mode is
7722even more binary incompatible than USE_64_BIT_INT. You may not
7723be able to run the resulting executable in a 32-bit C<CPU> at all or
7724you may need at least to reboot your C<OS> to 64-bit mode.
7725
7726=item C<use64bitint>
7727
7728From F<use64bits.U>:
7729
7730This variable conditionally defines the USE_64_BIT_INT symbol,
7731and indicates that 64-bit integer types should be used
7732when available. The minimal possible 64-bitness
7733is employed, just enough to get 64-bit integers into Perl.
7734This may mean using for example "long longs", while your memory
7735may still be limited to 2 gigabytes.
7736
7737=item C<usecrosscompile>
7738
7739From F<Cross.U>:
7740
7741This variable conditionally defines the C<USE_CROSS_COMPILE> symbol,
7742and indicates that Perl has been cross-compiled.
7743
7744=item C<usedl>
7745
7746From F<dlsrc.U>:
7747
7748This variable indicates if the system supports dynamic
7749loading of some sort. See also dlsrc and dlobj.
7750
7751=item C<usefaststdio>
7752
7753From F<usefaststdio.U>:
7754
7755This variable conditionally defines the C<USE_FAST_STDIO> symbol,
7756and indicates that Perl should be built to use C<fast stdio>.
7757Defaults to define in Perls 5.8 and earlier, to undef later.
7758
7759=item C<useithreads>
7760
7761From F<usethreads.U>:
7762
7763This variable conditionally defines the C<USE_ITHREADS> symbol,
7764and indicates that Perl should be built to use the interpreter-based
7765threading implementation.
7766
7767=item C<uselargefiles>
7768
7769From F<uselfs.U>:
7770
7771This variable conditionally defines the C<USE_LARGE_FILES> symbol,
7772and indicates that large file interfaces should be used when
7773available.
7774
7775=item C<uselongdouble>
7776
7777From F<uselongdbl.U>:
7778
7779This variable conditionally defines the C<USE_LONG_DOUBLE> symbol,
7780and indicates that long doubles should be used when available.
7781
7782=item C<usemallocwrap>
7783
7784From F<mallocsrc.U>:
7785
7786This variable contains y if we are wrapping malloc to prevent
7787integer overflow during size calculations.
7788
7789=item C<usemorebits>
7790
7791From F<usemorebits.U>:
7792
7793This variable conditionally defines the C<USE_MORE_BITS> symbol,
7794and indicates that explicit 64-bit interfaces and long doubles
7795should be used when available.
7796
7797=item C<usemultiplicity>
7798
7799From F<usemultiplicity.U>:
7800
7801This variable conditionally defines the C<MULTIPLICITY> symbol,
7802and indicates that Perl should be built to use multiplicity.
7803
7804=item C<usemymalloc>
7805
7806From F<mallocsrc.U>:
7807
7808This variable contains y if the malloc that comes with this package
7809is desired over the system's version of malloc. People often include
7810special versions of malloc for effiency, but such versions are often
7811less portable. See also mallocsrc and mallocobj.
7812If this is C<y>, then -lmalloc is removed from $libs.
7813
7814=item C<usenm>
7815
7816From F<usenm.U>:
7817
7818This variable contains C<true> or C<false> depending whether the
7819nm extraction is wanted or not.
7820
7821=item C<useopcode>
7822
7823From F<Extensions.U>:
7824
7825This variable holds either C<true> or C<false> to indicate
7826whether the Opcode extension should be used. The sole
7827use for this currently is to allow an easy mechanism
7828for users to skip the Opcode extension from the Configure
7829command line.
7830
7831=item C<useperlio>
7832
7833From F<useperlio.U>:
7834
7835This variable conditionally defines the C<USE_PERLIO> symbol,
7836and indicates that the PerlIO abstraction should be
7837used throughout.
7838
7839=item C<useposix>
7840
7841From F<Extensions.U>:
7842
7843This variable holds either C<true> or C<false> to indicate
7844whether the C<POSIX> extension should be used. The sole
7845use for this currently is to allow an easy mechanism
7846for hints files to indicate that C<POSIX> will not compile
7847on a particular system.
7848
7849=item C<usereentrant>
7850
7851From F<usethreads.U>:
7852
7853This variable conditionally defines the C<USE_REENTRANT_API> symbol,
7854which indicates that the thread code may try to use the various
7855_r versions of library functions. This is only potentially
7856meaningful if usethreads is set and is very experimental, it is
7857not even prompted for.
7858
7859=item C<usesfio>
7860
7861From F<d_sfio.U>:
7862
7863This variable is set to true when the user agrees to use sfio.
7864It is set to false when sfio is not available or when the user
7865explicitely requests not to use sfio. It is here primarily so
7866that command-line settings can override the auto-detection of
7867d_sfio without running into a "WHOA THERE".
7868
7869=item C<useshrplib>
7870
7871From F<libperl.U>:
7872
7873This variable is set to C<true> if the user wishes
7874to build a shared libperl, and C<false> otherwise.
7875
7876=item C<usesocks>
7877
7878From F<usesocks.U>:
7879
7880This variable conditionally defines the C<USE_SOCKS> symbol,
7881and indicates that Perl should be built to use C<SOCKS>.
7882
7883=item C<usethreads>
7884
7885From F<usethreads.U>:
7886
7887This variable conditionally defines the C<USE_THREADS> symbol,
7888and indicates that Perl should be built to use threads.
7889
7890=item C<usevendorprefix>
7891
7892From F<vendorprefix.U>:
7893
7894This variable tells whether the vendorprefix
7895and consequently other vendor* paths are in use.
7896
7897=item C<usevfork>
7898
7899From F<d_vfork.U>:
7900
7901This variable is set to true when the user accepts to use vfork.
7902It is set to false when no vfork is available or when the user
7903explicitely requests not to use vfork.
7904
7905=item C<usrinc>
7906
7907From F<usrinc.U>:
7908
7909This variable holds the path of the include files, which is
7910usually F</usr/include>. It is mainly used by other Configure units.
7911
7912=item C<uuname>
7913
7914From F<Loc.U>:
7915
7916This variable is defined but not used by Configure.
7917The value is a plain '' and is not useful.
7918
7919=item C<uvoformat>
7920
7921From F<perlxvf.U>:
7922
7923This variable contains the format string used for printing
7924a Perl C<UV> as an unsigned octal integer.
7925
7926=item C<uvsize>
7927
7928From F<perlxv.U>:
7929
7930This variable is the size of a C<UV> in bytes.
7931
7932=item C<uvtype>
7933
7934From F<perlxv.U>:
7935
7936This variable contains the C type used for Perl's C<UV>.
7937
7938=item C<uvuformat>
7939
7940From F<perlxvf.U>:
7941
7942This variable contains the format string used for printing
7943a Perl C<UV> as an unsigned decimal integer.
7944
7945=item C<uvxformat>
7946
7947From F<perlxvf.U>:
7948
7949This variable contains the format string used for printing
7950a Perl C<UV> as an unsigned hexadecimal integer in lowercase abcdef.
7951
7952=item C<uvXUformat>
7953
7954From F<perlxvf.U>:
7955
7956This variable contains the format string used for printing
7957a Perl C<UV> as an unsigned hexadecimal integer in uppercase C<ABCDEF>.
7958
7959=back
7960
7961=head2 v
7962
7963=over 4
7964
7965=item C<vendorarch>
7966
7967From F<vendorarch.U>:
7968
7969This variable contains the value of the C<PERL_VENDORARCH> symbol.
7970It may have a F<~> on the front.
7971The standard distribution will put nothing in this directory.
7972Vendors who distribute perl may wish to place their own
7973architecture-dependent modules and extensions in this directory with
7974MakeMaker F<Makefile.PL> C<INSTALLDIRS>=vendor
7975or equivalent. See C<INSTALL> for details.
7976
7977=item C<vendorarchexp>
7978
7979From F<vendorarch.U>:
7980
7981This variable is the F<~name> expanded version of vendorarch, so that you
7982may use it directly in Makefiles or shell scripts.
7983
7984=item C<vendorbin>
7985
7986From F<vendorbin.U>:
7987
7988This variable contains the eventual value of the C<VENDORBIN> symbol.
7989It may have a F<~> on the front.
7990The standard distribution will put nothing in this directory.
7991Vendors who distribute perl may wish to place additional
7992binaries in this directory with
7993MakeMaker F<Makefile.PL> C<INSTALLDIRS>=vendor
7994or equivalent. See C<INSTALL> for details.
7995
7996=item C<vendorbinexp>
7997
7998From F<vendorbin.U>:
7999
8000This variable is the F<~name> expanded version of vendorbin, so that you
8001may use it directly in Makefiles or shell scripts.
8002
8003=item C<vendorhtml1dir>
8004
8005From F<vendorhtml1dir.U>:
8006
8007This variable contains the name of the directory for html
8008pages. It may have a F<~> on the front.
8009The standard distribution will put nothing in this directory.
8010Vendors who distribute perl may wish to place their own
8011html pages in this directory with
8012MakeMaker F<Makefile.PL> C<INSTALLDIRS>=vendor
8013or equivalent. See C<INSTALL> for details.
8014
8015=item C<vendorhtml1direxp>
8016
8017From F<vendorhtml1dir.U>:
8018
8019This variable is the F<~name> expanded version of vendorhtml1dir, so that you
8020may use it directly in Makefiles or shell scripts.
8021
8022=item C<vendorhtml3dir>
8023
8024From F<vendorhtml3dir.U>:
8025
8026This variable contains the name of the directory for html
8027library pages. It may have a F<~> on the front.
8028The standard distribution will put nothing in this directory.
8029Vendors who distribute perl may wish to place their own
8030html pages for modules and extensions in this directory with
8031MakeMaker F<Makefile.PL> C<INSTALLDIRS>=vendor
8032or equivalent. See C<INSTALL> for details.
8033
8034=item C<vendorhtml3direxp>
8035
8036From F<vendorhtml3dir.U>:
8037
8038This variable is the F<~name> expanded version of vendorhtml3dir, so that you
8039may use it directly in Makefiles or shell scripts.
8040
8041=item C<vendorlib>
8042
8043From F<vendorlib.U>:
8044
8045This variable contains the eventual value of the C<VENDORLIB> symbol,
8046which is the name of the private library for this package.
8047The standard distribution will put nothing in this directory.
8048Vendors who distribute perl may wish to place their own
8049modules in this directory with
8050MakeMaker F<Makefile.PL> C<INSTALLDIRS>=vendor
8051or equivalent. See C<INSTALL> for details.
8052
8053=item C<vendorlib_stem>
8054
8055From F<vendorlib.U>:
8056
8057This variable is $vendorlibexp with any trailing version-specific component
8058removed. The elements in inc_version_list (F<inc_version_list.U>) can
8059be tacked onto this variable to generate a list of directories to search.
8060
8061=item C<vendorlibexp>
8062
8063From F<vendorlib.U>:
8064
8065This variable is the F<~name> expanded version of vendorlib, so that you
8066may use it directly in Makefiles or shell scripts.
8067
8068=item C<vendorman1dir>
8069
8070From F<vendorman1dir.U>:
8071
8072This variable contains the name of the directory for man1
8073pages. It may have a F<~> on the front.
8074The standard distribution will put nothing in this directory.
8075Vendors who distribute perl may wish to place their own
8076man1 pages in this directory with
8077MakeMaker F<Makefile.PL> C<INSTALLDIRS>=vendor
8078or equivalent. See C<INSTALL> for details.
8079
8080=item C<vendorman1direxp>
8081
8082From F<vendorman1dir.U>:
8083
8084This variable is the F<~name> expanded version of vendorman1dir, so that you
8085may use it directly in Makefiles or shell scripts.
8086
8087=item C<vendorman3dir>
8088
8089From F<vendorman3dir.U>:
8090
8091This variable contains the name of the directory for man3
8092pages. It may have a F<~> on the front.
8093The standard distribution will put nothing in this directory.
8094Vendors who distribute perl may wish to place their own
8095man3 pages in this directory with
8096MakeMaker F<Makefile.PL> C<INSTALLDIRS>=vendor
8097or equivalent. See C<INSTALL> for details.
8098
8099=item C<vendorman3direxp>
8100
8101From F<vendorman3dir.U>:
8102
8103This variable is the F<~name> expanded version of vendorman3dir, so that you
8104may use it directly in Makefiles or shell scripts.
8105
8106=item C<vendorprefix>
8107
8108From F<vendorprefix.U>:
8109
8110This variable holds the full absolute path of the directory below
8111which the vendor will install add-on packages.
8112See C<INSTALL> for usage and examples.
8113
8114=item C<vendorprefixexp>
8115
8116From F<vendorprefix.U>:
8117
8118This variable holds the full absolute path of the directory below
8119which the vendor will install add-on packages. Derived from vendorprefix.
8120
8121=item C<vendorscript>
8122
8123From F<vendorscript.U>:
8124
8125This variable contains the eventual value of the C<VENDORSCRIPT> symbol.
8126It may have a F<~> on the front.
8127The standard distribution will put nothing in this directory.
8128Vendors who distribute perl may wish to place additional
8129executable scripts in this directory with
8130MakeMaker F<Makefile.PL> C<INSTALLDIRS>=vendor
8131or equivalent. See C<INSTALL> for details.
8132
8133=item C<vendorscriptexp>
8134
8135From F<vendorscript.U>:
8136
8137This variable is the F<~name> expanded version of vendorscript, so that you
8138may use it directly in Makefiles or shell scripts.
8139
8140=item C<version>
8141
8142From F<patchlevel.U>:
8143
8144The full version number of this package, such as 5.6.1 (or 5_6_1).
8145This combines revision, patchlevel, and subversion to get the
8146full version number, including any possible subversions.
8147This is suitable for use as a directory name, and hence is
8148filesystem dependent.
8149
8150=item C<version_patchlevel_string>
8151
8152From F<patchlevel.U>:
8153
8154This is a string combining version, subversion and
8155perl_patchlevel (if perl_patchlevel is non-zero).
8156It is typically something like
8157'version 7 subversion 1' or
8158'version 7 subversion 1 patchlevel 11224'
8159It is computed here to avoid duplication of code in F<myconfig.SH>
8160and F<lib/Config.pm>.
8161
8162=item C<versiononly>
8163
8164From F<versiononly.U>:
8165
8166If set, this symbol indicates that only the version-specific
8167components of a perl installation should be installed.
8168This may be useful for making a test installation of a new
8169version without disturbing the existing installation.
8170Setting versiononly is equivalent to setting installperl's -v option.
8171In particular, the non-versioned scripts and programs such as
8172a2p, c2ph, h2xs, pod2*, and perldoc are not installed
8173(see C<INSTALL> for a more complete list). Nor are the man
8174pages installed.
8175Usually, this is undef.
8176
8177=item C<vi>
8178
8179From F<Loc.U>:
8180
8181This variable is defined but not used by Configure.
8182The value is a plain '' and is not useful.
8183
8184=item C<voidflags>
8185
8186From F<voidflags.U>:
8187
8188This variable contains the eventual value of the C<VOIDFLAGS> symbol,
8189which indicates how much support of the void type is given by this
8190compiler. See C<VOIDFLAGS> for more info.
8191
8192=back
8193
8194=head2 x
8195
8196=over 4
8197
8198=item C<xlibpth>
8199
8200From F<libpth.U>:
8201
8202This variable holds extra path (space-separated) used to find
8203libraries on this platform, for example C<CPU>-specific libraries
8204(on multi-C<CPU> platforms) may be listed here.
8205
8206=back
8207
8208=head2 y
8209
8210=over 4
8211
8212=item C<yacc>
8213
8214From F<yacc.U>:
8215
8216This variable holds the name of the compiler compiler we
8217want to use in the Makefile. It can be yacc, byacc, or bison -y.
8218
8219=item C<yaccflags>
8220
8221From F<yacc.U>:
8222
8223This variable contains any additional yacc flags desired by the
8224user. It is up to the Makefile to use this.
8225
8226=back
8227
8228=head2 z
8229
8230=over 4
8231
8232=item C<zcat>
8233
8234From F<Loc.U>:
8235
8236This variable is defined but not used by Configure.
8237The value is a plain '' and is not useful.
8238
8239=item C<zip>
8240
8241From F<Loc.U>:
8242
8243This variable is used internally by Configure to determine the
8244full pathname (if any) of the zip program. After Configure runs,
8245the value is reset to a plain C<zip> and is not useful.
8246
8247
8248=back
8249
8250=head1 NOTE
8251
8252This module contains a good example of how to use tie to implement a
8253cache and an example of how to make a tied variable readonly to those
8254outside of it.
8255
8256=cut
8257
Note: See TracBrowser for help on using the repository browser.