2008-12-13 21:28:05 +00:00
|
|
|
/**
|
|
|
|
* 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 within this package.
|
2007-09-24 11:40:54 +00:00
|
|
|
*/
|
|
|
|
|
2008-12-22 05:55:21 +00:00
|
|
|
#ifndef _INC_MINGW
|
|
|
|
#define _INC_MINGW
|
2007-09-24 11:40:54 +00:00
|
|
|
|
2008-12-13 21:28:05 +00:00
|
|
|
#define _INTEGRAL_MAX_BITS 64
|
2007-09-24 11:40:54 +00:00
|
|
|
|
2008-12-13 21:28:05 +00:00
|
|
|
#ifndef MINGW64
|
|
|
|
#define MINGW64
|
|
|
|
#define MINGW64_VERSION 1.0
|
|
|
|
#define MINGW64_VERSION_MAJOR 1
|
|
|
|
#define MINGW64_VERSION_MINOR 0
|
|
|
|
#define MINGW64_VERSION_STATE "alpha"
|
|
|
|
#endif
|
2007-09-24 11:40:54 +00:00
|
|
|
|
2008-12-13 21:28:05 +00:00
|
|
|
#ifdef _WIN64
|
|
|
|
#ifdef __stdcall
|
|
|
|
#undef __stdcall
|
|
|
|
#endif
|
|
|
|
#define __stdcall
|
|
|
|
#endif
|
2007-09-24 11:40:54 +00:00
|
|
|
|
2008-12-22 05:55:21 +00:00
|
|
|
#ifdef __GNUC__
|
|
|
|
/* These compilers do support __declspec */
|
|
|
|
# if !defined(__MINGW32__) && !defined(__MINGW64__) && !defined(__CYGWIN32__)
|
|
|
|
# define __declspec(x) __attribute__((x))
|
2007-09-24 11:40:54 +00:00
|
|
|
# endif
|
2008-12-22 05:55:21 +00:00
|
|
|
#endif
|
2007-09-24 11:40:54 +00:00
|
|
|
|
2009-06-17 11:18:51 +00:00
|
|
|
#ifdef _MSC_VER
|
|
|
|
#define __restrict__ /* nothing */
|
|
|
|
#endif
|
|
|
|
|
2007-09-24 11:40:54 +00:00
|
|
|
#if defined (__GNUC__) && defined (__GNUC_MINOR__)
|
|
|
|
#define __MINGW_GNUC_PREREQ(major, minor) \
|
|
|
|
(__GNUC__ > (major) \
|
|
|
|
|| (__GNUC__ == (major) && __GNUC_MINOR__ >= (minor)))
|
|
|
|
#else
|
|
|
|
#define __MINGW_GNUC_PREREQ(major, minor) 0
|
|
|
|
#endif
|
|
|
|
|
2009-06-16 00:24:26 +00:00
|
|
|
#if defined (_MSC_VER)
|
2010-08-30 13:48:40 +00:00
|
|
|
#define __MINGW_MSC_PREREQ(major, minor) (_MSC_VER >= (major * 100 + minor * 10))
|
2009-06-16 00:24:26 +00:00
|
|
|
#else
|
|
|
|
#define __MINGW_MSC_PREREQ(major, minor) 0
|
2008-12-22 23:43:10 +00:00
|
|
|
#endif
|
|
|
|
|
2008-12-13 21:28:05 +00:00
|
|
|
#define USE___UUIDOF 0
|
|
|
|
|
2007-09-24 11:40:54 +00:00
|
|
|
#ifdef __cplusplus
|
|
|
|
# define __CRT_INLINE inline
|
2009-06-16 00:24:26 +00:00
|
|
|
#elif defined(_MSC_VER)
|
|
|
|
# define __CRT_INLINE __inline
|
|
|
|
#elif defined(__GNUC__)
|
2008-12-22 05:55:21 +00:00
|
|
|
# if ( __MINGW_GNUC_PREREQ(4, 3) && __STDC_VERSION__ >= 199901L)
|
2009-05-23 15:02:28 +00:00
|
|
|
# define __CRT_INLINE extern inline __attribute__((__always_inline__,__gnu_inline__))
|
2007-09-24 11:40:54 +00:00
|
|
|
# else
|
2009-05-23 15:02:28 +00:00
|
|
|
# define __CRT_INLINE extern __inline__ __attribute__((__always_inline__))
|
2007-09-24 11:40:54 +00:00
|
|
|
# endif
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
# define __UNUSED_PARAM(x)
|
|
|
|
#else
|
|
|
|
# ifdef __GNUC__
|
|
|
|
# define __UNUSED_PARAM(x) x __attribute__ ((__unused__))
|
|
|
|
# else
|
|
|
|
# define __UNUSED_PARAM(x) x
|
|
|
|
# endif
|
|
|
|
#endif
|
|
|
|
|
2008-12-22 05:55:21 +00:00
|
|
|
#ifdef __cplusplus
|
|
|
|
# define __unaligned
|
|
|
|
#else
|
|
|
|
# ifdef __GNUC__
|
2009-10-14 20:09:13 +00:00
|
|
|
# define __unaligned
|
2009-06-16 00:24:26 +00:00
|
|
|
# elif defined(_MSC_VER) && !defined(_M_IA64) && !defined(_M_AMD64)
|
|
|
|
# define __unaligned
|
2008-12-22 05:55:21 +00:00
|
|
|
# else
|
2009-06-16 00:24:26 +00:00
|
|
|
# define __unaligned
|
2008-12-22 05:55:21 +00:00
|
|
|
# endif
|
|
|
|
#endif
|
|
|
|
|
2007-09-24 11:40:54 +00:00
|
|
|
#ifdef __GNUC__
|
|
|
|
#define __MINGW_ATTRIB_NORETURN __attribute__ ((__noreturn__))
|
|
|
|
#define __MINGW_ATTRIB_CONST __attribute__ ((__const__))
|
KJK::Hyperion is proud to present "dllimport purity", another landmark commit that you should really build only after a "clean"
Disclaimer: in an uncharacteristic and daring move, I actually built, installed and booted this revision
modified tools/rbuild/backend/mingw/mingw.cpp
modified tools/rbuild/backend/mingw/modulehandler.cpp
modified tools/rbuild/module.cpp
modified tools/rbuild/project.dtd
modified tools/rbuild/rbuild.h
modified include/crt/_mingw.h
New module attribute iscrt for marking modules that implement a C runtime library
New module attribute crt for compiling and linking modules to a specific C runtime library. Can be "ntdll" (for ntdll.dll) "msvcrt" (msvcrt.dll), "crt" (statically-linked runtime), "libcntpr" (libcntpr.lib), "dll" (one of the <library> entries specifies a CRT DLL) or "static". Defaults to "msvcrt" for Win32 modules, to "static" for CRT modules themselves, and to "dll" for drivers
Define _DLL for code that compiles against a dynamically-linked CRT
Define __MINGW_IMPORT and _CRTIMP according to whether _DLL is defined. We finally use __declspec(dllimport) somewhere, anywhere (SDK headers still don't use it)
Bonus fix: actually use compiler-specific command line flags when compiling files
modified lib/3rdparty/adns/adns.rbuild
modified lib/3rdparty/libxml2/libxml2.rbuild
modified lib/3rdparty/mingw/mingw.rbuild
And for the downside: static libraries that will be linked to a module that links to the CRT dynamically have to be compiled for a dynamically-linked CRT, as well. Say it out aloud.
modified base/applications/wordpad/wordpad.rbuild
modified base/setup/usetup/usetup.rbuild
modified dll/3rdparty/dxtn/dxtn.rbuild
modified dll/3rdparty/freetype/freetype.rbuild
modified dll/3rdparty/mesa32/mesa32.rbuild
modified dll/cpl/desk/desk.rbuild
modified dll/cpl/input/input.rbuild
modified dll/cpl/intl/intl.rbuild
modified dll/cpl/joy/joy.rbuild
modified dll/cpl/main/main.rbuild
modified dll/cpl/mmsys/mmsys.rbuild
modified dll/cpl/odbccp32/odbccp32.rbuild
modified dll/cpl/powercfg/powercfg.rbuild
modified dll/cpl/sysdm/sysdm.rbuild
modified dll/cpl/telephon/telephon.rbuild
modified dll/cpl/timedate/timedate.rbuild
modified dll/cpl/usrmgr/usrmgr.rbuild
modified dll/directx/ddraw/ddraw.rbuild
modified dll/directx/dsound/dsound.rbuild
modified dll/directx/wine/wined3d/wined3d.rbuild
modified dll/nls/idndl_redist/idndl_redist.rbuild
modified dll/nls/normaliz_redist/normaliz_redist.rbuild
modified dll/shellext/deskadp/deskadp.rbuild
modified dll/shellext/deskmon/deskmon.rbuild
modified dll/shellext/fontext/fontext.rbuild
modified dll/win32/dhcpcsvc/dhcpcsvc.rbuild
modified dll/win32/dnsapi/dnsapi.rbuild
modified dll/win32/glu32/glu32.rbuild
modified dll/win32/icmp/icmp.rbuild
modified dll/win32/winmm/midimap/midimap.rbuild
modified drivers/video/displays/framebuf/framebuf.rbuild
modified drivers/video/displays/framebufacc/framebufacc.rbuild
modified drivers/video/displays/vga/vgaddi.rbuild
modified subsystems/win32/csrss/csrss.rbuild
modified subsystems/win32/csrss/win32csr/win32csr.rbuild
modified subsystems/win32/win32k/win32k.rbuild
Don't specify msvcrt explicitely as a <library> if it's going to be linked implicitely as the CRT
<library>libcntpr</library> -> crt="libcntpr"
Remove miscellaneous unused <library> entries
modified dll/win32/crtdll/crtdll.rbuild
modified dll/win32/msvcrt20/msvcrt20.rbuild
modified dll/win32/msvcrt40/msvcrt40.rbuild
modified dll/win32/msvcrt/msvcrt.rbuild
Mark CRT DLLs as CRT modules
modified dll/win32/user32/windows/font.c
modified include/reactos/wine/unicode.h
Don't redefine or redeclare CRT functions
modified dll/win32/ws2_32/include/ws2_32.h
Arch, you idiot, it's defined in <stdlib.h>
modified include/crt/ctype.h
modified include/crt/wctype.h
Don't import ctype routines that were already defined as inlines
modified include/crt/stdio.h
modified include/reactos/wine/config.h
Avoid linking to libmingwex.a if possible
modified base/applications/taskmgr/taskmgr.rbuild
modified tools/nci/nci.mak
modified tools/nci/ncitool.c
modified dll/ntdll/ntdll.rbuild
Mark ntdll module as a CRT
New "ntsys" module to import just Nt/Zw from ntdll.dll. Avoids accidentally linking to ntdll.dll's CRT when importing system calls
modified include/psdk/winternl.h
Nope, it doesn't.
modified base/applications/network/net/help.c
modified base/applications/network/net/main.c
Replace printf with puts, or GCC will do it on its own and link to the dllimport thunk for puts
modified base/applications/network/ping/ping.c
Removed broken, unnecessary workaround
modified base/shell/cmd/cmd.rbuild
Simplify cmd module
This commit dediHAPPY BIRTHDAY STEFAN GINSBERG <3 <3 <3
svn path=/trunk/; revision=37187
2008-11-04 18:16:58 +00:00
|
|
|
#elif __MINGW_MSC_PREREQ(12, 0)
|
|
|
|
#define __MINGW_ATTRIB_NORETURN __declspec(noreturn)
|
|
|
|
#define __MINGW_ATTRIB_CONST
|
2007-09-24 11:40:54 +00:00
|
|
|
#else
|
|
|
|
#define __MINGW_ATTRIB_NORETURN
|
|
|
|
#define __MINGW_ATTRIB_CONST
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#if __MINGW_GNUC_PREREQ (3, 0)
|
|
|
|
#define __MINGW_ATTRIB_MALLOC __attribute__ ((__malloc__))
|
|
|
|
#define __MINGW_ATTRIB_PURE __attribute__ ((__pure__))
|
2009-06-16 00:24:26 +00:00
|
|
|
#elif __MINGW_MSC_PREREQ(14, 0)
|
|
|
|
#define __MINGW_ATTRIB_MALLOC __declspec(noalias) __declspec(restrict)
|
|
|
|
#define __MINGW_ATTRIB_PURE
|
2007-09-24 11:40:54 +00:00
|
|
|
#else
|
|
|
|
#define __MINGW_ATTRIB_MALLOC
|
|
|
|
#define __MINGW_ATTRIB_PURE
|
|
|
|
#endif
|
|
|
|
|
|
|
|
/* Attribute `nonnull' was valid as of gcc 3.3. We don't use GCC's
|
|
|
|
variadiac macro facility, because variadic macros cause syntax
|
|
|
|
errors with --traditional-cpp. */
|
|
|
|
#if __MINGW_GNUC_PREREQ (3, 3)
|
|
|
|
#define __MINGW_ATTRIB_NONNULL(arg) __attribute__ ((__nonnull__ (arg)))
|
|
|
|
#else
|
|
|
|
#define __MINGW_ATTRIB_NONNULL(arg)
|
|
|
|
#endif /* GNUC >= 3.3 */
|
|
|
|
|
2010-07-24 09:52:46 +00:00
|
|
|
#ifdef __GNUC__
|
|
|
|
#define __MINGW_ATTRIB_UNUSED __attribute__ ((__unused__))
|
|
|
|
#else
|
|
|
|
#define __MINGW_ATTRIB_UNUSED
|
|
|
|
#endif /* ATTRIBUTE_UNUSED */
|
|
|
|
|
2007-09-24 11:40:54 +00:00
|
|
|
#if __MINGW_GNUC_PREREQ (3, 1)
|
|
|
|
#define __MINGW_ATTRIB_DEPRECATED __attribute__ ((__deprecated__))
|
2008-12-13 21:28:05 +00:00
|
|
|
#elif __MINGW_MSC_PREREQ(12, 0)
|
|
|
|
#define __MINGW_ATTRIB_DEPRECATED __declspec(deprecated)
|
2007-09-24 11:40:54 +00:00
|
|
|
#else
|
|
|
|
#define __MINGW_ATTRIB_DEPRECATED
|
KJK::Hyperion is proud to present "dllimport purity", another landmark commit that you should really build only after a "clean"
Disclaimer: in an uncharacteristic and daring move, I actually built, installed and booted this revision
modified tools/rbuild/backend/mingw/mingw.cpp
modified tools/rbuild/backend/mingw/modulehandler.cpp
modified tools/rbuild/module.cpp
modified tools/rbuild/project.dtd
modified tools/rbuild/rbuild.h
modified include/crt/_mingw.h
New module attribute iscrt for marking modules that implement a C runtime library
New module attribute crt for compiling and linking modules to a specific C runtime library. Can be "ntdll" (for ntdll.dll) "msvcrt" (msvcrt.dll), "crt" (statically-linked runtime), "libcntpr" (libcntpr.lib), "dll" (one of the <library> entries specifies a CRT DLL) or "static". Defaults to "msvcrt" for Win32 modules, to "static" for CRT modules themselves, and to "dll" for drivers
Define _DLL for code that compiles against a dynamically-linked CRT
Define __MINGW_IMPORT and _CRTIMP according to whether _DLL is defined. We finally use __declspec(dllimport) somewhere, anywhere (SDK headers still don't use it)
Bonus fix: actually use compiler-specific command line flags when compiling files
modified lib/3rdparty/adns/adns.rbuild
modified lib/3rdparty/libxml2/libxml2.rbuild
modified lib/3rdparty/mingw/mingw.rbuild
And for the downside: static libraries that will be linked to a module that links to the CRT dynamically have to be compiled for a dynamically-linked CRT, as well. Say it out aloud.
modified base/applications/wordpad/wordpad.rbuild
modified base/setup/usetup/usetup.rbuild
modified dll/3rdparty/dxtn/dxtn.rbuild
modified dll/3rdparty/freetype/freetype.rbuild
modified dll/3rdparty/mesa32/mesa32.rbuild
modified dll/cpl/desk/desk.rbuild
modified dll/cpl/input/input.rbuild
modified dll/cpl/intl/intl.rbuild
modified dll/cpl/joy/joy.rbuild
modified dll/cpl/main/main.rbuild
modified dll/cpl/mmsys/mmsys.rbuild
modified dll/cpl/odbccp32/odbccp32.rbuild
modified dll/cpl/powercfg/powercfg.rbuild
modified dll/cpl/sysdm/sysdm.rbuild
modified dll/cpl/telephon/telephon.rbuild
modified dll/cpl/timedate/timedate.rbuild
modified dll/cpl/usrmgr/usrmgr.rbuild
modified dll/directx/ddraw/ddraw.rbuild
modified dll/directx/dsound/dsound.rbuild
modified dll/directx/wine/wined3d/wined3d.rbuild
modified dll/nls/idndl_redist/idndl_redist.rbuild
modified dll/nls/normaliz_redist/normaliz_redist.rbuild
modified dll/shellext/deskadp/deskadp.rbuild
modified dll/shellext/deskmon/deskmon.rbuild
modified dll/shellext/fontext/fontext.rbuild
modified dll/win32/dhcpcsvc/dhcpcsvc.rbuild
modified dll/win32/dnsapi/dnsapi.rbuild
modified dll/win32/glu32/glu32.rbuild
modified dll/win32/icmp/icmp.rbuild
modified dll/win32/winmm/midimap/midimap.rbuild
modified drivers/video/displays/framebuf/framebuf.rbuild
modified drivers/video/displays/framebufacc/framebufacc.rbuild
modified drivers/video/displays/vga/vgaddi.rbuild
modified subsystems/win32/csrss/csrss.rbuild
modified subsystems/win32/csrss/win32csr/win32csr.rbuild
modified subsystems/win32/win32k/win32k.rbuild
Don't specify msvcrt explicitely as a <library> if it's going to be linked implicitely as the CRT
<library>libcntpr</library> -> crt="libcntpr"
Remove miscellaneous unused <library> entries
modified dll/win32/crtdll/crtdll.rbuild
modified dll/win32/msvcrt20/msvcrt20.rbuild
modified dll/win32/msvcrt40/msvcrt40.rbuild
modified dll/win32/msvcrt/msvcrt.rbuild
Mark CRT DLLs as CRT modules
modified dll/win32/user32/windows/font.c
modified include/reactos/wine/unicode.h
Don't redefine or redeclare CRT functions
modified dll/win32/ws2_32/include/ws2_32.h
Arch, you idiot, it's defined in <stdlib.h>
modified include/crt/ctype.h
modified include/crt/wctype.h
Don't import ctype routines that were already defined as inlines
modified include/crt/stdio.h
modified include/reactos/wine/config.h
Avoid linking to libmingwex.a if possible
modified base/applications/taskmgr/taskmgr.rbuild
modified tools/nci/nci.mak
modified tools/nci/ncitool.c
modified dll/ntdll/ntdll.rbuild
Mark ntdll module as a CRT
New "ntsys" module to import just Nt/Zw from ntdll.dll. Avoids accidentally linking to ntdll.dll's CRT when importing system calls
modified include/psdk/winternl.h
Nope, it doesn't.
modified base/applications/network/net/help.c
modified base/applications/network/net/main.c
Replace printf with puts, or GCC will do it on its own and link to the dllimport thunk for puts
modified base/applications/network/ping/ping.c
Removed broken, unnecessary workaround
modified base/shell/cmd/cmd.rbuild
Simplify cmd module
This commit dediHAPPY BIRTHDAY STEFAN GINSBERG <3 <3 <3
svn path=/trunk/; revision=37187
2008-11-04 18:16:58 +00:00
|
|
|
#endif
|
2009-06-16 00:24:26 +00:00
|
|
|
|
2007-10-10 20:53:47 +00:00
|
|
|
#if __MINGW_GNUC_PREREQ (3, 3)
|
|
|
|
#define __MINGW_NOTHROW __attribute__ ((__nothrow__))
|
2008-12-13 21:28:05 +00:00
|
|
|
#elif __MINGW_MSC_PREREQ(12, 0) && defined (__cplusplus)
|
|
|
|
#define __MINGW_NOTHROW __declspec(nothrow)
|
2007-10-10 20:53:47 +00:00
|
|
|
#else
|
|
|
|
#define __MINGW_NOTHROW
|
KJK::Hyperion is proud to present "dllimport purity", another landmark commit that you should really build only after a "clean"
Disclaimer: in an uncharacteristic and daring move, I actually built, installed and booted this revision
modified tools/rbuild/backend/mingw/mingw.cpp
modified tools/rbuild/backend/mingw/modulehandler.cpp
modified tools/rbuild/module.cpp
modified tools/rbuild/project.dtd
modified tools/rbuild/rbuild.h
modified include/crt/_mingw.h
New module attribute iscrt for marking modules that implement a C runtime library
New module attribute crt for compiling and linking modules to a specific C runtime library. Can be "ntdll" (for ntdll.dll) "msvcrt" (msvcrt.dll), "crt" (statically-linked runtime), "libcntpr" (libcntpr.lib), "dll" (one of the <library> entries specifies a CRT DLL) or "static". Defaults to "msvcrt" for Win32 modules, to "static" for CRT modules themselves, and to "dll" for drivers
Define _DLL for code that compiles against a dynamically-linked CRT
Define __MINGW_IMPORT and _CRTIMP according to whether _DLL is defined. We finally use __declspec(dllimport) somewhere, anywhere (SDK headers still don't use it)
Bonus fix: actually use compiler-specific command line flags when compiling files
modified lib/3rdparty/adns/adns.rbuild
modified lib/3rdparty/libxml2/libxml2.rbuild
modified lib/3rdparty/mingw/mingw.rbuild
And for the downside: static libraries that will be linked to a module that links to the CRT dynamically have to be compiled for a dynamically-linked CRT, as well. Say it out aloud.
modified base/applications/wordpad/wordpad.rbuild
modified base/setup/usetup/usetup.rbuild
modified dll/3rdparty/dxtn/dxtn.rbuild
modified dll/3rdparty/freetype/freetype.rbuild
modified dll/3rdparty/mesa32/mesa32.rbuild
modified dll/cpl/desk/desk.rbuild
modified dll/cpl/input/input.rbuild
modified dll/cpl/intl/intl.rbuild
modified dll/cpl/joy/joy.rbuild
modified dll/cpl/main/main.rbuild
modified dll/cpl/mmsys/mmsys.rbuild
modified dll/cpl/odbccp32/odbccp32.rbuild
modified dll/cpl/powercfg/powercfg.rbuild
modified dll/cpl/sysdm/sysdm.rbuild
modified dll/cpl/telephon/telephon.rbuild
modified dll/cpl/timedate/timedate.rbuild
modified dll/cpl/usrmgr/usrmgr.rbuild
modified dll/directx/ddraw/ddraw.rbuild
modified dll/directx/dsound/dsound.rbuild
modified dll/directx/wine/wined3d/wined3d.rbuild
modified dll/nls/idndl_redist/idndl_redist.rbuild
modified dll/nls/normaliz_redist/normaliz_redist.rbuild
modified dll/shellext/deskadp/deskadp.rbuild
modified dll/shellext/deskmon/deskmon.rbuild
modified dll/shellext/fontext/fontext.rbuild
modified dll/win32/dhcpcsvc/dhcpcsvc.rbuild
modified dll/win32/dnsapi/dnsapi.rbuild
modified dll/win32/glu32/glu32.rbuild
modified dll/win32/icmp/icmp.rbuild
modified dll/win32/winmm/midimap/midimap.rbuild
modified drivers/video/displays/framebuf/framebuf.rbuild
modified drivers/video/displays/framebufacc/framebufacc.rbuild
modified drivers/video/displays/vga/vgaddi.rbuild
modified subsystems/win32/csrss/csrss.rbuild
modified subsystems/win32/csrss/win32csr/win32csr.rbuild
modified subsystems/win32/win32k/win32k.rbuild
Don't specify msvcrt explicitely as a <library> if it's going to be linked implicitely as the CRT
<library>libcntpr</library> -> crt="libcntpr"
Remove miscellaneous unused <library> entries
modified dll/win32/crtdll/crtdll.rbuild
modified dll/win32/msvcrt20/msvcrt20.rbuild
modified dll/win32/msvcrt40/msvcrt40.rbuild
modified dll/win32/msvcrt/msvcrt.rbuild
Mark CRT DLLs as CRT modules
modified dll/win32/user32/windows/font.c
modified include/reactos/wine/unicode.h
Don't redefine or redeclare CRT functions
modified dll/win32/ws2_32/include/ws2_32.h
Arch, you idiot, it's defined in <stdlib.h>
modified include/crt/ctype.h
modified include/crt/wctype.h
Don't import ctype routines that were already defined as inlines
modified include/crt/stdio.h
modified include/reactos/wine/config.h
Avoid linking to libmingwex.a if possible
modified base/applications/taskmgr/taskmgr.rbuild
modified tools/nci/nci.mak
modified tools/nci/ncitool.c
modified dll/ntdll/ntdll.rbuild
Mark ntdll module as a CRT
New "ntsys" module to import just Nt/Zw from ntdll.dll. Avoids accidentally linking to ntdll.dll's CRT when importing system calls
modified include/psdk/winternl.h
Nope, it doesn't.
modified base/applications/network/net/help.c
modified base/applications/network/net/main.c
Replace printf with puts, or GCC will do it on its own and link to the dllimport thunk for puts
modified base/applications/network/ping/ping.c
Removed broken, unnecessary workaround
modified base/shell/cmd/cmd.rbuild
Simplify cmd module
This commit dediHAPPY BIRTHDAY STEFAN GINSBERG <3 <3 <3
svn path=/trunk/; revision=37187
2008-11-04 18:16:58 +00:00
|
|
|
#endif
|
|
|
|
|
|
|
|
/* TODO: Mark (almost) all CRT functions as __MINGW_NOTHROW. This will
|
|
|
|
allow GCC to optimize away some EH unwind code, at least in DW2 case. */
|
2007-10-10 20:53:47 +00:00
|
|
|
|
2010-02-28 09:12:16 +00:00
|
|
|
#ifndef __MINGW_EXTENSION
|
|
|
|
#if defined(__GNUC__) || defined(__GNUG__)
|
|
|
|
#define __MINGW_EXTENSION __extension__
|
|
|
|
#else
|
|
|
|
#define __MINGW_EXTENSION
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
2007-09-24 11:40:54 +00:00
|
|
|
#ifndef __MSVCRT_VERSION__
|
|
|
|
/* High byte is the major version, low byte is the minor. */
|
2008-12-13 21:28:05 +00:00
|
|
|
# define __MSVCRT_VERSION__ 0x0700
|
|
|
|
#endif
|
|
|
|
|
|
|
|
//#ifndef WINVER
|
|
|
|
//#define WINVER 0x0502
|
|
|
|
//#endif
|
|
|
|
|
2008-12-22 05:55:21 +00:00
|
|
|
//#ifndef _WIN32_WINNT
|
|
|
|
//#define _WIN32_WINNT 0x502
|
|
|
|
//#endif
|
2008-12-13 21:28:05 +00:00
|
|
|
|
|
|
|
#ifdef __GNUC__
|
|
|
|
#define __int8 char
|
|
|
|
#define __int16 short
|
|
|
|
#define __int32 int
|
|
|
|
#define __int64 long long
|
|
|
|
#ifdef _WIN64
|
2008-12-22 05:55:21 +00:00
|
|
|
typedef int __int128 __attribute__ ((mode (TI)));
|
|
|
|
# endif
|
|
|
|
# define __ptr32
|
|
|
|
# define __ptr64
|
2012-07-30 12:55:13 +00:00
|
|
|
# if ( __MINGW_GNUC_PREREQ(4, 3) && __STDC_VERSION__ >= 199901L)
|
|
|
|
# define __forceinline extern inline __attribute__((__always_inline__,__gnu_inline__))
|
|
|
|
# else
|
|
|
|
# define __forceinline extern __inline__ __attribute__((__always_inline__))
|
|
|
|
# endif
|
2008-12-13 21:28:05 +00:00
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
#ifndef __nothrow
|
|
|
|
#define __nothrow __declspec(nothrow)
|
|
|
|
#endif
|
|
|
|
#else
|
|
|
|
#ifndef __nothrow
|
|
|
|
#define __nothrow
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
2011-02-10 13:01:39 +00:00
|
|
|
#if defined(_WIN64) && !defined(_MSC_VER)
|
2008-12-13 21:28:05 +00:00
|
|
|
#undef USE_MINGW_SETJMP_TWO_ARGS
|
|
|
|
#define USE_MINGW_SETJMP_TWO_ARGS
|
|
|
|
#endif
|
|
|
|
|
2010-03-28 23:12:46 +00:00
|
|
|
/* Disable deprecation for now! */
|
2008-12-22 05:55:21 +00:00
|
|
|
#define _CRT_SECURE_NO_DEPRECATE
|
|
|
|
#define _CRT_SECURE_NO_DEPRECATE_CORE
|
|
|
|
#ifdef __WINESRC__
|
|
|
|
#define _CRT_NONSTDC_NO_DEPRECATE
|
2008-12-13 21:28:05 +00:00
|
|
|
#endif
|
|
|
|
|
|
|
|
#define __crt_typefix(ctype)
|
|
|
|
|
|
|
|
#ifndef _CRT_UNUSED
|
|
|
|
#define _CRT_UNUSED(x) (void)x
|
|
|
|
#endif
|
|
|
|
|
2010-07-26 21:32:38 +00:00
|
|
|
#ifdef _MSC_VER
|
|
|
|
#define ATTRIB_NORETURN
|
2011-08-22 21:59:13 +00:00
|
|
|
#define _DECLSPEC_INTRIN_TYPE __declspec(intrin_type)
|
2010-07-26 21:32:38 +00:00
|
|
|
#else
|
|
|
|
#define ATTRIB_NORETURN DECLSPEC_NORETURN
|
2011-08-22 21:59:13 +00:00
|
|
|
#define _DECLSPEC_INTRIN_TYPE
|
2010-07-26 21:32:38 +00:00
|
|
|
#endif
|
|
|
|
|
2010-03-28 23:12:46 +00:00
|
|
|
#include "_mingw_mac.h"
|
2010-03-26 08:58:45 +00:00
|
|
|
|
2008-12-22 05:55:21 +00:00
|
|
|
#endif /* !_INC_MINGW */
|
2007-09-24 11:40:54 +00:00
|
|
|
|