--- hpoj-0.91.orig/configure +++ hpoj-0.91/configure @@ -1,78 +1,35 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.53. +# Generated by GNU Autoconf 2.61. # -# Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002 -# Free Software Foundation, Inc. +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, +# 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. - -if expr a : '\(a\)' >/dev/null 2>&1; then - as_expr=expr -else - as_expr=false -fi - - ## --------------------- ## ## M4sh Initialization. ## ## --------------------- ## -# Be Bourne compatible +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: -elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then - set -o posix -fi - -# NLS nuisances. -# Support unset when possible. -if (FOO=FOO; unset FOO) >/dev/null 2>&1; then - as_unset=unset + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST else - as_unset=false + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + fi -(set +x; test -n "`(LANG=C; export LANG) 2>&1`") && - { $as_unset LANG || test "${LANG+set}" != set; } || - { LANG=C; export LANG; } -(set +x; test -n "`(LC_ALL=C; export LC_ALL) 2>&1`") && - { $as_unset LC_ALL || test "${LC_ALL+set}" != set; } || - { LC_ALL=C; export LC_ALL; } -(set +x; test -n "`(LC_TIME=C; export LC_TIME) 2>&1`") && - { $as_unset LC_TIME || test "${LC_TIME+set}" != set; } || - { LC_TIME=C; export LC_TIME; } -(set +x; test -n "`(LC_CTYPE=C; export LC_CTYPE) 2>&1`") && - { $as_unset LC_CTYPE || test "${LC_CTYPE+set}" != set; } || - { LC_CTYPE=C; export LC_CTYPE; } -(set +x; test -n "`(LANGUAGE=C; export LANGUAGE) 2>&1`") && - { $as_unset LANGUAGE || test "${LANGUAGE+set}" != set; } || - { LANGUAGE=C; export LANGUAGE; } -(set +x; test -n "`(LC_COLLATE=C; export LC_COLLATE) 2>&1`") && - { $as_unset LC_COLLATE || test "${LC_COLLATE+set}" != set; } || - { LC_COLLATE=C; export LC_COLLATE; } -(set +x; test -n "`(LC_NUMERIC=C; export LC_NUMERIC) 2>&1`") && - { $as_unset LC_NUMERIC || test "${LC_NUMERIC+set}" != set; } || - { LC_NUMERIC=C; export LC_NUMERIC; } -(set +x; test -n "`(LC_MESSAGES=C; export LC_MESSAGES) 2>&1`") && - { $as_unset LC_MESSAGES || test "${LC_MESSAGES+set}" != set; } || - { LC_MESSAGES=C; export LC_MESSAGES; } -# Name of the executable. -as_me=`(basename "$0") 2>/dev/null || -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)$' \| \ - . : '\(.\)' 2>/dev/null || -echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; } - /^X\/\(\/\/\)$/{ s//\1/; q; } - /^X\/\(\/\).*/{ s//\1/; q; } - s/.*/./; q'` -# PATH needs CR, and LINENO needs CR and PATH. +# PATH needs CR # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' @@ -82,175 +39,536 @@ # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then - echo "#! /bin/sh" >conftest.sh - echo "exit 0" >>conftest.sh - chmod +x conftest.sh - if (PATH=".;."; conftest.sh) >/dev/null 2>&1; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi - rm -f conftest.sh + rm -f conf$$.sh +fi + +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false fi - as_lineno_1=$LINENO - as_lineno_2=$LINENO - as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` - test "x$as_lineno_1" != "x$as_lineno_2" && - test "x$as_lineno_3" = "x$as_lineno_2" || { - # Find who we are. Look in the path if we contain no path at all - # relative or not. - case $0 in - *[\\/]* ) as_myself=$0 ;; - *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +as_nl=' +' +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +case $0 in + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done +IFS=$as_save_IFS - ;; - esac - # We did not find ourselves, most probably we were run as `sh COMMAND' - # in which case we are not to be found in the path. - if test "x$as_myself" = x; then - as_myself=$0 - fi - if test ! -f "$as_myself"; then - { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2 - { (exit 1); exit 1; }; } + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + { (exit 1); exit 1; } +fi + +# Work around bugs in pre-3.0 UWIN ksh. +for as_var in ENV MAIL MAILPATH +do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +for as_var in \ + LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ + LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ + LC_TELEPHONE LC_TIME +do + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then + eval $as_var=C; export $as_var + else + ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var fi - case $CONFIG_SHELL in - '') +done + +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + + +# Name of the executable. +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# CDPATH. +$as_unset CDPATH + + +if test "x$CONFIG_SHELL" = x; then + if (eval ":") 2>/dev/null; then + as_have_required=yes +else + as_have_required=no +fi + + if test $as_have_required = yes && (eval ": +(as_func_return () { + (exit \$1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} + +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : +else + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = \"\$1\" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test \$exitcode = 0) || { (exit 1); exit 1; } + +( + as_lineno_1=\$LINENO + as_lineno_2=\$LINENO + test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" && + test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; } +") 2> /dev/null; then + : +else + as_candidate_shells= as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - for as_base in sh bash ksh sh5; do - case $as_dir in + case $as_dir in /*) - if ("$as_dir/$as_base" -c ' + for as_base in sh bash ksh sh5; do + as_candidate_shells="$as_candidate_shells $as_dir/$as_base" + done;; + esac +done +IFS=$as_save_IFS + + + for as_shell in $as_candidate_shells $SHELL; do + # Try only shells that exist, to save several forks. + if { test -f "$as_shell" || test -f "$as_shell.exe"; } && + { ("$as_shell") 2> /dev/null <<\_ASEOF +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + +: +_ASEOF +}; then + CONFIG_SHELL=$as_shell + as_have_required=yes + if { "$as_shell" 2> /dev/null <<\_ASEOF +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + +: +(as_func_return () { + (exit $1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} + +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : +else + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = "$1" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test $exitcode = 0) || { (exit 1); exit 1; } + +( as_lineno_1=$LINENO as_lineno_2=$LINENO - as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` test "x$as_lineno_1" != "x$as_lineno_2" && - test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then - CONFIG_SHELL=$as_dir/$as_base - export CONFIG_SHELL - exec "$CONFIG_SHELL" "$0" ${1+"$@"} - fi;; - esac - done -done -;; - esac + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; } + +_ASEOF +}; then + break +fi + +fi + + done + + if test "x$CONFIG_SHELL" != x; then + for as_var in BASH_ENV ENV + do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + done + export CONFIG_SHELL + exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} +fi + + + if test $as_have_required = no; then + echo This script requires a shell more modern than all the + echo shells that I found on your system. Please install a + echo modern shell, or manually run the script under such a + echo shell if you do have one. + { (exit 1); exit 1; } +fi + + +fi + +fi + + + +(eval "as_func_return () { + (exit \$1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} + +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : +else + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = \"\$1\" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test \$exitcode = 0") || { + echo No shell found that supports shell functions. + echo Please tell autoconf@gnu.org about your system, + echo including any error possibly output before this + echo message +} + + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { # Create $as_me.lineno as a copy of $as_myself, but with $LINENO # uniformly replaced by the line number. The first 'sed' inserts a - # line-number line before each line; the second 'sed' does the real - # work. The second script uses 'N' to pair each line-number line - # with the numbered line, and appends trailing '-' during - # substitution so that $LINENO is not a special case at line end. + # line-number line after each line using $LINENO; the second 'sed' + # does the real work. The second script uses 'N' to pair each + # line-number line with the line containing $LINENO, and appends + # trailing '-' during substitution so that $LINENO is not a special + # case at line end. # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the - # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-) - sed '=' <$as_myself | + # scripts with optimization help from Paolo Bonzini. Blame Lee + # E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno N - s,$,-, - : loop - s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ t loop - s,-$,, - s,^['$as_cr_digits']*\n,, + s/-\n.*// ' >$as_me.lineno && - chmod +x $as_me.lineno || + chmod +x "$as_me.lineno" || { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 { (exit 1); exit 1; }; } # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the - # original and so on. Autoconf is especially sensible to this). - . ./$as_me.lineno + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" # Exit status is that of the last command. exit } -case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in - *c*,-n*) ECHO_N= ECHO_C=' -' ECHO_T=' ' ;; - *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; - *) ECHO_N= ECHO_C='\c' ECHO_T= ;; +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in +-n*) + case `echo 'x\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + *) ECHO_C='\c';; + esac;; +*) + ECHO_N='-n';; esac -if expr a : '\(a\)' >/dev/null 2>&1; then +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir +fi echo >conf$$.file if ln -s conf$$.file conf$$ 2>/dev/null; then - # We could just check for DJGPP; but this test a) works b) is more generic - # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). - if test -f conf$$.exe; then - # Don't use ln at all; we don't have any links + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -p'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -p' - else - as_ln_s='ln -s' - fi elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -p' fi -rm -f conf$$ conf$$.exe conf$$.file +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi -as_executable_p="test -f" +if test -x / >/dev/null 2>&1; then + as_test_x='test -x' +else + if ls -dL / >/dev/null 2>&1; then + as_ls_L_option=L + else + as_ls_L_option= + fi + as_test_x=' + eval sh -c '\'' + if test -d "$1"; then + test -d "$1/."; + else + case $1 in + -*)set "./$1";; + esac; + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in + ???[sx]*):;;*)false;;esac;fi + '\'' sh + ' +fi +as_executable_p=$as_test_x # Sed expression to map a string onto a valid CPP name. -as_tr_cpp="sed y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g" +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. -as_tr_sh="sed y%*+%pp%;s%[^_$as_cr_alnum]%_%g" - +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" -# IFS -# We need space, tab and new line, in precisely that order. -as_nl=' -' -IFS=" $as_nl" -# CDPATH. -$as_unset CDPATH || test "${CDPATH+set}" != set || { CDPATH=$PATH_SEPARATOR; export CDPATH; } +exec 7<&0 &1 # Name of the host. # hostname on some systems (SVR3.2, Linux) returns a bogus exit status, # so uname gets run too. ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` -exec 6>&1 - # # Initializations. # ac_default_prefix=/usr/local +ac_clean_files= +ac_config_libobj_dir=. +LIBOBJS= cross_compiling=no subdirs= MFLAGS= MAKEFLAGS= SHELL=${CONFIG_SHELL-/bin/sh} -# Maximum number of lines to put in a shell here document. -# This variable seems obsolete. It should probably be removed, and -# only ac_max_sed_lines should be used. -: ${ac_max_here_lines=38} - # Identity of this package. PACKAGE_NAME= PACKAGE_TARNAME= @@ -262,40 +580,131 @@ # Factoring default headers for most tests. ac_includes_default="\ #include -#if HAVE_SYS_TYPES_H +#ifdef HAVE_SYS_TYPES_H # include #endif -#if HAVE_SYS_STAT_H +#ifdef HAVE_SYS_STAT_H # include #endif -#if STDC_HEADERS +#ifdef STDC_HEADERS # include # include #else -# if HAVE_STDLIB_H +# ifdef HAVE_STDLIB_H # include # endif #endif -#if HAVE_STRING_H -# if !STDC_HEADERS && HAVE_MEMORY_H +#ifdef HAVE_STRING_H +# if !defined STDC_HEADERS && defined HAVE_MEMORY_H # include # endif # include #endif -#if HAVE_STRINGS_H +#ifdef HAVE_STRINGS_H # include #endif -#if HAVE_INTTYPES_H +#ifdef HAVE_INTTYPES_H # include -#else -# if HAVE_STDINT_H -# include -# endif #endif -#if HAVE_UNISTD_H +#ifdef HAVE_STDINT_H +# include +#endif +#ifdef HAVE_UNISTD_H # include #endif" +ac_subst_vars='SHELL +PATH_SEPARATOR +PACKAGE_NAME +PACKAGE_TARNAME +PACKAGE_VERSION +PACKAGE_STRING +PACKAGE_BUGREPORT +exec_prefix +prefix +program_transform_name +bindir +sbindir +libexecdir +datarootdir +datadir +sysconfdir +sharedstatedir +localstatedir +includedir +oldincludedir +docdir +infodir +htmldir +dvidir +pdfdir +psdir +libdir +localedir +mandir +DEFS +ECHO_C +ECHO_N +ECHO_T +LIBS +build_alias +host_alias +target_alias +CC +CFLAGS +LDFLAGS +CPPFLAGS +ac_ct_CC +EXEEXT +OBJEXT +CXX +CXXFLAGS +ac_ct_CXX +CPP +INSTALL_PROGRAM +INSTALL_SCRIPT +INSTALL_DATA +LN_S +CXXCPP +GREP +EGREP +SUBDIRS +bindir_program +sbindir_program +includedir_data +VAR_RUN_PREFIX +VAR_RUN_PREFIX_CFLAGS +PAR_PLATFORM +USB_PLATFORM +MLCD_OBJS +MLCD_CFLAGS +MLCD_LFLAGS +DEFINES_CMDLINE +INCLUDE_CMDLINE +LIBRARY_CMDLINE +LIBSNMP_CMDLINE +CUPS_BACKEND_DIR +SANE_BACKEND_DIR +SANE_ETC_DIR +LIBQT_CMDLINE +QT_MOC +LIBOBJS +LTLIBOBJS' +ac_subst_files='' + ac_precious_vars='build_alias +host_alias +target_alias +CC +CFLAGS +LDFLAGS +LIBS +CPPFLAGS +CXX +CXXFLAGS +CCC +CPP +CXXCPP' + # Initialize some variables set by options. ac_init_help= @@ -322,34 +731,48 @@ # and all the variables that are supposed to be based on exec_prefix # by default will actually change. # Use braces instead of parens because sh, perl, etc. also accept them. +# (The list follows the same order as the GNU Coding Standards.) bindir='${exec_prefix}/bin' sbindir='${exec_prefix}/sbin' libexecdir='${exec_prefix}/libexec' -datadir='${prefix}/share' +datarootdir='${prefix}/share' +datadir='${datarootdir}' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' -libdir='${exec_prefix}/lib' includedir='${prefix}/include' oldincludedir='/usr/include' -infodir='${prefix}/info' -mandir='${prefix}/man' +docdir='${datarootdir}/doc/${PACKAGE}' +infodir='${datarootdir}/info' +htmldir='${docdir}' +dvidir='${docdir}' +pdfdir='${docdir}' +psdir='${docdir}' +libdir='${exec_prefix}/lib' +localedir='${datarootdir}/locale' +mandir='${datarootdir}/man' ac_prev= +ac_dashdash= for ac_option do # If the previous option needs an argument, assign it. if test -n "$ac_prev"; then - eval "$ac_prev=\$ac_option" + eval $ac_prev=\$ac_option ac_prev= continue fi - ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'` + case $ac_option in + *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; + *) ac_optarg=yes ;; + esac # Accept the important Cygnus configure options, so we can diagnose typos. - case $ac_option in + case $ac_dashdash$ac_option in + --) + ac_dashdash=yes ;; -bindir | --bindir | --bindi | --bind | --bin | --bi) ac_prev=bindir ;; @@ -371,33 +794,45 @@ --config-cache | -C) cache_file=config.cache ;; - -datadir | --datadir | --datadi | --datad | --data | --dat | --da) + -datadir | --datadir | --datadi | --datad) ac_prev=datadir ;; - -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \ - | --da=*) + -datadir=* | --datadir=* | --datadi=* | --datad=*) datadir=$ac_optarg ;; + -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ + | --dataroo | --dataro | --datar) + ac_prev=datarootdir ;; + -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ + | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) + datarootdir=$ac_optarg ;; + -disable-* | --disable-*) ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. - expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null && + expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid feature name: $ac_feature" >&2 { (exit 1); exit 1; }; } - ac_feature=`echo $ac_feature | sed 's/-/_/g'` - eval "enable_$ac_feature=no" ;; + ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` + eval enable_$ac_feature=no ;; + + -docdir | --docdir | --docdi | --doc | --do) + ac_prev=docdir ;; + -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) + docdir=$ac_optarg ;; + + -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) + ac_prev=dvidir ;; + -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) + dvidir=$ac_optarg ;; -enable-* | --enable-*) ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. - expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null && + expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid feature name: $ac_feature" >&2 { (exit 1); exit 1; }; } - ac_feature=`echo $ac_feature | sed 's/-/_/g'` - case $ac_option in - *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; - *) ac_optarg=yes ;; - esac - eval "enable_$ac_feature='$ac_optarg'" ;; + ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` + eval enable_$ac_feature=\$ac_optarg ;; -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ @@ -424,6 +859,12 @@ -host=* | --host=* | --hos=* | --ho=*) host_alias=$ac_optarg ;; + -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) + ac_prev=htmldir ;; + -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ + | --ht=*) + htmldir=$ac_optarg ;; + -includedir | --includedir | --includedi | --included | --include \ | --includ | --inclu | --incl | --inc) ac_prev=includedir ;; @@ -448,13 +889,16 @@ | --libexe=* | --libex=* | --libe=*) libexecdir=$ac_optarg ;; + -localedir | --localedir | --localedi | --localed | --locale) + ac_prev=localedir ;; + -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) + localedir=$ac_optarg ;; + -localstatedir | --localstatedir | --localstatedi | --localstated \ - | --localstate | --localstat | --localsta | --localst \ - | --locals | --local | --loca | --loc | --lo) + | --localstate | --localstat | --localsta | --localst | --locals) ac_prev=localstatedir ;; -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ - | --localstate=* | --localstat=* | --localsta=* | --localst=* \ - | --locals=* | --local=* | --loca=* | --loc=* | --lo=*) + | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) localstatedir=$ac_optarg ;; -mandir | --mandir | --mandi | --mand | --man | --ma | --m) @@ -519,6 +963,16 @@ | --progr-tra=* | --program-tr=* | --program-t=*) program_transform_name=$ac_optarg ;; + -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) + ac_prev=pdfdir ;; + -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) + pdfdir=$ac_optarg ;; + + -psdir | --psdir | --psdi | --psd | --ps) + ac_prev=psdir ;; + -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) + psdir=$ac_optarg ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) silent=yes ;; @@ -571,24 +1025,20 @@ -with-* | --with-*) ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. - expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null && + expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid package name: $ac_package" >&2 { (exit 1); exit 1; }; } - ac_package=`echo $ac_package| sed 's/-/_/g'` - case $ac_option in - *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; - *) ac_optarg=yes ;; - esac - eval "with_$ac_package='$ac_optarg'" ;; + ac_package=`echo $ac_package | sed 's/[-.]/_/g'` + eval with_$ac_package=\$ac_optarg ;; -without-* | --without-*) ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. - expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null && + expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid package name: $ac_package" >&2 { (exit 1); exit 1; }; } - ac_package=`echo $ac_package | sed 's/-/_/g'` - eval "with_$ac_package=no" ;; + ac_package=`echo $ac_package | sed 's/[-.]/_/g'` + eval with_$ac_package=no ;; --x) # Obsolete; use --with-x. @@ -619,8 +1069,7 @@ expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 { (exit 1); exit 1; }; } - ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` - eval "$ac_envvar='$ac_optarg'" + eval $ac_envvar=\$ac_optarg export $ac_envvar ;; *) @@ -640,27 +1089,19 @@ { (exit 1); exit 1; }; } fi -# Be sure to have absolute paths. -for ac_var in exec_prefix prefix -do - eval ac_val=$`echo $ac_var` - case $ac_val in - [\\/$]* | ?:[\\/]* | NONE | '' ) ;; - *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 - { (exit 1); exit 1; }; };; - esac -done - -# Be sure to have absolute paths. -for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \ - localstatedir libdir includedir oldincludedir infodir mandir +# Be sure to have absolute directory names. +for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ + datadir sysconfdir sharedstatedir localstatedir includedir \ + oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ + libdir localedir mandir do - eval ac_val=$`echo $ac_var` + eval ac_val=\$$ac_var case $ac_val in - [\\/$]* | ?:[\\/]* ) ;; - *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 - { (exit 1); exit 1; }; };; + [\\/$]* | ?:[\\/]* ) continue;; + NONE | '' ) case $ac_var in *prefix ) continue;; esac;; esac + { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 + { (exit 1); exit 1; }; } done # There might be people who depend on the old broken behavior: `$host' @@ -687,83 +1128,76 @@ test "$silent" = yes && exec 6>/dev/null +ac_pwd=`pwd` && test -n "$ac_pwd" && +ac_ls_di=`ls -di .` && +ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || + { echo "$as_me: error: Working directory cannot be determined" >&2 + { (exit 1); exit 1; }; } +test "X$ac_ls_di" = "X$ac_pwd_ls_di" || + { echo "$as_me: error: pwd does not report name of working directory" >&2 + { (exit 1); exit 1; }; } + + # Find the source files, if location was not specified. if test -z "$srcdir"; then ac_srcdir_defaulted=yes - # Try the directory containing this script, then its parent. - ac_confdir=`(dirname "$0") 2>/dev/null || + # Try the directory containing this script, then the parent directory. + ac_confdir=`$as_dirname -- "$0" || $as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$0" : 'X\(//\)[^/]' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| \ - . : '\(.\)' 2>/dev/null || + X"$0" : 'X\(//\)[^/]' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || echo X"$0" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } - /^X\(\/\/\)[^/].*/{ s//\1/; q; } - /^X\(\/\/\)$/{ s//\1/; q; } - /^X\(\/\).*/{ s//\1/; q; } - s/.*/./; q'` + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` srcdir=$ac_confdir - if test ! -r $srcdir/$ac_unique_file; then + if test ! -r "$srcdir/$ac_unique_file"; then srcdir=.. fi else ac_srcdir_defaulted=no fi -if test ! -r $srcdir/$ac_unique_file; then - if test "$ac_srcdir_defaulted" = yes; then - { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2 - { (exit 1); exit 1; }; } - else - { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 +if test ! -r "$srcdir/$ac_unique_file"; then + test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." + { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 { (exit 1); exit 1; }; } - fi fi -srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'` -ac_env_build_alias_set=${build_alias+set} -ac_env_build_alias_value=$build_alias -ac_cv_env_build_alias_set=${build_alias+set} -ac_cv_env_build_alias_value=$build_alias -ac_env_host_alias_set=${host_alias+set} -ac_env_host_alias_value=$host_alias -ac_cv_env_host_alias_set=${host_alias+set} -ac_cv_env_host_alias_value=$host_alias -ac_env_target_alias_set=${target_alias+set} -ac_env_target_alias_value=$target_alias -ac_cv_env_target_alias_set=${target_alias+set} -ac_cv_env_target_alias_value=$target_alias -ac_env_CC_set=${CC+set} -ac_env_CC_value=$CC -ac_cv_env_CC_set=${CC+set} -ac_cv_env_CC_value=$CC -ac_env_CFLAGS_set=${CFLAGS+set} -ac_env_CFLAGS_value=$CFLAGS -ac_cv_env_CFLAGS_set=${CFLAGS+set} -ac_cv_env_CFLAGS_value=$CFLAGS -ac_env_LDFLAGS_set=${LDFLAGS+set} -ac_env_LDFLAGS_value=$LDFLAGS -ac_cv_env_LDFLAGS_set=${LDFLAGS+set} -ac_cv_env_LDFLAGS_value=$LDFLAGS -ac_env_CPPFLAGS_set=${CPPFLAGS+set} -ac_env_CPPFLAGS_value=$CPPFLAGS -ac_cv_env_CPPFLAGS_set=${CPPFLAGS+set} -ac_cv_env_CPPFLAGS_value=$CPPFLAGS -ac_env_CXX_set=${CXX+set} -ac_env_CXX_value=$CXX -ac_cv_env_CXX_set=${CXX+set} -ac_cv_env_CXX_value=$CXX -ac_env_CXXFLAGS_set=${CXXFLAGS+set} -ac_env_CXXFLAGS_value=$CXXFLAGS -ac_cv_env_CXXFLAGS_set=${CXXFLAGS+set} -ac_cv_env_CXXFLAGS_value=$CXXFLAGS -ac_env_CPP_set=${CPP+set} -ac_env_CPP_value=$CPP -ac_cv_env_CPP_set=${CPP+set} -ac_cv_env_CPP_value=$CPP -ac_env_CXXCPP_set=${CXXCPP+set} -ac_env_CXXCPP_value=$CXXCPP -ac_cv_env_CXXCPP_set=${CXXCPP+set} -ac_cv_env_CXXCPP_value=$CXXCPP +ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" +ac_abs_confdir=`( + cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2 + { (exit 1); exit 1; }; } + pwd)` +# When building in place, set srcdir=. +if test "$ac_abs_confdir" = "$ac_pwd"; then + srcdir=. +fi +# Remove unnecessary trailing slashes from srcdir. +# Double slashes in file names in object file debugging info +# mess up M-x gdb in Emacs. +case $srcdir in +*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; +esac +for ac_var in $ac_precious_vars; do + eval ac_env_${ac_var}_set=\${${ac_var}+set} + eval ac_env_${ac_var}_value=\$${ac_var} + eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} + eval ac_cv_env_${ac_var}_value=\$${ac_var} +done # # Report the --help message. @@ -792,14 +1226,11 @@ -n, --no-create do not create output files --srcdir=DIR find the sources in DIR [configure dir or \`..'] -_ACEOF - - cat <<_ACEOF Installation directories: --prefix=PREFIX install architecture-independent files in PREFIX - [$ac_default_prefix] + [$ac_default_prefix] --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX - [PREFIX] + [PREFIX] By default, \`make install' will install all the files in \`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify @@ -812,15 +1243,22 @@ --bindir=DIR user executables [EPREFIX/bin] --sbindir=DIR system admin executables [EPREFIX/sbin] --libexecdir=DIR program executables [EPREFIX/libexec] - --datadir=DIR read-only architecture-independent data [PREFIX/share] --sysconfdir=DIR read-only single-machine data [PREFIX/etc] --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] --localstatedir=DIR modifiable single-machine data [PREFIX/var] --libdir=DIR object code libraries [EPREFIX/lib] --includedir=DIR C header files [PREFIX/include] --oldincludedir=DIR C header files for non-gcc [/usr/include] - --infodir=DIR info documentation [PREFIX/info] - --mandir=DIR man documentation [PREFIX/man] + --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] + --datadir=DIR read-only architecture-independent data [DATAROOTDIR] + --infodir=DIR info documentation [DATAROOTDIR/info] + --localedir=DIR locale-dependent data [DATAROOTDIR/locale] + --mandir=DIR man documentation [DATAROOTDIR/man] + --docdir=DIR documentation root [DATAROOTDIR/doc/PACKAGE] + --htmldir=DIR html documentation [DOCDIR] + --dvidir=DIR dvi documentation [DOCDIR] + --pdfdir=DIR pdf documentation [DOCDIR] + --psdir=DIR ps documentation [DOCDIR] _ACEOF cat <<\_ACEOF @@ -855,8 +1293,9 @@ CFLAGS C compiler flags LDFLAGS linker flags, e.g. -L if you have libraries in a nonstandard directory - CPPFLAGS C/C++ preprocessor flags, e.g. -I if you have - headers in a nonstandard directory + LIBS libraries to pass to the linker, e.g. -l + CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I if + you have headers in a nonstandard directory CXX C++ compiler command CXXFLAGS C++ compiler flags CPP C preprocessor @@ -866,86 +1305,86 @@ it to find libraries and programs with nonstandard names/locations. _ACEOF +ac_status=$? fi if test "$ac_init_help" = "recursive"; then # If there are subdirs, report their specific --help. - ac_popdir=`pwd` for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue - test -d $ac_dir || continue + test -d "$ac_dir" || continue ac_builddir=. -if test "$ac_dir" != .; then +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` - # A "../" for each directory in $ac_dir_suffix. - ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` -else - ac_dir_suffix= ac_top_builddir= -fi + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix case $srcdir in - .) # No --srcdir option. We are building in place. + .) # We are building in place. ac_srcdir=. - if test -z "$ac_top_builddir"; then - ac_top_srcdir=. - else - ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` - fi ;; - [\\/]* | ?:[\\/]* ) # Absolute path. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir ;; - *) # Relative path. - ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_builddir$srcdir ;; -esac -# Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be -# absolute. -ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd` -ac_abs_top_builddir=`cd "$ac_dir" && cd $ac_top_builddir && pwd` -ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd` -ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd` - - cd $ac_dir - # Check for guested configure; otherwise get Cygnus style configure. - if test -f $ac_srcdir/configure.gnu; then - echo - $SHELL $ac_srcdir/configure.gnu --help=recursive - elif test -f $ac_srcdir/configure; then - echo - $SHELL $ac_srcdir/configure --help=recursive - elif test -f $ac_srcdir/configure.ac || - test -f $ac_srcdir/configure.in; then - echo - $ac_configure --help + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + cd "$ac_dir" || { ac_status=$?; continue; } + # Check for guested configure. + if test -f "$ac_srcdir/configure.gnu"; then + echo && + $SHELL "$ac_srcdir/configure.gnu" --help=recursive + elif test -f "$ac_srcdir/configure"; then + echo && + $SHELL "$ac_srcdir/configure" --help=recursive else echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 - fi - cd $ac_popdir + fi || ac_status=$? + cd "$ac_pwd" || { ac_status=$?; break; } done fi -test -n "$ac_init_help" && exit 0 +test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF +configure +generated by GNU Autoconf 2.61 -Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002 -Free Software Foundation, Inc. +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, +2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF - exit 0 + exit fi -exec 5>config.log -cat >&5 <<_ACEOF +cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by $as_me, which was -generated by GNU Autoconf 2.53. Invocation command line was +generated by GNU Autoconf 2.61. Invocation command line was $ $0 $@ _ACEOF +exec 5>>config.log { cat <<_ASUNAME ## --------- ## @@ -964,7 +1403,7 @@ /bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` -hostinfo = `(hostinfo) 2>/dev/null || echo unknown` +/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` /bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` /bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` @@ -978,6 +1417,7 @@ test -z "$as_dir" && as_dir=. echo "PATH: $as_dir" done +IFS=$as_save_IFS } >&5 @@ -993,37 +1433,62 @@ # Keep a trace of the command line. # Strip out --no-create and --no-recursion so they do not pile up. +# Strip out --silent because we don't want to record it for future runs. # Also quote any args containing shell meta-characters. +# Make two passes to allow for proper duplicate-argument suppression. ac_configure_args= -ac_sep= -for ac_arg +ac_configure_args0= +ac_configure_args1= +ac_must_keep_next=false +for ac_pass in 1 2 do - case $ac_arg in - -no-create | --no-create | --no-creat | --no-crea | --no-cre \ - | --no-cr | --no-c | -n ) continue ;; - -no-recursion | --no-recursion | --no-recursio | --no-recursi \ - | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) - continue ;; - *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*) - ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; - esac - case " $ac_configure_args " in - *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. - *) ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'" - ac_sep=" " ;; - esac - # Get rid of the leading space. + for ac_arg + do + case $ac_arg in + -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + continue ;; + *\'*) + ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + case $ac_pass in + 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; + 2) + ac_configure_args1="$ac_configure_args1 '$ac_arg'" + if test $ac_must_keep_next = true; then + ac_must_keep_next=false # Got value, back to normal. + else + case $ac_arg in + *=* | --config-cache | -C | -disable-* | --disable-* \ + | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ + | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ + | -with-* | --with-* | -without-* | --without-* | --x) + case "$ac_configure_args0 " in + "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; + esac + ;; + -* ) ac_must_keep_next=true ;; + esac + fi + ac_configure_args="$ac_configure_args '$ac_arg'" + ;; + esac + done done +$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } +$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; } # When interrupted or exit'd, cleanup temporary files, and complete # config.log. We remove comments because anyway the quotes in there # would cause problems or look ugly. -# WARNING: Be sure not to use single quotes in there, as some shells, -# such as our DU 5.0 friend, will then `close' the trap. +# WARNING: Use '\'' to represent an apostrophe within the trap. +# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. trap 'exit_status=$? # Save into config.log some information that might help in debugging. { echo + cat <<\_ASBOX ## ---------------- ## ## Cache variables. ## @@ -1031,21 +1496,70 @@ _ASBOX echo # The following way of writing the cache mishandles newlines in values, -{ +( + for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 +echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + *) $as_unset $ac_var ;; + esac ;; + esac + done (set) 2>&1 | - case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in - *ac_space=\ *) + case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( + *${as_nl}ac_space=\ *) sed -n \ - "s/'"'"'/'"'"'\\\\'"'"''"'"'/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p" - ;; + "s/'\''/'\''\\\\'\'''\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" + ;; #( *) - sed -n \ - "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; - esac; -} + esac | + sort +) + echo + + cat <<\_ASBOX +## ----------------- ## +## Output variables. ## +## ----------------- ## +_ASBOX + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + echo "$ac_var='\''$ac_val'\''" + done | sort echo + + if test -n "$ac_subst_files"; then + cat <<\_ASBOX +## ------------------- ## +## File substitutions. ## +## ------------------- ## +_ASBOX + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + echo "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + if test -s confdefs.h; then cat <<\_ASBOX ## ----------- ## @@ -1053,26 +1567,24 @@ ## ----------- ## _ASBOX echo - sed "/^$/d" confdefs.h + cat confdefs.h echo fi test "$ac_signal" != 0 && echo "$as_me: caught signal $ac_signal" echo "$as_me: exit $exit_status" } >&5 - rm -f core core.* *.core && - rm -rf conftest* confdefs* conf$$* $ac_clean_files && + rm -f core *.core core.conftest.* && + rm -f -r conftest* confdefs* conf$$* $ac_clean_files && exit $exit_status - ' 0 +' 0 for ac_signal in 1 2 13 15; do trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal done ac_signal=0 # confdefs.h avoids OS command line length limits that DEFS can exceed. -rm -rf conftest* confdefs.h -# AIX cpp loses on an empty file, so make sure it contains at least a newline. -echo >confdefs.h +rm -f -r conftest* confdefs.h # Predefined preprocessor variables. @@ -1103,14 +1615,17 @@ # Let the site file select an alternate cache file if it wants to. # Prefer explicitly selected file to automatically selected ones. -if test -z "$CONFIG_SITE"; then - if test "x$prefix" != xNONE; then - CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site" - else - CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" - fi +if test -n "$CONFIG_SITE"; then + set x "$CONFIG_SITE" +elif test "x$prefix" != xNONE; then + set x "$prefix/share/config.site" "$prefix/etc/config.site" +else + set x "$ac_default_prefix/share/config.site" \ + "$ac_default_prefix/etc/config.site" fi -for ac_site_file in $CONFIG_SITE; do +shift +for ac_site_file +do if test -r "$ac_site_file"; then { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 echo "$as_me: loading site script $ac_site_file" >&6;} @@ -1126,8 +1641,8 @@ { echo "$as_me:$LINENO: loading cache $cache_file" >&5 echo "$as_me: loading cache $cache_file" >&6;} case $cache_file in - [\\/]* | ?:[\\/]* ) . $cache_file;; - *) . ./$cache_file;; + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; esac fi else @@ -1139,12 +1654,11 @@ # Check that the precious variables saved in the cache have kept the same # value. ac_cache_corrupted=false -for ac_var in `(set) 2>&1 | - sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do +for ac_var in $ac_precious_vars; do eval ac_old_set=\$ac_cv_env_${ac_var}_set eval ac_new_set=\$ac_env_${ac_var}_set - eval ac_old_val="\$ac_cv_env_${ac_var}_value" - eval ac_new_val="\$ac_env_${ac_var}_value" + eval ac_old_val=\$ac_cv_env_${ac_var}_value + eval ac_new_val=\$ac_env_${ac_var}_value case $ac_old_set,$ac_new_set in set,) { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 @@ -1157,20 +1671,19 @@ ,);; *) if test "x$ac_old_val" != "x$ac_new_val"; then - { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 + { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} - { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 + { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 echo "$as_me: former value: $ac_old_val" >&2;} - { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 + { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 echo "$as_me: current value: $ac_new_val" >&2;} - ac_cache_corrupted=: + ac_cache_corrupted=: fi;; esac # Pass precious variables to config.status. if test "$ac_new_set" = set; then case $ac_new_val in - *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*) - ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; + *\'*) ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; *) ac_arg=$ac_var=$ac_new_val ;; esac case " $ac_configure_args " in @@ -1187,11 +1700,6 @@ { (exit 1); exit 1; }; } fi -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu @@ -1208,6 +1716,11 @@ +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu @@ -1240,8 +1753,8 @@ if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. set dummy ${ac_tool_prefix}gcc; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else @@ -1254,32 +1767,34 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="${ac_tool_prefix}gcc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done +IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then - echo "$as_me:$LINENO: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6 + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } fi + fi if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_ac_ct_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else @@ -1292,36 +1807,51 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CC="gcc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done +IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then - echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 -echo "${ECHO_T}$ac_ct_CC" >&6 + { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } fi - CC=$ac_ct_CC + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi else CC="$ac_cv_prog_CC" fi if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. set dummy ${ac_tool_prefix}cc; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else @@ -1334,74 +1864,34 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="${ac_tool_prefix}cc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done +IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then - echo "$as_me:$LINENO: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - -fi -if test -z "$ac_cv_prog_CC"; then - ac_ct_CC=$CC - # Extract the first word of "cc", so it can be a program name with args. -set dummy cc; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_CC="cc" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 -echo "${ECHO_T}$ac_ct_CC" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } fi - CC=$ac_ct_CC -else - CC="$ac_cv_prog_CC" -fi + fi fi if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else @@ -1415,7 +1905,7 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue @@ -1426,6 +1916,7 @@ fi done done +IFS=$as_save_IFS if test $ac_prog_rejected = yes; then # We found a bogon in the path, so make sure we never use it. @@ -1436,31 +1927,30 @@ # However, it has the same basename, so the bogon will be chosen # first if we set CC to just the basename; use the full file name. shift - set dummy "$as_dir/$ac_word" ${1+"$@"} - shift - ac_cv_prog_CC="$@" + ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" fi fi fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then - echo "$as_me:$LINENO: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6 + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } fi + fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then - for ac_prog in cl + for ac_prog in cl.exe do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else @@ -1473,36 +1963,38 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done +IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then - echo "$as_me:$LINENO: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6 + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } fi + test -n "$CC" && break done fi if test -z "$CC"; then ac_ct_CC=$CC - for ac_prog in cl + for ac_prog in cl.exe do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_ac_ct_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else @@ -1515,68 +2007,97 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CC="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done +IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then - echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 -echo "${ECHO_T}$ac_ct_CC" >&6 + { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } fi + test -n "$ac_ct_CC" && break done - CC=$ac_ct_CC + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi fi fi -test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH" >&5 -echo "$as_me: error: no acceptable C compiler found in \$PATH" >&2;} +test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&5 +echo "$as_me: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } # Provide some information about the compiler. -echo "$as_me:$LINENO:" \ - "checking for C compiler version" >&5 +echo "$as_me:$LINENO: checking for C compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` -{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 - (eval $ac_compiler --version &5) 2>&5 +{ (ac_try="$ac_compiler --version >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler --version >&5") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } -{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 - (eval $ac_compiler -v &5) 2>&5 +{ (ac_try="$ac_compiler -v >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -v >&5") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } -{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 - (eval $ac_compiler -V &5) 2>&5 +{ (ac_try="$ac_compiler -V >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -V >&5") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif int main () { @@ -1586,62 +2107,107 @@ } _ACEOF ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files a.out a.exe" +ac_clean_files="$ac_clean_files a.out a.exe b.out" # Try to create an executable without -o first, disregard a.out. # It will help us diagnose broken compilers, and finding out an intuition # of exeext. -echo "$as_me:$LINENO: checking for C compiler default output" >&5 -echo $ECHO_N "checking for C compiler default output... $ECHO_C" >&6 +{ echo "$as_me:$LINENO: checking for C compiler default output file name" >&5 +echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6; } ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` -if { (eval echo "$as_me:$LINENO: \"$ac_link_default\"") >&5 - (eval $ac_link_default) 2>&5 +# +# List of possible output files, starting from the most likely. +# The algorithm is not robust to junk in `.', hence go to wildcards (a.*) +# only as a last resort. b.out is created by i960 compilers. +ac_files='a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out' +# +# The IRIX 6 linker writes into existing files which may not be +# executable, retaining their permissions. Remove them first so a +# subsequent execution test works. +ac_rmfiles= +for ac_file in $ac_files +do + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; + * ) ac_rmfiles="$ac_rmfiles $ac_file";; + esac +done +rm -f $ac_rmfiles + +if { (ac_try="$ac_link_default" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link_default") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then - # Find the output, starting from the most likely. This scheme is -# not robust to junk in `.', hence go to wildcards (a.*) only as a last -# resort. - -# Be careful to initialize this variable, since it used to be cached. -# Otherwise an old cache value of `no' led to `EXEEXT = no' in a Makefile. -ac_cv_exeext= -for ac_file in `ls a_out.exe a.exe conftest.exe 2>/dev/null; - ls a.out conftest 2>/dev/null; - ls a.* conftest.* 2>/dev/null`; do + # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. +# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' +# in a Makefile. We should not override ac_cv_exeext if it was cached, +# so that the user can short-circuit this test for compilers unknown to +# Autoconf. +for ac_file in $ac_files '' +do + test -f "$ac_file" || continue case $ac_file in - *.$ac_ext | *.o | *.obj | *.xcoff | *.tds | *.d | *.pdb | *.xSYM ) ;; - a.out ) # We found the default executable, but exeext='' is most - # certainly right. - break;; - *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - # FIXME: I believe we export ac_cv_exeext for Libtool --akim. - export ac_cv_exeext - break;; - * ) break;; + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) + ;; + [ab].out ) + # We found the default executable, but exeext='' is most + # certainly right. + break;; + *.* ) + if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; + then :; else + ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + fi + # We set ac_cv_exeext here because the later test for it is not + # safe: cross compilers may not add the suffix if given an `-o' + # argument, so we may need to know it at that point already. + # Even if this section looks crufty: it has the advantage of + # actually working. + break;; + * ) + break;; esac done +test "$ac_cv_exeext" = no && ac_cv_exeext= + else + ac_file='' +fi + +{ echo "$as_me:$LINENO: result: $ac_file" >&5 +echo "${ECHO_T}$ac_file" >&6; } +if test -z "$ac_file"; then echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -{ { echo "$as_me:$LINENO: error: C compiler cannot create executables" >&5 -echo "$as_me: error: C compiler cannot create executables" >&2;} +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { echo "$as_me:$LINENO: error: C compiler cannot create executables +See \`config.log' for more details." >&5 +echo "$as_me: error: C compiler cannot create executables +See \`config.log' for more details." >&2;} { (exit 77); exit 77; }; } fi ac_exeext=$ac_cv_exeext -echo "$as_me:$LINENO: result: $ac_file" >&5 -echo "${ECHO_T}$ac_file" >&6 -# Check the compiler produces executables we can run. If not, either +# Check that the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. -echo "$as_me:$LINENO: checking whether the C compiler works" >&5 -echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6 +{ echo "$as_me:$LINENO: checking whether the C compiler works" >&5 +echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6; } # FIXME: These cross compiler hacks should be removed for Autoconf 3.0 # If not cross compiling, check that we can run a simple program. if test "$cross_compiling" != yes; then if { ac_try='./$ac_file' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then @@ -1651,29 +2217,36 @@ cross_compiling=yes else { { echo "$as_me:$LINENO: error: cannot run C compiled programs. -If you meant to cross compile, use \`--host'." >&5 +If you meant to cross compile, use \`--host'. +See \`config.log' for more details." >&5 echo "$as_me: error: cannot run C compiled programs. -If you meant to cross compile, use \`--host'." >&2;} +If you meant to cross compile, use \`--host'. +See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi fi fi -echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 +{ echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } -rm -f a.out a.exe conftest$ac_cv_exeext +rm -f a.out a.exe conftest$ac_cv_exeext b.out ac_clean_files=$ac_clean_files_save -# Check the compiler produces executables we can run. If not, either +# Check that the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. -echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 -echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6 -echo "$as_me:$LINENO: result: $cross_compiling" >&5 -echo "${ECHO_T}$cross_compiling" >&6 - -echo "$as_me:$LINENO: checking for suffix of executables" >&5 -echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6 -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 +{ echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 +echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6; } +{ echo "$as_me:$LINENO: result: $cross_compiling" >&5 +echo "${ECHO_T}$cross_compiling" >&6; } + +{ echo "$as_me:$LINENO: checking for suffix of executables" >&5 +echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6; } +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then @@ -1681,43 +2254,42 @@ # catch `conftest.exe'. For instance with Cygwin, `ls conftest' will # work properly (i.e., refer to `conftest.exe'), while it won't with # `rm'. -for ac_file in `(ls conftest.exe; ls conftest; ls conftest.*) 2>/dev/null`; do +for ac_file in conftest.exe conftest conftest.*; do + test -f "$ac_file" || continue case $ac_file in - *.$ac_ext | *.o | *.obj | *.xcoff | *.tds | *.d | *.pdb ) ;; + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - export ac_cv_exeext - break;; + break;; * ) break;; esac done else - { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link" >&5 -echo "$as_me: error: cannot compute suffix of executables: cannot compile and link" >&2;} + { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi rm -f conftest$ac_cv_exeext -echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 -echo "${ECHO_T}$ac_cv_exeext" >&6 +{ echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 +echo "${ECHO_T}$ac_cv_exeext" >&6; } rm -f conftest.$ac_ext EXEEXT=$ac_cv_exeext ac_exeext=$EXEEXT -echo "$as_me:$LINENO: checking for suffix of object files" >&5 -echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6 +{ echo "$as_me:$LINENO: checking for suffix of object files" >&5 +echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6; } if test "${ac_cv_objext+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif int main () { @@ -1727,47 +2299,53 @@ } _ACEOF rm -f conftest.o conftest.obj -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then - for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do + for ac_file in conftest.o conftest.obj conftest.*; do + test -f "$ac_file" || continue; case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb ) ;; + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf ) ;; *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` break;; esac done else echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile" >&5 -echo "$as_me: error: cannot compute suffix of object files: cannot compile" >&2;} +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot compute suffix of object files: cannot compile +See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi rm -f conftest.$ac_cv_objext conftest.$ac_ext fi -echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 -echo "${ECHO_T}$ac_cv_objext" >&6 +{ echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 +echo "${ECHO_T}$ac_cv_objext" >&6; } OBJEXT=$ac_cv_objext ac_objext=$OBJEXT -echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 -echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6 +{ echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 +echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6; } if test "${ac_cv_c_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif int main () { @@ -1780,48 +2358,55 @@ } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then ac_compiler_gnu=yes else echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_compiler_gnu=no +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_compiler_gnu=no fi -rm -f conftest.$ac_objext conftest.$ac_ext + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi -echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 -echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6 +{ echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 +echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; } GCC=`test $ac_compiler_gnu = yes && echo yes` ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS -CFLAGS="-g" -echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 -echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6 +{ echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 +echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; } if test "${ac_cv_prog_cc_g+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" + ac_save_c_werror_flag=$ac_c_werror_flag + ac_c_werror_flag=yes + ac_cv_prog_cc_g=no + CFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif int main () { @@ -1831,27 +2416,118 @@ } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + CFLAGS="" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then ac_cv_prog_cc_g=yes else echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_prog_cc_g=no +sed 's/^/| /' conftest.$ac_ext >&5 + + fi -rm -f conftest.$ac_objext conftest.$ac_ext + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag fi -echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 -echo "${ECHO_T}$ac_cv_prog_cc_g" >&6 +{ echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_g" >&6; } if test "$ac_test_CFLAGS" = set; then CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then @@ -1867,141 +2543,143 @@ CFLAGS= fi fi -# Some people use a C++ compiler to compile C. Since we use `exit', -# in C++ we need to declare it. In case someone uses the same compiler -# for both compiling C and C++ we need to have the C++ compiler decide -# the declaration of exit, since it's the most demanding environment. +{ echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5 +echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; } +if test "${ac_cv_prog_cc_c89+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_prog_cc_c89=no +ac_save_CC=$CC cat >conftest.$ac_ext <<_ACEOF -#ifndef __cplusplus - choke me -#endif +/* confdefs.h. */ _ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - for ac_declaration in \ - ''\ - '#include ' \ - 'extern "C" void std::exit (int) throw (); using std::exit;' \ - 'extern "C" void std::exit (int); using std::exit;' \ - 'extern "C" void exit (int) throw ();' \ - 'extern "C" void exit (int);' \ - 'void exit (int);' -do - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -#include -$ac_declaration -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif -int -main () +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include +/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ +struct buf { int x; }; +FILE * (*rcsopen) (struct buf *, struct stat *, int); +static char *e (p, i) + char **p; + int i; { -exit (42); - ; - return 0; + return p[i]; } -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - : -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -continue -fi -rm -f conftest.$ac_objext conftest.$ac_ext - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -$ac_declaration -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif +static char *f (char * (*g) (char **, int), char **p, ...) +{ + char *s; + va_list v; + va_start (v,p); + s = g (p, va_arg (v,int)); + va_end (v); + return s; +} + +/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has + function prototypes and stuff, but not '\xHH' hex character constants. + These don't provoke an error unfortunately, instead are silently treated + as 'x'. The following induces an error, until -std is added to get + proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an + array size at least. It's necessary to write '\x00'==0 to get something + that's true only with -std. */ +int osf4_cc_array ['\x00' == 0 ? 1 : -1]; + +/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters + inside strings and character constants. */ +#define FOO(x) 'x' +int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; + +int test (int i, double x); +struct s1 {int (*f) (int a);}; +struct s2 {int (*f) (double a);}; +int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); +int argc; +char **argv; int main () { -exit (42); +return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; ; return 0; } _ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 +for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ + -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +do + CC="$ac_save_CC $ac_arg" + rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - break + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_c89=$ac_arg else echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + fi -rm -f conftest.$ac_objext conftest.$ac_ext + +rm -f core conftest.err conftest.$ac_objext + test "x$ac_cv_prog_cc_c89" != "xno" && break done -rm -f conftest* -if test -n "$ac_declaration"; then - echo '#ifdef __cplusplus' >>confdefs.h - echo $ac_declaration >>confdefs.h - echo '#endif' >>confdefs.h -fi +rm -f conftest.$ac_ext +CC=$ac_save_CC -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 fi -rm -f conftest.$ac_objext conftest.$ac_ext +# AC_CACHE_VAL +case "x$ac_cv_prog_cc_c89" in + x) + { echo "$as_me:$LINENO: result: none needed" >&5 +echo "${ECHO_T}none needed" >&6; } ;; + xno) + { echo "$as_me:$LINENO: result: unsupported" >&5 +echo "${ECHO_T}unsupported" >&6; } ;; + *) + CC="$CC $ac_cv_prog_cc_c89" + { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;; +esac + + ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu -ac_ext=cc +ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -if test -n "$ac_tool_prefix"; then - for ac_prog in $CCC g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC +if test -z "$CXX"; then + if test -n "$CCC"; then + CXX=$CCC + else + if test -n "$ac_tool_prefix"; then + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else @@ -2014,36 +2692,38 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done +IFS=$as_save_IFS fi fi CXX=$ac_cv_prog_CXX if test -n "$CXX"; then - echo "$as_me:$LINENO: result: $CXX" >&5 -echo "${ECHO_T}$CXX" >&6 + { echo "$as_me:$LINENO: result: $CXX" >&5 +echo "${ECHO_T}$CXX" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } fi + test -n "$CXX" && break done fi if test -z "$CXX"; then ac_ct_CXX=$CXX - for ac_prog in $CCC g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else @@ -2056,68 +2736,95 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CXX="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done +IFS=$as_save_IFS fi fi ac_ct_CXX=$ac_cv_prog_ac_ct_CXX if test -n "$ac_ct_CXX"; then - echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 -echo "${ECHO_T}$ac_ct_CXX" >&6 + { echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 +echo "${ECHO_T}$ac_ct_CXX" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } fi + test -n "$ac_ct_CXX" && break done -test -n "$ac_ct_CXX" || ac_ct_CXX="g++" - CXX=$ac_ct_CXX + if test "x$ac_ct_CXX" = x; then + CXX="g++" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf@gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CXX=$ac_ct_CXX + fi fi - + fi +fi # Provide some information about the compiler. -echo "$as_me:$LINENO:" \ - "checking for C++ compiler version" >&5 +echo "$as_me:$LINENO: checking for C++ compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` -{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 - (eval $ac_compiler --version &5) 2>&5 +{ (ac_try="$ac_compiler --version >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler --version >&5") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } -{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 - (eval $ac_compiler -v &5) 2>&5 +{ (ac_try="$ac_compiler -v >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -v >&5") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } -{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 - (eval $ac_compiler -V &5) 2>&5 +{ (ac_try="$ac_compiler -V >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -V >&5") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } -echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 -echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6 +{ echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 +echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6; } if test "${ac_cv_cxx_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif int main () { @@ -2130,48 +2837,55 @@ } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then ac_compiler_gnu=yes else echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_compiler_gnu=no +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_compiler_gnu=no fi -rm -f conftest.$ac_objext conftest.$ac_ext + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_cxx_compiler_gnu=$ac_compiler_gnu fi -echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 -echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6 +{ echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 +echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6; } GXX=`test $ac_compiler_gnu = yes && echo yes` ac_test_CXXFLAGS=${CXXFLAGS+set} ac_save_CXXFLAGS=$CXXFLAGS -CXXFLAGS="-g" -echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 -echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6 +{ echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 +echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6; } if test "${ac_cv_prog_cxx_g+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" + ac_save_cxx_werror_flag=$ac_cxx_werror_flag + ac_cxx_werror_flag=yes + ac_cv_prog_cxx_g=no + CXXFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif int main () { @@ -2181,133 +2895,133 @@ } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then ac_cv_prog_cxx_g=yes else echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_prog_cxx_g=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 -echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6 -if test "$ac_test_CXXFLAGS" = set; then - CXXFLAGS=$ac_save_CXXFLAGS -elif test $ac_cv_prog_cxx_g = yes; then - if test "$GXX" = yes; then - CXXFLAGS="-g -O2" - else - CXXFLAGS="-g" - fi -else - if test "$GXX" = yes; then - CXXFLAGS="-O2" - else - CXXFLAGS= - fi -fi -for ac_declaration in \ - ''\ - '#include ' \ - 'extern "C" void std::exit (int) throw (); using std::exit;' \ - 'extern "C" void std::exit (int); using std::exit;' \ - 'extern "C" void exit (int) throw ();' \ - 'extern "C" void exit (int);' \ - 'void exit (int);' -do - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -#include -$ac_declaration -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif +sed 's/^/| /' conftest.$ac_ext >&5 + + CXXFLAGS="" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + int main () { -exit (42); + ; return 0; } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then : else echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -continue -fi -rm -f conftest.$ac_objext conftest.$ac_ext - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -$ac_declaration -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cxx_werror_flag=$ac_save_cxx_werror_flag + CXXFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + int main () { -exit (42); + ; return 0; } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - break + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cxx_g=yes else echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + fi -rm -f conftest.$ac_objext conftest.$ac_ext -done -rm -f conftest* -if test -n "$ac_declaration"; then - echo '#ifdef __cplusplus' >>confdefs.h - echo $ac_declaration >>confdefs.h - echo '#endif' >>confdefs.h + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_cxx_werror_flag=$ac_save_cxx_werror_flag +fi +{ echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 +echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6; } +if test "$ac_test_CXXFLAGS" = set; then + CXXFLAGS=$ac_save_CXXFLAGS +elif test $ac_cv_prog_cxx_g = yes; then + if test "$GXX" = yes; then + CXXFLAGS="-g -O2" + else + CXXFLAGS="-g" + fi +else + if test "$GXX" = yes; then + CXXFLAGS="-O2" + else + CXXFLAGS= + fi +fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -2319,8 +3033,8 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu -echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 -echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6 +{ echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 +echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6; } # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= @@ -2337,73 +3051,87 @@ do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -#include - Syntax error +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error _ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err + grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then : else echo "$as_me: failed program was:" >&5 - cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + # Broken: fails on valid input. continue fi + rm -f conftest.err conftest.$ac_ext - # OK, works on sane cases. Now check whether non-existent headers + # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #include _ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err + grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then # Broken: success on invalid input. continue else echo "$as_me: failed program was:" >&5 - cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + # Passes both tests. ac_preproc_ok=: break fi + rm -f conftest.err conftest.$ac_ext done @@ -2421,80 +3149,94 @@ else ac_cv_prog_CPP=$CPP fi -echo "$as_me:$LINENO: result: $CPP" >&5 -echo "${ECHO_T}$CPP" >&6 +{ echo "$as_me:$LINENO: result: $CPP" >&5 +echo "${ECHO_T}$CPP" >&6; } ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -#include - Syntax error +/* confdefs.h. */ _ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err + grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then : else echo "$as_me: failed program was:" >&5 - cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + # Broken: fails on valid input. continue fi + rm -f conftest.err conftest.$ac_ext - # OK, works on sane cases. Now check whether non-existent headers + # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #include _ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err + grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then # Broken: success on invalid input. continue else echo "$as_me: failed program was:" >&5 - cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + # Passes both tests. ac_preproc_ok=: break fi + rm -f conftest.err conftest.$ac_ext done @@ -2503,8 +3245,10 @@ if $ac_preproc_ok; then : else - { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check" >&5 -echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check" >&2;} + { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details." >&5 +echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi @@ -2515,29 +3259,35 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_aux_dir= -for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do - if test -f $ac_dir/install-sh; then +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 + elif test -f "$ac_dir/install.sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install.sh -c" break - elif test -f $ac_dir/shtool; then + elif test -f "$ac_dir/shtool"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/shtool install -c" break fi done if test -z "$ac_aux_dir"; then - { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&5 -echo "$as_me: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&2;} + { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&5 +echo "$as_me: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&2;} { (exit 1); exit 1; }; } fi -ac_config_guess="$SHELL $ac_aux_dir/config.guess" -ac_config_sub="$SHELL $ac_aux_dir/config.sub" -ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure. + +# These three variables are undocumented and unsupported, +# and are intended to be withdrawn in a future Autoconf release. +# They can cause serious problems if a builder's source tree is in a directory +# whose full name contains unusual characters. +ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. +ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. +ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. + # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or @@ -2550,9 +3300,10 @@ # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag # AFS /usr/afsws/bin/install, which mishandles nonexistent args # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" +# OS/2's system install, which has a completely different semantic # ./install, which can be erroneously created by make from ./install.sh. -echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 -echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6 +{ echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 +echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; } if test -z "$INSTALL"; then if test "${ac_cv_path_install+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -2566,6 +3317,7 @@ case $as_dir/ in ./ | .// | /cC/* | \ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ + ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ /usr/ucb/* ) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. @@ -2573,40 +3325,41 @@ # by default. for ac_prog in ginstall scoinst install; do for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then - if test $ac_prog = install && - grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then - # AIX install. It has an incompatible calling convention. - : - elif test $ac_prog = install && - grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then - # program-specific install script used by HP pwplus--don't use. - : - else - ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" - break 3 - fi - fi + if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then + if test $ac_prog = install && + grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # AIX install. It has an incompatible calling convention. + : + elif test $ac_prog = install && + grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # program-specific install script used by HP pwplus--don't use. + : + else + ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" + break 3 + fi + fi done done ;; esac done +IFS=$as_save_IFS fi if test "${ac_cv_path_install+set}" = set; then INSTALL=$ac_cv_path_install else - # As a last resort, use the slow shell script. We don't cache a - # path for INSTALL within a source directory, because that will + # As a last resort, use the slow shell script. Don't cache a + # value for INSTALL within a source directory, because that will # break other packages using the cache if that directory is - # removed, or if the path is relative. + # removed, or if the value is a relative name. INSTALL=$ac_install_sh fi fi -echo "$as_me:$LINENO: result: $INSTALL" >&5 -echo "${ECHO_T}$INSTALL" >&6 +{ echo "$as_me:$LINENO: result: $INSTALL" >&5 +echo "${ECHO_T}$INSTALL" >&6; } # Use test -z because SunOS4 sh mishandles braces in ${var-val}. # It thinks the first close brace ends the variable substitution. @@ -2616,15 +3369,15 @@ test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' -echo "$as_me:$LINENO: checking whether ln -s works" >&5 -echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6 +{ echo "$as_me:$LINENO: checking whether ln -s works" >&5 +echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6; } LN_S=$as_ln_s if test "$LN_S" = "ln -s"; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } else - echo "$as_me:$LINENO: result: no, using $LN_S" >&5 -echo "${ECHO_T}no, using $LN_S" >&6 + { echo "$as_me:$LINENO: result: no, using $LN_S" >&5 +echo "${ECHO_T}no, using $LN_S" >&6; } fi @@ -2633,11 +3386,11 @@ # Use default or overridden /var/run prefix. VAR_RUN_PREFIX="/var/run" -# Check whether --with-var-run-prefix or --without-var-run-prefix was given. +# Check whether --with-var-run-prefix was given. if test "${with_var_run_prefix+set}" = set; then - withval="$with_var_run_prefix" + withval=$with_var_run_prefix; +fi -fi; if test -n "$with_var_run_prefix" -a "$with_var_run_prefix" != no -a "$with_var_run_prefix" != yes ; then VAR_RUN_PREFIX=$with_var_run_prefix fi @@ -2652,14 +3405,14 @@ unset MLCD_LFLAGS # Check for parallel-port support. -echo "$as_me:$LINENO: checking for user-mode parallel-port support" >&5 -echo $ECHO_N "checking for user-mode parallel-port support... $ECHO_C" >&6 +{ echo "$as_me:$LINENO: checking for user-mode parallel-port support" >&5 +echo $ECHO_N "checking for user-mode parallel-port support... $ECHO_C" >&6; } -# Check whether --with-par or --without-par was given. +# Check whether --with-par was given. if test "${with_par+set}" = set; then - withval="$with_par" + withval=$with_par; +fi -fi; if test "$with_par" = no ; then PAR_PLATFORM=NONE @@ -2672,14 +3425,14 @@ else PAR_PLATFORM=NONE fi -echo "$as_me:$LINENO: result: $PAR_PLATFORM" >&5 -echo "${ECHO_T}$PAR_PLATFORM" >&6 +{ echo "$as_me:$LINENO: result: $PAR_PLATFORM" >&5 +echo "${ECHO_T}$PAR_PLATFORM" >&6; } # Check for broken or missing . if test "$PAR_PLATFORM" = LINUX ; then - echo "$as_me:$LINENO: checking for ability to include in C++ code" >&5 -echo $ECHO_N "checking for ability to include in C++ code... $ECHO_C" >&6 - ac_ext=cc + { echo "$as_me:$LINENO: checking for ability to include in C++ code" >&5 +echo $ECHO_N "checking for ability to include in C++ code... $ECHO_C" >&6; } + ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' @@ -2688,15 +3441,12 @@ cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #include -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif int main () { @@ -2706,26 +3456,33 @@ } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } else echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 - echo "$as_me:$LINENO: checking for ability to include in C code" >&5 -echo $ECHO_N "checking for ability to include in C code... $ECHO_C" >&6 +sed 's/^/| /' conftest.$ac_ext >&5 + + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + { echo "$as_me:$LINENO: checking for ability to include in C code" >&5 +echo $ECHO_N "checking for ability to include in C code... $ECHO_C" >&6; } ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -2733,15 +3490,12 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #include -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif int main () { @@ -2751,36 +3505,47 @@ } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } MLCD_CFLAGS="$MLCD_CFLAGS -DBROKEN_IO_H" MLCD_OBJS="$MLCD_OBJS ioWrapper.o" else echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 +sed 's/^/| /' conftest.$ac_ext >&5 + + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } PAR_PLATFORM=NONE fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' @@ -2798,19 +3563,19 @@ # Check for libusb support (needed by ptal-mlcd for composite USB support # on Linux and for all USB support on non-Linux systems). -# Check whether --with-libusb or --without-libusb was given. +# Check whether --with-libusb was given. if test "${with_libusb+set}" = set; then - withval="$with_libusb" + withval=$with_libusb; +fi -fi; unset LIBUSB_MLCD_CFLAGS unset LIBUSB_MLCD_LFLAGS -echo "$as_me:$LINENO: checking for libusb" >&5 -echo $ECHO_N "checking for libusb... $ECHO_C" >&6 +{ echo "$as_me:$LINENO: checking for libusb" >&5 +echo $ECHO_N "checking for libusb... $ECHO_C" >&6; } if test "$with_libusb" = no ; then - echo "$as_me:$LINENO: result: check not done" >&5 -echo "${ECHO_T}check not done" >&6 + { echo "$as_me:$LINENO: result: check not done" >&5 +echo "${ECHO_T}check not done" >&6; } else if test "$with_libusb" = yes ; then unset with_libusb @@ -2822,8 +3587,8 @@ LIBS="-lusb" for dir in "$with_libusb" "" /usr/local XXXXXXXX ; do if test "$dir" = XXXXXXXX ; then - echo "$as_me:$LINENO: result: no: try \"$0 --with-libusb=\"" >&5 -echo "${ECHO_T}no: try \"$0 --with-libusb=\"" >&6 + { echo "$as_me:$LINENO: result: no: try \"$0 --with-libusb=\"" >&5 +echo "${ECHO_T}no: try \"$0 --with-libusb=\"" >&6; } break fi unset CFLAGS @@ -2836,15 +3601,12 @@ fi cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #include -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif int main () { @@ -2854,27 +3616,37 @@ } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then LIBUSB_MLCD_CFLAGS="-DHAVE_LIBUSB $CFLAGS" LIBUSB_MLCD_LFLAGS="$LDFLAGS $LIBS" - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } break else echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext done CFLAGS=$old_CFLAGS unset old_CFLAGS @@ -2886,19 +3658,19 @@ unset old_LIBS fi if test -z "$LIBUSB_MLCD_CFLAGS" ; then - echo "$as_me:$LINENO: result: *** libusb support will not be installed ***" >&5 -echo "${ECHO_T}*** libusb support will not be installed ***" >&6 + { echo "$as_me:$LINENO: result: *** libusb support will not be installed ***" >&5 +echo "${ECHO_T}*** libusb support will not be installed ***" >&6; } fi # Check for USB support. -echo "$as_me:$LINENO: checking for user-mode USB support" >&5 -echo $ECHO_N "checking for user-mode USB support... $ECHO_C" >&6 +{ echo "$as_me:$LINENO: checking for user-mode USB support" >&5 +echo $ECHO_N "checking for user-mode USB support... $ECHO_C" >&6; } -# Check whether --with-usb or --without-usb was given. +# Check whether --with-usb was given. if test "${with_usb+set}" = set; then - withval="$with_usb" + withval=$with_usb; +fi -fi; if test "$with_usb" = no ; then USB_PLATFORM=NONE @@ -2915,19 +3687,19 @@ MLCD_CFLAGS="$MLCD_CFLAGS $LIBUSB_MLCD_CFLAGS" MLCD_LFLAGS="$MLCD_LFLAGS $LIBUSB_MLCD_LFLAGS" fi -echo "$as_me:$LINENO: result: $USB_PLATFORM" >&5 -echo "${ECHO_T}$USB_PLATFORM" >&6 +{ echo "$as_me:$LINENO: result: $USB_PLATFORM" >&5 +echo "${ECHO_T}$USB_PLATFORM" >&6; } ########################################################################### # Check for SNMP support (needed by ptal-hpjd.c for full JetDirect support). -# Check whether --with-snmp or --without-snmp was given. +# Check whether --with-snmp was given. if test "${with_snmp+set}" = set; then - withval="$with_snmp" + withval=$with_snmp; +fi -fi; unset SNMP_PATH unset HIDE_SNMP if test "$with_snmp" = no ; then @@ -2936,85 +3708,91 @@ SNMP_PATH=$with_snmp fi -echo "$as_me:$LINENO: checking for snmp.h" >&5 -echo $ECHO_N "checking for snmp.h... $ECHO_C" >&6 +{ echo "$as_me:$LINENO: checking for snmp.h" >&5 +echo $ECHO_N "checking for snmp.h... $ECHO_C" >&6; } dirs="$SNMP_PATH /usr/include /usr/include/ucd-snmp /usr/include/*snmp* /usr/local/include /usr/local/include/ucd-snmp /usr/local/include/*snmp* XXXXXXXX" for dir in $dirs ; do if test "$dir" = XXXXXXXX ; then if test -z "$HIDE_SNMP" ; then - echo "$as_me:$LINENO: result: no: try \"$0 --with-snmp=\"" >&5 -echo "${ECHO_T}no: try \"$0 --with-snmp=\"" >&6 + { echo "$as_me:$LINENO: result: no: try \"$0 --with-snmp=\"" >&5 +echo "${ECHO_T}no: try \"$0 --with-snmp=\"" >&6; } else - echo "$as_me:$LINENO: result: check not done" >&5 -echo "${ECHO_T}check not done" >&6 + { echo "$as_me:$LINENO: result: check not done" >&5 +echo "${ECHO_T}check not done" >&6; } fi - echo "$as_me:$LINENO: result: *** Disabling full JetDirect support due to lack of SNMP ***" >&5 -echo "${ECHO_T}*** Disabling full JetDirect support due to lack of SNMP ***" >&6 + { echo "$as_me:$LINENO: result: *** Disabling full JetDirect support due to lack of SNMP ***" >&5 +echo "${ECHO_T}*** Disabling full JetDirect support due to lack of SNMP ***" >&6; } break fi if test -d "$dir" -a -f $dir/snmp.h -a -z "$HIDE_SNMP" ; then - echo "$as_me:$LINENO: result: $dir" >&5 -echo "${ECHO_T}$dir" >&6 + { echo "$as_me:$LINENO: result: $dir" >&5 +echo "${ECHO_T}$dir" >&6; } for lflagDir in "" "-L$dir/../lib" "-L$dir/../../lib" ; do for lflagCrypto in "" "-lcrypto" ; do unset ac_cv_lib_snmp_snmp_open - echo "$as_me:$LINENO: checking for snmp_open in -lsnmp" >&5 -echo $ECHO_N "checking for snmp_open in -lsnmp... $ECHO_C" >&6 + { echo "$as_me:$LINENO: checking for snmp_open in -lsnmp" >&5 +echo $ECHO_N "checking for snmp_open in -lsnmp... $ECHO_C" >&6; } if test "${ac_cv_lib_snmp_snmp_open+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lsnmp $lflagDir $lflagCrypto $LIBS" cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ char snmp_open (); -#ifdef F77_DUMMY_MAIN -# ifdef __cplusplus - extern "C" -# endif - int F77_DUMMY_MAIN() { return 1; } -#endif int main () { -snmp_open (); +return snmp_open (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then ac_cv_lib_snmp_snmp_open=yes else echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_lib_snmp_snmp_open=no +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_snmp_snmp_open=no fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_snmp_snmp_open" >&5 -echo "${ECHO_T}$ac_cv_lib_snmp_snmp_open" >&6 +{ echo "$as_me:$LINENO: result: $ac_cv_lib_snmp_snmp_open" >&5 +echo "${ECHO_T}$ac_cv_lib_snmp_snmp_open" >&6; } if test $ac_cv_lib_snmp_snmp_open = yes; then DEFINES_CMDLINE="$DEFINES_CMDLINE -DHAVE_SNMP" INCLUDE_PATH=$INCLUDE_PATH:$dir @@ -3034,14 +3812,14 @@ # Check for CUPS (needed to install ptal-cups backend). -# Check whether --with-cups-backend or --without-cups-backend was given. +# Check whether --with-cups-backend was given. if test "${with_cups_backend+set}" = set; then - withval="$with_cups_backend" + withval=$with_cups_backend; +fi -fi; -echo "$as_me:$LINENO: checking for CUPS backend directory" >&5 -echo $ECHO_N "checking for CUPS backend directory... $ECHO_C" >&6 +{ echo "$as_me:$LINENO: checking for CUPS backend directory" >&5 +echo $ECHO_N "checking for CUPS backend directory... $ECHO_C" >&6; } unset CUPS_BACKEND_DIR if test "$with_cups_backend" != no ; then unset CUPS_BACKEND_DIR_POSSIBILITIES @@ -3057,18 +3835,18 @@ done fi if test -n "$CUPS_BACKEND_DIR" ; then - echo "$as_me:$LINENO: result: $CUPS_BACKEND_DIR" >&5 -echo "${ECHO_T}$CUPS_BACKEND_DIR" >&6 + { echo "$as_me:$LINENO: result: $CUPS_BACKEND_DIR" >&5 +echo "${ECHO_T}$CUPS_BACKEND_DIR" >&6; } else if test "$with_cups_backend" = no ; then - echo "$as_me:$LINENO: result: check not done" >&5 -echo "${ECHO_T}check not done" >&6 + { echo "$as_me:$LINENO: result: check not done" >&5 +echo "${ECHO_T}check not done" >&6; } else - echo "$as_me:$LINENO: result: no: try \"$0 --with-cups-backend=\"" >&5 -echo "${ECHO_T}no: try \"$0 --with-cups-backend=\"" >&6 + { echo "$as_me:$LINENO: result: no: try \"$0 --with-cups-backend=\"" >&5 +echo "${ECHO_T}no: try \"$0 --with-cups-backend=\"" >&6; } fi - echo "$as_me:$LINENO: result: *** CUPS printing support will not be installed ***" >&5 -echo "${ECHO_T}*** CUPS printing support will not be installed ***" >&6 + { echo "$as_me:$LINENO: result: *** CUPS printing support will not be installed ***" >&5 +echo "${ECHO_T}*** CUPS printing support will not be installed ***" >&6; } fi ########################################################################### @@ -3076,20 +3854,20 @@ # Check for SANE (needed to install libsane-hpoj backend). -# Check whether --with-sane-backend or --without-sane-backend was given. +# Check whether --with-sane-backend was given. if test "${with_sane_backend+set}" = set; then - withval="$with_sane_backend" + withval=$with_sane_backend; +fi -fi; -# Check whether --with-sane-etc or --without-sane-etc was given. +# Check whether --with-sane-etc was given. if test "${with_sane_etc+set}" = set; then - withval="$with_sane_etc" + withval=$with_sane_etc; +fi -fi; -echo "$as_me:$LINENO: checking for SANE backend directory" >&5 -echo $ECHO_N "checking for SANE backend directory... $ECHO_C" >&6 +{ echo "$as_me:$LINENO: checking for SANE backend directory" >&5 +echo $ECHO_N "checking for SANE backend directory... $ECHO_C" >&6; } unset SANE_BACKEND_DIR if test "$with_sane_backend" != no ; then unset SANE_BACKEND_DIR_POSSIBILITIES @@ -3126,20 +3904,20 @@ done fi if test -n "$SANE_BACKEND_DIR" ; then - echo "$as_me:$LINENO: result: $SANE_BACKEND_DIR" >&5 -echo "${ECHO_T}$SANE_BACKEND_DIR" >&6 + { echo "$as_me:$LINENO: result: $SANE_BACKEND_DIR" >&5 +echo "${ECHO_T}$SANE_BACKEND_DIR" >&6; } else if test "$with_sane_backend" = no ; then - echo "$as_me:$LINENO: result: check not done" >&5 -echo "${ECHO_T}check not done" >&6 + { echo "$as_me:$LINENO: result: check not done" >&5 +echo "${ECHO_T}check not done" >&6; } else - echo "$as_me:$LINENO: result: no: try \"$0 --with-sane-backend=\"" >&5 -echo "${ECHO_T}no: try \"$0 --with-sane-backend=\"" >&6 + { echo "$as_me:$LINENO: result: no: try \"$0 --with-sane-backend=\"" >&5 +echo "${ECHO_T}no: try \"$0 --with-sane-backend=\"" >&6; } fi fi -echo "$as_me:$LINENO: checking for SANE configuration files" >&5 -echo $ECHO_N "checking for SANE configuration files... $ECHO_C" >&6 +{ echo "$as_me:$LINENO: checking for SANE configuration files" >&5 +echo $ECHO_N "checking for SANE configuration files... $ECHO_C" >&6; } unset SANE_ETC_DIR if test "$with_sane_etc" != no ; then unset SANE_ETC_DIR_POSSIBILITIES @@ -3169,15 +3947,15 @@ done fi if test -n "$SANE_ETC_DIR" ; then - echo "$as_me:$LINENO: result: $SANE_ETC_DIR" >&5 -echo "${ECHO_T}$SANE_ETC_DIR" >&6 + { echo "$as_me:$LINENO: result: $SANE_ETC_DIR" >&5 +echo "${ECHO_T}$SANE_ETC_DIR" >&6; } else if test "$with_sane_etc" = no ; then - echo "$as_me:$LINENO: result: check not done" >&5 -echo "${ECHO_T}check not done" >&6 + { echo "$as_me:$LINENO: result: check not done" >&5 +echo "${ECHO_T}check not done" >&6; } else - echo "$as_me:$LINENO: result: no: try \"$0 --with-sane-etc=\"" >&5 -echo "${ECHO_T}no: try \"$0 --with-sane-etc=\"" >&6 + { echo "$as_me:$LINENO: result: no: try \"$0 --with-sane-etc=\"" >&5 +echo "${ECHO_T}no: try \"$0 --with-sane-etc=\"" >&6; } fi fi @@ -3185,31 +3963,31 @@ unset SANE_BACKEND_DIR unset SANE_ETC_DIR - echo "$as_me:$LINENO: result: *** SANE scanning support will not be installed ***" >&5 -echo "${ECHO_T}*** SANE scanning support will not be installed ***" >&6 + { echo "$as_me:$LINENO: result: *** SANE scanning support will not be installed ***" >&5 +echo "${ECHO_T}*** SANE scanning support will not be installed ***" >&6; } fi ########################################################################### # Check for QT support (needed by xojpanel). -# Check whether --with-qt or --without-qt was given. +# Check whether --with-qt was given. if test "${with_qt+set}" = set; then - withval="$with_qt" + withval=$with_qt; +fi -fi; -# Check whether --with-qt-moc or --without-qt-moc was given. +# Check whether --with-qt-moc was given. if test "${with_qt_moc+set}" = set; then - withval="$with_qt_moc" + withval=$with_qt_moc; +fi -fi; -# Check whether --with-qt-includes or --without-qt-includes was given. +# Check whether --with-qt-includes was given. if test "${with_qt_includes+set}" = set; then - withval="$with_qt_includes" + withval=$with_qt_includes; +fi -fi; # Check for command-line switch "--without-qt". unset HIDE_QT @@ -3235,8 +4013,8 @@ fi # Search for the first matching possibility. -echo "$as_me:$LINENO: checking for QT" >&5 -echo $ECHO_N "checking for QT... $ECHO_C" >&6 +{ echo "$as_me:$LINENO: checking for QT" >&5 +echo $ECHO_N "checking for QT... $ECHO_C" >&6; } unset QT_PATH for dir in $QT_POSSIBILITIES ; do # We've already done the "-d" test above. @@ -3301,18 +4079,18 @@ # echo "next" done if test -n "$QT_PATH" ; then - echo "$as_me:$LINENO: result: $QT_PATH" >&5 -echo "${ECHO_T}$QT_PATH" >&6 + { echo "$as_me:$LINENO: result: $QT_PATH" >&5 +echo "${ECHO_T}$QT_PATH" >&6; } else if test -n "$HIDE_QT" ; then - echo "$as_me:$LINENO: result: check not done" >&5 -echo "${ECHO_T}check not done" >&6 + { echo "$as_me:$LINENO: result: check not done" >&5 +echo "${ECHO_T}check not done" >&6; } else - echo "$as_me:$LINENO: result: no: try \"$0 --with-qt(-moc|-includes)=\"" >&5 -echo "${ECHO_T}no: try \"$0 --with-qt(-moc|-includes)=\"" >&6 + { echo "$as_me:$LINENO: result: no: try \"$0 --with-qt(-moc|-includes)=\"" >&5 +echo "${ECHO_T}no: try \"$0 --with-qt(-moc|-includes)=\"" >&6; } fi - echo "$as_me:$LINENO: result: *** Disabling xojpanel support due to lack of QT ***" >&5 -echo "${ECHO_T}*** Disabling xojpanel support due to lack of QT ***" >&6 + { echo "$as_me:$LINENO: result: *** Disabling xojpanel support due to lack of QT ***" >&5 +echo "${ECHO_T}*** Disabling xojpanel support due to lack of QT ***" >&6; } fi ########################################################################### @@ -3320,20 +4098,20 @@ # TODO: Add any newly-included header files here. # Check system header files. -ac_ext=cc +ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu export C_INCLUDE_PATH=$INCLUDE_PATH -ac_ext=cc +ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5 -echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6 +{ echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5 +echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6; } if test -z "$CXXCPP"; then if test "${ac_cv_prog_CXXCPP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -3346,73 +4124,87 @@ do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -#include - Syntax error +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error _ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err + grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_cxx_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then : else echo "$as_me: failed program was:" >&5 - cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + # Broken: fails on valid input. continue fi + rm -f conftest.err conftest.$ac_ext - # OK, works on sane cases. Now check whether non-existent headers + # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #include _ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err + grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_cxx_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then # Broken: success on invalid input. continue else echo "$as_me: failed program was:" >&5 - cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + # Passes both tests. ac_preproc_ok=: break fi + rm -f conftest.err conftest.$ac_ext done @@ -3430,80 +4222,94 @@ else ac_cv_prog_CXXCPP=$CXXCPP fi -echo "$as_me:$LINENO: result: $CXXCPP" >&5 -echo "${ECHO_T}$CXXCPP" >&6 +{ echo "$as_me:$LINENO: result: $CXXCPP" >&5 +echo "${ECHO_T}$CXXCPP" >&6; } ac_preproc_ok=false for ac_cxx_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -#include - Syntax error +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error _ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err + grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_cxx_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then : else echo "$as_me: failed program was:" >&5 - cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + # Broken: fails on valid input. continue fi + rm -f conftest.err conftest.$ac_ext - # OK, works on sane cases. Now check whether non-existent headers + # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #include _ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err + grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_cxx_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then # Broken: success on invalid input. continue else echo "$as_me: failed program was:" >&5 - cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + # Passes both tests. ac_preproc_ok=: break fi + rm -f conftest.err conftest.$ac_ext done @@ -3512,67 +4318,246 @@ if $ac_preproc_ok; then : else - { { echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check" >&5 -echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check" >&2;} + { { echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check +See \`config.log' for more details." >&5 +echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check +See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi -ac_ext=cc +ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -echo "$as_me:$LINENO: checking for ANSI C header files" >&5 -echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6 -if test "${ac_cv_header_stdc+set}" = set; then +{ echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5 +echo $ECHO_N "checking for grep that handles long lines and -e... $ECHO_C" >&6; } +if test "${ac_cv_path_GREP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -#include -#include -#include -#include - -_ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_cxx_preproc_warn_flag - else - ac_cpp_err= - fi + # Extract the first word of "grep ggrep" to use in msg output +if test -z "$GREP"; then +set dummy grep ggrep; ac_prog_name=$2 +if test "${ac_cv_path_GREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else - ac_cpp_err=yes + ac_path_GREP_found=false +# Loop through the user's path and test for each of PROGNAME-LIST +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in grep ggrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue + # Check for GNU ac_path_GREP and select it if it is found. + # Check for GNU $ac_path_GREP +case `"$ac_path_GREP" --version 2>&1` in +*GNU*) + ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; +*) + ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + echo 'GREP' >> "conftest.nl" + "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + ac_count=`expr $ac_count + 1` + if test $ac_count -gt ${ac_path_GREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_GREP="$ac_path_GREP" + ac_path_GREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + + $ac_path_GREP_found && break 3 + done +done + +done +IFS=$as_save_IFS + + fi -if test -z "$ac_cpp_err"; then - ac_cv_header_stdc=yes + +GREP="$ac_cv_path_GREP" +if test -z "$GREP"; then + { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 +echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} + { (exit 1); exit 1; }; } +fi + else - echo "$as_me: failed program was:" >&5 - cat conftest.$ac_ext >&5 - ac_cv_header_stdc=no + ac_cv_path_GREP=$GREP fi -rm -f conftest.err conftest.$ac_ext -if test $ac_cv_header_stdc = yes; then - # SunOS 4.x string.h does not declare mem*, contrary to ANSI. - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -#include -_ACEOF +fi +{ echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5 +echo "${ECHO_T}$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ echo "$as_me:$LINENO: checking for egrep" >&5 +echo $ECHO_N "checking for egrep... $ECHO_C" >&6; } +if test "${ac_cv_path_EGREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 + then ac_cv_path_EGREP="$GREP -E" + else + # Extract the first word of "egrep" to use in msg output +if test -z "$EGREP"; then +set dummy egrep; ac_prog_name=$2 +if test "${ac_cv_path_EGREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_path_EGREP_found=false +# Loop through the user's path and test for each of PROGNAME-LIST +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in egrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue + # Check for GNU ac_path_EGREP and select it if it is found. + # Check for GNU $ac_path_EGREP +case `"$ac_path_EGREP" --version 2>&1` in +*GNU*) + ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; +*) + ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + echo 'EGREP' >> "conftest.nl" + "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + ac_count=`expr $ac_count + 1` + if test $ac_count -gt ${ac_path_EGREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_EGREP="$ac_path_EGREP" + ac_path_EGREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + + $ac_path_EGREP_found && break 3 + done +done + +done +IFS=$as_save_IFS + + +fi + +EGREP="$ac_cv_path_EGREP" +if test -z "$EGREP"; then + { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 +echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} + { (exit 1); exit 1; }; } +fi + +else + ac_cv_path_EGREP=$EGREP +fi + + + fi +fi +{ echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5 +echo "${ECHO_T}$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + +{ echo "$as_me:$LINENO: checking for ANSI C header files" >&5 +echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; } +if test "${ac_cv_header_stdc+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_header_stdc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_header_stdc=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +if test $ac_cv_header_stdc = yes; then + # SunOS 4.x string.h does not declare mem*, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "memchr" >/dev/null 2>&1; then + $EGREP "memchr" >/dev/null 2>&1; then : else ac_cv_header_stdc=no @@ -3584,13 +4569,16 @@ if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "free" >/dev/null 2>&1; then + $EGREP "free" >/dev/null 2>&1; then : else ac_cv_header_stdc=no @@ -3605,16 +4593,21 @@ : else cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #include +#include #if ((' ' & 0x0FF) == 0x020) # define ISLOWER(c) ('a' <= (c) && (c) <= 'z') # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) #else -# define ISLOWER(c) (('a' <= (c) && (c) <= 'i') \ - || ('j' <= (c) && (c) <= 'r') \ - || ('s' <= (c) && (c) <= 'z')) +# define ISLOWER(c) \ + (('a' <= (c) && (c) <= 'i') \ + || ('j' <= (c) && (c) <= 'r') \ + || ('s' <= (c) && (c) <= 'z')) # define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) #endif @@ -3625,19 +4618,28 @@ int i; for (i = 0; i < 256; i++) if (XOR (islower (i), ISLOWER (i)) - || toupper (i) != TOUPPER (i)) - exit(2); - exit (0); + || toupper (i) != TOUPPER (i)) + return 2; + return 0; } _ACEOF rm -f conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then @@ -3645,16 +4647,19 @@ else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ( exit $ac_status ) ac_cv_header_stdc=no fi -rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi + + fi fi -echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 -echo "${ECHO_T}$ac_cv_header_stdc" >&6 +{ echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 +echo "${ECHO_T}$ac_cv_header_stdc" >&6; } if test $ac_cv_header_stdc = yes; then cat >>confdefs.h <<\_ACEOF @@ -3674,43 +4679,54 @@ for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ - inttypes.h stdint.h unistd.h + inttypes.h stdint.h unistd.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then +{ echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then eval "$as_ac_Header=yes" else echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -eval "$as_ac_Header=no" +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_Header=no" fi -rm -f conftest.$ac_objext conftest.$ac_ext + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 @@ -3764,105 +4780,131 @@ do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + { echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } else # Is the header compilable? -echo "$as_me:$LINENO: checking $ac_header usability" >&5 -echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 +{ echo "$as_me:$LINENO: checking $ac_header usability" >&5 +echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then + (exit $ac_status); } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_header_compiler=no +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no fi -rm -f conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? -echo "$as_me:$LINENO: checking $ac_header presence" >&5 -echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 +{ echo "$as_me:$LINENO: checking $ac_header presence" >&5 +echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #include <$ac_header> _ACEOF -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err + grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_cxx_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then + (exit $ac_status); } >/dev/null && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 - cat conftest.$ac_ext >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + ac_header_preproc=no fi + rm -f conftest.err conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 +{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? -case $ac_header_compiler:$ac_header_preproc in - yes:no ) +case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in + yes:no: ) { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;};; - no:yes ) + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;};; +echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + + ;; esac -echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then +{ echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - eval "$as_ac_Header=$ac_header_preproc" + eval "$as_ac_Header=\$ac_header_preproc" fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } fi if test `eval echo '${'$as_ac_Header'}'` = yes; then @@ -3871,8 +4913,8 @@ _ACEOF else - echo "$as_me:$LINENO: result: Warning: A required header file could not be found!" >&5 -echo "${ECHO_T}Warning: A required header file could not be found!" >&6 + { echo "$as_me:$LINENO: result: Warning: A required header file could not be found!" >&5 +echo "${ECHO_T}Warning: A required header file could not be found!" >&6; } fi done @@ -3911,6 +4953,7 @@ ac_config_files="$ac_config_files Makefile lib/hpojip/Makefile lib/ptal/Makefile lib/sane/Makefile mlcd/Makefile apps/cmdline/Makefile apps/xojpanel/Makefile scripts/ptal-cups scripts/ptal-init" + cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure @@ -3921,7 +4964,7 @@ # config.status only pays attention to the cache file if you give it # the --recheck option to rerun configure. # -# `ac_cv_env_foo' variables (set or unset) will be overriden when +# `ac_cv_env_foo' variables (set or unset) will be overridden when # loading this file, other *unset* `ac_cv_foo' will be assigned the # following values. @@ -3929,39 +4972,58 @@ # The following way of writing the cache mishandles newlines in values, # but we know of no workaround that is simple, portable, and efficient. -# So, don't put newlines in cache variables' values. +# So, we kill variables containing newlines. # 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. -{ +( + for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 +echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + *) $as_unset $ac_var ;; + esac ;; + esac + done + (set) 2>&1 | - case `(ac_space=' '; set | grep ac_space) 2>&1` in - *ac_space=\ *) + case $as_nl`(ac_space=' '; set) 2>&1` in #( + *${as_nl}ac_space=\ *) # `set' does not quote correctly, so add quotes (double-quote # substitution turns \\\\ into \\, and sed turns \\ into \). sed -n \ - "s/'/'\\\\''/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" - ;; + "s/'/'\\\\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" + ;; #( *) # `set' quotes correctly as required by POSIX, so do not add quotes. - sed -n \ - "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; - esac; -} | + esac | + sort +) | sed ' + /^ac_cv_env_/b end t clear - : clear + :clear s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ t end - /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ - : end' >>confcache -if cmp -s $cache_file confcache; then :; else - if test -w $cache_file; then - test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file" + s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ + :end' >>confcache +if diff "$cache_file" confcache >/dev/null 2>&1; then :; else + if test -w "$cache_file"; then + test "x$cache_file" != "x/dev/null" && + { echo "$as_me:$LINENO: updating cache $cache_file" >&5 +echo "$as_me: updating cache $cache_file" >&6;} cat confcache >$cache_file else - echo "not updating unwritable cache $cache_file" + { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5 +echo "$as_me: not updating unwritable cache $cache_file" >&6;} fi fi rm -f confcache @@ -3970,52 +5032,52 @@ # Let make expand exec_prefix. test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' -# VPATH may cause trouble with some makes, so we remove $(srcdir), -# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and -# trailing colons and then remove the whole line if VPATH becomes empty -# (actually we leave an empty line to preserve line numbers). -if test "x$srcdir" = x.; then - ac_vpsub='/^[ ]*VPATH[ ]*=/{ -s/:*\$(srcdir):*/:/; -s/:*\${srcdir}:*/:/; -s/:*@srcdir@:*/:/; -s/^\([^=]*=[ ]*\):*/\1/; -s/:*$//; -s/^[^=]*=[ ]*$//; -}' -fi - # Transform confdefs.h into DEFS. # Protect against shell expansion while executing Makefile rules. # Protect against Makefile macro expansion. # # If the first sed substitution is executed (which looks for macros that -# take arguments), then we branch to the quote section. Otherwise, +# take arguments), then branch to the quote section. Otherwise, # look for a macro that doesn't take arguments. -cat >confdef2opt.sed <<\_ACEOF +ac_script=' t clear -: clear -s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\),-D\1=\2,g +:clear +s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g t quote -s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\),-D\1=\2,g +s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g t quote -d -: quote -s,[ `~#$^&*(){}\\|;'"<>?],\\&,g -s,\[,\\&,g -s,\],\\&,g -s,\$,$$,g -p -_ACEOF -# We use echo to avoid assuming a particular line-breaking character. -# The extra dot is to prevent the shell from consuming trailing -# line-breaks from the sub-command output. A line-break within -# single-quotes doesn't work because, if this script is created in a -# platform that uses two characters for line-breaks (e.g., DOS), tr -# would break. -ac_LF_and_DOT=`echo; echo .` -DEFS=`sed -n -f confdef2opt.sed confdefs.h | tr "$ac_LF_and_DOT" ' .'` -rm -f confdef2opt.sed +b any +:quote +s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g +s/\[/\\&/g +s/\]/\\&/g +s/\$/$$/g +H +:any +${ + g + s/^\n// + s/\n/ /g + p +} +' +DEFS=`sed -n "$ac_script" confdefs.h` + + +ac_libobjs= +ac_ltlibobjs= +for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue + # 1. Remove the extension, and $U if already installed. + ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' + ac_i=`echo "$ac_i" | sed "$ac_script"` + # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR + # will be set to the directory where LIBOBJS objects are built. + ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext" + ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo' +done +LIBOBJS=$ac_libobjs + +LTLIBOBJS=$ac_ltlibobjs @@ -4032,70 +5094,36 @@ # configure, is in config.log if it exists. debug=false +ac_cs_recheck=false +ac_cs_silent=false SHELL=\${CONFIG_SHELL-$SHELL} _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF - ## --------------------- ## ## M4sh Initialization. ## ## --------------------- ## -# Be Bourne compatible +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: -elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then - set -o posix -fi - -# NLS nuisances. -# Support unset when possible. -if (FOO=FOO; unset FOO) >/dev/null 2>&1; then - as_unset=unset + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST else - as_unset=false + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + fi -(set +x; test -n "`(LANG=C; export LANG) 2>&1`") && - { $as_unset LANG || test "${LANG+set}" != set; } || - { LANG=C; export LANG; } -(set +x; test -n "`(LC_ALL=C; export LC_ALL) 2>&1`") && - { $as_unset LC_ALL || test "${LC_ALL+set}" != set; } || - { LC_ALL=C; export LC_ALL; } -(set +x; test -n "`(LC_TIME=C; export LC_TIME) 2>&1`") && - { $as_unset LC_TIME || test "${LC_TIME+set}" != set; } || - { LC_TIME=C; export LC_TIME; } -(set +x; test -n "`(LC_CTYPE=C; export LC_CTYPE) 2>&1`") && - { $as_unset LC_CTYPE || test "${LC_CTYPE+set}" != set; } || - { LC_CTYPE=C; export LC_CTYPE; } -(set +x; test -n "`(LANGUAGE=C; export LANGUAGE) 2>&1`") && - { $as_unset LANGUAGE || test "${LANGUAGE+set}" != set; } || - { LANGUAGE=C; export LANGUAGE; } -(set +x; test -n "`(LC_COLLATE=C; export LC_COLLATE) 2>&1`") && - { $as_unset LC_COLLATE || test "${LC_COLLATE+set}" != set; } || - { LC_COLLATE=C; export LC_COLLATE; } -(set +x; test -n "`(LC_NUMERIC=C; export LC_NUMERIC) 2>&1`") && - { $as_unset LC_NUMERIC || test "${LC_NUMERIC+set}" != set; } || - { LC_NUMERIC=C; export LC_NUMERIC; } -(set +x; test -n "`(LC_MESSAGES=C; export LC_MESSAGES) 2>&1`") && - { $as_unset LC_MESSAGES || test "${LC_MESSAGES+set}" != set; } || - { LC_MESSAGES=C; export LC_MESSAGES; } -# Name of the executable. -as_me=`(basename "$0") 2>/dev/null || -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)$' \| \ - . : '\(.\)' 2>/dev/null || -echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; } - /^X\/\(\/\/\)$/{ s//\1/; q; } - /^X\/\(\/\).*/{ s//\1/; q; } - s/.*/./; q'` -# PATH needs CR, and LINENO needs CR and PATH. +# PATH needs CR # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' @@ -4105,170 +5133,255 @@ # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then - echo "#! /bin/sh" >conftest.sh - echo "exit 0" >>conftest.sh - chmod +x conftest.sh - if (PATH=".;."; conftest.sh) >/dev/null 2>&1; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi - rm -f conftest.sh + rm -f conf$$.sh fi +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi - as_lineno_1=$LINENO - as_lineno_2=$LINENO - as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` - test "x$as_lineno_1" != "x$as_lineno_2" && - test "x$as_lineno_3" = "x$as_lineno_2" || { - # Find who we are. Look in the path if we contain no path at all - # relative or not. - case $0 in - *[\\/]* ) as_myself=$0 ;; - *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +as_nl=' +' +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +case $0 in + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done +IFS=$as_save_IFS - ;; - esac - # We did not find ourselves, most probably we were run as `sh COMMAND' - # in which case we are not to be found in the path. - if test "x$as_myself" = x; then - as_myself=$0 - fi - if test ! -f "$as_myself"; then - { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5 -echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;} - { (exit 1); exit 1; }; } - fi - case $CONFIG_SHELL in - '') - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + { (exit 1); exit 1; } +fi + +# Work around bugs in pre-3.0 UWIN ksh. +for as_var in ENV MAIL MAILPATH +do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +for as_var in \ + LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ + LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ + LC_TELEPHONE LC_TIME do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for as_base in sh bash ksh sh5; do - case $as_dir in - /*) - if ("$as_dir/$as_base" -c ' + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then + eval $as_var=C; export $as_var + else + ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + fi +done + +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + + +# Name of the executable. +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# CDPATH. +$as_unset CDPATH + + + as_lineno_1=$LINENO as_lineno_2=$LINENO - as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` test "x$as_lineno_1" != "x$as_lineno_2" && - test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then - CONFIG_SHELL=$as_dir/$as_base - export CONFIG_SHELL - exec "$CONFIG_SHELL" "$0" ${1+"$@"} - fi;; - esac - done -done -;; - esac + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { # Create $as_me.lineno as a copy of $as_myself, but with $LINENO # uniformly replaced by the line number. The first 'sed' inserts a - # line-number line before each line; the second 'sed' does the real - # work. The second script uses 'N' to pair each line-number line - # with the numbered line, and appends trailing '-' during - # substitution so that $LINENO is not a special case at line end. + # line-number line after each line using $LINENO; the second 'sed' + # does the real work. The second script uses 'N' to pair each + # line-number line with the line containing $LINENO, and appends + # trailing '-' during substitution so that $LINENO is not a special + # case at line end. # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the - # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-) - sed '=' <$as_myself | + # scripts with optimization help from Paolo Bonzini. Blame Lee + # E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno N - s,$,-, - : loop - s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ t loop - s,-$,, - s,^['$as_cr_digits']*\n,, + s/-\n.*// ' >$as_me.lineno && - chmod +x $as_me.lineno || - { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5 -echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;} + chmod +x "$as_me.lineno" || + { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 { (exit 1); exit 1; }; } # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the - # original and so on. Autoconf is especially sensible to this). - . ./$as_me.lineno + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" # Exit status is that of the last command. exit } -case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in - *c*,-n*) ECHO_N= ECHO_C=' -' ECHO_T=' ' ;; - *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; - *) ECHO_N= ECHO_C='\c' ECHO_T= ;; +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in +-n*) + case `echo 'x\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + *) ECHO_C='\c';; + esac;; +*) + ECHO_N='-n';; esac -if expr a : '\(a\)' >/dev/null 2>&1; then +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir +fi echo >conf$$.file if ln -s conf$$.file conf$$ 2>/dev/null; then - # We could just check for DJGPP; but this test a) works b) is more generic - # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). - if test -f conf$$.exe; then - # Don't use ln at all; we don't have any links + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -p'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -p' - else - as_ln_s='ln -s' - fi elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -p' fi -rm -f conf$$ conf$$.exe conf$$.file +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null -as_executable_p="test -f" +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +if test -x / >/dev/null 2>&1; then + as_test_x='test -x' +else + if ls -dL / >/dev/null 2>&1; then + as_ls_L_option=L + else + as_ls_L_option= + fi + as_test_x=' + eval sh -c '\'' + if test -d "$1"; then + test -d "$1/."; + else + case $1 in + -*)set "./$1";; + esac; + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in + ???[sx]*):;;*)false;;esac;fi + '\'' sh + ' +fi +as_executable_p=$as_test_x # Sed expression to map a string onto a valid CPP name. -as_tr_cpp="sed y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g" +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. -as_tr_sh="sed y%*+%pp%;s%[^_$as_cr_alnum]%_%g" - - -# IFS -# We need space, tab and new line, in precisely that order. -as_nl=' -' -IFS=" $as_nl" +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" -# CDPATH. -$as_unset CDPATH || test "${CDPATH+set}" != set || { CDPATH=$PATH_SEPARATOR; export CDPATH; } exec 6>&1 -# Open the log real soon, to keep \$[0] and so on meaningful, and to +# Save the log message, to keep $[0] and so on meaningful, and to # report actual input values of CONFIG_FILES etc. instead of their -# values after options handling. Logging --version etc. is OK. -exec 5>>config.log -{ - echo - sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX -## Running $as_me. ## -_ASBOX -} >&5 -cat >&5 <<_CSEOF - +# values after options handling. +ac_log=" This file was extended by $as_me, which was -generated by GNU Autoconf 2.53. Invocation command line was +generated by GNU Autoconf 2.61. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS @@ -4276,30 +5389,18 @@ CONFIG_COMMANDS = $CONFIG_COMMANDS $ $0 $@ -_CSEOF -echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5 -echo >&5 +on `(hostname || uname -n) 2>/dev/null | sed 1q` +" + _ACEOF +cat >>$CONFIG_STATUS <<_ACEOF # Files that config.status was made for. -if test -n "$ac_config_files"; then - echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS -fi +config_files="$ac_config_files" -if test -n "$ac_config_headers"; then - echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS -fi - -if test -n "$ac_config_links"; then - echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS -fi - -if test -n "$ac_config_commands"; then - echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS -fi +_ACEOF cat >>$CONFIG_STATUS <<\_ACEOF - ac_cs_usage="\ \`$as_me' instantiates files from templates according to the current configuration. @@ -4307,30 +5408,32 @@ Usage: $0 [OPTIONS] [FILE]... -h, --help print this help, then exit - -V, --version print version number, then exit + -V, --version print version number and configuration settings, then exit + -q, --quiet do not print progress messages -d, --debug don't remove temporary files --recheck update $as_me by reconfiguring in the same conditions --file=FILE[:TEMPLATE] - instantiate the configuration file FILE + instantiate the configuration file FILE Configuration files: $config_files Report bugs to ." -_ACEOF +_ACEOF cat >>$CONFIG_STATUS <<_ACEOF ac_cs_version="\\ config.status -configured by $0, generated by GNU Autoconf 2.53, - with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\" +configured by $0, generated by GNU Autoconf 2.61, + with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" -Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001 -Free Software Foundation, Inc. +Copyright (C) 2006 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." -srcdir=$srcdir -INSTALL="$INSTALL" + +ac_pwd='$ac_pwd' +srcdir='$srcdir' +INSTALL='$INSTALL' _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF @@ -4341,88 +5444,101 @@ do case $1 in --*=*) - ac_option=`expr "x$1" : 'x\([^=]*\)='` - ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'` - shift - set dummy "$ac_option" "$ac_optarg" ${1+"$@"} - shift + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` + ac_shift=: + ;; + *) + ac_option=$1 + ac_optarg=$2 + ac_shift=shift ;; - -*);; - *) # This is not an option, so the user has probably given explicit - # arguments. - ac_need_defaults=false;; esac - case $1 in + case $ac_option in # Handling of the options. -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) - echo "running $SHELL $0 " $ac_configure_args " --no-create --no-recursion" - exec $SHELL $0 $ac_configure_args --no-create --no-recursion ;; -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF - --version | --vers* | -V ) - echo "$ac_cs_version"; exit 0 ;; - --he | --h) - # Conflict between --help and --header - { { echo "$as_me:$LINENO: error: ambiguous option: $1 -Try \`$0 --help' for more information." >&5 -echo "$as_me: error: ambiguous option: $1 -Try \`$0 --help' for more information." >&2;} - { (exit 1); exit 1; }; };; - --help | --hel | -h ) - echo "$ac_cs_usage"; exit 0 ;; - --debug | --d* | -d ) + ac_cs_recheck=: ;; + --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) + echo "$ac_cs_version"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) debug=: ;; --file | --fil | --fi | --f ) - shift - CONFIG_FILES="$CONFIG_FILES $1" - ac_need_defaults=false;; - --header | --heade | --head | --hea ) - shift - CONFIG_HEADERS="$CONFIG_HEADERS $1" + $ac_shift + CONFIG_FILES="$CONFIG_FILES $ac_optarg" ac_need_defaults=false;; + --he | --h | --help | --hel | -h ) + echo "$ac_cs_usage"; exit ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil | --si | --s) + ac_cs_silent=: ;; # This is an error. - -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1 -Try \`$0 --help' for more information." >&5 -echo "$as_me: error: unrecognized option: $1 -Try \`$0 --help' for more information." >&2;} + -*) { echo "$as_me: error: unrecognized option: $1 +Try \`$0 --help' for more information." >&2 { (exit 1); exit 1; }; } ;; - *) ac_config_targets="$ac_config_targets $1" ;; + *) ac_config_targets="$ac_config_targets $1" + ac_need_defaults=false ;; esac shift done -_ACEOF +ac_configure_extra_args= +if $ac_cs_silent; then + exec 6>/dev/null + ac_configure_extra_args="$ac_configure_extra_args --silent" +fi +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF +if \$ac_cs_recheck; then + echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6 + CONFIG_SHELL=$SHELL + export CONFIG_SHELL + exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion +fi +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF +exec 5>>config.log +{ + echo + sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX +## Running $as_me. ## +_ASBOX + echo "$ac_log" +} >&5 +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF +_ACEOF cat >>$CONFIG_STATUS <<\_ACEOF + +# Handling of arguments. for ac_config_target in $ac_config_targets do - case "$ac_config_target" in - # Handling of arguments. - "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;; - "lib/hpojip/Makefile" ) CONFIG_FILES="$CONFIG_FILES lib/hpojip/Makefile" ;; - "lib/ptal/Makefile" ) CONFIG_FILES="$CONFIG_FILES lib/ptal/Makefile" ;; - "lib/sane/Makefile" ) CONFIG_FILES="$CONFIG_FILES lib/sane/Makefile" ;; - "mlcd/Makefile" ) CONFIG_FILES="$CONFIG_FILES mlcd/Makefile" ;; - "apps/cmdline/Makefile" ) CONFIG_FILES="$CONFIG_FILES apps/cmdline/Makefile" ;; - "apps/xojpanel/Makefile" ) CONFIG_FILES="$CONFIG_FILES apps/xojpanel/Makefile" ;; - "scripts/ptal-cups" ) CONFIG_FILES="$CONFIG_FILES scripts/ptal-cups" ;; - "scripts/ptal-init" ) CONFIG_FILES="$CONFIG_FILES scripts/ptal-init" ;; + case $ac_config_target in + "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; + "lib/hpojip/Makefile") CONFIG_FILES="$CONFIG_FILES lib/hpojip/Makefile" ;; + "lib/ptal/Makefile") CONFIG_FILES="$CONFIG_FILES lib/ptal/Makefile" ;; + "lib/sane/Makefile") CONFIG_FILES="$CONFIG_FILES lib/sane/Makefile" ;; + "mlcd/Makefile") CONFIG_FILES="$CONFIG_FILES mlcd/Makefile" ;; + "apps/cmdline/Makefile") CONFIG_FILES="$CONFIG_FILES apps/cmdline/Makefile" ;; + "apps/xojpanel/Makefile") CONFIG_FILES="$CONFIG_FILES apps/xojpanel/Makefile" ;; + "scripts/ptal-cups") CONFIG_FILES="$CONFIG_FILES scripts/ptal-cups" ;; + "scripts/ptal-init") CONFIG_FILES="$CONFIG_FILES scripts/ptal-init" ;; + *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 echo "$as_me: error: invalid argument: $ac_config_target" >&2;} { (exit 1); exit 1; }; };; esac done + # If the user did not use the arguments to specify the items to instantiate, # then the envvar interface is used. Set only those that are not. # We use the long form for the default assignment because of an extremely @@ -4431,280 +5547,392 @@ test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files fi -# Create a temporary directory, and hook for its removal unless debugging. +# Have a temporary directory for convenience. Make it in the build tree +# simply because there is no reason against having it here, and in addition, +# creating and moving files from /tmp can sometimes cause problems. +# Hook for its removal unless debugging. +# Note that there is a small window in which the directory will not be cleaned: +# after its creation but before its name has been assigned to `$tmp'. $debug || { - trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0 + tmp= + trap 'exit_status=$? + { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status +' 0 trap '{ (exit 1); exit 1; }' 1 2 13 15 } - # Create a (secure) tmp directory for tmp files. -: ${TMPDIR=/tmp} + { - tmp=`(umask 077 && mktemp -d -q "$TMPDIR/csXXXXXX") 2>/dev/null` && + tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" } || { - tmp=$TMPDIR/cs$$-$RANDOM - (umask 077 && mkdir $tmp) + tmp=./conf$$-$RANDOM + (umask 077 && mkdir "$tmp") } || { - echo "$me: cannot create a temporary directory in $TMPDIR" >&2 + echo "$me: cannot create a temporary directory in ." >&2 { (exit 1); exit 1; } } -_ACEOF - -cat >>$CONFIG_STATUS <<_ACEOF - # -# CONFIG_FILES section. +# Set up the sed scripts for CONFIG_FILES section. # # No need to generate the scripts if there are no CONFIG_FILES. # This happens for instance when ./config.status config.h -if test -n "\$CONFIG_FILES"; then - # Protect against being on the right side of a sed subst in config.status. - sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g; - s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF -s,@SHELL@,$SHELL,;t t -s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t -s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t -s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t -s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t -s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t -s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t -s,@exec_prefix@,$exec_prefix,;t t -s,@prefix@,$prefix,;t t -s,@program_transform_name@,$program_transform_name,;t t -s,@bindir@,$bindir,;t t -s,@sbindir@,$sbindir,;t t -s,@libexecdir@,$libexecdir,;t t -s,@datadir@,$datadir,;t t -s,@sysconfdir@,$sysconfdir,;t t -s,@sharedstatedir@,$sharedstatedir,;t t -s,@localstatedir@,$localstatedir,;t t -s,@libdir@,$libdir,;t t -s,@includedir@,$includedir,;t t -s,@oldincludedir@,$oldincludedir,;t t -s,@infodir@,$infodir,;t t -s,@mandir@,$mandir,;t t -s,@build_alias@,$build_alias,;t t -s,@host_alias@,$host_alias,;t t -s,@target_alias@,$target_alias,;t t -s,@DEFS@,$DEFS,;t t -s,@ECHO_C@,$ECHO_C,;t t -s,@ECHO_N@,$ECHO_N,;t t -s,@ECHO_T@,$ECHO_T,;t t -s,@LIBS@,$LIBS,;t t -s,@CC@,$CC,;t t -s,@CFLAGS@,$CFLAGS,;t t -s,@LDFLAGS@,$LDFLAGS,;t t -s,@CPPFLAGS@,$CPPFLAGS,;t t -s,@ac_ct_CC@,$ac_ct_CC,;t t -s,@EXEEXT@,$EXEEXT,;t t -s,@OBJEXT@,$OBJEXT,;t t -s,@CXX@,$CXX,;t t -s,@CXXFLAGS@,$CXXFLAGS,;t t -s,@ac_ct_CXX@,$ac_ct_CXX,;t t -s,@CPP@,$CPP,;t t -s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t -s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t -s,@INSTALL_DATA@,$INSTALL_DATA,;t t -s,@LN_S@,$LN_S,;t t -s,@CXXCPP@,$CXXCPP,;t t -s,@SUBDIRS@,$SUBDIRS,;t t -s,@bindir_program@,$bindir_program,;t t -s,@sbindir_program@,$sbindir_program,;t t -s,@includedir_data@,$includedir_data,;t t -s,@VAR_RUN_PREFIX@,$VAR_RUN_PREFIX,;t t -s,@VAR_RUN_PREFIX_CFLAGS@,$VAR_RUN_PREFIX_CFLAGS,;t t -s,@PAR_PLATFORM@,$PAR_PLATFORM,;t t -s,@USB_PLATFORM@,$USB_PLATFORM,;t t -s,@MLCD_OBJS@,$MLCD_OBJS,;t t -s,@MLCD_CFLAGS@,$MLCD_CFLAGS,;t t -s,@MLCD_LFLAGS@,$MLCD_LFLAGS,;t t -s,@DEFINES_CMDLINE@,$DEFINES_CMDLINE,;t t -s,@INCLUDE_CMDLINE@,$INCLUDE_CMDLINE,;t t -s,@LIBRARY_CMDLINE@,$LIBRARY_CMDLINE,;t t -s,@LIBSNMP_CMDLINE@,$LIBSNMP_CMDLINE,;t t -s,@CUPS_BACKEND_DIR@,$CUPS_BACKEND_DIR,;t t -s,@SANE_BACKEND_DIR@,$SANE_BACKEND_DIR,;t t -s,@SANE_ETC_DIR@,$SANE_ETC_DIR,;t t -s,@LIBQT_CMDLINE@,$LIBQT_CMDLINE,;t t -s,@QT_MOC@,$QT_MOC,;t t -CEOF - -_ACEOF - - cat >>$CONFIG_STATUS <<\_ACEOF - # Split the substitutions into bite-sized pieces for seds with - # small command number limits, like on Digital OSF/1 and HP-UX. - ac_max_sed_lines=48 - ac_sed_frag=1 # Number of current file. - ac_beg=1 # First line for current file. - ac_end=$ac_max_sed_lines # Line after last line for current file. - ac_more_lines=: - ac_sed_cmds= - while $ac_more_lines; do - if test $ac_beg -gt 1; then - sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag - else - sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag - fi - if test ! -s $tmp/subs.frag; then - ac_more_lines=false - else - # The purpose of the label and of the branching condition is to - # speed up the sed processing (if there are no `@' at all, there - # is no need to browse any of the substitutions). - # These are the two extra sed commands mentioned above. - (echo ':t - /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed - if test -z "$ac_sed_cmds"; then - ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed" - else - ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed" - fi - ac_sed_frag=`expr $ac_sed_frag + 1` - ac_beg=$ac_end - ac_end=`expr $ac_end + $ac_max_sed_lines` - fi - done - if test -z "$ac_sed_cmds"; then - ac_sed_cmds=cat +if test -n "$CONFIG_FILES"; then + +_ACEOF + + + +ac_delim='%!_!# ' +for ac_last_try in false false false false false :; do + cat >conf$$subs.sed <<_ACEOF +SHELL!$SHELL$ac_delim +PATH_SEPARATOR!$PATH_SEPARATOR$ac_delim +PACKAGE_NAME!$PACKAGE_NAME$ac_delim +PACKAGE_TARNAME!$PACKAGE_TARNAME$ac_delim +PACKAGE_VERSION!$PACKAGE_VERSION$ac_delim +PACKAGE_STRING!$PACKAGE_STRING$ac_delim +PACKAGE_BUGREPORT!$PACKAGE_BUGREPORT$ac_delim +exec_prefix!$exec_prefix$ac_delim +prefix!$prefix$ac_delim +program_transform_name!$program_transform_name$ac_delim +bindir!$bindir$ac_delim +sbindir!$sbindir$ac_delim +libexecdir!$libexecdir$ac_delim +datarootdir!$datarootdir$ac_delim +datadir!$datadir$ac_delim +sysconfdir!$sysconfdir$ac_delim +sharedstatedir!$sharedstatedir$ac_delim +localstatedir!$localstatedir$ac_delim +includedir!$includedir$ac_delim +oldincludedir!$oldincludedir$ac_delim +docdir!$docdir$ac_delim +infodir!$infodir$ac_delim +htmldir!$htmldir$ac_delim +dvidir!$dvidir$ac_delim +pdfdir!$pdfdir$ac_delim +psdir!$psdir$ac_delim +libdir!$libdir$ac_delim +localedir!$localedir$ac_delim +mandir!$mandir$ac_delim +DEFS!$DEFS$ac_delim +ECHO_C!$ECHO_C$ac_delim +ECHO_N!$ECHO_N$ac_delim +ECHO_T!$ECHO_T$ac_delim +LIBS!$LIBS$ac_delim +build_alias!$build_alias$ac_delim +host_alias!$host_alias$ac_delim +target_alias!$target_alias$ac_delim +CC!$CC$ac_delim +CFLAGS!$CFLAGS$ac_delim +LDFLAGS!$LDFLAGS$ac_delim +CPPFLAGS!$CPPFLAGS$ac_delim +ac_ct_CC!$ac_ct_CC$ac_delim +EXEEXT!$EXEEXT$ac_delim +OBJEXT!$OBJEXT$ac_delim +CXX!$CXX$ac_delim +CXXFLAGS!$CXXFLAGS$ac_delim +ac_ct_CXX!$ac_ct_CXX$ac_delim +CPP!$CPP$ac_delim +INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim +INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim +INSTALL_DATA!$INSTALL_DATA$ac_delim +LN_S!$LN_S$ac_delim +CXXCPP!$CXXCPP$ac_delim +GREP!$GREP$ac_delim +EGREP!$EGREP$ac_delim +SUBDIRS!$SUBDIRS$ac_delim +bindir_program!$bindir_program$ac_delim +sbindir_program!$sbindir_program$ac_delim +includedir_data!$includedir_data$ac_delim +VAR_RUN_PREFIX!$VAR_RUN_PREFIX$ac_delim +VAR_RUN_PREFIX_CFLAGS!$VAR_RUN_PREFIX_CFLAGS$ac_delim +PAR_PLATFORM!$PAR_PLATFORM$ac_delim +USB_PLATFORM!$USB_PLATFORM$ac_delim +MLCD_OBJS!$MLCD_OBJS$ac_delim +MLCD_CFLAGS!$MLCD_CFLAGS$ac_delim +MLCD_LFLAGS!$MLCD_LFLAGS$ac_delim +DEFINES_CMDLINE!$DEFINES_CMDLINE$ac_delim +INCLUDE_CMDLINE!$INCLUDE_CMDLINE$ac_delim +LIBRARY_CMDLINE!$LIBRARY_CMDLINE$ac_delim +LIBSNMP_CMDLINE!$LIBSNMP_CMDLINE$ac_delim +CUPS_BACKEND_DIR!$CUPS_BACKEND_DIR$ac_delim +SANE_BACKEND_DIR!$SANE_BACKEND_DIR$ac_delim +SANE_ETC_DIR!$SANE_ETC_DIR$ac_delim +LIBQT_CMDLINE!$LIBQT_CMDLINE$ac_delim +QT_MOC!$QT_MOC$ac_delim +LIBOBJS!$LIBOBJS$ac_delim +LTLIBOBJS!$LTLIBOBJS$ac_delim +_ACEOF + + if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 77; then + break + elif $ac_last_try; then + { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 +echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} + { (exit 1); exit 1; }; } + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi -fi # test -n "$CONFIG_FILES" +done + +ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` +if test -n "$ac_eof"; then + ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` + ac_eof=`expr $ac_eof + 1` +fi +cat >>$CONFIG_STATUS <<_ACEOF +cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b end +_ACEOF +sed ' +s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g +s/^/s,@/; s/!/@,|#_!!_#|/ +:n +t n +s/'"$ac_delim"'$/,g/; t +s/$/\\/; p +N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n +' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF +:end +s/|#_!!_#|//g +CEOF$ac_eof _ACEOF + + +# VPATH may cause trouble with some makes, so we remove $(srcdir), +# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and +# trailing colons and then remove the whole line if VPATH becomes empty +# (actually we leave an empty line to preserve line numbers). +if test "x$srcdir" = x.; then + ac_vpsub='/^[ ]*VPATH[ ]*=/{ +s/:*\$(srcdir):*/:/ +s/:*\${srcdir}:*/:/ +s/:*@srcdir@:*/:/ +s/^\([^=]*=[ ]*\):*/\1/ +s/:*$// +s/^[^=]*=[ ]*$// +}' +fi + cat >>$CONFIG_STATUS <<\_ACEOF -for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue - # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". - case $ac_file in - - | *:- | *:-:* ) # input from stdin - cat >$tmp/stdin - ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` - ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; - *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` - ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; - * ) ac_file_in=$ac_file.in ;; +fi # test -n "$CONFIG_FILES" + + +for ac_tag in :F $CONFIG_FILES +do + case $ac_tag in + :[FHLC]) ac_mode=$ac_tag; continue;; esac + case $ac_mode$ac_tag in + :[FHL]*:*);; + :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5 +echo "$as_me: error: Invalid tag $ac_tag." >&2;} + { (exit 1); exit 1; }; };; + :[FH]-) ac_tag=-:-;; + :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; + esac + ac_save_IFS=$IFS + IFS=: + set x $ac_tag + IFS=$ac_save_IFS + shift + ac_file=$1 + shift - # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories. - ac_dir=`(dirname "$ac_file") 2>/dev/null || -$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$ac_file" : 'X\(//\)[^/]' \| \ - X"$ac_file" : 'X\(//\)$' \| \ - X"$ac_file" : 'X\(/\)' \| \ - . : '\(.\)' 2>/dev/null || -echo X"$ac_file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } - /^X\(\/\/\)[^/].*/{ s//\1/; q; } - /^X\(\/\/\)$/{ s//\1/; q; } - /^X\(\/\).*/{ s//\1/; q; } - s/.*/./; q'` - { case "$ac_dir" in - [\\/]* | ?:[\\/]* ) as_incr_dir=;; - *) as_incr_dir=.;; -esac -as_dummy="$ac_dir" -for as_mkdir_dir in `IFS='/\\'; set X $as_dummy; shift; echo "$@"`; do - case $as_mkdir_dir in - # Skip DOS drivespec - ?:) as_incr_dir=$as_mkdir_dir ;; - *) - as_incr_dir=$as_incr_dir/$as_mkdir_dir - test -d "$as_incr_dir" || - mkdir "$as_incr_dir" || - { { echo "$as_me:$LINENO: error: cannot create \"$ac_dir\"" >&5 -echo "$as_me: error: cannot create \"$ac_dir\"" >&2;} - { (exit 1); exit 1; }; } + case $ac_mode in + :L) ac_source=$1;; + :[FH]) + ac_file_inputs= + for ac_f + do + case $ac_f in + -) ac_f="$tmp/stdin";; + *) # Look for the file first in the build tree, then in the source tree + # (if the path is not absolute). The absolute path cannot be DOS-style, + # because $ac_f cannot contain `:'. + test -f "$ac_f" || + case $ac_f in + [\\/$]*) false;; + *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; + esac || + { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5 +echo "$as_me: error: cannot find input file: $ac_f" >&2;} + { (exit 1); exit 1; }; };; + esac + ac_file_inputs="$ac_file_inputs $ac_f" + done + + # Let's still pretend it is `configure' which instantiates (i.e., don't + # use $as_me), people would be surprised to read: + # /* config.h. Generated by config.status. */ + configure_input="Generated from "`IFS=: + echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure." + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { echo "$as_me:$LINENO: creating $ac_file" >&5 +echo "$as_me: creating $ac_file" >&6;} + fi + + case $ac_tag in + *:-:* | *:-) cat >"$tmp/stdin";; + esac ;; esac -done; } + ac_dir=`$as_dirname -- "$ac_file" || +$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || +echo X"$ac_file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + { as_dir="$ac_dir" + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 +echo "$as_me: error: cannot create directory $as_dir" >&2;} + { (exit 1); exit 1; }; }; } ac_builddir=. -if test "$ac_dir" != .; then +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` - # A "../" for each directory in $ac_dir_suffix. - ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` -else - ac_dir_suffix= ac_top_builddir= -fi + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix case $srcdir in - .) # No --srcdir option. We are building in place. + .) # We are building in place. ac_srcdir=. - if test -z "$ac_top_builddir"; then - ac_top_srcdir=. - else - ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` - fi ;; - [\\/]* | ?:[\\/]* ) # Absolute path. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir ;; - *) # Relative path. - ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_builddir$srcdir ;; -esac -# Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be -# absolute. -ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd` -ac_abs_top_builddir=`cd "$ac_dir" && cd $ac_top_builddir && pwd` -ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd` -ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd` + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + case $ac_mode in + :F) + # + # CONFIG_FILE + # case $INSTALL in [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; - *) ac_INSTALL=$ac_top_builddir$INSTALL ;; + *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; esac +_ACEOF - if test x"$ac_file" != x-; then - { echo "$as_me:$LINENO: creating $ac_file" >&5 -echo "$as_me: creating $ac_file" >&6;} - rm -f "$ac_file" - fi - # Let's still pretend it is `configure' which instantiates (i.e., don't - # use $as_me), people would be surprised to read: - # /* config.h. Generated by config.status. */ - if test x"$ac_file" = x-; then - configure_input= - else - configure_input="$ac_file. " - fi - configure_input=$configure_input"Generated from `echo $ac_file_in | - sed 's,.*/,,'` by configure." - - # First look for the input files in the build tree, otherwise in the - # src tree. - ac_file_inputs=`IFS=: - for f in $ac_file_in; do - case $f in - -) echo $tmp/stdin ;; - [\\/$]*) - # Absolute (can't be DOS-style, as IFS=:) - test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 -echo "$as_me: error: cannot find input file: $f" >&2;} - { (exit 1); exit 1; }; } - echo $f;; - *) # Relative - if test -f "$f"; then - # Build tree - echo $f - elif test -f "$srcdir/$f"; then - # Source tree - echo $srcdir/$f - else - # /dev/null tree - { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 -echo "$as_me: error: cannot find input file: $f" >&2;} - { (exit 1); exit 1; }; } - fi;; - esac - done` || { (exit 1); exit 1; } +cat >>$CONFIG_STATUS <<\_ACEOF +# If the template does not know about datarootdir, expand it. +# FIXME: This hack should be removed a few years after 2.60. +ac_datarootdir_hack=; ac_datarootdir_seen= + +case `sed -n '/datarootdir/ { + p + q +} +/@datadir@/p +/@docdir@/p +/@infodir@/p +/@localedir@/p +/@mandir@/p +' $ac_file_inputs` in +*datarootdir*) ac_datarootdir_seen=yes;; +*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) + { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF + ac_datarootdir_hack=' + s&@datadir@&$datadir&g + s&@docdir@&$docdir&g + s&@infodir@&$infodir&g + s&@localedir@&$localedir&g + s&@mandir@&$mandir&g + s&\\\${datarootdir}&$datarootdir&g' ;; +esac _ACEOF + +# Neutralize VPATH when `$srcdir' = `.'. +# Shell code in configure.ac might set extrasub. +# FIXME: do we really want to maintain this feature? cat >>$CONFIG_STATUS <<_ACEOF sed "$ac_vpsub $extrasub @@ -4712,29 +5940,40 @@ cat >>$CONFIG_STATUS <<\_ACEOF :t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b -s,@configure_input@,$configure_input,;t t -s,@srcdir@,$ac_srcdir,;t t -s,@abs_srcdir@,$ac_abs_srcdir,;t t -s,@top_srcdir@,$ac_top_srcdir,;t t -s,@abs_top_srcdir@,$ac_abs_top_srcdir,;t t -s,@builddir@,$ac_builddir,;t t -s,@abs_builddir@,$ac_abs_builddir,;t t -s,@top_builddir@,$ac_top_builddir,;t t -s,@abs_top_builddir@,$ac_abs_top_builddir,;t t -s,@INSTALL@,$ac_INSTALL,;t t -" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out - rm -f $tmp/stdin - if test x"$ac_file" != x-; then - mv $tmp/out $ac_file - else - cat $tmp/out - rm -f $tmp/out - fi +s&@configure_input@&$configure_input&;t t +s&@top_builddir@&$ac_top_builddir_sub&;t t +s&@srcdir@&$ac_srcdir&;t t +s&@abs_srcdir@&$ac_abs_srcdir&;t t +s&@top_srcdir@&$ac_top_srcdir&;t t +s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t +s&@builddir@&$ac_builddir&;t t +s&@abs_builddir@&$ac_abs_builddir&;t t +s&@abs_top_builddir@&$ac_abs_top_builddir&;t t +s&@INSTALL@&$ac_INSTALL&;t t +$ac_datarootdir_hack +" $ac_file_inputs | sed -f "$tmp/subs-1.sed" >$tmp/out + +test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && + { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && + { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && + { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined." >&5 +echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined." >&2;} -done -_ACEOF + rm -f "$tmp/stdin" + case $ac_file in + -) cat "$tmp/out"; rm -f "$tmp/out";; + *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;; + esac + ;; + + + + esac + +done # for ac_tag -cat >>$CONFIG_STATUS <<\_ACEOF { (exit 0); exit 0; } _ACEOF @@ -4752,8 +5991,11 @@ # need to make the FD available again. if test "$no_create" != yes; then ac_cs_success=: + ac_config_status_args= + test "$silent" = yes && + ac_config_status_args="$ac_config_status_args --quiet" exec 5>/dev/null - $SHELL $CONFIG_STATUS || ac_cs_success=false + $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false exec 5>>config.log # Use ||, not &&, to avoid exiting from the if with $? = 1, which # would make configure fail if this is the last instruction. --- hpoj-0.91.orig/ChangeLog +++ hpoj-0.91/ChangeLog @@ -0,0 +1,2430 @@ +2002-08-08 14:39 paschal + + * doc/: libsane-hpoj.html, setup-scan-details.html: Documentation + updates. + +2002-08-08 11:59 paschal + + * doc/: info-devname.html, libsane-hpoj.html, ptal-connect.html, + ptal-init.html, ptal-pml.html, ptal-printd.html, + setup-build-details.html, setup-build.html, + setup-connect-details.html, setup-photo-details.html, + setup-print-details.html, setup-print.html, + setup-scan-details.html, setup-scan.html: Documentation updates. + +2002-08-08 08:26 paschal + + * configure, configure.in: Backed out "-L/lib" change. + +2002-08-08 08:17 paschal + + * configure, configure.in: Added "-L/lib" to lflagDir to try to + find -lcrypto. + +2002-08-07 08:24 paschal + + * configure, configure.in: Changed to look for libsane-dll.so*, + because libsane-dll.so doesn't necessarily exist. + +2002-08-06 07:33 paschal + + * apps/xojpanel/officejet.png, apps/xojpanel/officejet.xpm, + apps/xojpanel/xojpanel.kdelnk, doc/xojpanel.html: At Joe Piolunek's + suggestion: Removed references to his webpage. Removed unused + files: officejet.png, officejet.xpm, and xojpanel.kdelnk. + +2002-08-06 07:12 paschal + + * scripts/ptal-init.in: Removed "[SK][0-9]+" prefix from $basename, + to make sure lock file is created properly. + +2002-07-30 10:22 paschal + + * lib/sane/: hpoj.c, hpoj.h: Renamed divideAndShift to + hpojDivideAndShift and added "static" keyword. + +2002-07-30 07:20 paschal + + * scripts/ptal-init.in: Changed to display full path to script in + most messages. + +2002-07-29 19:37 paschal + + * doc/info-protocols.html: Documentation updates. + +2002-07-29 19:06 paschal + + * doc/info-protocols.html: Documentation updates. + +2002-07-29 18:59 paschal + + * doc/setup-build.html: Documentation updates. + +2002-07-29 17:56 paschal + + * scripts/ptal-init.in: Cleaned up file globbing to deal with + subtle quirks in the way Perl's "glob" and "<>" constructs handle + list and scalar contexts. Also added some commented code for + further debugging of globbing if needed. + +2002-07-28 21:56 paschal + + * doc/: info-devname.html, setup-build-details.html, + setup-build.html, setup-photo-details.html, + setup-scan-details.html: Documentation updates. + +2002-07-27 11:46 paschal + + * doc/libsane-hpoj.html, lib/sane/hpoj.c, lib/sane/hpoj.h: Added + "contrast" option for PML scanners. + +2002-07-27 11:44 paschal + + * scripts/ptal-init.in: Clarified prompt for different device name + *suffix* after finding a new device. + +2002-07-27 09:33 paschal + + * lib/sane/hpoj.c: To prevent xscanimage from segfaulting when + advanced options are hidden, removed SANE_CAP_ADVANCED from tl-x, + tl-y, br-x and br-y option descriptors, and added SANE_CAP_ADVANCED + to GROUP_ADVANCED and GROUP_GEOMETRY. + +2002-07-27 09:01 paschal + + * doc/setup-photo-details.html: Fixed more broken links to + ptal-photod.html. + +2002-07-26 22:06 paschal + + * doc/: index.html, ptal-init.html, setup-build-details.html, + setup-build.html, setup-connect-details.html, setup-connect.html, + setup-print-details.html, setup-print.html: Documentation updates. + +2002-07-26 22:05 paschal + + * Makefile.in: Added message of what to do if "couldn't find SysV + init script directory". + +2002-07-26 07:59 paschal + + * Makefile.in: Added installing of LICENSE.OpenSSL. + +2002-07-26 07:58 paschal + + * LICENSE.OpenSSL: Clarified that this file is an extension of the + license and therefore may not be changed without permission of hpoj + copyright holders. + +2002-07-25 19:01 paschal + + * LICENSE, LICENSE.OpenSSL, apps/cmdline/hpojip-test.c, + apps/cmdline/ptal-connect.c, apps/cmdline/ptal-device.c, + apps/cmdline/ptal-devid.c, apps/cmdline/ptal-hp.c, + apps/cmdline/ptal-photod.c, apps/cmdline/ptal-pml.c, + apps/cmdline/ptal-printd.c, apps/xojpanel/xojpanel.cpp, + apps/xojpanel/xojpanel.h, include/hpojip.h, include/ptal.h, + lib/hpojip/ipdefs.h, lib/hpojip/ipmain.c, lib/hpojip/xbi2gray.c, + lib/hpojip/xbmp.c, lib/hpojip/xchgbpp.c, lib/hpojip/xcolrspc.c, + lib/hpojip/xconvolve.c, lib/hpojip/xcrop.c, lib/hpojip/xfakemono.c, + lib/hpojip/xfax.c, lib/hpojip/xform.h, lib/hpojip/xgamma.c, + lib/hpojip/xgray2bi.c, lib/hpojip/xgrayout.c, lib/hpojip/xheader.c, + lib/hpojip/xinvert.c, lib/hpojip/xjpg_dct.c, lib/hpojip/xjpg_dct.h, + lib/hpojip/xjpg_dec.c, lib/hpojip/xjpg_enc.c, + lib/hpojip/xjpg_fix.c, lib/hpojip/xjpg_huf.c, + lib/hpojip/xjpg_huf.h, lib/hpojip/xjpg_mrk.h, lib/hpojip/xmatrix.c, + lib/hpojip/xpad.c, lib/hpojip/xpcx.c, lib/hpojip/xpnm.c, + lib/hpojip/xrotate.c, lib/hpojip/xsaturation.c, + lib/hpojip/xscale.c, lib/hpojip/xskel.c, lib/hpojip/xtable.c, + lib/hpojip/xthumb.c, lib/hpojip/xtiff.c, lib/hpojip/xtonemap.c, + lib/hpojip/xyxtract.c, lib/ptal/ptal-hpjd.c, + lib/ptal/ptal-internal.h, lib/ptal/ptal-mfpdtf.c, + lib/ptal/ptal-mlc.c, lib/ptal/ptal-providers.c, lib/ptal/ptal.c, + lib/sane/hpoj-tables.h, lib/sane/hpoj.c, lib/sane/hpoj.h, + mlcd/ExMgr.cpp, mlcd/ExMgr.h, mlcd/ParPort.cpp, mlcd/ParPort.h, + mlcd/ioWrapper.c, mlcd/ioWrapper.h, mlcd/mlcd.h: Updated copyright + years to 2002. Added exception statement to permit linking certain + files with OpenSSL. Removed Andreas Fester's copyright notice from + xojpanel, with his permission. Cleaned up "xojpanel -help" message + somewhat. + +2002-07-25 17:20 paschal + + * doc/: setup-connect.html, setup-print-details.html: Documentation + updates. + +2002-07-25 12:03 paschal + + * doc/: index.html, info-protocols.html, ptal-connect.html, + ptal-device.html, ptal-devid.html, ptal-hp.html, ptal-init.html, + ptal-mlcd.html, ptal-photod.html, ptal-pml.html, ptal-printd.html, + setup-build-details.html, setup-build.html, + setup-connect-details.html, setup-connect.html, setup-photo.html, + setup-print-details.html, setup-print.html, + setup-scan-details.html, setup-scan.html, xojpanel.html: + Documentation updates. + +2002-07-25 07:36 paschal + + * scripts/ptal-init.in: Added messages to "status" command + indicating started-or-not status. + +2002-07-24 21:26 paschal + + * doc/: setup-build.html, setup-connect-details.html: Documentation + updates. + +2002-07-24 20:28 paschal + + * doc/ptal-init.html, scripts/ptal-init.in: Added status and + condrestart options. + +2002-07-23 21:01 paschal + + * doc/: index.html, info-protocols.html, info-ptal-api.html, + libptal.html: Documentation updates. + +2002-07-23 11:05 paschal + + * doc/setup-scan-details.html: Documentation updates. + +2002-07-22 22:43 paschal + + * doc/: index.html, libsane-hpoj.html, ptal-device.html, + ptal-printd.html, setup-build-details.html, setup-build.html, + setup-connect-details.html, setup-connect.html, + setup-photo-details.html, setup-photo.html, + setup-print-details.html, setup-print.html, + setup-scan-details.html, setup-scan.html: Documentation updates. + +2002-07-22 11:53 paschal + + * doc/: index.html, libsane-hpoj.html, ptal-hp.html, + ptal-mlcd.html, ptal-pml.html, setup-build.html, + setup-connect-details.html, setup-photo-details.html, + setup-photo.html, setup-scan.html, xojpanel.html: Documentation + updates. + +2002-07-21 23:04 paschal + + * doc/: index.html, info-protocols.html, libsane-hpoj.html, + ptal-connect.html, ptal-devid.html, ptal-hp.html, ptal-mlcd.html, + ptal-photod.html, ptal-pml.html, ptal-printd.html, + setup-build-details.html, setup-connect-details.html, + setup-connect.html, setup-photo-details.html, setup-photo.html, + setup-print-details.html, setup-print.html, + setup-scan-details.html: Documentation updates. + +2002-07-21 13:10 paschal + + * doc/: setup-print-details.html, setup-print.html, + setup-scan-details.html: Documentation updates. + +2002-07-20 22:19 paschal + + * doc/: index.html, ptal-init.html, setup-build.html, + setup-connect-details.html, setup-connect.html, setup-print.html: + Documentation updates. + +2002-07-19 09:17 paschal + + * doc/: setup-scan-details.html, setup-scan.html: Documentation + updates. + +2002-07-18 18:14 paschal + + * doc/: setup-connect-details.html, setup-connect.html, + setup-scan-details.html, setup-scan.html: Documentation updates. + +2002-07-18 13:47 paschal + + * doc/: info-devname.html, setup-build-details.html, + setup-build.html, setup-connect-details.html, setup-connect.html: + Documentation updates. + +2002-07-17 13:29 paschal + + * doc/ptal-init.html: Added device configuration file format + information. + +2002-07-17 13:28 paschal + + * scripts/ptal-init.in: Changed all instances of "ptal-init" and + "$zero" to "$basename". Fixed regular expression that produces + $basename so it works correctly if there's no slash character in + $0. + +2002-07-17 08:18 paschal + + * scripts/ptal-init.in: Made notice of device file(s) with obsolete + format more user-friendly. + +2002-07-16 19:57 paschal + + * doc/: ptal-init.html, ptal-mlcd.html, ptal-photod.html, + ptal-printd.html: Mostly ptal-init.html updates to reflect new + functionality. Minor updates to other files. + +2002-07-16 10:07 paschal + + * mlcd/: ExMgr.cpp, ExMgr.h: Added display of transport mode (MLC + or 1284.4) to "successfully activated" message. Split sending of + fake Init packet in llioDrainReverseData into separate llioWrite() + calls for header and data. Moved calling of llioGetDeviceInfo and + llioGetProtocols from llioSetup to llioGetDeviceID, because their + results are needed in parseDeviceID. + +2002-07-15 20:27 paschal + + * doc/: index.html, ptal-connect.html, ptal-device.html, + ptal-devid.html, ptal-hp.html, ptal-mlcd.html, ptal-photod.html, + ptal-pml.html, ptal-printd.html, xojpanel.html: Documentation + updates. + +2002-07-15 20:21 paschal + + * apps/cmdline/ptal-photod.c: Updated comments to revisit adding + multiple-sector I/O in the future. + +2002-07-14 19:28 paschal + + * apps/cmdline/ptal-printd.c: Added a second underscore in the + delimiter for the -morepipes additional pipe index, to prevent + clashes between devices such as hpjd:jdex and hpjd:jdex:2. + +2002-07-14 19:26 paschal + + * apps/cmdline/ptal-connect.c: Moved the -dump option lower in the + list. + +2002-07-14 14:22 paschal + + * apps/cmdline/: hpojip-test.c, ptal-devid.c, ptal-pml.c: Added + missing extra newlines between error and syntax messages. Fixed + ptal-devid and ptal-pml so they properly handle -help option. + +2002-07-12 06:52 paschal + + * scripts/ptal-init.in: For the sake of custom parallel-port probes + on FreeBSD, changed to suggest a valid device node, with fallback + to "/dev/lp0". + +2002-07-12 06:06 paschal + + * mlcd/: ExMgr.cpp, ExMgr.h: Changed to do simpler llioOpenOne() + (without retry) if llioPossibleNameCount<=1 (not just ==0). Added + O_NONBLOCK to open(llioName) and wrapped this with alarm(2) to + prevent infinite blocking on FreeBSD if no device is connected. + Fixed log messages in llioOpenOne so null llioName isn't passed to + printf. + +2002-07-12 05:09 paschal + + * scripts/ptal-init.in: Added blank line before "Stopping" and + after "Starting" messages so the bootup messages look better on + FreeBSD. + +2002-07-11 09:52 paschal + + * configure, configure.in: Changed to better hide "sane-config: not + found" error messages. + +2002-07-10 20:35 paschal + + * configure, configure.in: Added /usr/X11*/lib/sane to + SANE_BACKEND_DIR_POSSIBILITIES. + +2002-07-10 20:06 paschal + + * Makefile.in, configure, configure.in: Changed to detect + sane-backends (and more robustly) in configure script, not + Makefile. Added creating /usr/local/etc/rc.d/ptal-init.sh symlink + for FreeBSD startup. Fixed some incorrect "$(LN_S) -f" in + Makefile. Made lack-of-chkconfig message more user-friendly. + Added non-root messages of what to do about installing + libsane-hpoj. In configure script, added missing "break" when + found CUPS backend directory. + +2002-07-10 11:19 paschal + + * apps/cmdline/ptal-hp.c, apps/cmdline/ptal-photod.c, + include/ptal.h, lib/ptal/ptal-mfpdtf.c, lib/sane/hpoj.c, + lib/sane/hpoj.h: Added "__attribute__((packed))" to wire-data + structures and unions. + +2002-07-10 11:13 paschal + + * lib/sane/Makefile.in: Added sane.h and saneopts.h to INCLUDES + list (for dependency checking). + +2002-07-09 18:35 paschal + + * scripts/ptal-init.in: Added place in code to add more options to + pass to ptal-mlcd probe. Added config-file version checking and + obsolete-device functionality. Changed to put/remove ptal-init + file in either /var/lock/subsys or /var/lock. Reworked how unique + devices are determined/handled with respect to model name, serial + number (new), and parallel-port base address, in order to be more + robust about having more than one instance of the same model or + moving a device from one parallel port to another. Long version of + model/sernum now used throughout except for display purposes. + Changed cardReaderDetected so it verifies HP-CARD-ACCESS support + after discovering it in the supported-functions PML object, in + order to disable ptal-photod on LIO-connected OfficeJet D series. + Added confirmation prompt before replacing mlc: device names. + Added automatic deletion of old mlc:par: devices with same base + address as a new device that gets set up. Added verification of + valid/defined device name before setting it as default. Various + code, comment, user interface, and file format + cleanups/enhancements. + +2002-07-08 18:05 paschal + + * mlcd/: ExMgr.cpp, ExMgr.h: Changed llioDrainReverseData() to wait + the full timeout (.5sec) even for USB, instead of timing out early + given enough (4) zero-byte packets. + +2002-07-05 19:21 paschal + + * apps/xojpanel/: xojpanel.cpp, xojpanel.h: From Joe Piolunek: + Changed vertical text spacing back to constant (rather than + centered) to better accomodate anti-aliased fonts in some + situations. Various code/comment formatting changes. + +2002-07-05 15:45 paschal + + * scripts/ptal-cups.in: Fixed copy-and-paste error with labeling + command-line arguments in debug output. + +2002-07-05 07:26 paschal + + * apps/cmdline/ptal-connect.c, apps/cmdline/ptal-printd.c, + lib/ptal/ptal-hpjd.c, lib/ptal/ptal-mlc.c, scripts/ptal-cups.in: + Changed both ptal-connect and ptal-printd to have -uel and -nouel + switches, with -nouel now the default. Added -infretry and + -retrydelay switches to ptal-connect and ptal-cups. In libptal, a + negative retryCount now means an infinite connect timeout. Changed + ptal-hpjd.c so "connection refused" errors are subject to the + "short" (or infinite) timeout. + +2002-07-04 19:30 paschal + + * Makefile.in: Added scripts/ptal-cups to file list for + check_generated. + +2002-07-04 10:21 paschal + + * mlcd/: ExMgr.cpp, ExMgr.h: Reworked reverse data drain to apply + to both parallel and USB. Added -nodrain option to optionally + disable channel-78 reset and reverse data drain. Hid -hotplug + option from help message. Shortened the channel-78 reset delay for + parallel, due to the added delay for reverse data drain. + +2002-07-04 08:30 paschal + + * mlcd/: ExMgr.cpp, ExMgr.h: Removed unused (and now incorrect) + ''socketPrefix[]="/dev/ptal-mlcd/"''. Added setting most fake + sockets to blocking mode when -remconsole is specified. + +2002-07-03 20:12 paschal + + * mlcd/: ExMgr.cpp, ExMgr.h: Changed forward data and command reply + timeouts from 15 to 5 seconds. Fixed LOG_INFO of received data + count to actual rather than expected count. Added USB drain + reverse data to llioSetup. Cleaned up some TODOs. + +2002-06-27 10:59 paschal + + * mlcd/ExMgr.cpp: Fixed bug I introduced in the last checkin where + application requests to close a channel would be lost if forward + data was still pending. Doh! + +2002-06-22 12:54 paschal + + * lib/hpojip/xscale.c: Separated "p1++; p2++;" from references to + avoid a gcc-3.1 compiler warning. + +2002-06-21 14:46 paschal + + * mlcd/: ExMgr.cpp, ExMgr.h: Added "forceclose" debug-console + command to test ExTransport ability to flush forward data when + closing a channel. + +2002-06-21 14:45 paschal + + * mlcd/transport/: ExMlcCommandChannel.cpp, ExMlcTransport.cpp, + ExMlcTransport.h, ExTransport.cpp, ExTransport.h: Updated copyright + years to 2002. Moved + "pDataBdr->setTransportHeaderFlags(header->control)" to after the + place which ensures that pDataBdr is non-NULL. Removed "#ifndef + ATTRIBUTE_PACKED" from "#define ATTRIBUTE_PACKED...". Added + optional ability for close() to flush buffered forward data. + +2002-06-18 17:25 paschal + + * Makefile.in: Updated .PHONY target, which was missing some items. + Split just_install into user_install and root_install (at Mark + Purcell's request). Changed "test ! -z" to "test -n". + +2002-06-17 12:36 paschal + + * Makefile.in, configure, configure.in, scripts/ptal-cups.in: + Integrated Mark Horn's ptal-cups backend. + +2002-06-14 12:19 paschal + + * lib/sane/hpoj.c: Disabled batch-scan option for OfficeJet LX and + 300 series. Generalized SANE_CAP_INACTIVE checking for + SANE_ACTION_SET_VALUE. + +2002-06-14 11:49 paschal + + * configure, configure.in, apps/cmdline/Makefile.in, + apps/cmdline/ptal-device.c: Added ptal-device command to simply + list known PTAL device names. + +2002-06-14 10:58 paschal + + * lib/ptal/ptal.c, mlcd/ExMgr.cpp: Added trapping (ExMgr.cpp) and + ignoring (ptal.c) of SIGHUP (hangup signal). + +2002-06-13 11:02 paschal + + * configure, configure.in: Added missing double quotes around [if + test -n "$QT_MOC" -a -n] "$QT_INCLUDE_PATH". Added commented-out + debug statements. + +2002-06-13 10:42 paschal + + * configure, configure.in: Moved AC_ARG_WITH stuff to the + respective (SNMP, QT) sections. Added --help explanation of + --without options. Added ability to override /var/run prefix. + Changed --without-{snmp,qt} to say "check not done" instead of "no: + ...". Added placeholders for SANE and CUPS detection. Largely + rewrote QT detection (heavily modified from Joe Piolunek's patch). + Added --with-qt-moc, --with-qt-includes, QTDIR. QT includes should + now be found in /usr/X11R6/include/qt2. Added recognition of + libqt-mt.so. Rearranged AC_SUBST and echo of variables at the end + of the file. Added warning messages about disabling + JetDirect/xojpanel support due to a lack of SNMP/QT support. + +2002-06-13 10:40 paschal + + * apps/xojpanel/Makefile.in: Changed to get -lqt[-mt] from + configure script. Split "HEADERS" into "COMMON" and "ALL" for + proper dependency checking. + +2002-06-12 13:50 paschal + + * Makefile.in: Added .PHONY target. Changed *.in-update-checking + implicit rule to an explicit shell routine, because the implicit + rule wasn't working very well for some reason. Added checking for + updates to configure.in and configure. + +2002-06-12 12:04 paschal + + * Makefile.in: Changed to detect changes to *.in files and force + the user to re-run the configure script. + +2002-05-23 08:46 paschal + + * apps/cmdline/ptal-connect.c: Added -retrycount and -noretry + command-line switches. + +2002-05-23 08:45 paschal + + * lib/ptal/ptal-hpjd.c: Added missing PTAL_ERROR return code if + retry count is exhausted. + +2002-05-18 10:26 paschal + + * lib/sane/: hpoj.c, hpoj.h: - Instrumented divideAndShift() to + check for roundoff error. - Moved length-measurement option before + other geometry options. - Added "unlimited" length-measurement + choice, which disables br-y option. - Changed default maximium + extents for PML scanners to 9"x15". + +2002-05-16 14:10 paschal + + * apps/cmdline/hpojip-test.c, include/hpojip.h, lib/hpojip/xpad.c, + lib/sane/hpoj.c, lib/sane/hpoj.h: libhpojip, hpojip-test: - Added + minimum-input-height parameter to X_PAD image transform. + + libsane-hpoj: - Added length-measurement option. - Fixed bug where + last data buffer was getting lost in sane_hpoj_read, because + SANE_STATUS_EOF was overridding it. - sane_hpoj_read now sets + *pLength to zero on error. + +2002-05-16 10:39 paschal + + * apps/cmdline/ptal-hp.c, apps/cmdline/ptal-pml.c, + apps/xojpanel/xojpanel.cpp, include/ptal.h, lib/ptal/ptal-hpjd.c, + lib/ptal/ptal.c, lib/sane/hpoj.c: ptal-hp, xojpanel: - Changed to + use ptalPmlGetStringValue or ptalPmlGetValue depending on which + PML/SPM object is being used. + + ptal-pml: - Added get[-] feature to alter the displayed type. + - Added "binary string" pseudo-type, for strings without a + symbolSet. - Changed value format for setting binary types to hex + numbers only. - Added null-type support. + + libptal: - Removed ptalPmlTypeIsInteger and + ptalPmlValueIsValidString. - Added ptalPmlGetType. - Made more + lenient about which functions can be used to read which data types. + + ptal-hpjd.c: - Added separate OID prefixes for Standard Printer + MIB, etc., objects. - Fixed mapping of PML<->SNMP data types. + + libsane-hpoj: - Added some warning messages about ptalPmlRequestGet + failures. + +2002-05-10 08:37 paschal + + * mlcd/: ExMgr.cpp, transport/ExMlcCommandChannel.cpp, + transport/ExMlcTransport.cpp, transport/ExTransport.cpp: Removed + redundant default-parameter definition in .cpp files, to fix a + compile problem with gcc 3.1. + +2002-05-07 07:35 paschal + + * lib/sane/hpoj.c: For the OfficeJet LX and 300 series: - Trimmed + the compression choices to just MMR. - Set the resolution choices + to 200dpi for LX and 200,300dpi for 300 series. + +2002-05-07 07:33 paschal + + * include/ptal.h: Cleaned up "struct + ptalMfpdtfVariantHeaderFaxDataArtoo_s" and "struct + ptalMfpdtfVariantHeaderFaxDataSolo_s" definitions. + +2002-05-07 07:31 paschal + + * mlcd/ExMgr.cpp: Cleaned up some TODO comments. + +2002-05-04 20:14 paschal + + * apps/cmdline/hpojip-test.c, include/hpojip.h, + lib/hpojip/ipmain.c, lib/sane/hpoj.c: Added bit-mirroring + capability to try to fix scanning on the OfficeJet LX and 300 + series. + +2002-05-04 13:12 paschal + + * lib/sane/: hpoj.c, hpoj.h: Added preliminary (not yet functional) + scanning support for OfficeJet LX and 300 series. Added optional + saving of compressed (MFPDTF stripped) scan data to a file. + Changed geometry options from integer to fixed-precision type. + Removed redundant variables in image-dimension handling. Increased + MFPDTF_LATER_READ_TIMEOUT from 10 to 20 seconds to prevent timeout + at end of ADF scan on LaserJet 3300 series. + +2002-05-04 13:12 paschal + + * include/ptal.h, lib/ptal/ptal-mfpdtf.c: Added MFPDTF support for + OfficeJet LX and 300 series. + +2002-05-04 13:11 paschal + + * mlcd/: ExMgr.cpp, ExMgr.h: Added "mlc:" to debug console prompt. + Fixed bug where reverse data received right after a channel open + would be sent to the application before the open reply. + +2002-05-04 13:11 paschal + + * mlcd/ParPort.cpp: Made more tolerant of terminate() failures at + event 23. + +2002-05-03 14:17 paschal + + * lib/hpojip/xfax.c: Made indention in initRunArray() consistent + with the rest of hpojip. + +2002-04-29 09:46 paschal + + * mlcd/ExMgr.cpp: Cleaned up deviceName@deviceNode log message + header format. + +2002-04-28 20:40 paschal + + * mlcd/: ExMgr.cpp, ExMgr.h: Log message updates: added llioName, + shortened "errno" to "e". + +2002-04-28 20:11 paschal + + * mlcd/: ExMgr.cpp, ExMgr.h: Added 5-second llioWrite timeout for + USB. + +2002-04-28 17:00 paschal + + * apps/xojpanel/: xojpanel.cpp, xojpanel.h: From Joe Piolunek: + Changes to command-line parsing, including new default device + functionality. + +2002-04-28 14:41 paschal + + * scripts/ptal-init.in: Changed wildcard patterns to ensure that a + digit is matched in the right place. Changed to modprobe printer + and lp only when probing those connection types. Made non-root and + syntax-error messages the same (including &printDeviceList). + +2002-04-28 13:20 paschal + + * apps/cmdline/ptal-printd.c: Changed to open print channel after + reading first packet of print job data. After too many "empty" + jobs are received, sleeps for 2 seconds, because select() on a FIFO + never seems to block on FreeBSD. Added pipeBaseName to + syslog("successfully initialized") message. + +2002-04-28 11:01 paschal + + * lib/sane/: hpoj.c, hpoj.h: Added resetting of PML scanners in + NEWPAGE state (other than LaserJet 1100A) when unsetting the + batch-scan option. Added default grayscale compression of JPEG on + OfficeJet 5xx and default lineart compression of MH on OfficeJet + 5xx/6xx/7xx and PSC 3xx. Updated the option descriptions. SCL + duplex-scan capability is now determined by the supported-functions + PML object. Added more debug messages to print option descriptors + as they are retrieved and option values as they are read/written. + +2002-04-28 10:04 paschal + + * mlcd/ParPort.cpp: Added clearing of CONTROL_REVERSE_DATA bit in + negotiate() and terminate() to fix bug where ptal-mlcd had to be + restarted after power-cycling some models in conjunction with a + bidirectional or ECP parallel port. + +2002-04-26 09:07 paschal + + * mlcd/: ExMgr.cpp, ExMgr.h: Moved device ID parsing (and transport + determination) to before llioSetup() is called. + +2002-04-24 09:25 paschal + + * lib/sane/hpoj.c: Removed SANE_CAP_AUTOMATIC, because it already + automatically sets options when needed. Added notes of where to + add more calls to hpojScannerIsUninterruptible. + +2002-04-23 13:56 paschal + + * doc/setup-scan-details.html: Added note about not being able to + change scan mode and resolution options between pages in a batch + scan (for PML scanners). + +2002-04-23 08:18 paschal + + * Makefile.in, README, configure, configure.in, + apps/cmdline/Makefile.in, apps/cmdline/ptal-connect.c, + apps/cmdline/ptal-devid.c, apps/cmdline/ptal-hp.c, + apps/cmdline/ptal-photod.c, apps/cmdline/ptal-pml.c, + apps/cmdline/ptal-printd.c, doc/index.html, doc/info-devname.html, + doc/info-protocols.html, doc/info-ptal-api.html, + doc/ptal-connect.html, doc/ptal-devid.html, doc/ptal-hp.html, + doc/ptal-init.html, doc/ptal-mlcd.html, doc/ptal-pml.html, + doc/ptal-printd.html, doc/setup-build-details.html, + doc/setup-build.html, doc/setup-connect-details.html, + doc/setup-connect.html, doc/setup-photo.html, doc/setup-print.html, + doc/setup-scan-details.html, doc/setup-scan.html, + doc/xojpanel.html, include/ptal-hppsp.h, include/ptal.h, + lib/ptal/Makefile.in, lib/ptal/ptal-hpjd.c, + lib/ptal/ptal-internal.h, lib/ptal/ptal-mlc.c, lib/ptal/ptal.c, + lib/sane/hpoj.c, lib/sane/hpoj.h, mlcd/ExMgr.cpp, mlcd/Makefile.in, + mlcd/mlcd.h, scripts/ptal-init.in, scripts/ptal-start.conf, + scripts/ptal-stop.conf: - Moved documentation into + $prefix/share/doc/hpoj. - Removed ptal-start.conf and + ptal-stop.conf. - (Hopefully) fixed "make install" so it installs + symlinks correctly on FreeBSD. - Moved /dev/ptal-{mlcd,printd} to + /var/run, with a /dev/ptal-printd compatibility symlink. - + Removed ptal-hppsp.h (moved into ptal-photod.c). - Added + default-device and new device registry capabilities into libptal, + ptal-init, libsane-hpoj, and most cmdline apps. - Cleaned up + libptal and cmdline apps error messages. - ptal-connect now says + when it's trying to connect and succeeds/fails (with a -quiet + option). - Lots of general code and command-line syntax message + cleanups. - Added -bindto and -bindtoall to ptal-photod to specify + which network interface(s) to bind to (or all). - Added + -maxaltports to ptal-photod to try incremental port numbers if the + default port number is already taken (and report final port number + in startup syslog message). - libptal now ignores SIGPIPE. - + Added -morepipes to ptal-printd to create additional FIFOs and + round-robin between them for different print queues. - Updated + documentation to reflect new functionality and split into basic + and detailed setup information. - Moved some functions around in + libsane-hpoj. - Removed SANE_HPOJ_DEVICE from libsane-hpoj. - + Added higher (safer) default JPEG compression factor for OfficeJet + 500/600/700 and PSC 300 series to libsane-hpoj. - Added to + libsane-hpoj and ptal-mlcd recognition for Sony "All-in-One + IJP-V100" (OEM of HP OfficeJet 500 series). - ptal-mlcd can now + handle "mlc:" prefix on its device name parameter. - Added "use + strict" to ptal-init, split into more subroutines. - Added + parallel, JetDirect, and ptal-photod setup and FreeBSD support to + ptal-init. + +2002-03-25 13:45 paschal + + * apps/cmdline/ptal-hp.c: Removed "Total RAM size" query from + "ptal-hp device", because some devices report an incorrect value + and cause confusion. + +2002-03-23 21:35 paschal + + * apps/cmdline/ptal-devid.c, include/ptal.h, lib/ptal/ptal-hpjd.c, + lib/ptal/ptal-internal.h, lib/ptal/ptal-mlc.c, lib/ptal/ptal.c, + mlcd/ExMgr.cpp, mlcd/ExMgr.h, mlcd/mlcd.h, scripts/ptal-init.in: + Added capability for ptal-mlcd to store and libptal,ptal-devid to + retrieve the previous device ID string before a deactivation. + ptal-init uses this to indicate that it found a device but was + unable to communicate with it. + + ptal-mlcd: Added -log,-logwarn,-nolog switches. Zero out + session[scd].tcd pointers at deactivation. When reading data in + llioService, moved r!=datalen check after dumping the buffer. + + ptal-init: Added usbWildcard list, automatic determination of the + right one, and error message if none of them worked. Added elapsed + time printout in communication-failure case so I can know from a + log if there was a 15-second reply timer pop. + +2002-03-23 14:57 paschal + + * lib/sane/: hpoj.c, hpoj.h: If a PML scanner is in a state where a + new scan mode or resolution can't be set, then the current settings + in the device are read back and used instead of what the frontend + requested. + +2002-03-23 13:15 paschal + + * lib/sane/: hpoj.c, hpoj.h: Collected timeout values into one + place. + +2002-03-23 11:24 paschal + + * mlcd/ExMgr.cpp: Added delay/retry loop when checking for another + instance of ptal-mlcd on the same device name. Made llioOpen() + error messages more specific. + +2002-03-23 09:50 paschal + + * lib/hpojip/: xbmp.c, xfax.c, xpcx.c, xrotate.c, xtiff.c: Fixed + some little-endian and 32-bit dependencies. Added "TODO"s for + remaining little-endian dependencies. + +2002-03-17 22:27 paschal + + * lib/sane/hpoj.c: Changed device type to "multi-function + peripheral" in accordance with latest revision of SANE standard. + +2002-03-08 09:13 paschal + + * sane-1.0.3-hpoj.patch: Removed sane-1.0.3-hpoj.patch. + +2002-03-07 07:48 paschal + + * Makefile.in: Fixed bug where SANE dll.conf was silently ignored + if it wasn't under /etc. + +2002-03-04 23:24 paschal + + * doc/setup-scan.html: Added note that some distributions may have + already linked SANE to Gimp. + +2002-03-03 13:30 paschal + + * apps/cmdline/Makefile.in, apps/cmdline/ptal-hp.c, doc/index.html, + doc/ptal-hp-scan.html, doc/ptal-hp.html: Removed scanning + functionality from ptal-hp. Reworded a few other things in + doc/index.html. + +2002-03-03 12:10 paschal + + * doc/setup-scan.html: Clarified xsane's support for batch scans + (filename increments, but each scan must be started manually). + Corrected "--batch-scan=yes". Added examples of batch scans with + scanimage. + +2002-03-01 21:37 paschal + + * Makefile.in, configure, configure.in, doc/setup-scan.html, + lib/sane/Makefile.in, lib/sane/hpoj-tables.h, lib/sane/hpoj.c, + lib/sane/hpoj.h, lib/sane/sane.h, lib/sane/saneopts.h: Checked in + new libsane-hpoj SANE backend. + +2002-02-28 09:18 paschal + + * lib/ptal/ptal-mfpdtf.c: Removed "short timeout" functionality. + Changed ptalMfpdtfReadGeneric() and ptalMfpdtfReadInnerBlock() to + properly detect and report read timeout error. + +2002-02-25 21:44 paschal + + * apps/cmdline/ptal-pml.c: Fixed it so OID and hex value bytes are + printed out as unsigned. Added support for setting binary-type + objects. Updated syntax message to reflect all supported types. + +2002-02-21 07:35 paschal + + * Makefile.in: Changed "$$UID" to "`id -u`" (thanks to Alfred + Perlstein). + +2002-02-20 07:24 paschal + + * include/ptal.h, lib/ptal/ptal-internal.h, lib/ptal/ptal.c: Added + ability to call an idle-callback function at a specified interval + while ptalChannelSelect is "blocked". + +2002-02-20 07:22 paschal + + * mlcd/ExMgr.cpp: Changed DUMP_BUFFER macro to display entire + packets sent and received, not just the first 16 bytes. + +2002-02-09 10:09 paschal + + * mlcd/: ExMgr.cpp, ExMgr.h: Added PTAL-MLCD-RESERVE-SCANNER + bitbucket service for mutual exclusion. Fixed + outstandingForwardBdrCount and pCommandBdr accounting. + +2002-01-28 14:58 paschal + + * apps/cmdline/ptal-printd.c: Changed mknod() to mkfifo() to make + FreeBSD happy (thanks to John Utz). + +2002-01-27 17:55 paschal + + * apps/cmdline/ptal-printd.c: Added displaying of errno value on a + fatal error. + +2002-01-26 14:07 paschal + + * mlcd/ParPort.cpp: Changed TIMEVAL_SIGNAL_TIMEOUT from 1/10 sec to + 1 sec to fix signalling problems and host transfer recoveries on + the OfficeJet Pro 11xx. + +2002-01-23 08:30 paschal + + * include/ptal.h, lib/ptal/ptal-hpjd.c, lib/ptal/ptal-mlc.c, + lib/ptal/ptal.c: Added function ptalPmlRequestSetRetry(). Changed + lots of PTAL_LOG_ERROR() calls to PTAL_LOG_WARN() to reduce the log + message clutter. + +2002-01-10 06:26 paschal + + * include/ptal.h, lib/ptal/ptal-internal.h, lib/ptal/ptal.c: Added + application-info pointer functionality. Changed ptalPmlOpen so it + can be called multiple times. Changed ptalPmlClose so it closes + but doesn't deallocate the PML channel. + +2002-01-08 12:24 paschal + + * apps/cmdline/hpojip-test.c, include/hpojip.h, + lib/hpojip/Makefile.in, lib/hpojip/ipmain.c, lib/hpojip/xinvert.c, + lib/hpojip/xskel.c: Added invert and skel transforms. Fixed skel + transform so it actually works (just copies data). + +2002-01-08 12:06 paschal + + * lib/hpojip/xpnm.c: Fixed parse error when a number immediately + follows a comment line. + +2002-01-03 06:26 paschal + + * configure, configure.in: Added /usr/X11*/lib as a possible + location for QT. + +2001-12-10 22:58 paschal + + * apps/xojpanel/: xojpanel.cpp, xojpanel.h: From Joe Piolunek (with + a few tweaks from me): Standardized character translation mappings. + Added command-line options and help text. Various code cleanups. + +2001-12-09 23:00 paschal + + * apps/cmdline/ptal-photod.c: Added silent recognition (but not + support) for mtools protocol version 11. Added new readFromMtools + and readCountedBytesFromMtools functions. Added no-op support for + mtools OP_FLUSH command. + +2001-12-07 21:37 paschal + + * doc/setup-photo.html: Improved some wording, and removed + incorrect ".html" from "ptal-init". + +2001-12-06 13:50 paschal + + * apps/cmdline/ptal-hp.c: Fixed uninitialized hJob pointer that was + causing segfaults when a scan didn't take place. + +2001-12-05 23:36 paschal + + * doc/ptal-hp-scan.html: Documented ptal-hp scan changes, + especially in the area of image decompression and processing. + +2001-12-05 23:35 paschal + + * apps/cmdline/ptal-hp.c: Moved MFPDTF, JPEG, and PNM processing + into libptal and libhpojip. Added hints to use SANE. Added + support for MH, MR, and MMR compression. Whatever compression + format the device returns is handled appropriately. Can now save + as raw, .jpg, .pnm, or .p[bgp]m format regardless of compression. + No more annoying file-extension rewriting! Cleared out + SCAN-UPLOAD-ERROR before starting scan (for LaserJet 1100A). Added + display of resolution setting in use. Removed -length and + -[no]parsejpeg options. Hid -keep option. JPEGs on OfficeJet 500 + series should now be handled properly. + +2001-12-05 23:24 paschal + + * apps/cmdline/: Makefile.in, xjpg_dec.c: Removed xjpg_dec.c. + +2001-12-05 23:21 paschal + + * apps/cmdline/hpojip-test.c: Cleaned up comments. + +2001-12-05 23:20 paschal + + * include/ptal.h, lib/ptal/Makefile.in, lib/ptal/ptal-mfpdtf.c: + Added MFPDTF parser to libptal. + +2001-12-05 23:18 paschal + + * doc/setup-scan.html: Reordered the list of models supported by + "ptal-hp scan", so people won't think the PSC 700 series is + supported. + +2001-12-05 23:09 paschal + + * lib/hpojip/: xcolrspc.c, xheader.c, xjpg_enc.c, xrotate.c, + xtonemap.c: Fixed some comment spacing. + +2001-12-05 10:38 paschal + + * configure, configure.in: "-lsnmp" needs to come before + "-lcrypto". + +2001-11-28 20:03 paschal + + * doc/setup-scan.html: Moved note about uninstalling non-PTAL + version of SANE into the numbered list. + +2001-11-27 19:37 paschal + + * apps/cmdline/hpojip-test.c, include/hpojip.h, + lib/hpojip/ipmain.c, lib/hpojip/xjpg_dec.c, lib/hpojip/xjpg_fix.c: + Added xjpg_fix transform. + +2001-11-27 19:29 paschal + + * lib/hpojip/xpnm.c: Changed "pIntraits" to "pInTraits". Various + cleanups. + +2001-11-27 19:23 paschal + + * lib/hpojip/Makefile.in: Changed ".o-shared" to ".shared.o", and + ".o" to ".static.o". Added xjpg_fix transform. + +2001-11-27 19:22 paschal + + * lib/ptal/Makefile.in: Changed ".o-shared" to ".shared.o", and + ".o" to ".static.o". + +2001-11-27 19:18 paschal + + * lib/hpojip/xskel.c: Changed pIntraits to pInTraits. Added + missing explicit initialization of g->dwInNextPos within + getActualTraits. + +2001-11-24 21:55 paschal + + * lib/hpojip/xpnm.c: Implemented basic PNM encoding and decoding. + +2001-11-24 21:46 paschal + + * apps/cmdline/hpojip-test.c: Added file permissions (0600) to + open(outFile) call. Added #if-0ed out logs of before/after + ipConvert(). + +2001-11-22 10:31 paschal + + * configure, configure.in: Changed "-ldir" to "-Ldir". Fixed + broken SNMP AC_CHECK_LIB: brackets, missing comma, unneeded quotes. + +2001-11-22 10:19 paschal + + * configure, configure.in: Fixed check for SNMP so it detects + ucd-snmp on FreeBSD (.h and lib under /usr/local). + +2001-11-20 22:37 paschal + + * doc/setup-connect.html: Added note about non-concurrent USB and + parallel ports, and the need to power cycle the peripheral when + switching ports. Added note about consequences of not using + proto_bias fix for RedHat 7.2. + +2001-11-20 17:42 paschal + + * include/hpojip.h: Removed unnecessary "#include " which + broke FreeBSD builds. + +2001-11-20 13:09 paschal + + * doc/info-protocols.html: Removed hyphens from + "http://www.hpdevelopersolutions.com". + +2001-11-20 12:53 paschal + + * lib/ptal/ptal-mlc.c, mlcd/ExMgr.cpp: Added 1 to the Unix-domain + socket length, to include the terminating null byte. FreeBSD needs + this. + +2001-11-20 12:05 paschal + + * mlcd/: ParPort.cpp, ParPort.h: Moved most of IoParPort class from + ParPort.h into ParPort.cpp, to fix build problems on FreeBSD + ("multiple definition of `ffs'" linker error). + +2001-11-06 10:25 paschal + + * lib/hpojip/Makefile.in: libhpojip needs -lm on some platforms. + +2001-11-06 10:12 paschal + + * apps/cmdline/Makefile.in: Disabled linking unnecessary libraries + (ptal or hpojip) with cmdline apps. + +2001-11-05 23:49 paschal + + * configure, configure.in, apps/cmdline/Makefile.in, + apps/cmdline/hpojip-test.c, include/hpojip.h, lib/hpojip/ipmain.c: + Added hpojip-test command-line application. + +2001-11-01 12:56 paschal + + * mlcd/transport/ExMlcCommandChannel.cpp: To prevent the perception + of a buffer leak, increment countReverseBufferReturns when + returning a buffer for a packet that didn't consume credit (such as + InitReply), because the BDR was unmarked to prevent credit from + being returned. + +2001-10-29 22:13 paschal + + * configure, configure.in: Clear MLCD_OBJS if PAR_PLATFORM gets set + back to NONE due to missing sys/io.h. + +2001-10-29 00:22 paschal + + * lib/hpojip/Makefile.in: Added "Makefile" for deletion on "make + distclean". + +2001-10-29 00:19 paschal + + * Makefile.in, configure, configure.in: Added hpojip and moved ptal + into lib directory. Fixed broken SNMP detection by adding calls to + the autoconf AC_LANG_C macro. + +2001-10-29 00:15 paschal + + * include/hpojip.h, lib/hpojip/Makefile.in, lib/hpojip/ipdefs.h, + lib/hpojip/ipmain.c, lib/hpojip/xbi2gray.c, lib/hpojip/xbmp.c, + lib/hpojip/xchgbpp.c, lib/hpojip/xcolrspc.c, + lib/hpojip/xconvolve.c, lib/hpojip/xcrop.c, lib/hpojip/xfakemono.c, + lib/hpojip/xfax.c, lib/hpojip/xform.h, lib/hpojip/xgamma.c, + lib/hpojip/xgray2bi.c, lib/hpojip/xgrayout.c, lib/hpojip/xheader.c, + lib/hpojip/xjpg_dct.c, lib/hpojip/xjpg_dct.h, + lib/hpojip/xjpg_dec.c, lib/hpojip/xjpg_enc.c, + lib/hpojip/xjpg_huf.c, lib/hpojip/xjpg_huf.h, + lib/hpojip/xjpg_mrk.h, lib/hpojip/xmatrix.c, lib/hpojip/xpad.c, + lib/hpojip/xpcx.c, lib/hpojip/xpnm.c, lib/hpojip/xrotate.c, + lib/hpojip/xsaturation.c, lib/hpojip/xscale.c, lib/hpojip/xskel.c, + lib/hpojip/xtable.c, lib/hpojip/xthumb.c, lib/hpojip/xtiff.c, + lib/hpojip/xtonemap.c, lib/hpojip/xyxtract.c: Added new libhpojip + image-processing library. + +2001-10-29 00:06 paschal + + * lib/ptal/: Makefile.in, ptal-hpjd.c, ptal-internal.h, ptal-mlc.c, + ptal-providers.c, ptal.c: Moved ptal directory into the new lib + directory. + +2001-10-27 09:52 paschal + + * configure, configure.in: Added check for the existence of + sys/io.h in the first place, and disables Linux parallel-port + support on platforms where this file is missing. + +2001-10-21 21:51 paschal + + * doc/xojpanel.html: Added mention of + specialCharacterTranslationMap. + +2001-10-21 21:37 paschal + + * apps/xojpanel/: xojpanel.cpp, xojpanel.h: From Joe Piolunek: 1. + If the user builds the application with a choice of a very large or + very small font to be used in the 'LCD' message window, the text + will be vertically centered a little better. + + 2. It adds the ability to do 'special character' translation. At + present, the user will need to specify the desired character + translations ( at the top of apps/xojpanel/xojpanel.cpp ). In the + future, it may be possible to enable several by default, but right + now I don't know which one(s) can be used without causing potential + conflicts. + + From David Paschal: Added "characterTranslationMap[255] = 0x20;" + +2001-10-20 20:24 paschal + + * doc/setup-scan.html: Added clarifications about setting up SANE: + No need to reinstall SANE from source if it was already built with + hpoj support. sane.d/*.conf files may be installed elsewhere. + +2001-10-18 20:21 paschal + + * scripts/ptal-init.in: Added force-reload parameter (alias for + start/restart/reload) for Debian. + +2001-10-16 22:02 paschal + + * doc/setup-photo.html: Added mention of new functionality: write + access, -readonly switch. Reformatted and reworded a few things. + Added example of copy from one device to another. + +2001-10-16 22:00 paschal + + * apps/cmdline/ptal-photod.c: Disabled sending certain debug + messages to syslog. Added write functionality. Added -readonly, + and -readwrite switches. Determined that reading/writing 1 sector + at a time is safer. Added more comments. Changed some message + formats. + +2001-10-16 21:55 paschal + + * include/ptal-hppsp.h: Added HPPSP_REPLY_STATUS and + HppspReplyStatus. Changed HPPSP_VERSION_2. Made some adjustments + in write-sectors command structs. + +2001-10-15 09:37 paschal + + * scripts/ptal-init.in: Added check for the existence of + /dev/ptal-{mlcd,printd} directories, and creates them if they are + missing (i.e. in the case with devfs). + +2001-10-14 21:04 paschal + + * apps/cmdline/ptal-photod.c: Added syslog support and ptalName to + log messages. Improved clarity of some error messages. Added + check for bytesPerSector==512 until I get around to generalizing + it. + +2001-10-14 21:01 paschal + + * doc/: info-protocols.html, setup-connect.html, setup-photo.html, + setup-print.html, setup-scan.html: Added mention of experimental + printer.c, proto_bias for RedHat 7.2, and usb-uhci vs uhci. Added + "Next steps" links to/from setup-photo.html. + +2001-10-13 11:01 paschal + + * doc/: index.html, setup-photo.html: Added documentation for + setting up photo-card access. + +2001-10-13 11:01 paschal + + * configure, configure.in, apps/cmdline/Makefile.in, + apps/cmdline/ptal-photod.c, include/ptal-hppsp.h, + scripts/ptal-init.in: Added ptal-photod daemon for mtools-based + photo-card access. + +2001-10-11 11:13 paschal + + * scripts/ptal-init.in: Fixed "ptal-init setup" so it also converts + slashes (in addition to spaces) in model name to underscores. + +2001-10-09 21:41 paschal + + * mlcd/ExMgr.cpp: Fixed lookup and reverse lookup so the initial + stuff (like trying a local lookup) is only done in the command + state, to prevent overwriting the results of a transport lookup. + Added LOG_INFOs about lookup results. Added check to prevent + attempts to open command channel. + +2001-10-09 12:35 paschal + + * mlcd/ExMgr.cpp: Added -becp switch to force bounded ECP mode. + +2001-10-09 07:55 paschal + + * mlcd/ExMgr.cpp: Added bounded-ECP recognition for "MDL:PHOTOSMART + P1000;" and "MDL:PHOTOSMART P1100;". + +2001-10-05 06:48 paschal + + * mlcd/ExMgr.cpp: Fixed query of llioSupportedProtocols bitmask so + getDefaultTryMlcDot4() will work properly. + +2001-10-03 09:00 paschal + + * mlcd/: ExMgr.cpp, ExMgr.h: Added support for special Linux USB + printer-class driver ioctls for dynamically switching alternate + settings and parallel-style channels. + +2001-09-28 08:14 paschal + + * apps/cmdline/ptal-hp.c: Added longer timeout after premature scan + state change while waiting for the end-of-page record. + +2001-09-13 10:32 paschal + + * mlcd/transport/: ExMlcCommandChannel.cpp, ExMlcTransport.cpp, + ExMlcTransport.h, ExTransport.cpp: Changed some LOG_* calls to + LOGD_*. Added __attribute__((packed)) to packet structures in + ExMlcTransport.h. + +2001-08-08 08:05 paschal + + * apps/cmdline/ptal-hp.c: Fixed compiler error with gcc-3.0. + +2001-08-07 20:00 paschal + + * doc/info-protocols.html: Removed extraneous double-quote mark. + +2001-08-07 19:54 paschal + + * doc/info-protocols.html: Changed "is" to "are". + +2001-08-07 19:52 paschal + + * doc/info-protocols.html: Added mention of channel-78 reset + alternatives, and clarification of channel 77 over 7/1/2. + +2001-08-07 19:47 paschal + + * doc/info-protocols.html: Fixed "forward" misspelling. + +2001-08-07 19:39 paschal + + * doc/info-ptal-api.html: Added missing information about the + parameters modified by ptalChannelSelect(). + +2001-08-07 19:23 paschal + + * doc/ptal-init.html: Removed extraneous "i". + +2001-08-07 19:11 paschal + + * doc/ptal-mlcd.html: Changed "and" to "of". + +2001-08-07 18:23 paschal + + * doc/setup-print.html: Added missing closing parenthesis. + +2001-08-07 18:22 paschal + + * doc/setup-print.html: Added tt tags for Devices.htm and + devices.txt. + +2001-08-07 18:10 paschal + + * doc/setup-connect.html: Fixed grammatical typo. + +2001-08-07 18:07 paschal + + * doc/setup-connect.html: Changed duplicate "ptal-mlcd" to + "ptal-printd", which is what I had intended in the first place. + +2001-08-07 18:03 paschal + + * doc/setup-connect.html: Capitalized "It". + +2001-08-07 18:01 paschal + + * doc/setup-connect.html: Changed "use" to "pass". + +2001-08-07 17:57 paschal + + * doc/setup-connect.html: Split out "Important:" into a separate + list entry. + +2001-08-07 17:55 paschal + + * doc/setup-connect.html: Added missing paragraph tag, and made + "Notes:" boldface for consistency. + +2001-08-07 17:46 paschal + + * doc/setup-build.html: Corrected list of installation + subdirectories. + +2001-08-07 11:17 paschal + + * doc/: index.html, info-pml-objects.html, info-protocols.html, + pmlobj.html, ptal-mlcd.html, ptal-pml.html, setup-connect.html, + setup-print.html, setup-scan.html: Renamed doc/pmlobj.html to + doc/info-pml-objects.html and added to the index. Expanded + acronyms more consistently. Rearranged some commands in the index + and made bullets more consistent. Split long command lines to be + more printer-friendly. Clarified gamma.ps as optional and probably + unnecessary for hpinkjet. + +2001-08-06 22:18 paschal + + * doc/: index.html, info-protocols.html, info-ptal-api.html: Added + info-protocols.html and info-ptal-api.html. + +2001-08-05 22:10 paschal + + * doc/: index.html, ptal-init.html, ptal-mlcd.html, + ptal-printd.html, setup-build.html, setup-connect.html, + setup-scan.html: Added ptal-init.html, and moved the note about + duplicate devices to there from setup-connect.html. Various + formatting changes. + +2001-08-05 20:24 paschal + + * doc/: index.html, ptal-devid.html, ptal-hp-scan.html, + ptal-hp.html, ptal-mlcd.html, ptal-printd.html, setup-connect.html, + setup-print.html, setup-scan.html, xojpanel.html: Finished + ptal-mlcd.html and added ptal-printd.html. Various formatting and + content improvements. Added mention to setup-connect.html of + ptal-mlcd's SPP warning message and using "-porttype spp" to get + rid of it. + +2001-08-05 20:14 paschal + + * mlcd/ExMgr.cpp: Removed empty "if" statement after calling + select(). + +2001-08-03 20:36 paschal + + * doc/ptal-mlcd.html: First checkin (not quite finished). + +2001-08-03 20:36 paschal + + * doc/setup-connect.html: Added clarifications about kernel parport + independence and problems detecting parallel-peripheral power + cycle. + +2001-08-03 20:35 paschal + + * doc/ptal-connect.html: Moved specifics on ptal-mlcd virtual + services to ptal-mlcd.html. + +2001-08-03 09:25 paschal + + * doc/pmlobj.html: Updated title. + +2001-08-03 09:22 paschal + + * doc/: pmlobj.html, ptal-pml.html: First checkin. + +2001-08-03 07:36 paschal + + * doc/ptal-devid.html: First checkin. + +2001-08-03 06:01 paschal + + * doc/ptal-connect.html: First checkin. + +2001-08-03 05:44 paschal + + * doc/setup-connect.html: Strengthened recommendation to compile + kernel USB support as modules. Added note to check + /var/log/messsages and usbview if printer devices aren't found. + +2001-08-02 17:32 paschal + + * doc/xojpanel.html: Joe fixed some incorrect information I wrote + too late at night. :-) + +2001-08-01 21:31 paschal + + * doc/: ptal-hp.html, xojpanel.html: Added ptal-hp.html and + xojpanel.html. + +2001-08-01 21:31 paschal + + * apps/cmdline/ptal-hp.c: Removed "clock -unset" option. + +2001-08-01 12:33 paschal + + * doc/setup-scan.html: Added note about lack of support for + device-initiated scans. + +2001-07-31 12:42 paschal + + * mlcd/ParPort.cpp: Added warning message when readNibble(index=0) + fails because nFault=1. + +2001-07-31 07:38 paschal + + * doc/: setup-connect.html, setup-print.html, setup-scan.html: + Added "next steps" sections at the end. + +2001-07-30 19:27 paschal + + * mlcd/: ExMgr.cpp, ExMgr.h: Second attempt at fixing compiler + warning about "ExSessionLookup *this". Fixed PolledTimer::delay() + so it insulates the delay parameter from modification by select(). + Changed delays using select() to PolledTimer::delay(). Turned on + channel-78 reset for parallel, now that I finally figured out why + the delays weren't working for the LaserJet 1100. + +2001-07-30 04:15 paschal + + * doc/ptal-hp-scan.html: Small formatting change. + +2001-07-30 04:15 paschal + + * mlcd/ExMgr.cpp: Tried to fix compiler warning on RedHat + 6.1/Alpha: ExMgr.cpp:1352: warning: `class ExSessionLookup * this' + might be used uninitialized in this function + +2001-07-29 15:34 paschal + + * doc/setup-build.html: Added note to logout/login for the PATH + change to take effect. + +2001-07-29 13:56 paschal + + * apps/cmdline/ptal-pml.c: Disabled unimplemented getnext and trap + commands. + +2001-07-29 13:24 paschal + + * doc/setup-print.html: Added confirmation that DJ8xx works on + OfficeJet Pro 1170C/1175C. + +2001-07-28 21:19 paschal + + * apps/cmdline/ptal-hp.c: Added -keep switch. Added partial + support for scanning on the OfficeJet 300 series (still not + functional, though), by making more PML objects optional. Changed + "Setting resolution" message to "Setting default resolution". + Added missing read of uploadError, added recognition of more error + codes. + +2001-07-28 21:17 paschal + + * doc/ptal-hp-scan.html: Documented the -keep switch. + +2001-07-28 19:59 paschal + + * doc/setup-connect.html: Added note that ptal-hpjd.c is hard-coded + with the community name "public". + +2001-07-28 19:26 paschal + + * doc/: index.html, setup-build.html, setup-connect.html: Small + formatting changes. Added mentions of setting the PATH. + +2001-07-28 19:18 paschal + + * Makefile.in: Changes to "make install": Added more blank lines + for better readability of messages. Added hpoj.sh and hpoj.csh + into /etc/profile.d to set PATH, and message to set the PATH + manually if these scripts couldn't be added. + +2001-07-28 18:01 paschal + + * doc/: setup-build.html, setup-connect.html: Small formatting + changes. + +2001-07-27 09:17 paschal + + * doc/: setup-connect.html, setup-print.html: Removed strike tags. + Split fields in sample device ID string onto separate lines. + Changed MDL-to-USB-devname examples from preformatted to unordered + list. + +2001-07-25 21:37 paschal + + * INSTALL, Makefile.in, PRINT-HOWTO, README, SCAN-HOWTO, + doc/index.html, doc/ptal-hp-scan.html, doc/setup-build.html, + doc/setup-connect.html, doc/setup-print.html, doc/setup-scan.html: + Added new HTML documentation files. + +2001-07-25 08:31 paschal + + * apps/cmdline/ptal-devid.c: Modified syntax message to make it + clear that -short/-long need to be specified _before_ any query + options. + +2001-07-24 11:02 paschal + + * Makefile.in: Changed to run ldconfig even if /etc/ld.so.conf is + already setup correctly, to make sure the ld cache really gets + rebuilt. + +2001-07-16 19:47 paschal + + * Makefile.in: Added /sbin/init.d to the search list of SysV init + script directories. Added bin/addpjl to the search list of + obsolete files, and special-cased the existence of this file to + also check for bin/addcr. I didn't want to just add bin/addcr to + the list, because personally I need to keep it around. + +2001-07-15 18:11 paschal + + * mlcd/ExMgr.cpp: In exDeactivate(): Added 1-second delay after + llioClose to try to prevent USB crashes on reactivation. Moved + sessionDeactivate() call after this to prevent fatal error in + forwardDataResponse due to zeroed and then decremented + outstandingForwardBdrCount field. + +2001-07-15 10:39 paschal + + * scripts/ptal-init.in: ptal-init setup now logs messages about + stopping and starting the daemons. + +2001-07-14 21:36 paschal + + * Makefile.in, scripts/ptal-init.in: Added info message about a + /etc/ptal-*.conf file that overrides one in $prefix/etc. Added + /sbin and /usr/sbin to the PATH in ptal-init. + +2001-07-14 20:44 paschal + + * Makefile.in, configure, configure.in, scripts/ptal-start.conf, + scripts/ptal-stop.conf: Changed to install *.conf as *.conf.new if + already exists and is different. For root, logs mkdir of + /dev/ptal-*; otherwise, prompts user to manually create these + directories. Added /sbin and /usr/sbin to the PATH for + root-specific install section. Added warning message if SysV init + script directory not found. Added warning message if chkconfig not + available. For root, adds libdir to /etc/ld.so.conf if not already + there and runs ldconfig; otherwise, prompts user to do this + manually. Checks for outdated files from previous versions and + prompts user to delete. In *.conf, improved some wording and added + place to modprobe printer. + +2001-07-14 07:28 paschal + + * apps/cmdline/ptal-devid.c: Added include of string.h to remove + compiler warnings. + +2001-07-13 12:12 paschal + + * mlcd/: ExMgr.cpp, ExMgr.h, Makefile.in, ParPort.h, + transport/ExMlcCommandChannel.cpp, transport/ExMlcTransport.cpp, + transport/ExMlcTransport.h, transport/ExTransport.cpp, + transport/ExTransport.h: Changed JD_DEBUG to JD_DEBUGLITE. Removed + redundant "ptal-mlcd:" for messages going to syslog. Changed + "const" to explicit "static const" and removed the "#define const + static const" kludge. Added "static const member definitions" to + ExTransport files (from a co-worker; I don't know if I need to do + this in ExMgr and ParPort also). + +2001-07-06 19:49 paschal + + * Makefile.in: Once again forgot to save my latest changes before + checking in! :-) + +2001-07-06 19:08 paschal + + * Makefile.in, configure, configure.in, scripts/ptal-init.in, + scripts/ptal-start.conf, scripts/ptal-stop.conf: Added + ptal-init.in, ptal-start.conf, and ptal-stop.conf to the scripts + directory. Made "make install" quieter. Added installation of + init script under /etc/rc.d/... + +2001-07-06 18:41 paschal + + * apps/xojpanel/Makefile.in, mlcd/Makefile.in: Removed stripping of + executables. + +2001-07-04 06:23 paschal + + * mlcd/ExMgr.cpp: Removed "#ifXXX" preprocessor directives from + ExMgr::syntaxError() to fix compilation errors with gcc-3.0. + +2001-07-03 10:16 paschal + + * mlcd/ExMgr.cpp: Removed #ifdef from within printf() call, to fix + compiler error with gcc-3.0. + +2001-07-03 09:43 paschal + + * apps/cmdline/ptal-hp.c: Changed both readTimeout and + maxShortReadTimeouts to 30 (seconds). + +2001-07-03 09:01 paschal + + * apps/cmdline/ptal-hp.c: Changed maxShortReadTimeouts from 10 to + 20 (seconds). + +2001-07-02 19:57 paschal + + * SCAN-HOWTO: Updated to reflect ptal-hp changes regarding + extension re-writing and batch scanning. + +2001-07-02 19:41 paschal + + * apps/cmdline/ptal-hp.c: Changed some debug messages somewhat. + Fixed jpegDone so it doesn't wait if it appears that there's + nothing to wait on. Changed scan upload timeout from 120 to 45 + seconds. Turned on read timeout, now that the ptalChannelSelect() + bug is fixed. Added multi-page scanning, including -multi, + -pagenum, and -pagenumdigits. Fixed problem with scanning more + than one page on the LaserJet 3200 and 1220, where we are forced to + read the NEWPAGE state and decide on the new state (START or IDLE) + before we get the end of page record. Adds .pnm or .jpg extension + if no extension is given. Changes .pnm or .jpg extension if the + one given mismatches the compression setting. Rearranged some + switches. Hid some unnecessary switches to reduce confusion. + Reduced indention in scan -help message. Added message to indicate + which filename each page is being saved into. Added call to + free(mfpdtfFilename) after opening that file, to prevent a memory + leak. Added exit message about how many pages were successfully + scanned (if any). + +2001-06-28 18:30 paschal + + * include/ptal.h: Changed ptalDeviceIDGetField() to include leading + field name through trailing semicolon. Fixed bug where pointer was + returned to freed memory. Added ptalDeviceIDPruneField() to remove + leading field name, colon, and trailing semicolon. Added + ptalDeviceIDGetCommandSet() and ptalDeviceIDGetSerialNumber(). + +2001-06-28 18:27 paschal + + * apps/cmdline/ptal-devid.c: Added -short and -long options to + prune the field name, colon, and semicolon from the output. + Changed to process all options and print all requested fields, not + just the first found field. Added -cmd and -sern options to query + command set and serial number fields. + +2001-06-28 12:34 paschal + + * apps/cmdline/ptal-devid.c, include/ptal.h: Added device ID field + parsing to libptal and ptal-devid. + +2001-06-27 22:20 paschal + + * SCAN-HOWTO: Forgot to save my latest changes before checking in + the file. :-) + +2001-06-27 22:15 paschal + + * apps/cmdline/xjpg_dec.c: First checkin, with my hacks to extract + it from its original home in an image processing library and + integrate it with ptal-hp for counting raster lines in + JPEG-compressed data. + +2001-06-27 22:07 paschal + + * apps/cmdline/ptal-hp.c: Added counting of raster lines in + compressed JPEG images, using the JPEG decoder in xjpg_dec.c. + -length can now be either absolute or relative to the auto-detected + image height. + +2001-06-27 22:01 paschal + + * apps/cmdline/Makefile.in: Added xjpg_dec.c to the INCLUDES line. + Yes, I know that you're supposed to compile .c files separately, + not #include them like .h files. :-) + +2001-06-27 21:59 paschal + + * SCAN-HOWTO: Added information about ptal-hp's new ability to + automatically detect image height and to adjust with a -length + delta. Added warning that changing the default resolution in + certain situations may lock up the scanner. + +2001-06-24 16:54 paschal + + * mlcd/: ExMgr.cpp, ExMgr.h: Moved initialization of grouped + attributes (socket, llio) out of the ExMgr constructor into + separate functions called by the constructor. Added support for + multiple -device switches and multiple parameters to a single + -device switch, to support shell-globbed args like "/dev/usb/lp*". + Added -devidmatch to specify substrings to match in the device ID + string. Renamed -devid to -devidset. Changed llioOpen to loop + through all devices until it finds one whose device ID string + matches appropriately. In case other instances are doing the same + thing, delays a random amount of time and retries device nodes that + haven't already been opened. errno==EIO in llioRead is now + converted into no data read instead of causing an immediate + deactivation. + +2001-06-19 10:29 paschal + + * mlcd/: ExMgr.h, transport/ExMlcTransport.cpp, + transport/ExTransport.h: Added stub functionality for setting + MLC/1284.4 header control field. Fixed bug with lost reverse + credit after failed MLC (not 1284.4) channel open. + +2001-06-18 19:51 paschal + + * mlcd/ExMgr.cpp: Fixed "fdRegister(invalid fd=-1,r=1,w=0) called + from ExMgr.cpp:2079" error, by not calling fdRegister if a channel + is in SESSION_STATE_OPEN_PENDING. + +2001-06-18 19:20 paschal + + * apps/cmdline/ptal-hp.c, include/ptal.h: Moved + [BL]END_[GS]ET_{SHORT,LONG} macros from ptal-hp.c to ptal.h. + +2001-06-15 08:27 paschal + + * mlcd/ExMgr.cpp: Fixed logging of sleepBeforeOpen. + +2001-06-13 21:20 paschal + + * mlcd/: ExMgr.cpp, ExMgr.h: Added LOG_SYSLOG macro that logs to + syslog but not the console, unless console log level is LOG_WARN or + higher. Joined two log lines for syslog to prevent lines from + multiple instances from getting interleaved. Added LOG_SYSLOG for + successful initialization and activation. Added OK/ERROR return + value for _fdRegister and a debug error log message after one + particular call that is happening occasionally at the wrong time. + Changed syslog facility from daemon to lpr. + +2001-06-13 20:51 paschal + + * apps/cmdline/ptal-printd.c: Changed syslog facility from daemon + to lpr. Added initialization syslog message. + +2001-06-13 09:23 paschal + + * mlcd/: ExMgr.cpp, ExMgr.h: Fixed compiler error in + llioGetDeviceNode(). + +2001-06-12 18:49 paschal + + * mlcd/ExMgr.h: Fixed segfault when connecting to PTAL-MLCD-DEVNODE + without a "-device" setting, which can occur with parallel. + +2001-06-12 17:51 paschal + + * mlcd/: ExMgr.cpp, ExMgr.h: Turned warning messages off by + default, added "logwarn" console command to turn them back on. + Changed the "important" warnings to errors. Fixed some log + messages and dump printfs. Sanitized JD_DEBUG usage, converted + LOGD_* to LOG_*. Added pid to dump() and "pid" debug console + command. Rearranged some attributes and methods in ExMgr class. + Removed select() xsets, which were disabled anyway. Substituted + /dev/null for a closing transport session, as well as for the PML + transport session. That makes the code path simpler because we can + brainlessly write data to such sessions without having to check for + the lack of a file descriptor (but check for the state instead). + Changed the forward and reverse data paths so that queued outgoing + data is only sent from exMain(). This prevents channel/direction + starvation and makes the debug console more available. Generalized + sessionInWrite attribute into exContext enum. Added transparent + file/line passing to fdRegister, to make it easier to debug errors + about an invalid fd passed to this function. Rearranged some + things to make the code more compact and remove redundancies, + especially regarding service state transitions and discarded data + due to channel close. Changed LOG_ERROR_FATAL to LOG_ERROR in + sessionPostSelect() due to an invalid state. Added macros + containing common code for special sockets. Added special sockets + for pid, device node, and command line. Added simulated service + name lookup for special sockets. Fixed sessionServiceOutput() + handling of when the socket write fails, to prevent an + inappropriate channel close (if errno==EAGAIN) and a buffer leak. + Fixed unprepend call in sessionServiceOutput to prevent data loss. + Scan cancel and scanimage --test should now work on OfficeJet + Pro/R/PSC500. Added LOG_NDELAY flag to openlog() so syslog + connection is made at startup. Added dump() method for QueueEntry + class. Increased maximum outstanding forward transactions. + +2001-06-12 11:20 paschal + + * apps/cmdline/ptal-printd.c: Added LOG_NDELAY flag to openlog() + call, so syslog connection is made immediately. + +2001-06-08 05:25 paschal + + * configure, configure.in: Changed test for libqt.so from -x to -f, + since shared libraries don't have to be marked as executable. + +2001-06-05 20:06 paschal + + * mlcd/ExMgr.cpp: Added checking for a live socket (used by another + process) before recreating it. + +2001-06-05 19:28 paschal + + * apps/cmdline/ptal-connect.c: Added -fwdlen and -revlen options to + adjust requested max packet sizes (not including the MLC/1284.4 + header, of course). Removed display of predefined devices, since + currently there are none. + +2001-06-05 19:10 paschal + + * configure, configure.in: Added support for QT installed under + /usr/bin, /usr/lib, and /usr/include/qt. Converted individual + AC_CHECK_HEADER macros to one long AC_CHECK_HEADERS macro that + prints a warning if any file couldn't be found. + +2001-06-05 19:08 paschal + + * Makefile.in: Removed old pixmap definitions. + +2001-06-05 18:34 paschal + + * apps/cmdline/ptal-printd.c: Added immunity to SIGPIPE signals + (which previously caused exit). Added logging of errors to syslog. + Added workaround for lack of stdio FDs when invoked from a hotplug + script. Added typical invocations to syntax message. + +2001-06-05 17:53 paschal + + * mlcd/: ExMgr.cpp, ExMgr.h: Worked around lack of standard I/O FDs + when invoked from a hotplug script. Added logging to syslog. + +2001-06-03 15:21 paschal + + * include/ptal.h: Moved PTAL_DEFAULT_RETRY_COUNT and _DELAY from + ptal.c to ptal.h. Added PTAL_SHORT_RETRY_COUNT. + +2001-06-02 17:46 paschal + + * mlcd/ExMgr.cpp: Special-cased OfficeJet 500 through T series for + bounded ECP (bidi-ECP18). Special-cased OfficeJets C2890A, LX, 3xx + for credit miser and ECP10+nibble. (I don't know if I used the + correct MDLs for C2890A and LX.) Added warning message about SPP + unless "-porttype spp" is given. + +2001-06-02 17:42 paschal + + * mlcd/ParPort.h: Added missing setting of currentChannel in + writeEcpChannel(). + +2001-05-31 18:13 paschal + + * mlcd/: ExMgr.cpp, ExMgr.h: Changed ExBdr::nextInChain references + to use getNext/setNext methods. Changed "-activate" switch to + "-hotplug", which activates on startup and after each deactivation + and exits on activation failure. This flag also enables a 1-second + delay before calling llioOpen to try to prevent crashes which may + stem from re-opening too soon during handling of an unplug event. + Fixed fatal error in ExMlcTransport caused by + llioForwardBdrQueue->empty() in llioClose(); changed this to pull + each BDR chain out of the queue and call + pBdr->getTCD()->forwardDataResponse. + +2001-05-30 10:35 paschal + + * configure, configure.in: Cleared ac_cv_lib_snmp_snmp_open from + cache so "-lsnmp -lcrypto" will get detected properly. + +2001-05-30 10:12 paschal + + * mlcd/: ExMgr.cpp, ExMgr.h: Added -sleepbeforeopen command-line + option. + +2001-05-29 13:51 paschal + + * configure, configure.in: Added detection for whether -lsnmp also + requires -lcrypto. + +2001-05-28 18:47 paschal + + * mlcd/ExMgr.cpp: Added missing setting of + nextRate=LLIO_POLL_RATE_LOW. + +2001-05-28 11:07 paschal + + * mlcd/ExMgr.cpp: Fixed bugs with PML multiplexing where PML + sessions stopped getting serviced, due to failure to search for + more PML data on other sessions after disengaging one session. + +2001-05-27 16:46 paschal + + * mlcd/: ExMgr.cpp, ExMgr.h: Added support for PML multiplexing to + ptal-mlcd. + +2001-05-24 11:06 paschal + + * SCAN-HOWTO: Added information about setting up xscanimage and + xsane as a Gimp plugin. + +2001-05-24 10:39 paschal + + * INSTALL, SCAN-HOWTO: Updated scan documentation to reflect SANE + backend/frontend package split and the new ptal-hp scan support. + +2001-05-23 18:17 paschal + + * INSTALL, SCAN-HOWTO: Updated information about scanning with + ptal-hp. Added mention of SANE backend/frontend split in 1.0.4 and + later. + +2001-05-14 11:06 paschal + + * apps/xojpanel/: Makefile.in, ojmanager.cpp, ojmanager.h, + ojstatus.cpp, xojpanel.cpp, xojpanel.h: From Joe Piolunek and David + Paschal: Combined .h and .cpp files into xojpanel.h and + xojpanel.cpp. Rearranged the Makefile some. Miscellaneous changes + to xojpanel code. + +2001-05-14 11:03 paschal + + * mlcd/: ExMgr.cpp, ExMgr.h: Changed llioRead() timeout to be based + on time rather than number of retries. + +2001-05-08 06:20 paschal + + * apps/cmdline/ptal-hp.c: Added retry loop to SETOBJ_REQUIRED macro + in case of PTAL_PML_ERROR_ACTION_CAN_NOT_BE_PERFORMED_NOW. Changed + WAITOBJ_SCAN_UPLOAD timeout to 10 seconds. + +2001-05-06 23:15 paschal + + * apps/cmdline/ptal-hp.c: Added printing of guessed JPEG image + height. + +2001-05-06 22:47 paschal + + * apps/cmdline/ptal-hp.c: Major code cleanups. Added wait for JPEG + child process to exit. First checkin to officially support T + series. Added tonemap for T series. Changed to only set tonemap + if tonemap object is readable, to fix breakage on pre-T-series + OfficeJets. Added recognition of JPEG DNL marker to help set image + height. Fixed reporting of PML get/set errors. Special-cased + OfficeJets to set default resolution to 300 for -bw/-bwht. Changed + to ignore failure to set upload timeout object (for LaserJet 1100). + Added abortState to prevent endless loops from macros' failing + after abort label. Changed to abort if an unknown device (neither + OfficeJet nor LaserJet) is specified. Fixed printing of default + pixelDataType. Added -length switch to override the JPEG + length-guessing kludge. + +2001-05-05 12:44 paschal + + * apps/cmdline/ptal-hp.c: Added ability for parent process to pass + rowCount to JPEG child process and for child process to rewind the + file and write out the rowCount. Added recognitition of standard + JFIF header input. Changed default pixelDataType to COLOR, except + to GRAY for the OfficeJet 500 series and the LaserJet 1100. Made + expectedEncoding determination more robust. + +2001-05-04 19:50 paschal + + * apps/cmdline/ptal-hp.c: Changes to support scanning on the T + series (almost!): Added some more OIDs. Increased max reverse + packet size for scan to 8K. + +2001-05-04 09:39 paschal + + * apps/cmdline/ptal-hp.c: Added setting upload timeout for scan. + When parsing JPEG and unrecognized short header received, then + outputs unparsed data stream instead of aborting. + +2001-05-04 09:38 paschal + + * apps/cmdline/ptal-pml.c: Added sign-extend prevention in the hex + dump for binary data. + +2001-05-02 19:04 paschal + + * apps/cmdline/ptal-hp.c: Added comments about observations with T + series. Added model recognition of PSC 300 to treat it like an + OfficeJet. + +2001-05-01 12:40 paschal + + * apps/cmdline/ptal-hp.c: Added -addjpeghdr and -noaddjpeghdr + options to override adding of JPEG header. + +2001-05-01 11:55 paschal + + * apps/xojpanel/Makefile.in, mlcd/Makefile.in: Changed CC to CXX + for compiling/linking C++ code. + +2001-04-30 20:58 paschal + + * apps/cmdline/ptal-hp.c: Added JPEG support to enable grayscale + and color scanning on the OfficeJets. Added scan status display + with "ptal-hp scan -help". Fixed bug in setting LSB of resolution. + Added checking of MFPDTF raster encoding field. Removed default + resolution of 300 for OfficeJets. Added "-grey" alias for "-gray". + Changed to save MFPDTF stream only when requested with "-mfpdtf" + switch. + +2001-04-24 16:19 paschal + + * apps/xojpanel/ojstatus.cpp: Changed default font to Courier + (fixed-space). + +2001-04-21 15:12 paschal + + * configure, configure.in, apps/xojpanel/Makefile.in, + apps/xojpanel/hpoj_lcdmon.xpm, apps/xojpanel/hpojlcd.xpm, + apps/xojpanel/ojmanager.cpp, apps/xojpanel/ojmanager.h, + apps/xojpanel/ojstatus.cpp: Changes to xojpanel from Joe Piolunek + and David Paschal: Converted from ojlib to PTAL. Requires PTAL + device name on the command line, and displays in the title bar. + Added support for display OIDs used in some LaserJets. Increased + width from 16 to 20 characters for the LaserJet 3200. Updated + pixmaps and appearance (including removing grid lines). Put back + in the build sequence. Updated Makefile.in (including adding + pixmap dependencies). + +2001-04-21 08:19 paschal + + * mlcd/ExMgr.cpp: Added missing "#include ". + +2001-04-19 19:09 paschal + + * apps/xojpanel/: ojmanager.h, ojstatus.cpp: From Joe Piolunek: + Changed to compile pixmaps into executable instead of loading at + runtime. Updated comments. + +2001-04-19 18:53 paschal + + * apps/xojpanel/: hpoj_lcdmon.xpm, hpojlcd.xpm, ojforlinux.xpm: + Fixed internal label in hpojlcd.xpm. Removed ojforlinux.xpm and + added hpoj_lcdmon.xpm. + +2001-04-19 14:26 paschal + + * mlcd/: ExMgr.cpp, ExMgr.h: Added some missing "void"s in function + declarations/definitions. Implemented rudimentary variable + backchannel polling rate. Added maximum retry count for + ExMgr::llioRead(). + +2001-04-13 13:12 paschal + + * apps/cmdline/ptal-hp.c: Changed default resolution to 300 for + OfficeJets, 100 otherwise. Added compression command-line options. + ptal-hp scan -help displays default resolution. Cleaned up + resolution setting error detection and reporting. Added some more + logging. Added descriptive error message for ADF-empty condition. + +2001-04-13 13:09 paschal + + * mlcd/ExMgr.cpp: Added the OfficeJet T series to the list of + credit misers, even though it's technically a miser only when a + channel is first opened. + +2001-04-12 12:09 paschal + + * INSTALL: Updated to give some information on the new ptal-pml and + ptal-hp utilities. + +2001-04-12 11:14 paschal + + * apps/cmdline/ptal-hp.c: Added checking for scan upload error. + Added -openfirst and -opensecond switches to reorder scan-start and + -open steps. Temporarily disabled setting of compression factor + and copier reduction. + +2001-04-12 09:44 paschal + + * apps/cmdline/ptal-pml.c, include/ptal.h: Basic working PML + implementation over USB and parallel (not yet JetDirect). + +2001-04-12 09:42 paschal + + * apps/cmdline/ptal-hp.c: First checkin. Queries device + information and LCD contents. Sets/queries device clock. Supports + PML/MFPDTF scanning, although there are still many issues to + resolve. + +2001-04-12 09:29 paschal + + * mlcd/: ExMgr.cpp, ExMgr.h: Changed to assume 1284.4 if MLC for + USB (but not parallel). Added -nodot4 command-line option to + disable 1284.4. + +2001-04-12 09:27 paschal + + * configure, configure.in, apps/cmdline/Makefile.in: Added ptal-pml + and ptal-hp to build/install process. + +2001-04-06 21:11 paschal + + * mlcd/ExMgr.cpp: Disabled LOG_ENTRY on fdRegister() that was + causing endless log messages. + +2001-04-05 17:48 paschal + + * mlcd/ExMgr.cpp: In llioRead(), added logging of preadjusted + return code from read(). + +2001-04-03 20:35 paschal + + * mlcd/: ExMgr.cpp, ExMgr.h: Added LOG_WARN macro. Added + "-activate" switch to attempt to activate at startup. Added + partial fix to "scanimage --test" bug, to not close the channel + until all queued forward data has been sent. Reworked signal + handler some. Added fd<0 error checking to fdRegister(). Fixed + bug where linked transport session remained in an unavailable state + after setRemoteSocket or open failed. Added support for optional + "-device /dev/lpX" switch to force the kernel parport drivers to + load so they don't interfere later. Added dumping of up to the + first 16 bytes of forward and reverse data in llioService(). Added + logging of readCount and writeCount at end of llioService(). Added + a retry for retrieving the device ID string in parallel port mode. + Streamlined the syntax message a little bit (removed some + examples). Added more "protected" keywords in ExMgr.h. + +2001-03-31 10:45 paschal + + * apps/cmdline/ptal-printd.c: Added check for bitBucket flag before + writing uel2 to prevent SIGPIPE. + +2001-03-25 19:50 paschal + + * INSTALL: Updated information about minimum kernel versions for + USB support, and added a URL to download printer.c updates. + +2001-03-22 21:40 paschal + + * apps/cmdline/ptal-printd.c: Removed Esc-E from uel1, which may + have caused problems with the OfficeJet 600. + +2001-03-21 14:45 paschal + + * mlcd/: ExMgr.cpp, ExMgr.h: Updated detection of peripherals that + are credit misers. Temporarily disabled opening of PML channel + during activation. Added missing call to + sessionInitialRequestsComplete() in sessionActivate() when + activating without opening PML. Added pmlTransportSession + validation in sessionPmlDisable(). + +2001-03-20 12:06 paschal + + * mlcd/: ExMgr.cpp, ExMgr.h: Changed ptal-mlcd debug console prompt + to include device name suffix. Started laying groundwork for + variable reverse-data poll rate (no functional changes yet). + +2001-03-19 12:03 paschal + + * INSTALL, mlcd/ExMgr.cpp: Added explanation of ptal-mlcd remote + debug console. + +2001-03-19 09:31 paschal + + * mlcd/: ExMgr.cpp, ExMgr.h, mlcd.h: Added optional remote debug + console capability. Added some more session debug log messages. + +2001-03-19 09:23 paschal + + * Makefile.in: Added "all" dependency to "install" target, to make + sure everything is compiled when installing. + +2001-03-18 10:36 paschal + + * mlcd/: ExMgr.cpp, ExMgr.h: Added exCloseCount and exCloseReason. + +2001-03-18 10:35 paschal + + * mlcd/transport/ExTransport.h: Rebased exClose REASON_* enums. + +2001-03-18 10:35 paschal + + * mlcd/transport/ExTransport.cpp: Added some debug error messages. + +2001-03-18 10:32 paschal + + * apps/cmdline/Makefile.in: Streamlined apps/cmdline build by + removing separate compile and link steps. + +2001-03-14 20:42 paschal + + * apps/cmdline/ptal-printd.c: Changed to delay and retry (not + abort) if device can't be opened. Added command-line option to + change retry delay. Changed to bit-bucket print job data if device + write fails during job. + +2001-03-13 19:33 paschal + + * configure, configure.in, mlcd/Makefile.in, mlcd/ParPort.h, + mlcd/ioWrapper.c, mlcd/ioWrapper.h: Added workaround for bug on + some systems with including in C++ code. Fixed + compilation problems when building without parallel-port support. + +2001-03-11 20:36 paschal + + * README: Added mention of ptal-devid. + +2001-03-11 20:04 paschal + + * INSTALL: Added information about ptal-devid application. + +2001-03-11 19:57 paschal + + * configure, configure.in, apps/cmdline/ptal-devid.c, + include/ptal.h: Added PTAL device ID string retrieval support and + ptal-devid application. + +2001-03-11 19:54 paschal + + * apps/cmdline/Makefile.in: Rearranged Makefile dependency. Added + PTAL device ID string retrieval support and ptal-devid application. + +2001-03-11 19:48 paschal + + * mlcd/ExMgr.cpp: Cleaned up fatal error output at startup. Added + check for closed command session between reading and processing + packet. + +2001-03-11 19:46 paschal + + * mlcd/Makefile.in: Rearranged Makefile dependency. + +2001-03-11 14:11 paschal + + * mlcd/ParPort.h: Wrapped 'extern "C" { }' around "#include + " to try to fix a compile error in that file. + +2001-03-10 18:34 paschal + + * apps/cmdline/ptal-connect.c, apps/cmdline/ptal-pml.c, + apps/cmdline/ptal-printd.c, include/ptal.h: Fixed PTAL logging to + use variable-length argument lists. + +2001-03-10 09:59 paschal + + * Makefile.in, configure, configure.in: Updated and cleaned up + build sequence to accomodate migration to ptal-mlcd. + +2001-03-10 09:58 paschal + + * INSTALL, LICENSE, PRINT-HOWTO, README, SCAN-HOWTO: Updated + documentation to reflect migration to ptal-mlcd. + +2001-03-10 09:48 paschal + + * mlcd/: ExMgr.cpp, ExMgr.h, Makefile.in, ParPort.cpp, ParPort.h, + mlcd.h, transport/ExMlcCommandChannel.cpp, + transport/ExMlcTransport.cpp, transport/ExMlcTransport.h, + transport/ExTransport.cpp, transport/ExTransport.h, + transport/ExTransportKnobs.h: First checkin for new "ptal-mlcd" + user-mode I/O driver. + +2001-03-10 09:28 paschal + + * apps/cmdline/Makefile.in: Changed to build PTAL-based apps, which + were moved to this directory. + +2001-03-10 09:27 paschal + + * apps/cmdline/ptal-pml.c: Probably still non-functional. + +2001-03-10 09:26 paschal + + * apps/cmdline/ptal-printd.c: Moved from ptal directory. Changed + to fork by default. Added "-nofork" option to run in foreground. + Rearranged UEL1 to fix problems with PostScript jobs on LaserJet + 3200m. Changed log messages to print PTAL device name. + +2001-03-10 09:22 paschal + + * apps/cmdline/ptal-connect.c: Moved from ptal directory. Removed + uninitialized "wset" fd_set that was causing select to unblock + immediately. + +2001-03-10 07:38 paschal + + * apps/cmdline/cmdline.c: Removed cmdline.c (replaced eventually by + PTAL-based apps). + +2001-03-10 07:37 paschal + + * Makefile.parent, apps/Makefile.in: Removed Makefile.parent and + apps/Makefile.in. + +2001-03-10 07:35 paschal + + * include/: hpo.h, mlccon.h, pml.h, pmloid.h, pmloidentries.h, + pmlvalue.h, version.h: Removed old ojlib and ieee12844 include + files (replaced by ptal and ptal-mlcd). + +2001-03-10 07:34 paschal + + * include/ptal.h: Moved from ptal to include directory. + +2001-03-10 07:30 paschal + + * scripts/: addcr, addpjl: Removed addcr and addpjl scripts. + +2000-12-19 20:23 paschal + + * INSTALL: Added a warning about bug(s) related to running multiple + apps. Added a link to the "Bugs and TODO" page. + +2000-12-19 10:23 paschal + + * PRINT-HOWTO: Fixed typos. + +2000-12-18 23:30 paschal + + * Makefile.in, PRINT-HOWTO, configure, configure.in: Integrated the + new ptal-printd daemon. + +2000-12-13 10:59 paschal + + * apps/cmdline/cmdline.c: Added #includes to remove warnings about + undeclared functions. + +2000-12-07 22:58 paschal + + * apps/xojpanel/: Makefile.in, hpoj_mini.xpm, hpojlcd.xpm, lcd.bmp, + officejet.png, officejet.xpm, ojforlinux.xpm, ojmanager.cpp, + ojmanager.h, ojstatus.cpp, xojpanel.kdelnk: New version of xojpanel + from Joe Piolunek. Improved appearance. Long messages are + scrolled. Pixmap directory is configurable at build time. + +2000-12-07 22:53 paschal + + * configure, configure.in: Sets pixmap path for xojpanel. + +2000-12-07 22:52 paschal + + * Makefile.in: Added installation of xojpanel pixmaps. + +2000-12-07 22:14 paschal + + * PRINT-HOWTO: Completely rewritten by Joe Piolunek, with some + additional information added by David Paschal. + +2000-12-07 22:12 paschal + + * SCAN-HOWTO: Updated to reflect fact that SANE 1.0.4 doesn't need + to be patched. + +2000-12-07 22:11 paschal + + * INSTALL: Updated information on debug flags for ieee12844.o + +2000-12-07 22:07 paschal + + * include/version.h: Changed version number. + +2000-11-19 23:01 paschal + + * ANNOUNCE, INSTALL, Makefile.in, README, TODO, apps/Makefile.in, + apps/cmdline/Makefile.in, apps/cmdline/cmdline.c, include/hpo.h, + include/mlccon.h, include/pml.h, include/pmloid.h, + include/pmlvalue.h, include/version.h: Updated documentation and + removed RCS logs. + +2000-11-19 11:37 paschal + + * COPYING, INSTALL, LICENSE, PRINT-HOWTO, README, TODO, configure, + ANNOUNCE, Makefile.in, Makefile.parent, configure.in, install-sh, + SCAN-HOWTO, sane-1.0.3-hpoj.patch, apps/Makefile.in, + apps/cmdline/Makefile.in, apps/cmdline/cmdline.c, + apps/xojpanel/Makefile.in, apps/xojpanel/lcd.bmp, + apps/xojpanel/ojmanager.cpp, apps/xojpanel/ojmanager.h, + apps/xojpanel/ojstatus.cpp, include/hpo.h, include/mlccon.h, + include/pml.h, include/pmloid.h, include/pmloidentries.h, + include/pmlvalue.h, include/version.h, scripts/addcr, + scripts/addpjl: Initial revision + +2000-11-19 11:37 paschal + + * COPYING, INSTALL, LICENSE, PRINT-HOWTO, README, TODO, configure, + ANNOUNCE, Makefile.in, Makefile.parent, configure.in, install-sh, + SCAN-HOWTO, sane-1.0.3-hpoj.patch, apps/Makefile.in, + apps/cmdline/Makefile.in, apps/cmdline/cmdline.c, + apps/xojpanel/Makefile.in, apps/xojpanel/lcd.bmp, + apps/xojpanel/ojmanager.cpp, apps/xojpanel/ojmanager.h, + apps/xojpanel/ojstatus.cpp, include/hpo.h, include/mlccon.h, + include/pml.h, include/pmloid.h, include/pmloidentries.h, + include/pmlvalue.h, include/version.h, scripts/addcr, + scripts/addpjl: First checkin, starting with version 0.6, minus the + outdated "doc" tree. + --- hpoj-0.91.orig/lib/hpojip/xjpg_fix.c +++ hpoj-0.91/lib/hpojip/xjpg_fix.c @@ -389,7 +389,7 @@ \*****************************************************************************/ -#define MYLOCATE(p) (void *)(p)=(g->headerBuffer+lenAddedHeader) +#define MYLOCATE(p) p=(g->headerBuffer+lenAddedHeader) #define MYWRITE(p) lenAddedHeader+=sizeof(*(p)) #define MYWRITEBUF(data,datalen) \ do { \ --- hpoj-0.91.orig/scripts/ptal-cups.in +++ hpoj-0.91/scripts/ptal-cups.in @@ -69,11 +69,11 @@ ### ### This script depends on the following programs being in the PATH ### ptal-device, ptal-devid, ptal-connect, basename, cat -### If these commands are not in @prefix@/bin, /bin, /usr/bin, +### If these commands are not in /usr/sbin, /bin, /usr/bin, ### or /usr/local/bin on your computer, set PATH below to include ### where they are located. -PATH=$PATH:@prefix@/bin:/bin:/usr/bin:/usr/local/bin +PATH=$PATH:/usr/sbin:/bin:/usr/bin:/usr/local/bin ### Uncomment for crude debugging output # DEBUG=true --- hpoj-0.91.orig/scripts/ptal-init.in +++ hpoj-0.91/scripts/ptal-init.in @@ -1,4 +1,15 @@ #!/usr/bin/perl +### BEGIN INIT INFO +# Provides: hpoj +# Required-Start: $remote_fs +# Required-Stop: $remote_fs +# X-Start-Before: cupsys +# X-Stop-after: cupsys +# Default-Start: 2 3 4 5 +# Default-Stop: 0 +# Short-Description: Start daemon at boot time +# Description: Enable service provided by daemon. +### END INIT INFO # chkconfig: 2345 59 61 # description: ptal-init is the init script and device setup utility \ # for the HP OfficeJet Linux driver. @@ -78,7 +89,7 @@ $basename=$'; } my $retcode=0; -my $prefix="@prefix@"; +my $prefix="/usr/sbin"; my $etcPtal="/etc/ptal"; my $etcPtalDefaults="$etcPtal/defaults"; my $etcPtalDefaultDevice="$etcPtal/default-device"; @@ -86,6 +97,11 @@ my $varLock="/var/lock"; my $varLockSubsys="$varLock/subsys"; my $osPlatform=`uname -s 2>/dev/null`; +chomp $osPlatform; +my $linuxVersion=($osPlatform eq 'Linux' ? `uname -r 2>/dev/null` : ''); +$linuxVersion=~s/^(\s*)(\d+\.\d+)(\..*)$/$2/; +chomp $linuxVersion; +my $usbprintermodule = ($linuxVersion eq '2.6' ? "usblp" : "printer"); my %devnames; my %obsoleteDevnames; my %configInfo; @@ -1218,12 +1234,12 @@ # undef -- skip USB probe # 0 -- do nothing, proceed with USB probe # >0 -- load printer.o -# <0 -- disable and unload printer.o +# <0 -- disable and unload printer.o/usblp.o sub linuxWhatShouldWeDoAboutUsbPrinterModule { my $isSmp=&linuxIsSmp; my $libusbSupported=&ptalMlcdSupportsLibusb; my $usblpIsLoaded=&linuxUsblpIsLoaded; - my $printerIsLoaded=&linuxModuleIsLoaded("printer"); + my $printerIsLoaded=&linuxModuleIsLoaded($usbprintermodule); # non-SMP: if (!$isSmp) { @@ -1257,9 +1273,10 @@ } goto allowInsmodPrinter; - # SMP, libusb support, some sort of printer.c functionality loaded: + # SMP, libusb support, some sort of printer.c/usblp.c + # functionality loaded: } elsif ($usblpIsLoaded) { - # printer.c compiled into the kernel: + # printer.c/usblp.c compiled into the kernel: if (!$printerIsLoaded) { if (!&askYN( "\n". @@ -1276,7 +1293,7 @@ return undef; } - # printer.c compiled and loaded as a module: + # printer.c/usblp.c compiled and loaded as a module: } else { promptDisableRmmodPrinter: my $r=&askYN( @@ -1297,8 +1314,9 @@ } } - # SMP, libusb support, printer.c enabled although not loaded: - } elsif (!&linuxModuleIsDisabled("printer")) { + # SMP, libusb support, printer.c/usblp.c enabled although not + # loaded: + } elsif (!&linuxModuleIsDisabled($usbprintermodule)) { goto promptDisableRmmodPrinter; } @@ -1322,11 +1340,11 @@ return 1; } if ($r<0) { - $r=&linuxDisableAndUnloadModule("printer", + $r=&linuxDisableAndUnloadModule($usbprintermodule, "to prevent possible system instability due to SMP+USB"); } else { linuxJustLoad: - $r=&linuxInsmod("printer",$quiet); + $r=&linuxInsmod($usbprintermodule,$quiet); } if (!$r && !$quiet && &askYN("\n*** Continue with the USB probe anyway".$msg,0)) { @@ -1418,9 +1436,9 @@ my $probeCmdline="ptal-mlcd $probeName -remconsole"; my $devnode; my @devnodes; - my $usbWildcard=join('" "',@usbWildcards); + my $usbWildcard=join(' ',@usbWildcards); if (defined($usbWildcard)) { - $probeCmdline.=" -device \"$usbWildcard\""; + $probeCmdline.=" -device $usbWildcard"; @devnodes=glob($usbWildcard); } @@ -1597,7 +1615,7 @@ } else { my $parModulesLoaded=0; - # Don't "modprobe printer" on SMP Linux with libusb support: + # Don't "modprobe printer/usblp" on SMP Linux with libusb support: my $usbModulesLoaded= (&ptalMlcdSupportsLibusb && $osPlatform=~/Linux/ && &linuxIsSmp); @@ -1626,7 +1644,8 @@ my $ptalMlcdCmdline; if ($devname=~/^mlc:/) { $ptalMlcdCmdline="ptal-mlcd $devname ". - $configInfo{"$devname#$cfgstrMlcdAppend"}; + $configInfo{"$devname#$cfgstrMlcdAppend"}. + " >/dev/null 2>/dev/null /dev/null 2>/dev/null /dev/null 2>/dev/null --- hpoj-0.91.orig/doc/ptal-devid.html +++ hpoj-0.91/doc/ptal-devid.html @@ -99,13 +99,19 @@ VSTATUS:$HB0$NC0,ff,DN,IDLE,CUT,K0,C0,DP,NR,KP053,CP061; AiO:0; DW-PCL; + $ ptal-devid mlc:usb:OfficeJet_G85 -long -mfg -mdl -cmd +
+
 MFG:Hewlett-Packard;
 MDL:OfficeJet G85;
 CMD:MLC,PCL,PML,SCL;
+
$ ptal-devid mlc:usb:OfficeJet_G85 -short -mfg -mdl -cmd +
+
 Hewlett-Packard
 OfficeJet G85
 MLC,PCL,PML,SCL
--- hpoj-0.91.orig/doc/ptal-photod.html
+++ hpoj-0.91/doc/ptal-photod.html
@@ -50,6 +50,7 @@
 
  • -portoffset n -- the desired TCP/IP port offset (default=0) relative to the TCP/IP base port (see -baseport below) + Other possible options (not necessary in most cases):
      --- hpoj-0.91.orig/debian/hpinklevel +++ hpoj-0.91/debian/hpinklevel @@ -0,0 +1,80 @@ +#!/usr/bin/perl -w +# Copyright 2004 Francois Gouget +# Released under the GNU General Public License, version 2 or later. +# +# Based on information found in Markus Heinz's libinklevel. +# http://libinklevel.sourceforge.net/ + +use strict; + +my $name0=$0; +$name0 =~ s+^.*/++; + + +if (@ARGV!=1) +{ + print STDERR "Usage: $name0 \n"; + print STDERR "Where may be one of:\n"; + system("ptal-device"); + exit 2; +} +my $device=$ARGV[0]; + +my $ptal_devid=`ptal-devid \"$device\"`; +chomp $ptal_devid; + +my @tags=grep /^S:/, (split /;/, $ptal_devid); +if (@tags==0) +{ + print STDERR "$name0:warning: Information not found.\n"; + exit 1; +} +elsif (@tags>1) +{ + print STDERR "$name0:warning: Got multiple fields from which to compute the ink level:\n"; + map { print STDERR "\t$_\n" } @tags; + print STDERR "Using the first one.\n"; +} +my $tag=$tags[0]; + + +if (substr($tag,-17,2) =~ /2c/i) +{ + # Two cartridges + my $cartridge1=hex substr($tag,-10,2); + my $cartridge2=hex substr($tag, -2,2); + if (substr($tag,-15,1) eq "1") + { + print "Color: $cartridge2%\n"; + print "Black: $cartridge1%\n"; + } + elsif (substr($tag,-15,1) eq "3") + { + print "Color: $cartridge2%\n"; + print "Photo: $cartridge1%\n"; + } + else + { + print "Cartridge1: $cartridge1%\n"; + print "Cartridge2: $cartridge2%\n"; + } +} +elsif (substr($tag, -4,1) eq "8" and substr($tag, -8,1) eq "7" and + substr($tag,-12,1) eq "6" and substr($tag,-16,1) eq "5") +{ + # CMYK cartridges + my $yellow =hex substr($tag, -2,2); + my $magenta=hex substr($tag, -6,2); + my $cyan =hex substr($tag,-10,2); + my $black =hex substr($tag,-14,2); + print "Cyan: $cyan%\n"; + print "Magenta: $magenta%\n"; + print "Yellow: $yellow%\n"; + print "Black: $black%\n"; +} +else +{ + print STDERR "$name0:warning: Unknown printer type\n"; + print STDERR "\t$tag\n"; + exit 1; +} --- hpoj-0.91.orig/debian/postinst +++ hpoj-0.91/debian/postinst @@ -0,0 +1,81 @@ +#! /bin/sh +# postinst script for #PACKAGE# +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `configure' +# * `abort-upgrade' +# * `abort-remove' `in-favour' +# +# * `abort-deconfigure' `in-favour' +# `removing' +# +# for details, see /usr/share/doc/packaging-manual/ +# +# quoting from the policy: +# Any necessary prompting should almost always be confined to the +# post-installation script, and should be protected with a conditional +# so that unnecessary prompting doesn't happen if a package's +# installation fails and the `postinst' is called with `abort-upgrade', +# `abort-remove' or `abort-deconfigure'. + +case "$1" in + configure) + + + # Taken from top-level makefile for HP OfficeJet Linux driver (hpoj) package. + # + # Setup sane-dll(5) support + + file=/etc/sane.d/dll.d/hpoj + if test -f $file ; then \ + if ! grep ^hpoj $file >/dev/null 2>/dev/null ; then \ + echo "hpoj: To enable scanning with sane you must" + echo "hpoj: manually uncomment the hpoj entry in $file." ; \ + + # The following line adds hpoj entry automatically + # but is commented out as it is against Debian policy + # echo hpoj >>$file ; \ + fi ; \ + fi + + # Recommend cleanup from previous /usr/local install + # + prefix=/usr/local + for file in bin/hpo bin/ieee12844_print bin/ptal-printd bin/addpjl lib/ieee12844.o lib/ieee12844pp.o etc/ptal-start.conf etc/ptal-start.conf.new etc/ptal-stop.conf etc/ptal-stop.conf.new share/pixmaps/hpoj doc/hpoj ; do \ + if test -f $prefix/$file ; then \ + if test $file = bin/addpjl && test -f $prefix/bin/addcr ; then \ + file="$file and $prefix/bin/addcr"; \ + fi ; \ + echo "Please remove obsolete file \"$prefix/$file\"." ; \ + fi ; \ + if test -f /$file ; then \ + echo "Please remove obsolete file \"/$file\"." ; \ + fi ; \ + if test -d $prefix/$file ; then \ + echo "Please remove obsolete directory \"$prefix/$file\"." ; \ + fi ; \ + done + ;; + + abort-upgrade|abort-remove|abort-deconfigure) + + ;; + + *) + echo "postinst called with unknown argument \`$1'" >&2 + exit 0 + ;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 + + --- hpoj-0.91.orig/debian/compat +++ hpoj-0.91/debian/compat @@ -0,0 +1 @@ +4 --- hpoj-0.91.orig/debian/todo.shtml +++ hpoj-0.91/debian/todo.shtml @@ -0,0 +1,280 @@ + + +HP OfficeJet Linux driver project + + + + + + + + + +
      +
      + HP OfficeJet Linux driver +
      + +
      + + HP PSC 950 all-in-one + +
      + + + + + +
      + +SourceForge Logo +
      + +
      +
      + + + + +

      Bugs and TODO list

      + +

      Known bugs in hpoj-0.8

      + +Archived in a separate page. + +

      Known bugs in 0.90, not yet fixed or documented as appropriate:

      +
        + +

      • + +
      + +

      Known bugs in 0.90, fixed or documented as appropriate and checked into +CVS:

      +
        + +

      • + +
      + + +

      Known issues with related software:

      +
        + +

      • + +
      + +

      Known new issues with code checked into CVS since version 0.90:

      +
        +

      • +
      + + +

      High-priority TODO list for version 0.91:

      +
        + +
      • After releasing 0.90: +
          +
        • Remove PTAL support/documentation from SANE "hp" backend and +Peter Kirchgessner's website. +
        • Invite RedHat to add hpoj to RawHide and future distribution versions. +
        + +
      + +

      Low-priority TODO list for after version 0.91:

      +
        + +
      • General: +
          +
        • Revisit all of the TODOs in the code and documentation. +
        • Resolve issues listed above. +
        • Work with *BSD developers to get necessary USB printer-class support. +
        • Make everything (especially libraries) static- and const-correct. +
        • Patch mtools so it copes better with not having an xauth cookie. +
        + +
      • ptal-mlcd: +
          +
        • Is there a reverse-credit loss if we get a duplicate InitReply? +
        • Merge ParPort.* changes. +
        • Make ParPort/ioWrapper/ExCommon stuff into a static library. +
        • Add support for passthrough (non-MLC/1284.4) transport over USB 7/1/[12]. +Route print connections through passthrough transport and scan connections +through USB composite interface (if present). +
        • Add ability to match USB vendor/product ID in addition to device ID fields. +
        • Be more forgiving of split reads (i.e headers) over USB? +
        • Split UsbMgr, ParMgr, and main() into separate .cpp/.h files? +
        • Improve the handling of an exClose deep within a call chain, to +prevent fatal errors and other nastiness. Maybe do a message-based +exClose (including in the transport code) instead of a direct call? +
        • Implement multiplexing of PML traps. +
        • Improve parallel-port performance: +
            +
          • Implement hardware-assisted ECP transfers. +
          • Add optional support for Linux 2.4 "ppdev" interface. +
          • Add optional support for Tim Waugh's +libieee1284 library. +
          +
        • Add detection of parallel-port interference from another process or a +kernel driver. Try to open /dev/lpX at startup (don't fatal error if it +fails), and make sure it's open at activation time (don't activate if this +fails), and don't close it at deactivation? +
        • Add some sort of parallel-port heartbeat (periodic PML get or device +ID retrieval?) to detect power-off or disconnection of peripheral. +
        • Support USB on non-Linux platforms, such as *BSD. +
        + +
      • libptal: +
          +
        • Add GGW alternative for retrieving the device ID through JetDirect, +in case SNMP isn't installed or doesn't get routed. +
        • Add generalized HPPSP support. +
        • Add generalized MFPDTF download support. +
        • Implement PML traps. +
        • Implement PML GetNext support. +
        • Clean up handling of PML Get[Next]Reply and SetReply. +
        • Make service name lookup accessible without opening a channel. +
        + +
      • libhpojip: +
          +
        • Implement horizontal/vertical mirror xforms. +
        • Move common xjpg_* stuff to a .h file. +
        • Add hpojip-test support for table/tonemap xforms. +
        • Finish porting "xheader" driver (needed for fax-send). +
        • Test all xforms (via test harness?). +
        + +
      • libgphoto2-hpoj: +
          +
        • Write gPhoto2 backend for the photo-card readers on the PSC 950 and +PhotoSmart printers. Distribute with hpoj, not gPhoto2. +
        + +
      • libsane-hpoj: +
          +
        • libsane-hpoj doesn't handle frontend- or device-initiated cancels +very well. +
        • Scanning with no documents on T series (what about other models?) +with adf-mode=auto causes long delay before "no documents" error message. +
        • Test/fix frontend- and device-initiated cancels, especially on SCL +scanners. +
        • Verify "scanadf" and "saned" functionality. +
        • Manage divideAndShift() roundoff error better. +
        • Add "dump" button to ease debugging. +
        • Add length-measurement option for exact reported height +(need to scan and spool entire image before sane_hpoj_start returns). +
        • Implement separately controllable X and Y resolutions, the ranges of +which may be different for ADF versus flatbed. +
        • Implement separate X/Y extents for ADF versus flatbed. +
        • For the LaserJet 3300 series, try to support native scan window. +
        • Add support for greater than 8 bits per color component. +
            +
          • May need to restrict to flatbed and resolution list. +
          +
        • Color depth and ADF settings may need to be moved up in the option list. +
        • Add horizontal/vertical mirror options and a tablet/book duplex option. +
        • Add fax-receive and photo-card support. +
        + +
      • cmdline apps: +
          +
        • ptal-printd: add command-line options to change retry delay/count. +
        • Add support for print-job pacing to ptal-connect and ptal-printd, +to workaround DeskJet 9[986]0 etc. issues and prevent many short jobs +from quickly escaping control of the spooler. +
        • ptal-pml: make device name optional. +
        • ptal-mlcd, ptal-printd, ptal-photod: trap signals to clean up and +log a message upon exit. +
        • ptal-photod: add support for bytesPerSector!=512. +
        • ptal-photod: try to speed up by reading/writing multiple sectors at a time. +
        • ptal-hp: add more status and configuration capabilities, such as +ink levels and fax configuration. +
        • Add fax-send application. +
        • Add copy application for models that require PC assistance. +
        • Add support for asynchronous device-initiated scans, fax receives, and +photo retrieval requests. Maybe deliver the resulting image(s) via e-mail? +
        • Add option to drop privileges (change effective UID/GID) to ptal-mlcd, +ptal-printd, ptal-photod. +
        • ptal-photod: investigate mountable FUSD-based disk I/O support. +
        • Add PML GetNext and trap support to ptal-pml. +
        • Add ptal-lookup app to perform 1284.4 service name lookup. +
        + +
      • ptal-init: +
          +
        • +
        + +
      • xojpanel: +
          +
        • +
        • Replace xojpanel with app that can configure device and display +more status. The new ptal-hp command-line application is a prototype. +
        + +
      • Build process and codebase layout: +
          +
        • Fix QT3 linking on FreeBSD (unresolved "pthread" dependency). +
        • Use something like "--with-cups-backend=`cups-config --serverbin`/backend" +automatically. +
        • For Till: some way to put a version number in the installed doc directory. +
        • Add newly used system include files to configure.in. +
        • Add support for NET-SNMP. +
        • On V. Funkhouser's FreeBSD system, QT *.h and *.so are all(!) installed in +/usr/X11R6/include/qt2. +
        • Use libtool to name/install shared libraries and symlinks. Alternatively, +look at sane-backends/backend Makefile and tools/libtool-get-dll-ext. +
        • "make uninstall" and/or hpoj-uninstall script. +
        • Integrate Simon Mudd's FreeBSD "port" spec files. +
        • Search for and warn user of old installations in other prefixes. +
        • Fix (or at least document) installation of ptal-init script on older +SuSE versions with nonstandard init setups (for Karsten H. and Charlie R.). +
        • Add hpoj-cvs mailing list to broadcast checkins. +
        • Move OID, structure, and enum definitions from ptal-hp and xojpanel +to a common include file. +
        + +
      • Documentation: +
          +
        • Make sure all links are good (clear history first). +
        • Review documentation thoroughly for content, typos, and format. +
        • Add section of notes for distributors and packagers. +
        • Add software-architecture ASCII art? +
        + +
      + +

      Major changes checked into CVS since 0.90, which will go into 0.91:

      +
        + +
      • + +
      + +
      +
      + +

      +
      +David Paschal
      +Last changed August 08, 2002 +
      + + + + --- hpoj-0.91.orig/debian/copyright +++ hpoj-0.91/debian/copyright @@ -0,0 +1,47 @@ +This package was debianized by Mark Purcell on +Sat, 11 Aug 2001 16:21:12 +1000. + +It was downloaded from http://hpoj.sourceforge.net/download/ + +Upstream Author: David Paschal + +Copyright: + +Released under the GNU General Public License, version 2 +or later, found on Debian GNU/Linux systems in the file +/usr/share/common-licenses/GPL + +// This is the HP OfficeJet Linux Driver (hpoj) package. + +/* Portions Copyright (C) 2000-2002 Hewlett-Packard Company + * Portions Copyright (C) 2000-2002 Joe Piolunek + * Portions Copyright (C) 2001-2002 Mark J. Horn + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * is provided AS IS, WITHOUT ANY WARRANTY; without even the implied + * warranty of MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, and + * NON-INFRINGEMENT. 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., 51 Franklin St, Fifth Floor, Boston, + MA 02110-1301, USA. + * + * In addition, as a special exception, the copyright holders give + * permission to link the code of portions of this program with the + * OpenSSL library under certain conditions as described in each + * individual source file, and distribute linked combinations + * including the two. + * You must obey the GNU General Public License in all respects + * for all of the code used other than OpenSSL. If you modify + * file(s) with this exception, you may extend this exception to your + * version of the file(s), but you are not obligated to do so. If you + * do not wish to do so, delete this exception statement from your + * version. If you delete this exception statement from all source + * files in the program, then also delete it here. + */ --- hpoj-0.91.orig/debian/watch +++ hpoj-0.91/debian/watch @@ -0,0 +1,2 @@ +version=3 +http://sf.net/hpoj/hpoj-(.*)\.tgz --- hpoj-0.91.orig/debian/suplist.shtml +++ hpoj-0.91/debian/suplist.shtml @@ -0,0 +1,895 @@ + + +HP OfficeJet Linux driver project + + + + + + + + + +
      +
      + HP OfficeJet Linux driver +
      + +
      + + HP PSC 950 all-in-one + +
      + + + + + +
      + +SourceForge Logo +
      + +
      +
      + + +

      Supported devices

      + +The following table is a list of devices and functionality +which are known to work or not to work.

      + +See below for an explanation of the meaning of various parts of the table.

      + +"xi" variations of these products are also supported. Usually they have +only small differences in standalone functionality (such as maximum number +of copies) or in the bundled Windows-based software.

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      Device + Parallel + USB + JetDirect + Print + xojpanel + Scan + Photo + PC fax send + PC fax receive +

      Scrollfed (sheetfed) OfficeJets:
      HP OfficeJet LX YES no no DJ540 YES YES no not yet not yet
      HP OfficeJet 300 Series YES no no DJ540 YES YES no not yet not yet
      HP OfficeJet 500 Series YES no no DJ6xx YES YES no not yet not yet
      Sony IJP-V100 YES no no DJ6xx YES YES no not yet not yet
      HP OfficeJet 600 Series YES no no DJ6xx YES YES no not yet not yet
      HP PSC 300 Series YES no no DJ6xx YES YES no no no
      HP OfficeJet 700 Series YES no no DJ6xx YES YES no not yet not yet
      HP OfficeJet T Series YES no no DJ8xx YES YES no not yet not yet
      HP OfficeJet K Series YES YES(3) YES DJ9xx YES YES no not yet no
      HP OfficeJet V Series no YES(3,2) YES DJ9xx YES YES no not yet no

      Flatbed OfficeJets:
      HP OfficeJet Pro 1150C YES no YES DJ850 no YES no no no
      HP OfficeJet Pro 1170C/1175C YES no YES DJ890 no YES no no no
      HP OfficeJet R Series YES no YES DJ8xx no YES no no no
      HP PSC 500 Series YES no YES DJ8xx no YES no no no
      HP + OfficeJet G55 YES YES(3) YES DJ9xx YES YES no no no
      HP + OfficeJet G85, G95 YES YES(3) YES DJ9xx YES YES no not yet no
      HP PSC 700 Series no YES(3,2) YES DJ9xx YES YES no no no
      HP PSC 900 Series no YES(3,2) YES DJ9xx YES YES YES not yet no
      HP + OfficeJet D125 YES YES(3,2) YES DJ9xxVIP YES YES no no no
      HP + OfficeJet D135 YES YES(3,2) YES DJ9xxVIP YES YES no not yet no
      HP + OfficeJet D145, D155 YES YES(3,2) YES DJ9xxVIP YES YES YES not yet no

      LaserJets:
      HP LaserJet 1100A YES no YES LJMono no YES no no no
      HP LaserJet 1200 YES YES(3,2) YES PostScript YES no no no no
      HP LaserJet 1220 YES YES(3,2) YES PostScript YES YES no no no
      HP LaserJet 2200 YES YES(3,2) YES PostScript YES no no no no
      HP LaserJet + + 3200, + + 3200se YES YES(3,2) YES LJMono YES YES no not yet no
      HP + LaserJet 3200m YES YES(3,2) YES PostScript YES YES no not yet no
      HP LaserJet + + 3300, + + 3310, + + 3320 YES YES(3,2) YES PostScript YES YES no no no
      HP + LaserJet 3330 YES YES(3,2) YES PostScript YES YES no not yet no

      PhotoSmart printers:
      + HP PhotoSmart 100 no YES(3,2) YES PS100 no no YES no no
      + HP PhotoSmart 130 no YES(3,2) YES PS100 no no YES no no
      HP PhotoSmart + 1000, + 1100 YES YES(2) YES DJ9xx no no YES no no
      + HP PhotoSmart 1115 YES YES(3,2) YES DJ9xxVIP no no YES no no
      HP PhotoSmart + 1215, + 1218 YES YES(2) YES DJ9xxVIP no no YES no no
      + HP PhotoSmart 1315 YES YES(3,2) YES DJ9xxVIP no no YES no no
      + HP PhotoSmart 7150 no YES(2) YES DJ9xxVIP no no no no no
      + HP PhotoSmart 7350 no YES(3,2) YES DJ9xxVIP no no YES no no
      + HP PhotoSmart 7550 no YES(3,2) YES DJ9xxVIP no no YES no no
      + +

      Notes and explanation

      + +

      Labels

      + +
        + +

      • "YES" means that the feature is supported +by the device in the most recent officially +released version. + +

      • "in CVS" means that the feature is supported +by the device in the development code in CVS, but not yet in an officially +released version. + +

      • "not yet" and "coming soon" mean that the feature is supported by the +device, but it is not yet supported by the hpoj software. +See the Bugs and TODO page for more information. + +

      • "no" means that the feature is not +supported by the device and therefore cannot be supported by the hpoj +software. This also applies in the cases of fax send and/or receive +where the device only supports the feature in a standalone fashion without +PC assistance, as is the case with the OfficeJet R80. + +
      + +

      Columns

      + +
        + +

      • The "Parallel" column indicates whether the device has an +hpoj-supported parallel port. + +

      • The "USB" column indicates whether the device has an hpoj-supported USB +port. See below for explanations of what the "(3,2)" suffixes mean for you. +(Specifically, they indicate what kind/order of USB printer-class interface +descriptors the device advertises: 3=7/1/3, 2=7/1/[21].) + +

      • The "JetDirect" column indicates which devices support access to MFP +features, such as scanning, through a capable HP JetDirect print server +(see below). + +

      • The "Print" column indicates the most optimal ghostscript or +HP inkjet +driver to use with each device. +
          +
        • As an alternative to the hpijs drivers, you can use the following +standard ghostscript drivers: +
            +
          • cdj550 for PCL-only inkjets +
          • ljet4 for PCL-only LaserJets +
          +
        • If your distribution's printer-setup utility lists models rather than +drivers for hpijs-supported models: +
            +
          • DJ6xx devices are compatible with the DeskJet 600 +
          • DJ8xx devices are compatible with the DeskJet 895 +
          • DJ9xx devices are compatible with the DeskJet 970 +
          • DJ9xxVIP devices are compatible with the DeskJet 990 +
          • LJMono devices are compatible with the +
          +
        • Note that hpinkjet version 0.96 or later is required for proper +operation with the OfficeJet 500/600/700/PSC300 series. +
        • The PSC 300 and OfficeJet 700 series also support the DJ6xxPhoto driver +if you have an optional photo cartridge installed (with black, light cyan, +and light magenta inks). +
        + +

      • The "xojpanel" column indicates which devices support software access +to the LCD contents, which is needed by the xojpanel application. + +

      • The "Scan" column indicates which one of the following methods may be +used to scan on each device: +
          +
        • For hpoj 0.90 and later, the new SANE "hpoj" backend +provided with the hpoj software is used for scanning on all models. +
        • For hpoj-0.8, the traditional +SANE (1.0.4 through 1.0.8 only) +HP backend +was used for scanning on flatbed OfficeJets and newer scrollfed OfficeJets, +and the "ptal-hp scan" command-line utility was used for scanning on +LaserJets and older scrollfed OfficeJets (T series and earlier). +
        + +

      • The "Photo" column indicates which devices include digital-camera +memory card readers, which are supported starting with hpoj-0.90. + +
      + +

      System requirements

      +
        + +

      • To use a device connected to a PC parallel port using ptal-mlcd: +
          +
        • Probably any version of Linux on Intel x86 or Alpha. +
        • FreeBSD is supported as of hpoj-0.90. +
        • It may not be possible to support NetBSD and OpenBSD in parallel-port +mode, because those platforms don't seem to provide a way for a user-mode +driver (ptal-mlcd) to bypass the kernel and access the parallel-port +registers directly. +
        • Parallel port should preferably be set to ECP, or bidirectional ("PS/2") +if ECP is not possible. Unidirectional ("SPP") should now be handled properly +by the driver, but the performance will be much lower, and some peripherals +have trouble communicating in this mode. +
        + +

      • To use a device connected to a PC USB port using ptal-mlcd: +
          +
        • For "YES(3)" (7/1/3-only) and +"YES(3,2)" (7/1/3 and 7/1/2) devices: +
            +
          • Linux kernel 2.2.19 or 2.4.2 or later. +
          • hpoj-0.8 or later. +
          +
        • For "YES(2)" (7/1/2-only) devices: +
            +
          • Linux kernel 2.4.19 or 2.5.7 or later. +
          • hpoj-0.90 or later. +
          +
        • If your otherwise-USB-capable Linux kernel doesn't meet the +minimum-version requirements above, then you may upgrade to +David's modified version of +printer.c in conjunction with hpoj-0.90 or later. +
        • Both OHCI and UHCI USB interfaces should be supported. However, some +USB host controllers are defective and may cause problems. +
        • FreeBSD, NetBSD, and OpenBSD are not yet supported in USB mode, due to +missing functionality in the kernel "ulpt" driver (bidirectional I/O, +device ID retrieval, switching to 7/1/3, and HP channel-change-request). +
        • Some older motherboard-integrated USB chipsets have bugs that may cause +unreliable operation with ptal-mlcd. Such problems may be resolved by +switching between the usb-uhci and uhci kernel drivers +and powering your computer off and on, and/or installing a PCI OHCI USB +add-in card. +
        • Note: USB-to-parallel converters are not supported. +
        + +

      • For those desiring printing-only functionality (no scanning or +photo-card access) on the above USB-supported models with a local USB +connection: +
          +
        • For "YES(3)" (7/1/3-only) devices: +
            +
          • You must use hpoj (0.8 or later), even if you only want to print. +
          +
        • For "YES(2)" (7/1/2-only) devices: +
            +
          • You don't need hpoj if you only want to print. +
          +
        • For "YES(3,2)" (7/1/3 and 7/1/2) devices:
          +You have the following options if you only want to print: +
            +
          • Use David's modified version +of printer.c; +
          • Use a kernel that contains David's printer.c changes: currently +2.5.7 and later, 2.4.19 (actually 2.4.19-pre5) and later; not currently +incorporated into the 2.2 kernel tree; +
          • Use another appropriately-patched vendor-supplied kernel, such as that +shipped with RedHat 7.2 or updated for 7.1; +
          • Use the hpoj software anyway, even if you only plan to set up printing. +
          • Use the parallel port instead of USB if your model is so equipped. +
          +
        + +

      • To use a device connected to a LAN via an +HP JetDirect print server: +
          +
        • Parallel port: +
            +
          • JetDirect 70X, 170X, 300X, or 500X, with firmware x.07.xx or later. +
          • Use with the OfficeJet G and K series requires firmware x.08.xx or later. +
          • Parallel-port JetDirects do not support photo-card access on the +PhotoSmart printers. +
          +
        • USB: +
            +
          • JetDirect 175X, 310X, or 380X +
          +
        • LIO (for OfficeJet D series): +
            +
          • JetDirect 200m or 250m +
          • Note: Photo-card access on the OfficeJet D series doesn't currently work +through an LIO print server. Use the USB or parallel port instead. The +OfficeJet D series allows you to use the USB port simultaneously with the +LIO (JetDirect or parallel-port) connection. +
          +
        • For full-feature JetDirect support, you also need SNMP (i.e. ucd-snmp and +ucd-snmp-devel). +
        • This is known to work on Linux and FreeBSD, and will likely work on +other platforms as well. +
        + +
      + +

      Unsupported devices

      + +The following HP multi-function peripherals are not supported by the +hpoj project at this time:

      + +

        +
      • +"Original" +HP OfficeJet C2890A (not OfficeJet LX)

        + +This model doesn't support PC-assisted scanning, copying, or faxing. +However, you should at least be able to print using the ghostscript +"djet500" driver or hpijs DJ540 +driver.

        + +

      • +HP LaserJet +3100, +3150

        +Programming information is not available for the HP LaserJet 3100 and +3150, so they will not be supported +by this project. However, if you +have a LaserJet 3150 connected to an HP JetDirect 70X/170X/300X/500X +with firmware x.08.xx or later, you can scan using the JetDirect's +embedded web server. It has also been reported that the Windows-based +software for these models works under VMWare.

        + +

      • +HP Digital Senders and LaserJet 4xxx/8xxx/9xxx MFPs are not currently +targeted for support by this project.

        + +

      • +HP +PhotoSmart printer C3804A

        +This original photo-printer model doesn't have photo-card readers. +There is no known Linux printing solution for this product either.

        + +

      • Unsupported print servers (printing may work, but other functionality, +such as scanning, probably won't work): +
          +
        • HP JetDirect EX, EX Plus, EX Plus3, 150X, regardless of firmware version +
        • HP wp100, wp110 +
        • non-HP print servers +
        • any parallel-port switchboxes, whether automatic or manual +
        +

        + +

      + +
      +
      + +

      +
      +David Paschal
      +Last changed August 08, 2002 +
      + + + + --- hpoj-0.91.orig/debian/control +++ hpoj-0.91/debian/control @@ -0,0 +1,56 @@ +Source: hpoj +Section: utils +Priority: optional +Maintainer: Mark Purcell +Build-Depends: debhelper (>> 3.0.0), libqt3-mt-dev, libsane-dev, libcups2-dev, libssl-dev, ttf2pt1, libusb-dev +Build-Conflicts: libsnmp-dev +Standards-Version: 3.8.0 +Homepage: http://hpoj.sourceforge.net +Vcs-Svn: svn://svn.debian.org/pkg-hpijs/hpoj/trunk/ +Vcs-Browser: http://svn.debian.org/wsvn/pkg-hpijs/hpoj/?op=log + + +Package: hpoj +Architecture: any +Depends: ${shlibs:Depends}, adduser, libsane (>=1.0.15-7), psmisc +Recommends: cups | lpr, hpijs, foomatic-filters +Suggests: hplip | foomatic-db-hpijs, cups-bsd, ghostscript-x, sane, xsane, mtools, hpoj-xojpanel +Description: HP OfficeJet Linux driver (hpoj) + This software provides Linux support for most "multi-function" (also known + as "all-in-one") peripherals from Hewlett-Packard, including OfficeJet, + LaserJet, Printer/Scanner/Copier ("PSC"), and PhotoSmart printer products. + . + It consists of: + - Low-level drivers and libraries to communicate with the device. + Depending on your hardware and operating system, you may connect devices + directly to your computer with a parallel port or USB (Universal Serial + Bus), or to a LAN (Local Area Network) using certain models of HP JetDirect + print servers. + - An application programming interface (API) known as "PTAL" (Peripheral + Transport Abstraction Library) that hides the differences in accessing + devices connected via parallel, USB, or JetDirect. + - Printing support, largely powered by ghostscript, the hpijs driver (for + most models), and one of various print spoolers (lpd, CUPS, PDQ, etc.) + that may already be installed on your computer. + - Scanning support, in conjunction with SANE (Scanner Access Now Easy). + - Access to photo-card readers, in conjunction with mtools. + - Graphical and command-line applications to access various features of + the device, such as displaying status of the device and setting the clock. + . + Upstream development for HP multifunction devices has now been overtaken + by the hplip package, if you are running a USB or jetdirect interface + you may be better served by the 'hplip' package. + . + +Package: hpoj-xojpanel +Architecture: any +Depends: ${shlibs:Depends} +Replaces: hpoj (<< 0.90) +Description: HP OfficeJet Linux QT-based LCD panel display + This package provides a QT-based application that displays the contents of + the LCD panel for most "multi-function" (also known as "all-in-one") + peripherals from Hewlett-Packard, including OfficeJet, LaserJet, + Printer/Scanner/Copier ("PSC"), and PhotoSmart printer products. + . + As this application requires QT support it is provided as a separate + package. --- hpoj-0.91.orig/debian/hpoj-xojpanel.files +++ hpoj-0.91/debian/hpoj-xojpanel.files @@ -0,0 +1,3 @@ +/usr/bin/xojpanel +/usr/share/doc/hpoj/html/xojpanel.html +/usr/share/man/man1/xojpanel.1 --- hpoj-0.91.orig/debian/README.Debian +++ hpoj-0.91/debian/README.Debian @@ -0,0 +1,35 @@ +HP OfficeJet Printer Driver +--------------------------- + +This package does not automatically scan and set up +printers. After installation you have to manually run the setup +program with + + /etc/init.d/hpoj setup + +(as root). + +and then restart CUPS if you are using that printing system. + +HPOJ must be run as root to provide parallel interface +support. (See Bug #339584) + +HPOJ vs HPLIP +------------- + +If you have a Hewlett-Packard multifunction device with a USB or +JetDirect interface you may be better served by the 'hplip' package. + +A lot of enhanced functionality is only available in bi-dir +mode, which is supported only by HPLIP. + +HPOJ and HPLIP cannot share a device. For HPLIP to work, you must +configure HPOJ properly so that it does not talk to the devices you want +to use HPLIP with. + +Warning: Some broken as designed USB printers cannot work in bi-dir mode, +and thus HPLIP won't work with them. The HP LaserJet 101x series +have this problem, but other printers might, too. + +HPOJ supports printing systems other than CUPS, whilst HPLIP only +supports printing through CUPS. --- hpoj-0.91.orig/debian/dirs +++ hpoj-0.91/debian/dirs @@ -0,0 +1,8 @@ +etc +etc/sane.d/dll.d +usr/bin +usr/sbin +usr/include +usr/lib +usr/lib/sane +usr/lib/cups/backend --- hpoj-0.91.orig/debian/changelog +++ hpoj-0.91/debian/changelog @@ -0,0 +1,428 @@ +hpoj (0.91-14) unstable; urgency=low + + * Ack NMUs: Thanks Petter & Luk + * Remove postinst call to init.d/hpoj setup - warns if manual setup needed + - etch->lenny upgrade report - prompts for user input by hand (Closes: + #501104) + - interactive postinst could use debconf (Closes: #256054) + * Add Depends: psmisc + - Missing dependency to 'killall' (Closes: #477071) + * Update debian/watch - thks Raphael Geissert + - debian/watch fails to report upstream's version (Closes: #449677) + * Postinst check /etc/sane.d/dll.d/hpoj + - scanner not found after update (Closes: #467050) + - Intermittent scanimage: sane_start: Error during device I/O with hp + oj 6110 (Closes: #272304) + - hpoj on sparc64 (Closes: #423151) + * Build-Conflicts: libsnmp-dev - breaks build + * Update debian/control fixes + - lintian:build-depends-on-obsolete-package/depends-on-obsolete-package + * Remove CVS dirs - fixes lintian:package-contains-cvs-control-dir & + source-contains-cvs-control-dir + * ptal.init Add short description - fixes + linitan:init.d-script-missing-lsb-short-description + * Add Homepage: Vcs-Svn: & Vcs-Browser: to debian/control + * Upgrade to Standards Version: 3.8.0 + + -- Mark Purcell Wed, 08 Oct 2008 22:52:53 +1100 + +hpoj (0.91-13.2) unstable; urgency=low + + * Non-maintainer upload to solve release goal. + * Add LSB dependency header to init.d scripts (Closes: #459450). + + -- Petter Reinholdtsen Sun, 30 Mar 2008 19:10:15 +0200 + +hpoj (0.91-13.1) unstable; urgency=medium + + * Non-maintainer upload. + * Fix FTBFS with GCC 4.3 (Closes: #455667). + + -- Luk Claes Sat, 22 Mar 2008 17:39:34 +0000 + +hpoj (0.91-13) unstable; urgency=low + + * Build without snmp support (now broken since libsnmp10-dev was depreciated) + - Closes: #444721 + - Closes: #444528) + * 4 => debian/compat + * [ ! -f Makefile ] || $(MAKE) distclean + + -- Mark Purcell Tue, 02 Oct 2007 07:22:21 +0100 + +hpoj (0.91-12) unstable; urgency=medium + + * Documentation fix targeted for etch + * revert to export DH_COMPAT=3 at the request of the release team + * Cleanup typos in debian/control + - Typos in the description (Closes: #406969) + + -- Mark Purcell Tue, 02 Oct 2007 06:48:02 +0100 + +hpoj (0.91-11) unstable; urgency=low + + * Package cleanup - documentation for etch release + * Update debian/README to read more clearly + - Spelling mistake in package description (Closes: #363933) + - README.Debian unneccesarily difficult to understand (Closes: + #400242) + * export DH_COMPAT=4 + * lintian overrides for non-dev-pkg-with-shlib-symlink, package-name- + doesnt-match-sonames & extra-license-file + + -- Mark Purcell Sat, 6 Jan 2007 16:55:48 +0000 + +hpoj (0.91-10) unstable; urgency=low + + * Run hpoj as root to allow access to parallel devices + - ptal-mlcd reports "Access denied to parallel port!" (Closes: + #339584) + - hpoj 635 on parport not detected (Closes: #302846) + * Remove usb/hotplug support + - requires the obsolete /etc/hotplug/usb/ interface (Closes: #338744) + + -- Mark Purcell Wed, 22 Feb 2006 18:38:27 +0000 + +hpoj (0.91-9) unstable; urgency=low + + * Rebuild for libsnmp9-dev + + -- Mark Purcell Sat, 1 Oct 2005 01:44:17 +0100 + +hpoj (0.91-8) unstable; urgency=low + + * Release Build-Depends: libqt-mt-dev + * Upgrade Depends: libsane + - hpoj cannot start without "scanner" group existing (Closes: #325393) + * Apply patch from Konstantinos Margaritis + - ptal-init setup doesn't find HP usb printer (Closes: #223795) + * lintian cleanup old-fsf-address-in-copyright-file + * Add Depends: adduser + + -- Mark Purcell Thu, 1 Sep 2005 19:35:44 +0100 + +hpoj (0.91-7) unstable; urgency=low + + * C++ transition package + * upload version 0.91-5 breaks C++ abi transition, please reupload as + soon as new qt3 is available (Closes: #320667) + * Build Depends: libqt3-mt-dev (>= 3:3.3.4-4) + + -- Mark Purcell Thu, 18 Aug 2005 20:49:43 +0100 + +hpoj (0.91-6) unstable; urgency=low + + * debian/postinst adduser hpojlp lp + * Found "printer" but failed to communicate with it! (Closes: #303260) + + -- Mark Purcell Sat, 13 Aug 2005 15:25:29 +0100 + +hpoj (0.91-5) unstable; urgency=low + + * Rebuild for C++ ABI migration + * Sync ubuntu changes, thanks Martin, since they were talking about this + package in debian-devel :) + - Closes: #298064: Please don't run the daemons as root + * Stop conflicting with HPLIP. We are fine as long as the same device is + NOT being used by HPOJ and HPIJS + * Update README.Debian to better reflect hplip/README.Debian + * chmod +x debian/hpoj/usr/bin/hpinklevel + * Recommends: foomatic-filters + + -- Mark Purcell Sat, 30 Jul 2005 14:48:38 +0100 + +hpoj (0.91-3ubuntu3) hoary; urgency=low + + * scripts/ptal-init.in: Disable creation of permission template for the + -like parameter and don't use -like; use -mode 0660 instead. + * Make sure that OfficeJet devices are chmod'ed to root:scanner 0660: + - Added debian/hpoj.usermap, install to /etc/hotplug/usb/. + - Added debian/hpoj.hotplug, install as /etc/hotplug/usb/hpoj. + + -- Martin Pitt Fri, 11 Feb 2005 14:12:34 +0100 + +hpoj (0.91-3ubuntu2) hoary; urgency=low + + * scripts/ptal-init.in: Start the daemons in auxililary group "scanner" to + enable scanning functionality, too. + + -- Martin Pitt Thu, 10 Feb 2005 11:14:11 +0100 + +hpoj (0.91-3ubuntu1) hoary; urgency=low + + * debian/postinst: + - Remove call to interactive configuration. + - Create system user "hpojlp" (with primary group lp). + * Added debian/postrm: + - Remove system user "hpojlp" on purge. + * De-rootification: + - Modify ptal-printd to only attempt chown() if it is actually necessary. + (Thanks to Matt Zimmerman) + - scripts/ptal-init.in: Start processes as hpojlp:lp instead of root:root + and modify directory permissions accordingly (Thanks to Matt for this + bit). + * Added debian/README.Debian: Explain how to call setup program. + * debian/rules: Remove apps/xojpanel/Makefile on clean. + * (Ubuntu #6000) + + -- Martin Pitt Thu, 10 Feb 2005 08:57:09 +0100 + +hpoj (0.91-4) unstable; urgency=low + + * Closes: #286419: FTBFS (amd64/gcc-4.0): invalid lvalue in assignment + * Patch from Andreas Jochens + * Closes: #296316: please provide /etc/sane.d/dll.d/hpoj + * Patch from Julien BLACHE + * Closes: #294497: please add a conflict with hplip + * Closes: #280472: Provide a way to check ink levels + * Patch from Francois Gouget + + -- Mark Purcell Sun, 13 Mar 2005 11:58:28 +0000 + +hpoj (0.91-3) unstable; urgency=low + + * Update Depends: & Suggests: + * Apply Till Kamppeter hpoj-0.91-kernel26.patch + * Closes: #245873: 2.6.5 kernel breaks hpoj detection of parallel + printers + + -- Mark Purcell Mon, 26 Apr 2004 08:53:30 +1000 + +hpoj (0.91-2) unstable; urgency=low + + * Apply standard streams redirection patch from Corey Wright (Closes: + Bug#215510) + * Rebuild man pages (again) from html documents + * Do not automatically update sane.d/dll.conf (Closes: Bug#214985) + + -- Mark Purcell Fri, 21 Nov 2003 21:36:13 +1100 + +hpoj (0.91-1) unstable; urgency=low + + * New upstream release (Closes: Bug#219483, Bug#159173, Bug#161130, + Bug#146515, Bug#154557, Bug#156573) + * Build-Depends: libsnmp5-dev, libusb-dev + + -- Mark Purcell Sun, 9 Nov 2003 23:18:35 +1100 + +hpoj (0.90-8) unstable; urgency=low + + * Apply standard streams redirection patch from Corey Wright (Closes: + Bug#21550) + + -- Mark Purcell Fri, 21 Nov 2003 21:11:31 +1100 + +hpoj (0.90-7) unstable; urgency=low + + * Auto generate man pages from html source + * Add Build-Depends: ttf2pt1 + + -- Mark Purcell Sat, 10 May 2003 15:27:49 +1000 + +hpoj (0.90-6) unstable; urgency=low + + * --with-cups-backend=`cups-config --serverbin`/backend from Ralf Nolden + + -- Mark Purcell Sat, 29 Mar 2003 20:12:48 +1100 + +hpoj (0.90-5) unstable; urgency=low + + * Build-Depends: libqt3-mt-dev (Closes: Bug#184022) + + -- Mark Purcell Sun, 9 Mar 2003 14:24:50 +1100 + +hpoj (0.90-4) unstable; urgency=low + + * hpoj-xojpanel Replaces: hpoj (<< 0.90), Thanks Marco Pratesi + * Rebuild for libqt3c102 (Closes: Bug#183731) + * Do not use dh_undocumented (Closes: Bug#183768) + * configure --with-qt=/usr/share/qt3 + * Build-Depends: libsnmp4.2-dev only. libsnmp5 supported in hpoj/experimental + + -- Mark Purcell Sat, 8 Mar 2003 13:47:30 +1100 + +hpoj (0.90-3) unstable; urgency=low + + * Update Build-Depends: libqt3-dev (Closes: Bug#173292) + + -- Mark Purcell Tue, 17 Dec 2002 10:54:53 +1100 + +hpoj (0.90-2) unstable; urgency=low + + * Rebuild for testing (sarge) with libc6-2.2.15-6 + + -- Mark Purcell Tue, 17 Dec 2002 10:36:11 +1100 + +hpoj (0.90-1) unstable; urgency=low + + * New upstream release (Closes: Bug#148743) + + -- Mark Purcell Thu, 8 Aug 2002 20:14:25 +1000 + +hpoj (0.8-cvs20020806-1) unstable; urgency=low + + * New upstream release + + -- Mark Purcell Tue, 6 Aug 2002 22:03:44 +1000 + +hpoj (0.8-cvs20020801-1) unstable; urgency=low + + * New upstream release + + -- Mark Purcell Thu, 1 Aug 2002 17:47:26 +1000 + +hpoj (0.8-cvs20020729-1) unstable; urgency=low + + * New upstream release + + -- Mark Purcell Mon, 29 Jul 2002 20:40:44 +1000 + +hpoj (0.8-cvs20020727-2) unstable; urgency=low + + * Bring Suggests: inline with setup-build.html documentation + * Split hpoj-xojpanel package which depends on libqt2 + + -- Mark Purcell Mon, 29 Jul 2002 20:26:43 +1000 + +hpoj (0.8-cvs20020727-1) unstable; urgency=low + + * New upstream release + * Upstream now permits linking with OpenSSL (Closes: Bug#147430) + + -- Mark Purcell Sat, 27 Jul 2002 12:56:10 +1000 + +hpoj (0.8-cvs20020723-3) unstable; urgency=low + + * Fixup override for ./configure --with-cups-backend-dir + + -- Mark Purcell Wed, 24 Jul 2002 09:08:07 +1000 + +hpoj (0.8-cvs20020723-2) unstable; urgency=low + + * Include Build-Depends: libcupsys2-dev, libssl-dev to allow CUPS and snmp + + -- Mark Purcell Tue, 23 Jul 2002 13:34:55 +1000 + +hpoj (0.8-cvs20020723-1) unstable; urgency=low + + * New upstream release + * This is anticipated to be the last release prior to 0.9 + + -- Mark Purcell Tue, 23 Jul 2002 07:58:39 +1000 + +hpoj (0.8-cvs20020705-2) unstable; urgency=low + + * Install ptal-cups to the correct locations (Closes: Bug#152188) + + -- Mark Purcell Mon, 8 Jul 2002 20:08:00 +1000 + +hpoj (0.8-cvs20020705-1) unstable; urgency=low + + * New upstream release + * Switch to hpoj included ptal-cups backend + + -- Mark Purcell Fri, 5 Jul 2002 20:43:54 +1000 + +hpoj (0.8-cvs20020605-1) unstable; urgency=low + + * New CVS upstream release + * Update PTAL CUPS backend - VERSION=2002060301 + + -- Mark Purcell Wed, 5 Jun 2002 22:37:21 +1000 + +hpoj (0.8-cvs20020519-2) unstable; urgency=low + + * Install SANE libraries under /usr/lib/sane (Closes: Bug#148773) + + -- Mark Purcell Sun, 2 Jun 2002 08:33:00 +1000 + +hpoj (0.8-cvs20020519-1) unstable; urgency=low + + * New upstream release (Closes: Bug#138355) + * HP OfficeJet LX support: Yes! I have one of those!!! + * hpoj SANE scanning support included, eliminates SANE's dependency on + libptal (Closes: Bug#81109) + * Update ptal CUPS backend - VERSION=2002033101 + + * Build with libqt2 support. + + -- Mark Purcell Mon, 20 May 2002 01:12:51 +1000 + +hpoj (0.8-12) unstable; urgency=low + + * Build without libqt2. Saves 21Mb for install + + -- Mark Purcell Fri, 22 Mar 2002 21:58:56 +1100 + +hpoj (0.8-11) unstable; urgency=low + + * Install ptal cups backend in /usr/lib/cups/backend/ptal (Closes: + Bug#133784) + + -- Mark Purcell Sat, 9 Mar 2002 22:07:47 +1100 + +hpoj (0.8-10) unstable; urgency=low + + * Update PTAL CUPS backend. /usr/share/doc/hpoj/examples/ptal + + -- Mark Purcell Thu, 27 Dec 2001 22:23:11 +1100 + +hpoj (0.8-9) unstable; urgency=low + + * Fix spelling (Closes: Bug#124741) + * Include symlink to ptal-print (Closes: Bug#125655) + + -- Mark Purcell Sun, 23 Dec 2001 20:46:33 +1100 + +hpoj (0.8-8) unstable; urgency=low + + * Update /etc/init.d/hpoj (Closes: Bug#121540) + + -- Mark Purcell Sun, 2 Dec 2001 22:20:56 +1100 + +hpoj (0.8-7) unstable; urgency=low + + * Fixed spelling Thanks: Matt Zimmerman + + -- Mark Purcell Fri, 23 Nov 2001 15:33:54 +1100 + +hpoj (0.8-6) unstable; urgency=low + + * More changes for detection of sys/io.h. Love buildd!! + + -- Mark Purcell Mon, 29 Oct 2001 21:45:05 +1100 + +hpoj (0.8-5) unstable; urgency=low + + * Update configure as well as configure.in Doh.. + + -- Mark Purcell Sun, 28 Oct 2001 19:39:59 +1100 + +hpoj (0.8-4) unstable; urgency=low + + * Backout ioWrapper.c changes and add upstream changes to configure.in + to support arch without sys/io.h + + -- Mark Purcell Sat, 27 Oct 2001 13:22:13 +1000 + +hpoj (0.8-3) unstable; urgency=low + + * Patch ioWrapper.c to support arch without sys/io.h (Closes: Bug#116772) + + -- Mark Purcell Thu, 25 Oct 2001 20:20:32 +1000 + +hpoj (0.8-2) unstable; urgency=low + + * Change init.d sequence code to 19 to prevent race condition with cups (Closes: Bug#115984) + * Include Mark Horn's ptal script + * Apply devfs upstream ptal-init.patch for creation of /dev/ptal-mlcd + & /dev/ptal-printd (Closes: Bug#116365) + * Apply upstream hpoj-0.8-ptal-hp.patch for gcc3.0 compile + + -- Mark Purcell Sun, 21 Oct 2001 23:07:06 +1000 + +hpoj (0.8-1) unstable; urgency=low + + * Initial Release. (Closes: Bug #112641) + + -- Mark Purcell Sat, 11 Aug 2001 16:21:12 +1000 --- hpoj-0.91.orig/debian/rules +++ hpoj-0.91/debian/rules @@ -0,0 +1,106 @@ +#!/usr/bin/make -f +# Sample debian/rules that uses debhelper. +# GNU copyright 1997 to 1999 by Joey Hess. +# Modified for use with the Debian GNU/Linux packge of hpoj +# by Mark Purcell + +# Uncomment this to turn on verbose mode. +#export DH_VERBOSE=1 + +# These are used for cross-compiling and for saving the configure script +# from having to guess our platform (since we know it already) +DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) +DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) + +configure: configure-stamp +configure-stamp: + dh_testdir + # Add here commands to configure the package. + ./configure --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) \ + --prefix=$(CURDIR)/debian/hpoj/usr \ + --mandir=\$${prefix}/share/man \ + --infodir=\$${prefix}/share/info \ + --with-qt=/usr/share/qt3 \ + --with-cups-backend=`cups-config --serverbin`/backend + + touch configure-stamp + +build: configure-stamp build-stamp +build-stamp: + dh_testdir + + # Add here commands to compile the package. + $(MAKE) + /usr/share/ttf2pt1/scripts/html2man 1 < doc/ptal-hp.html + /usr/share/ttf2pt1/scripts/html2man 1 < doc/xojpanel.html + /usr/share/ttf2pt1/scripts/html2man 8 < doc/ptal-init.html + /usr/share/ttf2pt1/scripts/html2man 8 < doc/ptal-mlcd.html + /usr/share/ttf2pt1/scripts/html2man 8 < doc/ptal-printd.html + /usr/share/ttf2pt1/scripts/html2man 8 < doc/ptal-photod.html + /usr/share/ttf2pt1/scripts/html2man 8 < doc/ptal-devid.html + /usr/share/ttf2pt1/scripts/html2man 8 < doc/ptal-connect.html + /usr/share/ttf2pt1/scripts/html2man 8 < doc/ptal-pml.html + /usr/share/ttf2pt1/scripts/html2man 8 < doc/ptal-device.html + /usr/share/ttf2pt1/scripts/html2man 3 < doc/libptal.html + + touch build-stamp + +clean: configure + dh_testdir + dh_testroot + rm -f build-stamp configure-stamp + + # Add here commands to clean up after the build process. + [ ! -f Makefile ] || $(MAKE) distclean + rm -f scripts/ptal-cups + rm -f ptal-hp.1 xojpanel.1 ptal-init.1 ptal-mlcd.1 ptal-printd.1 ptal-photod.1 ptal-devid.1 ptal-connect.1 ptal-pml.1 ptal-device.1 libptal.1 + rm -f apps/xojpanel/Makefile + + dh_clean + +install: build + dh_testdir + dh_testroot + dh_clean -k + dh_installdirs + + # Add here commands to install the package into debian/hpoj. + $(MAKE) user_install prefix=$(CURDIR)/debian/hpoj/usr + install -D -o root -g root -m 0644 debian/lintian $(CURDIR)/debian/hpoj/usr/share/lintian/overrides/hpoj + +# Build architecture-independent files here. +binary-indep: build install +# We have nothing to do by default. + +# Build architecture-dependent files here. +binary-arch: build install + dh_testdir + dh_testroot + echo 'hpoj' > $(CURDIR)/debian/hpoj/etc/sane.d/dll.d/hpoj + dh_install debian/hpinklevel usr/bin + chmod +x debian/hpoj/usr/bin/hpinklevel + dh_installdocs debian/todo.shtml debian/suplist.shtml debian/usb LICENSE.OpenSSL + rm -f debian/hpoj/usr/share/doc/hpoj/COPYING debian/hpoj/usr/share/doc/hpoj/LICENSE + mkdir debian/hpoj/usr/share/doc/hpoj/html/ + mv debian/hpoj/usr/share/doc/hpoj/*.html debian/hpoj/usr/share/doc/hpoj/html/ + mv debian/hpoj/usr/lib/libsane* debian/hpoj/usr/lib/sane + mv debian/hpoj/usr/sbin/ptal-cups debian/hpoj/usr/lib/cups/backend/ptal + cp scripts/ptal-init debian/hpoj.init + dh_installinit -- defaults 19 + rm debian/hpoj.init + dh_installman ptal-hp.1 xojpanel.1 ptal-init.1 ptal-mlcd.1 ptal-printd.1 ptal-photod.1 ptal-devid.1 ptal-connect.1 ptal-pml.1 ptal-device.1 libptal.1 + dh_link usr/share/man/man8/ptal-connect.8 usr/share/man/man8/ptal-print.8 + dh_installchangelogs ChangeLog + dh_movefiles --sourcedir=debian/hpoj + dh_strip + dh_compress + dh_fixperms + dh_makeshlibs + dh_installdeb + dh_shlibdeps + dh_gencontrol + dh_md5sums + dh_builddeb + +binary: binary-indep binary-arch +.PHONY: build clean binary-indep binary-arch binary install configure --- hpoj-0.91.orig/debian/lintian +++ hpoj-0.91/debian/lintian @@ -0,0 +1,9 @@ +# libptal.so & libhpojip.so are not 'proper' shared library +# but are only used within the hpoj package +# +hpoj: non-dev-pkg-with-shlib-symlink +hpoj: package-name-doesnt-match-sonames +# +# doc/hpoj/LICENSE.OpenSSL.gz is necessary to permit +# linking between OpenSSL and GPL components +hpoj: extra-license-file --- hpoj-0.91.orig/debian/usb/printer-2.4.c +++ hpoj-0.91/debian/usb/printer-2.4.c @@ -0,0 +1,1044 @@ +/* + * printer.c Version 0.11 + * + * Copyright (c) 1999 Michael Gee + * Copyright (c) 1999 Pavel Machek + * Copyright (c) 2000 Randy Dunlap + * Copyright (c) 2000 Vojtech Pavlik + # Copyright (c) 2001 Pete Zaitcev + # Copyright (c) 2001 David Paschal + * + * USB Printer Device Class driver for USB printers and printer cables + * + * Sponsored by SuSE + * + * ChangeLog: + * v0.1 - thorough cleaning, URBification, almost a rewrite + * v0.2 - some more cleanups + * v0.3 - cleaner again, waitqueue fixes + * v0.4 - fixes in unidirectional mode + * v0.5 - add DEVICE_ID string support + * v0.6 - never time out + * v0.7 - fixed bulk-IN read and poll (David Paschal) + * v0.8 - add devfs support + * v0.9 - fix unplug-while-open paths + * v0.10 - add proto_bias option (Pete Zaitcev) + * v0.11 - add hpoj.sourceforge.net ioctls (David Paschal) + */ + +/* + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#undef DEBUG +#include + +/* + * Version Information + */ +#define DRIVER_VERSION "v0.11" +#define DRIVER_AUTHOR "Michael Gee, Pavel Machek, Vojtech Pavlik, Randy Dunlap, Pete Zaitcev, David Paschal" +#define DRIVER_DESC "USB Printer Device Class driver" + +#define USBLP_BUF_SIZE 8192 +#define DEVICE_ID_SIZE 1024 + +/* ioctls: */ +#define LPGETSTATUS 0x060b /* same as in drivers/char/lp.c */ +#define IOCNR_GET_DEVICE_ID 1 +#define IOCNR_GET_PROTOCOLS 2 +#define IOCNR_SET_PROTOCOL 3 +#define IOCNR_HP_SET_CHANNEL 4 +#define IOCNR_GET_BUS_ADDRESS 5 +#define IOCNR_GET_VID_PID 6 +/* Get device_id string: */ +#define LPIOC_GET_DEVICE_ID(len) _IOC(_IOC_READ, 'P', IOCNR_GET_DEVICE_ID, len) +/* The following ioctls were added for http://hpoj.sourceforge.net: */ +/* Get two-int array: + * [0]=current protocol (1=7/1/1, 2=7/1/2, 3=7/1/3), + * [1]=supported protocol mask (mask&(1<dev); + dbg("devfs=0x%p", usblp->devfs); + dbg("buf=0x%p", usblp->buf); + dbg("readcount=%d", usblp->readcount); + dbg("ifnum=%d", usblp->ifnum); + for (p = USBLP_FIRST_PROTOCOL; p <= USBLP_LAST_PROTOCOL; p++) { + dbg("protocol[%d].alt_setting=%d", p, usblp->protocol[p].alt_setting); + dbg("protocol[%d].epwrite=%p", p, usblp->protocol[p].epwrite); + dbg("protocol[%d].epread=%p", p, usblp->protocol[p].epread); + } + dbg("current_protocol=%d", usblp->current_protocol); + dbg("minor=%d", usblp->minor); + dbg("quirks=%d", usblp->quirks); + dbg("used=%d", usblp->used); + dbg("bidir=%d", usblp->bidir); + dbg("device_id_string=\"%s\"", + usblp->device_id_string ? + usblp->device_id_string + 2 : + (unsigned char *)"(null)"); +} +#endif + +extern devfs_handle_t usb_devfs_handle; /* /dev/usb dir. */ + +static struct usblp *usblp_table[USBLP_MINORS]; + +/* Quirks: various printer quirks are handled by this table & its flags. */ + +struct quirk_printer_struct { + __u16 vendorId; + __u16 productId; + unsigned int quirks; +}; + +#define USBLP_QUIRK_BIDIR 0x1 /* reports bidir but requires unidirectional mode (no INs/reads) */ +#define USBLP_QUIRK_USB_INIT 0x2 /* needs vendor USB init string */ + +static struct quirk_printer_struct quirk_printers[] = { + { 0x03f0, 0x0004, USBLP_QUIRK_BIDIR }, /* HP DeskJet 895C */ + { 0x03f0, 0x0104, USBLP_QUIRK_BIDIR }, /* HP DeskJet 880C */ + { 0x03f0, 0x0204, USBLP_QUIRK_BIDIR }, /* HP DeskJet 815C */ + { 0x03f0, 0x0304, USBLP_QUIRK_BIDIR }, /* HP DeskJet 810C/812C */ + { 0x03f0, 0x0404, USBLP_QUIRK_BIDIR }, /* HP DeskJet 830C */ + { 0, 0 } +}; + +static int usblp_select_alts(struct usblp *usblp); +static int usblp_set_protocol(struct usblp *usblp, int protocol); +static int usblp_cache_device_id_string(struct usblp *usblp); + + +/* + * Functions for usblp control messages. + */ + +static int usblp_ctrl_msg(struct usblp *usblp, int request, int type, int dir, int recip, int value, void *buf, int len) +{ + int retval = usb_control_msg(usblp->dev, + dir ? usb_rcvctrlpipe(usblp->dev, 0) : usb_sndctrlpipe(usblp->dev, 0), + request, type | dir | recip, value, usblp->ifnum, buf, len, USBLP_WRITE_TIMEOUT); + dbg("usblp_control_msg: rq: 0x%02x dir: %d recip: %d value: %d len: %#x result: %d", + request, !!dir, recip, value, len, retval); + return retval < 0 ? retval : 0; +} + +#define usblp_read_status(usblp, status)\ + usblp_ctrl_msg(usblp, USBLP_REQ_GET_STATUS, USB_TYPE_CLASS, USB_DIR_IN, USB_RECIP_INTERFACE, 0, status, 1) +#define usblp_get_id(usblp, config, id, maxlen)\ + usblp_ctrl_msg(usblp, USBLP_REQ_GET_ID, USB_TYPE_CLASS, USB_DIR_IN, USB_RECIP_INTERFACE, config, id, maxlen) +#define usblp_reset(usblp)\ + usblp_ctrl_msg(usblp, USBLP_REQ_RESET, USB_TYPE_CLASS, USB_DIR_OUT, USB_RECIP_OTHER, 0, NULL, 0) + +#define usblp_hp_channel_change_request(usblp, channel, buffer) \ + usblp_ctrl_msg(usblp, USBLP_REQ_HP_CHANNEL_CHANGE_REQUEST, USB_TYPE_VENDOR, USB_DIR_IN, USB_RECIP_INTERFACE, channel, buffer, 1) + +/* + * See the description for usblp_select_alts() below for the usage + * explanation. Look into your /proc/bus/usb/devices and dmesg in + * case of any trouble. + */ +static int proto_bias = -1; + +/* + * URB callback. + */ + +static void usblp_bulk(struct urb *urb) +{ + struct usblp *usblp = urb->context; + + if (!usblp || !usblp->dev || !usblp->used) + return; + + if (urb->status) + warn("usblp%d: nonzero read/write bulk status received: %d", + usblp->minor, urb->status); + + wake_up_interruptible(&usblp->wait); +} + +/* + * Get and print printer errors. + */ + +static char *usblp_messages[] = { "ok", "out of paper", "off-line", "on fire" }; + +static int usblp_check_status(struct usblp *usblp, int err) +{ + unsigned char status, newerr = 0; + int error; + + error = usblp_read_status (usblp, &status); + if (error < 0) { + err("usblp%d: error %d reading printer status", + usblp->minor, error); + return 0; + } + + if (~status & LP_PERRORP) { + newerr = 3; + if (status & LP_POUTPA) newerr = 1; + if (~status & LP_PSELECD) newerr = 2; + } + + if (newerr != err) + info("usblp%d: %s", usblp->minor, usblp_messages[newerr]); + + return newerr; +} + +/* + * File op functions. + */ + +static int usblp_open(struct inode *inode, struct file *file) +{ + int minor = MINOR(inode->i_rdev) - USBLP_MINOR_BASE; + struct usblp *usblp; + int retval; + + if (minor < 0 || minor >= USBLP_MINORS) + return -ENODEV; + + lock_kernel(); + usblp = usblp_table[minor]; + + retval = -ENODEV; + if (!usblp || !usblp->dev) + goto out; + + retval = -EBUSY; + if (usblp->used) + goto out; + + /* + * TODO: need to implement LP_ABORTOPEN + O_NONBLOCK as in drivers/char/lp.c ??? + * This is #if 0-ed because we *don't* want to fail an open + * just because the printer is off-line. + */ +#if 0 + if ((retval = usblp_check_status(usblp, 0))) { + retval = retval > 1 ? -EIO : -ENOSPC; + goto out; + } +#else + retval = 0; +#endif + + usblp->used = 1; + file->private_data = usblp; + + usblp->writeurb.transfer_buffer_length = 0; + usblp->writeurb.status = 0; + + if (usblp->bidir) { + usblp->readcount = 0; + usblp->readurb.dev = usblp->dev; + if (usb_submit_urb(&usblp->readurb) < 0) { + retval = -EIO; + usblp->used = 0; + file->private_data = NULL; + } + } +out: + unlock_kernel(); + return retval; +} + +static void usblp_cleanup (struct usblp *usblp) +{ + devfs_unregister (usblp->devfs); + usblp_table [usblp->minor] = NULL; + info("usblp%d: removed", usblp->minor); + + kfree (usblp->writeurb.transfer_buffer); + kfree (usblp->device_id_string); + kfree (usblp); +} + +static void usblp_unlink_urbs(struct usblp *usblp) +{ + usb_unlink_urb(&usblp->writeurb); + if (usblp->bidir) + usb_unlink_urb(&usblp->readurb); +} + +static int usblp_release(struct inode *inode, struct file *file) +{ + struct usblp *usblp = file->private_data; + + down (&usblp->sem); + lock_kernel(); + usblp->used = 0; + if (usblp->dev) { + usblp_unlink_urbs(usblp); + up(&usblp->sem); + } else /* finish cleanup from disconnect */ + usblp_cleanup (usblp); + unlock_kernel(); + return 0; +} + +/* No kernel lock - fine */ +static unsigned int usblp_poll(struct file *file, struct poll_table_struct *wait) +{ + struct usblp *usblp = file->private_data; + poll_wait(file, &usblp->wait, wait); + return ((!usblp->bidir || usblp->readurb.status == -EINPROGRESS) ? 0 : POLLIN | POLLRDNORM) + | (usblp->writeurb.status == -EINPROGRESS ? 0 : POLLOUT | POLLWRNORM); +} + +static int usblp_ioctl(struct inode *inode, struct file *file, unsigned int cmd, unsigned long arg) +{ + struct usblp *usblp = file->private_data; + int length, err, i; + unsigned char status, newChannel; + int twoints[2]; + int retval = 0; + + down (&usblp->sem); + if (!usblp->dev) { + retval = -ENODEV; + goto done; + } + + if (_IOC_TYPE(cmd) == 'P') /* new-style ioctl number */ + + switch (_IOC_NR(cmd)) { + + case IOCNR_GET_DEVICE_ID: /* get the DEVICE_ID string */ + if (_IOC_DIR(cmd) != _IOC_READ) { + retval = -EINVAL; + goto done; + } + + length = usblp_cache_device_id_string(usblp); + if (length < 0) { + retval = length; + goto done; + } + if (length > _IOC_SIZE(cmd)) + length = _IOC_SIZE(cmd); /* truncate */ + + if (copy_to_user((unsigned char *) arg, + usblp->device_id_string, + (unsigned long) length)) { + retval = -EFAULT; + goto done; + } + + break; + + case IOCNR_GET_PROTOCOLS: + if (_IOC_DIR(cmd) != _IOC_READ || + _IOC_SIZE(cmd) < sizeof(twoints)) { + retval = -EINVAL; + goto done; + } + + twoints[0] = usblp->current_protocol; + twoints[1] = 0; + for (i = USBLP_FIRST_PROTOCOL; + i <= USBLP_LAST_PROTOCOL; i++) { + if (usblp->protocol[i].alt_setting >= 0) + twoints[1] |= (1<current_protocol); + } + break; + + case IOCNR_HP_SET_CHANNEL: + if (_IOC_DIR(cmd) != _IOC_WRITE || + usblp->dev->descriptor.idVendor != 0x03F0 || + usblp->quirks & USBLP_QUIRK_BIDIR) { + retval = -EINVAL; + goto done; + } + + err = usblp_hp_channel_change_request(usblp, + arg, &newChannel); + if (err < 0) { + err("usblp%d: error = %d setting " + "HP channel", + usblp->minor, err); + retval = -EIO; + goto done; + } + + dbg("usblp%d requested/got HP channel %ld/%d", + usblp->minor, arg, newChannel); + break; + + case IOCNR_GET_BUS_ADDRESS: + if (_IOC_DIR(cmd) != _IOC_READ || + _IOC_SIZE(cmd) < sizeof(twoints)) { + retval = -EINVAL; + goto done; + } + + twoints[0] = usblp->dev->bus->busnum; + twoints[1] = usblp->dev->devnum; + if (copy_to_user((unsigned char *)arg, + (unsigned char *)twoints, + sizeof(twoints))) { + retval = -EFAULT; + goto done; + } + + dbg("usblp%d is bus=%d, device=%d", + usblp->minor, twoints[0], twoints[1]); + break; + + case IOCNR_GET_VID_PID: + if (_IOC_DIR(cmd) != _IOC_READ || + _IOC_SIZE(cmd) < sizeof(twoints)) { + retval = -EINVAL; + goto done; + } + + twoints[0] = usblp->dev->descriptor.idVendor; + twoints[1] = usblp->dev->descriptor.idProduct; + if (copy_to_user((unsigned char *)arg, + (unsigned char *)twoints, + sizeof(twoints))) { + retval = -EFAULT; + goto done; + } + + dbg("usblp%d is VID=0x%4.4X, PID=0x%4.4X", + usblp->minor, twoints[0], twoints[1]); + break; + + default: + retval = -EINVAL; + } + else /* old-style ioctl value */ + switch (cmd) { + + case LPGETSTATUS: + if (usblp_read_status(usblp, &status)) { + err("usblp%d: failed reading printer status", usblp->minor); + retval = -EIO; + goto done; + } + if (copy_to_user ((unsigned char *)arg, &status, 1)) + retval = -EFAULT; + break; + + default: + retval = -EINVAL; + } + +done: + up (&usblp->sem); + return retval; +} + +static ssize_t usblp_write(struct file *file, const char *buffer, size_t count, loff_t *ppos) +{ + struct usblp *usblp = file->private_data; + int timeout, err = 0, writecount = 0; + + while (writecount < count) { + + // FIXME: only use urb->status inside completion + // callbacks; this way is racey... + if (usblp->writeurb.status == -EINPROGRESS) { + + if (file->f_flags & O_NONBLOCK) + return -EAGAIN; + + timeout = USBLP_WRITE_TIMEOUT; + while (timeout && usblp->writeurb.status == -EINPROGRESS) { + + if (signal_pending(current)) + return writecount ? writecount : -EINTR; + + timeout = interruptible_sleep_on_timeout(&usblp->wait, timeout); + } + } + + down (&usblp->sem); + if (!usblp->dev) { + up (&usblp->sem); + return -ENODEV; + } + + if (usblp->writeurb.status != 0) { + if (usblp->quirks & USBLP_QUIRK_BIDIR) { + if (usblp->writeurb.status != -EINPROGRESS) + err("usblp%d: error %d writing to printer", + usblp->minor, usblp->writeurb.status); + err = usblp->writeurb.status; + } else + err = usblp_check_status(usblp, err); + up (&usblp->sem); + + /* if the fault was due to disconnect, let khubd's + * call to usblp_disconnect() grab usblp->sem ... + */ + schedule (); + continue; + } + + writecount += usblp->writeurb.transfer_buffer_length; + usblp->writeurb.transfer_buffer_length = 0; + + if (writecount == count) { + up (&usblp->sem); + break; + } + + usblp->writeurb.transfer_buffer_length = (count - writecount) < USBLP_BUF_SIZE ? + (count - writecount) : USBLP_BUF_SIZE; + + if (copy_from_user(usblp->writeurb.transfer_buffer, buffer + writecount, + usblp->writeurb.transfer_buffer_length)) return -EFAULT; + + usblp->writeurb.dev = usblp->dev; + usb_submit_urb(&usblp->writeurb); + up (&usblp->sem); + } + + return count; +} + +static ssize_t usblp_read(struct file *file, char *buffer, size_t count, loff_t *ppos) +{ + struct usblp *usblp = file->private_data; + + if (!usblp->bidir) + return -EINVAL; + + down (&usblp->sem); + if (!usblp->dev) { + count = -ENODEV; + goto done; + } + + if (usblp->readurb.status == -EINPROGRESS) { + + if (file->f_flags & O_NONBLOCK) { + count = -EAGAIN; + goto done; + } + + // FIXME: only use urb->status inside completion + // callbacks; this way is racey... + while (usblp->readurb.status == -EINPROGRESS) { + if (signal_pending(current)) { + count = -EINTR; + goto done; + } + up (&usblp->sem); + interruptible_sleep_on(&usblp->wait); + down (&usblp->sem); + } + } + + if (!usblp->dev) { + count = -ENODEV; + goto done; + } + + if (usblp->readurb.status) { + err("usblp%d: error %d reading from printer", + usblp->minor, usblp->readurb.status); + usblp->readurb.dev = usblp->dev; + usblp->readcount = 0; + usb_submit_urb(&usblp->readurb); + count = -EIO; + goto done; + } + + count = count < usblp->readurb.actual_length - usblp->readcount ? + count : usblp->readurb.actual_length - usblp->readcount; + + if (copy_to_user(buffer, usblp->readurb.transfer_buffer + usblp->readcount, count)) { + count = -EFAULT; + goto done; + } + + if ((usblp->readcount += count) == usblp->readurb.actual_length) { + usblp->readcount = 0; + usblp->readurb.dev = usblp->dev; + usb_submit_urb(&usblp->readurb); + } + +done: + up (&usblp->sem); + return count; +} + +/* + * Checks for printers that have quirks, such as requiring unidirectional + * communication but reporting bidirectional; currently some HP printers + * have this flaw (HP 810, 880, 895, etc.), or needing an init string + * sent at each open (like some Epsons). + * Returns 1 if found, 0 if not found. + * + * HP recommended that we use the bidirectional interface but + * don't attempt any bulk IN transfers from the IN endpoint. + * Here's some more detail on the problem: + * The problem is not that it isn't bidirectional though. The problem + * is that if you request a device ID, or status information, while + * the buffers are full, the return data will end up in the print data + * buffer. For example if you make sure you never request the device ID + * while you are sending print data, and you don't try to query the + * printer status every couple of milliseconds, you will probably be OK. + */ +static unsigned int usblp_quirks (__u16 vendor, __u16 product) +{ + int i; + + for (i = 0; quirk_printers[i].vendorId; i++) { + if (vendor == quirk_printers[i].vendorId && + product == quirk_printers[i].productId) + return quirk_printers[i].quirks; + } + return 0; +} + +static struct file_operations usblp_fops = { + owner: THIS_MODULE, + read: usblp_read, + write: usblp_write, + poll: usblp_poll, + ioctl: usblp_ioctl, + open: usblp_open, + release: usblp_release, +}; + +static void *usblp_probe(struct usb_device *dev, unsigned int ifnum, + const struct usb_device_id *id) +{ + struct usblp *usblp = 0; + int protocol; + char name[6]; + + /* Malloc and start initializing usblp structure so we can use it + * directly. */ + if (!(usblp = kmalloc(sizeof(struct usblp), GFP_KERNEL))) { + err("out of memory for usblp"); + goto abort; + } + memset(usblp, 0, sizeof(struct usblp)); + usblp->dev = dev; + init_MUTEX (&usblp->sem); + init_waitqueue_head(&usblp->wait); + usblp->ifnum = ifnum; + + /* Look for a free usblp_table entry. */ + while (usblp_table[usblp->minor]) { + usblp->minor++; + if (usblp->minor >= USBLP_MINORS) { + err("no more free usblp devices"); + goto abort; + } + } + + /* Malloc device ID string buffer to the largest expected length, + * since we can re-query it on an ioctl and a dynamic string + * could change in length. */ + if (!(usblp->device_id_string = kmalloc(DEVICE_ID_SIZE, GFP_KERNEL))) { + err("out of memory for device_id_string"); + goto abort; + } + + /* Malloc write/read buffers in one chunk. We somewhat wastefully + * malloc both regardless of bidirectionality, because the + * alternate setting can be changed later via an ioctl. */ + if (!(usblp->buf = kmalloc(2 * USBLP_BUF_SIZE, GFP_KERNEL))) { + err("out of memory for buf"); + goto abort; + } + + /* Lookup quirks for this printer. */ + usblp->quirks = usblp_quirks( + dev->descriptor.idVendor, + dev->descriptor.idProduct); + + /* Analyze and pick initial alternate settings and endpoints. */ + protocol = usblp_select_alts(usblp); + if (protocol < 0) { + dbg("incompatible printer-class device 0x%4.4X/0x%4.4X", + dev->descriptor.idVendor, + dev->descriptor.idProduct); + goto abort; + } + + /* Setup the selected alternate setting and endpoints. */ + if (usblp_set_protocol(usblp, protocol) < 0) + goto abort; + + /* Retrieve and store the device ID string. */ + usblp_cache_device_id_string(usblp); + +#ifdef DEBUG + usblp_check_status(usblp, 0); +#endif + + /* If we have devfs, create with perms=660. */ + sprintf(name, "lp%d", usblp->minor); + usblp->devfs = devfs_register(usb_devfs_handle, name, + DEVFS_FL_DEFAULT, USB_MAJOR, + USBLP_MINOR_BASE + usblp->minor, + S_IFCHR | S_IRUSR | S_IWUSR | S_IRGRP | + S_IWGRP, &usblp_fops, NULL); + + info("usblp%d: USB %sdirectional printer dev %d " + "if %d alt %d proto %d vid 0x%4.4X pid 0x%4.4X", + usblp->minor, usblp->bidir ? "Bi" : "Uni", dev->devnum, ifnum, + usblp->protocol[usblp->current_protocol].alt_setting, + usblp->current_protocol, usblp->dev->descriptor.idVendor, + usblp->dev->descriptor.idProduct); + + return usblp_table[usblp->minor] = usblp; + +abort: + if (usblp) { + if (usblp->buf) kfree(usblp->buf); + if (usblp->device_id_string) kfree(usblp->device_id_string); + kfree(usblp); + } + return NULL; +} + +/* + * We are a "new" style driver with usb_device_id table, + * but our requirements are too intricate for simple match to handle. + * + * The "proto_bias" option may be used to specify the preferred protocol + * for all USB printers (1=7/1/1, 2=7/1/2, 3=7/1/3). If the device + * supports the preferred protocol, then we bind to it. + * + * The best interface for us is 7/1/2, because it is compatible + * with a stream of characters. If we find it, we bind to it. + * + * Note that the people from hpoj.sourceforge.net need to be able to + * bind to 7/1/3 (MLC/1284.4), so we provide them ioctls for this purpose. + * + * Failing 7/1/2, we look for 7/1/3, even though it's probably not + * stream-compatible, because this matches the behaviour of the old code. + * + * If nothing else, we bind to 7/1/1 - the unidirectional interface. + */ +static int usblp_select_alts(struct usblp *usblp) +{ + struct usb_interface *if_alt; + struct usb_interface_descriptor *ifd; + struct usb_endpoint_descriptor *epd, *epwrite, *epread; + int p, i, e; + + if_alt = &usblp->dev->actconfig->interface[usblp->ifnum]; + + for (p = 0; p < USBLP_MAX_PROTOCOLS; p++) + usblp->protocol[p].alt_setting = -1; + + /* Find out what we have. */ + for (i = 0; i < if_alt->num_altsetting; i++) { + ifd = &if_alt->altsetting[i]; + + if (ifd->bInterfaceClass != 7 || ifd->bInterfaceSubClass != 1) + continue; + + if (ifd->bInterfaceProtocol < USBLP_FIRST_PROTOCOL || + ifd->bInterfaceProtocol > USBLP_LAST_PROTOCOL) + continue; + + /* Look for bulk OUT and IN endpoints. */ + epwrite = epread = 0; + for (e = 0; e < ifd->bNumEndpoints; e++) { + epd = &ifd->endpoint[e]; + + if ((epd->bmAttributes&USB_ENDPOINT_XFERTYPE_MASK)!= + USB_ENDPOINT_XFER_BULK) + continue; + + if (!(epd->bEndpointAddress & USB_ENDPOINT_DIR_MASK)) { + if (!epwrite) epwrite=epd; + + } else { + if (!epread) epread=epd; + } + } + + /* Ignore buggy hardware without the right endpoints. */ + if (!epwrite || (ifd->bInterfaceProtocol > 1 && !epread)) + continue; + + /* Turn off reads for 7/1/1 (unidirectional) interfaces + * and buggy bidirectional printers. */ + if (ifd->bInterfaceProtocol == 1) { + epread = NULL; + } else if (usblp->quirks & USBLP_QUIRK_BIDIR) { + info("Disabling reads from problem bidirectional " + "printer on usblp%d", usblp->minor); + epread = NULL; + } + + usblp->protocol[ifd->bInterfaceProtocol].alt_setting = i; + usblp->protocol[ifd->bInterfaceProtocol].epwrite = epwrite; + usblp->protocol[ifd->bInterfaceProtocol].epread = epread; + } + + /* If our requested protocol is supported, then use it. */ + if (proto_bias >= USBLP_FIRST_PROTOCOL && + proto_bias <= USBLP_LAST_PROTOCOL && + usblp->protocol[proto_bias].alt_setting != -1) + return proto_bias; + + /* Ordering is important here. */ + if (usblp->protocol[2].alt_setting != -1) return 2; + if (usblp->protocol[1].alt_setting != -1) return 1; + if (usblp->protocol[3].alt_setting != -1) return 3; + + /* If nothing is available, then don't bind to this device. */ + return -1; +} + +static int usblp_set_protocol(struct usblp *usblp, int protocol) +{ + int r, alts; + + if (protocol < USBLP_FIRST_PROTOCOL || protocol > USBLP_LAST_PROTOCOL) + return -EINVAL; + + alts = usblp->protocol[protocol].alt_setting; + if (alts < 0) return -EINVAL; + r = usb_set_interface(usblp->dev, usblp->ifnum, alts); + if (r < 0) { + err("can't set desired altsetting %d on interface %d", + alts, usblp->ifnum); + return r; + } + + FILL_BULK_URB(&usblp->writeurb, usblp->dev, + usb_sndbulkpipe(usblp->dev, + usblp->protocol[protocol].epwrite->bEndpointAddress), + usblp->buf, 0, + usblp_bulk, usblp); + + usblp->bidir = (usblp->protocol[protocol].epread != 0); + if (usblp->bidir) + FILL_BULK_URB(&usblp->readurb, usblp->dev, + usb_rcvbulkpipe(usblp->dev, + usblp->protocol[protocol].epread->bEndpointAddress), + usblp->buf + USBLP_BUF_SIZE, USBLP_BUF_SIZE, + usblp_bulk, usblp); + + usblp->current_protocol = protocol; + dbg("usblp%d set protocol %d", usblp->minor, protocol); + return 0; +} + +/* Retrieves and caches device ID string. + * Returns length, including length bytes but not null terminator. + * On error, returns a negative errno value. */ +static int usblp_cache_device_id_string(struct usblp *usblp) +{ + int err, length; + + err = usblp_get_id(usblp, 0, usblp->device_id_string, DEVICE_ID_SIZE - 1); + if (err < 0) { + dbg("usblp%d: error = %d reading IEEE-1284 Device ID string", + usblp->minor, err); + usblp->device_id_string[0] = usblp->device_id_string[1] = '\0'; + return -EIO; + } + + /* First two bytes are length in big-endian. + * They count themselves, and we copy them into + * the user's buffer. */ + length = (usblp->device_id_string[0] << 8) + usblp->device_id_string[1]; + if (length < 2) + length = 2; + else if (length >= DEVICE_ID_SIZE) + length = DEVICE_ID_SIZE - 1; + usblp->device_id_string[length] = '\0'; + + dbg("usblp%d Device ID string [len=%d]=\"%s\"", + usblp->minor, length, &usblp->device_id_string[2]); + + return length; +} + +static void usblp_disconnect(struct usb_device *dev, void *ptr) +{ + struct usblp *usblp = ptr; + + if (!usblp || !usblp->dev) { + err("bogus disconnect"); + BUG (); + } + + down (&usblp->sem); + lock_kernel(); + usblp->dev = NULL; + + usblp_unlink_urbs(usblp); + + if (!usblp->used) + usblp_cleanup (usblp); + else /* cleanup later, on close */ + up (&usblp->sem); + unlock_kernel(); +} + +static struct usb_device_id usblp_ids [] = { + { USB_DEVICE_INFO(7, 1, 1) }, + { USB_DEVICE_INFO(7, 1, 2) }, + { USB_DEVICE_INFO(7, 1, 3) }, + { USB_INTERFACE_INFO(7, 1, 1) }, + { USB_INTERFACE_INFO(7, 1, 2) }, + { USB_INTERFACE_INFO(7, 1, 3) }, + { } /* Terminating entry */ +}; + +MODULE_DEVICE_TABLE (usb, usblp_ids); + +static struct usb_driver usblp_driver = { + name: "usblp", + probe: usblp_probe, + disconnect: usblp_disconnect, + fops: &usblp_fops, + minor: USBLP_MINOR_BASE, + id_table: usblp_ids, +}; + +static int __init usblp_init(void) +{ + if (usb_register(&usblp_driver)) + return -1; + info(DRIVER_VERSION ": " DRIVER_DESC); + return 0; +} + +static void __exit usblp_exit(void) +{ + usb_deregister(&usblp_driver); +} + +module_init(usblp_init); +module_exit(usblp_exit); + +MODULE_AUTHOR( DRIVER_AUTHOR ); +MODULE_DESCRIPTION( DRIVER_DESC ); +MODULE_PARM(proto_bias, "i"); +MODULE_PARM_DESC(proto_bias, "Favourite protocol number"); +MODULE_LICENSE("GPL"); --- hpoj-0.91.orig/debian/usb/linux-2.4.17-rc4-usb-je-uhci-update.patch +++ hpoj-0.91/debian/usb/linux-2.4.17-rc4-usb-je-uhci-update.patch @@ -0,0 +1,696 @@ +--- linux/drivers/usb/uhci.h.usb-je-uhci-update Wed Feb 27 12:51:26 2002 ++++ linux/drivers/usb/uhci.h Wed Feb 27 12:56:45 2002 +@@ -121,15 +121,16 @@ + * for TD : (a.k.a. Token) + */ + #define TD_TOKEN_TOGGLE 19 +-#define TD_PID 0xFF ++#define TD_TOKEN_PID_MASK 0xFF ++#define TD_TOKEN_EXPLEN_MASK 0x7FF /* expected length, encoded as n - 1 */ + + #define uhci_maxlen(token) ((token) >> 21) +-#define uhci_expected_length(info) (((info >> 21) + 1) & TD_CTRL_ACTLEN_MASK) /* 1-based */ ++#define uhci_expected_length(info) (((info >> 21) + 1) & TD_TOKEN_EXPLEN_MASK) /* 1-based */ + #define uhci_toggle(token) (((token) >> TD_TOKEN_TOGGLE) & 1) + #define uhci_endpoint(token) (((token) >> 15) & 0xf) + #define uhci_devaddr(token) (((token) >> 8) & 0x7f) + #define uhci_devep(token) (((token) >> 8) & 0x7ff) +-#define uhci_packetid(token) ((token) & 0xff) ++#define uhci_packetid(token) ((token) & TD_TOKEN_PID_MASK) + #define uhci_packetout(token) (uhci_packetid(token) != USB_PID_IN) + #define uhci_packetin(token) (uhci_packetid(token) == USB_PID_IN) + +@@ -163,7 +164,7 @@ + struct list_head list; /* P: urb->lock */ + + int frame; +- struct list_head fl_list; /* P: frame_list_lock */ ++ struct list_head fl_list; /* P: uhci->frame_list_lock */ + } __attribute__((aligned(16))); + + /* +@@ -306,21 +307,25 @@ + struct uhci_qh *skelqh[UHCI_NUM_SKELQH]; /* Skeleton QH's */ + + spinlock_t frame_list_lock; +- struct uhci_frame_list *fl; /* Frame list */ ++ struct uhci_frame_list *fl; /* P: uhci->frame_list_lock */ + int fsbr; /* Full speed bandwidth reclamation */ + int is_suspended; + ++ /* Main list of URB's currently controlled by this HC */ ++ spinlock_t urb_list_lock; ++ struct list_head urb_list; /* P: uhci->urb_list_lock */ ++ ++ /* List of QH's that are done, but waiting to be unlinked (race) */ + spinlock_t qh_remove_list_lock; +- struct list_head qh_remove_list; ++ struct list_head qh_remove_list; /* P: uhci->qh_remove_list_lock */ + ++ /* List of asynchronously unlinked URB's */ + spinlock_t urb_remove_list_lock; +- struct list_head urb_remove_list; +- +- spinlock_t urb_list_lock; +- struct list_head urb_list; ++ struct list_head urb_remove_list; /* P: uhci->urb_remove_list_lock */ + ++ /* List of URB's awaiting completion callback */ + spinlock_t complete_list_lock; +- struct list_head complete_list; ++ struct list_head complete_list; /* P: uhci->complete_list_lock */ + + struct virt_root_hub rh; /* private data of the virtual root hub */ + }; +@@ -333,7 +338,7 @@ + dma_addr_t transfer_buffer_dma_handle; + + struct uhci_qh *qh; /* QH for this URB */ +- struct list_head td_list; ++ struct list_head td_list; /* P: urb->lock */ + + int fsbr : 1; /* URB turned on FSBR */ + int fsbr_timeout : 1; /* URB timed out on FSBR */ +@@ -345,11 +350,36 @@ + int status; /* Final status */ + + unsigned long inserttime; /* In jiffies */ +- unsigned long fsbrtime; /* In jiffies */ ++ unsigned long fsbrtime; /* In jiffies */ + +- struct list_head queue_list; +- struct list_head complete_list; ++ struct list_head queue_list; /* P: uhci->frame_list_lock */ ++ struct list_head complete_list; /* P: uhci->complete_list_lock */ + }; ++ ++/* ++ * Locking in uhci.c ++ * ++ * spinlocks are used extensively to protect the many lists and data ++ * structures we have. It's not that pretty, but it's necessary. We ++ * need to be done with all of the locks (except complete_list_lock) when ++ * we call urb->complete. I've tried to make it simple enough so I don't ++ * have to spend hours racking my brain trying to figure out if the ++ * locking is safe. ++ * ++ * Here's the safe locking order to prevent deadlocks: ++ * ++ * #1 uhci->urb_list_lock ++ * #2 urb->lock ++ * #3 uhci->urb_remove_list_lock, uhci->frame_list_lock, ++ * uhci->qh_remove_list_lock ++ * #4 uhci->complete_list_lock ++ * ++ * If you're going to grab 2 or more locks at once, ALWAYS grab the lock ++ * at the lowest level FIRST and NEVER grab locks at the same level at the ++ * same time. ++ * ++ * So, if you need uhci->urb_list_lock, grab it before you grab urb->lock ++ */ + + /* ------------------------------------------------------------------------- + Virtual Root HUB +--- linux/drivers/usb/uhci.c.usb-je-uhci-update Wed Feb 27 12:51:26 2002 ++++ linux/drivers/usb/uhci.c Wed Feb 27 12:56:45 2002 +@@ -4,7 +4,7 @@ + * Maintainer: Johannes Erdfelt + * + * (C) Copyright 1999 Linus Torvalds +- * (C) Copyright 1999-2001 Johannes Erdfelt, johannes@erdfelt.com ++ * (C) Copyright 1999-2002 Johannes Erdfelt, johannes@erdfelt.com + * (C) Copyright 1999 Randy Dunlap + * (C) Copyright 1999 Georg Acher, acher@in.tum.de + * (C) Copyright 1999 Deti Fliegl, deti@fliegl.de +@@ -240,10 +240,10 @@ + unsigned long flags; + + /* If it's not inserted, don't remove it */ ++ spin_lock_irqsave(&uhci->frame_list_lock, flags); + if (td->frame == -1 && list_empty(&td->fl_list)) +- return; ++ goto out; + +- spin_lock_irqsave(&uhci->frame_list_lock, flags); + if (td->frame != -1 && uhci->fl->frame_cpu[td->frame] == td) { + if (list_empty(&td->fl_list)) { + uhci->fl->frame[td->frame] = td->link; +@@ -268,6 +268,7 @@ + list_del_init(&td->fl_list); + td->frame = -1; + ++out: + spin_unlock_irqrestore(&uhci->frame_list_lock, flags); + } + +@@ -358,6 +359,9 @@ + pci_pool_free(uhci->qh_pool, qh, qh->dma_handle); + } + ++/* ++ * MUST be called with uhci->frame_list_lock acquired ++ */ + static void _uhci_insert_qh(struct uhci *uhci, struct uhci_qh *skelqh, struct urb *urb) + { + struct urb_priv *urbp = (struct urb_priv *)urb->hcpriv; +@@ -417,11 +421,10 @@ + return; + + /* Only go through the hoops if it's actually linked in */ ++ spin_lock_irqsave(&uhci->frame_list_lock, flags); + if (!list_empty(&qh->list)) { + qh->urbp = NULL; + +- spin_lock_irqsave(&uhci->frame_list_lock, flags); +- + pqh = list_entry(qh->list.prev, struct uhci_qh, list); + + if (pqh->urbp) { +@@ -444,9 +447,8 @@ + qh->element = qh->link = UHCI_PTR_TERM; + + list_del_init(&qh->list); +- +- spin_unlock_irqrestore(&uhci->frame_list_lock, flags); + } ++ spin_unlock_irqrestore(&uhci->frame_list_lock, flags); + + spin_lock_irqsave(&uhci->qh_remove_list_lock, flags); + +@@ -658,6 +660,9 @@ + return urbp; + } + ++/* ++ * MUST be called with urb->lock acquired ++ */ + static void uhci_add_td_to_urb(struct urb *urb, struct uhci_td *td) + { + struct urb_priv *urbp = (struct urb_priv *)urb->hcpriv; +@@ -667,6 +672,9 @@ + list_add_tail(&td->list, &urbp->td_list); + } + ++/* ++ * MUST be called with urb->lock acquired ++ */ + static void uhci_remove_td_from_urb(struct uhci_td *td) + { + if (list_empty(&td->list)) +@@ -677,22 +685,22 @@ + td->urb = NULL; + } + ++/* ++ * MUST be called with urb->lock acquired ++ */ + static void uhci_destroy_urb_priv(struct urb *urb) + { + struct list_head *head, *tmp; + struct urb_priv *urbp; + struct uhci *uhci; +- unsigned long flags; +- +- spin_lock_irqsave(&urb->lock, flags); + + urbp = (struct urb_priv *)urb->hcpriv; + if (!urbp) +- goto out; ++ return; + + if (!urbp->dev || !urbp->dev->bus || !urbp->dev->bus->hcpriv) { + warn("uhci_destroy_urb_priv: urb %p belongs to disconnected device or bus?", urb); +- goto out; ++ return; + } + + if (!list_empty(&urb->urb_list)) +@@ -715,20 +723,21 @@ + uhci_free_td(uhci, td); + } + +- if (urbp->setup_packet_dma_handle) ++ if (urbp->setup_packet_dma_handle) { + pci_unmap_single(uhci->dev, urbp->setup_packet_dma_handle, + sizeof(devrequest), PCI_DMA_TODEVICE); ++ urbp->setup_packet_dma_handle = 0; ++ } + +- if (urbp->transfer_buffer_dma_handle) ++ if (urbp->transfer_buffer_dma_handle) { + pci_unmap_single(uhci->dev, urbp->transfer_buffer_dma_handle, + urb->transfer_buffer_length, usb_pipein(urb->pipe) ? + PCI_DMA_FROMDEVICE : PCI_DMA_TODEVICE); ++ urbp->transfer_buffer_dma_handle = 0; ++ } + + urb->hcpriv = NULL; + kmem_cache_free(uhci_up_cachep, urbp); +- +-out: +- spin_unlock_irqrestore(&urb->lock, flags); + } + + static void uhci_inc_fsbr(struct uhci *uhci, struct urb *urb) +@@ -870,7 +879,7 @@ + * It's IN if the pipe is an output pipe or we're not expecting + * data back. + */ +- destination &= ~TD_PID; ++ destination &= ~TD_TOKEN_PID_MASK; + if (usb_pipeout(urb->pipe) || !urb->transfer_buffer_length) + destination |= USB_PID_IN; + else +@@ -1308,9 +1317,7 @@ + struct uhci *uhci = (struct uhci *)urb->dev->bus->hcpriv; + struct list_head *tmp, *head; + int ret = 0; +- unsigned long flags; + +- spin_lock_irqsave(&uhci->urb_list_lock, flags); + head = &uhci->urb_list; + tmp = head->next; + while (tmp != head) { +@@ -1333,8 +1340,6 @@ + } else + ret = -1; /* no previous urb found */ + +- spin_unlock_irqrestore(&uhci->urb_list_lock, flags); +- + return ret; + } + +@@ -1442,34 +1447,30 @@ + return ret; + } + ++/* ++ * MUST be called with uhci->urb_list_lock acquired ++ */ + static struct urb *uhci_find_urb_ep(struct uhci *uhci, struct urb *urb) + { + struct list_head *tmp, *head; +- unsigned long flags; +- struct urb *u = NULL; + + /* We don't match Isoc transfers since they are special */ + if (usb_pipeisoc(urb->pipe)) + return NULL; + +- spin_lock_irqsave(&uhci->urb_list_lock, flags); + head = &uhci->urb_list; + tmp = head->next; + while (tmp != head) { +- u = list_entry(tmp, struct urb, urb_list); ++ struct urb *u = list_entry(tmp, struct urb, urb_list); + + tmp = tmp->next; + + if (u->dev == urb->dev && u->pipe == urb->pipe && + u->status == -EINPROGRESS) +- goto out; ++ return u; + } +- u = NULL; +- +-out: +- spin_unlock_irqrestore(&uhci->urb_list_lock, flags); + +- return u; ++ return NULL; + } + + static int uhci_submit_urb(struct urb *urb) +@@ -1493,13 +1494,15 @@ + INIT_LIST_HEAD(&urb->urb_list); + usb_inc_dev_use(urb->dev); + +- spin_lock_irqsave(&urb->lock, flags); ++ spin_lock_irqsave(&uhci->urb_list_lock, flags); ++ spin_lock(&urb->lock); + + if (urb->status == -EINPROGRESS || urb->status == -ECONNRESET || + urb->status == -ECONNABORTED) { + dbg("uhci_submit_urb: urb not available to submit (status = %d)", urb->status); + /* Since we can have problems on the out path */ +- spin_unlock_irqrestore(&urb->lock, flags); ++ spin_unlock(&urb->lock); ++ spin_unlock_irqrestore(&uhci->urb_list_lock, flags); + usb_dec_dev_use(urb->dev); + + return ret; +@@ -1568,18 +1571,21 @@ + out: + urb->status = ret; + +- spin_unlock_irqrestore(&urb->lock, flags); +- + if (ret == -EINPROGRESS) { +- spin_lock_irqsave(&uhci->urb_list_lock, flags); + /* We use _tail to make find_urb_ep more efficient */ + list_add_tail(&urb->urb_list, &uhci->urb_list); ++ ++ spin_unlock(&urb->lock); + spin_unlock_irqrestore(&uhci->urb_list_lock, flags); + + return 0; + } + + uhci_unlink_generic(uhci, urb); ++ ++ spin_unlock(&urb->lock); ++ spin_unlock_irqrestore(&uhci->urb_list_lock, flags); ++ + uhci_call_completion(urb); + + return ret; +@@ -1588,7 +1594,7 @@ + /* + * Return the result of a transfer + * +- * Must be called with urb_list_lock acquired ++ * MUST be called with urb_list_lock acquired + */ + static void uhci_transfer_result(struct uhci *uhci, struct urb *urb) + { +@@ -1627,10 +1633,10 @@ + + urbp->status = ret; + +- spin_unlock_irqrestore(&urb->lock, flags); +- +- if (ret == -EINPROGRESS) ++ if (ret == -EINPROGRESS) { ++ spin_unlock_irqrestore(&urb->lock, flags); + return; ++ } + + switch (usb_pipetype(urb->pipe)) { + case PIPE_CONTROL: +@@ -1660,15 +1666,22 @@ + usb_pipetype(urb->pipe), urb); + } + ++ /* Remove it from uhci->urb_list */ + list_del_init(&urb->urb_list); + + uhci_add_complete(urb); ++ ++ spin_unlock_irqrestore(&urb->lock, flags); + } + ++/* ++ * MUST be called with urb->lock acquired ++ */ + static void uhci_unlink_generic(struct uhci *uhci, struct urb *urb) + { + struct list_head *head, *tmp; + struct urb_priv *urbp = urb->hcpriv; ++ int prevactive = 1; + + /* We can get called when urbp allocation fails, so check */ + if (!urbp) +@@ -1676,6 +1689,19 @@ + + uhci_dec_fsbr(uhci, urb); /* Safe since it checks */ + ++ /* ++ * Now we need to find out what the last successful toggle was ++ * so we can update the local data toggle for the next transfer ++ * ++ * There's 3 way's the last successful completed TD is found: ++ * ++ * 1) The TD is NOT active and the actual length < expected length ++ * 2) The TD is NOT active and it's the last TD in the chain ++ * 3) The TD is active and the previous TD is NOT active ++ * ++ * Control and Isochronous ignore the toggle, so this is safe ++ * for all types ++ */ + head = &urbp->td_list; + tmp = head->next; + while (tmp != head) { +@@ -1683,15 +1709,18 @@ + + tmp = tmp->next; + +- /* Control and Isochronous ignore the toggle, so this */ +- /* is safe for all types */ +- if ((!(td->status & TD_CTRL_ACTIVE) && +- (uhci_actual_length(td->status) < uhci_expected_length(td->info)) || +- tmp == head)) { ++ if (!(td->status & TD_CTRL_ACTIVE) && ++ (uhci_actual_length(td->status) < uhci_expected_length(td->info) || ++ tmp == head)) + usb_settoggle(urb->dev, uhci_endpoint(td->info), + uhci_packetout(td->info), + uhci_toggle(td->info) ^ 1); +- } ++ else if ((td->status & TD_CTRL_ACTIVE) && !prevactive) ++ usb_settoggle(urb->dev, uhci_endpoint(td->info), ++ uhci_packetout(td->info), ++ uhci_toggle(td->info)); ++ ++ prevactive = td->status & TD_CTRL_ACTIVE; + } + + uhci_delete_queued_urb(uhci, urb); +@@ -1714,6 +1743,9 @@ + + uhci = (struct uhci *)urb->dev->bus->hcpriv; + ++ spin_lock_irqsave(&uhci->urb_list_lock, flags); ++ spin_lock(&urb->lock); ++ + /* Release bandwidth for Interrupt or Isoc. transfers */ + /* Spinlock needed ? */ + if (urb->bandwidth) { +@@ -1729,35 +1761,41 @@ + } + } + +- if (urb->status != -EINPROGRESS) ++ if (urb->status != -EINPROGRESS) { ++ spin_unlock(&urb->lock); ++ spin_unlock_irqrestore(&uhci->urb_list_lock, flags); + return 0; ++ } + +- spin_lock_irqsave(&uhci->urb_list_lock, flags); + list_del_init(&urb->urb_list); +- spin_unlock_irqrestore(&uhci->urb_list_lock, flags); + + uhci_unlink_generic(uhci, urb); + + /* Short circuit the virtual root hub */ + if (urb->dev == uhci->rh.dev) { + rh_unlink_urb(urb); ++ ++ spin_unlock(&urb->lock); ++ spin_unlock_irqrestore(&uhci->urb_list_lock, flags); ++ + uhci_call_completion(urb); + } else { + if (urb->transfer_flags & USB_ASYNC_UNLINK) { +- /* urb_list is available now since we called */ +- /* uhci_unlink_generic already */ +- + urbp->status = urb->status = -ECONNABORTED; + +- spin_lock_irqsave(&uhci->urb_remove_list_lock, flags); ++ spin_lock(&uhci->urb_remove_list_lock); + +- /* Check to see if the remove list is empty */ ++ /* If we're the first, set the next interrupt bit */ + if (list_empty(&uhci->urb_remove_list)) + uhci_set_next_interrupt(uhci); + + list_add(&urb->urb_list, &uhci->urb_remove_list); + +- spin_unlock_irqrestore(&uhci->urb_remove_list_lock, flags); ++ spin_unlock(&uhci->urb_remove_list_lock); ++ ++ spin_unlock(&urb->lock); ++ spin_unlock_irqrestore(&uhci->urb_list_lock, flags); ++ + } else { + urb->status = -ENOENT; + +@@ -1770,6 +1808,9 @@ + } else + schedule_timeout(1+1*HZ/1000); + ++ spin_unlock(&urb->lock); ++ spin_unlock_irqrestore(&uhci->urb_list_lock, flags); ++ + uhci_call_completion(urb); + } + } +@@ -1903,12 +1944,14 @@ + /* prepare Interrupt pipe transaction data; HUB INTERRUPT ENDPOINT */ + static int rh_send_irq(struct urb *urb) + { +- int i, len = 1; + struct uhci *uhci = (struct uhci *)urb->dev->bus->hcpriv; ++ struct urb_priv *urbp = (struct urb_priv *)urb->hcpriv; + unsigned int io_addr = uhci->io_addr; ++ unsigned long flags; ++ int i, len = 1; + __u16 data = 0; +- struct urb_priv *urbp = (struct urb_priv *)urb->hcpriv; + ++ spin_lock_irqsave(&urb->lock, flags); + for (i = 0; i < uhci->rh.numports; i++) { + data |= ((inw(io_addr + USBPORTSC1 + i * 2) & 0xa) > 0 ? (1 << (i + 1)) : 0); + len = (i + 1) / 8 + 1; +@@ -1918,6 +1961,8 @@ + urb->actual_length = len; + urbp->status = 0; + ++ spin_unlock_irqrestore(&urb->lock, flags); ++ + if ((data > 0) && (uhci->rh.send != 0)) { + dbg("root-hub INT complete: port1: %x port2: %x data: %x", + inw(io_addr + USBPORTSC1), inw(io_addr + USBPORTSC2), data); +@@ -1944,7 +1989,6 @@ + + spin_lock_irqsave(&uhci->urb_list_lock, flags); + head = &uhci->urb_list; +- + tmp = head->next; + while (tmp != head) { + struct urb *u = list_entry(tmp, struct urb, urb_list); +@@ -1952,6 +1996,8 @@ + + tmp = tmp->next; + ++ spin_lock(&urb->lock); ++ + /* Check if the FSBR timed out */ + if (urbp->fsbr && !urbp->fsbr_timeout && time_after_eq(jiffies, urbp->fsbrtime + IDLE_TIMEOUT)) + uhci_fsbr_timeout(uhci, u); +@@ -1961,6 +2007,8 @@ + list_del(&u->urb_list); + list_add_tail(&u->urb_list, &list); + } ++ ++ spin_unlock(&urb->lock); + } + spin_unlock_irqrestore(&uhci->urb_list_lock, flags); + +@@ -2194,6 +2242,9 @@ + return stat; + } + ++/* ++ * MUST be called with urb->lock acquired ++ */ + static int rh_unlink_urb(struct urb *urb) + { + struct uhci *uhci = (struct uhci *)urb->dev->bus->hcpriv; +@@ -2229,16 +2280,25 @@ + + static void uhci_call_completion(struct urb *urb) + { +- struct urb_priv *urbp = (struct urb_priv *)urb->hcpriv; ++ struct urb_priv *urbp; + struct usb_device *dev = urb->dev; + struct uhci *uhci = (struct uhci *)dev->bus->hcpriv; + int is_ring = 0, killed, resubmit_interrupt, status; + struct urb *nurb; ++ unsigned long flags; ++ ++ spin_lock_irqsave(&urb->lock, flags); ++ ++ urbp = (struct urb_priv *)urb->hcpriv; ++ if (!urbp || !urb->dev) { ++ spin_unlock_irqrestore(&urb->lock, flags); ++ return; ++ } + + killed = (urb->status == -ENOENT || urb->status == -ECONNABORTED || + urb->status == -ECONNRESET); + resubmit_interrupt = (usb_pipetype(urb->pipe) == PIPE_INTERRUPT && +- urb->interval && !killed); ++ urb->interval); + + nurb = urb->next; + if (nurb && !killed) { +@@ -2263,14 +2323,6 @@ + is_ring = (nurb == urb); + } + +- status = urbp->status; +- if (!resubmit_interrupt) +- /* We don't need urb_priv anymore */ +- uhci_destroy_urb_priv(urb); +- +- if (!killed) +- urb->status = status; +- + if (urbp->transfer_buffer_dma_handle) + pci_dma_sync_single(uhci->dev, urbp->transfer_buffer_dma_handle, + urb->transfer_buffer_length, usb_pipein(urb->pipe) ? +@@ -2280,11 +2332,28 @@ + pci_dma_sync_single(uhci->dev, urbp->setup_packet_dma_handle, + sizeof(devrequest), PCI_DMA_TODEVICE); + ++ status = urbp->status; ++ if (!resubmit_interrupt || killed) ++ /* We don't need urb_priv anymore */ ++ uhci_destroy_urb_priv(urb); ++ ++ if (!killed) ++ urb->status = status; ++ + urb->dev = NULL; +- if (urb->complete) ++ spin_unlock_irqrestore(&urb->lock, flags); ++ ++ if (urb->complete) { + urb->complete(urb); + +- if (resubmit_interrupt) { ++ /* Recheck the status. The completion handler may have */ ++ /* unlinked the resubmitting interrupt URB */ ++ killed = (urb->status == -ENOENT || ++ urb->status == -ECONNABORTED || ++ urb->status == -ECONNRESET); ++ } ++ ++ if (resubmit_interrupt && !killed) { + urb->dev = dev; + uhci_reset_interrupt(urb); + } else { +@@ -2311,11 +2380,14 @@ + struct urb_priv *urbp = list_entry(tmp, struct urb_priv, complete_list); + struct urb *urb = urbp->urb; + +- tmp = tmp->next; +- + list_del_init(&urbp->complete_list); ++ spin_unlock_irqrestore(&uhci->complete_list_lock, flags); + + uhci_call_completion(urb); ++ ++ spin_lock_irqsave(&uhci->complete_list_lock, flags); ++ head = &uhci->complete_list; ++ tmp = head->next; + } + spin_unlock_irqrestore(&uhci->complete_list_lock, flags); + } +@@ -2337,7 +2409,8 @@ + list_del_init(&urb->urb_list); + + urbp->status = urb->status = -ECONNRESET; +- uhci_call_completion(urb); ++ ++ uhci_add_complete(urb); + } + spin_unlock_irqrestore(&uhci->urb_remove_list_lock, flags); + } +@@ -3070,3 +3143,4 @@ + MODULE_AUTHOR(DRIVER_AUTHOR); + MODULE_DESCRIPTION(DRIVER_DESC); + MODULE_LICENSE("GPL"); ++ --- hpoj-0.91.orig/debian/usb/README +++ hpoj-0.91/debian/usb/README @@ -0,0 +1,49 @@ +This is an update for the Linux USB printer.c driver for 2.2, 2.4, and 2.5 +kernels. + +It includes the following changes: +- ioctls to enable the CVS version of ptal-mlcd (http://hpoj.sourceforge.net) + to dynamically switch alternate settings and parallel-port-style channels. + This allows ptal-mlcd to work over USB with HP PhotoSmart printers and + some DeskJets (9xx, 12xx, cp1160, and some others), and it fixes the + problem where ptal-mlcd was needed in order to be able to print to the + LaserJet 1200 and 2200. + See http://hpoj.sourceforge.net/doc/ioctl_requests.html for more + information on these ioctls, not all of which are actually implemented yet. +- A "proto_bias" parameter (thanks to Pete Zaitcev) that changes the + default preferred interface from 7/1/2 to 7/1/3 or 7/1/1. + NOTE: If you use this version of printer.c with the 0.8 (not latest CVS) + version of ptal-mlcd, then you'll need to use this feature to set 7/1/3, + as documented at "http://hpoj.sourceforge.net/todo.shtml". +- Added MODULE_{INC,DEC}_USE_COUNT to prevent unloading printer.o while it's + active, which causes OOPSes. (For the 2.2 backport only.) +- Fixed buffer overflow in usblp_table when maximum number of connected + printers was exceeded. +- Various code cleanups, especially to consolidate duplicated code. +- A backport to 2.2. +- The 2.5 version also contains Oliver Neukum's changes which appeared + in or around 2.5.4pre6 and Greg K-H's changes which appeared in or + around 2.5.6pre2. + +Files in this directory: +- README -- this file +- Makefile -- the makefile I use so I don't have to rebuild the whole kernel +- printer.c -- the hacked version of printer.c for 2.2 and 2.4 +- printer-2.2.c -- the hacked version for 2.2 only +- printer-2.4.c -- the hacked version for 2.4 only +- printer-2.5.c -- the hacked version for 2.5 only +- printer-2.2.20.c -- for comparison, the printer.c from kernel 2.2.20 +- printer-2.4.13.c -- for comparison, the printer.c from kernel 2.4.13 +- printer-2.5.6pre2.c -- for comparison, the printer.c from kernel 2.5.6pre2 +- printer.c.diff -- a context diff between printer-2.4.13.c and printer.c +- printer-2.2.c.udiff -- a unified diff between printer-2.2.20.c and printer-2.2.c +- printer-2.4.c.udiff -- a unified diff between printer-2.4.13.c and printer-2.4.c +- printer-2.5.c.udiff -- a unified diff between printer-2.5.6pre2.c and printer-2.5.c + +Note: When using the supplied Makefile to build printer.o, you first need +to edit the top of the Makefile and un-comment the appropriate definition +for LINUX_DIR that points to the Linux kernel source code on your system. +If neither of the supplied lines is appropriate for your system, then +modify one of them so it is. + +-- David Paschal (paschal@rcsis.com, david_paschal@hp.com) --- hpoj-0.91.orig/mlcd/ExMgr.h +++ hpoj-0.91/mlcd/ExMgr.h @@ -127,8 +127,8 @@ QueueEntry(): prev(0),next(0) { } #ifdef JD_DEBUGLITE void dump(void) { - printf("QueueEntry(0x%8.8X): prev=0x%8.8X, next=0x%8.8X\n", - (int)this,(int)prev,(int)next); + printf("QueueEntry(0x%16.16lX): prev=0x%16.16lX, next=0x%16.16lX\n", + (long)this,(long)prev,(long)next); } #endif int isEnqueued(void) { return (prev || next); } --- hpoj-0.91.orig/mlcd/ExMgr.cpp +++ hpoj-0.91/mlcd/ExMgr.cpp @@ -248,8 +248,8 @@ #ifdef JD_DEBUGLITE void ExWatchdogTimer::dump(void) { - printf("pMsgHandler=0x%8.8X\n",(int)pMsgHandler); - printf("pMsg=0x%8.8X\n",(int)pMsg); + printf("pMsgHandler=0x%8.8lX\n",(long)pMsgHandler); + printf("pMsg=0x%8.8lX\n",(long)pMsg); printf("delay=%d seconds, %d usec\n", (int)delay.tv_sec,(int)delay.tv_usec); printf("cancelled=%d\n",cancelled); @@ -1307,13 +1307,13 @@ printf("\tstate=%d\n",session[scd].state); printf("\tfd=%d\n",session[scd].fd); printf("\tscdlink=%d\n",session[scd].scdlink); - printf("\tpLookup=0x%8.8X\n",(int)session[scd].pLookup); + printf("\tpLookup=0x%16.16lX\n",(long)session[scd].pLookup); printf("\toutstandingForwardBdrCount=%d\n", session[scd].outstandingForwardBdrCount); printf("\tpReverseBdrQueue: depth=%d\n", session[scd].pReverseBdrQueue->depth()); - printf("\ttcd=0x%8.8X\n",(int)session[scd].tcd); - printf("\tpCommandBdr=0x%8.8X\n",(int)session[scd].pCommandBdr); + printf("\ttcd=0x%16.16lX\n",(long)session[scd].tcd); + printf("\tpCommandBdr=0x%16.16lX\n",(long)session[scd].pCommandBdr); printf("\tpmlTrapsRegistered=%d\n",session[scd].pmlTrapsRegistered); printf("\tbitbucketSocket=%d\n",session[scd].bitbucketSocket); --- hpoj-0.91.orig/mlcd/transport/ExMlcTransport.cpp +++ hpoj-0.91/mlcd/transport/ExMlcTransport.cpp @@ -411,20 +411,20 @@ void ExMlcTransportChannel::dump(void) { ExTransportChannel::dump(); printf("----------------\n"); - printf("pMlcTransport=0x%8.8X\n", - (int)pMlcTransport); - printf("pCommandChannel=0x%8.8X\n", - (int)pCommandChannel); + printf("pMlcTransport=0x%16.16lX\n", + (long)pMlcTransport); + printf("pCommandChannel=0x%16.16lX\n", + (long)pCommandChannel); printf("disableCreditCommands=%d\n", disableCreditCommands); printf("pForwardCreditRequestTimer=0x%8.8X\n", - (int)pForwardCreditRequestTimer); - printf("pForwardCreditRequestMsg=0x%8.8X\n", - (int)pForwardCreditRequestMsg); - printf("pReverseCreditHeartbeatTimer=0x%8.8X\n", - (int)pReverseCreditHeartbeatTimer); + (long)pForwardCreditRequestTimer); + printf("pForwardCreditRequestMsg=0x%16.16lX\n", + (long)pForwardCreditRequestMsg); + printf("pReverseCreditHeartbeatTimer=0x%16.16lX\n", + (long)pReverseCreditHeartbeatTimer); printf("pReverseCreditHeartbeatMsg=0x%8.8X\n", - (int)pReverseCreditHeartbeatMsg); + (long)pReverseCreditHeartbeatMsg); printf("musherFirstCreditRequestDelay=%d\n", musherFirstCreditRequestDelay); printf("musherNextCreditRequestDelay=%d\n", @@ -1601,12 +1601,12 @@ ExTransport::dump(); printf("----------------\n"); - printf("pForwardHeaderPool=0x%8.8X\n", - (int)pForwardHeaderPool); - printf("mlcChannelArray=0x%8.8X\n", - (int)mlcChannelArray); - printf("pCommandChannel=0x%8.8X\n", - (int)pCommandChannel); + printf("pForwardHeaderPool=0x%16.16lX\n", + (long)pForwardHeaderPool); + printf("mlcChannelArray=0x%16.16lX\n", + (long)mlcChannelArray); + printf("pCommandChannel=0x%16.16lX\n", + (long)pCommandChannel); printf("grcState=%d\n", grcState); printf("reverseDataStopped=%d\n", --- hpoj-0.91.orig/mlcd/transport/ExTransport.cpp +++ hpoj-0.91/mlcd/transport/ExTransport.cpp @@ -70,10 +70,10 @@ #ifdef JD_DEBUGLITE void ExLookup::dump(void) { - printf("sizeof(ExLookup)=%d, this=0x%8.8X\n", - sizeof(ExLookup),(int)this); - printf("pService=0x%8.8X\n", - (int)pService); + printf("sizeof(ExLookup)=%d, this=0x%16.16lX\n", + sizeof(ExLookup),(long)this); + printf("pService=0x%16.16lX\n", + (long)pService); printf("serviceName='%s' (len=%d)\n", serviceName,strlen(serviceName)); printf("socketID=%d\n", @@ -95,7 +95,7 @@ int ExLookup::getServiceName(char *dest,int maxlen) { LOGD_ASSERT(dest && maxlen>0,cEXTP,0,cCauseBadParm, "ExLookup::getServiceName: " - "invalid dest=0x%8.8X or maxlen=%d!\n", + "invalid dest=0x%16.16lX or maxlen=%d!\n", dest,maxlen); dest[maxlen-1]=0; @@ -316,20 +316,20 @@ #ifdef JD_DEBUGLITE void ExTransportChannel::dump(void) { - printf("this=0x%8.8X\n", - (int)this); + printf("this=0x%16.16lX\n", + (long)this); printf("port=%d\n", port); printf("channel=%d\n", channel); printf("localSocket=%d\n", localSocket); - printf("pTransport=0x%8.8X\n", - (int)pTransport); - printf("pMgr=0x%8.8X\n", - (int)pMgr); - printf("pPhysicalPort=0x%8.8X\n", - (int)pPhysicalPort); + printf("pTransport=0x%16.16lX\n", + (long)pTransport); + printf("pMgr=0x%16.16lX\n", + (long)pMgr); + printf("pPhysicalPort=0x%16.16lX\n", + (long)pPhysicalPort); printf("openingAnySetFlags=0x%4.4X\n", openingAnySetFlags); printf("closingAnySetFlags=0x%4.4X\n", @@ -340,10 +340,10 @@ countOpen.get()); printf("countOpenFailure=%d\n", countOpenFailure.get()); - printf("pService=0x%8.8X\n", - (int)pService); - printf("scd=0x%8.8X\n", - (int)scd); + printf("pService=0x%16.16lX\n", + (long)pService); + printf("scd=0x%16.16X\n", + (long)scd); printf("forwardDataPriority=%d\n", forwardDataPriority); printf("minBuffersRequired=%d\n", @@ -369,11 +369,11 @@ printf("countReverseBufferReturns=%d\n", countReverseBufferReturns.get()); #ifdef JD_DEBUGLITE // Redundant ifdef, I know. - printf("lastReverseBuffer=0x%8.8X\n", - (int)lastReverseBuffer); + printf("lastReverseBuffer=0x%16.16lX\n", + (long)lastReverseBuffer); #endif - printf("currentForwardBuffer=0x%8.8X\n", - (int)currentForwardBuffer); + printf("currentForwardBuffer=0x%16.16lX\n", + (long)currentForwardBuffer); printf("currentGrabbedCredit=%d\n", currentGrabbedCredit); printf("currentGrabbedTransaction=%d\n", @@ -924,32 +924,32 @@ void ExTransport::dump(void) { int channel; - printf("this=0x%8.8X\n", - (int)this); + printf("this=0x%16.16lX\n", + (long)this); printf("port=%d\n", port); - printf("pMgr=0x%8.8X\n", - (int)pMgr); - printf("pPhysicalPort=0x%8.8X\n", - (int)pPhysicalPort); + printf("pMgr=0x%16.16lX\n", + (long)pMgr); + printf("pPhysicalPort=0x%16.16lX\n", + (long)pPhysicalPort); printf("forwardTransactionCounter: "); forwardTransactionCounter.dump(); printf("channelCount=%d\n", channelCount); - printf("channelArray=0x%8.8X\n", - (int)channelArray); + printf("channelArray=0x%16.16X\n", + (long)channelArray); for (channel=0;channelgetCount()); - printf("pForwardDataTimeoutMsg=0x%8.8X\n", - (int)pForwardDataTimeoutMsg); + printf("pNextTransport=0x%16.16X\n", + (long)pNextTransport); + printf("pForwardDataTimer=0x%16.16lX (count=%d)\n", + (long)pForwardDataTimer,pForwardDataTimer->getCount()); + printf("pForwardDataTimeoutMsg=0x%16.16lX\n", + (long)pForwardDataTimeoutMsg); printf("reverseDataBufferCount=%d\n", reverseDataBufferCount); printf("reverseDataBufferSize=%d\n", @@ -966,8 +966,8 @@ nextBlockedChannel); int depth=lookupQueue.depth(); ExLookup *pLookupRequest=lookupQueue.peek(); - printf("lookupQueue: depth=%d, peek=0x%8.8X\n", - depth,(int)pLookupRequest); + printf("lookupQueue: depth=%d, peek=0x%16.16lX\n", + depth,(long)pLookupRequest); if (pLookupRequest) { pLookupRequest->dump(); } @@ -1101,7 +1101,7 @@ ExMsg *pMsg=pMgr->getFreeMsg(); pMsg->setType(eEXMSG_ACTIVATE_WAIT); - pMsg->setParams(eEXCLASS_TRANSPORT,(int)this); + pMsg->setParams(eEXCLASS_TRANSPORT,(long)this); pMsg->send(pMgr); } @@ -1248,7 +1248,7 @@ ExMsg *pMsg=pMgr->getFreeMsg(); pMsg->setType(eEXMSG_ACTIVATE_RESPONSE); - pMsg->setParams(eEXCLASS_TRANSPORT,(int)this,status); + pMsg->setParams(eEXCLASS_TRANSPORT,(long)this,status); pMsg->send(pMgr); } @@ -1282,7 +1282,7 @@ ExMsg *pMsg=pMgr->getFreeMsg(); pMsg->setType(eEXMSG_DEACTIVATE_RESPONSE); - pMsg->setParams(eEXCLASS_TRANSPORT,(int)this,status); + pMsg->setParams(eEXCLASS_TRANSPORT,(long)this,status); pMsg->send(pMgr); } @@ -1395,7 +1395,7 @@ pMsg->setType(eEXMSG_LOOKUP_RESPONSE); #ifndef EX_TRANSPORT_UNIX_PORT - pMsg->setParams((int)pLookupRequest); + pMsg->setParams((long)pLookupRequest); #else pMsg->setParams((void *)pLookupRequest); #endif --- hpoj-0.91.orig/mlcd/transport/ExMlcTransport.h +++ hpoj-0.91/mlcd/transport/ExMlcTransport.h @@ -888,14 +888,14 @@ void remsockReset(void); public: STATUS remsockLookup(int socketID,int *pState, - int *pMaxForwardPacketSize,int *pMaxForwardPacketSize); + int *pMaxForwardPacketSize,int *pMaxForwardPacketSize2); STATUS remsockAdd(int socketID); void handleConfigSocketReply(int result,int socketID, int maxPriToSecPacketSize,int maxSecToPriPacketSize, int statusLevel); protected: STATUS remsockUpdate(int socketID, - int maxForwardPacketSize,int maxForwardPacketSize); + int maxForwardPacketSize,int maxForwardPacketSize2); STATUS remsockDelete(int socketID); // Peripheral-initiated opens (not supported): --- hpoj-0.91.orig/mlcd/transport/ExMlcCommandChannel.cpp +++ hpoj-0.91/mlcd/transport/ExMlcCommandChannel.cpp @@ -216,20 +216,20 @@ void ExMlcCommandChannel::dump(void) { ExMlcTransportChannel::dump(); printf("----------------\n"); - printf("pForwardCommandPool=0x%8.8X\n", - (int)pForwardCommandPool); - printf("pForwardNonconsumingQueue=0x%8.8X\n", - (int)pForwardNonconsumingQueue); - printf("pForwardReplyQueue=0x%8.8X\n", - (int)pForwardReplyQueue); - printf("pForwardRequestQueue=0x%8.8X\n", - (int)pForwardRequestQueue); + printf("pForwardCommandPool=0x%16.16lX\n", + (long)pForwardCommandPool); + printf("pForwardNonconsumingQueue=0x%16.16lX\n", + (long)pForwardNonconsumingQueue); + printf("pForwardReplyQueue=0x%16.16lX\n", + (long)pForwardReplyQueue); + printf("pForwardRequestQueue=0x%16.16lX\n", + (long)pForwardRequestQueue); printf("forwardRequestCredit: "); forwardRequestCredit.dump(); - printf("pCommandReplyTimer=0x%8.8X (count=%d)\n", - (int)pCommandReplyTimer,pCommandReplyTimer->getCount()); - printf("pCommandReplyTimeoutMsg=0x%8.8X\n", - (int)pCommandReplyTimeoutMsg); + printf("pCommandReplyTimer=0x%16.16lX (count=%d)\n", + (long)pCommandReplyTimer,pCommandReplyTimer->getCount()); + printf("pCommandReplyTimeoutMsg=0x%16.16lX\n", + (long)pCommandReplyTimeoutMsg); printf("allowErrorPackets=%d\n", allowErrorPackets); printf("lastRequest=0x%2.2X\n",