Applied Fred's patch to fix the bugs that John Skaller noticed.
diff --git a/Lib/distutils/sysconfig.py b/Lib/distutils/sysconfig.py
index b5fe187..3eee9b3 100644
--- a/Lib/distutils/sysconfig.py
+++ b/Lib/distutils/sysconfig.py
@@ -15,6 +15,7 @@
def _init_posix():
import os
import re
+ import string
import sys
g = globals()
@@ -35,10 +36,9 @@
m = define_rx.match(line)
if m:
n, v = m.group(1, 2)
- if v == "1":
- g[n] = 1
- else:
- g[n] = v
+ try: v = string.atoi(v)
+ except ValueError: pass
+ g[n] = v
else:
m = undef_rx.match(line)
if m:
@@ -57,9 +57,12 @@
m = variable_rx.match(line)
if m:
n, v = m.group(1, 2)
+ v = string.strip(v)
if "$" in v:
notdone[n] = v
else:
+ try: v = string.atoi(v)
+ except ValueError: pass
done[n] = v
# do variable interpolation here
@@ -79,7 +82,9 @@
if "$" in after:
notdone[name] = value
else:
- done[name] = value
+ try: value = string.atoi(value)
+ except ValueError: pass
+ done[name] = string.strip(value)
del notdone[name]
elif notdone.has_key(n):
# get it on a subsequent round
@@ -91,9 +96,12 @@
if "$" in after:
notdone[name] = value
else:
- done[name] = value
+ try: value = string.atoi(value)
+ except ValueError: pass
+ done[name] = string.strip(value)
del notdone[name]
else:
+ # bogus variable reference; just drop it since we can't deal
del notdone[name]
# save the results in the global dictionary