Improve interrupt trigger code readability
[emu8051.git] / configure.ac
index c4be40f..8f2f2d0 100644 (file)
@@ -33,11 +33,14 @@ AC_ARG_ENABLE(gui,
 AC_MSG_CHECKING([whether to build GUI])
 if test x$ac_cv_enable_gui = xyes; then
        AC_MSG_RESULT(yes)
-        PKG_CHECK_MODULES(GTK, gtk+-2.0 >= 2.4.0, CFLAGS="${CFLAGS} -DGDK_PIXBUF_DISABLE_DEPRECATED -DGDK_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED", dnl
+        PKG_CHECK_MODULES(GTK, gtk+-2.0 >= 2.4.0, [], dnl
         ac_cv_enable_gui=no)
 
        if test x$ac_cv_enable_gui = xyes; then
            AC_DEFINE([HAVE_GTK],1,[Set to 1 to enable GTK+ support for building GUI.])
+
+           GTK_CFLAGS="${GTK_CFLAGS} -DGDK_PIXBUF_DISABLE_DEPRECATED -DGDK_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED"
+
             AC_SUBST(GTK_CFLAGS)
             AC_SUBST(GTK_LIBS)
        fi
@@ -47,31 +50,38 @@ fi
 
 AM_CONDITIONAL([USE_GTK], [test x${ac_cv_enable_gui} = xyes])
 
-dnl Check if tests are enabled (disabled by default)
-AC_ARG_ENABLE([tests],
-              [AS_HELP_STRING([--enable-tests],[Run test suite])],
-              [run_tests=${enableval}],
-              [run_tests="no"])
-
-dnl If tests are enabled, try to locate asem 8051 compiler
-if test x"${run_tests}" = xyes; then
-    dnl Tests for 8051 assembler to generate hex test files
-    dnl TODO: add argument to specify location of asem executable...
-    AC_CHECK_PROG(ASEM_CHECK,asem,yes)
-    if test x"$ASEM_CHECK" != x"yes" ; then
-        AC_MSG_ERROR([Please install asem (http://plit.de/asem-51) to run test suite.])
+dnl Try to locate valid 8051 assembler to generate test files (.hex)
+run_tests=no
+
+AC_CHECK_PROG(AS504_CHECK,as504,yes)
+if test x"$AS504_CHECK" = x"yes" ; then
+    run_tests=yes
+
+    dnl Check if as504 has been patched to support option -O:
+    dnl See http://www.hugovil.com/repository/hvlinux/patches/as504-add-output-file-option.patch
+    AS504HV_CHECK=no
+    if as504 2>&1 | grep -q Ooutfile; then
+        AS504HV_CHECK=yes
     fi
 fi
 
-AM_CONDITIONAL([RUN_TESTS],[test "x$run_tests" = "xyes"])
+AC_CHECK_PROG(ASEM51_CHECK,asem,yes)
+if test x"$ASEM51_CHECK" = x"yes" ; then
+    run_tests=yes
+fi
+
+if test x"$run_tests" != x"yes" ; then
+    AC_MSG_WARN([Please install as504 (http://www.vanwal.nl/as504/) or ASEM-51 (http://plit.de/asem-51) to run test suite.])
+fi
+
+AM_CONDITIONAL([RUN_TESTS],[test x"$run_tests" = x"yes"])
+AM_CONDITIONAL([USE_AS504HV],[test x"$AS504HV_CHECK" = x"yes"])
+AM_CONDITIONAL([USE_AS504],[test x"$AS504_CHECK" = x"yes"])
+AM_CONDITIONAL([USE_AS51],[test x"$ASEM51_CHECK" = x"yes"])
 
 AC_SUBST(CFLAGS)
 AC_SUBST(LIBS)
 AC_SUBST(ac_aux_dir)
 
 dnl Creating output file(s)
-AC_OUTPUT(Makefile src/Makefile data/Makefile doc/Makefile)
-
-if test x"${run_tests}" = xyes; then
-    AC_OUTPUT(tests/Makefile)
-fi
+AC_OUTPUT(Makefile src/Makefile data/Makefile doc/Makefile tests/Makefile)