diff --git a/m4/mono.m4 b/m4/mono.m4 index 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) ])