coursework/0000700010163400004550000000000011521655756013114 5ustar csuhcbdcsugradcoursework/model.dasm0000644010163400004550000000026011521654251015057 0ustar csuhcbdcsugrad# Tim Monk's FFI library # Required for Math Power operations %include "ffi.dasm"; # Diver model %include "diver.dasm"; # Shiny UI %include "wgd/wgd.dasm"; %include "ui.dasm"; coursework/ffi/0000700010163400004550000000000011521553407013646 5ustar csuhcbdcsugradcoursework/ffi/ffi.dasm0000600010163400004550000000023511517656002015262 0ustar csuhcbdcsugradthis modules ffi = (new type=Module file = (new type=LocalFile filename = "libcadence_ffi.so" ) base = (this) update = false ); @ffi = (.ffi);coursework/ffi/ffi.cpp0000600010163400004550000000437311521552043015122 0ustar csuhcbdcsugrad#include #include #include "dll.h" #include #include #include #include using namespace cadence; using namespace cadence::doste; // the <*:9001:*:*> range is used for FFI functions (and partially applied functions) // const OID ffi_base = OID(0,9001,0,0); const OID ffi_lower = ffi_base; const OID ffi_higher = ffi_base + OID(0,4,0,0); class FFIHandler : Handler { public: FFIHandler(const OID &oid); bool handle(Event &event); private: OID m_base; const OID Pow; const OID PartialPow; }; FFIHandler::FFIHandler(const OID &oid) : Handler(ffi_lower, ffi_higher), m_base(oid), Pow(m_base + OID(0,1,0,0)), PartialPow(Pow + OID(0,1,0,0)) {} bool FFIHandler::handle(Event &event) { // currently this uses an insane method for determining what OID to return // this is totally unextensible and will be replaced with a generic system ASAP if (event.type() == Event::GET) { if (event.dest() == m_base) { // if we're looking up pow if (event.param<0>() == OID("pow")) { event.result(Pow); } else { event.result(Null); } } else if (event.dest() == Pow) { // else if we're looking up partially applied pow // if we're looking up an integer, convert it to a double if (event.param<0>().isLongLong()) { OID temp = PartialPow; temp.m_dbl = (double)event.param<0>().m_ll; event.result(temp); } else if (event.param<0>().isDouble()) { OID temp = Pow + OID(0,1,0,0); temp.m_dbl = event.param<0>().m_dbl; event.result(temp); } else { event.result(Null); } } else if (event.dest().b() == PartialPow.b()) { // else we're looking up fully applied pow if (event.param<0>().isLongLong()) { event.result(std::pow(event.dest().m_dbl, (double)event.param<0>().m_ll)); } else if (event.param<0>().isDouble()) { event.result(std::pow(event.dest().m_dbl, event.param<0>().m_dbl)); } else { event.result(Null); } } } return true; } FFIHandler *ffi_handler = NULL; extern "C" void FFIIMPORT initialise(const cadence::doste::OID &base) { base["ffi"] = ffi_base; ffi_handler = new FFIHandler(ffi_base); } extern "C" void FFIIMPORT finalise() { if (ffi_handler != NULL) delete ffi_handler; } coursework/ffi/dll.h0000600010163400004550000000035011521552002014560 0ustar csuhcbdcsugrad#ifdef WIN32 # if BUILD_FFI_DLL # define FFIIMPORT __declspec (dllexport) # else /* Not BUILDING_DLL */ # define FFIIMPORT __declspec (dllimport) # endif /* BUILDING_DLL */ #else # define FFIIMPORT #endif /* WIN32 */ coursework/ffi/configure.ac0000600010163400004550000000275111521550665016146 0ustar csuhcbdcsugradAC_INIT(cadence_module_config, version-0.1) # make it easier to get going in DCS # unfortunately I can't find the headers in empublic # CPPFLAGS="${CPPFLAGS} -I/dcs/emp/empublic/include" LDFLAGS="${LDFLAGS} -L/dcs/emp/empublic/lib" # # check for C++ # AC_MSG_NOTICE([Testing for C++]) AC_PROG_CXX AC_LANG(C++) AC_CHECK_HEADER(iostream) # # check for cadence libs and headers # AC_MSG_NOTICE([Testing for cadence]) AC_CHECK_HEADER(cadence/cadence.h) if test "$ac_cv_header_cadence_cadence_h" == no then AC_MSG_ERROR([could not find cadence development headers, try either: 1 setting the CPPFLAGS environment variable to something like "-I /home/youruser/cadence/include" 2 installing the libcadence headers to somewhere like /usr/local/include]) fi AC_CHECK_LIB(cadence, cadence_check) if test "$ac_cv_lib_cadence_cadence_check" == no then AC_MSG_ERROR([could not link against libcadence, try either: 1 setting the LDFLAGS environment variable to something like "-L /home/youruser/cadence/lib" 2 installing libcadence to somewhere like /usr/local/lib]) fi # # check for math # AC_MSG_NOTICE([Testing for math]) AC_CHECK_LIB(m, pow) # # check arch, setup various flags # CXXFLAGS="$CXXFLAGS -Wall -Wextra -DLINUX -O2" if test "$target_cpu" == "x86_64"; then CXXFLAGS="$CXXFLAGS -DX86_64" else CXXFLAGS="$CXXFLAGS -march=pentium3 -mfpmath=sse" fi # # generate makefiles # AC_OUTPUT(Makefile) echo echo "Everything configured: you may now build the module using the command 'make'" coursework/ffi/Makefile.in0000600010163400004550000000051211521553046015712 0ustar csuhcbdcsugradCXX=@CXX@ CXXFLAGS=@CXXFLAGS@ CPPFLAGS=@CPPFLAGS@ LDFLAGS=@LDFLAGS@ HEADERS=dll.h SOURCES=ffi.cpp OBJECTS=$(SOURCES:.cpp=.o) LIB=libcadence_ffi.so all: $(SOURCES) $(LIB) $(LIB): $(OBJECTS) $(CXX) --shared $(LDFLAGS) -o $@ $(OBJECTS) .cpp.o: $(CXX) -fPIC -c $(CPPFLAGS) $(CXXFLAGS) $< -o $@ clean: rm -f $(LIB) $(OBJECTS) coursework/ffi/README0000600010163400004550000000061411521553377014537 0ustar csuhcbdcsugrad------------------------------------- build instructions for the FFI module ------------------------------------- ./configure make ------------------------------------- usage in cadence: ------------------------------------- make sure that libcadence_ffi.so and ffi.dasm are somewhere in your CADENCE_PATH. you can now use: %include "ffi.dasm" @ffi pow 2 3 e.g. to compute 2 to the power of 3 coursework/ffi/configure0000700010163400004550000033344011521550671015564 0ustar csuhcbdcsugrad#! /bin/sh # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.59 for cadence_module_config version-0.1. # # 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='cadence_module_config' PACKAGE_TARNAME='cadence_module_config' PACKAGE_VERSION='version-0.1' PACKAGE_STRING='cadence_module_config version-0.1' PACKAGE_BUGREPORT='' # Factoring default headers for most tests. ac_includes_default="\ #include #if HAVE_SYS_TYPES_H # include #endif #if HAVE_SYS_STAT_H # include #endif #if STDC_HEADERS # include # include #else # if HAVE_STDLIB_H # include # endif #endif #if HAVE_STRING_H # if !STDC_HEADERS && HAVE_MEMORY_H # include # endif # include #endif #if HAVE_STRINGS_H # include #endif #if HAVE_INTTYPES_H # include #else # if HAVE_STDINT_H # include # endif #endif #if HAVE_UNISTD_H # include #endif" 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 CXX CXXFLAGS LDFLAGS CPPFLAGS ac_ct_CXX EXEEXT OBJEXT CXXCPP EGREP 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_CXX_set=${CXX+set} ac_env_CXX_value=$CXX ac_cv_env_CXX_set=${CXX+set} ac_cv_env_CXX_value=$CXX ac_env_CXXFLAGS_set=${CXXFLAGS+set} ac_env_CXXFLAGS_value=$CXXFLAGS ac_cv_env_CXXFLAGS_set=${CXXFLAGS+set} ac_cv_env_CXXFLAGS_value=$CXXFLAGS 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 ac_env_CXXCPP_set=${CXXCPP+set} ac_env_CXXCPP_value=$CXXCPP ac_cv_env_CXXCPP_set=${CXXCPP+set} ac_cv_env_CXXCPP_value=$CXXCPP # # 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 cadence_module_config version-0.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 cadence_module_config version-0.1:";; esac cat <<\_ACEOF Some influential environment variables: CXX C++ compiler command CXXFLAGS C++ compiler flags LDFLAGS linker flags, e.g. -L if you have libraries in a nonstandard directory CPPFLAGS C/C++ preprocessor flags, e.g. -I if you have headers in a nonstandard directory CXXCPP C++ preprocessor Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. _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 cadence_module_config configure version-0.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 cadence_module_config $as_me version-0.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 # make it easier to get going in DCS # unfortunately I can't find the headers in empublic # CPPFLAGS="${CPPFLAGS} -I/dcs/emp/empublic/include" LDFLAGS="${LDFLAGS} -L/dcs/emp/empublic/lib" # # check for C++ # { echo "$as_me:$LINENO: Testing for C++" >&5 echo "$as_me: Testing for C++" >&6;} ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu if test -n "$ac_tool_prefix"; then for ac_prog in $CCC g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r 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_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CXX"; then ac_cv_prog_CXX="$CXX" # 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_CXX="$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 CXX=$ac_cv_prog_CXX if test -n "$CXX"; then echo "$as_me:$LINENO: result: $CXX" >&5 echo "${ECHO_T}$CXX" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$CXX" && break done fi if test -z "$CXX"; then ac_ct_CXX=$CXX for ac_prog in $CCC g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r 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_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CXX"; then ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # 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_CXX="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done fi fi ac_ct_CXX=$ac_cv_prog_ac_ct_CXX if test -n "$ac_ct_CXX"; then echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 echo "${ECHO_T}$ac_ct_CXX" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$ac_ct_CXX" && break done test -n "$ac_ct_CXX" || ac_ct_CXX="g++" CXX=$ac_ct_CXX fi # 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 &5\"") >&5 (eval $ac_compiler --version &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 (eval $ac_compiler -v &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 (eval $ac_compiler -V &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_cxx_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_cxx_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_cxx_compiler_gnu=$ac_compiler_gnu fi echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6 GXX=`test $ac_compiler_gnu = yes && echo yes` ac_test_CXXFLAGS=${CXXFLAGS+set} ac_save_CXXFLAGS=$CXXFLAGS CXXFLAGS="-g" echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6 if test "${ac_cv_prog_cxx_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_cxx_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_cxx_g=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_prog_cxx_g=no fi rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6 if test "$ac_test_CXXFLAGS" = set; then CXXFLAGS=$ac_save_CXXFLAGS elif test $ac_cv_prog_cxx_g = yes; then if test "$GXX" = yes; then CXXFLAGS="-g -O2" else CXXFLAGS="-g" fi else if test "$GXX" = yes; then CXXFLAGS="-O2" else CXXFLAGS= fi fi 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 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_cxx_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_cxx_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 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=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5 echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6 if test -z "$CXXCPP"; then if test "${ac_cv_prog_CXXCPP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # Double quotes because CXXCPP needs to be expanded for CXXCPP in "$CXX -E" "/lib/cpp" do ac_preproc_ok=false for ac_cxx_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 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); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_cxx_preproc_warn_flag ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Broken: fails on valid input. continue fi rm -f conftest.err conftest.$ac_ext # OK, works on sane cases. Now check whether non-existent headers # can be detected and how. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 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); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_cxx_preproc_warn_flag ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then # Broken: success on invalid input. continue else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.err conftest.$ac_ext if $ac_preproc_ok; then break fi done ac_cv_prog_CXXCPP=$CXXCPP fi CXXCPP=$ac_cv_prog_CXXCPP else ac_cv_prog_CXXCPP=$CXXCPP fi echo "$as_me:$LINENO: result: $CXXCPP" >&5 echo "${ECHO_T}$CXXCPP" >&6 ac_preproc_ok=false for ac_cxx_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 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); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_cxx_preproc_warn_flag ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Broken: fails on valid input. continue fi rm -f conftest.err conftest.$ac_ext # OK, works on sane cases. Now check whether non-existent headers # can be detected and how. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 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); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_cxx_preproc_warn_flag ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then # Broken: success on invalid input. continue else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else { { echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check See \`config.log' for more details." >&5 echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi ac_ext=cc ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu echo "$as_me:$LINENO: checking for egrep" >&5 echo $ECHO_N "checking for egrep... $ECHO_C" >&6 if test "${ac_cv_prog_egrep+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if echo a | (grep -E '(a|b)') >/dev/null 2>&1 then ac_cv_prog_egrep='grep -E' else ac_cv_prog_egrep='egrep' fi fi echo "$as_me:$LINENO: result: $ac_cv_prog_egrep" >&5 echo "${ECHO_T}$ac_cv_prog_egrep" >&6 EGREP=$ac_cv_prog_egrep echo "$as_me:$LINENO: checking for ANSI C header files" >&5 echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6 if test "${ac_cv_header_stdc+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. */ #include #include #include #include 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_cxx_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_header_stdc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_header_stdc=no fi rm -f conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "memchr" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "free" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. if test "$cross_compiling" = yes; then : else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #if ((' ' & 0x0FF) == 0x020) # define ISLOWER(c) ('a' <= (c) && (c) <= 'z') # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) #else # define ISLOWER(c) \ (('a' <= (c) && (c) <= 'i') \ || ('j' <= (c) && (c) <= 'r') \ || ('s' <= (c) && (c) <= 'z')) # define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) #endif #define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) int main () { int i; for (i = 0; i < 256; i++) if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2); exit (0); } _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 : 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_header_stdc=no fi rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi fi echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 echo "${ECHO_T}$ac_cv_header_stdc" >&6 if test $ac_cv_header_stdc = yes; then cat >>confdefs.h <<\_ACEOF #define STDC_HEADERS 1 _ACEOF fi # On IRIX 5.3, sys/types and inttypes.h are conflicting. for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ inttypes.h stdint.h unistd.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 if eval "test \"\${$as_ac_Header+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. */ $ac_includes_default #include <$ac_header> _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_cxx_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 eval "$as_ac_Header=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_Header=no" fi rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done if test "${ac_cv_header_iostream+set}" = set; then echo "$as_me:$LINENO: checking for iostream" >&5 echo $ECHO_N "checking for iostream... $ECHO_C" >&6 if test "${ac_cv_header_iostream+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi echo "$as_me:$LINENO: result: $ac_cv_header_iostream" >&5 echo "${ECHO_T}$ac_cv_header_iostream" >&6 else # Is the header compilable? echo "$as_me:$LINENO: checking iostream usability" >&5 echo $ECHO_N "checking iostream usability... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include _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_cxx_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_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f conftest.err conftest.$ac_objext conftest.$ac_ext echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6 # Is the header present? echo "$as_me:$LINENO: checking iostream presence" >&5 echo $ECHO_N "checking iostream presence... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 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); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_cxx_preproc_warn_flag ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6 # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: iostream: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: iostream: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: iostream: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: iostream: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: iostream: present but cannot be compiled" >&5 echo "$as_me: WARNING: iostream: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: iostream: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: iostream: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: iostream: see the Autoconf documentation" >&5 echo "$as_me: WARNING: iostream: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: iostream: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: iostream: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: iostream: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: iostream: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: iostream: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: iostream: in the future, the compiler will take precedence" >&2;} ( cat <<\_ASBOX ## ------------------------------------------------ ## ## Report this to the cadence_module_config lists. ## ## ------------------------------------------------ ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac echo "$as_me:$LINENO: checking for iostream" >&5 echo $ECHO_N "checking for iostream... $ECHO_C" >&6 if test "${ac_cv_header_iostream+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_header_iostream=$ac_header_preproc fi echo "$as_me:$LINENO: result: $ac_cv_header_iostream" >&5 echo "${ECHO_T}$ac_cv_header_iostream" >&6 fi # # check for cadence libs and headers # { echo "$as_me:$LINENO: Testing for cadence" >&5 echo "$as_me: Testing for cadence" >&6;} if test "${ac_cv_header_cadence_cadence_h+set}" = set; then echo "$as_me:$LINENO: checking for cadence/cadence.h" >&5 echo $ECHO_N "checking for cadence/cadence.h... $ECHO_C" >&6 if test "${ac_cv_header_cadence_cadence_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi echo "$as_me:$LINENO: result: $ac_cv_header_cadence_cadence_h" >&5 echo "${ECHO_T}$ac_cv_header_cadence_cadence_h" >&6 else # Is the header compilable? echo "$as_me:$LINENO: checking cadence/cadence.h usability" >&5 echo $ECHO_N "checking cadence/cadence.h usability... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include _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_cxx_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_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f conftest.err conftest.$ac_objext conftest.$ac_ext echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6 # Is the header present? echo "$as_me:$LINENO: checking cadence/cadence.h presence" >&5 echo $ECHO_N "checking cadence/cadence.h presence... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 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); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_cxx_preproc_warn_flag ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6 # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: cadence/cadence.h: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: cadence/cadence.h: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: cadence/cadence.h: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: cadence/cadence.h: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: cadence/cadence.h: present but cannot be compiled" >&5 echo "$as_me: WARNING: cadence/cadence.h: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: cadence/cadence.h: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: cadence/cadence.h: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: cadence/cadence.h: see the Autoconf documentation" >&5 echo "$as_me: WARNING: cadence/cadence.h: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: cadence/cadence.h: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: cadence/cadence.h: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: cadence/cadence.h: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: cadence/cadence.h: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: cadence/cadence.h: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: cadence/cadence.h: in the future, the compiler will take precedence" >&2;} ( cat <<\_ASBOX ## ------------------------------------------------ ## ## Report this to the cadence_module_config lists. ## ## ------------------------------------------------ ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac echo "$as_me:$LINENO: checking for cadence/cadence.h" >&5 echo $ECHO_N "checking for cadence/cadence.h... $ECHO_C" >&6 if test "${ac_cv_header_cadence_cadence_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_header_cadence_cadence_h=$ac_header_preproc fi echo "$as_me:$LINENO: result: $ac_cv_header_cadence_cadence_h" >&5 echo "${ECHO_T}$ac_cv_header_cadence_cadence_h" >&6 fi if test "$ac_cv_header_cadence_cadence_h" == no then { { echo "$as_me:$LINENO: error: could not find cadence development headers, try either: 1 setting the CPPFLAGS environment variable to something like \"-I /home/youruser/cadence/include\" 2 installing the libcadence headers to somewhere like /usr/local/include" >&5 echo "$as_me: error: could not find cadence development headers, try either: 1 setting the CPPFLAGS environment variable to something like \"-I /home/youruser/cadence/include\" 2 installing the libcadence headers to somewhere like /usr/local/include" >&2;} { (exit 1); exit 1; }; } fi echo "$as_me:$LINENO: checking for cadence_check in -lcadence" >&5 echo $ECHO_N "checking for cadence_check in -lcadence... $ECHO_C" >&6 if test "${ac_cv_lib_cadence_cadence_check+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lcadence $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char cadence_check (); int main () { cadence_check (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 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_cxx_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_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_lib_cadence_cadence_check=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_cadence_cadence_check=no fi rm -f conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_cadence_cadence_check" >&5 echo "${ECHO_T}$ac_cv_lib_cadence_cadence_check" >&6 if test $ac_cv_lib_cadence_cadence_check = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_LIBCADENCE 1 _ACEOF LIBS="-lcadence $LIBS" fi if test "$ac_cv_lib_cadence_cadence_check" == no then { { echo "$as_me:$LINENO: error: could not link against libcadence, try either: 1 setting the LDFLAGS environment variable to something like \"-L /home/youruser/cadence/lib\" 2 installing libcadence to somewhere like /usr/local/lib" >&5 echo "$as_me: error: could not link against libcadence, try either: 1 setting the LDFLAGS environment variable to something like \"-L /home/youruser/cadence/lib\" 2 installing libcadence to somewhere like /usr/local/lib" >&2;} { (exit 1); exit 1; }; } fi # # check for math # { echo "$as_me:$LINENO: Testing for math" >&5 echo "$as_me: Testing for math" >&6;} echo "$as_me:$LINENO: checking for pow in -lm" >&5 echo $ECHO_N "checking for pow in -lm... $ECHO_C" >&6 if test "${ac_cv_lib_m_pow+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lm $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char pow (); int main () { pow (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 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_cxx_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_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_lib_m_pow=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_m_pow=no fi rm -f conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_m_pow" >&5 echo "${ECHO_T}$ac_cv_lib_m_pow" >&6 if test $ac_cv_lib_m_pow = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_LIBM 1 _ACEOF LIBS="-lm $LIBS" fi # # check arch, setup various flags # CXXFLAGS="$CXXFLAGS -Wall -Wextra -DLINUX -O2" if test "$target_cpu" == "x86_64"; then CXXFLAGS="$CXXFLAGS -DX86_64" else CXXFLAGS="$CXXFLAGS -march=pentium3 -mfpmath=sse" fi # # generate makefiles # ac_config_files="$ac_config_files Makefile" 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 cadence_module_config $as_me version-0.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 ." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF ac_cs_version="\\ cadence_module_config config.status version-0.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" ;; *) { { 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,@SHELL@,$SHELL,;t t s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t s,@exec_prefix@,$exec_prefix,;t t s,@prefix@,$prefix,;t t s,@program_transform_name@,$program_transform_name,;t t s,@bindir@,$bindir,;t t s,@sbindir@,$sbindir,;t t s,@libexecdir@,$libexecdir,;t t s,@datadir@,$datadir,;t t s,@sysconfdir@,$sysconfdir,;t t s,@sharedstatedir@,$sharedstatedir,;t t s,@localstatedir@,$localstatedir,;t t s,@libdir@,$libdir,;t t s,@includedir@,$includedir,;t t s,@oldincludedir@,$oldincludedir,;t t s,@infodir@,$infodir,;t t s,@mandir@,$mandir,;t t s,@build_alias@,$build_alias,;t t s,@host_alias@,$host_alias,;t t s,@target_alias@,$target_alias,;t t s,@DEFS@,$DEFS,;t t s,@ECHO_C@,$ECHO_C,;t t s,@ECHO_N@,$ECHO_N,;t t s,@ECHO_T@,$ECHO_T,;t t s,@LIBS@,$LIBS,;t t s,@CXX@,$CXX,;t t s,@CXXFLAGS@,$CXXFLAGS,;t t s,@LDFLAGS@,$LDFLAGS,;t t s,@CPPFLAGS@,$CPPFLAGS,;t t s,@ac_ct_CXX@,$ac_ct_CXX,;t t s,@EXEEXT@,$EXEEXT,;t t s,@OBJEXT@,$OBJEXT,;t t s,@CXXCPP@,$CXXCPP,;t t s,@EGREP@,$EGREP,;t t s,@LIBOBJS@,$LIBOBJS,;t t s,@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,@configure_input@,$configure_input,;t t s,@srcdir@,$ac_srcdir,;t t s,@abs_srcdir@,$ac_abs_srcdir,;t t s,@top_srcdir@,$ac_top_srcdir,;t t s,@abs_top_srcdir@,$ac_abs_top_srcdir,;t t s,@builddir@,$ac_builddir,;t t s,@abs_builddir@,$ac_abs_builddir,;t t s,@top_builddir@,$ac_top_builddir,;t t s,@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 echo echo "Everything configured: you may now build the module using the command 'make'" coursework/ui.dasm0000644010163400004550000003335611521654252014411 0ustar csuhcbdcsugrad@window title = "Dangerfield's Dive Model"; @screen = (@widgets root children); @screen sea = (new union (@prototypes image) filename="images/sea.png" x = 0 y = 0 height = 600 width = 800 children = (new) ); @screen diver = (new union (@prototypes image) filename="images/diver.png" x = 100 y := {30 + (@root depth * (8))} visible := { if(@root depth == (@root targetdepth)) { true } else { false } } width = 47 height = 14 ); @screen diverAscend = (new union (@prototypes image) filename="images/diverAscend.png" x = 100 y := {30 + (@root depth * (8))} visible := { if(@root depth > (@root targetdepth)) { true } else { false } } width = 14 height = 47 ); @screen diverDescend = (new union (@prototypes image) filename="images/diverDescend.png" x = 100 y := {7 + (@root depth * (8))} visible := { if(@root depth < (@root targetdepth)) { true } else { false } } width = 14 height = 47 ); @screen target = (new union (@prototypes image) filename="images/target.png" x = 100 y := {30 + (@root targetdepth * (8))} visible := { if(@root depth == (@root targetdepth)) { false } else { true } } width = 11 height = 11 ); @tints = (new normal = (new r = 0 g = 0.54 b = 0.93) error = (new r = 1 g = 0 b = 0) warn = (new r = 1 g = 0.78 b = 0) ); @sprite = (new basic = (new union (@prototypes sprite) filename = "images/sprite.png" columns = 2 ) ); @templates = (new); @templates %deep label = (new union (@prototypes label) tint := {@tints normal} frame = 1 sprite := {@sprite basic} ); @templates %deep valueIndicatorSmall = (new union (@prototypes widget) width = 140 height = 20 %deep children = (new %deep label = (new union (@templates label) x = 10 y = 2 width = 50 ) %deep value = (new union (@templates label) x := {..label x + (..label width)} y = 2 ) ) tint := {@tints normal} sprite := {@sprite basic} ); @templates %deep indicatorGroup = (new union (@prototypes widget) width = 250 items = 1 height := {40 + (.items * (20))} %deep children = (new %deep label = (new union (@templates label) x = 10 y = 4 width := {...width - (20)} ) ) tint := {@tints normal} sprite := {@sprite basic} ); @templates %deep indicatorGroupItem = (new union (@prototypes widget) width = 200 height = 20 x = 10 y = 25 %deep children = (new %deep label = (new union (@templates label) x = 5 y = 2 width = 100 ) %deep value = (new union (@templates label) x := {..label x + (..label width)} y = 2 ) ) tint := {@tints normal} sprite := {@sprite basic} ); @templates %deep depthlabel = (new union (@templates label) x = 30 depth = 0 y := {30 + (.depth * (8))} caption := {.depth} ); @templates %deep compartment = (new union (@templates indicatorGroupItem)); @templates compartment children value caption := {...pointer gases nitrogen pp}; @templates %deep ceiling = (new union (@templates indicatorGroupItem)); @templates ceiling tint := { if(.pointer ceiling actualDepth > (@root depth)) { @tints error } else if(..pointer ceiling depth > (@root depth)) {@tints warn} else { @tints normal } }; @templates ceiling children value caption := {...pointer ceiling depth}; # Basic Dive Gauge @screen depthgauge = (new union (@templates valueIndicatorSmall) x = 250 y = 100 ); @screen depthgauge children label caption = "Depth:"; @screen depthgauge children value caption := {@root depth}; @screen maxdepth = (new union (@templates valueIndicatorSmall) x := {@screen depthgauge x} y := {@screen depthgauge y + (@screen depthgauge height) + (10)} ); @screen maxdepth children label caption = "Max:"; @screen maxdepth children value caption := {@root maxdepth}; @screen timer = (new union (@templates valueIndicatorSmall) x := {@screen depthgauge x} y := {@screen maxdepth y + (@screen maxdepth height) + (10)} ); @screen timer children label caption = "Time:"; @screen timer children value caption := {@root modeltimeminutes}; # Game Speed @screen speed = (new union (@templates valueIndicatorSmall) x := {@screen depthgauge x} y := {@screen timer y + (@screen timer height) + (10)} ); @screen speed children label caption = "Speed: x"; @screen speed children value caption := {@root xspeed}; @screen speed children value x := {..label x + (..label width) + (12)}; # Mix Percentages @screen mix = (new union (@templates indicatorGroup) x := {@screen depthgauge x} y := {@screen speed y + (@screen timer height) + (10)} items = 1 ); @screen mix children label caption = "Gas Mix (%)"; @screen mix children oxygen = (new union (@templates indicatorGroupItem)); @screen mix children oxygen children label caption = "Oxygen"; @screen mix children oxygen children value caption := {@root gases oxygen mix * (100)}; # Nitrogen is ignored in mix specs. # Breating Gas Pressures @screen breathingpp = (new union (@templates indicatorGroup) x := {@screen depthgauge x} y := {@screen mix y + (@screen mix height) + (10)} items = 2 ); @screen breathingpp children label caption = "Partial Pressures of Supplied Gas (BAR)"; @screen breathingpp children oxygen = (new union (@templates indicatorGroupItem)); @screen breathingpp children oxygen children label caption = "Oxygen"; @screen breathingpp children oxygen children value caption := {@root gases oxygen pp}; # Oxygen becomes increasingly dangerous ("Oxygen toxicity") over a partial pressure of 1.4+ bar. Indicate so: @screen breathingpp children oxygen tint := { if(@root gases oxygen pp > (2.0)) {@tints error} else if(@root gases oxygen pp > (1.4)) {@tints warn} else {@tints normal}}; @screen breathingpp children nitrogen = (new union (@templates indicatorGroupItem) y := {..oxygen y + (..oxygen height)} ); @screen breathingpp children nitrogen children label caption = "Nitrogen"; @screen breathingpp children nitrogen children value caption := {@root gases nitrogen pp}; # Nitrogen narcosis gets increasing dangerous at pressures over 4 bar. @screen breathingpp children nitrogen tint := { if(@root gases nitrogen pp > (5.0)) {@tints error} else if(@root gases nitrogen pp > (4.0)) {@tints warn} else {@tints normal}}; # Tissue States @screen compartments = (new union (@templates indicatorGroup) x = 520 y = 100 items = 9 ); @screen compartments children label caption = "Tissue Pressures for Nitrogen (BAR)"; @screen compartments children 0 = (new union (@templates compartment) pointer := {@root compartments 0} ); @screen compartments children 0 children label caption = "Compartment 1:"; @screen compartments children 1 = (new union (@templates compartment) y := {..0 y + (..0 height)} pointer := {@root compartments 1} ); @screen compartments children 1 children label caption = "Compartment 2:"; @screen compartments children 2 = (new union (@templates compartment) y := {..1 y + (..1 height)} pointer := {@root compartments 2} ); @screen compartments children 2 children label caption = "Compartment 3:"; @screen compartments children 3 = (new union (@templates compartment) y := {..2 y + (..2 height)} pointer := {@root compartments 3} ); @screen compartments children 3 children label caption = "Compartment 4:"; @screen compartments children 4 = (new union (@templates compartment) y := {..3 y + (..3 height)} pointer := {@root compartments 4} ); @screen compartments children 4 children label caption = "Compartment 5:"; @screen compartments children 5 = (new union (@templates compartment) y := {..4 y + (..4 height)} pointer := {@root compartments 5} ); @screen compartments children 5 children label caption = "Compartment 6:"; @screen compartments children 6 = (new union (@templates compartment) y := {..5 y + (..5 height)} pointer := {@root compartments 6} ); @screen compartments children 6 children label caption = "Compartment 7:"; @screen compartments children 7 = (new union (@templates compartment) y := {..6 y + (..6 height)} pointer := {@root compartments 7} ); @screen compartments children 7 children label caption = "Compartment 8:"; @screen compartments children 8 = (new union (@templates compartment) y := {..7 y + (..7 height)} pointer := {@root compartments 8} ); @screen compartments children 8 children label caption = "Compartment 9:"; # Depth Labels @screen sea children metres00 = (new union (@templates depthlabel) depth = 0); @screen sea children metres10 = (new union (@templates depthlabel) depth = 10); @screen sea children metres20 = (new union (@templates depthlabel) depth = 20); @screen sea children metres30 = (new union (@templates depthlabel) depth = 30); @screen sea children metres40 = (new union (@templates depthlabel) depth = 40); @screen sea children metres50 = (new union (@templates depthlabel) depth = 50); @screen sea children metres60 = (new union (@templates depthlabel) depth = 60); # Keyboard interaction # UP & DOWN controls depth # LEFT & RIGHT controls game speed # NUMBERS switch between gas mixes # The following is intended to reduce the key press rate, so the targetdepth is somewhat easier to control # [NOTE] For some unknown-to-the-author reason, keyboard presses appear to come in 2s, thus targetdepth jumps in 2m. @keyboardtimings = (new up = 0 down = 0 right = 0 left = 0); @keyboardclicks = (new up = false down = false right = 0 left = 0); @keyboardtimings up := { if(@keyboardclicks up == true) { @root time } else { @keyboardtimings up }} ; @keyboardtimings down := { if(@keyboardclicks down == true) { @root time } else { @keyboardtimings right }} ; @keyboardtimings right := { if(@keyboardclicks right == true) { @root time } else { @keyboardtimings right }} ; @keyboardtimings left := { if(@keyboardclicks left == true) { @root time } else { @keyboardtimings left }} ; @keyboardclicks up := { if(@keyboard keys up == true and (@root time - (@keyboardtimings up) > 0.2)) { true } else { false } }; @keyboardclicks down := { if(@keyboard keys down == true and (@root time - (@keyboardtimings down) > 0.2)) { true } else { false } }; @keyboardclicks right := { if(@keyboard keys right == true and (@root time - (@keyboardtimings right) > 0.2)) { true } else { false } }; @keyboardclicks left := { if(@keyboard keys left == true and (@root time - (@keyboardtimings left) > 0.2)) { true } else { false } }; @keyboard lastnumber := { if(@keyboard keys '1' == true) {1} else if (@keyboard keys '2' == true) {2} else if (@keyboard keys '3' == true) {3} else {@keyboard lastnumber} }; @root gases oxygen mix := { if(@keyboard lastnumber == 2) {0.32} else if (@keyboard lastnumber == 3) {0.36} else {0.21} }; # [NOTE] When cadence can do Math.max & Math.min, we can add boundaries for the targetdepth nicely @root targetdepth := { if(@keyboardclicks down == true) { if(@root targetdepth + 1 >= 60) { 60 } else { @root targetdepth + 1 } } else if(@keyboardclicks up == true) { if(@root targetdepth - 1 <= 0) { 0 } else { @root targetdepth - 1 } } else { @root targetdepth } }; @root xspeed := { if(@keyboardclicks left == true) { if(@root xspeed - 1 <= 1) { 1 } else { @root xspeed - 1 } } else if(@keyboardclicks right == true) { @root xspeed + 1 } else { @root xspeed } }; # Ceiling outputs @screen ceilings = (new union (@templates indicatorGroup) x := {@screen compartments x} y := {@screen compartments y + (@screen compartments height) + (10)} items = 9 ); @screen ceilings children label caption = "Tissue Ceilings (METRES DEPTH)"; @screen ceilings children 0 = (new union (@templates ceiling) pointer := {@root compartments 0} ); @screen ceilings children 0 children label caption = "Compartment 1:"; @screen ceilings children 1 = (new union (@templates ceiling) y := {..0 y + (..0 height)} pointer := {@root compartments 1} ); @screen ceilings children 1 children label caption = "Compartment 2:"; @screen ceilings children 2 = (new union (@templates ceiling) y := {..1 y + (..1 height)} pointer := {@root compartments 2} ); @screen ceilings children 2 children label caption = "Compartment 3:"; @screen ceilings children 3 = (new union (@templates ceiling) y := {..2 y + (..2 height)} pointer := {@root compartments 3} ); @screen ceilings children 3 children label caption = "Compartment 4:"; @screen ceilings children 4 = (new union (@templates ceiling) y := {..3 y + (..3 height)} pointer := {@root compartments 4} ); @screen ceilings children 4 children label caption = "Compartment 5:"; @screen ceilings children 5 = (new union (@templates ceiling) y := {..4 y + (..4 height)} pointer := {@root compartments 5} ); @screen ceilings children 5 children label caption = "Compartment 6:"; @screen ceilings children 6 = (new union (@templates ceiling) y := {..5 y + (..5 height)} pointer := {@root compartments 6} ); @screen ceilings children 6 children label caption = "Compartment 7:"; @screen ceilings children 7 = (new union (@templates ceiling) y := {..6 y + (..6 height)} pointer := {@root compartments 7} ); @screen ceilings children 7 children label caption = "Compartment 8:"; @screen ceilings children 8 = (new union (@templates ceiling) y := {..7 y + (..7 height)} pointer := {@root compartments 8} ); @screen ceilings children 8 children label caption = "Compartment 9:"; coursework/diver.dasm0000644010163400004550000001500511521654252015074 0ustar csuhcbdcsugrad# HEALTH WARNINGS # * Do not use this script to plan your diving. Always use a dive computer. # * Reading this script may cause you confusion if you don't understand union & %deep .xspeed = 4; .xspeed := {4}; .modelitime := { .itime * ( .xspeed ) }; .modeltime = 0; .modeltime := { .modeltime + (.modelitime) }; .modeltimeminutes := {.modeltime / (60)}; # Depth target in water .targetdepth = 0.0; .targetdepth := {0.0}; # 12 metres/minute ascent rate .ascentrate = 0.2; # 30metres/minute descent rate .descentrate = 0.5; # Depth changes as by the ascent/descent rate, to the target depth .depth = 0.0; .depth := { # [NOTE] Dot notation appears to be inconsistent in this revision of Cadence if (.targetdepth - (.modelitime) < (.depth) and (.targetdepth + (.modelitime) > (.depth))) { ..targetdepth } else { if (..depth < (..targetdepth)) { ..depth + (..descentrate * (..modelitime)) } else { ..depth - (..ascentrate * (..modelitime)) } } }; # Pressure on body in BAR, as a multiple of the pressure at sea level .atmospheres := {.depth/10 + 1.0}; # Keep a record of maximum depth .maxdepth = 0; .maxdepth := { if(.depth > (.maxdepth)) { ..depth } else { ..maxdepth } }; # A diver will breath a gas mix, comprised of many component gases. # The scuba kit will supply a different pressure of the gas mix at different depths # The partial pressures of each component gas are calculated .gases = (new %deep abstract = (new mix = 0 pp is {.mix * (@root atmospheres)} ) ); # These mix percentages are common to most air on Earth # Gas mix should be identical to air on model initialisation .gases oxygen = (new union (.gases abstract)); .gases oxygen mix = 0.2095; # Changing the percentage of oxygen in the gas results in less Nitrogen # Divers call these 'Rich mixes', and result in faster decompression rates .gases nitrogen = (new union (.gases abstract)); .gases nitrogen mix is {1 - (@root gases oxygen mix)}; # Model design allows other gas mixes to be added fairly easily. # Advanced divers may use Helium, Hydrogen or even Neon. # The majority of all diving is however, made on Nitrox (oxygen & nitrogen) # Contents of the human body are grouped into i compartments # Fast tissue live in .compartments 0 # Slow bits, like bone marrow are in the ith compartment. # The size of i, and their individual half times has changed between research over time. # The size of i can be changed in this model .compartments = (new %deep abstract = (new #Each compartment has a different half time, in minutes %deep halfLife = (new minutes = 1 seconds := {.minutes * 60} ) #Each compartment is saturated by a number of gases %deep gases = (new abstract = (new supplied = 1 pp = 1 ) ) a = 0 b = 0 ) ); # Breathing gas mix component's partial pressure pointers intialised .compartments abstract gases %deep oxygen = (new union (.compartments abstract gases abstract)); .compartments abstract gases %deep nitrogen = (new union (.compartments abstract gases abstract)); .compartments abstract gases oxygen supplied := {@root gases oxygen}; .compartments abstract gases nitrogen supplied := {@root gases nitrogen}; # Partial pressures in each tissue are initialised to air .compartments abstract gases oxygen pp := {.supplied pp}; .compartments abstract gases nitrogen pp := {.supplied pp}; # o2 Toxicity Calculations # Oxygen is special. Too high a PP (1.4+), and body could react (dangerously) AT ANY TIME .compartments abstract gases oxygen pp := {.supplied pp}; # Nitrogen Decompression model # Nitrogen is more complex. It follows a gradient of absorbition and release # Too high a PP, and diver gets Nitrogen Narcosis # [NOTE] Cadence IDE does not display the accuracy required for some variables. pp however, calculates correctly. .compartments abstract gases nitrogen Po := {.pp}; .compartments abstract gases nitrogen Pi := {.supplied pp}; .compartments abstract gases nitrogen PiMinusPo := {.Pi - (.Po)}; .compartments abstract gases nitrogen t := {@root modelitime}; .compartments abstract gases nitrogen halfTime := {...halfLife seconds}; .compartments abstract gases nitrogen TimeOverHalfLife := {.t / (.halfTime)}; .compartments abstract gases nitrogen NegativeTimeOverHalfLife := {0 - (.TimeOverHalfLife)}; .compartments abstract gases nitrogen TwoPowerNegativeTimeOverHalfLife := {@ffi pow 2 (.NegativeTimeOverHalfLife)}; .compartments abstract gases nitrogen HalfLifeChange := {1 - (.TwoPowerNegativeTimeOverHalfLife)}; .compartments abstract gases nitrogen Pchange := {.PiMinusPo * (.HalfLifeChange) }; .compartments abstract gases nitrogen pp := { .Po + (.Pchange) }; # Every tissue has a ceiling (ie, a minimum depth to perform a decompression stop) # Not required for oxygen, but for other gases it is required. # Don't want to stop the diver on the limit, but a few metres below it # Negative ceilings are also bad. # [NOTE] Rounding functionality in Cadence would be useful here .compartments abstract %deep ceiling = (new actualBar := {..b * (..gases nitrogen pp - (..a))} actualDepth := {10 * (.actualBar - (1))} depth :={ if(.actualDepth > (0)) { ..actualDepth + (3) } else {0} } ); # Different compartments, and their different half times .compartments 0 = (new union (.compartments abstract)); .compartments 0 halfLife minutes = 4; .compartments 0 a = 1.2599; .compartments 0 b = 0.5050; .compartments 1 = (new union (.compartments abstract)); .compartments 1 halfLife minutes = 5; .compartments 1 a = 1.0000; .compartments 1 b = 0.6514; .compartments 2 = (new union (.compartments abstract)); .compartments 2 halfLife minutes = 8; .compartments 2 a = 0.8618; .compartments 2 b = 0.7222; .compartments 3 = (new union (.compartments abstract)); .compartments 3 halfLife minutes = 12.5; .compartments 3 a = 0.7562; .compartments 3 b = 0.7725; .compartments 4 = (new union (.compartments abstract)); .compartments 4 halfLife minutes = 18.5; .compartments 4 a = 0.6200; .compartments 4 b = 0.8125; .compartments 5 = (new union (.compartments abstract)); .compartments 5 halfLife minutes = 27; .compartments 5 a = 0.5043; .compartments 5 b = 0.8434; .compartments 6 = (new union (.compartments abstract)); .compartments 6 halfLife minutes = 38.3; .compartments 6 a = 0.4410; .compartments 6 b = 0.8693; .compartments 7 = (new union (.compartments abstract)); .compartments 7 halfLife minutes = 54.3; .compartments 7 a = 0.4000; .compartments 7 b = 0.8910; .compartments 8 = (new union (.compartments abstract)); .compartments 8 halfLife minutes = 77.0; .compartments 8 a = 0.3750; .compartments 8 b = 0.9092; coursework/ffi.dasm0000644010163400004550000000023511521654253014527 0ustar csuhcbdcsugradthis modules ffi = (new type=Module file = (new type=LocalFile filename = "libcadence_ffi.so" ) base = (this) update = false ); @ffi = (.ffi);coursework/images/0000755010163400004550000000000011521364575014367 5ustar csuhcbdcsugradcoursework/images/diverDescend.png0000600010163400004550000000446511521654253017470 0ustar csuhcbdcsugradPNG  IHDR/ӸBsBIT|d pHYs  ~tEXtCreation Time01/28/11i–tEXtXML:com.adobe.xmp Adobe Fireworks CS3 2011-01-28T13:16:05Z 2011-01-28T13:26:34Z image/png YLtEXtSoftwareAdobe FireworksONtIDATHMh]U3s}%m,6UUED(HӅ t[QQPm,؅XA7ij^rƅ=n_n.w̙*fffoٲezZ>ᔪbUŮ]:7EeYo26WWWADNӴDd 23TuR `;w|)"_dYfi:!j_i:!DZOD0 gEd.˲MRU" fKƘ6R1(}fF 3\۶-݈"N792׫iQ.P۶TEDI β6%Q=j>FDa +ΥSUÕ(Z%-\~VTՋ0}K1w~kPݮ棳| BoY 5JP۷rG=۶?}-s^̙3 yۭm,.I&&&NkXe.o,0Wy =3EQ-]n_0Ɯ}ȵZeYR;w0|f挙oƘ罧b=nڴ$I_U]/Mӽ+++;{0<GGPMmyuZbeY*" S2Ƽ "ȵ c^6ܤޞ+ZѰTx>vjCU#rIENDB`coursework/images/target.png0000600010163400004550000014160411521654254016355 0ustar csuhcbdcsugradPNG  IHDR w&sBIT|d pHYs  ~tEXtCreation Time01/28/11i–tEXtSoftwareAdobe FireworksONuprVWxr'2ԤZ*ͨuӍwF4]YF@y}wt%Ʉ2gֻlRN,WeQؔN2@&]ۖdOߚ5Y,]˜M`wݬYi}YZa &Nb3O+̈́L./ٶH}q%,??.w~ll)#govaYIN02BߨˉWeV[X-ױ/{mrtx&5qm<>A~Oy@HZyPك@蹆(Ku#ޤ-~$kֱA0Q:$ #0fʨn*e :ګ#"x܀=)_qMd7*Ll;/#NTTI0ص߮wmn66:y)F]6Q|/gCd[sS|9|1"-Inǘ q03U.k7O~*aRo0UMLwet/Vsl~($!×"E07ɟ|~W?_lڇ]wŮ/!nâ f`vX W:E[a{i=2|DƆ4/r+Ca݄@ֈS:CͧJ. ? e2[(WfijfGR=}PR?r e_3 DuŪW.C߀߷B586ړ]<le37*ne}SF|yw[ncŦ":a#>ĞhӮ,PF9Q2/4?mR9M??=myO[q^{:ʰ،5-P` #r*jZ% "e*n% M??Gts|{J ¨FXxԅf\wrߍH#67϶ }=p=nâ=v+E7'=3?; cb  ]GBZӑm#}\Ѱ+>>/W2~',=Ykt{~[@[f"6 lxs ▪+LZ@->|й Z|n ^% D#M{X}<`[c;\o"9OFOu ?<4GL?Z-̑75n-vU4qDPԛ(s%Kw㞣\=bbmq?N) `lV4x>Ĉ@K M:J0]֯OAi^;SU`ͱ,.TQncogO_/Ϳpaor?|i߾k߾p~oo~7~K<\?/|_{ }_ﯭ߽7:%}~mٟKs}}u? R[MxHmkBF)3=mkTSx}sF>.Ǒ,fk}QU;&^eKr ⷕe%Y_w ^H$v=$ ~;gūNxm]?n:uw5mMiA:|Cj/pƻYs2&w5fvu=Yߥ.T`cntREߺ}*A踳րUX䈵NJ1JuNtN,*pЄdŬ2Q!mi;pA9>C613n*̞p .I.66f&R92Kc !g<Ǜpy;Ԝ!>r}A@g& MCsXMIД4m\$]WkIH吶Z}tqKç/pljX\v;,kYmp!~XݖJ`gsPvyNc G6A3htΠ4z - TP |\D hnh|Cd !!d3l6Cf|4]e0/d_/I%Qi49(o,CYj\LY Mf`~ r@ှ/S06 džͨ 6KSk.6ʞCJx%=|}hq < 6"P.̋6TC52 ;XƸ4v( r%z{aT٪w)v@H--FAZ,-@8|%ZUʺ[UC C]Z'Foɇa6}A. B0q'b͂ 2'К׫|̄F@%C[#(V6/^Yc{ٸ) %|)d+h]` (I~qD|!1WN|资/'>KC\AV{vR s`=vL33b@]*'m5~!͋}8ӂj2hL(~ӉͰb3x|Х9 kYç0Hr\uY4~Ҋz}Yn|bϣY@,Sz.GcdJmd˸<h?B@H13Z`MdI6,'Yh6! - +`[4.~ gR$$֗-sK-n\KCr RO=EltMMCzypJD#Mʀ3' ,9ľ#3ޤSda}rJi DAS qާ%!P9+0*' n&lSc8|/FG0?Ň~A>}G(<=ϢFŬB:̽p( ۣiصՂp"WILǭ@ާq|q<7B.z=`VEZ.$1$sݍfD}.h5g '7]jHjp`):\aEapY9ap$kϩtS5b@rfARb "9 i[POI*2vQ.lH|$Ug*eǸ!8b.a1wD)kTJYɪGGd,$.-v*rbi=%Ry+ًcqWJ8sB}+܈JPWg =}l/X;B&1 ,35 U1N1TliT.sM!VrY4F]hi)3$^9d YAB _m|B:MB* VaQUrF%1HE%[) ZALwHs|Jt.jL؜11)j کD<ǻxd4P78`(̘HqM-Ud.L0vcEِ:RW(GO IN? |̏/E!E)m\9sӦCJTOѥ@MGG&# }xÈ-9/)މϴC5n+Ly1\ iyإ|dDx(I|9)=<DpKǦ2Vwo)uCۓ$|j(RͶ,m-/ytOGy# ۼ2w'r 5N/-cXf_hE3R.MG{Uy ;:Vt&ACOt@|->"'|]9H ,S! QƗ(r2f-FWzGєS~'Xr/,ոN% 񋶓.2YsTH+ΰuS;!pR55պd.A9'^@1e} a8+lO0Ut^m|X+:7KTαNy;F&DM# b0GIzT8DLZe$Y" эMa"(NsIfkUE&K G\$[TsZa"-#ط۽dǨӌ0q9HGNd؋ 8~qLZZZU%DB*ӌդ1iyH).ߋ-&&KPJ?N@+eAwbaCNW6+sa^ 55@Ckzlخ!==hNҋjA&xA.ܕ8ֹ8o뀺X ?PD{:[Z;OeZ֍/ ÆTHp^! ߼0^Z2Oz䰺 9Aڹk}]We)Ui5Y*fb#gd syݍUlcbA}pF7l=*v;W׻ĺT〒Q-T⏤,fi_;]9ɻZH[>A>WhYjKTj隩8ؘ~c΃c ϡ35 )q׵@t~ԙ3_^@x.~W#^;Dg[#' 3uz;FAkA(?J):R+pɈ_Fz[/))˧LtDFRzre٦WU_IVOO2b,~I!I)o"@s=|K<5t +u3 Oym_p4̜,&R}Ⱥdc<$KkBSi{UlA#z7gV&g!_K-XV(=>J~ k np֥~OJwB>;zFG 8S8mw}qǜl#n΅Yٹf皝kvvS5;fgf皝kvyZREڭf蚡kNDk.F5C ]3 z3kҎp5m]st5G߂蚡 3U3t5C }cV7ygή3jή9l5g߄^}a:f皝kv v~8w̻kvy03 Cיw5C ]3m0ʼ/ ]g ]3tЫd臚yw_8μ9蚣oË~Xw̻k ݁P ^:~YzlS{Ka|%0n;gZCEysbc}9{BRRV5kj]C\yX6%[Fy<5K_/*gk'LO4]'z=QCҽF̧Љ~ހp)ghukf蚡Oi̧8~]*fsM.y6UtmNml /|<ۃ!OsÝZVHX2 {]N /#aZV=҆}tszv;HUd=7Tԕ ~T`w?Q ni8+<Guy<I[I\I#$/μVjntdl8j:K:5QiKZ6cof[ 13?_ֱυrՎu#4ܴʳ$g^O(߼SHtY߀xH_k .tr_=oqf_ ha9ne/ynl+r%&g*Lwzl*H)TDd4dŮTp֮\_Y3ro$ϜVΗK-?mx*n-O Emݘ횡kf%CgkYMr"9,g6flֽmĒ>jS@|찍?|ΊY|tv?$} -\zڴ6]]jAuvG]%dL1!'pͤtu~ʇUNʬH(3@NpD+7֐Ǵ%g2-TJ6DR{N8+՟0]iŬ 3IC Pڴ9Z(󐢂1]$uZ2;x!e$Pi:^5Ihaw&T8:Zb߫m@]HͶĨ~f[;.MLn!wlbGƱimʡqE8P$ %GBR<~/寠̫ P{BKs&iMvymvvhB45aC{n/A |GݍO&0䙎HBUMH׿S+%/=h MIs1"$zH'$>)O_ ?Bɧso]$|Ego/*eۧ=.wqPL]PfmSGo$bC5,&ocN"7%l,HYVY6acƸPL3_嵯ciswZ*c:_kh|?Q,i_` ߠqcc>`1V>!uQD' |-qYN?ƹCz7xb/.dod)w ا| YN"S/ihHW,iӲPمI~cGp>vUV8k&}2CU٩w?x~i|.|1 g][3ONIf;13Ź'͑p %uC:vVVod1in ZX!ֈ#~͹ {e]R)oXc|g_ڕvc')[yIbjƬK⯷{W笢 g ]!4aH;3cM7Mô&|M6$FfǺ'=ep|ᬷ3n!oetoEbo79D>v8cf;'khwКbۥ?^m06f~NY>+ΰ ZWƏ`AxxWׯzpy9_C{xAgzv#rG|a!=Io@><Ʈ  w@˜YCN `g}z`鳯'{,9C(w67EcܞS,:8Im/m0>~;0QJL%κų#OXuv4͎kgzΨYaB (x>3w`n{E7ǎB1\ptܡ!+FIӍ:,rEZҌpm.q>Ģ^@{pȠ=w^>I+hvD:;G|:Mt!.6~w^xl~:>pO#u/ȿWoX?()h O,!_}f38@SSky!;kZo&PZGpx8ktO*BEZ/h[dܭnDScvjր>MX{8 8^xO (LlsbQ5M:][݀{2@p1L}b'g`'T]||~x߻{o{- MB1kDBuz Ӭi&h& R\l$V_׵OO3=egz}Ŏo3뜒 Ž<9Q@ՂQ =jtt˚kzF޺Bݝ&nQ5WWTs L{9oF&j뭭ڎg0ƫl,얛.[Z;iX Wo>۶]j:v%B]tbfm0̢C3xdg~=R0 AĨ pY <7#5dD"480V5co[Mñ۲ӍؖicP#ֶ4 @t#Mi߀mZ7Eۮ{MD|[H#HtT6%P8O!fH)Y-ldt: q]ݳl'd#m=4)=j8B͊%fmko]VC\]m6*kC'Fڍ'yeM8iI\xesF4T.Hk)$6-(ѷrږظ[-m;1D-mƱi[r[xГ4膑ͮ% 1x1٣_auf;8kռy4;W{=lPM\pE¢{l^o8DgħƉCa^ Ô9{?bD;Lh#h,>W2հ)Ѵڲ7aDZ5i~i^o'36D/&/qtp(s`. 3`BÄ9,iyhJ6\u@Y[iq*H_|x*4B{vkvXn0S2|XݖJ`gsPgi`2kjƇA8PC1o_4RU>FCi&2ϕ4`)7!`bd:1f86DhFmy(^2XsVDM-hUk-al?GͰ On .s`#E¼hC5^#eKcOB߼!7Y{J*@^c?I%:(#6TźEH'T+JY"bj}F!W͌r.H-ѓ#•^A. B0q'b͂ 2'К׫|̄F>=bpk!+kl/7aD7-ۋW$$CPƒCck _N|藆h$,{ gfŀ6&D3TN^4jJcC?-y &CʄR7 + >] Xve+ o,dx0#rdFrb`4ߪ/bhP=Tˑ@fٸR~S+.d1oP$3:Dd~5f#*K2и"yp`/LdEwn %"2sbĿ/*c'i SF9Tz4W]qD8~UKɡ@2s$]}\%GwD{&ћq ?,w=`O_NQ 33c`(rb0hEoxGonQrW` ƉUN0!2L4s/9 q<_S`#2~I3p!{}>+CU^6{eӢFŬB:̽p( ۣiصՂp"WILǭ@ާq|q<7B.z=`VEZ.$1$sݍŏ{Y6I>]Z*U0ҋ{JV>"bq`WΜ%zBUH_ Sߥ_Q oszZ*LO|64rMG&Q+v9EI ,Vs?i.|QǴfN qz!FxaދCosp:iu]%7*nd*yP;_LNTZT2u"٠$2zq9UK &lΘXTR"]v<2_|n0VfLϦ|24V!\twsQ6d:C9۩Pb⎺LOҀӏKQH{U,[1sӦCJTOѥ@MGG&# }xÈ-9ERy݊S^ ,f+%Aک"t^v=?Y<J_NJy;)ϟ&ұ,lD[Yz[$VQWJٖ_E=?/i4H5y#Ou=e Nk()y_x[ǰ,tf1\Ybvt Mb1A ][|DOroq)XZBN/Q@m]TeR[i= T$B.bʙܯ+P󕞥ww.2YsTH̀w{u 'yW i':G3_BiZj]̀?]3sGoyp5:9tf5#%^ho:s=q+  {$k]lKs~dX8Aa|BW{(2H~c?E']61E'UW4x%^u2}?CwkQ%%e"yV>YJOl7۔ k>J龱"ů"6$dki ''[o!a3s-< Ѻ4[Y ZNȧV|zVHzyǒ~ O<`b"svmĭٹ0;5;\sη}ʻf\s5;"vBCK(C5C ]3tзЉtЅڨf蚡k^!Cs~Mf]횣k9[]3tajf蚡o y2{u]5gלp˼/\g\sη'syWs5;f}a:f蚡k ~Xw̻kz P3 Gיw5G]smx+0tyW3t5Cߜ;pJ14Co}:<[ cxjo)l`RMc3u,[k(XS\(;y.{CllWD<8MVVYNWI㠂.AXGz. o:imjdƯ_>+::=P˱qd=ϊ.bgߑXު7wtnJ=UG /dwEt[\+kz6ԇd+1wjy b>"s{Yr͛ąN]G-k73z|-2ǭ%RmtE4q~d?$3RLUş)NYϔM]i3坊hcZ.58=+k{fR.rɳ姼 @ŭ V31]3t5C d,~-CIW$&ьͺw3XGmJϳ\]Y1Î⇙KoWKmuU>ȼnԲ޽䁌)F47\SIIe hEQ5FrZbL^պJ^i?ݦH8xgƠ+5Ar&}HQJP>C2`RTp1N=WYfG?,#!ZǫF:I-nUل 4_GC { ٖlk5xcI!ɀ-Q{8$nZMcR86M94 (y$BB>HH'20=r|y?jR#Wc |i.d\̣QątB"e- IܡD֣3sƪ?'< rNS2Mȓf&lh5|%hAA$:#<i@HI)"\\y]@%|u)i2FdSֽDѐ')KG6tx/-Ele<.i\ ʌmd`PVlHF$m@deI<?P>ي20r_&{l? ]`Uc#ιNUeLkM͓״# % l_|||A9sLQb'C>V\S'Nٽ#E>n}ס\"k= 8wHOpO]W^ޅU~,ecӹ`a:kixCu; E; q~ZvJ2PmgMv:T{ب>[kK}=aE`7B˾-=cܞS,:8;X#lH`byY=8I |+4=%m ~fKpt/#Vo '#8Melgww#۠O0bY4{Fm n&6!.gG53vgT0XK]<,ՙQcq 3TGLjpxo㏰HzSuck??XdGC]lw~tf횵VG= R 1dL,SYxX9v=w.[p^ ƈMBqCצ%6@8|XOt;!|^C;ḓ`63FjUp]$:Sv]a:)P˓cT-У&@GwOzk-ag[.݉o^CyuuM5kkzY![x^nzvrn)Vy>xێpuNm53k_b+E'0,f޶k ,:4Kz'(,uÐ$yMjם:CK/p9R38IV+JH$yN a5Y34-;݈m&<5bm[NӰ tI7Ҵn ۶i{ qSLķ4D>Oka#^B i&qFJS_|Pw=۱vJ6vmsKÑ3#Ԭ\Rjܶ&e5ĕ<f6dm4f 9]WA\\Lf[xilϣTs1H QlHاEt(SAZ_Y X mkBTWx흍8 FSHI!)$FRHnw HYx3ꇤsaaaaxIǏ'U{o_ھgW9 o'GW {>~Jlo߾)*/N\ϱov[iZ_ձaJΝ/:6O- 92b?Tlk%?_21B sY5>:>c=1Ow y^- ڶ,XzusM#גU]>H_yYv!ۉ_mi Rus]Xm_g)YY)m]y,m z1aaaxEߓGקo/Y\k6xjgH|yu.\aæM&wk#ϐ$?]Mo\Ⱦ,/ڥQ@~6s?)}, l gX #vQg Bٙ^uのuhm?}{].~}v_J;xogJY]޳@.)oqC?}>@Xߘ'-(W? źvƔOʙRv[K?[A}?-wmՑ}g\=c}M ggg DŽ-B^k_g?F? v0||؎=ǧHPgs/hؑI t~{n^}ZyD5XWvO)"c0vY Z|~_%/,p\ɹyΰZ/;/xs_9?Pܯ5ݻ\[y|č8gʱL{? 0 0 _k3>z_\S |<)b|7aaaxn.ta?l^Cvkؽ#~e)3<3^kdlc&jK+o"e<.ʞ`^(3zu l+6v<ï k7]/lc[`On}򚄫 G뎱zt^v2)?;Wmr5ocIz?Ozx{&!ez."ѯ 1Gg{+ҏlw<=}GݽFƨ^)zIpG K֜{{e G12ۭqiumf>.}~a? 0 0 [u+7Svq֭y΅ ?ނ}XwŶv?ߩDZۓ-q/?߳=<~#>Fk"qzrQo 9r,nY[;o:)@-`ק-7({߯S@µK9֠ɸ>:n3 _[_*mtcmC>qL=<6;ǫsaaa{xˌ\ފpx?0׋#5zяc]x^l򼠕(f:~٣^lin59W~\;?vn6erUbS~v^U O7O(|;+SG4|?f*?rW~2oNٟS9~daևmH6mX[J~s.ym4ٶO|Bd/b5ɿyU? 0 0 0 0 0 0 0.P~*1@G\⟿KrKXs2(ߥ纎J8'>X@▼QQbqwx b)_K|v 1M6kee-2Ǜ59?K^E~9ϱQﱮYF8N?~;:=J<-tĒyNAgC \NXKs)'^Kg\~2}6}Գ)n]Or^j~"{p29w6/.z-v:+M{WJYZ굢`% Ҥl9ힶկ#OUz+U?;sd~vND7*.Y+v:ye;8}~|+ÑޅN9}{Bƞ#txխsXɿkSV/uJ=o G<ջL'L:D]6jfgLz/+ؽ[{rCMYq~[{yy czA;w9zszWHVax3 %mkBTx흍) q ĉ8D^>׻gI@XjjgiЃ`0 `0 ?ϟ|:seQ3|ӧO|:2|.};7eGFO6_Qv]T]^ˮg{>pjzkuo{yye?{-x/ D:3D&򈼹e^Hyi#/OGzϪ߯_~ :sMe#M3Y#=2 QЙ[\s=E8}E>GȩT ڲTg-}VfoSVwzV}./>~!?1<#}=F[ ~QڋBN..+푹^edLo+[\-k dW(}6q$#?z6Bөi?L7!3O_Q}Пuo[=tkȋM!'}/Ƈdr2_Cﲨ: `0 :8o=+8-4}۞cĥXdq{bUq©ήm!ƶg*ΪU\z[GA=^+ru{LV U?)V>ғ)x|Yҁgi\yi^cUo*= !TY?rfgWsʽVn*VX#=Fϫ+[F~yH\L~[O҇h5ݵTow|Sfӟ+);F;:x )/OS yUo2e)Ve3'wgGg=J^`0  ľu kU,Ksؑ5nY,bXw{ w&3QהNQev ]ƷgcH˞i{A3I8hwduwUIWq8I>+ջ@şGZ\ƪߝ/:3;ɫ:9|Ұ´ʕ׷2;ft+i5nΟgZY<1NyŬ|E7k?z/k><=Α}N΅>uWydʬdz `0 *\?W8GY:Dgcg< 2+'W6qn؟{ru"wU쏘~c#T?+y{Q,,^qF/Xv8.֩g3}ȸOP ~n%hUG4(_sn|W}Tg&x^c,Fѭ+ <#+}/Uw8BRh_|33!mr\7U9m({ѝpvew[xG]߱?g;,nҽow8]וb?OV=Z_#ve?vN_WrYLo;1g9pV^G~>[_vNOS3 `0Q[ veO\k^8֔v<Zbz\Opbn$~}oz3ј mK vU]^iNWA#x딫jt q :E= z%օq)CcYEqyRG-+u (K\hP'*^ء^q=m=y|Kvūe\rȊ4={W1;=ݷxp;o@>ȘT\Ԏ+C=*ɫ|GJOCW]x1.ﵠ9_Eб Vq)v(ʑ}[GwǺ{-oSdו_˞׃2;iT&w*w:g׭SOsj%Z[~_˯d֮+w]7 `0]kIu+eL]ւoA^;=GR?v쯱;<y o$N1紈=:ߥPVu< <&3KyC/4r)i=*/|Ύ^]QNН1qGw>ù ?Kv:A}E:_n+{u=rq͓̳]>>d}+|L01`0 leg:׺񶊝`W,3O?]\9P~[kOWiGc~)-<w.3q}'vuw$Vnv(r52S;Wk_Kϔ8B/hEՠ'9w?K;x:x<|@cϽVyc@ۖSw8Bq]=2lBe6V}eR( VeZT4ade2ޒ+nYBTqSߔ<[&=f[|szP)G}{Zׅ3n7jpWwftEw[ǽ;`l? `0 `0 `{~i`oLy>ܴǩi찭|7ɳ9G쯿c¾#>,jwՆݲ=m2ܳ8دǞ?k˶߱ɴ>#밨E:찿ۡ;y$ɽ⳾6횉0ձ!)$F?6c>>~sm+vuՑνYu8uN?WP>1JsWiV_uKEϸ/rˆ_gKW]ױEYcl,[TYHT}xL#}A GV7^}>iҞ-i;}LJX&TP3T#ߨgJl e'=?͘ona|7>?ǐU%;/mN/QփzҰ?v✽3ɳzէOʰ>?yʴG)PU{ ..T}6ڳ-F`p]k߅~b  О$wݓٱ|sCoA+q3lOx@(0a+? T,_7s\Ϙ^Bl1)C+k(FyN"8dPC_9>0&4+nw۳rŰȨ)/tihf ѸX>)<,6s45zb?J\<OM%O#(76:= ӋYAƒH Ls6MXBcX&ǘJte. 3.je(??Lj=%wZizFTx$kP8Em jAOހ>~؆B9 ֤8UKCvjbL Cy ;mj P. DkwUE€3ܨ8xUJs\ɟ+;}sFQ(KIXݛƨ 1 +KdX];Jģcx$D׷X`i @l̏rnm$^9΄zBGϞQ=nfkDe; <a>,⢞jk0B[p($Ǡp4 nq`XƓ vϵ.xHnorJ5Hu뇗 f a[Z:>36[g RL؍?( &w.7C#~B{] UW 71jk~ecGrD.=K@WDZM0倐0\xvqNZ ># BE )&yA}t?B Ym(WIpɱ |2+\2 )l8tl@Z.Be񅋍RSƃm>dIl'N adĢG3%#)?$s _5=YBR#-k"qGP-e"f%֩-ϓ378M9ϊ,_*n;HEBƱcl~ ˝[/sagIE2,z1t:kLș壋G){7ond{@rP>kwk׽ #kXfyEAB9uM4P=_lgW؇N#_nGpp ,ZUu6ȓVӰ0EK7*|]{75F\ԶzQz! uH>upT٣o3P)[^6` -d&*=%fY<^ط`_6|h3ء>2 Pq7ώ ,NsjF=B` 큳CiU)R鐏@LҮǧmb<2FHRqùFXi䎲OmGA}:*u f:@ʫRH.66jcGOpO- 6HKJU:Jǃv,3DZEƮqq7p?ȌK%ȧ$;?Qr6pP7`a^=R_)m>D3#£ _' Iɭu͋C-Rne㯄ssL<ȭ/R)|Lt_1Lk=rr 4/gEr~PnB[\g[{gYvRW' {Fem1{ wL;7&$xc0 n&u@5sCCձm8Heft (тa?ĎQ%l4ςx±׆ijC1Q3,Oʲ4)%b68\쫱;u)ko)#WSncRx{[sXv195_0Kՙ7>Tp5ٴl3S"؝LX睫[5m Q="u}pϘ*xbՉ#iM+@Z! Ϯ~jYݬ$?5mtu] %@݅:4h8ۃtu3; ΑO1A/r R*5i&j#Y2:$Z(ad@>'z L뇶6Z8|`6"X1_z' F-я?X^ A:?1;h/KVB' vOnFS ƤQ{=kh7MwXQp\v͓O/. N3HKRlK"q^Wh1wt h@3e6N|I;y?8t[[! $,ήLe"z%IކAkRl!3u8ځy?_W)AbCO!rza5Sn֗#<43y6"R߃CQ&>[# BHǽ{vekOTlq(UH͵h ݔ8,@tՂL{p/*L"d_y k,4 G̖bD>,.ok"D;|7[.DCA#ilϟI֬Dq]+eE _-- ڰc^Lq1~CCC9gNH8BkhJ#Z-`VoMa 9r$պZ-hkh ?C$ ^tď9d(8P݅]ڶw[wl;dn׆oKd Hބ(DInI M_(5)6H/Y1 QRk,nXHʉ?>dړ&6mȵCC0ʅ5³<\9Yc}106"״!֏9dl:' 1H"z'7QqɌ#KR./CVgQȬ\ `?d1yuM6Ƶ8ZX]8^pwQE &1frRKi$GݜЕh3'{;;~FK37ku<pdʎ+C RMzƏ7)nҀ lEGyl:̑IoBS%|ЕsTulebA}Aʹ10A{KʘӺtjdLI=r PRg_LbR Şl?␔)![Fo wi&k^CV(t@pW2{hxHGRn͉eCbxԉ6GQd27\ثdS=\Ff*0ۣOP5(rZߙxQZ>~GAeN-jY7Ҿn;n?ӹ"Px}/NW:݊&׾:x" ꭥу;R펔 c䛅љElmG§a= h¨BG_uYnZ쫭FYs U"zM&:Gnu.DX5Xn;}ԫ%XO?~2&Frjj8 yA*W I9/ub)Zl: s 85J>i3Yԕ;:#hELם[ROd^GA˩f~Y!En0~/A Km>ݰ³ۢq"<цF*c:xw|͞w%ehRgd9̕v3v Dgh>>?3hYDkgC(ʹƒԕSԜ| 2Q94(?OGQ34 fccPopTYaW(>@tX4`LGٞpɄaŰl\[9c26U M6f,'C4i?W~psϠ?kAKrŵk@I|>^xs?\`,D̒5W^w DMXf_8<%|8_왉pP1Wlm߃f?4:́_Ԕv M;k:p_sj؎qw]$F}y ,b'N=o0, ~M YR46+!}@~ujctCP.Y(x׎z?70WXFܣo3z0c8RGg0 TU򄽻w"/4֏CQ`[{Ocn]+{{ N!33+5]qpj' r9FDȬ)~: 9Gmx2-?sraG"yvUpa;Ră A\& ?#n 0eed~oq嶭!!DzP^H)>oȑ.ļԶ=Hy7S-M ?8ycߧq|#5"2Б lm#UeΤVbM͘jAc7Z ]> 4gb s 2WRsKg6 's8qzTT[R[w)I95xWj #!nN+zPڔ KgTE,?{^RDݥ=Ru^zîc&D'i74SJߔ&HUG[crͦ<׿~4}څh;lpAZ%XZ;tQ?yk1+Ƴu6[ Dc4Ɯ*dB#!}e>samhG3c^8u9󼵕⸈߂UyB;f "Yi=D =4&|C3g]~WgjhSIXU"1A5Fr4{AljwTt6</N \Rta| i>T.Wo>>xϯY{緷m,J{gg}v~)]s!?wXGFl!7U|Cnfﳅ:.@mq%臔Ru?.:aBֺE#Gg'yXDuSWNJD)21ѵVagWPqȒ s?¶@g")s\T{f3go^w:^"{d#!φt},nyWFKv„X4|VB~,˘_&fjp/WԍwaO H 3I`u1ͤ+_W|+_W|+_W|+_W|+_W|+_W|+_W|+_W|+_W|+_W|+_W|+_W|+_W|+_W|+_W|+_Wݚw)2iTXtXML:com.adobe.xmp Adobe Fireworks CS3 2011-01-28T19:44:18Z 2011-01-28T19:46:40Z image/png ]IDAT=jQ=XZ$ ,B\ q@"$M `|s>B.r޹?`nme0-j85[]ObľPԪP7"w@zRs m"\ ̀˃1]̼Py>I>Jq6,m0IENDB`coursework/images/sea.png0000600010163400004550000005041511521654255015637 0ustar csuhcbdcsugradPNG  IHDR XvpsBIT|d pHYs  ~tEXtCreation Time01/28/11i–tEXtXML:com.adobe.xmp Adobe Fireworks CS3 2011-01-28T13:08:48Z 2011-01-28T18:43:41Z image/png XtEXtSoftwareAdobe FireworksON IDATx}pՙ GDNXg Nk XcBH0.S|o2U!II!$dn]fv k l䉀ⲱd-uhjɭ#j|twwwGj'~vUD8r f {Gb߿Uw$Ә@⩈_a~2b}T]Έ:r?|fE,}#>9-_Q^ϣ_/ɝħгαw=Һs?kc*75_')d7"77I9u>'Ȃ#ӊ169.Ҏٿڰү?󲵹<4&>̷:'E"#53"#;ߎǸEٌh蚔3߷wǏڇ/(5ӻ{ݱjSɾ^<3ʟr$W.cř@S>C"&a$+tļq 'HGc0}r:!{E|9#"nnU֜қEv:Rڈ3rçKìZ{FJgzÊwG{^ΨwO~9qXġVVxK3rY::]ُb&ViML?Qu{ڕ3F@Xq*d!cݹkҠP u ]U"~ܞYbb>̷^|+dɱ?iѲԥGxľùհĤ30c㰪1/ӱɳ*̠\˸~s/sģWߊm펱06"[qܳ48,6ڈڈ3ᱷ,qh\2ʰ3tմʿ`<ݸQُF{ r;øX{F\j >7Y?.wBZ>2gM;+8Vթ3k#N@w_ {n\M.9/u:vlj &+)ן:AȔuc'Qym|RI9zCXQh49m,!ǻsjl Xg1va>vd'ƍ`ш=SvzWmDx +W8V$)b7&'EQ{w|kq##z3ksِ{2܍a2_5dj 26">87²6Ψͺ>(evѰ1晵űm<+()aG(Kǎ:G(k;/@d$0}iO?:nXʜ8H~Uɣtb8a xN9Z7<;1L9ʲq5 d]x5&DNóu炎dj⻇ e{YmlWǪWtnn 9厖-FzcpFf#U%F[Rh_-m$rM˝vgl@EFկ;ιlXRN>֝?8:Y #\u;p*H>wAm6>}^MXo"=)jԎTT0ҁh~Uh? ڈ3"hɅ$F(Zu#1xwľ'1 `g-e[W;|b4nP7:9U&>t ]~nXv+b˧v?T>/9subśyY[,6"I>f;7j윻q5#Vy2# g551iW;|*<~^Mj9r<7gX陵51&7="d RL?sG{I㭦q5'# G{H2G&?R/ᕲՔjX4K#`?n2@ǺstGk&|jr9UCsǺGg-ά=QC H7l֌\v̞卫iet>> CtncMkP9m7?pztW:IN>^>o!sqrv}~,igTdSI('0 3~h OO+ˑ_doG0ۑS0]2:ޝ[G~Џ~v4Y v4_N%wTs;b'; 6.("~; >F!Xd?4.VNɽ"/] 'Cijs'U>հ1#Xԑ$j+ڭyXQ·Ѥ.D5<NG%jkrK6 ;`48;&Pm|?#{u?{<{9ݮ[FF/Htwí85 @F86>迯s;uOkUd bja&> exd$@TFS_[y4MF舀bcQ6_z0 Ŭs'ήE߸x-ۯ ""&6ǜiƎ]]}.g~g)1cڔAmnEWiQΘ6%Zt7ʝL{D%TPvP_I] Ƭq*MScsbg>=_i O:ʿƃYͧ6Л/=/ %7Qw§y51}hXyU%ҭOZJRe6Wz{6TP^p*C!റ#wڟ*|%]9gjl}7?Wo}_^jkkUQq*ƠwgWcÓHcz4yxLW݆`pz:quJ8gJ添JN:~cl}7~]/%'|9}ڔX/nZ&=qBɆRj~?qB|i%Ԥly[~+΃E'-G8EDsOjӦ i+re(6-_V'*;bU`4-\0#Lo\ͧbѕseX*@4nI;v[^^uhƴ)I: ^|XtRbQ*v4-_v^Eu}Wly[/C>,׾d@8%\Iy nXVe뻱eޔMl~s-JM\xxwYnkү!@ͧ*O52uO~3R^}dy4_z^,)јΖ]TF %ߧ*§zTOD-ul[{Gճ 'tr}V}EWo/PK֥""Vh Ol-Ywf7M-Ywv`K!X\ i!\Ύ]GkD46s̏.Tc~>6R培h<[~w灒î |plFD_w[;|5V~U~{+fǚD[lt$t1w*;}0[QD-+~-]Z6*lz-`^J=K$cce灒e2)\PvÓF[Ӯ4jHֻ߷glVɰJ44_vހ즩1iSx5}e3eu N mWW{F1X-_RG緕qbhKt%p(Q~ m5mX ̶XɭzѫC]9d|:\Id~rAfsY+ojPs"rAM䲆$[ +4ع,h`*ӧN);o$D')o)M?opc/;ij,ˏW|T2&Vw^`eNd$wK>꠆𕳿@ـfvA+TT_+ >* NvӦ8Ծ_R@[O/M?opUl'KM.5ڶl}萖b-J5(5" lӳ;S9e͗k؊]^ҡKv+ KV/^-_\~@ò_i-JfѕslG^wNӴ}%_l}7?waNӴ|@YZnHG+TnhCx|7Ur-GS҃YE’.ٖ3J.Zm䫽K9be+OYS~2&6N(9obbsf T4-6Dsm1cڔ~~KN:%6^ܲ8/ {ӧN0EW)ٙ4WJ~[cWN),j 9,7d .bvѹY/n~ٺ-O].Sm3?2ʵƆg؁\۱R$gkW ˷Nj6Dl}7>kr _ŝ]cޢb9SJf/=EWΉU* YɯNLlx? ?,7U=2,j(|m \IލEW)\>Ŧb{ks.(*UjYήqՒ51qBk-[9Ymn\VTFCc#BNK {*TsgG/ro8׶g'dõ RVwF Sv#RGcC}~oJd{Zru`gJof#l}{gIy4lHP-eˤTyHs04M+ r|yqkk]^kr`Hk9N;͗/o~_rR\r灓$W{_dF乖ݺQ7э%]4z±շ)Υ64ǂ̲Ԛݿ$k1ꂏ̰66-1:%§1Q$teCK@J5 "vn0wM?/n}7vzd#?bѕXy  gL] L H$t  \U'$#@dLB@d @2&ȀȀȀ@d @2 dd@d @2u`iȀIȀӣ& IDATɘ$#$#1 HFH$t(ɵPm2 @2 6HCHF$#ɘ$#$c't  LX@*2 @2&Ȁ@dLBR\U'$c: L]tˀiȀ@d, $#$c^  I@22 @2&Ȁ@d,  HF$c:6 ;Ȁ@dR1 HFHF$c: I@22 @2 6 HCHF$#1HFHF$c't  : (Pu2 @2 Ȁ@d @2 dd@dl "$#3 HEH$t(ɵPm2 @2Ȁ@dLBn  HF$c: HN@22 @2u @*2 @2 dd@dLBɘ$#$S2 @2 @2R\U'$# / H> @22 @2 9 @22 @2 H$t(ɵPm2 @2 :LTd@d$@Td@d @2&Ȁɘ$#$#1 HFH.e@4d@d @2 I@22 @26""$c^  HF$c: H.l$"$S'%6NHF$c:6 ;Ȁ@d @2 dd@d @2 I@22 @2 C4d@d$@Td@dɘ$#$c: H. Ґ / H> @22 @2@d @2&CI j@d @2&C).  "$#3 HEHF HDHF$c't  HF$c: HF$#1 HFH.BHCHNHEHF$c^  Ȁ@d$#$c:6 I@22 @2&Ȁ@d,  H(ťPu2 @2 HF$c,  :Ȁ@dR1 HFHF@22 @2 H$t  LTd@dB HDHF$c(ɵPm2 @2 H$t  ;ȀIȀ@dLB1 HFHF$c: L]tˀ@Q. @d @2&Ȁ@d @2 dd@d @2u`iȀIȀXHFHF$c^  Ȁ@dLB\&$c: H$t  Ґ@d @2&Ȁ@d$#$S'"$#1 HFH$t(ŵPu2 @2 dd@d[HCHF$#ɘ$#$SgB  L]$"$c^(ɵPm2 @2 H$t  dd@d$@Td@dɘ$#$c: H. Ґ@d @2&Ȁ HFHF$Sg I@22 @2 С@ɀEn^  BI jXHFHF$c,  dd@dE!X@2 @2 H$t  ;Ȁ@dR1 HFHF$c: I@22 @2 6 HCHF$#1HFHF$c: HF$c: HF$#1 HFH.BHCHF$Sg I@22 @26"@d @2&Ȁԍhk#"#|$ЛɩbX7cqh梊nGٱ/O3NXs>|P֟\; V>VZWUn_6W*Q0TZ3kFHE);:;N;mym{st:ףjK_| u^C ƃ6GoVTWWvqşWoƍw<y6uo=rtRiMe\h0uT *ѱ7Su(ΌϊήCqן]ckcAO}_ҿߵgHWJg{WOƖ׶8rՏb;Բ3O;wϊϊEoq'{JRTIUs^S;:zoL9.yz=$6~^㡿׿z{cܙqѲ~7blm>!Թs){YzmeǛ]v@uk(5ߔ7Rϝ1UЗs_n򭈈XXbٓb_: ~W:5#/'Kױqź΃qןϊPmMuyݛ5 )e`l̘:)nϏŶwr_J ;o6DD??~GLjyXM/om:E-\TWۜ<[^)6mnGZ_W%nbe bܙq^r'nGgס~e7z{ܙo, vxcqEb c͗y;1g23/g=)""vt6mnϟ߾e[6_<3솇#" l{{OY1f7RV|Ξ|Pe bKPgc37MߊM/Ggס^ S'Ū;s7GZ_]d%0>!ѱ/:+^>+=$=M:o@XՏ]b c՝WǜYgE[TL?{Rl|XxX[pFDc {ӌg_DvY<_*==qk˼u(V|~y9,e LsѻisѷL~΃q˗ZcRC}ѕ5=$^ vy쵳7cٓ⡿6^>_/3sǖ,(Yѱ/ŎeA%ݯ<vJmEh%=YՏlsgDD1=V_ O /)=)i}9vc]ӧ.vtߗōXɡXW@_}Yu}a z'N~ع{_=) gϊ?+6,Д67ُ-ogVm״ʱ津/ס찿9鲵ə3ݾt߳ɿŢ=ɳ+ڣ"T|鼘3үƦ1>;x,~,^=sڝݯ®lɽʳ󳢳շGֿ~33ܽ/ڳck󍟱K>=⮯?ʰ!/?3Nմ5Ƈog3+Լ|ǷɽU7-o7նvŎ=-DS:VR}ؽ{{" pASop o.˗΋Tgxҏŋ}zzH+dx+-Ɔu(Vyu|gosfӧN7wޗv^3t>Ćgͳu,)dЁdYgUwv߼;:G^ύ\Nzre[mYy,_hY|a\u|j;sP9\`V/%/ O~3nmW* =ٰ`i7žyMy.v̘:9?Th_Nsҏ}N܋o 1cꤲ5T1{d*Բoz ։^߽)? -*VGwbz[4ŜUICmos+} g8_:CzN}bŞ;]&"U _ |5nRkDnKܟ"EDxтY0>=]l~La_D߈M/TThgk׿m~#\9֮)"r7묷9"bтY^o ʠy6k0>-k@7!`|Vz*Mȥ_{MlϗwċoϏ.7e ʶcqgpZ֓vK&OlX{<=˝:lH)YxFn9yWYg܅56/3^̎}=sxpB{ܻAzX>1:!hk׿Ύ}ZsvKzX~~{ֱvK Tr(v-^+w( w?_a([q-tOĆIֈ1ur<ϊGZ_6}Rc},_:/v˱qk˼ۻىǿ^pgŜYg3|+=)}%""[qu2/vS'}+gO50D__yu0XRn|[^og&^>˷bWnjZbgŃ6Ǿqk˼C2K5PVr̙I '2_e mI qk˼}~O0OEYaĉ/gX/, o,ϊ O[^3a57oص|q.gPʳe?}cksg[0~*3.w+C=1IODDfufR-hgV\9?66D~#ggxa}0&6g sgV3z}{]O}OLձdaKw/[:hAS<Ƥ^V;\sgFgס~;'k˽W頦f_^MAfGh}B{l{gOw jTVmog~VE+老qϚgu*)\eHOec W;ٍ,W*h]{ /kO-Q)ƽ, Ύ\Ja|Qۀ*\Vv4hÆ+erݹ=w[~ ޫ_C8Ȁ(y0,S;XV:f:3 VUhh{+7oX/lϙ[h|N &dFƙWѱ7vv+Yéܹ(܎Аui e7e{zPZP&2\jnDnD>wvC]Dz{',+-_ڐ_$y8d1&xylznɥ>/u k׿lnw#Y(Ca]M5sg$&6ԗzGǾ0>h|=`@Z= ݽd}pRtblWE=?;, UVx`vt-bZzv-i[w-m/T׶[%-m>X>۵%g7<ܫRJ|{`IH.|se \u6mncc_~lm/Zs>=/4ϝO2<׽}9ĆXcXV8 >es;a.]?+{@kcoɕrߘsgۙܖ`> ff]MۣyXc]l޳<2WJq, ݻʏ 4IDAT~v} ֖׶#/Gco?YZ*܎^ @uU&lMDs=aƲzo㱸{قu,:>;9fY0>|)??~GLjyXdǐPf5ϝ[^~ǕFD˿Fa{߿Y¢=KzYDnw ߻ {ٷ_6\9g1Tu=T Wg{ӧNmXֱ764G67˴,g_ͱ=;:3cסo,Gѻy;{_;:~?+v˗~dw۫0[g\@w_t^s{˗Z_ Z;+Z}%vt썖k._۞KsgFkޘ0>4V= eWD7{/NJ=߸12P].kO׽~VxZns\9=/'6ͤ͘:)ع;W.hU~_yI%1>:W5Ğ'6W-SݺQ1Ͱ䲵ҳͼ:Ŗ~)\DZ.?d1zu+﷡,Ĭݱ븿4XUYٳ(R{<&Y/M/Ggסh*bIΫ""u ܉sgٓbßϊ-6[7b;{yC{m̟;g۹Uw^̋I=Ðǚ/_S}?߉G2oY|aꓱ=da|>Cl9{{0̘:)/}+w4hO~ά[~VX^5cꤘ~sw~%񻟉]|=V {屯uv;.RVYozb_ܮʵ}rW: ?9?+^eS5{FoV'Aap+< D^Aaɑp!D\7ɮ;-Hqp&&%r؄fQUl \Ċp1C:]13#})1 wՏIky649z סylkrR`s"dbۂWL݇}6/j1_黦٠ǀ\j^|>!?0sY:N,8EVx5w"i4$"eHE8] =aD2.u+.$>{B|ZajA! CkѹeKZro>gaMC/۸3TgvnIPko)W|·1`9xF=]FGga2"rWI\CPmX5Ξ){C7r7.ܥokReyf}?,/`gih6vXxU{ gm"xJm+]_mmu%ǬJ47ullep<{oZ~sO+i4 zp-mU#_KsO0^;]e?)!o[PJ{>nM r%*Ε>U󳰪ֶ=4j&߯#ȅ!ձյ;oѼ:j4?$)ұ<:;;>1G/v1腹 93 |>bIAȕqY:rrܼØnqkV"l#|򜑬$wE'AO~g6auM;yigՔCx^R(kY[')coӘ􆱖H\-ӴN;{Y^%vX0bv|673*ɨY re)&gd}̭ Jp M=^>sw "V"bhTK,q2BDHpYhml < CS;W _0^&X΋ ۘ RTbWxZ49XGax7)8\QlleH1Qof j+` ;{Y{Zy2j}3&audN7Io[jTeͳ9`["\8'a+$k'/u"$*P=8wz-޳r=ܪ]7Ejk.2g˞&YCq,,'ob*UX''2 2[j0O TAQiz(0{U 7)כwz (jm bnW_FSrSOb6;Č#P{<՞ NR@`7]p;,p;-%]o3(Z̎UUP洛{R3!k5X`k\6qq=\*`0Ϩ}Rxd}hj>3Wg G5!>$U Dj4%H#iLxp:*X%n~Z:D>`S#bQI(,XG6YA  A'bylW%|& ,q<ݭ]1-8lW\ -'ݙO AΙ3 sw  ⛃< AAA|2H!  '3AAALJ< AAA|2^ Adobe Fireworks CS3 2011-01-28T13:16:05Z 2011-01-28T13:26:34Z image/png YLtEXtSoftwareAdobe FireworksONrIDATHMh\Ug&3 ZҦ-Ĩ "`LZJ ܻs# E誨 EQi] )RSB4Mɻe|…~y$" L?щV~g``yއr%D$,}."wE~Ԃ8BD@RJJZ>YQR'bZJߌ1 D>tsA:-fDZ(u%Ir(I([4kDiۨj-U pɺ^"uWN$G h8-ן)y hpF! 411fv0?u/"יm@au],ߵZSDQ=o߾=J=a<ϻ@Dv @/..yYJDR2uo |*--!"Ap/3BY[[h4(μpo0 [v 2.qMDzsLW\;#Ef0*h}fffDtZgF[u/0&q~3$"`0 ?p;u;==F% c.n_uƭX,>wy 3wJ2 Z빑GrA88kQ𹾠[<)i$(#`d%"_Dr:O`vgT*)Z,Q= ?~R7 38_"u?af 㡡(J)|:,˻"-jFefJ>|oXko/,,;vUcLʝCIftH^݋JZK8sZݫonn0 Zkojfuc~wbnyOujZ& E\ Dd&I @i\־l6U4:Y/cgΜ9JSm *$Iz^~xƘCR9km8-']Z`-DtN)uWD"2yfB,JoV*=::zsnnn_!(rϘIENDB`coursework/images/diver.png0000600010163400004550000000437711521654255016206 0ustar csuhcbdcsugradPNG  IHDR/E?sBIT|d pHYs  ~tEXtCreation Time01/28/11i–tEXtXML:com.adobe.xmp Adobe Fireworks CS3 2011-01-28T13:16:05Z 2011-01-28T13:26:34Z image/png YLtEXtSoftwareAdobe FireworksON>IDATHTMh\U>ܟ72QP[Ačm\JP)u ʍ)(VP Vk %LIf޼{Δ:mXs[s;!3feg1QRp̙RގGZV6l3lG!4"d~=|>?I!"9"6R+R)Ѵ1װ`߹{AJrn12p8f.0 b1>FD \oCZsR9JDDJ}|xxXLh_ZRHDu%IG]qC_/N܀". !ڵ{❵Zfm!Ē8/7ckV+C9v< Dl@ZoǙt]Qҽ\cccN:#{O)u" ͒'<WJ""B0|}}}#Ƙ3R~8(=333a%c6k0h23!@Jyl( onnrOR~^031[(R^@SUrh$+vHzZxD@FBD 3&?}PzZ;ODF)հʫ4@/B߄gFftFָQ.I)?f03d2auUJKD?#" !G yJ7R|=֧3̃ (#Zd'&&FwWkR.&>*wٖRuN)XA*+-)IҸʯ<-"bkDOo]Hkm5Ͽ_V"6Ƥ@1(&"0D\;55ݟ-[(#R:Ƙ?旰Ʌ&Ih{sŋUJ]֎קࡅK-j9a&IENDB`coursework/images/sprite.png0000644010163400004550000000052111521654255016376 0ustar csuhcbdcsugradPNG  IHDR@ ~sBIT|d pHYs B4tEXtCreation Time01/30/11tEXtSoftwareAdobe FireworksONIDATh홱 0¯k\¥# g7赓@H1thg>]2S1