-
Notifications
You must be signed in to change notification settings - Fork 4.9k
Generate System.Native static library to be consumed by corert #5403
Conversation
|
@stephentoub @ellismg @jkotas could you please have a look? |
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.
Is there a reason why it cannot be just called System.Native.a (without the Static part)?
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.
if you called it System.Native.a then the output file will be named System.Native.a.a as the build append the extension.
Also I couldn't use System.Native name because it complained it is already used with shared library
we can use .a instead of static with keeping all other changes. this should work
|
I assume that packaging will come separately. Any thoughts on that? |
|
@jkotas yes the packaging change will come after we merge the change. this change will be done by Chris Costa. I already talked to him about that. |
|
CC @chcosta |
|
I did not meant to name the final output |
|
@jkotas yes I understand. with the current changes, the file name will be System.Native.a the line |
I see. So |
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 should disable the prefix one level up - same way as it is done for shared libraries.
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.
who disabled the prefix on the shared libraries? I am asking because it looks not having the prefix can cause some issues. I am seeing the following quote on the SO thread
You can name one any way you want, but ld's -l assuming a lib prefix applies to both static and shared libraries and goes back a long way
so it looks to me it is better to keep the prefix for both static and dynamic libraries.
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.
It was done in the initial commit of the Unix shims #2445 . There was some discussion about it, but I am not able to find it.
|
LGTM |
|
@davidsh it looks one sockets tests failed. could you have a look? MESSAGE: |
|
@jkotas disabling the prefix globally will cause some other errors like the following. so I think either we need to disable it for System.Native only or we just keep the prefix so the library would be libSystem.Native.a /usr/bin/ld: cannot find -llibz |
|
Either way is fine with me. |
|
Thanks @jkotas by the way I am still preferring to have the target name with .a instead of -s as it looks clearer to me. -s is not that obvious when I see it @stephentoub @ellismg could you have a quick look too? |
|
What about calling the target |
|
Test Innerloop Windows_NT Release Build and Test please |
This is basically a dupe of https://github.com/dotnet/corefx/issues/5411 |
|
I'll sync with the latest to squash other non related commits |
Generate System.Native static library to be consumed by corert
Generate System.Native static library to be consumed by corert Commit migrated from dotnet/corefx@80a884a
No description provided.