bacon-3.0.3/0000755000175000017500000000000012521736203011620 5ustar peterpeterbacon-3.0.3/description-pak0000644000175000017500000000076512521736710014652 0ustar peterpeterFree BASIC to C converter for Unix-based systems. BaCon is a free BASIC to C translator for Unix-based systems, which runs on most Unix/Linux/BSD platforms, including MacOSX. It intends to be a programming aid in creating tools which can be compiled on different platforms (including 64bit environments), while trying to revive the days of the good old BASIC. Code converted by BaCon can be compiled by GCC, the Compaq C Compiler, TCC, the clang/LLVM compiler and possibly also by other C compilers. bacon-3.0.3/README.1ST0000644000175000017500000000506012521736710013112 0ustar peterpeter+-------------------------------------+ | | | Installing BaCon 3.0.3 | | | +-------------------------------------+ (1) To install BaCon on your system, start by running the configure script: # ./configure (2) This script checks the requirements on your system and should finish successfully. A Makefile will be generated. Then start building the BaCon binary by executing: # make (3) This will create a static archive containing BaCon functions. Also the BaCon console version and GUI version are created. To install BaCon, simply execute: # make install On Ubuntu based systems, use sudo: # sudo make install +-------------------------------------+ | | | Compatibility with earlier versions | | | +-------------------------------------+ Though the BASIC syntax and API has not changed, it occasionally may happen that older programs cannot be converted. The following hints should help to troubleshoot such problems. (1) Starting from 3.0, BaCon uses a new and optimized variable detection mechanism. This mechanism is faster and more precise. Now global variables with a certain name cannot be used in combination with local variables using the same name. Solution: either change the name of the global variable, or consistently declare variables using LOCAL. (2) The IF/THEN/ELSE statement can be used in two ways. The first way is an IF/THEN/ELSE which contains a body with statements, ending with an ENDIF. The second way is an IF/THEN/ELSE containing one single statement on the same line, where no ENDIF is needed. The problem is that it cannot be detected which ELSE belongs to which IF in case of nested IF/THEN/ELSE statements. Solution: combinations of IF/THEN/ELSE with a body and without a body are not allowed anymore. Such combinations of IF/THEN/ELSE have to be rewritten. Either use IF/THEN/ELSE each with a body, or use IF/THEN/ELSE each with a single line. +-------------------------------------+ | | | A note to beta testers | | | +-------------------------------------+ Before installing BaCon 3.0.3, please make sure that old beta versions of the BaCon archive are removed from your system. This archive can have the name 'bacon.a' or 'libbacon.a'. +----------------------------------------------------------------------- Greetings Peter van Eerten +----------------------------------------------------------------------- bacon-3.0.3/config.guess0000755000175000017500000012743212521736710014154 0ustar peterpeter#! /bin/sh # Attempt to guess a canonical system name. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, # 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, # 2011, 2012 Free Software Foundation, Inc. timestamp='2012-02-10' # 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, see . # # 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. Please send patches (context # diff format) to and include a 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. # # You can get the latest version of this script from: # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD 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 ." version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 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 ;; --version | -v ) echo "$version" ; exit ;; --help | --h* | -h ) echo "$usage"; exit ;; -- ) # 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 trap 'exit 1' 1 2 15 # CC_FOR_BUILD -- compiler used by this script. Note that the use of a # compiler to aid in system detection is discouraged as it requires # temporary files to be created and, as you can see below, it is a # headache to deal with in a portable fashion. # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still # use `HOST_CC' if defined, but it is deprecated. # Portable tmp directory creation inspired by the Autoconf team. set_cc_for_build=' trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; : ${TMPDIR=/tmp} ; { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; dummy=$tmp/dummy ; tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; case $CC_FOR_BUILD,$HOST_CC,$CC in ,,) echo "int x;" > $dummy.c ; for c in cc gcc c89 c99 ; do if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then CC_FOR_BUILD="$c"; break ; fi ; done ; 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 ; set_cc_for_build= ;' # 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 tuples: *-*-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". sysctl="sysctl -n hw.machine_arch" UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ /usr/sbin/$sysctl 2>/dev/null || echo unknown)` case "${UNAME_MACHINE_ARCH}" in armeb) machine=armeb-unknown ;; arm*) machine=arm-unknown ;; sh3el) machine=shl-unknown ;; sh3eb) machine=sh-unknown ;; sh5el) machine=sh5le-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 -q __ELF__ 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 # Debian GNU/NetBSD machines have a different userland, and # thus, need a distinct triplet. However, they do not need # kernel version information, so it can be replaced with a # suitable tag, in the style of linux-gnu. case "${UNAME_VERSION}" in Debian*) release='-gnu' ;; *) release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` ;; esac # 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 ;; *:OpenBSD:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} exit ;; *:ekkoBSD:*:*) echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} exit ;; *:SolidBSD:*:*) echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} exit ;; macppc:MirBSD:*:*) echo powerpc-unknown-mirbsd${UNAME_RELEASE} exit ;; *:MirBSD:*:*) echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} exit ;; alpha:OSF1:*:*) case $UNAME_RELEASE in *4.0) UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` ;; *5.*) UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` ;; esac # According to Compaq, /usr/sbin/psrinfo has been available on # OSF/1 and Tru64 systems produced since 1995. I hope that # covers most systems running today. This code pipes the CPU # types through head -n 1, so we only detect the type of CPU 0. ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` case "$ALPHA_CPU_TYPE" in "EV4 (21064)") UNAME_MACHINE="alpha" ;; "EV4.5 (21064)") UNAME_MACHINE="alpha" ;; "LCA4 (21066/21068)") UNAME_MACHINE="alpha" ;; "EV5 (21164)") UNAME_MACHINE="alphaev5" ;; "EV5.6 (21164A)") UNAME_MACHINE="alphaev56" ;; "EV5.6 (21164PC)") UNAME_MACHINE="alphapca56" ;; "EV5.7 (21164PC)") UNAME_MACHINE="alphapca57" ;; "EV6 (21264)") UNAME_MACHINE="alphaev6" ;; "EV6.7 (21264A)") UNAME_MACHINE="alphaev67" ;; "EV6.8CB (21264C)") UNAME_MACHINE="alphaev68" ;; "EV6.8AL (21264B)") UNAME_MACHINE="alphaev68" ;; "EV6.8CX (21264D)") UNAME_MACHINE="alphaev68" ;; "EV6.9A (21264/EV69A)") UNAME_MACHINE="alphaev69" ;; "EV7 (21364)") UNAME_MACHINE="alphaev7" ;; "EV7.9 (21364A)") UNAME_MACHINE="alphaev79" ;; esac # A Pn.n version is a patched version. # 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. echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` # Reset EXIT trap before exiting to avoid spurious non-zero exit code. exitcode=$? trap '' 0 exit $exitcode ;; 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 ;; 21064:Windows_NT:50:3) echo alpha-dec-winnt3.5 exit ;; Amiga*:UNIX_System_V:4.0:*) echo m68k-unknown-sysv4 exit ;; *:[Aa]miga[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-amigaos exit ;; *:[Mm]orph[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-morphos exit ;; *:OS/390:*:*) echo i370-ibm-openedition exit ;; *:z/VM:*:*) echo s390-ibm-zvmoe exit ;; *:OS400:*:*) echo powerpc-ibm-os400 exit ;; arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) echo arm-acorn-riscix${UNAME_RELEASE} exit ;; arm:riscos:*:*|arm:RISCOS:*:*) echo arm-unknown-riscos exit ;; SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) echo hppa1.1-hitachi-hiuxmpp exit ;; 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 ;; NILE*:*:*:dcosx) echo pyramid-pyramid-svr4 exit ;; DRS?6000:unix:4.0:6*) echo sparc-icl-nx6 exit ;; DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) case `/usr/bin/uname -p` in sparc) echo sparc-icl-nx7; exit ;; esac ;; s390x:SunOS:*:*) echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4H:SunOS:5.*:*) echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) echo i386-pc-auroraux${UNAME_RELEASE} exit ;; i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) eval $set_cc_for_build SUN_ARCH="i386" # If there is a compiler, see if it is configured for 64-bit objects. # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. # This test works for both compilers. if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ grep IS_64BIT_ARCH >/dev/null then SUN_ARCH="x86_64" fi fi echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; 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 ;; 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 ;; sun3*:SunOS:*:*) echo m68k-sun-sunos${UNAME_RELEASE} exit ;; sun*:*:4.2BSD:*) UNAME_RELEASE=`(sed 1q /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 ;; aushp:SunOS:*:*) echo sparc-auspex-sunos${UNAME_RELEASE} exit ;; # 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 ;; atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) echo m68k-milan-mint${UNAME_RELEASE} exit ;; hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) echo m68k-hades-mint${UNAME_RELEASE} exit ;; *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) echo m68k-unknown-mint${UNAME_RELEASE} exit ;; m68k:machten:*:*) echo m68k-apple-machten${UNAME_RELEASE} exit ;; powerpc:machten:*:*) echo powerpc-apple-machten${UNAME_RELEASE} exit ;; RISC*:Mach:*:*) echo mips-dec-mach_bsd4.3 exit ;; RISC*:ULTRIX:*:*) echo mips-dec-ultrix${UNAME_RELEASE} exit ;; VAX*:ULTRIX*:*:*) echo vax-dec-ultrix${UNAME_RELEASE} exit ;; 2020:CLIX:*:* | 2430:CLIX:*:*) echo clipper-intergraph-clix${UNAME_RELEASE} exit ;; mips:*:*:UMIPS | mips:*:*:RISCos) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #ifdef __cplusplus #include /* 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 -o $dummy $dummy.c && dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && SYSTEM_NAME=`$dummy $dummyarg` && { echo "$SYSTEM_NAME"; exit; } echo mips-mips-riscos${UNAME_RELEASE} exit ;; Motorola:PowerMAX_OS:*:*) echo powerpc-motorola-powermax exit ;; Motorola:*:4.3:PL8-*) echo powerpc-harris-powermax exit ;; Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) echo powerpc-harris-powermax exit ;; Night_Hawk:Power_UNIX:*:*) echo powerpc-harris-powerunix exit ;; m88k:CX/UX:7*:*) echo m88k-harris-cxux7 exit ;; m88k:*:4*:R4*) echo m88k-motorola-sysv4 exit ;; m88k:*:3*:R3*) echo m88k-motorola-sysv3 exit ;; 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 ;; M88*:DolphinOS:*:*) # DolphinOS (SVR3) echo m88k-dolphin-sysv3 exit ;; M88*:*:R3*:*) # Delta 88k system running SVR3 echo m88k-motorola-sysv3 exit ;; XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) echo m88k-tektronix-sysv3 exit ;; Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) echo m68k-tektronix-bsd exit ;; *:IRIX*:*:*) echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` exit ;; ????????: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 ;; # Note that: echo "'`uname -s`'" gives 'AIX ' i*86:AIX:*:*) echo i386-ibm-aix exit ;; 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 ;; *: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 main() { if (!__power_pc()) exit(1); puts("powerpc-ibm-aix3.2.5"); exit(0); } EOF if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` then echo "$SYSTEM_NAME" else echo rs6000-ibm-aix3.2.5 fi 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 ;; *:AIX:*:[4567]) IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | 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 ;; *:AIX:*:*) echo rs6000-ibm-aix exit ;; ibmrt:4.4BSD:*|romp-ibm:BSD:*) echo romp-ibm-bsd4.4 exit ;; ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to exit ;; # report: romp-ibm BSD 4.3 *:BOSX:*:*) echo rs6000-bull-bosx exit ;; DPX/2?00:B.O.S.:*:*) echo m68k-bull-sysv3 exit ;; 9000/[34]??:4.3bsd:1.*:*) echo m68k-hp-bsd exit ;; hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) echo m68k-hp-bsd4.4 exit ;; 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 #include 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 -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` test -z "$HP_ARCH" && HP_ARCH=hppa fi ;; esac if [ ${HP_ARCH} = "hppa2.0w" ] then eval $set_cc_for_build # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler # generating 64-bit code. GNU and HP use different nomenclature: # # $ CC_FOR_BUILD=cc ./config.guess # => hppa2.0w-hp-hpux11.23 # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess # => hppa64-hp-hpux11.23 if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | grep -q __LP64__ then HP_ARCH="hppa2.0w" else HP_ARCH="hppa64" fi fi echo ${HP_ARCH}-hp-hpux${HPUX_REV} exit ;; ia64:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` echo ia64-hp-hpux${HPUX_REV} exit ;; 3050*:HI-UX:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #include 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 -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && { echo "$SYSTEM_NAME"; exit; } echo unknown-hitachi-hiuxwe2 exit ;; 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) echo hppa1.1-hp-bsd exit ;; 9000/8??:4.3bsd:*:*) echo hppa1.0-hp-bsd exit ;; *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) echo hppa1.0-hp-mpeix exit ;; hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) echo hppa1.1-hp-osf exit ;; hp8??:OSF1:*:*) echo hppa1.0-hp-osf exit ;; i*86:OSF1:*:*) if [ -x /usr/sbin/sysversion ] ; then echo ${UNAME_MACHINE}-unknown-osf1mk else echo ${UNAME_MACHINE}-unknown-osf1 fi exit ;; parisc*:Lites*:*:*) echo hppa1.1-hp-lites exit ;; C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) echo c1-convex-bsd exit ;; C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi exit ;; C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) echo c34-convex-bsd exit ;; C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) echo c38-convex-bsd exit ;; C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) echo c4-convex-bsd exit ;; CRAY*Y-MP:*:*:*) echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; 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 ;; CRAY*TS:*:*:*) echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*T3E:*:*:*) echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*SV1:*:*:*) echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; *:UNICOS/mp:*:*) echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; 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 ;; 5000:UNIX_System_V:4.*:*) FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} exit ;; sparc*:BSD/OS:*:*) echo sparc-unknown-bsdi${UNAME_RELEASE} exit ;; *:BSD/OS:*:*) echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} exit ;; *:FreeBSD:*:*) UNAME_PROCESSOR=`/usr/bin/uname -p` case ${UNAME_PROCESSOR} in amd64) echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; *) echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; esac exit ;; i*:CYGWIN*:*) echo ${UNAME_MACHINE}-pc-cygwin exit ;; *:MINGW*:*) echo ${UNAME_MACHINE}-pc-mingw32 exit ;; i*:MSYS*:*) echo ${UNAME_MACHINE}-pc-msys exit ;; i*:windows32*:*) # uname -m includes "-pc" on this system. echo ${UNAME_MACHINE}-mingw32 exit ;; i*:PW*:*) echo ${UNAME_MACHINE}-pc-pw32 exit ;; *:Interix*:*) case ${UNAME_MACHINE} in x86) echo i586-pc-interix${UNAME_RELEASE} exit ;; authenticamd | genuineintel | EM64T) echo x86_64-unknown-interix${UNAME_RELEASE} exit ;; IA64) echo ia64-unknown-interix${UNAME_RELEASE} exit ;; esac ;; [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) echo i${UNAME_MACHINE}-pc-mks exit ;; 8664:Windows_NT:*) echo x86_64-pc-mks exit ;; 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 i586-pc-interix exit ;; i*:UWIN*:*) echo ${UNAME_MACHINE}-pc-uwin exit ;; amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) echo x86_64-unknown-cygwin exit ;; p*:CYGWIN*:*) echo powerpcle-unknown-cygwin exit ;; prep*:SunOS:5.*:*) echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; *:GNU:*:*) # the GNU system echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` exit ;; *:GNU/*:*:*) # other systems with GNU libc and userland echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu exit ;; i*86:Minix:*:*) echo ${UNAME_MACHINE}-pc-minix exit ;; aarch64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; aarch64_be:Linux:*:*) UNAME_MACHINE=aarch64_be echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; 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 -q ld.so.1 if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} exit ;; arm*:Linux:*:*) eval $set_cc_for_build if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_EABI__ then echo ${UNAME_MACHINE}-unknown-linux-gnu else if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_PCS_VFP then echo ${UNAME_MACHINE}-unknown-linux-gnueabi else echo ${UNAME_MACHINE}-unknown-linux-gnueabihf fi fi exit ;; avr32*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; cris:Linux:*:*) echo ${UNAME_MACHINE}-axis-linux-gnu exit ;; crisv32:Linux:*:*) echo ${UNAME_MACHINE}-axis-linux-gnu exit ;; frv:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; hexagon:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; i*86:Linux:*:*) LIBC=gnu eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #ifdef __dietlibc__ LIBC=dietlibc #endif EOF eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'` echo "${UNAME_MACHINE}-pc-linux-${LIBC}" exit ;; ia64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; m32r*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; m68*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; mips:Linux:*:* | mips64:Linux:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #undef CPU #undef ${UNAME_MACHINE} #undef ${UNAME_MACHINE}el #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) CPU=${UNAME_MACHINE}el #else #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) CPU=${UNAME_MACHINE} #else CPU= #endif #endif EOF eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } ;; or32:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; padre:Linux:*:*) echo sparc-unknown-linux-gnu exit ;; parisc64:Linux:*:* | hppa64:Linux:*:*) echo hppa64-unknown-linux-gnu exit ;; 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 ;; ppc64:Linux:*:*) echo powerpc64-unknown-linux-gnu exit ;; ppc:Linux:*:*) echo powerpc-unknown-linux-gnu exit ;; s390:Linux:*:* | s390x:Linux:*:*) echo ${UNAME_MACHINE}-ibm-linux exit ;; sh64*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; sh*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; sparc:Linux:*:* | sparc64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; tile*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; vax:Linux:*:*) echo ${UNAME_MACHINE}-dec-linux-gnu exit ;; x86_64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; xtensa*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; 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 ;; 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 ;; 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 ;; i*86:XTS-300:*:STOP) echo ${UNAME_MACHINE}-unknown-stop exit ;; i*86:atheos:*:*) echo ${UNAME_MACHINE}-unknown-atheos exit ;; i*86:syllable:*:*) echo ${UNAME_MACHINE}-pc-syllable exit ;; i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) echo i386-unknown-lynxos${UNAME_RELEASE} exit ;; i*86:*DOS:*:*) echo ${UNAME_MACHINE}-pc-msdosdjgpp exit ;; 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 ;; i*86:*:5:[678]*) # UnixWare 7.x, OpenUNIX and OpenServer 6. 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 ;; i*86:*:3.2:*) if test -f /usr/options/cb.name; then UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ && UNAME_MACHINE=i586 (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ && UNAME_MACHINE=i686 (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ && UNAME_MACHINE=i686 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL else echo ${UNAME_MACHINE}-pc-sysv32 fi exit ;; 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 i586. # Note: whatever this is, it MUST be the same as what config.sub # prints for the "djgpp" host, or else GDB configury will decide that # this is a cross-build. echo i586-pc-msdosdjgpp exit ;; Intel:Mach:3*:*) echo i386-pc-mach3 exit ;; paragon:*:*:*) echo i860-intel-osf1 exit ;; 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 ;; mini*:CTIX:SYS*5:*) # "miniframe" echo m68010-convergent-sysv exit ;; mc68k:UNIX:SYSTEM5:3.51m) echo m68k-convergent-sysv exit ;; M680?0:D-NIX:5.3:*) echo m68k-diab-dnix exit ;; M68*:*:R3V[5678]*:*) test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*: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; } /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4; exit; } ;; NCR*:*:4.2:* | MPRAS*:*:4.2:*) OS_REL='.3' 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; } /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) echo m68k-unknown-lynxos${UNAME_RELEASE} exit ;; mc68030:UNIX_System_V:4.*:*) echo m68k-atari-sysv4 exit ;; TSUNAMI:LynxOS:2.*:*) echo sparc-unknown-lynxos${UNAME_RELEASE} exit ;; rs6000:LynxOS:2.*:*) echo rs6000-unknown-lynxos${UNAME_RELEASE} exit ;; PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) echo powerpc-unknown-lynxos${UNAME_RELEASE} exit ;; SM[BE]S:UNIX_SV:*:*) echo mips-dde-sysv${UNAME_RELEASE} exit ;; RM*:ReliantUNIX-*:*:*) echo mips-sni-sysv4 exit ;; RM*:SINIX-*:*:*) echo mips-sni-sysv4 exit ;; *: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 ;; PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort # says echo i586-unisys-sysv4 exit ;; *:UNIX_System_V:4*:FTX*) # From Gerald Hewes . # How about differentiating between stratus architectures? -djm echo hppa1.1-stratus-sysv4 exit ;; *:*:*:FTX*) # From seanf@swdc.stratus.com. echo i860-stratus-sysv4 exit ;; i*86:VOS:*:*) # From Paul.Green@stratus.com. echo ${UNAME_MACHINE}-stratus-vos exit ;; *:VOS:*:*) # From Paul.Green@stratus.com. echo hppa1.1-stratus-vos exit ;; mc68*:A/UX:*:*) echo m68k-apple-aux${UNAME_RELEASE} exit ;; news*:NEWS-OS:6*:*) echo mips-sony-newsos6 exit ;; 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 ;; BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. echo powerpc-be-beos exit ;; BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. echo powerpc-apple-beos exit ;; BePC:BeOS:*:*) # BeOS running on Intel PC compatible. echo i586-pc-beos exit ;; BePC:Haiku:*:*) # Haiku running on Intel PC compatible. echo i586-pc-haiku exit ;; SX-4:SUPER-UX:*:*) echo sx4-nec-superux${UNAME_RELEASE} exit ;; SX-5:SUPER-UX:*:*) echo sx5-nec-superux${UNAME_RELEASE} exit ;; SX-6:SUPER-UX:*:*) echo sx6-nec-superux${UNAME_RELEASE} exit ;; SX-7:SUPER-UX:*:*) echo sx7-nec-superux${UNAME_RELEASE} exit ;; SX-8:SUPER-UX:*:*) echo sx8-nec-superux${UNAME_RELEASE} exit ;; SX-8R:SUPER-UX:*:*) echo sx8r-nec-superux${UNAME_RELEASE} exit ;; Power*:Rhapsody:*:*) echo powerpc-apple-rhapsody${UNAME_RELEASE} exit ;; *:Rhapsody:*:*) echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} exit ;; *:Darwin:*:*) UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown case $UNAME_PROCESSOR in i386) eval $set_cc_for_build if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ grep IS_64BIT_ARCH >/dev/null then UNAME_PROCESSOR="x86_64" fi fi ;; unknown) UNAME_PROCESSOR=powerpc ;; esac echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} exit ;; *:procnto*:*:* | *:QNX:[0123456789]*:*) UNAME_PROCESSOR=`uname -p` if test "$UNAME_PROCESSOR" = "x86"; then UNAME_PROCESSOR=i386 UNAME_MACHINE=pc fi echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} exit ;; *:QNX:*:4*) echo i386-pc-qnx exit ;; NEO-?:NONSTOP_KERNEL:*:*) echo neo-tandem-nsk${UNAME_RELEASE} exit ;; NSE-?:NONSTOP_KERNEL:*:*) echo nse-tandem-nsk${UNAME_RELEASE} exit ;; NSR-?:NONSTOP_KERNEL:*:*) echo nsr-tandem-nsk${UNAME_RELEASE} exit ;; *:NonStop-UX:*:*) echo mips-compaq-nonstopux exit ;; BS2000:POSIX*:*:*) echo bs2000-siemens-sysv exit ;; DS/*:UNIX_System_V:*:*) echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} exit ;; *: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 ;; *:TOPS-10:*:*) echo pdp10-unknown-tops10 exit ;; *:TENEX:*:*) echo pdp10-unknown-tenex exit ;; KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) echo pdp10-dec-tops20 exit ;; XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) echo pdp10-xkl-tops20 exit ;; *:TOPS-20:*:*) echo pdp10-unknown-tops20 exit ;; *:ITS:*:*) echo pdp10-unknown-its exit ;; SEI:*:*:SEIUX) echo mips-sei-seiux${UNAME_RELEASE} exit ;; *:DragonFly:*:*) echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` exit ;; *:*VMS:*:*) UNAME_MACHINE=`(uname -p) 2>/dev/null` case "${UNAME_MACHINE}" in A*) echo alpha-dec-vms ; exit ;; I*) echo ia64-dec-vms ; exit ;; V*) echo vax-dec-vms ; exit ;; esac ;; *:XENIX:*:SysV) echo i386-pc-xenix exit ;; i*86:skyos:*:*) echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' exit ;; i*86:rdos:*:*) echo ${UNAME_MACHINE}-pc-rdos exit ;; i*86:AROS:*:*) echo ${UNAME_MACHINE}-pc-aros exit ;; x86_64:VMkernel:*:*) echo ${UNAME_MACHINE}-unknown-esx exit ;; 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 < # include #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 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\n"); 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 # 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 -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` && { echo "$SYSTEM_NAME"; exit; } # Apollos put the system type in the environment. test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; } # 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 ;; c2*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi exit ;; c34*) echo c34-convex-bsd exit ;; c38*) echo c38-convex-bsd exit ;; c4*) echo c4-convex-bsd exit ;; esac fi cat >&2 < 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: bacon-3.0.3/build/0000755000175000017500000000000012521736710012722 5ustar peterpeterbacon-3.0.3/config.sub0000755000175000017500000007467012521736710013624 0ustar peterpeter#! /bin/sh # Configuration validation subroutine script. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, # 2000, 2001, 2002, 2003 Free Software Foundation, Inc. timestamp='2004-03-12' # 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 . 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 ." 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* | linux-dietlibc | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | \ kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*) 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] \ | am33_2.0 \ | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \ | c4x | clipper \ | d10v | d30v | dlx | dsp16xx \ | fr30 | frv \ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ | i370 | i860 | i960 | ia64 \ | ip2k | iq2000 \ | m32r | m32rle | m68000 | m68k | m88k | mcore \ | mips | mipsbe | mipseb | mipsel | mipsle \ | mips16 \ | mips64 | mips64el \ | mips64vr | mips64vrel \ | mips64orion | mips64orionel \ | mips64vr4100 | mips64vr4100el \ | mips64vr4300 | mips64vr4300el \ | mips64vr5000 | mips64vr5000el \ | mipsisa32 | mipsisa32el \ | mipsisa32r2 | mipsisa32r2el \ | mipsisa64 | mipsisa64el \ | mipsisa64r2 | mipsisa64r2el \ | mipsisa64sb1 | mipsisa64sb1el \ | mipsisa64sr71k | mipsisa64sr71kel \ | mipstx39 | mipstx39el \ | mn10200 | mn10300 \ | msp430 \ | ns16k | ns32k \ | openrisc | or32 \ | pdp10 | pdp11 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ | pyramid \ | sh | sh[1234] | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \ | sh64 | sh64le \ | sparc | sparc64 | sparc86x | sparclet | sparclite | sparcv8 | sparcv9 | sparcv9b \ | strongarm \ | tahoe | thumb | tic4x | 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-* | armeb-* | armv*-* \ | avr-* \ | bs2000-* \ | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ | clipper-* | cydra-* \ | d10v-* | d30v-* | dlx-* \ | elxsi-* \ | f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \ | h8300-* | h8500-* \ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ | i*86-* | i860-* | i960-* | ia64-* \ | ip2k-* | iq2000-* \ | m32r-* | m32rle-* \ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ | m88110-* | m88k-* | mcore-* \ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ | mips16-* \ | mips64-* | mips64el-* \ | mips64vr-* | mips64vrel-* \ | mips64orion-* | mips64orionel-* \ | mips64vr4100-* | mips64vr4100el-* \ | mips64vr4300-* | mips64vr4300el-* \ | mips64vr5000-* | mips64vr5000el-* \ | mipsisa32-* | mipsisa32el-* \ | mipsisa32r2-* | mipsisa32r2el-* \ | mipsisa64-* | mipsisa64el-* \ | mipsisa64r2-* | mipsisa64r2el-* \ | mipsisa64sb1-* | mipsisa64sb1el-* \ | mipsisa64sr71k-* | mipsisa64sr71kel-* \ | mipstx39-* | mipstx39el-* \ | msp430-* \ | none-* | np1-* | nv1-* | ns16k-* | ns32k-* \ | orion-* \ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ | pyramid-* \ | romp-* | rs6000-* \ | sh-* | sh[1234]-* | sh[23]e-* | sh[34]eb-* | shbe-* \ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ | sparc-* | sparc64-* | sparc86x-* | sparclet-* | sparclite-* \ | sparcv8-* | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \ | tahoe-* | thumb-* \ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ | tron-* \ | v850-* | v850e-* | vax-* \ | we32k-* \ | x86-* | x86_64-* | 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 ;; abacus) basic_machine=abacus-unknown ;; 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 ;; amd64) basic_machine=x86_64-pc ;; amd64-*) basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` ;; 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 ;; c90) basic_machine=c90-cray os=-unicos ;; 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 | j90) basic_machine=j90-cray os=-unicos ;; cr16c) basic_machine=cr16c-unknown os=-elf ;; crds | unos) basic_machine=m68k-crds ;; cris | cris-* | etrax*) basic_machine=cris-axis ;; crx) basic_machine=crx-unknown os=-elf ;; 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 ;; 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 ;; nv1) basic_machine=nv1-cray os=-unicosmp ;; nsr-tandem) basic_machine=nsr-tandem ;; op50n-* | op60c-*) basic_machine=hppa1.1-oki os=-proelf ;; or32 | or32-*) basic_machine=or32-unknown os=-coff ;; os400) basic_machine=powerpc-ibm os=-os400 ;; 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 | athlon_*) basic_machine=i686-pc ;; pentiumii | pentium2 | pentiumiii | pentium3) basic_machine=i686-pc ;; pentium4) basic_machine=i786-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-* | pentiumiii-* | pentium3-*) basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentium4-*) basic_machine=i786-`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 ;; sb1) basic_machine=mipsisa64sb1-unknown ;; sb1el) basic_machine=mipsisa64sb1el-unknown ;; sei) basic_machine=mips-sei os=-seiux ;; sequent) basic_machine=i386-sequent ;; sh) basic_machine=sh-hitachi os=-hms ;; sh64) basic_machine=sh64-unknown ;; 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=alphaev5-cray os=-unicos ;; t90) basic_machine=t90-cray os=-unicos ;; tic54x | c54x*) basic_machine=tic54x-unknown os=-coff ;; tic55x | c55x*) basic_machine=tic55x-unknown os=-coff ;; tic6x | c6x*) basic_machine=tic6x-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 ;; tpf) basic_machine=s390x-ibm os=-tpf ;; 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 ;; xps | xps100) basic_machine=xps100-honeywell ;; ymp) basic_machine=ymp-cray os=-unicos ;; 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 ;; 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 | sh[34]eb | sh[1234]le | sh[23]ele) basic_machine=sh-unknown ;; sh64) basic_machine=sh64-unknown ;; sparc | sparcv8 | 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 ;; *-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* | -knetbsd* | -mirbsd* | -netbsd* | -openbsd* \ | -ekkobsd* | -kfreebsd* | -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* | -linux-uclibc* | -uxpv* | -beos* | -mpeix* | -udk* \ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly*) # Remember, each alternative MUST END IN *, to match a version number. ;; -qnx*) case $basic_machine in x86-* | i*86-*) ;; *) os=-nto$os ;; esac ;; -nto-qnx*) ;; -nto*) os=`echo $os | sed -e 's|nto|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-dietlibc) os=-linux-dietlibc ;; -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 ;; -os400*) os=-os400 ;; -wince*) os=-wince ;; -osfrose*) os=-osfrose ;; -osf*) os=-osf ;; -utek*) os=-bsd ;; -dynix*) os=-bsd ;; -acis*) os=-aos ;; -atheos*) os=-atheos ;; -syllable*) os=-syllable ;; -386bsd) os=-bsd ;; -ctix* | -uts*) os=-sysv ;; -nova*) os=-rtmk-nova ;; -ns2 ) os=-nextstep2 ;; -nsk*) os=-nsk ;; # Preserve the version number of sinix5. -sinix5.*) os=`echo $os | sed -e 's|sinix|sysv|'` ;; -sinix*) os=-sysv4 ;; -tpf*) os=-tpf ;; -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 ;; -aros*) os=-aros ;; -kaos*) os=-kaos ;; -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 ;; c4x-* | tic4x-*) os=-coff ;; # 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 ;; or32-*) os=-coff ;; *-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 ;; -os400*) vendor=ibm ;; -ptx*) vendor=sequent ;; -tpf*) vendor=ibm ;; -vxsim* | -vxworks* | -windiss*) 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: bacon-3.0.3/configure.in0000644000175000017500000002141112521736710014133 0ustar peterpeter# Process this file with autoconf to produce a configure script. AC_PREREQ(2.57) AC_INIT(BaCon, 3.0.3, peter AT basic-converter DOT org) AC_CONFIG_SRCDIR([bacon.bac]) # Checks for programs. AC_PROG_INSTALL # Determine platform AC_CANONICAL_HOST # Checks for libraries AC_SEARCH_LIBS([dlopen], [dl], [], [AC_MSG_ERROR(Cannot compile - missing library: dl)], []) AC_SEARCH_LIBS([dlsym], [dl], [], [AC_MSG_ERROR(Cannot compile - missing library: dl)], []) AC_SEARCH_LIBS([sin], [m], [], [AC_MSG_ERROR(Cannot compile - missing function: sin)], []) AC_SEARCH_LIBS([cos], [m], [], [AC_MSG_ERROR(Cannot compile - missing function: cos)], []) AC_SEARCH_LIBS([tan], [m], [], [AC_MSG_ERROR(Cannot compile - missing function: tan)], []) AC_SEARCH_LIBS([asin], [m], [], [AC_MSG_ERROR(Cannot compile - missing function: asin)], []) AC_SEARCH_LIBS([acos], [m], [], [AC_MSG_ERROR(Cannot compile - missing function: acos)], []) AC_SEARCH_LIBS([atan], [m], [], [AC_MSG_ERROR(Cannot compile - missing function: atan)], []) AC_SEARCH_LIBS([log], [m], [], [AC_MSG_ERROR(Cannot compile - missing function: log)], []) AC_SEARCH_LIBS([exp], [m], [], [AC_MSG_ERROR(Cannot compile - missing function: exp)], []) AC_SEARCH_LIBS([lrint], [m], [], [AC_MSG_ERROR(Cannot compile - missing function: lrint)], []) AC_SEARCH_LIBS([floor], [m], [], [AC_MSG_ERROR(Cannot compile - missing function: floor)], []) # Checks for header files. AC_CHECK_HEADER(stdio.h, [], [AC_MSG_ERROR(Cannot compile - missing header: stdio.h)]) AC_CHECK_HEADER(stdlib.h, [], [AC_MSG_ERROR(Cannot compile - missing header: stdlib.h)]) AC_CHECK_HEADER(stdarg.h, [], [AC_MSG_ERROR(Cannot compile - missing header: stdarg.h)]) AC_CHECK_HEADER(sys/ioctl.h, [], [AC_MSG_ERROR(Cannot compile - missing header: sys/ioctl.h)]) AC_CHECK_HEADER(sys/time.h, [], [AC_MSG_ERROR(Cannot compile - missing header: sys/time.h)]) AC_CHECK_HEADER(sys/stat.h, [], [AC_MSG_ERROR(Cannot compile - missing header: sys/stat.h)]) AC_CHECK_HEADER(sys/types.h, [], [AC_MSG_ERROR(Cannot compile - missing header: sys/types.h)]) AC_CHECK_HEADER(sys/wait.h, [], [AC_MSG_ERROR(Cannot compile - missing header: sys/wait.h)]) AC_CHECK_HEADER(sys/socket.h, [], [AC_MSG_ERROR(Cannot compile - missing header: sys/socket.h)]) AC_CHECK_HEADER(sys/utsname.h, [], [AC_MSG_ERROR(Cannot compile - missing header: sys/utsname.h)]) AC_CHECK_HEADER(dirent.h, [], [AC_MSG_ERROR(Cannot compile - missing header: dirent.h)]) AC_CHECK_HEADER(setjmp.h, [], [AC_MSG_ERROR(Cannot compile - missing header: setjmp.h)]) AC_CHECK_HEADER(netdb.h, [], [AC_MSG_ERROR(Cannot compile - missing header: netdb.h)]) AC_CHECK_HEADER(arpa/inet.h, [], [AC_MSG_ERROR(Cannot compile - missing header: arpa/inet.h)]) AC_CHECK_HEADER(signal.h, [], [AC_MSG_ERROR(Cannot compile - missing header: signal.h)]) AC_CHECK_HEADER(fcntl.h,, [], [AC_MSG_ERROR(Cannot compile - missing header: fcntl.h)]) AC_CHECK_HEADER(math.h, [], [AC_MSG_ERROR(Cannot compile - missing header: math.h)]) AC_CHECK_HEADER(unistd.h, [], [AC_MSG_ERROR(Cannot compile - missing header: unistd.h)]) AC_CHECK_HEADER(string.h, [], [AC_MSG_ERROR(Cannot compile - missing header: string.h)]) AC_CHECK_HEADER(ctype.h, [], [AC_MSG_ERROR(Cannot compile - missing header: ctype.h)]) AC_CHECK_HEADER(dlfcn.h, [], [AC_MSG_ERROR(Cannot compile - missing header: dlfcn.h)]) AC_CHECK_HEADER(errno.h, [], [AC_MSG_ERROR(Cannot compile - missing header: errno.h)]) AC_CHECK_HEADER(termios.h, [], [AC_MSG_ERROR(Cannot compile - missing header: termios.h)]) AC_CHECK_HEADER(time.h, [], [AC_MSG_ERROR(Cannot compile - missing header: time.h)]) AC_CHECK_HEADER(regex.h, [], [AC_MSG_ERROR(Cannot compile - missing header: regex.h)]) # Check platform specific header files case $host in *bsd* ) AC_CHECK_HEADER(netinet/in.h, [], [AC_MSG_ERROR(Cannot compile - missing header: netinet/in.h)]) ;; esac # Checks for library functions. AC_CHECK_FUNCS(malloc, [], [AC_MSG_ERROR(Cannot compile - missing function: malloc)]) AC_CHECK_FUNCS(calloc, [], [AC_MSG_ERROR(Cannot compile - missing function: calloc)]) AC_CHECK_FUNCS(realloc, [], [AC_MSG_ERROR(Cannot compile - missing function: realloc)]) AC_CHECK_FUNCS(memset, [], [AC_MSG_ERROR(Cannot compile - missing function: memset)]) AC_CHECK_FUNCS(random, [], [AC_MSG_ERROR(Cannot compile - missing function: random)]) AC_CHECK_FUNCS(fork, [], [AC_MSG_ERROR(Cannot compile - missing function: fork)]) AC_CHECK_FUNCS(strcpy, [], [AC_MSG_ERROR(Cannot compile - missing function: strcpy)]) AC_CHECK_FUNCS(strncpy, [], [AC_MSG_ERROR(Cannot compile - missing function: strncpy)]) AC_CHECK_FUNCS(strcat, [], [AC_MSG_ERROR(Cannot compile - missing function: strcat)]) AC_CHECK_FUNCS(strncat, [], [AC_MSG_ERROR(Cannot compile - missing function: strncat)]) AC_CHECK_FUNCS(strlen, [], [AC_MSG_ERROR(Cannot compile - missing function: strlen)]) AC_CHECK_FUNCS(strstr, [], [AC_MSG_ERROR(Cannot compile - missing function: strstr)]) AC_CHECK_FUNCS(strcmp, [], [AC_MSG_ERROR(Cannot compile - missing function: strcmp)]) AC_CHECK_FUNCS(strtok, [], [AC_MSG_ERROR(Cannot compile - missing function: strtok)]) AC_CHECK_FUNCS(strtok_r, [], [AC_MSG_ERROR(Cannot compile - missing function: strtok_r)]) AC_CHECK_FUNCS(strftime, [], [AC_MSG_ERROR(Cannot compile - missing function: strftime)]) AC_CHECK_FUNCS(fprintf, [], [AC_MSG_ERROR(Cannot compile - missing function: fprintf)]) AC_CHECK_FUNCS(snprintf, [], [AC_MSG_ERROR(Cannot compile - missing function: snprintf)]) AC_CHECK_FUNCS(usleep, [], [AC_MSG_ERROR(Cannot compile - missing function: usleep)]) AC_CHECK_FUNCS(socket, [], [AC_MSG_ERROR(Cannot compile - missing function: socket)]) AC_CHECK_FUNCS(bind, [], [AC_MSG_ERROR(Cannot compile - missing function: bind)]) AC_CHECK_FUNCS(connect, [], [AC_MSG_ERROR(Cannot compile - missing function: connect)]) AC_CHECK_FUNCS(listen, [], [AC_MSG_ERROR(Cannot compile - missing function: listen)]) AC_CHECK_FUNCS(accept, [], [AC_MSG_ERROR(Cannot compile - missing function: accept)]) AC_CHECK_FUNCS(recv, [], [AC_MSG_ERROR(Cannot compile - missing function: recv)]) AC_CHECK_FUNCS(send, [], [AC_MSG_ERROR(Cannot compile - missing function: send)]) AC_CHECK_FUNCS(setsockopt, [], [AC_MSG_ERROR(Cannot compile - missing function: setsockopt)]) AC_CHECK_FUNCS(select, [], [AC_MSG_ERROR(Cannot compile - missing function: select)]) AC_CHECK_FUNCS(gethostbyname, [], [AC_MSG_ERROR(Cannot compile - missing function: gethostbyname)]) AC_CHECK_FUNCS(gethostbyaddr, [], [AC_MSG_ERROR(Cannot compile - missing function: gethostbyaddr)]) AC_CHECK_FUNCS(gethostname, [], [AC_MSG_ERROR(Cannot compile - missing function: gethostname)]) AC_CHECK_FUNCS(inet_aton, [], [AC_MSG_ERROR(Cannot compile - missing function: inet_aton)]) AC_CHECK_FUNCS(inet_ntoa, [], [AC_MSG_ERROR(Cannot compile - missing function: inet_ntoa)]) AC_CHECK_FUNCS(inet_addr, [], [AC_MSG_ERROR(Cannot compile - missing function: inet_addr)]) AC_CHECK_FUNCS(htons, [], [AC_MSG_ERROR(Cannot compile - missing function: htons)]) AC_CHECK_FUNCS(htonl, [], [AC_MSG_ERROR(Cannot compile - missing function: htonl)]) AC_CHECK_FUNCS(readdir, [], [AC_MSG_ERROR(Cannot compile - missing function: readdir)]) AC_CHECK_FUNCS(closedir, [], [AC_MSG_ERROR(Cannot compile - missing function: closedir)]) AC_CHECK_FUNCS(getpid, [], [AC_MSG_ERROR(Cannot compile - missing function: getpid)]) AC_CHECK_FUNCS(qsort, [], [AC_MSG_ERROR(Cannot compile - missing function: qsort)]) AC_CHECK_FUNCS(ioctl, [], [AC_MSG_ERROR(Cannot compile - missing function: ioctl)]) # Check for shell version. AC_PATH_PROGS(BSHELL, mksh bash lksh pdksh zsh ksh, no) if test "$BSHELL" = no; then AC_MSG_ERROR(Cannot compile - please install a Kornshell, Zshell or BASH > 3.2 first.) fi # Check parameter: force compilation with BASH? AC_ARG_WITH(bash, [AC_HELP_STRING([--with-bash], [force compilation with BASH (default: GUESS)])], [BSHELL="bash"]) # Check parameter: force compilation with KSH? AC_ARG_WITH(ksh, [AC_HELP_STRING([--with-ksh], [force compilation with KSH (default: GUESS)])], [BSHELL="ksh"]) # Check parameter: force compilation with PDKSH? AC_ARG_WITH(pdksh, [AC_HELP_STRING([--with-pdksh], [force compilation with PDKSH (default: GUESS)])], [BSHELL="pdksh"]) # Check parameter: force compilation with MKSH? AC_ARG_WITH(mksh, [AC_HELP_STRING([--with-mksh], [force compilation with MKSH (default: GUESS)])], [BSHELL="mksh"]) # Check parameter: force compilation with ZSH? AC_ARG_WITH(zsh, [AC_HELP_STRING([--with-zsh], [force compilation with ZSH (default: GUESS)])], [BSHELL="zsh"]) # Check CC, options for GCC/TCC AC_PROG_CC if test "$CC" = tcc then STRIP=touch else STRIP=strip fi # Substitute variables in Makefile AC_SUBST(BSHELL) AC_SUBST(STRIP) AC_SUBST(LIBS) AC_CONFIG_FILES([Makefile]) AC_OUTPUT # Print results echo echo "Congratulations, all requirements are met!" echo echo "- Makefile created." echo "- Using '${BSHELL}' to compile BaCon." echo echo "Now run 'make' and 'make install' to build and install BaCon." echo bacon-3.0.3/icons/0000755000175000017500000000000012521736710012736 5ustar peterpeterbacon-3.0.3/icons/BaCon.png0000644000175000017500000007201712521736710014435 0ustar peterpeter‰PNG  IHDR\r¨fsRGB®ÎébKGDÿÿÿ ½§“ pHYs  šœtIMEÛ .Ì&<&tEXtCommentBaCon Created by Tony Brijeski>ÿb2 IDATxÚì½y”dÙYø»Ë{±dDî{FTfUWWUwm½¨[•0Âì‹Ñ‘y0Œ‡ƒY$ÆŒdÁ‘CÁ`Y²a`ƘS „Æ,¶±G#T…¤^«kéªÊ¬ÌŒÈ=22cxïÝ{çû^ddT,/«²Kµ¼ïœwº+32öïw¿å÷ý>¢”B`öx Þ‚À °À °À °À °À °À °À °À °À °À °À °À °À °À °À °À °À °À °Àûjœ_üw|Û·/—J‰ÕÕU !Ш‘¨”‚”BH)A!J)(¥îø7¥”jL•RBJ J)c{~îÝ_ãï!{ž[óc7ß–Æbñ8&&&ÀKÿ÷Ï~öýÁW:°ýyEAßóÝß}~kkëÜv6›´'±³½Jµ )ÄN¨”ªC7 „ìqtïgŒ±ºƒ7ߟ÷»VÐí¶”RD"ô @)•®U«©õõõ4çœs„Âa  àÐô4B¡PúSŸþt=Þðîw½ëÂêÊÊìêÚZbsc–e=¹œ}xc †a ‹axd„4€g,H&Óü©O`Øãÿäû¾ï|6›=777—Ìíì$¶¶¶ ¥|<>d7zˆF£E__úÐôtj`pðÒ'>ùÉxtíÇìÇÎo¬¯ŸK¥RÉ­L&±ººŠR©TÏõ)F8ZWD%å^@þ¿ù߼Ðð7ÞÏh‹ûkþ]§Çnu[ À ”‚ÜÄãq$ §Ç'&R•JåÒ§?ó™x´ì|Çw\°,kvmu5‘N§Q(ê§>0È&ÃcˆQ ö€P–[RbClK‰ªûy÷ï… ÍŸ2c ½½½˜˜œ„išiBHððÛO¾ï}ŸŸ½=?ŸØÞÙIÚ–•Èf³p§~ƒŒ1†“†3¦‰iÎ#¬©WwÂê Å>Õð3Úâþš×é±[ÝV(…²RmÀV ;RbU¬ ¢Rpš>ï;Òƒþþô‘#GRGŽ¹ô ¿ø‹<âöȵ777ß³ºº:›N§‘Ïç÷äù@ŒRL1†³¦‰s¡ž1M$8G˜‡ìµ*5¥“™f d¬8–…@Úq°!J.°(¥à8òù< …âñx¢V«%ªÕjò§?ðÄ/ÿʯü£ÀM‚à¡°·¿ðÂ…\.7»¶ºš(‹{‘Ž SŠc†gLÏ™&ŽÆƒAÈ#ùá 7:XuÞqð¦mã¶ã #Ê-ÒÓ4111©D"Ý××wñ?ýÅ_ ÀƒiïûñßíÛ·g—™L&iÛv"“ÉÔ‹| @œRL2†“¦‰gMgM‡8Go›¼ÿQƒm)±ä8¸aÛ¸å‚À‚ã´L(¥…išéÔÐðpúìÙ³éý«¿¤<8öýÿôŸ~ñêÕ«³s·nÝòGÁç8nxÚ0pÒ0ð¤a`‚1˜è©ï7eX .xéAÊM£m˜L&qøðáôÉS§.~ô~!ˆøêÛ÷~Ï÷\¸òƳ ‰R©´çw!˜f o …ð?„ÃxÚ00Æâ}êP Â9`šú¿œJéßI PºûïÆ÷[)@(ËlÊ+TއϤUzpÃqpÙ²0ï8ؼHÃ0095…#‡§ÍÌ\ü÷¿û»ðÕ³÷þÐ]¸üúë³éååÄr:½º‚qÆðöP߉àyÓÄ0cSäc „sp‡Ac1¾>ÐÁAÐþ~H`Ì?H U.C‹™ T>¹³U«¶­ÿVJ};ÇÑÿÿ¥·m¯Z^²,\µ,¬Q/*€aš˜œœDzzz:500péßÿÞï)A÷×þ—ïÿþ —/_ž]YYIlnnÖ[|=„`’sqÃþ3¦‰“†IÎýú„ìžä¦©sÝÚ‹D@"Ðþ~ÐÞ^¾>žžöàERî:¾§¼»°µ•ËµU«ipØÞ†,€jʲv£ÛÖ÷y—Ÿ§PQ +BàªeáeË«–……¦h€RŠh4ŠññqŒ§/~ú3Ÿ ¢îýäþè…/}å+³sóó‰L&SÏù9!8Ì9Þfšx1ªWø(íZå'†¡xdl|\;rOÏ.Pª ÖÐק íé‰ÇAz{A¢QÃØÿ‹r¨Z 2—k(¥ÀY(•Š€JªX„Ìf! ¨\®þsX–Žöñ [B`Þqðš ×ZDŒ1  !‹¥>œ:|äÈ¥âA4À[g?óÞ÷^xõÚµÙ·o'ÒËËuç¹!ÿ;B!|s$‚çC! RÚ=w'´¿lj üØ1°éi°©)íà==ú$gl"Ðx\;z(´{ÒßžmC•Ë<ð~V*AnmiÈç5XxÀ°¾±±™ÍBU«@ÓÄc§h`U\¶,ü]­†W, KŽƒ¢”{hÇ‘H8|øpúØñãÿÍoýV p°ö|øÃço/,œ{ýêÕäÊæfbie–mú(Å4çxÎ41ãL·ß-ÚÑÞ^БðãÇÁƒqêX2 :6v÷'ùWÃÜ"¢Êç5 »‘A¡±º ‘NC,.B¬¯CnnB‹:ÂèRO6…À ÛÆ+–…+–…y!°&% RBx´jÆ099‰É©©ôôôôÅ?ü£? @ €ƒ±_úÀΧWVÞsùúõÄܶr9Ø 'ÿqÃÀ¹Pï ‡ñ¤a`¸]ÈO©ᇇÁÆÆê§=ê)ð#GÀ‰½ùû#`ªVƒÌdö@&££…•ˆåeÔjA /%–sŽƒ›BàŠR¸iÛX±í:sÎ1<<Œþþþô©Ó§SO=ýô¥ÿÜÏ)A÷f?üîwñåë×g¯ÎÏ£Ò0»ÏLqŽw†ÃøÖHÏš&b”ÞYé'Ä0´ã> ãÄ °C‡ô51:1‹=<'þÝD¶ U(èúÁö6äÖD: ç7`¿ñD*¥Óƒ.Ñ@AJ¬*…Ë„à+^ªV±\.£T­ÖEKb±9‚'N¤ŸyöÙ‹?ýÏÿy <Àö@Ï|컿ûüV:\XZÚãü!w˜çm¡Î…BxÒ0Ú;OØÄŒS§`<ó ø©S`‰„.ô™¦ï¿žWçrú¿•Šv®æœÚ«üº:/%à8º˜hš ñøná~¤Œ0¦£Ÿ‘‘ÝÈ`söÔH$K) " ŸRÄôqŽ‘pƒÃÃx¹TÂlÙH)Q(póÆ Ø–•0û¡~ðüG>úÑ `ÿf2vN”ˉ|¥²[t"ÓœãÓÄß ‡qÆ41ÜÂù‰a€ =ñŒ3g`<÷ŒãÇõ‰ ù£«U¨8KKËËkkP¥R½ ¦„Ø[e÷úöÍÀH(¤ ¿tdtht`@ûûï[í„B`ºûÁ˜¦M+‘NwF•B„RôÅãAO_®,/csk ¶m£R©`~~œó„”ò\àfìÛþÛüÈùL6›\^_ßÃQ OÞãùP¨eÎOb1°©©ÝSÿäIðéiíd~Ìq ˆ…8·nÁ¹rEçÒ««ºòîERî¯ç¯”nï ¡+ï­`pP@?ÈÀØÈH½Iz{uMâ-Œ èÐøéÓ Q®byY·;}i„À`µŠ¨m#‰` ÇX_Þ¨V‘*•°cÛ¨ÕjXXX€ašÉÿñþÃóò§Dø·—–—Ëù|b¹PØ3o?ÂN˜&N›&Æ›Ù}Œö÷ƒ?ù$ŒgŸ…ù¶·;:>îûÔW¶ •ÏC¬­AÌÏþrεkpnÝÒ³rùîÉ6Å"ÍB¤RúôD@b1 ýý»HÔ‰E^+r¸˜f"ÆãwŸNp6: œ=«9µ`Yëë]ۅʲÊfqHD8Çh8Œd4ŠW×]BQ±XDng'±Li"pµöe¯g³‰7R)dN#“Œ2†1JÑßö{…¾ÑQð'`ÎÎÂ|î9°#G@{{»çùBè¼xkK;þÂÄâ¢>ùçæ VV J¥ƒ¡ázü!t±½ ‘JÕë/ ipÉH{˜„.HDÇØèø8ØÈÈÀ€ÓܨS§`nmAnl@æó¬ºYµŠP­†c$S†áHLJTk5¬ †@þíÞõ®óËÅb2µ½ Û=m¹Kö™á ÎiûI4 69 ã̘o;ŒçžÓm½h´ûƒ ¡?•‚}ý:Äü¼vútZ;C±¨sø·Ú”‚*!ŠEˆÕU!„B{ Rìöê01¡#ˆ±1]ûñÒ‹nÅNÃÐ…Ò³g5i(—ƒ˜ŸïZ¨šã `º¸ešXqÇŒK¥òù|òÛ¾ù›/üÕý¯AG  cç¶K¥DÑ­üc”â¬iâyÓD’óݼŸ1°dæsÏ!ôõ_¾ŸBŸ™ ìË—a½ü2ìW^©;¾¢Ì[fBÇjƒsó&h_Ÿ®-ŒjԭΑ°ÉI Ѩ•æ» ‡Á‚ñÜsÛÛP• äò²ž1ð[V0ʦC‚s¼iÛ(K Û¶ù|~öý?ñÎÿú¯ ðû¹Ÿû¹ê ½÷û¿ÿüR:={kn®·âž@!Bð”aàkÂăÃc Ü‹Á|æ˜_ûµ0ggAGF|‡¿2—ƒ}å jŸûì/|ÎÙ,`Y÷e$÷@LJ¿ šä³¼ ±´¤ –©äêªNa¶·¡J%=ÉhwÖ \¢”WKP¥’¦—Jûz/8!¨*… Ws 禄Ò^Ó4û^{õÕä7~Ó7ý—Àõ‚ ¥-¦Ó‰í\.‘oÈA{)ÅQÃÀÓ®~k8éà ØÌŒ.ö û>ae¡çÚ5Xû·°.]‚¸}»û‰û ›Rõ A™Ë·oÉD@ûúàLOƒMOÃ8{ÆÓOƒ= ‹íM …qö¬æ:¸‡2“ñ Œáç8̹«++èëíMT*• @{{óÆ ”Ëå:Ïœså»ÇÛËñgLÓzݼ׷óg³pnÞDíóŸ‡õ¥/A,-=üÎß*ˆJr{ÎÂÄÊ äÆLÇÑ 90°× tbB§¥T¡»Z…Êç}?æ¥8n¸ešX ¶ Û¶‘J¥ ” €ö–Éd ZP&!˜d “œc¨)w%†¡ûé##ºbî'b.àܸÚç>ë _€³¸¨ÃÜGÜT­µ¾Ûuj@§žÒ“ï«i‚%0_xAU*pÞ|S·@}¦ Îñ¤aà†mcÝqPV ù|;¹\ò»¾ó;/ü?þçA- €V´Ø£ëg‚J1@)bÍàRkI<î«è§ªUˆÛ·a]º¤~Þ÷—ú£T?¾i†¡ r^aN)Z»íIH©ù¥’..6³ï'‹pææt¾ƒÆã`33w¼$Ÿ™zñÅ:ˆÅEM€òö‹¿€@MOˆs!`»Õgæ‚€éþÓ5»Îçl¾ÜÚ‚}í¬—^‚sûö]üÄ0´Èø¸®¬ŽêÇ÷ÀëÕSºÊeÈÍMˆ ¨ÈrY«úÔjºÒîcNÿÀ@ T‚sëHo/èÀ@}^¢ù=$ñ8ø±cº®`Û°ß ÀL1†çMe—-yËqÍf±ººš˜»uköç?üáóþùŸ‚ìšÑTöV[µtÆS·Û—Þ²4¹çÊ8·nù#º4<1MMÔ›˜Ð:33»-G/:i”ÿrÿ®››PÛÛj5È|^ÃÊŠn¿•ËºàöVFJAærpnÜ€=5¥lp°%o‚öõÁ8qBs!¤ÔƒC ¾8ýn ä¤DVJäl©¥%D#‘„R*˜ éä`lÏ/é.¾”íÀu´®ßùBA·Ç–– ¶·ýû~(¤G‰§§Á’Éú1?zT;ÎЯè£YÑG5@&£ŸÛê*äêê®°‡ËÑß#*ê8ZæË“ûº[°pÈ MsvµX2yçkátxÆ™3ú±‹Eý^®¬tï w2ÌpŽiÃÀ»‹À›°m;ù?ï÷^ø¿ÿðƒT €F¿Þuh…½Ë9›O2¿ 76ê½q_ 74cNŸ†ñÌ3&&´~`_߾Ɖ=ÝAôõíIe<­?±¼¬`m­NÅUŽ£Sƒ†¡I:;;ºïŸÍêåjuß ªVÓº7o‚?ù$èð0H,Ö •AÁO‚éj ¨RI·»•J U›Cç ¶]Îf³‰ÙŸþÀÎÿò¯üJ °o¤Ø½:z¿Ô*8™ ¤ŸÓŸºó›/¾ók¾Æ™3û"í' ££ÚÁŽÛuþbñÎ@WIï™ÍBíì@lnêomé<½…Ù}_ìk×ôÒÈØO´~ŒŽŒÀ8srsSƒÀõë¾ê!B0m8%Ö„À²e¡ %¶¶¶°Í&‚Ö`Þ¡®à[¥ÈÕËïFRñ¤±äÖ–¯ÜŸD"`ÓÓ0_|¡¯û:-"22òÖÊ…qÂ9XSK®c:±³™ËÝbnÎü¼Žvº8¨²,ˆT ÖK/Äã0)Õs-ž1MM&zþùÝÇJ§»0€$cxÑ4A”Â+nØ66+++B€çÓrȆëÎø’î^¾äå2d¡ sënÕvBêl¸Ð×}øéÓ`>óüûø4§ž¬¸ž;o¾ rñbݹ;:¨”úo®^­ï0Ÿ{ì‰'@ãq=ˆÔøØÑ(¸+²"R©:u«Œ‚ÃÀ!ès^Q [[[p'ù÷ßùÎ/NOO_ú½ßÿý xœ@±‡T¯´Š ¼|·KÄ ]­}¹³ÓÒJ©ž,táç?ò‘ç"`Ç6 mï^]N3ß”YŸ·U–‘NÃþò—a]¼ûòå] A¿å‚1Œ]èïß œï€»à14¤A`dltTWë{{÷¤.Ä0ÀÆÇa<ûl]åȹv "“ٟΡRù<œ7ßÔÏÇG~ø°~.®~€*•ôU©@æó¾Þƒ=taÎñ†mãt„Ò¥töÇþÙ?;ÿ¿ù›Akðq€ý´¥žæruíýûejgÎÕ«¨ýÍßÀþÊWvÃëýðòݦªÕt~îR‚Á˜®Ex5Çѯ_ˆÝÀ[*2: 6>®ÛrÇŽ%“{H<$ÕŽJ) ö÷þ|¹¾àû ]É8×®íyþüÈ=M85U¯·&àWOˆ‚>JÑK¬j‹ €R‰ÍÍÍ ðØGî@Ðæ*Õ¨|ʲÞÚE~[.ùu Ö—¾ûµ×|éèï ÜÕæ±±½­xŒÆb ÃÃºí·¾óÅÁŸxb§Ÿôô€93ÑÀ1<¬S–[·üq#A ›Õ¤!/r1ͺž;tH„¼¥£û ¹Â/Óœc‚1lº,ÁÍÍÍÀK'ØϲReۚ㿵•ÏßP¶ ±ºª†\½ ¹ŸÂZ«ûPS y)QQ !è%=n˜Ý¸…´ ¹³£YŽÙ¬vfÛÑ Ð „Ãàɤ^‹><¬zzà\»¦ß?¿ê¿ ‘€‰èŽ€«'@c1°#GÀOœ€³°PñõEtùϘ&V…Àë–…JýAð¸À~@@‹õ‹ŽµÏµ}Ž w»­*à¼ù&ìW_ÕŠB>¿à€Ö6(ºsñY)Q’5¥PV ÛRÂV £Œá˜a é:…rCä;ÖŸíÍ›4÷ڵ݆ãh:o£ð'ç CC0"ÐXL× b18W¯ê•gÕª¿Û}<ûÚµº>B£°ˆqú´& mnj*²Ï4`’1< a[Jä¤Ä¶®[$¿ãÛ¾íÂ_üÕ_ÅÀÇ&&&KKKõ3Œ´Ëîë=wOçî­, ¹¾çæM8ssP>Æa=ÇÏK‰eÇÁmÇÁ’ã 〲”Ø–@‚1lI‰-Ρ&ô8í Û%®³„›ª±P§T¥³\Öc¾CC{:$;|f8 ‹Á…óú뺋á·@ب'päˆÖIp[šlfìÈ°7ßÔ©ŠO@÷ôOnÙ6æBˆ„böý?ñçÏÿú¯ÅÀGþ§÷¼ç‹Œód#(Jˆ¾Ú´å”—/w Ã÷Óìp[U©ÀYZ‚37¹ºê+l¶”š¸aÛxݲð¦B ¤l¥à@«™„`“1ä¤ÄMÎ%½”b‚1Lq®ùôîZ´©æ½ˆ á¹}íš.•ËPÕ*ŒS§ôLC#„ÚÙƒŽÁž˜}õUØo¼¡_›ÒP]Oàömðåe­Žä­h;rÎÌ è¾tkãŒaœs RŠ[[[XßØH€ xÔ`g{{V8N èmše ÃíúòÞöÝN§–ϱán·•…‚ìX]í8Vì…ú[R"í8¸iÛ¸lÛ¸bYXE)[5=°(H‰ŽƒË’wß8Ì9žrW¢‡[šRPù¼–=óTƒ”ÒzÍ‘€aèbo¯. pK)È••î§äö¶f ¦Ràǃ êû˜Ð;GG! …}mYêwA®R8µÒé4²[[·>êpåÊËt奌a¤S‹¯Ûé¾rO§ÛÖ—‡®¯·t`ÇuúyÇAÊqó¶E7ì·;„Ã@U)TÝ4„ºïAÊqq—¡Þæy)ÑCf8G/¥-Ó#U©@,-Áj+5NŸ¾sÀ‰1žÝ* ‡A(…R ¶º»ÑT­±²¢ÕŒ¶¶@õß8>7W)ÙOà]PÈçÅ‚àQ€\.·G{’àŒ!ÞÎyýä÷>dž»ÝÖ«5´ª7(×ù¯Y¾lY¸â¸lH‰¼+¦¹‹W¬!§'J!D”Rp”BÅ=-›n½ÀqER_ …pÜ00Ú¼0¥xëÀø©S }}­µÿ¼­@¶­#ªW^éÞâTJwb\9353£+Û^\Ü‘ÞðåtŽã$ÿÁ·û…ÿô—å"`³Sys÷Dñ9 .€*—5ç½Å.šRXt\ªÕðß*Ì»Ë0šÍ0 LLL  ¥ !©ÔÂB:‰„gFFR©D®TYÊdàÓ=õ¥R¨¹•oØ6rnÛˆ‚þv5’rbqV$R§“h¤EDEB!Щ).xxVÙe+* 66 66ÀËe¾¾ú°?zÎõëºhêS†{ à~J)8Ž“JÍþÔ>pþ_ú&0Æö°·@æÜ«DöAu<íΓ“7m¯YZ8?!áp“““˜9|8Ý_Ìçr7WWÓý½á§š1âñs[¥Ò³ýÛÛ–m£/EµZo1uÿ IDATÅV6‹Ôê*lÛ†PsJÕj¦“Œµ€z$°¸ûòe°C‡´¶a8ÜÿB!Íê;{V8¥Ó:‡ïðÞ)ËÒ#ÇëëZq¹OkþHÌe*ÒÞ^ˆrÙ×gà9?wǽ•«´•É$nݼ¤*pÎ÷¤šJõ4¥w°ô6…À‚ã`ÁqPjø’›¦‰¾¾>LLN"‰¤GGFRÉC‡.>sæâ7}ó7_œ™™IËííðk_þòÌW._N]Ÿ›»%Óé‰JµŠO<‘¨YVrye%Q¬V‘ÍfëïOM),;–…À¦”x² ¨í™XÌçAGGÛ¿ÎPHK »{°¸Ø¹Èê¦b}bctjjW<ÄW ££››¾ZŒ”œÃà¼.ï8ÖÖÖPÞï"°‡ èoºhÜMxïOp÷jJU2®ÄÕ–”upàœÃ0ŒtOOOjll,=44”>zôh*^zúé§S333i ÕÃ/¾xk›±ª10p+ñÄ–eazfföæÍ›Ø.¬EÔQTJ_>*ìʲ ÜÍDrg§;Øõö‚¹ƒF$î*¦*óy]X]…:~\kêצeʦ¦´.Ÿ%£”Â0MŽV«ÕA¯X,¹”ø*¤¾µî&¼?°P`/ØT]&߶”{BÿH$‚žX,•û!µ‹(ZüLX)ÇÁª _îÑÑQ ¦Ož—|óúõsë³o^¿žX]]Mær9ävvö(%ZZ+F)b~ÅK\”ò™f‘=704Ô½ ”'BZ(Ô‹¶ž<K&ÁÆÇ!––º ˆ†Ãu`o¤…7îŒ ì!„-€úº|„j5}ùýòìc»NQJܲmܲm¬ QÿÃŒ!Âyz0I=z4ýGÿñ?&^íµÙÛ·oÏ^¿~=±±±ÛqËåÒ©OýÉŸ¤s;;š-‹çªÕêìòò2²Ù,JÅâó†K›èÆ‘h/ÒÓ£;>‡¦èÀ@}ý:á¼3ÛR)½¨E„AúúvïÇ4»ÎOÃЧ¿ãì9ñ¥”{ŠÄ=bàhî÷žÜº­$xC¾Ø‰ä£l»Þºóuòù•s-+%æsŽƒí†ç>c„±ÔÉX,õ‹/¦þà÷?¹¹±1»™É¼'—Ë%jµ ù<””éb±˜ªU«éjµŠ›7o&ŠÅbÒ¶m”J¥;^;žg Ïš&ž6 Œø!8¹ë½èà æø‰zz4 ¦©A´n Q¿öÜi‚öôè$ •e ”Rð†ÏA)uGØ#û’o>­Û€„* 2ˆ­-­ŠÓíKïjì·ê“·J²RbCl^€¸al’lö•©xü•Ñ±1†qn'—;w{~>±±±)%òù<"‘H"&¡lÛF¹\F¥RiyÒE Á$ç8Ì9NΚ&ŽqÞž$Õð¼©+Ο|tdÄÆ®^!çPÝ?ÀöŸE›j++Õj(PŠBµ8üãû‘÷•³Có÷U.§óÓná#¥zD¶·$÷Up,»…¿Æâ'DÊtHŸI׊Åd>—KÚµZ2“ÉÔ¿ÔJ)”Ëe”[‹šÃý8!˜ægMgLÇ ãŒa° ¸9§æ‡Ã8}Z z¶zmuªÇìChu­TBZJ¤Ëå=máP(ó€w3ð =·ï{túâté¨BA‹fx²aÝÂdwó/mµ%·Å\@Oò5ÿ€lµšæB¤OüˉëçÆúûÏ¥Iøå9=”bŒR$8Ççx‚sœ1M3 ù û½×4: ~ò$Œ³gõà~h?4êvŸ…'ßîHÖ*,U*X*—a¹uBFGG100xí£ wÕìö´m}ù ÿMsW-§·×WÁ±UšBT§š—²ºZ«\{ýõd.“In®­µuvïb„ FFÃaÎñ„a`šsL5üâÔÿ;B¢Qð#G`œ:UWòÝ—Ð(5ñ‘}@Á¶‘w//%dŒÁ4Ít,OnûˆÀ[bÞ¨°ê1á\WÉ{zZŸ’û˜*Œp0ÍðÒåËG¯]¹’Ø\_Ol4éÛqèù~oÜ7æ €Ä(­ÀΑè0õ×-‡gããàO=¥Cÿ»9=h”šÄãõèJ¬®vÿ<š¢®k©ÿþÙÏs*ÜUð Í“ç…Z+ ïgªÐµKû·øòo`3—CÎ%µè™÷ç8n˜áãŒ!FLB£#”ÖOû»„b dpüÄ 'OÞ]è¿OÐët[‹i­€Ãh[ Wcaš&²[[Áéÿ(À]µ»Q=ÁýôÛÝ×]ÐŽ_¿r©µ5”ªÕz€¹˜/„BøÚPÓœcÌè½¾‰„€p:8~êÌ·¿üÄ þþ»Ì¡f”šôö‚:>31?¯£€·+JY¿?"Ö rØ#wÝlSxªsܵU¾¿“ƒïƒv\qœêŽ”ÕâÚòå2¬†Ç§¦Ü>þ;ÂaD\]€ƒp|ÒÓ£‹~ÇÃ|ûÛa<ÿ<ØÔÔÝþû½·%¦ :9 –HèÁ –ƒAYw¦bSJH÷}&„`p`Ã>Û—=¤p×mÀv~åònÀ/ÀÝßwPV°mXBÀnZx¥=®Þá~ŠqÞæb í¾fJu¯¾¿_çüîÖ^~â„vþýþî%è0JÍÆÆ´xèÔœ7Z‚rVJd¤DFˆzÀôfÚ4Í x”à®Ú€ O*Ÿ×rTÙl÷€íX‘ÐfVþ®ên cߣJ^ÕÜÛèòØȈ¦ÖzmJ€%`““Z˜ã^ûæ¸ú©t oý™·]¸Õ­Zò*8‡cÛ©ÿò×e¸«6`‡Â“*•ê›ƒºV±éï×ε¢L·×dš –Ò( ÖÙ¸F8¯o ¦££š†ëî$}} ñ¸ÏíëõòaïoÝ•a¾rÜAñÝê-Þfäp¸-#°¯‚sŽL&œþ:tˆZŸð¡DCÜ¥tx¸>Ë~/ùp„óp¿i†{c1Mím J)X,>6>6êM¿½½Úé{{÷@4Z?9io¯ÿùýùè!ZÅÇkVµšV"î&)Þi¬¸E݇¸Ê@=âpWmÀN~–U'uý¢‡Ãõ»msæ»Ð îsÛÙŒC‡>{áS§4¸'<ÐÀà vúpØßé{ÐfÛù¼VÚÜô·'À%\©nÚ÷KÀ%°‡ îª ØÎ)…Ø]WíGÃÝ’Cc±öáó~XqŽž>¨Æã(’X\\Ü}ÓC!„Fôï@øk¿V@,D"º{Y.ë4È]Û­¼ý¾Qªß;BvßC)õŠïLF/õ»M}Ÿ]ƆﻀK`ÜU°Ý÷̲ꪶ¾:°S¯y¬¸ŠãT+”Žä- „dã @,G|j ½'N€=zPáT­¦»[[P¹œ„rg!¼Eª1GoJw_—»ZLf2zéÇúº? …ôZóP(ð¬öowÕlùüîæ`?)€+”ѵeæóôp¶}Ô±,X–•ð"ÆÆÆÆ066†¡ááƒqüJEËq¥R Úa··!Ý={À£Ew‹ðÂyŸ'6ééÑ…È€°À]=™»i¶;¬‹E½Êˇ8×€¶£²Ê¶u],ú,€¥ÅEl+…\¹\l"‘‰ccâ\oÑ-€jUŸÎÎØÉI½“Ú² vv R)8 ÖÖôøsµª¢ÓœþA MS· ÇÆêÛ `_vWmÀ6E%oƒò#Bɘ®¼Çãmå²öŠ|DÎCÞéi5†Aú+Ä`ªÅ¢Îѽð¼Ññ› 1Lo€\®¾žKmo×÷Þ7#$ÓüƒD´í8(Ðþ»qíž6E%OüÒ¸N´éëk›¿ÊÍMídË˾"€Š5ª,¥@Ó)A×Ö ^yEoÎå´`‰xŽï3ðreYû›w8ÈÏÍ] nœ9vôhëQêÆ:Š÷: `¯/«Îÿv'J«Ê¼—ëúq Æ´üçm[nrg*›Õ›oº=G÷¹0w’¯ìjµ…T2X¡~½qUÜ["b>󌙜ìÜÉØÏçØ㪠¼vÙ+åÖ|Õ »¦e¡ÒtÚ )áǶ¡pæà«”³é…¢gÎÀœ?q¢õâQï=¬Ttµ½í««Øcª ¼ß}€ÝŠdÞcìCG8„mקÚö€ÚÃÞg ÌÝ&l~Í×€Ÿ<©‹í@MH¯S±ºê«3Øco…*ð…º”Ö¯nD\R(·á)Ô虄±1§OÃœ…qö¬Þ5Ø)‚*•àܼ çúuˆT*Hhuȼ*ðÙ>d­ë¯§Åó¿nÃWï[Âõ<¿»(„MOkq3gÀëª7 Êe8óó°^~ΛoúÚMxçÇt yx+TÔ|>†jÖTønýœÚõñbÓÜ­yx­ÅVW`¦©g††ôz¯ÉI°#GvGŽÝÑÞŽ'ÿíÛ°.]‚ýÊ+ËË7K¥î¨ûPJÁözI~ÒJv`LÀƒR²iÈOöj0ÜÉc8¥c¿9: ‡µBP<Ò߯·õ÷ë#Æ:s ZÀ¡C`zÅW;ÝÄæ“ÿömX_ü"jó7úô/:þM}¸ágÑh±Ñì€æSQbw6\íö[ìrÛú¤›Ÿ¹‚} è{hÚéÇÆê§4h Ý"Æ4Äbú¤÷¥:9¾PÕ*d&gaöË/Ãúò—á\»¦Cÿ.ýÑžÅb1 ìÂÇ#  Õ|ÇU†)+…šRïÇ¡HϾîü¥’ÖðCv‹…’1HBtJà~¡ïhmz‚n}p®‹i~ˆ@Þß+¥O|ÓÔÒ[G‚»¡:u)Î$?X±Î/wv `_½ ûÊ8×®A,.úrþ–ï€x<Žáƒ˜›ìÁ€Á¡!ض|>_? ¶¥Ä¶”ÈK‰°Ï}}õýôì½PVåóš±çG\”R€sHÎ!kµ=_f@qD£z I<®~††´&@$²{:ï8×[u=8|XŸþƒƒ÷GÏT¥¹¹ ûÊØ÷w°¾òˆ…ÈbÑ7åW¨2Á¤”0m»\o ¼õQ€x<~‘2–äœ'l÷ÃÏIY¿ö¾ž=€Ý)@w±‡¯€1ÐPÔ0@§>@DO&a¾ø"Â_ÿõ:'÷’° È[yÚ+ËÒ ˜ÍB./ÃYZ‚sù2ìk× ––´€H—÷^¨)…œ”ØËŽƒ×(ÅŠõN ç‘h½æ {4àãŸøÄ;N>õÔ)¥ ïg¥ê×¾Â÷ì¨JEëø¤¯zD n`œïYqM9‡11ÐÉ“0^xáápøÆ÷¢V« …8óó««Z4dy"•Ò4ß6òa@¡A÷¿à*oK‰u!°L–,;ª¶ BaF:ì|ôV–—ÓÝG)8î÷¾`@ QŸ.ô]€@Ó䦆çF)Õ‘A(ôà:¿ãhGÏçëªJʲ4 ®Ó×`sSŸøè½ À–¸iÛxݶ‘rœ=°!¶Ü{€p8Œžh4mšæÅýÒ/’à4‹hÙ ¼Tà}®ó¦ÕCÂ÷ߣØPï››z\9Ÿß€bQsú××u¯Vó•ç—”Â-ÇÁçk5ümµŠ”ã ¨·ÖÓêÄèØXê?õ©¸êc1WF»âŠPJ¥Pu¯–­ÀûAöî»Åc´j[)¥ ¥„ã8wÎ<ààµ5½¥)rkKKˆmo×%ÄÚ<•eÏ¿1äŸwü]­†¿«Õpöۧtî!Àƒaši˲.nú@2™ÄV6‹íííºƒíH‰v­ÀûAî´}¨Å &„¥µZ Bˆ=ŽÞ¿Å~†aÜ¢›Êçë:Ê[{Þ©5ØÜFôî«RÑŽ¿±‘ÉÜ …‚®wÔj»"%û ˜ä¥DÚq0ï8¸í8˜·mÜp¤§¥ó3ÆÐÓÓƒ‘‘0ÆÒ–e¥LÓ¼ô…‹ƒÐÿq€P(”f”¦c áVƒ»¶·¯ÛvÚ>„;§û¼@á+¨‡à®’/Õ\‰nU,j§õ¤ÎšÅ=›Ÿo+I1Bî€ÍM}Âû åý8ÿ†¸nÛx¥VÃ5ÛÆmÇÁº(H‰Æ*ŠaˆÅbèÀèè(B¦™îíëKíìì\úÿ>ÿùÀñGø?÷¹÷?}üø9Ó4^°-Dä?Î=@*ð>ë uŒ¶¡¾»·@nmi©±•È È|~\P•ÊnÈÞ Þóó¢ |žâoã}€ãçÝVÞeÛÆ˵^µ,¤…@QÊ;r|Î9É$Òããã©p8œHÿÛO~2püÇ V«¥½Z€W@Ê»)€€²ñuªxÏmšŒ#¿.´›ø«OÈ}á pn߆H§!–—uÎí€ãìF–¥soOìó).6æø«B`Y,:®Zn9Ö„€Õô\ !‡Ã˜˜œÄ“O>™N$ÿí'?ùصD2‰L&ƒÍÍM€í¶Š¶¥DQJô5†âo5ØݬÕZ¶¹Ú¥ªa·}óc‰åeØ_ù ª‹‹pn߆\[Óšƒ–Õõùz䙼”Ⱥ©šÛ%‘ CS„úÄ¡l¨U4ÿÎ{î&€~J1Ê(…Ù [åø+B`ÙqB $åžÂ¨aç<‰DRýýýéǧó·;8ñh*Qš†Ri$”û…Û›n¯x¼ÅT`U«íJŒûä´7@#()±¾´„×2PÎ|¥0H))EÌUÊJaS¬ ¼F+U·„ÀN#`·UJ€½Ðæwu C”â¸aà)Ã@’s„ ¹£íZU +BàMÛÆeËÂ͆¿¨ì¦ÏsŽ¡¡!„ÃáôèØXª\._zíòåÀéè\8>=}Π4a¹'bFJdÜ/ý‘Æá–·˜ ,wvtn¾±ÑÚ¥žºQsÁOJ‰ÔÖH.‡c "„`R 5@©¼âa#¸Ý‘šÛO?¸i˜s B!`^ÚEÊRbÉqpÕ¶qÕ¶±êžö­ÞåH$‚d2‰ÉÉÉto_ßÅ?ý³? BýüYac#a \êh¡ÙIßb*°ÜÚ‚ØØ€ØØhY0#î)Ùø—Œ10Æ ”ªwêá³RH»'¦' RÆsN(I‰M—&›op2åÞÏA*ëW”BÁ­³¤„Àc\çgî{S–ËB -¶…€hSíééAO,–Ÿ˜H=yüø¥ßùøǃS?ÿ3 ínÞm»µÛo¨¿Ÿ SŸ?—Ók¶Úìh¥ðãEÌkÇ5‰‚Ö\R“g;V…iSc¸_&½H˲ðFC¤àE^þ߬Øã…ú‘H===èíëÃää$úúúRŸúô§ß¸Yû¶æSµ­šn;G÷Ò?5€6 l»¾ àntì)!i÷¹ÕëÝ |’)Ü©ÎÓês SŠÉ‘ôÅãéèà`JPšž™™ÁØØØÅÀŸ+«I §Á!YÓIÔ-|'ŒÕ¯®_tç^©è0ßýU.ïîlÓ/ïDfŒ¥FÛ¶€ã¥zªJ Xû>€v` ¯¯}ñbpâpïV¢žÿï µ[ûZuÂáÝ«›Yd>¯§ßªÕúzëÆÁÕN-¨Ørœô„”— @R’J 4–€8¥a #n ¹ÿ–(¹¯‹6ED {²)Z"MÿOÐZ”Ô2Ý–¢_¸r„@>—Ã{¾ë»¾ØÓßéÿüƒ?rþîÞl);†ž]O$W‡ÆbèÆuSŽ£{ñî„ó Têºa¸x˜1Ô„¸ãfFÃ1ÃÀ)ÓÄc XJ¡èò.<9¶’[Q-^EJ,lnb«RI”)M &ßý®wÛÙÙ¹ôÙÏ}.‚öoBÊ=ë³|­ kLúú´Ì–·®ªåU)Í‹_^†XY˜1ŒzZÐIݦSp’DFJ”¥<½#å@c‰/F)ž4 ü½pï…0Å9bntãµÿ¶¤DÉ<¨×“÷(Æ Žî{ˆKV '8Ü¿«€RõÛ’†×¯š@)l ¬ØrY~+Žƒ-)Qih;6‚^¾P@éæMôÄb‰Ñ‘‘e,ydzú\&“IãÙçžC2™¼øë¿ñ¿¸^ërͧ*ö·R‹D£ ££úŠÅ s¹Î·³Sçäó§žéëó%Ò© H(Md…Y Hx¢&!˜b Ï™&fC!3 „R“ ´*^¶Knüw+ ò~ï<…«Ä¼#%¶=pÙ~[ÐPP ëB`ÍÓð^›pS|.BH‚’àœ£\.cyy–e%@—ž=@Û%!튀†¡Õq'&@‡‡5Ǿ“î¿eí~vv€¾>_B Ú€()K©ºóSŒá¬iâ¹PIÎ÷8ÿƒ`ŒÄÝ+A)lαcØ”Y!Pv9kB`Îqð¦«ð“k¢ÿz$(˲ÉdP*—ëéI¾ãܹ/;v,¨ÐùK([m ò[@GGÁ¦¦À&'!R©ÎT^)!Ý™x™ËÕ™o-O\Ÿ¶­¶=#°aB0Ã9Θ&Žzé>vy¯ñ>vˆ‘Œ2¦G± CçýJaÀ#–…ë¶9ÇÁ†KZ²Z•*å2 Tbsc#Á9O¾û]ïJ|ú3Ÿ Ø´ŽH—“¶îœí&õz{AÇÆ@ÇÇA¢Ñ®\~•ËÕUrÐ0×i@§SЖÂ[ âšA&C’sŒ3†‡qã%Óœc„1$ÃQÃÀœmcÅM 6Ý9¯€Xsë •JKKK(–J‰µÕÕÙoùÆoüâá#G.}üŸ¢¾dJù[æþ-œ”˜&èȈÞe××tÙJ«ªUÍúÛÙÑÓ>Š:µ ¥àœCÛ­#0Î>t=O<ž‰ ÈbQw 67µH J3‰D@zztaÒ¶uQÒ ö>ÇfÀêô;O7 ‰Ê+vA ‡«Ñ™mrkK_^Í  ¸SºÐعpƒJ$@_xágžÑLÕ8 ËËPÅâîwÙ‰Åvµù<h®4¦D~×iEcÚ£T}ÏŸX]…ÜÜÔÀØô~0}”¢RLsŽ’;¦œw»s®ðU˪(¸Ê¿•J‹‹‹°m;Q,•f¿÷{¾çÂþÑ À>ò\ï Þ0êk·††@ë,í­Ô.õ·Xô5PÔ© H[D‚R`j ômoCø[¾¥=0VßHGG5ôôì€'v·Ð©sÐx{R)8ss‹‹ëëzIJ+m?½”Ökç˜áIÎ1Í9.[n8V–;,µºº Û¶¹Ùï~÷»¿xôÉ'/ý«_þå %xœ@ùä!îN¼vû$©/Æ„atÜM¥vuð=Gì"+Ö± H¤”{§EAíïÇÁ’I­À« e{€Äb:ø*¬ÇR¶ •ÍB,/Ù›ƒ3?çÆ ˆ¹9 Þómc&!HrŽ~J‘äSŒaȲð2!Xv”]õäõõu”J¥„«™üÙŸù™ÄÇ~é—‚hàqŽ|Å] uÄ4ë¬@bšúôìô°®fžò©•×© ¨ŸžYpÆ@âq°xüÁËÄ dl txìðaðtαc°_~ök¯Á™›ÛËvY´ÚPÜ †ÃçxÙ¶q˲°í8J¡P(àæÍ›(•J‰jµ:ûÁŸýÙ ýØÇxlk>"eYš²[*AÙvëHÀ ƒý´Ü<¡LOrûÌK[—ÝôXc t`@G+SS`ããz±©aÀ¹yS­º|^ À¥›&z9ÇçˆrŽkµ2¶ GX–…T*—@4ûÑ|äÂ?ô¡Gðã$ªRÈd 2ðrYWû[ 9÷·&»,ºˆ…vjz .S/=`Œ=¤ßï ³ IDAT:8ãäIPH_‘ìë×wÛ§þœ ‚¥ˆ3†>ÓD(„7j5,W«¨X„XYYiš‰X,6û¡~ðüG>úÑ &ð8ñIQµÚ.ƒ/—Ó ¾vEÅ}ʃÎëW[p /­pÒ`EC‹ËË°/_ÖòÜBì}nd½ýJ€{ãÐ^ ±·$=°}„¤·üØ1À4u"…}å äÚšÞÔÅ"fAØ0Ð a¨§_)•°P,b§\F­VàÃHض}.pÕÇ-à¼ëiâVÕtßÞ]ªÁÚ¥w#fš»W»‡Ç 9”1pÎÁ[G£*ðÖÖ®>£c·[ìáý¼9bi¾­WW` $‰Åôò¾> ¦¹û:½ûB÷ü½âdOH¿óÛ I,~ô¨™h0Mد¾ ±ºÚqQ¨„‡ÄÃi"l „àš¨Ôju¨V«Éw}çw^øÌŸÿy <6àWÑ×íU«Jh§Ús—KBh,V/ ¶ãÔS€†ß™†p$3º£(v*…j¥‚êÕ«­à "Î5ôôì€çÌ^jã‡;ø!t˜ßÓ28žL‚:–LênJpìÐ!%¹ c½ü²ŽÚ¬ ß“I‰!ÛFÄ0àŠÑ(¶*¤lRJ”J%ììì$–––žÀã’=au«\»î³ÞÔÞm¹©¹ãq:÷öjÇj% Š;yRJôÆã‰p8Œ¾þ~¬¯­íþNˆ8–ß?^¿ÛR„iî:qcôÐ °'ž€qêøñã`““ú´o| tr¦›6Á4a¿òŠž¿èÒu*%b• Ž¶)ÅV4Ššmc£Vƒ”[[[ „$c³?ôƒ?xáÁ"‘GšÕt;êx§û;‰ÅvID¡îy7YˆúUv¿V«¡R©$ô€–mÀ·z¡i‹÷HÕjz᧟÷?—ÖÖ ––Àææ ––`f³0ßö6°Ã‡Aš”–ˆa€NMÁð@†sXÄ⢯HB _)pãG0Ø]¶ÛÜþ=l &†¡[½½ á°ž‚k²0!õ«P¿‰¨{*rÃÖ×õ)¨V…@Úq°*f8¸DAܶ«X[ÓíKÎõ{ƒïý Ãa°Db³Ò~õUßd!³VCBL IÆPB‹‘J‰õõu¦™0 #¨<ŠpÇÀL·°½Sà^63¦™n.Û [[wü‰7 ßG)6ÝAÎy]ÀqH+Bàºmã¨mcÒÖ º •Í¾rEwItë°i ‰„B`SSuÅbH [½kÑGM`Œ<Í9– wQª£ÇÁÊÊ b==ÉoÿÖo=ÿ—ÿù?]G î Р= k‘ï^7{smøûƒ^'€RÌÁ•ì–•rƒƒƒPœ£··Ùl°-®Ù6‚CÑ(úc±½QÀ½ÜèEY–&Ù¶¿èg¿ mÛkk°_y$íé?v¬%ÐÉIÏ?¿«cðÚk¾@ —RçåP¥ðJ­†! •‚U«¡\©$cAð¨@}fÞû²¡à­êx?ŠD@£QО-èÑäL½”¢ß½(P§çóyŒŽŽV8çE>Ÿ8n§`UÜ ‡ñô‘#8zü8z{÷F!÷Bv¬>)™Ëé6^©¤÷x„ïo«ÿ¿ªTôD?4lh5çömÀ0@8‡üÉ'A{{÷¦ à…ôg(%ðúëm·.׋ÁÐ*Ê0Mä”BÞ]‰^t?ëÍ DÂáä?ù¾ï»ðý‡ÿÕ`¿{ö]nK¢Ñ]QÆîpÂPC €6tªÕ*j–•†aØÎfmllŠJa@jb¹çŸÇÄñã{AÈsêÆ“ßsîN@ƒÎŸ²,½ßЀbQÓ¦½‘gﶞ£ZD: çömÈÕU_½{PÅ"œ›7õcÚ6P«?®—²4ÌCp,™„饶­åسٮ¢" ÎqFJ,;–WVÌ£ /.,ÌþäûÞwáWí×xkÍ{êï§Ñx\3ëÂœ{|Ð}#¹»¼Ônx …B!M)MsÃ@(ŠrÎŽã@)…õJ›‘²É$Ì·¿ý­ym[ƒ@>¿ »À¶áܾ úòË°_~YW÷}nE®ƒ€+ZªVÁOÙ ¡X"óÅõs©Vá\¹Òuo0Éž6 ÜvÜÕiRJ¬®®@¢¯¿öïÿùÿ¿½/ r$»®;ï½L,U…­öèêêîêžžžê’Í°,zD‰!‡?¬-+&ô¥PøO’­`ø[ŸÖlK”>úbŒ$2ÂVÈ+$Ë&iIì&‡=3äLïKm¨½P¨ Kf¾Å/3‘…P@õVÕ7Ñ3…Hä;ï.çžû«WÃ|ÀI€±±±l>Ÿ÷ÿ?NˆÿxÖF¢Q?ˆ6í´!>oäÍÂÔää'ÑX ñ¾¾ÙX,–ÝÛÛ”ËeÿñÔÎÝ4µFB»6é qvꔺxÎà‹‹‡*þx@¢ööÀ=Òéʪ“7ßní ¼óŽfV*P´¬°4'[/š&¶¥DU)|jÛ(º °¾¾ŽÅÅÅl2™ ó'¾òî»W£Ñh.˜È0†Œg?VŒ¤«ävÕÅãÚhqH öaL&“ÉVk5 £R©ä#:¸à¼P€}ïì7*DÝvüþNb1-}æµýöÚûoº”gúõÉ$ȇjÅŸ®‰ªZ…XXГ¥„’æ믃ŽŽîã¾>gÎ4f/:øü|Kºu0ÔÊÞPuÇ—ÝR WW0ŸÏc`` ÷›ï½wõÛ|z'8çY’õ˜€ ÎýP+xÊI@'u]ív§æR çRÊ\½^Ï)¥1M8Á_Y}ãj• H01×M¢/A é4H:­±aìÓö'îótd¤5H˜Kz¢>Í×¹}ªTê:1(òyØî«R Æë¯ÃÈåt)Õ 9H?Œsçüvnå8ºy¨MîÁHrÖ0PF±­ŠRbÎq ”B¹TBak+›J¥B/à$ÀêÊ <7nÜ?H)rÓíS¢û‹éG÷°`)ðÜ’¥Þ™²õz=Ë9G4…¸¹•”¨-/£\© ôà¢ÞÂïÕphà.ZšÉ4zÿÝ̼÷½H"šÉ€MMi¡Ïñq-žJéÚ±@Ói‹µë®çàwïêp ¨Õ ¡j5ÈR ‘­-¨·ß†qæLcb3c¾¼˜ª×ýp@¬®vü­â„`Æ0ðN$â"ÛÐ`‹ååeH)Ã^“ »»»°-¤@ŒRÄܶÛö©Àû‰èÀZ­’.¡'Cé¾Á¦»»»¨T*8þm¥P(—QÛÕ*Æž€N p=bšº4gš\Pó<–ÍjÈåÀ&&`œ;69 :4ÔØ¡]7œû~~ï^w9h¹6±¼ U©øÃVT­óÒ¥– ··!‹E¨½==%©ÃHöŒ›˜‹œ£ „?l¤\.g××Ö®ü‡ßýÝïüÑ·¾‚ÀIËíoþÑÛv>E*°ÿù©èà`ãÆmª]ï+¤Û,„ÈGQ*o’å®–àªXpK[J÷õÙ:ôþ«Jr}bnN+¹”Í×_‡ùÖ[0_{M'í<H$´öŸw ¸ÿЬ}У’;;Pwïꊂã€0ãµ×tƒ•vб1˜¯½æIStÔ𪳆»¦‰Žƒ’û› Äâñìýû÷¯üÇßû½«ÿåÿ8Ìœ$h¦Ñ•Ûþ¤¨Àír}}º)htt`@Ë`7”W¦lõ)•½½¥I!P¨Õ–(Íî¸7ë–¸ï8x`š8eOÄ èæz)ËÒw2‘ÜÜÔ‹Ú0`¾ñFcqA€À0`øÝ»:1Ø%¨Jbn–û0M­,ì²I4 6= óòe-òZ.C,/w$ EdÃiÃÀ¤aè!#^¯ÀÚúúú²fØ+pò '-€n’|½ŒÕöjäM7ž7¢‹Žƒ MèÎ@Óý·î~–”“SSY!¦2™ü?úè:rÐC1QS 8ÇÇÁYÃxr^@·Xà8P»»P÷ïCq‰€˜&ŒW_õˆOÌÎúZƒ0 ðÛ·!‹Å®iƪVÓ„‘ˆ®ªD"0fg} 0fg!WW!Ö×µçpHâqŒR¼jšXˆÅP°æ8Rêù‹‹0 #÷/¿úÕ«ÿëoÿ6ôN ô¤ÐM’ï¢ûÞJŸ Òú"ø­[ºlÜR• øƒH"À4}eaOGÀxõU‹‹za¥ÒÑ HRŠWL›„`K)T”ÂŽ›h­V«(•ËÙQ!B/à${µº0âIdw3Ķ!‹EŒj4B’I°±1°±1ðxüŒPŠqÆ0nºk ðâÿl½VËÎkÝ€|È‚2ìzqË‚A¾bÆ0 ôÙ‚€·8GÇßµðúëûØ|¤¯ÆÌ̾Ћߺ¥C¢n=½=ˆû÷aE£º‹iQ7iɲYçσ?xáÍ{è §L8ÇCÇApüÖæ&â±Xî7ß{ï;ßþàƒ0!Ø|ýþàþàØÔ×ßÿß !.Ù.’GÁyÓÄyÓÄL‹ELúú`œ?¯w¬löà ·» 1717§w«CâUšLê›0— €aµšvQóyÑ”]’’ËBøaç±X¬¥ò¯—–——SÈÙ@Ò[25¥PvÇjï¹õíU!° –8ÇšØs‡Œ°§å!8Ž¦ ïÆãZ%÷s(Ä45G``@—m[ƒ…mwÜ­÷]f·OÁ“cAi1wˆ«ÜÞÖIÁCÆŽ1h¡•eαè8X$9ç0M3™J¥RôQî—¿úÕ¿ —ý HvÝ ÜàMÆé ïøðŽƒFÈà ~d2ÀÜܾçâ„`Ú00ÍÆÃŽ»#V*ìííå¶ …Ó§§×Fúû?D­–­ q…)•­ `[JÜrìH‰{†¥~D”¤ÝÁšƒnI”C¤@òÑKHö¹Ü‰AJ1à¾WW ;͇ :×~AÐ=sF“Ü!"üÖ-]ö;db°÷9r{üömð3g`ÌÌø‰GÏ 0/^Ô ](fô+…÷AÐhSJassù¥¥l:C“=µw‘$ÉäþfžNpÈ šNƒŒ€Œ€75cŒaÊ00Á:¸ hŽãdc±Ø•ÊÐPþ‹¿ök×þÇŸÿùwãJå•R_t¤Ì) +•Â®”(K‰œÃpÃæòÒ”bÈ]б@xàåHö€+S6Ê.˜&ÎƃÙe‚QÕëKK°?ùÔìQ¡ƒÀjœ=«ÉGCCpFGaø!ÄǺ¢p8Òë’äò2Äê*عsþû“dÆÙ³0.\€˜Ÿ×$¡*Bý„ á>‚-ÙžÏç‘ÌýöoýÖÕÿúg&O’ph+ð!I@ÒקÅ=Óií^ÒáÖiЉD´7‘Jif`ÓM™ “Œa’1$(EÑõ¶··1°¶–Bd¿ô¥/át2ym¾RÉÏœ>ruËÊ®­¯ë(4IÈ ~?›Bà!–€G‘®Äãø¥˜¢f· ;—Íçܾ 63£ùüéôþëƒe³š`ä¶ÿÚRBݹÓÕ<¹·×˜íX«5À4A³Y˜—.A,,@lmAmn¶ý#¸U”f½År¹Œb1»¸¸˜ —=öå׎}°«2`¦1M½{ÅãÝ%; q™k4“Ù—Æ£®0Θïv;Žƒ½Je±íwVVVÞù¥¯} ·K¥kŸûâ¿ûÎ;ï\?7;›ŸžžF,먅(8JÁ <ê®ÀhÅ}칞Ċ¸é8ø‡zÿÛ¶ñ‰Øè)+¨ù“……öùO üÒ%˜o¾©G…E£Ý¢½–/• šº"i?ØÌ ŒÙY°‰‰Ž¿E££]\J‰••ììì„pÜ y|ö¡eÀn˜~^°8 P´@ÈÀ@ËçG\·ûÓÄ`à{¶¶P(r÷îÞÍ=zø0ÿæ½÷–.þó×Îœ=ûÝd2ù?3™ÌO‡‡‡ ãããH¥RH$èëëC$=‚v £V„À ËÂ'¶%!ÐË5eÛëëëëP‡$P½!¤4“éî:< _‰¨ XØÄŒ‹µÔX€œÔʆÈ+ÓÞêJ•J%ÔëõÜWé—B%áãô\ì–é׋.`‡ÂŸІœ çMLóœcÛ]tœs!²–mg7·¶²ð _þr>‘H\ãœçK¥Ò¬Ãy®V«e)¥CÊ¿äœcbb"kF"9Ùâö6ªÕª×mBc¾’²Û„ä}„RXsÜ·,\` ¯D£HwK6RJïЛ›[[P¶ÝYÚ[Ý;ÐËœFïø2d$×ÃIOÜhïà QŠIÃÀ$cxØ" p¯WÖ¶¬Ð 8Îгu#úù‚öå’I-‡íuÛ5…“Œ!çÞŒ·2a•JBÌ=zäÿs—/çîòå|<ùä_ÿê¯æ*z¬ØÐêê*êõ:êõ:&§¦²Œ±ç<ëضŸ$•R‚R ƘœRJô÷÷g-ËÊ9Ž“­V«B`Õ¶‘7 ¬=È‘«zb}b}jwddäHù“¶¯á\3[%ù×ÍKÀÝ»mõ (Õ¥ˆ·Ø)Á»$à%-vÓïÿ‚ü‹FeÅHh‘슂~JÑßT~ãœÃqT[¨ßÔl»àžûØg?øþ÷³÷îÞÍ-,,doܸ¥ÅE”Ëe8ŽÆ¢Ñ¨/AÎ9‡ašÙr©t¥Z«]1l;Ë9dž«F|V ™&F+‰vu¹º ±´±²¢µÚ‰aP«ªÕt–ßÍô7¿7‰ÇýF,È7A)”¢Rl·øýjõz÷ró!<ë¹ ØM¿ÿãÌh±+‘hTW £mu¢]òR¹ +½Ø/|ùËù_øò—óÝÿ›ï½—Ý)±°°- Ù ”¥Ä=ÇÁ•ÂàÀÌhÛ:´ÞúaÀö6D>‘ÏkÖ^;‰1oñ÷ðýT¥¢CŒÍÍìK?ñêÍh†¨TÚ¾ÿ! m6Ùto…IÀà<–"p/aB/ÇRªãÿsžØ©| :ýAûö䧲Ù댱ëf$’§”j9rÎqòð…À§ñ86 È6"'ûλZ…X[Ó:Õø=Ï©À²ö…-/w&£C±±Ž†”Ë•b¬åîÖÓÀ™žõ4¬û7}lY°Çÿmu³µ.¯ÕÙyq軿ø‹K§gf–2éôRÒeñYJaÞ²p­ZÅ÷¥Ä=ÓD9@óí§» ÉŽâGùÝ8‡*¡ŠÅ¶"šNë’à¹sZ¯ Íù&ÜDà”Ëà -6—Ð8ap( [àqeÁzýÈ „€ã8¨ÕjOý:þ»ßø¼mÛ×-˺Fó¦[×, 66ðO++øQ±ˆE¥`wQAQÕª?\¤}P©{ý{)B)ÈJ²Ã{“X Æô4Œ‹N#X”dÃEÓÄ9ÓD² „°»œwæž“5»i‡†O[øˆŸi¤ÂÝÝ'kYÖ•SSSH&“È:…Ë—/czz:þÂ…¥^bývvõ›ßÌ>zø07:6öÅÂÖVÖ²,0Æ|Ïò,, øȶ1cX)Lö»8ŽŸ±o—,DpêP/V¯ëG;pñTƒ.]‚X\„\Y¯V*7AӱߊD`)…(!¸ã8Ø µ†eÀ“ÏjÇ~ÒE+}r–eéš´mûÁõë×óRÊ¥µÕÕüôéÓG…Ï¿ýv6™L^ÙÛÛ»R­V³;;;ÙJ 1Ͻj÷…À}ÛÆùx‡y¶­+mvPU­êL~©Ôõh±`@V*Õª~m«®ÏhìÔ)g΀OMA,-µTNPŠYÓD„ŸYp®Üsî—¿ò•ïüÝßÿý¯‡pã’'L~jÀ!Ÿé±ÒFò»¹ À¬"ë}ǽ½=lmm@Þqœ¥b1/„@½^LJ~˜WR.ýûßþí¼'”Â9‡eYB€1†X,†þþ~ô÷÷£R­b¯\Îî‹W”RWγÕJ–eÈ;(¥Pr”eáï*! ¤l[ã—»»››]Ûç]”J:ÇP«0ÌÐñq­Ì‹µü M)b®hèCÎq›sp×[Rf påwçw®~ëOþä÷C8†¤½úLÀÇ¡?é$`Ÿ9èÎ1bl_‹js"°\.c}}”Ò¬išÙH$¢Aas„Ò3N†ÜYý”¢"eÇR¦”–eÁ²,”Ëelll€1–5 #k<pU† ”ò™žgà%¹,ËêF™„`˜R|.Ák‘&“K#¤Á~lµ8…ÐU‚.tüÚ~ÿímˆÍMˆÍM°\®­„éï×JBmÍù€‰Hãœc×M!VWW‘L$B8Ž'522’]ZZÚ‡äÑv3¼û ©ÀþgÿípΚ&.¹Òß{JÁqµý€pÕ~šÐãôÙ›r{Ä•,O¹zC”bÊ0ðF$‚×L³õÄ¥&ÀóÄPhSK0ÈJE/ÞŽã½:ÀÎŽVZ[ƒª×õ.ßêºzcÚºà/ŒPŠ™X 3RbY)”Ü$ãîÎê–•ûO_ûÚßÿÆ7¾À1±¯¼ûîU3Éoú´;0Õî&}ÆT`hv'4:Á>‰ B–8Çž”p°_±¦æJ€m¹’`U)a·…^,Jˆß“0Îú=pC¯myä0%bB@3˜çÏØmÑ ÈåeÈ••®tÚ&½á •J[ ÚI$cÓÚX‚œŽD0#%îH‰²K¶, ¶mg‹ÅâKí;àœgì› 8Âzš.{/Çv+4šrUkGö«ëôÐ!´"R( u7{]U "ð‰FY4˜•ÐJ8Ô鳆7#¼jš˜2Œ¸Õ‰h—º‚$ƒqú´nË=sæ ë-äÚÄê*ÄÆFO4àï³³£å2èèhÛ€f2zZ$Òq„9S ®·3nX ÔÏŸlllàÖÍ›apœ¬ç¹€Ý'ž(˜Äã:Ç[OôõÎ ¡ŠV‚¦ šW’Û®P–E)±. î(ì®@) ”"kxÍSmÓ#èâ7MÐñq˜o¾©Å>²ÙÍ:ªZÕTÞÃhÂÝüLÞ Ðd#‹éÞ€‘ŽIΑ‘¥À\€½r+++!'ëy.`×wò“­þ~=€3Ö AG¤öèÎÁcuà `Ï„m7$°Aº¡ƒîyJ¥€×ëRb”‚d20/^„ùÖ[`gδŒ»åî®–õ:Bùï€yZŒµ;?€ŽŽ‚ A Á:"¢B Ê9Hà8Û¶QéDkàÙ[Ïs{ñž`€$“þòŸ‚9IDATñè‘VËyBD¤}^Ãsü-ÈÀŒsçùüçõ¤ 6Š<~ý¾‡Ùí/½Ò\ƒC®%Ñùˆ:–‰R BèñëÁ6ó°/àøõô<ÐÛ±Ÿ1ˆôõår0ΞÕzuTrNâ‘JÁ|åDþça^¾ 65Õú; ¡=WFý±­Íh¶×ßrLS).BC¢”ÿhÜ6äH2k¡ð4o¼^Y€Á›æ1ÊeG‰Ùä$Ì7ÞЊ¶õ:D>ä øq1Ò߯>_yæåˈ\¹Ò:ñçzJ¾N€7 ÊAª‡°£›d-ñŽa¬+à÷ÉdsaŒÁ0ŒŽ“õ<°‡]㉃•;5WÕëcp~úSˆ¥%=Éæ‚Ñc"®VMN¥@‡‡aLOƒår0/]‚ñÊ+`ÓÓm 7ʲÀÀïܘ›ÛŸŒ .à^~—.¹ÊJ¥¡"Ô…ÇØj#ñ´C8Æ@7s•ei}ùJEëô·’«zÒT`0M°±1à­·@ °lüÑ#Mf)üÖYì“R¿·R­«Þßžö±†¡Ë˜É¤ÛÈåô8´³gÁ²Y°\NËžµ m¼É>wîÀ¹}buÕ_èÄ4}~DÏÉÑ.ùªPðU„ö÷¿8p¤ÄçòQ M¹n{G:Ö:0:9 cyYÀö¶ž±W¯7@'9 µ‰Åû[ó¢~Ücƒ ”?æ›$N›š×;þa °^‡ðvÿùùFÙ.˜9BR”xÀtÈçËbQ“†©øÇã ®¤G©à˜%{ž ȹ¯+¯8o/xÒTà¦]‹$“0’I°S§t[l©Ô‚‹Ð[°ÍŸí-êà1ívõà±½¼¯·ÐÜ!Ÿ4™ÔR[ÝÄÄB@¬­Á¹yüνþ=k]Ò|ƒ‰Çmέ1]µgá'%T{Y gAP÷æ&Œ4…nÈ'Iî$©ÐN4óĺYJ‡Z;;««p>ùöõëàóóˆ8¾Ûß«@ˆHíhÀ Ëe¿s]òZ‰Ê< mÆÓèJ”-ω´Žÿ=wù R_6SµÄҜ۷ÁoÝ‚só&Ä£GÛÛûúãp!i”ö“ˆx++‹‹ºòÐåÞ. –y°«2 ¥Z¦;m¯Wÿ¤U_†Eï8PÕª.õ-.‚ß¼ ûãÁïÞõ‡yz¼ß²‹kIÓ#׉¶•Y.C<|~ÿþ¾ÄãáØBÜGað˜@•»)ÃÐýÑhçäU·q=çà·oëfŸX 4‘ÐÔß¾¾ö sM½Ð÷ö ÊeH7oZM—Úvv ˆ¥%½èææ wvžNæ=o@›k,77ÁçæÀçæ ºŒÿÖÕ¤° ø‚TH,¦$­z ©z|nP baA'¥ÒiM?Íd@b1 4Á„›×ë>dòxƒ…:¦ßÜÔ]|‹‹:«¾³Ó€½==¸PÐswwm¼yl÷?“i©7à»ÿkkn¥/yüþÂ悉™n’€Þ˜®vÓj”ã4&Ðv¶ 1?¹¶ÖÈJ·¯ô¦ýɤR`## CCz‚°iêä`_ŸïÞ>`ʲüI6zÇÉzîè‚·OâqÝé65šÉhYhÏoáÇã ©”^ü_ø"ï¼£ÅF›w! ××á|ü±ÖZXY9’û_pV×…€p_OÁÈÈ^¹x1€ãìZìFÂÛ4ÁN‚ùÖ[¾jÜÞWb÷‰͈ŒDt¾"X©8,'AˆVïñ8ñ8èè(ØÄŒ×_×Â#gÏhþQ¶ ¹¶ûÆ XßûøgŸì:ìBuHX«B`#0™)Â0Í|:“Y àX…ô¤³úO‹º›ä„ùê«P»» ‘œ›7uÏ~0¦ôÊuîN¤„Ü‘ØÏ|úðóʧPÚH¬&ºÂ’N7hБÈþJÅaU ·SŒù¤*ØéÓšÑÄûW¶ ‘ÏÃùè#Xßÿ>œŸýL 47 Z©+!0ï8Xà¥ÀëS©b±ØÒ7¾ùÍ/…pŒ «ÉÀ]¨÷hlfB@‡‡Áff&•š ^×ì³ím]/÷JhAuBü²l»'m‡7M]šÑáÒȈæ †øÔæ =€Z>¸I$öó`îuÚ?ù ìüÎÏ~¦‡4Çþž`‡Ý¿¦æ8Çl÷8Ã00•Í"™Læñ’Û±oøe×!@ê=ì€`C‰niHY–&Í Y݇¿¾. (pT­6JpJ5^w¼·jB"½# ékâ2ñØô4Øè¨&,y4ë§M_BKŒ=zçÆ Ø?úœÛ·uÙ¯ ¿ÅóÀªøĶñ3ÇÁšþ=422‚±ÑÑüÅ‹C8ÐT¾y¬{?q©Ã‡ž‹Û«J¥öú~AØÚj@­¦‚=°,ÈrÊm¸‘»»ºöYr<‰-Ïw{îéð°þowÀËåÀ&'AÇÇAºSzR‹k ÎgŸÁþÑ`ø¡îÅ(;.~ÅyKÕ!éºþ7mÛ6æ9Gݽ§cˆD"y3¹öŸßÿ÷C8†pl‘nÕ}¼–ÚrYÓnK% –åß >‹¼Î»ímÝu··×/Z¹µ½‚ ?Ñ,ÉtZ»õ©”Þñ“É 뿧RÝË‚=ÉÄo¹ ~ïìøXÿôO‹‹GƒÈý¾¿pÿ§¶ZnÛ6ŠªÒ@"t:½ôßþê¯~=Ìî¾ íÀÏݼNÀX¬åäÜ}Þ„7ür{[{…ÂAðysÌÛ«¨Òx Hld¤AAö\{¯¹é9šÜÜ„só&ì7º[üA€ ŽúR «Bà3ÛÆ?ZnXV„€·üMÓD.—ÃÐðp>¼iq°çx¶[¹ïcâM°éií5Ø6T©¤ \Öáç'|ÎËi$ZÐÄÚ8"î÷—;;à7oÂùôS½ø»Ñháñxå¾Ol߯×ñ‘»økÄßÄĦOÊŸ¿p!€ã -{iOYìEÂû¸y ^]ü¤³ÑZ¨ Á¶5 GqyS|Ñš»»šèóÙgà÷îéÿ#üŽ^¹ï¦ãà{õ:®[Ö„Äý““8=3“åâÅkøõ¯ÿ~¸ô)ôÜ øæ¾lÖ6ê&áT­ækªrY/d¯$ê-häzkAëëšäsÄ„¨¥æ9ÇO, ŸXÖ›ÿää$fNŸÎ¿õÖ[×þðë_cÿç CÓÂcHx‡ÖÅ¢/!66´€ÈƆn+€×ÝX­êêG;z”6æ8ÔëGöÞ€)ñÈqðƒz?±,, 'èöû‹ÿêýQ¸øOB §<@(áýxæ*©z]·Û¶ÏiZ5hmí x K·ÂÎÂ"Ï(+I‰»Žƒkõ:®Yæ9÷c~`b|§OŸÎ¿ýöÛ×Þ¿z5\ü'zߪ^2 o!ôb­TtY±VÓú}JéÙÍ|À€ç¤j5-â©{°½í€¯*T¯2“‚Nú}lYø?õ:8ªóŠÅbH$ù©©©pñŸ4è‰ „/á}àF?NÃ8÷XOàÒ“•«q耔ûà0U!w!«jµ&–ÕOG°^?–á•¥–8Ç=Î1Ïù¾Åoš&¦²Yœ;wnéÛñáâ?É€À•wÙ€ÍÁª×Áçç¥À>êJ!Þ”P–¥i£++±`/²À9`Y'³éè1ÿ†¸ç8ø̶ñˆsÜs, á‹Å†H$’Ïd2KgÎœ¹þþ7¾–ûN$“IPJQ*•ü~M,sŽU!0mØGc hì…öbš`EüÔ¶q½^ÇOmyαçÊ|ù÷N*…‘áá¥ÿ÷ÿø¥ðªP˜9sëkkØÜÜ„p;¸V…À]ÇÁ¬ã`R¤ÃŒÿ g¶R(J‰ !°#%l/Ü£UKœã“z7m+ÖÞFE159‰Ñ±±åw’`vv6/…Èg7ÖסlK‰;ŽƒÓ¶,cHD"`áo÷B¸õ{R¢ %òB`‘sä9GQJØJér0!¨ºÀ’ã`›s_Ö+¸øÓé4††‡óÓÓÓ!ô`DÃòÙ¯þʯ|çÓO?½²²ºšµÝ87I)þY4ŠÕׇ‹…^ÀI4J!(Ešº»ê8Xq¬rŽ%Î[¥:,%D çÁC__úûû‘J§1==Ùóç¯ýñ·¾ºÿ'Ù€ÿþ7óë_xõÕVvw³›®`Çž”xÈ9~dY2î!ÕèhèŸ#ЬÂ(!HQŠAJ‘¤QW7>´NÛièF£ú_J$  ÿ¿yca N:5ÆðÀqpgsKµVl«B`s”•‚ÐíkÕëñ¾>d³Y¤R©|__ß’"?33ƒÑÑÑkáô äùض+¥ Ý\ÀǶ-)‘$DÐXäÀ~hñ\Ò”bˆ1 RŠXšÁ¤ÙÚËaÏ5¿¾ùÖöÎSuyÏzñÆô“¯Ÿ0¦KR‚2†>ƒB`@ŸR0p7Œ[àŸ:nZîT«X­×±Ë¹^ô]x¢†a`xx‰D"öìÙ¥þþþëùÝþFÆÆòeÛÎÇãñì^µê{÷8|`èi€ëÄ(Ý@gèñs[½^6kç¹ ¤º!0(%¥Ü”bRÜ’óõ:¶ªU8ŽÓò£c`ŒÁ0 ÿßþþ~Œchx8ŸJ¥®}|^Ü€gÿâÊ•Þ{øðÊúææÓ»¯°¦]ö™@7ÀqOCÐâôvï¹ÀµìW ƒî£ÏÝa<`Ul«YÝ—D£Q¤R)Œƒ’¯×ëK«««y·¶Ìà Ξ=‹s³³ù¯‡õýßÉX>38ˆÍBá©Mq•-vâК̻>®Lz'Û°Ò¦˜¦‰t:ñ‰ D£Ñ|,[ŠÇãùH$’ÿ«¿þëp‘¿ìðÚo`an[…ŠÅ"¤” ”ú®!Ð$BcÌï$TJiA‹ç¤”àœƒsþÒ‡~ÆÃðð0âñx~xddipp0ŸJ¥òþ—.ú699y­\*¡¯¯»»»PJRºoª«”Ò† Øû[«ç„˜˜˜Èš‘H@¶¸½jµêB0š[“=ÕâvàÒî¹àóÁcäñét'ËPn¢¯¯£££Í÷÷÷_ Å9ÃÀs³¯¼ûîUÎyvue»»»°,ë`´)%„m§ÕsA£³êš ÓyœÔ?™Lbff³çÏç¿õ§îø!„ZhÏËB:]h¡…Zh¡…Zh¡…Zh¡…Zh¡…Zh¡…Zh¡…Zh¡…Zh¡…Zh¡…Zh¡…Zh¡…Zh¡…Zh¡…Zh¡…Zh¡…Zh¡#ûÿÙ:¬»ÿ˜úåIEND®B`‚bacon-3.0.3/bacon.spec0000644000175000017500000000211612521736710013561 0ustar peterpeterSummary: BaCon - a free BASIC to C converter for Unix-based systems. Name: bacon Version: 3.0.3 Release: 1 License: GPL Group: Development Source: http://www.basic-converter.org/stable/bacon-3.0.3.tar.gz URL: http://www.basic-converter.org Distribution: Redhat Linux 5 Vendor: Peter van Eerten Packager: Peter van Eerten BuildRoot: %{_tmppath}/%{name}-%{version}-%{release} %description BaCon intends to be a programming aid in creating tools which can be compiled on different platforms (including 64bit environments). It tries to revive the days of the good old BASIC. Code converted by BaCon can be compiled by GCC, the Compaq C Compiler, TCC or the clang/LLVM compiler. %prep rm -rf %{_tmppath}/%{name}-%{version}-%{release} %setup %build ./configure --prefix=%{_tmppath}/%{name}-%{version}-%{release}/usr make %install make install %files %doc doc-pak/CHANGES /usr/share/man/man1/bacon.1.gz /usr/bin/bacon /usr/bin/bacon.sh /usr/bin/bacongui /usr/lib/libbacon.a /usr/share/applications/bacongui.desktop /usr/share/pixmaps/BaCon.png /usr/share/enscript/hl/bacon.st bacon-3.0.3/create_rpm_package.bash0000755000175000017500000000060612521736710016263 0ustar peterpeter#!/usr/bin/env bash if [[ $# -eq 0 ]] then echo "Provide location of the original BaCon tar.gz package!" exit fi rm -rf SPECS mkdir SPECS rm -rf BUILD mkdir BUILD rm -rf BUILDROOT mkdir BUILDROOT rm -rf RPMS mkdir RPMS rm -rf SOURCES mkdir SOURCES rm -rf SRPMS mkdir SRPMS cp ./bacon.spec SPECS cp ${1} SOURCES cd SPECS rpmbuild --define "_topdir ${PWD}/.." -bb bacon.spec bacon-3.0.3/Makefile.in0000644000175000017500000000270112521736710013670 0ustar peterpeterprefix = @prefix@ exec_prefix = @exec_prefix@ BINDIR = @bindir@ LIBDIR = @libdir@ DATADIR = $(prefix)/share MANDIR = $(DATADIR)/man STRIP = @STRIP@ INSTALL = @INSTALL@ BSHELL = @BSHELL@ all : bacon bacongui @echo "Run 'make install' to install BaCon on your system." bacon : $(BSHELL) ./bacon.sh -d build bacon.bac $(STRIP) build/bacon bacongui : build/bacon -d build bacongui.bac $(STRIP) build/bacongui install : mkdir -p $(BINDIR) $(INSTALL) build/bacon $(BINDIR) $(INSTALL) build/bacongui $(BINDIR) $(INSTALL) bacon.sh $(BINDIR) mkdir -p $(LIBDIR) $(INSTALL) -m 644 build/libbacon.a $(LIBDIR) mkdir -p $(MANDIR)/man1 $(INSTALL) -m 644 bacon.1 $(MANDIR)/man1 mkdir -p $(DATADIR)/applications $(INSTALL) -m 644 bacongui.desktop $(DATADIR)/applications mkdir -p $(DATADIR)/pixmaps $(INSTALL) -m 644 icons/BaCon.png $(DATADIR)/pixmaps mkdir -p $(DATADIR)/enscript/hl $(INSTALL) -m 644 bacon.st $(DATADIR)/enscript/hl uninstall : rm -f $(BINDIR)/bacon rm -f $(BINDIR)/bacongui rm -f $(BINDIR)/bacon.sh rm -f $(LIBDIR)/libbacon.a rm -f $(MANDIR)/man1/bacon.1 rm -f $(DATADIR)/aplications/bacongui.desktop rm -f $(DATADIR)/pixmaps/BaCon.png rm -f $(DATADIR)/enscript/hl/bacon.st clean : rm -f build/* delete : rm -rf autom4te.cache rm -f build/* config.log config.status Makefile rm -rf BUILD rm -rf BUILDROOT rm -rf RPMS rm -rf SOURCES rm -rf SPECS rm -rf SRPMS bacon-3.0.3/doc-pak/0000755000175000017500000000000012521736710013141 5ustar peterpeterbacon-3.0.3/doc-pak/CHANGES0000644000175000017500000017027712521736710014152 0ustar peterpeter+----------------------------+ | May 1, 2015 - 3.0.3 stable | +----------------------------+ - Imp: COLUMNS/ROWS performance improvement (all versions) - Imp: performance improvements, string handling performance improvements (all versions) - Imp: FREE can handle multiple arguments (all versions) - Fix: DECLARE/LOCAL could not define multiple foreign pointer variables at once (all versions) - Fix: reorganized generated main header file (all versions) - Fix: direct assigned string arrays should be modifiable (all versions) - Fix: code cleaning (all versions) - Fix: cleanup errors shown when using -Wall compiler option (all versions) - Fix: spaces were deleted in string array assignments (Shell version) - Fix: variable type detection went wrong in case of record arrays (all versons) - Fix: SORT did not detect array dimension of global array used in SUB/FUNC (all versions) - Fix: PRINT generated wrong code in case of spaces behind argument (Shell version) - Fix: ALIAS would generate wrong definition in some circumstances (BaCon and BaConGUI version) - Fix: REDIM should work for dynamic arrays created by SPLIT and LOOKUP (all versions) - Fix: COPY could not copy string arrays (all versions) - Fix: a lot of small fixes in generated code (all versions) - Hotfix: BaCon did not work if settings directory does not exist (BaCon version) December 1, 2014 - 3.0.2 stable - New: HOSTNAME$ to get local hostname (all versions) - Imp: better parsing allowing tabs in BaCon code (all versions) - Imp: general performance improvements (BaCon and BaConGUI version) - Imp: renamed Shell to Scratch Pad, improved: context info, tab space (BaConGUI version) - Imp: PROTO can define type of foreign function (all versions) - Imp: added indentation functionality (BaConGUI version) - Imp: more options in PRINT dialog (BaConGUI version) - Imp: option '-z' to allow lowercase BaCon statements and functions (all versions) - Imp: TRACE MONITOR to print values of variables (all versions) - Fix: LET generated wrong code for float assignment (Shell version) - Fix: foreign functions should not be taken as float (all versions) - Fix: RESTORE