Gentoo Archives: gentoo-dev

From: Ciaran McCreesh <ciaranm@g.o>
To: gentoo-dev@l.g.o
Subject: [gentoo-dev] Proper CFLAGS handling
Date: Sun, 01 Aug 2004 00:18:52
Message-Id: 20040801011610.2f59bcb1@snowdrop.home
1 Please don't include "unset CFLAGS" in your ebuilds. This will cause all
2 sorts of nastiness to happen. For example, you'll end up generating v7
3 code for v9 SPARCs, which involves massive amounts of kernel emulation
4 and so is reaaaallly slow, and you'll utterly b0rk anything system which
5 needs ABI options included in CFLAGS.
6
7 Similarly, don't ignore user CFLAGS. I don't care whether your upstream
8 wants everyone to use -ffast-math, especially if they're forcing us to
9 run v7 FP code emulated on a v9 CPU. Or big endian code on a little
10 endian CPU. aceB,esu ay wonkht ,s'tasuj on tog t annkrow...
11
12 Use flag-o-matic's strip-flags instead. It's not perfect, but it's far
13 less likely to break things. When it *does* break things, we can usually
14 fix it globally rather than having to sed the whole tree.
15
16 Oh, yeah, I know some bootloaders probably have to do fancy stuff.
17 They're excluded :)
18
19 This rant brought to you by the "one of vim7's new deps does this and so
20 will probably have to be USE.mask'ed on most archs" department.
21
22 (Quick list of possible offending packages brought to you by a quick
23 grep which may miss stuff and may be lying:
24 app-editors/emacs-cvs
25 app-emulation/hercules
26 app-emulation/wine
27 app-office/lyx
28 app-text/ggv
29 dev-java/sun-j2sdk
30 dev-lang/gauche
31 dev-lang/swig
32 dev-lang/wml
33 dev-lisp/clisp
34 dev-lisp/mzscheme (*cough* <-- that one *cough*)
35 dev-scheme/gauche-gl
36 dev-scheme/gauche-gtk
37 dev-util/xmingw-gcc
38 dev-util/xmingw-runtime
39 dev-util/xmingw-w32api
40 games-emulation/nwwine
41 media-libs/libdv
42 media-libs/libdvdcss
43 media-libs/xine-lib
44 media-sound/glame
45 media-video/avifile
46 media-video/drip
47 media-video/mplayer
48 net-fs/coda-kernel
49 net-irc/eggdrop
50 net-www/apache
51 net-www/junkbuster
52 sys-apps/busybox
53 sys-apps/tcng
54 sys-apps/tinylogin
55 sys-boot/grub
56 sys-devel/kgcc
57 )
58
59 --
60 Ciaran McCreesh : Gentoo Developer (Sparc, MIPS, Vim, Fluxbox)
61 Mail : ciaranm at gentoo.org
62 Web : http://dev.gentoo.org/~ciaranm