Fix for issue #9164: with this patch sysconfig and distuls don't break
when duplicate '-arch foo' flags end up in CFLAGS (which may happen when
building a universal build using macports)
diff --git a/Lib/distutils/util.py b/Lib/distutils/util.py
index b3ec6e9..4dcfeb5 100644
--- a/Lib/distutils/util.py
+++ b/Lib/distutils/util.py
@@ -144,8 +144,7 @@
                 cflags = get_config_vars().get('CFLAGS')
 
                 archs = re.findall('-arch\s+(\S+)', cflags)
-                archs.sort()
-                archs = tuple(archs)
+                archs = tuple(sorted(set(archs)))
 
                 if len(archs) == 1:
                     machine = archs[0]
diff --git a/Lib/sysconfig.py b/Lib/sysconfig.py
index bbe331e..4559cd7 100644
--- a/Lib/sysconfig.py
+++ b/Lib/sysconfig.py
@@ -645,8 +645,7 @@
                 cflags = get_config_vars().get('CFLAGS')
 
                 archs = re.findall('-arch\s+(\S+)', cflags)
-                archs.sort()
-                archs = tuple(archs)
+                archs = tuple(sorted(set(archs)))
 
                 if len(archs) == 1:
                     machine = archs[0]
diff --git a/Misc/NEWS b/Misc/NEWS
index 86e295e..6235d87 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -33,6 +33,8 @@
 
 - Issue #9128: Fix validation of class decorators in parser module.
 
+- Issue #9164: Ensure sysconfig handles dupblice archs while building on OSX
+
 Extension Modules
 -----------------