dosbox-x/vs/config.h

409 lines
11 KiB
C

/* config.h.in. Generated from configure.ac by autoheader. */
/* Hand-edited by Jonathan Campbell for Visual Studio 2008 */
/*
* Copyright (C) 2002-2021 The DOSBox Team
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Library General Public License for more details.
*
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
/* DOSBox-X currently targets Windows XP or higher. */
/* TODO: Can we drop this to 0x500 for Windows 2000? */
/* TODO: What is the minimum appropriate WINVER for HX DOS extender? */
#ifndef WINVER
#define WINVER 0x0501
#endif
#ifndef _WIN32_WINNT
#define _WIN32_WINNT 0x0501
#endif
/* Define if building universal (internal helper macro) */
#undef AC_APPLE_UNIVERSAL_BUILD
/* Compiling on BSD */
#undef BSD
/* Determines if the compilers supports always_inline attribute. */
#undef C_ATTRIBUTE_ALWAYS_INLINE
/* Determines if the compilers supports fastcall attribute. */
#undef C_ATTRIBUTE_FASTCALL
/* Indicate whether SDL_net is present */
#define C_SDL_NET 1
/* Define to 1 if you have the <d3d9.h> header file. */
#define HAVE_D3D9_H 1
/* Define to 1 if you want to add Direct3D output to the list of available outputs */
#define C_DIRECT3D 1
/* Define to 1 to use Direct3D shaders, requires d3d9.h and libd3dx9 */
#define C_D3DSHADERS 1
/* MT32 (munt) emulation */
#define C_MT32 1
/* Define to 1 to enable internal debugger, requires libcurses */
#define C_DEBUG 1
/* Define to 1 if you want parallel passthrough support (Win32, Linux). */
#define C_DIRECTLPT 1
/* Define to 1 if you want serial passthrough support (Win32, Posix and OS/2).
*/
#define C_DIRECTSERIAL 1
#if defined (_M_AMD64)
/* The type of cpu this target has */
# define C_TARGETCPU X86_64
/* Define to 1 to use x86 dynamic cpu core */
# define C_DYNAMIC_X86 1
# define C_DYNREC 1
#elif defined (_M_ARM64) || defined (_M_ARM) /* Microsoft C++ amd64, arm32 and arm64 */
# undef C_TARGETCPU
# undef C_DYNAMIC_X86
# define C_DYNREC 1
#else
# define C_TARGETCPU X86
# define C_DYNAMIC_X86 1
# define C_DYNREC 1
#endif
/* Define to 1 to enable libfluidsynth MIDI synthesis */
#undef C_FLUIDSYNTH
/* Force SDL drawn menus */
#undef C_FORCE_MENU_SDLDRAW
/* Define to 1 to enable floating point emulation */
#define C_FPU 1
/* Define to 1 to use a x86/x64 assembly fpu core */
/* FIXME: VS2015 x86_64 will not allow inline asm! */
#ifdef _M_AMD64 /* Microsoft C++ amd64 */
//TODO
#elif defined(_M_ARM64) || defined (_M_ARM) /* Microsoft C++ arm32 and arm64 */
# undef C_FPU_X86
#else
# define C_FPU_X86 1
#endif
/* Define to 1 to enable freetype support */
#define C_FREETYPE 1
/* Determines if the compilers supports attributes for structures. */
#undef C_HAS_ATTRIBUTE
/* Determines if the compilers supports __builtin_expect for branch
prediction. */
#undef C_HAS_BUILTIN_EXPECT
/* Define to 1 if you have the mprotect function */
#undef C_HAVE_MPROTECT
/* Define to 1 to enable heavy debugging, also have to enable C_DEBUG */
#define C_HEAVY_DEBUG 1
/* Define to 1 to enable IPX over Internet networking, requires SDL_net */
#define C_IPX 1
/* Define to 1 if you have libpng */
#define C_LIBPNG 1
/* Define to 1 if you have libz */
#define C_LIBZ 1
/* Define to 1 to enable internal modem support, requires SDL_net */
#define C_MODEM 1
/* Define to 1 to enable internal printer redirection support*/
#define C_PRINTER 1
/* Define to 1 to enable ethernet passthrough, requires libpcap */
#define C_PCAP 1
/* Define to 1 to enable userspace TCP/IP emulation, requires libslirp */
/* #undef C_SLIRP */
/* Set to 1 to enable SDL 1.x support */
#define C_SDL1 1
/* Set to 1 to enable SDL 2.x support */
/* #undef C_SDL2 */
/* Define to 1 to use opengl display output support */
#if (defined(__arm__) || defined(__aarch64__) || defined(_M_ARM) || defined(_M_ARM64) || defined(_M_ARM_NT)) && defined(WIN32)
/* do not define for ARM-based Windows, it doesn't seem to work, and Windows RT does not have it */
#else
# define C_OPENGL 1
#endif
#ifdef C_SDL2
/* Define to 1 to enable gamelink support (needs SDL2) */
#define C_GAMELINK 1
#endif
/* Set to 1 to enable XBRZ support */
#define C_XBRZ 1
/* Set to 1 to enable scaler friendly but CPU intensive aspect ratio correction options (post-scalers) for 'surface' output */
/* Please note that this option includes small part of xBRZ code and uses task group parallelism like xBRZ (batch size is hardcoded here) */
#define C_SURFACE_POSTRENDER_ASPECT 1
#define C_SURFACE_POSTRENDER_ASPECT_BATCH_SIZE 16
/* Define to 1 if you have setpriority support */
#undef C_SET_PRIORITY
/* Define to 1 to enable screenshots, requires libpng */
#define C_SSHOT 1
/* Define to 1 to use a unaligned memory access */
#define C_UNALIGNED_MEMORY 1
/* define to 1 if you have XKBlib.h and X11 lib */
#undef C_X11_XKB
/* libm doesn't include powf */
#undef DB_HAVE_NO_POWF
/* struct dirent has d_type */
#undef DIRENT_HAS_D_TYPE
/* environ can be included */
#define ENVIRON_INCLUDED 1
/* environ can be linked */
#undef ENVIRON_LINKED
/* Define to 1 to use ALSA for MIDI */
#undef HAVE_ALSA
/* Define to 1 if you have the <ddraw.h> header file. */
#if !defined(C_SDL2)
#define HAVE_DDRAW_H 1
#endif
/* Define to 1 if you have the <inttypes.h> header file. */
#undef HAVE_INTTYPES_H
/* Define to 1 if you have the `asound' library (-lasound). */
#undef HAVE_LIBASOUND
/* Define to 1 if you have the <memory.h> header file. */
#undef HAVE_MEMORY_H
/* Define to 1 if you have the <netinet/in.h> header file. */
#undef HAVE_NETINET_IN_H
/* Define to 1 if you have the <pwd.h> header file. */
#undef HAVE_PWD_H
/* Define to 1 if you have the <stdint.h> header file. */
#undef HAVE_STDINT_H
/* Define to 1 if you have the <stdlib.h> header file. */
#define HAVE_STDLIB_H 1
/* Define to 1 if you have the <strings.h> header file. */
#undef HAVE_STRINGS_H
/* Define to 1 if you have the <string.h> header file. */
#define HAVE_STRING_H 1
/* Define to 1 if you have the <sys/socket.h> header file. */
#undef HAVE_SYS_SOCKET_H
/* Define to 1 if you have the <sys/stat.h> header file. */
#define HAVE_SYS_STAT_H 1
/* Define to 1 if you have the <sys/types.h> header file. */
#undef HAVE_SYS_TYPES_H
/* Define to 1 if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H
/* Compiling on GNU/Linux */
#undef LINUX
/* Compiling on Mac OS X */
#undef MACOSX
/* Compiling on OS/2 EMX */
#undef OS2
/* Define to the address where bug reports for this package should be sent. */
/* Define to the full name of this package. */
/* Define to the full name and version of this package. */
/* Define to the one symbol short name of this package. */
/* Define to the home page for this package. */
/* Define to the version of this package. */
/* The size of `int *', as computed by sizeof. */
#if defined (_M_AMD64) || defined (_M_ARM64) /* Microsoft C++ amd64 and arm64*/
# define SIZEOF_INT_P 8
#else
# define SIZEOF_INT_P 4
#endif
/* The size of `unsigned char', as computed by sizeof. */
#define SIZEOF_UNSIGNED_CHAR 1
/* The size of `unsigned int', as computed by sizeof. */
#define SIZEOF_UNSIGNED_INT 4
/* The size of `unsigned long', as computed by sizeof. */
#define SIZEOF_UNSIGNED_LONG 4
/* The size of `unsigned long long', as computed by sizeof. */
#define SIZEOF_UNSIGNED_LONG_LONG 8
/* The size of `unsigned short', as computed by sizeof. */
#define SIZEOF_UNSIGNED_SHORT 2
/* Define to 1 if you have the ANSI C header files. */
#undef STDC_HEADERS
/* Define to 1 if your <sys/time.h> declares `struct tm'. */
#undef TM_IN_SYS_TIME
/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
significant byte first (like Motorola and SPARC, unlike Intel). */
#if defined AC_APPLE_UNIVERSAL_BUILD
# if defined __BIG_ENDIAN__
# define WORDS_BIGENDIAN 1
# endif
#else
# ifndef WORDS_BIGENDIAN
# undef WORDS_BIGENDIAN
# endif
#endif
/* Define to empty if `const' does not conform to ANSI C. */
#undef const
#ifndef CONST
#define CONST const
#endif
/* Define to `__inline__' or `__inline' if that's what the C compiler
calls it, or to nothing if 'inline' is not supported under any name. */
#ifndef __cplusplus
#undef inline
#endif
/* Define to `unsigned int' if <sys/types.h> does not define. */
#undef size_t
#if C_ATTRIBUTE_ALWAYS_INLINE
#define INLINE inline __attribute__((always_inline))
#else
#define INLINE inline
#endif
#if C_ATTRIBUTE_FASTCALL
#define DB_FASTCALL __attribute__((fastcall))
#else
#define DB_FASTCALL
#endif
#if C_HAS_ATTRIBUTE
#define GCC_ATTRIBUTE(x) __attribute__ ((x))
#else
#define GCC_ATTRIBUTE(x) /* attribute not supported */
#endif
#if C_HAS_BUILTIN_EXPECT
#define GCC_UNLIKELY(x) __builtin_expect((x),0)
#define GCC_LIKELY(x) __builtin_expect((x),1)
#else
#define GCC_UNLIKELY(x) (x)
#define GCC_LIKELY(x) (x)
#endif
typedef double Real64;
#if SIZEOF_UNSIGNED_CHAR != 1
# error "sizeof (unsigned char) != 1"
#else
typedef unsigned char Bit8u;
typedef signed char Bit8s;
#endif
#if SIZEOF_UNSIGNED_SHORT != 2
# error "sizeof (unsigned short) != 2"
#else
typedef unsigned short Bit16u;
typedef signed short Bit16s;
#endif
#if SIZEOF_UNSIGNED_INT == 4
typedef unsigned int Bit32u;
typedef signed int Bit32s;
#elif SIZEOF_UNSIGNED_LONG == 4
typedef unsigned long Bit32u;
typedef signed long Bit32s;
#else
# error "can't find sizeof(type) of 4 bytes!"
#endif
#if SIZEOF_UNSIGNED_LONG == 8
typedef unsigned long Bit64u;
typedef signed long Bit64s;
#elif SIZEOF_UNSIGNED_LONG_LONG == 8
typedef unsigned long long Bit64u;
typedef signed long long Bit64s;
#else
# error "can't find data type of 8 bytes"
#endif
#if SIZEOF_INT_P == 4
typedef Bit32u Bitu;
typedef Bit32s Bits;
#else
typedef Bit64u Bitu;
typedef Bit64s Bits;
#endif
/* Fuck off MSVC I don't care if some C library functions aren't POSIX compliant --J.C. */
#if defined(WIN32)
# pragma warning(disable:4996)
#endif
/*
Define HAS_CDIRECTLPT as 1 if C_DIRECTLPT is defined (as 1) *and* parallel
pass-through is available on the current platform. It is only available on
x86{_64} with Windows or BSD, and on Linux.
*/
#ifdef C_DIRECTLPT
#if (defined __i386__ || defined __x86_64__ || defined _M_IX86 || defined _M_X64) && \
defined WIN32
#define HAS_CDIRECTLPT 1
#endif
#endif // C_DIRECTLPT
#ifndef HAS_CDIRECTLPT
#define HAS_CDIRECTLPT 0
#endif
/* Linux-side configure script will write/rewrite this file so both Windows and Linux builds carry the same information --J.C. */
#include "config_package.h"