2005-01-16 Nick Drochak <ndrochak@ieee.org>
[mono.git] / mcs / build / library.make
index cb8eee4bcfe1b5fbb9d678a43db8a0445869e3f9..55774dc6132c06db7c03ef35e9be9fa60e2c2133 100644 (file)
@@ -77,13 +77,13 @@ endif
 endif
 
 gacutil = $(topdir)/tools/gacutil/gacutil.exe
-GACUTIL = MONO_PATH="$(topdir)/class/lib/default:$$MONO_PATH" $(RUNTIME) $(gacutil)
+GACUTIL = MONO_PATH="$(topdir)/class/lib/default$(PLATFORM_PATH_SEPARATOR)$$MONO_PATH" $(RUNTIME) $(gacutil)
 
 ifdef NO_SIGN_ASSEMBLY
 SN = :
 else
 sn = $(topdir)/class/lib/net_1_1_bootstrap/sn.exe
-SN = MONO_PATH="$(topdir)/class/lib/net_1_1_bootstrap:$$MONO_PATH" $(RUNTIME) $(sn)
+SN = MONO_PATH="$(topdir)/class/lib/net_1_1_bootstrap/$(PLATFORM_PATH_SEPARATOR)$$MONO_PATH" $(RUNTIME) $(sn)
 SNFLAGS = -q -R
 endif
 
@@ -116,11 +116,24 @@ uninstall-local:
 
 else
 
+# If RUNTIME_HAS_CONSISTENT_GACDIR is set, it implies that the internal GACDIR
+# of the runtime is the same as the GACDIR we want.  So, we don't need to pass it
+# to gacutil.  Note that the GACDIR we want may not be the same as the value of 
+# GACDIR set above, since the user could have overridden the value of $(prefix).
+#
+# This makes a difference only when we're building from the mono/ tree, since we
+# have to ensure that the internal GACDIR of the in-tree runtime matches where we 
+# install the DLLs.
+
+ifndef RUNTIME_HAS_CONSISTENT_GACDIR
+gacdir_flag = /gacdir $(GACDIR)
+endif
+
 install-local: $(gacutil)
-       $(GACUTIL) /i $(the_lib) /f /gacdir $(GACDIR) /root $(GACROOT) /package $(FRAMEWORK_VERSION)
+       $(GACUTIL) /i $(the_lib) /f $(gacdir_flag) /root $(GACROOT) /package $(FRAMEWORK_VERSION)
 
 uninstall-local: $(gacutil)
-       $(GACUTIL) /u $(LIBRARY_NAME:.dll=)
+       -$(GACUTIL) /u $(LIBRARY_NAME:.dll=) $(gacdir_flag) /root $(GACROOT) /package $(FRAMEWORK_VERSION)
 
 endif
 endif
@@ -156,10 +169,10 @@ run-test-local: run-test-lib
 run-test-ondotnet-local: run-test-ondotnet-lib
 
 run-test-lib: test-local
-       $(TEST_RUNTIME) $(TEST_HARNESS) $(TEST_HARNESS_FLAGS) /xml:TestResult-$(PROFILE).xml $(test_assemblies)
+       $(TEST_RUNTIME) $(TEST_HARNESS) $(TEST_HARNESS_FLAGS) /output:TestResult-$(PROFILE).log /exclude:NotWorking,ValueAdd /xml:TestResult-$(PROFILE).xml $(test_assemblies)
 
 run-test-ondotnet-lib: test-local
-       $(TEST_HARNESS) $(TEST_HARNESS_FLAGS) /xml:TestResult-ondotnet-$(PROFILE).xml $(test_assemblies)
+       $(TEST_HARNESS) $(TEST_HARNESS_FLAGS) /exclude=NotDotNet /output:TestResult-ondotnet-$(PROFILE).log /xml:TestResult-ondotnet-$(PROFILE).xml $(test_assemblies)
 endif
 
 DISTFILES = $(sourcefile) $(test_sourcefile) $(EXTRA_DISTFILES)
@@ -204,16 +217,22 @@ $(sn):
        cd $(topdir) && $(MAKE) PROFILE=net_1_1_bootstrap
 endif
 
+ifeq (cat, $(PLATFORM_CHANGE_SEPARATOR_CMD))
+BUILT_SOURCES_cmdline = $(BUILT_SOURCES)
+else
+BUILT_SOURCES_cmdline = `echo $(BUILT_SOURCES) | $(PLATFORM_CHANGE_SEPARATOR_CMD)`
+endif
+
 # The library
 
 $(the_lib): $(response) $(sn) $(BUILT_SOURCES)
 ifdef LIBRARY_USE_INTERMEDIATE_FILE
-       $(LIBRARY_COMPILE) $(LIBRARY_FLAGS) $(LIB_MCS_FLAGS) /target:library /out:$(@F) $(BUILT_SOURCES) @$(response)
+       $(LIBRARY_COMPILE) $(LIBRARY_FLAGS) $(LIB_MCS_FLAGS) /target:library /out:$(@F) $(BUILT_SOURCES_cmdline) @$(response)
        $(SN) $(SNFLAGS) $(@F) $(LIBRARY_SNK)
        mv $(@F) $@
        test ! -f $(@F).mdb || mv $(@F).mdb $@.mdb
 else
-       $(LIBRARY_COMPILE) $(LIBRARY_FLAGS) $(LIB_MCS_FLAGS) /target:library /out:$@ $(BUILT_SOURCES) @$(response)
+       $(LIBRARY_COMPILE) $(LIBRARY_FLAGS) $(LIB_MCS_FLAGS) /target:library /out:$@ $(BUILT_SOURCES_cmdline) @$(response)
        $(SN) $(SNFLAGS) $@ $(LIBRARY_SNK)
 endif