[110519] trunk/base/src/port1.0/portconfigure.tcl

larryv at macports.org larryv at macports.org
Sat Aug 31 21:44:16 PDT 2013


Revision: 110519
          https://trac.macports.org/changeset/110519
Author:   larryv at macports.org
Date:     2013-08-31 21:44:16 -0700 (Sat, 31 Aug 2013)
Log Message:
-----------
portconfigure.tcl: Add configure.cxx_stdlib option.

Modified Paths:
--------------
    trunk/base/src/port1.0/portconfigure.tcl

Modified: trunk/base/src/port1.0/portconfigure.tcl
===================================================================
--- trunk/base/src/port1.0/portconfigure.tcl	2013-09-01 00:16:40 UTC (rev 110518)
+++ trunk/base/src/port1.0/portconfigure.tcl	2013-09-01 04:44:16 UTC (rev 110519)
@@ -136,9 +136,9 @@
 # compiler flags section
 default configure.optflags      {-Os}
 default configure.cflags        {${configure.optflags}}
-default configure.cxxflags      {[portconfigure::choose_default_cxxflags]}
+default configure.cxxflags      {${configure.optflags}}
 default configure.objcflags     {${configure.optflags}}
-default configure.objcxxflags   {[portconfigure::choose_default_cxxflags]}
+default configure.objcxxflags   {${configure.optflags}}
 default configure.cppflags      {-I${prefix}/include}
 default configure.ldflags       {"-L${prefix}/lib -Wl,-headerpad_max_install_names"}
 default configure.libs          {}
@@ -198,6 +198,10 @@
 default compiler.blacklist      {}
 default compiler.whitelist      {}
 
+# Select a C++ STL implementation
+options configure.cxx_stdlib
+default configure.cxx_stdlib    {$cxx_stdlib}
+
 set_ui_prefix
 
 proc portconfigure::configure_start {args} {
@@ -259,21 +263,6 @@
     }
 }
 
-# internal function to choose the default configure.cxxflags and configure.objcxxflags
-proc portconfigure::choose_default_cxxflags {} {
-    global cxx_stdlib
-    global configure.optflags
-    global configure.cxx
-
-    set flags ${configure.optflags}
-
-    if {${cxx_stdlib} != "" && [string match *clang* ${configure.cxx}]} {
-        append flags " -stdlib=${cxx_stdlib}"
-    }
-
-    return ${flags}
-}
-
 # internal function to choose the default configure.build_arch and
 # configure.universal_archs based on supported_archs and build_arch or
 # universal_archs
@@ -638,7 +627,7 @@
            configure.perl configure.python configure.ruby configure.install configure.awk configure.bison \
            configure.pkg_config configure.pkg_config_path \
            configure.ccache configure.distcc configure.cpp configure.javac configure.sdkroot \
-           configure.march configure.mtune \
+           configure.march configure.mtune configure.cxx_stdlib \
            os.platform os.major
     foreach tool {cc cxx objc objcxx f77 f90 fc ld} {
         global configure.${tool} configure.${tool}_archflags
@@ -752,6 +741,12 @@
             }
         }
 
+        # Add flags to specify C++ STL implementation
+        if {${configure.cxx_stdlib} ne {} && [string match *clang* [option configure.cxx]]} {
+            append_to_environment_value configure CXXFLAGS -stdlib=${configure.cxx_stdlib}
+            append_to_environment_value configure OBJCXXFLAGS -stdlib=${configure.cxx_stdlib}
+        }
+
         # Execute the command (with the new environment).
         if {[catch {command_exec configure} result]} {
             global configure.dir
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20130831/ab2394d5/attachment-0001.html>


More information about the macports-changes mailing list