-
Notifications
You must be signed in to change notification settings - Fork 4.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add DNMD into src/native #107961
base: main
Are you sure you want to change the base?
Add DNMD into src/native #107961
Conversation
Includes basic structure, readme.md and Cmake for building.
Update CoTaskMemAlloc to 8-byte align.
Add base COM interfaces
Update C++ #ifdef Add == operator for GUIDs
Updates GUID and BSTR tests.
Scenario tests broken on Windows.
uppercase hexidecmal strings for GUIDs.
Move util.h out of public inc/ dir Add test for InvalidCastException Fix memory leak in scenario test
Add dncp::com_ptr smart pointer for IUnknown
Add common wide string APIs
Create dotnet based project system for ease of use. Create MSBuild system that works with the basic dotnet commands. Add notes to readme on how to test using the dotnet SDK.
…for usage by the cdac in the future
- [`IMetaDataDispenser`][api_dispenser] | ||
- [`IMetaDataImport`][api_import] / [`IMetaDataImport2`][api_import2] | ||
- [`IMetaDataAssemblyImport`][api_assemblyimport] | ||
- `dnmd_interfaces_static` - A static library version of `dnmd_interfaces`. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we need its shared variant or can we just used the static lib (or minipal type of object) linked into the projects requiring the functionality?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The shared lib is useful for sharing out to other orgs/products that need to parse ECMA metadata.
Also for a debug flow for the cdacreader with DNNE, it would be helpful to have the shared lib.
src/native/dnmd/readme.md
Outdated
|
||
## Build | ||
|
||
> `git submodule update --init --recursive` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We have avoided submodules in the past. We can copy https://github.com/AaronRobinsonMSFT/dncp sources over as well?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've actually removed the dncp dependency. I need to update this readme.
If this is a one-time permanent move, then the location choice is good. Otherwise, this seems like something which can perhaps live in |
This is a permanent move once I do the fit-and-finish work. It'll still be buildable directly (with CI validation) and treated as a standalone project that is included into various products, but the project's home will be in this repo. |
Tagging subscribers to this area: @dotnet/runtime-infrastructure |
…o our compiler discovery routines.
…ry changes to get tests running locally again.
… that case and our host systems don't have what we'd need
Add dnmd into the dotnet/runtime repo for usage by cDAC (and in the future, usage as the native ECMA-335 metadata library for the repo as a whole).
Depends on #107889