Commit 20416a20 authored by Ned Deily's avatar Ned Deily

Issue #15560: Ensure consistent sqlite3 behavior and feature availability

by building a local copy of libsqlite3 with OS X installers rather than
depending on the wide range of versions supplied with various OS X releases.
parent 0ed05059
...@@ -190,6 +190,8 @@ EXPECTED_SHARED_LIBS = {} ...@@ -190,6 +190,8 @@ EXPECTED_SHARED_LIBS = {}
def library_recipes(): def library_recipes():
result = [] result = []
LT_10_5 = bool(DEPTARGET < '10.5')
result.extend([ result.extend([
dict( dict(
name="XZ 5.0.3", name="XZ 5.0.3",
...@@ -235,6 +237,24 @@ def library_recipes(): ...@@ -235,6 +237,24 @@ def library_recipes():
getVersion(), getVersion(),
), ),
), ),
dict(
name="SQLite 3.7.13",
url="http://www.sqlite.org/sqlite-autoconf-3071300.tar.gz",
checksum='c97df403e8a3d5b67bb408fcd6aabd8e',
extra_cflags=('-Os '
'-DSQLITE_ENABLE_FTS4 '
'-DSQLITE_ENABLE_FTS3_PARENTHESIS '
'-DSQLITE_ENABLE_RTREE '
'-DSQLITE_TCL=0 '
'%s' % ('','-DSQLITE_WITHOUT_ZONEMALLOC ')[LT_10_5]),
configure_pre=[
'--enable-threadsafe',
'--enable-shared=no',
'--enable-static=yes',
'--disable-readline',
'--disable-dependency-tracking',
]
),
]) ])
if DEPTARGET < '10.5': if DEPTARGET < '10.5':
...@@ -278,24 +298,6 @@ def library_recipes(): ...@@ -278,24 +298,6 @@ def library_recipes():
'1a76781a1ea734e831588285db7ec9b1'), '1a76781a1ea734e831588285db7ec9b1'),
] ]
), ),
dict(
name="SQLite 3.7.4",
url="http://www.sqlite.org/sqlite-autoconf-3070400.tar.gz",
checksum='8f0c690bfb33c3cbbc2471c3d9ba0158',
configure_env=('CFLAGS="-Os'
' -DSQLITE_ENABLE_FTS3'
' -DSQLITE_ENABLE_FTS3_PARENTHESIS'
' -DSQLITE_ENABLE_RTREE'
' -DSQLITE_TCL=0'
'"'),
configure_pre=[
'--enable-threadsafe',
'--enable-shared=no',
'--enable-static=yes',
'--disable-readline',
'--disable-dependency-tracking',
]
),
]) ])
if not PYTHON_3: if not PYTHON_3:
...@@ -779,7 +781,9 @@ def buildRecipe(recipe, basedir, archList): ...@@ -779,7 +781,9 @@ def buildRecipe(recipe, basedir, archList):
if recipe.get('useLDFlags', 1): if recipe.get('useLDFlags', 1):
configure_args.extend([ configure_args.extend([
"CFLAGS=-mmacosx-version-min=%s -arch %s -isysroot %s -I%s/usr/local/include"%( "CFLAGS=%s-mmacosx-version-min=%s -arch %s -isysroot %s "
"-I%s/usr/local/include"%(
recipe.get('extra_cflags', ''),
DEPTARGET, DEPTARGET,
' -arch '.join(archList), ' -arch '.join(archList),
shellQuote(SDKPATH)[1:-1], shellQuote(SDKPATH)[1:-1],
...@@ -792,7 +796,9 @@ def buildRecipe(recipe, basedir, archList): ...@@ -792,7 +796,9 @@ def buildRecipe(recipe, basedir, archList):
]) ])
else: else:
configure_args.extend([ configure_args.extend([
"CFLAGS=-mmacosx-version-min=%s -arch %s -isysroot %s -I%s/usr/local/include"%( "CFLAGS=%s-mmacosx-version-min=%s -arch %s -isysroot %s "
"-I%s/usr/local/include"%(
recipe.get('extra_cflags', ''),
DEPTARGET, DEPTARGET,
' -arch '.join(archList), ' -arch '.join(archList),
shellQuote(SDKPATH)[1:-1], shellQuote(SDKPATH)[1:-1],
...@@ -805,9 +811,6 @@ def buildRecipe(recipe, basedir, archList): ...@@ -805,9 +811,6 @@ def buildRecipe(recipe, basedir, archList):
configure_args.insert(0, configure) configure_args.insert(0, configure)
configure_args = [ shellQuote(a) for a in configure_args ] configure_args = [ shellQuote(a) for a in configure_args ]
if 'configure_env' in recipe:
configure_args.insert(0, recipe['configure_env'])
print("Running configure for %s"%(name,)) print("Running configure for %s"%(name,))
runCommand(' '.join(configure_args) + ' 2>&1') runCommand(' '.join(configure_args) + ' 2>&1')
......
...@@ -317,6 +317,9 @@ Build ...@@ -317,6 +317,9 @@ Build
those shipped with OS X. those shipped with OS X.
- Issue #15560: Fix building _sqlite3 extension on OS X with an SDK. - Issue #15560: Fix building _sqlite3 extension on OS X with an SDK.
Also, for OS X installers, ensure consistent sqlite3 behavior and feature
availability by building a local copy of libsqlite3 rather than
depending on the wide range of versions supplied with various OS X releases.
- Issue #8847: Disable COMDAT folding in Windows PGO builds. - Issue #8847: Disable COMDAT folding in Windows PGO builds.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment