diff --git a/m4/mono.m4 b/m4/mono.m4index 13de281..7b9d412 100644--- a/m4/mono.m4+++ b/m4/mono.m4@@ -24,29 +24,34 @@ AC_DEFUN([SHAMROCK_FIND_PROGRAM_OR_BAIL], [ SHAMROCK_FIND_PROGRAM($1, $2, no) if test "x$$1" = "xno"; then- AC_MSG_ERROR([You need to install '$2'])+ if test "X$with_mono" = "Xyes"; then+ AC_MSG_ERROR([You need to install '$2'])+ else+ mono_detected=no+ fi fi ]) AC_DEFUN([SHAMROCK_FIND_MONO_2_0_COMPILER], [- SHAMROCK_FIND_PROGRAM(MCS, gmcs)- if test "xMCS" = "xno"; then- with_mono="no"- fi;+ SHAMROCK_FIND_PROGRAM_OR_BAIL(MCS, gmcs) ]) AC_DEFUN([SHAMROCK_FIND_MONO_RUNTIME], [- SHAMROCK_FIND_PROGRAM(MONO, mono)- if test "xMONO" = "xno"; then- with_mono=no- fi;+ SHAMROCK_FIND_PROGRAM_OR_BAIL(MONO, mono) ]) AC_DEFUN([SHAMROCK_CHECK_MONO_MODULE], [ PKG_CHECK_MODULES(MONO_MODULE, mono >= $1, found_mono="yes", found_mono="no")+ if test "x$found_mono" = "xno"; then+ if test "X$with_mono" = "Xyes"; then+ AC_MSG_ERROR([You need to install mono])+ else+ mono_detected=no+ fi+ fi ]) AC_DEFUN([CHECK_GLIB_GTK_SHARP],@@ -59,9 +64,13 @@ AC_DEFUN([CHECK_GLIB_GTK_SHARP], PKG_CHECK_MODULES(GLIBSHARP, glib-sharp-2.0 >= $GTK_SHARP_MIN_VERSION, [], found_gtksharp="no") AC_SUBST(GLIBSHARP_LIBS)- if test "X$found_gtksharp" != "Xyes"; then- with_mono="no"- fi+ if test "X$found_gtksharp" != "Xyes"; then+ if test "X$with_mono" = "Xyes"; then+ AC_MSG_ERROR([You need to install gtk-sharp])+ else+ mono_detected=no+ fi+ fi ]) dnl check for mono and required dependencies@@ -69,21 +78,22 @@ AC_DEFUN([LIBGPOD_CHECK_MONO], [ AC_ARG_WITH(mono, AC_HELP_STRING([--with-mono],- [build mono bindings [[default=yes]]]),- [with_mono=$withval],[with_mono=yes])+ [build mono bindings [[default=auto]]]),+ [with_mono=$withval],[with_mono=auto]) AC_MSG_CHECKING(whether to build mono bindings)- if test "X$with_mono" != Xno; then- with_mono=yes- fi AC_MSG_RESULT($with_mono)- if test "X$with_mono" = Xyes; then+ if test "X$with_mono" != Xno; then+ mono_detected="yes" SHAMROCK_EXPAND_LIBDIR SHAMROCK_CHECK_MONO_MODULE($MONO_MIN_VERSION) SHAMROCK_FIND_MONO_2_0_COMPILER SHAMROCK_FIND_MONO_RUNTIME CHECK_GLIB_GTK_SHARP+ if test "X$mono_detected" = "Xno"; then+ with_mono="no"+ fi fi AM_CONDITIONAL(HAVE_MONO, test x$with_mono = xyes) ])