This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Glossary for d_ptrdiff_t
[perl5.git] / Porting / Glossary
index 1ed4ef8..5541c13 100644 (file)
@@ -291,8 +291,8 @@ config_arg0 (Options.U):
 config_argc (Options.U):
        This variable contains the number of command-line arguments
        passed to Configure, as reported by the shell in the $# variable.
-       The individual arguments are stored as variables config_argc1,
-       config_argc2, etc.
+       The individual arguments are stored as variables config_arg1,
+       config_arg2, etc.
 
 config_args (Options.U):
        This variable contains a single string giving the command-line
@@ -478,6 +478,11 @@ d_attribute_warn_unused_result (d_attribut.U):
        compiler can know that certain functions have a return values
        that must not be ignored, such as malloc() or open().
 
+d_backtrace (d_backtrace.U):
+       This variable conditionally defines the HAS_BACKTRACE symbol, which
+       indicates to the C program that the backtrace() routine is available
+       to get a stack trace.
+
 d_bcmp (d_bcmp.U):
        This variable conditionally defines the HAS_BCMP symbol if
        the bcmp() routine is available to compare strings.
@@ -650,6 +655,11 @@ d_dirnamlen (i_dirent.U):
        to the C program that the length of directory entry names is
        provided by a d_namelen field.
 
+d_dladdr (d_dladdr.U):
+       This variable conditionally defines the HAS_DLADDR symbol, which
+       indicates to the C program that the dladdr() routine is available
+       to get a stack trace.
+
 d_dlerror (d_dlerror.U):
        This variable conditionally defines the HAS_DLERROR symbol, which
        indicates to the C program that the dlerror() routine is available.
@@ -894,7 +904,7 @@ d_Gconvert (d_gconvert.U):
        This variable holds what Gconvert is defined as to convert
        floating point numbers into strings.  By default, Configure
        sets this macro to use the first of gconvert, gcvt, or sprintf
-       that pass sprintf-%g-like behaviour tests.  If perl is using
+       that pass sprintf-%g-like behavior tests.  If perl is using
        long doubles, the macro uses the first of the following
        functions that pass Configure's tests: qgcvt, sprintf (if
        Configure knows how to make sprintf format long doubles--see
@@ -1271,10 +1281,30 @@ d_inetpton (d_inetpton.U):
 d_int64_t (d_int64_t.U):
        This symbol will be defined if the C compiler supports int64_t.
 
+d_ip_mreq (d_socket.U):
+       This variable conditionally defines the HAS_IP_MREQ symbol, which
+       indicates the availability of a struct ip_mreq.
+
+d_ip_mreq_source (d_socket.U):
+       This variable conditionally defines the HAS_IP_MREQ_SOURCE symbol,
+       which indicates the availability of a struct ip_mreq_source.
+
+d_ipv6_mreq (d_socket.U):
+       This variable conditionally defines the HAS_IPV6_MREQ symbol, which
+       indicates the availability of a struct ipv6_mreq.
+
+d_ipv6_mreq_source (d_socket.U):
+       This variable conditionally defines the HAS_IPV6_MREQ_SOURCE symbol,
+       which indicates the availability of a struct ipv6_mreq_source.
+
 d_isascii (d_isascii.U):
        This variable conditionally defines the HAS_ISASCII constant,
        which indicates to the C program that isascii() is available.
 
+d_isblank (d_isblank.U):
+       This variable conditionally defines the HAS_ISBLANK constant,
+       which indicates to the C program that isblank() is available.
+
 d_isfinite (d_isfinite.U):
        This variable conditionally defines the HAS_ISFINITE symbol, which
        indicates to the C program that the isfinite() routine is available.
@@ -1311,6 +1341,12 @@ d_libm_lib_version (d_libm_lib_version.U):
        which indicates to the C program that math.h defines _LIB_VERSION
        being available in libm
 
+d_libname_unique (so.U):
+       This variable is defined if the target system insists on unique
+       basenames for shared library files. This is currently true on Android,
+       false everywhere else we know of.
+       Defaults to 'undef'.
+
 d_link (d_link.U):
        This variable conditionally defines HAS_LINK if link() is
        available to create hard links.
@@ -1710,6 +1746,9 @@ d_pthread_yield (d_pthread_y.U):
        symbol if the pthread_yield routine is available to yield
        the execution of the current thread.
 
+d_ptrdiff_t (unknown.U):
+       This symbol will be defined if the C compiler supports ptrdiff_t.
+
 d_pwage (i_pwd.U):
        This variable conditionally defines PWAGE, which indicates
        that struct passwd contains pw_age.
@@ -2023,10 +2062,6 @@ d_setvbuf (d_setvbuf.U):
        indicates to the C program that the setvbuf() routine is available
        to change buffering on an open stdio stream.
 
-d_sfio (d_sfio.U):
-       This variable conditionally defines the USE_SFIO symbol,
-       and indicates whether sfio is available (and should be used).
-
 d_shm (d_shm.U):
        This variable conditionally defines the HAS_SHM symbol, which
        indicates that the entire shm*(2) library is present.
@@ -2086,6 +2121,10 @@ d_snprintf (d_snprintf.U):
        indicates to the C program that the snprintf () library function
        is available.
 
+d_sockaddr_in6 (d_socket.U):
+       This variable conditionally defines the HAS_SOCKADDR_IN6 symbol, which
+       indicates the availability of a struct sockaddr_in6.
+
 d_sockaddr_sa_len (d_socket.U):
        This variable conditionally defines the HAS_SOCKADDR_SA_LEN symbol,
        which indicates that a struct sockaddr structure has the sa_len
@@ -2218,9 +2257,9 @@ d_strctcpy (d_strctcpy.U):
        structures.
 
 d_strerrm (d_strerror.U):
-       This variable holds what Strerrr is defined as to translate an error
+       This variable holds what Strerror is defined as to translate an error
        code condition into an error message string. It could be 'strerror'
-       or a more complex macro emulating strrror with sys_errlist[], or the
+       or a more complex macro emulating strerror with sys_errlist[], or the
        "unknown" string when both strerror and sys_errlist are missing.
 
 d_strerror (d_strerror.U):
@@ -2477,11 +2516,21 @@ d_waitpid (d_waitpid.U):
        This variable conditionally defines HAS_WAITPID if waitpid() is
        available to wait for child process.
 
+d_wcscmp (d_wcscmp.U):
+       This variable conditionally defines the HAS_WCSCMP symbol if the
+       wcscmp() routine is available and can be used to compare wide
+       character strings.
+
 d_wcstombs (d_wcstombs.U):
        This variable conditionally defines the HAS_WCSTOMBS symbol, which
        indicates to the C program that the wcstombs() routine is available
        to convert wide character strings to multibyte strings.
 
+d_wcsxfrm (d_wcsxfrm.U):
+       This variable conditionally defines the HAS_WCSXFRM symbol if the
+       wcsxfrm() routine is available and can be used to compare wide
+       character strings.
+
 d_wctomb (d_wctomb.U):
        This variable conditionally defines the HAS_WCTOMB symbol, which
        indicates to the C program that the wctomb() routine is available
@@ -2524,9 +2573,6 @@ db_version_patch (i_db.U):
        Berkeley DB found in the <db.h> header file.
        For DB version 1 this is always 0.
 
-defvoidused (voidflags.U):
-       This variable contains the default value of the VOIDUSED symbol (15).
-
 direntrytype (i_dirent.U):
        This symbol is set to 'struct direct' or 'struct dirent' depending on
        whether dirent is available or not. You should use this pseudo type to
@@ -2534,7 +2580,7 @@ direntrytype (i_dirent.U):
 
 dlext (dlext.U):
        This variable contains the extension that is to be used for the
-       dynamically loaded modules that perl generaties.
+       dynamically loaded modules that perl generates.
 
 dlsrc (dlsrc.U):
        This variable contains the name of the dynamic loading file that
@@ -2571,9 +2617,7 @@ eagain (nblock_io.U):
 
 ebcdic (ebcdic.U):
        This variable conditionally defines EBCDIC if this
-       system uses EBCDIC encoding.  Among other things, this
-       means that the character ranges are not contiguous.
-       See trnl.U
+       system uses EBCDIC encoding.
 
 echo (Loc.U):
        This variable is used internally by Configure to determine the
@@ -2640,7 +2684,7 @@ expr (Loc.U):
 
 extensions (Extensions.U):
        This variable holds a list of all extension files (both XS and
-       non-xs linked into the package.  It is propagated to Config.pm
+       non-xs) installed with the package.  It is propagated to Config.pm
        and is typically used to test whether a particular extension
        is available.
 
@@ -2659,8 +2703,10 @@ fflushall (fflushall.U):
        even be probed for and will be left undefined.
 
 fflushNULL (fflushall.U):
-       This symbol, if defined, tells that fflush(NULL) does flush
-       all pending stdio output.
+       This symbol, if defined, tells that fflush(NULL) correctly
+       flushes all pending stdio output without side effects. In
+       particular, on some platforms calling fflush(NULL) *still*
+       corrupts STDIN if it is a pipe.
 
 find (Loc.U):
        This variable is defined but not used by Configure.
@@ -2925,6 +2971,24 @@ hostcat (nis.U):
        On some systems, such as os390, there may be no equivalent
        command, in which case this variable is unset.
 
+hostgenerate (Cross.U):
+       This variable contains the path to a generate_uudmap binary that
+       can be run on the host OS when cross-compiling.  Useful and
+       available only during Perl build.
+       Empty string '' if not cross-compiling.
+
+hostosname (Cross.U):
+       This variable contains the original value of '$^O' for hostperl
+       when cross-compiling.  This is useful to pick the proper tools
+       when running build code in the host.
+       Empty string '' if not cross-compiling.
+
+hostperl (Cross.U):
+       This variable contains the path to a miniperl binary that can be
+       run on the host OS when cross-compiling.  Useful and available only
+       during Perl build.
+       Empty string '' if not cross-compiling.
+
 html1dir (html1dir.U):
        This variable contains the name of the directory in which html
        source pages are to be put.  This directory is for pages
@@ -2979,6 +3043,10 @@ i_assert (i_assert.U):
        indicates to the C program that <assert.h> exists and could be
        included.
 
+i_bfd (i_bfd.U):
+       This variable conditionally defines the I_BFD symbol, and
+       indicates whether a C program can include <bfd.h>.
+
 i_bsdioctl (i_sysioctl.U):
        This variable conditionally defines the I_SYS_BSDIOCTL symbol, which
        indicates to the C program that <sys/bsdioctl.h> exists and should
@@ -3001,16 +3069,15 @@ i_dirent (i_dirent.U):
        This variable conditionally defines I_DIRENT, which indicates
        to the C program that it should include <dirent.h>.
 
-i_dld (i_dld.U):
-       This variable conditionally defines the I_DLD symbol, which
-       indicates to the C program that <dld.h> (GNU dynamic loading)
-       exists and should be included.
-
 i_dlfcn (i_dlfcn.U):
        This variable conditionally defines the I_DLFCN symbol, which
        indicates to the C program that <dlfcn.h> exists and should
        be included.
 
+i_execinfo (i_execinfo.U):
+       This variable conditionally defines the I_EXECINFO symbol, and indicates
+       whether a C program may include <execinfo.h>, for backtrace() support.
+
 i_fcntl (i_fcntl.U):
        This variable controls the value of I_FCNTL (which tells
        the C program to include <fcntl.h>).
@@ -3142,10 +3209,6 @@ i_rpcsvcdbm (i_dbm.U):
        indicates to the C program that <rpcsvc/dbm.h> exists and should
        be included.  Some System V systems might need this instead of <dbm.h>.
 
-i_sfio (i_sfio.U):
-       This variable conditionally defines the I_SFIO symbol,
-       and indicates whether a C program should include <sfio.h>.
-
 i_sgtty (i_termio.U):
        This variable conditionally defines the I_SGTTY symbol, which
        indicates to the C program that it should include <sgtty.h> rather
@@ -3383,6 +3446,11 @@ incpath (usrinc.U):
        right one, as in "$incpath/usr/include" or "$incpath/usr/lib".
        Value can be "" or "/bsd43" on mips.
 
+incpth (libpth.U):
+       This variable must precede the normal include path to get the
+       right one, as in "$incpath/usr/include" or "$incpath/usr/lib".
+       Value can be "" or "/bsd43" on mips.
+
 inews (Loc.U):
        This variable is defined but not used by Configure.
        The value is the empty string and is not useful.
@@ -3391,7 +3459,7 @@ initialinstalllocation (bin.U):
        When userelocatableinc is true, this variable holds the location
        that make install should copy the perl binary to, with all the
        run-time relocatable paths calculated from this at install time.
-       When used, it is initialised to the original value of binexp, and
+       When used, it is initialized to the original value of binexp, and
        then binexp is set to '.../', as the other binaries are found
        relative to the perl binary.
 
@@ -3594,8 +3662,12 @@ ivtype (perlxv.U):
        This variable contains the C type used for Perl's IV.
 
 known_extensions (Extensions.U):
-       This variable holds a list of all XS extensions included in
-       the package.
+       This variable holds a list of all extensions (both XS and non-xs)
+       included in the package source distribution.  This information is
+       only really of use during the Perl build, as the list makes no
+       distinction between extensions which were build and installed, and
+       those which where not.  See "extensions" for the list of extensions
+       actually built and available.
 
 ksh (Loc.U):
        This variable is defined but not used by Configure.
@@ -3607,6 +3679,11 @@ ld (dlsrc.U):
        On ELF systems, it should be $cc.  Mostly, we'll try to respect
        the hint file setting.
 
+ld_can_script (dlsrc.U):
+       This variable shows if the loader accepts scripts in the form of
+       -Wl,--version-script=ld.script. This is currently only supported
+       for GNU ld on ELF in dynamic loading builds.
+
 lddlflags (dlsrc.U):
        This variable contains any special flags that might need to be
        passed to $ld to create a shared library suitable for dynamic
@@ -3756,22 +3833,6 @@ lseektype (lseektype.U):
        or whatever type is used to declare lseek offset's type in the
        kernel (which also appears to be lseek's return type).
 
-mad (mad.U):
-       This variable indicates that the Misc Attribute Definition code is to
-       be compiled.
-
-madlyh (mad.U):
-       If the Misc Attribute Decoration is to be compiled, this variable is
-       set to the name of the extra header files to be used, else it is ''
-
-madlyobj (mad.U):
-       If the Misc Attribute Decoration is to be compiled, this variable is
-       set to the name of the extra object files to be used, else it is ''
-
-madlysrc (mad.U):
-       If the Misc Attribute Decoration is to be compiled, this variable is
-       set to the name of the extra C source files to be used, else it is ''
-
 mail (Loc.U):
        This variable is defined but not used by Configure.
        The value is the empty string and is not useful.
@@ -3903,9 +3964,9 @@ myhostname (myhostname.U):
        The dot comes with mydomain, and need not be supplied by the program.
 
 myuname (Oldconfig.U):
-       The output of 'uname -a' if available, otherwise the hostname. On Xenix,
-       pseudo variables assignments in the output are stripped, thank you. The
-       whole thing is then lower-cased.
+       The output of 'uname -a' if available, otherwise the hostname.
+       The whole thing is then lower-cased and slashes and single quotes are
+       removed.
 
 n (n.U):
        This variable contains the '-n' flag if that is what causes the echo
@@ -3959,8 +4020,10 @@ nm_so_opt (usenm.U):
        Maybe Linux should just always set usenm=false.
 
 nonxs_ext (Extensions.U):
-       This variable holds a list of all non-xs extensions included
-       in the package.  All of them will be built.
+       This variable holds a list of all non-xs extensions built and
+       installed by the package.  By default, all non-xs extensions
+       distributed will be built, with the exception of platform-specific
+       extensions (currently only one VMS specific extension).
 
 nroff (Loc.U):
        This variable is used internally by Configure to determine the
@@ -3985,11 +4048,11 @@ nvEUformat (perlxvf.U):
        a Perl NV using %E-ish floating point format.
 
 nvfformat (perlxvf.U):
-       This variable confains the format string used for printing
+       This variable contains the format string used for printing
        a Perl NV using %f-ish floating point format.
 
 nvFUformat (perlxvf.U):
-       This variable confains the format string used for printing
+       This variable contains the format string used for printing
        a Perl NV using %F-ish floating point format.
 
 nvgformat (perlxvf.U):
@@ -4227,7 +4290,7 @@ procselfexe (d_procselfexe.U):
 
 prototype (prototype.U):
        This variable holds the eventual value of CAN_PROTOTYPE, which
-       indicates the C compiler can handle funciton prototypes.
+       indicates the C compiler can handle function prototypes.
 
 ptrsize (ptrsize.U):
        This variable contains the value of the PTRSIZE symbol, which
@@ -4842,6 +4905,12 @@ sysman (sysman.U):
        pages. Rather it is the place where Configure may look to find manual
        for unix commands (section 1 of the manual usually). See mansrc.
 
+sysroot (Sysroot.U):
+       This variable is empty unless supplied by the Configure user.
+       It can contain a path to an alternative root directory, under which
+       headers and libraries for the compilation target can be found. This
+       is generally used when cross-compiling using a gcc-like compiler.
+
 tail (Loc.U):
        This variable is defined but not used by Configure.
        The value is the empty string and is not useful.
@@ -4854,6 +4923,37 @@ targetarch (Cross.U):
        If cross-compiling, this variable contains the target architecture.
        If not, this will be empty.
 
+targetdir (Cross.U):
+       This variable contains a path that will be created on the target
+       host using targetmkdir, and then used to copy the cross-compiled
+       executables to. Defaults to '/tmp' if not set.
+
+targetenv (Cross.U):
+       If cross-compiling, this variable can be used to modify the
+       environment on the target system.
+       However, how and where it's used, and even if it's used at all, is
+       entirely dependent on both the transport mechanism (targetrun) and
+       what the target system is.  Unless the relevant documentation says
+       otherwise, it is genereally not useful.
+
+targethost (Cross.U):
+       This variable contains the name of a separate host machine that
+       can be used to run compiled test programs and perl tests on.
+       Set to empty string if not in use.
+
+targetmkdir (Cross.U):
+       This variable contains the command used by Configure to create a
+       new directory on the target host.
+
+targetport (Cross.U):
+       This variable contains the number of a network port to be used to
+       connect to the host in targethost, if unset defaults to 22 for ssh.
+
+targetsh (sh.U):
+       If cross-compiling, this variable contains the location of sh on the
+       target system.
+       If not, this will be the same as $sh.
+
 tbl (Loc.U):
        This variable is defined but not used by Configure.
        The value is the empty string and is not useful.
@@ -4989,6 +5089,10 @@ use64bitint (use64bits.U):
        This may mean using for example "long longs", while your memory
        may still be limited to 2 gigabytes.
 
+usecbacktrace (usebacktrace.U):
+       This variable indicates whether we are compiling with backtrace
+       support.
+
 usecrosscompile (Cross.U):
        This variable conditionally defines the USE_CROSS_COMPILE symbol,
        and indicates that Perl has been cross-compiled.
@@ -5015,7 +5119,7 @@ useithreads (usethreads.U):
        and indicates that Perl should be built to use the interpreter-based
        threading implementation.
 
-usekernprocpathname (usekernprocpathname.U)
+usekernprocpathname (usekernprocpathname.U):
        This variable, indicates that we can use sysctl with
        KERN_PROC_PATHNAME to get a full path for the executable, and hence
        convert $^X to an absolute path.
@@ -5053,6 +5157,11 @@ usenm (usenm.U):
        This variable contains 'true' or 'false' depending whether the
        nm extraction is wanted or not.
 
+usensgetexecutablepath (usensgetexecutablepath.U):
+       This symbol, if defined, indicates that we can use _NSGetExecutablePath
+       and realpath to get a full path for the executable, and hence convert
+       $^X to an absolute path.
+
 useopcode (Extensions.U):
        This variable holds either 'true' or 'false' to indicate
        whether the Opcode extension should be used.  The sole
@@ -5086,13 +5195,6 @@ userelocatableinc (bin.U):
        containing the perl binary, and a logical cleanup of the path is then
        made around the join point (removing "dir/../" pairs)
 
-usesfio (d_sfio.U):
-       This variable is set to true when the user agrees to use sfio.
-       It is set to false when sfio is not available or when the user
-       explicitly requests not to use sfio.  It is here primarily so
-       that command-line settings can override the auto-detection of
-       d_sfio without running into a "WHOA THERE".
-
 useshrplib (libperl.U):
        This variable is set to 'true' if the user wishes
        to build a shared libperl, and 'false' otherwise.
@@ -5114,6 +5216,10 @@ usevendorprefix (vendorprefix.U):
        This variable tells whether the vendorprefix
        and consequently other vendor* paths are in use.
 
+useversionedarchname (archname.U):
+       This variable indicates whether to include the $api_versionstring
+       as a component of the $archname.
+
 usevfork (d_vfork.U):
        This variable is set to true when the user accepts to use vfork.
        It is set to false when no vfork is available or when the user
@@ -5304,11 +5410,6 @@ vi (Loc.U):
        This variable is defined but not used by Configure.
        The value is the empty string and is not useful.
 
-voidflags (voidflags.U):
-       This variable contains the eventual value of the VOIDFLAGS symbol,
-       which indicates how much support of the void type is given by this
-       compiler.  See VOIDFLAGS for more info.
-
 xlibpth (libpth.U):
        This variable holds extra path (space-separated) used to find
        libraries on this platform, for example CPU-specific libraries