diff options
author | Roy T. Fielding <fielding@apache.org> | 2001-02-18 17:15:35 +0000 |
---|---|---|
committer | Roy T. Fielding <fielding@apache.org> | 2001-02-18 17:15:35 +0000 |
commit | ea168bf2c7f6666825d76e92b9c7e9ad7550f2a3 (patch) | |
tree | c86799fcbc097a5e267e313e25218aa21d87ebd0 /helpers | |
parent | 91f10245c9694f122d46380a2d67e57ca0535983 (diff) | |
download | apr-ea168bf2c7f6666825d76e92b9c7e9ad7550f2a3.tar.gz |
Moved to ../build/
git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@61255 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'helpers')
-rw-r--r-- | helpers/.cvsignore | 3 | ||||
-rwxr-xr-x | helpers/MakeEtags | 39 | ||||
-rwxr-xr-x | helpers/PrintPath | 116 | ||||
-rwxr-xr-x | helpers/config.guess | 1097 | ||||
-rwxr-xr-x | helpers/config.sub | 1240 | ||||
-rw-r--r-- | helpers/cvstodsp5.pl | 43 | ||||
-rw-r--r-- | helpers/default.pl | 518 | ||||
-rw-r--r-- | helpers/dsp5tocvs.pl | 46 | ||||
-rwxr-xr-x | helpers/install.sh | 112 | ||||
-rw-r--r-- | helpers/make_export.awk | 54 | ||||
-rwxr-xr-x | helpers/mkdep.sh | 12 | ||||
-rwxr-xr-x | helpers/mkdir.sh | 35 | ||||
-rw-r--r-- | helpers/rules.mk.in | 168 | ||||
-rwxr-xr-x | helpers/scandoc | 1339 |
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 = '© 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/</</g; - s/>/>/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 = "<"; - $nest = 1; - - for (;;) { - if (&matchRAngle) { $nest++; $args .= "<"; } - elsif (&matchLAngle) { - $nest--; - $args .= ">"; - 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/\&/\&/g; - $args =~ s/\&/\&/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/\&/\&/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' }; } |