diff options
Diffstat (limited to 'makeoptions')
-rw-r--r-- | makeoptions | 123 |
1 files changed, 123 insertions, 0 deletions
diff --git a/makeoptions b/makeoptions new file mode 100644 index 0000000..d29746a --- /dev/null +++ b/makeoptions @@ -0,0 +1,123 @@ +#!/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 +! |