summaryrefslogtreecommitdiff
path: root/helpers
diff options
context:
space:
mode:
authorfielding <fielding@13f79535-47bb-0310-9956-ffa450edef68>2001-02-18 17:15:35 +0000
committerfielding <fielding@13f79535-47bb-0310-9956-ffa450edef68>2001-02-18 17:15:35 +0000
commite0103f15459f068913a7bdbf7a90f0244e1fcfd6 (patch)
treec86799fcbc097a5e267e313e25218aa21d87ebd0 /helpers
parent0f13ac6f19a1f08a5dc2e4f38635455d3dcdc78f (diff)
downloadlibapr-e0103f15459f068913a7bdbf7a90f0244e1fcfd6.tar.gz
Moved to ../build/
git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@61255 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'helpers')
-rw-r--r--helpers/.cvsignore3
-rwxr-xr-xhelpers/MakeEtags39
-rwxr-xr-xhelpers/PrintPath116
-rwxr-xr-xhelpers/config.guess1097
-rwxr-xr-xhelpers/config.sub1240
-rw-r--r--helpers/cvstodsp5.pl43
-rw-r--r--helpers/default.pl518
-rw-r--r--helpers/dsp5tocvs.pl46
-rwxr-xr-xhelpers/install.sh112
-rw-r--r--helpers/make_export.awk54
-rwxr-xr-xhelpers/mkdep.sh12
-rwxr-xr-xhelpers/mkdir.sh35
-rw-r--r--helpers/rules.mk.in168
-rwxr-xr-xhelpers/scandoc1339
14 files changed, 0 insertions, 4822 deletions
diff --git a/helpers/.cvsignore b/helpers/.cvsignore
deleted file mode 100644
index 62437018a..000000000
--- a/helpers/.cvsignore
+++ /dev/null
@@ -1,3 +0,0 @@
-ltconfig
-ltmain.sh
-rules.mk
diff --git a/helpers/MakeEtags b/helpers/MakeEtags
deleted file mode 100755
index 1b030a3fc..000000000
--- a/helpers/MakeEtags
+++ /dev/null
@@ -1,39 +0,0 @@
-#!/bin/sh
-
-# This file illustrates how to generate a useful TAGS file via etags
-# for emacs. This should be invoked from the src directory i.e.:
-# > helpers/MakeEtags
-# and will create a TAGS file in the src directory.
-
-# This script falls under the Apache License.
-# See http://www.apache.org/docs/LICENSE
-
-# Once you have created src/TAGS in emacs you'll need to setup
-# tag-table-alist with an entry to assure it finds the single src/TAGS
-# file from the many source directories. Something along these lines:
-# (setq tag-table-alist
-# '(("/home/me/work/apache-1.3/src/"
-# . "/home/me/work/apache-1.3/src/")
-# ))
-
-# This requires a special version of etags, i.e. the
-# one called "Exuberant ctags" available at:
-# http://fly.hiwaay.net/~darren/ctags/
-# Once that is setup you'll need to point to the
-# executable here:
-
-etags=~/local/bin/etags
-
-# Exuberant etags is necessary since it can ignore some defined symbols
-# that obscure the function signatures.
-
-ignore=AP_DECLARE,AP_DECLARE_NONSTD,__declspec
-
-# Create an etags file at the root of the source
-# tree, then create symbol links to it from each
-# directory in the source tree. By passing etags
-# absolute pathnames we get a tag file that is
-# NOT portable when we move the directory tree.
-
-find . -name '*.[ch]' -print | $etags -I "$ignore" -L -
-
diff --git a/helpers/PrintPath b/helpers/PrintPath
deleted file mode 100755
index 68435f374..000000000
--- a/helpers/PrintPath
+++ /dev/null
@@ -1,116 +0,0 @@
-#!/bin/sh
-# Look for program[s] somewhere in $PATH.
-#
-# Options:
-# -s
-# Do not print out full pathname. (silent)
-# -pPATHNAME
-# Look in PATHNAME instead of $PATH
-#
-# Usage:
-# PrintPath [-s] [-pPATHNAME] program [program ...]
-#
-# Initially written by Jim Jagielski for the Apache configuration mechanism
-# (with kudos to Kernighan/Pike)
-#
-# This script falls under the Apache License.
-# See http://www.apache.org/docs/LICENSE
-
-##
-# Some "constants"
-##
-pathname=$PATH
-echo="yes"
-
-##
-# Find out what OS we are running for later on
-##
-os=`(uname) 2>/dev/null`
-
-##
-# Parse command line
-##
-for args in $*
-do
- case $args in
- -s ) echo="no" ;;
- -p* ) pathname="`echo $args | sed 's/^..//'`" ;;
- * ) programs="$programs $args" ;;
- esac
-done
-
-##
-# Now we make the adjustments required for OS/2 and everyone
-# else :)
-#
-# First of all, all OS/2 programs have the '.exe' extension.
-# Next, we adjust PATH (or what was given to us as PATH) to
-# be whitespace seperated directories.
-# Finally, we try to determine the best flag to use for
-# test/[] to look for an executable file. OS/2 just has '-r'
-# but with other OSs, we do some funny stuff to check to see
-# if test/[] knows about -x, which is the prefered flag.
-##
-
-if [ "x$os" = "xOS/2" ]
-then
- ext=".exe"
- pathname=`echo -E $pathname |
- sed 's/^;/.;/
- s/;;/;.;/g
- s/;$/;./
- s/;/ /g
- s/\\\\/\\//g' `
- test_exec_flag="-r"
-else
- ext="" # No default extensions
- pathname=`echo $pathname |
- sed 's/^:/.:/
- s/::/:.:/g
- s/:$/:./
- s/:/ /g' `
- # Here is how we test to see if test/[] can handle -x
- testfile="pp.t.$$"
-
- cat > $testfile <<ENDTEST
-#!/bin/sh
-if [ -x / ] || [ -x /bin ] || [ -x /bin/ls ]; then
- exit 0
-fi
-exit 1
-ENDTEST
-
- if `/bin/sh $testfile 2>/dev/null`; then
- test_exec_flag="-x"
- else
- test_exec_flag="-r"
- fi
- rm -f $testfile
-fi
-
-for program in $programs
-do
- for path in $pathname
- do
- if [ $test_exec_flag $path/${program}${ext} ] && \
- [ ! -d $path/${program}${ext} ]; then
- if [ "x$echo" = "xyes" ]; then
- echo $path/${program}${ext}
- fi
- exit 0
- fi
-
-# Next try without extension (if one was used above)
- if [ "x$ext" != "x" ]; then
- if [ $test_exec_flag $path/${program} ] && \
- [ ! -d $path/${program} ]; then
- if [ "x$echo" = "xyes" ]; then
- echo $path/${program}
- fi
- exit 0
- fi
- fi
- done
-done
-exit 1
-
diff --git a/helpers/config.guess b/helpers/config.guess
deleted file mode 100755
index a5d1bd6dc..000000000
--- a/helpers/config.guess
+++ /dev/null
@@ -1,1097 +0,0 @@
-#! /bin/sh
-# Attempt to guess a canonical system name.
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999
-# 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# Written by Per Bothner <bothner@cygnus.com>.
-# The master version of this file is at the FSF in /home/gd/gnu/lib.
-# Please send patches to the Autoconf mailing list <autoconf@gnu.org>.
-#
-# 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).
-#
-
-# Use $HOST_CC if defined. $CC may point to a cross-compiler
-if test x"$CC_FOR_BUILD" = x; then
- if test x"$HOST_CC" != x; then
- CC_FOR_BUILD="$HOST_CC"
- else
- if test x"$CC" != x; then
- CC_FOR_BUILD="$CC"
- else
- CC_FOR_BUILD=cc
- fi
- fi
-fi
-
-
-# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
-# (ghazi@noc.rutgers.edu 8/24/94.)
-if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
- PATH=$PATH:/.attbin ; export PATH
-fi
-
-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
-
-dummy=dummy-$$
-trap 'rm -f $dummy.c $dummy.o $dummy; exit 1' 1 2 15
-
-# Note: order is significant - the case branches are not exclusive.
-
-case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
- alpha:OSF1:*:*)
- if test $UNAME_RELEASE = "V4.0"; then
- UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
- fi
- # A Vn.n version is a released version.
- # A Tn.n version is a released field test version.
- # A Xn.n version is an unreleased experimental baselevel.
- # 1.2 uses "1.2" for uname -r.
- cat <<EOF >$dummy.s
- .globl main
- .ent main
-main:
- .frame \$30,0,\$26,0
- .prologue 0
- .long 0x47e03d80 # implver $0
- lda \$2,259
- .long 0x47e20c21 # amask $2,$1
- srl \$1,8,\$2
- sll \$2,2,\$2
- sll \$0,3,\$0
- addl \$1,\$0,\$0
- addl \$2,\$0,\$0
- ret \$31,(\$26),1
- .end main
-EOF
- $CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null
- if test "$?" = 0 ; then
- ./$dummy
- case "$?" in
- 7)
- UNAME_MACHINE="alpha"
- ;;
- 15)
- UNAME_MACHINE="alphaev5"
- ;;
- 14)
- UNAME_MACHINE="alphaev56"
- ;;
- 10)
- UNAME_MACHINE="alphapca56"
- ;;
- 16)
- UNAME_MACHINE="alphaev6"
- ;;
- esac
- fi
- rm -f $dummy.s $dummy
- echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
- exit 0 ;;
- Alpha\ *:Windows_NT*:*)
- # How do we know it's Interix rather than the generic POSIX subsystem?
- # Should we change UNAME_MACHINE based on the output of uname instead
- # of the specific Alpha model?
- echo alpha-pc-interix
- exit 0 ;;
- 21064:Windows_NT:50:3)
- echo alpha-dec-winnt3.5
- exit 0 ;;
- Amiga*:UNIX_System_V:4.0:*)
- echo m68k-cbm-sysv4
- exit 0;;
- amiga:NetBSD:*:*)
- echo m68k-cbm-netbsd${UNAME_RELEASE}
- exit 0 ;;
- amiga:OpenBSD:*:*)
- echo m68k-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- *:[Aa]miga[Oo][Ss]:*:*)
- echo ${UNAME_MACHINE}-unknown-amigaos
- exit 0 ;;
- arc64:OpenBSD:*:*)
- echo mips64el-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- arc:OpenBSD:*:*)
- echo mipsel-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- hkmips:OpenBSD:*:*)
- echo mips-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- pmax:OpenBSD:*:*)
- echo mipsel-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- sgi:OpenBSD:*:*)
- echo mips-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- wgrisc:OpenBSD:*:*)
- echo mipsel-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
- echo arm-acorn-riscix${UNAME_RELEASE}
- exit 0;;
- arm32:NetBSD:*:*)
- echo arm-unknown-netbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
- exit 0 ;;
- SR2?01:HI-UX/MPP:*:*)
- echo hppa1.1-hitachi-hiuxmpp
- exit 0;;
- Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
- # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
- if test "`(/bin/universe) 2>/dev/null`" = att ; then
- echo pyramid-pyramid-sysv3
- else
- echo pyramid-pyramid-bsd
- fi
- exit 0 ;;
- NILE*:*:*:dcosx)
- echo pyramid-pyramid-svr4
- exit 0 ;;
- sun4H:SunOS:5.*:*)
- echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit 0 ;;
- sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
- echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit 0 ;;
- i86pc:SunOS:5.*:*)
- echo i386-pc-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:*:*)
- case "`/usr/bin/arch -k`" in
- Series*|S4*)
- UNAME_RELEASE=`uname -v`
- ;;
- esac
- # Japanese Language versions have a version number like `4.1.3-JL'.
- echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
- exit 0 ;;
- sun3*:SunOS:*:*)
- echo m68k-sun-sunos${UNAME_RELEASE}
- exit 0 ;;
- sun*:*:4.2BSD:*)
- UNAME_RELEASE=`(head -1 /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
- test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
- case "`/bin/arch`" in
- sun3)
- echo m68k-sun-sunos${UNAME_RELEASE}
- ;;
- sun4)
- echo sparc-sun-sunos${UNAME_RELEASE}
- ;;
- esac
- exit 0 ;;
- aushp:SunOS:*:*)
- echo sparc-auspex-sunos${UNAME_RELEASE}
- exit 0 ;;
- atari*:NetBSD:*:*)
- echo m68k-atari-netbsd${UNAME_RELEASE}
- exit 0 ;;
- atari*:OpenBSD:*:*)
- echo m68k-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- # The situation for MiNT is a little confusing. The machine name
- # can be virtually everything (everything which is not
- # "atarist" or "atariste" at least should have a processor
- # > m68000). The system name ranges from "MiNT" over "FreeMiNT"
- # to the lowercase version "mint" (or "freemint"). Finally
- # the system name "TOS" denotes a system which is actually not
- # MiNT. But MiNT is downward compatible to TOS, so this should
- # be no problem.
- atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
- echo m68k-atari-mint${UNAME_RELEASE}
- exit 0 ;;
- atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
- echo m68k-atari-mint${UNAME_RELEASE}
- exit 0 ;;
- *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
- echo m68k-atari-mint${UNAME_RELEASE}
- exit 0 ;;
- milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
- echo m68k-milan-mint${UNAME_RELEASE}
- exit 0 ;;
- hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
- echo m68k-hades-mint${UNAME_RELEASE}
- exit 0 ;;
- *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
- echo m68k-unknown-mint${UNAME_RELEASE}
- exit 0 ;;
- sun3*:NetBSD:*:*)
- echo m68k-sun-netbsd${UNAME_RELEASE}
- exit 0 ;;
- sun3*:OpenBSD:*:*)
- echo m68k-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- mac68k:NetBSD:*:*)
- echo m68k-apple-netbsd${UNAME_RELEASE}
- exit 0 ;;
- mac68k:OpenBSD:*:*)
- echo m68k-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- mvme68k:OpenBSD:*:*)
- echo m68k-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- mvme88k:OpenBSD:*:*)
- echo m88k-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- powerpc:machten:*:*)
- echo powerpc-apple-machten${UNAME_RELEASE}
- exit 0 ;;
- macppc:NetBSD:*:*)
- echo powerpc-apple-netbsd${UNAME_RELEASE}
- exit 0 ;;
- RISC*:Mach:*:*)
- echo mips-dec-mach_bsd4.3
- exit 0 ;;
- RISC*:ULTRIX:*:*)
- echo mips-dec-ultrix${UNAME_RELEASE}
- exit 0 ;;
- VAX*:ULTRIX*:*:*)
- echo vax-dec-ultrix${UNAME_RELEASE}
- exit 0 ;;
- 2020:CLIX:*:* | 2430:CLIX:*:*)
- echo clipper-intergraph-clix${UNAME_RELEASE}
- exit 0 ;;
- mips:*:*:UMIPS | mips:*:*:RISCos)
- sed 's/^ //' << EOF >$dummy.c
-#ifdef __cplusplus
- int main (int argc, char *argv[]) {
-#else
- int main (argc, argv) int argc; char *argv[]; {
-#endif
- #if defined (host_mips) && defined (MIPSEB)
- #if defined (SYSTYPE_SYSV)
- printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
- #endif
- #if defined (SYSTYPE_SVR4)
- printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
- #endif
- #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
- printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
- #endif
- #endif
- exit (-1);
- }
-EOF
- $CC_FOR_BUILD $dummy.c -o $dummy \
- && ./$dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
- && rm $dummy.c $dummy && exit 0
- rm -f $dummy.c $dummy
- echo mips-mips-riscos${UNAME_RELEASE}
- exit 0 ;;
- Night_Hawk:Power_UNIX:*:*)
- echo powerpc-harris-powerunix
- exit 0 ;;
- m88k:CX/UX:7*:*)
- echo m88k-harris-cxux7
- exit 0 ;;
- m88k:*:4*:R4*)
- echo m88k-motorola-sysv4
- exit 0 ;;
- m88k:*:3*:R3*)
- echo m88k-motorola-sysv3
- exit 0 ;;
- AViiON:dgux:*:*)
- # DG/UX returns AViiON for all architectures
- UNAME_PROCESSOR=`/usr/bin/uname -p`
- if [ $UNAME_PROCESSOR = mc88100 -o $UNAME_PROCESSOR = mc88110 ] ; then
- if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx \
- -o ${TARGET_BINARY_INTERFACE}x = x ] ; then
- echo m88k-dg-dgux${UNAME_RELEASE}
- else
- echo m88k-dg-dguxbcs${UNAME_RELEASE}
- fi
- else echo i586-dg-dgux${UNAME_RELEASE}
- fi
- exit 0 ;;
- M88*:DolphinOS:*:*) # DolphinOS (SVR3)
- echo m88k-dolphin-sysv3
- exit 0 ;;
- M88*:*:R3*:*)
- # Delta 88k system running SVR3
- echo m88k-motorola-sysv3
- exit 0 ;;
- XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
- echo m88k-tektronix-sysv3
- exit 0 ;;
- Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
- echo m68k-tektronix-bsd
- exit 0 ;;
- *:IRIX*:*:*)
- echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
- exit 0 ;;
- *:OS390:*:* | *:OS/390:*:*)
- echo s390-ibm-os390
- exit 0 ;;
- ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
- echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
- exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX '
- i?86:AIX:*:*)
- echo i386-ibm-aix
- exit 0 ;;
- *:AIX:2:3)
- if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
- sed 's/^ //' << EOF >$dummy.c
- #include <sys/systemcfg.h>
-
- main()
- {
- if (!__power_pc())
- exit(1);
- puts("powerpc-ibm-aix3.2.5");
- exit(0);
- }
-EOF
- $CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm $dummy.c $dummy && exit 0
- rm -f $dummy.c $dummy
- echo rs6000-ibm-aix3.2.5
- elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
- echo rs6000-ibm-aix3.2.4
- else
- echo rs6000-ibm-aix3.2
- fi
- exit 0 ;;
- *:AIX:*:4)
- IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | head -1 | awk '{ print $1 }'`
- if /usr/sbin/lsattr -EHl ${IBM_CPU_ID} | grep POWER >/dev/null 2>&1; then
- IBM_ARCH=rs6000
- else
- IBM_ARCH=powerpc
- fi
- if [ -x /usr/bin/oslevel ] ; then
- IBM_REV=`/usr/bin/oslevel`
- else
- IBM_REV=4.${UNAME_RELEASE}
- fi
- echo ${IBM_ARCH}-ibm-aix${IBM_REV}
- exit 0 ;;
- *:AIX:*:*)
- echo rs6000-ibm-aix
- exit 0 ;;
- ibmrt:4.4BSD:*|romp-ibm:BSD:*)
- echo romp-ibm-bsd4.4
- exit 0 ;;
- ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC NetBSD and
- echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
- exit 0 ;; # report: romp-ibm BSD 4.3
- *:BOSX:*:*)
- echo rs6000-bull-bosx
- exit 0 ;;
- DPX/2?00:B.O.S.:*:*)
- echo m68k-bull-sysv3
- 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/[34678]??:HP-UX:*:*)
- case "${UNAME_MACHINE}" in
- 9000/31? ) HP_ARCH=m68000 ;;
- 9000/[34]?? ) HP_ARCH=m68k ;;
- 9000/[678][0-9][0-9])
- sed 's/^ //' << EOF >$dummy.c
- #include <stdlib.h>
- #include <unistd.h>
-
- int main ()
- {
- #if defined(_SC_KERNEL_BITS)
- long bits = sysconf(_SC_KERNEL_BITS);
- #endif
- long cpu = sysconf (_SC_CPU_VERSION);
-
- switch (cpu)
- {
- case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
- case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
- case CPU_PA_RISC2_0:
- #if defined(_SC_KERNEL_BITS)
- switch (bits)
- {
- case 64: puts ("hppa2.0w"); break;
- case 32: puts ("hppa2.0n"); break;
- default: puts ("hppa2.0"); break;
- } break;
- #else /* !defined(_SC_KERNEL_BITS) */
- puts ("hppa2.0"); break;
- #endif
- default: puts ("hppa1.0"); break;
- }
- exit (0);
- }
-EOF
- ($CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null ) && HP_ARCH=`./$dummy`
- rm -f $dummy.c $dummy
- esac
- HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
- echo ${HP_ARCH}-hp-hpux${HPUX_REV}
- exit 0 ;;
- 3050*:HI-UX:*:*)
- sed 's/^ //' << EOF >$dummy.c
- #include <unistd.h>
- int
- main ()
- {
- long cpu = sysconf (_SC_CPU_VERSION);
- /* The order matters, because CPU_IS_HP_MC68K erroneously returns
- true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
- results, however. */
- 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 if (CPU_IS_HP_MC68K (cpu))
- puts ("m68k-hitachi-hiuxwe2");
- else puts ("unknown-hitachi-hiuxwe2");
- exit (0);
- }
-EOF
- $CC_FOR_BUILD $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?[79]:4.3bsd:*:* )
- echo hppa1.1-hp-bsd
- exit 0 ;;
- 9000/8??:4.3bsd:*:*)
- echo hppa1.0-hp-bsd
- exit 0 ;;
- *9??*:MPE/iX:*:*)
- echo hppa1.0-hp-mpeix
- exit 0 ;;
- hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
- echo hppa1.1-hp-osf
- exit 0 ;;
- hp8??:OSF1:*:*)
- echo hppa1.0-hp-osf
- exit 0 ;;
- i?86:OSF1:*:*)
- if [ -x /usr/sbin/sysversion ] ; then
- echo ${UNAME_MACHINE}-unknown-osf1mk
- else
- echo ${UNAME_MACHINE}-unknown-osf1
- fi
- exit 0 ;;
- parisc*:Lites*:*:*)
- echo hppa1.1-hp-lites
- exit 0 ;;
- hppa*:OpenBSD:*:*)
- echo hppa-unknown-openbsd
- exit 0 ;;
- C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
- echo c1-convex-bsd
- exit 0 ;;
- C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
- if getsysinfo -f scalar_acc
- then echo c32-convex-bsd
- else echo c2-convex-bsd
- fi
- exit 0 ;;
- C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
- echo c34-convex-bsd
- exit 0 ;;
- C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
- echo c38-convex-bsd
- exit 0 ;;
- C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
- echo c4-convex-bsd
- exit 0 ;;
- CRAY*X-MP:*:*:*)
- echo xmp-cray-unicos
- exit 0 ;;
- CRAY*Y-MP:*:*:*)
- echo ymp-cray-unicos${UNAME_RELEASE}
- exit 0 ;;
- CRAY*[A-Z]90:*:*:*)
- echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
- | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
- -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/
- exit 0 ;;
- CRAY*TS:*:*:*)
- echo t90-cray-unicos${UNAME_RELEASE}
- exit 0 ;;
- CRAY*T3E:*:*:*)
- echo t3e-cray-unicosmk${UNAME_RELEASE}
- exit 0 ;;
- CRAY-2:*:*:*)
- echo cray2-cray-unicos
- exit 0 ;;
- F300:UNIX_System_V:*:*)
- FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
- FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
- echo "f300-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
- exit 0 ;;
- F301:UNIX_System_V:*:*)
- echo f301-fujitsu-uxpv`echo $UNAME_RELEASE | sed 's/ .*//'`
- exit 0 ;;
- hp3[0-9][05]:NetBSD:*:*)
- echo m68k-hp-netbsd${UNAME_RELEASE}
- exit 0 ;;
- hp300:OpenBSD:*:*)
- echo m68k-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- i?86:BSD/386:*:* | i?86:BSD/OS:*:*)
- echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
- exit 0 ;;
- sparc*:BSD/OS:*:*)
- echo sparc-unknown-bsdi${UNAME_RELEASE}
- exit 0 ;;
- *:BSD/OS:*:*)
- echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
- exit 0 ;;
- *:FreeBSD:*:*)
- if test -x /usr/bin/objformat; then
- if test "elf" = "`/usr/bin/objformat`"; then
- echo ${UNAME_MACHINE}-unknown-freebsdelf`echo ${UNAME_RELEASE}|sed -e 's/[-_].*//'`
- exit 0
- fi
- fi
- echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
- exit 0 ;;
- *:NetBSD:*:*)
- echo ${UNAME_MACHINE}-unknown-netbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
- exit 0 ;;
- *:OpenBSD:*:*)
- echo ${UNAME_MACHINE}-unknown-openbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
- exit 0 ;;
- i*:CYGWIN*:*)
- echo ${UNAME_MACHINE}-pc-cygwin
- exit 0 ;;
- i*:MINGW*:*)
- echo ${UNAME_MACHINE}-pc-mingw32
- exit 0 ;;
- i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
- # How do we know it's Interix rather than the generic POSIX subsystem?
- # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
- # UNAME_MACHINE based on the output of uname instead of i386?
- echo i386-pc-interix
- exit 0 ;;
- i*:UWIN*:*)
- echo ${UNAME_MACHINE}-pc-uwin
- exit 0 ;;
- p*:CYGWIN*:*)
- echo powerpcle-unknown-cygwin
- exit 0 ;;
- prep*:SunOS:5.*:*)
- echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
- exit 0 ;;
- *:GNU:*:*)
- echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
- exit 0 ;;
- *:Linux:*:*)
-# # uname on the ARM produces all sorts of strangeness, and we need to
-# # filter it out.
-# case "$UNAME_MACHINE" in
-# armv*) UNAME_MACHINE=$UNAME_MACHINE ;;
-# arm* | sa110*) UNAME_MACHINE="arm" ;;
-# esac
-
- # The BFD linker knows what the default object file format is, so
- # first see if it will tell us. cd to the root directory to prevent
- # problems with other programs or directories called `ld' in the path.
- ld_help_string=`cd /; ld --help 2>&1`
- ld_supported_emulations=`echo $ld_help_string \
- | sed -ne '/supported emulations:/!d
- s/[ ][ ]*/ /g
- s/.*supported emulations: *//
- s/ .*//
- p'`
- case "$ld_supported_emulations" in
- i?86linux) echo "${UNAME_MACHINE}-pc-linux-gnuaout" ; exit 0 ;;
- i?86coff) echo "${UNAME_MACHINE}-pc-linux-gnucoff" ; exit 0 ;;
- sparclinux) echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0 ;;
- armlinux) echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0 ;;
- m68klinux) echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0 ;;
- elf32arm) echo "${UNAME_MACHINE}-unknown-linux-gnu" ; exit 0 ;;
- elf32ppc)
- # Determine Lib Version
- cat >$dummy.c <<EOF
-#include <features.h>
-#if defined(__GLIBC__)
-extern char __libc_version[];
-extern char __libc_release[];
-#endif
-main(argc, argv)
- int argc;
- char *argv[];
-{
-#if defined(__GLIBC__)
- printf("%s %s\n", __libc_version, __libc_release);
-#else
- printf("unkown\n");
-#endif
- return 0;
-}
-EOF
- LIBC=""
- $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null
- if test "$?" = 0 ; then
- ./$dummy | grep 1\.99 > /dev/null
- if test "$?" = 0 ; then
- LIBC="libc1"
- fi
- fi
- rm -f $dummy.c $dummy
- echo powerpc-unknown-linux-gnu${LIBC} ; exit 0 ;;
- esac
-
- if test "${UNAME_MACHINE}" = "alpha" ; then
- sed 's/^ //' <<EOF >$dummy.s
- .globl main
- .ent main
- main:
- .frame \$30,0,\$26,0
- .prologue 0
- .long 0x47e03d80 # implver $0
- lda \$2,259
- .long 0x47e20c21 # amask $2,$1
- srl \$1,8,\$2
- sll \$2,2,\$2
- sll \$0,3,\$0
- addl \$1,\$0,\$0
- addl \$2,\$0,\$0
- ret \$31,(\$26),1
- .end main
-EOF
- LIBC=""
- $CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null
- if test "$?" = 0 ; then
- ./$dummy
- case "$?" in
- 7)
- UNAME_MACHINE="alpha"
- ;;
- 15)
- UNAME_MACHINE="alphaev5"
- ;;
- 14)
- UNAME_MACHINE="alphaev56"
- ;;
- 10)
- UNAME_MACHINE="alphapca56"
- ;;
- 16)
- UNAME_MACHINE="alphaev6"
- ;;
- esac
-
- objdump --private-headers $dummy | \
- grep ld.so.1 > /dev/null
- if test "$?" = 0 ; then
- LIBC="libc1"
- fi
- fi
- rm -f $dummy.s $dummy
- echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} ; exit 0
- elif test "${UNAME_MACHINE}" = "mips" ; then
- cat >$dummy.c <<EOF
-#ifdef __cplusplus
- int main (int argc, char *argv[]) {
-#else
- int main (argc, argv) int argc; char *argv[]; {
-#endif
-#ifdef __MIPSEB__
- printf ("%s-unknown-linux-gnu\n", argv[1]);
-#endif
-#ifdef __MIPSEL__
- printf ("%sel-unknown-linux-gnu\n", argv[1]);
-#endif
- return 0;
-}
-EOF
- $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy "${UNAME_MACHINE}" && rm $dummy.c $dummy && exit 0
- rm -f $dummy.c $dummy
- else
- # Either a pre-BFD a.out linker (linux-gnuoldld)
- # or one that does not give us useful --help.
- # GCC wants to distinguish between linux-gnuoldld and linux-gnuaout.
- # If ld does not provide *any* "supported emulations:"
- # that means it is gnuoldld.
- echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations:"
- test $? != 0 && echo "${UNAME_MACHINE}-pc-linux-gnuoldld" && exit 0
-
- case "${UNAME_MACHINE}" in
- i?86)
- VENDOR=pc;
- ;;
- *)
- VENDOR=unknown;
- ;;
- esac
- # Determine whether the default compiler is a.out or elf
- cat >$dummy.c <<EOF
-#include <features.h>
-#ifdef __cplusplus
- int main (int argc, char *argv[]) {
-#else
- int main (argc, argv) int argc; char *argv[]; {
-#endif
-#ifdef __ELF__
-# ifdef __GLIBC__
-# if __GLIBC__ >= 2
- printf ("%s-${VENDOR}-linux-gnu\n", argv[1]);
-# else
- printf ("%s-${VENDOR}-linux-gnulibc1\n", argv[1]);
-# endif
-# else
- printf ("%s-${VENDOR}-linux-gnulibc1\n", argv[1]);
-# endif
-#else
- printf ("%s-${VENDOR}-linux-gnuaout\n", argv[1]);
-#endif
- return 0;
-}
-EOF
- $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy "${UNAME_MACHINE}" && rm $dummy.c $dummy && exit 0
- rm -f $dummy.c $dummy
- fi ;;
-# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. earlier versions
-# are messed up and put the nodename in both sysname and nodename.
- i?86:DYNIX/ptx:4*:*)
- echo i386-sequent-sysv4
- exit 0 ;;
- i?86:UNIX_SV:4.2MP:2.*)
- # Unixware is an offshoot of SVR4, but it has its own version
- # number series starting with 2...
- # I am not positive that other SVR4 systems won't match this,
- # I just have to hope. -- rms.
- # Use sysv4.2uw... so that sysv4* matches it.
- echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
- exit 0 ;;
- i?86:*:4.*:* | i?86:SYSTEM_V: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}-pc-sysv${UNAME_RELEASE}
- fi
- exit 0 ;;
- i?86:*:5:7*)
- UNAME_REL=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')`
- (/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486
- (/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) && UNAME_MACHINE=i586
- (/bin/uname -X|egrep '^Machine.*Pent.*II' >/dev/null) && UNAME_MACHINE=i686
- (/bin/uname -X|egrep '^Machine.*Pentium Pro' >/dev/null) && UNAME_MACHINE=i585
- echo ${UNAME_MACHINE}-${UNAME_SYSTEM}${UNAME_VERSION}-sysv${UNAME_RELEASE}
- exit 0 ;;
- i?86:*:3.2:*)
- if test -f /usr/options/cb.name; then
- UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
- echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
- elif /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
- (/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \
- && UNAME_MACHINE=i586
- (/bin/uname -X|egrep '^Machine.*Pent ?II' >/dev/null) \
- && UNAME_MACHINE=i686
- (/bin/uname -X|egrep '^Machine.*Pentium Pro' >/dev/null) \
- && UNAME_MACHINE=i686
- echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
- else
- echo ${UNAME_MACHINE}-pc-sysv32
- fi
- exit 0 ;;
- pc:*:*:*)
- # uname -m prints for DJGPP always 'pc', but it prints nothing about
- # the processor, so we play safe by assuming i386.
- echo i386-pc-msdosdjgpp
- exit 0 ;;
- Intel:Mach:3*:*)
- echo i386-pc-mach3
- exit 0 ;;
- paragon:*:*:*)
- echo i860-intel-osf1
- exit 0 ;;
- i860:*:4.*:*) # i860-SVR4
- if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
- echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
- else # Add other i860-SVR4 vendors below as they are discovered.
- echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
- fi
- exit 0 ;;
- mini*:CTIX:SYS*5:*)
- # "miniframe"
- echo m68010-convergent-sysv
- exit 0 ;;
- M68*:*:R3V[567]*:*)
- test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
- 3[34]??:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 4850:*:4.0:3.0)
- OS_REL=''
- test -r /etc/.relid \
- && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
- /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
- && echo i486-ncr-sysv4.3${OS_REL} && exit 0
- /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
- && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;;
- 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
- /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
- && echo i486-ncr-sysv4 && exit 0 ;;
- m68*:LynxOS:2.*:*)
- echo m68k-unknown-lynxos${UNAME_RELEASE}
- exit 0 ;;
- mc68030:UNIX_System_V:4.*:*)
- echo m68k-atari-sysv4
- exit 0 ;;
- i?86:LynxOS:2.*:* | i?86:LynxOS:3.[01]*:*)
- echo i386-unknown-lynxos${UNAME_RELEASE}
- exit 0 ;;
- TSUNAMI:LynxOS:2.*:*)
- echo sparc-unknown-lynxos${UNAME_RELEASE}
- exit 0 ;;
- rs6000:LynxOS:2.*:* | PowerPC:LynxOS:2.*:*)
- echo rs6000-unknown-lynxos${UNAME_RELEASE}
- exit 0 ;;
- SM[BE]S:UNIX_SV:*:*)
- echo mips-dde-sysv${UNAME_RELEASE}
- exit 0 ;;
- RM*:ReliantUNIX-*:*:*)
- echo mips-sni-sysv4
- exit 0 ;;
- RM*:SINIX-*:*:*)
- echo mips-sni-sysv4
- exit 0 ;;
- *:SINIX-*:*:*)
- if uname -p 2>/dev/null >/dev/null ; then
- UNAME_MACHINE=`(uname -p) 2>/dev/null`
- echo ${UNAME_MACHINE}-sni-sysv4
- else
- echo ns32k-sni-sysv
- fi
- exit 0 ;;
- PENTIUM:CPunix:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
- # says <Richard.M.Bartel@ccMail.Census.GOV>
- echo i586-unisys-sysv4
- exit 0 ;;
- *:UNIX_System_V:4*:FTX*)
- # From Gerald Hewes <hewes@openmarket.com>.
- # How about differentiating between stratus architectures? -djm
- echo hppa1.1-stratus-sysv4
- exit 0 ;;
- *:*:*:FTX*)
- # From seanf@swdc.stratus.com.
- echo i860-stratus-sysv4
- exit 0 ;;
- mc68*:A/UX:*:*)
- echo m68k-apple-aux${UNAME_RELEASE}
- exit 0 ;;
- news*:NEWS-OS:*:6*)
- echo mips-sony-newsos6
- exit 0 ;;
- R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
- if [ -d /usr/nec ]; then
- echo mips-nec-sysv${UNAME_RELEASE}
- else
- echo mips-unknown-sysv${UNAME_RELEASE}
- fi
- exit 0 ;;
- BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
- echo powerpc-be-beos
- exit 0 ;;
- BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
- echo powerpc-apple-beos
- exit 0 ;;
- BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
- echo i586-pc-beos
- exit 0 ;;
- SX-4:SUPER-UX:*:*)
- echo sx4-nec-superux${UNAME_RELEASE}
- exit 0 ;;
- SX-5:SUPER-UX:*:*)
- echo sx5-nec-superux${UNAME_RELEASE}
- exit 0 ;;
- Power*:Rhapsody:*:*)
- echo powerpc-apple-rhapsody${UNAME_RELEASE}
- exit 0 ;;
- *:Rhapsody:*:*)
- echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
- exit 0 ;;
- *:Darwin:*:*)
- echo `uname -p`-apple-darwin${UNAME_RELEASE}
- exit 0 ;;
- *:OS/2:*:*)
- echo "i386-pc-os2_emx"
- 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
-#ifdef _SEQUENT_
-# include <sys/types.h>
-# include <sys/utsname.h>
-#endif
-main ()
-{
-#if defined (sony)
-#if defined (MIPSEB)
- /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
- I don't know.... */
- printf ("mips-sony-bsd\n"); exit (0);
-#else
-#include <sys/param.h>
- printf ("m68k-sony-newsos%s\n",
-#ifdef NEWSOS4
- "4"
-#else
- ""
-#endif
- ); 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)
-#if !defined (__ARCHITECTURE__)
-#define __ARCHITECTURE__ "m68k"
-#endif
- int version;
- version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
- if (version < 4)
- printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
- else
- printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
- 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__)
- printf ("i386-pc-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_)
- struct utsname un;
-
- uname(&un);
-
- if (strncmp(un.version, "V2", 2) == 0) {
- printf ("i386-sequent-ptx2\n"); exit (0);
- }
- if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
- printf ("i386-sequent-ptx1\n"); exit (0);
- }
- printf ("i386-sequent-ptx\n"); exit (0);
-
-#endif
-
-#if defined (vax)
-#if !defined (ultrix)
- printf ("vax-dec-bsd\n"); exit (0);
-#else
- printf ("vax-dec-ultrix\n"); exit (0);
-#endif
-#endif
-
-#if defined (alliant) && defined (i860)
- printf ("i860-alliant-bsd\n"); exit (0);
-#endif
-
- exit (1);
-}
-EOF
-
-$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy && rm $dummy.c $dummy && exit 0
-rm -f $dummy.c $dummy
-
-# Apollos put the system type in the environment.
-
-test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
-
-# Convex versions that predate uname can use getsysinfo(1)
-
-if [ -x /usr/convex/getsysinfo ]
-then
- case `getsysinfo -f cpu_type` in
- c1*)
- echo c1-convex-bsd
- exit 0 ;;
- c2*)
- if getsysinfo -f scalar_acc
- then echo c32-convex-bsd
- else echo c2-convex-bsd
- fi
- exit 0 ;;
- c34*)
- echo c34-convex-bsd
- exit 0 ;;
- c38*)
- echo c38-convex-bsd
- exit 0 ;;
- c4*)
- echo c4-convex-bsd
- exit 0 ;;
- esac
-fi
-
-#echo '(Unable to guess system type)' 1>&2
-
-exit 1
diff --git a/helpers/config.sub b/helpers/config.sub
deleted file mode 100755
index df1ad1afc..000000000
--- a/helpers/config.sub
+++ /dev/null
@@ -1,1240 +0,0 @@
-#! /bin/sh
-# Configuration validation subroutine script, version 1.1.
-# Copyright (C) 1991, 92-97, 1998, 1999 Free Software Foundation, Inc.
-# This file is (in principle) common to ALL GNU software.
-# The presence of a machine in this file suggests that SOME GNU software
-# can handle that machine. It does not imply ALL GNU software can.
-#
-# 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., 59 Temple Place - Suite 330,
-# Boston, MA 02111-1307, USA.
-
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# Configuration subroutine to validate and canonicalize a configuration type.
-# Supply the specified configuration type as an argument.
-# If it is invalid, we print an error message on stderr and exit with code 1.
-# Otherwise, we print the canonical config type on stdout and succeed.
-
-# This file is supposed to be the same for all GNU packages
-# and recognize all the CPU types, system types and aliases
-# that are meaningful with *any* GNU software.
-# Each package is responsible for reporting which valid configurations
-# it does not support. The user should be able to distinguish
-# a failure to support a valid configuration from a meaningless
-# configuration.
-
-# The goal of this file is to map all the various variations of a given
-# machine specification into a single specification in the form:
-# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
-# or in some cases, the newer four-part form:
-# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
-# It is wrong to echo any other type of specification.
-
-if [ x$1 = x ]
-then
- echo Configuration name missing. 1>&2
- echo "Usage: $0 CPU-MFR-OPSYS" 1>&2
- echo "or $0 ALIAS" 1>&2
- echo where ALIAS is a recognized configuration type. 1>&2
- exit 1
-fi
-
-# First pass through any local machine types.
-case $1 in
- *local*)
- echo $1
- exit 0
- ;;
- *)
- ;;
-esac
-
-# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
-# Here we must recognize all the valid KERNEL-OS combinations.
-maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
-case $maybe_os in
- linux-gnu*)
- os=-$maybe_os
- basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
- ;;
- tpf | os390 | vmcms)
- os=-$maybe_os
- basic_machine=s390;
- ;;
- mvs)
- os=-mvs
- basic_machine=i370;
- ;;
- *)
- basic_machine=`echo $1 | sed 's/-[^-]*$//'`
- if [ $basic_machine != $1 ]
- then os=`echo $1 | sed 's/.*-/-/'`
- else os=; fi
- ;;
-esac
-
-### Let's recognize common machines as not being operating systems so
-### that things like config.sub decstation-3100 work. We also
-### recognize some manufacturers as not being operating systems, so we
-### can provide default operating systems below.
-case $os in
- -sun*os*)
- # Prevent following clause from handling this invalid input.
- ;;
- -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
- -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
- -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
- -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
- -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
- -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
- -apple)
- os=
- basic_machine=$1
- ;;
- -sim | -cisco | -oki | -wec | -winbond)
- os=
- basic_machine=$1
- ;;
- -scout)
- ;;
- -wrs)
- os=vxworks
- basic_machine=$1
- ;;
- -hiux*)
- os=-hiuxwe2
- ;;
- -sco5)
- os=-sco3.2v5
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -sco4)
- os=-sco3.2v4
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -sco3.2.[4-9]*)
- os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -sco3.2v[4-9]*)
- # Don't forget version if it is 3.2v4 or newer.
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -sco*)
- os=-sco3.2v2
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -udk*)
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -isc)
- os=-isc2.2
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -clix*)
- basic_machine=clipper-intergraph
- ;;
- -isc*)
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
- ;;
- -lynx*)
- os=-lynxos
- ;;
- -ptx*)
- basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
- ;;
- -windowsnt*)
- os=`echo $os | sed -e 's/windowsnt/winnt/'`
- ;;
- -psos*)
- os=-psos
- ;;
-esac
-
-# Decode aliases for certain CPU-COMPANY combinations.
-case $basic_machine in
- # Recognize the basic CPU types without company name.
- # Some are omitted here because they have special meanings below.
- tahoe | i860 | m32r | m68k | m68000 | m88k | ns32k | arc | arm \
- | arme[lb] | pyramid | mn10200 | mn10300 | tron | a29k \
- | 580 | i960 | h8300 \
- | hppa | hppa1.0 | hppa1.1 | hppa2.0 | hppa2.0w | hppa2.0n \
- | alpha | alphaev[4-7] | alphaev56 | alphapca5[67] \
- | we32k | ns16k | clipper | i370 | sh | powerpc | powerpcle \
- | 1750a | dsp16xx | pdp11 | mips16 | mips64 | mipsel | mips64el \
- | mips64orion | mips64orionel | mipstx39 | mipstx39el \
- | mips64vr4300 | mips64vr4300el | mips64vr4100 | mips64vr4100el \
- | mips64vr5000 | miprs64vr5000el \
- | armv[34][lb] | sparc | sparclet | sparclite | sparc64 | sparcv9 | v850 | c4x \
- | thumb | d10v)
- basic_machine=$basic_machine-unknown
- ;;
- m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | z8k | v70 | h8500 | w65)
- ;;
-
- # We use `pc' rather than `unknown'
- # because (1) that's what they normally are, and
- # (2) the word "unknown" tends to confuse beginning users.
- i[34567]86)
- basic_machine=$basic_machine-pc
- ;;
- # Object if more than one company name word.
- *-*-*)
- echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
- exit 1
- ;;
- # Recognize the basic CPU types with company name.
- vax-* | tahoe-* | i[34567]86-* | i860-* | m32r-* | m68k-* | m68000-* \
- | m88k-* | sparc-* | ns32k-* | fx80-* | arc-* | arm-* | c[123]* \
- | mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* \
- | power-* | none-* | 580-* | cray2-* | h8300-* | h8500-* | i960-* \
- | xmp-* | ymp-* \
- | hppa-* | hppa1.0-* | hppa1.1-* | hppa2.0-* | hppa2.0w-* | hppa2.0n-* \
- | alpha-* | alphaev[4-7]-* | alphaev56-* | alphapca5[67]-* \
- | we32k-* | cydra-* | ns16k-* | pn-* | np1-* | xps100-* \
- | clipper-* | orion-* \
- | sparclite-* | pdp11-* | sh-* | powerpc-* | powerpcle-* \
- | sparc64-* | sparcv9-* | sparc86x-* | mips16-* | mips64-* | mipsel-* \
- | mips64el-* | mips64orion-* | mips64orionel-* \
- | mips64vr4100-* | mips64vr4100el-* | mips64vr4300-* | mips64vr4300el-* \
- | mipstx39-* | mipstx39el-* \
- | armv[34][lb]-* \
- | f301-* | armv*-* | t3e-* \
- | m88110-* | m680[01234]0-* | m683?2-* | m68360-* | z8k-* | d10v-* \
- | thumb-* | v850-* | d30v-* | tic30-* | c30-* )
- ;;
- # Recognize the various machine names and aliases which stand
- # for a CPU type and a company and sometimes even an OS.
- 386bsd)
- basic_machine=i386-unknown
- os=-bsd
- ;;
- 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
- basic_machine=m68000-att
- ;;
- 3b*)
- basic_machine=we32k-att
- ;;
- a29khif)
- basic_machine=a29k-amd
- os=-udi
- ;;
- adobe68k)
- basic_machine=m68010-adobe
- os=-scout
- ;;
- alliant | fx80)
- basic_machine=fx80-alliant
- ;;
- altos | altos3068)
- basic_machine=m68k-altos
- ;;
- am29k)
- basic_machine=a29k-none
- os=-bsd
- ;;
- amdahl)
- basic_machine=580-amdahl
- os=-sysv
- ;;
- amiga | amiga-*)
- basic_machine=m68k-cbm
- ;;
- amigaos | amigados)
- basic_machine=m68k-cbm
- os=-amigaos
- ;;
- amigaunix | amix)
- basic_machine=m68k-cbm
- os=-sysv4
- ;;
- apollo68)
- basic_machine=m68k-apollo
- os=-sysv
- ;;
- apollo68bsd)
- basic_machine=m68k-apollo
- os=-bsd
- ;;
- aux)
- basic_machine=m68k-apple
- os=-aux
- ;;
- balance)
- basic_machine=ns32k-sequent
- os=-dynix
- ;;
- convex-c1)
- basic_machine=c1-convex
- os=-bsd
- ;;
- convex-c2)
- basic_machine=c2-convex
- os=-bsd
- ;;
- convex-c32)
- basic_machine=c32-convex
- os=-bsd
- ;;
- convex-c34)
- basic_machine=c34-convex
- os=-bsd
- ;;
- convex-c38)
- basic_machine=c38-convex
- os=-bsd
- ;;
- cray | ymp)
- basic_machine=ymp-cray
- os=-unicos
- ;;
- cray2)
- basic_machine=cray2-cray
- os=-unicos
- ;;
- [ctj]90-cray)
- basic_machine=c90-cray
- os=-unicos
- ;;
- crds | unos)
- basic_machine=m68k-crds
- ;;
- da30 | da30-*)
- basic_machine=m68k-da30
- ;;
- decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
- basic_machine=mips-dec
- ;;
- delta | 3300 | motorola-3300 | motorola-delta \
- | 3300-motorola | delta-motorola)
- basic_machine=m68k-motorola
- ;;
- delta88)
- basic_machine=m88k-motorola
- os=-sysv3
- ;;
- dpx20 | dpx20-*)
- basic_machine=rs6000-bull
- os=-bosx
- ;;
- dpx2* | dpx2*-bull)
- basic_machine=m68k-bull
- os=-sysv3
- ;;
- ebmon29k)
- basic_machine=a29k-amd
- os=-ebmon
- ;;
- elxsi)
- basic_machine=elxsi-elxsi
- os=-bsd
- ;;
- encore | umax | mmax)
- basic_machine=ns32k-encore
- ;;
- es1800 | OSE68k | ose68k | ose | OSE)
- basic_machine=m68k-ericsson
- os=-ose
- ;;
- fx2800)
- basic_machine=i860-alliant
- ;;
- genix)
- basic_machine=ns32k-ns
- ;;
- gmicro)
- basic_machine=tron-gmicro
- os=-sysv
- ;;
- h3050r* | hiux*)
- basic_machine=hppa1.1-hitachi
- os=-hiuxwe2
- ;;
- h8300hms)
- basic_machine=h8300-hitachi
- os=-hms
- ;;
- h8300xray)
- basic_machine=h8300-hitachi
- os=-xray
- ;;
- h8500hms)
- basic_machine=h8500-hitachi
- os=-hms
- ;;
- harris)
- basic_machine=m88k-harris
- os=-sysv3
- ;;
- hp300-*)
- basic_machine=m68k-hp
- ;;
- hp300bsd)
- basic_machine=m68k-hp
- os=-bsd
- ;;
- hp300hpux)
- basic_machine=m68k-hp
- os=-hpux
- ;;
- hp3k9[0-9][0-9] | hp9[0-9][0-9])
- basic_machine=hppa1.0-hp
- ;;
- hp9k2[0-9][0-9] | hp9k31[0-9])
- basic_machine=m68000-hp
- ;;
- hp9k3[2-9][0-9])
- basic_machine=m68k-hp
- ;;
- hp9k6[0-9][0-9] | hp6[0-9][0-9])
- basic_machine=hppa1.0-hp
- ;;
- hp9k7[0-79][0-9] | hp7[0-79][0-9])
- basic_machine=hppa1.1-hp
- ;;
- hp9k78[0-9] | hp78[0-9])
- # FIXME: really hppa2.0-hp
- basic_machine=hppa1.1-hp
- ;;
- hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
- # FIXME: really hppa2.0-hp
- basic_machine=hppa1.1-hp
- ;;
- hp9k8[0-9][13679] | hp8[0-9][13679])
- basic_machine=hppa1.1-hp
- ;;
- hp9k8[0-9][0-9] | hp8[0-9][0-9])
- basic_machine=hppa1.0-hp
- ;;
- hppa-next)
- os=-nextstep3
- ;;
- hppaosf)
- basic_machine=hppa1.1-hp
- os=-osf
- ;;
- hppro)
- basic_machine=hppa1.1-hp
- os=-proelf
- ;;
- i370-ibm* | ibm*)
- basic_machine=i370-ibm
- os=-mvs
- ;;
-# I'm not sure what "Sysv32" means. Should this be sysv3.2?
- i[34567]86v32)
- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
- os=-sysv32
- ;;
- i[34567]86v4*)
- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
- os=-sysv4
- ;;
- i[34567]86v)
- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
- os=-sysv
- ;;
- i[34567]86sol2)
- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
- os=-solaris2
- ;;
- i386mach)
- basic_machine=i386-mach
- os=-mach
- ;;
- i386-vsta | vsta)
- basic_machine=i386-unknown
- os=-vsta
- ;;
- i386-go32 | go32)
- basic_machine=i386-unknown
- os=-go32
- ;;
- i386-mingw32 | mingw32)
- basic_machine=i386-unknown
- os=-mingw32
- ;;
- iris | iris4d)
- basic_machine=mips-sgi
- case $os in
- -irix*)
- ;;
- *)
- os=-irix4
- ;;
- esac
- ;;
- isi68 | isi)
- basic_machine=m68k-isi
- os=-sysv
- ;;
- m88k-omron*)
- basic_machine=m88k-omron
- ;;
- magnum | m3230)
- basic_machine=mips-mips
- os=-sysv
- ;;
- merlin)
- basic_machine=ns32k-utek
- os=-sysv
- ;;
- miniframe)
- basic_machine=m68000-convergent
- ;;
- *mint | *MiNT)
- basic_machine=m68k-atari
- os=-mint
- ;;
- mipsel*-linux*)
- basic_machine=mipsel-unknown
- os=-linux-gnu
- ;;
- mips*-linux*)
- basic_machine=mips-unknown
- os=-linux-gnu
- ;;
- mips3*-*)
- basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
- ;;
- mips3*)
- basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
- ;;
- monitor)
- basic_machine=m68k-rom68k
- os=-coff
- ;;
- msdos)
- basic_machine=i386-unknown
- os=-msdos
- ;;
- ncr3000)
- basic_machine=i486-ncr
- os=-sysv4
- ;;
- netbsd386)
- basic_machine=i386-unknown
- os=-netbsd
- ;;
- netwinder)
- basic_machine=armv4l-corel
- os=-linux
- ;;
- news | news700 | news800 | news900)
- basic_machine=m68k-sony
- os=-newsos
- ;;
- news1000)
- basic_machine=m68030-sony
- os=-newsos
- ;;
- news-3600 | risc-news)
- basic_machine=mips-sony
- os=-newsos
- ;;
- necv70)
- basic_machine=v70-nec
- os=-sysv
- ;;
- next | m*-next )
- basic_machine=m68k-next
- case $os in
- -nextstep* )
- ;;
- -ns2*)
- os=-nextstep2
- ;;
- *)
- os=-nextstep3
- ;;
- esac
- ;;
- nh3000)
- basic_machine=m68k-harris
- os=-cxux
- ;;
- nh[45]000)
- basic_machine=m88k-harris
- os=-cxux
- ;;
- nindy960)
- basic_machine=i960-intel
- os=-nindy
- ;;
- mon960)
- basic_machine=i960-intel
- os=-mon960
- ;;
- np1)
- basic_machine=np1-gould
- ;;
- op50n-* | op60c-*)
- basic_machine=hppa1.1-oki
- os=-proelf
- ;;
- OSE68000 | ose68000)
- basic_machine=m68000-ericsson
- os=-ose
- ;;
- os68k)
- basic_machine=m68k-none
- os=-os68k
- ;;
- pa-hitachi)
- basic_machine=hppa1.1-hitachi
- os=-hiuxwe2
- ;;
- paragon)
- basic_machine=i860-intel
- os=-osf
- ;;
- pbd)
- basic_machine=sparc-tti
- ;;
- pbb)
- basic_machine=m68k-tti
- ;;
- pc532 | pc532-*)
- basic_machine=ns32k-pc532
- ;;
- pentium | p5 | k5 | k6 | nexen)
- basic_machine=i586-pc
- ;;
- pentiumpro | p6 | 6x86)
- basic_machine=i686-pc
- ;;
- pentiumii | pentium2)
- basic_machine=i786-pc
- ;;
- pentium-* | p5-* | k5-* | k6-* | nexen-*)
- basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- pentiumpro-* | p6-* | 6x86-*)
- basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- pentiumii-* | pentium2-*)
- basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- pn)
- basic_machine=pn-gould
- ;;
- power) basic_machine=rs6000-ibm
- ;;
- ppc) basic_machine=powerpc-unknown
- ;;
- ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- ppcle | powerpclittle | ppc-le | powerpc-little)
- basic_machine=powerpcle-unknown
- ;;
- ppcle-* | powerpclittle-*)
- basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- ps2)
- basic_machine=i386-ibm
- ;;
- rom68k)
- basic_machine=m68k-rom68k
- os=-coff
- ;;
- rm[46]00)
- basic_machine=mips-siemens
- ;;
- rtpc | rtpc-*)
- basic_machine=romp-ibm
- ;;
- sa29200)
- basic_machine=a29k-amd
- os=-udi
- ;;
- s390*)
- basic_machine=s390-ibm
- ;;
- sequent)
- basic_machine=i386-sequent
- ;;
- sh)
- basic_machine=sh-hitachi
- os=-hms
- ;;
- sparclite-wrs)
- basic_machine=sparclite-wrs
- os=-vxworks
- ;;
- sps7)
- basic_machine=m68k-bull
- os=-sysv2
- ;;
- spur)
- basic_machine=spur-unknown
- ;;
- st2000)
- basic_machine=m68k-tandem
- ;;
- stratus)
- basic_machine=i860-stratus
- os=-sysv4
- ;;
- sun2)
- basic_machine=m68000-sun
- ;;
- sun2os3)
- basic_machine=m68000-sun
- os=-sunos3
- ;;
- sun2os4)
- basic_machine=m68000-sun
- os=-sunos4
- ;;
- sun3os3)
- basic_machine=m68k-sun
- os=-sunos3
- ;;
- sun3os4)
- basic_machine=m68k-sun
- os=-sunos4
- ;;
- sun4os3)
- basic_machine=sparc-sun
- os=-sunos3
- ;;
- sun4os4)
- basic_machine=sparc-sun
- os=-sunos4
- ;;
- sun4sol2)
- basic_machine=sparc-sun
- os=-solaris2
- ;;
- sun3 | sun3-*)
- basic_machine=m68k-sun
- ;;
- sun4)
- basic_machine=sparc-sun
- ;;
- sun386 | sun386i | roadrunner)
- basic_machine=i386-sun
- ;;
- symmetry)
- basic_machine=i386-sequent
- os=-dynix
- ;;
- t3e)
- basic_machine=t3e-cray
- os=-unicos
- ;;
- tx39)
- basic_machine=mipstx39-unknown
- ;;
- tx39el)
- basic_machine=mipstx39el-unknown
- ;;
- tower | tower-32)
- basic_machine=m68k-ncr
- ;;
- udi29k)
- basic_machine=a29k-amd
- os=-udi
- ;;
- ultra3)
- basic_machine=a29k-nyu
- os=-sym1
- ;;
- v810 | necv810)
- basic_machine=v810-nec
- os=-none
- ;;
- vaxv)
- basic_machine=vax-dec
- os=-sysv
- ;;
- vms)
- basic_machine=vax-dec
- os=-vms
- ;;
- vpp*|vx|vx-*)
- basic_machine=f301-fujitsu
- ;;
- vxworks960)
- basic_machine=i960-wrs
- os=-vxworks
- ;;
- vxworks68)
- basic_machine=m68k-wrs
- os=-vxworks
- ;;
- vxworks29k)
- basic_machine=a29k-wrs
- os=-vxworks
- ;;
- w65*)
- basic_machine=w65-wdc
- os=-none
- ;;
- w89k-*)
- basic_machine=hppa1.1-winbond
- os=-proelf
- ;;
- xmp)
- basic_machine=xmp-cray
- os=-unicos
- ;;
- xps | xps100)
- basic_machine=xps100-honeywell
- ;;
- z8k-*-coff)
- basic_machine=z8k-unknown
- os=-sim
- ;;
- none)
- basic_machine=none-none
- os=-none
- ;;
-
-# Here we handle the default manufacturer of certain CPU types. It is in
-# some cases the only manufacturer, in others, it is the most popular.
- w89k)
- basic_machine=hppa1.1-winbond
- ;;
- op50n)
- basic_machine=hppa1.1-oki
- ;;
- op60c)
- basic_machine=hppa1.1-oki
- ;;
- mips)
- if [ x$os = x-linux-gnu ]; then
- basic_machine=mips-unknown
- else
- basic_machine=mips-mips
- fi
- ;;
- romp)
- basic_machine=romp-ibm
- ;;
- rs6000)
- basic_machine=rs6000-ibm
- ;;
- vax)
- basic_machine=vax-dec
- ;;
- pdp11)
- basic_machine=pdp11-dec
- ;;
- we32k)
- basic_machine=we32k-att
- ;;
- sparc | sparcv9)
- basic_machine=sparc-sun
- ;;
- cydra)
- basic_machine=cydra-cydrome
- ;;
- orion)
- basic_machine=orion-highlevel
- ;;
- orion105)
- basic_machine=clipper-highlevel
- ;;
- mac | mpw | mac-mpw)
- basic_machine=m68k-apple
- ;;
- pmac | pmac-mpw)
- basic_machine=powerpc-apple
- ;;
- c4x*)
- basic_machine=c4x-none
- os=-coff
- ;;
- *)
- echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
- exit 1
- ;;
-esac
-
-# Here we canonicalize certain aliases for manufacturers.
-case $basic_machine in
- *-digital*)
- basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
- ;;
- *-commodore*)
- basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
- ;;
- *)
- ;;
-esac
-
-# Decode manufacturer-specific aliases for certain operating systems.
-
-if [ x"$os" != x"" ]
-then
-case $os in
- # First match some system type aliases
- # that might get confused with valid system types.
- # -solaris* is a basic system type, with this one exception.
- -solaris1 | -solaris1.*)
- os=`echo $os | sed -e 's|solaris1|sunos4|'`
- ;;
- -solaris)
- os=-solaris2
- ;;
- -svr4*)
- os=-sysv4
- ;;
- -unixware*)
- os=-sysv4.2uw
- ;;
- -gnu/linux*)
- os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
- ;;
- -os2_emx)
- ;;
- # First accept the basic system types.
- # The portable systems comes first.
- # Each alternative MUST END IN A *, to match a version number.
- # -sysv* is not here because it comes later, after sysvr4.
- -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
- | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
- | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
- | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
- | -aos* \
- | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
- | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
- | -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \
- | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
- | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
- | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
- | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
- | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \
- | -interix* | -uwin* | -rhapsody* | -darwin* | -openstep* | -oskit* \
- | -tpf* | -os390* | -vmcms* )
- # Remember, each alternative MUST END IN *, to match a version number.
- ;;
- -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
- | -windows* | -osx | -abug | -netware* | -os9* | -beos* \
- | -macos* | -mpw* | -magic* | -mon960* | -lnews*)
- ;;
- -mac*)
- os=`echo $os | sed -e 's|mac|macos|'`
- ;;
- -linux*)
- os=`echo $os | sed -e 's|linux|linux-gnu|'`
- ;;
- -sunos5*)
- os=`echo $os | sed -e 's|sunos5|solaris2|'`
- ;;
- -sunos6*)
- os=`echo $os | sed -e 's|sunos6|solaris3|'`
- ;;
- -osfrose*)
- os=-osfrose
- ;;
- -osf*)
- os=-osf
- ;;
- -utek*)
- os=-bsd
- ;;
- -dynix*)
- os=-bsd
- ;;
- -acis*)
- os=-aos
- ;;
- -386bsd)
- os=-bsd
- ;;
- -ctix* | -uts*)
- os=-sysv
- ;;
- -ns2 )
- os=-nextstep2
- ;;
- # Preserve the version number of sinix5.
- -sinix5.*)
- os=`echo $os | sed -e 's|sinix|sysv|'`
- ;;
- -sinix*)
- os=-sysv4
- ;;
- -triton*)
- os=-sysv3
- ;;
- -oss*)
- os=-sysv3
- ;;
- -svr4)
- os=-sysv4
- ;;
- -svr3)
- os=-sysv3
- ;;
- -sysvr4)
- os=-sysv4
- ;;
- # This must come after -sysvr4.
- -sysv*)
- ;;
- -ose*)
- os=-ose
- ;;
- -es1800*)
- os=-ose
- ;;
- -xenix)
- os=-xenix
- ;;
- -*mint | -*MiNT)
- os=-mint
- ;;
- -none)
- ;;
- *)
- # Get rid of the `-' at the beginning of $os.
- os=`echo $os | sed 's/[^-]*-//'`
- echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
- exit 1
- ;;
-esac
-else
-
-# Here we handle the default operating systems that come with various machines.
-# The value should be what the vendor currently ships out the door with their
-# machine or put another way, the most popular os provided with the machine.
-
-# Note that if you're going to try to match "-MANUFACTURER" here (say,
-# "-sun"), then you have to tell the case statement up towards the top
-# that MANUFACTURER isn't an operating system. Otherwise, code above
-# will signal an error saying that MANUFACTURER isn't an operating
-# system, and we'll never get to this point.
-
-case $basic_machine in
- *-acorn)
- os=-riscix1.2
- ;;
- arm*-corel)
- os=-linux
- ;;
- arm*-semi)
- os=-aout
- ;;
- pdp11-*)
- os=-none
- ;;
- *-dec | vax-*)
- os=-ultrix4.2
- ;;
- m68*-apollo)
- os=-domain
- ;;
- i386-sun)
- os=-sunos4.0.2
- ;;
- m68000-sun)
- os=-sunos3
- # This also exists in the configure program, but was not the
- # default.
- # os=-sunos4
- ;;
- m68*-cisco)
- os=-aout
- ;;
- mips*-cisco)
- os=-elf
- ;;
- mips*-*)
- os=-elf
- ;;
- *-tti) # must be before sparc entry or we get the wrong os.
- os=-sysv3
- ;;
- sparc-* | *-sun)
- os=-sunos4.1.1
- ;;
- *-be)
- os=-beos
- ;;
- *-ibm)
- case $basic_machine in
- s390*)
- os=-os390;
- ;;
- i370*)
- os=-mvs;
- ;;
- *)
- os=-aix
- ;;
- esac
- ;;
- *-wec)
- os=-proelf
- ;;
- *-winbond)
- os=-proelf
- ;;
- *-oki)
- os=-proelf
- ;;
- *-hp)
- os=-hpux
- ;;
- *-hitachi)
- os=-hiux
- ;;
- i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
- os=-sysv
- ;;
- *-cbm)
- os=-amigaos
- ;;
- *-dg)
- os=-dgux
- ;;
- *-dolphin)
- os=-sysv3
- ;;
- m68k-ccur)
- os=-rtu
- ;;
- m88k-omron*)
- os=-luna
- ;;
- *-next )
- os=-nextstep
- ;;
- *-sequent)
- os=-ptx
- ;;
- *-crds)
- os=-unos
- ;;
- *-ns)
- os=-genix
- ;;
- i370-*)
- os=-mvs
- ;;
- *-next)
- os=-nextstep3
- ;;
- *-gould)
- os=-sysv
- ;;
- *-highlevel)
- os=-bsd
- ;;
- *-encore)
- os=-bsd
- ;;
- *-sgi)
- os=-irix
- ;;
- *-siemens)
- os=-sysv4
- ;;
- *-masscomp)
- os=-rtu
- ;;
- f301-fujitsu)
- os=-uxpv
- ;;
- *-rom68k)
- os=-coff
- ;;
- *-*bug)
- os=-coff
- ;;
- *-apple)
- os=-macos
- ;;
- *-atari*)
- os=-mint
- ;;
- *)
- os=-none
- ;;
-esac
-fi
-
-# Here we handle the case where we know the os, and the CPU type, but not the
-# manufacturer. We pick the logical manufacturer.
-vendor=unknown
-case $basic_machine in
- *-unknown)
- case $os in
- -riscix*)
- vendor=acorn
- ;;
- -sunos*)
- vendor=sun
- ;;
- -aix*)
- vendor=ibm
- ;;
- -beos*)
- vendor=be
- ;;
- -hpux*)
- vendor=hp
- ;;
- -mpeix*)
- vendor=hp
- ;;
- -hiux*)
- vendor=hitachi
- ;;
- -unos*)
- vendor=crds
- ;;
- -dgux*)
- vendor=dg
- ;;
- -luna*)
- vendor=omron
- ;;
- -genix*)
- vendor=ns
- ;;
- -mvs*)
- vendor=ibm
- ;;
- -ptx*)
- vendor=sequent
- ;;
- -vxsim* | -vxworks*)
- vendor=wrs
- ;;
- -aux*)
- vendor=apple
- ;;
- -hms*)
- vendor=hitachi
- ;;
- -mpw* | -macos*)
- vendor=apple
- ;;
- -*mint | -*MiNT)
- vendor=atari
- ;;
- esac
- basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
- ;;
-esac
-
-echo $basic_machine$os
diff --git a/helpers/cvstodsp5.pl b/helpers/cvstodsp5.pl
deleted file mode 100644
index d37442735..000000000
--- a/helpers/cvstodsp5.pl
+++ /dev/null
@@ -1,43 +0,0 @@
-use IO::File;
-use File::Find;
-
-chdir '..';
-find(\&tovc5, '.');
-
-sub tovc5 {
-
- if (m|.dsp$|) {
- $oname = $_;
- $tname = '.#' . $_;
- $verchg = 0;
- $srcfl = new IO::File $oname, "r" || die;
- $dstfl = new IO::File $tname, "w" || die;
- while ($src = <$srcfl>) {
- if ($src =~ s|Format Version 6\.00|Format Version 5\.00|) {
- $verchg = -1;
- }
- if ($src =~ s|^(# ADD CPP .*)/ZI (.*)|$1/Zi $2|) {
- $verchg = -1;
- }
- if ($src =~ s|^(# ADD BASE CPP .*)/ZI (.*)|$1/Zi $2|) {
- $verchg = -1;
- }
- if ($src !~ m|^# PROP AllowPerConfigDependencies|) {
- print $dstfl $src; }
- else {
- $verchg = -1;
-
- }
- }
- undef $srcfl;
- undef $dstfl;
- if ($verchg) {
- unlink $oname || die;
- rename $tname, $oname || die;
- print "Converted VC6 project " . $oname . " to VC5 in " . $File::Find::dir . "\n";
- }
- else {
- unlink $tname;
- }
- }
-} \ No newline at end of file
diff --git a/helpers/default.pl b/helpers/default.pl
deleted file mode 100644
index f260cd5d3..000000000
--- a/helpers/default.pl
+++ /dev/null
@@ -1,518 +0,0 @@
-<<
-# Scandoc template file.
-#
-# This is an example set of templates that is designed to create several
-# different kinds of index files. It generates a "master index" which intended
-# for use with a frames browser; A "package index" which is the root page of
-# the index, and then "package files" containing documentation for all of the
-# classes within a single package.
-
-######################################################################
-
-## For quick and superficial customization,
-## simply change these variables
-
-$project_name = '[Apache Portable RunTime]';
-#$company_logo = '<img src="../images/ScanDocBig.jpg">'; # change this to an image tag.
-$copyright = '&copy 2000 [Apache Software Foundation]';
-$image_directory = "../images/";
-$bullet1_image = $image_directory . "ball1.gif";
-$bullet2_image = $image_directory . "ball2.gif";
-$bgcolor1 = "#FFFFFF";
-$bgcolor2 = "#FFFFFF";
-
-######################################################################
-
-## Begin generating frame index file.
-
-file "index.html";
->><html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; iso-8859-1">
- <title>$project_name</title>
- </head>
- <frameset cols="190,*">
- <frame src="master.html" name="Master Index" noresize>
- <frame src="packages.html" name="Documentation">
- <noframes>
- <body bgcolor="$bgcolor2" stylesrc="index.html">
- <p>Some Documentation</p>
- </body>
- </noframes>
- </frameset>
-</html>
-<<
-
-######################################################################
-
-## Begin generating master index file (left-hand frame).
-
-file "master.html";
->><html>
- <head>
- <title>Master Index</title>
- </head>
- <body bgcolor="$bgcolor1" text=#0000ff link=#0020ff vlink=#0020ff>
- <center><img src="${image_directory}ScanDocSmall.jpg" border="0" /></center>
- <p>
- <a href="packages.html" target="Documentation">Master Index</a>
- </p>
- <p>
- <font size="2">
- <nobr>
-<<
-
-## For each package, generate an index entry.
-
-foreach $p (packages()) {
- $_ = $p->url;
- s/\s/_/g;
- >><a href="$_" target="Documentation"><b>$(p.name)</b></a><br>
- <dir>
- <<
- foreach $e ($p->classes()) {
- $_ = $e->url;
- s/\s/_/g;
- >><li><a href="$_" target="Documentation">$(e.fullname)</a>
- <<
- }
- foreach $e ($p->globals()) {
- $_ = $e->url;
- s/\s/_/g;
- >><li><a href="$_" target="Documentation">$(e.fullname)</a>
- <<
- }
- >></dir><<
-}
-
->>
- <a href="to-do.html" target="Documentation"><b>To-Do List</b></a><br>
- </nobr>
- </font>
- </p>
- </body>
-</html>
-<<
-
-######################################################################
-
-## Begin generating package index file
-
-file "packages.html";
->><html>
- <head>
- <title>$project_name -- Packages</title>
- </head>
- <body bgcolor="$bgcolor2">
-
- <center>$company_logo
- <h1>Documentation for $project_name</h1>
- </center>
- <h2>Package List</h2>
-<<
-
-## For each package, generate an index entry.
-
-foreach $p (packages()) {
- $_ = $p->url;
- s/\s/_/g;
- >><a href = "$_">$(p.name)</a><br>
- <<
-}
-
->>
- <p>
- <hr size=4>
- $copyright<br>
- Generated by <a href="$scandocURL"><b>ScanDoc $majorVersion.$minorVersion</b></a><br>
- Last Updated: $date<br>
- </body>
-</html>
-
-<<
-
-######################################################################
-
-## Generate "To-do list"
-
-file "to-do.html";
->><html>
- <head>
- <title>$project_name -- To-Do list</title>
- </head>
- <body bgcolor="$bgcolor2">
-
- $company_logo
-
- <h1>To-do list for $project_name</h1>
-<<
-
-if (&todolistFiles()) {
- >><hr size=4><p>
- <<
- foreach $f (&todolistFiles()) {
- my @m = &todolistEntries( $f );
- if ($f =~ /([^\/]+)$/) { $f = $1; }
- >><b>$f:</b><ul>
- <<
- foreach $text (@m) {
- if ($text) {
- print "<li>", &processDescription( $text ), "\n";
- }
- }
- >></ul>
- <<
- }
-}
-
->>
- <hr size=4>
- $copyright<br>
- Generated by <a href="$scandocURL"><b>ScanDoc $majorVersion.$minorVersion</b></a><br>
- Last Updated: $date<br>
- </body>
-</html>
-<<
-
-######################################################################
-
-## Generate individual files for each package.
-
-my $p;
-foreach $p (packages()) {
- $_ = $p->name;
- s/\s/_/g;
- file $_ . ".html";
- >><html>
- <head>
- <title>$project_name -- $(p.name)</title>
- </head>
- <body bgcolor="$bgcolor2">
- <center>
- <font size=6><b>$project_name</b></font>
- <hr size=4><p>
- </center>
-
- <h2>Package Name: $(p.name)</h2>
- <b>
-<<
-
-## Generate class and member index at the top of the file.
-
-foreach $c ($p->classes()) {
- $_ = $c->url;
- s/\s/_/g;
- >><h3><img src="$bullet1_image" width=18 height=17 align=texttop>
- <a href="$_">$(c.fullname)</h3></a>
- <ul>
- <<
- foreach $m ($c->members()) {
- $_ = $m->url;
- s/\s/_/g;
- >><li><a href="$_">$(m.longname)</a>
- <<
- }
- >></ul>
- <<
-}
-
->>
-</b>
-<<
-
-## Generate detailed class documentation
-foreach $c ($p->classes()) {
- ## Output searchable keyword list
- if ($c->keywords()) {
- print "<!-- ", $c->keywords(), " -->\n";
- }
-
- >><hr size="4">
- <a name="$(c.anchor)"></a>
- <h1>$(c.fullname)</h1>
- <table bgcolor="ffffff" border="0" cellspacing="4">
- <tr>
- <th align=center colspan=2>
- </th>
- </tr>
- <<
-
- # Output author tag
- if ($c->author()) {
- >><tr><th width=20% align=right>Author:</th><<
- >><td>$(c.author)</td></tr><<
- }
-
- # Output package version
- if ($c->version()) {
- >><tr><th width=20% align=right>Version:</th><<
- >><td>$(c.version)</td></tr><<
- }
-
- # Output Source file
- if ($c->sourcefile()) {
- >><tr><th width=20% align=right>Source:</th><<
- >><td>$(c.sourcefile)</td></tr><<
- }
-
- # Output base class list
- if ($c->baseclasses()) {
- >><tr><th width=20% align=right>Base classes:</th>
- <td><<
- my @t = ();
- foreach $b ($c->baseclasses()) {
- my $name = $b->name();
- if ($url = $b->url()) {
- $_ = $url;
- s/\s/_/g;
- push @t, "<a href=\"$_\">$name</a>";
- }
- else { push @t, $name; }
- }
- print join( ', ', @t );
- >></td></tr>
- <<
- }
-
- # Output subclasses list
- if ($c->subclasses()) {
- >><tr><th width=20% align=right>Subclasses:</th>
- <td><<
- my @t = ();
- foreach $s ($c->subclasses()) {
- my $name = $s->name();
- if ($url = $s->url()) {
- $_ = $url;
- s/\s/_/g;
- push @t, "<a href=\"$_\">$name</a>";
- }
- else { push @t, $name; }
- }
- print join( ', ', @t );
- >></td></tr><<
- }
-
- # Output main class description
- >></tr>
- </table>
- <p>
- <<
- print &processDescription( $c->description() );
-
- # Output "see also" information
- if ($c->seealso()) {
- >><p><dt><b>See Also</b><dd>
- <<
- my @r = ();
- foreach $a ($c->seealso()) {
- my $name = $a->name();
- if ($url = $a->url()) {
- $_ = $url;
- s/\s/_/g;
- push @r, "<a href=\"$_\">$name</a>";
- }
- else { push @r, $name; }
- }
- print join( ',', @r );
- >><p>
- <<
- }
-
- # Output class member index
- if ($c->members()) {
- print "<h2>Member Index</h2>\n";
- print "<ul>";
- foreach $m ($c->members()) {
- $_ = $m->url;
- s/\s/_/g;
- >><li><a href="$_">$(m.fullname)</a>
- <<
- }
- >></ul><<
- }
-
- # Output class member variable documentation
- if ($c->membervars()) {
- print "<h2>Class Variables</h2>\n";
- print "<blockquote>\n";
- foreach $m ($c->membervars()) { &variable( $m ); }
- print "</blockquote>\n";
- }
-
- # Output class member function documentation
- if ($c->memberfuncs()) {
- print "<h2>Class Methods</h2>\n";
- print "<blockquote>\n";
- foreach $m ($c->memberfuncs()) { &function( $m ); }
- print "</blockquote>\n";
- }
-}
-
-# Output global variables
-if ($p->globalvars()) {
- >><h2>Global Variables</h2>
- <blockquote>
- <<
- foreach $m ($p->globalvars()) { &variable( $m ); }
- print "</blockquote>\n";
-}
-
-# Output global functions
-if ($p->globalfuncs()) {
- >><h2>Global Functions</h2>
- <blockquote>
- <<
- foreach $m ($p->globalfuncs()) { &function( $m ); }
- print "</blockquote>\n";
-}
-
->>
- <hr size=4>
- $copyright<br>
- Generated by <a href="$scandocURL"><b>ScanDoc $majorVersion.$minorVersion</b></a><br>
- Last Updated: $date<br>
- </body>
-</html>
-<<
-} # end of foreach (packages) loop
-
-######################################################################
-
-## Subroutine to generate documentation for a member function or global function
-
-sub function {
- local ($f) = @_;
-
- if ($f->keywords()) {
- >><!-- $(f.keywords) -->
- <<
- }
- >>
- <a name="$(f.anchor)"></a>
- <dl>
- <dt>
- <b><img src="$bullet2_image" width=19 height=17 align=texttop>$(f.fullname);</b>
- <dd>
- <<
- print &processDescription( $f->description() );
- >>
- <p><dl>
- <<
- if ($f->params()) {
- >>
- <dt><b>Parameters</b><dd>
- <table width="85%">
- <<
- foreach $a ($f->params()) {
- >><tr valign=top><th align=right>
- $(a.name)</th><td><<
- print &processDescription( $a->description() );
- >></td></tr>
- <<
- }
- >></table>
- <<
- }
-
- if ($f->returnValue()) {
- >><dt><b>Return Value</b>
- <dd><<
- print &processDescription( $f->returnValue() );
- >><p><<
- }
-
- if ($f->exceptions()) {
- >><dt><b>Exceptions</b><dd>
- <table width=85%><tr><td colspan=2><hr size=3></td></tr>
- <<
- foreach $a ($f->exceptions()) {
- >><tr valign=top><th align=right>
- $(a.name)</th><td><<
- print &processDescription( $a->description() );
- >></td></tr>
- <<
- }
- >><tr><td colspan=2><hr size=3></td></tr></table>
- <<
- }
-
- if ($f->seealso()) {
- >><dt><b>See Also</b><dd>
- <<
- my @r = ();
- foreach $a ($f->seealso()) {
- my $name = $a->name();
- if ($url = $a->url()) {
- $_ = $url;
- s/\s/_/g;
- push @r, "<a href=\"$_\">$name</a>";
- }
- else { push @r, $name; }
- }
- print join( ',', @r );
- >><p><<
- }
- >></dl></dl>
- <<
-}
-
-######################################################################
-
-## Subroutine to generate documentation for a member variable or global variable.
-
-sub variable {
- local ($v) = @_;
-
- if ($v->keywords()) {
- print "<!-- $(v.keywords) -->";
- }
-
- >>
- <a name="$(v.name)"></a>
- <dl><dt>
- <b><img src="$bullet2_image" width=19 height=17 align=texttop>$(v.fullname);</b>
- <dd>
- <<print &processDescription( $v->description() );>>
- <p><dl>
- <<
- if ($v->seealso()) {
- >><dt><b>See Also</b><dd>
- <<
- $comma = 0;
- foreach $a ($v->seealso()) {
- $_ = $a->url;
- s/\s/_/g;
- if ($comma) { print ","; }
- $comma = 1;
- >><a href="$_">$(a.name)</a>
- <<
- }
- >><p>
- <<
- }
- >></dl></dl>
- <<
-}
-
-######################################################################
-
-sub processDescription {
- local ($_) = @_;
-
- # handle HTML markup issues.
- s/</&lt;/g;
- s/>/&gt;/g;
-
- s/^\s+//; # Remove whitespace from beginning
- s/\s+$/\n/; # Remove whitespace from end
- s/\n\n/<p>\n/g; # Replace multiple CR's with paragraph markers
- s:\@heading(.*)\n:<p><h2>$1</h2>:; # Handle heading text
-
- # Handle embedded image tags
- s:\@caution:<p><img src=\"${image_directory}/caution.gif\" align=left>:;
- s:\@warning:<p><img src=\"${image_directory}/warning.gif\" align=left>:;
- s:\@bug:<p><img src=\"${image_directory}/bug.gif\">:;
- s:\@tip:<p><img src=\"${image_directory}/tip.gif\">:;
-
- return $_;
-}
diff --git a/helpers/dsp5tocvs.pl b/helpers/dsp5tocvs.pl
deleted file mode 100644
index 9686b4363..000000000
--- a/helpers/dsp5tocvs.pl
+++ /dev/null
@@ -1,46 +0,0 @@
-use IO::File;
-use File::Find;
-
-chdir '..';
-find(\&tovc6, '.');
-
-sub tovc6 {
-
- if (m|.dsp$|) {
- $oname = $_;
- $tname = '.#' . $_;
- $verchg = 0;
- $srcfl = new IO::File $_, "r" || die;
- $dstfl = new IO::File $tname, "w" || die;
- while ($src = <$srcfl>) {
- if ($src =~ s|Format Version 5\.00|Format Version 6\.00|) {
- $verchg = -1;
- }
- if ($src =~ s|^(# ADD CPP .*)/Zi (.*)|$1/ZI $2|) {
- $verchg = -1;
- }
- if ($src =~ s|^(# ADD BASE CPP .*)/Zi (.*)|$1/ZI $2|) {
- $verchg = -1;
- }
- if ($src =~ s|^(!MESSAGE .*)\\\n|$1|) {
- $cont = <$srcfl>;
- $src = $src . $cont;
- $verchg = -1;
- }
- print $dstfl $src;
- if ($verchg && $src =~ m|^# Begin Project|) {
- print $dstfl "# PROP AllowPerConfigDependencies 0\n";
- }
- }
- undef $srcfl;
- undef $dstfl;
- if ($verchg) {
- unlink $oname || die;
- rename $tname, $oname || die;
- print "Converted VC5 project " . $oname . " to VC6 in " . $File::Find::dir . "\n";
- }
- else {
- unlink $tname;
- }
- }
-}
diff --git a/helpers/install.sh b/helpers/install.sh
deleted file mode 100755
index 9a8821fa2..000000000
--- a/helpers/install.sh
+++ /dev/null
@@ -1,112 +0,0 @@
-#!/bin/sh
-##
-## install.sh -- install a program, script or datafile
-##
-## Based on `install-sh' from the X Consortium's X11R5 distribution
-## as of 89/12/18 which is freely available.
-## Cleaned up for Apache's Autoconf-style Interface (APACI)
-## by Ralf S. Engelschall <rse@apache.org>
-##
-#
-# This script falls under the Apache License.
-# See http://www.apache.org/docs/LICENSE
-
-
-#
-# 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}"
-
-#
-# parse argument line
-#
-instcmd="$mvprog"
-chmodcmd=""
-chowncmd=""
-chgrpcmd=""
-stripcmd=""
-rmcmd="$rmprog -f"
-mvcmd="$mvprog"
-ext=""
-src=""
-dst=""
-while [ "x$1" != "x" ]; do
- case $1 in
- -c) instcmd="$cpprog"
- 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
- ;;
- -S) stripcmd="$stripprog $2"
- shift; shift; continue
- ;;
- -e) ext="$2"
- shift; shift; continue
- ;;
- *) if [ "x$src" = "x" ]; then
- src=$1
- else
- dst=$1
- fi
- shift; continue
- ;;
- esac
-done
-if [ "x$src" = "x" ]; then
- echo "install.sh: no input file specified"
- exit 1
-fi
-if [ "x$dst" = "x" ]; then
- echo "install.sh: no destination specified"
- exit 1
-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`"
-fi
-
-# Add a possible extension (such as ".exe") to src and dst
-src="$src$ext"
-dst="$dst$ext"
-
-# Make a temp file name in the proper directory.
-dstdir=`dirname $dst`
-dsttmp=$dstdir/#inst.$$#
-
-# Move or copy the file name to the temp name
-$instcmd $src $dsttmp
-
-# And set any options; do chmod last to preserve setuid bits
-if [ "x$chowncmd" != "x" ]; then $chowncmd $dsttmp; fi
-if [ "x$chgrpcmd" != "x" ]; then $chgrpcmd $dsttmp; fi
-if [ "x$stripcmd" != "x" ]; then $stripcmd $dsttmp; fi
-if [ "x$chmodcmd" != "x" ]; then $chmodcmd $dsttmp; fi
-
-# Now rename the file to the real destination.
-$rmcmd $dst
-$mvcmd $dsttmp $dst
-
-exit 0
-
diff --git a/helpers/make_export.awk b/helpers/make_export.awk
deleted file mode 100644
index 7d61a55fa..000000000
--- a/helpers/make_export.awk
+++ /dev/null
@@ -1,54 +0,0 @@
-# Based on Ryan Bloom's make_export.pl
-
-/^#[ \t]*if(def)? (AP[RU]?_|!?defined).*/ {
- if (old_filename != FILENAME) {
- if (old_filename != "") printf("%s", line)
- macro_no = 0
- found = 0
- count = 0
- old_filename = FILENAME
- line = ""
- }
- macro_stack[macro_no++] = macro
- macro = substr($0, length($1)+2)
- count++
- line = line macro "\n"
- next
-}
-
-/^#[ \t]*endif/ {
- if (count > 0) {
- count--
- line = line "/" macro "\n"
- macro = macro_stack[--macro_no]
- }
- if (count == 0) {
- if (found != 0) {
- printf("%s", line)
- }
- line = ""
- }
- next
-}
-
-/^[ \t]*(AP[RU]?_DECLARE[^(]*[(])?(const[ \t])?[a-z_]+[ \t\*]*[)]?[ \t]+[*]?([A-Za-z0-9_]+)\(/ {
- if (count) {
- found++
- }
- for (i = 0; i < count; i++) {
- line = line "\t"
- }
- sub("^[ \t]*(AP[UR]?_DECLARE[^(]*[(])?(const[ \t])?[a-z_]+[ \t\*]*[)]?[ \t]+[*]?", "");
- sub("[(].*", "");
- line = line $0 "\n"
-
- if (count == 0) {
- printf("%s", line)
- line = ""
- }
- next
-}
-
-END {
- printf("%s", line)
-}
diff --git a/helpers/mkdep.sh b/helpers/mkdep.sh
deleted file mode 100755
index 510bdc02f..000000000
--- a/helpers/mkdep.sh
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/sh
-#
-# 1) remove everything after the DO NOT REMOVE
-# 2) generate the dependencies, adding them to the end of Makefile.new
-# 3) move the Makefile.new back into place
-#
-# Note that we use && to ensure that Makefile is not changed if an error
-# occurs during the process
-#
-sed -ne '1,/^# DO NOT REMOVE/p' Makefile > Makefile.new \
- && gcc -MM $* | sed -e "s/\.o:/\.lo:/" >> Makefile.new \
- && mv Makefile.new Makefile
diff --git a/helpers/mkdir.sh b/helpers/mkdir.sh
deleted file mode 100755
index 4cd33c567..000000000
--- a/helpers/mkdir.sh
+++ /dev/null
@@ -1,35 +0,0 @@
-#!/bin/sh
-##
-## mkdir.sh -- make directory hierarchy
-##
-## Based on `mkinstalldirs' from Noah Friedman <friedman@prep.ai.mit.edu>
-## as of 1994-03-25, which was placed in the Public Domain.
-## Cleaned up for Apache's Autoconf-style Interface (APACI)
-## by Ralf S. Engelschall <rse@apache.org>
-##
-#
-# This script falls under the Apache License.
-# See http://www.apache.org/docs/LICENSE
-
-
-umask 022
-errstatus=0
-for file in ${1+"$@"} ; do
- set fnord `echo ":$file" |\
- sed -e 's/^:\//%/' -e 's/^://' -e 's/\// /g' -e 's/^%/\//'`
- shift
- pathcomp=
- for d in ${1+"$@"}; do
- pathcomp="$pathcomp$d"
- case "$pathcomp" in
- -* ) pathcomp=./$pathcomp ;;
- esac
- if test ! -d "$pathcomp"; then
- echo "mkdir $pathcomp" 1>&2
- mkdir "$pathcomp" || errstatus=$?
- fi
- pathcomp="$pathcomp/"
- done
-done
-exit $errstatus
-
diff --git a/helpers/rules.mk.in b/helpers/rules.mk.in
deleted file mode 100644
index 7bc932ffc..000000000
--- a/helpers/rules.mk.in
+++ /dev/null
@@ -1,168 +0,0 @@
-# ====================================================================
-# The Apache Software License, Version 1.1
-#
-# Copyright (c) 2000-2001 The Apache Software Foundation. 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. The end-user documentation included with the redistribution,
-# if any, must include the following acknowledgment:
-# "This product includes software developed by the
-# Apache Software Foundation (http://www.apache.org/)."
-# Alternately, this acknowledgment may appear in the software itself,
-# if and wherever such third-party acknowledgments normally appear.
-#
-# 4. The names "Apache" and "Apache Software Foundation" must
-# not be used to endorse or promote products derived from this
-# software without prior written permission. For written
-# permission, please contact apache@apache.org.
-#
-# 5. Products derived from this software may not be called "Apache",
-# nor may "Apache" appear in their name, without prior written
-# permission of the Apache Software Foundation.
-#
-# THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 APACHE SOFTWARE FOUNDATION OR
-# ITS 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.
-# ====================================================================
-#
-# This software consists of voluntary contributions made by many
-# individuals on behalf of the Apache Software Foundation. For more
-# information on the Apache Software Foundation, please see
-# <http://www.apache.org/>.
-#
-
-#
-# rules.mk: standard rules for APR
-#
-
-@SET_MAKE@
-
-#
-# Configuration variables
-#
-top_builddir=@top_builddir@
-
-CC=@CC@
-AWK=@AWK@
-LIBTOOL=@LIBTOOL@
-
-CFLAGS=@CFLAGS@ @OPTIM@
-CPPFLAGS=@CPPFLAGS@ $(INCLUDES)
-LIBS=@LIBS@
-LDFLAGS=@LDFLAGS@
-
-RM=@RM@
-SHELL=@SHELL@
-
-MKEXPORT=@APR_MKEXPORT@
-MKDEP=@APR_MKDEP@
-SCANDOC=@APR_SCANDOC@
-
-### make LTFLAGS somewhat variable?
-LTFLAGS = --silent
-
-#
-# Basic macro setup
-#
-COMPILE = $(CC) $(CFLAGS) $(CPPFLAGS)
-LT_COMPILE = $(LIBTOOL) --mode=compile $(LTFLAGS) $(COMPILE) -c $< && touch $@
-
-LINK = $(LIBTOOL) --mode=link $(LTFLAGS) $(COMPILE) $(LDFLAGS) -o $@
-
-#
-# Standard build rules
-#
-all: all-recursive
-depend: depend-recursive
-clean: clean-recursive
-distclean: distclean-recursive
-extraclean: extraclean-recursive
-
-install: all-recursive
-
-
-all-recursive depend-recursive clean-recursive distclean-recursive \
- extraclean-recursive:
- @otarget=`echo $@ | sed s/-recursive//`; \
- list='$(SUBDIRS)'; \
- for i in $$list; do \
- if test -d "$$i"; then \
- target="$$otarget"; \
- echo "Making $$target in $$i"; \
- if test "$$i" = "."; then \
- made_local=yes; \
- target="local-$$target"; \
- fi; \
- (cd $$i && $(MAKE) $$target) || exit 1; \
- fi; \
- done; \
- if test "$$otarget" = "all" && test -z "$(TARGETS)"; then \
- made_local=n/a; \
- fi; \
- if test -z "$$made_local"; then \
- $(MAKE) "local-$$otarget" || exit 1; \
- fi
-
-local-clean: x-local-clean
- $(RM) -f *.o *.lo *.a *.la *.so $(CLEAN_TARGETS) $(PROGRAMS)
- $(RM) -rf .libs
-
-local-distclean: local-clean x-local-distclean
- $(RM) -f Makefile $(DISTCLEAN_TARGETS)
-
-local-extraclean: local-distclean
- @if test -n "$(EXTRACLEAN_TARGETS)"; then \
- echo $(RM) -f $(EXTRACLEAN_TARGETS) ; \
- $(RM) -f $(EXTRACLEAN_TARGETS) ; \
- fi
-
-local-all: $(TARGETS)
-
-local-depend:
- @if test -n "`ls *.c 2> /dev/null`"; then \
- echo $(MKDEP) $(CFLAGS) $(CPPFLAGS) *.c ; \
- $(MKDEP) $(CFLAGS) $(CPPFLAGS) *.c ; \
- fi
-
-# to be filled in by the actual Makefile
-x-local-clean x-local-distclean:
-
-
-#
-# Implicit rules for creating outputs from input files
-#
-.SUFFIXES:
-.SUFFIXES: .c .lo .o
-
-.c.o:
- $(COMPILE) -c $<
-
-.c.lo:
- $(LT_COMPILE)
-
-.PHONY: all depend clean distclean extraclean install \
- all-recursive depend-recursive clean-recursive distclean-recursive \
- extraclean-recursive
- local-all local-depend local-clean local-distclean local-extraclean \
- x-local-clean x-local-distclean
diff --git a/helpers/scandoc b/helpers/scandoc
deleted file mode 100755
index 13043a306..000000000
--- a/helpers/scandoc
+++ /dev/null
@@ -1,1339 +0,0 @@
-#!/usr/bin/perl
-#
-# ScanDoc - Version 0.12, A C/C++ Embedded Documentation Analyser
-# ----------------------------------------------------------------
-#
-# Distributed under the "Artistic License". See the file
-# "COPYING" that accompanies the ScanDoc distribution.
-#
-# See http://scandoc.sourceforge.net/ for more information and
-# complete documentation.
-#
-# (c) 1997 - 2000 Talin and others.
-
-require "ctime.pl";
-require "getopts.pl";
-
-# 1 = on (verbose); 0 = off
-$debug = 0;
-
-# Get the current date
-$date = &ctime(time);
-
-# Set the default tab size
-$tabSize = 4;
-
-$minorVersion = 12;
-$majorVersion = 0;
-$scandocURL = "http://scandoc.sourceforge.net/";
-
-# Set up default templates
-&Getopts( 'i:d:p:t:' );
-
-if ($#ARGV < 0) {
- die "Usage: -i <doc-template> -p <output-path> -t<tabsize> -d<sym>=<value> [ <input-files> ... ]\n";
-}
-
-# Read the template
-if (!defined $opt_i) {
- $opt_i = "default.pl";
-}
-&readTemplate( $opt_i );
-
-# Set the destination path.
-$destPath = "";
-$destPath = $opt_p if (defined($opt_p));
-
-# Set the tab size.
-$tabSize = $opt_t if (defined($opt_t));
-
-# Handle defines
-if ($opt_d) {
- foreach $def (split( /,/, $opt_d )) {
- if ($def =~ /\s*(\w*)\=(.*)/) {
- $${1} = $2;
- }
- else {
- $${1} = 1;
- }
- }
-}
-
-# For each input filename, parse it
-while ($srcfile = shift(@ARGV)) {
-
- $linenumber = 0;
- open( FILE, $srcfile ) || die "Can't open file $srcfile\n";
- print STDERR "Reading \"$srcfile\"\n";
-
- $docTag = 'description';
- $docEmpty = 1;
- $packageName = '.general';
- $author = '';
- $version = '';
- $class = 0;
- $_ = '';
-
- while (&parseDeclaration( '' )) {}
-}
-
-# Collate subclasses and associate with class record.
-foreach $className (keys %subclasses) {
- my $class = &classRecord( $className );
-
- if ($class) {
- my @subs = ();
- # print STDERR "$className ", join( ',', @{$subclasses{ $className }} ), "\n";
- foreach $subName ($subclasses{ $className }) {
- if (&classRecord( $subName )) {
- push @subs, $subName;
- }
- $class->{ 'subs' } = @subs;
- }
- }
-}
-
-# Turn packages into objects. Special case for "default" package.
-foreach $pkg (keys %packages)
-{
- # print STDERR $pkg, "\n";
- bless $packages{ $pkg }, PackageRecord;
- if ($pkg eq '.general') {
- $packages{ $pkg }{ 'name' } = "General";
- }
- else {
- $packages{ $pkg }{ 'name' } = $pkg;
- }
- # print STDERR $packages{ $pkg }->Classes(), "\n";
-}
-
-# Execute template file
-# print STDERR $docTemplate; # For debugging
-eval $docTemplate;
-print STDERR $@;
-
-exit;
-
-# ======================= Subroutines ================================
-
-# Read a line of input, and remove blank lines and preprocessor directives.
-sub rdln {
- my ($skip_next_line) = 0;
- if (defined ($_)) {
- my ($previous_line) = $_;
- while ( (/^(\s*|\#.*)$/ || $skip_next_line ) && ($_ = <FILE>)) {
- if ($previous_line =~ m/\\\s*/) { $skip_next_line = 1; }
- else { $skip_next_line = 0; }
- $previous_line = $_;
- $linenumber++;
- if ($debug) { print STDERR "(0:$srcfile) $linenumber.\n"; }
- }
- }
- # Dispose of Apache specific macros
- removeApacheMacros();
-}
-
-# Don't skip "#"
-sub rdln2 {
- if (defined ($_)) {
- while (/^(\s*)$/ && ($_ = <FILE>)) {$linenumber++; if ($debug) { print STDERR "(0:$srcfile) $linenumber.\n"; } }
- }
-}
-
-# Remove comments from current line
-sub removeComment {
- s|//.*||;
-}
-
-# parsing functions
-sub matchKW { &rdln; return (s/^\s*($_[0])//, $1) if defined ($_); return (0, 0); }
-#sub matchStruct { &rdln; return (s/^\s*(struct|class)//, $1) if defined ($_); return (0, 0); }
-#sub matchPermission { &rdln; return (s/^\s*(public|private|protected)// && $1) if defined ($_); return (0,0); }
-sub matchID { &rdln; return (s/^\s*([A-Za-z_]\w*)//, $1) if defined ($_); return (0,0); }
-sub matchColon { &rdln; return (s/^\s*\://) if defined ($_); return 0; }
-sub matchComma { &rdln; return (s/^\s*\,//) if defined ($_); return 0; }
-sub matchSemi { &rdln; return (s/^\s*\;//) if defined ($_); return 0; }
-sub matchRBracket { &rdln; return (s/^\s*\{//) if defined ($_); return 0; }
-sub matchLBracket { &rdln; return (s/^\s*\}//) if defined ($_); return 0; }
-sub matchRParen { &rdln; return (s/^\s*\(//) if defined ($_); return 0; }
-sub matchLParen { &rdln; return (s/^\s*\)//) if defined ($_); return 0; }
-sub matchRAngle { &rdln; return (s/^\s*\<//) if defined ($_); return 0; }
-sub matchLAngle { &rdln; return (s/^\s*\>//) if defined ($_); return 0; }
-sub matchDecl { &rdln; return (s/^(\s*[\s\w\*\[\]\~\&\n\:]+)//, $1) if defined ($_); return (0, 0); }
-sub matchOper { &rdln; return (s/^\s*([\~\&\^\>\<\=\!\%\*\+\-\/\|\w]*)// && $1) if defined ($_); return 0; }
-sub matchFuncOper { &rdln; return (s/^\s*(\(\))// && $1) if defined ($_); return 0; }
-sub matchAny { &rdln; return (s/^\s*(\S+)//, $1) if defined ($_); return (0, 0); }
-sub matchChar { &rdln; return (s/^(.)//, $1) if defined ($_); return (0, 0); }
-sub matchChar2 { &rdln2; return (s/^(.)//, $1) if defined ($_); return (0, 0); }
-sub matchString { &rdln; return (s/^\"(([^\\\"]|(\\.)))*\"//, $1) if defined ($_); return (0, 0); }
-
-# Skip to next semicolon
-sub skipToSemi {
-
- while (!&matchSemi) {
-
- &rdln;
- s|//.*||; # Eat comments
- if (&matchLBracket) {
- &skipBody;
- next;
- }
- last if !s/^\s*([^\s\{\;]+)//;
- # print STDERR "$1 ";
- }
-}
-
-# Skip function body
-sub skipBody {
- local( $nest );
-
- $nest = 1;
-
- for (;;) {
- if (&matchRBracket) { $nest++; }
- elsif (&matchLBracket) {
- $nest--;
- last if !$nest;
- }
- else {
- last if ((($valid,) = &matchKW( "[^\{\}]")) && !$valid);
- }
- }
-}
-
-# Skip a string. (multiline)
-sub skipString {
- local( $char, $lastchar);
- $lastchar = "\"";
-
- for (;;) {
- ($valid, $char) = &matchChar2;
- if (($char eq "\"") && ($lastchar ne "\\")) { last; }
- if ($lastchar eq "\\") { $lastchar = " "; }
- else { $lastchar = $char; }
- }
-}
-
-
-# Skip everything in parenthesis.
-sub skipParenBody {
- local( $nest );
-
- $nest = 1;
-
- for (;;) {
- if (&matchRParen) { $nest++; }
- elsif (&matchLParen) {
- $nest--;
- last if !$nest;
- }
- else {
- last if ((($valid,) = &matchKW( "[^\(\)]")) && !$valid);
- }
- }
-}
-
-# Parse (*name) syntax
-sub parseParenPointer {
- if (s/^(\s*\(\s*\*)//) {
- $decl .= $1;
- $nest = 1;
-
- for (;;) {
- # Preserve spaces, eliminate in-line comments
- &removeComment;
- while (s/^(\s+)//) { $decl .= $1; &rdln; }
-
- if (&matchRParen) { $nest++; $decl .= "("; }
- elsif (&matchLParen) {
- $decl .= ")";
- $nest--;
- last if !$nest;
- }
- elsif ((($valid, $d) = &matchKW( "[^\(\)]*")) && $valid) { $decl .= $d; }
- else { last; }
- }
-
- # Just in case there are array braces afterwards.
- while ((($valid, $d) = &matchDecl) && $valid) { $decl .= $d; }
- }
-}
-
-# Parse template arguments
-sub matchAngleArgs {
-
- if (&matchRAngle) {
- local ($args, $nest);
-
- $args = "&lt;";
- $nest = 1;
-
- for (;;) {
- if (&matchRAngle) { $nest++; $args .= "&lt;"; }
- elsif (&matchLAngle) {
- $nest--;
- $args .= "&gt;";
- last if !$nest;
- }
- elsif ((($valid, $d) = &matchChar) && $valid) { $args .= $d; }
- else { last; }
- }
- return $args;
- }
- else { return ''; }
-}
-
-# convert tabs to spaces
-sub expandTabs {
- local ($text) = @_;
- local ($n);
-
- while (($n = index($text,"\t")) >= 0) {
- substr($text, $n, 1) = " " x ($tabSize-($n % $tabSize));
- }
-
- return $text;
-}
-
-# Process a line of text from a "special" comment
-sub handleCommentLine {
- local ($_) = @_;
-
- if ($docEmpty) {
- # Eliminate blank lines at the head of the doc.
- return if (/^\s*$/);
- }
-
- # First, expand tabs.
- $_ = &expandTabs( $_ );
-
- # Remove gratuitous \s*\s (james)
- s/(^|\n)\s*\*\s/$1/g;
-
- # If it's one of the standard tags
- if (s/^\s*\@(see|package|version|author|param|return|result|exception|keywords|deffunc|defvar|heading|todo)\s*//) {
- my $tag = $1;
- $tag = 'return' if ($tag eq 'result');
-
- # for param and exception, split the param name and the text
- # seperate them with tabs.
- if ($tag eq "param" || $tag eq "exception") {
- s/^\s*(\w+)\s*(.*)/\t$1\t$2/;
- }
- elsif ($tag eq "heading") {
- # 'heading' is processed by the template, if at all.
- $_ = "\@heading\t$_";
- $tag = "description";
- }
- elsif ($tag eq 'todo') {
- if ($todolist{ $srcfile } ne '') {
- $todolist{ $srcfile } .= "\n";
- }
- }
-
- # If it's @deffunc or @defvar
- if ($tag =~ /def(.*)/) {
-
- $type = $1;
-
- # @deffunc and @defvar force a comment to be written out as if there was a
- # declaration.
- # Designed for use with macros and other constructs I can't parse.
-
- if (/(\S+)\s+(.*)$/) {
- $name = $1;
- $decl = $2;
- $dbname = &uniqueName( "$baseScope$name" );
-
- my $entry = { 'type' => $type,
- 'name' => $name,
- 'longname'=> $name,
- 'fullname'=> "$name $decl",
- 'scopename'=>"$baseScope$name",
- 'uname' => $dbname,
- 'decl' => $decl,
- 'package' => $packageName };
-
- bless $entry, MemberRecord;
-
- if ($class) {
- $entry->{ 'class' } = "$context";
- $class->{ 'members' }{ $dbname } = $entry;
- }
- else {
- $packages{ $packageName }{ 'globals' }{ $dbname } = $entry;
- }
- $docTag = 'description';
- &dumpComments( $entry );
- return;
- }
- }
- elsif ($tag eq 'package') {
- s/^\s*//;
- s/\s*$//;
- $packageName = $_;
- $docTag = 'description';
- return;
- }
- elsif ($tag eq 'author') {
- $author = $_;
- $docTag = 'description';
- return;
- }
- elsif ($tag eq 'version') {
- $version = $_;
- $docTag = 'description';
- return;
- }
-
- $docTag = $tag;
- }
- elsif (/^\s*@\w+/) {
- # any other line that begins with an @ should be inserted into the main
- # description for later expansion.
- $docTag = 'description';
- }
-
- # "To-do" lists are handled specially, and not associated with a class.
- if ($docTag eq 'todo') {
- $todolist{ $srcfile } .= $_;
- return;
- }
-
- # Append to current doc tag, regardless of whether it's a new line
- # or a continuation. Also mark this doc as non-empty.
- $docTags{ $docTag } .= $_;
- $docEmpty = 0;
-
- # @see doesn't persist.
- if ($docTag eq 'see') { $docTag = 'description'; }
-
- # print STDERR ":$_";
-}
-
-# Clear doc tag information at end of class or file
-sub clearComments {
-
- $docTag = 'description';
- $docEmpty = 1;
- %docTags = ();
-}
-
-# Add doc tag information to current documented item
-sub dumpComments {
- local ($hashref) = @_;
-
- if ($docEmpty == 0) {
-
- if ($author ne '') { $hashref->{ 'author' } = $author; }
- if ($version ne '') { $hashref->{ 'version' } = $version; }
- $hashref->{ 'sourcefile' } = $srcfile;
-
- # Store the tags for this documentation into the global doc symbol table
- foreach $key (keys %docTags) {
- my $data = $docTags{ $key };
-
- $data =~ s/\s*$//;
-
- $hashref->{ $key } = $data;
- }
- }
-
- &clearComments();
-}
-
-# Generate a unique name from the given name.
-sub uniqueName {
- local ($name) = @_;
-
- # Duplicate doc entries need to be distinguished, so give them a different label.
- while ($docs{ $name }) {
- if ($name =~ /-(\d+)$/) {
- $name = $` . "-" . ($1 + 1);
- }
- else { $name .= "-2"; }
- }
-
- $docs{ $name } = 1;
- return $name;
-}
-
-# Get the current class record.
-sub classRecord {
- local ($className) = @_;
- local ($pkg) = $classToPackage{ $className };
-
- if ($pkg) {
- return $packages{ $pkg }{ 'classes' }{ $className };
- }
- return 0;
-}
-
-# Parse a declaration in the file
-sub parseDeclaration {
-
- local ($context) = @_;
- local ($baseScope) = '';
- local ($decl);
- my ($token);
-
- if ($context) { $baseScope = $context . "::"; }
-
- &rdln;
-
- if (!defined ($_)) { return 0; }
-
- if (s|^\s*//\*\s+||) {
- # Special C++ comment
- &handleCommentLine( $' );
- $_ = ''; &rdln;
- }
- elsif (s|^\s*//||) {
- # Ordinary C++ comment
- $_ = '';
- &rdln;
- }
- elsif (s|^\s*\/\*\*\s+||) {
- # Special C comments
-
- s/\={3,}|\-{3,}|\*{3,}//; # Eliminate banner strips
- $text = '';
- $docTag = 'description';
-
- # Special comment
- while (!/\*\//) { &handleCommentLine( $_ ); $text .= $_; $_ = <FILE>; $linenumber++; if ($debug) { print STDERR "(1) $linenumber\n."; }}
- s/\={3,}|\-{3,}|\*{3,}//; # Eliminate banner strips
- /\*\//;
- &handleCommentLine( $` );
- $text.= $`; $_ = $';
- }
- elsif (s|^\s*\/\*||) {
- # Ordinary C comment
- $text = "";
-
- while (!/\*\//) { $text .= $_; $_ = <FILE>; $linenumber++; if ($debug) { print STDERR "(2) $linenumber\n."; }}
- /\*\//;
- $text.= $`; $_ = $';
- }
- elsif ((($valid, $tag) = &matchKW( "template")) && $valid) {
- # Template definition
- $args = &matchAngleArgs;
- &rdln;
-
- ##$tmplParams = $args; JAMES
- $result = &parseDeclaration( $context );
- ##$tmplParams = ''; JAMES
- return $result;
- }
- elsif ((($valid, $tag) = &matchKW("class|struct")) && $valid) {
- # Class or structure definition
- local ($className,$class);
-
- if ((($valid, $className) = &matchID) && $valid) {
-
- return 1 if (&matchSemi); # Only a struct tag
-
- # A class instance
- if ((($valid,)=&matchID) && $valid) {
- &matchSemi;
- return 1;
- }
-
- my $fullName = "$baseScope$className"; ##$tmplParams"; JAMES
- # print STDERR "CLASS $fullName\n";
-
- my @bases = ();
-
- if (&matchColon) {
-
- for (;;) {
- my $p;
- &matchKW( "virtual" );
- $perm = "private";
- if ((($valid, $p) = &matchKW( "public|private|protected" )) && $valid) { $perm = $p; }
- &matchKW( "virtual" );
-
- last if !( (($valid, $base) = &matchID) && $valid );
-
- push @bases, $base;
- push @{ $subclasses{ $base } }, $fullName;
- # print STDERR " : $perm $base\n";
- last if !&matchComma;
- }
- }
-
- # print STDERR "\n";
- # print STDERR "parsing class $fullName\n";
-
- if ($docEmpty == 0) {
- $class = { 'type' => $tag,
- 'name' => $fullName,
- 'longname'=> "$tag $className",
- 'fullname'=> "$tag $className",
- 'scopename'=> "$tag $fullName",
- 'uname' => $fullName,
- 'bases' => \@bases,
- 'package' => $packageName,
- 'members' => {} };
-
- # print STDERR "$className: @bases\n";
-
- bless $class, ClassRecord;
-
- print STDERR " parsing class $fullName\n";
- # $classToPackage{ $className } = $packageName;
- $classToPackage{ $fullName } = $packageName;
- # $classList{ $className } = $class;
- $classList{ $fullName } = $class;
- $packages{ $packageName }{ 'classes' }{ $fullName } = $class;
- &dumpComments( $class );
- }
-
- if (&matchRBracket) {
- local ($perm) = ("private");
-
- while (!&matchLBracket) {
- my $p;
- if ((($valid, $p) = &matchKW( "public\:|private\:|protected\:" )) && $valid) {
- $perm = $p;
- }
- else {
- &parseDeclaration( $fullName )
- || die "Unmatched brace! line = $linenumber\n";
- }
- }
-
- &matchSemi;
- }
-
- &clearComments;
- }
- }
- elsif ( ((($valid,)=&matchKW( "enum")) && $valid) || ((($valid,)=&matchKW( "typedef" )) && $valid)) {
- &skipToSemi;
- }
- elsif ((($valid,)=&matchKW( "friend\s*class" )) && $valid) {
- &skipToSemi;
- }
- elsif ((($valid, $token) = &matchKW("extern\\s*\\\"C\\\"")) && $valid) {
- &matchRBracket;
- while (!&matchLBracket) {
- &parseDeclaration( '' ) || die "Unmatched brace! line = $linenumber\n";
- }
- &matchSemi;
- }
- # elsif ($kw = &matchID) {
- # $type = "$kw ";
- #
- # if ($kw =~/virtual|static|const|volatile/) {
- # $type .= &typ;
- # }
- # }
- elsif ((($valid, $decl) = &matchDecl) && $valid) {
- my ($instanceClass) = "";
-
- # print STDERR "DECLARATION=$decl, REST=$_, baseScope=$baseScope\n";
-
- return 1 if ($decl =~ /^\s*$/);
-
- if (!($class)) {
- if ($decl =~ s/(\S*\s*)(\S+)\:\:(\S+)\s*$/$1$3/) {
- $instanceClass = $2;
- }
- }
-
- # Eliminate in-line comments
- &removeComment;
-
- # Check for multi-line declaration
- while ((($valid, $d) = &matchDecl) && $valid) { $decl .= $d; }
-
- # Handle template args, but don't let operator overloading confuse us!
- $tempArgs = '';
- if (!($decl =~ /\boperator\b/) && ($tempArgs = &matchAngleArgs)) {
- $tempArgs = $decl . $tempArgs;
- $decl = '';
- while ((($valid, $d) = &matchDecl) && $valid) { $decl .= $d; }
- }
-
- # Look for (*name) syntax
- &parseParenPointer;
-
- # Special handling for operator... syntax
- $oper = "";
- if ($decl =~ s/\boperator\b(.*)/operator/) {
- $oper = $1;
- $oper .= &matchOper;
- # If, after all that there's no opers, then try a () operator
- if (!($oper =~ /\S/)) { $oper .= &matchFuncOper; }
- }
-
- ($type,$mod,$decl) = $decl =~ /([\s\w]*)([\s\*\&]+\s?)(\~?\w+(\[.*\])*)/;
-
- $type = $tempArgs . $type;
- $decl .= $oper;
-
- if ($mod =~ /\s/) { $type .= $mod; $mod = ""; }
-
- for (;;) {
-
- # print STDERR "Looping: $type/$mod/$decl\n";
-
- if (&matchRParen) {
- $nest = 1;
- $args = "";
-
- for (;;) {
- # print STDERR "Argloop $_\n";
-
- # Process argument lists.
-
- # Preserve spaces, eliminate in-line comments
- # REM: Change this to save inline comments and automatically
- # generate @param clauses
- s|//.*||;
- while (s/^(\s+)//) { $args .= " "; &rdln; }
-
- if (&matchRParen) { $nest++; $args .= "("; }
- elsif (&matchLParen) {
- $nest--;
- last if !$nest;
- $args .= ")";
- }
- elsif ((($valid, $d) = &matchKW( "[\,\=\.\:\-]" )) && $valid) { $args .= $d; }
- elsif ((($valid, $d) = &matchDecl) && $valid) { $args .= $d; }
- elsif ((($valid, $d) = &matchAngleArgs) && $valid) { $args .= $d; }
- elsif ((($valid, $d) = &matchString) && $valid) { $args .= "\"$d\""; }
- else { last; }
- }
-
- # print STDERR "$type$mod$baseScope$decl($args);\n";
-
- &matchKW( "const" );
-
- # Search for any text within the name field
- # if ($docTag && $decl =~ /\W*(~?\w*).*/)
- if ($docEmpty == 0) {
- $type =~ s/^\s+//;
- $mod =~ s/\&/\&amp;/g;
- $args =~ s/\&/\&amp;/g;
- $args =~ s/\s+/ /g;
- $dbname = &uniqueName( "$baseScope$decl" );
-
- my $entry = { 'type' => 'func',
- 'name' => $decl,
- 'longname'=> "$decl()",
- 'fullname'=> "$type$mod$decl($args)",
- 'scopename'=>"$type$mod$baseScope$decl($args)",
- 'uname' => $dbname,
- 'decl' => "$type$mod$decl($args)",
- 'package' => $packageName };
-
- bless $entry, MemberRecord;
-
- if ($class) {
- $entry->{ 'class' } = "$context";
- $class->{ 'members' }{ $dbname } = $entry;
- }
- elsif ($instanceClass) {
- $class = &classRecord ($instanceClass);
- if (!($class)) {
- print STDERR "WARNING: Skipping \"$instanceClass\:\:$decl\". Class \"$instanceClass\" not declared ($linenumber).\n";
- } else {
- $entry->{ 'class' } = "$instanceClass";
- $class->{ 'members' }{ $dbname } = $entry;
- $class = 0;
- }
- }
- else {
- $packages{ $packageName }{ 'globals' }{ $dbname } = $entry;
- }
- &dumpComments( $entry );
- }
- else { &clearComments; }
-
- s|//.*||;
-
- # Constructor super-call syntax
- if (&matchColon) {
-
- # Skip over it.
- for (;;) {
- &rdln;
- last if /^\s*(\{|\;)/;
- last if !((($valid,)=&matchAny) && $valid);
- }
- }
-
- last if &matchSemi;
- if (&matchRBracket) { &skipBody; last; }
- last if !&matchComma;
- last if !((($valid, $decl) = &matchDecl) && $valid);
-
- # Look for (*name) syntax
- &parseParenPointer;
-
- $decl =~ s/^\s*//;
- $oper = "";
- if ($decl =~ /\boperator\b/) {
- $decl =~ s/\boperator\b(.*)/operator/;
- $oper = $1 . &matchOper;
- }
- ($mod,$d) = $decl =~ /^\s*([\*\&]*)\s*(\~?\w+(\[.*\])*)/;
- $decl .= $oper;
- $decl = $d if $d ne "";
- }
- else {
- s|//.*||;
-
- $final = 0;
-
- if ((($valid,)=&matchKW( "\=" )) && $valid) {
- for (;;) {
-
- if (&matchRBracket) {
- &skipBody;
- $final = 1;
- last;
- }
-
- if (&matchSemi) {
- $final = 1;
- last;
- }
-
- # var = new ... (...)
- if ((($valid,)=&matchKW("new")) && $valid) {
- &matchKW("[A-Za-z_0-9 ]*");
- if (&matchRParen) {
- &skipParenBody;
- }
- }
-
- # var = (.....) ...
- if (&matchRParen) {
- &skipParenBody;
- }
-
- # var = ... * ...
- &matchKW ("[\/\*\-\+]*");
-
- # var = "..."
- if ((($valid,) = &matchKW ("[\"]")) && $valid) {
- &skipString;
- }
- #&matchString;
-
- last if /^\s*,/;
- #last if !((($valid,)=&matchAny) && $valid);
- last if !((($valid,)=&matchKW("[A-Za-z_0-9 \-]*")) && $valid);
- if (&matchSemi) {
- $final = 1;
- last;
- }
- }
- }
-
- s|//.*||;
-
- # void ~*&foo[];
- # void foo[];
- # void far*foo[];
- # print STDERR "Decl: $type$mod$baseScope$decl;\n";
-
- # Search for any text within the name field
- if ($docEmpty == 0 && ($decl =~ /\W*(~?\w*).*/))
- {
- $mod =~ s/\&/\&amp;/g;
- $name = $decl;
-
- $dbname = &uniqueName( "$baseScope$1" );
-
- my $entry = { 'type' => 'var',
- 'name' => $1,
- 'longname' => "$name",
- 'fullname' => "$type$mod$decl",
- 'scopename'=> "$baseScope$type$mod$decl",
- 'uname' => $dbname,
- 'decl' => "$type$mod$decl",
- 'package' => $packageName };
-
- bless $entry, MemberRecord;
-
- if ($class) {
- $entry->{ 'class' } = "$context";
- $class->{ 'members' }{ $dbname } = $entry;
- }
- else {
- $packages{ $packageName }{ 'globals' }{ $dbname } = $entry;
- }
- &dumpComments( $entry );
- }
- else { &clearComments; }
-
- last if $final;
- last if &matchSemi;
- last if !&matchComma;
- last if !((($valid, $decl) = &matchDecl) && $valid);
-
- # Look for (*name) syntax
- &parseParenPointer;
-
- $decl =~ s/^\s*//;
- ($mod,$d) = $decl =~ /^\s*([\*\&]*)(\~?\w+(\[.*\])*)/;
- $decl = $d if $d ne "";
- }
- }
- }
- elsif ($context ne "" && /^\s*\}/) {
- # print STDERR "Popping!\n";
- return 1;
- }
- elsif (&matchRBracket) {
- &skipBody;
- }
- elsif ((($valid, $token) = &matchAny) && $valid) {
- # Comment in for debugging
- # print STDERR "token: $token \n";
- }
- else { return 0; }
-
- return 1;
-}
-
-# read a file into a string ( filename, default-value )
-sub readFile {
- local ( $filename, $result ) = @_;
-
- if ($filename && open( FILE, $filename )) {
- $result = "";
- while (<FILE>) { $result .= $_; }
- close( FILE );
- }
- return $result;
-}
-
-# Read the entire document template and translate into PERL code.
-sub readTemplate {
- local ( $filename ) = @_;
- $docTemplate = '';
- $indent = '';
- $literal = 1; # We're in literal mode.
-
- if (!-e $filename) {
- if (-e "./templates/$filename") { $filename = "./templates/$filename"; }
- elsif (-e "../templates/$filename") { $filename = "../templates/$filename"; }
- else { die "Could not find template '$filename'.\n"; }
- }
-
- open( FILE, $filename ) || die "Error opening '$filename'.\n";
- while (<FILE>) {
- last if (/END/);
-
- # if we found a code entry.
- for (;;) {
- &expandTabs( $_ );
- if ($literal) {
- # Check for beginning of code block.
- if (s/^(.*)\<\<//) {
- $line = $1;
- if (substr( $line, 0, length( $indent ) ) eq $indent) {
- substr( $line, 0, length( $indent ) ) = '';
- }
-
- if ($line ne '') {
- $line =~ s/\"/\\\"/g;
- $line =~ s/\$\((\w+)\.(\w+)\)/\" \. \$$1->$2() \. \"/g;
- $docTemplate .= "${indent}print\"$line\";";
- }
- # else { $docTemplate .= "\n"; }
- $literal = 0;
- }
- else {
- if (substr( $_, 0, length( $indent ) ) eq $indent) {
- substr( $_, 0, length( $indent ) ) = "";
- }
- chop;
- s/\"/\\\"/g;
- s/\$\((\w+)\.(\w+)\)/\" \. \$$1->$2() \. \"/g;
- $_ = $indent . "print \"" . $_ . "\\n\";\n";
- last;
- }
- }
- else {
- # Check for beginning of literal block.
- if (s/^(\s*)\>\>//) {
- $indent = $1;
- $literal = 1;
- }
- elsif (s/^(\s*)(.*)\>\>//) {
- $docTemplate .= "$indent$2";
- $literal = 1;
- }
- else {
- last;
- }
- }
- }
-
- $docTemplate .= $_;
- }
- close( FILE );
- # print $docTemplate;
-}
-
-# Functions intended to be called from doc template file.
-
-# Open a new output file
-sub file {
- my $mfile = $_[ 0 ];
-
- open( STDOUT, ">$destPath$mfile" ) || die "Error writing to '$mfile'\n";
-}
-
-# return list of package objects
-sub packages {
- my ($p, @r);
- @r = ();
-
- foreach $p (sort keys %packages) {
- push @r, $packages{ $p };
- }
- return @r;
-}
-
-# return list of source files which have to-do lists
-sub todolistFiles {
- my ($p, @r);
- @r = ();
-
- foreach $p (sort keys %todolist) {
- push @r, $p;
- }
- return @r;
-}
-
-# return list of tab-delimited to-do-list texts.
-sub todolistEntries {
- local $_ = $todolist{ $_[0] };
- s/^\s+//; # Remove whitespace from beginning
- s/\s+$/\n/; # Remove whitespace from end
- return split( /\n/, $_ );
-}
-
-# Convert package name to URL.
-sub packageURL {
- my $p = $_[0];
-
- if ($p eq 'General') { $p = '.general'; }
- if ($p eq '') { $p = '.general'; }
-
- if (ref $packages{ $p }) {
- return $packages{ $p }->url();
- }
- return 0;
-}
-
-# Get the see-also list for an object
-sub seealsoList {
- my $self = shift;
- my ($see, $name, $url, $p, @r);
- @r = ();
-
- if (defined ($self->{ 'see' })) {
- foreach $_ (split(/\n/,$self->{ 'see' })) {
-
- if (/^\<a\s+href/) { # if already an HREF.
- $name = $_;
- $url = 0;
- }
- elsif (/([^\#]*)\#(.*)/) { # If a package name is present
- $url = &packageURL( $1 ) . '#' . $2;
- $name = $2;
- }
- else {
- $name = $_;
- $url = "#$_";
-
- # This doesn't appear to do anything - so I commented it. (james)
- # Look up the package in the index and use it to construct the html filename.
- #if (/^([^\:]*)\:\:(.*)/) {
- # $className = ($1 eq '') ? '' : $classToPackage{ $1 };
- # $p = $packageToFile{ $className };
- # if ($p ne '') {
- # $url = &packageURL( $1 ) . '#' . $_;
- # }
- #}
- }
-
- $url =~ s/^\:*//; # Remove leading colons from name
- $url =~ s/::/-/g; # Replace :: with dash
-
- my $entry = { 'name' => $name,
- 'url' => $url };
-
- bless $entry, DocReference;
-
- push @r, $entry;
- }
- }
- return @r;
-}
-
-sub removeApacheMacros {
-# print "removing from $_";
- s|AP_DECLARE\((.*?)\)|$1|;
-}
-
-# Class for parsed package
-package PackageRecord;
-
-sub classes {
- my $self = shift;
- my $classes = $self->{ 'classes' };
- return map $classes->{ $_ }, (sort keys %$classes);
-}
-
-sub globals {
- my $self = shift;
- my $globals = $self->{ 'globals' };
- return map $globals->{ $_ }, (sort keys %$globals);
-}
-
-sub globalvars {
- my $self = shift;
- my $globals = $self->{ 'globals' };
- my ($p, @r);
- @r = ();
-
- foreach $p (sort keys %$globals) {
- my $m = $globals->{ $p };
- if ($m->{ 'type' } ne 'func') { push @r, $m; }
- }
- return @r;
-}
-
-sub globalfuncs {
- my $self = shift;
- my $globals = $self->{ 'globals' };
- my ($p, @r);
- @r = ();
-
- foreach $p (sort keys %$globals) {
- my $m = $globals->{ $p };
- if ($m->{ 'type' } eq 'func') { push @r, $m; }
- }
- return @r;
-}
-
-sub name {
- my $self = shift;
- return $self->{ 'name' };
-}
-
-sub url {
- my $self = shift;
- return "default-pkg.html" if ($self->{ 'name' } eq '.general');
- return $self->{ 'name' } . '.html';
-}
-
-sub anchor {
- my $self = shift;
- my $url = $self->{ 'name' };
- return $url;
-}
-
-# Class for parsed class
-package ClassRecord;
-
-sub keywords { return ${$_[0]}{ 'keywords' }; }
-sub author { return ${$_[0]}{ 'author' }; }
-sub version { return ${$_[0]}{ 'version' }; }
-sub name { return ${$_[0]}{ 'name' }; }
-sub longname { return ${$_[0]}{ 'longname' }; }
-sub fullname { return ${$_[0]}{ 'fullname' }; }
-sub scopename { return ${$_[0]}{ 'scopename' }; }
-sub sourcefile { return ${$_[0]}{ 'sourcefile' }; }
-#sub description { return &::processDescription( ${$_[0]}{ 'description' } ); }
-sub description { return ${$_[0]}{ 'description' }; }
-sub seealso { &::seealsoList( $_[0] ); }
-
-sub url {
- my $self = shift;
- return 0 unless $self->{ 'package' };
- my $pname = ::packageURL( $self->{ 'package' } );
- my $url = $self->{ 'uname' };
- $url =~ s/::/-/g;
- return "$pname#$url";
-}
-
-sub anchor {
- my $self = shift;
- my $url = $self->{ 'uname' };
- $url =~ s/::/-/g;
- return $url;
-}
-
-sub members {
- my $self = shift;
- my $members = $self->{ 'members' };
- my ($p, @r);
- @r = ();
-
- foreach $p (sort keys %$members) {
- push @r, $members->{ $p };
- }
- return @r;
-}
-
-sub membervars {
- my $self = shift;
- my $members = $self->{ 'members' };
- my ($p, @r);
- @r = ();
-
- foreach $p (sort keys %$members) {
- my $m = $members->{ $p };
- if ($m->{ 'type' } ne 'func') { push @r, $m; }
- }
- return @r;
-}
-
-sub memberfuncs {
- my $self = shift;
- my $members = $self->{ 'members' };
- my ($p, @r);
- @r = ();
-
- foreach $p (sort keys %$members) {
- my $m = $members->{ $p };
- if ($m->{ 'type' } eq 'func') { push @r, $m; }
- }
- return @r;
-}
-
-sub baseclasses {
- my $self = shift;
- my $bases = $self->{ 'bases' };
- my ($p, $class, @r);
- @r = ();
-
- foreach $p (@$bases) {
-
- unless ($class = $::classList{ $p }) {
- # It's one we don't know about, so just make something up
- $class = { 'name' => $p,
- 'longname'=> "class $p",
- 'fullname'=> "class $p",
- 'scopename'=>"class $p",
- 'uname' => $p,
- 'members' => {} };
-
- if ($::classToPackage{ $p }) {
- $class->{ 'package' } = $::classToPackage{ $p };
- }
-
- bless $class, ClassRecord;
- }
- push @r, $class;
- }
- return @r;
-}
-
-sub subclasses {
- my $self = shift;
- my $subs;
- my ($p, $class, @r);
- @r = ();
-
- if (defined ($self->{ 'subs' })) {
- $subs = $self->{ 'subs' };
- foreach $p (sort @$subs) {
- $class = $::classList{ $p };
- push @r, $class;
- }
- }
- return @r;
-}
-
-# Class for parsed class member or global
-package MemberRecord;
-
-sub type { return ${$_[0]}{ 'type' }; }
-sub keywords { return ${$_[0]}{ 'keywords' }; }
-sub author { return ${$_[0]}{ 'author' }; }
-sub version { return ${$_[0]}{ 'version' }; }
-sub name { return ${$_[0]}{ 'name' }; }
-sub longname { return ${$_[0]}{ 'longname' }; }
-sub fullname { return ${$_[0]}{ 'fullname' }; }
-sub scopename { return ${$_[0]}{ 'scopename' }; }
-sub returnValue { return ${$_[0]}{ 'return' }; }
-sub sourcefile { return ${$_[0]}{ 'sourcefile' }; }
-sub description { return ${$_[0]}{ 'description' }; }
-sub seealso { &::seealsoList( $_[0] ); }
-
-sub url {
- my $self = shift;
- return 0 unless $self->{ 'package' };
- my $pname = ::packageURL( $self->{ 'package' } );
- my $url = $self->{ 'uname' };
- $url =~ s/::/-/g;
- return "$pname#$url";
-}
-
-sub anchor {
- my $self = shift;
- my $url = $self->{ 'uname' };
- $url =~ s/::/-/g;
- $url;
-}
-
-sub params {
- my $self = shift;
- my $params = $self->{ 'param' };
- my @r;
- @r = ();
-
- return 0 unless ($params);
-
- my @paramList = split( /\t/, $params );
-
- for ($i = 1; $i < $#paramList; $i += 2) {
- my $entry = { 'name' => $paramList[ $i ],
- 'description' => $paramList[ $i + 1 ] };
-
- bless $entry, ArgRecord;
-
- push @r, $entry;
- }
- return @r;
-}
-
-sub exceptions {
- my $self = shift;
- my $params = $self->{ 'exception' };
- my @r;
- @r = ();
-
- return 0 unless ($params);
-
- my @paramList = split( /\t/, $params );
-
- for ($i = 1; $i < $#paramList; $i += 2) {
- my $entry = { 'name' => $paramList[ $i ],
- 'description' => $paramList[ $i + 1 ] };
-
- bless $entry, ArgRecord;
-
- push @r, $entry;
- }
- return @r;
-}
-
-package ArgRecord;
-sub name { return ${$_[0]}{ 'name' }; }
-sub description { return ${$_[0]}{ 'description' }; }
-
-package DocReference;
-sub name { return ${$_[0]}{ 'name' }; }
-sub url { return ${$_[0]}{ 'url' }; }