annotate rakefile @ 78:0a55d2d5a946

Added file for databinding
author Frank Benoit <benoit@tionex.de>
date Tue, 14 Apr 2009 11:35:29 +0200
parents 1a69be0afe99
children 635be320a5da
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
36
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
1 ##########################################################################
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
2 # DWT2
1
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
3 #
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
4 require 'find'
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
5 require 'fileutils'
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
6
36
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
7 ##########################################################################
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
8 # Helpers
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
9 #
1
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
10 class String
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
11 def to_path
25
f713da8bc051 Added SWT Linux GTK
Frank Benoit <benoit@tionex.de>
parents: 21
diff changeset
12 if isWindows
f713da8bc051 Added SWT Linux GTK
Frank Benoit <benoit@tionex.de>
parents: 21
diff changeset
13 self.gsub( '/', '\\' );
f713da8bc051 Added SWT Linux GTK
Frank Benoit <benoit@tionex.de>
parents: 21
diff changeset
14 else
f713da8bc051 Added SWT Linux GTK
Frank Benoit <benoit@tionex.de>
parents: 21
diff changeset
15 self
f713da8bc051 Added SWT Linux GTK
Frank Benoit <benoit@tionex.de>
parents: 21
diff changeset
16 end
1
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
17 end
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
18 end
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
19
36
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
20 def isWindows
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
21 Config::CONFIG['host_os'] =~ /mswin/
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
22 end
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
23
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
24 ##########################################################################
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
25 # Constants
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
26 #
57
e2ca9bdc80f2 [samples] build now also on D1 linux
Frank Benoit <benoit@tionex.de>
parents: 47
diff changeset
27 DIR_OBJ = File.expand_path("obj")
47
65761bc28ab2 swt linux again compilable for d1.
Frank Benoit <benoit@tionex.de>
parents: 45
diff changeset
28 DIR_IMP = File.expand_path("imp")
70
1a69be0afe99 Rakefile clean up for -J
Frank Benoit <benoit@tionex.de>
parents: 61
diff changeset
29 DIR_RES = File.expand_path("res")
57
e2ca9bdc80f2 [samples] build now also on D1 linux
Frank Benoit <benoit@tionex.de>
parents: 47
diff changeset
30 DIR_LIB = File.expand_path("lib")
61
5ce9278ca82c Added win32 static libs.
Frank Benoit <benoit@tionex.de>
parents: 60
diff changeset
31 DIR_BIN = File.expand_path("bin")
57
e2ca9bdc80f2 [samples] build now also on D1 linux
Frank Benoit <benoit@tionex.de>
parents: 47
diff changeset
32 FILE_RSP = File.expand_path("rsp")
36
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
33
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
34 LOG_STDOUT = File.expand_path("olog.txt")
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
35 LOG_STDERR = File.expand_path("elog.txt")
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
36
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
37
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
38 if isWindows
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
39 BASEDIR_SWT = "org.eclipse.swt.win32.win32.x86"
47
65761bc28ab2 swt linux again compilable for d1.
Frank Benoit <benoit@tionex.de>
parents: 45
diff changeset
40 LIBEXT = ".lib"
65761bc28ab2 swt linux again compilable for d1.
Frank Benoit <benoit@tionex.de>
parents: 45
diff changeset
41 OBJEXT = ".obj"
65761bc28ab2 swt linux again compilable for d1.
Frank Benoit <benoit@tionex.de>
parents: 45
diff changeset
42 EXEEXT = ".exe"
65761bc28ab2 swt linux again compilable for d1.
Frank Benoit <benoit@tionex.de>
parents: 45
diff changeset
43 MAPEXT = ".map"
65761bc28ab2 swt linux again compilable for d1.
Frank Benoit <benoit@tionex.de>
parents: 45
diff changeset
44 PROG_LIB = "lib.exe"
61
5ce9278ca82c Added win32 static libs.
Frank Benoit <benoit@tionex.de>
parents: 60
diff changeset
45 DIR_WINLIBS = File.expand_path(File.join(BASEDIR_SWT,"lib"))
36
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
46 else
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
47 BASEDIR_SWT = "org.eclipse.swt.gtk.linux.x86"
47
65761bc28ab2 swt linux again compilable for d1.
Frank Benoit <benoit@tionex.de>
parents: 45
diff changeset
48 LIBEXT = ".a"
65761bc28ab2 swt linux again compilable for d1.
Frank Benoit <benoit@tionex.de>
parents: 45
diff changeset
49 OBJEXT = ".o"
65761bc28ab2 swt linux again compilable for d1.
Frank Benoit <benoit@tionex.de>
parents: 45
diff changeset
50 EXEEXT = ""
65761bc28ab2 swt linux again compilable for d1.
Frank Benoit <benoit@tionex.de>
parents: 45
diff changeset
51 PROG_LIB = "ar"
36
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
52 end
47
65761bc28ab2 swt linux again compilable for d1.
Frank Benoit <benoit@tionex.de>
parents: 45
diff changeset
53 PROG_DMD = "dmd#{EXEEXT}"
36
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
54
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
55 if isWindows
70
1a69be0afe99 Rakefile clean up for -J
Frank Benoit <benoit@tionex.de>
parents: 61
diff changeset
56 #LIBNAMES_BASIC = [ "dwt-base" ]
36
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
57 LIBNAMES_BASIC = [ "advapi32", "comctl32", "comdlg32", "gdi32", "kernel32",
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
58 "shell32", "ole32", "oleaut32", "olepro32", "oleacc",
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
59 "user32", "usp10", "msimg32", "opengl32", "shlwapi",
44
ed96ea2a2764 First swt win snippets are buiding with d2+phobos
Frank Benoit <benoit@tionex.de>
parents: 40
diff changeset
60 "zlib", "dwt-base" ]
36
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
61
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
62 else
57
e2ca9bdc80f2 [samples] build now also on D1 linux
Frank Benoit <benoit@tionex.de>
parents: 47
diff changeset
63 SONAMES_BASIC = [ "gtk-x11-2.0", "gdk-x11-2.0", "atk-1.0", "gdk_pixbuf-2.0",
36
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
64 "gthread-2.0", "pangocairo-1.0", "fontconfig", "Xtst",
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
65 "Xext", "Xrender", "Xinerama", "Xi", "Xrandr", "Xcursor",
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
66 "Xcomposite", "Xdamage", "X11", "Xfixes", "pango-1.0",
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
67 "gobject-2.0", "gmodule-2.0", "dl", "glib-2.0", "cairo",
57
e2ca9bdc80f2 [samples] build now also on D1 linux
Frank Benoit <benoit@tionex.de>
parents: 47
diff changeset
68 "gnomeui-2" ]
e2ca9bdc80f2 [samples] build now also on D1 linux
Frank Benoit <benoit@tionex.de>
parents: 47
diff changeset
69 LIBNAMES_BASIC = [ "dwt-base" ]
36
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
70
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
71 end
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
72 LIBNAMES_SWT = [ BASEDIR_SWT ]
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
73 LIBNAMES_EQUINOX = [ "org.eclipse.osgi",
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
74 "org.eclipse.osgi.supplement",
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
75 "org.eclipse.equinox.common" ]
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
76
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
77 LIBNAMES_CORE = [ "org.eclipse.core.runtime",
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
78 "org.eclipse.core.commands",
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
79 "org.eclipse.core.jobs" ]
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
80
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
81 LIBNAMES_JFACE = [ "org.eclipse.jface" ]
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
82
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
83 LIBNAMES_JFACETEXT = [ "org.eclipse.text",
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
84 "org.eclipse.jface.text.projection",
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
85 "org.eclipse.jface.text", ]
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
86
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
87 LIBNAMES_UIFORMS = [ "org.eclipse.ui.forms" ]
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
88
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
89 LIBNAMES_DRAW2D = [ "org.eclipse.draw2d" ]
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
90
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
91
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
92 ##########################################################################
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
93 # Routines
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
94 #
59
7e0547d89731 Debug builds
Frank Benoit <benoit@tionex.de>
parents: 57
diff changeset
95 def isDebug
7e0547d89731 Debug builds
Frank Benoit <benoit@tionex.de>
parents: 57
diff changeset
96 if ENV['DEBUG']
7e0547d89731 Debug builds
Frank Benoit <benoit@tionex.de>
parents: 57
diff changeset
97 ENV['DEBUG'] == "1"
7e0547d89731 Debug builds
Frank Benoit <benoit@tionex.de>
parents: 57
diff changeset
98 else
7e0547d89731 Debug builds
Frank Benoit <benoit@tionex.de>
parents: 57
diff changeset
99 false
7e0547d89731 Debug builds
Frank Benoit <benoit@tionex.de>
parents: 57
diff changeset
100 end
7e0547d89731 Debug builds
Frank Benoit <benoit@tionex.de>
parents: 57
diff changeset
101 end
34
a8a838017920 All JFace snippets build on windows
Frank Benoit <benoit@tionex.de>
parents: 33
diff changeset
102 def buildTree( basedir, srcdir, resdir, dcargs=nil, libname=nil )
36
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
103 if libname == nil
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
104 libname = basedir
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
105 end
59
7e0547d89731 Debug builds
Frank Benoit <benoit@tionex.de>
parents: 57
diff changeset
106 dbg_str = "";
7e0547d89731 Debug builds
Frank Benoit <benoit@tionex.de>
parents: 57
diff changeset
107 if isDebug
7e0547d89731 Debug builds
Frank Benoit <benoit@tionex.de>
parents: 57
diff changeset
108 dbg_str = "Debug "
7e0547d89731 Debug builds
Frank Benoit <benoit@tionex.de>
parents: 57
diff changeset
109 end
7e0547d89731 Debug builds
Frank Benoit <benoit@tionex.de>
parents: 57
diff changeset
110 puts "#{dbg_str}Building #{libname}"
1
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
111
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
112 resdir_abs = File.expand_path( File.join( basedir, resdir ))
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
113 srcdir_abs = File.expand_path( File.join( basedir, srcdir ))
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
114
47
65761bc28ab2 swt linux again compilable for d1.
Frank Benoit <benoit@tionex.de>
parents: 45
diff changeset
115 FileUtils.mkdir_p DIR_IMP
65761bc28ab2 swt linux again compilable for d1.
Frank Benoit <benoit@tionex.de>
parents: 45
diff changeset
116 FileUtils.mkdir_p DIR_OBJ
70
1a69be0afe99 Rakefile clean up for -J
Frank Benoit <benoit@tionex.de>
parents: 61
diff changeset
117 FileUtils.mkdir_p DIR_RES
1a69be0afe99 Rakefile clean up for -J
Frank Benoit <benoit@tionex.de>
parents: 61
diff changeset
118 FileUtils.cp FileList[ File.join(resdir_abs, "*" )], DIR_RES
1
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
119
47
65761bc28ab2 swt linux again compilable for d1.
Frank Benoit <benoit@tionex.de>
parents: 45
diff changeset
120 rsp = File.new( FILE_RSP, "w+" )
1
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
121 rsp.puts "-H"
47
65761bc28ab2 swt linux again compilable for d1.
Frank Benoit <benoit@tionex.de>
parents: 45
diff changeset
122 #rsp.puts "-Hd#{DIR_IMP.to_path}"
1
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
123 rsp.puts "-I#{srcdir_abs.to_path}"
47
65761bc28ab2 swt linux again compilable for d1.
Frank Benoit <benoit@tionex.de>
parents: 45
diff changeset
124 rsp.puts "-I#{DIR_IMP.to_path}"
70
1a69be0afe99 Rakefile clean up for -J
Frank Benoit <benoit@tionex.de>
parents: 61
diff changeset
125 rsp.puts "-J#{DIR_RES.to_path}"
34
a8a838017920 All JFace snippets build on windows
Frank Benoit <benoit@tionex.de>
parents: 33
diff changeset
126 if dcargs != nil
16
dbfb303e8fb0 first complete successful compile (win-only)
Frank Benoit <benoit@tionex.de>
parents: 12
diff changeset
127 rsp.puts dcargs
dbfb303e8fb0 first complete successful compile (win-only)
Frank Benoit <benoit@tionex.de>
parents: 12
diff changeset
128 end
1
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
129 rsp.puts "-c"
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
130 rsp.puts "-op"
59
7e0547d89731 Debug builds
Frank Benoit <benoit@tionex.de>
parents: 57
diff changeset
131 if isDebug
7e0547d89731 Debug builds
Frank Benoit <benoit@tionex.de>
parents: 57
diff changeset
132 rsp.puts "-debug"
7e0547d89731 Debug builds
Frank Benoit <benoit@tionex.de>
parents: 57
diff changeset
133 rsp.puts "-g"
7e0547d89731 Debug builds
Frank Benoit <benoit@tionex.de>
parents: 57
diff changeset
134 end
1
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
135 Find.find( srcdir_abs ) do |path|
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
136 if path =~ /\.d$/ then
45
d5dd1c5b90a9 Made src file paths relative, so the __FILE__ literal do only contain the relevant path.
Frank Benoit <benoit@tionex.de>
parents: 44
diff changeset
137 rsp.puts path.to_path[ srcdir_abs.size+1 .. -1 ]
1
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
138 end
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
139 end
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
140 rsp.close
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
141
40
9f32c409fe27 Fix compile problem and extend rakefile
Frank Benoit <benoit@tionex.de>
parents: 36
diff changeset
142 Dir.chdir(srcdir_abs) do
25
f713da8bc051 Added SWT Linux GTK
Frank Benoit <benoit@tionex.de>
parents: 21
diff changeset
143 if isWindows
47
65761bc28ab2 swt linux again compilable for d1.
Frank Benoit <benoit@tionex.de>
parents: 45
diff changeset
144 cmd = "#{PROG_DMD} @#{FILE_RSP.to_path}"
25
f713da8bc051 Added SWT Linux GTK
Frank Benoit <benoit@tionex.de>
parents: 21
diff changeset
145 else
47
65761bc28ab2 swt linux again compilable for d1.
Frank Benoit <benoit@tionex.de>
parents: 45
diff changeset
146 cmd = "cat #{FILE_RSP.to_path} | xargs #{PROG_DMD}"
25
f713da8bc051 Added SWT Linux GTK
Frank Benoit <benoit@tionex.de>
parents: 21
diff changeset
147 end
f713da8bc051 Added SWT Linux GTK
Frank Benoit <benoit@tionex.de>
parents: 21
diff changeset
148 sh cmd, :verbose => false do |ok, res|
3
4c0057e71936 Made a class for StringBuffer
Frank Benoit <benoit@tionex.de>
parents: 1
diff changeset
149 if !ok then
4c0057e71936 Made a class for StringBuffer
Frank Benoit <benoit@tionex.de>
parents: 1
diff changeset
150 Find.find( srcdir_abs ) do |path|
59
7e0547d89731 Debug builds
Frank Benoit <benoit@tionex.de>
parents: 57
diff changeset
151 if FileTest.file?(path) && path =~ /\.o(bj)?$/ then
7e0547d89731 Debug builds
Frank Benoit <benoit@tionex.de>
parents: 57
diff changeset
152 FileUtils.rm path
7e0547d89731 Debug builds
Frank Benoit <benoit@tionex.de>
parents: 57
diff changeset
153 end
3
4c0057e71936 Made a class for StringBuffer
Frank Benoit <benoit@tionex.de>
parents: 1
diff changeset
154 if FileTest.file?(path) && path =~ /\.di$/ then
4c0057e71936 Made a class for StringBuffer
Frank Benoit <benoit@tionex.de>
parents: 1
diff changeset
155 FileUtils.rm path
4c0057e71936 Made a class for StringBuffer
Frank Benoit <benoit@tionex.de>
parents: 1
diff changeset
156 end
4c0057e71936 Made a class for StringBuffer
Frank Benoit <benoit@tionex.de>
parents: 1
diff changeset
157 end
4c0057e71936 Made a class for StringBuffer
Frank Benoit <benoit@tionex.de>
parents: 1
diff changeset
158
4c0057e71936 Made a class for StringBuffer
Frank Benoit <benoit@tionex.de>
parents: 1
diff changeset
159 raise "compile error"
4c0057e71936 Made a class for StringBuffer
Frank Benoit <benoit@tionex.de>
parents: 1
diff changeset
160 end
1
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
161 end
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
162 end
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
163
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
164 Find.find( srcdir_abs ) do |path|
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
165 if FileTest.file?(path) && path =~ /\.di$/ then
47
65761bc28ab2 swt linux again compilable for d1.
Frank Benoit <benoit@tionex.de>
parents: 45
diff changeset
166 trgfile = File.join( DIR_IMP, path[ srcdir_abs.length+1 .. -1 ])
1
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
167 FileUtils.mkdir_p File.dirname(trgfile)
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
168 FileUtils.mv path, trgfile
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
169 end
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
170 end
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
171
40
9f32c409fe27 Fix compile problem and extend rakefile
Frank Benoit <benoit@tionex.de>
parents: 36
diff changeset
172 libobjs = FileList.new
1
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
173 srcdirparts = split_all( srcdir_abs ).length
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
174 Find.find( srcdir_abs ) do |path|
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
175 if FileTest.file?(path) && path =~ /\.o(bj)?$/ then
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
176 trgfile = split_all( path )[ srcdirparts .. -1 ].join( "-" )
47
65761bc28ab2 swt linux again compilable for d1.
Frank Benoit <benoit@tionex.de>
parents: 45
diff changeset
177 FileUtils.mv path, File.join( DIR_OBJ, trgfile )
65761bc28ab2 swt linux again compilable for d1.
Frank Benoit <benoit@tionex.de>
parents: 45
diff changeset
178 libobjs << File.join( DIR_OBJ, trgfile )
28
69b1fa94a4a8 Added SWT snippets
Frank Benoit <benoit@tionex.de>
parents: 27
diff changeset
179 end
69b1fa94a4a8 Added SWT snippets
Frank Benoit <benoit@tionex.de>
parents: 27
diff changeset
180 end
69b1fa94a4a8 Added SWT snippets
Frank Benoit <benoit@tionex.de>
parents: 27
diff changeset
181
69b1fa94a4a8 Added SWT snippets
Frank Benoit <benoit@tionex.de>
parents: 27
diff changeset
182 createLib( libobjs, libname )
69b1fa94a4a8 Added SWT snippets
Frank Benoit <benoit@tionex.de>
parents: 27
diff changeset
183 end
69b1fa94a4a8 Added SWT snippets
Frank Benoit <benoit@tionex.de>
parents: 27
diff changeset
184
69b1fa94a4a8 Added SWT snippets
Frank Benoit <benoit@tionex.de>
parents: 27
diff changeset
185 def createLib( libobjs, name )
47
65761bc28ab2 swt linux again compilable for d1.
Frank Benoit <benoit@tionex.de>
parents: 45
diff changeset
186 FileUtils.mkdir_p DIR_LIB.to_path
65761bc28ab2 swt linux again compilable for d1.
Frank Benoit <benoit@tionex.de>
parents: 45
diff changeset
187 rsp = File.new( FILE_RSP, "w+" )
65761bc28ab2 swt linux again compilable for d1.
Frank Benoit <benoit@tionex.de>
parents: 45
diff changeset
188 if isWindows
65761bc28ab2 swt linux again compilable for d1.
Frank Benoit <benoit@tionex.de>
parents: 45
diff changeset
189 rsp.puts "-p512"
65761bc28ab2 swt linux again compilable for d1.
Frank Benoit <benoit@tionex.de>
parents: 45
diff changeset
190 rsp.puts "-n"
57
e2ca9bdc80f2 [samples] build now also on D1 linux
Frank Benoit <benoit@tionex.de>
parents: 47
diff changeset
191 rsp.puts "-c #{DIR_LIB}\\#{name}#{LIBEXT}"
47
65761bc28ab2 swt linux again compilable for d1.
Frank Benoit <benoit@tionex.de>
parents: 45
diff changeset
192 libobjs.each do |obj|
65761bc28ab2 swt linux again compilable for d1.
Frank Benoit <benoit@tionex.de>
parents: 45
diff changeset
193 rsp.puts obj.to_path
65761bc28ab2 swt linux again compilable for d1.
Frank Benoit <benoit@tionex.de>
parents: 45
diff changeset
194 end
65761bc28ab2 swt linux again compilable for d1.
Frank Benoit <benoit@tionex.de>
parents: 45
diff changeset
195 else
65761bc28ab2 swt linux again compilable for d1.
Frank Benoit <benoit@tionex.de>
parents: 45
diff changeset
196 rsp.puts "-r"
65761bc28ab2 swt linux again compilable for d1.
Frank Benoit <benoit@tionex.de>
parents: 45
diff changeset
197 rsp.puts "-c #{DIR_LIB}/#{name}#{LIBEXT}"
65761bc28ab2 swt linux again compilable for d1.
Frank Benoit <benoit@tionex.de>
parents: 45
diff changeset
198 libobjs.each do |obj|
65761bc28ab2 swt linux again compilable for d1.
Frank Benoit <benoit@tionex.de>
parents: 45
diff changeset
199 rsp.puts obj.to_path
65761bc28ab2 swt linux again compilable for d1.
Frank Benoit <benoit@tionex.de>
parents: 45
diff changeset
200 end
28
69b1fa94a4a8 Added SWT snippets
Frank Benoit <benoit@tionex.de>
parents: 27
diff changeset
201 end
69b1fa94a4a8 Added SWT snippets
Frank Benoit <benoit@tionex.de>
parents: 27
diff changeset
202 rsp.close
47
65761bc28ab2 swt linux again compilable for d1.
Frank Benoit <benoit@tionex.de>
parents: 45
diff changeset
203 cmd = "#{PROG_LIB} @#{FILE_RSP} > #{LOG_STDOUT}"
28
69b1fa94a4a8 Added SWT snippets
Frank Benoit <benoit@tionex.de>
parents: 27
diff changeset
204 sh cmd, :verbose => false do |ok, res|
69b1fa94a4a8 Added SWT snippets
Frank Benoit <benoit@tionex.de>
parents: 27
diff changeset
205 if !ok then
69b1fa94a4a8 Added SWT snippets
Frank Benoit <benoit@tionex.de>
parents: 27
diff changeset
206 raise "librarian error"
1
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
207 end
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
208 end
40
9f32c409fe27 Fix compile problem and extend rakefile
Frank Benoit <benoit@tionex.de>
parents: 36
diff changeset
209 FileUtils.rm libobjs
1
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
210
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
211 end
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
212
57
e2ca9bdc80f2 [samples] build now also on D1 linux
Frank Benoit <benoit@tionex.de>
parents: 47
diff changeset
213 def buildApp( basedir, srcdir, resdir, dflags, appnameprefix, appname, filelist, libnames )
36
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
214 if filelist == nil
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
215 filelist = FileList[ "**/#{appname}.d" ]
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
216 end
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
217
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
218 srcdir_abs = File.expand_path( File.join( basedir, srcdir))
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
219 resdir_abs = File.expand_path( File.join( basedir, resdir))
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
220
47
65761bc28ab2 swt linux again compilable for d1.
Frank Benoit <benoit@tionex.de>
parents: 45
diff changeset
221 rsp = File.new( FILE_RSP, "w+" )
36
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
222 rsp.puts "-I#{srcdir_abs.to_path}"
47
65761bc28ab2 swt linux again compilable for d1.
Frank Benoit <benoit@tionex.de>
parents: 45
diff changeset
223 rsp.puts "-I#{DIR_IMP.to_path}"
36
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
224 rsp.puts "-J#{resdir_abs.to_path}"
70
1a69be0afe99 Rakefile clean up for -J
Frank Benoit <benoit@tionex.de>
parents: 61
diff changeset
225 rsp.puts "-J#{DIR_RES.to_path}"
59
7e0547d89731 Debug builds
Frank Benoit <benoit@tionex.de>
parents: 57
diff changeset
226 if isDebug
7e0547d89731 Debug builds
Frank Benoit <benoit@tionex.de>
parents: 57
diff changeset
227 rsp.puts "-debug"
7e0547d89731 Debug builds
Frank Benoit <benoit@tionex.de>
parents: 57
diff changeset
228 rsp.puts "-g"
7e0547d89731 Debug builds
Frank Benoit <benoit@tionex.de>
parents: 57
diff changeset
229 end
36
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
230 if dflags.size > 0 then
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
231 rsp.puts dflags
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
232 end
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
233
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
234 rsp.puts "-op"
47
65761bc28ab2 swt linux again compilable for d1.
Frank Benoit <benoit@tionex.de>
parents: 45
diff changeset
235 rsp.puts "-od#{DIR_OBJ.to_path}"
61
5ce9278ca82c Added win32 static libs.
Frank Benoit <benoit@tionex.de>
parents: 60
diff changeset
236 applfile = File.join(DIR_BIN ,appnameprefix+appname+EXEEXT)
36
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
237 rsp.puts "-of#{applfile.to_path}"
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
238 filelist.each do |path|
45
d5dd1c5b90a9 Made src file paths relative, so the __FILE__ literal do only contain the relevant path.
Frank Benoit <benoit@tionex.de>
parents: 44
diff changeset
239 rsp.puts File.expand_path(path).to_path[ srcdir_abs.size+1 .. -1 ]
36
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
240 end
57
e2ca9bdc80f2 [samples] build now also on D1 linux
Frank Benoit <benoit@tionex.de>
parents: 47
diff changeset
241
e2ca9bdc80f2 [samples] build now also on D1 linux
Frank Benoit <benoit@tionex.de>
parents: 47
diff changeset
242 if isWindows
e2ca9bdc80f2 [samples] build now also on D1 linux
Frank Benoit <benoit@tionex.de>
parents: 47
diff changeset
243 rsp.puts "-L/NOM"
e2ca9bdc80f2 [samples] build now also on D1 linux
Frank Benoit <benoit@tionex.de>
parents: 47
diff changeset
244 libnames.each do | libname |
e2ca9bdc80f2 [samples] build now also on D1 linux
Frank Benoit <benoit@tionex.de>
parents: 47
diff changeset
245 rsp.puts "-L+#{libname}#{LIBEXT}"
e2ca9bdc80f2 [samples] build now also on D1 linux
Frank Benoit <benoit@tionex.de>
parents: 47
diff changeset
246 end
e2ca9bdc80f2 [samples] build now also on D1 linux
Frank Benoit <benoit@tionex.de>
parents: 47
diff changeset
247 rsp.puts "-L+#{DIR_LIB.to_path}\\"
e2ca9bdc80f2 [samples] build now also on D1 linux
Frank Benoit <benoit@tionex.de>
parents: 47
diff changeset
248 else
e2ca9bdc80f2 [samples] build now also on D1 linux
Frank Benoit <benoit@tionex.de>
parents: 47
diff changeset
249 rsp.puts "-L-L#{DIR_LIB.to_path}"
e2ca9bdc80f2 [samples] build now also on D1 linux
Frank Benoit <benoit@tionex.de>
parents: 47
diff changeset
250 libnames.reverse.each do | libname |
e2ca9bdc80f2 [samples] build now also on D1 linux
Frank Benoit <benoit@tionex.de>
parents: 47
diff changeset
251 absname = File.join( DIR_LIB, "#{libname}#{LIBEXT}" );
e2ca9bdc80f2 [samples] build now also on D1 linux
Frank Benoit <benoit@tionex.de>
parents: 47
diff changeset
252 rsp.puts absname
e2ca9bdc80f2 [samples] build now also on D1 linux
Frank Benoit <benoit@tionex.de>
parents: 47
diff changeset
253 end
e2ca9bdc80f2 [samples] build now also on D1 linux
Frank Benoit <benoit@tionex.de>
parents: 47
diff changeset
254 SONAMES_BASIC.reverse.each do | soname |
e2ca9bdc80f2 [samples] build now also on D1 linux
Frank Benoit <benoit@tionex.de>
parents: 47
diff changeset
255 rsp.puts "-L-l#{soname}"
e2ca9bdc80f2 [samples] build now also on D1 linux
Frank Benoit <benoit@tionex.de>
parents: 47
diff changeset
256 end
e2ca9bdc80f2 [samples] build now also on D1 linux
Frank Benoit <benoit@tionex.de>
parents: 47
diff changeset
257 end
e2ca9bdc80f2 [samples] build now also on D1 linux
Frank Benoit <benoit@tionex.de>
parents: 47
diff changeset
258
36
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
259 rsp.close
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
260
40
9f32c409fe27 Fix compile problem and extend rakefile
Frank Benoit <benoit@tionex.de>
parents: 36
diff changeset
261 Dir.chdir(srcdir_abs) do
36
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
262 if isWindows
47
65761bc28ab2 swt linux again compilable for d1.
Frank Benoit <benoit@tionex.de>
parents: 45
diff changeset
263 cmd = "#{PROG_DMD} @#{FILE_RSP.to_path}"
36
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
264 else
47
65761bc28ab2 swt linux again compilable for d1.
Frank Benoit <benoit@tionex.de>
parents: 45
diff changeset
265 cmd = "cat #{FILE_RSP.to_path} | xargs #{PROG_DMD}"
36
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
266 end
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
267 sh cmd, :verbose => false do |ok, res|
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
268 if !ok then
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
269 raise "compile error"
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
270 end
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
271 end
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
272 end
40
9f32c409fe27 Fix compile problem and extend rakefile
Frank Benoit <benoit@tionex.de>
parents: 36
diff changeset
273 if isWindows
9f32c409fe27 Fix compile problem and extend rakefile
Frank Benoit <benoit@tionex.de>
parents: 36
diff changeset
274 FileUtils.rm File.join(srcdir_abs,appname+MAPEXT), :force => true
9f32c409fe27 Fix compile problem and extend rakefile
Frank Benoit <benoit@tionex.de>
parents: 36
diff changeset
275 end
36
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
276
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
277 end
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
278 ##########################################################################
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
279 # Targets
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
280 #
3
4c0057e71936 Made a class for StringBuffer
Frank Benoit <benoit@tionex.de>
parents: 1
diff changeset
281 desc "Clean"
4c0057e71936 Made a class for StringBuffer
Frank Benoit <benoit@tionex.de>
parents: 1
diff changeset
282 task :clean do
20
dccb717aa902 Remove more tango imports
Frank Benoit <benoit@tionex.de>
parents: 16
diff changeset
283 puts "Cleaning"
47
65761bc28ab2 swt linux again compilable for d1.
Frank Benoit <benoit@tionex.de>
parents: 45
diff changeset
284 FileUtils.rm_rf DIR_IMP
65761bc28ab2 swt linux again compilable for d1.
Frank Benoit <benoit@tionex.de>
parents: 45
diff changeset
285 FileUtils.rm_rf DIR_OBJ
65761bc28ab2 swt linux again compilable for d1.
Frank Benoit <benoit@tionex.de>
parents: 45
diff changeset
286 FileUtils.rm_rf DIR_LIB
61
5ce9278ca82c Added win32 static libs.
Frank Benoit <benoit@tionex.de>
parents: 60
diff changeset
287 FileUtils.rm_rf DIR_BIN
70
1a69be0afe99 Rakefile clean up for -J
Frank Benoit <benoit@tionex.de>
parents: 61
diff changeset
288 FileUtils.rm_rf DIR_RES
47
65761bc28ab2 swt linux again compilable for d1.
Frank Benoit <benoit@tionex.de>
parents: 45
diff changeset
289 FileUtils.rm FILE_RSP, :force => true
33
712f3c7f7660 make clean work without require existing files
Frank Benoit <benoit@tionex.de>
parents: 30
diff changeset
290 FileUtils.rm LOG_STDOUT, :force => true
712f3c7f7660 make clean work without require existing files
Frank Benoit <benoit@tionex.de>
parents: 30
diff changeset
291 FileUtils.rm LOG_STDERR, :force => true
3
4c0057e71936 Made a class for StringBuffer
Frank Benoit <benoit@tionex.de>
parents: 1
diff changeset
292 end
4c0057e71936 Made a class for StringBuffer
Frank Benoit <benoit@tionex.de>
parents: 1
diff changeset
293
27
1bf55a6eb092 Renamed java tree to base
Frank Benoit <benoit@tionex.de>
parents: 25
diff changeset
294 desc "Build Base (Java Environment and Helpers)"
1bf55a6eb092 Renamed java tree to base
Frank Benoit <benoit@tionex.de>
parents: 25
diff changeset
295 task :base do
28
69b1fa94a4a8 Added SWT snippets
Frank Benoit <benoit@tionex.de>
parents: 27
diff changeset
296 buildTree( "base", "src", "res", "", "dwt-base" )
1
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
297 end
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
298
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
299 desc "Build SWT"
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
300 task :swt do
36
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
301 buildTree( BASEDIR_SWT, "src", "res" )
61
5ce9278ca82c Added win32 static libs.
Frank Benoit <benoit@tionex.de>
parents: 60
diff changeset
302 if isWindows
5ce9278ca82c Added win32 static libs.
Frank Benoit <benoit@tionex.de>
parents: 60
diff changeset
303 FileUtils.cp FileList[ File.join(DIR_WINLIBS, "*#{LIBEXT}") ], DIR_LIB
5ce9278ca82c Added win32 static libs.
Frank Benoit <benoit@tionex.de>
parents: 60
diff changeset
304 end
34
a8a838017920 All JFace snippets build on windows
Frank Benoit <benoit@tionex.de>
parents: 33
diff changeset
305 end
1
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
306
20
dccb717aa902 Remove more tango imports
Frank Benoit <benoit@tionex.de>
parents: 16
diff changeset
307 desc "Build Equinox"
dccb717aa902 Remove more tango imports
Frank Benoit <benoit@tionex.de>
parents: 16
diff changeset
308 task :equinox do
16
dbfb303e8fb0 first complete successful compile (win-only)
Frank Benoit <benoit@tionex.de>
parents: 12
diff changeset
309 buildTree( "org.eclipse.osgi", "src", "res" )
34
a8a838017920 All JFace snippets build on windows
Frank Benoit <benoit@tionex.de>
parents: 33
diff changeset
310 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
311 buildTree( "org.eclipse.equinox.common", "src", "res" )
20
dccb717aa902 Remove more tango imports
Frank Benoit <benoit@tionex.de>
parents: 16
diff changeset
312 end
dccb717aa902 Remove more tango imports
Frank Benoit <benoit@tionex.de>
parents: 16
diff changeset
313
dccb717aa902 Remove more tango imports
Frank Benoit <benoit@tionex.de>
parents: 16
diff changeset
314 desc "Build Eclipse Core"
dccb717aa902 Remove more tango imports
Frank Benoit <benoit@tionex.de>
parents: 16
diff changeset
315 task :core do
16
dbfb303e8fb0 first complete successful compile (win-only)
Frank Benoit <benoit@tionex.de>
parents: 12
diff changeset
316 buildTree( "org.eclipse.core.runtime", "src", "res" )
dbfb303e8fb0 first complete successful compile (win-only)
Frank Benoit <benoit@tionex.de>
parents: 12
diff changeset
317 buildTree( "org.eclipse.core.commands", "src", "res" )
dbfb303e8fb0 first complete successful compile (win-only)
Frank Benoit <benoit@tionex.de>
parents: 12
diff changeset
318 buildTree( "org.eclipse.core.jobs", "src", "res" )
20
dccb717aa902 Remove more tango imports
Frank Benoit <benoit@tionex.de>
parents: 16
diff changeset
319 end
dccb717aa902 Remove more tango imports
Frank Benoit <benoit@tionex.de>
parents: 16
diff changeset
320
78
0a55d2d5a946 Added file for databinding
Frank Benoit <benoit@tionex.de>
parents: 70
diff changeset
321 desc "Build Eclipse Core Databinding"
0a55d2d5a946 Added file for databinding
Frank Benoit <benoit@tionex.de>
parents: 70
diff changeset
322 task :corebind do
0a55d2d5a946 Added file for databinding
Frank Benoit <benoit@tionex.de>
parents: 70
diff changeset
323 buildTree( "org.eclipse.core.databinding", "src", "res" )
0a55d2d5a946 Added file for databinding
Frank Benoit <benoit@tionex.de>
parents: 70
diff changeset
324 end
0a55d2d5a946 Added file for databinding
Frank Benoit <benoit@tionex.de>
parents: 70
diff changeset
325
20
dccb717aa902 Remove more tango imports
Frank Benoit <benoit@tionex.de>
parents: 16
diff changeset
326 desc "Build JFace"
dccb717aa902 Remove more tango imports
Frank Benoit <benoit@tionex.de>
parents: 16
diff changeset
327 task :jface do
16
dbfb303e8fb0 first complete successful compile (win-only)
Frank Benoit <benoit@tionex.de>
parents: 12
diff changeset
328 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
329 end
9b96950f2c3c the 'java' tree compiles on both D1-Tango and D2-Phobos
Frank Benoit <benoit@tionex.de>
parents: 20
diff changeset
330
60
66be6a990713 new eclipsetools target, fix of new exception stacktrace info.
Frank Benoit <benoit@tionex.de>
parents: 59
diff changeset
331 desc "Build Eclipse Tools"
66be6a990713 new eclipsetools target, fix of new exception stacktrace info.
Frank Benoit <benoit@tionex.de>
parents: 59
diff changeset
332 task :eclipsetools do
66be6a990713 new eclipsetools target, fix of new exception stacktrace info.
Frank Benoit <benoit@tionex.de>
parents: 59
diff changeset
333 buildTree( "org.eclipse.tools", "Sleak", "res" )
66be6a990713 new eclipsetools target, fix of new exception stacktrace info.
Frank Benoit <benoit@tionex.de>
parents: 59
diff changeset
334 end
66be6a990713 new eclipsetools target, fix of new exception stacktrace info.
Frank Benoit <benoit@tionex.de>
parents: 59
diff changeset
335
21
9b96950f2c3c the 'java' tree compiles on both D1-Tango and D2-Phobos
Frank Benoit <benoit@tionex.de>
parents: 20
diff changeset
336 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
337 task :jfacetext do
12
bc29606a740c Added dwt-addons in original directory structure of eclipse.org
Frank Benoit <benoit@tionex.de>
parents: 8
diff changeset
338 buildTree( "org.eclipse.text", "src", "res" )
40
9f32c409fe27 Fix compile problem and extend rakefile
Frank Benoit <benoit@tionex.de>
parents: 36
diff changeset
339 buildTree( "org.eclipse.jface.text", "projection", "res", "-I../src", "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
340 buildTree( "org.eclipse.jface.text", "src", "res" )
20
dccb717aa902 Remove more tango imports
Frank Benoit <benoit@tionex.de>
parents: 16
diff changeset
341 end
dccb717aa902 Remove more tango imports
Frank Benoit <benoit@tionex.de>
parents: 16
diff changeset
342
78
0a55d2d5a946 Added file for databinding
Frank Benoit <benoit@tionex.de>
parents: 70
diff changeset
343 desc "Build JFace.Databinding"
0a55d2d5a946 Added file for databinding
Frank Benoit <benoit@tionex.de>
parents: 70
diff changeset
344 task :jfacebind do
0a55d2d5a946 Added file for databinding
Frank Benoit <benoit@tionex.de>
parents: 70
diff changeset
345 buildTree( "org.eclipse.jface.databinding", "src", "res" )
0a55d2d5a946 Added file for databinding
Frank Benoit <benoit@tionex.de>
parents: 70
diff changeset
346 end
0a55d2d5a946 Added file for databinding
Frank Benoit <benoit@tionex.de>
parents: 70
diff changeset
347
20
dccb717aa902 Remove more tango imports
Frank Benoit <benoit@tionex.de>
parents: 16
diff changeset
348 desc "Build UI Forms"
dccb717aa902 Remove more tango imports
Frank Benoit <benoit@tionex.de>
parents: 16
diff changeset
349 task :uiforms do
12
bc29606a740c Added dwt-addons in original directory structure of eclipse.org
Frank Benoit <benoit@tionex.de>
parents: 8
diff changeset
350 buildTree( "org.eclipse.ui.forms", "src", "res" )
20
dccb717aa902 Remove more tango imports
Frank Benoit <benoit@tionex.de>
parents: 16
diff changeset
351 end
dccb717aa902 Remove more tango imports
Frank Benoit <benoit@tionex.de>
parents: 16
diff changeset
352
dccb717aa902 Remove more tango imports
Frank Benoit <benoit@tionex.de>
parents: 16
diff changeset
353 desc "Build Draw2D"
dccb717aa902 Remove more tango imports
Frank Benoit <benoit@tionex.de>
parents: 16
diff changeset
354 task :draw2d do
12
bc29606a740c Added dwt-addons in original directory structure of eclipse.org
Frank Benoit <benoit@tionex.de>
parents: 8
diff changeset
355 buildTree( "org.eclipse.draw2d", "src", "res" )
3
4c0057e71936 Made a class for StringBuffer
Frank Benoit <benoit@tionex.de>
parents: 1
diff changeset
356 end
4c0057e71936 Made a class for StringBuffer
Frank Benoit <benoit@tionex.de>
parents: 1
diff changeset
357
20
dccb717aa902 Remove more tango imports
Frank Benoit <benoit@tionex.de>
parents: 16
diff changeset
358 desc "Build ALL"
27
1bf55a6eb092 Renamed java tree to base
Frank Benoit <benoit@tionex.de>
parents: 25
diff changeset
359 task :all => [ :base, :swt, :equinox, :core, :jface, :jfacetext, :uiforms,
36
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
360 :draw2d, :swtsnippets, :jfacesnippets ]
20
dccb717aa902 Remove more tango imports
Frank Benoit <benoit@tionex.de>
parents: 16
diff changeset
361
21
9b96950f2c3c the 'java' tree compiles on both D1-Tango and D2-Phobos
Frank Benoit <benoit@tionex.de>
parents: 20
diff changeset
362 desc "Clean, then build ALL"
20
dccb717aa902 Remove more tango imports
Frank Benoit <benoit@tionex.de>
parents: 16
diff changeset
363 task :default => [ :clean, :all ]
dccb717aa902 Remove more tango imports
Frank Benoit <benoit@tionex.de>
parents: 16
diff changeset
364
dccb717aa902 Remove more tango imports
Frank Benoit <benoit@tionex.de>
parents: 16
diff changeset
365
29
4e5843b771cc First snippets buildable on windows
Frank Benoit <benoit@tionex.de>
parents: 28
diff changeset
366 desc "Build SWT Snippet Collection"
30
93b0e7382fd5 SWT Snippets build on windows
Frank Benoit <benoit@tionex.de>
parents: 29
diff changeset
367 task :swtsnippets, :explicit_snp do | t, args |
29
4e5843b771cc First snippets buildable on windows
Frank Benoit <benoit@tionex.de>
parents: 28
diff changeset
368
34
a8a838017920 All JFace snippets build on windows
Frank Benoit <benoit@tionex.de>
parents: 33
diff changeset
369 libnames = LIBNAMES_BASIC + LIBNAMES_SWT
29
4e5843b771cc First snippets buildable on windows
Frank Benoit <benoit@tionex.de>
parents: 28
diff changeset
370 snps_browser = [ "Snippet128", "Snippet136" ]
4e5843b771cc First snippets buildable on windows
Frank Benoit <benoit@tionex.de>
parents: 28
diff changeset
371 snps_opengl = [ "Snippet174", "Snippet195" ]
57
e2ca9bdc80f2 [samples] build now also on D1 linux
Frank Benoit <benoit@tionex.de>
parents: 47
diff changeset
372 snps_ole = [ "Snippet81" ]
29
4e5843b771cc First snippets buildable on windows
Frank Benoit <benoit@tionex.de>
parents: 28
diff changeset
373
57
e2ca9bdc80f2 [samples] build now also on D1 linux
Frank Benoit <benoit@tionex.de>
parents: 47
diff changeset
374 if isWindows
e2ca9bdc80f2 [samples] build now also on D1 linux
Frank Benoit <benoit@tionex.de>
parents: 47
diff changeset
375 snps_exclude = snps_browser + snps_opengl + snps_ole
e2ca9bdc80f2 [samples] build now also on D1 linux
Frank Benoit <benoit@tionex.de>
parents: 47
diff changeset
376 else
e2ca9bdc80f2 [samples] build now also on D1 linux
Frank Benoit <benoit@tionex.de>
parents: 47
diff changeset
377 snps_exclude = snps_browser + snps_opengl + snps_ole
e2ca9bdc80f2 [samples] build now also on D1 linux
Frank Benoit <benoit@tionex.de>
parents: 47
diff changeset
378 end
e2ca9bdc80f2 [samples] build now also on D1 linux
Frank Benoit <benoit@tionex.de>
parents: 47
diff changeset
379
e2ca9bdc80f2 [samples] build now also on D1 linux
Frank Benoit <benoit@tionex.de>
parents: 47
diff changeset
380 PREFIX = "Swt"
29
4e5843b771cc First snippets buildable on windows
Frank Benoit <benoit@tionex.de>
parents: 28
diff changeset
381 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
382 if args.explicit_snp != nil
40
9f32c409fe27 Fix compile problem and extend rakefile
Frank Benoit <benoit@tionex.de>
parents: 36
diff changeset
383 snpname = args.explicit_snp
9f32c409fe27 Fix compile problem and extend rakefile
Frank Benoit <benoit@tionex.de>
parents: 36
diff changeset
384 puts "Building swtsnippets[#{snpname}]"
57
e2ca9bdc80f2 [samples] build now also on D1 linux
Frank Benoit <benoit@tionex.de>
parents: 47
diff changeset
385 buildApp( "org.eclipse.swt.snippets", "src", "res", "", PREFIX, snpname, nil, libnames )
30
93b0e7382fd5 SWT Snippets build on windows
Frank Benoit <benoit@tionex.de>
parents: 29
diff changeset
386 else
93b0e7382fd5 SWT Snippets build on windows
Frank Benoit <benoit@tionex.de>
parents: 29
diff changeset
387 allsnippets.each do | snp |
93b0e7382fd5 SWT Snippets build on windows
Frank Benoit <benoit@tionex.de>
parents: 29
diff changeset
388 if snp =~ /.*(Snippet\w+)\.d$/
93b0e7382fd5 SWT Snippets build on windows
Frank Benoit <benoit@tionex.de>
parents: 29
diff changeset
389 snpname = $1
40
9f32c409fe27 Fix compile problem and extend rakefile
Frank Benoit <benoit@tionex.de>
parents: 36
diff changeset
390 puts "Building swtsnippets[#{snpname}]"
30
93b0e7382fd5 SWT Snippets build on windows
Frank Benoit <benoit@tionex.de>
parents: 29
diff changeset
391 if !snps_exclude.include? snpname
57
e2ca9bdc80f2 [samples] build now also on D1 linux
Frank Benoit <benoit@tionex.de>
parents: 47
diff changeset
392 buildApp( "org.eclipse.swt.snippets", "src", "res", "", PREFIX, snpname, nil, libnames )
30
93b0e7382fd5 SWT Snippets build on windows
Frank Benoit <benoit@tionex.de>
parents: 29
diff changeset
393 end
93b0e7382fd5 SWT Snippets build on windows
Frank Benoit <benoit@tionex.de>
parents: 29
diff changeset
394 else
40
9f32c409fe27 Fix compile problem and extend rakefile
Frank Benoit <benoit@tionex.de>
parents: 36
diff changeset
395 raise "Name does not match #{snp}"
29
4e5843b771cc First snippets buildable on windows
Frank Benoit <benoit@tionex.de>
parents: 28
diff changeset
396 end
4e5843b771cc First snippets buildable on windows
Frank Benoit <benoit@tionex.de>
parents: 28
diff changeset
397 end
4e5843b771cc First snippets buildable on windows
Frank Benoit <benoit@tionex.de>
parents: 28
diff changeset
398 end
4e5843b771cc First snippets buildable on windows
Frank Benoit <benoit@tionex.de>
parents: 28
diff changeset
399 end
4e5843b771cc First snippets buildable on windows
Frank Benoit <benoit@tionex.de>
parents: 28
diff changeset
400
33
712f3c7f7660 make clean work without require existing files
Frank Benoit <benoit@tionex.de>
parents: 30
diff changeset
401 desc "Build JFace Snippet Collection"
712f3c7f7660 make clean work without require existing files
Frank Benoit <benoit@tionex.de>
parents: 30
diff changeset
402 task :jfacesnippets, :explicit_snp do | t, args |
712f3c7f7660 make clean work without require existing files
Frank Benoit <benoit@tionex.de>
parents: 30
diff changeset
403
57
e2ca9bdc80f2 [samples] build now also on D1 linux
Frank Benoit <benoit@tionex.de>
parents: 47
diff changeset
404 PREFIX = "JFace"
e2ca9bdc80f2 [samples] build now also on D1 linux
Frank Benoit <benoit@tionex.de>
parents: 47
diff changeset
405 SRCPATH = "EclipseJfaceSnippets"
e2ca9bdc80f2 [samples] build now also on D1 linux
Frank Benoit <benoit@tionex.de>
parents: 47
diff changeset
406 BASEPATH = "org.eclipse.jface.snippets"
34
a8a838017920 All JFace snippets build on windows
Frank Benoit <benoit@tionex.de>
parents: 33
diff changeset
407 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
408 snps_exclude = []
57
e2ca9bdc80f2 [samples] build now also on D1 linux
Frank Benoit <benoit@tionex.de>
parents: 47
diff changeset
409 allsnippets = FileList[ File.join(BASEPATH, SRCPATH, "**/*.d" )]
33
712f3c7f7660 make clean work without require existing files
Frank Benoit <benoit@tionex.de>
parents: 30
diff changeset
410 if args.explicit_snp != nil
40
9f32c409fe27 Fix compile problem and extend rakefile
Frank Benoit <benoit@tionex.de>
parents: 36
diff changeset
411 snpname = args.explicit_snp
9f32c409fe27 Fix compile problem and extend rakefile
Frank Benoit <benoit@tionex.de>
parents: 36
diff changeset
412 puts "Building jfacesnippets[#{snpname}]"
57
e2ca9bdc80f2 [samples] build now also on D1 linux
Frank Benoit <benoit@tionex.de>
parents: 47
diff changeset
413 buildApp( BASEPATH, SRCPATH, "res", "", PREFIX, args.explicit_snp, nil, libnames )
33
712f3c7f7660 make clean work without require existing files
Frank Benoit <benoit@tionex.de>
parents: 30
diff changeset
414 else
712f3c7f7660 make clean work without require existing files
Frank Benoit <benoit@tionex.de>
parents: 30
diff changeset
415 allsnippets.each do | snp |
712f3c7f7660 make clean work without require existing files
Frank Benoit <benoit@tionex.de>
parents: 30
diff changeset
416 if snp =~ /.*[\\\/](\w+)\.d$/
712f3c7f7660 make clean work without require existing files
Frank Benoit <benoit@tionex.de>
parents: 30
diff changeset
417 snpname = $1
40
9f32c409fe27 Fix compile problem and extend rakefile
Frank Benoit <benoit@tionex.de>
parents: 36
diff changeset
418 puts "Building jfacesnippets[#{snpname}]"
33
712f3c7f7660 make clean work without require existing files
Frank Benoit <benoit@tionex.de>
parents: 30
diff changeset
419 if !snps_exclude.include? snpname
57
e2ca9bdc80f2 [samples] build now also on D1 linux
Frank Benoit <benoit@tionex.de>
parents: 47
diff changeset
420 buildApp( BASEPATH, SRCPATH, "res", "", PREFIX, snpname, nil, libnames )
33
712f3c7f7660 make clean work without require existing files
Frank Benoit <benoit@tionex.de>
parents: 30
diff changeset
421 end
712f3c7f7660 make clean work without require existing files
Frank Benoit <benoit@tionex.de>
parents: 30
diff changeset
422 else
712f3c7f7660 make clean work without require existing files
Frank Benoit <benoit@tionex.de>
parents: 30
diff changeset
423 puts snp
40
9f32c409fe27 Fix compile problem and extend rakefile
Frank Benoit <benoit@tionex.de>
parents: 36
diff changeset
424 raise "Name does not match #{snp}"
33
712f3c7f7660 make clean work without require existing files
Frank Benoit <benoit@tionex.de>
parents: 30
diff changeset
425 end
712f3c7f7660 make clean work without require existing files
Frank Benoit <benoit@tionex.de>
parents: 30
diff changeset
426 end
712f3c7f7660 make clean work without require existing files
Frank Benoit <benoit@tionex.de>
parents: 30
diff changeset
427 end
712f3c7f7660 make clean work without require existing files
Frank Benoit <benoit@tionex.de>
parents: 30
diff changeset
428 end
712f3c7f7660 make clean work without require existing files
Frank Benoit <benoit@tionex.de>
parents: 30
diff changeset
429
29
4e5843b771cc First snippets buildable on windows
Frank Benoit <benoit@tionex.de>
parents: 28
diff changeset
430
4e5843b771cc First snippets buildable on windows
Frank Benoit <benoit@tionex.de>
parents: 28
diff changeset
431