Mercurial > projects > ddmd
annotate buildHelper.d @ 180:0622fff7810a
Fixed a few memory allocation related issues
author | korDen |
---|---|
date | Sun, 17 Oct 2010 23:23:28 +0400 |
parents | 5a9a88e919f9 |
children | 190ba98276b3 |
rev | line source |
---|---|
171
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
1 // Written in The D Programming Language |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
2 /// Script to build DDMD |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
3 import std.file; |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
4 import std.getopt; |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
5 import std.path; |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
6 import std.process; |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
7 import std.stdio; |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
8 import std.string: replace, format; |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
9 import std.zip; |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
10 |
180 | 11 enum dmdVersionDefault = "2.040"; |
171
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
12 enum dmdArchiveBaseURL = "http://ftp.digitalmars.com/"; |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
13 enum dmdLib = "dmd.lib"; |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
14 version(Windows) |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
15 { |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
16 enum scriptName = "build.bat"; |
172
5a9a88e919f9
BuildHelper updated to use src and lib from dmd2/, not copies
korDen
parents:
171
diff
changeset
|
17 enum osSubDir = "windows"; |
171
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
18 enum configFile = "sc.ini"; |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
19 enum execExt = ".exe"; |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
20 } |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
21 else |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
22 { |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
23 enum scriptName = "./build.sh"; |
172
5a9a88e919f9
BuildHelper updated to use src and lib from dmd2/, not copies
korDen
parents:
171
diff
changeset
|
24 enum osSubDir = "linux"; |
171
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
25 enum configFile = "dmd.conf"; |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
26 enum execExt = ""; |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
27 } |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
28 |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
29 string dmdVersion; |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
30 string dmdPackage; |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
31 string dmdArchive; |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
32 string dmBase=""; |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
33 bool shouldDownload; |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
34 |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
35 void doCopy(string from, string to) |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
36 { |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
37 from = normFilePath(from); |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
38 to = normFilePath(to); |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
39 |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
40 writefln(`copy "%s" "%s"`, from, to); |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
41 copy(from, to); |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
42 } |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
43 |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
44 void doChDir(string dir) |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
45 { |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
46 dir = normDirPath(dir); |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
47 |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
48 writefln(`chdir "%s"`, dir); |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
49 chdir(dir); |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
50 } |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
51 |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
52 int doSystem(string cmd) |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
53 { |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
54 writeln(cmd); |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
55 stdout.flush(); |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
56 return system(cmd); |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
57 } |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
58 |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
59 void copyRecurse(string from, string to) |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
60 { |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
61 from = normDirPath(from)[0..$-1]; |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
62 to = normDirPath(to)[0..$-1]; |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
63 version(Windows) |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
64 doSystem(`xcopy "%s" "%s" /E /I /Y /Q`.format(from, to)); |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
65 else |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
66 doSystem(`cp '%s' '%s' -r`.format(from, to)); |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
67 } |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
68 |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
69 void copyAndPatch(string from, string to, void delegate(ref string) patcher) |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
70 { |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
71 auto data = cast(string)read(from); |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
72 patcher(data); |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
73 std.file.write(to, data); |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
74 } |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
75 |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
76 /// makePath("C:\foo\bar\dir") will create "C:\foo\bar\dir" if it doesn't already exist. |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
77 /// makePath("C:\foo\bar\dir\") will create "C:\foo\bar\dir" if it doesn't already exist. |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
78 void makePath(string dir) |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
79 { |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
80 dir = normDirPath(dir)[0..$-1]; |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
81 if(!exists(dir)) |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
82 mkdirRecurse(dir); |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
83 } |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
84 |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
85 /// makePathTo("C:\foo\bar\file.txt") will create "C:\foo\bar\" if it doesn't already exist. |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
86 /// makePathTo("C:\foo\bar\dir\") will create "C:\foo\bar\" if it doesn't already exist. |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
87 void makePathTo(string file) |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
88 { |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
89 file = normFilePath(file); |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
90 auto dir = dirname(file); |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
91 makePath(dir); |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
92 } |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
93 |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
94 /// Ensure trailing slash and OS-correct path separators |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
95 string normDirPath(string str) |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
96 { |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
97 str = normPathSep(str); |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
98 if(str.length > 0 && str[$-1] != sep[0]) |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
99 str ~= sep; |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
100 |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
101 return str; |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
102 } |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
103 |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
104 /// Ensure no trailing slash and OS-correct path separators |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
105 string normFilePath(string str) |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
106 { |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
107 str = normPathSep(str); |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
108 if(str.length > 0 && str[$-1] == sep[0]) |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
109 str = str[0..$-1]; |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
110 |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
111 return str; |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
112 } |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
113 |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
114 /// Ensure OS-correct path separators |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
115 string normPathSep(string str) |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
116 { |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
117 version(Windows) |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
118 str = str.replace("/", "\\"); |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
119 else |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
120 str = str.replace("\\", "/"); |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
121 |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
122 return str; |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
123 } |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
124 |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
125 unittest |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
126 { |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
127 version(Windows) |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
128 { |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
129 assert(normDirPath ("C:\\a/b\\c/d" ) == "C:\\a\\b\\c\\d\\"); |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
130 assert(normDirPath ("C:\\a/b\\c/d\\") == "C:\\a\\b\\c\\d\\"); |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
131 assert(normDirPath ("C:\\a/b\\c/d/" ) == "C:\\a\\b\\c\\d\\"); |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
132 assert(normFilePath("C:\\a/b\\c/d" ) == "C:\\a\\b\\c\\d" ); |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
133 assert(normFilePath("C:\\a/b\\c/d\\") == "C:\\a\\b\\c\\d" ); |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
134 } |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
135 else |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
136 { |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
137 assert(normDirPath ("\\a/b\\c/d" ) == "/a/b/c/d/"); |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
138 assert(normDirPath ("\\a/b\\c/d\\") == "/a/b/c/d/"); |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
139 assert(normDirPath ("\\a/b\\c/d/" ) == "/a/b/c/d/"); |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
140 assert(normFilePath("\\a/b\\c/d" ) == "/a/b/c/d" ); |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
141 assert(normFilePath("\\a/b\\c/d\\") == "/a/b/c/d" ); |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
142 } |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
143 } |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
144 |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
145 bool initialSetup() |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
146 { |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
147 writeln("Running initial setup..."); |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
148 |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
149 // Download dmd zip |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
150 if(!exists(dmdArchive) && shouldDownload) |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
151 doSystem("wget "~dmdArchiveBaseURL~dmdArchive); |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
152 |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
153 // Extract dmd zip |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
154 writeln("Extracting dmd archive..."); |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
155 if(exists("dmd2")) |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
156 rmdirRecurse("dmd2"); |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
157 auto zip = new ZipArchive(std.file.read(dmdArchive)); |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
158 foreach(member; zip.directory) |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
159 { |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
160 makePathTo(member.name); |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
161 std.file.write(member.name, zip.expand(member)); |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
162 } |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
163 |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
164 // Make mars2.c with 'main' hidden |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
165 doChDir("dmd2/src/dmd"); |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
166 copyAndPatch("mars.c", "mars2.c", (ref string data) { |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
167 data = data.replace("int main(int argc, char *argv[])", "int HIDE_main(int argc, char *argv[])"); |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
168 }); |
180 | 169 |
170 copyAndPatch("util.c", "util.c", (ref string data) { | |
171 data = data.replace("void util_assert(char *file,int line)", "void HIDE_util_assert(char *file,int line)"); | |
172 }); | |
171
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
173 |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
174 // Apply patch |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
175 doChDir("../../.."); |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
176 doChDir("dmd2"); |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
177 doSystem("patch -p1 --binary < " ~ normFilePath("../dmdpatch.patch")); |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
178 |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
179 // Setup makefile for dmd.lib |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
180 doChDir(".."); |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
181 doChDir("dmd2/src/dmd"); |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
182 version(Windows) |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
183 enum makefile = "win32.mak"; |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
184 else |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
185 { |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
186 enum makefile = "linux_lib.mak"; |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
187 doCopy("../../../"~makefile, makefile); |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
188 } |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
189 |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
190 version(Windows) |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
191 copyAndPatch(makefile, makefile, (ref string data) { |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
192 if(dmBase == "") |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
193 { |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
194 data = data.replace("\nCC=$(SCROOT)\\bin\\dmc", "\nCC=dmc"); |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
195 data = data.replace("\nLIB=$(SCROOT)\\bin\\lib", "\nLIB=lib"); |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
196 } |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
197 else |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
198 data = data.replace("\nD=", "\nD="~dmBase); |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
199 }); |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
200 |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
201 |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
202 // Build dmd.lib |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
203 version(Windows) |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
204 doSystem("make deblib -f"~makefile); |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
205 else |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
206 doSystem("make -f"~makefile); |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
207 doCopy("dmd.lib", "../../../dmd.lib"); |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
208 |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
209 // Copy and patch config file |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
210 doChDir("../../.."); |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
211 copyAndPatch( |
172
5a9a88e919f9
BuildHelper updated to use src and lib from dmd2/, not copies
korDen
parents:
171
diff
changeset
|
212 normFilePath("dmd2/"~osSubDir~"/bin/"~configFile), |
171
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
213 normFilePath("bin/"~configFile), |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
214 (ref string data) { |
172
5a9a88e919f9
BuildHelper updated to use src and lib from dmd2/, not copies
korDen
parents:
171
diff
changeset
|
215 data = data.replace(normDirPath("../.."), normDirPath("../dmd2")); |
5a9a88e919f9
BuildHelper updated to use src and lib from dmd2/, not copies
korDen
parents:
171
diff
changeset
|
216 data = data.replace(normDirPath("../lib"), normDirPath("../dmd2/"~osSubDir~"/lib")); |
171
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
217 } |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
218 ); |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
219 |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
220 // Copy linker |
172
5a9a88e919f9
BuildHelper updated to use src and lib from dmd2/, not copies
korDen
parents:
171
diff
changeset
|
221 doCopy("dmd2/"~osSubDir~"/bin/link"~execExt, "bin/link"~execExt); |
171
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
222 |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
223 return true; |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
224 } |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
225 |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
226 int main(string[] args) |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
227 { |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
228 endOfOptions = ""; |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
229 bool help; |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
230 bool shouldSetup; |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
231 bool debugOnly; |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
232 bool releaseOnly; |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
233 dmdVersion = dmdVersionDefault; |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
234 getopt( |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
235 args, |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
236 std.getopt.config.caseSensitive, |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
237 "setup", &shouldSetup, |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
238 "debug|d", &debugOnly, |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
239 "release|r", &releaseOnly, |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
240 "ver", &dmdVersion, |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
241 "download", &shouldDownload, |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
242 "dmbase", &dmBase, |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
243 "help|h|H|?", &help |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
244 ); |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
245 |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
246 dmdPackage = "dmd."~dmdVersion; |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
247 dmdArchive = dmdPackage~".zip"; |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
248 |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
249 auto helpMsg = |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
250 `This script will compile DDMD |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
251 |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
252 Note that this script must be run from the main DDMD directory. |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
253 |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
254 Also, make sure you have GNU patch installed and current versions |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
255 of DMC and DMD (D2) on the PATH. (DMC is only needed on Windows.) |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
256 |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
257 Usage: |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
258 `~scriptName~` [options...] |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
259 |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
260 --help,-h,-H,-? Display this help message |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
261 --debug,-d Only build debug version |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
262 --release,-r Only build release version |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
263 --ver={ver} Base DDMD off specific DMD version (default: `~dmdVersionDefault~`) |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
264 --setup Run initial setup |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
265 --download If running initial setup and the dmd zip doesn't exist, |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
266 use wget to download it |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
267 --dmbase={path} Path to directory containing 'dm' for building dmd.lib |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
268 (Optional if --setup is used, otherwise ignored) |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
269 `; |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
270 |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
271 // Assume the user meant they wanted both. |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
272 if(debugOnly && releaseOnly) |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
273 { |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
274 debugOnly = releaseOnly = false; |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
275 } |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
276 |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
277 if( |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
278 help || |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
279 ( shouldSetup && !exists(dmdArchive) && !shouldDownload ) || |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
280 ( shouldSetup && exists(dmdArchive) && !isfile(dmdArchive) ) |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
281 ) |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
282 { |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
283 write(helpMsg); |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
284 return 1; |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
285 } |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
286 |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
287 if( !shouldSetup && (!exists(dmdLib) || !isfile(dmdLib)) ) |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
288 { |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
289 auto needSetupMsg = |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
290 `'`~dmdLib~`' has not been built so you need to run the initial setup: |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
291 |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
292 If you have GNU wget installed, just run: |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
293 `~scriptName~` --setup --download |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
294 |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
295 If you don't have wget, download a copy of `~dmdArchive~` to this |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
296 directory. It can be obtained from: |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
297 `~dmdArchiveBaseURL~dmdArchive~` |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
298 Then run: |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
299 `~scriptName~` --setup |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
300 |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
301 For a full list of options, run: |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
302 `~scriptName~` --help |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
303 `; |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
304 |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
305 write(needSetupMsg); |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
306 return 1; |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
307 } |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
308 |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
309 if(shouldSetup) |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
310 { |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
311 if(!initialSetup()) |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
312 return 1; |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
313 } |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
314 |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
315 int ret=0; |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
316 version(Windows) |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
317 { |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
318 system("cls"); |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
319 if(ret == 0) ret = doSystem(r"dmc.exe bridge\bridge.cpp -c"); |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
320 if(!releaseOnly) if(ret == 0) ret = doSystem(r"dmd -debug -g @commands.txt"); |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
321 if(!debugOnly) if(ret == 0) ret = doSystem(r"dmd -release -O -inline @commands.txt"); |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
322 } |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
323 else |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
324 { |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
325 if(ret == 0) ret = doSystem("g++ -c bridge/bridge.cpp -obridge.o"); |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
326 if(!releaseOnly) if(ret == 0) ret = doSystem("dmd -debug -gc @commands.linux.txt"); |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
327 if(!debugOnly) if(ret == 0) ret = doSystem("dmd -release -O -inline @commands.linux.txt"); |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
328 } |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
329 |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
330 return ret; |
b080e62b16b4
Enhanced buildscript to simplify compiling for new users
Abscissa
parents:
diff
changeset
|
331 } |