#!/bin/sh # A trivial script to build with all known configurations # (please add a file in confifs/ to test your special case) T=$(mktemp /tmp/wrpc-config.XXXXXX) TW=$(mktemp /tmp/save-dotconfig-wrpc.XXXXXX) TP=$(mktemp /tmp/save-dotconfig-ppsi.XXXXXX) test -f .config && cp .config $TW test -f ppsi/.config && cp ppsi/.config $TP configs=$(cd configs; echo *_defconfig) if [ $# -ne 0 ]; then configs="$*" fi if ! [ -n "$size_db_file" ]; then size_db_file=size_db.txt echo "No file with size DB specified! Using default ($size_db_file)" fi if ! [ -n "$size_info_file" ]; then size_info_file=size_info.txt echo "No file with size info specified! Using default ($size_info_file)" fi export size_db_file export size_info_file rm -rf $size_info_file for c in $configs; do echo "##### Building with '$c'" make -s clean; rm ppsi/.config; touch ppsi/.config if ! make $c 2>&1 >> $T; then echo "Error in configuration (see $T)" exit 1 fi CONFIG_NAME=$c export CONFIG_NAME # Remove "# configuration written to .config" from output make -s | grep -v '^#' done make -s clean # Recover local configs cp $TW .config; rm $TW cp $TP ppsi/.config; rm $TP rm $T ./compare_size.sh GIT_HASH=`git log --format=format:%H -1` if [ -f "$size_db_file" ]; then cat "$size_db_file" | grep -v $GIT_HASH > "$size_db_file".tmp mv "$size_db_file".tmp "$size_db_file" fi cat "$size_info_file" >> "$size_db_file"