[Python-checkins] cpython: Issue #15560: Ensure consistent sqlite3 behavior and feature availability

ned.deily python-checkins at python.org
Tue Aug 7 12:12:53 CEST 2012


http://hg.python.org/cpython/rev/59223da36dec
changeset:   78460:59223da36dec
user:        Ned Deily <nad at acm.org>
date:        Tue Aug 07 03:10:57 2012 -0700
summary:
  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.

files:
  Mac/BuildScript/build-installer.py |  51 +++++++++--------
  Misc/NEWS                          |   3 +
  2 files changed, 30 insertions(+), 24 deletions(-)


diff --git a/Mac/BuildScript/build-installer.py b/Mac/BuildScript/build-installer.py
--- a/Mac/BuildScript/build-installer.py
+++ b/Mac/BuildScript/build-installer.py
@@ -190,6 +190,8 @@
 def library_recipes():
     result = []
 
+    LT_10_5 = bool(DEPTARGET < '10.5')
+
     result.extend([
           dict(
               name="XZ 5.0.3",
@@ -235,7 +237,25 @@
                   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':
         result.extend([
@@ -278,24 +298,6 @@
                    '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:
@@ -779,7 +781,9 @@
 
         if recipe.get('useLDFlags', 1):
             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,
                         ' -arch '.join(archList),
                         shellQuote(SDKPATH)[1:-1],
@@ -792,7 +796,9 @@
             ])
         else:
             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,
                         ' -arch '.join(archList),
                         shellQuote(SDKPATH)[1:-1],
@@ -805,9 +811,6 @@
         configure_args.insert(0, configure)
         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,))
         runCommand(' '.join(configure_args) + ' 2>&1')
 
diff --git a/Misc/NEWS b/Misc/NEWS
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -317,6 +317,9 @@
   those shipped with OS X.
 
 - 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.
 

-- 
Repository URL: http://hg.python.org/cpython


More information about the Python-checkins mailing list