xref: /dragonfly/share/mk/bsd.cpu.mk (revision c9c5aa9e)
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=		gcc80
18_DEFAULT_BINUTILSVER=	binutils234
19
20CCVER ?= ${_DEFAULT_CCVER}
21_CCVER := ${CCVER}
22.if exists(/usr/libexec/${_CCVER}/cc) || exists(/usr/libexec/custom/cc)
23HOST_CCVER?= ${_CCVER}
24.else
25HOST_CCVER?= ${_DEFAULT_CCVER}
26.endif
27
28.if !defined(HOST_BINUTILSVER)
29.if exists(/usr/libexec/${_DEFAULT_BINUTILSVER}/elf/as)
30HOST_BINUTILSVER?=	${_DEFAULT_BINUTILSVER}
31.else
32_NEXTAS!=		find -s /usr/libexec/binutils* -name as -print0 -quit
33HOST_BINUTILSVER?=	${_NEXTAS:H:H:T}
34.endif
35.endif
36
37.if defined(FORCE_CPUTYPE)
38CPUTYPE= ${FORCE_CPUTYPE}
39.endif
40
41.if defined(CCVER_BSD_CPU_MK)
42.  if ${CCVER_BSD_CPU_MK} != ""
43.    include "${CCVER_BSD_CPU_MK}"
44.  endif
45.elif ${CCVER} == gcc47
46.  include <bsd.cpu.gcc47.mk>
47.elif ${CCVER} == gcc80
48.  include <bsd.cpu.gcc80.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
66CFLAGS += ${_CPUCFLAGS}
67.endif
68
69