root/trunk/lua/common.d

Revision 324, 1.5 kB (checked in by Trass3r, 3 years ago)

+ D2 compatibility!
+ precompiled lua 5.1.4
+ Exceptions support file and line arguments
* changed file encoding to UTF-8
* several bugfixes

Line 
1 /*******************************************************************************
2
3     copyright:      Copyright (c) 2009 Andreas Hollandt. All rights reserved
4
5     authors:        Andreas Hollandt
6
7 *******************************************************************************/
8
9 module lua.common;
10
11 // automatically link lua C library
12 version(Windows)pragma(lib, "lua\\lua.lib");
13 version(linux)  pragma(lib, "lua/lua.lib");
14
15 package
16 {
17 // define string types for compatibility with both D1 and D2
18 version (D_Version2)
19 {
20     pragma(msg, "D2 detected. Taking care of constness.");
21
22     // we need a mixin cause the code is syntactically illegal under D1
23     mixin(`
24     alias const(char) cchar; /// const char type
25     alias invariant(char) ichar; /// invariant char type
26
27     alias char[] mstring; /// mutable string type
28     alias const(char)[] cstring; /// const string type
29     alias invariant(char)[] istring; /// invariant string type
30
31     alias wchar[] mwstring;
32     alias const(wchar)[] cwstring;
33     alias invariant(wchar)[] iwstring;
34
35     alias dchar[] mdstring;
36     alias const(dchar)[] cdstring;
37     alias invariant(dchar)[] idstring;`);
38 }
39 else
40 {
41     pragma(msg, "D1 detected. All strings are mutable.");
42     alias char cchar;
43     alias char ichar;
44
45     alias char[] mstring;
46     alias char[] cstring;
47     alias char[] istring;
48
49     alias wchar[] mwstring;
50     alias wchar[] cwstring;
51     alias wchar[] iwstring;
52
53     alias dchar[] mdstring;
54     alias dchar[] cdstring;
55     alias dchar[] idstring;
56 }
57 }
Note: See TracBrowser for help on using the browser.