[Python-checkins] distutils2: Parsing compiler arguments with shlex.split
tarek.ziade
python-checkins at python.org
Sun Jan 30 14:49:25 CET 2011
tarek.ziade pushed 5d00f818f749 to distutils2:
http://hg.python.org/distutils2/rev/5d00f818f749
changeset: 969:5d00f818f749
user: Andre Espaze <andre.espaze at logilab.fr>
date: Sun Jan 30 11:56:32 2011 +0100
summary:
Parsing compiler arguments with shlex.split
Thanks to Julien Jehannet for the tip.
files:
distutils2/config.py
distutils2/tests/test_config.py
diff --git a/distutils2/config.py b/distutils2/config.py
--- a/distutils2/config.py
+++ b/distutils2/config.py
@@ -6,6 +6,7 @@
import re
import sys
from ConfigParser import RawConfigParser
+from shlex import split
from distutils2 import logger
from distutils2.errors import DistutilsOptionError
@@ -17,15 +18,9 @@
def _pop_values(values_dct, key):
"""Remove values from the dictionary and convert them as a list"""
- vals_str = values_dct.pop(key, None)
- if not vals_str:
- return
+ vals_str = values_dct.pop(key, '')
# Get bash options like `gcc -print-file-name=libgcc.a`
- vals = re.search('(`.*?`)', vals_str) or []
- if vals:
- vals = list(vals.groups())
- vals_str = re.sub('`.*?`', '', vals_str)
- vals.extend(vals_str.split())
+ vals = split(vals_str)
if vals:
return vals
diff --git a/distutils2/tests/test_config.py b/distutils2/tests/test_config.py
--- a/distutils2/tests/test_config.py
+++ b/distutils2/tests/test_config.py
@@ -103,7 +103,7 @@
[extension=speed_coconuts]
name = one.speed_coconuts
sources = c_src/speed_coconuts.c
-extra_link_args = `gcc -print-file-name=libgcc.a` -shared
+extra_link_args = "`gcc -print-file-name=libgcc.a`" -shared
define_macros = HAVE_CAIRO HAVE_GTK2
[extension=fast_taunt]
--
Repository URL: http://hg.python.org/distutils2
More information about the Python-checkins
mailing list