|
| 1 | +################### |
| 2 | +Create core library |
| 3 | +################### |
| 4 | + |
| 5 | +To implement its own core library, MOSA generates a "dummy" one that includes all the public APIs but without the actual implementation code. The **Create core library** utility takes care of doing that work. To clone the official .NET core library repository, it requires ``git``. Here are the available command line arguments for the utility: |
| 6 | + |
| 7 | +.. csv-table:: |
| 8 | + :header: "Short name","Long name","Description" |
| 9 | + :widths: 100, 100, 50 |
| 10 | + |
| 11 | + -o,\-\-output,Sets the output directory. |
| 12 | + -c,\-\-copy-files,"If enabled, only copies and patches the source files and stops." |
| 13 | + |
| 14 | +To run the utility, simply execute the following command on any platform: |
| 15 | + |
| 16 | +.. code-block:: bash |
| 17 | +
|
| 18 | + dotnet bin/Mosa.Utility.CreateCoreLib.dll -o Output |
| 19 | +
|
| 20 | +The process can take between a few seconds to a few minutes depending on the speed of your internet connection and PC. At the end, you should get a ``System.Runtime.dll`` file at the directory where you executed the utility. At the end, you should get a console output that looks like this: |
| 21 | + |
| 22 | +.. code-block:: text |
| 23 | +
|
| 24 | + Cloning .NET runtime GitHub repository... |
| 25 | + Cloning into 'runtime'... |
| 26 | + remote: Enumerating objects: 65953, done. |
| 27 | + remote: Counting objects: 100% (65953/65953), done. |
| 28 | + remote: Compressing objects: 100% (42248/42248), done. |
| 29 | + Receiving objects: 100% (65953/65953), 88.04 MiB | 9.16 MiB/s, done. |
| 30 | + remote: Total 65953 (delta 25898), reused 34761 (delta 20956), pack-reused 0 (from 0) |
| 31 | + Resolving deltas: 100% (25898/25898), done. |
| 32 | + Updating files: 100% (58901/58901), done. |
| 33 | + Parsing input files... |
| 34 | + Patching System.DirectoryServices.manual.cs... |
| 35 | + Patching System.Net.Http.Json.cs... |
| 36 | + Patching System.Net.Http.WinHttpHandler.cs... |
| 37 | + Patching System.Configuration.ConfigurationManager.cs... |
| 38 | + Patching System.Data.Common.cs... |
| 39 | + Compiling source files... |
| 40 | + Decompiling assembly... |
| 41 | + Removing project file... |
| 42 | + Removing Properties folder... |
| 43 | + Patching System.Collections.Generic/PriorityQueue.cs... |
| 44 | + Patching System.Collections.Generic/PriorityQueue.cs... |
| 45 | + Patching System/Nullable.cs... |
| 46 | + Patching System/ReadOnlySpan.cs... |
| 47 | + Patching System.Runtime.InteropServices/Marshal.cs... |
| 48 | + Patching System.Runtime.InteropServices/MemoryMarshal.cs... |
| 49 | + Patching System.Runtime.CompilerServices/Unsafe.cs... |
| 50 | + Patching System.Numerics/Vector.cs... |
| 51 | + Patching System.Runtime.Intrinsics/Vector64.cs... |
| 52 | + Patching System.Runtime.Intrinsics/Vector128.cs... |
| 53 | + Patching System.Runtime.Intrinsics/Vector256.cs... |
| 54 | + Patching System.Runtime.Intrinsics/Vector512.cs... |
| 55 | + Patching System.Threading/Volatile.cs... |
| 56 | + Patching System.Threading/Interlocked.cs... |
0 commit comments