1#!/usr/bin/env python 2# To use: 3# python setup.py install 4# 5 6import platform 7 8try: 9 import distutils 10 from distutils import sysconfig 11 from distutils.command.install import install 12 from distutils.core import setup, Extension 13except: 14 raise SystemExit("Distutils problem") 15 16install.sub_commands = [x for x in install.sub_commands if 'egg' not in x[0]] 17 18prefix = sysconfig.PREFIX 19inc_dirs = [prefix + "/include", "Modules/_sqlite"] 20lib_dirs = [prefix + "/lib"] 21libs = ["sqlite3"] 22macros = [('MODULE_NAME', '"sqlite3"')] 23sqlite_srcs = [ 24'_sqlite/connection.c', 25'_sqlite/cursor.c', 26'_sqlite/microprotocols.c', 27'_sqlite/module.c', 28'_sqlite/prepare_protocol.c', 29'_sqlite/row.c', 30'_sqlite/statement.c', 31'_sqlite/util.c'] 32 33major, minor = map(int, platform.python_version_tuple()[:2]) 34 35if (major, minor) <= (3, 10): 36 sqlite_srcs.append('_sqlite/cache.c',) 37 38try: 39 import ctypes 40 ctypes.CDLL('libsqlite3.so').sqlite3_load_extension 41except AttributeError: 42 macros.append(('SQLITE_OMIT_LOAD_EXTENSION', '1')) 43 44setup(name = "sqlite3", 45 description = "SQLite 3 extension to Python", 46 47 ext_modules = [Extension('_sqlite3', sqlite_srcs, 48 include_dirs = inc_dirs, 49 libraries = libs, 50 library_dirs = lib_dirs, 51 runtime_library_dirs = lib_dirs, 52 define_macros = macros)] 53 ) 54