@@ -22,7 +22,7 @@ def make_resource(target, source, type)
22
22
end
23
23
end
24
24
25
- def patch_ruby_eval ( target , source )
25
+ def patch_rb_require ( target , source )
26
26
file target => source do
27
27
mkdir_p File . dirname ( target )
28
28
File . open ( target , 'w' ) do |dst |
@@ -104,34 +104,39 @@ end
104
104
ver = RUBY_VERSION . gsub ( '.' , '' )
105
105
exerb_dll_base = "exerb50"
106
106
107
- file_resource_dll_o = "tmp/resource_dll.o"
108
- file_resource_cui_o = "tmp/resource_cui.o"
109
- file_resource_gui_o = "tmp/resource_gui.o"
110
- file_exerb_def = "tmp/#{ exerb_dll_base } .def"
111
- file_exerb_lib = "tmp/#{ exerb_dll_base } .dll.a"
112
- file_exerb_rt_def = "tmp/#{ exerb_dll_base } _rt.def"
113
- file_exerb_dll = "data/exerb/#{ exerb_dll_base } .dll"
114
- file_ruby_cui = "data/exerb/ruby#{ ver } c.exc"
115
- file_ruby_cui_rt = "data/exerb/ruby#{ ver } crt.exc"
116
- file_ruby_gui = "data/exerb/ruby#{ ver } g.exc"
117
- file_ruby_gui_rt = "data/exerb/ruby#{ ver } grt.exc"
118
- file_eval_c = "src/mingw#{ ver } /eval.c"
119
- file_eval_exerb_c = "tmp/eval_exerb.c"
120
- file_eval_exerb_o = "tmp/eval_exerb.o"
121
- ruby_src = [ file_eval_exerb_c ]
122
- ruby_obj = [ file_eval_exerb_o ]
123
- ruby_lib = nil
107
+ file_resource_dll_o = "tmp/resource_dll.o"
108
+ file_resource_cui_o = "tmp/resource_cui.o"
109
+ file_resource_gui_o = "tmp/resource_gui.o"
110
+ file_exerb_def = "tmp/#{ exerb_dll_base } .def"
111
+ file_exerb_lib = "tmp/#{ exerb_dll_base } .dll.a"
112
+ file_exerb_rt_def = "tmp/#{ exerb_dll_base } _rt.def"
113
+ file_exerb_dll = "data/exerb/#{ exerb_dll_base } .dll"
114
+ file_ruby_cui = "data/exerb/ruby#{ ver } c.exc"
115
+ file_ruby_cui_rt = "data/exerb/ruby#{ ver } crt.exc"
116
+ file_ruby_gui = "data/exerb/ruby#{ ver } g.exc"
117
+ file_ruby_gui_rt = "data/exerb/ruby#{ ver } grt.exc"
118
+ file_eval_c = "src/mingw#{ ver } /eval.c"
119
+ file_eval_exerb_c = "tmp/eval_exerb.c"
120
+ file_eval_exerb_o = "tmp/eval_exerb.o"
121
+ file_variable_c = "src/mingw#{ ver } /variable.c"
122
+ file_variable_exerb_c = "tmp/variable_exerb.c"
123
+ file_variable_exerb_o = "tmp/variable_exerb.o"
124
+ ruby_src = [ file_eval_exerb_c , file_variable_exerb_c ]
125
+ ruby_obj = [ file_eval_exerb_o , file_variable_exerb_o ]
126
+ ruby_lib = nil
124
127
125
128
if RUBY_SRC_DIR
126
129
C . cflags = "-Os" # optimize for size
127
130
C . incflags = "#{ C . incflags } -I#{ RUBY_SRC_DIR } "
128
131
C . rubylib = ""
129
132
file_eval_c = "#{ RUBY_SRC_DIR } /eval.c"
133
+ file_variable_c = "#{ RUBY_SRC_DIR } /variable.c"
130
134
ruby_src = [ ]
131
135
Dir [ "#{ RUBY_SRC_DIR } /*.c" ] . each do |filename |
132
136
next if filename =~ /lex\. c/i
133
137
next if filename =~ /eval\. c/i
134
138
next if filename =~ /main\. c/i
139
+ next if filename =~ /variable\. c/i
135
140
ruby_src << filename
136
141
end
137
142
Dir [ "#{ RUBY_SRC_DIR } /win32/*.c" ] . each do |filename |
@@ -142,6 +147,7 @@ if RUBY_SRC_DIR
142
147
ruby_src << "#{ RUBY_SRC_DIR } /missing/#{ name } "
143
148
end
144
149
ruby_src << file_eval_exerb_c
150
+ ruby_src << file_variable_exerb_c
145
151
ruby_obj = ruby_src . map { |filename | filename . sub ( RUBY_SRC_DIR , 'tmp' ) . gsub ( /\. c\Z /i , '.o' ) }
146
152
ruby_lib = "tmp/libruby#{ ver } .a"
147
153
make_archive ruby_lib , ruby_obj
@@ -152,7 +158,8 @@ dll_sources = [file_resource_dll_o]
152
158
cui_sources = [ "src/exerb/cui.cpp" , file_resource_cui_o ]
153
159
gui_sources = [ "src/exerb/gui.cpp" , file_resource_gui_o ]
154
160
155
- patch_ruby_eval file_eval_exerb_c , file_eval_c
161
+ patch_rb_require file_eval_exerb_c , file_eval_c
162
+ patch_rb_require file_variable_exerb_c , file_variable_c
156
163
SyncEnumerator . new ( ruby_obj , ruby_src ) . each do |target , source |
157
164
compile_c target , source
158
165
end
0 commit comments