diff --git a/src/configure b/src/configure new file mode 100755 index 0000000000000000000000000000000000000000..f0f34d64fe0e869bc7564678682cd3ec5a129f0f --- /dev/null +++ b/src/configure @@ -0,0 +1,3356 @@ +#! /bin/sh + +# Guess values for system-dependent variables and create Makefiles. +# Generated automatically using autoconf version 2.4 +# Copyright (C) 1992, 1993, 1994 Free Software Foundation, Inc. +# +# This configure script is free software; the Free Software Foundation +# gives unlimited permission to copy, distribute and modify it. + +# Defaults: +ac_help= +ac_default_prefix=/usr/local +# Any additions from configure.in: + +# Initialize some variables set by options. +# The variables have the same names as the options, with +# dashes changed to underlines. +build=NONE +cache_file=./config.cache +exec_prefix=NONE +host=NONE +no_create= +nonopt=NONE +no_recursion= +prefix=NONE +program_prefix=NONE +program_suffix=NONE +program_transform_name=s,x,x, +silent= +site= +srcdir= +target=NONE +verbose= +x_includes=NONE +x_libraries=NONE + +# Initialize some other variables. +subdirs= + +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 + + case "$ac_option" in + -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;; + *) ac_optarg= ;; + esac + + # Accept the important Cygnus configure options, so we can diagnose typos. + + case "$ac_option" in + + -build | --build | --buil | --bui | --bu | --b) + ac_prev=build ;; + -build=* | --build=* | --buil=* | --bui=* | --bu=* | --b=*) + build="$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" ;; + + -disable-* | --disable-*) + ac_feature=`echo $ac_option|sed -e 's/-*disable-//'` + # Reject names that are not valid shell variable names. + if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then + { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; } + fi + ac_feature=`echo $ac_feature| sed 's/-/_/g'` + eval "enable_${ac_feature}=no" ;; + + -enable-* | --enable-*) + ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'` + # Reject names that are not valid shell variable names. + if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then + { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; } + fi + ac_feature=`echo $ac_feature| sed 's/-/_/g'` + case "$ac_option" in + *=*) ;; + *) 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) + # 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 << EOF +Usage: configure [options] [host] +Options: [defaults in brackets after descriptions] +Configuration: + --cache-file=FILE cache test results in FILE + --help print this message + --no-create do not create output files + --quiet, --silent do not print \`checking...' messages + --version print the version of autoconf that created configure +Directory and file names: + --prefix=PREFIX install architecture-independent files in PREFIX + [$ac_default_prefix] + --exec-prefix=PREFIX install architecture-dependent files in PREFIX + [same as prefix] + --srcdir=DIR find the sources in DIR [configure dir or ..] + --program-prefix=PREFIX prepend PREFIX to installed program names + --program-suffix=SUFFIX append SUFFIX to installed program names + --program-transform-name=PROGRAM run sed PROGRAM on installed program names +Host type: + --build=BUILD configure for building on BUILD [BUILD=HOST] + --host=HOST configure for HOST [guessed] + --target=TARGET configure for TARGET [TARGET=HOST] +Features and packages: + --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) + --enable-FEATURE[=ARG] include FEATURE [ARG=yes] + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --x-includes=DIR X include files are in DIR + --x-libraries=DIR X library files are in DIR +--enable and --with options recognized:$ac_help +EOF + exit 0 ;; + + -host | --host | --hos | --ho) + ac_prev=host ;; + -host=* | --host=* | --hos=* | --ho=*) + host="$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) + 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 ;; + + -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 ;; + + -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" ;; + + -target | --target | --targe | --targ | --tar | --ta | --t) + ac_prev=target ;; + -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) + target="$ac_optarg" ;; + + -v | -verbose | --verbose | --verbos | --verbo | --verb) + verbose=yes ;; + + -version | --version | --versio | --versi | --vers) + echo "configure generated by autoconf version 2.4" + exit 0 ;; + + -with-* | --with-*) + ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'` + # Reject names that are not valid shell variable names. + if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then + { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; } + fi + ac_package=`echo $ac_package| sed 's/-/_/g'` + case "$ac_option" in + *=*) ;; + *) ac_optarg=yes ;; + esac + eval "with_${ac_package}='$ac_optarg'" ;; + + -without-* | --without-*) + ac_package=`echo $ac_option|sed -e 's/-*without-//'` + # Reject names that are not valid shell variable names. + if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then + { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; } + fi + 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 "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; } + ;; + + *) + if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then + echo "configure: warning: $ac_option: invalid host type" 1>&2 + fi + if test "x$nonopt" != xNONE; then + { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; } + fi + nonopt="$ac_option" + ;; + + esac +done + +if test -n "$ac_prev"; then + { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; } +fi + +trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15 + +# File descriptor usage: +# 0 standard input +# 1 file creation +# 2 errors and warnings +# 3 some systems may open it to /dev/tty +# 4 used on the Kubota Titan +# 6 checking for... messages and results +# 5 compiler messages saved in config.log +if test "$silent" = yes; then + exec 6>/dev/null +else + exec 6>&1 +fi +exec 5>./config.log + +echo "\ +This file contains any messages produced by compilers while +running configure, to aid debugging if configure makes a mistake. +" 1>&5 + +# Strip out --no-create and --no-recursion so they do not pile up. +# Also quote any args containing shell metacharacters. +ac_configure_args= +for ac_arg +do + case "$ac_arg" in + -no-create | --no-create | --no-creat | --no-crea | --no-cre \ + | --no-cr | --no-c) ;; + -no-recursion | --no-recursion | --no-recursio | --no-recursi \ + | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;; + *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*) + ac_configure_args="$ac_configure_args '$ac_arg'" ;; + *) ac_configure_args="$ac_configure_args $ac_arg" ;; + esac +done + +# NLS nuisances. +# Only set LANG and LC_ALL to C if already set. +# These must not be set unconditionally because not all systems understand +# e.g. LANG=C (notably SCO). +if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi +if test "${LANG+set}" = set; then LANG=C; export LANG; fi + +# 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 + +# A filename unique to this package, relative to the directory that +# configure is in, which we can look for to find out if srcdir is correct. +ac_unique_file=interpret.c + +# 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_prog=$0 + ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'` + test "x$ac_confdir" = "x$ac_prog" && ac_confdir=. + 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 "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; } + else + { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; } + fi +fi +srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'` + +# 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 "loading site script $ac_site_file" + . "$ac_site_file" + fi +done + +if test -r "$cache_file"; then + echo "loading cache $cache_file" + . $cache_file +else + echo "creating cache $cache_file" + > $cache_file +fi + +ac_ext=c +# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. +ac_cpp='$CPP $CPPFLAGS' +ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5 2>&5' +ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5 2>&5' + +if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then + # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu. + if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then + ac_n= ac_c=' +' ac_t=' ' + else + ac_n=-n ac_c= ac_t= + fi +else + ac_n= ac_c='\c' ac_t= +fi + + +# Extract the first word of "gcc", so it can be a program name with args. +set dummy gcc; ac_word=$2 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" + for ac_dir in $PATH; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + ac_cv_prog_CC="gcc" + break + fi + done + IFS="$ac_save_ifs" + test -z "$ac_cv_prog_CC" && ac_cv_prog_CC="cc" +fi +fi +CC="$ac_cv_prog_CC" +if test -n "$CC"; then + echo "$ac_t""$CC" 1>&6 +else + echo "$ac_t""no" 1>&6 +fi + + +echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6 +if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.c <<EOF +#ifdef __GNUC__ + yes; +#endif +EOF +if ${CC-cc} -E conftest.c 2>&5 | egrep yes >/dev/null 2>&1; then + ac_cv_prog_gcc=yes +else + ac_cv_prog_gcc=no +fi +fi +echo "$ac_t""$ac_cv_prog_gcc" 1>&6 +if test $ac_cv_prog_gcc = yes; then + GCC=yes + if test "${CFLAGS+set}" != set; then + echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6 +if eval "test \"`echo '$''{'ac_cv_prog_gcc_g'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + echo 'void f(){}' > conftest.c +if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then + ac_cv_prog_gcc_g=yes +else + ac_cv_prog_gcc_g=no +fi +rm -f conftest* + +fi + echo "$ac_t""$ac_cv_prog_gcc_g" 1>&6 + if test $ac_cv_prog_gcc_g = yes; then + CFLAGS="-g -O" + else + CFLAGS="-O" + fi + fi +else + GCC= + test "${CFLAGS+set}" = set || CFLAGS="-g" +fi + + +OLD_CFLAGS="$CFLAGS" +OPTIMIZE=""; + +echo $ac_n "checking -O""... $ac_c" 1>&6 +if eval "test \"`echo '$''{'lpc_cv_option_opt'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + + CFLAGS="$OLD_CFLAGS -O" + cat > conftest.$ac_ext <<EOF +#line 486 "configure" +#include "confdefs.h" + +int main() { return 0; } +int t() { + exit(0); +; return 0; } +EOF +if eval $ac_link; then + rm -rf conftest* + lpc_cv_option_opt=yes +else + rm -rf conftest* + lpc_cv_option_opt=no +fi +rm -f conftest* + + +fi + + +if test "$lpc_cv_option_opt" = "yes" ; then + CFLAGS="$OLD_CFLAGS -O" + OPTIMIZE="$OPTIMIZE -O" + echo "$ac_t""-O found" 1>&6 +else + echo "$ac_t""-O not found" 1>&6 +fi + +echo $ac_n "checking warning flags""... $ac_c" 1>&6 +if eval "test \"`echo '$''{'lpc_cv_option_warn'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + +lpc_cv_option_warn= +for a in -pipe -g -W -Wunused -Wformat +do + case "$CFLAGS" in + *\ $a\ *) lpc_cv_option_warn="$lpc_cv_option_warn $a" ;; + $a\ *) lpc_cv_option_warn="$lpc_cv_option_warn $a" ;; + *\ $a) lpc_cv_option_warn="$lpc_cv_option_warn $a" ;; + *) + CFLAGS="$OLD_CFLAGS $OPTIMIZE $a" + cat > conftest.$ac_ext <<EOF +#line 530 "configure" +#include "confdefs.h" + +int main() { return 0; } +int t() { + exit(0); +; return 0; } +EOF +if eval $ac_link; then + rm -rf conftest* + lpc_cv_option_warn="$lpc_cv_option_warn $a" +fi +rm -f conftest* + + ;; + esac +done + +fi + + +echo "$ac_t""$lpc_cv_option_warn" 1>&6 +WARN="$lpc_cv_option_warn" +CFLAGS="$OLD_CFLAGS" + + +ac_aux_dir= +for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do + if test -f $ac_dir/install-sh; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install-sh -c" + break + elif test -f $ac_dir/install.sh; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install.sh -c" + break + fi +done +if test -z "$ac_aux_dir"; then + { echo "configure: error: can not find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." 1>&2; exit 1; } +fi +ac_config_guess=$ac_aux_dir/config.guess +ac_config_sub=$ac_aux_dir/config.sub +ac_configure=$ac_aux_dir/configure # This should be Cygnus configure. + +# Find a good install program. We prefer a C program (faster), +# so one script is as good as another. But avoid the broken or +# incompatible versions: +# SysV /etc/install, /usr/sbin/install +# SunOS /usr/etc/install +# IRIX /sbin/install +# AIX /bin/install +# AFS /usr/afsws/bin/install, which mishandles nonexistent args +# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" +# ./install, which can be erroneously created by make from ./install.sh. +echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6 +if test -z "$INSTALL"; then +if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" + for ac_dir in $PATH; do + # Account for people who put trailing slashes in PATH elements. + case "$ac_dir/" in + /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;; + *) + # OSF1 and SCO ODT 3.0 have their own names for install. + for ac_prog in ginstall installbsd scoinst install; do + if test -f $ac_dir/$ac_prog; then + if test $ac_prog = install && + grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then + # AIX install. It has an incompatible calling convention. + # OSF/1 installbsd also uses dspmsg, but is usable. + : + else + ac_cv_path_install="$ac_dir/$ac_prog -c" + break 2 + fi + fi + done + ;; + esac + done + IFS="$ac_save_ifs" + # As a last resort, use the slow shell script. + test -z "$ac_cv_path_install" && ac_cv_path_install="$ac_install_sh" +fi + INSTALL="$ac_cv_path_install" +fi +echo "$ac_t""$INSTALL" 1>&6 + +# Use test -z because SunOS4 sh mishandles braces in ${var-val}. +# It thinks the first close brace ends the variable substitution. +test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' + +test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' + +for ac_prog in 'bison -y' byacc +do +# Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +if eval "test \"`echo '$''{'ac_cv_prog_YACC'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + if test -n "$YACC"; then + ac_cv_prog_YACC="$YACC" # Let the user override the test. +else + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" + for ac_dir in $PATH; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + ac_cv_prog_YACC="$ac_prog" + break + fi + done + IFS="$ac_save_ifs" +fi +fi +YACC="$ac_cv_prog_YACC" +if test -n "$YACC"; then + echo "$ac_t""$YACC" 1>&6 +else + echo "$ac_t""no" 1>&6 +fi + +test -n "$YACC" && break +done +test -n "$YACC" || YACC="yacc" + +echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6 +# On Suns, sometimes $CPP names a directory. +if test -n "$CPP" && test -d "$CPP"; then + CPP= +fi +if test -z "$CPP"; then +if eval "test \"`echo '$''{'ac_cv_prog_CPP'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + # This must be in double quotes, not single quotes, because CPP may get + # substituted into the Makefile and "${CC-cc}" will confuse make. + CPP="${CC-cc} -E" + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. + cat > conftest.$ac_ext <<EOF +#line 675 "configure" +#include "confdefs.h" +#include <assert.h> +Syntax Error +EOF +eval "$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +ac_err=`grep -v '^ *+' conftest.out` +if test -z "$ac_err"; then + : +else + echo "$ac_err" >&5 + rm -rf conftest* + CPP="${CC-cc} -E -traditional-cpp" + cat > conftest.$ac_ext <<EOF +#line 689 "configure" +#include "confdefs.h" +#include <assert.h> +Syntax Error +EOF +eval "$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +ac_err=`grep -v '^ *+' conftest.out` +if test -z "$ac_err"; then + : +else + echo "$ac_err" >&5 + rm -rf conftest* + CPP=/lib/cpp +fi +rm -f conftest* +fi +rm -f conftest* + ac_cv_prog_CPP="$CPP" +fi + CPP="$ac_cv_prog_CPP" +else + ac_cv_prog_CPP="$CPP" +fi +echo "$ac_t""$CPP" 1>&6 + +# Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" + for ac_dir in $PATH; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + ac_cv_prog_RANLIB="ranlib" + break + fi + done + IFS="$ac_save_ifs" + test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":" +fi +fi +RANLIB="$ac_cv_prog_RANLIB" +if test -n "$RANLIB"; then + echo "$ac_t""$RANLIB" 1>&6 +else + echo "$ac_t""no" 1>&6 +fi + +echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6 +set dummy ${MAKE-make}; ac_make=$2 +if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftestmake <<\EOF +all: + @echo 'ac_maketemp="${MAKE}"' +EOF +# GNU make sometimes prints "make[1]: Entering...", which would confuse us. +eval `${MAKE-make} -f conftestmake 2>/dev/null | grep temp=` +if test -n "$ac_maketemp"; then + eval ac_cv_prog_make_${ac_make}_set=yes +else + eval ac_cv_prog_make_${ac_make}_set=no +fi +rm -f conftestmake +fi +if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then + echo "$ac_t""yes" 1>&6 + SET_MAKE= +else + echo "$ac_t""no" 1>&6 + SET_MAKE="MAKE=${MAKE-make}" +fi + + +echo $ac_n "checking first yacc define""... $ac_c" 1>&6 +if eval "test \"`echo '$''{'lpc_cv_yacc_first'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + +cat >conftest.y <<\EOF +%token GURKA +%% +all: GURKA +%% +EOF +lpc_cv_yacc_first=257; +if $YACC -d conftest.y ; then + if test -f y.tab.h; then + lpc_cv_yacc_first=`egrep GURKA y.tab.h | sed 's/^#[^0-9]*\([0-9]*\)[^0-9]*$/\1/'` + echo $lpc_cv_yacc_first >conftest.out + if egrep '^(0|1|2|3|4|5|6|7|8|9)+$' conftest.out >/dev/null 2>&1; then + echo >/dev/null + else + lpc_cv_yacc_first=257 + fi + fi +fi + +fi + +echo "$ac_t""$lpc_cv_yacc_first" 1>&6 +cat >> confdefs.h <<EOF +#define F_OFFSET $lpc_cv_yacc_first +EOF + + +rm -rf conftest.y y.tab.c y.tab.h conftest.out + +for ac_hdr in sys/rusage.h sys/time.h unistd.h stdlib.h memory.h values.h \ + string.h fcntl.h sys/filio.h sys/sockio.h crypt.h locale.h sys/resource.h \ + sys/select.h +do +ac_safe=`echo "$ac_hdr" | tr './\055' '___'` +echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 +if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext <<EOF +#line 813 "configure" +#include "confdefs.h" +#include <$ac_hdr> +EOF +eval "$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +ac_err=`grep -v '^ *+' conftest.out` +if test -z "$ac_err"; then + rm -rf conftest* + eval "ac_cv_header_$ac_safe=yes" +else + echo "$ac_err" >&5 + rm -rf conftest* + eval "ac_cv_header_$ac_safe=no" +fi +rm -f conftest* +fi +if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_hdr=HAVE_`echo $ac_hdr | tr '[a-z]./\055' '[A-Z]___'` + cat >> confdefs.h <<EOF +#define $ac_tr_hdr 1 +EOF + +else + echo "$ac_t""no" 1>&6 +fi +done + +# If we cannot run a trivial program, we must be cross compiling. +echo $ac_n "checking whether cross-compiling""... $ac_c" 1>&6 +if eval "test \"`echo '$''{'ac_cv_c_cross'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + if test "$cross_compiling" = yes; then + ac_cv_c_cross=yes +else +cat > conftest.$ac_ext <<EOF +#line 850 "configure" +#include "confdefs.h" +main(){return(0);} +EOF +eval $ac_link +if test -s conftest && (./conftest; exit) 2>/dev/null; then + ac_cv_c_cross=no +else + ac_cv_c_cross=yes +fi +fi +rm -fr conftest* +fi +cross_compiling=$ac_cv_c_cross +echo "$ac_t""$ac_cv_c_cross" 1>&6 + +echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6 +if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext <<EOF +#line 871 "configure" +#include "confdefs.h" +#include <stdlib.h> +#include <stdarg.h> +#include <string.h> +#include <float.h> +EOF +eval "$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +ac_err=`grep -v '^ *+' conftest.out` +if test -z "$ac_err"; then + rm -rf conftest* + ac_cv_header_stdc=yes +else + echo "$ac_err" >&5 + rm -rf conftest* + ac_cv_header_stdc=no +fi +rm -f conftest* + +if test $ac_cv_header_stdc = yes; then + # SunOS 4.x string.h does not declare mem*, contrary to ANSI. +cat > conftest.$ac_ext <<EOF +#line 893 "configure" +#include "confdefs.h" +#include <string.h> +EOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + egrep "memchr" >/dev/null 2>&1; then + : +else + rm -rf conftest* + 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 <<EOF +#line 911 "configure" +#include "confdefs.h" +#include <stdlib.h> +EOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + egrep "free" >/dev/null 2>&1; then + : +else + rm -rf conftest* + 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 + ac_cv_header_stdc=no +else +cat > conftest.$ac_ext <<EOF +#line 932 "configure" +#include "confdefs.h" +#include <ctype.h> +#define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +#define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +#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); } + +EOF +eval $ac_link +if test -s conftest && (./conftest; exit) 2>/dev/null; then + : +else + ac_cv_header_stdc=no +fi +fi +rm -fr conftest* +fi +fi +echo "$ac_t""$ac_cv_header_stdc" 1>&6 +if test $ac_cv_header_stdc = yes; then + cat >> confdefs.h <<\EOF +#define STDC_HEADERS 1 +EOF + +fi + + +echo $ac_n "checking size of char *""... $ac_c" 1>&6 +if eval "test \"`echo '$''{'ac_cv_sizeof_char_p'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + if test "$cross_compiling" = yes; then + { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } +else +cat > conftest.$ac_ext <<EOF +#line 970 "configure" +#include "confdefs.h" +#include <stdio.h> +main() +{ + FILE *f=fopen("conftestval", "w"); + if (!f) exit(1); + fprintf(f, "%d\n", sizeof(char *)); + exit(0); +} +EOF +eval $ac_link +if test -s conftest && (./conftest; exit) 2>/dev/null; then + ac_cv_sizeof_char_p=`cat conftestval` +else + ac_cv_sizeof_char_p=0 +fi +fi +rm -fr conftest* +fi +echo "$ac_t""$ac_cv_sizeof_char_p" 1>&6 +cat >> confdefs.h <<EOF +#define SIZEOF_CHAR_P $ac_cv_sizeof_char_p +EOF + + +echo $ac_n "checking size of long""... $ac_c" 1>&6 +if eval "test \"`echo '$''{'ac_cv_sizeof_long'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + if test "$cross_compiling" = yes; then + { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } +else +cat > conftest.$ac_ext <<EOF +#line 1004 "configure" +#include "confdefs.h" +#include <stdio.h> +main() +{ + FILE *f=fopen("conftestval", "w"); + if (!f) exit(1); + fprintf(f, "%d\n", sizeof(long)); + exit(0); +} +EOF +eval $ac_link +if test -s conftest && (./conftest; exit) 2>/dev/null; then + ac_cv_sizeof_long=`cat conftestval` +else + ac_cv_sizeof_long=0 +fi +fi +rm -fr conftest* +fi +echo "$ac_t""$ac_cv_sizeof_long" 1>&6 +cat >> confdefs.h <<EOF +#define SIZEOF_LONG $ac_cv_sizeof_long +EOF + + +echo $ac_n "checking size of int""... $ac_c" 1>&6 +if eval "test \"`echo '$''{'ac_cv_sizeof_int'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + if test "$cross_compiling" = yes; then + { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } +else +cat > conftest.$ac_ext <<EOF +#line 1038 "configure" +#include "confdefs.h" +#include <stdio.h> +main() +{ + FILE *f=fopen("conftestval", "w"); + if (!f) exit(1); + fprintf(f, "%d\n", sizeof(int)); + exit(0); +} +EOF +eval $ac_link +if test -s conftest && (./conftest; exit) 2>/dev/null; then + ac_cv_sizeof_int=`cat conftestval` +else + ac_cv_sizeof_int=0 +fi +fi +rm -fr conftest* +fi +echo "$ac_t""$ac_cv_sizeof_int" 1>&6 +cat >> confdefs.h <<EOF +#define SIZEOF_INT $ac_cv_sizeof_int +EOF + + +echo $ac_n "checking size of short""... $ac_c" 1>&6 +if eval "test \"`echo '$''{'ac_cv_sizeof_short'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + if test "$cross_compiling" = yes; then + { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } +else +cat > conftest.$ac_ext <<EOF +#line 1072 "configure" +#include "confdefs.h" +#include <stdio.h> +main() +{ + FILE *f=fopen("conftestval", "w"); + if (!f) exit(1); + fprintf(f, "%d\n", sizeof(short)); + exit(0); +} +EOF +eval $ac_link +if test -s conftest && (./conftest; exit) 2>/dev/null; then + ac_cv_sizeof_short=`cat conftestval` +else + ac_cv_sizeof_short=0 +fi +fi +rm -fr conftest* +fi +echo "$ac_t""$ac_cv_sizeof_short" 1>&6 +cat >> confdefs.h <<EOF +#define SIZEOF_SHORT $ac_cv_sizeof_short +EOF + + +echo $ac_n "checking size of float""... $ac_c" 1>&6 +if eval "test \"`echo '$''{'ac_cv_sizeof_float'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + if test "$cross_compiling" = yes; then + { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } +else +cat > conftest.$ac_ext <<EOF +#line 1106 "configure" +#include "confdefs.h" +#include <stdio.h> +main() +{ + FILE *f=fopen("conftestval", "w"); + if (!f) exit(1); + fprintf(f, "%d\n", sizeof(float)); + exit(0); +} +EOF +eval $ac_link +if test -s conftest && (./conftest; exit) 2>/dev/null; then + ac_cv_sizeof_float=`cat conftestval` +else + ac_cv_sizeof_float=0 +fi +fi +rm -fr conftest* +fi +echo "$ac_t""$ac_cv_sizeof_float" 1>&6 +cat >> confdefs.h <<EOF +#define SIZEOF_FLOAT $ac_cv_sizeof_float +EOF + + +echo $ac_n "checking size of double""... $ac_c" 1>&6 +if eval "test \"`echo '$''{'ac_cv_sizeof_double'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + if test "$cross_compiling" = yes; then + { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } +else +cat > conftest.$ac_ext <<EOF +#line 1140 "configure" +#include "confdefs.h" +#include <stdio.h> +main() +{ + FILE *f=fopen("conftestval", "w"); + if (!f) exit(1); + fprintf(f, "%d\n", sizeof(double)); + exit(0); +} +EOF +eval $ac_link +if test -s conftest && (./conftest; exit) 2>/dev/null; then + ac_cv_sizeof_double=`cat conftestval` +else + ac_cv_sizeof_double=0 +fi +fi +rm -fr conftest* +fi +echo "$ac_t""$ac_cv_sizeof_double" 1>&6 +cat >> confdefs.h <<EOF +#define SIZEOF_DOUBLE $ac_cv_sizeof_double +EOF + + + +echo $ac_n "checking for size_t""... $ac_c" 1>&6 +if eval "test \"`echo '$''{'ac_cv_type_size_t'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext <<EOF +#line 1172 "configure" +#include "confdefs.h" +#include <sys/types.h> +#if STDC_HEADERS +#include <stdlib.h> +#endif +EOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + egrep "size_t" >/dev/null 2>&1; then + rm -rf conftest* + ac_cv_type_size_t=yes +else + rm -rf conftest* + ac_cv_type_size_t=no +fi +rm -f conftest* + +fi +echo "$ac_t""$ac_cv_type_size_t" 1>&6 +if test $ac_cv_type_size_t = no; then + cat >> confdefs.h <<\EOF +#define size_t unsigned +EOF + +fi + +echo $ac_n "checking for pid_t""... $ac_c" 1>&6 +if eval "test \"`echo '$''{'ac_cv_type_pid_t'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext <<EOF +#line 1203 "configure" +#include "confdefs.h" +#include <sys/types.h> +#if STDC_HEADERS +#include <stdlib.h> +#endif +EOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + egrep "pid_t" >/dev/null 2>&1; then + rm -rf conftest* + ac_cv_type_pid_t=yes +else + rm -rf conftest* + ac_cv_type_pid_t=no +fi +rm -f conftest* + +fi +echo "$ac_t""$ac_cv_type_pid_t" 1>&6 +if test $ac_cv_type_pid_t = no; then + cat >> confdefs.h <<\EOF +#define pid_t int +EOF + +fi + +echo $ac_n "checking for uid_t in sys/types.h""... $ac_c" 1>&6 +if eval "test \"`echo '$''{'ac_cv_type_uid_t'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext <<EOF +#line 1234 "configure" +#include "confdefs.h" +#include <sys/types.h> +EOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + egrep "uid_t" >/dev/null 2>&1; then + rm -rf conftest* + ac_cv_type_uid_t=yes +else + rm -rf conftest* + ac_cv_type_uid_t=no +fi +rm -f conftest* + +fi +echo "$ac_t""$ac_cv_type_uid_t" 1>&6 +if test $ac_cv_type_uid_t = no; then + cat >> confdefs.h <<\EOF +#define uid_t int +EOF + + cat >> confdefs.h <<\EOF +#define gid_t int +EOF + +fi + +echo $ac_n "checking return type of signal handlers""... $ac_c" 1>&6 +if eval "test \"`echo '$''{'ac_cv_type_signal'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext <<EOF +#line 1266 "configure" +#include "confdefs.h" +#include <sys/types.h> +#include <signal.h> +#ifdef signal +#undef signal +#endif +#ifdef __cplusplus +extern "C" +#endif +void (*signal ()) (); +int main() { return 0; } +int t() { +int i; +; return 0; } +EOF +if eval $ac_compile; then + rm -rf conftest* + ac_cv_type_signal=void +else + rm -rf conftest* + ac_cv_type_signal=int +fi +rm -f conftest* + +fi +echo "$ac_t""$ac_cv_type_signal" 1>&6 +cat >> confdefs.h <<EOF +#define RETSIGTYPE $ac_cv_type_signal +EOF + + +echo $ac_n "checking for time_t""... $ac_c" 1>&6 +if eval "test \"`echo '$''{'ac_cv_type_time_t'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext <<EOF +#line 1303 "configure" +#include "confdefs.h" +#include <sys/types.h> +#if STDC_HEADERS +#include <stdlib.h> +#endif +EOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + egrep "time_t" >/dev/null 2>&1; then + rm -rf conftest* + ac_cv_type_time_t=yes +else + rm -rf conftest* + ac_cv_type_time_t=no +fi +rm -f conftest* + +fi +echo "$ac_t""$ac_cv_type_time_t" 1>&6 +if test $ac_cv_type_time_t = no; then + cat >> confdefs.h <<\EOF +#define time_t INT32 +EOF + +fi + + +OLD_LIBOBJS="${LIBOBJS}" + +echo $ac_n "checking for 8-bit clean memcmp""... $ac_c" 1>&6 +if eval "test \"`echo '$''{'ac_cv_func_memcmp'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + if test "$cross_compiling" = yes; then + ac_cv_func_memcmp=no +else +cat > conftest.$ac_ext <<EOF +#line 1340 "configure" +#include "confdefs.h" + +main() +{ + char c0 = 0x40, c1 = 0x80, c2 = 0x81; + exit(memcmp(&c0, &c2, 1) < 0 && memcmp(&c1, &c2, 1) < 0 ? 0 : 1); +} + +EOF +eval $ac_link +if test -s conftest && (./conftest; exit) 2>/dev/null; then + ac_cv_func_memcmp=yes +else + ac_cv_func_memcmp=no +fi +fi +rm -fr conftest* +fi +echo "$ac_t""$ac_cv_func_memcmp" 1>&6 +test $ac_cv_func_memcmp = no && LIBOBJS="$LIBOBJS memcmp.o" + + +if test "${OLD_LIBOBJS}" = "${LIBOBJS}" ; then + cat >> confdefs.h <<\EOF +#define HAVE_MEMCMP 1 +EOF + +fi + +LIBOBJS="${OLD_LIBOBJS}" + +for ac_func in memset memcpy memchr strchr strrchr fchmod getrusage \ + strcspn crypt _crypt getwd getcwd strtod strtok getenv vfprintf bzero bcopy \ + strtol index rindex vsprintf clock times setlocale strcoll getrlimit setrlimit +do +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext <<EOF +#line 1381 "configure" +#include "confdefs.h" +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func(); below. */ +#include <assert.h> +/* Override any gcc2 internal prototype to avoid an error. */ +char $ac_func(); + +int main() { return 0; } +int t() { + +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined (__stub_$ac_func) || defined (__stub___$ac_func) +choke me +#else +$ac_func(); +#endif + +; return 0; } +EOF +if eval $ac_link; then + rm -rf conftest* + eval "ac_cv_func_$ac_func=yes" +else + rm -rf conftest* + eval "ac_cv_func_$ac_func=no" +fi +rm -f conftest* + +fi +if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_func=HAVE_`echo $ac_func | tr '[a-z]' '[A-Z]'` + cat >> confdefs.h <<EOF +#define $ac_tr_func 1 +EOF + +else + echo "$ac_t""no" 1>&6 +fi +done + + + + + + echo $ac_n "checking for strchr declaration""... $ac_c" 1>&6 + if eval "test \"`echo '$''{'lpc_cv_decl_strchr'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + + lpc_cv_decl_strchr=nonexistant + for a in string.h unistd.h stdlib.h + do + cat > conftest.$ac_ext <<EOF +#line 1438 "configure" +#include "confdefs.h" +#include <$a> +EOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + egrep "strchr" >/dev/null 2>&1; then + rm -rf conftest* + lpc_cv_decl_strchr=existant; break +fi +rm -f conftest* + + done + +fi + + echo "$ac_t""$lpc_cv_decl_strchr" 1>&6 + if test "$lpc_cv_decl_strchr" = nonexistant; then + cat >> confdefs.h <<\EOF +#define STRCHR_DECL_MISSING 1 +EOF + + fi + + + echo $ac_n "checking for malloc declaration""... $ac_c" 1>&6 + if eval "test \"`echo '$''{'lpc_cv_decl_malloc'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + + lpc_cv_decl_malloc=nonexistant + for a in memory.h unistd.h stdlib.h + do + cat > conftest.$ac_ext <<EOF +#line 1471 "configure" +#include "confdefs.h" +#include <$a> +EOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + egrep "malloc" >/dev/null 2>&1; then + rm -rf conftest* + lpc_cv_decl_malloc=existant; break +fi +rm -f conftest* + + done + +fi + + echo "$ac_t""$lpc_cv_decl_malloc" 1>&6 + if test "$lpc_cv_decl_malloc" = nonexistant; then + cat >> confdefs.h <<\EOF +#define MALLOC_DECL_MISSING 1 +EOF + + fi + + + echo $ac_n "checking for getpeername declaration""... $ac_c" 1>&6 + if eval "test \"`echo '$''{'lpc_cv_decl_getpeername'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + + lpc_cv_decl_getpeername=nonexistant + for a in sys/socket.h sys/socketvar.h sys/socketio.h + do + cat > conftest.$ac_ext <<EOF +#line 1504 "configure" +#include "confdefs.h" +#include <$a> +EOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + egrep "getpeername" >/dev/null 2>&1; then + rm -rf conftest* + lpc_cv_decl_getpeername=existant; break +fi +rm -f conftest* + + done + +fi + + echo "$ac_t""$lpc_cv_decl_getpeername" 1>&6 + if test "$lpc_cv_decl_getpeername" = nonexistant; then + cat >> confdefs.h <<\EOF +#define GETPEERNAME_DECL_MISSING 1 +EOF + + fi + + + echo $ac_n "checking for popen declaration""... $ac_c" 1>&6 + if eval "test \"`echo '$''{'lpc_cv_decl_popen'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + + lpc_cv_decl_popen=nonexistant + for a in stdio.h unistd.h + do + cat > conftest.$ac_ext <<EOF +#line 1537 "configure" +#include "confdefs.h" +#include <$a> +EOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + egrep "popen" >/dev/null 2>&1; then + rm -rf conftest* + lpc_cv_decl_popen=existant; break +fi +rm -f conftest* + + done + +fi + + echo "$ac_t""$lpc_cv_decl_popen" 1>&6 + if test "$lpc_cv_decl_popen" = nonexistant; then + cat >> confdefs.h <<\EOF +#define POPEN_DECL_MISSING 1 +EOF + + fi + + + echo $ac_n "checking for getenv declaration""... $ac_c" 1>&6 + if eval "test \"`echo '$''{'lpc_cv_decl_getenv'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + + lpc_cv_decl_getenv=nonexistant + for a in unistd.h stdlib.h + do + cat > conftest.$ac_ext <<EOF +#line 1570 "configure" +#include "confdefs.h" +#include <$a> +EOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + egrep "getenv" >/dev/null 2>&1; then + rm -rf conftest* + lpc_cv_decl_getenv=existant; break +fi +rm -f conftest* + + done + +fi + + echo "$ac_t""$lpc_cv_decl_getenv" 1>&6 + if test "$lpc_cv_decl_getenv" = nonexistant; then + cat >> confdefs.h <<\EOF +#define GETENV_DECL_MISSING 1 +EOF + + fi + + + echo $ac_n "checking for gethostname declaration""... $ac_c" 1>&6 + if eval "test \"`echo '$''{'lpc_cv_decl_gethostname'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + + lpc_cv_decl_gethostname=nonexistant + for a in unistd.h + do + cat > conftest.$ac_ext <<EOF +#line 1603 "configure" +#include "confdefs.h" +#include <$a> +EOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + egrep "gethostname" >/dev/null 2>&1; then + rm -rf conftest* + lpc_cv_decl_gethostname=existant; break +fi +rm -f conftest* + + done + +fi + + echo "$ac_t""$lpc_cv_decl_gethostname" 1>&6 + if test "$lpc_cv_decl_gethostname" = nonexistant; then + cat >> confdefs.h <<\EOF +#define GETHOSTNAME_DECL_MISSING 1 +EOF + + fi + + +echo $ac_n "checking return type of free""... $ac_c" 1>&6 +if eval "test \"`echo '$''{'lpc_cv_sys_free_return'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext <<EOF +#line 1632 "configure" +#include "confdefs.h" + +#ifdef HAVE_STDLIB_H +#include <stdlib.h> +#endif + +#ifdef HAVE_UNISTD_H +#include <unistd.h> +#endif + +#if !defined(STDC_HEADERS) && defined(HAVE_MEMORY_H) +#include <memory.h> +#endif + +void free(); + + +int main() { return 0; } +int t() { + +; return 0; } +EOF +if eval $ac_link; then + rm -rf conftest* + lpc_cv_sys_free_return='char *' + +else + rm -rf conftest* + lpc_cv_sys_free_return='void' + +fi +rm -f conftest* + +fi + + +if test "$lpc_cv_sys_free_return" = void; then + cat >> confdefs.h <<\EOF +#define FREE_RETURNS_VOID 1 +EOF + + echo "$ac_t""void" 1>&6; +else + echo "$ac_t""not void" 1>&6 +fi + +echo $ac_n "checking void* or char* from malloc""... $ac_c" 1>&6 +if eval "test \"`echo '$''{'lpc_cv_sys_malloc_return'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + +cat > conftest.$ac_ext <<EOF +#line 1685 "configure" +#include "confdefs.h" + +#include <sys/types.h> + +#ifdef HAVE_STDLIB_H +#include <stdlib.h> +#endif + +#ifdef HAVE_UNISTD_H +#include <unistd.h> +#endif + +#if !defined(STDC_HEADERS) && defined(HAVE_MEMORY_H) +#include <memory.h> +#endif + +#define POINTER void * +POINTER malloc(size_t); + +#ifdef FREE_RETURNS_VOID +void free(POINTER); +#else +int free(POINTER); +#endif + + +int main() { return 0; } +int t() { + +; return 0; } +EOF +if eval $ac_link; then + rm -rf conftest* + lpc_cv_sys_malloc_return="void *" + +else + rm -rf conftest* + lpc_cv_sys_malloc_return="char *" + +fi +rm -f conftest* + +fi + + +echo "$ac_t""$lpc_cv_sys_malloc_return" 1>&6 +cat >> confdefs.h <<EOF +#define POINTER $lpc_cv_sys_malloc_return +EOF + + +# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works +# for constant arguments. Useless! +echo $ac_n "checking for working alloca.h""... $ac_c" 1>&6 +if eval "test \"`echo '$''{'ac_cv_header_alloca_h'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext <<EOF +#line 1744 "configure" +#include "confdefs.h" +#include <alloca.h> +int main() { return 0; } +int t() { +char *p = alloca(2 * sizeof(int)); +; return 0; } +EOF +if eval $ac_link; then + rm -rf conftest* + ac_cv_header_alloca_h=yes +else + rm -rf conftest* + ac_cv_header_alloca_h=no +fi +rm -f conftest* + +fi +echo "$ac_t""$ac_cv_header_alloca_h" 1>&6 +if test $ac_cv_header_alloca_h = yes; then + cat >> confdefs.h <<\EOF +#define HAVE_ALLOCA_H 1 +EOF + +fi + +echo $ac_n "checking for alloca""... $ac_c" 1>&6 +if eval "test \"`echo '$''{'ac_cv_func_alloca'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext <<EOF +#line 1775 "configure" +#include "confdefs.h" + +#ifdef __GNUC__ +# define alloca __builtin_alloca +#else +# if HAVE_ALLOCA_H +# include <alloca.h> +# else +# ifdef _AIX + #pragma alloca +# else +# ifndef alloca /* predefined by HP cc +Olibcalls */ +char *alloca (); +# endif +# endif +# endif +#endif + +int main() { return 0; } +int t() { +char *p = (char *) alloca(1); +; return 0; } +EOF +if eval $ac_link; then + rm -rf conftest* + ac_cv_func_alloca=yes +else + rm -rf conftest* + ac_cv_func_alloca=no +fi +rm -f conftest* + +fi +echo "$ac_t""$ac_cv_func_alloca" 1>&6 +if test $ac_cv_func_alloca = yes; then + cat >> confdefs.h <<\EOF +#define HAVE_ALLOCA 1 +EOF + +fi + +if test $ac_cv_func_alloca = no; then + # The SVR3 libPW and SVR4 libucb both contain incompatible functions + # that cause trouble. Some versions do not even contain alloca or + # contain a buggy version. If you still want to use their alloca, + # use ar to extract alloca.o from them instead of compiling alloca.c. + ALLOCA=alloca.o + cat >> confdefs.h <<\EOF +#define C_ALLOCA 1 +EOF + + +echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6 +if eval "test \"`echo '$''{'ac_cv_os_cray'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext <<EOF +#line 1833 "configure" +#include "confdefs.h" +#if defined(CRAY) && ! defined(CRAY2) +webecray +#else +wenotbecray +#endif + +EOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + egrep "webecray" >/dev/null 2>&1; then + rm -rf conftest* + ac_cv_os_cray=yes +else + rm -rf conftest* + ac_cv_os_cray=no +fi +rm -f conftest* + +fi +echo "$ac_t""$ac_cv_os_cray" 1>&6 +if test $ac_cv_os_cray = yes; then +for ac_func in _getb67 GETB67 getb67; do + echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext <<EOF +#line 1861 "configure" +#include "confdefs.h" +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func(); below. */ +#include <assert.h> +/* Override any gcc2 internal prototype to avoid an error. */ +char $ac_func(); + +int main() { return 0; } +int t() { + +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined (__stub_$ac_func) || defined (__stub___$ac_func) +choke me +#else +$ac_func(); +#endif + +; return 0; } +EOF +if eval $ac_link; then + rm -rf conftest* + eval "ac_cv_func_$ac_func=yes" +else + rm -rf conftest* + eval "ac_cv_func_$ac_func=no" +fi +rm -f conftest* + +fi +if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then + echo "$ac_t""yes" 1>&6 + cat >> confdefs.h <<EOF +#define CRAY_STACKSEG_END $ac_func +EOF + + break +else + echo "$ac_t""no" 1>&6 +fi + +done +fi + +echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6 +if eval "test \"`echo '$''{'ac_cv_c_stack_direction'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + if test "$cross_compiling" = yes; then + ac_cv_c_stack_direction=0 +else +cat > conftest.$ac_ext <<EOF +#line 1915 "configure" +#include "confdefs.h" +find_stack_direction () +{ + static char *addr = 0; + auto char dummy; + if (addr == 0) + { + addr = &dummy; + return find_stack_direction (); + } + else + return (&dummy > addr) ? 1 : -1; +} +main () +{ + exit (find_stack_direction() < 0); +} +EOF +eval $ac_link +if test -s conftest && (./conftest; exit) 2>/dev/null; then + ac_cv_c_stack_direction=1 +else + ac_cv_c_stack_direction=-1 +fi +fi +rm -fr conftest* +fi +echo "$ac_t""$ac_cv_c_stack_direction" 1>&6 +cat >> confdefs.h <<EOF +#define STACK_DIRECTION $ac_cv_c_stack_direction +EOF + +fi + + +echo $ac_n "checking for working const""... $ac_c" 1>&6 +if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext <<EOF +#line 1956 "configure" +#include "confdefs.h" + +int main() { return 0; } +int t() { + +/* Ultrix mips cc rejects this. */ +typedef int charset[2]; const charset x; +/* SunOS 4.1.1 cc rejects this. */ +char const *const *ccp; +char **p; +/* NEC SVR4.0.2 mips cc rejects this. */ +struct point {int x, y;}; +static struct point const zero; +/* AIX XL C 1.02.0.0 rejects this. + It does not let you subtract one const X* pointer from another in an arm + of an if-expression whose if-part is not a constant expression */ +const char *g = "string"; +ccp = &g + (g ? g-g : 0); +/* HPUX 7.0 cc rejects these. */ +++ccp; +p = (char**) ccp; +ccp = (char const *const *) p; +{ /* SCO 3.2v4 cc rejects this. */ + char *t; + char const *s = 0 ? (char *) 0 : (char const *) 0; + + *t++ = 0; +} +{ /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */ + int x[] = {25, 17}; + const int *foo = &x[0]; + ++foo; +} +{ /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */ + typedef const int *iptr; + iptr p = 0; + ++p; +} +{ /* AIX XL C 1.02.0.0 rejects this saying + "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ + struct s { int j; const int *ap[3]; }; + struct s *b; b->j = 5; +} +{ /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ + const int foo = 10; +} + +; return 0; } +EOF +if eval $ac_compile; then + rm -rf conftest* + ac_cv_c_const=yes +else + rm -rf conftest* + ac_cv_c_const=no +fi +rm -f conftest* + +fi +echo "$ac_t""$ac_cv_c_const" 1>&6 +if test $ac_cv_c_const = no; then + cat >> confdefs.h <<\EOF +#define const +EOF + +fi + +echo $ac_n "checking for inline""... $ac_c" 1>&6 +if eval "test \"`echo '$''{'ac_cv_c_inline'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + ac_cv_c_inline=no +for ac_kw in inline __inline__ __inline; do + cat > conftest.$ac_ext <<EOF +#line 2031 "configure" +#include "confdefs.h" + +int main() { return 0; } +int t() { +} $ac_kw foo() { +; return 0; } +EOF +if eval $ac_compile; then + rm -rf conftest* + ac_cv_c_inline=$ac_kw; break +fi +rm -f conftest* + +done + +fi +echo "$ac_t""$ac_cv_c_inline" 1>&6 +case "$ac_cv_c_inline" in + inline | yes) ;; + no) cat >> confdefs.h <<\EOF +#define inline +EOF + ;; + *) cat >> confdefs.h <<EOF +#define inline $ac_cv_c_inline +EOF + ;; +esac + + +echo $ac_n "checking for -lm""... $ac_c" 1>&6 +if eval "test \"`echo '$''{'ac_cv_lib_m'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + ac_save_LIBS="$LIBS" +LIBS="-lm $LIBS" +cat > conftest.$ac_ext <<EOF +#line 2069 "configure" +#include "confdefs.h" + +int main() { return 0; } +int t() { +floor() +; return 0; } +EOF +if eval $ac_link; then + rm -rf conftest* + eval "ac_cv_lib_m=yes" +else + rm -rf conftest* + eval "ac_cv_lib_m=no" +fi +rm -f conftest* +LIBS="$ac_save_LIBS" + +fi +if eval "test \"`echo '$ac_cv_lib_'m`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_lib=HAVE_LIB`echo m | tr '[a-z]' '[A-Z]'` + cat >> confdefs.h <<EOF +#define $ac_tr_lib 1 +EOF + + LIBS="-lm $LIBS" + +else + echo "$ac_t""no" 1>&6 +fi + +echo $ac_n "checking for -lsocket""... $ac_c" 1>&6 +if eval "test \"`echo '$''{'ac_cv_lib_socket'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + ac_save_LIBS="$LIBS" +LIBS="-lsocket $LIBS" +cat > conftest.$ac_ext <<EOF +#line 2108 "configure" +#include "confdefs.h" + +int main() { return 0; } +int t() { +socket() +; return 0; } +EOF +if eval $ac_link; then + rm -rf conftest* + eval "ac_cv_lib_socket=yes" +else + rm -rf conftest* + eval "ac_cv_lib_socket=no" +fi +rm -f conftest* +LIBS="$ac_save_LIBS" + +fi +if eval "test \"`echo '$ac_cv_lib_'socket`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_lib=HAVE_LIB`echo socket | tr '[a-z]' '[A-Z]'` + cat >> confdefs.h <<EOF +#define $ac_tr_lib 1 +EOF + + LIBS="-lsocket $LIBS" + +else + echo "$ac_t""no" 1>&6 +fi + + +if test "$ac_cv_lib_socket" = yes -o "$ac_cv_lib_ucb"; then + echo $ac_n "checking for -lnsl""... $ac_c" 1>&6 +if eval "test \"`echo '$''{'ac_cv_lib_nsl'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + ac_save_LIBS="$LIBS" +LIBS="-lnsl $LIBS" +cat > conftest.$ac_ext <<EOF +#line 2149 "configure" +#include "confdefs.h" + +int main() { return 0; } +int t() { +main() +; return 0; } +EOF +if eval $ac_link; then + rm -rf conftest* + eval "ac_cv_lib_nsl=yes" +else + rm -rf conftest* + eval "ac_cv_lib_nsl=no" +fi +rm -f conftest* +LIBS="$ac_save_LIBS" + +fi +if eval "test \"`echo '$ac_cv_lib_'nsl`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_lib=HAVE_LIB`echo nsl | tr '[a-z]' '[A-Z]'` + cat >> confdefs.h <<EOF +#define $ac_tr_lib 1 +EOF + + LIBS="-lnsl $LIBS" + +else + echo "$ac_t""no" 1>&6 +fi + +fi + +for ac_func in ualarm +do +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext <<EOF +#line 2190 "configure" +#include "confdefs.h" +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func(); below. */ +#include <assert.h> +/* Override any gcc2 internal prototype to avoid an error. */ +char $ac_func(); + +int main() { return 0; } +int t() { + +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined (__stub_$ac_func) || defined (__stub___$ac_func) +choke me +#else +$ac_func(); +#endif + +; return 0; } +EOF +if eval $ac_link; then + rm -rf conftest* + eval "ac_cv_func_$ac_func=yes" +else + rm -rf conftest* + eval "ac_cv_func_$ac_func=no" +fi +rm -f conftest* + +fi +if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then + echo "$ac_t""yes" 1>&6 + : +else + echo "$ac_t""no" 1>&6 +LIBOBJS="$LIBOBJS ${ac_func}.o" +fi + +done + + +case "$LIBOBJS" in + *ualarm.o*) ;; + *) + cat >> confdefs.h <<\EOF +#define HAVE_UALARM 1 +EOF + + ;; +esac + +echo $ac_n "checking byteorder""... $ac_c" 1>&6 +if eval "test \"`echo '$''{'lpc_cv_hardware_byteorder'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + +if test "$cross_compiling" = yes; then + { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } +else +cat > conftest.$ac_ext <<EOF +#line 2252 "configure" +#include "confdefs.h" + +#include <stdio.h> + +int main() +{ +#ifdef SIZEOF_INT == 4 +#define T int +#else +#define T long +#endif + FILE *f; + T a; + int e; + for(e=0;e<sizeof(T);e++) + ((char *)&a)[e]=(e+1) % 10; + + f=fopen("conftest.out.2","w"); + for(e=0;e<sizeof(T);e++) + { + fprintf(f,"%d",(int)(a & 255)); + a>>=8; + } + fprintf(f,"\n"); + fclose(f); + + return 0; +} +EOF +eval $ac_link +if test -s conftest && (./conftest; exit) 2>/dev/null; then + lpc_cv_hardware_byteorder=`cat conftest.out.2` + +else + lpc_cv_hardware_byteorder=0 + +fi +fi +rm -fr conftest* +fi + + +echo "$ac_t""$lpc_cv_hardware_byteorder" 1>&6 +cat >> confdefs.h <<EOF +#define BYTEORDER $lpc_cv_hardware_byteorder +EOF + + +echo $ac_n "checking unaligned read/writes""... $ac_c" 1>&6 +if eval "test \"`echo '$''{'lpc_cv_hardware_unalignedRW'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + + + +if test "$cross_compiling" = yes; then + { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } +else +cat > conftest.$ac_ext <<EOF +#line 2312 "configure" +#include "confdefs.h" + +int main() +{ + char *c; +#ifdef __alpha + return 1; +#endif + c=(char *)malloc(100); + + *((int *)(c+0))=0x1243abcd; + if(*((int *)(c+0))!=0x1243abcd) return 1; + *((int *)(c+1))=0x1243abcd; + if(*((int *)(c+1))!=0x1243abcd) return 1; + *((int *)(c+2))=0x1243abcd; + if(*((int *)(c+2))!=0x1243abcd) return 1; + *((int *)(c+3))=0x1243abcd; + if(*((int *)(c+3))!=0x1243abcd) return 1; + *((short *)(c+1))=0x1243; + if(*((short *)(c+1))!=0x1243) return 1; + *((short *)(c+0))=0x1243; + if(*((short *)(c+0))!=0x1243) return 1; + return 0; +} +EOF +eval $ac_link +if test -s conftest && (./conftest; exit) 2>/dev/null; then + lpc_cv_hardware_unalignedRW=yes +else + lpc_cv_hardware_unalignedRW=no +fi +fi +rm -fr conftest* +fi + + +if test "$lpc_cv_hardware_unalignedRW" = "yes"; then + echo "$ac_t""yes" 1>&6 + cat >> confdefs.h <<\EOF +#define HANDLES_UNALIGNED_MEMORY_ACCESS 1 +EOF + +else + echo "$ac_t""no" 1>&6 +fi + +echo $ac_n "checking for working memmem""... $ac_c" 1>&6 +if eval "test \"`echo '$''{'lpc_cv_func_memmem'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + +if test "$cross_compiling" = yes; then + { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } +else +cat > conftest.$ac_ext <<EOF +#line 2368 "configure" +#include "confdefs.h" + +#include <string.h> +char *a="foo bar gazonk"; +char *b="foo"; +char *c="bar"; +char *d="gazonk"; +void main() +{ + if(memmem(b,strlen(b),a,strlen(a))!=a || + memmem(c,strlen(c),a,strlen(a))!=(a+4) || + memmem(d,strlen(d),a,strlen(a))!=(a+8) || + memmem(d,0,a,strlen(a))!=a || + memmem(d,strlen(d)+1,a,strlen(a))!=0) + exit(1); + exit(0); +} + +EOF +eval $ac_link +if test -s conftest && (./conftest; exit) 2>/dev/null; then + lpc_cv_func_memmem=yes +else + lpc_cv_func_memmem=no +fi +fi +rm -fr conftest* +fi + + +if test "$lpc_cv_func_memmem" = yes; then + echo "$ac_t""yes" 1>&6 + cat >> confdefs.h <<\EOF +#define HAVE_MEMMEM 1 +EOF + +else + echo "$ac_t""no" 1>&6 +fi + +echo $ac_n "checking for working memmove""... $ac_c" 1>&6 +if eval "test \"`echo '$''{'lpc_cv_func_memmove'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + +if test "$cross_compiling" = yes; then + { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } +else +cat > conftest.$ac_ext <<EOF +#line 2418 "configure" +#include "confdefs.h" + +#include <string.h> +char buf[100]; +void main() +{ + strcpy(buf,"foo bar gazonk elefantsnabel."); + if(strcmp(buf,"foo bar gazonk elefantsnabel.")) exit(1); + memmove(buf,buf+1,8); + if(strcmp(buf,"oo bar gazonk elefantsnabel.")) exit(1); + memmove(buf+1,buf+1,9); + if(strcmp(buf,"oo bar gazonk elefantsnabel.")) exit(1); + memmove(buf+1,buf,11); + if(strcmp(buf,"ooo bar gaznk elefantsnabel.")) exit(1); + exit(0); +} + +EOF +eval $ac_link +if test -s conftest && (./conftest; exit) 2>/dev/null; then + lpc_cv_func_memmove=yes +else + lpc_cv_func_memmove=no +fi +fi +rm -fr conftest* +fi + + +if test "$lpc_cv_func_memmove" = yes; then + echo "$ac_t""yes" 1>&6 + cat >> confdefs.h <<\EOF +#define HAVE_MEMMOVE 1 +EOF + +else + echo "$ac_t""no" 1>&6 +fi + +echo $ac_n "checking how to extract an unsigned char""... $ac_c" 1>&6 +if eval "test \"`echo '$''{'lpc_cv_method_extract_uchar'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + +if test "$cross_compiling" = yes; then + { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } +else +cat > conftest.$ac_ext <<EOF +#line 2467 "configure" +#include "confdefs.h" + +void main() +{ + char i,*p; + i=-10; + p=&i; + if(*(unsigned char *)(p)!= 0x100 - 10) exit(1); + exit(0); +} + +EOF +eval $ac_link +if test -s conftest && (./conftest; exit) 2>/dev/null; then + lpc_cv_method_extract_uchar=by_cast +else + lpc_cv_method_extract_uchar=not_by_cast +fi +fi +rm -fr conftest* +fi + + +if test "$lpc_cv_method_extract_uchar" = by_cast; then + echo "$ac_t""by cast" 1>&6 + cat >> confdefs.h <<\EOF +#define EXTRACT_UCHAR_BY_CAST 1 +EOF + +else + echo "$ac_t""not by cast" 1>&6 +fi + +echo $ac_n "checking how to extract a signed char""... $ac_c" 1>&6 +if eval "test \"`echo '$''{'lpc_cv_method_extract_char'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + +if test "$cross_compiling" = yes; then + { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } +else +cat > conftest.$ac_ext <<EOF +#line 2510 "configure" +#include "confdefs.h" + +void main() +{ + char i,*p; + i=-10; + p=&i; + if(*(signed char *)(p)!= -10) exit(1); + exit(0); +} + +EOF +eval $ac_link +if test -s conftest && (./conftest; exit) 2>/dev/null; then + lpc_cv_method_extract_char=by_cast +else + lpc_cv_method_extract_char=not_by_cast +fi +fi +rm -fr conftest* +fi + + +if test "$lpc_cv_method_extract_char" = by_cast; then + echo "$ac_t""by cast" 1>&6 + cat >> confdefs.h <<\EOF +#define EXTRACT_CHAR_BY_CAST 1 +EOF + +else + echo "$ac_t""not by cast" 1>&6 +fi + +echo $ac_n "checking available file descriptors""... $ac_c" 1>&6 +if eval "test \"`echo '$''{'lpc_cv_max_open_fd'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + +if test "$cross_compiling" = yes; then + { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } +else +cat > conftest.$ac_ext <<EOF +#line 2553 "configure" +#include "confdefs.h" + +#include <stdio.h> +#ifdef HAVE_SYS_TIME_H +#include <sys/time.h> +#endif +#ifdef HAVE_SYS_RESOURCE_H +#include <sys/resource.h> +#endif + +#ifndef MAX_FD +#define MAX_FD 256 +#endif + +int main() +{ + FILE *f; + int limit; +#ifdef HAVE_GETRLIMIT + struct rlimit lim; + + if(getrlimit(RLIMIT_NOFILE,&lim)) + { + limit = MAX_FD; + }else{ + limit = lim.rlim_max; + if(limit == RLIM_INFINITY) + limit=16384; /* noone needs more */ + } +#else + limit = MAX_FD; +#endif + + + f=fopen("conftest.out.2","w"); + fprintf(f,"%ld\n",(long)lim.rlim_max); + fclose(f); + + return 0; +} + +EOF +eval $ac_link +if test -s conftest && (./conftest; exit) 2>/dev/null; then + lpc_cv_max_open_fd=`cat conftest.out.2` + +else + lpc_cv_max_open_fd=256 + +fi +fi +rm -fr conftest* +fi + +echo "$ac_t""$lpc_cv_max_open_fd" 1>&6 +cat >> confdefs.h <<EOF +#define MAX_OPEN_FILEDESCRIPTORS $lpc_cv_max_open_fd +EOF + + +if test "$ac_cv_func_getrusage" = "yes"; then +echo $ac_n "checking full availability of struct rusage members""... $ac_c" 1>&6 +if eval "test \"`echo '$''{'lpc_cv_func_getrusage_full'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + +cat > conftest.$ac_ext <<EOF +#line 2621 "configure" +#include "confdefs.h" + +#include <sys/time.h> +#ifdef HAVE_SYS_RUSAGE_H +#include <sys/rusage.h> +#endif +#include <sys/resource.h> +#ifndef RUSAGE_SELF +#define RUSAGE_SELF 0 +#endif + +int main() { return 0; } +int t() { + + struct rusage rus; + long *v = (long *)main; + getrusage(RUSAGE_SELF, &rus); + *v++ = rus.ru_maxrss; + *v++ = rus.ru_ixrss; + *v++ = rus.ru_idrss; + *v++ = rus.ru_isrss; + *v++ = rus.ru_minflt; + *v++ = rus.ru_majflt; + *v++ = rus.ru_nswap; + *v++ = rus.ru_inblock; + *v++ = rus.ru_oublock; + *v++ = rus.ru_msgsnd; + *v++ = rus.ru_msgrcv; + *v++ = rus.ru_nsignals; + *v++ = rus.ru_nvcsw; + *v++ = rus.ru_nivcsw; + +; return 0; } +EOF +if eval $ac_link; then + rm -rf conftest* + lpc_cv_func_getrusage_full=yes + +else + rm -rf conftest* + lpc_cv_func_getrusage_full=no + +fi +rm -f conftest* + +fi + + +if test "$lpc_cv_func_getrusage_full" = yes; then + echo "$ac_t""all there" 1>&6 +else + echo "$ac_t""getrusage is restricted" 1>&6 + cat >> confdefs.h <<\EOF +#define GETRUSAGE_RESTRICTED 1 +EOF + +fi + +else + +echo $ac_n "checking getrusage() through procfs""... $ac_c" 1>&6 +if eval "test \"`echo '$''{'lpc_cv_getrusage_procfs'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + +cat > conftest.$ac_ext <<EOF +#line 2688 "configure" +#include "confdefs.h" + +#include <sys/procfs.h> +#include <sys/fcntl.h> +int proc_fd; +char proc_name[20]; + +int main() { return 0; } +int t() { + + sprintf(proc_name, "/proc/%05d", getpid()); + proc_fd = open(proc_name, O_RDONLY); + +; return 0; } +EOF +if eval $ac_link; then + rm -rf conftest* + lpc_cv_getrusage_procfs=yes + +else + rm -rf conftest* + lpc_cv_getrusage_procfs=no + +fi +rm -f conftest* + +fi + + +if test "$lpc_cv_getrusage_procfs" = yes; then + echo "$ac_t""yes" 1>&6 + cat >> confdefs.h <<\EOF +#define GETRUSAGE_THROUGH_PROCFS 1 +EOF + +else + echo "$ac_t""no" 1>&6 +fi +fi + +echo $ac_n "checking checking for volatile""... $ac_c" 1>&6 +if eval "test \"`echo '$''{'lpc_cv_volatile'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + + cat > conftest.$ac_ext <<EOF +#line 2735 "configure" +#include "confdefs.h" + +int main() { return 0; } +int t() { + volatile int foo=1; +; return 0; } +EOF +if eval $ac_link; then + rm -rf conftest* + lpc_cv_volatile=yes +else + rm -rf conftest* + lpc_cv_volatile=no +fi +rm -f conftest* + + +fi + + +if test "$lpc_cv_volatile" = yes; then + echo "$ac_t""yes" 1>&6 + cat >> confdefs.h <<\EOF +#define VOLATILE volatile +EOF + +else + echo "$ac_t""no" 1>&6 + cat >> confdefs.h <<\EOF +#define VOLATILE +EOF + +fi + +echo $ac_n "checking for gcc function attributes""... $ac_c" 1>&6 +if eval "test \"`echo '$''{'lpc_cv_gcc_attributes'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + +if test "$cross_compiling" = yes; then + { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } +else +cat > conftest.$ac_ext <<EOF +#line 2779 "configure" +#include "confdefs.h" + +#include <stdarg.h> +void fatal(char *foo,...) __attribute__ ((noreturn,format (printf,1,2))); +int sqr(int x) __attribute__ ((const)); + +int sqr(int x) { return x*x; } + +void fatal(char *foo,...) +{ + va_list args; + va_start(foo,args); + printf(foo,args); + va_end(args); + exit(2); +} +main() { exit(0); } + + +EOF +eval $ac_link +if test -s conftest && (./conftest; exit) 2>/dev/null; then + lpc_cv_gcc_attributes=yes +else + lpc_cv_gcc_attributes=no +fi +fi +rm -fr conftest* +fi + + +echo "$ac_t""$lpc_cv_gcc_attributes" 1>&6 +if test "$lpc_cv_gcc_attributes" = yes; then + cat >> confdefs.h <<\EOF +#define HAVE_FUNCTION_ATTRIBUTES 1 +EOF + +fi + +echo $ac_n "checking how to set things nonblocking""... $ac_c" 1>&6 +if eval "test \"`echo '$''{'lpc_cv_sys_nonblock'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + +if test "$cross_compiling" = yes; then + { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } +else +cat > conftest.$ac_ext <<EOF +#line 2828 "configure" +#include "confdefs.h" + +#define TESTING +#define USE_FCNTL_FNDELAY +#include "$srcdir/fd_control.c" + +EOF +eval $ac_link +if test -s conftest && (./conftest; exit) 2>/dev/null; then + lpc_cv_sys_nonblock=USE_FCNTL_FNDELAY +else + if test "$cross_compiling" = yes; then + { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } +else +cat > conftest.$ac_ext <<EOF +#line 2844 "configure" +#include "confdefs.h" + +#define TESTING +#define USE_FCNTL_O_NDELAY +#include "$srcdir/fd_control.c" + +EOF +eval $ac_link +if test -s conftest && (./conftest; exit) 2>/dev/null; then + lpc_cv_sys_nonblock=USE_FCNTL_O_NDELAY +else + if test "$cross_compiling" = yes; then + { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } +else +cat > conftest.$ac_ext <<EOF +#line 2860 "configure" +#include "confdefs.h" + +#define TESTING +#define USE_FCNTL_O_NONBLOCK +#include "$srcdir/fd_control.c" + +EOF +eval $ac_link +if test -s conftest && (./conftest; exit) 2>/dev/null; then + lpc_cv_sys_nonblock=USE_FCNTL_O_NONBLOCK +else + if test "$cross_compiling" = yes; then + { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } +else +cat > conftest.$ac_ext <<EOF +#line 2876 "configure" +#include "confdefs.h" + +#define TESTING +#define USE_IOCTL_FIONBIO +#include "$srcdir/fd_control.c" + +EOF +eval $ac_link +if test -s conftest && (./conftest; exit) 2>/dev/null; then + lpc_cv_sys_nonblock=USE_IOCTL_FIONBIO +else + unset lpc_cv_sys_nonblock + +fi +fi +rm -fr conftest* +fi +fi +rm -fr conftest* +fi +fi +rm -fr conftest* +fi +fi +rm -fr conftest* +fi + + +if test "${lpc_cv_sys_nonblock}" = ""; then + echo "$ac_t""none found" 1>&6 +else + echo "$ac_t""$lpc_cv_sys_nonblock" 1>&6 + cat >> confdefs.h <<EOF +#define $lpc_cv_sys_nonblock 1 +EOF + +fi + +rm -f core + + +dirs= +MODULE_OBJS= +module_names= +for a in `(cd $srcdir/modules ; echo *)` +do + if test "$a" != "CVS" ; then + if test -d "$srcdir/modules/$a" ; then + dirs="$dirs modules/$a" + MODULE_OBJS="$MODULE_OBJS modules/$a/$a.a" + module_names="$module_names $a" + fi + fi +done + + +subdirs="$dirs" + + + + + + + + + + +trap '' 1 2 15 +cat > confcache <<\EOF +# 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. It is not useful on other systems. +# If it contains results you don't want to keep, you may remove or edit it. +# +# By default, configure uses ./config.cache as the cache file, +# creating it if it does not exist already. You can give configure +# the --cache-file=FILE option to use a different cache file; that is +# what configure does when it calls configure scripts in +# subdirectories, so they share the cache. +# Giving --cache-file=/dev/null disables caching, for debugging configure. +# config.status only pays attention to the cache file if you give it the +# --recheck option to rerun configure. +# +EOF +# 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 | + sed -n "s/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=\${\1='\2'}/p" \ + >> confcache +if cmp -s $cache_file confcache; then + : +else + if test -w $cache_file; then + echo "updating cache $cache_file" + cat confcache > $cache_file + else + echo "not updating unwritable cache $cache_file" + fi +fi +rm -f confcache + +trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15 + +test "x$prefix" = xNONE && prefix=$ac_default_prefix +# Let make expand exec_prefix. +test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' + +# Any assignment to VPATH causes Sun make to only execute +# the first set of double-colon rules, so remove it if not needed. +# If there is a colon in the path, we need to keep it. +if test "x$srcdir" = x.; then + ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d' +fi + +trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15 + +DEFS=-DHAVE_CONFIG_H + +# Without the "./", some shells look in PATH for config.status. +: ${CONFIG_STATUS=./config.status} + +echo creating $CONFIG_STATUS +rm -f $CONFIG_STATUS +cat > $CONFIG_STATUS <<EOF +#! /bin/sh +# Generated automatically by configure. +# Run this file to recreate the current configuration. +# This directory was configured as follows, +# on host `(hostname || uname -n) 2>/dev/null | sed 1q`: +# +# $0 $ac_configure_args +# +# Compiler output produced by configure, useful for debugging +# configure, is in ./config.log if it exists. + +ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]" +for ac_option +do + case "\$ac_option" in + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) + echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion" + exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;; + -version | --version | --versio | --versi | --vers | --ver | --ve | --v) + echo "$CONFIG_STATUS generated by autoconf version 2.4" + exit 0 ;; + -help | --help | --hel | --he | --h) + echo "\$ac_cs_usage"; exit 0 ;; + *) echo "\$ac_cs_usage"; exit 1 ;; + esac +done + +ac_given_srcdir=$srcdir +ac_given_INSTALL="$INSTALL" + +trap 'rm -fr `echo "Makefile machine.h" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15 + +# Protect against being on the right side of a sed subst in config.status. +sed 's/%@/@@/; s/@%/@@/; s/%g$/@g/; /@g$/s/[\\\\&%]/\\\\&/g; + s/@@/%@/; s/@@/@%/; s/@g$/%g/' > conftest.subs <<\CEOF +$ac_vpsub +$extrasub +s%@CFLAGS@%$CFLAGS%g +s%@CPPFLAGS@%$CPPFLAGS%g +s%@CXXFLAGS@%$CXXFLAGS%g +s%@DEFS@%$DEFS%g +s%@LDFLAGS@%$LDFLAGS%g +s%@LIBS@%$LIBS%g +s%@exec_prefix@%$exec_prefix%g +s%@prefix@%$prefix%g +s%@program_transform_name@%$program_transform_name%g +s%@CC@%$CC%g +s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g +s%@INSTALL_DATA@%$INSTALL_DATA%g +s%@YACC@%$YACC%g +s%@CPP@%$CPP%g +s%@RANLIB@%$RANLIB%g +s%@SET_MAKE@%$SET_MAKE%g +s%@LIBOBJS@%$LIBOBJS%g +s%@ALLOCA@%$ALLOCA%g +s%@subdirs@%$subdirs%g +s%@MODULE_OBJS@%$MODULE_OBJS%g +s%@INSTALL@%$INSTALL%g +s%@WARN@%$WARN%g +s%@COMPARE@%$COMPARE%g +s%@OPTIMIZE@%$OPTIMIZE%g +s%@EXTRA_OBJS@%$EXTRA_OBJS%g + +CEOF +EOF +cat >> $CONFIG_STATUS <<EOF + +CONFIG_FILES=\${CONFIG_FILES-"Makefile"} +EOF +cat >> $CONFIG_STATUS <<\EOF +for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then + # Support "outfile[:infile]", defaulting infile="outfile.in". + case "$ac_file" in + *:*) ac_file_in=`echo "$ac_file"|sed 's%.*:%%'` + ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; + *) ac_file_in="${ac_file}.in" ;; + esac + + # Adjust relative srcdir, etc. for subdirectories. + + # Remove last slash and all that follows it. Not all systems have dirname. + ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'` + if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then + # The file is in a subdirectory. + test ! -d "$ac_dir" && mkdir "$ac_dir" + ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`" + # A "../" for each directory in $ac_dir_suffix. + ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'` + else + ac_dir_suffix= ac_dots= + fi + + case "$ac_given_srcdir" in + .) srcdir=. + if test -z "$ac_dots"; then top_srcdir=. + else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;; + /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;; + *) # Relative path. + srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix" + top_srcdir="$ac_dots$ac_given_srcdir" ;; + esac + + case "$ac_given_INSTALL" in + [/$]*) INSTALL="$ac_given_INSTALL" ;; + *) INSTALL="$ac_dots$ac_given_INSTALL" ;; + esac + echo creating "$ac_file" + rm -f "$ac_file" + configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure." + case "$ac_file" in + *Makefile*) ac_comsub="1i\\ +# $configure_input" ;; + *) ac_comsub= ;; + esac + sed -e "$ac_comsub +s%@configure_input@%$configure_input%g +s%@srcdir@%$srcdir%g +s%@top_srcdir@%$top_srcdir%g +s%@INSTALL@%$INSTALL%g +" -f conftest.subs $ac_given_srcdir/$ac_file_in > $ac_file +fi; done +rm -f conftest.subs + +# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where +# NAME is the cpp macro being defined and VALUE is the value it is being given. +# +# ac_d sets the value in "#define NAME VALUE" lines. +ac_dA='s%^\([ ]*\)#\([ ]*define[ ][ ]*\)' +ac_dB='\([ ][ ]*\)[^ ]*%\1#\2' +ac_dC='\3' +ac_dD='%g' +# ac_u turns "#undef NAME" with trailing blanks into "#define NAME VALUE". +ac_uA='s%^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' +ac_uB='\([ ]\)%\1#\2define\3' +ac_uC=' ' +ac_uD='\4%g' +# ac_e turns "#undef NAME" without trailing blanks into "#define NAME VALUE". +ac_eA='s%^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' +ac_eB='$%\1#\2define\3' +ac_eC=' ' +ac_eD='%g' + +CONFIG_HEADERS=${CONFIG_HEADERS-"machine.h"} +for ac_file in .. $CONFIG_HEADERS; do if test "x$ac_file" != x..; then + # Support "outfile[:infile]", defaulting infile="outfile.in". + case "$ac_file" in + *:*) ac_file_in=`echo "$ac_file"|sed 's%.*:%%'` + ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; + *) ac_file_in="${ac_file}.in" ;; + esac + + echo creating $ac_file + + rm -f conftest.frag conftest.in conftest.out + cp $ac_given_srcdir/$ac_file_in conftest.in + +EOF + +# Transform confdefs.h into a sed script conftest.vals that substitutes +# the proper values into config.h.in to produce config.h. And first: +# Protect against being on the right side of a sed subst in config.status. +# Protect against being in an unquoted here document in config.status. +rm -f conftest.vals +cat > conftest.hdr <<\EOF +s/[\\&%]/\\&/g +s%[\\$`]%\\&%g +s%#define \([A-Za-z_][A-Za-z0-9_]*\) \(.*\)%${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD}%gp +s%ac_d%ac_u%gp +s%ac_u%ac_e%gp +EOF +sed -n -f conftest.hdr confdefs.h > conftest.vals +rm -f conftest.hdr + +# This sed command replaces #undef with comments. This is necessary, for +# example, in the case of _POSIX_SOURCE, which is predefined and required +# on some systems where configure will not decide to define it. +cat >> conftest.vals <<\EOF +s%^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*%/* & */% +EOF + +# Break up conftest.vals because some shells have a limit on +# the size of here documents, and old seds have small limits too. +# Maximum number of lines to put in a single here document. +ac_max_here_lines=12 + +rm -f conftest.tail +while : +do + ac_lines=`grep -c . conftest.vals` + # grep -c gives empty output for an empty file on some AIX systems. + if test -z "$ac_lines" || test "$ac_lines" -eq 0; then break; fi + # Write a limited-size here document to conftest.frag. + echo ' cat > conftest.frag <<CEOF' >> $CONFIG_STATUS + sed ${ac_max_here_lines}q conftest.vals >> $CONFIG_STATUS + echo 'CEOF + sed -f conftest.frag conftest.in > conftest.out + rm -f conftest.in + mv conftest.out conftest.in +' >> $CONFIG_STATUS + sed 1,${ac_max_here_lines}d conftest.vals > conftest.tail + rm -f conftest.vals + mv conftest.tail conftest.vals +done +rm -f conftest.vals + +cat >> $CONFIG_STATUS <<\EOF + rm -f conftest.frag conftest.h + echo "/* $ac_file. Generated automatically by configure. */" > conftest.h + cat conftest.in >> conftest.h + rm -f conftest.in + if cmp -s $ac_file conftest.h 2>/dev/null; then + echo "$ac_file is unchanged" + rm -f conftest.h + else + rm -f $ac_file + mv conftest.h $ac_file + fi +fi; done + +EOF +cat >> $CONFIG_STATUS <<EOF +dirs="$module_names" + +EOF +cat >> $CONFIG_STATUS <<\EOF + +echo "FOO" >stamp-h +if test ! -d ./modules ; then + mkdir modules +fi + +echo "$ac_t""creating modlist.h" 1>&6 +echo "void init_main_efuns(void);" >modlist.h +echo "void init_main_programs(void);" >>modlist.h +echo "void exit_main(void);" >>modlist.h + +for a in $dirs +do + echo "void init_"$a"_efuns(void);" >>modlist.h + echo "void init_"$a"_programs(void);" >>modlist.h + echo "void exit_"$a"(void);" >>modlist.h +done +echo "" >>modlist.h +echo "struct module module_list UGLY_WORKAROUND={" >>modlist.h + +echo " { \"main\", init_main_efuns, init_main_programs, exit_main, 0 }" >>modlist.h +for a in $dirs +do + echo " ,{ \"$a\", init_"$a"_efuns, init_"$a"_programs, exit_$a, 0 }" >>modlist.h +done +echo "};" >>modlist.h + + +exit 0 +EOF +chmod +x $CONFIG_STATUS +rm -fr confdefs* $ac_clean_files +test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1 + +if test "$no_recursion" != yes; then + + # Remove --cache-file and --srcdir arguments so they do not pile up. + ac_sub_configure_args= + ac_prev= + for ac_arg in $ac_configure_args; do + if test -n "$ac_prev"; then + ac_prev= + continue + fi + case "$ac_arg" in + -cache-file | --cache-file | --cache-fil | --cache-fi \ + | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) + ac_prev=cache_file ;; + -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ + | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) + ;; + -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) + ac_prev=srcdir ;; + -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) + ;; + *) ac_sub_configure_args="$ac_sub_configure_args $ac_arg" ;; + esac + done + + for ac_config_dir in $dirs; do + + # Do not complain, so a configure script can configure whichever + # parts of a large source tree are present. + if test ! -d $srcdir/$ac_config_dir; then + continue + fi + + echo configuring in $ac_config_dir + + case "$srcdir" in + .) ;; + *) + if test -d ./$ac_config_dir || mkdir ./$ac_config_dir; then :; + else + { echo "configure: error: can not create `pwd`/$ac_config_dir" 1>&2; exit 1; } + fi + ;; + esac + + ac_popdir=`pwd` + cd $ac_config_dir + + case "$srcdir" in + .) # No --srcdir option. We are building in place. + ac_sub_srcdir=$srcdir ;; + /*) # Absolute path. + ac_sub_srcdir=$srcdir/$ac_config_dir ;; + *) # Relative path. + ac_sub_srcdir=../$srcdir/$ac_config_dir ;; + esac + + # Check for guested configure; otherwise get Cygnus style configure. + if test -f $ac_sub_srcdir/configure; then + ac_sub_configure=$ac_sub_srcdir/configure + elif test -f $ac_sub_srcdir/configure.in; then + ac_sub_configure=$ac_configure + else + echo "configure: warning: no configuration information is in $ac_config_dir" 1>&2 + ac_sub_configure= + fi + + # The recursion is here. + if test -n "$ac_sub_configure"; then + + # Make the cache file name correct relative to the subdirectory. + # A "../" for each directory in /$ac_config_dir. + ac_dots=`echo $ac_config_dir|sed -e 's%^\./%%' -e 's%[^/]$%&/%' -e 's%[^/]*/%../%g'` + case "$cache_file" in + /*) ac_sub_cache_file=$cache_file ;; + *) # Relative path. + ac_sub_cache_file="$ac_dots$cache_file" ;; + esac + case "$ac_given_INSTALL" in + [/$]*) INSTALL="$ac_given_INSTALL" ;; + *) INSTALL="$ac_dots$ac_given_INSTALL" ;; + esac + + echo "running ${CONFIG_SHELL-/bin/sh} $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_sub_srcdir" + # The eval makes quoting arguments work. + if eval ${CONFIG_SHELL-/bin/sh} $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_sub_srcdir + then : + else + { echo "configure: error: $ac_sub_configure failed for $ac_config_dir" 1>&2; exit 1; } + fi + fi + + cd $ac_popdir + done +fi + + + diff --git a/src/dependencies b/src/dependencies new file mode 100644 index 0000000000000000000000000000000000000000..0a3f25f69812ec078c56f5b3eb0c211fe28cd53c --- /dev/null +++ b/src/dependencies @@ -0,0 +1,218 @@ +language.o: language.c global.h \ + config.h machine.h port.h \ + interpret.h program.h \ + array.h las.h \ + svalue.h dynamic_buffer.h \ + object.h stralloc.h \ + lex.h lpc_types.h \ + add_efun.h hashtable.h \ + macros.h error.h \ + docode.h +add_efun.o: add_efun.c add_efun.h \ + svalue.h types.h \ + hashtable.h macros.h \ + program.h machine.h \ + lpc_types.h stralloc.h \ + memory.h interpret.h \ + config.h +alloca.o: alloca.c +array.o: array.c global.h \ + config.h machine.h port.h \ + svalue.h array.h \ + las.h dynamic_buffer.h \ + program.h object.h \ + stralloc.h interpret.h \ + language.h error.h lpc_types.h \ + fsort.h builtin_efuns.h +backend.o: backend.c global.h \ + config.h machine.h port.h \ + interpret.h program.h \ + object.h svalue.h \ + error.h call_out.h \ + backend.h fd_control.h \ + main.h +builtin_efuns.o: builtin_efuns.c \ + global.h config.h machine.h \ + port.h interpret.h \ + program.h svalue.h \ + macros.h object.h \ + array.h las.h \ + dynamic_buffer.h error.h \ + add_efun.h hashtable.h \ + mapping.h stralloc.h \ + lex.h list.h \ + lpc_types.h rusage.h \ + operators.h fsort.h \ + call_out.h +call_out.o: call_out.c global.h \ + config.h machine.h port.h \ + array.h las.h \ + svalue.h dynamic_buffer.h \ + program.h call_out.h \ + object.h interpret.h \ + error.h builtin_efuns.h +docode.o: docode.c machine.h \ + config.h las.h \ + types.h svalue.h \ + dynamic_buffer.h program.h \ + language.h lpc_types.h \ + stralloc.h interpret.h \ + add_efun.h hashtable.h \ + array.h macros.h \ + error.h memory.h \ + main.h lex.h \ + builtin_efuns.h +dynamic_buffer.o: dynamic_buffer.c \ + global.h config.h machine.h \ + port.h dynamic_buffer.h \ + stralloc.h error.h \ + svalue.h +error.o: error.c global.h \ + config.h machine.h port.h \ + macros.h error.h \ + svalue.h interpret.h \ + program.h stralloc.h \ + builtin_efuns.h array.h \ + las.h dynamic_buffer.h \ + object.h +fd_control.o: fd_control.c \ + fd_control.h global.h \ + config.h machine.h port.h +fsort.o: fsort.c global.h \ + config.h machine.h port.h \ + fsort.h +hashtable.o: hashtable.c \ + hashtable.h types.h \ + stralloc.h config.h machine.h \ + stuff.h error.h \ + svalue.h +interpret.o: interpret.c global.h \ + config.h machine.h port.h \ + interpret.h program.h \ + object.h svalue.h \ + array.h las.h \ + dynamic_buffer.h mapping.h \ + error.h language.h stralloc.h \ + add_efun.h hashtable.h \ + macros.h list.h \ + backend.h operators.h \ + opcodes.h main.h \ + lex.h builtin_efuns.h +las.o: las.c global.h \ + config.h machine.h port.h \ + language.h interpret.h \ + program.h las.h \ + svalue.h dynamic_buffer.h \ + array.h object.h \ + stralloc.h lex.h \ + lpc_types.h add_efun.h \ + hashtable.h mapping.h \ + list.h error.h \ + docode.h main.h +lex.o: lex.c global.h \ + config.h machine.h port.h \ + language.h array.h las.h \ + svalue.h dynamic_buffer.h \ + program.h lex.h \ + stralloc.h add_efun.h \ + hashtable.h macros.h \ + stuff.h interpret.h \ + error.h object.h \ + operators.h opcodes.h \ + builtin_efuns.h +list.o: list.c global.h \ + config.h machine.h port.h \ + array.h las.h \ + svalue.h dynamic_buffer.h \ + program.h list.h \ + macros.h error.h \ + interpret.h builtin_efuns.h +lpc_types.o: lpc_types.c global.h \ + config.h machine.h port.h \ + svalue.h lpc_types.h \ + stralloc.h stuff.h \ + array.h las.h \ + dynamic_buffer.h program.h \ + add_efun.h hashtable.h \ + object.h list.h \ + mapping.h macros.h \ + error.h +main.o: main.c global.h \ + config.h machine.h port.h \ + backend.h module.h \ + object.h svalue.h \ + lex.h lpc_types.h \ + builtin_efuns.h array.h \ + las.h dynamic_buffer.h \ + program.h stralloc.h \ + interpret.h error.h \ + macros.h +mapping.o: mapping.c global.h \ + config.h machine.h port.h \ + mapping.h las.h \ + svalue.h dynamic_buffer.h \ + program.h array.h \ + macros.h language.h error.h \ + interpret.h +memory.o: memory.c global.h \ + config.h machine.h port.h \ + error.h svalue.h +module.o: module.c module.h \ + types.h macros.h \ + error.h machine.h svalue.h \ + modlist.h +object.o: object.c object.h \ + types.h svalue.h \ + dynamic_buffer.h interpret.h \ + program.h machine.h config.h \ + stralloc.h macros.h \ + memory.h error.h \ + main.h +opcodes.o: opcodes.c global.h \ + config.h machine.h port.h \ + interpret.h program.h \ + svalue.h array.h \ + las.h dynamic_buffer.h \ + stralloc.h mapping.h \ + list.h opcodes.h \ + object.h error.h \ + lpc_types.h +operators.o: operators.c global.h \ + config.h machine.h port.h \ + interpret.h program.h \ + svalue.h list.h \ + las.h dynamic_buffer.h \ + mapping.h array.h \ + stralloc.h opcodes.h \ + operators.h language.h error.h +port.o: port.c global.h \ + config.h machine.h port.h \ + macros.h +program.o: program.c global.h \ + config.h machine.h port.h \ + program.h object.h \ + svalue.h dynamic_buffer.h \ + lpc_types.h stralloc.h \ + las.h language.h lex.h \ + macros.h fsort.h \ + error.h docode.h \ + interpret.h hashtable.h +rusage.o: rusage.c global.h \ + config.h machine.h port.h \ + rusage.h +stralloc.o: stralloc.c global.h \ + config.h machine.h port.h \ + stralloc.h macros.h \ + dynamic_buffer.h error.h \ + svalue.h +stuff.o: stuff.c stuff.h \ + types.h +svalue.o: svalue.c global.h \ + config.h machine.h port.h \ + svalue.h stralloc.h \ + array.h las.h \ + dynamic_buffer.h program.h \ + mapping.h list.h \ + object.h add_efun.h \ + hashtable.h error.h +ualarm.o: ualarm.c diff --git a/src/modlist.h b/src/modlist.h new file mode 100644 index 0000000000000000000000000000000000000000..b9afce74e50cd0ed3cc577ab36f221862c7ac4ad --- /dev/null +++ b/src/modlist.h @@ -0,0 +1,35 @@ +void init_main_efuns(void); +void init_main_programs(void); +void exit_main(void); +void init_files_efuns(void); +void init_files_programs(void); +void exit_files(void); +void init_image_efuns(void); +void init_image_programs(void); +void exit_image(void); +void init_math_efuns(void); +void init_math_programs(void); +void exit_math(void); +void init_pipe_efuns(void); +void init_pipe_programs(void); +void exit_pipe(void); +void init_regexp_efuns(void); +void init_regexp_programs(void); +void exit_regexp(void); +void init_spider_efuns(void); +void init_spider_programs(void); +void exit_spider(void); +void init_sprintf_efuns(void); +void init_sprintf_programs(void); +void exit_sprintf(void); + +struct module module_list UGLY_WORKAROUND={ + { "main", init_main_efuns, init_main_programs, exit_main, 0 } + ,{ "files", init_files_efuns, init_files_programs, exit_files, 0 } + ,{ "image", init_image_efuns, init_image_programs, exit_image, 0 } + ,{ "math", init_math_efuns, init_math_programs, exit_math, 0 } + ,{ "pipe", init_pipe_efuns, init_pipe_programs, exit_pipe, 0 } + ,{ "regexp", init_regexp_efuns, init_regexp_programs, exit_regexp, 0 } + ,{ "spider", init_spider_efuns, init_spider_programs, exit_spider, 0 } + ,{ "sprintf", init_sprintf_efuns, init_sprintf_programs, exit_sprintf, 0 } +}; diff --git a/src/modules/files/Makefile b/src/modules/files/Makefile new file mode 100644 index 0000000000000000000000000000000000000000..e3f7ac96fc513833f1db6db1ad524bab3bfa7f1b --- /dev/null +++ b/src/modules/files/Makefile @@ -0,0 +1,21 @@ +# Generated automatically from Makefile.in by configure. +SRCDIR=. +VPATH=.:./../..:../.. +PREFLAGS=-I. -I$(SRCDIR) -I$(SRCDIR)/../.. -I../.. +CFLAGS=$(PREFLAGS) $(OTHERFLAGS) + +FILES=file.o efuns.o socket.o + +files.a: $(FILES) + -rm -f files.a + ar cq files.a $(FILES) + -ranlib files.a + +clean: + -rm -f *.o *.a + +depend: + gcc -MM $(PREFLAGS) $(SRCDIR)/*.c | sed 's;$(SRCDIR)/;;g' | sed 's;\.\./;;g' | sed 's;\./;;g' >$(SRCDIR)/dependencies + +include ./dependencies + diff --git a/src/modules/files/configure b/src/modules/files/configure new file mode 100755 index 0000000000000000000000000000000000000000..806bb0977639bc2f3600363db001b0e8524b396d --- /dev/null +++ b/src/modules/files/configure @@ -0,0 +1,1142 @@ +#!/bin/sh + +# Guess values for system-dependent variables and create Makefiles. +# Generated automatically using autoconf version 1.119 +# Copyright (C) 1991, 1992, 1993, 1994 Free Software Foundation, Inc. +# +# This configure script is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as published +# by the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This script is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +ac_help= + +# Omit some internal or obsolete options to make the list less imposing. +ac_usage="Usage: configure [options] [host] +Options: [defaults in brackets after descriptions] +Configuration: + --cache-file=FILE cache test results in FILE + --help print this message + --no-create do not create output files + --quiet, --silent do not print \`checking...' messages + --version print the version of autoconf that created configure +Directory and file names: + --exec-prefix=PREFIX install host dependent files in PREFIX [/usr/local] + --prefix=PREFIX install host independent files in PREFIX [/usr/local] + --srcdir=DIR find the sources in DIR [configure dir or ..] + --program-prefix=PREFIX prepend PREFIX to installed program names + --program-suffix=SUFFIX append SUFFIX to installed program names +Host type: + --build=BUILD configure for building on BUILD [BUILD=HOST] + --host=HOST configure for HOST [guessed] + --target=TARGET configure for TARGET [TARGET=HOST] +Features and packages: + --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) + --enable-FEATURE[=ARG] include FEATURE [ARG=yes] + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --x-includes=DIR X include files are in DIR + --x-libraries=DIR X library files are in DIR +--enable and --with options recognized:$ac_help" + +# Initialize some variables set by options. +# The variables have the same names as the options, with +# dashes changed to underlines. +build=NONE +cache_file=./config.cache +exec_prefix=NONE +host=NONE +no_create= +nonopt=NONE +no_recursion= +prefix=NONE +program_prefix=NONE +program_suffix=NONE +program_transform_name=NONE +silent= +srcdir= +target=NONE +verbose= +x_includes=NONE +x_libraries=NONE + +# Initialize some other variables. +subdirs= + +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 + + case "$ac_option" in + -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;; + *) ac_optarg= ;; + esac + + # Accept the important Cygnus configure options, so we can diagnose typos. + + case "$ac_option" in + + -build | --build | --buil | --bui | --bu | --b) + ac_prev=build ;; + -build=* | --build=* | --buil=* | --bui=* | --bu=* | --b=*) + build="$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" ;; + + -disable-* | --disable-*) + ac_feature=`echo $ac_option|sed -e 's/-*disable-//'` + # Reject names that are not valid shell variable names. + if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then + { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; } + fi + ac_feature=`echo $ac_feature| sed 's/-/_/g'` + eval "enable_${ac_feature}=no" ;; + + -enable-* | --enable-*) + ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'` + # Reject names that are not valid shell variable names. + if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then + { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; } + fi + ac_feature=`echo $ac_feature| sed 's/-/_/g'` + case "$ac_option" in + *=*) ;; + *) 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) + cat << EOF +$ac_usage +EOF + exit 0 ;; + + -host | --host | --hos | --ho) + ac_prev=host ;; + -host=* | --host=* | --hos=* | --ho=*) + host="$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) + 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 ;; + + -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 ;; + + -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) + ac_prev=srcdir ;; + -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) + srcdir="$ac_optarg" ;; + + -target | --target | --targe | --targ | --tar | --ta | --t) + ac_prev=target ;; + -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) + target="$ac_optarg" ;; + + -v | -verbose | --verbose | --verbos | --verbo | --verb) + verbose=yes ;; + + -version | --version | --versio | --versi | --vers) + echo "configure generated by autoconf version 1.119" + exit 0 ;; + + -with-* | --with-*) + ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'` + # Reject names that are not valid shell variable names. + if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then + { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; } + fi + ac_package=`echo $ac_package| sed 's/-/_/g'` + case "$ac_option" in + *=*) ;; + *) ac_optarg=yes ;; + esac + eval "with_${ac_package}='$ac_optarg'" ;; + + -without-* | --without-*) + ac_package=`echo $ac_option|sed -e 's/-*without-//'` + # Reject names that are not valid shell variable names. + if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then + { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; } + fi + 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 "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; } + ;; + + *) + if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then + echo "configure: warning: $ac_option: invalid host type" 1>&2 + fi + if test "x$nonopt" != xNONE; then + { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; } + fi + nonopt="$ac_option" + ;; + + esac +done + +if test -n "$ac_prev"; then + { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; } +fi + +trap 'rm -fr conftest* confdefs* core $ac_clean_files; exit 1' 1 2 15 + +# File descriptor usage: +# 0 unused; standard input +# 1 file creation +# 2 errors and warnings +# 3 unused; some systems may open it to /dev/tty +# 4 checking for... messages and results +# 5 compiler messages saved in config.log +if test "$silent" = yes; then + exec 4>/dev/null +else + exec 4>&1 +fi +exec 5>./config.log + +echo "\ +This file contains any messages produced by compilers while +running configure, to aid debugging if configure makes a mistake. +" 1>&5 + +# Strip out --no-create and --no-recursion so they do not pile up. +# Also quote any args containing shell metacharacters. +ac_configure_args= +for ac_arg +do + case "$ac_arg" in + -no-create | --no-create | --no-creat | --no-crea | --no-cre \ + | --no-cr | --no-c) ;; + -no-recursion | --no-recursion | --no-recursio | --no-recursi \ + | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;; + *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*) + ac_configure_args="$ac_configure_args '$ac_arg'" ;; + *) ac_configure_args="$ac_configure_args $ac_arg" ;; + esac +done + +# NLS nuisances. +# Only set LANG and LC_ALL to C if already set. +# These must not be set unconditionally because not all systems understand +# e.g. LANG=C (notably SCO). +if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi +if test "${LANG+set}" = set; then LANG=C; export LANG; fi + +# 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 + +# A filename unique to this package, relative to the directory that +# configure is in, which we can look for to find out if srcdir is correct. +ac_unique_file=file.c + +# 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_prog=$0 + ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'` + test "x$ac_confdir" = "x$ac_prog" && ac_confdir=. + 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 "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; } + else + { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; } + fi +fi + +# Prefer explicitly selected file to automatically selected ones. +if test -z "$CONFIG_SITE"; then + if test "x$prefix" != xNONE; then + CONFIG_SITE=$prefix/lib/config.site + else + CONFIG_SITE=/usr/local/lib/config.site + fi + # System dependent files override system independent ones. + if test "x$exec_prefix" != xNONE && test "x$exec_prefix" != "x$prefix"; then + CONFIG_SITE="$CONFIG_SITE $exec_prefix/lib/config.site" + fi +fi +for ac_site_file in $CONFIG_SITE; do + if test -r "$ac_site_file"; then + echo "loading site script $ac_site_file" + . "$ac_site_file" + fi +done + +if test -r "$cache_file"; then + echo "loading cache $cache_file" + . $cache_file +else + echo "creating cache $cache_file" + > $cache_file +fi + +ac_ext=c +# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. +ac_cpp='$CPP $CPPFLAGS' +ac_link='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext -o conftest $LIBS 1>&5 2>&5' + +if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then + # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu. + if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then + ac_n= ac_c=' +' ac_t=' ' + else + ac_n=-n ac_c= ac_t= + fi +else + ac_n= ac_c='\c' ac_t= +fi + + + + +# Extract the first word of "gcc", so it can be a program name with args. +set dummy gcc; ac_word=$2 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&4 +if eval "test \"`echo '${'ac_cv_prog_CC'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&4 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" + for ac_dir in $PATH; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + ac_cv_prog_CC="gcc" + break + fi + done + IFS="$ac_save_ifs" + test -z "$ac_cv_prog_CC" && ac_cv_prog_CC="cc" +fi +fi +CC="$ac_cv_prog_CC" +if test -n "$CC"; then + echo "$ac_t""$CC" 1>&4 +else + echo "$ac_t""no" 1>&4 +fi + + +echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&4 +if eval "test \"`echo '${'ac_cv_prog_gcc'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&4 +else + cat > conftest.c <<EOF +#ifdef __GNUC__ + yes +#endif +EOF +if ${CC-cc} -E conftest.c 2>&5 | egrep yes >/dev/null 2>&1; then + ac_cv_prog_gcc=yes +else + ac_cv_prog_gcc=no +fi +fi +echo "$ac_t""$ac_cv_prog_gcc" 1>&4 +if test $ac_cv_prog_gcc = yes; then + GCC=yes + if test "${CFLAGS+set}" != set; then + echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&4 +if eval "test \"`echo '${'ac_cv_prog_gcc_g'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&4 +else + echo 'void f(){}' > conftest.c +if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then + ac_cv_prog_gcc_g=yes +else + ac_cv_prog_gcc_g=no +fi +rm -f conftest* + +fi + echo "$ac_t""$ac_cv_prog_gcc_g" 1>&4 + if test $ac_cv_prog_gcc_g = yes; then + CFLAGS="-g -O" + else + CFLAGS="-O" + fi + fi +else + GCC= + test "${CFLAGS+set}" = set || CFLAGS="-g" +fi + +# Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&4 +if eval "test \"`echo '${'ac_cv_prog_RANLIB'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&4 +else + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" + for ac_dir in $PATH; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + ac_cv_prog_RANLIB="ranlib" + break + fi + done + IFS="$ac_save_ifs" + test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":" +fi +fi +RANLIB="$ac_cv_prog_RANLIB" +if test -n "$RANLIB"; then + echo "$ac_t""$RANLIB" 1>&4 +else + echo "$ac_t""no" 1>&4 +fi + + + +echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&4 +# On Suns, sometimes $CPP names a directory. +if test -n "$CPP" && test -d "$CPP"; then + CPP= +fi +if test -z "$CPP"; then +if eval "test \"`echo '${'ac_cv_prog_CPP'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&4 +else + # This must be in double quotes, not single quotes, because CPP may get + # substituted into the Makefile and "${CC-cc}" will confuse make. + CPP="${CC-cc} -E" + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. + cat > conftest.$ac_ext <<EOF +#line 523 "configure" +#include "confdefs.h" +#include <stdio.h> +Syntax Error +EOF +eval "$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +ac_err=`grep -v '^ *+' conftest.out` +if test -z "$ac_err"; then + : +else + echo "$ac_err" >&5 + rm -rf conftest* + CPP="${CC-cc} -E -traditional-cpp" + cat > conftest.$ac_ext <<EOF +#line 537 "configure" +#include "confdefs.h" +#include <stdio.h> +Syntax Error +EOF +eval "$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +ac_err=`grep -v '^ *+' conftest.out` +if test -z "$ac_err"; then + : +else + echo "$ac_err" >&5 + rm -rf conftest* + CPP=/lib/cpp +fi +rm -f conftest* +fi +rm -f conftest* + ac_cv_prog_CPP="$CPP" +fi +fi +CPP="$ac_cv_prog_CPP" +echo "$ac_t""$CPP" 1>&4 + +for ac_hdr in arpa/inet.h sys/socketvar.h netinet/in.h +do +ac_safe=`echo "$ac_hdr" | tr './' '__'` +echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&4 +if eval "test \"`echo '${'ac_cv_header_$ac_safe'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&4 +else + cat > conftest.$ac_ext <<EOF +#line 568 "configure" +#include "confdefs.h" +#include <$ac_hdr> +EOF +eval "$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +ac_err=`grep -v '^ *+' conftest.out` +if test -z "$ac_err"; then + rm -rf conftest* + eval "ac_cv_header_$ac_safe=yes" +else + echo "$ac_err" >&5 + rm -rf conftest* + eval "ac_cv_header_$ac_safe=no" +fi +rm -f conftest* +fi +if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then + echo "$ac_t""yes" 1>&4 + ac_tr_hdr=HAVE_`echo $ac_hdr | tr '[a-z]./' '[A-Z]__'` + cat >> confdefs.h <<EOF +#define $ac_tr_hdr 1 +EOF + +else + echo "$ac_t""no" 1>&4 +fi +done + +ac_header_dirent=no +for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h +do +ac_safe=`echo "$ac_hdr" | tr './' '__'` +echo $ac_n "checking for $ac_hdr that defines DIR""... $ac_c" 1>&4 +if eval "test \"`echo '${'ac_cv_header_dirent_$ac_safe'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&4 +else + cat > conftest.$ac_ext <<EOF +#line 605 "configure" +#include "confdefs.h" +#include <sys/types.h> +#include <$ac_hdr> +int main() { return 0; } +int t() { +DIR *dirp = 0; +; return 0; } +EOF +if eval $ac_link; then + rm -rf conftest* + eval "ac_cv_header_dirent_$ac_safe=yes" +else + rm -rf conftest* + eval "ac_cv_header_dirent_$ac_safe=no" +fi +rm -f conftest* + +fi +if eval "test \"`echo '$ac_cv_header_dirent_'$ac_safe`\" = yes"; then + echo "$ac_t""yes" 1>&4 + ac_tr_hdr=HAVE_`echo $ac_hdr | tr '[a-z]./' '[A-Z]__'` + cat >> confdefs.h <<EOF +#define $ac_tr_hdr 1 +EOF + ac_header_dirent=$ac_hdr; break +else + echo "$ac_t""no" 1>&4 +fi +done +# Two versions of opendir et al. are in -ldir and -lx on SCO Xenix, +# and -lx contains other useful things as well. (FIXME what are they?) +if test $ac_header_dirent = dirent.h; then +echo $ac_n "checking for -ldir""... $ac_c" 1>&4 +if eval "test \"`echo '${'ac_cv_lib_dir'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&4 +else + ac_save_LIBS="$LIBS" +LIBS="$LIBS -ldir " +cat > conftest.$ac_ext <<EOF +#line 645 "configure" +#include "confdefs.h" + +int main() { return 0; } +int t() { +opendir() +; return 0; } +EOF +if eval $ac_link; then + rm -rf conftest* + eval "ac_cv_lib_dir=yes" +else + rm -rf conftest* + eval "ac_cv_lib_dir=no" +fi +rm -f conftest* +LIBS="$ac_save_LIBS" + +fi +if eval "test \"`echo '$ac_cv_lib_'dir`\" = yes"; then + echo "$ac_t""yes" 1>&4 + LIBS="$LIBS -ldir" +else + echo "$ac_t""no" 1>&4 +fi + +fi +echo $ac_n "checking for -lx""... $ac_c" 1>&4 +if eval "test \"`echo '${'ac_cv_lib_x'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&4 +else + ac_save_LIBS="$LIBS" +LIBS="$LIBS -lx " +cat > conftest.$ac_ext <<EOF +#line 679 "configure" +#include "confdefs.h" + +int main() { return 0; } +int t() { +main() +; return 0; } +EOF +if eval $ac_link; then + rm -rf conftest* + eval "ac_cv_lib_x=yes" +else + rm -rf conftest* + eval "ac_cv_lib_x=no" +fi +rm -f conftest* +LIBS="$ac_save_LIBS" + +fi +if eval "test \"`echo '$ac_cv_lib_'x`\" = yes"; then + echo "$ac_t""yes" 1>&4 + LIBS="$LIBS -lx" +else + echo "$ac_t""no" 1>&4 +fi + + +echo $ac_n "checking for -lsocket""... $ac_c" 1>&4 +if eval "test \"`echo '${'ac_cv_lib_socket'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&4 +else + ac_save_LIBS="$LIBS" +LIBS="$LIBS -lsocket " +cat > conftest.$ac_ext <<EOF +#line 713 "configure" +#include "confdefs.h" + +int main() { return 0; } +int t() { +socket() +; return 0; } +EOF +if eval $ac_link; then + rm -rf conftest* + eval "ac_cv_lib_socket=yes" +else + rm -rf conftest* + eval "ac_cv_lib_socket=no" +fi +rm -f conftest* +LIBS="$ac_save_LIBS" + +fi +if eval "test \"`echo '$ac_cv_lib_'socket`\" = yes"; then + echo "$ac_t""yes" 1>&4 + ac_tr_lib=HAVE_LIB`echo socket | tr '[a-z]' '[A-Z]'` + cat >> confdefs.h <<EOF +#define $ac_tr_lib 1 +EOF + + LIBS="$LIBS -lsocket" + +else + echo "$ac_t""no" 1>&4 +fi + + +for ac_func in socketpair +do +echo $ac_n "checking for $ac_func""... $ac_c" 1>&4 +if eval "test \"`echo '${'ac_cv_func_$ac_func'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&4 +else + cat > conftest.$ac_ext <<EOF +#line 753 "configure" +#include "confdefs.h" +#include <ctype.h> /* Arbitrary system header to define __stub macros. */ +int main() { return 0; } +int t() { + +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined (__stub_$ac_func) || defined (__stub___$ac_func) +choke me +#else +/* Override any gcc2 internal prototype to avoid an error. */ +char $ac_func(); $ac_func(); +#endif + +; return 0; } +EOF +if eval $ac_link; then + rm -rf conftest* + eval "ac_cv_func_$ac_func=yes" +else + rm -rf conftest* + eval "ac_cv_func_$ac_func=no" +fi +rm -f conftest* + +fi +if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then + echo "$ac_t""yes" 1>&4 + ac_tr_func=HAVE_`echo $ac_func | tr '[a-z]' '[A-Z]'` + cat >> confdefs.h <<EOF +#define $ac_tr_func 1 +EOF + +else + echo "$ac_t""no" 1>&4 +fi +done + + +echo $ac_n "checking size of socket buffers""... $ac_c" 1>&4 +if eval "test \"`echo '${'lpc_cv_socket_buffer_max'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&4 +else + +# If we cannot run a trivial program, we must be cross compiling. +echo $ac_n "checking whether cross-compiling""... $ac_c" 1>&4 +if eval "test \"`echo '${'ac_cv_c_cross'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&4 +else + if test "$cross_compiling" = yes; then + ac_cv_cross=yes +else +cat > conftest.$ac_ext <<EOF +#line 808 "configure" +#include "confdefs.h" +main(){return(0);} +EOF +eval $ac_link +if test -s conftest && (./conftest; exit) 2>/dev/null; then + ac_cv_c_cross=no +else + ac_cv_c_cross=yes +fi +fi +rm -fr conftest* +fi +cross_compiling=$ac_cv_c_cross +echo "$ac_t""$ac_cv_c_cross" 1>&4 + +if test "$cross_compiling" = yes; then + { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } +else +cat > conftest.$ac_ext <<EOF +#line 828 "configure" +#include "confdefs.h" + +#include <stdio.h> +#include <sys/types.h> +#include <sys/param.h> +#include <errno.h> +#include <fcntl.h> +#include <signal.h> +#include <sys/wait.h> +#include <sys/socket.h> + +int main() +{ + FILE *f; + int fd, try, tmp; + + fd=socket(AF_INET, SOCK_STREAM, 0); + + if(fd < 0) return 1; + + try=1024; + while(try < 65000) + { + tmp=try*2; + if(setsockopt(fd, SOL_SOCKET, SO_SNDBUF, (char *)&tmp, sizeof(int)) < 0) + { + break; + } + try*=2; + } + f=fopen("conftest.out.2","w"); + fprintf(f,"%d\n",try); + fclose(f); + + return 0; +} +EOF +eval $ac_link +if test -s conftest && (./conftest; exit) 2>/dev/null; then + lpc_cv_socket_buffer_max=`cat conftest.out.2` + +else + lpc_cv_socket_buffer_max=0 + +fi +fi +rm -fr conftest* +fi + + +cat >> confdefs.h <<EOF +#define SOCKET_BUFFER_MAX $lpc_cv_socket_buffer_max +EOF + +echo "$ac_t""$lpc_cv_socket_buffer_max" 1>&4 + +trap '' 1 2 15 +if test -w $cache_file; then +echo "updating cache $cache_file" +cat > $cache_file <<\EOF +# 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. It is not useful on other systems. +# If it contains results you don't want to keep, you may remove or edit it. +# +# By default, configure uses ./config.cache as the cache file, +# creating it if it does not exist already. You can give configure +# the --cache-file=FILE option to use a different cache file; that is +# what configure does when it calls configure scripts in +# subdirectories, so they share the cache. +# Giving --cache-file=/dev/null disables caching, for debugging configure. +# config.status only pays attention to the cache file if you give it the +# --recheck option to rerun configure. +# +EOF +# Ultrix sh set writes to stderr and can't be redirected directly. +(set) 2>&1 | + sed -n "s/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/: \${\1='\2'}/p" \ + >> $cache_file +else +echo "not updating unwritable cache $cache_file" +fi + +trap 'rm -fr conftest* confdefs* core $ac_clean_files; exit 1' 1 2 15 + +test "x$prefix" = xNONE && prefix=/usr/local +# Let make expand exec_prefix. +test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' + +# Any assignment to VPATH causes Sun make to only execute +# the first set of double-colon rules, so remove it if not needed. +# If there is a colon in the path, we need to keep it. +if test "x$srcdir" = x.; then + ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d' +fi + +trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15 + +DEFS=-DHAVE_CONFIG_H + +# Without the "./", some shells look in PATH for config.status. +: ${CONFIG_STATUS=./config.status} + +echo creating $CONFIG_STATUS +rm -f $CONFIG_STATUS +cat > $CONFIG_STATUS <<EOF +#!/bin/sh +# Generated automatically by configure. +# Run this file to recreate the current configuration. +# This directory was configured as follows, +# on host `(hostname || uname -n) 2>/dev/null | sed 1q`: +# +# $0 $ac_configure_args +# +# Compiler output produced by configure, useful for debugging +# configure, is in ./config.log if it exists. + +ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]" +for ac_option +do + case "\$ac_option" in + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) + echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion" + exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;; + -version | --version | --versio | --versi | --vers | --ver | --ve | --v) + echo "$CONFIG_STATUS generated by autoconf version 1.119" + exit 0 ;; + -help | --help | --hel | --he | --h) + echo "\$ac_cs_usage"; exit 0 ;; + *) echo "\$ac_cs_usage"; exit 1 ;; + esac +done + +ac_given_srcdir=$srcdir + +trap 'rm -fr Makefile file_machine.h conftest*; exit 1' 1 2 15 + +# Protect against being on the right side of a sed subst in config.status. +sed 's/%@/@@/; s/@%/@@/; s/%g$/@g/; /@g$/s/[\\\\&%]/\\\\&/g; + s/@@/%@/; s/@@/@%/; s/@g$/%g/' > conftest.subs <<\CEOF +$ac_vpsub +$extrasub +s%@CFLAGS@%$CFLAGS%g +s%@CPPFLAGS@%$CPPFLAGS%g +s%@CXXFLAGS@%$CXXFLAGS%g +s%@DEFS@%$DEFS%g +s%@LDFLAGS@%$LDFLAGS%g +s%@LIBS@%$LIBS%g +s%@exec_prefix@%$exec_prefix%g +s%@prefix@%$prefix%g +s%@CC@%$CC%g +s%@RANLIB@%$RANLIB%g +s%@CPP@%$CPP%g + +CEOF +EOF +cat >> $CONFIG_STATUS <<EOF + +CONFIG_FILES=\${CONFIG_FILES-"Makefile"} +EOF +cat >> $CONFIG_STATUS <<\EOF +for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then + # Support "outfile[:infile]", defaulting infile="outfile.in". + case "$ac_file" in + *:*) ac_file_in=`echo "$ac_file"|sed 's%.*:%%'` + ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; + *) ac_file_in="${ac_file}.in" ;; + esac + + # Adjust relative srcdir, etc. for subdirectories. + + # Remove last slash and all that follows it. Not all systems have dirname. + ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'` + if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then + # The file is in a subdirectory. + test ! -d "$ac_dir" && mkdir "$ac_dir" + ac_dir_suffix="/$ac_dir" + # A "../" for each directory in $ac_dir_suffix. + ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'` + else + ac_dir_suffix= ac_dots= + fi + + case "$ac_given_srcdir" in + .) srcdir=. + if test -z "$ac_dots"; then top_srcdir=. + else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;; + /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;; + *) # Relative path. + srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix" + top_srcdir="$ac_dots$ac_given_srcdir" ;; + esac + + echo creating "$ac_file" + rm -f "$ac_file" + configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure." + case "$ac_file" in + *Makefile*) ac_comsub="1i\\ +# $configure_input" ;; + *) ac_comsub= ;; + esac + sed -e "$ac_comsub +s%@configure_input@%$configure_input%g +s%@srcdir@%$srcdir%g +s%@top_srcdir@%$top_srcdir%g +" -f conftest.subs $ac_given_srcdir/$ac_file_in > $ac_file +fi; done +rm -f conftest.subs + +# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where +# NAME is the cpp macro being defined and VALUE is the value it is being given. +# +# ac_d sets the value in "#define NAME VALUE" lines. +ac_dA='s%^\([ ]*\)#\([ ]*define[ ][ ]*\)' +ac_dB='\([ ][ ]*\)[^ ]*%\1#\2' +ac_dC='\3' +ac_dD='%g' +# ac_u turns "#undef NAME" with trailing blanks into "#define NAME VALUE". +ac_uA='s%^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' +ac_uB='\([ ]\)%\1#\2define\3' +ac_uC=' ' +ac_uD='\4%g' +# ac_e turns "#undef NAME" without trailing blanks into "#define NAME VALUE". +ac_eA='s%^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' +ac_eB='$%\1#\2define\3' +ac_eC=' ' +ac_eD='%g' + +CONFIG_HEADERS=${CONFIG_HEADERS-"file_machine.h"} +for ac_file in .. $CONFIG_HEADERS; do if test "x$ac_file" != x..; then + # Support "outfile[:infile]", defaulting infile="outfile.in". + case "$ac_file" in + *:*) ac_file_in=`echo "$ac_file"|sed 's%.*:%%'` + ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; + *) ac_file_in="${ac_file}.in" ;; + esac + + echo creating $ac_file + + rm -f conftest.frag conftest.in conftest.out + cp $ac_given_srcdir/$ac_file_in conftest.in + +EOF + +# Transform confdefs.h into a sed script conftest.vals that substitutes +# the proper values into config.h.in to produce config.h. And first: +# Protect against being on the right side of a sed subst in config.status. +# Protect against being in an unquoted here document in config.status. +rm -f conftest.vals +cat > conftest.hdr <<\EOF +s/[\\&%]/\\&/g +s%[\\$`]%\\&%g +s%#define \([A-Za-z_][A-Za-z0-9_]*\) \(.*\)%${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD}%gp +s%ac_d%ac_u%gp +s%ac_u%ac_e%gp +EOF +sed -n -f conftest.hdr confdefs.h > conftest.vals +rm -f conftest.hdr + +# This sed command replaces #undef with comments. This is necessary, for +# example, in the case of _POSIX_SOURCE, which is predefined and required +# on some systems where configure will not decide to define it. +cat >> conftest.vals <<\EOF +s%^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*%/* & */% +EOF + +# Break up conftest.vals because some shells have a limit on +# the size of here documents, and old seds have small limits too. +# Maximum number of lines to put in a single here document. +ac_max_here_lines=12 + +rm -f conftest.tail +while : +do + ac_lines=`grep -c . conftest.vals` + # grep -c gives empty output for an empty file on some AIX systems. + if test -z "$ac_lines" || test "$ac_lines" -eq 0; then break; fi + # Write a limited-size here document to conftest.frag. + echo ' cat > conftest.frag <<CEOF' >> $CONFIG_STATUS + sed ${ac_max_here_lines}q conftest.vals >> $CONFIG_STATUS + echo 'CEOF + sed -f conftest.frag conftest.in > conftest.out + rm -f conftest.in + mv conftest.out conftest.in +' >> $CONFIG_STATUS + sed 1,${ac_max_here_lines}d conftest.vals > conftest.tail + rm -f conftest.vals + mv conftest.tail conftest.vals +done +rm -f conftest.vals + +cat >> $CONFIG_STATUS <<\EOF + rm -f conftest.frag conftest.h + echo "/* $ac_file. Generated automatically by configure. */" > conftest.h + cat conftest.in >> conftest.h + rm -f conftest.in + if cmp -s $ac_file conftest.h 2>/dev/null; then + echo "$ac_file is unchanged" + rm -f conftest.h + else + rm -f $ac_file + mv conftest.h $ac_file + fi +fi; done + + +echo FOO >stamp-h +exit 0 +EOF +chmod +x $CONFIG_STATUS +rm -fr confdefs* $ac_clean_files +test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS + + + diff --git a/src/modules/files/dependencies b/src/modules/files/dependencies new file mode 100644 index 0000000000000000000000000000000000000000..703e249efdda352b2b4152b20217071a1895e167 --- /dev/null +++ b/src/modules/files/dependencies @@ -0,0 +1,46 @@ +datagram.o: datagram.c +efuns.o: efuns.c \ + global.h \ + config.h machine.h \ + port.h \ + interpret.h \ + program.h \ + svalue.h \ + stralloc.h \ + array.h \ + las.h \ + dynamic_buffer.h \ + macros.h \ + fd_control.h file_machine.h +file.o: file.c \ + global.h \ + config.h machine.h \ + port.h \ + interpret.h \ + program.h \ + svalue.h \ + stralloc.h \ + array.h \ + las.h \ + dynamic_buffer.h \ + object.h \ + macros.h \ + backend.h \ + fd_control.h file_machine.h \ + file.h +socket.o: socket.c \ + global.h \ + config.h machine.h \ + port.h \ + interpret.h \ + program.h \ + svalue.h \ + stralloc.h \ + array.h \ + las.h \ + dynamic_buffer.h \ + object.h \ + macros.h \ + backend.h \ + fd_control.h file_machine.h \ + file.h diff --git a/src/modules/files/file_machine.h b/src/modules/files/file_machine.h new file mode 100644 index 0000000000000000000000000000000000000000..6f451df2d7282a6ba4e7d35830bf81950cd5c8d8 --- /dev/null +++ b/src/modules/files/file_machine.h @@ -0,0 +1,33 @@ +/* file_machine.h. Generated automatically by configure. */ +#ifndef FILE_MACHINE_H +#define FILE_MACHINE_H + +/* Define if you have arpa/inhet.h */ +#define HAVE_ARPA_INET_H 1 + +/* Define if you have the <sys/socketvar.h> header file. */ +#define HAVE_SYS_SOCKETVAR_H 1 + +/* Define if you have the <netinet/in.h> header file. */ +#define HAVE_NETINET_IN_H 1 + +/* Define if you have dirent.h. */ +#define HAVE_DIRENT_H 1 + +/* Define if you don't have dirent.h, but have ndir.h. */ +/* #undef HAVE_NDIR_H */ + +/* Define if you don't have dirent.h, but have sys/dir.h. */ +/* #undef HAVE_SYS_DIR_H */ + +/* Define if you don't have dirent.h, but have sys/ndir.h. */ +/* #undef HAVE_SYS_NDIR_H */ + +/* Buffer size to use on open sockets */ +#define SOCKET_BUFFER_MAX 65536 + +/* Do we have socketpair() ? */ +#define HAVE_SOCKETPAIR 1 + +#endif + diff --git a/src/modules/files/stamp-h b/src/modules/files/stamp-h new file mode 100644 index 0000000000000000000000000000000000000000..b7d6715e2df11b9c32b2341423273c6b3ad9ae8a --- /dev/null +++ b/src/modules/files/stamp-h @@ -0,0 +1 @@ +FOO diff --git a/src/modules/math/Makefile b/src/modules/math/Makefile new file mode 100644 index 0000000000000000000000000000000000000000..1cee4e157ad032c2cdf118054766192e563ee756 --- /dev/null +++ b/src/modules/math/Makefile @@ -0,0 +1,21 @@ +# Generated automatically from Makefile.in by configure. +SRCDIR=. +VPATH=.:./../..:../.. +PREFLAGS=-I$(SRCDIR) -I$(SRCDIR)/../.. -I../.. +CFLAGS=$(PREFLAGS) $(OTHERFLAGS) + +FILES=math.o + +math.a: $(FILES) + -rm -f math.a + ar cq math.a $(FILES) + -ranlib math.a + +clean: + -rm -f *.o + +depend: + gcc -MM $(PREFLAGS) $(SRCDIR)/*.c | sed 's;$(SRCDIR)/;;g' | sed 's;\.\./;;g' | sed 's;\./;;g'>$(SRCDIR)/dependencies + +include ./dependencies + diff --git a/src/modules/math/configure b/src/modules/math/configure new file mode 100755 index 0000000000000000000000000000000000000000..c47bf21f0aa272d4a79e13ec5c2272eea4be90b1 --- /dev/null +++ b/src/modules/math/configure @@ -0,0 +1,680 @@ +#!/bin/sh + +# Guess values for system-dependent variables and create Makefiles. +# Generated automatically using autoconf version 1.119 +# Copyright (C) 1991, 1992, 1993, 1994 Free Software Foundation, Inc. +# +# This configure script is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as published +# by the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This script is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +ac_help= + +# Omit some internal or obsolete options to make the list less imposing. +ac_usage="Usage: configure [options] [host] +Options: [defaults in brackets after descriptions] +Configuration: + --cache-file=FILE cache test results in FILE + --help print this message + --no-create do not create output files + --quiet, --silent do not print \`checking...' messages + --version print the version of autoconf that created configure +Directory and file names: + --exec-prefix=PREFIX install host dependent files in PREFIX [/usr/local] + --prefix=PREFIX install host independent files in PREFIX [/usr/local] + --srcdir=DIR find the sources in DIR [configure dir or ..] + --program-prefix=PREFIX prepend PREFIX to installed program names + --program-suffix=SUFFIX append SUFFIX to installed program names +Host type: + --build=BUILD configure for building on BUILD [BUILD=HOST] + --host=HOST configure for HOST [guessed] + --target=TARGET configure for TARGET [TARGET=HOST] +Features and packages: + --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) + --enable-FEATURE[=ARG] include FEATURE [ARG=yes] + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --x-includes=DIR X include files are in DIR + --x-libraries=DIR X library files are in DIR +--enable and --with options recognized:$ac_help" + +# Initialize some variables set by options. +# The variables have the same names as the options, with +# dashes changed to underlines. +build=NONE +cache_file=./config.cache +exec_prefix=NONE +host=NONE +no_create= +nonopt=NONE +no_recursion= +prefix=NONE +program_prefix=NONE +program_suffix=NONE +program_transform_name=NONE +silent= +srcdir= +target=NONE +verbose= +x_includes=NONE +x_libraries=NONE + +# Initialize some other variables. +subdirs= + +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 + + case "$ac_option" in + -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;; + *) ac_optarg= ;; + esac + + # Accept the important Cygnus configure options, so we can diagnose typos. + + case "$ac_option" in + + -build | --build | --buil | --bui | --bu | --b) + ac_prev=build ;; + -build=* | --build=* | --buil=* | --bui=* | --bu=* | --b=*) + build="$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" ;; + + -disable-* | --disable-*) + ac_feature=`echo $ac_option|sed -e 's/-*disable-//'` + # Reject names that are not valid shell variable names. + if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then + { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; } + fi + ac_feature=`echo $ac_feature| sed 's/-/_/g'` + eval "enable_${ac_feature}=no" ;; + + -enable-* | --enable-*) + ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'` + # Reject names that are not valid shell variable names. + if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then + { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; } + fi + ac_feature=`echo $ac_feature| sed 's/-/_/g'` + case "$ac_option" in + *=*) ;; + *) 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) + cat << EOF +$ac_usage +EOF + exit 0 ;; + + -host | --host | --hos | --ho) + ac_prev=host ;; + -host=* | --host=* | --hos=* | --ho=*) + host="$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) + 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 ;; + + -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 ;; + + -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) + ac_prev=srcdir ;; + -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) + srcdir="$ac_optarg" ;; + + -target | --target | --targe | --targ | --tar | --ta | --t) + ac_prev=target ;; + -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) + target="$ac_optarg" ;; + + -v | -verbose | --verbose | --verbos | --verbo | --verb) + verbose=yes ;; + + -version | --version | --versio | --versi | --vers) + echo "configure generated by autoconf version 1.119" + exit 0 ;; + + -with-* | --with-*) + ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'` + # Reject names that are not valid shell variable names. + if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then + { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; } + fi + ac_package=`echo $ac_package| sed 's/-/_/g'` + case "$ac_option" in + *=*) ;; + *) ac_optarg=yes ;; + esac + eval "with_${ac_package}='$ac_optarg'" ;; + + -without-* | --without-*) + ac_package=`echo $ac_option|sed -e 's/-*without-//'` + # Reject names that are not valid shell variable names. + if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then + { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; } + fi + 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 "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; } + ;; + + *) + if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then + echo "configure: warning: $ac_option: invalid host type" 1>&2 + fi + if test "x$nonopt" != xNONE; then + { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; } + fi + nonopt="$ac_option" + ;; + + esac +done + +if test -n "$ac_prev"; then + { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; } +fi + +trap 'rm -fr conftest* confdefs* core $ac_clean_files; exit 1' 1 2 15 + +# File descriptor usage: +# 0 unused; standard input +# 1 file creation +# 2 errors and warnings +# 3 unused; some systems may open it to /dev/tty +# 4 checking for... messages and results +# 5 compiler messages saved in config.log +if test "$silent" = yes; then + exec 4>/dev/null +else + exec 4>&1 +fi +exec 5>./config.log + +echo "\ +This file contains any messages produced by compilers while +running configure, to aid debugging if configure makes a mistake. +" 1>&5 + +# Strip out --no-create and --no-recursion so they do not pile up. +# Also quote any args containing shell metacharacters. +ac_configure_args= +for ac_arg +do + case "$ac_arg" in + -no-create | --no-create | --no-creat | --no-crea | --no-cre \ + | --no-cr | --no-c) ;; + -no-recursion | --no-recursion | --no-recursio | --no-recursi \ + | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;; + *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*) + ac_configure_args="$ac_configure_args '$ac_arg'" ;; + *) ac_configure_args="$ac_configure_args $ac_arg" ;; + esac +done + +# NLS nuisances. +# Only set LANG and LC_ALL to C if already set. +# These must not be set unconditionally because not all systems understand +# e.g. LANG=C (notably SCO). +if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi +if test "${LANG+set}" = set; then LANG=C; export LANG; fi + +# 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 + +# A filename unique to this package, relative to the directory that +# configure is in, which we can look for to find out if srcdir is correct. +ac_unique_file=math.c + +# 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_prog=$0 + ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'` + test "x$ac_confdir" = "x$ac_prog" && ac_confdir=. + 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 "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; } + else + { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; } + fi +fi + +# Prefer explicitly selected file to automatically selected ones. +if test -z "$CONFIG_SITE"; then + if test "x$prefix" != xNONE; then + CONFIG_SITE=$prefix/lib/config.site + else + CONFIG_SITE=/usr/local/lib/config.site + fi + # System dependent files override system independent ones. + if test "x$exec_prefix" != xNONE && test "x$exec_prefix" != "x$prefix"; then + CONFIG_SITE="$CONFIG_SITE $exec_prefix/lib/config.site" + fi +fi +for ac_site_file in $CONFIG_SITE; do + if test -r "$ac_site_file"; then + echo "loading site script $ac_site_file" + . "$ac_site_file" + fi +done + +if test -r "$cache_file"; then + echo "loading cache $cache_file" + . $cache_file +else + echo "creating cache $cache_file" + > $cache_file +fi + +ac_ext=c +# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. +ac_cpp='$CPP $CPPFLAGS' +ac_link='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext -o conftest $LIBS 1>&5 2>&5' + +if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then + # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu. + if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then + ac_n= ac_c=' +' ac_t=' ' + else + ac_n=-n ac_c= ac_t= + fi +else + ac_n= ac_c='\c' ac_t= +fi + + + +# Extract the first word of "gcc", so it can be a program name with args. +set dummy gcc; ac_word=$2 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&4 +if eval "test \"`echo '${'ac_cv_prog_CC'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&4 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" + for ac_dir in $PATH; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + ac_cv_prog_CC="gcc" + break + fi + done + IFS="$ac_save_ifs" + test -z "$ac_cv_prog_CC" && ac_cv_prog_CC="cc" +fi +fi +CC="$ac_cv_prog_CC" +if test -n "$CC"; then + echo "$ac_t""$CC" 1>&4 +else + echo "$ac_t""no" 1>&4 +fi + + +echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&4 +if eval "test \"`echo '${'ac_cv_prog_gcc'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&4 +else + cat > conftest.c <<EOF +#ifdef __GNUC__ + yes +#endif +EOF +if ${CC-cc} -E conftest.c 2>&5 | egrep yes >/dev/null 2>&1; then + ac_cv_prog_gcc=yes +else + ac_cv_prog_gcc=no +fi +fi +echo "$ac_t""$ac_cv_prog_gcc" 1>&4 +if test $ac_cv_prog_gcc = yes; then + GCC=yes + if test "${CFLAGS+set}" != set; then + echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&4 +if eval "test \"`echo '${'ac_cv_prog_gcc_g'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&4 +else + echo 'void f(){}' > conftest.c +if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then + ac_cv_prog_gcc_g=yes +else + ac_cv_prog_gcc_g=no +fi +rm -f conftest* + +fi + echo "$ac_t""$ac_cv_prog_gcc_g" 1>&4 + if test $ac_cv_prog_gcc_g = yes; then + CFLAGS="-g -O" + else + CFLAGS="-O" + fi + fi +else + GCC= + test "${CFLAGS+set}" = set || CFLAGS="-g" +fi + +# Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&4 +if eval "test \"`echo '${'ac_cv_prog_RANLIB'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&4 +else + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" + for ac_dir in $PATH; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + ac_cv_prog_RANLIB="ranlib" + break + fi + done + IFS="$ac_save_ifs" + test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":" +fi +fi +RANLIB="$ac_cv_prog_RANLIB" +if test -n "$RANLIB"; then + echo "$ac_t""$RANLIB" 1>&4 +else + echo "$ac_t""no" 1>&4 +fi + + + + +trap '' 1 2 15 +if test -w $cache_file; then +echo "updating cache $cache_file" +cat > $cache_file <<\EOF +# 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. It is not useful on other systems. +# If it contains results you don't want to keep, you may remove or edit it. +# +# By default, configure uses ./config.cache as the cache file, +# creating it if it does not exist already. You can give configure +# the --cache-file=FILE option to use a different cache file; that is +# what configure does when it calls configure scripts in +# subdirectories, so they share the cache. +# Giving --cache-file=/dev/null disables caching, for debugging configure. +# config.status only pays attention to the cache file if you give it the +# --recheck option to rerun configure. +# +EOF +# Ultrix sh set writes to stderr and can't be redirected directly. +(set) 2>&1 | + sed -n "s/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/: \${\1='\2'}/p" \ + >> $cache_file +else +echo "not updating unwritable cache $cache_file" +fi + +trap 'rm -fr conftest* confdefs* core $ac_clean_files; exit 1' 1 2 15 + +test "x$prefix" = xNONE && prefix=/usr/local +# Let make expand exec_prefix. +test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' + +# Any assignment to VPATH causes Sun make to only execute +# the first set of double-colon rules, so remove it if not needed. +# If there is a colon in the path, we need to keep it. +if test "x$srcdir" = x.; then + ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d' +fi + +trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15 + +# Transform confdefs.h into DEFS. +# Protect against shell expansion while executing Makefile rules. +# Protect against Makefile macro expansion. +cat > conftest.defs <<\EOF +s%#define \([A-Za-z_][A-Za-z0-9_]*\) \(.*\)%-D\1=\2%g +s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g +s%\[%\\&%g +s%\]%\\&%g +s%\$%$$%g +EOF +DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '` +rm -f conftest.defs + + +# Without the "./", some shells look in PATH for config.status. +: ${CONFIG_STATUS=./config.status} + +echo creating $CONFIG_STATUS +rm -f $CONFIG_STATUS +cat > $CONFIG_STATUS <<EOF +#!/bin/sh +# Generated automatically by configure. +# Run this file to recreate the current configuration. +# This directory was configured as follows, +# on host `(hostname || uname -n) 2>/dev/null | sed 1q`: +# +# $0 $ac_configure_args +# +# Compiler output produced by configure, useful for debugging +# configure, is in ./config.log if it exists. + +ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]" +for ac_option +do + case "\$ac_option" in + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) + echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion" + exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;; + -version | --version | --versio | --versi | --vers | --ver | --ve | --v) + echo "$CONFIG_STATUS generated by autoconf version 1.119" + exit 0 ;; + -help | --help | --hel | --he | --h) + echo "\$ac_cs_usage"; exit 0 ;; + *) echo "\$ac_cs_usage"; exit 1 ;; + esac +done + +ac_given_srcdir=$srcdir + +trap 'rm -f Makefile; exit 1' 1 2 15 + +# Protect against being on the right side of a sed subst in config.status. +sed 's/%@/@@/; s/@%/@@/; s/%g$/@g/; /@g$/s/[\\\\&%]/\\\\&/g; + s/@@/%@/; s/@@/@%/; s/@g$/%g/' > conftest.subs <<\CEOF +$ac_vpsub +$extrasub +s%@CFLAGS@%$CFLAGS%g +s%@CPPFLAGS@%$CPPFLAGS%g +s%@CXXFLAGS@%$CXXFLAGS%g +s%@DEFS@%$DEFS%g +s%@LDFLAGS@%$LDFLAGS%g +s%@LIBS@%$LIBS%g +s%@exec_prefix@%$exec_prefix%g +s%@prefix@%$prefix%g +s%@CC@%$CC%g +s%@RANLIB@%$RANLIB%g + +CEOF +EOF +cat >> $CONFIG_STATUS <<EOF + +CONFIG_FILES=\${CONFIG_FILES-"Makefile"} +EOF +cat >> $CONFIG_STATUS <<\EOF +for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then + # Support "outfile[:infile]", defaulting infile="outfile.in". + case "$ac_file" in + *:*) ac_file_in=`echo "$ac_file"|sed 's%.*:%%'` + ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; + *) ac_file_in="${ac_file}.in" ;; + esac + + # Adjust relative srcdir, etc. for subdirectories. + + # Remove last slash and all that follows it. Not all systems have dirname. + ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'` + if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then + # The file is in a subdirectory. + test ! -d "$ac_dir" && mkdir "$ac_dir" + ac_dir_suffix="/$ac_dir" + # A "../" for each directory in $ac_dir_suffix. + ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'` + else + ac_dir_suffix= ac_dots= + fi + + case "$ac_given_srcdir" in + .) srcdir=. + if test -z "$ac_dots"; then top_srcdir=. + else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;; + /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;; + *) # Relative path. + srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix" + top_srcdir="$ac_dots$ac_given_srcdir" ;; + esac + + echo creating "$ac_file" + rm -f "$ac_file" + configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure." + case "$ac_file" in + *Makefile*) ac_comsub="1i\\ +# $configure_input" ;; + *) ac_comsub= ;; + esac + sed -e "$ac_comsub +s%@configure_input@%$configure_input%g +s%@srcdir@%$srcdir%g +s%@top_srcdir@%$top_srcdir%g +" -f conftest.subs $ac_given_srcdir/$ac_file_in > $ac_file +fi; done +rm -f conftest.subs + + +echo FOO >stamp-h +exit 0 +EOF +chmod +x $CONFIG_STATUS +rm -fr confdefs* $ac_clean_files +test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS + + + diff --git a/src/modules/math/dependencies b/src/modules/math/dependencies new file mode 100644 index 0000000000000000000000000000000000000000..de99c1b51e1f6f428bf86f65702f7085154d9386 --- /dev/null +++ b/src/modules/math/dependencies @@ -0,0 +1,8 @@ +math.o: math.c \ + interpret.h \ + program.h machine.h \ + types.h \ + config.h \ + add_efun.h \ + svalue.h \ + hashtable.h diff --git a/src/modules/math/stamp-h b/src/modules/math/stamp-h new file mode 100644 index 0000000000000000000000000000000000000000..b7d6715e2df11b9c32b2341423273c6b3ad9ae8a --- /dev/null +++ b/src/modules/math/stamp-h @@ -0,0 +1 @@ +FOO diff --git a/src/modules/pipe/Makefile b/src/modules/pipe/Makefile new file mode 100644 index 0000000000000000000000000000000000000000..f3728413d491b99c9b13fb1cd3624a93716492d4 --- /dev/null +++ b/src/modules/pipe/Makefile @@ -0,0 +1,21 @@ +# Generated automatically from Makefile.in by configure. +SRCDIR=. +VPATH=.:./../..:../.. +PREFLAGS=-I$(SRCDIR) -I$(SRCDIR)/../.. -I../.. +CFLAGS=$(PREFLAGS) $(OTHERFLAGS) + +FILES=pipe.o + +pipe.a: $(FILES) + -rm -f pipe.a + ar cq pipe.a $(FILES) + -ranlib pipe.a + +clean: + -rm -f *.o *.a + +depend: + gcc -MM $(PREFLAGS) $(SRCDIR)/*.c >$(SRCDIR)/dependencies + +include ./dependencies + diff --git a/src/modules/pipe/Makefile.in b/src/modules/pipe/Makefile.in new file mode 100644 index 0000000000000000000000000000000000000000..14aab9b0edb80e25028a89babd6b723b29c0f7f2 --- /dev/null +++ b/src/modules/pipe/Makefile.in @@ -0,0 +1,20 @@ +SRCDIR=@srcdir@ +VPATH=@srcdir@:@srcdir@/../..:../.. +PREFLAGS=-I$(SRCDIR) -I$(SRCDIR)/../.. -I../.. +CFLAGS=$(PREFLAGS) $(OTHERFLAGS) + +FILES=pipe.o + +pipe.a: $(FILES) + -rm -f pipe.a + ar cq pipe.a $(FILES) + -@RANLIB@ pipe.a + +clean: + -rm -f *.o *.a + +depend: + gcc -MM $(PREFLAGS) $(SRCDIR)/*.c >$(SRCDIR)/dependencies + +include @srcdir@/dependencies + diff --git a/src/modules/pipe/configure b/src/modules/pipe/configure new file mode 100644 index 0000000000000000000000000000000000000000..15ca7eaf8149e24ca4366f1816280ec7f3b395b9 --- /dev/null +++ b/src/modules/pipe/configure @@ -0,0 +1,680 @@ +#!/bin/sh + +# Guess values for system-dependent variables and create Makefiles. +# Generated automatically using autoconf version 1.119 +# Copyright (C) 1991, 1992, 1993, 1994 Free Software Foundation, Inc. +# +# This configure script is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as published +# by the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This script is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +ac_help= + +# Omit some internal or obsolete options to make the list less imposing. +ac_usage="Usage: configure [options] [host] +Options: [defaults in brackets after descriptions] +Configuration: + --cache-file=FILE cache test results in FILE + --help print this message + --no-create do not create output files + --quiet, --silent do not print \`checking...' messages + --version print the version of autoconf that created configure +Directory and file names: + --exec-prefix=PREFIX install host dependent files in PREFIX [/usr/local] + --prefix=PREFIX install host independent files in PREFIX [/usr/local] + --srcdir=DIR find the sources in DIR [configure dir or ..] + --program-prefix=PREFIX prepend PREFIX to installed program names + --program-suffix=SUFFIX append SUFFIX to installed program names +Host type: + --build=BUILD configure for building on BUILD [BUILD=HOST] + --host=HOST configure for HOST [guessed] + --target=TARGET configure for TARGET [TARGET=HOST] +Features and packages: + --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) + --enable-FEATURE[=ARG] include FEATURE [ARG=yes] + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --x-includes=DIR X include files are in DIR + --x-libraries=DIR X library files are in DIR +--enable and --with options recognized:$ac_help" + +# Initialize some variables set by options. +# The variables have the same names as the options, with +# dashes changed to underlines. +build=NONE +cache_file=./config.cache +exec_prefix=NONE +host=NONE +no_create= +nonopt=NONE +no_recursion= +prefix=NONE +program_prefix=NONE +program_suffix=NONE +program_transform_name=NONE +silent= +srcdir= +target=NONE +verbose= +x_includes=NONE +x_libraries=NONE + +# Initialize some other variables. +subdirs= + +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 + + case "$ac_option" in + -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;; + *) ac_optarg= ;; + esac + + # Accept the important Cygnus configure options, so we can diagnose typos. + + case "$ac_option" in + + -build | --build | --buil | --bui | --bu | --b) + ac_prev=build ;; + -build=* | --build=* | --buil=* | --bui=* | --bu=* | --b=*) + build="$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" ;; + + -disable-* | --disable-*) + ac_feature=`echo $ac_option|sed -e 's/-*disable-//'` + # Reject names that are not valid shell variable names. + if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then + { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; } + fi + ac_feature=`echo $ac_feature| sed 's/-/_/g'` + eval "enable_${ac_feature}=no" ;; + + -enable-* | --enable-*) + ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'` + # Reject names that are not valid shell variable names. + if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then + { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; } + fi + ac_feature=`echo $ac_feature| sed 's/-/_/g'` + case "$ac_option" in + *=*) ;; + *) 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) + cat << EOF +$ac_usage +EOF + exit 0 ;; + + -host | --host | --hos | --ho) + ac_prev=host ;; + -host=* | --host=* | --hos=* | --ho=*) + host="$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) + 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 ;; + + -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 ;; + + -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) + ac_prev=srcdir ;; + -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) + srcdir="$ac_optarg" ;; + + -target | --target | --targe | --targ | --tar | --ta | --t) + ac_prev=target ;; + -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) + target="$ac_optarg" ;; + + -v | -verbose | --verbose | --verbos | --verbo | --verb) + verbose=yes ;; + + -version | --version | --versio | --versi | --vers) + echo "configure generated by autoconf version 1.119" + exit 0 ;; + + -with-* | --with-*) + ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'` + # Reject names that are not valid shell variable names. + if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then + { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; } + fi + ac_package=`echo $ac_package| sed 's/-/_/g'` + case "$ac_option" in + *=*) ;; + *) ac_optarg=yes ;; + esac + eval "with_${ac_package}='$ac_optarg'" ;; + + -without-* | --without-*) + ac_package=`echo $ac_option|sed -e 's/-*without-//'` + # Reject names that are not valid shell variable names. + if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then + { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; } + fi + 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 "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; } + ;; + + *) + if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then + echo "configure: warning: $ac_option: invalid host type" 1>&2 + fi + if test "x$nonopt" != xNONE; then + { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; } + fi + nonopt="$ac_option" + ;; + + esac +done + +if test -n "$ac_prev"; then + { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; } +fi + +trap 'rm -fr conftest* confdefs* core $ac_clean_files; exit 1' 1 2 15 + +# File descriptor usage: +# 0 unused; standard input +# 1 file creation +# 2 errors and warnings +# 3 unused; some systems may open it to /dev/tty +# 4 checking for... messages and results +# 5 compiler messages saved in config.log +if test "$silent" = yes; then + exec 4>/dev/null +else + exec 4>&1 +fi +exec 5>./config.log + +echo "\ +This file contains any messages produced by compilers while +running configure, to aid debugging if configure makes a mistake. +" 1>&5 + +# Strip out --no-create and --no-recursion so they do not pile up. +# Also quote any args containing shell metacharacters. +ac_configure_args= +for ac_arg +do + case "$ac_arg" in + -no-create | --no-create | --no-creat | --no-crea | --no-cre \ + | --no-cr | --no-c) ;; + -no-recursion | --no-recursion | --no-recursio | --no-recursi \ + | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;; + *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*) + ac_configure_args="$ac_configure_args '$ac_arg'" ;; + *) ac_configure_args="$ac_configure_args $ac_arg" ;; + esac +done + +# NLS nuisances. +# Only set LANG and LC_ALL to C if already set. +# These must not be set unconditionally because not all systems understand +# e.g. LANG=C (notably SCO). +if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi +if test "${LANG+set}" = set; then LANG=C; export LANG; fi + +# 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 + +# A filename unique to this package, relative to the directory that +# configure is in, which we can look for to find out if srcdir is correct. +ac_unique_file=pipe.c + +# 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_prog=$0 + ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'` + test "x$ac_confdir" = "x$ac_prog" && ac_confdir=. + 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 "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; } + else + { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; } + fi +fi + +# Prefer explicitly selected file to automatically selected ones. +if test -z "$CONFIG_SITE"; then + if test "x$prefix" != xNONE; then + CONFIG_SITE=$prefix/lib/config.site + else + CONFIG_SITE=/usr/local/lib/config.site + fi + # System dependent files override system independent ones. + if test "x$exec_prefix" != xNONE && test "x$exec_prefix" != "x$prefix"; then + CONFIG_SITE="$CONFIG_SITE $exec_prefix/lib/config.site" + fi +fi +for ac_site_file in $CONFIG_SITE; do + if test -r "$ac_site_file"; then + echo "loading site script $ac_site_file" + . "$ac_site_file" + fi +done + +if test -r "$cache_file"; then + echo "loading cache $cache_file" + . $cache_file +else + echo "creating cache $cache_file" + > $cache_file +fi + +ac_ext=c +# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. +ac_cpp='$CPP $CPPFLAGS' +ac_link='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext -o conftest $LIBS 1>&5 2>&5' + +if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then + # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu. + if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then + ac_n= ac_c=' +' ac_t=' ' + else + ac_n=-n ac_c= ac_t= + fi +else + ac_n= ac_c='\c' ac_t= +fi + + + +# Extract the first word of "gcc", so it can be a program name with args. +set dummy gcc; ac_word=$2 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&4 +if eval "test \"`echo '${'ac_cv_prog_CC'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&4 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" + for ac_dir in $PATH; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + ac_cv_prog_CC="gcc" + break + fi + done + IFS="$ac_save_ifs" + test -z "$ac_cv_prog_CC" && ac_cv_prog_CC="cc" +fi +fi +CC="$ac_cv_prog_CC" +if test -n "$CC"; then + echo "$ac_t""$CC" 1>&4 +else + echo "$ac_t""no" 1>&4 +fi + + +echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&4 +if eval "test \"`echo '${'ac_cv_prog_gcc'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&4 +else + cat > conftest.c <<EOF +#ifdef __GNUC__ + yes +#endif +EOF +if ${CC-cc} -E conftest.c 2>&5 | egrep yes >/dev/null 2>&1; then + ac_cv_prog_gcc=yes +else + ac_cv_prog_gcc=no +fi +fi +echo "$ac_t""$ac_cv_prog_gcc" 1>&4 +if test $ac_cv_prog_gcc = yes; then + GCC=yes + if test "${CFLAGS+set}" != set; then + echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&4 +if eval "test \"`echo '${'ac_cv_prog_gcc_g'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&4 +else + echo 'void f(){}' > conftest.c +if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then + ac_cv_prog_gcc_g=yes +else + ac_cv_prog_gcc_g=no +fi +rm -f conftest* + +fi + echo "$ac_t""$ac_cv_prog_gcc_g" 1>&4 + if test $ac_cv_prog_gcc_g = yes; then + CFLAGS="-g -O" + else + CFLAGS="-O" + fi + fi +else + GCC= + test "${CFLAGS+set}" = set || CFLAGS="-g" +fi + +# Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&4 +if eval "test \"`echo '${'ac_cv_prog_RANLIB'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&4 +else + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" + for ac_dir in $PATH; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + ac_cv_prog_RANLIB="ranlib" + break + fi + done + IFS="$ac_save_ifs" + test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":" +fi +fi +RANLIB="$ac_cv_prog_RANLIB" +if test -n "$RANLIB"; then + echo "$ac_t""$RANLIB" 1>&4 +else + echo "$ac_t""no" 1>&4 +fi + + + + +trap '' 1 2 15 +if test -w $cache_file; then +echo "updating cache $cache_file" +cat > $cache_file <<\EOF +# 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. It is not useful on other systems. +# If it contains results you don't want to keep, you may remove or edit it. +# +# By default, configure uses ./config.cache as the cache file, +# creating it if it does not exist already. You can give configure +# the --cache-file=FILE option to use a different cache file; that is +# what configure does when it calls configure scripts in +# subdirectories, so they share the cache. +# Giving --cache-file=/dev/null disables caching, for debugging configure. +# config.status only pays attention to the cache file if you give it the +# --recheck option to rerun configure. +# +EOF +# Ultrix sh set writes to stderr and can't be redirected directly. +(set) 2>&1 | + sed -n "s/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/: \${\1='\2'}/p" \ + >> $cache_file +else +echo "not updating unwritable cache $cache_file" +fi + +trap 'rm -fr conftest* confdefs* core $ac_clean_files; exit 1' 1 2 15 + +test "x$prefix" = xNONE && prefix=/usr/local +# Let make expand exec_prefix. +test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' + +# Any assignment to VPATH causes Sun make to only execute +# the first set of double-colon rules, so remove it if not needed. +# If there is a colon in the path, we need to keep it. +if test "x$srcdir" = x.; then + ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d' +fi + +trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15 + +# Transform confdefs.h into DEFS. +# Protect against shell expansion while executing Makefile rules. +# Protect against Makefile macro expansion. +cat > conftest.defs <<\EOF +s%#define \([A-Za-z_][A-Za-z0-9_]*\) \(.*\)%-D\1=\2%g +s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g +s%\[%\\&%g +s%\]%\\&%g +s%\$%$$%g +EOF +DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '` +rm -f conftest.defs + + +# Without the "./", some shells look in PATH for config.status. +: ${CONFIG_STATUS=./config.status} + +echo creating $CONFIG_STATUS +rm -f $CONFIG_STATUS +cat > $CONFIG_STATUS <<EOF +#!/bin/sh +# Generated automatically by configure. +# Run this file to recreate the current configuration. +# This directory was configured as follows, +# on host `(hostname || uname -n) 2>/dev/null | sed 1q`: +# +# $0 $ac_configure_args +# +# Compiler output produced by configure, useful for debugging +# configure, is in ./config.log if it exists. + +ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]" +for ac_option +do + case "\$ac_option" in + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) + echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion" + exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;; + -version | --version | --versio | --versi | --vers | --ver | --ve | --v) + echo "$CONFIG_STATUS generated by autoconf version 1.119" + exit 0 ;; + -help | --help | --hel | --he | --h) + echo "\$ac_cs_usage"; exit 0 ;; + *) echo "\$ac_cs_usage"; exit 1 ;; + esac +done + +ac_given_srcdir=$srcdir + +trap 'rm -f Makefile; exit 1' 1 2 15 + +# Protect against being on the right side of a sed subst in config.status. +sed 's/%@/@@/; s/@%/@@/; s/%g$/@g/; /@g$/s/[\\\\&%]/\\\\&/g; + s/@@/%@/; s/@@/@%/; s/@g$/%g/' > conftest.subs <<\CEOF +$ac_vpsub +$extrasub +s%@CFLAGS@%$CFLAGS%g +s%@CPPFLAGS@%$CPPFLAGS%g +s%@CXXFLAGS@%$CXXFLAGS%g +s%@DEFS@%$DEFS%g +s%@LDFLAGS@%$LDFLAGS%g +s%@LIBS@%$LIBS%g +s%@exec_prefix@%$exec_prefix%g +s%@prefix@%$prefix%g +s%@CC@%$CC%g +s%@RANLIB@%$RANLIB%g + +CEOF +EOF +cat >> $CONFIG_STATUS <<EOF + +CONFIG_FILES=\${CONFIG_FILES-"Makefile"} +EOF +cat >> $CONFIG_STATUS <<\EOF +for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then + # Support "outfile[:infile]", defaulting infile="outfile.in". + case "$ac_file" in + *:*) ac_file_in=`echo "$ac_file"|sed 's%.*:%%'` + ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; + *) ac_file_in="${ac_file}.in" ;; + esac + + # Adjust relative srcdir, etc. for subdirectories. + + # Remove last slash and all that follows it. Not all systems have dirname. + ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'` + if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then + # The file is in a subdirectory. + test ! -d "$ac_dir" && mkdir "$ac_dir" + ac_dir_suffix="/$ac_dir" + # A "../" for each directory in $ac_dir_suffix. + ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'` + else + ac_dir_suffix= ac_dots= + fi + + case "$ac_given_srcdir" in + .) srcdir=. + if test -z "$ac_dots"; then top_srcdir=. + else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;; + /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;; + *) # Relative path. + srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix" + top_srcdir="$ac_dots$ac_given_srcdir" ;; + esac + + echo creating "$ac_file" + rm -f "$ac_file" + configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure." + case "$ac_file" in + *Makefile*) ac_comsub="1i\\ +# $configure_input" ;; + *) ac_comsub= ;; + esac + sed -e "$ac_comsub +s%@configure_input@%$configure_input%g +s%@srcdir@%$srcdir%g +s%@top_srcdir@%$top_srcdir%g +" -f conftest.subs $ac_given_srcdir/$ac_file_in > $ac_file +fi; done +rm -f conftest.subs + + +echo FOO >stamp-h +exit 0 +EOF +chmod +x $CONFIG_STATUS +rm -fr confdefs* $ac_clean_files +test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS + + + diff --git a/src/modules/pipe/configure.in b/src/modules/pipe/configure.in new file mode 100644 index 0000000000000000000000000000000000000000..f52af3d77fa304ab4833ee89db240f5cc6c6d808 --- /dev/null +++ b/src/modules/pipe/configure.in @@ -0,0 +1,10 @@ +AC_INIT(pipe.c) + +AC_PROG_CC +AC_PROG_RANLIB + +AC_SUBST(RANLIB) + +AC_OUTPUT(Makefile,echo FOO >stamp-h ) + + diff --git a/src/modules/pipe/dependencies b/src/modules/pipe/dependencies new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/src/modules/pipe/pipe.c b/src/modules/pipe/pipe.c new file mode 100644 index 0000000000000000000000000000000000000000..ae79c3caa74be7bb6036171b7cc929855ec32429 --- /dev/null +++ b/src/modules/pipe/pipe.c @@ -0,0 +1,1108 @@ +#include <sys/stat.h> +#include <sys/mman.h> +#include <sys/types.h> +#include <fcntl.h> + +#include "global.h" +#include "stralloc.h" +#include "types.h" +#include "macros.h" +#include "object.h" +#include "add_efun.h" +#include "interpret.h" +#include "svalue.h" +#include "error.h" + +/* +#define PIPE_STRING_DEBUG +#define PIPE_MMAP_DEBUG +#define PIPE_FILE_DEBUG +#define BLOCKING_CLOSE +*/ + +#if 0 +#define INSISTANT_WRITE +#endif + +#ifndef MAP_FILE +# define MAP_FILE 0 +#endif + +#define READ_BUFFER_SIZE 32768 +#define MAX_BYTES_IN_BUFFER 65536 + +/* + * usage: + * single socket output + * or regular file output and (multiple, adding) socket output + * with no mmap input + * + * multiple socket output without regular file output illegal + */ + +static struct program *pipe_program, *output_program; + +#define THIS ((struct pipe *)(fp->current_storage)) +#define THISOBJ (fp->current_object) + +struct input +{ + enum { I_NONE,I_OBJ,I_STRING,I_MMAP } type; + union + { + struct object *obj; + struct lpc_string *str; + unsigned char *mmap; + } u; + unsigned long len; /* current input: string or mmap len */ + int set_blocking_offset, set_nonblocking_offset; + struct input *next; +}; + +struct output +{ + struct object *obj; + int write_offset, set_blocking_offset, set_nonblocking_offset; + int fd; + + enum + { + O_RUN, /* waiting for callback */ + O_SLEEP /* sleeping; waiting for more data */ + } mode; + + unsigned long pos; /* position in buffer */ + struct object *next; + struct pipe *the_pipe; +}; + +struct buffer +{ + struct lpc_string *s; + struct buffer *next; +}; + +struct pipe +{ + int living_outputs; /* number of output objects */ + + struct svalue done_callback; + struct svalue output_closed_callback; + struct svalue id; + + /* + * if fd is -1: use fd + * else firstinput's type is I_MMAP: use firstinput's mmap + * else use buffer + */ + + int fd; /* buffer fd or -1 */ + + unsigned long bytes_in_buffer; + unsigned long pos; + /* fd: size of buffer file */ + /* current position of first element (buffer or mmap) */ + struct buffer *firstbuffer,*lastbuffer; + short sleeping; /* sleeping; buffer is full */ + short done; + struct input *firstinput,*lastinput; + struct object *firstoutput; +}; + +static int offset_input_read_callback; +static int offset_input_close_callback; +static int offset_output_write_callback; +static int offset_output_close_callback; +static int mmapped, nobjects, nstrings, noutputs, ninputs, nbuffers, sbuffers; + +static unsigned char static_buffer[READ_BUFFER_SIZE]; + +void close_and_free_everything(struct object *o,struct pipe *); +static INLINE void output_finish(struct object *obj); +static INLINE void output_try_write_some(struct object *obj); + +/********** internal ********************************************************/ + +/* Push a callback to this object given the internal function number. + */ +static void push_callback(int no) +{ + sp->u.object=THISOBJ; + THISOBJ->refs++; + sp->subtype=no+fp->context.identifier_level; + sp->type=T_FUNCTION; + sp++; +} + +/* Allocate a new struct input, link it last in the linked list */ +static INLINE struct input *new_input(void) +{ + struct input *i; + ninputs++; + i=ALLOC_STRUCT(input); + i->type=I_NONE; + i->next=NULL; + if (THIS->lastinput) + THIS->lastinput->next=i; + else + THIS->firstinput=i; + THIS->lastinput=i; + return i; +} + +/* Free an input struct and all that it stands for */ +static INLINE void free_input(struct input *i) +{ + ninputs--; + switch (i->type) + { + case I_OBJ: + if (!i->u.obj) break; + if (i->u.obj->prog) + { +#ifdef BLOCKING_CLOSE + apply_low(i->u.obj,i->set_blocking_offset,0); + pop_stack(); +#endif + apply(i->u.obj,"close",0); + pop_stack(); + } + free_object(i->u.obj); + nobjects--; + i->u.obj=0; + break; + + case I_STRING: + free_string(i->u.str); + nstrings--; + break; + + case I_MMAP: + munmap(i->u.mmap,i->len); + mmapped -= i->len; + break; + + } + free(i); +} + +/* do the done_callback, then close and free everything */ +static INLINE void pipe_done(void) +{ + if (THIS->done_callback.type!=T_INT) + { + assign_svalue_no_free(sp++,&THIS->id); + apply_svalue(&(THIS->done_callback),1); + pop_stack(); + + if(!THISOBJ->prog) + error("Pipe done callback destructed pipe.\n"); + } + close_and_free_everything(THISOBJ,THIS); +} + +static void finished_p(void) +{ + if(THIS->done) return; + + if(THIS->fd != -1) + { + if(THIS->living_outputs > 1) return; + if(THIS->firstinput) return; + + }else{ + if(THIS->living_outputs) return; + } + pipe_done(); +} + +/* Allocate a new buffer and put it at the end of the chain of buffers + * scheduled for output. Return 1 if we have more bytes in buffers + * than allowed afterwards. + */ +static INLINE int append_buffer(struct lpc_string *s) + /* 1=buffer full */ +{ + struct buffer *b; + + if(THIS->fd!= -1) + { + lseek(THIS->fd,THIS->pos,0); + write(THIS->fd,s->str,s->len); + THIS->pos+=s->len; + return 0; + } + else + { + nbuffers++; + b=ALLOC_STRUCT(buffer); + b->next=NULL; + b->s=s; + sbuffers += s->len; + s->refs++; + + if (THIS->lastbuffer) + THIS->lastbuffer->next=b; + else + THIS->firstbuffer=b; + + THIS->lastbuffer=b; + + THIS->bytes_in_buffer+=s->len; + } + return THIS->bytes_in_buffer > MAX_BYTES_IN_BUFFER; +} + +/* Wake up the sleepers */ +static void low_start() +{ + struct object *obj; + struct output *o; + + + THISOBJ->refs++; /* dont kill yourself now */ + for(obj=THIS->firstoutput;obj;obj=o->next) + { + o=(struct output *)&(obj->storage); + if (o->obj && o->mode==O_SLEEP) + { + if (!o->obj->prog) + { + output_finish(obj); + } + else + { +#if 0 + push_int(0); + push_callback(offset_output_write_callback); + push_callback(offset_output_close_callback); + apply_low(o->obj,o->set_nonblocking_offset,3); +#endif + output_try_write_some(obj); + o->mode=O_RUN; /* Hubbe */ + } + } + } + + free_object(THISOBJ); +} + +/* Let's guess what this function does.... + * + */ +static INLINE void input_finish(void) +{ + struct input *i; + + while(1) + { + i=THIS->firstinput->next; + free_input(THIS->firstinput); + THIS->firstinput=i; + + if(!i) break; + + switch(i->type) + { + case I_OBJ: + THIS->sleeping=0; + push_callback(offset_input_read_callback); + push_int(0); + push_callback(offset_input_close_callback); + apply_low(i->u.obj,i->set_nonblocking_offset,3); + pop_stack(); + return; + + case I_MMAP: + if (THIS->fd==-1) return; + continue; + + case I_STRING: + append_buffer(i->u.str); + } + } + THIS->sleeping=0; + + low_start(); + finished_p(); +} + +/* This function reads some data from the file cache.. + * Called when we want some data to send. + */ +static INLINE struct lpc_string* gimme_some_data(unsigned long pos) +{ + struct buffer *b; + unsigned long len; + + /* We have a file cache, read from it */ + if (THIS->fd!=-1) + { + if (THIS->pos<=pos) return NULL; /* no data */ + len=THIS->pos-pos; + if (len>READ_BUFFER_SIZE) len=READ_BUFFER_SIZE; + lseek(THIS->fd,pos,0); /* SEEK_SET */ + read(THIS->fd,static_buffer,len); + return make_shared_binary_string(static_buffer,len); + } + + if (pos<THIS->pos) + return make_shared_string("buffer underflow"); /* shit */ + + /* We want something in the next buffer */ + while (THIS->firstbuffer && pos>=THIS->pos+THIS->firstbuffer->s->len) + { + /* Free the first buffer, and update THIS->pos */ + b=THIS->firstbuffer; + THIS->pos+=b->s->len; + THIS->bytes_in_buffer-=b->s->len; + THIS->firstbuffer=b->next; + if (!b->next) + THIS->lastbuffer=NULL; + sbuffers-=b->s->len; + nbuffers--; + free_string(b->s); + free(b); + + /* Wake up first input if it was sleeping and we + * have room for more in the buffer. + */ + if (THIS->sleeping && + THIS->firstinput && + THIS->bytes_in_buffer<MAX_BYTES_IN_BUFFER) + { + THIS->sleeping=0; + push_callback(offset_input_read_callback); + push_int(0); + push_callback(offset_input_close_callback); + apply(THIS->firstinput->u.obj, "set_nonblocking", 3); + pop_stack(); + } + } + + while (!THIS->firstbuffer) + { + if (THIS->firstinput) + { + if (THIS->firstinput->type==I_MMAP) + { + if (pos >= THIS->firstinput->len + THIS->pos) /* end of mmap */ + { + THIS->pos+=THIS->firstinput->len; + input_finish(); + continue; + } + len=THIS->firstinput->len+THIS->pos-pos; + if (len>READ_BUFFER_SIZE) len=READ_BUFFER_SIZE; + return make_shared_binary_string(THIS->firstinput->u.mmap+ + pos-THIS->pos, + len); + } + else if (THIS->firstinput->type!=I_OBJ) + { + input_finish(); /* shouldn't be anything else ... maybe a finished object */ + } + } + return NULL; /* no data */ + } + + if (pos==THIS->pos) + { + THIS->firstbuffer->s->refs++; + return THIS->firstbuffer->s; + } + return make_shared_binary_string(THIS->firstbuffer->s->str+ + pos-THIS->pos, + THIS->firstbuffer->s->len- + pos+THIS->pos); +} + + +/* + * close and free the contents of a struct output + * Note that the output struct is not freed or unlinked here, + * that is taken care of later. + */ +static INLINE void output_finish(struct object *obj) +{ + struct output *o; + + o=(struct output *)&(obj->storage); + + if (o->obj) + { + if(o->obj->prog) + { +#ifdef BLOCKING_CLOSE + apply_low(o->obj,o->set_blocking_offset,0); + pop_stack(); +#endif + push_int(0); + apply(o->obj,"set_id",1); + pop_stack(); + + apply(o->obj,"close",0); + pop_stack(); + + if(!THISOBJ->prog) + error("Pipe done callback destructed pipe.\n"); + } + free_object(o->obj); + noutputs--; + o->obj=NULL; + + THIS->living_outputs--; + + finished_p(); /* Moved by per, one line down.. :) */ + + free_object(THISOBJ); /* What? /Hubbe */ + } +} + +/* + * Try to write some data to our precious output + */ +static INLINE void output_try_write_some(struct object *obj) +{ + struct output *out; + struct lpc_string *s; + unsigned long len; + INT32 ret; + + out=(struct output*)&(obj->storage); + +#ifdef INSISTANT_WRITE + do + { +#endif + /* Get some data to write */ + s=gimme_some_data(out->pos); + if (!s) /* out of data */ + { + /* out of data, goto sleep */ + if (!THIS->firstinput || !out->obj->prog) /* end of life */ + { + output_finish(obj); + } + else + { +#if 0 + apply_low(out->obj, out->set_blocking_offset, 0); + pop_stack(); /* from apply */ +#endif + out->mode=O_SLEEP; + } + return; + } + len=s->len; + push_string(s); + apply_low(out->obj,out->write_offset,1); + out->mode=O_RUN; + + ret=-1; + if(sp[-1].type == T_INT) ret=sp[-1].u.integer; + pop_stack(); + + if (ret==-1) /* error, byebye */ + { + output_finish(obj); + return; + } + out->pos+=ret; + +#ifdef INSISTANT_WRITE + } while(ret == len); +#endif +} + +/********** methods *********************************************************/ + +/* Add an input to this pipe */ +static void pipe_input(INT32 args) +{ + struct input *i; + int fd=-1; /* Per, one less warning to worry about... */ + unsigned char *m; + struct stat s; + struct object *obj; + + if (args<1 || sp[-args].type != T_OBJECT) + error("Bad/missing argument 1 to pipe->input().\n"); + + obj=sp[-args].u.object; + if(!obj || !obj->prog) + error("pipe->input() on destructed object.\n"); + + push_int(0); + apply(sp[-args-1].u.object,"set_id", 1); + pop_stack(); + + i=new_input(); + + /* We do not handle mmaps if we have a buffer */ + if(THIS->fd == -1) + { + apply(obj, "query_fd", 0); + if(sp[-1].type == T_INT) fd=sp[-1].u.integer; + pop_stack(); + + if (fd != -1 && fstat(fd,&s)==0) + { + if(S_ISREG(s.st_mode) /* regular file */ + && ((int)(m=mmap(0,s.st_size,PROT_READ,MAP_FILE|MAP_SHARED,fd,0))!=-1)) + { + mmapped += s.st_size; + + i->type=I_MMAP; + i->len=s.st_size; + i->u.mmap=m; + + pop_n_elems(args); + push_int(0); + return; + } + } + } + + i->u.obj=obj; + nobjects++; + i->type=I_OBJ; + i->u.obj->refs++; + i->set_nonblocking_offset=find_identifier("set_nonblocking",i->u.obj->prog); + i->set_blocking_offset=find_identifier("set_blocking",i->u.obj->prog); + + if (i->set_nonblocking_offset<0 || + i->set_blocking_offset<0) + { + free_object(i->u.obj); + i->u.obj=NULL; + i->type=I_NONE; + + nobjects--; + error("illegal file object%s%s\n", + ((i->set_nonblocking_offset<0)?"; no set_nonblocking":""), + ((i->set_blocking_offset<0)?"; no set_blocking":"")); + } + + if (i==THIS->firstinput) + { + push_callback(offset_input_read_callback); + push_int(0); + push_callback(offset_input_close_callback); + apply_low(i->u.obj,i->set_nonblocking_offset,3); + pop_stack(); + } + else + { + /* DOESN'T WORK!!! */ + push_int(0); + push_int(0); + push_callback(offset_input_close_callback); + apply_low(i->u.obj,i->set_nonblocking_offset,3); + pop_stack(); + } + + pop_n_elems(args); + push_int(0); +} + +static void pipe_write(INT32 args) +{ + struct input *i; + + if (args<1 || sp[-args].type!=T_STRING) + error("illegal argument to pipe->write()\n"); + + if (!THIS->firstinput) + { + append_buffer(sp[-args].u.string); + pop_n_elems(args); + push_int(0); + return; + } + + i=new_input(); + i->type=I_STRING; + nstrings++; + i->u.str=sp[-args].u.string; + i->u.str->refs++; + pop_n_elems(args-1); +} + +void f_mark_fd(INT32 args); + +static void pipe_output(INT32 args) +{ + struct object *obj; + struct output *o; + int fd; + struct stat s; + struct buffer *b; + + if (args<1 || + sp[-args].type != T_OBJECT || + !sp[-args].u.object || + !sp[-args].u.object->prog) + error("Bad/missing argument 1 to pipe->output().\n"); + + if (THIS->fd==-1) /* no buffer */ + { + /* test if usable as buffer */ + apply(sp[-args].u.object,"query_fd",0); + + if ((sp[-1].type==T_INT) + && (fd=sp[-1].u.integer)>=0 + && (fstat(fd,&s)==0) + && S_ISREG(s.st_mode) + && (THIS->fd=dup(fd))!=-1 ) + { + push_int(THIS->fd); + push_string(make_shared_string("pipe.c: file buffer")); + f_mark_fd(2); + pop_stack(); + + THIS->living_outputs++; + + while (THIS->firstbuffer) + { + b=THIS->firstbuffer; + THIS->firstbuffer=b->next; + lseek(THIS->fd,THIS->pos,0); + write(THIS->fd,b->s->str,b->s->len); + sbuffers-=b->s->len; + nbuffers--; + free_string(b->s); + free(b); + } + THIS->lastbuffer=NULL; + + THIS->pos=0; + push_int(0); + apply(sp[-args-2].u.object,"set_id", 1); + pop_n_elems(args+2); /* ... and from apply x 2 */ + return; + } + pop_stack(); /* from apply */ + } + + THIS->living_outputs++; + THISOBJ->refs++; /* Weird */ + + /* Allocate a new struct output */ + obj=clone(output_program,0); + o=(struct output *)&(obj->storage); + o->next=THIS->firstoutput; + THIS->firstoutput=obj; + noutputs++; + o->obj=NULL; + + o->obj=sp[-args].u.object; + o->obj->refs++; + + o->write_offset=find_identifier("write",o->obj->prog); + o->set_nonblocking_offset=find_identifier("set_nonblocking",o->obj->prog); + o->set_blocking_offset=find_identifier("set_blocking",o->obj->prog); + + if (o->write_offset<0 || o->set_nonblocking_offset<0 || + o->set_blocking_offset<0) + { + free_object(o->obj); + error("illegal file object%s%s%s\n", + ((o->write_offset<0)?"; no write":""), + ((o->set_nonblocking_offset<0)?"; no set_nonblocking":""), + ((o->set_blocking_offset<0)?"; no set_blocking":"")); + } + + o->mode=O_RUN; + o->pos=0; + + push_object(obj); + obj->refs++; + apply(o->obj,"set_id",1); + pop_stack(); + + push_int(0); + push_callback(offset_output_write_callback); + push_callback(offset_output_close_callback); + apply_low(o->obj,o->set_nonblocking_offset,3); + pop_stack(); + + pop_n_elems(args-1); +} + +static void pipe_set_done_callback(INT32 args) +{ + if (args==0) + { + free_svalue(&THIS->done_callback); + THIS->done_callback.type=T_INT; + return; + } + if (args<1 || (sp[-args].type!=T_FUNCTION && sp[-args].type!=T_ARRAY)) + error("Illegal argument to set_done_callback()\n"); + + if (args>1) + { + free_svalue(&THIS->id); + assign_svalue_no_free(&(THIS->id),sp-args+1); + } + + free_svalue(&THIS->done_callback); + assign_svalue_no_free(&(THIS->done_callback),sp-args); + pop_n_elems(args-1); +} + +static void pipe_set_output_closed_callback(INT32 args) +{ + if (args==0) + { + free_svalue(&THIS->done_callback); + THIS->output_closed_callback.type=T_INT; + return; + } + if (args<1 || (sp[-args].type!=T_FUNCTION && sp[-args].type!=T_ARRAY)) + error("Illegal argument to set_output_closed_callback()\n"); + + if (args>1) + { + free_svalue(&THIS->id); + assign_svalue_no_free(&(THIS->id),sp-args+1); + } + free_svalue(&THIS->output_closed_callback); + assign_svalue_no_free(&(THIS->output_closed_callback),sp-args); + pop_n_elems(args-1); +} + +static void pipe_finish(INT32 args) +{ + pop_n_elems(args); + push_int(0); + pipe_done(); +} + +static void pipe_start(INT32 args) /* force start */ +{ + low_start(); + if(args) + pop_n_elems(args-1); +} + +/********** callbacks *******************************************************/ + +static void pipe_write_output_callback(INT32 args) +{ + if (args<1 || + sp[-args].type!=T_OBJECT || + sp[-args].u.object->prog != output_program) + error("Illegal argument to pipe->write_output_callback\n"); + + output_try_write_some(sp[-args].u.object); + pop_n_elems(args-1); +} + +static void pipe_close_output_callback(INT32 args) +{ + struct output *o; + if (args<1 || + sp[-args].type!=T_OBJECT || + sp[-args].u.object->prog != output_program) + error("Illegal argument to pipe->close_output_callback\n"); + + o=(struct output *)&(sp[-args].u.object->storage); + + if (THIS->output_closed_callback.type!=T_INT) + { + assign_svalue_no_free(sp++,&THIS->id); + push_object(o->obj); + apply_svalue(&(THIS->output_closed_callback),2); + pop_stack(); + } + + output_finish(sp[-args].u.object); + pop_n_elems(args-1); +} + +static void pipe_read_input_callback(INT32 args) +{ + struct input *i; + struct lpc_string *s; + + if (args<2 || sp[1-args].type!=T_STRING) + error("Illegal argument to pipe->read_input_callback\n"); + + i=THIS->firstinput; + + if (!i) + error("Pipe read callback without any inputs left.\n"); + + s=sp[1-args].u.string; + + if(append_buffer(s)) + { + /* THIS DOES NOT WORK */ + push_int(0); + push_int(0); + push_callback(offset_input_close_callback); + apply_low(i->u.obj,i->set_nonblocking_offset,3); + pop_stack(); + THIS->sleeping=1; + } + + low_start(); + pop_n_elems(args-1); +} + +static void pipe_close_input_callback(INT32 args) +{ + struct input *i; + i=THIS->firstinput; + + if(!i) + error("Input close callback without inputs!\n"); + + if(i->type != I_OBJ) + error("Premature close callback on pipe!.\n"); + + if (i->u.obj->prog) + { +#ifdef BLOCKING_CLOSE + apply_low(i->u.obj,i->set_blocking_offset,0); + pop_stack(); +#endif + apply(i->u.obj,"close",0); + pop_stack(); + } + nobjects--; + free_object(i->u.obj); + i->type=I_NONE; + + input_finish(); + if(args) + pop_n_elems(args-1); +} + +static void pipe_version(INT32 args) +{ + pop_n_elems(args); + push_int(0); + push_string(make_shared_string("PIPE ver 2.0 compiled "__DATE__)); +} + +/********** init/exit *******************************************************/ + +void close_and_free_everything(struct object *thisobj,struct pipe *p) +{ + struct buffer *b; + struct input *i; + struct output *o; + struct object *obj; + + p->done=1; + + if (thisobj) + thisobj->refs++; /* don't kill object during this */ + + while (p->firstbuffer) + { + b=p->firstbuffer; + p->firstbuffer=b->next; + sbuffers-=b->s->len; + nbuffers--; + free_string(b->s); + b->next=NULL; + free((char *)b); /* Hubbe */ + } + p->lastbuffer=NULL; + + + while (p->firstinput) + { + i=p->firstinput; + p->firstinput=i->next; + free_input(i); + } + p->lastinput=NULL; + + while (p->firstoutput) + { + obj=p->firstoutput; + o=(struct output *)&(obj->storage); + p->firstoutput=o->next; + output_finish(obj); + free_object(obj); + } + if (p->fd!=-1) + { + close(p->fd); + p->fd=-1; + } + + p->living_outputs=0; + + if (thisobj) + free_object(thisobj); + + free_svalue(& p->done_callback); + free_svalue(& p->output_closed_callback); + free_svalue(& p->id); + + p->done_callback.type=T_INT; + p->output_closed_callback.type=T_INT; + p->id.type=T_INT; + + p->done=0; +} + +static void init_pipe_struct(char *foo, struct object *o) +{ + struct pipe *p; + p=(struct pipe *) foo; + + p->firstbuffer=p->lastbuffer=NULL; + p->firstinput=p->lastinput=NULL; + p->firstoutput=NULL; + p->bytes_in_buffer=0; + p->pos=0; + p->sleeping=0; + p->done=0; + p->fd=-1; + p->done_callback.type=T_INT; + p->output_closed_callback.type=T_INT; + p->id.type=T_INT; + p->id.u.integer=0; + p->living_outputs=0; +} + +static void exit_pipe_struct(char *foo, struct object *o) +{ + struct pipe *p; + + p=(struct pipe *) foo; + close_and_free_everything(NULL,p); +} + +static void exit_output_struct(char *foo, struct object *obj) +{ + struct output *o; + + o=(struct output *)foo; + if (o->obj) + { + if(o->obj->prog) + { +#ifdef BLOCKING_CLOSE + apply_low(o->obj,o->set_blocking_offset,0); + pop_stack(); +#endif + push_int(0); + apply(o->obj,"set_id",1); + pop_stack(); + + apply(o->obj,"close",0); + pop_stack(); + + if(!THISOBJ->prog) + error("Pipe done callback destructed pipe.\n"); + } + free_object(o->obj); + noutputs--; + o->obj=0; + } +} + +static void init_output_struct(char *foo, struct object *ob) +{ + struct output *o; + + o=(struct output *)foo; + o->obj=0; +} + + +/********** ulpc init *******************************************************/ + +void port_setup_program(void); + +void f__pipe_debug(INT32 args) +{ + pop_n_elems(args); + push_int(noutputs); + push_int(ninputs); + push_int(nstrings); + push_int(nobjects); + push_int(mmapped); + push_int(nbuffers); + push_int(sbuffers); + f_aggregate(7); +} + +void init_pipe_programs() +{ + start_new_program(); + add_storage(sizeof(struct pipe)); + add_efun("_pipe_debug", f__pipe_debug, "function(:array)", 0); + add_function("input",pipe_input,"function(object:void)",0); + add_function("output",pipe_output,"function(object:void)",0); + add_function("write",pipe_write,"function(string:void)",0); + + add_function("start",pipe_start,"function(:void)",0); + add_function("finish",pipe_finish,"function(:void)",0); + + add_function("set_output_closed_callback",pipe_set_output_closed_callback, + "function(void|function(mixed,object:mixed),void|mixed:void)",0); + add_function("set_done_callback",pipe_set_done_callback, + "function(void|function(mixed:mixed),void|mixed:void)",0); + + add_function("_output_close_callback",pipe_close_output_callback, + "function(int:void)",0); + add_function("_input_close_callback",pipe_close_input_callback, + "function(int:void)",0); + add_function("_output_write_callback",pipe_write_output_callback, + "function(int:void)",0); + add_function("_input_read_callback",pipe_read_input_callback, + "function(int,string:void)",0); + + add_function("version",pipe_version,"function(:string)",0); + + set_init_callback(init_pipe_struct); + set_exit_callback(exit_pipe_struct); + + pipe_program=end_c_program("/precompiled/pipe"); + + pipe_program->refs++; + + port_setup_program(); + + offset_output_close_callback=find_identifier("_output_close_callback", + pipe_program); + offset_input_close_callback=find_identifier("_input_close_callback", + pipe_program); + offset_output_write_callback=find_identifier("_output_write_callback", + pipe_program); + offset_input_read_callback=find_identifier("_input_read_callback", + pipe_program); + + + start_new_program(); + add_storage(sizeof(struct output)); + set_init_callback(init_output_struct); + set_exit_callback(exit_output_struct); + output_program=end_c_program("/precompiled/_output"); + output_program->refs++; +} + +void init_pipe_efuns(void) {} +void exit_pipe(void) +{ + if(pipe_program) free_program(pipe_program); + pipe_program=0; + if(output_program) free_program(output_program); + output_program=0; +} + + + + + + + diff --git a/src/modules/pipe/stamp-h b/src/modules/pipe/stamp-h new file mode 100644 index 0000000000000000000000000000000000000000..b7d6715e2df11b9c32b2341423273c6b3ad9ae8a --- /dev/null +++ b/src/modules/pipe/stamp-h @@ -0,0 +1 @@ +FOO diff --git a/src/modules/regexp/Makefile b/src/modules/regexp/Makefile new file mode 100644 index 0000000000000000000000000000000000000000..8b2c460273895d4e91182229f5f1cce52274a58a --- /dev/null +++ b/src/modules/regexp/Makefile @@ -0,0 +1,22 @@ +# Generated automatically from Makefile.in by configure. +SRCDIR=. +VPATH=.:./../..:../.. +PREFLAGS=-I$(SRCDIR) -I$(SRCDIR)/../.. -I../.. +CFLAGS=$(PREFLAGS) $(OTHERFLAGS) + +FILES=regexp.o glue.o + +regexp.a: $(FILES) + -rm -f regexp.a + ar cq regexp.a $(FILES) + -ranlib regexp.a + +clean: + -rm -f *.o *.a + +depend: + gcc -MM $(PREFLAGS) $(SRCDIR)/*.c | sed 's;$(SRCDIR)/;;g' | sed 's;\.\./;;g' | sed 's;\./;;g' >$(SRCDIR)/dependencies + +include ./dependencies + + diff --git a/src/modules/regexp/configure b/src/modules/regexp/configure new file mode 100755 index 0000000000000000000000000000000000000000..928d14a5d0be8b6e409486ab56dd147ec40f2a89 --- /dev/null +++ b/src/modules/regexp/configure @@ -0,0 +1,679 @@ +#!/bin/sh + +# Guess values for system-dependent variables and create Makefiles. +# Generated automatically using autoconf version 1.119 +# Copyright (C) 1991, 1992, 1993, 1994 Free Software Foundation, Inc. +# +# This configure script is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as published +# by the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This script is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +ac_help= + +# Omit some internal or obsolete options to make the list less imposing. +ac_usage="Usage: configure [options] [host] +Options: [defaults in brackets after descriptions] +Configuration: + --cache-file=FILE cache test results in FILE + --help print this message + --no-create do not create output files + --quiet, --silent do not print \`checking...' messages + --version print the version of autoconf that created configure +Directory and file names: + --exec-prefix=PREFIX install host dependent files in PREFIX [/usr/local] + --prefix=PREFIX install host independent files in PREFIX [/usr/local] + --srcdir=DIR find the sources in DIR [configure dir or ..] + --program-prefix=PREFIX prepend PREFIX to installed program names + --program-suffix=SUFFIX append SUFFIX to installed program names +Host type: + --build=BUILD configure for building on BUILD [BUILD=HOST] + --host=HOST configure for HOST [guessed] + --target=TARGET configure for TARGET [TARGET=HOST] +Features and packages: + --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) + --enable-FEATURE[=ARG] include FEATURE [ARG=yes] + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --x-includes=DIR X include files are in DIR + --x-libraries=DIR X library files are in DIR +--enable and --with options recognized:$ac_help" + +# Initialize some variables set by options. +# The variables have the same names as the options, with +# dashes changed to underlines. +build=NONE +cache_file=./config.cache +exec_prefix=NONE +host=NONE +no_create= +nonopt=NONE +no_recursion= +prefix=NONE +program_prefix=NONE +program_suffix=NONE +program_transform_name=NONE +silent= +srcdir= +target=NONE +verbose= +x_includes=NONE +x_libraries=NONE + +# Initialize some other variables. +subdirs= + +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 + + case "$ac_option" in + -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;; + *) ac_optarg= ;; + esac + + # Accept the important Cygnus configure options, so we can diagnose typos. + + case "$ac_option" in + + -build | --build | --buil | --bui | --bu | --b) + ac_prev=build ;; + -build=* | --build=* | --buil=* | --bui=* | --bu=* | --b=*) + build="$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" ;; + + -disable-* | --disable-*) + ac_feature=`echo $ac_option|sed -e 's/-*disable-//'` + # Reject names that are not valid shell variable names. + if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then + { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; } + fi + ac_feature=`echo $ac_feature| sed 's/-/_/g'` + eval "enable_${ac_feature}=no" ;; + + -enable-* | --enable-*) + ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'` + # Reject names that are not valid shell variable names. + if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then + { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; } + fi + ac_feature=`echo $ac_feature| sed 's/-/_/g'` + case "$ac_option" in + *=*) ;; + *) 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) + cat << EOF +$ac_usage +EOF + exit 0 ;; + + -host | --host | --hos | --ho) + ac_prev=host ;; + -host=* | --host=* | --hos=* | --ho=*) + host="$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) + 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 ;; + + -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 ;; + + -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) + ac_prev=srcdir ;; + -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) + srcdir="$ac_optarg" ;; + + -target | --target | --targe | --targ | --tar | --ta | --t) + ac_prev=target ;; + -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) + target="$ac_optarg" ;; + + -v | -verbose | --verbose | --verbos | --verbo | --verb) + verbose=yes ;; + + -version | --version | --versio | --versi | --vers) + echo "configure generated by autoconf version 1.119" + exit 0 ;; + + -with-* | --with-*) + ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'` + # Reject names that are not valid shell variable names. + if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then + { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; } + fi + ac_package=`echo $ac_package| sed 's/-/_/g'` + case "$ac_option" in + *=*) ;; + *) ac_optarg=yes ;; + esac + eval "with_${ac_package}='$ac_optarg'" ;; + + -without-* | --without-*) + ac_package=`echo $ac_option|sed -e 's/-*without-//'` + # Reject names that are not valid shell variable names. + if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then + { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; } + fi + 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 "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; } + ;; + + *) + if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then + echo "configure: warning: $ac_option: invalid host type" 1>&2 + fi + if test "x$nonopt" != xNONE; then + { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; } + fi + nonopt="$ac_option" + ;; + + esac +done + +if test -n "$ac_prev"; then + { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; } +fi + +trap 'rm -fr conftest* confdefs* core $ac_clean_files; exit 1' 1 2 15 + +# File descriptor usage: +# 0 unused; standard input +# 1 file creation +# 2 errors and warnings +# 3 unused; some systems may open it to /dev/tty +# 4 checking for... messages and results +# 5 compiler messages saved in config.log +if test "$silent" = yes; then + exec 4>/dev/null +else + exec 4>&1 +fi +exec 5>./config.log + +echo "\ +This file contains any messages produced by compilers while +running configure, to aid debugging if configure makes a mistake. +" 1>&5 + +# Strip out --no-create and --no-recursion so they do not pile up. +# Also quote any args containing shell metacharacters. +ac_configure_args= +for ac_arg +do + case "$ac_arg" in + -no-create | --no-create | --no-creat | --no-crea | --no-cre \ + | --no-cr | --no-c) ;; + -no-recursion | --no-recursion | --no-recursio | --no-recursi \ + | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;; + *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*) + ac_configure_args="$ac_configure_args '$ac_arg'" ;; + *) ac_configure_args="$ac_configure_args $ac_arg" ;; + esac +done + +# NLS nuisances. +# Only set LANG and LC_ALL to C if already set. +# These must not be set unconditionally because not all systems understand +# e.g. LANG=C (notably SCO). +if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi +if test "${LANG+set}" = set; then LANG=C; export LANG; fi + +# 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 + +# A filename unique to this package, relative to the directory that +# configure is in, which we can look for to find out if srcdir is correct. +ac_unique_file=regexp.c + +# 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_prog=$0 + ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'` + test "x$ac_confdir" = "x$ac_prog" && ac_confdir=. + 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 "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; } + else + { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; } + fi +fi + +# Prefer explicitly selected file to automatically selected ones. +if test -z "$CONFIG_SITE"; then + if test "x$prefix" != xNONE; then + CONFIG_SITE=$prefix/lib/config.site + else + CONFIG_SITE=/usr/local/lib/config.site + fi + # System dependent files override system independent ones. + if test "x$exec_prefix" != xNONE && test "x$exec_prefix" != "x$prefix"; then + CONFIG_SITE="$CONFIG_SITE $exec_prefix/lib/config.site" + fi +fi +for ac_site_file in $CONFIG_SITE; do + if test -r "$ac_site_file"; then + echo "loading site script $ac_site_file" + . "$ac_site_file" + fi +done + +if test -r "$cache_file"; then + echo "loading cache $cache_file" + . $cache_file +else + echo "creating cache $cache_file" + > $cache_file +fi + +ac_ext=c +# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. +ac_cpp='$CPP $CPPFLAGS' +ac_link='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext -o conftest $LIBS 1>&5 2>&5' + +if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then + # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu. + if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then + ac_n= ac_c=' +' ac_t=' ' + else + ac_n=-n ac_c= ac_t= + fi +else + ac_n= ac_c='\c' ac_t= +fi + + + +# Extract the first word of "gcc", so it can be a program name with args. +set dummy gcc; ac_word=$2 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&4 +if eval "test \"`echo '${'ac_cv_prog_CC'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&4 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" + for ac_dir in $PATH; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + ac_cv_prog_CC="gcc" + break + fi + done + IFS="$ac_save_ifs" + test -z "$ac_cv_prog_CC" && ac_cv_prog_CC="cc" +fi +fi +CC="$ac_cv_prog_CC" +if test -n "$CC"; then + echo "$ac_t""$CC" 1>&4 +else + echo "$ac_t""no" 1>&4 +fi + + +echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&4 +if eval "test \"`echo '${'ac_cv_prog_gcc'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&4 +else + cat > conftest.c <<EOF +#ifdef __GNUC__ + yes +#endif +EOF +if ${CC-cc} -E conftest.c 2>&5 | egrep yes >/dev/null 2>&1; then + ac_cv_prog_gcc=yes +else + ac_cv_prog_gcc=no +fi +fi +echo "$ac_t""$ac_cv_prog_gcc" 1>&4 +if test $ac_cv_prog_gcc = yes; then + GCC=yes + if test "${CFLAGS+set}" != set; then + echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&4 +if eval "test \"`echo '${'ac_cv_prog_gcc_g'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&4 +else + echo 'void f(){}' > conftest.c +if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then + ac_cv_prog_gcc_g=yes +else + ac_cv_prog_gcc_g=no +fi +rm -f conftest* + +fi + echo "$ac_t""$ac_cv_prog_gcc_g" 1>&4 + if test $ac_cv_prog_gcc_g = yes; then + CFLAGS="-g -O" + else + CFLAGS="-O" + fi + fi +else + GCC= + test "${CFLAGS+set}" = set || CFLAGS="-g" +fi + +# Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&4 +if eval "test \"`echo '${'ac_cv_prog_RANLIB'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&4 +else + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" + for ac_dir in $PATH; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + ac_cv_prog_RANLIB="ranlib" + break + fi + done + IFS="$ac_save_ifs" + test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":" +fi +fi +RANLIB="$ac_cv_prog_RANLIB" +if test -n "$RANLIB"; then + echo "$ac_t""$RANLIB" 1>&4 +else + echo "$ac_t""no" 1>&4 +fi + + + +trap '' 1 2 15 +if test -w $cache_file; then +echo "updating cache $cache_file" +cat > $cache_file <<\EOF +# 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. It is not useful on other systems. +# If it contains results you don't want to keep, you may remove or edit it. +# +# By default, configure uses ./config.cache as the cache file, +# creating it if it does not exist already. You can give configure +# the --cache-file=FILE option to use a different cache file; that is +# what configure does when it calls configure scripts in +# subdirectories, so they share the cache. +# Giving --cache-file=/dev/null disables caching, for debugging configure. +# config.status only pays attention to the cache file if you give it the +# --recheck option to rerun configure. +# +EOF +# Ultrix sh set writes to stderr and can't be redirected directly. +(set) 2>&1 | + sed -n "s/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/: \${\1='\2'}/p" \ + >> $cache_file +else +echo "not updating unwritable cache $cache_file" +fi + +trap 'rm -fr conftest* confdefs* core $ac_clean_files; exit 1' 1 2 15 + +test "x$prefix" = xNONE && prefix=/usr/local +# Let make expand exec_prefix. +test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' + +# Any assignment to VPATH causes Sun make to only execute +# the first set of double-colon rules, so remove it if not needed. +# If there is a colon in the path, we need to keep it. +if test "x$srcdir" = x.; then + ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d' +fi + +trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15 + +# Transform confdefs.h into DEFS. +# Protect against shell expansion while executing Makefile rules. +# Protect against Makefile macro expansion. +cat > conftest.defs <<\EOF +s%#define \([A-Za-z_][A-Za-z0-9_]*\) \(.*\)%-D\1=\2%g +s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g +s%\[%\\&%g +s%\]%\\&%g +s%\$%$$%g +EOF +DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '` +rm -f conftest.defs + + +# Without the "./", some shells look in PATH for config.status. +: ${CONFIG_STATUS=./config.status} + +echo creating $CONFIG_STATUS +rm -f $CONFIG_STATUS +cat > $CONFIG_STATUS <<EOF +#!/bin/sh +# Generated automatically by configure. +# Run this file to recreate the current configuration. +# This directory was configured as follows, +# on host `(hostname || uname -n) 2>/dev/null | sed 1q`: +# +# $0 $ac_configure_args +# +# Compiler output produced by configure, useful for debugging +# configure, is in ./config.log if it exists. + +ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]" +for ac_option +do + case "\$ac_option" in + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) + echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion" + exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;; + -version | --version | --versio | --versi | --vers | --ver | --ve | --v) + echo "$CONFIG_STATUS generated by autoconf version 1.119" + exit 0 ;; + -help | --help | --hel | --he | --h) + echo "\$ac_cs_usage"; exit 0 ;; + *) echo "\$ac_cs_usage"; exit 1 ;; + esac +done + +ac_given_srcdir=$srcdir + +trap 'rm -f Makefile; exit 1' 1 2 15 + +# Protect against being on the right side of a sed subst in config.status. +sed 's/%@/@@/; s/@%/@@/; s/%g$/@g/; /@g$/s/[\\\\&%]/\\\\&/g; + s/@@/%@/; s/@@/@%/; s/@g$/%g/' > conftest.subs <<\CEOF +$ac_vpsub +$extrasub +s%@CFLAGS@%$CFLAGS%g +s%@CPPFLAGS@%$CPPFLAGS%g +s%@CXXFLAGS@%$CXXFLAGS%g +s%@DEFS@%$DEFS%g +s%@LDFLAGS@%$LDFLAGS%g +s%@LIBS@%$LIBS%g +s%@exec_prefix@%$exec_prefix%g +s%@prefix@%$prefix%g +s%@CC@%$CC%g +s%@RANLIB@%$RANLIB%g + +CEOF +EOF +cat >> $CONFIG_STATUS <<EOF + +CONFIG_FILES=\${CONFIG_FILES-"Makefile"} +EOF +cat >> $CONFIG_STATUS <<\EOF +for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then + # Support "outfile[:infile]", defaulting infile="outfile.in". + case "$ac_file" in + *:*) ac_file_in=`echo "$ac_file"|sed 's%.*:%%'` + ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; + *) ac_file_in="${ac_file}.in" ;; + esac + + # Adjust relative srcdir, etc. for subdirectories. + + # Remove last slash and all that follows it. Not all systems have dirname. + ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'` + if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then + # The file is in a subdirectory. + test ! -d "$ac_dir" && mkdir "$ac_dir" + ac_dir_suffix="/$ac_dir" + # A "../" for each directory in $ac_dir_suffix. + ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'` + else + ac_dir_suffix= ac_dots= + fi + + case "$ac_given_srcdir" in + .) srcdir=. + if test -z "$ac_dots"; then top_srcdir=. + else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;; + /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;; + *) # Relative path. + srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix" + top_srcdir="$ac_dots$ac_given_srcdir" ;; + esac + + echo creating "$ac_file" + rm -f "$ac_file" + configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure." + case "$ac_file" in + *Makefile*) ac_comsub="1i\\ +# $configure_input" ;; + *) ac_comsub= ;; + esac + sed -e "$ac_comsub +s%@configure_input@%$configure_input%g +s%@srcdir@%$srcdir%g +s%@top_srcdir@%$top_srcdir%g +" -f conftest.subs $ac_given_srcdir/$ac_file_in > $ac_file +fi; done +rm -f conftest.subs + + +echo FOO >stamp-h +exit 0 +EOF +chmod +x $CONFIG_STATUS +rm -fr confdefs* $ac_clean_files +test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS + + + diff --git a/src/modules/regexp/dependencies b/src/modules/regexp/dependencies new file mode 100644 index 0000000000000000000000000000000000000000..4ad19a340e5a8b3c112de8a8b9d5ee8464e14293 --- /dev/null +++ b/src/modules/regexp/dependencies @@ -0,0 +1,20 @@ +glue.o: glue.c \ + global.h \ + config.h machine.h \ + port.h \ + interpret.h \ + program.h \ + svalue.h \ + stralloc.h \ + array.h \ + las.h \ + dynamic_buffer.h \ + object.h \ + macros.h +regexp.o: regexp.c \ + global.h \ + config.h machine.h \ + port.h \ + regexp.h \ + error.h \ + svalue.h diff --git a/src/modules/regexp/stamp-h b/src/modules/regexp/stamp-h new file mode 100644 index 0000000000000000000000000000000000000000..b7d6715e2df11b9c32b2341423273c6b3ad9ae8a --- /dev/null +++ b/src/modules/regexp/stamp-h @@ -0,0 +1 @@ +FOO diff --git a/src/modules/spider/Makefile b/src/modules/spider/Makefile new file mode 100644 index 0000000000000000000000000000000000000000..d26a916c975e239515030b9774d7bb3f5d867500 --- /dev/null +++ b/src/modules/spider/Makefile @@ -0,0 +1,21 @@ +# Generated automatically from Makefile.in by configure. +SRCDIR=. +VPATH=.:./../..:../.. +PREFLAGS=-I. -I$(SRCDIR) -I$(SRCDIR)/../.. -I../.. +CFLAGS=$(PREFLAGS) $(OTHERFLAGS) + +FILES=spider.o + +spider.a: $(FILES) + -rm -f spider.a + ar cq spider.a $(FILES) + -ranlib spider.a + +clean: + -rm -f *.o + +depend: + gcc -MM $(PREFLAGS) $(SRCDIR)/*.c | sed 's;$(SRCDIR)/;;g' | sed 's;\.\./;;g' | sed 's;\./;;g' >$(SRCDIR)/dependencies + +include ./dependencies + diff --git a/src/modules/spider/Makefile.in b/src/modules/spider/Makefile.in new file mode 100644 index 0000000000000000000000000000000000000000..e4d1e1f487f80e1ef1155b33292f56f5bc75908c --- /dev/null +++ b/src/modules/spider/Makefile.in @@ -0,0 +1,20 @@ +SRCDIR=@srcdir@ +VPATH=@srcdir@:@srcdir@/../..:../.. +PREFLAGS=-I. -I$(SRCDIR) -I$(SRCDIR)/../.. -I../.. +CFLAGS=$(PREFLAGS) $(OTHERFLAGS) + +FILES=spider.o + +spider.a: $(FILES) + -rm -f spider.a + ar cq spider.a $(FILES) + -@RANLIB@ spider.a + +clean: + -rm -f *.o + +depend: + gcc -MM $(PREFLAGS) $(SRCDIR)/*.c | sed 's;$(SRCDIR)/;;g' | sed 's;\.\./;;g' | sed 's;\./;;g' >$(SRCDIR)/dependencies + +include @srcdir@/dependencies + diff --git a/src/modules/spider/configure b/src/modules/spider/configure new file mode 100755 index 0000000000000000000000000000000000000000..b6cb3d721739808ef9f3e20d9951c8df2ca44002 --- /dev/null +++ b/src/modules/spider/configure @@ -0,0 +1,963 @@ +#! /bin/sh + +# Guess values for system-dependent variables and create Makefiles. +# Generated automatically using autoconf version 2.4 +# Copyright (C) 1992, 1993, 1994 Free Software Foundation, Inc. +# +# This configure script is free software; the Free Software Foundation +# gives unlimited permission to copy, distribute and modify it. + +# Defaults: +ac_help= +ac_default_prefix=/usr/local +# Any additions from configure.in: + +# Initialize some variables set by options. +# The variables have the same names as the options, with +# dashes changed to underlines. +build=NONE +cache_file=./config.cache +exec_prefix=NONE +host=NONE +no_create= +nonopt=NONE +no_recursion= +prefix=NONE +program_prefix=NONE +program_suffix=NONE +program_transform_name=s,x,x, +silent= +site= +srcdir= +target=NONE +verbose= +x_includes=NONE +x_libraries=NONE + +# Initialize some other variables. +subdirs= + +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 + + case "$ac_option" in + -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;; + *) ac_optarg= ;; + esac + + # Accept the important Cygnus configure options, so we can diagnose typos. + + case "$ac_option" in + + -build | --build | --buil | --bui | --bu | --b) + ac_prev=build ;; + -build=* | --build=* | --buil=* | --bui=* | --bu=* | --b=*) + build="$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" ;; + + -disable-* | --disable-*) + ac_feature=`echo $ac_option|sed -e 's/-*disable-//'` + # Reject names that are not valid shell variable names. + if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then + { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; } + fi + ac_feature=`echo $ac_feature| sed 's/-/_/g'` + eval "enable_${ac_feature}=no" ;; + + -enable-* | --enable-*) + ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'` + # Reject names that are not valid shell variable names. + if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then + { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; } + fi + ac_feature=`echo $ac_feature| sed 's/-/_/g'` + case "$ac_option" in + *=*) ;; + *) 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) + # 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 << EOF +Usage: configure [options] [host] +Options: [defaults in brackets after descriptions] +Configuration: + --cache-file=FILE cache test results in FILE + --help print this message + --no-create do not create output files + --quiet, --silent do not print \`checking...' messages + --version print the version of autoconf that created configure +Directory and file names: + --prefix=PREFIX install architecture-independent files in PREFIX + [$ac_default_prefix] + --exec-prefix=PREFIX install architecture-dependent files in PREFIX + [same as prefix] + --srcdir=DIR find the sources in DIR [configure dir or ..] + --program-prefix=PREFIX prepend PREFIX to installed program names + --program-suffix=SUFFIX append SUFFIX to installed program names + --program-transform-name=PROGRAM run sed PROGRAM on installed program names +Host type: + --build=BUILD configure for building on BUILD [BUILD=HOST] + --host=HOST configure for HOST [guessed] + --target=TARGET configure for TARGET [TARGET=HOST] +Features and packages: + --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) + --enable-FEATURE[=ARG] include FEATURE [ARG=yes] + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --x-includes=DIR X include files are in DIR + --x-libraries=DIR X library files are in DIR +--enable and --with options recognized:$ac_help +EOF + exit 0 ;; + + -host | --host | --hos | --ho) + ac_prev=host ;; + -host=* | --host=* | --hos=* | --ho=*) + host="$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) + 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 ;; + + -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 ;; + + -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" ;; + + -target | --target | --targe | --targ | --tar | --ta | --t) + ac_prev=target ;; + -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) + target="$ac_optarg" ;; + + -v | -verbose | --verbose | --verbos | --verbo | --verb) + verbose=yes ;; + + -version | --version | --versio | --versi | --vers) + echo "configure generated by autoconf version 2.4" + exit 0 ;; + + -with-* | --with-*) + ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'` + # Reject names that are not valid shell variable names. + if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then + { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; } + fi + ac_package=`echo $ac_package| sed 's/-/_/g'` + case "$ac_option" in + *=*) ;; + *) ac_optarg=yes ;; + esac + eval "with_${ac_package}='$ac_optarg'" ;; + + -without-* | --without-*) + ac_package=`echo $ac_option|sed -e 's/-*without-//'` + # Reject names that are not valid shell variable names. + if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then + { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; } + fi + 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 "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; } + ;; + + *) + if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then + echo "configure: warning: $ac_option: invalid host type" 1>&2 + fi + if test "x$nonopt" != xNONE; then + { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; } + fi + nonopt="$ac_option" + ;; + + esac +done + +if test -n "$ac_prev"; then + { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; } +fi + +trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15 + +# File descriptor usage: +# 0 standard input +# 1 file creation +# 2 errors and warnings +# 3 some systems may open it to /dev/tty +# 4 used on the Kubota Titan +# 6 checking for... messages and results +# 5 compiler messages saved in config.log +if test "$silent" = yes; then + exec 6>/dev/null +else + exec 6>&1 +fi +exec 5>./config.log + +echo "\ +This file contains any messages produced by compilers while +running configure, to aid debugging if configure makes a mistake. +" 1>&5 + +# Strip out --no-create and --no-recursion so they do not pile up. +# Also quote any args containing shell metacharacters. +ac_configure_args= +for ac_arg +do + case "$ac_arg" in + -no-create | --no-create | --no-creat | --no-crea | --no-cre \ + | --no-cr | --no-c) ;; + -no-recursion | --no-recursion | --no-recursio | --no-recursi \ + | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;; + *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*) + ac_configure_args="$ac_configure_args '$ac_arg'" ;; + *) ac_configure_args="$ac_configure_args $ac_arg" ;; + esac +done + +# NLS nuisances. +# Only set LANG and LC_ALL to C if already set. +# These must not be set unconditionally because not all systems understand +# e.g. LANG=C (notably SCO). +if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi +if test "${LANG+set}" = set; then LANG=C; export LANG; fi + +# 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 + +# A filename unique to this package, relative to the directory that +# configure is in, which we can look for to find out if srcdir is correct. +ac_unique_file=spider.c + +# 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_prog=$0 + ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'` + test "x$ac_confdir" = "x$ac_prog" && ac_confdir=. + 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 "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; } + else + { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; } + fi +fi +srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'` + +# 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 "loading site script $ac_site_file" + . "$ac_site_file" + fi +done + +if test -r "$cache_file"; then + echo "loading cache $cache_file" + . $cache_file +else + echo "creating cache $cache_file" + > $cache_file +fi + +ac_ext=c +# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. +ac_cpp='$CPP $CPPFLAGS' +ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5 2>&5' +ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5 2>&5' + +if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then + # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu. + if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then + ac_n= ac_c=' +' ac_t=' ' + else + ac_n=-n ac_c= ac_t= + fi +else + ac_n= ac_c='\c' ac_t= +fi + + + + +# Extract the first word of "gcc", so it can be a program name with args. +set dummy gcc; ac_word=$2 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" + for ac_dir in $PATH; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + ac_cv_prog_CC="gcc" + break + fi + done + IFS="$ac_save_ifs" + test -z "$ac_cv_prog_CC" && ac_cv_prog_CC="cc" +fi +fi +CC="$ac_cv_prog_CC" +if test -n "$CC"; then + echo "$ac_t""$CC" 1>&6 +else + echo "$ac_t""no" 1>&6 +fi + + +echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6 +if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.c <<EOF +#ifdef __GNUC__ + yes; +#endif +EOF +if ${CC-cc} -E conftest.c 2>&5 | egrep yes >/dev/null 2>&1; then + ac_cv_prog_gcc=yes +else + ac_cv_prog_gcc=no +fi +fi +echo "$ac_t""$ac_cv_prog_gcc" 1>&6 +if test $ac_cv_prog_gcc = yes; then + GCC=yes + if test "${CFLAGS+set}" != set; then + echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6 +if eval "test \"`echo '$''{'ac_cv_prog_gcc_g'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + echo 'void f(){}' > conftest.c +if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then + ac_cv_prog_gcc_g=yes +else + ac_cv_prog_gcc_g=no +fi +rm -f conftest* + +fi + echo "$ac_t""$ac_cv_prog_gcc_g" 1>&6 + if test $ac_cv_prog_gcc_g = yes; then + CFLAGS="-g -O" + else + CFLAGS="-O" + fi + fi +else + GCC= + test "${CFLAGS+set}" = set || CFLAGS="-g" +fi + +# Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" + for ac_dir in $PATH; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + ac_cv_prog_RANLIB="ranlib" + break + fi + done + IFS="$ac_save_ifs" + test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":" +fi +fi +RANLIB="$ac_cv_prog_RANLIB" +if test -n "$RANLIB"; then + echo "$ac_t""$RANLIB" 1>&6 +else + echo "$ac_t""no" 1>&6 +fi + + +echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6 +# On Suns, sometimes $CPP names a directory. +if test -n "$CPP" && test -d "$CPP"; then + CPP= +fi +if test -z "$CPP"; then +if eval "test \"`echo '$''{'ac_cv_prog_CPP'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + # This must be in double quotes, not single quotes, because CPP may get + # substituted into the Makefile and "${CC-cc}" will confuse make. + CPP="${CC-cc} -E" + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. + cat > conftest.$ac_ext <<EOF +#line 521 "configure" +#include "confdefs.h" +#include <assert.h> +Syntax Error +EOF +eval "$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +ac_err=`grep -v '^ *+' conftest.out` +if test -z "$ac_err"; then + : +else + echo "$ac_err" >&5 + rm -rf conftest* + CPP="${CC-cc} -E -traditional-cpp" + cat > conftest.$ac_ext <<EOF +#line 535 "configure" +#include "confdefs.h" +#include <assert.h> +Syntax Error +EOF +eval "$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +ac_err=`grep -v '^ *+' conftest.out` +if test -z "$ac_err"; then + : +else + echo "$ac_err" >&5 + rm -rf conftest* + CPP=/lib/cpp +fi +rm -f conftest* +fi +rm -f conftest* + ac_cv_prog_CPP="$CPP" +fi + CPP="$ac_cv_prog_CPP" +else + ac_cv_prog_CPP="$CPP" +fi +echo "$ac_t""$CPP" 1>&6 + +for ac_hdr in syslog.h sys/syslog.h arpa/inet.h sys/socketvar.h netinet/in.h +do +ac_safe=`echo "$ac_hdr" | tr './\055' '___'` +echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 +if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext <<EOF +#line 568 "configure" +#include "confdefs.h" +#include <$ac_hdr> +EOF +eval "$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +ac_err=`grep -v '^ *+' conftest.out` +if test -z "$ac_err"; then + rm -rf conftest* + eval "ac_cv_header_$ac_safe=yes" +else + echo "$ac_err" >&5 + rm -rf conftest* + eval "ac_cv_header_$ac_safe=no" +fi +rm -f conftest* +fi +if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_hdr=HAVE_`echo $ac_hdr | tr '[a-z]./\055' '[A-Z]___'` + cat >> confdefs.h <<EOF +#define $ac_tr_hdr 1 +EOF + +else + echo "$ac_t""no" 1>&6 +fi +done + +for ac_func in syslog perror strerror +do +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext <<EOF +#line 603 "configure" +#include "confdefs.h" +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func(); below. */ +#include <assert.h> +/* Override any gcc2 internal prototype to avoid an error. */ +char $ac_func(); + +int main() { return 0; } +int t() { + +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined (__stub_$ac_func) || defined (__stub___$ac_func) +choke me +#else +$ac_func(); +#endif + +; return 0; } +EOF +if eval $ac_link; then + rm -rf conftest* + eval "ac_cv_func_$ac_func=yes" +else + rm -rf conftest* + eval "ac_cv_func_$ac_func=no" +fi +rm -f conftest* + +fi +if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_func=HAVE_`echo $ac_func | tr '[a-z]' '[A-Z]'` + cat >> confdefs.h <<EOF +#define $ac_tr_func 1 +EOF + +else + echo "$ac_t""no" 1>&6 +fi +done + + + + +echo $ac_n "checking how to find timezone""... $ac_c" 1>&6 + +if eval "test \"`echo '$''{'lpc_cv_timezone'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + +cat > conftest.$ac_ext <<EOF +#line 657 "configure" +#include "confdefs.h" + +#include <time.h> + +int main() { return 0; } +int t() { + + int _tz; + time_t foo; + struct tm *g; + g=localtime(&foo); + + _tz = g->tm_gmtoff; + +; return 0; } +EOF +if eval $ac_link; then + rm -rf conftest* + lpc_cv_timezone='localtime' + +else + rm -rf conftest* + lpc_cv_timezone='int' + +fi +rm -f conftest* + +fi + + +if test "$lpc_cv_timezone" = int; then + cat >> confdefs.h <<\EOF +#define HAVE_INT_TIMEZONE 1 +EOF + + echo "$ac_t""int" 1>&6; +else + echo "$ac_t""localtime" 1>&6 +fi + +trap '' 1 2 15 +cat > confcache <<\EOF +# 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. It is not useful on other systems. +# If it contains results you don't want to keep, you may remove or edit it. +# +# By default, configure uses ./config.cache as the cache file, +# creating it if it does not exist already. You can give configure +# the --cache-file=FILE option to use a different cache file; that is +# what configure does when it calls configure scripts in +# subdirectories, so they share the cache. +# Giving --cache-file=/dev/null disables caching, for debugging configure. +# config.status only pays attention to the cache file if you give it the +# --recheck option to rerun configure. +# +EOF +# 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 | + sed -n "s/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=\${\1='\2'}/p" \ + >> confcache +if cmp -s $cache_file confcache; then + : +else + if test -w $cache_file; then + echo "updating cache $cache_file" + cat confcache > $cache_file + else + echo "not updating unwritable cache $cache_file" + fi +fi +rm -f confcache + +trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15 + +test "x$prefix" = xNONE && prefix=$ac_default_prefix +# Let make expand exec_prefix. +test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' + +# Any assignment to VPATH causes Sun make to only execute +# the first set of double-colon rules, so remove it if not needed. +# If there is a colon in the path, we need to keep it. +if test "x$srcdir" = x.; then + ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d' +fi + +trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15 + +DEFS=-DHAVE_CONFIG_H + +# Without the "./", some shells look in PATH for config.status. +: ${CONFIG_STATUS=./config.status} + +echo creating $CONFIG_STATUS +rm -f $CONFIG_STATUS +cat > $CONFIG_STATUS <<EOF +#! /bin/sh +# Generated automatically by configure. +# Run this file to recreate the current configuration. +# This directory was configured as follows, +# on host `(hostname || uname -n) 2>/dev/null | sed 1q`: +# +# $0 $ac_configure_args +# +# Compiler output produced by configure, useful for debugging +# configure, is in ./config.log if it exists. + +ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]" +for ac_option +do + case "\$ac_option" in + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) + echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion" + exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;; + -version | --version | --versio | --versi | --vers | --ver | --ve | --v) + echo "$CONFIG_STATUS generated by autoconf version 2.4" + exit 0 ;; + -help | --help | --hel | --he | --h) + echo "\$ac_cs_usage"; exit 0 ;; + *) echo "\$ac_cs_usage"; exit 1 ;; + esac +done + +ac_given_srcdir=$srcdir + +trap 'rm -fr `echo "Makefile spider.h" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15 + +# Protect against being on the right side of a sed subst in config.status. +sed 's/%@/@@/; s/@%/@@/; s/%g$/@g/; /@g$/s/[\\\\&%]/\\\\&/g; + s/@@/%@/; s/@@/@%/; s/@g$/%g/' > conftest.subs <<\CEOF +$ac_vpsub +$extrasub +s%@CFLAGS@%$CFLAGS%g +s%@CPPFLAGS@%$CPPFLAGS%g +s%@CXXFLAGS@%$CXXFLAGS%g +s%@DEFS@%$DEFS%g +s%@LDFLAGS@%$LDFLAGS%g +s%@LIBS@%$LIBS%g +s%@exec_prefix@%$exec_prefix%g +s%@prefix@%$prefix%g +s%@program_transform_name@%$program_transform_name%g +s%@CC@%$CC%g +s%@RANLIB@%$RANLIB%g +s%@CPP@%$CPP%g + +CEOF +EOF +cat >> $CONFIG_STATUS <<EOF + +CONFIG_FILES=\${CONFIG_FILES-"Makefile"} +EOF +cat >> $CONFIG_STATUS <<\EOF +for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then + # Support "outfile[:infile]", defaulting infile="outfile.in". + case "$ac_file" in + *:*) ac_file_in=`echo "$ac_file"|sed 's%.*:%%'` + ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; + *) ac_file_in="${ac_file}.in" ;; + esac + + # Adjust relative srcdir, etc. for subdirectories. + + # Remove last slash and all that follows it. Not all systems have dirname. + ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'` + if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then + # The file is in a subdirectory. + test ! -d "$ac_dir" && mkdir "$ac_dir" + ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`" + # A "../" for each directory in $ac_dir_suffix. + ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'` + else + ac_dir_suffix= ac_dots= + fi + + case "$ac_given_srcdir" in + .) srcdir=. + if test -z "$ac_dots"; then top_srcdir=. + else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;; + /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;; + *) # Relative path. + srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix" + top_srcdir="$ac_dots$ac_given_srcdir" ;; + esac + + echo creating "$ac_file" + rm -f "$ac_file" + configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure." + case "$ac_file" in + *Makefile*) ac_comsub="1i\\ +# $configure_input" ;; + *) ac_comsub= ;; + esac + sed -e "$ac_comsub +s%@configure_input@%$configure_input%g +s%@srcdir@%$srcdir%g +s%@top_srcdir@%$top_srcdir%g +" -f conftest.subs $ac_given_srcdir/$ac_file_in > $ac_file +fi; done +rm -f conftest.subs + +# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where +# NAME is the cpp macro being defined and VALUE is the value it is being given. +# +# ac_d sets the value in "#define NAME VALUE" lines. +ac_dA='s%^\([ ]*\)#\([ ]*define[ ][ ]*\)' +ac_dB='\([ ][ ]*\)[^ ]*%\1#\2' +ac_dC='\3' +ac_dD='%g' +# ac_u turns "#undef NAME" with trailing blanks into "#define NAME VALUE". +ac_uA='s%^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' +ac_uB='\([ ]\)%\1#\2define\3' +ac_uC=' ' +ac_uD='\4%g' +# ac_e turns "#undef NAME" without trailing blanks into "#define NAME VALUE". +ac_eA='s%^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' +ac_eB='$%\1#\2define\3' +ac_eC=' ' +ac_eD='%g' + +CONFIG_HEADERS=${CONFIG_HEADERS-"spider.h"} +for ac_file in .. $CONFIG_HEADERS; do if test "x$ac_file" != x..; then + # Support "outfile[:infile]", defaulting infile="outfile.in". + case "$ac_file" in + *:*) ac_file_in=`echo "$ac_file"|sed 's%.*:%%'` + ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; + *) ac_file_in="${ac_file}.in" ;; + esac + + echo creating $ac_file + + rm -f conftest.frag conftest.in conftest.out + cp $ac_given_srcdir/$ac_file_in conftest.in + +EOF + +# Transform confdefs.h into a sed script conftest.vals that substitutes +# the proper values into config.h.in to produce config.h. And first: +# Protect against being on the right side of a sed subst in config.status. +# Protect against being in an unquoted here document in config.status. +rm -f conftest.vals +cat > conftest.hdr <<\EOF +s/[\\&%]/\\&/g +s%[\\$`]%\\&%g +s%#define \([A-Za-z_][A-Za-z0-9_]*\) \(.*\)%${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD}%gp +s%ac_d%ac_u%gp +s%ac_u%ac_e%gp +EOF +sed -n -f conftest.hdr confdefs.h > conftest.vals +rm -f conftest.hdr + +# This sed command replaces #undef with comments. This is necessary, for +# example, in the case of _POSIX_SOURCE, which is predefined and required +# on some systems where configure will not decide to define it. +cat >> conftest.vals <<\EOF +s%^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*%/* & */% +EOF + +# Break up conftest.vals because some shells have a limit on +# the size of here documents, and old seds have small limits too. +# Maximum number of lines to put in a single here document. +ac_max_here_lines=12 + +rm -f conftest.tail +while : +do + ac_lines=`grep -c . conftest.vals` + # grep -c gives empty output for an empty file on some AIX systems. + if test -z "$ac_lines" || test "$ac_lines" -eq 0; then break; fi + # Write a limited-size here document to conftest.frag. + echo ' cat > conftest.frag <<CEOF' >> $CONFIG_STATUS + sed ${ac_max_here_lines}q conftest.vals >> $CONFIG_STATUS + echo 'CEOF + sed -f conftest.frag conftest.in > conftest.out + rm -f conftest.in + mv conftest.out conftest.in +' >> $CONFIG_STATUS + sed 1,${ac_max_here_lines}d conftest.vals > conftest.tail + rm -f conftest.vals + mv conftest.tail conftest.vals +done +rm -f conftest.vals + +cat >> $CONFIG_STATUS <<\EOF + rm -f conftest.frag conftest.h + echo "/* $ac_file. Generated automatically by configure. */" > conftest.h + cat conftest.in >> conftest.h + rm -f conftest.in + if cmp -s $ac_file conftest.h 2>/dev/null; then + echo "$ac_file is unchanged" + rm -f conftest.h + else + rm -f $ac_file + mv conftest.h $ac_file + fi +fi; done + + +echo FOO >stamp-h +exit 0 +EOF +chmod +x $CONFIG_STATUS +rm -fr confdefs* $ac_clean_files +test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1 + + + diff --git a/src/modules/spider/configure.in b/src/modules/spider/configure.in new file mode 100644 index 0000000000000000000000000000000000000000..cf14e2ab36e493187284b2052ff3797691ecb230 --- /dev/null +++ b/src/modules/spider/configure.in @@ -0,0 +1,40 @@ +AC_INIT(spider.c) +AC_CONFIG_HEADER(spider.h) + +AC_PROG_CC +AC_PROG_RANLIB + +AC_HAVE_HEADERS(syslog.h sys/syslog.h arpa/inet.h sys/socketvar.h netinet/in.h) +AC_HAVE_FUNCS(syslog perror strerror) + +AC_SUBST(RANLIB) + +AC_MSG_CHECKING(how to find timezone) + +AC_CACHE_VAL(lpc_cv_timezone, +[ +AC_TRY_LINK([ +#include <time.h> +],[ + int _tz; + time_t foo; + struct tm *g; + g=localtime(&foo); + + _tz = g->tm_gmtoff; +], + lpc_cv_timezone='localtime' +, + lpc_cv_timezone='int' +)]) + +if test "$lpc_cv_timezone" = int; then + AC_DEFINE(HAVE_INT_TIMEZONE) + AC_MSG_RESULT([int]); +else + AC_MSG_RESULT([localtime]) +fi + +AC_OUTPUT(Makefile,echo FOO >stamp-h ) + + diff --git a/src/modules/spider/debug.c b/src/modules/spider/debug.c new file mode 100644 index 0000000000000000000000000000000000000000..508eefa58da4f7d4d89484698010a45d2c4bef60 --- /dev/null +++ b/src/modules/spider/debug.c @@ -0,0 +1,101 @@ +#include "config.h" +#include "program.h" + +extern void dump_stralloc_strings(void); +void f__dump_string_table(INT32 args) +{ + pop_n_elems(args); + dump_stralloc_strings(); + push_int(0); +} + +void f__string_debug(INT32 args) +{ + pop_n_elems(args); + push_string(add_string_status(args)); +} + +static char *program_name(struct program *p) +{ + char *f; + f=(char *)(p->linenumbers+1); + if(!p->linenumbers || !strlen(f)) + { + p->refs++; + push_program(p); + APPLY_MASTER("program_name", 1); + if(sp[-1].type == T_STRING) + return 0; + pop_stack(); + f="Unknown program"; + } + return f; +} + +void f__dump_obj_table(INT32 args) +{ + struct object *o; + int n=0; + pop_n_elems(args); + o=first_object; + while(o) + { + if(o->prog) + { + char *f; + f=program_name(o->prog); + if(f) + push_string(make_shared_string(f)); + } else { + push_string(make_shared_binary_string("No program (Destructed?)",24)); + } + push_int(o->refs); + f_aggregate(2); + ++n; + o=o->next; + } + f_aggregate(n); +} + +void f__num_objects(INT32 args) +{ + struct object *o; + int n=0; + pop_n_elems(args); + o=first_object; + while(o) { ++n; o=o->next; } + push_int(n); +} + +void f__num_mappings(INT32 args) +{ + extern struct mapping *first_mapping; + struct mapping *o; + int n=0; + pop_n_elems(args); + o=first_mapping; + while(o) { ++n; o=o->next; } + push_int(n); +} + +void f__num_arrays(INT32 args) +{ + extern struct array empty_array; + struct array *o; + int n=0; + pop_n_elems(args); + o=(&empty_array)->next; + while(o && o != &empty_array) { ++n; o=o->next; } + push_int(n+1); +} + +void f__num_dest_objects(INT32 args) +{ + struct object *o; + int n=0; + pop_n_elems(args); + o=first_object; + while(o) { if(!o->prog) n++; o=o->next; } + push_int(n); +} + diff --git a/src/modules/spider/dependencies b/src/modules/spider/dependencies new file mode 100644 index 0000000000000000000000000000000000000000..609c79a8e3a8d6dfb921951888e802eb55628a54 --- /dev/null +++ b/src/modules/spider/dependencies @@ -0,0 +1,6 @@ +discdate.o : ./discdate.c +spider.o : ./debug.c ./spider.c ./../../stralloc.h ./../../types.h ./../../global.h ./../../config.h \ + ./../../machine.h ./../../port.h ./../../macros.h ./../../object.h ./../../svalue.h \ + ./../../add_efun.h ./../../hashtable.h ./../../interpret.h ./../../program.h \ + ./../../mapping.h ./../../las.h ./../../dynamic_buffer.h ./../../array.h ./../../builtin_efuns.h \ + ./discdate.c ./spider.h diff --git a/src/modules/spider/discdate.c b/src/modules/spider/discdate.c new file mode 100644 index 0000000000000000000000000000000000000000..37346d1cb6d54dc87112cfa91bf600256d6145a5 --- /dev/null +++ b/src/modules/spider/discdate.c @@ -0,0 +1,148 @@ +/* DiscDate.C .. converts boring normal dates to fun Discordian Date -><- + written the 65th day of The Aftermath in the Year of Our Lady of + Discord 3157 by Druel the Chaotic aka Jeremy Johnson aka + mpython@gnu.ai.mit.edu + Worcester MA 01609 + + and I'm not responsible if this program messes anything up (except your + mind, I'm responsible for that) +*/ + +#include <time.h> +#include <string.h> +#include <stdio.h> + +struct disc_time +{ + int season; /* 0-4 */ + int day; /* 0-72 */ + int yday; /* 0-365 */ + int year; /* 3066- */ +}; + +static char *ending(int); +static void print(struct disc_time); +static struct disc_time convert(int,int); + +void f_discdate(INT32 argc) +{ + long t; + int bob,raw; + struct disc_time hastur; + if (argc != 1) + { + error(stderr,"Error: discdate(time)"); + exit(1); + } else { + struct tm *eris; + t=sp[-argc].u.integer; + eris=localtime(&t); + bob=eris->tm_yday; /* days since Jan 1. */ + raw=eris->tm_year; /* years since 1980 */ + hastur=convert(bob,raw); + } + pop_n_elems(argc); + print(hastur); +} + +static char *ending(int num) +{ + int temp; + char *this; + + this=(char *)xalloc(sizeof(char)*3); + + temp=num%10; /* get 0-9 */ + switch (temp) + { + case 1: + strcpy(this,"st"); + break; + case 2: + strcpy(this,"nd"); + break; + case 3: + strcpy(this,"rd"); + break; + default: + strcpy(this,"th"); + } + return this; +} + +static struct disc_time convert(int nday, int nyear) +{ + struct disc_time this; + + this.year = nyear+3066; + this.day=nday; + this.season=0; + if ((this.year%4)==2) + { + if (this.day==59) + this.day=-1; + else if (this.day >59) + this.day-=1; + } + this.yday=this.day; + while (this.day>=73) + { + this.season++; + this.day-=73; + } + return this; +} + +static char *days[5] = +{ + "Sweetmorn", + "Boomtime", + "Pungenday", + "Prickle-Prickle", + "Setting Orange" + }; + +static char *seasons[5] = +{ + "Chaos", + "Discord", + "Confusion", + "Bureaucracy", + "The Aftermath" + }; + +static char *holidays[5][2] = +{ + "Mungday", "Chaoflux", + "Mojoday", "Discoflux", + "Syaday", "Confuflux", + "Zaraday", "Bureflux", + "Maladay", "Afflux" + }; + +static void print(struct disc_time tick) +{ + if (tick.day==-1) + { + push_string(make_shared_string("St. Tib's Day!")); + } else { + static char foo[10000], *e; + sprintf(foo, "%s, the %d%s day of %s", + days[tick.yday%5], tick.day, + e=ending(tick.day),seasons[tick.season]); + free(e); + tick.day++; + push_string(make_shared_string(foo)); + } + push_int(tick.year); + if ((tick.day==5)||(tick.day==50)) + { + if (tick.day==5) + push_string(make_shared_string(holidays[tick.season][0])); + else + push_string(make_shared_string(holidays[tick.season][1])); + } else { + push_int(0); + } + f_aggregate(3); +} diff --git a/src/modules/spider/spider.c b/src/modules/spider/spider.c new file mode 100644 index 0000000000000000000000000000000000000000..2c0ae3d00cede98e18fb2a16884d9f5ab053604f --- /dev/null +++ b/src/modules/spider/spider.c @@ -0,0 +1,935 @@ +#include "machine.h" + +#include <sys/stat.h> +#include <sys/mman.h> +#include <sys/types.h> +#include <fcntl.h> +#include <ctype.h> +#include <string.h> +#include <time.h> +#include <limits.h> + +#if HAVE_SYS_TIME_H +#include <sys/time.h> +#endif + +#include "stralloc.h" +#include "global.h" +#include "types.h" +#include "macros.h" +#include "object.h" +#include "add_efun.h" +#include "interpret.h" +#include "svalue.h" +#include "mapping.h" +#include "array.h" +#include "builtin_efuns.h" + + +#include "discdate.c" +#include "stardate.c" +#include "debug.c" +#include "spider.h" + +#ifdef HAVE_NETINET_IN_H +#include <netinet/in.h> +#endif + +#ifdef HAVE_ARPA_INET_H +#include <arpa/inet.h> +#endif + +#define MAX_PARSE_RECURSE 128 + +void do_html_parse(struct lpc_string *ss, + struct mapping *cont,struct mapping *single, + int *strings,int recurse_left, + struct array *extra_args); + +void f_parse_accessed_database(INT32 args) +{ + int cnum=0, i, num=0; + + struct array *arg; + if(args != 1) + error("Wrong number of arguments to parse_accessed_database(string)\n"); + + push_string(make_shared_string("\n")); + f_explode(2); + arg = sp[-1].u.array; + arg->refs++; + /* The initial string is gone, but the array is there now. */ + pop_n_elems(args); + + for (i = 0; i < arg->size; i++) + { + int j=0,k; + char *s; + s=(char *)(SHORT_ITEM(arg)[i].string->str); + k=(SHORT_ITEM(arg)[i].string->len); + for(j=k; j>0 && s[j-1]!=':'; j--); + if(j>0) + { + push_string(make_shared_binary_string(s, j-1)); + k=atoi(s+j); + if(k>cnum) + cnum=k; + push_int(k); + num++; + } + } + free_array(arg); + f_aggregate_mapping(num*2); + push_int(cnum); + f_aggregate(2); +} + + +#if 0 +// This function leaks a lot of memory, but it ends with either an +// exec() or an exit(). This could be a problem on systems with louse memory +// management, though. I know of none. +// Thanks to David Byers for the bugfix. +#endif + +#if 0 +void f_exece(INT32 args) +{ + int i=0, environ_size=0; + struct array *arg; + struct array *env; + char **envv, **argv; + extern char **environ; + + /* + * Check that the arguments given are + * 1. A string (the program to execute) + * 2. An array (argv) + * 3. An array (extra environment variables) + */ + + if (args < 3 || + sp[-args].type != T_STRING || + sp[1-args].type != T_ARRAY || + sp[2-args].type != T_ARRAY) + error("Illegal argument(s) to exece().\n"); + + environ_size = 0; + while (environ[environ_size]) + environ_size += 1; + + arg = sp[1-args].u.array; + env = sp[2-args].u.array; + + /* + * Allocate argv and envv arrays + * In argv, make room for program name and NULL + * In envv, make room for NULL + */ + + argv = (char **)xalloc((2 + arg->size)*sizeof(char **)); + envv = (char **)xalloc((1 + env->size + environ_size)*sizeof(char **)); + + /* + * Build argv + */ + + argv[0] = strdup((char *)(sp[-args].u.string->str)); + if (arg->array_type == T_STRING) + { + for (i = 0; i < arg->size; i++) + argv[1+i] = strdup((char *)(SHORT_ITEM(arg)[i].string->str)); + } + else if (arg->array_type == T_MIXED) + { + for (i = 0; i < arg->size; i++) + if (ITEM(arg)[i].type == T_STRING) + argv[1+i] = strdup((char *)(ITEM(arg)[i].u.string->str)); + else + argv[1+i] = strdup("bad_argument"); + } + else + error("Wrong type argv send to exece"); + + argv[1+i] = NULL; + + /* + * Build envv + * 1. Copy environ + * 2. Copy arguments + */ + + for (i = 0; i < environ_size; i++) + envv[i] = environ[i]; + + if (arg->array_type == T_STRING) + { + for (i = 0; i < env->size; i++) + envv[environ_size+i] = + strdup((char *)(SHORT_ITEM(env)[i].string->str)); + } + else if (env->array_type == T_MIXED) + { + for (i = 0; i < env->size; i++) + if (ITEM(env)[i].type == T_STRING) + envv[environ_size+i] = + strdup((char *)(ITEM(env)[i].u.string->str)); + else + envv[environ_size+i] = strdup("bad=argument"); + } + else + error("Wrong type envv send to exece"); + + envv[environ_size + i] = NULL; + + set_close_on_exec(0,0); + set_close_on_exec(1,0); + set_close_on_exec(2,0); + + execve(argv[0], argv, envv); + exit(0); +} +#endif +void f_parse_html(INT32 args) +{ + struct lpc_string *ss; + struct mapping *cont,*single; + int strings; + struct array *extra_args; + + if (args<3|| + sp[-args].type!=T_STRING|| + sp[1-args].type!=T_MAPPING|| + sp[2-args].type!=T_MAPPING) + error("Bad argument(s) to parse_html.\n"); + + ss=sp[-args].u.string; + sp[-args].type=T_INT; + + single=sp[1-args].u.mapping; + cont=sp[2-args].u.mapping; + cont->refs++; + single->refs++; + + if (args>3) + { + f_aggregate(args-3); + extra_args=sp[-1].u.array; + extra_args->refs++; + pop_stack(); + } + else extra_args=NULL; + + pop_n_elems(3); + + strings=0; + do_html_parse(ss,cont,single,&strings,MAX_PARSE_RECURSE,extra_args); + + if (extra_args) free_array(extra_args); + + free_mapping(cont); + free_mapping(single); + f_aggregate(strings); + f_implode(1); +} + +int push_parsed_tag(char *s,int len) +{ + int i,j,elems=0; + int haskey; + + for (i=haskey=0; i<len&&s[i]!='>';) + { + for (; i<len&&s[i]!='>' && isspace(s[i]); i++); /* skip space */ + if (!(i<len && s[i]!='>')) break; + /* check wordlen */ + for (j=i; i<len&&s[i]!='>' && !isspace(s[i]) && s[i]!='='; i++); + if (j<i) + { + push_string(make_shared_binary_string(s+j,i-j)); + f_lower_case(1); + } + else + push_string(make_shared_string("")); + + for (;i<len&&s[i]!='>'&&isspace(s[i]);i++); /* skip space */ + + if (i>=len || s[i]!='=') + { + assign_svalue_no_free(sp,sp-1); sp++; + elems++; + continue; + } + i++; + if (i>=len || s[i]=='>' || (s[i]=='"' && i+1 >= len)) + { + assign_svalue_no_free(sp,sp-1); sp++; + elems++; + continue; + } + if (s[i]=='"') + { + j=++i; + for (;i<len && s[i]!='"' ;i++); /* end quote */ + push_string(make_shared_binary_string(s+j,i-j)); + elems++; + if (i<len) i++; + continue; + } + for (j=i;i<len&&s[i]!='>'&&!isspace(s[i]);i++); /* check wordlen */ + push_string(make_shared_binary_string(s+j,i-j)); + elems++; + } + f_aggregate_mapping(elems*2); + return i+(i<len); +} + +INLINE int tagsequal(char *s,char *t,int len) +{ + while (--len) if (tolower(*(t++))!=tolower(*(s++))) return 1; + return 0; +} + + +int find_endtag(struct lpc_string *tag,char *s,int len,int *aftertag) +{ + int i,lend,j; + for (i=j=0; i<len; i++) + { + for (; i<len&&s[i]!='<'; i++); + if (i>=len) break; + j=i++; + if (i>=len) break; + if (s[i]=='/') + { + if (i+tag->len+1<len&& + !tagsequal(s+i+1,tag->str,tag->len)&& + (isspace(s[i+1+tag->len])||s[i+1+tag->len]=='>')) + break; + continue; + } + if (i+tag->len<len&& + !tagsequal(s+i,tag->str,tag->len)&& + (isspace(s[i+tag->len])||s[i+tag->len]=='>')) /* oop, recurse */ + { + find_endtag(tag,s+i+tag->len,len-i-tag->len,&lend); + j=i+=lend; + } + } + if (i>=len) *aftertag=len,j=i; /* no end */ + else + { + for (;i<len&&s[i]!='>'; i++); + *aftertag=i+(i<len); + } + return j; +} + +void do_html_parse(struct lpc_string *ss, + struct mapping *cont,struct mapping *single, + int *strings,int recurse_left, + struct array *extra_args) +{ + int i,j,k,l,m,len,last; + unsigned char *s; + struct svalue sval1,sval2; + struct lpc_string *ss2; + + if (!ss->len) + { + free_string(ss); + return; + } + + if (!recurse_left) + { + push_string(ss); + (*strings)++; + return; + } + + s=(unsigned char *)ss->str; + len=ss->len; + + last=0; + for (i=0; i<len-1;) + { + if (s[i]=='<') + { + /* skip all spaces */ + i++; + for (j=i; j<len && s[j]!='>' && !isspace(s[j]); j++); + + if (j==len) break; /* end of string */ + + sval2.type=T_STRING; + sval2.subtype=-1; /* ? */ + sval2.u.string=make_shared_binary_string((char *)s+i,j-i); + + mapping_index_no_free(&sval1,single,&sval2); + if (sval1.type==T_STRING) + { + assign_svalue_no_free(sp++,&sval1); + free_svalue(&sval1); + (*strings)++; + find_endtag(sval2.u.string,s+j,len-j,&l); + free_svalue(&sval2); + i=last=j+=l; + continue; + } + else if (sval1.type!=T_INT) + { + assign_svalue_no_free(sp++,&sval2); + k=push_parsed_tag(s+j,len-j); + if (extra_args) + { + extra_args->refs++; + push_array_items(extra_args); + } + + apply_svalue(&sval1,2+(extra_args?extra_args->size:0)); + if (sp[-1].type==T_STRING) + { + free_svalue(&sval1); + free_svalue(&sval2); + copy_shared_string(ss2,sp[-1].u.string); + pop_stack(); + if (last!=i-1) + { + push_string(make_shared_binary_string(s+last,i-last-1)); + (*strings)++; + } + i=last=j+k; + do_html_parse(ss2,cont,single,strings,recurse_left-1,extra_args); + continue; + } + pop_stack(); + } + + free_svalue(&sval1); + mapping_index_no_free(&sval1,cont,&sval2); + if (sval1.type==T_STRING) + { + assign_svalue_no_free(sp++,&sval1); + free_svalue(&sval1); + (*strings)++; + find_endtag(sval2.u.string,s+j,len-j,&l); + free_svalue(&sval2); + i=last=j+=l; + continue; + } + else if (sval1.type!=T_INT) + { + assign_svalue_no_free(sp++,&sval2); + m=j+(k=push_parsed_tag(s+j,len-j)); + k=find_endtag(sval2.u.string,s+m,len-m,&l); + push_string(make_shared_binary_string(s+m,k)); + m+=l; + if (extra_args) + { + extra_args->refs++; + push_array_items(extra_args); + } + + apply_svalue(&sval1,3+(extra_args?extra_args->size:0)); + if (sp[-1].type==T_STRING) + { + free_svalue(&sval1); + free_svalue(&sval2); + copy_shared_string(ss2,sp[-1].u.string); + pop_stack(); + if (last!=i-1) + { + push_string(make_shared_binary_string(s+last,i-last-1)); + (*strings)++; + } + i=last=j=m; + do_html_parse(ss2,cont,single,strings,recurse_left-1,extra_args); + continue; + } + pop_stack(); + } + free_svalue(&sval1); + free_svalue(&sval2); + i=j; + } + else + i++; + } + + if (last==0) + { + push_string(ss); + (*strings)++; + } + else if (last<len) + { + push_string(make_shared_binary_string(s+last,len-last)); + free_string(ss); + (*strings)++; + } + else + { + free_string(ss); + } +} + +static int does_match(char *s,int len,char *m,int mlen) +{ + int i,j; + for (i=j=0; i<mlen&&j<len; ) + switch (m[i]) + { + case '?': + j++; i++; + break; + case '*': + i++; + if (i==mlen) return 1; /* slut */ + for (;j<len;j++) + if (does_match(s+j,len-j,m+i,mlen-i)) return 1; + return 0; + default: + if (m[i]!=s[j]) return 0; + j++; i++; + } + if (i==mlen && j==len) return 1; + return 0; +} + +void f_do_match(INT32 args) +{ + struct lpc_string *match,*str; + struct array *a; + int i; + struct svalue *sval; + + if (args<2|| + sp[1-args].type!=T_STRING|| + (sp[-args].type!=T_STRING && + sp[-args].type!=T_ARRAY)) + error("Illegal arguments to do_match\n"); + + copy_shared_string(match,sp[1-args].u.string); + pop_n_elems(args-1); + + if (sp[-1].type==T_ARRAY) + { + a=sp[-1].u.array; + a->refs++; + pop_stack(); + i=a->size; + if (!i) { push_int(0); return; } + push_array_items(a); + while (i--) + { + match->refs++; + push_string(match); + f_do_match(2); + if (sp[-1].type!=T_INT) + { + sval=sp-1; + sp--; + pop_n_elems(i); + sp[0]=*sval; + sp++; + free_string(match); + return; + } + pop_stack(); + } + push_int(0); + free_string(match); + return; + } + copy_shared_string(str,sp[-1].u.string); + pop_stack(); + + if (does_match(str->str,str->len,match->str,match->len)) + { + push_string(str); + free_string(match); + return; + } + push_int(0); + free_string(str); + free_string(match); +} + +#if !HAVE_INT_TIMEZONE +int _tz; +#else +extern long int timezone; +#endif + + + +void f_localtime(INT32 args) +{ + struct tm *tm; + time_t t; + if (args<1|| + sp[-1].type!=T_INT) + error("Illegal argument to localtime"); + t=sp[-1].u.integer; + tm=localtime(&t); + pop_stack(); + push_string(make_shared_string("sec")); + push_int(tm->tm_sec); + push_string(make_shared_string("min")); + push_int(tm->tm_min); + push_string(make_shared_string("hour")); + push_int(tm->tm_hour); + + push_string(make_shared_string("mday")); + push_int(tm->tm_mday); + push_string(make_shared_string("mon")); + push_int(tm->tm_mon); + push_string(make_shared_string("year")); + push_int(tm->tm_year); + + push_string(make_shared_string("wday")); + push_int(tm->tm_wday); + push_string(make_shared_string("yday")); + push_int(tm->tm_yday); + push_string(make_shared_string("isdst")); + push_int(tm->tm_isdst); + + push_string(make_shared_string("timezone")); +#if !HAVE_INT_TIMEZONE + push_int(_tz); +#else + push_int(timezone); +#endif + f_aggregate_mapping(20); +} + +void f_do_setuid(INT32 args) +{ + if(!args) + error("Set uid to what?\n"); + + if(sp[-1].type != T_INT) + error("Set uid to _what_?\n"); + + setuid(sp[-1].u.integer); + pop_n_elems(args-1); +} + +void f_do_setgid(INT32 args) +{ + if(!args) + error("Set gid to what?\n"); + + if(sp[-1].type != T_INT) + error("Set gid to _what_?\n"); + + setgid(sp[-1].u.integer); + pop_n_elems(args-1); +} + + +void f_timezone(INT32 args) +{ + pop_n_elems(args); +#if !HAVE_INT_TIMEZONE + push_int(_tz); +#else + push_int(timezone); +#endif +} + +#ifdef HAVE_SYSLOG + +#ifdef HAVE_SYSLOG_H +#include <syslog.h> +#endif + +#ifdef HAVE_SYS_SYSLOG_H +#ifndef HAVE_SYSLOG_H +#include <sys/syslog.h> +#endif +#endif + +#ifndef LOG_PERROR +#define LOG_PERROR 0 +#endif + +#ifndef LOG_AUTHPRIV +#define LOG_AUTHPRIV 0 +#endif + +void f_openlog(INT32 args) +{ + int option=0, facility=0, i; + if(args < 3) + error("Wrong number of arguments to openlog(string,int,int)\n"); + if(sp[-args].type != T_STRING + &&sp[-args+1].type != T_INT + &&sp[-args+2].type != T_INT) + error("Wrong type of arguments to openlog(string,int,int)\n"); + + i=sp[-args+1].u.integer; + + if(i & (1<<0)) option |= LOG_CONS; + if(i & (1<<1)) option |= LOG_NDELAY; + if(i & (1<<2)) option |= LOG_PERROR; + if(i & (1<<3)) option |= LOG_PID; + + i=sp[-args+2].u.integer; + + if(i & (1<<0)) facility |= LOG_AUTH; /* Don't use */ + if(i & (1<<1)) facility |= LOG_AUTHPRIV; + if(i & (1<<2)) facility |= LOG_CRON; + if(i & (1<<3)) facility |= LOG_DAEMON; + if(i & (1<<4)) facility |= LOG_KERN; + if(i & (1<<5)) facility |= LOG_LOCAL0; + if(i & (1<<6)) facility |= LOG_LOCAL1; + if(i & (1<<7)) facility |= LOG_LOCAL2; + if(i & (1<<8)) facility |= LOG_LOCAL3; + if(i & (1<<9)) facility |= LOG_LOCAL4; + if(i & (1<<10)) facility |= LOG_LOCAL5; + if(i & (1<<11)) facility |= LOG_LOCAL6; + if(i & (1<<12)) facility |= LOG_LOCAL7; + if(i & (1<<13)) facility |= LOG_LPR; + if(i & (1<<14)) facility |= LOG_MAIL; + if(i & (1<<15)) facility |= LOG_NEWS; + if(i & (1<<16)) facility |= LOG_SYSLOG; + if(i & (1<<17)) facility |= LOG_USER; + if(i & (1<<18)) facility |= LOG_UUCP; + + openlog((char *)sp[-args].u.string->str, option, facility); +} + +void f_syslog(INT32 args) +{ + int pri=0, i; + + if(args < 2) + error("Wrong number of arguments to syslog(int, string)\n"); + if(sp[-args].type != T_INT || + sp[-args+1].type != T_STRING) + error("Wrong type of arguments to syslog(int, string)\n"); + + reference_shared_string(sp[-args+1].u.string); + push_string(sp[-args+1].u.string); + push_string(make_shared_string("%")); + push_string(make_shared_string("%%")); + f_replace(3); + + i=sp[-args].u.integer; + if(i & (1<<0)) pri |= LOG_EMERG; + if(i & (1<<1)) pri |= LOG_ALERT; + if(i & (1<<2)) pri |= LOG_CRIT; + if(i & (1<<3)) pri |= LOG_ERR; + if(i & (1<<4)) pri |= LOG_WARNING; + if(i & (1<<5)) pri |= LOG_NOTICE; + if(i & (1<<6)) pri |= LOG_INFO; + if(i & (1<<6)) pri |= LOG_DEBUG; + + syslog(pri, (char *)sp[-1].u.string->str,"%s","%s","%s","%s","%s","%s", + "%s","%s","%s","%s"); + pop_n_elems(args); +} + +void f_closelog(INT32 args) +{ + closelog(); + pop_n_elems(args); +} +#endif + +#ifdef HAVE_PERROR +void f_real_perror(INT32 args) +{ + pop_n_elems(args); + perror(NULL); +} +#else +void f_real_perror(INT32 args) +{ + pop_n_elems(args); +} +#endif + +void f_get_all_active_fd(INT32 args) +{ + int i,fds; + struct stat foo; + pop_n_elems(args); + for (i=fds=0; i<MAX_OPEN_FILEDESCRIPTORS; i++) + if (!fstat(i,&foo)) + { + push_int(i); + fds++; + } + f_aggregate(fds); +} + +void f_fd_info(INT32 args) +{ + static char buf[256]; + int i; + struct stat foo; + + if (args<1|| + sp[-args].type!=T_INT) + error("Illegal argument to fd_info\n"); + i=sp[-args].u.integer; + pop_n_elems(args); + if (fstat(i,&foo)) + { + push_string(make_shared_string("non-open filedescriptor")); + return; + } + sprintf(buf,"%o,%ld,%d,%ld", + (unsigned int)foo.st_mode, + (long)foo.st_size, + (int)foo.st_dev, + (long)foo.st_ino); + push_string(make_shared_string(buf)); +} + +struct lpc_string *fd_marks[MAX_OPEN_FILEDESCRIPTORS]; + +void f_mark_fd(INT32 args) +{ + int fd; + struct lpc_string *s; + if (args<1 + || sp[-args].type!=T_INT + || (args>2 && sp[-args+1].type!=T_STRING)) + error("Illegal argument(s) to mark_fd(int,void|string)\n"); + fd=sp[-args].u.integer; + if(fd>MAX_OPEN_FILEDESCRIPTORS || fd < 0) + error("Fd must be in the range 0 to %d\n", MAX_OPEN_FILEDESCRIPTORS); + if (args<2) + { + int len; + struct sockaddr_in addr; + char *tmp; + char buf[20]; + + pop_stack(); + if(fd_marks[fd]) + { + fd_marks[fd]->refs++; + push_string(fd_marks[fd]); + } else { + push_int(0); + } + + len=sizeof(addr); + if(! getsockname(fd, (struct sockaddr *) &addr, &len)) + { + tmp=inet_ntoa(addr.sin_addr); + push_string(make_shared_string(" Local:")); + push_string(make_shared_string(tmp)); + sprintf(buf,".%d",(int)(ntohs(addr.sin_port))); + push_string(make_shared_string(buf)); + f_sum(4); + } + + if(! getpeername(fd, (struct sockaddr *) &addr, &len)) + { + push_string(make_shared_string(" Remote:")); + tmp=inet_ntoa(addr.sin_addr); + push_string(make_shared_string(tmp)); + sprintf(buf,".%d",(int)(ntohs(addr.sin_port))); + push_string(make_shared_string(buf)); + f_sum(4); + } + + return; + } + s=sp[-args+1].u.string; + s->refs++; + if(fd_marks[fd]) + free_string(fd_marks[fd]); + fd_marks[fd]=s; + pop_n_elems(args); + push_int(0); +} + +void init_spider_efuns(void) +{ + + add_efun("parse_accessed_database", f_parse_accessed_database, + "function(string:array)", OPT_TRY_OPTIMIZE); + + add_efun("_string_debug", f__string_debug, "function(void|mixed:string)", + OPT_EXTERNAL_DEPEND); + + add_efun("_dump_string_table", f__dump_string_table, + "function(:array(array))", OPT_EXTERNAL_DEPEND); + + add_efun("_num_dest_objects", f__num_dest_objects, "function(:int)", + OPT_EXTERNAL_DEPEND); + + add_efun("_num_arrays", f__num_arrays, "function(:int)", + OPT_EXTERNAL_DEPEND); + + add_efun("_num_objects", f__num_objects, "function(:int)", + OPT_EXTERNAL_DEPEND); + + add_efun("_num_mappings", f__num_mappings, "function(:int)", + OPT_EXTERNAL_DEPEND); + + add_efun("_dump_obj_table", f__dump_obj_table, "function(:array(array))", + OPT_EXTERNAL_DEPEND); + + add_efun("parse_html",f_parse_html, + "function(string,mapping(string:function(string,mapping(string:string),mixed ...:string)),mapping(string:function(string,mapping(string:string),string,mixed ...:string)),mixed ...:string)", + 0); + + add_efun("do_match",f_do_match, + "function(string|array(string),string:string)",OPT_TRY_OPTIMIZE); + + add_efun("localtime",f_localtime, + "function(int:mapping(string:mixed))",OPT_EXTERNAL_DEPEND); + + add_efun("real_perror",f_real_perror, "function(:void)",OPT_EXTERNAL_DEPEND); + +#ifdef HAVE_SYSLOG + add_efun("openlog", f_openlog, "function(string,int,int:void)", 0); + add_efun("syslog", f_syslog, "function(int,string:void)", 0); + add_efun("closelog", f_closelog, "function(:void)", 0); +#endif + + add_efun("discdate", f_discdate, "function(int:array)", 0); + add_efun("stardate", f_stardate, "function(int,void|int:int)", 0); + + add_efun("setuid", f_do_setuid, "function(int:void)", 0); + add_efun("setgid", f_do_setgid, "function(int:void)", 0); + add_efun("timezone",f_timezone,"function(:int)",0); +#if 0 + add_efun("exece",f_exece,"function(string,array(string),array(string):int)", + OPT_SIDE_EFFECT); +#endif + add_efun("get_all_active_fd",f_get_all_active_fd,"function(:array(int))",0); + add_efun("fd_info",f_fd_info,"function(int:string)",0); + add_efun("mark_fd",f_mark_fd,"function(int,void|mixed:mixed)",0); + + /* timezone() needs */ + { + time_t foo; + struct tm *g; + /* Purify wants */ + foo=(time_t)0; + + g=localtime(&foo); +#if !HAVE_INT_TIMEZONE + _tz = g->tm_gmtoff; +#endif + } +} + +void init_spider_programs() {} + +void exit_spider(void) +{ + int i; + for(i=0; i<MAX_OPEN_FILEDESCRIPTORS; i++) + if(fd_marks[i]) + free_string(fd_marks[i]); +} diff --git a/src/modules/spider/spider.h b/src/modules/spider/spider.h new file mode 100644 index 0000000000000000000000000000000000000000..173ef11340f9d4b3d031827ad15f1c9de078f560 --- /dev/null +++ b/src/modules/spider/spider.h @@ -0,0 +1,19 @@ +/* spider.h. Generated automatically by configure. */ +#define HAVE_SYSLOG_H 1 + +#define HAVE_SYSLOG 1 + +#define HAVE_INT_TIMEZONE 1 + +#define HAVE_PERROR 1 + +#define HAVE_STRERROR 1 + +/* Define if you have arpa/inhet.h */ +#define HAVE_ARPA_INET_H 1 + +/* Define if you have the <sys/socketvar.h> header file. */ +#define HAVE_SYS_SOCKETVAR_H 1 + +/* Define if you have the <netinet/in.h> header file. */ +#define HAVE_NETINET_IN_H 1 diff --git a/src/modules/spider/spider.h.in b/src/modules/spider/spider.h.in new file mode 100644 index 0000000000000000000000000000000000000000..fb15d80878fe55b662c2cdaf1cf70c8705d1041d --- /dev/null +++ b/src/modules/spider/spider.h.in @@ -0,0 +1,18 @@ +#undef HAVE_SYSLOG_H + +#undef HAVE_SYSLOG + +#undef HAVE_INT_TIMEZONE + +#undef HAVE_PERROR + +#undef HAVE_STRERROR + +/* Define if you have arpa/inhet.h */ +#undef HAVE_ARPA_INET_H + +/* Define if you have the <sys/socketvar.h> header file. */ +#undef HAVE_SYS_SOCKETVAR_H + +/* Define if you have the <netinet/in.h> header file. */ +#undef HAVE_NETINET_IN_H diff --git a/src/modules/spider/stamp-h b/src/modules/spider/stamp-h new file mode 100644 index 0000000000000000000000000000000000000000..b7d6715e2df11b9c32b2341423273c6b3ad9ae8a --- /dev/null +++ b/src/modules/spider/stamp-h @@ -0,0 +1 @@ +FOO diff --git a/src/modules/spider/stardate.c b/src/modules/spider/stardate.c new file mode 100644 index 0000000000000000000000000000000000000000..a3e41e1005f46cbb8e0df9d608644aba5db82e6d --- /dev/null +++ b/src/modules/spider/stardate.c @@ -0,0 +1,108 @@ +#define FIT(x,y) while((x)<0)(x)+=(y);while((x)>(y))(x)-=(y) + +#define MAXPRECISION 7 +#define OUTPUTFORMAT "%%%03d.%df" + +/*---------------------------------------------------------------------* + *TAG ( julian_day ); + *---------------------------------------------------------------------* + * Returns the New Epoch Julian Day for the given Gregorian calendar + * day. + */ +double julian_day (int month, int day, int year) +{ + int loc_month; + int loc_year; + int a, b, c, d; + + loc_month = month; + loc_year = year; + + /* correct for March-based B.C. year */ + if (year < 0) loc_year ++; + if (month < 3) { + loc_month = month + 12; + loc_year --; + } + + /* set up A and B for Julian to Gregorian calendar change */ + if (year < 1582) b = 0; + else if (year == 1582) { + if (month < 10) b = 0; + else if (month == 10) { + if (day < 15) b = 0; + else { + a = loc_year / 100; + b = 2 - a + (a/4); + } + } else { + a = loc_year / 100; + b = 2 - a + (a/4); + } + } else { + a = loc_year / 100; + b = 2 - a + (a/4); /* century is set up */ + } + + /* fudge for year and month */ + c = (int) (365.25 * loc_year) - 694025; + d = (int) (30.6001 * (loc_month + 1)); + + return (double) (b + c + d + day) - .5; +} + +/*---------------------------------------------------------------------* + *TAG ( sidereal ); + *---------------------------------------------------------------------* + * Returns Greenwich Mean Sidereal Time for the given Greenwich Mean + * Solar Time on the given NE Julian Day. + */ +double sidereal (double gmt, double jd, int gyear) +{ + register double dayfudge, yrfudge, jhund; + double initjd, hourfudge, time0, lst; + + /* find Julian century at start of year */ + initjd = julian_day (1, 0, gyear); + jhund = initjd / 36525.0; + + /* apply polynomial correction */ + dayfudge = 6.6460656 + (0.051262 + (jhund * 0.00002581)) * jhund; + yrfudge = 2400.0 * (jhund - ( (double) (gyear - 1900) / 100)); + hourfudge = 24.0 - dayfudge - yrfudge; + time0 = (jd - initjd) * 0.0657098 - hourfudge; + + /* adjust to modulo 24 hours */ + lst = (gmt * 1.002737908) + time0; + FIT (lst, 24.0); + return lst; +} + +void f_stardate (INT32 args) +{ + int jd, precis=0; + double gmt, gmst; + time_t t; + struct tm *tm; + char buf[16]; + char fmt[16]; + + if (args < 2) + error("Wrong number of arguments to stardate(int, int)\n"); + precis=sp[-args+1].u.integer; + t=sp[-args].u.integer; + + if (precis < 1) precis = 1; + if (precis > MAXPRECISION) precis = MAXPRECISION; + tm = gmtime (&t); + jd = julian_day (tm->tm_mon + 1, tm->tm_mday, tm->tm_year + 1900); + + gmt = (double) tm->tm_hour + + tm->tm_min / 60.0 + + tm->tm_sec / 3600.0; + gmst = sidereal (gmt, (double) jd, tm->tm_year); + sprintf (fmt, OUTPUTFORMAT, precis + 6, precis); + sprintf (buf, fmt, (double) jd + gmst / 24.0); + pop_n_elems(args); + push_string(make_shared_string(buf)); +} diff --git a/src/modules/sprintf/Makefile b/src/modules/sprintf/Makefile new file mode 100644 index 0000000000000000000000000000000000000000..ee618c89f1d01e006a2f2505729d7f2e1fb3ba6b --- /dev/null +++ b/src/modules/sprintf/Makefile @@ -0,0 +1,22 @@ +# Generated automatically from Makefile.in by configure. +SRCDIR=. +VPATH=.:./../..:../.. +PREFLAGS=-I$(SRCDIR) -I$(SRCDIR)/../.. -I../.. +CFLAGS=$(PREFLAGS) $(OTHERFLAGS) + +FILES=sprintf.o + +sprintf.a: $(FILES) + -rm -f sprintf.a + ar cq sprintf.a $(FILES) + -ranlib sprintf.a + +clean: + -rm -f *.o *.a + +depend: + gcc -MM $(PREFLAGS) $(SRCDIR)/*.c | sed 's;$(SRCDIR)/;;g' | sed 's;\.\./;;g' | sed 's;\./;;g' >$(SRCDIR)/dependencies + +include ./dependencies + + diff --git a/src/modules/sprintf/configure b/src/modules/sprintf/configure new file mode 100755 index 0000000000000000000000000000000000000000..10600f308a0f73b918d796d2eee190c11cc9e1ab --- /dev/null +++ b/src/modules/sprintf/configure @@ -0,0 +1,679 @@ +#!/bin/sh + +# Guess values for system-dependent variables and create Makefiles. +# Generated automatically using autoconf version 1.119 +# Copyright (C) 1991, 1992, 1993, 1994 Free Software Foundation, Inc. +# +# This configure script is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as published +# by the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This script is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +ac_help= + +# Omit some internal or obsolete options to make the list less imposing. +ac_usage="Usage: configure [options] [host] +Options: [defaults in brackets after descriptions] +Configuration: + --cache-file=FILE cache test results in FILE + --help print this message + --no-create do not create output files + --quiet, --silent do not print \`checking...' messages + --version print the version of autoconf that created configure +Directory and file names: + --exec-prefix=PREFIX install host dependent files in PREFIX [/usr/local] + --prefix=PREFIX install host independent files in PREFIX [/usr/local] + --srcdir=DIR find the sources in DIR [configure dir or ..] + --program-prefix=PREFIX prepend PREFIX to installed program names + --program-suffix=SUFFIX append SUFFIX to installed program names +Host type: + --build=BUILD configure for building on BUILD [BUILD=HOST] + --host=HOST configure for HOST [guessed] + --target=TARGET configure for TARGET [TARGET=HOST] +Features and packages: + --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) + --enable-FEATURE[=ARG] include FEATURE [ARG=yes] + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --x-includes=DIR X include files are in DIR + --x-libraries=DIR X library files are in DIR +--enable and --with options recognized:$ac_help" + +# Initialize some variables set by options. +# The variables have the same names as the options, with +# dashes changed to underlines. +build=NONE +cache_file=./config.cache +exec_prefix=NONE +host=NONE +no_create= +nonopt=NONE +no_recursion= +prefix=NONE +program_prefix=NONE +program_suffix=NONE +program_transform_name=NONE +silent= +srcdir= +target=NONE +verbose= +x_includes=NONE +x_libraries=NONE + +# Initialize some other variables. +subdirs= + +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 + + case "$ac_option" in + -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;; + *) ac_optarg= ;; + esac + + # Accept the important Cygnus configure options, so we can diagnose typos. + + case "$ac_option" in + + -build | --build | --buil | --bui | --bu | --b) + ac_prev=build ;; + -build=* | --build=* | --buil=* | --bui=* | --bu=* | --b=*) + build="$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" ;; + + -disable-* | --disable-*) + ac_feature=`echo $ac_option|sed -e 's/-*disable-//'` + # Reject names that are not valid shell variable names. + if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then + { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; } + fi + ac_feature=`echo $ac_feature| sed 's/-/_/g'` + eval "enable_${ac_feature}=no" ;; + + -enable-* | --enable-*) + ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'` + # Reject names that are not valid shell variable names. + if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then + { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; } + fi + ac_feature=`echo $ac_feature| sed 's/-/_/g'` + case "$ac_option" in + *=*) ;; + *) 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) + cat << EOF +$ac_usage +EOF + exit 0 ;; + + -host | --host | --hos | --ho) + ac_prev=host ;; + -host=* | --host=* | --hos=* | --ho=*) + host="$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) + 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 ;; + + -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 ;; + + -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) + ac_prev=srcdir ;; + -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) + srcdir="$ac_optarg" ;; + + -target | --target | --targe | --targ | --tar | --ta | --t) + ac_prev=target ;; + -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) + target="$ac_optarg" ;; + + -v | -verbose | --verbose | --verbos | --verbo | --verb) + verbose=yes ;; + + -version | --version | --versio | --versi | --vers) + echo "configure generated by autoconf version 1.119" + exit 0 ;; + + -with-* | --with-*) + ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'` + # Reject names that are not valid shell variable names. + if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then + { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; } + fi + ac_package=`echo $ac_package| sed 's/-/_/g'` + case "$ac_option" in + *=*) ;; + *) ac_optarg=yes ;; + esac + eval "with_${ac_package}='$ac_optarg'" ;; + + -without-* | --without-*) + ac_package=`echo $ac_option|sed -e 's/-*without-//'` + # Reject names that are not valid shell variable names. + if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then + { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; } + fi + 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 "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; } + ;; + + *) + if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then + echo "configure: warning: $ac_option: invalid host type" 1>&2 + fi + if test "x$nonopt" != xNONE; then + { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; } + fi + nonopt="$ac_option" + ;; + + esac +done + +if test -n "$ac_prev"; then + { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; } +fi + +trap 'rm -fr conftest* confdefs* core $ac_clean_files; exit 1' 1 2 15 + +# File descriptor usage: +# 0 unused; standard input +# 1 file creation +# 2 errors and warnings +# 3 unused; some systems may open it to /dev/tty +# 4 checking for... messages and results +# 5 compiler messages saved in config.log +if test "$silent" = yes; then + exec 4>/dev/null +else + exec 4>&1 +fi +exec 5>./config.log + +echo "\ +This file contains any messages produced by compilers while +running configure, to aid debugging if configure makes a mistake. +" 1>&5 + +# Strip out --no-create and --no-recursion so they do not pile up. +# Also quote any args containing shell metacharacters. +ac_configure_args= +for ac_arg +do + case "$ac_arg" in + -no-create | --no-create | --no-creat | --no-crea | --no-cre \ + | --no-cr | --no-c) ;; + -no-recursion | --no-recursion | --no-recursio | --no-recursi \ + | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;; + *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*) + ac_configure_args="$ac_configure_args '$ac_arg'" ;; + *) ac_configure_args="$ac_configure_args $ac_arg" ;; + esac +done + +# NLS nuisances. +# Only set LANG and LC_ALL to C if already set. +# These must not be set unconditionally because not all systems understand +# e.g. LANG=C (notably SCO). +if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi +if test "${LANG+set}" = set; then LANG=C; export LANG; fi + +# 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 + +# A filename unique to this package, relative to the directory that +# configure is in, which we can look for to find out if srcdir is correct. +ac_unique_file=sprintf.c + +# 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_prog=$0 + ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'` + test "x$ac_confdir" = "x$ac_prog" && ac_confdir=. + 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 "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; } + else + { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; } + fi +fi + +# Prefer explicitly selected file to automatically selected ones. +if test -z "$CONFIG_SITE"; then + if test "x$prefix" != xNONE; then + CONFIG_SITE=$prefix/lib/config.site + else + CONFIG_SITE=/usr/local/lib/config.site + fi + # System dependent files override system independent ones. + if test "x$exec_prefix" != xNONE && test "x$exec_prefix" != "x$prefix"; then + CONFIG_SITE="$CONFIG_SITE $exec_prefix/lib/config.site" + fi +fi +for ac_site_file in $CONFIG_SITE; do + if test -r "$ac_site_file"; then + echo "loading site script $ac_site_file" + . "$ac_site_file" + fi +done + +if test -r "$cache_file"; then + echo "loading cache $cache_file" + . $cache_file +else + echo "creating cache $cache_file" + > $cache_file +fi + +ac_ext=c +# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. +ac_cpp='$CPP $CPPFLAGS' +ac_link='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext -o conftest $LIBS 1>&5 2>&5' + +if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then + # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu. + if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then + ac_n= ac_c=' +' ac_t=' ' + else + ac_n=-n ac_c= ac_t= + fi +else + ac_n= ac_c='\c' ac_t= +fi + + + +# Extract the first word of "gcc", so it can be a program name with args. +set dummy gcc; ac_word=$2 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&4 +if eval "test \"`echo '${'ac_cv_prog_CC'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&4 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" + for ac_dir in $PATH; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + ac_cv_prog_CC="gcc" + break + fi + done + IFS="$ac_save_ifs" + test -z "$ac_cv_prog_CC" && ac_cv_prog_CC="cc" +fi +fi +CC="$ac_cv_prog_CC" +if test -n "$CC"; then + echo "$ac_t""$CC" 1>&4 +else + echo "$ac_t""no" 1>&4 +fi + + +echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&4 +if eval "test \"`echo '${'ac_cv_prog_gcc'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&4 +else + cat > conftest.c <<EOF +#ifdef __GNUC__ + yes +#endif +EOF +if ${CC-cc} -E conftest.c 2>&5 | egrep yes >/dev/null 2>&1; then + ac_cv_prog_gcc=yes +else + ac_cv_prog_gcc=no +fi +fi +echo "$ac_t""$ac_cv_prog_gcc" 1>&4 +if test $ac_cv_prog_gcc = yes; then + GCC=yes + if test "${CFLAGS+set}" != set; then + echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&4 +if eval "test \"`echo '${'ac_cv_prog_gcc_g'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&4 +else + echo 'void f(){}' > conftest.c +if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then + ac_cv_prog_gcc_g=yes +else + ac_cv_prog_gcc_g=no +fi +rm -f conftest* + +fi + echo "$ac_t""$ac_cv_prog_gcc_g" 1>&4 + if test $ac_cv_prog_gcc_g = yes; then + CFLAGS="-g -O" + else + CFLAGS="-O" + fi + fi +else + GCC= + test "${CFLAGS+set}" = set || CFLAGS="-g" +fi + +# Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&4 +if eval "test \"`echo '${'ac_cv_prog_RANLIB'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&4 +else + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" + for ac_dir in $PATH; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + ac_cv_prog_RANLIB="ranlib" + break + fi + done + IFS="$ac_save_ifs" + test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":" +fi +fi +RANLIB="$ac_cv_prog_RANLIB" +if test -n "$RANLIB"; then + echo "$ac_t""$RANLIB" 1>&4 +else + echo "$ac_t""no" 1>&4 +fi + + + +trap '' 1 2 15 +if test -w $cache_file; then +echo "updating cache $cache_file" +cat > $cache_file <<\EOF +# 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. It is not useful on other systems. +# If it contains results you don't want to keep, you may remove or edit it. +# +# By default, configure uses ./config.cache as the cache file, +# creating it if it does not exist already. You can give configure +# the --cache-file=FILE option to use a different cache file; that is +# what configure does when it calls configure scripts in +# subdirectories, so they share the cache. +# Giving --cache-file=/dev/null disables caching, for debugging configure. +# config.status only pays attention to the cache file if you give it the +# --recheck option to rerun configure. +# +EOF +# Ultrix sh set writes to stderr and can't be redirected directly. +(set) 2>&1 | + sed -n "s/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/: \${\1='\2'}/p" \ + >> $cache_file +else +echo "not updating unwritable cache $cache_file" +fi + +trap 'rm -fr conftest* confdefs* core $ac_clean_files; exit 1' 1 2 15 + +test "x$prefix" = xNONE && prefix=/usr/local +# Let make expand exec_prefix. +test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' + +# Any assignment to VPATH causes Sun make to only execute +# the first set of double-colon rules, so remove it if not needed. +# If there is a colon in the path, we need to keep it. +if test "x$srcdir" = x.; then + ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d' +fi + +trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15 + +# Transform confdefs.h into DEFS. +# Protect against shell expansion while executing Makefile rules. +# Protect against Makefile macro expansion. +cat > conftest.defs <<\EOF +s%#define \([A-Za-z_][A-Za-z0-9_]*\) \(.*\)%-D\1=\2%g +s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g +s%\[%\\&%g +s%\]%\\&%g +s%\$%$$%g +EOF +DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '` +rm -f conftest.defs + + +# Without the "./", some shells look in PATH for config.status. +: ${CONFIG_STATUS=./config.status} + +echo creating $CONFIG_STATUS +rm -f $CONFIG_STATUS +cat > $CONFIG_STATUS <<EOF +#!/bin/sh +# Generated automatically by configure. +# Run this file to recreate the current configuration. +# This directory was configured as follows, +# on host `(hostname || uname -n) 2>/dev/null | sed 1q`: +# +# $0 $ac_configure_args +# +# Compiler output produced by configure, useful for debugging +# configure, is in ./config.log if it exists. + +ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]" +for ac_option +do + case "\$ac_option" in + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) + echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion" + exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;; + -version | --version | --versio | --versi | --vers | --ver | --ve | --v) + echo "$CONFIG_STATUS generated by autoconf version 1.119" + exit 0 ;; + -help | --help | --hel | --he | --h) + echo "\$ac_cs_usage"; exit 0 ;; + *) echo "\$ac_cs_usage"; exit 1 ;; + esac +done + +ac_given_srcdir=$srcdir + +trap 'rm -f Makefile; exit 1' 1 2 15 + +# Protect against being on the right side of a sed subst in config.status. +sed 's/%@/@@/; s/@%/@@/; s/%g$/@g/; /@g$/s/[\\\\&%]/\\\\&/g; + s/@@/%@/; s/@@/@%/; s/@g$/%g/' > conftest.subs <<\CEOF +$ac_vpsub +$extrasub +s%@CFLAGS@%$CFLAGS%g +s%@CPPFLAGS@%$CPPFLAGS%g +s%@CXXFLAGS@%$CXXFLAGS%g +s%@DEFS@%$DEFS%g +s%@LDFLAGS@%$LDFLAGS%g +s%@LIBS@%$LIBS%g +s%@exec_prefix@%$exec_prefix%g +s%@prefix@%$prefix%g +s%@CC@%$CC%g +s%@RANLIB@%$RANLIB%g + +CEOF +EOF +cat >> $CONFIG_STATUS <<EOF + +CONFIG_FILES=\${CONFIG_FILES-"Makefile"} +EOF +cat >> $CONFIG_STATUS <<\EOF +for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then + # Support "outfile[:infile]", defaulting infile="outfile.in". + case "$ac_file" in + *:*) ac_file_in=`echo "$ac_file"|sed 's%.*:%%'` + ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; + *) ac_file_in="${ac_file}.in" ;; + esac + + # Adjust relative srcdir, etc. for subdirectories. + + # Remove last slash and all that follows it. Not all systems have dirname. + ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'` + if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then + # The file is in a subdirectory. + test ! -d "$ac_dir" && mkdir "$ac_dir" + ac_dir_suffix="/$ac_dir" + # A "../" for each directory in $ac_dir_suffix. + ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'` + else + ac_dir_suffix= ac_dots= + fi + + case "$ac_given_srcdir" in + .) srcdir=. + if test -z "$ac_dots"; then top_srcdir=. + else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;; + /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;; + *) # Relative path. + srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix" + top_srcdir="$ac_dots$ac_given_srcdir" ;; + esac + + echo creating "$ac_file" + rm -f "$ac_file" + configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure." + case "$ac_file" in + *Makefile*) ac_comsub="1i\\ +# $configure_input" ;; + *) ac_comsub= ;; + esac + sed -e "$ac_comsub +s%@configure_input@%$configure_input%g +s%@srcdir@%$srcdir%g +s%@top_srcdir@%$top_srcdir%g +" -f conftest.subs $ac_given_srcdir/$ac_file_in > $ac_file +fi; done +rm -f conftest.subs + + +echo FOO >stamp-h +exit 0 +EOF +chmod +x $CONFIG_STATUS +rm -fr confdefs* $ac_clean_files +test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS + + + diff --git a/src/modules/sprintf/dependencies b/src/modules/sprintf/dependencies new file mode 100644 index 0000000000000000000000000000000000000000..41099fa0369fd9b4fe6ed2a93d8d1fcaef267bff --- /dev/null +++ b/src/modules/sprintf/dependencies @@ -0,0 +1,15 @@ +sprintf.o: sprintf.c \ + global.h \ + config.h machine.h \ + port.h \ + error.h \ + svalue.h \ + array.h \ + las.h \ + dynamic_buffer.h \ + program.h \ + stralloc.h \ + lpc_types.h \ + add_efun.h \ + hashtable.h \ + interpret.h diff --git a/src/modules/sprintf/stamp-h b/src/modules/sprintf/stamp-h new file mode 100644 index 0000000000000000000000000000000000000000..b7d6715e2df11b9c32b2341423273c6b3ad9ae8a --- /dev/null +++ b/src/modules/sprintf/stamp-h @@ -0,0 +1 @@ +FOO diff --git a/src/stamp-h b/src/stamp-h new file mode 100644 index 0000000000000000000000000000000000000000..b7d6715e2df11b9c32b2341423273c6b3ad9ae8a --- /dev/null +++ b/src/stamp-h @@ -0,0 +1 @@ +FOO