From 9e4f5cb76e3d59e5f634a5824732dbd60c4c9812 Mon Sep 17 00:00:00 2001 From: Daniele Varrazzo Date: Thu, 7 Jul 2016 12:05:29 +0100 Subject: [PATCH] Added empty options in setup.cfg Setuptools removes them from the sdist, see #453 --- setup.cfg | 15 +++++++-------- setup.py | 7 ++++++- 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/setup.cfg b/setup.cfg index 90a47dd4..0d41934f 100644 --- a/setup.cfg +++ b/setup.cfg @@ -7,24 +7,23 @@ define= # "pg_config" is required to locate PostgreSQL headers and libraries needed to # build psycopg2. If pg_config is not in the path or is installed under a -# different name uncomment the following option and set it to the pg_config -# full path. -#pg_config= +# different name set the following option to the pg_config full path. +pg_config= # Set to 1 to use Python datetime objects for default date/time representation. use_pydatetime=1 # If the build system does not find the mx.DateTime headers, try -# uncommenting the following line and setting its value to the right path. -#mx_include_dir= +# setting its value to the right path. +mx_include_dir= # For Windows only: # Set to 1 if the PostgreSQL library was built with OpenSSL. # Required to link in OpenSSL libraries and dependencies. have_ssl=0 -# Statically link against the postgresql client library. -#static_libpq=1 +# Set to 1 to statically link against the postgresql client library. +static_libpq=0 # Add here eventual extra libraries required to link the module. -#libraries= +libraries= diff --git a/setup.py b/setup.py index 92178ab0..766f38f5 100644 --- a/setup.py +++ b/setup.py @@ -384,6 +384,11 @@ class psycopg_build_ext(build_ext): def finalize_options(self): """Complete the build system configuration.""" + # An empty option in the setup.cfg causes self.libraries to include + # an empty string in the list of libraries + if self.libraries is not None and not self.libraries.strip(): + self.libraries = None + build_ext.finalize_options(self) pg_config_helper = PostgresConfig(self) @@ -515,7 +520,7 @@ if parser.has_option('build_ext', 'mx_include_dir'): mxincludedir = parser.get('build_ext', 'mx_include_dir') else: mxincludedir = os.path.join(get_python_inc(plat_specific=1), "mx") -if os.path.exists(mxincludedir): +if mxincludedir.strip() and os.path.exists(mxincludedir): # Build the support for mx: we will check at runtime if it can be imported include_dirs.append(mxincludedir) define_macros.append(('HAVE_MXDATETIME', '1'))