trenni 3.11.0 → 3.12.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.
Files changed (82) hide show
  1. checksums.yaml +4 -4
  2. data/ext/tmp/x86_64-linux/lib/trenni/trenni.so +0 -0
  3. data/ext/tmp/{x86_64-darwin16 → x86_64-linux}/trenni/2.4.0/Makefile +24 -25
  4. data/ext/tmp/x86_64-linux/trenni/2.4.0/escape.o +0 -0
  5. data/ext/tmp/x86_64-linux/trenni/2.4.0/markup.o +0 -0
  6. data/ext/tmp/x86_64-linux/trenni/2.4.0/mkmf.log +108 -0
  7. data/ext/tmp/x86_64-linux/trenni/2.4.0/tag.o +0 -0
  8. data/ext/tmp/x86_64-linux/trenni/2.4.0/template.o +0 -0
  9. data/ext/tmp/x86_64-linux/trenni/2.4.0/trenni.o +0 -0
  10. data/ext/tmp/x86_64-linux/trenni/2.4.0/trenni.so +0 -0
  11. data/ext/tmp/{x86_64-darwin18/trenni/2.6.2 → x86_64-linux/trenni/2.7.0}/Makefile +32 -32
  12. data/ext/tmp/x86_64-linux/trenni/2.7.0/escape.o +0 -0
  13. data/ext/tmp/x86_64-linux/trenni/2.7.0/markup.o +0 -0
  14. data/ext/tmp/x86_64-linux/trenni/2.7.0/mkmf.log +113 -0
  15. data/ext/tmp/x86_64-linux/trenni/2.7.0/query.o +0 -0
  16. data/ext/tmp/x86_64-linux/trenni/2.7.0/tag.o +0 -0
  17. data/ext/tmp/x86_64-linux/trenni/2.7.0/template.o +0 -0
  18. data/ext/tmp/x86_64-linux/trenni/2.7.0/trenni.o +0 -0
  19. data/ext/tmp/x86_64-linux/trenni/2.7.0/trenni.so +0 -0
  20. data/ext/tmp/{x86_64-darwin19 → x86_64-linux}/trenni/2.7.1/Makefile +27 -28
  21. data/ext/tmp/x86_64-linux/trenni/2.7.1/escape.o +0 -0
  22. data/ext/tmp/x86_64-linux/trenni/2.7.1/markup.o +0 -0
  23. data/ext/tmp/x86_64-linux/trenni/2.7.1/mkmf.log +113 -0
  24. data/ext/tmp/x86_64-linux/trenni/2.7.1/query.o +0 -0
  25. data/ext/tmp/x86_64-linux/trenni/2.7.1/tag.o +0 -0
  26. data/ext/tmp/x86_64-linux/trenni/2.7.1/template.o +0 -0
  27. data/ext/tmp/x86_64-linux/trenni/2.7.1/trenni.o +0 -0
  28. data/ext/tmp/x86_64-linux/trenni/2.7.1/trenni.so +0 -0
  29. data/lib/trenni/builder.rb +46 -10
  30. data/lib/trenni/fallback/markup.rl.dot +278 -0
  31. data/lib/trenni/fallback/markup.rl.pdf +0 -0
  32. data/lib/trenni/fallback/query.rl.dot +54 -0
  33. data/lib/trenni/fallback/query.rl.pdf +0 -0
  34. data/lib/trenni/fallback/template.rl.dot +270 -0
  35. data/lib/trenni/fallback/template.rl.pdf +0 -0
  36. data/lib/trenni/template.rb +9 -18
  37. data/lib/trenni/trenni.so +0 -0
  38. data/lib/trenni/version.rb +1 -1
  39. data/spec/trenni/builder_spec.rb +1 -1
  40. data/spec/trenni/template_spec/builder.trenni +2 -2
  41. metadata +41 -51
  42. data/ext/.DS_Store +0 -0
  43. data/ext/tmp/.DS_Store +0 -0
  44. data/ext/tmp/x86_64-darwin16/lib/trenni/trenni.bundle +0 -0
  45. data/ext/tmp/x86_64-darwin16/trenni/2.4.0/escape.o +0 -0
  46. data/ext/tmp/x86_64-darwin16/trenni/2.4.0/markup.o +0 -0
  47. data/ext/tmp/x86_64-darwin16/trenni/2.4.0/mkmf.log +0 -105
  48. data/ext/tmp/x86_64-darwin16/trenni/2.4.0/tag.o +0 -0
  49. data/ext/tmp/x86_64-darwin16/trenni/2.4.0/template.o +0 -0
  50. data/ext/tmp/x86_64-darwin16/trenni/2.4.0/trenni.bundle +0 -0
  51. data/ext/tmp/x86_64-darwin16/trenni/2.4.0/trenni.o +0 -0
  52. data/ext/tmp/x86_64-darwin18/lib/trenni/trenni.bundle +0 -0
  53. data/ext/tmp/x86_64-darwin18/trenni/2.6.1/Makefile +0 -266
  54. data/ext/tmp/x86_64-darwin18/trenni/2.6.1/escape.o +0 -0
  55. data/ext/tmp/x86_64-darwin18/trenni/2.6.1/markup.o +0 -0
  56. data/ext/tmp/x86_64-darwin18/trenni/2.6.1/mkmf.log +0 -109
  57. data/ext/tmp/x86_64-darwin18/trenni/2.6.1/tag.o +0 -0
  58. data/ext/tmp/x86_64-darwin18/trenni/2.6.1/template.o +0 -0
  59. data/ext/tmp/x86_64-darwin18/trenni/2.6.1/trenni.bundle +0 -0
  60. data/ext/tmp/x86_64-darwin18/trenni/2.6.1/trenni.o +0 -0
  61. data/ext/tmp/x86_64-darwin18/trenni/2.6.2/escape.o +0 -0
  62. data/ext/tmp/x86_64-darwin18/trenni/2.6.2/markup.o +0 -0
  63. data/ext/tmp/x86_64-darwin18/trenni/2.6.2/mkmf.log +0 -109
  64. data/ext/tmp/x86_64-darwin18/trenni/2.6.2/tag.o +0 -0
  65. data/ext/tmp/x86_64-darwin18/trenni/2.6.2/template.o +0 -0
  66. data/ext/tmp/x86_64-darwin18/trenni/2.6.2/trenni.bundle +0 -0
  67. data/ext/tmp/x86_64-darwin18/trenni/2.6.2/trenni.o +0 -0
  68. data/ext/tmp/x86_64-darwin19/lib/trenni/trenni.bundle +0 -0
  69. data/ext/tmp/x86_64-darwin19/trenni/2.7.1/escape.o +0 -0
  70. data/ext/tmp/x86_64-darwin19/trenni/2.7.1/markup.o +0 -0
  71. data/ext/tmp/x86_64-darwin19/trenni/2.7.1/mkmf.log +0 -109
  72. data/ext/tmp/x86_64-darwin19/trenni/2.7.1/query.o +0 -0
  73. data/ext/tmp/x86_64-darwin19/trenni/2.7.1/tag.o +0 -0
  74. data/ext/tmp/x86_64-darwin19/trenni/2.7.1/template.o +0 -0
  75. data/ext/tmp/x86_64-darwin19/trenni/2.7.1/trenni.bundle +0 -0
  76. data/ext/tmp/x86_64-darwin19/trenni/2.7.1/trenni.o +0 -0
  77. data/ext/trenni/.DS_Store +0 -0
  78. data/lib/.DS_Store +0 -0
  79. data/lib/trenni/.DS_Store +0 -0
  80. data/parsers/.DS_Store +0 -0
  81. data/spec/.DS_Store +0 -0
  82. data/spec/trenni/template_spec/.DS_Store +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b8508e64521a7d867908f4a7fce4d75330abd8e0139b333705b951b3612a1f79
4
- data.tar.gz: 2778994f2df2428a29c142a9b6caee348ba759a4edba7e761dcefc9cff7e91d2
3
+ metadata.gz: 24fa931d5bc2440544d99451affb9fb2a2e356f69ad6a5c0d5da6133d58ff45b
4
+ data.tar.gz: 84ed87a7f93c6b306220fe10e3822b222962db66068664df4afd29b432823864
5
5
  SHA512:
6
- metadata.gz: 76ad90f58c94775c28b693c31a4ab2a9b15f450a4a9bf27820d6977bf9edf77052033050c20067cb6e2281a860e6eccb8fd5d795772257b92184f91ff25b5b9b
7
- data.tar.gz: 809eeb0ed1af8e48abc3fc111a0b7da691f2e669ec359c44177a74cbb46f49f0abed4d93985385bca6dc91c45cb202adb6c5fee403ff38bbedebb03efbd2594a
6
+ metadata.gz: 57068d50f31f1d6bdbd2976026da38b57c279350f2269f8437546245526a1483e57d7619f02f5e2c5e52f2d339e3ecb524951516173bafa46d8488156d6ddc2c
7
+ data.tar.gz: 969c619651b2af237511d9230f15678c51d223266d37e6f3ab7c5861d39866c8322f89376124017708d2bddba3f3e446700f9c9b1a8448bc98fd3f9a7d1ac7f2
@@ -12,12 +12,12 @@ NULLCMD = :
12
12
  #### Start of system configuration section. ####
13
13
 
14
14
  srcdir = ../../../../trenni
15
- topdir = /Users/samuel/.rvm/rubies/ruby-2.4.0/include/ruby-2.4.0
15
+ topdir = /home/samuel/.rvm/rubies/ruby-2.4.0/include/ruby-2.4.0
16
16
  hdrdir = $(topdir)
17
- arch_hdrdir = /Users/samuel/.rvm/rubies/ruby-2.4.0/include/ruby-2.4.0/x86_64-darwin16
17
+ arch_hdrdir = /home/samuel/.rvm/rubies/ruby-2.4.0/include/ruby-2.4.0/x86_64-linux
18
18
  PATH_SEPARATOR = :
19
19
  VPATH = $(srcdir):$(arch_hdrdir)/ruby:$(hdrdir)/ruby
20
- prefix = $(DESTDIR)/Users/samuel/.rvm/rubies/ruby-2.4.0
20
+ prefix = $(DESTDIR)/home/samuel/.rvm/rubies/ruby-2.4.0
21
21
  rubysitearchprefix = $(rubylibprefix)/$(sitearch)
22
22
  rubyarchprefix = $(rubylibprefix)/$(arch)
23
23
  rubylibprefix = $(libdir)/$(RUBY_BASE_NAME)
@@ -50,7 +50,7 @@ dvidir = $(docdir)
50
50
  htmldir = $(docdir)
51
51
  infodir = $(datarootdir)/info
52
52
  docdir = $(datarootdir)/doc/$(PACKAGE)
53
- oldincludedir = $(SDKROOT)/usr/include
53
+ oldincludedir = $(DESTDIR)/usr/include
54
54
  includedir = $(prefix)/include
55
55
  localstatedir = $(prefix)/var
56
56
  sharedstatedir = $(prefix)/com
@@ -67,8 +67,8 @@ CC = gcc
67
67
  CXX = g++
68
68
  LIBRUBY = $(LIBRUBY_SO)
69
69
  LIBRUBY_A = lib$(RUBY_SO_NAME)-static.a
70
- LIBRUBYARG_SHARED = -l$(RUBY_SO_NAME)
71
- LIBRUBYARG_STATIC = -l$(RUBY_SO_NAME)-static -framework CoreFoundation
70
+ LIBRUBYARG_SHARED = -Wl,-R$(libdir) -L$(libdir) -l$(RUBY_SO_NAME)
71
+ LIBRUBYARG_STATIC = -Wl,-R$(libdir) -L$(libdir) -l$(RUBY_SO_NAME)-static
72
72
  empty =
73
73
  OUTFLAG = -o $(empty)
74
74
  COUTFLAG = -o $(empty)
@@ -79,30 +79,30 @@ cflags = $(optflags) $(debugflags) $(warnflags)
79
79
  cxxflags = $(optflags) $(debugflags) $(warnflags)
80
80
  optflags = -O3 -fno-fast-math
81
81
  debugflags = -ggdb3
82
- warnflags = -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wno-tautological-compare -Wno-parentheses-equality -Wno-constant-logical-operand -Wno-self-assign -Wunused-variable -Wimplicit-int -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wshorten-64-to-32 -Wimplicit-function-declaration -Wdivision-by-zero -Wdeprecated-declarations -Wextra-tokens
83
- CCDLFLAGS = -fno-common
84
- CFLAGS = $(CCDLFLAGS) $(cflags) -fno-common -pipe -O3 -std=c99 $(ARCH_FLAG)
82
+ warnflags = -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wno-tautological-compare -Wno-parentheses-equality -Wno-constant-logical-operand -Wno-self-assign -Wunused-variable -Wimplicit-int -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -Wdeprecated-declarations -Wno-packed-bitfield-compat -Wsuggest-attribute=noreturn -Wsuggest-attribute=format -Wno-maybe-uninitialized
83
+ CCDLFLAGS = -fPIC
84
+ CFLAGS = $(CCDLFLAGS) $(cflags) -fPIC -O3 -std=c99 $(ARCH_FLAG)
85
85
  INCFLAGS = -I. -I$(arch_hdrdir) -I$(hdrdir)/ruby/backward -I$(hdrdir) -I$(srcdir)
86
86
  DEFS =
87
- CPPFLAGS = -DHAVE_RB_SYM2STR -DHAVE_RB_STR_CAT_CSTR -I/opt/local/include -I/opt/local/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT $(DEFS) $(cppflags)
87
+ CPPFLAGS = -DHAVE_RB_SYM2STR -DHAVE_RB_STR_CAT_CSTR $(DEFS) $(cppflags)
88
88
  CXXFLAGS = $(CCDLFLAGS) $(cxxflags) $(ARCH_FLAG)
89
- ldflags = -L. -fstack-protector -L/opt/local/lib -L/opt/local/lib
90
- dldflags = -Wl,-undefined,dynamic_lookup -Wl,-multiply_defined,suppress -L/opt/local/lib -L/opt/local/lib
89
+ ldflags = -L. -fstack-protector -rdynamic -Wl,-export-dynamic
90
+ dldflags = -Wl,--compress-debug-sections=zlib
91
91
  ARCH_FLAG =
92
92
  DLDFLAGS = $(ldflags) $(dldflags) $(ARCH_FLAG)
93
- LDSHARED = $(CC) -dynamic -bundle
94
- LDSHAREDXX = $(CXX) -dynamic -bundle
93
+ LDSHARED = $(CC) -shared
94
+ LDSHAREDXX = $(CXX) -shared
95
95
  AR = ar
96
96
  EXEEXT =
97
97
 
98
98
  RUBY_INSTALL_NAME = $(RUBY_BASE_NAME)
99
- RUBY_SO_NAME = ruby.2.4.0
99
+ RUBY_SO_NAME = ruby
100
100
  RUBYW_INSTALL_NAME =
101
101
  RUBY_VERSION_NAME = $(RUBY_BASE_NAME)-$(ruby_version)
102
102
  RUBYW_BASE_NAME = rubyw
103
103
  RUBY_BASE_NAME = ruby
104
104
 
105
- arch = x86_64-darwin16
105
+ arch = x86_64-linux
106
106
  sitearch = $(arch)
107
107
  ruby_version = 2.4.0
108
108
  ruby = $(bindir)/$(RUBY_BASE_NAME)
@@ -111,9 +111,9 @@ ruby_headers = $(hdrdir)/ruby.h $(hdrdir)/ruby/backward.h $(hdrdir)/ruby/ruby.h
111
111
 
112
112
  RM = rm -f
113
113
  RM_RF = $(RUBY) -run -e rm -- -rf
114
- RMDIRS = rmdir -p
115
- MAKEDIRS = /opt/local/bin/gmkdir -p
116
- INSTALL = /opt/local/bin/ginstall -c
114
+ RMDIRS = rmdir --ignore-fail-on-non-empty -p
115
+ MAKEDIRS = /usr/bin/mkdir -p
116
+ INSTALL = /usr/bin/install -c
117
117
  INSTALL_PROG = $(INSTALL) -m 0755
118
118
  INSTALL_DATA = $(INSTALL) -m 644
119
119
  COPY = cp
@@ -122,8 +122,8 @@ TOUCH = exit >
122
122
  #### End of system configuration section. ####
123
123
 
124
124
  preload =
125
- libpath = . $(libdir) /opt/local/lib
126
- LIBPATH = -L. -L$(libdir) -L/opt/local/lib
125
+ libpath = . $(libdir)
126
+ LIBPATH = -L. -L$(libdir) -Wl,-R$(libdir)
127
127
  DEFFILE =
128
128
 
129
129
  CLEANFILES = mkmf.log
@@ -134,16 +134,16 @@ extout =
134
134
  extout_prefix =
135
135
  target_prefix = /trenni
136
136
  LOCAL_LIBS =
137
- LIBS = $(LIBRUBYARG_SHARED) -lpthread -lgmp -ldl -lobjc
137
+ LIBS = $(LIBRUBYARG_SHARED) -lpthread -lgmp -ldl -lcrypt -lm -lc
138
138
  ORIG_SRCS = escape.c markup.c tag.c template.c trenni.c
139
139
  SRCS = $(ORIG_SRCS)
140
140
  OBJS = escape.o markup.o tag.o template.o trenni.o
141
- HDRS = $(srcdir)/escape.h $(srcdir)/markup.h $(srcdir)/tag.h $(srcdir)/template.h $(srcdir)/trenni.h
141
+ HDRS = $(srcdir)/tag.h $(srcdir)/trenni.h $(srcdir)/markup.h $(srcdir)/escape.h $(srcdir)/template.h
142
142
  LOCAL_HDRS =
143
143
  TARGET = trenni
144
144
  TARGET_NAME = trenni
145
145
  TARGET_ENTRY = Init_$(TARGET_NAME)
146
- DLLIB = $(TARGET).bundle
146
+ DLLIB = $(TARGET).so
147
147
  EXTSTATIC =
148
148
  STATIC_LIB =
149
149
 
@@ -257,7 +257,6 @@ $(TARGET_SO): $(OBJS) Makefile
257
257
  $(ECHO) linking shared-object trenni/$(DLLIB)
258
258
  -$(Q)$(RM) $(@)
259
259
  $(Q) $(LDSHARED) -o $@ $(OBJS) $(LIBPATH) $(DLDFLAGS) $(LOCAL_LIBS) $(LIBS)
260
- $(Q) $(POSTLINK)
261
260
 
262
261
 
263
262
 
@@ -0,0 +1,108 @@
1
+ have_func: checking for rb_sym2str()... -------------------- yes
2
+
3
+ "gcc -o conftest -I/home/samuel/.rvm/rubies/ruby-2.4.0/include/ruby-2.4.0/x86_64-linux -I/home/samuel/.rvm/rubies/ruby-2.4.0/include/ruby-2.4.0/ruby/backward -I/home/samuel/.rvm/rubies/ruby-2.4.0/include/ruby-2.4.0 -I../../../../trenni -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wno-tautological-compare -Wno-parentheses-equality -Wno-constant-logical-operand -Wno-self-assign -Wunused-variable -Wimplicit-int -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -Wdeprecated-declarations -Wno-packed-bitfield-compat -Wsuggest-attribute=noreturn -Wsuggest-attribute=format -Wno-maybe-uninitialized -fPIC -O3 -std=c99 conftest.c -L. -L/home/samuel/.rvm/rubies/ruby-2.4.0/lib -Wl,-R/home/samuel/.rvm/rubies/ruby-2.4.0/lib -L. -fstack-protector -rdynamic -Wl,-export-dynamic -Wl,-R/home/samuel/.rvm/rubies/ruby-2.4.0/lib -L/home/samuel/.rvm/rubies/ruby-2.4.0/lib -lruby -lpthread -lgmp -ldl -lcrypt -lm -lc"
4
+ checked program was:
5
+ /* begin */
6
+ 1: #include "ruby.h"
7
+ 2:
8
+ 3: int main(int argc, char **argv)
9
+ 4: {
10
+ 5: return 0;
11
+ 6: }
12
+ /* end */
13
+
14
+ "gcc -o conftest -I/home/samuel/.rvm/rubies/ruby-2.4.0/include/ruby-2.4.0/x86_64-linux -I/home/samuel/.rvm/rubies/ruby-2.4.0/include/ruby-2.4.0/ruby/backward -I/home/samuel/.rvm/rubies/ruby-2.4.0/include/ruby-2.4.0 -I../../../../trenni -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wno-tautological-compare -Wno-parentheses-equality -Wno-constant-logical-operand -Wno-self-assign -Wunused-variable -Wimplicit-int -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -Wdeprecated-declarations -Wno-packed-bitfield-compat -Wsuggest-attribute=noreturn -Wsuggest-attribute=format -Wno-maybe-uninitialized -fPIC -O3 -std=c99 conftest.c -L. -L/home/samuel/.rvm/rubies/ruby-2.4.0/lib -Wl,-R/home/samuel/.rvm/rubies/ruby-2.4.0/lib -L. -fstack-protector -rdynamic -Wl,-export-dynamic -Wl,-R/home/samuel/.rvm/rubies/ruby-2.4.0/lib -L/home/samuel/.rvm/rubies/ruby-2.4.0/lib -lruby -lpthread -lgmp -ldl -lcrypt -lm -lc"
15
+ checked program was:
16
+ /* begin */
17
+ 1: #include "ruby.h"
18
+ 2:
19
+ 3: /*top*/
20
+ 4: extern int t(void);
21
+ 5: int main(int argc, char **argv)
22
+ 6: {
23
+ 7: if (argc > 1000000) {
24
+ 8: printf("%p", &t);
25
+ 9: }
26
+ 10:
27
+ 11: return 0;
28
+ 12: }
29
+ 13: int t(void) { void ((*volatile p)()); p = (void ((*)()))rb_sym2str; return !p; }
30
+ /* end */
31
+
32
+ --------------------
33
+
34
+ have_func: checking for rb_str_cat_cstr()... -------------------- yes
35
+
36
+ "gcc -o conftest -I/home/samuel/.rvm/rubies/ruby-2.4.0/include/ruby-2.4.0/x86_64-linux -I/home/samuel/.rvm/rubies/ruby-2.4.0/include/ruby-2.4.0/ruby/backward -I/home/samuel/.rvm/rubies/ruby-2.4.0/include/ruby-2.4.0 -I../../../../trenni -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wno-tautological-compare -Wno-parentheses-equality -Wno-constant-logical-operand -Wno-self-assign -Wunused-variable -Wimplicit-int -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -Wdeprecated-declarations -Wno-packed-bitfield-compat -Wsuggest-attribute=noreturn -Wsuggest-attribute=format -Wno-maybe-uninitialized -fPIC -O3 -std=c99 conftest.c -L. -L/home/samuel/.rvm/rubies/ruby-2.4.0/lib -Wl,-R/home/samuel/.rvm/rubies/ruby-2.4.0/lib -L. -fstack-protector -rdynamic -Wl,-export-dynamic -Wl,-R/home/samuel/.rvm/rubies/ruby-2.4.0/lib -L/home/samuel/.rvm/rubies/ruby-2.4.0/lib -lruby -lpthread -lgmp -ldl -lcrypt -lm -lc"
37
+ checked program was:
38
+ /* begin */
39
+ 1: #include "ruby.h"
40
+ 2:
41
+ 3: /*top*/
42
+ 4: extern int t(void);
43
+ 5: int main(int argc, char **argv)
44
+ 6: {
45
+ 7: if (argc > 1000000) {
46
+ 8: printf("%p", &t);
47
+ 9: }
48
+ 10:
49
+ 11: return 0;
50
+ 12: }
51
+ 13: int t(void) { void ((*volatile p)()); p = (void ((*)()))rb_str_cat_cstr; return !p; }
52
+ /* end */
53
+
54
+ --------------------
55
+
56
+ have_func: checking for rb_str_reserve()... -------------------- no
57
+
58
+ "gcc -o conftest -I/home/samuel/.rvm/rubies/ruby-2.4.0/include/ruby-2.4.0/x86_64-linux -I/home/samuel/.rvm/rubies/ruby-2.4.0/include/ruby-2.4.0/ruby/backward -I/home/samuel/.rvm/rubies/ruby-2.4.0/include/ruby-2.4.0 -I../../../../trenni -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wno-tautological-compare -Wno-parentheses-equality -Wno-constant-logical-operand -Wno-self-assign -Wunused-variable -Wimplicit-int -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -Wdeprecated-declarations -Wno-packed-bitfield-compat -Wsuggest-attribute=noreturn -Wsuggest-attribute=format -Wno-maybe-uninitialized -fPIC -O3 -std=c99 conftest.c -L. -L/home/samuel/.rvm/rubies/ruby-2.4.0/lib -Wl,-R/home/samuel/.rvm/rubies/ruby-2.4.0/lib -L. -fstack-protector -rdynamic -Wl,-export-dynamic -Wl,-R/home/samuel/.rvm/rubies/ruby-2.4.0/lib -L/home/samuel/.rvm/rubies/ruby-2.4.0/lib -lruby -lpthread -lgmp -ldl -lcrypt -lm -lc"
59
+ conftest.c: In function ‘t’:
60
+ conftest.c:13:57: error: ‘rb_str_reserve’ undeclared (first use in this function)
61
+ int t(void) { void ((*volatile p)()); p = (void ((*)()))rb_str_reserve; return !p; }
62
+ ^~~~~~~~~~~~~~
63
+ conftest.c:13:57: note: each undeclared identifier is reported only once for each function it appears in
64
+ conftest.c: At top level:
65
+ cc1: warning: unrecognized command line option ‘-Wno-self-assign’
66
+ cc1: warning: unrecognized command line option ‘-Wno-constant-logical-operand’
67
+ cc1: warning: unrecognized command line option ‘-Wno-parentheses-equality’
68
+ checked program was:
69
+ /* begin */
70
+ 1: #include "ruby.h"
71
+ 2:
72
+ 3: /*top*/
73
+ 4: extern int t(void);
74
+ 5: int main(int argc, char **argv)
75
+ 6: {
76
+ 7: if (argc > 1000000) {
77
+ 8: printf("%p", &t);
78
+ 9: }
79
+ 10:
80
+ 11: return 0;
81
+ 12: }
82
+ 13: int t(void) { void ((*volatile p)()); p = (void ((*)()))rb_str_reserve; return !p; }
83
+ /* end */
84
+
85
+ "gcc -o conftest -I/home/samuel/.rvm/rubies/ruby-2.4.0/include/ruby-2.4.0/x86_64-linux -I/home/samuel/.rvm/rubies/ruby-2.4.0/include/ruby-2.4.0/ruby/backward -I/home/samuel/.rvm/rubies/ruby-2.4.0/include/ruby-2.4.0 -I../../../../trenni -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wno-tautological-compare -Wno-parentheses-equality -Wno-constant-logical-operand -Wno-self-assign -Wunused-variable -Wimplicit-int -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -Wdeprecated-declarations -Wno-packed-bitfield-compat -Wsuggest-attribute=noreturn -Wsuggest-attribute=format -Wno-maybe-uninitialized -fPIC -O3 -std=c99 conftest.c -L. -L/home/samuel/.rvm/rubies/ruby-2.4.0/lib -Wl,-R/home/samuel/.rvm/rubies/ruby-2.4.0/lib -L. -fstack-protector -rdynamic -Wl,-export-dynamic -Wl,-R/home/samuel/.rvm/rubies/ruby-2.4.0/lib -L/home/samuel/.rvm/rubies/ruby-2.4.0/lib -lruby -lpthread -lgmp -ldl -lcrypt -lm -lc"
86
+ /tmp/ccpH7HyN.o: In function `t':
87
+ /home/samuel/Documents/Programming/ioquatix/trenni/ext/tmp/x86_64-linux/trenni/2.4.0/conftest.c:14: undefined reference to `rb_str_reserve'
88
+ collect2: error: ld returned 1 exit status
89
+ checked program was:
90
+ /* begin */
91
+ 1: #include "ruby.h"
92
+ 2:
93
+ 3: /*top*/
94
+ 4: extern int t(void);
95
+ 5: int main(int argc, char **argv)
96
+ 6: {
97
+ 7: if (argc > 1000000) {
98
+ 8: printf("%p", &t);
99
+ 9: }
100
+ 10:
101
+ 11: return 0;
102
+ 12: }
103
+ 13: extern void rb_str_reserve();
104
+ 14: int t(void) { rb_str_reserve(); return 0; }
105
+ /* end */
106
+
107
+ --------------------
108
+
@@ -12,12 +12,12 @@ NULLCMD = :
12
12
  #### Start of system configuration section. ####
13
13
 
14
14
  srcdir = ../../../../trenni
15
- topdir = /Users/samuel/.rvm/rubies/ruby-2.6.2/include/ruby-2.6.0
15
+ topdir = /home/samuel/.rbenv/versions/2.7.0/include/ruby-2.7.0
16
16
  hdrdir = $(topdir)
17
- arch_hdrdir = /Users/samuel/.rvm/rubies/ruby-2.6.2/include/ruby-2.6.0/x86_64-darwin18
17
+ arch_hdrdir = /home/samuel/.rbenv/versions/2.7.0/include/ruby-2.7.0/x86_64-linux
18
18
  PATH_SEPARATOR = :
19
19
  VPATH = $(srcdir):$(arch_hdrdir)/ruby:$(hdrdir)/ruby
20
- prefix = $(DESTDIR)/Users/samuel/.rvm/rubies/ruby-2.6.2
20
+ prefix = $(DESTDIR)/home/samuel/.rbenv/versions/2.7.0
21
21
  rubysitearchprefix = $(rubylibprefix)/$(sitearch)
22
22
  rubyarchprefix = $(rubylibprefix)/$(arch)
23
23
  rubylibprefix = $(libdir)/$(RUBY_BASE_NAME)
@@ -50,8 +50,9 @@ dvidir = $(docdir)
50
50
  htmldir = $(docdir)
51
51
  infodir = $(datarootdir)/info
52
52
  docdir = $(datarootdir)/doc/$(PACKAGE)
53
- oldincludedir = $(SDKROOT)/usr/include
53
+ oldincludedir = $(DESTDIR)/usr/include
54
54
  includedir = $(prefix)/include
55
+ runstatedir = $(localstatedir)/run
55
56
  localstatedir = $(prefix)/var
56
57
  sharedstatedir = $(prefix)/com
57
58
  sysconfdir = $(prefix)/etc
@@ -64,12 +65,12 @@ archdir = $(rubyarchdir)
64
65
 
65
66
 
66
67
  CC_WRAPPER =
67
- CC = $(CC_WRAPPER) gcc
68
+ CC = gcc
68
69
  CXX = g++
69
70
  LIBRUBY = $(LIBRUBY_SO)
70
71
  LIBRUBY_A = lib$(RUBY_SO_NAME)-static.a
71
- LIBRUBYARG_SHARED = -l$(RUBY_SO_NAME)
72
- LIBRUBYARG_STATIC = -l$(RUBY_SO_NAME)-static -framework Security -framework Foundation $(MAINLIBS)
72
+ LIBRUBYARG_SHARED = -Wl,-rpath,$(libdir) -L$(libdir) -l$(RUBY_SO_NAME)
73
+ LIBRUBYARG_STATIC = -Wl,-rpath,$(libdir) -L$(libdir) -l$(RUBY_SO_NAME)-static $(MAINLIBS)
73
74
  empty =
74
75
  OUTFLAG = -o $(empty)
75
76
  COUTFLAG = -o $(empty)
@@ -77,45 +78,45 @@ CSRCFLAG = $(empty)
77
78
 
78
79
  RUBY_EXTCONF_H =
79
80
  cflags = $(optflags) $(debugflags) $(warnflags)
80
- cxxflags = $(optflags) $(debugflags) $(warnflags)
81
+ cxxflags =
81
82
  optflags = -O3
82
83
  debugflags = -ggdb3
83
- warnflags = -Wall -Wextra -Wdeclaration-after-statement -Wdeprecated-declarations -Wdivision-by-zero -Wimplicit-function-declaration -Wimplicit-int -Wpointer-arith -Wshorten-64-to-32 -Wwrite-strings -Wmissing-noreturn -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 -Wextra-tokens
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
84
85
  cppflags =
85
- CCDLFLAGS = -fno-common
86
- CFLAGS = $(CCDLFLAGS) $(cflags) -fno-common -pipe -O3 -std=c99 $(ARCH_FLAG)
86
+ CCDLFLAGS = -fPIC
87
+ CFLAGS = $(CCDLFLAGS) $(cflags) -fPIC -O3 -std=c99 $(ARCH_FLAG)
87
88
  INCFLAGS = -I. -I$(arch_hdrdir) -I$(hdrdir)/ruby/backward -I$(hdrdir) -I$(srcdir)
88
89
  DEFS =
89
- CPPFLAGS = -DHAVE_RB_SYM2STR -DHAVE_RB_STR_CAT_CSTR -I/opt/local/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT $(DEFS) $(cppflags)
90
- CXXFLAGS = $(CCDLFLAGS) $(cxxflags) $(ARCH_FLAG)
91
- ldflags = -L. -fstack-protector-strong -L/usr/local/lib -L/opt/local/lib
92
- dldflags = -Wl,-undefined,dynamic_lookup -Wl,-multiply_defined,suppress -L/opt/local/lib
90
+ CPPFLAGS = -DHAVE_RB_SYM2STR -DHAVE_RB_STR_CAT_CSTR -I/home/samuel/.rbenv/versions/2.7.0/include $(DEFS) $(cppflags)
91
+ CXXFLAGS = $(CCDLFLAGS) -g -O2 $(ARCH_FLAG)
92
+ ldflags = -L. -L/home/samuel/.rbenv/versions/2.7.0/lib -fstack-protector-strong -rdynamic -Wl,-export-dynamic
93
+ dldflags = -L/home/samuel/.rbenv/versions/2.7.0/lib -Wl,--compress-debug-sections=zlib
93
94
  ARCH_FLAG =
94
95
  DLDFLAGS = $(ldflags) $(dldflags) $(ARCH_FLAG)
95
- LDSHARED = $(CC) -dynamic -bundle
96
- LDSHAREDXX = $(CXX) -dynamic -bundle
97
- AR = libtool -static
96
+ LDSHARED = $(CC) -shared
97
+ LDSHAREDXX = $(CXX) -shared
98
+ AR = ar
98
99
  EXEEXT =
99
100
 
100
101
  RUBY_INSTALL_NAME = $(RUBY_BASE_NAME)
101
- RUBY_SO_NAME = ruby.2.6
102
+ RUBY_SO_NAME = ruby
102
103
  RUBYW_INSTALL_NAME =
103
104
  RUBY_VERSION_NAME = $(RUBY_BASE_NAME)-$(ruby_version)
104
105
  RUBYW_BASE_NAME = rubyw
105
106
  RUBY_BASE_NAME = ruby
106
107
 
107
- arch = x86_64-darwin18
108
+ arch = x86_64-linux
108
109
  sitearch = $(arch)
109
- ruby_version = 2.6.0
110
+ ruby_version = 2.7.0
110
111
  ruby = $(bindir)/$(RUBY_BASE_NAME)
111
112
  RUBY = $(ruby)
112
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
113
114
 
114
115
  RM = rm -f
115
116
  RM_RF = $(RUBY) -run -e rm -- -rf
116
- RMDIRS = rmdir -p
117
- MAKEDIRS = /opt/local/bin/gmkdir -p
118
- INSTALL = /opt/local/bin/ginstall -c
117
+ RMDIRS = rmdir --ignore-fail-on-non-empty -p
118
+ MAKEDIRS = /usr/bin/mkdir -p
119
+ INSTALL = /usr/bin/install -c
119
120
  INSTALL_PROG = $(INSTALL) -m 0755
120
121
  INSTALL_DATA = $(INSTALL) -m 644
121
122
  COPY = cp
@@ -124,8 +125,8 @@ TOUCH = exit >
124
125
  #### End of system configuration section. ####
125
126
 
126
127
  preload =
127
- libpath = . $(libdir) /opt/local/lib
128
- LIBPATH = -L. -L$(libdir) -L/opt/local/lib
128
+ libpath = . $(libdir)
129
+ LIBPATH = -L. -L$(libdir) -Wl,-rpath,$(libdir)
129
130
  DEFFILE =
130
131
 
131
132
  CLEANFILES = mkmf.log
@@ -136,16 +137,16 @@ extout =
136
137
  extout_prefix =
137
138
  target_prefix = /trenni
138
139
  LOCAL_LIBS =
139
- LIBS = $(LIBRUBYARG_SHARED)
140
- ORIG_SRCS = escape.c markup.c tag.c template.c trenni.c
140
+ LIBS = $(LIBRUBYARG_SHARED) -lm -lc
141
+ ORIG_SRCS = escape.c markup.c query.c tag.c template.c trenni.c
141
142
  SRCS = $(ORIG_SRCS)
142
- OBJS = escape.o markup.o tag.o template.o trenni.o
143
- HDRS = $(srcdir)/tag.h $(srcdir)/markup.h $(srcdir)/escape.h $(srcdir)/trenni.h $(srcdir)/template.h
143
+ OBJS = escape.o markup.o query.o tag.o template.o trenni.o
144
+ HDRS = $(srcdir)/tag.h $(srcdir)/trenni.h $(srcdir)/markup.h $(srcdir)/query.h $(srcdir)/escape.h $(srcdir)/template.h
144
145
  LOCAL_HDRS =
145
146
  TARGET = trenni
146
147
  TARGET_NAME = trenni
147
148
  TARGET_ENTRY = Init_$(TARGET_NAME)
148
- DLLIB = $(TARGET).bundle
149
+ DLLIB = $(TARGET).so
149
150
  EXTSTATIC =
150
151
  STATIC_LIB =
151
152
 
@@ -259,7 +260,6 @@ $(TARGET_SO): $(OBJS) Makefile
259
260
  $(ECHO) linking shared-object trenni/$(DLLIB)
260
261
  -$(Q)$(RM) $(@)
261
262
  $(Q) $(LDSHARED) -o $@ $(OBJS) $(LIBPATH) $(DLDFLAGS) $(LOCAL_LIBS) $(LIBS)
262
- $(Q) $(POSTLINK)
263
263
 
264
264
 
265
265
 
@@ -0,0 +1,113 @@
1
+ have_func: checking for rb_sym2str()... -------------------- yes
2
+
3
+ "gcc -o conftest -I/home/samuel/.rbenv/versions/2.7.0/include/ruby-2.7.0/x86_64-linux -I/home/samuel/.rbenv/versions/2.7.0/include/ruby-2.7.0/ruby/backward -I/home/samuel/.rbenv/versions/2.7.0/include/ruby-2.7.0 -I../../../../trenni -I/home/samuel/.rbenv/versions/2.7.0/include -O3 -ggdb3 -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 -fPIC -O3 -std=c99 conftest.c -L. -L/home/samuel/.rbenv/versions/2.7.0/lib -Wl,-rpath,/home/samuel/.rbenv/versions/2.7.0/lib -L. -L/home/samuel/.rbenv/versions/2.7.0/lib -fstack-protector-strong -rdynamic -Wl,-export-dynamic -Wl,-rpath,/home/samuel/.rbenv/versions/2.7.0/lib -L/home/samuel/.rbenv/versions/2.7.0/lib -lruby -lm -lc"
4
+ checked program was:
5
+ /* begin */
6
+ 1: #include "ruby.h"
7
+ 2:
8
+ 3: int main(int argc, char **argv)
9
+ 4: {
10
+ 5: return !!argv[argc];
11
+ 6: }
12
+ /* end */
13
+
14
+ "gcc -o conftest -I/home/samuel/.rbenv/versions/2.7.0/include/ruby-2.7.0/x86_64-linux -I/home/samuel/.rbenv/versions/2.7.0/include/ruby-2.7.0/ruby/backward -I/home/samuel/.rbenv/versions/2.7.0/include/ruby-2.7.0 -I../../../../trenni -I/home/samuel/.rbenv/versions/2.7.0/include -O3 -ggdb3 -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 -fPIC -O3 -std=c99 conftest.c -L. -L/home/samuel/.rbenv/versions/2.7.0/lib -Wl,-rpath,/home/samuel/.rbenv/versions/2.7.0/lib -L. -L/home/samuel/.rbenv/versions/2.7.0/lib -fstack-protector-strong -rdynamic -Wl,-export-dynamic -Wl,-rpath,/home/samuel/.rbenv/versions/2.7.0/lib -L/home/samuel/.rbenv/versions/2.7.0/lib -lruby -lm -lc"
15
+ checked program was:
16
+ /* begin */
17
+ 1: #include "ruby.h"
18
+ 2:
19
+ 3: /*top*/
20
+ 4: extern int t(void);
21
+ 5: int main(int argc, char **argv)
22
+ 6: {
23
+ 7: if (argc > 1000000) {
24
+ 8: int (* volatile tp)(void)=(int (*)(void))&t;
25
+ 9: printf("%d", (*tp)());
26
+ 10: }
27
+ 11:
28
+ 12: return !!argv[argc];
29
+ 13: }
30
+ 14: int t(void) { void ((*volatile p)()); p = (void ((*)()))rb_sym2str; return !p; }
31
+ /* end */
32
+
33
+ --------------------
34
+
35
+ have_func: checking for rb_str_cat_cstr()... -------------------- yes
36
+
37
+ "gcc -o conftest -I/home/samuel/.rbenv/versions/2.7.0/include/ruby-2.7.0/x86_64-linux -I/home/samuel/.rbenv/versions/2.7.0/include/ruby-2.7.0/ruby/backward -I/home/samuel/.rbenv/versions/2.7.0/include/ruby-2.7.0 -I../../../../trenni -I/home/samuel/.rbenv/versions/2.7.0/include -O3 -ggdb3 -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 -fPIC -O3 -std=c99 conftest.c -L. -L/home/samuel/.rbenv/versions/2.7.0/lib -Wl,-rpath,/home/samuel/.rbenv/versions/2.7.0/lib -L. -L/home/samuel/.rbenv/versions/2.7.0/lib -fstack-protector-strong -rdynamic -Wl,-export-dynamic -Wl,-rpath,/home/samuel/.rbenv/versions/2.7.0/lib -L/home/samuel/.rbenv/versions/2.7.0/lib -lruby -lm -lc"
38
+ checked program was:
39
+ /* begin */
40
+ 1: #include "ruby.h"
41
+ 2:
42
+ 3: /*top*/
43
+ 4: extern int t(void);
44
+ 5: int main(int argc, char **argv)
45
+ 6: {
46
+ 7: if (argc > 1000000) {
47
+ 8: int (* volatile tp)(void)=(int (*)(void))&t;
48
+ 9: printf("%d", (*tp)());
49
+ 10: }
50
+ 11:
51
+ 12: return !!argv[argc];
52
+ 13: }
53
+ 14: int t(void) { void ((*volatile p)()); p = (void ((*)()))rb_str_cat_cstr; return !p; }
54
+ /* end */
55
+
56
+ --------------------
57
+
58
+ have_func: checking for rb_str_reserve()... -------------------- no
59
+
60
+ "gcc -o conftest -I/home/samuel/.rbenv/versions/2.7.0/include/ruby-2.7.0/x86_64-linux -I/home/samuel/.rbenv/versions/2.7.0/include/ruby-2.7.0/ruby/backward -I/home/samuel/.rbenv/versions/2.7.0/include/ruby-2.7.0 -I../../../../trenni -I/home/samuel/.rbenv/versions/2.7.0/include -O3 -ggdb3 -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 -fPIC -O3 -std=c99 conftest.c -L. -L/home/samuel/.rbenv/versions/2.7.0/lib -Wl,-rpath,/home/samuel/.rbenv/versions/2.7.0/lib -L. -L/home/samuel/.rbenv/versions/2.7.0/lib -fstack-protector-strong -rdynamic -Wl,-export-dynamic -Wl,-rpath,/home/samuel/.rbenv/versions/2.7.0/lib -L/home/samuel/.rbenv/versions/2.7.0/lib -lruby -lm -lc"
61
+ conftest.c: In function ‘t’:
62
+ conftest.c:14:57: error: ‘rb_str_reserve’ undeclared (first use in this function); did you mean ‘rb_str_resize’?
63
+ 14 | int t(void) { void ((*volatile p)()); p = (void ((*)()))rb_str_reserve; return !p; }
64
+ | ^~~~~~~~~~~~~~
65
+ | rb_str_resize
66
+ conftest.c:14:57: note: each undeclared identifier is reported only once for each function it appears in
67
+ conftest.c: At top level:
68
+ cc1: warning: unrecognized command line option ‘-Wno-self-assign’
69
+ cc1: warning: unrecognized command line option ‘-Wno-parentheses-equality’
70
+ cc1: warning: unrecognized command line option ‘-Wno-constant-logical-operand’
71
+ checked program was:
72
+ /* begin */
73
+ 1: #include "ruby.h"
74
+ 2:
75
+ 3: /*top*/
76
+ 4: extern int t(void);
77
+ 5: int main(int argc, char **argv)
78
+ 6: {
79
+ 7: if (argc > 1000000) {
80
+ 8: int (* volatile tp)(void)=(int (*)(void))&t;
81
+ 9: printf("%d", (*tp)());
82
+ 10: }
83
+ 11:
84
+ 12: return !!argv[argc];
85
+ 13: }
86
+ 14: int t(void) { void ((*volatile p)()); p = (void ((*)()))rb_str_reserve; return !p; }
87
+ /* end */
88
+
89
+ "gcc -o conftest -I/home/samuel/.rbenv/versions/2.7.0/include/ruby-2.7.0/x86_64-linux -I/home/samuel/.rbenv/versions/2.7.0/include/ruby-2.7.0/ruby/backward -I/home/samuel/.rbenv/versions/2.7.0/include/ruby-2.7.0 -I../../../../trenni -I/home/samuel/.rbenv/versions/2.7.0/include -O3 -ggdb3 -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 -fPIC -O3 -std=c99 conftest.c -L. -L/home/samuel/.rbenv/versions/2.7.0/lib -Wl,-rpath,/home/samuel/.rbenv/versions/2.7.0/lib -L. -L/home/samuel/.rbenv/versions/2.7.0/lib -fstack-protector-strong -rdynamic -Wl,-export-dynamic -Wl,-rpath,/home/samuel/.rbenv/versions/2.7.0/lib -L/home/samuel/.rbenv/versions/2.7.0/lib -lruby -lm -lc"
90
+ /usr/bin/ld: /tmp/ccwY71Wz.o: in function `t':
91
+ /home/samuel/Documents/ioquatix/trenni/ext/tmp/x86_64-linux/trenni/2.7.0/conftest.c:15: undefined reference to `rb_str_reserve'
92
+ collect2: error: ld returned 1 exit status
93
+ checked program was:
94
+ /* begin */
95
+ 1: #include "ruby.h"
96
+ 2:
97
+ 3: /*top*/
98
+ 4: extern int t(void);
99
+ 5: int main(int argc, char **argv)
100
+ 6: {
101
+ 7: if (argc > 1000000) {
102
+ 8: int (* volatile tp)(void)=(int (*)(void))&t;
103
+ 9: printf("%d", (*tp)());
104
+ 10: }
105
+ 11:
106
+ 12: return !!argv[argc];
107
+ 13: }
108
+ 14: extern void rb_str_reserve();
109
+ 15: int t(void) { rb_str_reserve(); return 0; }
110
+ /* end */
111
+
112
+ --------------------
113
+