Hello, As you probably know we have been working on VLC for Windows Store for a long time already.
Here are the latest patches we have to be able to build vlc.git without using forbidden symbols that would fail us at the validation step, using Microsoft Windows App Cert Kit (WACK). Those are in raw form, so probably not committable as is but I would like to have a discussion about them. Fix declarations in headers That one is a couple of hacks put together just to have VLC to build. - Use WINAPI in gai_strerrorA prototype. I have absolutely no idea why I did that .... - Check _WIN32_WINNT define additionally to WINVER. I don't know why WINVER was added here in r6188. What is its role compared to _WIN32_WINNT ? - Revert a couple of #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP): - winnls.h : no idea here.. I guess other headers depend on these declarations and were not commented out. I'll have to check. - winbase.h : CreateSemaphoreW is reimplemented in libwinstorecompat, so we need to have the prototype available. - combaseapi.h : same remark for CoCreateInstance - shlobjidl.h : comment out FreeKnownFolderDefinitionFields, I guess that it brings a runtime dependency on CoTaskMemFree/ole32. Not sure I remember what was the problem here. Of those hacks the ones of importance (because I don't remember the details for the other ones..) are CreateSemaphoreW / CoCreateInstance. Do we want a special define to still have the prototypes for functions reimplemented in winstorecompat? e.g. -D_WIN32_WINNT=0x602 (is it 0x603 for 8.1?) -DWINSTORECOMPAT gai_strerrorA: reimplement without FormatMessageA As vlc is cross platform we use the char * version of gai_strerror, which is forbidden by Microsoft (only UNICODE APIs are allowed). This patch makes it use the UNICODE version and convert the message to ASCII. I had to add WINAPI for it to build, as it's now declared as WINAPI in the header (see above patch). Note that there were some comments about using mbstowcs which would pull another dependency. Can we use WideCharToMultiByte here ? Reimplement SHGetFolderPathW using WinRT functions That one comes from Jean-Baptiste and is for libwinstorecompat. Jean-Baptiste was there something else we need to do here? winstorecompat: *QueueTimer replacements (deactivated for I don't think I had sent that one, it is in the spirit of other functions already present in libwinstorecompat so likely not controversial. More Windows Store forbidden APIs Comment out a bunch of forbidden functions in the headers. ------------------------------------------------------------------------------ DreamFactory - Open Source REST & JSON Services for HTML5 & Native Apps OAuth, Users, Roles, SQL, NoSQL, BLOB Storage and External API Access Free app hosting. Or install the open source package on any LAMP server. Sign up and see examples for AngularJS, jQuery, Sencha Touch and Native! http://pubads.g.doubleclick.net/gampad/clk?id=63469471&iu=/4140/ostg.clktrk _______________________________________________ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public