Skip to content
This repository was archived by the owner on Jan 23, 2023. It is now read-only.

Conversation

@mikedn
Copy link

@mikedn mikedn commented Dec 12, 2015

Some files have their contents ifdefed out because some CLR features are not present (and they'll probably never be) in CoreCLR. A few others are DAC and/or arch specific so they have been moved to the appropiate file lists.

@mikedn mikedn changed the title Do not include unnecessary files in build [WIP] Do not include unnecessary files in build Dec 12, 2015
Copy link
Member

Choose a reason for hiding this comment

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

This highlighted a mismatch between the old msbuild-based scripts and CMakefiles. This should be left in and FEATURE_LAZYCOW defined for x86 and arm instead (on Windows at least) - to match https://github.com/dotnet/coreclr/blob/master/clr.coreclr.props#L68.

@jkotas
Copy link
Member

jkotas commented Dec 12, 2015

Looks good to me otherwise.

@mikedn
Copy link
Author

mikedn commented Dec 12, 2015

Thanks, I restored lazycow.cpp (and enabled the feature) and cleaned up a few more files.

Do you know what's up with genericstackprobe.cpp (FEATURE_STACK_PROBE)? Doesn't seem to be used.

@jkotas
Copy link
Member

jkotas commented Dec 12, 2015

FEATURE_STACK_PROBE has been always off for CoreCLR.

@mikedn
Copy link
Author

mikedn commented Dec 12, 2015

OK, remove genericstackprobe.cpp as well. I've left in the following:

  • vm\interpreter.cpp (maybe someone wants to play with it)
  • vm\mdassistants.cpp (don't know why it's disabled, seems like a useful feature to have)
  • vm\prestub.cpp (somewhat convoluted condition)
  • vm\prof*.cpp (AFAIK profiler support will be enabled at some point)
  • vm\umthunkhash.cpp (C++/CLI I presume, unlikely to see this in CoreCLR but I know people asked about it)
  • vm\typeequivalencehash.cpp (COM PIA?)
  • vm\gccover.cpp, dbggcinfoencoder.cpp, perfmap.cpp (debugging stuff, presumably useful to have around)
  • utilcode\perflog.cpp (debugging stuff enabled only for 32 bit builds, unclear what stops it from being enabled on 64 bit builds as well)

and disabled LNK4221 for static libraries (it was wrongly disabled for dlls).

Fixes #2252

@mikedn mikedn changed the title [WIP] Do not include unnecessary files in build Do not include unnecessary files in build Dec 12, 2015
Some files have their contents ifdefed out because some CLR features
(remoting, CAS, fusion etc.) are not present (and they'll probably never
be) in CoreCLR. A few others are DAC, CrossGen or arch specific so they
have been moved to the appropiate file lists.
@mikedn
Copy link
Author

mikedn commented Dec 12, 2015

Removed umthunkhash.cpp/typeequivalencehash.cpp and squashed. I also rebased against master, maybe the build will stop failing after you disabled those tests.

@jkotas jkotas mentioned this pull request Dec 12, 2015
jkotas added a commit that referenced this pull request Dec 13, 2015
Do not include unnecessary files in build
@jkotas jkotas merged commit d889ba3 into dotnet:master Dec 13, 2015
@mikedn mikedn deleted the lnk4221 branch December 14, 2015 17:26
mikedn added a commit to mikedn/coreclr that referenced this pull request Jan 3, 2016
Linker warning 4221 was disabled in dotnet#2320 and was accidentally reenabled in dotnet#2244
@mikedn mikedn mentioned this pull request Jan 3, 2016
picenka21 pushed a commit to picenka21/runtime that referenced this pull request Feb 18, 2022
Do not include unnecessary files in build

Commit migrated from dotnet/coreclr@d889ba3
picenka21 pushed a commit to picenka21/runtime that referenced this pull request Feb 18, 2022
Linker warning 4221 was disabled in dotnet/coreclr#2320 and was accidentally reenabled in dotnet/coreclr#2244


Commit migrated from dotnet/coreclr@e99a813
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants