Sha256: 2f5c17af35d89ed19fbe5eb02feb0da3c31479b42cb71687a063b7876dbc71c7
Contents?: true
Size: 1.61 KB
Versions: 1
Compression:
Stored size: 1.61 KB
Contents
require 'mkmf' require 'set' ROOT = File.join(__dir__, '..') def with_success(&block) state = [ $CFLAGS, $LDFLAGS, $libs ] block.call.tap {|success| $CFLAGS, $LDFLAGS, $libs = state unless success } end build = Set[] cmake = find_executable('cmake') unless pkg_config('libchdr').tap {|found| puts "found pkg-config for libchdr" if found } || with_success do find_library('chdr', 'chd_open') & find_header('libchdr/chd.h') end $CFLAGS += " -I " + File.join(ROOT, 'libchdr', 'include') $libs += [ 'deps/zlib-1.2.11/libzlib.a', 'deps/lzma-19.00/liblzma.a', 'CMakeFiles/chdr.dir/src/libchdr_chd.c.o', 'CMakeFiles/chdr.dir/src/libchdr_flac.c.o', 'CMakeFiles/chdr.dir/src/libchdr_bitstream.c.o', 'CMakeFiles/chdr.dir/src/libchdr_huffman.c.o', 'CMakeFiles/chdr.dir/src/libchdr_cdrom.c.o', ].map {|l| ' ' + File.join(ROOT, 'build', l) }.join # $libs += [ 'libchdr-static.a', 'liblzma.a', 'libzlib.a' ].map {|l| # ' ' + File.join(ROOT, 'stage', 'lib', l) # }.join(' ') build.add(:libchdr) end create_makefile('chd/core') if build.include?(:libchdr) puts "Building bundled libchdr" Dir.chdir(ROOT) do unless cmake && system(cmake, '-DINSTALL_STATIC_LIBS=on', '-S', 'libchdr', '-B', 'build') && system(cmake, '--build', 'build') abort "failed building libchdr" end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
chd-0.1.1 | ext/extconf.rb |