99 lines
2.9 KiB
C
99 lines
2.9 KiB
C
/* ______ ___ ___
|
|
* /\ _ \ /\_ \ /\_ \
|
|
* \ \ \L\ \\//\ \ \//\ \ __ __ _ __ ___
|
|
* \ \ __ \ \ \ \ \ \ \ /'__`\ /'_ `\/\`'__\/ __`\
|
|
* \ \ \/\ \ \_\ \_ \_\ \_/\ __//\ \L\ \ \ \//\ \L\ \
|
|
* \ \_\ \_\/\____\/\____\ \____\ \____ \ \_\\ \____/
|
|
* \/_/\/_/\/____/\/____/\/____/\/___L\ \/_/ \/___/
|
|
* /\____/
|
|
* \_/__/
|
|
*
|
|
* Configuration defines for use with Borland C++Builder.
|
|
*
|
|
* By Greg Hackmann.
|
|
*
|
|
* See readme.txt for copyright information.
|
|
*/
|
|
|
|
|
|
/*
|
|
#ifdef ALLEGRO_SRC
|
|
#error Currently BCC32 cannot build the library
|
|
#endif
|
|
*/
|
|
|
|
|
|
#include <io.h>
|
|
#include <fcntl.h>
|
|
#include <direct.h>
|
|
#include <malloc.h>
|
|
|
|
|
|
#pragma warn -8004 /* unused assigned value */
|
|
#pragma warn -8008 /* condition always met */
|
|
#pragma warn -8057 /* unused parameter */
|
|
#pragma warn -8066 /* unreachable code */
|
|
|
|
|
|
/* describe this platform */
|
|
#define ALLEGRO_PLATFORM_STR "BCC32"
|
|
#define ALLEGRO_WINDOWS
|
|
#define ALLEGRO_I386
|
|
#define ALLEGRO_LITTLE_ENDIAN
|
|
#define ALLEGRO_GUESS_INTTYPES_OK
|
|
/* TODO: check if BCC has inttypes.h and/or stdint.h */
|
|
|
|
#ifdef ALLEGRO_USE_CONSOLE
|
|
#define ALLEGRO_NO_MAGIC_MAIN
|
|
#endif
|
|
|
|
|
|
/* describe how function prototypes look to BCC32 */
|
|
#if (defined ALLEGRO_STATICLINK)
|
|
#define _AL_DLL
|
|
#elif (defined ALLEGRO_SRC)
|
|
#define _AL_DLL __declspec(dllexport)
|
|
#else
|
|
#define _AL_DLL __declspec(dllimport)
|
|
#endif
|
|
|
|
#define AL_VAR(type, name) extern _AL_DLL type name
|
|
#define AL_ARRAY(type, name) extern _AL_DLL type name[]
|
|
#define AL_FUNC(type, name, args) extern _AL_DLL type name args
|
|
#define AL_METHOD(type, name, args) type (*name) args
|
|
#define AL_FUNCPTR(type, name, args) extern _AL_DLL type (*name) args
|
|
|
|
|
|
#define END_OF_INLINE(name)
|
|
//#define AL_INLINE(type, name, args, code) extern __inline type name args code END_OF_INLINE(name)
|
|
|
|
#define INLINE __inline
|
|
|
|
#undef AL_INLINE
|
|
#undef AL_INLINE_STATIC
|
|
|
|
#define AL_INLINE(type, name, args, code) extern __inline type __cdecl name args code END_OF_INLINE(name)
|
|
#define AL_INLINE_STATIC(type, name, args, code) static __inline type name args code END_OF_INLINE(name)
|
|
|
|
#define LONG_LONG __int64
|
|
#define int64_t signed __int64
|
|
#define uint64_t unsigned __int64
|
|
|
|
#define __func__ "FIXME"
|
|
|
|
#define _wfindfirst __wfindfirst
|
|
#define _wfindnext __wfindnext
|
|
|
|
#define WinMain _main
|
|
|
|
/* windows specific defines */
|
|
#ifdef NONAMELESSUNION
|
|
#undef NONAMELESSUNION
|
|
#endif
|
|
/* This fixes 99.999999% of Borland C++Builder's problems with structs. */
|
|
|
|
/* arrange for other headers to be included later on */
|
|
#define ALLEGRO_EXTRA_HEADER "allegro5/platform/alwin.h"
|
|
#define ALLEGRO_INTERNAL_HEADER "allegro5/platform/aintwin.h"
|
|
#define ALLEGRO_INTERNAL_THREAD_HEADER "allegro5/platform/aintwthr.h"
|