deal with relocated SDCCerr.c
[fw/sdcc] / configure.in
index eef18b70ff7aa30e2b2e5939d7ccfae984d9f865..1443114dd0f16b6e6b40f71fbc37916de724dd7d 100755 (executable)
@@ -37,12 +37,21 @@ AC_PROG_CXX
 AC_PROG_CPP
 AC_PROG_INSTALL
 AC_PROG_RANLIB
-AC_PROG_YACC(bison, :)
 AC_PROG_LEX(flex, :)
+AC_CHECK_PROG(YACC, bison, bison -y, :)
 AC_CHECK_PROG(AUTOCONF, autoconf, autoconf, :)
 AC_CHECK_PROG(AS, as, as, :)
 AC_CHECK_PROG(CP, cp, cp, :)
 
+AC_DEFUN(SDCC_REQUIRE_PROG, 
+[if test "$1" = ":"; then
+  AC_MSG_ERROR([Cannot find required program $2.])
+ fi
+])
+
+SDCC_REQUIRE_PROG($YACC, bison)
+SDCC_REQUIRE_PROG($LEX, lex)
+
 AC_LANG_C
 
 # Checking for header files.
@@ -51,6 +60,7 @@ 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)
 AC_HEADER_DIRENT
@@ -184,24 +194,52 @@ 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(PREFIX, "${prefix}")
 AC_DEFINE_UNQUOTED(DATADIR, "${sdcc_datadir}")
 AC_DEFINE_UNQUOTED(SRCDIR, "${config_in}")
 
-# mlh: dont compile libgc if it's available locally
-AC_CHECK_LIB(gc,GC_malloc,HAVE_LIBGC=1)
-AC_SUBST(HAVE_LIBGC)
+
+# Now handle the port selection
+AC_ARG_ENABLE(z80-port,--disable-z80-port: Excludes the z80 port)
+if test "$enable_z80_port" = "no"; then
+    AC_DEFINE_UNQUOTED(OPT_DISABLE_Z80, 1)
+else
+    AC_DEFINE_UNQUOTED(OPT_DISABLE_Z80, 0)
+fi
+
+AC_ARG_ENABLE(gbz80-port,--disable-gbz80-port: Excludes the Gameboy gbz80 port)
+if test "$enable_gbz80_port" = "no"; then
+    AC_DEFINE_UNQUOTED(OPT_DISABLE_GBZ80, 1)
+else
+    AC_DEFINE_UNQUOTED(OPT_DISABLE_GBZ80, 0)
+fi
+
+AC_ARG_ENABLE(mcs51-port,--disable-mcs51-port: Excludes the Intel mcs51 port)
+if test "$enable_mcs51_port" = "no"; then
+    AC_DEFINE_UNQUOTED(OPT_DISABLE_MCS51, 1)
+else
+    AC_DEFINE_UNQUOTED(OPT_DISABLE_MCS51, 0)
+fi
+
+AC_ARG_ENABLE(avr-port,--disable-avr-port: Excludes the AVR port)
+if test "$enable_avr_port" = "no"; then
+    AC_DEFINE_UNQUOTED(OPT_DISABLE_AVR, 1)
+else
+    AC_DEFINE_UNQUOTED(OPT_DISABLE_AVR, 0)
+fi
 
 # Generating output files
 # ===========================================================================
 AC_CONFIG_SUBDIRS(sim/ucsim)
+AC_CONFIG_SUBDIRS(packihx)
+# MLH: removed as the rules are already in Makefile.common
+#as/z80/Makefile
+#link/z80/Makefile
 AC_OUTPUT(main.mk:main_in.mk
-support/gc/Makefile
 src/Makefile
 as/mcs51/Makefile
-as/z80/Makefile
-link/z80/Makefile
 support/cpp/Makefile
 device/include/Makefile
 device/lib/Makefile