noderb-http 0.0.3 → 0.0.4
Sign up to get free protection for your applications and to get access to all the features.
- data/ext/noderb_http_extension/extconf.rb +2 -0
- data/ext/noderb_http_extension/noderb_http.c +24 -34
- data/lib/noderb/modules/http/version.rb +1 -1
- data/test/init.rb +7 -5
- metadata +40 -23
- data/ext/noderb_http_extension/Makefile +0 -187
- data/ext/noderb_http_extension/http_parser.o +0 -0
- data/ext/noderb_http_extension/noderb_http.o +0 -0
- data/ext/noderb_http_extension/noderb_http_extension.bundle +0 -0
@@ -1,73 +1,62 @@
|
|
1
1
|
#include <noderb_http.h>
|
2
2
|
|
3
3
|
typedef struct {
|
4
|
-
|
4
|
+
VALUE parser;
|
5
5
|
int pre_headers;
|
6
6
|
} nodeRb_http;
|
7
7
|
|
8
8
|
VALUE nodeRbHttpParser;
|
9
9
|
VALUE nodeRbHttpPointer;
|
10
10
|
|
11
|
-
VALUE nodeRb_get_object_from_id(long id) {
|
12
|
-
return rb_funcall(rb_const_get(rb_cObject, rb_intern("ObjectSpace")), rb_intern("_id2ref"), 1, rb_int2inum(id));
|
13
|
-
}
|
14
|
-
|
15
11
|
int nodeRb_http_on_message_begin(http_parser* parser) {
|
16
12
|
nodeRb_http* client = parser->data;
|
17
|
-
|
18
|
-
rb_funcall(self, rb_intern("on_message_begin"), 0);
|
13
|
+
rb_funcall(client->parser, rb_intern("on_message_begin"), 0);
|
19
14
|
return 0;
|
20
15
|
}
|
21
16
|
|
22
17
|
int nodeRb_http_on_url(http_parser* parser, const char *buf, size_t len) {
|
23
18
|
nodeRb_http* client = parser->data;
|
24
|
-
VALUE self = nodeRb_get_object_from_id(client->parser);
|
25
19
|
if(parser->type == HTTP_REQUEST){
|
26
|
-
rb_funcall(
|
20
|
+
rb_funcall(client->parser, rb_intern("on_method"), 1, rb_str_new2(http_method_str(parser->method)));
|
27
21
|
}
|
28
|
-
rb_funcall(
|
22
|
+
rb_funcall(client->parser, rb_intern("on_url"), 1, rb_str_new(buf, len));
|
29
23
|
return 0;
|
30
24
|
}
|
31
25
|
|
32
26
|
int nodeRb_http_on_header_field(http_parser* parser, const char *buf, size_t len) {
|
33
27
|
nodeRb_http* client = parser->data;
|
34
|
-
|
35
|
-
rb_funcall(self, rb_intern("on_header_field"), 1, rb_str_new(buf, len));
|
28
|
+
rb_funcall(client->parser, rb_intern("on_header_field"), 1, rb_str_new(buf, len));
|
36
29
|
return 0;
|
37
30
|
}
|
38
31
|
|
39
32
|
int nodeRb_http_on_header_value(http_parser* parser, const char *buf, size_t len) {
|
40
33
|
nodeRb_http* client = parser->data;
|
41
|
-
|
42
|
-
rb_funcall(self, rb_intern("on_header_value"), 1, rb_str_new(buf, len));
|
34
|
+
rb_funcall(client->parser, rb_intern("on_header_value"), 1, rb_str_new(buf, len));
|
43
35
|
return 0;
|
44
36
|
}
|
45
37
|
|
46
38
|
int nodeRb_http_on_headers_complete(http_parser* parser) {
|
47
39
|
nodeRb_http* client = parser->data;
|
48
|
-
|
49
|
-
rb_funcall(self, rb_intern("on_version"), 2, rb_int2inum(parser->http_major), rb_int2inum(parser->http_minor));
|
40
|
+
rb_funcall(client->parser, rb_intern("on_version"), 2, rb_int2inum(parser->http_major), rb_int2inum(parser->http_minor));
|
50
41
|
if(parser->type == HTTP_RESPONSE){
|
51
|
-
rb_funcall(
|
42
|
+
rb_funcall(client->parser, rb_intern("on_status_code"), 1, rb_int2inum(parser->status_code));
|
52
43
|
}
|
53
44
|
if (http_should_keep_alive(parser)) {
|
54
|
-
rb_funcall(
|
45
|
+
rb_funcall(client->parser, rb_intern("on_keep_alive"), 1, Qtrue);
|
55
46
|
}
|
56
|
-
rb_funcall(
|
47
|
+
rb_funcall(client->parser, rb_intern("on_headers_complete"), 0);
|
57
48
|
return 0;
|
58
49
|
}
|
59
50
|
|
60
51
|
int nodeRb_http_on_body(http_parser* parser, const char *buf, size_t len) {
|
61
52
|
nodeRb_http* client = parser->data;
|
62
|
-
|
63
|
-
rb_funcall(self, rb_intern("on_body"), 1, rb_str_new(buf, len));
|
53
|
+
rb_funcall(client->parser, rb_intern("on_body"), 1, rb_str_new(buf, len));
|
64
54
|
return 0;
|
65
55
|
}
|
66
56
|
|
67
57
|
int nodeRb_http_on_message_complete(http_parser* parser) {
|
68
58
|
nodeRb_http* client = parser->data;
|
69
|
-
|
70
|
-
rb_funcall(self, rb_intern("on_message_complete"), 0);
|
59
|
+
rb_funcall(client->parser, rb_intern("on_message_complete"), 0);
|
71
60
|
return 0;
|
72
61
|
}
|
73
62
|
|
@@ -96,12 +85,13 @@ VALUE nodeRb_http_setup(VALUE self, VALUE type) {
|
|
96
85
|
}
|
97
86
|
|
98
87
|
nodeRb_http* client = malloc(sizeof (nodeRb_http));
|
88
|
+
client->parser = self;
|
99
89
|
parser->data = client;
|
100
90
|
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
91
|
+
rb_iv_set(self, "settings", Data_Wrap_Struct(nodeRbHttpPointer, 0, NULL, settings));
|
92
|
+
rb_iv_set(self, "parser", Data_Wrap_Struct(nodeRbHttpPointer, 0, NULL, parser));
|
93
|
+
|
94
|
+
return self;
|
105
95
|
};
|
106
96
|
|
107
97
|
VALUE nodeRb_http_parse(VALUE self, VALUE data) {
|
@@ -109,15 +99,12 @@ VALUE nodeRb_http_parse(VALUE self, VALUE data) {
|
|
109
99
|
http_parser_settings* settings;
|
110
100
|
http_parser* parser;
|
111
101
|
|
112
|
-
VALUE rsettings = rb_iv_get(self, "
|
113
|
-
VALUE rparser = rb_iv_get(self, "
|
114
|
-
|
102
|
+
VALUE rsettings = rb_iv_get(self, "settings");
|
103
|
+
VALUE rparser = rb_iv_get(self, "parser");
|
115
104
|
|
116
105
|
Data_Get_Struct(rsettings, http_parser_settings, settings);
|
117
106
|
Data_Get_Struct(rparser, http_parser, parser);
|
118
107
|
|
119
|
-
nodeRb_http* client = parser->data;
|
120
|
-
|
121
108
|
size_t parsed = http_parser_execute(parser, settings, rb_string_value_cstr(&data), RSTRING_LEN(data));
|
122
109
|
|
123
110
|
if (parser->upgrade) {
|
@@ -125,18 +112,21 @@ VALUE nodeRb_http_parse(VALUE self, VALUE data) {
|
|
125
112
|
} else if (parsed != (unsigned) RSTRING_LEN(data)) {
|
126
113
|
rb_funcall(self, rb_intern("on_error"), 2, rb_str_new2(http_errno_name(parser->http_errno)), rb_str_new2(http_errno_description(parser->http_errno)));
|
127
114
|
};
|
115
|
+
|
116
|
+
return self;
|
128
117
|
};
|
129
118
|
|
130
119
|
VALUE nodeRb_http_dispose(VALUE self) {
|
131
120
|
http_parser_settings* settings;
|
132
121
|
http_parser* parser;
|
133
122
|
|
134
|
-
Data_Get_Struct(rb_iv_get(self, "
|
135
|
-
Data_Get_Struct(rb_iv_get(self, "
|
123
|
+
Data_Get_Struct(rb_iv_get(self, "settings"), http_parser_settings, settings);
|
124
|
+
Data_Get_Struct(rb_iv_get(self, "parser"), http_parser, parser);
|
136
125
|
|
137
126
|
free(parser->data);
|
138
127
|
free(settings);
|
139
128
|
free(parser);
|
129
|
+
return self;
|
140
130
|
};
|
141
131
|
|
142
132
|
void Init_noderb_http_extension() {
|
data/test/init.rb
CHANGED
@@ -1,10 +1,10 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
1
|
+
#$: << File.expand_path("../../ext/noderb_http_extension", __FILE__)
|
2
|
+
#$: << File.expand_path("../../lib", __FILE__)
|
3
|
+
require "rubygems"
|
4
4
|
require "noderb-http"
|
5
5
|
|
6
6
|
class TestParser
|
7
|
-
|
7
|
+
|
8
8
|
include NodeRb::Modules::Http::Parser
|
9
9
|
|
10
10
|
attr_accessor :headers, :version_major, :version_minor, :method, :url, :body, :keep_alive, :upgrade
|
@@ -41,6 +41,7 @@ Dir.glob(File.expand_path("../cases/*.rb", __FILE__)) do |file|
|
|
41
41
|
require file
|
42
42
|
end
|
43
43
|
|
44
|
+
puts "** Testing noderb-http"
|
44
45
|
failed = false
|
45
46
|
CASES.each do |test|
|
46
47
|
parser = TestParser.new
|
@@ -57,6 +58,7 @@ CASES.each do |test|
|
|
57
58
|
puts "** Test <#{test[:name]}> failed on #{result}" if result != "OK"
|
58
59
|
failed = true
|
59
60
|
end
|
61
|
+
parser.dispose
|
60
62
|
end
|
61
63
|
|
62
|
-
puts "** All test passed OK" unless failed
|
64
|
+
puts "** All test passed OK" unless failed
|
metadata
CHANGED
@@ -1,24 +1,33 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: noderb-http
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
hash: 23
|
5
5
|
prerelease:
|
6
|
+
segments:
|
7
|
+
- 0
|
8
|
+
- 0
|
9
|
+
- 4
|
10
|
+
version: 0.0.4
|
6
11
|
platform: ruby
|
7
|
-
authors:
|
12
|
+
authors:
|
8
13
|
- Marek Jelen
|
9
14
|
autorequire:
|
10
15
|
bindir: bin
|
11
16
|
cert_chain: []
|
12
|
-
|
17
|
+
|
18
|
+
date: 2011-10-01 00:00:00 Z
|
13
19
|
dependencies: []
|
20
|
+
|
14
21
|
description: Fast and full-featured HTTP parser.
|
15
|
-
email:
|
22
|
+
email:
|
16
23
|
- marek@jelen.biz
|
17
24
|
executables: []
|
18
|
-
|
25
|
+
|
26
|
+
extensions:
|
19
27
|
- ext/noderb_http_extension/extconf.rb
|
20
28
|
extra_rdoc_files: []
|
21
|
-
|
29
|
+
|
30
|
+
files:
|
22
31
|
- lib/noderb/modules/http/parser.rb
|
23
32
|
- lib/noderb/modules/http/version.rb
|
24
33
|
- lib/noderb/modules/http.rb
|
@@ -26,12 +35,8 @@ files:
|
|
26
35
|
- ext/noderb_http_extension/extconf.rb
|
27
36
|
- ext/noderb_http_extension/http_parser.c
|
28
37
|
- ext/noderb_http_extension/http_parser.h
|
29
|
-
- ext/noderb_http_extension/http_parser.o
|
30
|
-
- ext/noderb_http_extension/Makefile
|
31
38
|
- ext/noderb_http_extension/noderb_http.c
|
32
39
|
- ext/noderb_http_extension/noderb_http.h
|
33
|
-
- ext/noderb_http_extension/noderb_http.o
|
34
|
-
- ext/noderb_http_extension/noderb_http_extension.bundle
|
35
40
|
- test/cases/curl_get.rb
|
36
41
|
- test/cases/patch_request.rb
|
37
42
|
- test/cases/response.rb
|
@@ -41,26 +46,38 @@ files:
|
|
41
46
|
- README.md
|
42
47
|
homepage: http://github.com/noderb/noderb-http
|
43
48
|
licenses: []
|
49
|
+
|
44
50
|
post_install_message:
|
45
51
|
rdoc_options: []
|
46
|
-
|
52
|
+
|
53
|
+
require_paths:
|
47
54
|
- lib
|
48
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
55
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
49
56
|
none: false
|
50
|
-
requirements:
|
51
|
-
- -
|
52
|
-
- !ruby/object:Gem::Version
|
53
|
-
|
54
|
-
|
57
|
+
requirements:
|
58
|
+
- - ">="
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
hash: 3
|
61
|
+
segments:
|
62
|
+
- 0
|
63
|
+
version: "0"
|
64
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
55
65
|
none: false
|
56
|
-
requirements:
|
57
|
-
- -
|
58
|
-
- !ruby/object:Gem::Version
|
66
|
+
requirements:
|
67
|
+
- - ">="
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
hash: 23
|
70
|
+
segments:
|
71
|
+
- 1
|
72
|
+
- 3
|
73
|
+
- 6
|
59
74
|
version: 1.3.6
|
60
75
|
requirements: []
|
76
|
+
|
61
77
|
rubyforge_project:
|
62
|
-
rubygems_version: 1.8.
|
78
|
+
rubygems_version: 1.8.8
|
63
79
|
signing_key:
|
64
80
|
specification_version: 3
|
65
81
|
summary: Fast and full-featured HTTP parser
|
66
82
|
test_files: []
|
83
|
+
|
@@ -1,187 +0,0 @@
|
|
1
|
-
|
2
|
-
SHELL = /bin/sh
|
3
|
-
|
4
|
-
#### Start of system configuration section. ####
|
5
|
-
|
6
|
-
srcdir = .
|
7
|
-
topdir = /Users/marek/.rvm/rubies/ruby-1.9.2-p290/include/ruby-1.9.1
|
8
|
-
hdrdir = /Users/marek/.rvm/rubies/ruby-1.9.2-p290/include/ruby-1.9.1
|
9
|
-
arch_hdrdir = /Users/marek/.rvm/rubies/ruby-1.9.2-p290/include/ruby-1.9.1/$(arch)
|
10
|
-
VPATH = $(srcdir):$(arch_hdrdir)/ruby:$(hdrdir)/ruby
|
11
|
-
prefix = $(DESTDIR)/Users/marek/.rvm/rubies/ruby-1.9.2-p290
|
12
|
-
rubylibprefix = $(libdir)/$(RUBY_BASE_NAME)
|
13
|
-
exec_prefix = $(prefix)
|
14
|
-
vendorhdrdir = $(rubyhdrdir)/vendor_ruby
|
15
|
-
sitehdrdir = $(rubyhdrdir)/site_ruby
|
16
|
-
rubyhdrdir = $(includedir)/$(RUBY_BASE_NAME)-$(ruby_version)
|
17
|
-
vendordir = $(rubylibprefix)/vendor_ruby
|
18
|
-
sitedir = $(rubylibprefix)/site_ruby
|
19
|
-
ridir = $(datarootdir)/$(RI_BASE_NAME)
|
20
|
-
mandir = $(datarootdir)/man
|
21
|
-
localedir = $(datarootdir)/locale
|
22
|
-
libdir = $(exec_prefix)/lib
|
23
|
-
psdir = $(docdir)
|
24
|
-
pdfdir = $(docdir)
|
25
|
-
dvidir = $(docdir)
|
26
|
-
htmldir = $(docdir)
|
27
|
-
infodir = $(datarootdir)/info
|
28
|
-
docdir = $(datarootdir)/doc/$(PACKAGE)
|
29
|
-
oldincludedir = $(DESTDIR)/usr/include
|
30
|
-
includedir = $(prefix)/include
|
31
|
-
localstatedir = $(prefix)/var
|
32
|
-
sharedstatedir = $(prefix)/com
|
33
|
-
sysconfdir = $(prefix)/etc
|
34
|
-
datadir = $(datarootdir)
|
35
|
-
datarootdir = $(prefix)/share
|
36
|
-
libexecdir = $(exec_prefix)/libexec
|
37
|
-
sbindir = $(exec_prefix)/sbin
|
38
|
-
bindir = $(exec_prefix)/bin
|
39
|
-
rubylibdir = $(rubylibprefix)/$(ruby_version)
|
40
|
-
archdir = $(rubylibdir)/$(arch)
|
41
|
-
sitelibdir = $(sitedir)/$(ruby_version)
|
42
|
-
sitearchdir = $(sitelibdir)/$(sitearch)
|
43
|
-
vendorlibdir = $(vendordir)/$(ruby_version)
|
44
|
-
vendorarchdir = $(vendorlibdir)/$(sitearch)
|
45
|
-
|
46
|
-
CC = gcc
|
47
|
-
CXX = g++
|
48
|
-
LIBRUBY = $(LIBRUBY_SO)
|
49
|
-
LIBRUBY_A = lib$(RUBY_SO_NAME)-static.a
|
50
|
-
LIBRUBYARG_SHARED = -l$(RUBY_SO_NAME)
|
51
|
-
LIBRUBYARG_STATIC = -l$(RUBY_SO_NAME)-static
|
52
|
-
OUTFLAG = -o
|
53
|
-
COUTFLAG = -o
|
54
|
-
|
55
|
-
RUBY_EXTCONF_H =
|
56
|
-
cflags = $(optflags) $(debugflags) $(warnflags)
|
57
|
-
optflags = -O3
|
58
|
-
debugflags = -ggdb
|
59
|
-
warnflags = -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long
|
60
|
-
CFLAGS = -fno-common $(cflags) -fno-common -pipe
|
61
|
-
INCFLAGS = -I. -I$(arch_hdrdir) -I$(hdrdir)/ruby/backward -I$(hdrdir) -I$(srcdir)
|
62
|
-
DEFS =
|
63
|
-
CPPFLAGS = -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE $(DEFS) $(cppflags)
|
64
|
-
CXXFLAGS = $(CFLAGS) $(cxxflags)
|
65
|
-
ldflags = -L. -L/usr/local/lib
|
66
|
-
dldflags = -Wl,-undefined,dynamic_lookup -Wl,-multiply_defined,suppress -Wl,-flat_namespace
|
67
|
-
ARCH_FLAG =
|
68
|
-
DLDFLAGS = $(ldflags) $(dldflags)
|
69
|
-
LDSHARED = $(CC) -dynamic -bundle
|
70
|
-
LDSHAREDXX = $(CXX) -dynamic -bundle
|
71
|
-
AR = ar
|
72
|
-
EXEEXT =
|
73
|
-
|
74
|
-
RUBY_BASE_NAME = ruby
|
75
|
-
RUBY_INSTALL_NAME = ruby
|
76
|
-
RUBY_SO_NAME = ruby.1.9.1
|
77
|
-
arch = x86_64-darwin10.8.0
|
78
|
-
sitearch = $(arch)
|
79
|
-
ruby_version = 1.9.1
|
80
|
-
ruby = /Users/marek/.rvm/rubies/ruby-1.9.2-p290/bin/ruby
|
81
|
-
RUBY = $(ruby)
|
82
|
-
RM = rm -f
|
83
|
-
RM_RF = $(RUBY) -run -e rm -- -rf
|
84
|
-
RMDIRS = $(RUBY) -run -e rmdir -- -p
|
85
|
-
MAKEDIRS = /usr/local/bin/gmkdir -p
|
86
|
-
INSTALL = /usr/local/bin/ginstall -c
|
87
|
-
INSTALL_PROG = $(INSTALL) -m 0755
|
88
|
-
INSTALL_DATA = $(INSTALL) -m 644
|
89
|
-
COPY = cp
|
90
|
-
|
91
|
-
#### End of system configuration section. ####
|
92
|
-
|
93
|
-
preload =
|
94
|
-
|
95
|
-
libpath = . $(libdir)
|
96
|
-
LIBPATH = -L. -L$(libdir)
|
97
|
-
DEFFILE =
|
98
|
-
|
99
|
-
CLEANFILES = mkmf.log
|
100
|
-
DISTCLEANFILES =
|
101
|
-
DISTCLEANDIRS =
|
102
|
-
|
103
|
-
extout =
|
104
|
-
extout_prefix =
|
105
|
-
target_prefix =
|
106
|
-
LOCAL_LIBS =
|
107
|
-
LIBS = $(LIBRUBYARG_SHARED) -lpthread -ldl -lobjc
|
108
|
-
SRCS = http_parser.c noderb_http.c
|
109
|
-
OBJS = http_parser.o noderb_http.o
|
110
|
-
TARGET = noderb_http_extension
|
111
|
-
DLLIB = $(TARGET).bundle
|
112
|
-
EXTSTATIC =
|
113
|
-
STATIC_LIB =
|
114
|
-
|
115
|
-
BINDIR = $(bindir)
|
116
|
-
RUBYCOMMONDIR = $(sitedir)$(target_prefix)
|
117
|
-
RUBYLIBDIR = $(sitelibdir)$(target_prefix)
|
118
|
-
RUBYARCHDIR = $(sitearchdir)$(target_prefix)
|
119
|
-
HDRDIR = $(rubyhdrdir)/ruby$(target_prefix)
|
120
|
-
ARCHHDRDIR = $(rubyhdrdir)/$(arch)/ruby$(target_prefix)
|
121
|
-
|
122
|
-
TARGET_SO = $(DLLIB)
|
123
|
-
CLEANLIBS = $(TARGET).bundle
|
124
|
-
CLEANOBJS = *.o *.bak
|
125
|
-
|
126
|
-
all: $(DLLIB)
|
127
|
-
static: $(STATIC_LIB)
|
128
|
-
.PHONY: all install static install-so install-rb
|
129
|
-
.PHONY: clean clean-so clean-rb
|
130
|
-
|
131
|
-
clean-rb-default::
|
132
|
-
clean-rb::
|
133
|
-
clean-so::
|
134
|
-
clean: clean-so clean-rb-default clean-rb
|
135
|
-
@-$(RM) $(CLEANLIBS) $(CLEANOBJS) $(CLEANFILES)
|
136
|
-
|
137
|
-
distclean-rb-default::
|
138
|
-
distclean-rb::
|
139
|
-
distclean-so::
|
140
|
-
distclean: clean distclean-so distclean-rb-default distclean-rb
|
141
|
-
@-$(RM) Makefile $(RUBY_EXTCONF_H) conftest.* mkmf.log
|
142
|
-
@-$(RM) core ruby$(EXEEXT) *~ $(DISTCLEANFILES)
|
143
|
-
@-$(RMDIRS) $(DISTCLEANDIRS)
|
144
|
-
|
145
|
-
realclean: distclean
|
146
|
-
install: install-so install-rb
|
147
|
-
|
148
|
-
install-so: $(RUBYARCHDIR)
|
149
|
-
install-so: $(RUBYARCHDIR)/$(DLLIB)
|
150
|
-
$(RUBYARCHDIR)/$(DLLIB): $(DLLIB)
|
151
|
-
@-$(MAKEDIRS) $(@D)
|
152
|
-
$(INSTALL_PROG) $(DLLIB) $(@D)
|
153
|
-
install-rb: pre-install-rb install-rb-default
|
154
|
-
install-rb-default: pre-install-rb-default
|
155
|
-
pre-install-rb: Makefile
|
156
|
-
pre-install-rb-default: Makefile
|
157
|
-
$(RUBYARCHDIR):
|
158
|
-
$(MAKEDIRS) $@
|
159
|
-
|
160
|
-
site-install: site-install-so site-install-rb
|
161
|
-
site-install-so: install-so
|
162
|
-
site-install-rb: install-rb
|
163
|
-
|
164
|
-
.SUFFIXES: .c .m .cc .cxx .cpp .C .o
|
165
|
-
|
166
|
-
.cc.o:
|
167
|
-
$(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -c $<
|
168
|
-
|
169
|
-
.cxx.o:
|
170
|
-
$(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -c $<
|
171
|
-
|
172
|
-
.cpp.o:
|
173
|
-
$(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -c $<
|
174
|
-
|
175
|
-
.C.o:
|
176
|
-
$(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -c $<
|
177
|
-
|
178
|
-
.c.o:
|
179
|
-
$(CC) $(INCFLAGS) $(CPPFLAGS) $(CFLAGS) $(COUTFLAG)$@ -c $<
|
180
|
-
|
181
|
-
$(DLLIB): $(OBJS) Makefile
|
182
|
-
@-$(RM) $(@)
|
183
|
-
$(LDSHARED) -o $@ $(OBJS) $(LIBPATH) $(DLDFLAGS) $(LOCAL_LIBS) $(LIBS)
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
$(OBJS): $(hdrdir)/ruby.h $(hdrdir)/ruby/defines.h $(arch_hdrdir)/ruby/config.h
|
Binary file
|
Binary file
|
Binary file
|