X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=config_h.SH;h=cfae03ad99004c89c5656cae7f907bf304234e2a;hb=64f14228217abb04a437553319642d6e7a82a3e8;hp=617684d14f7aea009c55ded9c26e5d1d32284fb0;hpb=bba014945c609b5474f61f5e82ed2ff3e83a6e47;p=p5sagit%2Fp5-mst-13.2.git diff --git a/config_h.SH b/config_h.SH index 617684d..cfae03a 100755 --- a/config_h.SH +++ b/config_h.SH @@ -39,8 +39,25 @@ sed <config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un- /* MEM_ALIGNBYTES: * This symbol contains the number of bytes required to align a * double. Usual values are 2, 4 and 8. + * On NeXT starting with 3.2, you can build "Fat" Multiple Architecture + * Binaries (MAB) for targets with varying alignment. 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. + * The default is eight, for safety. */ +#ifndef NeXT #define MEM_ALIGNBYTES $alignbytes /**/ +#else /* NeXT */ +#ifdef __m68k__ +#define MEM_ALIGNBYTES 2 +#else +#ifdef __i386__ +#define MEM_ALIGNBYTES 4 +#else /* __hppa__, __sparc__ and default for unknown architectures */ +#define MEM_ALIGNBYTES 8 +#endif /* __i386__ */ +#endif /* __m68k__ */ +#endif /* NeXT */ /* ARCHNAME: * This symbol holds a string representing the architecture name. @@ -54,12 +71,11 @@ sed <config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un- * This symbol holds the path of the bin directory where the package will * be installed. Program must be prepared to deal with ~name substitution. */ -#define BIN "$bin" /**/ - /* 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. */ +#define BIN "$bin" /**/ #define BIN_EXP "$binexp" /**/ /* CAT2: @@ -299,7 +315,13 @@ sed <config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un- * available to get the list of process groups. If unavailable, multiple * groups are probably not supported. */ +/* HAS_SETGROUPS: + * This symbol, if defined, indicates that the setgroups() routine is + * available to set the list of process groups. If unavailable, multiple + * groups are probably not supported. + */ #$d_getgrps HAS_GETGROUPS /**/ +#$d_setgrps HAS_SETGROUPS /**/ /* HAS_GETHOSTENT: * This symbol, if defined, indicates that the gethostent routine is @@ -991,14 +1013,14 @@ sed <config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un- /* Groups_t: * This symbol holds the type used for the second argument to - * getgroups(). Usually, this is the same of gidtype, but + * [gs]etgroups(). Usually, this is the same of gidtype, but * sometimes it isn't. It can be int, ushort, uid_t, etc... * It may be necessary to include to get any * typedef'ed information. This is only required if you have - * getgroups(). + * getgroups() or setgroups(). */ -#ifdef HAS_GETGROUPS -#define Groups_t $groupstype /* Type for 2nd arg to getgroups() */ +#if defined(HAS_GETGROUPS) || defined(HAS_SETGROUPS) +#define Groups_t $groupstype /* Type for 2nd arg to [gs]etgroups() */ #endif /* DB_Prefix_t: @@ -1362,14 +1384,6 @@ sed <config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un- */ #define RANDBITS $randbits /**/ -/* SCRIPTDIR: - * This symbol holds the name of the directory in which the user wants - * to put publicly executable scripts for the package in question. It - * is often a directory that is mounted across diverse architectures. - * Programs must be prepared to deal with ~name expansion. - */ -#define SCRIPTDIR "$scriptdir" /**/ - /* Select_fd_set_t: * This symbol holds the type used for the 2nd, 3rd, and 4th * arguments to select. Usually, this is 'fd_set *', if HAS_FD_SET @@ -1446,7 +1460,7 @@ sed <config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un- /* BYTEORDER: * This symbol holds the hexadecimal constant defined in byteorder, * i.e. 0x1234 or 0x4321, etc... - * On NeXT 4 (and greater), you can build "Fat" Multiple Architecture + * 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