* packihx/,
[fw/sdcc] / support / packihx / configure.in
1 AC_INIT(packihx.c)
2 AC_CONFIG_HEADER(config.h:config_in.h)
3 AC_PREREQ(2.13)
4
5 AC_PROG_CC
6
7 # Defaults are for gcc on a 32 bit machine
8 if test "$ac_cv_prog_cc_cross" = "yes"; then
9   AC_MSG_WARN("Cannot determine the sizeof basic types while cross compiling.  Using gcc on a 32 bit machine defaults.")
10 fi
11
12 AC_CHECK_SIZEOF(char, 1)
13 AC_CHECK_SIZEOF(short, 2)
14 AC_CHECK_SIZEOF(int, 4)
15 AC_CHECK_SIZEOF(long, 4)
16 AC_CHECK_SIZEOF(long long, 8)
17
18 type_name()
19 {
20     if expr "$ac_cv_sizeof_char" '>=' "$1" >/dev/null; then
21         echo "char"
22         exit
23     fi
24     if expr "$ac_cv_sizeof_short" '>=' "$1" >/dev/null; then
25         echo "short"
26         exit
27     fi
28     if expr "$ac_cv_sizeof_int" '>=' "$1" >/dev/null; then
29         echo "int"
30         exit
31     fi
32     if expr "$ac_cv_sizeof_long" '>=' "$1" >/dev/null; then
33         echo "long"
34         exit
35     fi
36     if expr "$ac_cv_sizeof_long_long" '>=' "$1" >/dev/null; then
37         echo "long long"
38         exit
39     fi
40     echo "long long"
41 }
42
43 AC_MSG_CHECKING(type name for byte)
44 TYPE_BYTE=`type_name 1`
45 AC_MSG_RESULT($TYPE_BYTE)
46 AC_MSG_CHECKING(type name for word)
47 TYPE_WORD=`type_name 2`
48 AC_MSG_RESULT($TYPE_WORD)
49 AC_DEFINE_UNQUOTED(TYPE_BYTE, $TYPE_BYTE)
50 AC_DEFINE_UNQUOTED(TYPE_WORD, $TYPE_WORD)
51
52 AC_OUTPUT(Makefile)