This reverts commit 7446740638e7d833fde0962e71ef440a6af3c749. The change is not valid as setuptools have deprecated setup.py, while distutils will be supported in existing point releases. Python 3.12 support will require different solution. PR: 268283
57 lines
1.5 KiB
Python
57 lines
1.5 KiB
Python
#!/usr/bin/env python
|
|
# To use:
|
|
# python setup.py install
|
|
#
|
|
|
|
import platform
|
|
|
|
try:
|
|
import distutils
|
|
from distutils import sysconfig
|
|
from distutils.command.install import install
|
|
from distutils.core import setup, Extension
|
|
except:
|
|
raise SystemExit("Distutils problem")
|
|
|
|
install.sub_commands = [x for x in install.sub_commands if 'egg' not in x[0]]
|
|
|
|
prefix = sysconfig.PREFIX
|
|
inc_dirs = [prefix + "/include", "Modules/_sqlite"]
|
|
lib_dirs = [prefix + "/lib"]
|
|
libs = ["sqlite3"]
|
|
macros = [('MODULE_NAME', '"sqlite3"')]
|
|
sqlite_srcs = [
|
|
'_sqlite/connection.c',
|
|
'_sqlite/cursor.c',
|
|
'_sqlite/microprotocols.c',
|
|
'_sqlite/module.c',
|
|
'_sqlite/prepare_protocol.c',
|
|
'_sqlite/row.c',
|
|
'_sqlite/statement.c',
|
|
'_sqlite/util.c']
|
|
|
|
major, minor = map(int, platform.python_version_tuple()[:2])
|
|
|
|
if (major, minor) <= (3, 10):
|
|
sqlite_srcs.append('_sqlite/cache.c',)
|
|
|
|
if (major, minor) >= (3, 11):
|
|
sqlite_srcs.append('_sqlite/blob.c',)
|
|
|
|
try:
|
|
import ctypes
|
|
ctypes.CDLL('libsqlite3.so').sqlite3_load_extension
|
|
except AttributeError:
|
|
macros.append(('SQLITE_OMIT_LOAD_EXTENSION', '1'))
|
|
|
|
setup(name = "sqlite3",
|
|
description = "SQLite 3 extension to Python",
|
|
|
|
ext_modules = [Extension('_sqlite3', sqlite_srcs,
|
|
include_dirs = inc_dirs,
|
|
libraries = libs,
|
|
library_dirs = lib_dirs,
|
|
runtime_library_dirs = lib_dirs,
|
|
define_macros = macros)]
|
|
)
|