summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatt A. Tobin <email@mattatobin.com>2020-02-20 10:02:49 -0500
committerMatt A. Tobin <email@mattatobin.com>2020-02-20 10:02:49 -0500
commit0e9957c412002000067479e7ce582e8d625e21c0 (patch)
treefd05e5f2894ac887a0468a3ddd09243ecdba9553
parente3d81b698ea104e4b55ee618b931ea1311c04169 (diff)
downloaduxp-0e9957c412002000067479e7ce582e8d625e21c0.tar.gz
Issue #1457 - Unfold sqlite3 from nss
-rw-r--r--config/external/moz.build6
-rw-r--r--config/external/nss/Makefile.in6
-rw-r--r--config/external/nss/moz.build3
-rw-r--r--config/external/nss/nss.symbols1
-rw-r--r--config/external/sqlite/moz.build18
-rw-r--r--db/sqlite3/src/moz.build26
-rw-r--r--dom/system/OSFileConstants.cpp15
-rw-r--r--moz.build3
8 files changed, 21 insertions, 57 deletions
diff --git a/config/external/moz.build b/config/external/moz.build
index 321ca3a5b5..f4013c18a0 100644
--- a/config/external/moz.build
+++ b/config/external/moz.build
@@ -6,10 +6,8 @@
external_dirs = []
-DIRS += [
- 'lgpllibs',
- 'sqlite',
-]
+DIRS += ['lgpllibs']
+
if not CONFIG['MOZ_SYSTEM_JPEG']:
external_dirs += ['media/libjpeg']
diff --git a/config/external/nss/Makefile.in b/config/external/nss/Makefile.in
index ddf956040c..7289e57f4c 100644
--- a/config/external/nss/Makefile.in
+++ b/config/external/nss/Makefile.in
@@ -119,12 +119,8 @@ DEFAULT_GMAKE_FLAGS += NSS_ENABLE_TLS_1_3=1
ifeq ($(OS_ARCH)_$(GNU_CC),WINNT_1)
DEFAULT_GMAKE_FLAGS += OS_DLLFLAGS='-static-libgcc' NSPR31_LIB_PREFIX=lib
endif
-ifdef MOZ_FOLD_LIBS
-DEFAULT_GMAKE_FLAGS += SQLITE_LIB_NAME=nss3
-else
DEFAULT_GMAKE_FLAGS += SQLITE_LIB_NAME=mozsqlite3
-DEFAULT_GMAKE_FLAGS += SQLITE_LIB_DIR=$(ABS_DIST)/../config/external/sqlite
-endif # MOZ_FOLD_LIBS
+DEFAULT_GMAKE_FLAGS += SQLITE_LIB_DIR=$(ABS_DIST)/../db/sqlite3/src
DEFAULT_GMAKE_FLAGS += SQLITE_INCLUDE_DIR=$(ABS_DIST)/include
ifdef NSS_DISABLE_DBM
DEFAULT_GMAKE_FLAGS += NSS_DISABLE_DBM=1
diff --git a/config/external/nss/moz.build b/config/external/nss/moz.build
index dbf19ff509..bf94d7648b 100644
--- a/config/external/nss/moz.build
+++ b/config/external/nss/moz.build
@@ -29,9 +29,10 @@ else:
'/security/nss/lib/smime/smime3',
'/security/nss/lib/ssl/ssl3',
'/security/nss/lib/util/nssutil3',
- 'sqlite',
]
+USE_LIBS += ['sqlite']
+
# XXX: We should fix these warnings.
ALLOW_COMPILER_WARNINGS = True
diff --git a/config/external/nss/nss.symbols b/config/external/nss/nss.symbols
index c46f86dea1..705af4a94a 100644
--- a/config/external/nss/nss.symbols
+++ b/config/external/nss/nss.symbols
@@ -13,7 +13,6 @@
PR_*
PL_*
#endif
-#include ../../../db/sqlite3/src/sqlite.symbols
ATOB_AsciiToData
ATOB_AsciiToData_Util
ATOB_ConvertAsciiToItem
diff --git a/config/external/sqlite/moz.build b/config/external/sqlite/moz.build
deleted file mode 100644
index 31f8e34382..0000000000
--- a/config/external/sqlite/moz.build
+++ /dev/null
@@ -1,18 +0,0 @@
-# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
-# vim: set filetype=python:
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-DIRS += ['../../../db/sqlite3/src']
-if CONFIG['MOZ_FOLD_LIBS']:
- Library('sqlite')
- # When folding libraries, sqlite is actually in the nss library.
- USE_LIBS += [
- 'nss',
- ]
-else:
- SharedLibrary('sqlite')
- SHARED_LIBRARY_NAME = 'mozsqlite3'
-
- SYMBOLS_FILE = '/db/sqlite3/src/sqlite.symbols'
diff --git a/db/sqlite3/src/moz.build b/db/sqlite3/src/moz.build
index 1c26db9c43..70a5f456a3 100644
--- a/db/sqlite3/src/moz.build
+++ b/db/sqlite3/src/moz.build
@@ -3,25 +3,18 @@
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
-NO_VISIBILITY_FLAGS = True
-EXPORTS += [
- 'sqlite3.h',
-]
+NO_VISIBILITY_FLAGS = True
# We allow warnings for third-party code that can be updated from upstream.
ALLOW_COMPILER_WARNINGS = True
-if CONFIG['MOZ_FOLD_LIBS']:
- # When folding libraries, sqlite is actually in the nss library.
- FINAL_LIBRARY = 'nss'
-else:
- # The final library is in config/external/sqlite
- FINAL_LIBRARY = 'sqlite'
+GeckoSharedLibrary('sqlite', linkage=None, mozglue='library')
+SHARED_LIBRARY_NAME = 'mozsqlite3'
+SYMBOLS_FILE = 'sqlite.symbols'
-SOURCES += [
- 'sqlite3.c',
-]
+EXPORTS += ['sqlite3.h']
+SOURCES += ['sqlite3.c']
# -DSQLITE_SECURE_DELETE=1 will cause SQLITE to 0-fill delete data so we
# don't have to vacuum to make sure the data is not visible in the file.
@@ -34,8 +27,11 @@ SOURCES += [
# hidden preference. If that preference is missing or invalid then this value
# will be used.
# Note: Be sure to update the configure.in checks when these change!
-for var in ('SQLITE_SECURE_DELETE', 'SQLITE_THREADSAFE', 'SQLITE_CORE',
- 'SQLITE_ENABLE_FTS3', 'SQLITE_ENABLE_UNLOCK_NOTIFY',
+for var in ('SQLITE_SECURE_DELETE',
+ 'SQLITE_THREADSAFE',
+ 'SQLITE_CORE',
+ 'SQLITE_ENABLE_FTS3',
+ 'SQLITE_ENABLE_UNLOCK_NOTIFY',
'SQLITE_ENABLE_DBSTAT_VTAB'):
DEFINES[var] = 1
diff --git a/dom/system/OSFileConstants.cpp b/dom/system/OSFileConstants.cpp
index 86377e75a0..ec84d784b3 100644
--- a/dom/system/OSFileConstants.cpp
+++ b/dom/system/OSFileConstants.cpp
@@ -1048,22 +1048,11 @@ bool DefineOSFileConstants(JSContext *cx, JS::Handle<JSObject*> global)
}
#endif // defined(XP_MACOSX)
- // sqlite3 is linked from different places depending on the platform
+ // sqlite3 is always a shared lib
nsAutoString libsqlite3;
-#if defined(ANDROID)
- // On Android, we use the system's libsqlite3
- libsqlite3.AppendLiteral(DLL_PREFIX);
- libsqlite3.AppendLiteral("sqlite3");
- libsqlite3.AppendLiteral(DLL_SUFFIX);
-#elif defined(XP_WIN)
- // On Windows, for some reason, this is part of nss3.dll
libsqlite3.AppendLiteral(DLL_PREFIX);
- libsqlite3.AppendLiteral("nss3");
+ libsqlite3.AppendLiteral("mozsqlite3");
libsqlite3.AppendLiteral(DLL_SUFFIX);
-#else
- // On other platforms, we link sqlite3 into libxul
- libsqlite3 = libxul;
-#endif // defined(ANDROID) || defined(XP_WIN)
if (!SetStringProperty(cx, objPath, "libsqlite3", libsqlite3)) {
return false;
diff --git a/moz.build b/moz.build
index 401f938e2e..21c2d5641a 100644
--- a/moz.build
+++ b/moz.build
@@ -69,6 +69,9 @@ if not CONFIG['MOZ_DISABLE_PLATFORM']:
if CONFIG['COMPILE_ENVIRONMENT']:
if not CONFIG['JS_STANDALONE']:
+ # Hopefully build sqlite before nss
+ DIRS += ['db/sqlite3/src']
+
DIRS += [
'config/external',
'config/external/nss',