#! /bin/sh key= encs= comps= macs= kexs= hks= hashs= uas= for arg do case "$key" in "") key="$arg";; -e) encs="$encs $arg"; key=;; -c) comps="$comps $arg"; key=;; -m) macs="$macs $arg"; key=;; -x) kexs="$kexs $arg"; key=;; -k) hks="$hks $arg"; key=;; -h) hashs="$hashs $arg"; key=;; -u) uas="$uas $arg"; key=;; *) echo "$0"": $key"": unrecognized key" 1>&2 exit 1 ;; esac done echo '#include "algs.h"' for x in enc comp mac kex hk hash ua do X=`echo $x | tr a-z A-Z` eval 'for a in $'"$x""s; do echo extern $X""ALG $x"'alg_$a";"; done' echo $X'ALG *alglist_'$x'[] = {' eval 'for a in $'"$x""s; do echo '&'$x"'alg_$a,; done' echo '0};' done