1 /* ______ ___ ___ 2 * /\ _ \ /\_ \ /\_ \ 3 * \ \ \L\ \\//\ \ \//\ \ __ __ _ __ ___ 4 * \ \ __ \ \ \ \ \ \ \ /'__`\ /'_ `\/\`'__\/ __`\ 5 * \ \ \/\ \ \_\ \_ \_\ \_/\ __//\ \L\ \ \ \//\ \L\ \ 6 * \ \_\ \_\/\____\/\____\ \____\ \____ \ \_\\ \____/ 7 * \/_/\/_/\/____/\/____/\/____/\/___L\ \/_/ \/___/ 8 * /\____/ 9 * \_/__/ 10 * 11 * Configuration defines for use with Digital Mars C compiler. 12 * 13 * By Matthew Leverton. 14 * 15 * See readme.txt for copyright information. 16 */ 17 18 19 #ifndef SCAN_DEPEND 20 #include <io.h> 21 #include <fcntl.h> 22 #endif 23 24 #include <stdint.h> 25 26 27 /* a static auto config */ 28 #define ALLEGRO_HAVE_INTTYPES_H 29 #define ALLEGRO_HAVE_STDINT_H 30 31 #define LONG_LONG long long 32 33 /* describe this platform */ 34 #ifdef ALLEGRO_STATICLINK 35 #define ALLEGRO_PLATFORM_STR "DMC.s" 36 #else 37 #define ALLEGRO_PLATFORM_STR "DMC" 38 #endif 39 40 #define ALLEGRO_WINDOWS 41 #define ALLEGRO_I386 42 #define ALLEGRO_LITTLE_ENDIAN 43 #define ALLEGRO_MULTITHREADED 44 45 #ifdef ALLEGRO_USE_CONSOLE 46 #define ALLEGRO_CONSOLE_OK 47 #define ALLEGRO_NO_MAGIC_MAIN 48 #endif 49 50 51 /* describe how function prototypes look to DMC */ 52 #if defined ALLEGRO_STATICLINK 53 #define _AL_DLL 54 #elif defined ALLEGRO_SRC 55 #define _AL_DLL __declspec(dllexport) 56 #else 57 #define _AL_DLL __declspec(dllimport) 58 #endif 59 60 #define AL_VAR(type, name) extern _AL_DLL type name 61 #define AL_ARRAY(type, name) extern _AL_DLL type name[] 62 #define AL_FUNC(type, name, args) extern type name args 63 #define AL_METHOD(type, name, args) type (*name) args 64 #define AL_FUNCPTR(type, name, args) extern _AL_DLL type (*name) args 65 66 67 /* Windows specific defines */ 68 69 #if (defined ALLEGRO_SRC) 70 71 #if (!defined S_IRUSR) && (!defined SCAN_DEPEND) 72 #define S_IRUSR S_IREAD 73 #define S_IWUSR S_IWRITE 74 #endif 75 76 typedef unsigned long _fsize_t; 77 78 struct _wfinddata_t { 79 unsigned attrib; 80 time_t time_create; /* -1 for FAT file systems */ 81 time_t time_access; /* -1 for FAT file systems */ 82 time_t time_write; 83 _fsize_t size; 84 wchar_t name[260]; /* may include spaces. */ 85 }; 86 87 #endif /* ALLEGRO_SRC */ 88 89 /* describe the asm syntax for this platform */ 90 #define ALLEGRO_ASM_PREFIX "_" 91 92 /* arrange for other headers to be included later on */ 93 #define ALLEGRO_EXTRA_HEADER "allegro/platform/alwin.h" 94 #define ALLEGRO_INTERNAL_HEADER "allegro/platform/aintwin.h" 95 #define ALLEGRO_ASMCAPA_HEADER "obj/dmc/asmcapa.h" 96