summaryrefslogtreecommitdiffstats
path: root/gen_art_config.sh.in
diff options
context:
space:
mode:
Diffstat (limited to 'gen_art_config.sh.in')
-rw-r--r--gen_art_config.sh.in43
1 files changed, 43 insertions, 0 deletions
diff --git a/gen_art_config.sh.in b/gen_art_config.sh.in
new file mode 100644
index 0000000..79843bc
--- /dev/null
+++ b/gen_art_config.sh.in
@@ -0,0 +1,43 @@
+#!/bin/sh
+
+# A little utility function to generate header info.
+#
+# The output of this program is generally written to art_config.h,
+# which is installed in libart's include dir.
+
+
+echo "/* Automatically generated by gen_art_config */"
+echo
+echo "#define ART_SIZEOF_CHAR @ART_SIZEOF_CHAR@"
+echo "#define ART_SIZEOF_SHORT @ART_SIZEOF_SHORT@"
+echo "#define ART_SIZEOF_INT @ART_SIZEOF_INT@"
+echo "#define ART_SIZEOF_LONG @ART_SIZEOF_LONG@"
+echo
+
+if test @ART_SIZEOF_CHAR@ -eq 1; then
+ echo "typedef unsigned char art_u8;"
+else
+ echo 1>&2 "sizeof(char) != 1"
+ exit 1
+fi
+
+if test @ART_SIZEOF_SHORT@ -eq 2; then
+ echo "typedef unsigned short art_u16;"
+else
+ echo 1>&2 "sizeof(short) != 2"
+ exit 2
+fi
+
+if test @ART_SIZEOF_INT@ -eq 4; then
+ echo "typedef unsigned int art_u32;"
+else
+ if test @ART_SIZEOF_LONG@ -eq 4; then
+ echo "typedef unsigned long art_u32;"
+ else
+ echo 1>&2 "sizeof(int) != 4 and sizeof(long) != 4"
+ exit 3
+ fi
+fi
+
+exit 0
+}