Revision: 110419 https://trac.macports.org/changeset/110419 Author: larryv@macports.org Date: 2013-08-30 16:49:06 -0700 (Fri, 30 Aug 2013) Log Message: ----------- portconfigure.tcl: Rewrite cxx_stdlib handling to more closely resemble similar options, like "configure.pipe". (Namely, let configure.[obj]cxxflags be and add -stdlib while setting up the environment.) 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-08-30 23:41:40 UTC (rev 110418) +++ trunk/base/src/port1.0/portconfigure.tcl 2013-08-30 23:49:06 UTC (rev 110419) @@ -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 {} @@ -259,21 +259,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 @@ -639,7 +624,7 @@ configure.pkg_config configure.pkg_config_path \ configure.ccache configure.distcc configure.cpp configure.javac configure.sdkroot \ configure.march configure.mtune \ - os.platform os.major + os.platform os.major cxx_stdlib foreach tool {cc cxx objc objcxx f77 f90 fc ld} { global configure.${tool} configure.${tool}_archflags } @@ -706,6 +691,15 @@ append_to_environment_value configure $env_var $output } + # Add C++ standard library, if requested. Set up here to allow + # ${configure.cxxflags} and ${configure.objcxxflags} to override. + if {[info exists cxx_stdlib] && $cxx_stdlib ne {} && + [string match *clang* [option configure.cxx]] + } then { + append_to_environment_value configure CXXFLAGS -stdlib=$cxx_stdlib + append_to_environment_value configure OBJCXXFLAGS -stdlib=$cxx_stdlib + } + # Append configure flags. foreach env_var { \ CC CXX OBJC OBJCXX FC F77 F90 JAVAC \