Sha256: d76098d75b1fe11a7cadec6145ec4c789b231e332dd5453f0a56e0009f805024

Contents?: true

Size: 798 Bytes

Versions: 2

Compression:

Stored size: 798 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_pending_prepared', '0.5.0')

# check duckdb >= 0.6.0
have_func('duckdb_value_string', 'duckdb.h')

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

create_makefile('duckdb/duckdb_native')

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
duckdb-0.8.0 ext/duckdb/extconf.rb
duckdb-0.7.1 ext/duckdb/extconf.rb