aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGyörgy Balló <ballogy@freestart.hu>2011-11-23 03:47:46 +0100
committerGyörgy Balló <ballogy@freestart.hu>2011-11-23 03:47:46 +0100
commitce8b8824e6c8b690e1f8dbd66779ecad8e03334b (patch)
treeae404dc2a663049bb8f9d488868d9f4757c0017a
parent077275b799305cc99a5c20a5fbe43cc2121ce618 (diff)
downloadlibayatana-appindicator-ce8b8824e6c8b690e1f8dbd66779ecad8e03334b.tar.gz
libayatana-appindicator-ce8b8824e6c8b690e1f8dbd66779ecad8e03334b.tar.bz2
libayatana-appindicator-ce8b8824e6c8b690e1f8dbd66779ecad8e03334b.zip
Make building mono tests optional. Check for mono-nunit if nunit is not available
-rw-r--r--bindings/mono/Makefile.am26
-rw-r--r--configure.ac21
2 files changed, 42 insertions, 5 deletions
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 b05f967..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
@@ -235,4 +253,5 @@ Libappindicator Configuration:
Prefix: $prefix
GTK+ Version: $with_gtk
Tests: $enable_tests
+ Mono tests: $have_nunit
])