#!/usr/bin/env ruby require 'rbconfig' def method_missing(s, *args) if v = Config::CONFIG[s] || Config::CONFIG[s.upcase] return v else puts "missing: #{s}" super end end require 'mkmf' if defined?(CFLAGS) if CFLAGS.index(CONFIG['CCDLFLAGS']) $CFLAGS = CFLAGS + ' ' + CONFIG['CCDLFLAGS'] else $CFLAGS = CFLAGS end else $CFLAGS = CONFIG['CFLAGS'] end $LDFLAGS = CONFIG['LDFLAGS'] $LIBPATH.push(Config::CONFIG['libdir']) def crash(str) printf(" extconf failure: %s\n", str) exit 1 end dir_config('iconv') dir_config('xml2') dir_config('zlib') have_library('socket','socket') have_library('nsl','gethostbyname') unless have_library('m', 'atan') # try again for gcc 4.0 saveflags = $CFLAGS $CFLAGS += ' -fno-builtin' unless have_library('m', 'atan') crash('need libm') end $CFLAGS = saveflags end unless have_library('z', 'inflate') or have_library('zlib', 'inflate') or have_library('zlib1', 'inflate') crash('need zlib') else $defs.push('-DHAVE_ZLIB_H') end unless have_library('iconv','iconv_open') or have_library('iconv','libiconv_open') or have_library('libiconv', 'libiconv_open') or have_library('libiconv', 'iconv_open') or have_library('c','iconv_open') or have_library('recode','iconv_open') or have_library('iconv') crash(<