Sha256: d23f20c2410f31e02adf119855bdd910847e886d60715f4a7ad8e6d362934bcc
Contents?: true
Size: 1.75 KB
Versions: 3
Compression:
Stored size: 1.75 KB
Contents
#!/usr/bin/env ruby require 'mkmf' require 'fileutils' include RbConfig include FileUtils ZSTD_VERSION = '1.3.8' ZLIB_VERSION = '1.2.11' RB_VERSION = CONFIG['MAJOR']+'.'+CONFIG['MINOR'] ZMOD_VERSION = RB_VERSION >= '2.3' ? '2.6' : RB_VERSION # Review requirements with every new zlib module release! root = File.dirname(__FILE__) zmod = File.expand_path "ruby/zlib-#{ZMOD_VERSION}", root zlib = File.expand_path "zlib-#{ZLIB_VERSION}", root zstd = File.expand_path "zstd-#{ZSTD_VERSION}/lib", root zlibwrapper = File.expand_path "zstd-#{ZSTD_VERSION}/zlibWrapper", root File.open('zstdlib.c', 'w') do |file| file << %~\n#include <zstd.h>\n~ file << File.read("#{zmod}/zlib.c"). gsub(%~Init_zlib~, %~Init_zstdlib~). gsub(/"([Zz])lib"/, '"\1stdlib"'). gsub(/Zlib(\.|::)/, 'Zstdlib\1'). gsub(%~<zlib.h>~, %~<zstd_zlibwrapper.h>~). gsub(%~Z_DEFAULT_COMPRESSION~, %~ZSTD_CLEVEL_DEFAULT~). gsub(%~Z_BEST_COMPRESSION~, %~ZSTD_maxCLevel()~) file << %~\n/* Ruby: #{RB_VERSION} Zlib: #{ZMOD_VERSION} */\n~ end $srcs = ['zstdlib.c'] $CFLAGS += ' -fomit-frame-pointer -ffast-math -O3' $CPPFLAGS += " -I#{zlib} -I#{zlibwrapper} -I#{zstd} -DZWRAP_USE_ZSTD=1 -DGZIP_SUPPORT=0" $LDFLAGS += ' -s' $LOCAL_LIBS += ' libzlibwrapper.a libz.a libzstd.a' create_makefile('zstdlib') File.open('Makefile', 'a') do |file| file << %~ export CC AR CFLAGS CPPFLAGS $(DLLIB) : libz.a libzstd.a libzlibwrapper.a libzstd.a : \texport SRCDIR=#{zstd} && mkdir -p zstd && $(MAKE) -C zstd -f #{File.expand_path root}/zstd.mk libz.a : \texport SRCDIR=#{zlib} && mkdir -p zlib && $(MAKE) -C zlib -f #{File.expand_path root}/zlib.mk libzlibwrapper.a : \texport SRCDIR=#{zlibwrapper} && mkdir -p zlibwrapper && $(MAKE) -C zlibwrapper -f #{File.expand_path root}/zlibwrapper.mk ~ end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
zstdlib-0.1.1-x86-mingw32 | ext/zstdlib/extconf.rb |
zstdlib-0.1.1-x64-mingw32 | ext/zstdlib/extconf.rb |
zstdlib-0.1.1 | ext/zstdlib/extconf.rb |