Mercurial > projects > dwt2
diff 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 |
line wrap: on
line diff
--- a/rakefile Mon Mar 23 12:16:13 2009 +0100 +++ b/rakefile Mon Mar 23 15:06:06 2009 +0100 @@ -44,7 +44,7 @@ end end -def buildTree( basedir, srcdir, resdir, dcargs="", libname="" ) +def buildTree( basedir, srcdir, resdir, dcargs=nil, libname=nil ) puts "Building #{basedir}/#{srcdir}" resdir_abs = File.expand_path( File.join( basedir, resdir )) @@ -58,7 +58,7 @@ rsp.puts "-I#{srcdir_abs.to_path}" rsp.puts "-I#{DIMPDIR.to_path}" rsp.puts "-J#{resdir_abs.to_path}" - if dcargs.size > 0 then + if dcargs != nil rsp.puts dcargs end ALL_RESDIRS.each do | dir | @@ -110,7 +110,7 @@ end end - if libname.size == 0 + if libname == nil libname = basedir end createLib( libobjs, libname ) @@ -157,13 +157,19 @@ buildTree( "org.eclipse.swt.gtk.linux.x86", "src", "res" ) end end +if isWindows + LIBNAMES_SWT = [ "org.eclipse.swt.win32.win32.x86" ] +else + LIBNAMES_SWT = [ "org.eclipse.swt.gtk.linux.x86" ] +end desc "Build Equinox" task :equinox do buildTree( "org.eclipse.osgi", "src", "res" ) - buildTree( "org.eclipse.osgi", "supplement/src", "res" ) + buildTree( "org.eclipse.osgi", "supplement/src", "res", nil, "org.eclipse.osgi.supplement") buildTree( "org.eclipse.equinox.common", "src", "res" ) end +LIBNAMES_EQUINOX = [ "org.eclipse.osgi", "org.eclipse.osgi.supplement", "org.eclipse.equinox.common" ] desc "Build Eclipse Core" task :core do @@ -171,11 +177,13 @@ buildTree( "org.eclipse.core.commands", "src", "res" ) buildTree( "org.eclipse.core.jobs", "src", "res" ) end +LIBNAMES_CORE = [ "org.eclipse.core.runtime", "org.eclipse.core.commands", "org.eclipse.core.jobs" ] desc "Build JFace" task :jface do buildTree( "org.eclipse.jface", "src", "res" ) end +LIBNAMES_JFACE = [ "org.eclipse.jface" ] desc "Build JFace.Text" task :jfacetext do @@ -183,16 +191,19 @@ buildTree( "org.eclipse.jface.text", "projection", "res", "-Isrc", "org.eclipse.jface.text.projection" ) buildTree( "org.eclipse.jface.text", "src", "res" ) end +LIBNAMES_JFACETEXT = [ "org.eclipse.text", "org.eclipse.jface.text.projection", "org.eclipse.jface.text", ] desc "Build UI Forms" task :uiforms do buildTree( "org.eclipse.ui.forms", "src", "res" ) end +LIBNAMES_UIFORMS = [ "org.eclipse.ui.forms" ] desc "Build Draw2D" task :draw2d do buildTree( "org.eclipse.draw2d", "src", "res" ) end +LIBNAMES_DRAW2D = [ "org.eclipse.draw2d" ] desc "Build ALL" task :all => [ :base, :swt, :equinox, :core, :jface, :jfacetext, :uiforms, @@ -205,6 +216,7 @@ desc "Build SWT Snippet Collection" task :swtsnippets, :explicit_snp do | t, args | + libnames = LIBNAMES_BASIC + LIBNAMES_SWT snps_browser = [ "Snippet128", "Snippet136" ] snps_opengl = [ "Snippet174", "Snippet195" ] @@ -212,14 +224,14 @@ allsnippets = FileList[ File.join("org.eclipse.swt.snippets", "src", "**/Snippet*.d" )] if args.explicit_snp != nil puts "Building #{args.explicit_snp}" - buildApp( "org.eclipse.swt.snippets", "src", "res", "", args.explicit_snp ) + buildApp( "org.eclipse.swt.snippets", "src", "res", "", args.explicit_snp, nil, libnames ) else allsnippets.each do | snp | puts "Building #{snp}" if snp =~ /.*(Snippet\w+)\.d$/ snpname = $1 if !snps_exclude.include? snpname - buildApp( "org.eclipse.swt.snippets", "src", "res", "", snpname ) + buildApp( "org.eclipse.swt.snippets", "src", "res", "", snpname, nil, libnames ) end else puts snp @@ -232,18 +244,19 @@ desc "Build JFace Snippet Collection" task :jfacesnippets, :explicit_snp do | t, args | + libnames = LIBNAMES_BASIC + LIBNAMES_SWT + LIBNAMES_EQUINOX + LIBNAMES_CORE + LIBNAMES_JFACE snps_exclude = [] allsnippets = FileList[ File.join("org.eclipse.jface.snippets", "EclipseJfaceSnippets", "**/*.d" )] if args.explicit_snp != nil puts "Building #{args.explicit_snp}" - buildApp( "org.eclipse.jface.snippets", "src", "res", "", args.explicit_snp ) + buildApp( "org.eclipse.jface.snippets", "src", "res", "", args.explicit_snp, nil, libnames ) else allsnippets.each do | snp | - puts "Building #{snp}" if snp =~ /.*[\\\/](\w+)\.d$/ snpname = $1 + puts "Building #{snpname}" if !snps_exclude.include? snpname - buildApp( "org.eclipse.jface.snippets", "src", "res", "", snpname ) + buildApp( "org.eclipse.jface.snippets", "src", "res", "", snpname, nil, libnames ) end else puts snp @@ -253,7 +266,11 @@ end end -def buildApp( basedir, srcdir, resdir, dflags, appname, filelist=nil ) +LIBNAMES_BASIC = [ "advapi32", "comctl32", "comdlg32", "gdi32", "kernel32", + "shell32", "ole32", "oleaut32", "olepro32", "oleacc", "user32", "usp10", + "msimg32", "opengl32", "shlwapi", "dwt-base" ] + +def buildApp( basedir, srcdir, resdir, dflags, appname, filelist, libnames ) if filelist == nil filelist = FileList[ "**/#{appname}.d" ] end @@ -271,46 +288,11 @@ ALL_RESDIRS.each do | dir | rsp.puts "-J#{File.expand_path(dir).to_path}" end - #rsp.puts "-L/NOMAP" - #rsp.print "-L" - #rsp.print "+advapi32" - #rsp.print "+comctl32" - #rsp.print "+comdlg32" - #rsp.print "+gdi32" - #rsp.print "+kernel32" - #rsp.print "+shell32" - #rsp.print "+ole32" - #rsp.print "+oleaut32" - #rsp.print "+olepro32" - #rsp.print "+oleacc" - #rsp.print "+user32" - #rsp.print "+usp10" - #rsp.print "+msimg32" - #rsp.print "+opengl32" - #rsp.print "+shlwapi" - #rsp.print "+tango-user-dmd.lib" - #rsp.print "+zlib.lib" - #rsp.print "+dwt-base.lib" - #rsp.print "+org.eclipse.swt.win32.win32.x86.lib" - #rsp.print "+#{LIBDIR.to_path}\\" - #rsp.puts rsp.puts "-L/NOM" - rsp.puts "-L+advapi32" - rsp.puts "-L+comctl32" - rsp.puts "-L+comdlg32" - rsp.puts "-L+gdi32" - rsp.puts "-L+kernel32" - rsp.puts "-L+shell32" - rsp.puts "-L+ole32" - rsp.puts "-L+oleaut32" - rsp.puts "-L+olepro32" - rsp.puts "-L+oleacc" - rsp.puts "-L+user32" - rsp.puts "-L+usp10" - rsp.puts "-L+msimg32" - rsp.puts "-L+opengl32" - rsp.puts "-L+shlwapi" + libnames.each do | libname | + rsp.puts "-L+#{libname}#{LIBEXT}" + end rsp.puts "-L+tango-user-dmd.lib" rsp.puts "-L+zlib.lib" rsp.puts "-L+dwt-base.lib"