AC_HEADER_STDC
AC_CHECK_HEADERS(getopt.h)
AC_CHECK_HEADERS(unistd.h)
-AC_CHECK_HEADERS(endian.h)
AC_CHECK_HEADERS(malloc.h)
AC_CHECK_HEADERS(sys/isa_defs.h)
AC_CHECK_HEADERS(sys/socket.h)
# 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)
# ===========================================================================
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
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")
AC_DEFINE_UNQUOTED(STD_LONG_LIB, "liblong")
AC_DEFINE_UNQUOTED(STD_FP_LIB, "libfloat")
AC_DEFINE_UNQUOTED(STD_DS390_LIB, "libds390")
+AC_DEFINE_UNQUOTED(STD_xa51_LIB, "xa51")
AC_DEFINE_UNQUOTED(PREFIX, "${prefix}")
AC_DEFINE_UNQUOTED(DATADIR, "${sdcc_datadir_tmp}")
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])
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)
+AC_ARG_ENABLE(xa51-port,[ --disable-xa51-port Excludes the XA51 port])
+echo xa51 >>ports.all
+if test "$enable_xa51_port" = "no"; then
+ AC_DEFINE_UNQUOTED(OPT_DISABLE_XA51, 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)
+ echo xa51 >>ports.build
+ AC_DEFINE_UNQUOTED(OPT_DISABLE_XA51, 0)
fi
AC_ARG_ENABLE(ucsim,[ --disable-ucsim Disables configuring and building of ucsim])
OPT_ENABLE_DEVICE_LIB_BUILD=$enable_device_lib_build
AC_SUBST(OPT_ENABLE_DEVICE_LIB_BUILD)
+AC_ARG_ENABLE(packihx,[ --disable-packihx Disables building packihx])
+OPT_ENABLE_PACKIHX=$enable_packihx
+AC_SUBST(OPT_ENABLE_PACKIHX)
+
+AC_ARG_ENABLE(libgc,[ --enable-libgc Use the Bohem memory allocator. Lower runtime footprint.])
+if test "$enable_libgc" = "yes"; then
+ AC_CHECK_LIB(gc, GC_malloc)
+ OPT_ENABLE_LIBGC=1
+else
+ OPT_ENABLE_LIBGC=0
+fi
+AC_DEFINE_UNQUOTED(OPT_ENABLE_LIBGC, $OPT_ENABLE_LIBGC)
+
#remove duplicates
cat ports.all | uniq >ports
mv ports ports.all
# MLH: removed as the rules are already in Makefile.common
#as/z80/Makefile
#link/z80/Makefile
-AC_CONFIG_SUBDIRS(sim/ucsim)
AC_OUTPUT(main.mk:main_in.mk
src/Makefile
as/mcs51/Makefile
-support/cpp/Makefile
device/include/Makefile
device/lib/Makefile
debugger/mcs51/Makefile