annotate rakefile @ 34:a8a838017920

All JFace snippets build on windows
author Frank Benoit <benoit@tionex.de>
date Mon, 23 Mar 2009 15:06:06 +0100
parents 712f3c7f7660
children d46287db17ed
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
1 #
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
2 # RSP : Create a response file for the compiler, which lists all files from the packages
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
3 # Compile and create Headers
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
4 # Move objects to unique names
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
5 #
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
6 require 'find'
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
7 require 'fileutils'
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
8
8
2847134a5fc0 more tango abstraction
Frank Benoit <benoit@tionex.de>
parents: 3
diff changeset
9 #DMD="c:\\project\\dmd-2.026\\dmd\\windows\\bin\\dmd.exe"
2847134a5fc0 more tango abstraction
Frank Benoit <benoit@tionex.de>
parents: 3
diff changeset
10 DMD="dmd"
28
69b1fa94a4a8 Added SWT snippets
Frank Benoit <benoit@tionex.de>
parents: 27
diff changeset
11 OBJDIR =File.expand_path("obj")
69b1fa94a4a8 Added SWT snippets
Frank Benoit <benoit@tionex.de>
parents: 27
diff changeset
12 DIMPDIR =File.expand_path("imp")
69b1fa94a4a8 Added SWT snippets
Frank Benoit <benoit@tionex.de>
parents: 27
diff changeset
13 LIBDIR =File.expand_path("lib")
29
4e5843b771cc First snippets buildable on windows
Frank Benoit <benoit@tionex.de>
parents: 28
diff changeset
14 BINDIR =File.expand_path("bin")
28
69b1fa94a4a8 Added SWT snippets
Frank Benoit <benoit@tionex.de>
parents: 27
diff changeset
15 RSPNAME =File.expand_path("rsp")
27
1bf55a6eb092 Renamed java tree to base
Frank Benoit <benoit@tionex.de>
parents: 25
diff changeset
16 ALL_RESDIRS= [ "base/res", "res" ]
21
9b96950f2c3c the 'java' tree compiles on both D1-Tango and D2-Phobos
Frank Benoit <benoit@tionex.de>
parents: 20
diff changeset
17
28
69b1fa94a4a8 Added SWT snippets
Frank Benoit <benoit@tionex.de>
parents: 27
diff changeset
18 LOG_STDOUT = File.expand_path("olog.txt")
69b1fa94a4a8 Added SWT snippets
Frank Benoit <benoit@tionex.de>
parents: 27
diff changeset
19 LOG_STDERR = File.expand_path("elog.txt")
69b1fa94a4a8 Added SWT snippets
Frank Benoit <benoit@tionex.de>
parents: 27
diff changeset
20
25
f713da8bc051 Added SWT Linux GTK
Frank Benoit <benoit@tionex.de>
parents: 21
diff changeset
21 def isWindows
f713da8bc051 Added SWT Linux GTK
Frank Benoit <benoit@tionex.de>
parents: 21
diff changeset
22 Config::CONFIG['host_os'] =~ /mswin/
f713da8bc051 Added SWT Linux GTK
Frank Benoit <benoit@tionex.de>
parents: 21
diff changeset
23 end
f713da8bc051 Added SWT Linux GTK
Frank Benoit <benoit@tionex.de>
parents: 21
diff changeset
24
f713da8bc051 Added SWT Linux GTK
Frank Benoit <benoit@tionex.de>
parents: 21
diff changeset
25 if isWindows
21
9b96950f2c3c the 'java' tree compiles on both D1-Tango and D2-Phobos
Frank Benoit <benoit@tionex.de>
parents: 20
diff changeset
26 ALL_RESDIRS << "org.eclipse.swt.win32.win32.x86/res"
28
69b1fa94a4a8 Added SWT snippets
Frank Benoit <benoit@tionex.de>
parents: 27
diff changeset
27 LIBEXT = ".lib"
69b1fa94a4a8 Added SWT snippets
Frank Benoit <benoit@tionex.de>
parents: 27
diff changeset
28 OBJEXT = ".obj"
69b1fa94a4a8 Added SWT snippets
Frank Benoit <benoit@tionex.de>
parents: 27
diff changeset
29 EXEEXT = ".exe"
21
9b96950f2c3c the 'java' tree compiles on both D1-Tango and D2-Phobos
Frank Benoit <benoit@tionex.de>
parents: 20
diff changeset
30 else
9b96950f2c3c the 'java' tree compiles on both D1-Tango and D2-Phobos
Frank Benoit <benoit@tionex.de>
parents: 20
diff changeset
31 ALL_RESDIRS << "org.eclipse.swt.gtk.linux.x86/res"
28
69b1fa94a4a8 Added SWT snippets
Frank Benoit <benoit@tionex.de>
parents: 27
diff changeset
32 LIBEXT = ".a"
69b1fa94a4a8 Added SWT snippets
Frank Benoit <benoit@tionex.de>
parents: 27
diff changeset
33 OBJEXT = ".o"
69b1fa94a4a8 Added SWT snippets
Frank Benoit <benoit@tionex.de>
parents: 27
diff changeset
34 EXEEXT = ""
21
9b96950f2c3c the 'java' tree compiles on both D1-Tango and D2-Phobos
Frank Benoit <benoit@tionex.de>
parents: 20
diff changeset
35 end
1
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
36
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
37 class String
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
38 def to_path
25
f713da8bc051 Added SWT Linux GTK
Frank Benoit <benoit@tionex.de>
parents: 21
diff changeset
39 if isWindows
f713da8bc051 Added SWT Linux GTK
Frank Benoit <benoit@tionex.de>
parents: 21
diff changeset
40 self.gsub( '/', '\\' );
f713da8bc051 Added SWT Linux GTK
Frank Benoit <benoit@tionex.de>
parents: 21
diff changeset
41 else
f713da8bc051 Added SWT Linux GTK
Frank Benoit <benoit@tionex.de>
parents: 21
diff changeset
42 self
f713da8bc051 Added SWT Linux GTK
Frank Benoit <benoit@tionex.de>
parents: 21
diff changeset
43 end
1
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
44 end
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
45 end
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
46
34
a8a838017920 All JFace snippets build on windows
Frank Benoit <benoit@tionex.de>
parents: 33
diff changeset
47 def buildTree( basedir, srcdir, resdir, dcargs=nil, libname=nil )
20
dccb717aa902 Remove more tango imports
Frank Benoit <benoit@tionex.de>
parents: 16
diff changeset
48 puts "Building #{basedir}/#{srcdir}"
1
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
49
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
50 resdir_abs = File.expand_path( File.join( basedir, resdir ))
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
51 srcdir_abs = File.expand_path( File.join( basedir, srcdir ))
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
52
28
69b1fa94a4a8 Added SWT snippets
Frank Benoit <benoit@tionex.de>
parents: 27
diff changeset
53 FileUtils.mkdir_p DIMPDIR
69b1fa94a4a8 Added SWT snippets
Frank Benoit <benoit@tionex.de>
parents: 27
diff changeset
54 FileUtils.mkdir_p OBJDIR
1
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
55
28
69b1fa94a4a8 Added SWT snippets
Frank Benoit <benoit@tionex.de>
parents: 27
diff changeset
56 rsp = File.new( RSPNAME, "w+" )
1
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
57 rsp.puts "-H"
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
58 rsp.puts "-I#{srcdir_abs.to_path}"
28
69b1fa94a4a8 Added SWT snippets
Frank Benoit <benoit@tionex.de>
parents: 27
diff changeset
59 rsp.puts "-I#{DIMPDIR.to_path}"
1
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
60 rsp.puts "-J#{resdir_abs.to_path}"
34
a8a838017920 All JFace snippets build on windows
Frank Benoit <benoit@tionex.de>
parents: 33
diff changeset
61 if dcargs != nil
16
dbfb303e8fb0 first complete successful compile (win-only)
Frank Benoit <benoit@tionex.de>
parents: 12
diff changeset
62 rsp.puts dcargs
dbfb303e8fb0 first complete successful compile (win-only)
Frank Benoit <benoit@tionex.de>
parents: 12
diff changeset
63 end
3
4c0057e71936 Made a class for StringBuffer
Frank Benoit <benoit@tionex.de>
parents: 1
diff changeset
64 ALL_RESDIRS.each do | dir |
4c0057e71936 Made a class for StringBuffer
Frank Benoit <benoit@tionex.de>
parents: 1
diff changeset
65 rsp.puts "-J#{File.expand_path(dir).to_path}"
4c0057e71936 Made a class for StringBuffer
Frank Benoit <benoit@tionex.de>
parents: 1
diff changeset
66 end
1
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
67 rsp.puts "-c"
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
68 rsp.puts "-op"
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
69 Find.find( srcdir_abs ) do |path|
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
70 if path =~ /\.d$/ then
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
71 rsp.puts path.to_path
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
72 end
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
73 end
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
74 rsp.close
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
75
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
76 Dir.chdir(basedir) do
25
f713da8bc051 Added SWT Linux GTK
Frank Benoit <benoit@tionex.de>
parents: 21
diff changeset
77 if isWindows
28
69b1fa94a4a8 Added SWT snippets
Frank Benoit <benoit@tionex.de>
parents: 27
diff changeset
78 cmd = "#{DMD} @#{RSPNAME.to_path}"
25
f713da8bc051 Added SWT Linux GTK
Frank Benoit <benoit@tionex.de>
parents: 21
diff changeset
79 else
28
69b1fa94a4a8 Added SWT snippets
Frank Benoit <benoit@tionex.de>
parents: 27
diff changeset
80 cmd = "cat #{RSPNAME.to_path} | xargs #{DMD}"
25
f713da8bc051 Added SWT Linux GTK
Frank Benoit <benoit@tionex.de>
parents: 21
diff changeset
81 end
f713da8bc051 Added SWT Linux GTK
Frank Benoit <benoit@tionex.de>
parents: 21
diff changeset
82 sh cmd, :verbose => false do |ok, res|
3
4c0057e71936 Made a class for StringBuffer
Frank Benoit <benoit@tionex.de>
parents: 1
diff changeset
83 if !ok then
4c0057e71936 Made a class for StringBuffer
Frank Benoit <benoit@tionex.de>
parents: 1
diff changeset
84 Find.find( srcdir_abs ) do |path|
4c0057e71936 Made a class for StringBuffer
Frank Benoit <benoit@tionex.de>
parents: 1
diff changeset
85 if FileTest.file?(path) && path =~ /\.di$/ then
4c0057e71936 Made a class for StringBuffer
Frank Benoit <benoit@tionex.de>
parents: 1
diff changeset
86 FileUtils.rm path
4c0057e71936 Made a class for StringBuffer
Frank Benoit <benoit@tionex.de>
parents: 1
diff changeset
87 end
4c0057e71936 Made a class for StringBuffer
Frank Benoit <benoit@tionex.de>
parents: 1
diff changeset
88 end
4c0057e71936 Made a class for StringBuffer
Frank Benoit <benoit@tionex.de>
parents: 1
diff changeset
89
4c0057e71936 Made a class for StringBuffer
Frank Benoit <benoit@tionex.de>
parents: 1
diff changeset
90 raise "compile error"
4c0057e71936 Made a class for StringBuffer
Frank Benoit <benoit@tionex.de>
parents: 1
diff changeset
91 end
1
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
92 end
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
93 end
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
94
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
95 Find.find( srcdir_abs ) do |path|
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
96 if FileTest.file?(path) && path =~ /\.di$/ then
28
69b1fa94a4a8 Added SWT snippets
Frank Benoit <benoit@tionex.de>
parents: 27
diff changeset
97 trgfile = File.join( DIMPDIR, path[ srcdir_abs.length+1 .. -1 ])
1
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
98 FileUtils.mkdir_p File.dirname(trgfile)
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
99 FileUtils.mv path, trgfile
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
100 end
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
101 end
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
102
28
69b1fa94a4a8 Added SWT snippets
Frank Benoit <benoit@tionex.de>
parents: 27
diff changeset
103 libobjs = Array.new
1
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
104 srcdirparts = split_all( srcdir_abs ).length
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
105 Find.find( srcdir_abs ) do |path|
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
106 if FileTest.file?(path) && path =~ /\.o(bj)?$/ then
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
107 trgfile = split_all( path )[ srcdirparts .. -1 ].join( "-" )
28
69b1fa94a4a8 Added SWT snippets
Frank Benoit <benoit@tionex.de>
parents: 27
diff changeset
108 FileUtils.mv path, File.join( OBJDIR, trgfile )
69b1fa94a4a8 Added SWT snippets
Frank Benoit <benoit@tionex.de>
parents: 27
diff changeset
109 libobjs << File.join( OBJDIR, trgfile )
69b1fa94a4a8 Added SWT snippets
Frank Benoit <benoit@tionex.de>
parents: 27
diff changeset
110 end
69b1fa94a4a8 Added SWT snippets
Frank Benoit <benoit@tionex.de>
parents: 27
diff changeset
111 end
69b1fa94a4a8 Added SWT snippets
Frank Benoit <benoit@tionex.de>
parents: 27
diff changeset
112
34
a8a838017920 All JFace snippets build on windows
Frank Benoit <benoit@tionex.de>
parents: 33
diff changeset
113 if libname == nil
28
69b1fa94a4a8 Added SWT snippets
Frank Benoit <benoit@tionex.de>
parents: 27
diff changeset
114 libname = basedir
69b1fa94a4a8 Added SWT snippets
Frank Benoit <benoit@tionex.de>
parents: 27
diff changeset
115 end
69b1fa94a4a8 Added SWT snippets
Frank Benoit <benoit@tionex.de>
parents: 27
diff changeset
116 createLib( libobjs, libname )
69b1fa94a4a8 Added SWT snippets
Frank Benoit <benoit@tionex.de>
parents: 27
diff changeset
117 end
69b1fa94a4a8 Added SWT snippets
Frank Benoit <benoit@tionex.de>
parents: 27
diff changeset
118
69b1fa94a4a8 Added SWT snippets
Frank Benoit <benoit@tionex.de>
parents: 27
diff changeset
119 def createLib( libobjs, name )
69b1fa94a4a8 Added SWT snippets
Frank Benoit <benoit@tionex.de>
parents: 27
diff changeset
120 FileUtils.mkdir_p LIBDIR.to_path
69b1fa94a4a8 Added SWT snippets
Frank Benoit <benoit@tionex.de>
parents: 27
diff changeset
121 rsp = File.new( RSPNAME, "w+" )
69b1fa94a4a8 Added SWT snippets
Frank Benoit <benoit@tionex.de>
parents: 27
diff changeset
122 rsp.puts "-p512 -n -c #{LIBDIR}/#{name}#{LIBEXT}"
69b1fa94a4a8 Added SWT snippets
Frank Benoit <benoit@tionex.de>
parents: 27
diff changeset
123 libobjs.each do |obj|
69b1fa94a4a8 Added SWT snippets
Frank Benoit <benoit@tionex.de>
parents: 27
diff changeset
124 rsp.puts obj.to_path
69b1fa94a4a8 Added SWT snippets
Frank Benoit <benoit@tionex.de>
parents: 27
diff changeset
125 end
69b1fa94a4a8 Added SWT snippets
Frank Benoit <benoit@tionex.de>
parents: 27
diff changeset
126 rsp.close
69b1fa94a4a8 Added SWT snippets
Frank Benoit <benoit@tionex.de>
parents: 27
diff changeset
127 cmd = "lib @#{RSPNAME} > #{LOG_STDOUT}"
69b1fa94a4a8 Added SWT snippets
Frank Benoit <benoit@tionex.de>
parents: 27
diff changeset
128 sh cmd, :verbose => false do |ok, res|
69b1fa94a4a8 Added SWT snippets
Frank Benoit <benoit@tionex.de>
parents: 27
diff changeset
129 if !ok then
69b1fa94a4a8 Added SWT snippets
Frank Benoit <benoit@tionex.de>
parents: 27
diff changeset
130 raise "librarian error"
1
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
131 end
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
132 end
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
133
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
134 end
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
135
3
4c0057e71936 Made a class for StringBuffer
Frank Benoit <benoit@tionex.de>
parents: 1
diff changeset
136 desc "Clean"
4c0057e71936 Made a class for StringBuffer
Frank Benoit <benoit@tionex.de>
parents: 1
diff changeset
137 task :clean do
20
dccb717aa902 Remove more tango imports
Frank Benoit <benoit@tionex.de>
parents: 16
diff changeset
138 puts "Cleaning"
3
4c0057e71936 Made a class for StringBuffer
Frank Benoit <benoit@tionex.de>
parents: 1
diff changeset
139 FileUtils.rm_rf DIMPDIR
4c0057e71936 Made a class for StringBuffer
Frank Benoit <benoit@tionex.de>
parents: 1
diff changeset
140 FileUtils.rm_rf OBJDIR
28
69b1fa94a4a8 Added SWT snippets
Frank Benoit <benoit@tionex.de>
parents: 27
diff changeset
141 FileUtils.rm_rf LIBDIR
33
712f3c7f7660 make clean work without require existing files
Frank Benoit <benoit@tionex.de>
parents: 30
diff changeset
142 FileUtils.rm RSPNAME, :force => true
712f3c7f7660 make clean work without require existing files
Frank Benoit <benoit@tionex.de>
parents: 30
diff changeset
143 FileUtils.rm LOG_STDOUT, :force => true
712f3c7f7660 make clean work without require existing files
Frank Benoit <benoit@tionex.de>
parents: 30
diff changeset
144 FileUtils.rm LOG_STDERR, :force => true
3
4c0057e71936 Made a class for StringBuffer
Frank Benoit <benoit@tionex.de>
parents: 1
diff changeset
145 end
4c0057e71936 Made a class for StringBuffer
Frank Benoit <benoit@tionex.de>
parents: 1
diff changeset
146
27
1bf55a6eb092 Renamed java tree to base
Frank Benoit <benoit@tionex.de>
parents: 25
diff changeset
147 desc "Build Base (Java Environment and Helpers)"
1bf55a6eb092 Renamed java tree to base
Frank Benoit <benoit@tionex.de>
parents: 25
diff changeset
148 task :base do
28
69b1fa94a4a8 Added SWT snippets
Frank Benoit <benoit@tionex.de>
parents: 27
diff changeset
149 buildTree( "base", "src", "res", "", "dwt-base" )
1
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
150 end
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
151
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
152 desc "Build SWT"
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
153 task :swt do
25
f713da8bc051 Added SWT Linux GTK
Frank Benoit <benoit@tionex.de>
parents: 21
diff changeset
154 if isWindows
21
9b96950f2c3c the 'java' tree compiles on both D1-Tango and D2-Phobos
Frank Benoit <benoit@tionex.de>
parents: 20
diff changeset
155 buildTree( "org.eclipse.swt.win32.win32.x86", "src", "res" )
9b96950f2c3c the 'java' tree compiles on both D1-Tango and D2-Phobos
Frank Benoit <benoit@tionex.de>
parents: 20
diff changeset
156 else
9b96950f2c3c the 'java' tree compiles on both D1-Tango and D2-Phobos
Frank Benoit <benoit@tionex.de>
parents: 20
diff changeset
157 buildTree( "org.eclipse.swt.gtk.linux.x86", "src", "res" )
9b96950f2c3c the 'java' tree compiles on both D1-Tango and D2-Phobos
Frank Benoit <benoit@tionex.de>
parents: 20
diff changeset
158 end
1
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
159 end
34
a8a838017920 All JFace snippets build on windows
Frank Benoit <benoit@tionex.de>
parents: 33
diff changeset
160 if isWindows
a8a838017920 All JFace snippets build on windows
Frank Benoit <benoit@tionex.de>
parents: 33
diff changeset
161 LIBNAMES_SWT = [ "org.eclipse.swt.win32.win32.x86" ]
a8a838017920 All JFace snippets build on windows
Frank Benoit <benoit@tionex.de>
parents: 33
diff changeset
162 else
a8a838017920 All JFace snippets build on windows
Frank Benoit <benoit@tionex.de>
parents: 33
diff changeset
163 LIBNAMES_SWT = [ "org.eclipse.swt.gtk.linux.x86" ]
a8a838017920 All JFace snippets build on windows
Frank Benoit <benoit@tionex.de>
parents: 33
diff changeset
164 end
1
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
165
20
dccb717aa902 Remove more tango imports
Frank Benoit <benoit@tionex.de>
parents: 16
diff changeset
166 desc "Build Equinox"
dccb717aa902 Remove more tango imports
Frank Benoit <benoit@tionex.de>
parents: 16
diff changeset
167 task :equinox do
16
dbfb303e8fb0 first complete successful compile (win-only)
Frank Benoit <benoit@tionex.de>
parents: 12
diff changeset
168 buildTree( "org.eclipse.osgi", "src", "res" )
34
a8a838017920 All JFace snippets build on windows
Frank Benoit <benoit@tionex.de>
parents: 33
diff changeset
169 buildTree( "org.eclipse.osgi", "supplement/src", "res", nil, "org.eclipse.osgi.supplement")
16
dbfb303e8fb0 first complete successful compile (win-only)
Frank Benoit <benoit@tionex.de>
parents: 12
diff changeset
170 buildTree( "org.eclipse.equinox.common", "src", "res" )
20
dccb717aa902 Remove more tango imports
Frank Benoit <benoit@tionex.de>
parents: 16
diff changeset
171 end
34
a8a838017920 All JFace snippets build on windows
Frank Benoit <benoit@tionex.de>
parents: 33
diff changeset
172 LIBNAMES_EQUINOX = [ "org.eclipse.osgi", "org.eclipse.osgi.supplement", "org.eclipse.equinox.common" ]
20
dccb717aa902 Remove more tango imports
Frank Benoit <benoit@tionex.de>
parents: 16
diff changeset
173
dccb717aa902 Remove more tango imports
Frank Benoit <benoit@tionex.de>
parents: 16
diff changeset
174 desc "Build Eclipse Core"
dccb717aa902 Remove more tango imports
Frank Benoit <benoit@tionex.de>
parents: 16
diff changeset
175 task :core do
16
dbfb303e8fb0 first complete successful compile (win-only)
Frank Benoit <benoit@tionex.de>
parents: 12
diff changeset
176 buildTree( "org.eclipse.core.runtime", "src", "res" )
dbfb303e8fb0 first complete successful compile (win-only)
Frank Benoit <benoit@tionex.de>
parents: 12
diff changeset
177 buildTree( "org.eclipse.core.commands", "src", "res" )
dbfb303e8fb0 first complete successful compile (win-only)
Frank Benoit <benoit@tionex.de>
parents: 12
diff changeset
178 buildTree( "org.eclipse.core.jobs", "src", "res" )
20
dccb717aa902 Remove more tango imports
Frank Benoit <benoit@tionex.de>
parents: 16
diff changeset
179 end
34
a8a838017920 All JFace snippets build on windows
Frank Benoit <benoit@tionex.de>
parents: 33
diff changeset
180 LIBNAMES_CORE = [ "org.eclipse.core.runtime", "org.eclipse.core.commands", "org.eclipse.core.jobs" ]
20
dccb717aa902 Remove more tango imports
Frank Benoit <benoit@tionex.de>
parents: 16
diff changeset
181
dccb717aa902 Remove more tango imports
Frank Benoit <benoit@tionex.de>
parents: 16
diff changeset
182 desc "Build JFace"
dccb717aa902 Remove more tango imports
Frank Benoit <benoit@tionex.de>
parents: 16
diff changeset
183 task :jface do
16
dbfb303e8fb0 first complete successful compile (win-only)
Frank Benoit <benoit@tionex.de>
parents: 12
diff changeset
184 buildTree( "org.eclipse.jface", "src", "res" )
21
9b96950f2c3c the 'java' tree compiles on both D1-Tango and D2-Phobos
Frank Benoit <benoit@tionex.de>
parents: 20
diff changeset
185 end
34
a8a838017920 All JFace snippets build on windows
Frank Benoit <benoit@tionex.de>
parents: 33
diff changeset
186 LIBNAMES_JFACE = [ "org.eclipse.jface" ]
21
9b96950f2c3c the 'java' tree compiles on both D1-Tango and D2-Phobos
Frank Benoit <benoit@tionex.de>
parents: 20
diff changeset
187
9b96950f2c3c the 'java' tree compiles on both D1-Tango and D2-Phobos
Frank Benoit <benoit@tionex.de>
parents: 20
diff changeset
188 desc "Build JFace.Text"
9b96950f2c3c the 'java' tree compiles on both D1-Tango and D2-Phobos
Frank Benoit <benoit@tionex.de>
parents: 20
diff changeset
189 task :jfacetext do
12
bc29606a740c Added dwt-addons in original directory structure of eclipse.org
Frank Benoit <benoit@tionex.de>
parents: 8
diff changeset
190 buildTree( "org.eclipse.text", "src", "res" )
28
69b1fa94a4a8 Added SWT snippets
Frank Benoit <benoit@tionex.de>
parents: 27
diff changeset
191 buildTree( "org.eclipse.jface.text", "projection", "res", "-Isrc", "org.eclipse.jface.text.projection" )
12
bc29606a740c Added dwt-addons in original directory structure of eclipse.org
Frank Benoit <benoit@tionex.de>
parents: 8
diff changeset
192 buildTree( "org.eclipse.jface.text", "src", "res" )
20
dccb717aa902 Remove more tango imports
Frank Benoit <benoit@tionex.de>
parents: 16
diff changeset
193 end
34
a8a838017920 All JFace snippets build on windows
Frank Benoit <benoit@tionex.de>
parents: 33
diff changeset
194 LIBNAMES_JFACETEXT = [ "org.eclipse.text", "org.eclipse.jface.text.projection", "org.eclipse.jface.text", ]
20
dccb717aa902 Remove more tango imports
Frank Benoit <benoit@tionex.de>
parents: 16
diff changeset
195
dccb717aa902 Remove more tango imports
Frank Benoit <benoit@tionex.de>
parents: 16
diff changeset
196 desc "Build UI Forms"
dccb717aa902 Remove more tango imports
Frank Benoit <benoit@tionex.de>
parents: 16
diff changeset
197 task :uiforms do
12
bc29606a740c Added dwt-addons in original directory structure of eclipse.org
Frank Benoit <benoit@tionex.de>
parents: 8
diff changeset
198 buildTree( "org.eclipse.ui.forms", "src", "res" )
20
dccb717aa902 Remove more tango imports
Frank Benoit <benoit@tionex.de>
parents: 16
diff changeset
199 end
34
a8a838017920 All JFace snippets build on windows
Frank Benoit <benoit@tionex.de>
parents: 33
diff changeset
200 LIBNAMES_UIFORMS = [ "org.eclipse.ui.forms" ]
20
dccb717aa902 Remove more tango imports
Frank Benoit <benoit@tionex.de>
parents: 16
diff changeset
201
dccb717aa902 Remove more tango imports
Frank Benoit <benoit@tionex.de>
parents: 16
diff changeset
202 desc "Build Draw2D"
dccb717aa902 Remove more tango imports
Frank Benoit <benoit@tionex.de>
parents: 16
diff changeset
203 task :draw2d do
12
bc29606a740c Added dwt-addons in original directory structure of eclipse.org
Frank Benoit <benoit@tionex.de>
parents: 8
diff changeset
204 buildTree( "org.eclipse.draw2d", "src", "res" )
3
4c0057e71936 Made a class for StringBuffer
Frank Benoit <benoit@tionex.de>
parents: 1
diff changeset
205 end
34
a8a838017920 All JFace snippets build on windows
Frank Benoit <benoit@tionex.de>
parents: 33
diff changeset
206 LIBNAMES_DRAW2D = [ "org.eclipse.draw2d" ]
3
4c0057e71936 Made a class for StringBuffer
Frank Benoit <benoit@tionex.de>
parents: 1
diff changeset
207
20
dccb717aa902 Remove more tango imports
Frank Benoit <benoit@tionex.de>
parents: 16
diff changeset
208 desc "Build ALL"
27
1bf55a6eb092 Renamed java tree to base
Frank Benoit <benoit@tionex.de>
parents: 25
diff changeset
209 task :all => [ :base, :swt, :equinox, :core, :jface, :jfacetext, :uiforms,
21
9b96950f2c3c the 'java' tree compiles on both D1-Tango and D2-Phobos
Frank Benoit <benoit@tionex.de>
parents: 20
diff changeset
210 :draw2d ]
20
dccb717aa902 Remove more tango imports
Frank Benoit <benoit@tionex.de>
parents: 16
diff changeset
211
21
9b96950f2c3c the 'java' tree compiles on both D1-Tango and D2-Phobos
Frank Benoit <benoit@tionex.de>
parents: 20
diff changeset
212 desc "Clean, then build ALL"
20
dccb717aa902 Remove more tango imports
Frank Benoit <benoit@tionex.de>
parents: 16
diff changeset
213 task :default => [ :clean, :all ]
dccb717aa902 Remove more tango imports
Frank Benoit <benoit@tionex.de>
parents: 16
diff changeset
214
dccb717aa902 Remove more tango imports
Frank Benoit <benoit@tionex.de>
parents: 16
diff changeset
215
29
4e5843b771cc First snippets buildable on windows
Frank Benoit <benoit@tionex.de>
parents: 28
diff changeset
216 desc "Build SWT Snippet Collection"
30
93b0e7382fd5 SWT Snippets build on windows
Frank Benoit <benoit@tionex.de>
parents: 29
diff changeset
217 task :swtsnippets, :explicit_snp do | t, args |
29
4e5843b771cc First snippets buildable on windows
Frank Benoit <benoit@tionex.de>
parents: 28
diff changeset
218
34
a8a838017920 All JFace snippets build on windows
Frank Benoit <benoit@tionex.de>
parents: 33
diff changeset
219 libnames = LIBNAMES_BASIC + LIBNAMES_SWT
29
4e5843b771cc First snippets buildable on windows
Frank Benoit <benoit@tionex.de>
parents: 28
diff changeset
220 snps_browser = [ "Snippet128", "Snippet136" ]
4e5843b771cc First snippets buildable on windows
Frank Benoit <benoit@tionex.de>
parents: 28
diff changeset
221 snps_opengl = [ "Snippet174", "Snippet195" ]
4e5843b771cc First snippets buildable on windows
Frank Benoit <benoit@tionex.de>
parents: 28
diff changeset
222
4e5843b771cc First snippets buildable on windows
Frank Benoit <benoit@tionex.de>
parents: 28
diff changeset
223 snps_exclude = snps_browser + snps_opengl
4e5843b771cc First snippets buildable on windows
Frank Benoit <benoit@tionex.de>
parents: 28
diff changeset
224 allsnippets = FileList[ File.join("org.eclipse.swt.snippets", "src", "**/Snippet*.d" )]
30
93b0e7382fd5 SWT Snippets build on windows
Frank Benoit <benoit@tionex.de>
parents: 29
diff changeset
225 if args.explicit_snp != nil
93b0e7382fd5 SWT Snippets build on windows
Frank Benoit <benoit@tionex.de>
parents: 29
diff changeset
226 puts "Building #{args.explicit_snp}"
34
a8a838017920 All JFace snippets build on windows
Frank Benoit <benoit@tionex.de>
parents: 33
diff changeset
227 buildApp( "org.eclipse.swt.snippets", "src", "res", "", args.explicit_snp, nil, libnames )
30
93b0e7382fd5 SWT Snippets build on windows
Frank Benoit <benoit@tionex.de>
parents: 29
diff changeset
228 else
93b0e7382fd5 SWT Snippets build on windows
Frank Benoit <benoit@tionex.de>
parents: 29
diff changeset
229 allsnippets.each do | snp |
93b0e7382fd5 SWT Snippets build on windows
Frank Benoit <benoit@tionex.de>
parents: 29
diff changeset
230 puts "Building #{snp}"
93b0e7382fd5 SWT Snippets build on windows
Frank Benoit <benoit@tionex.de>
parents: 29
diff changeset
231 if snp =~ /.*(Snippet\w+)\.d$/
93b0e7382fd5 SWT Snippets build on windows
Frank Benoit <benoit@tionex.de>
parents: 29
diff changeset
232 snpname = $1
93b0e7382fd5 SWT Snippets build on windows
Frank Benoit <benoit@tionex.de>
parents: 29
diff changeset
233 if !snps_exclude.include? snpname
34
a8a838017920 All JFace snippets build on windows
Frank Benoit <benoit@tionex.de>
parents: 33
diff changeset
234 buildApp( "org.eclipse.swt.snippets", "src", "res", "", snpname, nil, libnames )
30
93b0e7382fd5 SWT Snippets build on windows
Frank Benoit <benoit@tionex.de>
parents: 29
diff changeset
235 end
93b0e7382fd5 SWT Snippets build on windows
Frank Benoit <benoit@tionex.de>
parents: 29
diff changeset
236 else
93b0e7382fd5 SWT Snippets build on windows
Frank Benoit <benoit@tionex.de>
parents: 29
diff changeset
237 puts snp
93b0e7382fd5 SWT Snippets build on windows
Frank Benoit <benoit@tionex.de>
parents: 29
diff changeset
238 raise "Name does not match"
29
4e5843b771cc First snippets buildable on windows
Frank Benoit <benoit@tionex.de>
parents: 28
diff changeset
239 end
4e5843b771cc First snippets buildable on windows
Frank Benoit <benoit@tionex.de>
parents: 28
diff changeset
240 end
4e5843b771cc First snippets buildable on windows
Frank Benoit <benoit@tionex.de>
parents: 28
diff changeset
241 end
4e5843b771cc First snippets buildable on windows
Frank Benoit <benoit@tionex.de>
parents: 28
diff changeset
242 end
4e5843b771cc First snippets buildable on windows
Frank Benoit <benoit@tionex.de>
parents: 28
diff changeset
243
33
712f3c7f7660 make clean work without require existing files
Frank Benoit <benoit@tionex.de>
parents: 30
diff changeset
244 desc "Build JFace Snippet Collection"
712f3c7f7660 make clean work without require existing files
Frank Benoit <benoit@tionex.de>
parents: 30
diff changeset
245 task :jfacesnippets, :explicit_snp do | t, args |
712f3c7f7660 make clean work without require existing files
Frank Benoit <benoit@tionex.de>
parents: 30
diff changeset
246
34
a8a838017920 All JFace snippets build on windows
Frank Benoit <benoit@tionex.de>
parents: 33
diff changeset
247 libnames = LIBNAMES_BASIC + LIBNAMES_SWT + LIBNAMES_EQUINOX + LIBNAMES_CORE + LIBNAMES_JFACE
33
712f3c7f7660 make clean work without require existing files
Frank Benoit <benoit@tionex.de>
parents: 30
diff changeset
248 snps_exclude = []
712f3c7f7660 make clean work without require existing files
Frank Benoit <benoit@tionex.de>
parents: 30
diff changeset
249 allsnippets = FileList[ File.join("org.eclipse.jface.snippets", "EclipseJfaceSnippets", "**/*.d" )]
712f3c7f7660 make clean work without require existing files
Frank Benoit <benoit@tionex.de>
parents: 30
diff changeset
250 if args.explicit_snp != nil
712f3c7f7660 make clean work without require existing files
Frank Benoit <benoit@tionex.de>
parents: 30
diff changeset
251 puts "Building #{args.explicit_snp}"
34
a8a838017920 All JFace snippets build on windows
Frank Benoit <benoit@tionex.de>
parents: 33
diff changeset
252 buildApp( "org.eclipse.jface.snippets", "src", "res", "", args.explicit_snp, nil, libnames )
33
712f3c7f7660 make clean work without require existing files
Frank Benoit <benoit@tionex.de>
parents: 30
diff changeset
253 else
712f3c7f7660 make clean work without require existing files
Frank Benoit <benoit@tionex.de>
parents: 30
diff changeset
254 allsnippets.each do | snp |
712f3c7f7660 make clean work without require existing files
Frank Benoit <benoit@tionex.de>
parents: 30
diff changeset
255 if snp =~ /.*[\\\/](\w+)\.d$/
712f3c7f7660 make clean work without require existing files
Frank Benoit <benoit@tionex.de>
parents: 30
diff changeset
256 snpname = $1
34
a8a838017920 All JFace snippets build on windows
Frank Benoit <benoit@tionex.de>
parents: 33
diff changeset
257 puts "Building #{snpname}"
33
712f3c7f7660 make clean work without require existing files
Frank Benoit <benoit@tionex.de>
parents: 30
diff changeset
258 if !snps_exclude.include? snpname
34
a8a838017920 All JFace snippets build on windows
Frank Benoit <benoit@tionex.de>
parents: 33
diff changeset
259 buildApp( "org.eclipse.jface.snippets", "src", "res", "", snpname, nil, libnames )
33
712f3c7f7660 make clean work without require existing files
Frank Benoit <benoit@tionex.de>
parents: 30
diff changeset
260 end
712f3c7f7660 make clean work without require existing files
Frank Benoit <benoit@tionex.de>
parents: 30
diff changeset
261 else
712f3c7f7660 make clean work without require existing files
Frank Benoit <benoit@tionex.de>
parents: 30
diff changeset
262 puts snp
712f3c7f7660 make clean work without require existing files
Frank Benoit <benoit@tionex.de>
parents: 30
diff changeset
263 raise "Name does not match"
712f3c7f7660 make clean work without require existing files
Frank Benoit <benoit@tionex.de>
parents: 30
diff changeset
264 end
712f3c7f7660 make clean work without require existing files
Frank Benoit <benoit@tionex.de>
parents: 30
diff changeset
265 end
712f3c7f7660 make clean work without require existing files
Frank Benoit <benoit@tionex.de>
parents: 30
diff changeset
266 end
712f3c7f7660 make clean work without require existing files
Frank Benoit <benoit@tionex.de>
parents: 30
diff changeset
267 end
712f3c7f7660 make clean work without require existing files
Frank Benoit <benoit@tionex.de>
parents: 30
diff changeset
268
34
a8a838017920 All JFace snippets build on windows
Frank Benoit <benoit@tionex.de>
parents: 33
diff changeset
269 LIBNAMES_BASIC = [ "advapi32", "comctl32", "comdlg32", "gdi32", "kernel32",
a8a838017920 All JFace snippets build on windows
Frank Benoit <benoit@tionex.de>
parents: 33
diff changeset
270 "shell32", "ole32", "oleaut32", "olepro32", "oleacc", "user32", "usp10",
a8a838017920 All JFace snippets build on windows
Frank Benoit <benoit@tionex.de>
parents: 33
diff changeset
271 "msimg32", "opengl32", "shlwapi", "dwt-base" ]
a8a838017920 All JFace snippets build on windows
Frank Benoit <benoit@tionex.de>
parents: 33
diff changeset
272
a8a838017920 All JFace snippets build on windows
Frank Benoit <benoit@tionex.de>
parents: 33
diff changeset
273 def buildApp( basedir, srcdir, resdir, dflags, appname, filelist, libnames )
29
4e5843b771cc First snippets buildable on windows
Frank Benoit <benoit@tionex.de>
parents: 28
diff changeset
274 if filelist == nil
4e5843b771cc First snippets buildable on windows
Frank Benoit <benoit@tionex.de>
parents: 28
diff changeset
275 filelist = FileList[ "**/#{appname}.d" ]
4e5843b771cc First snippets buildable on windows
Frank Benoit <benoit@tionex.de>
parents: 28
diff changeset
276 end
4e5843b771cc First snippets buildable on windows
Frank Benoit <benoit@tionex.de>
parents: 28
diff changeset
277
4e5843b771cc First snippets buildable on windows
Frank Benoit <benoit@tionex.de>
parents: 28
diff changeset
278 srcdir_abs = File.expand_path( File.join( basedir, srcdir))
4e5843b771cc First snippets buildable on windows
Frank Benoit <benoit@tionex.de>
parents: 28
diff changeset
279 resdir_abs = File.expand_path( File.join( basedir, resdir))
4e5843b771cc First snippets buildable on windows
Frank Benoit <benoit@tionex.de>
parents: 28
diff changeset
280
4e5843b771cc First snippets buildable on windows
Frank Benoit <benoit@tionex.de>
parents: 28
diff changeset
281 rsp = File.new( RSPNAME, "w+" )
4e5843b771cc First snippets buildable on windows
Frank Benoit <benoit@tionex.de>
parents: 28
diff changeset
282 rsp.puts "-I#{srcdir_abs.to_path}"
4e5843b771cc First snippets buildable on windows
Frank Benoit <benoit@tionex.de>
parents: 28
diff changeset
283 rsp.puts "-I#{DIMPDIR.to_path}"
4e5843b771cc First snippets buildable on windows
Frank Benoit <benoit@tionex.de>
parents: 28
diff changeset
284 rsp.puts "-J#{resdir_abs.to_path}"
4e5843b771cc First snippets buildable on windows
Frank Benoit <benoit@tionex.de>
parents: 28
diff changeset
285 if dflags.size > 0 then
4e5843b771cc First snippets buildable on windows
Frank Benoit <benoit@tionex.de>
parents: 28
diff changeset
286 rsp.puts dflags
4e5843b771cc First snippets buildable on windows
Frank Benoit <benoit@tionex.de>
parents: 28
diff changeset
287 end
4e5843b771cc First snippets buildable on windows
Frank Benoit <benoit@tionex.de>
parents: 28
diff changeset
288 ALL_RESDIRS.each do | dir |
4e5843b771cc First snippets buildable on windows
Frank Benoit <benoit@tionex.de>
parents: 28
diff changeset
289 rsp.puts "-J#{File.expand_path(dir).to_path}"
4e5843b771cc First snippets buildable on windows
Frank Benoit <benoit@tionex.de>
parents: 28
diff changeset
290 end
30
93b0e7382fd5 SWT Snippets build on windows
Frank Benoit <benoit@tionex.de>
parents: 29
diff changeset
291
93b0e7382fd5 SWT Snippets build on windows
Frank Benoit <benoit@tionex.de>
parents: 29
diff changeset
292 rsp.puts "-L/NOM"
34
a8a838017920 All JFace snippets build on windows
Frank Benoit <benoit@tionex.de>
parents: 33
diff changeset
293 libnames.each do | libname |
a8a838017920 All JFace snippets build on windows
Frank Benoit <benoit@tionex.de>
parents: 33
diff changeset
294 rsp.puts "-L+#{libname}#{LIBEXT}"
a8a838017920 All JFace snippets build on windows
Frank Benoit <benoit@tionex.de>
parents: 33
diff changeset
295 end
30
93b0e7382fd5 SWT Snippets build on windows
Frank Benoit <benoit@tionex.de>
parents: 29
diff changeset
296 rsp.puts "-L+tango-user-dmd.lib"
93b0e7382fd5 SWT Snippets build on windows
Frank Benoit <benoit@tionex.de>
parents: 29
diff changeset
297 rsp.puts "-L+zlib.lib"
93b0e7382fd5 SWT Snippets build on windows
Frank Benoit <benoit@tionex.de>
parents: 29
diff changeset
298 rsp.puts "-L+dwt-base.lib"
93b0e7382fd5 SWT Snippets build on windows
Frank Benoit <benoit@tionex.de>
parents: 29
diff changeset
299 rsp.puts "-L+org.eclipse.swt.win32.win32.x86.lib"
93b0e7382fd5 SWT Snippets build on windows
Frank Benoit <benoit@tionex.de>
parents: 29
diff changeset
300 rsp.puts "-L+#{LIBDIR.to_path}\\"
29
4e5843b771cc First snippets buildable on windows
Frank Benoit <benoit@tionex.de>
parents: 28
diff changeset
301
4e5843b771cc First snippets buildable on windows
Frank Benoit <benoit@tionex.de>
parents: 28
diff changeset
302 rsp.puts "-op"
4e5843b771cc First snippets buildable on windows
Frank Benoit <benoit@tionex.de>
parents: 28
diff changeset
303 rsp.puts "-od#{OBJDIR.to_path}"
4e5843b771cc First snippets buildable on windows
Frank Benoit <benoit@tionex.de>
parents: 28
diff changeset
304 applfile = File.join(BINDIR,appname+EXEEXT)
4e5843b771cc First snippets buildable on windows
Frank Benoit <benoit@tionex.de>
parents: 28
diff changeset
305 rsp.puts "-of#{applfile.to_path}"
4e5843b771cc First snippets buildable on windows
Frank Benoit <benoit@tionex.de>
parents: 28
diff changeset
306 filelist.each do |path|
4e5843b771cc First snippets buildable on windows
Frank Benoit <benoit@tionex.de>
parents: 28
diff changeset
307 rsp.puts File.expand_path(path).to_path
4e5843b771cc First snippets buildable on windows
Frank Benoit <benoit@tionex.de>
parents: 28
diff changeset
308 end
4e5843b771cc First snippets buildable on windows
Frank Benoit <benoit@tionex.de>
parents: 28
diff changeset
309 rsp.close
4e5843b771cc First snippets buildable on windows
Frank Benoit <benoit@tionex.de>
parents: 28
diff changeset
310
4e5843b771cc First snippets buildable on windows
Frank Benoit <benoit@tionex.de>
parents: 28
diff changeset
311 Dir.chdir(basedir) do
4e5843b771cc First snippets buildable on windows
Frank Benoit <benoit@tionex.de>
parents: 28
diff changeset
312 if isWindows
4e5843b771cc First snippets buildable on windows
Frank Benoit <benoit@tionex.de>
parents: 28
diff changeset
313 cmd = "#{DMD} @#{RSPNAME.to_path}"
4e5843b771cc First snippets buildable on windows
Frank Benoit <benoit@tionex.de>
parents: 28
diff changeset
314 else
4e5843b771cc First snippets buildable on windows
Frank Benoit <benoit@tionex.de>
parents: 28
diff changeset
315 cmd = "cat #{RSPNAME.to_path} | xargs #{DMD}"
4e5843b771cc First snippets buildable on windows
Frank Benoit <benoit@tionex.de>
parents: 28
diff changeset
316 end
4e5843b771cc First snippets buildable on windows
Frank Benoit <benoit@tionex.de>
parents: 28
diff changeset
317 sh cmd, :verbose => false do |ok, res|
4e5843b771cc First snippets buildable on windows
Frank Benoit <benoit@tionex.de>
parents: 28
diff changeset
318 if !ok then
4e5843b771cc First snippets buildable on windows
Frank Benoit <benoit@tionex.de>
parents: 28
diff changeset
319 raise "compile error"
4e5843b771cc First snippets buildable on windows
Frank Benoit <benoit@tionex.de>
parents: 28
diff changeset
320 end
4e5843b771cc First snippets buildable on windows
Frank Benoit <benoit@tionex.de>
parents: 28
diff changeset
321 end
4e5843b771cc First snippets buildable on windows
Frank Benoit <benoit@tionex.de>
parents: 28
diff changeset
322 end
4e5843b771cc First snippets buildable on windows
Frank Benoit <benoit@tionex.de>
parents: 28
diff changeset
323
4e5843b771cc First snippets buildable on windows
Frank Benoit <benoit@tionex.de>
parents: 28
diff changeset
324 end
4e5843b771cc First snippets buildable on windows
Frank Benoit <benoit@tionex.de>
parents: 28
diff changeset
325
4e5843b771cc First snippets buildable on windows
Frank Benoit <benoit@tionex.de>
parents: 28
diff changeset
326
4e5843b771cc First snippets buildable on windows
Frank Benoit <benoit@tionex.de>
parents: 28
diff changeset
327