From 84667c063a1e93a985134f7cef376edf82941c02 Mon Sep 17 00:00:00 2001 From: Brett Cannon Date: Tue, 7 Dec 2004 03:25:18 +0000 Subject: Change code in setup.py for parsing LDFLAGS and CPPFLAGS to use optparse instead of getopt. Required making use of gettext._ as optional (optparse changed OK'ed by Greg Ward in private email). --- Lib/optparse.py | 5 ++++- Misc/NEWS | 2 ++ setup.py | 11 +++++------ 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/Lib/optparse.py b/Lib/optparse.py index 4a3d3a8..6d3c94b 100644 --- a/Lib/optparse.py +++ b/Lib/optparse.py @@ -69,7 +69,10 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. import sys, os import types import textwrap -from gettext import gettext as _ +try: + from gettext import gettext as _ +except ImportError: + _ = lambda arg: arg def _repr(self): return "<%s at 0x%x: %s>" % (self.__class__.__name__, id(self), self) diff --git a/Misc/NEWS b/Misc/NEWS index 380bf9a..ffeb29b 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -25,6 +25,8 @@ Extension Modules Library ------- +- optparse now optionally imports gettext. This allows its use in setup.py. + - the deprecated tzparse module was removed. - the pickle module no longer uses the deprecated bin parameter. diff --git a/setup.py b/setup.py index c9f94ab..807cd59 100644 --- a/setup.py +++ b/setup.py @@ -3,7 +3,7 @@ __version__ = "$Revision$" -import sys, os, imp, re, getopt +import sys, os, imp, re, optparse from distutils import log from distutils import sysconfig @@ -253,11 +253,10 @@ class PyBuildExt(build_ext): ('CPPFLAGS', '-I', self.compiler.include_dirs)): env_val = os.getenv(env_var) if env_val: - # getopt is used instead of optparse because the latter imports - # gettext which imports struct which has not been built yet - # when this method is needed - options = getopt.getopt(env_val.split(), arg_name[1] + ':')[0] - for arg_option, directory in options: + parser = optparse.OptionParser() + parser.add_option(arg_name, dest="dirs", action="append") + options = parser.parse_args(env_val.split())[0] + for directory in options.dirs: add_dir_to_list(dir_list, directory) if os.path.normpath(sys.prefix) != '/usr': -- cgit v0.12