Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[build] Allow overriding Cecil location (dotnet#328)
There is a philosophically confusing question due to the interaction between the Java.Interop, xamarin-android, and mono repos: Which repo "owns" Cecil? The Java.Interop repo has a Cecil submodule. The mono repo has a Cecil submodule. (*Two*, if you count the indirect one from the Linker submodule, but that shouldn't be used.) The xamarin-android repo references both Java.Interop & mono. If we have a fix in Cecil, what all needs bumping? A present, the answer is *everything*, because the mono reference is included into a variety of mono-built utilities (*as source*, not an assembly), while the Java.Interop reference built into `Xamarin.Android.Cecil.dll` and used by the Xamarin.Android build process. This is somewhat confusing, and means that more work needs to be done to apply fixes everywhere. Try to simplify things by adding a new `$(CecilSourceDirectory)` MSBuild property to `Configuration.props`. The intent is to allow a xamarin-android checkout to *override* `$(CecilSourceDirectory)` so that the Java.Interop build will the *mono* reference, thus permitting a degree of consistency and understanding not previously available. Thus, which repo "owns" Cecil? The mono repo will; the Java.Interop reference will be ignored *when building from xamarin-android*.
- Loading branch information