Unbundle Node's sqlite copy. Note that this is NOT the sqlite used by Chromium, which is a fork. (Yes, there are two instances of sqlite in Electron) --- src/third_party/electron_node/deps/sqlite/unofficial.gni 2025-04-16 14:39:35.699035282 +0200 +++ /var/tmp/build-root/openSUSE_Tumbleweed-x86_64/home/abuild/rpmbuild/BUILD/nodejs-electron-35.1.5-build/src/third_party/electron_node/deps/sqlite/unofficial.gni 2025-04-18 15:46:13.417442111 +0200 @@ -1,3 +1,4 @@ +import("//build/config/linux/pkg_config.gni") # This file is used by GN for building, which is NOT the build system used for # building official binaries. # Please edit the gyp files if you are making changes to build system. @@ -5,8 +6,8 @@ # The actual configurations are put inside a template in unofficial.gni to # prevent accidental edits from contributors. template("sqlite_gn_build") { - config("sqlite_config") { - include_dirs = [ "." ] + pkg_config("sqlite_config") { + packages = ["sqlite3"] defines = [ "SQLITE_ENABLE_COLUMN_METADATA", "SQLITE_ENABLE_DBSTAT_VTAB", @@ -14,28 +15,9 @@ template("sqlite_gn_build") { ] } - gypi_values = exec_script("../../tools/gypi_to_gn.py", - [ rebase_path("sqlite.gyp") ], - "scope", - [ "sqlite.gyp" ]) source_set(target_name) { forward_variables_from(invoker, "*") public_configs = [ ":sqlite_config" ] - sources = gypi_values.sqlite_sources - cflags_c = [ - "-Wno-implicit-fallthrough", - "-Wno-unreachable-code-return", - "-Wno-unreachable-code-break", - "-Wno-unreachable-code", - ] - if (is_win) { - cflags_c += [ - "-Wno-sign-compare", - "-Wno-unused-but-set-variable", - "-Wno-unused-function", - "-Wno-unused-variable", - ] - } } }