From 78ea6cee1bc880c689350b00686cbe4d4eb0af83 Mon Sep 17 00:00:00 2001 From: Chengzhong Wu Date: Sun, 23 Jun 2024 00:15:42 +0100 Subject: [PATCH] build: configure with shared sqlite3 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit PR-URL: https://github.com/nodejs/node/pull/53519 Reviewed-By: Richard Lau Reviewed-By: Joyee Cheung Reviewed-By: Yagiz Nizipli Reviewed-By: Tobias Nießen Reviewed-By: Rafael Gonzaga --- configure.py | 24 ++++++++++++++++++++++++ node.gyp | 2 +- node.gypi | 4 ++++ tools/generate_config_gypi.py | 1 + 4 files changed, 30 insertions(+), 1 deletion(-) diff --git a/configure.py b/configure.py index 3431508b36a..df0d9d822d3 100755 --- a/configure.py +++ b/configure.py @@ -538,6 +538,29 @@ shared_optgroup.add_argument('--shared-cares-libpath', dest='shared_cares_libpath', help='a directory to search for the shared cares DLL') +shared_optgroup.add_argument('--shared-sqlite', + action='store_true', + dest='shared_sqlite', + default=None, + help='link to a shared sqlite DLL instead of static linking') + +shared_optgroup.add_argument('--shared-sqlite-includes', + action='store', + dest='shared_sqlite_includes', + help='directory containing sqlite header files') + +shared_optgroup.add_argument('--shared-sqlite-libname', + action='store', + dest='shared_sqlite_libname', + default='sqlite3', + help='alternative lib name to link to [default: %(default)s]') + +shared_optgroup.add_argument('--shared-sqlite-libpath', + action='store', + dest='shared_sqlite_libpath', + help='a directory to search for the shared sqlite DLL') + + for builtin in shareable_builtins: builtin_id = 'shared_builtin_' + builtin + '_path' shared_builtin_optgroup.add_argument('--shared-builtin-' + builtin + '-path', @@ -2155,6 +2178,7 @@ configure_library('cares', output, pkgname='libcares') configure_library('nghttp2', output, pkgname='libnghttp2') configure_library('nghttp3', output, pkgname='libnghttp3') configure_library('ngtcp2', output, pkgname='libngtcp2') +configure_library('sqlite', output, pkgname='sqlite3') configure_library('uvwasi', output, pkgname='libuvwasi') configure_v8(output) configure_openssl(output) diff --git a/node.gyp b/node.gyp index 0685742e816..bb3de4497f0 100644 --- a/node.gyp +++ b/node.gyp @@ -19,6 +19,7 @@ 'node_shared_http_parser%': 'false', 'node_shared_cares%': 'false', 'node_shared_libuv%': 'false', + 'node_shared_sqlite%': 'false', 'node_shared_uvwasi%': 'false', 'node_shared_nghttp2%': 'false', 'node_use_openssl%': 'true', @@ -543,7 +544,6 @@ 'dependencies': [ 'deps/histogram/histogram.gyp:histogram', - 'deps/sqlite/sqlite.gyp:sqlite', ], 'msvs_settings': { diff --git a/node.gypi b/node.gypi index ccce1243e91..33764e0b6a6 100644 --- a/node.gypi +++ b/node.gypi @@ -220,6 +220,10 @@ 'dependencies': [ 'deps/brotli/brotli.gyp:brotli' ], }], + [ 'node_shared_sqlite=="false"', { + 'dependencies': [ 'deps/sqlite/sqlite.gyp:sqlite' ], + }], + [ 'OS=="mac"', { # linking Corefoundation is needed since certain OSX debugging tools # like Instruments require it for some features diff --git a/tools/generate_config_gypi.py b/tools/generate_config_gypi.py index 071de13b11d..a0734752926 100755 --- a/tools/generate_config_gypi.py +++ b/tools/generate_config_gypi.py @@ -106,6 +106,7 @@ def translate_config(out_dir, config, v8_config): 'node_shared_nghttp3': 'false', 'node_shared_ngtcp2': 'false', 'node_shared_openssl': 'false', + 'node_shared_sqlite': 'false', 'node_shared_zlib': 'false', } }