mirror of
https://github.com/reactos/CMake.git
synced 2024-11-23 19:49:51 +00:00
578841cce5
ENH: change test for endianess from TRY_RUN() to TRY_COMPILE() by testing the binary image of a 16bit integer array, tested on Linux x86, Intel Mac and Sun (big endian) Alex
21 lines
788 B
C
21 lines
788 B
C
/* A 16 bit integer is required. */
|
|
typedef @CMAKE_16BIT_TYPE@ cmakeint16;
|
|
|
|
/* On a little endian machine, these 16bit ints will give "THIS IS LITTLE ENDIAN."
|
|
On a big endian machine the characters will be exchanged pairwise. */
|
|
const cmakeint16 info_little[] = {0x4854, 0x5349, 0x4920, 0x2053, 0x494c, 0x5454, 0x454c, 0x4520, 0x444e, 0x4149, 0x2e4e, 0x0000};
|
|
|
|
/* on a big endian machine, these 16bit ints will give "THIS IS BIG ENDIAN."
|
|
On a little endian machine the characters will be exchanged pairwise. */
|
|
const cmakeint16 info_big[] = {0x5448, 0x4953, 0x2049, 0x5320, 0x4249, 0x4720, 0x454e, 0x4449, 0x414e, 0x2e2e, 0x0000};
|
|
|
|
#ifdef __CLASSIC_C__
|
|
int main(){
|
|
int ac;
|
|
char*av[];
|
|
#else
|
|
int main(int ac, char*av[]){
|
|
#endif
|
|
return (&info_little[0] != &info_big[0]);
|
|
}
|