forked from Lainports/freebsd-ports
This reverts commit 7446740638.
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
56 lines
1.5 KiB
Python
56 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)]
|
|
)
|