X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;ds=sidebyside;f=mcs%2Fbuild%2Flibrary.make;h=95ecee0ce64d6da6ad414a0d33c389a8991986db;hb=68f576b39779394d0a2e097f8d50728c770cb6ee;hp=5bb60b955eafdc0dd6cafc0c65c7f00720f76d84;hpb=c365c9a8f29e07f0f7790c28937fea9a6727608d;p=mono.git diff --git a/mcs/build/library.make b/mcs/build/library.make index 5bb60b955ea..95ecee0ce64 100644 --- a/mcs/build/library.make +++ b/mcs/build/library.make @@ -17,11 +17,15 @@ PROFILE_excludes = $(wildcard $(PROFILE)_$(LIBRARY).exclude.sources) sourcefile = $(depsdir)/$(PROFILE)_$(LIBRARY).sources library_CLEAN_FILES += $(sourcefile) +ifdef EXTENSION_MODULE +EXTENSION_include=$(topdir)/../../mono-extensions/mcs/$(thisdir)/$(PROFILE)_$(LIBRARY).sources +endif + # Note, gensources.sh can create a $(sourcefile).makefrag if it sees any '#include's # We don't include it in the dependencies since it isn't always created $(sourcefile): $(PROFILE_sources) $(PROFILE_excludes) $(topdir)/build/gensources.sh @echo Creating the per profile list $@ ... - $(SHELL) $(topdir)/build/gensources.sh $@ $(PROFILE_sources) $(PROFILE_excludes) + $(SHELL) $(topdir)/build/gensources.sh $@ '$(PROFILE_sources)' '$(PROFILE_excludes)' '$(EXTENSION_include)' endif PLATFORM_excludes := $(wildcard $(LIBRARY).$(PLATFORM)-excludes) @@ -68,8 +72,7 @@ SN = : else ifeq ("$(SN)","") sn = $(topdir)/class/lib/$(BUILD_TOOLS_PROFILE)/sn.exe -SN = $(Q) MONO_PATH="$(topdir)/class/lib/$(BUILD_TOOLS_PROFILE)$(PLATFORM_PATH_SEPARATOR)$$MONO_PATH" $(RUNTIME) $(RUNTIME_FLAGS) $(sn) -SNFLAGS = -q +SN = MONO_PATH="$(topdir)/class/lib/$(BUILD_TOOLS_PROFILE)$(PLATFORM_PATH_SEPARATOR)$$MONO_PATH" $(RUNTIME) $(RUNTIME_FLAGS) $(sn) -q endif endif @@ -92,7 +95,9 @@ else is_boot=false endif -csproj-local: +csproj-local: csproj-library csproj-test + +csproj-library: config_file=`basename $(LIBRARY) .dll`-$(PROFILE).input; \ echo $(thisdir):$$config_file >> $(topdir)/../msvc/scripts/order; \ (echo $(is_boot); \ @@ -101,8 +106,10 @@ csproj-local: echo $(LIBRARY_NAME); \ echo $(BUILT_SOURCES_cmdline); \ echo $(build_lib); \ + echo $(FRAMEWORK_VERSION); \ echo $(response)) > $(topdir)/../msvc/scripts/inputs/$$config_file +csproj-test: install-local: all-local test-local: all-local @@ -180,6 +187,19 @@ include $(topdir)/build/tests.make ifdef HAVE_CS_TESTS DISTFILES += $(test_sourcefile) + +csproj-test: + config_file=`basename $(LIBRARY) .dll`-tests-$(PROFILE).input; \ + echo $(thisdir):$$config_file >> $(topdir)/../msvc/scripts/order; \ + (echo false; \ + echo $(MCS); \ + echo $(USE_MCS_FLAGS) -r:$(the_assembly) $(TEST_MCS_FLAGS); \ + echo $(test_lib); \ + echo $(BUILT_SOURCES_cmdline); \ + echo $(test_lib); \ + echo $(FRAMEWORK_VERSION); \ + echo $(test_response)) > $(topdir)/../msvc/scripts/inputs/$$config_file + endif # make dist will collect files in .sources files from all profiles @@ -225,12 +245,12 @@ $(the_lib): $(the_libdir)/.stamp $(build_lib): $(response) $(sn) $(BUILT_SOURCES) $(build_libdir:=/.stamp) $(LIBRARY_COMPILE) $(LIBRARY_FLAGS) $(LIB_MCS_FLAGS) -target:library -out:$@ $(BUILT_SOURCES_cmdline) @$(response) - $(SN) $(SNFLAGS) -R $@ $(LIBRARY_SNK) + $(Q) $(SN) -R $@ $(LIBRARY_SNK) ifdef LIBRARY_USE_INTERMEDIATE_FILE $(the_lib): $(build_lib) $(Q) cp $(build_lib) $@ - $(SN) $(SNFLAGS) -v $@ + $(Q) $(SN) -v $@ $(Q) test ! -f $(build_lib).mdb || mv $(build_lib).mdb $@.mdb $(Q) test ! -f $(build_lib:.dll=.pdb) || mv $(build_lib:.dll=.pdb) $(the_lib:.dll=.pdb) endif @@ -238,7 +258,7 @@ endif library_CLEAN_FILES += $(PROFILE)_aot.log ifdef PLATFORM_AOT_SUFFIX -Q_AOT=$(if $(V),,@echo "AOT [$(PROFILE)] $(notdir $(@))";) +Q_AOT=$(if $(V),,@echo "AOT [$(PROFILE)] $(notdir $(@))";) $(the_lib)$(PLATFORM_AOT_SUFFIX): $(the_lib) $(Q_AOT) MONO_PATH='$(the_libdir)' > $(PROFILE)_aot.log 2>&1 $(RUNTIME) --aot=bind-to-runtime-version --debug $(the_lib) endif @@ -292,10 +312,10 @@ $(makefrag) $(test_response) $(test_makefrag) $(btest_response) $(btest_makefrag ## Documentation stuff Q_MDOC_UP=$(if $(V),,@echo "MDOC-UP [$(PROFILE)] $(notdir $(@))";) +# net_2_0 is needed because monodoc is only compiled in that profile MDOC_UP =$(Q_MDOC_UP) \ - MONO_PATH="$(topdir)/class/lib/net_4_0$(PLATFORM_PATH_SEPARATOR)$(topdir)/class/lib/net_2_0$(PLATFORM_PATH_SEPARATOR)$$MONO_PATH" \ - $(RUNTIME) $(topdir)/tools/mdoc/mdoc.exe update --delete \ - -o Documentation/en $(the_lib) + MONO_PATH="$(topdir)/class/lib/$(DEFAULT_PROFILE)$(PLATFORM_PATH_SEPARATOR)$(topdir)/class/lib/net_2_0$(PLATFORM_PATH_SEPARATOR)$$MONO_PATH" $(RUNTIME) $(topdir)/class/lib/$(DEFAULT_PROFILE)/mdoc.exe \ + update --delete -o Documentation/en $(the_lib) doc-update-local: $(the_libdir)/.doc-stamp