aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorN.N. <sevyves@users.sourceforge.net>2009-10-13 22:29:34 +0000
committerN.N. <sevyves@users.sourceforge.net>2009-10-13 22:29:34 +0000
commita7f435346c35c33d9c4d52aaec332b7d54d93625 (patch)
treececcefe1124a91121cf4584812d8a0ef07b89dbc
parente8268332983d8c7c28f868467c0e82f5b35e8511 (diff)
added a working Optical Flow with Bloack Matching
svn path=/trunk/externals/pdp_opencv/; revision=12590
-rwxr-xr-xconfig.guess1319
-rwxr-xr-xconfig.sub1440
-rw-r--r--pdp_opencv_athreshold-help.pd30
-rwxr-xr-xpdp_opencv_bgstats-help.pd34
-rw-r--r--pdp_opencv_bgsubstract-help.pd1
-rwxr-xr-xpdp_opencv_bm-help.pd179
-rwxr-xr-xpdp_opencv_bm.cc137
-rw-r--r--pdp_opencv_camshift-help.pd62
-rw-r--r--pdp_opencv_channels-help.pd57
-rwxr-xr-xpdp_opencv_colorfilt-help.pd46
-rw-r--r--pdp_opencv_contours_boundingrect-help.pd9
-rw-r--r--pdp_opencv_contours_convexhull-help.pd73
-rw-r--r--pdp_opencv_contours_convexity-help.pd5
-rwxr-xr-xpdp_opencv_dft-help.pd106
-rw-r--r--pdp_opencv_distrans-help.pd61
-rw-r--r--pdp_opencv_edge-help.pd19
-rw-r--r--pdp_opencv_floodfill-help.pd84
-rw-r--r--pdp_opencv_motempl-help.pd2
-rw-r--r--pdp_opencv_threshold-help.pd44
19 files changed, 528 insertions, 3180 deletions
diff --git a/config.guess b/config.guess
deleted file mode 100755
index 1c1090c..0000000
--- a/config.guess
+++ /dev/null
@@ -1,1319 +0,0 @@
-#! /bin/sh
-# Attempt to guess a canonical system name.
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-# 2000, 2001, 2002 Free Software Foundation, Inc.
-
-timestamp='2002-01-02'
-
-# 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.
-
-# Originally written by Per Bothner <bothner@cygnus.com>.
-# Please send patches to <config-patches@gnu.org>. Submit a context
-# diff and a properly formatted ChangeLog entry.
-#
-# 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 build system type.
-
-me=`echo "$0" | sed -e 's,.*/,,'`
-
-usage="\
-Usage: $0 [OPTION]
-
-Output the configuration name of the system \`$me' is run on.
-
-Operation modes:
- -h, --help print this help, then exit
- -t, --time-stamp print date of last modification, then exit
- -v, --version print version number, then exit
-
-Report bugs and patches to <config-patches@gnu.org>."
-
-version="\
-GNU config.guess ($timestamp)
-
-Originally written by Per Bothner.
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
-Free Software Foundation, Inc.
-
-This is free software; see the source for copying conditions. There is NO
-warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
-
-help="
-Try \`$me --help' for more information."
-
-# Parse command line
-while test $# -gt 0 ; do
- case $1 in
- --time-stamp | --time* | -t )
- echo "$timestamp" ; exit 0 ;;
- --version | -v )
- echo "$version" ; exit 0 ;;
- --help | --h* | -h )
- echo "$usage"; exit 0 ;;
- -- ) # Stop option processing
- shift; break ;;
- - ) # Use stdin as input.
- break ;;
- -* )
- echo "$me: invalid option $1$help" >&2
- exit 1 ;;
- * )
- break ;;
- esac
-done
-
-if test $# != 0; then
- echo "$me: too many arguments$help" >&2
- exit 1
-fi
-
-
-dummy=dummy-$$
-trap 'rm -f $dummy.c $dummy.o $dummy.rel $dummy; exit 1' 1 2 15
-
-# CC_FOR_BUILD -- compiler used by this script.
-# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
-# use `HOST_CC' if defined, but it is deprecated.
-
-set_cc_for_build='case $CC_FOR_BUILD,$HOST_CC,$CC in
- ,,) echo "int dummy(){}" > $dummy.c ;
- for c in cc gcc c89 ; do
- ($c $dummy.c -c -o $dummy.o) >/dev/null 2>&1 ;
- if test $? = 0 ; then
- CC_FOR_BUILD="$c"; break ;
- fi ;
- done ;
- rm -f $dummy.c $dummy.o $dummy.rel ;
- if test x"$CC_FOR_BUILD" = x ; then
- CC_FOR_BUILD=no_compiler_found ;
- fi
- ;;
- ,,*) CC_FOR_BUILD=$CC ;;
- ,*,*) CC_FOR_BUILD=$HOST_CC ;;
-esac'
-
-# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
-# (ghazi@noc.rutgers.edu 1994-08-24)
-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
-
-# Note: order is significant - the case branches are not exclusive.
-
-case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
- *:NetBSD:*:*)
- # NetBSD (nbsd) targets should (where applicable) match one or
- # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
- # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
- # switched to ELF, *-*-netbsd* would select the old
- # object file format. This provides both forward
- # compatibility and a consistent mechanism for selecting the
- # object file format.
- #
- # Note: NetBSD doesn't particularly care about the vendor
- # portion of the name. We always set it to "unknown".
- UNAME_MACHINE_ARCH=`(uname -p) 2>/dev/null` || \
- UNAME_MACHINE_ARCH=unknown
- case "${UNAME_MACHINE_ARCH}" in
- arm*) machine=arm-unknown ;;
- sh3el) machine=shl-unknown ;;
- sh3eb) machine=sh-unknown ;;
- *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
- esac
- # The Operating System including object format, if it has switched
- # to ELF recently, or will in the future.
- case "${UNAME_MACHINE_ARCH}" in
- arm*|i386|m68k|ns32k|sh3*|sparc|vax)
- eval $set_cc_for_build
- if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
- | grep __ELF__ >/dev/null
- then
- # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
- # Return netbsd for either. FIX?
- os=netbsd
- else
- os=netbsdelf
- fi
- ;;
- *)
- os=netbsd
- ;;
- esac
- # The OS release
- release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
- # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
- # contains redundant information, the shorter form:
- # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
- echo "${machine}-${os}${release}"
- exit 0 ;;
- amiga:OpenBSD:*:*)
- echo m68k-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- arc:OpenBSD:*:*)
- echo mipsel-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- hp300:OpenBSD:*:*)
- echo m68k-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- mac68k:OpenBSD:*:*)
- echo m68k-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- macppc:OpenBSD:*:*)
- echo powerpc-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 ;;
- mvmeppc:OpenBSD:*:*)
- echo powerpc-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- pmax:OpenBSD:*:*)
- echo mipsel-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- sgi:OpenBSD:*:*)
- echo mipseb-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- sun3:OpenBSD:*:*)
- echo m68k-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- wgrisc:OpenBSD:*:*)
- echo mipsel-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- *:OpenBSD:*:*)
- echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE}
- exit 0 ;;
- 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
- .data
-\$Lformat:
- .byte 37,100,45,37,120,10,0 # "%d-%x\n"
-
- .text
- .globl main
- .align 4
- .ent main
-main:
- .frame \$30,16,\$26,0
- ldgp \$29,0(\$27)
- .prologue 1
- .long 0x47e03d80 # implver \$0
- lda \$2,-1
- .long 0x47e20c21 # amask \$2,\$1
- lda \$16,\$Lformat
- mov \$0,\$17
- not \$1,\$18
- jsr \$26,printf
- ldgp \$29,0(\$26)
- mov 0,\$16
- jsr \$26,exit
- .end main
-EOF
- eval $set_cc_for_build
- $CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null
- if test "$?" = 0 ; then
- case `./$dummy` in
- 0-0)
- UNAME_MACHINE="alpha"
- ;;
- 1-0)
- UNAME_MACHINE="alphaev5"
- ;;
- 1-1)
- UNAME_MACHINE="alphaev56"
- ;;
- 1-101)
- UNAME_MACHINE="alphapca56"
- ;;
- 2-303)
- UNAME_MACHINE="alphaev6"
- ;;
- 2-307)
- UNAME_MACHINE="alphaev67"
- ;;
- 2-1307)
- UNAME_MACHINE="alphaev68"
- ;;
- 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-unknown-sysv4
- exit 0;;
- *:[Aa]miga[Oo][Ss]:*:*)
- echo ${UNAME_MACHINE}-unknown-amigaos
- exit 0 ;;
- *:[Mm]orph[Oo][Ss]:*:*)
- echo ${UNAME_MACHINE}-unknown-morphos
- exit 0 ;;
- *:OS/390:*:*)
- echo i370-ibm-openedition
- exit 0 ;;
- arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
- echo arm-acorn-riscix${UNAME_RELEASE}
- exit 0;;
- SR2?01:HI-UX/MPP:*:* | SR8000: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 ;;
- # 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 ;;
- powerpc:machten:*:*)
- echo powerpc-apple-machten${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)
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
-#ifdef __cplusplus
-#include <stdio.h> /* for printf() prototype */
- 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 -f $dummy.c $dummy && exit 0
- rm -f $dummy.c $dummy
- echo mips-mips-riscos${UNAME_RELEASE}
- exit 0 ;;
- Motorola:PowerMAX_OS:*:*)
- echo powerpc-motorola-powermax
- 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 ] || [ $UNAME_PROCESSOR = mc88110 ]
- then
- if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
- [ ${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 ;;
- ????????: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 ;;
- ia64:AIX:*:*)
- if [ -x /usr/bin/oslevel ] ; then
- IBM_REV=`/usr/bin/oslevel`
- else
- IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
- fi
- echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
- exit 0 ;;
- *:AIX:2:3)
- if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
- eval $set_cc_for_build
- 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 -f $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:*:[45])
- IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | head -1 | awk '{ print $1 }'`
- if /usr/sbin/lsattr -El ${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=${UNAME_VERSION}.${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 BSD 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:*:*)
- HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
- case "${UNAME_MACHINE}" in
- 9000/31? ) HP_ARCH=m68000 ;;
- 9000/[34]?? ) HP_ARCH=m68k ;;
- 9000/[678][0-9][0-9])
- if [ -x /usr/bin/getconf ]; then
- sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
- sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
- case "${sc_cpu_version}" in
- 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
- 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
- 532) # CPU_PA_RISC2_0
- case "${sc_kernel_bits}" in
- 32) HP_ARCH="hppa2.0n" ;;
- 64) HP_ARCH="hppa2.0w" ;;
- '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
- esac ;;
- esac
- fi
- if [ "${HP_ARCH}" = "" ]; then
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
-
- #define _HPUX_SOURCE
- #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
- (CCOPTS= $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null) && HP_ARCH=`./$dummy`
- if test -z "$HP_ARCH"; then HP_ARCH=hppa; fi
- rm -f $dummy.c $dummy
- fi ;;
- esac
- echo ${HP_ARCH}-hp-hpux${HPUX_REV}
- exit 0 ;;
- ia64:HP-UX:*:*)
- HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
- echo ia64-hp-hpux${HPUX_REV}
- exit 0 ;;
- 3050*:HI-UX:*:*)
- eval $set_cc_for_build
- 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 -f $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:*:* | *3000*: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 ;;
- 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} | sed -e 's/\.[^.]*$/.X/'
- 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/ \
- -e 's/\.[^.]*$/.X/'
- exit 0 ;;
- CRAY*TS:*:*:*)
- echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
- exit 0 ;;
- CRAY*T3D:*:*:*)
- echo alpha-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
- exit 0 ;;
- CRAY*T3E:*:*:*)
- echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
- exit 0 ;;
- CRAY*SV1:*:*:*)
- echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
- exit 0 ;;
- CRAY-2:*:*:*)
- echo cray2-cray-unicos
- exit 0 ;;
- F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
- FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
- FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
- FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
- echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
- exit 0 ;;
- i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/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:*:*)
- echo ${UNAME_MACHINE}-unknown-freebsd`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*:PW*:*)
- echo ${UNAME_MACHINE}-pc-pw32
- exit 0 ;;
- x86:Interix*:3*)
- echo i386-pc-interix3
- 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 ;;
- i*86:Minix:*:*)
- echo ${UNAME_MACHINE}-pc-minix
- exit 0 ;;
- arm*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit 0 ;;
- ia64:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux
- exit 0 ;;
- m68*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit 0 ;;
- mips:Linux:*:*)
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
- #undef CPU
- #undef mips
- #undef mipsel
- #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
- CPU=mipsel
- #else
- #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
- CPU=mips
- #else
- CPU=
- #endif
- #endif
-EOF
- eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
- rm -f $dummy.c
- test x"${CPU}" != x && echo "${CPU}-pc-linux-gnu" && exit 0
- ;;
- ppc:Linux:*:*)
- echo powerpc-unknown-linux-gnu
- exit 0 ;;
- ppc64:Linux:*:*)
- echo powerpc64-unknown-linux-gnu
- exit 0 ;;
- alpha:Linux:*:*)
- case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
- EV5) UNAME_MACHINE=alphaev5 ;;
- EV56) UNAME_MACHINE=alphaev56 ;;
- PCA56) UNAME_MACHINE=alphapca56 ;;
- PCA57) UNAME_MACHINE=alphapca56 ;;
- EV6) UNAME_MACHINE=alphaev6 ;;
- EV67) UNAME_MACHINE=alphaev67 ;;
- EV68*) UNAME_MACHINE=alphaev68 ;;
- esac
- objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
- if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
- echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
- exit 0 ;;
- parisc:Linux:*:* | hppa:Linux:*:*)
- # Look for CPU level
- case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
- PA7*) echo hppa1.1-unknown-linux-gnu ;;
- PA8*) echo hppa2.0-unknown-linux-gnu ;;
- *) echo hppa-unknown-linux-gnu ;;
- esac
- exit 0 ;;
- parisc64:Linux:*:* | hppa64:Linux:*:*)
- echo hppa64-unknown-linux-gnu
- exit 0 ;;
- s390:Linux:*:* | s390x:Linux:*:*)
- echo ${UNAME_MACHINE}-ibm-linux
- exit 0 ;;
- sh*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit 0 ;;
- sparc:Linux:*:* | sparc64:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
- exit 0 ;;
- x86_64:Linux:*:*)
- echo x86_64-unknown-linux-gnu
- exit 0 ;;
- i*86:Linux:*:*)
- # 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_supported_targets=`cd /; ld --help 2>&1 \
- | sed -ne '/supported targets:/!d
- s/[ ][ ]*/ /g
- s/.*supported targets: *//
- s/ .*//
- p'`
- case "$ld_supported_targets" in
- elf32-i386)
- TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
- ;;
- a.out-i386-linux)
- echo "${UNAME_MACHINE}-pc-linux-gnuaout"
- exit 0 ;;
- coff-i386)
- echo "${UNAME_MACHINE}-pc-linux-gnucoff"
- exit 0 ;;
- "")
- # Either a pre-BFD a.out linker (linux-gnuoldld) or
- # one that does not give us useful --help.
- echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
- exit 0 ;;
- esac
- # Determine whether the default compiler is a.out or elf
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
- #include <features.h>
- #ifdef __ELF__
- # ifdef __GLIBC__
- # if __GLIBC__ >= 2
- LIBC=gnu
- # else
- LIBC=gnulibc1
- # endif
- # else
- LIBC=gnulibc1
- # endif
- #else
- LIBC=gnuaout
- #endif
-EOF
- eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
- rm -f $dummy.c
- test x"${LIBC}" != x && echo "${UNAME_MACHINE}-pc-linux-${LIBC}" && exit 0
- test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0
- ;;
- i*86:DYNIX/ptx:4*:*)
- # 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.
- 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.*:*)
- UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
- if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
- echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
- else
- echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
- fi
- exit 0 ;;
- i*86:*:5:[78]*)
- case `/bin/uname -X | grep "^Machine"` in
- *486*) UNAME_MACHINE=i486 ;;
- *Pentium) UNAME_MACHINE=i586 ;;
- *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
- esac
- echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
- 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 ;;
- i*86:*DOS:*:*)
- echo ${UNAME_MACHINE}-pc-msdosdjgpp
- exit 0 ;;
- pc:*:*:*)
- # Left here for compatibility:
- # 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]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*: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.*:* | m68*:LynxOS:3.0*:*)
- 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]*:* | i*86:LynxOS:4.0*:*)
- echo i386-unknown-lynxos${UNAME_RELEASE}
- exit 0 ;;
- TSUNAMI:LynxOS:2.*:*)
- echo sparc-unknown-lynxos${UNAME_RELEASE}
- exit 0 ;;
- rs6000:LynxOS:2.*:*)
- echo rs6000-unknown-lynxos${UNAME_RELEASE}
- exit 0 ;;
- PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
- echo powerpc-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:*: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 ;;
- *:VOS:*:*)
- # From Paul.Green@stratus.com.
- echo hppa1.1-stratus-vos
- 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 ;;
- *:procnto*:*:* | *:QNX:[0123456789]*:*)
- if test "${UNAME_MACHINE}" = "x86pc"; then
- UNAME_MACHINE=pc
- fi
- echo `uname -p`-${UNAME_MACHINE}-nto-qnx
- exit 0 ;;
- *:QNX:*:4*)
- echo i386-pc-qnx
- exit 0 ;;
- NSR-[GKLNPTVW]:NONSTOP_KERNEL:*:*)
- echo nsr-tandem-nsk${UNAME_RELEASE}
- exit 0 ;;
- *:NonStop-UX:*:*)
- echo mips-compaq-nonstopux
- exit 0 ;;
- BS2000:POSIX*:*:*)
- echo bs2000-siemens-sysv
- exit 0 ;;
- DS/*:UNIX_System_V:*:*)
- echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
- exit 0 ;;
- *:Plan9:*:*)
- # "uname -m" is not consistent, so use $cputype instead. 386
- # is converted to i386 for consistency with other x86
- # operating systems.
- if test "$cputype" = "386"; then
- UNAME_MACHINE=i386
- else
- UNAME_MACHINE="$cputype"
- fi
- echo ${UNAME_MACHINE}-unknown-plan9
- exit 0 ;;
- i*86:OS/2:*:*)
- # If we were able to find `uname', then EMX Unix compatibility
- # is probably installed.
- echo ${UNAME_MACHINE}-pc-os2-emx
- exit 0 ;;
- *:TOPS-10:*:*)
- echo pdp10-unknown-tops10
- exit 0 ;;
- *:TENEX:*:*)
- echo pdp10-unknown-tenex
- exit 0 ;;
- KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
- echo pdp10-dec-tops20
- exit 0 ;;
- XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
- echo pdp10-xkl-tops20
- exit 0 ;;
- *:TOPS-20:*:*)
- echo pdp10-unknown-tops20
- exit 0 ;;
- *:ITS:*:*)
- echo pdp10-unknown-its
- exit 0 ;;
- i*86:XTS-300:*:STOP)
- echo ${UNAME_MACHINE}-unknown-stop
- exit 0 ;;
- i*86:atheos:*:*)
- echo ${UNAME_MACHINE}-unknown-atheos
- 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
-
-eval $set_cc_for_build
-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)
-# include <sys/param.h>
-# if defined (BSD)
-# if BSD == 43
- printf ("vax-dec-bsd4.3\n"); exit (0);
-# else
-# if BSD == 199006
- printf ("vax-dec-bsd4.3reno\n"); exit (0);
-# else
- printf ("vax-dec-bsd\n"); exit (0);
-# endif
-# endif
-# else
- printf ("vax-dec-bsd\n"); exit (0);
-# endif
-# 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 -f $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
-
-cat >&2 <<EOF
-$0: unable to guess system type
-
-This script, last modified $timestamp, has failed to recognize
-the operating system you are using. It is advised that you
-download the most up to date version of the config scripts from
-
- ftp://ftp.gnu.org/pub/gnu/config/
-
-If the version you run ($0) is already up to date, please
-send the following data and any information you think might be
-pertinent to <config-patches@gnu.org> in order to provide the needed
-information to handle your system.
-
-config.guess timestamp = $timestamp
-
-uname -m = `(uname -m) 2>/dev/null || echo unknown`
-uname -r = `(uname -r) 2>/dev/null || echo unknown`
-uname -s = `(uname -s) 2>/dev/null || echo unknown`
-uname -v = `(uname -v) 2>/dev/null || echo unknown`
-
-/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
-/bin/uname -X = `(/bin/uname -X) 2>/dev/null`
-
-hostinfo = `(hostinfo) 2>/dev/null`
-/bin/universe = `(/bin/universe) 2>/dev/null`
-/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
-/bin/arch = `(/bin/arch) 2>/dev/null`
-/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
-/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
-
-UNAME_MACHINE = ${UNAME_MACHINE}
-UNAME_RELEASE = ${UNAME_RELEASE}
-UNAME_SYSTEM = ${UNAME_SYSTEM}
-UNAME_VERSION = ${UNAME_VERSION}
-EOF
-
-exit 1
-
-# Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "timestamp='"
-# time-stamp-format: "%:y-%02m-%02d"
-# time-stamp-end: "'"
-# End:
diff --git a/config.sub b/config.sub
deleted file mode 100755
index 1657334..0000000
--- a/config.sub
+++ /dev/null
@@ -1,1440 +0,0 @@
-#! /bin/sh
-# Configuration validation subroutine script.
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-# 2000, 2001, 2002 Free Software Foundation, Inc.
-
-timestamp='2002-01-02'
-
-# 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.
-
-# Please send patches to <config-patches@gnu.org>. Submit a context
-# diff and a properly formatted ChangeLog entry.
-#
-# 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.
-
-me=`echo "$0" | sed -e 's,.*/,,'`
-
-usage="\
-Usage: $0 [OPTION] CPU-MFR-OPSYS
- $0 [OPTION] ALIAS
-
-Canonicalize a configuration name.
-
-Operation modes:
- -h, --help print this help, then exit
- -t, --time-stamp print date of last modification, then exit
- -v, --version print version number, then exit
-
-Report bugs and patches to <config-patches@gnu.org>."
-
-version="\
-GNU config.sub ($timestamp)
-
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
-Free Software Foundation, Inc.
-
-This is free software; see the source for copying conditions. There is NO
-warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
-
-help="
-Try \`$me --help' for more information."
-
-# Parse command line
-while test $# -gt 0 ; do
- case $1 in
- --time-stamp | --time* | -t )
- echo "$timestamp" ; exit 0 ;;
- --version | -v )
- echo "$version" ; exit 0 ;;
- --help | --h* | -h )
- echo "$usage"; exit 0 ;;
- -- ) # Stop option processing
- shift; break ;;
- - ) # Use stdin as input.
- break ;;
- -* )
- echo "$me: invalid option $1$help"
- exit 1 ;;
-
- *local*)
- # First pass through any local machine types.
- echo $1
- exit 0;;
-
- * )
- break ;;
- esac
-done
-
-case $# in
- 0) echo "$me: missing argument$help" >&2
- exit 1;;
- 1) ;;
- *) echo "$me: too many arguments$help" >&2
- exit 1;;
-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
- nto-qnx* | linux-gnu* | storm-chaos* | os2-emx* | windows32-*)
- os=-$maybe_os
- basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
- ;;
- *)
- 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 | -axis)
- os=
- basic_machine=$1
- ;;
- -sim | -cisco | -oki | -wec | -winbond)
- os=
- basic_machine=$1
- ;;
- -scout)
- ;;
- -wrs)
- os=-vxworks
- basic_machine=$1
- ;;
- -chorusos*)
- os=-chorusos
- basic_machine=$1
- ;;
- -chorusrdb)
- os=-chorusrdb
- 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
- ;;
- -mint | -mint[0-9]*)
- basic_machine=m68k-atari
- os=-mint
- ;;
-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.
- 1750a | 580 \
- | a29k \
- | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
- | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
- | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \
- | c4x | clipper \
- | d10v | d30v | dsp16xx \
- | fr30 \
- | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
- | i370 | i860 | i960 | ia64 \
- | m32r | m68000 | m68k | m88k | mcore \
- | mips16 | mips64 | mips64el | mips64orion | mips64orionel \
- | mips64vr4100 | mips64vr4100el | mips64vr4300 \
- | mips64vr4300el | mips64vr5000 | mips64vr5000el \
- | mipsbe | mipseb | mipsel | mipsle | mipstx39 | mipstx39el \
- | mipsisa32 \
- | mn10200 | mn10300 \
- | ns16k | ns32k \
- | openrisc \
- | pdp10 | pdp11 | pj | pjl \
- | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
- | pyramid \
- | sh | sh[34] | sh[34]eb | shbe | shle \
- | sparc | sparc64 | sparclet | sparclite | sparcv9 | sparcv9b \
- | strongarm \
- | tahoe | thumb | tic80 | tron \
- | v850 | v850e \
- | we32k \
- | x86 | xscale | xstormy16 | xtensa \
- | z8k)
- basic_machine=$basic_machine-unknown
- ;;
- m6811 | m68hc11 | m6812 | m68hc12)
- # Motorola 68HC11/12.
- basic_machine=$basic_machine-unknown
- os=-none
- ;;
- m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
- ;;
-
- # 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*86 | x86_64)
- 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.
- 580-* \
- | a29k-* \
- | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
- | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
- | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
- | arm-* | armbe-* | armle-* | armv*-* \
- | avr-* \
- | bs2000-* \
- | c[123]* | c30-* | [cjt]90-* | c54x-* \
- | clipper-* | cray2-* | cydra-* \
- | d10v-* | d30v-* \
- | elxsi-* \
- | f30[01]-* | f700-* | fr30-* | fx80-* \
- | h8300-* | h8500-* \
- | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
- | i*86-* | i860-* | i960-* | ia64-* \
- | m32r-* \
- | m68000-* | m680[01234]0-* | m68360-* | m683?2-* | m68k-* \
- | m88110-* | m88k-* | mcore-* \
- | mips-* | mips16-* | mips64-* | mips64el-* | mips64orion-* \
- | mips64orionel-* | mips64vr4100-* | mips64vr4100el-* \
- | mips64vr4300-* | mips64vr4300el-* | mipsbe-* | mipseb-* \
- | mipsle-* | mipsel-* | mipstx39-* | mipstx39el-* \
- | none-* | np1-* | ns16k-* | ns32k-* \
- | orion-* \
- | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
- | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
- | pyramid-* \
- | romp-* | rs6000-* \
- | sh-* | sh[34]-* | sh[34]eb-* | shbe-* | shle-* \
- | sparc-* | sparc64-* | sparc86x-* | sparclite-* \
- | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* \
- | t3e-* | tahoe-* | thumb-* | tic30-* | tic54x-* | tic80-* | tron-* \
- | v850-* | v850e-* | vax-* \
- | we32k-* \
- | x86-* | x86_64-* | xmp-* | xps100-* | xscale-* | xstormy16-* \
- | xtensa-* \
- | ymp-* \
- | z8k-*)
- ;;
- # 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-unknown
- ;;
- amigaos | amigados)
- basic_machine=m68k-unknown
- os=-amigaos
- ;;
- amigaunix | amix)
- basic_machine=m68k-unknown
- 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
- ;;
- [cjt]90)
- basic_machine=${basic_machine}-cray
- os=-unicos
- ;;
- crds | unos)
- basic_machine=m68k-crds
- ;;
- cris | cris-* | etrax*)
- basic_machine=cris-axis
- ;;
- da30 | da30-*)
- basic_machine=m68k-da30
- ;;
- decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
- basic_machine=mips-dec
- ;;
- decsystem10* | dec10*)
- basic_machine=pdp10-dec
- os=-tops10
- ;;
- decsystem20* | dec20*)
- basic_machine=pdp10-dec
- os=-tops20
- ;;
- 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
- ;;
- go32)
- basic_machine=i386-pc
- os=-go32
- ;;
- 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
- ;;
-# I'm not sure what "Sysv32" means. Should this be sysv3.2?
- i*86v32)
- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
- os=-sysv32
- ;;
- i*86v4*)
- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
- os=-sysv4
- ;;
- i*86v)
- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
- os=-sysv
- ;;
- i*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
- ;;
- 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
- ;;
- mingw32)
- basic_machine=i386-pc
- os=-mingw32
- ;;
- miniframe)
- basic_machine=m68000-convergent
- ;;
- *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
- 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
- ;;
- mmix*)
- basic_machine=mmix-knuth
- os=-mmixware
- ;;
- monitor)
- basic_machine=m68k-rom68k
- os=-coff
- ;;
- morphos)
- basic_machine=powerpc-unknown
- os=-morphos
- ;;
- msdos)
- basic_machine=i386-pc
- os=-msdos
- ;;
- mvs)
- basic_machine=i370-ibm
- os=-mvs
- ;;
- ncr3000)
- basic_machine=i486-ncr
- os=-sysv4
- ;;
- netbsd386)
- basic_machine=i386-unknown
- os=-netbsd
- ;;
- netwinder)
- basic_machine=armv4l-rebel
- 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
- ;;
- nonstopux)
- basic_machine=mips-compaq
- os=-nonstopux
- ;;
- np1)
- basic_machine=np1-gould
- ;;
- nsr-tandem)
- basic_machine=nsr-tandem
- ;;
- 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 | nexgen | viac3)
- basic_machine=i586-pc
- ;;
- pentiumpro | p6 | 6x86 | athlon)
- basic_machine=i686-pc
- ;;
- pentiumii | pentium2)
- basic_machine=i686-pc
- ;;
- pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
- basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- pentiumpro-* | p6-* | 6x86-* | athlon-*)
- basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- pentiumii-* | pentium2-*)
- basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- pn)
- basic_machine=pn-gould
- ;;
- power) basic_machine=power-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/^[^-]*-//'`
- ;;
- ppc64) basic_machine=powerpc64-unknown
- ;;
- ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- ppc64le | powerpc64little | ppc64-le | powerpc64-little)
- basic_machine=powerpc64le-unknown
- ;;
- ppc64le-* | powerpc64little-*)
- basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- ps2)
- basic_machine=i386-ibm
- ;;
- pw32)
- basic_machine=i586-unknown
- os=-pw32
- ;;
- rom68k)
- basic_machine=m68k-rom68k
- os=-coff
- ;;
- rm[46]00)
- basic_machine=mips-siemens
- ;;
- rtpc | rtpc-*)
- basic_machine=romp-ibm
- ;;
- s390 | s390-*)
- basic_machine=s390-ibm
- ;;
- s390x | s390x-*)
- basic_machine=s390x-ibm
- ;;
- sa29200)
- basic_machine=a29k-amd
- os=-udi
- ;;
- sequent)
- basic_machine=i386-sequent
- ;;
- sh)
- basic_machine=sh-hitachi
- os=-hms
- ;;
- sparclite-wrs | simso-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
- ;;
- sv1)
- basic_machine=sv1-cray
- os=-unicos
- ;;
- symmetry)
- basic_machine=i386-sequent
- os=-dynix
- ;;
- t3e)
- basic_machine=t3e-cray
- os=-unicos
- ;;
- tic54x | c54x*)
- basic_machine=tic54x-unknown
- os=-coff
- ;;
- tx39)
- basic_machine=mipstx39-unknown
- ;;
- tx39el)
- basic_machine=mipstx39el-unknown
- ;;
- toad1)
- basic_machine=pdp10-xkl
- os=-tops20
- ;;
- 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
- ;;
- windows32)
- basic_machine=i386-pc
- os=-windows32-msvcrt
- ;;
- 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
- ;;
- pdp10)
- # there are many clones, so DEC is not a safe bet
- basic_machine=pdp10-unknown
- ;;
- pdp11)
- basic_machine=pdp11-dec
- ;;
- we32k)
- basic_machine=we32k-att
- ;;
- sh3 | sh4 | sh3eb | sh4eb)
- basic_machine=sh-unknown
- ;;
- sparc | sparcv9 | sparcv9b)
- 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
- ;;
- *-unknown)
- # Make sure to match an already-canonicalized machine name.
- ;;
- *)
- 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|'`
- ;;
- # 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* \
- | -chorusos* | -chorusrdb* \
- | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
- | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \
- | -interix* | -uwin* | -rhapsody* | -darwin* | -opened* \
- | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
- | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
- | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* | -morphos*)
- # Remember, each alternative MUST END IN *, to match a version number.
- ;;
- -qnx*)
- case $basic_machine in
- x86-* | i*86-*)
- ;;
- *)
- os=-nto$os
- ;;
- esac
- ;;
- -nto*)
- os=-nto-qnx
- ;;
- -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
- | -windows* | -osx | -abug | -netware* | -os9* | -beos* \
- | -macos* | -mpw* | -magic* | -mmixware* | -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|'`
- ;;
- -opened*)
- os=-openedition
- ;;
- -wince*)
- os=-wince
- ;;
- -osfrose*)
- os=-osfrose
- ;;
- -osf*)
- os=-osf
- ;;
- -utek*)
- os=-bsd
- ;;
- -dynix*)
- os=-bsd
- ;;
- -acis*)
- os=-aos
- ;;
- -atheos*)
- os=-atheos
- ;;
- -386bsd)
- os=-bsd
- ;;
- -ctix* | -uts*)
- os=-sysv
- ;;
- -ns2 )
- os=-nextstep2
- ;;
- -nsk*)
- os=-nsk
- ;;
- # 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[0-9]* | -*MiNT | -MiNT[0-9]*)
- 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*-rebel)
- os=-linux
- ;;
- arm*-semi)
- os=-aout
- ;;
- # This must come before the *-dec entry.
- pdp10-*)
- os=-tops20
- ;;
- 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)
- os=-aix
- ;;
- *-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
- ;;
- f30[01]-fujitsu | f700-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* | -opened*)
- vendor=ibm
- ;;
- -ptx*)
- vendor=sequent
- ;;
- -vxsim* | -vxworks*)
- vendor=wrs
- ;;
- -aux*)
- vendor=apple
- ;;
- -hms*)
- vendor=hitachi
- ;;
- -mpw* | -macos*)
- vendor=apple
- ;;
- -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
- vendor=atari
- ;;
- -vos*)
- vendor=stratus
- ;;
- esac
- basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
- ;;
-esac
-
-echo $basic_machine$os
-exit 0
-
-# Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "timestamp='"
-# time-stamp-format: "%:y-%02m-%02d"
-# time-stamp-end: "'"
-# End:
diff --git a/pdp_opencv_athreshold-help.pd b/pdp_opencv_athreshold-help.pd
index 790c2b2..01c8b01 100644
--- a/pdp_opencv_athreshold-help.pd
+++ b/pdp_opencv_athreshold-help.pd
@@ -1,4 +1,4 @@
-#N canvas 20 96 1039 729 10;
+#N canvas 25 96 1039 729 10;
#X obj 11 -57 cnv 15 750 250 empty empty empty 20 12 0 14 -260097 -66577
0;
#X obj 251 -17 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
@@ -42,7 +42,6 @@
#X msg 263 300 1;
#X text 249 321 thresholding mode ( default 0 );
#X text 14 -120 pdp_opencv_threshold : adaptive thresholding;
-#X text 13 -74 written by Yves Degoyon ( ydegoyon@gmail.com );
#X text 13 -109 use the average of pixels in the block of pixels to
filter only the pixels above or below that threshold \, depending on
the mode BINARY or BINARY:INVERTED;
@@ -61,20 +60,21 @@ the mode BINARY or BINARY:INVERTED;
#X floatatom 236 367 5 0 0 0 - - -;
#X text 276 365 value to correct the theshold;
#X obj 70 191 pdp_xv;
+#X text 13 -74 comments to ydegoyon@gmail.com;
#X connect 1 0 2 0;
#X connect 2 0 4 0;
#X connect 3 0 4 0;
-#X connect 4 0 38 0;
+#X connect 4 0 37 0;
#X connect 5 0 4 0;
#X connect 6 0 7 0;
#X connect 7 0 10 0;
#X connect 8 0 10 0;
#X connect 9 0 10 0;
-#X connect 10 0 38 0;
+#X connect 10 0 37 0;
#X connect 11 0 10 0;
#X connect 12 0 11 0;
-#X connect 13 0 38 0;
-#X connect 13 0 52 0;
+#X connect 13 0 37 0;
+#X connect 13 0 51 0;
#X connect 14 0 13 0;
#X connect 15 0 14 0;
#X connect 16 0 14 0;
@@ -86,14 +86,14 @@ the mode BINARY or BINARY:INVERTED;
#X connect 22 0 21 0;
#X connect 22 0 15 0;
#X connect 25 0 13 1;
-#X connect 28 0 38 2;
-#X connect 29 0 38 0;
-#X connect 30 0 38 1;
+#X connect 28 0 37 2;
+#X connect 29 0 37 0;
+#X connect 30 0 37 1;
#X connect 32 0 29 0;
#X connect 33 0 29 0;
-#X connect 38 0 27 0;
-#X connect 43 0 45 0;
-#X connect 44 0 45 0;
-#X connect 45 0 38 0;
-#X connect 49 0 38 0;
-#X connect 50 0 49 0;
+#X connect 37 0 27 0;
+#X connect 42 0 44 0;
+#X connect 43 0 44 0;
+#X connect 44 0 37 0;
+#X connect 48 0 37 0;
+#X connect 49 0 48 0;
diff --git a/pdp_opencv_bgstats-help.pd b/pdp_opencv_bgstats-help.pd
index e7a29a9..00be1e3 100755
--- a/pdp_opencv_bgstats-help.pd
+++ b/pdp_opencv_bgstats-help.pd
@@ -1,4 +1,4 @@
-#N canvas 446 49 734 841 10;
+#N canvas 451 49 734 841 10;
#X obj 39 -180 cnv 15 621 223 empty empty empty 20 12 0 14 -260097
-66577 0;
#X msg 146 -123 open /dev/dv1394/0;
@@ -24,8 +24,7 @@
#X obj 89 -23 pdp_ieee1394;
#X text 45 -326 pdp_opencv_bgstats : background and foreground extraction
using a statitical method.;
-#X text 45 -210 Comments and support @ ydegoyon.gmail.com;
-#X text 69 -177 Caemra input;
+#X text 69 -177 Camera input;
#X obj 89 196 pdp_opencv_bgstats;
#X obj 229 74 / 100;
#X floatatom 270 76 5 0 0 0 - - -;
@@ -52,6 +51,7 @@ background.;
#X text 46 -259 This object does noise filtering using erosion and
dilation steps ( erode paramater ). It also eliminates from the foreground
object that are less than a minumum size ( minarea parameter ).;
+#X text 45 -210 comments to ydegoyon@gmail.com;
#X connect 1 0 17 0;
#X connect 2 0 3 0;
#X connect 3 0 17 0;
@@ -60,21 +60,21 @@ object that are less than a minumum size ( minarea parameter ).;
#X connect 6 0 7 0;
#X connect 7 0 9 0;
#X connect 8 0 9 0;
-#X connect 9 0 21 0;
+#X connect 9 0 20 0;
#X connect 10 0 9 0;
#X connect 11 0 12 0;
#X connect 12 0 14 0;
#X connect 13 0 14 0;
-#X connect 14 0 21 0;
-#X connect 17 0 21 0;
-#X connect 21 0 16 0;
-#X connect 21 1 38 0;
-#X connect 22 0 35 0;
-#X connect 23 0 22 0;
-#X connect 23 0 22 1;
-#X connect 24 0 25 0;
-#X connect 25 0 21 0;
-#X connect 26 0 27 0;
-#X connect 27 0 21 0;
-#X connect 29 0 21 0;
-#X connect 35 0 21 0;
+#X connect 14 0 20 0;
+#X connect 17 0 20 0;
+#X connect 20 0 16 0;
+#X connect 20 1 37 0;
+#X connect 21 0 34 0;
+#X connect 22 0 21 0;
+#X connect 22 0 21 1;
+#X connect 23 0 24 0;
+#X connect 24 0 20 0;
+#X connect 25 0 26 0;
+#X connect 26 0 20 0;
+#X connect 28 0 20 0;
+#X connect 34 0 20 0;
diff --git a/pdp_opencv_bgsubstract-help.pd b/pdp_opencv_bgsubstract-help.pd
index edcf77a..297d7bd 100644
--- a/pdp_opencv_bgsubstract-help.pd
+++ b/pdp_opencv_bgsubstract-help.pd
@@ -48,6 +48,7 @@ shadows changes since you SET the background image.;
#X text 304 290 threshold (default 13) to use when comparing pixel
colors;
#X obj 91 63 pdp_ieee1394;
+#X text 42 -120 comments to lluigomez@hangar.org;
#X connect 1 0 31 0;
#X connect 2 0 3 0;
#X connect 3 0 31 0;
diff --git a/pdp_opencv_bm-help.pd b/pdp_opencv_bm-help.pd
index 039c1e0..6115777 100755
--- a/pdp_opencv_bm-help.pd
+++ b/pdp_opencv_bm-help.pd
@@ -1,79 +1,106 @@
-#N canvas 503 49 833 785 10;
-#X obj -17 -55 cnv 15 621 250 empty empty empty 20 12 0 14 -260097
--66577 0;
-#X obj 223 -15 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+#N canvas 587 49 833 785 10;
+#X obj -11 57 cnv 15 621 250 empty empty empty 20 12 0 14 -260097 -66577
+0;
+#X obj 229 97 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
-#X obj 223 12 metro 40;
-#X msg 313 39 close;
-#X obj 243 110 pdp_v4l;
-#X msg 300 7 open /dev/video0;
-#X obj 412 -20 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+#X obj 229 124 metro 40;
+#X msg 310 146 close;
+#X obj 249 222 pdp_v4l;
+#X msg 306 119 open /dev/video0;
+#X obj 423 95 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
-#X obj 412 7 metro 40;
-#X msg 493 26 close;
-#X msg 489 2 open /dev/video0;
-#X obj 433 106 pdp_v4l2;
-#X msg 498 81 format \$1;
-#X obj 499 59 hradio 15 1 0 4 empty empty empty 0 -8 0 10 -262144 -1
--1 0;
-#X obj 13 160 pdp_qt;
-#X obj 46 96 metro 40;
-#X msg 46 68 bang;
-#X msg 87 68 stop;
-#X obj 13 -1 openpanel;
-#X msg 13 24 open \$1;
-#X msg 13 -29 bang;
-#X msg 47 123 loop \$1;
-#X obj 127 123 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
+#X obj 423 122 metro 40;
+#X msg 500 145 close;
+#X msg 493 121 open /dev/video0;
+#X obj 423 223 pdp_v4l2;
+#X msg 501 192 format \$1;
+#X obj 502 170 hradio 15 1 0 4 empty empty empty 0 -8 0 10 -262144
+-1 -1 0;
+#X obj 19 272 pdp_qt;
+#X obj 52 208 metro 40;
+#X msg 52 180 bang;
+#X msg 93 180 stop;
+#X obj 19 111 openpanel;
+#X msg 19 136 open \$1;
+#X msg 19 83 bang;
+#X msg 53 235 loop \$1;
+#X obj 133 235 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
1;
-#X obj 127 41 loadbang;
-#X text 56 -26 playing a video file;
-#X text 253 -17 Camera input;
-#X obj 73 161 hsl 128 15 0 500 0 0 empty empty empty -2 -8 0 10 -262144
+#X obj 133 153 loadbang;
+#X text 62 86 playing a video file;
+#X text 259 95 Camera input;
+#X obj 79 273 hsl 128 15 0 500 0 0 empty empty empty -2 -8 0 10 -262144
-1 -1 0 1;
-#X obj -15 203 cnv 15 621 250 empty empty empty 20 12 0 14 -258113
+#X obj -10 311 cnv 15 621 400 empty empty empty 20 12 0 14 -258113
-66577 0;
-#X obj 9 468 pdp_xv;
-#X obj 158 368 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+#X obj 17 718 pdp_xv;
+#X obj 177 510 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X msg 92 508 nightmode \$1;
+#X floatatom 150 379 5 0 0 0 - - -;
+#X msg 40 378 blocksize \$1 \$1;
+#X floatatom 162 402 5 0 0 0 - - -;
+#X floatatom 176 428 5 0 0 0 - - -;
+#X obj 16 566 pdp_opencv_bm;
+#X msg 52 401 shiftsize \$1 \$1;
+#X msg 66 427 maxrange \$1 \$1;
+#X floatatom 166 455 5 0 0 0 - - -;
+#X msg 79 453 threshold \$1;
+#X obj 201 541 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
-#X msg 73 366 nightmode \$1;
-#X text 177 369 set nightmode;
-#X floatatom 163 223 5 0 0 0 - - -;
-#X text -14 -77 pdp_opencv_bm : Block Matching optical flow algorithm.
+#X msg 101 540 useprevious \$1;
+#X text -11 -51 pdp_opencv_bm : Block Matching optical flow algorithm.
+;
+#X text 191 379 set blocksize (width height) ( default 20x20 );
+#X text 202 401 set shiftsize (width height) ( default 20x20 );
+#X text 216 428 set maxrange (width height) ( default 20x10 );
+#X text -10 0 with a great help from Mateu Batle & Alberto de Rodrigo
+from the iBit foundation.;
+#X floatatom 66 663 5 0 0 0 - - -;
+#X obj 120 603 unpack f f;
+#X floatatom 206 603 5 0 0 0 - - -;
+#X floatatom 208 623 5 0 0 0 - - -;
+#X text 248 602 largest amplitude of movement;
+#X text 223 539 use previous results ( default : 0 \, surprising results
+when on );
+#X msg 82 482 minblocks \$1;
+#X floatatom 169 483 5 0 0 0 - - -;
+#X text 196 511 set nightmode;
+#X text -11 -36 the main purpose of this object is to calculate the
+average direction and the intensity of the movement in a video stream.
;
-#X msg 53 222 blocksize \$1 \$1;
-#X floatatom 172 250 5 0 0 0 - - -;
-#X floatatom 179 279 5 0 0 0 - - -;
-#X obj 9 422 pdp_opencv_bm;
-#X msg 62 249 shiftsize \$1 \$1;
-#X text 204 223 set blocksize (width height) ( default 10x10 );
-#X text 212 249 set shiftsize (width height) ( default 10x10 );
-#X msg 69 278 maxrange \$1 \$1;
-#X text 220 279 set maxrange (width height) ( default 5x5 );
-#X floatatom 162 318 5 0 0 0 - - -;
-#X msg 75 316 threshold \$1;
-#X text 204 315 threhold value for the detection of movement ( default
+#X text 213 477 minimum nuber of blocks to detect the movement;
+#X msg 32 156 bang;
+#X text 108 684 marked with a white arrow on the stream;
+#X obj 21 350 pdp_scale 320 240;
+#X text 137 345 this object can work on small frames unless you have
+a very powerful machine;
+#X msg 435 150 bang;
+#X text 108 660 average angle of the blocks movement;
+#X text 248 623 angle of the block with the maximum movement;
+#X text 246 635 ( in degrees [-180 \, 180]);
+#X text 107 672 ( in degrees [-180 \, 180]);
+#X text 208 452 threshold value for the detection of movement ( default
10 );
-#X obj 296 385 pdp_background;
-#X obj 293 358 metro 40;
-#X obj 292 337 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
--1 -1;
-#X msg 99 -157;
-#X msg 321 334 stop;
-#X obj 281 413 pdp_convert image/YCrCb/*;
+#X obj 20 320 pdp_rotate;
+#X floatatom 89 322 5 0 0 0 - - -;
+#X text 127 314 you can rotate the object to check that the main direction
+of movement is detected;
+#X text 210 490 ( default 10 );
+#X text -10 24 comments to ydegoyon@gmail.com;
#X connect 1 0 2 0;
#X connect 2 0 4 0;
#X connect 3 0 4 0;
-#X connect 4 0 36 0;
+#X connect 4 0 59 0;
#X connect 5 0 4 0;
#X connect 6 0 7 0;
#X connect 7 0 10 0;
#X connect 8 0 10 0;
#X connect 9 0 10 0;
-#X connect 10 0 36 0;
+#X connect 10 0 59 0;
#X connect 11 0 10 0;
#X connect 12 0 11 0;
-#X connect 13 0 36 0;
+#X connect 13 0 67 0;
#X connect 14 0 13 0;
#X connect 15 0 14 0;
#X connect 16 0 14 0;
@@ -86,18 +113,26 @@
#X connect 22 0 15 0;
#X connect 25 0 13 1;
#X connect 28 0 29 0;
-#X connect 29 0 36 0;
-#X connect 31 0 33 0;
+#X connect 29 0 34 0;
+#X connect 30 0 31 0;
+#X connect 31 0 34 0;
+#X connect 32 0 35 0;
#X connect 33 0 36 0;
-#X connect 34 0 37 0;
-#X connect 35 0 40 0;
-#X connect 36 0 27 0;
-#X connect 37 0 36 0;
-#X connect 40 0 36 0;
-#X connect 42 0 43 0;
-#X connect 43 0 36 0;
-#X connect 45 0 50 0;
-#X connect 46 0 45 0;
-#X connect 47 0 46 0;
-#X connect 49 0 46 0;
-#X connect 50 0 36 0;
+#X connect 34 0 27 0;
+#X connect 34 1 46 0;
+#X connect 34 2 47 0;
+#X connect 35 0 34 0;
+#X connect 36 0 34 0;
+#X connect 37 0 38 0;
+#X connect 38 0 34 0;
+#X connect 39 0 40 0;
+#X connect 40 0 34 0;
+#X connect 47 0 48 0;
+#X connect 47 1 49 0;
+#X connect 52 0 34 0;
+#X connect 53 0 52 0;
+#X connect 57 0 13 0;
+#X connect 59 0 34 0;
+#X connect 61 0 10 0;
+#X connect 67 0 59 0;
+#X connect 68 0 67 1;
diff --git a/pdp_opencv_bm.cc b/pdp_opencv_bm.cc
index 1d26dab..79f0c61 100755
--- a/pdp_opencv_bm.cc
+++ b/pdp_opencv_bm.cc
@@ -25,6 +25,7 @@
#include <limits.h>
#include <dlfcn.h>
#include <ctype.h>
+#include <math.h>
#include "pdp.h"
@@ -39,6 +40,7 @@ typedef struct pdp_opencv_bm_struct
t_outlet *x_outlet0;
t_outlet *x_outlet1;
+ t_outlet *x_outlet2;
t_atom x_list[3];
int x_packet0;
@@ -57,19 +59,27 @@ typedef struct pdp_opencv_bm_struct
int x_nightmode;
int x_threshold;
+ int x_useprevious;
+ int x_minblocks;
CvFont font;
} t_pdp_opencv_bm;
static void pdp_opencv_bm_process_rgb(t_pdp_opencv_bm *x)
{
- t_pdp *header = pdp_packet_header(x->x_packet0);
- short int *data = (short int *)pdp_packet_data(x->x_packet0);
- t_pdp *newheader = pdp_packet_header(x->x_packet1);
- short int *newdata = (short int *)pdp_packet_data(x->x_packet1);
- int i,j,k,im;
- int marked;
- int px,py;
+ t_pdp *header = pdp_packet_header(x->x_packet0);
+ short int *data = (short int *)pdp_packet_data(x->x_packet0);
+ t_pdp *newheader = pdp_packet_header(x->x_packet1);
+ short int *newdata = (short int *)pdp_packet_data(x->x_packet1);
+ int i,j,k,im;
+ int marked;
+ int px,py;
+ double meanangle=0.0, meanx=0.0, meany=0.0, maxamp=0.0, maxangle=0.0;
+ int nbblocks=0;
+ CvPoint orig, dest;
+ double angle=0.0;
+ double hypotenuse=0.0;
+ char tindex[4];
if ((x->x_width != (t_int)header->info.image.width) ||
(x->x_height != (t_int)header->info.image.height) || (!x->image))
@@ -117,31 +127,79 @@ static void pdp_opencv_bm_process_rgb(t_pdp_opencv_bm *x)
cvCalcOpticalFlowBM( x->prev_grey, x->grey,
x->x_blocksize, x->x_shiftsize,
- x->x_maxrange, 1,
+ x->x_maxrange, x->x_useprevious,
x->x_velx, x->x_vely );
+ nbblocks = 0;
for( py=0; py<x->x_velsize.height; py++ )
{
for( px=0; px<x->x_velsize.width; px++ )
{
- float velxf = (float)*( x->x_velx->imageData + py * x->x_velx->widthStep + px);
- float velyf = (float)*( x->x_vely->imageData + py * x->x_vely->widthStep + px);
-
- if ( sqrt( velxf*velxf + velyf*velyf ) > x->x_threshold )
+ // post( "pdp_opencv_bm : (%d,%d) values (%f,%f)", px, py, velxf, velyf );
+ orig.x = (px*x->x_width)/x->x_velsize.width;
+ orig.y = (py*x->x_height)/x->x_velsize.height;
+ dest.x = (int)(orig.x + cvGet2D(x->x_velx, py, px).val[0]);
+ dest.y = (int)(orig.y + cvGet2D(x->x_vely, py, px).val[0]);
+ angle = -atan2( (double) cvGet2D(x->x_vely, py, px).val[0], (double) cvGet2D(x->x_velx, py, px).val[0] );
+ hypotenuse = sqrt( pow(orig.y - dest.y, 2) + pow(orig.x - dest.x, 2) );
+
+ /* Now draw the tips of the arrow. I do some scaling so that the
+ * tips look proportional to the main line of the arrow.
+ */
+ if (hypotenuse >= x->x_threshold)
{
- // post( "pdp_opencv_bm : (%d,%d) values (%f,%f)", px, py, velxf, velyf );
- CvPoint orig, dest;
- orig.x = px*x->x_shiftsize.width;
- orig.y = py*x->x_shiftsize.height;
- dest.x = px*x->x_shiftsize.width+(int)velxf;
- dest.y = py*x->x_shiftsize.height+(int)velyf;
-
- cvLine( x->image, orig, dest, CV_RGB(0,255,0), 1, 8 );
- }
+ cvLine( x->image, orig, dest, CV_RGB(0,255,0), (int)hypotenuse/10, CV_AA, 0 );
+
+ orig.x = (int) (dest.x - (x->x_shiftsize.width/4) * cos(angle + M_PI / 4));
+ orig.y = (int) (dest.y + (x->x_shiftsize.height/4) * sin(angle + M_PI / 4));
+ cvLine( x->image, orig, dest, CV_RGB(0,0,255), (int)hypotenuse/10, CV_AA, 0 );
+ orig.x = (int) (dest.x - (x->x_shiftsize.width/4) * cos(angle - M_PI / 4));
+ orig.y = (int) (dest.y + (x->x_shiftsize.height/4) * sin(angle - M_PI / 4));
+ cvLine( x->image, orig, dest, CV_RGB(0,0,255), (int)hypotenuse/10, CV_AA, 0 );
+ meanx = (meanx*nbblocks+cvGet2D(x->x_velx, py, px).val[0])/(nbblocks+1);
+ meany = (meanx*nbblocks+cvGet2D(x->x_vely, py, px).val[0])/(nbblocks+1);
+ if ( hypotenuse > maxamp )
+ {
+ maxamp = hypotenuse;
+ maxangle = angle;
+ }
+ // post( "pdp_opencv_bm : block %d : amp : %f : angle : %f", nbblocks, hypotenuse, (angle*180)/M_PI );
+ nbblocks++;
+ }
+
}
}
- CV_SWAP( x->prev_grey, x->grey, x->swap_temp );
+ meanangle=-atan2( meany, meanx );
+ // post( "pdp_opencv_bm : meanangle : %f", (meanangle*180)/M_PI );
+
+ if ( nbblocks >= x->x_minblocks )
+ {
+ orig.x = (int) (x->x_width/2);
+ orig.y = (int) (x->x_height/2);
+ dest.x = (int) (orig.x+((x->x_width>x->x_height)?x->x_height/2:x->x_width/2)*cos(meanangle));
+ dest.y = (int) (orig.y-((x->x_width>x->x_height)?x->x_height/2:x->x_width/2)*sin(meanangle));
+ cvLine( x->image, orig, dest, CV_RGB(255,255,255), 3, CV_AA, 0 );
+ orig.x = (int) (dest.x - (x->x_shiftsize.width/2) * cos(meanangle + M_PI / 4));
+ orig.y = (int) (dest.y + (x->x_shiftsize.height/2) * sin(meanangle + M_PI / 4));
+ cvLine( x->image, orig, dest, CV_RGB(255,255,255), 3, CV_AA, 0 );
+ orig.x = (int) (dest.x - (x->x_shiftsize.width/2) * cos(meanangle - M_PI / 4));
+ orig.y = (int) (dest.y + (x->x_shiftsize.height/2) * sin(meanangle - M_PI / 4));
+ cvLine( x->image, orig, dest, CV_RGB(255,255,255), 3, CV_AA, 0 );
+
+ // outputs the average angle of movement
+ meanangle = (meanangle*180)/M_PI;
+ SETFLOAT(&x->x_list[0], meanangle);
+ outlet_list( x->x_outlet1, 0, 1, x->x_list );
+
+ // outputs the amplitude and angle of the maximum movement
+ maxangle = (maxangle*180)/M_PI;
+ SETFLOAT(&x->x_list[0], maxamp);
+ SETFLOAT(&x->x_list[1], maxangle);
+ outlet_list( x->x_outlet2, 0, 2, x->x_list );
+ }
+
+ memcpy( x->prev_grey->imageData, x->grey->imageData, x->x_size );
memcpy( newdata, x->image->imageData, x->x_size*3 );
return;
@@ -152,6 +210,16 @@ static void pdp_opencv_bm_nightmode(t_pdp_opencv_bm *x, t_floatarg f)
if ((f==0.0)||(f==1.0)) x->x_nightmode = (int)f;
}
+static void pdp_opencv_bm_useprevious(t_pdp_opencv_bm *x, t_floatarg f)
+{
+ if ((f==0.0)||(f==1.0)) x->x_useprevious = (int)f;
+}
+
+static void pdp_opencv_bm_minblocks(t_pdp_opencv_bm *x, t_floatarg f)
+{
+ if (f>=1.0) x->x_minblocks = (int)f;
+}
+
static void pdp_opencv_bm_threshold(t_pdp_opencv_bm *x, t_floatarg f)
{
if (f>=0.0) x->x_threshold = (int)f;
@@ -159,8 +227,8 @@ static void pdp_opencv_bm_threshold(t_pdp_opencv_bm *x, t_floatarg f)
static void pdp_opencv_bm_blocksize(t_pdp_opencv_bm *x, t_floatarg fwidth, t_floatarg fheight )
{
- if (fwidth>=1.0) x->x_blocksize.width = (int)fwidth;
- if (fheight>=1.0) x->x_blocksize.height = (int)fheight;
+ if (fwidth>=5.0) x->x_blocksize.width = (int)fwidth;
+ if (fheight>=5.0) x->x_blocksize.height = (int)fheight;
x->x_velsize.width = (x->x_width-x->x_blocksize.width)/x->x_shiftsize.width;
x->x_velsize.height = (x->x_height-x->x_blocksize.height)/x->x_shiftsize.height;
@@ -173,8 +241,8 @@ static void pdp_opencv_bm_blocksize(t_pdp_opencv_bm *x, t_floatarg fwidth, t_flo
static void pdp_opencv_bm_shiftsize(t_pdp_opencv_bm *x, t_floatarg fwidth, t_floatarg fheight )
{
- if (fwidth>=1.0) x->x_shiftsize.width = (int)fwidth;
- if (fheight>=1.0) x->x_shiftsize.height = (int)fheight;
+ if (fwidth>=5.0) x->x_shiftsize.width = (int)fwidth;
+ if (fheight>=5.0) x->x_shiftsize.height = (int)fheight;
x->x_velsize.width = (x->x_width-x->x_blocksize.width)/x->x_shiftsize.width;
x->x_velsize.height = (x->x_height-x->x_blocksize.height)/x->x_shiftsize.height;
@@ -266,6 +334,7 @@ void *pdp_opencv_bm_new(t_floatarg f)
x->x_outlet0 = outlet_new(&x->x_obj, &s_anything);
x->x_outlet1 = outlet_new(&x->x_obj, &s_anything);
+ x->x_outlet2 = outlet_new(&x->x_obj, &s_anything);
x->x_packet0 = -1;
x->x_packet1 = -1;
@@ -277,12 +346,14 @@ void *pdp_opencv_bm_new(t_floatarg f)
x->x_nightmode=0;
x->x_threshold=10;
- x->x_blocksize.width = 10;
- x->x_blocksize.height = 10;
- x->x_shiftsize.width = 10;
- x->x_shiftsize.height = 10;
- x->x_maxrange.width = x->x_width;
- x->x_maxrange.height = x->x_height;
+ x->x_blocksize.width = 20;
+ x->x_blocksize.height = 20;
+ x->x_shiftsize.width = 20;
+ x->x_shiftsize.height = 20;
+ x->x_maxrange.width = 10;
+ x->x_maxrange.height = 10;
+ x->x_useprevious = 0;
+ x->x_minblocks = 10;
x->x_velsize.width = (x->x_width-x->x_blocksize.width)/x->x_shiftsize.width;
x->x_velsize.height = (x->x_height-x->x_blocksize.height)/x->x_shiftsize.height;
@@ -319,6 +390,8 @@ void pdp_opencv_bm_setup(void)
class_addmethod(pdp_opencv_bm_class, (t_method)pdp_opencv_bm_blocksize, gensym("blocksize"), A_FLOAT, A_FLOAT, A_NULL );
class_addmethod(pdp_opencv_bm_class, (t_method)pdp_opencv_bm_shiftsize, gensym("shiftsize"), A_FLOAT, A_FLOAT, A_NULL );
class_addmethod(pdp_opencv_bm_class, (t_method)pdp_opencv_bm_maxrange, gensym("maxrange"), A_FLOAT, A_FLOAT, A_NULL );
+ class_addmethod(pdp_opencv_bm_class, (t_method)pdp_opencv_bm_useprevious, gensym("useprevious"), A_FLOAT, A_NULL );
+ class_addmethod(pdp_opencv_bm_class, (t_method)pdp_opencv_bm_minblocks, gensym("minblocks"), A_FLOAT, A_NULL );
}
diff --git a/pdp_opencv_camshift-help.pd b/pdp_opencv_camshift-help.pd
index 15f9574..1a6944a 100644
--- a/pdp_opencv_camshift-help.pd
+++ b/pdp_opencv_camshift-help.pd
@@ -1,13 +1,13 @@
-#N canvas 20 96 1039 729 10;
+#N canvas 25 96 1039 729 10;
#X obj 11 -57 cnv 15 750 250 empty empty empty 20 12 0 14 -260097 -66577
0;
-#X obj 251 -17 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+#X obj 252 -18 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X obj 251 10 metro 40;
#X msg 341 37 close;
#X obj 271 108 pdp_v4l;
#X msg 328 5 open /dev/video0;
-#X obj 440 -22 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
+#X obj 440 -22 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X obj 440 5 metro 40;
#X msg 521 24 close;
@@ -34,11 +34,10 @@
#X obj 12 201 cnv 15 750 300 empty empty empty 20 12 0 14 -258113 -66577
0;
#X obj 40 519 pdp_xv;
-#X text 13 -74 written by Yves Degoyon ( ydegoyon@gmail.com );
#X obj 42 410 pdp_opencv_camshift;
#X msg 127 307 backproject \$1;
#X text 246 308 show the backproject flow image;
-#X obj 224 308 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
+#X obj 224 308 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X msg 85 224 vmin \$1;
#X floatatom 141 226 5 0 0 0 - - -;
@@ -74,19 +73,20 @@
#X text 13 -110 pdp_opencv_camshift : continuously adaptive mean-shift
algorithm to track objects based on a hidden histogram of the hue component
of pixels.;
+#X text 13 -75 commetns to ydegoyon@gmail.com.;
#X connect 1 0 2 0;
#X connect 2 0 4 0;
#X connect 3 0 4 0;
-#X connect 4 0 29 0;
+#X connect 4 0 28 0;
#X connect 5 0 4 0;
#X connect 6 0 7 0;
#X connect 7 0 10 0;
#X connect 8 0 10 0;
#X connect 9 0 10 0;
-#X connect 10 0 29 0;
+#X connect 10 0 28 0;
#X connect 11 0 10 0;
#X connect 12 0 11 0;
-#X connect 13 0 29 0;
+#X connect 13 0 28 0;
#X connect 14 0 13 0;
#X connect 15 0 14 0;
#X connect 16 0 14 0;
@@ -98,27 +98,27 @@ of pixels.;
#X connect 22 0 21 0;
#X connect 22 0 15 0;
#X connect 25 0 13 1;
-#X connect 27 0 41 0;
-#X connect 29 0 27 0;
-#X connect 29 0 43 0;
-#X connect 29 1 53 0;
-#X connect 30 0 29 0;
-#X connect 32 0 30 0;
-#X connect 33 0 29 0;
-#X connect 34 0 33 0;
-#X connect 35 0 36 0;
-#X connect 36 0 29 0;
-#X connect 37 0 38 0;
-#X connect 38 0 29 0;
-#X connect 41 0 42 0;
-#X connect 42 0 29 0;
-#X connect 43 0 27 0;
+#X connect 27 0 40 0;
+#X connect 28 0 27 0;
+#X connect 28 0 42 0;
+#X connect 28 1 52 0;
+#X connect 29 0 28 0;
+#X connect 31 0 29 0;
+#X connect 32 0 28 0;
+#X connect 33 0 32 0;
+#X connect 34 0 35 0;
+#X connect 35 0 28 0;
+#X connect 36 0 37 0;
+#X connect 37 0 28 0;
+#X connect 40 0 41 0;
+#X connect 41 0 28 0;
+#X connect 42 0 27 0;
+#X connect 45 0 47 0;
#X connect 46 0 48 0;
-#X connect 47 0 49 0;
-#X connect 48 0 29 0;
-#X connect 49 0 29 0;
-#X connect 53 0 54 0;
-#X connect 53 1 55 0;
-#X connect 53 2 56 0;
-#X connect 53 3 57 0;
-#X connect 53 4 58 0;
+#X connect 47 0 28 0;
+#X connect 48 0 28 0;
+#X connect 52 0 53 0;
+#X connect 52 1 54 0;
+#X connect 52 2 55 0;
+#X connect 52 3 56 0;
+#X connect 52 4 57 0;
diff --git a/pdp_opencv_channels-help.pd b/pdp_opencv_channels-help.pd
index b74c2be..8a16c4e 100644
--- a/pdp_opencv_channels-help.pd
+++ b/pdp_opencv_channels-help.pd
@@ -1,15 +1,13 @@
-#N canvas 384 49 833 785 10;
-#X text -16 -86 written by Lluis Gomez i Bigorda ( lluisgomez@hangar.org
-) and Yves Degoyon ( ydegoyon@gmail.com );
+#N canvas 389 49 833 785 10;
#X obj -17 -55 cnv 15 621 250 empty empty empty 20 12 0 14 -260097
-66577 0;
-#X obj 223 -15 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+#X obj 222 -15 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X obj 223 12 metro 40;
#X msg 313 39 close;
#X obj 243 110 pdp_v4l;
#X msg 300 7 open /dev/video0;
-#X obj 412 -20 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
+#X obj 412 -20 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X obj 412 7 metro 40;
#X msg 493 26 close;
@@ -44,30 +42,31 @@
#X text 62 399 green channel;
#X text 2 386 red channel;
#X text 117 386 blue channel;
-#X connect 2 0 3 0;
-#X connect 3 0 5 0;
-#X connect 4 0 5 0;
-#X connect 5 0 28 0;
-#X connect 6 0 5 0;
-#X connect 7 0 8 0;
-#X connect 8 0 11 0;
-#X connect 9 0 11 0;
-#X connect 10 0 11 0;
-#X connect 11 0 28 0;
+#X text -16 -86 comments to ydegoyon@gmail.com.;
+#X connect 1 0 2 0;
+#X connect 2 0 4 0;
+#X connect 3 0 4 0;
+#X connect 4 0 27 0;
+#X connect 5 0 4 0;
+#X connect 6 0 7 0;
+#X connect 7 0 10 0;
+#X connect 8 0 10 0;
+#X connect 9 0 10 0;
+#X connect 10 0 27 0;
+#X connect 11 0 10 0;
#X connect 12 0 11 0;
-#X connect 13 0 12 0;
-#X connect 14 0 28 0;
+#X connect 13 0 27 0;
+#X connect 14 0 13 0;
#X connect 15 0 14 0;
-#X connect 16 0 15 0;
-#X connect 17 0 15 0;
-#X connect 18 0 19 0;
-#X connect 19 0 14 0;
-#X connect 20 0 18 0;
-#X connect 21 0 14 0;
+#X connect 16 0 14 0;
+#X connect 17 0 18 0;
+#X connect 18 0 13 0;
+#X connect 19 0 17 0;
+#X connect 20 0 13 0;
+#X connect 21 0 20 0;
#X connect 22 0 21 0;
-#X connect 23 0 22 0;
-#X connect 23 0 16 0;
-#X connect 26 0 14 1;
-#X connect 28 0 31 0;
-#X connect 28 1 32 0;
-#X connect 28 2 33 0;
+#X connect 22 0 15 0;
+#X connect 25 0 13 1;
+#X connect 27 0 30 0;
+#X connect 27 1 31 0;
+#X connect 27 2 32 0;
diff --git a/pdp_opencv_colorfilt-help.pd b/pdp_opencv_colorfilt-help.pd
index 8e60085..9b6d2ab 100755
--- a/pdp_opencv_colorfilt-help.pd
+++ b/pdp_opencv_colorfilt-help.pd
@@ -1,7 +1,7 @@
-#N canvas 367 49 810 785 10;
+#N canvas 372 49 810 785 10;
#X obj -15 -31 cnv 15 621 250 empty empty empty 20 12 0 14 -260097
-66577 0;
-#X obj 223 -15 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+#X obj 223 -14 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X obj 223 12 metro 40;
#X msg 313 39 close;
@@ -30,15 +30,13 @@
#X text 58 -2 playing a video file;
#X text 253 -17 Camera input;
#X obj 75 185 hsl 128 15 0 2000 0 0 empty empty empty -2 -8 0 10 -262144
--1 -1 12700 1;
+-1 -1 0 1;
#X obj -15 222 cnv 15 621 350 empty empty empty 20 12 0 14 -258113
-66577 0;
#X text -13 -98 can be useful to isolate and track colors;
#X obj 10 583 pdp_xv;
#X obj 8 492 pdp_opencv_colorfilt;
#X obj 244 161 pdp_xv;
-#X text -14 -111 pdp_opencv_colrfilt : RGB color filter;
-#X text -16 -63 written by Yves Degoyon ( ydegoyon@gmail.com );
#X text -14 -87 it's very similar to pdp_binary for PiDiP but works
in RGB colorspace;
#X obj 110 384 pdp_colorgrid pdp_colorgrid1 256 0 256 50 0 50 0 1 1
@@ -63,12 +61,14 @@ in RGB colorspace;
#X msg 290 160 cursor 1;
#X floatatom 166 293 5 0 0 0 - - -;
#X text 215 290 color tolerance ( default : 50 );
+#X text -14 -111 pdp_opencv_colorfilt : RGB color filter;
+#X text -14 -62 comments to ydegoyon@gmail.com.;
#X connect 1 0 2 0;
#X connect 2 0 4 0;
#X connect 3 0 4 0;
#X connect 4 0 29 0;
#X connect 4 0 30 0;
-#X connect 4 0 52 0;
+#X connect 4 0 50 0;
#X connect 5 0 4 0;
#X connect 6 0 7 0;
#X connect 7 0 10 0;
@@ -76,11 +76,11 @@ in RGB colorspace;
#X connect 9 0 10 0;
#X connect 10 0 29 0;
#X connect 10 0 30 0;
-#X connect 10 0 52 0;
+#X connect 10 0 50 0;
#X connect 11 0 10 0;
#X connect 12 0 11 0;
#X connect 13 0 30 0;
-#X connect 13 0 52 0;
+#X connect 13 0 50 0;
#X connect 13 0 29 0;
#X connect 14 0 13 0;
#X connect 15 0 14 0;
@@ -94,18 +94,18 @@ in RGB colorspace;
#X connect 22 0 15 0;
#X connect 25 0 13 1;
#X connect 29 0 28 0;
-#X connect 29 1 41 0;
-#X connect 29 2 42 0;
-#X connect 29 3 43 0;
-#X connect 30 0 51 0;
-#X connect 34 0 35 0;
-#X connect 34 1 36 0;
-#X connect 34 2 37 0;
-#X connect 35 0 29 1;
-#X connect 36 0 29 2;
-#X connect 37 0 29 3;
-#X connect 39 0 29 0;
-#X connect 50 0 29 0;
-#X connect 51 0 39 0;
-#X connect 52 0 30 0;
-#X connect 53 0 50 0;
+#X connect 29 1 39 0;
+#X connect 29 2 40 0;
+#X connect 29 3 41 0;
+#X connect 30 0 49 0;
+#X connect 32 0 33 0;
+#X connect 32 1 34 0;
+#X connect 32 2 35 0;
+#X connect 33 0 29 1;
+#X connect 34 0 29 2;
+#X connect 35 0 29 3;
+#X connect 37 0 29 0;
+#X connect 48 0 29 0;
+#X connect 49 0 37 0;
+#X connect 50 0 30 0;
+#X connect 51 0 48 0;
diff --git a/pdp_opencv_contours_boundingrect-help.pd b/pdp_opencv_contours_boundingrect-help.pd
index 814a1ec..cf06aec 100644
--- a/pdp_opencv_contours_boundingrect-help.pd
+++ b/pdp_opencv_contours_boundingrect-help.pd
@@ -1,4 +1,4 @@
-#N canvas 729 49 737 767 10;
+#N canvas 683 49 737 767 10;
#X obj 41 -82 cnv 15 621 223 empty empty empty 20 12 0 14 -260097 -66577
0;
#X msg 148 -25 open /dev/dv1394/0;
@@ -13,7 +13,7 @@
#X msg 371 10 close;
#X obj 301 81 pdp_v4l;
#X msg 358 -22 open /dev/video0;
-#X obj 482 -42 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
+#X obj 482 -42 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X obj 482 -15 metro 40;
#X msg 563 4 close;
@@ -92,17 +92,18 @@ silouets of the objects you want to track.;
#X text 318 261 frame tolerance for identification ( default 5 );
#X obj 92 75 pdp_ieee1394;
#X msg 211 280 nightmode \$1;
-#X obj 301 281 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
+#X obj 301 281 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X obj 290 302 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
-#X obj 303 324 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
+#X obj 303 324 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X msg 230 301 draw \$1;
#X text 317 300 draw bounding rectangle ( default : on );
#X msg 245 322 show \$1;
#X text 330 321 draw the detected contours ( default : off );
#X text 324 281 hide original image ( default : off );
+#X text 44 -99 comments to lluisgomez@hanger.org;
#X connect 1 0 69 0;
#X connect 2 0 3 0;
#X connect 3 0 69 0;
diff --git a/pdp_opencv_contours_convexhull-help.pd b/pdp_opencv_contours_convexhull-help.pd
index 9ea4717..2edeff5 100644
--- a/pdp_opencv_contours_convexhull-help.pd
+++ b/pdp_opencv_contours_convexhull-help.pd
@@ -1,7 +1,7 @@
#N canvas 503 58 737 767 10;
#X obj 41 -82 cnv 15 621 223 empty empty empty 20 12 0 14 -260097 -66577
0;
-#X obj 281 -44 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+#X obj 281 -41 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X obj 281 -17 metro 40;
#X msg 371 10 close;
@@ -37,8 +37,6 @@ silouets of the objects you want to track.;
#X text 71 -79 INPUT;
#X text 47 -158 pdp_opencv_contours_convexhull :: Draw the convex hull
of the biggest contour.;
-#X text 46 -101 written by Lluis Gomez i Bigorda ( lluisgomez@hangar.org
-);
#X obj 81 97 pdp_qt;
#X obj 110 46 metro 40;
#X msg 110 18 bang;
@@ -80,52 +78,53 @@ colors;
#X msg 136 211 accuracy \$1;
#X text 286 213 polygon approximation accuracy ( default 3 );
#X floatatom 218 213 5 0 0 0 - - -;
+#X text 47 -101 commets to lluisgomez@hangar.org.;
#X connect 1 0 2 0;
#X connect 2 0 4 0;
#X connect 3 0 4 0;
-#X connect 4 0 59 0;
+#X connect 4 0 58 0;
#X connect 5 0 4 0;
#X connect 6 0 7 0;
#X connect 7 0 10 0;
#X connect 8 0 10 0;
#X connect 9 0 10 0;
-#X connect 10 0 59 0;
+#X connect 10 0 58 0;
#X connect 13 0 10 0;
#X connect 14 0 13 0;
-#X connect 17 0 51 0;
+#X connect 17 0 50 0;
#X connect 18 0 17 0;
#X connect 20 0 22 0;
-#X connect 22 0 51 0;
-#X connect 23 0 51 0;
+#X connect 22 0 50 0;
+#X connect 23 0 50 0;
#X connect 24 0 23 0;
-#X connect 29 0 59 0;
+#X connect 28 0 58 0;
+#X connect 29 0 28 0;
#X connect 30 0 29 0;
-#X connect 31 0 30 0;
-#X connect 32 0 30 0;
-#X connect 33 0 34 0;
-#X connect 34 0 29 0;
-#X connect 35 0 33 0;
-#X connect 36 0 29 0;
+#X connect 31 0 29 0;
+#X connect 32 0 33 0;
+#X connect 33 0 28 0;
+#X connect 34 0 32 0;
+#X connect 35 0 28 0;
+#X connect 36 0 35 0;
#X connect 37 0 36 0;
-#X connect 38 0 37 0;
-#X connect 38 0 31 0;
-#X connect 40 0 29 1;
-#X connect 51 0 12 0;
-#X connect 51 1 15 0;
-#X connect 51 2 56 0;
-#X connect 53 0 55 2;
-#X connect 55 0 51 0;
-#X connect 56 0 42 0;
-#X connect 56 1 43 0;
-#X connect 56 2 44 0;
-#X connect 56 3 45 0;
-#X connect 56 4 46 0;
-#X connect 56 5 47 0;
-#X connect 56 6 57 0;
-#X connect 56 7 58 0;
-#X connect 59 0 55 0;
-#X connect 59 1 61 0;
-#X connect 60 0 59 1;
-#X connect 61 0 55 0;
-#X connect 62 0 51 0;
-#X connect 64 0 62 0;
+#X connect 37 0 30 0;
+#X connect 39 0 28 1;
+#X connect 50 0 12 0;
+#X connect 50 1 15 0;
+#X connect 50 2 55 0;
+#X connect 52 0 54 2;
+#X connect 54 0 50 0;
+#X connect 55 0 41 0;
+#X connect 55 1 42 0;
+#X connect 55 2 43 0;
+#X connect 55 3 44 0;
+#X connect 55 4 45 0;
+#X connect 55 5 46 0;
+#X connect 55 6 56 0;
+#X connect 55 7 57 0;
+#X connect 58 0 54 0;
+#X connect 58 1 60 0;
+#X connect 59 0 58 1;
+#X connect 60 0 54 0;
+#X connect 61 0 50 0;
+#X connect 63 0 61 0;
diff --git a/pdp_opencv_contours_convexity-help.pd b/pdp_opencv_contours_convexity-help.pd
index 8866098..711567c 100644
--- a/pdp_opencv_contours_convexity-help.pd
+++ b/pdp_opencv_contours_convexity-help.pd
@@ -1,4 +1,4 @@
-#N canvas 6 49 714 937 10;
+#N canvas 11 49 714 937 10;
#X obj -514 173 cnv 15 621 223 empty empty empty 20 12 0 14 -260097
-66577 0;
#X msg -407 230 open /dev/dv1394/0;
@@ -7,7 +7,7 @@
#X obj -482 230 metro 40;
#X msg -364 296 norm PAL;
#X msg -394 259 close;
-#X obj -274 211 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1
+#X obj -273 210 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1
0 1;
#X obj -274 238 metro 40;
#X msg -184 265 close;
@@ -95,6 +95,7 @@ bigest white area in the input image \, sometimes you will need to
use pdp_opencv_morphology to transform the contours of the shape to
be analyzed..;
#X obj -464 330 pdp_ieee1394;
+#X text -515 152 comments to lluisgomez@hangar.org;
#X connect 1 0 78 0;
#X connect 2 0 3 0;
#X connect 3 0 78 0;
diff --git a/pdp_opencv_dft-help.pd b/pdp_opencv_dft-help.pd
index f0d7ceb..5458bac 100755
--- a/pdp_opencv_dft-help.pd
+++ b/pdp_opencv_dft-help.pd
@@ -8,7 +8,7 @@
#X obj -155 14 pdp_v4l;
#X msg -137 -55 open /dev/video0;
#X obj -30 -111 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1
-1 1;
+0 1;
#X obj -30 -84 metro 40;
#X msg 34 -65 close;
#X msg 30 -89 open /dev/video0;
@@ -17,7 +17,6 @@
#X obj 32 -35 hradio 15 1 0 4 empty empty empty 0 -8 0 10 -262144 -1
-1 0;
#X text -145 -113 Camera input;
-#X text -188 -181 written by yves degoyon ( ydegoyon@gmail.com );
#X text 376 -143 input 1;
#X obj 440 -146 cnv 15 250 250 empty empty empty 20 12 0 14 -260097
-66577 0;
@@ -43,7 +42,7 @@
#X msg 290 -27 stop;
#X obj 216 -96 openpanel;
#X msg 216 -71 open \$1;
-#X msg 216 -124 bang;
+#X msg 216 -122 bang;
#X msg 250 28 loop \$1;
#X obj 330 28 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
1;
@@ -136,67 +135,68 @@
#X text 106 230 <-- also outputs phase diagram;
#X text 110 240 ( necessary for reverse dft );
#X obj 151 401 * 0.9;
+#X text -188 -179 commets to ydegoyon@gmail.com.;
#X connect 1 0 2 0;
#X connect 2 0 4 0;
#X connect 3 0 4 0;
-#X connect 4 0 26 0;
+#X connect 4 0 25 0;
#X connect 5 0 4 0;
#X connect 6 0 7 0;
#X connect 7 0 10 0;
#X connect 8 0 10 0;
#X connect 9 0 10 0;
-#X connect 10 0 26 0;
+#X connect 10 0 25 0;
#X connect 11 0 10 0;
#X connect 12 0 11 0;
-#X connect 17 0 22 0;
-#X connect 18 0 17 0;
-#X connect 18 0 21 0;
-#X connect 19 0 32 0;
-#X connect 20 0 27 0;
-#X connect 20 0 48 0;
+#X connect 16 0 21 0;
+#X connect 17 0 16 0;
+#X connect 17 0 20 0;
+#X connect 18 0 31 0;
+#X connect 19 0 26 0;
+#X connect 19 0 47 0;
+#X connect 20 0 18 0;
#X connect 21 0 19 0;
-#X connect 22 0 20 0;
-#X connect 22 0 45 0;
-#X connect 23 0 19 3;
-#X connect 26 0 28 0;
-#X connect 26 0 47 0;
-#X connect 31 0 20 0;
-#X connect 32 0 31 0;
-#X connect 33 0 26 0;
+#X connect 21 0 44 0;
+#X connect 22 0 18 3;
+#X connect 25 0 27 0;
+#X connect 25 0 46 0;
+#X connect 30 0 19 0;
+#X connect 31 0 30 0;
+#X connect 32 0 25 0;
+#X connect 33 0 32 0;
#X connect 34 0 33 0;
-#X connect 35 0 34 0;
-#X connect 36 0 34 0;
-#X connect 37 0 38 0;
-#X connect 38 0 33 0;
-#X connect 39 0 37 0;
-#X connect 40 0 33 0;
+#X connect 35 0 33 0;
+#X connect 36 0 37 0;
+#X connect 37 0 32 0;
+#X connect 38 0 36 0;
+#X connect 39 0 32 0;
+#X connect 40 0 39 0;
#X connect 41 0 40 0;
-#X connect 42 0 41 0;
-#X connect 42 0 35 0;
-#X connect 45 0 44 0;
-#X connect 47 0 63 0;
-#X connect 47 1 85 0;
-#X connect 48 0 62 0;
+#X connect 41 0 34 0;
+#X connect 44 0 43 0;
+#X connect 46 0 62 0;
+#X connect 46 1 84 0;
+#X connect 47 0 61 0;
+#X connect 48 0 46 0;
#X connect 49 0 47 0;
-#X connect 50 0 48 0;
-#X connect 51 0 84 0;
-#X connect 52 0 51 0;
-#X connect 58 0 59 0;
-#X connect 59 0 76 0;
-#X connect 59 0 83 0;
-#X connect 60 0 62 6;
-#X connect 60 0 63 6;
-#X connect 61 0 65 0;
-#X connect 62 0 66 1;
-#X connect 63 0 66 0;
-#X connect 64 0 90 0;
-#X connect 65 0 60 0;
-#X connect 66 0 57 0;
-#X connect 66 0 58 0;
-#X connect 76 0 64 0;
-#X connect 83 0 76 1;
-#X connect 84 0 47 0;
-#X connect 84 0 48 0;
-#X connect 85 1 86 0;
-#X connect 87 0 85 1;
-#X connect 90 0 83 1;
+#X connect 50 0 83 0;
+#X connect 51 0 50 0;
+#X connect 57 0 58 0;
+#X connect 58 0 75 0;
+#X connect 58 0 82 0;
+#X connect 59 0 61 6;
+#X connect 59 0 62 6;
+#X connect 60 0 64 0;
+#X connect 61 0 65 1;
+#X connect 62 0 65 0;
+#X connect 63 0 89 0;
+#X connect 64 0 59 0;
+#X connect 65 0 56 0;
+#X connect 65 0 57 0;
+#X connect 75 0 63 0;
+#X connect 82 0 75 1;
+#X connect 83 0 46 0;
+#X connect 83 0 47 0;
+#X connect 84 1 85 0;
+#X connect 86 0 84 1;
+#X connect 89 0 82 1;
diff --git a/pdp_opencv_distrans-help.pd b/pdp_opencv_distrans-help.pd
index ec2d4b0..e0de053 100644
--- a/pdp_opencv_distrans-help.pd
+++ b/pdp_opencv_distrans-help.pd
@@ -2,11 +2,9 @@
#X text -221 -168 pdp_opencv_distrans : distance processing;
#X text -221 -154 it's a morphology filter that can be used to preprocess
video frames;
-#X text -220 -129 written by lluis gomez i bigorda ( lluisgomez@hangar.org
-);
#X obj -226 -96 cnv 15 621 250 empty empty empty 20 12 0 14 -260097
-66577 0;
-#X obj 14 -56 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+#X obj 13 -57 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X obj 14 -29 metro 40;
#X msg 104 -2 close;
@@ -29,7 +27,7 @@ video frames;
#X msg -196 -17 open \$1;
#X msg -196 -70 bang;
#X msg -162 82 loop \$1;
-#X obj -82 82 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+#X obj -82 82 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
1;
#X obj -82 0 loadbang;
#X text -153 -67 playing a video file;
@@ -50,33 +48,34 @@ video frames;
#X text 27 247 use 3x3 mask;
#X text 37 266 use 5x5 mask;
#X text 43 285 use precise distance transform;
-#X connect 4 0 5 0;
-#X connect 5 0 7 0;
-#X connect 6 0 7 0;
-#X connect 7 0 31 0;
-#X connect 8 0 7 0;
-#X connect 9 0 10 0;
-#X connect 10 0 13 0;
-#X connect 11 0 13 0;
-#X connect 12 0 13 0;
-#X connect 13 0 31 0;
+#X text -220 -129 commets to lluisgomez@hangar.org.;
+#X connect 3 0 4 0;
+#X connect 4 0 6 0;
+#X connect 5 0 6 0;
+#X connect 6 0 30 0;
+#X connect 7 0 6 0;
+#X connect 8 0 9 0;
+#X connect 9 0 12 0;
+#X connect 10 0 12 0;
+#X connect 11 0 12 0;
+#X connect 12 0 30 0;
+#X connect 13 0 12 0;
#X connect 14 0 13 0;
-#X connect 15 0 14 0;
-#X connect 16 0 31 0;
+#X connect 15 0 30 0;
+#X connect 16 0 15 0;
#X connect 17 0 16 0;
-#X connect 18 0 17 0;
-#X connect 19 0 17 0;
-#X connect 20 0 21 0;
-#X connect 21 0 16 0;
-#X connect 22 0 20 0;
-#X connect 23 0 16 0;
+#X connect 18 0 16 0;
+#X connect 19 0 20 0;
+#X connect 20 0 15 0;
+#X connect 21 0 19 0;
+#X connect 22 0 15 0;
+#X connect 23 0 22 0;
#X connect 24 0 23 0;
-#X connect 25 0 24 0;
-#X connect 25 0 18 0;
-#X connect 30 0 31 1;
-#X connect 31 0 29 0;
-#X connect 33 0 31 0;
-#X connect 34 0 31 0;
-#X connect 35 0 31 0;
-#X connect 36 0 31 0;
-#X connect 37 0 36 0;
+#X connect 24 0 17 0;
+#X connect 29 0 30 1;
+#X connect 30 0 28 0;
+#X connect 32 0 30 0;
+#X connect 33 0 30 0;
+#X connect 34 0 30 0;
+#X connect 35 0 30 0;
+#X connect 36 0 35 0;
diff --git a/pdp_opencv_edge-help.pd b/pdp_opencv_edge-help.pd
index efee274..2357d28 100644
--- a/pdp_opencv_edge-help.pd
+++ b/pdp_opencv_edge-help.pd
@@ -1,14 +1,14 @@
#N canvas 534 143 786 603 10;
#X obj -195 -148 cnv 15 621 250 empty empty empty 20 12 0 14 -260097
-66577 0;
-#X obj 45 -108 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+#X obj 45 -109 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X obj 45 -81 metro 40;
#X msg 135 -54 close;
#X obj 65 17 pdp_v4l;
#X msg 122 -86 open /dev/video0;
#X obj 246 -106 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1
-1 1;
+0 1;
#X obj 246 -79 metro 40;
#X msg 327 -60 close;
#X msg 323 -84 open /dev/video0;
@@ -24,13 +24,11 @@
#X msg -165 -69 open \$1;
#X msg -165 -122 bang;
#X msg -131 30 loop \$1;
-#X obj -51 30 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+#X obj -51 30 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
1;
#X obj -51 -52 loadbang;
#X text -122 -119 playing a video file;
#X text 75 -110 Camera input;
-#X text -197 -169 written by lluis gomez i bigorda ( lluisgomez@hangar.org
-);
#X text -196 -185 pdp_opencv_edge : edge detection filter;
#X obj -194 110 cnv 15 621 150 empty empty empty 20 12 0 14 -258113
-66577 0;
@@ -38,19 +36,20 @@
#X floatatom -52 121 5 0 0 0 - - -;
#X obj -169 156 pdp_opencv_edge;
#X text -13 122 edge threshold;
+#X text -196 -169 comments to lluisgomez@hangar.org.;
#X connect 1 0 2 0;
#X connect 2 0 4 0;
#X connect 3 0 4 0;
-#X connect 4 0 30 0;
+#X connect 4 0 29 0;
#X connect 5 0 4 0;
#X connect 6 0 7 0;
#X connect 7 0 10 0;
#X connect 8 0 10 0;
#X connect 9 0 10 0;
-#X connect 10 0 30 0;
+#X connect 10 0 29 0;
#X connect 11 0 10 0;
#X connect 12 0 11 0;
-#X connect 13 0 30 0;
+#X connect 13 0 29 0;
#X connect 14 0 13 0;
#X connect 15 0 14 0;
#X connect 16 0 14 0;
@@ -61,5 +60,5 @@
#X connect 21 0 20 0;
#X connect 22 0 21 0;
#X connect 22 0 15 0;
-#X connect 29 0 30 1;
-#X connect 30 0 28 0;
+#X connect 28 0 29 1;
+#X connect 29 0 27 0;
diff --git a/pdp_opencv_floodfill-help.pd b/pdp_opencv_floodfill-help.pd
index 1640190..543c818 100644
--- a/pdp_opencv_floodfill-help.pd
+++ b/pdp_opencv_floodfill-help.pd
@@ -1,7 +1,6 @@
#N canvas 405 196 826 623 10;
#X text -158 -39 used in tracking algorithms as an object selector
;
-#X text -158 -12 and Yves Degoyon ( ydegoyon@gmail.com );
#X text -159 -62 pdp_opencv_floodfill : mark image components with
a specific color;
#X obj -166 18 cnv 15 621 250 empty empty empty 20 12 0 14 -260097
@@ -76,47 +75,48 @@ you want to mark;
#X obj -78 500 pdp_opencv_floodfill;
#X msg 74 394 connectivity 4;
#X msg 76 418 connectivity 8;
-#X connect 4 0 5 0;
-#X connect 5 0 7 0;
-#X connect 6 0 7 0;
-#X connect 7 0 63 0;
-#X connect 8 0 7 0;
-#X connect 9 0 10 0;
-#X connect 10 0 13 0;
-#X connect 11 0 13 0;
-#X connect 12 0 13 0;
-#X connect 13 0 63 0;
+#X text -158 -12 and Yves Degoyon ( ydegoyon@gmail.com );
+#X connect 3 0 4 0;
+#X connect 4 0 6 0;
+#X connect 5 0 6 0;
+#X connect 6 0 62 0;
+#X connect 7 0 6 0;
+#X connect 8 0 9 0;
+#X connect 9 0 12 0;
+#X connect 10 0 12 0;
+#X connect 11 0 12 0;
+#X connect 12 0 62 0;
+#X connect 13 0 12 0;
#X connect 14 0 13 0;
-#X connect 15 0 14 0;
-#X connect 16 0 63 0;
+#X connect 15 0 62 0;
+#X connect 16 0 15 0;
#X connect 17 0 16 0;
-#X connect 18 0 17 0;
-#X connect 19 0 17 0;
-#X connect 20 0 21 0;
-#X connect 21 0 16 0;
-#X connect 22 0 20 0;
-#X connect 23 0 16 0;
+#X connect 18 0 16 0;
+#X connect 19 0 20 0;
+#X connect 20 0 15 0;
+#X connect 21 0 19 0;
+#X connect 22 0 15 0;
+#X connect 23 0 22 0;
#X connect 24 0 23 0;
-#X connect 25 0 24 0;
-#X connect 25 0 18 0;
-#X connect 29 0 33 0;
-#X connect 30 0 63 1;
-#X connect 31 0 63 2;
-#X connect 32 0 63 0;
-#X connect 33 0 32 0;
-#X connect 34 0 63 0;
-#X connect 35 0 34 0;
-#X connect 37 0 29 0;
-#X connect 38 0 63 0;
-#X connect 44 0 49 0;
-#X connect 49 0 45 0;
-#X connect 49 1 46 0;
-#X connect 49 2 47 0;
-#X connect 49 3 48 0;
-#X connect 54 0 63 0;
-#X connect 55 0 63 0;
-#X connect 63 0 29 0;
-#X connect 63 0 37 0;
-#X connect 63 1 44 0;
-#X connect 64 0 63 0;
-#X connect 65 0 63 0;
+#X connect 24 0 17 0;
+#X connect 28 0 32 0;
+#X connect 29 0 62 1;
+#X connect 30 0 62 2;
+#X connect 31 0 62 0;
+#X connect 32 0 31 0;
+#X connect 33 0 62 0;
+#X connect 34 0 33 0;
+#X connect 36 0 28 0;
+#X connect 37 0 62 0;
+#X connect 43 0 48 0;
+#X connect 48 0 44 0;
+#X connect 48 1 45 0;
+#X connect 48 2 46 0;
+#X connect 48 3 47 0;
+#X connect 53 0 62 0;
+#X connect 54 0 62 0;
+#X connect 62 0 28 0;
+#X connect 62 0 36 0;
+#X connect 62 1 43 0;
+#X connect 63 0 62 0;
+#X connect 64 0 62 0;
diff --git a/pdp_opencv_motempl-help.pd b/pdp_opencv_motempl-help.pd
index ed1f42c..0e6085e 100644
--- a/pdp_opencv_motempl-help.pd
+++ b/pdp_opencv_motempl-help.pd
@@ -11,7 +11,7 @@ movement history;
#X msg 341 157 close;
#X obj 271 228 pdp_v4l;
#X msg 328 125 open /dev/video0;
-#X obj 440 98 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+#X obj 440 98 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
1;
#X obj 440 125 metro 40;
#X msg 521 144 close;
diff --git a/pdp_opencv_threshold-help.pd b/pdp_opencv_threshold-help.pd
index 7605121..9d0dbdd 100644
--- a/pdp_opencv_threshold-help.pd
+++ b/pdp_opencv_threshold-help.pd
@@ -1,4 +1,4 @@
-#N canvas 10 73 1039 729 10;
+#N canvas 15 96 1039 729 10;
#X obj 11 -57 cnv 15 621 250 empty empty empty 20 12 0 14 -260097 -66577
0;
#X obj 251 -17 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
@@ -7,7 +7,7 @@
#X msg 341 37 close;
#X obj 271 108 pdp_v4l;
#X msg 328 5 open /dev/video0;
-#X obj 440 -22 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
+#X obj 440 -22 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X obj 440 5 metro 40;
#X msg 521 24 close;
@@ -24,7 +24,7 @@
#X msg 41 22 open \$1;
#X msg 41 -31 bang;
#X msg 75 121 loop \$1;
-#X obj 155 121 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+#X obj 155 121 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
1;
#X obj 155 39 loadbang;
#X text 84 -28 playing a video file;
@@ -36,26 +36,26 @@
);
#X obj 12 201 cnv 15 621 150 empty empty empty 20 12 0 14 -258113 -66577
0;
-#X obj 58 396 pdp_xv;
-#X floatatom 174 289 5 0 0 0 - - -;
-#X obj 59 316 pdp_opencv_threshold;
-#X msg 351 325 mode \$1;
-#X floatatom 128 270 5 0 0 0 - - -;
-#X text 128 253 Max value used in some modes;
-#X msg 328 213 0;
-#X msg 349 236 1;
-#X msg 372 259 2;
-#X msg 396 280 3;
-#X msg 423 303 4;
-#X text 171 273 threshold value;
-#X text 207 290 ( default 50 );
-#X text 402 325 thresholding mode ( default 0 );
+#X obj 39 396 pdp_xv;
+#X floatatom 155 289 5 0 0 0 - - -;
+#X obj 40 316 pdp_opencv_threshold;
+#X msg 332 325 mode \$1;
+#X floatatom 109 270 5 0 0 0 - - -;
+#X text 109 253 Max value used in some modes;
+#X msg 309 213 0;
+#X msg 330 236 1;
+#X msg 353 259 2;
+#X msg 377 280 3;
+#X msg 404 303 4;
+#X text 152 273 threshold value;
+#X text 188 290 ( default 50 );
+#X text 383 325 thresholding mode ( default 0 );
#X text 13 -109 used as a filter to detect bright or dark piksels;
-#X text 360 211 pixel >= threshold;
-#X text 400 258 pixel >= threshold set to threshold;
-#X text 378 235 pixel <= threshold;
-#X text 427 279 pixel <= threshold set to 0;
-#X text 451 301 pixel >= threshold set to 0;
+#X text 341 211 pixel >= threshold;
+#X text 381 258 pixel >= threshold set to threshold;
+#X text 359 235 pixel <= threshold;
+#X text 408 279 pixel <= threshold set to 0;
+#X text 432 301 pixel >= threshold set to 0;
#X connect 1 0 2 0;
#X connect 2 0 4 0;
#X connect 3 0 4 0;