Top Level Namespace

Defined Under Namespace

Modules: DuckDB

Instance Method Summary collapse

Instance Method Details

#check_duckdb_library(func, version) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
# File 'ext/duckdb/extconf.rb', line 9

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

#duckdb_library_available?(func) ⇒ Boolean

Returns:

  • (Boolean)


3
4
5
6
7
# File 'ext/duckdb/extconf.rb', line 3

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