<pre style='margin:0'>
Marcus Calhoun-Lopez (MarcusCalhoun-Lopez) pushed a commit to branch master
in repository macports-base.

</pre>
<p><a href="https://github.com/macports/macports-base/commit/a86f95c5ab86ee52c8fec2271e005591179731de">https://github.com/macports/macports-base/commit/a86f95c5ab86ee52c8fec2271e005591179731de</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 a86f95c  allow compiler to use environment variables only
</span>a86f95c is described below

<span style='display:block; white-space:pre;color:#808000;'>commit a86f95c5ab86ee52c8fec2271e005591179731de
</span>Author: Marcus Calhoun-Lopez <mcalhoun@macports.org>
AuthorDate: Wed Jan 1 19:01:47 2020 -0600

<span style='display:block; white-space:pre;color:#404040;'>    allow compiler to use environment variables only
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    For many ports, the compiler flags
</span><span style='display:block; white-space:pre;color:#404040;'>      -I${prefix}/include,
</span><span style='display:block; white-space:pre;color:#404040;'>      -L${prefix}/lib,
</span><span style='display:block; white-space:pre;color:#404040;'>      -isysroot${configure.sdkroot}, and
</span><span style='display:block; white-space:pre;color:#404040;'>      -Wl,-syslibroot,${configure.sdkroot}
</span><span style='display:block; white-space:pre;color:#404040;'>    are unnecessary because of the environment variables
</span><span style='display:block; white-space:pre;color:#404040;'>      CPATH,
</span><span style='display:block; white-space:pre;color:#404040;'>      LIBRARY_PATH, and
</span><span style='display:block; white-space:pre;color:#404040;'>      SDKROOT.
</span><span style='display:block; white-space:pre;color:#404040;'>    compiler.limit_flags prevents MacPorts from attempting to add
</span><span style='display:block; white-space:pre;color:#404040;'>    unnecessary compiler flags, which can cause problems.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    See https://trac.macports.org/wiki/CompilerEnvironmentVariables
</span><span style='display:block; white-space:pre;color:#404040;'>    for details.
</span>---
 src/port1.0/portconfigure.tcl | 71 ++++++++++++++++++++++++++++++++++++++++---
 src/port1.0/portmain.tcl      |  6 ++++
 2 files changed, 72 insertions(+), 5 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/src/port1.0/portconfigure.tcl b/src/port1.0/portconfigure.tcl
</span><span style='display:block; white-space:pre;color:#808080;'>index fb478df..8b544c4 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/src/port1.0/portconfigure.tcl
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/src/port1.0/portconfigure.tcl
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -234,8 +234,24 @@ options configure.optflags \
</span> default configure.optflags      -Os
 default configure.cflags        {${configure.optflags}}
 default configure.objcflags     {${configure.optflags}}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-default configure.cppflags      {-I${prefix}/include}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-default configure.ldflags       {-L${prefix}/lib -Wl,-headerpad_max_install_names}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+default configure.cppflags      {[portconfigure::configure_get_cppflags]}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+proc portconfigure::configure_get_cppflags {} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    global prefix
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[option compiler.limit_flags]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        return ""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        return -I${prefix}/include
</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;'>+default configure.ldflags       {[portconfigure::configure_get_ldflags]}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+proc portconfigure::configure_get_ldflags {} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    global prefix
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[option compiler.limit_flags]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        return -Wl,-headerpad_max_install_names
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        return "-L${prefix}/lib -Wl,-headerpad_max_install_names"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span> default configure.libs          {}
 default configure.fflags        {${configure.optflags}}
 default configure.f90flags      {${configure.optflags}}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -737,7 +753,7 @@ proc portconfigure::max_version {verA verB} {
</span> # https://trac.macports.org/wiki/XcodeVersionInfo
 #--------------------------------------------------------------------
 #| C++ Standard |   Clang   |  Xcode Clang  |   Xcode   |    GCC    |
<span style='display:block; white-space:pre;background:#ffe0e0;'>-#|--------------------------------=---------------------------------|
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#|------------------------------------------------------------------|
</span> #| 1998 (C++98) |     -     |       -       |     -     |     -     |
 #| 2011 (C++11) |    3.3    |   500.2.75    |    5.0    |   4.8.1   |
 #| 2014 (C++14) |    3.4    |   602         |    6.3    |     5     |
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -757,6 +773,21 @@ proc portconfigure::max_version {verA verB} {
</span> #|      4.5       | Partial |    Future?    | Future? |   ???   |
 #----------------------------------------------------------------
 #
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# https://trac.macports.org/wiki/CompilerEnvironmentVariables
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# https://trac.macports.org/wiki/CompilerSelection#EnvironmentVariables
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#--------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#|   Environment Variable   | Xcode Clang | Xcode GCC | Clang | GCC |
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#|------------------------------------------------------------------|
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#| CPATH                    |   318.0.4   |    all    |  all  | all |
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#| LIBRARY_PATH             |  421.0.57   |    all    |  all  | all |
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#| MACOSX_DEPLOYMENT_TARGET |     all     |    all    |  all  | all |
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#| SDKROOT                  | OS X 10.9*  |   none    |  all  |  7  |
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#| DEVELOPER_DIR            | OS X 10.9*  |    N/A    |  N/A  | N/A |
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#| CC_PRINT_OPTIONS         |     all     |    all    |  all  | all |
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#| CC_PRINT_OPTIONS_FILE    |     all     |    all    |  all  | all |
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#--------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# * /usr/lib/libxcselect.dylib exists
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#
</span> # utility procedure: get minimum command line compilers version based on restrictions
 proc portconfigure::get_min_command_line {compiler} {
     global compiler.c_standard compiler.cxx_standard compiler.openmp_version compiler.thread_local_storage os.major
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -798,6 +829,16 @@ proc portconfigure::get_min_command_line {compiler} {
</span>                     set min_value [max_version $min_value 500.2.75]
                 }
             }
<span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {[option compiler.limit_flags] || [option compiler.support_environment_paths]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                set min_value [max_version $min_value 421.0.57]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                ([option compiler.limit_flags] || [option compiler.support_environment_sdkroot]) &&
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                [option configure.sdkroot] ne "" &&
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                ![file exists /usr/lib/libxcselect.dylib]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                return none
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            }
</span>         }
         llvm-gcc-4.2 -
         gcc-4.2 -
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -806,6 +847,9 @@ proc portconfigure::get_min_command_line {compiler} {
</span>             if {${compiler.c_standard} > 1999 || ${compiler.cxx_standard} >= 2011 || [option configure.cxx_stdlib] eq "libc++" || ${compiler.thread_local_storage}} {
                 return none
             }
<span style='display:block; white-space:pre;background:#e0ffe0;'>+            if {([option compiler.limit_flags] || [option compiler.support_environment_sdkroot]) && [option configure.sdkroot] ne ""} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                return none
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            }
</span>         }
         default {
             return -code error "don't recognize compiler \"${compiler}\""
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -879,7 +923,12 @@ proc portconfigure::get_min_gcc {} {
</span>         # GCC emulates thread-local storage, but it seems to be broken on older versions of GCC
         set min_value [max_version $min_value 4.5]
     }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ([option compiler.limit_flags] || [option compiler.support_environment_sdkroot]) &&
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        [option configure.sdkroot] ne ""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set min_value [max_version $min_value 7.0]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span>     return ${min_value}
 }
 # utility procedure: get minimum Gfortran version based on restrictions
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -899,6 +948,12 @@ proc portconfigure::get_min_gfortran {} {
</span>         # GCC emulates thread-local storage, but it seems to be broken on older versions of GCC
         set min_value [max_version $min_value 4.5]
     }
<span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ([option compiler.limit_flags] || [option compiler.support_environment_sdkroot]) &&
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        [option configure.sdkroot] ne ""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set min_value [max_version $min_value 7.0]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span>     return ${min_value}
 }
 #
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -912,6 +967,12 @@ proc portconfigure::g95_ok {} {
</span>         # G95 does not support OpenMP
         return no
     }
<span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ([option compiler.limit_flags] || [option compiler.support_environment_sdkroot]) &&
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        [option configure.sdkroot] ne ""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        return no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span>     return yes
 }
 # utility procedure: get Apple compilers based on Xcode version
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1543,7 +1604,7 @@ proc portconfigure::configure_main {args} {
</span>         }
 
         # add SDK flags if cross-compiling (or universal on ppc tiger)
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        if {${configure.sdkroot} ne ""} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if {${configure.sdkroot} ne "" && ![option compiler.limit_flags]} {
</span>             foreach env_var {CPPFLAGS CFLAGS CXXFLAGS OBJCFLAGS OBJCXXFLAGS} {
                 append_to_environment_value configure $env_var -isysroot${configure.sdkroot}
             }
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/src/port1.0/portmain.tcl b/src/port1.0/portmain.tcl
</span><span style='display:block; white-space:pre;color:#808080;'>index 61d811e..80d2794 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/src/port1.0/portmain.tcl
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/src/port1.0/portmain.tcl
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -56,6 +56,9 @@ options prefix name version revision epoch categories maintainers \
</span>         supported_archs depends_skip_archcheck installs_libs \
         license_noconflict copy_log_files \
         compiler.cpath compiler.library_path compiler.log_verbose_output \
<span style='display:block; white-space:pre;background:#e0ffe0;'>+        compiler.limit_flags \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        compiler.support_environment_paths \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        compiler.support_environment_sdkroot \
</span>         add_users use_xcode
 
 proc portmain::check_option_integer {option action args} {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -150,6 +153,9 @@ if {[option os.platform] eq "darwin" && [option os.subplatform] eq "macosx"} {
</span> default compiler.cpath {${prefix}/include}
 default compiler.library_path {${prefix}/lib}
 default compiler.log_verbose_output yes
<span style='display:block; white-space:pre;background:#e0ffe0;'>+default compiler.limit_flags no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+default compiler.support_environment_paths no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+default compiler.support_environment_sdkroot no
</span> 
 # Record initial euid/egid
 set euid [geteuid]
</pre><pre style='margin:0'>

</pre>