blob: 231801c3bd941ee0b773d1b908903d2422bcd5a1 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
# $Id: optimize_gcc.mk,v 1.6 2003/06/11 07:47:40 abs Exp $
# This file is 'experimental' - which is doublespeak for unspeakably
# ugly, and probably quite broken by design.
#
# The intention is to pass additional flags to gcc to further optimise
# generated code. It _will_ make it impossible to debug, may fail to
# compile some code, and even generate curdled binaries. It is completely
# unsupported. Any questions should be directed to <abs@netbsd.org>.
.if defined(USE_GCC3) || (${MACHINE} != sparc64)
COPT_FLAGS=-O3
.else
COPT_FLAGS=
.endif
.ifdef BSD_PKG_MK # Try to catch various package opts
# This is a horrible mess, but how else to adjust per package?
.if !defined(PKGBASE)
PKGBASE=${PKGNAME:C/-[^-]*$//}
.if ${PKGBASE} == ""
PKGBASE=${.CURDIR:C:.*/::}
.endif
.endif
COPT_FLAGS+=-ffast-math -fomit-frame-pointer
PKG_EXCLUDE_RENAME_REGISTERS+=
PKG_EXCLUDE_OMIT_FRAME_POINTER+=lua4
.if !defined(USE_GCC3)
PKG_EXCLUDE_OMIT_FRAME_POINTER+=mozilla phoenix qt3-libs kdeedu3
.endif
.if !empty(PKG_EXCLUDE_OMIT_FRAME_POINTER:M${PKGBASE})
COPT_FLAGS:= ${COPT_FLAGS:S/-fomit-frame-pointer//}
.endif
# -O3 implies -finline-functions and -frename-registers
.if !empty(PKG_EXCLUDE_RENAME_REGISTERS:M${PKGBASE})
COPT_FLAGS:= ${COPT_FLAGS:S/-O3/-finline-functions/}
.endif
CFLAGS+=${COPT_FLAGS}
CXXFLAGS+=${COPT_FLAGS}
MAKE_FLAGS+=CCOPTIONS="${COPT_FLAGS}" # Override CCOPTIONS for imake
.else # Assume in base system, only COPTS
.if ${USETOOLS:Uyes} == "no"
COPT_FLAGS+=-fomit-frame-pointer
# Include ${DEFCOPTS} and set ?= to allow overriding in kernel builds
.if !defined(COPTS)
COPTS=${DEFCOPTS} ${COPT_FLAGS}
.else
COPTS+=${COPT_FLAGS}
.endif
.endif
.if defined(USE_GCC3)
DEFWARNINGS=no
.endif
.endif
|