append-cflags() { export CFLAGS="${CFLAGS} $*" export CXXFLAGS="${CXXFLAGS} $*" return 0 } package-cflags() { local target flags flag i; # bail if file does not exist or is not readable. [ -r ${ROOT}/etc/portage/package.cflags ] || return 0 # need bash >= 3 if [ "${BASH_VERSINFO[0]}" -le 2 ]; then eecho "Need bash3 for this bashrc script to work" return 0 fi while read -a target; do if [[ ${target[@]%%#*} ]]; then # valid syntax no >=" ]]; then skip=0 if [[ ${target} != ${CATEGORY} ]] ; then if [[ ${target} != ${CATEGORY}/${PN} ]] ; then skip=1 fi fi if [ "${skip}" == 0 ] ; then flags=(${target[@]:1}) if [[ ${flags[@]} =~ 'CFLAGS' ]]; then for (( i = 0; i < ${#flags[@]}; i++ )); do if [[ ${flags[$i]} =~ 'CFLAGS' ]]; then appened-cflags $(eval echo "${flags[$i]}") unset flags[$i] fi done fi for flag in ${flags[@]}; do if [[ ${CFLAGS} =~ ${flag} ]]; then continue 1 else append-cflags "${flag}" fi done export -n C{,XX}FLAGS #eecho "Using package.cflags entry for target ${target} for ${CATEGORY}/${PN}" fi fi fi done < ${ROOT}/etc/portage/package.cflags }