From ce8b8824e6c8b690e1f8dbd66779ecad8e03334b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gy=C3=B6rgy=20Ball=C3=B3?= Date: Wed, 23 Nov 2011 03:47:46 +0100 Subject: Make building mono tests optional. Check for mono-nunit if nunit is not available --- bindings/mono/Makefile.am | 26 ++++++++++++++++++++++---- configure.ac | 21 ++++++++++++++++++++- 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 ]) -- cgit v1.2.3