📄 uconfig.h
字号:
/* I_VALUES: * This symbol, if defined, indicates to the C program that it should * include <values.h> to get definition of symbols like MINFLOAT or * MAXLONG, i.e. machine dependant limitations. Probably, you * should use <limits.h> instead, if it is available. *//*#define I_VALUES / **//* I_VFORK: * This symbol, if defined, indicates to the C program that it should * include vfork.h. *//*#define I_VFORK / **//* HAS_ACCESSX: * This symbol, if defined, indicates that the accessx routine is * available to do extended access checks. *//*#define HAS_ACCESSX / **//* HAS_EACCESS: * This symbol, if defined, indicates that the eaccess routine is * available to do extended access checks. *//*#define HAS_EACCESS / **//* I_SYS_ACCESS: * This symbol, if defined, indicates to the C program that it should * include <sys/access.h>. *//*#define I_SYS_ACCESS / **//* I_SYS_SECURITY: * This symbol, if defined, indicates to the C program that it should * include <sys/security.h>. *//*#define I_SYS_SECURITY / **//* USE_CROSS_COMPILE: * This symbol, if defined, indicates that Perl is being cross-compiled. *//* PERL_TARGETARCH: * This symbol, if defined, indicates the target architecture * Perl has been cross-compiled to. Undefined if not a cross-compile. */#ifndef USE_CROSS_COMPILE/*#define USE_CROSS_COMPILE / **/#define PERL_TARGETARCH "" /**/#endif/* OSNAME: * This symbol contains the name of the operating system, as determined * by Configure. You shouldn't rely on it too much; the specific * feature tests from Configure are generally more reliable. *//* OSVERS: * This symbol contains the version of the operating system, as determined * by Configure. You shouldn't rely on it too much; the specific * feature tests from Configure are generally more reliable. */#define OSNAME "unknown" /**/#define OSVERS "" /**//* MULTIARCH: * This symbol, if defined, signifies that the build * process will produce some binary files that are going to be * used in a cross-platform environment. This is the case for * example with the NeXT "fat" binaries that contain executables * for several CPUs. *//*#define MULTIARCH / **//* MEM_ALIGNBYTES: * This symbol contains the number of bytes required to align a * double, or a long double when applicable. Usual values are 2, * 4 and 8. The default is eight, for safety. */#if defined(USE_CROSS_COMPILE) || defined(MULTIARCH)# define MEM_ALIGNBYTES 8#else#define MEM_ALIGNBYTES 4#endif/* ARCHLIB: * This variable, if defined, holds the name of the directory in * which the user wants to put architecture-dependent public * library files for . It is most often a local directory * such as /usr/local/lib. Programs using this variable must be * prepared to deal with filename expansion. If ARCHLIB is the * same as PRIVLIB, it is not defined, since presumably the * program already searches PRIVLIB. *//* ARCHLIB_EXP: * This symbol contains the ~name expanded version of ARCHLIB, to be used * in programs that are not prepared to deal with ~ expansion at run-time. *//*#define ARCHLIB "/usr/local/lib/perl5/5.9/unknown" / **//*#define ARCHLIB_EXP "/usr/local/lib/perl5/5.9/unknown" / **//* ARCHNAME: * This symbol holds a string representing the architecture name. * It may be used to construct an architecture-dependant pathname * where library files may be held under a private library, for * instance. */#define ARCHNAME "unknown" /**//* HAS_ATOLF: * This symbol, if defined, indicates that the atolf routine is * available to convert strings into long doubles. *//*#define HAS_ATOLF / **//* HAS_ATOLL: * This symbol, if defined, indicates that the atoll routine is * available to convert strings into long longs. *//*#define HAS_ATOLL / **//* BIN: * This symbol holds the path of the bin directory where the package will * be installed. Program must be prepared to deal with ~name substitution. *//* BIN_EXP: * This symbol is the filename expanded version of the BIN symbol, for * programs that do not want to deal with that at run-time. *//* PERL_RELOCATABLE_INC: * This symbol, if defined, indicates that we'd like to relocate entries * in @INC at run time based on the location of the perl binary. */#define BIN "/usr/local/bin" /**/#define BIN_EXP "" /**/#define PERL_RELOCATABLE_INC "undef" /**//* INTSIZE: * This symbol contains the value of sizeof(int) so that the C * preprocessor can make decisions based on it. *//* LONGSIZE: * This symbol contains the value of sizeof(long) so that the C * preprocessor can make decisions based on it. *//* SHORTSIZE: * This symbol contains the value of sizeof(short) so that the C * preprocessor can make decisions based on it. */#define INTSIZE 4 /**/#define LONGSIZE 4 /**/#define SHORTSIZE 2 /**//* BYTEORDER: * This symbol holds the hexadecimal constant defined in byteorder, * in a UV, i.e. 0x1234 or 0x4321 or 0x12345678, etc... * If the compiler supports cross-compiling or multiple-architecture * binaries (eg. on NeXT systems), use compiler-defined macros to * determine the byte order. * On NeXT 3.2 (and greater), you can build "Fat" Multiple Architecture * Binaries (MAB) on either big endian or little endian machines. * The endian-ness is available at compile-time. This only matters * for perl, where the config.h can be generated and installed on * one system, and used by a different architecture to build an * extension. Older versions of NeXT that might not have * defined either *_ENDIAN__ were all on Motorola 680x0 series, * so the default case (for NeXT) is big endian to catch them. * This might matter for NeXT 3.0. */#if defined(USE_CROSS_COMPILE) || defined(MULTIARCH)# ifdef __LITTLE_ENDIAN__# if LONGSIZE == 4# define BYTEORDER 0x1234# else# if LONGSIZE == 8# define BYTEORDER 0x12345678# endif# endif# else# ifdef __BIG_ENDIAN__# if LONGSIZE == 4# define BYTEORDER 0x4321# else# if LONGSIZE == 8# define BYTEORDER 0x87654321# endif# endif# endif# endif# if !defined(BYTEORDER) && (defined(NeXT) || defined(__NeXT__))# define BYTEORDER 0x4321# endif#else#define BYTEORDER 0x1234 /* large digits for MSB */#endif /* NeXT *//* CAT2: * This macro concatenates 2 tokens together. *//* STRINGIFY: * This macro surrounds its token with double quotes. */#if 42 == 1#define CAT2(a,b) a/**/b#define STRINGIFY(a) "a" /* If you can get stringification with catify, tell me how! */#endif#if 42 == 42#define PeRl_CaTiFy(a, b) a ## b #define PeRl_StGiFy(a) #a/* the additional level of indirection enables these macros to be * used as arguments to other macros. See K&R 2nd ed., page 231. */#define CAT2(a,b) PeRl_CaTiFy(a,b)#define StGiFy(a) PeRl_StGiFy(a)#define STRINGIFY(a) PeRl_StGiFy(a)#endif#if 42 != 1 && 42 != 42# include "Bletch: How does this C preprocessor concatenate tokens?"#endif/* CPPSTDIN: * This symbol contains the first part of the string which will invoke * the C preprocessor on the standard input and produce to standard * output. Typical value of "cc -E" or "/lib/cpp", but it can also * call a wrapper. See CPPRUN. *//* CPPMINUS: * This symbol contains the second part of the string which will invoke * the C preprocessor on the standard input and produce to standard * output. This symbol will have the value "-" if CPPSTDIN needs a minus * to specify standard input, otherwise the value is "". *//* CPPRUN: * This symbol contains the string which will invoke a C preprocessor on * the standard input and produce to standard output. It needs to end * with CPPLAST, after all other preprocessor flags have been specified. * The main difference with CPPSTDIN is that this program will never be a * pointer to a shell wrapper, i.e. it will be empty if no preprocessor is * available directly to the user. Note that it may well be different from * the preprocessor used to compile the C program. *//* CPPLAST: * This symbol is intended to be used along with CPPRUN in the same manner * symbol CPPMINUS is used with CPPSTDIN. It contains either "-" or "". */#define CPPSTDIN ""#define CPPMINUS ""#define CPPRUN ""#define CPPLAST ""/* HAS__FWALK: * This symbol, if defined, indicates that the _fwalk system call is * available to apply a function to all the file handles. *//*#define HAS__FWALK / **//* HAS_ACCESS: * This manifest constant lets the C program know that the access() * system call is available to check for accessibility using real UID/GID. * (always present on UNIX.) *//*#define HAS_ACCESS / **//* HAS_AINTL: * This symbol, if defined, indicates that the aintl routine is * available. If copysignl is also present we can emulate modfl. *//*#define HAS_AINTL / **//* HAS_ASCTIME_R: * This symbol, if defined, indicates that the asctime_r routine * is available to asctime re-entrantly. *//* ASCTIME_R_PROTO: * This symbol encodes the prototype of asctime_r. * It is zero if d_asctime_r is undef, and one of the * REENTRANT_PROTO_T_ABC macros of reentr.h if d_asctime_r * is defined. *//*#define HAS_ASCTIME_R / **/#define ASCTIME_R_PROTO 0 /**//* HASATTRIBUTE_FORMAT: * Can we handle GCC attribute for checking printf-style formats *//* HASATTRIBUTE_MALLOC: * Can we handle GCC attribute for malloc-style functions. *//* HASATTRIBUTE_NONNULL: * Can we handle GCC attribute for nonnull function parms. *//* HASATTRIBUTE_NORETURN: * Can we handle GCC attribute for functions that do not return *//* HASATTRIBUTE_PURE: * Can we handle GCC attribute for pure functions *//* HASATTRIBUTE_UNUSED: * Can we handle GCC attribute for unused variables and arguments *//* HASATTRIBUTE_WARN_UNUSED_RESULT: * Can we handle GCC attribute for warning on unused results *//*#define HASATTRIBUTE_FORMAT / **//*#define HASATTRIBUTE_NORETURN / **//*#define HASATTRIBUTE_MALLOC / **//*#define HASATTRIBUTE_NONNULL / **//*#define HASATTRIBUTE_PURE / **//*#define HASATTRIBUTE_UNUSED / **//*#define HASATTRIBUTE_WARN_UNUSED_RESULT / **//* HAS_BUILTIN_CHOOSE_EXPR: * Can we handle GCC builtin for compile-time ternary-like expressions *//* HAS_BUILTIN_EXPECT: * Can we handle GCC builtin for telling that certain values are more * likely *//*#define HAS_BUILTIN_EXPECT / **//*#define HAS_BUILTIN_CHOOSE_EXPR / **//* HAS_C99_VARIADIC_MACROS: * If defined, the compiler supports C99 variadic macros. *//*#define HAS_C99_VARIADIC_MACROS / **//* CASTI32: * This symbol is defined if the C compiler can cast negative * or large floating point numbers to 32-bit ints. *//*#define CASTI32 / **//* CASTNEGFLOAT: * This symbol is defined if the C compiler can cast negative * numbers to unsigned longs, ints and shorts. *//* CASTFLAGS: * This symbol contains flags that say what difficulties the compiler * has casting odd floating values to unsigned long: * 0 = ok * 1 = couldn't cast < 0 * 2 = couldn't cast >= 0x80000000 * 4 = couldn't cast in argument expression list *//*#define CASTNEGFLOAT / **/#define CASTFLAGS 0 /**//* HAS_CLASS: * This symbol, if defined, indicates that the class routine is * available to classify doubles. Available for example in AIX. * The returned values are defined in <float.h> and are: * * FP_PLUS_NORM Positive normalized, nonzero * FP_MINUS_NORM Negative normalized, nonzero * FP_PLUS_DENORM Positive denormalized, nonzero * FP_MINUS_DENORM Negative denormalized, nonzero * FP_PLUS_ZERO +0.0 * FP_MINUS_ZERO -0.0 * FP_PLUS_INF +INF * FP_MINUS_INF -INF * FP_NANS Signaling Not a Number (NaNS) * FP_NANQ Quiet Not a Number (NaNQ) *//*#define HAS_CLASS / **//* HAS_CLEARENV: * This symbol, if defined, indicates that the clearenv () routine is * available for use. *//*#define HAS_CLEARENV / **//* VOID_CLOSEDIR: * This symbol, if defined, indicates that the closedir() routine * does not return a value. *//*#define VOID_CLOSEDIR / **//* HAS_STRUCT_CMSGHDR: * This symbol, if defined, indicates that the struct cmsghdr * is supported. *//*#define HAS_STRUCT_CMSGHDR / **//* HAS_COPYSIGNL: * This symbol, if defined, indicates that the copysignl routine is * available. If aintl is also present we can emulate modfl. *//*#define HAS_COPYSIGNL / **//* USE_CPLUSPLUS: * This symbol, if defined, indicates that a C++ compiler was * used to compiled Perl and will be used to compile extensions. *//*#define USE_CPLUSPLUS / **//* HAS_CRYPT: * This symbol, if defined, indicates that the crypt routine is available * to encrypt passwords and the like. *//*#define HAS_CRYPT / **//* HAS_CRYPT_R: * This symbol, if defined, indicates that the crypt_r routine * is available to crypt re-entrantly. *//* CRYPT_R_PROTO: * This symbol encodes the prototype of crypt_r. * It is zero if d_crypt_r is undef, and one of the * REENTRANT_PROTO_T_ABC macros of reentr.h if d_crypt_r * is defined. *//*#define HAS_CRYPT_R / **/#define CRYPT_R_PROTO 0 /**//* HAS_CSH: * This symbol, if defined, indicates that the C-shell exists. *//* CSH: * This symbol, if defined, contains the full pathname of csh. *//*#define HAS_CSH / **/#ifdef HAS_CSH#define CSH "" /**/#endif/* HAS_CTERMID_R: * This symbol, if defined, indicates that the ctermid_r routine
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -