Sha256: b583bb7f7c06d7798f66f7f1a664d01f23e67c969d31cdb471d462f3fac95270

Contents?: true

Size: 805 Bytes

Versions: 4

Compression:

Stored size: 805 Bytes

Contents

require 'mkmf'

def duckdb_library_available?(func)
  header = find_header('duckdb.h') || find_header('duckdb.h', '/opt/homebrew/include')
  library = have_func(func, 'duckdb.h') || find_library('duckdb', func, '/opt/homebrew/opt/duckdb/lib')
  header && library
end

def check_duckdb_library(func, version)
  return if duckdb_library_available?(func)

  msg = "duckdb >= #{version} is not found. Install duckdb >= #{version} library and header file."
  puts ''
  puts '*' * 80
  puts msg
  puts '*' * 80
  puts ''
  raise msg
end

dir_config('duckdb')

check_duckdb_library('duckdb_extract_statements', '0.7.0')

# check duckdb >= 0.7.0
have_func('duckdb_extract_statements', 'duckdb.h')

# check duckdb >= 0.8.0
have_func('duckdb_string_is_inlined', 'duckdb.h')

create_makefile('duckdb/duckdb_native')

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
duckdb-0.8.1.3 ext/duckdb/extconf.rb
duckdb-0.8.1.2 ext/duckdb/extconf.rb
duckdb-0.8.1.1 ext/duckdb/extconf.rb
duckdb-0.8.1 ext/duckdb/extconf.rb