#!/bin/sh # # This code contains changes by # Gunnar Ritter, Freiburg i. Br., Germany, 2002. All rights reserved. # # Conditions 1, 2, and 4 and the no-warranty notice below apply # to these changes. # # # Copyright (c) 1980, 1993 # The Regents of the University of California. All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions # are met: # 1. Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # 2. Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in the # documentation and/or other materials provided with the distribution. # 3. All advertising materials mentioning features or use of this software # must display the following acknowledgement: # This product includes software developed by the University of # California, Berkeley and its contributors. # 4. Neither the name of the University nor the names of its contributors # may be used to endorse or promote products derived from this software # without specific prior written permission. # # THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE # ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # # # Copyright(C) Caldera International Inc. 2001-2002. All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions # are met: # Redistributions of source code and documentation must retain the # above copyright notice, this list of conditions and the following # disclaimer. # Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in the # documentation and/or other materials provided with the distribution. # All advertising materials mentioning features or use of this software # must display the following acknowledgement: # This product includes software developed or owned by Caldera # International, Inc. # Neither the name of Caldera International, Inc. nor the names of # other contributors may be used to endorse or promote products # derived from this software without specific prior written permission. # # USE OF THE SOFTWARE PROVIDED FOR UNDER THIS LICENSE BY CALDERA # INTERNATIONAL, INC. AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR # IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE # ARE DISCLAIMED. IN NO EVENT SHALL CALDERA INTERNATIONAL, INC. BE # LIABLE FOR ANY DIRECT, INDIRECT INCIDENTAL, SPECIAL, EXEMPLARY, OR # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR # BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, # WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE # OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, # EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # # from makeoptions 6.4 (Berkeley) 5/31/85 # # @(#)makeoptions 1.8 (gritter) 7/1/02 # # # remake options -- this isn't necessary unless you add/delete options # trap "rm -f /tmp/ex_foo$$.c /tmp/ex_bar$$.c" 0 trap '' 2 cat < ex_data.c > /tmp/ex_bar$$.c ex -s /tmp/ex_bar$$.c <<\! g/^#include/d w q ! cc -E ${@+"$@"} /tmp/ex_bar$$.c >/tmp/ex_foo$$.c ex -s /tmp/ex_foo$$.c <<\! " delete all preprocessor output (# line, etc) g/^# /d set sh=/bin/sh " delete junk (all but data lines) g/^[ ]*$/d 1,/option options/d /};/-1,$d " get rid of all of line but option name 1,$s/[ ]*{[ ]*"// 1,$s/".*// " begin kludge since options start at 0 but nl starts at 1 " move first to end and later move it back and renumber 1m$ %!nl $t0 1s/[0-9][0-9]*/0/ " end kludge " make #define lines 1,$s/[ ]*\([0-9][0-9]*\)[ ]*\(.*\)/#define \U\2\L \1/ " filter through expand to make it line up nice %!expand -8\,24 " blank line and number of options. $i . $s/e[ ].*[ ]/e NOPTS / 0a /* sccs id @(#)ex_vars.h makeoptions 1.8 (gritter) 7/1/02 */ . w! ex_vars.h q !