html-to-markdown 3.4.0.pre.rc.24 → 3.4.0.pre.rc.29

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.
Files changed (88) hide show
  1. checksums.yaml +4 -4
  2. data/Steepfile +0 -26
  3. data/ext/html_to_markdown_rb/Cargo.toml +10 -3
  4. data/ext/html_to_markdown_rb/Makefile +592 -0
  5. data/ext/html_to_markdown_rb/extconf.rb +1 -0
  6. data/ext/html_to_markdown_rb/native/Cargo.toml +9 -6
  7. data/ext/html_to_markdown_rb/src/lib.rs +961 -419
  8. data/lib/bin/html-to-markdown +0 -0
  9. data/lib/html_to_markdown/native.rb +21 -0
  10. data/lib/html_to_markdown/version.rb +6 -1
  11. data/lib/html_to_markdown.rb +7 -34
  12. data/sig/types.rbs +142 -302
  13. data/vendor/Cargo.toml +1 -1
  14. data/vendor/html-to-markdown-rs/Cargo.toml +2 -2
  15. data/vendor/html-to-markdown-rs/examples/basic.rs +1 -1
  16. data/vendor/html-to-markdown-rs/examples/table.rs +1 -1
  17. data/vendor/html-to-markdown-rs/examples/test_deser.rs +1 -1
  18. data/vendor/html-to-markdown-rs/examples/test_escape.rs +1 -1
  19. data/vendor/html-to-markdown-rs/examples/test_inline_formatting.rs +1 -1
  20. data/vendor/html-to-markdown-rs/examples/test_lists.rs +1 -1
  21. data/vendor/html-to-markdown-rs/examples/test_semantic_tags.rs +1 -1
  22. data/vendor/html-to-markdown-rs/examples/test_tables.rs +1 -1
  23. data/vendor/html-to-markdown-rs/examples/test_task_lists.rs +1 -1
  24. data/vendor/html-to-markdown-rs/examples/test_whitespace.rs +1 -1
  25. data/vendor/html-to-markdown-rs/src/convert_api.rs +13 -129
  26. data/vendor/html-to-markdown-rs/src/converter/block/horizontal_rule.rs +50 -1
  27. data/vendor/html-to-markdown-rs/src/converter/block/line_break.rs +53 -4
  28. data/vendor/html-to-markdown-rs/src/converter/block/table/builder.rs +1 -1
  29. data/vendor/html-to-markdown-rs/src/converter/block/table/cell.rs +1 -1
  30. data/vendor/html-to-markdown-rs/src/converter/block/table/mod.rs +3 -1
  31. data/vendor/html-to-markdown-rs/src/converter/block/unknown.rs +46 -0
  32. data/vendor/html-to-markdown-rs/src/converter/form/elements.rs +172 -6
  33. data/vendor/html-to-markdown-rs/src/converter/inline/semantic/marks.rs +133 -1
  34. data/vendor/html-to-markdown-rs/src/converter/inline/semantic/typography.rs +237 -2
  35. data/vendor/html-to-markdown-rs/src/converter/list/definition.rs +114 -13
  36. data/vendor/html-to-markdown-rs/src/converter/main.rs +39 -9
  37. data/vendor/html-to-markdown-rs/src/converter/media/embedded.rs +158 -3
  38. data/vendor/html-to-markdown-rs/src/converter/media/mod.rs +1 -1
  39. data/vendor/html-to-markdown-rs/src/converter/semantic/figure.rs +214 -18
  40. data/vendor/html-to-markdown-rs/src/converter/semantic/summary.rs +116 -14
  41. data/vendor/html-to-markdown-rs/src/converter/utility/preprocessing.rs +158 -1
  42. data/vendor/html-to-markdown-rs/src/lib.rs +5 -14
  43. data/vendor/html-to-markdown-rs/src/options/conversion.rs +27 -0
  44. data/vendor/html-to-markdown-rs/src/types/structure_collector.rs +47 -7
  45. data/vendor/html-to-markdown-rs/tests/br_in_inline_test.rs +1 -1
  46. data/vendor/html-to-markdown-rs/tests/commonmark_compliance_test.rs +1 -1
  47. data/vendor/html-to-markdown-rs/tests/djot_output_test.rs +1 -1
  48. data/vendor/html-to-markdown-rs/tests/exclude_selectors_test.rs +1 -5
  49. data/vendor/html-to-markdown-rs/tests/integration_test.rs +1 -1
  50. data/vendor/html-to-markdown-rs/tests/issue_121_regressions.rs +1 -1
  51. data/vendor/html-to-markdown-rs/tests/issue_127_regressions.rs +1 -1
  52. data/vendor/html-to-markdown-rs/tests/issue_128_regressions.rs +1 -1
  53. data/vendor/html-to-markdown-rs/tests/issue_131_regressions.rs +1 -1
  54. data/vendor/html-to-markdown-rs/tests/issue_134_regressions.rs +1 -1
  55. data/vendor/html-to-markdown-rs/tests/issue_139_regressions.rs +1 -1
  56. data/vendor/html-to-markdown-rs/tests/issue_140_regressions.rs +1 -1
  57. data/vendor/html-to-markdown-rs/tests/issue_143_regressions.rs +1 -1
  58. data/vendor/html-to-markdown-rs/tests/issue_145_regressions.rs +1 -1
  59. data/vendor/html-to-markdown-rs/tests/issue_146_regressions.rs +1 -1
  60. data/vendor/html-to-markdown-rs/tests/issue_176_regressions.rs +2 -2
  61. data/vendor/html-to-markdown-rs/tests/issue_190_regressions.rs +1 -1
  62. data/vendor/html-to-markdown-rs/tests/issue_199_regressions.rs +1 -1
  63. data/vendor/html-to-markdown-rs/tests/issue_200_regressions.rs +1 -1
  64. data/vendor/html-to-markdown-rs/tests/issue_212_regressions.rs +1 -1
  65. data/vendor/html-to-markdown-rs/tests/issue_216_217_regressions.rs +1 -1
  66. data/vendor/html-to-markdown-rs/tests/issue_339_regressions.rs +92 -0
  67. data/vendor/html-to-markdown-rs/tests/json_ld_script_extraction.rs +2 -2
  68. data/vendor/html-to-markdown-rs/tests/lists_test.rs +1 -1
  69. data/vendor/html-to-markdown-rs/tests/plain_output_test.rs +1 -1
  70. data/vendor/html-to-markdown-rs/tests/preprocessing_tests.rs +1 -1
  71. data/vendor/html-to-markdown-rs/tests/reference_links_test.rs +1 -1
  72. data/vendor/html-to-markdown-rs/tests/sectioning_elements_test.rs +2 -2
  73. data/vendor/html-to-markdown-rs/tests/skip_images_test.rs +1 -1
  74. data/vendor/html-to-markdown-rs/tests/tables_test.rs +2 -2
  75. data/vendor/html-to-markdown-rs/tests/test_custom_elements.rs +1 -1
  76. data/vendor/html-to-markdown-rs/tests/test_issue_187.rs +14 -2
  77. data/vendor/html-to-markdown-rs/tests/test_issue_218.rs +14 -2
  78. data/vendor/html-to-markdown-rs/tests/test_issue_277.rs +1 -1
  79. data/vendor/html-to-markdown-rs/tests/test_max_depth.rs +1 -1
  80. data/vendor/html-to-markdown-rs/tests/test_nested_simple.rs +1 -1
  81. data/vendor/html-to-markdown-rs/tests/test_script_style_stripping.rs +4 -4
  82. data/vendor/html-to-markdown-rs/tests/test_spa_bisect.rs +1 -1
  83. data/vendor/html-to-markdown-rs/tests/visitor_code_integration_test.rs +14 -2
  84. data/vendor/html-to-markdown-rs/tests/visitor_integration_test.rs +97 -5
  85. data/vendor/html-to-markdown-rs/tests/xml_tables_test.rs +1 -1
  86. metadata +5 -4
  87. data/ext/html_to_markdown_rb/src/html-to-markdown/version.rb +0 -10
  88. data/ext/html_to_markdown_rb/src/html-to-markdown.rb +0 -13
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: cfbb92e17806b9060844229df527e21e50d73fc4b9fc77cc284d34604d0f3366
4
- data.tar.gz: 67aa7ec1044ba815b0c708acd066d6ccbe40813f9e83787a2229baea8bb1e53b
3
+ metadata.gz: e293be0f0007a3b304bd36128892e89ea3b41b11aff5c6bd6ab5af148683b4d3
4
+ data.tar.gz: d49d9dfac3740285231777097171350270efb0a9f6fcde038d843440cf9cfbb1
5
5
  SHA512:
6
- metadata.gz: 322d903cd21e5dfff041ade2e81922b1771e343ea67c3b3749c30bc233c0226800dc98e80d355a5f3a74736101683c1e892c3b5b0348d96ea9699ee9ff6f391a
7
- data.tar.gz: '092d83f71e1e5c82921ac14866761e9427dd2f4a6db79475b19035bf11103754326a12ea69cb1364b0f1c94f3d1480782ff9aacc9946ee15d4989b5cbee6b89d'
6
+ metadata.gz: cd0bea8fe514aaab2c63f4d8981e05e12c8a3002769433b77a3c04759bb5baa9654cbb9b94be2b2fb09c3a7cc65e3d6338d338e0dbe4bb1d790e4d1be543d5a8
7
+ data.tar.gz: b02600088c3ad1d12710b310538d20206e8a7fa2585fca67d9d4e97a11e5998cab7d3ebe7a7e4349c1a75078ea8948547088a7a078877ddea2a2cb6147f94d74
data/Steepfile CHANGED
@@ -1,32 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Steepfile for type checking html-to-markdown Ruby gem
4
-
5
3
  target :lib do
6
4
  signature 'sig'
7
-
8
5
  check 'lib'
9
-
10
- configure_code_diagnostics do |hash|
11
- hash[Steep::Diagnostic::Ruby::UnannotatedEmptyCollection] = :hint
12
- hash[Steep::Diagnostic::Ruby::UnknownConstant] = :hint
13
- hash[Steep::Diagnostic::Ruby::NoMethod] = :hint
14
- end
15
-
16
- # Configure libraries
17
- library 'pathname'
18
- library 'open3'
19
-
20
- # Ignore vendor directory
21
- ignore 'vendor'
22
-
23
- # Ignore spec directory
24
- ignore 'spec'
25
-
26
- # Ignore bin directory
27
- ignore 'bin'
28
-
29
- # Ignore internal implementation modules (not public API)
30
- ignore 'lib/html_to_markdown/cli.rb'
31
- ignore 'lib/html_to_markdown/cli_proxy.rb'
32
6
  end
@@ -1,16 +1,23 @@
1
- [workspace]
2
1
 
3
2
  [package]
4
3
  name = "html-to-markdown-rb"
5
- version = "3.4.0-rc.24"
4
+ version = "3.4.0-rc.29"
6
5
  edition = "2024"
7
6
  license = "MIT"
7
+ [workspace]
8
+ exclude = ["native"]
8
9
 
9
10
  [lib]
10
11
  crate-type = ["cdylib"]
11
12
 
12
13
  [dependencies]
13
- html-to-markdown-rs = { path = "../../vendor/html-to-markdown-rs", features = ["full", "metadata", "visitor", "serde", "inline-images"] }
14
+ html-to-markdown-rs = { path = "../../vendor/html-to-markdown-rs", features = [
15
+ "full",
16
+ "metadata",
17
+ "visitor",
18
+ "serde",
19
+ "inline-images",
20
+ ] }
14
21
  magnus = "0.8"
15
22
  serde = { version = "1", features = ["derive"] }
16
23
  serde_json = "1"
@@ -0,0 +1,592 @@
1
+ RB_SYS_BUILD_DIR ?= /Users/naamanhirschfeld/workspace/kreuzberg-dev/html-to-markdown/packages/ruby/ext/html_to_markdown_rb/.rb-sys
2
+ CARGO ?= cargo
3
+ CARGO_BUILD_TARGET ?=
4
+ SOEXT ?= dylib
5
+
6
+
7
+ # Determine the prefix Cargo uses for the lib.
8
+ ifneq ($(SOEXT),dll)
9
+ SOEXT_PREFIX ?= lib
10
+ endif
11
+
12
+ RB_SYS_CARGO_PROFILE ?= release
13
+ RB_SYS_CARGO_FEATURES ?=
14
+ RB_SYS_GLOBAL_RUSTFLAGS ?=
15
+ RB_SYS_EXTRA_RUSTFLAGS ?=
16
+ RB_SYS_EXTRA_CARGO_ARGS ?=
17
+ RB_SYS_CARGO_MANIFEST_DIR ?= .
18
+
19
+ # Set dirname for the profile, since the profiles do not directly map to target dir (i.e. dev -> debug)
20
+ ifeq ($(RB_SYS_CARGO_PROFILE),dev)
21
+ RB_SYS_CARGO_PROFILE_DIR ?= debug
22
+ else
23
+ RB_SYS_CARGO_PROFILE_DIR ?= $(RB_SYS_CARGO_PROFILE)
24
+ endif
25
+
26
+ # Set the build profile (dev, release, etc.).
27
+ RB_SYS_CARGO_PROFILE_FLAG = --profile $(RB_SYS_CARGO_PROFILE)
28
+
29
+ # Account for sub-directories when using `--target` argument with Cargo
30
+ RB_SYS_CARGO_TARGET_DIR ?= target
31
+ ifneq ($(CARGO_BUILD_TARGET),)
32
+ RB_SYS_FULL_TARGET_DIR = $(RB_SYS_CARGO_TARGET_DIR)/$(CARGO_BUILD_TARGET)
33
+ else
34
+ RB_SYS_FULL_TARGET_DIR = $(RB_SYS_CARGO_TARGET_DIR)
35
+ endif
36
+
37
+ target_prefix =
38
+ TARGET_NAME = html_to_markdown_rb
39
+ TARGET_ENTRY = Init_$(TARGET_NAME)
40
+ RUBYARCHDIR = $(sitearchdir)$(target_prefix)
41
+ TARGET = html_to_markdown_rb
42
+ DLLIB = $(TARGET).bundle
43
+ RUSTLIBDIR = $(RB_SYS_FULL_TARGET_DIR)/$(RB_SYS_CARGO_PROFILE_DIR)
44
+ RUSTLIB = $(RUSTLIBDIR)/$(SOEXT_PREFIX)$(TARGET_NAME).$(SOEXT)
45
+ TIMESTAMP_DIR = .
46
+ POSTLINK = dsymutil $@ 2>/dev/null; { test -z '$(RUBY_CODESIGN)' || codesign -s '$(RUBY_CODESIGN)' $@; }
47
+
48
+ CLEANOBJS = $(RUSTLIBDIR) $(RB_SYS_BUILD_DIR)
49
+ CLEANLIBS = $(DLLIB) $(RUSTLIB)
50
+ RUBYGEMS_CLEAN_DIRS = $(CLEANOBJS) $(CLEANFILES) ./cargo-vendor
51
+
52
+
53
+ SHELL = /bin/sh
54
+
55
+ # V=0 quiet, V=1 verbose. other values don't work.
56
+ V = 0
57
+ V0 = $(V:0=)
58
+ Q1 = $(V:1=)
59
+ Q = $(Q1:0=@)
60
+ ECHO1 = $(V:1=@ :)
61
+ ECHO = $(ECHO1:0=@ echo)
62
+ NULLCMD = :
63
+
64
+ #### Start of system configuration section. ####
65
+
66
+ srcdir = .
67
+ topdir = /Users/naamanhirschfeld/.rbenv/versions/3.4.8/include/ruby-3.4.0
68
+ hdrdir = $(topdir)
69
+ arch_hdrdir = /Users/naamanhirschfeld/.rbenv/versions/3.4.8/include/ruby-3.4.0/arm64-darwin25
70
+ PATH_SEPARATOR = :
71
+ VPATH = $(srcdir):$(arch_hdrdir)/ruby:$(hdrdir)/ruby
72
+
73
+ prefix = $(DESTDIR)/Users/naamanhirschfeld/.rbenv/versions/3.4.8
74
+
75
+ rubysitearchprefix = $(rubylibprefix)/$(sitearch)
76
+
77
+ rubyarchprefix = $(rubylibprefix)/$(arch)
78
+
79
+ rubylibprefix = $(libdir)/$(RUBY_BASE_NAME)
80
+
81
+ exec_prefix = $(prefix)
82
+
83
+ vendorarchhdrdir = $(vendorhdrdir)/$(sitearch)
84
+
85
+ sitearchhdrdir = $(sitehdrdir)/$(sitearch)
86
+
87
+ rubyarchhdrdir = $(rubyhdrdir)/$(arch)
88
+
89
+ vendorhdrdir = $(rubyhdrdir)/vendor_ruby
90
+
91
+ sitehdrdir = $(rubyhdrdir)/site_ruby
92
+
93
+ rubyhdrdir = $(includedir)/$(RUBY_VERSION_NAME)
94
+
95
+ vendorarchdir = $(vendorlibdir)/$(sitearch)
96
+
97
+ vendorlibdir = $(vendordir)/$(ruby_version)
98
+
99
+ vendordir = $(rubylibprefix)/vendor_ruby
100
+
101
+ sitearchdir = $(sitelibdir)/$(sitearch)
102
+
103
+ sitelibdir = $(sitedir)/$(ruby_version)
104
+
105
+ sitedir = $(rubylibprefix)/site_ruby
106
+
107
+ rubyarchdir = $(rubylibdir)/$(arch)
108
+
109
+ rubylibdir = $(rubylibprefix)/$(ruby_version)
110
+
111
+ sitearchincludedir = $(includedir)/$(sitearch)
112
+
113
+ archincludedir = $(includedir)/$(arch)
114
+
115
+ sitearchlibdir = $(libdir)/$(sitearch)
116
+
117
+ archlibdir = $(libdir)/$(arch)
118
+
119
+ ridir = $(datarootdir)/$(RI_BASE_NAME)
120
+
121
+ modular_gc_dir = $(DESTDIR)
122
+
123
+ mandir = $(datarootdir)/man
124
+
125
+ localedir = $(datarootdir)/locale
126
+
127
+ libdir = $(exec_prefix)/lib
128
+
129
+ psdir = $(docdir)
130
+
131
+ pdfdir = $(docdir)
132
+
133
+ dvidir = $(docdir)
134
+
135
+ htmldir = $(docdir)
136
+
137
+ infodir = $(datarootdir)/info
138
+
139
+ docdir = $(datarootdir)/doc/$(PACKAGE)
140
+
141
+ oldincludedir = $(DESTDIR)/usr/include
142
+
143
+ includedir = $(SDKROOT)$(prefix)/include
144
+
145
+ runstatedir = $(localstatedir)/run
146
+
147
+ localstatedir = $(prefix)/var
148
+
149
+ sharedstatedir = $(prefix)/com
150
+
151
+ sysconfdir = $(prefix)/etc
152
+
153
+ datadir = $(datarootdir)
154
+
155
+ datarootdir = $(prefix)/share
156
+
157
+ libexecdir = $(exec_prefix)/libexec
158
+
159
+ sbindir = $(exec_prefix)/sbin
160
+
161
+ bindir = $(exec_prefix)/bin
162
+
163
+ archdir = $(rubyarchdir)
164
+
165
+
166
+
167
+ CC_WRAPPER =
168
+ CC = clang
169
+ CXX = clang++
170
+ LIBRUBY = $(LIBRUBY_SO)
171
+ LIBRUBY_A = lib$(RUBY_SO_NAME)-static.a
172
+ LIBRUBYARG_SHARED = -l$(RUBY_SO_NAME)
173
+ LIBRUBYARG_STATIC = -l$(RUBY_SO_NAME)-static -framework CoreFoundation $(MAINLIBS)
174
+ empty =
175
+ OUTFLAG = -o $(empty)
176
+ COUTFLAG = -o $(empty)
177
+ CSRCFLAG = $(empty)
178
+
179
+ RUBY_EXTCONF_H =
180
+ cflags = $(hardenflags) -fdeclspec $(optflags) $(debugflags) $(warnflags)
181
+ cxxflags =
182
+ optflags = -O3 -fno-fast-math
183
+ debugflags = -ggdb3
184
+ warnflags = -Wall -Wextra -Wextra-tokens -Wdeprecated-declarations -Wdivision-by-zero -Wdiv-by-zero -Wimplicit-function-declaration -Wimplicit-int -Wpointer-arith -Wshorten-64-to-32 -Wwrite-strings -Wold-style-definition -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wunused-variable -Wmisleading-indentation -Wundef
185
+ cppflags =
186
+ CCDLFLAGS = -fno-common
187
+ CFLAGS = $(CCDLFLAGS) $(cflags) -fno-common -pipe $(ARCH_FLAG)
188
+ INCFLAGS = -I. -I$(arch_hdrdir) -I$(hdrdir)/ruby/backward -I$(hdrdir) -I$(srcdir)
189
+ DEFS =
190
+ CPPFLAGS = -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT $(DEFS) $(cppflags)
191
+ CXXFLAGS = $(CCDLFLAGS) -fdeclspec $(ARCH_FLAG)
192
+ ldflags = -L. -fstack-protector-strong -L/opt/homebrew/Cellar/gmp/6.3.0/lib
193
+ dldflags = -L/opt/homebrew/Cellar/gmp/6.3.0/lib -Wl,-undefined,dynamic_lookup
194
+ ARCH_FLAG = -arch arm64
195
+ DLDFLAGS = $(ldflags) $(dldflags) $(ARCH_FLAG)
196
+ LDSHARED = $(CC) -dynamic -bundle
197
+ LDSHAREDXX = $(CXX) -dynamic -bundle
198
+ POSTLINK = dsymutil $@ 2>/dev/null; { test -z '$(RUBY_CODESIGN)' || codesign -s '$(RUBY_CODESIGN)' $@; }
199
+ AR = ar
200
+ LD = ld
201
+ EXEEXT =
202
+
203
+
204
+ RUBY_INSTALL_NAME = $(RUBY_BASE_NAME)
205
+
206
+ RUBY_SO_NAME = ruby.3.4
207
+
208
+ RUBYW_INSTALL_NAME =
209
+
210
+ RUBY_VERSION_NAME = $(RUBY_BASE_NAME)-$(ruby_version)
211
+
212
+ RUBYW_BASE_NAME = rubyw
213
+
214
+ RUBY_BASE_NAME = ruby
215
+
216
+
217
+ arch = arm64-darwin25
218
+ sitearch = $(arch)
219
+ ruby_version = 3.4.0
220
+ ruby = $(bindir)/$(RUBY_BASE_NAME)
221
+ RUBY = $(ruby)
222
+ BUILTRUBY = $(bindir)/$(RUBY_BASE_NAME)
223
+ 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
224
+
225
+ RM = rm -f
226
+ RM_RF = rm -fr
227
+ RMDIRS = rmdir -p
228
+ MAKEDIRS = /opt/homebrew/bin/gmkdir -p
229
+ INSTALL = /opt/homebrew/bin/ginstall -c
230
+ INSTALL_PROG = $(INSTALL) -m 0755
231
+ INSTALL_DATA = $(INSTALL) -m 644
232
+ COPY = cp
233
+ TOUCH = exit >
234
+
235
+ #### End of system configuration section. ####
236
+
237
+ preload =
238
+
239
+ CLEANFILES = mkmf.log
240
+ DISTCLEANFILES =
241
+
242
+ all static install-rb: Makefile
243
+ @$(NULLCMD)
244
+ .PHONY: all static install-rb
245
+ .PHONY: clean clean-so clean-static clean-rb
246
+
247
+
248
+
249
+ clean-static::
250
+ clean-rb-default::
251
+ clean-rb::
252
+ clean-so::
253
+ clean: clean-so clean-static clean-rb-default clean-rb
254
+ -$(Q)$(RM_RF) $(CLEANLIBS) $(CLEANOBJS) $(CLEANFILES) .*.time
255
+
256
+ distclean-rb-default::
257
+ distclean-rb::
258
+ distclean-so::
259
+ distclean-static::
260
+ distclean: clean distclean-so distclean-static distclean-rb-default distclean-rb
261
+ -$(Q)$(RM) Makefile $(RUBY_EXTCONF_H) conftest.* mkmf.log
262
+ -$(Q)$(RM) core ruby$(EXEEXT) *~ $(DISTCLEANFILES)
263
+ -$(Q)$(RMDIRS) $(DISTCLEANDIRS) 2> /dev/null || true
264
+
265
+ realclean: distclean
266
+
267
+
268
+ .PHONY: gemclean
269
+
270
+ ifneq ($(RB_SYS_VERBOSE),)
271
+ Q = $(0=@)
272
+ endif
273
+
274
+ CC = clang
275
+ CXX = clang++
276
+ AR = ar
277
+ export RBCONFIG_DESTDIR :=
278
+ export RBCONFIG_MAJOR := 3
279
+ export RBCONFIG_MINOR := 4
280
+ export RBCONFIG_TEENY := 8
281
+ export RBCONFIG_PATCHLEVEL := 72
282
+ export RBCONFIG_INSTALL := /opt/homebrew/bin/ginstall -c
283
+ export RBCONFIG_EXEEXT :=
284
+ export RBCONFIG_prefix := /Users/naamanhirschfeld/.rbenv/versions/3.4.8
285
+ export RBCONFIG_ruby_install_name := ruby
286
+ export RBCONFIG_RUBY_INSTALL_NAME := ruby
287
+ export RBCONFIG_RUBY_SO_NAME := ruby.3.4
288
+ export RBCONFIG_exec := exec
289
+ export RBCONFIG_ruby_pc := ruby-3.4.pc
290
+ export RBCONFIG_CC_WRAPPER :=
291
+ export RBCONFIG_PACKAGE := ruby
292
+ export RBCONFIG_BUILTIN_TRANSSRCS := enc/trans/newline.c
293
+ export RBCONFIG_MKMF_VERBOSE := 0
294
+ export RBCONFIG_MANTYPE := doc
295
+ export RBCONFIG_vendorarchhdrdir := /Users/naamanhirschfeld/.rbenv/versions/3.4.8/include/ruby-3.4.0/vendor_ruby/arm64-darwin25
296
+ export RBCONFIG_sitearchhdrdir := /Users/naamanhirschfeld/.rbenv/versions/3.4.8/include/ruby-3.4.0/site_ruby/arm64-darwin25
297
+ export RBCONFIG_rubyarchhdrdir := /Users/naamanhirschfeld/.rbenv/versions/3.4.8/include/ruby-3.4.0/arm64-darwin25
298
+ export RBCONFIG_vendorhdrdir := /Users/naamanhirschfeld/.rbenv/versions/3.4.8/include/ruby-3.4.0/vendor_ruby
299
+ export RBCONFIG_sitehdrdir := /Users/naamanhirschfeld/.rbenv/versions/3.4.8/include/ruby-3.4.0/site_ruby
300
+ export RBCONFIG_rubyhdrdir := /Users/naamanhirschfeld/.rbenv/versions/3.4.8/include/ruby-3.4.0
301
+ export RBCONFIG_RUBY_SEARCH_PATH :=
302
+ export RBCONFIG_UNIVERSAL_INTS :=
303
+ export RBCONFIG_UNIVERSAL_ARCHNAMES :=
304
+ export RBCONFIG_configure_args := '--prefix=/Users/naamanhirschfeld/.rbenv/versions/3.4.8' '--with-openssl-dir=/opt/homebrew/opt/openssl@3' '--enable-shared' '--with-libyaml-dir=/opt/homebrew/opt/libyaml' '--with-gmp-dir=/opt/homebrew/opt/gmp' '--with-ext=openssl,psych,+' 'CC=clang'
305
+ export RBCONFIG_CONFIGURE := configure
306
+ export RBCONFIG_vendorarchdir := /Users/naamanhirschfeld/.rbenv/versions/3.4.8/lib/ruby/vendor_ruby/3.4.0/arm64-darwin25
307
+ export RBCONFIG_vendorlibdir := /Users/naamanhirschfeld/.rbenv/versions/3.4.8/lib/ruby/vendor_ruby/3.4.0
308
+ export RBCONFIG_vendordir := /Users/naamanhirschfeld/.rbenv/versions/3.4.8/lib/ruby/vendor_ruby
309
+ export RBCONFIG_sitearchdir := /Users/naamanhirschfeld/.rbenv/versions/3.4.8/lib/ruby/site_ruby/3.4.0/arm64-darwin25
310
+ export RBCONFIG_sitelibdir := /Users/naamanhirschfeld/.rbenv/versions/3.4.8/lib/ruby/site_ruby/3.4.0
311
+ export RBCONFIG_sitedir := /Users/naamanhirschfeld/.rbenv/versions/3.4.8/lib/ruby/site_ruby
312
+ export RBCONFIG_rubyarchdir := /Users/naamanhirschfeld/.rbenv/versions/3.4.8/lib/ruby/3.4.0/arm64-darwin25
313
+ export RBCONFIG_rubylibdir := /Users/naamanhirschfeld/.rbenv/versions/3.4.8/lib/ruby/3.4.0
314
+ export RBCONFIG_ruby_version := 3.4.0
315
+ export RBCONFIG_sitearch := arm64-darwin25
316
+ export RBCONFIG_arch := arm64-darwin25
317
+ export RBCONFIG_sitearchincludedir := /Users/naamanhirschfeld/.rbenv/versions/3.4.8/include/arm64-darwin25
318
+ export RBCONFIG_archincludedir := /Users/naamanhirschfeld/.rbenv/versions/3.4.8/include/arm64-darwin25
319
+ export RBCONFIG_sitearchlibdir := /Users/naamanhirschfeld/.rbenv/versions/3.4.8/lib/arm64-darwin25
320
+ export RBCONFIG_archlibdir := /Users/naamanhirschfeld/.rbenv/versions/3.4.8/lib/arm64-darwin25
321
+ export RBCONFIG_libdirname := libdir
322
+ export RBCONFIG_RUBY_EXEC_PREFIX := /Users/naamanhirschfeld/.rbenv/versions/3.4.8
323
+ export RBCONFIG_RUBY_LIB_VERSION :=
324
+ export RBCONFIG_RUBY_LIB_VERSION_STYLE := 3 /* full */
325
+ export RBCONFIG_RI_BASE_NAME := ri
326
+ export RBCONFIG_ridir := /Users/naamanhirschfeld/.rbenv/versions/3.4.8/share/ri
327
+ export RBCONFIG_rubysitearchprefix := /Users/naamanhirschfeld/.rbenv/versions/3.4.8/lib/ruby/arm64-darwin25
328
+ export RBCONFIG_rubyarchprefix := /Users/naamanhirschfeld/.rbenv/versions/3.4.8/lib/ruby/arm64-darwin25
329
+ export RBCONFIG_MAKEFILES := Makefile GNUmakefile
330
+ export RBCONFIG_USE_LLVM_WINDRES :=
331
+ export RBCONFIG_PLATFORM_DIR :=
332
+ export RBCONFIG_COROUTINE_TYPE := arm64
333
+ export RBCONFIG_THREAD_MODEL := pthread
334
+ export RBCONFIG_SYMBOL_PREFIX := _
335
+ export RBCONFIG_EXPORT_PREFIX :=
336
+ export RBCONFIG_COMMON_HEADERS :=
337
+ export RBCONFIG_COMMON_MACROS :=
338
+ export RBCONFIG_COMMON_LIBS :=
339
+ export RBCONFIG_MAINLIBS := -lgmp -ldl -lobjc -lpthread
340
+ export RBCONFIG_ENABLE_SHARED := yes
341
+ export RBCONFIG_DLDSHARED := clang -dynamiclib
342
+ export RBCONFIG_DLDLIBS :=
343
+ export RBCONFIG_SOLIBS := -lgmp -ldl -lobjc -lpthread
344
+ export RBCONFIG_LIBRUBYARG_SHARED := -lruby.3.4
345
+ export RBCONFIG_LIBRUBYARG_STATIC := -lruby.3.4-static -framework CoreFoundation -lgmp -ldl -lobjc -lpthread
346
+ export RBCONFIG_LIBRUBYARG := -lruby.3.4
347
+ export RBCONFIG_LIBRUBY := libruby.3.4.dylib
348
+ export RBCONFIG_LIBRUBY_ALIASES := libruby.dylib
349
+ export RBCONFIG_LIBRUBY_SONAME := libruby.3.4.dylib
350
+ export RBCONFIG_LIBRUBY_SO := libruby.3.4.dylib
351
+ export RBCONFIG_LIBRUBY_A := libruby.3.4-static.a
352
+ export RBCONFIG_RUBYW_INSTALL_NAME :=
353
+ export RBCONFIG_rubyw_install_name :=
354
+ export RBCONFIG_EXTDLDFLAGS :=
355
+ export RBCONFIG_EXTLDFLAGS :=
356
+ export RBCONFIG_hardenflags := -fstack-protector-strong -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2
357
+ export RBCONFIG_strict_warnflags :=
358
+ export RBCONFIG_warnflags := -Wall -Wextra -Wextra-tokens -Wdeprecated-declarations -Wdivision-by-zero -Wdiv-by-zero -Wimplicit-function-declaration -Wimplicit-int -Wpointer-arith -Wshorten-64-to-32 -Wwrite-strings -Wold-style-definition -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wunused-variable -Wmisleading-indentation -Wundef
359
+ export RBCONFIG_debugflags := -ggdb3
360
+ export RBCONFIG_optflags := -O3 -fno-fast-math
361
+ export RBCONFIG_NULLCMD := :
362
+ export RBCONFIG_ENABLE_DEBUG_ENV :=
363
+ export RBCONFIG_DLNOBJ := dln.o
364
+ export RBCONFIG_RJIT_SUPPORT := yes
365
+ export RBCONFIG_YJIT_OBJ := yjit.o
366
+ export RBCONFIG_YJIT_LIBS := yjit/target/release/libyjit.a
367
+ export RBCONFIG_CARGO_BUILD_ARGS :=
368
+ export RBCONFIG_YJIT_SUPPORT := yes
369
+ export RBCONFIG_CARGO :=
370
+ export RBCONFIG_RUSTC := rustc
371
+ export RBCONFIG_INSTALL_STATIC_LIBRARY := no
372
+ export RBCONFIG_modular_gc_dir :=
373
+ export RBCONFIG_EXECUTABLE_EXTS :=
374
+ export RBCONFIG_ARCHFILE :=
375
+ export RBCONFIG_LIBRUBY_RELATIVE := no
376
+ export RBCONFIG_EXTOUT := .ext
377
+ export RBCONFIG_PREP := miniruby
378
+ export RBCONFIG_CROSS_COMPILING := no
379
+ export RBCONFIG_TEST_RUNNABLE := yes
380
+ export RBCONFIG_rubylibprefix := /Users/naamanhirschfeld/.rbenv/versions/3.4.8/lib/ruby
381
+ export RBCONFIG_setup := Setup
382
+ export RBCONFIG_SOEXT := dylib
383
+ export RBCONFIG_TRY_LINK :=
384
+ export RBCONFIG_PRELOADENV := DYLD_INSERT_LIBRARIES
385
+ export RBCONFIG_LIBPATHENV := DYLD_LIBRARY_PATH
386
+ export RBCONFIG_RPATHFLAG :=
387
+ export RBCONFIG_LIBPATHFLAG := -L%s
388
+ export RBCONFIG_LINK_SO := \ndsymutil $@ 2>/dev/null; { test -z '$(RUBY_CODESIGN)' || codesign -s '$(RUBY_CODESIGN)' $@; }
389
+ export RBCONFIG_ADDITIONAL_DLDFLAGS :=
390
+ export RBCONFIG_ENCSTATIC :=
391
+ export RBCONFIG_EXTSTATIC :=
392
+ export RBCONFIG_ASMEXT := S
393
+ export RBCONFIG_LIBEXT := a
394
+ export RBCONFIG_DLEXT := bundle
395
+ export RBCONFIG_LDSHAREDXX := clang++ -dynamic -bundle
396
+ export RBCONFIG_LDSHARED := clang -dynamic -bundle
397
+ export RBCONFIG_CCDLFLAGS := -fno-common
398
+ export RBCONFIG_STATIC :=
399
+ export RBCONFIG_ARCH_FLAG := -arch arm64
400
+ export RBCONFIG_DLDFLAGS := -L/opt/homebrew/Cellar/gmp/6.3.0/lib -Wl,-undefined,dynamic_lookup
401
+ export RBCONFIG_ALLOCA :=
402
+ export RBCONFIG_EGREP := /usr/bin/grep -E
403
+ export RBCONFIG_GREP := /usr/bin/grep
404
+ export RBCONFIG_dsymutil := dsymutil
405
+ export RBCONFIG_codesign := codesign
406
+ export RBCONFIG_cleanlibs := $(TARGET_SO:=.dSYM)
407
+ export RBCONFIG_POSTLINK := dsymutil $@ 2>/dev/null; { test -z '$(RUBY_CODESIGN)' || codesign -s '$(RUBY_CODESIGN)' $@; }
408
+ export RBCONFIG_incflags := -I/opt/homebrew/Cellar/gmp/6.3.0/include
409
+ export RBCONFIG_WERRORFLAG := -Werror
410
+ export RBCONFIG_RUBY_DEVEL :=
411
+ export RBCONFIG_CHDIR := cd -P
412
+ export RBCONFIG_RMALL := rm -fr
413
+ export RBCONFIG_RMDIRS := rmdir -p
414
+ export RBCONFIG_RMDIR := rmdir
415
+ export RBCONFIG_CP := cp
416
+ export RBCONFIG_RM := rm -f
417
+ export RBCONFIG_PKG_CONFIG := pkg-config
418
+ export RBCONFIG_DOXYGEN :=
419
+ export RBCONFIG_DOT :=
420
+ export RBCONFIG_MKDIR_P := /opt/homebrew/bin/gmkdir -p
421
+ export RBCONFIG_INSTALL_DATA := /opt/homebrew/bin/ginstall -c -m 644
422
+ export RBCONFIG_INSTALL_SCRIPT := /opt/homebrew/bin/ginstall -c
423
+ export RBCONFIG_INSTALL_PROGRAM := /opt/homebrew/bin/ginstall -c
424
+ export RBCONFIG_SET_MAKE :=
425
+ export RBCONFIG_LN_S := ln -s
426
+ export RBCONFIG_DLLWRAP :=
427
+ export RBCONFIG_WINDRES :=
428
+ export RBCONFIG_ARFLAGS := rcu
429
+ export RBCONFIG_try_header :=
430
+ export RBCONFIG_CC_VERSION_MESSAGE := Apple clang version 17.0.0 (clang-1700.6.3.2)\nTarget: arm64-apple-darwin25.3.0\nThread model: posix\nInstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
431
+ export RBCONFIG_CC_VERSION := clang --version
432
+ export RBCONFIG_CSRCFLAG :=
433
+ export RBCONFIG_COUTFLAG := -o
434
+ export RBCONFIG_OUTFLAG := -o
435
+ export RBCONFIG_CPPOUTFILE := -o conftest.i
436
+ export RBCONFIG_GNU_LD := no
437
+ export RBCONFIG_GCC := yes
438
+ export RBCONFIG_CPP := clang -E
439
+ export RBCONFIG_CXXFLAGS := -fdeclspec
440
+ export RBCONFIG_OBJEXT := o
441
+ export RBCONFIG_CPPFLAGS := -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT
442
+ export RBCONFIG_LDFLAGS := -L. -fstack-protector-strong -L/opt/homebrew/Cellar/gmp/6.3.0/lib
443
+ export RBCONFIG_CFLAGS := -fstack-protector-strong -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fdeclspec -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wextra-tokens -Wdeprecated-declarations -Wdivision-by-zero -Wdiv-by-zero -Wimplicit-function-declaration -Wimplicit-int -Wpointer-arith -Wshorten-64-to-32 -Wwrite-strings -Wold-style-definition -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wunused-variable -Wmisleading-indentation -Wundef -fno-common -pipe
444
+ export RBCONFIG_STRIP := strip -A -n
445
+ export RBCONFIG_RANLIB := ranlib
446
+ export RBCONFIG_OBJDUMP := objdump
447
+ export RBCONFIG_OBJCOPY := :
448
+ export RBCONFIG_NM := nm --no-llvm-bc
449
+ export RBCONFIG_LD := ld
450
+ export RBCONFIG_CXX := clang++
451
+ export RBCONFIG_AS := as
452
+ export RBCONFIG_AR := ar
453
+ export RBCONFIG_CC := clang
454
+ export RBCONFIG_wasmoptflags :=
455
+ export RBCONFIG_WASMOPT :=
456
+ export RBCONFIG_config_target := aarch64-apple-darwin25.3.0
457
+ export RBCONFIG_target_os := darwin25
458
+ export RBCONFIG_target_vendor := apple
459
+ export RBCONFIG_target_cpu := arm64
460
+ export RBCONFIG_target := arm64-apple-darwin25
461
+ export RBCONFIG_host_os := darwin25
462
+ export RBCONFIG_host_vendor := apple
463
+ export RBCONFIG_host_cpu := arm64
464
+ export RBCONFIG_host := arm64-apple-darwin25
465
+ export RBCONFIG_build_os := darwin25.3.0
466
+ export RBCONFIG_build_vendor := apple
467
+ export RBCONFIG_build_cpu := aarch64
468
+ export RBCONFIG_build := aarch64-apple-darwin25.3.0
469
+ export RBCONFIG_RUBY_VERSION_NAME := ruby-3.4.0
470
+ export RBCONFIG_RUBYW_BASE_NAME := rubyw
471
+ export RBCONFIG_RUBY_BASE_NAME := ruby
472
+ export RBCONFIG_RUBY_PROGRAM_VERSION := 3.4.8
473
+ export RBCONFIG_RUBY_API_VERSION := 3.4
474
+ export RBCONFIG_HAVE_GIT := yes
475
+ export RBCONFIG_GIT := git
476
+ export RBCONFIG_cxxflags :=
477
+ export RBCONFIG_cppflags :=
478
+ export RBCONFIG_cflags := -fstack-protector-strong -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fdeclspec -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wextra-tokens -Wdeprecated-declarations -Wdivision-by-zero -Wdiv-by-zero -Wimplicit-function-declaration -Wimplicit-int -Wpointer-arith -Wshorten-64-to-32 -Wwrite-strings -Wold-style-definition -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wunused-variable -Wmisleading-indentation -Wundef
479
+ export RBCONFIG_MAKEDIRS := /opt/homebrew/bin/gmkdir -p
480
+ export RBCONFIG_target_alias :=
481
+ export RBCONFIG_host_alias :=
482
+ export RBCONFIG_build_alias :=
483
+ export RBCONFIG_LIBS := -lpthread
484
+ export RBCONFIG_ECHO_T :=
485
+ export RBCONFIG_ECHO_N :=
486
+ export RBCONFIG_ECHO_C := \\c
487
+ export RBCONFIG_DEFS :=
488
+ export RBCONFIG_mandir := /Users/naamanhirschfeld/.rbenv/versions/3.4.8/share/man
489
+ export RBCONFIG_localedir := /Users/naamanhirschfeld/.rbenv/versions/3.4.8/share/locale
490
+ export RBCONFIG_libdir := /Users/naamanhirschfeld/.rbenv/versions/3.4.8/lib
491
+ export RBCONFIG_psdir := /Users/naamanhirschfeld/.rbenv/versions/3.4.8/share/doc/ruby
492
+ export RBCONFIG_pdfdir := /Users/naamanhirschfeld/.rbenv/versions/3.4.8/share/doc/ruby
493
+ export RBCONFIG_dvidir := /Users/naamanhirschfeld/.rbenv/versions/3.4.8/share/doc/ruby
494
+ export RBCONFIG_htmldir := /Users/naamanhirschfeld/.rbenv/versions/3.4.8/share/doc/ruby
495
+ export RBCONFIG_infodir := /Users/naamanhirschfeld/.rbenv/versions/3.4.8/share/info
496
+ export RBCONFIG_docdir := /Users/naamanhirschfeld/.rbenv/versions/3.4.8/share/doc/ruby
497
+ export RBCONFIG_oldincludedir := /usr/include
498
+ export RBCONFIG_includedir := /Users/naamanhirschfeld/.rbenv/versions/3.4.8/include
499
+ export RBCONFIG_runstatedir := /Users/naamanhirschfeld/.rbenv/versions/3.4.8/var/run
500
+ export RBCONFIG_localstatedir := /Users/naamanhirschfeld/.rbenv/versions/3.4.8/var
501
+ export RBCONFIG_sharedstatedir := /Users/naamanhirschfeld/.rbenv/versions/3.4.8/com
502
+ export RBCONFIG_sysconfdir := /Users/naamanhirschfeld/.rbenv/versions/3.4.8/etc
503
+ export RBCONFIG_datadir := /Users/naamanhirschfeld/.rbenv/versions/3.4.8/share
504
+ export RBCONFIG_datarootdir := /Users/naamanhirschfeld/.rbenv/versions/3.4.8/share
505
+ export RBCONFIG_libexecdir := /Users/naamanhirschfeld/.rbenv/versions/3.4.8/libexec
506
+ export RBCONFIG_sbindir := /Users/naamanhirschfeld/.rbenv/versions/3.4.8/sbin
507
+ export RBCONFIG_bindir := /Users/naamanhirschfeld/.rbenv/versions/3.4.8/bin
508
+ export RBCONFIG_exec_prefix := /Users/naamanhirschfeld/.rbenv/versions/3.4.8
509
+ export RBCONFIG_PACKAGE_URL :=
510
+ export RBCONFIG_PACKAGE_BUGREPORT :=
511
+ export RBCONFIG_PACKAGE_STRING :=
512
+ export RBCONFIG_PACKAGE_VERSION :=
513
+ export RBCONFIG_PACKAGE_TARNAME :=
514
+ export RBCONFIG_PACKAGE_NAME :=
515
+ export RBCONFIG_PATH_SEPARATOR := :
516
+ export RBCONFIG_SHELL := /bin/sh
517
+ export RBCONFIG_UNICODE_VERSION := 15.0.0
518
+ export RBCONFIG_UNICODE_EMOJI_VERSION := 15.0
519
+ export RBCONFIG_SDKROOT :=
520
+ export RBCONFIG_platform := arm64-darwin25
521
+ export RBCONFIG_archdir := /Users/naamanhirschfeld/.rbenv/versions/3.4.8/lib/ruby/3.4.0/arm64-darwin25
522
+ export RBCONFIG_topdir := .
523
+ export RBCONFIG_srcdir := .
524
+ export RUSTFLAGS := $(RB_SYS_GLOBAL_RUSTFLAGS) $(RB_SYS_EXTRA_RUSTFLAGS) $(RUSTFLAGS)
525
+
526
+ FORCE: ;
527
+
528
+ RB_SYS_FORCE_INSTALL_RUST_TOOLCHAIN ?= false
529
+
530
+ # Only run if the we are told to explicitly install the Rust toolchain
531
+ ifneq ($(RB_SYS_FORCE_INSTALL_RUST_TOOLCHAIN),false)
532
+ RB_SYS_RUSTUP_PROFILE ?= minimal
533
+
534
+ # If the user passed true, we assume stable Rust. Otherwise, use what
535
+ # was specified (i.e. RB_SYS_FORCE_INSTALL_RUST_TOOLCHAIN=beta)
536
+ ifeq ($(RB_SYS_FORCE_INSTALL_RUST_TOOLCHAIN),true)
537
+ RB_SYS_FORCE_INSTALL_RUST_TOOLCHAIN = stable
538
+ endif
539
+
540
+ # If a $RUST_TARGET is specified (i.e. for rake-compiler-dock), append
541
+ # that to the profile.
542
+ ifeq ($(RUST_TARGET),)
543
+ RB_SYS_DEFAULT_TOOLCHAIN = $(RB_SYS_FORCE_INSTALL_RUST_TOOLCHAIN)
544
+ else
545
+ RB_SYS_DEFAULT_TOOLCHAIN = $(RB_SYS_FORCE_INSTALL_RUST_TOOLCHAIN)-$(RUST_TARGET)
546
+ endif
547
+
548
+ # Since we are forcing the installation of the Rust toolchain, we need
549
+ # to set these env vars unconditionally for the build.
550
+ export CARGO_HOME := $(RB_SYS_BUILD_DIR)/$(RB_SYS_DEFAULT_TOOLCHAIN)/cargo
551
+ export RUSTUP_HOME := $(RB_SYS_BUILD_DIR)/$(RB_SYS_DEFAULT_TOOLCHAIN)/rustup
552
+ export PATH := $(CARGO_HOME)/bin:$(RUSTUP_HOME)/bin:$(PATH)
553
+ export RUSTUP_TOOLCHAIN := $(RB_SYS_DEFAULT_TOOLCHAIN)
554
+ export CARGO := $(CARGO_HOME)/bin/cargo
555
+
556
+
557
+ $(CARGO):
558
+ $(Q) $(MAKEDIRS) $(CARGO_HOME) $(RUSTUP_HOME)
559
+ $(Q) curl --proto '=https' --tlsv1.2 --retry 10 --retry-connrefused -fsSL "https://sh.rustup.rs" | sh -s -- --no-modify-path --profile $(RB_SYS_RUSTUP_PROFILE) --default-toolchain none -y
560
+ $(Q) $(CARGO_HOME)/bin/rustup toolchain install $(RB_SYS_DEFAULT_TOOLCHAIN) --profile $(RB_SYS_RUSTUP_PROFILE) || (sleep 5; $(Q) $(CARGO_HOME)/bin/rustup toolchain install $(RB_SYS_DEFAULT_TOOLCHAIN) --profile $(RB_SYS_RUSTUP_PROFILE)) || (sleep 5; $(Q) $(CARGO_HOME)/bin/rustup toolchain install $(RB_SYS_DEFAULT_TOOLCHAIN) --profile $(RB_SYS_RUSTUP_PROFILE))
561
+ $(Q) $(CARGO_HOME)/bin/rustup default $(RB_SYS_DEFAULT_TOOLCHAIN) || (sleep 5; $(Q) $(CARGO_HOME)/bin/rustup default $(RB_SYS_DEFAULT_TOOLCHAIN)) || (sleep 5; $(Q) $(CARGO_HOME)/bin/rustup default $(RB_SYS_DEFAULT_TOOLCHAIN))
562
+
563
+
564
+ $(RUSTLIB): $(CARGO)
565
+ endif
566
+
567
+
568
+ $(TIMESTAMP_DIR)/.sitearchdir.time:
569
+ $(Q) $(MAKEDIRS) $(@D) $(RUBYARCHDIR)
570
+ $(Q) $(TOUCH) $@
571
+
572
+ $(RUSTLIB): FORCE
573
+ $(ECHO) generating $(@) \("$(RB_SYS_CARGO_PROFILE)"\)
574
+ $(CARGO) rustc $(RB_SYS_EXTRA_CARGO_ARGS) --manifest-path $(RB_SYS_CARGO_MANIFEST_DIR)/Cargo.toml --target-dir $(RB_SYS_CARGO_TARGET_DIR) --lib $(RB_SYS_CARGO_PROFILE_FLAG) -- -C linker=clang -L native=/Users/naamanhirschfeld/.rbenv/versions/3.4.8/lib -L native=/opt/homebrew/Cellar/gmp/6.3.0/lib -C link-arg=-Wl,-undefined,dynamic_lookup -l pthread
575
+
576
+ $(DLLIB): $(RUSTLIB)
577
+ $(Q) $(COPY) "$(RUSTLIB)" $@
578
+ $(Q) $(POSTLINK)
579
+
580
+ install-so: $(DLLIB) $(TIMESTAMP_DIR)/.sitearchdir.time
581
+ $(ECHO) installing $(DLLIB) to $(RUBYARCHDIR)
582
+ $(Q) install_name_tool -id "" $(DLLIB)
583
+ $(Q) $(MAKEDIRS) $(RUBYARCHDIR)
584
+ $(INSTALL_PROG) $(DLLIB) $(RUBYARCHDIR)
585
+
586
+ gemclean: install-so
587
+ $(ECHO) Cleaning gem artifacts
588
+ -$(Q)$(RM_RF) $(RUBYGEMS_CLEAN_DIRS) 2> /dev/null || true
589
+
590
+ install: install-so
591
+
592
+ all: $(DLLIB)
@@ -7,4 +7,5 @@ default_profile = ENV.fetch('CARGO_PROFILE', 'release')
7
7
 
8
8
  create_rust_makefile('html_to_markdown_rb') do |config|
9
9
  config.profile = default_profile.to_sym
10
+ config.ext_dir = 'native'
10
11
  end