bestliner 0.1.0

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.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 9bbcbfcd91bca699918d840ebc89558a5ea557d17ad08b63013e568414ea085f
4
+ data.tar.gz: afb98ed7a16d7049e71d133e43ec52c73cd867207825d079661b2b39accc9b21
5
+ SHA512:
6
+ metadata.gz: d63d5bcfde5a26e01f5372fe6eacc67daf9b2857e87de0be5f988e20becf8d024122903ddb8d380826450c83077798572d5da64134ccd65ee79a991f4619e2be
7
+ data.tar.gz: e5e7c6891a08cb18e27fd6674d931dc935840c214948a3b9ae4d4400b5e4237662eb78902eab44197c86b0af6bdfa3e0f66de556db35f083b0b8dd6be159a2ac
data/.gitignore ADDED
@@ -0,0 +1,15 @@
1
+ /.bundle
2
+ /.ruby-version
3
+ /.yardoc
4
+ /_site/
5
+ /_yardoc/
6
+ /coverage/
7
+ /doc/
8
+ /log/
9
+ /pkg/
10
+ /vendor/
11
+ /tmp/
12
+ *.so
13
+ *.dylib
14
+ *.swp
15
+ .*_history
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source "https://rubygems.org"
2
+
3
+ # Specify gem dependencies in bestliner.gemspec
4
+ gemspec
data/Gemfile.lock ADDED
@@ -0,0 +1,25 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ bestliner (0.1.0)
5
+
6
+ GEM
7
+ remote: https://rubygems.org/
8
+ specs:
9
+ rake (13.0.6)
10
+ rake-compiler (1.2.0)
11
+ rake
12
+ webrick (1.7.0)
13
+ yard (0.9.28)
14
+ webrick (~> 1.7.0)
15
+
16
+ PLATFORMS
17
+ x86_64-linux
18
+
19
+ DEPENDENCIES
20
+ bestliner!
21
+ rake-compiler
22
+ yard
23
+
24
+ BUNDLED WITH
25
+ 2.3.18
data/LICENSE ADDED
@@ -0,0 +1,36 @@
1
+ Bestliner is released under the 2-clause BSD license.
2
+
3
+ Bestliner
4
+
5
+ Copyright (c) 2022 Michael Camilleri <mike@inqk.net>
6
+
7
+ Bestline
8
+
9
+ Copyright (c) 2018-2021 Justine Tunney <jtunney@gmail.com>
10
+ Copyright (c) 2010-2016 Salvatore Sanfilippo <antirez@gmail.com>
11
+ Copyright (c) 2010-2013 Pieter Noordhuis <pcnoordhuis@gmail.com>
12
+
13
+ All rights reserved.
14
+
15
+ Redistribution and use in source and binary forms, with or without
16
+ modification, are permitted provided that the following conditions are
17
+ met:
18
+
19
+ * Redistributions of source code must retain the above copyright
20
+ notice, this list of conditions and the following disclaimer.
21
+
22
+ * Redistributions in binary form must reproduce the above copyright
23
+ notice, this list of conditions and the following disclaimer in the
24
+ documentation and/or other materials provided with the distribution.
25
+
26
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
27
+ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
28
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
29
+ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
30
+ HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
31
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
32
+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
33
+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
34
+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
35
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
36
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
data/README.md ADDED
@@ -0,0 +1,65 @@
1
+ # Bestliner
2
+
3
+ [![Gem Version][gem-badge]][gem-link]
4
+
5
+ [gem-badge]: https://badge.fury.io/rb/bestliner.svg
6
+ [gem-link]: https://rubygems.org/gems/bestliner
7
+
8
+ Bestliner is a Ruby wrapper around the [bestline library][bestline] by Justine
9
+ Tunney. The bestline library is written in portable ANSI C99 and provides
10
+ interactive pseudoteletypewriter command sessions using ANSI Standard X3.64
11
+ control sequences.
12
+
13
+ Bestliner supports Emacs-style editing shortcuts, a searchable history,
14
+ completion and hint support via callbacks and UTF-8 editing.
15
+
16
+ [bestline]: https://github.com/jart/bestline
17
+
18
+ ## Example
19
+
20
+ Here's a prompt that echos the input back to the user:
21
+
22
+ ```ruby
23
+ require "bestliner"
24
+
25
+ while line = Bestliner.bestline("> ") do
26
+ puts line
27
+ end
28
+ ```
29
+
30
+ The prompt includes Emacs-style shortcuts, a searchable history and UTF-8
31
+ editing all out of the box courtesy of the wrapped bestline library.
32
+
33
+ ## Installation
34
+
35
+ Bestliner is available as a gem:
36
+
37
+ ```shell
38
+ $ gem install bestliner
39
+ ```
40
+
41
+ ## Documentation
42
+
43
+ More information is available in the [docs][].
44
+
45
+ [docs]: https://rubydoc.info/github/pyrmont/bestliner
46
+
47
+ ## Bugs
48
+
49
+ Found a bug? I'd love to know about it. The best way is to report it in the
50
+ [Issues section][ghi] on GitHub.
51
+
52
+ [ghi]: https://github.com/pyrmont/bestliner/issues
53
+
54
+ ## Versioning
55
+
56
+ Bestliner uses [Semantic Versioning 2.0.0][sv2].
57
+
58
+ [sv2]: http://semver.org/
59
+
60
+ ## Licence
61
+
62
+ Bestliner is licensed under the BSD-2 licence. See [LICENSE][] for more
63
+ details.
64
+
65
+ [LICENSE]: https://github.com/pyrmont/bestliner/blob/master/LICENSE
data/Rakefile ADDED
@@ -0,0 +1,13 @@
1
+ require "bundler/gem_tasks"
2
+ require "rake/extensiontask"
3
+ require "yard"
4
+
5
+ Rake::ExtensionTask.new("bestliner") do |ext|
6
+ ext.lib_dir = "lib/bestliner"
7
+ end
8
+
9
+ YARD::Rake::YardocTask.new do |task|
10
+ task.files = ["lib/**/*.rb"]
11
+ end
12
+
13
+ task default: [:clean, :compile]
data/bestliner.gemspec ADDED
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "./lib/bestliner/version"
4
+
5
+ Gem::Specification.new do |s|
6
+ s.name = "bestliner"
7
+ s.summary = "Ruby wrapper for bestline, a C library for reading user input"
8
+ s.description = <<~eof
9
+ Bestliner is a Ruby wrapper around bestline, a C library for interactive
10
+ pseudoteletypewriter command sessions using ANSI Standard X3.64 control
11
+ sequences. Bestliner supports Emacs-style editing shortcuts, a searchable
12
+ history, completion and hint support via callbacks and UTF-8 editing.
13
+ eof
14
+ s.version = Bestliner::VERSION
15
+ s.author = "Michael Camilleri"
16
+ s.email = "mike@inqk.net"
17
+ s.homepage = "https://github.com/pyrmont/bestliner"
18
+ s.files = `git ls-files`.strip.split(/\s+/).reject {|f| f.match(%r{^test/}) }
19
+ s.require_paths = ["lib"]
20
+ s.license = "BSD-2"
21
+
22
+ s.add_development_dependency "rake-compiler"
23
+ s.add_development_dependency "yard"
24
+ end
@@ -0,0 +1,266 @@
1
+
2
+ SHELL = /bin/sh
3
+
4
+ # V=0 quiet, V=1 verbose. other values don't work.
5
+ V = 0
6
+ Q1 = $(V:1=)
7
+ Q = $(Q1:0=@)
8
+ ECHO1 = $(V:1=@ :)
9
+ ECHO = $(ECHO1:0=@ echo)
10
+ NULLCMD = :
11
+
12
+ #### Start of system configuration section. ####
13
+
14
+ srcdir = .
15
+ topdir = /usr/include/ruby-3.0.0
16
+ hdrdir = $(topdir)
17
+ arch_hdrdir = /usr/include/x86_64-linux-gnu/ruby-3.0.0
18
+ PATH_SEPARATOR = :
19
+ VPATH = $(srcdir):$(arch_hdrdir)/ruby:$(hdrdir)/ruby
20
+ prefix = $(DESTDIR)/usr
21
+ rubysitearchprefix = $(sitearchlibdir)/$(RUBY_BASE_NAME)
22
+ rubyarchprefix = $(archlibdir)/$(RUBY_BASE_NAME)
23
+ rubylibprefix = $(libdir)/$(RUBY_BASE_NAME)
24
+ exec_prefix = $(prefix)
25
+ vendorarchhdrdir = $(sitearchincludedir)/$(RUBY_VERSION_NAME)/vendor_ruby
26
+ sitearchhdrdir = $(sitearchincludedir)/$(RUBY_VERSION_NAME)/site_ruby
27
+ rubyarchhdrdir = $(archincludedir)/$(RUBY_VERSION_NAME)
28
+ vendorhdrdir = $(rubyhdrdir)/vendor_ruby
29
+ sitehdrdir = $(rubyhdrdir)/site_ruby
30
+ rubyhdrdir = $(includedir)/$(RUBY_VERSION_NAME)
31
+ vendorarchdir = $(rubysitearchprefix)/vendor_ruby/$(ruby_version)
32
+ vendorlibdir = $(vendordir)/$(ruby_version)
33
+ vendordir = $(rubylibprefix)/vendor_ruby
34
+ sitearchdir = $(DESTDIR)/usr/local/lib/x86_64-linux-gnu/site_ruby
35
+ sitelibdir = $(sitedir)/$(ruby_version)
36
+ sitedir = $(DESTDIR)/usr/local/lib/site_ruby
37
+ rubyarchdir = $(rubyarchprefix)/$(ruby_version)
38
+ rubylibdir = $(rubylibprefix)/$(ruby_version)
39
+ sitearchincludedir = $(includedir)/$(sitearch)
40
+ archincludedir = $(includedir)/$(arch)
41
+ sitearchlibdir = $(libdir)/$(sitearch)
42
+ archlibdir = $(libdir)/$(arch)
43
+ ridir = $(datarootdir)/$(RI_BASE_NAME)
44
+ mandir = $(datarootdir)/man
45
+ localedir = $(datarootdir)/locale
46
+ libdir = $(exec_prefix)/lib
47
+ psdir = $(docdir)
48
+ pdfdir = $(docdir)
49
+ dvidir = $(docdir)
50
+ htmldir = $(docdir)
51
+ infodir = $(datarootdir)/info
52
+ docdir = $(datarootdir)/doc/$(PACKAGE)
53
+ oldincludedir = $(DESTDIR)/usr/include
54
+ includedir = $(prefix)/include
55
+ runstatedir = $(DESTDIR)/var/run
56
+ localstatedir = $(DESTDIR)/var
57
+ sharedstatedir = $(prefix)/com
58
+ sysconfdir = $(DESTDIR)/etc
59
+ datadir = $(datarootdir)
60
+ datarootdir = $(prefix)/share
61
+ libexecdir = $(exec_prefix)/libexec
62
+ sbindir = $(exec_prefix)/sbin
63
+ bindir = $(exec_prefix)/bin
64
+ archdir = $(rubyarchdir)
65
+
66
+
67
+ CC_WRAPPER =
68
+ CC = x86_64-linux-gnu-gcc
69
+ CXX = x86_64-linux-gnu-g++
70
+ LIBRUBY = $(LIBRUBY_SO)
71
+ LIBRUBY_A = lib$(RUBY_SO_NAME)-static.a
72
+ LIBRUBYARG_SHARED = -l$(RUBY_SO_NAME)
73
+ LIBRUBYARG_STATIC = -l$(RUBY_SO_NAME)-static $(MAINLIBS)
74
+ empty =
75
+ OUTFLAG = -o $(empty)
76
+ COUTFLAG = -o $(empty)
77
+ CSRCFLAG = $(empty)
78
+
79
+ RUBY_EXTCONF_H =
80
+ cflags = $(optflags) $(debugflags) $(warnflags)
81
+ cxxflags =
82
+ optflags = -O3
83
+ debugflags = -ggdb3
84
+ warnflags = -Wall -Wextra -Wdeprecated-declarations -Wduplicated-cond -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wwrite-strings -Wimplicit-fallthrough=0 -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-packed-bitfield-compat -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wunused-variable
85
+ cppflags =
86
+ CCDLFLAGS = -fPIC
87
+ CFLAGS = $(CCDLFLAGS) -g -O2 -ffile-prefix-map=/build/ruby3.0-ENw8CZ/ruby3.0-3.0.4=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC $(ARCH_FLAG)
88
+ INCFLAGS = -I. -I$(arch_hdrdir) -I$(hdrdir)/ruby/backward -I$(hdrdir) -I$(srcdir)
89
+ DEFS =
90
+ CPPFLAGS = -DHAVE_BESTLINE_H -Wdate-time -D_FORTIFY_SOURCE=2 $(DEFS) $(cppflags)
91
+ CXXFLAGS = $(CCDLFLAGS) -g -O2 -ffile-prefix-map=/build/ruby3.0-ENw8CZ/ruby3.0-3.0.4=. -fstack-protector-strong -Wformat -Werror=format-security $(ARCH_FLAG)
92
+ ldflags = -L. -Wl,-z,relro -Wl,-z,now -fstack-protector-strong -rdynamic -Wl,-export-dynamic -Wl,--no-as-needed
93
+ dldflags = -Wl,-z,relro -Wl,-z,now
94
+ ARCH_FLAG =
95
+ DLDFLAGS = $(ldflags) $(dldflags) $(ARCH_FLAG)
96
+ LDSHARED = $(CC) -shared
97
+ LDSHAREDXX = $(CXX) -shared
98
+ AR = x86_64-linux-gnu-gcc-ar
99
+ EXEEXT =
100
+
101
+ RUBY_INSTALL_NAME = $(RUBY_BASE_NAME)3.0
102
+ RUBY_SO_NAME = ruby-3.0
103
+ RUBYW_INSTALL_NAME =
104
+ RUBY_VERSION_NAME = $(RUBY_BASE_NAME)-$(ruby_version)
105
+ RUBYW_BASE_NAME = rubyw
106
+ RUBY_BASE_NAME = ruby
107
+
108
+ arch = x86_64-linux-gnu
109
+ sitearch = $(arch)
110
+ ruby_version = 3.0.0
111
+ ruby = $(bindir)/$(RUBY_BASE_NAME)3.0
112
+ RUBY = $(ruby)
113
+ ruby_headers = $(hdrdir)/ruby.h $(hdrdir)/ruby/backward.h $(hdrdir)/ruby/ruby.h $(hdrdir)/ruby/defines.h $(hdrdir)/ruby/missing.h $(hdrdir)/ruby/intern.h $(hdrdir)/ruby/st.h $(hdrdir)/ruby/subst.h $(arch_hdrdir)/ruby/config.h
114
+
115
+ RM = rm -f
116
+ RM_RF = $(RUBY) -run -e rm -- -rf
117
+ RMDIRS = rmdir --ignore-fail-on-non-empty -p
118
+ MAKEDIRS = /bin/mkdir -p
119
+ INSTALL = /usr/bin/install -c
120
+ INSTALL_PROG = $(INSTALL) -m 0755
121
+ INSTALL_DATA = $(INSTALL) -m 644
122
+ COPY = cp
123
+ TOUCH = exit >
124
+
125
+ #### End of system configuration section. ####
126
+
127
+ preload =
128
+ libpath = . $(archlibdir)
129
+ LIBPATH = -L. -L$(archlibdir)
130
+ DEFFILE =
131
+
132
+ CLEANFILES = mkmf.log
133
+ DISTCLEANFILES =
134
+ DISTCLEANDIRS =
135
+
136
+ extout =
137
+ extout_prefix =
138
+ target_prefix = /bestliner
139
+ LOCAL_LIBS =
140
+ LIBS = $(LIBRUBYARG_SHARED) -lm -lc
141
+ ORIG_SRCS = bestline.c bestliner.c
142
+ SRCS = $(ORIG_SRCS)
143
+ OBJS = bestline.o bestliner.o
144
+ HDRS = $(srcdir)/bestline.h
145
+ LOCAL_HDRS =
146
+ TARGET = bestliner
147
+ TARGET_NAME = bestliner
148
+ TARGET_ENTRY = Init_$(TARGET_NAME)
149
+ DLLIB = $(TARGET).so
150
+ EXTSTATIC =
151
+ STATIC_LIB =
152
+
153
+ TIMESTAMP_DIR = .
154
+ BINDIR = $(bindir)
155
+ RUBYCOMMONDIR = $(sitedir)$(target_prefix)
156
+ RUBYLIBDIR = $(sitelibdir)$(target_prefix)
157
+ RUBYARCHDIR = $(sitearchdir)$(target_prefix)
158
+ HDRDIR = $(sitehdrdir)$(target_prefix)
159
+ ARCHHDRDIR = $(sitearchhdrdir)$(target_prefix)
160
+ TARGET_SO_DIR =
161
+ TARGET_SO = $(TARGET_SO_DIR)$(DLLIB)
162
+ CLEANLIBS = $(TARGET_SO)
163
+ CLEANOBJS = *.o *.bak
164
+
165
+ all: $(DLLIB)
166
+ static: $(STATIC_LIB)
167
+ .PHONY: all install static install-so install-rb
168
+ .PHONY: clean clean-so clean-static clean-rb
169
+
170
+ clean-static::
171
+ clean-rb-default::
172
+ clean-rb::
173
+ clean-so::
174
+ clean: clean-so clean-static clean-rb-default clean-rb
175
+ -$(Q)$(RM) $(CLEANLIBS) $(CLEANOBJS) $(CLEANFILES) .*.time
176
+
177
+ distclean-rb-default::
178
+ distclean-rb::
179
+ distclean-so::
180
+ distclean-static::
181
+ distclean: clean distclean-so distclean-static distclean-rb-default distclean-rb
182
+ -$(Q)$(RM) Makefile $(RUBY_EXTCONF_H) conftest.* mkmf.log
183
+ -$(Q)$(RM) core ruby$(EXEEXT) *~ $(DISTCLEANFILES)
184
+ -$(Q)$(RMDIRS) $(DISTCLEANDIRS) 2> /dev/null || true
185
+
186
+ realclean: distclean
187
+ install: install-so install-rb
188
+
189
+ install-so: $(DLLIB) $(TIMESTAMP_DIR)/.sitearchdir.-.bestliner.time
190
+ $(INSTALL_PROG) $(DLLIB) $(RUBYARCHDIR)
191
+ clean-static::
192
+ -$(Q)$(RM) $(STATIC_LIB)
193
+ install-rb: pre-install-rb do-install-rb install-rb-default
194
+ install-rb-default: pre-install-rb-default do-install-rb-default
195
+ pre-install-rb: Makefile
196
+ pre-install-rb-default: Makefile
197
+ do-install-rb:
198
+ do-install-rb-default:
199
+ pre-install-rb-default:
200
+ @$(NULLCMD)
201
+ $(TIMESTAMP_DIR)/.sitearchdir.-.bestliner.time:
202
+ $(Q) $(MAKEDIRS) $(@D) $(RUBYARCHDIR)
203
+ $(Q) $(TOUCH) $@
204
+
205
+ site-install: site-install-so site-install-rb
206
+ site-install-so: install-so
207
+ site-install-rb: install-rb
208
+
209
+ .SUFFIXES: .c .m .cc .mm .cxx .cpp .o .S
210
+
211
+ .cc.o:
212
+ $(ECHO) compiling $(<)
213
+ $(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -c $(CSRCFLAG)$<
214
+
215
+ .cc.S:
216
+ $(ECHO) translating $(<)
217
+ $(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -S $(CSRCFLAG)$<
218
+
219
+ .mm.o:
220
+ $(ECHO) compiling $(<)
221
+ $(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -c $(CSRCFLAG)$<
222
+
223
+ .mm.S:
224
+ $(ECHO) translating $(<)
225
+ $(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -S $(CSRCFLAG)$<
226
+
227
+ .cxx.o:
228
+ $(ECHO) compiling $(<)
229
+ $(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -c $(CSRCFLAG)$<
230
+
231
+ .cxx.S:
232
+ $(ECHO) translating $(<)
233
+ $(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -S $(CSRCFLAG)$<
234
+
235
+ .cpp.o:
236
+ $(ECHO) compiling $(<)
237
+ $(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -c $(CSRCFLAG)$<
238
+
239
+ .cpp.S:
240
+ $(ECHO) translating $(<)
241
+ $(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -S $(CSRCFLAG)$<
242
+
243
+ .c.o:
244
+ $(ECHO) compiling $(<)
245
+ $(Q) $(CC) $(INCFLAGS) $(CPPFLAGS) $(CFLAGS) $(COUTFLAG)$@ -c $(CSRCFLAG)$<
246
+
247
+ .c.S:
248
+ $(ECHO) translating $(<)
249
+ $(Q) $(CC) $(INCFLAGS) $(CPPFLAGS) $(CFLAGS) $(COUTFLAG)$@ -S $(CSRCFLAG)$<
250
+
251
+ .m.o:
252
+ $(ECHO) compiling $(<)
253
+ $(Q) $(CC) $(INCFLAGS) $(CPPFLAGS) $(CFLAGS) $(COUTFLAG)$@ -c $(CSRCFLAG)$<
254
+
255
+ .m.S:
256
+ $(ECHO) translating $(<)
257
+ $(Q) $(CC) $(INCFLAGS) $(CPPFLAGS) $(CFLAGS) $(COUTFLAG)$@ -S $(CSRCFLAG)$<
258
+
259
+ $(TARGET_SO): $(OBJS) Makefile
260
+ $(ECHO) linking shared-object bestliner/$(DLLIB)
261
+ -$(Q)$(RM) $(@)
262
+ $(Q) $(LDSHARED) -o $@ $(OBJS) $(LIBPATH) $(DLDFLAGS) $(LOCAL_LIBS) $(LIBS)
263
+
264
+
265
+
266
+ $(OBJS): $(HDRS) $(ruby_headers)