rmultimarkdown 6.4.0.4 → 6.7.0.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 (76) hide show
  1. checksums.yaml +5 -5
  2. data/Rakefile +7 -13
  3. data/ext/Makefile +67 -55
  4. data/ext/extconf.rb +7 -5
  5. data/ext/mmd/aho-corasick.c +8 -8
  6. data/ext/mmd/aho-corasick.h +3 -3
  7. data/ext/mmd/argtable3.c +6537 -0
  8. data/ext/mmd/argtable3.h +273 -0
  9. data/ext/mmd/beamer.c +12 -1
  10. data/ext/mmd/char.c +120 -27
  11. data/ext/mmd/char.h +23 -23
  12. data/ext/mmd/critic_markup.c +7 -6
  13. data/ext/mmd/d_string.c +88 -32
  14. data/ext/mmd/{include/d_string.h → d_string.h} +50 -38
  15. data/ext/mmd/epub.c +36 -12
  16. data/ext/mmd/epub.h +2 -2
  17. data/ext/mmd/file.c +50 -40
  18. data/ext/mmd/file.h +2 -2
  19. data/ext/mmd/html.c +164 -99
  20. data/ext/mmd/html.h +3 -2
  21. data/ext/mmd/i18n.h +15 -11
  22. data/ext/mmd/itmz-lexer.c +16978 -0
  23. data/ext/mmd/itmz-lexer.h +132 -0
  24. data/ext/mmd/itmz-parser.c +1189 -0
  25. data/ext/mmd/itmz-parser.h +11 -0
  26. data/ext/mmd/itmz-reader.c +388 -0
  27. data/ext/mmd/itmz-reader.h +111 -0
  28. data/ext/mmd/itmz.c +567 -0
  29. data/ext/mmd/itmz.h +117 -0
  30. data/ext/mmd/latex.c +93 -41
  31. data/ext/mmd/lexer.c +3506 -2774
  32. data/ext/mmd/{include/libMultiMarkdown.h → libMultiMarkdown.h} +49 -2
  33. data/ext/mmd/main.c +612 -0
  34. data/ext/mmd/memoir.c +4 -1
  35. data/ext/mmd/miniz.c +6905 -6680
  36. data/ext/mmd/miniz.h +456 -476
  37. data/ext/mmd/mmd.c +399 -94
  38. data/ext/mmd/mmd.h +25 -25
  39. data/ext/mmd/object_pool.h +3 -3
  40. data/ext/mmd/opendocument-content.c +137 -69
  41. data/ext/mmd/opendocument-content.h +2 -2
  42. data/ext/mmd/opendocument.c +35 -14
  43. data/ext/mmd/opendocument.h +2 -2
  44. data/ext/mmd/opml-lexer.c +259 -637
  45. data/ext/mmd/opml-lexer.h +1 -17
  46. data/ext/mmd/opml-parser.c +194 -188
  47. data/ext/mmd/opml-reader.c +72 -142
  48. data/ext/mmd/opml-reader.h +1 -1
  49. data/ext/mmd/opml.c +13 -13
  50. data/ext/mmd/opml.h +1 -1
  51. data/ext/mmd/parser.c +1623 -1244
  52. data/ext/mmd/rng.c +8 -3
  53. data/ext/mmd/scanners.c +66625 -103198
  54. data/ext/mmd/scanners.h +1 -0
  55. data/ext/mmd/stack.c +62 -20
  56. data/ext/mmd/stack.h +10 -21
  57. data/ext/mmd/textbundle.c +23 -7
  58. data/ext/mmd/textbundle.h +2 -2
  59. data/ext/mmd/token.c +42 -16
  60. data/ext/mmd/{include/token.h → token.h} +22 -8
  61. data/ext/mmd/token_pairs.c +0 -16
  62. data/ext/mmd/transclude.c +6 -2
  63. data/ext/mmd/uthash.h +745 -745
  64. data/ext/mmd/version.h +8 -8
  65. data/ext/mmd/writer.c +225 -63
  66. data/ext/mmd/writer.h +50 -36
  67. data/ext/mmd/xml.c +855 -0
  68. data/ext/mmd/xml.h +134 -0
  69. data/ext/mmd/zip.c +71 -4
  70. data/ext/mmd/zip.h +7 -1
  71. data/ext/ruby_multi_markdown.c +9 -18
  72. data/lib/multi_markdown/version.rb +1 -1
  73. data/lib/multi_markdown.bundle +0 -0
  74. data/rmultimarkdown.gemspec +0 -2
  75. metadata +22 -28
  76. data/ext/mmd/char_lookup.c +0 -212
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 127d1e5c1221988395dc6e51c19c047c5924a683
4
- data.tar.gz: d1af5d92f539074b8f8da37430a97067e0ba0e16
2
+ SHA256:
3
+ metadata.gz: '082f8def907eba9f90a7ba7dc44c18adf0fd84c661d22cb64d3e79e8d1289a07'
4
+ data.tar.gz: 6848474690afdd2f99a96db3e552180c23a584a1509f66a39a7e0aac5432fa8b
5
5
  SHA512:
6
- metadata.gz: 07d5879bb8422e502586faf6e1d54cdb3afe30a6c6e006800cfb9ec17269a2d8584eae6080f42597d42510a50947917b7a176043a4831b8ed7190de6d85a5c84
7
- data.tar.gz: 462866bff176ec198f5592be2108578d502053c7e78910f9f345a5d6d833c1d9bc18133748b1672335dc01520d0cf177f3d8b479f234e3cdc60ee0631c9617f3
6
+ metadata.gz: 5b4dc5b9763f3ba60de2abcd8d3c6ec14368579e4cc492d43a37adb036a9dde4fbe0f00893e462ff6418aa9f97d020dd659e6ea93d09232ca758289c8004fed2
7
+ data.tar.gz: 4db801524d1df6639793e91942ef8ddf8de2c68112c3946d087d9ab8d0aa6d8eb83e3d129380f52dc358177a254295342e040ae4bf95f22a53f1a2d4333c3d34
data/Rakefile CHANGED
@@ -2,6 +2,7 @@ require 'rake/clean'
2
2
  require 'rdoc/task'
3
3
  require 'bundler'
4
4
  require 'fileutils'
5
+ require 'rake/testtask'
5
6
 
6
7
  Bundler::GemHelper.install_tasks
7
8
 
@@ -26,23 +27,16 @@ namespace "MultiMarkdown-6" do
26
27
  sh 'make' # creates build/version.h
27
28
 
28
29
  # Copy all c and h files to MMD_DIR which will be released in the gem
29
- ['Sources/libMultiMarkdown', 'build'].each do |dir|
30
+ ['src', 'build'].each do |dir|
30
31
  chdir(dir) do
31
32
  Dir.glob('{.,include}/*.{h,c}').each do |s|
32
- next if s =~ /template/
33
+ next if s =~ /template|char_lookup/
33
34
  dest = "#{MMD_DIR}/#{File.dirname(s)}"
34
35
  FileUtils.mkdir_p(dest)
35
36
  FileUtils.cp(s, dest)
36
37
  end
37
38
  end
38
39
  end
39
-
40
- # We have to disable the ObjectPool. see include/token.h
41
- token_h_file = "#{MMD_DIR}/include/token.h"
42
- IO.write(token_h_file, (File.open(token_h_file) { |f|
43
- f.read.gsub(/#define kUseObjectPool/, "#define kUseObjectPoolDisabled")
44
- }))
45
-
46
40
  end
47
41
  end
48
42
 
@@ -78,10 +72,10 @@ task :test => [ 'test:unit', 'test:conformance' ]
78
72
  namespace :test do
79
73
 
80
74
  desc 'Run unit tests'
81
- task :unit => :build do |t|
82
- FileList['test/*_test.rb'].each do |f|
83
- ruby f
84
- end
75
+ Rake::TestTask.new(:unit => :build) do |t|
76
+ t.libs << 'lib'
77
+ t.libs << 'test'
78
+ t.test_files = FileList['test/**/*_test.rb']
85
79
  end
86
80
 
87
81
  desc "Run conformance tests"
data/ext/Makefile CHANGED
@@ -3,21 +3,22 @@ SHELL = /bin/sh
3
3
 
4
4
  # V=0 quiet, V=1 verbose. other values don't work.
5
5
  V = 0
6
+ V0 = $(V:0=)
6
7
  Q1 = $(V:1=)
7
8
  Q = $(Q1:0=@)
8
- ECHO1 = $(V:1=@:)
9
- ECHO = $(ECHO1:0=@echo)
9
+ ECHO1 = $(V:1=@ :)
10
+ ECHO = $(ECHO1:0=@ echo)
10
11
  NULLCMD = :
11
12
 
12
13
  #### Start of system configuration section. ####
13
14
 
14
15
  srcdir = .
15
- topdir = /opt/rubies/ruby-2.3.1/include/ruby-2.3.0
16
+ topdir = /opt/rubies/ruby-3.4.3/include/ruby-3.4.0
16
17
  hdrdir = $(topdir)
17
- arch_hdrdir = /opt/rubies/ruby-2.3.1/include/ruby-2.3.0/x86_64-darwin14
18
+ arch_hdrdir = /opt/rubies/ruby-3.4.3/include/ruby-3.4.0/arm64-darwin24
18
19
  PATH_SEPARATOR = :
19
20
  VPATH = $(srcdir):$(arch_hdrdir)/ruby:$(hdrdir)/ruby
20
- prefix = $(DESTDIR)/opt/rubies/ruby-2.3.1
21
+ prefix = $(DESTDIR)/opt/rubies/ruby-3.4.3
21
22
  rubysitearchprefix = $(rubylibprefix)/$(sitearch)
22
23
  rubyarchprefix = $(rubylibprefix)/$(arch)
23
24
  rubylibprefix = $(libdir)/$(RUBY_BASE_NAME)
@@ -41,6 +42,7 @@ archincludedir = $(includedir)/$(arch)
41
42
  sitearchlibdir = $(libdir)/$(sitearch)
42
43
  archlibdir = $(libdir)/$(arch)
43
44
  ridir = $(datarootdir)/$(RI_BASE_NAME)
45
+ modular_gc_dir = $(DESTDIR)
44
46
  mandir = $(datarootdir)/man
45
47
  localedir = $(datarootdir)/locale
46
48
  libdir = $(exec_prefix)/lib
@@ -52,6 +54,7 @@ infodir = $(datarootdir)/info
52
54
  docdir = $(datarootdir)/doc/$(PACKAGE)
53
55
  oldincludedir = $(DESTDIR)/usr/include
54
56
  includedir = $(SDKROOT)$(prefix)/include
57
+ runstatedir = $(localstatedir)/run
55
58
  localstatedir = $(prefix)/var
56
59
  sharedstatedir = $(prefix)/com
57
60
  sysconfdir = $(prefix)/etc
@@ -63,56 +66,62 @@ bindir = $(exec_prefix)/bin
63
66
  archdir = $(rubyarchdir)
64
67
 
65
68
 
69
+ CC_WRAPPER =
66
70
  CC = clang
67
71
  CXX = clang++
68
- LIBRUBY = $(LIBRUBY_A)
72
+ LIBRUBY = $(LIBRUBY_SO)
69
73
  LIBRUBY_A = lib$(RUBY_SO_NAME)-static.a
70
- LIBRUBYARG_SHARED =
71
- LIBRUBYARG_STATIC = -l$(RUBY_SO_NAME)-static -framework CoreFoundation
74
+ LIBRUBYARG_SHARED = -l$(RUBY_SO_NAME)
75
+ LIBRUBYARG_STATIC = -l$(RUBY_SO_NAME)-static -framework CoreFoundation $(MAINLIBS)
72
76
  empty =
73
77
  OUTFLAG = -o $(empty)
74
78
  COUTFLAG = -o $(empty)
79
+ CSRCFLAG = $(empty)
75
80
 
76
81
  RUBY_EXTCONF_H = extconf.h
77
- cflags = $(optflags) $(debugflags) $(warnflags)
78
- cxxflags = $(optflags) $(debugflags) $(warnflags)
82
+ cflags = $(hardenflags) -fdeclspec $(optflags) $(debugflags) $(warnflags)
83
+ cxxflags =
79
84
  optflags = -O3 -fno-fast-math
80
85
  debugflags = -ggdb3
81
- warnflags = -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wshorten-64-to-32 -Wimplicit-function-declaration -Wdivision-by-zero -Wdeprecated-declarations -Wextra-tokens
86
+ 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
87
+ cppflags =
82
88
  CCDLFLAGS = -fno-common
83
- CFLAGS = $(CCDLFLAGS) -O3 -Wno-error=shorten-64-to-32 -pipe -fbracket-depth=512 -DNDEBUG=1 $(ARCH_FLAG)
89
+ CFLAGS = $(CCDLFLAGS) $(cflags) -fno-common -pipe -fbracket-depth=512 -DNDEBUG=1 -DDISABLE_OBJECT_POOL $(ARCH_FLAG)
84
90
  INCFLAGS = -I. -I$(arch_hdrdir) -I$(hdrdir)/ruby/backward -I$(hdrdir) -I$(srcdir)
85
91
  DEFS =
86
- CPPFLAGS = -DRUBY_EXTCONF_H=\"$(RUBY_EXTCONF_H)\" -I/Users/tillsc/github/tillsc/multi_markdown/ext/mmd -I/Users/tillsc/github/tillsc/multi_markdown/ext/mmd/include -I/usr/include -I/opt/rubies/ruby-2.3.1/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT $(DEFS) $(cppflags)
87
- CXXFLAGS = $(CCDLFLAGS) $(cxxflags) -fbracket-depth=512 -DNDEBUG=1 $(ARCH_FLAG)
88
- ldflags = -L. -L/opt/rubies/ruby-2.3.1/lib -fstack-protector -L/usr/local/lib
89
- dldflags = -Wl,-undefined,dynamic_lookup -Wl,-multiply_defined,suppress
90
- ARCH_FLAG =
92
+ CPPFLAGS = -DRUBY_EXTCONF_H=\"$(RUBY_EXTCONF_H)\" -I/Users/tillsc/github/tillsc/multi_markdown/ext/mmd -I/opt/rubies/ruby-3.4.3/include -I/usr/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT $(DEFS) $(cppflags)
93
+ CXXFLAGS = $(CCDLFLAGS) -fdeclspec -fbracket-depth=512 -DNDEBUG=1 -DDISABLE_OBJECT_POOL $(ARCH_FLAG)
94
+ ldflags = -L. -fstack-protector-strong
95
+ dldflags = -Wl,-undefined,dynamic_lookup
96
+ ARCH_FLAG = -arch arm64
91
97
  DLDFLAGS = $(ldflags) $(dldflags) $(ARCH_FLAG)
92
98
  LDSHARED = $(CC) -dynamic -bundle
93
99
  LDSHAREDXX = $(CXX) -dynamic -bundle
100
+ POSTLINK = dsymutil $@ 2>/dev/null; { test -z '$(RUBY_CODESIGN)' || codesign -s '$(RUBY_CODESIGN)' $@; }
94
101
  AR = ar
102
+ LD = ld
95
103
  EXEEXT =
96
104
 
97
105
  RUBY_INSTALL_NAME = $(RUBY_BASE_NAME)
98
- RUBY_SO_NAME = ruby
106
+ RUBY_SO_NAME = ruby.3.4
99
107
  RUBYW_INSTALL_NAME =
100
108
  RUBY_VERSION_NAME = $(RUBY_BASE_NAME)-$(ruby_version)
101
109
  RUBYW_BASE_NAME = rubyw
102
110
  RUBY_BASE_NAME = ruby
103
111
 
104
- arch = x86_64-darwin14
112
+ arch = arm64-darwin24
105
113
  sitearch = $(arch)
106
- ruby_version = 2.3.0
114
+ ruby_version = 3.4.0
107
115
  ruby = $(bindir)/$(RUBY_BASE_NAME)
108
116
  RUBY = $(ruby)
109
- ruby_headers = $(hdrdir)/ruby.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 $(RUBY_EXTCONF_H)
117
+ BUILTRUBY = $(bindir)/$(RUBY_BASE_NAME)
118
+ 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 $(RUBY_EXTCONF_H)
110
119
 
111
120
  RM = rm -f
112
- RM_RF = $(RUBY) -run -e rm -- -rf
121
+ RM_RF = rm -fr
113
122
  RMDIRS = rmdir -p
114
- MAKEDIRS = /usr/local/bin/gmkdir -p
115
- INSTALL = /usr/local/bin/ginstall -c
123
+ MAKEDIRS = mkdir -p
124
+ INSTALL = /usr/bin/install -c
116
125
  INSTALL_PROG = $(INSTALL) -m 0755
117
126
  INSTALL_DATA = $(INSTALL) -m 644
118
127
  COPY = cp
@@ -121,9 +130,8 @@ TOUCH = exit >
121
130
  #### End of system configuration section. ####
122
131
 
123
132
  preload =
124
-
125
- libpath = . $(libdir) /opt/rubies/ruby-2.3.1/lib
126
- LIBPATH = -L. -L$(libdir) -L/opt/rubies/ruby-2.3.1/lib
133
+ libpath = . $(libdir) /opt/rubies/ruby-3.4.3/lib
134
+ LIBPATH = -L. -L$(libdir) -L/opt/rubies/ruby-3.4.3/lib
127
135
  DEFFILE =
128
136
 
129
137
  CLEANFILES = mkmf.log
@@ -134,11 +142,12 @@ extout =
134
142
  extout_prefix =
135
143
  target_prefix =
136
144
  LOCAL_LIBS =
137
- LIBS = -lpthread -lgmp -ldl -lobjc
145
+ LIBS = $(LIBRUBYARG_SHARED) -lpthread
138
146
  ORIG_SRCS = ruby_multi_markdown.c
139
- SRCS = $(ORIG_SRCS) memoir.c object_pool.c char_lookup.c textbundle.c miniz.c char.c writer.c beamer.c latex.c stack.c zip.c opendocument.c d_string.c lexer.c token.c transclude.c aho-corasick.c mmd.c uuid.c opml-reader.c html.c epub.c file.c critic_markup.c scanners.c opml-lexer.c parser.c opendocument-content.c opml-parser.c opml.c token_pairs.c rng.c ruby_multi_markdown.c
140
- OBJS = mmd/memoir.o mmd/object_pool.o mmd/char_lookup.o mmd/textbundle.o mmd/miniz.o mmd/char.o mmd/writer.o mmd/beamer.o mmd/latex.o mmd/stack.o mmd/zip.o mmd/opendocument.o mmd/d_string.o mmd/lexer.o mmd/token.o mmd/transclude.o mmd/aho-corasick.o mmd/mmd.o mmd/uuid.o mmd/opml-reader.o mmd/html.o mmd/epub.o mmd/file.o mmd/critic_markup.o mmd/scanners.o mmd/opml-lexer.o mmd/parser.o mmd/opendocument-content.o mmd/opml-parser.o mmd/opml.o mmd/token_pairs.o mmd/rng.o ruby_multi_markdown.o
147
+ SRCS = $(ORIG_SRCS) aho-corasick.c argtable3.c beamer.c char.c critic_markup.c d_string.c epub.c file.c html.c itmz-lexer.c itmz-parser.c itmz-reader.c itmz.c latex.c lexer.c main.c memoir.c miniz.c mmd.c object_pool.c opendocument-content.c opendocument.c opml-lexer.c opml-parser.c opml-reader.c opml.c parser.c rng.c scanners.c stack.c textbundle.c token.c token_pairs.c transclude.c uuid.c writer.c xml.c zip.c ruby_multi_markdown.c
148
+ OBJS = mmd/aho-corasick.o mmd/argtable3.o mmd/beamer.o mmd/char.o mmd/critic_markup.o mmd/d_string.o mmd/epub.o mmd/file.o mmd/html.o mmd/itmz-lexer.o mmd/itmz-parser.o mmd/itmz-reader.o mmd/itmz.o mmd/latex.o mmd/lexer.o mmd/main.o mmd/memoir.o mmd/miniz.o mmd/mmd.o mmd/object_pool.o mmd/opendocument-content.o mmd/opendocument.o mmd/opml-lexer.o mmd/opml-parser.o mmd/opml-reader.o mmd/opml.o mmd/parser.o mmd/rng.o mmd/scanners.o mmd/stack.o mmd/textbundle.o mmd/token.o mmd/token_pairs.o mmd/transclude.o mmd/uuid.o mmd/writer.o mmd/xml.o mmd/zip.o ruby_multi_markdown.o
141
149
  HDRS = $(srcdir)/extconf.h
150
+ LOCAL_HDRS =
142
151
  TARGET = multi_markdown
143
152
  TARGET_NAME = multi_markdown
144
153
  TARGET_ENTRY = Init_$(TARGET_NAME)
@@ -151,15 +160,16 @@ BINDIR = $(bindir)
151
160
  RUBYCOMMONDIR = $(sitedir)$(target_prefix)
152
161
  RUBYLIBDIR = $(sitelibdir)$(target_prefix)
153
162
  RUBYARCHDIR = $(sitearchdir)$(target_prefix)
154
- HDRDIR = $(rubyhdrdir)/ruby$(target_prefix)
155
- ARCHHDRDIR = $(rubyhdrdir)/$(arch)/ruby$(target_prefix)
156
-
157
- TARGET_SO = $(DLLIB)
158
- CLEANLIBS = $(TARGET).bundle
159
- CLEANOBJS = *.o *.bak
163
+ HDRDIR = $(sitehdrdir)$(target_prefix)
164
+ ARCHHDRDIR = $(sitearchhdrdir)$(target_prefix)
165
+ TARGET_SO_DIR =
166
+ TARGET_SO = $(TARGET_SO_DIR)$(DLLIB)
167
+ CLEANLIBS = $(TARGET_SO) $(TARGET_SO:=.dSYM)
168
+ CLEANOBJS = $(OBJS) *.bak
169
+ TARGET_SO_DIR_TIMESTAMP = $(TIMESTAMP_DIR)/.sitearchdir.time
160
170
 
161
171
  all: $(DLLIB)
162
- static: $(STATIC_LIB) install-rb
172
+ static: $(STATIC_LIB)
163
173
  .PHONY: all install static install-so install-rb
164
174
  .PHONY: clean clean-so clean-static clean-rb
165
175
 
@@ -168,7 +178,7 @@ clean-rb-default::
168
178
  clean-rb::
169
179
  clean-so::
170
180
  clean: clean-so clean-static clean-rb-default clean-rb
171
- -$(Q)$(RM) $(CLEANLIBS) $(CLEANOBJS) $(CLEANFILES) .*.time
181
+ -$(Q)$(RM_RF) $(CLEANLIBS) $(CLEANOBJS) $(CLEANFILES) .*.time
172
182
 
173
183
  distclean-rb-default::
174
184
  distclean-rb::
@@ -182,17 +192,19 @@ distclean: clean distclean-so distclean-static distclean-rb-default distclean-rb
182
192
  realclean: distclean
183
193
  install: install-so install-rb
184
194
 
185
- install-so: $(DLLIB) $(TIMESTAMP_DIR)/.RUBYARCHDIR.time
195
+ install-so: $(DLLIB) $(TARGET_SO_DIR_TIMESTAMP)
186
196
  $(INSTALL_PROG) $(DLLIB) $(RUBYARCHDIR)
187
197
  clean-static::
188
198
  -$(Q)$(RM) $(STATIC_LIB)
189
- install-rb: pre-install-rb install-rb-default
190
- install-rb-default: pre-install-rb-default
199
+ install-rb: pre-install-rb do-install-rb install-rb-default
200
+ install-rb-default: pre-install-rb-default do-install-rb-default
191
201
  pre-install-rb: Makefile
192
202
  pre-install-rb-default: Makefile
203
+ do-install-rb:
204
+ do-install-rb-default:
193
205
  pre-install-rb-default:
194
206
  @$(NULLCMD)
195
- $(TIMESTAMP_DIR)/.RUBYARCHDIR.time:
207
+ $(TARGET_SO_DIR_TIMESTAMP):
196
208
  $(Q) $(MAKEDIRS) $(@D) $(RUBYARCHDIR)
197
209
  $(Q) $(TOUCH) $@
198
210
 
@@ -204,53 +216,53 @@ site-install-rb: install-rb
204
216
 
205
217
  .cc.o:
206
218
  $(ECHO) compiling $(<)
207
- $(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -c $<
219
+ $(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -c $(CSRCFLAG)$<
208
220
 
209
221
  .cc.S:
210
222
  $(ECHO) translating $(<)
211
- $(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -S $<
223
+ $(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -S $(CSRCFLAG)$<
212
224
 
213
225
  .mm.o:
214
226
  $(ECHO) compiling $(<)
215
- $(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -c $<
227
+ $(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -c $(CSRCFLAG)$<
216
228
 
217
229
  .mm.S:
218
230
  $(ECHO) translating $(<)
219
- $(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -S $<
231
+ $(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -S $(CSRCFLAG)$<
220
232
 
221
233
  .cxx.o:
222
234
  $(ECHO) compiling $(<)
223
- $(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -c $<
235
+ $(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -c $(CSRCFLAG)$<
224
236
 
225
237
  .cxx.S:
226
238
  $(ECHO) translating $(<)
227
- $(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -S $<
239
+ $(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -S $(CSRCFLAG)$<
228
240
 
229
241
  .cpp.o:
230
242
  $(ECHO) compiling $(<)
231
- $(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -c $<
243
+ $(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -c $(CSRCFLAG)$<
232
244
 
233
245
  .cpp.S:
234
246
  $(ECHO) translating $(<)
235
- $(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -S $<
247
+ $(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -S $(CSRCFLAG)$<
236
248
 
237
249
  .c.o:
238
250
  $(ECHO) compiling $(<)
239
- $(Q) $(CC) $(INCFLAGS) $(CPPFLAGS) $(CFLAGS) $(COUTFLAG)$@ -c $<
251
+ $(Q) $(CC) $(INCFLAGS) $(CPPFLAGS) $(CFLAGS) $(COUTFLAG)$@ -c $(CSRCFLAG)$<
240
252
 
241
253
  .c.S:
242
254
  $(ECHO) translating $(<)
243
- $(Q) $(CC) $(INCFLAGS) $(CPPFLAGS) $(CFLAGS) $(COUTFLAG)$@ -S $<
255
+ $(Q) $(CC) $(INCFLAGS) $(CPPFLAGS) $(CFLAGS) $(COUTFLAG)$@ -S $(CSRCFLAG)$<
244
256
 
245
257
  .m.o:
246
258
  $(ECHO) compiling $(<)
247
- $(Q) $(CC) $(INCFLAGS) $(CPPFLAGS) $(CFLAGS) $(COUTFLAG)$@ -c $<
259
+ $(Q) $(CC) $(INCFLAGS) $(CPPFLAGS) $(CFLAGS) $(COUTFLAG)$@ -c $(CSRCFLAG)$<
248
260
 
249
261
  .m.S:
250
262
  $(ECHO) translating $(<)
251
- $(Q) $(CC) $(INCFLAGS) $(CPPFLAGS) $(CFLAGS) $(COUTFLAG)$@ -S $<
263
+ $(Q) $(CC) $(INCFLAGS) $(CPPFLAGS) $(CFLAGS) $(COUTFLAG)$@ -S $(CSRCFLAG)$<
252
264
 
253
- $(DLLIB): $(OBJS) Makefile
265
+ $(TARGET_SO): $(OBJS) Makefile
254
266
  $(ECHO) linking shared-object $(DLLIB)
255
267
  -$(Q)$(RM) $(@)
256
268
  $(Q) $(LDSHARED) -o $@ $(OBJS) $(LIBPATH) $(DLDFLAGS) $(LOCAL_LIBS) $(LIBS)
data/ext/extconf.rb CHANGED
@@ -4,16 +4,18 @@ LIBDIR = RbConfig::CONFIG['libdir']
4
4
  INCLUDEDIR = RbConfig::CONFIG['includedir']
5
5
 
6
6
  if RbConfig::CONFIG['CC'] == 'clang' || RbConfig::CONFIG['CC_VERSION_MESSAGE'].to_s.include?('clang')
7
- $CFLAGS="#{$CFLAGS} -fbracket-depth=512 -DNDEBUG=1"
8
- $CXXFLAGS="#{$CXXFLAGS} -fbracket-depth=512 -DNDEBUG=1"
7
+ $CFLAGS="#{$CFLAGS} -fbracket-depth=512"
8
+ $CXXFLAGS="#{$CXXFLAGS} -fbracket-depth=512"
9
9
  else
10
- $CFLAGS="#{$CFLAGS} -std=c99 -DNDEBUG=1"
11
- $CXXFLAGS="#{$CXXFLAGS} -std=c99 -DNDEBUG=1"
10
+ $CFLAGS="#{$CFLAGS} -std=c99"
11
+ $CXXFLAGS="#{$CXXFLAGS} -std=c99"
12
12
  end
13
13
 
14
+ $CFLAGS << ' -DNDEBUG=1 -DDISABLE_OBJECT_POOL'
15
+ $CXXFLAGS << ' -DNDEBUG=1 -DDISABLE_OBJECT_POOL'
16
+
14
17
  HEADER_DIRS = [
15
18
  File.expand_path('../mmd', __FILE__),
16
- File.expand_path('../mmd/include', __FILE__),
17
19
  INCLUDEDIR,
18
20
  '/usr/include'
19
21
  ]
@@ -157,7 +157,7 @@ bool trie_insert(trie * a, const char * key, unsigned short match_type) {
157
157
 
158
158
 
159
159
  #ifdef TEST
160
- void Test_trie_insert(CuTest* tc) {
160
+ void Test_trie_insert(CuTest * tc) {
161
161
  trie * a = trie_new(0);
162
162
 
163
163
  CuAssertIntEquals(tc, kTrieStartingSize, a->capacity);
@@ -227,7 +227,7 @@ unsigned short trie_search_match_type(trie * a, const char * query) {
227
227
 
228
228
 
229
229
  #ifdef TEST
230
- void Test_trie_search(CuTest* tc) {
230
+ void Test_trie_search(CuTest * tc) {
231
231
  trie * a = trie_new(0);
232
232
 
233
233
  trie_insert(a, "foo", 42);
@@ -309,7 +309,7 @@ void ac_trie_prepare(trie * a) {
309
309
 
310
310
 
311
311
  #ifdef TEST
312
- void Test_trie_prepare(CuTest* tc) {
312
+ void Test_trie_prepare(CuTest * tc) {
313
313
  trie * a = trie_new(0);
314
314
 
315
315
  trie_insert(a, "a", 1);
@@ -478,9 +478,9 @@ void match_set_filter_leftmost_longest(match * header) {
478
478
  m->next->start > m->start &&
479
479
  m->next->start < m->start + m->len) {
480
480
  // This match is "lefter" than next
481
- #ifndef __clang_analyzer__
481
+ #ifndef __clang_analyzer__
482
482
  match_excise(m->next);
483
- #endif
483
+ #endif
484
484
  }
485
485
 
486
486
  while (m->next &&
@@ -497,9 +497,9 @@ void match_set_filter_leftmost_longest(match * header) {
497
497
  m->prev->start >= m->start) {
498
498
  // We are "lefter" than previous
499
499
  n = m->prev;
500
- #ifndef __clang_analyzer__
500
+ #ifndef __clang_analyzer__
501
501
  match_excise(n);
502
- #endif
502
+ #endif
503
503
  }
504
504
 
505
505
  m = m->next;
@@ -519,7 +519,7 @@ match * ac_trie_leftmost_longest_search(trie * a, const char * source, size_t st
519
519
 
520
520
 
521
521
  #ifdef TEST
522
- void Test_aho_trie_search(CuTest* tc) {
522
+ void Test_aho_trie_search(CuTest * tc) {
523
523
  trie * a = trie_new(0);
524
524
 
525
525
  trie_insert(a, "foo", 42);
@@ -73,7 +73,7 @@ struct trie {
73
73
  size_t size; // How many nodes are in use?
74
74
  size_t capacity; // How many nodes can we hold
75
75
 
76
- trie_node * node; // Pointer to stack of nodes
76
+ trie_node * node; // Pointer to stack of nodes
77
77
  };
78
78
 
79
79
  typedef struct trie trie;
@@ -83,8 +83,8 @@ struct match {
83
83
  size_t start; // Starting offset for this match
84
84
  size_t len; // Length for this match
85
85
  unsigned short match_type; // Match type
86
- struct match * next; // Pointer to next match in list
87
- struct match * prev; // Pointer to previous match in list
86
+ struct match * next; // Pointer to next match in list
87
+ struct match * prev; // Pointer to previous match in list
88
88
  };
89
89
 
90
90
  typedef struct match match;