diff options
author | Hans Mulder <hansmu@xs4all.nl> | 1999-02-21 23:58:55 +0100 |
---|---|---|
committer | Jarkko Hietaniemi <jhi@iki.fi> | 1999-02-22 08:43:50 +0000 |
commit | 68c15b6fa35fc2fdb7a325ebe019c47b083fda6e (patch) | |
tree | 961221d698ff6f57bb502c98e70ef0a890387ca7 /config_h.SH | |
parent | b0c9c3ed2a23db07fa17c63ef4c8c1ced16db673 (diff) | |
download | perl-68c15b6fa35fc2fdb7a325ebe019c47b083fda6e.tar.gz |
Not OK: perl 5.00555 on OPENSTEP-Mach-thread 4_2 (UNINSTALLED)
To: perlbug@perl.com
Reply-To: hansmu@xs4all.nl
Message-Id: <9902212201.AA13386@icgned.icgroup.nl>
plus other Configure changes: prepare for cross-compilation/
multiarchitecture builds.
p4raw-id: //depot/cfgperl@3006
Diffstat (limited to 'config_h.SH')
-rw-r--r-- | config_h.SH | 58 |
1 files changed, 43 insertions, 15 deletions
diff --git a/config_h.SH b/config_h.SH index 842b2c671f..08023957cb 100644 --- a/config_h.SH +++ b/config_h.SH @@ -1072,19 +1072,22 @@ sed <<!GROK!THIS! >config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un- #$i_syssecrt I_SYS_SECURITY /**/ /* 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. + * This symbol contains the number of bytes required to align a + * double. Usual values are 2, 4 and 8. The default is eight, + * for safety. */ -#define MEM_ALIGNBYTES $alignbytes /**/ +#if defined(CROSSCOMPILE) || defined(MULTIARCH) +# define MEM_ALIGNBYTES 8 +#else +#define MEM_ALIGNBYTES $alignbytes +#endif /* BYTEORDER: * This symbol holds the hexadecimal constant defined in byteorder, * i.e. 0x1234 or 0x4321, 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 @@ -1095,14 +1098,31 @@ sed <<!GROK!THIS! >config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un- * so the default case (for NeXT) is big endian to catch them. * This might matter for NeXT 3.0. */ -#ifndef NeXT +#if defined(CROSSCOMPILE) || 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 0x$byteorder /* large digits for MSB */ -#else /* NeXT */ -#ifdef __LITTLE_ENDIAN__ -#define BYTEORDER 0x1234 -#else /* __BIG_ENDIAN__ */ -#define BYTEORDER 0x4321 -#endif /* ENDIAN CHECK */ #endif /* NeXT */ /* CASTI32: @@ -2330,6 +2350,10 @@ sed <<!GROK!THIS! >config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un- * The standard distribution will put nothing in this directory. * Individual sites may place their own extensions and modules in * this directory. + * This differs from LOCALARCH in that SITEARCH is often + * a shared network directory while LOCALARCH is + * at a local disk, because of policy/administrative issues + * like for example caching (performance), licensing, or security. */ /* SITEARCH_EXP: * This symbol contains the ~name expanded version of SITEARCH, to be used @@ -2346,6 +2370,10 @@ sed <<!GROK!THIS! >config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un- * The standard distribution will put nothing in this directory. * Individual sites may place their own extensions and modules in * this directory. + * This differs from LOCALLIB in that SITELIB is often + * a shared network directory while LOCALLIB is + * at a local disk, because of policy/administrative issues + * like for example caching (performance), licensing, or security. */ /* SITELIB_EXP: * This symbol contains the ~name expanded version of SITELIB, to be used |