include ../../build/rules.make
LIBRARY = System.Xml.dll
-LIBRARY_USE_INTERMEDIATE_FILE = yes
lib_file := $(wildcard ../lib/$(PROFILE)/System.Xml.dll)
ifndef lib_file
-# In the basic profile, System.Xml.dll is _not_ a dependency of mcs.exe. So, don't use boot compilation.
-# In other profiles, it _is_ a dependency of mcs.exe. So, use boot compilation.
-ifneq (basic, $(PROFILE))
USE_BOOT_COMPILE = yes
endif
-endif
-
-ifeq (net_2_0, $(PROFILE))
-BOOTSTRAP_MCS = MONO_PATH="$(topdir)/class/lib/net_2_0$(PLATFORM_PATH_SEPARATOR)$(topdir)/class/lib/net_2_0_bootstrap$(PLATFORM_PATH_SEPARATOR)$$MONO_PATH" $(INTERNAL_GMCS)
-endif
ifdef USE_BOOT_COMPILE
LIBRARY_COMPILE = $(BOOT_COMPILE)
endif
-LIB_MCS_FLAGS = -r:$(corlib) -r:System.dll -nowarn:0162,0618,0612,0642,1595
-ifeq (net_1_1_java, $(PROFILE))
-LIB_MCS_FLAGS += \
- -r:System.Xml.dll \
- -r:rt.dll \
- -r:J2SE.Helpers.dll \
- -r:unresolved.dll \
- /lib:../../class/lib/$(PROFILE)
+PROFILE_ANY_MOBILE := $(filter monotouch monotouch_runtime monodroid xammac, $(PROFILE))
+
+LIB_MCS_FLAGS = -r:$(corlib) -r:System.dll -nowarn:0618,0612,0642
+ifeq (2.1, $(FRAMEWORK_VERSION))
+LIB_MCS_FLAGS += -unsafe -d:AGCLR -d:NET_2_1_HACK
endif
-TEST_MCS_FLAGS = $(LIB_MCS_FLAGS) -nowarn:0618 -nowarn:219 -nowarn:169
-
-ifeq (2.0, $(FRAMEWORK_VERSION))
-# Happens on net_2_0_bootstrap and net_2_0 profiles
-CONFIGURATION_DEP := System.Configuration.dll
-CONFIGURATION_DEP_FILE := $(wildcard ../lib/$(PROFILE)/$(CONFIGURATION_DEP))
-CYCLIC_DEPS += $(CONFIGURATION_DEP)
-CYCLIC_DEP_FILES += $(CONFIGURATION_DEP_FILE)
-TEST_MCS_FLAGS += -r:System.Configuration
+TEST_MCS_FLAGS = $(LIB_MCS_FLAGS) -nowarn:0618 -nowarn:219 -nowarn:169 -r:System.Data.dll -r:System.Core.dll
+
+ifndef PROFILE_ANY_MOBILE
+FINAL_MCS_FLAGS = -r:System.Configuration.dll -d:CONFIGURATION_DEP
endif
-ifdef CONFIGURATION_DEP_FILE
-LIB_MCS_FLAGS += -define:CONFIGURATION_DEP -r:$(CONFIGURATION_DEP)
-$(the_lib): $(CONFIGURATION_DEP_FILE)
+ifneq (bare/,$(intermediate))
+LIB_MCS_FLAGS += $(FINAL_MCS_FLAGS)
endif
+LIB_MCS_FLAGS += -lib:$(bare_libdir)
+
nist_dom_files = \
ChangeLog ITest.cs readme.txt util.cs \
fundamental/ChangeLog \
Test/MonoMicro.Test.csproj \
Test/XmlFiles/76102.xml \
Test/XmlFiles/79683.dtd \
- Test/XmlFiles/xsd/multi-schemaLocation.xml \
- Test/XmlFiles/xsd/datatypesTest.xsd \
- Test/XmlFiles/xsd/336625.xsd \
- Test/XmlFiles/xsd/77687.xsd \
- Test/XmlFiles/xsd/77687inc.xsd \
- Test/XmlFiles/xsd/78985.xml \
- Test/XmlFiles/xsd/78985.xsd \
- Test/XmlFiles/xsd/79650.xsd \
- Test/XmlFiles/xsd/82010.xml \
- Test/XmlFiles/xsd/82010.xsd \
- Test/XmlFiles/xsd/82078.xsd \
- Test/XmlFiles/xsd/inter-inc-1.xsd \
- Test/XmlFiles/xsl/82493.xml \
- Test/XmlFiles/xsl/82493.xsl \
- Test/XmlFiles/xsl/91834.xml \
- Test/XmlFiles/xsl/91834.xsl \
- Test/XmlFiles/xsl/91834a.xml \
- Test/XmlFiles/xsl/325482.xml \
- Test/XmlFiles/xsl/325482.xsl \
- Test/XmlFiles/xsl/stripspace.xsl \
- Test/XmlFiles/xsl/stripspace.xml \
- Test/XmlFiles/xsl/current-in-select.xsl \
- Test/XmlFiles/xsl/current-in-select.xml \
+ Test/XmlFiles/496192.xml \
+ Test/XmlFiles/*.xsd \
+ $(wildcard Test/XmlFiles/xsd/*.xml) \
+ $(wildcard Test/XmlFiles/xsd/*.xsd) \
+ $(wildcard Test/XmlFiles/xsl/*.xml) \
+ $(wildcard Test/XmlFiles/xsl/*.xsl) \
Test/XmlFiles/xsl/current-in-select.ref \
Test/XmlFiles/xsl/ChangeLog \
$(xmlfiles_files:%=Test/XmlFiles/%) \
$(nist_dom_files:%=Test/System.Xml/nist_dom/%)
System.Xml.XPath/Parser.cs: System.Xml.XPath/Parser.jay $(topdir)/jay/skeleton.cs
- $(topdir)/jay/jay -ct < $(topdir)/jay/skeleton.cs $< >$@
+ (cd System.Xml.XPath; $(topdir)/../jay/jay -ct < $(topdir)/../jay/skeleton.cs Parser.jay >> Parser.cs)
-Mono.Xml.Xsl/PatternParser.jay: System.Xml.XPath/Parser.jay $(topdir)/jay/skeleton.cs
+Mono.Xml.Xsl/$(PROFILE)_PatternParser.jay: System.Xml.XPath/Parser.jay $(topdir)/jay/skeleton.cs
sed "s/\%start Expr/\%start Pattern/" $< >$@
-Mono.Xml.Xsl/PatternParser.cs: Mono.Xml.Xsl/PatternParser.jay $(topdir)/jay/skeleton.cs
+Mono.Xml.Xsl/$(PROFILE)_PatternParser.cs: Mono.Xml.Xsl/$(PROFILE)_PatternParser.jay $(topdir)/jay/skeleton.cs
echo "#define XSLT_PATTERN" > $@
- $(topdir)/jay/jay -ct $< < $(topdir)/jay/skeleton.cs >>$@
+ (cd Mono.Xml.Xsl; $(topdir)/../jay/jay -ct $(PROFILE)_PatternParser.jay < $(topdir)/../jay/skeleton.cs >> $(PROFILE)_PatternParser.cs)
-Mono.Xml.Xsl/PatternTokenizer.cs: System.Xml.XPath/Tokenizer.cs
+Mono.Xml.Xsl/$(PROFILE)_PatternTokenizer.cs: System.Xml.XPath/Tokenizer.cs
echo "#define XSLT_PATTERN" > $@
cat $< >>$@
+ifneq (moonlight_raw, $(PROFILE))
BUILT_SOURCES = System.Xml.XPath/Parser.cs \
- Mono.Xml.Xsl/PatternParser.cs \
- Mono.Xml.Xsl/PatternTokenizer.cs
+ Mono.Xml.Xsl/$(PROFILE)_PatternParser.cs \
+ Mono.Xml.Xsl/$(PROFILE)_PatternTokenizer.cs
CLEAN_FILES = Test/XmlFiles/xsl/result.xml \
System.Xml.XPath/Parser.cs \
- Mono.Xml.Xsl/PatternParser.cs \
- Mono.Xml.Xsl/PatternTokenizer.cs
+ Mono.Xml.Xsl/$(PROFILE)_PatternParser.cs \
+ Mono.Xml.Xsl/$(PROFILE)_PatternTokenizer.cs
+endif
include ../../build/library.make
+
+ifeq (bare/,$(intermediate))
+build-bare:
+else
+$(bare_libdir)/System.Xml.dll:
+ $(MAKE) intermediate=bare/ $(bare_libdir)/System.Xml.dll
+endif
+
+system_xml_library_deps := \
+ $(bare_libdir)/System.dll \
+ $(bare_libdir)/System.Xml.dll
+
+ifndef PROFILE_ANY_MOBILE
+system_xml_library_deps += $(the_libdir_base)System.Configuration.dll
+endif
+
+artifacts = $(system_xml_library_deps) \
+ $(the_libdir_base)System.Configuration.dll
+
+.NOTPARALLEL: $(artifacts)
+
+CLEAN_FILES = $(bare_libdir)/System.Xml.dll $(bare_libdir)/System.Xml.dll.pdb
+$(the_libdir_base)System.Xml.dll: $(system_xml_library_deps)
+$(bare_libdir)/System.dll:
+ (cd ../System; $(MAKE) $@)
+$(bare_libdir)/System.Xml.dll: $(bare_libdir)/System.dll
+
+$(the_libdir_base)System.Configuration.dll:
+ (cd ../System.Configuration; $(MAKE) $@)
+
+
+ifndef intermediate
+ifneq ($(PROFILE),basic)
+csproj-local:
+ $(MAKE) csproj-local intermediate=bare/
+endif
+endif
\ No newline at end of file