calendar/libical/scripts/mkinclude.sh
author Tony Mechelynck <antoine.mechelynck@gmail.com>
Sun, 14 Aug 2011 07:40:00 +0200
changeset 8297 498b0870ae9f40eb91e5852b296dd1b1bdff1df6
parent 372 7c0bfdcda6731e77303f3c47b01736aaa93d5534
permissions -rw-r--r--
Bug 677905 - Add menuitem to "show all body parts" (followup to bug 564423, port bug 602718) r=IanN sr=Mnyromyr ui-r=Neil

#!/bin/sh

#
# Given a list of headers, combine them into one, excluding certain lines
#
OUTFILE="/dev/stdout"
COMBINEDHEADERS=""
EXCLUDES=""

while [ $# -gt 0 ]
do
  case $1 in
      -o)  OUTFILE=$2; shift;;
      -e)  EXCLUDES="$EXCLUDES $2"; shift;;
      *)   COMBINEDHEADERS="$COMBINEDHEADERS $1";
  esac
  shift
done

echo '#ifdef __cplusplus'         > $OUTFILE
echo 'extern "C" {'               >> $OUTFILE
echo '#endif'                     >> $OUTFILE
echo '/*'                         >> $OUTFILE
echo " \$Id\$"                    >> $OUTFILE
echo '*/'                         >> $OUTFILE
cat $COMBINEDHEADERS              >> file.temp1
for exclude in $EXCLUDES
do
  cp file.temp1 file.temp2
  egrep -v "$exclude" file.temp2    > file.temp1
done
cat file.temp1 >> $OUTFILE
rm -f file.temp1
rm -f file.temp2
echo '#ifdef __cplusplus'         >> $OUTFILE
echo '};'                         >> $OUTFILE
echo '#endif'                     >> $OUTFILE