<pre style='margin:0'>
Ryan Schmidt (ryandesign) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/651684e926fca9fe38c8f7351a3ba56c366cad12">https://github.com/macports/macports-ports/commit/651684e926fca9fe38c8f7351a3ba56c366cad12</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 651684e926fca9fe38c8f7351a3ba56c366cad12
</span>Author: Ryan Schmidt <ryandesign@macports.org>
AuthorDate: Wed Jan 9 14:27:11 2019 -0600

<span style='display:block; white-space:pre;color:#404040;'>    exact-image: Use better flags when configuring
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Use CPPFLAGS and CFLAGS/CXXFLAGS for most configure tests that involve
</span><span style='display:block; white-space:pre;color:#404040;'>    the compiler.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Use only CPPFLAGS when checking headers. Using CFLAGS/CXXFLAGS as well
</span><span style='display:block; white-space:pre;color:#404040;'>    would cause a configure failure when using the universal variant.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Closes: https://trac.macports.org/ticket/57607
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Instead of checking $1 for an exact string match of "cc" or "c++", check
</span><span style='display:block; white-space:pre;color:#404040;'>    only the first word of $1, because in some use cases $1 also contains
</span><span style='display:block; white-space:pre;color:#404040;'>    some flags.
</span>---
 graphics/exact-image/Portfile                  |  6 --
 graphics/exact-image/files/patch-compiler.diff | 98 ++++++++++++++++----------
 2 files changed, 61 insertions(+), 43 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/graphics/exact-image/Portfile b/graphics/exact-image/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 8e87e4f..c8400b9 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/graphics/exact-image/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/graphics/exact-image/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -24,13 +24,7 @@ checksums           rmd160  fbcc51db9881f7c3b3f9b668a7751278396333f7 \
</span>                     sha256  3bf45d21e653f6a4664147eb4ba29178295d530400d5e16a2ab19ac79f62b76c \
                     size    314168
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# see https://trac.macports.org/wiki/UsingTheRightCompiler
</span> patchfiles-append   patch-compiler.diff
<span style='display:block; white-space:pre;background:#ffe0e0;'>-post-patch {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    reinplace "s|__MACPORTS_CXX__|${configure.cxx} [get_canonical_archflags cxx]|g" ${worksrcpath}/config/functions
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    reinplace "s|__MACPORTS_CC__|${configure.cc} [get_canonical_archflags cc]|g"   ${worksrcpath}/config/functions
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> patchfiles-append   patch-no_fast.diff
 patchfiles-append   patch-static-library-ar.diff
 patchfiles-append   patch-save-config.log.diff
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/graphics/exact-image/files/patch-compiler.diff b/graphics/exact-image/files/patch-compiler.diff
</span><span style='display:block; white-space:pre;color:#808080;'>index e346787..85dc7fd 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/graphics/exact-image/files/patch-compiler.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/graphics/exact-image/files/patch-compiler.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,23 +1,61 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- config/functions.orig  2018-11-11 14:10:06.000000000 -0700
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ config/functions       2018-11-11 14:11:57.000000000 -0700
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -357,7 +357,15 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Use the right compiler and flags for configure tests, but don't use
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+CFLAGS/CXXFLAGS when checking headers because if building universal
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+the multiple -arch flags would cause this error:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+clang: error: cannot use 'c++-cpp-output' output with multiple -arch options
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+This patch replaces "cc" or "c++" at the beginning of $1 with the right
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+compiler and flags from the environment variables. This is done (instead
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+of just checking if $1 is exactly equal to "cc" or "c++") to accommodate
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+the use case where $1 also contains some flags, which currently occurs
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+when configure invokes headercheck to find evas.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- config/functions.bak   2015-02-23 08:26:30.000000000 -0600
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ config/functions       2019-01-10 14:25:50.000000000 -0600
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1,3 +1,8 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++: "${CC:=cc}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++: "${CFLAGS:=}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++: "${CPPFLAGS:=}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++: "${CXX:=c++}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++: "${CXXFLAGS:=}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Initalization
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -41,6 +46,25 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   eval $1'="${'$1'#$b$a}"'
</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;'>++# Remove at the beginning of a variable.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# var_remove_prefix var separator prefix
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++var_remove_prefix() {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  local a=${2//\/\\/}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  local b=${3//\/\\/}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  eval '[ "$'$1'" = "$3" ] && '$1'="" || true'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  eval $1'="${'$1'#$b$a}"'
</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;'>++# Replace at the beginning of a variable.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# var_replace_prefix var separator prefix content
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++var_replace_prefix() {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  eval 'case "$'$1'$2" in "$3$2"*) true;; *) false;; esac;' || return 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  var_remove_prefix "$1" "$2" "$3"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  var_insert "$1" "$2" "$4"
</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;'>+ # Test for a key in a give "array".
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # in_list key values
</span>  #
<span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -358,6 +381,9 @@
</span>  compile () {
    local errors=0
<span style='display:block; white-space:pre;background:#ffe0e0;'>--  local PROG="$1" ; shift
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  local PROG="$1"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  case "$1" in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  c++)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    local COMPILER="__MACPORTS_CXX__"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  cc)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    local COMPILER="__MACPORTS_CC__"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  shift
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   local PROG="$1" ; shift
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  local COMPILER="$PROG"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  var_replace_prefix COMPILER " " cc "$CC $CPPFLAGS $CFLAGS"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  var_replace_prefix COMPILER " " c++ "$CXX $CPPFLAGS $CXXFLAGS"
</span>  
    while [ "$1" ] ; do
        local file="config/$PROG-$1"
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -369,7 +377,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -369,7 +395,7 @@
</span>     cflags="`grep -a CFLAGS= $file | sed 's/.* CFLAGS="\(.*\)".*/\1/'`"
          libs="`grep -a LIBS= $file | sed 's/.* LIBS="\(.*\)".*/\1/'`"
          status "$desc ... "
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -26,20 +64,13 @@
</span>        >/dev/null 2>> config.log ; then
                status_result "yes"
          else
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -387,11 +395,19 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -388,10 +414,13 @@
</span>  headercheck () {
    local errors=0
<span style='display:block; white-space:pre;background:#ffe0e0;'>--  local PROG="$1" ; shift
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  local PROG="$1"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  case "$1" in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  c++)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    local COMPILER="__MACPORTS_CXX__"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  cc)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    local COMPILER="__MACPORTS_CC__"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  shift
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   local PROG="$1" ; shift
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  local COMPILER="$PROG"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  var_replace_prefix COMPILER " " cc "$CC $CPPFLAGS"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  var_replace_prefix COMPILER " " c++ "$CXX $CPPFLAGS"
</span>    while [ "$1" ] ; do
        echo "#include <$1>" > conftest.c
        status "checking for header "$1" ... "
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -48,19 +79,12 @@
</span>     status_result "found"
        else
          status_result "not found"
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -412,7 +428,14 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   local FLAGSVAR="$1" ; shift
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -413,6 +442,8 @@
</span>  
    if [ $mode = lib -o $mode = header ]; then
<span style='display:block; white-space:pre;background:#ffe0e0;'>--       local prg="$1"; shift
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  case "$1" in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    c++)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    local prg="__MACPORTS_CXX__"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  cc)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    local prg="__MACPORTS_CC__"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  esac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  shift
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   local prg="$1"; shift
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  var_replace_prefix prg " " cc "$CC $CPPFLAGS $CFLAGS"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  var_replace_prefix prg " " c++ "$CXX $CPPFLAGS $CXXFLAGS"
</span>   local args="$*"; shift $#
    elif [ $mode = shell ]; then
        local script="$1"; shift
</pre><pre style='margin:0'>

</pre>