|
1 |
| -Mono binary reference assemblies repository. |
| 1 | +Mono binary reference assemblies |
| 2 | +================================ |
2 | 3 |
|
3 | 4 | Built using csc 2.1.0.
|
4 | 5 |
|
5 |
| -Use the following steps to add a new .NET profile: |
| 6 | +Adding a new .NET profile |
| 7 | +------------------------- |
6 | 8 |
|
7 |
| -```bash |
8 |
| -NETFXPROFILE=v4.7.1 |
| 9 | +Use the following steps (we're using 4.7.1 as example): |
9 | 10 |
|
10 |
| - |
11 |
| -cd $NETFXPROFILE-ms |
12 |
| -for i in *.dll; do mono ../../api-snapshot/tools/genapi/GenAPI.exe -assembly:$i -out:../src/$NETFXPROFILE -typeforwardedTo -assemblyVersion -assemblyAttributes -headerFile:../../api-snapshot/profiles/license-header.txt -libPath:.; done |
13 |
| - |
14 |
| -cd ../src/$NETFXPROFILE |
15 |
| -for i in *.cs; do sed -i "" 's/AssemblyCompanyAttribute("Microsoft Corporation")/AssemblyCompanyAttribute("Mono development team")/g' $i; done |
16 |
| -for i in *.cs; do sed -i "" 's/AssemblyCopyrightAttribute("© Microsoft Corporation. All rights reserved.")/AssemblyCopyrightAttribute("(c) Various Mono authors")/g' $i; done |
17 |
| -for i in *.cs; do sed -i "" 's/AssemblyProductAttribute("Microsoft® .NET Framework")/AssemblyProductAttribute("Mono Common Language Infrastructure")/g' $i; done |
18 |
| -for i in *.cs; do sed -i "" '/.*AssemblySignatureKeyAttribute(.*]/d' $i; done |
19 |
| -for i in *.cs; do sed -i "" '/.*InternalsVisibleToAttribute(.*]/d' $i; done |
20 |
| -for i in *.cs; do sed -i "" '/.*DependencyAttribute(.*]/d' $i; done |
21 |
| - |
22 |
| -... Revert changes to Accessibility.cs, Microsoft.VisualC.cs and Microsoft.VisualBasic.cs (bug in GenApi) ... |
23 |
| -... Revert changes to System.Workflow.*.cs, System.Web.Mobile.cs and System.Deployment.cs (we only have stub assemblies) ... |
24 |
| -... Revert changes to System.Web.WebPages.*.cs, System.Web.Http.*.cs, System.Web.Razor.cs, System.Web.Mvc.cs, System.Net.Http.Formatting.cs and System.Json.Microsoft.cs (wrong AssemblyCompanyAttribute sed replacement) ... |
25 |
| -... Revert changes that remove #if / #endif ... |
26 |
| -``` |
| 11 | +1. Copy existing `v4.7/Makefile` and `src/v4.7/*` to new folders and commit |
| 12 | +2. Update `PROFILE` variable in `v4.7.1/Makefile` |
| 13 | +3. Wire up new profile in `Makefile` in repo root |
| 14 | +4. Run the generation script `./generate-refasm-sources.sh v4.7.1 some/path/to/netfx/referenceassemblies` |
| 15 | +5. Revert deletion of `*.extra.cs` |
| 16 | +6. Revert changes that remove `#if / #endif` |
| 17 | +7. Revert suspicious changes to: |
| 18 | + - `Accessibility.cs` (bug in GenApi) |
| 19 | + - `Microsoft.VisualBasic.cs` (bug in GenApi and wrong AssemblyCopyright/Product attribute) |
| 20 | + - `Microsoft.VisualC.cs` (bug in GenApi) |
| 21 | + - `System.Data.Linq.cs` (bug in GenApi) |
| 22 | + - `System.Deployment.cs` (we only have stub assemblies) |
| 23 | + - `System.Runtime.DurableInstancing.cs` (bug in GenApi) |
| 24 | + - `System.Security.cs` (bug in GenApi) |
| 25 | + - `System.Web.Mobile.cs` (we only have stub assemblies) |
| 26 | + - `System.Workflow.*.cs` (we only have stub assemblies) |
| 27 | +8. Add new assemblies/facades to `v4.7.1/Makefile` |
| 28 | +9. Run `make -C v4.7.1` and ensure everything compiles |
0 commit comments