Re: [Mingw-w64-public] Bug#755448: fixed in mingw-w64 3.1.0-3

2014-07-26 Thread Rafaël Carré
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

2014-05-09 Thread Rafaël Carré
-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

2014-05-05 Thread Rafaël Carré
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

2014-05-05 Thread Rafaël Carré
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

2013-11-18 Thread Rafaël Carré
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

2013-11-18 Thread Rafaël Carré
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)

2013-11-16 Thread Rafaël Carré
---
 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)

2013-11-16 Thread Rafaël Carré
---
 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

2013-11-16 Thread Rafaël Carré
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

2013-11-16 Thread Rafaël Carré
---
 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

2013-11-16 Thread Rafaël Carré
---
 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

2013-11-16 Thread Rafaël Carré
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

2013-11-16 Thread Rafaël Carré
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

2013-11-16 Thread Rafaël Carré
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)

2013-11-16 Thread Rafaël Carré
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

2013-11-16 Thread Rafaël Carré
---
 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

2013-11-16 Thread Rafaël Carré
(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_*'

2013-08-19 Thread Rafaël Carré
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

2013-08-19 Thread Rafaël Carré
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

2013-08-18 Thread Rafaël Carré
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

2013-08-18 Thread Rafaël Carré
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

2013-08-15 Thread Rafaël Carré
---
 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

2013-08-15 Thread Rafaël Carré
---
 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

2013-08-02 Thread Rafaël Carré
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

2013-07-18 Thread Rafaël Carré
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

2013-07-11 Thread Rafaël Carré
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

2013-07-10 Thread Rafaël Carré
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

2013-07-10 Thread Rafaël Carré
---
 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

2013-07-09 Thread Rafaël Carré
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

2013-07-02 Thread Rafaël Carré
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

2013-07-02 Thread Rafaël Carré
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

2013-06-27 Thread Rafaël Carré
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

2013-06-27 Thread Rafaël Carré
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

2013-06-27 Thread Rafaël Carré
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

2013-06-26 Thread Rafaël Carré
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

2013-06-21 Thread Rafaël Carré
---
 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

2013-06-21 Thread Rafaël Carré
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

2013-06-11 Thread Rafaël Carré
---
 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

2013-06-08 Thread Rafaël Carré
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

2013-06-08 Thread Rafaël Carré
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

2013-06-07 Thread Rafaël Carré
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

2013-06-07 Thread Rafaël Carré
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

2013-06-06 Thread Rafaël Carré
---
 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

2013-06-06 Thread Rafaël Carré
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

2013-06-06 Thread Rafaël Carré
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

2013-06-06 Thread Rafaël Carré
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

2013-06-05 Thread Rafaël Carré
---
 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

2013-06-04 Thread Rafaël Carré
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

2013-06-04 Thread Rafaël Carré
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

2013-06-03 Thread Rafaël Carré
---
 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

2013-05-23 Thread Rafaël Carré
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

2013-05-21 Thread Rafaël Carré
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

2013-05-21 Thread Rafaël Carré
---
 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

2013-05-21 Thread Rafaël Carré
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

2013-05-19 Thread Rafaël Carré
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

2013-05-19 Thread Rafaël Carré
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

2013-05-08 Thread Rafaël Carré
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

2013-04-27 Thread Rafaël Carré
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

2013-04-27 Thread Rafaël Carré
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

2013-04-20 Thread Rafaël Carré
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

2013-04-20 Thread Rafaël Carré
---
 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

2013-04-20 Thread Rafaël Carré
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*

2013-04-20 Thread Rafaël Carré
[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

2013-04-20 Thread Rafaël Carré
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

2013-04-20 Thread Rafaël Carré
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:

2013-04-18 Thread Rafaël Carré
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

2013-04-17 Thread Rafaël Carré
---
 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

2013-04-17 Thread Rafaël Carré
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:

2013-04-17 Thread Rafaël Carré
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

2013-04-04 Thread Rafaël Carré
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

2013-04-04 Thread Rafaël Carré
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

2013-04-04 Thread Rafaël Carré
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

2013-04-04 Thread Rafaël Carré
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

2013-04-04 Thread Rafaël Carré
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

2013-04-04 Thread Rafaël Carré
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

2013-04-04 Thread Rafaël Carré
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

2013-04-04 Thread Rafaël Carré
---
 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

2013-04-04 Thread Rafaël Carré
---
 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

2013-04-04 Thread Rafaël Carré
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

2013-04-04 Thread Rafaël Carré
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

2013-04-02 Thread Rafaël Carré
-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

2012-07-10 Thread Rafaël Carré
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

2012-06-28 Thread Rafaël Carré
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

2012-03-11 Thread Rafaël Carré
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

2012-02-05 Thread Rafaël Carré
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

2012-02-04 Thread Rafaël Carré
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)

2012-02-04 Thread Rafaël Carré
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

2012-02-04 Thread Rafaël Carré
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

2012-02-04 Thread Rafaël Carré
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

2012-02-02 Thread Rafaël Carré
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

2012-02-01 Thread Rafaël Carré
---
 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

2012-02-01 Thread Rafaël Carré
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

2012-01-30 Thread Rafaël Carré
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

2012-01-30 Thread Rafaël Carré
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

2012-01-30 Thread Rafaël Carré
---
 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

2011-12-21 Thread Rafaël Carré
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

2011-11-04 Thread Rafaël Carré
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

2011-11-03 Thread Rafaël Carré
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

2011-11-03 Thread Rafaël Carré
* 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

2011-11-03 Thread Rafaël Carré
(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


  1   2   >