Imported from ../bash-1.14.7.tar.gz.
This commit is contained in:
commit
726f63884d
402 changed files with 150297 additions and 0 deletions
22
support/PORTING
Normal file
22
support/PORTING
Normal file
|
@ -0,0 +1,22 @@
|
|||
if _mkfifo cannot be found, add "-DMKFIFO_MISSING" to SYSDEP_CFLAGS in
|
||||
your machine's entry in machines.h.
|
||||
|
||||
If bash compiles, but hangs when executing a non-builtin, there is a
|
||||
problem with the defines in your /usr/include/sys/wait.h. If you
|
||||
don't have one, there is a problem in our defines. At any rate,
|
||||
perhaps you have a partially POSIX system, instead of a fully
|
||||
operational one. Try defining _POSIX_SOURCE just before the inclusion
|
||||
of <sys/wait.h> in jobs.h, and then undefining it immediately after
|
||||
the inclusion.
|
||||
|
||||
Finding out if your system has something (like setpgid, for example)
|
||||
You can always do "nm -o /lib/*.a | grep setpgid". If an entry for
|
||||
the function appears, you have it, and you might have to link with
|
||||
that library by adding "#defined REQUIRED_LIBRARIES -lfoo" to the
|
||||
entry in machines.h.
|
||||
|
||||
If you seem to be going around in circles, and they are related to
|
||||
job control and posixness, try #undef HAVE_UNISTD_H in the entry for
|
||||
your machine in machines.h. This can work by keeping unistd.h from
|
||||
defining _POSIX_VERSION, which in turn prevents bash from assuming
|
||||
full Posix semantics.
|
23
support/SYMLINKS
Normal file
23
support/SYMLINKS
Normal file
|
@ -0,0 +1,23 @@
|
|||
#
|
||||
# symlink map for bash source tree
|
||||
#
|
||||
# link name link target
|
||||
#
|
||||
lib/readline/doc/texindex.c ../../doc-support/texindex.c
|
||||
#
|
||||
lib/readline/tilde.c ../tilde/tilde.c
|
||||
lib/readline/tilde.h ../tilde/tilde.h
|
||||
lib/readline/posixstat.h ../posixheaders/posixstat.h
|
||||
lib/readline/ansi_stdlib.h ../posixheaders/ansi_stdlib.h
|
||||
lib/readline/memalloc.h ../posixheaders/memalloc.h
|
||||
lib/readline/xmalloc.c ../malloc/xmalloc.c
|
||||
#
|
||||
lib/tilde/memalloc.h ../posixheaders/memalloc.h
|
||||
#
|
||||
lib/doc-support/getopt.h ../../builtins/getopt.h
|
||||
#
|
||||
posixstat.h lib/posixheaders/posixstat.h
|
||||
ansi_stdlib.h lib/posixheaders/ansi_stdlib.h
|
||||
stdc.h lib/posixheaders/stdc.h
|
||||
memalloc.h lib/posixheaders/memalloc.h
|
||||
filecntl.h lib/posixheaders/filecntl.h
|
59
support/bash.xbm
Normal file
59
support/bash.xbm
Normal file
|
@ -0,0 +1,59 @@
|
|||
From: Simon Marshall <sm2@sequent.cc.hull.ac.uk>
|
||||
Date: Wed, 8 May 91 17:15:58 +0100
|
||||
To: bug-bash@ai.mit.edu
|
||||
Subject: X bitmap for bash
|
||||
|
||||
Since other GNU software comes with its very own X bitmap, I
|
||||
thought it was about time bash had one too & here it is! To use,
|
||||
stick the stuff after my signature in a file <path>/bash.xbm. If
|
||||
using a twm window manager, insert the lines:
|
||||
|
||||
IconDirectory "<path>"
|
||||
Icons {
|
||||
"<xterm title>" "bash.xbm"
|
||||
}
|
||||
in your ~/.twmrc file. The <xterm title> can be a prefix, so if
|
||||
you have titles "bash@machine", the prefix "bash" will do. I'm not
|
||||
familiar enough with other window managers, but they should be
|
||||
similar.
|
||||
|
||||
If you like it, you're welcome to it...
|
||||
|
||||
Simon.
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#define bash_width 64
|
||||
#define bash_height 48
|
||||
static char bash_bits[] = {
|
||||
0x00, 0x60, 0x06, 0x30, 0x04, 0x00, 0x00, 0x00, 0x60, 0x98, 0x01, 0x40,
|
||||
0x03, 0x00, 0x00, 0x00, 0x19, 0x00, 0xa0, 0x80, 0x80, 0xff, 0x00, 0x00,
|
||||
0x06, 0x00, 0x1c, 0x03, 0xe1, 0x5f, 0x03, 0x00, 0x02, 0x00, 0x22, 0x0c,
|
||||
0x5d, 0xf4, 0x0e, 0x00, 0xe1, 0x02, 0x09, 0x19, 0x17, 0x91, 0x3d, 0x00,
|
||||
0xf8, 0x87, 0x40, 0x90, 0x88, 0x88, 0x6e, 0x00, 0x8e, 0x9b, 0x04, 0x62,
|
||||
0x22, 0x22, 0xd6, 0x00, 0x02, 0xee, 0x4c, 0x68, 0x44, 0x44, 0x6c, 0x01,
|
||||
0x02, 0xf8, 0xa1, 0x4a, 0x11, 0x11, 0xb1, 0x02, 0x05, 0xa0, 0x22, 0xe0,
|
||||
0x88, 0x88, 0x68, 0x03, 0x42, 0x50, 0x5d, 0x40, 0x22, 0x22, 0xa2, 0x05,
|
||||
0x11, 0x81, 0x00, 0x44, 0x44, 0x44, 0x44, 0x07, 0x02, 0x20, 0x84, 0x60,
|
||||
0x11, 0x11, 0xd1, 0x0d, 0x02, 0x0a, 0x02, 0xc0, 0x88, 0x88, 0x48, 0x0b,
|
||||
0x44, 0x40, 0x00, 0x42, 0x22, 0x22, 0xa2, 0x1d, 0x24, 0x08, 0x02, 0x64,
|
||||
0x44, 0x44, 0xc4, 0x1a, 0x08, 0x00, 0x20, 0x20, 0x11, 0x11, 0x91, 0x15,
|
||||
0x88, 0x00, 0x00, 0xe1, 0xff, 0xff, 0xff, 0x1a, 0x10, 0x08, 0x22, 0x10,
|
||||
0x00, 0x00, 0xc0, 0x15, 0x31, 0x40, 0x00, 0xf2, 0x03, 0xc0, 0xc1, 0x1a,
|
||||
0x41, 0x24, 0x48, 0x6c, 0x06, 0x80, 0xc1, 0x15, 0x82, 0x01, 0x00, 0x66,
|
||||
0x06, 0x80, 0xc1, 0x1a, 0x04, 0x22, 0x12, 0x67, 0x06, 0x80, 0xc1, 0x15,
|
||||
0x0a, 0x04, 0xe0, 0x66, 0xe6, 0xb8, 0xc7, 0x1a, 0x09, 0xf0, 0x17, 0xee,
|
||||
0xb3, 0xa5, 0xcf, 0x15, 0x30, 0x00, 0x00, 0x6e, 0x86, 0x8d, 0xcd, 0x1a,
|
||||
0x00, 0x01, 0x80, 0x67, 0xe6, 0xbd, 0xcd, 0x15, 0x00, 0x46, 0x40, 0x66,
|
||||
0xb6, 0xb1, 0xcd, 0x1a, 0x00, 0x38, 0x3c, 0x66, 0xb6, 0xa5, 0xcd, 0x15,
|
||||
0x00, 0x00, 0x02, 0xf6, 0xe3, 0x9d, 0xdd, 0x1a, 0x00, 0x04, 0x60, 0x06,
|
||||
0x00, 0x00, 0xc0, 0x15, 0x00, 0x04, 0x40, 0xfe, 0xff, 0xff, 0xff, 0x1a,
|
||||
0x00, 0x02, 0x80, 0x12, 0x11, 0x11, 0x91, 0x15, 0x00, 0x00, 0x00, 0x8a,
|
||||
0x88, 0x88, 0x88, 0x1a, 0x00, 0x00, 0x00, 0x22, 0x22, 0x22, 0xa2, 0x15,
|
||||
0x00, 0x00, 0x00, 0x46, 0x44, 0x44, 0xc4, 0x9a, 0x00, 0x00, 0x00, 0x12,
|
||||
0x11, 0x11, 0x91, 0xb5, 0x00, 0x00, 0x10, 0x8a, 0x88, 0x88, 0x88, 0xba,
|
||||
0x00, 0x00, 0x10, 0x22, 0x22, 0x22, 0xa2, 0xd5, 0x00, 0x00, 0x30, 0xc6,
|
||||
0x44, 0x44, 0xcc, 0xdf, 0x00, 0x20, 0x39, 0x96, 0x15, 0x51, 0x99, 0xf5,
|
||||
0x80, 0xf2, 0x56, 0x8b, 0x9a, 0xea, 0x9b, 0xff, 0xc1, 0xad, 0x5e, 0xaf,
|
||||
0xbb, 0xfa, 0xba, 0xdf, 0x22, 0x9b, 0xae, 0xd7, 0x54, 0x5d, 0xd7, 0xbf,
|
||||
0x3b, 0x32, 0xce, 0xff, 0xff, 0xff, 0xff, 0xab, 0xae, 0x2b, 0x59, 0xaf,
|
||||
0xd4, 0xae, 0x2e, 0xc3, 0xdd, 0x43, 0xa9, 0xd1, 0xba, 0xae, 0x2c, 0xcd};
|
84
support/bashbug.sh
Normal file
84
support/bashbug.sh
Normal file
|
@ -0,0 +1,84 @@
|
|||
#!/bin/sh -
|
||||
#
|
||||
# bashbug - create a bug report and mail it to bug-bash@prep.ai.mit.edu
|
||||
#
|
||||
# configuration section:
|
||||
# these variables are filled in by the make target in cpp-Makefile
|
||||
#
|
||||
MACHINE="@MACHINE@"
|
||||
OS="@OS@"
|
||||
CC="@CC@"
|
||||
CFLAGS="@CFLAGS@"
|
||||
RELEASE="@RELEASE@"
|
||||
PATCHLEVEL="@PATCHLEVEL@"
|
||||
|
||||
PATH=/bin:/usr/bin:usr/local/bin:$PATH
|
||||
export PATH
|
||||
|
||||
TEMP=/tmp/bashbug.$$
|
||||
|
||||
BUGADDR=${1-bug-bash@prep.ai.mit.edu}
|
||||
|
||||
: ${EDITOR=emacs}
|
||||
|
||||
trap 'rm -f $TEMP $TEMP.x; exit 1' 1 2 3 13 15
|
||||
trap 'rm -f $TEMP $TEMP.x' 0
|
||||
|
||||
UN=
|
||||
if (uname) >/dev/null 2>&1; then
|
||||
UN=`uname -a`
|
||||
fi
|
||||
|
||||
if [ -f /usr/lib/sendmail ] ; then
|
||||
RMAIL="/usr/lib/sendmail"
|
||||
elif [ -f /usr/sbin/sendmail ] ; then
|
||||
RMAIL="/usr/sbin/sendmail"
|
||||
else
|
||||
RMAIL=rmail
|
||||
fi
|
||||
|
||||
cat > $TEMP <<EOF
|
||||
From: ${USER}
|
||||
To: ${BUGADDR}
|
||||
Subject: [50 character or so descriptive subject here (for reference)]
|
||||
|
||||
Configuration Information [Automatically generated, do not change]:
|
||||
Machine: $MACHINE
|
||||
OS: $OS
|
||||
Compiler: $CC
|
||||
Compilation CFLAGS: $CFLAGS
|
||||
uname output: $UN
|
||||
|
||||
Bash Version: $RELEASE
|
||||
Patch Level: $PATCHLEVEL
|
||||
|
||||
Description:
|
||||
[Detailed description of the problem, suggestion, or complaint.]
|
||||
|
||||
Repeat-By:
|
||||
[Describe the sequence of events that causes the problem
|
||||
to occur.]
|
||||
|
||||
Fix:
|
||||
[Description of how to fix the problem. If you don't know a
|
||||
fix for the problem, don't include this section.]
|
||||
EOF
|
||||
|
||||
chmod u+w $TEMP
|
||||
cp $TEMP $TEMP.x
|
||||
|
||||
if $EDITOR $TEMP
|
||||
then
|
||||
if cmp -s $TEMP $TEMP.x
|
||||
then
|
||||
echo "File not changed, no bug report submitted."
|
||||
exit
|
||||
fi
|
||||
|
||||
${RMAIL} $BUGADDR < $TEMP || {
|
||||
cat $TEMP >> $HOME/dead.bashbug
|
||||
echo "$0: mail failed: report saved in $HOME/dead.bashbug" >&2
|
||||
}
|
||||
fi
|
||||
|
||||
exit 0
|
16
support/cat-s
Normal file
16
support/cat-s
Normal file
|
@ -0,0 +1,16 @@
|
|||
# This awk script is called from within Makefile to strip multiple blank
|
||||
# lines from stdin.
|
||||
BEGIN { newlines = 0 }
|
||||
{
|
||||
if (NF == 0)
|
||||
newlines = 1;
|
||||
else
|
||||
{
|
||||
if (newlines)
|
||||
{
|
||||
printf "\n";
|
||||
newlines = 0;
|
||||
}
|
||||
print $0;
|
||||
}
|
||||
}
|
95
support/clone-bash
Executable file
95
support/clone-bash
Executable file
|
@ -0,0 +1,95 @@
|
|||
#! /bin/sh
|
||||
#
|
||||
#
|
||||
src=src
|
||||
case "$1" in
|
||||
-s) shift; src=$1; shift ;;
|
||||
esac
|
||||
|
||||
if [ ! -d $1 ]; then
|
||||
mkdir $1
|
||||
fi
|
||||
|
||||
prog=`basename $0`
|
||||
|
||||
echo "${prog}: creating clone of bash source tree (from $src) in $1"
|
||||
|
||||
case $src in
|
||||
/*) abs=yes ;;
|
||||
esac
|
||||
|
||||
d=${PWD-`pwd`}
|
||||
|
||||
cd $1 || { echo "$0: cannot cd to $1" ; exit 1; }
|
||||
|
||||
d=$d/$1
|
||||
|
||||
SUBDIRS="CWRU builtins documentation examples support tests"
|
||||
LIBDIRS="malloc termcap glob readline tilde malloclib posixheaders doc-support"
|
||||
CWRUDIRS="misc"
|
||||
|
||||
mkdir $SUBDIRS
|
||||
for i in $SUBDIRS
|
||||
do
|
||||
cd $i
|
||||
case "$abs" in
|
||||
yes) ln -s $src/$i/* . ;;
|
||||
*) ln -s ../../$src/$i/* . ;;
|
||||
esac
|
||||
echo -n $i..
|
||||
cd ..
|
||||
done
|
||||
cd $d
|
||||
|
||||
cd CWRU
|
||||
for i in $CWRUDIRS
|
||||
do
|
||||
rm -f $i
|
||||
mkdir $i
|
||||
cd $i
|
||||
case "$abs" in
|
||||
yes) ln -s $src/CWRU/$i/* . ;;
|
||||
*) ln -s ../../../$src/CWRU/$i/* . ;;
|
||||
esac
|
||||
echo -n "CWRU/$i.."
|
||||
cd ..
|
||||
done
|
||||
cd $d
|
||||
|
||||
if [ ! -d lib ] ; then
|
||||
mkdir lib
|
||||
fi
|
||||
|
||||
cd lib
|
||||
mkdir $LIBDIRS
|
||||
|
||||
for i in $LIBDIRS
|
||||
do
|
||||
cd $i
|
||||
case "$abs" in
|
||||
yes) ln -s $src/lib/$i/* . ;;
|
||||
*) ln -s ../../../$src/lib/$i/* . ;;
|
||||
esac
|
||||
echo -n "lib/$i.."
|
||||
cd ..
|
||||
done
|
||||
|
||||
cd $d
|
||||
|
||||
case "$abs" in
|
||||
yes) ln -s $src/.[a-z]* . ; ln -s $src/* . 2>&1 | grep -v exists ;;
|
||||
*) ln -s ../$src/.[a-z]* . ; ln -s ../$src/* . 2>&1 | grep -v exists ;;
|
||||
esac
|
||||
|
||||
echo -n src..
|
||||
|
||||
SPECIAL="parser-built y.tab.h y.tab.c"
|
||||
for x in $SPECIAL
|
||||
do
|
||||
rm -f $x
|
||||
cp ../$src/$x .
|
||||
done
|
||||
|
||||
echo special
|
||||
|
||||
exit 0
|
51
support/cppmagic
Executable file
51
support/cppmagic
Executable file
|
@ -0,0 +1,51 @@
|
|||
#!/bin/sh
|
||||
# Return a full cpp specification, complete with system dependent flags.
|
||||
#
|
||||
# Syntax: cppmagic [ program-to-generate-flags [ guessed-cpp ]]
|
||||
#
|
||||
# If only one arg is present it is the name of a program to invoke
|
||||
# which should generate -Dfoo defines.
|
||||
#
|
||||
# If two args are present the second arg is the name of the C
|
||||
# preprocessor to use.
|
||||
#
|
||||
# Invoked with no args, provides a C preprocessor name and
|
||||
# -traditional flag if that is appropriate.
|
||||
#
|
||||
# ../Makefile calls this file thusly: "cppmagic getcppsyms".
|
||||
#
|
||||
# Typical output:
|
||||
#
|
||||
# /lib/cpp -Dunix -Dm68k
|
||||
#
|
||||
|
||||
Cpp=
|
||||
|
||||
if [ "$2" ]; then
|
||||
Cpp=$2
|
||||
else
|
||||
for cpp in /lib/cpp /usr/lib/cpp /usr/ccs/lib/cpp; do
|
||||
if [ -f $cpp ]; then
|
||||
Cpp=$cpp
|
||||
fi
|
||||
done
|
||||
if [ "$Cpp" = "" ]; then
|
||||
Cpp=cpp
|
||||
fi
|
||||
fi
|
||||
|
||||
TRADITIONAL=
|
||||
FLAGS=
|
||||
|
||||
# First flag might be `-traditional' if this is Gnu Cpp.
|
||||
unknown_flag=`$Cpp -traditional /dev/null 2>&1 |
|
||||
egrep 'known|recognized|valid|bad|legal'`
|
||||
if [ "$unknown_flag" = "" ]; then
|
||||
TRADITIONAL=-traditional
|
||||
fi
|
||||
|
||||
if [ "$1" ]; then
|
||||
FLAGS=`$1`
|
||||
fi
|
||||
|
||||
echo $Cpp $TRADITIONAL $FLAGS
|
61
support/fixlinks
Executable file
61
support/fixlinks
Executable file
|
@ -0,0 +1,61 @@
|
|||
#! /bin/sh
|
||||
#
|
||||
# fixlinks - make symlinks in the bash source tree so that there is
|
||||
# exactly one version of any given source file.
|
||||
#
|
||||
#
|
||||
|
||||
SRCDIR=.
|
||||
while [ $# -gt 0 ]; do
|
||||
case "$1" in
|
||||
-s) shift; SRCDIR=$1 ;;
|
||||
-u) unfix=yes ;;
|
||||
-*) echo "$0: $1: bad option" 1>&2
|
||||
echo "$0: usage: $0 [-u] [-s srcdir] [linkmap]" 1>&2
|
||||
exit 1;;
|
||||
*) break ;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
if [ ! -d $SRCDIR/builtins ]; then
|
||||
echo "$0: must be run with valid -s argument or from source directory" 1>&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ $# -eq 0 ]; then
|
||||
linkfile=$SRCDIR/support/SYMLINKS
|
||||
else
|
||||
linkfile=$1
|
||||
fi
|
||||
|
||||
if [ ! -f "$linkfile" ]; then
|
||||
echo "$0: symlink map file \`$linkfile' does not exist"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
rm -f /tmp/z
|
||||
if (ln -s /dev/null /tmp/z) >/dev/null 2>&1; then
|
||||
LN="ln -s"
|
||||
else
|
||||
LN=ln
|
||||
fi
|
||||
|
||||
while read name target
|
||||
do
|
||||
case "$name" in
|
||||
\#*) continue;;
|
||||
esac
|
||||
|
||||
rm -f $name
|
||||
case "$unfix" in
|
||||
yes) dirname=`expr "$name" ':' '^\(.*\)/[^/]*'`
|
||||
[ -z "$dirname" ] && dirname=.
|
||||
cp $dirname/$target $name
|
||||
echo $target copied to $name ;;
|
||||
*) $LN $target $name ; echo "$name -> $target" ;;
|
||||
esac
|
||||
|
||||
done < $linkfile
|
||||
|
||||
exit 0
|
428
support/getcppsyms.c
Normal file
428
support/getcppsyms.c
Normal file
|
@ -0,0 +1,428 @@
|
|||
/* getcppsyms.c - Find unique compiler symbols. */
|
||||
|
||||
/* Copyright (C) 1993 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Bash, the Bourne Again SHell.
|
||||
|
||||
Bash is free software; you can redistribute it and/or modify it under
|
||||
the terms of the GNU General Public License as published by the Free
|
||||
Software Foundation; either version 2, or (at your option) any later
|
||||
version.
|
||||
|
||||
Bash is distributed in the hope that it will be useful, but WITHOUT ANY
|
||||
WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License along
|
||||
with Bash; see the file COPYING. If not, write to the Free Software
|
||||
Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
|
||||
|
||||
/* Some cpp's do not define any symbols, but instead let /bin/cc do it
|
||||
for them. For such machines, running this file may prove useful. It
|
||||
outputs the list of symbols which /bin/cc or /lib/cpp define and which
|
||||
we had the foresight to guess at. */
|
||||
|
||||
#include <stdio.h>
|
||||
main ()
|
||||
{
|
||||
#if defined (__BSD_4_4__)
|
||||
printf ("-D__BSD_4_4__");
|
||||
#endif /* __BSD_4_4__ */
|
||||
#if defined (CMU)
|
||||
printf (" -DCMU");
|
||||
#endif /* CMU */
|
||||
#if defined (_COFF)
|
||||
printf (" -D_COFF");
|
||||
#endif /* _COFF */
|
||||
#if defined (DGUX)
|
||||
printf (" -DDGUX");
|
||||
#endif /* DGUX */
|
||||
#if defined (GOULD_PN)
|
||||
printf (" -DGOULD_PN");
|
||||
#endif /* GOULD_PN */
|
||||
#if defined (MACH)
|
||||
printf (" -DMACH");
|
||||
#endif /* MACH */
|
||||
#if defined (MIPSEB)
|
||||
printf (" -DMIPSEB");
|
||||
#endif /* MIPSEB */
|
||||
#if defined (MIPSEL)
|
||||
printf (" -DMIPSEL");
|
||||
#endif /* MIPSEL */
|
||||
#if defined (MULTIMAX)
|
||||
printf (" -DMULTIMAX");
|
||||
#endif /* MULTIMAX */
|
||||
#if defined (M_UNIX)
|
||||
printf (" -DM_UNIX");
|
||||
#endif /* M_UNIX */
|
||||
#if defined (M_XENIX)
|
||||
printf (" -DM_XENIX");
|
||||
#endif /* M_XENIX */
|
||||
#if defined (_M_XENIX)
|
||||
printf (" -D_M_XENIX");
|
||||
#endif /* _M_XENIX */
|
||||
#if defined (NeXT)
|
||||
printf (" -DNeXT");
|
||||
#endif /* NeXT */
|
||||
#if defined (__PARAGON__)
|
||||
printf (" -D__PARAGON__");
|
||||
#endif /* __PARAGON__ */
|
||||
#if defined (_PGC_)
|
||||
printf (" -D_PGC_");
|
||||
#endif /* _PGC_ */
|
||||
#if defined (__PGC__)
|
||||
printf (" -D__PGC__");
|
||||
#endif /* __PGC__ */
|
||||
#if defined (RES)
|
||||
printf (" -DRES");
|
||||
#endif /* RES */
|
||||
#if defined (RISC6000)
|
||||
printf (" -DRISC6000");
|
||||
#endif /* RISC6000 */
|
||||
#if defined (RT)
|
||||
printf (" -DRT");
|
||||
#endif /* RT */
|
||||
#if defined (SYSTYPE_BSD)
|
||||
printf (" -DSYSTYPE_BSD");
|
||||
#endif /* SYSTYPE_BSD */
|
||||
#if defined (SYSTYPE_SYSV)
|
||||
printf (" -DSYSTYPE_SYSV");
|
||||
#endif /* SYSTYPE_SYSV */
|
||||
#if defined (Sun386i)
|
||||
printf (" -DSun386i");
|
||||
#endif /* Sun386i */
|
||||
#if defined (Tek4132)
|
||||
printf (" -DTek4132");
|
||||
#endif /* Tek4132 */
|
||||
#if defined (Tek4300)
|
||||
printf (" -DTek4300");
|
||||
#endif /* Tek4300 */
|
||||
#if defined (UMAXV)
|
||||
printf (" -DUMAXV");
|
||||
#endif /* UMAXV */
|
||||
#if defined (USGr4)
|
||||
printf (" -DUSGr4");
|
||||
#endif /* USGr4 */
|
||||
#if defined (USGr4_2)
|
||||
printf (" -DUSGr4_2");
|
||||
#endif /* USGr4_2 */
|
||||
#if defined (__SVR4_2__)
|
||||
printf (" -D__SVR4_2__");
|
||||
#endif /* __SVR4_2__ */
|
||||
#if defined (Xenix286)
|
||||
printf (" -DXenix286");
|
||||
#endif /* Xenix286 */
|
||||
#if defined (_AIX)
|
||||
printf (" -D_AIX");
|
||||
#endif /* _AIX */
|
||||
#if defined (_AIX370)
|
||||
printf (" -D_AIX370");
|
||||
#endif /* _AIX370 */
|
||||
#if defined (_IBMESA)
|
||||
printf (" -D_IBMESA");
|
||||
#endif /* _IBMESA */
|
||||
#if defined (__ibmesa)
|
||||
printf (" -D__ibmesa");
|
||||
#endif /* __ibmesa */
|
||||
#if defined (_U370)
|
||||
printf (" -D_U370");
|
||||
#endif /* _U370 */
|
||||
#if defined (_NLS)
|
||||
printf (" -D_NLS");
|
||||
#endif /* _NLS */
|
||||
#if defined (_CX_UX)
|
||||
printf (" -D_CX_UX");
|
||||
#endif /* _CX_UX */
|
||||
#if defined (_IBMR2)
|
||||
printf (" -D_IBMR2");
|
||||
#endif /* _IBMR2 */
|
||||
#if defined (_M88K)
|
||||
printf (" -D_M88K");
|
||||
#endif /* _M88K */
|
||||
#if defined (_M88KBCS_TARGET)
|
||||
printf (" -D_M88KBCS_TARGET");
|
||||
#endif /* _M88KBCS_TARGET */
|
||||
#if defined (__DGUX__)
|
||||
printf (" -D__DGUX__");
|
||||
#endif /* __DGUX__ */
|
||||
#if defined (__UMAXV__)
|
||||
printf (" -D__UMAXV__");
|
||||
#endif /* __UMAXV__ */
|
||||
#if defined (__m88k)
|
||||
printf (" -D__m88k");
|
||||
#endif /* __m88k */
|
||||
#if defined (__uxpm__)
|
||||
printf (" -DUSGr4 -Du370 -D__uxpm__");
|
||||
#endif /* __uxpm__ */
|
||||
#if defined (__uxps__)
|
||||
printf (" -D__svr4__ -D__uxps__");
|
||||
#endif /* __uxps__ */
|
||||
#if defined (alliant)
|
||||
printf (" -Dalliant");
|
||||
#endif /* alliant */
|
||||
#if defined (alpha)
|
||||
printf (" -Dalpha");
|
||||
#endif /* alpha */
|
||||
#if defined (__alpha)
|
||||
printf (" -D__alpha");
|
||||
#endif /* __alpha */
|
||||
#if defined (aix)
|
||||
printf (" -Daix");
|
||||
#endif /* aix */
|
||||
#if defined (aixpc)
|
||||
printf (" -Daixpc");
|
||||
#endif /* aixpc */
|
||||
#if defined (apollo)
|
||||
printf (" -Dapollo");
|
||||
#endif /* apollo */
|
||||
#if defined (ardent)
|
||||
printf (" -Dardent");
|
||||
#endif /* ardent */
|
||||
#if defined (att386)
|
||||
printf (" -Datt386");
|
||||
#endif /* att386 */
|
||||
#if defined (att3b)
|
||||
printf (" -Datt3b");
|
||||
#endif /* att3b */
|
||||
#if defined (bsd4_2)
|
||||
printf (" -Dbsd4_2");
|
||||
#endif /* bsd4_2 */
|
||||
#if defined (bsd4_3)
|
||||
printf (" -Dbsd4_3");
|
||||
#endif /* bsd4_3 */
|
||||
#if defined (__bsdi__)
|
||||
printf (" -D__bsdi__");
|
||||
#endif /* __bsdi__ */
|
||||
#if defined (bsdi)
|
||||
printf (" -Dbsdi");
|
||||
#endif /* bsdi */
|
||||
#if defined (__386BSD__)
|
||||
printf (" -D__386BSD__");
|
||||
#endif /* __386BSD__ */
|
||||
#if defined (cadmus)
|
||||
printf (" -Dcadmus");
|
||||
#endif /* cadmus */
|
||||
#if defined (clipper)
|
||||
printf (" -Dclipper");
|
||||
#endif /* clipper */
|
||||
#if defined (concurrent)
|
||||
printf (" -Dconcurrent");
|
||||
#endif /* concurrent */
|
||||
#if defined (convex) || defined (__convex__) || defined (__convexc__)
|
||||
# if !defined (__GNUC__)
|
||||
printf (" -pcc");
|
||||
# endif /* !__GNUC__ */
|
||||
printf (" -Dconvex");
|
||||
#endif /* convex */
|
||||
#if defined (dmert)
|
||||
printf (" -Ddmert");
|
||||
#endif /* dmert */
|
||||
#if defined (gcos)
|
||||
printf (" -Dgcos");
|
||||
#endif /* gcos */
|
||||
#if defined (gcx)
|
||||
printf (" -Dgcx");
|
||||
#endif /* gcx */
|
||||
#if defined (gould)
|
||||
printf (" -Dgould");
|
||||
#endif /* gould */
|
||||
#if defined (hbullx20)
|
||||
printf (" -Dhbullx20");
|
||||
#endif /* hbullx20 */
|
||||
#if defined (hcx)
|
||||
printf (" -Dhcx");
|
||||
#endif /* hcx */
|
||||
#if defined (host_mips)
|
||||
printf (" -Dhost_mips");
|
||||
#endif /* host_mips */
|
||||
#if defined (hp9000) || defined (__hp9000)
|
||||
printf (" -Dhp9000");
|
||||
#endif /* hp9000 || __hp9000 */
|
||||
#if defined (hp9000s200) || defined (__hp9000s200)
|
||||
printf (" -Dhp9000s200");
|
||||
#endif /* hp9000s200 || __hp9000s200 */
|
||||
#if defined (hp9000s300) || defined (__hp9000s300)
|
||||
printf (" -Dhp9000s300");
|
||||
#endif /* hp9000s300 || __hp9000s300 */
|
||||
#if defined (hp9000s500) || defined (__hp9000s500)
|
||||
printf (" -Dhp9000s500");
|
||||
#endif /* hp9000s500 || __hp9000s500 */
|
||||
#if defined (hp9000s700) || defined (__hp9000s700)
|
||||
printf (" -Dhp9000s700");
|
||||
#endif /* hp9000s700 || __hp9000s700 */
|
||||
#if defined (hp9000s800) || defined (__hp9000s800)
|
||||
printf (" -Dhp9000s800");
|
||||
#endif /* hp9000s800 || __hp9000s800 */
|
||||
#if defined (hppa) || defined (__hppa)
|
||||
printf (" -Dhppa");
|
||||
#endif /* hppa || __hppa */
|
||||
#if defined (hpux) || defined (__hpux)
|
||||
printf (" -Dhpux");
|
||||
#endif /* hpux */
|
||||
#if defined (__hp_osf)
|
||||
printf (" -D__hp_osf");
|
||||
#endif /* __hp_osf */
|
||||
#if defined (i386)
|
||||
printf (" -Di386");
|
||||
#endif /* i386 */
|
||||
#if defined (__i386__)
|
||||
printf (" -D__i386__");
|
||||
#endif
|
||||
#if defined (__i860)
|
||||
printf(" -D__i860");
|
||||
#endif /* __i860 */
|
||||
#if defined (__i860__)
|
||||
printf(" -D__i860__");
|
||||
#endif /* __i860__ */
|
||||
#if defined (ibm)
|
||||
printf (" -Dibm");
|
||||
#endif /* ibm */
|
||||
#if defined (ibm032)
|
||||
printf (" -Dibm032");
|
||||
#endif /* ibm032 */
|
||||
#if defined (ibmrt)
|
||||
printf (" -Dibmrt");
|
||||
#endif /* ibmrt */
|
||||
#if defined (interdata)
|
||||
printf (" -Dinterdata");
|
||||
#endif /* interdata */
|
||||
#if defined (is68k)
|
||||
printf (" -Dis68k");
|
||||
#endif /* is68k */
|
||||
#if defined (ksr1)
|
||||
printf (" -Dksr1");
|
||||
#endif /* ksr1 */
|
||||
#if defined (__ksr1__)
|
||||
printf (" -D__ksr1__");
|
||||
#endif /* __ksr1__ */
|
||||
#if defined (linux)
|
||||
printf (" -Dlinux");
|
||||
#endif /* linux */
|
||||
#if defined (__linux__)
|
||||
printf (" -D__linux__");
|
||||
#endif /* __linux__ */
|
||||
#if defined (luna88k)
|
||||
printf (" -Dluna88k");
|
||||
#endif /* luna88k */
|
||||
#if defined (m68k)
|
||||
printf (" -Dm68k");
|
||||
#endif /* m68k */
|
||||
#if defined (m88k)
|
||||
printf (" -Dm88k");
|
||||
#endif /* m88k */
|
||||
#if defined (mc68010)
|
||||
printf (" -Dmc68010");
|
||||
#endif /* mc68010 */
|
||||
#if defined (mc68020)
|
||||
printf (" -Dmc68020");
|
||||
#endif /* mc68020 */
|
||||
#if defined (mc68030)
|
||||
printf (" -Dmc68030");
|
||||
#endif /* mc68030 */
|
||||
#if defined (mc68040)
|
||||
printf (" -Dmc68040");
|
||||
#endif /* mc68040 */
|
||||
#if defined (mc68k32)
|
||||
printf (" -Dmc68k32");
|
||||
#endif /* mc68k32 */
|
||||
#if defined (mips)
|
||||
printf (" -Dmips");
|
||||
#endif /* mips */
|
||||
#if defined (n16)
|
||||
printf (" -Dn16");
|
||||
#endif /* n16 */
|
||||
#if defined __nonstopux
|
||||
printf (" -D__nonstopux");
|
||||
#endif
|
||||
#if defined (ns32000)
|
||||
printf (" -Dns32000");
|
||||
#endif /* ns32000 */
|
||||
#if defined (os)
|
||||
printf (" -Dos");
|
||||
#endif /* os */
|
||||
#if defined (osf)
|
||||
printf (" -Dosf");
|
||||
#endif /* osf */
|
||||
#if defined (__osf__)
|
||||
printf (" -D__osf__");
|
||||
#endif /* __osf__ */
|
||||
#if defined (__OSF1__)
|
||||
printf(" -D__OSF1__");
|
||||
#endif /* __OSF1__ */
|
||||
#if defined (pdp11)
|
||||
printf (" -Dpdp11");
|
||||
#endif /* pdp11 */
|
||||
#if defined (plexus)
|
||||
printf (" -Dplexus")
|
||||
#endif /* plexus */
|
||||
#if defined (pyr)
|
||||
printf (" -Dpyr");
|
||||
#endif /* pyr */
|
||||
#if defined (scs)
|
||||
printf (" -Dscs");
|
||||
#endif /* scs */
|
||||
#if defined (sequent)
|
||||
printf (" -Dsequent");
|
||||
#endif /* sequent */
|
||||
#if defined (sgi)
|
||||
printf (" -Dsgi");
|
||||
#endif /* sgi */
|
||||
#if defined (sony)
|
||||
printf (" -Dsony");
|
||||
#endif /* sony */
|
||||
#if defined (sparc)
|
||||
printf (" -Dsparc");
|
||||
#endif /* sparc */
|
||||
#if defined (stardent)
|
||||
printf (" -Dstardent");
|
||||
#endif /* stardent */
|
||||
#if defined (sun)
|
||||
printf (" -Dsun");
|
||||
#endif /* sun */
|
||||
#if defined (sun2)
|
||||
printf (" -Dsun2");
|
||||
#endif /* sun2 */
|
||||
#if defined (sun3)
|
||||
printf (" -Dsun3");
|
||||
#endif /* sun3 */
|
||||
#if defined (sun4)
|
||||
printf (" -Dsun4");
|
||||
#endif /* sun4 */
|
||||
#if defined (__svr4__)
|
||||
printf (" -D__svr4__");
|
||||
#endif /* __svr4__ */
|
||||
#if defined (tower32)
|
||||
printf (" -Dtower32");
|
||||
#endif /* tower32 */
|
||||
#if defined (tss)
|
||||
printf (" -Dtss");
|
||||
#endif /* tss */
|
||||
#if defined (u370)
|
||||
printf (" -Du370");
|
||||
#endif /* u370 */
|
||||
#if defined (u3b)
|
||||
printf (" -Du3b");
|
||||
#endif /* u3b */
|
||||
#if defined (u3b2)
|
||||
printf (" -Du3b2");
|
||||
#endif /* u3b2 */
|
||||
#if defined (u3b20d)
|
||||
printf (" -Du3b20d");
|
||||
#endif /* u3b20d */
|
||||
#if defined (u3b5)
|
||||
printf (" -Du3b5");
|
||||
#endif /* u3b5 */
|
||||
#if defined (ultrix)
|
||||
printf (" -Dultrix");
|
||||
#endif /* ultrix */
|
||||
#if defined (unix)
|
||||
printf (" -Dunix");
|
||||
#endif /* unix */
|
||||
#if defined (vax)
|
||||
printf (" -Dvax");
|
||||
#endif /* vax */
|
||||
|
||||
printf ("\n");
|
||||
exit (0);
|
||||
}
|
19
support/inpath
Executable file
19
support/inpath
Executable file
|
@ -0,0 +1,19 @@
|
|||
#! /bin/sh
|
||||
#
|
||||
# Search $PATH for a file the same name as $1; return TRUE if found.
|
||||
#
|
||||
|
||||
command=$1
|
||||
[ -n "$command" ] || exit 1
|
||||
|
||||
set `echo $PATH | sed 's/^:/.:/
|
||||
s/::/:.:/g
|
||||
s/:$/:./
|
||||
s/:/ /g'`
|
||||
|
||||
while [ $# -ne 0 ] ; do
|
||||
[ -f $1/$command ] && exit 0 # test -x not universal
|
||||
shift
|
||||
done
|
||||
|
||||
exit 1
|
235
support/install.sh
Executable file
235
support/install.sh
Executable file
|
@ -0,0 +1,235 @@
|
|||
#!/bin/sh
|
||||
#
|
||||
# install - install a program, script, or datafile
|
||||
# This comes from X11R5.
|
||||
#
|
||||
# $XConsortium: install.sh,v 1.2 89/12/18 14:47:22 jim Exp $
|
||||
#
|
||||
# This script is compatible with the BSD install script, but was written
|
||||
# from scratch.
|
||||
#
|
||||
|
||||
# set DOITPROG to echo to test this script
|
||||
|
||||
# Don't use :- since 4.3BSD and earlier shells don't like it.
|
||||
doit="${DOITPROG-}"
|
||||
|
||||
|
||||
# put in absolute paths if you don't have them in your path; or use env. vars.
|
||||
|
||||
mvprog="${MVPROG-mv}"
|
||||
cpprog="${CPPROG-cp}"
|
||||
chmodprog="${CHMODPROG-chmod}"
|
||||
chownprog="${CHOWNPROG-chown}"
|
||||
chgrpprog="${CHGRPPROG-chgrp}"
|
||||
stripprog="${STRIPPROG-strip}"
|
||||
rmprog="${RMPROG-rm}"
|
||||
mkdirprog="${MKDIRPROG-mkdir}"
|
||||
|
||||
tranformbasename=""
|
||||
transform_arg=""
|
||||
instcmd="$mvprog"
|
||||
chmodcmd="$chmodprog 0755"
|
||||
chowncmd=""
|
||||
chgrpcmd=""
|
||||
stripcmd=""
|
||||
rmcmd="$rmprog -f"
|
||||
mvcmd="$mvprog"
|
||||
src=""
|
||||
dst=""
|
||||
dir_arg=""
|
||||
|
||||
while [ x"$1" != x ]; do
|
||||
case $1 in
|
||||
-c) instcmd="$cpprog"
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-d) dir_arg=true
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-m) chmodcmd="$chmodprog $2"
|
||||
shift
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-o) chowncmd="$chownprog $2"
|
||||
shift
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-g) chgrpcmd="$chgrpprog $2"
|
||||
shift
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-s) stripcmd="$stripprog"
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-t=*) transformarg=`echo $1 | sed 's/-t=//'`
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-b=*) transformbasename=`echo $1 | sed 's/-b=//'`
|
||||
shift
|
||||
continue;;
|
||||
|
||||
*) if [ x"$src" = x ]
|
||||
then
|
||||
src=$1
|
||||
else
|
||||
# this colon is to work around a 386BSD /bin/sh bug
|
||||
:
|
||||
dst=$1
|
||||
fi
|
||||
shift
|
||||
continue;;
|
||||
esac
|
||||
done
|
||||
|
||||
if [ x"$src" = x ]
|
||||
then
|
||||
echo "install: no input file specified"
|
||||
exit 1
|
||||
else
|
||||
true
|
||||
fi
|
||||
|
||||
if [ x"$dir_arg" != x ]; then
|
||||
dst=$src
|
||||
src=""
|
||||
|
||||
if [ -d $dst ]; then
|
||||
instcmd=:
|
||||
else
|
||||
instcmd=mkdir
|
||||
fi
|
||||
else
|
||||
|
||||
# Waiting for this to be detected by the "$instcmd $src $dsttmp" command
|
||||
# might cause directories to be created, which would be especially bad
|
||||
# if $src (and thus $dsttmp) contains '*'.
|
||||
|
||||
if [ -f $src -o -d $src ]
|
||||
then
|
||||
true
|
||||
else
|
||||
echo "install: $src does not exist"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ x"$dst" = x ]
|
||||
then
|
||||
echo "install: no destination specified"
|
||||
exit 1
|
||||
else
|
||||
true
|
||||
fi
|
||||
|
||||
# If destination is a directory, append the input filename; if your system
|
||||
# does not like double slashes in filenames, you may need to add some logic
|
||||
|
||||
if [ -d $dst ]
|
||||
then
|
||||
dst="$dst"/`basename $src`
|
||||
else
|
||||
true
|
||||
fi
|
||||
fi
|
||||
|
||||
## this sed command emulates the dirname command
|
||||
dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
|
||||
|
||||
# Make sure that the destination directory exists.
|
||||
# this part is taken from Noah Friedman's mkinstalldirs script
|
||||
|
||||
# Skip lots of stat calls in the usual case.
|
||||
if [ ! -d "$dstdir" ]; then
|
||||
defaultIFS='
|
||||
'
|
||||
IFS="${IFS-${defaultIFS}}"
|
||||
|
||||
oIFS="${IFS}"
|
||||
# Some sh's can't handle IFS=/ for some reason.
|
||||
IFS='%'
|
||||
set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'`
|
||||
IFS="${oIFS}"
|
||||
|
||||
pathcomp=''
|
||||
|
||||
while [ $# -ne 0 ] ; do
|
||||
pathcomp="${pathcomp}${1}"
|
||||
shift
|
||||
|
||||
if [ ! -d "${pathcomp}" ] ;
|
||||
then
|
||||
$mkdirprog "${pathcomp}"
|
||||
else
|
||||
true
|
||||
fi
|
||||
|
||||
pathcomp="${pathcomp}/"
|
||||
done
|
||||
fi
|
||||
|
||||
if [ x"$dir_arg" != x ]
|
||||
then
|
||||
$doit $instcmd $dst &&
|
||||
|
||||
if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi &&
|
||||
if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi &&
|
||||
if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi &&
|
||||
if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi
|
||||
else
|
||||
|
||||
# If we're going to rename the final executable, determine the name now.
|
||||
|
||||
if [ x"$transformarg" = x ]
|
||||
then
|
||||
dstfile=`basename $dst`
|
||||
else
|
||||
dstfile=`basename $dst $transformbasename |
|
||||
sed $transformarg`$transformbasename
|
||||
fi
|
||||
|
||||
# don't allow the sed command to completely eliminate the filename
|
||||
|
||||
if [ x"$dstfile" = x ]
|
||||
then
|
||||
dstfile=`basename $dst`
|
||||
else
|
||||
true
|
||||
fi
|
||||
|
||||
# Make a temp file name in the proper directory.
|
||||
|
||||
dsttmp=$dstdir/#inst.$$#
|
||||
|
||||
# Move or copy the file name to the temp name
|
||||
|
||||
$doit $instcmd $src $dsttmp &&
|
||||
|
||||
trap "rm -f ${dsttmp}" 0 &&
|
||||
|
||||
# and set any options; do chmod last to preserve setuid bits
|
||||
|
||||
# If any of these fail, we abort the whole thing. If we want to
|
||||
# ignore errors from any of these, just make sure not to ignore
|
||||
# errors from the above "$doit $instcmd $src $dsttmp" command.
|
||||
|
||||
if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi &&
|
||||
if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi &&
|
||||
if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi &&
|
||||
if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi &&
|
||||
|
||||
# Now rename the file to the real destination.
|
||||
|
||||
$doit $rmcmd -f $dstdir/$dstfile &&
|
||||
$doit $mvcmd $dsttmp $dstdir/$dstfile
|
||||
|
||||
fi &&
|
||||
|
||||
|
||||
exit 0
|
29
support/mkdirs
Executable file
29
support/mkdirs
Executable file
|
@ -0,0 +1,29 @@
|
|||
#! /bin/sh
|
||||
#
|
||||
# mkdirs - a work-alike for `mkdir -p'
|
||||
#
|
||||
# Chet Ramey
|
||||
# chet@po.cwru.edu
|
||||
|
||||
for dir
|
||||
do
|
||||
|
||||
[ -d "$dir" ] && continue
|
||||
|
||||
tomake=$dir
|
||||
while [ "$dir" ]; do
|
||||
# dir=${dir%/*}
|
||||
# dir=`expr "$dir" ':' '^\(/.*\)/[^/]*'`
|
||||
dir=`expr "$dir" ':' '^\(.*\)/[^/]*'`
|
||||
tomake="$dir $tomake"
|
||||
done
|
||||
|
||||
for d in $tomake
|
||||
do
|
||||
[ -d $d ] && continue
|
||||
echo mkdir $d
|
||||
mkdir $d
|
||||
done
|
||||
done
|
||||
|
||||
exit 0
|
41
support/mklinks
Executable file
41
support/mklinks
Executable file
|
@ -0,0 +1,41 @@
|
|||
|
||||
# Yet another script which requires an already built Bash.
|
||||
#
|
||||
# This makes links in the current directory to the directory specified as
|
||||
# the first argument.
|
||||
#
|
||||
|
||||
topdir=$1
|
||||
|
||||
if [ ! "$topdir" ]; then
|
||||
echo "No directory specified. Read the script $0."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
function clone_files ()
|
||||
{
|
||||
local dir=$1;
|
||||
local files;
|
||||
|
||||
files=$(cd $dir; echo *);
|
||||
|
||||
if [ ! "$files" ]; then
|
||||
return 0;
|
||||
fi
|
||||
|
||||
for filename in $files; do
|
||||
if [ -d $dir/$filename ]; then
|
||||
# If the file to clone is this directory, then skip it.
|
||||
if [ $(cd $dir/$filename; pwd) = $(pwd) ]; then
|
||||
continue;
|
||||
fi
|
||||
mkdir $filename;
|
||||
(cd $filename; clone_files ../$dir/$filename)
|
||||
else
|
||||
ln -s $dir/$filename .;
|
||||
fi
|
||||
done
|
||||
rm -f \#* *~ .*~ *.bak .*.bak *.tmp .*.tmp *.o core a.out;
|
||||
}
|
||||
|
||||
clone_files $topdir
|
279
support/mkmachtype
Executable file
279
support/mkmachtype
Executable file
|
@ -0,0 +1,279 @@
|
|||
#!/bin/sh
|
||||
# This script attempts to guess a canonical system name.
|
||||
# Copyright (C) 1992, 1993 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
|
||||
|
||||
#
|
||||
# This script attempts to guess a canonical system name similar to
|
||||
# config.sub. If it succeeds, it prints the system name on stdout, and
|
||||
# exits with 0. Otherwise, it exits with 1.
|
||||
#
|
||||
# The plan is that this can be called by configure scripts if you
|
||||
# don't specify an explicit system type (host/target name).
|
||||
#
|
||||
# Only a few systems have been added to this list; please add others
|
||||
# (but try to keep the structure clean).
|
||||
#
|
||||
|
||||
UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
|
||||
UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
|
||||
UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
|
||||
UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
|
||||
|
||||
# Note: order is significant - the case branches are not exclusive.
|
||||
|
||||
case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
|
||||
alpha:OSF1:1.*:*)
|
||||
# 1.2 uses "1.2" for uname -r.
|
||||
echo alpha-dec-osf${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
alpha:OSF1:V1.*:*)
|
||||
# 1.3 uses "V1.3" for uname -r.
|
||||
echo alpha-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^V//'`
|
||||
exit 0 ;;
|
||||
arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
|
||||
echo arm-acorn-riscix${UNAME_RELEASE}
|
||||
exit 0;;
|
||||
sun4*:SunOS:5.*:*)
|
||||
echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
|
||||
exit 0 ;;
|
||||
sun4*:SunOS:6*:*)
|
||||
# According to config.sub, this is the proper way to canonicalize
|
||||
# SunOS6. Hard to guess exactly what SunOS6 will be like, but
|
||||
# it's likely to be more like Solaris than SunOS4.
|
||||
echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
|
||||
exit 0 ;;
|
||||
sun4*:SunOS:*:*)
|
||||
echo sparc-sun-sunos${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
sun3*:SunOS:*:*)
|
||||
echo m68k-sun-sunos${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
RISC*:ULTRIX:*:*)
|
||||
echo mips-dec-ultrix${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
VAX*:ULTRIX*:*:*)
|
||||
echo vax-dec-ultrix${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
mips:*:5*:RISCos)
|
||||
echo mips-mips-riscos${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
m88k:*:4*:R4*)
|
||||
echo m88k-motorola-sysv4
|
||||
exit 0 ;;
|
||||
m88k:*:3*:R3*)
|
||||
echo m88k-motorola-sysv3
|
||||
exit 0 ;;
|
||||
AViiON:dgux:*:*)
|
||||
echo m88k-dg-dgux${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
M88*:*:R3*:*)
|
||||
# Delta 88k system running SVR3
|
||||
echo m88k-motorola-sysv3
|
||||
exit 0 ;;
|
||||
*:IRIX:*:*)
|
||||
echo mips-sgi-irix${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
i[34]86:AIX:*:*)
|
||||
echo i386-ibm-aix
|
||||
exit 0 ;;
|
||||
*:AIX:2:3)
|
||||
echo rs6000-ibm-aix3.2
|
||||
exit 0 ;;
|
||||
*:AIX:*:*)
|
||||
echo rs6000-ibm-aix
|
||||
exit 0 ;;
|
||||
*:BOSX:*:*)
|
||||
echo rs6000-bull-bosx
|
||||
exit 0 ;;
|
||||
DPX/2?00:B.O.S.:*:*)
|
||||
echo m68k-bull-sysv3
|
||||
exit 0 ;;
|
||||
9000/31?:HP-UX:*:*)
|
||||
echo m68000-hp-hpux
|
||||
exit 0 ;;
|
||||
9000/[34]??:HP-UX:*:*)
|
||||
echo m68k-hp-hpux
|
||||
exit 0 ;;
|
||||
9000/[34]??:4.3bsd:1.*:*)
|
||||
echo m68k-hp-bsd
|
||||
exit 0 ;;
|
||||
hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
|
||||
echo m68k-hp-bsd4.4
|
||||
exit 0 ;;
|
||||
9000/7??:HP-UX:*:* | 9000/8?7:HP-UX:*:* )
|
||||
echo hppa1.1-hp-hpux
|
||||
exit 0 ;;
|
||||
9000/8??:HP-UX:*:*)
|
||||
echo hppa1.0-hp-hpux
|
||||
exit 0 ;;
|
||||
3050*:HI-UX:*:*)
|
||||
sed 's/^ //' << EOF >dummy.c
|
||||
#include <unistd.h>
|
||||
int
|
||||
main ()
|
||||
{
|
||||
long cpu = sysconf (_SC_CPU_VERSION);
|
||||
if (CPU_IS_HP_MC68K (cpu))
|
||||
puts ("m68k-hitachi-hiuxwe2");
|
||||
else if (CPU_IS_PA_RISC (cpu))
|
||||
{
|
||||
switch (cpu)
|
||||
{
|
||||
case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
|
||||
case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
|
||||
case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
|
||||
default: puts ("hppa-hitachi-hiuxwe2"); break;
|
||||
}
|
||||
}
|
||||
else puts ("unknown-hitachi-hiuxwe2");
|
||||
exit (0);
|
||||
}
|
||||
EOF
|
||||
${CC-cc} dummy.c -o dummy && ./dummy && rm dummy.c dummy && exit 0
|
||||
rm -f dummy.c dummy
|
||||
echo unknown-hitachi-hiuxwe2
|
||||
exit 0 ;;
|
||||
9000/7??:4.3bsd:*:* | 9000/8?7:4.3bsd:*:* )
|
||||
echo hppa1.1-hp-bsd
|
||||
exit 0 ;;
|
||||
9000/8??:4.3bsd:*:*)
|
||||
echo hppa1.0-hp-bsd
|
||||
exit 0 ;;
|
||||
C1*:ConvexOS:*:*)
|
||||
echo c1-convex-bsd
|
||||
exit 0 ;;
|
||||
C2*:ConvexOS:*:*)
|
||||
echo c2-convex-bsd
|
||||
exit 0 ;;
|
||||
CRAY*X-MP:UNICOS:*:*)
|
||||
echo xmp-cray-unicos
|
||||
exit 0 ;;
|
||||
CRAY*Y-MP:UNICOS:*:*)
|
||||
echo ymp-cray-unicos
|
||||
exit 0 ;;
|
||||
CRAY-2:UNICOS:*:*)
|
||||
echo cray2-cray-unicos
|
||||
exit 0 ;;
|
||||
hp3[0-9][05]:NetBSD:*:*)
|
||||
echo m68k-hp-netbsd${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
i[34]86:NetBSD:*:*)
|
||||
echo ${UNAME_MACHINE}-unknown-netbsd${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
i[34]86:Linux:*:*)
|
||||
echo ${UNAME_MACHINE}-unknown-linux
|
||||
exit 0 ;;
|
||||
i[34]86:UNIX_SV:4.*:*)
|
||||
if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
|
||||
echo ${UNAME_MACHINE}-univel-sysv${UNAME_RELEASE}
|
||||
else
|
||||
echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}
|
||||
fi
|
||||
exit 0 ;;
|
||||
i[34]86:*:3.2:*)
|
||||
if /bin/uname -X 2>/dev/null >/dev/null ; then
|
||||
UNAME_REL=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')`
|
||||
(/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486
|
||||
echo ${UNAME_MACHINE}-unknown-sco$UNAME_REL
|
||||
else
|
||||
echo ${UNAME_MACHINE}-unknown-sysv3.2
|
||||
fi
|
||||
exit 0 ;;
|
||||
mini*:CTIX:SYS*5:*)
|
||||
# "miniframe"
|
||||
echo m68010-convergent-sysv
|
||||
exit 0 ;;
|
||||
M680[234]0:*:R3V[567]*:*)
|
||||
test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
|
||||
3[34]??:*:4.0:*)
|
||||
uname -p 2>/dev/null | grep 86 >/dev/null \
|
||||
&& echo i486-ncr-sysv4 && exit 0 ;;
|
||||
m680[234]0:LynxOS:2.2*:*)
|
||||
echo m68k-lynx-lynxos${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
i[34]86:LynxOS:2.2*:*)
|
||||
echo i386-lynx-lynxos${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
TSUNAMI:LynxOS:2.2*:*)
|
||||
echo sparc-lynx-lynxos${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
esac
|
||||
|
||||
#echo '(No uname command or uname output not recognized.)' 1>&2
|
||||
#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
|
||||
|
||||
cat >dummy.c <<EOF
|
||||
main()
|
||||
{
|
||||
#if defined (sony)
|
||||
#if defined (MIPSEB)
|
||||
#else
|
||||
printf("m68k-sony-newsos\n"); exit(0);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined (__arm) && defined (__acorn) && defined (__unix)
|
||||
printf("arm-acorn-riscix"); exit (0);
|
||||
#endif
|
||||
|
||||
#if defined(hp300) && !defined(hpux)
|
||||
printf("m68k-hp-bsd\n"); exit(0);
|
||||
#endif
|
||||
|
||||
#if defined(NeXT)
|
||||
printf("m68k-next-bsd\n"); exit(0);
|
||||
#endif
|
||||
|
||||
#if defined (MULTIMAX) || defined (n16)
|
||||
#if defined (UMAXV)
|
||||
printf("ns32k-encore-sysv\n"); exit(0);
|
||||
#else
|
||||
#if defined (CMU)
|
||||
printf("ns32k-encore-mach\n"); exit(0);
|
||||
#else
|
||||
printf("ns32k-encore-bsd\n"); exit(0);
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined(__386BSD__) || (defined(__bsdi__) && defined(__i386__))
|
||||
printf("i386-unknown-bsd\n"); exit(0);
|
||||
#endif
|
||||
|
||||
#if defined(sequent)
|
||||
#if defined(i386)
|
||||
printf("i386-sequent-dynix\n"); exit(0);
|
||||
#endif
|
||||
#if defined (ns32000)
|
||||
printf("ns32k-sequent-dynix\n"); exit(0);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined(_SEQUENT_)
|
||||
printf("i386-sequent-ptx\n"); exit(0);
|
||||
#endif
|
||||
|
||||
exit (1);
|
||||
}
|
||||
EOF
|
||||
|
||||
${CC-cc} dummy.c -o dummy && ./dummy && rm dummy.c dummy && exit 0
|
||||
rm -f dummy.c dummy
|
||||
|
||||
#echo '(Unable to guess system type)' 1>&2
|
||||
|
||||
exit 1
|
497
support/mksysdefs
Executable file
497
support/mksysdefs
Executable file
|
@ -0,0 +1,497 @@
|
|||
#!/bin/sh
|
||||
#
|
||||
# This file creates a file called "sysdefs.h" which contains CPP defines
|
||||
# helping to describe the operating system features. We just take guesses
|
||||
# by looking at random files.
|
||||
|
||||
# Removes any inherited definitions.
|
||||
SYSDEF=
|
||||
MAKE_ANSI=
|
||||
|
||||
while [ $# -gt 0 ]; do
|
||||
case "$1" in
|
||||
-s) shift; srcdir=$1; shift ;;
|
||||
-i) shift; incdir="$1"; shift ;;
|
||||
-A) shift; MAKE_ANSI=true ;;
|
||||
*) break ;;
|
||||
esac
|
||||
done
|
||||
|
||||
if [ -n "$1" ]; then
|
||||
sysdefs=$1
|
||||
else
|
||||
sysdefs=./sysdefs.h
|
||||
fi
|
||||
|
||||
if [ -z "$srcdir" ]; then
|
||||
srcdir=.
|
||||
fi
|
||||
|
||||
rm -f $sysdefs
|
||||
|
||||
echo "/* sysdefs.h -- #defines for your system created by $0." >>$sysdefs
|
||||
echo " Do NOT EDIT this file, since any changes will disappear." >>$sysdefs
|
||||
echo " Instead, edit $0, or config.h, or machines.h. */" >>$sysdefs
|
||||
echo "" >>$sysdefs
|
||||
echo "#if !defined (_SYSDEFS_H_)" >>$sysdefs
|
||||
echo "# define _SYSDEFS_H_" >>$sysdefs
|
||||
|
||||
# was if [ -f /usr/bin/uname ] || [ -f /bin/uname ]
|
||||
if ( uname >/dev/null 2>&1 ) 2>/dev/null
|
||||
then
|
||||
UNAME=`uname`
|
||||
UNAME_R=`uname -r 2>/dev/null`
|
||||
UNAME_M=`uname -m 2>/dev/null`
|
||||
UNAME_V=`uname -v 2>/dev/null`
|
||||
UNAME_S=`uname -s 2>/dev/null`
|
||||
RELEASE=`expr "$UNAME_R" : '[^0-9]*\([0-9]*\)'`
|
||||
case "$RELEASE" in
|
||||
"") RELEASE=0 ;;
|
||||
*) RELEASE=`expr "$RELEASE" + 0` ;;
|
||||
esac
|
||||
LEVEL=`expr "$UNAME_R" : '[^0-9]*[0-9]*.\([0-9]*\)'`
|
||||
fi
|
||||
|
||||
# check for versions of SunOS and BSD/OS
|
||||
case "${UNAME}${RELEASE}" in
|
||||
SunOS4*) SYSDEF=SunOS4 ;;
|
||||
SunOS5*) SYSDEF=SunOS5 ;;
|
||||
BSD/OS2*) SYSDEF=BSDI2 ;;
|
||||
esac
|
||||
|
||||
# Test for NeXT
|
||||
if [ -d /NextLibrary ]; then
|
||||
MAKE_ANSI=true
|
||||
fi
|
||||
|
||||
# Intel Paragon
|
||||
case "$UNAME_M" in
|
||||
paragon) MAKE_ANSI=true ;;
|
||||
esac
|
||||
|
||||
# Test for shared libraries (this is pretty sVr4ish).
|
||||
if [ -f /usr/ccs/lib/libc.so ]; then
|
||||
SYSDEF=USGr4
|
||||
fi
|
||||
|
||||
# Some versions of i386 SVR4.2 make `uname' equivalent to `uname -n', which
|
||||
# is contrary to all other versions of uname
|
||||
if [ -n "$UNAME" ] && [ "$UNAME_S" != "$UNAME" ] && [ "$UNAME_S" = UNIX_SV ]; then
|
||||
UNAME=UNIX_SV
|
||||
fi
|
||||
|
||||
# (sound of teeth grinding...)
|
||||
if [ "$UNAME" = "UNIX_SV" ] && [ "$UNAME_R" != "4.2" ] && [ "$RELEASE"."$LEVEL" = "4.2" ]; then
|
||||
UNAME_R="4.2"
|
||||
fi
|
||||
|
||||
# another check for SVR4 on 386 or 486 machines
|
||||
case "${UNAME_M}:${UNAME}:${UNAME_R}" in
|
||||
i[34]86:UNIX_SV:4.*) SYSDEF=USGr4 ;;
|
||||
esac
|
||||
|
||||
# A check for Mips RISCos
|
||||
case "$UNAME_V" in
|
||||
UMIPS|RISCos) SYSDEF=RISCos_${RELEASE}_${LEVEL} ;;
|
||||
esac
|
||||
|
||||
# A check for Amdahl UTS
|
||||
case "$UNAME" in
|
||||
uts) SYSDEF=UTS ;;
|
||||
esac
|
||||
|
||||
# Look for an error message when trying to exec bison. If we find
|
||||
# what we're looking for, then we don't have it. If we get something
|
||||
# else (like an error message about no grammar file), then we have
|
||||
# it.
|
||||
HAVE_BISON=
|
||||
if ( cd /tmp ; bison /dev/null 2>&1 >/dev/null | grep 'no input grammar' >/dev/null 2>&1 ) 2>/dev/null
|
||||
then
|
||||
HAVE_BISON=yes
|
||||
fi
|
||||
|
||||
# Try to locate ranlib. I think this is a bad idea.
|
||||
if sh ${srcdir}/support/inpath ranlib; then
|
||||
RANLIB_LOCATION=ranlib
|
||||
elif [ -f /usr/bin/ranlib ]; then
|
||||
RANLIB_LOCATION=/usr/bin/ranlib;
|
||||
elif [ -f /bin/ranlib ]; then
|
||||
RANLIB_LOCATION=/bin/ranlib;
|
||||
elif [ -f /usr/local/bin/ranlib ]; then
|
||||
RANLIB_LOCATION=/usr/local/bin/ranlib;
|
||||
elif [ -f /usr/local/gnubin/ranlib ]; then
|
||||
RANLIB_LOCATION=/usr/local/gnubin/ranlib;
|
||||
else
|
||||
RANLIB_LOCATION=: # XXX
|
||||
fi
|
||||
|
||||
if [ -n "${RANLIB_LOCATION}" ]; then
|
||||
echo "" >>$sysdefs
|
||||
echo "#if !defined (RANLIB_LOCATION)" >>$sysdefs
|
||||
echo "# define RANLIB_LOCATION ${RANLIB_LOCATION}" >>$sysdefs
|
||||
echo "#endif /* RANLIB_LOCATION */" >>$sysdefs
|
||||
fi
|
||||
|
||||
#
|
||||
# Is this a Xenix system?
|
||||
#
|
||||
if [ -f /xenix ]; then
|
||||
SYSDEF="Xenix"
|
||||
case "`/bin/uname -p`" in
|
||||
*286) SYSDEF="Xenix286" ;;
|
||||
*386) SYSDEF="Xenix386" ;;
|
||||
esac
|
||||
|
||||
# make sure that `i386' is defined for machines.h
|
||||
if [ "$SYSDEF" = "Xenix386" ]; then
|
||||
echo "" >>$sysdefs
|
||||
echo "#if !defined (i386)" >>$sysdefs
|
||||
echo "# define i386" >>$sysdefs
|
||||
echo "#endif /* !i386 */" >>$sysdefs
|
||||
fi
|
||||
|
||||
# Pass the release number of the OS through to the machine descriptions
|
||||
# in machines.h.
|
||||
if [ -f /etc/perms/soft ]; then
|
||||
rel=`grep rel= /etc/perms/soft`
|
||||
case "$rel" in
|
||||
*2.2.*) XREL=XENIX_22 ;;
|
||||
*2.3.*) XREL=XENIX_23 ;;
|
||||
*3.2.*) XREL=XENIX_32 ;;
|
||||
*) XREL= ;;
|
||||
esac
|
||||
|
||||
if [ "$XREL" ]; then
|
||||
echo "" >>$sysdefs
|
||||
echo "#if !defined ($XREL)" >>$sysdefs
|
||||
echo "# define $XREL" >>$sysdefs
|
||||
echo "#endif /* !$XREL */" >>$sysdefs
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
#
|
||||
# Is this some kind of Sys Vish system?
|
||||
#
|
||||
if [ -f /unix ]; then
|
||||
if [ -d /generic ]; then # This is an AIX system.
|
||||
SYSDEF="aixpc"
|
||||
MAKE_ANSI=true
|
||||
elif [ -d /etc/conf/kconfig.d ] && [ -f /usr/include/sys/limits.h ]; then
|
||||
SYSDEF="isc386" # This is a 386 running ISC?
|
||||
ISCREL="ISC_$RELEASE"
|
||||
echo "#if !defined ($ISCREL)" >>$sysdefs
|
||||
echo "# define $ISCREL" >>$sysdefs
|
||||
echo "#endif /* $ISCREL */" >>$sysdefs
|
||||
elif [ -f /etc/xlc.cfg ]; then
|
||||
if fgrep _IBMR2 /etc/xlc.cfg >/dev/null 2>&1; then
|
||||
SYSDEF=RISC6000
|
||||
MAKE_ANSI=true
|
||||
fi
|
||||
elif [ -f /bin/4d -a -f /bin/uname ]; then
|
||||
case "$UNAME_R" in
|
||||
3.*) SYSDEF="Irix3" ;;
|
||||
4.*) SYSDEF="Irix4" ;;
|
||||
5.*) SYSDEF="Irix5" ;;
|
||||
6.*) SYSDEF="Irix6" ;;
|
||||
*) SYSDEF="Irix3" ;;
|
||||
esac
|
||||
elif [ -d /usr/amiga ]; then
|
||||
SYSDEF="amiga" # An Amiga running V.4.
|
||||
elif [ -f /bin/fxc.info ]; then
|
||||
SYSDEF="alliant"
|
||||
fi
|
||||
fi
|
||||
|
||||
# Is this a Unicos system?
|
||||
if [ -f /unicos ]; then
|
||||
MAKE_ANSI=true
|
||||
UnicosMachine=
|
||||
|
||||
# Test for the variaous flavors of Cray machines.
|
||||
if [ -x /bin/cray1 ] && /bin/cray1 2>/dev/null; then
|
||||
UnicosMachine=Cray1
|
||||
fi
|
||||
|
||||
if [ -x /bin/cray2 ] && /bin/cray2 2>/dev/null; then
|
||||
UnicosMachine=Cray2
|
||||
fi
|
||||
|
||||
if [ -x /bin/crayxmp ] && /bin/crayxmp 2>/dev/null; then
|
||||
UnicosMachine=CrayXMP
|
||||
fi
|
||||
if [ -x /bin/crayymp ] && /bin/crayymp 2>/dev/null; then
|
||||
UnicosMachine=CrayYMP
|
||||
fi
|
||||
|
||||
if [ "$UnicosMachine" ]; then
|
||||
echo "#if !defined ($UnicosMachine)" >>$sysdefs
|
||||
echo "# define $UnicosMachine" >>$sysdefs
|
||||
echo "#endif /* !$UnicosMachine */" >>$sysdefs
|
||||
fi
|
||||
fi
|
||||
|
||||
# Is this (and what kind of) a HPUX system?
|
||||
if [ -f /hp-ux ]; then
|
||||
SYSDEF=HPUX_${RELEASE}
|
||||
if [ "$RELEASE" = 6 -a "$LEVEL" -lt 2 ]; then
|
||||
SYSDEF=HPUX_USG
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "$SYSDEF" = "" ]; then
|
||||
case "$UNAME_M" in
|
||||
ESA) SYSDEF=AIXESA ;;
|
||||
XD88*) SYSDEF=XD88 ;;
|
||||
M88100) SYSDEF=M88100 ;; # Motorola Delta 88K
|
||||
esac
|
||||
fi
|
||||
|
||||
if [ "$SYSDEF" = "" ]; then
|
||||
case "$UNAME_V" in
|
||||
V[0-9]*L[0-9]*) SYSDEF=UXP ;; # Fujitsu DS/90
|
||||
esac
|
||||
fi
|
||||
|
||||
# What release of SCO Unix is this?
|
||||
if [ "$SYSDEF" = "" -a -f /bin/uname ]; then
|
||||
case `/bin/uname -X 2>/dev/null | grep '^Release' 2>/dev/null` in
|
||||
*3.2v4.*) SYSDEF=SCOv4 ;;
|
||||
*3.2v5.*) SYSDEF=SCOv5 ;;
|
||||
*) SYSDEF=SCO ;;
|
||||
esac
|
||||
fi
|
||||
|
||||
#
|
||||
# Default to cadmus for unknown SysVish systems
|
||||
#
|
||||
if [ -f /unix ] && [ "$SYSDEF" = "" ]; then
|
||||
SYSDEF="cadmus"
|
||||
fi
|
||||
|
||||
if [ "$SYSDEF" != "" ]; then
|
||||
echo "" >>$sysdefs
|
||||
echo "#if !defined ($SYSDEF)" >>$sysdefs
|
||||
echo "# define $SYSDEF" >>$sysdefs
|
||||
echo "#endif /* $SYSDEF */" >>$sysdefs
|
||||
fi
|
||||
|
||||
# Now look for certain include files in a list of directories
|
||||
# Poor substitute for autoconf
|
||||
|
||||
# Add any other directories where include files are found to this list or
|
||||
# create another case
|
||||
if [ -n "$incdir" ]; then
|
||||
dirlist="$incdir"
|
||||
else
|
||||
case "$SYSDEF" in
|
||||
RISCos*) dirlist="/bsd43/usr/include";;
|
||||
*) dirlist="/usr/include /usr/include/bsd /usr/include/ansi" ;;
|
||||
esac
|
||||
fi
|
||||
|
||||
# Code fragment to be executed to find a particular include file. Make sure
|
||||
# to set `file' to the pathname of the file you want, relative to /usr/include,
|
||||
# before calling `eval $findf'.
|
||||
findf="
|
||||
found='';
|
||||
for d in \$dirlist;
|
||||
do
|
||||
if test -f \$d/\$file;
|
||||
then
|
||||
found=yes;
|
||||
break;
|
||||
fi;
|
||||
done
|
||||
"
|
||||
|
||||
found=
|
||||
file=sys/stream.h
|
||||
eval $findf
|
||||
if [ -n "$found" ]; then
|
||||
echo "" >>$sysdefs
|
||||
echo "#if !defined (HAVE_SYS_STREAM_H)" >>$sysdefs
|
||||
echo "# define HAVE_SYS_STREAM_H" >>$sysdefs
|
||||
echo "#endif /* HAVE_SYS_STREAM_H */" >>$sysdefs
|
||||
fi
|
||||
|
||||
found=
|
||||
file=sys/ptem.h
|
||||
eval $findf
|
||||
if [ -n "$found" ]; then
|
||||
echo "" >>$sysdefs
|
||||
echo "#if !defined (HAVE_SYS_PTEM_H)" >>$sysdefs
|
||||
echo "# define HAVE_SYS_PTEM_H" >>$sysdefs
|
||||
echo "#endif /* HAVE_SYS_PTEM_H */" >>$sysdefs
|
||||
fi
|
||||
|
||||
file=sys/pte.h
|
||||
eval $findf
|
||||
if [ -n "$found" ]; then
|
||||
echo "" >>$sysdefs
|
||||
echo "#if !defined (HAVE_SYS_PTE_H)" >>$sysdefs
|
||||
echo "# define HAVE_SYS_PTE_H" >>$sysdefs
|
||||
echo "#endif /* HAVE_SYS_PTE_H */" >>$sysdefs
|
||||
fi
|
||||
|
||||
file=sys/wait.h
|
||||
eval $findf
|
||||
if [ -n "$found" ]; then
|
||||
echo "" >>$sysdefs
|
||||
echo "#if !defined (HAVE_WAIT_H)" >>$sysdefs
|
||||
echo "# define HAVE_WAIT_H" >>$sysdefs
|
||||
echo "#endif /* HAVE_WAIT_H */" >>$sysdefs
|
||||
fi
|
||||
|
||||
file=sys/resource.h
|
||||
eval $findf
|
||||
if [ -n "$found" ]; then
|
||||
echo "" >>$sysdefs
|
||||
echo "#if !defined (HAVE_RESOURCE)" >>$sysdefs
|
||||
echo "# define HAVE_RESOURCE" >>$sysdefs
|
||||
echo "#endif /* HAVE_RESOURCE */" >>$sysdefs
|
||||
fi
|
||||
|
||||
file=sys/param.h
|
||||
eval $findf
|
||||
if [ -n "$found" ]; then
|
||||
echo "" >>$sysdefs
|
||||
echo "#if !defined (HAVE_SYS_PARAM)" >>$sysdefs
|
||||
echo "# define HAVE_SYS_PARAM" >>$sysdefs
|
||||
echo "#endif /* HAVE_SYS_PARAM */" >>$sysdefs
|
||||
fi
|
||||
|
||||
file=unistd.h
|
||||
eval $findf
|
||||
if [ -n "$found" ]; then
|
||||
echo "" >>$sysdefs
|
||||
echo "#if !defined (HAVE_UNISTD_H)" >>$sysdefs
|
||||
echo "# define HAVE_UNISTD_H" >>$sysdefs
|
||||
echo "#endif /* HAVE_UNISTD_H */" >>$sysdefs
|
||||
fi
|
||||
|
||||
file=stdlib.h
|
||||
eval $findf
|
||||
if [ -n "$found" ]; then
|
||||
echo "" >>$sysdefs
|
||||
echo "#if !defined (HAVE_STDLIB_H)" >>$sysdefs
|
||||
echo "# define HAVE_STDLIB_H" >>$sysdefs
|
||||
echo "#endif /* HAVE_STDLIB_H */" >>$sysdefs
|
||||
fi
|
||||
|
||||
file=limits.h
|
||||
eval $findf
|
||||
if [ -n "$found" ]; then
|
||||
echo "" >>$sysdefs
|
||||
echo "#if !defined (HAVE_LIMITS_H)" >>$sysdefs
|
||||
echo "# define HAVE_LIMITS_H" >>$sysdefs
|
||||
echo "#endif /* HAVE_LIMITS_H */" >>$sysdefs
|
||||
fi
|
||||
|
||||
file=alloca.h
|
||||
eval $findf
|
||||
if [ -f /usr/include/alloca.h ]; then
|
||||
echo "" >>$sysdefs
|
||||
echo "#if !defined (HAVE_ALLOCA_H)" >>$sysdefs
|
||||
echo "# define HAVE_ALLOCA_H" >>$sysdefs
|
||||
echo "#endif /* HAVE_ALLOCA_H */" >>$sysdefs
|
||||
fi
|
||||
|
||||
file=dirent.h
|
||||
eval $findf
|
||||
if [ -n "$found" ]; then
|
||||
echo "" >>$sysdefs
|
||||
echo "#if !defined (HAVE_DIRENT_H)" >>$sysdefs
|
||||
echo "# define HAVE_DIRENT_H" >>$sysdefs
|
||||
echo "#endif /* HAVE_DIRENT_H */" >>$sysdefs
|
||||
fi
|
||||
|
||||
file=string.h
|
||||
eval $findf
|
||||
if [ -n "$found" ]; then
|
||||
echo "" >>$sysdefs
|
||||
echo "#if !defined (HAVE_STRING_H)" >>$sysdefs
|
||||
echo "# define HAVE_STRING_H" >>$sysdefs
|
||||
echo "#endif /* HAVE_STRING_H */" >>$sysdefs
|
||||
fi
|
||||
|
||||
file=varargs.h
|
||||
eval $findf
|
||||
if [ -n "$found" ]; then
|
||||
echo "" >>$sysdefs
|
||||
echo "#if !defined (HAVE_VARARGS_H)" >>$sysdefs
|
||||
echo "# define HAVE_VARARGS_H" >>$sysdefs
|
||||
echo "#endif /* HAVE_VARARGS_H */" >>$sysdefs
|
||||
fi
|
||||
|
||||
# Does the system have a /dev/fd directory?
|
||||
if [ -d /dev/fd ]; then
|
||||
echo "" >>$sysdefs
|
||||
echo "#if !defined (HAVE_DEV_FD)" >>$sysdefs
|
||||
echo "# define HAVE_DEV_FD" >>$sysdefs
|
||||
echo "#endif /* HAVE_DEV_FD */" >>$sysdefs
|
||||
fi
|
||||
|
||||
# Is this SVR4.2? It's subtly different from USGr4
|
||||
if [ "$UNAME" = "UNIX_SV" ] && [ "$UNAME_R" = "4.2" ]; then
|
||||
echo "" >>$sysdefs
|
||||
echo "#if !defined (USGr4_2)" >>$sysdefs
|
||||
echo "# define USGr4_2" >>$sysdefs
|
||||
echo "#endif /* USGr4_2 */" >>$sysdefs
|
||||
fi
|
||||
|
||||
# Is this AIX PS/2 1.3? Yuck.
|
||||
if [ "$UNAME" = "AIX" ] && [ "$UNAME_V" = "1" ] && [ "$RELEASE" = "3" ]; then
|
||||
case "$UNAME_M" in
|
||||
i386|i486)
|
||||
echo "" >>$sysdefs
|
||||
echo "#if !defined (AIX_13)" >>$sysdefs
|
||||
echo "# define AIX_13" >>$sysdefs
|
||||
echo "#endif /* AIX_13 */" >>$sysdefs
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
if [ -n "$HAVE_BISON" ]; then
|
||||
echo "" >>$sysdefs
|
||||
echo "#if !defined (HAVE_BISON)" >>$sysdefs
|
||||
echo "# define HAVE_BISON" >>$sysdefs
|
||||
echo "#endif /* HAVE_BISON */" >>$sysdefs
|
||||
fi
|
||||
|
||||
# Functions to test for a la autoconf
|
||||
# getwd
|
||||
# getcwd
|
||||
# strchr
|
||||
# strcasecmp
|
||||
# getgroups
|
||||
# setlinebuf
|
||||
# strerror
|
||||
# vfprintf
|
||||
# bcopy
|
||||
# getdtablesize
|
||||
# setdtablesize
|
||||
# alloca
|
||||
# gethostname
|
||||
# memmove (missing)
|
||||
# mkfifo (missing)
|
||||
#
|
||||
# Other things to test
|
||||
# opendir robustness
|
||||
# dup2 working
|
||||
# void sighandler
|
||||
# sys_siglist[]
|
||||
# uid_t, gid_t
|
||||
# have_getpw_decls
|
||||
# reversed setvbuf args
|
||||
# int getgroups
|
||||
|
||||
# If this system's cpp might not like `/**/#' in cpp-Makefile, make an
|
||||
# alternate ansi-style cpp-Makefile.
|
||||
if [ -n "$MAKE_ANSI" ]; then
|
||||
grep -v '/\*\*/' ${srcdir}/cpp-Makefile >ansi-Makefile
|
||||
fi
|
||||
|
||||
# These should be the last 2 lines in this file!
|
||||
echo "" >>$sysdefs
|
||||
echo "#endif /* _SYSDEFS_H_ */" >>$sysdefs
|
11
support/printenv
Executable file
11
support/printenv
Executable file
|
@ -0,0 +1,11 @@
|
|||
#! /bin/sh -
|
||||
|
||||
if [ $# -eq 0 ]; then
|
||||
env
|
||||
exit
|
||||
elif eval [ "\${$1-unset}" = "unset" ]; then
|
||||
exit 1
|
||||
else
|
||||
eval echo \$$1
|
||||
exit 0
|
||||
fi
|
32
support/recho.c
Normal file
32
support/recho.c
Normal file
|
@ -0,0 +1,32 @@
|
|||
#include <stdio.h>
|
||||
|
||||
main(argc, argv)
|
||||
int argc;
|
||||
char **argv;
|
||||
{
|
||||
register int i;
|
||||
|
||||
for (i = 1; i < argc; i++) {
|
||||
printf("argv[%d] = <", i);
|
||||
strprint(argv[i]);
|
||||
printf(">\n");
|
||||
}
|
||||
}
|
||||
|
||||
strprint(str)
|
||||
char *str;
|
||||
{
|
||||
register char *s;
|
||||
int c;
|
||||
|
||||
for (s = str; s && *s; s++) {
|
||||
if (*s < ' ') {
|
||||
putchar('^');
|
||||
putchar(*s+64);
|
||||
} else if (*s == 127) {
|
||||
putchar('^');
|
||||
putchar('?');
|
||||
} else
|
||||
putchar(*s);
|
||||
}
|
||||
}
|
13
support/srcdir
Executable file
13
support/srcdir
Executable file
|
@ -0,0 +1,13 @@
|
|||
#! /bin/sh
|
||||
#
|
||||
# srcdir - print out the absolute pathname of the top of the bash source
|
||||
# tree. Used for getting the right value to makes in subdirectories
|
||||
#
|
||||
|
||||
case "$1" in
|
||||
'.'|./) pwd ;;
|
||||
./*|..*) echo `pwd`/"$1" ;;
|
||||
*) echo "$1" ;;
|
||||
esac
|
||||
|
||||
exit 0
|
263
support/texi2dvi
Executable file
263
support/texi2dvi
Executable file
|
@ -0,0 +1,263 @@
|
|||
#!/bin/sh
|
||||
# texi2dvi -- smartly produce DVI files from texinfo sources
|
||||
#
|
||||
# Copyright (C) 1992, 1993 Free Software Foundation.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, you can either send email to this
|
||||
# program's author (see below) or write to:
|
||||
#
|
||||
# Free Software Foundation, Inc.
|
||||
# 675 Mass Ave.
|
||||
# Cambridge, MA 02139, USA.
|
||||
#
|
||||
# Please send bug reports, etc. to bug-texinfo@prep.ai.mit.edu
|
||||
# If possible, please send a copy of the output of the script called with
|
||||
# the `--debug' option when making a bug report.
|
||||
#
|
||||
# Version 0.4
|
||||
# Last modified 26-Mar-93
|
||||
#
|
||||
|
||||
# Please note that in the interest of general portability, some common
|
||||
# bourne shell constructs were avoided because they weren't guaranteed to
|
||||
# be available in some earlier implementations. I've tried to make this as
|
||||
# portable as possible.
|
||||
#
|
||||
# Among the more interesting lossages I noticed with some bourne shells
|
||||
# are:
|
||||
# 1) Some don't have an `unset' builtin
|
||||
# 2) In some implementations the `shift' builtin can't take a
|
||||
# numerical argument.
|
||||
|
||||
progname=`basename $0`
|
||||
|
||||
usage="Usage: ${progname} {-D} {-h} [file1] {file2} {...}
|
||||
{--debug} {--help}
|
||||
|
||||
Options in braces are optional. Those in brackets are required.
|
||||
"
|
||||
|
||||
if test $# -eq 0 ; then
|
||||
echo "${usage}" 1>&2;
|
||||
exit 1
|
||||
fi
|
||||
|
||||
backup_extension=".bak"
|
||||
texindex="texindex"
|
||||
tex="tex"
|
||||
bq="\`" # To prevent hairy quoting and escaping later.
|
||||
eq="'"
|
||||
orig_pwd="`pwd`"
|
||||
|
||||
if test "z${TEXINDEX}" != "z" ; then
|
||||
texindex="${TEXINDEX}"
|
||||
fi
|
||||
|
||||
if test "z${TEX}" != "z" ; then
|
||||
tex="${TEX}"
|
||||
fi
|
||||
|
||||
# Save this so we can construct a new TEXINPUTS path for each file to be
|
||||
# processed.
|
||||
TEXINPUTS_orig="${TEXINPUTS}"
|
||||
export TEXINPUTS
|
||||
|
||||
# Parse command line options
|
||||
|
||||
# "unset" option variables to make sure they weren't accidentally
|
||||
# exported
|
||||
debug=""
|
||||
|
||||
# If you add new commands be sure to change the wildcards below to make
|
||||
# sure they are unambiguous (i.e. only match one possible long option)
|
||||
# Be sure to show at least one instance of the full long option name to
|
||||
# document what the long option is canonically called.
|
||||
while test $# -gt 0 ; do
|
||||
case z$1 in
|
||||
z-D | z--debug | z--d* )
|
||||
debug="t"
|
||||
shift
|
||||
;;
|
||||
z-h | z--help | z--h* )
|
||||
echo "${usage}" 1>&2
|
||||
exit 1
|
||||
;;
|
||||
z-- )
|
||||
shift
|
||||
break
|
||||
;;
|
||||
z-* )
|
||||
echo "${progname}: ${bq}${1}${eq} is not a valid option." 1>&2
|
||||
echo "" 1>&2
|
||||
echo "${usage}" 1>&2
|
||||
exit 1
|
||||
;;
|
||||
* )
|
||||
break
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
# See if there are any command line args left (which will be interpreted as
|
||||
# filename arguments)
|
||||
if test $# -eq 0 ; then
|
||||
echo "${progname}: at least one file name is required as an argument." 1>&2
|
||||
echo "" 1>&2
|
||||
echo "${usage}" 1>&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
test "z${debug}" = "zt" && set -x
|
||||
|
||||
# Texify files
|
||||
for command_line_filename in ${1+"$@"} ; do
|
||||
# Roughly equivalent to `dirname ...`, but more portable
|
||||
directory="`echo ${command_line_filename} | sed 's/\/[^\/]*$//'`"
|
||||
filename_texi="`basename ${command_line_filename}`"
|
||||
# Strip off the last extension part (probably .texinfo or .texi)
|
||||
filename_noext="`echo ${filename_texi} | sed 's/\.[^.]*$//'`"
|
||||
|
||||
# If directory and file are the same, then it's probably because there's
|
||||
# no pathname component. Set dirname to `.', the current directory.
|
||||
if test "z${directory}" = "z${command_line_filename}" ; then
|
||||
directory="."
|
||||
fi
|
||||
|
||||
# Source file might @include additional texinfo sources. Put `.' and
|
||||
# directory where source file(s) reside in TEXINPUTS before anything
|
||||
# else. `.' goes first to ensure that any old .aux, .cps, etc. files in
|
||||
# ${directory} don't get used in preference to fresher files in `.'.
|
||||
TEXINPUTS=".:${directory}:${TEXINPUTS_orig}"
|
||||
|
||||
# "Unset" variables that might have values from previous iterations and
|
||||
# which won't be completely reset later.
|
||||
definite_index_files=""
|
||||
|
||||
# See if file exists here. If it doesn't we're in trouble since, even
|
||||
# though the user may be able to reenter a valid filename at the tex
|
||||
# prompt (assuming they're attending the terminal), this script won't be
|
||||
# able to find the right index files and so forth.
|
||||
if test ! -r "${command_line_filename}" ; then
|
||||
echo "${progname}: ${command_line_filename}: No such file or permission denied." 1>&2
|
||||
continue;
|
||||
fi
|
||||
|
||||
# Find all files having root filename with a two-letter extension,
|
||||
# determine whether they're really index files, and save them. Foo.aux
|
||||
# is actually the cross-references file, but we need to keep track of
|
||||
# that too.
|
||||
possible_index_files="`eval echo ${filename_noext}.?? ${filename_noext}.aux`"
|
||||
for this_file in ${possible_index_files} ; do
|
||||
# If file is empty, forget it.
|
||||
if test ! -s "${this_file}" ; then
|
||||
continue;
|
||||
fi
|
||||
|
||||
# Examine first character of file. If it's not a backslash or
|
||||
# single quote, then it's definitely not an index or xref file.
|
||||
first_character="`sed -n '1s/^\(.\).*$/\1/p;q' ${this_file}`"
|
||||
if test "${first_character}" = "\\" -o "${first_character}" = "'" ; then
|
||||
definite_index_files="${definite_index_files} ${this_file}"
|
||||
fi
|
||||
done
|
||||
orig_index_files="${definite_index_files}"
|
||||
orig_index_files_sans_aux="`echo ${definite_index_files} \
|
||||
| sed 's/'${filename_noext}'\.aux//;
|
||||
s/^[ ]*//;s/[ ]*$//;'`"
|
||||
|
||||
# Now save copies of original index files so we have some means of
|
||||
# comparison later.
|
||||
for index_file_to_save in ${orig_index_files} ; do
|
||||
cp "${index_file_to_save}" "${index_file_to_save}${backup_extension}"
|
||||
done
|
||||
|
||||
# Run texindex on current index files. If they already exist, and
|
||||
# after running TeX a first time the index files don't change, then
|
||||
# there's no reason to run TeX again. But we won't know that if the
|
||||
# index files are out of date or nonexistent.
|
||||
if test "${orig_index_files_sans_aux}" ; then
|
||||
${texindex} ${orig_index_files_sans_aux}
|
||||
fi
|
||||
|
||||
if ${tex} ${command_line_filename} ; then # TeX run first time
|
||||
definite_index_files=""
|
||||
# Get list of new index files
|
||||
possible_index_files="`eval echo ${filename_noext}.?? ${filename_noext}.aux`"
|
||||
for this_file in ${possible_index_files} ; do
|
||||
# If file is empty, forget it.
|
||||
if test ! -s ${this_file} ; then
|
||||
continue;
|
||||
fi
|
||||
|
||||
# Examine first character of file. If it's not a backslash or
|
||||
# single quote, then it's definitely not an index or xref file.
|
||||
first_character="`sed -n '1s/^\(.\).*$/\1/p;q' ${this_file}`"
|
||||
if test "${first_character}" = "\\" -o "${first_character}" = "'" ; then
|
||||
definite_index_files="${definite_index_files} ${this_file}"
|
||||
fi
|
||||
done
|
||||
new_index_files="${definite_index_files}"
|
||||
new_index_files_sans_aux="`echo ${definite_index_files} \
|
||||
| sed 's/'${filename_noext}'\.aux//;
|
||||
s/^[ ]*//;s/[ ]*$//;'`"
|
||||
|
||||
# If old and new list don't at least have the same file list, then one
|
||||
# file or another has definitely changed.
|
||||
if test "${orig_index_files}" != "${new_index_files}" ; then
|
||||
index_files_changed_p=t
|
||||
else
|
||||
# File list is the same. We must compare each file until we find a
|
||||
# difference.
|
||||
index_files_changed_p=""
|
||||
for this_file in ${new_index_files} ; do
|
||||
# cmp -s will return nonzero exit status if files differ.
|
||||
cmp -s "${this_file}" "${this_file}${backup_extension}"
|
||||
if test $? -ne 0 ; then
|
||||
# We only need to keep comparing until we find *one* that
|
||||
# differs, because we'll have to run texindex & tex no
|
||||
# matter what.
|
||||
index_files_changed_p=t
|
||||
break
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
# If index files have changed since TeX has been run, or if the aux
|
||||
# file wasn't present originally, run texindex and TeX again.
|
||||
if test "${index_files_changed_p}" ; then
|
||||
retval=0
|
||||
if test "${new_index_files_sans_aux}" ; then
|
||||
${texindex} ${new_index_files_sans_aux}
|
||||
retval=$?
|
||||
fi
|
||||
if test ${retval} -eq 0 ; then
|
||||
${tex} "${command_line_filename}"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
# Generate list of files to delete, then call rm once with the entire
|
||||
# list. This is significantly faster than multiple executions of rm.
|
||||
file_list=""
|
||||
for file in ${orig_index_files} ; do
|
||||
file_list="${file_list} ${file}${backup_extension}"
|
||||
done
|
||||
if test "${file_list}" ; then
|
||||
rm -f ${file_list}
|
||||
fi
|
||||
done
|
||||
|
||||
#
|
||||
# eof
|
||||
#
|
Loading…
Add table
Add a link
Reference in a new issue