src__lib__libast__features__common.diff   [plain text]


--- src/lib/libast/features/common.orig	2010-10-19 00:51:50.000000000 -0700
+++ src/lib/libast/features/common	2011-06-03 12:01:49.000000000 -0700
@@ -256,7 +256,11 @@ tst	- -DN=1 - -DN=2 - -DN=3 - -DN=4 - -D
 				}
 				else
 	#endif
+				{
+				printf("#ifndef _ast_int%d_t\n", m);
 				printf("#define _ast_int%d_t		%s\n", m, int_type[t].name);
+				printf("#endif\n");
+				}
 				if (m > 1)
 				{
 					if (*int_type[t].swap)
@@ -266,9 +270,13 @@ tst	- -DN=1 - -DN=2 - -DN=3 - -DN=4 - -D
 			}
 		}
 		printf("#define _ast_intmax_t		_ast_int%d_t\n", m);
-		if (m == sizeof(long))
-			printf("#define _ast_intmax_long		1\n");
-		printf("#define _ast_intswap		%d\n", w);
+		printf("#if __LITTLE_ENDIAN__\n");
+		printf("#define _ast_intswap        7\n");
+		printf("#elif __BIG_ENDIAN__\n");
+		printf("#define _ast_intswap        0\n");
+		printf("#else\n");
+		printf("#error Unknown byte sex\n");
+		printf("#endif\n");
 		printf("\n");
 		return 0;
 	}