LIBRARY = System.dll
LIBRARY_USE_INTERMEDIATE_FILE = yes
+ifneq (net_2_1, $(PROFILE))
+RESOURCE_FILES = \
+ resources/Asterisk.wav \
+ resources/Beep.wav \
+ resources/Exclamation.wav \
+ resources/Hand.wav \
+ resources/Question.wav
+else
+RESOURCE_FILES =
+endif
+
# Because System.dll, Mono.Security.dll System.Xml.dll have a cyclic dependency, we need a two-pass build.
# 1st pass - build System.dll without System.Xml.dll or Mono.Security.dll or System.Configuration.dll references
# 2nd pass - build System.dll with System.Xml.dll and Mono.Security.dll or System.Configuration.dll references
CYCLIC_DEPS := $(XML_DEP)
CYCLIC_DEP_FILES := $(XML_DEP_FILE)
-ifeq (2.0, $(FRAMEWORK_VERSION))
+ifeq (2, $(FRAMEWORK_VERSION_MAJOR))
# Happens on net_2_0_bootstrap and net_2_0 profiles
SECURITY_DEP := Mono.Security.dll
SECURITY_DEP_FILE := $(wildcard ../lib/$(PROFILE)/$(SECURITY_DEP))
CONFIGURATION_DEP := System.Configuration.dll
CONFIGURATION_DEP_FILE := $(wildcard ../lib/$(PROFILE)/$(CONFIGURATION_DEP))
+PREBUILT_DEP := System.dll
+PREBUILT_DEP_FILE := $(wildcard ../lib/$(PROFILE)/$(PREBUILT_DEP))
CYCLIC_DEPS += $(SECURITY_DEP) $(CONFIGURATION_DEP)
CYCLIC_DEP_FILES += $(SECURITY_DEP_FILE) $(CONFIGURATION_DEP_FILE)
-LIB_MCS_FLAGS = -nowarn:618 -d:CONFIGURATION_2_0 -unsafe
+LIB_MCS_FLAGS = -nowarn:618 -d:CONFIGURATION_2_0 -unsafe $(RESOURCE_FILES:%=-resource:%)
TEST_MCS_FLAGS += -r:System.Configuration
endif
System.Text.RegularExpressions/notes.txt \
System.ComponentModel.Design/Changelog \
Test/test-config-file \
+ Test/System.Security.Cryptography.X509Certificates/pkits/ChangeLog \
+ Test/System.Security.Cryptography.X509Certificates/pkits/Makefile \
+ Test/System.Security.Cryptography.X509Certificates/pkits/README \
+ Test/System.Security.Cryptography.X509Certificates/pkits/x509build.cs \
+ $(RESOURCE_FILES) \
$(TEST_RESOURCES)
lib_file := $(wildcard ../lib/$(PROFILE)/System.dll)
LIBRARY_COMPILE = $(BOOT_COMPILE)
endif
-ifneq ($(CYCLIC_DEPS:%=../lib/$(PROFILE)/%), $(CYCLIC_DEP_FILES))
+MISSING_DEPS := $(filter-out $(notdir $(CYCLIC_DEP_FILES)), $(CYCLIC_DEPS))
+ifdef MISSING_DEPS
+ifneq (net_2_1, $(PROFILE))
NO_SIGN_ASSEMBLY = yes
NO_INSTALL = yes
all-local: echo-warning
.PHONY: echo-warning
-
-ifeq (, $(strip $(CYCLIC_DEP_FILES)))
-echo-warning:
- @echo "** Warning: System.dll built without parts that depend on: $(CYCLIC_DEPS)"
-else # defined CYCLIC_DEP_FILES
-ifdef SECURITY_DEP_FILE
-echo-warning:
- @echo "** Warning: built System.dll with 'Mono.Security.dll'-dependent parts"
- @echo "** Warning: ... without 'System.Xml.dll' present: it may not be usable"
- @echo "** Warning: ... without 'System.Configuration.dll' present: it may not be usable"
-else
echo-warning:
- @echo "** Warning: System.dll built without parts that depend on Mono.Security.dll"
-endif
+ @echo "** Warning: System.dll built without parts that depend on: $(MISSING_DEPS)"
endif
endif
endif
ifdef CONFIGURATION_DEP_FILE
-LIB_MCS_FLAGS += -define:CONFIGURATION_DEP -r:$(CONFIGURATION_DEP) -r:PrebuiltSystem=$(topdir)/class/lib/$(PROFILE)/System.dll
+LIB_MCS_FLAGS += -define:CONFIGURATION_DEP -r:$(CONFIGURATION_DEP)
$(the_lib): $(CONFIGURATION_DEP_FILE)
endif
+ifdef PREBUILT_DEP_FILE
+LIB_MCS_FLAGS += -r:PrebuiltSystem=$(topdir)/class/lib/$(PROFILE)/System.dll
+endif
+
$(test_lib): $(test_lib).config $(TEST_RESOURCES)
$(test_lib).config: Test/test-config-file
cp $< $@
CLEAN_FILES = $(test_lib).config
+
+# run the PKITS tests only if the data was installed/activated, otherwise ignore them
+ifeq (net_2_0, $(PROFILE))
+pkits_files := $(wildcard Test/System.Security.Cryptography.X509Certificates/pkits/hint)
+ifndef pkits_files
+TEST_HARNESS_EXCLUDES = /exclude:NotWorking,ValueAdd,CAS,InetAccess,PKITS
+TEST_HARNESS_EXCLUDES_ONDOTNET = /exclude:NotDotNet,CAS,PKITS
+endif
+endif