debugger 1.0.0.rc1 → 1.0.0.rc2

Sign up to get free protection for your applications and to get access to all the features.
data/.travis.yml ADDED
@@ -0,0 +1,4 @@
1
+ before_install: bundle init --gemspec=debugger.gemspec
2
+ before_script: rake compile
3
+ rvm:
4
+ - 1.9.3
data/CHANGELOG.md ADDED
@@ -0,0 +1,8 @@
1
+ ## 1.0.0.rc2
2
+ * Avoid downloading of ruby source by using debugger-ruby_core_source
3
+ * Fix LocalJumpError caused by using proc in extconf.rb
4
+ * Tests up on CI
5
+ * Rake tasks updated
6
+
7
+ ## 1.0.0.rc1
8
+ * Initial test release with working 1.9.3
File without changes
File without changes
data/README.md CHANGED
@@ -1,10 +1,68 @@
1
1
  ## Description
2
- A fork of ruby-debug19 that works on 1.9.3 and installs easily.
2
+ A fork of ruby-debug19 that works on 1.9.3 and installs easily for rvm/rbenv rubies. 1.9.2 support
3
+ coming...
4
+
5
+ [![Build Status](https://secure.travis-ci.org/cldwalker/debugger.png?branch=master)](http://travis-ci.org/cldwalker/log_buddy)
6
+
7
+ ## Install
8
+
9
+ $ gem install debugger
10
+
11
+ # If install fails, try passing headers path
12
+ $ gem install debugger -- --with-ruby-include=PATH_TO_HEADERS
13
+
14
+ For Windows install instructions, see OLD\_README.
3
15
 
4
16
  ## Usage
5
17
 
18
+ To use in your Rails app, drop in your Gemfile:
19
+
20
+ gem 'debugger'
21
+
22
+ Wherever you need a debugger, simply:
6
23
  ```ruby
7
24
  require 'debugger'; debugger
8
25
  ```
9
26
 
10
- TODO
27
+ ## Reason for Fork
28
+
29
+ * ruby-debug19 maintainer isn't maintaining:
30
+ * Despite patches from ruby core, no gem release in 2+ years! - 9/1/09.
31
+ * Requests to release a known working 1.9.3 version have been ignored.
32
+ * Doesn't respond to rubyforge issues and doesn't have github issues open.
33
+ * Current install is painful. Requires either [manually downloading gems from rubyforge](
34
+ http://blog.wyeworks.com/2011/11/1/ruby-1-9-3-and-ruby-debug) and installing with compiler flags
35
+ or [recompiling
36
+ ruby](http://blog.sj26.com/post/12146951658/updated-using-ruby-debug-on-ruby-1-9-3-p0).
37
+ * We need a decent ruby debugger for future rubies!
38
+
39
+ ## What's different from ruby-debug19
40
+
41
+ * Works on 1.9.3 but not 1.9.2 yet
42
+ * Install painlessly for rvm and rbenv rubies i.e. no compiler flags needed
43
+ * Tests are up on travis-ci
44
+ * The gem name matches the module namespace, Debugger, and main required file, debugger.
45
+ * Rake tasks have been updated
46
+ * ruby-debug-base19 and ruby-debug19 are released as one gem
47
+ * No downloading ruby source during install - was behavior of old ruby_core_source dependency
48
+ * Fix LocalJumpError caused by using proc in extconf.rb
49
+
50
+ ## Issues
51
+ Please report them [on github](http://github.com/cldwalker/debugger/issues).
52
+
53
+ ## Contributing
54
+ [See here](http://tagaholic.me/contributing.html) for contribution policies.
55
+ Let's keep this working for the ruby community!
56
+
57
+ ## Credits
58
+
59
+ * Thanks to the original authors: Kent Sibilev and Mark Moseley
60
+ * Fork started on awesome @relevance fridays!
61
+
62
+ ## TODO
63
+
64
+ * Add back support for 1.9.2
65
+ * Doing something stupid simple i.e. copy latest ruby-debug19 that works and require as needed
66
+ * Fix test/test-*.rb
67
+ * Work with others willing to tackle jruby, rubinius or windows support
68
+ * Clean up (merge) lib + cli as separate runtime paths for ruby-debug-base19 and ruby-debug19
data/Rakefile CHANGED
@@ -1,8 +1,5 @@
1
- #!/usr/bin/env rake
2
1
  # -*- Ruby -*-
3
- require 'rubygems'
4
- require 'rake/gempackagetask'
5
- require 'rake/rdoctask'
2
+ require 'rubygems/package_task'
6
3
  require 'rake/testtask'
7
4
  require 'rake/extensiontask'
8
5
 
@@ -11,7 +8,7 @@ Rake::ExtensionTask.new('ruby_debug')
11
8
  SO_NAME = "ruby_debug.so"
12
9
 
13
10
  # ------- Default Package ----------
14
- RUBY_DEBUG_VERSION = open("ext/ruby_debug/ruby_debug.c") do |f|
11
+ RUBY_DEBUG_VERSION = open("ext/ruby_debug/ruby_debug.c") do |f|
15
12
  f.grep(/^#define DEBUG_VERSION/).first[/"(.+)"/,1]
16
13
  end
17
14
 
@@ -24,12 +21,13 @@ COMMON_FILES = FileList[
24
21
  'LICENSE',
25
22
  'README',
26
23
  'Rakefile',
27
- ]
24
+ ]
28
25
 
29
26
  CLI_TEST_FILE_LIST = FileList['test/cli/commands/unit/*.rb',
30
- 'test/cli/commands/*_test.rb',
31
- 'test/cli/**/*_test.rb',
32
- 'test/test-*.rb']
27
+ 'test/cli/commands/*_test.rb',
28
+ 'test/cli/**/*_test.rb']
29
+ # disabled until requires fixed and tests pass
30
+ # 'test/test-*.rb']
33
31
  CLI_FILES = COMMON_FILES + FileList[
34
32
  "cli/**/*",
35
33
  'ChangeLog',
@@ -43,8 +41,8 @@ CLI_FILES = COMMON_FILES + FileList[
43
41
  ]
44
42
 
45
43
  BASE_TEST_FILE_LIST = %w(
46
- test/base/base.rb
47
- test/base/binding.rb
44
+ test/base/base.rb
45
+ test/base/binding.rb
48
46
  test/base/catchpoint.rb)
49
47
  BASE_FILES = COMMON_FILES + FileList[
50
48
  'ext/ruby_debug/breakpoint.c',
@@ -57,7 +55,7 @@ BASE_FILES = COMMON_FILES + FileList[
57
55
  ]
58
56
 
59
57
  desc "Test everything."
60
- task :test => :test_base do
58
+ task :test => :test_base do
61
59
  Rake::TestTask.new(:test) do |t|
62
60
  t.libs << './ext'
63
61
  t.libs << './lib'
@@ -68,7 +66,7 @@ task :test => :test_base do
68
66
  end
69
67
 
70
68
  desc "Test ruby-debug-base."
71
- task :test_base => :lib do
69
+ task :test_base => :lib do
72
70
  Rake::TestTask.new(:test_base) do |t|
73
71
  t.libs << './ext'
74
72
  t.libs << './lib'
@@ -95,92 +93,12 @@ file "emacs/rdebug.elc" => ["emacs/elisp-comp", "emacs/rdebug.el"] do
95
93
  end
96
94
  end
97
95
 
98
- desc "Create a GNU-style ChangeLog via svn2cl"
99
- task :ChangeLog do
100
- system("svn2cl --authors=svn2cl_usermap svn://rubyforge.org/var/svn/ruby-debug/trunk")
101
- system("svn2cl --authors=svn2cl_usermap svn://rubyforge.org/var/svn/ruby-debug/trunk/ext -o ext/ChangeLog")
102
- system("svn2cl --authors=svn2cl_usermap svn://rubyforge.org/var/svn/ruby-debug/trunk/lib -o lib/ChangeLog")
103
- end
104
-
105
- # Base GEM Specification
106
- base_spec = Gem::Specification.new do |spec|
107
- spec.name = "ruby-debug-base19"
108
-
109
- spec.homepage = "http://rubyforge.org/projects/ruby-debug19/"
110
- spec.summary = "Fast Ruby debugger - core component"
111
- spec.description = <<-EOF
112
- ruby-debug-base19 is a fast implementation of the standard Ruby debugger debug.rb.
113
- It is implemented by utilizing a new Ruby C API hook. The core component
114
- provides support that front-ends can build on. It provides breakpoint
115
- handling, bindings for stack frames among other things.
116
- EOF
117
-
118
- spec.version = RUBY_DEBUG_VERSION + RUBY_DEBUG_BASE_TEENY
119
-
120
- spec.authors = ["Kent Sibilev", "Mark Moseley"]
121
- spec.email = "mark@fast-software.com"
122
- spec.platform = Gem::Platform::RUBY
123
- spec.require_path = "lib"
124
- spec.extensions = ["ext/ruby_debug/extconf.rb"]
125
- spec.files = BASE_FILES.to_a
126
-
127
- spec.required_ruby_version = '>= 1.8.2'
128
- spec.date = Time.now
129
- spec.rubyforge_project = 'ruby-debug19'
130
- spec.add_dependency('ruby_core_source', '>= 0.1.4')
131
- spec.add_dependency('linecache19', '>= 0.5.11')
132
-
133
- spec.test_files = FileList[BASE_TEST_FILE_LIST]
134
-
135
- # rdoc
136
- spec.has_rdoc = true
137
- spec.extra_rdoc_files = ['README', 'ext/ruby_debug/ruby_debug.c']
138
- end
139
-
140
- cli_spec = Gem::Specification.new do |spec|
141
- spec.name = "ruby-debug19"
142
-
143
- spec.homepage = "http://rubyforge.org/projects/ruby-debug19/"
144
- spec.summary = "Command line interface (CLI) for ruby-debug-base19"
145
- spec.description = <<-EOF
146
- A generic command line interface for ruby-debug.
147
- EOF
148
-
149
- spec.version = RUBY_DEBUG_VERSION + RUBY_DEBUG_TEENY
150
-
151
- spec.authors = ["Kent Sibilev", "Mark Moseley"]
152
- spec.email = "mark@fast-software.com"
153
- spec.platform = Gem::Platform::RUBY
154
- spec.require_path = "cli"
155
- spec.bindir = "bin"
156
- spec.executables = ["rdebug"]
157
- spec.files = CLI_FILES.to_a
158
-
159
- spec.required_ruby_version = '>= 1.8.2'
160
- spec.date = Time.now
161
- spec.rubyforge_project = 'ruby-debug'
162
- spec.add_dependency('columnize', '>= 0.3.1')
163
- spec.add_dependency('linecache19', '>= 0.5.11')
164
- spec.add_dependency('ruby-debug-base19', '>= 0.12.0')
165
-
166
- # FIXME: work out operational logistics for this
167
- # spec.test_files = FileList[CLI_TEST_FILE_LIST]
168
-
169
- # rdoc
170
- spec.has_rdoc = true
171
- spec.extra_rdoc_files = ['README']
172
- end
173
-
96
+ base_spec = eval(File.read('debugger.gemspec'), binding, 'debugger.gemspec')
174
97
  # Rake task to build the default package
175
- Rake::GemPackageTask.new(base_spec) do |pkg|
176
- pkg.need_tar = true
177
- end
178
- Rake::GemPackageTask.new(cli_spec) do |pkg|
98
+ Gem::PackageTask.new(base_spec) do |pkg|
179
99
  pkg.need_tar = true
180
100
  end
181
101
 
182
- task :default => [:package]
183
-
184
102
  # Windows specification
185
103
  win_spec = base_spec.clone
186
104
  win_spec.extensions = []
@@ -205,17 +123,6 @@ task :win32_gem do
205
123
  rm(target)
206
124
  end
207
125
 
208
- desc "Publish ruby-debug to RubyForge."
209
- task :publish do
210
- require 'rake/contrib/sshpublisher'
211
-
212
- # Get ruby-debug path.
213
- ruby_debug_path = File.expand_path(File.dirname(__FILE__))
214
-
215
- Rake::SshDirPublisher.new("kent@rubyforge.org",
216
- "/var/www/gforge-projects/ruby-debug", ruby_debug_path)
217
- end
218
-
219
126
  desc "Remove built files"
220
127
  task :clean do
221
128
  cd "ext" do
@@ -228,39 +135,4 @@ task :clean do
228
135
  end
229
136
  end
230
137
 
231
- # --------- RDoc Documentation ------
232
- desc "Generate rdoc documentation"
233
- Rake::RDocTask.new("rdoc") do |rdoc|
234
- rdoc.rdoc_dir = 'doc/rdoc'
235
- rdoc.title = "ruby-debug"
236
- # Show source inline with line numbers
237
- rdoc.options << "--inline-source" << "--line-numbers"
238
- # Make the readme file the start page for the generated html
239
- rdoc.options << '--main' << 'README'
240
- rdoc.rdoc_files.include('bin/**/*',
241
- 'cli/ruby-debug/commands/*.rb',
242
- 'lib/**/*.rb',
243
- 'ext/**/ruby_debug.c',
244
- 'README',
245
- 'LICENSE')
246
- end
247
-
248
- desc "Publish the release files to RubyForge."
249
- task :rubyforge_upload do
250
- `rubyforge login`
251
- release_command = "rubyforge add_release #{PKG_NAME} #{PKG_NAME} '#{PKG_NAME}-#{PKG_VERSION}' pkg/#{PKG_NAME}-#{PKG_VERSION}.gem"
252
- puts release_command
253
- system(release_command)
254
- end
255
-
256
- PKG_NAME = 'ruby-debug'
257
- desc "Publish the release files to RubyForge."
258
- task :rubyforge_upload do
259
- `rubyforge login`
260
- for pkg_name in ['ruby-debug', 'ruby-debug-base'] do
261
- pkg_file_name = "#{pkg_name}-#{pkg_version}"
262
- release_command = "rubyforge add_release ruby-debug #{pkg_name} '#{pkg_file_name}' pkg/#{pkg_file_name}.gem"
263
- puts release_command
264
- system(release_command)
265
- end
266
- end
138
+ task :default => :test
data/debugger.gemspec CHANGED
@@ -18,7 +18,10 @@ handling, bindings for stack frames among other things.
18
18
  s.extra_rdoc_files = [ "README.md" ]
19
19
  s.files = `git ls-files`.split("\n")
20
20
  s.extensions << "ext/ruby_debug/extconf.rb"
21
- s.add_dependency("columnize", ">= 0.3.1")
22
- s.add_dependency("ruby_core_source", ">= 0.1.5")
21
+ s.executables = ["rdebug"]
22
+ s.add_dependency "columnize", ">= 0.3.1"
23
+ s.add_dependency "debugger-ruby_core_source"
23
24
  s.add_dependency "debugger-linecache"
25
+ s.add_development_dependency 'rake', '~> 0.9.2.2'
26
+ s.add_development_dependency 'rake-compiler', '~> 0.8.0'
24
27
  end
@@ -16,17 +16,17 @@ if RUBY_VERSION < "1.9"
16
16
  exit(1)
17
17
  end
18
18
 
19
- hdrs = proc {
19
+ hdrs = lambda {
20
20
  iseqs = %w[vm_core.h iseq.h]
21
21
  begin
22
22
  have_struct_member("rb_method_entry_t", "called_id", "method.h") or
23
23
  have_struct_member("rb_control_frame_t", "method_id", "method.h")
24
24
  end and
25
25
  have_header("vm_core.h") and have_header("iseq.h") and have_header("insns.inc") and
26
- have_header("insns_info.inc") and have_header("eval_intern.h") or break
26
+ have_header("insns_info.inc") and have_header("eval_intern.h") or return(false)
27
27
  have_type("struct iseq_line_info_entry", iseqs) or
28
28
  have_type("struct iseq_insn_info_entry", iseqs) or
29
- break
29
+ return(false)
30
30
  if checking_for(checking_message("if rb_iseq_compile_with_option was added an argument filepath")) do
31
31
  try_compile(<<SRC)
32
32
  #include <ruby.h>
@@ -42,8 +42,8 @@ dir_config("ruby")
42
42
  if !Ruby_core_source::create_makefile_with_core(hdrs, "ruby_debug")
43
43
  STDERR.print("Makefile creation failed\n")
44
44
  STDERR.print("*************************************************************\n\n")
45
- STDERR.print(" NOTE: For Ruby 1.9 installation instructions, please see:\n\n")
46
- STDERR.print(" http://wiki.github.com/mark-moseley/ruby-debug\n\n")
45
+ STDERR.print(" NOTE: If your headers were not found, try passing\n")
46
+ STDERR.print(" --with-ruby-include=PATH_TO_HEADERS \n\n")
47
47
  STDERR.print("*************************************************************\n\n")
48
48
  exit(1)
49
49
  end
@@ -1,3 +1,5 @@
1
1
  module Debugger
2
- VERSION = '1.0.0.rc1'
2
+ # TODO: remove version from C ext
3
+ send :remove_const, :VERSION if const_defined? :VERSION
4
+ VERSION = '1.0.0.rc2'
3
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: debugger
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0.rc1
4
+ version: 1.0.0.rc2
5
5
  prerelease: 6
6
6
  platform: ruby
7
7
  authors:
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2012-03-30 00:00:00.000000000 Z
14
+ date: 2012-04-04 00:00:00.000000000Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: columnize
@@ -30,13 +30,13 @@ dependencies:
30
30
  - !ruby/object:Gem::Version
31
31
  version: 0.3.1
32
32
  - !ruby/object:Gem::Dependency
33
- name: ruby_core_source
33
+ name: debugger-ruby_core_source
34
34
  requirement: !ruby/object:Gem::Requirement
35
35
  none: false
36
36
  requirements:
37
37
  - - ! '>='
38
38
  - !ruby/object:Gem::Version
39
- version: 0.1.5
39
+ version: '0'
40
40
  type: :runtime
41
41
  prerelease: false
42
42
  version_requirements: !ruby/object:Gem::Requirement
@@ -44,7 +44,7 @@ dependencies:
44
44
  requirements:
45
45
  - - ! '>='
46
46
  - !ruby/object:Gem::Version
47
- version: 0.1.5
47
+ version: '0'
48
48
  - !ruby/object:Gem::Dependency
49
49
  name: debugger-linecache
50
50
  requirement: !ruby/object:Gem::Requirement
@@ -61,6 +61,38 @@ dependencies:
61
61
  - - ! '>='
62
62
  - !ruby/object:Gem::Version
63
63
  version: '0'
64
+ - !ruby/object:Gem::Dependency
65
+ name: rake
66
+ requirement: !ruby/object:Gem::Requirement
67
+ none: false
68
+ requirements:
69
+ - - ~>
70
+ - !ruby/object:Gem::Version
71
+ version: 0.9.2.2
72
+ type: :development
73
+ prerelease: false
74
+ version_requirements: !ruby/object:Gem::Requirement
75
+ none: false
76
+ requirements:
77
+ - - ~>
78
+ - !ruby/object:Gem::Version
79
+ version: 0.9.2.2
80
+ - !ruby/object:Gem::Dependency
81
+ name: rake-compiler
82
+ requirement: !ruby/object:Gem::Requirement
83
+ none: false
84
+ requirements:
85
+ - - ~>
86
+ - !ruby/object:Gem::Version
87
+ version: 0.8.0
88
+ type: :development
89
+ prerelease: false
90
+ version_requirements: !ruby/object:Gem::Requirement
91
+ none: false
92
+ requirements:
93
+ - - ~>
94
+ - !ruby/object:Gem::Version
95
+ version: 0.8.0
64
96
  description: ! 'debugger is a fast implementation of the standard Ruby debugger debug.rb.
65
97
 
66
98
  It is implemented by utilizing a new Ruby C API hook. The core component
@@ -71,18 +103,20 @@ description: ! 'debugger is a fast implementation of the standard Ruby debugger
71
103
 
72
104
  '
73
105
  email: gabriel.horner@gmail.com
74
- executables: []
106
+ executables:
107
+ - rdebug
75
108
  extensions:
76
109
  - ext/ruby_debug/extconf.rb
77
110
  extra_rdoc_files:
78
111
  - README.md
79
112
  files:
113
+ - .travis.yml
80
114
  - AUTHORS
81
- - CHANGES
82
- - ChangeLog
83
- - INSTALL.SVN
115
+ - CHANGELOG.md
84
116
  - LICENSE
85
117
  - Makefile.am
118
+ - OLDER_CHANGELOG
119
+ - OLD_CHANGELOG
86
120
  - OLD_README
87
121
  - README.md
88
122
  - Rakefile
data/INSTALL.SVN DELETED
@@ -1,154 +0,0 @@
1
- Building and Installing ruby-debug from rubyforge's Subversion Repository (svn)
2
-
3
- The below are Unix-centric instructions. If you have Microsoft Windows see
4
- the section on building Microsoft Windows.
5
-
6
-
7
- 0. Prerequisites: To build the package you'll need at a minimum:
8
-
9
- - Ruby (of course). Currently only version 1.8.6 and above but not
10
- version 1.9.x work.
11
- - Ruby development headers. This typically includes a file called "ruby.h"
12
- - A C compiler like GNU C (gcc)
13
- - Rake
14
- - Subversion (svn)
15
-
16
- If you want to build the documentation and install Emacs files, you'll
17
- also need:
18
-
19
- - a POSIX shell
20
- - autoconf
21
- - automake
22
- - GNU Make
23
- - texinfo
24
-
25
- 1. Basic package checkout and installation
26
-
27
- Check out the trunk of repository following the instructions at
28
- http://rubyforge.org/scm/?group_id=1900 For example on a Unixy system,
29
- this may work:
30
-
31
- mkdir ruby-debug
32
- cd ruby-debug
33
- svn checkout svn://rubyforge.org/var/svn/ruby-debug/trunk trunk
34
-
35
- In order to make the Ruby gems, ruby-debug and ruby-debug-base, get
36
- yourself into the trunk directory after the code has been checked out and run:
37
-
38
- cd trunk # This is the same trunk checked out above.
39
- rake package
40
-
41
- If all goes well you should have some gem files put in the directory
42
- pkg. Use the gem command to install that.
43
-
44
- sudo gem install ruby-debug-*.gem # See gem help for other possibilities
45
-
46
- If all goes well the rdebug script has been installed ruby-debug is
47
- now ready to run. But if everything goes well you might want to run
48
- the built-in regression tests to make sure everything is okay.
49
- See step 3 below.
50
-
51
- If the gem install didn't work,'t there may be a problem with your C
52
- compiler or the Ruby headers are not installed.
53
-
54
- 2. Trying out without installing.
55
-
56
- You don't have to build a gem file to try out ruby debug. In fact when
57
- developing new features for ruby-debug, developers often you want to
58
- try it out *before* installing. If you have a problem in the latter
59
- part of step 1 you may want to try this approach since we go into a
60
- little more detail as to what happens under the covers when you do the
61
- gem install.
62
-
63
- Run (from trunk)
64
- rake lib
65
-
66
- This creates a Makefile and builds the ruby-debug shared library. (On
67
- Unix the name is ruby_debug.so).
68
-
69
- Once this is done you can run the debugger as you would rdebug using the
70
- script rdbg.rb. For example (again from trunk)
71
-
72
- ./rdbg.rb ~/my-ruby-program.rb
73
-
74
- 3. Running the Regression tests
75
-
76
- We've put together some basic tests to make sure ruby-debug is doing
77
- what we think it should do. To run these (from trunk):
78
-
79
- rake test
80
-
81
- If you didn't build the ruby-debug shared library and skipped step 2,
82
- don't worry "rake test" will do step 2 for you. You should see a line that
83
- ends something like:
84
-
85
- Finished in 2.767579 seconds.
86
-
87
- 12 tests, 35 assertions, 0 failures, 0 errors
88
-
89
- The number of seconds, tests, and assertions may be different from the
90
- above. However you *should* see exactly "0 failures, 0 errors".
91
-
92
- 4. Building the documentation and testing/installing Emacs files
93
-
94
- Of course, I recommend you read the ruby-debug manual that comes with
95
- the package. If you have the prerequisites described above, run this
96
- once:
97
- sh ./autogen.sh
98
-
99
- Then run:
100
- ./configure
101
- make
102
- make test # Runs Emacs regression tests
103
- sudo make install # Or arrange to do this as root
104
-
105
-
106
- Microsoft Windows
107
-
108
- A problem here seems to be that the "One-click" install is compiled
109
- using Microsoft Visual Studio C 6 which is not sold anymore and is
110
- rather old.
111
-
112
- Instead I suggest building via mingw/msys.
113
- http://eigenclass.org/hiki.rb?cmd=view&p=cross+compiling+rcovrt&key=mingw has instructions on how to do. Some amendments to these instructions.
114
-
115
- First, those instructions are a little GNU/Linux centric. If you are
116
- using Ubuntu or Debian, then this should be the easiest to follow the
117
- instructions. On Ubuntu or Debian there is a mingw3 Debian
118
- package. Installing that will give you the cross compiler that is a
119
- prerequisite. Alternatively if you are running MS Windows I notice
120
- that cygwin also has a mingw package. Or possibly you could use MinGW
121
- directly. For other OS's you might have to build a cross-compiler,
122
- i.e. gcc which emits win32 code and can create a win32 DLL.
123
-
124
- After you have a cross compiler you need to download the Ruby source
125
- and basically build a ruby interpreter. The cross-compile.sh script
126
- works although when I downloaded it, it had lots of blank space at the
127
- beginning which will mess up the Unix magic interpretation. That is
128
- remove the blanks in front of "#/bin/sh"
129
-
130
- On my system, this script fails in running "make ruby" because the
131
- fake.rb that got created needed to have a small change:
132
-
133
- ALT_SEPARATOR = "\"; \
134
- should be
135
- ALT_SEPARATOR = "\\"; \
136
-
137
- After fixing this, run
138
- make ruby
139
- Also, I needed to run
140
- make rubyw
141
-
142
- And then "make install" as indicated.
143
-
144
- Once all of that's in place, the place you want be is in
145
- ruby-debug/trunk/ext/win32, not ruby-debug/ext.
146
-
147
- So let's say you've installed the cross-compiled install ruby in
148
- /usr/local/ruby-mingw32/. Here then are the commands to build ruby-debug-base-xxx-mswin32.gem
149
-
150
- cd .../ruby-debug/trunk/ext/win32
151
- ruby -I /usr/local/ruby-mingw32/lib/ruby/1.8/i386-mingw32 ../extconf.rb
152
- make # Not rake
153
- cd ../.. # back in ruby-debug/trunk
154
- rake win32_gem