hitimes 1.0.1-x86-mswin32-60 → 1.0.2-x86-mswin32-60

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/HISTORY CHANGED
@@ -1,16 +1,23 @@
1
1
  = Changelog
2
+ == Version 1.0.2 2009-06-28
3
+
4
+ * Fix bug with time.h on linode (reported by Roger Pack)
5
+ * Fix potential garbage collection issue with Interval class
6
+ * Windows gem is now a fat binary to support installing in 1.8 or 1.9 from the
7
+ same gem
8
+
2
9
  == Version 1.0.1 2009-06-12
3
10
 
4
11
  * Fix examples
5
- * performance tuning, new Metric classes are faster than old Timer class
12
+ * performance tuning, new Hitimes::Metric derived classes are faster than old Timer class
6
13
 
7
14
  == Version 1.0.0 2009-06-12
8
15
 
9
16
  * Major version bump with complete refactor of the metric collection API
10
17
  * 3 types of metrics now instead of just 1 Timer
11
- * ValueMetric
12
- * TimedMetric
13
- * TimedValueMetric
18
+ * Hitimes::ValueMetric
19
+ * Hitimes::TimedMetric
20
+ * Hitimes::TimedValueMetric
14
21
  * The ability to convert all metrics #to_hash
15
22
  * Updated documentation with examples using each metric type
16
23
 
@@ -23,7 +30,7 @@
23
30
 
24
31
  * Added new stat 'rate'
25
32
  * Added new stat method to_hash
26
- * Added MutexedStats class for threadsafe stats collection
33
+ * Added Hitimes::MutexedStats class for threadsafe stats collection
27
34
  - not needed when used in MRI 1.8.x
28
35
  * remove stale dependency on mkrf
29
36
 
@@ -41,7 +48,7 @@
41
48
  == Version 0.2.0
42
49
 
43
50
  * Performance improvements
44
- * Added Stats class
51
+ * Added Hitimes::Stats class
45
52
 
46
53
  == Version 0.1.0
47
54
 
data/Rakefile CHANGED
@@ -59,5 +59,8 @@ Rake.application.tasks.each do |t|
59
59
  if t.name =~ /:clobber/ then
60
60
  task :clobber => [t.name]
61
61
  end
62
+ if t.name =~ /:clean/ then
63
+ task :clean => [t.name]
64
+ end
62
65
  end
63
66
 
@@ -12,4 +12,10 @@ else
12
12
  end
13
13
  end
14
14
 
15
- create_makefile('hitimes_ext')
15
+ # put in a different location if on windows so we can have fat binaries
16
+ parent_dir = "hitimes"
17
+ if RUBY_PLATFORM =~ /(mswin|mingw)/i then
18
+ v = RUBY_VERSION.gsub(/\.\d$/,'')
19
+ parent_dir = File.join( parent_dir, v )
20
+ end
21
+ create_makefile("#{parent_dir}/hitimes_ext")
File without changes
@@ -2,11 +2,14 @@
2
2
 
3
3
  #include "hitimes_interval.h"
4
4
 
5
- #include <sys/time.h>
5
+ #include <time.h>
6
6
  #ifndef CLOCK_MONOTONIC
7
- # ifdef __linux__
8
- # include <linux/time.h>
9
- # endif
7
+ # include <sys/time.h>
8
+ # ifndef CLOCK_MONOTONIC
9
+ # ifdef __linux__
10
+ # include <linux/time.h>
11
+ # endif
12
+ # endif
10
13
  #endif
11
14
 
12
15
  hitimes_instant_t hitimes_get_current_instant( )
@@ -7,7 +7,7 @@
7
7
  * returns the conversion factor, this value is used to convert
8
8
  * the value from hitimes_get_current_instant() into seconds
9
9
  */
10
- double hitimes_instant_conversion_factor()
10
+ long double hitimes_instant_conversion_factor()
11
11
  {
12
12
  LARGE_INTEGER ticks_per_second;
13
13
  QueryPerformanceFrequency( &ticks_per_second );
@@ -16,10 +16,6 @@ VALUE cH_Interval; /* class Hitimes::Interval */
16
16
 
17
17
  VALUE hitimes_interval_free(hitimes_interval_t* i)
18
18
  {
19
- if ( Qnil != i->duration ) {
20
- rb_gc_unregister_address( &(i->duration) );
21
- i->duration = Qnil;
22
- }
23
19
  xfree( i );
24
20
  return Qnil;
25
21
  }
@@ -31,7 +27,7 @@ VALUE hitimes_interval_alloc(VALUE klass)
31
27
 
32
28
  i->start_instant = 0L;
33
29
  i->stop_instant = 0L;
34
- i->duration = Qnil;
30
+ i->duration = -1.0l;
35
31
 
36
32
  obj = Data_Wrap_Struct(klass, NULL, hitimes_interval_free, i);
37
33
  return obj;
@@ -50,7 +46,7 @@ VALUE hitimes_interval_now( VALUE self )
50
46
 
51
47
  i->start_instant = hitimes_get_current_instant( );
52
48
  i->stop_instant = 0L;
53
- i->duration = Qnil;
49
+ i->duration = -1.0l;
54
50
 
55
51
  obj = Data_Wrap_Struct(cH_Interval, NULL, hitimes_interval_free, i);
56
52
 
@@ -67,7 +63,7 @@ VALUE hitimes_interval_measure( VALUE self )
67
63
  {
68
64
  hitimes_instant_t before;
69
65
  hitimes_instant_t after;
70
- double duration;
66
+ long double duration;
71
67
 
72
68
  if ( !rb_block_given_p() ) {
73
69
  rb_raise(eH_Error, "No block given to Interval.measure" );
@@ -99,7 +95,7 @@ VALUE hitimes_interval_split( VALUE self )
99
95
 
100
96
  second->start_instant = first->stop_instant;
101
97
  second->stop_instant = 0L;
102
- second->duration = Qnil;
98
+ second->duration = -1.0l;
103
99
 
104
100
  obj = Data_Wrap_Struct(cH_Interval, NULL, hitimes_interval_free, second);
105
101
 
@@ -124,7 +120,7 @@ VALUE hitimes_interval_start( VALUE self )
124
120
  if ( 0L == i->start_instant ) {
125
121
  i->start_instant = hitimes_get_current_instant( );
126
122
  i->stop_instant = 0L;
127
- i->duration = Qnil;
123
+ i->duration = -1.0l;
128
124
 
129
125
  rc = Qtrue;
130
126
  }
@@ -152,13 +148,9 @@ VALUE hitimes_interval_stop( VALUE self )
152
148
  }
153
149
 
154
150
  if ( 0L == i->stop_instant ) {
155
- double d;
156
-
157
151
  i->stop_instant = hitimes_get_current_instant( );
158
- d = ( i->stop_instant - i->start_instant ) / HITIMES_INSTANT_CONVERSION_FACTOR;
159
- i->duration = rb_float_new( d );
160
- rb_gc_register_address( &(i->duration) );
161
- rc = i->duration;
152
+ i->duration = ( i->stop_instant - i->start_instant ) / HITIMES_INSTANT_CONVERSION_FACTOR;
153
+ rc = rb_float_new( i->duration );
162
154
  }
163
155
 
164
156
  return rc;
@@ -176,7 +168,6 @@ VALUE hitimes_interval_duration_so_far( VALUE self )
176
168
  {
177
169
  hitimes_interval_t *i;
178
170
  VALUE rc = Qfalse;
179
- double d;
180
171
 
181
172
  Data_Get_Struct( self, hitimes_interval_t, i );
182
173
  if ( 0L == i->start_instant ) {
@@ -184,6 +175,7 @@ VALUE hitimes_interval_duration_so_far( VALUE self )
184
175
  }
185
176
 
186
177
  if ( 0L == i->stop_instant ) {
178
+ long double d;
187
179
  hitimes_instant_t now = hitimes_get_current_instant( );
188
180
  d = ( now - i->start_instant ) / HITIMES_INSTANT_CONVERSION_FACTOR;
189
181
  rc = rb_float_new( d );
@@ -293,7 +285,6 @@ VALUE hitimes_interval_stop_instant( VALUE self )
293
285
  VALUE hitimes_interval_duration ( VALUE self )
294
286
  {
295
287
  hitimes_interval_t *i;
296
- double d;
297
288
 
298
289
  Data_Get_Struct( self, hitimes_interval_t, i );
299
290
 
@@ -301,22 +292,20 @@ VALUE hitimes_interval_duration ( VALUE self )
301
292
  * if stop has not yet been called, then return the amount of time so far
302
293
  */
303
294
  if ( 0L == i->stop_instant ) {
295
+ long double d;
304
296
  hitimes_instant_t now = hitimes_get_current_instant( );
305
297
  d = ( now - i->start_instant ) / HITIMES_INSTANT_CONVERSION_FACTOR;
306
298
  return rb_float_new( d );
307
- }
308
-
299
+ }
309
300
 
310
301
  /*
311
302
  * stop has been called, calculate the duration and save the result
312
303
  */
313
- if ( Qnil == i->duration ) {
314
- d = ( i->stop_instant - i->start_instant ) / HITIMES_INSTANT_CONVERSION_FACTOR;
315
- i->duration = rb_float_new( d );
316
- rb_gc_register_address( &(i->duration) );
304
+ if ( i->duration < 0.0 ) {
305
+ i->duration = ( i->stop_instant - i->start_instant ) / HITIMES_INSTANT_CONVERSION_FACTOR;
317
306
  }
318
307
 
319
- return i->duration;
308
+ return rb_float_new( i->duration );
320
309
  }
321
310
 
322
311
 
@@ -10,14 +10,14 @@
10
10
 
11
11
  #include <ruby.h>
12
12
 
13
- #define NANOSECONDS_PER_SECOND 1e9
13
+ #define NANOSECONDS_PER_SECOND 1e9l
14
14
 
15
15
  #ifdef USE_INSTANT_CLOCK_GETTIME
16
16
  # define HITIMES_U64INT unsigned long long int
17
- # define HITIMES_INSTANT_CONVERSION_FACTOR 1e9
17
+ # define HITIMES_INSTANT_CONVERSION_FACTOR 1e9l
18
18
  #elif USE_INSTANT_OSX
19
19
  # define HITIMES_U64INT unsigned long long int
20
- # define HITIMES_INSTANT_CONVERSION_FACTOR 1e9
20
+ # define HITIMES_INSTANT_CONVERSION_FACTOR 1e9l
21
21
  #elif USE_INSTANT_WINDOWS
22
22
  # define HITIMES_U64INT unsigned __int64
23
23
  # define HITIMES_INSTANT_CONVERSION_FACTOR hitimes_instant_conversion_factor()
@@ -34,12 +34,12 @@ typedef HITIMES_U64INT hitimes_instant_t;
34
34
  typedef struct hitimes_interval {
35
35
  hitimes_instant_t start_instant;
36
36
  hitimes_instant_t stop_instant;
37
- VALUE duration;
37
+ long double duration;
38
38
  } hitimes_interval_t;
39
39
 
40
40
  /* all the backends must define this method */
41
41
  hitimes_instant_t hitimes_get_current_instant( );
42
- double hitimes_instant_conversion_factor( );
42
+ long double hitimes_instant_conversion_factor( );
43
43
 
44
44
  /* init methods */
45
45
  void Init_hitimes_stats();
@@ -46,10 +46,11 @@ VALUE hitimes_stats_alloc(VALUE klass)
46
46
  */
47
47
  VALUE hitimes_stats_update( VALUE self, VALUE v )
48
48
  {
49
- double new_v = NUM2DBL( v );
49
+ long double new_v;
50
50
  hitimes_stats_t *stats;
51
51
 
52
52
  Data_Get_Struct( self, hitimes_stats_t, stats );
53
+ new_v = NUM2DBL( v );
53
54
 
54
55
  if ( 0 == stats->count ) {
55
56
  stats->min = new_v;
@@ -76,7 +77,7 @@ VALUE hitimes_stats_update( VALUE self, VALUE v )
76
77
  VALUE hitimes_stats_mean( VALUE self )
77
78
  {
78
79
  hitimes_stats_t *stats;
79
- double mean = 0.0;
80
+ long double mean = 0.0;
80
81
 
81
82
  Data_Get_Struct( self, hitimes_stats_t, stats );
82
83
 
@@ -106,7 +107,7 @@ VALUE hitimes_stats_mean( VALUE self )
106
107
  VALUE hitimes_stats_rate( VALUE self )
107
108
  {
108
109
  hitimes_stats_t *stats;
109
- double rate = 0.0;
110
+ long double rate = 0.0;
110
111
 
111
112
  Data_Get_Struct( self, hitimes_stats_t, stats );
112
113
 
@@ -210,7 +211,7 @@ VALUE hitimes_stats_sumsq( VALUE self )
210
211
  VALUE hitimes_stats_stddev ( VALUE self )
211
212
  {
212
213
  hitimes_stats_t *stats;
213
- double stddev = 0.0;
214
+ long double stddev = 0.0;
214
215
 
215
216
  Data_Get_Struct( self, hitimes_stats_t, stats );
216
217
  if ( stats->count > 1 ) {
@@ -18,11 +18,11 @@ extern VALUE cH_Stats; /* Hitimes::Stats */
18
18
 
19
19
 
20
20
  typedef struct hitimes_stats {
21
- double min;
22
- double max;
23
- double sum;
24
- double sumsq;
25
- long count;
21
+ long double min;
22
+ long double max;
23
+ long double sum;
24
+ long double sumsq;
25
+ long long count;
26
26
  } hitimes_stats_t;
27
27
 
28
28
  #endif
data/gemspec.rb CHANGED
@@ -24,6 +24,7 @@ Hitimes::GEM_SPEC = Gem::Specification.new do |spec|
24
24
  spec.add_dependency("configuration", " ~> 0.0.5")
25
25
 
26
26
  spec.add_development_dependency( "json", "~> 1.1.3")
27
+ spec.add_development_dependency( "rake-compiler", "~> 0.5.0")
27
28
 
28
29
  if ext_conf = Configuration.for_if_exist?("extension") then
29
30
  spec.extensions << ext_conf.configs
@@ -51,6 +52,6 @@ end
51
52
  Hitimes::GEM_SPEC_WIN = Hitimes::GEM_SPEC.clone
52
53
  Hitimes::GEM_SPEC_WIN.platform = ::Gem::Platform.new( "i386-mswin32_60" )
53
54
  Hitimes::GEM_SPEC_WIN.extensions = []
54
- Hitimes::GEM_SPEC_WIN.files += ["lib/hitimes_ext.so"]
55
+ Hitimes::GEM_SPEC_WIN.files += FileList["lib/hitimes/{1.8,1.9}/**.{dll,so}"].to_a
55
56
 
56
57
  Hitimes::SPECS = [ Hitimes::GEM_SPEC, Hitimes::GEM_SPEC_WIN ]
data/lib/hitimes.rb CHANGED
@@ -18,7 +18,13 @@ module Hitimes
18
18
  end
19
19
  require 'hitimes/paths'
20
20
  require 'hitimes/version'
21
- require 'hitimes_ext'
21
+
22
+ # support for fat binaries on windows
23
+ if RUBY_PLATFORM =~ /(mswin|mingw)/i
24
+ require "hitimes/#{RUBY_VERSION.sub(/\.\d$/,'')}/hitimes_ext"
25
+ else
26
+ require 'hitimes/hitimes_ext'
27
+ end
22
28
  require 'hitimes/stats'
23
29
  require 'hitimes/mutexed_stats'
24
30
  require 'hitimes/metric'
@@ -16,7 +16,7 @@ module Hitimes
16
16
  MINOR = 0
17
17
 
18
18
  # Build number
19
- BUILD = 1
19
+ BUILD = 2
20
20
 
21
21
  #
22
22
  # :call-seq:
@@ -1,6 +1,6 @@
1
1
  require File.expand_path( File.join( File.dirname( __FILE__ ), "spec_helper.rb" ) )
2
2
 
3
- require 'hitimes_ext'
3
+ require 'hitimes/hitimes_ext'
4
4
 
5
5
  describe Hitimes::Interval do
6
6
  it "has a 0 duration when newly created" do
@@ -85,13 +85,19 @@ describe Hitimes::Interval do
85
85
 
86
86
  end
87
87
 
88
- it "only calculates duration once after stop is called" do
88
+ it "duration does not change after stop is calledd" do
89
89
  i = Hitimes::Interval.new
90
90
  i.start
91
- i.stop
92
- x = i.duration
91
+ x = i.stop
93
92
  y = i.duration
94
- x.object_id.should == y.object_id
93
+ i.stop.should == false
94
+
95
+ z = i.duration
96
+
97
+ x.should == y
98
+ x.should == z
99
+
100
+ y.should == z
95
101
  end
96
102
 
97
103
  it "can return how much time has elapsed from the start without stopping the interval" do
@@ -1,6 +1,6 @@
1
1
  require File.expand_path( File.join( File.dirname( __FILE__ ), "spec_helper.rb" ) )
2
2
 
3
- require 'hitimes_ext'
3
+ require 'hitimes/hitimes_ext'
4
4
  require 'hitimes/mutexed_stats'
5
5
 
6
6
  describe Hitimes::MutexedStats do
@@ -65,12 +65,12 @@ describe Hitimes::TimedMetric do
65
65
 
66
66
  it "keeps track of the min value" do
67
67
  2.times { @tm.start ; sleep 0.05 ; @tm.stop }
68
- @tm.min.should be_close( 0.05, 0.001 )
68
+ @tm.min.should be_close( 0.05, 0.002 )
69
69
  end
70
70
 
71
71
  it "keeps track of the max value" do
72
72
  2.times { @tm.start ; sleep 0.05 ; @tm.stop }
73
- @tm.max.should be_close( 0.05, 0.001 )
73
+ @tm.max.should be_close( 0.05, 0.002 )
74
74
  end
75
75
 
76
76
  it "keeps track of the sum value" do
@@ -151,7 +151,7 @@ describe Hitimes::TimedValueMetric do
151
151
  it "has a rate" do
152
152
  5.times { |x| @tm.start ; sleep 0.05 ; @tm.stop( x ) }
153
153
  h = @tm.to_hash
154
- h['rate'].should be_close( 40.0, 0.2 )
154
+ h['rate'].should be_close( 40.0, 0.3 )
155
155
  end
156
156
 
157
157
  it "has a unit_count" do
data/tasks/config.rb CHANGED
@@ -27,7 +27,7 @@ Configuration.for('packaging') {
27
27
  proj_conf = Configuration.for('project')
28
28
  files {
29
29
  bin FileList["bin/*"]
30
- ext FileList["ext/*.{c,h,rb}"]
30
+ ext FileList["ext/hitimes/*.{c,h,rb}"]
31
31
  examples FileList["examples/*.rb"]
32
32
  lib FileList["lib/**/*.rb"]
33
33
  test FileList["spec/**/*.rb", "test/**/*.rb"]
@@ -92,6 +92,7 @@ Configuration.for('rdoc') {
92
92
  #-----------------------------------------------------------------------
93
93
  Configuration.for('extension') {
94
94
  configs Configuration.for('packaging').files.ext.find_all { |x| %w[ mkrf_conf.rb extconf.rb ].include?(File.basename(x)) }
95
+ cross_rbconfig YAML.load_file( File.expand_path("~/.rake-compiler/config.yml"))
95
96
  }
96
97
 
97
98
  #-----------------------------------------------------------------------
@@ -35,12 +35,25 @@ if pkg_config = Configuration.for_if_exist?("packaging") then
35
35
  task :reinstall => [:uninstall, :repackage, :install]
36
36
 
37
37
  desc "package up a windows gem"
38
- task :package_win => "ext:build_win" do
39
- cp "ext/hitimes_ext.so", "lib", :verbose => true
38
+ task :package_win => :clean do
39
+ Configuration.for("extension").cross_rbconfig.keys.each do |rbconfig|
40
+ v = rbconfig.split("-").last
41
+ s = v.sub(/\.\d$/,'')
42
+ sh "rake ext:build_win-#{v}"
43
+ mkdir_p "lib/hitimes/#{s}", :verbose => true
44
+ cp "ext/hitimes/hitimes_ext.so", "lib/hitimes/#{s}/", :verbose => true
45
+ end
46
+
40
47
  Gem::Builder.new( Hitimes::GEM_SPEC_WIN ).build
48
+ mkdir "pkg" unless File.directory?( 'pkg' )
41
49
  mv Dir["*.gem"].first, "pkg"
42
50
  end
43
51
 
52
+ task :clobber do
53
+ rm_rf "lib/hitimes/1.8"
54
+ rm_rf "lib/hitimes/1.9"
55
+ end
56
+
44
57
  desc "distribute copiously"
45
58
  task :copious => [:package, :package_win ] do
46
59
  gems = Hitimes::SPECS.collect { |s| "#{s.full_name}.gem" }
data/tasks/extension.rake CHANGED
@@ -8,41 +8,59 @@ require 'pathname'
8
8
  if ext_config = Configuration.for_if_exist?('extension') then
9
9
  namespace :ext do
10
10
  desc "Build the extension(s)"
11
- task :build do
11
+ task :build => :clean do
12
12
  Hitimes::GEM_SPEC.extensions.each do |extension|
13
13
  path = Pathname.new(extension)
14
14
  parts = path.split
15
15
  conf = parts.last
16
16
  Dir.chdir(path.dirname) do |d|
17
17
  ruby conf.to_s
18
- #sh "rake default"
19
18
  sh "make"
20
19
  end
21
20
  end
22
21
  end
23
22
 
24
- desc "Build the extension for windows"
25
- task :build_win => :clobber do
23
+ def build_win( version = "1.8.6" )
24
+ ext_config = Configuration.for("extension")
25
+ rbconfig = ext_config.cross_rbconfig["rbconfig-#{version}"]
26
+ raise ArgumentError, "No cross compiler for version #{version}, we have #{ext_config.cross_rbconfig.keys.join(",")}" unless rbconfig
27
+ ruby_exe = if version =~ /1\.8/ then
28
+ "ruby"
29
+ else
30
+ "ruby1.9"
31
+ end
26
32
  Hitimes::GEM_SPEC.extensions.each do |extension|
27
33
  path = Pathname.new(extension)
28
34
  parts = path.split
29
35
  conf = parts.last
30
36
  Dir.chdir(path.dirname) do |d|
31
- cp "rbconfig-mingw.rb", "rbconfig.rb"
32
- sh "ruby -I. extconf.rb"
37
+ cp "#{rbconfig}", "rbconfig.rb"
38
+ sh "#{ruby_exe} -I. extconf.rb"
33
39
  sh "make"
34
40
  end
35
41
  end
36
42
  end
37
43
 
44
+ win_builds = []
45
+ ext_config.cross_rbconfig.keys.each do |v|
46
+ s = v.split("-").last
47
+ desc "Build the extension for windows version #{s}"
48
+ win_bname = "build_win-#{s}"
49
+ win_builds << win_bname
50
+ task win_bname => :clean do
51
+ build_win( s )
52
+ end
53
+ end
54
+
38
55
  task :clean do
39
56
  ext_config.configs.each do |extension|
40
57
  path = Pathname.new(extension)
41
58
  parts = path.split
42
59
  conf = parts.last
43
60
  Dir.chdir(path.dirname) do |d|
44
- #sh "rake clean"
45
- sh "make clean"
61
+ if File.exist?( "Makefile" ) then
62
+ sh "make clean"
63
+ end
46
64
  end
47
65
  end
48
66
  end
@@ -53,10 +71,10 @@ if ext_config = Configuration.for_if_exist?('extension') then
53
71
  parts = path.split
54
72
  conf = parts.last
55
73
  Dir.chdir(path.dirname) do |d|
56
- #sh "rake clobber"
57
74
  if File.exist?( "Makefile" ) then
58
75
  sh "make distclean"
59
76
  end
77
+ rm_f "rbconfig.rb"
60
78
  end
61
79
  end
62
80
  end
data/tasks/rubyforge.rake CHANGED
@@ -31,6 +31,9 @@ if rf_conf = Configuration.for_if_exist?("rubyforge") then
31
31
 
32
32
  puts "Uploading to rubyforge..."
33
33
  files = FileList[File.join("pkg","#{Hitimes::GEM_SPEC.name}-#{Hitimes::VERSION}*.*")].to_a
34
+ files.each do |f|
35
+ puts " * #{f}"
36
+ end
34
37
  rubyforge.login
35
38
  rubyforge.add_release(Hitimes::GEM_SPEC.rubyforge_project, Hitimes::GEM_SPEC.name, Hitimes::VERSION, *files)
36
39
  puts "done."
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hitimes
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.0.2
5
5
  platform: x86-mswin32-60
6
6
  authors:
7
7
  - Jeremy Hinegardner
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-06-13 00:00:00 -06:00
12
+ date: 2009-06-28 00:00:00 -06:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -42,6 +42,16 @@ dependencies:
42
42
  - !ruby/object:Gem::Version
43
43
  version: 1.1.3
44
44
  version:
45
+ - !ruby/object:Gem::Dependency
46
+ name: rake-compiler
47
+ type: :development
48
+ version_requirement:
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ~>
52
+ - !ruby/object:Gem::Version
53
+ version: 0.5.0
54
+ version:
45
55
  description: "Hitimes is a fast, high resolution timer library for recording performance metrics. It uses the appropriate C method calls for each system to get the highest granularity time increments possible. It currently supports any of the following systems: * any system with the POSIX call <tt>clock_gettime()</tt>, * Mac OS X * Windows Using Hitimes can be faster than using a series of +Time.new+ calls, and it will have a much higher granularity. It is definitely faster than using +Process.times+."
46
56
  email: jeremy@copiousfreetime.org
47
57
  executables: []
@@ -61,26 +71,18 @@ extra_rdoc_files:
61
71
  - lib/hitimes/value_metric.rb
62
72
  - lib/hitimes/version.rb
63
73
  - lib/hitimes.rb
64
- - ext/hitimes_ext.c
65
- - ext/hitimes_instant_clock_gettime.c
66
- - ext/hitimes_instant_osx.c
67
- - ext/hitimes_instant_windows.c
68
- - ext/hitimes_interval.c
69
- - ext/hitimes_stats.c
70
74
  files:
71
75
  - examples/benchmarks.rb
72
76
  - examples/stats.rb
73
- - ext/hitimes_ext.c
74
- - ext/hitimes_instant_clock_gettime.c
75
- - ext/hitimes_instant_osx.c
76
- - ext/hitimes_instant_windows.c
77
- - ext/hitimes_interval.c
78
- - ext/hitimes_stats.c
79
- - ext/hitimes_interval.h
80
- - ext/hitimes_stats.h
81
- - ext/extconf.rb
82
- - ext/rbconfig-mingw.rb
83
- - ext/rbconfig.rb
77
+ - ext/hitimes/hitimes_ext.c
78
+ - ext/hitimes/hitimes_instant_clock_gettime.c
79
+ - ext/hitimes/hitimes_instant_osx.c
80
+ - ext/hitimes/hitimes_instant_windows.c
81
+ - ext/hitimes/hitimes_interval.c
82
+ - ext/hitimes/hitimes_stats.c
83
+ - ext/hitimes/hitimes_interval.h
84
+ - ext/hitimes/hitimes_stats.h
85
+ - ext/hitimes/extconf.rb
84
86
  - lib/hitimes/metric.rb
85
87
  - lib/hitimes/mutexed_stats.rb
86
88
  - lib/hitimes/paths.rb
@@ -113,7 +115,6 @@ files:
113
115
  - tasks/utils.rb
114
116
  - Rakefile
115
117
  - gemspec.rb
116
- - lib/hitimes_ext.so
117
118
  has_rdoc: true
118
119
  homepage: http://copiousfreetime.rubyforge.org/hitimes/
119
120
  post_install_message:
@@ -1,178 +0,0 @@
1
-
2
- # This file was created by mkconfig.rb when ruby was built. Any
3
- # changes made to this file will be lost the next time ruby is built.
4
-
5
- module Config
6
- RUBY_VERSION == "1.8.6" or
7
- raise "ruby lib version (1.8.6) doesn't match executable version (#{RUBY_VERSION})"
8
-
9
- TOPDIR = File.dirname(__FILE__).chomp!("/lib/ruby/1.8/i386-mingw32")
10
- DESTDIR = '' unless defined? DESTDIR
11
- CONFIG = {}
12
- CONFIG["DESTDIR"] = DESTDIR
13
- CONFIG["INSTALL"] = '/opt/local/bin/ginstall -c'
14
- CONFIG["prefix"] = (TOPDIR || DESTDIR + "#{ENV["HOME"]}/ruby-mingw32")
15
- CONFIG["EXEEXT"] = ".exe"
16
- CONFIG["ruby_install_name"] = "ruby"
17
- CONFIG["RUBY_INSTALL_NAME"] = "ruby"
18
- CONFIG["RUBY_SO_NAME"] = "msvcrt-ruby18"
19
- CONFIG["SHELL"] = "/bin/sh"
20
- CONFIG["PATH_SEPARATOR"] = ":"
21
- CONFIG["PACKAGE_NAME"] = ""
22
- CONFIG["PACKAGE_TARNAME"] = ""
23
- CONFIG["PACKAGE_VERSION"] = ""
24
- CONFIG["PACKAGE_STRING"] = ""
25
- CONFIG["PACKAGE_BUGREPORT"] = ""
26
- CONFIG["exec_prefix"] = "$(prefix)"
27
- CONFIG["bindir"] = "$(exec_prefix)/bin"
28
- CONFIG["sbindir"] = "$(exec_prefix)/sbin"
29
- CONFIG["libexecdir"] = "$(exec_prefix)/libexec"
30
- CONFIG["datarootdir"] = "$(prefix)/share"
31
- CONFIG["datadir"] = "$(datarootdir)"
32
- CONFIG["sysconfdir"] = "$(prefix)/etc"
33
- CONFIG["sharedstatedir"] = "$(prefix)/com"
34
- CONFIG["localstatedir"] = "$(prefix)/var"
35
- CONFIG["includedir"] = "$(prefix)/include"
36
- CONFIG["oldincludedir"] = "/usr/include"
37
- CONFIG["docdir"] = "$(datarootdir)/doc/$(PACKAGE)"
38
- CONFIG["infodir"] = "$(datarootdir)/info"
39
- CONFIG["htmldir"] = "$(docdir)"
40
- CONFIG["dvidir"] = "$(docdir)"
41
- CONFIG["pdfdir"] = "$(docdir)"
42
- CONFIG["psdir"] = "$(docdir)"
43
- CONFIG["libdir"] = "$(exec_prefix)/lib"
44
- CONFIG["localedir"] = "$(datarootdir)/locale"
45
- CONFIG["mandir"] = "$(datarootdir)/man"
46
- CONFIG["ECHO_C"] = ""
47
- CONFIG["ECHO_N"] = "-n"
48
- CONFIG["ECHO_T"] = ""
49
- CONFIG["LIBS"] = "-lwsock32 "
50
- CONFIG["build_alias"] = "i686-darwin9.2.2"
51
- CONFIG["host_alias"] = "i386-mingw32"
52
- CONFIG["target_alias"] = "i386-mingw32"
53
- CONFIG["MAJOR"] = "1"
54
- CONFIG["MINOR"] = "8"
55
- CONFIG["TEENY"] = "6"
56
- CONFIG["build"] = "i686-pc-darwin9.2.2"
57
- CONFIG["build_cpu"] = "i686"
58
- CONFIG["build_vendor"] = "pc"
59
- CONFIG["build_os"] = "darwin9.2.2"
60
- CONFIG["host"] = "i386-pc-mingw32"
61
- CONFIG["host_cpu"] = "i386"
62
- CONFIG["host_vendor"] = "pc"
63
- CONFIG["host_os"] = "mingw32"
64
- CONFIG["target"] = "i386-pc-mingw32"
65
- CONFIG["target_cpu"] = "i386"
66
- CONFIG["target_vendor"] = "pc"
67
- CONFIG["target_os"] = "mingw32"
68
- CONFIG["CC"] = "i386-mingw32-gcc"
69
- CONFIG["CFLAGS"] = "-g -O2 "
70
- CONFIG["LDFLAGS"] = "-L. "
71
- CONFIG["CPPFLAGS"] = ""
72
- CONFIG["OBJEXT"] = "o"
73
- CONFIG["CPP"] = "i386-mingw32-gcc -E"
74
- CONFIG["GREP"] = "/usr/bin/grep"
75
- CONFIG["EGREP"] = "/usr/bin/grep -E"
76
- CONFIG["GNU_LD"] = "yes"
77
- CONFIG["CPPOUTFILE"] = "-o conftest.i"
78
- CONFIG["OUTFLAG"] = "-o "
79
- CONFIG["YACC"] = "bison -y"
80
- CONFIG["YFLAGS"] = ""
81
- CONFIG["RANLIB"] = "i386-mingw32-ranlib"
82
- CONFIG["AR"] = "i386-mingw32-ar"
83
- CONFIG["AS"] = "i386-mingw32-as"
84
- CONFIG["ASFLAGS"] = ""
85
- CONFIG["NM"] = "i386-mingw32-nm"
86
- CONFIG["WINDRES"] = "i386-mingw32-windres"
87
- CONFIG["DLLWRAP"] = "i386-mingw32-dllwrap"
88
- CONFIG["OBJDUMP"] = "i386-mingw32-objdump"
89
- CONFIG["LN_S"] = "ln -s"
90
- CONFIG["SET_MAKE"] = ""
91
- CONFIG["INSTALL_PROGRAM"] = "$(INSTALL)"
92
- CONFIG["INSTALL_SCRIPT"] = "$(INSTALL)"
93
- CONFIG["INSTALL_DATA"] = "$(INSTALL) -m 644"
94
- CONFIG["RM"] = "rm -f"
95
- CONFIG["CP"] = "cp"
96
- CONFIG["MAKEDIRS"] = "mkdir -p"
97
- CONFIG["ALLOCA"] = ""
98
- CONFIG["DLDFLAGS"] = " -Wl,--enable-auto-image-base,--enable-auto-import,--export-all"
99
- CONFIG["ARCH_FLAG"] = ""
100
- CONFIG["STATIC"] = ""
101
- CONFIG["CCDLFLAGS"] = ""
102
- CONFIG["LDSHARED"] = "i386-mingw32-gcc -shared -s"
103
- CONFIG["DLEXT"] = "so"
104
- CONFIG["DLEXT2"] = "dll"
105
- CONFIG["LIBEXT"] = "a"
106
- CONFIG["LINK_SO"] = ""
107
- CONFIG["LIBPATHFLAG"] = " -L\"%s\""
108
- CONFIG["RPATHFLAG"] = ""
109
- CONFIG["LIBPATHENV"] = ""
110
- CONFIG["TRY_LINK"] = ""
111
- CONFIG["STRIP"] = "strip"
112
- CONFIG["EXTSTATIC"] = ""
113
- CONFIG["setup"] = "Setup"
114
- CONFIG["MINIRUBY"] = "ruby -I#{ENV['HOME']}/pkgs/ruby-1.8.6-p114 -rfake"
115
- CONFIG["PREP"] = "fake.rb"
116
- CONFIG["RUNRUBY"] = "$(MINIRUBY) -I`cd $(srcdir)/lib; pwd`"
117
- CONFIG["EXTOUT"] = ".ext"
118
- CONFIG["ARCHFILE"] = ""
119
- CONFIG["RDOCTARGET"] = ""
120
- CONFIG["XCFLAGS"] = " -DRUBY_EXPORT"
121
- CONFIG["XLDFLAGS"] = " -Wl,--stack,0x02000000"
122
- CONFIG["LIBRUBY_LDSHARED"] = "i386-mingw32-gcc -shared -s"
123
- CONFIG["LIBRUBY_DLDFLAGS"] = " -Wl,--enable-auto-image-base,--enable-auto-import,--export-all -Wl,--out-implib=$(LIBRUBY)"
124
- CONFIG["rubyw_install_name"] = "rubyw"
125
- CONFIG["RUBYW_INSTALL_NAME"] = "rubyw"
126
- CONFIG["LIBRUBY_A"] = "lib$(RUBY_SO_NAME)-static.a"
127
- CONFIG["LIBRUBY_SO"] = "$(RUBY_SO_NAME).dll"
128
- CONFIG["LIBRUBY_ALIASES"] = ""
129
- CONFIG["LIBRUBY"] = "lib$(LIBRUBY_SO).a"
130
- CONFIG["LIBRUBYARG"] = "$(LIBRUBYARG_SHARED)"
131
- CONFIG["LIBRUBYARG_STATIC"] = "-l$(RUBY_SO_NAME)-static"
132
- CONFIG["LIBRUBYARG_SHARED"] = "-l$(RUBY_SO_NAME)"
133
- CONFIG["SOLIBS"] = "$(LIBS)"
134
- CONFIG["DLDLIBS"] = ""
135
- CONFIG["ENABLE_SHARED"] = "yes"
136
- CONFIG["MAINLIBS"] = ""
137
- CONFIG["COMMON_LIBS"] = "m"
138
- CONFIG["COMMON_MACROS"] = ""
139
- CONFIG["COMMON_HEADERS"] = "windows.h winsock.h"
140
- CONFIG["EXPORT_PREFIX"] = ""
141
- CONFIG["MAKEFILES"] = "Makefile GNUmakefile"
142
- CONFIG["arch"] = "i386-mingw32"
143
- CONFIG["sitearch"] = "i386-msvcrt"
144
- CONFIG["sitedir"] = "$(prefix)/lib/ruby/site_ruby"
145
- CONFIG["configure_args"] = " '--host=i386-mingw32' '--target=i386-mingw32' '--build=i686-darwin9.2.2' '--prefix=#{ENV['HOME']}/ruby-mingw32' 'build_alias=i686-darwin9.2.2' 'host_alias=i386-mingw32' 'target_alias=i386-mingw32'"
146
- CONFIG["NROFF"] = "/usr/bin/nroff"
147
- CONFIG["MANTYPE"] = "doc"
148
- CONFIG["ruby_version"] = "$(MAJOR).$(MINOR)"
149
- CONFIG["rubylibdir"] = "$(libdir)/ruby/$(ruby_version)"
150
- CONFIG["archdir"] = "$(rubylibdir)/$(arch)"
151
- CONFIG["sitelibdir"] = "$(sitedir)/$(ruby_version)"
152
- CONFIG["sitearchdir"] = "$(sitelibdir)/$(sitearch)"
153
- CONFIG["topdir"] = File.dirname(__FILE__)
154
- MAKEFILE_CONFIG = {}
155
- CONFIG.each{|k,v| MAKEFILE_CONFIG[k] = v.dup}
156
- def Config::expand(val, config = CONFIG)
157
- val.gsub!(/\$\$|\$\(([^()]+)\)|\$\{([^{}]+)\}/) do |var|
158
- if !(v = $1 || $2)
159
- '$'
160
- elsif key = config[v = v[/\A[^:]+(?=(?::(.*?)=(.*))?\z)/]]
161
- pat, sub = $1, $2
162
- config[v] = false
163
- Config::expand(key, config)
164
- config[v] = key
165
- key = key.gsub(/#{Regexp.quote(pat)}(?=\s|\z)/n) {sub} if pat
166
- key
167
- else
168
- var
169
- end
170
- end
171
- val
172
- end
173
- CONFIG.each_value do |val|
174
- Config::expand(val)
175
- end
176
- end
177
- RbConfig = Config # compatibility for ruby-1.9
178
- CROSS_COMPILING = nil unless defined? CROSS_COMPILING
data/ext/rbconfig.rb DELETED
@@ -1,178 +0,0 @@
1
-
2
- # This file was created by mkconfig.rb when ruby was built. Any
3
- # changes made to this file will be lost the next time ruby is built.
4
-
5
- module Config
6
- RUBY_VERSION == "1.8.6" or
7
- raise "ruby lib version (1.8.6) doesn't match executable version (#{RUBY_VERSION})"
8
-
9
- TOPDIR = File.dirname(__FILE__).chomp!("/lib/ruby/1.8/i386-mingw32")
10
- DESTDIR = '' unless defined? DESTDIR
11
- CONFIG = {}
12
- CONFIG["DESTDIR"] = DESTDIR
13
- CONFIG["INSTALL"] = '/opt/local/bin/ginstall -c'
14
- CONFIG["prefix"] = (TOPDIR || DESTDIR + "#{ENV["HOME"]}/ruby-mingw32")
15
- CONFIG["EXEEXT"] = ".exe"
16
- CONFIG["ruby_install_name"] = "ruby"
17
- CONFIG["RUBY_INSTALL_NAME"] = "ruby"
18
- CONFIG["RUBY_SO_NAME"] = "msvcrt-ruby18"
19
- CONFIG["SHELL"] = "/bin/sh"
20
- CONFIG["PATH_SEPARATOR"] = ":"
21
- CONFIG["PACKAGE_NAME"] = ""
22
- CONFIG["PACKAGE_TARNAME"] = ""
23
- CONFIG["PACKAGE_VERSION"] = ""
24
- CONFIG["PACKAGE_STRING"] = ""
25
- CONFIG["PACKAGE_BUGREPORT"] = ""
26
- CONFIG["exec_prefix"] = "$(prefix)"
27
- CONFIG["bindir"] = "$(exec_prefix)/bin"
28
- CONFIG["sbindir"] = "$(exec_prefix)/sbin"
29
- CONFIG["libexecdir"] = "$(exec_prefix)/libexec"
30
- CONFIG["datarootdir"] = "$(prefix)/share"
31
- CONFIG["datadir"] = "$(datarootdir)"
32
- CONFIG["sysconfdir"] = "$(prefix)/etc"
33
- CONFIG["sharedstatedir"] = "$(prefix)/com"
34
- CONFIG["localstatedir"] = "$(prefix)/var"
35
- CONFIG["includedir"] = "$(prefix)/include"
36
- CONFIG["oldincludedir"] = "/usr/include"
37
- CONFIG["docdir"] = "$(datarootdir)/doc/$(PACKAGE)"
38
- CONFIG["infodir"] = "$(datarootdir)/info"
39
- CONFIG["htmldir"] = "$(docdir)"
40
- CONFIG["dvidir"] = "$(docdir)"
41
- CONFIG["pdfdir"] = "$(docdir)"
42
- CONFIG["psdir"] = "$(docdir)"
43
- CONFIG["libdir"] = "$(exec_prefix)/lib"
44
- CONFIG["localedir"] = "$(datarootdir)/locale"
45
- CONFIG["mandir"] = "$(datarootdir)/man"
46
- CONFIG["ECHO_C"] = ""
47
- CONFIG["ECHO_N"] = "-n"
48
- CONFIG["ECHO_T"] = ""
49
- CONFIG["LIBS"] = "-lwsock32 "
50
- CONFIG["build_alias"] = "i686-darwin9.2.2"
51
- CONFIG["host_alias"] = "i386-mingw32"
52
- CONFIG["target_alias"] = "i386-mingw32"
53
- CONFIG["MAJOR"] = "1"
54
- CONFIG["MINOR"] = "8"
55
- CONFIG["TEENY"] = "6"
56
- CONFIG["build"] = "i686-pc-darwin9.2.2"
57
- CONFIG["build_cpu"] = "i686"
58
- CONFIG["build_vendor"] = "pc"
59
- CONFIG["build_os"] = "darwin9.2.2"
60
- CONFIG["host"] = "i386-pc-mingw32"
61
- CONFIG["host_cpu"] = "i386"
62
- CONFIG["host_vendor"] = "pc"
63
- CONFIG["host_os"] = "mingw32"
64
- CONFIG["target"] = "i386-pc-mingw32"
65
- CONFIG["target_cpu"] = "i386"
66
- CONFIG["target_vendor"] = "pc"
67
- CONFIG["target_os"] = "mingw32"
68
- CONFIG["CC"] = "i386-mingw32-gcc"
69
- CONFIG["CFLAGS"] = "-g -O2 "
70
- CONFIG["LDFLAGS"] = "-L. "
71
- CONFIG["CPPFLAGS"] = ""
72
- CONFIG["OBJEXT"] = "o"
73
- CONFIG["CPP"] = "i386-mingw32-gcc -E"
74
- CONFIG["GREP"] = "/usr/bin/grep"
75
- CONFIG["EGREP"] = "/usr/bin/grep -E"
76
- CONFIG["GNU_LD"] = "yes"
77
- CONFIG["CPPOUTFILE"] = "-o conftest.i"
78
- CONFIG["OUTFLAG"] = "-o "
79
- CONFIG["YACC"] = "bison -y"
80
- CONFIG["YFLAGS"] = ""
81
- CONFIG["RANLIB"] = "i386-mingw32-ranlib"
82
- CONFIG["AR"] = "i386-mingw32-ar"
83
- CONFIG["AS"] = "i386-mingw32-as"
84
- CONFIG["ASFLAGS"] = ""
85
- CONFIG["NM"] = "i386-mingw32-nm"
86
- CONFIG["WINDRES"] = "i386-mingw32-windres"
87
- CONFIG["DLLWRAP"] = "i386-mingw32-dllwrap"
88
- CONFIG["OBJDUMP"] = "i386-mingw32-objdump"
89
- CONFIG["LN_S"] = "ln -s"
90
- CONFIG["SET_MAKE"] = ""
91
- CONFIG["INSTALL_PROGRAM"] = "$(INSTALL)"
92
- CONFIG["INSTALL_SCRIPT"] = "$(INSTALL)"
93
- CONFIG["INSTALL_DATA"] = "$(INSTALL) -m 644"
94
- CONFIG["RM"] = "rm -f"
95
- CONFIG["CP"] = "cp"
96
- CONFIG["MAKEDIRS"] = "mkdir -p"
97
- CONFIG["ALLOCA"] = ""
98
- CONFIG["DLDFLAGS"] = " -Wl,--enable-auto-image-base,--enable-auto-import,--export-all"
99
- CONFIG["ARCH_FLAG"] = ""
100
- CONFIG["STATIC"] = ""
101
- CONFIG["CCDLFLAGS"] = ""
102
- CONFIG["LDSHARED"] = "i386-mingw32-gcc -shared -s"
103
- CONFIG["DLEXT"] = "so"
104
- CONFIG["DLEXT2"] = "dll"
105
- CONFIG["LIBEXT"] = "a"
106
- CONFIG["LINK_SO"] = ""
107
- CONFIG["LIBPATHFLAG"] = " -L\"%s\""
108
- CONFIG["RPATHFLAG"] = ""
109
- CONFIG["LIBPATHENV"] = ""
110
- CONFIG["TRY_LINK"] = ""
111
- CONFIG["STRIP"] = "strip"
112
- CONFIG["EXTSTATIC"] = ""
113
- CONFIG["setup"] = "Setup"
114
- CONFIG["MINIRUBY"] = "ruby -I#{ENV['HOME']}/pkgs/ruby-1.8.6-p114 -rfake"
115
- CONFIG["PREP"] = "fake.rb"
116
- CONFIG["RUNRUBY"] = "$(MINIRUBY) -I`cd $(srcdir)/lib; pwd`"
117
- CONFIG["EXTOUT"] = ".ext"
118
- CONFIG["ARCHFILE"] = ""
119
- CONFIG["RDOCTARGET"] = ""
120
- CONFIG["XCFLAGS"] = " -DRUBY_EXPORT"
121
- CONFIG["XLDFLAGS"] = " -Wl,--stack,0x02000000"
122
- CONFIG["LIBRUBY_LDSHARED"] = "i386-mingw32-gcc -shared -s"
123
- CONFIG["LIBRUBY_DLDFLAGS"] = " -Wl,--enable-auto-image-base,--enable-auto-import,--export-all -Wl,--out-implib=$(LIBRUBY)"
124
- CONFIG["rubyw_install_name"] = "rubyw"
125
- CONFIG["RUBYW_INSTALL_NAME"] = "rubyw"
126
- CONFIG["LIBRUBY_A"] = "lib$(RUBY_SO_NAME)-static.a"
127
- CONFIG["LIBRUBY_SO"] = "$(RUBY_SO_NAME).dll"
128
- CONFIG["LIBRUBY_ALIASES"] = ""
129
- CONFIG["LIBRUBY"] = "lib$(LIBRUBY_SO).a"
130
- CONFIG["LIBRUBYARG"] = "$(LIBRUBYARG_SHARED)"
131
- CONFIG["LIBRUBYARG_STATIC"] = "-l$(RUBY_SO_NAME)-static"
132
- CONFIG["LIBRUBYARG_SHARED"] = "-l$(RUBY_SO_NAME)"
133
- CONFIG["SOLIBS"] = "$(LIBS)"
134
- CONFIG["DLDLIBS"] = ""
135
- CONFIG["ENABLE_SHARED"] = "yes"
136
- CONFIG["MAINLIBS"] = ""
137
- CONFIG["COMMON_LIBS"] = "m"
138
- CONFIG["COMMON_MACROS"] = ""
139
- CONFIG["COMMON_HEADERS"] = "windows.h winsock.h"
140
- CONFIG["EXPORT_PREFIX"] = ""
141
- CONFIG["MAKEFILES"] = "Makefile GNUmakefile"
142
- CONFIG["arch"] = "i386-mingw32"
143
- CONFIG["sitearch"] = "i386-msvcrt"
144
- CONFIG["sitedir"] = "$(prefix)/lib/ruby/site_ruby"
145
- CONFIG["configure_args"] = " '--host=i386-mingw32' '--target=i386-mingw32' '--build=i686-darwin9.2.2' '--prefix=#{ENV['HOME']}/ruby-mingw32' 'build_alias=i686-darwin9.2.2' 'host_alias=i386-mingw32' 'target_alias=i386-mingw32'"
146
- CONFIG["NROFF"] = "/usr/bin/nroff"
147
- CONFIG["MANTYPE"] = "doc"
148
- CONFIG["ruby_version"] = "$(MAJOR).$(MINOR)"
149
- CONFIG["rubylibdir"] = "$(libdir)/ruby/$(ruby_version)"
150
- CONFIG["archdir"] = "$(rubylibdir)/$(arch)"
151
- CONFIG["sitelibdir"] = "$(sitedir)/$(ruby_version)"
152
- CONFIG["sitearchdir"] = "$(sitelibdir)/$(sitearch)"
153
- CONFIG["topdir"] = File.dirname(__FILE__)
154
- MAKEFILE_CONFIG = {}
155
- CONFIG.each{|k,v| MAKEFILE_CONFIG[k] = v.dup}
156
- def Config::expand(val, config = CONFIG)
157
- val.gsub!(/\$\$|\$\(([^()]+)\)|\$\{([^{}]+)\}/) do |var|
158
- if !(v = $1 || $2)
159
- '$'
160
- elsif key = config[v = v[/\A[^:]+(?=(?::(.*?)=(.*))?\z)/]]
161
- pat, sub = $1, $2
162
- config[v] = false
163
- Config::expand(key, config)
164
- config[v] = key
165
- key = key.gsub(/#{Regexp.quote(pat)}(?=\s|\z)/n) {sub} if pat
166
- key
167
- else
168
- var
169
- end
170
- end
171
- val
172
- end
173
- CONFIG.each_value do |val|
174
- Config::expand(val)
175
- end
176
- end
177
- RbConfig = Config # compatibility for ruby-1.9
178
- CROSS_COMPILING = nil unless defined? CROSS_COMPILING
data/lib/hitimes_ext.so DELETED
Binary file