![]() System : Linux absol.cf 5.4.0-198-generic #218-Ubuntu SMP Fri Sep 27 20:18:53 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.33 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, Directory : /proc/thread-self/root/usr/share/boost-build/src/tools/ |
Upload File : |
# Distributed under the Boost Software License, Version 1.0. # (See accompanying file LICENSE_1_0.txt # or copy at http://www.boost.org/LICENSE_1_0.txt) # This is a generic 'clang' toolset. Depending on the current system, it # forwards either to 'clang-linux' or 'clang-darwin' modules. import feature ; import os ; import toolset ; import sequence ; import regex ; import set ; feature.extend toolset : clang ; feature.subfeature toolset clang : platform : : propagated link-incompatible ; rule init ( * : * ) { if $(1) = win { toolset.using clang-win : $(2) : $(3) : $(4) : $(5) : $(6) : $(7) : $(8) : $(9) ; } else if [ os.name ] = MACOSX { toolset.using clang-darwin : $(1) : $(2) : $(3) : $(4) : $(5) : $(6) : $(7) : $(8) : $(9) ; } else { toolset.using clang-linux : $(1) : $(2) : $(3) : $(4) : $(5) : $(6) : $(7) : $(8) : $(9) ; } } local rule cxxstd-flags ( toolset : condition * : options * ) { toolset.flags $(toolset).compile.c++ OPTIONS $(condition) : $(options) : unchecked ; toolset.flags $(toolset).link OPTIONS $(condition) : $(options) : unchecked ; } local rule version-ge ( lhs : rhs ) { lhs = [ regex.split $(lhs) "[.]" ] ; rhs = [ regex.split $(rhs) "[.]" ] ; return [ sequence.compare $(rhs) : $(lhs) : numbers.less ] ; } # Version specific flags rule init-cxxstd-flags ( toolset : condition * : version ) { local cxxstd = [ feature.values <cxxstd> ] ; local dialects = [ feature.values <cxxstd-dialect> ] ; dialects = [ set.difference $(dialects) : gnu iso ] ; local std ; if [ version-ge $(version) : 3.5 ] { std = 1z ; } else if [ version-ge $(version) : 3.4 ] { std = 14 ; } else if [ version-ge $(version) : 3.3 ] { std = 11 ; } else { std = 03 ; } cxxstd-flags $(toolset) : $(condition)/<cxxstd>latest/<cxxstd-dialect>iso : -std=c++$(std) ; cxxstd-flags $(toolset) : $(condition)/<cxxstd>latest/<cxxstd-dialect>gnu : -std=gnu++$(std) ; cxxstd-flags $(toolset) : $(condition)/<cxxstd>latest/<cxxstd-dialect>$(dialects) : -std=c++$(std) ; }