Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 20416a2

Browse files
committed
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.
1 parent 0ed0505 commit 20416a2

2 files changed

Lines changed: 30 additions & 24 deletions

File tree

Mac/BuildScript/build-installer.py

Lines changed: 27 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -190,6 +190,8 @@ def getFullVersion():
190190
def library_recipes():
191191
result = []
192192

193+
LT_10_5 = bool(DEPTARGET < '10.5')
194+
193195
result.extend([
194196
dict(
195197
name="XZ 5.0.3",
@@ -235,7 +237,25 @@ def library_recipes():
235237
getVersion(),
236238
),
237239
),
238-
])
240+
dict(
241+
name="SQLite 3.7.13",
242+
url="http://www.sqlite.org/sqlite-autoconf-3071300.tar.gz",
243+
checksum='c97df403e8a3d5b67bb408fcd6aabd8e',
244+
extra_cflags=('-Os '
245+
'-DSQLITE_ENABLE_FTS4 '
246+
'-DSQLITE_ENABLE_FTS3_PARENTHESIS '
247+
'-DSQLITE_ENABLE_RTREE '
248+
'-DSQLITE_TCL=0 '
249+
'%s' % ('','-DSQLITE_WITHOUT_ZONEMALLOC ')[LT_10_5]),
250+
configure_pre=[
251+
'--enable-threadsafe',
252+
'--enable-shared=no',
253+
'--enable-static=yes',
254+
'--disable-readline',
255+
'--disable-dependency-tracking',
256+
]
257+
),
258+
])
239259

240260
if DEPTARGET < '10.5':
241261
result.extend([
@@ -278,24 +298,6 @@ def library_recipes():
278298
'1a76781a1ea734e831588285db7ec9b1'),
279299
]
280300
),
281-
dict(
282-
name="SQLite 3.7.4",
283-
url="http://www.sqlite.org/sqlite-autoconf-3070400.tar.gz",
284-
checksum='8f0c690bfb33c3cbbc2471c3d9ba0158',
285-
configure_env=('CFLAGS="-Os'
286-
' -DSQLITE_ENABLE_FTS3'
287-
' -DSQLITE_ENABLE_FTS3_PARENTHESIS'
288-
' -DSQLITE_ENABLE_RTREE'
289-
' -DSQLITE_TCL=0'
290-
'"'),
291-
configure_pre=[
292-
'--enable-threadsafe',
293-
'--enable-shared=no',
294-
'--enable-static=yes',
295-
'--disable-readline',
296-
'--disable-dependency-tracking',
297-
]
298-
),
299301
])
300302

301303
if not PYTHON_3:
@@ -779,7 +781,9 @@ def buildRecipe(recipe, basedir, archList):
779781

780782
if recipe.get('useLDFlags', 1):
781783
configure_args.extend([
782-
"CFLAGS=-mmacosx-version-min=%s -arch %s -isysroot %s -I%s/usr/local/include"%(
784+
"CFLAGS=%s-mmacosx-version-min=%s -arch %s -isysroot %s "
785+
"-I%s/usr/local/include"%(
786+
recipe.get('extra_cflags', ''),
783787
DEPTARGET,
784788
' -arch '.join(archList),
785789
shellQuote(SDKPATH)[1:-1],
@@ -792,7 +796,9 @@ def buildRecipe(recipe, basedir, archList):
792796
])
793797
else:
794798
configure_args.extend([
795-
"CFLAGS=-mmacosx-version-min=%s -arch %s -isysroot %s -I%s/usr/local/include"%(
799+
"CFLAGS=%s-mmacosx-version-min=%s -arch %s -isysroot %s "
800+
"-I%s/usr/local/include"%(
801+
recipe.get('extra_cflags', ''),
796802
DEPTARGET,
797803
' -arch '.join(archList),
798804
shellQuote(SDKPATH)[1:-1],
@@ -805,9 +811,6 @@ def buildRecipe(recipe, basedir, archList):
805811
configure_args.insert(0, configure)
806812
configure_args = [ shellQuote(a) for a in configure_args ]
807813

808-
if 'configure_env' in recipe:
809-
configure_args.insert(0, recipe['configure_env'])
810-
811814
print("Running configure for %s"%(name,))
812815
runCommand(' '.join(configure_args) + ' 2>&1')
813816

Misc/NEWS

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -317,6 +317,9 @@ Build
317317
those shipped with OS X.
318318

319319
- Issue #15560: Fix building _sqlite3 extension on OS X with an SDK.
320+
Also, for OS X installers, ensure consistent sqlite3 behavior and feature
321+
availability by building a local copy of libsqlite3 rather than
322+
depending on the wide range of versions supplied with various OS X releases.
320323

321324
- Issue #8847: Disable COMDAT folding in Windows PGO builds.
322325

0 commit comments

Comments
 (0)