#!/bin/sh # # We expect warning options for gcc as argumenst and return the ones which are accepted # by the given gcc. # # $Id: gcc-warnings,v 1.4 2007/10/13 14:51:32 bernd67 Exp $ set -ue #set -vx OPTS="" for param; do case "$param" in -[fW]?*) OPTS="$OPTS $param";; *) echo "Ignoring $param" >&2 esac done testcompile() { $CC $OPTS -E - 2>&1 <<- EOF int main(void) { return 0; } EOF } parsetest() { while read error; do case "$error" in *error:\ unrecognized\ *option*) opt="${error#*\`}" opt="${opt%\'*}" opt="${error#*\"}" opt="${opt%\"*}" OPTS=`echo $OPTS | sed -e s/$opt//g` ;; esac done echo $OPTS } testcompile | parsetest exit 0