aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile.am5
-rw-r--r--bindings/mono/Makefile.am26
-rw-r--r--configure.ac30
3 files changed, 55 insertions, 6 deletions
diff --git a/Makefile.am b/Makefile.am
index 5920abe..e19101d 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -4,9 +4,12 @@ SUBDIRS = \
src \
bindings \
example \
- tests \
docs
+if WANT_TESTS
+SUBDIRS += tests
+endif
+
EXTRA_DIST = \
m4/introspection.m4 \
gtk-doc.make \
diff --git a/bindings/mono/Makefile.am b/bindings/mono/Makefile.am
index 9a899e1..5bb13ab 100644
--- a/bindings/mono/Makefile.am
+++ b/bindings/mono/Makefile.am
@@ -3,7 +3,9 @@ SUBDIRS = . examples
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = appindicator-sharp-0.1.pc
+if BUILD_MONO_TEST
TEST = AppIndicator.Test.dll
+endif
API = libappindicator-api.xml
MIDDLE_API = libappindicator-api.middle
@@ -40,16 +42,24 @@ CLEANFILES = \
$(API) \
$(MIDDLE_API) \
$(RAW_API) \
- $(TEST) \
$(DLLPOLICY) \
$(DLLPOLICY1) \
$(WRAPPER_FREE_BINDING) \
$(POLICY).config \
$(POLICY1).config
+if BUILD_MONO_TEST
+CLEANFILES += $(TEST)
+endif
+
DISTCLEANFILES = $(ASSEMBLY).config
+
+if BUILD_MONO_TEST
TEST_SOURCES = TestIndicator.cs
+endif
+
customs = ApplicationIndicator.custom
+
EXTRA_DIST = \
AssemblyInfo.cs \
$(RAW_API) \
@@ -60,13 +70,19 @@ EXTRA_DIST = \
$(ASSEMBLY_NAME).snk \
$(POLICY).config.in \
$(POLICY1).config.in \
- $(customs) \
- $(TEST_SOURCES)
+ $(customs)
+
+if BUILD_MONO_TEST
+EXTRA_DIST += $(TEST_SOURCES)
+endif
GACUTIL_FLAGS=-package $(ASSEMBLY_NAME) -root $(DESTDIR)$(prefix)/lib
references = $(GTK_SHARP_LIBS)
-test_references = $(GTK_SHARP_LIBS) $(NUNIT_LIBS) -r:$(ASSEMBLY)
+
+if BUILD_MONO_TEST
+test_references = $(GTK_SHARP_LIBS) $(NUNIT_LIBS) $(MONO_NUNIT_LIBS) -r:$(ASSEMBLY)
+endif
$(RAW_API): app-indicator.sources.xml $(WRAPPER_FREE_BINDING)
$(GAPI_PARSER) $(srcdir)/app-indicator.sources.xml
@@ -130,10 +146,12 @@ uninstall-local:
echo "$(GACUTIL) -u $(DLLPOLICY) $(GACUTIL_FLAGS)"; \
$(GACUTIL) -u $(POLICY) $(GACUTIL_FLAGS) || exit 1;
+if BUILD_MONO_TEST
$(TEST): $(ASSEMBLY) $(TEST_SOURCES)
$(CSC) -out:$(TEST) -target:library $(test_references) $(srcdir)/$(TEST_SOURCES)
all: $(TEST)
+endif
$(POLICY).config: $(POLICY).config.in Makefile
sed -e "s|@ASSEMBLY_NAME@|$(ASSEMBLY_NAME)|" \
diff --git a/configure.ac b/configure.ac
index d271627..fe2d754 100644
--- a/configure.ac
+++ b/configure.ac
@@ -153,7 +153,25 @@ AC_SUBST(GAPI_CODEGEN)
AC_PATH_PROG(GAPI_FIXUP, gapi2-fixup, no)
AC_SUBST(GAPI_FIXUP)
-PKG_CHECK_MODULES(NUNIT, nunit >= 2.4.7)
+# Check for nunit
+AC_ARG_ENABLE([mono-test],
+ AC_HELP_STRING([--disable-mono-test], [Disable mono test]),,
+ [enable_mono_test=auto])
+
+if test x"$enable_mono_test" != x"no" ; then
+ PKG_CHECK_MODULES(NUNIT, nunit >= 2.4.7,
+ [have_nunit=yes],
+ [PKG_CHECK_MODULES(MONO_NUNIT, mono-nunit,
+ [have_nunit=yes],
+ [have_nunit=no])
+ ])
+ if test x${enable_mono_test} = xyes && test x${have_nunit} = xno; then
+ AC_MSG_ERROR([Mono test configured but nunit not found])
+ fi
+else
+ have_nunit=no
+fi
+AM_CONDITIONAL(BUILD_MONO_TEST, test x${have_nunit} = xyes)
###########################
# Check to see if we're local
@@ -189,6 +207,14 @@ PYGTK_CODEGEN="$PYTHON `$PKG_CONFIG --variable=codegendir pygtk-2.0`/codegen.py"
AC_SUBST(PYGTK_CODEGEN)
AC_MSG_RESULT($PYGTK_CODEGEN)
+#########################
+# Check if build tests
+#########################
+AC_ARG_ENABLE([tests],
+ AC_HELP_STRING([--disable-tests], [Disable tests]),,
+ [enable_tests=yes])
+AM_CONDITIONAL([WANT_TESTS], [test "x$enable_tests" != "xno"])
+
###########################
# Files
###########################
@@ -226,4 +252,6 @@ Libappindicator Configuration:
Prefix: $prefix
GTK+ Version: $with_gtk
+ Tests: $enable_tests
+ Mono tests: $have_nunit
])