Re: [Mingw-w64-public] Bug#755448: fixed in mingw-w64 3.1.0-3
Hello, On 07/21/14 23:21, Stephen Kitt wrote: Source: mingw-w64 Source-Version: 3.1.0-3 We believe that the bug you reported is fixed in the latest version of mingw-w64, which is due to be installed in the Debian FTP archive. A summary of the changes between this version and the previous one is attached. Changes: mingw-w64 (3.1.0-3) unstable; urgency=medium . * Merge upstream implementation of strtok_r, so it's available on Windows XP. Thanks to Gianluigi Tiesi for pointing out the problem, and to Jonathan Young for pointing out that he'd fixed it upstream. (Closes: #755448.) This change breaks VLC, as the strtok_r prototype is not available anymore. According to: http://anonscm.debian.org/gitweb/?p=collab-maint/mingw-w64.git;a=blobdiff;f=debian/patches/strtok_r.patch;h=95e4b5e974f19b5725ad3bd349ac74ec6b2d994d;hp=c4aa476dd10754657fe752ee1aeab9cfa4871a83;hb=8625b8bcfd8a66d92ddbb76391e25ddf9e077857;hpb=362f462455a593a5316c72fdf39dc6df342b3da5 the prototype is only defined under the condition: #if defined (_SVID_SOURCE) || defined (_BSD_SOURCE) || (_POSIX_C_SOURCE = 1) || defined(_XOPEN_SOURCE) || defined (_POSIX_SOURCE) However autoconf defines neither of these, but only _GNU_SOURCE glibc's features.h defines all the above features if _GNU_SOURCE is defined, but mingw-w64 does not. I suggest removing the ifdef altogether, as strtok_r will always be available. -- Want fast and easy access to all the code in your enterprise? Index and search up to 200,000 lines of code with a free copy of Black Duck Code Sight - the same software that powers the world's largest code search on Ohloh, the Black Duck Open Hub! Try it now. http://p.sf.net/sfu/bds ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
Re: [Mingw-w64-public] [Poll] Move to git
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 05/09/14 15:52, JonY wrote: wavael [x] Yes, move to git [ ] No, continue with SVN -BEGIN PGP SIGNATURE- Version: GnuPG v2.0.22 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iEYEARECAAYFAlNs5vYACgkQYWCeGMCv8Q/3FgCfTJy7ui/LCHwZuZRej/9JYwPW /5oAmgNHA9FQYyD9Ij5pINn2+XeNQIvU =YRzE -END PGP SIGNATURE- -- Is your legacy SCM system holding you back? Join Perforce May 7 to find out: #149; 3 signs your SCM is hindering your productivity #149; Requirements for releasing software faster #149; Expert tips and advice for migrating your SCM now http://p.sf.net/sfu/perforce ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
Re: [Mingw-w64-public] how to remove libgcc_s_sjlj-1.dll dependency
On 05/05/14 09:19, YIRAN LI wrote: Hi, I'm building an opensource project on mingw32 and found the generated dll depends on libgcc_s_sjlj-1.dll. The function referenced is __divdi3. I tried to add ldflags = -static- libgcc, but seems it doesn't work. Could any one let me know how can I get rid of this dependency? Thanks See http://people.videolan.org/~funman/win/howto-gcc -- Is your legacy SCM system holding you back? Join Perforce May 7 to find out: #149; 3 signs your SCM is hindering your productivity #149; Requirements for releasing software faster #149; Expert tips and advice for migrating your SCM now http://p.sf.net/sfu/perforce ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
Re: [Mingw-w64-public] how to remove libgcc_s_sjlj-1.dll dependency
On 05/05/14 13:51, YIRAN LI wrote: 2014-05-05 20:42 GMT+10:00 Rafaël Carré fun...@videolan.org: On 05/05/14 09:19, YIRAN LI wrote: Hi, I'm building an opensource project on mingw32 and found the generated dll depends on libgcc_s_sjlj-1.dll. The function referenced is __divdi3. I tried to add ldflags = -static- libgcc, but seems it doesn't work. Could any one let me know how can I get rid of this dependency? Thanks See http://people.videolan.org/~funman/win/howto-gcc Thanks Rafael, The script seems doesn't work on my machine. I'm using i686-4.8.2-release-win32-sjlj-rt_v3-rev3, but gcc -v prints nothing containing LIBRARY_PATH. What the script does is remove libgcc_s_sjlj-1.dll (I only need to remove the dependency on libgcc). I manually moved libgcc_s_sjlj-1.dll and libgcc.a. And then ln -s libgcc_eh.a libgcc_s.a But libtheora can't pass ./configure. ld.exe can't find -lgcc. I have to put libgcc_s_sjlj-1.dll and libgcc.a back to get configure and build succeed. Thanks What is your distro? I tested it on gcc builds of archlinux and debian -- Is your legacy SCM system holding you back? Join Perforce May 7 to find out: #149; 3 signs your SCM is hindering your productivity #149; Requirements for releasing software faster #149; Expert tips and advice for migrating your SCM now http://p.sf.net/sfu/perforce ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
[Mingw-w64-public] [PATCH] shobjidl: use __forceinline
If the functions are not inlined, they introduce a dependency on ole32.dll or shell32.dll --- mingw-w64-headers/include/shobjidl.h | 22 +++--- mingw-w64-headers/include/shobjidl.idl | 22 +++--- 2 files changed, 22 insertions(+), 22 deletions(-) diff --git a/mingw-w64-headers/include/shobjidl.h b/mingw-w64-headers/include/shobjidl.h index fde591d..2289c63 100644 --- a/mingw-w64-headers/include/shobjidl.h +++ b/mingw-w64-headers/include/shobjidl.h @@ -29950,7 +29950,7 @@ HRESULT __RPC_STUB IKnownFolderManager_Redirect_Stub( #endif /* __IKnownFolderManager_INTERFACE_DEFINED__ */ - __inline void FreeKnownFolderDefinitionFields(KNOWNFOLDER_DEFINITION *pKFD) { + __forceinline void FreeKnownFolderDefinitionFields(KNOWNFOLDER_DEFINITION *pKFD) { CoTaskMemFree(pKFD-pszName); CoTaskMemFree(pKFD-pszDescription); CoTaskMemFree(pKFD-pszRelativePath); @@ -39343,11 +39343,11 @@ DEFINE_ENUM_FLAG_OPERATORS(LIBRARYMANAGEDIALOGOPTIONS) SHSTDAPI SHShowManageLibraryUI(IShellItem *psiLibrary, HWND hwndOwner, LPCWSTR pszTitle, LPCWSTR pszInstruction, LIBRARYMANAGEDIALOGOPTIONS lmdOptions); SHSTDAPI SHResolveLibrary(IShellItem *psiLibrary); #if defined(__cplusplus) !defined(CINTERFACE) - __inline HRESULT SHCreateLibrary(REFIID riid, void **ppv) { + __forceinline HRESULT SHCreateLibrary(REFIID riid, void **ppv) { return CoCreateInstance(CLSID_ShellLibrary, NULL, CLSCTX_INPROC_SERVER, riid, ppv); } - __inline HRESULT SHLoadLibraryFromItem(IShellItem *psiLibrary, DWORD grfMode, REFIID riid, void **ppv) { + __forceinline HRESULT SHLoadLibraryFromItem(IShellItem *psiLibrary, DWORD grfMode, REFIID riid, void **ppv) { IShellLibrary *plib; HRESULT hr; @@ -39362,7 +39362,7 @@ DEFINE_ENUM_FLAG_OPERATORS(LIBRARYMANAGEDIALOGOPTIONS) return hr; } - __inline HRESULT SHLoadLibraryFromKnownFolder(REFKNOWNFOLDERID kfidLibrary, DWORD grfMode, REFIID riid, void **ppv) { + __forceinline HRESULT SHLoadLibraryFromKnownFolder(REFKNOWNFOLDERID kfidLibrary, DWORD grfMode, REFIID riid, void **ppv) { IShellLibrary *plib; HRESULT hr; @@ -39377,7 +39377,7 @@ DEFINE_ENUM_FLAG_OPERATORS(LIBRARYMANAGEDIALOGOPTIONS) return hr; } - __inline HRESULT SHLoadLibraryFromParsingName(PCWSTR pszParsingName, DWORD grfMode, REFIID riid, void **ppv) { + __forceinline HRESULT SHLoadLibraryFromParsingName(PCWSTR pszParsingName, DWORD grfMode, REFIID riid, void **ppv) { IShellItem *psiLibrary; HRESULT hr; @@ -39390,7 +39390,7 @@ DEFINE_ENUM_FLAG_OPERATORS(LIBRARYMANAGEDIALOGOPTIONS) return hr; } - __inline HRESULT SHAddFolderPathToLibrary(IShellLibrary *plib, PCWSTR pszFolderPath) { + __forceinline HRESULT SHAddFolderPathToLibrary(IShellLibrary *plib, PCWSTR pszFolderPath) { IShellItem *psiFolder; HRESULT hr = SHCreateItemFromParsingName(pszFolderPath, NULL, IID_PPV_ARGS(psiFolder)); @@ -39401,7 +39401,7 @@ DEFINE_ENUM_FLAG_OPERATORS(LIBRARYMANAGEDIALOGOPTIONS) return hr; } - __inline HRESULT SHRemoveFolderPathFromLibrary(IShellLibrary *plib, PCWSTR pszFolderPath) { + __forceinline HRESULT SHRemoveFolderPathFromLibrary(IShellLibrary *plib, PCWSTR pszFolderPath) { PIDLIST_ABSOLUTE pidlFolder = SHSimpleIDListFromPath(pszFolderPath); HRESULT hr = pidlFolder ? S_OK : E_INVALIDARG; @@ -39418,7 +39418,7 @@ DEFINE_ENUM_FLAG_OPERATORS(LIBRARYMANAGEDIALOGOPTIONS) return hr; } - __inline HRESULT SHResolveFolderPathInLibrary(IShellLibrary *plib, PCWSTR pszFolderPath, DWORD dwTimeout, PWSTR *ppszResolvedPath) { + __forceinline HRESULT SHResolveFolderPathInLibrary(IShellLibrary *plib, PCWSTR pszFolderPath, DWORD dwTimeout, PWSTR *ppszResolvedPath) { *ppszResolvedPath = NULL; PIDLIST_ABSOLUTE pidlFolder = SHSimpleIDListFromPath(pszFolderPath); HRESULT hr = pidlFolder ? S_OK : E_INVALIDARG; @@ -39441,7 +39441,7 @@ DEFINE_ENUM_FLAG_OPERATORS(LIBRARYMANAGEDIALOGOPTIONS) return hr; } - __inline HRESULT SHSaveLibraryInFolderPath(IShellLibrary *plib, PCWSTR pszFolderPath, PCWSTR pszLibraryName, LIBRARYSAVEFLAGS lsf, PWSTR *ppszSavedToPath) { + __forceinline HRESULT SHSaveLibraryInFolderPath(IShellLibrary *plib, PCWSTR pszFolderPath, PCWSTR pszLibraryName, LIBRARYSAVEFLAGS lsf, PWSTR *ppszSavedToPath) { IShellItem *psiFolder; HRESULT hr; @@ -40346,7 +40346,7 @@ void __RPC_STUB IFrameworkInputPane_Location_Stub( #define PROP_CONTRACT_DELEGATE LContractDelegate #endif - __inline void SetContractDelegateWindow(HWND hwndSource, HWND hwndDelegate) { + __forceinline void SetContractDelegateWindow(HWND hwndSource, HWND hwndDelegate) { if (hwndDelegate != NULL) SetPropW (hwndSource, PROP_CONTRACT_DELEGATE, (HANDLE)hwndDelegate); else @@ -40357,7 +40357,7 @@ void __RPC_STUB IFrameworkInputPane_Location_Stub( #define PROP_CONTRACT_DELEGATE LContractDelegate #endif - __inline HWND GetContractDelegateWindow(HWND
Re: [Mingw-w64-public] [PATCH] shobjidl: use __forceinline
Le 18/11/2013 20:48, Kai Tietz a écrit : Patch is ok. Thanks, Kai r6379, thanks -- Shape the Mobile Experience: Free Subscription Software experts and developers: Be at the forefront of tech innovation. Intel(R) Software Adrenaline delivers strategic insight and game-changing conversations that shape the rapidly evolving mobile landscape. Sign up now. http://pubads.g.doubleclick.net/gampad/clk?id=63431311iu=/4140/ostg.clktrk ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
[Mingw-w64-public] [PATCH 1/5] gai_strerrorA: reimplement without FormatMessageA (forbidden in Windows Store)
--- mingw-w64-crt/libsrc/ws2tcpip/gai_strerrorA.c | 13 - 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/mingw-w64-crt/libsrc/ws2tcpip/gai_strerrorA.c b/mingw-w64-crt/libsrc/ws2tcpip/gai_strerrorA.c index 8f7f679..956f84f 100644 --- a/mingw-w64-crt/libsrc/ws2tcpip/gai_strerrorA.c +++ b/mingw-w64-crt/libsrc/ws2tcpip/gai_strerrorA.c @@ -5,13 +5,16 @@ #define __CRT__NO_INLINE #include winsock2.h #include ws2tcpip.h +#include stdlib.h -char *gai_strerrorA(int ecode) +WINAPI char *gai_strerrorA(int ecode) { - DWORD dwMsgLen __attribute__((unused)); static char buff[GAI_STRERROR_BUFFER_SIZE + 1]; - dwMsgLen = FormatMessageA(FORMAT_MESSAGE_FROM_SYSTEM|FORMAT_MESSAGE_IGNORE_INSERTS|FORMAT_MESSAGE_MAX_WIDTH_MASK, - NULL, ecode, MAKELANGID(LANG_NEUTRAL,SUBLANG_DEFAULT), (LPSTR)buff, - GAI_STRERROR_BUFFER_SIZE, NULL); +wchar_t *u = gai_strerrorW(ecode); +if (!u) +return NULL; + +wcstombs(buff, u, GAI_STRERROR_BUFFER_SIZE + 1); + return buff; } -- 1.8.3.2 -- 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=63469471iu=/4140/ostg.clktrk ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
[Mingw-w64-public] [PATCH 4/5] winstorecompat: *QueueTimer replacements (deactivated for now)
--- mingw-w64-libraries/winstorecompat/Makefile.am | 1 + .../winstorecompat/src/QueueTimer.c| 49 ++ 2 files changed, 50 insertions(+) create mode 100644 mingw-w64-libraries/winstorecompat/src/QueueTimer.c diff --git a/mingw-w64-libraries/winstorecompat/Makefile.am b/mingw-w64-libraries/winstorecompat/Makefile.am index 21c5259..db85c96 100644 --- a/mingw-w64-libraries/winstorecompat/Makefile.am +++ b/mingw-w64-libraries/winstorecompat/Makefile.am @@ -34,4 +34,5 @@ libwinstorecompat_a_SOURCES = \ src/Tls.c \ src/CoCreateInstance.c \ src/SHGetFolderPathW.c \ + src/QueueTimer.c \ $(NULL) diff --git a/mingw-w64-libraries/winstorecompat/src/QueueTimer.c b/mingw-w64-libraries/winstorecompat/src/QueueTimer.c new file mode 100644 index 000..48d8e7f --- /dev/null +++ b/mingw-w64-libraries/winstorecompat/src/QueueTimer.c @@ -0,0 +1,49 @@ +/* +Copyright (c) 2013 mingw-w64 project + +Contributing authors: Rafaël Carré + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the Software), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED AS IS, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. +*/ + +#define CreateTimerQueueTimer _CreateTimerQueueTimer +#define DeleteTimerQueueTimer _DeleteTimerQueueTimer +#include windows.h +#include threadpoollegacyapiset.h +#undef CreateTimerQueueTimer +#undef DeleteTimerQueueTimer + +WINBOOL WINAPI CreateTimerQueueTimer (PHANDLE phNewTimer, HANDLE TimerQueue, WAITORTIMERCALLBACK Callback, PVOID Parameter, DWORD DueTime, DWORD Period, ULONG Flags); + +WINBOOL WINAPI CreateTimerQueueTimer (PHANDLE phNewTimer, HANDLE TimerQueue, WAITORTIMERCALLBACK Callback, PVOID Parameter, DWORD DueTime, DWORD Period, ULONG Flags) +{ +SetLastError(ERROR_ACCESS_DENIED); +return 0; +} + +WINBOOL WINAPI DeleteTimerQueueTimer (HANDLE TimerQueue, HANDLE Timer, HANDLE CompletionEvent); + +WINBOOL WINAPI DeleteTimerQueueTimer (HANDLE TimerQueue, HANDLE Timer, HANDLE CompletionEvent) +{ +SetLastError(ERROR_ACCESS_DENIED); +return 0; +} + +WINBOOL (WINAPI *__MINGW_IMP_SYMBOL(CreateTimerQueueTimer)) (PHANDLE phNewTimer, HANDLE TimerQueue, WAITORTIMERCALLBACK Callback, PVOID Parameter, DWORD DueTime, DWORD Period, ULONG Flags) asm(__imp__CreateTimerQueueTimer@28) = CreateTimerQueueTimer; +WINBOOL (WINAPI *__MINGW_IMP_SYMBOL(DeleteTimerQueueTimer)) (HANDLE TimerQueue, HANDLE Timer, HANDLE CompletionEvent) asm(__imp__DeleteTimerQueueTimer@12) = DeleteTimerQueueTimer; -- 1.8.3.2 -- 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=63469471iu=/4140/ostg.clktrk ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
[Mingw-w64-public] Windows 8 Store patches
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=63469471iu=/4140/ostg.clktrk ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
[Mingw-w64-public] [PATCH 5/5] Fix declarations in headers
--- mingw-w64-headers/include/combaseapi.h | 2 +- mingw-w64-headers/include/shobjidl.h | 3 ++- mingw-w64-headers/include/winbase.h| 2 +- mingw-w64-headers/include/winnls.h | 6 +++--- mingw-w64-headers/include/ws2tcpip.h | 2 +- 5 files changed, 8 insertions(+), 7 deletions(-) diff --git a/mingw-w64-headers/include/combaseapi.h b/mingw-w64-headers/include/combaseapi.h index b79c4db..09b5ce9 100644 --- a/mingw-w64-headers/include/combaseapi.h +++ b/mingw-w64-headers/include/combaseapi.h @@ -257,7 +257,7 @@ WINOLEAPI CoCreateInstance (REFCLSID rclsid, LPUNKNOWN pUnkOuter, DWORD dwClsCon WINOLEAPI CoCreateInstanceEx (REFCLSID Clsid, IUnknown *punkOuter, DWORD dwClsCtx, COSERVERINFO *pServerInfo, DWORD dwCount, MULTI_QI *pResults); #endif -#if WINAPI_FAMILY == WINAPI_FAMILY_APP +#if 0 //WINAPI_FAMILY == WINAPI_FAMILY_APP __inline HRESULT CoCreateInstance (REFCLSID rclsid, LPUNKNOWN pUnkOuter, DWORD dwClsContext, REFIID riid, LPVOID *ppv) { MULTI_QI OneQI; HRESULT hr; diff --git a/mingw-w64-headers/include/shobjidl.h b/mingw-w64-headers/include/shobjidl.h index fde591d..8f245c7 100644 --- a/mingw-w64-headers/include/shobjidl.h +++ b/mingw-w64-headers/include/shobjidl.h @@ -29949,7 +29949,7 @@ HRESULT __RPC_STUB IKnownFolderManager_Redirect_Stub( #endif /* __IKnownFolderManager_INTERFACE_DEFINED__ */ - +#if 0 __inline void FreeKnownFolderDefinitionFields(KNOWNFOLDER_DEFINITION *pKFD) { CoTaskMemFree(pKFD-pszName); CoTaskMemFree(pKFD-pszDescription); @@ -29960,6 +29960,7 @@ HRESULT __RPC_STUB IKnownFolderManager_Redirect_Stub( CoTaskMemFree(pKFD-pszIcon); CoTaskMemFree(pKFD-pszSecurity); } +#endif typedef enum SHARE_ROLE { SHARE_ROLE_INVALID = -1, diff --git a/mingw-w64-headers/include/winbase.h b/mingw-w64-headers/include/winbase.h index 93a0eb6..3b614d2 100644 --- a/mingw-w64-headers/include/winbase.h +++ b/mingw-w64-headers/include/winbase.h @@ -1487,7 +1487,7 @@ extern C { #define SHUTDOWN_NORETRY 0x1 #endif -#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) +#if 1 //WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) WINBASEAPI HANDLE WINAPI OpenMutexA (DWORD dwDesiredAccess, WINBOOL bInheritHandle, LPCSTR lpName); WINBASEAPI HANDLE WINAPI CreateSemaphoreA (LPSECURITY_ATTRIBUTES lpSemaphoreAttributes, LONG lInitialCount, LONG lMaximumCount, LPCSTR lpName); WINBASEAPI HANDLE WINAPI CreateSemaphoreW (LPSECURITY_ATTRIBUTES lpSemaphoreAttributes, LONG lInitialCount, LONG lMaximumCount, LPCWSTR lpName); diff --git a/mingw-w64-headers/include/winnls.h b/mingw-w64-headers/include/winnls.h index d59c363..6c6edbd 100644 --- a/mingw-w64-headers/include/winnls.h +++ b/mingw-w64-headers/include/winnls.h @@ -19,7 +19,7 @@ extern C { #ifndef NONLS -#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_APP) +#if 1 //WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_APP) #ifndef _NORMALIZE_ #define WINNORMALIZEAPI DECLSPEC_IMPORT @@ -775,7 +775,7 @@ extern C { GEOCLASS_ALL = 0 }; -#if WINVER = 0x0600 +#if WINVER = 0x0600 || _WIN32_WINNT = 0x600 typedef enum _NORM_FORM { NormalizationOther = 0, NormalizationC = 0x1, @@ -1048,7 +1048,7 @@ extern C { #define EnumSystemCodePages __MINGW_NAME_AW(EnumSystemCodePages) -#if WINVER = 0x0600 +#if WINVER = 0x0600 || _WIN32_WINNT = 0x0600 #define LOCALE_NAME_USER_DEFAULT NULL #define LOCALE_NAME_INVARIANT L diff --git a/mingw-w64-headers/include/ws2tcpip.h b/mingw-w64-headers/include/ws2tcpip.h index 0f05e76..2b038ce 100644 --- a/mingw-w64-headers/include/ws2tcpip.h +++ b/mingw-w64-headers/include/ws2tcpip.h @@ -274,7 +274,7 @@ extern C { #define GAI_STRERROR_BUFFER_SIZE 1024 -char *gai_strerrorA (int); +WINAPI char *gai_strerrorA (int); WCHAR *gai_strerrorW(int); #define NI_MAXHOST 1025 -- 1.8.3.2 -- 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=63469471iu=/4140/ostg.clktrk ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
[Mingw-w64-public] [PATCH 2/5] More Windows Store forbidden APIs
--- mingw-w64-headers/include/shellapi.h | 4 1 file changed, 4 insertions(+) diff --git a/mingw-w64-headers/include/shellapi.h b/mingw-w64-headers/include/shellapi.h index c036978..4d3a2ef 100644 --- a/mingw-w64-headers/include/shellapi.h +++ b/mingw-w64-headers/include/shellapi.h @@ -297,6 +297,8 @@ extern C { #endif #endif +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) + typedef struct _SHELLEXECUTEINFOA { DWORD cbSize; ULONG fMask; @@ -436,6 +438,8 @@ extern C { SHSTDAPI SHGetPropertyStoreForWindow (HWND hwnd, REFIID riid, void **ppv); #endif +#endif /* WINAPI_PARTITION_DESKTOP. */ + typedef struct _NOTIFYICONDATAA { DWORD cbSize; HWND hWnd; -- 1.8.3.2 -- 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=63469471iu=/4140/ostg.clktrk ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
[Mingw-w64-public] [PATCH 3/5] Reimplement SHGetFolderPathW using WinRT functions
From: Jean-Baptiste Kempf j...@videolan.org --- .../winstorecompat/src/SHGetFolderPathW.c | 110 +++-- 1 file changed, 104 insertions(+), 6 deletions(-) diff --git a/mingw-w64-libraries/winstorecompat/src/SHGetFolderPathW.c b/mingw-w64-libraries/winstorecompat/src/SHGetFolderPathW.c index 9ae7d3c..c15136f 100644 --- a/mingw-w64-libraries/winstorecompat/src/SHGetFolderPathW.c +++ b/mingw-w64-libraries/winstorecompat/src/SHGetFolderPathW.c @@ -1,7 +1,8 @@ /* Copyright (c) 2013 mingw-w64 project -Contributing authors: Rafaël Carré +Contributing authors: Jean-Baptiste Kempf + Rafaël Carré Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the Software), @@ -23,15 +24,112 @@ */ #define SHGetFolderPathW __SHGetFolderPathW + +#define _WIN32_WINNT 0x602 +#define COBJMACROS +#define INITGUID +#include winstring.h #include windows.h -#include shfolder.h +#include shlobj.h +#include roapi.h +#include windows.storage.h #undef SHGetFolderPathW -HRESULT WINAPI SHGetFolderPathW(HWND hwnd,int csidl,HANDLE hToken,DWORD dwFlags,LPWSTR pszPath); +HRESULT WINAPI SHGetFolderPathW(HWND hwnd, int csidl, HANDLE hToken, DWORD dwFlags, LPWSTR pszPath) { + +IStorageFolder *folder; + +(void)hwnd; +(void)hToken; + +if (dwFlags != SHGFP_TYPE_CURRENT) +return E_NOTIMPL; + +folder = NULL; + +if (csidl == CSIDL_APPDATA) { +IApplicationDataStatics *appDataStatics = NULL; +IApplicationData *appData = NULL; +static const WCHAR *className = LWindows.Storage.ApplicationData; +const UINT32 clen = wcslen(className); + +HSTRING hClassName = NULL; +HSTRING_HEADER header; +HRESULT hr = WindowsCreateStringReference(className, clen, header, hClassName); +if (hr) { +WindowsDeleteString(hClassName); +return E_FAIL; +} + +hr = RoGetActivationFactory(hClassName, IID_IApplicationDataStatics, (void**)appDataStatics); +WindowsDeleteString(hClassName); + +if (hr) +return E_FAIL; + +IApplicationDataStatics_get_Current(appDataStatics, appData); + +if (!appData) +return E_FAIL; + +IApplicationData_get_LocalFolder(appData, folder); + +IApplicationDataStatics_Release(appDataStatics); +IApplicationData_Release(appData); + +} else { +IKnownFoldersStatics *knownFoldersStatics = NULL; +static const WCHAR *className = LWindows.Storage.KnownFolders; +const UINT32 clen = wcslen(className); + +HSTRING hClassName = NULL; +HSTRING_HEADER header; +HRESULT hr = WindowsCreateStringReference(className, clen, header, hClassName); +if (hr) { +WindowsDeleteString(hClassName); +return E_FAIL; +} + +hr = RoGetActivationFactory(hClassName, IID_IKnownFoldersStatics, (void**)knownFoldersStatics); +WindowsDeleteString(hClassName); + +if (hr) +return E_FAIL; + +switch(csidl) { +case CSIDL_PERSONAL: +IKnownFoldersStatics_get_DocumentsLibrary(knownFoldersStatics, folder); +break; +case CSIDL_MYMUSIC: +IKnownFoldersStatics_get_MusicLibrary(knownFoldersStatics, folder); +break; +case CSIDL_MYPICTURES: +IKnownFoldersStatics_get_PicturesLibrary(knownFoldersStatics, folder); +break; +case CSIDL_MYVIDEO: +IKnownFoldersStatics_get_VideosLibrary(knownFoldersStatics, folder); +break; +default: +return E_INVALIDARG; +} + +IKnownFoldersStatics_Release(knownFoldersStatics); +} + +{ +HSTRING path = NULL; +IStorageItem *item = NULL; +PCWSTR pszPathTemp; + +IStorageFolder_QueryInterface(folder, IID_IStorageItem, (void**)item); +IStorageItem_get_Path(item, path); + +pszPathTemp = WindowsGetStringRawBuffer(path, NULL); +wcscpy(pszPath, pszPathTemp); +WindowsDeleteString(path); +} -HRESULT WINAPI SHGetFolderPathW(HWND hwnd,int csidl,HANDLE hToken,DWORD dwFlags,LPWSTR pszPath) -{ -return S_FALSE; +return S_OK; } HRESULT (WINAPI *__MINGW_IMP_SYMBOL(SHGetFolderPathW))(HWND hwnd,int csidl,HANDLE hToken,DWORD dwFlags,LPWSTR pszPath) asm(__imp__SHGetFolderPathW@20) = SHGetFolderPathW; -- 1.8.3.2 -- 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
Re: [Mingw-w64-public] Windows 8 Store patches
Le 16/11/2013 19:03, Rafaël Carré a écrit : 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). I forgot to add that since we are now targetting Windows 8.1 through VS2013, we need to add a def file for msvcr120 before we validate with the Store Cert Kit. -- 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=63469471iu=/4140/ostg.clktrk ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
Re: [Mingw-w64-public] [PATCH 2/5] More Windows Store forbidden APIs
Le 16/11/2013 22:37, Kai Tietz a écrit : Patch is ok. Thanks, Kai Applied as r6372, thanks -- 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=63469471iu=/4140/ostg.clktrk ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
Re: [Mingw-w64-public] [PATCH 1/5] gai_strerrorA: reimplement without FormatMessageA (forbidden in Windows Store)
Le 16/11/2013 22:40, Kai Tietz a écrit : 2013/11/16 Rafaël Carré fun...@videolan.org: --- mingw-w64-crt/libsrc/ws2tcpip/gai_strerrorA.c | 13 - 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/mingw-w64-crt/libsrc/ws2tcpip/gai_strerrorA.c b/mingw-w64-crt/libsrc/ws2tcpip/gai_strerrorA.c index 8f7f679..956f84f 100644 --- a/mingw-w64-crt/libsrc/ws2tcpip/gai_strerrorA.c +++ b/mingw-w64-crt/libsrc/ws2tcpip/gai_strerrorA.c @@ -5,13 +5,16 @@ #define __CRT__NO_INLINE #include winsock2.h #include ws2tcpip.h +#include stdlib.h -char *gai_strerrorA(int ecode) +WINAPI char *gai_strerrorA(int ecode) For what is this WINAPI? I doubt that it is required. AFAI read documentation is gai_strerrorA not stdcall. I have no clue ... I will remove it and retest. { - DWORD dwMsgLen __attribute__((unused)); static char buff[GAI_STRERROR_BUFFER_SIZE + 1]; - dwMsgLen = FormatMessageA(FORMAT_MESSAGE_FROM_SYSTEM|FORMAT_MESSAGE_IGNORE_INSERTS|FORMAT_MESSAGE_MAX_WIDTH_MASK, - NULL, ecode, MAKELANGID(LANG_NEUTRAL,SUBLANG_DEFAULT), (LPSTR)buff, - GAI_STRERROR_BUFFER_SIZE, NULL); +wchar_t *u = gai_strerrorW(ecode); +if (!u) +return NULL; Is it actual possible that gai_strerrorW returns NULL?!? +wcstombs(buff, u, GAI_STRERROR_BUFFER_SIZE + 1); + return buff; } -- 1.8.3.2 Rest of the patch is ok. Regards, Kai Thanks, -- 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=63469471iu=/4140/ostg.clktrk ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
[Mingw-w64-public] [PATCH 1/2] Keep CreateSemaphore(W) prototype on Windows Store builds, if WINSTORECOMPAT is defined
--- mingw-w64-headers/include/winbase.h | 6 -- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/mingw-w64-headers/include/winbase.h b/mingw-w64-headers/include/winbase.h index 93a0eb6..30acd12 100644 --- a/mingw-w64-headers/include/winbase.h +++ b/mingw-w64-headers/include/winbase.h @@ -1487,10 +1487,13 @@ extern C { #define SHUTDOWN_NORETRY 0x1 #endif +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) || defined(WINSTORECOMPAT) +#define CreateSemaphore __MINGW_NAME_AW(CreateSemaphore) + WINBASEAPI HANDLE WINAPI CreateSemaphoreW (LPSECURITY_ATTRIBUTES lpSemaphoreAttributes, LONG lInitialCount, LONG lMaximumCount, LPCWSTR lpName); +#endif #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) WINBASEAPI HANDLE WINAPI OpenMutexA (DWORD dwDesiredAccess, WINBOOL bInheritHandle, LPCSTR lpName); WINBASEAPI HANDLE WINAPI CreateSemaphoreA (LPSECURITY_ATTRIBUTES lpSemaphoreAttributes, LONG lInitialCount, LONG lMaximumCount, LPCSTR lpName); - WINBASEAPI HANDLE WINAPI CreateSemaphoreW (LPSECURITY_ATTRIBUTES lpSemaphoreAttributes, LONG lInitialCount, LONG lMaximumCount, LPCWSTR lpName); WINBASEAPI HANDLE WINAPI OpenSemaphoreA (DWORD dwDesiredAccess, WINBOOL bInheritHandle, LPCSTR lpName); WINBASEAPI HANDLE WINAPI CreateWaitableTimerA (LPSECURITY_ATTRIBUTES lpTimerAttributes, WINBOOL bManualReset, LPCSTR lpTimerName); WINBASEAPI HANDLE WINAPI CreateWaitableTimerW (LPSECURITY_ATTRIBUTES lpTimerAttributes, WINBOOL bManualReset, LPCWSTR lpTimerName); @@ -1515,7 +1518,6 @@ extern C { #define GetLogicalDriveStrings GetLogicalDriveStringsA #endif -#define CreateSemaphore __MINGW_NAME_AW(CreateSemaphore) #define CreateWaitableTimer __MINGW_NAME_AW(CreateWaitableTimer) #define LoadLibrary __MINGW_NAME_AW(LoadLibrary) -- 1.8.3.2 -- 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=63469471iu=/4140/ostg.clktrk ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
[Mingw-w64-public] [PATCH] gai_strerrorA: reimplement without FormatMessageA
(forbidden in Windows Store) --- mingw-w64-crt/libsrc/ws2tcpip/gai_strerrorA.c | 5 + 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/mingw-w64-crt/libsrc/ws2tcpip/gai_strerrorA.c b/mingw-w64-crt/libsrc/ws2tcpip/gai_strerrorA.c index 8f7f679..ebdc06a 100644 --- a/mingw-w64-crt/libsrc/ws2tcpip/gai_strerrorA.c +++ b/mingw-w64-crt/libsrc/ws2tcpip/gai_strerrorA.c @@ -8,10 +8,7 @@ char *gai_strerrorA(int ecode) { - DWORD dwMsgLen __attribute__((unused)); static char buff[GAI_STRERROR_BUFFER_SIZE + 1]; - dwMsgLen = FormatMessageA(FORMAT_MESSAGE_FROM_SYSTEM|FORMAT_MESSAGE_IGNORE_INSERTS|FORMAT_MESSAGE_MAX_WIDTH_MASK, - NULL, ecode, MAKELANGID(LANG_NEUTRAL,SUBLANG_DEFAULT), (LPSTR)buff, - GAI_STRERROR_BUFFER_SIZE, NULL); + wcstombs(buff, gai_strerrorW(ecode), GAI_STRERROR_BUFFER_SIZE + 1); return buff; } -- 1.8.3.2 -- 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=63469471iu=/4140/ostg.clktrk ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
Re: [Mingw-w64-public] Trunk[r6090] broken on redefinition of 'IID_*'
Le 19/08/2013 09:02, Dongsheng Song a écrit : cauchy@CRM-SYSLOG:~/obj/i686-w64-mingw32-gcc48/mingw-w64-crt$ make make all-am make[1]: Entering directory `/home/cauchy/obj/i686-w64-mingw32-gcc48/mingw-w64-crt' i686-w64-mingw32-gcc -DHAVE_CONFIG_H -I. -I/home/cauchy/vcs/svn/mingw-w64/trunk/mingw-w64-crt -m32 -I/home/cauchy/cross/i686-windows-gcc48/i686-w64-mingw32/include -pipe -std=gnu99 -Wall -Wextra -Wformat -Wstrict-aliasing -Wshadow -Wpacked -Winline -Wimplicit-function-declaration -Wmissing-noreturn -Wmissing-prototypes -g -O2 -MT libsrc/lib32_libuuid_a-uuid.o -MD -MP -MF libsrc/.deps/lib32_libuuid_a-uuid.Tpo -c -o libsrc/lib32_libuuid_a-uuid.o `test -f 'libsrc/uuid.c' || echo '/home/cauchy/vcs/svn/mingw-w64/trunk/mingw-w64-crt/'`libsrc/uuid.c This should be fixed by: diff --git a/mingw-w64-crt/libsrc/uuid.c b/mingw-w64-crt/libsrc/uuid.c index fa9b1e0..ed25459 100644 --- a/mingw-w64-crt/libsrc/uuid.c +++ b/mingw-w64-crt/libsrc/uuid.c @@ -16,15 +16,6 @@ #define INITGUID #include basetyps.h -#include textstor.h -#include shobjidl.h -#include propkey.h -#include isguids.h -#include shlguid.h -#include urlhist.h -#include oleacc.h -#include uiautomation.h - DEFINE_GUID(ARRAYID_PathProperties,0x7ecbba04,0x2d97,0x11cf,0xa2,0x29,0,0xaa,0,0x3d,0x73,0x52); DEFINE_GUID(CATID_Control,0x40fc6ed4,0x2438,0x11cf,0xa3,0xdb,0x8,0,0x36,0xf1,0x25,0x2); DEFINE_GUID(CATID_DocObject,0x40fc6ed8,0x2438,0x11cf,0xa3,0xdb,0x8,0,0x36,0xf1,0x25,0x2); -- Get 100% visibility into Java/.NET code with AppDynamics Lite! It's a free troubleshooting tool designed for production. Get down to code-level detail for bottlenecks, with 2% overhead. Download for free and get started troubleshooting in minutes. http://pubads.g.doubleclick.net/gampad/clk?id=48897031iu=/4140/ostg.clktrk ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
Re: [Mingw-w64-public] [PATCH] EnumResourceLanguages*: add missing declarations
Le 19/08/2013 12:06, Kai Tietz a écrit : Patch is ok. Thanks, Kai Applied as r6097 -- Get 100% visibility into Java/.NET code with AppDynamics Lite! It's a free troubleshooting tool designed for production. Get down to code-level detail for bottlenecks, with 2% overhead. Download for free and get started troubleshooting in minutes. http://pubads.g.doubleclick.net/gampad/clk?id=48897031iu=/4140/ostg.clktrk ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
Re: [Mingw-w64-public] [PATCH 1/2] synchapi.h: APIs are not forbidden on Windows Store
Le 18/08/2013 21:43, Kai Tietz a écrit : 2013/8/15 Rafaël Carré fun...@videolan.org: --- mingw-w64-headers/include/synchapi.h | 5 - 1 file changed, 5 deletions(-) diff --git a/mingw-w64-headers/include/synchapi.h b/mingw-w64-headers/include/synchapi.h index 4e4e2aa..d9a94ed 100755 --- a/mingw-w64-headers/include/synchapi.h +++ b/mingw-w64-headers/include/synchapi.h @@ -14,7 +14,6 @@ extern C { #endif -#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_APP) #define SRWLOCK_INIT RTL_SRWLOCK_INIT #define INIT_ONCE_STATIC_INIT RTL_RUN_ONCE_INIT @@ -99,9 +98,7 @@ extern C { #define OpenSemaphore OpenSemaphoreW #endif #define OpenEvent __MINGW_NAME_AW(OpenEvent) -#endif -#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) typedef VOID (APIENTRY *PTIMERAPCROUTINE) (LPVOID lpArgToCompletionRoutine, DWORD dwTimerLowValue, DWORD dwTimerHighValue); typedef RTL_BARRIER SYNCHRONIZATION_BARRIER; @@ -149,8 +146,6 @@ extern C { #define OpenWaitableTimer OpenWaitableTimerW #endif -#endif - #ifdef __cplusplus } #endif -- 1.8.1.2 Hmm, by what I can find in msdn documentation, this change looks like a bug. Well, it might not be the first time that stuff at msdn is wrong, so maybe somebody else could try to take a look to this, too. Applied as r6086. At some point last month MSDN was indeed reporting incorrectly some APIs Jean-Baptiste reported it to Microsoft after I told him so now it should be alright I guess (until next time..) -- Get 100% visibility into Java/.NET code with AppDynamics Lite! It's a free troubleshooting tool designed for production. Get down to code-level detail for bottlenecks, with 2% overhead. Download for free and get started troubleshooting in minutes. http://pubads.g.doubleclick.net/gampad/clk?id=48897031iu=/4140/ostg.clktrk ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
Re: [Mingw-w64-public] WinRT idl APIs
Le 15/08/2013 15:18, Jean-Baptiste Kempf a écrit : This set of patches implement some of the WinRT idls 0002-0005 applied as r6087 - r6090 -- Get 100% visibility into Java/.NET code with AppDynamics Lite! It's a free troubleshooting tool designed for production. Get down to code-level detail for bottlenecks, with 2% overhead. Download for free and get started troubleshooting in minutes. http://pubads.g.doubleclick.net/gampad/clk?id=48897031iu=/4140/ostg.clktrk ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
[Mingw-w64-public] [PATCH 2/2] More Windows Store forbidden APIs
--- mingw-w64-headers/include/shellapi.h | 4 mingw-w64-headers/include/winbase.h | 18 ++ 2 files changed, 22 insertions(+) diff --git a/mingw-w64-headers/include/shellapi.h b/mingw-w64-headers/include/shellapi.h index 9145f06..050c6ab 100644 --- a/mingw-w64-headers/include/shellapi.h +++ b/mingw-w64-headers/include/shellapi.h @@ -263,6 +263,8 @@ extern C { #define SEE_MASK_FLAG_LOG_USAGE 0x0400 #endif +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) + typedef struct _SHELLEXECUTEINFOA { DWORD cbSize; ULONG fMask; @@ -352,6 +354,8 @@ extern C { SHSTDAPI SHEmptyRecycleBinA(HWND hwnd,LPCSTR pszRootPath,DWORD dwFlags); SHSTDAPI SHEmptyRecycleBinW(HWND hwnd,LPCWSTR pszRootPath,DWORD dwFlags); +#endif /* WINAPI_PARTITION_DESKTOP. */ + typedef struct _NOTIFYICONDATAA { DWORD cbSize; HWND hWnd; diff --git a/mingw-w64-headers/include/winbase.h b/mingw-w64-headers/include/winbase.h index a98b125..0ec9f58 100644 --- a/mingw-w64-headers/include/winbase.h +++ b/mingw-w64-headers/include/winbase.h @@ -1102,6 +1102,7 @@ extern C { WINBASEAPI DWORD WINAPI FormatMessageA(DWORD dwFlags,LPCVOID lpSource,DWORD dwMessageId,DWORD dwLanguageId,LPSTR lpBuffer,DWORD nSize,va_list *Arguments); WINBASEAPI DWORD WINAPI FormatMessageW(DWORD dwFlags,LPCVOID lpSource,DWORD dwMessageId,DWORD dwLanguageId,LPWSTR lpBuffer,DWORD nSize,va_list *Arguments); +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) #ifndef __cplusplus #define GetCurrentTime() GetTickCount() #else @@ -1109,6 +1110,7 @@ extern C { return GetTickCount(); } #endif +#endif #define FORMAT_MESSAGE_ALLOCATE_BUFFER 0x100 #define FORMAT_MESSAGE_IGNORE_INSERTS 0x200 @@ -1289,6 +1291,8 @@ extern C { #define SetFirmwareEnvironmentVariable __MINGW_NAME_AW(SetFirmwareEnvironmentVariable) #define FindResource __MINGW_NAME_AW(FindResource) +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) + WINBASEAPI DWORD WINAPI AddLocalAlternateComputerNameA(LPCSTR lpDnsFQHostname,ULONG ulFlags); WINBASEAPI DWORD WINAPI AddLocalAlternateComputerNameW(LPCWSTR lpDnsFQHostname,ULONG ulFlags); WINBASEAPI WINBOOL WINAPI GetProcessShutdownParameters(LPDWORD lpdwLevel,LPDWORD lpdwFlags); @@ -1309,6 +1313,8 @@ extern C { #define FindResourceEx FindResourceExA #endif +#endif /* WINAPI_PARTITION_DESKTOP. */ + /* available in XP SP3, Vista SP1 and higher */ typedef enum _DEP_SYSTEM_POLICY_TYPE { AlwaysOff = 0, @@ -1344,6 +1350,8 @@ extern C { #define WritePrivateProfileStruct __MINGW_NAME_AW(WritePrivateProfileStruct) #define AddLocalAlternateComputerName __MINGW_NAME_AW(AddLocalAlternateComputerName) +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) + WINBASEAPI WINBOOL WINAPI EnumResourceTypesA(HMODULE hModule,ENUMRESTYPEPROCA lpEnumFunc,LONG_PTR lParam); WINBASEAPI WINBOOL WINAPI EnumResourceTypesW(HMODULE hModule,ENUMRESTYPEPROCW lpEnumFunc,LONG_PTR lParam); WINBASEAPI WINBOOL WINAPI EnumResourceNamesA(HMODULE hModule,LPCSTR lpType,ENUMRESNAMEPROCA lpEnumFunc,LONG_PTR lParam); @@ -1399,6 +1407,8 @@ extern C { #define GetTempFileName GetTempFileNameA #endif +#endif /* WINAPI_PARTITION_DESKTOP. */ + #ifndef RC_INVOKED #define GetSystemWow64Directory __MINGW_NAME_AW(GetSystemWow64Directory) @@ -1642,6 +1652,8 @@ extern C { #define GetFileSecurity GetFileSecurityA #endif +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) + WINBASEAPI WINBOOL WINAPI ReadDirectoryChangesW(HANDLE hDirectory,LPVOID lpBuffer,DWORD nBufferLength,WINBOOL bWatchSubtree,DWORD dwNotifyFilter,LPDWORD lpBytesReturned,LPOVERLAPPED lpOverlapped,LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine); WINBASEAPI WINBOOL WINAPI IsBadReadPtr(CONST VOID *lp,UINT_PTR ucb); WINBASEAPI WINBOOL WINAPI IsBadWritePtr(LPVOID lp,UINT_PTR ucb); @@ -1721,6 +1733,8 @@ extern C { WINADVAPI WINBOOL WINAPI CreateProcessWithTokenW(HANDLE hToken,DWORD dwLogonFlags,LPCWSTR lpApplicationName,LPWSTR lpCommandLine,DWORD dwCreationFlags,LPVOID lpEnvironment,LPCWSTR lpCurrentDirectory,LPSTARTUPINFOW lpStartupInfo,LPPROCESS_INFORMATION lpProcessInformation); WINADVAPI WINBOOL WINAPI IsTokenUntrusted(HANDLE TokenHandle); +#endif /* WINAPI_PARTITION_DESKTOP. */ + typedef WAITORTIMERCALLBACKFUNC WAITORTIMERCALLBACK; WINBASEAPI WINBOOL WINAPI RegisterWaitForSingleObject(PHANDLE phNewWaitObject,HANDLE hObject,WAITORTIMERCALLBACK Callback,PVOID Context,ULONG dwMilliseconds,ULONG dwFlags); @@ -2729,6 +2743,8 @@ WINBASEAPI WINBOOL WINAPI SetProcessWorkingSetSizeEx( DWORD Flags ); +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) + typedef struct _STARTUPINFOEXA { STARTUPINFOA StartupInfo; PPROC_THREAD_ATTRIBUTE_LIST lpAttributeList; @@ -2742,6 +2758,8 @@ typedef struct _STARTUPINFOEXAW { __MINGW_TYPEDEF_AW(STARTUPINFOEX) __MINGW_TYPEDEF_AW(LPSTARTUPINFOEX) +#endif /* WINAPI_PARTITION_DESKTOP. */ + WINBASEAPI HRESULT
[Mingw-w64-public] [PATCH 1/2] synchapi.h: APIs are not forbidden on Windows Store
--- mingw-w64-headers/include/synchapi.h | 5 - 1 file changed, 5 deletions(-) diff --git a/mingw-w64-headers/include/synchapi.h b/mingw-w64-headers/include/synchapi.h index 4e4e2aa..d9a94ed 100755 --- a/mingw-w64-headers/include/synchapi.h +++ b/mingw-w64-headers/include/synchapi.h @@ -14,7 +14,6 @@ extern C { #endif -#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_APP) #define SRWLOCK_INIT RTL_SRWLOCK_INIT #define INIT_ONCE_STATIC_INIT RTL_RUN_ONCE_INIT @@ -99,9 +98,7 @@ extern C { #define OpenSemaphore OpenSemaphoreW #endif #define OpenEvent __MINGW_NAME_AW(OpenEvent) -#endif -#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) typedef VOID (APIENTRY *PTIMERAPCROUTINE) (LPVOID lpArgToCompletionRoutine, DWORD dwTimerLowValue, DWORD dwTimerHighValue); typedef RTL_BARRIER SYNCHRONIZATION_BARRIER; @@ -149,8 +146,6 @@ extern C { #define OpenWaitableTimer OpenWaitableTimerW #endif -#endif - #ifdef __cplusplus } #endif -- 1.8.1.2 -- Get 100% visibility into Java/.NET code with AppDynamics Lite! It's a free troubleshooting tool designed for production. Get down to code-level detail for bottlenecks, with 2% overhead. Download for free and get started troubleshooting in minutes. http://pubads.g.doubleclick.net/gampad/clk?id=48897031iu=/4140/ostg.clktrk ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
Re: [Mingw-w64-public] [RFC] Single filename per line in Makefiles
Hi, Le 02/08/2013 20:59, Derek Buitenhuis a écrit : As it stands right now, the grouping and wrapping of filenames in MinGW-w64's Makefiles makes tracking or viewing changes in version control very very hard, and makes it non-obvious what has changed. I propose that it move to a sorted, single-filename-per-line Makefile style, which will make additions/deletions/changes very easy to understand, and I volunteer to carry out the change if it is agreed upon. Comments, flames, or questions? I would second that, I'm myself culprit of not realigning after the removal/addition of a file to the build rules. Since I spend quite a lot of time reading the code through git log in form of patches (I know subversion users do not do it because svn is very much less efficient for showing single changes), it would be definitely better to have something like: src_libmingwex = \ crt/dllentry.c \ crt/dllmain.c \ etc With this change, patches would only show one single addition/deletion per changed file, and be much more readable (Makefile.am would look better as well IMHO) - Derek -- Get your SQL database under version control now! Version control is standard for application code, but databases havent caught up. So what steps can you take to put your SQL databases under version control? Why should you start doing it? Read more to find out. http://pubads.g.doubleclick.net/gampad/clk?id=49501711iu=/4140/ostg.clktrk ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
Re: [Mingw-w64-public] [PATCH] Remove reference to strnlen from msvcrt.def
Hello, Le 18/07/2013 21:49, Erik van Pienbroek a écrit : Hi, We recently received some bug reports that executables compiled with mingw-w64 couldn't be executed on Windows XP environments. Users would get fatal error messages which indicate that the symbol strnlen couldn't be found in msvcrt.dll (which is correct for Windows XP). I've verified this with Dependency Walker and some binaries indeed were under the assumption that strnlen is part of msvcrt.dll. This is odd as the mingw-w64 crt contains a wrapper implementation for strnlen (in order to fix these Windows XP compatibility issues). So I investigated further and found out that strnlen is still being referenced in the msvcrt.def files. As other wrapped symbols are also commented out in msvcrt.def I got the impression that wrapped symbols should be removed from msvcrt.def. I did this for strnlen in my local test environment and it indeed caused the strnlen in msvcrt.dll dependency to disappear from compiled binaries. Is this patch the correct solution to fixing this issue or do you think the real cause is somewhere else? I will let Kai confirm but your patch looks ok to me! Regards, Erik van Pienbroek -- See everything from the browser to the database with AppDynamics Get end-to-end visibility with application monitoring from AppDynamics Isolate bottlenecks and diagnose root cause in seconds. Start your free trial of AppDynamics Pro today! http://pubads.g.doubleclick.net/gampad/clk?id=48808831iu=/4140/ostg.clktrk ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
Re: [Mingw-w64-public] [PATCH] winbase: define out Virtual* functions for Windows Store apps
Le 11/07/2013 19:01, Kai Tietz a écrit : 2013/7/10 Rafaël Carré fun...@videolan.org: --- mingw-w64-headers/include/winbase.h | 2 ++ 1 file changed, 2 insertions(+) Patch is ok. Please apply. Committed as r5947, thanks -- See everything from the browser to the database with AppDynamics Get end-to-end visibility with application monitoring from AppDynamics Isolate bottlenecks and diagnose root cause in seconds. Start your free trial of AppDynamics Pro today! http://pubads.g.doubleclick.net/gampad/clk?id=48808831iu=/4140/ostg.clktrk ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
[Mingw-w64-public] [PATCH] mstcpip.h, wincrypt.h, ws2tcpip.h : WINAPI_PARTITION_APP fixes
These headers can now be used in Windows Store apps --- mingw-w64-headers/include/mstcpip.h | 4 mingw-w64-headers/include/wincrypt.h | 5 + mingw-w64-headers/include/ws2tcpip.h | 5 + 3 files changed, 14 insertions(+) diff --git a/mingw-w64-headers/include/mstcpip.h b/mingw-w64-headers/include/mstcpip.h index c15c1d7..21c048e 100644 --- a/mingw-w64-headers/include/mstcpip.h +++ b/mingw-w64-headers/include/mstcpip.h @@ -7,6 +7,7 @@ #define _MSTCPIP_ #include _mingw_unicode.h +#include winapifamily.h struct tcp_keepalive { u_long onoff; @@ -95,6 +96,8 @@ typedef struct _SOCKET_SECURITY_SETTINGS_IPSEC { wchar_t AllStrings[]; } SOCKET_SECURITY_SETTINGS_IPSEC; +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) + #define RtlIpv6AddressToString __MINGW_NAME_AW(RtlIpv6AddressToString) #define RtlIpv6AddressToStringEx __MINGW_NAME_AW(RtlIpv6AddressToStringEx) @@ -124,6 +127,7 @@ LONG NTAPI RtlIpv4StringToAddressExW(PCWSTR AddressString, BOOLEAN Strict, IN_AD LONG NTAPI RtlIpv6StringToAddressExA(PCSTR AddressString, IN6_ADDR *Address, PULONG ScopeId, PUSHORT Port); LONG NTAPI RtlIpv6StringToAddressExW(PCWSTR AddressString, IN6_ADDR *Address, PULONG ScopeId, PUSHORT Port); +#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ #endif /*(_WIN32_WINNT = 0x0502)*/ #endif /* _MSTCPIP_ */ diff --git a/mingw-w64-headers/include/wincrypt.h b/mingw-w64-headers/include/wincrypt.h index de80df6..daaaf8b 100644 --- a/mingw-w64-headers/include/wincrypt.h +++ b/mingw-w64-headers/include/wincrypt.h @@ -11,6 +11,7 @@ #include guiddef.h #include bcrypt.h #include ncrypt.h +#include winapifamily.h #ifdef __cplusplus extern C { @@ -4233,6 +4234,7 @@ extern C { WINIMPM WINBOOL WINAPI PFXExportCertStore(HCERTSTORE hStore,CRYPT_DATA_BLOB *pPFX,LPCWSTR szPassword,DWORD dwFlags); +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) #if (_WIN32_WINNT = 0x0600) #define szOID_LOYALTY_OTHER_LOGOTYPE 1.3.6.1.5.5.7.20.1 #define szOID_BACKGROUND_OTHER_LOGOTYPE 1.3.6.1.5.5.7.20.2 @@ -4308,6 +4310,7 @@ typedef WINBOOL ( WINAPI *PFN_CRYPT_VERIFY_ENCODED_SIGNATURE_FUNC )( DWORD cbSignature ); + #define CRYPT_OID_IMPORT_PUBLIC_KEY_INFO_EX2_FUNC CryptDllImportPublicKeyInfoEx2 typedef WINBOOL ( WINAPI *PFN_IMPORT_PUBLIC_KEY_INFO_EX2_FUNC )( @@ -4927,6 +4930,8 @@ WINCRYPT32API WINBOOL WINAPI CryptVerifyTimeStampSignature( ); #endif /*(_WIN32_WINNT = 0x0601)*/ +#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ + #ifdef __cplusplus } #endif diff --git a/mingw-w64-headers/include/ws2tcpip.h b/mingw-w64-headers/include/ws2tcpip.h index 8cbb39f..0f05e76 100644 --- a/mingw-w64-headers/include/ws2tcpip.h +++ b/mingw-w64-headers/include/ws2tcpip.h @@ -10,6 +10,7 @@ #include winsock2.h #include psdk_inc/_ip_mreq1.h +#include winapifamily.h struct ip_mreq_source { struct in_addr imr_multiaddr; @@ -68,6 +69,8 @@ struct ip_msfilter { #define IN6ADDR_ANY_INIT { 0 } #define IN6ADDR_LOOPBACK_INIT { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 } +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) + #ifdef __cplusplus extern C { #endif @@ -175,6 +178,8 @@ C_ASSERT(sizeof(IN6_PKTINFO)==20); #define EAI_NODATA 11004 /* WSANO_DATA */ +#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ + typedef struct addrinfo { int ai_flags; int ai_family; -- 1.8.1.2 -- See everything from the browser to the database with AppDynamics Get end-to-end visibility with application monitoring from AppDynamics Isolate bottlenecks and diagnose root cause in seconds. Start your free trial of AppDynamics Pro today! http://pubads.g.doubleclick.net/gampad/clk?id=48808831iu=/4140/ostg.clktrk ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
[Mingw-w64-public] [PATCH] winbase: define out Virtual* functions for Windows Store apps
--- mingw-w64-headers/include/winbase.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/mingw-w64-headers/include/winbase.h b/mingw-w64-headers/include/winbase.h index b392b11..5f5d87e 100644 --- a/mingw-w64-headers/include/winbase.h +++ b/mingw-w64-headers/include/winbase.h @@ -1165,11 +1165,13 @@ extern C { WINBASEAPI SIZE_T WINAPI LocalShrink(HLOCAL hMem,UINT cbNewSize); WINBASEAPI SIZE_T WINAPI LocalCompact(UINT uMinFree); WINBASEAPI WINBOOL WINAPI FlushInstructionCache(HANDLE hProcess,LPCVOID lpBaseAddress,SIZE_T dwSize); +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) WINBASEAPI LPVOID WINAPI VirtualAlloc(LPVOID lpAddress,SIZE_T dwSize,DWORD flAllocationType,DWORD flProtect); WINBASEAPI WINBOOL WINAPI VirtualFree(LPVOID lpAddress,SIZE_T dwSize,DWORD dwFreeType); WINBASEAPI WINBOOL WINAPI VirtualProtect(LPVOID lpAddress,SIZE_T dwSize,DWORD flNewProtect,PDWORD lpflOldProtect); WINBASEAPI SIZE_T WINAPI VirtualQuery(LPCVOID lpAddress,PMEMORY_BASIC_INFORMATION lpBuffer,SIZE_T dwLength); WINBASEAPI LPVOID WINAPI VirtualAllocEx(HANDLE hProcess,LPVOID lpAddress,SIZE_T dwSize,DWORD flAllocationType,DWORD flProtect); +#endif WINBASEAPI UINT WINAPI GetWriteWatch(DWORD dwFlags,PVOID lpBaseAddress,SIZE_T dwRegionSize,PVOID *lpAddresses,ULONG_PTR *lpdwCount,PULONG lpdwGranularity); WINBASEAPI UINT WINAPI ResetWriteWatch(LPVOID lpBaseAddress,SIZE_T dwRegionSize); WINBASEAPI SIZE_T WINAPI GetLargePageMinimum(VOID); -- 1.8.1.2 -- See everything from the browser to the database with AppDynamics Get end-to-end visibility with application monitoring from AppDynamics Isolate bottlenecks and diagnose root cause in seconds. Start your free trial of AppDynamics Pro today! http://pubads.g.doubleclick.net/gampad/clk?id=48808831iu=/4140/ostg.clktrk ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
Re: [Mingw-w64-public] [PATCH] Fix stray BOOL struct member breaking ObjectiveC
Applied as r5939 with ChangeLog date set to today Le 09/07/2013 16:46, Kai Tietz a écrit : Hi Roland, thanks for the patch. Patch is ok. Please apply. Regards, Kai 2013/7/9 Roland Schwingel rol...@onevision.com: Hi ... Mingw-w64 headers do use WINBOOL instead of BOOL as boolean data type to not conflict with ObjectiveC (GNUStep) BOOL definition. Unfortunately one BOOL slipped in breaking building of GNUStep with current headers. The attached patch fixes this. Roland Changelog: 2013-03-01 Roland Schwingel roland.schwin...@onevision.com * include/wincon.h: Replace BOOL by WINBOOL in struct _CONSOLE_SCREEN_BUFFER_INFOEX. -- See everything from the browser to the database with AppDynamics Get end-to-end visibility with application monitoring from AppDynamics Isolate bottlenecks and diagnose root cause in seconds. Start your free trial of AppDynamics Pro today! http://pubads.g.doubleclick.net/gampad/clk?id=48808831iu=/4140/ostg.clktrk ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
[Mingw-w64-public] [PATCH v2] ___lc_codepage_func: use correct name and use emul only for 32bits msvcrt
based on a patch by Jacek --- mingw-w64-crt/lib32/msvcrt.def.in | 2 +- mingw-w64-crt/misc/btowc.c | 2 +- mingw-w64-crt/misc/lc_locale_func.c | 8 mingw-w64-crt/misc/mb_wc_common.h | 2 +- mingw-w64-crt/misc/mbrtowc.c| 6 +++--- mingw-w64-crt/misc/wcrtomb.c| 4 ++-- mingw-w64-crt/misc/wcstof.c | 2 +- mingw-w64-crt/misc/wcstold.c| 2 +- mingw-w64-crt/misc/wctob.c | 2 +- 9 files changed, 15 insertions(+), 15 deletions(-) diff --git a/mingw-w64-crt/lib32/msvcrt.def.in b/mingw-w64-crt/lib32/msvcrt.def.in index ff352f1..ad8ec29 100644 --- a/mingw-w64-crt/lib32/msvcrt.def.in +++ b/mingw-w64-crt/lib32/msvcrt.def.in @@ -797,7 +797,7 @@ _wcstoi64 _wcstoui64 _wctype _wtof -___lc_codepage_func +___lc_codepage_func DATA ; provided by emu ___lc_collate_cp_func ___lc_handle_func ___mb_cur_max_func diff --git a/mingw-w64-crt/misc/btowc.c b/mingw-w64-crt/misc/btowc.c index aaabc0c..026b491 100644 --- a/mingw-w64-crt/misc/btowc.c +++ b/mingw-w64-crt/misc/btowc.c @@ -19,7 +19,7 @@ wint_t btowc (int c) { unsigned char ch = c; wchar_t wc = WEOF; - MultiByteToWideChar (__lc_codepage_func(), MB_ERR_INVALID_CHARS, + MultiByteToWideChar (___lc_codepage_func(), MB_ERR_INVALID_CHARS, (char*)ch, 1, wc, 1); return wc; } diff --git a/mingw-w64-crt/misc/lc_locale_func.c b/mingw-w64-crt/misc/lc_locale_func.c index 4e0fd02..3aebcdc 100644 --- a/mingw-w64-crt/misc/lc_locale_func.c +++ b/mingw-w64-crt/misc/lc_locale_func.c @@ -6,7 +6,7 @@ #include mb_wc_common.h static unsigned int *msvcrt__lc_codepage; -static unsigned int __cdecl msvcrt__lc_codepage_func(void) +static unsigned int __cdecl msvcrt___lc_codepage_func(void) { return *msvcrt__lc_codepage; } @@ -19,7 +19,7 @@ static unsigned int __cdecl setlocale_codepage_hack(void) } static unsigned int __cdecl init_codepage_func(void); -unsigned int (__cdecl *__MINGW_IMP_SYMBOL(__lc_codepage_func))(void) = init_codepage_func; +unsigned int (__cdecl *__MINGW_IMP_SYMBOL(___lc_codepage_func))(void) = init_codepage_func; static unsigned int __cdecl init_codepage_func(void) { @@ -31,12 +31,12 @@ static unsigned int __cdecl init_codepage_func(void) if(!func) { msvcrt__lc_codepage = (unsigned int*)GetProcAddress(msvcrt, __lc_codepage); if(msvcrt__lc_codepage) -func = msvcrt__lc_codepage_func; +func = msvcrt___lc_codepage_func; } } if(!func) func = setlocale_codepage_hack; -return (__MINGW_IMP_SYMBOL(__lc_codepage_func) = func)(); +return (__MINGW_IMP_SYMBOL(___lc_codepage_func) = func)(); } diff --git a/mingw-w64-crt/misc/mb_wc_common.h b/mingw-w64-crt/misc/mb_wc_common.h index c95243b..5a40013 100644 --- a/mingw-w64-crt/misc/mb_wc_common.h +++ b/mingw-w64-crt/misc/mb_wc_common.h @@ -6,4 +6,4 @@ #include _mingw.h -_CRTIMP unsigned int __cdecl __lc_codepage_func(void); +_CRTIMP unsigned int __cdecl ___lc_codepage_func(void); diff --git a/mingw-w64-crt/misc/mbrtowc.c b/mingw-w64-crt/misc/mbrtowc.c index df4d318..5cd106e 100644 --- a/mingw-w64-crt/misc/mbrtowc.c +++ b/mingw-w64-crt/misc/mbrtowc.c @@ -101,7 +101,7 @@ mbrtowc (wchar_t * __restrict__ pwc, const char * __restrict__ s, wchar_t* dst = pwc ? pwc : byte_bucket; return (size_t) __mbrtowc_cp (dst, s, n, ps ? ps : internal_mbstate, - __lc_codepage_func(), MB_CUR_MAX); + ___lc_codepage_func(), MB_CUR_MAX); } @@ -113,7 +113,7 @@ mbsrtowcs (wchar_t* __restrict__ dst, const char ** __restrict__ src, size_t n = 0; static mbstate_t internal_mbstate = 0; mbstate_t* internal_ps = ps ? ps : internal_mbstate; - const unsigned int cp = __lc_codepage_func(); + const unsigned int cp = ___lc_codepage_func(); const unsigned int mb_max = MB_CUR_MAX; if (src == NULL || *src == NULL) /* undefined behavior */ @@ -156,5 +156,5 @@ mbrlen (const char * __restrict__ s, size_t n, static mbstate_t s_mbstate = 0; wchar_t byte_bucket = 0; return __mbrtowc_cp (byte_bucket, s, n, (ps) ? ps : s_mbstate, - __lc_codepage_func(), MB_CUR_MAX); + ___lc_codepage_func(), MB_CUR_MAX); } diff --git a/mingw-w64-crt/misc/wcrtomb.c b/mingw-w64-crt/misc/wcrtomb.c index aae58ea..299f67b 100644 --- a/mingw-w64-crt/misc/wcrtomb.c +++ b/mingw-w64-crt/misc/wcrtomb.c @@ -49,7 +49,7 @@ wcrtomb (char *dst, wchar_t wc, mbstate_t * __UNUSED_PARAM (ps)) { char byte_bucket [MB_LEN_MAX]; char* tmp_dst = dst ? dst : byte_bucket[0]; - return (size_t)__wcrtomb_cp (tmp_dst, wc, __lc_codepage_func(), + return (size_t)__wcrtomb_cp (tmp_dst, wc, ___lc_codepage_func(), MB_CUR_MAX); } @@ -58,7 +58,7 @@ size_t wcsrtombs (char *dst, const wchar_t **src, size_t len, { int ret = 0; size_t n = 0; - const unsigned int cp =
[Mingw-w64-public] [PATCH v3] ___lc_codepage_func: use correct name and link emul only for 32bits msvcrt
based on a patch by Jacek --- mingw-w64-crt/Makefile.am | 6 -- mingw-w64-crt/lib32/msvcrt.def.in | 2 +- mingw-w64-crt/misc/btowc.c | 2 +- mingw-w64-crt/misc/lc_locale_func.c | 8 mingw-w64-crt/misc/mb_wc_common.h | 2 +- mingw-w64-crt/misc/mbrtowc.c| 6 +++--- mingw-w64-crt/misc/wcrtomb.c| 4 ++-- mingw-w64-crt/misc/wcstof.c | 2 +- mingw-w64-crt/misc/wcstold.c| 2 +- mingw-w64-crt/misc/wctob.c | 2 +- 10 files changed, 19 insertions(+), 17 deletions(-) diff --git a/mingw-w64-crt/Makefile.am b/mingw-w64-crt/Makefile.am index d9cd436..82b478f 100644 --- a/mingw-w64-crt/Makefile.am +++ b/mingw-w64-crt/Makefile.am @@ -119,7 +119,6 @@ src_libws2_32=libsrc/ws2_32.c \ src_msvcrt=\ misc/invalid_parameter_handler.c \ - misc/lc_locale_func.c \ misc/output_format.c \ secapi/_access_s.c \ secapi/_cgets_s.c \ @@ -156,6 +155,9 @@ src_msvcrt=\ secapi/vsprintf_s.c \ secapi/wmemcpy_s.c +src_msvcrt32= + $(src_msvcrt) \ + misc/lc_locale_func.c src_libmingwex=\ crt/dllentry.ccrt/dllmain.c \ @@ -343,7 +345,7 @@ lib32_libkernel32_a_AR = $(DTLIB32) $(AR) $(ARFLAGS) lib32_libkernel32_a_CPPFLAGS=$(CPPFLAGS32) $(extra_include) $(AM_CPPFLAGS) lib32_LIBRARIES += lib32/libmsvcrt.a -lib32_libmsvcrt_a_SOURCES = $(src_msvcrt) lib32/msvcrt.def.in +lib32_libmsvcrt_a_SOURCES = $(src_msvcrt32) lib32/msvcrt.def.in lib32_libmsvcrt_a_AR = $(DTDEF32) lib32/msvcrt.def $(AR) $(ARFLAGS) lib32_libmsvcrt_a_CPPFLAGS=$(CPPFLAGS32) -D__LIBMSVCRT__ $(extra_include) $(sysincludes) EXTRA_lib32_libmsvcrt_a_DEPENDENCIES=lib32/msvcrt.def diff --git a/mingw-w64-crt/lib32/msvcrt.def.in b/mingw-w64-crt/lib32/msvcrt.def.in index ff352f1..ad8ec29 100644 --- a/mingw-w64-crt/lib32/msvcrt.def.in +++ b/mingw-w64-crt/lib32/msvcrt.def.in @@ -797,7 +797,7 @@ _wcstoi64 _wcstoui64 _wctype _wtof -___lc_codepage_func +___lc_codepage_func DATA ; provided by emu ___lc_collate_cp_func ___lc_handle_func ___mb_cur_max_func diff --git a/mingw-w64-crt/misc/btowc.c b/mingw-w64-crt/misc/btowc.c index aaabc0c..026b491 100644 --- a/mingw-w64-crt/misc/btowc.c +++ b/mingw-w64-crt/misc/btowc.c @@ -19,7 +19,7 @@ wint_t btowc (int c) { unsigned char ch = c; wchar_t wc = WEOF; - MultiByteToWideChar (__lc_codepage_func(), MB_ERR_INVALID_CHARS, + MultiByteToWideChar (___lc_codepage_func(), MB_ERR_INVALID_CHARS, (char*)ch, 1, wc, 1); return wc; } diff --git a/mingw-w64-crt/misc/lc_locale_func.c b/mingw-w64-crt/misc/lc_locale_func.c index 4e0fd02..3aebcdc 100644 --- a/mingw-w64-crt/misc/lc_locale_func.c +++ b/mingw-w64-crt/misc/lc_locale_func.c @@ -6,7 +6,7 @@ #include mb_wc_common.h static unsigned int *msvcrt__lc_codepage; -static unsigned int __cdecl msvcrt__lc_codepage_func(void) +static unsigned int __cdecl msvcrt___lc_codepage_func(void) { return *msvcrt__lc_codepage; } @@ -19,7 +19,7 @@ static unsigned int __cdecl setlocale_codepage_hack(void) } static unsigned int __cdecl init_codepage_func(void); -unsigned int (__cdecl *__MINGW_IMP_SYMBOL(__lc_codepage_func))(void) = init_codepage_func; +unsigned int (__cdecl *__MINGW_IMP_SYMBOL(___lc_codepage_func))(void) = init_codepage_func; static unsigned int __cdecl init_codepage_func(void) { @@ -31,12 +31,12 @@ static unsigned int __cdecl init_codepage_func(void) if(!func) { msvcrt__lc_codepage = (unsigned int*)GetProcAddress(msvcrt, __lc_codepage); if(msvcrt__lc_codepage) -func = msvcrt__lc_codepage_func; +func = msvcrt___lc_codepage_func; } } if(!func) func = setlocale_codepage_hack; -return (__MINGW_IMP_SYMBOL(__lc_codepage_func) = func)(); +return (__MINGW_IMP_SYMBOL(___lc_codepage_func) = func)(); } diff --git a/mingw-w64-crt/misc/mb_wc_common.h b/mingw-w64-crt/misc/mb_wc_common.h index c95243b..5a40013 100644 --- a/mingw-w64-crt/misc/mb_wc_common.h +++ b/mingw-w64-crt/misc/mb_wc_common.h @@ -6,4 +6,4 @@ #include _mingw.h -_CRTIMP unsigned int __cdecl __lc_codepage_func(void); +_CRTIMP unsigned int __cdecl ___lc_codepage_func(void); diff --git a/mingw-w64-crt/misc/mbrtowc.c b/mingw-w64-crt/misc/mbrtowc.c index df4d318..5cd106e 100644 --- a/mingw-w64-crt/misc/mbrtowc.c +++ b/mingw-w64-crt/misc/mbrtowc.c @@ -101,7 +101,7 @@ mbrtowc (wchar_t * __restrict__ pwc, const char * __restrict__ s, wchar_t* dst = pwc ? pwc : byte_bucket; return (size_t) __mbrtowc_cp (dst, s, n, ps ? ps : internal_mbstate, - __lc_codepage_func(), MB_CUR_MAX); + ___lc_codepage_func(), MB_CUR_MAX); } @@ -113,7 +113,7 @@ mbsrtowcs (wchar_t* __restrict__ dst, const char ** __restrict__ src, size_t n = 0; static mbstate_t internal_mbstate = 0; mbstate_t* internal_ps = ps ? ps : internal_mbstate; - const unsigned int cp = __lc_codepage_func(); + const
Re: [Mingw-w64-public] [PATCH] ___lc_codepage_func: use correct name and export from all versions of MSVCRT
Le 27/06/2013 15:14, Jacek Caban a écrit : Hi Rafaël, On 06/26/13 22:53, Rafaël Carré wrote: based on a patch by Jacek Thanks for taking care of this! --- mingw-w64-crt/def-include/msvcrt-common.def.in | 2 ++ mingw-w64-crt/lib32/msvcrt.def.in | 1 - mingw-w64-crt/lib64/msvcrt.def.in | 1 - I don't think we want to move it to msvcrt-common.def.in. The point is that, if plain msvcrt.dll is used, we want our emul code to take care of providing it. If other msvcrXX.dll is used, then we should use it from importlib. Also note that msvcrXX.dll importlibs already contain entries for ___lc_codepage_func. IMO we should just remove it from msvcrt.def.in. Sorry, I hadn't noticed it in msvcrXX.def. However ___lc_codepage_func seems to be also present in msvcrt.dll so why do we need emul? Apparently the emulation crashes on x64 but I couldn't debug it :/ Thanks, Jacek -- This SF.net email is sponsored by Windows: Build for Windows Store. http://p.sf.net/sfu/windows-dev2dev ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
Re: [Mingw-w64-public] [PATCH] ___lc_codepage_func: use correct name and export from all versions of MSVCRT
Le 27/06/2013 17:17, Earnie Boyd a écrit : On Thu, Jun 27, 2013 at 10:21 AM, Rafaël Carré wrote: However ___lc_codepage_func seems to be also present in msvcrt.dll so why do we need emul? That depends on the version of MSVCRT.DLL on the users system. It is emulated to avoid conflicts at runtime. That's what I am saying: it is always present. -- This SF.net email is sponsored by Windows: Build for Windows Store. http://p.sf.net/sfu/windows-dev2dev ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
Re: [Mingw-w64-public] [PATCH] ___lc_codepage_func: use correct name and export from all versions of MSVCRT
Le 27/06/2013 18:33, Kai Tietz a écrit : 2013/6/27 Jacek Caban ja...@codeweavers.com: On 06/27/13 18:11, Rafaël Carré wrote: Le 27/06/2013 17:17, Earnie Boyd a écrit : On Thu, Jun 27, 2013 at 10:21 AM, Rafaël Carré wrote: However ___lc_codepage_func seems to be also present in msvcrt.dll so why do we need emul? That depends on the version of MSVCRT.DLL on the users system. It is emulated to avoid conflicts at runtime. That's what I am saying: it is always present. It seems like it was introduced for win2k: http://sourceforge.net/mailarchive/forum.php?thread_name=AANLkTin3%3DFSgfsahb5vd78gM_y47KEtijfSBdCeDWBB7%40mail.gmail.comforum_name=mingw-w64-public Time to drop its support? Jacek Hmm, well, I know we still have some people at least expecting support for special craftet applications. Does this emulation-code really causes any major penalities for us? My 5 cents would go for keeping support here for w2k, so that at least startup (and some internal code) works still without issues for it. We should add a comment to it, which explict states that this code is w2k only, and therefore might get deprecated in future. Kai Here is a crashing sample with x64 target: int main(void) { unsigned int __cdecl ___lc_codepage_func(); return ___lc_codepage_func(); } -- This SF.net email is sponsored by Windows: Build for Windows Store. http://p.sf.net/sfu/windows-dev2dev ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
[Mingw-w64-public] [PATCH] ___lc_codepage_func: use correct name and export from all versions of MSVCRT
based on a patch by Jacek --- mingw-w64-crt/def-include/msvcrt-common.def.in | 2 ++ mingw-w64-crt/lib32/msvcrt.def.in | 1 - mingw-w64-crt/lib64/msvcrt.def.in | 1 - mingw-w64-crt/misc/btowc.c | 2 +- mingw-w64-crt/misc/lc_locale_func.c| 8 mingw-w64-crt/misc/mb_wc_common.h | 2 +- mingw-w64-crt/misc/mbrtowc.c | 6 +++--- mingw-w64-crt/misc/wcrtomb.c | 4 ++-- mingw-w64-crt/misc/wcstof.c| 2 +- mingw-w64-crt/misc/wcstold.c | 2 +- mingw-w64-crt/misc/wctob.c | 2 +- 11 files changed, 16 insertions(+), 16 deletions(-) diff --git a/mingw-w64-crt/def-include/msvcrt-common.def.in b/mingw-w64-crt/def-include/msvcrt-common.def.in index 76e1fa3..ea36b84 100644 --- a/mingw-w64-crt/def-include/msvcrt-common.def.in +++ b/mingw-w64-crt/def-include/msvcrt-common.def.in @@ -133,3 +133,5 @@ ADD_UNDERSCORE(timezone) ADD_UNDERSCORE(tzname) longjmp DATA + +___lc_codepage_func diff --git a/mingw-w64-crt/lib32/msvcrt.def.in b/mingw-w64-crt/lib32/msvcrt.def.in index ff352f1..5859f69 100644 --- a/mingw-w64-crt/lib32/msvcrt.def.in +++ b/mingw-w64-crt/lib32/msvcrt.def.in @@ -797,7 +797,6 @@ _wcstoi64 _wcstoui64 _wctype _wtof -___lc_codepage_func ___lc_collate_cp_func ___lc_handle_func ___mb_cur_max_func diff --git a/mingw-w64-crt/lib64/msvcrt.def.in b/mingw-w64-crt/lib64/msvcrt.def.in index 14f6083..a7e4084 100644 --- a/mingw-w64-crt/lib64/msvcrt.def.in +++ b/mingw-w64-crt/lib64/msvcrt.def.in @@ -135,7 +135,6 @@ __RTCastToVoid __RTDynamicCast __RTtypeid __STRINGTOLD -___lc_codepage_func ___lc_collate_cp_func ___lc_handle_func ___mb_cur_max_func diff --git a/mingw-w64-crt/misc/btowc.c b/mingw-w64-crt/misc/btowc.c index aaabc0c..026b491 100644 --- a/mingw-w64-crt/misc/btowc.c +++ b/mingw-w64-crt/misc/btowc.c @@ -19,7 +19,7 @@ wint_t btowc (int c) { unsigned char ch = c; wchar_t wc = WEOF; - MultiByteToWideChar (__lc_codepage_func(), MB_ERR_INVALID_CHARS, + MultiByteToWideChar (___lc_codepage_func(), MB_ERR_INVALID_CHARS, (char*)ch, 1, wc, 1); return wc; } diff --git a/mingw-w64-crt/misc/lc_locale_func.c b/mingw-w64-crt/misc/lc_locale_func.c index 4e0fd02..3aebcdc 100644 --- a/mingw-w64-crt/misc/lc_locale_func.c +++ b/mingw-w64-crt/misc/lc_locale_func.c @@ -6,7 +6,7 @@ #include mb_wc_common.h static unsigned int *msvcrt__lc_codepage; -static unsigned int __cdecl msvcrt__lc_codepage_func(void) +static unsigned int __cdecl msvcrt___lc_codepage_func(void) { return *msvcrt__lc_codepage; } @@ -19,7 +19,7 @@ static unsigned int __cdecl setlocale_codepage_hack(void) } static unsigned int __cdecl init_codepage_func(void); -unsigned int (__cdecl *__MINGW_IMP_SYMBOL(__lc_codepage_func))(void) = init_codepage_func; +unsigned int (__cdecl *__MINGW_IMP_SYMBOL(___lc_codepage_func))(void) = init_codepage_func; static unsigned int __cdecl init_codepage_func(void) { @@ -31,12 +31,12 @@ static unsigned int __cdecl init_codepage_func(void) if(!func) { msvcrt__lc_codepage = (unsigned int*)GetProcAddress(msvcrt, __lc_codepage); if(msvcrt__lc_codepage) -func = msvcrt__lc_codepage_func; +func = msvcrt___lc_codepage_func; } } if(!func) func = setlocale_codepage_hack; -return (__MINGW_IMP_SYMBOL(__lc_codepage_func) = func)(); +return (__MINGW_IMP_SYMBOL(___lc_codepage_func) = func)(); } diff --git a/mingw-w64-crt/misc/mb_wc_common.h b/mingw-w64-crt/misc/mb_wc_common.h index c95243b..5a40013 100644 --- a/mingw-w64-crt/misc/mb_wc_common.h +++ b/mingw-w64-crt/misc/mb_wc_common.h @@ -6,4 +6,4 @@ #include _mingw.h -_CRTIMP unsigned int __cdecl __lc_codepage_func(void); +_CRTIMP unsigned int __cdecl ___lc_codepage_func(void); diff --git a/mingw-w64-crt/misc/mbrtowc.c b/mingw-w64-crt/misc/mbrtowc.c index df4d318..5cd106e 100644 --- a/mingw-w64-crt/misc/mbrtowc.c +++ b/mingw-w64-crt/misc/mbrtowc.c @@ -101,7 +101,7 @@ mbrtowc (wchar_t * __restrict__ pwc, const char * __restrict__ s, wchar_t* dst = pwc ? pwc : byte_bucket; return (size_t) __mbrtowc_cp (dst, s, n, ps ? ps : internal_mbstate, - __lc_codepage_func(), MB_CUR_MAX); + ___lc_codepage_func(), MB_CUR_MAX); } @@ -113,7 +113,7 @@ mbsrtowcs (wchar_t* __restrict__ dst, const char ** __restrict__ src, size_t n = 0; static mbstate_t internal_mbstate = 0; mbstate_t* internal_ps = ps ? ps : internal_mbstate; - const unsigned int cp = __lc_codepage_func(); + const unsigned int cp = ___lc_codepage_func(); const unsigned int mb_max = MB_CUR_MAX; if (src == NULL || *src == NULL) /* undefined behavior */ @@ -156,5 +156,5 @@ mbrlen (const char * __restrict__ s, size_t n, static mbstate_t s_mbstate = 0; wchar_t byte_bucket =
[Mingw-w64-public] [PATCH] x64 msvcrt doesn't provide _{get, set}_output_format
--- mingw-w64-crt/lib64/msvcrt.def.in | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mingw-w64-crt/lib64/msvcrt.def.in b/mingw-w64-crt/lib64/msvcrt.def.in index b678a89..14f6083 100644 --- a/mingw-w64-crt/lib64/msvcrt.def.in +++ b/mingw-w64-crt/lib64/msvcrt.def.in @@ -338,7 +338,7 @@ _gcvt _gcvt_s _get_heap_handle _get_osfhandle -_get_output_format +;_get_output_format provided by emu _get_sbh_threshold _getch _getche @@ -684,7 +684,7 @@ _searchenv _searchenv_s _set_error_mode _set_sbh_threshold -_set_output_format +; _set_output_format provided by emu _seterrormode _setjmp _setjmpex -- 1.8.1.2 -- This SF.net email is sponsored by Windows: Build for Windows Store. http://p.sf.net/sfu/windows-dev2dev ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
Re: [Mingw-w64-public] [PATCH] x64 msvcrt doesn't provide _{get, set}_output_format
Le 21/06/2013 17:16, Kai Tietz a écrit : 2013/6/21 Rafaël Carré fun...@videolan.org: --- mingw-w64-crt/lib64/msvcrt.def.in | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mingw-w64-crt/lib64/msvcrt.def.in b/mingw-w64-crt/lib64/msvcrt.def.in index b678a89..14f6083 100644 --- a/mingw-w64-crt/lib64/msvcrt.def.in +++ b/mingw-w64-crt/lib64/msvcrt.def.in @@ -338,7 +338,7 @@ _gcvt _gcvt_s _get_heap_handle _get_osfhandle -_get_output_format +;_get_output_format provided by emu _get_sbh_threshold _getch _getche @@ -684,7 +684,7 @@ _searchenv _searchenv_s _set_error_mode _set_sbh_threshold -_set_output_format +; _set_output_format provided by emu _seterrormode _setjmp _setjmpex -- 1.8.1.2 Patch is ok. Please apply. Thanks, Kai Applied as r5915 -- This SF.net email is sponsored by Windows: Build for Windows Store. http://p.sf.net/sfu/windows-dev2dev ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
[Mingw-w64-public] [PATCH] Make dxva2api.h compilable without d3d9.h
--- mingw-w64-headers/include/dxva2api.h | 10 +- mingw-w64-headers/include/dxva2api.idl | 8 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/mingw-w64-headers/include/dxva2api.h b/mingw-w64-headers/include/dxva2api.h index 3ab4842..c75474e 100644 --- a/mingw-w64-headers/include/dxva2api.h +++ b/mingw-w64-headers/include/dxva2api.h @@ -1,4 +1,4 @@ -/*** Autogenerated by WIDL 1.5.25 from include/dxva2api.idl - Do not edit ***/ +/*** Autogenerated by WIDL 1.5.19 from include/dxva2api.idl - Do not edit ***/ #ifndef __REQUIRED_RPCNDR_H_VERSION__ #define __REQUIRED_RPCNDR_H_VERSION__ 475 @@ -278,6 +278,7 @@ typedef struct _DXVA2_ValueRange { DXVA2_Fixed32 StepSize; } DXVA2_ValueRange; +#ifdef _D3D9_H typedef struct _DXVA2_VideoDesc { UINT SampleWidth; UINT SampleHeight; @@ -288,6 +289,7 @@ typedef struct _DXVA2_VideoDesc { UINT UABProtectionLevel; UINT Reserved; } DXVA2_VideoDesc; +#endif /* DeviceCaps DXVA2_VPDev_EmulatedDXVA1 @@ -357,6 +359,7 @@ typedef struct _DXVA2_VideoProcessBltParams { DWORDDestData; } DXVA2_VideoProcessBltParams; +#ifdef _D3D9_H typedef struct _DXVA2_VideoProcessorCaps { UINTDeviceCaps; D3DPOOL InputPool; @@ -369,6 +372,7 @@ typedef struct _DXVA2_VideoProcessorCaps { UINTNoiseFilterTechnology; UINTDetailFilterTechnology; } DXVA2_VideoProcessorCaps; +#endif /* SampleData DXVA2_SampleData_RFF @@ -376,6 +380,7 @@ DXVA2_SampleData_TFF DXVA2_SampleData_RFF_TFF_Present */ +#ifdef _D3D9_H typedef struct _DXVA2_VideoSample { REFERENCE_TIME Start; REFERENCE_TIME End; @@ -387,6 +392,7 @@ typedef struct _DXVA2_VideoSample { DXVA2_Fixed32PlanarAlpha; DWORDSampleData; } DXVA2_VideoSample; +#endif /* Constants */ @@ -428,6 +434,7 @@ __forceinline DXVA2_Fixed32 DXVA2FloatToFixed (const float f) { return f32; } +#ifdef _D3D9_H HRESULT WINAPI DXVA2CreateDirect3DDeviceManager9(UINT *pResetToken,IDirect3DDeviceManager9 **ppDXVAManager); HRESULT WINAPI DXVA2CreateVideoService(IDirect3DDevice9 *pDD,REFIID riid,void **ppService); /* @@ -726,6 +733,7 @@ DECLARE_INTERFACE_(IDirectXVideoDecoderService,IDirectXVideoAccelerationService) END_INTERFACE }; +#endif #ifdef COBJMACROS #define IDirectXVideoDecoderService_QueryInterface(This,riid,ppvObject) (This)-lpVtbl-QueryInterface(This,riid,ppvObject) #define IDirectXVideoDecoderService_AddRef(This) (This)-lpVtbl-AddRef(This) diff --git a/mingw-w64-headers/include/dxva2api.idl b/mingw-w64-headers/include/dxva2api.idl index c0fd3b0..038d6b6 100644 --- a/mingw-w64-headers/include/dxva2api.idl +++ b/mingw-w64-headers/include/dxva2api.idl @@ -257,6 +257,7 @@ cpp_quote( DXVA2_Fixed32 DefaultValue;) cpp_quote( DXVA2_Fixed32 StepSize;) cpp_quote(} DXVA2_ValueRange;) cpp_quote() +cpp_quote(#ifdef _D3D9_H) cpp_quote(typedef struct _DXVA2_VideoDesc {) cpp_quote( UINT SampleWidth;) cpp_quote( UINT SampleHeight;) @@ -267,6 +268,7 @@ cpp_quote( DXVA2_Frequency OutputFrameFreq;) cpp_quote( UINT UABProtectionLevel;) cpp_quote( UINT Reserved;) cpp_quote(} DXVA2_VideoDesc;) +cpp_quote(#endif) cpp_quote() cpp_quote(/* DeviceCaps) cpp_quote(DXVA2_VPDev_EmulatedDXVA1) @@ -336,6 +338,7 @@ cpp_quote( DXVA2_FilterValues DetailFilterChroma;) cpp_quote( DWORDDestData;) cpp_quote(} DXVA2_VideoProcessBltParams;) cpp_quote() +cpp_quote(#ifdef _D3D9_H) cpp_quote(typedef struct _DXVA2_VideoProcessorCaps {) cpp_quote( UINTDeviceCaps;) cpp_quote( D3DPOOL InputPool;) @@ -348,6 +351,7 @@ cpp_quote( UINTVideoProcessorOperations;) cpp_quote( UINTNoiseFilterTechnology;) cpp_quote( UINTDetailFilterTechnology;) cpp_quote(} DXVA2_VideoProcessorCaps;) +cpp_quote(#endif) cpp_quote() cpp_quote(/* SampleData) cpp_quote(DXVA2_SampleData_RFF) @@ -355,6 +359,7 @@ cpp_quote(DXVA2_SampleData_TFF) cpp_quote(DXVA2_SampleData_RFF_TFF_Present) cpp_quote(*/) cpp_quote() +cpp_quote(#ifdef _D3D9_H) cpp_quote(typedef struct _DXVA2_VideoSample {) cpp_quote( REFERENCE_TIME Start;) cpp_quote( REFERENCE_TIME End;) @@ -366,6 +371,7 @@ cpp_quote( DXVA2_AYUVSample8Pal[16];) cpp_quote( DXVA2_Fixed32PlanarAlpha;) cpp_quote( DWORDSampleData;) cpp_quote(} DXVA2_VideoSample;) +cpp_quote(#endif) cpp_quote() cpp_quote(/* Constants */) cpp_quote() @@ -407,6 +413,7 @@ cpp_quote( f32.Fraction = ((ULONG) (f * (1 16))) 0x;) cpp_quote( return f32;) cpp_quote(}) cpp_quote() +cpp_quote(#ifdef _D3D9_H) cpp_quote(HRESULT WINAPI DXVA2CreateDirect3DDeviceManager9(UINT *pResetToken,IDirect3DDeviceManager9 **ppDXVAManager);) cpp_quote(HRESULT WINAPI DXVA2CreateVideoService(IDirect3DDevice9 *pDD,REFIID
[Mingw-w64-public] [PATCH 1/2] Implement libruntimeobject.a with a linker script
Rename current runtimeobject to api-ms-win-core-winrt-string-l1-1-0 We will INPUT() for other libs when they are added --- mingw-w64-crt/Makefile.am | 4 +-- mingw-w64-crt/Makefile.in | 4 ++- .../lib32/api-ms-win-core-winrt-string-l1-1-0.def | 25 +++ mingw-w64-crt/lib32/libruntimeobject.a | 1 + mingw-w64-crt/lib32/runtimeobject.def | 25 --- .../lib64/api-ms-win-core-winrt-string-l1-1-0.def | 29 ++ mingw-w64-crt/lib64/libruntimeobject.a | 1 + mingw-w64-crt/lib64/runtimeobject.def | 29 -- 8 files changed, 61 insertions(+), 57 deletions(-) create mode 100644 mingw-w64-crt/lib32/api-ms-win-core-winrt-string-l1-1-0.def create mode 100644 mingw-w64-crt/lib32/libruntimeobject.a delete mode 100644 mingw-w64-crt/lib32/runtimeobject.def create mode 100644 mingw-w64-crt/lib64/api-ms-win-core-winrt-string-l1-1-0.def create mode 100644 mingw-w64-crt/lib64/libruntimeobject.a delete mode 100644 mingw-w64-crt/lib64/runtimeobject.def diff --git a/mingw-w64-crt/Makefile.am b/mingw-w64-crt/Makefile.am index 71c9f15..af5db9f 100644 --- a/mingw-w64-crt/Makefile.am +++ b/mingw-w64-crt/Makefile.am @@ -543,7 +543,7 @@ lib32_DATA = \ lib32/libd3dx10.a lib32/libd3dx11.a lib32/libd3dcsxd.a \ lib32/libd3dcompiler.alib32/libwinhttp.alib32/libmsvcr110.a \ lib32/libdevmgr.a lib32/libdevobj.a lib32/libdevrtl.a\ - lib32/libruntimeobject.a + lib32/libapi-ms-win-core-winrt-string-l1-1-0.a lib32/libruntimeobject.a if ! W32API lib32_DATA += lib32/libglut.a @@ -1045,7 +1045,7 @@ lib64_DATA = \ lib64/libxapofx.a lib64/libx3daudio.a lib64/libd3dx9.a \ lib64/libd3dx10.a lib64/libd3dx11.a lib64/libd3dcsxd.a \ lib64/libd3dcompiler.alib64/libwinhttp.alib64/libmsvcr110.a \ - lib64/libruntimeobject.a + lib64/libapi-ms-win-core-winrt-string-l1-1-0.a lib64/libruntimeobject.a lib64/libcrtdll.a lib64/libmsvcrt.a lib64/libmsvcr80.a: lib64/lib%.a: lib64/%.def $(DTDEF64) $ --dllname $*.dll diff --git a/mingw-w64-crt/Makefile.in b/mingw-w64-crt/Makefile.in index e014149..39ad3d5 100644 --- a/mingw-w64-crt/Makefile.in +++ b/mingw-w64-crt/Makefile.in @@ -4151,6 +4151,7 @@ src_intrincs32 = \ @LIB32_TRUE@ lib32/libd3dcompiler.a lib32/libwinhttp.a \ @LIB32_TRUE@ lib32/libmsvcr110.a lib32/libdevmgr.a \ @LIB32_TRUE@ lib32/libdevobj.a lib32/libdevrtl.a \ +@LIB32_TRUE@ lib32/libapi-ms-win-core-winrt-string-l1-1-0.a lib32/libruntimeobject.a \ @LIB32_TRUE@ $(am__append_4) # End 32-bit runtime @@ -4526,7 +4527,8 @@ src_intrincs32 = \ @LIB64_TRUE@ lib64/libxinput.a lib64/libxaudio.a lib64/libxaudiod.a \ @LIB64_TRUE@ lib64/libxapofx.a lib64/libx3daudio.a lib64/libd3dx9.a \ @LIB64_TRUE@ lib64/libd3dx10.a lib64/libd3dx11.a lib64/libd3dcsxd.a \ -@LIB64_TRUE@ lib64/libd3dcompiler.alib64/libwinhttp.a lib64/libmsvcr110.a +@LIB64_TRUE@ lib64/libd3dcompiler.alib64/libwinhttp.a lib64/libmsvcr110.a \ +@LIB64_TRUE@ lib64/libapi-ms-win-core-winrt-string-l1-1-0.a lib64/libruntimeobject.a # Don't compile these, but install as is: diff --git a/mingw-w64-crt/lib32/api-ms-win-core-winrt-string-l1-1-0.def b/mingw-w64-crt/lib32/api-ms-win-core-winrt-string-l1-1-0.def new file mode 100644 index 000..c49fc51 --- /dev/null +++ b/mingw-w64-crt/lib32/api-ms-win-core-winrt-string-l1-1-0.def @@ -0,0 +1,25 @@ +LIBRARY api-ms-win-core-winrt-string-l1-1-0.dll +EXPORTS +HSTRING_UserFree@8 +HSTRING_UserMarshal@12 +HSTRING_UserSize@12 +HSTRING_UserUnmarshal@12 +WindowsCompareStringOrdinal@12 +WindowsConcatString@12 +WindowsCreateString@12 +WindowsCreateStringReference@16 +WindowsDeleteString@4 +WindowsDeleteStringBuffer@4 +WindowsDuplicateString@8 +WindowsGetStringLen@4 +WindowsGetStringRawBuffer@8 +WindowsInspectString@24 +WindowsIsStringEmpty@4 +WindowsPreallocateStringBuffer@12 +WindowsPromoteStringBuffer@8 +WindowsReplaceString@16 +WindowsStringHasEmbeddedNull@8 +WindowsSubstring@12 +WindowsSubstringWithSpecifiedLength@16 +WindowsTrimStringEnd@12 +WindowsTrimStringStart@12 diff --git a/mingw-w64-crt/lib32/libruntimeobject.a b/mingw-w64-crt/lib32/libruntimeobject.a new file mode 100644 index 000..8501a16 --- /dev/null +++ b/mingw-w64-crt/lib32/libruntimeobject.a @@ -0,0 +1 @@ +INPUT(libapi-ms-win-core-winrt-string-l1-1-0.a) diff --git a/mingw-w64-crt/lib32/runtimeobject.def b/mingw-w64-crt/lib32/runtimeobject.def deleted file mode 100644 index c49fc51..000 --- a/mingw-w64-crt/lib32/runtimeobject.def +++ /dev/null @@ -1,25 +0,0 @@ -LIBRARY api-ms-win-core-winrt-string-l1-1-0.dll -EXPORTS -HSTRING_UserFree@8 -HSTRING_UserMarshal@12 -HSTRING_UserSize@12 -HSTRING_UserUnmarshal@12 -WindowsCompareStringOrdinal@12 -WindowsConcatString@12
Re: [Mingw-w64-public] [PATCH 2/2] Add roapi.h and api-ms-win-core-winrt-l1-1-0.dll imports
Le 08/06/2013 21:11, Kai Tietz a écrit : Patch is ok. the ro-part need some more love, but as starting point Yes this is only a starting point, missing e.g. roerrorapi.h / winrt.h patch is ok. Applied both patches as r5884 and r5885 Thanks, Kai -- How ServiceNow helps IT people transform IT departments: 1. A cloud service to automate IT design, transition and operations 2. Dashboards that offer high-level views of enterprise services 3. A single system of record for all IT processes http://p.sf.net/sfu/servicenow-d2d-j ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
[Mingw-w64-public] [PATCH] Implement libruntimeobject.a with a linker script
Rename current runtimeobject to api-ms-win-core-winrt-string-l1-1-0 We will INPUT() for other libs when they are added --- Using forwarders might have been an option but I failed to use them. mingw-w64-crt/Makefile.am | 4 ++-- mingw-w64-crt/Makefile.in | 4 +++- .../{runtimeobject.def = api-ms-win-core-winrt-string-l1-1-0.def}| 0 .../{runtimeobject.def = api-ms-win-core-winrt-string-l1-1-0.def}| 0 4 files changed, 5 insertions(+), 3 deletions(-) rename mingw-w64-crt/lib32/{runtimeobject.def = api-ms-win-core-winrt-string-l1-1-0.def} (100%) rename mingw-w64-crt/lib64/{runtimeobject.def = api-ms-win-core-winrt-string-l1-1-0.def} (100%) diff --git a/mingw-w64-crt/Makefile.am b/mingw-w64-crt/Makefile.am index 71c9f15..af5db9f 100644 --- a/mingw-w64-crt/Makefile.am +++ b/mingw-w64-crt/Makefile.am @@ -543,7 +543,7 @@ lib32_DATA = \ lib32/libd3dx10.a lib32/libd3dx11.a lib32/libd3dcsxd.a \ lib32/libd3dcompiler.alib32/libwinhttp.alib32/libmsvcr110.a \ lib32/libdevmgr.a lib32/libdevobj.a lib32/libdevrtl.a\ - lib32/libruntimeobject.a + lib32/libapi-ms-win-core-winrt-string-l1-1-0.a lib32/libruntimeobject.a if ! W32API lib32_DATA += lib32/libglut.a @@ -1045,7 +1045,7 @@ lib64_DATA = \ lib64/libxapofx.a lib64/libx3daudio.a lib64/libd3dx9.a \ lib64/libd3dx10.a lib64/libd3dx11.a lib64/libd3dcsxd.a \ lib64/libd3dcompiler.alib64/libwinhttp.alib64/libmsvcr110.a \ - lib64/libruntimeobject.a + lib64/libapi-ms-win-core-winrt-string-l1-1-0.a lib64/libruntimeobject.a lib64/libcrtdll.a lib64/libmsvcrt.a lib64/libmsvcr80.a: lib64/lib%.a: lib64/%.def $(DTDEF64) $ --dllname $*.dll diff --git a/mingw-w64-crt/Makefile.in b/mingw-w64-crt/Makefile.in index e014149..39ad3d5 100644 --- a/mingw-w64-crt/Makefile.in +++ b/mingw-w64-crt/Makefile.in @@ -4151,6 +4151,7 @@ src_intrincs32 = \ @LIB32_TRUE@ lib32/libd3dcompiler.a lib32/libwinhttp.a \ @LIB32_TRUE@ lib32/libmsvcr110.a lib32/libdevmgr.a \ @LIB32_TRUE@ lib32/libdevobj.a lib32/libdevrtl.a \ +@LIB32_TRUE@ lib32/libapi-ms-win-core-winrt-string-l1-1-0.a lib32/libruntimeobject.a \ @LIB32_TRUE@ $(am__append_4) # End 32-bit runtime @@ -4526,7 +4527,8 @@ src_intrincs32 = \ @LIB64_TRUE@ lib64/libxinput.a lib64/libxaudio.a lib64/libxaudiod.a \ @LIB64_TRUE@ lib64/libxapofx.a lib64/libx3daudio.a lib64/libd3dx9.a \ @LIB64_TRUE@ lib64/libd3dx10.a lib64/libd3dx11.a lib64/libd3dcsxd.a \ -@LIB64_TRUE@ lib64/libd3dcompiler.alib64/libwinhttp.a lib64/libmsvcr110.a +@LIB64_TRUE@ lib64/libd3dcompiler.alib64/libwinhttp.a lib64/libmsvcr110.a \ +@LIB64_TRUE@ lib64/libapi-ms-win-core-winrt-string-l1-1-0.a lib64/libruntimeobject.a # Don't compile these, but install as is: diff --git a/mingw-w64-crt/lib32/runtimeobject.def b/mingw-w64-crt/lib32/api-ms-win-core-winrt-string-l1-1-0.def similarity index 100% rename from mingw-w64-crt/lib32/runtimeobject.def rename to mingw-w64-crt/lib32/api-ms-win-core-winrt-string-l1-1-0.def diff --git a/mingw-w64-crt/lib64/runtimeobject.def b/mingw-w64-crt/lib64/api-ms-win-core-winrt-string-l1-1-0.def similarity index 100% rename from mingw-w64-crt/lib64/runtimeobject.def rename to mingw-w64-crt/lib64/api-ms-win-core-winrt-string-l1-1-0.def -- 1.8.1.2 -- How ServiceNow helps IT people transform IT departments: 1. A cloud service to automate IT design, transition and operations 2. Dashboards that offer high-level views of enterprise services 3. A single system of record for all IT processes http://p.sf.net/sfu/servicenow-d2d-j ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
[Mingw-w64-public] [PATCH] Implement libruntimeobject.a with a linker script
Rename current runtimeobject to api-ms-win-core-winrt-string-l1-1-0 We will INPUT() for other libs when they are added --- mingw-w64-crt/Makefile.am | 4 ++-- mingw-w64-crt/Makefile.in | 4 +++- .../{runtimeobject.def = api-ms-win-core-winrt-string-l1-1-0.def}| 0 mingw-w64-crt/lib32/libruntimeobject.a| 1 + .../{runtimeobject.def = api-ms-win-core-winrt-string-l1-1-0.def}| 0 mingw-w64-crt/lib64/libruntimeobject.a| 1 + 6 files changed, 7 insertions(+), 3 deletions(-) rename mingw-w64-crt/lib32/{runtimeobject.def = api-ms-win-core-winrt-string-l1-1-0.def} (100%) create mode 100644 mingw-w64-crt/lib32/libruntimeobject.a rename mingw-w64-crt/lib64/{runtimeobject.def = api-ms-win-core-winrt-string-l1-1-0.def} (100%) create mode 100644 mingw-w64-crt/lib64/libruntimeobject.a diff --git a/mingw-w64-crt/Makefile.am b/mingw-w64-crt/Makefile.am index 71c9f15..af5db9f 100644 --- a/mingw-w64-crt/Makefile.am +++ b/mingw-w64-crt/Makefile.am @@ -543,7 +543,7 @@ lib32_DATA = \ lib32/libd3dx10.a lib32/libd3dx11.a lib32/libd3dcsxd.a \ lib32/libd3dcompiler.alib32/libwinhttp.alib32/libmsvcr110.a \ lib32/libdevmgr.a lib32/libdevobj.a lib32/libdevrtl.a\ - lib32/libruntimeobject.a + lib32/libapi-ms-win-core-winrt-string-l1-1-0.a lib32/libruntimeobject.a if ! W32API lib32_DATA += lib32/libglut.a @@ -1045,7 +1045,7 @@ lib64_DATA = \ lib64/libxapofx.a lib64/libx3daudio.a lib64/libd3dx9.a \ lib64/libd3dx10.a lib64/libd3dx11.a lib64/libd3dcsxd.a \ lib64/libd3dcompiler.alib64/libwinhttp.alib64/libmsvcr110.a \ - lib64/libruntimeobject.a + lib64/libapi-ms-win-core-winrt-string-l1-1-0.a lib64/libruntimeobject.a lib64/libcrtdll.a lib64/libmsvcrt.a lib64/libmsvcr80.a: lib64/lib%.a: lib64/%.def $(DTDEF64) $ --dllname $*.dll diff --git a/mingw-w64-crt/Makefile.in b/mingw-w64-crt/Makefile.in index e014149..39ad3d5 100644 --- a/mingw-w64-crt/Makefile.in +++ b/mingw-w64-crt/Makefile.in @@ -4151,6 +4151,7 @@ src_intrincs32 = \ @LIB32_TRUE@ lib32/libd3dcompiler.a lib32/libwinhttp.a \ @LIB32_TRUE@ lib32/libmsvcr110.a lib32/libdevmgr.a \ @LIB32_TRUE@ lib32/libdevobj.a lib32/libdevrtl.a \ +@LIB32_TRUE@ lib32/libapi-ms-win-core-winrt-string-l1-1-0.a lib32/libruntimeobject.a \ @LIB32_TRUE@ $(am__append_4) # End 32-bit runtime @@ -4526,7 +4527,8 @@ src_intrincs32 = \ @LIB64_TRUE@ lib64/libxinput.a lib64/libxaudio.a lib64/libxaudiod.a \ @LIB64_TRUE@ lib64/libxapofx.a lib64/libx3daudio.a lib64/libd3dx9.a \ @LIB64_TRUE@ lib64/libd3dx10.a lib64/libd3dx11.a lib64/libd3dcsxd.a \ -@LIB64_TRUE@ lib64/libd3dcompiler.alib64/libwinhttp.a lib64/libmsvcr110.a +@LIB64_TRUE@ lib64/libd3dcompiler.alib64/libwinhttp.a lib64/libmsvcr110.a \ +@LIB64_TRUE@ lib64/libapi-ms-win-core-winrt-string-l1-1-0.a lib64/libruntimeobject.a # Don't compile these, but install as is: diff --git a/mingw-w64-crt/lib32/runtimeobject.def b/mingw-w64-crt/lib32/api-ms-win-core-winrt-string-l1-1-0.def similarity index 100% rename from mingw-w64-crt/lib32/runtimeobject.def rename to mingw-w64-crt/lib32/api-ms-win-core-winrt-string-l1-1-0.def diff --git a/mingw-w64-crt/lib32/libruntimeobject.a b/mingw-w64-crt/lib32/libruntimeobject.a new file mode 100644 index 000..8501a16 --- /dev/null +++ b/mingw-w64-crt/lib32/libruntimeobject.a @@ -0,0 +1 @@ +INPUT(libapi-ms-win-core-winrt-string-l1-1-0.a) diff --git a/mingw-w64-crt/lib64/runtimeobject.def b/mingw-w64-crt/lib64/api-ms-win-core-winrt-string-l1-1-0.def similarity index 100% rename from mingw-w64-crt/lib64/runtimeobject.def rename to mingw-w64-crt/lib64/api-ms-win-core-winrt-string-l1-1-0.def diff --git a/mingw-w64-crt/lib64/libruntimeobject.a b/mingw-w64-crt/lib64/libruntimeobject.a new file mode 100644 index 000..8501a16 --- /dev/null +++ b/mingw-w64-crt/lib64/libruntimeobject.a @@ -0,0 +1 @@ +INPUT(libapi-ms-win-core-winrt-string-l1-1-0.a) -- 1.8.1.2 -- How ServiceNow helps IT people transform IT departments: 1. A cloud service to automate IT design, transition and operations 2. Dashboards that offer high-level views of enterprise services 3. A single system of record for all IT processes http://p.sf.net/sfu/servicenow-d2d-j ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
[Mingw-w64-public] [PATCH] Add IInspectable and IActivationFactory IDLs
--- mingw-w64-headers/Makefile.am | 2 + mingw-w64-headers/Makefile.in | 2 + mingw-w64-headers/include/activation.h| 154 ++ mingw-w64-headers/include/activation.idl | 18 +++ mingw-w64-headers/include/inspectable.h | 178 ++ mingw-w64-headers/include/inspectable.idl | 33 ++ 6 files changed, 387 insertions(+) create mode 100644 mingw-w64-headers/include/activation.h create mode 100644 mingw-w64-headers/include/activation.idl create mode 100644 mingw-w64-headers/include/inspectable.h create mode 100644 mingw-w64-headers/include/inspectable.idl diff --git a/mingw-w64-headers/Makefile.am b/mingw-w64-headers/Makefile.am index fa1847f..c3af523 100644 --- a/mingw-w64-headers/Makefile.am +++ b/mingw-w64-headers/Makefile.am @@ -58,6 +58,7 @@ EXTRA_HEADERS = \ if HAVE_WIDL IDL_SRCS = \ + include/activation.idl \ include/audioclient.idl \ include/audiopolicy.idl \ include/ctfutb.idl \ @@ -71,6 +72,7 @@ IDL_SRCS = \ include/hstring.idl \ include/iketypes.idl \ include/inputscope.idl \ + include/inspectable.idl \ include/oaidl.idl \ include/ocidl.idl \ include/comcat.idl \ diff --git a/mingw-w64-headers/Makefile.in b/mingw-w64-headers/Makefile.in index 77b73cb..a73848c 100644 --- a/mingw-w64-headers/Makefile.in +++ b/mingw-w64-headers/Makefile.in @@ -282,6 +282,7 @@ EXTRA_HEADERS = \ ddk/include/ddk/*.h @HAVE_WIDL_TRUE@IDL_SRCS = \ +@HAVE_WIDL_TRUE@ include/activation.idl \ @HAVE_WIDL_TRUE@ include/audioclient.idl \ @HAVE_WIDL_TRUE@ include/audiopolicy.idl \ @HAVE_WIDL_TRUE@ include/ctfutb.idl \ @@ -295,6 +296,7 @@ EXTRA_HEADERS = \ @HAVE_WIDL_TRUE@ include/hstring.idl \ @HAVE_WIDL_TRUE@ include/iketypes.idl \ @HAVE_WIDL_TRUE@ include/inputscope.idl \ +@HAVE_WIDL_TRUE@ include/inspectable.idl \ @HAVE_WIDL_TRUE@ include/oaidl.idl \ @HAVE_WIDL_TRUE@ include/ocidl.idl \ @HAVE_WIDL_TRUE@ include/comcat.idl \ diff --git a/mingw-w64-headers/include/activation.h b/mingw-w64-headers/include/activation.h new file mode 100644 index 000..a1a9d7c --- /dev/null +++ b/mingw-w64-headers/include/activation.h @@ -0,0 +1,154 @@ +/*** Autogenerated by WIDL 1.5.19 from include/activation.idl - Do not edit ***/ + +#ifndef __REQUIRED_RPCNDR_H_VERSION__ +#define __REQUIRED_RPCNDR_H_VERSION__ 475 +#endif + +#include rpc.h +#include rpcndr.h + +#ifndef COM_NO_WINDOWS_H +#include windows.h +#include ole2.h +#endif + +#ifndef __activation_h__ +#define __activation_h__ + +/* Forward declarations */ + +#ifndef __IActivationFactory_FWD_DEFINED__ +#define __IActivationFactory_FWD_DEFINED__ +typedef interface IActivationFactory IActivationFactory; +#endif + +/* Headers for imported files */ + +#include inspectable.h + +#ifdef __cplusplus +extern C { +#endif + +/* + * IActivationFactory interface + */ +#ifndef __IActivationFactory_INTERFACE_DEFINED__ +#define __IActivationFactory_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IActivationFactory, 0x0035, 0x, 0x, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); +#if defined(__cplusplus) !defined(CINTERFACE) +MIDL_INTERFACE(0035---c000-0046) +IActivationFactory : public IInspectable +{ +virtual HRESULT STDMETHODCALLTYPE ActivateInstance( +IInspectable **instance) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IActivationFactory, 0x0035, 0x, 0x, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) +#endif +#else +typedef struct IActivationFactoryVtbl { +BEGIN_INTERFACE + +/*** IUnknown methods ***/ +HRESULT (STDMETHODCALLTYPE *QueryInterface)( +IActivationFactory* This, +REFIID riid, +void **ppvObject); + +ULONG (STDMETHODCALLTYPE *AddRef)( +IActivationFactory* This); + +ULONG (STDMETHODCALLTYPE *Release)( +IActivationFactory* This); + +/*** IInspectable methods ***/ +HRESULT (STDMETHODCALLTYPE *GetIids)( +IActivationFactory* This, +ULONG *iidCount, +IID **iids); + +HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)( +IActivationFactory* This, +HSTRING *className); + +HRESULT (STDMETHODCALLTYPE *GetTrustLevel)( +IActivationFactory* This, +TrustLevel *trustLevel); + +/*** IActivationFactory methods ***/ +HRESULT (STDMETHODCALLTYPE *ActivateInstance)( +IActivationFactory* This, +IInspectable **instance); + +END_INTERFACE +} IActivationFactoryVtbl; +interface IActivationFactory { +CONST_VTBL IActivationFactoryVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IActivationFactory_QueryInterface(This,riid,ppvObject) (This)-lpVtbl-QueryInterface(This,riid,ppvObject) +#define IActivationFactory_AddRef(This) (This)-lpVtbl-AddRef(This) +#define IActivationFactory_Release(This) (This)-lpVtbl-Release(This) +/***
Re: [Mingw-w64-public] [PATCH] Add IInspectable and IActivationFactory IDLs
Le 06/06/2013 18:25, Rafaël Carré a écrit : --- mingw-w64-headers/Makefile.am | 2 + mingw-w64-headers/Makefile.in | 2 + mingw-w64-headers/include/activation.h| 154 ++ mingw-w64-headers/include/activation.idl | 18 +++ mingw-w64-headers/include/inspectable.h | 178 ++ mingw-w64-headers/include/inspectable.idl | 33 ++ 6 files changed, 387 insertions(+) create mode 100644 mingw-w64-headers/include/activation.h create mode 100644 mingw-w64-headers/include/activation.idl create mode 100644 mingw-w64-headers/include/inspectable.h create mode 100644 mingw-w64-headers/include/inspectable.idl OK'd on IRC by Jacek and Kai, committed as r5882 -- How ServiceNow helps IT people transform IT departments: 1. A cloud service to automate IT design, transition and operations 2. Dashboards that offer high-level views of enterprise services 3. A single system of record for all IT processes http://p.sf.net/sfu/servicenow-d2d-j ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
Re: [Mingw-w64-public] Fwd: SourceForge Project Upgrade - Code Repo Complete
If you are a git-svn user, you can update your tree without fetching again the entire history: https://git.wiki.kernel.org/index.php?title=GitSvnSwitcholdid=21811 Le 06/06/2013 19:20, Kai Tietz a écrit : Hello everybody, Please be aware. Project update happend by SourceForge recently. It wasn't wished by us. Nevertheless we have to live by that. Kai -- Forwarded message -- From: SourceForge.net noreply+project-upgr...@in.sf.net Date: 2013/6/6 Subject: SourceForge Project Upgrade - Code Repo Complete To: nore...@in.sf.net Your code repository in upgraded project mingw-w64 is now ready for use. Old repository url: http://mingw-w64.svn.sourceforge.net/svnroot/mingw-w64 New repository checkout command: svn checkout svn://svn.code.sf.net/p/mingw-w64/code/ mingw-w64-code You should do a checkout using the new repository location. The old repository is read-only now. For more detailed instructions on migrating to your new repo, please see https://sourceforge.net/p/forge/community-docs/Repository%20Upgrade%20FAQ/ -- How ServiceNow helps IT people transform IT departments: 1. A cloud service to automate IT design, transition and operations 2. Dashboards that offer high-level views of enterprise services 3. A single system of record for all IT processes http://p.sf.net/sfu/servicenow-d2d-j ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
Re: [Mingw-w64-public] Fwd: SourceForge Project Upgrade - Code Repo Complete
If you want to use public key rather than password authentication with the new server: ssh -t USER,mingw-...@shell.sourceforge.net create ssh-copy-id u...@shell.sourceforge.net Le 06/06/2013 19:20, Kai Tietz a écrit : Hello everybody, Please be aware. Project update happend by SourceForge recently. It wasn't wished by us. Nevertheless we have to live by that. Kai -- Forwarded message -- From: SourceForge.net noreply+project-upgr...@in.sf.net Date: 2013/6/6 Subject: SourceForge Project Upgrade - Code Repo Complete To: nore...@in.sf.net Your code repository in upgraded project mingw-w64 is now ready for use. Old repository url: http://mingw-w64.svn.sourceforge.net/svnroot/mingw-w64 New repository checkout command: svn checkout svn://svn.code.sf.net/p/mingw-w64/code/ mingw-w64-code You should do a checkout using the new repository location. The old repository is read-only now. For more detailed instructions on migrating to your new repo, please see https://sourceforge.net/p/forge/community-docs/Repository%20Upgrade%20FAQ/ -- How ServiceNow helps IT people transform IT departments: 1. A cloud service to automate IT design, transition and operations 2. Dashboards that offer high-level views of enterprise services 3. A single system of record for all IT processes http://p.sf.net/sfu/servicenow-d2d-j ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
[Mingw-w64-public] [PATCH] Add IInspectable and IActivationFactory IDLs
--- mingw-w64-headers/Makefile.am | 2 + mingw-w64-headers/Makefile.in | 2 + mingw-w64-headers/include/activation.h| 132 ++ mingw-w64-headers/include/activation.idl | 16 +++ mingw-w64-headers/include/inspectable.h | 178 ++ mingw-w64-headers/include/inspectable.idl | 33 ++ 6 files changed, 363 insertions(+) create mode 100644 mingw-w64-headers/include/activation.h create mode 100644 mingw-w64-headers/include/activation.idl create mode 100644 mingw-w64-headers/include/inspectable.h create mode 100644 mingw-w64-headers/include/inspectable.idl diff --git a/mingw-w64-headers/Makefile.am b/mingw-w64-headers/Makefile.am index fa1847f..c3af523 100644 --- a/mingw-w64-headers/Makefile.am +++ b/mingw-w64-headers/Makefile.am @@ -58,6 +58,7 @@ EXTRA_HEADERS = \ if HAVE_WIDL IDL_SRCS = \ + include/activation.idl \ include/audioclient.idl \ include/audiopolicy.idl \ include/ctfutb.idl \ @@ -71,6 +72,7 @@ IDL_SRCS = \ include/hstring.idl \ include/iketypes.idl \ include/inputscope.idl \ + include/inspectable.idl \ include/oaidl.idl \ include/ocidl.idl \ include/comcat.idl \ diff --git a/mingw-w64-headers/Makefile.in b/mingw-w64-headers/Makefile.in index 77b73cb..a73848c 100644 --- a/mingw-w64-headers/Makefile.in +++ b/mingw-w64-headers/Makefile.in @@ -282,6 +282,7 @@ EXTRA_HEADERS = \ ddk/include/ddk/*.h @HAVE_WIDL_TRUE@IDL_SRCS = \ +@HAVE_WIDL_TRUE@ include/activation.idl \ @HAVE_WIDL_TRUE@ include/audioclient.idl \ @HAVE_WIDL_TRUE@ include/audiopolicy.idl \ @HAVE_WIDL_TRUE@ include/ctfutb.idl \ @@ -295,6 +296,7 @@ EXTRA_HEADERS = \ @HAVE_WIDL_TRUE@ include/hstring.idl \ @HAVE_WIDL_TRUE@ include/iketypes.idl \ @HAVE_WIDL_TRUE@ include/inputscope.idl \ +@HAVE_WIDL_TRUE@ include/inspectable.idl \ @HAVE_WIDL_TRUE@ include/oaidl.idl \ @HAVE_WIDL_TRUE@ include/ocidl.idl \ @HAVE_WIDL_TRUE@ include/comcat.idl \ diff --git a/mingw-w64-headers/include/activation.h b/mingw-w64-headers/include/activation.h new file mode 100644 index 000..089e3dd --- /dev/null +++ b/mingw-w64-headers/include/activation.h @@ -0,0 +1,132 @@ +/*** Autogenerated by WIDL 1.5.19 from include/activation.idl - Do not edit ***/ + +#ifndef __REQUIRED_RPCNDR_H_VERSION__ +#define __REQUIRED_RPCNDR_H_VERSION__ 475 +#endif + +#include rpc.h +#include rpcndr.h + +#ifndef COM_NO_WINDOWS_H +#include windows.h +#include ole2.h +#endif + +#ifndef __activation_h__ +#define __activation_h__ + +/* Forward declarations */ + +#ifndef __IActivationFactory_FWD_DEFINED__ +#define __IActivationFactory_FWD_DEFINED__ +typedef interface IActivationFactory IActivationFactory; +#endif + +/* Headers for imported files */ + +#include inspectable.h + +#ifdef __cplusplus +extern C { +#endif + +/* + * IActivationFactory interface + */ +#ifndef __IActivationFactory_INTERFACE_DEFINED__ +#define __IActivationFactory_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IActivationFactory, 0x0035, 0x, 0x, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); +#if defined(__cplusplus) !defined(CINTERFACE) +MIDL_INTERFACE(0035---c000-0046) +IActivationFactory : public IInspectable +{ +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IActivationFactory, 0x0035, 0x, 0x, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) +#endif +#else +typedef struct IActivationFactoryVtbl { +BEGIN_INTERFACE + +/*** IUnknown methods ***/ +HRESULT (STDMETHODCALLTYPE *QueryInterface)( +IActivationFactory* This, +REFIID riid, +void **ppvObject); + +ULONG (STDMETHODCALLTYPE *AddRef)( +IActivationFactory* This); + +ULONG (STDMETHODCALLTYPE *Release)( +IActivationFactory* This); + +/*** IInspectable methods ***/ +HRESULT (STDMETHODCALLTYPE *GetIids)( +IActivationFactory* This, +ULONG *iidCount, +IID **iids); + +HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)( +IActivationFactory* This, +HSTRING *className); + +HRESULT (STDMETHODCALLTYPE *GetTrustLevel)( +IActivationFactory* This, +TrustLevel *trustLevel); + +END_INTERFACE +} IActivationFactoryVtbl; +interface IActivationFactory { +CONST_VTBL IActivationFactoryVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IActivationFactory_QueryInterface(This,riid,ppvObject) (This)-lpVtbl-QueryInterface(This,riid,ppvObject) +#define IActivationFactory_AddRef(This) (This)-lpVtbl-AddRef(This) +#define IActivationFactory_Release(This) (This)-lpVtbl-Release(This) +/*** IInspectable methods ***/ +#define IActivationFactory_GetIids(This,iidCount,iids) (This)-lpVtbl-GetIids(This,iidCount,iids) +#define IActivationFactory_GetRuntimeClassName(This,className) (This)-lpVtbl-GetRuntimeClassName(This,className) +#define
Re: [Mingw-w64-public] [PATCH] Add winstring.h and corresponding runtimeobject imports
Hello, Le 03/06/2013 16:51, JonY a écrit : On 6/3/2013 22:18, Rafaël Carré wrote: new file mode 100644 index 000..c49fc51 --- /dev/null +++ b/mingw-w64-crt/lib32/runtimeobject.def @@ -0,0 +1,25 @@ +LIBRARY api-ms-win-core-winrt-string-l1-1-0.dll new file mode 100644 index 000..c211978 --- /dev/null +++ b/mingw-w64-crt/lib64/runtimeobject.def @@ -0,0 +1,29 @@ +LIBRARY api-ms-win-core-winrt-string-l1-1-0.dll Are you sure about these? The library names do not match the DLL, these DLLs are internal versioned copies. MSDN fails to mention runtimeobject.lib for Windows*String functions, like it does for Ro* functions : http://msdn.microsoft.com/en-us/library/br229855(v=vs.85).aspx , but it's the right import lib. See for example last comment on http://blogs.interknowlogy.com/2012/04/11/how-to-create-a-winrt-wrl-c-component-from-scratch-that-can-be-consumed-by-net-components/ However there is no runtimeobject.dll, the functions defined in this import lib actually come from several DLLs, I confirmed this by building a test exe with Visual Studio that uses Windows*String functions, and my binary explicitely mentions this DLL. i686-w64-mingw32-objdump -x extract: There is an import table in .rdata at 0x438840 The Import Tables (interpreted .rdata section contents) vma:HintTime Forward DLL First Table Stamp ChainName Thunk 00038840 000388e0 00038b0e 0002f000 00038890 000389f0 00039a74 0002f110 DLL Name: api-ms-win-core-winrt-string-l1-1-0.dll vma: Hint/Ord Member-Name Bound-To 399b8 7 WindowsCreateStringReference 3999c 12 WindowsGetStringRawBuffer 39a56 4 WindowsCompareStringOrdinal 39986 8 WindowsDeleteString 39a24 10 WindowsDuplicateString 39a0e 6 WindowsCreateString 39a3e 14 WindowsIsStringEmpty 000388a4 000389e4 00039a9c 0002f104 DLL Name: api-ms-win-core-winrt-l1-1-0.dll vma: Hint/Ord Member-Name Bound-To 399d8 2 RoGetApartmentIdentifier 399f4 1 RoGetActivationFactory Note, I'll add Ro* functions to this import lib in a forthcoming patch (these functions are imported from a different DLL as seen above). Le 03/06/2013 16:43, Kai Tietz a écrit : 2013/6/3 Rafaël Carré fun...@videolan.org: diff --git a/mingw-w64-headers/include/winstring.h b/mingw-w64-headers/include/winstring.h new file mode 100644 index 000..b395cef --- /dev/null +++ b/mingw-w64-headers/include/winstring.h @@ -0,0 +1,202 @@ +/** + * This file has no copyright assigned and is placed in the Public Domain. + * This file is part of the mingw-w64 runtime package. + * No warranty is given; refer to the file DISCLAIMER.PD within this package. + */ +#ifndef __WINSTRING_H__ +#define __WINSTRING_H__ + +#include windows.h +#include sdkddkver.h Here we need to include additionally rpc.h header. Also we need here to include winapifamily.h. I added rpc.h to winstring.h but I am not sure about winapifamily.h, as these functions are available on both desktop and store apps. Also so some parts from this header should be put into hstring.h header AFAIC read, it seems to be an idl-based generated file, so this can come later ... Oops I missed that header. HSTRING functions are all in winstring.h though. +#if _WIN32_WINNT = _WIN32_WINNT_WIN8 Hmm, true that API is Windows8 based, but do we really need to add here this guard ... anyway it won't hurt AFAICS. If someone targets Windows 7 using this code it would build and link properly but fail at runtime due to missing libs, so with this guard he will get at least a compilation warning about missing prototypes. + +void __stdcall HSTRING_UserFree( + unsigned long *pFlags, + HSTRING *ppidl +); Please write prototypes within one line. Also don't use __stdcall here. Better use __RPC_USER instead. All these HSTRING_... functions are RPC-stuff, so it should fit AFAICS. Write it like eg void __RPC_USER HSTRING_UserFree(ULONG *pFlags, HSTRING *ppidl);' Done. New patch attached which leaves these questions: - is winapifamily.h really needed? - is rpc.h needed for hstring.h too? Thanks, From 8a7237c5ba1dd4941e4671fd0ea7db3112ece451 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C3=ABl=20Carr=C3=A9?= fun...@videolan.org Date: Mon, 3 Jun 2013 16:12:35 +0200 Subject: [PATCH] Add winstring.h and corresponding runtimeobject imports --- mingw-w64-crt/Makefile.am | 6 ++- mingw-w64-crt/lib32/runtimeobject.def | 25 mingw-w64-crt/lib64/runtimeobject.def | 29 + mingw-w64-headers/include/hstring.h | 37 + mingw-w64-headers/include/winstring.h | 76 +++ 5 files changed, 171 insertions(+), 2 deletions(-) create mode 100644 mingw-w64-crt/lib32
Re: [Mingw-w64-public] [PATCH] Add winstring.h, hstring.idl and corresponding runtimeobject imports
Le 04/06/2013 13:34, Rafaël Carré a écrit : --- mingw-w64-crt/Makefile.am | 6 ++- mingw-w64-crt/lib32/runtimeobject.def | 25 mingw-w64-crt/lib64/runtimeobject.def | 29 + mingw-w64-headers/include/hstring.h | 61 +++ mingw-w64-headers/include/hstring.idl | 27 mingw-w64-headers/include/winstring.h | 77 +++ 6 files changed, 223 insertions(+), 2 deletions(-) create mode 100644 mingw-w64-crt/lib32/runtimeobject.def create mode 100644 mingw-w64-crt/lib64/runtimeobject.def create mode 100644 mingw-w64-headers/include/hstring.h create mode 100644 mingw-w64-headers/include/hstring.idl create mode 100644 mingw-w64-headers/include/winstring.h Committed with hstring.idl tweak and adding it to Makefile.am/in as r5879. Thank you for your reviews -- How ServiceNow helps IT people transform IT departments: 1. A cloud service to automate IT design, transition and operations 2. Dashboards that offer high-level views of enterprise services 3. A single system of record for all IT processes http://p.sf.net/sfu/servicenow-d2d-j ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
[Mingw-w64-public] [PATCH] Add winstring.h and corresponding runtimeobject imports
--- mingw-w64-crt/Makefile.am | 6 +- mingw-w64-crt/lib32/runtimeobject.def | 25 + mingw-w64-crt/lib64/runtimeobject.def | 29 + mingw-w64-headers/include/winstring.h | 202 ++ 4 files changed, 260 insertions(+), 2 deletions(-) create mode 100644 mingw-w64-crt/lib32/runtimeobject.def create mode 100644 mingw-w64-crt/lib64/runtimeobject.def create mode 100644 mingw-w64-headers/include/winstring.h diff --git a/mingw-w64-crt/Makefile.am b/mingw-w64-crt/Makefile.am index 4ce1258..71c9f15 100644 --- a/mingw-w64-crt/Makefile.am +++ b/mingw-w64-crt/Makefile.am @@ -542,7 +542,8 @@ lib32_DATA = \ lib32/libxapofx.a lib32/libx3daudio.a lib32/libd3dx9.a \ lib32/libd3dx10.a lib32/libd3dx11.a lib32/libd3dcsxd.a \ lib32/libd3dcompiler.alib32/libwinhttp.alib32/libmsvcr110.a \ - lib32/libdevmgr.a lib32/libdevobj.a lib32/libdevrtl.a + lib32/libdevmgr.a lib32/libdevobj.a lib32/libdevrtl.a\ + lib32/libruntimeobject.a if ! W32API lib32_DATA += lib32/libglut.a @@ -1043,7 +1044,8 @@ lib64_DATA = \ lib64/libxinput.a lib64/libxaudio.a lib64/libxaudiod.a \ lib64/libxapofx.a lib64/libx3daudio.a lib64/libd3dx9.a \ lib64/libd3dx10.a lib64/libd3dx11.a lib64/libd3dcsxd.a \ - lib64/libd3dcompiler.alib64/libwinhttp.alib64/libmsvcr110.a + lib64/libd3dcompiler.alib64/libwinhttp.alib64/libmsvcr110.a \ + lib64/libruntimeobject.a lib64/libcrtdll.a lib64/libmsvcrt.a lib64/libmsvcr80.a: lib64/lib%.a: lib64/%.def $(DTDEF64) $ --dllname $*.dll diff --git a/mingw-w64-crt/lib32/runtimeobject.def b/mingw-w64-crt/lib32/runtimeobject.def new file mode 100644 index 000..c49fc51 --- /dev/null +++ b/mingw-w64-crt/lib32/runtimeobject.def @@ -0,0 +1,25 @@ +LIBRARY api-ms-win-core-winrt-string-l1-1-0.dll +EXPORTS +HSTRING_UserFree@8 +HSTRING_UserMarshal@12 +HSTRING_UserSize@12 +HSTRING_UserUnmarshal@12 +WindowsCompareStringOrdinal@12 +WindowsConcatString@12 +WindowsCreateString@12 +WindowsCreateStringReference@16 +WindowsDeleteString@4 +WindowsDeleteStringBuffer@4 +WindowsDuplicateString@8 +WindowsGetStringLen@4 +WindowsGetStringRawBuffer@8 +WindowsInspectString@24 +WindowsIsStringEmpty@4 +WindowsPreallocateStringBuffer@12 +WindowsPromoteStringBuffer@8 +WindowsReplaceString@16 +WindowsStringHasEmbeddedNull@8 +WindowsSubstring@12 +WindowsSubstringWithSpecifiedLength@16 +WindowsTrimStringEnd@12 +WindowsTrimStringStart@12 diff --git a/mingw-w64-crt/lib64/runtimeobject.def b/mingw-w64-crt/lib64/runtimeobject.def new file mode 100644 index 000..c211978 --- /dev/null +++ b/mingw-w64-crt/lib64/runtimeobject.def @@ -0,0 +1,29 @@ +LIBRARY api-ms-win-core-winrt-string-l1-1-0.dll +EXPORTS +HSTRING_UserFree +HSTRING_UserFree64 +HSTRING_UserMarshal +HSTRING_UserMarshal64 +HSTRING_UserSize +HSTRING_UserSize64 +HSTRING_UserUnmarshal +HSTRING_UserUnmarshal64 +WindowsCompareStringOrdinal +WindowsConcatString +WindowsCreateString +WindowsCreateStringReference +WindowsDeleteString +WindowsDeleteStringBuffer +WindowsDuplicateString +WindowsGetStringLen +WindowsGetStringRawBuffer +WindowsInspectString +WindowsIsStringEmpty +WindowsPreallocateStringBuffer +WindowsPromoteStringBuffer +WindowsReplaceString +WindowsStringHasEmbeddedNull +WindowsSubstring +WindowsSubstringWithSpecifiedLength +WindowsTrimStringEnd +WindowsTrimStringStart diff --git a/mingw-w64-headers/include/winstring.h b/mingw-w64-headers/include/winstring.h new file mode 100644 index 000..b395cef --- /dev/null +++ b/mingw-w64-headers/include/winstring.h @@ -0,0 +1,202 @@ +/** + * This file has no copyright assigned and is placed in the Public Domain. + * This file is part of the mingw-w64 runtime package. + * No warranty is given; refer to the file DISCLAIMER.PD within this package. + */ +#ifndef __WINSTRING_H__ +#define __WINSTRING_H__ + +#include windows.h +#include sdkddkver.h + +#if _WIN32_WINNT = _WIN32_WINNT_WIN8 + +// Declaring a handle dummy struct for HSTRING the same way DECLARE_HANDLE does. +typedef struct HSTRING__{ +int unused; +} HSTRING__; + +typedef HSTRING__* HSTRING; + +typedef HANDLE HSTRING_BUFFER; + +typedef struct HSTRING_HEADER { + union { +PVOID Reserved1; +#if (_WIN64) +char Reserved2[24]; +#else +char Reserved2[20]; +#endif + } Reserved; +} HSTRING_HEADER; + +/* */ + +void __stdcall HSTRING_UserFree( + unsigned long *pFlags, + HSTRING *ppidl +); + +unsigned char* __stdcall HSTRING_UserMarshal( + unsigned long *pFlags, + unsigned char *pBuffer, + HSTRING *ppidl +); + +unsigned long __stdcall HSTRING_UserSize( + unsigned long *pFlags, + unsigned long StartingSize, + HSTRING *ppidl +); + +unsigned char* __stdcall HSTRING_UserUnmarshal( + unsigned long *pFlags, + unsigned char *pBuffer, + HSTRING *ppidl +); + +#ifdef _WIN64 +void __stdcall HSTRING_UserFree64( + unsigned long
Re: [Mingw-w64-public] [PATCH] Fix bug in __stosb - Part2
Le 23/05/2013 10:04, Kai Tietz a écrit : 2013/5/23 dw limegreenso...@yahoo.com: Attached is part 2 of the __stosb patch. It takes the changes part 1 made to winnt.h and applies them to the identical code in the crt. Specifically: 1) The __buildstos macro has been removed from winnt.h 2) __buildstos has been put in the new file mingw-w64-headers/include/psdk_inc/intrin-mac.h 3) mingw-w64-crt/intrincs/__stosb.c (and stosw.c, stosd.c, stosq.c) now use the macro from intrin-mac.h As a result, not only do the stos*.c files get the new code, but this inline assembler now only exists in one place, making future maintenance easier. When this patch is approved, I'll re-work the patch I submitted for InterlockedOr to use this same approach. dw Patch is ok. Please apply. Committed r5872 Thanks, Kai -- Try New Relic Now We'll Send You this Cool Shirt New Relic is the only SaaS-based application performance monitoring service that delivers powerful full stack analytics. Optimize and monitor your browser, app, servers with just a few lines of code. Try New Relic and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_may ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
[Mingw-w64-public] [PATCH] Clean up _assert / _wassert
Always import _assert from msvcrt Only use _wassert replacement for msvcrt.dll --- mingw-w64-crt/def-include/msvcrt-common.def.in | 2 ++ mingw-w64-crt/lib32/msvcr100.def.in| 3 +-- mingw-w64-crt/lib32/msvcr110.def.in| 1 - mingw-w64-crt/lib32/msvcr80.def.in | 2 +- mingw-w64-crt/lib32/msvcr90.def.in | 3 +-- mingw-w64-crt/lib32/msvcr90d.def.in| 3 +-- mingw-w64-crt/lib32/msvcrt.def.in | 2 +- mingw-w64-crt/lib64/msvcr100.def.in| 3 +-- mingw-w64-crt/lib64/msvcr110.def.in| 1 - mingw-w64-crt/lib64/msvcr80.def.in | 2 +- mingw-w64-crt/lib64/msvcr90.def.in | 3 +-- mingw-w64-crt/lib64/msvcr90d.def.in| 3 +-- mingw-w64-crt/lib64/msvcrt.def.in | 2 +- mingw-w64-crt/misc/wassert.c | 21 - mingw-w64-headers/crt/assert.h | 4 ++-- 15 files changed, 14 insertions(+), 41 deletions(-) diff --git a/mingw-w64-crt/def-include/msvcrt-common.def.in b/mingw-w64-crt/def-include/msvcrt-common.def.in index 76e1fa3..8e00964 100644 --- a/mingw-w64-crt/def-include/msvcrt-common.def.in +++ b/mingw-w64-crt/def-include/msvcrt-common.def.in @@ -133,3 +133,5 @@ ADD_UNDERSCORE(timezone) ADD_UNDERSCORE(tzname) longjmp DATA + +_assert diff --git a/mingw-w64-crt/lib32/msvcr100.def.in b/mingw-w64-crt/lib32/msvcr100.def.in index 813e79a..d9a34b3 100644 --- a/mingw-w64-crt/lib32/msvcr100.def.in +++ b/mingw-w64-crt/lib32/msvcr100.def.in @@ -731,7 +731,6 @@ _aligned_offset_recalloc _aligned_realloc _aligned_recalloc _amsg_exit -_assert DATA _atodbl _atodbl_l _atof_l @@ -1517,7 +1516,7 @@ _waccess _waccess_s _wasctime _wasctime_s -_wassert DATA +_wassert _wchdir _wchmod _wcmdln DATA diff --git a/mingw-w64-crt/lib32/msvcr110.def.in b/mingw-w64-crt/lib32/msvcr110.def.in index be2eea3..d496749 100644 --- a/mingw-w64-crt/lib32/msvcr110.def.in +++ b/mingw-w64-crt/lib32/msvcr110.def.in @@ -855,7 +855,6 @@ _aligned_offset_recalloc _aligned_realloc _aligned_recalloc _amsg_exit ; Check!!! Couldn't determine function argument count. Function doesn't return. -_assert _atodbl _atodbl_l _atof_l diff --git a/mingw-w64-crt/lib32/msvcr80.def.in b/mingw-w64-crt/lib32/msvcr80.def.in index d61fafc..f7e8937 100644 --- a/mingw-w64-crt/lib32/msvcr80.def.in +++ b/mingw-w64-crt/lib32/msvcr80.def.in @@ -110,7 +110,6 @@ _adj_fptan _adjust_fdiv DATA _aexit_rtn DATA _amsg_exit -_assert DATA _atodbl _atoi64 _atoldbl @@ -815,3 +814,4 @@ __pwctype_func _get_heap_handle _set_purecall_handler _set_SSE2_enable +_wassert diff --git a/mingw-w64-crt/lib32/msvcr90.def.in b/mingw-w64-crt/lib32/msvcr90.def.in index 6459d47..409ac0c 100644 --- a/mingw-w64-crt/lib32/msvcr90.def.in +++ b/mingw-w64-crt/lib32/msvcr90.def.in @@ -356,7 +356,6 @@ _aligned_offset_recalloc _aligned_realloc _aligned_recalloc _amsg_exit -_assert DATA _atodbl _atodbl_l _atof_l @@ -1151,7 +1150,7 @@ _waccess _waccess_s _wasctime _wasctime_s -_wassert DATA +_wassert _wchdir _wchmod _wcmdln DATA diff --git a/mingw-w64-crt/lib32/msvcr90d.def.in b/mingw-w64-crt/lib32/msvcr90d.def.in index 7897686..b94dcba 100644 --- a/mingw-w64-crt/lib32/msvcr90d.def.in +++ b/mingw-w64-crt/lib32/msvcr90d.def.in @@ -407,7 +407,6 @@ _aligned_realloc_dbg _aligned_recalloc _aligned_recalloc_dbg _amsg_exit -_assert DATA _atodbl _atodbl_l _atof_l @@ -1217,7 +1216,7 @@ _waccess _waccess_s _wasctime _wasctime_s -_wassert DATA +_wassert _wchdir _wchmod _wcmdln DATA diff --git a/mingw-w64-crt/lib32/msvcrt.def.in b/mingw-w64-crt/lib32/msvcrt.def.in index 896783b..1a3385e 100644 --- a/mingw-w64-crt/lib32/msvcrt.def.in +++ b/mingw-w64-crt/lib32/msvcrt.def.in @@ -110,7 +110,6 @@ _adj_fptan _adjust_fdiv DATA _aexit_rtn DATA _amsg_exit -_assert DATA _atodbl _atoi64 _atoldbl @@ -1233,3 +1232,4 @@ wcstombs_s wctomb_s wprintf_s wscanf_s +_wassert DATA diff --git a/mingw-w64-crt/lib64/msvcr100.def.in b/mingw-w64-crt/lib64/msvcr100.def.in index 5fa35ce..e6268f0 100644 --- a/mingw-w64-crt/lib64/msvcr100.def.in +++ b/mingw-w64-crt/lib64/msvcr100.def.in @@ -689,7 +689,6 @@ _aligned_offset_recalloc _aligned_realloc _aligned_recalloc _amsg_exit -_assert DATA _atodbl _atodbl_l _atof_l @@ -1464,7 +1463,7 @@ _waccess _waccess_s _wasctime _wasctime_s -_wassert DATA +_wassert _wchdir _wchmod _wcmdln DATA diff --git a/mingw-w64-crt/lib64/msvcr110.def.in b/mingw-w64-crt/lib64/msvcr110.def.in index eed717e..d05cd0f 100644 --- a/mingw-w64-crt/lib64/msvcr110.def.in +++ b/mingw-w64-crt/lib64/msvcr110.def.in @@ -815,7 +815,6 @@ _aligned_offset_recalloc _aligned_realloc _aligned_recalloc _amsg_exit -_assert _atodbl _atodbl_l _atof_l diff --git a/mingw-w64-crt/lib64/msvcr80.def.in b/mingw-w64-crt/lib64/msvcr80.def.in index d29dc2a..6c54ad4 100644 --- a/mingw-w64-crt/lib64/msvcr80.def.in +++ b/mingw-w64-crt/lib64/msvcr80.def.in @@ -191,7 +191,6 @@
[Mingw-w64-public] [PATCH] wassert replacement without forbidden MessageBoxW
--- mingw-w64-libraries/winstorecompat/Makefile.am| 1 + mingw-w64-libraries/winstorecompat/Makefile.in| 10 - mingw-w64-libraries/winstorecompat/src/_wassert.c | 50 +++ 3 files changed, 59 insertions(+), 2 deletions(-) create mode 100644 mingw-w64-libraries/winstorecompat/src/_wassert.c diff --git a/mingw-w64-libraries/winstorecompat/Makefile.am b/mingw-w64-libraries/winstorecompat/Makefile.am index c4ae286..769b087 100644 --- a/mingw-w64-libraries/winstorecompat/Makefile.am +++ b/mingw-w64-libraries/winstorecompat/Makefile.am @@ -5,6 +5,7 @@ AM_CFLAGS = -Wall -Wstrict-aliasing=2 -pedantic lib_LIBRARIES = libwinstorecompat.a libwinstorecompat_a_SOURCES = \ + src/_wassert.c \ src/CreateEventW.c \ src/CreateMutexW.c \ src/CreateSemaphoreW.c \ diff --git a/mingw-w64-libraries/winstorecompat/Makefile.in b/mingw-w64-libraries/winstorecompat/Makefile.in index ea4b3db..6782f1f 100644 --- a/mingw-w64-libraries/winstorecompat/Makefile.in +++ b/mingw-w64-libraries/winstorecompat/Makefile.in @@ -96,8 +96,9 @@ ARFLAGS = cru libwinstorecompat_a_AR = $(AR) $(ARFLAGS) libwinstorecompat_a_LIBADD = am__dirstamp = $(am__leading_dot)dirstamp -am_libwinstorecompat_a_OBJECTS = src/CreateEventW.$(OBJEXT) \ - src/CreateMutexW.$(OBJEXT) src/CreateSemaphoreW.$(OBJEXT) \ +am_libwinstorecompat_a_OBJECTS = src/_wassert.$(OBJEXT) \ + src/CreateEventW.$(OBJEXT) src/CreateMutexW.$(OBJEXT) \ + src/CreateSemaphoreW.$(OBJEXT) \ src/InitializeCriticalSection.$(OBJEXT) \ src/GetFileAttributes.$(OBJEXT) \ src/WaitForSingleObject.$(OBJEXT) src/LoadLibraryW.$(OBJEXT) \ @@ -236,6 +237,7 @@ AUTOMAKE_OPTIONS = foreign subdir-objects AM_CFLAGS = -Wall -Wstrict-aliasing=2 -pedantic lib_LIBRARIES = libwinstorecompat.a libwinstorecompat_a_SOURCES = \ + src/_wassert.c \ src/CreateEventW.c \ src/CreateMutexW.c \ src/CreateSemaphoreW.c \ @@ -339,6 +341,8 @@ src/$(am__dirstamp): src/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) src/$(DEPDIR) @: src/$(DEPDIR)/$(am__dirstamp) +src/_wassert.$(OBJEXT): src/$(am__dirstamp) \ + src/$(DEPDIR)/$(am__dirstamp) src/CreateEventW.$(OBJEXT): src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) src/CreateMutexW.$(OBJEXT): src/$(am__dirstamp) \ @@ -420,6 +424,7 @@ mostlyclean-compile: -rm -f src/UnhandledExceptionFilter.$(OBJEXT) -rm -f src/VirtualProtect.$(OBJEXT) -rm -f src/WaitForSingleObject.$(OBJEXT) + -rm -f src/_wassert.$(OBJEXT) -rm -f src/getenv.$(OBJEXT) -rm -f src/getpid.$(OBJEXT) @@ -450,6 +455,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/UnhandledExceptionFilter.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/VirtualProtect.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/WaitForSingleObject.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/_wassert.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/getenv.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/getpid.Po@am__quote@ diff --git a/mingw-w64-libraries/winstorecompat/src/_wassert.c b/mingw-w64-libraries/winstorecompat/src/_wassert.c new file mode 100644 index 000..d643b38 --- /dev/null +++ b/mingw-w64-libraries/winstorecompat/src/_wassert.c @@ -0,0 +1,50 @@ +/* +Copyright (c) 2013 mingw-w64 project + +Contributing authors: Rafaël Carré + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the Software), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED AS IS, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. +*/ + +#define _wassert ___wassert +#include windows.h +#include wchar.h +#include signal.h +#undef _wassert + +extern int mingw_app_type; + +void __cdecl _wassert(const wchar_t *_Message,const wchar_t *_File,unsigned _Line) +{ + wchar_t *msgbuf = (wchar_t *) malloc (8192*sizeof(wchar_t)); + + if (!_File || _File[0] == 0) +_File = Lunknown; + if (!_Message || _Message[0] == 0) +_Message = L?; + _snwprintf (msgbuf, 8191
Re: [Mingw-w64-public] [PATCH] wassert replacement without forbidden MessageBoxW
Le 21/05/2013 15:43, Kai Tietz a écrit : 2013/5/21 Rafaël Carré fun...@videolan.org: --- mingw-w64-libraries/winstorecompat/Makefile.am| 1 + mingw-w64-libraries/winstorecompat/Makefile.in| 10 - mingw-w64-libraries/winstorecompat/src/_wassert.c | 50 +++ 3 files changed, 59 insertions(+), 2 deletions(-) create mode 100644 mingw-w64-libraries/winstorecompat/src/_wassert.c Patch is ok, thanks. Please apply. Committed as r5869 Thanks, Kai PS: I would suggest to add here _assert function, too. It makes sense but most ANSI functions are forbidden we build with UNICODE, so assert() resolves to a call to _wassert() -- Try New Relic Now We'll Send You this Cool Shirt New Relic is the only SaaS-based application performance monitoring service that delivers powerful full stack analytics. Optimize and monitor your browser, app, servers with just a few lines of code. Try New Relic and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_may ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
Re: [Mingw-w64-public] [PATCH] Fix bug in __stosb
Le 19/05/2013 08:55, Václav Zeman a écrit : On 19 May 2013 05:17, dw limegreenso...@yahoo.com wrote: There is a bug in __stosb (as well as the other __stos* functions), as illustrated by this code (compile with -Os for 64bit): #include stdio.h #include windows.h #ifndef _AMD64_ #error Must be compiled for 64 bit #endif int main(int argc, char* argv[]) { struct { int a; int b; } c; c.a = 1; c.b = 2; __stosb((PBYTE)c, 0, sizeof(c)); printf(%u %u\n, c.a, c.b); // Should print 0 0 } The attached patch resolves this issue. What bug is it? It is not obvious from just the diff. memory clobber is missing (I agree that this is not obvious!) -- AlienVault Unified Security Management (USM) platform delivers complete security visibility with the essential security capabilities. Easily and efficiently configure, manage, and operate all of your security controls from a single console and one unified framework. Download a free trial. http://p.sf.net/sfu/alienvault_d2d ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
Re: [Mingw-w64-public] [PATCH] Fix bug in __stosb
Le 19/05/2013 21:53, Kai Tietz a écrit : thanks for the patch. please apply. Kai Am 19.05.2013 21:44 schrieb dw limegreenso...@yahoo.com: Committed as r5867 -- AlienVault Unified Security Management (USM) platform delivers complete security visibility with the essential security capabilities. Easily and efficiently configure, manage, and operate all of your security controls from a single console and one unified framework. Download a free trial. http://p.sf.net/sfu/alienvault_d2d ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
Re: [Mingw-w64-public] rubenvb's GCC 4.7.3 build
Hi, Le 08/05/2013 16:06, asmwarrior a écrit : On 2013-5-5 20:26, Ruben Van Boxem wrote: Hi everyone, I am late to the party, I know, but I am now uploading GCC 4.7.3, built with: GCC 4.7.4 4.7.4 really? ;) MinGW-w64 v2.0.8 binutils v2.23.2 gdb 7.5 Available at your local sourceforge mirror (still uploading at the time of this email): http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Personal%20Builds/rubenvb/gcc-4.7-release/ http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/rubenvb/gcc-4.7-release/ http://sourceforge.net/projects/mingw-w64/files/Toolchain%20sources/Personal%20Builds/rubenvb/release/ Next up is GCC 4.6.4, which is building now. Ruben I tested the one named i686-w64-mingw32-gcc-dw2-4.7.4-release-win32_rubenvb.7z under WinXP(sp3), but I see even a simple program will report an error like: ... _vswprintf could not be located in the dynamic link library msvcrt.dll. That's weird, can you send me your msvcrt.dll in private ? -- Learn Graph Databases - Download FREE O'Reilly Book Graph Databases is the definitive new guide to graph databases and their applications. This 200-page book is written by three acclaimed leaders in the field. The early access version is available now. Download your free book today! http://p.sf.net/sfu/neotech_d2d_may ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
[Mingw-w64-public] [PATCH] Add _daylight _timezone and _tzname
Add an alias without underscore Move the definition to the common header --- mingw-w64-crt/def-include/msvcrt-common.def.in | 7 +++ mingw-w64-crt/lib32/msvcr100.def.in| 3 --- mingw-w64-crt/lib32/msvcr110.def.in| 3 --- mingw-w64-crt/lib32/msvcr80.def.in | 3 --- mingw-w64-crt/lib32/msvcr90.def.in | 3 --- mingw-w64-crt/lib32/msvcr90d.def.in| 3 --- mingw-w64-crt/lib32/msvcrt.def.in | 3 --- mingw-w64-crt/lib64/msvcr100.def.in| 3 --- mingw-w64-crt/lib64/msvcr110.def.in| 3 --- mingw-w64-crt/lib64/msvcr80.def.in | 3 --- mingw-w64-crt/lib64/msvcr90.def.in | 3 --- mingw-w64-crt/lib64/msvcr90d.def.in| 3 --- mingw-w64-crt/lib64/msvcrt.def.in | 3 --- 13 files changed, 7 insertions(+), 36 deletions(-) diff --git a/mingw-w64-crt/def-include/msvcrt-common.def.in b/mingw-w64-crt/def-include/msvcrt-common.def.in index 8811dd7..a4585cf 100644 --- a/mingw-w64-crt/def-include/msvcrt-common.def.in +++ b/mingw-w64-crt/def-include/msvcrt-common.def.in @@ -124,3 +124,10 @@ ADD_UNDERSCORE(fpclass) ADD_UNDERSCORE(hypot) ;logb ADD_UNDERSCORE(nextafter) + +_daylight DATA +_timezone DATA +_tzname DATA +ADD_UNDERSCORE(daylight) +ADD_UNDERSCORE(timezone) +ADD_UNDERSCORE(tzname) diff --git a/mingw-w64-crt/lib32/msvcr100.def.in b/mingw-w64-crt/lib32/msvcr100.def.in index 6566306..05bfe53 100644 --- a/mingw-w64-crt/lib32/msvcr100.def.in +++ b/mingw-w64-crt/lib32/msvcr100.def.in @@ -805,7 +805,6 @@ _cwscanf _cwscanf_l _cwscanf_s _cwscanf_s_l -_daylight DATA _difftime32 DATA _difftime64 DATA _dosmaperr @@ -1427,14 +1426,12 @@ _tempnam _time32 _time64 time == _time32 -_timezone DATA _tolower _tolower_l _toupper _toupper_l _towlower_l _towupper_l -_tzname DATA _tzset _ui64toa _ui64toa_s diff --git a/mingw-w64-crt/lib32/msvcr110.def.in b/mingw-w64-crt/lib32/msvcr110.def.in index 68b4df8..0a0f3f3 100644 --- a/mingw-w64-crt/lib32/msvcr110.def.in +++ b/mingw-w64-crt/lib32/msvcr110.def.in @@ -929,7 +929,6 @@ _cwscanf _cwscanf_l _cwscanf_s _cwscanf_s_l -_daylight DATA _difftime32 _difftime64 _dosmaperr @@ -1560,14 +1559,12 @@ _tempnam _time32 _time64 time == _time32 -_timezone DATA _tolower _tolower_l _toupper _toupper_l _towlower_l _towupper_l -_tzname DATA _tzset _ui64toa _ui64toa_s diff --git a/mingw-w64-crt/lib32/msvcr80.def.in b/mingw-w64-crt/lib32/msvcr80.def.in index 5fcb09b..9155e68 100644 --- a/mingw-w64-crt/lib32/msvcr80.def.in +++ b/mingw-w64-crt/lib32/msvcr80.def.in @@ -140,7 +140,6 @@ _creat _cscanf _ctype DATA _cwait -_daylight DATA _dstbias DATA _dup _dup2 @@ -429,10 +428,8 @@ _sys_nerr DATA _tell _telli64 _tempnam -_timezone DATA _tolower _toupper -_tzname DATA _tzset _ui64toa _ui64tow diff --git a/mingw-w64-crt/lib32/msvcr90.def.in b/mingw-w64-crt/lib32/msvcr90.def.in index f33c8f7..de7779b 100644 --- a/mingw-w64-crt/lib32/msvcr90.def.in +++ b/mingw-w64-crt/lib32/msvcr90.def.in @@ -430,7 +430,6 @@ _cwscanf _cwscanf_l _cwscanf_s _cwscanf_s_l -_daylight DATA _decode_pointer DATA _difftime32 DATA _difftime64 DATA @@ -1061,14 +1060,12 @@ _tempnam _time32 time == _time32 _time64 -_timezone DATA _tolower _tolower_l _toupper _toupper_l _towlower_l _towupper_l -_tzname DATA _tzset _ui64toa _ui64toa_s diff --git a/mingw-w64-crt/lib32/msvcr90d.def.in b/mingw-w64-crt/lib32/msvcr90d.def.in index 1a79741..9967628 100644 --- a/mingw-w64-crt/lib32/msvcr90d.def.in +++ b/mingw-w64-crt/lib32/msvcr90d.def.in @@ -486,7 +486,6 @@ _cwscanf _cwscanf_l _cwscanf_s _cwscanf_s_l -_daylight DATA _decode_pointer _difftime32 _difftime64 @@ -1127,14 +1126,12 @@ _tempnam_dbg _time32 time == _time32 _time64 -_timezone DATA _tolower _tolower_l _toupper _toupper_l _towlower_l _towupper_l -_tzname DATA _tzset _ui64toa _ui64toa_s diff --git a/mingw-w64-crt/lib32/msvcrt.def.in b/mingw-w64-crt/lib32/msvcrt.def.in index 701f721..f50da29 100644 --- a/mingw-w64-crt/lib32/msvcrt.def.in +++ b/mingw-w64-crt/lib32/msvcrt.def.in @@ -140,7 +140,6 @@ _creat _cscanf _ctype DATA _cwait -_daylight DATA _dstbias DATA _dup _dup2 @@ -425,10 +424,8 @@ _sys_nerr DATA _tell _telli64 _tempnam -_timezone DATA _tolower _toupper -_tzname DATA _tzset _ui64toa _ui64tow diff --git a/mingw-w64-crt/lib64/msvcr100.def.in b/mingw-w64-crt/lib64/msvcr100.def.in index 9a00935..762a0bc 100644 --- a/mingw-w64-crt/lib64/msvcr100.def.in +++ b/mingw-w64-crt/lib64/msvcr100.def.in @@ -763,7 +763,6 @@ _cwscanf _cwscanf_l _cwscanf_s _cwscanf_s_l -_daylight DATA _difftime32 DATA _difftime64 DATA _dosmaperr @@ -1374,14 +1373,12 @@ _tempnam _time32 _time64 time == _time64 -_timezone DATA _tolower _tolower_l _toupper _toupper_l _towlower_l _towupper_l -_tzname DATA _tzset _ui64toa _ui64toa_s diff --git a/mingw-w64-crt/lib64/msvcr110.def.in b/mingw-w64-crt/lib64/msvcr110.def.in index db9b4ac..e63e97d 100644 ---
Re: [Mingw-w64-public] [PATCH] Add _daylight _timezone and _tzname
Le 27/04/2013 16:07, Rafaël Carré a écrit : Add an alias without underscore Move the definition to the common header --- committed as r5821 -- Try New Relic Now We'll Send You this Cool Shirt New Relic is the only SaaS-based application performance monitoring service that delivers powerful full stack analytics. Optimize and monitor your browser, app, servers with just a few lines of code. Try New Relic and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_apr ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
Re: [Mingw-w64-public] [PATCH 2/2] Provide vsnprintf alias for _vsnprintf
Hi, Le 20/04/2013 04:01, Derek Buitenhuis a écrit : On 2013-04-04 11:17 AM, Rafaël Carré wrote: --- mingw-w64-crt/lib32/msvcr100.def |1 + mingw-w64-crt/lib32/msvcr110.def |1 + mingw-w64-crt/lib32/msvcr80.def |1 + mingw-w64-crt/lib32/msvcr90.def |1 + mingw-w64-crt/lib32/msvcr90d.def |1 + mingw-w64-crt/lib32/msvcrt.def |1 + mingw-w64-crt/lib64/msvcr100.def |1 + mingw-w64-crt/lib64/msvcr110.def |1 + mingw-w64-crt/lib64/msvcr80.def |1 + mingw-w64-crt/lib64/msvcr90.def |1 + mingw-w64-crt/lib64/msvcr90d.def |1 + 11 files changed, 11 insertions(+) Note, this was already committed as r5799 Is this really a wise thing to do? _vsnprintf is not a POSIX-compliant implementation of vsnprintf, and IIRC, MinGW-w64 already implements its own compliant one in trunk. http://msdn.microsoft.com/en-US/library/1kt27hek(v=vs.80).aspx vsnprintf is identical to _vsnprintf. vsnprintf is included for compliance to the ANSI standard; vnsprintf is retained for backward compatibility. You can still use #define __USE_MINGW_ANSI_STDIO 1 to get the posix variant instead of the MS one. - Derek -- Precog is a next-generation analytics platform capable of advanced analytics on semi-structured data. The platform includes APIs for building apps and a phenomenal toolset for data science. Developers can use our toolset for easy data analysis visualization. Get a free account! http://www2.precog.com/precogplatform/slashdotnewsletter ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
[Mingw-w64-public] [PATCH 4/4] t_time testcase: _time32 is not available on Win64
--- mingw-w64-crt/testcases/t_time.c |4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/mingw-w64-crt/testcases/t_time.c b/mingw-w64-crt/testcases/t_time.c index 790a7e2..714cc51 100644 --- a/mingw-w64-crt/testcases/t_time.c +++ b/mingw-w64-crt/testcases/t_time.c @@ -4,11 +4,13 @@ int main() { time_t t; - __time32_t t32; + __time32_t t32 = 0; __time64_t t64; struct tm *htm; time (t); +#ifndef WIN64 _time32 (t32); +#endif _time64 (t64); printf (0x%I64xULL, 0x%I32x, 0x%I64xULL\n, (unsigned long long) t, (unsigned int) t32, (unsigned long long) t64); -- 1.7.10.4 -- Precog is a next-generation analytics platform capable of advanced analytics on semi-structured data. The platform includes APIs for building apps and a phenomenal toolset for data science. Developers can use our toolset for easy data analysis visualization. Get a free account! http://www2.precog.com/precogplatform/slashdotnewsletter ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
[Mingw-w64-public] [PATCH 2/4] lib64/msvcrt.def: include moldname contents
Remove libmoldname sources --- mingw-w64-crt/Makefile.am |7 +- mingw-w64-crt/crt/isascii.c | 16 - mingw-w64-crt/crt/iscsym.c| 16 - mingw-w64-crt/crt/iscsymf.c | 16 - mingw-w64-crt/crt/strcasecmp.c| 16 - mingw-w64-crt/crt/strncasecmp.c | 17 - mingw-w64-crt/crt/toascii.c | 17 - mingw-w64-crt/crt/wcscmpi.c | 17 - mingw-w64-crt/lib64/msvcrt.def| 1282 mingw-w64-crt/lib64/msvcrt.def.in | 1285 + 10 files changed, 1290 insertions(+), 1399 deletions(-) delete mode 100644 mingw-w64-crt/crt/isascii.c delete mode 100644 mingw-w64-crt/crt/iscsym.c delete mode 100644 mingw-w64-crt/crt/iscsymf.c delete mode 100644 mingw-w64-crt/crt/strcasecmp.c delete mode 100644 mingw-w64-crt/crt/strncasecmp.c delete mode 100644 mingw-w64-crt/crt/toascii.c delete mode 100644 mingw-w64-crt/crt/wcscmpi.c delete mode 100644 mingw-w64-crt/lib64/msvcrt.def create mode 100644 mingw-w64-crt/lib64/msvcrt.def.in diff --git a/mingw-w64-crt/Makefile.am b/mingw-w64-crt/Makefile.am index 845d29c..f19ba39 100644 --- a/mingw-w64-crt/Makefile.am +++ b/mingw-w64-crt/Makefile.am @@ -758,12 +758,14 @@ lib64_libmingwex_a_SOURCES = $(src_libmingwex) lib64_LIBRARIES += lib64/libmoldname.a lib64_libmoldname_a_CPPFLAGS=$(CPPFLAGS64) $(extra_include) $(AM_CPPFLAGS) -lib64_libmoldname_a_SOURCES = crt/isascii.c crt/iscsym.c crt/iscsymf.c crt/toascii.c crt/strcasecmp.c crt/strncasecmp.c crt/wcscmpi.c -lib64_libmoldname_a_AR = $(DTDEF64) $(top_srcdir)/lib64/moldname-msvcrt.def -U --dllname msvcrt.dll $(AR) $(ARFLAGS) +lib64_libmoldname_a_SOURCES = lib64_LIBRARIES += lib64/libmingwthrd.a lib64_libmingwthrd_a_SOURCES = $(src_libmingwthrd) lib64_libmingwthrd_a_CPPFLAGS=$(CPPFLAGS64) $(sysincludes) + +processed_defs += lib64/msvcrt.def + endif lib64_DATA = \ @@ -1117,6 +1119,7 @@ EXTRA_DIST += revstamp.h \ $(top_srcdir)/lib64/*.mri \ $(top_srcdir)/lib32/*.def \ $(top_srcdir)/lib32/*.def.in \ + $(top_srcdir)/lib64/*.def.in \ $(top_srcdir)/def-include/*.def.in \ $(top_srcdir)/lib32/*.mri \ crt/binmode.c \ diff --git a/mingw-w64-crt/crt/isascii.c b/mingw-w64-crt/crt/isascii.c deleted file mode 100644 index 39d0bfa..000 --- a/mingw-w64-crt/crt/isascii.c +++ /dev/null @@ -1,16 +0,0 @@ -/** - * This file has no copyright assigned and is placed in the Public Domain. - * This file is part of the mingw-w64 runtime package. - * No warranty is given; refer to the file DISCLAIMER.PD within this package. - */ - -#include ctype.h - -#undef isascii -int isascii (int); - -int -isascii (int c) -{ - return __isascii(c); -} diff --git a/mingw-w64-crt/crt/iscsym.c b/mingw-w64-crt/crt/iscsym.c deleted file mode 100644 index f879cfe..000 --- a/mingw-w64-crt/crt/iscsym.c +++ /dev/null @@ -1,16 +0,0 @@ -/** - * This file has no copyright assigned and is placed in the Public Domain. - * This file is part of the mingw-w64 runtime package. - * No warranty is given; refer to the file DISCLAIMER.PD within this package. - */ - -#include ctype.h -#undef iscsym - -int iscsym (int); - -int -iscsym (int c) -{ - return __iscsym(c); -} diff --git a/mingw-w64-crt/crt/iscsymf.c b/mingw-w64-crt/crt/iscsymf.c deleted file mode 100644 index 5b759c5..000 --- a/mingw-w64-crt/crt/iscsymf.c +++ /dev/null @@ -1,16 +0,0 @@ -/** - * This file has no copyright assigned and is placed in the Public Domain. - * This file is part of the mingw-w64 runtime package. - * No warranty is given; refer to the file DISCLAIMER.PD within this package. - */ - -#include ctype.h -#undef iscsymf - -int iscsymf (int); - -int -iscsymf (int c) -{ - return __iscsymf(c); -} diff --git a/mingw-w64-crt/crt/strcasecmp.c b/mingw-w64-crt/crt/strcasecmp.c deleted file mode 100644 index 02e000a..000 --- a/mingw-w64-crt/crt/strcasecmp.c +++ /dev/null @@ -1,16 +0,0 @@ -/** - * This file has no copyright assigned and is placed in the Public Domain. - * This file is part of the mingw-w64 runtime package. - * No warranty is given; refer to the file DISCLAIMER.PD within this package. - */ - -#define __CRT__NO_INLINE -#include string.h - -#undef strcasecmp -int strcasecmp (const char *, const char *); -int -strcasecmp (const char *sz1, const char *sz2) -{ - return _stricmp (sz1,sz2); -} diff --git a/mingw-w64-crt/crt/strncasecmp.c b/mingw-w64-crt/crt/strncasecmp.c deleted file mode 100644 index 39349d1..000 --- a/mingw-w64-crt/crt/strncasecmp.c +++ /dev/null @@ -1,17 +0,0 @@ -/** - * This file has no copyright assigned and is placed in the Public Domain. - * This file is part of the mingw-w64 runtime package. - * No warranty is given; refer to the file DISCLAIMER.PD within this package. - */ - -#define __CRT__NO_INLINE -#include string.h - -#undef strncasecmp -int strncasecmp (const char *, const char *, size_t); - -int -strncasecmp (const char *sz1,const char *sz2,size_t sizeMaxCompare) -{ - return _strnicmp
[Mingw-w64-public] [PATCH 0/4] Make libmoldname content available for msvcr*
[PATCH 1/4] Include moldname contents in msvcrt.def Move moldname-msvcrt.def content to the common 'header' Add macros to generate the proper symbol alias [PATCH 2/4] lib64/msvcrt.def: include moldname contents Repeat the same trick for lib64/msvcrt.def Remove source files that are not needed anymore [PATCH 3/4] msvcr[^t]*.def: include moldname content Repeat the same trick for all versions Visual Studio msvcr* [PATCH 4/4] t_time testcase: _time32 is not available on Win64 That one is not related, I just found that the test failed to build due to missing symbol -- Precog is a next-generation analytics platform capable of advanced analytics on semi-structured data. The platform includes APIs for building apps and a phenomenal toolset for data science. Developers can use our toolset for easy data analysis visualization. Get a free account! http://www2.precog.com/precogplatform/slashdotnewsletter ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
[Mingw-w64-public] [PATCH 1/4] Include moldname contents in msvcrt.def
Add .def alias for isascii, iscsym, iscsymf, toascii, strcasecmp, strncasecmp and wcscmpi Make libmoldname.a be an empty library --- mingw-w64-crt/Makefile.am |6 +- mingw-w64-crt/def-include/msvcrt-common.def.in | 130 +++- mingw-w64-crt/lib32/moldname-msvcrt.def| 118 - mingw-w64-crt/lib32/msvcrt.def.in |1 + 4 files changed, 132 insertions(+), 123 deletions(-) delete mode 100644 mingw-w64-crt/lib32/moldname-msvcrt.def diff --git a/mingw-w64-crt/Makefile.am b/mingw-w64-crt/Makefile.am index e8e3821..845d29c 100644 --- a/mingw-w64-crt/Makefile.am +++ b/mingw-w64-crt/Makefile.am @@ -84,7 +84,6 @@ src_libmingw32=include/oscalls.h include/internal.h include/sect_attribs.h \ crt/xtxtmode.c crt/crt_handler.c\ crt/tlsthrd.c crt/tlsmthread.c crt/tlsmcrt.c -src_libmoldname=crt/isascii.c crt/iscsym.c crt/iscsymf.c crt/toascii.c crt/strcasecmp.c crt/strncasecmp.c crt/wcscmpi.c src_libscrnsave=libsrc/scrnsave.c src_libscrnsavw=libsrc/scrnsave.c src_libstrmiids=libsrc/strmiids.c @@ -440,8 +439,7 @@ lib32_libmingwex_a_SOURCES = $(src_libmingwex) lib32_LIBRARIES += lib32/libmoldname.a lib32_libmoldname_a_CPPFLAGS=$(CPPFLAGS32) $(extra_include) $(AM_CPPFLAGS) -lib32_libmoldname_a_SOURCES = $(src_libmoldname) -lib32_libmoldname_a_AR = $(DTDEF32) $(top_srcdir)/lib32/moldname-msvcrt.def -U --dllname msvcrt.dll $(AR) $(ARFLAGS) +lib32_libmoldname_a_SOURCES = lib32_LIBRARIES += lib32/libmingwthrd.a lib32_libmingwthrd_a_SOURCES = $(src_libmingwthrd) @@ -760,7 +758,7 @@ lib64_libmingwex_a_SOURCES = $(src_libmingwex) lib64_LIBRARIES += lib64/libmoldname.a lib64_libmoldname_a_CPPFLAGS=$(CPPFLAGS64) $(extra_include) $(AM_CPPFLAGS) -lib64_libmoldname_a_SOURCES = $(src_libmoldname) +lib64_libmoldname_a_SOURCES = crt/isascii.c crt/iscsym.c crt/iscsymf.c crt/toascii.c crt/strcasecmp.c crt/strncasecmp.c crt/wcscmpi.c lib64_libmoldname_a_AR = $(DTDEF64) $(top_srcdir)/lib64/moldname-msvcrt.def -U --dllname msvcrt.dll $(AR) $(ARFLAGS) lib64_LIBRARIES += lib64/libmingwthrd.a diff --git a/mingw-w64-crt/def-include/msvcrt-common.def.in b/mingw-w64-crt/def-include/msvcrt-common.def.in index 5f74835..1be9be7 100644 --- a/mingw-w64-crt/def-include/msvcrt-common.def.in +++ b/mingw-w64-crt/def-include/msvcrt-common.def.in @@ -1,2 +1,130 @@ -memcpy +#define ADD_UNDERSCORE(symbol) symbol == _ ## symbol +#define ADD_DOUBLE_UNDERSCORE(symbol) symbol == __ ## symbol +ADD_DOUBLE_UNDERSCORE(iscsymf) +ADD_DOUBLE_UNDERSCORE(iscsym) +ADD_DOUBLE_UNDERSCORE(isascii) +ADD_DOUBLE_UNDERSCORE(toascii) + +wcscmpi == _wcsicmp +strcasecmp == _stricmp +strncasecmp == _strnicmp + +ADD_UNDERSCORE(access) +ADD_UNDERSCORE(chdir) +ADD_UNDERSCORE(chmod) +ADD_UNDERSCORE(chsize) +ADD_UNDERSCORE(close) +ADD_UNDERSCORE(creat) +ADD_UNDERSCORE(cwait) +ADD_UNDERSCORE(dup) +ADD_UNDERSCORE(dup2) +ADD_UNDERSCORE(ecvt) +ADD_UNDERSCORE(eof) +ADD_UNDERSCORE(execl) +ADD_UNDERSCORE(execle) +ADD_UNDERSCORE(execlp) +ADD_UNDERSCORE(execlpe) +ADD_UNDERSCORE(execv) +ADD_UNDERSCORE(execve) +ADD_UNDERSCORE(execvp) +ADD_UNDERSCORE(execvpe) +ADD_UNDERSCORE(fcvt) +ADD_UNDERSCORE(fdopen) +ADD_UNDERSCORE(fgetchar) +ADD_UNDERSCORE(fgetwchar) +ADD_UNDERSCORE(filelength) +ADD_UNDERSCORE(fileno) +; fpreset) +ADD_UNDERSCORE(fputchar) +ADD_UNDERSCORE(fputwchar) +;fstat) +;ftime) +ADD_UNDERSCORE(gcvt) +ADD_UNDERSCORE(getch) +ADD_UNDERSCORE(getche) +ADD_UNDERSCORE(getcwd) +ADD_UNDERSCORE(getpid) +ADD_UNDERSCORE(getw) +ADD_UNDERSCORE(heapwalk) +ADD_UNDERSCORE(isatty) +ADD_UNDERSCORE(itoa) +ADD_UNDERSCORE(kbhit) +ADD_UNDERSCORE(lfind) +ADD_UNDERSCORE(lsearch) +ADD_UNDERSCORE(lseek) +ADD_UNDERSCORE(ltoa) +ADD_UNDERSCORE(memccpy) +ADD_UNDERSCORE(memicmp) +ADD_UNDERSCORE(mkdir) +ADD_UNDERSCORE(mktemp) +ADD_UNDERSCORE(open) +ADD_UNDERSCORE(pclose) +ADD_UNDERSCORE(popen) +ADD_UNDERSCORE(putch) +ADD_UNDERSCORE(putenv) +ADD_UNDERSCORE(putw) +ADD_UNDERSCORE(read) +ADD_UNDERSCORE(rmdir) +ADD_UNDERSCORE(rmtmp) +ADD_UNDERSCORE(searchenv) +ADD_UNDERSCORE(setmode) +ADD_UNDERSCORE(sopen) +ADD_UNDERSCORE(spawnl) +ADD_UNDERSCORE(spawnle) +ADD_UNDERSCORE(spawnlp) +ADD_UNDERSCORE(spawnlpe) +ADD_UNDERSCORE(spawnv) +ADD_UNDERSCORE(spawnve) +ADD_UNDERSCORE(spawnvp) +ADD_UNDERSCORE(spawnvpe) +;stat) +ADD_UNDERSCORE(strcmpi) +ADD_UNDERSCORE(strdup) +ADD_UNDERSCORE(stricmp) +ADD_UNDERSCORE(stricoll) +ADD_UNDERSCORE(strlwr) +ADD_UNDERSCORE(strnicmp) +ADD_UNDERSCORE(strnset) +ADD_UNDERSCORE(strrev) +ADD_UNDERSCORE(strset) +ADD_UNDERSCORE(strupr) +ADD_UNDERSCORE(swab) +ADD_UNDERSCORE(tell) +ADD_UNDERSCORE(tempnam) +ADD_UNDERSCORE(tzset) +ADD_UNDERSCORE(umask) +ADD_UNDERSCORE(ungetch) +ADD_UNDERSCORE(unlink) +ADD_UNDERSCORE(utime) +ADD_UNDERSCORE(wcsdup) +ADD_UNDERSCORE(wcsicmp) +ADD_UNDERSCORE(wcsicoll) +ADD_UNDERSCORE(wcslwr) +ADD_UNDERSCORE(wcsnicmp) +ADD_UNDERSCORE(wcsnset) +ADD_UNDERSCORE(wcsrev) +ADD_UNDERSCORE(wcsset) +ADD_UNDERSCORE(wcsupr) +ADD_UNDERSCORE(wpopen)
Re: [Mingw-w64-public] [PATCH 2/2] Provide vsnprintf alias for _vsnprintf
Le 20/04/2013 22:47, Derek Buitenhuis a écrit : On 2013-04-20 9:05 AM, Rafaël Carré wrote: http://msdn.microsoft.com/en-US/library/1kt27hek(v=vs.80).aspx vsnprintf is identical to _vsnprintf. vsnprintf is included for compliance to the ANSI standard; vnsprintf is retained for backward compatibility. You can still use #define __USE_MINGW_ANSI_STDIO 1 to get the posix variant instead of the MS one. Is this (prominently) documented anywhere public? http://sourceforge.net/apps/trac/mingw-w64/wiki/gnu%20printf Providing a POSIX function name which isn't compliant could cause a lot of hidden bugs in people's code and/or porting efforts. Well blame Microsoft :) Also this applies to all *printf/scanf functions -- Precog is a next-generation analytics platform capable of advanced analytics on semi-structured data. The platform includes APIs for building apps and a phenomenal toolset for data science. Developers can use our toolset for easy data analysis visualization. Get a free account! http://www2.precog.com/precogplatform/slashdotnewsletter ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
Re: [Mingw-w64-public] [PATCH] msvcr*: add aliases for some underscore prefixed funtions:
Le 18/04/2013 09:40, Kai Tietz a écrit : Hello Rafael, patch is ok. Could you do the same for msvcrt.def files, too? I was unsure if doing it was necessary because they are already present in moldname, should they be removed from moldname then? Thanks, Kai -- Precog is a next-generation analytics platform capable of advanced analytics on semi-structured data. The platform includes APIs for building apps and a phenomenal toolset for data science. Developers can use our toolset for easy data analysis visualization. Get a free account! http://www2.precog.com/precogplatform/slashdotnewsletter ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
[Mingw-w64-public] [PATCH] msvcr*: add aliases for strdup, close, dup, fdopen, setmode
--- mingw-w64-crt/lib32/msvcr100.def |5 + mingw-w64-crt/lib32/msvcr110.def |5 + mingw-w64-crt/lib32/msvcr80.def |5 + mingw-w64-crt/lib32/msvcr90.def |5 + mingw-w64-crt/lib32/msvcr90d.def |5 + mingw-w64-crt/lib64/msvcr100.def |5 + mingw-w64-crt/lib64/msvcr110.def |5 + mingw-w64-crt/lib64/msvcr80.def |5 + mingw-w64-crt/lib64/msvcr90.def |5 + mingw-w64-crt/lib64/msvcr90d.def |5 + 10 files changed, 50 insertions(+) diff --git a/mingw-w64-crt/lib32/msvcr100.def b/mingw-w64-crt/lib32/msvcr100.def index f877e33..e0ed2c5 100644 --- a/mingw-w64-crt/lib32/msvcr100.def +++ b/mingw-w64-crt/lib32/msvcr100.def @@ -764,6 +764,7 @@ _chsize _chsize_s _clearfp _close +close == _close _commit _commode DATA _configthreadlocale @@ -808,6 +809,7 @@ _difftime64 DATA _dosmaperr _dstbias DATA _dup +dup == _dup _dup2 _dupenv_s _ecvt @@ -836,6 +838,7 @@ _fcloseall _fcvt _fcvt_s _fdopen +fdopen == _fdopen _fflush_nolock _fgetchar _fgetwc_nolock @@ -1321,6 +1324,7 @@ _setjmp3 _setmaxstdio _setmbcp _setmode +setmode == _setmode _setsystime _sleep _snprintf @@ -1371,6 +1375,7 @@ _strcoll_l _strdate _strdate_s _strdup +strdup == _strdup _strerror _strerror_s _strftime_l diff --git a/mingw-w64-crt/lib32/msvcr110.def b/mingw-w64-crt/lib32/msvcr110.def index c3413f5..32ee80d 100644 --- a/mingw-w64-crt/lib32/msvcr110.def +++ b/mingw-w64-crt/lib32/msvcr110.def @@ -888,6 +888,7 @@ _chsize _chsize_s _clearfp _close +close == _close _commit _commode DATA _configthreadlocale @@ -932,6 +933,7 @@ _difftime64 _dosmaperr _dstbias DATA _dup +dup == _dup _dup2 _dupenv_s _ecvt @@ -959,6 +961,7 @@ _fcloseall _fcvt _fcvt_s _fdopen +fdopen == _fdopen _fflush_nolock _fgetchar _fgetwc_nolock @@ -1454,6 +1457,7 @@ _setjmp3 _setmaxstdio _setmbcp _setmode +setmode == _setmode _setsystime _sleep _snprintf @@ -1504,6 +1508,7 @@ _strcoll_l _strdate _strdate_s _strdup +strdup == _strdup _strerror _strerror_s _strftime_l diff --git a/mingw-w64-crt/lib32/msvcr80.def b/mingw-w64-crt/lib32/msvcr80.def index 9c28d30..5f19400 100644 --- a/mingw-w64-crt/lib32/msvcr80.def +++ b/mingw-w64-crt/lib32/msvcr80.def @@ -126,6 +126,7 @@ _chmod _chsize _clearfp _close +close == _close _commit _commode DATA _control87 @@ -140,6 +141,7 @@ _cwait _daylight DATA _dstbias DATA _dup +dup == _dup _dup2 _ecvt _endthread @@ -162,6 +164,7 @@ _expand _fcloseall _fcvt _fdopen +fdopen == _fdopen _fgetchar _fgetwchar _filbuf @@ -384,6 +387,7 @@ _setjmp3 _setmaxstdio _setmbcp _setmode +setmode == _setmode _setsystime _sleep _snprintf @@ -408,6 +412,7 @@ _statusfp _strcmpi _strdate _strdup +strdup == _strdup _strerror _stricmp _stricoll diff --git a/mingw-w64-crt/lib32/msvcr90.def b/mingw-w64-crt/lib32/msvcr90.def index cca9dc8..f7e7f99 100644 --- a/mingw-w64-crt/lib32/msvcr90.def +++ b/mingw-w64-crt/lib32/msvcr90.def @@ -389,6 +389,7 @@ _chsize _chsize_s _clearfp _close +close == _close _commit _commode DATA _configthreadlocale @@ -434,6 +435,7 @@ _difftime64 DATA _dosmaperr _dstbias DATA _dup +dup == _dup _dup2 _dupenv_s _ecvt @@ -463,6 +465,7 @@ _fcloseall _fcvt _fcvt_s _fdopen +fdopen == _fdopen _fflush_nolock _fgetchar _fgetwc_nolock @@ -955,6 +958,7 @@ _setjmp3 _setmaxstdio _setmbcp _setmode +setmode == _setmode _setsystime _sleep _snprintf @@ -1005,6 +1009,7 @@ _strcoll_l _strdate _strdate_s _strdup +strdup == _strdup _strerror _strerror_s _strftime_l diff --git a/mingw-w64-crt/lib32/msvcr90d.def b/mingw-w64-crt/lib32/msvcr90d.def index 245ce2a..718cf1b 100644 --- a/mingw-w64-crt/lib32/msvcr90d.def +++ b/mingw-w64-crt/lib32/msvcr90d.def @@ -442,6 +442,7 @@ _chvalidator _chvalidator_l _clearfp _close +close == _close _commit _commode DATA _configthreadlocale @@ -490,6 +491,7 @@ _difftime64 _dosmaperr _dstbias DATA _dup +dup == _dup _dup2 _dupenv_s _dupenv_s_dbg @@ -521,6 +523,7 @@ _fcloseall _fcvt _fcvt_s _fdopen +fdopen == _fdopen _fflush_nolock _fgetchar _fgetwc_nolock @@ -1019,6 +1022,7 @@ _setjmp3 _setmaxstdio _setmbcp _setmode +setmode == _setmode _setsystime _sleep _snprintf @@ -1069,6 +1073,7 @@ _strcoll_l _strdate _strdate_s _strdup +strdup == _strdup _strdup_dbg _strerror _strerror_s diff --git a/mingw-w64-crt/lib64/msvcr100.def b/mingw-w64-crt/lib64/msvcr100.def index f316807..0c788ad 100644 --- a/mingw-w64-crt/lib64/msvcr100.def +++ b/mingw-w64-crt/lib64/msvcr100.def @@ -722,6 +722,7 @@ _chsize _chsize_s _clearfp _close +close == _close _commit _commode DATA _configthreadlocale @@ -766,6 +767,7 @@ _difftime64 DATA _dosmaperr _dstbias DATA _dup +dup == _dup _dup2 _dupenv_s _ecvt @@ -791,6 +793,7 @@ _fcloseall _fcvt _fcvt_s _fdopen +fdopen == _fdopen _fflush_nolock _fgetchar _fgetwc_nolock @@ -1269,6 +1272,7 @@ _setjmpex _setmaxstdio _setmbcp _setmode +setmode == _setmode _setsystime _sleep _snprintf @@ -1318,6
Re: [Mingw-w64-public] _wstat issue
Hello, Are you using x86_64 target ? Any reason for needing HAVE_32BIT_TIME_T btw? Le 17/04/2013 20:38, Antony Riakiotakis a écrit : Hi, I have identified a pretty nasty bug in the MinGW64 headers. The case that follows happens for _USE_32BIT_TIME_T undefined _wstat is defined as _wstat64i32 in _mingw_stat64.h This function expects a stat argument, and judging from the name the argument should be of type _stat64i32 instead, stat is defined as_stat64 in the relevant header (sys/stat.h). We have run into this issue in blender and _wstat returns erratic sizes, making our thumbnail system, possibly others too, misbehave. Indeed substituting stat with _stat64i32 in the code seems to fix the issue -- Precog is a next-generation analytics platform capable of advanced analytics on semi-structured data. The platform includes APIs for building apps and a phenomenal toolset for data science. Developers can use our toolset for easy data analysis visualization. Get a free account! http://www2.precog.com/precogplatform/slashdotnewsletter ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
[Mingw-w64-public] [PATCH] msvcr*: add aliases for some underscore prefixed funtions:
getcwd, putenv swab, strdup, stricmp, lfind open, write, close, fdopen, read, dup, access, fileno, isatty, setmode --- mingw-w64-crt/lib32/msvcr100.def | 16 mingw-w64-crt/lib32/msvcr110.def | 16 mingw-w64-crt/lib32/msvcr80.def | 16 mingw-w64-crt/lib32/msvcr90.def | 16 mingw-w64-crt/lib32/msvcr90d.def | 16 mingw-w64-crt/lib64/msvcr100.def | 16 mingw-w64-crt/lib64/msvcr110.def | 16 mingw-w64-crt/lib64/msvcr80.def | 16 mingw-w64-crt/lib64/msvcr90.def | 16 mingw-w64-crt/lib64/msvcr90d.def | 16 10 files changed, 160 insertions(+) diff --git a/mingw-w64-crt/lib32/msvcr100.def b/mingw-w64-crt/lib32/msvcr100.def index f877e33..409f791 100644 --- a/mingw-w64-crt/lib32/msvcr100.def +++ b/mingw-w64-crt/lib32/msvcr100.def @@ -717,6 +717,7 @@ __winitenv DATA _abnormal_termination _abs64 _access +access == _access _access_s _acmdln DATA _aligned_free @@ -764,6 +765,7 @@ _chsize _chsize_s _clearfp _close +close == _close _commit _commode DATA _configthreadlocale @@ -808,6 +810,7 @@ _difftime64 DATA _dosmaperr _dstbias DATA _dup +dup == _dup _dup2 _dupenv_s _ecvt @@ -836,6 +839,7 @@ _fcloseall _fcvt _fcvt_s _fdopen +fdopen == _fdopen _fflush_nolock _fgetchar _fgetwc_nolock @@ -844,6 +848,7 @@ _filbuf _filelength _filelengthi64 _fileno +fileno == _fileno _findclose _findfirst32 _findfirst32i64 @@ -931,6 +936,7 @@ _getch_nolock _getche _getche_nolock _getcwd +getcwd == _getcwd _getdcwd _getdcwd_nolock _getdiskfree @@ -981,6 +987,7 @@ _iob DATA _isalnum_l _isalpha_l _isatty +isatty == _isatty _iscntrl_l _isctype _isctype_l @@ -1075,6 +1082,7 @@ _j1 _jn _kbhit _lfind +lfind == _lfind _lfind_s _loaddll _local_unwind2 @@ -1254,6 +1262,7 @@ _msize _nextafter _onexit _open +open == _open _open_osfhandle _outp _outpd @@ -1271,6 +1280,7 @@ _purecall _putch _putch_nolock _putenv +putenv == _putenv _putenv_s _putw _putwch @@ -1278,6 +1288,7 @@ _putwch_nolock _putws _pwctype DATA _read +read == _read _realloc_crt _recalloc _recalloc_crt @@ -1321,6 +1332,7 @@ _setjmp3 _setmaxstdio _setmbcp _setmode +setmode == _setmode _setsystime _sleep _snprintf @@ -1371,10 +1383,12 @@ _strcoll_l _strdate _strdate_s _strdup +strdup == _strdup _strerror _strerror_s _strftime_l _stricmp +stricmp == _stricmp _stricmp_l _stricoll _stricoll_l @@ -1408,6 +1422,7 @@ _strupr_s _strupr_s_l _strxfrm_l _swab +swab == _swab _swprintf _swprintf_c _swprintf_c_l @@ -1618,6 +1633,7 @@ _wputenv_s _wremove _wrename _write +write == _write _wrmdir _wscanf_l _wscanf_s_l diff --git a/mingw-w64-crt/lib32/msvcr110.def b/mingw-w64-crt/lib32/msvcr110.def index c3413f5..33d975b 100644 --- a/mingw-w64-crt/lib32/msvcr110.def +++ b/mingw-w64-crt/lib32/msvcr110.def @@ -841,6 +841,7 @@ __winitenv DATA _abnormal_termination _abs64 _access +access == _access _access_s _acmdln DATA _aligned_free @@ -888,6 +889,7 @@ _chsize _chsize_s _clearfp _close +close == _close _commit _commode DATA _configthreadlocale @@ -932,6 +934,7 @@ _difftime64 _dosmaperr _dstbias DATA _dup +dup == _dup _dup2 _dupenv_s _ecvt @@ -959,6 +962,7 @@ _fcloseall _fcvt _fcvt_s _fdopen +fdopen == _fdopen _fflush_nolock _fgetchar _fgetwc_nolock @@ -967,6 +971,7 @@ _filbuf _filelength _filelengthi64 _fileno +fileno == _fileno _findclose _findfirst32 _findfirst == _findfirst32 @@ -1054,6 +1059,7 @@ _getch_nolock _getche _getche_nolock _getcwd +getcwd == _getcwd _getdcwd _getdiskfree _getdllprocaddr @@ -1103,6 +1109,7 @@ _iob DATA _isalnum_l _isalpha_l _isatty +isatty == _isatty _iscntrl_l _isctype _isctype_l @@ -1197,6 +1204,7 @@ _j1 _jn _kbhit _lfind +lfind == _lfind _lfind_s _libm_sse2_acos_precise _libm_sse2_asin_precise @@ -1387,6 +1395,7 @@ _msize _nextafter _onexit _open +open == _open _open_osfhandle _outp _outpd @@ -1404,6 +1413,7 @@ _purecall ; Check!!! Couldn't determine function argument count. Function doesn' _putch _putch_nolock _putenv +putenv == _putenv _putenv_s _putw _putwch @@ -1411,6 +1421,7 @@ _putwch_nolock _putws _pwctype DATA _read +read == _read _realloc_crt _recalloc _recalloc_crt @@ -1454,6 +1465,7 @@ _setjmp3 _setmaxstdio _setmbcp _setmode +setmode == _setmode _setsystime _sleep _snprintf @@ -1504,10 +1516,12 @@ _strcoll_l _strdate _strdate_s _strdup +strdup == _strdup _strerror _strerror_s _strftime_l _stricmp +stricmp == _stricmp _stricmp_l _stricoll _stricoll_l @@ -1541,6 +1555,7 @@ _strupr_s _strupr_s_l _strxfrm_l _swab +swab == _swab _swprintf _swprintf_c _swprintf_c_l @@ -1751,6 +1766,7 @@ _wputenv_s _wremove _wrename _write +write == _write _wrmdir _wscanf_l _wscanf_s_l diff --git a/mingw-w64-crt/lib32/msvcr80.def b/mingw-w64-crt/lib32/msvcr80.def index 9c28d30..f2c87b8 100644 ---
[Mingw-w64-public] [PATCH 1/6] Provide ctime/_ctime32/_ctime64 for all msvcrt versions through .def files
Remove ctime/_ctime32 .c replacements --- mingw-w64-crt/Makefile.am|4 ++-- mingw-w64-crt/lib32/msvcr100.def |3 ++- mingw-w64-crt/lib32/msvcr110.def |1 + mingw-w64-crt/lib32/msvcr80.def |4 ++-- mingw-w64-crt/lib32/msvcr90.def |3 ++- mingw-w64-crt/lib32/msvcr90d.def |1 + mingw-w64-crt/lib32/msvcrt.def |4 ++-- mingw-w64-crt/lib64/msvcr100.def |3 ++- mingw-w64-crt/lib64/msvcr110.def |1 + mingw-w64-crt/lib64/msvcr80.def |4 ++-- mingw-w64-crt/lib64/msvcr90.def |3 ++- mingw-w64-crt/lib64/msvcr90d.def |1 + mingw-w64-crt/lib64/msvcrt.def |3 +-- mingw-w64-crt/misc/_ctime32.c| 12 mingw-w64-crt/misc/ctime.c | 19 --- 15 files changed, 21 insertions(+), 45 deletions(-) delete mode 100644 mingw-w64-crt/misc/_ctime32.c delete mode 100644 mingw-w64-crt/misc/ctime.c diff --git a/mingw-w64-crt/Makefile.am b/mingw-w64-crt/Makefile.am index 6de6720..0682d2c 100644 --- a/mingw-w64-crt/Makefile.am +++ b/mingw-w64-crt/Makefile.am @@ -175,9 +175,9 @@ src_libmingwex=\ math/powi.def.h math/sin.def.h math/sqrt.def.h \ math/cephes_emath.h math/cephes_mconf.h math/fastmath.h math/fp_consts.h math/abs64.c \ \ - misc/_ctime32.cmisc/_gmtime32.c misc/_localtime32.c misc/_mkgmtime.c misc/_mkgmtime32.c\ + misc/_gmtime32.c misc/_localtime32.c misc/_mkgmtime.c misc/_mkgmtime32.c\ misc/_mktime32.c misc/_wctime.c misc/_wctime32.c misc/alarm.c \ - misc/basename.cmisc/btowc.c misc/ctime.c misc/delay-f.c misc/delay-n.c\ + misc/basename.cmisc/btowc.c misc/delay-f.c misc/delay-n.c\ misc/delayimp.cmisc/difftime.c misc/difftime32.c misc/difftime64.c misc/dirent.c \ misc/dirname.c misc/execv.c misc/execve.c misc/execvp.c misc/execvpe.c\ misc/feclearexcept.c misc/fegetenv.c misc/fegetexceptflag.c misc/fegetround.c misc/feholdexcept.c \ diff --git a/mingw-w64-crt/lib32/msvcr100.def b/mingw-w64-crt/lib32/msvcr100.def index c12275b..4531a4e 100644 --- a/mingw-w64-crt/lib32/msvcr100.def +++ b/mingw-w64-crt/lib32/msvcr100.def @@ -786,7 +786,8 @@ _cscanf _cscanf_l _cscanf_s _cscanf_s_l -_ctime32 DATA +_ctime32 +ctime == _ctime32 _ctime32_s _ctime64 _ctime64_s diff --git a/mingw-w64-crt/lib32/msvcr110.def b/mingw-w64-crt/lib32/msvcr110.def index 69b74a0..70e4331 100644 --- a/mingw-w64-crt/lib32/msvcr110.def +++ b/mingw-w64-crt/lib32/msvcr110.def @@ -911,6 +911,7 @@ _cscanf_l _cscanf_s _cscanf_s_l _ctime32 +ctime == _ctime32 _ctime32_s _ctime64 _ctime64_s diff --git a/mingw-w64-crt/lib32/msvcr80.def b/mingw-w64-crt/lib32/msvcr80.def index 824b7bc..2280373 100644 --- a/mingw-w64-crt/lib32/msvcr80.def +++ b/mingw-w64-crt/lib32/msvcr80.def @@ -528,8 +528,8 @@ clearerr clock cos cosh -ctime DATA -;_ctime32 = ctime +_ctime32 +ctime == _ctime32 difftime div exit diff --git a/mingw-w64-crt/lib32/msvcr90.def b/mingw-w64-crt/lib32/msvcr90.def index 7403049..2bfbd11 100644 --- a/mingw-w64-crt/lib32/msvcr90.def +++ b/mingw-w64-crt/lib32/msvcr90.def @@ -411,7 +411,8 @@ _cscanf _cscanf_l _cscanf_s _cscanf_s_l -_ctime32 DATA +_ctime32 +ctime == _ctime32 _ctime32_s _ctime64 _ctime64_s diff --git a/mingw-w64-crt/lib32/msvcr90d.def b/mingw-w64-crt/lib32/msvcr90d.def index f803b12..d16967a 100644 --- a/mingw-w64-crt/lib32/msvcr90d.def +++ b/mingw-w64-crt/lib32/msvcr90d.def @@ -468,6 +468,7 @@ _cscanf_l _cscanf_s _cscanf_s_l _ctime32 +ctime == _ctime32 _ctime32_s _ctime64 _ctime64_s diff --git a/mingw-w64-crt/lib32/msvcrt.def b/mingw-w64-crt/lib32/msvcrt.def index 38f3f73..0a1e4de 100644 --- a/mingw-w64-crt/lib32/msvcrt.def +++ b/mingw-w64-crt/lib32/msvcrt.def @@ -530,8 +530,8 @@ clearerr clock cos cosh -ctime DATA -;_ctime32 = ctime +ctime +_ctime32 == ctime difftime div exit diff --git a/mingw-w64-crt/lib64/msvcr100.def b/mingw-w64-crt/lib64/msvcr100.def index 162872f..ec85dc0 100644 --- a/mingw-w64-crt/lib64/msvcr100.def +++ b/mingw-w64-crt/lib64/msvcr100.def @@ -744,9 +744,10 @@ _cscanf _cscanf_l _cscanf_s _cscanf_s_l -_ctime32 DATA +_ctime32 _ctime32_s _ctime64 +ctime == _ctime64 _ctime64_s _cwait _cwprintf diff --git a/mingw-w64-crt/lib64/msvcr110.def b/mingw-w64-crt/lib64/msvcr110.def index f1f2c56..5e40913 100644 --- a/mingw-w64-crt/lib64/msvcr110.def +++ b/mingw-w64-crt/lib64/msvcr110.def @@ -873,6 +873,7 @@ _cscanf_s_l _ctime32 _ctime32_s _ctime64 +ctime == _ctime64 _ctime64_s _cwait _cwprintf diff --git a/mingw-w64-crt/lib64/msvcr80.def b/mingw-w64-crt/lib64/msvcr80.def index 922fee7..47aa3f2 100644 --- a/mingw-w64-crt/lib64/msvcr80.def
[Mingw-w64-public] [PATCH 0/6] Provide *time replacements through msvcr*.def
Hello, Those patches provide symbol aliases, like was done for _time32/_time64/time Note: The 64bit msvcrt.dll doesn't provide 32bits equivalents (at least for XP, they seem to have been added in later releases). mkgmtime* are not available in XP 32bits msvcrt.dll I did not touch difftime, as at least one version would be needed for msvcrt.dll -- Minimize network downtime and maximize team effectiveness. Reduce network management and security costs.Learn how to hire the most talented Cisco Certified professionals. Visit the Employer Resources Portal http://www.cisco.com/web/learning/employer_resources/index.html ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
[Mingw-w64-public] [PATCH 3/6] Provide mktime/_mktime32/_mktime64 for all msvcrt versions through .def files
Remove mktime/_mktime32 .c replacements --- mingw-w64-crt/Makefile.am|4 ++-- mingw-w64-crt/lib32/msvcr100.def |3 ++- mingw-w64-crt/lib32/msvcr110.def |1 + mingw-w64-crt/lib32/msvcr80.def |4 ++-- mingw-w64-crt/lib32/msvcr90.def |3 ++- mingw-w64-crt/lib32/msvcr90d.def |1 + mingw-w64-crt/lib32/msvcrt.def |4 ++-- mingw-w64-crt/lib64/msvcr100.def |3 ++- mingw-w64-crt/lib64/msvcr110.def |1 + mingw-w64-crt/lib64/msvcr80.def |4 ++-- mingw-w64-crt/lib64/msvcr90.def |3 ++- mingw-w64-crt/lib64/msvcr90d.def |1 + mingw-w64-crt/lib64/msvcrt.def |3 +-- mingw-w64-crt/misc/_mktime32.c | 12 mingw-w64-crt/misc/mktime.c | 20 15 files changed, 21 insertions(+), 46 deletions(-) delete mode 100644 mingw-w64-crt/misc/_mktime32.c delete mode 100644 mingw-w64-crt/misc/mktime.c diff --git a/mingw-w64-crt/Makefile.am b/mingw-w64-crt/Makefile.am index 3892922..7049c86 100644 --- a/mingw-w64-crt/Makefile.am +++ b/mingw-w64-crt/Makefile.am @@ -176,7 +176,7 @@ src_libmingwex=\ math/cephes_emath.h math/cephes_mconf.h math/fastmath.h math/fp_consts.h math/abs64.c \ \ misc/_localtime32.c misc/_mkgmtime.c misc/_mkgmtime32.c\ - misc/_mktime32.c misc/_wctime.c misc/_wctime32.c misc/alarm.c \ + misc/_wctime.c misc/_wctime32.c misc/alarm.c \ misc/basename.cmisc/btowc.c misc/delay-f.c misc/delay-n.c\ misc/delayimp.cmisc/difftime.c misc/difftime32.c misc/difftime64.c misc/dirent.c \ misc/dirname.c misc/execv.c misc/execve.c misc/execvp.c misc/execvpe.c\ @@ -187,7 +187,7 @@ src_libmingwex=\ misc/iswblank.cmisc/localtime.c misc/mb_wc_common.h misc/mbrtowc.c misc/mbsinit.c\ misc/mempcpy.c misc/mingw-aligned-malloc.c misc/mingw-fseek.c misc/mingw_get_codepage.c misc/mingw_getsp.S\ misc/mingw_matherr.c misc/mingw_mbwc_convert.c misc/mingw_output_format.c misc/mingw_usleep.cmisc/mingw_wcstod.c \ - misc/mingw_wcstof.cmisc/mingw_wcstold.c misc/mktime.c misc/seterrno.cmisc/sleep.c \ + misc/mingw_wcstof.cmisc/mingw_wcstold.c misc/seterrno.cmisc/sleep.c \ misc/spawnv.c misc/spawnve.c misc/spawnvp.c misc/spawnvpe.cmisc/strnlen.c\ misc/strsafe.c misc/strtoimax.c misc/strtold.c misc/strtoumax.c misc/tdelete.c\ misc/tfind.c misc/tsearch.c misc/twalk.c misc/uchar_c16rtomb.c \ diff --git a/mingw-w64-crt/lib32/msvcr100.def b/mingw-w64-crt/lib32/msvcr100.def index 512aef5..b5f4583 100644 --- a/mingw-w64-crt/lib32/msvcr100.def +++ b/mingw-w64-crt/lib32/msvcr100.def @@ -1241,7 +1241,8 @@ _mkgmtime32 DATA _mkgmtime64 _mktemp _mktemp_s -_mktime32 DATA +_mktime32 +mktime == _mktime32 _mktime64 _msize _nextafter diff --git a/mingw-w64-crt/lib32/msvcr110.def b/mingw-w64-crt/lib32/msvcr110.def index a949eb7..199834b 100644 --- a/mingw-w64-crt/lib32/msvcr110.def +++ b/mingw-w64-crt/lib32/msvcr110.def @@ -1375,6 +1375,7 @@ _mkgmtime64 _mktemp _mktemp_s _mktime32 +mktime == _mktime32 _mktime64 _msize _nextafter diff --git a/mingw-w64-crt/lib32/msvcr80.def b/mingw-w64-crt/lib32/msvcr80.def index fa62936..c9fb7f1 100644 --- a/mingw-w64-crt/lib32/msvcr80.def +++ b/mingw-w64-crt/lib32/msvcr80.def @@ -615,8 +615,8 @@ memcmp memcpy memmove memset -mktime DATA -;_mktime32 = mktime +mktime == _mktime32 +_mktime32 modf perror ;pow diff --git a/mingw-w64-crt/lib32/msvcr90.def b/mingw-w64-crt/lib32/msvcr90.def index f9090b6..c2f93f9 100644 --- a/mingw-w64-crt/lib32/msvcr90.def +++ b/mingw-w64-crt/lib32/msvcr90.def @@ -869,7 +869,8 @@ _mkgmtime32 DATA _mkgmtime64 _mktemp _mktemp_s -_mktime32 DATA +_mktime32 +mktime == _mktime32 _mktime64 _msize _nextafter diff --git a/mingw-w64-crt/lib32/msvcr90d.def b/mingw-w64-crt/lib32/msvcr90d.def index d7194ac..dbf2d8b 100644 --- a/mingw-w64-crt/lib32/msvcr90d.def +++ b/mingw-w64-crt/lib32/msvcr90d.def @@ -933,6 +933,7 @@ _mkgmtime64 _mktemp _mktemp_s _mktime32 +mktime == _mktime32 _mktime64 _msize _msize_dbg diff --git a/mingw-w64-crt/lib32/msvcrt.def b/mingw-w64-crt/lib32/msvcrt.def index 8931f6b..2ad325b 100644 --- a/mingw-w64-crt/lib32/msvcrt.def +++ b/mingw-w64-crt/lib32/msvcrt.def @@ -617,8 +617,8 @@ memcmp memcpy memmove memset -mktime DATA -;_mktime32 = mktime +mktime +_mktime32 == mktime modf perror ;pow diff --git
[Mingw-w64-public] [PATCH 4/6] Provide _wctime/_wctime32/_wctime64 for all msvcrt versions through .def files
Remove _wctime/_wctime32 .c replacements --- mingw-w64-crt/Makefile.am|2 +- mingw-w64-crt/lib32/msvcr100.def |3 ++- mingw-w64-crt/lib32/msvcr110.def |1 + mingw-w64-crt/lib32/msvcr80.def |4 ++-- mingw-w64-crt/lib32/msvcr90.def |3 ++- mingw-w64-crt/lib32/msvcr90d.def |1 + mingw-w64-crt/lib32/msvcrt.def |4 ++-- mingw-w64-crt/lib64/msvcr100.def |3 ++- mingw-w64-crt/lib64/msvcr110.def |1 + mingw-w64-crt/lib64/msvcr80.def |4 ++-- mingw-w64-crt/lib64/msvcr90.def |3 ++- mingw-w64-crt/lib64/msvcr90d.def |1 + mingw-w64-crt/lib64/msvcrt.def |3 +-- mingw-w64-crt/misc/_wctime.c | 22 -- mingw-w64-crt/misc/_wctime32.c | 17 - 15 files changed, 20 insertions(+), 52 deletions(-) delete mode 100644 mingw-w64-crt/misc/_wctime.c delete mode 100644 mingw-w64-crt/misc/_wctime32.c diff --git a/mingw-w64-crt/Makefile.am b/mingw-w64-crt/Makefile.am index 7049c86..5d3ac16 100644 --- a/mingw-w64-crt/Makefile.am +++ b/mingw-w64-crt/Makefile.am @@ -176,7 +176,7 @@ src_libmingwex=\ math/cephes_emath.h math/cephes_mconf.h math/fastmath.h math/fp_consts.h math/abs64.c \ \ misc/_localtime32.c misc/_mkgmtime.c misc/_mkgmtime32.c\ - misc/_wctime.c misc/_wctime32.c misc/alarm.c \ + misc/alarm.c \ misc/basename.cmisc/btowc.c misc/delay-f.c misc/delay-n.c\ misc/delayimp.cmisc/difftime.c misc/difftime32.c misc/difftime64.c misc/dirent.c \ misc/dirname.c misc/execv.c misc/execve.c misc/execvp.c misc/execvpe.c\ diff --git a/mingw-w64-crt/lib32/msvcr100.def b/mingw-w64-crt/lib32/msvcr100.def index b5f4583..6bf7650 100644 --- a/mingw-w64-crt/lib32/msvcr100.def +++ b/mingw-w64-crt/lib32/msvcr100.def @@ -1551,7 +1551,8 @@ _wcsupr_l _wcsupr_s _wcsupr_s_l _wcsxfrm_l -_wctime32 DATA +_wctime32 +_wctime == _wctime32 _wctime32_s _wctime64 _wctime64_s diff --git a/mingw-w64-crt/lib32/msvcr110.def b/mingw-w64-crt/lib32/msvcr110.def index 199834b..959b99c 100644 --- a/mingw-w64-crt/lib32/msvcr110.def +++ b/mingw-w64-crt/lib32/msvcr110.def @@ -1686,6 +1686,7 @@ _wcsupr_s _wcsupr_s_l _wcsxfrm_l _wctime32 +_wctime == _wctime32 _wctime32_s _wctime64 _wctime64_s diff --git a/mingw-w64-crt/lib32/msvcr80.def b/mingw-w64-crt/lib32/msvcr80.def index c9fb7f1..2a1db1f 100644 --- a/mingw-w64-crt/lib32/msvcr80.def +++ b/mingw-w64-crt/lib32/msvcr80.def @@ -446,8 +446,8 @@ _wcsnset _wcsrev _wcsset _wcsupr -_wctime DATA -;_wctime32 = _wctime +_wctime32 +_wctime == _wctime32 _wenviron DATA _wexecl _wexecle diff --git a/mingw-w64-crt/lib32/msvcr90.def b/mingw-w64-crt/lib32/msvcr90.def index c2f93f9..b3111df 100644 --- a/mingw-w64-crt/lib32/msvcr90.def +++ b/mingw-w64-crt/lib32/msvcr90.def @@ -1185,7 +1185,8 @@ _wcsupr_l _wcsupr_s _wcsupr_s_l _wcsxfrm_l -_wctime32 DATA +_wctime32 +_wctime == _wctime32 _wctime32_s _wctime64 _wctime64_s diff --git a/mingw-w64-crt/lib32/msvcr90d.def b/mingw-w64-crt/lib32/msvcr90d.def index dbf2d8b..c0951fc 100644 --- a/mingw-w64-crt/lib32/msvcr90d.def +++ b/mingw-w64-crt/lib32/msvcr90d.def @@ -1253,6 +1253,7 @@ _wcsupr_s _wcsupr_s_l _wcsxfrm_l _wctime32 +_wctime == _wctime32 _wctime32_s _wctime64 _wctime64_s diff --git a/mingw-w64-crt/lib32/msvcrt.def b/mingw-w64-crt/lib32/msvcrt.def index 2ad325b..39c41f8 100644 --- a/mingw-w64-crt/lib32/msvcrt.def +++ b/mingw-w64-crt/lib32/msvcrt.def @@ -447,8 +447,8 @@ _wcsnset _wcsrev _wcsset _wcsupr -_wctime DATA -;_wctime32 = _wctime +_wctime +_wctime32 == _wctime _wenviron DATA _wexecl _wexecle diff --git a/mingw-w64-crt/lib64/msvcr100.def b/mingw-w64-crt/lib64/msvcr100.def index a7f9a64..7bca3fe 100644 --- a/mingw-w64-crt/lib64/msvcr100.def +++ b/mingw-w64-crt/lib64/msvcr100.def @@ -1498,9 +1498,10 @@ _wcsupr_l _wcsupr_s _wcsupr_s_l _wcsxfrm_l -_wctime32 DATA +_wctime32 _wctime32_s _wctime64 +_wctime == _wctime64 _wctime64_s _wctomb_l _wctomb_s_l diff --git a/mingw-w64-crt/lib64/msvcr110.def b/mingw-w64-crt/lib64/msvcr110.def index 557be22..8e856a7 100644 --- a/mingw-w64-crt/lib64/msvcr110.def +++ b/mingw-w64-crt/lib64/msvcr110.def @@ -1626,6 +1626,7 @@ _wcsxfrm_l _wctime32 _wctime32_s _wctime64 +_wctime == _wctime64 _wctime64_s _wctomb_l _wctomb_s_l diff --git a/mingw-w64-crt/lib64/msvcr80.def b/mingw-w64-crt/lib64/msvcr80.def index 1267595..e21d10f 100644 --- a/mingw-w64-crt/lib64/msvcr80.def +++ b/mingw-w64-crt/lib64/msvcr80.def @@ -560,9 +560,9 @@ _wcsset _wcstoi64 _wcstoui64 _wcsupr -_wctime DATA -;_wctime32 = _wctime +_wctime32 _wctime64 +_wctime == _wctime64 _wctype _wenviron DATA _wexecl
[Mingw-w64-public] [PATCH 2/6] Provide gmtime/_gmtime32/_gmtime64 for all msvcrt versions through .def files
Remove gmtime/_gmtime32 .c replacements --- mingw-w64-crt/Makefile.am|4 ++-- mingw-w64-crt/lib32/msvcr100.def |3 ++- mingw-w64-crt/lib32/msvcr110.def |1 + mingw-w64-crt/lib32/msvcr80.def |4 ++-- mingw-w64-crt/lib32/msvcr90.def |3 ++- mingw-w64-crt/lib32/msvcr90d.def |1 + mingw-w64-crt/lib32/msvcrt.def |4 ++-- mingw-w64-crt/lib64/msvcr100.def |3 ++- mingw-w64-crt/lib64/msvcr110.def |1 + mingw-w64-crt/lib64/msvcr80.def |4 ++-- mingw-w64-crt/lib64/msvcr90.def |3 ++- mingw-w64-crt/lib64/msvcr90d.def |1 + mingw-w64-crt/lib64/msvcrt.def |3 +-- mingw-w64-crt/misc/_gmtime32.c | 11 --- mingw-w64-crt/misc/gmtime.c | 20 15 files changed, 21 insertions(+), 45 deletions(-) delete mode 100644 mingw-w64-crt/misc/_gmtime32.c delete mode 100644 mingw-w64-crt/misc/gmtime.c diff --git a/mingw-w64-crt/Makefile.am b/mingw-w64-crt/Makefile.am index 0682d2c..3892922 100644 --- a/mingw-w64-crt/Makefile.am +++ b/mingw-w64-crt/Makefile.am @@ -175,7 +175,7 @@ src_libmingwex=\ math/powi.def.h math/sin.def.h math/sqrt.def.h \ math/cephes_emath.h math/cephes_mconf.h math/fastmath.h math/fp_consts.h math/abs64.c \ \ - misc/_gmtime32.c misc/_localtime32.c misc/_mkgmtime.c misc/_mkgmtime32.c\ + misc/_localtime32.c misc/_mkgmtime.c misc/_mkgmtime32.c\ misc/_mktime32.c misc/_wctime.c misc/_wctime32.c misc/alarm.c \ misc/basename.cmisc/btowc.c misc/delay-f.c misc/delay-n.c\ misc/delayimp.cmisc/difftime.c misc/difftime32.c misc/difftime64.c misc/dirent.c \ @@ -183,7 +183,7 @@ src_libmingwex=\ misc/feclearexcept.c misc/fegetenv.c misc/fegetexceptflag.c misc/fegetround.c misc/feholdexcept.c \ misc/feraiseexcept.c misc/fesetenv.c misc/fesetexceptflag.c misc/fesetround.c misc/fetestexcept.c \ misc/feupdateenv.c misc/ftruncate.c misc/fwide.c misc/getlogin.cmisc/getopt.c \ - misc/gettimeofday.cmisc/gmtime.cmisc/imaxabs.c misc/imaxdiv.c misc/isblank.c\ + misc/gettimeofday.c misc/imaxabs.c misc/imaxdiv.c misc/isblank.c\ misc/iswblank.cmisc/localtime.c misc/mb_wc_common.h misc/mbrtowc.c misc/mbsinit.c\ misc/mempcpy.c misc/mingw-aligned-malloc.c misc/mingw-fseek.c misc/mingw_get_codepage.c misc/mingw_getsp.S\ misc/mingw_matherr.c misc/mingw_mbwc_convert.c misc/mingw_output_format.c misc/mingw_usleep.cmisc/mingw_wcstod.c \ diff --git a/mingw-w64-crt/lib32/msvcr100.def b/mingw-w64-crt/lib32/msvcr100.def index 4531a4e..512aef5 100644 --- a/mingw-w64-crt/lib32/msvcr100.def +++ b/mingw-w64-crt/lib32/msvcr100.def @@ -946,7 +946,8 @@ _getwche_nolock _getws _getws_s _global_unwind2 -_gmtime32 DATA +_gmtime32 +gmtime == _gmtime32 _gmtime32_s _gmtime64 _gmtime64_s diff --git a/mingw-w64-crt/lib32/msvcr110.def b/mingw-w64-crt/lib32/msvcr110.def index 70e4331..a949eb7 100644 --- a/mingw-w64-crt/lib32/msvcr110.def +++ b/mingw-w64-crt/lib32/msvcr110.def @@ -1069,6 +1069,7 @@ _getws _getws_s _global_unwind2 _gmtime32 +gmtime == _gmtime32 _gmtime32_s _gmtime64 _gmtime64_s diff --git a/mingw-w64-crt/lib32/msvcr80.def b/mingw-w64-crt/lib32/msvcr80.def index 2280373..fa62936 100644 --- a/mingw-w64-crt/lib32/msvcr80.def +++ b/mingw-w64-crt/lib32/msvcr80.def @@ -569,8 +569,8 @@ getenv gets getwc getwchar -gmtime DATA -;_gmtime32 = gmtime +_gmtime32 +gmtime == _gmtime32 is_wctype isalnum isalpha diff --git a/mingw-w64-crt/lib32/msvcr90.def b/mingw-w64-crt/lib32/msvcr90.def index 2bfbd11..f9090b6 100644 --- a/mingw-w64-crt/lib32/msvcr90.def +++ b/mingw-w64-crt/lib32/msvcr90.def @@ -575,7 +575,8 @@ _getwche_nolock _getws _getws_s _global_unwind2 -_gmtime32 DATA +_gmtime32 +gmtime == _gmtime32 _gmtime32_s _gmtime64 _gmtime64_s diff --git a/mingw-w64-crt/lib32/msvcr90d.def b/mingw-w64-crt/lib32/msvcr90d.def index d16967a..d7194ac 100644 --- a/mingw-w64-crt/lib32/msvcr90d.def +++ b/mingw-w64-crt/lib32/msvcr90d.def @@ -639,6 +639,7 @@ _getws _getws_s _global_unwind2 _gmtime32 +gmtime == _gmtime32 _gmtime32_s _gmtime64 _gmtime64_s diff --git a/mingw-w64-crt/lib32/msvcrt.def b/mingw-w64-crt/lib32/msvcrt.def index 0a1e4de..8931f6b 100644 --- a/mingw-w64-crt/lib32/msvcrt.def +++ b/mingw-w64-crt/lib32/msvcrt.def @@ -571,8 +571,8 @@ getenv gets getwc getwchar -gmtime DATA -;_gmtime32 = gmtime +gmtime +_gmtime32 == gmtime is_wctype isalnum isalpha diff
Re: [Mingw-w64-public] [PATCH 6/6] Provide _mkgmtime/_mkgmtime32/_mkgmtime64 for all msvcrt versions through .def files
Le 04/04/2013 11:56, Kai Tietz a écrit : Thanks for these changes. Patch is ok Thanks for review, Committed as r5717-r5723 (1 more commit due to ChangeLog and Makefile.in regeneration) -- Minimize network downtime and maximize team effectiveness. Reduce network management and security costs.Learn how to hire the most talented Cisco Certified professionals. Visit the Employer Resources Portal http://www.cisco.com/web/learning/employer_resources/index.html ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
[Mingw-w64-public] [PATCH] _w?find(next|first)*: sanitize msvcr* exports
Only msvcrt.dll exports the i64 suffix Make _w?find* alias _w?find* _w?find*32 on 32bits Make _w?find* alias _w?find* _w?find*64i32 on 64bits Do not use local definition when 64i32 version is already exported Add a test for _findfirst/_findnext/_findclose --- mingw-w64-crt/Makefile.am |1 + mingw-w64-crt/lib32/msvcr100.def | 12 mingw-w64-crt/lib32/msvcr110.def |4 mingw-w64-crt/lib32/msvcr80.def | 24 mingw-w64-crt/lib32/msvcr90.def | 12 mingw-w64-crt/lib32/msvcr90d.def |4 mingw-w64-crt/lib32/msvcrt.def|8 mingw-w64-crt/lib64/msvcr100.def | 12 mingw-w64-crt/lib64/msvcr110.def |4 mingw-w64-crt/lib64/msvcr80.def | 24 mingw-w64-crt/lib64/msvcr90.def | 12 mingw-w64-crt/lib64/msvcr90d.def |4 mingw-w64-crt/lib64/msvcrt.def|4 mingw-w64-crt/testcases/t_findfirst.c | 20 14 files changed, 113 insertions(+), 32 deletions(-) create mode 100644 mingw-w64-crt/testcases/t_findfirst.c diff --git a/mingw-w64-crt/Makefile.am b/mingw-w64-crt/Makefile.am index a356c8d..efbe3ea 100644 --- a/mingw-w64-crt/Makefile.am +++ b/mingw-w64-crt/Makefile.am @@ -1146,6 +1146,7 @@ testcase_progs = \ testcases/tstmaincpp \ testcases/tstmain_sys_xxx \ testcases/t_ansi_io \ + testcases/t_findfirst \ testcases/t_float \ testcases/t_fstat \ testcases/t_intrinc \ diff --git a/mingw-w64-crt/lib32/msvcr100.def b/mingw-w64-crt/lib32/msvcr100.def index 1f72ace..419d9aa 100644 --- a/mingw-w64-crt/lib32/msvcr100.def +++ b/mingw-w64-crt/lib32/msvcr100.def @@ -848,11 +848,13 @@ _findclose _findfirst32 _findfirst32i64 _findfirst64 -_findfirst64i32 DATA +_findfirst64i32 +_findfirst == _findfirst32 _findnext32 _findnext32i64 _findnext64 -_findnext64i32 DATA +_findnext64i32 +_findnext == _findnext32 _finite _flsbuf _flushall @@ -1575,11 +1577,13 @@ _wfdopen _wfindfirst32 _wfindfirst32i64 _wfindfirst64 -_wfindfirst64i32 DATA +_wfindfirst64i32 +_wfindfirst == _wfindfirst32 _wfindnext32 _wfindnext32i64 _wfindnext64 -_wfindnext64i32 DATA +_wfindnext64i32 +_wfindnext == _wfindnext32 _wfopen _wfopen_s _wfreopen diff --git a/mingw-w64-crt/lib32/msvcr110.def b/mingw-w64-crt/lib32/msvcr110.def index 66246d2..4d26f36 100644 --- a/mingw-w64-crt/lib32/msvcr110.def +++ b/mingw-w64-crt/lib32/msvcr110.def @@ -969,10 +969,12 @@ _filelengthi64 _fileno _findclose _findfirst32 +_findfirst == _findfirst32 _findfirst32i64 _findfirst64 _findfirst64i32 _findnext32 +_findnext == _findnext32 _findnext32i64 _findnext64 _findnext64i32 @@ -1709,10 +1711,12 @@ _wfdopen _wfindfirst32 _wfindfirst32i64 _wfindfirst64 +_wfindfirst == _wfindfirst32 _wfindfirst64i32 _wfindnext32 _wfindnext32i64 _wfindnext64 +_wfindnext == _wfindnext32 _wfindnext64i32 _wfopen _wfopen_s diff --git a/mingw-w64-crt/lib32/msvcr80.def b/mingw-w64-crt/lib32/msvcr80.def index d65cab9..53f9242 100644 --- a/mingw-w64-crt/lib32/msvcr80.def +++ b/mingw-w64-crt/lib32/msvcr80.def @@ -170,10 +170,14 @@ _filelength _filelengthi64 _fileno _findclose -_findfirst -_findfirsti64 -_findnext -_findnexti64 +_findfirst32 +_findfirst == _findfirst32 +_findfirst64i32 +_findfirst32i64 +_findnext32 +_findnext == _findnext32 +_findnext64i32 +_findnext32i64 _finite _flsbuf _flushall @@ -458,10 +462,14 @@ _wexecve _wexecvp _wexecvpe _wfdopen -_wfindfirst -_wfindfirsti64 -_wfindnext -_wfindnexti64 +_wfindfirst32 +_wfindfirst == _wfindfirst32 +_wfindfirst32i64 +_wfindfirst64i32 +_wfindnext32 +_wfindnext == _wfindnext32 +_wfindnext32i64 +_wfindnext64i32 _wfopen _wfreopen _wfsopen diff --git a/mingw-w64-crt/lib32/msvcr90.def b/mingw-w64-crt/lib32/msvcr90.def index 7f86c5e..3c253a9 100644 --- a/mingw-w64-crt/lib32/msvcr90.def +++ b/mingw-w64-crt/lib32/msvcr90.def @@ -473,13 +473,15 @@ _filelengthi64 _fileno _findclose _findfirst32 +_findfirst == _findfirst32 _findfirst32i64 _findfirst64 -_findfirst64i32 DATA +_findfirst64i32 _findnext32 +_findnext == _findnext32 _findnext32i64 _findnext64 -_findnext64i32 DATA +_findnext64i32 _finite _flsbuf _flushall @@ -1207,13 +1209,15 @@ _wexecvp _wexecvpe _wfdopen _wfindfirst32 +_wfindfirst == _wfindfirst32 _wfindfirst32i64 _wfindfirst64 -_wfindfirst64i32 DATA +_wfindfirst64i32 _wfindnext32 +_wfindnext == _wfindnext32 _wfindnext32i64 _wfindnext64 -_wfindnext64i32 DATA +_wfindnext64i32 _wfopen _wfopen_s _wfreopen diff --git a/mingw-w64-crt/lib32/msvcr90d.def b/mingw-w64-crt/lib32/msvcr90d.def index dcf47c5..490d2eb 100644 --- a/mingw-w64-crt/lib32/msvcr90d.def +++ b/mingw-w64-crt/lib32/msvcr90d.def @@ -531,10 +531,12 @@ _filelengthi64 _fileno _findclose _findfirst32 +_findfirst == _findfirst32 _findfirst32i64 _findfirst64 _findfirst64i32 _findnext32 +_findnext == _findnext32 _findnext32i64 _findnext64 _findnext64i32
[Mingw-w64-public] [PATCH 2/2] Provide vsnprintf alias for _vsnprintf
--- mingw-w64-crt/lib32/msvcr100.def |1 + mingw-w64-crt/lib32/msvcr110.def |1 + mingw-w64-crt/lib32/msvcr80.def |1 + mingw-w64-crt/lib32/msvcr90.def |1 + mingw-w64-crt/lib32/msvcr90d.def |1 + mingw-w64-crt/lib32/msvcrt.def |1 + mingw-w64-crt/lib64/msvcr100.def |1 + mingw-w64-crt/lib64/msvcr110.def |1 + mingw-w64-crt/lib64/msvcr80.def |1 + mingw-w64-crt/lib64/msvcr90.def |1 + mingw-w64-crt/lib64/msvcr90d.def |1 + 11 files changed, 11 insertions(+) diff --git a/mingw-w64-crt/lib32/msvcr100.def b/mingw-w64-crt/lib32/msvcr100.def index 419d9aa..4cae46a 100644 --- a/mingw-w64-crt/lib32/msvcr100.def +++ b/mingw-w64-crt/lib32/msvcr100.def @@ -1484,6 +1484,7 @@ _vscwprintf_l _vscwprintf_p _vscwprintf_p_l _vsnprintf +vsnprintf == _vsnprintf _vsnprintf_c _vsnprintf_c_l _vsnprintf_l diff --git a/mingw-w64-crt/lib32/msvcr110.def b/mingw-w64-crt/lib32/msvcr110.def index 01f38a4..a3f1952 100644 --- a/mingw-w64-crt/lib32/msvcr110.def +++ b/mingw-w64-crt/lib32/msvcr110.def @@ -1617,6 +1617,7 @@ _vscwprintf_l _vscwprintf_p _vscwprintf_p_l _vsnprintf +vsnprintf == _vsnprintf _vsnprintf_c _vsnprintf_c_l _vsnprintf_l diff --git a/mingw-w64-crt/lib32/msvcr80.def b/mingw-w64-crt/lib32/msvcr80.def index 53f9242..c09a404 100644 --- a/mingw-w64-crt/lib32/msvcr80.def +++ b/mingw-w64-crt/lib32/msvcr80.def @@ -432,6 +432,7 @@ _unloaddll _unlock _utime _vsnprintf +vsnprintf == _vsnprintf _vsnwprintf _waccess _wasctime diff --git a/mingw-w64-crt/lib32/msvcr90.def b/mingw-w64-crt/lib32/msvcr90.def index 3c253a9..367af5f 100644 --- a/mingw-w64-crt/lib32/msvcr90.def +++ b/mingw-w64-crt/lib32/msvcr90.def @@ -1118,6 +1118,7 @@ _vscwprintf_l _vscwprintf_p _vscwprintf_p_l _vsnprintf +vsnprintf == _vsnprintf _vsnprintf_c _vsnprintf_c_l _vsnprintf_l diff --git a/mingw-w64-crt/lib32/msvcr90d.def b/mingw-w64-crt/lib32/msvcr90d.def index 490d2eb..16c8e36 100644 --- a/mingw-w64-crt/lib32/msvcr90d.def +++ b/mingw-w64-crt/lib32/msvcr90d.def @@ -1184,6 +1184,7 @@ _vscwprintf_l _vscwprintf_p _vscwprintf_p_l _vsnprintf +vsnprintf == _vsnprintf _vsnprintf_c _vsnprintf_c_l _vsnprintf_l diff --git a/mingw-w64-crt/lib32/msvcrt.def b/mingw-w64-crt/lib32/msvcrt.def index 4f74808..171d446 100644 --- a/mingw-w64-crt/lib32/msvcrt.def +++ b/mingw-w64-crt/lib32/msvcrt.def @@ -433,6 +433,7 @@ _unloaddll _unlock _utime _vsnprintf +vsnprintf == _vsnprintf _vsnwprintf _waccess _wasctime diff --git a/mingw-w64-crt/lib64/msvcr100.def b/mingw-w64-crt/lib64/msvcr100.def index defdd38..000a92b 100644 --- a/mingw-w64-crt/lib64/msvcr100.def +++ b/mingw-w64-crt/lib64/msvcr100.def @@ -1431,6 +1431,7 @@ _vscwprintf_l _vscwprintf_p _vscwprintf_p_l _vsnprintf +vsnprintf == _vsnprintf _vsnprintf_c _vsnprintf_c_l _vsnprintf_l diff --git a/mingw-w64-crt/lib64/msvcr110.def b/mingw-w64-crt/lib64/msvcr110.def index 7d33fa1..77760a6 100644 --- a/mingw-w64-crt/lib64/msvcr110.def +++ b/mingw-w64-crt/lib64/msvcr110.def @@ -1555,6 +1555,7 @@ _vscwprintf_l _vscwprintf_p _vscwprintf_p_l _vsnprintf +vsnprintf == _vsnprintf _vsnprintf_c _vsnprintf_c_l _vsnprintf_l diff --git a/mingw-w64-crt/lib64/msvcr80.def b/mingw-w64-crt/lib64/msvcr80.def index 0c66c11..a8fdd00 100644 --- a/mingw-w64-crt/lib64/msvcr80.def +++ b/mingw-w64-crt/lib64/msvcr80.def @@ -544,6 +544,7 @@ _utime64 _vscprintf _vscwprintf _vsnprintf +vsnprintf == _vsnprintf _vsnwprintf _waccess _wasctime diff --git a/mingw-w64-crt/lib64/msvcr90.def b/mingw-w64-crt/lib64/msvcr90.def index 7162261..6afa032 100644 --- a/mingw-w64-crt/lib64/msvcr90.def +++ b/mingw-w64-crt/lib64/msvcr90.def @@ -1051,6 +1051,7 @@ _vscwprintf_l _vscwprintf_p _vscwprintf_p_l _vsnprintf +vsnprintf == _vsnprintf _vsnprintf_c _vsnprintf_c_l _vsnprintf_l diff --git a/mingw-w64-crt/lib64/msvcr90d.def b/mingw-w64-crt/lib64/msvcr90d.def index 73fe346..7389adb 100644 --- a/mingw-w64-crt/lib64/msvcr90d.def +++ b/mingw-w64-crt/lib64/msvcr90d.def @@ -,6 +,7 @@ _vscwprintf_l _vscwprintf_p _vscwprintf_p_l _vsnprintf +vsnprintf == _vsnprintf _vsnprintf_c _vsnprintf_c_l _vsnprintf_l -- 1.7.10.4 -- Minimize network downtime and maximize team effectiveness. Reduce network management and security costs.Learn how to hire the most talented Cisco Certified professionals. Visit the Employer Resources Portal http://www.cisco.com/web/learning/employer_resources/index.html ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
[Mingw-w64-public] [PATCH 1/2] msvcr110: use local implementation of longjmp
--- mingw-w64-crt/lib32/msvcr110.def |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mingw-w64-crt/lib32/msvcr110.def b/mingw-w64-crt/lib32/msvcr110.def index 4d26f36..01f38a4 100644 --- a/mingw-w64-crt/lib32/msvcr110.def +++ b/mingw-w64-crt/lib32/msvcr110.def @@ -1893,7 +1893,7 @@ lldiv localeconv log log10 -longjmp ; Check!!! Couldn't determine function argument count. Function doesn't return. +longjmp DATA malloc mblen mbrlen -- 1.7.10.4 -- Minimize network downtime and maximize team effectiveness. Reduce network management and security costs.Learn how to hire the most talented Cisco Certified professionals. Visit the Employer Resources Portal http://www.cisco.com/web/learning/employer_resources/index.html ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
[Mingw-w64-public] [PATCH] _(w|f)?stat*: sanitize msvcr* exports
Only msvcrt.dll exports the i64 suffix Make _(w|f)?stat* alias _(w|f)?stat* _(w|f)?stat*32 on 32bits Make _(w|f)?stat* alias _(w|f)?stat* _(w|f)?stat*64i32 on 64bits Do not use local definition (w|f)hen 64i32 version is already exported --- mingw-w64-crt/Makefile.am|2 +- mingw-w64-crt/lib32/msvcr100.def |9 +--- mingw-w64-crt/lib32/msvcr110.def |3 +++ mingw-w64-crt/lib32/msvcr80.def | 21 +- mingw-w64-crt/lib32/msvcr90.def |9 +--- mingw-w64-crt/lib32/msvcr90d.def |3 +++ mingw-w64-crt/lib32/msvcrt.def | 11 ++ mingw-w64-crt/lib64/msvcr100.def |9 +--- mingw-w64-crt/lib64/msvcr110.def |3 +++ mingw-w64-crt/lib64/msvcr80.def | 15 ++--- mingw-w64-crt/lib64/msvcr90.def |9 +--- mingw-w64-crt/lib64/msvcr90d.def |3 +++ mingw-w64-crt/lib64/msvcrt.def |9 +--- mingw-w64-crt/stdio/_fstati64.c | 45 -- mingw-w64-crt/stdio/_stati64.c | 45 -- mingw-w64-crt/stdio/_wstati64.c | 45 -- 16 files changed, 77 insertions(+), 164 deletions(-) delete mode 100755 mingw-w64-crt/stdio/_fstati64.c delete mode 100755 mingw-w64-crt/stdio/_stati64.c delete mode 100755 mingw-w64-crt/stdio/_wstati64.c diff --git a/mingw-w64-crt/Makefile.am b/mingw-w64-crt/Makefile.am index efbe3ea..cbaf238 100644 --- a/mingw-w64-crt/Makefile.am +++ b/mingw-w64-crt/Makefile.am @@ -200,7 +200,7 @@ src_libmingwex=\ stdio/vfscanf2.S stdio/vfwscanf2.S stdio/vscanf2.S stdio/vsscanf2.S stdio/vswscanf2.S \ stdio/vwscanf2.S \ stdio/_Exit.cstdio/_findfirst64i32.c stdio/_findnext64i32.c stdio/_fstat.c \ - stdio/_fstat64i32.c stdio/_fstati64.c stdio/_stati64.c stdio/_wstati64.c \ + stdio/_fstat64i32.c \ stdio/_ftime.cstdio/_getc_nolock.c stdio/_getwc_nolock.c stdio/_putc_nolock.c\ stdio/_putwc_nolock.cstdio/_stat.c stdio/_stat64i32.c stdio/_wfindfirst64i32.c stdio/_wfindnext64i32.c \ stdio/_wstat.c stdio/_wstat64i32.c stdio/asprintf.c stdio/atoll.c stdio/fgetpos64.c \ diff --git a/mingw-w64-crt/lib32/msvcr100.def b/mingw-w64-crt/lib32/msvcr100.def index 4cae46a..2d11a06 100644 --- a/mingw-w64-crt/lib32/msvcr100.def +++ b/mingw-w64-crt/lib32/msvcr100.def @@ -882,9 +882,10 @@ _fseeki64 DATA _fseeki64_nolock _fsopen _fstat32 +_fstat == _fstat32 _fstat32i64 _fstat64 -_fstat64i32 DATA +_fstat64i32 _ftell_nolock _ftelli64 DATA _ftelli64_nolock @@ -1358,9 +1359,10 @@ _sprintf_s_l _sscanf_l _sscanf_s_l _stat32 +_stat == _stat32 _stat32i64 _stat64 -_stat64i32 DATA +_stat64i32 _statusfp _statusfp2 _strcoll_l @@ -1633,9 +1635,10 @@ _wspawnvpe _wsplitpath _wsplitpath_s _wstat32 +_wstat == _wstat32 _wstat32i64 _wstat64 -_wstat64i32 DATA +_wstat64i32 _wstrdate _wstrdate_s _wstrtime diff --git a/mingw-w64-crt/lib32/msvcr110.def b/mingw-w64-crt/lib32/msvcr110.def index a3f1952..fc0cc78 100644 --- a/mingw-w64-crt/lib32/msvcr110.def +++ b/mingw-w64-crt/lib32/msvcr110.def @@ -1008,6 +1008,7 @@ _fstat32 _fstat32i64 _fstat64 _fstat64i32 +_fstat == _fstat32 _ftell_nolock _ftelli64 _ftelli64_nolock @@ -1494,6 +1495,7 @@ _stat32 _stat32i64 _stat64 _stat64i32 +_stat == _stat32 _statusfp _statusfp2 _strcoll_l @@ -1769,6 +1771,7 @@ _wstat32 _wstat32i64 _wstat64 _wstat64i32 +_wstat == _wstat32 _wstrdate _wstrdate_s _wstrtime diff --git a/mingw-w64-crt/lib32/msvcr80.def b/mingw-w64-crt/lib32/msvcr80.def index c09a404..6bb2ddf 100644 --- a/mingw-w64-crt/lib32/msvcr80.def +++ b/mingw-w64-crt/lib32/msvcr80.def @@ -188,7 +188,11 @@ _fpreset DATA _fputchar _fputwchar _fsopen -_fstat +_fstat32 +_fstat == _fstat32 +_fstat32i64 +_fstat64 +_fstat64i32 _ftime _ftol _fullpath @@ -393,7 +397,11 @@ _spawnve _spawnvp _spawnvpe _splitpath -_stat +_stat32 +_stat == _stat32 +_stat32i64 +_stat64 +_stat64i32 _statusfp _strcmpi _strdate @@ -505,7 +513,11 @@ _wspawnve _wspawnvp _wspawnvpe _wsplitpath -_wstat +_wstat32 +_wstat == _wstat32 +_wstat32i64 +_wstat64 +_wstat64i32 _wstrdate _wstrtime _wsystem @@ -728,7 +740,6 @@ _chkesp _ctime64 _findfirst64 _findnext64 -_fstat64 _ftime64 _futime64 _gmtime64 @@ -736,13 +747,11 @@ _localtime64 _mbcasemap _mktime64 _osplatformDATA -_stat64 _time64 _utime64 _wctime64 _wfindfirst64 _wfindnext64 -_wstat64 _wutime64 ; msvcr70.dll amd later __buffer_overrun diff --git a/mingw-w64-crt/lib32/msvcr90.def b/mingw-w64-crt/lib32/msvcr90.def index 367af5f..c872d62 100644 --- a/mingw-w64-crt/lib32/msvcr90.def +++ b/mingw-w64-crt/lib32/msvcr90.def @@ -509,9 +509,10 @@ _fseeki64 DATA _fseeki64_nolock _fsopen _fstat32 +_fstat == _fstat32 _fstat32i64 _fstat64 -_fstat64i32 DATA +_fstat64i32 _ftell_nolock _ftelli64 DATA _ftelli64_nolock @@
[Mingw-w64-public] [PATCH] _(w|f)?stat*: sanitize msvcr* exports
Only msvcrt.dll exports the i64 suffix Make _(w|f)?stat* alias _(w|f)?stat* _(w|f)?stat*32 on 32bits Make _(w|f)?stat* alias _(w|f)?stat* _(w|f)?stat*64i32 on 64bits Do not use local definition (w|f)hen 64i32 version is already exported --- This version adds _*stati64 alias and fix a bug in lib64/msvcr100.def mingw-w64-crt/Makefile.am|2 +- mingw-w64-crt/lib32/msvcr100.def | 12 +++--- mingw-w64-crt/lib32/msvcr110.def |6 + mingw-w64-crt/lib32/msvcr80.def | 24 +++- mingw-w64-crt/lib32/msvcr90.def | 12 +++--- mingw-w64-crt/lib32/msvcr90d.def |6 + mingw-w64-crt/lib32/msvcrt.def | 11 ++ mingw-w64-crt/lib64/msvcr100.def | 12 +++--- mingw-w64-crt/lib64/msvcr110.def |6 + mingw-w64-crt/lib64/msvcr80.def | 18 --- mingw-w64-crt/lib64/msvcr90.def | 12 +++--- mingw-w64-crt/lib64/msvcr90d.def |6 + mingw-w64-crt/lib64/msvcrt.def |9 +--- mingw-w64-crt/stdio/_fstati64.c | 45 -- mingw-w64-crt/stdio/_stati64.c | 45 -- mingw-w64-crt/stdio/_wstati64.c | 45 -- 16 files changed, 107 insertions(+), 164 deletions(-) delete mode 100755 mingw-w64-crt/stdio/_fstati64.c delete mode 100755 mingw-w64-crt/stdio/_stati64.c delete mode 100755 mingw-w64-crt/stdio/_wstati64.c diff --git a/mingw-w64-crt/Makefile.am b/mingw-w64-crt/Makefile.am index efbe3ea..cbaf238 100644 --- a/mingw-w64-crt/Makefile.am +++ b/mingw-w64-crt/Makefile.am @@ -200,7 +200,7 @@ src_libmingwex=\ stdio/vfscanf2.S stdio/vfwscanf2.S stdio/vscanf2.S stdio/vsscanf2.S stdio/vswscanf2.S \ stdio/vwscanf2.S \ stdio/_Exit.cstdio/_findfirst64i32.c stdio/_findnext64i32.c stdio/_fstat.c \ - stdio/_fstat64i32.c stdio/_fstati64.c stdio/_stati64.c stdio/_wstati64.c \ + stdio/_fstat64i32.c \ stdio/_ftime.cstdio/_getc_nolock.c stdio/_getwc_nolock.c stdio/_putc_nolock.c\ stdio/_putwc_nolock.cstdio/_stat.c stdio/_stat64i32.c stdio/_wfindfirst64i32.c stdio/_wfindnext64i32.c \ stdio/_wstat.c stdio/_wstat64i32.c stdio/asprintf.c stdio/atoll.c stdio/fgetpos64.c \ diff --git a/mingw-w64-crt/lib32/msvcr100.def b/mingw-w64-crt/lib32/msvcr100.def index 4cae46a..f877e33 100644 --- a/mingw-w64-crt/lib32/msvcr100.def +++ b/mingw-w64-crt/lib32/msvcr100.def @@ -882,9 +882,11 @@ _fseeki64 DATA _fseeki64_nolock _fsopen _fstat32 +_fstat == _fstat32 +_fstati64 == _fstat32i64 _fstat32i64 _fstat64 -_fstat64i32 DATA +_fstat64i32 _ftell_nolock _ftelli64 DATA _ftelli64_nolock @@ -1358,9 +1360,11 @@ _sprintf_s_l _sscanf_l _sscanf_s_l _stat32 +_stat == _stat32 +_stati64 == _stat32i64 _stat32i64 _stat64 -_stat64i32 DATA +_stat64i32 _statusfp _statusfp2 _strcoll_l @@ -1633,9 +1637,11 @@ _wspawnvpe _wsplitpath _wsplitpath_s _wstat32 +_wstat == _wstat32 +_wstati64 == _wstat32i64 _wstat32i64 _wstat64 -_wstat64i32 DATA +_wstat64i32 _wstrdate _wstrdate_s _wstrtime diff --git a/mingw-w64-crt/lib32/msvcr110.def b/mingw-w64-crt/lib32/msvcr110.def index a3f1952..c3413f5 100644 --- a/mingw-w64-crt/lib32/msvcr110.def +++ b/mingw-w64-crt/lib32/msvcr110.def @@ -1008,6 +1008,8 @@ _fstat32 _fstat32i64 _fstat64 _fstat64i32 +_fstat == _fstat32 +_fstati64 == _fstat32i64 _ftell_nolock _ftelli64 _ftelli64_nolock @@ -1494,6 +1496,8 @@ _stat32 _stat32i64 _stat64 _stat64i32 +_stat == _stat32 +_stati64 == _stat32i64 _statusfp _statusfp2 _strcoll_l @@ -1769,6 +1773,8 @@ _wstat32 _wstat32i64 _wstat64 _wstat64i32 +_wstat == _wstat32 +_wstati64 == _wstat32i64 _wstrdate _wstrdate_s _wstrtime diff --git a/mingw-w64-crt/lib32/msvcr80.def b/mingw-w64-crt/lib32/msvcr80.def index c09a404..9c28d30 100644 --- a/mingw-w64-crt/lib32/msvcr80.def +++ b/mingw-w64-crt/lib32/msvcr80.def @@ -188,7 +188,12 @@ _fpreset DATA _fputchar _fputwchar _fsopen -_fstat +_fstat32 +_fstat == _fstat32 +_fstati64 == _fstat32i64 +_fstat32i64 +_fstat64 +_fstat64i32 _ftime _ftol _fullpath @@ -393,7 +398,12 @@ _spawnve _spawnvp _spawnvpe _splitpath -_stat +_stat32 +_stat == _stat32 +_stati64 == _stat32i64 +_stat32i64 +_stat64 +_stat64i32 _statusfp _strcmpi _strdate @@ -505,7 +515,12 @@ _wspawnve _wspawnvp _wspawnvpe _wsplitpath -_wstat +_wstat32 +_wstat == _wstat32 +_wstati64 == _wstat32i64 +_wstat32i64 +_wstat64 +_wstat64i32 _wstrdate _wstrtime _wsystem @@ -728,7 +743,6 @@ _chkesp _ctime64 _findfirst64 _findnext64 -_fstat64 _ftime64 _futime64 _gmtime64 @@ -736,13 +750,11 @@ _localtime64 _mbcasemap _mktime64 _osplatformDATA -_stat64 _time64 _utime64 _wctime64 _wfindfirst64 _wfindnext64 -_wstat64 _wutime64 ; msvcr70.dll amd later __buffer_overrun diff --git a/mingw-w64-crt/lib32/msvcr90.def
Re: [Mingw-w64-public] [PATCH] Provide time/_time32/_time64 for all msvcrt versions through .def files
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Le 03/04/2013 00:07, JonY a écrit : On 4/2/2013 23:34, Kai Tietz wrote: patch is ok. jony any objections? thanks Kai I'm OK with it. Committed as r5715 Thanks -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.11 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iEYEARECAAYFAlFbv7UACgkQYWCeGMCv8Q95YQCfTS56XJzopFTQrSbFWqcZP17u 1WoAn2o+kZswM23pIPVE66szuHQm6aS3 =++Rm -END PGP SIGNATURE- -- Minimize network downtime and maximize team effectiveness. Reduce network management and security costs.Learn how to hire the most talented Cisco Certified professionals. Visit the Employer Resources Portal http://www.cisco.com/web/learning/employer_resources/index.html ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
Re: [Mingw-w64-public] Strange behavior of snwprintf() function
Hello, Le 2012-07-04 17:46, niXman a écrit : The following code gives the right result when compiled without Which right result exactly ? My reading of MSDN suggests a negative return value. defined __USE_MINGW_ANSI_STDIO macro. But, if __USE_MINGW_ANSI_STDIO macro is defined - the result is 6. Why? http://pubs.opengroup.org/onlinepubs/009695399/functions/snprintf.html Upon successful completion, the snprintf() function shall return the number of bytes that would be written to s had n been sufficiently large excluding the terminating null byte. So it seems return value of 6 corresponds to posix expectation. code: #include stdio.h int main() { wchar_t buf[2]; int len = snwprintf(buf, sizeof(buf) / 2, Lworld!); printf(%d\n, len); } Thanks. -- Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
[Mingw-w64-public] [PATCH] Create dxva.h and move DXVA_* structs and GUID from dxva2api.h
MS SDK defines these in dxva.h Reference: http://lists.libav.org/pipermail/libav-devel/2012-June/029098.html --- mingw-w64-headers/include/ChangeLog |5 + mingw-w64-headers/include/dxva.h | 218 ++ mingw-w64-headers/include/dxva2api.h | 199 --- 3 files changed, 223 insertions(+), 199 deletions(-) create mode 100644 mingw-w64-headers/include/dxva.h diff --git a/mingw-w64-headers/include/ChangeLog b/mingw-w64-headers/include/ChangeLog index 96792be..1e8ef76 100644 --- a/mingw-w64-headers/include/ChangeLog +++ b/mingw-w64-headers/include/ChangeLog @@ -1,3 +1,8 @@ +2012-06-28 Rafael Carre fun...@videolan.org + + * dxva.h: Create. + * dxva2api.h: Remove DXVA_* GUIDs and structs. + 2012-06-27 Corinna Vinschen vinsc...@redhat.com * stralign.h: Fix and add #endif comments. diff --git a/mingw-w64-headers/include/dxva.h b/mingw-w64-headers/include/dxva.h new file mode 100644 index 000..729036e --- /dev/null +++ b/mingw-w64-headers/include/dxva.h @@ -0,0 +1,218 @@ +/** + * This file has no copyright assigned and is placed in the Public Domain. + * This file is part of the w64 mingw-runtime package. + * No warranty is given; refer to the file DISCLAIMER.PD within this package. + */ +#ifndef _INC_DXVA +#define _INC_DXVA + +#include objbase.h +#include guiddef.h +#ifdef __cplusplus +extern C { +#endif + +DEFINE_GUID(DXVA_NoEncrypt, 0x1b81bed0, 0xa0c7,0x11d3, 0xb9,0x84,0x00,0xc0,0x4f,0x2e,0x73,0xc5); + +/* DXVA H264 */ +typedef struct { +__C89_NAMELESS union { +__C89_NAMELESS struct { +UCHAR Index7Bits : 7; +UCHAR AssociatedFlag : 1; +}; +UCHAR bPicEntry; +}; +} DXVA_PicEntry_H264; + +#pragma pack(push, 1) +typedef struct { +USHORT wFrameWidthInMbsMinus1; +USHORT wFrameHeightInMbsMinus1; +DXVA_PicEntry_H264 InPic; +DXVA_PicEntry_H264 OutPic; +USHORT PicOrderCnt_offset; +INT CurrPicOrderCnt; +UINTStatusReportFeedbackNumber; +UCHAR model_id; +UCHAR separate_colour_description_present_flag; +UCHAR film_grain_bit_depth_luma_minus8; +UCHAR film_grain_bit_depth_chroma_minus8; +UCHAR film_grain_full_range_flag; +UCHAR film_grain_colour_primaries; +UCHAR film_grain_transfer_characteristics; +UCHAR film_grain_matrix_coefficients; +UCHAR blending_mode_id; +UCHAR log2_scale_factor; +UCHAR comp_model_present_flag[4]; +UCHAR num_intensity_intervals_minus1[4]; +UCHAR num_model_values_minus1[4]; +UCHAR intensity_interval_lower_bound[3][16]; +UCHAR intensity_interval_upper_bound[3][16]; +SHORT comp_model_value[3][16][8]; +} DXVA_FilmGrainChar_H264; +#pragma pack(pop) + +/* DXVA MPEG-I/II and VC-1 */ +typedef struct _DXVA_PictureParameters { +USHORT wDecodedPictureIndex; +USHORT wDeblockedPictureIndex; +USHORT wForwardRefPictureIndex; +USHORT wBackwardRefPictureIndex; +USHORT wPicWidthInMBminus1; +USHORT wPicHeightInMBminus1; +UCHAR bMacroblockWidthMinus1; +UCHAR bMacroblockHeightMinus1; +UCHAR bBlockWidthMinus1; +UCHAR bBlockHeightMinus1; +UCHAR bBPPminus1; +UCHAR bPicStructure; +UCHAR bSecondField; +UCHAR bPicIntra; +UCHAR bPicBackwardPrediction; +UCHAR bBidirectionalAveragingMode; +UCHAR bMVprecisionAndChromaRelation; +UCHAR bChromaFormat; +UCHAR bPicScanFixed; +UCHAR bPicScanMethod; +UCHAR bPicReadbackRequests; +UCHAR bRcontrol; +UCHAR bPicSpatialResid8; +UCHAR bPicOverflowBlocks; +UCHAR bPicExtrapolation; +UCHAR bPicDeblocked; +UCHAR bPicDeblockConfined; +UCHAR bPic4MVallowed; +UCHAR bPicOBMC; +UCHAR bPicBinPB; +UCHAR bMV_RPS; +UCHAR bReservedBits; +USHORT wBitstreamFcodes; +USHORT wBitstreamPCEelements; +UCHAR bBitstreamConcealmentNeed; +UCHAR bBitstreamConcealmentMethod; +} DXVA_PictureParameters, *LPDXVA_PictureParameters; + +typedef struct _DXVA_QmatrixData { +BYTEbNewQmatrix[4]; +WORDQmatrix[4][8 * 8]; +} DXVA_QmatrixData, *LPDXVA_QmatrixData; + +#pragma pack(push, 1) +typedef struct _DXVA_SliceInfo { +USHORT wHorizontalPosition; +USHORT wVerticalPosition; +UINTdwSliceBitsInBuffer; +UINTdwSliceDataLocation; +UCHAR bStartCodeBitOffset; +UCHAR bReservedBits; +USHORT wMBbitOffset; +USHORT wNumberMBsInSlice; +USHORT wQuantizerScaleCode; +USHORT wBadSliceChopping; +} DXVA_SliceInfo, *LPDXVA_SliceInfo; +#pragma pack(pop) + +typedef struct { +USHORT wFrameWidthInMbsMinus1; +USHORT wFrameHeightInMbsMinus1; +DXVA_PicEntry_H264 CurrPic; +UCHAR num_ref_frames; +__C89_NAMELESS union { +__C89_NAMELESS struct { +USHORT field_pic_flag : 1; +USHORT MbaffFrameFlag : 1; +USHORT
Re: [Mingw-w64-public] MinGW64 status for use in blender3D
Le 2012-03-11 13:16, Antony Riakiotakis a écrit : Hi, I am interested in trying to add support for MinGW64 in blender3D but I feel there are some issues that will better be answered by asking here. 1) What is the state of the MinGW64 compiler? Is it considered stable enough to support in a big project such as blender? I don't know about clang, I have seen a few mentions of it on the list, but I know gcc works fine. It currently builds VLC fine so I guess it works on big projects. 2) Currently it's quite a procedure to build the compiler, meaning that different builders may get different results (or errors?) when building blender itself. Is there a plan to make official binaries available? http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/ 3) I have read that there might be library clashes (for instance read: http://www.gaia-gis.it/spatialite-3.0.0-BETA/mingw64_how_to.html). Have these been resolved? Not sure to which 'clashes' you refer to. If libraries have bugs then they should be solved with them although of course cooperation with mingw-w64 can help to have these bugs fixed. 4) Currently blender uses cmake and scons as build systems. Is support for MinGW64 planned explicitly for these platforms(or will it work by renaming the executables in some way)? Not sure about scons, but for cmake, in VLC we needed to generate a custom toolchain file and use cmake -DCMAKE_TOOLCHAIN_FILE=XXX in order to build taglib, game-music-emu, projectM, and mpcdec: set(CMAKE_SYSTEM_NAME Windows) set(CMAKE_RC_COMPILER x86_64-w64-mingw32-windres) set(CMAKE_C_COMPILER x86_64-w64-mingw32-gcc) set(CMAKE_CXX_COMPILER x86_64-w64-mingw32-g++) set(CMAKE_FIND_ROOT_PATH /media/dev/vlc/contrib/x86_64-w64-mingw32) set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) FIND_ROOT_PATH points to where win64 libraries are installed (e.g. the libraries on which taglib etc depend) -- Virtualization Cloud Management Using Capacity Planning Cloud computing makes use of virtualization - but cloud computing also focuses on allowing computing to be delivered as a service. http://www.accelacomm.com/jaw/sfnl/114/51521223/ ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
Re: [Mingw-w64-public] [PATCH] Fix ID2D1HwndRenderTarget interface
Le 2012-02-05 04:34, Kai Tietz a écrit : Thanks, patch is ok. Regards, Kai Committed as r4800 :) -- Try before you buy = See our experts in action! The most comprehensive online learning library for Microsoft developers is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3, Metro Style Apps, more. Free future releases when you subscribe now! http://p.sf.net/sfu/learndevnow-dev2 ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
[Mingw-w64-public] ID2D1RenderTarget
Hello, ID2D1RenderTarget interface (inherited by ID2D1HwndRenderTarget) is currently incorrect and crashes VLC Direct2D video output. ID2D1HwndRenderTarget is thus correctly marked as invalid using __MINGW_POISON_NAME - _layout_has_not_been_verified_and_its_declaration_is_most_likely_incorrect The interface is documented on http://msdn.microsoft.com/en-us/library/windows/desktop/dd371766(v=vs.85).aspx but the order of interface members is probably incorrect. On MSDN the functions are sorted alphabetically. I read Microsoft SDK v7.1 header to extract the exact order of members: CreateBitmap CreateBitmapFromWicBitmap CreateSharedBitmap CreateBitmapBrush CreateSolidColorBrush CreateGradientStopCollection CreateLinearGradientBrush CreateRadialGradientBrush CreateCompatibleRenderTarget CreateLayer CreateMesh DrawLine DrawRectangle FillRectangle DrawRoundedRectangle FillRoundedRectangle DrawEllipse FillEllipse DrawGeometry FillGeometry FillMesh FillOpacityMask DrawBitmap DrawText DrawTextLayout DrawGlyphRun SetTransform GetTransform SetAntialiasMode GetAntialiasMode SetTextAntialiasMode GetTextAntialiasMode SetTextRenderingParams GetTextRenderingParams SetTags GetTags PushLayer PopLayer Flush SaveDrawingState RestoreDrawingState PushAxisAlignedClip PopAxisAlignedClip Clear BeginDraw EndDraw GetPixelFormat SetDpi GetDpi GetSize GetPixelSize GetMaximumBitmapSize IsSupported -- Try before you buy = See our experts in action! The most comprehensive online learning library for Microsoft developers is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3, Metro Style Apps, more. Free future releases when you subscribe now! http://p.sf.net/sfu/learndevnow-dev2 ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
Re: [Mingw-w64-public] Patch allowing d2d1.h to be used (endif instead of endinf)
Le 2012-02-04 10:48, Stephen Kitt a écrit : Hi, Current svn trunk has a couple of #endinf statements instead of #endif in d2d1.h. The following patch fixes this: Hello, This patch is OK, though Jacek already sent it to developers mailing list and he should apply it soon I think Thanks -- Try before you buy = See our experts in action! The most comprehensive online learning library for Microsoft developers is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3, Metro Style Apps, more. Free future releases when you subscribe now! http://p.sf.net/sfu/learndevnow-dev2 ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
[Mingw-w64-public] [PATCH] Fix ID2D1HwndRenderTarget interface
Copy correct ID2D1RenderTarget interface Fix order of ID2D1HwndRenderTarget specific methods Tested on VLC --- mingw-w64-headers/include/ChangeLog |4 + mingw-w64-headers/include/d2d1.h| 117 --- 2 files changed, 58 insertions(+), 63 deletions(-) diff --git a/mingw-w64-headers/include/ChangeLog b/mingw-w64-headers/include/ChangeLog index a55d499..8c268cd 100644 --- a/mingw-w64-headers/include/ChangeLog +++ b/mingw-w64-headers/include/ChangeLog @@ -1,3 +1,7 @@ +2012-02-04 Rafaël Carré fun...@videolan.org + + * d2d1.h (ID2D1HwndRenderTarget): Fix interface + 2012-02-03 Rafaël Carré fun...@videolan.org * shobjidl.h (ApplicationAssociationRegistrationUI): Add missing interface diff --git a/mingw-w64-headers/include/d2d1.h b/mingw-w64-headers/include/d2d1.h index 5462b7c..e0d0c18 100644 --- a/mingw-w64-headers/include/d2d1.h +++ b/mingw-w64-headers/include/d2d1.h @@ -1728,72 +1728,64 @@ DECLARE_INTERFACE_(ID2D1HwndRenderTarget, ID2D1RenderTarget) STDMETHOD_(void, GetFactory)(THIS_ ID2D1Factory **factory) PURE; /* ID2D1RenderTarget methods */ - STDMETHOD_(void, BeginDraw)(THIS) PURE; - STDMETHOD_(void, Clear)(THIS_ const D2D1_COLOR_F *clearColor) PURE; - STDMETHOD(CreateBitmap)(THIS_ D2D1_SIZE_U size, void *srcData, UINT32 pitch, D2D1_BITMAP_PROPERTIES *bitmapProperties, ID2D1Bitmap **bitmap) PURE; - STDMETHOD(CreateBitmapBrush)(THIS_ ID2D1Bitmap *bitmap, ID2D1BitmapBrush **bitmapBrush) PURE; - STDMETHOD(CreateBitmapFromWicBitmap)(THIS_ IWICBitmapSource *wicBitmapSource, ID2D1Bitmap **bitmap) PURE; - STDMETHOD(CreateCompatibleRenderTarget)(THIS_ ID2D1BitmapRenderTarget **bitmapRenderTarget) PURE; - STDMETHOD(CreateGradientStopCollection)(THIS_ D2D1_GRADIENT_STOP *gradientStops, UINT gradientStopsCount, ID2D1GradientStopCollection **gradientStopCollection) PURE; - STDMETHOD(CreateLayer)(THIS_ ID2D1Layer **layer) PURE; - STDMETHOD(CreateLinearGradientBrush)(THIS_ D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES *linearGradientBrushProperties, D2D1_BRUSH_PROPERTIES *brushProperties, ID2D1GradientStopCollection *gradientStopCollection, ID2D1LinearGradientBrush **linearGradientBrush) PURE; - STDMETHOD(CreateMesh)(THIS_ ID2D1Mesh **mesh) PURE; - STDMETHOD(CreateRadialGradientBrush)(THIS_ D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES *radialGradientBrushProperties, D2D1_BRUSH_PROPERTIES *brushProperties, ID2D1GradientStopCollection *gradientStopCollection, ID2D1RadialGradientBrush **radialGradientBrush) PURE; - STDMETHOD(CreateSharedBitmap)(THIS_ REFIID riid, void *data, D2D1_BITMAP_PROPERTIES *bitmapProperties, ID2D1Bitmap **bitmap) PURE; - STDMETHOD(CreateSolidColorBrush)(THIS_ const D2D1_COLOR_F *color, const D2D1_BRUSH_PROPERTIES *brushProperties, ID2D1SolidColorBrush **solidColorBrush) PURE; - STDMETHOD_(void, DrawBitmap)(THIS_ ID2D1Bitmap *bitmap, D2D1_RECT_F *destinationRectangle, FLOAT opacity, D2D1_BITMAP_INTERPOLATION_MODE interpolationMode , D2D1_RECT_F *sourceRectangle) PURE; - STDMETHOD_(void, DrawEllipse)(THIS_ D2D1_ELLIPSE *ellipse, ID2D1Brush *brush, FLOAT strokeWidth, ID2D1StrokeStyle *strokeStyle) PURE; - STDMETHOD_(void, DrawGeometry)(THIS_ ID2D1Geometry *geometry, ID2D1Brush *brush, FLOAT strokeWidth, ID2D1StrokeStyle *strokeStyle) PURE; -#ifdef D2D_USE_C_DEFINITIONS - STDMETHOD_(void, DrawGlyphRun)(THIS_ D2D1_POINT_2F baselineOrigin, DWRITE_GLYPH_RUN *glyphRun, ID2D1Brush *foregroundBrush, DWRITE_MEASURING_MODE measuringMode) PURE; -#else - STDMETHOD_(void, DrawGlyphRun)(THIS_ D2D1_POINT_2F baselineOrigin, DWRITE_GLYPH_RUN *glyphRun, ID2D1Brush *foregroundBrush, DWRITE_MEASURING_MODE measuringMode = DWRITE_MEASURING_MODE_NATURAL) PURE; -#endif - STDMETHOD_(void, DrawLine)(THIS_ D2D1_POINT_2F point0, D2D1_POINT_2F point1, ID2D1Brush *brush, FLOAT strokeWidth, ID2D1StrokeStyle *strokeStyle) PURE; - STDMETHOD_(void, DrawRectangle)(THIS_ D2D1_RECT_F *rect, ID2D1Brush *brush, FLOAT strokeWidth, ID2D1StrokeStyle *strokeStyle) PURE; - STDMETHOD_(void, DrawRoundedRectangle)(THIS_ D2D1_ROUNDED_RECT *roundedRect, ID2D1Brush *brush, FLOAT strokeWidth, ID2D1StrokeStyle *strokeStyle) PURE; - STDMETHOD_(void, DrawText)(THIS_ WCHAR *string, UINT stringLength, IDWriteTextFormat *textFormat, D2D1_RECT_F *layoutRect, ID2D1Brush *defaultForegroundBrush, D2D1_DRAW_TEXT_OPTIONS options , DWRITE_MEASURING_MODE measuringMode) PURE; - STDMETHOD_(void, DrawTextLayout)(THIS_ D2D1_POINT_2F origin, IDWriteTextLayout *textLayout, ID2D1Brush *defaultForegroundBrush, D2D1_DRAW_TEXT_OPTIONS options) PURE; -#ifdef D2D_USE_C_DEFINITIONS - STDMETHOD(EndDraw)(THIS_ D2D1_TAG *tag1, D2D1_TAG *tag2) PURE; -#else - STDMETHOD(EndDraw)(THIS_ D2D1_TAG *tag1 = NULL, D2D1_TAG *tag2 = NULL) PURE; -#endif - STDMETHOD_(void, FillEllipse)(THIS_ D2D1_ELLIPSE *ellipse, ID2D1Brush *brush) PURE; - STDMETHOD_(void, FillGeometry)(THIS_ ID2D1Geometry *geometry, ID2D1Brush *brush, ID2D1Brush *opacityBrush) PURE; - STDMETHOD_(void
Re: [Mingw-w64-public] ID2D1RenderTarget
Le 2012-02-04 14:34, Rafaël Carré a écrit : Hello, ID2D1RenderTarget interface (inherited by ID2D1HwndRenderTarget) is currently incorrect and crashes VLC Direct2D video output. ID2D1HwndRenderTarget is thus correctly marked as invalid using __MINGW_POISON_NAME - _layout_has_not_been_verified_and_its_declaration_is_most_likely_incorrect The interface is documented on http://msdn.microsoft.com/en-us/library/windows/desktop/dd371766(v=vs.85).aspx but the order of interface members is probably incorrect. On MSDN the functions are sorted alphabetically. I read Microsoft SDK v7.1 header to extract the exact order of members: I will try to be more clear about what I did: I opened Microsoft SDK's d2d1.h and searched for ID2D1RenderTarget interface. I scrolled down through the whole interface and wrote the function names (and only the names) in my mail client, in the order I saw them. I did not look at function arguments or return value, since those are already defined in MSDN. Then I press send, and close Microsoft SDK's d2d1.h from my text editor. After that I opened my email, and I opened mingw-w64's d2d1.h, I looked for ID2D1RenderTarget interface to correct it, by swapping the functions in the order I saw them in my mail. I quickly saw that this interface was already correct. I copied the list of functions of ID2D1RenderTarget *of mingw-w64's d2d1.h* and pasted it in ID2D1HwndRenderTarget interface, replacing the bogus order. Then I replaced ID2D1RenderTarget *This by ID2D1HwndRenderTarget *This. After that I built VLC again, and saw that Resize() function returned an error: Cannot resize render target (width = %d, height = %d, hr = 0x%x)! Thus I opened Microsoft SDK's d2d1.h again, and saw that the order of functions for ID2D1HwndRenderTarget specific interface is: CheckWindowState Resize GetHwnd Thus I swapped GetHwnd and Resize in our interface, rebuilt VLC and found that direct2d output was working. The ID2D1HwndRenderTarget interface for C++ is different due to functions overloading. I did not look at this interface at all and did not try to implement it since VLC uses the C interface. I didn't copy anything from Microsoft header, you can verify this in d2d1.h: The text for ID2D1RenderTarget interface in the definition of ID2D1RenderTarget and ID2D1HwndRenderTarget is identical except for the type of This pointer. The text for ID2D1HwndRenderTarget specific interface is also identical, only 2 lines were swapped (GetHwnd and Resize). Please ask if you need more details. CreateBitmap CreateBitmapFromWicBitmap CreateSharedBitmap CreateBitmapBrush CreateSolidColorBrush CreateGradientStopCollection CreateLinearGradientBrush CreateRadialGradientBrush CreateCompatibleRenderTarget CreateLayer CreateMesh DrawLine DrawRectangle FillRectangle DrawRoundedRectangle FillRoundedRectangle DrawEllipse FillEllipse DrawGeometry FillGeometry FillMesh FillOpacityMask DrawBitmap DrawText DrawTextLayout DrawGlyphRun SetTransform GetTransform SetAntialiasMode GetAntialiasMode SetTextAntialiasMode GetTextAntialiasMode SetTextRenderingParams GetTextRenderingParams SetTags GetTags PushLayer PopLayer Flush SaveDrawingState RestoreDrawingState PushAxisAlignedClip PopAxisAlignedClip Clear BeginDraw EndDraw GetPixelFormat SetDpi GetDpi GetSize GetPixelSize GetMaximumBitmapSize IsSupported -- Try before you buy = See our experts in action! The most comprehensive online learning library for Microsoft developers is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3, Metro Style Apps, more. Free future releases when you subscribe now! http://p.sf.net/sfu/learndevnow-dev2 ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
[Mingw-w64-public] [PATCH] Make d2d1.h C compliant
Provide prototypes without a default value for arguments a la C++ --- mingw-w64-headers/include/d2d1.h |8 1 files changed, 8 insertions(+), 0 deletions(-) diff --git a/mingw-w64-headers/include/d2d1.h b/mingw-w64-headers/include/d2d1.h index 70704f2..5462b7c 100644 --- a/mingw-w64-headers/include/d2d1.h +++ b/mingw-w64-headers/include/d2d1.h @@ -1744,13 +1744,21 @@ DECLARE_INTERFACE_(ID2D1HwndRenderTarget, ID2D1RenderTarget) STDMETHOD_(void, DrawBitmap)(THIS_ ID2D1Bitmap *bitmap, D2D1_RECT_F *destinationRectangle, FLOAT opacity, D2D1_BITMAP_INTERPOLATION_MODE interpolationMode , D2D1_RECT_F *sourceRectangle) PURE; STDMETHOD_(void, DrawEllipse)(THIS_ D2D1_ELLIPSE *ellipse, ID2D1Brush *brush, FLOAT strokeWidth, ID2D1StrokeStyle *strokeStyle) PURE; STDMETHOD_(void, DrawGeometry)(THIS_ ID2D1Geometry *geometry, ID2D1Brush *brush, FLOAT strokeWidth, ID2D1StrokeStyle *strokeStyle) PURE; +#ifdef D2D_USE_C_DEFINITIONS + STDMETHOD_(void, DrawGlyphRun)(THIS_ D2D1_POINT_2F baselineOrigin, DWRITE_GLYPH_RUN *glyphRun, ID2D1Brush *foregroundBrush, DWRITE_MEASURING_MODE measuringMode) PURE; +#else STDMETHOD_(void, DrawGlyphRun)(THIS_ D2D1_POINT_2F baselineOrigin, DWRITE_GLYPH_RUN *glyphRun, ID2D1Brush *foregroundBrush, DWRITE_MEASURING_MODE measuringMode = DWRITE_MEASURING_MODE_NATURAL) PURE; +#endif STDMETHOD_(void, DrawLine)(THIS_ D2D1_POINT_2F point0, D2D1_POINT_2F point1, ID2D1Brush *brush, FLOAT strokeWidth, ID2D1StrokeStyle *strokeStyle) PURE; STDMETHOD_(void, DrawRectangle)(THIS_ D2D1_RECT_F *rect, ID2D1Brush *brush, FLOAT strokeWidth, ID2D1StrokeStyle *strokeStyle) PURE; STDMETHOD_(void, DrawRoundedRectangle)(THIS_ D2D1_ROUNDED_RECT *roundedRect, ID2D1Brush *brush, FLOAT strokeWidth, ID2D1StrokeStyle *strokeStyle) PURE; STDMETHOD_(void, DrawText)(THIS_ WCHAR *string, UINT stringLength, IDWriteTextFormat *textFormat, D2D1_RECT_F *layoutRect, ID2D1Brush *defaultForegroundBrush, D2D1_DRAW_TEXT_OPTIONS options , DWRITE_MEASURING_MODE measuringMode) PURE; STDMETHOD_(void, DrawTextLayout)(THIS_ D2D1_POINT_2F origin, IDWriteTextLayout *textLayout, ID2D1Brush *defaultForegroundBrush, D2D1_DRAW_TEXT_OPTIONS options) PURE; +#ifdef D2D_USE_C_DEFINITIONS + STDMETHOD(EndDraw)(THIS_ D2D1_TAG *tag1, D2D1_TAG *tag2) PURE; +#else STDMETHOD(EndDraw)(THIS_ D2D1_TAG *tag1 = NULL, D2D1_TAG *tag2 = NULL) PURE; +#endif STDMETHOD_(void, FillEllipse)(THIS_ D2D1_ELLIPSE *ellipse, ID2D1Brush *brush) PURE; STDMETHOD_(void, FillGeometry)(THIS_ ID2D1Geometry *geometry, ID2D1Brush *brush, ID2D1Brush *opacityBrush) PURE; STDMETHOD_(void, FillMesh)(THIS_ ID2D1Mesh *mesh, ID2D1Brush *brush) PURE; -- 1.7.8.3 -- Try before you buy = See our experts in action! The most comprehensive online learning library for Microsoft developers is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3, Metro Style Apps, more. Free future releases when you subscribe now! http://p.sf.net/sfu/learndevnow-dev2 ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
[Mingw-w64-public] [PATCH] Add missing interface for ApplicationAssociationRegistrationUI
--- mingw-w64-crt/ChangeLog |3 + mingw-w64-crt/libsrc/shell32.c |2 + mingw-w64-headers/include/ChangeLog |4 ++ mingw-w64-headers/include/shobjidl.h | 68 ++ 4 files changed, 77 insertions(+), 0 deletions(-) diff --git a/mingw-w64-crt/ChangeLog b/mingw-w64-crt/ChangeLog index fe9aa05..1fe9efe 100644 --- a/mingw-w64-crt/ChangeLog +++ b/mingw-w64-crt/ChangeLog @@ -1,3 +1,6 @@ +2012-02-01 Rafaël Carré fun...@videolan.org + +* libsrc/shell32.c (ApplicationAssociationRegistrationUI): Add UUIDs 2012-01-24 Kai Tietz kti...@redhat.com * lib64/msvcrt.def: Add forwarders to wide-(v)snprintf diff --git a/mingw-w64-crt/libsrc/shell32.c b/mingw-w64-crt/libsrc/shell32.c index c498211..169ae57 100644 --- a/mingw-w64-crt/libsrc/shell32.c +++ b/mingw-w64-crt/libsrc/shell32.c @@ -77,4 +77,6 @@ DEFINE_GUID(CLSID_ShellFSFolder,0xF3364BA0,0x65B9,0x11CE,0xA9,0xBA,0x00,0xAA,0x0 DEFINE_GUID(IID_IShellLinkDataList,0x45E2B4AE,0xB1C3, 0x11D0,0xB9,0x2F,0x00,0xA0,0xC9,0x03,0x12,0xE1); DEFINE_GUID(IID_IFolderView,0xCDE725B0L,0xCCC9,0x4519,0x91,0x7E,0x32,0x5D,0x72,0xFA,0xB4,0xCE); DEFINE_GUID(CLSID_TaskbarList,0x56FDF344L,0xFD6D,0x11D0,0x95,0x8A,0x00,0x60,0x97,0xC9,0xA0,0x90); +DEFINE_GUID(CLSID_ApplicationAssociationRegistrationUI, 0x1968106d, 0xf3b5, 0x44cf, 0x89,0x0e, 0x11,0x6f,0xcb,0x9e,0xce,0xf1); +DEFINE_GUID(IID_IApplicationAssociationRegistration, 0x4e530b0a, 0xe611, 0x4c77, 0xa3,0xac, 0x90,0x31,0xd0,0x22,0x28,0x1b); DEFINE_GUID(IID_ITaskList3,0xEA1AFB91L,0x9E28,0x4B86,0x90,0xE9,0x9E,0x9F,0x8A,0x5E,0xEF,0xAF); diff --git a/mingw-w64-headers/include/ChangeLog b/mingw-w64-headers/include/ChangeLog index 2a292ea..3e896a9 100644 --- a/mingw-w64-headers/include/ChangeLog +++ b/mingw-w64-headers/include/ChangeLog @@ -1,3 +1,7 @@ +2012-02-01 Rafaël Carré fun...@videolan.org + +* shobjidl.h (ApplicationAssociationRegistrationUI): Add missing interface + 2012-02-01 Kai Tietz kti...@redhat.com * rpcndr.h (small): Define only if RC_INVOKED is defined. diff --git a/mingw-w64-headers/include/shobjidl.h b/mingw-w64-headers/include/shobjidl.h index 2d918bc..43aae5d 100644 --- a/mingw-w64-headers/include/shobjidl.h +++ b/mingw-w64-headers/include/shobjidl.h @@ -223,6 +223,11 @@ typedef interface ITaskbarList3 ITaskbarList3; typedef interface ITaskbarList4 ITaskbarList4; #endif +#ifndef __IApplicationAssociationRegistrationUI_FWD_DEFINED__ +#define __IApplicationAssociationRegistrationUI_FWD_DEFINED__ +typedef interface IApplicationAssociationRegistrationUI IApplicationAssociationRegistrationUI; +#endif + #ifndef __ICDBurn_FWD_DEFINED__ #define __ICDBurn_FWD_DEFINED__ typedef struct ICDBurn ICDBurn; @@ -3448,6 +3453,59 @@ interface ITaskbarList4 { #endif #endif /* __ITaskbarList4_INTERFACE_DEFINED__ */ +/* + * IApplicationAssociationRegistrationUI interface + */ +#ifndef __IApplicationAssociationRegistrationUI_INTERFACE_DEFINED__ +#define __IApplicationAssociationRegistrationUI_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IApplicationAssociationRegistrationUI, 0x1f76a169, 0xf994, 0x40ac, 0x8f, 0xc8, 0x09, 0x59, 0xe8, 0x87, 0x47, 0x10); +#if defined(__cplusplus) !defined(CINTERFACE) +interface IApplicationAssociationRegistrationUI : public IUnknown +{ +virtual HRESULT STDMETHODCALLTYPE LaunchAdvancedAssociationUI( +LPCWSTR pszAppRegName) = 0; + +}; +#else +typedef struct IApplicationAssociationRegistrationUIVtbl { +BEGIN_INTERFACE + +/*** IUnknown methods ***/ +HRESULT (STDMETHODCALLTYPE *QueryInterface)( +IApplicationAssociationRegistrationUI* This, +REFIID riid, +void **ppvObject); + +ULONG (STDMETHODCALLTYPE *AddRef)( +IApplicationAssociationRegistrationUI* This); + +ULONG (STDMETHODCALLTYPE *Release)( +IApplicationAssociationRegistrationUI* This); + +/*** IApplicationAssociationRegistrationUI methods ***/ +HRESULT (STDMETHODCALLTYPE) *LaunchAdvancedAssociationUI( +IApplicationAssociationRegistrationUI* This, +LPCWSTR pszAppRegName); + +END_INTERFACE +} IApplicationAssociationRegistrationUIVtbl; +interface IApplicationAssociationRegistrationUI { +CONST_VTBL IApplicationAssociationRegistrationUIVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +/*** IUnknown methods ***/ +#define IApplicationAssociationRegistrationUI_QueryInterface(This,riid,ppvObject) (This)-lpVtbl-QueryInterface(This,riid,ppvObject) +#define IApplicationAssociationRegistrationUI_AddRef(This) (This)-lpVtbl-AddRef(This) +#define IApplicationAssociationRegistrationUI_Release(This) (This)-lpVtbl-Release(This) +/*** IApplicationAssociationRegistrationUI methods ***/ +#define IApplicationAssociationRegistrationUI_LaunchAdvancedAssociationUI(This) (This)-lpVtbl-LaunchAdvancedAssociationUI(This) +#endif + +#endif +#endif
Re: [Mingw-w64-public] [PATCH 1/4] Move IDL generation option from --enable-sdk=idl to --enable-idl
Le 2012-02-01 07:41, Earnie Boyd a écrit : On Tue, Jan 31, 2012 at 9:12 PM, Rafaël Carré funman-3shfj+llzkjg9huczpv...@public.gmane.org wrote: Le 2012-01-31 01:57, JonY a écrit : On 1/31/2012 11:07, Rafaël Carré wrote: --- mingw-w64-headers/configure.ac | 19 +++ 1 files changed, 11 insertions(+), 8 deletions(-) What is the benefit of it being split up? Kai wanted to split up at list IDL to keep it disabled. If possible keep the options as is, just enable them by default, eg --enable-sdks=all by default. I think --enable-sdks=ddk,directx is a strange way to use configure. No, it is acceptable as per your output below. --disable-foo --enable-bar is the standard way to use autoconf, and this makes the configure.ac code smaller. ./configure --help says: Optional Features: --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --enable-FEATURE[=ARG] and you're giving an ARG of ddk,directx. Even GCC uses an ARG other than yes. --enable-cloog-backend[=BACKEND] set the CLooG BACKEND used to either isl, ppl or ppl-legacy (default) --enable-stage1-languages[=all] choose additional languages to build during stage1. Mostly useful for compiler development Yes it makes sense, in fact I am just not used to it :) -- Keep Your Developer Skills Current with LearnDevNow! The most comprehensive online learning library for Microsoft developers is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3, Metro Style Apps, more. Free future releases when you subscribe now! http://p.sf.net/sfu/learndevnow-d2d ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
[Mingw-w64-public] [PATCH 2/4] Move DDK SDK headers option from --enable-sdk=ddk to --enable-ddk
Enable it by default --- mingw-w64-headers/configure.ac | 17 + 1 files changed, 9 insertions(+), 8 deletions(-) diff --git a/mingw-w64-headers/configure.ac b/mingw-w64-headers/configure.ac index 7afa861..4cbcad6 100644 --- a/mingw-w64-headers/configure.ac +++ b/mingw-w64-headers/configure.ac @@ -73,7 +73,6 @@ AC_SUBST([SECHEAD_LIST]) AC_SUBST([SECSYSHEAD_LIST]) enable_directx=no -enable_ddk=no AC_MSG_CHECKING([for optional sdk headers]) AC_ARG_ENABLE([sdk], @@ -83,11 +82,8 @@ AC_ARG_ENABLE([sdk], [enable_sdk=no]) AS_CASE([$enable_sdk], [all|yes],[ -enable_sdk=ddk,directx -enable_ddk=yes +enable_sdk=directx enable_directx=yes], - [ddk],[ -enable_ddk=yes], [directx],[ enable_directx=yes], [no],[], @@ -103,11 +99,16 @@ AS_VAR_IF([enable_directx],[yes],[ AC_SUBST([DXHEAD_LIST]) AC_SUBST([MINGW_HAS_DX]) -AS_VAR_IF([enable_ddk],[yes],[ +AC_MSG_CHECKING([if ddk sdk headers are enabled]) +AC_ARG_ENABLE([ddk], [AS_HELP_STRING([--disable-ddk], +[Disable DDK SDK headers (default enabled)])]) +test -z $enable_ddk enable_ddk=yes +AC_MSG_RESULT([$enable_ddk]) +AS_VAR_IF([enable_ddk],[no],[ +MINGW_HAS_DDK=0 + ],[ DDKHEAD_LIST=$srcdir/ddk/include/ddk/*.h MINGW_HAS_DDK=1 - ],[ -MINGW_HAS_DDK=0 ]) AC_SUBST([DDKHEAD_LIST]) AC_SUBST([MINGW_HAS_DDK]) -- 1.7.8.3 -- Keep Your Developer Skills Current with LearnDevNow! The most comprehensive online learning library for Microsoft developers is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3, Metro Style Apps, more. Free future releases when you subscribe now! http://p.sf.net/sfu/learndevnow-d2d ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
[Mingw-w64-public] [PATCH 0/4] Enable DDK / Directx headers by default
Hello, This patch series enable DDK and Directx headers by default. I need the dx headers to build VLC and it annoys me that i can't use automated builds because they weren't enabled. There should be no reason to not distribute them, but leave an option just in case. Thus, DDK and DirectX become separate enabled by default options, and IDL becomes a separate disabled by default option. mingw-w64-headers/configure| 86 +++ mingw-w64-headers/configure.ac | 57 +++--- 2 files changed, 66 insertions(+), 77 deletions(-) -- Keep Your Developer Skills Current with LearnDevNow! The most comprehensive online learning library for Microsoft developers is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3, Metro Style Apps, more. Free future releases when you subscribe now! http://p.sf.net/sfu/learndevnow-d2d ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
[Mingw-w64-public] [PATCH 4/4] configure: regenerate
--- mingw-w64-headers/configure | 86 +-- 1 files changed, 42 insertions(+), 44 deletions(-) diff --git a/mingw-w64-headers/configure b/mingw-w64-headers/configure index 7a5925b..ab1f432 100755 --- a/mingw-w64-headers/configure +++ b/mingw-w64-headers/configure @@ -666,7 +666,9 @@ enable_option_checking enable_maintainer_mode with_widl enable_crt -enable_sdk +enable_directx +enable_ddk +enable_idl enable_secure_api ' ac_precious_vars='build_alias @@ -1296,8 +1298,10 @@ Optional Features: --enable-maintainer-mode enable make rules and dependencies not useful (and sometimes confusing) to the casual installer --disable-crt Do not use the default crt headers - --enable-sdk=ARGAdd the desired SDK, where ARG can be one of ddk, - directx, idl or all + --disable-directx Disable DirectX SDK headers (default enabled) + --disable-ddk Disable DDK SDK headers (default enabled) + --enable-idlEnable generation of headers via idl in + maintainer-mode (default disabled) --enable-secure-api Enable secure API by default Optional Packages: @@ -2556,69 +2560,63 @@ MINGWHELPERHEAD_LIST=$srcdir/include/psdk_inc/*.h -enable_directx=no -enable_ddk=no -enable_idl=no - -{ $as_echo $as_me:${as_lineno-$LINENO}: checking for optional sdk headers 5 -$as_echo_n checking for optional sdk headers... 6; } -# Check whether --enable-sdk was given. -if test ${enable_sdk+set} = set; then : - enableval=$enable_sdk; -else - enable_sdk=no +{ $as_echo $as_me:${as_lineno-$LINENO}: checking if directx sdk headers are enabled 5 +$as_echo_n checking if directx sdk headers are enabled... 6; } +# Check whether --enable-directx was given. +if test ${enable_directx+set} = set; then : + enableval=$enable_directx; fi -case $enable_sdk in #( - all|yes) : - -enable_sdk=ddk,directx,idl -enable_ddk=yes -enable_directx=yes ;; #( - ddk) : +test -z $enable_directx enable_directx=yes +{ $as_echo $as_me:${as_lineno-$LINENO}: result: $enable_directx 5 +$as_echo $enable_directx 6; } +if test x$enable_directx = xno; then : -enable_ddk=yes ;; #( - directx) : - -enable_directx=yes ;; #( - idl) : - -enable_idl=yes ;; #( - no) : - ;; #( - *) : -as_fn_error $? Invalid option: $enable_sdk. Please choose one of ddk, directx, idl or all. $LINENO 5 ;; -esac -{ $as_echo $as_me:${as_lineno-$LINENO}: result: $enable_sdk 5 -$as_echo $enable_sdk 6; } +MINGW_HAS_DX=0 -if test x$enable_directx = xyes; then : +else DXHEAD_LIST=$srcdir/direct-x/include/*.[hi]* MINGW_HAS_DX=1 -else +fi + -MINGW_HAS_DX=0 +{ $as_echo $as_me:${as_lineno-$LINENO}: checking if ddk sdk headers are enabled 5 +$as_echo_n checking if ddk sdk headers are enabled... 6; } +# Check whether --enable-ddk was given. +if test ${enable_ddk+set} = set; then : + enableval=$enable_ddk; fi +test -z $enable_ddk enable_ddk=yes +{ $as_echo $as_me:${as_lineno-$LINENO}: result: $enable_ddk 5 +$as_echo $enable_ddk 6; } +if test x$enable_ddk = xno; then : +MINGW_HAS_DDK=0 -if test x$enable_ddk = xyes; then : +else DDKHEAD_LIST=$srcdir/ddk/include/ddk/*.h MINGW_HAS_DDK=1 -else - -MINGW_HAS_DDK=0 - fi -if test x$enable_idl = xyes; then : +{ $as_echo $as_me:${as_lineno-$LINENO}: checking if headers generation via idl is enabled 5 +$as_echo_n checking if headers generation via idl is enabled... 6; } +# Check whether --enable-idl was given. +if test ${enable_idl+set} = set; then : + enableval=$enable_idl; +fi + +test -z $enable_idl enable_idl=no +{ $as_echo $as_me:${as_lineno-$LINENO}: result: $enable_idl 5 +$as_echo $enable_idl 6; } +if test x$enable_idl = xno; then : IDLHEAD_LIST=$srcdir/idl/*.idl fi -- 1.7.8.3 -- Keep Your Developer Skills Current with LearnDevNow! The most comprehensive online learning library for Microsoft developers is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3, Metro Style Apps, more. Free future releases when you subscribe now! http://p.sf.net/sfu/learndevnow-d2d ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
[Mingw-w64-public] Fix dangerous typo in asprintf definition
Fix a typo I introduced in r4563 When I sent those, VLC build was using the vlc replacement of *asprintf() instead of mingw declaration. (because autoconf AC_CHECK_FUNCS only checks for extern symbols) Now VLC works correctly for x86_64, and I'm ready to test i686 -- Rafaël Carré From 3560a7503ebc2ace54cf91b9fbebe384794ac67f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C3=ABl=20Carr=C3=A9?= fun...@videolan.org Date: Wed, 21 Dec 2011 23:04:45 -0500 Subject: [PATCH] Fix typo preventing asprintf() to work correctly in some cases --- mingw-w64-headers/crt/stdio.h |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/mingw-w64-headers/crt/stdio.h b/mingw-w64-headers/crt/stdio.h index ca5bde0..5ebf8bc 100644 --- a/mingw-w64-headers/crt/stdio.h +++ b/mingw-w64-headers/crt/stdio.h @@ -319,7 +319,7 @@ int asprintf(char **__ret, const char *__format, ...) { register int __retval; __builtin_va_list __local_argv; __builtin_va_start( __local_argv, __format ); - __retval = __mingw_asprintf( __ret, __format, __local_argv ); + __retval = __mingw_vasprintf( __ret, __format, __local_argv ); __builtin_va_end( __local_argv ); return __retval; } -- 1.7.7.3 -- Write once. Port to many. Get the SDK and tools to simplify cross-platform app development. Create new or port existing apps to sell to consumers worldwide. Explore the Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join http://p.sf.net/sfu/intel-appdev___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
[Mingw-w64-public] [PATCH] c99 *scanf
Resending patches as attachment: - synced to last svn - use gnu_scanf format for scanf functions - use (commented out because not existing) gnu_wscanf format Changelog for patch 1: * _mingw_print_push.h: Remove scanf-defines. * _mingw_print_pop.h: Likewise. * stdio.h: Replace macro-scanf override via alias. Changelog for patch 2: * _mingw_print_push.h: Remove wscanf-defines. * _mingw_print_pop.h: Likewise. * stdio.h: Replace macro-wscanf override via alias. * wchar.h: Likewise. -- Rafaël Carré From 00555645c807d747258336761ff1bc9913164f33 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C3=ABl=20Carr=C3=A9?= fun...@videolan.org Date: Thu, 3 Nov 2011 18:05:31 -0400 Subject: [PATCH 1/2] Alias C99 scanf functions * _mingw_print_push.h: Remove scanf-defines. * _mingw_print_pop.h: Likewise. * stdio.h: Replace macro-scanf override via alias. --- trunk/mingw-w64-headers/crt/_mingw_print_pop.h |9 -- trunk/mingw-w64-headers/crt/_mingw_print_push.h |6 -- trunk/mingw-w64-headers/crt/stdio.h | 102 +++ 3 files changed, 87 insertions(+), 30 deletions(-) diff --git a/trunk/mingw-w64-headers/crt/_mingw_print_pop.h b/trunk/mingw-w64-headers/crt/_mingw_print_pop.h index 474e6cf..56aa8b0 100644 --- a/trunk/mingw-w64-headers/crt/_mingw_print_pop.h +++ b/trunk/mingw-w64-headers/crt/_mingw_print_pop.h @@ -6,15 +6,6 @@ /* Define __mingw_printf macros. */ #if defined(__USE_MINGW_ANSI_STDIO) (defined(_INC_STDIO) || defined(_WSTDIO_DEFINED)) ((__USE_MINGW_ANSI_STDIO + 0) != 0) -#ifdef _INC_STDIO -#define sscanf __mingw_sscanf -#define vsscanf __mingw_vsscanf -#define scanf __mingw_scanf -#define vscanf __mingw_vscanf -#define fscanf __mingw_fscanf -#define vfscanf __mingw_vfscanf - -#endif #ifdef _WSTDIO_DEFINED diff --git a/trunk/mingw-w64-headers/crt/_mingw_print_push.h b/trunk/mingw-w64-headers/crt/_mingw_print_push.h index 26430f9..29db3a8 100644 --- a/trunk/mingw-w64-headers/crt/_mingw_print_push.h +++ b/trunk/mingw-w64-headers/crt/_mingw_print_push.h @@ -6,12 +6,6 @@ /* Undefine __mingw_printf macros. */ #if defined(__USE_MINGW_ANSI_STDIO) ((__USE_MINGW_ANSI_STDIO + 0) != 0) -#undef sscanf -#undef vsscanf -#undef scanf -#undef vscanf -#undef fscanf -#undef vfscanf #undef swscanf #undef vswscanf diff --git a/trunk/mingw-w64-headers/crt/stdio.h b/trunk/mingw-w64-headers/crt/stdio.h index 68a48aa..7949a4d 100644 --- a/trunk/mingw-w64-headers/crt/stdio.h +++ b/trunk/mingw-w64-headers/crt/stdio.h @@ -137,6 +137,25 @@ extern FILE (* __MINGW_IMP_SYMBOL(_iob))[]; /* A pointer to an array of FILE */ #ifndef _STDIO_DEFINED extern + __attribute__((__format__ (gnu_scanf, 2, 3))) __MINGW_ATTRIB_NONNULL(2) + int __cdecl __mingw_sscanf(const char * __restrict__ _Src,const char * __restrict__ _Format,...); +extern + __attribute__((__format__ (gnu_scanf, 2, 0))) __MINGW_ATTRIB_NONNULL(2) + int __cdecl __mingw_vsscanf (const char * __restrict__ _Str,const char * __restrict__ Format,va_list argp); +extern + __attribute__((__format__ (gnu_scanf, 1, 2))) __MINGW_ATTRIB_NONNULL(1) + int __cdecl __mingw_scanf(const char * __restrict__ _Format,...); +extern + __attribute__((__format__ (gnu_scanf, 1, 0))) __MINGW_ATTRIB_NONNULL(1) + int __cdecl __mingw_vscanf(const char * __restrict__ Format, va_list argp); +extern + __attribute__((__format__ (gnu_scanf, 2, 3))) __MINGW_ATTRIB_NONNULL(2) + int __cdecl __mingw_fscanf(FILE * __restrict__ _File,const char * __restrict__ _Format,...); +extern + __attribute__((__format__ (gnu_scanf, 2, 0))) __MINGW_ATTRIB_NONNULL(2) + int __cdecl __mingw_vfscanf (FILE * __restrict__ fp, const char * __restrict__ Format,va_list argp); + +extern __attribute__((__format__ (gnu_printf, 3, 0))) __MINGW_ATTRIB_NONNULL(3) int __cdecl __mingw_vsnprintf(char * __restrict__ _DstBuf,size_t _MaxCount,const char * __restrict__ _Format, va_list _ArgList); @@ -172,6 +191,65 @@ extern /* * User has expressed a preference for C99 conformance... */ + +__forceinline +__attribute__((__format__ (gnu_scanf, 2, 3))) __MINGW_ATTRIB_NONNULL(2) +int sscanf(const char *__source, const char *__format, ...) +{ + register int __retval; + __builtin_va_list __local_argv; __builtin_va_start( __local_argv, __format ); + __retval = __mingw_vsscanf( __source, __format, __local_argv ); + __builtin_va_end( __local_argv ); + return __retval; +} + +__forceinline +__attribute__((__format__ (gnu_scanf, 1, 2))) __MINGW_ATTRIB_NONNULL(1) +int scanf(const char *__format, ...) +{ + register int __retval; + __builtin_va_list __local_argv; __builtin_va_start( __local_argv, __format ); + __retval = __mingw_vscanf( __format, __local_argv ); + __builtin_va_end( __local_argv ); + return __retval; +} + +__forceinline +__attribute__((__format__ (gnu_scanf, 2, 3))) __MINGW_ATTRIB_NONNULL(2) +int fscanf(FILE *__stream, const char *__format, ...) +{ + register int __retval; + __builtin_va_list __local_argv; __builtin_va_start
[Mingw-w64-public] [PATCH] Alias C99 w*printf functions
Rafaël Carré fun...@videolan.org * _mingw_print_push.h: Remove wprintf-defines. * _mingw_print_pop.h: Likewise. * stdio.h: Replace macro-wprintf override via alias. * wchar.h: Likewise. -- Rafaël Carré Index: mingw-w64-headers/crt/_mingw_print_push.h === --- mingw-w64-headers/crt/_mingw_print_push.h (révision 4571) +++ mingw-w64-headers/crt/_mingw_print_push.h (copie de travail) @@ -6,15 +6,6 @@ /* Undefine __mingw_printf macros. */ #if defined(__USE_MINGW_ANSI_STDIO) ((__USE_MINGW_ANSI_STDIO + 0) != 0) -#undef fwprintf -#undef wprintf -#undef vfwprintf -#undef vwprintf -#undef swprintf -#undef vswprintf -#undef snwprintf -#undef vsnwprintf - #undef sscanf #undef vsscanf #undef scanf Index: mingw-w64-headers/crt/_mingw_print_pop.h === --- mingw-w64-headers/crt/_mingw_print_pop.h (révision 4571) +++ mingw-w64-headers/crt/_mingw_print_pop.h (copie de travail) @@ -17,24 +17,7 @@ #endif #ifdef _WSTDIO_DEFINED -#undef fwprintf -#undef wprintf -#undef vfwprintf -#undef vwprintf -#undef swprintf -#undef vswprintf -#undef snwprintf -#undef vsnwprintf -#define fwprintf __mingw_fwprintf -#define wprintf __mingw_wprintf -#define vfwprintf __mingw_vfwprintf -#define vwprintf __mingw_vwprintf -#define swprintf __mingw_swprintf -#define vswprintf __mingw_vswprintf -#define snwprintf __mingw_snwprintf -#define vsnwprintf __mingw_vsnwprintf - #undef swscanf #undef vswscanf #undef wscanf Index: mingw-w64-headers/crt/stdio.h === --- mingw-w64-headers/crt/stdio.h (révision 4571) +++ mingw-w64-headers/crt/stdio.h (copie de travail) @@ -449,6 +449,110 @@ #ifndef _WSTDIO_DEFINED #define _WSTDIO_DEFINED +__attribute__((__format__ (gnu_printf, 2, 3))) __MINGW_ATTRIB_NONNULL(2) + int __cdecl __mingw_fwprintf(FILE * __restrict__ _File,const wchar_t * __restrict__ _Format,...); +__attribute__((__format__ (gnu_printf, 1, 2))) __MINGW_ATTRIB_NONNULL(1) + int __cdecl __mingw_wprintf(const wchar_t * __restrict__ _Format,...); +__attribute__((__format__ (gnu_printf, 2, 0))) __MINGW_ATTRIB_NONNULL(2) + int __cdecl __mingw_vfwprintf(FILE * __restrict__ _File,const wchar_t * __restrict__ _Format,va_list _ArgList); +__attribute__((__format__ (gnu_printf, 1, 0))) __MINGW_ATTRIB_NONNULL(1) + int __cdecl __mingw_vwprintf(const wchar_t * __restrict__ _Format,va_list _ArgList); +__attribute__((__format__ (gnu_printf, 2, 3))) __MINGW_ATTRIB_NONNULL(2) + int __cdecl __mingw_swprintf(wchar_t * __restrict__ , const wchar_t * __restrict__ , ...) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; +__attribute__((__format__ (gnu_printf, 2, 0))) __MINGW_ATTRIB_NONNULL(2) + int __cdecl __mingw_vswprintf(wchar_t * __restrict__ , const wchar_t * __restrict__ ,va_list) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; +__attribute__((__format__ (gnu_printf, 3, 4))) __MINGW_ATTRIB_NONNULL(3) + int __cdecl __mingw_snwprintf (wchar_t * __restrict__ s, size_t n, const wchar_t * __restrict__ format, ...); +__attribute__((__format__ (gnu_printf, 3, 0))) __MINGW_ATTRIB_NONNULL(3) + int __cdecl __mingw_vsnwprintf (wchar_t * __restrict__ , size_t, const wchar_t * __restrict__ , va_list); + +#if __USE_MINGW_ANSI_STDIO +/* + * User has expressed a preference for C99 conformance... + */ +__forceinline +__attribute__((__format__ (gnu_printf, 2, 3))) __MINGW_ATTRIB_NONNULL(2) +int fwprintf (FILE *__stream, const wchar_t *__format, ...) +{ + register int __retval; + __builtin_va_list __local_argv; __builtin_va_start( __local_argv, __format ); + __retval = __mingw_vfwprintf( __stream, __format, __local_argv ); + __builtin_va_end( __local_argv ); + return __retval; +} + +__forceinline +__attribute__((__format__ (gnu_printf, 1, 2))) __MINGW_ATTRIB_NONNULL(1) +int wprintf (const wchar_t *__format, ...) +{ + register int __retval; + __builtin_va_list __local_argv; __builtin_va_start( __local_argv, __format ); + __retval = __mingw_vwprintf( __format, __local_argv ); + __builtin_va_end( __local_argv ); + return __retval; +} + +__forceinline +__attribute__((__format__ (gnu_printf, 2, 3))) __MINGW_ATTRIB_NONNULL(2) +int swprintf (wchar_t *__stream, const wchar_t *__format, ...) +{ + register int __retval; + __builtin_va_list __local_argv; __builtin_va_start( __local_argv, __format ); + __retval = __mingw_vswprintf( __stream, __format, __local_argv ); + __builtin_va_end( __local_argv ); + return __retval; +} + +__forceinline +__attribute__((__format__ (gnu_printf, 2, 0))) __MINGW_ATTRIB_NONNULL(2) +int vfwprintf (FILE *__stream, const wchar_t *__format, __builtin_va_list __local_argv) +{ + return __mingw_vfwprintf( __stream, __format, __local_argv ); +} + +__forceinline +__attribute__((__format__ (gnu_printf, 1, 0))) __MINGW_ATTRIB_NONNULL(1) +int vwprintf (const wchar_t *__format, __builtin_va_list __local_argv) +{ + return __mingw_vwprintf
[Mingw-w64-public] [PATCH] Fix FORCEINLINE declaration
* ntdef.h: Remove extern qualifier from FORCEINLINE define for GNUC This breaks static FORCEINLINE functions, for example in LAME 3.99: FORCEINLINE static float vec_max_c(const float * xr34, unsigned int bw) * winnt.h: Bring duplicate FORCEINLINE definition in sync with ntdef.h -- Rafaël Carré Index: mingw-w64-headers/include/winnt.h === --- mingw-w64-headers/include/winnt.h (révision 4571) +++ mingw-w64-headers/include/winnt.h (copie de travail) @@ -146,11 +146,16 @@ #endif #endif /* DECLSPEC_NOINLINE */ +/* Inlines */ #ifndef FORCEINLINE -#if !defined(_MSC_VER) || (_MSC_VER =1200) +#if defined(_MSC_VER) (_MSC_VER = 1200) #define FORCEINLINE __forceinline -#else +#elif defined(_MSC_VER) #define FORCEINLINE __inline +#elif defined(__cplusplus) /* __GNUG__ */ +#define FORCEINLINE inline __attribute__((always_inline)) +#else /* __GNUC__ */ +#define FORCEINLINE __inline__ __attribute__((always_inline)) #endif #endif /* FORCEINLINE */ Index: mingw-w64-headers/include/ntdef.h === --- mingw-w64-headers/include/ntdef.h (révision 4571) +++ mingw-w64-headers/include/ntdef.h (copie de travail) @@ -206,7 +206,7 @@ #elif defined(__cplusplus) /* __GNUG__ */ #define FORCEINLINE inline __attribute__((always_inline)) #else /* __GNUC__ */ -#define FORCEINLINE extern __inline__ __attribute__((always_inline)) +#define FORCEINLINE __inline__ __attribute__((always_inline)) #endif #endif /* FORCEINLINE */ -- RSA(R) Conference 2012 Save $700 by Nov 18 Register now http://p.sf.net/sfu/rsa-sfdev2dev1___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
[Mingw-w64-public] [PATCH] Fix FORCEINLINE declaration
(discard previous FORCEINLINE patch) * _mingw.h: Move FORCEINLINE declaration ... * winnt.h : ... From here * ntdef.h : Remove duplicate FORCEINLINE declaration -- Rafaël Carré Index: mingw-w64-headers/include/winnt.h === --- mingw-w64-headers/include/winnt.h (révision 4571) +++ mingw-w64-headers/include/winnt.h (copie de travail) @@ -146,14 +146,6 @@ #endif #endif /* DECLSPEC_NOINLINE */ -#ifndef FORCEINLINE -#if !defined(_MSC_VER) || (_MSC_VER =1200) -#define FORCEINLINE __forceinline -#else -#define FORCEINLINE __inline -#endif -#endif /* FORCEINLINE */ - #ifndef DECLSPEC_DEPRECATED #define DECLSPEC_DEPRECATED __declspec(deprecated) #define DEPRECATE_SUPPORTED Index: mingw-w64-headers/include/ntdef.h === --- mingw-w64-headers/include/ntdef.h (révision 4571) +++ mingw-w64-headers/include/ntdef.h (copie de travail) @@ -197,19 +197,6 @@ #endif #endif -/* Inlines */ -#ifndef FORCEINLINE -#if defined(_MSC_VER) (_MSC_VER = 1200) -#define FORCEINLINE __forceinline -#elif defined(_MSC_VER) -#define FORCEINLINE __inline -#elif defined(__cplusplus) /* __GNUG__ */ -#define FORCEINLINE inline __attribute__((always_inline)) -#else /* __GNUC__ */ -#define FORCEINLINE extern __inline__ __attribute__((always_inline)) -#endif -#endif /* FORCEINLINE */ - #ifndef DECLSPEC_NOINLINE #if (_MSC_VER = 1300) #define DECLSPEC_NOINLINE __declspec(noinline) Index: mingw-w64-headers/crt/_mingw.h.in === --- mingw-w64-headers/crt/_mingw.h.in (révision 4571) +++ mingw-w64-headers/crt/_mingw.h.in (copie de travail) @@ -275,6 +275,14 @@ #endif /* __cplusplus */ #endif /* __GNUC__ */ +#ifndef FORCEINLINE +#if !defined(_MSC_VER) || (_MSC_VER =1200) +#define FORCEINLINE __forceinline +#else +#define FORCEINLINE __inline +#endif +#endif /* FORCEINLINE */ + #ifndef _WIN32 #error Only Win32 target is supported! #endif -- RSA(R) Conference 2012 Save $700 by Nov 18 Register now http://p.sf.net/sfu/rsa-sfdev2dev1___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public