[RFC PATCH 2/2] vcruntime140: Add the new MSVC 2015 compiler specific DLL.

Martin Storsjö martin at martin.st
Sun Oct 18 14:53:26 CDT 2015


On Sun, 18 Oct 2015, Nikolay Sivov wrote:

> On 18.10.2015 22:20, Martin Storsjo wrote:
>> +EXTRADEFS = -D_MT -D_MSVCR_VER=140 -DVCRUNTIME
>
> Is it not enough to have MSVCR_VER only? E.g. is it possible to have 
> MSVCR_VER defined to 140 and undefined VCRUNTIME at the same time?

Yes - that combo is used for building ucrtbase.dll at the moment.

>> +  case DLL_PROCESS_ATTACH:
>> +//    msvcrt_init_exception(hinstDLL);
>> +    if(!msvcrt_init_tls()) {
>
> Debug leftovers?

Ah, yes.

I guess calling this might be necessary later, once/if the functions that 
are in cpp.c are hooked up for building in vcruntime140. I currently 
didn't need those functions, so I didn't try to disentangle them from the 
rest of the msvcrt internal state yet. But it shouldn't be left here, 
indeed.

>> diff --git a/dlls/msvcrt/main-vcruntime.c b/dlls/msvcrt/main-vcruntime.c
>> new file mode 100644
>> index 0000000..ccbe6a9
>> --- /dev/null
>> +++ b/dlls/msvcrt/main-vcruntime.c
>
> This looks like a workaround to me. Will it work to duplicate this in 
> vcruntime140 or consolidate it in some way making it usable from msvcrt and 
> vcruntime*?

I'm not quite sure I understand your question completely.

If it's about the duplication of code; I guess one could keep the normal 
main.c and either split it into multiple files and just include some of 
them here, and disable parts of it with ifdefs (since this DLL shouldn't 
have most of the normal msvcrt internal state). If it's about the source 
file being in the msvcrt directory even though it's not used by the normal 
msvcrt, I guess that can be moved to the vcruntime140 directory as well.

// Martin



More information about the wine-devel mailing list