Revision: 110519 https://trac.macports.org/changeset/110519 Author: larryv@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