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