| 1 | # Copyright 1999-2003 Gentoo Technologies, Inc. |
1 | # Copyright 1999-2004 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/makeedit.eclass,v 1.5 2003/02/16 04:26:21 vapier Exp $ |
3 | # $Header: /var/cvsroot/gentoo-x86/eclass/makeedit.eclass,v 1.10 2005/07/06 20:23:20 agriffis Exp $ |
| 4 | # |
4 | # |
| 5 | # Author: Spider |
5 | # Author: Spider |
| 6 | # |
6 | # |
| 7 | # makeedit eclass, will remove -Wreturn-type and -Wall from compiling, |
7 | # To use this eclass, do 2 things: |
| 8 | # this will reduce the RAM requirements. |
8 | # 1. append-flags "$MAKEEDIT_FLAGS". If you filter-flags, make sure to do |
|
|
9 | # the append-flags afterward, otherwise you'll lose them. |
|
|
10 | # 2. after running configure or econf, call edit_makefiles to remove |
|
|
11 | # extraneous CFLAGS from your Makefiles. |
|
|
12 | # |
|
|
13 | # This combination should reduce the RAM requirements of your build, and maybe |
|
|
14 | # even speed it up a bit. |
| 9 | |
15 | |
| 10 | # Debug ECLASS |
|
|
| 11 | ECLASS="makeedit" |
|
|
| 12 | INHERITED="$INHERITED $ECLASS" |
|
|
| 13 | |
16 | |
| 14 | export CFLAGS="${CFLAGS} -Wno-return-type -w" |
17 | MAKEEDIT_FLAGS="-Wno-return-type -w" |
| 15 | export CXXFLAGS="${CXXFLAGS} -Wno-return-type -w" |
|
|
| 16 | |
18 | |
| 17 | edit_makefiles () { |
19 | edit_makefiles() { |
| 18 | einfo "Parsing Makefiles..." |
|
|
| 19 | find . -iname makefile | while read MAKEFILE |
|
|
| 20 | do |
|
|
| 21 | cp ${MAKEFILE} ${MAKEFILE}.old |
|
|
| 22 | # We already add "-Wno-return-type -w" to compiler flags, so |
20 | # We already add "-Wno-return-type -w" to compiler flags, so |
| 23 | # no need to replace "-Wall" and "-Wreturn-type" with them. |
21 | # no need to replace "-Wall" and "-Wreturn-type" with them. |
|
|
22 | einfo "Parsing Makefiles ..." |
|
|
23 | find . -iname makefile -o -name \*.mk -o -name GNUmakefile -print0 | \ |
|
|
24 | xargs -0 sed -i \ |
| 24 | sed -e 's:-Wall::g' \ |
25 | -e 's:-Wall::g' \ |
| 25 | -e 's:-Wreturn-type::g' \ |
26 | -e 's:-Wreturn-type::g' \ |
| 26 | -e 's:-pedantic::g' ${MAKEFILE}.old > ${MAKEFILE} |
27 | -e 's:-pedantic::g' |
| 27 | rm -f ${MAKEFILE}.old |
|
|
| 28 | done |
|
|
| 29 | # Mozilla use .mk includes |
|
|
| 30 | find . -name '*.mk' | while read MAKEFILE |
|
|
| 31 | do |
|
|
| 32 | cp ${MAKEFILE} ${MAKEFILE}.old |
|
|
| 33 | sed -e 's:-Wall::g' \ |
|
|
| 34 | -e 's:-Wreturn-type::g' \ |
|
|
| 35 | -e 's:-pedantic::g' ${MAKEFILE}.old > ${MAKEFILE} |
|
|
| 36 | rm -f ${MAKEFILE}.old |
|
|
| 37 | done |
|
|
| 38 | } |
28 | } |