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 +13 -6
- data/Rakefile +3 -0
- data/ext/{extconf.rb → hitimes/extconf.rb} +7 -1
- data/ext/{hitimes_ext.c → hitimes/hitimes_ext.c} +0 -0
- data/ext/{hitimes_instant_clock_gettime.c → hitimes/hitimes_instant_clock_gettime.c} +7 -4
- data/ext/{hitimes_instant_osx.c → hitimes/hitimes_instant_osx.c} +0 -0
- data/ext/{hitimes_instant_windows.c → hitimes/hitimes_instant_windows.c} +1 -1
- data/ext/{hitimes_interval.c → hitimes/hitimes_interval.c} +13 -24
- data/ext/{hitimes_interval.h → hitimes/hitimes_interval.h} +5 -5
- data/ext/{hitimes_stats.c → hitimes/hitimes_stats.c} +5 -4
- data/ext/{hitimes_stats.h → hitimes/hitimes_stats.h} +5 -5
- data/gemspec.rb +2 -1
- data/lib/hitimes.rb +7 -1
- data/lib/hitimes/version.rb +1 -1
- data/spec/interval_spec.rb +11 -5
- data/spec/mutex_stats_spec.rb +1 -1
- data/spec/timed_metric_spec.rb +2 -2
- data/spec/timed_value_metric_spec.rb +1 -1
- data/tasks/config.rb +2 -1
- data/tasks/distribution.rake +15 -2
- data/tasks/extension.rake +27 -9
- data/tasks/rubyforge.rake +3 -0
- metadata +21 -20
- data/ext/rbconfig-mingw.rb +0 -178
- data/ext/rbconfig.rb +0 -178
- data/lib/hitimes_ext.so +0 -0
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
@@ -12,4 +12,10 @@ else
|
|
12
12
|
end
|
13
13
|
end
|
14
14
|
|
15
|
-
|
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 <
|
5
|
+
#include <time.h>
|
6
6
|
#ifndef CLOCK_MONOTONIC
|
7
|
-
#
|
8
|
-
#
|
9
|
-
#
|
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( )
|
File without changes
|
@@ -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 =
|
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 =
|
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
|
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 =
|
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 =
|
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
|
-
|
159
|
-
|
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 (
|
314
|
-
|
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
|
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
|
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
|
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
|
-
|
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
|
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
|
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
|
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
|
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/
|
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
|
-
|
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'
|
data/lib/hitimes/version.rb
CHANGED
data/spec/interval_spec.rb
CHANGED
@@ -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 "
|
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
|
-
|
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
|
data/spec/mutex_stats_spec.rb
CHANGED
data/spec/timed_metric_spec.rb
CHANGED
@@ -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.
|
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.
|
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.
|
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
|
#-----------------------------------------------------------------------
|
data/tasks/distribution.rake
CHANGED
@@ -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 =>
|
39
|
-
|
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
|
-
|
25
|
-
|
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
|
32
|
-
sh "
|
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
|
-
|
45
|
-
|
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.
|
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-
|
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:
|
data/ext/rbconfig-mingw.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/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
|