# Check for the architecture
AC_C_BIGENDIAN(endian=1,endian=0,AC_MSG_ERROR([GRAS works only for little or big endian systems (yet)]))
AC_DEFINE_UNQUOTED(GRAS_BIGENDIAN,$endian,[define if big endian])
-
-GRAS_SIGNED_SIZEOF(char)
-GRAS_SIGNED_SIZEOF(short int)
-GRAS_SIGNED_SIZEOF(int)
-GRAS_SIGNED_SIZEOF(long int)
-GRAS_SIGNED_SIZEOF(long long int)
+
+dnl FIXME: Use SIGNED instead of CHECK to make sure signed and unsigned type
+dnl have same size
+GRAS_CHECK_SIZEOF(char)
+GRAS_CHECK_SIZEOF(short int)
+GRAS_CHECK_SIZEOF(int)
+GRAS_CHECK_SIZEOF(long int)
+GRAS_CHECK_SIZEOF(long long int)
GRAS_CHECK_SIZEOF(void *)
case $trace in
l:1.2.4.4.8:4.4:4.8) gras_arch=0; gras_arch_name=i386;;
B:1.2.4.4.8:4.4:4.8) gras_arch=1; gras_arch_name=ppc;;
+ B:1.2.4.8.8:8.8:4.8) gras_arch=2; gras_arch_name=sparc;;
esac
if test x$gras_arch = xunknown ; then
AC_MSG_RESULT([damnit ($trace)])
* Descriptions of all known architectures *
*******************************************/
-#define gras_arch_count 2
+#define gras_arch_count 3
typedef enum {
gras_ddt_scalar_char = 0,
gras_ddt_scalar_short = 1,
const gras_arch_desc_t gras_arches[gras_arch_count] = {
{"i386", 0, {1,2,4,4,8, 4,4, 4,8}},
- {"ppc", 1, {1,2,4,4,8, 4,4, 4,8}}
+ {"ppc", 1, {1,2,4,4,8, 4,4, 4,8}},
+ {"sparc", 1, {1,2,4,8,8, 8,8, 4,8}}
};
const char *gras_datadesc_arch_name(int code) {