File: compile.rake

package info (click to toggle)
dlr-languages 20090805%2Bgit.e6b28d27%2Bdfsg-3
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 51,484 kB
  • ctags: 59,257
  • sloc: cs: 298,829; ruby: 159,643; xml: 19,872; python: 2,820; yacc: 1,960; makefile: 96; sh: 65
file content (83 lines) | stat: -rw-r--r-- 2,578 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
# ****************************************************************************
#
# Copyright (c) Microsoft Corporation. 
#
# This source code is subject to terms and conditions of the Microsoft Public License. A 
# copy of the license can be found in the License.html file at the root of this distribution. If 
# you cannot locate the  Microsoft Public License, please send an email to 
# ironruby@microsoft.com. By using this source code in any fashion, you are agreeing to be bound 
# by the terms of the Microsoft Public License.
#
# You must not remove this notice, or any other, from this software.
#
#
# ****************************************************************************
# Compilation tasks

desc "clean build directory"
task :clean_build => [:happy] do
  IronRubyCompiler.clean
end
namespace :compile do
  desc "compile extension attribute assembly" 
  task :extension_attributes => [:clean_build] do
    IronRubyCompiler.compile :dlr_extension
  end

  desc "compile DLR (Microsoft.Scripting.dll and Microsoft.Scripting.Core.dll)"
  task :dlr => [:extension_attributes] do
    IronRubyCompiler.compile :dlr_core
    IronRubyCompiler.compile :dlr_libs
    IronRubyCompiler.compile :dlr_com
    IronRubyCompiler.compile :dlr_debug
  end

  desc "compile ClassInitGenerator.exe"
  task :generator => [:ruby]  do
    IronRubyCompiler.compile :generator
  end

  desc "compile IronRuby.dll"
  task :ruby => [:dlr] do
    IronRubyCompiler.compile :ironruby
  end

  desc "compile IronRuby.Libraries.dll"
  task :libraries => [:ruby] do
    IronRubyCompiler.compile :libraries
  end

  desc "compile IronRuby console"
  task :console => [:libraries] do
    IronRubyCompiler.compile :console
    IronRubyCompiler.move_config
  end

  desc "compile IronRuby.Tests"
  task :testhost => [:libraries] do
    IronRubyCompiler.compile :test_runner
    IronRubyCompiler.move_config "IronRuby.Tests.exe.config"
  end

  desc "compile IronRuby.Libraries.Scanner"
  task :scanner => [:libraries] do
    IronRubyCompiler.compile :scanner
  end

  desc "compile Yaml"
  task :yaml => [:libraries] do
    IronRubyCompiler.compile :yaml
  end

  desc "compile IronPython"
  task :ironpython => [:dlr] do
    [:ironpython, :ipyw, :ipy, :ironpython_modules].each do |target|
      IronRubyCompiler.compile target
    end
  end
  desc "compile IronRuby and IronPython"
  task :all => [:compile, :ironpython]
end

desc "compile everything"
task :compile => %w{happy clean_build compile:dlr compile:ruby compile:libraries compile:console compile:testhost compile:generator compile:yaml}