[f2j] 28/31: Imported Upstream version 0.8.1+dfsg
Andreas Tille
tille at debian.org
Fri Jan 29 15:35:42 UTC 2016
This is an automated email from the git hooks/post-receive script.
tille pushed a commit to branch master
in repository f2j.
commit 551da38cc740ef744582121b8af0287837654795
Author: Andreas Tille <tille at debian.org>
Date: Fri Jan 29 15:54:12 2016 +0100
Imported Upstream version 0.8.1+dfsg
---
configure | 3643 --------------------------
goto_trans/LICENSE | 53 -
goto_trans/Makefile | 70 -
goto_trans/README | 54 -
goto_trans/byte.c | 1404 ----------
goto_trans/class.c | 948 -------
goto_trans/class.h | 493 ----
goto_trans/dump.c | 292 ---
goto_trans/main.c | 306 ---
goto_trans/make.def.in | 7 -
goto_trans/symtab.c | 130 -
goto_trans/symtab.h | 22 -
libbytecode/configure | 3601 -------------------------
util/org/CVS/Entries | 2 -
util/org/CVS/Repository | 1 -
util/org/CVS/Root | 1 -
util/org/j_paine/CVS/Entries | 1 -
util/org/j_paine/CVS/Repository | 1 -
util/org/j_paine/CVS/Root | 1 -
util/org/j_paine/formatter/CVS/Entries | 17 -
util/org/j_paine/formatter/CVS/Repository | 1 -
util/org/j_paine/formatter/CVS/Root | 1 -
util/org/j_paine/formatter/Formatter.java~ | 1724 ------------
util/org/j_paine/formatter/PrintfFormat.java | 3091 ----------------------
util/org/netlib/CVS/Entries | 1 -
util/org/netlib/CVS/Repository | 1 -
util/org/netlib/CVS/Root | 1 -
util/org/netlib/util/CVS/Entries | 14 -
util/org/netlib/util/CVS/Repository | 1 -
util/org/netlib/util/CVS/Root | 1 -
30 files changed, 15883 deletions(-)
diff --git a/configure b/configure
deleted file mode 100755
index 112bf39..0000000
--- a/configure
+++ /dev/null
@@ -1,3643 +0,0 @@
-#! /bin/sh
-# From configure.in Revision: 1.4 .
-# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.59 for f2j 0.8.1.
-#
-# Report bugs to <f2j at cs.utk.edu>.
-#
-# Copyright (C) 2003 Free Software Foundation, Inc.
-# This configure script is free software; the Free Software Foundation
-# gives unlimited permission to copy, distribute and modify it.
-## --------------------- ##
-## M4sh Initialization. ##
-## --------------------- ##
-
-# Be Bourne compatible
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
- emulate sh
- NULLCMD=:
- # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '${1+"$@"}'='"$@"'
-elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
- set -o posix
-fi
-DUALCASE=1; export DUALCASE # for MKS sh
-
-# Support unset when possible.
-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
- as_unset=unset
-else
- as_unset=false
-fi
-
-
-# Work around bugs in pre-3.0 UWIN ksh.
-$as_unset ENV MAIL MAILPATH
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-for as_var in \
- LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
- LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
- LC_TELEPHONE LC_TIME
-do
- if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
- eval $as_var=C; export $as_var
- else
- $as_unset $as_var
- fi
-done
-
-# Required to use basename.
-if expr a : '\(a\)' >/dev/null 2>&1; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
- as_basename=basename
-else
- as_basename=false
-fi
-
-
-# Name of the executable.
-as_me=`$as_basename "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)$' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X/"$0" |
- sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
- /^X\/\(\/\/\)$/{ s//\1/; q; }
- /^X\/\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
-
-
-# PATH needs CR, and LINENO needs CR and PATH.
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- echo "#! /bin/sh" >conf$$.sh
- echo "exit 0" >>conf$$.sh
- chmod +x conf$$.sh
- if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
- PATH_SEPARATOR=';'
- else
- PATH_SEPARATOR=:
- fi
- rm -f conf$$.sh
-fi
-
-
- as_lineno_1=$LINENO
- as_lineno_2=$LINENO
- as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
- test "x$as_lineno_1" != "x$as_lineno_2" &&
- test "x$as_lineno_3" = "x$as_lineno_2" || {
- # Find who we are. Look in the path if we contain no path at all
- # relative or not.
- case $0 in
- *[\\/]* ) as_myself=$0 ;;
- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-done
-
- ;;
- esac
- # We did not find ourselves, most probably we were run as `sh COMMAND'
- # in which case we are not to be found in the path.
- if test "x$as_myself" = x; then
- as_myself=$0
- fi
- if test ! -f "$as_myself"; then
- { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2
- { (exit 1); exit 1; }; }
- fi
- case $CONFIG_SHELL in
- '')
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for as_base in sh bash ksh sh5; do
- case $as_dir in
- /*)
- if ("$as_dir/$as_base" -c '
- as_lineno_1=$LINENO
- as_lineno_2=$LINENO
- as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
- test "x$as_lineno_1" != "x$as_lineno_2" &&
- test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then
- $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
- $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
- CONFIG_SHELL=$as_dir/$as_base
- export CONFIG_SHELL
- exec "$CONFIG_SHELL" "$0" ${1+"$@"}
- fi;;
- esac
- done
-done
-;;
- esac
-
- # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
- # uniformly replaced by the line number. The first 'sed' inserts a
- # line-number line before each line; the second 'sed' does the real
- # work. The second script uses 'N' to pair each line-number line
- # with the numbered line, and appends trailing '-' during
- # substitution so that $LINENO is not a special case at line end.
- # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
- # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-)
- sed '=' <$as_myself |
- sed '
- N
- s,$,-,
- : loop
- s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
- t loop
- s,-$,,
- s,^['$as_cr_digits']*\n,,
- ' >$as_me.lineno &&
- chmod +x $as_me.lineno ||
- { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
- { (exit 1); exit 1; }; }
-
- # Don't try to exec as it changes $[0], causing all sort of problems
- # (the dirname of $[0] is not the place where we might find the
- # original and so on. Autoconf is especially sensible to this).
- . ./$as_me.lineno
- # Exit status is that of the last command.
- exit
-}
-
-
-case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
- *c*,-n*) ECHO_N= ECHO_C='
-' ECHO_T=' ' ;;
- *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;;
- *) ECHO_N= ECHO_C='\c' ECHO_T= ;;
-esac
-
-if expr a : '\(a\)' >/dev/null 2>&1; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-rm -f conf$$ conf$$.exe conf$$.file
-echo >conf$$.file
-if ln -s conf$$.file conf$$ 2>/dev/null; then
- # We could just check for DJGPP; but this test a) works b) is more generic
- # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
- if test -f conf$$.exe; then
- # Don't use ln at all; we don't have any links
- as_ln_s='cp -p'
- else
- as_ln_s='ln -s'
- fi
-elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
-else
- as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.file
-
-if mkdir -p . 2>/dev/null; then
- as_mkdir_p=:
-else
- test -d ./-p && rmdir ./-p
- as_mkdir_p=false
-fi
-
-as_executable_p="test -f"
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-
-# IFS
-# We need space, tab and new line, in precisely that order.
-as_nl='
-'
-IFS=" $as_nl"
-
-# CDPATH.
-$as_unset CDPATH
-
-
-# Name of the host.
-# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
-# so uname gets run too.
-ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
-
-exec 6>&1
-
-#
-# Initializations.
-#
-ac_default_prefix=/usr/local
-ac_config_libobj_dir=.
-cross_compiling=no
-subdirs=
-MFLAGS=
-MAKEFLAGS=
-SHELL=${CONFIG_SHELL-/bin/sh}
-
-# Maximum number of lines to put in a shell here document.
-# This variable seems obsolete. It should probably be removed, and
-# only ac_max_sed_lines should be used.
-: ${ac_max_here_lines=38}
-
-# Identity of this package.
-PACKAGE_NAME='f2j'
-PACKAGE_TARNAME='f2j'
-PACKAGE_VERSION='0.8.1'
-PACKAGE_STRING='f2j 0.8.1'
-PACKAGE_BUGREPORT='f2j at cs.utk.edu'
-
-ac_unique_file="f2j_TODO.txt"
-ac_subdirs_all="$ac_subdirs_all libbytecode"
-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS F2J_INSTALL_PREFIX subdirs CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT SET_MAKE RANLIB ac_ct_RANLIB AR JAVAC JAVA YACC F2J_VERSION BYTE_DIR F2 [...]
-ac_subst_files=''
-
-# Initialize some variables set by options.
-ac_init_help=
-ac_init_version=false
-# The variables have the same names as the options, with
-# dashes changed to underlines.
-cache_file=/dev/null
-exec_prefix=NONE
-no_create=
-no_recursion=
-prefix=NONE
-program_prefix=NONE
-program_suffix=NONE
-program_transform_name=s,x,x,
-silent=
-site=
-srcdir=
-verbose=
-x_includes=NONE
-x_libraries=NONE
-
-# Installation directory options.
-# These are left unexpanded so users can "make install exec_prefix=/foo"
-# and all the variables that are supposed to be based on exec_prefix
-# by default will actually change.
-# Use braces instead of parens because sh, perl, etc. also accept them.
-bindir='${exec_prefix}/bin'
-sbindir='${exec_prefix}/sbin'
-libexecdir='${exec_prefix}/libexec'
-datadir='${prefix}/share'
-sysconfdir='${prefix}/etc'
-sharedstatedir='${prefix}/com'
-localstatedir='${prefix}/var'
-libdir='${exec_prefix}/lib'
-includedir='${prefix}/include'
-oldincludedir='/usr/include'
-infodir='${prefix}/info'
-mandir='${prefix}/man'
-
-ac_prev=
-for ac_option
-do
- # If the previous option needs an argument, assign it.
- if test -n "$ac_prev"; then
- eval "$ac_prev=\$ac_option"
- ac_prev=
- continue
- fi
-
- ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'`
-
- # Accept the important Cygnus configure options, so we can diagnose typos.
-
- case $ac_option in
-
- -bindir | --bindir | --bindi | --bind | --bin | --bi)
- ac_prev=bindir ;;
- -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
- bindir=$ac_optarg ;;
-
- -build | --build | --buil | --bui | --bu)
- ac_prev=build_alias ;;
- -build=* | --build=* | --buil=* | --bui=* | --bu=*)
- build_alias=$ac_optarg ;;
-
- -cache-file | --cache-file | --cache-fil | --cache-fi \
- | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
- ac_prev=cache_file ;;
- -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
- | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
- cache_file=$ac_optarg ;;
-
- --config-cache | -C)
- cache_file=config.cache ;;
-
- -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
- ac_prev=datadir ;;
- -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
- | --da=*)
- datadir=$ac_optarg ;;
-
- -disable-* | --disable-*)
- ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid feature name: $ac_feature" >&2
- { (exit 1); exit 1; }; }
- ac_feature=`echo $ac_feature | sed 's/-/_/g'`
- eval "enable_$ac_feature=no" ;;
-
- -enable-* | --enable-*)
- ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid feature name: $ac_feature" >&2
- { (exit 1); exit 1; }; }
- ac_feature=`echo $ac_feature | sed 's/-/_/g'`
- case $ac_option in
- *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
- *) ac_optarg=yes ;;
- esac
- eval "enable_$ac_feature='$ac_optarg'" ;;
-
- -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
- | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
- | --exec | --exe | --ex)
- ac_prev=exec_prefix ;;
- -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
- | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
- | --exec=* | --exe=* | --ex=*)
- exec_prefix=$ac_optarg ;;
-
- -gas | --gas | --ga | --g)
- # Obsolete; use --with-gas.
- with_gas=yes ;;
-
- -help | --help | --hel | --he | -h)
- ac_init_help=long ;;
- -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
- ac_init_help=recursive ;;
- -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
- ac_init_help=short ;;
-
- -host | --host | --hos | --ho)
- ac_prev=host_alias ;;
- -host=* | --host=* | --hos=* | --ho=*)
- host_alias=$ac_optarg ;;
-
- -includedir | --includedir | --includedi | --included | --include \
- | --includ | --inclu | --incl | --inc)
- ac_prev=includedir ;;
- -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
- | --includ=* | --inclu=* | --incl=* | --inc=*)
- includedir=$ac_optarg ;;
-
- -infodir | --infodir | --infodi | --infod | --info | --inf)
- ac_prev=infodir ;;
- -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
- infodir=$ac_optarg ;;
-
- -libdir | --libdir | --libdi | --libd)
- ac_prev=libdir ;;
- -libdir=* | --libdir=* | --libdi=* | --libd=*)
- libdir=$ac_optarg ;;
-
- -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
- | --libexe | --libex | --libe)
- ac_prev=libexecdir ;;
- -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
- | --libexe=* | --libex=* | --libe=*)
- libexecdir=$ac_optarg ;;
-
- -localstatedir | --localstatedir | --localstatedi | --localstated \
- | --localstate | --localstat | --localsta | --localst \
- | --locals | --local | --loca | --loc | --lo)
- ac_prev=localstatedir ;;
- -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
- | --localstate=* | --localstat=* | --localsta=* | --localst=* \
- | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
- localstatedir=$ac_optarg ;;
-
- -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
- ac_prev=mandir ;;
- -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
- mandir=$ac_optarg ;;
-
- -nfp | --nfp | --nf)
- # Obsolete; use --without-fp.
- with_fp=no ;;
-
- -no-create | --no-create | --no-creat | --no-crea | --no-cre \
- | --no-cr | --no-c | -n)
- no_create=yes ;;
-
- -no-recursion | --no-recursion | --no-recursio | --no-recursi \
- | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
- no_recursion=yes ;;
-
- -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
- | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
- | --oldin | --oldi | --old | --ol | --o)
- ac_prev=oldincludedir ;;
- -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
- | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
- | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
- oldincludedir=$ac_optarg ;;
-
- -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
- ac_prev=prefix ;;
- -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
- prefix=$ac_optarg ;;
-
- -program-prefix | --program-prefix | --program-prefi | --program-pref \
- | --program-pre | --program-pr | --program-p)
- ac_prev=program_prefix ;;
- -program-prefix=* | --program-prefix=* | --program-prefi=* \
- | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
- program_prefix=$ac_optarg ;;
-
- -program-suffix | --program-suffix | --program-suffi | --program-suff \
- | --program-suf | --program-su | --program-s)
- ac_prev=program_suffix ;;
- -program-suffix=* | --program-suffix=* | --program-suffi=* \
- | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
- program_suffix=$ac_optarg ;;
-
- -program-transform-name | --program-transform-name \
- | --program-transform-nam | --program-transform-na \
- | --program-transform-n | --program-transform- \
- | --program-transform | --program-transfor \
- | --program-transfo | --program-transf \
- | --program-trans | --program-tran \
- | --progr-tra | --program-tr | --program-t)
- ac_prev=program_transform_name ;;
- -program-transform-name=* | --program-transform-name=* \
- | --program-transform-nam=* | --program-transform-na=* \
- | --program-transform-n=* | --program-transform-=* \
- | --program-transform=* | --program-transfor=* \
- | --program-transfo=* | --program-transf=* \
- | --program-trans=* | --program-tran=* \
- | --progr-tra=* | --program-tr=* | --program-t=*)
- program_transform_name=$ac_optarg ;;
-
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil)
- silent=yes ;;
-
- -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
- ac_prev=sbindir ;;
- -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
- | --sbi=* | --sb=*)
- sbindir=$ac_optarg ;;
-
- -sharedstatedir | --sharedstatedir | --sharedstatedi \
- | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
- | --sharedst | --shareds | --shared | --share | --shar \
- | --sha | --sh)
- ac_prev=sharedstatedir ;;
- -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
- | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
- | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
- | --sha=* | --sh=*)
- sharedstatedir=$ac_optarg ;;
-
- -site | --site | --sit)
- ac_prev=site ;;
- -site=* | --site=* | --sit=*)
- site=$ac_optarg ;;
-
- -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
- ac_prev=srcdir ;;
- -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
- srcdir=$ac_optarg ;;
-
- -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
- | --syscon | --sysco | --sysc | --sys | --sy)
- ac_prev=sysconfdir ;;
- -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
- | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
- sysconfdir=$ac_optarg ;;
-
- -target | --target | --targe | --targ | --tar | --ta | --t)
- ac_prev=target_alias ;;
- -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
- target_alias=$ac_optarg ;;
-
- -v | -verbose | --verbose | --verbos | --verbo | --verb)
- verbose=yes ;;
-
- -version | --version | --versio | --versi | --vers | -V)
- ac_init_version=: ;;
-
- -with-* | --with-*)
- ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid package name: $ac_package" >&2
- { (exit 1); exit 1; }; }
- ac_package=`echo $ac_package| sed 's/-/_/g'`
- case $ac_option in
- *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
- *) ac_optarg=yes ;;
- esac
- eval "with_$ac_package='$ac_optarg'" ;;
-
- -without-* | --without-*)
- ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid package name: $ac_package" >&2
- { (exit 1); exit 1; }; }
- ac_package=`echo $ac_package | sed 's/-/_/g'`
- eval "with_$ac_package=no" ;;
-
- --x)
- # Obsolete; use --with-x.
- with_x=yes ;;
-
- -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
- | --x-incl | --x-inc | --x-in | --x-i)
- ac_prev=x_includes ;;
- -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
- | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
- x_includes=$ac_optarg ;;
-
- -x-libraries | --x-libraries | --x-librarie | --x-librari \
- | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
- ac_prev=x_libraries ;;
- -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
- | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
- x_libraries=$ac_optarg ;;
-
- -*) { echo "$as_me: error: unrecognized option: $ac_option
-Try \`$0 --help' for more information." >&2
- { (exit 1); exit 1; }; }
- ;;
-
- *=*)
- ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
- # Reject names that are not valid shell variable names.
- expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid variable name: $ac_envvar" >&2
- { (exit 1); exit 1; }; }
- ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`
- eval "$ac_envvar='$ac_optarg'"
- export $ac_envvar ;;
-
- *)
- # FIXME: should be removed in autoconf 3.0.
- echo "$as_me: WARNING: you should use --build, --host, --target" >&2
- expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
- echo "$as_me: WARNING: invalid host type: $ac_option" >&2
- : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
- ;;
-
- esac
-done
-
-if test -n "$ac_prev"; then
- ac_option=--`echo $ac_prev | sed 's/_/-/g'`
- { echo "$as_me: error: missing argument to $ac_option" >&2
- { (exit 1); exit 1; }; }
-fi
-
-# Be sure to have absolute paths.
-for ac_var in exec_prefix prefix
-do
- eval ac_val=$`echo $ac_var`
- case $ac_val in
- [\\/$]* | ?:[\\/]* | NONE | '' ) ;;
- *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
- { (exit 1); exit 1; }; };;
- esac
-done
-
-# Be sure to have absolute paths.
-for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \
- localstatedir libdir includedir oldincludedir infodir mandir
-do
- eval ac_val=$`echo $ac_var`
- case $ac_val in
- [\\/$]* | ?:[\\/]* ) ;;
- *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
- { (exit 1); exit 1; }; };;
- esac
-done
-
-# There might be people who depend on the old broken behavior: `$host'
-# used to hold the argument of --host etc.
-# FIXME: To remove some day.
-build=$build_alias
-host=$host_alias
-target=$target_alias
-
-# FIXME: To remove some day.
-if test "x$host_alias" != x; then
- if test "x$build_alias" = x; then
- cross_compiling=maybe
- echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
- If a cross compiler is detected then cross compile mode will be used." >&2
- elif test "x$build_alias" != "x$host_alias"; then
- cross_compiling=yes
- fi
-fi
-
-ac_tool_prefix=
-test -n "$host_alias" && ac_tool_prefix=$host_alias-
-
-test "$silent" = yes && exec 6>/dev/null
-
-
-# Find the source files, if location was not specified.
-if test -z "$srcdir"; then
- ac_srcdir_defaulted=yes
- # Try the directory containing this script, then its parent.
- ac_confdir=`(dirname "$0") 2>/dev/null ||
-$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$0" : 'X\(//\)[^/]' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$0" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- srcdir=$ac_confdir
- if test ! -r $srcdir/$ac_unique_file; then
- srcdir=..
- fi
-else
- ac_srcdir_defaulted=no
-fi
-if test ! -r $srcdir/$ac_unique_file; then
- if test "$ac_srcdir_defaulted" = yes; then
- { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2
- { (exit 1); exit 1; }; }
- else
- { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
- { (exit 1); exit 1; }; }
- fi
-fi
-(cd $srcdir && test -r ./$ac_unique_file) 2>/dev/null ||
- { echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2
- { (exit 1); exit 1; }; }
-srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'`
-ac_env_build_alias_set=${build_alias+set}
-ac_env_build_alias_value=$build_alias
-ac_cv_env_build_alias_set=${build_alias+set}
-ac_cv_env_build_alias_value=$build_alias
-ac_env_host_alias_set=${host_alias+set}
-ac_env_host_alias_value=$host_alias
-ac_cv_env_host_alias_set=${host_alias+set}
-ac_cv_env_host_alias_value=$host_alias
-ac_env_target_alias_set=${target_alias+set}
-ac_env_target_alias_value=$target_alias
-ac_cv_env_target_alias_set=${target_alias+set}
-ac_cv_env_target_alias_value=$target_alias
-ac_env_CC_set=${CC+set}
-ac_env_CC_value=$CC
-ac_cv_env_CC_set=${CC+set}
-ac_cv_env_CC_value=$CC
-ac_env_CFLAGS_set=${CFLAGS+set}
-ac_env_CFLAGS_value=$CFLAGS
-ac_cv_env_CFLAGS_set=${CFLAGS+set}
-ac_cv_env_CFLAGS_value=$CFLAGS
-ac_env_LDFLAGS_set=${LDFLAGS+set}
-ac_env_LDFLAGS_value=$LDFLAGS
-ac_cv_env_LDFLAGS_set=${LDFLAGS+set}
-ac_cv_env_LDFLAGS_value=$LDFLAGS
-ac_env_CPPFLAGS_set=${CPPFLAGS+set}
-ac_env_CPPFLAGS_value=$CPPFLAGS
-ac_cv_env_CPPFLAGS_set=${CPPFLAGS+set}
-ac_cv_env_CPPFLAGS_value=$CPPFLAGS
-
-#
-# Report the --help message.
-#
-if test "$ac_init_help" = "long"; then
- # Omit some internal or obsolete options to make the list less imposing.
- # This message is too long to be a string in the A/UX 3.1 sh.
- cat <<_ACEOF
-\`configure' configures f2j 0.8.1 to adapt to many kinds of systems.
-
-Usage: $0 [OPTION]... [VAR=VALUE]...
-
-To assign environment variables (e.g., CC, CFLAGS...), specify them as
-VAR=VALUE. See below for descriptions of some of the useful variables.
-
-Defaults for the options are specified in brackets.
-
-Configuration:
- -h, --help display this help and exit
- --help=short display options specific to this package
- --help=recursive display the short help of all the included packages
- -V, --version display version information and exit
- -q, --quiet, --silent do not print \`checking...' messages
- --cache-file=FILE cache test results in FILE [disabled]
- -C, --config-cache alias for \`--cache-file=config.cache'
- -n, --no-create do not create output files
- --srcdir=DIR find the sources in DIR [configure dir or \`..']
-
-_ACEOF
-
- cat <<_ACEOF
-Installation directories:
- --prefix=PREFIX install architecture-independent files in PREFIX
- [$ac_default_prefix]
- --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
- [PREFIX]
-
-By default, \`make install' will install all the files in
-\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
-an installation prefix other than \`$ac_default_prefix' using \`--prefix',
-for instance \`--prefix=\$HOME'.
-
-For better control, use the options below.
-
-Fine tuning of the installation directories:
- --bindir=DIR user executables [EPREFIX/bin]
- --sbindir=DIR system admin executables [EPREFIX/sbin]
- --libexecdir=DIR program executables [EPREFIX/libexec]
- --datadir=DIR read-only architecture-independent data [PREFIX/share]
- --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
- --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
- --localstatedir=DIR modifiable single-machine data [PREFIX/var]
- --libdir=DIR object code libraries [EPREFIX/lib]
- --includedir=DIR C header files [PREFIX/include]
- --oldincludedir=DIR C header files for non-gcc [/usr/include]
- --infodir=DIR info documentation [PREFIX/info]
- --mandir=DIR man documentation [PREFIX/man]
-_ACEOF
-
- cat <<\_ACEOF
-_ACEOF
-fi
-
-if test -n "$ac_init_help"; then
- case $ac_init_help in
- short | recursive ) echo "Configuration of f2j 0.8.1:";;
- esac
- cat <<\_ACEOF
-
-Optional Packages:
- --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
- --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
- --with-libbytecode-dir=dir directory containing bytecode library
-
-Some influential environment variables:
- CC C compiler command
- CFLAGS C compiler flags
- LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
- nonstandard directory <lib dir>
- CPPFLAGS C/C++ preprocessor flags, e.g. -I<include dir> if you have
- headers in a nonstandard directory <include dir>
-
-Use these variables to override the choices made by `configure' or to help
-it to find libraries and programs with nonstandard names/locations.
-
-Report bugs to <f2j at cs.utk.edu>.
-_ACEOF
-fi
-
-if test "$ac_init_help" = "recursive"; then
- # If there are subdirs, report their specific --help.
- ac_popdir=`pwd`
- for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
- test -d $ac_dir || continue
- ac_builddir=.
-
-if test "$ac_dir" != .; then
- ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
- # A "../" for each directory in $ac_dir_suffix.
- ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
-else
- ac_dir_suffix= ac_top_builddir=
-fi
-
-case $srcdir in
- .) # No --srcdir option. We are building in place.
- ac_srcdir=.
- if test -z "$ac_top_builddir"; then
- ac_top_srcdir=.
- else
- ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
- fi ;;
- [\\/]* | ?:[\\/]* ) # Absolute path.
- ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir ;;
- *) # Relative path.
- ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_builddir$srcdir ;;
-esac
-
-# Do not use `cd foo && pwd` to compute absolute paths, because
-# the directories may not exist.
-case `pwd` in
-.) ac_abs_builddir="$ac_dir";;
-*)
- case "$ac_dir" in
- .) ac_abs_builddir=`pwd`;;
- [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
- *) ac_abs_builddir=`pwd`/"$ac_dir";;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_builddir=${ac_top_builddir}.;;
-*)
- case ${ac_top_builddir}. in
- .) ac_abs_top_builddir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
- *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_srcdir=$ac_srcdir;;
-*)
- case $ac_srcdir in
- .) ac_abs_srcdir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
- *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_srcdir=$ac_top_srcdir;;
-*)
- case $ac_top_srcdir in
- .) ac_abs_top_srcdir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
- *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
- esac;;
-esac
-
- cd $ac_dir
- # Check for guested configure; otherwise get Cygnus style configure.
- if test -f $ac_srcdir/configure.gnu; then
- echo
- $SHELL $ac_srcdir/configure.gnu --help=recursive
- elif test -f $ac_srcdir/configure; then
- echo
- $SHELL $ac_srcdir/configure --help=recursive
- elif test -f $ac_srcdir/configure.ac ||
- test -f $ac_srcdir/configure.in; then
- echo
- $ac_configure --help
- else
- echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
- fi
- cd $ac_popdir
- done
-fi
-
-test -n "$ac_init_help" && exit 0
-if $ac_init_version; then
- cat <<\_ACEOF
-f2j configure 0.8.1
-generated by GNU Autoconf 2.59
-
-Copyright (C) 2003 Free Software Foundation, Inc.
-This configure script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it.
-_ACEOF
- exit 0
-fi
-exec 5>config.log
-cat >&5 <<_ACEOF
-This file contains any messages produced by compilers while
-running configure, to aid debugging if configure makes a mistake.
-
-It was created by f2j $as_me 0.8.1, which was
-generated by GNU Autoconf 2.59. Invocation command line was
-
- $ $0 $@
-
-_ACEOF
-{
-cat <<_ASUNAME
-## --------- ##
-## Platform. ##
-## --------- ##
-
-hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
-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 || echo unknown`
-/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown`
-
-/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
-/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
-/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
-hostinfo = `(hostinfo) 2>/dev/null || echo unknown`
-/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
-/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
-/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
-
-_ASUNAME
-
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- echo "PATH: $as_dir"
-done
-
-} >&5
-
-cat >&5 <<_ACEOF
-
-
-## ----------- ##
-## Core tests. ##
-## ----------- ##
-
-_ACEOF
-
-
-# Keep a trace of the command line.
-# Strip out --no-create and --no-recursion so they do not pile up.
-# Strip out --silent because we don't want to record it for future runs.
-# Also quote any args containing shell meta-characters.
-# Make two passes to allow for proper duplicate-argument suppression.
-ac_configure_args=
-ac_configure_args0=
-ac_configure_args1=
-ac_sep=
-ac_must_keep_next=false
-for ac_pass in 1 2
-do
- for ac_arg
- do
- case $ac_arg in
- -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil)
- continue ;;
- *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
- ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
- esac
- case $ac_pass in
- 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;;
- 2)
- ac_configure_args1="$ac_configure_args1 '$ac_arg'"
- if test $ac_must_keep_next = true; then
- ac_must_keep_next=false # Got value, back to normal.
- else
- case $ac_arg in
- *=* | --config-cache | -C | -disable-* | --disable-* \
- | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
- | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
- | -with-* | --with-* | -without-* | --without-* | --x)
- case "$ac_configure_args0 " in
- "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
- esac
- ;;
- -* ) ac_must_keep_next=true ;;
- esac
- fi
- ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'"
- # Get rid of the leading space.
- ac_sep=" "
- ;;
- esac
- done
-done
-$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; }
-$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; }
-
-# When interrupted or exit'd, cleanup temporary files, and complete
-# config.log. We remove comments because anyway the quotes in there
-# would cause problems or look ugly.
-# WARNING: Be sure not to use single quotes in there, as some shells,
-# such as our DU 5.0 friend, will then `close' the trap.
-trap 'exit_status=$?
- # Save into config.log some information that might help in debugging.
- {
- echo
-
- cat <<\_ASBOX
-## ---------------- ##
-## Cache variables. ##
-## ---------------- ##
-_ASBOX
- echo
- # The following way of writing the cache mishandles newlines in values,
-{
- (set) 2>&1 |
- case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in
- *ac_space=\ *)
- sed -n \
- "s/'"'"'/'"'"'\\\\'"'"''"'"'/g;
- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p"
- ;;
- *)
- sed -n \
- "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
- ;;
- esac;
-}
- echo
-
- cat <<\_ASBOX
-## ----------------- ##
-## Output variables. ##
-## ----------------- ##
-_ASBOX
- echo
- for ac_var in $ac_subst_vars
- do
- eval ac_val=$`echo $ac_var`
- echo "$ac_var='"'"'$ac_val'"'"'"
- done | sort
- echo
-
- if test -n "$ac_subst_files"; then
- cat <<\_ASBOX
-## ------------- ##
-## Output files. ##
-## ------------- ##
-_ASBOX
- echo
- for ac_var in $ac_subst_files
- do
- eval ac_val=$`echo $ac_var`
- echo "$ac_var='"'"'$ac_val'"'"'"
- done | sort
- echo
- fi
-
- if test -s confdefs.h; then
- cat <<\_ASBOX
-## ----------- ##
-## confdefs.h. ##
-## ----------- ##
-_ASBOX
- echo
- sed "/^$/d" confdefs.h | sort
- echo
- fi
- test "$ac_signal" != 0 &&
- echo "$as_me: caught signal $ac_signal"
- echo "$as_me: exit $exit_status"
- } >&5
- rm -f core *.core &&
- rm -rf conftest* confdefs* conf$$* $ac_clean_files &&
- exit $exit_status
- ' 0
-for ac_signal in 1 2 13 15; do
- trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal
-done
-ac_signal=0
-
-# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -rf conftest* confdefs.h
-# AIX cpp loses on an empty file, so make sure it contains at least a newline.
-echo >confdefs.h
-
-# Predefined preprocessor variables.
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_NAME "$PACKAGE_NAME"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_VERSION "$PACKAGE_VERSION"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_STRING "$PACKAGE_STRING"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
-_ACEOF
-
-
-# Let the site file select an alternate cache file if it wants to.
-# Prefer explicitly selected file to automatically selected ones.
-if test -z "$CONFIG_SITE"; then
- if test "x$prefix" != xNONE; then
- CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
- else
- CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
- fi
-fi
-for ac_site_file in $CONFIG_SITE; do
- if test -r "$ac_site_file"; then
- { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
-echo "$as_me: loading site script $ac_site_file" >&6;}
- sed 's/^/| /' "$ac_site_file" >&5
- . "$ac_site_file"
- fi
-done
-
-if test -r "$cache_file"; then
- # Some versions of bash will fail to source /dev/null (special
- # files actually), so we avoid doing that.
- if test -f "$cache_file"; then
- { echo "$as_me:$LINENO: loading cache $cache_file" >&5
-echo "$as_me: loading cache $cache_file" >&6;}
- case $cache_file in
- [\\/]* | ?:[\\/]* ) . $cache_file;;
- *) . ./$cache_file;;
- esac
- fi
-else
- { echo "$as_me:$LINENO: creating cache $cache_file" >&5
-echo "$as_me: creating cache $cache_file" >&6;}
- >$cache_file
-fi
-
-# Check that the precious variables saved in the cache have kept the same
-# value.
-ac_cache_corrupted=false
-for ac_var in `(set) 2>&1 |
- sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do
- eval ac_old_set=\$ac_cv_env_${ac_var}_set
- eval ac_new_set=\$ac_env_${ac_var}_set
- eval ac_old_val="\$ac_cv_env_${ac_var}_value"
- eval ac_new_val="\$ac_env_${ac_var}_value"
- case $ac_old_set,$ac_new_set in
- set,)
- { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
-echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
- ac_cache_corrupted=: ;;
- ,set)
- { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
-echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
- ac_cache_corrupted=: ;;
- ,);;
- *)
- if test "x$ac_old_val" != "x$ac_new_val"; then
- { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
-echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
- { echo "$as_me:$LINENO: former value: $ac_old_val" >&5
-echo "$as_me: former value: $ac_old_val" >&2;}
- { echo "$as_me:$LINENO: current value: $ac_new_val" >&5
-echo "$as_me: current value: $ac_new_val" >&2;}
- ac_cache_corrupted=:
- fi;;
- esac
- # Pass precious variables to config.status.
- if test "$ac_new_set" = set; then
- case $ac_new_val in
- *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
- ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
- *) ac_arg=$ac_var=$ac_new_val ;;
- esac
- case " $ac_configure_args " in
- *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
- *) ac_configure_args="$ac_configure_args '$ac_arg'" ;;
- esac
- fi
-done
-if $ac_cache_corrupted; then
- { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
-echo "$as_me: error: changes in the environment can compromise the build" >&2;}
- { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
-echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
- { (exit 1); exit 1; }; }
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-if test "x$prefix" != xNONE; then
- F2J_INSTALL_PREFIX=${prefix}
-else
- F2J_INSTALL_PREFIX=`pwd`
-fi
-
-
-prefix=$F2J_INSTALL_PREFIX
-
-ac_aux_dir=
-for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do
- if test -f $ac_dir/install-sh; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install-sh -c"
- break
- elif test -f $ac_dir/install.sh; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install.sh -c"
- break
- elif test -f $ac_dir/shtool; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/shtool install -c"
- break
- fi
-done
-if test -z "$ac_aux_dir"; then
- { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&5
-echo "$as_me: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&2;}
- { (exit 1); exit 1; }; }
-fi
-ac_config_guess="$SHELL $ac_aux_dir/config.guess"
-ac_config_sub="$SHELL $ac_aux_dir/config.sub"
-ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure.
-
-
-
-subdirs="$subdirs libbytecode"
-
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-if test -n "$ac_tool_prefix"; then
- for ac_prog in gcc cc ecc xlc
- do
- # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- test -n "$CC" && break
- done
-fi
-if test -z "$CC"; then
- ac_ct_CC=$CC
- for ac_prog in gcc cc ecc xlc
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$ac_ct_CC"; then
- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_CC="$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
- echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-echo "${ECHO_T}$ac_ct_CC" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- test -n "$ac_ct_CC" && break
-done
-
- CC=$ac_ct_CC
-fi
-
-
-test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH
-See \`config.log' for more details." >&5
-echo "$as_me: error: no acceptable C compiler found in \$PATH
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
-
-# Provide some information about the compiler.
-echo "$as_me:$LINENO:" \
- "checking for C compiler version" >&5
-ac_compiler=`set X $ac_compile; echo $2`
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5
- (eval $ac_compiler --version </dev/null >&5) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v </dev/null >&5\"") >&5
- (eval $ac_compiler -v </dev/null >&5) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V </dev/null >&5\"") >&5
- (eval $ac_compiler -V </dev/null >&5) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
-
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.exe b.out"
-# Try to create an executable without -o first, disregard a.out.
-# It will help us diagnose broken compilers, and finding out an intuition
-# of exeext.
-echo "$as_me:$LINENO: checking for C compiler default output file name" >&5
-echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6
-ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
-if { (eval echo "$as_me:$LINENO: \"$ac_link_default\"") >&5
- (eval $ac_link_default) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; then
- # Find the output, starting from the most likely. This scheme is
-# not robust to junk in `.', hence go to wildcards (a.*) only as a last
-# resort.
-
-# Be careful to initialize this variable, since it used to be cached.
-# Otherwise an old cache value of `no' led to `EXEEXT = no' in a Makefile.
-ac_cv_exeext=
-# b.out is created by i960 compilers.
-for ac_file in a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out
-do
- test -f "$ac_file" || continue
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj )
- ;;
- conftest.$ac_ext )
- # This is the source file.
- ;;
- [ab].out )
- # We found the default executable, but exeext='' is most
- # certainly right.
- break;;
- *.* )
- ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
- # FIXME: I believe we export ac_cv_exeext for Libtool,
- # but it would be cool to find out if it's true. Does anybody
- # maintain Libtool? --akim.
- export ac_cv_exeext
- break;;
- * )
- break;;
- esac
-done
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { echo "$as_me:$LINENO: error: C compiler cannot create executables
-See \`config.log' for more details." >&5
-echo "$as_me: error: C compiler cannot create executables
-See \`config.log' for more details." >&2;}
- { (exit 77); exit 77; }; }
-fi
-
-ac_exeext=$ac_cv_exeext
-echo "$as_me:$LINENO: result: $ac_file" >&5
-echo "${ECHO_T}$ac_file" >&6
-
-# Check the compiler produces executables we can run. If not, either
-# the compiler is broken, or we cross compile.
-echo "$as_me:$LINENO: checking whether the C compiler works" >&5
-echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6
-# FIXME: These cross compiler hacks should be removed for Autoconf 3.0
-# If not cross compiling, check that we can run a simple program.
-if test "$cross_compiling" != yes; then
- if { ac_try='./$ac_file'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- cross_compiling=no
- else
- if test "$cross_compiling" = maybe; then
- cross_compiling=yes
- else
- { { echo "$as_me:$LINENO: error: cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
- fi
- fi
-fi
-echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
-
-rm -f a.out a.exe conftest$ac_cv_exeext b.out
-ac_clean_files=$ac_clean_files_save
-# Check the compiler produces executables we can run. If not, either
-# the compiler is broken, or we cross compile.
-echo "$as_me:$LINENO: checking whether we are cross compiling" >&5
-echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6
-echo "$as_me:$LINENO: result: $cross_compiling" >&5
-echo "${ECHO_T}$cross_compiling" >&6
-
-echo "$as_me:$LINENO: checking for suffix of executables" >&5
-echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; then
- # If both `conftest.exe' and `conftest' are `present' (well, observable)
-# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will
-# work properly (i.e., refer to `conftest.exe'), while it won't with
-# `rm'.
-for ac_file in conftest.exe conftest conftest.*; do
- test -f "$ac_file" || continue
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ;;
- *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
- export ac_cv_exeext
- break;;
- * ) break;;
- esac
-done
-else
- { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
-fi
-
-rm -f conftest$ac_cv_exeext
-echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5
-echo "${ECHO_T}$ac_cv_exeext" >&6
-
-rm -f conftest.$ac_ext
-EXEEXT=$ac_cv_exeext
-ac_exeext=$EXEEXT
-echo "$as_me:$LINENO: checking for suffix of object files" >&5
-echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6
-if test "${ac_cv_objext+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.o conftest.obj
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; then
- for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg ) ;;
- *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
- break;;
- esac
-done
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute suffix of object files: cannot compile
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
-fi
-
-rm -f conftest.$ac_cv_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
-echo "${ECHO_T}$ac_cv_objext" >&6
-OBJEXT=$ac_cv_objext
-ac_objext=$OBJEXT
-echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
-echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6
-if test "${ac_cv_c_compiler_gnu+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-#ifndef __GNUC__
- choke me
-#endif
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_compiler_gnu=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_compiler_gnu=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_c_compiler_gnu=$ac_compiler_gnu
-
-fi
-echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
-echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6
-GCC=`test $ac_compiler_gnu = yes && echo yes`
-ac_test_CFLAGS=${CFLAGS+set}
-ac_save_CFLAGS=$CFLAGS
-CFLAGS="-g"
-echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
-echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6
-if test "${ac_cv_prog_cc_g+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_prog_cc_g=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_prog_cc_g=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
-echo "${ECHO_T}$ac_cv_prog_cc_g" >&6
-if test "$ac_test_CFLAGS" = set; then
- CFLAGS=$ac_save_CFLAGS
-elif test $ac_cv_prog_cc_g = yes; then
- if test "$GCC" = yes; then
- CFLAGS="-g -O2"
- else
- CFLAGS="-g"
- fi
-else
- if test "$GCC" = yes; then
- CFLAGS="-O2"
- else
- CFLAGS=
- fi
-fi
-echo "$as_me:$LINENO: checking for $CC option to accept ANSI C" >&5
-echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6
-if test "${ac_cv_prog_cc_stdc+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_cv_prog_cc_stdc=no
-ac_save_CC=$CC
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <stdarg.h>
-#include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
-struct buf { int x; };
-FILE * (*rcsopen) (struct buf *, struct stat *, int);
-static char *e (p, i)
- char **p;
- int i;
-{
- return p[i];
-}
-static char *f (char * (*g) (char **, int), char **p, ...)
-{
- char *s;
- va_list v;
- va_start (v,p);
- s = g (p, va_arg (v,int));
- va_end (v);
- return s;
-}
-
-/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
- function prototypes and stuff, but not '\xHH' hex character constants.
- These don't provoke an error unfortunately, instead are silently treated
- as 'x'. The following induces an error, until -std1 is added to get
- proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an
- array size at least. It's necessary to write '\x00'==0 to get something
- that's true only with -std1. */
-int osf4_cc_array ['\x00' == 0 ? 1 : -1];
-
-int test (int i, double x);
-struct s1 {int (*f) (int a);};
-struct s2 {int (*f) (double a);};
-int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
-int argc;
-char **argv;
-int
-main ()
-{
-return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
- ;
- return 0;
-}
-_ACEOF
-# Don't try gcc -ansi; that turns off useful extensions and
-# breaks some systems' header files.
-# AIX -qlanglvl=ansi
-# Ultrix and OSF/1 -std1
-# HP-UX 10.20 and later -Ae
-# HP-UX older versions -Aa -D_HPUX_SOURCE
-# SVR4 -Xc -D__EXTENSIONS__
-for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
-do
- CC="$ac_save_CC $ac_arg"
- rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_prog_cc_stdc=$ac_arg
-break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext
-done
-rm -f conftest.$ac_ext conftest.$ac_objext
-CC=$ac_save_CC
-
-fi
-
-case "x$ac_cv_prog_cc_stdc" in
- x|xno)
- echo "$as_me:$LINENO: result: none needed" >&5
-echo "${ECHO_T}none needed" >&6 ;;
- *)
- echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5
-echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6
- CC="$CC $ac_cv_prog_cc_stdc" ;;
-esac
-
-# Some people use a C++ compiler to compile C. Since we use `exit',
-# in C++ we need to declare it. In case someone uses the same compiler
-# for both compiling C and C++ we need to have the C++ compiler decide
-# the declaration of exit, since it's the most demanding environment.
-cat >conftest.$ac_ext <<_ACEOF
-#ifndef __cplusplus
- choke me
-#endif
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- for ac_declaration in \
- '' \
- 'extern "C" void std::exit (int) throw (); using std::exit;' \
- 'extern "C" void std::exit (int); using std::exit;' \
- 'extern "C" void exit (int) throw ();' \
- 'extern "C" void exit (int);' \
- 'void exit (int);'
-do
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_declaration
-#include <stdlib.h>
-int
-main ()
-{
-exit (42);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- :
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-continue
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_declaration
-int
-main ()
-{
-exit (42);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-rm -f conftest*
-if test -n "$ac_declaration"; then
- echo '#ifdef __cplusplus' >>confdefs.h
- echo $ac_declaration >>confdefs.h
- echo '#endif' >>confdefs.h
-fi
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-
-echo "$as_me:$LINENO: checking whether byte ordering is bigendian" >&5
-echo $ECHO_N "checking whether byte ordering is bigendian... $ECHO_C" >&6
-if test "${ac_cv_c_bigendian+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- # See if sys/param.h defines the BYTE_ORDER macro.
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <sys/types.h>
-#include <sys/param.h>
-
-int
-main ()
-{
-#if !BYTE_ORDER || !BIG_ENDIAN || !LITTLE_ENDIAN
- bogus endian macros
-#endif
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- # It does; now see whether it defined to BIG_ENDIAN or not.
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <sys/types.h>
-#include <sys/param.h>
-
-int
-main ()
-{
-#if BYTE_ORDER != BIG_ENDIAN
- not big endian
-#endif
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_c_bigendian=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_c_bigendian=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-# It does not; compile a test program.
-if test "$cross_compiling" = yes; then
- # try to guess the endianness by grepping values into an object file
- ac_cv_c_bigendian=unknown
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-short ascii_mm[] = { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
-short ascii_ii[] = { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 };
-void _ascii () { char *s = (char *) ascii_mm; s = (char *) ascii_ii; }
-short ebcdic_ii[] = { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
-short ebcdic_mm[] = { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
-void _ebcdic () { char *s = (char *) ebcdic_mm; s = (char *) ebcdic_ii; }
-int
-main ()
-{
- _ascii (); _ebcdic ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- if grep BIGenDianSyS conftest.$ac_objext >/dev/null ; then
- ac_cv_c_bigendian=yes
-fi
-if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then
- if test "$ac_cv_c_bigendian" = unknown; then
- ac_cv_c_bigendian=no
- else
- # finding both strings is unlikely to happen, but who knows?
- ac_cv_c_bigendian=unknown
- fi
-fi
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-int
-main ()
-{
- /* Are we little or big endian? From Harbison&Steele. */
- union
- {
- long l;
- char c[sizeof (long)];
- } u;
- u.l = 1;
- exit (u.c[sizeof (long) - 1] == 1);
-}
-_ACEOF
-rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_c_bigendian=no
-else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-ac_cv_c_bigendian=yes
-fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_c_bigendian" >&5
-echo "${ECHO_T}$ac_cv_c_bigendian" >&6
-case $ac_cv_c_bigendian in
- yes)
-
-cat >>confdefs.h <<\_ACEOF
-#define WORDS_BIGENDIAN 1
-_ACEOF
- ;;
- no)
- ;;
- *)
- { { echo "$as_me:$LINENO: error: unknown endianness
-presetting ac_cv_c_bigendian=no (or yes) will help" >&5
-echo "$as_me: error: unknown endianness
-presetting ac_cv_c_bigendian=no (or yes) will help" >&2;}
- { (exit 1); exit 1; }; } ;;
-esac
-
-
-echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
-echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6
-set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,:./+-,___p_,'`
-if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.make <<\_ACEOF
-all:
- @echo 'ac_maketemp="$(MAKE)"'
-_ACEOF
-# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
-eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=`
-if test -n "$ac_maketemp"; then
- eval ac_cv_prog_make_${ac_make}_set=yes
-else
- eval ac_cv_prog_make_${ac_make}_set=no
-fi
-rm -f conftest.make
-fi
-if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
- echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
- SET_MAKE=
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
- SET_MAKE="MAKE=${MAKE-make}"
-fi
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_RANLIB+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$RANLIB"; then
- ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-RANLIB=$ac_cv_prog_RANLIB
-if test -n "$RANLIB"; then
- echo "$as_me:$LINENO: result: $RANLIB" >&5
-echo "${ECHO_T}$RANLIB" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
-fi
-if test -z "$ac_cv_prog_RANLIB"; then
- ac_ct_RANLIB=$RANLIB
- # Extract the first word of "ranlib", so it can be a program name with args.
-set dummy ranlib; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$ac_ct_RANLIB"; then
- ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_RANLIB="ranlib"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
- test -z "$ac_cv_prog_ac_ct_RANLIB" && ac_cv_prog_ac_ct_RANLIB=":"
-fi
-fi
-ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
-if test -n "$ac_ct_RANLIB"; then
- echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5
-echo "${ECHO_T}$ac_ct_RANLIB" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- RANLIB=$ac_ct_RANLIB
-else
- RANLIB="$ac_cv_prog_RANLIB"
-fi
-
-# Extract the first word of "ar", so it can be a program name with args.
-set dummy ar; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_path_AR+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- case $AR in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_AR="$AR" # Let the user override the test with a path.
- ;;
- *)
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_path_AR="$as_dir/$ac_word$ac_exec_ext"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
- ;;
-esac
-fi
-AR=$ac_cv_path_AR
-
-if test -n "$AR"; then
- echo "$as_me:$LINENO: result: $AR" >&5
-echo "${ECHO_T}$AR" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
-
-# Extract the first word of "javac", so it can be a program name with args.
-set dummy javac; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_path_JAVAC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- case $JAVAC in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_JAVAC="$JAVAC" # Let the user override the test with a path.
- ;;
- *)
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_path_JAVAC="$as_dir/$ac_word$ac_exec_ext"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
- ;;
-esac
-fi
-JAVAC=$ac_cv_path_JAVAC
-
-if test -n "$JAVAC"; then
- echo "$as_me:$LINENO: result: $JAVAC" >&5
-echo "${ECHO_T}$JAVAC" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
-
-# Extract the first word of "java", so it can be a program name with args.
-set dummy java; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_path_JAVA+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- case $JAVA in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_JAVA="$JAVA" # Let the user override the test with a path.
- ;;
- *)
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_path_JAVA="$as_dir/$ac_word$ac_exec_ext"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
- ;;
-esac
-fi
-JAVA=$ac_cv_path_JAVA
-
-if test -n "$JAVA"; then
- echo "$as_me:$LINENO: result: $JAVA" >&5
-echo "${ECHO_T}$JAVA" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
-
-for ac_prog in 'bison -y' byacc
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_YACC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$YACC"; then
- ac_cv_prog_YACC="$YACC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_YACC="$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-YACC=$ac_cv_prog_YACC
-if test -n "$YACC"; then
- echo "$as_me:$LINENO: result: $YACC" >&5
-echo "${ECHO_T}$YACC" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- test -n "$YACC" && break
-done
-test -n "$YACC" || YACC="yacc"
-
-F2J_VERSION=0.8.1
-
-
-
-# Check whether --with-libbytecode-dir or --without-libbytecode-dir was given.
-if test "${with_libbytecode_dir+set}" = set; then
- withval="$with_libbytecode_dir"
- BYTE_DIR="$with_libbytecode_dir"
-else
- BYTE_DIR="$PWD/libbytecode"
-fi;
-
-
-F2J_PACKAGE_STRING=f2j-0.8.1
-
-
- ac_config_files="$ac_config_files Makefile src/make.def goto_trans/make.def util/make.def"
-
- ac_config_files="$ac_config_files src/f2j-config.h"
-cat >confcache <<\_ACEOF
-# This file is a shell script that caches the results of configure
-# tests run on this system so they can be shared between configure
-# scripts and configure runs, see configure's option --config-cache.
-# It is not useful on other systems. If it contains results you don't
-# want to keep, you may remove or edit it.
-#
-# config.status only pays attention to the cache file if you give it
-# the --recheck option to rerun configure.
-#
-# `ac_cv_env_foo' variables (set or unset) will be overridden when
-# loading this file, other *unset* `ac_cv_foo' will be assigned the
-# following values.
-
-_ACEOF
-
-# The following way of writing the cache mishandles newlines in values,
-# but we know of no workaround that is simple, portable, and efficient.
-# So, don't put newlines in cache variables' values.
-# Ultrix sh set writes to stderr and can't be redirected directly,
-# and sets the high bit in the cache file unless we assign to the vars.
-{
- (set) 2>&1 |
- case `(ac_space=' '; set | grep ac_space) 2>&1` in
- *ac_space=\ *)
- # `set' does not quote correctly, so add quotes (double-quote
- # substitution turns \\\\ into \\, and sed turns \\ into \).
- sed -n \
- "s/'/'\\\\''/g;
- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
- ;;
- *)
- # `set' quotes correctly as required by POSIX, so do not add quotes.
- sed -n \
- "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
- ;;
- esac;
-} |
- sed '
- t clear
- : clear
- s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
- t end
- /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
- : end' >>confcache
-if diff $cache_file confcache >/dev/null 2>&1; then :; else
- if test -w $cache_file; then
- test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file"
- cat confcache >$cache_file
- else
- echo "not updating unwritable cache $cache_file"
- fi
-fi
-rm -f confcache
-
-test "x$prefix" = xNONE && prefix=$ac_default_prefix
-# Let make expand exec_prefix.
-test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-
-# VPATH may cause trouble with some makes, so we remove $(srcdir),
-# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
-# trailing colons and then remove the whole line if VPATH becomes empty
-# (actually we leave an empty line to preserve line numbers).
-if test "x$srcdir" = x.; then
- ac_vpsub='/^[ ]*VPATH[ ]*=/{
-s/:*\$(srcdir):*/:/;
-s/:*\${srcdir}:*/:/;
-s/:*@srcdir@:*/:/;
-s/^\([^=]*=[ ]*\):*/\1/;
-s/:*$//;
-s/^[^=]*=[ ]*$//;
-}'
-fi
-
-# Transform confdefs.h into DEFS.
-# Protect against shell expansion while executing Makefile rules.
-# Protect against Makefile macro expansion.
-#
-# If the first sed substitution is executed (which looks for macros that
-# take arguments), then we branch to the quote section. Otherwise,
-# look for a macro that doesn't take arguments.
-cat >confdef2opt.sed <<\_ACEOF
-t clear
-: clear
-s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\),-D\1=\2,g
-t quote
-s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\),-D\1=\2,g
-t quote
-d
-: quote
-s,[ `~#$^&*(){}\\|;'"<>?],\\&,g
-s,\[,\\&,g
-s,\],\\&,g
-s,\$,$$,g
-p
-_ACEOF
-# We use echo to avoid assuming a particular line-breaking character.
-# The extra dot is to prevent the shell from consuming trailing
-# line-breaks from the sub-command output. A line-break within
-# single-quotes doesn't work because, if this script is created in a
-# platform that uses two characters for line-breaks (e.g., DOS), tr
-# would break.
-ac_LF_and_DOT=`echo; echo .`
-DEFS=`sed -n -f confdef2opt.sed confdefs.h | tr "$ac_LF_and_DOT" ' .'`
-rm -f confdef2opt.sed
-
-
-ac_libobjs=
-ac_ltlibobjs=
-for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
- # 1. Remove the extension, and $U if already installed.
- ac_i=`echo "$ac_i" |
- sed 's/\$U\././;s/\.o$//;s/\.obj$//'`
- # 2. Add them.
- ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext"
- ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo'
-done
-LIBOBJS=$ac_libobjs
-
-LTLIBOBJS=$ac_ltlibobjs
-
-
-
-: ${CONFIG_STATUS=./config.status}
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files $CONFIG_STATUS"
-{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
-echo "$as_me: creating $CONFIG_STATUS" >&6;}
-cat >$CONFIG_STATUS <<_ACEOF
-#! $SHELL
-# Generated by $as_me.
-# Run this file to recreate the current configuration.
-# Compiler output produced by configure, useful for debugging
-# configure, is in config.log if it exists.
-
-debug=false
-ac_cs_recheck=false
-ac_cs_silent=false
-SHELL=\${CONFIG_SHELL-$SHELL}
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF
-## --------------------- ##
-## M4sh Initialization. ##
-## --------------------- ##
-
-# Be Bourne compatible
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
- emulate sh
- NULLCMD=:
- # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '${1+"$@"}'='"$@"'
-elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
- set -o posix
-fi
-DUALCASE=1; export DUALCASE # for MKS sh
-
-# Support unset when possible.
-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
- as_unset=unset
-else
- as_unset=false
-fi
-
-
-# Work around bugs in pre-3.0 UWIN ksh.
-$as_unset ENV MAIL MAILPATH
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-for as_var in \
- LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
- LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
- LC_TELEPHONE LC_TIME
-do
- if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
- eval $as_var=C; export $as_var
- else
- $as_unset $as_var
- fi
-done
-
-# Required to use basename.
-if expr a : '\(a\)' >/dev/null 2>&1; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
- as_basename=basename
-else
- as_basename=false
-fi
-
-
-# Name of the executable.
-as_me=`$as_basename "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)$' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X/"$0" |
- sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
- /^X\/\(\/\/\)$/{ s//\1/; q; }
- /^X\/\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
-
-
-# PATH needs CR, and LINENO needs CR and PATH.
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- echo "#! /bin/sh" >conf$$.sh
- echo "exit 0" >>conf$$.sh
- chmod +x conf$$.sh
- if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
- PATH_SEPARATOR=';'
- else
- PATH_SEPARATOR=:
- fi
- rm -f conf$$.sh
-fi
-
-
- as_lineno_1=$LINENO
- as_lineno_2=$LINENO
- as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
- test "x$as_lineno_1" != "x$as_lineno_2" &&
- test "x$as_lineno_3" = "x$as_lineno_2" || {
- # Find who we are. Look in the path if we contain no path at all
- # relative or not.
- case $0 in
- *[\\/]* ) as_myself=$0 ;;
- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-done
-
- ;;
- esac
- # We did not find ourselves, most probably we were run as `sh COMMAND'
- # in which case we are not to be found in the path.
- if test "x$as_myself" = x; then
- as_myself=$0
- fi
- if test ! -f "$as_myself"; then
- { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5
-echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;}
- { (exit 1); exit 1; }; }
- fi
- case $CONFIG_SHELL in
- '')
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for as_base in sh bash ksh sh5; do
- case $as_dir in
- /*)
- if ("$as_dir/$as_base" -c '
- as_lineno_1=$LINENO
- as_lineno_2=$LINENO
- as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
- test "x$as_lineno_1" != "x$as_lineno_2" &&
- test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then
- $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
- $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
- CONFIG_SHELL=$as_dir/$as_base
- export CONFIG_SHELL
- exec "$CONFIG_SHELL" "$0" ${1+"$@"}
- fi;;
- esac
- done
-done
-;;
- esac
-
- # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
- # uniformly replaced by the line number. The first 'sed' inserts a
- # line-number line before each line; the second 'sed' does the real
- # work. The second script uses 'N' to pair each line-number line
- # with the numbered line, and appends trailing '-' during
- # substitution so that $LINENO is not a special case at line end.
- # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
- # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-)
- sed '=' <$as_myself |
- sed '
- N
- s,$,-,
- : loop
- s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
- t loop
- s,-$,,
- s,^['$as_cr_digits']*\n,,
- ' >$as_me.lineno &&
- chmod +x $as_me.lineno ||
- { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5
-echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;}
- { (exit 1); exit 1; }; }
-
- # Don't try to exec as it changes $[0], causing all sort of problems
- # (the dirname of $[0] is not the place where we might find the
- # original and so on. Autoconf is especially sensible to this).
- . ./$as_me.lineno
- # Exit status is that of the last command.
- exit
-}
-
-
-case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
- *c*,-n*) ECHO_N= ECHO_C='
-' ECHO_T=' ' ;;
- *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;;
- *) ECHO_N= ECHO_C='\c' ECHO_T= ;;
-esac
-
-if expr a : '\(a\)' >/dev/null 2>&1; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-rm -f conf$$ conf$$.exe conf$$.file
-echo >conf$$.file
-if ln -s conf$$.file conf$$ 2>/dev/null; then
- # We could just check for DJGPP; but this test a) works b) is more generic
- # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
- if test -f conf$$.exe; then
- # Don't use ln at all; we don't have any links
- as_ln_s='cp -p'
- else
- as_ln_s='ln -s'
- fi
-elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
-else
- as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.file
-
-if mkdir -p . 2>/dev/null; then
- as_mkdir_p=:
-else
- test -d ./-p && rmdir ./-p
- as_mkdir_p=false
-fi
-
-as_executable_p="test -f"
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-
-# IFS
-# We need space, tab and new line, in precisely that order.
-as_nl='
-'
-IFS=" $as_nl"
-
-# CDPATH.
-$as_unset CDPATH
-
-exec 6>&1
-
-# Open the log real soon, to keep \$[0] and so on meaningful, and to
-# report actual input values of CONFIG_FILES etc. instead of their
-# values after options handling. Logging --version etc. is OK.
-exec 5>>config.log
-{
- echo
- sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
-## Running $as_me. ##
-_ASBOX
-} >&5
-cat >&5 <<_CSEOF
-
-This file was extended by f2j $as_me 0.8.1, which was
-generated by GNU Autoconf 2.59. Invocation command line was
-
- CONFIG_FILES = $CONFIG_FILES
- CONFIG_HEADERS = $CONFIG_HEADERS
- CONFIG_LINKS = $CONFIG_LINKS
- CONFIG_COMMANDS = $CONFIG_COMMANDS
- $ $0 $@
-
-_CSEOF
-echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5
-echo >&5
-_ACEOF
-
-# Files that config.status was made for.
-if test -n "$ac_config_files"; then
- echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS
-fi
-
-if test -n "$ac_config_headers"; then
- echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS
-fi
-
-if test -n "$ac_config_links"; then
- echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS
-fi
-
-if test -n "$ac_config_commands"; then
- echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS
-fi
-
-cat >>$CONFIG_STATUS <<\_ACEOF
-
-ac_cs_usage="\
-\`$as_me' instantiates files from templates according to the
-current configuration.
-
-Usage: $0 [OPTIONS] [FILE]...
-
- -h, --help print this help, then exit
- -V, --version print version number, then exit
- -q, --quiet do not print progress messages
- -d, --debug don't remove temporary files
- --recheck update $as_me by reconfiguring in the same conditions
- --file=FILE[:TEMPLATE]
- instantiate the configuration file FILE
-
-Configuration files:
-$config_files
-
-Report bugs to <bug-autoconf at gnu.org>."
-_ACEOF
-
-cat >>$CONFIG_STATUS <<_ACEOF
-ac_cs_version="\\
-f2j config.status 0.8.1
-configured by $0, generated by GNU Autoconf 2.59,
- with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
-
-Copyright (C) 2003 Free Software Foundation, Inc.
-This config.status script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it."
-srcdir=$srcdir
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF
-# If no file are specified by the user, then we need to provide default
-# value. By we need to know if files were specified by the user.
-ac_need_defaults=:
-while test $# != 0
-do
- case $1 in
- --*=*)
- ac_option=`expr "x$1" : 'x\([^=]*\)='`
- ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'`
- ac_shift=:
- ;;
- -*)
- ac_option=$1
- ac_optarg=$2
- ac_shift=shift
- ;;
- *) # This is not an option, so the user has probably given explicit
- # arguments.
- ac_option=$1
- ac_need_defaults=false;;
- esac
-
- case $ac_option in
- # Handling of the options.
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
- -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
- ac_cs_recheck=: ;;
- --version | --vers* | -V )
- echo "$ac_cs_version"; exit 0 ;;
- --he | --h)
- # Conflict between --help and --header
- { { echo "$as_me:$LINENO: error: ambiguous option: $1
-Try \`$0 --help' for more information." >&5
-echo "$as_me: error: ambiguous option: $1
-Try \`$0 --help' for more information." >&2;}
- { (exit 1); exit 1; }; };;
- --help | --hel | -h )
- echo "$ac_cs_usage"; exit 0 ;;
- --debug | --d* | -d )
- debug=: ;;
- --file | --fil | --fi | --f )
- $ac_shift
- CONFIG_FILES="$CONFIG_FILES $ac_optarg"
- ac_need_defaults=false;;
- --header | --heade | --head | --hea )
- $ac_shift
- CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg"
- ac_need_defaults=false;;
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil | --si | --s)
- ac_cs_silent=: ;;
-
- # This is an error.
- -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1
-Try \`$0 --help' for more information." >&5
-echo "$as_me: error: unrecognized option: $1
-Try \`$0 --help' for more information." >&2;}
- { (exit 1); exit 1; }; } ;;
-
- *) ac_config_targets="$ac_config_targets $1" ;;
-
- esac
- shift
-done
-
-ac_configure_extra_args=
-
-if $ac_cs_silent; then
- exec 6>/dev/null
- ac_configure_extra_args="$ac_configure_extra_args --silent"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
-if \$ac_cs_recheck; then
- echo "running $SHELL $0 " $ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6
- exec $SHELL $0 $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
-fi
-
-_ACEOF
-
-
-
-
-
-cat >>$CONFIG_STATUS <<\_ACEOF
-for ac_config_target in $ac_config_targets
-do
- case "$ac_config_target" in
- # Handling of arguments.
- "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
- "src/make.def" ) CONFIG_FILES="$CONFIG_FILES src/make.def" ;;
- "goto_trans/make.def" ) CONFIG_FILES="$CONFIG_FILES goto_trans/make.def" ;;
- "util/make.def" ) CONFIG_FILES="$CONFIG_FILES util/make.def" ;;
- "src/f2j-config.h" ) CONFIG_FILES="$CONFIG_FILES src/f2j-config.h" ;;
- *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
-echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
- { (exit 1); exit 1; }; };;
- esac
-done
-
-# If the user did not use the arguments to specify the items to instantiate,
-# then the envvar interface is used. Set only those that are not.
-# We use the long form for the default assignment because of an extremely
-# bizarre bug on SunOS 4.1.3.
-if $ac_need_defaults; then
- test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
-fi
-
-# Have a temporary directory for convenience. Make it in the build tree
-# simply because there is no reason to put it here, and in addition,
-# creating and moving files from /tmp can sometimes cause problems.
-# Create a temporary directory, and hook for its removal unless debugging.
-$debug ||
-{
- trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0
- trap '{ (exit 1); exit 1; }' 1 2 13 15
-}
-
-# Create a (secure) tmp directory for tmp files.
-
-{
- tmp=`(umask 077 && mktemp -d -q "./confstatXXXXXX") 2>/dev/null` &&
- test -n "$tmp" && test -d "$tmp"
-} ||
-{
- tmp=./confstat$$-$RANDOM
- (umask 077 && mkdir $tmp)
-} ||
-{
- echo "$me: cannot create a temporary directory in ." >&2
- { (exit 1); exit 1; }
-}
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<_ACEOF
-
-#
-# CONFIG_FILES section.
-#
-
-# No need to generate the scripts if there are no CONFIG_FILES.
-# This happens for instance when ./config.status config.h
-if test -n "\$CONFIG_FILES"; then
- # Protect against being on the right side of a sed subst in config.status.
- sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g;
- s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF
-s, at SHELL@,$SHELL,;t t
-s, at PATH_SEPARATOR@,$PATH_SEPARATOR,;t t
-s, at PACKAGE_NAME@,$PACKAGE_NAME,;t t
-s, at PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t
-s, at PACKAGE_VERSION@,$PACKAGE_VERSION,;t t
-s, at PACKAGE_STRING@,$PACKAGE_STRING,;t t
-s, at PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t
-s, at exec_prefix@,$exec_prefix,;t t
-s, at prefix@,$prefix,;t t
-s, at program_transform_name@,$program_transform_name,;t t
-s, at bindir@,$bindir,;t t
-s, at sbindir@,$sbindir,;t t
-s, at libexecdir@,$libexecdir,;t t
-s, at datadir@,$datadir,;t t
-s, at sysconfdir@,$sysconfdir,;t t
-s, at sharedstatedir@,$sharedstatedir,;t t
-s, at localstatedir@,$localstatedir,;t t
-s, at libdir@,$libdir,;t t
-s, at includedir@,$includedir,;t t
-s, at oldincludedir@,$oldincludedir,;t t
-s, at infodir@,$infodir,;t t
-s, at mandir@,$mandir,;t t
-s, at build_alias@,$build_alias,;t t
-s, at host_alias@,$host_alias,;t t
-s, at target_alias@,$target_alias,;t t
-s, at DEFS@,$DEFS,;t t
-s, at ECHO_C@,$ECHO_C,;t t
-s, at ECHO_N@,$ECHO_N,;t t
-s, at ECHO_T@,$ECHO_T,;t t
-s, at LIBS@,$LIBS,;t t
-s, at F2J_INSTALL_PREFIX@,$F2J_INSTALL_PREFIX,;t t
-s, at subdirs@,$subdirs,;t t
-s, at CC@,$CC,;t t
-s, at CFLAGS@,$CFLAGS,;t t
-s, at LDFLAGS@,$LDFLAGS,;t t
-s, at CPPFLAGS@,$CPPFLAGS,;t t
-s, at ac_ct_CC@,$ac_ct_CC,;t t
-s, at EXEEXT@,$EXEEXT,;t t
-s, at OBJEXT@,$OBJEXT,;t t
-s, at SET_MAKE@,$SET_MAKE,;t t
-s, at RANLIB@,$RANLIB,;t t
-s, at ac_ct_RANLIB@,$ac_ct_RANLIB,;t t
-s, at AR@,$AR,;t t
-s, at JAVAC@,$JAVAC,;t t
-s, at JAVA@,$JAVA,;t t
-s, at YACC@,$YACC,;t t
-s, at F2J_VERSION@,$F2J_VERSION,;t t
-s, at BYTE_DIR@,$BYTE_DIR,;t t
-s, at F2J_PACKAGE_STRING@,$F2J_PACKAGE_STRING,;t t
-s, at LIBOBJS@,$LIBOBJS,;t t
-s, at LTLIBOBJS@,$LTLIBOBJS,;t t
-CEOF
-
-_ACEOF
-
- cat >>$CONFIG_STATUS <<\_ACEOF
- # Split the substitutions into bite-sized pieces for seds with
- # small command number limits, like on Digital OSF/1 and HP-UX.
- ac_max_sed_lines=48
- ac_sed_frag=1 # Number of current file.
- ac_beg=1 # First line for current file.
- ac_end=$ac_max_sed_lines # Line after last line for current file.
- ac_more_lines=:
- ac_sed_cmds=
- while $ac_more_lines; do
- if test $ac_beg -gt 1; then
- sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
- else
- sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
- fi
- if test ! -s $tmp/subs.frag; then
- ac_more_lines=false
- else
- # The purpose of the label and of the branching condition is to
- # speed up the sed processing (if there are no `@' at all, there
- # is no need to browse any of the substitutions).
- # These are the two extra sed commands mentioned above.
- (echo ':t
- /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed
- if test -z "$ac_sed_cmds"; then
- ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed"
- else
- ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed"
- fi
- ac_sed_frag=`expr $ac_sed_frag + 1`
- ac_beg=$ac_end
- ac_end=`expr $ac_end + $ac_max_sed_lines`
- fi
- done
- if test -z "$ac_sed_cmds"; then
- ac_sed_cmds=cat
- fi
-fi # test -n "$CONFIG_FILES"
-
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
-for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue
- # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
- case $ac_file in
- - | *:- | *:-:* ) # input from stdin
- cat >$tmp/stdin
- ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
- *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
- * ) ac_file_in=$ac_file.in ;;
- esac
-
- # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories.
- ac_dir=`(dirname "$ac_file") 2>/dev/null ||
-$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$ac_file" : 'X\(//\)[^/]' \| \
- X"$ac_file" : 'X\(//\)$' \| \
- X"$ac_file" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$ac_file" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- { if $as_mkdir_p; then
- mkdir -p "$ac_dir"
- else
- as_dir="$ac_dir"
- as_dirs=
- while test ! -d "$as_dir"; do
- as_dirs="$as_dir $as_dirs"
- as_dir=`(dirname "$as_dir") 2>/dev/null ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- done
- test ! -n "$as_dirs" || mkdir $as_dirs
- fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
-echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
- { (exit 1); exit 1; }; }; }
-
- ac_builddir=.
-
-if test "$ac_dir" != .; then
- ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
- # A "../" for each directory in $ac_dir_suffix.
- ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
-else
- ac_dir_suffix= ac_top_builddir=
-fi
-
-case $srcdir in
- .) # No --srcdir option. We are building in place.
- ac_srcdir=.
- if test -z "$ac_top_builddir"; then
- ac_top_srcdir=.
- else
- ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
- fi ;;
- [\\/]* | ?:[\\/]* ) # Absolute path.
- ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir ;;
- *) # Relative path.
- ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_builddir$srcdir ;;
-esac
-
-# Do not use `cd foo && pwd` to compute absolute paths, because
-# the directories may not exist.
-case `pwd` in
-.) ac_abs_builddir="$ac_dir";;
-*)
- case "$ac_dir" in
- .) ac_abs_builddir=`pwd`;;
- [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
- *) ac_abs_builddir=`pwd`/"$ac_dir";;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_builddir=${ac_top_builddir}.;;
-*)
- case ${ac_top_builddir}. in
- .) ac_abs_top_builddir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
- *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_srcdir=$ac_srcdir;;
-*)
- case $ac_srcdir in
- .) ac_abs_srcdir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
- *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_srcdir=$ac_top_srcdir;;
-*)
- case $ac_top_srcdir in
- .) ac_abs_top_srcdir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
- *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
- esac;;
-esac
-
-
-
- if test x"$ac_file" != x-; then
- { echo "$as_me:$LINENO: creating $ac_file" >&5
-echo "$as_me: creating $ac_file" >&6;}
- rm -f "$ac_file"
- fi
- # Let's still pretend it is `configure' which instantiates (i.e., don't
- # use $as_me), people would be surprised to read:
- # /* config.h. Generated by config.status. */
- if test x"$ac_file" = x-; then
- configure_input=
- else
- configure_input="$ac_file. "
- fi
- configure_input=$configure_input"Generated from `echo $ac_file_in |
- sed 's,.*/,,'` by configure."
-
- # First look for the input files in the build tree, otherwise in the
- # src tree.
- ac_file_inputs=`IFS=:
- for f in $ac_file_in; do
- case $f in
- -) echo $tmp/stdin ;;
- [\\/$]*)
- # Absolute (can't be DOS-style, as IFS=:)
- test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
-echo "$as_me: error: cannot find input file: $f" >&2;}
- { (exit 1); exit 1; }; }
- echo "$f";;
- *) # Relative
- if test -f "$f"; then
- # Build tree
- echo "$f"
- elif test -f "$srcdir/$f"; then
- # Source tree
- echo "$srcdir/$f"
- else
- # /dev/null tree
- { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
-echo "$as_me: error: cannot find input file: $f" >&2;}
- { (exit 1); exit 1; }; }
- fi;;
- esac
- done` || { (exit 1); exit 1; }
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
- sed "$ac_vpsub
-$extrasub
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
-:t
-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-s, at configure_input@,$configure_input,;t t
-s, at srcdir@,$ac_srcdir,;t t
-s, at abs_srcdir@,$ac_abs_srcdir,;t t
-s, at top_srcdir@,$ac_top_srcdir,;t t
-s, at abs_top_srcdir@,$ac_abs_top_srcdir,;t t
-s, at builddir@,$ac_builddir,;t t
-s, at abs_builddir@,$ac_abs_builddir,;t t
-s, at top_builddir@,$ac_top_builddir,;t t
-s, at abs_top_builddir@,$ac_abs_top_builddir,;t t
-" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out
- rm -f $tmp/stdin
- if test x"$ac_file" != x-; then
- mv $tmp/out $ac_file
- else
- cat $tmp/out
- rm -f $tmp/out
- fi
-
-done
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF
-
-{ (exit 0); exit 0; }
-_ACEOF
-chmod +x $CONFIG_STATUS
-ac_clean_files=$ac_clean_files_save
-
-
-# configure is writing to config.log, and then calls config.status.
-# config.status does its own redirection, appending to config.log.
-# Unfortunately, on DOS this fails, as config.log is still kept open
-# by configure, so config.status won't be able to write to it; its
-# output is simply discarded. So we exec the FD to /dev/null,
-# effectively closing config.log, so it can be properly (re)opened and
-# appended to by config.status. When coming back to configure, we
-# need to make the FD available again.
-if test "$no_create" != yes; then
- ac_cs_success=:
- ac_config_status_args=
- test "$silent" = yes &&
- ac_config_status_args="$ac_config_status_args --quiet"
- exec 5>/dev/null
- $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
- exec 5>>config.log
- # Use ||, not &&, to avoid exiting from the if with $? = 1, which
- # would make configure fail if this is the last instruction.
- $ac_cs_success || { (exit 1); exit 1; }
-fi
-
-#
-# CONFIG_SUBDIRS section.
-#
-if test "$no_recursion" != yes; then
-
- # Remove --cache-file and --srcdir arguments so they do not pile up.
- ac_sub_configure_args=
- ac_prev=
- for ac_arg in $ac_configure_args; do
- if test -n "$ac_prev"; then
- ac_prev=
- continue
- fi
- case $ac_arg in
- -cache-file | --cache-file | --cache-fil | --cache-fi \
- | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
- ac_prev=cache_file ;;
- -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
- | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* \
- | --c=*)
- ;;
- --config-cache | -C)
- ;;
- -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
- ac_prev=srcdir ;;
- -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
- ;;
- -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
- ac_prev=prefix ;;
- -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
- ;;
- *) ac_sub_configure_args="$ac_sub_configure_args $ac_arg" ;;
- esac
- done
-
- # Always prepend --prefix to ensure using the same prefix
- # in subdir configurations.
- ac_sub_configure_args="--prefix=$prefix $ac_sub_configure_args"
-
- ac_popdir=`pwd`
- for ac_dir in : $subdirs; do test "x$ac_dir" = x: && continue
-
- # Do not complain, so a configure script can configure whichever
- # parts of a large source tree are present.
- test -d $srcdir/$ac_dir || continue
-
- { echo "$as_me:$LINENO: configuring in $ac_dir" >&5
-echo "$as_me: configuring in $ac_dir" >&6;}
- { if $as_mkdir_p; then
- mkdir -p "$ac_dir"
- else
- as_dir="$ac_dir"
- as_dirs=
- while test ! -d "$as_dir"; do
- as_dirs="$as_dir $as_dirs"
- as_dir=`(dirname "$as_dir") 2>/dev/null ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- done
- test ! -n "$as_dirs" || mkdir $as_dirs
- fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
-echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
- { (exit 1); exit 1; }; }; }
-
- ac_builddir=.
-
-if test "$ac_dir" != .; then
- ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
- # A "../" for each directory in $ac_dir_suffix.
- ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
-else
- ac_dir_suffix= ac_top_builddir=
-fi
-
-case $srcdir in
- .) # No --srcdir option. We are building in place.
- ac_srcdir=.
- if test -z "$ac_top_builddir"; then
- ac_top_srcdir=.
- else
- ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
- fi ;;
- [\\/]* | ?:[\\/]* ) # Absolute path.
- ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir ;;
- *) # Relative path.
- ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_builddir$srcdir ;;
-esac
-
-# Do not use `cd foo && pwd` to compute absolute paths, because
-# the directories may not exist.
-case `pwd` in
-.) ac_abs_builddir="$ac_dir";;
-*)
- case "$ac_dir" in
- .) ac_abs_builddir=`pwd`;;
- [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
- *) ac_abs_builddir=`pwd`/"$ac_dir";;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_builddir=${ac_top_builddir}.;;
-*)
- case ${ac_top_builddir}. in
- .) ac_abs_top_builddir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
- *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_srcdir=$ac_srcdir;;
-*)
- case $ac_srcdir in
- .) ac_abs_srcdir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
- *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_srcdir=$ac_top_srcdir;;
-*)
- case $ac_top_srcdir in
- .) ac_abs_top_srcdir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
- *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
- esac;;
-esac
-
-
- cd $ac_dir
-
- # Check for guested configure; otherwise get Cygnus style configure.
- if test -f $ac_srcdir/configure.gnu; then
- ac_sub_configure="$SHELL '$ac_srcdir/configure.gnu'"
- elif test -f $ac_srcdir/configure; then
- ac_sub_configure="$SHELL '$ac_srcdir/configure'"
- elif test -f $ac_srcdir/configure.in; then
- ac_sub_configure=$ac_configure
- else
- { echo "$as_me:$LINENO: WARNING: no configuration information is in $ac_dir" >&5
-echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2;}
- ac_sub_configure=
- fi
-
- # The recursion is here.
- if test -n "$ac_sub_configure"; then
- # Make the cache file name correct relative to the subdirectory.
- case $cache_file in
- [\\/]* | ?:[\\/]* ) ac_sub_cache_file=$cache_file ;;
- *) # Relative path.
- ac_sub_cache_file=$ac_top_builddir$cache_file ;;
- esac
-
- { echo "$as_me:$LINENO: running $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_srcdir" >&5
-echo "$as_me: running $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_srcdir" >&6;}
- # The eval makes quoting arguments work.
- eval $ac_sub_configure $ac_sub_configure_args \
- --cache-file=$ac_sub_cache_file --srcdir=$ac_srcdir ||
- { { echo "$as_me:$LINENO: error: $ac_sub_configure failed for $ac_dir" >&5
-echo "$as_me: error: $ac_sub_configure failed for $ac_dir" >&2;}
- { (exit 1); exit 1; }; }
- fi
-
- cd $ac_popdir
- done
-fi
-
diff --git a/goto_trans/LICENSE b/goto_trans/LICENSE
deleted file mode 100644
index 4d58822..0000000
--- a/goto_trans/LICENSE
+++ /dev/null
@@ -1,53 +0,0 @@
-*********************************
-*** JAVAB License Information ***
-*********************************
-***
-*** --- This file is a REQUIRED part of JAVAB ---
-***
-*** This prototype bytecode parallelization tool has been developed
-*** at the Indiana University by Aart J.C. Bik. This software is *not*
-*** in the public domain. However, it is freely available without
-*** fee for education, research, and non-profit purposes. By obtaining
-*** copies of this, you, the Licensee, agree to abide by the following
-*** conditions and understandings with respect to the copyrighted software:
-***
-*** 1. The software is copyrighted by Indiana University (IU) and
-*** Aart J.C. Bik and they retain ownership of the software.
-***
-*** 2. Permission to use and modify this software and its documentation
-*** for education, research, and non-profit purposes is hereby granted to
-*** Licensee, provided that the copyright notice, the original author's
-*** names and unit identification, and this permission notice appear on
-*** all such works, and that no charge be made for such copies.
-***
-*** 3. Any entity desiring permission to incorporate this software into
-*** commercial products should contact:
-***
-*** Dennis Gannon gannon at cs.indiana.edu
-*** 215 Lindley Hall
-*** Department of Computer Science
-*** Indiana University
-*** Bloomington, IN 47405-4101 USA
-***
-*** 4. Licensee may not use the name, logo, or any other symbol of
-*** IU nor the names of any of its employees nor any adaptation thereof
-*** in advertising or publicity pertaining to the software without
-*** specific prior written approval of the IU.
-***
-*** 5. THE COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS ABOUT THE SUITABILITY
-*** OF THE SOFTWARE FOR ANY PURPOSE. IT IS PROVIDED "AS IS" WITHOUT EXPRESS
-*** OR IMPLIED WARRANTY.
-***
-*** 6. The copyright holders shall not be liable for any damages suffered
-*** by Licensee from the use of this software.
-***
-*** 7. The software was developed under agreements between the IU and
-*** the Federal Government which entitle the Government to certain rights.
-***
-*** Your courtesy in mentioning the use of this bytecode compiler in any scientific
-*** work that presents results obtained by using (extensions or modifications
-*** of) this bytecode compiler is highly appreciated.
-***
-*** This project has been supported by DARPA under contract
-*** ARPA F19628-94-C-0057 through a subcontract from Syracuse University
-***
diff --git a/goto_trans/Makefile b/goto_trans/Makefile
deleted file mode 100644
index 0f9f9d3..0000000
--- a/goto_trans/Makefile
+++ /dev/null
@@ -1,70 +0,0 @@
-
-
-# *************
-# *** JAVAB ***
-# ****************************************************
-# *** Copyright (c) 1997 ***
-# *** Aart J.C. Bik Indiana University ***
-# *** All Rights Reserved ***
-# ****************************************************
-# *** Please refer to the LICENSE file distributed ***
-# *** with this software for further details on ***
-# *** the licensing terms and conditions. ***
-# *** ***
-# *** Please, report all bugs, comments, etc. ***
-# *** to: ajcbik at extreme.indiana.edu ***
-# ****************************************************
-# *** Makefile : javab construction
-# ***
-# ***
-# *** Your courtesy in mentioning the use of this bytecode tool
-# *** in any scientific work that presents results obtained
-# *** by using (extensions or modifications of) the tool
-# *** is highly appreciated.
-
-
-include make.def
-
-TARGET = javab
-
-OBJS = byte.o class.o dump.o main.o symtab.o
-
-# Executable
-# **********
-
-$(TARGET): $(OBJS)
- $(CC) $(CFLAGS) -o $(TARGET) $(OBJS)
-
-install: $(TARGET)
- install -d -m 755 $(F2J_BINDIR)
- install -m 755 $(TARGET) $(F2J_BINDIR)
-
-# System Program
-# **************
-
-main.o : main.c class.h
- $(CC) -c $(CFLAGS) main.c
-
-# Modules
-# *******
-
-symtab.o : symtab.c symtab.h
- $(CC) -c $(CFLAGS) symtab.c
-
-byte.o : byte.c class.h
- $(CC) -c $(CFLAGS) byte.c
-
-class.o : class.c class.h
- $(CC) -c $(CFLAGS) class.c
-
-dump.o : dump.c class.h
- $(CC) -c $(CFLAGS) dump.c
-
-# Cleanup
-# *******
-
-clean:
- rm -f $(OBJS)
-
-realclean: clean
- rm -f $(TARGET)
diff --git a/goto_trans/README b/goto_trans/README
deleted file mode 100644
index bd873be..0000000
--- a/goto_trans/README
+++ /dev/null
@@ -1,54 +0,0 @@
-
-*****************************
-*** JAVAB VERSION 1.0BETA ***
-****************************************************
-*** Copyright (c) 1997 ***
-*** Aart J.C. Bik Indiana University ***
-*** All Rights Reserved ***
-****************************************************
-*** Please refer to the LICENSE file distributed ***
-*** with this software for further details on ***
-*** the licensing terms and conditions. ***
-*** ***
-*** Please, report all bugs, comments, etc. ***
-*** to: ajcbik at extreme.indiana.edu ***
-****************************************************
-
-Contents:
---------
-JAVAB : The complete source of JAVAB,
- the LICENSE file, and this README.
-JAVAB/DOC : Documentation of JAVAB (file VERSION summarizes
- changes with respect to previous releases).
-JAVAB/EXAMPLES/SRC
-JAVAB/EXAMPLES/CLASSES : Source and class files of some examples.
-
-
-Note that there are now two Java research tools available at the
-HP-Java page at Indiana University:
-
-*** JAVAR -- A prototype Java restructuring compiler.
-*********
- This restructuring compiler can be used to make loop parallelism
- explicit at *source-code-level* using the multi-threading mechanism of
- the Java programming language. In this tool, however, loop parallelism
- must be identified by the programmer by means of annotations.
-
-*** JAVAB -- A prototype bytecode parallelization tool.
-*********
- This tool can be used to exploit loop parallelism directly at
- *bytecode-level* using the multi-threading mechanism of the JVM.
- In addition, the tool provides some elementary support for the
- automatic *detection* of implicit loop parallelism.
-
-Documentation, manuals, LICENSE information, and the complete
-source of both JAVAR and JAVAB are made available for education,
-research, and non-profit purposes at the HP-Java page:
-
- http://www.extreme.indiana.edu/hpjava/
-
-Please keep in mind that both JAVAR and JAVAB are research
-tools, and not robust commercial products. Anyway, please
-send all your bug reports, but also other comments, experiences,
-or suggestions to: ajcbik at extreme.indiana.edu
-
diff --git a/goto_trans/byte.c b/goto_trans/byte.c
deleted file mode 100644
index 3372e1c..0000000
--- a/goto_trans/byte.c
+++ /dev/null
@@ -1,1404 +0,0 @@
-
-
-/* *************
- *** JAVAB ***
- ****************************************************
- *** Copyright (c) 1997 ***
- *** Aart J.C. Bik Indiana University ***
- *** All Rights Reserved ***
- ****************************************************
- *** Please refer to the LICENSE file distributed ***
- *** with this software for further details on ***
- *** the licensing terms and conditions. ***
- *** ***
- *** Please, report all bugs, comments, etc. ***
- *** to: ajcbik at extreme.indiana.edu ***
- ****************************************************
- *** byte.c : bytecode manipulations
- ***
- ***
- *** Your courtesy in mentioning the use of this bytecode tool
- *** in any scientific work that presents results obtained
- *** by using (extensions or modifications of) the tool
- *** is highly appreciated.
- ***
- *** */
-
-/* ********************************************************
- *** INCLUDE FILES and DEFINITIONS ***
- ******************************************************** */
-
-#include "class.h"
-
-#define CHECK_TABLE
-#define GET_IT(a,b) if (valid_cp_entry((a), entry, (b))) { \
- n = constant_pool[entry] -> u.indices.index2; \
- d = constant_pool[n] -> u.indices.index2; \
- s = constant_pool[d] -> u.utf8.s; \
- } \
- else break;
-#define HAS_TARGET(b) (((b)>=1u)&&((b)<=3u))
-
-/* ********************************************************
- *** EXTERNAL VARIABLES ***
- ******************************************************** */
-
-extern char *filename;
-
-/* global information
- ****************** */
-
-static attribute_ptr att;
-
-static u4_int len;
-static u1_int *byt, opc, bra, exc;
-static u2_int pre, pos;
-static char *mem;
-
-static u1_int is_wide;
-static u1_int is_instm;
-
-static u4_int target, next;
-
-static u2_int glo_sta, glo_pad, glo_loc, glo_stm;
-static s4_int glo_def, glo_npa, glo_low, glo_hig;
-
-static u2_int cur_sp;
-
-static char *thisClassName;
-
-#ifndef TRANS_DEBUG
-#define TRANS_DEBUG 0
-#endif
-
-static int trdebug = TRANS_DEBUG;
-
-static int numChanges;
-
-u4_int u4BigEndian(u4_int);
-char isBigEndian();
-
-/* reaching definitions and uses
- ***************************** */
-
-static char rd_buf[510];
-static char *rd_sig[255]; /* fixed arrays */
-
-/* bytecode table
- ************** */
-
-static struct bytecode_node {
-
- u1_int opcode; /* redundant verify field:
- bytecode[i].opcode == i
- *********************** */
- char *mnemonic;
-
- u1_int operands; /* 9 == lookup */
- u1_int stack_pre; /* 9 == lookup */
- u1_int stack_post; /* 9 == lookup */
- /* *********** */
-
- u1_int exception; /* 0: no exception
- 1: pot. RUN-TIME exception
- 2: pot. RUN-TIME exception + has c.p.-entry
- 3: pot. LINKING exception
- 4: pot. pot. LINKING exception + has c.p.-entry
- *********************************************** */
-
- u1_int branch; /* 0: no branch,
- ---------------------------
- 1: cond. branch + target,
- 2: uncond. branch + target,
- 3: jsr/jsr_w + target,
- ---------------------------
- 4: special + continue next
- 5: special + no-continue next
- ************************************ */
-} bytecode[] = {
-
-/* ***--------------------------------------------> opcode
- **************----------------------------> mnemonic
- **-----------------------> #operands (in bytes)
- **-------------------> stack pre (in words)
- **---------------> stack post (in words)
- **-----------> exception
- **-------> branch */
-/* *** ************** ** ** ** ** ** */
-
- { 0, "nop", 0, 0, 0, 0, 0 },
-
-/* *** ************** ** ** ** ** ** */
-
- { 1, "aconst_null", 0, 0, 1, 0, 0 },
-
-/* *** ************** ** ** ** ** ** */
-
- { 2, "iconst_m1", 0, 0, 1, 0, 0 },
- { 3, "iconst_0", 0, 0, 1, 0, 0 },
- { 4, "iconst_1", 0, 0, 1, 0, 0 },
- { 5, "iconst_2", 0, 0, 1, 0, 0 },
- { 6, "iconst_3", 0, 0, 1, 0, 0 },
- { 7, "iconst_4", 0, 0, 1, 0, 0 },
- { 8, "iconst_5", 0, 0, 1, 0, 0 },
-
-/* *** ************** ** ** ** ** ** */
-
- { 9, "lconst_0", 0, 0, 2, 0, 0 },
- { 10, "lconst_1", 0, 0, 2, 0, 0 },
-
-/* *** ************** ** ** ** ** ** */
-
- { 11, "fconst_0", 0, 0, 1, 0, 0 },
- { 12, "fconst_1", 0, 0, 1, 0, 0 },
- { 13, "fconst_2", 0, 0, 1, 0, 0 },
-
-/* *** ************** ** ** ** ** ** */
-
- { 14, "dconst_0", 0, 0, 2, 0, 0 },
- { 15, "dconst_1", 0, 0, 2, 0, 0 },
-
-/* *** ************** ** ** ** ** ** */
-
- { 16, "bipush", 1, 0, 1, 0, 0 },
- { 17, "sipush", 2, 0, 1, 0, 0 },
-
-/* *** ************** ** ** ** ** ** */
-
- { 18, "ldc", 1, 0, 1, 4, 0 },
- { 19, "ldc_w", 2, 0, 1, 4, 0 },
- { 20, "ldc2_w", 2, 0, 2, 0, 0 },
-
-/* *** ************** ** ** ** ** ** */
-
- { 21, "iload", 1, 0, 1, 0, 0 },
- { 22, "lload", 1, 0, 2, 0, 0 },
- { 23, "fload", 1, 0, 1, 0, 0 },
- { 24, "dload", 1, 0, 2, 0, 0 },
- { 25, "aload", 1, 0, 1, 0, 0 },
-
-/* *** ************** ** ** ** ** ** */
-
- { 26, "iload_0", 0, 0, 1, 0, 0 },
- { 27, "iload_1", 0, 0, 1, 0, 0 },
- { 28, "iload_2", 0, 0, 1, 0, 0 },
- { 29, "iload_3", 0, 0, 1, 0, 0 },
-
-/* *** ************** ** ** ** ** ** */
-
- { 30, "lload_0", 0, 0, 2, 0, 0 },
- { 31, "lload_1", 0, 0, 2, 0, 0 },
- { 32, "lload_2", 0, 0, 2, 0, 0 },
- { 33, "lload_3", 0, 0, 2, 0, 0 },
-
-/* *** ************** ** ** ** ** ** */
-
- { 34, "fload_0", 0, 0, 1, 0, 0 },
- { 35, "fload_1", 0, 0, 1, 0, 0 },
- { 36, "fload_2", 0, 0, 1, 0, 0 },
- { 37, "fload_3", 0, 0, 1, 0, 0 },
-
-/* *** ************** ** ** ** ** ** */
-
- { 38, "dload_0", 0, 0, 2, 0, 0 },
- { 39, "dload_1", 0, 0, 2, 0, 0 },
- { 40, "dload_2", 0, 0, 2, 0, 0 },
- { 41, "dload_3", 0, 0, 2, 0, 0 },
-
-/* *** ************** ** ** ** ** ** */
-
- { 42, "aload_0", 0, 0, 1, 0, 0 },
- { 43, "aload_1", 0, 0, 1, 0, 0 },
- { 44, "aload_2", 0, 0, 1, 0, 0 },
- { 45, "aload_3", 0, 0, 1, 0, 0 },
-
-/* *** ************** ** ** ** ** ** */
-
- { 46, "iaload", 0, 2, 1, 1, 0 },
- { 47, "laload", 0, 2, 2, 1, 0 },
- { 48, "faload", 0, 2, 1, 1, 0 },
- { 49, "daload", 0, 2, 2, 1, 0 },
- { 50, "aaload", 0, 2, 1, 1, 0 },
-
-/* *** ************** ** ** ** ** ** */
-
- { 51, "baload", 0, 2, 1, 1, 0 },
- { 52, "caload", 0, 2, 1, 1, 0 },
- { 53, "saload", 0, 2, 1, 1, 0 },
-
-/* *** ************** ** ** ** ** ** */
-
- { 54, "istore", 1, 1, 0, 0, 0 },
- { 55, "lstore", 1, 2, 0, 0, 0 },
- { 56, "fstore", 1, 1, 0, 0, 0 },
- { 57, "dstore", 1, 2, 0, 0, 0 },
- { 58, "astore", 1, 1, 0, 0, 0 },
-
-/* *** ************** ** ** ** ** ** */
-
- { 59, "istore_0", 0, 1, 0, 0, 0 },
- { 60, "istore_1", 0, 1, 0, 0, 0 },
- { 61, "istore_2", 0, 1, 0, 0, 0 },
- { 62, "istore_3", 0, 1, 0, 0, 0 },
-
-/* *** ************** ** ** ** ** ** */
-
- { 63, "lstore_0", 0, 2, 0, 0, 0 },
- { 64, "lstore_1", 0, 2, 0, 0, 0 },
- { 65, "lstore_2", 0, 2, 0, 0, 0 },
- { 66, "lstore_3", 0, 2, 0, 0, 0 },
-
-/* *** ************** ** ** ** ** ** */
-
- { 67, "fstore_0", 0, 1, 0, 0, 0 },
- { 68, "fstore_1", 0, 1, 0, 0, 0 },
- { 69, "fstore_2", 0, 1, 0, 0, 0 },
- { 70, "fstore_3", 0, 1, 0, 0, 0 },
-
-/* *** ************** ** ** ** ** ** */
-
- { 71, "dstore_0", 0, 2, 0, 0, 0 },
- { 72, "dstore_1", 0, 2, 0, 0, 0 },
- { 73, "dstore_2", 0, 2, 0, 0, 0 },
- { 74, "dstore_3", 0, 2, 0, 0, 0 },
-
-/* *** ************** ** ** ** ** ** */
-
- { 75, "astore_0", 0, 1, 0, 0, 0 },
- { 76, "astore_1", 0, 1, 0, 0, 0 },
- { 77, "astore_2", 0, 1, 0, 0, 0 },
- { 78, "astore_3", 0, 1, 0, 0, 0 },
-
-/* *** ************** ** ** ** ** ** */
-
- { 79, "iastore", 0, 3, 0, 1, 0 },
- { 80, "lastore", 0, 4, 0, 1, 0 },
- { 81, "fastore", 0, 3, 0, 1, 0 },
- { 82, "dastore", 0, 4, 0, 1, 0 },
-
-/* *** ************** ** ** ** ** ** */
-
- { 83, "aastore", 0, 3, 0, 1, 0 },
- { 84, "bastore", 0, 3, 0, 1, 0 },
- { 85, "castore", 0, 3, 0, 1, 0 },
- { 86, "sastore", 0, 3, 0, 1, 0 },
-
-/* *** ************** ** ** ** ** ** */
-
- { 87, "pop", 0, 1, 0, 0, 0 },
- { 88, "pop2", 0, 2, 0, 0, 0 },
-
-/* *** ************** ** ** ** ** ** */
-
- { 89, "dup", 0, 1, 2, 0, 0 },
- { 90, "dup_x1", 0, 2, 3, 0, 0 },
- { 91, "dup_x2", 0, 3, 4, 0, 0 },
- { 92, "dup2", 0, 2, 4, 0, 0 },
- { 93, "dup2_x1", 0, 3, 5, 0, 0 },
- { 94, "dup2_x2", 0, 4, 6, 0, 0 },
-
-/* *** ************** ** ** ** ** ** */
-
- { 95, "swap", 0, 2, 2, 0, 0 },
-
-/* *** ************** ** ** ** ** ** */
-
- { 96, "iadd", 0, 2, 1, 0, 0 },
- { 97, "ladd", 0, 4, 2, 0, 0 },
- { 98, "fadd", 0, 2, 1, 0, 0 },
- { 99, "dadd", 0, 4, 2, 0, 0 },
-
-/* *** ************** ** ** ** ** ** */
-
- { 100, "isub", 0, 2, 1, 0, 0 },
- { 101, "lsub", 0, 4, 2, 0, 0 },
- { 102, "fsub", 0, 2, 1, 0, 0 },
- { 103, "dsub", 0, 4, 2, 0, 0 },
-
-/* *** ************** ** ** ** ** ** */
-
- { 104, "imul", 0, 2, 1, 0, 0 },
- { 105, "lmul", 0, 4, 2, 0, 0 },
- { 106, "fmul", 0, 2, 1, 0, 0 },
- { 107, "dmul", 0, 4, 2, 0, 0 },
-
-/* *** ************** ** ** ** ** ** */
-
- { 108, "idiv", 0, 2, 1, 1, 0 },
- { 109, "ldiv", 0, 4, 2, 1, 0 },
- { 110, "fdiv", 0, 2, 1, 0, 0 },
- { 111, "ddiv", 0, 4, 2, 0, 0 },
-
-/* *** ************** ** ** ** ** ** */
-
- { 112, "irem", 0, 2, 1, 1, 0 },
- { 113, "lrem", 0, 4, 2, 1, 0 },
- { 114, "frem", 0, 2, 1, 0, 0 },
- { 115, "drem", 0, 4, 2, 0, 0 },
-
-/* *** ************** ** ** ** ** ** */
-
- { 116, "ineg", 0, 1, 1, 0, 0 },
- { 117, "lneg", 0, 2, 2, 0, 0 },
- { 118, "fneg", 0, 1, 1, 0, 0 },
- { 119, "dneg", 0, 2, 2, 0, 0 },
-
-/* *** ************** ** ** ** ** ** */
-
- { 120, "ishl", 0, 2, 1, 0, 0 },
- { 121, "lshl", 0, 3, 2, 0, 0 },
- { 122, "ishr", 0, 2, 1, 0, 0 },
- { 123, "lshr", 0, 3, 2, 0, 0 },
- { 124, "iushr", 0, 2, 1, 0, 0 },
- { 125, "lushr", 0, 3, 2, 0, 0 },
-
-/* *** ************** ** ** ** ** ** */
-
- { 126, "iand", 0, 2, 1, 0, 0 },
- { 127, "land", 0, 4, 2, 0, 0 },
-
-/* *** ************** ** ** ** ** ** */
-
- { 128, "ior", 0, 2, 1, 0, 0 },
- { 129, "lor", 0, 4, 2, 0, 0 },
- { 130, "ixor", 0, 2, 1, 0, 0 },
- { 131, "lxor", 0, 4, 2, 0, 0 },
-
-/* *** ************** ** ** ** ** ** */
-
- { 132, "iinc", 2, 0, 0, 0, 0 },
-
-/* *** ************** ** ** ** ** ** */
-
- { 133, "i2l", 0, 1, 2, 0, 0 },
- { 134, "i2f", 0, 1, 1, 0, 0 },
- { 135, "i2d", 0, 1, 2, 0, 0 },
-
-/* *** ************** ** ** ** ** ** */
-
- { 136, "l2i", 0, 2, 1, 0, 0 },
- { 137, "l2f", 0, 2, 1, 0, 0 },
- { 138, "l2d", 0, 2, 2, 0, 0 },
-
-/* *** ************** ** ** ** ** ** */
-
- { 139, "f2i", 0, 1, 1, 0, 0 },
- { 140, "f2l", 0, 1, 2, 0, 0 },
- { 141, "f2d", 0, 1, 2, 0, 0 },
-
-/* *** ************** ** ** ** ** ** */
-
- { 142, "d2i", 0, 2, 1, 0, 0 },
- { 143, "d2l", 0, 2, 2, 0, 0 },
- { 144, "d2f", 0, 2, 1, 0, 0 },
-
-/* *** ************** ** ** ** ** ** */
-
- { 145, "i2b", 0, 1, 1, 0, 0 },
- { 146, "i2c", 0, 1, 1, 0, 0 },
- { 147, "i2s", 0, 1, 1, 0, 0 },
-
-/* *** ************** ** ** ** ** ** */
-
- { 148, "lcmp", 0, 4, 1, 0, 0 },
- { 149, "fcmpl", 0, 2, 1, 0, 0 },
- { 150, "fcmpg", 0, 2, 1, 0, 0 },
- { 151, "dcmpl", 0, 4, 1, 0, 0 },
- { 152, "dcmpg", 0, 4, 1, 0, 0 },
-
-/* *** ************** ** ** ** ** ** */
-
- { 153, "ifeq", 2, 1, 0, 0, 1 },
- { 154, "ifne", 2, 1, 0, 0, 1 },
- { 155, "iflt", 2, 1, 0, 0, 1 },
- { 156, "ifge", 2, 1, 0, 0, 1 },
- { 157, "ifgt", 2, 1, 0, 0, 1 },
- { 158, "ifle", 2, 1, 0, 0, 1 },
-
-/* *** ************** ** ** ** ** ** */
-
- { 159, "if_icmpeq", 2, 2, 0, 0, 1 },
- { 160, "if_icmpne", 2, 2, 0, 0, 1 },
- { 161, "if_icmplt", 2, 2, 0, 0, 1 },
- { 162, "if_icmpge", 2, 2, 0, 0, 1 },
- { 163, "if_icmpgt", 2, 2, 0, 0, 1 },
- { 164, "if_icmple", 2, 2, 0, 0, 1 },
- { 165, "if_acmpeq", 2, 2, 0, 0, 1 },
- { 166, "if_acmpne", 2, 2, 0, 0, 1 },
-
-/* *** ************** ** ** ** ** ** */
-
- { 167, "goto", 2, 0, 0, 0, 2 },
- { 168, "jsr", 2, 0, 1, 0, 3 },
- { 169, "ret", 1, 0, 0, 0, 5 },
-
-/* *** ************** ** ** ** ** ** */
-
- { 170, "tableswitch", 9, 1, 0, 0, 5 },
- { 171, "lookupswitch", 9, 1, 0, 0, 5 },
-
-/* *** ************** ** ** ** ** ** */
-
- { 172, "ireturn", 0, 1, 0, 0, 5 },
- { 173, "lreturn", 0, 2, 0, 0, 5 },
- { 174, "freturn", 0, 1, 0, 0, 5 },
- { 175, "dreturn", 0, 2, 0, 0, 5 },
- { 176, "areturn", 0, 1, 0, 0, 5 },
- { 177, "return", 0, 0, 0, 0, 5 },
-
-/* *** ************** ** ** ** ** ** */
-
- { 178, "getstatic", 2, 0, 9, 4, 0 },
- { 179, "putstatic", 2, 9, 0, 4, 0 },
-
-/* *** ************** ** ** ** ** ** */
-
- { 180, "getfield", 2, 1, 9, 2, 0 },
- { 181, "putfield", 2, 9, 0, 2, 0 },
-
-/* *** ************** ** ** ** ** ** */
-
- { 182, "invokevirtual", 2, 9, 9, 2, 4 },
- { 183, "invokespecial", 2, 9, 9, 2, 4 },
- { 184, "invokestatic", 2, 9, 9, 4, 4 },
- { 185, "invokeinterface",4, 9, 9, 2, 4 },
-
-/* *** ************** ** ** ** ** ** */
-
- { 186, "xxxunusedxxx", 0, 0, 0, 0, 0 },
-
-/* *** ************** ** ** ** ** ** */
-
- { 187, "new", 2, 0, 1, 4, 0 },
- { 188, "newarray", 1, 1, 1, 1, 0 },
- { 189, "anewarray", 2, 1, 1, 2, 0 },
-
-/* *** ************** ** ** ** ** ** */
-
- { 190, "arraylength", 0, 1, 1, 1, 0 },
- { 191, "athrow", 0, 1, 0, 1, 5 },
-
-/* *** ************** ** ** ** ** ** */
-
- { 192, "checkcast", 2, 1, 1, 2, 0 },
- { 193, "instanceof", 2, 1, 1, 4, 0 },
-
-/* *** ************** ** ** ** ** ** */
-
- { 194, "monitorenter", 0, 1, 0, 1, 0 },
- { 195, "monitorexit", 0, 1, 0, 1, 0 },
-
-/* *** ************** ** ** ** ** ** */
-
- { 196, "wide", 0, 0, 0, 0, 0 },
-
-/* *** ************** ** ** ** ** ** */
-
- { 197, "multianewarray", 3, 9, 1, 2, 0 },
-
-/* *** ************** ** ** ** ** ** */
-
- { 198, "ifnull", 2, 1, 0, 0, 1 },
- { 199, "ifnonnull", 2, 1, 0, 0, 1 },
-
-/* *** ************** ** ** ** ** ** */
-
- { 200, "goto_w", 4, 0, 0, 0, 2 },
- { 201, "jsr_w", 4, 0, 1, 0, 3 },
-
-/* *** ************** ** ** ** ** ** */
-
- /* reserved opcode: break */
-
- { 202, "???", 0, 0, 0, 0, 0 },
-
-/* *** ************** ** ** ** ** ** */
-
- /* _quick opcodes */
-
- { 203, "???", 0, 0, 0, 0, 0 },
- { 204, "???", 0, 0, 0, 0, 0 },
- { 205, "???", 0, 0, 0, 0, 0 },
- { 206, "???", 0, 0, 0, 0, 0 },
- { 207, "???", 0, 0, 0, 0, 0 },
- { 208, "???", 0, 0, 0, 0, 0 },
- { 209, "???", 0, 0, 0, 0, 0 },
- { 210, "???", 0, 0, 0, 0, 0 },
- { 211, "???", 0, 0, 0, 0, 0 },
- { 212, "???", 0, 0, 0, 0, 0 },
- { 213, "???", 0, 0, 0, 0, 0 },
- { 214, "???", 0, 0, 0, 0, 0 },
- { 215, "???", 0, 0, 0, 0, 0 },
- { 216, "???", 0, 0, 0, 0, 0 },
- { 217, "???", 0, 0, 0, 0, 0 },
- { 218, "???", 0, 0, 0, 0, 0 },
- { 219, "???", 0, 0, 0, 0, 0 },
- { 220, "???", 0, 0, 0, 0, 0 },
- { 221, "???", 0, 0, 0, 0, 0 },
- { 222, "???", 0, 0, 0, 0, 0 },
- { 223, "???", 0, 0, 0, 0, 0 },
- { 224, "???", 0, 0, 0, 0, 0 },
- { 225, "???", 0, 0, 0, 0, 0 },
- { 226, "???", 0, 0, 0, 0, 0 },
- { 227, "???", 0, 0, 0, 0, 0 },
- { 228, "???", 0, 0, 0, 0, 0 },
-
-/* *** ************** ** ** ** ** ** */
-
- /* unused */
-
- { 229, "???", 0, 0, 0, 0, 0 },
- { 230, "???", 0, 0, 0, 0, 0 },
- { 231, "???", 0, 0, 0, 0, 0 },
- { 232, "???", 0, 0, 0, 0, 0 },
- { 233, "???", 0, 0, 0, 0, 0 },
- { 234, "???", 0, 0, 0, 0, 0 },
- { 235, "???", 0, 0, 0, 0, 0 },
- { 236, "???", 0, 0, 0, 0, 0 },
- { 237, "???", 0, 0, 0, 0, 0 },
- { 238, "???", 0, 0, 0, 0, 0 },
- { 239, "???", 0, 0, 0, 0, 0 },
- { 240, "???", 0, 0, 0, 0, 0 },
- { 241, "???", 0, 0, 0, 0, 0 },
- { 242, "???", 0, 0, 0, 0, 0 },
- { 243, "???", 0, 0, 0, 0, 0 },
- { 244, "???", 0, 0, 0, 0, 0 },
- { 245, "???", 0, 0, 0, 0, 0 },
- { 246, "???", 0, 0, 0, 0, 0 },
- { 247, "???", 0, 0, 0, 0, 0 },
- { 248, "???", 0, 0, 0, 0, 0 },
- { 249, "???", 0, 0, 0, 0, 0 },
- { 250, "???", 0, 0, 0, 0, 0 },
- { 251, "???", 0, 0, 0, 0, 0 },
- { 252, "???", 0, 0, 0, 0, 0 },
- { 253, "???", 0, 0, 0, 0, 0 },
-
-/* *** ************** ** ** ** ** ** */
-
- /* reserved opcodes: impdep1 impdep1 */
-
- { 254, "???", 0, 0, 0, 0, 0 },
- { 255, "???", 0, 0, 0, 0, 0 }
-} ;
-
-
-/* ********************************************************
- *** PRIVATE FUNCTIONS ***
- ******************************************************** */
-
-/* ****************************************
- *** Processing of Method Descriptors ***
- **************************************** */
-
-static u2_int res_width(u1_int *s) {
- u2_int p = 1u;
- u2_int r = 1u;
-
- if ((! s) || (s[0] != '('))
- javab_out(-1, "invalid method descriptor");
-
- while (s[p++] != ')') ;
-
- if (s[p] == 'V')
- r = 0u;
- else if ((s[p] == 'D') || (s[p] == 'J'))
- r = 2u;
-
- return r;
-}
-
-static u2_int arg_width(u1_int *s, u1_int set) {
- u2_int p = 1u, i;
- u2_int r = (set == 2u) ? 1u : 0u;
- u2_int b = 0u;
-
- if ((! s) || (s[0] != '('))
- javab_out(-1, "invalid method descriptor");
-
- while (s[p] != ')') {
-
- u2_int oldp = p;
-
- if (set)
- rd_sig[r] = rd_buf + b;
- r++;
-
- switch (s[p]) {
-
- case 'D':
- case 'J':
-
- /* additional word */
-
- if (set)
- rd_sig[r] = NULL;
- r++;
-
- p++;
- break;
-
- case 'L':
-
- while (s[p++] != ';'); /* skip <classname> */
- break;
-
- case '[':
-
- while (s[++p] == '['); /* skip [[[[[ */
- if (s[p++] == 'L')
- while (s[p++] != ';'); /* skip <classname> */
- break;
-
- case 'B':
- case 'C':
- case 'F':
- case 'I':
- case 'S':
- case 'Z':
-
- p++;
- break;
-
- default:
-
- javab_out(0, "invalid character %c (=%i) in method descriptor",
- s[p], s[p]);
- return r;
- }
-
- if (set) {
- for (i = oldp; i < p; i++)
- rd_buf[b++] = s[i];
- rd_buf[b++] = '\0';
- }
- }
- return r;
-}
-
-/* ********************************************************
- *** Computation of ByteContext Sensitive Information ***
- *** (next is (mis-)used as an error flag) ***
- ******************************************************** */
-
-static u2_int det_ops(u4_int i) {
-
- u4_int j, lf, lb;
-
- switch (byt[i]) {
-
- case 170u: /* tableswitch */
-
- glo_pad = (u2_int) (3u - (i % 4u)); /* zero padding */
-
- for (j = i+1u; j <= glo_pad; j++)
- if (byt[j]) {
- next = 1;
- javab_out(0, "invalid padding in 'tableswitch' at %u", j);
- }
-
- glo_def = B2S4(byt[i+glo_pad+1], byt[i+glo_pad+2],
- byt[i+glo_pad+3], byt[i+glo_pad+4]);
- glo_low = B2S4(byt[i+glo_pad+5], byt[i+glo_pad+6],
- byt[i+glo_pad+7], byt[i+glo_pad+8]);
- glo_hig = B2S4(byt[i+glo_pad+9], byt[i+glo_pad+10],
- byt[i+glo_pad+11],byt[i+glo_pad+12]);
-
- /* Check Validity of all targets */
-
- if (((u4_int) (i+glo_def)) >= len) {
- next = 1;
- javab_out(0, "invalid default target in 'tableswitch' at %u", i);
- }
-
- lf = i+glo_pad+13u; lb = glo_hig-glo_low+1u;
-
- for (j = 0u; j < lb; j++, lf += 4u) {
- s4_int loc_off = B2S4(byt[lf],byt[lf+1],byt[lf+2],byt[lf+3]);
-
- if (((u4_int) (i+loc_off)) >= len) {
- next = 1u;
- javab_out(0, "invalid target in '%s' at %u", mem, i);
- }
- }
-
- /* Return number of operands (in bytes) */
-
- return ((u2_int) (glo_pad+16u+(glo_hig-glo_low)*4u));
-
- case 171u: /* lookupswitch */
-
- glo_pad = (u2_int) (3u - (i % 4u)); /* zero padding */
-
- for (j = i+1u; j <= glo_pad; j++)
- if (byt[j]) {
- next = 1u;
- javab_out(0, "invalid padding in 'lookupswitch' at %u", j);
- }
-
- glo_def = B2S4(byt[i+glo_pad+1],byt[i+glo_pad+2],
- byt[i+glo_pad+3],byt[i+glo_pad+4]);
- glo_npa = B2S4(byt[i+glo_pad+5],byt[i+glo_pad+6],
- byt[i+glo_pad+7],byt[i+glo_pad+8]);
-
- /* Check Validity of all targets */
-
- if (((u4_int) (i + glo_def)) >= len) {
- next = 1u;
- javab_out(0, "invalid default target in '%s' at %u", mem, i);
- }
-
- lf = i+glo_pad+9u; lb = glo_npa;
-
- for (j = 0u; j < lb; j++, lf += 8u) {
- s4_int loc_off = B2S4(byt[lf+4],byt[lf+5],byt[lf+6],byt[lf+7]);
- if (((u4_int) (i+loc_off)) >= len) {
- next = 1;
- javab_out(0, "invalid target in '%s' at %u", mem, i);
- }
- }
-
- /* Return number of operands (in bytes) */
-
- return ((u2_int) (glo_pad+8u+glo_npa*8u));
-
- default:
- javab_out(-1, "error in det_ops %u at %u", byt[i], i);
- }
- return 0u; /* dummy return */
-}
-
-static u2_int det_pre(u4_int i) {
-
- u2_int entry = B2U2(byt[i+1],byt[i+2]);
- u2_int n, d;
- u1_int *s;
-
- switch(byt[i]) {
-
- case 181u: /* putfield */
-
- GET_IT(CONSTANT_Fieldref, mem)
-
- return (u2_int) ((s[0] == 'D') || (s[0] == 'J')) ? 3u : 2u;
-
- case 179u: /* putstatic */
-
- GET_IT(CONSTANT_Fieldref, mem)
-
- return (u2_int) ((s[0] == 'D') || (s[0] == 'J')) ? 2u : 1u;
-
- case 185u: /* invokeinterface */
-
- GET_IT(CONSTANT_InterfaceMethodref, mem)
-
- if (byt[i+3u] != (1u+arg_width(s, 0u)))
- javab_out(0, "nargs differs from method descriptor at %u", i);
-
- return (u2_int) (byt[i+3u]);
-
- case 183u: /* invokespecial */
- case 182u: /* invokevirtual */
-
- GET_IT(CONSTANT_Methodref, mem)
-
- return (u2_int) (1u+arg_width(s, 0u));
-
- case 184u: /* invokestatic */
-
- GET_IT(CONSTANT_Methodref, mem)
-
- return arg_width(s, 0u);
-
- case 197u: /* multianewarray */
-
- valid_cp_entry(CONSTANT_Class, entry, "multianewarray");
-
- return (u2_int) (byt[i+3]);
-
- default:
- javab_out(-1, "error in det_pre %u at %u", byt[i], i);
- }
- return 0u;
-}
-
-static u2_int det_pos(u4_int i) {
-
- u2_int entry = B2U2(byt[i+1],byt[i+2]);
- u2_int n, d;
- u1_int *s;
-
- switch(byt[i]) {
-
- case 180u: /* getfield */
- case 178u: /* getstatic */
-
- GET_IT(CONSTANT_Fieldref, mem)
-
- return (u2_int) ((s[0] == 'D') || (s[0] == 'J')) ? 2u : 1u;
-
- case 185u: /* invokeinterface */
-
- GET_IT(CONSTANT_InterfaceMethodref, mem)
-
- return (res_width(s));
-
- case 183u: /* invokespecial */
- case 184u: /* invokestatic */
- case 182u: /* invokevirtual */
-
- GET_IT(CONSTANT_Methodref, mem);
-
- return (res_width(s));
-
- default:
- javab_out(-1, "error in det_pos %u at %u", byt[i], i);
- }
- return 0u;
-}
-
-/* **********************************
- *** General bytecode traversal ***
- ********************************** */
-
-static void byte_trav(u4_int offset) {
-
- u4_int i; /* wide counter */
- u2_int ops = 0u;
- u2_int last_op = -1, prev_op = -1;
- int last_offset = 0, prev_offset = 0;
- int branch_label, idx, inst_size;
- char lbuf[100];
- int hash(char *);
- void type_insert(HASHNODE **, int, char *);
-
- len = att -> code_length;
- byt = &(att -> info[8u]);
-
- for (i = offset; i < len; i += (1u+ops)) {
-
- /* Determine opcode Information */
-
- is_wide = 0u;
-
-back:
- opc = byt[i];
-
- bra = bytecode[opc].branch;
- ops = bytecode[opc].operands;
- exc = bytecode[opc].exception;
-
- pre = bytecode[opc].stack_pre;
- pos = bytecode[opc].stack_post;
-
- mem = bytecode[opc].mnemonic;
-
- /* instruction 'wide'-handling
- *************************** */
-
- if (is_wide) {
- if (opc == 132u) /* wide + iinc */
- ops = 4u;
- else if ((21u <= opc) && (opc <= 25u)) /* wide + load */
- ops = 2u;
- else if ((54u <= opc) && (opc <= 58u)) /* wide + store */
- ops = 2u;
- else if (opc == 169u) /* wide + ret */
- ops = 2u;
- else {
- javab_out(0, "invalid operand '%s' of 'wide' at %u", mem, i);
- return;
- }
- }
-
- if (HAS_TARGET(bra)) {
-
- /* Compute target from 2-, or 4-byte offset
- **************************************** */
-
- s4_int off = ((opc == 200u) || (opc == 201u))
- ? B2S4(byt[i+1],byt[i+2],byt[i+3],byt[i+4]) /* 4-bytes */
- : B2S2(byt[i+1],byt[i+2]); /* 2-bytes */
- target = (u4_int) (i + off);
-
- if ((target >= len) && (att -> reachable[i] == 1u)) {
- javab_out(0, "invalid target %u in '%s' at %u", target, mem, i);
- return;
- }
- }
-
- /* Determine Context Sensitive Information
- *************************************** */
-
- glo_pad = 0u;
- glo_def = glo_npa = glo_low = glo_hig = 0u;
-
- next = 0u; /* (mis-)uses as error flag */
-
- if (ops == 9u)
- ops = det_ops(i);
-
- if (pre == 9u)
- pre = det_pre(i);
-
- if (pos == 9u)
- pos = det_pos(i);
-
- if(!is_wide)
- {
- if( ((last_op == 18u) || (last_op == 19u))
- &&
- (((prev_op >= 3u) && (prev_op <= 8u))
- || (prev_op == 16u) || (prev_op == 17u)
- || (prev_op == 18u) || (prev_op == 19u))
- &&
- (opc == 184u))
- {
- u2_int e = B2U2(byt[i+1u], byt[i+2u]);
- u2_int c1 = constant_pool[e] -> u.indices.index1;
- u2_int n = constant_pool[e] -> u.indices.index2;
- u2_int d = constant_pool[n] -> u.indices.index1;
- u2_int c2 = constant_pool[c1] -> u.indices.index1;
-
- char *cla = (char *) constant_pool[c2] -> u.utf8.s;
- char *met = (char *) constant_pool[d] -> u.utf8.s;
- char *op;
-
- u2_int C1;
- char *caller = NULL;
-
- if(last_op == 18u) {
- u1_int ee = byt[last_offset+1u];
- C1 = constant_pool[ee] -> u.indices.index1;
- inst_size = 2;
- }
- else if(last_op == 19u) {
- u2_int ee = ((byt[last_offset+1u]) << 8) | byt[last_offset + 2u];
- C1 = constant_pool[ee] -> u.indices.index1;
- inst_size = 3;
- }
- else {
- fprintf(stderr,"internal error\n");
- exit(-1);
- }
-
- if(( !strcmp(cla,"Dummy") || !strcmp(cla,"org/netlib/util/Dummy"))
- && !strcmp(met,"label"))
- op = "label";
- else if(( !strcmp(cla,"Dummy") || !strcmp(cla,"org/netlib/util/Dummy"))
- && !strcmp(met,"go_to"))
- op = "goto";
- else
- {
- if(trdebug)
- printf("%s: encountered unknown Dummy method! (%s.%s)\n",
- filename, cla,met);
- op = "unknown";
- }
-
- switch(prev_op) {
- case 3u: /* iconst_0 */
- if(trdebug) printf("%d: %s %d.\n",prev_offset, op,0);
- branch_label = 0;
- inst_size += 1;
- break;
- case 4u: /* iconst_1 */
- if(trdebug) printf("%d: %s %d.\n",prev_offset, op,1);
- branch_label = 1;
- inst_size += 1;
- break;
- case 5u: /* iconst_2 */
- if(trdebug) printf("%d: %s %d.\n",prev_offset, op,2);
- branch_label = 2;
- inst_size += 1;
- break;
- case 6u: /* iconst_3 */
- if(trdebug) printf("%d: %s %d.\n",prev_offset, op,3);
- branch_label = 3;
- inst_size += 1;
- break;
- case 7u: /* iconst_4 */
- if(trdebug) printf("%d: %s %d.\n",prev_offset, op,4);
- branch_label = 4;
- inst_size += 1;
- break;
- case 8u: /* iconst_5 */
- if(trdebug) printf("%d: %s %d.\n",prev_offset, op,5);
- branch_label = 5;
- inst_size += 1;
- break;
- case 16u: /* bipush */
- if(trdebug)
- printf("%d: %s %d\n", prev_offset, op, byt[prev_offset+1u]);
- branch_label = byt[prev_offset+1u];
- inst_size += 2;
- break;
- case 17u: /* sipush */
- if(trdebug)
- printf("%d: %s %d\n", prev_offset, op,
- B2U4(0,0,byt[prev_offset+1u],byt[prev_offset+2u]));
- branch_label = B2U4(0,0,byt[prev_offset+1u],byt[prev_offset+2u]);
- inst_size += 3;
- break;
- case 18u: /* ldc */
- if(trdebug)
- printf("%d: %s %d\n", prev_offset, op,
- constant_pool[byt[prev_offset+1u]] -> u.data.val1);
- branch_label = constant_pool[byt[prev_offset+1u]] -> u.data.val1;
- inst_size += 2;
- break;
- case 19u: /* ldc_w */
- {
- u2_int po = ((byt[prev_offset+1u]) << 8) | byt[prev_offset + 2u];
-
- if(trdebug)
- printf("%d: %s %d\n", prev_offset, op,
- constant_pool[po] -> u.data.val1);
- branch_label = constant_pool[po] -> u.data.val1;
- inst_size += 3;
- }
- break;
- default:
- fprintf(stderr,"%s:Bad opcode encountered, output may be incorrect.\n",
- filename);
- branch_label = 0;
- }
-
- sprintf(lbuf,"%d",branch_label);
-
- if(!strcmp(op,"label"))
- {
- caller = (char *) constant_pool[C1]->u.utf8.s;
-
- if(type_lookup(att->label_table,lbuf))
- fprintf(stderr,"%s: duplicate label: %s\n",
- filename,lbuf);
- else if(strcmp(caller, thisClassName))
- fprintf(stderr,"%s: invalid label: %s (caller = %s, this = %s)\n",
- filename,lbuf,caller,thisClassName);
- else {
- idx = hash(lbuf) % att->label_table->num_entries;
- type_insert(&(att->label_table->entry[idx]),
- prev_offset, strdup(lbuf));
- }
-
- memset(byt+last_offset, 0, inst_size + 3);
- numChanges++;
- }
- else if(!strcmp(op,"goto"))
- {
- HASHNODE *ht;
-
- if(trdebug)
- printf("ok, I'm looking at a goto branching to label %d\n",
- branch_label);
-
- caller = (char *) constant_pool[C1]->u.utf8.s;
-
- if(!strcmp(caller,thisClassName)) {
-
- if((ht=type_lookup(att->label_table,lbuf)) != NULL)
- {
- int temp = ht->val - i;
- u4_int utemp;
-
- if(trdebug)
- printf("Found the label! offset = %d\n", ht->val);
-
- /* zero out the 2 previous instructions. the
- first 'ldc' is always 2 bytes, so add that
- to the size of the previous instruction. */
-
- memset(byt+last_offset, 0, inst_size);
- numChanges++;
-
- /* use the goto_w opcode just to be sure we
- have enough space for the branchoffset */
-
- byt[i-2] = 200;
-
- if(trdebug)
- printf("copying %d (%x) into byt\n",temp,temp);
-
- utemp = u4BigEndian((u4_int)temp);
- memcpy(byt+i-1, &utemp, 4);
- }
- else
- {
- if(trdebug)
- printf("did NOT find the label!\n");
- }
- }
- else {
- fprintf(stderr,"%s: invalid goto: %s (caller = %s, this = %s)\n",
- filename,lbuf,caller,thisClassName);
- memset(byt+last_offset, 0, inst_size + 3);
- numChanges++;
- }
- }
- else if(!strcmp(op,"unknown")) {
- if(trdebug)
- fprintf(stderr,"%s:Skipping unknown method invocation at offset %d\n",
- filename, i);
- }
- else
- fprintf(stderr,"%s:Weird, op not set properly.\n",filename);
-
- }
-
- last_op = prev_op;
- last_offset = prev_offset;
- prev_op = opc;
- prev_offset = i;
- }
-
- if (next)
- return;
-
- /* Compute Address of next Opcode
- ****************************** */
-
- next = (u4_int) (i+ops+1u);
-
- if (next > len) {
- javab_out(0, "invalid implicit target %u in '%s' at %u", next, mem, i);
- return;
- }
-
- /* instruction 'wide'-handling
- *************************** */
-
- if (opc == 196u) {
- if (i+1 < len) {
- i++;
- is_wide = 1;
- goto back;
- }
- else {
- javab_out(0, "invalid occurrence of '%s' at %u", mem, i);
- return;
- }
- }
- }
-}
-
-/* *******************************************************
- *** The actual actions (PRIVATE TRAVERSAL ROUTINES) ***
- ******************************************************** */
-
-/* *******************************************************
- *** Process a Single Code Attributes in .class file ***
- ******************************************************* */
-
-static void byte_codeattr(attribute_ptr a, u2_int w_arg,
- u1_int *nm, u1_int *tp, u2_int w_res) {
- u1_int comp_stuff(u4_int);
- u4_int i; /* wide_counter */
- u1_int *bytes = a -> info;
- u2_int max_stack = B2U2(bytes[0],bytes[1]);
- u2_int max_locals = B2U2(bytes[2],bytes[3]);
- u4_int code_length = B2U4(bytes[4],bytes[5],bytes[6],bytes[7]);
- u2_int exc_table_l;
-
- a->label_table = new_symtable(211);
-
- if (a -> attribute_length < 12u + code_length) {
- javab_out(0, "corrupt code atttribute given for %s%s code_length = %u",
- nm, tp, code_length);
- return;
- }
-
- exc_table_l = B2U2(bytes[8+code_length],bytes[9+code_length]);
-
- if (code_length + 10u + exc_table_l * 8u >= a -> attribute_length) {
- javab_out(0, "corrupt exception handler table");
- return;
- }
-
- /* Set global attribute (for all subsequent processing!)
- ***************************************************** */
-
- att = a;
-
- /* Quit for empty method body (or for large codelength)
- or in case too many parameters are passed to method
- **************************************************** */
-
- if (code_length == 0u) {
- javab_out(2, " + empty method %s()", nm);
- return;
- }
- else if (code_length >= (U4MAX-1)) {
- javab_out(2, " + skipping method %s() (cannot be processed internally)", nm);
- return;
- }
- else if (w_arg > max_locals) {
- javab_out(0, "%u parameter words exceed %u local words of method %s()",
- w_arg, max_locals, nm);
- return;
- }
-
- /* Allocate Memory for BYTECODE Information
- **************************************** */
-
- a -> code_length = code_length;
- a -> is_leader = (u1_int *) make_mem((code_length+1) * sizeof(u1_int));
- a -> my_bb = (bb_ptr *) make_mem((code_length+1) * sizeof(bb_ptr));
- a -> reachable = (u1_int *) make_mem(code_length * sizeof(u1_int));
- a -> sp_before = (u2_int *) make_mem(code_length * sizeof(u2_int));
- a -> st_state = (state_ptr **) make_mem(code_length * sizeof(state_ptr *));
-
- for (i = 0u; i <= code_length; i++) {
- a -> is_leader[i] = 0u;
- a -> my_bb[i] = NULL;
- }
- for (i = 0u; i < code_length; i++) {
- a -> reachable[i] = 2u;
- a -> sp_before[i] = 0u;
- a -> st_state[i] = NULL;
- }
-
- /* Compute Stack Information:
- traverse entry point of method (with sp==0 on entry)
- *and* entry point of every handler (with sp==1 on entry)
- ******************************************************** */
-
- glo_sta = max_stack;
- glo_stm = 0u;
- glo_loc = max_locals;
-
- /* Empty Stack */
-
- cur_sp = 0u;
-
- byte_trav(0u);
- byte_trav(0u);
-}
-
-/* ********************************************************
- *** PUBLIC FUNCTIONS ***
- ******************************************************** */
-
-/* ***************************
- *** Bytecode Processing ***
- *************************** */
-
-int byte_proc(void) {
-
- u4_int i, j; /* wide counters */
- char *strtok(char *, const char *);
- extern char * thisClassName;
-
- numChanges = 0;
-
- thisClassName = strdup( (char *)
- constant_pool[constant_pool[this_class]->u.indices.index1]->u.utf8.s);
-
-#ifdef CHECK_TABLE
-
- /* Verify bytecode table */
-
- for (i = 0u; i < 256u; i++)
- if (bytecode[i].opcode != i)
- javab_out(-1, "invalid bytecode initialization at %u", i);
-
-#endif
-
- /* Scan over methods, and process code-attributes */
-
- for (i = 0u; i < methods_count; i++) {
-
- fm_ptr m = methods[i];
- u1_int *nm = constant_pool[m -> name_index] -> u.utf8.s;
- u1_int *tp = constant_pool[m -> descr_index] -> u.utf8.s;
- u1_int is_inst = (m -> access_flags & ACC_STATIC) ? 0u : 1u;
- attribute_ptr my_code = NULL;
- attribute_ptr my_exc = NULL;
-
- char *this_arg_type = NULL;
-
- /* Determine number of locals that are defined
- (for Instance Methods: `this' is first-word argument)
- and number of words pushed back on the caller's operand stack */
-
- u2_int w_arg = arg_width(tp, (is_inst) ? 2u : 1u);
- u2_int w_res = res_width(tp);
-
- if (is_inst) /* Determine type of `this': set to java.lang.Object */ {
-
- u2_int e = constant_pool[this_class] -> u.indices.index1;
- char *s = (char *) constant_pool[e] -> u.utf8.s;
- u2_int l = strlen(s);
-
- this_arg_type = (char *) make_mem((l+2u) * sizeof(char));
- sprintf(this_arg_type, "L%s;", s);
- rd_sig[0u] = this_arg_type;
- }
-
- is_instm = is_inst;
-
- javab_out(2, " - processing %s method %s()",
- (is_inst) ? "instance" : "class", nm);
-
- /* Scan Attributes */
-
- for (j = 0u; j < m -> attributes_count; j++) {
- attribute_ptr a = m -> attributes[j];
- constant_ptr ua = constant_pool[a -> attribute_name_index];
-
- if (strcmp((char *) ua -> u.utf8.s, "Code") == 0) {
- if (my_code)
- javab_out(0, "multiple code attributes given for %s()", nm);
- else
- my_code = a;
- }
- else if (strcmp((char *) ua -> u.utf8.s, "Exceptions") == 0) {
- if (my_exc)
- javab_out(0, "multiple exception attributes given for %s()", nm);
- else
- my_exc = a;
- }
- }
-
- /* Process Code Attribute */
-
- if (my_code) {
- if (my_code -> attribute_length < 12u)
- javab_out(0, "corrupt code attribute given for %s()", nm);
- else
- byte_codeattr(my_code, w_arg, nm, tp, w_res);
- }
- else
- javab_out(2, " + no code attribute given for %s()", nm);
-
- if (this_arg_type)
- free(this_arg_type);
-
- if (error)
- break; /* otherwise, a list of method
- headers appears for switch `-d' */
- }
- return numChanges;
-}
-
-u4_int
-u4BigEndian(u4_int num)
-{
- if(isBigEndian())
- return num;
- else
- return ((num & 0xFF)<<24) +
- ((num >> 8 & 0xFF)<<16) +
- ((num >> 16 & 0xFF)<<8) +
- (num >> 24);
-}
-
-char
-isBigEndian()
-{
- int x = 1;
-
- if (*((char *)&x)== 1)
- return 0;
- else
- return 1;
-}
diff --git a/goto_trans/class.c b/goto_trans/class.c
deleted file mode 100644
index 979d222..0000000
--- a/goto_trans/class.c
+++ /dev/null
@@ -1,948 +0,0 @@
-
-/* *************
- *** JAVAB ***
- ****************************************************
- *** Copyright (c) 1997 ***
- *** Aart J.C. Bik Indiana University ***
- *** All Rights Reserved ***
- ****************************************************
- *** Please refer to the LICENSE file distributed ***
- *** with this software for further details on ***
- *** the licensing terms and conditions. ***
- *** ***
- *** Please, report all bugs, comments, etc. ***
- *** to: ajcbik at extreme.indiana.edu ***
- ****************************************************
- *** class.c : class file manipulations
- ***
- ***
- *** Your courtesy in mentioning the use of this bytecode tool
- *** in any scientific work that presents results obtained
- *** by using (extensions or modifications of) the tool
- *** is highly appreciated.
- ***
- *** */
-
-/* ********************************************************
- *** INCLUDE FILES and DEFINITIONS ***
- ******************************************************** */
-
-#include "class.h"
-
-#undef DEBUG_SHADOW
-
-/* ********************************************************
- *** EXTERNAL VARIABLES ***
- ******************************************************** */
-
-/* PUBLIC
- ****** */
-
-u4_int magic;
-u2_int minor_version, major_version;
-
-u2_int constant_pool_count = 0u;
-constant_ptr *constant_pool = NULL;
-
-u2_int access_flags, this_class, super_class;
-
-u2_int interfaces_count = 0u;
-u2_int *interfaces = NULL;
-
-u2_int fields_count = 0u;
-fm_ptr *fields = NULL;
-
-u2_int methods_count = 0u;
-fm_ptr *methods = NULL;
-
-u2_int attributes_count = 0u;
-attribute_ptr *attributes = NULL;
-
-/* PRIVATE
- ******* */
-
-static FILE *file = NULL;
-
-static u2_int extra_cp = 0u;
-static u2_int extra_field = 0u;
-static u2_int extra_method = 0u;
-
-static u2_int shadow_cnt = 0u;
-static constant_ptr *shadow_cp = NULL;
-
-/* ********************************************************
- *** PRIVATE FUNCTIONS ***
- ******************************************************** */
-
-/* read u1_int, u2_int, and u4_int routines
- **************************************** */
-
-static u1_int read_u1(void) {
- int u = fgetc(file);
- if (u == EOF)
- javab_out(0, "unexpected EOF");
- return (u1_int) u;
-}
-
-static u2_int read_u2(void) {
- u1_int u1 = read_u1();
- u1_int u2 = read_u1();
- return B2U2(u1,u2);
-}
-
-static u4_int read_u4(void) {
- u1_int u1 = read_u1();
- u1_int u2 = read_u1();
- u1_int u3 = read_u1();
- u1_int u4 = read_u1();
- return B2U4(u1,u2,u3,u4);
-}
-
-/* Read Constant Pool
- (entry constant_pool[0] is reserved, but included in count)
- *********************************************************** */
-
-static void read_constant_pool(void) {
- u4_int i, j; /* wide counters */
-
- constant_pool_count = read_u2();
- constant_pool = NULL;
-
- if (constant_pool_count == 0u)
- return;
-
- /* Construct the constant pool */
-
- constant_pool = (constant_ptr *)
- make_mem( constant_pool_count * sizeof(constant_ptr) );
-
- constant_pool[0] = NULL;
-
- for (i = 1u; i < constant_pool_count; i++) {
-
- constant_pool[i] = (constant_ptr) make_mem( sizeof(struct constant_node) );
- constant_pool[i] -> tag = read_u1();
-
- switch(constant_pool[i] -> tag) {
-
- case CONSTANT_Class:
- case CONSTANT_String:
-
- constant_pool[i] -> u.indices.index1 = read_u2();
- constant_pool[i] -> u.indices.index2 = 0u;
- break;
-
- case CONSTANT_Fieldref:
- case CONSTANT_Methodref:
- case CONSTANT_InterfaceMethodref:
- case CONSTANT_NameAndType:
-
- constant_pool[i] -> u.indices.index1 = read_u2();
- constant_pool[i] -> u.indices.index2 = read_u2();
- break;
-
- case CONSTANT_Integer:
- case CONSTANT_Float:
-
- constant_pool[i] -> u.data.val1 = read_u4();
- constant_pool[i] -> u.data.val2 = 0u;
- break;
-
- case CONSTANT_Long:
- case CONSTANT_Double:
-
- constant_pool[i] -> u.data.val1 = read_u4();
- constant_pool[i] -> u.data.val2 = read_u4();
-
- /* These entries make next entry invalid!
- ************************************** */
-
- constant_pool[ ++i ] = NULL;
- break;
-
- case CONSTANT_Utf8:
-
- /* Read-in constant string value (represented as BYTE sequence) */
-
- { u2_int len = read_u2();
- u1_int *s = (u1_int *) make_mem((1+len) * sizeof(u1_int));
-
- for (j = 0u; j < len; j++)
- s[j] = read_u1();
- s[len] = '\0';
-
- constant_pool[i] -> u.utf8.l = len;
- constant_pool[i] -> u.utf8.s = s;
- }
- break;
-
- default:
- javab_out(-1, "invalid constant pool tag (%u)", constant_pool[i] -> tag);
- }
- }
-}
-
-/* Read Interfaces
- **************** */
-
-static void read_interfaces(void) {
- u4_int i; /* wide counter */
-
- interfaces_count = read_u2();
-
- if (interfaces_count != 0u) {
- interfaces = (u2_int *) make_mem(interfaces_count * sizeof(u2_int));
- for (i = 0u; i < interfaces_count; i++)
- interfaces[i] = read_u2();
- }
- else
- interfaces = NULL;
-}
-
-/* Read Attributes
- *************** */
-
-static attribute_ptr *read_attributes(u2_int ac) {
- attribute_ptr *a = NULL;
-
- if (ac != 0u) {
- u4_int i, j; /* wide counters */
- u4_int len;
-
- a = (attribute_ptr *) make_mem(ac * sizeof(attribute_ptr));
-
- for (i = 0u; i < ac; i++) {
-
- a[i] = (attribute_ptr) new_attribute();
-
- a[i] -> attribute_name_index = read_u2();
- a[i] -> attribute_length = len = read_u4();
-
- if (len == U4MAX)
- javab_out(-1, "Sorry, my internal u4_int counter will wrap around");
-
- a[i] -> info = (u1_int *) make_mem(len * sizeof(u1_int));
-
- for (j = 0u; j < len; j++)
- a[i] -> info[j] = read_u1();
- }
- }
- return a;
-}
-
-/* Read Fields
- *********** */
-
-static void read_fields(void) {
- u4_int i; /* wide counter */
-
- fields_count = read_u2();
-
- if (fields_count != 0u) {
- fields = (fm_ptr *) make_mem(fields_count * sizeof(fm_ptr));
- for (i = 0u; i < fields_count; i++) {
- fields[i] = (fm_ptr) make_mem(sizeof(struct fm_node));
- fields[i] -> access_flags = read_u2();
- fields[i] -> name_index = read_u2();
- fields[i] -> descr_index = read_u2();
- fields[i] -> attributes_count = read_u2();
- fields[i] -> attributes = read_attributes(fields[i] -> attributes_count);
- }
- }
- else
- fields = NULL;
-}
-
-/* Read Methods
- ************ */
-
-static void read_methods(void) {
- u4_int i; /* wide counter */
-
- methods_count = read_u2();
-
- if (methods_count != 0u) {
- methods = (fm_ptr *) make_mem(methods_count * sizeof(fm_ptr));
- for (i = 0u; i < methods_count; i++) {
- methods[i] = (fm_ptr) make_mem(sizeof(struct fm_node));
- methods[i] -> access_flags = read_u2();
- methods[i] -> name_index = read_u2();
- methods[i] -> descr_index = read_u2();
- methods[i] -> attributes_count = read_u2();
- methods[i] -> attributes = read_attributes(methods[i] -> attributes_count);
- }
- }
- else
- methods = NULL;
-}
-
-/* Read Class-File
- *************** */
-
-static void read_classfile(void) {
-
- javab_out(2, " -- reading class file");
-
- /* Read magic 0xCAFEBABE string and version
- **************************************** */
-
- magic = read_u4();
-
- if (magic != 0xCAFEBABE) {
- javab_out(0, "not a class file");
- return;
- }
-
- minor_version = read_u2();
- major_version = read_u2();
-
- /* Read constant pool
- ****************** */
-
- read_constant_pool();
-
- /* Read flags and class info
- ************************* */
-
- access_flags = read_u2();
- this_class = read_u2();
- super_class = read_u2();
-
- /* Read interfaces, fields, and methods
- ************************************ */
-
- read_interfaces();
- read_fields();
- read_methods();
-
- /* Read attributes
- *************** */
-
- attributes_count = read_u2();
- attributes = read_attributes(attributes_count);
-
- if (fgetc(file) != EOF)
- javab_out(1, "additional bytes in class file ignored");
-}
-
-/* Check Attribute
- *************** */
-
-static void check_attr(u4_int ac, attribute_ptr *a) {
- u4_int i; /* wide counter */
-
- for (i = 0; i < ac; i++)
- valid_cp_entry(CONSTANT_Utf8, a[i] -> attribute_name_index, "attribute");
-}
-
-/* Check Field/Method
- ****************** */
-
-static void check_fm(fm_ptr f) {
- valid_cp_entry(CONSTANT_Utf8, f -> name_index, "fm name index");
- valid_cp_entry(CONSTANT_Utf8, f -> descr_index, "fm descriptor index");
-
- check_attr(f -> attributes_count, f -> attributes);
-}
-
-/* Check Class File
- **************** */
-
-static void check_classfile(void) {
- u4_int i; /* wide counter */
-
- javab_out(2, " -- verifying class file");
-
- /* Check class references */
-
- valid_cp_entry(CONSTANT_Class, this_class, "this");
-
- if (super_class)
- valid_cp_entry(CONSTANT_Class, super_class, "super");
-
- /* Check constant pool */
-
- for (i = 1u; i < constant_pool_count; i++)
- if (constant_pool[i])
- switch (constant_pool[i] -> tag) {
-
- case CONSTANT_Class:
-
- valid_cp_entry(CONSTANT_Utf8,
- constant_pool[i] -> u.indices.index1,
- "Class");
- break;
-
- case CONSTANT_Fieldref:
- case CONSTANT_Methodref:
- case CONSTANT_InterfaceMethodref:
-
- valid_cp_entry(CONSTANT_Class,
- constant_pool[i] -> u.indices.index1,
- "ref");
- valid_cp_entry(CONSTANT_NameAndType,
- constant_pool[i] -> u.indices.index2,
- "ref");
- break;
-
- case CONSTANT_String:
-
- valid_cp_entry(CONSTANT_Utf8,
- constant_pool[i] -> u.indices.index1,
- "String");
- break;
-
- case CONSTANT_NameAndType:
-
- valid_cp_entry(CONSTANT_Utf8,
- constant_pool[i] -> u.indices.index1,
- "N_and_T");
- valid_cp_entry(CONSTANT_Utf8,
- constant_pool[i] -> u.indices.index2,
- "N_and_T");
-
- { constant_ptr c =
- constant_pool[constant_pool[i] -> u.indices.index2];
-
- if (c -> u.utf8.l == 0)
- javab_out(0, "invalid field/method descriptor");
- }
- break;
- }
-
- /* Check interfaces */
-
- for (i = 0u; i < interfaces_count; i++)
- valid_cp_entry(CONSTANT_Class, interfaces[i], "interface");
-
- /* Check Fields */
-
- for (i = 0u; i < fields_count; i++)
- check_fm(fields[i]);
-
- /* Check Methods */
-
- for (i = 0u; i < methods_count; i++)
- check_fm(methods[i]);
-
- /* Check Attributes */
-
- check_attr(attributes_count, attributes);
-}
-
-/* Release Memory Fields of an Attribute
- ************************************* */
-
-static void cleanup_attributes(u4_int cnt, attribute_ptr *a) {
-
- u4_int i, j; /* wide counters */
-
- for (i = 0u; i < cnt; i++)
- if (a[i]) {
-
- if (a[i] -> info)
- free(a[i] -> info);
-
- if (a[i] -> reachable)
- free(a[i] -> reachable);
-
- if (a[i] -> is_leader)
- free(a[i] -> is_leader);
-
- if (a[i] -> sp_before)
- free(a[i] -> sp_before);
-
- if (a[i] -> my_bb)
- free(a[i] -> my_bb);
-
- if (a[i] -> st_state) {
- for (j = 0u; j < a[i] -> code_length; j++)
- if (a[i] -> st_state[j])
- free(a[i] -> st_state[j]);
- free(a[i] -> st_state);
- }
-
- free(a[i]);
- }
-
- if (a)
- free(a);
-}
-
-/* Release Memory of a Constant Pool Entry
- *************************************** */
-
-static void del_cp(constant_ptr c) {
- if (c) {
- if ((c -> tag == CONSTANT_Utf8) && (c -> u.utf8.s))
- free(c -> u.utf8.s);
- free(c);
- }
-}
-
-/* Release Memory of Class File
- **************************** */
-
-static void delete_classfile(void) {
-
- u4_int i; /* wide counters */
-
- javab_out(2, " -- deleting class file");
-
- /* Delete Constant Pool
- ******************** */
-
- for (i = 1u; i < constant_pool_count; i++)
- if (constant_pool[i])
- del_cp(constant_pool[i]);
-
- if (constant_pool)
- free(constant_pool);
-
- constant_pool_count = 0u;
- constant_pool = NULL;
-
- /* Delete Interfaces
- ***************** */
-
- if (interfaces)
- free(interfaces);
-
- interfaces = NULL;
-
- /* Delete Fields
- ************* */
-
- if (fields) {
- for (i = 0u; i < fields_count; i++)
- if (fields[i]) {
- cleanup_attributes(fields[i] -> attributes_count,
- fields[i] -> attributes);
- free(fields[i]);
- }
- free(fields);
- }
-
- fields_count = 0u;
- fields = NULL;
-
- /* Delete Methods
- ************** */
-
- if (methods) {
- for (i = 0u; i < methods_count; i++)
- if (methods[i]) {
- cleanup_attributes(methods[i] -> attributes_count,
- methods[i] -> attributes);
- free(methods[i]);
- }
- free(methods);
- }
-
- methods_count = 0u;
- methods = NULL;
-
- /* Delete Attributes
- **************** */
-
- cleanup_attributes(attributes_count, attributes);
-
- attributes_count = 0u;
- attributes = NULL;
-
- /* Delete Additional Space
- *********************** */
-
- extra_cp = 0u;
- extra_field = 0u;
- extra_method = 0u;
-}
-
-/* Show a Field/Method
- ******************* */
-
-static void show_fm(u4_int i, fm_ptr f, char *s) {
-
- u1_int *nm = constant_pool[f -> name_index] -> u.utf8.s;
- u1_int *tp = constant_pool[f -> descr_index] -> u.utf8.s;
-
- fprintf(stderr, " %s[%5u]: 0x%02x %s %s (attr=%u)\n",
- s, i, f -> access_flags, nm, tp, f -> attributes_count);
-}
-
-/* Output of Class File Summary
- **************************** */
-
-static void show_classfile(void) {
- u4_int i; /* wide counter */
-
- fprintf(stderr, "\n*** class file version : %u.%u\n",
- major_version, minor_version);
-
- fprintf(stderr, "*** constant_pool_count : %u\n", constant_pool_count);
-
- for (i = 1u; i < constant_pool_count; i++)
- if (constant_pool[i]) {
- fprintf(stderr, " constant_pool[%5u]: ", i);
- show_cp_entry(constant_pool[i]);
- fputc('\n', stderr);
- }
-
- fprintf(stderr, "*** access flags : 0x%04x\n", access_flags);
- fprintf(stderr, "*** this_class : %u\n", this_class);
- fprintf(stderr, "*** super_class : %u\n", super_class);
- fprintf(stderr, "*** interfaces_count : %u\n", interfaces_count);
-
- for (i = 0u; i < interfaces_count; i++) {
- u2_int i2 = interfaces[i];
- u1_int *s = constant_pool[constant_pool[i2] -> u.indices.index1] -> u.utf8.s;
- fprintf(stderr, " interfaces [%5u]: %u \"%s\"\n", i, i2, s);
- }
-
- fprintf(stderr, "*** fields_count : %u\n", fields_count);
-
- for (i = 0u; i < fields_count; i++)
- show_fm(i, fields[i], "fields ");
-
- fprintf(stderr, "*** methods_count : %u\n", methods_count);
-
- for (i = 0u; i < methods_count; i++)
- show_fm(i, methods[i], "methods ");
-
- fprintf(stderr, "*** attributes_count : %u\n", attributes_count);
-}
-
-/* ***********************************
- *** Restore Parts of the Old CP ***
- *********************************** */
-
-static void add_shadow_cp(void) {
- u4_int i; /* wide counter */
-
- constant_pool_count = shadow_cnt;
-
- constant_pool = (constant_ptr *)
- make_mem(constant_pool_count * sizeof(constant_ptr));
-
- /* First Pass
- ********** */
-
- for (i = 0u; i < shadow_cnt; i++) {
-
- constant_ptr old = shadow_cp[i];
- constant_ptr new = (constant_ptr) make_mem( sizeof(struct constant_node) );
-
- if (old) {
-
-#ifdef DEBUG_SHADOW
- fprintf(stderr, "copy old entry %u\n", i);
-#endif
-
- new -> tag = old -> tag;
-
- switch (old -> tag) {
-
- case CONSTANT_Class:
- case CONSTANT_Fieldref:
- case CONSTANT_Methodref:
- case CONSTANT_InterfaceMethodref:
- case CONSTANT_NameAndType:
- case CONSTANT_String:
- new -> u.indices.index1 = old -> u.indices.index1;
- new -> u.indices.index2 = old -> u.indices.index2;
- break;
-
- case CONSTANT_Integer:
- case CONSTANT_Float:
- case CONSTANT_Long:
- case CONSTANT_Double:
- new -> u.data.val1 = old -> u.data.val1;
- new -> u.data.val2 = old -> u.data.val2;
- break;
-
- case CONSTANT_Utf8:
- new -> u.utf8.l = old -> u.utf8.l;
- new -> u.utf8.s = (u1_int *) strdup((char *) old -> u.utf8.s);
- break;
-
- default:
- javab_out(-1, "invalid new shadow cp entry %u\n", old -> tag);
- }
-
- constant_pool[i] = new;
-
- if ((old -> tag == CONSTANT_Double) ||
- (old -> tag == CONSTANT_Long))
- i++; /* Account for NULL CP Entry */
- }
- else { /* Obsoleted Entry */
-
- new -> tag = CONSTANT_Utf8;
- new -> u.utf8.l = 1u;
- new -> u.utf8.s = (u1_int *) strdup("-");
-
- constant_pool[i] = new;
- }
- }
-}
-
-/* ********************************************************
- *** PUBLIC FUNCTIONS ***
- ******************************************************** */
-
-/* Shadow Constant Pool Operations
- ******************************* */
-
-void make_shadow_cp(void) {
- u4_int i; /* wide counter */
-
- if ((shadow_cnt) || (shadow_cp))
- javab_out(-1, "re-shadowing not allowed");
-
- shadow_cnt = constant_pool_count;
- shadow_cp = (constant_ptr *) make_mem(shadow_cnt * sizeof(constant_ptr));
-
- for (i = 0u; i < shadow_cnt; i++)
- shadow_cp[i] = NULL;
-}
-
-void mark_shadow_cp(u2_int index) {
-
- if (index < shadow_cnt) {
-
- if (! shadow_cp[index]) {
-
- constant_ptr c = constant_pool[index];
- shadow_cp[index] = c;
-
-#ifdef DEBUG_SHADOW
- fprintf(stderr, "mark cp entry %u\n", index);
-#endif
-
- switch(c -> tag) {
-
- case CONSTANT_Class:
- case CONSTANT_String:
- mark_shadow_cp(c -> u.indices.index1);
- break;
-
- case CONSTANT_Fieldref:
- case CONSTANT_Methodref:
- case CONSTANT_InterfaceMethodref:
- case CONSTANT_NameAndType:
- mark_shadow_cp(c -> u.indices.index1);
- mark_shadow_cp(c -> u.indices.index2);
- break;
-
- case CONSTANT_Integer:
- case CONSTANT_Float:
- case CONSTANT_Long:
- case CONSTANT_Double:
- case CONSTANT_Utf8:
- break;
-
- default:
- javab_out(-1, "invalid new shadow cp entry %u\n", c -> tag);
- }
- }
- }
- else
- javab_out(-1, "invalid index into shadow cp %u", index);
-}
-
-void take_shadow_cp(void) {
- u4_int i; /* wide counter */
-
- for (i = 0u; i < shadow_cnt; i++)
- if (shadow_cp[i]) {
- constant_pool[i] = NULL;
-#ifdef DEBUG_SHADOW
- fprintf(stderr, "take cp entry %u\n", i);
-#endif
- }
-}
-
-void dump_shadow_cp(void) {
- u1_int set = 0u;
- u4_int i; /* wide counter */
-
- for (i = 0u; i < shadow_cnt; i++)
- if (shadow_cp[i]) {
- set = 1u;
- break;
- }
-
- if (set)
- add_shadow_cp();
- else
- constant_pool_count = 1u; /* reserved entry */
-}
-
-void elim_shadow_cp(void) {
- u4_int i; /* wide counter */
-
- if (shadow_cp) {
- for (i = 0u; i < shadow_cnt; i++)
- if (shadow_cp[i]) {
-#ifdef DEBUG_SHADOW
- fprintf(stderr, "postponed deletion of cp entry %u\n", i);
-#endif
- del_cp(shadow_cp[i]);
- }
- free(shadow_cp);
- }
-
- shadow_cnt = 0u;
- shadow_cp = NULL;
-}
-
-/* Class File Processing
- ********************* */
-
-void process_classfile(FILE *f, u1_int com) {
-
- file = f;
-
- switch (com) {
-
- case 0u: /* Process a Class File */
-
- if (f)
- read_classfile();
- break;
-
- case 1u: /* Check a Class File */
-
- check_classfile();
- break;
-
- case 2u: /* Show a Class File */
-
- show_classfile();
- break;
-
- case 3u: /* Delete a Class File */
-
- delete_classfile();
- break;
- }
-}
-
-/* Check constant pool entry
- ************************* */
-
-u1_int valid_cp_entry(u1_int tag, u2_int entry, char *mess) {
- if ((entry != 0u) && (entry < constant_pool_count)) {
- constant_ptr p = constant_pool[entry];
- if ((! p) || (p -> tag != tag)) {
- javab_out(0, "invalid reference of %s to constant pool (%u)", mess, entry);
- return 0;
- }
- }
- else {
- javab_out(0, "invalid index of %s into constant pool (%u)", mess, entry);
- return 0;
- }
- return 1u;
-}
-
-/* Output information in class file
- ******************************** */
-
-void show_cp_entry(constant_ptr c) {
- switch (c -> tag) {
-
- case CONSTANT_Class:
-
- fprintf(stderr, "<Class> ");
- show_cp_entry(constant_pool[c -> u.indices.index1]);
- break;
-
- case CONSTANT_Fieldref:
-
- show_cp_entry(constant_pool[c -> u.indices.index1]);
- fputc('.', stderr);
- show_cp_entry(constant_pool[c -> u.indices.index2]);
- break;
-
- case CONSTANT_Methodref:
-
- show_cp_entry(constant_pool[c -> u.indices.index1]);
- fputc('.', stderr);
- show_cp_entry(constant_pool[c -> u.indices.index2]);
- break;
-
- case CONSTANT_InterfaceMethodref:
-
- show_cp_entry(constant_pool[c -> u.indices.index1]);
- fputc('.', stderr);
- show_cp_entry(constant_pool[c -> u.indices.index2]);
- break;
-
- case CONSTANT_String:
-
- fputc('\"', stderr);
- show_cp_entry(constant_pool[c -> u.indices.index1]);
- fputc('\"', stderr);
- break;
-
- case CONSTANT_Integer:
-
- fprintf(stderr, "<Integer> %ix", (s4_int) c -> u.data.val1);
- break;
-
- case CONSTANT_Float:
-
- fprintf(stderr, "<Float> 0x%04x", c -> u.data.val1);
- break;
-
- case CONSTANT_Long:
-
- fprintf(stderr, "<Long> 0x%04x%04x",
- c -> u.data.val1,
- c -> u.data.val2);
- break;
-
- case CONSTANT_Double:
-
- fprintf(stderr, "<Double> 0x%04x%04x",
- c -> u.data.val1,
- c -> u.data.val2);
- break;
-
- case CONSTANT_NameAndType:
-
- show_cp_entry(constant_pool[c -> u.indices.index1]);
- fputc(' ', stderr);
- show_cp_entry(constant_pool[c -> u.indices.index2]);
- break;
-
- case CONSTANT_Utf8:
-
- if (c -> u.utf8.s)
- fprintf(stderr, (char *) c -> u.utf8.s);
- break;
- }
-}
-
-/* Obtain a new attribute
- ********************** */
-
-attribute_ptr new_attribute(void) {
-
- attribute_ptr a = (attribute_ptr) make_mem(sizeof(struct attribute_node));
-
- a -> attribute_name_index = 0u;
- a -> attribute_length = 0u;
- a -> info = NULL;
-
- /* JAVAB Specific Information */
-
- a -> reachable = NULL;
- a -> is_leader = NULL;
- a -> sp_before = NULL;
- a -> my_bb = NULL;
- a -> st_state = NULL;
-
- return a;
-}
diff --git a/goto_trans/class.h b/goto_trans/class.h
deleted file mode 100644
index 55b22f3..0000000
--- a/goto_trans/class.h
+++ /dev/null
@@ -1,493 +0,0 @@
-/* *************
- *** JAVAB ***
- ****************************************************
- *** Copyright (c) 1997 ***
- *** Aart J.C. Bik Indiana University ***
- *** All Rights Reserved ***
- ****************************************************
- *** Please refer to the LICENSE file distributed ***
- *** with this software for further details on ***
- *** the licensing terms and conditions. ***
- *** ***
- *** Please, report all bugs, comments, etc. ***
- *** to: ajcbik at extreme.indiana.edu ***
- ****************************************************
- *** class.h : definitions and function prototypes
- ***
- ***
- *** Your courtesy in mentioning the use of this bytecode tool
- *** in any scientific work that presents results obtained
- *** by using (extensions or modifications of) the tool
- *** is highly appreciated.
- ***
- ***
- *** */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <limits.h>
-#include "symtab.h"
-
-#define MAX(a,b) (((a)>=(b)) ? (a) : (b))
-#define MIN(a,b) (((a)<=(b)) ? (a) : (b))
-
-/* *************************************
- *** JVM-specific Type Definitions ***
- *************************************
- *** u1_int == unsigned 8 bits ***
- *** s1_int == signed 8 bits ***
- *************************************
- *** u2_int == unsigned 16 bits ***
- *** s2_int == signed 16 bits ***
- *************************************
- *** u4_int == unsigned 32 bits ***
- *** s4_int == signed 32 bits ***
- ************************************* */
-
-#define U1MAX 255u
-#define U2MAX 65535u
-#define U4MAX 4294967295u
-#define S4MAX 2147483647
-
-#if ((CHAR_BIT == 8u) && (UCHAR_MAX == U1MAX))
-#define U1 "char"
-typedef unsigned char u1_int;
-typedef signed char s1_int;
-#endif
-
-#if (USHRT_MAX == U2MAX)
-#define U2 "short int"
-typedef unsigned short int u2_int;
-typedef signed short int s2_int;
-#elif (UINT_MAX == U2MAX)
-#define U2 "int"
-typedef unsigned int u2_int;
-typedef signed int s2_int;
-#endif
-
-#if (UINT_MAX == U4MAX)
-#define U4 "int"
-typedef unsigned int u4_int;
-typedef signed int s4_int;
-#elif (ULONG_MAX == U4MAX)
-#define U4 "long int"
-typedef unsigned long int u4_int;
-typedef signed long int s4_int;
-#elif (ULONGLONG_MAX == U4MAX)
-#define U4 "long long int"
-typedef unsigned long long int u4_int;
-typedef signed long long int s4_int;
-#endif
-
-/* byte <-> int conversions (JVM uses big-endian order)
- **************************************************** */
-
-#define B2U2(b1,b2) ((((u2_int)(b1))<<8)+((u2_int)(b2)))
-#define B2U4(b1,b2,b3,b4) ((((u4_int)(B2U2((b1),(b2)))<<16)) + \
- ((u4_int)(B2U2((b3),(b4)))))
-#define B2S2(b1,b2) ((s2_int)(B2U2((b1),(b2))))
-#define B2S4(b1,b2,b3,b4) ((s4_int)(B2U4((b1),(b2),(b3),(b4))))
-
-#define LOWB_U2(u) ((u1_int)( (u) & 0xff))
-#define HIGB_U2(u) ((u1_int)(((u) >> 8) & 0xff))
-#define LOWB_U4(u) ((u1_int)(((u) >> 16) & 0xff))
-#define HIGB_U4(u) ((u1_int)(((u) >> 24) & 0xff))
-
-/* ********************************************
- *** Class-file-specific Type Definitions ***
- ******************************************** */
-
-/* Access and Modifier Flags
- ************************* */
-
-#define ACC_PUBLIC 0x0001
-#define ACC_PRIVATE 0x0002
-#define ACC_PROTECTED 0x0004
-#define ACC_STATIC 0x0008
-#define ACC_FINAL 0x0010
-#define ACC_SUPER 0x0020
-#define ACC_SYNCHRONIZED 0x0020 /* overloaded */
-#define ACC_VOLATILE 0x0040
-#define ACC_TRANSIENT 0x0080
-#define ACC_NATIVE 0x0100
-#define ACC_INTERFACE 0x0200
-#define ACC_ABSTRACT 0x0400
-
-/* Constant Pool Tags
- ****************** */
-
-#define CONSTANT_Utf8 1u
-#define CONSTANT_Integer 3u
-#define CONSTANT_Float 4u
-#define CONSTANT_Long 5u
-#define CONSTANT_Double 6u
-#define CONSTANT_Class 7u
-#define CONSTANT_String 8u
-#define CONSTANT_Fieldref 9u
-#define CONSTANT_Methodref 10u
-#define CONSTANT_InterfaceMethodref 11u
-#define CONSTANT_NameAndType 12u
-
-/* Constant Pool Entries
- ********************* */
-
-struct constant_node {
- union {
- struct {
- u4_int val1;
- u4_int val2;
- } data;
- struct {
- u2_int index1;
- u2_int index2;
- } indices;
- struct {
- u1_int *s;
- u2_int l;
- } utf8;
- } u ;
-
- u1_int tag;
-} ;
-
-typedef struct constant_node *constant_ptr;
-
-/* Attribute Entries
- ***************** */
-
-struct attribute_node {
- u2_int attribute_name_index;
- u4_int attribute_length;
- u1_int *info;
-
- /* JAVAB specific information
- ************************** */
-
- u4_int code_length;
-
- u1_int *reachable; /* 0u : unreachable
- 1u : reachable/visited
- 2u : unvisited
- *********************** */
- u1_int *is_leader;
- u2_int *sp_before;
- struct bb_node **my_bb;
- struct state_node ***st_state;
- SYMTABLE *label_table;
-} ;
-
-typedef struct attribute_node *attribute_ptr;
-
-/* Field/Method Entries
- ******************** */
-
-struct fm_node {
- u2_int access_flags;
- u2_int name_index;
- u2_int descr_index;
- u2_int attributes_count;
- attribute_ptr *attributes;
-} ;
-
-typedef struct fm_node *fm_ptr;
-
-/* ***************************************
- *** JAVAB-specific Type Definitions ***
- *************************************** */
-
-/* Stack State Component Types
- *************************** */
-
-enum stack_states {
- S_BOT, S_EXP, S_REF
-} ;
-
-/* Local Variable Types
- ******************** */
-
-enum types {
- TP_UNUSED, TP_2WORD, TP_INT, TP_LONG, TP_FLOAT, TP_DOUBLE, TP_REF, TP_ERROR
-} ;
-
-/* Small Nodes
- *********** */
-
-struct array_node {
-
- struct array_node *next;
-
- /* Query Information */
-
- u1_int *q;
- s4_int *c;
- u4_int *p;
-
- s4_int *dep_l;
- s4_int *dep_u;
- u1_int *dep_s; /* 0u: unused
- 1u: used as loop index
- 2u: loop-carried
- ********************** */
- /* Other Information */
-
- u4_int dim_ad;
- u2_int dim_loc;
- u1_int dim;
- u1_int lhs;
-} ;
-
-typedef struct array_node *array_ptr;
-
-struct ref_node {
-
- struct ref_node *gnext;
-
- struct ref_node *next;
- struct state_node *rf;
- struct state_node *in;
- u4_int ad;
- u1_int lhs;
-} ;
-
-typedef struct ref_node *ref_ptr;
-
-/* Natural Loops
- ************* */
-
-struct loop_node {
-
- struct loop_node *next;
-
- /* Loop Info
- ********* */
-
- struct bb_node *b;
- struct bb_node *d;
- struct bb_node **nl; /* nodes in natural loop
- (defined by back-edge)
- ********************** */
- struct state_node *compare;
- struct state_node *up_bnd;
- struct state_node *lw_bnd;
- u1_int strict; /* index/bound information
- ************************ */
- struct ref_node *refs;
- struct array_node *array; /* array information
- ***************** */
- u1_int *load_type;
- char **load_sig;
- u2_int load_locs; /* local var. usage
- **************** */
- u4_int min_ad;
- u4_int max_ad;
- u4_int exit_ad;
- u4_int cmp_ad; /* address information
- ******************* */
- u1_int ind_is_w;
- u2_int ind_step;
- u2_int ind_loc;
- u4_int ind_add; /* trivial loop index information
- ******************************* */
- u4_int cnt;
- u1_int triv;
- u1_int par; /* loop information
- **************** */
-} ;
-
-typedef struct loop_node *loop_ptr;
-
-/* Workers
- ******* */
-
-struct worker_node {
-
- struct worker_node *next;
-
- /* Worker Fields
- ************* */
-
- char *qualified_name;
- char *constr_d;
-
- u2_int *load_ind;
- u1_int *load_type;
- char **load_sig; /* Local Usage Information
- *********************** */
- u1_int* loop_code;
- u4_int l_len; /* Loop-Body
- ********* */
- u1_int ind_is_w;
- u2_int ind_step;
- u4_int ind_off; /* iinc Information
- **************** */
- u4_int entry_off;
- u4_int exit_off;
- u2_int max_stack;
- u2_int max_locals; /* Additional Information
- ********************** */
-} ;
-
-typedef struct worker_node *worker_ptr;
-
-/* Stack States
- ************ */
-
-struct state_node {
-
- struct state_node *gnext;
-
- union {
-
- struct {
- char *sig;
- u4_int ad;
- u2_int loc;
- u1_int d, d2, set;
- } ref;
-
- struct {
- u1_int *rd;
- s4_int con;
- } exp;
-
- } u;
-
- u1_int prop;
- u1_int kind;
-} ;
-
-typedef struct state_node *state_ptr;
-
-/* Basic Blocks
- ************ */
-
-struct bbh_node {
-
- struct bb_node *head;
- struct bbh_node *tail;
-
- loop_ptr loop;
- u1_int exc; /* exception flag */
-} ;
-
-typedef struct bbh_node *bbh_ptr;
-
-struct bb_node {
-
- struct bb_node *gnext;
-
- /* Data Flow Information
- ********************* */
-
- u1_int *dominators;
-
- u1_int *rd_gen;
- u1_int *rd_kill;
- u1_int *rd_in;
- u1_int *rd_out;
-
- u1_int *upw_use;
-
- state_ptr *s_gen;
- state_ptr *s_in;
- state_ptr *s_out;
-
- /* Control Flow Information
- ************************ */
-
- struct bbh_node *pred;
- struct bbh_node *succ;
-
- u4_int name;
- u4_int low, high;
-
- u1_int visited;
-} ;
-
-typedef struct bb_node *bb_ptr;
-
-/* *****************************************
- *** Prototypes and External Variables ***
- ***************************************** */
-
-/* main.c
- ****** */
-
-extern u1_int my_not;
-extern u1_int error;
-extern u4_int n_par, n_nest, n_loop, n_triv;
-
-u1_int query(void);
-void javab_out(s1_int, char *, ...);
-void *make_mem(int);
-void *more_mem(void *, int);
-
-/* class.c
- ******* */
-
-extern u4_int magic;
-extern u2_int minor_version, major_version;
-extern u2_int constant_pool_count;
-extern constant_ptr *constant_pool;
-extern u2_int access_flags, this_class, super_class;
-extern u2_int interfaces_count;
-extern u2_int *interfaces;
-extern u2_int fields_count;
-extern fm_ptr *fields;
-extern u2_int methods_count;
-extern fm_ptr *methods;
-extern u2_int attributes_count;
-extern attribute_ptr *attributes;
-
-void make_shadow_cp(void);
-void mark_shadow_cp(u2_int);
-void take_shadow_cp(void);
-void dump_shadow_cp(void);
-void elim_shadow_cp(void);
-
-void process_classfile(FILE *, u1_int);
-u1_int valid_cp_entry(u1_int, u2_int, char *);
-void show_cp_entry(constant_ptr);
-
-attribute_ptr new_attribute(void);
-
-void add_cp_entry(u1_int, char *, u2_int, u2_int);
-void add_field(fm_ptr);
-void add_method(fm_ptr);
-
-/* byte.c
- ****** */
-
-state_ptr new_stack_state(u1_int, u4_int, s4_int);
-void check_triv_loop(loop_ptr);
-int byte_proc(void);
-
-/* basic.c
- ******* */
-
-void nop_loop(attribute_ptr, loop_ptr, u1_int *);
-
-void bb_link_sub_back(u1_int *, bb_ptr, bb_ptr);
-bb_ptr bb_add(u2_int, u2_int, u1_int);
-void bb_add_pred(bb_ptr, bb_ptr, u1_int);
-void bb_add_succ(bb_ptr, bb_ptr, u1_int);
-
-void bb_first(u2_int, u2_int *, u4_int *, char **, u2_int,
- u2_int, u2_int *, u4_int *, u1_int *, u2_int);
-void bb_second(u1_int *);
-void bb_par(attribute_ptr, u1_int *, u1_int *);
-void bb_delete(void);
-
-void dump_sta(state_ptr);
-
-/* dump.c
- ****** */
-
-void dump_classfile(FILE *);
-
-/* par.c
- ***** */
-
-void output_workers(char *);
-void parallelize_loop(attribute_ptr, loop_ptr, u1_int *);
diff --git a/goto_trans/dump.c b/goto_trans/dump.c
deleted file mode 100644
index be737e5..0000000
--- a/goto_trans/dump.c
+++ /dev/null
@@ -1,292 +0,0 @@
-
-/* *************
- *** JAVAB ***
- ****************************************************
- *** Copyright (c) 1997 ***
- *** Aart J.C. Bik Indiana University ***
- *** All Rights Reserved ***
- ****************************************************
- *** Please refer to the LICENSE file distributed ***
- *** with this software for further details on ***
- *** the licensing terms and conditions. ***
- *** ***
- *** Please, report all bugs, comments, etc. ***
- *** to: ajcbik at extreme.indiana.edu ***
- ****************************************************
- *** dump.c : output to class file
- ***
- ***
- *** Your courtesy in mentioning the use of this bytecode tool
- *** in any scientific work that presents results obtained
- *** by using (extensions or modifications of) the tool
- *** is highly appreciated.
- ***
- *** */
-
-/* ********************************************************
- *** INCLUDE FILES and DEFINITIONS ***
- ******************************************************** */
-
-#include <stdarg.h>
-#include "class.h"
-
-/* ********************************************************
- *** EXTERNAL VARIABLES ***
- ******************************************************** */
-
-/* PRIVATE
- ******* */
-
-static FILE *dumpfile;
-
-/* ********************************************************
- *** PRIVATE FUNCTIONS ***
- ******************************************************** */
-
-/* write u1_int, u2_int, and u4_int routines
- **************************************** */
-
-static void write_u1(u1_int u) {
- fputc(u, dumpfile);
-}
-
-static void write_u2(u2_int u) {
- u1_int u1 = HIGB_U2(u);
- u1_int u2 = LOWB_U2(u);
-
- fputc(u1, dumpfile);
- fputc(u2, dumpfile);
-}
-
-static void write_u4(u4_int u) {
- u1_int u1 = HIGB_U4(u);
- u1_int u2 = LOWB_U4(u);
- u1_int u3 = HIGB_U2(u);
- u1_int u4 = LOWB_U2(u);
-
- fputc(u1, dumpfile);
- fputc(u2, dumpfile);
- fputc(u3, dumpfile);
- fputc(u4, dumpfile);
-}
-
-/* **********************************************************
- *** Output of the different components of a class file ***
- ********************************************************** */
-
-/* output of attribute information
- ******************************* */
-
-static void dump_attributes(u2_int cnt, attribute_ptr *a) {
-
- u4_int i, j; /* wide counters */
-
- write_u2(cnt);
-
- if (cnt != 0u) {
-
- if (! a)
- javab_out(-1, "lost attributes in dump_attributes()");
-
- for (i = 0u; i < cnt; i++) {
-
- if ((! a[i]) || (! a[i] -> info))
- javab_out(-1, "lost attribute entry in dump_attributes()");
- else {
-
- u2_int ind = a[i] -> attribute_name_index;
- u4_int len = a[i] -> attribute_length;
- u1_int *info = a[i] -> info;
-
- write_u2(ind);
- write_u4(len);
-
- for (j = 0u; j < len; j++)
- write_u1(info[j]);
- }
- }
- }
-}
-
-/* output of constant pool information
- *********************************** */
-
-static void dump_constant_pool(void) {
-
- u4_int i, j; /* wide counters */
-
- write_u2(constant_pool_count);
-
- if ((constant_pool_count == 0u) || (! constant_pool))
- javab_out(-1, "lost constant pool in dump_cpool()");
-
- for (i = 1u; i < constant_pool_count; i++) {
-
- constant_ptr ce = constant_pool[i];
-
- if (! ce)
- javab_out(-1, "lost pool entry in dump_cpool()");
-
- write_u1(ce -> tag);
-
- switch(ce -> tag) {
-
- case CONSTANT_Class:
- case CONSTANT_String:
-
- write_u2(ce -> u.indices.index1);
- break;
-
- case CONSTANT_Fieldref:
- case CONSTANT_Methodref:
- case CONSTANT_InterfaceMethodref:
- case CONSTANT_NameAndType:
-
- write_u2(ce -> u.indices.index1);
- write_u2(ce -> u.indices.index2);
- break;
-
- case CONSTANT_Integer:
- case CONSTANT_Float:
-
- write_u4(ce -> u.data.val1);
- break;
-
- case CONSTANT_Long:
- case CONSTANT_Double:
-
- write_u4(ce -> u.data.val1);
- write_u4(ce -> u.data.val2);
-
- i++; /* invalid next entry */
-
- break;
-
- case CONSTANT_Utf8:
-
- { u2_int l = ce -> u.utf8.l;
- u1_int *s = ce -> u.utf8.s;
-
- if (! s)
- javab_out(-1, "lost UTF8 string in dump_cpool()");
-
- write_u2(l);
-
- for (j = 0u; j < l; j++)
- write_u1(s[j]);
- }
- break;
-
- default:
- javab_out(-1, "invalid constant pool entry in dump_cpool()");
- }
- }
-}
-
-/* output of interface information
- ******************************* */
-
-static void dump_interfaces(void) {
-
- u4_int i; /* wide counter */
-
- write_u2(interfaces_count);
-
- if (interfaces_count != 0u) {
-
- if (! interfaces)
- javab_out(-1, "lost interfaces in dump_interfaces()");
-
- for (i = 0u; i < interfaces_count; i++)
- write_u2(interfaces[i]);
- }
-}
-
-/* output of field information
- *************************** */
-
-static void dump_fields(void) {
-
- u4_int i; /* wide counter */
-
- write_u2(fields_count);
-
- if (fields_count != 0u) {
-
- if (! fields)
- javab_out(-1, "lost fields in dump_fields()");
-
- for (i = 0u; i < fields_count; i++) {
-
- if (! fields[i])
- javab_out(-1, "lost field entry in dump_fields()");
-
- write_u2(fields[i] -> access_flags);
- write_u2(fields[i] -> name_index);
- write_u2(fields[i] -> descr_index);
-
- dump_attributes(fields[i] -> attributes_count,
- fields[i] -> attributes);
- }
- }
-}
-
-/* output of method information
- **************************** */
-
-static void dump_methods(void) {
-
- u4_int i; /* wide counter */
-
- write_u2(methods_count);
-
- if (methods_count != 0u) {
-
- if (! methods)
- javab_out(-1, "lost methods in dump_methods()");
-
- for (i = 0u; i < methods_count; i++) {
-
- if (! methods[i])
- javab_out(-1, "lost method entry in dump_methods()");
-
- write_u2(methods[i] -> access_flags);
- write_u2(methods[i] -> name_index);
- write_u2(methods[i] -> descr_index);
-
- dump_attributes(methods[i] -> attributes_count,
- methods[i] -> attributes);
- }
- }
-}
-
-/* output of complete class file structure
- *************************************** */
-
-static void dump_class(void) {
-
- write_u4(magic); /* magic */
-
- write_u2(minor_version); /* versions */
- write_u2(major_version);
-
- dump_constant_pool();
-
- write_u2(access_flags); /* class info */
- write_u2(this_class);
- write_u2(super_class);
-
- dump_interfaces();
- dump_fields();
- dump_methods();
- dump_attributes(attributes_count, attributes);
-}
-
-/* ********************************************************
- *** PUBLIC FUNCTIONS ***
- ******************************************************** */
-
-void dump_classfile(FILE *f) {
- dumpfile = (f) ? f : stdout;
- dump_class();
-}
diff --git a/goto_trans/main.c b/goto_trans/main.c
deleted file mode 100644
index 0f8d35c..0000000
--- a/goto_trans/main.c
+++ /dev/null
@@ -1,306 +0,0 @@
-
-/* *************
- *** JAVAB ***
- ****************************************************
- *** Copyright (c) 1997 ***
- *** Aart J.C. Bik Indiana University ***
- *** All Rights Reserved ***
- ****************************************************
- *** Please refer to the LICENSE file distributed ***
- *** with this software for further details on ***
- *** the licensing terms and conditions. ***
- *** ***
- *** Please, report all bugs, comments, etc. ***
- *** to: ajcbik at extreme.indiana.edu ***
- ****************************************************
- *** main.c : control program
- ***
- ***
- *** Your courtesy in mentioning the use of this bytecode tool
- *** in any scientific work that presents results obtained
- *** by using (extensions or modifications of) the tool
- *** is highly appreciated.
- ***
- *** */
-
-/* ********************************************************
- *** INCLUDE FILES and DEFINITIONS ***
- ******************************************************** */
-
-#include <stdarg.h>
-#include "class.h"
-
-#undef AUTO_QUERY
-
-/* ********************************************************
- *** EXTERNAL VARIABLES ***
- ******************************************************** */
-
-/* PUBLIC
- ****** */
-
-u1_int my_not = 4u;
-u1_int error = 0u;
-u4_int n_par = 0u, n_nest = 0u, n_loop = 0u, n_triv = 0u;
-char *filename = NULL;
-
-/* PRIVATE
- ******* */
-
-static u1_int tot_err = 0u;
-static u4_int files = 0u;
-static FILE *file = NULL;
-
-/* ********************************************************
- *** PRIVATE FUNCTIONS ***
- ******************************************************** */
-
-/* Move original 'file.ext' to 'file.old'
- and open a new 'file.ext' for output
- ************************************************* */
-
-static FILE *new_file(char *oldname) {
- int i, last = -1;
- char *newname = NULL, c = '\0';
- FILE *newfile = NULL;
-
- if (! oldname) /* Safety */
- javab_out(-1, "incorrect invocation of new_file()");
-
- /* Construct new name file.old by stripping
- last extension from original file.ext */
-
- for (i = 0; oldname[i]; i++)
- if (oldname[i] == '.')
- last = i;
-
- if (last >= 0) {
- c = oldname[last];
- oldname[last] = '\0';
- }
-
- /* DYNAMIC MEMORY ALLOCATION -> no restriction on length */
-
- newname = (char *) make_mem(sizeof(char) * (strlen(oldname) + 6));
- sprintf(newname, "%s.old", oldname);
-
- if (last >= 0)
- oldname[last] = c;
-
- /* Prevent Overwriting of existing file.old */
-
- if((newfile = fopen(newname, "r"))) {
- javab_out(0, "cannot apply javab to %s"
- " (%s exists)", oldname, newname);
- fclose(newfile);
- newfile = NULL;
- }
- else {
-
- /* DYNAMIC MEMORY ALLOCATION -> no restriction on length */
-
- char *command = (char *) make_mem(sizeof(char) *
- (strlen(oldname) + strlen(newname) + 5));
-
- sprintf(command, "mv %s %s", oldname, newname);
-
- /* Re-name original file.ext to file.old */
-
- javab_out(2, " -- executing '%s'", command);
-
- if (system(command))
- javab_out(0, "command %s failed", command);
- else {
-
- /* Re-open original file.ext for new output */
-
- if (! (newfile = fopen(oldname, "w")))
- javab_out(0, "cannot open file %s", oldname);
- else
- javab_out(2, " -- output to file %s", oldname);
- }
- free(command);
- }
- free(newname);
-
- return newfile;
-}
-
-/* Process a Class File
- ******************** */
-
-static void process(void) {
- FILE *outfile;
- int num;
-
- files++;
- error = 0;
-
- process_classfile(file, 0u); /* read */
- /* process_classfile(NULL, 1u); */ /* verify */
-
- num = byte_proc();
-
- if(num > 0) {
- outfile = new_file(filename);
-
- if (outfile) {
- dump_classfile(outfile);
- fclose(outfile);
- }
- }
-}
-
-/* ********************************************************
- *** PUBLIC FUNCTIONS ***
- ******************************************************** */
-
-/* ****************************
- *** User input on Query ***
- ****************************
- *** y/Y : yes ***
- *** n/N : no ***
- *** q/Q : no, quit query ***
- **************************** */
-
-u1_int query(void) {
- char str[80];
- u1_int res = 2u;
-
-#ifdef AUTO_QUERY
- fprintf(stderr, "(y/n/q) => Y\n");
- return 1u;
-#endif
-
- do {
-
- fprintf(stderr, "(y/n/q) => ");
- fflush(stderr);
-
- fgets(str, 80, stdin);
-
- if (strlen(str) != 0)
- switch (str[0]) {
-
- case 'y':
- case 'Y':
- res = 1u;
- break;
-
- case 'n':
- case 'N':
- res = 0u;
- break;
-
- case 'q':
- case 'Q':
- res = 0u;
- break;
- }
- }
- while (res == 2u);
-
- return res;
-}
-
-/* **********************************
- *** Error and Warning Messages ***
- ***************************************************************
- *** level == -1 : FATAL ERROR, EXIT PROGRAM ***
- *** level == 0 : ERRROR, SET ERROR FLAG ***
- *** level == 1 : STRONG MESSAGE ***
- *** level == 2 : MESSAGE, PRINT ONLY FOR '-v' ***
- *************************************************************** */
-
-void javab_out(s1_int level, char *fmt, ...) {
- va_list argv;
-
- if (level == 0)
- tot_err = error = 1;
- /* else if (level > 1 && ! s_verbose) */
- else if (level > 1)
- return;
-
- va_start(argv, fmt);
-
- if (file)
- fprintf(stderr, "%s:: ", (filename) ? filename : "stdin");
-
- vfprintf(stderr, fmt, argv);
- putc('\n', stderr);
-
- va_end(argv);
-
- if (level < 0)
- exit(1);
-}
-
-/* Memory Allocation Functions
- [for size <= 0, size == 1 is used
- because some systems return NULL for malloc(0);]
- ************************************************* */
-
-void *make_mem(int size) {
- void *p = calloc(((size > 0) ? size : 4), sizeof(u1_int));
- if (! p)
- javab_out(-1, "Out of Memory");
- return p;
-}
-
-void *more_mem(void *p, int size) {
- if (p) {
- p = realloc(p, ((size > 0) ? size : 1));
- if (! p)
- javab_out(-1, "Out of Memory (re-allocation)");
- return p;
- }
- else
- return make_mem(size);
-}
-
-/* ********************
- *** Main Program ***
- ******************** */
-
-int main(int argc, char *argv[]) {
- int i;
- u1_int unproc = 1;
-
- /* Process Environment Variable */
-
- char *env = getenv("JAVAB_THREADS");
-
- if (env) {
- my_not = (u1_int) atoi(env);
-
- if (my_not < 2u)
- my_not = 4u;
- else if (my_not > 16u)
- my_not = 16u;
- }
-
- for (i = 1; i < argc; i++) {
-
- if (argv[i]) {
- file = fopen(filename = argv[i], "r");
- unproc = 0;
-
- if (file) {
- process();
- fclose(file);
- }
- else
- javab_out(0, "cannot open file %s", filename);
- }
- }
-
- /* Process Standard Input by Default */
-
- if (unproc) {
- file = stdin;
- process();
- }
-
- return tot_err;
-}
-
diff --git a/goto_trans/make.def.in b/goto_trans/make.def.in
deleted file mode 100644
index 973e71a..0000000
--- a/goto_trans/make.def.in
+++ /dev/null
@@ -1,7 +0,0 @@
-
-CC=@CC@
-LIBS=@LIBS@
-
-F2J_BINDIR=@F2J_INSTALL_PREFIX@/bin
-
-CFLAGS=-Wall @CFLAGS@
diff --git a/goto_trans/symtab.c b/goto_trans/symtab.c
deleted file mode 100644
index efcb2af..0000000
--- a/goto_trans/symtab.c
+++ /dev/null
@@ -1,130 +0,0 @@
-#include<stdio.h>
-#include<stdlib.h>
-#include<string.h>
-#include "symtab.h"
-
-#define symdebug 0
-
-void *malloc(size_t);
-void *calloc(size_t, size_t);
-
-SYMTABLE *
-new_symtable (int numentries)
-{
- SYMTABLE *newtable;
- newtable = (SYMTABLE *) malloc (sizeof (SYMTABLE));
-
- /* Handle out-of-mem. */
- if (newtable == NULL)
- {
- perror ("malloc error creating new symboltable");
- exit (-1);
- }
-
- newtable->num_entries = numentries;
- newtable->entry = (HASHNODE **) calloc (numentries, sizeof (HASHNODE *));
-
- /* Handle out-of-mem. */
- if (newtable->entry == NULL)
- {
- perror ("calloc error creating new symbol table");
- exit (-1);
- }
-
- return (newtable);
-} /* Close new_symtable(). */
-
-void
-type_insert (HASHNODE ** list, int node_val, char *tag)
-{
-
- HASHNODE *newnode;
-
- newnode = (HASHNODE *) malloc (sizeof (HASHNODE));
- newnode->ident = tag;
- newnode->val = node_val;
-
- /* Note carefully the dereferencing operators. */
- newnode->next = *list;
- *list = newnode;
-}
-
-
-/* This is a specific lookup routine to match an id with
- its associated type. I will need others for matching
- externals, intrinsics, etc. */
-HASHNODE *
-type_lookup (SYMTABLE * table, char *id)
-{
- int index;
- HASHNODE *hash_entry;
- int hash(char *);
-
- if((table == NULL) || (id == NULL)) {
- return NULL;
- }
-
- index = hash (id) % table->num_entries;
-
- hash_entry = search_hashlist (table->entry[index], id);
- if (hash_entry == NULL)
- {
- if(symdebug)printf ("Not in table.\n");
- return NULL;
- }
- else /* Attempt to return the value pointed to by "type". */
- {
- if(symdebug)printf("In table.\n");
- return (hash_entry);
- }
-}
-
-HASHNODE * format_lookup(SYMTABLE *table, char *label)
-{
- return type_lookup(table,label);
-}
-
-HASHNODE *
-search_hashlist (HASHNODE * list, char *id)
-{
-
- if(id == NULL)
- return NULL;
-
- for (; list != NULL ; list = list->next)
- {
- if(list->ident == NULL)
- continue;
- if (!strcmp (list->ident, id))
- return (list);
- }
-
- return NULL; /* Not in list. */
-}
-
-
-/* Simple hash function: just add the ascii integer
- values of each character in the string.
-
- Added error check for null string and made some
- other minor changes. 12/5/97 --Keith
- */
-
-int
-hash (char *str)
-{
- int sum = 0;
- int i=0, len;
-
- if(str == NULL)
- return 0;
-
- len = strlen(str);
-
- while (i < len)
- {
- sum += (int) str[i];
- i++;
- }
- return sum;
-}
diff --git a/goto_trans/symtab.h b/goto_trans/symtab.h
deleted file mode 100644
index 2386ec6..0000000
--- a/goto_trans/symtab.h
+++ /dev/null
@@ -1,22 +0,0 @@
-
-typedef struct hash_node
- {
- int val;
- char *ident;
- struct hash_node *next;
- }
-HASHNODE;
-
-
-typedef struct sym_table
- {
- int num_entries;
- HASHNODE **entry;
- }
-SYMTABLE;
-
-/* Prototypes. */
-
-HASHNODE * search_hashlist(HASHNODE *, char *);
-HASHNODE * type_lookup(SYMTABLE *, char *);
-SYMTABLE * new_symtable(int);
diff --git a/libbytecode/configure b/libbytecode/configure
deleted file mode 100755
index c1c0459..0000000
--- a/libbytecode/configure
+++ /dev/null
@@ -1,3601 +0,0 @@
-#! /bin/sh
-# From configure.in Revision: 1.4 .
-# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.59 for libbytecode 0.8.
-#
-# Report bugs to <f2j at cs.utk.edu>.
-#
-# Copyright (C) 2003 Free Software Foundation, Inc.
-# This configure script is free software; the Free Software Foundation
-# gives unlimited permission to copy, distribute and modify it.
-## --------------------- ##
-## M4sh Initialization. ##
-## --------------------- ##
-
-# Be Bourne compatible
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
- emulate sh
- NULLCMD=:
- # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '${1+"$@"}'='"$@"'
-elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
- set -o posix
-fi
-DUALCASE=1; export DUALCASE # for MKS sh
-
-# Support unset when possible.
-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
- as_unset=unset
-else
- as_unset=false
-fi
-
-
-# Work around bugs in pre-3.0 UWIN ksh.
-$as_unset ENV MAIL MAILPATH
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-for as_var in \
- LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
- LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
- LC_TELEPHONE LC_TIME
-do
- if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
- eval $as_var=C; export $as_var
- else
- $as_unset $as_var
- fi
-done
-
-# Required to use basename.
-if expr a : '\(a\)' >/dev/null 2>&1; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
- as_basename=basename
-else
- as_basename=false
-fi
-
-
-# Name of the executable.
-as_me=`$as_basename "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)$' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X/"$0" |
- sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
- /^X\/\(\/\/\)$/{ s//\1/; q; }
- /^X\/\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
-
-
-# PATH needs CR, and LINENO needs CR and PATH.
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- echo "#! /bin/sh" >conf$$.sh
- echo "exit 0" >>conf$$.sh
- chmod +x conf$$.sh
- if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
- PATH_SEPARATOR=';'
- else
- PATH_SEPARATOR=:
- fi
- rm -f conf$$.sh
-fi
-
-
- as_lineno_1=$LINENO
- as_lineno_2=$LINENO
- as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
- test "x$as_lineno_1" != "x$as_lineno_2" &&
- test "x$as_lineno_3" = "x$as_lineno_2" || {
- # Find who we are. Look in the path if we contain no path at all
- # relative or not.
- case $0 in
- *[\\/]* ) as_myself=$0 ;;
- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-done
-
- ;;
- esac
- # We did not find ourselves, most probably we were run as `sh COMMAND'
- # in which case we are not to be found in the path.
- if test "x$as_myself" = x; then
- as_myself=$0
- fi
- if test ! -f "$as_myself"; then
- { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2
- { (exit 1); exit 1; }; }
- fi
- case $CONFIG_SHELL in
- '')
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for as_base in sh bash ksh sh5; do
- case $as_dir in
- /*)
- if ("$as_dir/$as_base" -c '
- as_lineno_1=$LINENO
- as_lineno_2=$LINENO
- as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
- test "x$as_lineno_1" != "x$as_lineno_2" &&
- test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then
- $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
- $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
- CONFIG_SHELL=$as_dir/$as_base
- export CONFIG_SHELL
- exec "$CONFIG_SHELL" "$0" ${1+"$@"}
- fi;;
- esac
- done
-done
-;;
- esac
-
- # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
- # uniformly replaced by the line number. The first 'sed' inserts a
- # line-number line before each line; the second 'sed' does the real
- # work. The second script uses 'N' to pair each line-number line
- # with the numbered line, and appends trailing '-' during
- # substitution so that $LINENO is not a special case at line end.
- # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
- # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-)
- sed '=' <$as_myself |
- sed '
- N
- s,$,-,
- : loop
- s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
- t loop
- s,-$,,
- s,^['$as_cr_digits']*\n,,
- ' >$as_me.lineno &&
- chmod +x $as_me.lineno ||
- { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
- { (exit 1); exit 1; }; }
-
- # Don't try to exec as it changes $[0], causing all sort of problems
- # (the dirname of $[0] is not the place where we might find the
- # original and so on. Autoconf is especially sensible to this).
- . ./$as_me.lineno
- # Exit status is that of the last command.
- exit
-}
-
-
-case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
- *c*,-n*) ECHO_N= ECHO_C='
-' ECHO_T=' ' ;;
- *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;;
- *) ECHO_N= ECHO_C='\c' ECHO_T= ;;
-esac
-
-if expr a : '\(a\)' >/dev/null 2>&1; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-rm -f conf$$ conf$$.exe conf$$.file
-echo >conf$$.file
-if ln -s conf$$.file conf$$ 2>/dev/null; then
- # We could just check for DJGPP; but this test a) works b) is more generic
- # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
- if test -f conf$$.exe; then
- # Don't use ln at all; we don't have any links
- as_ln_s='cp -p'
- else
- as_ln_s='ln -s'
- fi
-elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
-else
- as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.file
-
-if mkdir -p . 2>/dev/null; then
- as_mkdir_p=:
-else
- test -d ./-p && rmdir ./-p
- as_mkdir_p=false
-fi
-
-as_executable_p="test -f"
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-
-# IFS
-# We need space, tab and new line, in precisely that order.
-as_nl='
-'
-IFS=" $as_nl"
-
-# CDPATH.
-$as_unset CDPATH
-
-
-# Name of the host.
-# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
-# so uname gets run too.
-ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
-
-exec 6>&1
-
-#
-# Initializations.
-#
-ac_default_prefix=/usr/local
-ac_config_libobj_dir=.
-cross_compiling=no
-subdirs=
-MFLAGS=
-MAKEFLAGS=
-SHELL=${CONFIG_SHELL-/bin/sh}
-
-# Maximum number of lines to put in a shell here document.
-# This variable seems obsolete. It should probably be removed, and
-# only ac_max_sed_lines should be used.
-: ${ac_max_here_lines=38}
-
-# Identity of this package.
-PACKAGE_NAME='libbytecode'
-PACKAGE_TARNAME='libbytecode'
-PACKAGE_VERSION='0.8'
-PACKAGE_STRING='libbytecode 0.8'
-PACKAGE_BUGREPORT='f2j at cs.utk.edu'
-
-ac_unique_file="api.c"
-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT SET_MAKE RANLIB ac_ct_RANLIB AR JAVAC JAVA F2J_INSTALL_PREFIX DOXYGEN LIBOBJS LTLIBOBJS'
-ac_subst_files=''
-
-# Initialize some variables set by options.
-ac_init_help=
-ac_init_version=false
-# The variables have the same names as the options, with
-# dashes changed to underlines.
-cache_file=/dev/null
-exec_prefix=NONE
-no_create=
-no_recursion=
-prefix=NONE
-program_prefix=NONE
-program_suffix=NONE
-program_transform_name=s,x,x,
-silent=
-site=
-srcdir=
-verbose=
-x_includes=NONE
-x_libraries=NONE
-
-# Installation directory options.
-# These are left unexpanded so users can "make install exec_prefix=/foo"
-# and all the variables that are supposed to be based on exec_prefix
-# by default will actually change.
-# Use braces instead of parens because sh, perl, etc. also accept them.
-bindir='${exec_prefix}/bin'
-sbindir='${exec_prefix}/sbin'
-libexecdir='${exec_prefix}/libexec'
-datadir='${prefix}/share'
-sysconfdir='${prefix}/etc'
-sharedstatedir='${prefix}/com'
-localstatedir='${prefix}/var'
-libdir='${exec_prefix}/lib'
-includedir='${prefix}/include'
-oldincludedir='/usr/include'
-infodir='${prefix}/info'
-mandir='${prefix}/man'
-
-ac_prev=
-for ac_option
-do
- # If the previous option needs an argument, assign it.
- if test -n "$ac_prev"; then
- eval "$ac_prev=\$ac_option"
- ac_prev=
- continue
- fi
-
- ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'`
-
- # Accept the important Cygnus configure options, so we can diagnose typos.
-
- case $ac_option in
-
- -bindir | --bindir | --bindi | --bind | --bin | --bi)
- ac_prev=bindir ;;
- -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
- bindir=$ac_optarg ;;
-
- -build | --build | --buil | --bui | --bu)
- ac_prev=build_alias ;;
- -build=* | --build=* | --buil=* | --bui=* | --bu=*)
- build_alias=$ac_optarg ;;
-
- -cache-file | --cache-file | --cache-fil | --cache-fi \
- | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
- ac_prev=cache_file ;;
- -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
- | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
- cache_file=$ac_optarg ;;
-
- --config-cache | -C)
- cache_file=config.cache ;;
-
- -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
- ac_prev=datadir ;;
- -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
- | --da=*)
- datadir=$ac_optarg ;;
-
- -disable-* | --disable-*)
- ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid feature name: $ac_feature" >&2
- { (exit 1); exit 1; }; }
- ac_feature=`echo $ac_feature | sed 's/-/_/g'`
- eval "enable_$ac_feature=no" ;;
-
- -enable-* | --enable-*)
- ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid feature name: $ac_feature" >&2
- { (exit 1); exit 1; }; }
- ac_feature=`echo $ac_feature | sed 's/-/_/g'`
- case $ac_option in
- *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
- *) ac_optarg=yes ;;
- esac
- eval "enable_$ac_feature='$ac_optarg'" ;;
-
- -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
- | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
- | --exec | --exe | --ex)
- ac_prev=exec_prefix ;;
- -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
- | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
- | --exec=* | --exe=* | --ex=*)
- exec_prefix=$ac_optarg ;;
-
- -gas | --gas | --ga | --g)
- # Obsolete; use --with-gas.
- with_gas=yes ;;
-
- -help | --help | --hel | --he | -h)
- ac_init_help=long ;;
- -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
- ac_init_help=recursive ;;
- -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
- ac_init_help=short ;;
-
- -host | --host | --hos | --ho)
- ac_prev=host_alias ;;
- -host=* | --host=* | --hos=* | --ho=*)
- host_alias=$ac_optarg ;;
-
- -includedir | --includedir | --includedi | --included | --include \
- | --includ | --inclu | --incl | --inc)
- ac_prev=includedir ;;
- -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
- | --includ=* | --inclu=* | --incl=* | --inc=*)
- includedir=$ac_optarg ;;
-
- -infodir | --infodir | --infodi | --infod | --info | --inf)
- ac_prev=infodir ;;
- -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
- infodir=$ac_optarg ;;
-
- -libdir | --libdir | --libdi | --libd)
- ac_prev=libdir ;;
- -libdir=* | --libdir=* | --libdi=* | --libd=*)
- libdir=$ac_optarg ;;
-
- -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
- | --libexe | --libex | --libe)
- ac_prev=libexecdir ;;
- -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
- | --libexe=* | --libex=* | --libe=*)
- libexecdir=$ac_optarg ;;
-
- -localstatedir | --localstatedir | --localstatedi | --localstated \
- | --localstate | --localstat | --localsta | --localst \
- | --locals | --local | --loca | --loc | --lo)
- ac_prev=localstatedir ;;
- -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
- | --localstate=* | --localstat=* | --localsta=* | --localst=* \
- | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
- localstatedir=$ac_optarg ;;
-
- -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
- ac_prev=mandir ;;
- -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
- mandir=$ac_optarg ;;
-
- -nfp | --nfp | --nf)
- # Obsolete; use --without-fp.
- with_fp=no ;;
-
- -no-create | --no-create | --no-creat | --no-crea | --no-cre \
- | --no-cr | --no-c | -n)
- no_create=yes ;;
-
- -no-recursion | --no-recursion | --no-recursio | --no-recursi \
- | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
- no_recursion=yes ;;
-
- -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
- | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
- | --oldin | --oldi | --old | --ol | --o)
- ac_prev=oldincludedir ;;
- -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
- | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
- | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
- oldincludedir=$ac_optarg ;;
-
- -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
- ac_prev=prefix ;;
- -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
- prefix=$ac_optarg ;;
-
- -program-prefix | --program-prefix | --program-prefi | --program-pref \
- | --program-pre | --program-pr | --program-p)
- ac_prev=program_prefix ;;
- -program-prefix=* | --program-prefix=* | --program-prefi=* \
- | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
- program_prefix=$ac_optarg ;;
-
- -program-suffix | --program-suffix | --program-suffi | --program-suff \
- | --program-suf | --program-su | --program-s)
- ac_prev=program_suffix ;;
- -program-suffix=* | --program-suffix=* | --program-suffi=* \
- | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
- program_suffix=$ac_optarg ;;
-
- -program-transform-name | --program-transform-name \
- | --program-transform-nam | --program-transform-na \
- | --program-transform-n | --program-transform- \
- | --program-transform | --program-transfor \
- | --program-transfo | --program-transf \
- | --program-trans | --program-tran \
- | --progr-tra | --program-tr | --program-t)
- ac_prev=program_transform_name ;;
- -program-transform-name=* | --program-transform-name=* \
- | --program-transform-nam=* | --program-transform-na=* \
- | --program-transform-n=* | --program-transform-=* \
- | --program-transform=* | --program-transfor=* \
- | --program-transfo=* | --program-transf=* \
- | --program-trans=* | --program-tran=* \
- | --progr-tra=* | --program-tr=* | --program-t=*)
- program_transform_name=$ac_optarg ;;
-
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil)
- silent=yes ;;
-
- -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
- ac_prev=sbindir ;;
- -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
- | --sbi=* | --sb=*)
- sbindir=$ac_optarg ;;
-
- -sharedstatedir | --sharedstatedir | --sharedstatedi \
- | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
- | --sharedst | --shareds | --shared | --share | --shar \
- | --sha | --sh)
- ac_prev=sharedstatedir ;;
- -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
- | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
- | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
- | --sha=* | --sh=*)
- sharedstatedir=$ac_optarg ;;
-
- -site | --site | --sit)
- ac_prev=site ;;
- -site=* | --site=* | --sit=*)
- site=$ac_optarg ;;
-
- -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
- ac_prev=srcdir ;;
- -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
- srcdir=$ac_optarg ;;
-
- -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
- | --syscon | --sysco | --sysc | --sys | --sy)
- ac_prev=sysconfdir ;;
- -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
- | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
- sysconfdir=$ac_optarg ;;
-
- -target | --target | --targe | --targ | --tar | --ta | --t)
- ac_prev=target_alias ;;
- -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
- target_alias=$ac_optarg ;;
-
- -v | -verbose | --verbose | --verbos | --verbo | --verb)
- verbose=yes ;;
-
- -version | --version | --versio | --versi | --vers | -V)
- ac_init_version=: ;;
-
- -with-* | --with-*)
- ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid package name: $ac_package" >&2
- { (exit 1); exit 1; }; }
- ac_package=`echo $ac_package| sed 's/-/_/g'`
- case $ac_option in
- *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
- *) ac_optarg=yes ;;
- esac
- eval "with_$ac_package='$ac_optarg'" ;;
-
- -without-* | --without-*)
- ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid package name: $ac_package" >&2
- { (exit 1); exit 1; }; }
- ac_package=`echo $ac_package | sed 's/-/_/g'`
- eval "with_$ac_package=no" ;;
-
- --x)
- # Obsolete; use --with-x.
- with_x=yes ;;
-
- -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
- | --x-incl | --x-inc | --x-in | --x-i)
- ac_prev=x_includes ;;
- -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
- | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
- x_includes=$ac_optarg ;;
-
- -x-libraries | --x-libraries | --x-librarie | --x-librari \
- | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
- ac_prev=x_libraries ;;
- -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
- | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
- x_libraries=$ac_optarg ;;
-
- -*) { echo "$as_me: error: unrecognized option: $ac_option
-Try \`$0 --help' for more information." >&2
- { (exit 1); exit 1; }; }
- ;;
-
- *=*)
- ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
- # Reject names that are not valid shell variable names.
- expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid variable name: $ac_envvar" >&2
- { (exit 1); exit 1; }; }
- ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`
- eval "$ac_envvar='$ac_optarg'"
- export $ac_envvar ;;
-
- *)
- # FIXME: should be removed in autoconf 3.0.
- echo "$as_me: WARNING: you should use --build, --host, --target" >&2
- expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
- echo "$as_me: WARNING: invalid host type: $ac_option" >&2
- : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
- ;;
-
- esac
-done
-
-if test -n "$ac_prev"; then
- ac_option=--`echo $ac_prev | sed 's/_/-/g'`
- { echo "$as_me: error: missing argument to $ac_option" >&2
- { (exit 1); exit 1; }; }
-fi
-
-# Be sure to have absolute paths.
-for ac_var in exec_prefix prefix
-do
- eval ac_val=$`echo $ac_var`
- case $ac_val in
- [\\/$]* | ?:[\\/]* | NONE | '' ) ;;
- *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
- { (exit 1); exit 1; }; };;
- esac
-done
-
-# Be sure to have absolute paths.
-for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \
- localstatedir libdir includedir oldincludedir infodir mandir
-do
- eval ac_val=$`echo $ac_var`
- case $ac_val in
- [\\/$]* | ?:[\\/]* ) ;;
- *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
- { (exit 1); exit 1; }; };;
- esac
-done
-
-# There might be people who depend on the old broken behavior: `$host'
-# used to hold the argument of --host etc.
-# FIXME: To remove some day.
-build=$build_alias
-host=$host_alias
-target=$target_alias
-
-# FIXME: To remove some day.
-if test "x$host_alias" != x; then
- if test "x$build_alias" = x; then
- cross_compiling=maybe
- echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
- If a cross compiler is detected then cross compile mode will be used." >&2
- elif test "x$build_alias" != "x$host_alias"; then
- cross_compiling=yes
- fi
-fi
-
-ac_tool_prefix=
-test -n "$host_alias" && ac_tool_prefix=$host_alias-
-
-test "$silent" = yes && exec 6>/dev/null
-
-
-# Find the source files, if location was not specified.
-if test -z "$srcdir"; then
- ac_srcdir_defaulted=yes
- # Try the directory containing this script, then its parent.
- ac_confdir=`(dirname "$0") 2>/dev/null ||
-$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$0" : 'X\(//\)[^/]' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$0" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- srcdir=$ac_confdir
- if test ! -r $srcdir/$ac_unique_file; then
- srcdir=..
- fi
-else
- ac_srcdir_defaulted=no
-fi
-if test ! -r $srcdir/$ac_unique_file; then
- if test "$ac_srcdir_defaulted" = yes; then
- { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2
- { (exit 1); exit 1; }; }
- else
- { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
- { (exit 1); exit 1; }; }
- fi
-fi
-(cd $srcdir && test -r ./$ac_unique_file) 2>/dev/null ||
- { echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2
- { (exit 1); exit 1; }; }
-srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'`
-ac_env_build_alias_set=${build_alias+set}
-ac_env_build_alias_value=$build_alias
-ac_cv_env_build_alias_set=${build_alias+set}
-ac_cv_env_build_alias_value=$build_alias
-ac_env_host_alias_set=${host_alias+set}
-ac_env_host_alias_value=$host_alias
-ac_cv_env_host_alias_set=${host_alias+set}
-ac_cv_env_host_alias_value=$host_alias
-ac_env_target_alias_set=${target_alias+set}
-ac_env_target_alias_value=$target_alias
-ac_cv_env_target_alias_set=${target_alias+set}
-ac_cv_env_target_alias_value=$target_alias
-ac_env_CC_set=${CC+set}
-ac_env_CC_value=$CC
-ac_cv_env_CC_set=${CC+set}
-ac_cv_env_CC_value=$CC
-ac_env_CFLAGS_set=${CFLAGS+set}
-ac_env_CFLAGS_value=$CFLAGS
-ac_cv_env_CFLAGS_set=${CFLAGS+set}
-ac_cv_env_CFLAGS_value=$CFLAGS
-ac_env_LDFLAGS_set=${LDFLAGS+set}
-ac_env_LDFLAGS_value=$LDFLAGS
-ac_cv_env_LDFLAGS_set=${LDFLAGS+set}
-ac_cv_env_LDFLAGS_value=$LDFLAGS
-ac_env_CPPFLAGS_set=${CPPFLAGS+set}
-ac_env_CPPFLAGS_value=$CPPFLAGS
-ac_cv_env_CPPFLAGS_set=${CPPFLAGS+set}
-ac_cv_env_CPPFLAGS_value=$CPPFLAGS
-
-#
-# Report the --help message.
-#
-if test "$ac_init_help" = "long"; then
- # Omit some internal or obsolete options to make the list less imposing.
- # This message is too long to be a string in the A/UX 3.1 sh.
- cat <<_ACEOF
-\`configure' configures libbytecode 0.8 to adapt to many kinds of systems.
-
-Usage: $0 [OPTION]... [VAR=VALUE]...
-
-To assign environment variables (e.g., CC, CFLAGS...), specify them as
-VAR=VALUE. See below for descriptions of some of the useful variables.
-
-Defaults for the options are specified in brackets.
-
-Configuration:
- -h, --help display this help and exit
- --help=short display options specific to this package
- --help=recursive display the short help of all the included packages
- -V, --version display version information and exit
- -q, --quiet, --silent do not print \`checking...' messages
- --cache-file=FILE cache test results in FILE [disabled]
- -C, --config-cache alias for \`--cache-file=config.cache'
- -n, --no-create do not create output files
- --srcdir=DIR find the sources in DIR [configure dir or \`..']
-
-_ACEOF
-
- cat <<_ACEOF
-Installation directories:
- --prefix=PREFIX install architecture-independent files in PREFIX
- [$ac_default_prefix]
- --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
- [PREFIX]
-
-By default, \`make install' will install all the files in
-\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
-an installation prefix other than \`$ac_default_prefix' using \`--prefix',
-for instance \`--prefix=\$HOME'.
-
-For better control, use the options below.
-
-Fine tuning of the installation directories:
- --bindir=DIR user executables [EPREFIX/bin]
- --sbindir=DIR system admin executables [EPREFIX/sbin]
- --libexecdir=DIR program executables [EPREFIX/libexec]
- --datadir=DIR read-only architecture-independent data [PREFIX/share]
- --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
- --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
- --localstatedir=DIR modifiable single-machine data [PREFIX/var]
- --libdir=DIR object code libraries [EPREFIX/lib]
- --includedir=DIR C header files [PREFIX/include]
- --oldincludedir=DIR C header files for non-gcc [/usr/include]
- --infodir=DIR info documentation [PREFIX/info]
- --mandir=DIR man documentation [PREFIX/man]
-_ACEOF
-
- cat <<\_ACEOF
-_ACEOF
-fi
-
-if test -n "$ac_init_help"; then
- case $ac_init_help in
- short | recursive ) echo "Configuration of libbytecode 0.8:";;
- esac
- cat <<\_ACEOF
-
-Optional Packages:
- --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
- --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
- --with-doxygen=DOXYGEN doxygen binary name
- --with-debuglevel=num 0=none, 1=only errors default, 2=all debugging output
-
-Some influential environment variables:
- CC C compiler command
- CFLAGS C compiler flags
- LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
- nonstandard directory <lib dir>
- CPPFLAGS C/C++ preprocessor flags, e.g. -I<include dir> if you have
- headers in a nonstandard directory <include dir>
-
-Use these variables to override the choices made by `configure' or to help
-it to find libraries and programs with nonstandard names/locations.
-
-Report bugs to <f2j at cs.utk.edu>.
-_ACEOF
-fi
-
-if test "$ac_init_help" = "recursive"; then
- # If there are subdirs, report their specific --help.
- ac_popdir=`pwd`
- for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
- test -d $ac_dir || continue
- ac_builddir=.
-
-if test "$ac_dir" != .; then
- ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
- # A "../" for each directory in $ac_dir_suffix.
- ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
-else
- ac_dir_suffix= ac_top_builddir=
-fi
-
-case $srcdir in
- .) # No --srcdir option. We are building in place.
- ac_srcdir=.
- if test -z "$ac_top_builddir"; then
- ac_top_srcdir=.
- else
- ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
- fi ;;
- [\\/]* | ?:[\\/]* ) # Absolute path.
- ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir ;;
- *) # Relative path.
- ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_builddir$srcdir ;;
-esac
-
-# Do not use `cd foo && pwd` to compute absolute paths, because
-# the directories may not exist.
-case `pwd` in
-.) ac_abs_builddir="$ac_dir";;
-*)
- case "$ac_dir" in
- .) ac_abs_builddir=`pwd`;;
- [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
- *) ac_abs_builddir=`pwd`/"$ac_dir";;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_builddir=${ac_top_builddir}.;;
-*)
- case ${ac_top_builddir}. in
- .) ac_abs_top_builddir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
- *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_srcdir=$ac_srcdir;;
-*)
- case $ac_srcdir in
- .) ac_abs_srcdir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
- *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_srcdir=$ac_top_srcdir;;
-*)
- case $ac_top_srcdir in
- .) ac_abs_top_srcdir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
- *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
- esac;;
-esac
-
- cd $ac_dir
- # Check for guested configure; otherwise get Cygnus style configure.
- if test -f $ac_srcdir/configure.gnu; then
- echo
- $SHELL $ac_srcdir/configure.gnu --help=recursive
- elif test -f $ac_srcdir/configure; then
- echo
- $SHELL $ac_srcdir/configure --help=recursive
- elif test -f $ac_srcdir/configure.ac ||
- test -f $ac_srcdir/configure.in; then
- echo
- $ac_configure --help
- else
- echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
- fi
- cd $ac_popdir
- done
-fi
-
-test -n "$ac_init_help" && exit 0
-if $ac_init_version; then
- cat <<\_ACEOF
-libbytecode configure 0.8
-generated by GNU Autoconf 2.59
-
-Copyright (C) 2003 Free Software Foundation, Inc.
-This configure script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it.
-_ACEOF
- exit 0
-fi
-exec 5>config.log
-cat >&5 <<_ACEOF
-This file contains any messages produced by compilers while
-running configure, to aid debugging if configure makes a mistake.
-
-It was created by libbytecode $as_me 0.8, which was
-generated by GNU Autoconf 2.59. Invocation command line was
-
- $ $0 $@
-
-_ACEOF
-{
-cat <<_ASUNAME
-## --------- ##
-## Platform. ##
-## --------- ##
-
-hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
-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 || echo unknown`
-/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown`
-
-/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
-/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
-/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
-hostinfo = `(hostinfo) 2>/dev/null || echo unknown`
-/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
-/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
-/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
-
-_ASUNAME
-
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- echo "PATH: $as_dir"
-done
-
-} >&5
-
-cat >&5 <<_ACEOF
-
-
-## ----------- ##
-## Core tests. ##
-## ----------- ##
-
-_ACEOF
-
-
-# Keep a trace of the command line.
-# Strip out --no-create and --no-recursion so they do not pile up.
-# Strip out --silent because we don't want to record it for future runs.
-# Also quote any args containing shell meta-characters.
-# Make two passes to allow for proper duplicate-argument suppression.
-ac_configure_args=
-ac_configure_args0=
-ac_configure_args1=
-ac_sep=
-ac_must_keep_next=false
-for ac_pass in 1 2
-do
- for ac_arg
- do
- case $ac_arg in
- -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil)
- continue ;;
- *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
- ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
- esac
- case $ac_pass in
- 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;;
- 2)
- ac_configure_args1="$ac_configure_args1 '$ac_arg'"
- if test $ac_must_keep_next = true; then
- ac_must_keep_next=false # Got value, back to normal.
- else
- case $ac_arg in
- *=* | --config-cache | -C | -disable-* | --disable-* \
- | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
- | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
- | -with-* | --with-* | -without-* | --without-* | --x)
- case "$ac_configure_args0 " in
- "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
- esac
- ;;
- -* ) ac_must_keep_next=true ;;
- esac
- fi
- ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'"
- # Get rid of the leading space.
- ac_sep=" "
- ;;
- esac
- done
-done
-$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; }
-$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; }
-
-# When interrupted or exit'd, cleanup temporary files, and complete
-# config.log. We remove comments because anyway the quotes in there
-# would cause problems or look ugly.
-# WARNING: Be sure not to use single quotes in there, as some shells,
-# such as our DU 5.0 friend, will then `close' the trap.
-trap 'exit_status=$?
- # Save into config.log some information that might help in debugging.
- {
- echo
-
- cat <<\_ASBOX
-## ---------------- ##
-## Cache variables. ##
-## ---------------- ##
-_ASBOX
- echo
- # The following way of writing the cache mishandles newlines in values,
-{
- (set) 2>&1 |
- case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in
- *ac_space=\ *)
- sed -n \
- "s/'"'"'/'"'"'\\\\'"'"''"'"'/g;
- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p"
- ;;
- *)
- sed -n \
- "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
- ;;
- esac;
-}
- echo
-
- cat <<\_ASBOX
-## ----------------- ##
-## Output variables. ##
-## ----------------- ##
-_ASBOX
- echo
- for ac_var in $ac_subst_vars
- do
- eval ac_val=$`echo $ac_var`
- echo "$ac_var='"'"'$ac_val'"'"'"
- done | sort
- echo
-
- if test -n "$ac_subst_files"; then
- cat <<\_ASBOX
-## ------------- ##
-## Output files. ##
-## ------------- ##
-_ASBOX
- echo
- for ac_var in $ac_subst_files
- do
- eval ac_val=$`echo $ac_var`
- echo "$ac_var='"'"'$ac_val'"'"'"
- done | sort
- echo
- fi
-
- if test -s confdefs.h; then
- cat <<\_ASBOX
-## ----------- ##
-## confdefs.h. ##
-## ----------- ##
-_ASBOX
- echo
- sed "/^$/d" confdefs.h | sort
- echo
- fi
- test "$ac_signal" != 0 &&
- echo "$as_me: caught signal $ac_signal"
- echo "$as_me: exit $exit_status"
- } >&5
- rm -f core *.core &&
- rm -rf conftest* confdefs* conf$$* $ac_clean_files &&
- exit $exit_status
- ' 0
-for ac_signal in 1 2 13 15; do
- trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal
-done
-ac_signal=0
-
-# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -rf conftest* confdefs.h
-# AIX cpp loses on an empty file, so make sure it contains at least a newline.
-echo >confdefs.h
-
-# Predefined preprocessor variables.
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_NAME "$PACKAGE_NAME"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_VERSION "$PACKAGE_VERSION"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_STRING "$PACKAGE_STRING"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
-_ACEOF
-
-
-# Let the site file select an alternate cache file if it wants to.
-# Prefer explicitly selected file to automatically selected ones.
-if test -z "$CONFIG_SITE"; then
- if test "x$prefix" != xNONE; then
- CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
- else
- CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
- fi
-fi
-for ac_site_file in $CONFIG_SITE; do
- if test -r "$ac_site_file"; then
- { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
-echo "$as_me: loading site script $ac_site_file" >&6;}
- sed 's/^/| /' "$ac_site_file" >&5
- . "$ac_site_file"
- fi
-done
-
-if test -r "$cache_file"; then
- # Some versions of bash will fail to source /dev/null (special
- # files actually), so we avoid doing that.
- if test -f "$cache_file"; then
- { echo "$as_me:$LINENO: loading cache $cache_file" >&5
-echo "$as_me: loading cache $cache_file" >&6;}
- case $cache_file in
- [\\/]* | ?:[\\/]* ) . $cache_file;;
- *) . ./$cache_file;;
- esac
- fi
-else
- { echo "$as_me:$LINENO: creating cache $cache_file" >&5
-echo "$as_me: creating cache $cache_file" >&6;}
- >$cache_file
-fi
-
-# Check that the precious variables saved in the cache have kept the same
-# value.
-ac_cache_corrupted=false
-for ac_var in `(set) 2>&1 |
- sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do
- eval ac_old_set=\$ac_cv_env_${ac_var}_set
- eval ac_new_set=\$ac_env_${ac_var}_set
- eval ac_old_val="\$ac_cv_env_${ac_var}_value"
- eval ac_new_val="\$ac_env_${ac_var}_value"
- case $ac_old_set,$ac_new_set in
- set,)
- { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
-echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
- ac_cache_corrupted=: ;;
- ,set)
- { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
-echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
- ac_cache_corrupted=: ;;
- ,);;
- *)
- if test "x$ac_old_val" != "x$ac_new_val"; then
- { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
-echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
- { echo "$as_me:$LINENO: former value: $ac_old_val" >&5
-echo "$as_me: former value: $ac_old_val" >&2;}
- { echo "$as_me:$LINENO: current value: $ac_new_val" >&5
-echo "$as_me: current value: $ac_new_val" >&2;}
- ac_cache_corrupted=:
- fi;;
- esac
- # Pass precious variables to config.status.
- if test "$ac_new_set" = set; then
- case $ac_new_val in
- *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
- ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
- *) ac_arg=$ac_var=$ac_new_val ;;
- esac
- case " $ac_configure_args " in
- *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
- *) ac_configure_args="$ac_configure_args '$ac_arg'" ;;
- esac
- fi
-done
-if $ac_cache_corrupted; then
- { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
-echo "$as_me: error: changes in the environment can compromise the build" >&2;}
- { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
-echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
- { (exit 1); exit 1; }; }
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-if test -n "$ac_tool_prefix"; then
- for ac_prog in gcc cc ecc xlc
- do
- # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- test -n "$CC" && break
- done
-fi
-if test -z "$CC"; then
- ac_ct_CC=$CC
- for ac_prog in gcc cc ecc xlc
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$ac_ct_CC"; then
- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_CC="$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
- echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-echo "${ECHO_T}$ac_ct_CC" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- test -n "$ac_ct_CC" && break
-done
-
- CC=$ac_ct_CC
-fi
-
-
-test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH
-See \`config.log' for more details." >&5
-echo "$as_me: error: no acceptable C compiler found in \$PATH
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
-
-# Provide some information about the compiler.
-echo "$as_me:$LINENO:" \
- "checking for C compiler version" >&5
-ac_compiler=`set X $ac_compile; echo $2`
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5
- (eval $ac_compiler --version </dev/null >&5) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v </dev/null >&5\"") >&5
- (eval $ac_compiler -v </dev/null >&5) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V </dev/null >&5\"") >&5
- (eval $ac_compiler -V </dev/null >&5) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
-
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.exe b.out"
-# Try to create an executable without -o first, disregard a.out.
-# It will help us diagnose broken compilers, and finding out an intuition
-# of exeext.
-echo "$as_me:$LINENO: checking for C compiler default output file name" >&5
-echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6
-ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
-if { (eval echo "$as_me:$LINENO: \"$ac_link_default\"") >&5
- (eval $ac_link_default) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; then
- # Find the output, starting from the most likely. This scheme is
-# not robust to junk in `.', hence go to wildcards (a.*) only as a last
-# resort.
-
-# Be careful to initialize this variable, since it used to be cached.
-# Otherwise an old cache value of `no' led to `EXEEXT = no' in a Makefile.
-ac_cv_exeext=
-# b.out is created by i960 compilers.
-for ac_file in a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out
-do
- test -f "$ac_file" || continue
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj )
- ;;
- conftest.$ac_ext )
- # This is the source file.
- ;;
- [ab].out )
- # We found the default executable, but exeext='' is most
- # certainly right.
- break;;
- *.* )
- ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
- # FIXME: I believe we export ac_cv_exeext for Libtool,
- # but it would be cool to find out if it's true. Does anybody
- # maintain Libtool? --akim.
- export ac_cv_exeext
- break;;
- * )
- break;;
- esac
-done
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { echo "$as_me:$LINENO: error: C compiler cannot create executables
-See \`config.log' for more details." >&5
-echo "$as_me: error: C compiler cannot create executables
-See \`config.log' for more details." >&2;}
- { (exit 77); exit 77; }; }
-fi
-
-ac_exeext=$ac_cv_exeext
-echo "$as_me:$LINENO: result: $ac_file" >&5
-echo "${ECHO_T}$ac_file" >&6
-
-# Check the compiler produces executables we can run. If not, either
-# the compiler is broken, or we cross compile.
-echo "$as_me:$LINENO: checking whether the C compiler works" >&5
-echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6
-# FIXME: These cross compiler hacks should be removed for Autoconf 3.0
-# If not cross compiling, check that we can run a simple program.
-if test "$cross_compiling" != yes; then
- if { ac_try='./$ac_file'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- cross_compiling=no
- else
- if test "$cross_compiling" = maybe; then
- cross_compiling=yes
- else
- { { echo "$as_me:$LINENO: error: cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
- fi
- fi
-fi
-echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
-
-rm -f a.out a.exe conftest$ac_cv_exeext b.out
-ac_clean_files=$ac_clean_files_save
-# Check the compiler produces executables we can run. If not, either
-# the compiler is broken, or we cross compile.
-echo "$as_me:$LINENO: checking whether we are cross compiling" >&5
-echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6
-echo "$as_me:$LINENO: result: $cross_compiling" >&5
-echo "${ECHO_T}$cross_compiling" >&6
-
-echo "$as_me:$LINENO: checking for suffix of executables" >&5
-echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; then
- # If both `conftest.exe' and `conftest' are `present' (well, observable)
-# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will
-# work properly (i.e., refer to `conftest.exe'), while it won't with
-# `rm'.
-for ac_file in conftest.exe conftest conftest.*; do
- test -f "$ac_file" || continue
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ;;
- *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
- export ac_cv_exeext
- break;;
- * ) break;;
- esac
-done
-else
- { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
-fi
-
-rm -f conftest$ac_cv_exeext
-echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5
-echo "${ECHO_T}$ac_cv_exeext" >&6
-
-rm -f conftest.$ac_ext
-EXEEXT=$ac_cv_exeext
-ac_exeext=$EXEEXT
-echo "$as_me:$LINENO: checking for suffix of object files" >&5
-echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6
-if test "${ac_cv_objext+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.o conftest.obj
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; then
- for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg ) ;;
- *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
- break;;
- esac
-done
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute suffix of object files: cannot compile
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
-fi
-
-rm -f conftest.$ac_cv_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
-echo "${ECHO_T}$ac_cv_objext" >&6
-OBJEXT=$ac_cv_objext
-ac_objext=$OBJEXT
-echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
-echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6
-if test "${ac_cv_c_compiler_gnu+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-#ifndef __GNUC__
- choke me
-#endif
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_compiler_gnu=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_compiler_gnu=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_c_compiler_gnu=$ac_compiler_gnu
-
-fi
-echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
-echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6
-GCC=`test $ac_compiler_gnu = yes && echo yes`
-ac_test_CFLAGS=${CFLAGS+set}
-ac_save_CFLAGS=$CFLAGS
-CFLAGS="-g"
-echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
-echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6
-if test "${ac_cv_prog_cc_g+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_prog_cc_g=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_prog_cc_g=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
-echo "${ECHO_T}$ac_cv_prog_cc_g" >&6
-if test "$ac_test_CFLAGS" = set; then
- CFLAGS=$ac_save_CFLAGS
-elif test $ac_cv_prog_cc_g = yes; then
- if test "$GCC" = yes; then
- CFLAGS="-g -O2"
- else
- CFLAGS="-g"
- fi
-else
- if test "$GCC" = yes; then
- CFLAGS="-O2"
- else
- CFLAGS=
- fi
-fi
-echo "$as_me:$LINENO: checking for $CC option to accept ANSI C" >&5
-echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6
-if test "${ac_cv_prog_cc_stdc+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_cv_prog_cc_stdc=no
-ac_save_CC=$CC
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <stdarg.h>
-#include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
-struct buf { int x; };
-FILE * (*rcsopen) (struct buf *, struct stat *, int);
-static char *e (p, i)
- char **p;
- int i;
-{
- return p[i];
-}
-static char *f (char * (*g) (char **, int), char **p, ...)
-{
- char *s;
- va_list v;
- va_start (v,p);
- s = g (p, va_arg (v,int));
- va_end (v);
- return s;
-}
-
-/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
- function prototypes and stuff, but not '\xHH' hex character constants.
- These don't provoke an error unfortunately, instead are silently treated
- as 'x'. The following induces an error, until -std1 is added to get
- proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an
- array size at least. It's necessary to write '\x00'==0 to get something
- that's true only with -std1. */
-int osf4_cc_array ['\x00' == 0 ? 1 : -1];
-
-int test (int i, double x);
-struct s1 {int (*f) (int a);};
-struct s2 {int (*f) (double a);};
-int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
-int argc;
-char **argv;
-int
-main ()
-{
-return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
- ;
- return 0;
-}
-_ACEOF
-# Don't try gcc -ansi; that turns off useful extensions and
-# breaks some systems' header files.
-# AIX -qlanglvl=ansi
-# Ultrix and OSF/1 -std1
-# HP-UX 10.20 and later -Ae
-# HP-UX older versions -Aa -D_HPUX_SOURCE
-# SVR4 -Xc -D__EXTENSIONS__
-for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
-do
- CC="$ac_save_CC $ac_arg"
- rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_prog_cc_stdc=$ac_arg
-break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext
-done
-rm -f conftest.$ac_ext conftest.$ac_objext
-CC=$ac_save_CC
-
-fi
-
-case "x$ac_cv_prog_cc_stdc" in
- x|xno)
- echo "$as_me:$LINENO: result: none needed" >&5
-echo "${ECHO_T}none needed" >&6 ;;
- *)
- echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5
-echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6
- CC="$CC $ac_cv_prog_cc_stdc" ;;
-esac
-
-# Some people use a C++ compiler to compile C. Since we use `exit',
-# in C++ we need to declare it. In case someone uses the same compiler
-# for both compiling C and C++ we need to have the C++ compiler decide
-# the declaration of exit, since it's the most demanding environment.
-cat >conftest.$ac_ext <<_ACEOF
-#ifndef __cplusplus
- choke me
-#endif
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- for ac_declaration in \
- '' \
- 'extern "C" void std::exit (int) throw (); using std::exit;' \
- 'extern "C" void std::exit (int); using std::exit;' \
- 'extern "C" void exit (int) throw ();' \
- 'extern "C" void exit (int);' \
- 'void exit (int);'
-do
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_declaration
-#include <stdlib.h>
-int
-main ()
-{
-exit (42);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- :
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-continue
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_declaration
-int
-main ()
-{
-exit (42);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-rm -f conftest*
-if test -n "$ac_declaration"; then
- echo '#ifdef __cplusplus' >>confdefs.h
- echo $ac_declaration >>confdefs.h
- echo '#endif' >>confdefs.h
-fi
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-
-echo "$as_me:$LINENO: checking whether byte ordering is bigendian" >&5
-echo $ECHO_N "checking whether byte ordering is bigendian... $ECHO_C" >&6
-if test "${ac_cv_c_bigendian+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- # See if sys/param.h defines the BYTE_ORDER macro.
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <sys/types.h>
-#include <sys/param.h>
-
-int
-main ()
-{
-#if !BYTE_ORDER || !BIG_ENDIAN || !LITTLE_ENDIAN
- bogus endian macros
-#endif
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- # It does; now see whether it defined to BIG_ENDIAN or not.
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <sys/types.h>
-#include <sys/param.h>
-
-int
-main ()
-{
-#if BYTE_ORDER != BIG_ENDIAN
- not big endian
-#endif
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_c_bigendian=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_c_bigendian=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-# It does not; compile a test program.
-if test "$cross_compiling" = yes; then
- # try to guess the endianness by grepping values into an object file
- ac_cv_c_bigendian=unknown
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-short ascii_mm[] = { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
-short ascii_ii[] = { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 };
-void _ascii () { char *s = (char *) ascii_mm; s = (char *) ascii_ii; }
-short ebcdic_ii[] = { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
-short ebcdic_mm[] = { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
-void _ebcdic () { char *s = (char *) ebcdic_mm; s = (char *) ebcdic_ii; }
-int
-main ()
-{
- _ascii (); _ebcdic ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- if grep BIGenDianSyS conftest.$ac_objext >/dev/null ; then
- ac_cv_c_bigendian=yes
-fi
-if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then
- if test "$ac_cv_c_bigendian" = unknown; then
- ac_cv_c_bigendian=no
- else
- # finding both strings is unlikely to happen, but who knows?
- ac_cv_c_bigendian=unknown
- fi
-fi
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-int
-main ()
-{
- /* Are we little or big endian? From Harbison&Steele. */
- union
- {
- long l;
- char c[sizeof (long)];
- } u;
- u.l = 1;
- exit (u.c[sizeof (long) - 1] == 1);
-}
-_ACEOF
-rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_c_bigendian=no
-else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-ac_cv_c_bigendian=yes
-fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_c_bigendian" >&5
-echo "${ECHO_T}$ac_cv_c_bigendian" >&6
-case $ac_cv_c_bigendian in
- yes)
-
-cat >>confdefs.h <<\_ACEOF
-#define WORDS_BIGENDIAN 1
-_ACEOF
- ;;
- no)
- ;;
- *)
- { { echo "$as_me:$LINENO: error: unknown endianness
-presetting ac_cv_c_bigendian=no (or yes) will help" >&5
-echo "$as_me: error: unknown endianness
-presetting ac_cv_c_bigendian=no (or yes) will help" >&2;}
- { (exit 1); exit 1; }; } ;;
-esac
-
-
-echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
-echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6
-set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,:./+-,___p_,'`
-if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.make <<\_ACEOF
-all:
- @echo 'ac_maketemp="$(MAKE)"'
-_ACEOF
-# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
-eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=`
-if test -n "$ac_maketemp"; then
- eval ac_cv_prog_make_${ac_make}_set=yes
-else
- eval ac_cv_prog_make_${ac_make}_set=no
-fi
-rm -f conftest.make
-fi
-if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
- echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
- SET_MAKE=
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
- SET_MAKE="MAKE=${MAKE-make}"
-fi
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_RANLIB+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$RANLIB"; then
- ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-RANLIB=$ac_cv_prog_RANLIB
-if test -n "$RANLIB"; then
- echo "$as_me:$LINENO: result: $RANLIB" >&5
-echo "${ECHO_T}$RANLIB" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
-fi
-if test -z "$ac_cv_prog_RANLIB"; then
- ac_ct_RANLIB=$RANLIB
- # Extract the first word of "ranlib", so it can be a program name with args.
-set dummy ranlib; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$ac_ct_RANLIB"; then
- ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_RANLIB="ranlib"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
- test -z "$ac_cv_prog_ac_ct_RANLIB" && ac_cv_prog_ac_ct_RANLIB=":"
-fi
-fi
-ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
-if test -n "$ac_ct_RANLIB"; then
- echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5
-echo "${ECHO_T}$ac_ct_RANLIB" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- RANLIB=$ac_ct_RANLIB
-else
- RANLIB="$ac_cv_prog_RANLIB"
-fi
-
-# Extract the first word of "ar", so it can be a program name with args.
-set dummy ar; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_path_AR+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- case $AR in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_AR="$AR" # Let the user override the test with a path.
- ;;
- *)
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_path_AR="$as_dir/$ac_word$ac_exec_ext"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
- ;;
-esac
-fi
-AR=$ac_cv_path_AR
-
-if test -n "$AR"; then
- echo "$as_me:$LINENO: result: $AR" >&5
-echo "${ECHO_T}$AR" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
-
-# Extract the first word of "javac", so it can be a program name with args.
-set dummy javac; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_path_JAVAC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- case $JAVAC in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_JAVAC="$JAVAC" # Let the user override the test with a path.
- ;;
- *)
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_path_JAVAC="$as_dir/$ac_word$ac_exec_ext"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
- ;;
-esac
-fi
-JAVAC=$ac_cv_path_JAVAC
-
-if test -n "$JAVAC"; then
- echo "$as_me:$LINENO: result: $JAVAC" >&5
-echo "${ECHO_T}$JAVAC" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
-
-# Extract the first word of "java", so it can be a program name with args.
-set dummy java; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_path_JAVA+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- case $JAVA in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_JAVA="$JAVA" # Let the user override the test with a path.
- ;;
- *)
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_path_JAVA="$as_dir/$ac_word$ac_exec_ext"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
- ;;
-esac
-fi
-JAVA=$ac_cv_path_JAVA
-
-if test -n "$JAVA"; then
- echo "$as_me:$LINENO: result: $JAVA" >&5
-echo "${ECHO_T}$JAVA" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
-
-
-if test "x$prefix" != xNONE; then
- F2J_INSTALL_PREFIX=${prefix}
-else
- F2J_INSTALL_PREFIX=`pwd`
-fi
-
-
-
-# Check whether --with-doxygen or --without-doxygen was given.
-if test "${with_doxygen+set}" = set; then
- withval="$with_doxygen"
- DOXYGEN="$with_doxygen"
-else
- DOXYGEN="doxygen"
-fi;
-
-
-# Check whether --with-debuglevel or --without-debuglevel was given.
-if test "${with_debuglevel+set}" = set; then
- withval="$with_debuglevel"
- DEBUGLEVEL="$with_debuglevel"
-else
- DEBUGLEVEL="1"
-fi;
-
-if test "$DEBUGLEVEL" = "1"; then
- CFLAGS="$CFLAGS -DBC_VIEW"
-fi
-
-if test "$DEBUGLEVEL" = "2"; then
- CFLAGS="$CFLAGS -DBC_VIEW -DBC_DEBUG"
-fi
-
-
-
-
-
- ac_config_headers="$ac_config_headers bytecode.h"
-
-
- ac_config_files="$ac_config_files Makefile make.def"
-cat >confcache <<\_ACEOF
-# This file is a shell script that caches the results of configure
-# tests run on this system so they can be shared between configure
-# scripts and configure runs, see configure's option --config-cache.
-# It is not useful on other systems. If it contains results you don't
-# want to keep, you may remove or edit it.
-#
-# config.status only pays attention to the cache file if you give it
-# the --recheck option to rerun configure.
-#
-# `ac_cv_env_foo' variables (set or unset) will be overridden when
-# loading this file, other *unset* `ac_cv_foo' will be assigned the
-# following values.
-
-_ACEOF
-
-# The following way of writing the cache mishandles newlines in values,
-# but we know of no workaround that is simple, portable, and efficient.
-# So, don't put newlines in cache variables' values.
-# Ultrix sh set writes to stderr and can't be redirected directly,
-# and sets the high bit in the cache file unless we assign to the vars.
-{
- (set) 2>&1 |
- case `(ac_space=' '; set | grep ac_space) 2>&1` in
- *ac_space=\ *)
- # `set' does not quote correctly, so add quotes (double-quote
- # substitution turns \\\\ into \\, and sed turns \\ into \).
- sed -n \
- "s/'/'\\\\''/g;
- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
- ;;
- *)
- # `set' quotes correctly as required by POSIX, so do not add quotes.
- sed -n \
- "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
- ;;
- esac;
-} |
- sed '
- t clear
- : clear
- s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
- t end
- /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
- : end' >>confcache
-if diff $cache_file confcache >/dev/null 2>&1; then :; else
- if test -w $cache_file; then
- test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file"
- cat confcache >$cache_file
- else
- echo "not updating unwritable cache $cache_file"
- fi
-fi
-rm -f confcache
-
-test "x$prefix" = xNONE && prefix=$ac_default_prefix
-# Let make expand exec_prefix.
-test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-
-# VPATH may cause trouble with some makes, so we remove $(srcdir),
-# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
-# trailing colons and then remove the whole line if VPATH becomes empty
-# (actually we leave an empty line to preserve line numbers).
-if test "x$srcdir" = x.; then
- ac_vpsub='/^[ ]*VPATH[ ]*=/{
-s/:*\$(srcdir):*/:/;
-s/:*\${srcdir}:*/:/;
-s/:*@srcdir@:*/:/;
-s/^\([^=]*=[ ]*\):*/\1/;
-s/:*$//;
-s/^[^=]*=[ ]*$//;
-}'
-fi
-
-DEFS=-DHAVE_CONFIG_H
-
-ac_libobjs=
-ac_ltlibobjs=
-for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
- # 1. Remove the extension, and $U if already installed.
- ac_i=`echo "$ac_i" |
- sed 's/\$U\././;s/\.o$//;s/\.obj$//'`
- # 2. Add them.
- ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext"
- ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo'
-done
-LIBOBJS=$ac_libobjs
-
-LTLIBOBJS=$ac_ltlibobjs
-
-
-
-: ${CONFIG_STATUS=./config.status}
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files $CONFIG_STATUS"
-{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
-echo "$as_me: creating $CONFIG_STATUS" >&6;}
-cat >$CONFIG_STATUS <<_ACEOF
-#! $SHELL
-# Generated by $as_me.
-# Run this file to recreate the current configuration.
-# Compiler output produced by configure, useful for debugging
-# configure, is in config.log if it exists.
-
-debug=false
-ac_cs_recheck=false
-ac_cs_silent=false
-SHELL=\${CONFIG_SHELL-$SHELL}
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF
-## --------------------- ##
-## M4sh Initialization. ##
-## --------------------- ##
-
-# Be Bourne compatible
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
- emulate sh
- NULLCMD=:
- # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '${1+"$@"}'='"$@"'
-elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
- set -o posix
-fi
-DUALCASE=1; export DUALCASE # for MKS sh
-
-# Support unset when possible.
-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
- as_unset=unset
-else
- as_unset=false
-fi
-
-
-# Work around bugs in pre-3.0 UWIN ksh.
-$as_unset ENV MAIL MAILPATH
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-for as_var in \
- LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
- LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
- LC_TELEPHONE LC_TIME
-do
- if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
- eval $as_var=C; export $as_var
- else
- $as_unset $as_var
- fi
-done
-
-# Required to use basename.
-if expr a : '\(a\)' >/dev/null 2>&1; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
- as_basename=basename
-else
- as_basename=false
-fi
-
-
-# Name of the executable.
-as_me=`$as_basename "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)$' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X/"$0" |
- sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
- /^X\/\(\/\/\)$/{ s//\1/; q; }
- /^X\/\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
-
-
-# PATH needs CR, and LINENO needs CR and PATH.
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- echo "#! /bin/sh" >conf$$.sh
- echo "exit 0" >>conf$$.sh
- chmod +x conf$$.sh
- if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
- PATH_SEPARATOR=';'
- else
- PATH_SEPARATOR=:
- fi
- rm -f conf$$.sh
-fi
-
-
- as_lineno_1=$LINENO
- as_lineno_2=$LINENO
- as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
- test "x$as_lineno_1" != "x$as_lineno_2" &&
- test "x$as_lineno_3" = "x$as_lineno_2" || {
- # Find who we are. Look in the path if we contain no path at all
- # relative or not.
- case $0 in
- *[\\/]* ) as_myself=$0 ;;
- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-done
-
- ;;
- esac
- # We did not find ourselves, most probably we were run as `sh COMMAND'
- # in which case we are not to be found in the path.
- if test "x$as_myself" = x; then
- as_myself=$0
- fi
- if test ! -f "$as_myself"; then
- { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5
-echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;}
- { (exit 1); exit 1; }; }
- fi
- case $CONFIG_SHELL in
- '')
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for as_base in sh bash ksh sh5; do
- case $as_dir in
- /*)
- if ("$as_dir/$as_base" -c '
- as_lineno_1=$LINENO
- as_lineno_2=$LINENO
- as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
- test "x$as_lineno_1" != "x$as_lineno_2" &&
- test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then
- $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
- $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
- CONFIG_SHELL=$as_dir/$as_base
- export CONFIG_SHELL
- exec "$CONFIG_SHELL" "$0" ${1+"$@"}
- fi;;
- esac
- done
-done
-;;
- esac
-
- # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
- # uniformly replaced by the line number. The first 'sed' inserts a
- # line-number line before each line; the second 'sed' does the real
- # work. The second script uses 'N' to pair each line-number line
- # with the numbered line, and appends trailing '-' during
- # substitution so that $LINENO is not a special case at line end.
- # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
- # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-)
- sed '=' <$as_myself |
- sed '
- N
- s,$,-,
- : loop
- s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
- t loop
- s,-$,,
- s,^['$as_cr_digits']*\n,,
- ' >$as_me.lineno &&
- chmod +x $as_me.lineno ||
- { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5
-echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;}
- { (exit 1); exit 1; }; }
-
- # Don't try to exec as it changes $[0], causing all sort of problems
- # (the dirname of $[0] is not the place where we might find the
- # original and so on. Autoconf is especially sensible to this).
- . ./$as_me.lineno
- # Exit status is that of the last command.
- exit
-}
-
-
-case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
- *c*,-n*) ECHO_N= ECHO_C='
-' ECHO_T=' ' ;;
- *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;;
- *) ECHO_N= ECHO_C='\c' ECHO_T= ;;
-esac
-
-if expr a : '\(a\)' >/dev/null 2>&1; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-rm -f conf$$ conf$$.exe conf$$.file
-echo >conf$$.file
-if ln -s conf$$.file conf$$ 2>/dev/null; then
- # We could just check for DJGPP; but this test a) works b) is more generic
- # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
- if test -f conf$$.exe; then
- # Don't use ln at all; we don't have any links
- as_ln_s='cp -p'
- else
- as_ln_s='ln -s'
- fi
-elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
-else
- as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.file
-
-if mkdir -p . 2>/dev/null; then
- as_mkdir_p=:
-else
- test -d ./-p && rmdir ./-p
- as_mkdir_p=false
-fi
-
-as_executable_p="test -f"
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-
-# IFS
-# We need space, tab and new line, in precisely that order.
-as_nl='
-'
-IFS=" $as_nl"
-
-# CDPATH.
-$as_unset CDPATH
-
-exec 6>&1
-
-# Open the log real soon, to keep \$[0] and so on meaningful, and to
-# report actual input values of CONFIG_FILES etc. instead of their
-# values after options handling. Logging --version etc. is OK.
-exec 5>>config.log
-{
- echo
- sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
-## Running $as_me. ##
-_ASBOX
-} >&5
-cat >&5 <<_CSEOF
-
-This file was extended by libbytecode $as_me 0.8, which was
-generated by GNU Autoconf 2.59. Invocation command line was
-
- CONFIG_FILES = $CONFIG_FILES
- CONFIG_HEADERS = $CONFIG_HEADERS
- CONFIG_LINKS = $CONFIG_LINKS
- CONFIG_COMMANDS = $CONFIG_COMMANDS
- $ $0 $@
-
-_CSEOF
-echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5
-echo >&5
-_ACEOF
-
-# Files that config.status was made for.
-if test -n "$ac_config_files"; then
- echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS
-fi
-
-if test -n "$ac_config_headers"; then
- echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS
-fi
-
-if test -n "$ac_config_links"; then
- echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS
-fi
-
-if test -n "$ac_config_commands"; then
- echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS
-fi
-
-cat >>$CONFIG_STATUS <<\_ACEOF
-
-ac_cs_usage="\
-\`$as_me' instantiates files from templates according to the
-current configuration.
-
-Usage: $0 [OPTIONS] [FILE]...
-
- -h, --help print this help, then exit
- -V, --version print version number, then exit
- -q, --quiet do not print progress messages
- -d, --debug don't remove temporary files
- --recheck update $as_me by reconfiguring in the same conditions
- --file=FILE[:TEMPLATE]
- instantiate the configuration file FILE
- --header=FILE[:TEMPLATE]
- instantiate the configuration header FILE
-
-Configuration files:
-$config_files
-
-Configuration headers:
-$config_headers
-
-Report bugs to <bug-autoconf at gnu.org>."
-_ACEOF
-
-cat >>$CONFIG_STATUS <<_ACEOF
-ac_cs_version="\\
-libbytecode config.status 0.8
-configured by $0, generated by GNU Autoconf 2.59,
- with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
-
-Copyright (C) 2003 Free Software Foundation, Inc.
-This config.status script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it."
-srcdir=$srcdir
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF
-# If no file are specified by the user, then we need to provide default
-# value. By we need to know if files were specified by the user.
-ac_need_defaults=:
-while test $# != 0
-do
- case $1 in
- --*=*)
- ac_option=`expr "x$1" : 'x\([^=]*\)='`
- ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'`
- ac_shift=:
- ;;
- -*)
- ac_option=$1
- ac_optarg=$2
- ac_shift=shift
- ;;
- *) # This is not an option, so the user has probably given explicit
- # arguments.
- ac_option=$1
- ac_need_defaults=false;;
- esac
-
- case $ac_option in
- # Handling of the options.
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
- -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
- ac_cs_recheck=: ;;
- --version | --vers* | -V )
- echo "$ac_cs_version"; exit 0 ;;
- --he | --h)
- # Conflict between --help and --header
- { { echo "$as_me:$LINENO: error: ambiguous option: $1
-Try \`$0 --help' for more information." >&5
-echo "$as_me: error: ambiguous option: $1
-Try \`$0 --help' for more information." >&2;}
- { (exit 1); exit 1; }; };;
- --help | --hel | -h )
- echo "$ac_cs_usage"; exit 0 ;;
- --debug | --d* | -d )
- debug=: ;;
- --file | --fil | --fi | --f )
- $ac_shift
- CONFIG_FILES="$CONFIG_FILES $ac_optarg"
- ac_need_defaults=false;;
- --header | --heade | --head | --hea )
- $ac_shift
- CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg"
- ac_need_defaults=false;;
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil | --si | --s)
- ac_cs_silent=: ;;
-
- # This is an error.
- -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1
-Try \`$0 --help' for more information." >&5
-echo "$as_me: error: unrecognized option: $1
-Try \`$0 --help' for more information." >&2;}
- { (exit 1); exit 1; }; } ;;
-
- *) ac_config_targets="$ac_config_targets $1" ;;
-
- esac
- shift
-done
-
-ac_configure_extra_args=
-
-if $ac_cs_silent; then
- exec 6>/dev/null
- ac_configure_extra_args="$ac_configure_extra_args --silent"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
-if \$ac_cs_recheck; then
- echo "running $SHELL $0 " $ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6
- exec $SHELL $0 $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
-fi
-
-_ACEOF
-
-
-
-
-
-cat >>$CONFIG_STATUS <<\_ACEOF
-for ac_config_target in $ac_config_targets
-do
- case "$ac_config_target" in
- # Handling of arguments.
- "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
- "make.def" ) CONFIG_FILES="$CONFIG_FILES make.def" ;;
- "bytecode.h" ) CONFIG_HEADERS="$CONFIG_HEADERS bytecode.h" ;;
- *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
-echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
- { (exit 1); exit 1; }; };;
- esac
-done
-
-# If the user did not use the arguments to specify the items to instantiate,
-# then the envvar interface is used. Set only those that are not.
-# We use the long form for the default assignment because of an extremely
-# bizarre bug on SunOS 4.1.3.
-if $ac_need_defaults; then
- test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
- test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
-fi
-
-# Have a temporary directory for convenience. Make it in the build tree
-# simply because there is no reason to put it here, and in addition,
-# creating and moving files from /tmp can sometimes cause problems.
-# Create a temporary directory, and hook for its removal unless debugging.
-$debug ||
-{
- trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0
- trap '{ (exit 1); exit 1; }' 1 2 13 15
-}
-
-# Create a (secure) tmp directory for tmp files.
-
-{
- tmp=`(umask 077 && mktemp -d -q "./confstatXXXXXX") 2>/dev/null` &&
- test -n "$tmp" && test -d "$tmp"
-} ||
-{
- tmp=./confstat$$-$RANDOM
- (umask 077 && mkdir $tmp)
-} ||
-{
- echo "$me: cannot create a temporary directory in ." >&2
- { (exit 1); exit 1; }
-}
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<_ACEOF
-
-#
-# CONFIG_FILES section.
-#
-
-# No need to generate the scripts if there are no CONFIG_FILES.
-# This happens for instance when ./config.status config.h
-if test -n "\$CONFIG_FILES"; then
- # Protect against being on the right side of a sed subst in config.status.
- sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g;
- s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF
-s, at SHELL@,$SHELL,;t t
-s, at PATH_SEPARATOR@,$PATH_SEPARATOR,;t t
-s, at PACKAGE_NAME@,$PACKAGE_NAME,;t t
-s, at PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t
-s, at PACKAGE_VERSION@,$PACKAGE_VERSION,;t t
-s, at PACKAGE_STRING@,$PACKAGE_STRING,;t t
-s, at PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t
-s, at exec_prefix@,$exec_prefix,;t t
-s, at prefix@,$prefix,;t t
-s, at program_transform_name@,$program_transform_name,;t t
-s, at bindir@,$bindir,;t t
-s, at sbindir@,$sbindir,;t t
-s, at libexecdir@,$libexecdir,;t t
-s, at datadir@,$datadir,;t t
-s, at sysconfdir@,$sysconfdir,;t t
-s, at sharedstatedir@,$sharedstatedir,;t t
-s, at localstatedir@,$localstatedir,;t t
-s, at libdir@,$libdir,;t t
-s, at includedir@,$includedir,;t t
-s, at oldincludedir@,$oldincludedir,;t t
-s, at infodir@,$infodir,;t t
-s, at mandir@,$mandir,;t t
-s, at build_alias@,$build_alias,;t t
-s, at host_alias@,$host_alias,;t t
-s, at target_alias@,$target_alias,;t t
-s, at DEFS@,$DEFS,;t t
-s, at ECHO_C@,$ECHO_C,;t t
-s, at ECHO_N@,$ECHO_N,;t t
-s, at ECHO_T@,$ECHO_T,;t t
-s, at LIBS@,$LIBS,;t t
-s, at CC@,$CC,;t t
-s, at CFLAGS@,$CFLAGS,;t t
-s, at LDFLAGS@,$LDFLAGS,;t t
-s, at CPPFLAGS@,$CPPFLAGS,;t t
-s, at ac_ct_CC@,$ac_ct_CC,;t t
-s, at EXEEXT@,$EXEEXT,;t t
-s, at OBJEXT@,$OBJEXT,;t t
-s, at SET_MAKE@,$SET_MAKE,;t t
-s, at RANLIB@,$RANLIB,;t t
-s, at ac_ct_RANLIB@,$ac_ct_RANLIB,;t t
-s, at AR@,$AR,;t t
-s, at JAVAC@,$JAVAC,;t t
-s, at JAVA@,$JAVA,;t t
-s, at F2J_INSTALL_PREFIX@,$F2J_INSTALL_PREFIX,;t t
-s, at DOXYGEN@,$DOXYGEN,;t t
-s, at LIBOBJS@,$LIBOBJS,;t t
-s, at LTLIBOBJS@,$LTLIBOBJS,;t t
-CEOF
-
-_ACEOF
-
- cat >>$CONFIG_STATUS <<\_ACEOF
- # Split the substitutions into bite-sized pieces for seds with
- # small command number limits, like on Digital OSF/1 and HP-UX.
- ac_max_sed_lines=48
- ac_sed_frag=1 # Number of current file.
- ac_beg=1 # First line for current file.
- ac_end=$ac_max_sed_lines # Line after last line for current file.
- ac_more_lines=:
- ac_sed_cmds=
- while $ac_more_lines; do
- if test $ac_beg -gt 1; then
- sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
- else
- sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
- fi
- if test ! -s $tmp/subs.frag; then
- ac_more_lines=false
- else
- # The purpose of the label and of the branching condition is to
- # speed up the sed processing (if there are no `@' at all, there
- # is no need to browse any of the substitutions).
- # These are the two extra sed commands mentioned above.
- (echo ':t
- /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed
- if test -z "$ac_sed_cmds"; then
- ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed"
- else
- ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed"
- fi
- ac_sed_frag=`expr $ac_sed_frag + 1`
- ac_beg=$ac_end
- ac_end=`expr $ac_end + $ac_max_sed_lines`
- fi
- done
- if test -z "$ac_sed_cmds"; then
- ac_sed_cmds=cat
- fi
-fi # test -n "$CONFIG_FILES"
-
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
-for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue
- # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
- case $ac_file in
- - | *:- | *:-:* ) # input from stdin
- cat >$tmp/stdin
- ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
- *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
- * ) ac_file_in=$ac_file.in ;;
- esac
-
- # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories.
- ac_dir=`(dirname "$ac_file") 2>/dev/null ||
-$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$ac_file" : 'X\(//\)[^/]' \| \
- X"$ac_file" : 'X\(//\)$' \| \
- X"$ac_file" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$ac_file" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- { if $as_mkdir_p; then
- mkdir -p "$ac_dir"
- else
- as_dir="$ac_dir"
- as_dirs=
- while test ! -d "$as_dir"; do
- as_dirs="$as_dir $as_dirs"
- as_dir=`(dirname "$as_dir") 2>/dev/null ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- done
- test ! -n "$as_dirs" || mkdir $as_dirs
- fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
-echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
- { (exit 1); exit 1; }; }; }
-
- ac_builddir=.
-
-if test "$ac_dir" != .; then
- ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
- # A "../" for each directory in $ac_dir_suffix.
- ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
-else
- ac_dir_suffix= ac_top_builddir=
-fi
-
-case $srcdir in
- .) # No --srcdir option. We are building in place.
- ac_srcdir=.
- if test -z "$ac_top_builddir"; then
- ac_top_srcdir=.
- else
- ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
- fi ;;
- [\\/]* | ?:[\\/]* ) # Absolute path.
- ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir ;;
- *) # Relative path.
- ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_builddir$srcdir ;;
-esac
-
-# Do not use `cd foo && pwd` to compute absolute paths, because
-# the directories may not exist.
-case `pwd` in
-.) ac_abs_builddir="$ac_dir";;
-*)
- case "$ac_dir" in
- .) ac_abs_builddir=`pwd`;;
- [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
- *) ac_abs_builddir=`pwd`/"$ac_dir";;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_builddir=${ac_top_builddir}.;;
-*)
- case ${ac_top_builddir}. in
- .) ac_abs_top_builddir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
- *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_srcdir=$ac_srcdir;;
-*)
- case $ac_srcdir in
- .) ac_abs_srcdir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
- *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_srcdir=$ac_top_srcdir;;
-*)
- case $ac_top_srcdir in
- .) ac_abs_top_srcdir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
- *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
- esac;;
-esac
-
-
-
- if test x"$ac_file" != x-; then
- { echo "$as_me:$LINENO: creating $ac_file" >&5
-echo "$as_me: creating $ac_file" >&6;}
- rm -f "$ac_file"
- fi
- # Let's still pretend it is `configure' which instantiates (i.e., don't
- # use $as_me), people would be surprised to read:
- # /* config.h. Generated by config.status. */
- if test x"$ac_file" = x-; then
- configure_input=
- else
- configure_input="$ac_file. "
- fi
- configure_input=$configure_input"Generated from `echo $ac_file_in |
- sed 's,.*/,,'` by configure."
-
- # First look for the input files in the build tree, otherwise in the
- # src tree.
- ac_file_inputs=`IFS=:
- for f in $ac_file_in; do
- case $f in
- -) echo $tmp/stdin ;;
- [\\/$]*)
- # Absolute (can't be DOS-style, as IFS=:)
- test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
-echo "$as_me: error: cannot find input file: $f" >&2;}
- { (exit 1); exit 1; }; }
- echo "$f";;
- *) # Relative
- if test -f "$f"; then
- # Build tree
- echo "$f"
- elif test -f "$srcdir/$f"; then
- # Source tree
- echo "$srcdir/$f"
- else
- # /dev/null tree
- { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
-echo "$as_me: error: cannot find input file: $f" >&2;}
- { (exit 1); exit 1; }; }
- fi;;
- esac
- done` || { (exit 1); exit 1; }
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
- sed "$ac_vpsub
-$extrasub
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
-:t
-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-s, at configure_input@,$configure_input,;t t
-s, at srcdir@,$ac_srcdir,;t t
-s, at abs_srcdir@,$ac_abs_srcdir,;t t
-s, at top_srcdir@,$ac_top_srcdir,;t t
-s, at abs_top_srcdir@,$ac_abs_top_srcdir,;t t
-s, at builddir@,$ac_builddir,;t t
-s, at abs_builddir@,$ac_abs_builddir,;t t
-s, at top_builddir@,$ac_top_builddir,;t t
-s, at abs_top_builddir@,$ac_abs_top_builddir,;t t
-" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out
- rm -f $tmp/stdin
- if test x"$ac_file" != x-; then
- mv $tmp/out $ac_file
- else
- cat $tmp/out
- rm -f $tmp/out
- fi
-
-done
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
-
-#
-# CONFIG_HEADER section.
-#
-
-# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where
-# NAME is the cpp macro being defined and VALUE is the value it is being given.
-#
-# ac_d sets the value in "#define NAME VALUE" lines.
-ac_dA='s,^\([ ]*\)#\([ ]*define[ ][ ]*\)'
-ac_dB='[ ].*$,\1#\2'
-ac_dC=' '
-ac_dD=',;t'
-# ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE".
-ac_uA='s,^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)'
-ac_uB='$,\1#\2define\3'
-ac_uC=' '
-ac_uD=',;t'
-
-for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue
- # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
- case $ac_file in
- - | *:- | *:-:* ) # input from stdin
- cat >$tmp/stdin
- ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
- *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
- * ) ac_file_in=$ac_file.in ;;
- esac
-
- test x"$ac_file" != x- && { echo "$as_me:$LINENO: creating $ac_file" >&5
-echo "$as_me: creating $ac_file" >&6;}
-
- # First look for the input files in the build tree, otherwise in the
- # src tree.
- ac_file_inputs=`IFS=:
- for f in $ac_file_in; do
- case $f in
- -) echo $tmp/stdin ;;
- [\\/$]*)
- # Absolute (can't be DOS-style, as IFS=:)
- test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
-echo "$as_me: error: cannot find input file: $f" >&2;}
- { (exit 1); exit 1; }; }
- # Do quote $f, to prevent DOS paths from being IFS'd.
- echo "$f";;
- *) # Relative
- if test -f "$f"; then
- # Build tree
- echo "$f"
- elif test -f "$srcdir/$f"; then
- # Source tree
- echo "$srcdir/$f"
- else
- # /dev/null tree
- { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
-echo "$as_me: error: cannot find input file: $f" >&2;}
- { (exit 1); exit 1; }; }
- fi;;
- esac
- done` || { (exit 1); exit 1; }
- # Remove the trailing spaces.
- sed 's/[ ]*$//' $ac_file_inputs >$tmp/in
-
-_ACEOF
-
-# Transform confdefs.h into two sed scripts, `conftest.defines' and
-# `conftest.undefs', that substitutes the proper values into
-# config.h.in to produce config.h. The first handles `#define'
-# templates, and the second `#undef' templates.
-# And first: Protect against being on the right side of a sed subst in
-# config.status. Protect against being in an unquoted here document
-# in config.status.
-rm -f conftest.defines conftest.undefs
-# Using a here document instead of a string reduces the quoting nightmare.
-# Putting comments in sed scripts is not portable.
-#
-# `end' is used to avoid that the second main sed command (meant for
-# 0-ary CPP macros) applies to n-ary macro definitions.
-# See the Autoconf documentation for `clear'.
-cat >confdef2sed.sed <<\_ACEOF
-s/[\\&,]/\\&/g
-s,[\\$`],\\&,g
-t clear
-: clear
-s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*\)\(([^)]*)\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1\2${ac_dC}\3${ac_dD},gp
-t end
-s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD},gp
-: end
-_ACEOF
-# If some macros were called several times there might be several times
-# the same #defines, which is useless. Nevertheless, we may not want to
-# sort them, since we want the *last* AC-DEFINE to be honored.
-uniq confdefs.h | sed -n -f confdef2sed.sed >conftest.defines
-sed 's/ac_d/ac_u/g' conftest.defines >conftest.undefs
-rm -f confdef2sed.sed
-
-# This sed command replaces #undef with comments. This is necessary, for
-# example, in the case of _POSIX_SOURCE, which is predefined and required
-# on some systems where configure will not decide to define it.
-cat >>conftest.undefs <<\_ACEOF
-s,^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */,
-_ACEOF
-
-# Break up conftest.defines because some shells have a limit on the size
-# of here documents, and old seds have small limits too (100 cmds).
-echo ' # Handle all the #define templates only if necessary.' >>$CONFIG_STATUS
-echo ' if grep "^[ ]*#[ ]*define" $tmp/in >/dev/null; then' >>$CONFIG_STATUS
-echo ' # If there are no defines, we may have an empty if/fi' >>$CONFIG_STATUS
-echo ' :' >>$CONFIG_STATUS
-rm -f conftest.tail
-while grep . conftest.defines >/dev/null
-do
- # Write a limited-size here document to $tmp/defines.sed.
- echo ' cat >$tmp/defines.sed <<CEOF' >>$CONFIG_STATUS
- # Speed up: don't consider the non `#define' lines.
- echo '/^[ ]*#[ ]*define/!b' >>$CONFIG_STATUS
- # Work around the forget-to-reset-the-flag bug.
- echo 't clr' >>$CONFIG_STATUS
- echo ': clr' >>$CONFIG_STATUS
- sed ${ac_max_here_lines}q conftest.defines >>$CONFIG_STATUS
- echo 'CEOF
- sed -f $tmp/defines.sed $tmp/in >$tmp/out
- rm -f $tmp/in
- mv $tmp/out $tmp/in
-' >>$CONFIG_STATUS
- sed 1,${ac_max_here_lines}d conftest.defines >conftest.tail
- rm -f conftest.defines
- mv conftest.tail conftest.defines
-done
-rm -f conftest.defines
-echo ' fi # grep' >>$CONFIG_STATUS
-echo >>$CONFIG_STATUS
-
-# Break up conftest.undefs because some shells have a limit on the size
-# of here documents, and old seds have small limits too (100 cmds).
-echo ' # Handle all the #undef templates' >>$CONFIG_STATUS
-rm -f conftest.tail
-while grep . conftest.undefs >/dev/null
-do
- # Write a limited-size here document to $tmp/undefs.sed.
- echo ' cat >$tmp/undefs.sed <<CEOF' >>$CONFIG_STATUS
- # Speed up: don't consider the non `#undef'
- echo '/^[ ]*#[ ]*undef/!b' >>$CONFIG_STATUS
- # Work around the forget-to-reset-the-flag bug.
- echo 't clr' >>$CONFIG_STATUS
- echo ': clr' >>$CONFIG_STATUS
- sed ${ac_max_here_lines}q conftest.undefs >>$CONFIG_STATUS
- echo 'CEOF
- sed -f $tmp/undefs.sed $tmp/in >$tmp/out
- rm -f $tmp/in
- mv $tmp/out $tmp/in
-' >>$CONFIG_STATUS
- sed 1,${ac_max_here_lines}d conftest.undefs >conftest.tail
- rm -f conftest.undefs
- mv conftest.tail conftest.undefs
-done
-rm -f conftest.undefs
-
-cat >>$CONFIG_STATUS <<\_ACEOF
- # Let's still pretend it is `configure' which instantiates (i.e., don't
- # use $as_me), people would be surprised to read:
- # /* config.h. Generated by config.status. */
- if test x"$ac_file" = x-; then
- echo "/* Generated by configure. */" >$tmp/config.h
- else
- echo "/* $ac_file. Generated by configure. */" >$tmp/config.h
- fi
- cat $tmp/in >>$tmp/config.h
- rm -f $tmp/in
- if test x"$ac_file" != x-; then
- if diff $ac_file $tmp/config.h >/dev/null 2>&1; then
- { echo "$as_me:$LINENO: $ac_file is unchanged" >&5
-echo "$as_me: $ac_file is unchanged" >&6;}
- else
- ac_dir=`(dirname "$ac_file") 2>/dev/null ||
-$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$ac_file" : 'X\(//\)[^/]' \| \
- X"$ac_file" : 'X\(//\)$' \| \
- X"$ac_file" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$ac_file" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- { if $as_mkdir_p; then
- mkdir -p "$ac_dir"
- else
- as_dir="$ac_dir"
- as_dirs=
- while test ! -d "$as_dir"; do
- as_dirs="$as_dir $as_dirs"
- as_dir=`(dirname "$as_dir") 2>/dev/null ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- done
- test ! -n "$as_dirs" || mkdir $as_dirs
- fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
-echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
- { (exit 1); exit 1; }; }; }
-
- rm -f $ac_file
- mv $tmp/config.h $ac_file
- fi
- else
- cat $tmp/config.h
- rm -f $tmp/config.h
- fi
-done
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF
-
-{ (exit 0); exit 0; }
-_ACEOF
-chmod +x $CONFIG_STATUS
-ac_clean_files=$ac_clean_files_save
-
-
-# configure is writing to config.log, and then calls config.status.
-# config.status does its own redirection, appending to config.log.
-# Unfortunately, on DOS this fails, as config.log is still kept open
-# by configure, so config.status won't be able to write to it; its
-# output is simply discarded. So we exec the FD to /dev/null,
-# effectively closing config.log, so it can be properly (re)opened and
-# appended to by config.status. When coming back to configure, we
-# need to make the FD available again.
-if test "$no_create" != yes; then
- ac_cs_success=:
- ac_config_status_args=
- test "$silent" = yes &&
- ac_config_status_args="$ac_config_status_args --quiet"
- exec 5>/dev/null
- $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
- exec 5>>config.log
- # Use ||, not &&, to avoid exiting from the if with $? = 1, which
- # would make configure fail if this is the last instruction.
- $ac_cs_success || { (exit 1); exit 1; }
-fi
-
diff --git a/util/org/CVS/Entries b/util/org/CVS/Entries
deleted file mode 100644
index 8066737..0000000
--- a/util/org/CVS/Entries
+++ /dev/null
@@ -1,2 +0,0 @@
-D/netlib////
-D/j_paine////
diff --git a/util/org/CVS/Repository b/util/org/CVS/Repository
deleted file mode 100644
index b06e907..0000000
--- a/util/org/CVS/Repository
+++ /dev/null
@@ -1 +0,0 @@
-f2j/util/org
diff --git a/util/org/CVS/Root b/util/org/CVS/Root
deleted file mode 100644
index f54aada..0000000
--- a/util/org/CVS/Root
+++ /dev/null
@@ -1 +0,0 @@
-:ext:keithseymour at f2j.cvs.sourceforge.net:/cvsroot/f2j
diff --git a/util/org/j_paine/CVS/Entries b/util/org/j_paine/CVS/Entries
deleted file mode 100644
index 11cf5b3..0000000
--- a/util/org/j_paine/CVS/Entries
+++ /dev/null
@@ -1 +0,0 @@
-D/formatter////
diff --git a/util/org/j_paine/CVS/Repository b/util/org/j_paine/CVS/Repository
deleted file mode 100644
index 542e224..0000000
--- a/util/org/j_paine/CVS/Repository
+++ /dev/null
@@ -1 +0,0 @@
-f2j/util/org/j_paine
diff --git a/util/org/j_paine/CVS/Root b/util/org/j_paine/CVS/Root
deleted file mode 100644
index f54aada..0000000
--- a/util/org/j_paine/CVS/Root
+++ /dev/null
@@ -1 +0,0 @@
-:ext:keithseymour at f2j.cvs.sourceforge.net:/cvsroot/f2j
diff --git a/util/org/j_paine/formatter/CVS/Entries b/util/org/j_paine/formatter/CVS/Entries
deleted file mode 100644
index 55c7fb2..0000000
--- a/util/org/j_paine/formatter/CVS/Entries
+++ /dev/null
@@ -1,17 +0,0 @@
-/NumberParser.java/1.1/Fri Apr 13 17:39:38 2007//
-/NumberParser.jj/1.1/Fri Apr 13 17:39:36 2007//
-/NumberParserConstants.java/1.1/Fri Apr 13 17:39:38 2007//
-/NumberParserTokenManager.java/1.1/Fri Apr 13 17:39:38 2007//
-/ParseException.java/1.1/Thu Apr 12 18:15:22 2007//
-/SimpleCharStream.java/1.1/Thu Apr 12 18:19:48 2007//
-/Token.java/1.1/Thu Apr 12 18:15:22 2007//
-/TokenMgrError.java/1.1/Thu Apr 12 18:15:22 2007//
-/EndOfFileWhenStartingReadException.java/1.2/Wed May 9 21:05:40 2007//
-/FormatParser.java/1.3/Wed May 9 20:50:00 2007//
-/FormatParser.jj/1.3/Wed May 9 20:49:54 2007//
-/README/1.2/Wed May 9 21:07:57 2007//
-/FormatParserConstants.java/1.2/Wed May 9 20:50:00 2007//
-/FormatParserTokenManager.java/1.2/Wed May 9 20:50:00 2007//
-/Formatter.java/1.5/Tue Nov 13 19:52:35 2007//
-/PrintfFormat.java/1.1/Tue Nov 13 04:16:00 2007//
-D
diff --git a/util/org/j_paine/formatter/CVS/Repository b/util/org/j_paine/formatter/CVS/Repository
deleted file mode 100644
index 3133a22..0000000
--- a/util/org/j_paine/formatter/CVS/Repository
+++ /dev/null
@@ -1 +0,0 @@
-f2j/util/org/j_paine/formatter
diff --git a/util/org/j_paine/formatter/CVS/Root b/util/org/j_paine/formatter/CVS/Root
deleted file mode 100644
index f54aada..0000000
--- a/util/org/j_paine/formatter/CVS/Root
+++ /dev/null
@@ -1 +0,0 @@
-:ext:keithseymour at f2j.cvs.sourceforge.net:/cvsroot/f2j
diff --git a/util/org/j_paine/formatter/Formatter.java~ b/util/org/j_paine/formatter/Formatter.java~
deleted file mode 100644
index 7b0f069..0000000
--- a/util/org/j_paine/formatter/Formatter.java~
+++ /dev/null
@@ -1,1724 +0,0 @@
-/* Formatter.java */
-
-package org.j_paine.formatter;
-
-import java.io.DataInputStream;
-import java.io.IOException;
-import java.io.PrintStream;
-import java.io.StringBufferInputStream;
-import java.util.Hashtable;
-import java.util.Vector;
-
-
-/* This class holds a Format, and has methods for reading and
- writing data against it.
-*/
-public class Formatter
-{
- private Format format = null;
- private FormatMap format_map = null;
-
-
- public Formatter( String format ) throws InvalidFormatException
- {
- this( new Format(format) );
- }
-
- public Formatter( Format format )
- {
- this.format = format;
- }
-
-
- public void setFormatMap( FormatMap format_map )
- {
- this.format_map = format_map;
- }
-
-
- public void write( Vector v, PrintStream out )
- throws OutputFormatException
- {
- FormatX dummy_el = new FormatX();
- FormatOutputList vp = new VectorAndPointer( v );
-
- while(true) {
- try {
- this.format.write( vp, out );
- vp.checkCurrentElementForWrite(dummy_el);
- out.println();
- }catch(EndOfVectorOnWriteException e) {
- break;
- }
- }
- }
-
- public void write( int i, PrintStream out )
- throws OutputFormatException
- {
- write( new Integer(i), out );
- }
-
- public void write( long l, PrintStream out )
- throws OutputFormatException
- {
- write( new Long(l), out );
- }
-
- public void write( float f, PrintStream out )
- throws OutputFormatException
- {
- write( new Float(f), out );
- }
-
- public void write( double d, PrintStream out )
- throws OutputFormatException
- {
- write( new Double(d), out );
- }
-
- public void write( Object o, PrintStream out )
- throws OutputFormatException
- {
- Vector v = new Vector();
- v.addElement( o );
- write( v, out );
- }
-
-
- public void read( Vector v, DataInputStream in )
- throws InputFormatException
- {
- FormatInputList vp = new VectorAndPointer( v );
- InputStreamAndBuffer inb = new InputStreamAndBuffer(in);
- this.format.read( vp, inb, this.format_map );
- }
-
- public void read( Vector v, Hashtable ht, DataInputStream in )
- throws InputFormatException
- {
- FormatInputList vp = new StringsHashtableAndPointer( v, ht );
- InputStreamAndBuffer inb = new InputStreamAndBuffer(in);
- this.format.read( vp, inb, this.format_map );
- }
-
- public void read( String[] s, Hashtable ht, DataInputStream in )
- throws InputFormatException
- {
- Vector v = new Vector();
- for ( int i = 0; i<s.length; i++ )
- v.addElement( s[i] );
- read( v, ht, in );
- }
-
- public Object read( DataInputStream in )
- throws InputFormatException
- {
- Vector v = new Vector();
- read( v, in );
- return v.elementAt(0);
- }
-
-
- public boolean eof( DataInputStream in )
- throws IOException
- {
- return ( in.available() <= 0 );
- }
-
-
- public String toString()
- {
- return "[Formatter " + this.format.toString() + "]";
- }
-}
-
-
-/* Below, we define various classes for holding complete formats,
- format elements, and so on. The class FormatUniv is a superclass
- of them all. This makes it a convenient "universal type" to
- use to hold any piece of, or a complete, format.
-*/
-abstract class FormatUniv
-{
- abstract void write( FormatOutputList vp, PrintStream out )
- throws OutputFormatException;
-
- abstract void read( FormatInputList vp,
- InputStreamAndBuffer in,
- FormatMap format_map
- )
- throws InputFormatException;
-}
-
-
-/* This class represents a complete format, i.e. a sequence of
- elements such as F12.5 and so on. Some of the elements may
- themselves be formats.
- We implement it as a vector of elements.
-*/
-class Format extends FormatUniv
-{
- private Vector elements = new Vector();
-
- public Format( String s ) throws InvalidFormatException
- {
- FormatParser fp =
- Parsers.theParsers().format_parser;
- fp.ReInit( new StringBufferInputStream(s) );
- try {
- Format f = fp.Format();
- this.elements = f.elements;
- }
- catch ( ParseException e ) {
- throw new InvalidFormatException( e.getMessage() );
- }
- catch ( TokenMgrError e ) {
- throw new InvalidFormatException( e.getMessage() );
- }
- }
-
- // We call this one from inside the parser, which needs a Format
- // with its vector initialised.
- Format()
- {
- }
-
-
- public void addElement( FormatUniv fu )
- {
- this.elements.addElement( fu );
- }
-
-
- public void write( FormatOutputList vp, PrintStream out )
- throws OutputFormatException
- {
- for ( int i=0; i<this.elements.size(); i++ ) {
- FormatUniv fu = (FormatUniv)this.elements.elementAt(i);
- fu.write( vp, out );
- }
- }
-
-
- public void read( FormatInputList vp,
- InputStreamAndBuffer in,
- FormatMap format_map
- )
- throws InputFormatException
- {
- for ( int i=0; i<this.elements.size(); i++ ) {
- FormatUniv fu = (FormatUniv)this.elements.elementAt(i);
- fu.read( vp, in, format_map );
- }
- }
-
-
- public String toString()
- {
- String s = "";
- for ( int i=0; i<this.elements.size(); i++ ) {
- if ( i!=0 )
- s = s + ", ";
- s = s + this.elements.elementAt(i).toString();
- }
- return s;
- }
-}
-
-
-/* This class represents a repeated item, e.g. 3F12.5 or 3X.
- The integer r gives the repetition factor.
- The item may be either a format element, or an entire format.
- To cater for either, we hold it in a FormatUniv object (this is
- why we introduced the class FormatUniv).
-*/
-class FormatRepeatedItem extends FormatUniv
-{
- private int r=1;
- private FormatUniv format_univ = null;
-
-
- public FormatRepeatedItem( FormatUniv format_univ )
- {
- this( 1, format_univ );
- }
-
- public FormatRepeatedItem( int r, FormatUniv format_univ )
- {
- this.r = r;
- this.format_univ = format_univ;
- }
-
-
- public void write( FormatOutputList vp, PrintStream out )
- throws OutputFormatException
- {
- for ( int i=1; i<=this.r; i++ )
- this.format_univ.write( vp, out );
- }
-
-
- public void read( FormatInputList vp,
- InputStreamAndBuffer in,
- FormatMap format_map
- )
- throws InputFormatException
- {
- for ( int i=1; i<=this.r; i++ )
- this.format_univ.read( vp, in, format_map );
- }
-
-
- public String toString()
- {
- if (r==1)
- return this.format_univ.toString();
- else
- return this.r+"("+this.format_univ.toString()+")";
- }
-
- public int getRepCount()
- {
- return r;
- }
-}
-
-
-/* This class represents a single format element such as
- F12.5, I2, or X.
-*/
-abstract class FormatElement extends FormatUniv
-{
- /* This method will be defined differently by each subclass.
- */
- public abstract void write( FormatOutputList vp, PrintStream out )
- throws OutputFormatException;
-}
-
-
-/* This class represents a format element that reads or writes
- data. So F12.5 or I3, but not X.
- We assume that all format elements are fixed width.
-*/
-abstract class FormatIOElement extends FormatElement
-{
- private int width;
-
- void setWidth( int width )
- {
- this.width = width;
- }
-
- int getWidth()
- {
- return this.width;
- }
-
-
- public void write( FormatOutputList vp, PrintStream out )
- throws OutputFormatException
- {
- vp.checkCurrentElementForWrite( this );
- Object o = vp.getCurrentElementAndAdvance();
- out.print( convertToString(o,vp.getPtr()-1) );
- }
-
-
- /* This method is called by write, above. It will be
- defined differently for each subclass of FormatIOElement.
- The idea is that getting the next element to write from
- the output list, and printing its string representation,
- are the same for all FormatIOElements. However, the
- conversion to string is different for each one.
- */
- abstract String convertToString( Object o, int vecptr )
- throws OutputFormatException;
-
-
- public void read( FormatInputList vp,
- InputStreamAndBuffer in,
- FormatMap format_map
- )
- throws InputFormatException
- {
- /* Get next width characters. */
- String s = in.getSlice( this.width, vp.getPtr(), this );
-
- /* Try translating if there's a format map. */
- if ( format_map != null ) {
- String repl = format_map.getMapping( s );
- if ( repl != null )
- s = repl;
- }
-
- /* Parse the string to check it's a valid number, and put into
- the vector if so.
- Also, advance the stream input pointer.
- */
- Object o = convertFromString( s, vp, in );
- vp.checkCurrentElementForRead( this, in );
- vp.putElementAndAdvance( o, this, in );
- in.advance( this.width );
- }
-
-
- /* This method is called by read, above. It will be
- defined differently for each subclass of FormatIOElement.
- The idea is that getting the next element to read from
- the input stream, and putting it into the input list,
- are the same for all FormatIOElements. However, the
- conversion from string is different for each one.
- vp and in are used only in generating error messages.
- */
- abstract Object convertFromString( String s,
- FormatInputList vp,
- InputStreamAndBuffer in
- )
- throws InputFormatException;
-}
-
-/* This class represents a P format element.
-*/
-class FormatP extends FormatElement
-{
- public void write( FormatOutputList vp, PrintStream out )
- {
- /* the P element produces no output. it's a scale factor
- * for other elements, but isn't being handled yet.
- */
- }
-
-
- public void read( FormatInputList vp,
- InputStreamAndBuffer in,
- FormatMap format_map
- )
- {
- // in.advance( 1 );
- }
-
-
- public String toString()
- {
- return "P";
- }
-}
-
-
-/* This class represents an X format element.
-*/
-class FormatX extends FormatElement
-{
- public void write( FormatOutputList vp, PrintStream out )
- {
- out.print( " " );
- }
-
-
- public void read( FormatInputList vp,
- InputStreamAndBuffer in,
- FormatMap format_map
- )
- {
- in.advance( 1 );
- }
-
-
- public String toString()
- {
- return "X";
- }
-}
-
-
-/* This class represents an Aw format element.
-*/
-class FormatA extends FormatIOElement
-{
- public FormatA( int w )
- {
- setWidth( w );
- }
-
-
- String convertToString( Object o, int vecptr )
- throws IllegalObjectOnWriteException,
- StringTooWideOnWriteException
- {
- String s;
-
- if ( o instanceof String ) {
- /* Throw an exception if the string won't fit. */
- s = (String)o;
- if ( (getWidth() != -1) && (s.length() > getWidth()) )
- return s.substring(0, getWidth());
- else {
- if(getWidth() > s.length()) {
- char [] pad = new char[getWidth() - s.length()];
-
- for(int i=0;i<pad.length;i++)
- pad[i] = ' ';
-
- return new String(pad) + s;
- }
- else
- return s;
- }
- }
- else {
- char [] blah = new char[getWidth()];
-
- for(int i=0;i<blah.length;i++)
- blah[i] = '#';
-
- return new String(blah);
- }
- }
-
-
- /* vp and in are used only in generating error messages.
- */
- Object convertFromString( String s,
- FormatInputList vp,
- InputStreamAndBuffer in
- )
- throws InvalidNumberOnReadException
- {
- int len;
-
- len = getWidth() - s.length();
-
- /* if the spec width is wider than the string, return a padded string */
- if(len > 0) {
- char [] pad = new char[len];
- for(int i=0;i<len;i++)
- pad[i] = ' ';
- String padstr = new String(pad);
-
- return s.concat(padstr);
- }
-
- /* We just return the slice read, as a string. */
- return s;
- }
-
-
- public String toString()
- {
- return "A"+getWidth();
- }
-}
-
-
-/* This class represents an Iw format element.
-*/
-class FormatI extends FormatIOElement
-{
- public FormatI( int w )
- {
- setWidth( w );
- }
-
-
- String convertToString( Object o, int vecptr )
- throws IllegalObjectOnWriteException,
- NumberTooWideOnWriteException
- {
- String s;
-
- /* Convert the number to a string. */
- if ( o instanceof Integer || o instanceof Long ) {
- CJFormat cjf = new CJFormat();
- cjf.setWidth( getWidth() );
- cjf.setPre( "" );
- cjf.setPost( "" );
- cjf.setLeadingZeroes( false );
- cjf.setShowPlus( false );
- cjf.setAlternate( false );
- cjf.setShowSpace( false );
- cjf.setLeftAlign( false );
- cjf.setFmt( 'i' );
- s = cjf.form( ((Number)o).longValue() );
-
- /* Throw an exception if the string won't fit. */
- if ( s.length() > getWidth() )
- throw new NumberTooWideOnWriteException( (Number)o,
- vecptr,
- this.toString()
- );
- else
- return s;
- }
- else if(o instanceof String) {
- return convertToString(new Integer((int) (((String)o).charAt(0))), vecptr);
- }
- else
- throw new IllegalObjectOnWriteException( o,
- vecptr,
- this.toString()
- );
- }
-
-
- /* vp and in are used only in generating error messages.
- */
- Object convertFromString( String s,
- FormatInputList vp,
- InputStreamAndBuffer in
- )
- throws InvalidNumberOnReadException
- {
- /* Parse the string to check it's a valid number,
- and convert if so.
- */
- NumberParser np =
- Parsers.theParsers().number_parser;
- np.ReInit( new StringBufferInputStream(s) );
- try {
- int start = np.Integer();
- Long l = new Long( s.substring(start) );
- return l;
- }
- catch ( ParseException e ) {
- throw new InvalidNumberOnReadException( s,
- vp.getPtr(),
- this.toString(),
- in.getLineErrorReport(),
- e.getMessage()
- );
- }
- catch ( TokenMgrError e ) {
- throw new InvalidNumberOnReadException( s,
- vp.getPtr(),
- this.toString(),
- in.getLineErrorReport(),
- e.getMessage()
- );
- }
- }
-
-
- public String toString()
- {
- return "I"+getWidth();
- }
-}
-
-class FormatL extends FormatIOElement
-{
- public FormatL( int w )
- {
- setWidth( w );
- }
-
- String convertToString( Object o, int vecptr )
- throws IllegalObjectOnWriteException,
- NumberTooWideOnWriteException
- {
- String s;
-
- /* Convert the number to a string. */
- if ( o instanceof Boolean ) {
- char [] b = new char[getWidth()];
- int i;
-
- for(i=0;i<b.length-1;i++)
- b[i] = ' ';
-
- b[i] = (((Boolean)o).booleanValue() == true) ? 'T' : 'F';
-
- s = new String(b);
-
- /* Throw an exception if the string won't fit. */
- if ( s.length() > getWidth() )
- throw new NumberTooWideOnWriteException( (Number)o,
- vecptr,
- this.toString()
- );
- else
- return s;
- }
- else
- throw new IllegalObjectOnWriteException( o,
- vecptr,
- this.toString()
- );
- }
-
-
- /* vp and in are used only in generating error messages.
- */
- Object convertFromString( String s,
- FormatInputList vp,
- InputStreamAndBuffer in
- )
- throws InvalidNumberOnReadException
- {
- /* Parse the string to check it's a valid number,
- and convert if so.
- */
- NumberParser np =
- Parsers.theParsers().number_parser;
- np.ReInit( new StringBufferInputStream(s) );
- try {
- int start = np.Boolean();
- char brep = s.substring(start).charAt(0);
- Boolean b;
-
- if(brep == 't' || brep == 'T')
- b = new Boolean(true);
- else if(brep == 'f' || brep == 'F')
- b = new Boolean(false);
- else
- throw new ParseException("bad logical value");
- return b;
- }
- catch ( ParseException e ) {
- throw new InvalidNumberOnReadException( s,
- vp.getPtr(),
- this.toString(),
- in.getLineErrorReport(),
- e.getMessage()
- );
- }
- catch ( TokenMgrError e ) {
- throw new InvalidNumberOnReadException( s,
- vp.getPtr(),
- this.toString(),
- in.getLineErrorReport(),
- e.getMessage()
- );
- }
- }
-
- public String toString()
- {
- return "L"+getWidth();
- }
-}
-
-/* This class represents an Fw.d format element.
- Numbers should be output with d decimal places.
-*/
-class FormatF extends FormatIOElement
-{
- private int d;
-
-
- public FormatF( int w, int d )
- {
- setWidth( w );
- this.d = d;
- }
-
-
- String convertToString( Object o, int vecptr )
- throws IllegalObjectOnWriteException,
- NumberTooWideOnWriteException
- {
- String s;
-
- /* Convert the number to a string. */
- if ( o instanceof Integer || o instanceof Long ||
- o instanceof Float || o instanceof Double ) {
- CJFormat cjf = new CJFormat();
- cjf.setWidth( getWidth() );
- cjf.setPrecision( this.d );
- cjf.setPre( "" );
- cjf.setPost( "" );
- cjf.setLeadingZeroes( false );
- cjf.setShowPlus( false );
- cjf.setAlternate( false );
- cjf.setShowSpace( false );
- cjf.setLeftAlign( false );
- cjf.setFmt( 'f' );
- s = cjf.form( ((Number)o).doubleValue() );
-
- /* Throw an exception if the string won't fit. */
- if ( s.length() > getWidth() )
- throw new NumberTooWideOnWriteException( (Number)o,
- vecptr,
- this.toString()
- );
- else
- return s;
- }
- else
- throw new IllegalObjectOnWriteException( o,
- vecptr,
- this.toString()
- );
- }
-
-
- /* vp and in are used only in generating error messages.
- */
- Object convertFromString( String s,
- FormatInputList vp,
- InputStreamAndBuffer in
- )
- throws InvalidNumberOnReadException
- {
- /* Parse the string to check it's a valid number,
- and convert if so.
- */
- NumberParser np =
- Parsers.theParsers().number_parser;
- np.ReInit( new StringBufferInputStream(s) );
- try {
- int start = np.Float();
- Double d = new Double( s.substring(start) );
- return d;
- }
- catch ( ParseException e ) {
- throw new InvalidNumberOnReadException( s,
- vp.getPtr(),
- this.toString(),
- in.getLineErrorReport(),
- e.getMessage()
- );
- }
- catch ( TokenMgrError e ) {
- throw new InvalidNumberOnReadException( s,
- vp.getPtr(),
- this.toString(),
- in.getLineErrorReport(),
- e.getMessage()
- );
- }
- }
-
-
- public String toString()
- {
- return "F"+getWidth()+"."+this.d;
- }
-}
-
-
-/* This class represents an Ew.d format element.
- Numbers should be output as
- s0.dd...ddEsdd
- where s is a sign.
-*/
-class FormatE extends FormatIOElement
-{ int d;
-
-
- public FormatE( int w, int d )
- {
- setWidth( w );
- this.d = d;
- }
-
-
- String convertToString( Object o, int vecptr )
- throws IllegalObjectOnWriteException,
- NumberTooWideOnWriteException
- {
- String s;
-
- /* Convert the number to a string. */
- if ( o instanceof Integer || o instanceof Long ||
- o instanceof Float || o instanceof Double ) {
- CJFormat cjf = new CJFormat();
- cjf.setWidth( getWidth() );
- cjf.setPrecision( this.d );
- cjf.setPre( "" );
- cjf.setPost( "" );
- cjf.setLeadingZeroes( false );
- cjf.setShowPlus( false );
- cjf.setAlternate( false );
- cjf.setShowSpace( false );
- cjf.setLeftAlign( false );
- cjf.setFmt( 'E' );
- s = cjf.form( ((Number)o).doubleValue() );
-
- /* Throw an exception if the string won't fit. */
- if ( s.length() > getWidth() )
- throw new NumberTooWideOnWriteException( (Number)o,
- vecptr,
- this.toString()
- );
- else
- return s;
- }
- else
- throw new IllegalObjectOnWriteException( o,
- vecptr,
- this.toString()
- );
- }
-
-
- /* vp and in are used only in generating error messages.
- */
- Object convertFromString( String s,
- FormatInputList vp,
- InputStreamAndBuffer in
- )
- throws InvalidNumberOnReadException
- {
- /* Parse the string to check it's a valid number,
- and convert if so.
- */
- NumberParser np =
- Parsers.theParsers().number_parser;
- np.ReInit( new StringBufferInputStream(s) );
- try {
- int start = np.Float();
- Double d = new Double( s.substring(start) );
- return d;
- }
- catch ( ParseException e ) {
- throw new InvalidNumberOnReadException( s,
- vp.getPtr(),
- this.toString(),
- in.getLineErrorReport(),
- e.getMessage()
- );
- }
- catch ( TokenMgrError e ) {
- throw new InvalidNumberOnReadException( s,
- vp.getPtr(),
- this.toString(),
- in.getLineErrorReport(),
- e.getMessage()
- );
- }
- }
-
-
- public String toString()
- {
- return "E"+getWidth()+"."+this.d;
- }
-}
-
-
-/* This class represents an / item.
-*/
-class FormatSlash extends FormatElement
-{
- public void write( FormatOutputList vp, PrintStream out )
- {
- out.println();
- }
-
-
- public void read( FormatInputList vp,
- InputStreamAndBuffer in,
- FormatMap format_map
- )
- throws InputFormatException
- {
- in.readLine( vp.getPtr(), this );
- }
-
-
- public String toString()
- {
- return "/";
- }
-}
-
-
-/* This class represents an embedded literal, e.g. 'Title'.
- toString() does not yet handle embedded quotes.
-*/
-class FormatString extends FormatElement
-{
- private String s;
-
-
- public FormatString( String s )
- {
- this.s = s;
- }
-
-
- public void write( FormatOutputList vp, PrintStream out )
- {
- out.print(this.s);
- }
-
-
- public void read( FormatInputList vp,
- InputStreamAndBuffer in,
- FormatMap format_map
- )
- throws InputFormatException
- {
- String s = in.getSlice( this.s.length(), vp.getPtr(), this );
- if ( !( this.s.equals(s) ) )
- throw new UnmatchedStringOnReadException( s,
- vp.getPtr(),
- this.toString(),
- in.getLineErrorReport()
- );
- in.advance( this.s.length() );
- }
-
-
- public String toString()
- {
- return "'" + this.s + "'";
- }
-}
-
-
-/* This class represents a mapping from input data. We use it to specify,
- for example, that on input, an "X" should be replaced by a "0" before
- being interpreted by the formatted input routines.
- The user must provide an instance of this class, with getMapping
- defined. getMapping should return either null, if the input string
- is to be left as it is, or a replacement string.
-*/
-abstract class FormatMap
-{
- public abstract String getMapping( String in );
-}
-
-
-interface FormatOutputList
-{
- boolean hasCurrentElement();
-
- void checkCurrentElementForWrite( FormatElement format_element )
- throws EndOfVectorOnWriteException;
-
- Object getCurrentElement();
-
- Object getCurrentElementAndAdvance();
-
- /* Returns the current pointer.
- Used only in generating error messages.
- */
- int getPtr();
-}
-
-
-interface FormatInputList
-{
- /* format_element and in are only for generating error messages.
- */
- void checkCurrentElementForRead( FormatElement format_element,
- InputStreamAndBuffer in
- )
- throws InputFormatException;
- // If the list is a VectorAndPointer, it won't throw an exception.
- // If it is a StringsHashtableAndPointer, it will throw a
- // EndOfKeyVectorOnReadException.
-
- /* Puts o into the input list and advances its pointer.
- Must be defined for each subclass.
- format_element and in are only for generating error messages.
- */
- void putElementAndAdvance( Object o,
- FormatElement format_element,
- InputStreamAndBuffer in
- )
- throws InputFormatException;
-
- /* Returns the current pointer.
- Used only in generating error messages.
- */
- int getPtr();
-}
-
-
-/* This class represents a Vector and a current-element pointer.
- We use it when outputting or inputting a Vector against a format:
- the pointer keeps track of the current element being output, and
- can be incremented by the format write and read methods.
-*/
-class VectorAndPointer implements FormatInputList, FormatOutputList
-{
- private Vector v = null;
- private int vecptr = 0;
- // On output, vecptr points at the next element to be used.
- // On input, it points at the next free slot to be filled.
-
-
- public VectorAndPointer( Vector v )
- {
- this.v = v;
- }
-
-
- public VectorAndPointer()
- {
- this.v = new Vector();
- }
-
-
- public boolean hasCurrentElement()
- {
- return ( this.vecptr < this.v.size() );
- }
-
-
- public void checkCurrentElementForWrite( FormatElement format_element )
- throws EndOfVectorOnWriteException
- {
- if ( !hasCurrentElement() )
- throw new EndOfVectorOnWriteException( this.vecptr,
- format_element.toString()
- );
- }
-
-
- /* Checks that the current element in the input list is OK and
- throws an exception if not. For this implementation of
- FormatInputList, there are no error conditions - we
- introduced the method for the StringHashtableAndPointer class,
- and need it here for compatibility.
- format_element and in are only for generating error messages.
- */
- public void checkCurrentElementForRead( FormatElement format_element,
- InputStreamAndBuffer in
- )
- {
- }
-
-
- public Object getCurrentElement()
- {
- return this.v.elementAt( this.vecptr );
- }
-
- public Object getCurrentElementAndAdvance()
- {
- this.vecptr = this.vecptr+1;
- return this.v.elementAt( this.vecptr-1 );
- }
-
-
- /* Puts o into the input list and advances its pointer.
- format_element and in are only for generating error messages,
- and not used in this implementation, since no error conditions
- can arise.
- */
- public void putElementAndAdvance( Object o,
- FormatElement format_element,
- InputStreamAndBuffer in
- )
- {
- this.v.addElement(o);
- this.vecptr = this.vecptr + 1;
- }
-
-
- public void advance()
- {
- this.vecptr = this.vecptr + 1;
- }
-
-
- /* Returns the current pointer.
- Used only in generating error messages.
- */
- public int getPtr()
- {
- return this.vecptr;
- }
-}
-
-
-/* This class represents a Vector of Strings and a current-element pointer.
- We use it when inputting data against a format.
-*/
-class StringsHashtableAndPointer implements FormatInputList
-{
- private VectorAndPointer vp;
- private Hashtable ht;
-
-
- public StringsHashtableAndPointer( Vector strings, Hashtable ht )
- {
- this.vp = new VectorAndPointer( strings );
- this.ht = ht;
- }
-
-
- /* Checks that there is a current element in the key vector, and
- throws an exception if not.
- format_element and in are only for generating error messages.
- */
- public void checkCurrentElementForRead( FormatElement format_element,
- InputStreamAndBuffer in
- )
- throws EndOfKeyVectorOnReadException
- {
- if ( !(this.vp.hasCurrentElement() ) )
- throw new EndOfKeyVectorOnReadException( this.vp.getPtr(),
- format_element.toString(),
- in.getLineErrorReport()
- );
- }
-
-
- /* Puts o into the input list and advances its pointer.
- In this implementation, that means getting the current key,
- putting o into an appropriate hashtable slot, and advancing
- the pointer in the vector of keys.
- format_element and in are only for generating error messages.
- */
- public void putElementAndAdvance( Object o,
- FormatElement format_element,
- InputStreamAndBuffer in
- )
- throws KeyNotStringOnReadException
- {
- Object current_key = this.vp.getCurrentElement();
- if ( current_key instanceof String ) {
- this.ht.put( (String)current_key, o );
- this.vp.advance();
- }
- else
- throw new KeyNotStringOnReadException( current_key,
- this.vp.getPtr(),
- format_element.toString(),
- in.getLineErrorReport()
- );
- }
-
-
- /* Returns the current pointer.
- Used only in generating error messages.
- */
- public int getPtr()
- {
- return this.vp.getPtr();
- }
-}
-
-
-/* This class holds an input stream and a line buffer.
-*/
-class InputStreamAndBuffer
-{
- private DataInputStream in;
- // The stream we read from.
-
- private String line;
- // The line just read.
-
- private int ptr;
- // Initialised to 0 after reading a line. Index of the next
- // character to use in line.
-
- private int line_number;
- // Initially 0. Is incremented each time a line is read, so
- // the first line read is number 1.
-
- private boolean nothing_read;
- // Initially true. Is set false after reading a line. We
- // use this so that the first call of getSlice
- // knows to read a line.
-
-
- public InputStreamAndBuffer( DataInputStream in )
- {
- this.in = in;
- this.ptr = 0;
- this.line = "";
- this.line_number = 0;
- this.nothing_read = true;
- }
-
-
- /* Reads the next line into the line buffer.
- vecptr and format are used only in generating error messages.
- */
- public void readLine( int vecptr, FormatElement format )
- throws EndOfFileWhenStartingReadException,
- LineMissingOnReadException,
- IOExceptionOnReadException
- {
- try {
- String line = this.in.readLine();
-
- if ( line == null ) {
- if ( this.nothing_read )
- throw new EndOfFileWhenStartingReadException( vecptr,
- format.toString(),
- this.line,
- this.line_number
- );
- else
- throw new LineMissingOnReadException( vecptr,
- format.toString(),
- this.line,
- this.line_number
- );
- }
- else {
- this.ptr = 0;
- this.nothing_read = false;
- this.line_number = this.line_number + 1;
- this.line = line;
- // Don't do the assignment until we've checked for a null
- // line, because then we can then use this.line as the
- // previous value for error messages.
- }
- }
- catch ( IOException e ) {
- throw new IOExceptionOnReadException( this.line, this.line_number,
- e.getMessage()
- );
- }
- }
-
-
- /* Returns a string consisting of the next width characters,
- and throws an exception if the line is not long enough.
- The 'vecptr' and 'format' parameters are used only in generating error
- messages.
- */
- public String getSlice( int width, int vecptr, FormatElement format )
- throws DataMissingOnReadException,
- LineMissingOnReadException,
- EndOfFileWhenStartingReadException,
- IOExceptionOnReadException
- {
- if ( this.nothing_read )
- readLine( vecptr, format );
- if ( this.ptr+width > this.line.length() ) {
-/**
- throw new DataMissingOnReadException( vecptr,
- format.toString(),
- getLineErrorReport()
- );
-**/
- return this.line.substring( this.ptr );
- }
- else {
- return this.line.substring( this.ptr, this.ptr+width );
- }
- }
-
-
- /* Advances the pointer by width.
- */
- public void advance( int width )
- {
- this.ptr = this.ptr + width;
- }
-
-
- /* Generates an error report showing the line, character pointer
- ptr and line number.
- */
- public String getLineErrorReport()
- {
- StringBuffer s = new StringBuffer();
-
- /* Report the line number. */
- s.append( " Line number = " + this.line_number + ":\n" );
-
- /* Show the line. */
- s.append( this.line + "\n" );
-
- /* Show an arrow under ptr. */
- for ( int i=0; i<this.ptr; i++ )
- s.append( " " );
- s.append( "^" );
-
- return s.toString();
- }
-}
-
-
-/* This exception is a generic one, a superclass of all those
- thrown to report an error while doing formatted output.
-*/
-abstract class OutputFormatException extends Exception
-{
- public OutputFormatException( String s )
- {
- super( s );
- }
-
- public OutputFormatException()
- {
- super();
- }
-}
-
-
-/* This exception is thrown if formatted output runs off the
- end of the vector being output before it has completed the
- format.
-*/
-class EndOfVectorOnWriteException extends OutputFormatException
-{
- public EndOfVectorOnWriteException( int vecptr,
- String format
- )
- {
-// this( "End of vector while writing formatted data:\n" +
-// " Index = " + vecptr + "\n" +
-// " Format = " + format + " ."
-// );
- }
-
- public EndOfVectorOnWriteException( String s )
- {
- super( s );
- }
-
- public EndOfVectorOnWriteException( )
- {
- super( );
- }
-}
-
-
-/* This exception is thrown if formatted output detects an object
- that's the wrong type for a format element, e.g. a real
- when outputting against an Iw element.
-*/
-class IllegalObjectOnWriteException extends OutputFormatException
-{
- public IllegalObjectOnWriteException( Object o,
- int vecptr,
- String format
- )
- {
- this( "Illegal object while writing formatted data:\n" +
- " Object = \"" + o + "\"\n" +
- " Index = " + vecptr + "\n" +
- " Format = " + format + " ."
- );
- }
-
- public IllegalObjectOnWriteException( String s )
- {
- super( s );
- }
-
- public IllegalObjectOnWriteException( )
- {
- super( );
- }
-}
-
-
-/* This exception is thrown if formatted output detects a string
- that won't fit in its format, e.g. trying to output abcde
- against an A4 element.
-*/
-class StringTooWideOnWriteException extends OutputFormatException
-{
- public StringTooWideOnWriteException( String s,
- int vecptr,
- String format
- )
- {
- this( "String too wide while writing formatted data:\n" +
- " String = \"" + s + "\"\n" +
- " Index = " + vecptr + "\n" +
- " Format = " + format + " ."
- );
- }
-
- public StringTooWideOnWriteException( String s )
- {
- super( s );
- }
-
- public StringTooWideOnWriteException( )
- {
- super( );
- }
-}
-
-
-/* This exception is thrown if formatted output detects a number
- that won't fit in its format, e.g. trying to output 1234
- against an I3 element.
-*/
-class NumberTooWideOnWriteException extends OutputFormatException
-{
- public NumberTooWideOnWriteException( Number n,
- int vecptr,
- String format
- )
- {
- this( "Number too wide while writing formatted data:\n" +
- " Number = \"" + n + "\"\n" +
- " Index = " + vecptr + "\n" +
- " Format = " + format + " ."
- );
- }
-
- public NumberTooWideOnWriteException( String s )
- {
- super( s );
- }
-
- public NumberTooWideOnWriteException( )
- {
- super( );
- }
-}
-
-
-/* This exception is a generic one, a superclass of all those
- thrown to report an error while doing formatted input.
-*/
-abstract class InputFormatException extends Exception
-{
- public InputFormatException( String s )
- {
- super( s );
- }
-
- public InputFormatException()
- {
- super();
- }
-
-
-}
-
-
-class LineMissingOnReadException extends InputFormatException
-{
- public LineMissingOnReadException( int vecptr,
- String format,
- String line,
- int line_number
- )
- {
- this( "End of file while reading formatted data:\n" +
- " Index = " + vecptr + "\n" +
- " Format = " + format + "\n" +
- "Last line was number " + line_number + ":\n" +
- line
- );
- }
-
- public LineMissingOnReadException( String s )
- {
- super( s );
- }
-
- public LineMissingOnReadException( )
- {
- super( );
- }
-}
-
-
-class DataMissingOnReadException extends InputFormatException
-{
- public DataMissingOnReadException( int vecptr,
- String format,
- String line_error_report
- )
- {
- this("Warning: EOL reading formatted data: idx=" +
- vecptr + " fmt=" + format);
- }
-
- public DataMissingOnReadException( String s )
- {
- super( s );
- }
-
- public DataMissingOnReadException( )
- {
- super( );
- }
-}
-
-
-class InvalidNumberOnReadException extends InputFormatException
-{
- public InvalidNumberOnReadException( String number,
- int vecptr,
- String format,
- String line_error_report,
- String parser_message
- )
- {
- this( "Invalid number while reading formatted data:\n" +
- " Number = \"" + number + "\"\n" +
- " Index = " + vecptr + "\n" +
- " Format = " + format + "\n" +
- line_error_report + "\n" +
- parser_message
- );
- }
-
- public InvalidNumberOnReadException( String s )
- {
- super( s );
- }
-
- public InvalidNumberOnReadException( )
- {
- super( );
- }
-}
-
-
-class UnmatchedStringOnReadException extends InputFormatException
-{
- public UnmatchedStringOnReadException( String string,
- int vecptr,
- String format,
- String line_error_report
- )
- {
- this( "Unmatched string while reading formatted data:\n" +
- " String = \"" + string + "\"\n" +
- " Index = " + vecptr + "\n" +
- " Format = " + format + "\n" +
- line_error_report + "\n"
- );
- }
-
- public UnmatchedStringOnReadException( String s )
- {
- super( s );
- }
-
- public UnmatchedStringOnReadException( )
- {
- super( );
- }
-}
-
-
-class EndOfKeyVectorOnReadException extends InputFormatException
-{
- public EndOfKeyVectorOnReadException( int vecptr,
- String format,
- String line_error_report
- )
- {
- this( "End of key vector while reading formatted data:\n" +
- " Index = " + vecptr + "\n" +
- " Format = " + format + "\n" +
- line_error_report + "\n"
- );
- }
-
- public EndOfKeyVectorOnReadException( String s )
- {
- super( s );
- }
-
- public EndOfKeyVectorOnReadException( )
- {
- super( );
- }
-}
-
-
-class KeyNotStringOnReadException extends InputFormatException
-{
- public KeyNotStringOnReadException( Object key,
- int vecptr,
- String format,
- String line_error_report
- )
- {
- this( "Key not string while reading formatted data:\n" +
- " Key = \"" + vecptr + "\"\n" +
- " Index = " + vecptr + "\n" +
- " Format = " + format + "\n" +
- line_error_report + "\n"
- );
- }
-
- public KeyNotStringOnReadException( String s )
- {
- super( s );
- }
-
- public KeyNotStringOnReadException( )
- {
- super( );
- }
-}
-
-
-class IOExceptionOnReadException extends InputFormatException
-{
- public IOExceptionOnReadException( String line,
- int line_number,
- String IOMessage
- )
- {
- this( "IOException while reading formatted data:\n" +
- "Last line was number " + line_number + ":\n" +
- line + "\n" +
- IOMessage
- );
- }
-
- public IOExceptionOnReadException( String s )
- {
- super( s );
- }
-
- public IOExceptionOnReadException( )
- {
- super( );
- }
-}
-
-
-/* This exception is thrown when a syntax error is detected while
- parsing a format string.
-*/
-class InvalidFormatException extends Exception
-{
- public InvalidFormatException( String parser_message )
- {
- super( parser_message );
- }
-
- public InvalidFormatException( )
- {
- super( );
- }
-}
-
-
-/* This class is used to hold the parsers for formats and numbers.
- We generate them static (see JavaCC documentation) because it
- makes them more efficient. However, that then means that we need
- somewhere to put an instance of each. That's what we use the result
- of Parsers.theParsers() for.
-*/
-class Parsers
-{
- static boolean already_created = false;
- static Parsers parsers = null;
-
- FormatParser format_parser = null;
- NumberParser number_parser = null;
-
-
- static Parsers theParsers()
- {
- if ( !(already_created) ) {
- parsers = new Parsers();
- already_created = true;
- }
- return parsers;
- }
-
-
- private Parsers()
- {
- this.format_parser = new FormatParser( new StringBufferInputStream("") );
- this.number_parser = new NumberParser( new StringBufferInputStream("") );
- }
-}
diff --git a/util/org/j_paine/formatter/PrintfFormat.java b/util/org/j_paine/formatter/PrintfFormat.java
deleted file mode 100644
index e1633bd..0000000
--- a/util/org/j_paine/formatter/PrintfFormat.java
+++ /dev/null
@@ -1,3091 +0,0 @@
-
-//
-// (c) 2000 Sun Microsystems, Inc.
-// ALL RIGHTS RESERVED
-//
-// License Grant-
-//
-//
-// Permission to use, copy, modify, and distribute this Software and its
-// documentation for NON-COMMERCIAL or COMMERCIAL purposes and without fee is
-// hereby granted.
-//
-// This Software is provided "AS IS". All express warranties, including any
-// implied warranty of merchantability, satisfactory quality, fitness for a
-// particular purpose, or non-infringement, are disclaimed, except to the extent
-// that such disclaimers are held to be legally invalid.
-//
-// You acknowledge that Software is not designed, licensed or intended for use in
-// the design, construction, operation or maintenance of any nuclear facility
-// ("High Risk Activities"). Sun disclaims any express or implied warranty of
-// fitness for such uses.
-//
-// Please refer to the file http://www.sun.com/policies/trademarks/ for further
-// important trademark information and to
-// http://java.sun.com/nav/business/index.html for further important licensing
-// information for the Java Technology.
-//
-package org.j_paine.formatter;
-
-import java.util.Enumeration;
-import java.util.Vector;
-import java.util.Locale;
-import java.text.DecimalFormatSymbols;
-
-/**
- * PrintfFormat allows the formatting of an array of
- * objects embedded within a string. Primitive types
- * must be passed using wrapper types. The formatting
- * is controlled by a control string.
- *<p>
- * A control string is a Java string that contains a
- * control specification. The control specification
- * starts at the first percent sign (%) in the string,
- * provided that this percent sign
- *<ol>
- *<li>is not escaped protected by a matching % or is
- * not an escape % character,
- *<li>is not at the end of the format string, and
- *<li>precedes a sequence of characters that parses as
- * a valid control specification.
- *</ol>
- *</p><p>
- * A control specification usually takes the form:
- *<pre> % ['-+ #0]* [0..9]* { . [0..9]* }+
- * { [hlL] }+ [idfgGoxXeEcs]
- *</pre>
- * There are variants of this basic form that are
- * discussed below.</p>
- *<p>
- * The format is composed of zero or more directives
- * defined as follows:
- *<ul>
- *<li>ordinary characters, which are simply copied to
- * the output stream;
- *<li>escape sequences, which represent non-graphic
- * characters; and
- *<li>conversion specifications, each of which
- * results in the fetching of zero or more arguments.
- *</ul></p>
- *<p>
- * The results are undefined if there are insufficient
- * arguments for the format. Usually an unchecked
- * exception will be thrown. If the format is
- * exhausted while arguments remain, the excess
- * arguments are evaluated but are otherwise ignored.
- * In format strings containing the % form of
- * conversion specifications, each argument in the
- * argument list is used exactly once.</p>
- * <p>
- * Conversions can be applied to the <code>n</code>th
- * argument after the format in the argument list,
- * rather than to the next unused argument. In this
- * case, the conversion characer % is replaced by the
- * sequence %<code>n</code>$, where <code>n</code> is
- * a decimal integer giving the position of the
- * argument in the argument list.</p>
- * <p>
- * In format strings containing the %<code>n</code>$
- * form of conversion specifications, each argument
- * in the argument list is used exactly once.</p>
- *
- *<h4>Escape Sequences</h4>
- *<p>
- * The following table lists escape sequences and
- * associated actions on display devices capable of
- * the action.
- *<table>
- *<tr><th align=left>Sequence</th>
- * <th align=left>Name</th>
- * <th align=left>Description</th></tr>
- *<tr><td>\\</td><td>backlash</td><td>None.
- *</td></tr>
- *<tr><td>\a</td><td>alert</td><td>Attempts to alert
- * the user through audible or visible
- * notification.
- *</td></tr>
- *<tr><td>\b</td><td>backspace</td><td>Moves the
- * printing position to one column before
- * the current position, unless the
- * current position is the start of a line.
- *</td></tr>
- *<tr><td>\f</td><td>form-feed</td><td>Moves the
- * printing position to the initial
- * printing position of the next logical
- * page.
- *</td></tr>
- *<tr><td>\n</td><td>newline</td><td>Moves the
- * printing position to the start of the
- * next line.
- *</td></tr>
- *<tr><td>\r</td><td>carriage-return</td><td>Moves
- * the printing position to the start of
- * the current line.
- *</td></tr>
- *<tr><td>\t</td><td>tab</td><td>Moves the printing
- * position to the next implementation-
- * defined horizontal tab position.
- *</td></tr>
- *<tr><td>\v</td><td>vertical-tab</td><td>Moves the
- * printing position to the start of the
- * next implementation-defined vertical
- * tab position.
- *</td></tr>
- *</table></p>
- *<h4>Conversion Specifications</h4>
- *<p>
- * Each conversion specification is introduced by
- * the percent sign character (%). After the character
- * %, the following appear in sequence:</p>
- *<p>
- * Zero or more flags (in any order), which modify the
- * meaning of the conversion specification.</p>
- *<p>
- * An optional minimum field width. If the converted
- * value has fewer characters than the field width, it
- * will be padded with spaces by default on the left;
- * t will be padded on the right, if the left-
- * adjustment flag (-), described below, is given to
- * the field width. The field width takes the form
- * of a decimal integer. If the conversion character
- * is s, the field width is the the minimum number of
- * characters to be printed.</p>
- *<p>
- * An optional precision that gives the minumum number
- * of digits to appear for the d, i, o, x or X
- * conversions (the field is padded with leading
- * zeros); the number of digits to appear after the
- * radix character for the e, E, and f conversions,
- * the maximum number of significant digits for the g
- * and G conversions; or the maximum number of
- * characters to be written from a string is s and S
- * conversions. The precision takes the form of an
- * optional decimal digit string, where a null digit
- * string is treated as 0. If a precision appears
- * with a c conversion character the precision is
- * ignored.
- * </p>
- *<p>
- * An optional h specifies that a following d, i, o,
- * x, or X conversion character applies to a type
- * short argument (the argument will be promoted
- * according to the integral promotions and its value
- * converted to type short before printing).</p>
- *<p>
- * An optional l (ell) specifies that a following
- * d, i, o, x, or X conversion character applies to a
- * type long argument.</p>
- *<p>
- * A field width or precision may be indicated by an
- * asterisk (*) instead of a digit string. In this
- * case, an integer argument supplised the field width
- * precision. The argument that is actually converted
- * is not fetched until the conversion letter is seen,
- * so the the arguments specifying field width or
- * precision must appear before the argument (if any)
- * to be converted. If the precision argument is
- * negative, it will be changed to zero. A negative
- * field width argument is taken as a - flag, followed
- * by a positive field width.</p>
- * <p>
- * In format strings containing the %<code>n</code>$
- * form of a conversion specification, a field width
- * or precision may be indicated by the sequence
- * *<code>m</code>$, where m is a decimal integer
- * giving the position in the argument list (after the
- * format argument) of an integer argument containing
- * the field width or precision.</p>
- * <p>
- * The format can contain either numbered argument
- * specifications (that is, %<code>n</code>$ and
- * *<code>m</code>$), or unnumbered argument
- * specifications (that is % and *), but normally not
- * both. The only exception to this is that %% can
- * be mixed with the %<code>n</code>$ form. The
- * results of mixing numbered and unnumbered argument
- * specifications in a format string are undefined.</p>
- *
- *<h4>Flag Characters</h4>
- *<p>
- * The flags and their meanings are:</p>
- *<dl>
- * <dt>'<dd> integer portion of the result of a
- * decimal conversion (%i, %d, %f, %g, or %G) will
- * be formatted with thousands' grouping
- * characters. For other conversions the flag
- * is ignored. The non-monetary grouping
- * character is used.
- * <dt>-<dd> result of the conversion is left-justified
- * within the field. (It will be right-justified
- * if this flag is not specified).</td></tr>
- * <dt>+<dd> result of a signed conversion always
- * begins with a sign (+ or -). (It will begin
- * with a sign only when a negative value is
- * converted if this flag is not specified.)
- * <dt><space><dd> If the first character of a
- * signed conversion is not a sign, a space
- * character will be placed before the result.
- * This means that if the space character and +
- * flags both appear, the space flag will be
- * ignored.
- * <dt>#<dd> value is to be converted to an alternative
- * form. For c, d, i, and s conversions, the flag
- * has no effect. For o conversion, it increases
- * the precision to force the first digit of the
- * result to be a zero. For x or X conversion, a
- * non-zero result has 0x or 0X prefixed to it,
- * respectively. For e, E, f, g, and G
- * conversions, the result always contains a radix
- * character, even if no digits follow the radix
- * character (normally, a decimal point appears in
- * the result of these conversions only if a digit
- * follows it). For g and G conversions, trailing
- * zeros will not be removed from the result as
- * they normally are.
- * <dt>0<dd> d, i, o, x, X, e, E, f, g, and G
- * conversions, leading zeros (following any
- * indication of sign or base) are used to pad to
- * the field width; no space padding is
- * performed. If the 0 and - flags both appear,
- * the 0 flag is ignored. For d, i, o, x, and X
- * conversions, if a precision is specified, the
- * 0 flag will be ignored. For c conversions,
- * the flag is ignored.
- *</dl>
- *
- *<h4>Conversion Characters</h4>
- *<p>
- * Each conversion character results in fetching zero
- * or more arguments. The results are undefined if
- * there are insufficient arguments for the format.
- * Usually, an unchecked exception will be thrown.
- * If the format is exhausted while arguments remain,
- * the excess arguments are ignored.</p>
- *
- *<p>
- * The conversion characters and their meanings are:
- *</p>
- *<dl>
- * <dt>d,i<dd>The int argument is converted to a
- * signed decimal in the style [-]dddd. The
- * precision specifies the minimum number of
- * digits to appear; if the value being
- * converted can be represented in fewer
- * digits, it will be expanded with leading
- * zeros. The default precision is 1. The
- * result of converting 0 with an explicit
- * precision of 0 is no characters.
- * <dt>o<dd> The int argument is converted to unsigned
- * octal format in the style ddddd. The
- * precision specifies the minimum number of
- * digits to appear; if the value being
- * converted can be represented in fewer
- * digits, it will be expanded with leading
- * zeros. The default precision is 1. The
- * result of converting 0 with an explicit
- * precision of 0 is no characters.
- * <dt>x<dd> The int argument is converted to unsigned
- * hexadecimal format in the style dddd; the
- * letters abcdef are used. The precision
- * specifies the minimum numberof digits to
- * appear; if the value being converted can be
- * represented in fewer digits, it will be
- * expanded with leading zeros. The default
- * precision is 1. The result of converting 0
- * with an explicit precision of 0 is no
- * characters.
- * <dt>X<dd> Behaves the same as the x conversion
- * character except that letters ABCDEF are
- * used instead of abcdef.
- * <dt>f<dd> The floating point number argument is
- * written in decimal notation in the style
- * [-]ddd.ddd, where the number of digits after
- * the radix character (shown here as a decimal
- * point) is equal to the precision
- * specification. A Locale is used to determine
- * the radix character to use in this format.
- * If the precision is omitted from the
- * argument, six digits are written after the
- * radix character; if the precision is
- * explicitly 0 and the # flag is not specified,
- * no radix character appears. If a radix
- * character appears, at least 1 digit appears
- * before it. The value is rounded to the
- * appropriate number of digits.
- * <dt>e,E<dd>The floating point number argument is
- * written in the style [-]d.ddde{+-}dd
- * (the symbols {+-} indicate either a plus or
- * minus sign), where there is one digit before
- * the radix character (shown here as a decimal
- * point) and the number of digits after it is
- * equal to the precision. A Locale is used to
- * determine the radix character to use in this
- * format. When the precision is missing, six
- * digits are written after the radix character;
- * if the precision is 0 and the # flag is not
- * specified, no radix character appears. The
- * E conversion will produce a number with E
- * instead of e introducing the exponent. The
- * exponent always contains at least two digits.
- * However, if the value to be written requires
- * an exponent greater than two digits,
- * additional exponent digits are written as
- * necessary. The value is rounded to the
- * appropriate number of digits.
- * <dt>g,G<dd>The floating point number argument is
- * written in style f or e (or in sytle E in the
- * case of a G conversion character), with the
- * precision specifying the number of
- * significant digits. If the precision is
- * zero, it is taken as one. The style used
- * depends on the value converted: style e
- * (or E) will be used only if the exponent
- * resulting from the conversion is less than
- * -4 or greater than or equal to the precision.
- * Trailing zeros are removed from the result.
- * A radix character appears only if it is
- * followed by a digit.
- * <dt>c,C<dd>The integer argument is converted to a
- * char and the result is written.
- *
- * <dt>s,S<dd>The argument is taken to be a string and
- * bytes from the string are written until the
- * end of the string or the number of bytes
- * indicated by the precision specification of
- * the argument is reached. If the precision
- * is omitted from the argument, it is taken to
- * be infinite, so all characters up to the end
- * of the string are written.
- * <dt>%<dd>Write a % character; no argument is
- * converted.
- *</dl>
- *<p>
- * If a conversion specification does not match one of
- * the above forms, an IllegalArgumentException is
- * thrown and the instance of PrintfFormat is not
- * created.</p>
- *<p>
- * If a floating point value is the internal
- * representation for infinity, the output is
- * [+]Infinity, where Infinity is either Infinity or
- * Inf, depending on the desired output string length.
- * Printing of the sign follows the rules described
- * above.</p>
- *<p>
- * If a floating point value is the internal
- * representation for "not-a-number," the output is
- * [+]NaN. Printing of the sign follows the rules
- * described above.</p>
- *<p>
- * In no case does a non-existent or small field width
- * cause truncation of a field; if the result of a
- * conversion is wider than the field width, the field
- * is simply expanded to contain the conversion result.
- *</p>
- *<p>
- * The behavior is like printf. One exception is that
- * the minimum number of exponent digits is 3 instead
- * of 2 for e and E formats when the optional L is used
- * before the e, E, g, or G conversion character. The
- * optional L does not imply conversion to a long long
- * double. </p>
- * <p>
- * The biggest divergence from the C printf
- * specification is in the use of 16 bit characters.
- * This allows the handling of characters beyond the
- * small ASCII character set and allows the utility to
- * interoperate correctly with the rest of the Java
- * runtime environment.</p>
- *<p>
- * Omissions from the C printf specification are
- * numerous. All the known omissions are present
- * because Java never uses bytes to represent
- * characters and does not have pointers:</p>
- *<ul>
- * <li>%c is the same as %C.
- * <li>%s is the same as %S.
- * <li>u, p, and n conversion characters.
- * <li>%ws format.
- * <li>h modifier applied to an n conversion character.
- * <li>l (ell) modifier applied to the c, n, or s
- * conversion characters.
- * <li>ll (ell ell) modifier to d, i, o, u, x, or X
- * conversion characters.
- * <li>ll (ell ell) modifier to an n conversion
- * character.
- * <li>c, C, d,i,o,u,x, and X conversion characters
- * apply to Byte, Character, Short, Integer, Long
- * types.
- * <li>f, e, E, g, and G conversion characters apply
- * to Float and Double types.
- * <li>s and S conversion characters apply to String
- * types.
- * <li>All other reference types can be formatted
- * using the s or S conversion characters only.
- *</ul>
- * <p>
- * Most of this specification is quoted from the Unix
- * man page for the sprintf utility.</p>
- *
- * @author Allan Jacobs
- * @version 1
- * Release 1: Initial release.
- * Release 2: Asterisk field widths and precisions
- * %n$ and *m$
- * Bug fixes
- * g format fix (2 digits in e form corrupt)
- * rounding in f format implemented
- * round up when digit not printed is 5
- * formatting of -0.0f
- * round up/down when last digits are 50000...
- */
-public class PrintfFormat {
- /**
- * Constructs an array of control specifications
- * possibly preceded, separated, or followed by
- * ordinary strings. Control strings begin with
- * unpaired percent signs. A pair of successive
- * percent signs designates a single percent sign in
- * the format.
- * @param fmtArg Control string.
- * @exception IllegalArgumentException if the control
- * string is null, zero length, or otherwise
- * malformed.
- */
- public PrintfFormat(String fmtArg)
- throws IllegalArgumentException {
- this(Locale.getDefault(),fmtArg);
- }
- /**
- * Constructs an array of control specifications
- * possibly preceded, separated, or followed by
- * ordinary strings. Control strings begin with
- * unpaired percent signs. A pair of successive
- * percent signs designates a single percent sign in
- * the format.
- * @param fmtArg Control string.
- * @exception IllegalArgumentException if the control
- * string is null, zero length, or otherwise
- * malformed.
- */
- public PrintfFormat(Locale locale,String fmtArg)
- throws IllegalArgumentException {
- dfs = new DecimalFormatSymbols(locale);
- int ePos=0;
- ConversionSpecification sFmt=null;
- String unCS = this.nonControl(fmtArg,0);
- if (unCS!=null) {
- sFmt = new ConversionSpecification();
- sFmt.setLiteral(unCS);
- vFmt.addElement(sFmt);
- }
- while(cPos!=-1 && cPos<fmtArg.length()) {
- for (ePos=cPos+1; ePos<fmtArg.length();
- ePos++) {
- char c=0;
- c = fmtArg.charAt(ePos);
- if (c == 'i') break;
- if (c == 'd') break;
- if (c == 'f') break;
- if (c == 'g') break;
- if (c == 'G') break;
- if (c == 'o') break;
- if (c == 'x') break;
- if (c == 'X') break;
- if (c == 'e') break;
- if (c == 'E') break;
- if (c == 'c') break;
- if (c == 's') break;
- if (c == '%') break;
- }
- ePos=Math.min(ePos+1,fmtArg.length());
- sFmt = new ConversionSpecification(
- fmtArg.substring(cPos,ePos));
- vFmt.addElement(sFmt);
- unCS = this.nonControl(fmtArg,ePos);
- if (unCS!=null) {
- sFmt = new ConversionSpecification();
- sFmt.setLiteral(unCS);
- vFmt.addElement(sFmt);
- }
- }
- }
- /**
- * Return a substring starting at
- * <code>start</code> and ending at either the end
- * of the String <code>s</code>, the next unpaired
- * percent sign, or at the end of the String if the
- * last character is a percent sign.
- * @param s Control string.
- * @param start Position in the string
- * <code>s</code> to begin looking for the start
- * of a control string.
- * @return the substring from the start position
- * to the beginning of the control string.
- */
- private String nonControl(String s,int start) {
- String ret="";
- cPos=s.indexOf("%",start);
- if (cPos==-1) cPos=s.length();
- return s.substring(start,cPos);
- }
- /**
- * Format an array of objects. Byte, Short,
- * Integer, Long, Float, Double, and Character
- * arguments are treated as wrappers for primitive
- * types.
- * @param o The array of objects to format.
- * @return The formatted String.
- */
- public String sprintf(Object[] o) {
- Enumeration e = vFmt.elements();
- ConversionSpecification cs = null;
- char c = 0;
- int i=0;
- StringBuffer sb=new StringBuffer();
- while (e.hasMoreElements()) {
- cs = (ConversionSpecification)
- e.nextElement();
- c = cs.getConversionCharacter();
- if (c=='\0') sb.append(cs.getLiteral());
- else if (c=='%') sb.append("%");
- else {
- if (cs.isPositionalSpecification()) {
- i=cs.getArgumentPosition()-1;
- if (cs.isPositionalFieldWidth()) {
- int ifw=cs.getArgumentPositionForFieldWidth()-1;
- cs.setFieldWidthWithArg(((Integer)o[ifw]).intValue());
- }
- if (cs.isPositionalPrecision()) {
- int ipr=cs.getArgumentPositionForPrecision()-1;
- cs.setPrecisionWithArg(((Integer)o[ipr]).intValue());
- }
- }
- else {
- if (cs.isVariableFieldWidth()) {
- cs.setFieldWidthWithArg(((Integer)o[i]).intValue());
- i++;
- }
- if (cs.isVariablePrecision()) {
- cs.setPrecisionWithArg(((Integer)o[i]).intValue());
- i++;
- }
- }
- if (o[i] instanceof Byte)
- sb.append(cs.internalsprintf(
- ((Byte)o[i]).byteValue()));
- else if (o[i] instanceof Short)
- sb.append(cs.internalsprintf(
- ((Short)o[i]).shortValue()));
- else if (o[i] instanceof Integer)
- sb.append(cs.internalsprintf(
- ((Integer)o[i]).intValue()));
- else if (o[i] instanceof Long)
- sb.append(cs.internalsprintf(
- ((Long)o[i]).longValue()));
- else if (o[i] instanceof Float)
- sb.append(cs.internalsprintf(
- ((Float)o[i]).floatValue()));
- else if (o[i] instanceof Double)
- sb.append(cs.internalsprintf(
- ((Double)o[i]).doubleValue()));
- else if (o[i] instanceof Character)
- sb.append(cs.internalsprintf(
- ((Character)o[i]).charValue()));
- else if (o[i] instanceof String)
- sb.append(cs.internalsprintf(
- (String)o[i]));
- else
- sb.append(cs.internalsprintf(
- o[i]));
- if (!cs.isPositionalSpecification())
- i++;
- }
- }
- return sb.toString();
- }
- /**
- * Format nothing. Just use the control string.
- * @return the formatted String.
- */
- public String sprintf() {
- Enumeration e = vFmt.elements();
- ConversionSpecification cs = null;
- char c = 0;
- StringBuffer sb=new StringBuffer();
- while (e.hasMoreElements()) {
- cs = (ConversionSpecification)
- e.nextElement();
- c = cs.getConversionCharacter();
- if (c=='\0') sb.append(cs.getLiteral());
- else if (c=='%') sb.append("%");
- }
- return sb.toString();
- }
- /**
- * Format an int.
- * @param x The int to format.
- * @return The formatted String.
- * @exception IllegalArgumentException if the
- * conversion character is f, e, E, g, G, s,
- * or S.
- */
- public String sprintf(int x)
- throws IllegalArgumentException {
- Enumeration e = vFmt.elements();
- ConversionSpecification cs = null;
- char c = 0;
- StringBuffer sb=new StringBuffer();
- while (e.hasMoreElements()) {
- cs = (ConversionSpecification)
- e.nextElement();
- c = cs.getConversionCharacter();
- if (c=='\0') sb.append(cs.getLiteral());
- else if (c=='%') sb.append("%");
- else sb.append(cs.internalsprintf(x));
- }
- return sb.toString();
- }
- /**
- * Format an long.
- * @param x The long to format.
- * @return The formatted String.
- * @exception IllegalArgumentException if the
- * conversion character is f, e, E, g, G, s,
- * or S.
- */
- public String sprintf(long x)
- throws IllegalArgumentException {
- Enumeration e = vFmt.elements();
- ConversionSpecification cs = null;
- char c = 0;
- StringBuffer sb=new StringBuffer();
- while (e.hasMoreElements()) {
- cs = (ConversionSpecification)
- e.nextElement();
- c = cs.getConversionCharacter();
- if (c=='\0') sb.append(cs.getLiteral());
- else if (c=='%') sb.append("%");
- else sb.append(cs.internalsprintf(x));
- }
- return sb.toString();
- }
- /**
- * Format a double.
- * @param x The double to format.
- * @return The formatted String.
- * @exception IllegalArgumentException if the
- * conversion character is c, C, s, S,
- * d, d, x, X, or o.
- */
- public String sprintf(double x)
- throws IllegalArgumentException {
- Enumeration e = vFmt.elements();
- ConversionSpecification cs = null;
- char c = 0;
- StringBuffer sb=new StringBuffer();
- while (e.hasMoreElements()) {
- cs = (ConversionSpecification)
- e.nextElement();
- c = cs.getConversionCharacter();
- if (c=='\0') sb.append(cs.getLiteral());
- else if (c=='%') sb.append("%");
- else sb.append(cs.internalsprintf(x));
- }
- return sb.toString();
- }
- /**
- * Format a String.
- * @param x The String to format.
- * @return The formatted String.
- * @exception IllegalArgumentException if the
- * conversion character is neither s nor S.
- */
- public String sprintf(String x)
- throws IllegalArgumentException {
- Enumeration e = vFmt.elements();
- ConversionSpecification cs = null;
- char c = 0;
- StringBuffer sb=new StringBuffer();
- while (e.hasMoreElements()) {
- cs = (ConversionSpecification)
- e.nextElement();
- c = cs.getConversionCharacter();
- if (c=='\0') sb.append(cs.getLiteral());
- else if (c=='%') sb.append("%");
- else sb.append(cs.internalsprintf(x));
- }
- return sb.toString();
- }
- /**
- * Format an Object. Convert wrapper types to
- * their primitive equivalents and call the
- * appropriate internal formatting method. Convert
- * Strings using an internal formatting method for
- * Strings. Otherwise use the default formatter
- * (use toString).
- * @param x the Object to format.
- * @return the formatted String.
- * @exception IllegalArgumentException if the
- * conversion character is inappropriate for
- * formatting an unwrapped value.
- */
- public String sprintf(Object x)
- throws IllegalArgumentException {
- Enumeration e = vFmt.elements();
- ConversionSpecification cs = null;
- char c = 0;
- StringBuffer sb=new StringBuffer();
- while (e.hasMoreElements()) {
- cs = (ConversionSpecification)
- e.nextElement();
- c = cs.getConversionCharacter();
- if (c=='\0') sb.append(cs.getLiteral());
- else if (c=='%') sb.append("%");
- else {
- if (x instanceof Byte)
- sb.append(cs.internalsprintf(
- ((Byte)x).byteValue()));
- else if (x instanceof Short)
- sb.append(cs.internalsprintf(
- ((Short)x).shortValue()));
- else if (x instanceof Integer)
- sb.append(cs.internalsprintf(
- ((Integer)x).intValue()));
- else if (x instanceof Long)
- sb.append(cs.internalsprintf(
- ((Long)x).longValue()));
- else if (x instanceof Float)
- sb.append(cs.internalsprintf(
- ((Float)x).floatValue()));
- else if (x instanceof Double)
- sb.append(cs.internalsprintf(
- ((Double)x).doubleValue()));
- else if (x instanceof Character)
- sb.append(cs.internalsprintf(
- ((Character)x).charValue()));
- else if (x instanceof String)
- sb.append(cs.internalsprintf(
- (String)x));
- else
- sb.append(cs.internalsprintf(x));
- }
- }
- return sb.toString();
- }
- /**
- *<p>
- * ConversionSpecification allows the formatting of
- * a single primitive or object embedded within a
- * string. The formatting is controlled by a
- * format string. Only one Java primitive or
- * object can be formatted at a time.
- *<p>
- * A format string is a Java string that contains
- * a control string. The control string starts at
- * the first percent sign (%) in the string,
- * provided that this percent sign
- *<ol>
- *<li>is not escaped protected by a matching % or
- * is not an escape % character,
- *<li>is not at the end of the format string, and
- *<li>precedes a sequence of characters that parses
- * as a valid control string.
- *</ol>
- *<p>
- * A control string takes the form:
- *<pre> % ['-+ #0]* [0..9]* { . [0..9]* }+
- * { [hlL] }+ [idfgGoxXeEcs]
- *</pre>
- *<p>
- * The behavior is like printf. One (hopefully the
- * only) exception is that the minimum number of
- * exponent digits is 3 instead of 2 for e and E
- * formats when the optional L is used before the
- * e, E, g, or G conversion character. The
- * optional L does not imply conversion to a long
- * long double.
- */
- private class ConversionSpecification {
- /**
- * Constructor. Used to prepare an instance
- * to hold a literal, not a control string.
- */
- ConversionSpecification() { }
- /**
- * Constructor for a conversion specification.
- * The argument must begin with a % and end
- * with the conversion character for the
- * conversion specification.
- * @param fmtArg String specifying the
- * conversion specification.
- * @exception IllegalArgumentException if the
- * input string is null, zero length, or
- * otherwise malformed.
- */
- ConversionSpecification(String fmtArg)
- throws IllegalArgumentException {
- if (fmtArg==null)
- throw new NullPointerException();
- if (fmtArg.length()==0)
- throw new IllegalArgumentException(
- "Control strings must have positive"+
- " lengths.");
- if (fmtArg.charAt(0)=='%') {
- fmt = fmtArg;
- pos=1;
- setArgPosition();
- setFlagCharacters();
- setFieldWidth();
- setPrecision();
- setOptionalHL();
- if (setConversionCharacter()) {
- if (pos==fmtArg.length()) {
- if(leadingZeros&&leftJustify)
- leadingZeros=false;
- if(precisionSet&&leadingZeros){
- if(conversionCharacter=='d'
- ||conversionCharacter=='i'
- ||conversionCharacter=='o'
- ||conversionCharacter=='x')
- {
- leadingZeros=false;
- }
- }
- }
- else
- throw new IllegalArgumentException(
- "Malformed conversion specification="+
- fmtArg);
- }
- else
- throw new IllegalArgumentException(
- "Malformed conversion specification="+
- fmtArg);
- }
- else
- throw new IllegalArgumentException(
- "Control strings must begin with %.");
- }
- /**
- * Set the String for this instance.
- * @param s the String to store.
- */
- void setLiteral(String s) {
- fmt = s;
- }
- /**
- * Get the String for this instance. Translate
- * any escape sequences.
- *
- * @return s the stored String.
- */
- String getLiteral() {
- StringBuffer sb=new StringBuffer();
- int i=0;
- while (i<fmt.length()) {
- if (fmt.charAt(i)=='\\') {
- i++;
- if (i<fmt.length()) {
- char c=fmt.charAt(i);
- switch(c) {
- case 'a':
- sb.append((char)0x07);
- break;
- case 'b':
- sb.append('\b');
- break;
- case 'f':
- sb.append('\f');
- break;
- case 'n':
- sb.append(System.getProperty("line.separator"));
- break;
- case 'r':
- sb.append('\r');
- break;
- case 't':
- sb.append('\t');
- break;
- case 'v':
- sb.append((char)0x0b);
- break;
- case '\\':
- sb.append('\\');
- break;
- }
- i++;
- }
- else
- sb.append('\\');
- }
- else
- i++;
- }
- return fmt;
- }
- /**
- * Get the conversion character that tells what
- * type of control character this instance has.
- *
- * @return the conversion character.
- */
- char getConversionCharacter() {
- return conversionCharacter;
- }
- /**
- * Check whether the specifier has a variable
- * field width that is going to be set by an
- * argument.
- * @return <code>true</code> if the conversion
- * uses an * field width; otherwise
- * <code>false</code>.
- */
- boolean isVariableFieldWidth() {
- return variableFieldWidth;
- }
- /**
- * Set the field width with an argument. A
- * negative field width is taken as a - flag
- * followed by a positive field width.
- * @param fw the field width.
- */
- void setFieldWidthWithArg(int fw) {
- if (fw<0) leftJustify = true;
- fieldWidthSet = true;
- fieldWidth = Math.abs(fw);
- }
- /**
- * Check whether the specifier has a variable
- * precision that is going to be set by an
- * argument.
- * @return <code>true</code> if the conversion
- * uses an * precision; otherwise
- * <code>false</code>.
- */
- boolean isVariablePrecision() {
- return variablePrecision;
- }
- /**
- * Set the precision with an argument. A
- * negative precision will be changed to zero.
- * @param pr the precision.
- */
- void setPrecisionWithArg(int pr) {
- precisionSet = true;
- precision = Math.max(pr,0);
- }
- /**
- * Format an int argument using this conversion
- * specification.
- * @param s the int to format.
- * @return the formatted String.
- * @exception IllegalArgumentException if the
- * conversion character is f, e, E, g, or G.
- */
- String internalsprintf(int s)
- throws IllegalArgumentException {
- String s2 = "";
- switch(conversionCharacter) {
- case 'd':
- case 'i':
- if (optionalh)
- s2 = printDFormat((short)s);
- else if (optionall)
- s2 = printDFormat((long)s);
- else
- s2 = printDFormat(s);
- break;
- case 'x':
- case 'X':
- if (optionalh)
- s2 = printXFormat((short)s);
- else if (optionall)
- s2 = printXFormat((long)s);
- else
- s2 = printXFormat(s);
- break;
- case 'o':
- if (optionalh)
- s2 = printOFormat((short)s);
- else if (optionall)
- s2 = printOFormat((long)s);
- else
- s2 = printOFormat(s);
- break;
- case 'c':
- case 'C':
- s2 = printCFormat((char)s);
- break;
- default:
- throw new IllegalArgumentException(
- "Cannot format a int with a format using a "+
- conversionCharacter+
- " conversion character.");
- }
- return s2;
- }
- /**
- * Format a long argument using this conversion
- * specification.
- * @param s the long to format.
- * @return the formatted String.
- * @exception IllegalArgumentException if the
- * conversion character is f, e, E, g, or G.
- */
- String internalsprintf(long s)
- throws IllegalArgumentException {
- String s2 = "";
- switch(conversionCharacter) {
- case 'd':
- case 'i':
- if (optionalh)
- s2 = printDFormat((short)s);
- else if (optionall)
- s2 = printDFormat(s);
- else
- s2 = printDFormat((int)s);
- break;
- case 'x':
- case 'X':
- if (optionalh)
- s2 = printXFormat((short)s);
- else if (optionall)
- s2 = printXFormat(s);
- else
- s2 = printXFormat((int)s);
- break;
- case 'o':
- if (optionalh)
- s2 = printOFormat((short)s);
- else if (optionall)
- s2 = printOFormat(s);
- else
- s2 = printOFormat((int)s);
- break;
- case 'c':
- case 'C':
- s2 = printCFormat((char)s);
- break;
- default:
- throw new IllegalArgumentException(
- "Cannot format a long with a format using a "+
- conversionCharacter+" conversion character.");
- }
- return s2;
- }
- /**
- * Format a double argument using this conversion
- * specification.
- * @param s the double to format.
- * @return the formatted String.
- * @exception IllegalArgumentException if the
- * conversion character is c, C, s, S, i, d,
- * x, X, or o.
- */
- String internalsprintf(double s)
- throws IllegalArgumentException {
- String s2 = "";
- switch(conversionCharacter) {
- case 'f':
- s2 = printFFormat(s);
- break;
- case 'E':
- case 'e':
- s2 = printEFormat(s);
- break;
- case 'G':
- case 'g':
- s2 = printGFormat(s);
- break;
- default:
- throw new IllegalArgumentException("Cannot "+
- "format a double with a format using a "+
- conversionCharacter+" conversion character.");
- }
- return s2;
- }
- /**
- * Format a String argument using this conversion
- * specification.
- * @param s the String to format.
- * @return the formatted String.
- * @exception IllegalArgumentException if the
- * conversion character is neither s nor S.
- */
- String internalsprintf(String s)
- throws IllegalArgumentException {
- String s2 = "";
- if(conversionCharacter=='s'
- || conversionCharacter=='S')
- s2 = printSFormat(s);
- else
- throw new IllegalArgumentException("Cannot "+
- "format a String with a format using a "+
- conversionCharacter+" conversion character.");
- return s2;
- }
- /**
- * Format an Object argument using this conversion
- * specification.
- * @param s the Object to format.
- * @return the formatted String.
- * @exception IllegalArgumentException if the
- * conversion character is neither s nor S.
- */
- String internalsprintf(Object s) {
- String s2 = "";
- if(conversionCharacter=='s'
- || conversionCharacter=='S')
- s2 = printSFormat(s.toString());
- else
- throw new IllegalArgumentException(
- "Cannot format a String with a format using"+
- " a "+conversionCharacter+
- " conversion character.");
- return s2;
- }
- /**
- * For f format, the flag character '-', means that
- * the output should be left justified within the
- * field. The default is to pad with blanks on the
- * left. '+' character means that the conversion
- * will always begin with a sign (+ or -). The
- * blank flag character means that a non-negative
- * input will be preceded with a blank. If both
- * a '+' and a ' ' are specified, the blank flag
- * is ignored. The '0' flag character implies that
- * padding to the field width will be done with
- * zeros instead of blanks.
- *
- * The field width is treated as the minimum number
- * of characters to be printed. The default is to
- * add no padding. Padding is with blanks by
- * default.
- *
- * The precision, if set, is the number of digits
- * to appear after the radix character. Padding is
- * with trailing 0s.
- */
- private char[] fFormatDigits(double x) {
- // int defaultDigits=6;
- String sx,sxOut;
- int i,j,k;
- int n1In,n2In;
- int expon=0;
- boolean minusSign=false;
- if (x>0.0)
- sx = Double.toString(x);
- else if (x<0.0) {
- sx = Double.toString(-x);
- minusSign=true;
- }
- else {
- sx = Double.toString(x);
- if (sx.charAt(0)=='-') {
- minusSign=true;
- sx=sx.substring(1);
- }
- }
- int ePos = sx.indexOf('E');
- int rPos = sx.indexOf('.');
- if (rPos!=-1) n1In=rPos;
- else if (ePos!=-1) n1In=ePos;
- else n1In=sx.length();
- if (rPos!=-1) {
- if (ePos!=-1) n2In = ePos-rPos-1;
- else n2In = sx.length()-rPos-1;
- }
- else
- n2In = 0;
- if (ePos!=-1) {
- int ie=ePos+1;
- expon=0;
- if (sx.charAt(ie)=='-') {
- for (++ie; ie<sx.length(); ie++)
- if (sx.charAt(ie)!='0') break;
- if (ie<sx.length())
- expon=-Integer.parseInt(sx.substring(ie));
- }
- else {
- if (sx.charAt(ie)=='+') ++ie;
- for (; ie<sx.length(); ie++)
- if (sx.charAt(ie)!='0') break;
- if (ie<sx.length())
- expon=Integer.parseInt(sx.substring(ie));
- }
- }
- int p;
- if (precisionSet) p = precision;
- else p = defaultDigits-1;
- char[] ca1 = sx.toCharArray();
- char[] ca2 = new char[n1In+n2In];
- char[] ca3,ca4,ca5;
- for (j=0; j<n1In; j++)
- ca2[j] = ca1[j];
- i = j+1;
- for (k=0; k<n2In; j++,i++,k++)
- ca2[j] = ca1[i];
- if (n1In+expon<=0) {
- ca3 = new char[-expon+n2In];
- for (j=0,k=0; k<(-n1In-expon); k++,j++)
- ca3[j]='0';
- for (i=0; i<(n1In+n2In); i++,j++)
- ca3[j]=ca2[i];
- }
- else
- ca3 = ca2;
- boolean carry=false;
- if (p<-expon+n2In) {
- if (expon<0) i = p;
- else i = p+n1In;
- carry=checkForCarry(ca3,i);
- if (carry)
- carry=startSymbolicCarry(ca3,i-1,0);
- }
- if (n1In+expon<=0) {
- ca4 = new char[2+p];
- if (!carry) ca4[0]='0';
- else ca4[0]='1';
- if(alternateForm||!precisionSet||precision!=0){
- ca4[1]='.';
- for(i=0,j=2;i<Math.min(p,ca3.length);i++,j++)
- ca4[j]=ca3[i];
- for (; j<ca4.length; j++) ca4[j]='0';
- }
- }
- else {
- if (!carry) {
- if(alternateForm||!precisionSet
- ||precision!=0)
- ca4 = new char[n1In+expon+p+1];
- else
- ca4 = new char[n1In+expon];
- j=0;
- }
- else {
- if(alternateForm||!precisionSet
- ||precision!=0)
- ca4 = new char[n1In+expon+p+2];
- else
- ca4 = new char[n1In+expon+1];
- ca4[0]='1';
- j=1;
- }
- for (i=0; i<Math.min(n1In+expon,ca3.length); i++,j++)
- ca4[j]=ca3[i];
- for (; i<n1In+expon; i++,j++)
- ca4[j]='0';
- if(alternateForm||!precisionSet||precision!=0){
- ca4[j]='.'; j++;
- for (k=0; i<ca3.length && k<p; i++,j++,k++)
- ca4[j]=ca3[i];
- for (; j<ca4.length; j++) ca4[j]='0';
- }
- }
- int nZeros=0;
- if (!leftJustify && leadingZeros) {
- int xThousands=0;
- if (thousands) {
- int xlead=0;
- if (ca4[0]=='+'||ca4[0]=='-'||ca4[0]==' ')
- xlead=1;
- int xdp=xlead;
- for (; xdp<ca4.length; xdp++)
- if (ca4[xdp]=='.') break;
- xThousands=(xdp-xlead)/3;
- }
- if (fieldWidthSet)
- nZeros = fieldWidth-ca4.length;
- if ((!minusSign&&(leadingSign||leadingSpace))||minusSign)
- nZeros--;
- nZeros-=xThousands;
- if (nZeros<0) nZeros=0;
- }
- j=0;
- if ((!minusSign&&(leadingSign||leadingSpace))||minusSign) {
- ca5 = new char[ca4.length+nZeros+1];
- j++;
- }
- else
- ca5 = new char[ca4.length+nZeros];
- if (!minusSign) {
- if (leadingSign) ca5[0]='+';
- if (leadingSpace) ca5[0]=' ';
- }
- else
- ca5[0]='-';
- for (i=0; i<nZeros; i++,j++)
- ca5[j]='0';
- for (i=0; i<ca4.length; i++,j++) ca5[j]=ca4[i];
-
- int lead=0;
- if (ca5[0]=='+'||ca5[0]=='-'||ca5[0]==' ')
- lead=1;
- int dp=lead;
- for (; dp<ca5.length; dp++)
- if (ca5[dp]=='.') break;
- int nThousands=(dp-lead)/3;
- // Localize the decimal point.
- if (dp<ca5.length)
- ca5[dp]=dfs.getDecimalSeparator();
- char[] ca6 = ca5;
- if (thousands && nThousands>0) {
- ca6 = new char[ca5.length+nThousands+lead];
- ca6[0]=ca5[0];
- for (i=lead,k=lead; i<dp; i++) {
- if (i>0 && (dp-i)%3==0) {
- // ca6[k]=',';
- ca6[k]=dfs.getGroupingSeparator();
- ca6[k+1]=ca5[i];
- k+=2;
- }
- else {
- ca6[k]=ca5[i]; k++;
- }
- }
- for (; i<ca5.length; i++,k++) {
- ca6[k]=ca5[i];
- }
- }
- return ca6;
- }
- /**
- * An intermediate routine on the way to creating
- * an f format String. The method decides whether
- * the input double value is an infinity,
- * not-a-number, or a finite double and formats
- * each type of input appropriately.
- * @param x the double value to be formatted.
- * @return the converted double value.
- */
- private String fFormatString(double x) {
- boolean noDigits=false;
- char[] ca6,ca7;
- if (Double.isInfinite(x)) {
- if (x==Double.POSITIVE_INFINITY) {
- if (leadingSign) ca6 = "+Inf".toCharArray();
- else if (leadingSpace)
- ca6 = " Inf".toCharArray();
- else ca6 = "Inf".toCharArray();
- }
- else
- ca6 = "-Inf".toCharArray();
- noDigits = true;
- }
- else if (Double.isNaN(x)) {
- if (leadingSign) ca6 = "+NaN".toCharArray();
- else if (leadingSpace)
- ca6 = " NaN".toCharArray();
- else ca6 = "NaN".toCharArray();
- noDigits = true;
- }
- else
- ca6 = fFormatDigits(x);
- ca7 = applyFloatPadding(ca6,false);
- return new String(ca7);
- }
- /**
- * For e format, the flag character '-', means that
- * the output should be left justified within the
- * field. The default is to pad with blanks on the
- * left. '+' character means that the conversion
- * will always begin with a sign (+ or -). The
- * blank flag character means that a non-negative
- * input will be preceded with a blank. If both a
- * '+' and a ' ' are specified, the blank flag is
- * ignored. The '0' flag character implies that
- * padding to the field width will be done with
- * zeros instead of blanks.
- *
- * The field width is treated as the minimum number
- * of characters to be printed. The default is to
- * add no padding. Padding is with blanks by
- * default.
- *
- * The precision, if set, is the minimum number of
- * digits to appear after the radix character.
- * Padding is with trailing 0s.
- *
- * The behavior is like printf. One (hopefully the
- * only) exception is that the minimum number of
- * exponent digits is 3 instead of 2 for e and E
- * formats when the optional L is used before the
- * e, E, g, or G conversion character. The optional
- * L does not imply conversion to a long long
- * double.
- */
- private char[] eFormatDigits(double x,char eChar) {
- char[] ca1,ca2,ca3;
- // int defaultDigits=6;
- String sx,sxOut;
- int i,j,k,p;
- int n1In,n2In;
- int expon=0;
- int ePos,rPos,eSize;
- boolean minusSign=false;
- if (x>0.0)
- sx = Double.toString(x);
- else if (x<0.0) {
- sx = Double.toString(-x);
- minusSign=true;
- }
- else {
- sx = Double.toString(x);
- if (sx.charAt(0)=='-') {
- minusSign=true;
- sx=sx.substring(1);
- }
- }
- ePos = sx.indexOf('E');
- if (ePos==-1) ePos = sx.indexOf('e');
- rPos = sx.indexOf('.');
- if (rPos!=-1) n1In=rPos;
- else if (ePos!=-1) n1In=ePos;
- else n1In=sx.length();
- if (rPos!=-1) {
- if (ePos!=-1) n2In = ePos-rPos-1;
- else n2In = sx.length()-rPos-1;
- }
- else
- n2In = 0;
- if (ePos!=-1) {
- int ie=ePos+1;
- expon=0;
- if (sx.charAt(ie)=='-') {
- for (++ie; ie<sx.length(); ie++)
- if (sx.charAt(ie)!='0') break;
- if (ie<sx.length())
- expon=-Integer.parseInt(sx.substring(ie));
- }
- else {
- if (sx.charAt(ie)=='+') ++ie;
- for (; ie<sx.length(); ie++)
- if (sx.charAt(ie)!='0') break;
- if (ie<sx.length())
- expon=Integer.parseInt(sx.substring(ie));
- }
- }
- if (rPos!=-1) expon += rPos-1;
- if (precisionSet) p = precision;
- else p = defaultDigits-1;
- if (rPos!=-1 && ePos!=-1)
- ca1=(sx.substring(0,rPos)+
- sx.substring(rPos+1,ePos)).toCharArray();
- else if (rPos!=-1)
- ca1 = (sx.substring(0,rPos)+
- sx.substring(rPos+1)).toCharArray();
- else if (ePos!=-1)
- ca1 = sx.substring(0,ePos).toCharArray();
- else
- ca1 = sx.toCharArray();
- boolean carry=false;
- int i0=0;
- if (ca1[0]!='0')
- i0 = 0;
- else
- for (i0=0; i0<ca1.length; i0++)
- if (ca1[i0]!='0') break;
- if (i0+p<ca1.length-1) {
- carry=checkForCarry(ca1,i0+p+1);
- if (carry)
- carry = startSymbolicCarry(ca1,i0+p,i0);
- if (carry) {
- ca2 = new char[i0+p+1];
- ca2[i0]='1';
- for (j=0; j<i0; j++) ca2[j]='0';
- for (i=i0,j=i0+1; j<p+1; i++,j++)
- ca2[j] = ca1[i];
- expon++;
- ca1 = ca2;
- }
- }
- if (Math.abs(expon)<100 && !optionalL) eSize=4;
- else eSize=5;
- if (alternateForm||!precisionSet||precision!=0)
- ca2 = new char[2+p+eSize];
- else
- ca2 = new char[1+eSize];
- if (ca1[0]!='0') {
- ca2[0] = ca1[0];
- j=1;
- }
- else {
- for (j=1; j<(ePos==-1?ca1.length:ePos); j++)
- if (ca1[j]!='0') break;
- if ((ePos!=-1 && j<ePos)||
- (ePos==-1 && j<ca1.length)) {
- ca2[0] = ca1[j];
- expon -= j;
- j++;
- }
- else {
- ca2[0]='0';
- j=2;
- }
- }
- if (alternateForm||!precisionSet||precision!=0) {
- ca2[1] = '.';
- i=2;
- }
- else
- i=1;
- for (k=0; k<p && j<ca1.length; j++,i++,k++)
- ca2[i] = ca1[j];
- for (;i<ca2.length-eSize; i++)
- ca2[i] = '0';
- ca2[i++] = eChar;
- if (expon<0) ca2[i++]='-';
- else ca2[i++]='+';
- expon = Math.abs(expon);
- if (expon>=100) {
- switch(expon/100) {
- case 1: ca2[i]='1'; break;
- case 2: ca2[i]='2'; break;
- case 3: ca2[i]='3'; break;
- case 4: ca2[i]='4'; break;
- case 5: ca2[i]='5'; break;
- case 6: ca2[i]='6'; break;
- case 7: ca2[i]='7'; break;
- case 8: ca2[i]='8'; break;
- case 9: ca2[i]='9'; break;
- }
- i++;
- }
- switch((expon%100)/10) {
- case 0: ca2[i]='0'; break;
- case 1: ca2[i]='1'; break;
- case 2: ca2[i]='2'; break;
- case 3: ca2[i]='3'; break;
- case 4: ca2[i]='4'; break;
- case 5: ca2[i]='5'; break;
- case 6: ca2[i]='6'; break;
- case 7: ca2[i]='7'; break;
- case 8: ca2[i]='8'; break;
- case 9: ca2[i]='9'; break;
- }
- i++;
- switch(expon%10) {
- case 0: ca2[i]='0'; break;
- case 1: ca2[i]='1'; break;
- case 2: ca2[i]='2'; break;
- case 3: ca2[i]='3'; break;
- case 4: ca2[i]='4'; break;
- case 5: ca2[i]='5'; break;
- case 6: ca2[i]='6'; break;
- case 7: ca2[i]='7'; break;
- case 8: ca2[i]='8'; break;
- case 9: ca2[i]='9'; break;
- }
- int nZeros=0;
- if (!leftJustify && leadingZeros) {
- int xThousands=0;
- if (thousands) {
- int xlead=0;
- if (ca2[0]=='+'||ca2[0]=='-'||ca2[0]==' ')
- xlead=1;
- int xdp=xlead;
- for (; xdp<ca2.length; xdp++)
- if (ca2[xdp]=='.') break;
- xThousands=(xdp-xlead)/3;
- }
- if (fieldWidthSet)
- nZeros = fieldWidth-ca2.length;
- if ((!minusSign&&(leadingSign||leadingSpace))||minusSign)
- nZeros--;
- nZeros-=xThousands;
- if (nZeros<0) nZeros=0;
- }
- j=0;
- if ((!minusSign&&(leadingSign || leadingSpace))||minusSign) {
- ca3 = new char[ca2.length+nZeros+1];
- j++;
- }
- else
- ca3 = new char[ca2.length+nZeros];
- if (!minusSign) {
- if (leadingSign) ca3[0]='+';
- if (leadingSpace) ca3[0]=' ';
- }
- else
- ca3[0]='-';
- for (k=0; k<nZeros; j++,k++)
- ca3[j]='0';
- for (i=0; i<ca2.length && j<ca3.length; i++,j++)
- ca3[j]=ca2[i];
-
- int lead=0;
- if (ca3[0]=='+'||ca3[0]=='-'||ca3[0]==' ')
- lead=1;
- int dp=lead;
- for (; dp<ca3.length; dp++)
- if (ca3[dp]=='.') break;
- int nThousands=dp/3;
- // Localize the decimal point.
- if (dp < ca3.length)
- ca3[dp] = dfs.getDecimalSeparator();
- char[] ca4 = ca3;
- if (thousands && nThousands>0) {
- ca4 = new char[ca3.length+nThousands+lead];
- ca4[0]=ca3[0];
- for (i=lead,k=lead; i<dp; i++) {
- if (i>0 && (dp-i)%3==0) {
- // ca4[k]=',';
- ca4[k]=dfs.getGroupingSeparator();
- ca4[k+1]=ca3[i];
- k+=2;
- }
- else {
- ca4[k]=ca3[i]; k++;
- }
- }
- for (; i<ca3.length; i++,k++)
- ca4[k]=ca3[i];
- }
- return ca4;
- }
- /**
- * Check to see if the digits that are going to
- * be truncated because of the precision should
- * force a round in the preceding digits.
- * @param ca1 the array of digits
- * @param icarry the index of the first digit that
- * is to be truncated from the print
- * @return <code>true</code> if the truncation forces
- * a round that will change the print
- */
- private boolean checkForCarry(char[] ca1,int icarry) {
- boolean carry=false;
- if (icarry<ca1.length) {
- if (ca1[icarry]=='6'||ca1[icarry]=='7'
- ||ca1[icarry]=='8'||ca1[icarry]=='9') carry=true;
- else if (ca1[icarry]=='5') {
- int ii=icarry+1;
- for (;ii<ca1.length; ii++)
- if (ca1[ii]!='0') break;
- carry=ii<ca1.length;
- if (!carry&&icarry>0) {
- carry=(ca1[icarry-1]=='1'||ca1[icarry-1]=='3'
- ||ca1[icarry-1]=='5'||ca1[icarry-1]=='7'
- ||ca1[icarry-1]=='9');
- }
- }
- }
- return carry;
- }
- /**
- * Start the symbolic carry process. The process
- * is not quite finished because the symbolic
- * carry may change the length of the string and
- * change the exponent (in e format).
- * @param cLast index of the last digit changed
- * by the round
- * @param cFirst index of the first digit allowed
- * to be changed by this phase of the round
- * @return <code>true</code> if the carry forces
- * a round that will change the print still
- * more
- */
- private boolean startSymbolicCarry(
- char[] ca,int cLast,int cFirst) {
- boolean carry=true;
- for (int i=cLast; carry && i>=cFirst; i--) {
- carry = false;
- switch(ca[i]) {
- case '0': ca[i]='1'; break;
- case '1': ca[i]='2'; break;
- case '2': ca[i]='3'; break;
- case '3': ca[i]='4'; break;
- case '4': ca[i]='5'; break;
- case '5': ca[i]='6'; break;
- case '6': ca[i]='7'; break;
- case '7': ca[i]='8'; break;
- case '8': ca[i]='9'; break;
- case '9': ca[i]='0'; carry=true; break;
- }
- }
- return carry;
- }
- /**
- * An intermediate routine on the way to creating
- * an e format String. The method decides whether
- * the input double value is an infinity,
- * not-a-number, or a finite double and formats
- * each type of input appropriately.
- * @param x the double value to be formatted.
- * @param eChar an 'e' or 'E' to use in the
- * converted double value.
- * @return the converted double value.
- */
- private String eFormatString(double x,char eChar) {
- boolean noDigits=false;
- char[] ca4,ca5;
- if (Double.isInfinite(x)) {
- if (x==Double.POSITIVE_INFINITY) {
- if (leadingSign) ca4 = "+Inf".toCharArray();
- else if (leadingSpace)
- ca4 = " Inf".toCharArray();
- else ca4 = "Inf".toCharArray();
- }
- else
- ca4 = "-Inf".toCharArray();
- noDigits = true;
- }
- else if (Double.isNaN(x)) {
- if (leadingSign) ca4 = "+NaN".toCharArray();
- else if (leadingSpace)
- ca4 = " NaN".toCharArray();
- else ca4 = "NaN".toCharArray();
- noDigits = true;
- }
- else
- ca4 = eFormatDigits(x,eChar);
- ca5 = applyFloatPadding(ca4,false);
- return new String(ca5);
- }
- /**
- * Apply zero or blank, left or right padding.
- * @param ca4 array of characters before padding is
- * finished
- * @param noDigits NaN or signed Inf
- * @return a padded array of characters
- */
- private char[] applyFloatPadding(
- char[] ca4,boolean noDigits) {
- char[] ca5 = ca4;
- if (fieldWidthSet) {
- int i,j,nBlanks;
- if (leftJustify) {
- nBlanks = fieldWidth-ca4.length;
- if (nBlanks > 0) {
- ca5 = new char[ca4.length+nBlanks];
- for (i=0; i<ca4.length; i++)
- ca5[i] = ca4[i];
- for (j=0; j<nBlanks; j++,i++)
- ca5[i] = ' ';
- }
- }
- else if (!leadingZeros || noDigits) {
- nBlanks = fieldWidth-ca4.length;
- if (nBlanks > 0) {
- ca5 = new char[ca4.length+nBlanks];
- for (i=0; i<nBlanks; i++)
- ca5[i] = ' ';
- for (j=0; j<ca4.length; i++,j++)
- ca5[i] = ca4[j];
- }
- }
- else if (leadingZeros) {
- nBlanks = fieldWidth-ca4.length;
- if (nBlanks > 0) {
- ca5 = new char[ca4.length+nBlanks];
- i=0; j=0;
- if (ca4[0]=='-') { ca5[0]='-'; i++; j++; }
- for (int k=0; k<nBlanks; i++,k++)
- ca5[i] = '0';
- for (; j<ca4.length; i++,j++)
- ca5[i] = ca4[j];
- }
- }
- }
- return ca5;
- }
- /**
- * Format method for the f conversion character.
- * @param x the double to format.
- * @return the formatted String.
- */
- private String printFFormat(double x) {
- return fFormatString(x);
- }
- /**
- * Format method for the e or E conversion
- * character.
- * @param x the double to format.
- * @return the formatted String.
- */
- private String printEFormat(double x) {
- if (conversionCharacter=='e')
- return eFormatString(x,'e');
- else
- return eFormatString(x,'E');
- }
- /**
- * Format method for the g conversion character.
- *
- * For g format, the flag character '-', means that
- * the output should be left justified within the
- * field. The default is to pad with blanks on the
- * left. '+' character means that the conversion
- * will always begin with a sign (+ or -). The
- * blank flag character means that a non-negative
- * input will be preceded with a blank. If both a
- * '+' and a ' ' are specified, the blank flag is
- * ignored. The '0' flag character implies that
- * padding to the field width will be done with
- * zeros instead of blanks.
- *
- * The field width is treated as the minimum number
- * of characters to be printed. The default is to
- * add no padding. Padding is with blanks by
- * default.
- *
- * The precision, if set, is the minimum number of
- * digits to appear after the radix character.
- * Padding is with trailing 0s.
- * @param x the double to format.
- * @return the formatted String.
- */
- private String printGFormat(double x) {
- String sx,sy,sz,ret;
- int savePrecision=precision;
- int i;
- char[] ca4,ca5;
- boolean noDigits=false;
- if (Double.isInfinite(x)) {
- if (x==Double.POSITIVE_INFINITY) {
- if (leadingSign) ca4 = "+Inf".toCharArray();
- else if (leadingSpace)
- ca4 = " Inf".toCharArray();
- else ca4 = "Inf".toCharArray();
- }
- else
- ca4 = "-Inf".toCharArray();
- noDigits = true;
- }
- else if (Double.isNaN(x)) {
- if (leadingSign) ca4 = "+NaN".toCharArray();
- else if (leadingSpace)
- ca4 = " NaN".toCharArray();
- else ca4 = "NaN".toCharArray();
- noDigits = true;
- }
- else {
- if (!precisionSet) precision=defaultDigits;
- if (precision==0) precision=1;
- int ePos=-1;
- if (conversionCharacter=='g') {
- sx = eFormatString(x,'e').trim();
- ePos=sx.indexOf('e');
- }
- else {
- sx = eFormatString(x,'E').trim();
- ePos=sx.indexOf('E');
- }
- i=ePos+1;
- int expon=0;
- if (sx.charAt(i)=='-') {
- for (++i; i<sx.length(); i++)
- if (sx.charAt(i)!='0') break;
- if (i<sx.length())
- expon=-Integer.parseInt(sx.substring(i));
- }
- else {
- if (sx.charAt(i)=='+') ++i;
- for (; i<sx.length(); i++)
- if (sx.charAt(i)!='0') break;
- if (i<sx.length())
- expon=Integer.parseInt(sx.substring(i));
- }
- // Trim trailing zeros.
- // If the radix character is not followed by
- // a digit, trim it, too.
- if (!alternateForm) {
- if (expon>=-4 && expon<precision)
- sy = fFormatString(x).trim();
- else
- sy = sx.substring(0,ePos);
- i=sy.length()-1;
- for (; i>=0; i--)
- if (sy.charAt(i)!='0') break;
- if (i>=0 && sy.charAt(i)=='.') i--;
- if (i==-1) sz="0";
- else if (!Character.isDigit(sy.charAt(i)))
- sz=sy.substring(0,i+1)+"0";
- else sz=sy.substring(0,i+1);
- if (expon>=-4 && expon<precision)
- ret=sz;
- else
- ret=sz+sx.substring(ePos);
- }
- else {
- if (expon>=-4 && expon<precision)
- ret = fFormatString(x).trim();
- else
- ret = sx;
- }
- // leading space was trimmed off during
- // construction
- if (leadingSpace) if (x>=0) ret = " "+ret;
- ca4 = ret.toCharArray();
- }
- // Pad with blanks or zeros.
- ca5 = applyFloatPadding(ca4,false);
- precision=savePrecision;
- return new String(ca5);
- }
- /**
- * Format method for the d conversion specifer and
- * short argument.
- *
- * For d format, the flag character '-', means that
- * the output should be left justified within the
- * field. The default is to pad with blanks on the
- * left. A '+' character means that the conversion
- * will always begin with a sign (+ or -). The
- * blank flag character means that a non-negative
- * input will be preceded with a blank. If both a
- * '+' and a ' ' are specified, the blank flag is
- * ignored. The '0' flag character implies that
- * padding to the field width will be done with
- * zeros instead of blanks.
- *
- * The field width is treated as the minimum number
- * of characters to be printed. The default is to
- * add no padding. Padding is with blanks by
- * default.
- *
- * The precision, if set, is the minimum number of
- * digits to appear. Padding is with leading 0s.
- * @param x the short to format.
- * @return the formatted String.
- */
- private String printDFormat(short x) {
- return printDFormat(Short.toString(x));
- }
- /**
- * Format method for the d conversion character and
- * long argument.
- *
- * For d format, the flag character '-', means that
- * the output should be left justified within the
- * field. The default is to pad with blanks on the
- * left. A '+' character means that the conversion
- * will always begin with a sign (+ or -). The
- * blank flag character means that a non-negative
- * input will be preceded with a blank. If both a
- * '+' and a ' ' are specified, the blank flag is
- * ignored. The '0' flag character implies that
- * padding to the field width will be done with
- * zeros instead of blanks.
- *
- * The field width is treated as the minimum number
- * of characters to be printed. The default is to
- * add no padding. Padding is with blanks by
- * default.
- *
- * The precision, if set, is the minimum number of
- * digits to appear. Padding is with leading 0s.
- * @param x the long to format.
- * @return the formatted String.
- */
- private String printDFormat(long x) {
- return printDFormat(Long.toString(x));
- }
- /**
- * Format method for the d conversion character and
- * int argument.
- *
- * For d format, the flag character '-', means that
- * the output should be left justified within the
- * field. The default is to pad with blanks on the
- * left. A '+' character means that the conversion
- * will always begin with a sign (+ or -). The
- * blank flag character means that a non-negative
- * input will be preceded with a blank. If both a
- * '+' and a ' ' are specified, the blank flag is
- * ignored. The '0' flag character implies that
- * padding to the field width will be done with
- * zeros instead of blanks.
- *
- * The field width is treated as the minimum number
- * of characters to be printed. The default is to
- * add no padding. Padding is with blanks by
- * default.
- *
- * The precision, if set, is the minimum number of
- * digits to appear. Padding is with leading 0s.
- * @param x the int to format.
- * @return the formatted String.
- */
- private String printDFormat(int x) {
- return printDFormat(Integer.toString(x));
- }
- /**
- * Utility method for formatting using the d
- * conversion character.
- * @param sx the String to format, the result of
- * converting a short, int, or long to a
- * String.
- * @return the formatted String.
- */
- private String printDFormat(String sx) {
- int nLeadingZeros=0;
- int nBlanks=0,n=0;
- int i=0,jFirst=0;
- boolean neg = sx.charAt(0)=='-';
- if (sx.equals("0")&&precisionSet&&precision==0)
- sx="";
- if (!neg) {
- if (precisionSet && sx.length() < precision)
- nLeadingZeros = precision-sx.length();
- }
- else {
- if (precisionSet&&(sx.length()-1)<precision)
- nLeadingZeros = precision-sx.length()+1;
- }
- if (nLeadingZeros<0) nLeadingZeros=0;
- if (fieldWidthSet) {
- nBlanks = fieldWidth-nLeadingZeros-sx.length();
- if (!neg&&(leadingSign||leadingSpace))
- nBlanks--;
- }
- if (nBlanks<0) nBlanks=0;
- if (leadingSign) n++;
- else if (leadingSpace) n++;
- n += nBlanks;
- n += nLeadingZeros;
- n += sx.length();
- char[] ca = new char[n];
- if (leftJustify) {
- if (neg) ca[i++] = '-';
- else if (leadingSign) ca[i++] = '+';
- else if (leadingSpace) ca[i++] = ' ';
- char[] csx = sx.toCharArray();
- jFirst = neg?1:0;
- for (int j=0; j<nLeadingZeros; i++,j++)
- ca[i]='0';
- for (int j=jFirst; j<csx.length; j++,i++)
- ca[i] = csx[j];
- for (int j=0; j<nBlanks; i++,j++)
- ca[i] = ' ';
- }
- else {
- if (!leadingZeros) {
- for (i=0; i<nBlanks; i++)
- ca[i] = ' ';
- if (neg) ca[i++] = '-';
- else if (leadingSign) ca[i++] = '+';
- else if (leadingSpace) ca[i++] = ' ';
- }
- else {
- if (neg) ca[i++] = '-';
- else if (leadingSign) ca[i++] = '+';
- else if (leadingSpace) ca[i++] = ' ';
- for (int j=0; j<nBlanks; j++,i++)
- ca[i] = '0';
- }
- for (int j=0; j<nLeadingZeros; j++,i++)
- ca[i] = '0';
- char[] csx = sx.toCharArray();
- jFirst = neg?1:0;
- for (int j=jFirst; j<csx.length; j++,i++)
- ca[i] = csx[j];
- }
- return new String(ca);
- }
- /**
- * Format method for the x conversion character and
- * short argument.
- *
- * For x format, the flag character '-', means that
- * the output should be left justified within the
- * field. The default is to pad with blanks on the
- * left. The '#' flag character means to lead with
- * '0x'.
- *
- * The field width is treated as the minimum number
- * of characters to be printed. The default is to
- * add no padding. Padding is with blanks by
- * default.
- *
- * The precision, if set, is the minimum number of
- * digits to appear. Padding is with leading 0s.
- * @param x the short to format.
- * @return the formatted String.
- */
- private String printXFormat(short x) {
- String sx=null;
- if (x == Short.MIN_VALUE)
- sx = "8000";
- else if (x < 0) {
- String t;
- if (x==Short.MIN_VALUE)
- t = "0";
- else {
- t = Integer.toString(
- (~(-x-1))^Short.MIN_VALUE,16);
- if (t.charAt(0)=='F'||t.charAt(0)=='f')
- t = t.substring(16,32);
- }
- switch (t.length()) {
- case 1:
- sx = "800"+t;
- break;
- case 2:
- sx = "80"+t;
- break;
- case 3:
- sx = "8"+t;
- break;
- case 4:
- switch (t.charAt(0)) {
- case '1':
- sx = "9"+t.substring(1,4);
- break;
- case '2':
- sx = "a"+t.substring(1,4);
- break;
- case '3':
- sx = "b"+t.substring(1,4);
- break;
- case '4':
- sx = "c"+t.substring(1,4);
- break;
- case '5':
- sx = "d"+t.substring(1,4);
- break;
- case '6':
- sx = "e"+t.substring(1,4);
- break;
- case '7':
- sx = "f"+t.substring(1,4);
- break;
- }
- break;
- }
- }
- else
- sx = Integer.toString((int)x,16);
- return printXFormat(sx);
- }
- /**
- * Format method for the x conversion character and
- * long argument.
- *
- * For x format, the flag character '-', means that
- * the output should be left justified within the
- * field. The default is to pad with blanks on the
- * left. The '#' flag character means to lead with
- * '0x'.
- *
- * The field width is treated as the minimum number
- * of characters to be printed. The default is to
- * add no padding. Padding is with blanks by
- * default.
- *
- * The precision, if set, is the minimum number of
- * digits to appear. Padding is with leading 0s.
- * @param x the long to format.
- * @return the formatted String.
- */
- private String printXFormat(long x) {
- String sx=null;
- if (x == Long.MIN_VALUE)
- sx = "8000000000000000";
- else if (x < 0) {
- String t = Long.toString(
- (~(-x-1))^Long.MIN_VALUE,16);
- switch (t.length()) {
- case 1:
- sx = "800000000000000"+t;
- break;
- case 2:
- sx = "80000000000000"+t;
- break;
- case 3:
- sx = "8000000000000"+t;
- break;
- case 4:
- sx = "800000000000"+t;
- break;
- case 5:
- sx = "80000000000"+t;
- break;
- case 6:
- sx = "8000000000"+t;
- break;
- case 7:
- sx = "800000000"+t;
- break;
- case 8:
- sx = "80000000"+t;
- break;
- case 9:
- sx = "8000000"+t;
- break;
- case 10:
- sx = "800000"+t;
- break;
- case 11:
- sx = "80000"+t;
- break;
- case 12:
- sx = "8000"+t;
- break;
- case 13:
- sx = "800"+t;
- break;
- case 14:
- sx = "80"+t;
- break;
- case 15:
- sx = "8"+t;
- break;
- case 16:
- switch (t.charAt(0)) {
- case '1':
- sx = "9"+t.substring(1,16);
- break;
- case '2':
- sx = "a"+t.substring(1,16);
- break;
- case '3':
- sx = "b"+t.substring(1,16);
- break;
- case '4':
- sx = "c"+t.substring(1,16);
- break;
- case '5':
- sx = "d"+t.substring(1,16);
- break;
- case '6':
- sx = "e"+t.substring(1,16);
- break;
- case '7':
- sx = "f"+t.substring(1,16);
- break;
- }
- break;
- }
- }
- else
- sx = Long.toString(x,16);
- return printXFormat(sx);
- }
- /**
- * Format method for the x conversion character and
- * int argument.
- *
- * For x format, the flag character '-', means that
- * the output should be left justified within the
- * field. The default is to pad with blanks on the
- * left. The '#' flag character means to lead with
- * '0x'.
- *
- * The field width is treated as the minimum number
- * of characters to be printed. The default is to
- * add no padding. Padding is with blanks by
- * default.
- *
- * The precision, if set, is the minimum number of
- * digits to appear. Padding is with leading 0s.
- * @param x the int to format.
- * @return the formatted String.
- */
- private String printXFormat(int x) {
- String sx=null;
- if (x == Integer.MIN_VALUE)
- sx = "80000000";
- else if (x < 0) {
- String t = Integer.toString(
- (~(-x-1))^Integer.MIN_VALUE,16);
- switch (t.length()) {
- case 1:
- sx = "8000000"+t;
- break;
- case 2:
- sx = "800000"+t;
- break;
- case 3:
- sx = "80000"+t;
- break;
- case 4:
- sx = "8000"+t;
- break;
- case 5:
- sx = "800"+t;
- break;
- case 6:
- sx = "80"+t;
- break;
- case 7:
- sx = "8"+t;
- break;
- case 8:
- switch (t.charAt(0)) {
- case '1':
- sx = "9"+t.substring(1,8);
- break;
- case '2':
- sx = "a"+t.substring(1,8);
- break;
- case '3':
- sx = "b"+t.substring(1,8);
- break;
- case '4':
- sx = "c"+t.substring(1,8);
- break;
- case '5':
- sx = "d"+t.substring(1,8);
- break;
- case '6':
- sx = "e"+t.substring(1,8);
- break;
- case '7':
- sx = "f"+t.substring(1,8);
- break;
- }
- break;
- }
- }
- else
- sx = Integer.toString(x,16);
- return printXFormat(sx);
- }
- /**
- * Utility method for formatting using the x
- * conversion character.
- * @param sx the String to format, the result of
- * converting a short, int, or long to a
- * String.
- * @return the formatted String.
- */
- private String printXFormat(String sx) {
- int nLeadingZeros = 0;
- int nBlanks = 0;
- if (sx.equals("0")&&precisionSet&&precision==0)
- sx="";
- if (precisionSet)
- nLeadingZeros = precision-sx.length();
- if (nLeadingZeros<0) nLeadingZeros=0;
- if (fieldWidthSet) {
- nBlanks = fieldWidth-nLeadingZeros-sx.length();
- if (alternateForm) nBlanks = nBlanks - 2;
- }
- if (nBlanks<0) nBlanks=0;
- int n=0;
- if (alternateForm) n+=2;
- n += nLeadingZeros;
- n += sx.length();
- n += nBlanks;
- char[] ca = new char[n];
- int i=0;
- if (leftJustify) {
- if (alternateForm) {
- ca[i++]='0'; ca[i++]='x';
- }
- for (int j=0; j<nLeadingZeros; j++,i++)
- ca[i]='0';
- char[] csx = sx.toCharArray();
- for (int j=0; j<csx.length; j++,i++)
- ca[i] = csx[j];
- for (int j=0; j<nBlanks; j++,i++)
- ca[i] = ' ';
- }
- else {
- if (!leadingZeros)
- for (int j=0; j<nBlanks; j++,i++)
- ca[i] = ' ';
- if (alternateForm) {
- ca[i++]='0'; ca[i++]='x';
- }
- if (leadingZeros)
- for (int j=0; j<nBlanks; j++,i++)
- ca[i] = '0';
- for (int j=0; j<nLeadingZeros; j++,i++)
- ca[i]='0';
- char[] csx = sx.toCharArray();
- for (int j=0; j<csx.length; j++,i++)
- ca[i] = csx[j];
- }
- String caReturn=new String(ca);
- if (conversionCharacter=='X')
- caReturn = caReturn.toUpperCase();
- return caReturn;
- }
- /**
- * Format method for the o conversion character and
- * short argument.
- *
- * For o format, the flag character '-', means that
- * the output should be left justified within the
- * field. The default is to pad with blanks on the
- * left. The '#' flag character means that the
- * output begins with a leading 0 and the precision
- * is increased by 1.
- *
- * The field width is treated as the minimum number
- * of characters to be printed. The default is to
- * add no padding. Padding is with blanks by
- * default.
- *
- * The precision, if set, is the minimum number of
- * digits to appear. Padding is with leading 0s.
- * @param x the short to format.
- * @return the formatted String.
- */
- private String printOFormat(short x) {
- String sx=null;
- if (x == Short.MIN_VALUE)
- sx = "100000";
- else if (x < 0) {
- String t = Integer.toString(
- (~(-x-1))^Short.MIN_VALUE,8);
- switch (t.length()) {
- case 1:
- sx = "10000"+t;
- break;
- case 2:
- sx = "1000"+t;
- break;
- case 3:
- sx = "100"+t;
- break;
- case 4:
- sx = "10"+t;
- break;
- case 5:
- sx = "1"+t;
- break;
- }
- }
- else
- sx = Integer.toString((int)x,8);
- return printOFormat(sx);
- }
- /**
- * Format method for the o conversion character and
- * long argument.
- *
- * For o format, the flag character '-', means that
- * the output should be left justified within the
- * field. The default is to pad with blanks on the
- * left. The '#' flag character means that the
- * output begins with a leading 0 and the precision
- * is increased by 1.
- *
- * The field width is treated as the minimum number
- * of characters to be printed. The default is to
- * add no padding. Padding is with blanks by
- * default.
- *
- * The precision, if set, is the minimum number of
- * digits to appear. Padding is with leading 0s.
- * @param x the long to format.
- * @return the formatted String.
- */
- private String printOFormat(long x) {
- String sx=null;
- if (x == Long.MIN_VALUE)
- sx = "1000000000000000000000";
- else if (x < 0) {
- String t = Long.toString(
- (~(-x-1))^Long.MIN_VALUE,8);
- switch (t.length()) {
- case 1:
- sx = "100000000000000000000"+t;
- break;
- case 2:
- sx = "10000000000000000000"+t;
- break;
- case 3:
- sx = "1000000000000000000"+t;
- break;
- case 4:
- sx = "100000000000000000"+t;
- break;
- case 5:
- sx = "10000000000000000"+t;
- break;
- case 6:
- sx = "1000000000000000"+t;
- break;
- case 7:
- sx = "100000000000000"+t;
- break;
- case 8:
- sx = "10000000000000"+t;
- break;
- case 9:
- sx = "1000000000000"+t;
- break;
- case 10:
- sx = "100000000000"+t;
- break;
- case 11:
- sx = "10000000000"+t;
- break;
- case 12:
- sx = "1000000000"+t;
- break;
- case 13:
- sx = "100000000"+t;
- break;
- case 14:
- sx = "10000000"+t;
- break;
- case 15:
- sx = "1000000"+t;
- break;
- case 16:
- sx = "100000"+t;
- break;
- case 17:
- sx = "10000"+t;
- break;
- case 18:
- sx = "1000"+t;
- break;
- case 19:
- sx = "100"+t;
- break;
- case 20:
- sx = "10"+t;
- break;
- case 21:
- sx = "1"+t;
- break;
- }
- }
- else
- sx = Long.toString(x,8);
- return printOFormat(sx);
- }
- /**
- * Format method for the o conversion character and
- * int argument.
- *
- * For o format, the flag character '-', means that
- * the output should be left justified within the
- * field. The default is to pad with blanks on the
- * left. The '#' flag character means that the
- * output begins with a leading 0 and the precision
- * is increased by 1.
- *
- * The field width is treated as the minimum number
- * of characters to be printed. The default is to
- * add no padding. Padding is with blanks by
- * default.
- *
- * The precision, if set, is the minimum number of
- * digits to appear. Padding is with leading 0s.
- * @param x the int to format.
- * @return the formatted String.
- */
- private String printOFormat(int x) {
- String sx=null;
- if (x == Integer.MIN_VALUE)
- sx = "20000000000";
- else if (x < 0) {
- String t = Integer.toString(
- (~(-x-1))^Integer.MIN_VALUE,8);
- switch (t.length()) {
- case 1:
- sx = "2000000000"+t;
- break;
- case 2:
- sx = "200000000"+t;
- break;
- case 3:
- sx = "20000000"+t;
- break;
- case 4:
- sx = "2000000"+t;
- break;
- case 5:
- sx = "200000"+t;
- break;
- case 6:
- sx = "20000"+t;
- break;
- case 7:
- sx = "2000"+t;
- break;
- case 8:
- sx = "200"+t;
- break;
- case 9:
- sx = "20"+t;
- break;
- case 10:
- sx = "2"+t;
- break;
- case 11:
- sx = "3"+t.substring(1);
- break;
- }
- }
- else
- sx = Integer.toString(x,8);
- return printOFormat(sx);
- }
- /**
- * Utility method for formatting using the o
- * conversion character.
- * @param sx the String to format, the result of
- * converting a short, int, or long to a
- * String.
- * @return the formatted String.
- */
- private String printOFormat(String sx) {
- int nLeadingZeros = 0;
- int nBlanks = 0;
- if (sx.equals("0")&&precisionSet&&precision==0)
- sx="";
- if (precisionSet)
- nLeadingZeros = precision-sx.length();
- if (alternateForm) nLeadingZeros++;
- if (nLeadingZeros<0) nLeadingZeros=0;
- if (fieldWidthSet)
- nBlanks = fieldWidth-nLeadingZeros-sx.length();
- if (nBlanks<0) nBlanks=0;
- int n=nLeadingZeros+sx.length()+nBlanks;
- char[] ca = new char[n];
- int i;
- if (leftJustify) {
- for (i=0; i<nLeadingZeros; i++) ca[i]='0';
- char[] csx = sx.toCharArray();
- for (int j=0; j<csx.length; j++,i++)
- ca[i] = csx[j];
- for (int j=0; j<nBlanks; j++,i++) ca[i] = ' ';
- }
- else {
- if (leadingZeros)
- for (i=0; i<nBlanks; i++) ca[i]='0';
- else
- for (i=0; i<nBlanks; i++) ca[i]=' ';
- for (int j=0; j<nLeadingZeros; j++,i++)
- ca[i]='0';
- char[] csx = sx.toCharArray();
- for (int j=0; j<csx.length; j++,i++)
- ca[i] = csx[j];
- }
- return new String(ca);
- }
- /**
- * Format method for the c conversion character and
- * char argument.
- *
- * The only flag character that affects c format is
- * the '-', meaning that the output should be left
- * justified within the field. The default is to
- * pad with blanks on the left.
- *
- * The field width is treated as the minimum number
- * of characters to be printed. Padding is with
- * blanks by default. The default width is 1.
- *
- * The precision, if set, is ignored.
- * @param x the char to format.
- * @return the formatted String.
- */
- private String printCFormat(char x) {
- int nPrint = 1;
- int width = fieldWidth;
- if (!fieldWidthSet) width = nPrint;
- char[] ca = new char[width];
- int i=0;
- if (leftJustify) {
- ca[0] = x;
- for (i=1; i<=width-nPrint; i++) ca[i]=' ';
- }
- else {
- for (i=0; i<width-nPrint; i++) ca[i]=' ';
- ca[i] = x;
- }
- return new String(ca);
- }
- /**
- * Format method for the s conversion character and
- * String argument.
- *
- * The only flag character that affects s format is
- * the '-', meaning that the output should be left
- * justified within the field. The default is to
- * pad with blanks on the left.
- *
- * The field width is treated as the minimum number
- * of characters to be printed. The default is the
- * smaller of the number of characters in the the
- * input and the precision. Padding is with blanks
- * by default.
- *
- * The precision, if set, specifies the maximum
- * number of characters to be printed from the
- * string. A null digit string is treated
- * as a 0. The default is not to set a maximum
- * number of characters to be printed.
- * @param x the String to format.
- * @return the formatted String.
- */
- private String printSFormat(String x) {
- int nPrint = x.length();
- int width = fieldWidth;
- if (precisionSet && nPrint>precision)
- nPrint=precision;
- if (!fieldWidthSet) width = nPrint;
- int n=0;
- if (width>nPrint) n+=width-nPrint;
- if (nPrint>=x.length()) n+= x.length();
- else n+= nPrint;
- char[] ca = new char[n];
- int i=0;
- if (leftJustify) {
- if (nPrint>=x.length()) {
- char[] csx = x.toCharArray();
- for (i=0; i<x.length(); i++) ca[i]=csx[i];
- }
- else {
- char[] csx =
- x.substring(0,nPrint).toCharArray();
- for (i=0; i<nPrint; i++) ca[i]=csx[i];
- }
- for (int j=0; j<width-nPrint; j++,i++)
- ca[i]=' ';
- }
- else {
- for (i=0; i<width-nPrint; i++) ca[i]=' ';
- if (nPrint>=x.length()) {
- char[] csx = x.toCharArray();
- for (int j=0; j<x.length(); i++,j++)
- ca[i]=csx[j];
- }
- else {
- char[] csx =
- x.substring(0,nPrint).toCharArray();
- for (int j=0; j<nPrint; i++,j++)
- ca[i]=csx[j];
- }
- }
- return new String(ca);
- }
- /**
- * Check for a conversion character. If it is
- * there, store it.
- * @param x the String to format.
- * @return <code>true</code> if the conversion
- * character is there, and
- * <code>false</code> otherwise.
- */
- private boolean setConversionCharacter() {
- /* idfgGoxXeEcs */
- boolean ret = false;
- conversionCharacter='\0';
- if (pos < fmt.length()) {
- char c = fmt.charAt(pos);
- if (c=='i'||c=='d'||c=='f'||c=='g'||c=='G'
- || c=='o' || c=='x' || c=='X' || c=='e'
- || c=='E' || c=='c' || c=='s' || c=='%') {
- conversionCharacter = c;
- pos++;
- ret = true;
- }
- }
- return ret;
- }
- /**
- * Check for an h, l, or L in a format. An L is
- * used to control the minimum number of digits
- * in an exponent when using floating point
- * formats. An l or h is used to control
- * conversion of the input to a long or short,
- * respectively, before formatting. If any of
- * these is present, store them.
- */
- private void setOptionalHL() {
- optionalh=false;
- optionall=false;
- optionalL=false;
- if (pos < fmt.length()) {
- char c = fmt.charAt(pos);
- if (c=='h') { optionalh=true; pos++; }
- else if (c=='l') { optionall=true; pos++; }
- else if (c=='L') { optionalL=true; pos++; }
- }
- }
- /**
- * Set the precision.
- */
- private void setPrecision() {
- int firstPos = pos;
- precisionSet = false;
- if (pos<fmt.length()&&fmt.charAt(pos)=='.') {
- pos++;
- if ((pos < fmt.length())
- && (fmt.charAt(pos)=='*')) {
- pos++;
- if (!setPrecisionArgPosition()) {
- variablePrecision = true;
- precisionSet = true;
- }
- return;
- }
- else {
- while (pos < fmt.length()) {
- char c = fmt.charAt(pos);
- if (Character.isDigit(c)) pos++;
- else break;
- }
- if (pos > firstPos+1) {
- String sz = fmt.substring(firstPos+1,pos);
- precision = Integer.parseInt(sz);
- precisionSet = true;
- }
- }
- }
- }
- /**
- * Set the field width.
- */
- private void setFieldWidth() {
- int firstPos = pos;
- fieldWidth = 0;
- fieldWidthSet = false;
- if ((pos < fmt.length())
- && (fmt.charAt(pos)=='*')) {
- pos++;
- if (!setFieldWidthArgPosition()) {
- variableFieldWidth = true;
- fieldWidthSet = true;
- }
- }
- else {
- while (pos < fmt.length()) {
- char c = fmt.charAt(pos);
- if (Character.isDigit(c)) pos++;
- else break;
- }
- if (firstPos<pos && firstPos < fmt.length()) {
- String sz = fmt.substring(firstPos,pos);
- fieldWidth = Integer.parseInt(sz);
- fieldWidthSet = true;
- }
- }
- }
- /**
- * Store the digits <code>n</code> in %n$ forms.
- */
- private void setArgPosition() {
- int xPos;
- for (xPos=pos; xPos<fmt.length(); xPos++) {
- if (!Character.isDigit(fmt.charAt(xPos)))
- break;
- }
- if (xPos>pos && xPos<fmt.length()) {
- if (fmt.charAt(xPos)=='$') {
- positionalSpecification = true;
- argumentPosition=
- Integer.parseInt(fmt.substring(pos,xPos));
- pos=xPos+1;
- }
- }
- }
- /**
- * Store the digits <code>n</code> in *n$ forms.
- */
- private boolean setFieldWidthArgPosition() {
- boolean ret=false;
- int xPos;
- for (xPos=pos; xPos<fmt.length(); xPos++) {
- if (!Character.isDigit(fmt.charAt(xPos)))
- break;
- }
- if (xPos>pos && xPos<fmt.length()) {
- if (fmt.charAt(xPos)=='$') {
- positionalFieldWidth = true;
- argumentPositionForFieldWidth=
- Integer.parseInt(fmt.substring(pos,xPos));
- pos=xPos+1;
- ret=true;
- }
- }
- return ret;
- }
- /**
- * Store the digits <code>n</code> in *n$ forms.
- */
- private boolean setPrecisionArgPosition() {
- boolean ret=false;
- int xPos;
- for (xPos=pos; xPos<fmt.length(); xPos++) {
- if (!Character.isDigit(fmt.charAt(xPos)))
- break;
- }
- if (xPos>pos && xPos<fmt.length()) {
- if (fmt.charAt(xPos)=='$') {
- positionalPrecision = true;
- argumentPositionForPrecision=
- Integer.parseInt(fmt.substring(pos,xPos));
- pos=xPos+1;
- ret=true;
- }
- }
- return ret;
- }
- boolean isPositionalSpecification() {
- return positionalSpecification;
- }
- int getArgumentPosition() { return argumentPosition; }
- boolean isPositionalFieldWidth() {
- return positionalFieldWidth;
- }
- int getArgumentPositionForFieldWidth() {
- return argumentPositionForFieldWidth;
- }
- boolean isPositionalPrecision() {
- return positionalPrecision;
- }
- int getArgumentPositionForPrecision() {
- return argumentPositionForPrecision;
- }
- /**
- * Set flag characters, one of '-+#0 or a space.
- */
- private void setFlagCharacters() {
- /* '-+ #0 */
- thousands = false;
- leftJustify = false;
- leadingSign = false;
- leadingSpace = false;
- alternateForm = false;
- leadingZeros = false;
- for ( ; pos < fmt.length(); pos++) {
- char c = fmt.charAt(pos);
- if (c == '\'') thousands = true;
- else if (c == '-') {
- leftJustify = true;
- leadingZeros = false;
- }
- else if (c == '+') {
- leadingSign = true;
- leadingSpace = false;
- }
- else if (c == ' ') {
- if (!leadingSign) leadingSpace = true;
- }
- else if (c == '#') alternateForm = true;
- else if (c == '0') {
- if (!leftJustify) leadingZeros = true;
- }
- else break;
- }
- }
- /**
- * The integer portion of the result of a decimal
- * conversion (i, d, u, f, g, or G) will be
- * formatted with thousands' grouping characters.
- * For other conversions the flag is ignored.
- */
- private boolean thousands = false;
- /**
- * The result of the conversion will be
- * left-justified within the field.
- */
- private boolean leftJustify = false;
- /**
- * The result of a signed conversion will always
- * begin with a sign (+ or -).
- */
- private boolean leadingSign = false;
- /**
- * Flag indicating that left padding with spaces is
- * specified.
- */
- private boolean leadingSpace = false;
- /**
- * For an o conversion, increase the precision to
- * force the first digit of the result to be a
- * zero. For x (or X) conversions, a non-zero
- * result will have 0x (or 0X) prepended to it.
- * For e, E, f, g, or G conversions, the result
- * will always contain a radix character, even if
- * no digits follow the point. For g and G
- * conversions, trailing zeros will not be removed
- * from the result.
- */
- private boolean alternateForm = false;
- /**
- * Flag indicating that left padding with zeroes is
- * specified.
- */
- private boolean leadingZeros = false;
- /**
- * Flag indicating that the field width is *.
- */
- private boolean variableFieldWidth = false;
- /**
- * If the converted value has fewer bytes than the
- * field width, it will be padded with spaces or
- * zeroes.
- */
- private int fieldWidth = 0;
- /**
- * Flag indicating whether or not the field width
- * has been set.
- */
- private boolean fieldWidthSet = false;
- /**
- * The minimum number of digits to appear for the
- * d, i, o, u, x, or X conversions. The number of
- * digits to appear after the radix character for
- * the e, E, and f conversions. The maximum number
- * of significant digits for the g and G
- * conversions. The maximum number of bytes to be
- * printed from a string in s and S conversions.
- */
- private int precision = 0;
- /** Default precision. */
- private final static int defaultDigits=6;
- /**
- * Flag indicating that the precision is *.
- */
- private boolean variablePrecision = false;
- /**
- * Flag indicating whether or not the precision has
- * been set.
- */
- private boolean precisionSet = false;
- /*
- */
- private boolean positionalSpecification=false;
- private int argumentPosition=0;
- private boolean positionalFieldWidth=false;
- private int argumentPositionForFieldWidth=0;
- private boolean positionalPrecision=false;
- private int argumentPositionForPrecision=0;
- /**
- * Flag specifying that a following d, i, o, u, x,
- * or X conversion character applies to a type
- * short int.
- */
- private boolean optionalh = false;
- /**
- * Flag specifying that a following d, i, o, u, x,
- * or X conversion character applies to a type lont
- * int argument.
- */
- private boolean optionall = false;
- /**
- * Flag specifying that a following e, E, f, g, or
- * G conversion character applies to a type double
- * argument. This is a noop in Java.
- */
- private boolean optionalL = false;
- /** Control string type. */
- private char conversionCharacter = '\0';
- /**
- * Position within the control string. Used by
- * the constructor.
- */
- private int pos = 0;
- /** Literal or control format string. */
- private String fmt;
- }
- /** Vector of control strings and format literals. */
- private Vector vFmt = new Vector();
- /** Character position. Used by the constructor. */
- private int cPos=0;
- /** Character position. Used by the constructor. */
- private DecimalFormatSymbols dfs=null;
-}
diff --git a/util/org/netlib/CVS/Entries b/util/org/netlib/CVS/Entries
deleted file mode 100644
index 1319525..0000000
--- a/util/org/netlib/CVS/Entries
+++ /dev/null
@@ -1 +0,0 @@
-D/util////
diff --git a/util/org/netlib/CVS/Repository b/util/org/netlib/CVS/Repository
deleted file mode 100644
index 78a6178..0000000
--- a/util/org/netlib/CVS/Repository
+++ /dev/null
@@ -1 +0,0 @@
-f2j/util/org/netlib
diff --git a/util/org/netlib/CVS/Root b/util/org/netlib/CVS/Root
deleted file mode 100644
index f54aada..0000000
--- a/util/org/netlib/CVS/Root
+++ /dev/null
@@ -1 +0,0 @@
-:ext:keithseymour at f2j.cvs.sourceforge.net:/cvsroot/f2j
diff --git a/util/org/netlib/util/CVS/Entries b/util/org/netlib/util/CVS/Entries
deleted file mode 100644
index 7e1515f..0000000
--- a/util/org/netlib/util/CVS/Entries
+++ /dev/null
@@ -1,14 +0,0 @@
-/Dummy.java/1.4/Thu Jan 25 21:31:37 2007//
-/Etime.java/1.4/Thu Jan 25 21:32:16 2007//
-/MatConv.java/1.4/Thu Jan 25 21:33:14 2007//
-/Second.java/1.4/Thu Jan 25 21:33:33 2007//
-/StrictUtil.java/1.3/Thu Jan 25 21:34:13 2007//
-/StringW.java/1.4/Thu Jan 25 21:34:35 2007//
-/booleanW.java/1.4/Thu Jan 25 21:35:36 2007//
-/doubleW.java/1.4/Thu Jan 25 21:36:23 2007//
-/floatW.java/1.4/Thu Jan 25 21:36:27 2007//
-/intW.java/1.4/Thu Jan 25 21:36:16 2007//
-/EasyIn.java/1.6/Tue May 1 18:48:08 2007//
-/Util.java/1.10/Thu Jul 19 18:37:36 2007//
-/ArraySpec.java/1.4/Fri Dec 14 20:49:10 2007//
-D
diff --git a/util/org/netlib/util/CVS/Repository b/util/org/netlib/util/CVS/Repository
deleted file mode 100644
index f90ff45..0000000
--- a/util/org/netlib/util/CVS/Repository
+++ /dev/null
@@ -1 +0,0 @@
-f2j/util/org/netlib/util
diff --git a/util/org/netlib/util/CVS/Root b/util/org/netlib/util/CVS/Root
deleted file mode 100644
index f54aada..0000000
--- a/util/org/netlib/util/CVS/Root
+++ /dev/null
@@ -1 +0,0 @@
-:ext:keithseymour at f2j.cvs.sourceforge.net:/cvsroot/f2j
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-java/f2j.git
More information about the pkg-java-commits
mailing list