Lines Matching +full:gcc +full:- +full:g

4 # COMPILER_TYPE is the major type of compiler. Currently gcc and clang support
5 # automatic detection. Other compiler types can be shoe-horned in, but require
7 # explicitly if, say, you install gcc as clang...
13 # against 30300 for gcc likely isn't what you wanted (since versions of gcc
21 # - c++17: supports full (or nearly full) C++17 programming environment.
22 # - c++14: supports full (or nearly full) C++14 programming environment.
23 # - c++11: supports full (or nearly full) C++11 programming environment.
24 # - retpoline: supports the retpoline speculative execution vulnerability
26 # - init-all: supports stack variable initialization.
27 # - stackclash:supports stack clash protection
28 # - zeroregs: supports zeroing used registers on return
29 # - aarch64-sha512: supports the AArch64 sha512 intrinsic functions.
31 # When bootstrapping on macOS, 'apple-clang' will be set in COMPILER_FEATURES
33 # versioning scheme and may not support the same -W/-Wno warning flags. For a
35 # https://en.wikipedia.org/wiki/Xcode#Xcode_7.0_-_12.x_(since_Free_On-Device_Development)
63 !make(test-system-*) && !make(print-dir) && !make(showconfig) && \
73 # Export to ensure sub-makes can filter it out for mkdep/linking and
95 # Ensure no bogus CCACHE_PATH leaks in which might avoid the in-tree compiler.
102 PATH:= ${PATH:C,:?${CCACHE_WRAPPER_PATH}(/world)?(:$)?,,g}
111 PATH:= ${PATH:C,:?${CCACHE_WRAPPER_PATH}(/world)?(:$)?,,g}
115 # GCC does not need the CCACHE_CPP2 hack enabled by default in devel/ccache.
117 # which fails with -Wparentheses-equality, -Wtautological-compare, and
118 # -Wself-assign on macro-expanded lines.
119 .if defined(COMPILER_TYPE) && ${COMPILER_TYPE} == "gcc"
125 CCACHE_DIR!= ${CCACHE_BIN} -p | awk '$$2 == "cache_dir" {print $$4}'
136 ccache-print-options: .PHONY
137 @${CCACHE_BIN} -p
146 # tree (e.g. during make includes, etc.).
180 # generated files - thus there is no compiler.
185 _v!= ${${cc}:N${CCACHE_BIN}} --version || echo 0.0.0
188 . if ${${cc}:T:M*gcc*}
189 ${X_}COMPILER_TYPE:= gcc
193 ${X_}COMPILER_TYPE:= gcc
194 . elif ${_v:M\(GCC\)} || ${_v:M*GNU}
195 ${X_}COMPILER_TYPE:= gcc
196 . elif ${_v:Mclang} || ${_v:M(clang-*.*.*)}
199 # With GCC, cc --version prints "cc $VERSION ($PKGVERSION)", so if a
200 # distribution overrides the default GCC PKGVERSION it is not identified.
201 # However, its -v output always says "gcc version" in it, so fall back on that.
202 _gcc_version!= ${${cc}:N${CCACHE_BIN}} -v 2>&1 | grep "gcc version"
204 ${X_}COMPILER_TYPE:= gcc
212 ${X_}COMPILER_VERSION!=echo "${_v:M[1-9]*.[0-9]*}" | awk -F. '{print $$1 * 10000 + $$2 * 100 + $$3;…
216 ${X_}COMPILER_FEATURES= apple-clang
221 …__FreeBSD_cc_version" | ${${cc}:N${CCACHE_BIN}} -E - 2>/dev/null || echo __FreeBSD_cc_version; } |…
223 # is a non-FreeBSD build that doesn't support it or some other error
231 ${X_}COMPILER_RESOURCE_DIR!= ${${cc}:N${CCACHE_BIN}} -print-resource-dir 2>/dev/null || echo unknown
236 (${${X_}COMPILER_TYPE} == "gcc" && ${${X_}COMPILER_VERSION} >= 70000)
240 (${${X_}COMPILER_TYPE} == "gcc" && ${${X_}COMPILER_VERSION} >= 100100)
244 (${${X_}COMPILER_TYPE} == "gcc" && ${${X_}COMPILER_VERSION} >= 120000)
245 ${X_}COMPILER_FEATURES+= init-all
252 # When compiling bootstrap tools on non-FreeBSD, the various MACHINE variables
253 # for the host can be missing or not match FreeBSD's naming (e.g. Linux/amd64
260 ${X_}COMPILER_FEATURES+= compressed-debug
264 (${${X_}COMPILER_TYPE} == "gcc" && ${${X_}COMPILER_VERSION} >= 80100)
270 (${${X_}COMPILER_TYPE} == "gcc" && ${${X_}COMPILER_VERSION} >= 81000 \
277 (${${X_}COMPILER_TYPE} == "gcc" && ${${X_}COMPILER_VERSION} >= 110000) && \
284 (${${X_}COMPILER_TYPE} == "gcc" && ${${X_}COMPILER_VERSION} >= 90000)
286 # clang 13 and gcc 9.
287 ${X_}COMPILER_FEATURES+= aarch64-sha512
299 # Export the values so sub-makes don't have to look them up again, using the
303 .export-env ${var}__${${X_}_cc_hash}