/[gentoo-x86]/eclass/flag-o-matic.eclass
Gentoo

Diff of /eclass/flag-o-matic.eclass

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 1.86 Revision 1.87
1# Copyright 1999-2005 Gentoo Foundation 1# Copyright 1999-2005 Gentoo Foundation
2# Distributed under the terms of the GNU General Public License v2 2# Distributed under the terms of the GNU General Public License v2
3# $Header: /var/cvsroot/gentoo-x86/eclass/flag-o-matic.eclass,v 1.86 2005/04/28 20:06:00 solar Exp $ 3# $Header: /var/cvsroot/gentoo-x86/eclass/flag-o-matic.eclass,v 1.87 2005/06/24 22:06:19 vapier Exp $
4 4
5ECLASS=flag-o-matic 5ECLASS=flag-o-matic
6INHERITED="$INHERITED $ECLASS" 6INHERITED="$INHERITED $ECLASS"
7
8IUSE="debug"
9 7
10# need access to emktemp() 8# need access to emktemp()
11inherit eutils toolchain-funcs multilib 9inherit eutils toolchain-funcs multilib
12 10
13# 11#
79# C[XX]FLAGS that we allow in strip-flags 77# C[XX]FLAGS that we allow in strip-flags
80setup-allowed-flags() { 78setup-allowed-flags() {
81 if [[ -z ${ALLOWED_FLAGS} ]] ; then 79 if [[ -z ${ALLOWED_FLAGS} ]] ; then
82 export ALLOWED_FLAGS="-pipe" 80 export ALLOWED_FLAGS="-pipe"
83 export ALLOWED_FLAGS="${ALLOWED_FLAGS} -O -O0 -O1 -O2 -mcpu -march -mtune" 81 export ALLOWED_FLAGS="${ALLOWED_FLAGS} -O -O0 -O1 -O2 -mcpu -march -mtune"
84 export ALLOWED_FLAGS="${ALLOWED_FLAGS} -fstack-protector -fno-stack-protector" 82 export ALLOWED_FLAGS="${ALLOWED_FLAGS} -fstack-protector -fstack-protector-all"
83 export ALLOWED_FLAGS="${ALLOWED_FLAGS} -fbounds-checking -fno-bounds-checking"
85 export ALLOWED_FLAGS="${ALLOWED_FLAGS} -fno-pie -fno-unit-at-a-time" 84 export ALLOWED_FLAGS="${ALLOWED_FLAGS} -fno-pie -fno-unit-at-a-time"
86 export ALLOWED_FLAGS="${ALLOWED_FLAGS} -g -g0 -g1 -g2 -g3 -ggdb -ggdb0 -ggdb1 -ggdb2 -ggdb3" 85 export ALLOWED_FLAGS="${ALLOWED_FLAGS} -g -g0 -g1 -g2 -g3 -ggdb -ggdb0 -ggdb1 -ggdb2 -ggdb3"
87 case $(tc-arch) in
88 mips) ALLOWED_FLAGS="${ALLOWED_FLAGS} -mips1 -mips2 -mips3 -mips4 -mips32 -mips64 -mips16 -EL -EB -mabi" ;;
89 amd64) ALLOWED_FLAGS="${ALLOWED_FLAGS} -fPIC -m64" ;;
90 x86) ALLOWED_FLAGS="${ALLOWED_FLAGS} -m32" ;;
91 alpha) ALLOWED_FLAGS="${ALLOWED_FLAGS} -fPIC" ;;
92 ia64) ALLOWED_FLAGS="${ALLOWED_FLAGS} -fPIC" ;;
93 sparc) ALLOWED_FLAGS="${ALLOWED_FLAGS} -m32 -m64" ;;
94 ppc) ALLOWED_FLAGS="${ALLOWED_FLAGS} -mabi" ;;
95 esac
96 fi 86 fi
97 # allow a bunch of flags that negate features / control ABI 87 # allow a bunch of flags that negate features / control ABI
98 ALLOWED_FLAGS="${ALLOWED_FLAGS} -fno-stack-protector -fno-stack-protector-all" 88 ALLOWED_FLAGS="${ALLOWED_FLAGS} -fno-stack-protector -fno-stack-protector-all"
99 case $(tc-arch) in 89 ALLOWED_FLAGS="${ALLOWED_FLAGS} -mregparm -mno-app-regs -mapp-regs \
100 x86|amd64|ia64) ALLOWED_FLAGS="${ALLOWED_FLAGS} -mno-mmx -mno-sse -mno-sse2 -mno-sse3 -mno-3dnow" ;; 90 -mno-mmx -mno-sse -mno-sse2 -mno-sse3 -mno-3dnow \
101 esac 91 -mips1 -mips2 -mips3 -mips4 -mips32 -mips64 -mips16 \
102 ALLOWED_FLAGS="${ALLOWED_FLAGS} -mregparm -mno-app-regs -mapp-regs -msoft-float -mflat -mno-faster-structs -mfaster-structs -mlittle-endian -mbig-endian -mlive-g0 -mcmodel -mno-stack-bias -mstack-bias" 92 -msoft-float -mno-soft-float -mhard-float -mno-hard-float -mfpu \
93 -mflat -mno-flat -mno-faster-structs -mfaster-structs \
94 -m32 -m64 -mabi -mlittle-endian -mbig-endian -EL -EB -fPIC \
95 -mlive-g0 -mcmodel -mstack-bias -mno-stack-bias"
103 96
104 # C[XX]FLAGS that we are think is ok, but needs testing 97 # C[XX]FLAGS that we are think is ok, but needs testing
105 # NOTE: currently -Os have issues with gcc3 and K6* arch's 98 # NOTE: currently -Os have issues with gcc3 and K6* arch's
106 export UNSTABLE_FLAGS="-Os -O3 -freorder-blocks -fprefetch-loop-arrays" 99 export UNSTABLE_FLAGS="-Os -O3 -freorder-blocks -fprefetch-loop-arrays"
107 return 0 100 return 0
235 local NEW_CFLAGS="" 228 local NEW_CFLAGS=""
236 local NEW_CXXFLAGS="" 229 local NEW_CXXFLAGS=""
237 230
238 # Allow unstable C[XX]FLAGS if we are using unstable profile ... 231 # Allow unstable C[XX]FLAGS if we are using unstable profile ...
239 if has ~$(tc-arch) ${ACCEPT_KEYWORDS} ; then 232 if has ~$(tc-arch) ${ACCEPT_KEYWORDS} ; then
240 use debug && einfo "Enabling the use of some unstable flags"
241 ALLOWED_FLAGS="${ALLOWED_FLAGS} ${UNSTABLE_FLAGS}" 233 ALLOWED_FLAGS="${ALLOWED_FLAGS} ${UNSTABLE_FLAGS}"
242 fi 234 fi
243 235
244 set -f # disable pathname expansion 236 set -f # disable pathname expansion
245 237

Legend:
Removed from v.1.86  
changed lines
  Added in v.1.87

  ViewVC Help
Powered by ViewVC 1.1.20