Age | Commit message (Collapse) | Author |
|
* [bcl] Build some assemblies with -warnaserror
This ensures that we keep the build warning free.
We'll only opt-in a few assemblies that already have zero warnings.
We also only apply this when using csc as mcs might raise different warnings.
For now just opt-in assemblies in the net_4_x profile.
|
|
They were either replaced by the autogenerated csproj files
or just completely broken for years.
|
|
NET_2_1 is also defined whenever we define MOBILE, so they have the same effect. Silverlight was 2.1 but it's been dead for a while now, and we do not even support it.
|
|
This simplified PR workflow and makes branching easier
|
|
use full path.
One of csc prerequisites because csc uses -lib as path which is considered after
RuntimeEnvironment.GetRuntimeDirectory which makes -lib useless
|
|
|
|
|
|
Instead use variables defined in each profile's profile-specific makefile.
|
|
|
|
|
|
|
|
|
|
This reverts commit 6ae517ea65af8cf7585c3a080caaa53d05447cc1.
|
|
|
|
|
|
|
|
|
|
reduce duplication.
|
|
|
|
It should be using RESOURCE_STRINGS, but mcs doesn't support its special
option for string resources for multiple files.
The resource .cs files are generated by genresstringcs.sh, but System.Xml.txt
contains some bogus characters that prevents source generation, so after
the tool has generated the sources, I manually fixed them.
It won't matter once mcs supports the option for multiple files anyways.
|
|
It will be added as mere alias of XslTransform as mono used to do.
|
|
Removed Configuration dependencies and codegenerator parts in XmlSerializer
as well as switching CodeIdentifier implementation to old mono stuff
as referencesource totally depends on CodeDom (mono doesn't).
|
|
It is not simply replacement because we have to workaround dynamic codegen
for Xamarin.iOS.
Also there were several tests failing with MS implementation (e.g. for
W3C DOM conformance), so we had to disable them.
There is one regression that rather needs to be fixed in Reflection.Emit.
Also, some WCF tests fail with this implementation. They need to be
investigated, reviewed and appropriately fixed.
|
|
variable which lists the assemblies a given assembly depends on to build.
|
|
doesn't end up with garbage in the output.
|
|
And bring them to parity with monodroid and monotouch
|
|
Otherwise parallel builds will break randomly.
|
|
The LOCAL_MCS_FLAGS are passed to the compiler before the standard
directory for the profile. This is important both for correctness,
and also assists the solution generator, since we can now precisely
determine which intermediate project must be referenced.
|
|
profile
|
|
Added local targets (csproj-local) to all the assemblies that have
staged builds to dump their build information for the underlying
dependencies.
This information is needed to create the new Visual Studio csproj
files.
This commit also updates the collected build metadata from running:
make update-csproj
make package-inputs
As described in msvc/scripts/README
|
|
|
|
Since we are invoking make recursively to satisfy the dependencies
for any of the cyclic components, we need to inform make to not try
to parallelize any work on any of the cyclic dependencies, otherwise
multiple builds will execute building the same binary, and the result
will be truncated outputs.
For example, System's Makefile would launch all the parallel builds for
the dependencies:
$(secxml_libdir)/System.dll \
$(the_libdir_base)System.Xml.dll \
$(the_libdir_base)Mono.Security.dll \
$(bare_libdir)/System.dll
They could be launched in parallel, and in turn the makefiles on those
directories might try simultaneously to invoke recursively a component
that has not been built yet.
So we use .NOTPARALLEL to flag all the cyclic dependencies on a given
directory to instruct make to not run those in parallel.
|
|
This patch introduces an infrastructure to stage the builds for the core
assemblies that have cyclic dependencies. This deals directly with
the following cycle:
System.dll requires:
System.Configuration.dll
Mono.Security.dll
System.Xml.dll
They all require System.dll to be built
System.Xml requires:
System.dll
System.Configuration.dll
System.Security.dll requires:
System.dll
Mono.Security.dll
System.Xml.dll
Principle
=========
The patch works by directing the build infrastructure to place
intermediate build steps on their own directory. For example the
first System.dll build that only takes a dependency in mscorlib.dll is
placed not under the final directory but on a subdirectory called
"bare".
The second time that System.dll is built (after Mono.Security and
System.Xml have been built) is placed on the "secxml" directory.
The third time is the final build, and that one ends in the profile
directory.
The same principle is applied to System.Xml.
Better Dependency Tracking
==========================
To handle the multiple stages, the new Makefiles for the various
parties involved in this loop are now able to build their
dependencies. This means that typing "make" on System.Security or
System.Xml or System will build all of the intermediate steps as
required, without needing the toplevel Makefile to perform multiple
build shots to incrementally build the result.
Bug fixes
=========
We must have regressed at some point the build of System.Xml as we
were only doing one build of it, one without System.Configuration
support. This patch introduces back the changes to build System.Xml
in two steps.
This patch fixes the setup where we end up rebuilding System.dll and
overwriting it two times as the build progresses as a side effect
(this is what required LIBRARY_USE_INTERMEDIATE_FILE).
Details
=======
library.make:
Introduces a new "the_libdir_base" which is the raw directory
where the final output will go. This points to the same location
that libdir_base previously pointed to.
The existing libdir_base is modified to contain an optional
"intermediate" directory, where intermediate builds can be
placed.
Other cycles
============
The System.Design assembly was listed as having cycles, but while this
cycle exists in theory, in practice we have not implemented any of the
code that brings the cycle in System.Windows.Forms.Design's
ImageListImageEditor and chances are, we wont any time soon.
|
|
Otherwise parallel builds will break randomly.
|
|
directives.
|
|
|
|
|
|
XPathNodeIterator.GetEnumerator().
The thing is, XPathNodeIterator itself is stateful and does not behave
like IEnumerable, thus GetEnumerator() should not iterate nodes within
*itself*. Rather, it should have returned a clone of it.
After all we didn't have to damage performance to fix bug #3705, which is nice.
|
|
The serializer interpreted was broken, but the compiled version was fine,
running MONO_XMLSERIALIZER_THS=0 allowed this to run
|
|
the right .jay
|
|
|
|
svn path=/trunk/mcs/; revision=153638
|
|
svn path=/trunk/mcs/; revision=143203
|
|
svn path=/trunk/mcs/; revision=143199
|
|
svn path=/trunk/mcs/; revision=143180
|
|
svn path=/trunk/mcs/; revision=140606
|
|
svn path=/trunk/mcs/; revision=132788
|
|
svn path=/trunk/mcs/; revision=111842
|
|
* XslCompiledTransform.cs : in XmlWriterSettings, use
ConformanceLevel.Fragment to allow fragment output.
In Transform(string,string), use TextWriter output instead of
XmlWriter to control xml declaration output.
Fixed bug #391424.
* XslTransformTests.cs : added test for bug #391424.
* 391424.xml, 391424.xsl : new test files.
* Makefile : more simplification (and I forgot the syntax again :/)
svn path=/trunk/mcs/; revision=103783
|
|
* resolveUriSchema.xsd : forgot to add.
* Makefile : EXTRA_DISTFILES is becoming messy, so simplify it.
svn path=/trunk/mcs/; revision=103780
|