<pre style='margin:0'>
Joshua Root (jmroot) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/36a4990f197af54e31881f5e5a59b880c51116dd">https://github.com/macports/macports-ports/commit/36a4990f197af54e31881f5e5a59b880c51116dd</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'>     new 36a4990f197 adapt ports to muniversal and base changes
</span>36a4990f197 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 36a4990f197af54e31881f5e5a59b880c51116dd
</span>Author: Joshua Root <jmr@macports.org>
AuthorDate: Sun Jan 31 07:05:59 2021 +1100

<span style='display:block; white-space:pre;color:#404040;'>    adapt ports to muniversal and base changes
</span>---
 aqua/NicePlayer/Portfile                       |  2 +-
 aqua/TeXShop/Portfile                          |  2 +-
 aqua/phantomjs-qt/Portfile                     | 14 +++++++----
 aqua/qt3-mac/Portfile                          |  7 +-----
 aqua/qt4-mac/Portfile                          |  4 +--
 aqua/qt53/Portfile                             | 14 +++++++----
 aqua/qt55/Portfile                             | 14 +++++++----
 aqua/qt56/Portfile                             | 14 +++++++----
 aqua/qt57/Portfile                             | 14 +++++++----
 aqua/qt58/Portfile                             | 12 ++++++---
 archivers/lz4/Portfile                         |  5 +++-
 archivers/paq8/Portfile                        | 11 ++-------
 archivers/ucl/Portfile                         |  5 +++-
 audio/flac/Portfile                            |  2 +-
 audio/lpcnetfreedv/Portfile                    |  5 +++-
 audio/mpg123/Portfile                          |  5 +++-
 audio/wavpack/Portfile                         |  7 ++++--
 databases/db53/Portfile                        |  5 +++-
 databases/db62/Portfile                        |  5 +++-
 databases/leveldb/Portfile                     |  5 +++-
 databases/mongodb/Portfile                     |  5 +++-
 databases/mysql5/Portfile                      |  2 +-
 databases/mysql51/Portfile                     |  2 +-
 databases/mysql55-lib_mysqludf_fproj4/Portfile |  2 +-
 databases/mysql55-lib_mysqludf_json/Portfile   |  2 +-
 databases/openldap/Portfile                    |  2 +-
 databases/postgis2/Portfile                    |  2 +-
 databases/postgis3/Portfile                    |  2 +-
 databases/postgresql10/Portfile                |  7 ++++--
 databases/postgresql11/Portfile                |  7 ++++--
 databases/postgresql12/Portfile                |  7 ++++--
 databases/postgresql13/Portfile                |  7 ++++--
 databases/postgresql82/Portfile                |  5 +++-
 databases/postgresql84/Portfile                |  4 +--
 databases/postgresql90/Portfile                |  7 ++++--
 databases/postgresql91/Portfile                |  7 ++++--
 databases/postgresql92/Portfile                |  7 ++++--
 databases/postgresql93/Portfile                |  7 ++++--
 databases/postgresql94/Portfile                |  7 ++++--
 databases/postgresql95/Portfile                |  7 ++++--
 databases/postgresql96/Portfile                |  7 ++++--
 databases/qdbm/Portfile                        |  8 +++---
 devel/ResIL/Portfile                           |  5 +++-
 devel/appstream-glib/Portfile                  |  5 +++-
 devel/apr-util/Portfile                        |  4 +--
 devel/apr/Portfile                             |  6 ++---
 devel/atk/Portfile                             |  5 +++-
 devel/boost/Portfile                           | 17 +++++++------
 devel/boost169/Portfile                        | 15 +++++++-----
 devel/ccache/Portfile                          |  5 +++-
 devel/cryptlib/Portfile                        |  7 ++++--
 devel/dparser/Portfile                         |  7 ++++--
 devel/dub/Portfile                             |  5 +++-
 devel/gmp/Portfile                             |  5 +++-
 devel/gnutls/Portfile                          |  5 +++-
 devel/judy/Portfile                            |  5 +++-
 devel/ld64/Portfile                            |  5 +++-
 devel/legacy-support/Portfile                  |  5 +++-
 devel/libgcrypt/Portfile                       |  4 +--
 devel/libgii/Portfile                          |  7 ++++--
 devel/libgpg-error/Portfile                    |  5 +++-
 devel/liboil/Portfile                          |  5 +++-
 devel/libsdl/Portfile                          |  2 +-
 devel/libsockets/Portfile                      |  2 +-
 devel/lzo/Portfile                             |  2 +-
 devel/mcpp/Portfile                            |  6 ++---
 devel/mpir/Portfile                            |  5 +++-
 devel/ncurses/Portfile                         |  4 +--
 devel/nettle/Portfile                          |  5 +++-
 devel/nspr/Portfile                            |  5 +++-
 devel/nu/Portfile                              |  7 +-----
 devel/openssl/Portfile                         |  9 ++++---
 devel/openssl10/Portfile                       |  9 ++++---
 devel/orbit2/Portfile                          |  5 +++-
 devel/ossp-uuid/Portfile                       |  5 +++-
 devel/pth/Portfile                             |  9 ++++---
 devel/qt5-qtcreator/Portfile                   |  4 +--
 devel/tbb/Portfile                             |  5 +++-
 devel/xapian-core/Portfile                     |  4 +--
 emulators/mednafen/Portfile                    |  5 +++-
 games/jnethack/Portfile                        |  2 +-
 gis/gdal-grass/Portfile                        |  2 +-
 gis/gdal/Portfile                              |  2 +-
 gis/libproj4/Portfile                          | 19 +++-----------
 gnome/at-spi2-core/Portfile                    |  5 +++-
 gnome/eog/Portfile                             |  5 +++-
 gnome/gcab/Portfile                            |  5 +++-
 gnome/gedit/Portfile                           |  5 +++-
 gnome/geocode-glib/Portfile                    |  5 +++-
 gnome/gexiv2/Portfile                          |  5 +++-
 gnome/gnome-desktop/Portfile                   |  5 +++-
 gnome/grilo/Portfile                           |  5 +++-
 gnome/gsettings-desktop-schemas/Portfile       |  5 +++-
 gnome/gstreamer010-gst-ffmpeg/Portfile         |  5 +++-
 gnome/gstreamer010-gst-plugins-bad/Portfile    |  6 ++++-
 gnome/gstreamer010-gst-plugins-base/Portfile   |  7 ++++--
 gnome/gstreamer010-gst-plugins-gl/Portfile     |  5 +++-
 gnome/gstreamer010-gst-plugins-good/Portfile   |  5 +++-
 gnome/gstreamer010-gst-plugins-ugly/Portfile   |  5 +++-
 gnome/gstreamer010/Portfile                    |  5 +++-
 gnome/gstreamer1-gst-libav/Portfile            |  5 +++-
 gnome/gstreamer1-gst-plugins-bad/Portfile      |  8 ++++--
 gnome/gstreamer1-gst-plugins-base/Portfile     | 10 +++++---
 gnome/gstreamer1-gst-plugins-good/Portfile     |  5 +++-
 gnome/gstreamer1-gst-plugins-ugly/Portfile     |  5 +++-
 gnome/gstreamer1/Portfile                      |  5 +++-
 gnome/gtk2/Portfile                            |  7 ++++--
 gnome/gtk3/Portfile                            |  8 ++++--
 gnome/gtksourceview4/Portfile                  |  5 +++-
 gnome/gucharmap/Portfile                       |  5 +++-
 gnome/libchamplain/Portfile                    |  5 +++-
 gnome/libdazzle/Portfile                       |  5 +++-
 gnome/libgdata/Portfile                        |  5 +++-
 gnome/libgit2-glib/Portfile                    |  5 +++-
 gnome/libpeas/Portfile                         |  5 +++-
 gnome/libsoup/Portfile                         |  5 +++-
 gnome/oxygen-gtk2/Portfile                     |  2 +-
 gnome/totem-pl-parser/Portfile                 |  5 +++-
 graphics/AntTweakBar/Portfile                  |  9 ++-----
 graphics/babl-devel/Portfile                   |  5 +++-
 graphics/babl/Portfile                         |  5 +++-
 graphics/cairo-devel/Portfile                  |  5 +++-
 graphics/cairo/Portfile                        |  5 +++-
 graphics/exiftags/Portfile                     |  7 +-----
 graphics/gdk-pixbuf2/Portfile                  |  5 +++-
 graphics/gegl-0.3/Portfile                     | 13 ++++++----
 graphics/gegl-devel/Portfile                   |  5 +++-
 graphics/gegl/Portfile                         |  5 +++-
 graphics/graphene/Portfile                     |  5 +++-
 graphics/lcms2/Portfile                        |  5 +++-
 graphics/libQGLViewer/Portfile                 |  7 ++++--
 graphics/libggi/Portfile                       |  7 ++++--
 graphics/libggiwmh/Portfile                    |  7 ++++--
 graphics/libguichan/Portfile                   |  7 +++++-
 graphics/libjpeg-turbo/Portfile                |  5 +++-
 graphics/metapixel/Portfile                    | 13 +++-------
 graphics/mozjpeg/Portfile                      |  5 +++-
 graphics/opencv/Portfile                       |  9 +++++--
 graphics/opencv3/Portfile                      |  9 +++++--
 graphics/opencv4/Portfile                      |  5 +++-
 graphics/povray/Portfile                       | 22 ++++-------------
 lang/chicken/Portfile                          |  7 ++++--
 lang/dmd-tools/Portfile                        |  5 +++-
 lang/dmd/Portfile                              |  5 +++-
 lang/druntime/Portfile                         |  5 +++-
 lang/gcc-devel/Portfile                        |  4 +--
 lang/gcc43/Portfile                            |  2 +-
 lang/gcc44/Portfile                            |  2 +-
 lang/gcc45/Portfile                            |  4 +--
 lang/gcc46/Portfile                            |  2 +-
 lang/gcc47/Portfile                            |  2 +-
 lang/gcc48/Portfile                            |  2 +-
 lang/gcc49/Portfile                            |  2 +-
 lang/gcc5/Portfile                             |  2 +-
 lang/gcc6/Portfile                             |  4 +--
 lang/gcc7/Portfile                             |  4 +--
 lang/gcc8/Portfile                             |  4 +--
 lang/gcc9/Portfile                             |  4 +--
 lang/guile18/Portfile                          |  5 +++-
 lang/mozart/Portfile                           |  9 ++-----
 lang/mozjs52/Portfile                          |  5 +++-
 lang/mozjs60/Portfile                          |  7 ++++--
 lang/perl5/Portfile                            |  4 +--
 lang/phobos/Portfile                           | 11 ++++-----
 lang/ruby/Portfile                             |  7 ++++--
 lang/ruby186/Portfile                          |  7 ++++--
 lang/spidermonkey/Portfile                     |  5 +++-
 lang/squeak/Portfile                           |  7 ++++--
 mail/base91/Portfile                           |  9 ++-----
 mail/libmilter/Portfile                        |  2 +-
 mail/pop3proxy/Portfile                        |  7 +-----
 mail/postfix/Portfile                          | 13 +++-------
 math/DSDP/Portfile                             |  5 +++-
 math/OpenBLAS/Portfile                         | 34 ++++++++++++++------------
 math/arpack/Portfile                           |  8 ++++--
 math/atlas/Portfile                            |  5 +++-
 math/fftw-3/Portfile                           |  6 ++---
 math/gr1c/Portfile                             |  5 +++-
 math/gts/Portfile                              |  5 +++-
 math/libtommath/Portfile                       |  7 +-----
 math/lp_solve/Portfile                         |  5 +++-
 math/mumps/Portfile                            |  8 ++++--
 math/octave/Portfile                           |  5 +++-
 math/pari/Portfile                             |  2 +-
 math/petsc/Portfile                            |  8 ++++--
 math/qrupdate/Portfile                         |  2 +-
 math/slepc/Portfile                            |  7 ++++--
 multimedia/XviD/Portfile                       |  5 +++-
 multimedia/dav1d/Portfile                      | 11 +++++----
 multimedia/ffmpeg-devel/Portfile               |  5 +++-
 multimedia/ffmpeg/Portfile                     |  5 +++-
 multimedia/libass/Portfile                     |  9 ++++---
 multimedia/libvpx/Portfile                     |  5 +++-
 multimedia/mlt/Portfile                        |  5 +++-
 multimedia/mpeg2vidcodec/Portfile              |  5 +---
 multimedia/x264/Portfile                       | 14 ++++++-----
 multimedia/x265/Portfile                       | 11 +++++----
 net/baresip/Portfile                           |  5 +++-
 net/curl/Portfile                              |  2 +-
 net/libgweather/Portfile                       |  5 +++-
 net/libre/Portfile                             |  5 +++-
 net/librem/Portfile                            |  5 +++-
 net/ncid/Portfile                              |  8 +-----
 net/nss/Portfile                               |  7 ++++--
 net/restund/Portfile                           |  5 +++-
 net/socket/Portfile                            |  9 ++-----
 net/squid2/Portfile                            |  2 +-
 net/squid3/Portfile                            |  2 +-
 net/squid4/Portfile                            |  2 +-
 net/tcpdstat/Portfile                          |  7 +-----
 perl/p5-net-libidn/Portfile                    |  8 +-----
 print/epstool/Portfile                         | 14 ++---------
 print/ps2eps/Portfile                          |  7 +-----
 python/py-gobject3/Portfile                    |  5 +++-
 python/py-numpy/Portfile                       |  2 +-
 python/py-pyqt4/Portfile                       |  2 +-
 python/py-pyqwt/Portfile                       |  2 +-
 python/py-sip/Portfile                         |  6 +++--
 python/py27-gobject3/Portfile                  |  5 +++-
 ruby/rb-cocoa/Portfile                         | 14 ++++++-----
 science/fldigi/Portfile                        |  2 +-
 science/gamess/Portfile                        |  2 +-
 science/hdf5/Portfile                          |  2 +-
 science/libsc/Portfile                         |  5 +++-
 science/mpich/Portfile                         | 14 +++++------
 science/netcdf-fortran/Portfile                |  5 +++-
 science/netcdf/Portfile                        |  8 ++++--
 science/opencascade/Portfile                   |  5 +++-
 science/openmpi/Portfile                       |  5 +++-
 science/p4est/Portfile                         |  5 +++-
 science/plplot/Portfile                        |  5 +++-
 science/plplot510/Portfile                     |  5 +++-
 science/stellarium-qt4/Portfile                |  2 +-
 science/vis5d/Portfile                         |  7 ++++--
 science/wgrib2/Portfile                        |  9 ++-----
 security/botan/Portfile                        |  5 +++-
 security/botan1/Portfile                       |  5 +++-
 security/nasty/Portfile                        |  9 ++-----
 sysutils/afsctool/Portfile                     |  7 +-----
 sysutils/asprint/Portfile                      |  7 +-----
 sysutils/augeas/Portfile                       |  8 ++++--
 sysutils/clamav/Portfile                       |  2 +-
 sysutils/crswallow/Portfile                    |  7 +-----
 sysutils/endian/Portfile                       |  7 +-----
 sysutils/findutils/Portfile                    |  5 +++-
 sysutils/log4shib/Portfile                     |  2 +-
 sysutils/mdate/Portfile                        |  7 +-----
 sysutils/memcached/Portfile                    |  5 +++-
 sysutils/memtester/Portfile                    |  7 +-----
 sysutils/showkey/Portfile                      |  7 +-----
 sysutils/sysvbanner/Portfile                   |  7 +-----
 sysutils/timeout/Portfile                      |  7 +-----
 sysutils/wait_on/Portfile                      |  7 +-----
 tex/bibutils/Portfile                          |  6 +----
 tex/texlive-bin/Portfile                       |  9 ++++---
 textproc/antiword/Portfile                     |  7 +-----
 textproc/canna/Portfile                        |  6 +----
 textproc/hexdiff/Portfile                      |  7 +-----
 textproc/juman6/Portfile                       |  5 +++-
 textproc/libiconv/Portfile                     |  5 +++-
 textproc/nkf/Portfile                          |  8 +-----
 www/libwww/Portfile                            |  6 +----
 www/neon/Portfile                              |  4 +--
 www/webkit-gtk-2.0/Portfile                    |  8 ++++--
 www/webkit-gtk/Portfile                        |  8 ++++--
 x11/kinput2/Portfile                           |  6 +----
 x11/tigervnc/Portfile                          |  5 +++-
 x11/tk/Portfile                                |  5 +++-
 x11/wine-crossover/Portfile                    | 13 ++++++----
 x11/wine-devel/Portfile                        | 13 ++++++----
 x11/wine/Portfile                              | 13 ++++++----
 x11/xforms/Portfile                            |  2 +-
 272 files changed, 988 insertions(+), 677 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/aqua/NicePlayer/Portfile b/aqua/NicePlayer/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 0de17651e5b..78234b7cbf6 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/aqua/NicePlayer/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/aqua/NicePlayer/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -67,7 +67,7 @@ destroot {
</span> default_variants +universal
 variant universal {}
 pre-fetch {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        if {![variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if {[variant_exists universal] && ![variant_isset universal]} {
</span>           return -code error "${name} is only available in a universal version"
        }
 }
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/aqua/TeXShop/Portfile b/aqua/TeXShop/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index efe0453fddc..e514eac3165 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/aqua/TeXShop/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/aqua/TeXShop/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -32,7 +32,7 @@ supported_archs i386 ppc
</span> post-extract    {
     set sparkle "Sparkle.framework/Versions/A/Sparkle"
     set ogrekit "OgreKit.framework/Versions/A/OgreKit"
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {![variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {![variant_exists universal] || ![variant_isset universal]} {
</span>         # thin the bundled frameworks
         system "cd ${worksrcpath} && lipo -thin ${configure.build_arch} $sparkle -output $sparkle"
         system "cd ${worksrcpath} && lipo -thin ${configure.build_arch} $ogrekit -output $ogrekit"
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/aqua/phantomjs-qt/Portfile b/aqua/phantomjs-qt/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 9347d6af167..7dae6c94020 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/aqua/phantomjs-qt/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/aqua/phantomjs-qt/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -38,6 +38,10 @@ if {${subport} ne ${name}} {
</span>     fetch.type      git
 }
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> ############################################################################### TODO
 #
 # TODO: possible to trim dependencies of qtbase?
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -194,7 +198,7 @@ foreach {module module_info} [array get modules] {
</span>                 }
             }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            if { [variant_isset universal] } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {${universal_possible} && [variant_isset universal]} {
</span>                 pre-fetch {
                     ui_warn "Multiple architectures is not a Reference Configuration for Qt."
                     ui_warn "See https://doc.qt.io/qt-5/supported-platforms.html#reference-configurations"
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -468,7 +472,7 @@ foreach {module module_info} [array get modules] {
</span>                 configure.args-append -no-sql-${driver}
             }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            if { ![variant_isset universal] } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {!${universal_possible} || ![variant_isset universal]} {
</span>                 configure.args-append "-platform ${qt_qmake_spec}"
             } else {
                 set merger_configure_args(i386)   "-platform ${qt_qmake_spec_32}"
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -517,7 +521,7 @@ foreach {module module_info} [array get modules] {
</span>             configure.objcxxflags
             configure.ldflags
             configure.pipe  no
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            if { [variant_isset universal] } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {${universal_possible} && [variant_isset universal]} {
</span>                 set merger_arch_flag no
             }
             configure.march
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -536,7 +540,7 @@ foreach {module module_info} [array get modules] {
</span>             # unless overridden, configure script uses gmake if it can find it
             configure.env-append MAKE=${build.cmd}
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            if { [variant_isset universal] } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {${universal_possible} && [variant_isset universal]} {
</span> 
                 post-destroot {
                     # delete preprocessor comments surrounding QT_CPU_FEATURES.i386 and QT_CPU_FEATURES.x86_64
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -865,7 +869,7 @@ if { ![exists universal_variant] || [option universal_variant] } {
</span>     PortGroup muniversal  1.0
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if { [variant_exists universal] && [variant_isset universal] } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span> 
     merger-post-destroot {
         foreach arch ${universal_archs_to_use} {
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/aqua/qt3-mac/Portfile b/aqua/qt3-mac/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index b2a20d82b15..b5f2d101241 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/aqua/qt3-mac/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/aqua/qt3-mac/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -99,12 +99,7 @@ platform darwin {
</span>         reinplace s|__CC__|${configure.cc}|   ${worksrcpath}/mkspecs/macx-g++/qmake.conf
         reinplace s|__CXX__|${configure.cxx}| ${worksrcpath}/mkspecs/macx-g++/qmake.conf \
                                               ${worksrcpath}/config.tests/mac/mac_version.test
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            set archflags ${configure.universal_cflags}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        } else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            set archflags ${configure.cc_archflags}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        reinplace s/__ARCHFLAGS__/${archflags}/ ${worksrcpath}/mkspecs/macx-g++/qmake.conf \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        reinplace s/__ARCHFLAGS__/[get_canonical_archflags cxx]/ ${worksrcpath}/mkspecs/macx-g++/qmake.conf \
</span>                                                 ${worksrcpath}/config.tests/mac/mac_version.test
         if {!${configure.pipe}} {
             reinplace s/-pipe// ${worksrcpath}/mkspecs/macx-g++/qmake.conf
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/aqua/qt4-mac/Portfile b/aqua/qt4-mac/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index dd24aacbc58..308840aa9f6 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/aqua/qt4-mac/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/aqua/qt4-mac/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -439,9 +439,9 @@ post-patch {
</span> 
     set ARCHES ""
     if {[variant_exists universal] && [variant_isset universal]} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        set ARCHES [join ${universal_archs} " -arch "]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set ARCHES [join ${configure.universal_archs} " -arch "]
</span>     } else {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        set ARCHES ${build_arch}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set ARCHES ${configure.build_arch}
</span>     }
     reinplace "s|@ARCHES@|${ARCHES}|g" ${worksrcpath}/configure
 
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/aqua/qt53/Portfile b/aqua/qt53/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 81eab5017ad..80a373539d5 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/aqua/qt53/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/aqua/qt53/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -45,6 +45,10 @@ foreach {qt_test_name qt_test_info} [array get available_qt_versions] {
</span>     }
 }
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> ############################################################################### Modules Not Considered
 #
 # No qtactiveqt      (Windows Only)
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -628,7 +632,7 @@ foreach {module module_info} [array get modules] {
</span>                 }
             }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            if { [variant_isset universal] } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {${universal_possible} && [variant_isset universal]} {
</span>                 pre-fetch {
                     ui_warn "Multiple architectures is not a Reference Configuration for Qt."
                     ui_warn "See https://doc.qt.io/qt-5/supported-platforms.html#reference-configurations"
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -938,7 +942,7 @@ foreach {module module_info} [array get modules] {
</span>                 configure.args-append -no-sql-${driver}
             }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            if { ![variant_isset universal] } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {!${universal_possible} || ![variant_isset universal]} {
</span>                 configure.args-append "-platform ${qt_qmake_spec}"
             } else {
                 set merger_configure_args(i386)   "-platform ${qt_qmake_spec_32}"
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1059,7 +1063,7 @@ foreach {module module_info} [array get modules] {
</span>             configure.objcxxflags
             configure.ldflags
             configure.pipe  no
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            if { [variant_isset universal] } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {${universal_possible} && [variant_isset universal]} {
</span>                 set merger_arch_flag no
             }
             configure.march
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1078,7 +1082,7 @@ foreach {module module_info} [array get modules] {
</span>             # unless overridden, configure script uses gmake if it can find it
             configure.env-append MAKE=${build.cmd}
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            if { [variant_isset universal] } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {${universal_possible} && [variant_isset universal]} {
</span> 
                 post-destroot {
                     # delete preprocessor comments surrounding QT_CPU_FEATURES.i386 and QT_CPU_FEATURES.x86_64
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1675,7 +1679,7 @@ if { ![exists universal_variant] || [option universal_variant] } {
</span>     PortGroup muniversal  1.0
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if { [variant_exists universal] && [variant_isset universal] } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span> 
     merger-post-destroot {
         foreach arch ${universal_archs_to_use} {
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/aqua/qt55/Portfile b/aqua/qt55/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index f8132bd13c1..da570a54798 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/aqua/qt55/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/aqua/qt55/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -45,6 +45,10 @@ foreach {qt_test_name qt_test_info} [array get available_qt_versions] {
</span>     }
 }
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> ############################################################################### Modules Not Considered
 #
 # No qtactiveqt      (Windows Only)
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -677,7 +681,7 @@ foreach {module module_info} [array get modules] {
</span>                 }
             }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            if { [variant_isset universal] } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {${universal_possible} && [variant_isset universal]} {
</span>                 pre-fetch {
                     ui_warn "Multiple architectures is not a Reference Configuration for Qt."
                     ui_warn "See https://doc.qt.io/qt-5/supported-platforms.html#reference-configurations"
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -945,7 +949,7 @@ foreach {module module_info} [array get modules] {
</span>                 configure.args-append -no-sql-${driver}
             }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            if { ![variant_isset universal] } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {!${universal_possible} || ![variant_isset universal]} {
</span>                 configure.args-append "-platform ${qt_qmake_spec}"
             } else {
                 set merger_configure_args(i386)   "-platform ${qt_qmake_spec_32}"
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1056,7 +1060,7 @@ foreach {module module_info} [array get modules] {
</span>             configure.objcxxflags
             configure.ldflags
             configure.pipe  no
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            if { [variant_isset universal] } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {${universal_possible} && [variant_isset universal]} {
</span>                 set merger_arch_flag no
             }
             configure.march
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1075,7 +1079,7 @@ foreach {module module_info} [array get modules] {
</span>             # unless overridden, configure script uses gmake if it can find it
             configure.env-append MAKE=${build.cmd}
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            if { [variant_isset universal] } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {${universal_possible} && [variant_isset universal]} {
</span> 
                 post-destroot {
                     # delete preprocessor comments surrounding QT_CPU_FEATURES.i386 and QT_CPU_FEATURES.x86_64
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1702,7 +1706,7 @@ if { ![exists universal_variant] || [option universal_variant] } {
</span>     PortGroup muniversal  1.0
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if { [variant_exists universal] && [variant_isset universal] } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span> 
     merger-post-destroot {
         foreach arch ${universal_archs_to_use} {
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/aqua/qt56/Portfile b/aqua/qt56/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index d1b860f7d68..c57bc0ec7a1 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/aqua/qt56/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/aqua/qt56/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -51,6 +51,10 @@ if { ${os.major} < 12 } {
</span>     conflicts-delete qt5-qtbase
 }
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> ############################################################################### Modules Not Considered
 #
 # No qtactiveqt      (Windows Only)
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -718,7 +722,7 @@ foreach {module module_info} [array get modules] {
</span>                 }
             }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            if { [variant_isset universal] } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {${universal_possible} && [variant_isset universal]} {
</span>                 pre-fetch {
                     ui_warn "Multiple architectures is not a Reference Configuration for Qt."
                     ui_warn "See https://doc.qt.io/qt-5/supported-platforms.html#reference-configurations"
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -989,7 +993,7 @@ foreach {module module_info} [array get modules] {
</span>                 configure.args-append -no-sql-${driver}
             }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            if { ![variant_isset universal] } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {!${universal_possible} || ![variant_isset universal] } {
</span>                 configure.args-append "-platform ${qt_qmake_spec}"
             } else {
                 set merger_configure_args(i386)   "-platform ${qt_qmake_spec_32}"
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1103,7 +1107,7 @@ foreach {module module_info} [array get modules] {
</span>             configure.objcxxflags
             configure.ldflags
             configure.pipe  no
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            if { [variant_isset universal] } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {${universal_possible} && [variant_isset universal]} {
</span>                 set merger_arch_flag no
             }
             configure.march
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1122,7 +1126,7 @@ foreach {module module_info} [array get modules] {
</span>             # unless overridden, configure script uses gmake if it can find it
             configure.env-append MAKE=${build.cmd}
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            if { [variant_isset universal] } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {${universal_possible} && [variant_isset universal]} {
</span> 
                 post-destroot {
                     # delete preprocessor comments surrounding QT_CPU_FEATURES.i386 and QT_CPU_FEATURES.x86_64
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1724,7 +1728,7 @@ if { ![exists universal_variant] || [option universal_variant] } {
</span>     PortGroup muniversal  1.0
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if { [variant_exists universal] && [variant_isset universal] } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span> 
     merger-post-destroot {
         foreach arch ${universal_archs_to_use} {
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/aqua/qt57/Portfile b/aqua/qt57/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 1d54f82ae5e..bf5236987f6 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/aqua/qt57/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/aqua/qt57/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -51,6 +51,10 @@ if { ${os.major} == 12 } {
</span>     conflicts-delete qt5-qtbase
 }
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> ############################################################################### Modules Not Considered
 #
 # No qtactiveqt      (Windows Only)
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -805,7 +809,7 @@ foreach {module module_info} [array get modules] {
</span>                 }
             }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            if { [variant_isset universal] } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {${universal_possible} &&  [variant_isset universal]} {
</span>                 pre-fetch {
                     ui_warn "Multiple architectures is not a Reference Configuration for Qt."
                     ui_warn "See https://doc.qt.io/qt-5/supported-platforms.html#reference-configurations"
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1060,7 +1064,7 @@ foreach {module module_info} [array get modules] {
</span>                 configure.args-append -no-sql-${driver}
             }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            if { ![variant_isset universal] } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {!${universal_possible} || ![variant_isset universal] } {
</span>                 configure.args-append "-platform ${qt_qmake_spec}"
             } else {
                 set merger_configure_args(i386)   "-platform ${qt_qmake_spec_32}"
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1174,7 +1178,7 @@ foreach {module module_info} [array get modules] {
</span>             configure.objcxxflags
             configure.ldflags
             configure.pipe  no
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            if { [variant_isset universal] } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {${universal_possible} && [variant_isset universal]} {
</span>                 set merger_arch_flag no
             }
             configure.march
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1201,7 +1205,7 @@ foreach {module module_info} [array get modules] {
</span>                 reinplace "/^QMAKE/d" ${worksrcpath}/mkspecs/qmodule.pri
             }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            if { [variant_isset universal] } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {${universal_possible} && [variant_isset universal]} {
</span> 
                 post-destroot {
                     # delete preprocessor comments surrounding QT_CPU_FEATURES.i386 and QT_CPU_FEATURES.x86_64
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1802,7 +1806,7 @@ if { ![exists universal_variant] || [option universal_variant] } {
</span>     PortGroup muniversal  1.0
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if { [variant_exists universal] && [variant_isset universal] } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span> 
     merger-post-destroot {
         foreach arch ${universal_archs_to_use} {
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/aqua/qt58/Portfile b/aqua/qt58/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 0e39b9b3c74..ec4c545896e 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/aqua/qt58/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/aqua/qt58/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -51,6 +51,10 @@ if { ${os.major} == 13 } {
</span>     conflicts-delete qt5-qtbase
 }
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> ############################################################################### Modules Not Considered
 #
 # No qtactiveqt      (Windows Only)
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1063,7 +1067,7 @@ foreach {module module_info} [array get modules] {
</span>                 configure.args-append -no-sql-${driver}
             }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            if { ![variant_isset universal] } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {!${universal_possible} || ![variant_isset universal]} {
</span>                 configure.args-append "-platform ${qt_qmake_spec}"
             } else {
                 set merger_configure_args(i386)   "-platform ${qt_qmake_spec_32}"
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1172,7 +1176,7 @@ foreach {module module_info} [array get modules] {
</span>             configure.objcxxflags
             configure.ldflags
             configure.pipe  no
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            if { [variant_isset universal] } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {${universal_possible} && [variant_isset universal]} {
</span>                 set merger_arch_flag no
             }
             configure.march
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1191,7 +1195,7 @@ foreach {module module_info} [array get modules] {
</span>             # unless overridden, configure script uses gmake if it can find it
             configure.env-append MAKE=${build.cmd}
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            if { [variant_isset universal] } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {${universal_possible} && [variant_isset universal]} {
</span> 
                 post-destroot {
                     # delete preprocessor comments surrounding QT_CPU_FEATURES.i386 and QT_CPU_FEATURES.x86_64
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1823,7 +1827,7 @@ if { ![exists universal_variant] || [option universal_variant] } {
</span>     PortGroup muniversal  1.0
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if { [variant_exists universal] && [variant_isset universal] } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span> 
     merger-post-destroot {
         foreach arch ${universal_archs_to_use} {
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/archivers/lz4/Portfile b/archivers/lz4/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 4e2372f9ac4..a60591e4043 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/archivers/lz4/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/archivers/lz4/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -38,7 +38,10 @@ destroot.args-append        CC=${configure.cc} \
</span>                             PREFIX=${prefix} \
                             OS=Darwin
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if { ![variant_isset universal] } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {!${universal_possible} || ![variant_isset universal]} {
</span>     build.args-append       CFLAGS="${configure.cflags} [get_canonical_archflags cc]" \
                             CXXFLAGS="${configure.cxxflags} [get_canonical_archflags cxx]"
     destroot.args-append    CFLAGS="${configure.cflags} [get_canonical_archflags cc]" \
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/archivers/paq8/Portfile b/archivers/paq8/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index c94946cbb71..4bff5a11b32 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/archivers/paq8/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/archivers/paq8/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -27,16 +27,13 @@ checksums           md5 a5099ae1f62c292eb16fb7930eb1f68d \
</span> 
 extract.mkdir       yes
 use_configure       no
<span style='display:block; white-space:pre;background:#e0ffe0;'>+variant universal   {}
</span> 
 configure.optflags  -O3
 build.cmd           ${configure.cxx}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-build.args          {*}${configure.cxxflags} -DUNIX -DNOASM -o paq8
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+build.args          {*}${configure.cxxflags} {*}[get_canonical_archflags cxx] -DUNIX -DNOASM -o paq8
</span> build.target        paq${version}.cpp
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {![variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    build.args-append ${configure.cxx_archflags}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> destroot.cmd        install
 destroot.target     paq8
 destroot.destdir    ${destroot}${prefix}/bin
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -46,10 +43,6 @@ post-destroot {
</span>     xinstall -m 644 ${worksrcpath}/readme.txt ${destroot}${prefix}/share/doc/${name}
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-variant universal {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    build.args-append   ${configure.universal_cxxflags}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> livecheck.type      regex
 livecheck.url       ${homepage}
 livecheck.regex     "paq(8\[\\w\]+)${extract.suffix}"
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/archivers/ucl/Portfile b/archivers/ucl/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index f0e6f461ec6..6916e96661b 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/archivers/ucl/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/archivers/ucl/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -42,7 +42,10 @@ configure.env    F77=no
</span> # Because the configure script doesn't save the LDFLAGS MacPorts sets.
 merger_arch_flag       no
 merger_arch_compiler   yes
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {![variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {!${universal_possible} || ![variant_isset universal]} {
</span>   configure.cc-append     [get_canonical_archflags]
 }
 
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/audio/flac/Portfile b/audio/flac/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 39a54a8e206..96a562d295f 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/audio/flac/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/audio/flac/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -54,7 +54,7 @@ platform darwin i386 {
</span> }
 
 post-configure {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[variant_exists universal] && [variant_isset universal]} {
</span>         system -W ${worksrcpath} "ed - ${worksrcpath}/config.h < ${filespath}/config.h.ed && touch stamp-h1"
     }
 }
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/audio/lpcnetfreedv/Portfile b/audio/lpcnetfreedv/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index e0b6ab39e48..5a60bbee675 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/audio/lpcnetfreedv/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/audio/lpcnetfreedv/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -31,8 +31,11 @@ depends_lib-append \
</span> configure.args-append \
     -DDISABLE_CPU_OPTIMIZATION=ON
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span> # enable optimization on all Intel hardwares
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     set merger_configure_args(x86_64) -DAVX=ON
     set merger_configure_cflags(i386) [list -mssse3 -msse4.1]
 } else {
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/audio/mpg123/Portfile b/audio/mpg123/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index ebdd1755702..9769fed18b4 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/audio/mpg123/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/audio/mpg123/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -41,7 +41,10 @@ platform macosx {
</span> # ld: illegal text-relocation to intwinbase in .libs/tabinit_mmx.o from _INT123_make_decode_tables_mmx_asm in .libs/tabinit_mmx.o for architecture i386
 # see also http://sourceforge.net/tracker/index.php?func=detail&aid=3504701&group_id=135704&atid=733194
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     set merger_configure_args(x86_64) --with-cpu=x86-64
     set merger_configure_args(i386) --with-cpu=i586
     set merger_configure_args(ppc) --with-cpu=altivec
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/audio/wavpack/Portfile b/audio/wavpack/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 5409bbba73e..1e9f83e1d75 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/audio/wavpack/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/audio/wavpack/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -45,8 +45,11 @@ lappend merger_configure_args(arm64)    --disable-asm
</span> # if host is not set in 32-bit mode, wrong assembly code is used
 lappend merger_configure_args(i386)     --host=i686-apple-${os.platform}${os.version}
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {![variant_isset universal] && [info exists merger_configure_args($build_arch)]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    configure.args-append   {*}$merger_configure_args($build_arch)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {!(${universal_possible} && [variant_isset universal]) && [info exists merger_configure_args(${configure.build_arch})]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-append   {*}$merger_configure_args(${configure.build_arch})
</span> }
 
 livecheck.type      regex
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/databases/db53/Portfile b/databases/db53/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index b6bcaa4dc95..29c8387524a 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/databases/db53/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/databases/db53/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -102,7 +102,10 @@ variant umrw description {Mask harmless uninitialized memory read/writes for the
</span>     configure.args-append --enable-umrw
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if { [variant_isset universal] } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     # configure fails with aarch64 but it seems to work fine with arm
     set merger_host(arm64) arm-apple-${os.platform}${os.version}
 
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/databases/db62/Portfile b/databases/db62/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index ffc3dd168c6..d36af071a65 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/databases/db62/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/databases/db62/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -96,7 +96,10 @@ variant tcl description {build Tcl API} {
</span>     configure.args-append   --enable-tcl --with-tcl=${prefix}/lib
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if { [variant_isset universal] } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     # configure fails with aarch64 but it seems to work fine with arm
     set merger_host(arm64) arm-apple-${os.platform}${os.version}
 
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/databases/leveldb/Portfile b/databases/leveldb/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 64827135783..780a6e25116 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/databases/leveldb/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/databases/leveldb/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -41,7 +41,10 @@ if {[string match *clang* ${configure.cxx}]} {
</span>     configure.ldflags-append -stdlib=${configure.cxx_stdlib}
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if { [variant_isset universal] } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     foreach arch ${configure.universal_archs} {
         lappend merger_build_env(${arch}) \
             "CFLAGS=${configure.cflags} -arch ${arch}" \
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/databases/mongodb/Portfile b/databases/mongodb/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 533959bff40..10e653c6fff 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/databases/mongodb/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/databases/mongodb/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -113,7 +113,10 @@ if {[vercmp ${version} 5.0] < 0} {
</span>     lappend merger_build_args(arm64) --js-engine=none
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {![variant_isset universal] && [info exists merger_build_args(${build_arch})]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {(!${universal_possible} || ![variant_isset universal]) && [info exists merger_build_args(${build_arch})]} {
</span>     build.args-append {*}$merger_build_args(${build_arch})
 }
 
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/databases/mysql5/Portfile b/databases/mysql5/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 8326ef27354..1738b58862a 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/databases/mysql5/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/databases/mysql5/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -98,7 +98,7 @@ if {${name} eq ${subport}} {
</span>     compiler.blacklist-append *clang*
     
     post-build {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {[variant_exists universal] && [variant_isset universal]} {
</span>             set dirs {}
             foreach arch ${universal_archs_to_use} {
                 lappend dirs ${worksrcpath}-${arch}
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/databases/mysql51/Portfile b/databases/mysql51/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 2ff370bc7e0..b7090dd9c84 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/databases/mysql51/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/databases/mysql51/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -105,7 +105,7 @@ if {${subport} eq ${name}} {
</span>     compiler.fallback-append macports-llvm-gcc-4.2
     
     post-build {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {[variant_exists universal] && [variant_isset universal]} {
</span>             set dirs {}
             foreach arch ${universal_archs_to_use} {
                 lappend dirs ${worksrcpath}-${arch}
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/databases/mysql55-lib_mysqludf_fproj4/Portfile b/databases/mysql55-lib_mysqludf_fproj4/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index c364d8a2056..50edc69a303 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/databases/mysql55-lib_mysqludf_fproj4/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/databases/mysql55-lib_mysqludf_fproj4/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -65,7 +65,7 @@ configure.cflags-append \
</span> 
 build {
     set cmd "${configure.cpp} ${configure.ldflags} ${configure.cflags} ${configure.cppflags}"
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if [variant_isset universal] {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[variant_exists universal] && [variant_isset universal]} {
</span> 
         set  "${cmd} ${configure.universal_cflags}"
     }
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/databases/mysql55-lib_mysqludf_json/Portfile b/databases/mysql55-lib_mysqludf_json/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index b323a838e3a..01dd8d373d2 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/databases/mysql55-lib_mysqludf_json/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/databases/mysql55-lib_mysqludf_json/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -63,7 +63,7 @@ post-extract {
</span> 
 build {
     set cmd "${configure.cpp} ${configure.ldflags} ${configure.cflags} ${configure.cppflags}"
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if [variant_isset universal] {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[variant_exists universal] && [variant_isset universal]} {
</span> 
         set  "${cmd} ${configure.universal_cflags}"
     }
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/databases/openldap/Portfile b/databases/openldap/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index dca40b0d03c..ca98be7ae6d 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/databases/openldap/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/databases/openldap/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -81,7 +81,7 @@ platform darwin {
</span> 
 pre-build {
     set dirs {}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[variant_exists universal] && [variant_isset universal]} {
</span>         foreach arch ${universal_archs_to_use} {
             lappend dirs ${worksrcpath}-${arch}
         }
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/databases/postgis2/Portfile b/databases/postgis2/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 9b7cc658e17..680e0067d83 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/databases/postgis2/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/databases/postgis2/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -142,7 +142,7 @@ configure.cflags-append \
</span> configure.env-append    CPPBIN=${configure.cpp}
 
 post-configure {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[variant_exists universal] && [variant_isset universal]} {
</span>         # We must add universal flags to compile liblwgeom properly
         file copy ${filespath}/ed_command ${worksrcpath}/ed_command
         reinplace -E "s#XXX#${configure.universal_cflags}#" \
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/databases/postgis3/Portfile b/databases/postgis3/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 421b1086eae..f42eb0e50b8 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/databases/postgis3/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/databases/postgis3/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -121,7 +121,7 @@ configure.cflags-append \
</span> configure.env-append    CPPBIN=${configure.cpp}
 
 post-configure {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[variant_exists universal] && [variant_isset universal]} {
</span>         # We must add universal flags to compile liblwgeom properly
         file copy ${filespath}/ed_command ${worksrcpath}/ed_command
         reinplace -E "s#XXX#${configure.universal_cflags}#" \
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/databases/postgresql10/Portfile b/databases/postgresql10/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 885357d2be2..02266a36260 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/databases/postgresql10/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/databases/postgresql10/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -69,7 +69,10 @@ configure.universal_args-delete --disable-dependency-tracking
</span> compiler.blacklist-append   {clang < 421}
 notes "To use the postgresql server, install the ${name}-server port"
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     configure.cflags-append    -DAC_APPLE_UNIVERSAL_BUILD
 }
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -97,7 +100,7 @@ post-destroot {
</span>         ${destroot}${prefix}/lib/${name}/pgxs/src/Makefile.global
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {![variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {!${universal_possible} || ![variant_isset universal]} {
</span>     post-destroot {
         reinplace -E "s#-arch\[\[:space:\]\]+\[\[:alnum:\]_\]+##g" \
             ${destroot}${prefix}/lib/${name}/pgxs/src/Makefile.global
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/databases/postgresql11/Portfile b/databases/postgresql11/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 00be1377c12..394c9d283cc 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/databases/postgresql11/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/databases/postgresql11/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -73,7 +73,10 @@ compilers.choose          cc cxx
</span> compilers.setup           -gcc -fortran -clang33 -clang34 -clang37
 notes "To use the postgresql server, install the ${name}-server port"
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     configure.cflags-append    -DAC_APPLE_UNIVERSAL_BUILD
 }
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -102,7 +105,7 @@ post-destroot {
</span>         ${destroot}${prefix}/lib/${name}/pgxs/src/Makefile.global
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {![variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {!${universal_possible} || ![variant_isset universal]} {
</span>     post-destroot {
         reinplace -E "s#-arch\[\[:space:\]\]+\[\[:alnum:\]_\]+##g" \
             ${destroot}${prefix}/lib/${name}/pgxs/src/Makefile.global
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/databases/postgresql12/Portfile b/databases/postgresql12/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index bfed00525a7..cc999210bea 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/databases/postgresql12/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/databases/postgresql12/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -73,7 +73,10 @@ compilers.choose          cc cxx
</span> compilers.setup           -gcc -fortran -clang33 -clang34 -clang37
 notes "To use the postgresql server, install the ${name}-server port"
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     configure.cflags-append    -DAC_APPLE_UNIVERSAL_BUILD
 }
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -102,7 +105,7 @@ post-destroot {
</span>         ${destroot}${prefix}/lib/${name}/pgxs/src/Makefile.global
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {![variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {!${universal_possible} || ![variant_isset universal]} {
</span>     post-destroot {
         reinplace -E "s#-arch\[\[:space:\]\]+\[\[:alnum:\]_\]+##g" \
             ${destroot}${prefix}/lib/${name}/pgxs/src/Makefile.global
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/databases/postgresql13/Portfile b/databases/postgresql13/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index f4a3c030a78..6e864e88227 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/databases/postgresql13/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/databases/postgresql13/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -73,7 +73,10 @@ compilers.choose          cc cxx
</span> compilers.setup           -gcc -fortran -clang33 -clang34 -clang37
 notes "To use the postgresql server, install the ${name}-server port"
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     configure.cflags-append    -DAC_APPLE_UNIVERSAL_BUILD
 }
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -102,7 +105,7 @@ post-destroot {
</span>         ${destroot}${prefix}/lib/${name}/pgxs/src/Makefile.global
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {![variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {!${universal_possible} || ![variant_isset universal]} {
</span>     post-destroot {
         reinplace -E "s#-arch\[\[:space:\]\]+\[\[:alnum:\]_\]+##g" \
             ${destroot}${prefix}/lib/${name}/pgxs/src/Makefile.global
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/databases/postgresql82/Portfile b/databases/postgresql82/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 53b161c8894..f79bdeb225c 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/databases/postgresql82/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/databases/postgresql82/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -54,7 +54,10 @@ configure.args   --sysconfdir=${prefix}/etc/${name} \
</span>                           --enable-thread-safety \
                                --enable-integer-datetimes
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     post-patch {
         xinstall -m 755 ${filespath}/ldfat.sh ${workpath}
         reinplace s|@UNIVERSAL_ARCHS@|${universal_archs}| ${workpath}/ldfat.sh
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/databases/postgresql84/Portfile b/databases/postgresql84/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 9b9956aa2ba..d3a926138c5 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/databases/postgresql84/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/databases/postgresql84/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -62,8 +62,8 @@ configure.args    --sysconfdir=${prefix}/etc/${name} \
</span>                           --with-ossp-uuid
 configure.cppflags-append      -I${prefix}/include/ossp
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    post-configure {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+post-configure {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[variant_exists universal] && [variant_isset universal]} {
</span>         system "cd ${worksrcpath}/src/include \
                 && ed - pg_config.h < ${filespath}/pg_config.h.ed \
                 && touch stamp-h"
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/databases/postgresql90/Portfile b/databases/postgresql90/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index de9c83f7a6d..3d8db4ef009 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/databases/postgresql90/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/databases/postgresql90/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -68,7 +68,10 @@ configure.cppflags-append        -I${prefix}/include/ossp
</span> # building psql with clang from Xcode prior to 4.4 causes segfault on query; see #31717
 compiler.blacklist-append {clang < 421}
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     configure.cflags-append       -DAC_APPLE_UNIVERSAL_BUILD
 }
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -100,7 +103,7 @@ post-destroot {
</span>       ${destroot}${prefix}/lib/postgresql90/pgxs/src/Makefile.global
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {![variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {!${universal_possible} || ![variant_isset universal]} {
</span>     post-destroot {
         reinplace -E "s#-arch\[\[:space:\]\]+\[\[:alnum:\]_\]+##g" \
             ${destroot}${prefix}/lib/${name}/pgxs/src/Makefile.global
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/databases/postgresql91/Portfile b/databases/postgresql91/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index b075472df3a..e5df2f20579 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/databases/postgresql91/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/databases/postgresql91/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -68,7 +68,10 @@ configure.cppflags-append        -I${prefix}/include/ossp
</span> # building psql with clang from Xcode prior to 4.4 causes segfault on query; see #31717
 compiler.blacklist-append {clang < 421}
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     configure.cflags-append       -DAC_APPLE_UNIVERSAL_BUILD
 }
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -100,7 +103,7 @@ post-destroot {
</span>       ${destroot}${prefix}/lib/postgresql91/pgxs/src/Makefile.global
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {![variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {!${universal_possible} || ![variant_isset universal]} {
</span>     post-destroot {
         reinplace -E "s#-arch\[\[:space:\]\]+\[\[:alnum:\]_\]+##g" \
             ${destroot}${prefix}/lib/${name}/pgxs/src/Makefile.global
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/databases/postgresql92/Portfile b/databases/postgresql92/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index d934bc02f3b..5f9a35c1106 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/databases/postgresql92/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/databases/postgresql92/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -69,7 +69,10 @@ configure.ldflags-append    -headerpad_max_install_names
</span> # building psql with clang from Xcode prior to 4.4 causes segfault on query; see #31717
 compiler.blacklist-append {clang < 421}
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     configure.cflags-append       -DAC_APPLE_UNIVERSAL_BUILD
 }
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -101,7 +104,7 @@ post-destroot {
</span>       ${destroot}${prefix}/lib/postgresql92/pgxs/src/Makefile.global
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {![variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {!${universal_possible} || ![variant_isset universal]} {
</span>     post-destroot {
         reinplace -E "s#-arch\[\[:space:\]\]+\[\[:alnum:\]_\]+##g" \
             ${destroot}${prefix}/lib/${name}/pgxs/src/Makefile.global
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/databases/postgresql93/Portfile b/databases/postgresql93/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 3292ba32226..2c037792704 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/databases/postgresql93/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/databases/postgresql93/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -71,7 +71,10 @@ configure.ldflags-append    -headerpad_max_install_names
</span> # building psql with clang from Xcode prior to 4.4 causes segfault on query; see #31717
 compiler.blacklist-append {clang < 421}
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     configure.cflags-append       -DAC_APPLE_UNIVERSAL_BUILD
 }
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -106,7 +109,7 @@ post-destroot {
</span>       ${destroot}${prefix}/lib/postgresql93/pgxs/src/Makefile.global
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {![variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {!${universal_possible} || ![variant_isset universal]} {
</span>     post-destroot {
         reinplace -E "s#-arch\[\[:space:\]\]+\[\[:alnum:\]_\]+##g" \
             ${destroot}${prefix}/lib/${name}/pgxs/src/Makefile.global
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/databases/postgresql94/Portfile b/databases/postgresql94/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 78a29c8adcd..b5615121554 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/databases/postgresql94/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/databases/postgresql94/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -68,7 +68,10 @@ configure.ldflags-append    -headerpad_max_install_names
</span> compiler.blacklist-append {clang < 421}
 notes "To use the postgresql server, install the ${name}-server port"
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     configure.cflags-append       -DAC_APPLE_UNIVERSAL_BUILD
 }
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -96,7 +99,7 @@ post-destroot {
</span>       ${destroot}${prefix}/lib/postgresql94/pgxs/src/Makefile.global
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {![variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {!${universal_possible} || ![variant_isset universal]} {
</span>     post-destroot {
         reinplace -E "s#-arch\[\[:space:\]\]+\[\[:alnum:\]_\]+##g" \
             ${destroot}${prefix}/lib/${name}/pgxs/src/Makefile.global
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/databases/postgresql95/Portfile b/databases/postgresql95/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 94bd011d0f4..e1759e2aa35 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/databases/postgresql95/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/databases/postgresql95/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -69,7 +69,10 @@ configure.universal_args-delete --disable-dependency-tracking
</span> compiler.blacklist-append {clang < 421}
 notes "To use the postgresql server, install the ${name}-server port"
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     configure.cflags-append       -DAC_APPLE_UNIVERSAL_BUILD
 }
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -97,7 +100,7 @@ post-destroot {
</span>       ${destroot}${prefix}/lib/${name}/pgxs/src/Makefile.global
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {![variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {!${universal_possible} || ![variant_isset universal]} {
</span>     post-destroot {
         reinplace -E "s#-arch\[\[:space:\]\]+\[\[:alnum:\]_\]+##g" \
             ${destroot}${prefix}/lib/${name}/pgxs/src/Makefile.global
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/databases/postgresql96/Portfile b/databases/postgresql96/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 7f29c6d6ca1..de456a74cb0 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/databases/postgresql96/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/databases/postgresql96/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -69,7 +69,10 @@ configure.universal_args-delete --disable-dependency-tracking
</span> compiler.blacklist-append   {clang < 421}
 notes "To use the postgresql server, install the ${name}-server port"
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     configure.cflags-append    -DAC_APPLE_UNIVERSAL_BUILD
 }
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -97,7 +100,7 @@ post-destroot {
</span>         ${destroot}${prefix}/lib/${name}/pgxs/src/Makefile.global
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {![variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {!${universal_possible} || ![variant_isset universal]} {
</span>     post-destroot {
         reinplace -E "s#-arch\[\[:space:\]\]+\[\[:alnum:\]_\]+##g" \
             ${destroot}${prefix}/lib/${name}/pgxs/src/Makefile.global
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/databases/qdbm/Portfile b/databases/qdbm/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index ae8131bad63..5cd73c9522d 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/databases/qdbm/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/databases/qdbm/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -44,13 +44,11 @@ post-extract    {
</span> 
 test.run yes
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+variant universal {}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> platform macosx   {
                                build.target    mac
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                                if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                                   build.args-append ARCHFLAGS="${configure.universal_cflags}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                           } else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                                   build.args-append ARCHFLAGS="${configure.cc_archflags}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                           }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                           build.args-append ARCHFLAGS="[get_canonical_archflags cc]"
</span>                           test.target     check-mac
                                destroot.target install-mac
 }
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/ResIL/Portfile b/devel/ResIL/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index ebc664c83d9..155624101b0 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/ResIL/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/ResIL/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -80,7 +80,10 @@ configure.args      --enable-ILU \
</span>                     --disable-exr \
                     --disable-sdl \
                     --disable-xpm
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {![variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {!${universal_possible} || ![variant_isset universal]} {
</span>     if {${configure.build_arch} eq "i386"} {
         configure.args-append   --enable-x86
     } elseif {${configure.build_arch} eq "x86_64"} {
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/appstream-glib/Portfile b/devel/appstream-glib/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 8be6a7a2587..190a6f221f4 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/appstream-glib/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/appstream-glib/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -54,8 +54,11 @@ post-patch {
</span> # attempt to fix build on 10.6 by blacklisting troublesome compilers
 compiler.blacklist-append  *gcc-3.* *gcc-4.* {clang < 300}
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span> # gobject-introspection uses g-ir-scanner, which uses $CC from env
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     foreach arch ${configure.universal_archs} {
         lappend merger_build_env(${arch})  "CC=${configure.cc} -arch ${arch}"
         lappend merger_destroot_env(${arch})  "CC=${configure.cc} -arch ${arch}"
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/apr-util/Portfile b/devel/apr-util/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 977d31e3721..580805353b5 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/apr-util/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/apr-util/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -68,8 +68,8 @@ pre-configure     {
</span>                   reinplace "s|^Libs: |Libs: ${extralibs} |" $worksrcpath/apr-util.pc.in
                }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   pre-build {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+pre-build {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if {[variant_exists universal] && [variant_isset universal]} {
</span>           build.args      EXTRA_CFLAGS='${configure.universal_cflags}' \
                                EXTRA_LDFLAGS='${configure.universal_ldflags}'
        }
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/apr/Portfile b/devel/apr/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index d9ce6bcb6c4..222db3cde11 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/apr/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/apr/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -51,12 +51,12 @@ pre-test {
</span>     use_parallel_build no
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    post-destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+post-destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[variant_exists universal] && [variant_isset universal]} {
</span>         reinplace -E {s|-arch [a-z0-9_]+||g} \
             ${destroot}${prefix}/share/apr-1/build/apr_rules.mk \
             ${destroot}${prefix}/share/apr-1/build/libtool
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span> }
 
 livecheck.type     regex
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/atk/Portfile b/devel/atk/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index d83a63cb882..4859a5cb83a 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/atk/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/atk/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -37,8 +37,11 @@ depends_lib         path:lib/pkgconfig/glib-2.0.pc:glib2 \
</span> 
 configure.args      -Ddocs=true
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span> # gobject-introspection uses g-ir-scanner, which uses $CC from env
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     foreach arch ${configure.universal_archs} {
         lappend merger_build_env(${arch})  "CC=${configure.cc} -arch ${arch}"
         lappend merger_destroot_env(${arch})  "CC=${configure.cc} -arch ${arch}"
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/boost/Portfile b/devel/boost/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 2eb30d0afa7..e0e329b3ccf 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/boost/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/boost/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -379,7 +379,10 @@ if {$subport eq $name} {
</span>     livecheck.type  none
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {![variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {!${universal_possible} || ![variant_isset universal]} {
</span>     if {[lsearch ${build_arch} arm*] != -1} {
         build.args-append address-model=64 architecture=arm
     } else {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -408,11 +411,11 @@ if {![variant_isset universal]} {
</span> variant universal {
     build.args-append   pch=off
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[lsearch ${universal_archs} arm*] != -1} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[lsearch ${configure.universal_archs} arm*] != -1} {
</span>         build.args-append address-model=64 architecture=combined
     } else {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        if {[lsearch ${universal_archs} ppc*] != -1} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            if {[lsearch ${universal_archs} *86*] != -1} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {[lsearch ${configure.universal_archs} ppc*] != -1} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {[lsearch ${configure.universal_archs} *86*] != -1} {
</span>                 build.args-append architecture=combined
             } else {
                 build.args-append architecture=power
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -423,10 +426,10 @@ variant universal {
</span>         } else {
             build.args-append architecture=x86
         }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        if {[lsearch ${universal_archs} *64] != -1} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            if {[lsearch ${universal_archs} i386] != -1 || [lsearch ${universal_archs} ppc] != -1} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {[lsearch ${configure.universal_archs} *64] != -1} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {[lsearch ${configure.universal_archs} i386] != -1 || [lsearch ${configure.universal_archs} ppc] != -1} {
</span>                 build.args-append address-model=32_64
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                if {[lsearch ${universal_archs} ppc64] == -1} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                if {[lsearch ${configure.universal_archs} ppc64] == -1} {
</span>                     post-patch {
                         reinplace "/local support-ppc64 =/s/= 1/= /" ${worksrcpath}/tools/build/src/tools/darwin.jam
                     }
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/boost169/Portfile b/devel/boost169/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index e310c3e1ef0..4b6f041f596 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/boost169/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/boost169/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -326,7 +326,10 @@ variant no_single description {Disable building single-threaded libraries} {
</span> 
 livecheck.type  none
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {![variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {!${universal_possible} || ![variant_isset universal]} {
</span>     # Honour 'build_arch', if not universal as per #28327
     if {[lsearch ${build_arch} ppc*] != -1} {
         build.args-append   architecture=power
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -352,8 +355,8 @@ if {![variant_isset universal]} {
</span> variant universal {
     build.args-append   pch=off
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[lsearch ${universal_archs} ppc*] != -1} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        if {[lsearch ${universal_archs} *86*] != -1} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[lsearch ${configure.universal_archs} ppc*] != -1} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {[lsearch ${configure.universal_archs} *86*] != -1} {
</span>             build.args-append   architecture=combined
         } else {
             build.args-append   architecture=power
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -366,10 +369,10 @@ variant universal {
</span>         build.args-append   architecture=x86
     }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[lsearch ${universal_archs} *64] != -1} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        if {[lsearch ${universal_archs} i386] != -1 || [lsearch ${universal_archs} ppc] != -1} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[lsearch ${configure.universal_archs} *64] != -1} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {[lsearch ${configure.universal_archs} i386] != -1 || [lsearch ${configure.universal_archs} ppc] != -1} {
</span>             build.args-append   address-model=32_64
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            if {[lsearch ${universal_archs} ppc64] == -1} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {[lsearch ${configure.universal_archs} ppc64] == -1} {
</span>                 post-patch {
                     reinplace "/local support-ppc64 =/s/= 1/= /" ${worksrcpath}/tools/build/src/tools/darwin.jam
                 }
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/ccache/Portfile b/devel/ccache/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index e9206c4eb98..b6749a23ab9 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/ccache/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/ccache/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -48,7 +48,10 @@ build.target-append doc
</span> # https://github.com/ccache/ccache/issues/734
 array set merger_configure_args [list arm64 {-DHAVE_AVX2=NO -DHAVE_C_AVX2=NO -DHAVE_C_AVX512=NO -DHAVE_C_SSE2=NO -DHAVE_C_SSE41=NO}]
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {![variant_isset universal] && [info exists merger_configure_args(${build_arch})]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {(!${universal_possible} || ![variant_isset universal]) && [info exists merger_configure_args(${build_arch})]} {
</span>     configure.args-append $merger_configure_args(${build_arch})
 }
 
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/cryptlib/Portfile b/devel/cryptlib/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 8b01509084a..c45597820d6 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/cryptlib/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/cryptlib/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -73,13 +73,16 @@ build.args          CC="${configure.cc}" \
</span> 
 configure.cppflags-replace -I${prefix}/include -isystem${prefix}/include
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-foreach arch ${universal_archs} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+foreach arch ${configure.universal_archs} {
</span>     lappend merger_build_env(${arch}) \
                     "CFLAGS=${configure.cflags} ${configure.cppflags} -arch ${arch}" \
                     "LDFLAGS=${configure.ldflags} -arch ${arch}"
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {![variant_isset universal] && [info exists merger_build_env(${configure.build_arch})]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {(!${universal_possible} || ![variant_isset universal]) && [info exists merger_build_env(${configure.build_arch})]} {
</span>     build.env-append {*}$merger_build_env(${configure.build_arch})
 }
 
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/dparser/Portfile b/devel/dparser/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 01dddec6083..2f8fdf96a67 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/dparser/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/dparser/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -29,10 +29,13 @@ patchfiles          patch-Makefile-put-man-in-share.diff
</span> 
 use_configure       no
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {![variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {!${universal_possible} || ![variant_isset universal]} {
</span>     build.args-append   CC="${configure.cc} ${configure.cflags} [get_canonical_archflags cc]" PREFIX=${prefix}
 } else {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    foreach arch ${universal_archs} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    foreach arch ${configure.universal_archs} {
</span>         lappend merger_build_args(${arch}) \
             CC="${configure.cc} ${configure.cflags} -arch ${arch}" PREFIX=${prefix}
     }
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/dub/Portfile b/devel/dub/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index c890158e7dd..33799d257e7 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/dub/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/dub/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -45,7 +45,10 @@ patchfiles-append   patch-dub.d.diff
</span> post-patch {
     reinplace "s|__MACPORTS_PREFIX__|${prefix}|g" source/dub/dub.d
 }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if { ![variant_isset universal] } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {!${universal_possible} || ![variant_isset universal]} {
</span>     if { ${build_arch} eq "x86_64" || ${build_arch} eq "ppc64" } {
         build.env-append "DMD=${prefix}/bin/dmd -m64"
     } else {
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/gmp/Portfile b/devel/gmp/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index ffc5971abb6..bf72f843048 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/gmp/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/gmp/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -142,7 +142,10 @@ if {${os.platform} eq "darwin" && ${os.major} < 10 && [string match *clang* ${co
</span>     configure.args-append           lt_cv_path_NM=${prefix}/bin/nm
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {![variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {!${universal_possible} || ![variant_isset universal]} {
</span>     if {${build_arch} eq "i386" || ${build_arch} eq "ppc"} {
         configure.env-append   ABI=32
     } elseif {${build_arch} eq "ppc64"} {
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/gnutls/Portfile b/devel/gnutls/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 40055b530c0..04be2e16476 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/gnutls/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/gnutls/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -142,7 +142,10 @@ variant guile description {Build guile bindings} {
</span>     configure.args-replace  --disable-guile --enable-guile
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     set merger_host(x86_64) x86_64-apple-${os.platform}${os.major}
     set merger_host(i386) i686-apple-${os.platform}${os.major}
     set merger_configure_args(x86_64) --build=x86_64-apple-${os.platform}${os.major}
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/judy/Portfile b/devel/judy/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 820b66fda48..df4a2d92698 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/judy/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/judy/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -33,7 +33,10 @@ set merger_configure_args(ppc)      --enable-32-bit
</span> set merger_configure_args(ppc64)    --enable-64-bit
 set merger_configure_args(x86_64)   --enable-64-bit
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {![variant_isset universal] && [info exists merger_configure_args(${build_arch})]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {(!${universal_possible} || ![variant_isset universal]) && [info exists merger_configure_args(${build_arch})]} {
</span>     configure.args-append   $merger_configure_args(${build_arch})
 }
 
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/ld64/Portfile b/devel/ld64/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index cb842ab7772..f0a3f7d1563 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/ld64/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/ld64/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -524,8 +524,11 @@ if {"${configure.sdkroot}" eq ""} {
</span>     configure.sdkroot "/"
 }
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span> # for a universal build, we need to run the tests for each arch and clean between
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {![variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {!${universal_possible} || ![variant_isset universal]} {
</span>     test.run    yes
     test.dir    ${workpath}/ld64-${version}/unit-tests/test-cases
     test.cmd    perl ../bin/make-recursive.pl \
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/legacy-support/Portfile b/devel/legacy-support/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index e4aa4bee7dc..024e190c047 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/legacy-support/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/legacy-support/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -45,7 +45,10 @@ build.env           CXX=${configure.cxx} \
</span> 
 destroot.env        PREFIX=${prefix}
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     foreach arch ${universal_archs_supported} {
         lappend merger_build_env(${arch})   "CXXFLAGS=${configure.cxxflags} [muniversal_get_arch_flag ${arch}]" \
                                             "CFLAGS=${configure.cflags} [muniversal_get_arch_flag ${arch}]" \
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/libgcrypt/Portfile b/devel/libgcrypt/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 7880fb7156a..baf22c32ed6 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/libgcrypt/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/libgcrypt/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -42,7 +42,7 @@ configure.cflags-append "-std=gnu89"
</span> # rijndael.c: In function 'do_aesni_ctr':
 # rijndael.c:895: error: can't find a register in class 'GENERAL_REGS' while reloading 'asm'
 # rijndael.c:895: error: 'asm' operand has impossible constraints
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {${build_arch} eq "i386" || ([variant_isset universal] && [lsearch ${universal_archs} i386] != -1)} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${build_arch} eq "i386" || ([variant_isset universal] && [lsearch ${configure.universal_archs} i386] != -1)} {
</span>     if {[vercmp ${xcodeversion} 3.0] >= 0} {
         compiler.blacklist-append gcc-4.0
     }
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -58,7 +58,7 @@ if {[string match "*clang*" ${configure.compiler}]} {
</span> use_parallel_build  yes
 
 post-patch {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[variant_exists universal] && [variant_isset universal]} {
</span>         reinplace "s/@LIBGCRYPT_CONFIG_HOST@/${os.arch}-apple-darwin${os.major}/" ${worksrcpath}/src/libgcrypt-config.in
     }
 }
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/libgii/Portfile b/devel/libgii/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 36790c9e41a..a409ac223ec 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/libgii/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/libgii/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -40,8 +40,11 @@ configure.args   --mandir=${prefix}/share/man
</span> if {${build_arch} eq "x86_64" && ${os.platform} eq "darwin"} {
     configure.args-append --build=${build_arch}-apple-${os.platform}${os.version}
 }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {([variant_isset universal] && [string match *64* $universal_archs]) 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    || (![variant_isset universal] && [string match *64 $build_arch])} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {(${universal_possible} && [variant_isset universal] && [string match *64* ${configure.universal_archs}]) 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    || ((!${universal_possible} || ![variant_isset universal]) && [string match *64 ${configure.build_arch}])} {
</span>     # uses carbon event manager functions with no 64-bit version
     configure.args-append   --disable-quartz
 }
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/libgpg-error/Portfile b/devel/libgpg-error/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index f362a2d12c5..31bc4f79073 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/libgpg-error/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/libgpg-error/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -38,7 +38,10 @@ platform darwin 8 {
</span>     configure.cppflags-append -D__DARWIN_UNIX03
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     # muniversal's *.h merger does not handle \-continued lines properly
     merger_must_run_binaries    yes
     patchfiles-append           patch-gen-posix-lock-obj_c.diff
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/liboil/Portfile b/devel/liboil/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 42cdd740edd..a5a28b98fdf 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/liboil/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/liboil/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -33,7 +33,10 @@ patchfiles          patch-liboil_liboilcpu-x86.c.diff automake.patch
</span> use_autoreconf  yes
 autoreconf.args -fvi
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     set merger_host(i386) i686-apple-${os.platform}${os.major}
     set merger_host(x86_64) x86_64-apple-${os.platform}${os.major}
 } elseif {${build_arch} eq "i386"} {
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/libsdl/Portfile b/devel/libsdl/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 721e96f6299..dce9aa2c307 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/libsdl/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/libsdl/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -64,7 +64,7 @@ variant x11 {
</span> default_variants +x11
 
 post-configure {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[variant_exists universal] && [variant_isset universal]} {
</span>         system -W ${worksrcpath}/include "ed - ./SDL_config.h < ${filespath}/include_SDL_config.h.ed"
     }
 }
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/libsockets/Portfile b/devel/libsockets/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 796f78e74db..4431814f605 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/libsockets/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/libsockets/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -37,7 +37,7 @@ build.target-append libSockets.dylib
</span> 
 pre-destroot {
     set paths {}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[variant_exists universal] && [variant_isset universal]} {
</span>         foreach arch ${universal_archs_to_use} {
             lappend paths ${worksrcpath}-${arch} ${destroot}-${arch}
         }
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/lzo/Portfile b/devel/lzo/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 33b19733a05..b3c5a98cce9 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/lzo/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/lzo/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -34,7 +34,7 @@ if {[string match *clang* ${configure.compiler}]} {
</span> }
 
 post-configure {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[variant_exists universal] && [variant_isset universal]} {
</span>         system -W ${worksrcpath} "ed - config.h < ${filespath}/config.h.ed && touch stamp-h1"
     }
 }
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/mcpp/Portfile b/devel/mcpp/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 2c244435da3..37c9b64bfa3 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/mcpp/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/mcpp/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -32,7 +32,5 @@ patchfiles          patch-src__internal.h \
</span> configure.args-append --enable-mcpplib --mandir=${prefix}/share/man
 # +universal: Install universal binary of mcpp.
 # Do not append these options to configure, but append to make.
<span style='display:block; white-space:pre;background:#ffe0e0;'>-variant universal { build.args-append CFLAGS+='${configure.universal_cflags}' }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-if {![variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        build.args-append CFLAGS+='${configure.cc_archflags}'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+variant universal {}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+build.args-append CFLAGS+='[get_canonical_archflags cc]'
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/mpir/Portfile b/devel/mpir/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index a83b20bdaf4..f654c8c6447 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/mpir/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/mpir/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -93,7 +93,10 @@ platform darwin {
</span>     }
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {![variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {!${universal_possible} || ![variant_isset universal]} {
</span>     if {${build_arch} eq "x86_64" || ${build_arch} eq "ppc64"} {
         configure.env-append ABI=64
     } elseif {${build_arch} eq "arm64" } {
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/ncurses/Portfile b/devel/ncurses/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 5672cd26faf..a98c900cb5a 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/ncurses/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/ncurses/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -57,9 +57,9 @@ if {[string match *clang* ${configure.cxx}]} {
</span>     configure.env-append    CXXLIBS=-stdlib=${configure.cxx_stdlib}
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+post-configure {
</span>     # check that this doesn't start breaking anything with new versions
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    post-configure {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[variant_exists universal] && [variant_isset universal]} {
</span>         reinplace s/1UL/1U/g "${worksrcpath}/include/curses.head"
         system -W ${worksrcpath} "ed - include/curses.head < ${filespath}/include_curses.head.ed"
     }
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/nettle/Portfile b/devel/nettle/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index df7f1804c60..8d2f16613fe 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/nettle/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/nettle/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -57,7 +57,10 @@ configure.args      --disable-openssl \
</span> # etc.
 set merger_configure_args(arm64) --disable-assembler
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {![variant_isset universal] && [info exists merger_configure_args(${build_arch})]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {(!${universal_possible} || ![variant_isset universal]) && [info exists merger_configure_args(${build_arch})]} {
</span>     configure.args-append $merger_configure_args(${build_arch})
 }
 
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/nspr/Portfile b/devel/nspr/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 5a6556bb990..0074275d999 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/nspr/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/nspr/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -36,7 +36,10 @@ configure.args \
</span>     --enable-optimize='${configure.optflags}' \
     --libdir=${prefix}/lib/nspr
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {![variant_isset universal] && ${configure.build_arch} in [list arm64 ppc64 x86_64]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {(!${universal_possible} || ![variant_isset universal]) && ${configure.build_arch} in [list arm64 ppc64 x86_64]} {
</span>     configure.args-append --enable-64bit
 }
 
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/nu/Portfile b/devel/nu/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 853a1e33820..14eb405379c 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/nu/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/nu/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -42,12 +42,7 @@ livecheck.url       http://programming.nu/downloads
</span> livecheck.regex     <td>Nu-(\\d+(?:\\.\\d+)*)</td>
 
 post-patch {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        set archs ${configure.universal_archs}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    } else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        set archs ${configure.build_arch}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    reinplace "s|@ARCHS@|[join ${archs} {" "}]|g" ${worksrcpath}/Nukefile
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    reinplace "s|@ARCHS@|[join [get_canonical_archs] {" "}]|g" ${worksrcpath}/Nukefile
</span>     reinplace "s|@CC@|${configure.cc}|g" ${worksrcpath}/Nukefile
     reinplace "s|@SDKROOT@|${configure.sdkroot}|g" ${worksrcpath}/Nukefile
     reinplace "s|/usr/local|${prefix}|g" \
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/openssl/Portfile b/devel/openssl/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 2005c324a10..c2dae0fe8cb 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/openssl/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/openssl/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -91,7 +91,10 @@ platform darwin {
</span> # Don't pass --host to configure.
 array set merger_host {ppc {} i386 {} ppc64 {} x86_64 {} arm64 {}}
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {![variant_isset universal]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {(!${universal_possible} || ![variant_isset universal])
</span>         && [info exists merger_configure_args(${configure.build_arch})]} {
     configure.args-append $merger_configure_args(${configure.build_arch})
 }
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -102,8 +105,8 @@ use_parallel_build  no
</span> 
 test.run            yes
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    pre-destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+pre-destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[variant_exists universal] && [variant_isset universal]} {
</span>         global merger_dont_diff
         if {[llength ${universal_archs_to_use}] > 2} {
             lappend merger_dont_diff ${prefix}/include/openssl/opensslconf.h
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/openssl10/Portfile b/devel/openssl10/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index d1148468758..894a846d3da 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/openssl10/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/openssl10/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -80,7 +80,10 @@ platform darwin {
</span> # Don't pass --host to configure.
 array set merger_host {ppc {} i386 {} ppc64 {} x86_64 {} arm64 {}}
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {![variant_isset universal]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {(!${universal_possible} || ![variant_isset universal])
</span>         && [info exists merger_configure_args(${configure.build_arch})]} {
     configure.args-append $merger_configure_args(${configure.build_arch})
 }
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -91,8 +94,8 @@ use_parallel_build  no
</span> 
 test.run            yes
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    pre-destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+pre-destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[variant_exists universal] && [variant_isset universal]} {
</span>         global merger_dont_diff
         if {[llength ${universal_archs_to_use}] > 2} {
             lappend merger_dont_diff ${prefix}/include/openssl/opensslconf.h
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/orbit2/Portfile b/devel/orbit2/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index fb95efe6456..9743d3cb6b9 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/orbit2/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/orbit2/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -43,7 +43,10 @@ set merger_dont_diff "${prefix}/include/orbit-2.0/orbit/orbit-config.h"
</span> test.run        yes
 test.target     check
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if { [variant_isset universal] } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     # Find architectures which will not run on build platform.
     if { ${os.arch} eq "i386" } {
         if { ${os.major} >= 10 } {
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/ossp-uuid/Portfile b/devel/ossp-uuid/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 2bc43819622..1d2faaeed6e 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/ossp-uuid/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/ossp-uuid/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -39,6 +39,7 @@ configure.args          --without-perl \
</span>                         --without-pgsql \
                         --includedir=${prefix}/include/ossp
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> if {[variant_isset universal]} {
     if { ${os.arch} eq "i386" } {
         if { ${os.major} >= 10 } {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -49,8 +50,10 @@ if {[variant_isset universal]} {
</span>         set merger_configure_env(i386)    ac_cv_va_copy=yes
         set merger_configure_env(x86_64)  ac_cv_va_copy=yes
     }
<span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    post-configure {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+post-configure {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[variant_exists universal] && [variant_isset universal]} {
</span>         set all_archs ""
         foreach arch ${universal_archs_to_use} {
             lappend all_archs -arch ${arch}
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/pth/Portfile b/devel/pth/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 5d7300093bd..683f0844bc9 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/pth/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/pth/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -33,17 +33,20 @@ post-configure {
</span> use_parallel_build  no
 
 platform darwin {
<span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span>     # makecontext/setcontext (the default) is leading to infinite loops in programs on PPC-platforms.
     # Switch to setjmp/longjmp when building for one of these platforms.
     # Latter should work equally well on x86(_64).
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {![variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        if {[lsearch ${build_arch} ppc*] != -1} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {!${universal_possible} || ![variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {[lsearch ${configure.build_arch} ppc*] != -1} {
</span>             configure.args-append --with-mctx-mth=sjlj --with-mctx-dsp=ssjlj --with-mctx-stk=sas
         }
     }
 
     variant universal {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        if {[lsearch ${universal_archs} ppc*] != -1} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {[lsearch ${configure.universal_archs} ppc*] != -1} {
</span>             configure.args-append --with-mctx-mth=sjlj --with-mctx-dsp=ssjlj --with-mctx-stk=sas
         }
     }
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/qt5-qtcreator/Portfile b/devel/qt5-qtcreator/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 65b4051c485..c2f8d7925ec 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/qt5-qtcreator/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/qt5-qtcreator/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -109,8 +109,8 @@ if { ${subport} eq ${name}  } {
</span> 
         system "\"${sdktool}\" addQt --id qt.5.macports --name \"Qt %{Qt:Version} from MacPorts\" --qmake \"${qt_qmake_cmd}\" --type Qt4ProjectManager.QtVersion.Desktop"
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        if { [variant_isset universal] } {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            foreach arch ${universal_archs} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {[variant_exists universal] && [variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            foreach arch ${configure.universal_archs} {
</span>                 if { ${arch} eq "i386" } {
                     set toolchain_bit      32
                     set qt_qmake_spec_arch ${qt_qmake_spec_32}
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/tbb/Portfile b/devel/tbb/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 19194f61fa1..0a849d9dbc3 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/tbb/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/tbb/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -69,7 +69,10 @@ test.run            yes
</span> test.target         test
 test.args-append    ${build.args}
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     foreach arch ${configure.universal_archs} {
         set merger_build_args(${arch}) arch=$tbb_arch(${arch})
         set merger_test_args(${arch}) arch=$tbb_arch(${arch})
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/xapian-core/Portfile b/devel/xapian-core/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 2c4a499492b..668f4fd7168 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/xapian-core/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/xapian-core/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -41,8 +41,8 @@ if {${subport} eq ${name}} {
</span> 
     depends_lib                 port:zlib
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[variant_exists universal] && [variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        post-build {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    post-build {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {[variant_exists universal] && [variant_isset universal]} {
</span>             foreach arch ${universal_archs_to_use} {
                 # xapian-config records build directory, which interferes with universal merge
                 reinplace "s|${worksrcpath}-${arch}|${worksrcpath}|g" ${worksrcpath}-${arch}/xapian-config
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/emulators/mednafen/Portfile b/emulators/mednafen/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 73daeff377c..76f332b2ddb 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/emulators/mednafen/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/emulators/mednafen/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -89,7 +89,10 @@ lappend merger_configure_args(ppc)      --host=powerpc-apple-darwin${os.version}
</span> lappend merger_configure_args(ppc64)    --host=powerpc-apple-darwin${os.version}
 lappend merger_configure_args(x86_64)   --host=x86_64-apple-darwin${os.version}
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {!([variant_exists universal] && [variant_isset universal]) && [info exists merger_configure_args(${configure.build_arch})]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {!(${universal_possible} && [variant_isset universal]) && [info exists merger_configure_args(${configure.build_arch})]} {
</span>     configure.args-append {*}$merger_configure_args(${configure.build_arch})
 }
 
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/games/jnethack/Portfile b/games/jnethack/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 7966af9ee21..d35f76b6afc 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/games/jnethack/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/games/jnethack/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -58,7 +58,7 @@ post-patch {
</span>     set jn_cflags "${configure.cflags} ${configure.cppflags}"
     set jn_ldflags ${configure.ldflags}
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[variant_exists universal] && [variant_isset universal]} {
</span>         set jn_cflags "${jn_cflags} ${configure.universal_cflags}"
     }
 
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/gis/gdal-grass/Portfile b/gis/gdal-grass/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 71a56cf2cc9..6b21b85607b 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/gis/gdal-grass/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/gis/gdal-grass/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -46,7 +46,7 @@ variant postgresql95 conflicts postgresql10 postgresql96 description {Enable Pos
</span> }
 
 post-configure {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[variant_exists universal] && [variant_isset universal]} {
</span>         # Enforce universal flags
         reinplace -E "s|^(CXXFLAGS.*)|\\1 ${configure.universal_cxxflags}|" \
             ${worksrcpath}/Makefile
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/gis/gdal/Portfile b/gis/gdal/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 86ba0d3b881..f6d56c13caf 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/gis/gdal/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/gis/gdal/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -139,7 +139,7 @@ pre-configure {
</span>     }
 
     global worksrcpath_dirs
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if { ![variant_isset universal] } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {![variant_exists universal] || ![variant_isset universal]} {
</span>         set worksrcpath_dirs ${worksrcpath}
     } else {
         foreach arch ${universal_archs_to_use} {
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/gis/libproj4/Portfile b/gis/libproj4/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 490e614ef91..b15f4317966 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/gis/libproj4/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/gis/libproj4/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -33,8 +33,10 @@ variant universal {}
</span> use_parallel_build  no
 build.args-append   -e
 build.target        libproj4 lproj
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[vercmp [macports_version] 2.5.99] >= 0} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-if {![variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {!${universal_possible} || ![variant_isset universal]} {
</span>     build.env-append    CC=${configure.cc} \
                         "CFLAGS=-I. ${configure.cppflags} -DPROJ_HAVE_GSL=1 -DPROJ_HAVE_THREADS=1 \
                                  ${configure.cflags} ${configure.cc_archflags}" \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -45,19 +47,6 @@ if {![variant_isset universal]} {
</span>                                  ${configure.cflags} ${configure.universal_cflags}" \
                         "LDFLAGS=-L./ -lproj4 ${configure.ldflags} ${configure.universal_ldflags} -lgsl -lgslcblas"
 }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-} else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-if {![variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    build.env-append    CC=${configure.cc} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        CFLAGS=\"-I. ${configure.cppflags} -DPROJ_HAVE_GSL=1 -DPROJ_HAVE_THREADS=1 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                                 ${configure.cflags} ${configure.cc_archflags}\" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        LDFLAGS=\"-L./ -lproj4 ${configure.ldflags} ${configure.cc_archflags} -lgsl -lgslcblas\"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-} else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    build.env-append    CC=${configure.cc} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        CFLAGS=\"-I. ${configure.cppflags} -DPROJ_HAVE_GSL=1 -DPROJ_HAVE_THREADS=1 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                                 ${configure.cflags} ${configure.universal_cflags}\" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        LDFLAGS=\"-L./ -lproj4 ${configure.ldflags} ${configure.universal_ldflags} -lgsl -lgslcblas\"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span> 
 destroot {
     xinstall -m 644 ${worksrcpath}/libproj4.a ${destroot}${prefix}/lib/
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/gnome/at-spi2-core/Portfile b/gnome/at-spi2-core/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index daed63aeb08..00ba2469687 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/gnome/at-spi2-core/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/gnome/at-spi2-core/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -42,8 +42,11 @@ configure.args      -Ddocs=true \
</span>                     -Dintrospection=yes \
                     -Dx11=yes
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span> # uses g-ir-scanner, which uses $CC from env
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     foreach arch ${configure.universal_archs} {
         lappend merger_build_env(${arch})  "CC=${configure.cc} -arch ${arch}"
         lappend merger_destroot_env(${arch})  "CC=${configure.cc} -arch ${arch}"
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/gnome/eog/Portfile b/gnome/eog/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index b7c177f2a20..4ca6c694c7e 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/gnome/eog/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/gnome/eog/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -66,8 +66,11 @@ if {${os.platform} eq "darwin" && ${os.major} < 15} {
</span>                     -Dlibrsvg=false
 }
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span> # uses g-ir-scanner, which uses $CC from env
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     foreach arch ${configure.universal_archs} {
         lappend merger_build_env(${arch})  "CC=${configure.cc} -arch ${arch}"
         lappend merger_destroot_env(${arch})  "CC=${configure.cc} -arch ${arch}"
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/gnome/gcab/Portfile b/gnome/gcab/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index d60f6f750fb..04717416df1 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/gnome/gcab/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/gnome/gcab/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -37,8 +37,11 @@ patchfiles          dont-use-version-script.patch
</span> 
 compiler.c_standard 1999
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span> # gobject-introspection uses g-ir-scanner, which uses $CC from env
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     foreach arch ${configure.universal_archs} {
         lappend merger_build_env(${arch})  "CC=${configure.cc} -arch ${arch}"
         lappend merger_destroot_env(${arch})  "CC=${configure.cc} -arch ${arch}"
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/gnome/gedit/Portfile b/gnome/gedit/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 6eef109295b..d94d538c226 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/gnome/gedit/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/gnome/gedit/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -58,8 +58,11 @@ post-patch {
</span> 
 configure.args      -Dgtk_doc=true
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span> # gobject-introspection uses g-ir-scanner, which uses $CC from env
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     foreach arch ${configure.universal_archs} {
         lappend merger_build_env(${arch})  "CC=${configure.cc} -arch ${arch}"
         lappend merger_destroot_env(${arch})  "CC=${configure.cc} -arch ${arch}"
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/gnome/geocode-glib/Portfile b/gnome/geocode-glib/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 04ad5cc9adb..0448be9d6fe 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/gnome/geocode-glib/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/gnome/geocode-glib/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -36,8 +36,11 @@ depends_lib         port:gettext \
</span>                     port:json-glib \
                     port:libsoup
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span> # gobject-introspection uses g-ir-scanner, which uses $CC from env
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     foreach arch ${configure.universal_archs} {
         lappend merger_build_env(${arch})  "CC=${configure.cc} -arch ${arch}"
         lappend merger_destroot_env(${arch})  "CC=${configure.cc} -arch ${arch}"
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/gnome/gexiv2/Portfile b/gnome/gexiv2/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 3b4eb10f07e..935a75f65d3 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/gnome/gexiv2/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/gnome/gexiv2/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -93,8 +93,11 @@ compiler.cxx_standard 2011
</span> 
 configure.args-append -Dgtk_doc=true
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span> # uses g-ir-scanner, which uses $CC from env
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     foreach arch ${configure.universal_archs} {
         lappend merger_build_env(${arch})  "CC=${configure.cc} -arch ${arch}"
         lappend merger_destroot_env(${arch})  "CC=${configure.cc} -arch ${arch}"
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/gnome/gnome-desktop/Portfile b/gnome/gnome-desktop/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index f0120b309c8..4d17d47a4be 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/gnome/gnome-desktop/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/gnome/gnome-desktop/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -56,8 +56,11 @@ configure.args      -Dgnome_distributor=MacPorts \
</span>                     -Ddesktop_docs=true \
                     -Dgtk_doc=true
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span> # uses g-ir-scanner, which uses $CC from env
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     foreach arch ${configure.universal_archs} {
         lappend merger_build_env(${arch})  "CC=${configure.cc} -arch ${arch}"
         lappend merger_destroot_env(${arch})  "CC=${configure.cc} -arch ${arch}"
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/gnome/grilo/Portfile b/gnome/grilo/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 24d787626db..5e18358ce42 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/gnome/grilo/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/gnome/grilo/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -37,8 +37,11 @@ depends_lib         port:gobject-introspection \
</span> 
 patchfiles          no-undefined.patch
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span> # uses g-ir-scanner, which uses $CC from env
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     foreach arch ${configure.universal_archs} {
         lappend merger_build_env(${arch})  "CC=${configure.cc} -arch ${arch}"
         lappend merger_destroot_env(${arch})  "CC=${configure.cc} -arch ${arch}"
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/gnome/gsettings-desktop-schemas/Portfile b/gnome/gsettings-desktop-schemas/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 42384ae2608..5af13af0a4e 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/gnome/gsettings-desktop-schemas/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/gnome/gsettings-desktop-schemas/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -39,8 +39,11 @@ post-patch {
</span>     reinplace "s|#!.*|#!${prefix}/bin/python3.8|" ${worksrcpath}/build-aux/meson/post-install.py
 }
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span> # gobject-introspection uses g-ir-scanner, which uses $CC from env
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     foreach arch ${configure.universal_archs} {
         lappend merger_build_env(${arch})  "CC=${configure.cc} -arch ${arch}"
         lappend merger_destroot_env(${arch})  "CC=${configure.cc} -arch ${arch}"
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/gnome/gstreamer010-gst-ffmpeg/Portfile b/gnome/gstreamer010-gst-ffmpeg/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 40b3267bf05..01df862746e 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/gnome/gstreamer010-gst-ffmpeg/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/gnome/gstreamer010-gst-ffmpeg/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -55,7 +55,10 @@ if {[lsearch [get_canonical_archs] i386] != -1} {
</span>     compiler.blacklist-append gcc-4.2 apple-gcc-4.2 llvm-gcc-4.2 macports-llvm-gcc-4.2
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} { 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} { 
</span>     set merger_host(x86_64) x86_64-apple-${os.platform}${os.major}
     set merger_host(i386) i686-apple-${os.platform}${os.major}
     set merger_host(ppc64) powerpc64-apple-${os.platform}${os.major}
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/gnome/gstreamer010-gst-plugins-bad/Portfile b/gnome/gstreamer010-gst-plugins-bad/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index ff070c24e3e..86d4cdb07fd 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/gnome/gstreamer010-gst-plugins-bad/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/gnome/gstreamer010-gst-plugins-bad/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -127,9 +127,13 @@ variant faac description {Enable faac AAC plugin} {
</span>     notes-append "Use of the +faac variant may affect licensing due to the restrictive license of port faac itself."
 }
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> # osxvideosrc is disabled by configure on 64 bit archs so disable if universal variant is set
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     set merger_host(x86_64) x86_64-apple-${os.platform}${os.major}
     set merger_host(i386) i686-apple-${os.platform}${os.major}
     set merger_configure_args(x86_64) --build=x86_64-apple-${os.platform}${os.major}
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/gnome/gstreamer010-gst-plugins-base/Portfile b/gnome/gstreamer010-gst-plugins-base/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index dc5c423661d..509c7689dfe 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/gnome/gstreamer010-gst-plugins-base/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/gnome/gstreamer010-gst-plugins-base/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -101,16 +101,19 @@ variant cdparanoia description {Enable (currently broken) cdparanoia plugin} {
</span> 
 default_variants +gnome_vfs +ogg +x11
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span> #-fgcse (from -O2) causes build failures, but -O2 -fno-gcse doesn't seem to work
 if {[string match "*gcc-4.2" ${configure.compiler}]} {
     lappend merger_configure_cflags(i386) -O1 -fexpensive-optimizations
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {![variant_isset universal] && ${build_arch} eq "i386"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {(!${universal_possible} || ![variant_isset universal]) && ${build_arch} eq "i386"} {
</span>         configure.cflags-delete -O2
         configure.cflags-append -O1 -fexpensive-optimizations
     }
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     set merger_host(x86_64) x86_64-apple-${os.platform}${os.major}
     set merger_host(i386) i686-apple-${os.platform}${os.major}
     set merger_configure_args(x86_64) --build=x86_64-apple-${os.platform}${os.major}
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/gnome/gstreamer010-gst-plugins-gl/Portfile b/gnome/gstreamer010-gst-plugins-gl/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 90f8c2a9465..a1056bfe3c6 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/gnome/gstreamer010-gst-plugins-gl/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/gnome/gstreamer010-gst-plugins-gl/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -56,7 +56,10 @@ post-patch {
</span>         ${worksrcpath}/gst-libs/gst/gl/Makefile.am 
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} { 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} { 
</span>     set merger_host(x86_64) x86_64-apple-${os.platform}${os.major}
     set merger_host(i386) i686-apple-${os.platform}${os.major}
     set merger_configure_args(x86_64) --build=x86_64-apple-${os.platform}${os.major}
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/gnome/gstreamer010-gst-plugins-good/Portfile b/gnome/gstreamer010-gst-plugins-good/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 9654eb84490..77f82271614 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/gnome/gstreamer010-gst-plugins-good/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/gnome/gstreamer010-gst-plugins-good/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -88,7 +88,10 @@ variant pulseaudio description {Enable PulseAudio plugin} {
</span> 
 default_variants    +pulseaudio
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     set merger_host(x86_64) x86_64-apple-${os.platform}${os.major}
     set merger_host(i386) i686-apple-${os.platform}${os.major}
     set merger_configure_args(x86_64) --build=x86_64-apple-${os.platform}${os.major}
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/gnome/gstreamer010-gst-plugins-ugly/Portfile b/gnome/gstreamer010-gst-plugins-ugly/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 09d65721d9e..190e3ff2aaa 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/gnome/gstreamer010-gst-plugins-ugly/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/gnome/gstreamer010-gst-plugins-ugly/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -55,7 +55,10 @@ post-extract {
</span>     ${worksrcpath}/configure
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} { 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} { 
</span>     set merger_host(x86_64) x86_64-apple-${os.platform}${os.major}
     set merger_host(i386) i686-apple-${os.platform}${os.major}
     set merger_configure_args(x86_64) --build=x86_64-apple-${os.platform}${os.major}
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/gnome/gstreamer010/Portfile b/gnome/gstreamer010/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 78c47cc6634..8d09040d2ec 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/gnome/gstreamer010/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/gnome/gstreamer010/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -54,7 +54,10 @@ configure.args-append \
</span>                     --disable-examples \
                     --disable-silent-rules
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     set merger_host(x86_64) x86_64-apple-${os.platform}${os.major}
     set merger_host(i386) i686-apple-${os.platform}${os.major}
     set merger_configure_args(x86_64) --build=x86_64-apple-${os.platform}${os.major}
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/gnome/gstreamer1-gst-libav/Portfile b/gnome/gstreamer1-gst-libav/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index b69a50ed578..36ab4c1d401 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/gnome/gstreamer1-gst-libav/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/gnome/gstreamer1-gst-libav/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -46,7 +46,10 @@ configure.args-append \
</span>                     --disable-fatal-warnings \
                     --disable-silent-rules
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     set merger_host(x86_64) x86_64-apple-${os.platform}${os.major}
     set merger_host(i386) i686-apple-${os.platform}${os.major}
     set merger_host(ppc64) powerpc64-apple-${os.platform}${os.major}
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/gnome/gstreamer1-gst-plugins-bad/Portfile b/gnome/gstreamer1-gst-plugins-bad/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 8476f9f585b..a342455c921 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/gnome/gstreamer1-gst-plugins-bad/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/gnome/gstreamer1-gst-plugins-bad/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -151,8 +151,12 @@ variant x11 {
</span> 
 default_variants +x11
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> platform macosx {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {![variant_isset x11] && ![variant_isset universal] && ${os.major} >= 13} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {![variant_isset x11] && (!${universal_possible} || ![variant_isset universal]) && ${os.major} >= 13} {
</span>         # Apple_Media requires CGL, which can only be provided on newer platforms and without X11 enabled.
         require_active_variants port:gstreamer1-gst-plugins-base {} x11
         configure.args-replace  --disable-apple_media \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -160,7 +164,7 @@ platform macosx {
</span>     }
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     set merger_host(x86_64) x86_64-apple-${os.platform}${os.major}
     set merger_host(i386) i686-apple-${os.platform}${os.major}
     set merger_configure_args(x86_64) --build=x86_64-apple-${os.platform}${os.major}
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/gnome/gstreamer1-gst-plugins-base/Portfile b/gnome/gstreamer1-gst-plugins-base/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index dfc19efdf1f..6321d87d4e0 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/gnome/gstreamer1-gst-plugins-base/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/gnome/gstreamer1-gst-plugins-base/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -103,6 +103,10 @@ variant x11 {
</span> # Prefer X11 implementation.
 default_variants +x11
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> # Cocoa-GL
 # Only enable on OS X 10.9 or later, if the x11 variant is not enabled.
 # Requires ARC (automatic reference counting, a clang feature enabled by
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -113,7 +117,7 @@ default_variants +x11
</span> # version of clang is used, since the Xcode clang may be too old.
 platform macosx {
     if {![variant_isset x11] && ${os.major} >= 13} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        if {[variant_isset universal] || ${build_arch} eq "i386"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {(${universal_possible} && [variant_isset universal]) || ${build_arch} eq "i386"} {
</span>             compiler.blacklist-append *gcc* {macports-clang-3.[0-8]} {clang < 703}
         }
         configure.args-replace  --disable-cocoa \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -151,13 +155,13 @@ variant cdparanoia description {Enable (currently broken) cdparanoia plugin} {
</span> #-fgcse (from -O2) causes build failures, but -O2 -fno-gcse doesn't seem to work
 if {[string match "*gcc-4.2" ${configure.compiler}]} {
     lappend merger_configure_cflags(i386) -O1 -fexpensive-optimizations
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {![variant_isset universal] && ${build_arch} eq "i386"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {(!${universal_possible} || ![variant_isset universal]) && ${build_arch} eq "i386"} {
</span>         configure.cflags-delete -O2
         configure.cflags-append -O1 -fexpensive-optimizations
     }
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     set merger_host(x86_64) x86_64-apple-${os.platform}${os.major}
     set merger_host(i386) i686-apple-${os.platform}${os.major}
     set merger_configure_args(x86_64) --build=x86_64-apple-${os.platform}${os.major}
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/gnome/gstreamer1-gst-plugins-good/Portfile b/gnome/gstreamer1-gst-plugins-good/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 1394c62f826..f788165bf57 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/gnome/gstreamer1-gst-plugins-good/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/gnome/gstreamer1-gst-plugins-good/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -137,7 +137,10 @@ variant qt description {Enable QT5 MAC windowing elements } {
</span>     configure.cxxflags-append -std=c++11
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     set merger_host(x86_64) x86_64-apple-${os.platform}${os.major}
     set merger_host(i386) i686-apple-${os.platform}${os.major}
     set merger_configure_args(x86_64) --build=x86_64-apple-${os.platform}${os.major}
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/gnome/gstreamer1-gst-plugins-ugly/Portfile b/gnome/gstreamer1-gst-plugins-ugly/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index bbb0fe61b16..0fc528cc44b 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/gnome/gstreamer1-gst-plugins-ugly/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/gnome/gstreamer1-gst-plugins-ugly/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -44,7 +44,10 @@ configure.args-append \
</span> 
 configure.cflags-append     -funroll-loops -fstrict-aliasing
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     set merger_host(x86_64) x86_64-apple-${os.platform}${os.major}
     set merger_host(i386) i686-apple-${os.platform}${os.major}
     set merger_configure_args(x86_64) --build=x86_64-apple-${os.platform}${os.major}
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/gnome/gstreamer1/Portfile b/gnome/gstreamer1/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 77370778bc3..4fd17f40809 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/gnome/gstreamer1/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/gnome/gstreamer1/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -65,7 +65,10 @@ configure.args-append \
</span>                     --without-dw \
                     --without-unwind
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     set merger_host(x86_64) x86_64-apple-${os.platform}${os.major}
     set merger_host(i386) i686-apple-${os.platform}${os.major}
     set merger_configure_args(x86_64) --build=x86_64-apple-${os.platform}${os.major}
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/gnome/gtk2/Portfile b/gnome/gtk2/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index f1cfc4a2672..4bcdc76885c 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/gnome/gtk2/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/gnome/gtk2/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -64,8 +64,11 @@ configure.ccache    no
</span> configure.cppflags-append   -DX_LOCALE -D_IPP_PRIVATE_STRUCTURES=1
 configure.cflags-append     -fstrict-aliasing
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span> # gobject-introspection uses g-ir-scanner, which uses $CC from env
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     foreach arch ${configure.universal_archs} {
         lappend merger_build_args(${arch})  CC='${configure.cc} -arch ${arch}'
         lappend merger_destroot_args(${arch})  CC='${configure.cc} -arch ${arch}'
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -134,7 +137,7 @@ if {![variant_isset quartz] && ![variant_isset bundle]} {
</span>     default_variants +x11
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     set cups /usr/bin/cups-config
     if {[info exists universal_sysroot]} {
         set cups ${universal_sysroot}${cups}
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/gnome/gtk3/Portfile b/gnome/gtk3/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 6fd9f6285ce..f687dba1554 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/gnome/gtk3/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/gnome/gtk3/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -70,9 +70,13 @@ if {[variant_isset quartz]} {
</span>     compiler.blacklist  *gcc-3.* *gcc-4.* {clang < 300}
 }
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> # gobject-introspection uses g-ir-scanner, which uses $CC from env
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     foreach arch ${configure.universal_archs} {
         lappend merger_build_args(${arch})  CC='${configure.cc} -arch ${arch}'
         lappend merger_build_args(${arch})  CC_FOR_BUILD='${configure.cc} -arch ${arch}'
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -159,7 +163,7 @@ platform darwin {
</span>     }
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     set cups /usr/bin/cups-config
     if {[info exists universal_sysroot]} {
         set cups ${universal_sysroot}${cups}
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/gnome/gtksourceview4/Portfile b/gnome/gtksourceview4/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 6053bf61407..163d7e88729 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/gnome/gtksourceview4/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/gnome/gtksourceview4/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -48,8 +48,11 @@ compiler.c_standard 1999
</span> 
 configure.args      -Dgtk_doc=true
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span> # gobject-introspection uses g-ir-scanner, which uses $CC from env
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     foreach arch ${configure.universal_archs} {
         lappend merger_build_env(${arch})  "CC=${configure.cc} -arch ${arch}"
         lappend merger_destroot_env(${arch})  "CC=${configure.cc} -arch ${arch}"
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/gnome/gucharmap/Portfile b/gnome/gucharmap/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 4ab0159599a..1500c6df2bf 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/gnome/gucharmap/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/gnome/gucharmap/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -82,8 +82,11 @@ compiler.blacklist-append   {clang < 700}
</span> 
 configure.args      -Ducd_path=${workpath}/UCD
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span> # uses g-ir-scanner, which uses $CC from env
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     foreach arch ${configure.universal_archs} {
         lappend merger_build_env(${arch})  "CC=${configure.cc} -arch ${arch}"
         lappend merger_destroot_env(${arch})  "CC=${configure.cc} -arch ${arch}"
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/gnome/libchamplain/Portfile b/gnome/libchamplain/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index c69c555dbce..80080b35d50 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/gnome/libchamplain/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/gnome/libchamplain/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -37,8 +37,11 @@ depends_lib         port:gtk3 \
</span> 
 configure.args      -Dgtk_doc=true
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span> # uses g-ir-scanner, which uses $CC from env
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     foreach arch ${configure.universal_archs} {
         lappend merger_build_env(${arch})  "CC=${configure.cc} -arch ${arch}"
         lappend merger_destroot_env(${arch})  "CC=${configure.cc} -arch ${arch}"
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/gnome/libdazzle/Portfile b/gnome/libdazzle/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index a5de7e03f4d..d1be5f41489 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/gnome/libdazzle/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/gnome/libdazzle/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -35,8 +35,11 @@ depends_lib-append  port:gobject-introspection \
</span> 
 compiler.c_standard 2011
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span> # uses g-ir-scanner, which uses $CC from env
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     foreach arch ${configure.universal_archs} {
         lappend merger_build_env(${arch})  "CC=${configure.cc} -arch ${arch}"
         lappend merger_destroot_env(${arch})  "CC=${configure.cc} -arch ${arch}"
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/gnome/libgdata/Portfile b/gnome/libgdata/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 025c335ab5f..2ca07e3c3af 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/gnome/libgdata/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/gnome/libgdata/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -43,8 +43,11 @@ configure.args      -Dgtk_doc=true
</span> 
 test.run            yes
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span> # uses g-ir-scanner, which uses $CC from env
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     foreach arch ${configure.universal_archs} {
         lappend merger_build_env(${arch})  "CC=${configure.cc} -arch ${arch}"
         lappend merger_destroot_env(${arch})  "CC=${configure.cc} -arch ${arch}"
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/gnome/libgit2-glib/Portfile b/gnome/libgit2-glib/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 5548ead2f2f..5a10dc616e4 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/gnome/libgit2-glib/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/gnome/libgit2-glib/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -53,8 +53,11 @@ post-patch {
</span> configure.args      -Dgtk_doc=true \
                     -Dpython=false
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span> # uses g-ir-scanner, which uses $CC from env
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     foreach arch ${configure.universal_archs} {
         lappend merger_build_env(${arch})  "CC=${configure.cc} -arch ${arch}"
         lappend merger_destroot_env(${arch})  "CC=${configure.cc} -arch ${arch}"
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/gnome/libpeas/Portfile b/gnome/libpeas/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index e471dd62764..7e63a9e36c9 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/gnome/libpeas/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/gnome/libpeas/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -37,8 +37,11 @@ configure.args      -Dglade_catalog=false \
</span>                     -Dvapi=true \
                     -Dgtk_doc=true
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span> # gobject-introspection uses g-ir-scanner, which uses $CC from env
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     foreach arch ${configure.universal_archs} {
         lappend merger_build_env(${arch})  "CC=${configure.cc} -arch ${arch}"
         lappend merger_destroot_env(${arch})  "CC=${configure.cc} -arch ${arch}"
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/gnome/libsoup/Portfile b/gnome/libsoup/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index abd5ec4f4f9..4862c7f79df 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/gnome/libsoup/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/gnome/libsoup/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -54,8 +54,11 @@ configure.args      -Dbrotli=enabled \
</span>                     -Dvapi=enabled \
                     -Dtests=false
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span> # uses g-ir-scanner, which uses $CC from env
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     foreach arch ${configure.universal_archs} {
         lappend merger_build_env(${arch})  "CC=${configure.cc} -arch ${arch}"
         lappend merger_destroot_env(${arch})  "CC=${configure.cc} -arch ${arch}"
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/gnome/oxygen-gtk2/Portfile b/gnome/oxygen-gtk2/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index a18b280988f..b7378399f9f 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/gnome/oxygen-gtk2/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/gnome/oxygen-gtk2/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -70,7 +70,7 @@ depends_lib-append  port:xorg-libX11 \
</span> post-configure {
     # Default libraries extension is ".dylib" on Darwin, not ".so", but gtk-engines must have a .so extension
     # NB: replacing the extension post-destroot seems to work too, but this seems cleaner to me even if more complicated.
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[variant_exists universal] && [variant_isset universal]} {
</span>         reinplace {s/liboxygen-gtk\.dylib/liboxygen-gtk\.so/} ${workpath}/build-x86_64/src/CMakeFiles/oxygen-gtk.dir/build.make \
             ${workpath}/build-x86_64/src/CMakeFiles/oxygen-gtk.dir/cmake_clean.cmake \
             ${workpath}/build-x86_64/src/CMakeFiles/oxygen-gtk.dir/link.txt \
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/gnome/totem-pl-parser/Portfile b/gnome/totem-pl-parser/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index e51c72cd5b9..f0666dc8ffe 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/gnome/totem-pl-parser/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/gnome/totem-pl-parser/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -41,8 +41,11 @@ configure.args      -Denable-libarchive=yes \
</span>                     -Denable-quvi=yes \
                     -Denable-gtk-doc=true
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span> # uses g-ir-scanner, which uses $CC from env
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     foreach arch ${configure.universal_archs} {
         lappend merger_build_env(${arch})  "CC=${configure.cc} -arch ${arch}"
         lappend merger_destroot_env(${arch})  "CC=${configure.cc} -arch ${arch}"
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/graphics/AntTweakBar/Portfile b/graphics/AntTweakBar/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 440355427ff..113feb1d9c6 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/graphics/AntTweakBar/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/graphics/AntTweakBar/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -20,15 +20,10 @@ use_configure       no
</span> use_zip             yes
 
 variant universal {}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set archflags ${configure.universal_cflags}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-} else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set archflags ${configure.cc_archflags}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span> 
 build.args          CXX="${configure.cc}" \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    CXXCFG="${configure.optflags} ${archflags}" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    LFLAGS="${archflags}" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    CXXCFG="${configure.optflags} [get_canonical_archflags cxx]" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    LFLAGS="[get_canonical_archflags ld]" \
</span>                     LINK="${configure.cc}" \
                     PREFIX=${prefix}
 
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/graphics/babl-devel/Portfile b/graphics/babl-devel/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 73473c1bf54..e195ff067ef 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/graphics/babl-devel/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/graphics/babl-devel/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -50,8 +50,11 @@ compiler.blacklist-append *gcc-3.* *gcc-4.*
</span> #                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
 compiler.blacklist-append {clang > 700 < 800}
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span> # gobject-introspection uses g-ir-scanner, which uses $CC from env
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     foreach arch ${configure.universal_archs} {
         lappend merger_build_env(${arch})  "CC=${configure.cc} -arch ${arch}"
         lappend merger_destroot_env(${arch})  "CC=${configure.cc} -arch ${arch}"
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/graphics/babl/Portfile b/graphics/babl/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index dd278e19f04..e1045918628 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/graphics/babl/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/graphics/babl/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -50,8 +50,11 @@ compiler.blacklist-append *gcc-3.* *gcc-4.*
</span> #                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
 compiler.blacklist-append {clang > 700 < 800}
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span> # gobject-introspection uses g-ir-scanner, which uses $CC from env
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     foreach arch ${configure.universal_archs} {
         lappend merger_build_env(${arch})  "CC=${configure.cc} -arch ${arch}"
         lappend merger_destroot_env(${arch})  "CC=${configure.cc} -arch ${arch}"
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/graphics/cairo-devel/Portfile b/graphics/cairo-devel/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index d3804f07b88..e653b055c28 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/graphics/cairo-devel/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/graphics/cairo-devel/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -60,8 +60,11 @@ patchfiles-append           patch-cairo-quartz-surfaces.diff
</span> # https://trac.macports.org/ticket/34137
 compiler.blacklist-append   {clang < 318.0.61}
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span> # https://trac.macports.org/ticket/27011
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {${build_arch} eq "x86_64" || ([variant_isset universal] && [lsearch ${universal_archs} x86_64] != -1)} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${configure.build_arch} eq "x86_64" || (${universal_possible} && [variant_isset universal] && "x86_64" in ${configure.universal_archs})} {
</span>     compiler.blacklist-append gcc-4.0
 }
 
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/graphics/cairo/Portfile b/graphics/cairo/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index fc789238f98..d87781916dd 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/graphics/cairo/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/graphics/cairo/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -60,8 +60,11 @@ patchfiles-append           patch-cairo-quartz-surfaces.diff
</span> # https://trac.macports.org/ticket/34137
 compiler.blacklist-append   {clang < 318.0.61}
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span> # https://trac.macports.org/ticket/27011
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {${build_arch} eq "x86_64" || ([variant_isset universal] && [lsearch ${universal_archs} x86_64] != -1)} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${configure.build_arch} eq "x86_64" || (${universal_possible} && [variant_isset universal] && "x86_64" in ${configure.universal_archs})} {
</span>     compiler.blacklist-append gcc-4.0
 }
 
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/graphics/exiftags/Portfile b/graphics/exiftags/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 6ebdb3cc3ad..862f9da3d48 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/graphics/exiftags/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/graphics/exiftags/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -28,12 +28,7 @@ checksums       md5     9d5bce968fdde2dc24ba49c0024dc0cc \
</span> use_configure     no
 
 variant universal {}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   set archflags ${configure.universal_ldflags}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-} else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   set archflags ${configure.cc_archflags}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-build.args CC="${configure.cc} ${archflags}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+build.args CC="${configure.cc} [get_canonical_archflags cc]"
</span> 
 destroot {
     xinstall -W ${worksrcpath} exiftags exifcom exiftime ${destroot}${prefix}/bin
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/graphics/gdk-pixbuf2/Portfile b/graphics/gdk-pixbuf2/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 7b4f31488c7..e09a413a95e 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/graphics/gdk-pixbuf2/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/graphics/gdk-pixbuf2/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -53,8 +53,11 @@ configure.args      -Dx11=false \
</span>                     -Ddocs=true \
                     -Djasper=true
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span> # gobject-introspection uses g-ir-scanner, which uses $CC from env
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     foreach arch ${configure.universal_archs} {
         lappend merger_build_env(${arch})  "CC=${configure.cc} -arch ${arch}"
         lappend merger_destroot_env(${arch})  "CC=${configure.cc} -arch ${arch}"
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/graphics/gegl-0.3/Portfile b/graphics/gegl-0.3/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 82155fa2a83..0056457b908 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/graphics/gegl-0.3/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/graphics/gegl-0.3/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -99,16 +99,19 @@ post-destroot {
</span> }
 
 platform darwin {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {${universal_possible} && [variant_isset universal]} {
</span>         # In order to build universal on Leopard, you need MacPorts 2.1
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        set merger_configure_args(x86_64) --build=${build_arch}-apple-${os.platform}${os.version}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set merger_configure_args(x86_64) --build=${configure.build_arch}-apple-${os.platform}${os.version}
</span>         set merger_configure_cflags(ppc) -fno-altivec
         set merger_configure_cxxflags(ppc) -fno-altivec
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    } elseif {${build_arch} eq "ppc"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    } elseif {${configure.build_arch} eq "ppc"} {
</span>         configure.cflags-append -fno-altivec
         configure.cxxflags-append -fno-altivec
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    } elseif {${build_arch} eq "x86_64"} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        configure.args-append --build=${build_arch}-apple-${os.platform}${os.version}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    } elseif {${configure.build_arch} eq "x86_64"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        configure.args-append --build=${configure.build_arch}-apple-${os.platform}${os.version}
</span>     }
 }
 
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/graphics/gegl-devel/Portfile b/graphics/gegl-devel/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index b7a7c0f32e7..1b18f6686b6 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/graphics/gegl-devel/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/graphics/gegl-devel/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -106,8 +106,11 @@ platform darwin powerpc {
</span> #    }
 #}
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span> # gobject-introspection uses g-ir-scanner, which uses $CC from env
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     foreach arch ${configure.universal_archs} {
         lappend merger_build_env(${arch})  "CC=${configure.cc} -arch ${arch}"
         lappend merger_destroot_env(${arch})  "CC=${configure.cc} -arch ${arch}"
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/graphics/gegl/Portfile b/graphics/gegl/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 740b840a866..ca1e29c798b 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/graphics/gegl/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/graphics/gegl/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -112,8 +112,11 @@ platform darwin powerpc {
</span> #    }
 #}
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span> # gobject-introspection uses g-ir-scanner, which uses $CC from env
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     foreach arch ${configure.universal_archs} {
         lappend merger_build_env(${arch})  "CC=${configure.cc} -arch ${arch}"
         lappend merger_destroot_env(${arch})  "CC=${configure.cc} -arch ${arch}"
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/graphics/graphene/Portfile b/graphics/graphene/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index ceb8b537635..7a8d1bdef7a 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/graphics/graphene/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/graphics/graphene/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -59,8 +59,11 @@ if {${build_arch} eq "i386" || ${build_arch} eq "x86_64"} {
</span>     supported_archs     ppc ppc64
 }
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span> # gobject-introspection uses g-ir-scanner, which uses $CC from env
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     foreach arch ${configure.universal_archs} {
         lappend merger_build_env(${arch})  "CC=${configure.cc} -arch ${arch}"
         lappend merger_destroot_env(${arch})  "CC=${configure.cc} -arch ${arch}"
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/graphics/lcms2/Portfile b/graphics/lcms2/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 10b4e6223cf..0f0540020af 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/graphics/lcms2/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/graphics/lcms2/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -36,7 +36,10 @@ depends_lib             path:include/turbojpeg.h:libjpeg-turbo \
</span> 
 # the i386 warning causes the universal build to fail
 # https://trac.macports.org/ticket/60656
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[vercmp ${xcodeversion} 10.0] >= 0 && [variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {[vercmp ${xcodeversion} 10.0] >= 0 && ${universal_possible} && [variant_isset universal]} {
</span>     configure.ldflags-append -w
 }
 
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/graphics/libQGLViewer/Portfile b/graphics/libQGLViewer/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 4b8f72b0d1b..e89b366357c 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/graphics/libQGLViewer/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/graphics/libQGLViewer/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -42,7 +42,10 @@ post-patch {
</span>     reinplace "s|@@QT_PLUGINS_DIR@@|${qt_plugins_dir}|g" ${worksrcpath}/designerPlugin/designerPlugin.pro
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset qt4] && ![variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {[variant_isset qt4] && (!${universal_possible} || ![variant_isset universal])} {
</span>     configure.pre_args-append   "CONFIG+=\"${qt_arch_types}\""
 }
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -70,7 +73,7 @@ if {[variant_isset qt4]} {
</span> 
 use_parallel_build              no
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {![variant_isset universal] || ![variant_isset qt5]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {!${universal_possible} || ![variant_isset universal] || ![variant_isset qt5]} {
</span>     post-destroot {
         system -W ${worksrcpath}/examples "make clean"
         copy ${worksrcpath}/examples ${destroot}${applications_dir}/libQGLViewer\ Examples
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/graphics/libggi/Portfile b/graphics/libggi/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 4eb6e5129ec..a573df4034b 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/graphics/libggi/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/graphics/libggi/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -36,8 +36,11 @@ post-patch {
</span> }
 
 configure.args   --mandir=${prefix}/share/man
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {([variant_isset universal] && [string match *64* $universal_archs]) 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    || (![variant_isset universal] && [string match *64 $build_arch])} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {(${universal_possible} && [variant_isset universal] && [string match *64* ${configure.universal_archs}]) 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    || ((!${universal_possible} || ![variant_isset universal]) && [string match *64 ${configure.build_arch}])} {
</span>     # actually uses a lot of old QuickDraw stuff
     configure.args-append   --disable-quartz
 }
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/graphics/libggiwmh/Portfile b/graphics/libggiwmh/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index c95fe2776df..8e540bdabfb 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/graphics/libggiwmh/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/graphics/libggiwmh/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -31,8 +31,11 @@ post-patch {
</span> }
 
 configure.args   --mandir=${prefix}/share/man
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {([variant_isset universal] && [string match *64* $universal_archs]) 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    || (![variant_isset universal] && [string match *64 $build_arch])} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {(${universal_possible} && [variant_isset universal] && [string match *64* ${configure.universal_archs}]) 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    || ((!${universal_possible} || ![variant_isset universal]) && [string match *64 ${configure.build_arch}])} {
</span>     # uses carbon window manager functions with no 64-bit version
     configure.args-append   --disable-quartz
 }
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/graphics/libguichan/Portfile b/graphics/libguichan/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 36ca79a845d..b8ba45bf68b 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/graphics/libguichan/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/graphics/libguichan/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -23,7 +23,12 @@ patchfiles       patch-src_allegro,opengl,sdl_Makefile.in.diff
</span> 
 depends_lib     port:libsdl port:libsdl_image port:allegro port:mesa
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {${os.platform} eq "darwin" && (([variant_isset universal] && [string match *64* $universal_archs]) || (![variant_isset universal] && [string match *64 $build_arch]))} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${os.platform} eq "darwin" && ((${universal_possible} && [variant_isset universal] &&
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    [string match *64* ${configure.universal_archs}]) || ((!${universal_possible} || ![variant_isset universal]) &&
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    [string match *64 ${configure.build_arch}]))} {
</span>     # allegro is not yet 64-bit compatible
     depends_lib-delete port:allegro
     configure.args-append --disable-allegro
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/graphics/libjpeg-turbo/Portfile b/graphics/libjpeg-turbo/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 216e1751ecd..a92214661fe 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/graphics/libjpeg-turbo/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/graphics/libjpeg-turbo/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -36,7 +36,10 @@ checksums           sha1    5406c7676d7df89fb4da791ad5af51202910fb25 \
</span> # Allow overriding CMAKE_SYSTEM_PROCESSOR
 patchfiles          CMakeLists.txt.patch
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     if {"x86_64" in ${configure.universal_archs} || "i386" in ${configure.universal_archs}} {
         depends_build-append port:nasm
     }
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/graphics/metapixel/Portfile b/graphics/metapixel/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 008c684076a..092c5a2a08d 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/graphics/metapixel/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/graphics/metapixel/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -39,18 +39,13 @@ patchfiles              metapixel_1.0.2-libpng1.5.patch \
</span> use_configure           no
 
 variant universal {}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set archflags       ${configure.universal_cflags}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-} else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set archflags       ${configure.cc_archflags}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span> 
 build.args              PREFIX=${prefix} \
                         CC="${configure.cc}" \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                        MACOS_CCOPTS="${archflags}" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        MACOS_LDOPTS="${archflags}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        MACOS_CCOPTS="[get_canonical_archflags cc]" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        MACOS_LDOPTS="[get_canonical_archflags ld]"
</span> 
 destroot.destdir        PREFIX=${destroot}${prefix} \
                         CC="${configure.cc}" \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                        MACOS_CCOPTS="${archflags}" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        MACOS_LDOPTS="${archflags}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        MACOS_CCOPTS="[get_canonical_archflags cc]" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        MACOS_LDOPTS="[get_canonical_archflags ld]"
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/graphics/mozjpeg/Portfile b/graphics/mozjpeg/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 237f97d6744..c2f0840757e 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/graphics/mozjpeg/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/graphics/mozjpeg/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -39,7 +39,10 @@ array set merger_host {
</span>     x86_64  x86_64-apple-darwin
     i386    i686-apple-darwin
 }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {![variant_isset universal]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {(!${universal_possible} || ![variant_isset universal])
</span>         && [info exists merger_host(${configure.build_arch})]} {
     configure.args-append --host=$merger_host(${configure.build_arch})
 }
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/graphics/opencv/Portfile b/graphics/opencv/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index aac6879a591..9190160a3ae 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/graphics/opencv/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/graphics/opencv/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -182,6 +182,10 @@ configure.args-append \
</span>                     -DOPENCV_ENABLE_NONFREE=OFF \
                     -DENABLE_CXX11=ON
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> platform darwin {
     configure.args-append \
                     -DZLIB_LIBRARY=${prefix}/lib/libz.dylib \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -205,7 +209,8 @@ platform darwin {
</span>                     -DWITH_AVFOUNDATION=OFF
     }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if { ${build_arch} eq "i386" || ${build_arch} eq "ppc" || [variant_isset universal] } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if { ${configure.build_arch} in [list i386 ppc] || (${universal_possible} && [variant_isset universal] &&
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ("i386" in ${configure.universal_archs} || "ppc" in ${configure.universal_archs}))} {
</span>         #The Accelerate ABI requires 32-bit signed integers.
         #In clapack.h, __CLPK_integer is a typedef for either
         #   int (64-bit) or long int (32-bit).
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -238,7 +243,7 @@ if {[string match "*clang*" ${configure.compiler}]} {
</span> }
 
 # PCH broken when universal
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     configure.args-replace  -DENABLE_PRECOMPILED_HEADERS=ON \
                             -DENABLE_PRECOMPILED_HEADERS=OFF
 }
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/graphics/opencv3/Portfile b/graphics/opencv3/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 88380ac85b0..dfda62b82f4 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/graphics/opencv3/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/graphics/opencv3/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -256,6 +256,10 @@ configure.args-append \
</span>                     -DPYTHON_EXECUTABLE=/usr/bin/python \
                     -DPYTHON_DEFAULT_EXECUTABLE=/usr/bin/python
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> platform darwin {
     configure.args-append \
                     -DZLIB_LIBRARY=${prefix}/lib/libz.dylib \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -279,7 +283,8 @@ platform darwin {
</span>                     -DWITH_AVFOUNDATION=OFF
     }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if { ${build_arch} eq "i386" || ${build_arch} eq "ppc" || [variant_isset universal] } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if { ${configure.build_arch} in [list i386 ppc] || (${universal_possible} && [variant_isset universal] &&
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ("i386" in ${configure.universal_archs} || "ppc" in ${configure.universal_archs}))} {
</span>         #The Accelerate ABI requires 32-bit signed integers.
         #In clapack.h, __CLPK_integer is a typedef for either
         #   int (64-bit) or long int (32-bit).
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -313,7 +318,7 @@ if {[string match "*clang*" ${configure.compiler}]} {
</span> }
 
 # PCH broken when universal
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     configure.args-replace  -DENABLE_PRECOMPILED_HEADERS=ON \
                             -DENABLE_PRECOMPILED_HEADERS=OFF
 }
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/graphics/opencv4/Portfile b/graphics/opencv4/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 3fe107eea1d..cde5c859811 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/graphics/opencv4/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/graphics/opencv4/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -232,7 +232,10 @@ universal_variant   no
</span> 
 # PCH broken when universal
 # Keep around, for when universal support is fixed/enabled
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     configure.args-replace \
                     -DENABLE_PRECOMPILED_HEADERS:BOOL=ON \
                     -DENABLE_PRECOMPILED_HEADERS:BOOL=OFF
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/graphics/povray/Portfile b/graphics/povray/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index e0a85c1e727..73e283dad17 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/graphics/povray/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/graphics/povray/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -89,22 +89,7 @@ test.run            yes
</span> test.target         check
 
 # Unable to cross compile, so we need to be able to run the built code
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {${os.arch} eq "i386" && ${os.major} >= 11} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    supported_archs i386 x86_64
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set universal_archs_supported {i386 x86_64}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-} elseif {${os.arch} eq "i386" && ${configure.build_arch} eq "x86_64"} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    supported_archs i386 x86_64 ppc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set universal_archs_supported {i386 x86_64 ppc}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-} elseif {${os.arch} eq "i386"} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    supported_archs i386 ppc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set universal_archs_supported {i386 ppc}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-} elseif {${configure.build_arch} eq "ppc64"} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    supported_archs ppc ppc64
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set universal_archs_supported {ppc ppc64}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-} else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    supported_archs ${configure.build_arch}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set universal_archs_supported ${configure.build_arch}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+merger_must_run_binaries    yes
</span> 
 variant native description {Enable CPU-specific optimizations} {
     configure.args-delete --disable-optimiz-arch
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -123,7 +108,10 @@ platform darwin {
</span>             set merger_configure_args(${arch}) --build=$merger_host(${arch})
         }
     }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {![variant_isset universal] && [info exists merger_configure_args(${configure.build_arch})]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {(!${universal_possible} || ![variant_isset universal]) && [info exists merger_configure_args(${configure.build_arch})]} {
</span>         configure.args-append --host=$merger_host(${configure.build_arch}) $merger_configure_args(${configure.build_arch})
     }
 }
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/chicken/Portfile b/lang/chicken/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 3938e3b86af..a1ca37f99f5 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/chicken/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/chicken/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -38,9 +38,12 @@ build.args              C_COMPILER=${configure.cc} \
</span> # Upstream does not support parallel builds.
 use_parallel_build      no
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span> # Correctly identify selected arch(s) to build system.
 array set archs {ppc ppc.darwin ppc64 ppc.darwin i386 x86 x86_64 x86-64}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     foreach arch ${configure.universal_archs} {
         lappend merger_build_args(${arch}) \
             ARCH=$archs(${configure.build_arch})
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -59,7 +62,7 @@ if {${configure.sdkroot} != ""} {
</span>     set cflags  "${cflags}  -isysroot ${configure.sdkroot}"
     set ldflags "${ldflags} -Wl,-syslibroot,${configure.sdkroot}"
 }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     foreach arch ${configure.universal_archs} {
         lappend merger_build_args(${arch}) \
             CFLAGS='${cflags}   -arch ${arch}' \
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/dmd-tools/Portfile b/lang/dmd-tools/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index bd86fb01007..5a10691e7d4 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/dmd-tools/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/dmd-tools/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -40,7 +40,10 @@ destroot.args       -f posix.mak \
</span>                     INSTALL_DIR=${destroot}${prefix} \
                     PREFIX=${prefix}
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if { ![variant_isset universal] } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {!${universal_possible} || ![variant_isset universal]} {
</span>     if { ${build_arch} eq "x86_64" || ${build_arch} eq "ppc64" } {
         build.args-append    MODEL=64
         destroot.args-append MODEL=64
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/dmd/Portfile b/lang/dmd/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index aae9e108ae8..665c829ddd6 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/dmd/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/dmd/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -47,7 +47,10 @@ build.args          -f posix.mak all man \
</span>                     SYSCONFDIR=${prefix}/etc/${name} \
                     HOST_DMD=${prefix}/libexec/dmd-bootstrap/bin/dmd
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if { ![variant_isset universal] } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {!${universal_possible} || ![variant_isset universal]} {
</span>     if { ${build_arch} eq "x86_64" || ${build_arch} eq "ppc64" } {
         build.args-append MODEL=64
         destroot.args-append MODEL=64
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/druntime/Portfile b/lang/druntime/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 0c849375c0c..964b64d1198 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/druntime/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/druntime/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -35,7 +35,10 @@ build.args          -f posix.mak \
</span>                     DMD_DIR=${prefix}/share/dmd
 build.target        ""
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if { ![variant_isset universal] } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {!${universal_possible} || ![variant_isset universal]} {
</span>     if { ${build_arch} eq "x86_64" || ${build_arch} eq "ppc64" } {
         build.args-append MODEL=64
     } else {
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc-devel/Portfile b/lang/gcc-devel/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 2565a28eae4..688e6469708 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/gcc-devel/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc-devel/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -272,7 +272,7 @@ if {${subport} eq "libgcc-devel"} {
</span>             }
 
             move ${destroot}${prefix}/lib/libgcc/${dylib} ${destroot}${prefix}/lib/libgcc.merged
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {[variant_exists universal] && [variant_isset universal]} {
</span>                 foreach archdir [glob ${destroot}${prefix}/lib/libgcc/*/] {
                     set archdir_nodestroot [string map "${destroot}/ /" ${archdir}]
                     if {[file exists ${archdir}/${dylib}]} {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -330,7 +330,7 @@ if {${subport} eq "libgcc-devel"} {
</span>                 delete ${destroot}${prefix}/lib/${name}/${dylib}
                 ln -s ${prefix}/lib/libgcc/${dylib} ${destroot}${prefix}/lib/${name}/${dylib}
             }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {[variant_exists universal] && [variant_isset universal]} {
</span>                 foreach archdir [glob ${destroot}${prefix}/lib/${name}/*/] {
                     if {[file exists ${archdir}/${dylib}]} {
                         delete ${archdir}/${dylib}
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc43/Portfile b/lang/gcc43/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 4820d88b260..330c5b97d3e 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/gcc43/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc43/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -211,7 +211,7 @@ post-destroot {
</span>             ln -s ${prefix}/lib/libgcc/${dylib} ${destroot}${prefix}/lib/${name}/${dylib}
         }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {[variant_exists universal] && [variant_isset universal]} {
</span>             foreach archdir [glob ${destroot}${prefix}/lib/${name}/*/] {
                 if {[file exists ${archdir}/${dylib}]} {
                     delete ${archdir}/${dylib}
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc44/Portfile b/lang/gcc44/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index d11644f4645..07fd6b01e48 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/gcc44/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc44/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -213,7 +213,7 @@ post-destroot {
</span>             ln -s ${prefix}/lib/libgcc/${dylib} ${destroot}${prefix}/lib/${name}/${dylib}
         }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {[variant_exists universal] && [variant_isset universal]} {
</span>             foreach archdir [glob ${destroot}${prefix}/lib/${name}/*/] {
                 if {[file exists ${archdir}/${dylib}]} {
                     delete ${archdir}/${dylib}
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc45/Portfile b/lang/gcc45/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 2de303b24d1..cd730c811ab 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/gcc45/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc45/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -246,7 +246,7 @@ if {${subport} == "libgcc45"} {
</span> 
         foreach dylib ${dylibs} {
             move ${destroot}${prefix}/lib/libgcc/${dylib} ${destroot}${prefix}/lib/libgcc.merged
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {[variant_exists universal] && [variant_isset universal]} {
</span>                 foreach archdir [glob ${destroot}${prefix}/lib/libgcc/*/] {
                     set archdir_nodestroot [string map "${destroot}/ /" ${archdir}]
                     if {[file exists ${archdir}/${dylib}]} {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -306,7 +306,7 @@ post-destroot {
</span>             ln -s ${prefix}/lib/libgcc/${dylib} ${destroot}${prefix}/lib/${name}/${dylib}
         }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {[variant_exists universal] && [variant_isset universal]} {
</span>             foreach archdir [glob ${destroot}${prefix}/lib/${name}/*/] {
                 if {[file exists ${archdir}/${dylib}]} {
                     delete ${archdir}/${dylib}
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc46/Portfile b/lang/gcc46/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 61f28b44e71..b21b1558a2b 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/gcc46/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc46/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -214,7 +214,7 @@ post-destroot {
</span>             ln -s ${prefix}/lib/libgcc/${dylib} ${destroot}${prefix}/lib/${name}/${dylib}
         }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {[variant_exists universal] && [variant_isset universal]} {
</span>             foreach archdir [glob ${destroot}${prefix}/lib/${name}/*/] {
                 if {[file exists ${archdir}/${dylib}]} {
                     delete ${archdir}/${dylib}
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc47/Portfile b/lang/gcc47/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 47d24f3b846..b1ff21694d5 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/gcc47/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc47/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -211,7 +211,7 @@ post-destroot {
</span>             ln -s ${prefix}/lib/libgcc/${dylib} ${destroot}${prefix}/lib/${name}/${dylib}
         }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {[variant_exists universal] && [variant_isset universal]} {
</span>             foreach archdir [glob ${destroot}${prefix}/lib/${name}/*/] {
                 if {[file exists ${archdir}/${dylib}]} {
                     delete ${archdir}/${dylib}
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc48/Portfile b/lang/gcc48/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 9efd2e14e6f..794c6125ad8 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/gcc48/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc48/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -200,7 +200,7 @@ post-destroot {
</span>             ln -s ${prefix}/lib/libgcc/${dylib} ${destroot}${prefix}/lib/${name}/${dylib}
         }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {[variant_exists universal] && [variant_isset universal]} {
</span>             foreach archdir [glob ${destroot}${prefix}/lib/${name}/*/] {
                 if {[file exists ${archdir}/${dylib}]} {
                     delete ${archdir}/${dylib}
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc49/Portfile b/lang/gcc49/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 3269d642aa0..e9924043cb9 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/gcc49/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc49/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -195,7 +195,7 @@ post-destroot {
</span>             ln -s ${prefix}/lib/libgcc/${dylib} ${destroot}${prefix}/lib/${name}/${dylib}
         }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {[variant_exists universal] && [variant_isset universal]} {
</span>             foreach archdir [glob ${destroot}${prefix}/lib/${name}/*/] {
                 if {[file exists ${archdir}/${dylib}]} {
                     delete ${archdir}/${dylib}
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc5/Portfile b/lang/gcc5/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 78cf09d5154..cc60054e4b5 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/gcc5/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc5/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -241,7 +241,7 @@ post-destroot {
</span>             ln -s ${prefix}/lib/libgcc/${dylib} ${destroot}${prefix}/lib/${name}/${dylib}
         }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {[variant_exists universal] && [variant_isset universal]} {
</span>             foreach archdir [glob ${destroot}${prefix}/lib/${name}/*/] {
                 if {[file exists ${archdir}/${dylib}]} {
                     delete ${archdir}/${dylib}
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc6/Portfile b/lang/gcc6/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 1521af46660..7ac3348b4a6 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/gcc6/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc6/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -232,7 +232,7 @@ if {${subport} eq "libgcc6"} {
</span>             }
 
             move ${destroot}${prefix}/lib/libgcc/${dylib} ${destroot}${prefix}/lib/libgcc.merged
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {[variant_exists universal] && [variant_isset universal]} {
</span>                 foreach archdir [glob ${destroot}${prefix}/lib/libgcc/*/] {
                     set archdir_nodestroot [string map "${destroot}/ /" ${archdir}]
                     if {[file exists ${archdir}/${dylib}]} {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -284,7 +284,7 @@ if {${subport} eq "libgcc6"} {
</span>                 ln -s ${prefix}/lib/libgcc/${dylib} ${destroot}${prefix}/lib/${name}/${dylib}
             }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {[variant_exists universal] && [variant_isset universal]} {
</span>                 foreach archdir [glob ${destroot}${prefix}/lib/${name}/*/] {
                     if {[file exists ${archdir}/${dylib}]} {
                         delete ${archdir}/${dylib}
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc7/Portfile b/lang/gcc7/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 7ae6ee2e59d..e8730528d5b 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/gcc7/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc7/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -272,7 +272,7 @@ if {${subport} eq "libgcc7"} {
</span>             }
 
             move ${destroot}${prefix}/lib/libgcc/${dylib} ${destroot}${prefix}/lib/libgcc.merged
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {[variant_exists universal] && [variant_isset universal]} {
</span>                 foreach archdir [glob ${destroot}${prefix}/lib/libgcc/*/] {
                     set archdir_nodestroot [string map "${destroot}/ /" ${archdir}]
                     if {[file exists ${archdir}/${dylib}]} {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -331,7 +331,7 @@ if {${subport} eq "libgcc7"} {
</span>                 ln -s ${prefix}/lib/libgcc/${dylib} ${destroot}${prefix}/lib/${name}/${dylib}
             }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {[variant_exists universal] && [variant_isset universal]} {
</span>                 foreach archdir [glob ${destroot}${prefix}/lib/${name}/*/] {
                     if {[file exists ${archdir}/${dylib}]} {
                         delete ${archdir}/${dylib}
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc8/Portfile b/lang/gcc8/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index e7dd847f5a2..801d86b56d3 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/gcc8/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc8/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -265,7 +265,7 @@ if {${subport} eq "libgcc8"} {
</span>                 }
 
                 move ${destroot}${prefix}/lib/libgcc/${dylib} ${destroot}${prefix}/lib/libgcc.merged
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                if {[variant_exists universal] && [variant_isset universal]} {
</span>                     foreach archdir [glob ${destroot}${prefix}/lib/libgcc/*/] {
                         set archdir_nodestroot [string map "${destroot}/ /" ${archdir}]
                         if {[file exists ${archdir}/${dylib}]} {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -339,7 +339,7 @@ if {${subport} eq "libgcc8"} {
</span>                 ln -s ${prefix}/lib/libgcc/${dylib} ${destroot}${prefix}/lib/${name}/${dylib}
             }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {[variant_exists universal] && [variant_isset universal]} {
</span>                 foreach archdir [glob ${destroot}${prefix}/lib/${name}/*/] {
                     if {[file exists ${archdir}/${dylib}]} {
                         delete ${archdir}/${dylib}
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc9/Portfile b/lang/gcc9/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 64481eb0f38..f0ae4bfa461 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/gcc9/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc9/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -253,7 +253,7 @@ if {${subport} eq "libgcc9"} {
</span>             }
 
             move ${destroot}${prefix}/lib/libgcc/${dylib} ${destroot}${prefix}/lib/libgcc.merged
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {[variant_exists universal] && [variant_isset universal]} {
</span>                 foreach archdir [glob ${destroot}${prefix}/lib/libgcc/*/] {
                     set archdir_nodestroot [string map "${destroot}/ /" ${archdir}]
                     if {[file exists ${archdir}/${dylib}]} {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -308,7 +308,7 @@ if {${subport} eq "libgcc9"} {
</span>                 delete ${destroot}${prefix}/lib/${name}/${dylib}
                 ln -s ${prefix}/lib/libgcc/${dylib} ${destroot}${prefix}/lib/${name}/${dylib}
             }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {[variant_exists universal] && [variant_isset universal]} {
</span>                 foreach archdir [glob ${destroot}${prefix}/lib/${name}/*/] {
                     if {[file exists ${archdir}/${dylib}]} {
                         delete ${archdir}/${dylib}
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/guile18/Portfile b/lang/guile18/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 8f78b444c36..cd3aafced81 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/guile18/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/guile18/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -94,7 +94,10 @@ if {${os.arch} eq "i386" && ${os.major} >= 11} {
</span> }
 
 platform darwin {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {${universal_possible} && [variant_isset universal]} {
</span>         set merger_host(x86_64) x86_64-apple-${os.platform}${os.major}
         set merger_host(i386) i686-apple-${os.platform}${os.major}
         set merger_host(ppc64) powerpc64-apple-${os.platform}${os.major}
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/mozart/Portfile b/lang/mozart/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 9022e7fd83b..f8b7c41707e 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/mozart/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/mozart/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -49,13 +49,8 @@ autoconf.dir         ${worksrcpath}/platform/dss
</span> # endless errors in 64-bit due to casting from pointer to int
 supported_archs i386 ppc
 # and it doesn't consistently use cxxflags
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set archflags ${configure.universal_cxxflags}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-} else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set archflags ${configure.cxx_archflags}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.env-append CPU_FLAGS=${archflags}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.cxx ${configure.cxx} {*}${archflags}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.env-append CPU_FLAGS=[get_canonical_archflags]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.cxx ${configure.cxx} {*}[get_canonical_archflags cxx]
</span> configure.args-append --with-cxx="${configure.cxx}"
 
 use_parallel_build no
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/mozjs52/Portfile b/lang/mozjs52/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 42954697565..1ceba4296cd 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/mozjs52/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/mozjs52/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -85,7 +85,10 @@ variant profiling description {Set compile flags necessary for using sampling pr
</span>     configure.args-append --enable-profiling
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     set merger_host(x86_64) x86_64-apple-${os.platform}${os.major}
     set merger_host(i386) i686-apple-${os.platform}${os.major}
     set merger_configure_args(x86_64) "--build=x86_64-apple-${os.platform}${os.major} --target=x86_64-apple-${os.platform}${os.major}"
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/mozjs60/Portfile b/lang/mozjs60/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 433f679ec59..df4590d9649 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/mozjs60/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/mozjs60/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -78,7 +78,10 @@ post-destroot {
</span>     # make static lib name version specific to avoid conflict with other mozjs versions
     move ${destroot}${prefix}/lib/libjs_static.ajs ${destroot}${prefix}/lib/libjs60_static.ajs
 }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     merger-post-destroot {
         foreach arch ${universal_archs_to_use} {
             set dir ${destroot}-${arch}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -93,7 +96,7 @@ if {[variant_isset universal]} {
</span>     }
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     set merger_host(x86_64) x86_64-apple-${os.platform}${os.major}
     set merger_host(i386) i686-apple-${os.platform}${os.major}
     set merger_configure_args(x86_64) "--host=x86_64-apple-${os.platform}${os.major} --target=x86_64-apple-${os.platform}${os.major}"
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/perl5/Portfile b/lang/perl5/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 8ffc94250dc..1c1a1657242 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/perl5/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/perl5/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -188,8 +188,8 @@ foreach {perl5.v perl5.subversion perl5.revision perl5.rmd160 perl5.sha256 perl5
</span>             configure.env-append SYSTEM_VERSION_COMPAT=1
         }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            post-configure {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        post-configure {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {[variant_exists universal] && [variant_isset universal]} {
</span>                 system "cd ${worksrcpath} && ed - ${worksrcpath}/config.h < ${filespath}/${perl5.major}/config.h.ed"
             }
         }
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/phobos/Portfile b/lang/phobos/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index b7a64c65ab4..c9a1c5f5432 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/phobos/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/phobos/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -28,11 +28,7 @@ use_configure       no
</span> 
 pre-configure {
     # dmd compiler can not handle universal files, so create thin versions of archive files from libdruntime.a
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if { ![variant_isset universal] } {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        set all_archs ${build_arch}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    } else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        set all_archs ${universal_archs}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set all_archs [get_canonical_archs]
</span>     foreach arch ${all_archs} {
         file mkdir ${workpath}/druntime/${arch}
     }
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -59,7 +55,10 @@ build.args          -f posix.mak \
</span>                     DMD=${prefix}/bin/dmd
 build.target        ""
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if { ![variant_isset universal] } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {!(${universal_possible} && [variant_isset universal])} {
</span>     if { ${build_arch} eq "x86_64" || ${build_arch} eq "ppc64" } {
         build.args-append MODEL=64 DRUNTIME=${workpath}/druntime/${build_arch}/libdruntime.a
     } else {
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/ruby/Portfile b/lang/ruby/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 5f213547fdb..18dd39ef633 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/ruby/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/ruby/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -130,7 +130,10 @@ post-build {
</span>     }
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>   # NOTE: directory layout of port:ruby +universal
        #   universal binary
        #     - bin/
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -141,7 +144,7 @@ if {[variant_isset universal]} {
</span>   #     -                                             /ppc-apple-darwin*/
        #   pure ruby libraries
        #     - lib/ruby/[1.8|site_ruby/1.8|vendor_ruby/1.8]/
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        foreach arch ${universal_archs} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   foreach arch ${configure.universal_archs} {
</span>           append merger_configure_env(${arch}) "ARCH_FLAG=\"-arch ${arch}\" "
                # force environment "ac_cv_build" to specify locations of extension
                # modules(*.bundle), headers(ruby.h, config.h, ..) and rbconfig.rb.
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/ruby186/Portfile b/lang/ruby186/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index e99fd3deffd..613de13c8c4 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/ruby186/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/ruby186/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -91,8 +91,11 @@ configure.args   --enable-shared \
</span>                 --with-openssl-lib=${prefix}/lib/openssl-1.0 \
                                --disable-ucontext
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {![variant_isset universal] && [info exists build_arch] && ${build_arch} ne ""} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   configure.env-append "ARCH_FLAG=-arch ${build_arch}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {(!${universal_possible} || ![variant_isset universal]) && ${configure.build_arch} ne ""} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   configure.env-append "ARCH_FLAG=-arch ${configure.build_arch}"
</span> }
 
 destroot.target        install install-doc
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/spidermonkey/Portfile b/lang/spidermonkey/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 15868540dc4..a7dc712770c 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/spidermonkey/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/spidermonkey/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -51,7 +51,10 @@ build.args          -f Makefile.ref \
</span>                     JS_THREADSAFE=1 \
                     JS_READLINE=1
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if { ![variant_isset universal] } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {!(${universal_possible} && [variant_isset universal])} {
</span>     build.args-append CC='${configure.cc} -arch ${build_arch}'
 } else {
     set merger_must_run_binaries "yes"
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/squeak/Portfile b/lang/squeak/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 636b70875d0..32b3c4ef814 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/squeak/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/squeak/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -101,10 +101,13 @@ post-destroot {
</span>     system "cd ${destroot}${datadir} && ln -s ${squeak_img_changes}.gz squeak.changes.gz"
 }
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span> # "quartz" support uses NSQuickDrawView
 if {${os.subplatform} eq "macosx" &&
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    ((![variant_isset universal] && ![string match *64 $build_arch]) ||
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     ([variant_isset universal] && ![string match *64* $universal_archs]))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    ((!(${universal_possible} && [variant_isset universal]) && ![string match *64 ${configure.build_arch}]) ||
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     (${universal_possible} && [variant_isset universal] && ![string match *64* ${configure.universal_archs}]))
</span> } then {
     variant quartz {
         configure.args-delete   --without-quartz
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/mail/base91/Portfile b/mail/base91/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index bf796c782e8..3a6c80ef2f2 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/mail/base91/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/mail/base91/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -31,16 +31,11 @@ checksums               md5     e227841d900cc463a162bd79775aeb54 \
</span> use_configure           no
 
 variant universal {}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set archflags ${configure.universal_cflags}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-} else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set archflags ${configure.cc_archflags}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span> 
 build.args              prefix=${prefix} \
                         CC="${configure.cc}" \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                        CFLAGS="${configure.cflags} ${archflags}" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        LDFLAGS="${configure.ldflags} ${archflags}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        CFLAGS="${configure.cflags} [get_canonical_archflags cc]" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        LDFLAGS="${configure.ldflags} [get_canonical_archflags ld]"
</span> 
 destroot.args           prefix=${prefix}
 destroot.destdir        DESTDIR=${destroot}
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/mail/libmilter/Portfile b/mail/libmilter/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 623b8e0881d..8e80a48b8e8 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/mail/libmilter/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/mail/libmilter/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -40,7 +40,7 @@ post-patch {
</span>           reinplace "s|-DDARWIN=100000|-DDARWIN=${os.major}0000|" \
                        ${worksrcpath}/devtools/Site/site.config.m4
        }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        if [variant_isset universal] {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if {[variant_exists universal] && [variant_isset universal]} {
</span>           reinplace "s|\${Extra_CC_Flags}|${arch_flags}|" \
                        ${worksrcpath}/devtools/Site/site.config.m4
        }
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/mail/pop3proxy/Portfile b/mail/pop3proxy/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index b23ba505428..31c58d4b8ae 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/mail/pop3proxy/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/mail/pop3proxy/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -31,13 +31,8 @@ patchfiles          patch-clamav.c \
</span> use_configure       no
 
 variant universal {}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set archflags ${configure.universal_cflags}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-} else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set archflags ${configure.cc_archflags}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-build.args          CC="${configure.cc} ${archflags}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+build.args          CC="${configure.cc} [get_canonical_archflags cc]"
</span> 
 destroot.destdir    prefix=${destroot}${prefix}
 
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/mail/postfix/Portfile b/mail/postfix/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 3e8191c9fb7..c690fa17e8d 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/mail/postfix/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/mail/postfix/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -49,15 +49,10 @@ post-patch {
</span>           ${worksrcpath}/conf/main.cf
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-set CCARGS  [list -DNO_EAI -DNO_PCRE]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set AUXLIBS [list -L${prefix}/lib]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set CCARGS [concat ${CCARGS} ${configure.universal_cflags}]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set AUXLIBS [concat ${AUXLIBS} ${configure.universal_ldflags}]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-} else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set CCARGS [concat ${CCARGS} ${configure.cc_archflags}]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set AUXLIBS [concat ${AUXLIBS} ${configure.ld_archflags}]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+variant universal {}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set CCARGS  [list -DNO_EAI -DNO_PCRE {*}[get_canonical_archflags cc]]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set AUXLIBS [list -L${prefix}/lib {*}[get_canonical_archflags ld]]
</span> set pf_mail_owner _postfix
 set pf_setgid_group _postdrop
 set config_files [list main.cf master.cf access aliases canonical generic \
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/math/DSDP/Portfile b/math/DSDP/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 513abbe7804..da57ef93328 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/math/DSDP/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/math/DSDP/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -33,7 +33,10 @@ patchfiles          patch-make.include.diff \
</span> use_configure       no
 
 build.target        dsdpapi
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if { ![variant_isset universal] } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {!${universal_possible} || ![variant_isset universal]} {
</span>     build.env-append                              \
         DSDPROOT=${worksrcpath}                   \
         MP_ARCHFLAGS=${configure.cc_archflags}
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/math/OpenBLAS/Portfile b/math/OpenBLAS/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index a97dc353392..393175be318 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/math/OpenBLAS/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/math/OpenBLAS/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -30,17 +30,18 @@ if {${os.major} >= 11 && ${os.major} <= 17} {
</span>     set blas_arch "CORE2"
 }
 #OS 10.14 supports down to Mac Pro 5,1 that has Nehalem architecture
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {${os.major} >= 18} { 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set blas_arch "NEHALEM"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-} 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${os.major} >= 18} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {${os.arch} eq "arm"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # FIXME use correct arch name
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        #set blas_arch "???"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set blas_arch "NEHALEM"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span> if {![info exists blas_arch]} {
     #For older versions, we force native variant as there is no PPCG3 target in OpenBLAS
     default_variants-append +native
 }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {${build_arch} eq "arm64" } {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    #currently require native builds for Apple Silicon
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    default_variants-append +native
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span> 
 subport OpenBLAS-devel {}
 if {[string first "-devel" $subport] > 0} {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -104,7 +105,7 @@ xcode_workaround.fixed_xcode_version 11.2
</span> xcode_workaround.type append_to_compiler_name
 
 pre-build {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[variant_exists universal] && [variant_isset universal]} {
</span>         foreach arch ${universal_archs_to_use} {
             set makeINC [open ${worksrcpath}-${arch}/Makefile.rule "w"]
             puts $makeINC "VERSION = 1"
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -113,7 +114,7 @@ pre-build {
</span>             puts $makeINC "CC = ${configure.cc}"
             puts $makeINC "FC = ${configure.fc}"
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            if {${arch} eq "x86_64" || ${arch} eq "ppc64"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {${arch} in [list arm64 ppc64 x86_64]} {
</span>                 puts $makeINC "BINARY = 64"
             } else {
                 puts $makeINC "BINARY = 32"
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -135,8 +136,8 @@ pre-build {
</span>                 }
             }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            if {${build_arch} eq "ppc" || ${build_arch} eq "ppc64"} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                # on a PPC of some sort; just disable AVX
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {${build_arch} ni [list i386 x86_64]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                # not on x86 of some sort; just disable AVX
</span>                 puts $makeINC "NO_AVX = 1"
                 puts $makeINC "NO_AVX2 = 1"
                 puts $makeINC "NO_AVX512 = 1"
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -172,7 +173,7 @@ pre-build {
</span>         puts $makeINC "CC = ${configure.cc}"
         puts $makeINC "FC = ${configure.fc}"
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        if {${build_arch} eq "x86_64" || ${build_arch} eq "ppc64"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {${build_arch} in [list arm64 ppc64 x86_64]} {
</span>             puts $makeINC "BINARY = 64"
         } else {
             puts $makeINC "BINARY = 32"
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -191,8 +192,8 @@ pre-build {
</span>         }
 
         #Setting up build flags
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        if {${build_arch} eq "ppc" || ${build_arch} eq "ppc64"} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            # on a PPC of some sort; just disable AVX
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {${build_arch} ni [list i386 x86_64]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            # not on x86 of some sort; just disable AVX
</span>             puts $makeINC "NO_AVX = 1"
             puts $makeINC "NO_AVX2 = 1"
             puts $makeINC "NO_AVX512 = 1"
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -239,7 +240,10 @@ platform darwin 8 {
</span> 
 destroot.args       "PREFIX=${prefix}"
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     merger-post-destroot {
         foreach arch ${universal_archs_to_use} {
             if {${arch} ne ${build_arch}} {
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/math/arpack/Portfile b/math/arpack/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 413cb7dca84..0127f9459e3 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/math/arpack/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/math/arpack/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -34,7 +34,11 @@ configure.args      home=${worksrcpath} --disable-mpi
</span> 
 # add missing arch flags to one Makefile
 patchfiles-append   patch-Makefile.am.diff
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {![variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {!${universal_possible} || ![variant_isset universal]} {
</span>     post-configure {
         if {${build_arch} eq "x86_64" || ${build_arch} eq "ppc64"} {
             set arch_flag -m64
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -55,7 +59,7 @@ if {![variant_isset universal]} {
</span>     }
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {![variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {!${universal_possible} || ![variant_isset universal]} {
</span>     if {${build_arch} eq "x86_64" || ${build_arch} eq "ppc64"} {
         configure.fflags-append -m64
     } else {
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/math/atlas/Portfile b/math/atlas/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 1755b492efa..e0c8c3f10e7 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/math/atlas/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/math/atlas/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -174,7 +174,10 @@ if {![variant_isset gcc49] && ![variant_isset gcc5] && ![variant_isset mpclang37
</span>     }
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-set universal       [variant_isset universal]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set universal       [expr {${universal_possible} && [variant_isset universal]}]
</span> 
 # Finds the type of CPU we are running on
 set native_arch ${build_arch}
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/math/fftw-3/Portfile b/math/fftw-3/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index bd4577540cd..8e366d7511d 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/math/fftw-3/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/math/fftw-3/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -148,12 +148,12 @@ subport fftw-3-single {
</span>             }
         }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        if {![variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {![variant_exists universal] || ![variant_isset universal]} {
</span>             configure.args-append $merger_configure_args(${configure.build_arch})
         }
 
         platform i386 {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            if {![variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {![variant_exists universal] || ![variant_isset universal]} {
</span>                 configure.args-delete --enable-sse2
                 configure.args-append --enable-sse
             }
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -249,7 +249,7 @@ pre-configure {
</span>         configure.args-append   --enable-mpi
     }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {![variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {![variant_exists universal] || ![variant_isset universal]} {
</span>         configure.args-append $merger_configure_args(${configure.build_arch})
     }
 }
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/math/gr1c/Portfile b/math/gr1c/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 67a94134769..697ddb45dd6 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/math/gr1c/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/math/gr1c/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -45,7 +45,10 @@ foreach arch ${configure.universal_archs} {
</span>                     LD='ld -r -arch ${arch}'
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {![variant_isset universal] && [info exists merger_build_args(${build_arch})]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {(!${universal_possible} || ![variant_isset universal]) && [info exists merger_build_args(${build_arch})]} {
</span>     build.args-append $merger_build_args(${build_arch})
 }
 
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/math/gts/Portfile b/math/gts/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 0649a99eb32..561a1636da7 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/math/gts/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/math/gts/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -41,7 +41,10 @@ post-extract {
</span>     }
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     # Find architectures which will not run on build platform.
     if {${os.major} >= 9 && [sysctl hw.cpu64bit_capable] == 1} {
         set cpu64bit_capable yes
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/math/libtommath/Portfile b/math/libtommath/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 949439903c6..5603ccb0ad0 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/math/libtommath/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/math/libtommath/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -34,14 +34,9 @@ worksrcdir          ${name}-${version}
</span> use_configure       no
 
 variant universal {}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set archflags ${configure.universal_cflags}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-} else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set archflags ${configure.cc_archflags}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span> 
 build.args          LIBPATH=${prefix}/lib \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    CC="${configure.cc} ${archflags}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    CC="${configure.cc} [get_canonical_archflags cc]"
</span> 
 destroot {
     xinstall -m 755 -d ${destroot}${prefix}/include/${name}
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/math/lp_solve/Portfile b/math/lp_solve/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 24ce4c085ca..b0998938aa5 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/math/lp_solve/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/math/lp_solve/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -45,7 +45,10 @@ use_configure           no
</span> build.args              PREFIX="${prefix}"
 destroot.args           PREFIX="${prefix}"
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     set merger_must_run_binaries yes
     foreach arch ${configure.universal_archs} {
         lappend merger_build_args(${arch}) CC="${configure.cc} -arch ${arch}"
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/math/mumps/Portfile b/math/mumps/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 3a019cdb1bd..82092226eb2 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/math/mumps/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/math/mumps/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -53,6 +53,10 @@ configure.optflags          -O3
</span> configure.cflags-append     -fPIC
 configure.fflags-append     -fPIC
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> # when using a non-GCC compiler, avoid:
 #     Undefined symbols for architecture i386:
 #       "___divmoddi4", referenced from:
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -61,7 +65,7 @@ configure.fflags-append     -fPIC
</span> # see https://gitlab.haskell.org/ghc/ghc/issues/15094
 lappend merger_configure_fcflags(i386) \
                             -fno-expensive-optimizations
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {![variant_isset universal] && ${build_arch} eq "i386"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {(!${universal_possible} || ![variant_isset universal]) && ${build_arch} eq "i386"} {
</span>     configure.fflags-append -fno-expensive-optimizations
 }
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -69,7 +73,7 @@ pre-build {
</span>     configure.env-append    MACPORTS_BLAS=${linalglib}
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {![variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {!${universal_possible} || ![variant_isset universal]} {
</span>     # find correct scotch Fortran header
     if {[file exists ${prefix}/include/${build_arch}]} {
         configure.cppflags-prepend -I${prefix}/include/${build_arch}
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/math/octave/Portfile b/math/octave/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index ddc86648a51..fba92b7a1cc 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/math/octave/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/math/octave/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -653,8 +653,11 @@ post-destroot {
</span> 
 }
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span> # generate default octave_packages file so that it is removed if Octave is uninstalled
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if { ![variant_isset universal] } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {!${universal_possible} || ![variant_isset universal]} {
</span>     post-destroot {
         set octave_install_share ${destroot}${prefix}/share/octave/packages
         set octave_install_lib   ${destroot}${prefix}/lib/octave/packages
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/math/pari/Portfile b/math/pari/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 8f9dd322d54..45050707d75 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/math/pari/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/math/pari/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -92,7 +92,7 @@ variant doc description {Build DVI/PDF/PS documentation} {
</span>     depends_build-append path:bin/tex:texlive
     build.target-append docpdf
     post-destroot {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {[variant_exists universal] && [variant_isset universal]} {
</span>             set dir ${worksrcpath}-[lindex ${universal_archs_to_use} 0]
         } else {
             set dir ${worksrcpath}
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/math/petsc/Portfile b/math/petsc/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 5b3c8695fc8..c4770531144 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/math/petsc/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/math/petsc/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -75,7 +75,7 @@ pre-configure {
</span> }
 
 post-build {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {![variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {![variant_exists universal] || ![variant_isset universal]} {
</span>         set archs {""}
     } else {
         set archs ""
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -96,7 +96,11 @@ post-build {
</span>     }
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     merger-post-destroot {
         foreach arch ${configure.universal_archs} {
             if {${arch} ne ${build_arch}} {
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/math/qrupdate/Portfile b/math/qrupdate/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 442a1590ea7..3998465beab 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/math/qrupdate/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/math/qrupdate/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -58,7 +58,7 @@ if {${os.arch} eq "i386"} {
</span> }
 
 post-configure {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if { ! [variant_isset universal] } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {![variant_exists universal] || ![variant_isset universal]} {
</span>         if {${build_arch} eq "x86_64" || ${build_arch} eq "ppc64"} {
             reinplace "s|^FFLAGS=|FFLAGS=-m64 |"  ${worksrcpath}/Makeconf
         } else {
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/math/slepc/Portfile b/math/slepc/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 8c8a4d76552..25de4adda17 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/math/slepc/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/math/slepc/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -49,7 +49,10 @@ post-patch {
</span> }
 
 configure.pre_args  --prefix=${prefix}/lib/slepc
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {![variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {!${universal_possible} || ![variant_isset universal]} {
</span> configure.env-append \
                     PETSC_DIR=${prefix}/lib/petsc
 build.env-append    PETSC_DIR=${prefix}/lib/petsc
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -70,7 +73,7 @@ destroot.env-append PETSC_DIR=${prefix}/lib/petsc
</span> 
 configure.universal_args-delete --disable-dependency-tracking
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     merger-post-destroot {
         foreach arch ${configure.universal_archs} {
             if {${arch} ne ${build_arch}} {
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/multimedia/XviD/Portfile b/multimedia/XviD/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 4465659ea1e..232d0f918c8 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/multimedia/XviD/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/multimedia/XviD/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -47,7 +47,10 @@ set my_targets(i386)    i386
</span> set my_targets(x86_64)  x86_64
 
 platform darwin {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {${universal_possible} && [variant_isset universal]} {
</span>         foreach arch ${configure.universal_archs} {
             set merger_configure_args(${arch}) --build=$my_targets(${arch})-apple-darwin${os.major}
         }
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/multimedia/dav1d/Portfile b/multimedia/dav1d/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index e80915e38ff..c59a73e1183 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/multimedia/dav1d/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/multimedia/dav1d/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -31,12 +31,13 @@ depends_build-append  port:nasm
</span> configure.args-append \
                     -Denable_tests=false
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     lappend merger_configure_env(i386)      LDFLAGS=-Wl,-read_only_relocs,suppress,-no_compact_unwind
<span style='display:block; white-space:pre;background:#ffe0e0;'>-} else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {${build_arch} eq "i386"} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        configure.env-append                LDFLAGS=-Wl,-read_only_relocs,suppress,-no_compact_unwind
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+} elseif {${configure.build_arch} eq "i386"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.env-append                LDFLAGS=-Wl,-read_only_relocs,suppress,-no_compact_unwind
</span> }
 
 # developer docs are automatically built if doxygen and dot (graphviz) are present
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/multimedia/ffmpeg-devel/Portfile b/multimedia/ffmpeg-devel/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 09e047bd956..03333595d6b 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/multimedia/ffmpeg-devel/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/multimedia/ffmpeg-devel/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -256,7 +256,10 @@ platform darwin 8 {
</span> 
 configure.universal_args-delete --disable-dependency-tracking
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     foreach arch ${configure.universal_archs} {
         set merger_host($arch) ""
         lappend merger_configure_args($arch) --arch=${arch}
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/multimedia/ffmpeg/Portfile b/multimedia/ffmpeg/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 3a056abb54f..35c344e0e7a 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/multimedia/ffmpeg/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/multimedia/ffmpeg/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -250,7 +250,10 @@ platform darwin 8 {
</span> 
 configure.universal_args-delete --disable-dependency-tracking
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     foreach arch ${configure.universal_archs} {
         set merger_host($arch) ""
         lappend merger_configure_args($arch) --arch=${arch}
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/multimedia/libass/Portfile b/multimedia/libass/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 8a376c65b64..0ac9ebf6fa7 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/multimedia/libass/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/multimedia/libass/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -35,7 +35,10 @@ checksums       rmd160  720cdd8659177cf7f301dc6956139d3284c03237 \
</span> # ass.h:421: error: wrong number of arguments specified for 'deprecated' attribute
 compiler.blacklist-append *gcc-3.* *gcc-4.*
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     # Needed by configure to correctly set the yasm build flags.
     foreach arch ${configure.universal_archs} {
         set merger_host($arch) "${arch}-apple-${os.platform}${os.major}.${os.minor}.0"
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -51,11 +54,11 @@ if {[variant_isset universal]} {
</span>     lappend merger_configure_args(x86_64)   --enable-asm
     lappend merger_configure_env(i386)      LDFLAGS=-Wl,-read_only_relocs,suppress
 } else {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {${build_arch} eq "i386" || ${build_arch} eq "x86_64"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {${configure.build_arch} in "i386 x86_64"} {
</span>         depends_build-append    port:yasm
         configure.args-append   --enable-asm
     }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {${build_arch} eq "i386"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {${configure.build_arch} eq "i386"} {
</span>         configure.ldflags-append -Wl,-read_only_relocs,suppress
     }
 }
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/multimedia/libvpx/Portfile b/multimedia/libvpx/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 5b97b55bfde..171aef4ee17 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/multimedia/libvpx/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/multimedia/libvpx/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -114,7 +114,10 @@ foreach my_arch {i386 x86_64} {
</span>         set merger_configure_args(${my_arch}) --force-target=$my_targets(${my_arch})-${os.platform}-gcc
     }
 }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {![variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {!${universal_possible} || ![variant_isset universal]} {
</span>     if {[info exists merger_configure_args(${build_arch})]} {
         configure.args-append $merger_configure_args(${build_arch})
     } else {
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/multimedia/mlt/Portfile b/multimedia/mlt/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index cd6ff2ade2f..f4b69658f6f 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/multimedia/mlt/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/multimedia/mlt/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -128,7 +128,10 @@ post-configure {
</span> 
 build.args-append           CC="${configure.cc}" CXX="${configure.cxx}" CPP="${configure.cpp}"
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     foreach arch ${configure.universal_archs} {
         lappend merger_build_env(${arch})   "CFLAGS=${configure.cflags} -arch ${arch}"
         lappend merger_build_env(${arch})   "CXXFLAGS=${configure.cxxflags} -arch ${arch}"
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/multimedia/mpeg2vidcodec/Portfile b/multimedia/mpeg2vidcodec/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 9a3ce207464..38077b54fdb 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/multimedia/mpeg2vidcodec/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/multimedia/mpeg2vidcodec/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -37,10 +37,7 @@ default_variants        +x11
</span> 
 configure {
     reinplace "s|CC = gcc|CC = ${configure.cc}|" ${worksrcpath}/Makefile
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    set my_extra_cflags "-DVERIFY -DVERBOSE -DTRACE"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        set my_extra_cflags "${my_extra_cflags} ${configure.universal_cflags}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set my_extra_cflags "-DVERIFY -DVERBOSE -DTRACE [get_canonical_archflags cc]"
</span>     reinplace "s|CFLAGS = -O2|CFLAGS = -O2 ${my_extra_cflags}|" \
         ${worksrcpath}/Makefile
 }
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/multimedia/x264/Portfile b/multimedia/x264/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 80f9fb37b48..081a3d699a8 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/multimedia/x264/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/multimedia/x264/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -53,18 +53,20 @@ configure.args      --enable-pic \
</span> # i386 clang build issues remain which break i386 build when asm optimizations are enabled
 # assert configure option --disable-asm for all i386 builds
 # see https://mailman.videolan.org/pipermail/x264-devel/2014-February/010371.html, #42672.
<span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-if {${os.platform} eq "darwin" && ${build_arch} ne "" && ![variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {${build_arch} eq "i386"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${os.platform} eq "darwin" && ${configure.build_arch} ne "" && (!${universal_possible} || ![variant_isset universal])} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {${configure.build_arch} eq "i386"} {
</span>         configure.args-append   --host=i686-apple-darwin${os.major} \
                                 --disable-asm
     } else {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        configure.args-append   --host=${build_arch}-apple-darwin${os.major}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        configure.args-append   --host=${configure.build_arch}-apple-darwin${os.major}
</span>     }
     configure.ldflags-append {*}${configure.cc_archflags}
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-foreach arch ${universal_archs} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+foreach arch ${configure.universal_archs} {
</span>     if {${arch} eq "i386"} {
         set merger_configure_args(${arch}) "--host=i686-apple-darwin${os.major} --disable-asm"
     } else {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -76,7 +78,7 @@ configure.universal_args-delete --disable-dependency-tracking
</span> 
 platform darwin 8 {
     # https://trac.macports.org/ticket/24893
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {${build_arch} eq "i386" && ![variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {${configure.build_arch} eq "i386" && (!${universal_possible} || ![variant_isset universal])} {
</span>         configure.cflags-append -msse2
     }
     set merger_configure_cflags(i386) -msse2
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/multimedia/x265/Portfile b/multimedia/x265/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 485256d90d5..1c5da5b4fe0 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/multimedia/x265/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/multimedia/x265/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -43,15 +43,16 @@ compiler.blacklist-append *llvm-gcc-4.2
</span> # https://trac.macports.org/ticket/59246
 xcode_workaround.fixed_xcode_version 11.2
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span> #    error: illegal text-relocation to '_x265_pw_1'
 #   report: https://mailman.videolan.org/pipermail/x265-devel/2014-May/004476.html
 # solution: http://lists.apple.com/archives/unix-porting/2008/Jan/msg00027.html
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_exists universal] && [variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     lappend merger_configure_ldflags(i386) -Wl,-read_only_relocs,suppress
<span style='display:block; white-space:pre;background:#ffe0e0;'>-} else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {${build_arch} eq "i386"} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        configure.ldflags-append -Wl,-read_only_relocs,suppress
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+} elseif {${configure.build_arch} eq "i386"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.ldflags-append -Wl,-read_only_relocs,suppress
</span> }
 
 livecheck.regex     "${name}_(\\d+(?:\\.\\d+)*)${extract.suffix}"
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/net/baresip/Portfile b/net/baresip/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index b2cb40a1b49..11ed5e5bbbd 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/net/baresip/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/net/baresip/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -56,7 +56,10 @@ destroot.args       ${build.args}
</span> if {[tbool configure.ccache]} {
     build.env-append CCACHE=ccache
 }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     foreach arch ${configure.universal_archs} {
         lappend merger_build_env(${arch})    "CC=${configure.cc} -arch ${arch}"
         lappend merger_destroot_env(${arch}) "CC=${configure.cc} -arch ${arch}"
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/net/curl/Portfile b/net/curl/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index a01e992c859..027411abbce 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/net/curl/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/net/curl/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -78,7 +78,7 @@ if {${name} eq ${subport}} {
</span>     }
 
     post-configure {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {[variant_exists universal] && [variant_isset universal]} {
</span>             set dirs {}
             foreach arch ${universal_archs_to_use} {
                 lappend dirs ${worksrcpath}-${arch}
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/net/libgweather/Portfile b/net/libgweather/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index c0cb9c7eb62..3bb31862566 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/net/libgweather/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/net/libgweather/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -49,8 +49,11 @@ configure.args      -Dglade_catalog=false \
</span>                     -Dgtk_doc=true \
                     -Dzoneinfo_dir=${prefix}/share/zoneinfo
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span> # uses g-ir-scanner, which uses $CC from env
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     foreach arch ${configure.universal_archs} {
         lappend merger_build_env(${arch})  "CC=${configure.cc} -arch ${arch}"
         lappend merger_destroot_env(${arch})  "CC=${configure.cc} -arch ${arch}"
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/net/libre/Portfile b/net/libre/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index b24b981b3a0..9c00b80ab98 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/net/libre/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/net/libre/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -40,7 +40,10 @@ destroot.args       ${build.args}
</span> if {[tbool configure.ccache]} {
     build.env-append CCACHE=ccache
 }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     foreach arch ${configure.universal_archs} {
         lappend merger_build_env(${arch})    "CC=${configure.cc} -arch ${arch}"
         lappend merger_destroot_env(${arch}) "CC=${configure.cc} -arch ${arch}"
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/net/librem/Portfile b/net/librem/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 5f14f9aa0e4..b7385e75aa0 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/net/librem/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/net/librem/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -41,7 +41,10 @@ destroot.args       ${build.args}
</span> if {[tbool configure.ccache]} {
     build.env-append CCACHE=ccache
 }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     foreach arch ${configure.universal_archs} {
         lappend merger_build_env(${arch})    "CC=${configure.cc} -arch ${arch}"
         lappend merger_destroot_env(${arch}) "CC=${configure.cc} -arch ${arch}"
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/net/ncid/Portfile b/net/ncid/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 9038c8dd6e8..dc118d3e79c 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/net/ncid/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/net/ncid/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -18,7 +18,6 @@ build.target            local
</span> build.post_args         settag="Macintosh OS X" STRIP=
 destroot.target         mac-install
 destroot.destdir        prefix=${destroot}${prefix}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-universal_variant       no
</span> use_parallel_build      yes
 
 description \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -60,12 +59,7 @@ post-patch {
</span> }
 
 variant universal {}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set archflags ${configure.universal_cflags}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-} else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set archflags ${configure.cc_archflags}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-build.env               "CC=${configure.cc} ${archflags}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+build.env               "CC=${configure.cc} [get_canonical_archflags cc]"
</span> 
 livecheck.type          sourceforge
 livecheck.regex         /${name}-(\[0-9.\]+)-src${extract.suffix}
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/net/nss/Portfile b/net/nss/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index d49335504e2..062cde74511 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/net/nss/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/net/nss/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -113,7 +113,10 @@ array set cpu_arch_map [list \
</span>     i386    x86 \
     x86_64  x86_64]
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {![variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {!${universal_possible} || ![variant_isset universal]} {
</span>     if {${configure.build_arch} in [list arm64 ppc64 x86_64]} {
         build.args-append USE_64=1
     }
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -151,7 +154,7 @@ if {${configure.sdkroot} ne ""} {
</span>         MACOS_SDK_DIR=${configure.sdkroot}
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     # chk files can not be merged
 
     merger-post-destroot {
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/net/restund/Portfile b/net/restund/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 6fd39b15291..75e7bb9b14b 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/net/restund/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/net/restund/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -44,7 +44,10 @@ destroot.args       ${build.args}
</span> if {[tbool configure.ccache]} {
     build.env-append CCACHE=ccache
 }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     foreach arch ${configure.universal_archs} {
         lappend merger_build_env(${arch})    "CC=${configure.cc} -arch ${arch}"
         lappend merger_destroot_env(${arch}) "CC=${configure.cc} -arch ${arch}"
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/net/socket/Portfile b/net/socket/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 599cd382436..828c44d1e2b 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/net/socket/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/net/socket/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -22,13 +22,8 @@ patchfiles          patch-Makefile.diff
</span> 
 post-patch {
     reinplace "s,@prefix@,${destroot}${prefix}," ${worksrcpath}/Makefile
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if { [variant_isset universal] } {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        reinplace "s,@cflags@,${configure.universal_cflags}," ${worksrcpath}/Makefile
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        reinplace "s,@ldflags@,${configure.universal_ldflags}," ${worksrcpath}/Makefile
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    } else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        reinplace "s,@cflags@,," ${worksrcpath}/Makefile
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        reinplace "s,@ldflags@,," ${worksrcpath}/Makefile
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    reinplace "s,@cflags@,[get_canonical_archflags cc]," ${worksrcpath}/Makefile
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    reinplace "s,@ldflags@,[get_canonical_archflags ld]," ${worksrcpath}/Makefile
</span> }
 
 build.args          CC=${configure.cc}
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/net/squid2/Portfile b/net/squid2/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index b011e7307ce..9f16170990a 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/net/squid2/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/net/squid2/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -63,7 +63,7 @@ configure.args  --with-pthreads \
</span>                 --enable-digest-auth-helpers=eDirectory,ldap,password \
                 --enable-basic-auth-helpers=DB,LDAP,MSNT,NCSA,PAM,POP3,SASL,SMB,YP,getpwnam,multi-domain-NTLM,squid_radius_auth
 post-configure {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[variant_exists universal] && [variant_isset universal]} {
</span>         system "cd ${worksrcpath} && ed - ${worksrcpath}/include/autoconf.h < ${filespath}/include_autoconf.h.ed && touch include/stamp-h1"
     }
 }
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/net/squid3/Portfile b/net/squid3/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index ea87baa778d..cadcb1bab71 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/net/squid3/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/net/squid3/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -81,7 +81,7 @@ configure.args  --mandir=${prefix}/share/man \
</span>                 --enable-auth-ntlm \
                 --enable-external-acl-helpers="SQL_session eDirectory_userip file_userip time_quota unix_group wbinfo_group"
 post-configure {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[variant_exists universal] && [variant_isset universal]} {
</span>         system -W ${worksrcpath} "ed - include/autoconf.h < ${filespath}/include_autoconf.h.ed && touch include/stamp-h1"
     }
 }
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/net/squid4/Portfile b/net/squid4/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index b7523be68a5..7125834c8bf 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/net/squid4/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/net/squid4/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -89,7 +89,7 @@ platform darwin {
</span> }
 
 post-configure {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[variant_exists universal] && [variant_isset universal]} {
</span>         system -W ${worksrcpath} "ed - include/autoconf.h < ${filespath}/include_autoconf.h.ed && touch include/stamp-h1"
     }
 }
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/net/tcpdstat/Portfile b/net/tcpdstat/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index e38a8fb4de9..3646e16880b 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/net/tcpdstat/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/net/tcpdstat/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -39,11 +39,6 @@ use_configure       no
</span> build.args          CC="${configure.cc}"
 
 variant universal {}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set archflags ${configure.universal_cflags}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-} else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set archflags ${configure.cc_archflags}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-build.args-append   CFLAGS="${archflags}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+build.args-append   CFLAGS="${configure.cflags} [get_canonical_archflags cc]"
</span> 
 destroot.destdir    PREFIX=${destroot}${prefix}
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/perl/p5-net-libidn/Portfile b/perl/p5-net-libidn/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 4baa7c479e2..284732aafef 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/perl/p5-net-libidn/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/perl/p5-net-libidn/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -23,13 +23,7 @@ depends_lib-append  port:libidn
</span> patchfiles-append   patch-Makefile.PL.diff
 
 post-patch {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        set archflags ${configure.universal_cflags}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    } else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        set archflags ${configure.cc_archflags}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    reinplace "s|@CC@|${configure.cc} ${archflags}|g" ${worksrcpath}/Makefile.PL
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    reinplace "s|@CC@|${configure.cc} [get_canonical_archflags cc]|g" ${worksrcpath}/Makefile.PL
</span> }
 
 configure.args-append   --with-libidn=${prefix}/lib \
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/print/epstool/Portfile b/print/epstool/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index b7775b7b1af..eb5b2b8fd07 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/print/epstool/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/print/epstool/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -28,20 +28,10 @@ variant universal {}
</span> 
 set cflags     "${configure.cflags} ${configure.cppflags}"
 set ldflags    ${configure.ldflags}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    lappend cflags ${configure.universal_cflags} ${configure.universal_cppflags}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    lappend ldflags ${configure.universal_ldflags}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-} else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    lappend cflags ${configure.cc_archflags}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    lappend ldflags ${configure.ld_archflags}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[vercmp [macports_version] 2.5.99] >= 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+lappend cflags {*}[get_canonical_archflags cc]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+lappend ldflags {*}[get_canonical_archflags ld]
</span> build.env CFLAGS=[join ${cflags} " "] \
                LDFLAGS=[join ${ldflags} " "]
<span style='display:block; white-space:pre;background:#ffe0e0;'>-} else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-build.env  CFLAGS="[join ${cflags} " "]" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-           LDFLAGS="[join ${ldflags} " "]"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span> build.args-append       CC=${configure.cc} \
                         CXX=${configure.cxx} \
                         CPP=${configure.cpp}
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/print/ps2eps/Portfile b/print/ps2eps/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index f271734a75a..d9fe21c38a6 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/print/ps2eps/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/print/ps2eps/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -34,13 +34,8 @@ worksrcdir          ${name}
</span> use_configure       no
 
 variant universal {}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set archflags ${configure.universal_cflags}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-} else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set archflags ${configure.cc_archflags}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-build.cmd           ${configure.cc} ${archflags} src/C/bbox.c -o bin/bbox
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+build.cmd           ${configure.cc} {*}[get_canonical_archflags cc] src/C/bbox.c -o bin/bbox
</span> build.target
 
 destroot {
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/python/py-gobject3/Portfile b/python/py-gobject3/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 1659b8511d6..0e16be41b7d 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/python/py-gobject3/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/python/py-gobject3/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -51,8 +51,11 @@ if {${name} ne ${subport}} {
</span> 
     destroot.cmd            ${build.cmd}
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span> # uses g-ir-scanner, which uses $CC from env
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     foreach arch ${configure.universal_archs} {
         lappend merger_build_env(${arch})  "CC=${configure.cc} -arch ${arch}"
         lappend merger_destroot_env(${arch})  "CC=${configure.cc} -arch ${arch}"
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/python/py-numpy/Portfile b/python/py-numpy/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 7fc7628660f..1473e20a9da 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/python/py-numpy/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/python/py-numpy/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -240,7 +240,7 @@ variant."
</span>     proc use_wrapper {} {
         global configure.cc
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {[variant_exists universal] && [variant_isset universal]} {
</span>             if {[variant_isset atlas]} {
                 # uses fortran as a linker, which does not handle multiple -arch values properly
                 return 1
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/python/py-pyqt4/Portfile b/python/py-pyqt4/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 9099b379d73..f1bd8345fa6 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/python/py-pyqt4/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/python/py-pyqt4/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -162,7 +162,7 @@ if {${name} ne ${subport}} {
</span>     }
 
     post-configure {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {[variant_exists universal] && [variant_isset universal]} {
</span>             set conflags ""
             foreach arch ${configure.universal_archs} {
                 if {${arch} eq "i386"} {append conflags "x86 "} else {
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/python/py-pyqwt/Portfile b/python/py-pyqwt/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index d5692779a0c..264a0ed8fe2 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/python/py-pyqwt/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/python/py-pyqwt/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -74,7 +74,7 @@ if {${name} ne ${subport}} {
</span>         # do the trick; if Python is installed as -universal, then
         # these will do no harm.
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        if {![variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {![variant_exists universal] || ![variant_isset universal]} {
</span>             reinplace "s@-arch \[^ \]*@@g" ${worksrcpath}/qwt5qt4/Makefile
             reinplace "s@-arch \[^ \]*@@g" ${worksrcpath}/iqt5qt4/Makefile
         }
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/python/py-sip/Portfile b/python/py-sip/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 5f0fedace8f..79507de221c 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/python/py-sip/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/python/py-sip/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -100,7 +100,10 @@ if {${name} ne ${subport}} {
</span>     # always add some arch flags, since the user might have overridden
     # the default arch build (e.g., ticket #44086).
     python.add_archflags    no
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {${universal_possible} && [variant_isset universal]} {
</span> 
         foreach arch ${configure.universal_archs} {
             configure.args-append   "--arch=${arch}"
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -121,7 +124,6 @@ if {${name} ne ${subport}} {
</span> 
     }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    # work around base bug
</span>     if {${configure.sdkroot} eq ""} {
         set configure.sdkroot "/"
     }
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/python/py27-gobject3/Portfile b/python/py27-gobject3/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index dafbf82368b..62e9ba96fa2 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/python/py27-gobject3/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/python/py27-gobject3/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -56,8 +56,11 @@ configure.cppflags-append \
</span> 
 destroot.cmd        ${build.cmd}
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span> # uses g-ir-scanner, which uses $CC from env
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     foreach arch ${configure.universal_archs} {
         lappend merger_build_env(${arch})  "CC=${configure.cc} -arch ${arch}"
         lappend merger_destroot_env(${arch})  "CC=${configure.cc} -arch ${arch}"
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/ruby/rb-cocoa/Portfile b/ruby/rb-cocoa/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 13803204dd8..bbd236dfd97 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/ruby/rb-cocoa/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/ruby/rb-cocoa/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -30,17 +30,19 @@ configure.args          --install-prefix=${destroot}${prefix} \
</span>                                   --examples=/share/doc/${name}/examples
 
 # apply universal_archs or build_arch
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   if {[info exists universal_archs] && $universal_archs != ""} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-           configure.args-append --target-archs="${universal_archs}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if {[info exists configure.universal_archs] && ${configure.universal_archs} ne ""} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           configure.args-append --target-archs="${configure.universal_archs}"
</span>   }
 } else {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        if {[info exists build_arch] && ${build_arch} ne ""} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-           configure.args-append --target-archs="${build_arch}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if {[info exists configure.build_arch] && ${configure.build_arch} ne ""} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           configure.args-append --target-archs="${configure.build_arch}"
</span>   }
 }
 
 #test.run yes
 test.cmd ${ruby.bin}
 test.target install.rb test
<span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/science/fldigi/Portfile b/science/fldigi/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 4ea6b90cb08..3ce419de490 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/science/fldigi/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/science/fldigi/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -49,7 +49,7 @@ if {${os.platform} eq "darwin" && ${os.major} <= 13} {
</span> pre-configure {
 
     # enable optimization on all Intel hardwares
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[variant_exists universal] && [variant_isset universal]} {
</span>         set merger_configure_args(x86_64) configure.args-append --enable-optimizations=x86-64
         set merger_configure_args(i386)   configure.args-append --enable-optimizations=i686
     } elseif {[variant_isset native]} {
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/science/gamess/Portfile b/science/gamess/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 0c6af1f09b4..95a62c34f53 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/science/gamess/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/science/gamess/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -73,7 +73,7 @@ post-patch {
</span> }
 
 configure {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {![variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {![variant_exists universal] || ![variant_isset universal]} {
</span>         set test_arch ${build_arch}
     } else {
         set test_arch ${muniversal.current_arch}
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/science/hdf5/Portfile b/science/hdf5/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index a14dc92e17e..d40f8cdf89e 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/science/hdf5/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/science/hdf5/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -73,7 +73,7 @@ license             NCSA
</span> default_variants    +cxx +hl
 
 post-configure {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[variant_exists universal] && [variant_isset universal]} {
</span>         set dirs {}
         foreach arch ${universal_archs_to_use} {
             lappend dirs ${worksrcpath}-${arch}
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/science/libsc/Portfile b/science/libsc/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 0d4c6900146..c9b20df44f0 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/science/libsc/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/science/libsc/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -59,7 +59,10 @@ post-destroot {
</span>     }
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {![variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {!${universal_possible} || ![variant_isset universal]} {
</span>     # remove arch flags
     post-destroot {
         reinplace -E {s|-arch [a-z0-9_]+||g} ${destroot}${prefix}/etc/Makefile.sc.mk
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/science/mpich/Portfile b/science/mpich/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 2304ae00bc0..8b8a7c1de7e 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/science/mpich/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/science/mpich/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -247,13 +247,8 @@ if {${name} ne ${subport} && [string first "-devel" $subport] < 0} {
</span> 
     # remove LDFLAGS mpicc, etc. and pkgconfig files
     post-build {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            set archs ${configure.universal_archs}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        } else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            set archs ${build_arch}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        foreach arch ${archs} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        foreach arch [get_canonical_archs] {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {[variant_exists universal] && [variant_isset universal]} {
</span>                 set dir ${worksrcpath}-${arch}
             } else {
                 set dir ${worksrcpath}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -272,10 +267,13 @@ if {${name} ne ${subport} && [string first "-devel" $subport] < 0} {
</span>         }
     }
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span>     # Fortran headers do not understand preprocessors commands like __LP64__
     # Fortran mod files can not be merged for different architectures
     # create a architecture specific folder for the non-build_arch architecture
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {${universal_possible} && [variant_isset universal]} {
</span>         patchfiles-append patch-universal_fortran.diff
         post-patch {
             if {${build_arch} eq "ppc" || ${build_arch} eq "ppc64"} {
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/science/netcdf-fortran/Portfile b/science/netcdf-fortran/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 59bcd5bccde..5554486c72e 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/science/netcdf-fortran/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/science/netcdf-fortran/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -57,7 +57,10 @@ if {${os.arch} eq "i386"} {
</span>     set universal_archs_supported "ppc ppc64"
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     patchfiles-append   patch-Makefile.in.diff
 }
 
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/science/netcdf/Portfile b/science/netcdf/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 4aa4980bbc1..28c03ef65b2 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/science/netcdf/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/science/netcdf/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -42,8 +42,12 @@ configure.args-append       -DENABLE_NETCDF_4=OFF \
</span> test.run                    yes
 test.target                 test
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> default_variants +netcdf4 +dap
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {![variant_isset universal] && (${build_arch} == "x86_64" || ${build_arch} == "ppc64")} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {(!${universal_possible} || ![variant_isset universal]) && (${build_arch} == "x86_64" || ${build_arch} == "ppc64")} {
</span>     default_variants-append +cdf5
 }
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -76,7 +80,7 @@ variant cdf5 description {enable support for cdf5} {
</span>     configure.args-append   -DENABLE_CDF5=ON
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if { [variant_exists universal] && [variant_isset universal] } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span> 
     pre-configure {
         # record configure date (as cmake does) but ensure date will be the same for achitectures
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/science/opencascade/Portfile b/science/opencascade/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 8c338fa84f6..9f468cb4016 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/science/opencascade/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/science/opencascade/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -67,7 +67,10 @@ variant docs description {Build and install documentation} {
</span>     configure.args-delete   -DBUILD_DOC_Overview=OFF
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     set merger_dont_diff ${prefix}/bin/custom.sh
     post-destroot {
         file delete ${destroot}${prefix}/bin/custom.sh
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/science/openmpi/Portfile b/science/openmpi/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 1b061f8bec0..3f50223b510 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/science/openmpi/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/science/openmpi/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -304,7 +304,10 @@ you execute 'mpicc' etc.) please run:
</span>         configure.args-append --enable-debug --enable-memchecker --with-valgrind=${prefix}
     }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {${universal_possible} && [variant_isset universal]} {
</span>         # use open-mpi's multilib support to build universal
         # see https://github.com/open-mpi/ompi/wiki/MultiLib
         # Fortran is the only non-trivial case
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/science/p4est/Portfile b/science/p4est/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index db155993c63..0ae5e3e6b49 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/science/p4est/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/science/p4est/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -61,7 +61,10 @@ variant petsc description {build with PETSc support} {
</span>     mpi.enforce_variant petsc
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {![variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {!${universal_possible} || ![variant_isset universal]} {
</span>     # remove arch flags
     post-destroot {
         reinplace -E {s|-arch [a-z0-9_]+||g} ${destroot}${prefix}/etc/Makefile.p4est.mk
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/science/plplot/Portfile b/science/plplot/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 4cf9bb8ed93..25196d1941e 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/science/plplot/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/science/plplot/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -131,7 +131,10 @@ post-configure {
</span>     }
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     configure.args-append -DCMAKE_OSX_ARCHITECTURES=\"[strsed ${configure.universal_archs} "g| |;|"]\" -DENABLE_fortran:BOOL=OFF
 } else {
 # Adhoc fix
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/science/plplot510/Portfile b/science/plplot510/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 1f3ebe0d4d6..ed051c71924 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/science/plplot510/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/science/plplot510/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -128,7 +128,10 @@ pre-configure {
</span>     file mkdir ${workpath}/build
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     configure.args-append -DCMAKE_OSX_ARCHITECTURES=\"[strsed ${configure.universal_archs} "g| |;|"]\" -DENABLE_f95:BOOL=OFF
 } else {
 # Adhoc fix
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/science/stellarium-qt4/Portfile b/science/stellarium-qt4/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 96707cec33d..4d7e870a789 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/science/stellarium-qt4/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/science/stellarium-qt4/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -41,7 +41,7 @@ post-patch {
</span>     reinplace "s:10.6.0:10.4.11:" ${worksrcpath}/data/Info.plist
 
     # Determine which archs to build
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[variant_exists universal] && [variant_isset universal]} {
</span>         set archs ${configure.universal_archs}
     } else {
         set archs ${configure.build_arch}
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/science/vis5d/Portfile b/science/vis5d/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 4616eb892f5..867716ec0ab 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/science/vis5d/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/science/vis5d/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -61,7 +61,7 @@ post-patch {
</span> 
 post-configure {
     reinplace -E {s|-arch [^ ]+||g} ${worksrcpath}/vis5d+.pc
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[variant_exists universal] && [variant_isset universal]} {
</span>         reinplace "s|-dynamiclib|-dynamiclib ${configure.universal_ldflags}|" \
             ${worksrcpath}/libtool
     }
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -76,7 +76,10 @@ configure.args              -disable-fortran            \
</span>                             --x-libraries=${prefix}/lib \
                             --with-netcdf=${prefix} \
                             --without-mixkit
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {![variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {!${universal_possible} || ![variant_isset universal]} {
</span>     configure.ldflags-append    ${configure.cc_archflags}
 }
 
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/science/wgrib2/Portfile b/science/wgrib2/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 9a94ae7ff24..3ec3d906618 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/science/wgrib2/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/science/wgrib2/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -61,13 +61,8 @@ set lg2c ${g2c}/libgrib2c.a
</span> configure.cppflags-prepend  -I${prefix}/lib/proj5/include -I${prefix}/lib/libaec/include -DJAS_VERSION_MAJOR=2
 configure.ldflags-prepend   -L${prefix}/lib/proj5/lib -L${prefix}/lib/libaec/lib
 variant universal {}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set cflags "${configure.cflags} ${configure.universal_cflags}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set ldflags "${configure.ldflags} ${configure.universal_ldflags}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-} else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set cflags "${configure.cflags} ${configure.cc_archflags}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set ldflags "${configure.ldflags} ${configure.cc_archflags}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set cflags "${configure.cflags} [get_canonical_archflags cc]"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set ldflags "${configure.ldflags} [get_canonical_archflags ld]"
</span> build.args          -f makefile
 
 pre-build {
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/security/botan/Portfile b/security/botan/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index ca4edc60bcd..a6862250901 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/security/botan/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/security/botan/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -88,7 +88,10 @@ array set merger_configure_args {
</span>     x86_64  --cpu=amd64
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {![variant_isset universal] && [info exists merger_configure_args(${build_arch})]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {(!${universal_possible} || ![variant_isset universal]) && [info exists merger_configure_args(${build_arch})]} {
</span>     configure.args-append $merger_configure_args(${build_arch})
 }
 
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/security/botan1/Portfile b/security/botan1/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index b187bff8741..7984adb06d1 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/security/botan1/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/security/botan1/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -80,7 +80,10 @@ array set merger_configure_args {
</span>     x86_64  --cpu=amd64
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {![variant_isset universal] && [info exists merger_configure_args(${build_arch})]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {(!${universal_possible} || ![variant_isset universal]) && [info exists merger_configure_args(${build_arch})]} {
</span>     configure.args-append $merger_configure_args(${build_arch})
 }
 
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/security/nasty/Portfile b/security/nasty/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index d6e56a15968..b08ae6a6295 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/security/nasty/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/security/nasty/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -32,13 +32,8 @@ patchfiles          patch-Makefile
</span> use_configure       no
 
 variant universal {}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set archflags ${configure.universal_cflags}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-} else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set archflags ${configure.cc_archflags}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span> build.env           CC=${configure.cc} \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    "CFLAGS=${configure.cflags} ${configure.cppflags} ${archflags}" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    "LDFLAGS=${configure.ldflags} ${archflags}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    "CFLAGS=${configure.cflags} ${configure.cppflags} [get_canonical_archflags cc]" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    "LDFLAGS=${configure.ldflags} [get_canonical_archflags ld]"
</span> 
 destroot.destdir    prefix=${destroot}${prefix}
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/sysutils/afsctool/Portfile b/sysutils/afsctool/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 71df0e16fac..77b91986a36 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/sysutils/afsctool/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/sysutils/afsctool/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -40,12 +40,7 @@ use_configure   no
</span> universal_variant yes
 
 build {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {![variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        set archflags ${configure.cc_archflags}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    } else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        set archflags ${configure.universal_cflags}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    system "cd ${worksrcpath} && ${configure.cc} ${configure.cflags} ${configure.ldflags} ${archflags} -lz -framework CoreServices -o afsctool afsctool.c"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    system "cd ${worksrcpath} && ${configure.cc} ${configure.cflags} ${configure.ldflags} [get_canonical_archflags cc] -lz -framework CoreServices -o afsctool afsctool.c"
</span> }
 
 destroot {
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/sysutils/asprint/Portfile b/sysutils/asprint/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 5a7cbfe3100..576af89f2d5 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/sysutils/asprint/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/sysutils/asprint/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -34,13 +34,8 @@ patchfiles          patch-Makefile.diff \
</span> use_configure       no
 
 variant universal {}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set archflags ${configure.universal_cflags}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-} else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set archflags ${configure.cc_archflags}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-build.args          COMPILER="${configure.cc} ${archflags}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+build.args          COMPILER="${configure.cc} [get_canonical_archflags cc]"
</span> build.target-append ${name}.1
 
 destroot {
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/sysutils/augeas/Portfile b/sysutils/augeas/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 3ce0a4d550b..ff7a38a7d24 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/sysutils/augeas/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/sysutils/augeas/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -34,9 +34,13 @@ configure.args          --disable-silent-rules \
</span> 
 #use_parallel_build      no
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span> # this port doesn't build the examples as 32 bit <https://trac.macports.org/ticket/57897>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if { ${build_arch} eq "i386" || ([variant_isset universal] && [lsearch ${universal_archs} i386] != -1) \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-  || ${build_arch} eq "ppc"  || ([variant_isset universal] && [lsearch ${universal_archs} ppc]  != -1) } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {(!(${universal_possible} && [variant_isset universal]) && ${configure.build_arch} in "i386 ppc") ||
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    (${universal_possible} && [variant_isset universal] &&
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    ("i386" in ${configure.universal_archs} || "ppc" in ${configure.universal_archs}))} {
</span>     post-patch {
         reinplace "s|examples||" ${worksrcpath}/Makefile.am
     }
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/sysutils/clamav/Portfile b/sysutils/clamav/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index d0b9017a409..2dff1e7f86e 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/sysutils/clamav/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/sysutils/clamav/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -77,7 +77,7 @@ platform darwin 8 {
</span> post-destroot {
                        #muniversal should allow this to be hooked in some way that's less gross
                        #this code copied from nspr's portfile
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                        if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   if {[variant_exists universal] && [variant_isset universal]} {
</span>                           copy ${destroot}${prefix}/bin/${build_arch}-clamav-config ${destroot}${prefix}/bin/bak-config
                                foreach file [glob ${destroot}${prefix}/bin/*clamav-config] {
                                        delete $file
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/sysutils/crswallow/Portfile b/sysutils/crswallow/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index bba343bd2e2..5354b1fbb8f 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/sysutils/crswallow/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/sysutils/crswallow/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -32,15 +32,10 @@ checksums           md5     f1a751c0ea8891ec1682d4ea209fc3b0 \
</span> worksrcdir          ${name}
 
 variant universal {}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set archflags ${configure.universal_cflags}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-} else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set archflags ${configure.cc_archflags}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span> 
 use_configure       no
 build.cmd           ${configure.cc}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-build.args          ${configure.cflags} ${archflags} -o ${name}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+build.args          {*}${configure.cflags} {*}[get_canonical_archflags cc] -o ${name}
</span> build.target        ${name}.c
 
 destroot {
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/sysutils/endian/Portfile b/sysutils/endian/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index a83938ab106..00fa064114e 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/sysutils/endian/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/sysutils/endian/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -13,12 +13,7 @@ master_sites     ${homepage}distfiles/ \
</span> use_configure     no
 
 variant universal {}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   set archflags ${configure.universal_ldflags}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-} else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   set archflags ${configure.cc_archflags}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-build.args CC="${configure.cc} ${archflags}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+build.args CC="${configure.cc} [get_canonical_archflags cc]"
</span> 
 destroot       {
        xinstall -d -m 0755 ${destroot}${prefix}/bin
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/sysutils/findutils/Portfile b/sysutils/findutils/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 5c81dcdeb62..60fb7343526 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/sysutils/findutils/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/sysutils/findutils/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -37,7 +37,10 @@ use_parallel_build  yes
</span> test.run        yes
 test.target     check
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     set merger_configure_args(i386) TIME_T_32_BIT_OK=yes
     set merger_configure_args(ppc) TIME_T_32_BIT_OK=yes
 } else {
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/sysutils/log4shib/Portfile b/sysutils/log4shib/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 33e40a3ab84..851d707a955 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/sysutils/log4shib/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/sysutils/log4shib/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -32,7 +32,7 @@ variant universal {
</span> }
 
 post-configure {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[variant_exists universal] && [variant_isset universal]} {
</span>         file copy -force ${prefix}/bin/glibtool ${worksrcpath}/libtool
     }
 }
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/sysutils/mdate/Portfile b/sysutils/mdate/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index c6eabee9f30..97ce8d611ee 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/sysutils/mdate/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/sysutils/mdate/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -22,13 +22,8 @@ checksums               md5     813edcde16cac96afddcf4be9342a82d \
</span> use_configure           no
 
 variant universal {}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set archflags ${configure.universal_cflags}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-} else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set archflags ${configure.cc_archflags}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-build.args              CXX="${configure.cxx} ${archflags}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+build.args              CXX="${configure.cxx} [get_canonical_archflags cxx]"
</span> 
 platform darwin {
     build.target        target=osx
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/sysutils/memcached/Portfile b/sysutils/memcached/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 386ee18d579..65d94cdddc1 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/sysutils/memcached/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/sysutils/memcached/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -34,7 +34,10 @@ patchfiles-append       patch-configure.diff
</span> startupitem.create      yes
 startupitem.executable  ${prefix}/bin/memcached -u nobody -m 64 -c 10240 -p 11211
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     set merger_configure_args(x86_64) --enable-64bit
     set merger_configure_args(ppc64)  --enable-64bit
 } else {
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/sysutils/memtester/Portfile b/sysutils/memtester/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index b46a23937cc..35969852b86 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/sysutils/memtester/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/sysutils/memtester/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -25,12 +25,7 @@ use_configure       no
</span> variant universal {}
 
 pre-patch {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-           set archflags ${configure.universal_cflags}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   } else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-           set archflags ${configure.cc_archflags}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   }
</span>   reinplace "s|/usr/local|${destroot}${prefix}|" ${worksrcpath}/Makefile
        reinplace "s|man/man|share/man/man|" ${worksrcpath}/Makefile
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        reinplace "s|^cc|${configure.cc} ${archflags}|g" ${worksrcpath}/conf-cc ${worksrcpath}/conf-ld
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   reinplace "s|^cc|${configure.cc} [get_canonical_archflags cc]|g" ${worksrcpath}/conf-cc ${worksrcpath}/conf-ld
</span> }
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/sysutils/showkey/Portfile b/sysutils/showkey/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index fec954f79d8..df2a9d2bafe 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/sysutils/showkey/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/sysutils/showkey/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -29,14 +29,9 @@ patchfiles          patch-Makefile.diff
</span> use_configure       no
 
 variant universal {}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set archflags ${configure.universal_cflags}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-} else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set archflags ${configure.cc_archflags}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span> 
 build.target
<span style='display:block; white-space:pre;background:#ffe0e0;'>-build.args          CC="${configure.cc} ${archflags}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+build.args          CC="${configure.cc} [get_canonical_archflags cc]"
</span> 
 destroot.args       PREFIX=${prefix}
 
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/sysutils/sysvbanner/Portfile b/sysutils/sysvbanner/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 66ec01d3676..db04cbf61a4 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/sysutils/sysvbanner/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/sysutils/sysvbanner/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -24,15 +24,10 @@ livecheck.regex     "<h1>Package: ${name} \\\((\[a-z0-9.\]+)"
</span> use_configure         no
 
 variant universal {}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set archflags ${configure.universal_cflags}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-} else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set archflags ${configure.cc_archflags}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span> 
 build.target       banner
 build.args          CC=${configure.cc} \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    CFLAGS="${archflags}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    CFLAGS="${configure.cflags} [get_canonical_archflags cc]"
</span> 
 destroot {
     xinstall -W ${worksrcpath} -m 755 banner ${destroot}${prefix}/bin/${name}
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/sysutils/timeout/Portfile b/sysutils/timeout/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index ad53f9a193e..e8d6fb35300 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/sysutils/timeout/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/sysutils/timeout/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -26,15 +26,10 @@ checksums           sha1    6ca3e507cbd9845593c93f4f5768f2e64e77a60a \
</span> use_configure       no
 
 variant universal {}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set archflags ${configure.universal_cflags}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-} else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set archflags ${configure.cc_archflags}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span> 
 build.dir           ${worksrcpath}/src/misc
 build.target        ../../bin/${name}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-build.args          CC="${configure.cc} ${archflags}" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+build.args          CC="${configure.cc} [get_canonical_archflags cc]" \
</span>                     OPT="${configure.optflags}"
 
 destroot {
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/sysutils/wait_on/Portfile b/sysutils/wait_on/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index de269dfa2ac..fabe76b2e37 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/sysutils/wait_on/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/sysutils/wait_on/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -25,15 +25,10 @@ checksums           md5    6b5917ad6136fdd8295d2d1299db10d5 \
</span> use_configure       no
 
 variant universal {}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set archflags ${configure.universal_cflags}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-} else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set archflags ${configure.cc_archflags}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span> 
 build.type          bsd
 build.args          PREFIX=${prefix} \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    CC="${configure.cc} ${archflags}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    CC="${configure.cc} [get_canonical_archflags cc]"
</span> 
 destroot.args       PREFIX=${prefix} \
                     MANDIR=${prefix}/share/man/man
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/tex/bibutils/Portfile b/tex/bibutils/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index b3b32aba1a8..8b51e7d10c0 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/tex/bibutils/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/tex/bibutils/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -32,11 +32,7 @@ configure {
</span>     file copy ${worksrcpath}/bin/Makefile.static ${worksrcpath}/bin/Makefile
     file copy ${worksrcpath}/lib/Makefile.static ${worksrcpath}/lib/Makefile
     file copy ${worksrcpath}/Makefile_start ${worksrcpath}/Makefile
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[variant_isset "universal"]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        set CFLAGS "${configure.cflags} ${configure.universal_cflags}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    } else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        set CFLAGS "${configure.cflags} ${configure.cc_archflags}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set CFLAGS "${configure.cflags} [get_canonical_archflags cc]"
</span>     reinplace "s|REPLACE_CC|CC=\"${configure.cc} ${CFLAGS}\"|" ${worksrcpath}/Makefile
     reinplace "s|REPLACE_RANLIB|RANLIB=\"ranlib -s\"|" ${worksrcpath}/Makefile
     reinplace "s|REPLACE_INSTALLDIR|${destroot}${prefix}/bin|" ${worksrcpath}/Makefile
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/tex/texlive-bin/Portfile b/tex/texlive-bin/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 2e1c735844f..a62326b03fb 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/tex/texlive-bin/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/tex/texlive-bin/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -211,8 +211,11 @@ configure.ldflags-delete    -L${prefix}/lib
</span> configure.cppflags-append   -isystem${prefix}/include
 configure.env-append        LIBRARY_PATH=${prefix}/lib
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span> # luajittex does not support ppc
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     set merger_configure_args(ppc) --disable-luajittex
     set merger_configure_args(ppc64) --disable-luajittex
 } else {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -297,7 +300,7 @@ post-destroot   {
</span>     # by the TeXDist prefpane; it seems that future versions of the
     # prefpane will want these.
     xinstall -d ${destroot}${texlive_mactex_texdistdir}-${version}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[variant_exists universal] && [variant_isset universal]} {
</span>         ln -s ${texlive_mactex_texbindir} \
             ${destroot}${texlive_mactex_texdistdir}-${version}/universal-darwin
     } else {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -365,7 +368,7 @@ post-destroot   {
</span>     # by testing the binaries in the directory called `uname -p`.
     # `uname -p` outputs i386 also for x86_64 systems.
     xinstall -d ${destroot}${texdist_mpfd}/Programs
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[variant_exists universal] && [variant_isset universal]} {
</span>         if {[string match "*ppc*" ${configure.universal_archs}]} {
             ln -s ${texlive_mactex_texbindir} ${destroot}${texdist_mpfd}/Programs/powerpc
             ln -s ${texlive_mactex_texbindir} ${destroot}${texdist_mpfd}/Programs/ppc
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/textproc/antiword/Portfile b/textproc/antiword/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 0236152cc29..8a050ec690f 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/textproc/antiword/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/textproc/antiword/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -27,13 +27,8 @@ post-patch {
</span> use_configure       no
 
 variant universal {}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set archflags ${configure.universal_cflags}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-} else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set archflags ${configure.cc_archflags}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-build.args          CC="${configure.cc} ${archflags}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+build.args          CC="${configure.cc} [get_canonical_archflags cc]"
</span> 
 destroot.args       prefix=${destroot}${prefix}
 
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/textproc/canna/Portfile b/textproc/canna/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index fb311b14fa8..e765657c6b5 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/textproc/canna/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/textproc/canna/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -52,11 +52,7 @@ use_xmkmf           yes
</span> 
 pre-build {
     build.target    canna
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        build.post_args CDEBUGFLAGS=\"${configure.cflags} ${configure.universal_cflags}\" SHLIBGLOBALSFLAGS=\"${configure.universal_cflags}\"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    } else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        build.post_args CDEBUGFLAGS=\"${configure.cflags}\"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    build.post_args CDEBUGFLAGS=\"${configure.cflags} [get_canonical_archflags cc]\" SHLIBGLOBALSFLAGS=\"[get_canonical_archflags ld]\"
</span> }
 use_parallel_build  no
 post-build {
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/textproc/hexdiff/Portfile b/textproc/hexdiff/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 72abfa32ca9..e7dd8ec6e13 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/textproc/hexdiff/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/textproc/hexdiff/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -34,13 +34,8 @@ patchfiles              patch-Makefile \
</span> use_configure           no
 
 variant universal {}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set archflags ${configure.universal_cflags}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-} else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set archflags ${configure.cc_archflags}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-build.args              COMP="${configure.cc} ${archflags}" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+build.args              COMP="${configure.cc} [get_canonical_archflags cc]" \
</span>                         CFLAGS=${configure.cflags} \
                         CPPFLAGS=${configure.cppflags} \
                         LDFLAGS=${configure.ldflags}
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/textproc/juman6/Portfile b/textproc/juman6/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 2abb4b046a2..b22df17e630 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/textproc/juman6/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/textproc/juman6/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -25,7 +25,10 @@ if {${os.major} >= 12 && ${os.platform} eq "darwin"} {
</span>     patchfiles-append patch-sed.diff
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     patchfiles-append patch-automake-1.13.diff
     use_autoreconf  yes
 }
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/textproc/libiconv/Portfile b/textproc/libiconv/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index b04939eeca7..8f66d431b7c 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/textproc/libiconv/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/textproc/libiconv/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -91,7 +91,10 @@ post-destroot {
</span>     }
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if { [variant_isset universal] } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     # When cross-compiling, can guess wrong endian value.
     lappend merger_configure_env(ppc)     cl_cv_sys_endian='big endian'
     lappend merger_configure_env(ppc64)   cl_cv_sys_endian='big endian'
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/textproc/nkf/Portfile b/textproc/nkf/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index d4325c56f15..af55b953c42 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/textproc/nkf/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/textproc/nkf/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -26,14 +26,8 @@ use_configure       no
</span> 
 variant universal   {}
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set archflags ${configure.universal_cflags}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-} else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    set archflags ${configure.cc_archflags}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> build.target
<span style='display:block; white-space:pre;background:#ffe0e0;'>-build.args          CC=${configure.cc} CFLAGS="${configure.cflags} ${archflags}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+build.args          CC=${configure.cc} CFLAGS="${configure.cflags} [get_canonical_archflags cc]"
</span> 
 test.run            yes
 
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/www/libwww/Portfile b/www/libwww/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index e0cc7a269b7..183efaa391a 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/www/libwww/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/www/libwww/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -38,11 +38,7 @@ configure.args  --enable-shared \
</span> configure.ccache no
 
 pre-build {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        reinplace "s|dynamiclib|dynamiclib ${configure.universal_ldflags}|" ${worksrcpath}/libtool
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    } else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        reinplace "s|dynamiclib|dynamiclib ${configure.ld_archflags}|" ${worksrcpath}/libtool
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    reinplace "s|dynamiclib|dynamiclib [get_canonical_archflags ld]|" ${worksrcpath}/libtool
</span> }
 
 variant expat description {builds against expat} {
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/www/neon/Portfile b/www/neon/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index a4ee10b0e08..f7ea3d0a6c0 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/www/neon/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/www/neon/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -55,13 +55,13 @@ pre-test {
</span> }
 
 post-configure {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[variant_exists universal] && [variant_isset universal]} {
</span>         system "cd ${worksrcpath} && ed - config.h < ${filespath}/config.h.ed && touch stamp-h1"
     }
 }
 
 post-destroot {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[variant_exists universal] && [variant_isset universal]} {
</span>         if {${configure.universal_cppflags} != ""} {
             reinplace "s|${configure.universal_cppflags}||g" \
                 ${destroot}${prefix}/bin/neon-config \
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/www/webkit-gtk-2.0/Portfile b/www/webkit-gtk-2.0/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index afca3e1829e..390f01379d5 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/www/webkit-gtk-2.0/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/www/webkit-gtk-2.0/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -93,6 +93,10 @@ platform darwin {
</span>     }
 }
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> subport webkit-gtk3-2.0 {
     conflicts   webkit-gtk3 webkit-gtk3-devel
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -102,7 +106,7 @@ subport webkit-gtk3-2.0 {
</span> #
 # move gtk-docs to allow parallel install with webkit-gtk
 #
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {${universal_possible} && [variant_isset universal]} {
</span> #
 # using diff to merge derived include files sometimes
 # results in a corrupted file due to nested /* */ blocks
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -145,7 +149,7 @@ compiler.blacklist-append macports-clang-3.4 macports-clang-3.7
</span> compiler.fallback-append macports-clang-3.3
 
 # gobject-introspection uses g-ir-scanner, which uses $CC from env
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     foreach arch ${configure.universal_archs} {
         lappend merger_build_args(${arch})     CC='${configure.cc} -arch ${arch}'
         lappend merger_destroot_args(${arch})  CC='${configure.cc} -arch ${arch}'
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/www/webkit-gtk/Portfile b/www/webkit-gtk/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 3830312fe0d..d8b1a0b5523 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/www/webkit-gtk/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/www/webkit-gtk/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -100,6 +100,10 @@ configure.args      --disable-webkit2 \
</span>                     --enable-webgl \
                     --disable-jit
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> subport webkit-gtk3 {
     conflicts webkit-gtk3-devel webkit-gtk3-2.0
     depends_lib-append      port:gtk3
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -108,7 +112,7 @@ subport webkit-gtk3 {
</span> #
 # move gtk-docs to allow parallel install with webkit-gtk
 #
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {${universal_possible} && [variant_isset universal]} {
</span> #
 # using diff to merge derived include files sometimes
 # results in a corrupted file due to nested /* */ blocks
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -143,7 +147,7 @@ if {${name} eq ${subport}} {
</span> configure.universal_args-delete --disable-dependency-tracking
 
 # gobject-introspection uses g-ir-scanner, which uses $CC from env
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     foreach arch ${configure.universal_archs} {
         lappend merger_build_args(${arch})     CC='${configure.cc} -arch ${arch}'
         lappend merger_destroot_args(${arch})  CC='${configure.cc} -arch ${arch}'
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/x11/kinput2/Portfile b/x11/kinput2/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 93376ae9e4c..018c58496f6 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/x11/kinput2/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/x11/kinput2/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -52,11 +52,7 @@ pre-build {
</span>     system "cd ${worksrcpath} && make depend PREFIX=${prefix}"
 
     build.target {}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        build.post_args PREFIX=${prefix} CDEBUGFLAGS=\"${configure.cflags} ${configure.universal_cflags}\"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    } else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        build.post_args PREFIX=${prefix} CDEBUGFLAGS=\"${configure.cflags}\"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    build.post_args PREFIX=${prefix} CDEBUGFLAGS=\"${configure.cflags} [get_canonical_archflags cc]\"
</span> }
 use_parallel_build  yes
 
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/x11/tigervnc/Portfile b/x11/tigervnc/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 2055d3f0249..449711071f8 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/x11/tigervnc/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/x11/tigervnc/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -46,7 +46,10 @@ cmake.out_of_source     yes
</span> 
 build.target            translations dmg
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     merger-post-destroot {
         foreach arch ${universal_archs_to_use} {
             copy "${build.dir}-${arch}/TigerVNC Viewer.app" ${destroot}-${arch}${applications_dir}
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/x11/tk/Portfile b/x11/tk/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 12edbc58377..8e84219b968 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/x11/tk/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/x11/tk/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -57,7 +57,10 @@ post-destroot {
</span>     ln -s libtk8.6.dylib ${destroot}${prefix}/lib/libtk.dylib
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {![variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {!${universal_possible} || ![variant_isset universal]} {
</span>     if {${configure.build_arch} eq "x86_64" || ${configure.build_arch} eq "ppc64"} {
         configure.args-append \
             --enable-64bit
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/x11/wine-crossover/Portfile b/x11/wine-crossover/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 0c6ddb22527..b4266782439 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/x11/wine-crossover/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/x11/wine-crossover/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -134,7 +134,7 @@ patchfiles                  BOOL.patch \
</span>                             patch-include-distversion.h.diff
 
 pre-configure {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[variant_exists universal] && [variant_isset universal]} {
</span>         foreach arch ${universal_archs_to_use} {
             file mkdir ${worksrcpath}-${arch}
         }
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -253,7 +253,10 @@ if {${build_arch} eq "x86_64" && ${os.major} < 18} {
</span>     default_variants            +universal
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     supported_archs         i386 x86_64
 } else {
     supported_archs         i386
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -275,7 +278,7 @@ compiler.blacklist-append   {clang < 500}
</span> # FSF GCC cannot compile code using Apple's "blocks" language extensions
 compiler.blacklist-append   macports-gcc-*
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     # wine for 64-bit requires clang >= 3.8
     compiler.blacklist-append   {clang < 800} \
                                 gcc-4.0 \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -301,7 +304,7 @@ platform darwin {
</span>     # Vulkan is supported on macOS through MoltenVK since Wine 3.13, but because
     # it uses Metal it only works on 64-bit, and because it only builds with
     # Xcode 9 or later it requires Sierra or later.
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {${os.major} >= 16 && [variant_exists universal] && [variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {${os.major} >= 16 && ${universal_possible} && [variant_isset universal]} {
</span>         depends_lib-append                      port:MoltenVK
         depends_skip_archcheck-append           MoltenVK
         lappend merger_configure_args(x86_64)   --with-vulkan
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -381,7 +384,7 @@ post-destroot {
</span>         ${destroot}${docdir}
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     notes-append "
         \n
         Wine supports both 32-bit and 64-bit now. It is compatible with your\
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/x11/wine-devel/Portfile b/x11/wine-devel/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index a58e2d650dd..858cc1ed550 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/x11/wine-devel/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/x11/wine-devel/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -122,7 +122,7 @@ patchfiles                  BOOL.patch \
</span>                             mach_machine.patch
 
 pre-configure {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[variant_exists universal] && [variant_isset universal]} {
</span>         foreach arch ${universal_archs_to_use} {
             file mkdir ${worksrcpath}-${arch}
         }
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -241,7 +241,10 @@ if {${build_arch} eq "x86_64" && ${os.major} < 18} {
</span>     default_variants            +universal
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     supported_archs         i386 x86_64
 } else {
     supported_archs         i386
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -263,7 +266,7 @@ compiler.blacklist-append   {clang < 500}
</span> # FSF GCC cannot compile code using Apple's "blocks" language extensions
 compiler.blacklist-append   macports-gcc-*
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     # wine for 64-bit requires clang >= 3.8
     compiler.blacklist-append   {clang < 800} \
                                 gcc-4.0 \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -289,7 +292,7 @@ platform darwin {
</span>     # Vulkan is supported on macOS through MoltenVK since Wine 3.13, but because
     # it uses Metal it only works on 64-bit, and because it only builds with
     # Xcode 9 or later it requires Sierra or later.
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {${os.major} >= 16 && [variant_exists universal] && [variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {${os.major} >= 16 && ${universal_possible} && [variant_isset universal]} {
</span>         depends_lib-append                      port:MoltenVK
         depends_skip_archcheck-append           MoltenVK
         lappend merger_configure_args(x86_64)   --with-vulkan
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -369,7 +372,7 @@ post-destroot {
</span>         ${destroot}${docdir}
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     notes-append "
         \n
         Wine supports both 32-bit and 64-bit now. It is compatible with your\
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/x11/wine/Portfile b/x11/wine/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 6fc369042d3..fa75fc98e94 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/x11/wine/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/x11/wine/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -122,7 +122,7 @@ patchfiles                  BOOL.patch \
</span>                             mach_machine.patch
 
 pre-configure {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[variant_exists universal] && [variant_isset universal]} {
</span>         foreach arch ${universal_archs_to_use} {
             file mkdir ${worksrcpath}-${arch}
         }
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -241,7 +241,10 @@ if {${build_arch} eq "x86_64" && ${os.major} < 18} {
</span>     default_variants            +universal
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {![info exists universal_possible]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set universal_possible [expr {${os.universal_supported} && [llength ${configure.universal_archs}] >= 2}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     supported_archs         i386 x86_64
 } else {
     supported_archs         i386
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -263,7 +266,7 @@ compiler.blacklist-append   {clang < 500}
</span> # FSF GCC cannot compile code using Apple's "blocks" language extensions
 compiler.blacklist-append   macports-gcc-*
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     # wine for 64-bit requires clang >= 3.8
     compiler.blacklist-append   {clang < 800} \
                                 gcc-4.0 \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -289,7 +292,7 @@ platform darwin {
</span>     # Vulkan is supported on macOS through MoltenVK since Wine 3.13, but because
     # it uses Metal it only works on 64-bit, and because it only builds with
     # Xcode 9 or later it requires Sierra or later.
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {${os.major} >= 16 && [variant_exists universal] && [variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {${os.major} >= 16 && ${universal_possible} && [variant_isset universal]} {
</span>         depends_lib-append                      port:MoltenVK
         depends_skip_archcheck-append           MoltenVK
         lappend merger_configure_args(x86_64)   --with-vulkan
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -369,7 +372,7 @@ post-destroot {
</span>         ${destroot}${docdir}
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span>     notes-append "
         \n
         Wine supports both 32-bit and 64-bit now. It is compatible with your\
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/x11/xforms/Portfile b/x11/xforms/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 05e39bd04b7..8a27533821c 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/x11/xforms/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/x11/xforms/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -63,7 +63,7 @@ post-destroot {     set docdir ${destroot}${prefix}/share/doc/${name}
</span>                     copy ${workpath}/${name}.html ${docdir}
                     copy ${distpath}/${name}.pdf ${docdir}
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    if {![variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    if {![variant_exists universal] || ![variant_isset universal]} {
</span>                         system -W ${worksrcpath}/demos "make mostlyclean"
                     }
 
</pre><pre style='margin:0'>

</pre>