@ -12,12 +12,14 @@
int main ( int argc , char * argv [ ] ) {
int main ( int argc , char * argv [ ] ) {
unsigned char EndianTest [ 2 ] = { 1 , 0 } ;
unsigned char EndianTest [ 2 ] = { 1 , 0 } ;
int force_BE = 0 , force_LE = 0 ;
int force_BE = 0 , force_LE = 0 , force_PREPROCESSOR = 0 ;
if ( argc > 1 & & strcmp ( argv [ 1 ] , " BE " ) = = 0 )
if ( argc > 1 & & strcmp ( argv [ 1 ] , " BE " ) = = 0 )
force_BE = 1 ;
force_BE = 1 ;
if ( argc > 1 & & strcmp ( argv [ 1 ] , " LE " ) = = 0 )
if ( argc > 1 & & strcmp ( argv [ 1 ] , " LE " ) = = 0 )
force_LE = 1 ;
force_LE = 1 ;
if ( argc > 1 & & strcmp ( argv [ 1 ] , " PREPROCESSOR " ) = = 0 )
force_PREPROCESSOR = 1 ;
printf ( " #ifndef ENDIAN_H \n #define ENDIAN_H \n " ) ;
printf ( " #ifndef ENDIAN_H \n #define ENDIAN_H \n " ) ;
@ -27,20 +29,21 @@ int main (int argc, char *argv[]) {
if ( force_BE = = 1 ) {
if ( force_BE = = 1 ) {
printf ( " #define TTD_BIG_ENDIAN \n " ) ;
printf ( " #define TTD_BIG_ENDIAN \n " ) ;
} else {
} else {
# ifdef __APPLE__
if ( force_PREPROCESSOR = = 1 ) {
// adding support for universal binaries on OSX
// adding support for universal binaries on OSX
// Universal binaries supports both PPC and x86
// Universal binaries supports both PPC and x86
// If a compiler for OSX gets this setting, it will always pick the correct endian and no test is needed
printf ( " #ifdef __BIG_ENDIAN__ \n " ) ;
printf ( " #ifdef __BIG_ENDIAN__ \n " ) ;
printf ( " #define TTD_BIG_ENDIAN \n " ) ;
printf ( " #define TTD_BIG_ENDIAN \n " ) ;
printf ( " #else \n " ) ;
printf ( " #else \n " ) ;
printf ( " #define TTD_LITTLE_ENDIAN \n " ) ;
printf ( " #define TTD_LITTLE_ENDIAN \n " ) ;
printf ( " #endif \n " ) ;
printf ( " #endif \n " ) ;
# else
} else {
if ( * ( short * ) EndianTest = = 1 )
if ( * ( short * ) EndianTest = = 1 )
printf ( " #define TTD_LITTLE_ENDIAN \n " ) ;
printf ( " #define TTD_LITTLE_ENDIAN \n " ) ;
else
else
printf ( " #define TTD_BIG_ENDIAN \n " ) ;
printf ( " #define TTD_BIG_ENDIAN \n " ) ;
# endif
}
}
}
}
}
printf ( " #endif \n " ) ;
printf ( " #endif \n " ) ;