Skip to content
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

package native quic library #54992

Merged
merged 9 commits into from
Jul 1, 2021
Merged

package native quic library #54992

merged 9 commits into from
Jul 1, 2021

Conversation

wfurt
Copy link
Member

@wfurt wfurt commented Jul 1, 2021

This mostly does what we need to and it includes native msquic part in runtime.
I did not find good way how to split native/managed output in single project file or how to create csproj without creating empty assembly. The BinPlace approach suggested by @ViktorHofer did not quite work because of include sequence so I give up even with help from @safern. I also look into including the logic in externals.csproj but the copy magic did not work - perhaps because it is based on different SDK.
I also renamed the native library to avoid being incorectly picked up by ILLinker.
I'm wondering if we could/should fall-back to simple copy.

@ghost
Copy link

ghost commented Jul 1, 2021

Tagging subscribers to this area: @dotnet/ncl
See info in area-owners.md if you want to be subscribed.

Issue Details

This mostly does what we need to and it includes native msquic part in runtime.
I did not find good way how to split native/managed output in single project file or how to create csproj without creating empty assembly. The BinPlace approach suggested by @ViktorHofer did not quite work because of include sequence so I give up even with help from @safern. I also look into including the logic in externals.csproj but the copy magic did not work - perhaps because it is based on different SDK.
I also renamed the native library to avoid being incorectly picked up by ILLinker.
I'm wondering if we could/should fall-back to simple copy.

Author: wfurt
Assignees: wfurt
Labels:

area-System.Net.Quic

Milestone: -

@ManickaP
Copy link
Member

ManickaP commented Jul 1, 2021

Pfff, the rename is not nice. What exactly was the problem with ILLinker? Maybe we can solve it.

@ViktorHofer
Copy link
Member

ViktorHofer commented Jul 1, 2021

I did not find good way how to split native/managed output in single project file

@wfurt I pushed into your branch to fix the binplacing logic. I hope that's ok? Now there is a clear split between managed and native binplacing. Native binplacing uses the NativeBinPlaceItem item in this project.

Co-authored-by: Viktor Hofer <viktor.hofer@microsoft.com>
@wfurt
Copy link
Member Author

wfurt commented Jul 1, 2021

With changes from @ViktorHofer the files get placed to correct location. Instead of the re-naming business I decided to update OOB exclude pattern for trimming. (Trimming win-x64 runtime pack assemblies with ILLinker... works with no changes after putting files to right location)

@ManickaP
Copy link
Member

ManickaP commented Jul 1, 2021

BTW, I ran the PR locally and msquic tests are running, so the packaging works! 🥳

@wfurt
Copy link
Member Author

wfurt commented Jul 1, 2021

WASM failure looks unrelated infrastructure.

Copy link
Member

@safern safern left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@wfurt wfurt merged commit d0a0919 into dotnet:main Jul 1, 2021
@wfurt wfurt deleted the quicNative branch July 1, 2021 23:50
thaystg added a commit to thaystg/runtime that referenced this pull request Jul 2, 2021
* origin/main: (27 commits)
  [mono][llvm] Only emit 'LLVM failed' messages on verbosity > 0. (dotnet#55060)
  Http2Stream throws a wrapped Http2ConnectionException on GO_AWAY (dotnet#54625)
  [main] Update dependencies from dnceng/internal/dotnet-optimization dotnet/arcade dotnet/xharness dotnet/hotreload-utils (dotnet#55007)
  disable a failing test. (dotnet#55063)
  [mono][wasm] Disable some tests which crash on AOT. (dotnet#55054)
  Fix fix_allocation_context for regions (dotnet#54931)
  Delete stale references to System.IO.FileSystem.Primitives (dotnet#55041)
  Add binplaced analyzers to ASP.NET transport package (dotnet#55042)
  [mono] Enable many HardwareIntrinsic tests on wasm
  Delete `compQuirkForPPP`. (dotnet#55050)
  [Mono] Condition Workload AOT import to be osx only (dotnet#55040)
  package native quic library (dotnet#54992)
  Make GlobalizationMode code consistent (dotnet#55039)
  Expand PerfMap format to support metadata for symbol indexation (dotnet#53792)
  [debugger]Componentize debugger (dotnet#54887)
  [Mono] Include loaded interpreter methods as EventPipe session rundown method events. (dotnet#54953)
  Delete stale ActiveIssue from HttpHeadersTest (dotnet#55027)
  Poison address-exposed user variables in debug (dotnet#54685)
  Recategorize emsdk dependency (dotnet#55028)
  Remove the the wasm AOT specific test project exclusions (dotnet#54988)
  ...
@karelz karelz added this to the 6.0.0 milestone Jul 15, 2021
@ghost ghost locked as resolved and limited conversation to collaborators Aug 14, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

8 participants