summaryrefslogtreecommitdiff
path: root/setup.py
diff options
context:
space:
mode:
authorJames Henstridge <james@jamesh.id.au>2008-12-26 23:46:35 +0900
committerJames Henstridge <james@jamesh.id.au>2008-12-26 23:46:35 +0900
commit345a254ca05b0b07f5fc3dbb0520ae00a35fb923 (patch)
treefd316dfda6731d4fb4e7a72f68d2574f5fe62fa2 /setup.py
parente7b8d6505e89571c7637d0377f6a4ce2cc6106b0 (diff)
downloadpsycopg2-345a254ca05b0b07f5fc3dbb0520ae00a35fb923.tar.gz
Remove conditionals on support for booleans and datetimes, since they
are guaranteed to be available in Python 2.4.
Diffstat (limited to 'setup.py')
-rw-r--r--setup.py44
1 files changed, 12 insertions, 32 deletions
diff --git a/setup.py b/setup.py
index 79a9093..80c3e0f 100644
--- a/setup.py
+++ b/setup.py
@@ -46,7 +46,7 @@ Operating System :: Unix
import os
import os.path
import sys
-import popen2
+import subprocess
import ConfigParser
from distutils.core import setup, Extension
from distutils.errors import DistutilsFileError
@@ -55,23 +55,19 @@ from distutils.sysconfig import get_python_inc
from distutils.ccompiler import get_default_compiler
PSYCOPG_VERSION = '2.0.8'
-version_flags = []
+version_flags = ['dt']
PLATFORM_IS_WINDOWS = sys.platform.lower().startswith('win')
-# to work around older distutil limitations
-if sys.version < '2.2.3':
- from distutils.dist import DistributionMetadata
- DistributionMetadata.classifiers = None
- DistributionMetadata.download_url = None
-
def get_pg_config(kind, pg_config="pg_config"):
- if ' ' in pg_config:
- pg_config = '"'+pg_config+'"'
- p = popen2.popen3(pg_config + " --" + kind)
- r = p[0].readline().strip()
+ p = subprocess.Popen([pg_config, "--" + kind],
+ stdin=subprocess.PIPE,
+ stdout=subprocess.PIPE,
+ stderr=subprocess.PIPE)
+ p.stdin.close()
+ r = p.stdout.readline().strip()
if not r:
- raise Warning(p[2].readline())
+ raise Warning(p.stderr.readline())
return r
class psycopg_build_ext(build_ext):
@@ -311,14 +307,6 @@ class psycopg_build_ext(build_ext):
define_macros = []
include_dirs = []
-# python version
-define_macros.append(('PY_MAJOR_VERSION', str(sys.version_info[0])))
-define_macros.append(('PY_MINOR_VERSION', str(sys.version_info[1])))
-
-# some macros related to python versions and features
-if sys.version_info[0] >= 2 and sys.version_info[1] >= 3:
- define_macros.append(('HAVE_PYBOOL','1'))
-
# gather information to build the extension module
ext = [] ; data_files = []
@@ -330,7 +318,7 @@ sources = [
'connection_type.c', 'connection_int.c', 'cursor_type.c', 'cursor_int.c',
'lobject_type.c', 'lobject_int.c',
'adapter_qstring.c', 'adapter_pboolean.c', 'adapter_binary.c',
- 'adapter_asis.c', 'adapter_list.c', 'utils.c']
+ 'adapter_asis.c', 'adapter_list.c', 'adapter_datetime.c', 'utils.c']
parser = ConfigParser.ConfigParser()
parser.read('setup.cfg')
@@ -343,7 +331,7 @@ if sys.version_info[0] >= 2 and (
version_flags.append('dec')
# Choose a datetime module
-have_pydatetime = False
+have_pydatetime = True
have_mxdatetime = False
use_pydatetime = int(parser.get('build_ext', 'use_pydatetime'))
@@ -359,16 +347,8 @@ if os.path.exists(mxincludedir):
have_mxdatetime = True
version_flags.append('mx')
-# check for python datetime package
-if os.path.exists(os.path.join(get_python_inc(plat_specific=1),"datetime.h")):
- define_macros.append(('HAVE_PYDATETIME','1'))
- sources.append('adapter_datetime.c')
- have_pydatetime = True
- version_flags.append('dt')
-
# now decide which package will be the default for date/time typecasts
-if have_pydatetime and use_pydatetime \
- or have_pydatetime and not have_mxdatetime:
+if have_pydatetime and (use_pydatetime or not have_mxdatetime):
define_macros.append(('PSYCOPG_DEFAULT_PYDATETIME','1'))
elif have_mxdatetime:
define_macros.append(('PSYCOPG_DEFAULT_MXDATETIME','1'))