Fix world build in NO_ALTBINUTILS edge case
[dragonfly.git] / share / mk / bsd.cpu.mk
1 # $FreeBSD: src/share/mk/bsd.cpu.mk,v 1.2.2.5 2002/07/19 08:09:32 ru Exp $
2
3 # include compiler-specific bsd.cpu.mk.  Note that CCVER may or may not
4 # be passed as an environment variable.  If not set we make it consistent
5 # within make but do not otherwise export it.
6 #
7 # _CCVER is used to detect changes to CCVER made in Makefile's after the
8 # fact.
9 #
10 # HOST_CCVER is used by the native system compiler and defaults to CCVER.
11 # It is not subject to local CCVER overrides in Makefiles and it is inherited
12 # by all sub-makes.
13 #
14 # If the host system does not have the desired compiler for HOST_CCVER
15 # we back off to something it probably does have.
16
17 _DEFAULT_CCVER=         gcc50
18 _DEFAULT_BINUTILSVER=   binutils227
19
20 CCVER ?= ${_DEFAULT_CCVER}
21 _CCVER := ${CCVER}
22 .if exists(/usr/libexec/${_CCVER}/cc) || exists(/usr/libexec/custom/cc)
23 HOST_CCVER?= ${_CCVER}
24 .else
25 HOST_CCVER?= ${_DEFAULT_CCVER}
26 .endif
27
28 .if exists(/usr/libexec/${_DEFAULT_BINUTILSVER}/elf/as)
29 HOST_BINUTILSVER?=      ${_DEFAULT_BINUTILSVER}
30 .else
31 _NEXTAS!=               find -s /usr/libexec/binutils* -name as -print0 -quit
32 HOST_BINUTILSVER?=      ${_NEXTAS:H:H}
33 .endif
34
35 .if defined(FORCE_CPUTYPE)
36 CPUTYPE= ${FORCE_CPUTYPE}
37 .endif
38
39 .if defined(CCVER_BSD_CPU_MK)
40 .  if ${CCVER_BSD_CPU_MK} != ""
41 .    include "${CCVER_BSD_CPU_MK}"
42 .  endif
43 .elif ${CCVER} == gcc47
44 .  include <bsd.cpu.gcc47.mk>
45 .elif ${CCVER} == gcc50
46 .  include <bsd.cpu.gcc50.mk>
47 .elif ${CCVER:Mclang*}
48 .  include <bsd.cpu.clang.mk>
49 .else
50 .  include <bsd.cpu.custom.mk>
51 .endif
52
53 # /usr/bin/cc depend on the CCVER environment variable, make sure CCVER is
54 # exported for /usr/bin/cc and friends.  Note that CCVER is unsupported when
55 # cross compiling from 4.x or older versions of DFly and should not be set
56 # by the user.
57 #
58 .export CCVER
59 .export HOST_CCVER
60
61 # We can reassign _CPUCFLAGS and CFLAGS will evaluate properly to the
62 # new value, we do not have to add the variable to CFLAGS twice.
63 #
64 .if !defined(NO_CPU_CFLAGS) && !defined(_CPUCFLAGS_ASSIGNED)
65 _CPUCFLAGS_ASSIGNED=TRUE
66 CFLAGS += ${_CPUCFLAGS}
67 .endif
68