diff options
author | Matt A. Tobin <email@mattatobin.com> | 2020-02-20 10:02:49 -0500 |
---|---|---|
committer | Matt A. Tobin <email@mattatobin.com> | 2020-02-20 10:02:49 -0500 |
commit | 0e9957c412002000067479e7ce582e8d625e21c0 (patch) | |
tree | fd05e5f2894ac887a0468a3ddd09243ecdba9553 | |
parent | e3d81b698ea104e4b55ee618b931ea1311c04169 (diff) | |
download | UXP-0e9957c412002000067479e7ce582e8d625e21c0.tar UXP-0e9957c412002000067479e7ce582e8d625e21c0.tar.gz UXP-0e9957c412002000067479e7ce582e8d625e21c0.tar.lz UXP-0e9957c412002000067479e7ce582e8d625e21c0.tar.xz UXP-0e9957c412002000067479e7ce582e8d625e21c0.zip |
Issue #1457 - Unfold sqlite3 from nss
-rw-r--r-- | config/external/moz.build | 6 | ||||
-rw-r--r-- | config/external/nss/Makefile.in | 6 | ||||
-rw-r--r-- | config/external/nss/moz.build | 3 | ||||
-rw-r--r-- | config/external/nss/nss.symbols | 1 | ||||
-rw-r--r-- | config/external/sqlite/moz.build | 18 | ||||
-rw-r--r-- | db/sqlite3/src/moz.build | 26 | ||||
-rw-r--r-- | dom/system/OSFileConstants.cpp | 15 | ||||
-rw-r--r-- | moz.build | 3 |
8 files changed, 21 insertions, 57 deletions
diff --git a/config/external/moz.build b/config/external/moz.build index 321ca3a5b..f4013c18a 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 ddf956040..7289e57f4 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 dbf19ff50..bf94d7648 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 c46f86dea..705af4a94 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 31f8e3438..000000000 --- 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 1c26db9c4..70a5f456a 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 86377e75a..ec84d784b 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; @@ -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', |