hack up const and volatile modifiers in type chains a bit
[fw/sdcc] / configure.in
index 92ed5a007e82cab4cd37c3f9416ab982b55b0ac2..e46aae401e5223cbd3e3ae6a5291c3278248aa49 100755 (executable)
@@ -64,8 +64,6 @@ AC_LANG_C
 AC_HEADER_STDC
 AC_CHECK_HEADERS(getopt.h)
 AC_CHECK_HEADERS(unistd.h)
-AC_CHECK_HEADERS(endian.h)
-AC_CHECK_HEADERS(machine/endian.h)
 AC_CHECK_HEADERS(malloc.h)
 AC_CHECK_HEADERS(sys/isa_defs.h)
 AC_CHECK_HEADERS(sys/socket.h)
@@ -117,7 +115,8 @@ AC_DEFINE_UNQUOTED(HEADER_FD, ${sdcc_cv_fd})
 # Checking for functions
 # ===========================================================================
 AC_CHECK_FUNCS(strlen strcpy strcat strstr strcmp strerror strtok strdup)
-AC_CHECK_FUNCS(strchr memcpy)
+AC_CHECK_FUNCS(strchr memcpy vsnprintf snprintf vsprintf)
+AC_CHECK_FUNCS(mkstemp)
 dnl AC_CHECK_FUNCS(getline)
 dnl AC_CHECK_FUNCS(getdelim)
 AC_CHECK_FUNCS(fgets)
@@ -181,6 +180,59 @@ fi
 # ===========================================================================
 AC_TYPE_SIGNAL
 
+if test "$cross_compiling" = "no"; then
+AC_CHECK_SIZEOF(char)
+AC_CHECK_SIZEOF(short)
+AC_CHECK_SIZEOF(int)
+AC_CHECK_SIZEOF(long)
+else
+    if $CXX -v 2>&1|grep "mingw" >/dev/null 2>&1; then
+       ac_cv_sizeof_char=1
+       ac_cv_sizeof_short=2
+       ac_cv_sizeof_int=4 
+       ac_cv_sizeof_long=4
+    else
+       : # FIXME
+    fi
+#echo
+fi
+
+type_name()
+{
+    if expr "$ac_cv_sizeof_char" '>=' "$1" >/dev/null; then
+       echo "char"
+       exit
+    fi
+    if expr "$ac_cv_sizeof_short" '>=' "$1" >/dev/null; then
+       echo "short"
+       exit
+    fi
+    if expr "$ac_cv_sizeof_int" '>=' "$1" >/dev/null; then
+       echo "int"
+       exit
+    fi
+    if expr "$ac_cv_sizeof_long" '>=' "$1" >/dev/null; then
+       echo "long"
+       exit
+    fi
+    echo "long"
+}
+
+AC_MSG_CHECKING(type name for byte)
+TYPE_BYTE=`type_name 1`
+AC_MSG_RESULT($TYPE_BYTE)
+AC_MSG_CHECKING(type name for word)
+TYPE_WORD=`type_name 2`
+AC_MSG_RESULT($TYPE_WORD)
+AC_MSG_CHECKING(type name for dword)
+TYPE_DWORD=`type_name 4`
+AC_MSG_RESULT($TYPE_DWORD)
+AC_DEFINE_UNQUOTED(TYPE_BYTE, $TYPE_BYTE)
+AC_DEFINE_UNQUOTED(TYPE_WORD, $TYPE_WORD)
+AC_DEFINE_UNQUOTED(TYPE_DWORD, $TYPE_DWORD)
+
+AC_C_BIGENDIAN
+
 #
 #
 if test "${prefix}" = "NONE"; then
@@ -202,9 +254,14 @@ else
     sdcc_datadir_tmp=${datadir}/sdcc
 fi
 
+if test "${includedir}" = "\${prefix}/include"; then
+   AC_DEFINE_UNQUOTED(STANDARD_INCLUDE_DIR, "${sdcc_datadir_tmp}/include")
+   AC_DEFINE_UNQUOTED(SDCC_INCLUDE_DIR, "${sdcc_datadir_tmp}/include")
+else 
+   AC_DEFINE_UNQUOTED(STANDARD_INCLUDE_DIR, "${includedir}")
+   AC_DEFINE_UNQUOTED(SDCC_INCLUDE_DIR, "${includedir}")
+fi
 
-AC_DEFINE_UNQUOTED(STANDARD_INCLUDE_DIR, "${sdcc_datadir_tmp}/include")
-AC_DEFINE_UNQUOTED(SDCC_INCLUDE_DIR, "${sdcc_datadir_tmp}/include")
 AC_DEFINE_UNQUOTED(SDCC_LIB_DIR, "${sdcc_datadir_tmp}/lib")
 AC_DEFINE_UNQUOTED(STD_LIB, "libsdcc")
 AC_DEFINE_UNQUOTED(STD_INT_LIB, "libint")
@@ -261,9 +318,11 @@ AC_ARG_ENABLE(ds390-port,[  --disable-ds390-port    Excludes the DS390 port])
 echo ds390 >>ports.all
 if test "$enable_ds390_port" = "no"; then
     AC_DEFINE_UNQUOTED(OPT_DISABLE_DS390, 1)
+    AC_DEFINE_UNQUOTED(OPT_DISABLE_TININative, 1)
 else
     echo ds390 >>ports.build
     AC_DEFINE_UNQUOTED(OPT_DISABLE_DS390, 0)
+    AC_DEFINE_UNQUOTED(OPT_DISABLE_TININative, 0)
 fi
 
 AC_ARG_ENABLE(pic-port,[  --disable-pic-port      Excludes the PIC port])
@@ -275,24 +334,6 @@ else
     AC_DEFINE_UNQUOTED(OPT_DISABLE_PIC, 0)
 fi
 
-AC_ARG_ENABLE(i186-port,[  --disable-i186-port     Excludes the I186 port])
-echo izt >>ports.all
-if test "$enable_i186_port" = "no"; then
-    AC_DEFINE_UNQUOTED(OPT_DISABLE_I186, 1)
-else
-    echo izt >>ports.build
-    AC_DEFINE_UNQUOTED(OPT_DISABLE_I186, 0)
-fi
-
-AC_ARG_ENABLE(tlcs900h-port,[  --disable-tlcs900h-port Excludes the TLCS900H port])
-echo izt >>ports.all
-if test "$enable_tlcs900h_port" = "no"; then
-    AC_DEFINE_UNQUOTED(OPT_DISABLE_TLCS900H, 1)
-else
-    echo izt >>ports.build
-    AC_DEFINE_UNQUOTED(OPT_DISABLE_TLCS900H, 0)
-fi
-
 AC_ARG_ENABLE(xa51-port,[  --disable-xa51-port Excludes the XA51 port])
 echo xa51 >>ports.all
 if test "$enable_xa51_port" = "no"; then