diff --git a/alt/bindings/binding.gyp b/alt/bindings/binding.gyp index 4d1c3163..597e175e 100644 --- a/alt/bindings/binding.gyp +++ b/alt/bindings/binding.gyp @@ -22,6 +22,21 @@ 'sources': ['src/duckdb_node_bindings.cpp'], 'include_dirs': ['<(module_root_dir)/libduckdb'], 'conditions': [ + ['OS=="linux"', { + 'link_settings': { + 'libraries': [ + '-lduckdb', + '-L<(module_root_dir)/libduckdb', + '-Wl,-rpath,\'$$ORIGIN\'', + ], + }, + 'copies': [ + { + 'files': ['<(module_root_dir)/libduckdb/libduckdb.so'], + 'destination': 'package/lib', + }, + ], + }], ['OS=="mac"', { 'cflags+': ['-fvisibility=hidden'], 'xcode_settings': { diff --git a/alt/bindings/scripts/fetch_libduckdb.py b/alt/bindings/scripts/fetch_libduckdb.py index 2291b378..b8aa79e2 100644 --- a/alt/bindings/scripts/fetch_libduckdb.py +++ b/alt/bindings/scripts/fetch_libduckdb.py @@ -22,9 +22,11 @@ libduckdb_file_names = libduckdb_file_names_for_os[os_name] libduckdb_zip_path = os.path.join(output_dir, "libduckdb.zip") +print("fetching: " + libduckdb_zip_url) urllib.request.urlretrieve(libduckdb_zip_url, libduckdb_zip_path) zip = zipfile.ZipFile(libduckdb_zip_path) for file_name in libduckdb_file_names: + print("extracting: " + file_name) zip.extract(file_name, output_dir)