Buffer overflow hunt: removing strcpy, strcat, sprintf
[fw/sdcc] / configure.in
index 386ffee96e7bdcbfd17368ea8b1c56c8f7b76d73..73482e6dd16efb4cd8a88d86fcc992b77481063c 100755 (executable)
@@ -65,6 +65,7 @@ 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)
@@ -116,7 +117,7 @@ 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)
 dnl AC_CHECK_FUNCS(getline)
 dnl AC_CHECK_FUNCS(getdelim)
 AC_CHECK_FUNCS(fgets)
@@ -201,15 +202,21 @@ 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")
 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}")
@@ -259,9 +266,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])
@@ -273,22 +282,13 @@ 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)
+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])
@@ -299,6 +299,19 @@ AC_ARG_ENABLE(device-lib-build,[  --disable-device-lib-build Disables automatica
 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
@@ -313,11 +326,9 @@ AC_CONFIG_SUBDIRS(sim/ucsim)
 # 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