diff -Nru prerex-6.5.3/acinclude.m4 prerex-6.5.4/acinclude.m4 --- prerex-6.5.3/acinclude.m4 1970-01-01 00:00:00.000000000 +0000 +++ prerex-6.5.4/acinclude.m4 2012-04-12 14:44:59.000000000 +0000 @@ -0,0 +1,85 @@ + +dnl +dnl read lib version from file (and trim trailing newline) +dnl +define([EL_RELEASE], [patsubst(esyscmd([. src/shlib_version; echo $major.$minor]), [ +])]) + +dnl +dnl read cvsexport timestamp from file (and trim trailing newline) +dnl +define([EL_TIMESTAMP], [patsubst(esyscmd([date +"%Y%m%d"]), [ +])]) + + +dnl +dnl NetBSD use the -mdoc macro package for manpages, but e.g. +dnl AIX and Solaris only support the -man package. +dnl +AC_DEFUN([EL_MANTYPE], +[ + MANTYPE= + TestPath="/usr/bin${PATH_SEPARATOR}/usr/ucb" + AC_PATH_PROGS(NROFF, nroff awf, /bin/false, $TestPath) + if ${NROFF} -mdoc ${srcdir}/doc/editrc.5.roff >/dev/null 2>&1; then + MANTYPE=mdoc + fi + AC_SUBST(MANTYPE) +]) + + +dnl +dnl Check if getpwnam_r and getpwuid_r are POSIX.1 compatible +dnl POSIX draft version returns 'struct passwd *' (used on Solaris) +dnl NOTE: getpwent_r is not POSIX so we always use getpwent +dnl +AC_DEFUN([EL_GETPW_R_POSIX], +[ + AC_MSG_CHECKING([whether getpwnam_r and getpwuid_r are posix like]) + # The prototype for the POSIX version is: + # int getpwnam_r(char *, struct passwd *, char *, size_t, struct passwd **) + # int getpwuid_r(uid_t, struct passwd *, char *, size_t, struct passwd **); + AC_TRY_LINK([#include + #include + #include ], + [getpwnam_r(NULL, NULL, NULL, (size_t)0, NULL); + getpwuid_r((uid_t)0, NULL, NULL, (size_t)0, NULL);], + [AC_DEFINE([HAVE_GETPW_R_POSIX], 1, [Define to 1 if you have getpwnam_r and getpwuid_r that are POSIX.1 compatible.]) + AC_MSG_RESULT(yes)], + [AC_MSG_RESULT(no)]) +]) + +AC_DEFUN([EL_GETPW_R_DRAFT], +[ + AC_MSG_CHECKING([whether getpwnam_r and getpwuid_r are posix _draft_ like]) + # The prototype for the POSIX draft version is: + # struct passwd *getpwuid_r(uid_t, struct passwd *, char *, int); + # struct passwd *getpwnam_r(char *, struct passwd *, char *, int); + AC_TRY_LINK([#include + #include + #include ], + [getpwnam_r(NULL, NULL, NULL, (size_t)0); + getpwuid_r((uid_t)0, NULL, NULL, (size_t)0);], + [AC_DEFINE([HAVE_GETPW_R_DRAFT], 1, [Define to 1 if you have getpwnam_r and getpwuid_r that are draft POSIX.1 versions.]) + AC_MSG_RESULT(yes)], + [AC_MSG_RESULT(no)]) +]) + + +dnl +dnl use option --enable-widec to turn on use of wide-character support +dnl +AC_DEFUN([EL_ENABLE_WIDEC], +[ + AC_MSG_CHECKING(if you want wide-character code) + AC_ARG_ENABLE(widec, + [ --enable-widec compile with wide-char/UTF-8 code], + [with_widec=$enableval], + [with_widec=no]) + AC_MSG_RESULT($with_widec) + if test "$with_widec" = yes ; then + AC_DEFINE(WIDECHAR, 1, [Define to 1 if you want wide-character code]) + fi + AM_CONDITIONAL([WIDECHAR], [test "$with_widec" = yes]) +]) + diff -Nru prerex-6.5.3/aclocal.m4 prerex-6.5.4/aclocal.m4 --- prerex-6.5.3/aclocal.m4 1970-01-01 00:00:00.000000000 +0000 +++ prerex-6.5.4/aclocal.m4 2014-07-19 15:22:05.000000000 +0000 @@ -0,0 +1,1014 @@ +# generated automatically by aclocal 1.11.1 -*- Autoconf -*- + +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, +# 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +m4_ifndef([AC_AUTOCONF_VERSION], + [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl +m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.63],, +[m4_warning([this file was generated for autoconf 2.63. +You have another version of autoconf. It may work, but is not guaranteed to. +If you have problems, you may need to regenerate the build system entirely. +To do so, use the procedure documented by the package, typically `autoreconf'.])]) + +# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_AUTOMAKE_VERSION(VERSION) +# ---------------------------- +# Automake X.Y traces this macro to ensure aclocal.m4 has been +# generated from the m4 files accompanying Automake X.Y. +# (This private macro should not be called outside this file.) +AC_DEFUN([AM_AUTOMAKE_VERSION], +[am__api_version='1.11' +dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to +dnl require some minimum version. Point them to the right macro. +m4_if([$1], [1.11.1], [], + [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl +]) + +# _AM_AUTOCONF_VERSION(VERSION) +# ----------------------------- +# aclocal traces this macro to find the Autoconf version. +# This is a private macro too. Using m4_define simplifies +# the logic in aclocal, which can simply ignore this definition. +m4_define([_AM_AUTOCONF_VERSION], []) + +# AM_SET_CURRENT_AUTOMAKE_VERSION +# ------------------------------- +# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. +# This function is AC_REQUIREd by AM_INIT_AUTOMAKE. +AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], +[AM_AUTOMAKE_VERSION([1.11.1])dnl +m4_ifndef([AC_AUTOCONF_VERSION], + [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl +_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) + +# AM_AUX_DIR_EXPAND -*- Autoconf -*- + +# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets +# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to +# `$srcdir', `$srcdir/..', or `$srcdir/../..'. +# +# Of course, Automake must honor this variable whenever it calls a +# tool from the auxiliary directory. The problem is that $srcdir (and +# therefore $ac_aux_dir as well) can be either absolute or relative, +# depending on how configure is run. This is pretty annoying, since +# it makes $ac_aux_dir quite unusable in subdirectories: in the top +# source directory, any form will work fine, but in subdirectories a +# relative path needs to be adjusted first. +# +# $ac_aux_dir/missing +# fails when called from a subdirectory if $ac_aux_dir is relative +# $top_srcdir/$ac_aux_dir/missing +# fails if $ac_aux_dir is absolute, +# fails when called from a subdirectory in a VPATH build with +# a relative $ac_aux_dir +# +# The reason of the latter failure is that $top_srcdir and $ac_aux_dir +# are both prefixed by $srcdir. In an in-source build this is usually +# harmless because $srcdir is `.', but things will broke when you +# start a VPATH build or use an absolute $srcdir. +# +# So we could use something similar to $top_srcdir/$ac_aux_dir/missing, +# iff we strip the leading $srcdir from $ac_aux_dir. That would be: +# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` +# and then we would define $MISSING as +# MISSING="\${SHELL} $am_aux_dir/missing" +# This will work as long as MISSING is not called from configure, because +# unfortunately $(top_srcdir) has no meaning in configure. +# However there are other variables, like CC, which are often used in +# configure, and could therefore not use this "fixed" $ac_aux_dir. +# +# Another solution, used here, is to always expand $ac_aux_dir to an +# absolute PATH. The drawback is that using absolute paths prevent a +# configured tree to be moved without reconfiguration. + +AC_DEFUN([AM_AUX_DIR_EXPAND], +[dnl Rely on autoconf to set up CDPATH properly. +AC_PREREQ([2.50])dnl +# expand $ac_aux_dir to an absolute path +am_aux_dir=`cd $ac_aux_dir && pwd` +]) + +# AM_CONDITIONAL -*- Autoconf -*- + +# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008 +# Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 9 + +# AM_CONDITIONAL(NAME, SHELL-CONDITION) +# ------------------------------------- +# Define a conditional. +AC_DEFUN([AM_CONDITIONAL], +[AC_PREREQ(2.52)dnl + ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], + [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl +AC_SUBST([$1_TRUE])dnl +AC_SUBST([$1_FALSE])dnl +_AM_SUBST_NOTMAKE([$1_TRUE])dnl +_AM_SUBST_NOTMAKE([$1_FALSE])dnl +m4_define([_AM_COND_VALUE_$1], [$2])dnl +if $2; then + $1_TRUE= + $1_FALSE='#' +else + $1_TRUE='#' + $1_FALSE= +fi +AC_CONFIG_COMMANDS_PRE( +[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then + AC_MSG_ERROR([[conditional "$1" was never defined. +Usually this means the macro was only invoked conditionally.]]) +fi])]) + +# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009 +# Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 10 + +# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be +# written in clear, in which case automake, when reading aclocal.m4, +# will think it sees a *use*, and therefore will trigger all it's +# C support machinery. Also note that it means that autoscan, seeing +# CC etc. in the Makefile, will ask for an AC_PROG_CC use... + + +# _AM_DEPENDENCIES(NAME) +# ---------------------- +# See how the compiler implements dependency checking. +# NAME is "CC", "CXX", "GCJ", or "OBJC". +# We try a few techniques and use that to set a single cache variable. +# +# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was +# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular +# dependency, and given that the user is not expected to run this macro, +# just rely on AC_PROG_CC. +AC_DEFUN([_AM_DEPENDENCIES], +[AC_REQUIRE([AM_SET_DEPDIR])dnl +AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl +AC_REQUIRE([AM_MAKE_INCLUDE])dnl +AC_REQUIRE([AM_DEP_TRACK])dnl + +ifelse([$1], CC, [depcc="$CC" am_compiler_list=], + [$1], CXX, [depcc="$CXX" am_compiler_list=], + [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'], + [$1], UPC, [depcc="$UPC" am_compiler_list=], + [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], + [depcc="$$1" am_compiler_list=]) + +AC_CACHE_CHECK([dependency style of $depcc], + [am_cv_$1_dependencies_compiler_type], +[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_$1_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` + fi + am__universal=false + m4_case([$1], [CC], + [case " $depcc " in #( + *\ -arch\ *\ -arch\ *) am__universal=true ;; + esac], + [CXX], + [case " $depcc " in #( + *\ -arch\ *\ -arch\ *) am__universal=true ;; + esac]) + + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. Also, some Intel + # versions had trouble with output in subdirs + am__obj=sub/conftest.${OBJEXT-o} + am__minus_obj="-o $am__obj" + case $depmode in + gcc) + # This depmode causes a compiler race in universal mode. + test "$am__universal" = false || continue + ;; + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + msvisualcpp | msvcmsys) + # This compiler won't grok `-c -o', but also, the minuso test has + # not run yet. These depmodes are late enough in the game, and + # so weak that their functioning should not be impacted. + am__obj=conftest.${OBJEXT-o} + am__minus_obj= + ;; + none) break ;; + esac + if depmode=$depmode \ + source=sub/conftest.c object=$am__obj \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep $am__obj sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_$1_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_$1_dependencies_compiler_type=none +fi +]) +AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) +AM_CONDITIONAL([am__fastdep$1], [ + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) +]) + + +# AM_SET_DEPDIR +# ------------- +# Choose a directory name for dependency files. +# This macro is AC_REQUIREd in _AM_DEPENDENCIES +AC_DEFUN([AM_SET_DEPDIR], +[AC_REQUIRE([AM_SET_LEADING_DOT])dnl +AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl +]) + + +# AM_DEP_TRACK +# ------------ +AC_DEFUN([AM_DEP_TRACK], +[AC_ARG_ENABLE(dependency-tracking, +[ --disable-dependency-tracking speeds up one-time build + --enable-dependency-tracking do not reject slow dependency extractors]) +if test "x$enable_dependency_tracking" != xno; then + am_depcomp="$ac_aux_dir/depcomp" + AMDEPBACKSLASH='\' +fi +AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) +AC_SUBST([AMDEPBACKSLASH])dnl +_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl +]) + +# Generate code to set up dependency tracking. -*- Autoconf -*- + +# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008 +# Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +#serial 5 + +# _AM_OUTPUT_DEPENDENCY_COMMANDS +# ------------------------------ +AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], +[{ + # Autoconf 2.62 quotes --file arguments for eval, but not when files + # are listed without --file. Let's play safe and only enable the eval + # if we detect the quoting. + case $CONFIG_FILES in + *\'*) eval set x "$CONFIG_FILES" ;; + *) set x $CONFIG_FILES ;; + esac + shift + for mf + do + # Strip MF so we end up with the name of the file. + mf=`echo "$mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile or not. + # We used to match only the files named `Makefile.in', but + # some people rename them; so instead we look at the file content. + # Grep'ing the first line is not enough: some people post-process + # each Makefile.in and add a new line on top of each file to say so. + # Grep'ing the whole file is not good either: AIX grep has a line + # limit of 2048, but all sed's we know have understand at least 4000. + if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then + dirpart=`AS_DIRNAME("$mf")` + else + continue + fi + # Extract the definition of DEPDIR, am__include, and am__quote + # from the Makefile without running `make'. + DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` + test -z "$DEPDIR" && continue + am__include=`sed -n 's/^am__include = //p' < "$mf"` + test -z "am__include" && continue + am__quote=`sed -n 's/^am__quote = //p' < "$mf"` + # When using ansi2knr, U may be empty or an underscore; expand it + U=`sed -n 's/^U = //p' < "$mf"` + # Find all dependency output files, they are included files with + # $(DEPDIR) in their names. We invoke sed twice because it is the + # simplest approach to changing $(DEPDIR) to its actual value in the + # expansion. + for file in `sed -n " + s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do + # Make sure the directory exists. + test -f "$dirpart/$file" && continue + fdir=`AS_DIRNAME(["$file"])` + AS_MKDIR_P([$dirpart/$fdir]) + # echo "creating $dirpart/$file" + echo '# dummy' > "$dirpart/$file" + done + done +} +])# _AM_OUTPUT_DEPENDENCY_COMMANDS + + +# AM_OUTPUT_DEPENDENCY_COMMANDS +# ----------------------------- +# This macro should only be invoked once -- use via AC_REQUIRE. +# +# This code is only required when automatic dependency tracking +# is enabled. FIXME. This creates each `.P' file that we will +# need in order to bootstrap the dependency handling code. +AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], +[AC_CONFIG_COMMANDS([depfiles], + [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], + [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) +]) + +# Do all the work for Automake. -*- Autoconf -*- + +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, +# 2005, 2006, 2008, 2009 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 16 + +# This macro actually does too much. Some checks are only needed if +# your package does certain things. But this isn't really a big deal. + +# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) +# AM_INIT_AUTOMAKE([OPTIONS]) +# ----------------------------------------------- +# The call with PACKAGE and VERSION arguments is the old style +# call (pre autoconf-2.50), which is being phased out. PACKAGE +# and VERSION should now be passed to AC_INIT and removed from +# the call to AM_INIT_AUTOMAKE. +# We support both call styles for the transition. After +# the next Automake release, Autoconf can make the AC_INIT +# arguments mandatory, and then we can depend on a new Autoconf +# release and drop the old call support. +AC_DEFUN([AM_INIT_AUTOMAKE], +[AC_PREREQ([2.62])dnl +dnl Autoconf wants to disallow AM_ names. We explicitly allow +dnl the ones we care about. +m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl +AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl +AC_REQUIRE([AC_PROG_INSTALL])dnl +if test "`cd $srcdir && pwd`" != "`pwd`"; then + # Use -I$(srcdir) only when $(srcdir) != ., so that make's output + # is not polluted with repeated "-I." + AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl + # test to see if srcdir already configured + if test -f $srcdir/config.status; then + AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) + fi +fi + +# test whether we have cygpath +if test -z "$CYGPATH_W"; then + if (cygpath --version) >/dev/null 2>/dev/null; then + CYGPATH_W='cygpath -w' + else + CYGPATH_W=echo + fi +fi +AC_SUBST([CYGPATH_W]) + +# Define the identity of the package. +dnl Distinguish between old-style and new-style calls. +m4_ifval([$2], +[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl + AC_SUBST([PACKAGE], [$1])dnl + AC_SUBST([VERSION], [$2])], +[_AM_SET_OPTIONS([$1])dnl +dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. +m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,, + [m4_fatal([AC_INIT should be called with package and version arguments])])dnl + AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl + AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl + +_AM_IF_OPTION([no-define],, +[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) + AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl + +# Some tools Automake needs. +AC_REQUIRE([AM_SANITY_CHECK])dnl +AC_REQUIRE([AC_ARG_PROGRAM])dnl +AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}) +AM_MISSING_PROG(AUTOCONF, autoconf) +AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}) +AM_MISSING_PROG(AUTOHEADER, autoheader) +AM_MISSING_PROG(MAKEINFO, makeinfo) +AC_REQUIRE([AM_PROG_INSTALL_SH])dnl +AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl +AC_REQUIRE([AM_PROG_MKDIR_P])dnl +# We need awk for the "check" target. The system "awk" is bad on +# some platforms. +AC_REQUIRE([AC_PROG_AWK])dnl +AC_REQUIRE([AC_PROG_MAKE_SET])dnl +AC_REQUIRE([AM_SET_LEADING_DOT])dnl +_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], + [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], + [_AM_PROG_TAR([v7])])]) +_AM_IF_OPTION([no-dependencies],, +[AC_PROVIDE_IFELSE([AC_PROG_CC], + [_AM_DEPENDENCIES(CC)], + [define([AC_PROG_CC], + defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl +AC_PROVIDE_IFELSE([AC_PROG_CXX], + [_AM_DEPENDENCIES(CXX)], + [define([AC_PROG_CXX], + defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl +AC_PROVIDE_IFELSE([AC_PROG_OBJC], + [_AM_DEPENDENCIES(OBJC)], + [define([AC_PROG_OBJC], + defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl +]) +_AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl +dnl The `parallel-tests' driver may need to know about EXEEXT, so add the +dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This macro +dnl is hooked onto _AC_COMPILER_EXEEXT early, see below. +AC_CONFIG_COMMANDS_PRE(dnl +[m4_provide_if([_AM_COMPILER_EXEEXT], + [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl +]) + +dnl Hook into `_AC_COMPILER_EXEEXT' early to learn its expansion. Do not +dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further +dnl mangled by Autoconf and run in a shell conditional statement. +m4_define([_AC_COMPILER_EXEEXT], +m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])]) + + +# When config.status generates a header, we must update the stamp-h file. +# This file resides in the same directory as the config header +# that is generated. The stamp files are numbered to have different names. + +# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the +# loop where config.status creates the headers, so we can generate +# our stamp files there. +AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], +[# Compute $1's index in $config_headers. +_am_arg=$1 +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $_am_arg | $_am_arg:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) + +# Copyright (C) 2001, 2003, 2005, 2008 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_PROG_INSTALL_SH +# ------------------ +# Define $install_sh. +AC_DEFUN([AM_PROG_INSTALL_SH], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +if test x"${install_sh}" != xset; then + case $am_aux_dir in + *\ * | *\ *) + install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; + *) + install_sh="\${SHELL} $am_aux_dir/install-sh" + esac +fi +AC_SUBST(install_sh)]) + +# Copyright (C) 2003, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 2 + +# Check whether the underlying file-system supports filenames +# with a leading dot. For instance MS-DOS doesn't. +AC_DEFUN([AM_SET_LEADING_DOT], +[rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. +else + am__leading_dot=_ +fi +rmdir .tst 2>/dev/null +AC_SUBST([am__leading_dot])]) + +# Check to see how 'make' treats includes. -*- Autoconf -*- + +# Copyright (C) 2001, 2002, 2003, 2005, 2009 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 4 + +# AM_MAKE_INCLUDE() +# ----------------- +# Check to see how make treats includes. +AC_DEFUN([AM_MAKE_INCLUDE], +[am_make=${MAKE-make} +cat > confinc << 'END' +am__doit: + @echo this is the am__doit target +.PHONY: am__doit +END +# If we don't find an include directive, just comment out the code. +AC_MSG_CHECKING([for style of include used by $am_make]) +am__include="#" +am__quote= +_am_result=none +# First try GNU make style include. +echo "include confinc" > confmf +# Ignore all kinds of additional output from `make'. +case `$am_make -s -f confmf 2> /dev/null` in #( +*the\ am__doit\ target*) + am__include=include + am__quote= + _am_result=GNU + ;; +esac +# Now try BSD make style include. +if test "$am__include" = "#"; then + echo '.include "confinc"' > confmf + case `$am_make -s -f confmf 2> /dev/null` in #( + *the\ am__doit\ target*) + am__include=.include + am__quote="\"" + _am_result=BSD + ;; + esac +fi +AC_SUBST([am__include]) +AC_SUBST([am__quote]) +AC_MSG_RESULT([$_am_result]) +rm -f confinc confmf +]) + +# Copyright (C) 1999, 2000, 2001, 2003, 2004, 2005, 2008 +# Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 6 + +# AM_PROG_CC_C_O +# -------------- +# Like AC_PROG_CC_C_O, but changed for automake. +AC_DEFUN([AM_PROG_CC_C_O], +[AC_REQUIRE([AC_PROG_CC_C_O])dnl +AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +AC_REQUIRE_AUX_FILE([compile])dnl +# FIXME: we rely on the cache variable name because +# there is no other way. +set dummy $CC +am_cc=`echo $[2] | sed ['s/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/']` +eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o +if test "$am_t" != yes; then + # Losing compiler, so override with the script. + # FIXME: It is wrong to rewrite CC. + # But if we don't then we get into trouble of one sort or another. + # A longer-term fix would be to have automake use am__CC in this case, + # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" + CC="$am_aux_dir/compile $CC" +fi +dnl Make sure AC_PROG_CC is never called again, or it will override our +dnl setting of CC. +m4_define([AC_PROG_CC], + [m4_fatal([AC_PROG_CC cannot be called after AM_PROG_CC_C_O])]) +]) + +# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- + +# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008 +# Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 6 + +# AM_MISSING_PROG(NAME, PROGRAM) +# ------------------------------ +AC_DEFUN([AM_MISSING_PROG], +[AC_REQUIRE([AM_MISSING_HAS_RUN]) +$1=${$1-"${am_missing_run}$2"} +AC_SUBST($1)]) + + +# AM_MISSING_HAS_RUN +# ------------------ +# Define MISSING if not defined so far and test if it supports --run. +# If it does, set am_missing_run to use it, otherwise, to nothing. +AC_DEFUN([AM_MISSING_HAS_RUN], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +AC_REQUIRE_AUX_FILE([missing])dnl +if test x"${MISSING+set}" != xset; then + case $am_aux_dir in + *\ * | *\ *) + MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; + *) + MISSING="\${SHELL} $am_aux_dir/missing" ;; + esac +fi +# Use eval to expand $SHELL +if eval "$MISSING --run true"; then + am_missing_run="$MISSING --run " +else + am_missing_run= + AC_MSG_WARN([`missing' script is too old or missing]) +fi +]) + +# Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_PROG_MKDIR_P +# --------------- +# Check for `mkdir -p'. +AC_DEFUN([AM_PROG_MKDIR_P], +[AC_PREREQ([2.60])dnl +AC_REQUIRE([AC_PROG_MKDIR_P])dnl +dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P, +dnl while keeping a definition of mkdir_p for backward compatibility. +dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile. +dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of +dnl Makefile.ins that do not define MKDIR_P, so we do our own +dnl adjustment using top_builddir (which is defined more often than +dnl MKDIR_P). +AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl +case $mkdir_p in + [[\\/$]]* | ?:[[\\/]]*) ;; + */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; +esac +]) + +# Helper functions for option handling. -*- Autoconf -*- + +# Copyright (C) 2001, 2002, 2003, 2005, 2008 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 4 + +# _AM_MANGLE_OPTION(NAME) +# ----------------------- +AC_DEFUN([_AM_MANGLE_OPTION], +[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) + +# _AM_SET_OPTION(NAME) +# ------------------------------ +# Set option NAME. Presently that only means defining a flag for this option. +AC_DEFUN([_AM_SET_OPTION], +[m4_define(_AM_MANGLE_OPTION([$1]), 1)]) + +# _AM_SET_OPTIONS(OPTIONS) +# ---------------------------------- +# OPTIONS is a space-separated list of Automake options. +AC_DEFUN([_AM_SET_OPTIONS], +[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) + +# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) +# ------------------------------------------- +# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. +AC_DEFUN([_AM_IF_OPTION], +[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) + +# Check to make sure that the build environment is sane. -*- Autoconf -*- + +# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005, 2008 +# Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 5 + +# AM_SANITY_CHECK +# --------------- +AC_DEFUN([AM_SANITY_CHECK], +[AC_MSG_CHECKING([whether build environment is sane]) +# Just in case +sleep 1 +echo timestamp > conftest.file +# Reject unsafe characters in $srcdir or the absolute working directory +# name. Accept space and tab only in the latter. +am_lf=' +' +case `pwd` in + *[[\\\"\#\$\&\'\`$am_lf]]*) + AC_MSG_ERROR([unsafe absolute working directory name]);; +esac +case $srcdir in + *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*) + AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);; +esac + +# Do `set' in a subshell so we don't clobber the current shell's +# arguments. Must try -L first in case configure is actually a +# symlink; some systems play weird games with the mod time of symlinks +# (eg FreeBSD returns the mod time of the symlink's containing +# directory). +if ( + set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` + if test "$[*]" = "X"; then + # -L didn't work. + set X `ls -t "$srcdir/configure" conftest.file` + fi + rm -f conftest.file + if test "$[*]" != "X $srcdir/configure conftest.file" \ + && test "$[*]" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken +alias in your environment]) + fi + + test "$[2]" = conftest.file + ) +then + # Ok. + : +else + AC_MSG_ERROR([newly created file is older than distributed files! +Check your system clock]) +fi +AC_MSG_RESULT(yes)]) + +# Copyright (C) 2009 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 1 + +# AM_SILENT_RULES([DEFAULT]) +# -------------------------- +# Enable less verbose build rules; with the default set to DEFAULT +# (`yes' being less verbose, `no' or empty being verbose). +AC_DEFUN([AM_SILENT_RULES], +[AC_ARG_ENABLE([silent-rules], +[ --enable-silent-rules less verbose build output (undo: `make V=1') + --disable-silent-rules verbose build output (undo: `make V=0')]) +case $enable_silent_rules in +yes) AM_DEFAULT_VERBOSITY=0;; +no) AM_DEFAULT_VERBOSITY=1;; +*) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);; +esac +AC_SUBST([AM_DEFAULT_VERBOSITY])dnl +AM_BACKSLASH='\' +AC_SUBST([AM_BACKSLASH])dnl +_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl +]) + +# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_PROG_INSTALL_STRIP +# --------------------- +# One issue with vendor `install' (even GNU) is that you can't +# specify the program used to strip binaries. This is especially +# annoying in cross-compiling environments, where the build's strip +# is unlikely to handle the host's binaries. +# Fortunately install-sh will honor a STRIPPROG variable, so we +# always use install-sh in `make install-strip', and initialize +# STRIPPROG with the value of the STRIP variable (set by the user). +AC_DEFUN([AM_PROG_INSTALL_STRIP], +[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl +# Installed binaries are usually stripped using `strip' when the user +# run `make install-strip'. However `strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the `STRIP' environment variable to overrule this program. +dnl Don't test for $cross_compiling = yes, because it might be `maybe'. +if test "$cross_compiling" != no; then + AC_CHECK_TOOL([STRIP], [strip], :) +fi +INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" +AC_SUBST([INSTALL_STRIP_PROGRAM])]) + +# Copyright (C) 2006, 2008 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 2 + +# _AM_SUBST_NOTMAKE(VARIABLE) +# --------------------------- +# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in. +# This macro is traced by Automake. +AC_DEFUN([_AM_SUBST_NOTMAKE]) + +# AM_SUBST_NOTMAKE(VARIABLE) +# --------------------------- +# Public sister of _AM_SUBST_NOTMAKE. +AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) + +# Check how to create a tarball. -*- Autoconf -*- + +# Copyright (C) 2004, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 2 + +# _AM_PROG_TAR(FORMAT) +# -------------------- +# Check how to create a tarball in format FORMAT. +# FORMAT should be one of `v7', `ustar', or `pax'. +# +# Substitute a variable $(am__tar) that is a command +# writing to stdout a FORMAT-tarball containing the directory +# $tardir. +# tardir=directory && $(am__tar) > result.tar +# +# Substitute a variable $(am__untar) that extract such +# a tarball read from stdin. +# $(am__untar) < result.tar +AC_DEFUN([_AM_PROG_TAR], +[# Always define AMTAR for backward compatibility. +AM_MISSING_PROG([AMTAR], [tar]) +m4_if([$1], [v7], + [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'], + [m4_case([$1], [ustar],, [pax],, + [m4_fatal([Unknown tar format])]) +AC_MSG_CHECKING([how to create a $1 tar archive]) +# Loop over all known methods to create a tar archive until one works. +_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' +_am_tools=${am_cv_prog_tar_$1-$_am_tools} +# Do not fold the above two line into one, because Tru64 sh and +# Solaris sh will not grok spaces in the rhs of `-'. +for _am_tool in $_am_tools +do + case $_am_tool in + gnutar) + for _am_tar in tar gnutar gtar; + do + AM_RUN_LOG([$_am_tar --version]) && break + done + am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' + am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' + am__untar="$_am_tar -xf -" + ;; + plaintar) + # Must skip GNU tar: if it does not support --format= it doesn't create + # ustar tarball either. + (tar --version) >/dev/null 2>&1 && continue + am__tar='tar chf - "$$tardir"' + am__tar_='tar chf - "$tardir"' + am__untar='tar xf -' + ;; + pax) + am__tar='pax -L -x $1 -w "$$tardir"' + am__tar_='pax -L -x $1 -w "$tardir"' + am__untar='pax -r' + ;; + cpio) + am__tar='find "$$tardir" -print | cpio -o -H $1 -L' + am__tar_='find "$tardir" -print | cpio -o -H $1 -L' + am__untar='cpio -i -H $1 -d' + ;; + none) + am__tar=false + am__tar_=false + am__untar=false + ;; + esac + + # If the value was cached, stop now. We just wanted to have am__tar + # and am__untar set. + test -n "${am_cv_prog_tar_$1}" && break + + # tar/untar a dummy directory, and stop if the command works + rm -rf conftest.dir + mkdir conftest.dir + echo GrepMe > conftest.dir/file + AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) + rm -rf conftest.dir + if test -s conftest.tar; then + AM_RUN_LOG([$am__untar /dev/null 2>&1 && break + fi +done +rm -rf conftest.dir + +AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) +AC_MSG_RESULT([$am_cv_prog_tar_$1])]) +AC_SUBST([am__tar]) +AC_SUBST([am__untar]) +]) # _AM_PROG_TAR + +m4_include([acinclude.m4]) diff -Nru prerex-6.5.3/AUTHORS prerex-6.5.4/AUTHORS --- prerex-6.5.3/AUTHORS 1970-01-01 00:00:00.000000000 +0000 +++ prerex-6.5.4/AUTHORS 2010-06-25 19:02:56.000000000 +0000 @@ -0,0 +1,5 @@ +Bob Tennent +School of Computing +Queen's University +Kingston, Canada +rdt@cs.queensu.ca diff -Nru prerex-6.5.3/ChangeLog prerex-6.5.4/ChangeLog --- prerex-6.5.3/ChangeLog 1970-01-01 00:00:00.000000000 +0000 +++ prerex-6.5.4/ChangeLog 2014-07-19 15:25:11.000000000 +0000 @@ -0,0 +1,332 @@ +Version 6.5.4, 2014-07-19 + + Fix configure.ac and edit.c to allow use of libedit. + +Version 6.5.3, 2014-04-22 + + To satisfy Coverity: more secure tmpfile creation, + check two return values + + +Version 6.5.2, 2013-10-11 + + Correct a bug in undoing a mini or text edit. + Replaced trailing pointers by pointers-to-pointers. + +Version 6.5.1, 2012-05-24 + + Use editline if available; readline otherwise. + (editline emulation of readline is broken) + +Version 6.5.0, 2012-05-13 + + Revert to readline (available in gnuwin32 repository). + Remove references to chmod and /dev/null. + +Version 6.4.2, 2012-04-18 + + Revert to editline using native libedit.so. + +Version 6.4.1, 2012-04-17 + + Revert to readline (libedit doesn't build on Cygwin). + +Version 6.4.0, 2012-04-12 + + Switch from (system) readline to (embedded) editline (libedit). + +Version 6.3.2, 2012-03-28 + + Support coordinate ranges for delete, shift, raise commands. + Multiple-step commands undone atomically. + +Version 6.3.1, 2012-03-26 + + Support xchange command. + Display new coordinates of shifted/raised nodes for subsequent raise/shift. + +Version 6.3, 2012-03-21 + + Support opt course boxes. + +Version 6.2.1, 2012-03-18 + + Allow multiple coordinate pairs in cut command. + +Version 6.2, 2011-09-08 + + Replace undelete command by a general multi-level undo command. + Default for undoing paste command is to re-insert at the original coordinates. + +Version 6.1.1, 2011-08-20 + + Fixed missing else which resulted in re-reading ...coursec commands. + Better prompt for background color of a course box. + Better error message if more than one node at a point. + +Version 6.1.0, 2011-08-18 + + Deal with commands \halfcoursec etc. that allow background-color + specification. + +Version 6.0.4, 2011-07-27 + + Deleted prerex_LDFLAGS from src/Makefile.am. + +Version 6.0.3, 2010-07-04 + + Use only one of ncurses/termcap. + +Version 6.0.2, 2010-06-29 + + Deleted reference to stdbool.h. + Modified configuration scripts to allow for readline using ncurses/termcap. + +Version 6.0.1, 2010-06-28 + + Modified configuration scripts to allow building on OpenSUSE (and Ubuntu?) + +Version 6.0, 2010-06-25 + + Allow long options --help and --version. + Using autoconf/automake. + +Version 5.8, 2010-04-10 + + Suppress ".tex" in the prompt. + +Version 5.7, 2010-04-05 + + Delete command can now delete more than one element/arrow. + Turning off all pdflatex output. + +Version 5.6.1, 2010-03-26 + + Open tex_file for writing before restoring from backup. + +Version 5.6, 2010-03-25 + + Modified chmod system calls to be compatible with cygwin on Windows fat32. + Closing the tex_file before processing it (needed for Windows). + Simplified the log-output generation if processing fails. + Always use pdflatex because of automatic rotation in ps2pdf. + +Version 5.5, 2010-03-16 + + Added sleep(1) between initial generations of the pdf file. + Removed all interactions before initial generation of pdf file. + Removed the option of opening another tex file. + Removed the automatic start-up of PDFVIEWER. + Added PRIVATE (i.e., static) specifiers where appropriate. + +Version 5.4, 2009-11-12 + + Must re-open tex_file to regenerate it (!) + +Version 5.3, 2009-10-30 + + Use ps2pdf without attempting rotation correction when using latex, + but, to allow for a script that tests for "Orientation: Landscape" in the ps file, + if the environment variable PS2PDF is defined, its value is used in lieu of ps2pdf. + + Offer to quit if the user won't provide a file name. + + Allow for PAGER == most. + + Code clean-up, especially localizing many globals. + +Version 5.2, 2009-10-19 + + Corrected coding for new file name in open_tex_file. + +Version 5.1, 2009-10-01 + + Final processing no longer automatically uses LaTeX. + +Version 5.0, 2009-09-15 + + Replaced filename by basefilename and chartfilename to allow more than + one document to share an included chart file and allow more than one + chart to be included in a document. The *file* command has been removed. + +Version 4.3, 2009-09-06 + + Replaced strlcpy and strlcpy by append (with offset). + Introduced triv_type to avoid a "pedantic" error. + Corrected an incorrect sizeof argument in open_tex_file. + Call regenerate_and_process after a partial raise. + +Version 4.2, 2008-07-17 + + Use the /Orientation directive to gs (ghostscript) to ensure proper orientation + when slanted fonts are used. + +Version 4.1, 2008-05-16 + + Implement shift/raise of specified diagram elements. + Eliminate unnecessary dependence on libtermcap. + +Version 4.0.1, 2008-02-28 + + Corrected txt field of struct text to have size LINE_LEN+1 + +Version 4.0, 2008-02-13 + + Test for curvatures > 100. + Implement \text command. + +Version 3.8.1, 2007-03-17 + + Sleep for KILL_WAIT seconds before terminating the pdf viewer. + +Version I.8, 2007-02-08 + + Semicolon appended to most user commands suppresses regeneration and reprocessing. + ^C saves to file.tex. Use quit; to exit without saving. + Final processing uses latex -> dvips -> ps2pdf to produce a smaller final pdf. + Attempts to display the pdf during editing using value of environment variable + PDFVIEWER. + +Version 3.7, 2006-12-27 + + latex->dvips->ps2pdf processing restored as an option. + Warns about quitting with unpasted cuts. + +Version 3.6, 2006-11-29 + + Corrects two minor logical errors in code for arrow deletion and box editing. + Generates progress messages when analyzing/saving/processing. + Re-loads after every shell escape, so we can discard the Edit command. + Applies shift/raise to cut and deleted nodes. + Processes tex files using pdflatex instead of latex -> dvips -> ps2pdf. + +Version 3.5, 2006-11-20 + + simpler and more flexible implementation of cut/paste, delete/undelete + generate undelete messages + automatic re-generation and processing after editing operation + +Version 3.4, 2006-11-15 + + deal with files that are (initially) read-only + deal with attempts to cut arrows + +Version 3.3, 2006-11-07 + + preserve comment lines within the chart environment + correct option-handling bug introduced in 3.0 + +Version 3.2, 2006-11-03 +Version 3.1, 2006-10-29 + + introduce Edit command + restore write-access to TeX file during Edit or shell-command execution + try to display error message in log file if LaTeX processing fails + +Version 3.0, 2006-10-19 + + replaced calls to make file.pdf by successive calls to latex, dvips, ps2pdf + removed all references to pdf viewer, user must start one him/herself + replaced strncpy/cat by strlcpy/cat (my implementation of the OpenBSD functions) + produce warning message for truncated course code, timetable, title + +Version 2.4, 2006-04-12 + + added undelete command + no warnings using -Wall -Wextra + allow for cut/paste of minis that are targets of arrow + test for non-existence of source/target box/mini for new arrow + handle more signals than SIGINT (such as SIGSEGV) + +Version 2.3, 2006-03-23 + + remove "which" checking of pdfviewer to allow, e.g., xpdf -remote label + use geometry.sty for new blank TeX file + declarations of optarg, optind moved to prerex.h + +Version 2.2.2, 2006-03-08 + + Free linked structures and readline strings. + Turn grid off initially before restoring a backup. + +Version 2.2.1, 2006-02-18 + + Don't try to remove/restore access to an empty filename. + +Version 2.2, 2006-02-15 + + Inputs and outputs \begin{chart} ... \end{chart} instead of \chart{ ... } + +Version 2.1.1, 2006-02-13 + + Add designation PRIVATE ( = static) to definitions of functions and variables. + +Version 2.1, 2006-02-09 + + Trap SIGINT in order to restore write-access after ^C. + Add Backup command. + +Version 2.0.3, 2006-02-07 + + New arrow should have default curvature. + +Version 2.0.1, 2006-02-06 + + Free list structures before Restoring. + +Version 2.0, 2006-02-03 + + Partition into separate modules prerex.c, inout.c, edit.c + +Version 1.2.2, 2006-02-02 + + Cleanup curvature code. + Use %s to output % in regenerate_tex_file. + +Version 1.2.1, 2006-02-02 + + Allow for curved recommended and co-requisite arrows. + +Version 1.2.0, 2006-02-01 + + Restore command. + +Version 1.1.2, 2006-01-31 + + Create backup of Tex file before editing. + Re-open TeX file for writing before regenerating. + +Version 1.1.1, 2006-01-30 + + TeX file read-only during editing (except when re-generating it). + +Version 1.1.0, 2006-01-29 + + Corrected use of cut stacks. + Eliminated cut arrow command. + Introduced delete box/mini and delete arrow. + Checked for duplicate boxes, minis or arrows (e.g., when pasting). + +Version 1.0.5, 2006-01-28 + + Keep stacks of cut boxes, minis, and arrows. + +Version 1.0.4, 2006-01-27 + + Add option -p. + +Version 1.0.3, 2006-01-26 + + Replace system calls to "xpdf" by calls to pdfviewer (if defined). + +Version 1.0.2, 2006-01-25 + + Replace system call to "pdflatex filename" by call to "make filename.pdf" + to provide more flexibility (e.g., LaTeX vs pdfLaTeX). + +Version 1.0.1, 2006-01-24 + Error message for pdflatex failure now refers to filename.log. + Inserted checks for lp or cp increasing too far in read_textfield + and read_bracketed_textfield. + Process TeX file before analyzing it (as a syntax sanity pre-check). + Defer arrow output if source box not previously output. diff -Nru prerex-6.5.3/chart.html prerex-6.5.4/chart.html --- prerex-6.5.3/chart.html 2013-10-12 13:24:20.000000000 +0000 +++ prerex-6.5.4/chart.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,67 +0,0 @@ - - - - - - - - - - - - -
-

- -

chart.png

-
-

-

    -
  • A solid arrow solid.png indicates a required prerequisite, a dotted arrow dotted.png indicates - a corequisite (to be taken before or concurrently), and a dashed arrow dashed.png indicates a - recommended prerequisite. Core courses are in boldbox.png boxes; other courses (i.e., options or - prerequisites) are in lightbox.png boxes. -
  • -
  • Timetabling abbreviations: M, T, W, Th, F=Mon, Tue, Wed, Thur, Fri, resp.; eve=7:00–9:50 pm; - no=not offered.
- - -1083 -1303 -2813 -2023 -2513 -1083 -2333 -2013 -2685 -2013 -3323 -3813 -3413 -3013 -3513 -3503 - - - - - - - Binary files /tmp/tmp3xjM4j/fXuv32QhPv/prerex-6.5.3/chart.pdf and /tmp/tmp3xjM4j/iWJ5Dg4lRy/prerex-6.5.4/chart.pdf differ Binary files /tmp/tmp3xjM4j/fXuv32QhPv/prerex-6.5.3/chart.png and /tmp/tmp3xjM4j/iWJ5Dg4lRy/prerex-6.5.4/chart.png differ diff -Nru prerex-6.5.3/chart.tex prerex-6.5.4/chart.tex --- prerex-6.5.3/chart.tex 2013-10-12 13:24:20.000000000 +0000 +++ prerex-6.5.4/chart.tex 1970-01-01 00:00:00.000000000 +0000 @@ -1,71 +0,0 @@ -\documentclass{article} - -\usepackage[english]{babel} -\usepackage{geometry} -\geometry{noheadfoot, vmargin=1.0in, hmargin=0.5in} - -\usepackage[default,scale=0.95]{opensans} -\renewcommand{\bfdefault}{b} -\renewcommand{\seriesdefault}{sb} - -\usepackage{prerex} - -\begin{document}\sf -\thispagestyle{empty} -\setcounter{diagheight}{50} - - -\begin{chart} -\text 10,50:{\textbf{\Large Computer}} -\text 10,47:{\textbf{\Large Science}} -\reqfullcourse 50,45:{1083}{Comput.\,Sci.\\Concepts}{TTh 10:00} -\reqhalfcourse 25,40:{1303}{Discrete\\Structures}{MWF 9:30} -\reqhalfcourse 30,30:{2813}{Computer\\Organiz.\,I}{MWF 8:30} - \prereq 50,45,30,30: - \prereq 25,40,30,30: -\reqhalfcourse 45,30:{2023}{Procedural\\Prog.\,Devel.}{MWF 2:30} - \prereq 50,45,45,30: -\reqhalfcourse 65,30:{2513}{Informat.\\Systems}{TTh 1:00} - \coreq 50,45,65,30: -\mini 10,26:{1083} -\reqhalfcourse 10,20:{2333}{Computab.\,\&\\Formal\,Lang.}{TTh 11:30} - \prereq 25,40,10,20: - \prereq 10,26,10,20: -\reqhalfcourse 45,20:{2013}{Software\\Engineer.\,I}{MWF 11:30} - \prereq 45,30,45,20: -\halfcourse 55,20:{2685}{\texttt{C++}\\Program.}{no} - \prereq 45,30,55,20: -\mini 21,16:{2013} -\reqhalfcourse 15,10:{3323}{Data\\Structures}{MWF 10:30} - \prereq 25,40,15,10: - \prereq 21,16,15,10: -\reqhalfcourse 25,10:{3813}{Comput.\\Organiz.\,II}{TTh 8:30} - \prereq 30,30,25,10: -\reqhalfcourse 35,10:{3413}{Operating\\Systems\,I}{MWF 9:30} - \prereq 30,30,35,10: - \recomm 45,20,35,10: -\halfcourse 45,10:{3013}{Software\\Engineer.\,II}{MWF 11:30} - \prereq 45,20,45,10: -\halfcourse 58,10:{3513}{Database\\Mngt.\,Sys.\,I}{MWF 8:30 pm} - \prereq 65,30,58,10: - \prereq 45,20,58,10: -\reqhalfcourse 70,10:{3503}{Sys.\,Anal.\\\&\,Design}{TTh 10:00} - \prereq 65,30,70,10: -\end{chart} - -\begin{center} -\begin{minipage}{6.0in} -\begin{itemize} -\item -A solid arrow \solidarrow\ indicates a required prerequisite, -a dotted arrow \dottedarrow\ -indicates a corequisite (to be taken before or concurrently), and a -dashed arrow \dashedarrow\ indicates a recommended prerequisite. -Core courses are in \boldbox\ boxes; -other courses (i.e.,~options or prerequisites) -are in \lightbox\ boxes. -\item Timetabling abbreviations: M, T, W, Th, F=Mon, Tue, Wed, Thur, Fri, resp.; eve=7:00--9:50 pm; no=not offered. -\end{itemize} -\end{minipage} -\end{center} -\end{document} diff -Nru prerex-6.5.3/compile prerex-6.5.4/compile --- prerex-6.5.3/compile 1970-01-01 00:00:00.000000000 +0000 +++ prerex-6.5.4/compile 2010-06-25 16:32:10.000000000 +0000 @@ -0,0 +1,142 @@ +#! /bin/sh +# Wrapper for compilers which do not understand `-c -o'. + +scriptversion=2005-05-14.22 + +# Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc. +# Written by Tom Tromey . +# +# 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, 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# This file is maintained in Automake, please report +# bugs to or send patches to +# . + +case $1 in + '') + echo "$0: No command. Try \`$0 --help' for more information." 1>&2 + exit 1; + ;; + -h | --h*) + cat <<\EOF +Usage: compile [--help] [--version] PROGRAM [ARGS] + +Wrapper for compilers which do not understand `-c -o'. +Remove `-o dest.o' from ARGS, run PROGRAM with the remaining +arguments, and rename the output as expected. + +If you are trying to build a whole package this is not the +right script to run: please start by reading the file `INSTALL'. + +Report bugs to . +EOF + exit $? + ;; + -v | --v*) + echo "compile $scriptversion" + exit $? + ;; +esac + +ofile= +cfile= +eat= + +for arg +do + if test -n "$eat"; then + eat= + else + case $1 in + -o) + # configure might choose to run compile as `compile cc -o foo foo.c'. + # So we strip `-o arg' only if arg is an object. + eat=1 + case $2 in + *.o | *.obj) + ofile=$2 + ;; + *) + set x "$@" -o "$2" + shift + ;; + esac + ;; + *.c) + cfile=$1 + set x "$@" "$1" + shift + ;; + *) + set x "$@" "$1" + shift + ;; + esac + fi + shift +done + +if test -z "$ofile" || test -z "$cfile"; then + # If no `-o' option was seen then we might have been invoked from a + # pattern rule where we don't need one. That is ok -- this is a + # normal compilation that the losing compiler can handle. If no + # `.c' file was seen then we are probably linking. That is also + # ok. + exec "$@" +fi + +# Name of file we expect compiler to create. +cofile=`echo "$cfile" | sed -e 's|^.*/||' -e 's/\.c$/.o/'` + +# Create the lock directory. +# Note: use `[/.-]' here to ensure that we don't use the same name +# that we are using for the .o file. Also, base the name on the expected +# object file name, since that is what matters with a parallel build. +lockdir=`echo "$cofile" | sed -e 's|[/.-]|_|g'`.d +while true; do + if mkdir "$lockdir" >/dev/null 2>&1; then + break + fi + sleep 1 +done +# FIXME: race condition here if user kills between mkdir and trap. +trap "rmdir '$lockdir'; exit 1" 1 2 15 + +# Run the compile. +"$@" +ret=$? + +if test -f "$cofile"; then + mv "$cofile" "$ofile" +elif test -f "${cofile}bj"; then + mv "${cofile}bj" "$ofile" +fi + +rmdir "$lockdir" +exit $ret + +# Local Variables: +# mode: shell-script +# sh-indentation: 2 +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-end: "$" +# End: diff -Nru prerex-6.5.3/config.h.in prerex-6.5.4/config.h.in --- prerex-6.5.3/config.h.in 1970-01-01 00:00:00.000000000 +0000 +++ prerex-6.5.4/config.h.in 2014-07-19 15:22:11.000000000 +0000 @@ -0,0 +1,95 @@ +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if you have the header file. */ +#undef HAVE_EDITLINE_READLINE_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_HISTEDIT_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_INTTYPES_H + +/* Define to 1 if you have the `edit' library (-ledit). */ +#undef HAVE_LIBEDIT + +/* Define to 1 if you have the `readline' library (-lreadline). */ +#undef HAVE_LIBREADLINE + +/* Define to 1 if you have the header file. */ +#undef HAVE_LIMITS_H + +/* Define to 1 if your system has a GNU libc compatible `malloc' function, and + to 0 otherwise. */ +#undef HAVE_MALLOC + +/* Define to 1 if you have the header file. */ +#undef HAVE_MEMORY_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_READLINE_HISTORY_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_READLINE_READLINE_H + +/* Define to 1 if stdbool.h conforms to C99. */ +#undef HAVE_STDBOOL_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STDINT_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STDLIB_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STRINGS_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STRING_H + +/* Define to 1 if you have the `strstr' function. */ +#undef HAVE_STRSTR + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_STAT_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_TYPES_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_UNISTD_H + +/* Define to 1 if the system has the type `_Bool'. */ +#undef HAVE__BOOL + +/* Define to 1 if your C compiler doesn't accept -c and -o together. */ +#undef NO_MINUS_C_MINUS_O + +/* Name of package */ +#undef PACKAGE + +/* Define to the address where bug reports for this package should be sent. */ +#undef PACKAGE_BUGREPORT + +/* Define to the full name of this package. */ +#undef PACKAGE_NAME + +/* Define to the full name and version of this package. */ +#undef PACKAGE_STRING + +/* Define to the one symbol short name of this package. */ +#undef PACKAGE_TARNAME + +/* Define to the version of this package. */ +#undef PACKAGE_VERSION + +/* Define to 1 if you have the ANSI C header files. */ +#undef STDC_HEADERS + +/* Version number of package */ +#undef VERSION + +/* Define to rpl_malloc if the replacement function should be used. */ +#undef malloc + +/* Define to `unsigned int' if does not define. */ +#undef size_t diff -Nru prerex-6.5.3/configure prerex-6.5.4/configure --- prerex-6.5.3/configure 1970-01-01 00:00:00.000000000 +0000 +++ prerex-6.5.4/configure 2014-07-19 15:22:06.000000000 +0000 @@ -0,0 +1,7074 @@ +#! /bin/sh +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.63 for prerex 6.5.4. +# +# Report bugs to . +# +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, +# 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# This configure script is free software; the Free Software Foundation +# gives unlimited permission to copy, distribute and modify it. +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## + +# Be 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=: + # Pre-4.2 versions of Zsh do 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 + + + + +# PATH needs CR +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +as_nl=' +' +export as_nl +# Printing a long string crashes Solaris 7 /usr/bin/printf. +as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo +if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='printf %s\n' + as_echo_n='printf %s' +else + if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then + as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' + as_echo_n='/usr/ucb/echo -n' + else + as_echo_body='eval expr "X$1" : "X\\(.*\\)"' + as_echo_n_body='eval + arg=$1; + case $arg in + *"$as_nl"*) + expr "X$arg" : "X\\(.*\\)$as_nl"; + arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; + esac; + expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" + ' + export as_echo_n_body + as_echo_n='sh -c $as_echo_n_body as_echo' + fi + export as_echo_body + as_echo='sh -c $as_echo_body as_echo' +fi + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + PATH_SEPARATOR=: + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { + (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || + PATH_SEPARATOR=';' + } +fi + +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + + +# 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.) +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 + $as_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. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# 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 || +$as_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=. + case $as_dir in + /*) + 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=: + # Pre-4.2 versions of Zsh do 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=: + # Pre-4.2 versions of Zsh do 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 + test "x$as_lineno_1" != "x$as_lineno_2" && + 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 bug-autoconf@gnu.org about your system, + echo including any error possibly output before this message. + echo This can help us improve future autoconf versions. + echo Configuration will now proceed without shell functions. +} + + + + 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 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 + # 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 + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\n.*// + ' >$as_me.lineno && + chmod +x "$as_me.lineno" || + { $as_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 sensitive to this). + . "./$as_me.lineno" + # Exit status is that of the last command. + exit +} + + +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 && + 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 2>/dev/null +fi +if (echo >conf$$.file) 2>/dev/null; then + if ln -s conf$$.file conf$$ 2>/dev/null; then + 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' + elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln + else + as_ln_s='cp -p' + fi +else + as_ln_s='cp -p' +fi +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 + +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="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + + +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` + +# +# 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} + +# Identity of this package. +PACKAGE_NAME='prerex' +PACKAGE_TARNAME='prerex' +PACKAGE_VERSION='6.5.4' +PACKAGE_STRING='prerex 6.5.4' +PACKAGE_BUGREPORT='rdt@cs.queensu.ca' + +# Factoring default headers for most tests. +ac_includes_default="\ +#include +#ifdef HAVE_SYS_TYPES_H +# include +#endif +#ifdef HAVE_SYS_STAT_H +# include +#endif +#ifdef STDC_HEADERS +# include +# include +#else +# ifdef HAVE_STDLIB_H +# include +# endif +#endif +#ifdef HAVE_STRING_H +# if !defined STDC_HEADERS && defined HAVE_MEMORY_H +# include +# endif +# include +#endif +#ifdef HAVE_STRINGS_H +# include +#endif +#ifdef HAVE_INTTYPES_H +# include +#endif +#ifdef HAVE_STDINT_H +# include +#endif +#ifdef HAVE_UNISTD_H +# include +#endif" + +ac_subst_vars='am__EXEEXT_FALSE +am__EXEEXT_TRUE +LTLIBOBJS +LIBOBJS +EGREP +GREP +CPP +am__fastdepCC_FALSE +am__fastdepCC_TRUE +CCDEPMODE +AMDEPBACKSLASH +AMDEP_FALSE +AMDEP_TRUE +am__quote +am__include +DEPDIR +OBJEXT +EXEEXT +ac_ct_CC +CPPFLAGS +LDFLAGS +CFLAGS +CC +AM_BACKSLASH +AM_DEFAULT_VERBOSITY +am__untar +am__tar +AMTAR +am__leading_dot +SET_MAKE +AWK +mkdir_p +MKDIR_P +INSTALL_STRIP_PROGRAM +STRIP +install_sh +MAKEINFO +AUTOHEADER +AUTOMAKE +AUTOCONF +ACLOCAL +VERSION +PACKAGE +CYGPATH_W +am__isrc +INSTALL_DATA +INSTALL_SCRIPT +INSTALL_PROGRAM +target_alias +host_alias +build_alias +LIBS +ECHO_T +ECHO_N +ECHO_C +DEFS +mandir +localedir +libdir +psdir +pdfdir +dvidir +htmldir +infodir +docdir +oldincludedir +includedir +localstatedir +sharedstatedir +sysconfdir +datadir +datarootdir +libexecdir +sbindir +bindir +program_transform_name +prefix +exec_prefix +PACKAGE_BUGREPORT +PACKAGE_STRING +PACKAGE_VERSION +PACKAGE_TARNAME +PACKAGE_NAME +PATH_SEPARATOR +SHELL' +ac_subst_files='' +ac_user_opts=' +enable_option_checking +enable_silent_rules +enable_dependency_tracking +' + ac_precious_vars='build_alias +host_alias +target_alias +CC +CFLAGS +LDFLAGS +LIBS +CPPFLAGS +CPP' + + +# Initialize some variables set by options. +ac_init_help= +ac_init_version=false +ac_unrecognized_opts= +ac_unrecognized_sep= +# The variables have the same names as the options, with +# dashes changed to underlines. +cache_file=/dev/null +exec_prefix=NONE +no_create= +no_recursion= +prefix=NONE +program_prefix=NONE +program_suffix=NONE +program_transform_name=s,x,x, +silent= +site= +srcdir= +verbose= +x_includes=NONE +x_libraries=NONE + +# Installation directory options. +# These are left unexpanded so users can "make install exec_prefix=/foo" +# and all the variables that are supposed to be based on exec_prefix +# by default will actually change. +# Use braces instead of parens because sh, perl, etc. also accept them. +# (The list follows the same order as the GNU Coding Standards.) +bindir='${exec_prefix}/bin' +sbindir='${exec_prefix}/sbin' +libexecdir='${exec_prefix}/libexec' +datarootdir='${prefix}/share' +datadir='${datarootdir}' +sysconfdir='${prefix}/etc' +sharedstatedir='${prefix}/com' +localstatedir='${prefix}/var' +includedir='${prefix}/include' +oldincludedir='/usr/include' +docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' +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 + ac_prev= + continue + fi + + 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_dashdash$ac_option in + --) + ac_dashdash=yes ;; + + -bindir | --bindir | --bindi | --bind | --bin | --bi) + ac_prev=bindir ;; + -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) + bindir=$ac_optarg ;; + + -build | --build | --buil | --bui | --bu) + ac_prev=build_alias ;; + -build=* | --build=* | --buil=* | --bui=* | --bu=*) + build_alias=$ac_optarg ;; + + -cache-file | --cache-file | --cache-fil | --cache-fi \ + | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) + ac_prev=cache_file ;; + -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ + | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) + cache_file=$ac_optarg ;; + + --config-cache | -C) + cache_file=config.cache ;; + + -datadir | --datadir | --datadi | --datad) + ac_prev=datadir ;; + -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_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + { $as_echo "$as_me: error: invalid feature name: $ac_useropt" >&2 + { (exit 1); exit 1; }; } + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"enable_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval enable_$ac_useropt=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_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + { $as_echo "$as_me: error: invalid feature name: $ac_useropt" >&2 + { (exit 1); exit 1; }; } + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"enable_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval enable_$ac_useropt=\$ac_optarg ;; + + -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ + | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ + | --exec | --exe | --ex) + ac_prev=exec_prefix ;; + -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ + | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ + | --exec=* | --exe=* | --ex=*) + exec_prefix=$ac_optarg ;; + + -gas | --gas | --ga | --g) + # Obsolete; use --with-gas. + with_gas=yes ;; + + -help | --help | --hel | --he | -h) + ac_init_help=long ;; + -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) + ac_init_help=recursive ;; + -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) + ac_init_help=short ;; + + -host | --host | --hos | --ho) + ac_prev=host_alias ;; + -host=* | --host=* | --hos=* | --ho=*) + host_alias=$ac_optarg ;; + + -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 ;; + -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ + | --includ=* | --inclu=* | --incl=* | --inc=*) + includedir=$ac_optarg ;; + + -infodir | --infodir | --infodi | --infod | --info | --inf) + ac_prev=infodir ;; + -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) + infodir=$ac_optarg ;; + + -libdir | --libdir | --libdi | --libd) + ac_prev=libdir ;; + -libdir=* | --libdir=* | --libdi=* | --libd=*) + libdir=$ac_optarg ;; + + -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ + | --libexe | --libex | --libe) + ac_prev=libexecdir ;; + -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ + | --libexe=* | --libex=* | --libe=*) + libexecdir=$ac_optarg ;; + + -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) + ac_prev=localstatedir ;; + -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ + | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) + localstatedir=$ac_optarg ;; + + -mandir | --mandir | --mandi | --mand | --man | --ma | --m) + ac_prev=mandir ;; + -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) + mandir=$ac_optarg ;; + + -nfp | --nfp | --nf) + # Obsolete; use --without-fp. + with_fp=no ;; + + -no-create | --no-create | --no-creat | --no-crea | --no-cre \ + | --no-cr | --no-c | -n) + no_create=yes ;; + + -no-recursion | --no-recursion | --no-recursio | --no-recursi \ + | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) + no_recursion=yes ;; + + -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ + | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ + | --oldin | --oldi | --old | --ol | --o) + ac_prev=oldincludedir ;; + -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ + | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ + | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) + oldincludedir=$ac_optarg ;; + + -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) + ac_prev=prefix ;; + -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) + prefix=$ac_optarg ;; + + -program-prefix | --program-prefix | --program-prefi | --program-pref \ + | --program-pre | --program-pr | --program-p) + ac_prev=program_prefix ;; + -program-prefix=* | --program-prefix=* | --program-prefi=* \ + | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) + program_prefix=$ac_optarg ;; + + -program-suffix | --program-suffix | --program-suffi | --program-suff \ + | --program-suf | --program-su | --program-s) + ac_prev=program_suffix ;; + -program-suffix=* | --program-suffix=* | --program-suffi=* \ + | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) + program_suffix=$ac_optarg ;; + + -program-transform-name | --program-transform-name \ + | --program-transform-nam | --program-transform-na \ + | --program-transform-n | --program-transform- \ + | --program-transform | --program-transfor \ + | --program-transfo | --program-transf \ + | --program-trans | --program-tran \ + | --progr-tra | --program-tr | --program-t) + ac_prev=program_transform_name ;; + -program-transform-name=* | --program-transform-name=* \ + | --program-transform-nam=* | --program-transform-na=* \ + | --program-transform-n=* | --program-transform-=* \ + | --program-transform=* | --program-transfor=* \ + | --program-transfo=* | --program-transf=* \ + | --program-trans=* | --program-tran=* \ + | --progr-tra=* | --program-tr=* | --program-t=*) + program_transform_name=$ac_optarg ;; + + -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 ;; + + -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) + ac_prev=sbindir ;; + -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ + | --sbi=* | --sb=*) + sbindir=$ac_optarg ;; + + -sharedstatedir | --sharedstatedir | --sharedstatedi \ + | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ + | --sharedst | --shareds | --shared | --share | --shar \ + | --sha | --sh) + ac_prev=sharedstatedir ;; + -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ + | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ + | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ + | --sha=* | --sh=*) + sharedstatedir=$ac_optarg ;; + + -site | --site | --sit) + ac_prev=site ;; + -site=* | --site=* | --sit=*) + site=$ac_optarg ;; + + -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) + ac_prev=srcdir ;; + -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) + srcdir=$ac_optarg ;; + + -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ + | --syscon | --sysco | --sysc | --sys | --sy) + ac_prev=sysconfdir ;; + -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ + | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) + sysconfdir=$ac_optarg ;; + + -target | --target | --targe | --targ | --tar | --ta | --t) + ac_prev=target_alias ;; + -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) + target_alias=$ac_optarg ;; + + -v | -verbose | --verbose | --verbos | --verbo | --verb) + verbose=yes ;; + + -version | --version | --versio | --versi | --vers | -V) + ac_init_version=: ;; + + -with-* | --with-*) + ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + { $as_echo "$as_me: error: invalid package name: $ac_useropt" >&2 + { (exit 1); exit 1; }; } + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"with_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval with_$ac_useropt=\$ac_optarg ;; + + -without-* | --without-*) + ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + { $as_echo "$as_me: error: invalid package name: $ac_useropt" >&2 + { (exit 1); exit 1; }; } + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"with_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval with_$ac_useropt=no ;; + + --x) + # Obsolete; use --with-x. + with_x=yes ;; + + -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ + | --x-incl | --x-inc | --x-in | --x-i) + ac_prev=x_includes ;; + -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ + | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) + x_includes=$ac_optarg ;; + + -x-libraries | --x-libraries | --x-librarie | --x-librari \ + | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) + ac_prev=x_libraries ;; + -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ + | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) + x_libraries=$ac_optarg ;; + + -*) { $as_echo "$as_me: error: unrecognized option: $ac_option +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; } + ;; + + *=*) + ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` + # Reject names that are not valid shell variable names. + expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && + { $as_echo "$as_me: error: invalid variable name: $ac_envvar" >&2 + { (exit 1); exit 1; }; } + eval $ac_envvar=\$ac_optarg + export $ac_envvar ;; + + *) + # FIXME: should be removed in autoconf 3.0. + $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 + : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} + ;; + + esac +done + +if test -n "$ac_prev"; then + ac_option=--`echo $ac_prev | sed 's/_/-/g'` + { $as_echo "$as_me: error: missing argument to $ac_option" >&2 + { (exit 1); exit 1; }; } +fi + +if test -n "$ac_unrecognized_opts"; then + case $enable_option_checking in + no) ;; + fatal) { $as_echo "$as_me: error: unrecognized options: $ac_unrecognized_opts" >&2 + { (exit 1); exit 1; }; } ;; + *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; + esac +fi + +# Check all directory arguments for consistency. +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=\$$ac_var + # Remove trailing slashes. + case $ac_val in + */ ) + ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` + eval $ac_var=\$ac_val;; + esac + # Be sure to have absolute directory names. + case $ac_val in + [\\/$]* | ?:[\\/]* ) continue;; + NONE | '' ) case $ac_var in *prefix ) continue;; esac;; + esac + { $as_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' +# used to hold the argument of --host etc. +# FIXME: To remove some day. +build=$build_alias +host=$host_alias +target=$target_alias + +# FIXME: To remove some day. +if test "x$host_alias" != x; then + if test "x$build_alias" = x; then + cross_compiling=maybe + $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. + If a cross compiler is detected then cross compile mode will be used." >&2 + elif test "x$build_alias" != "x$host_alias"; then + cross_compiling=yes + fi +fi + +ac_tool_prefix= +test -n "$host_alias" && ac_tool_prefix=$host_alias- + +test "$silent" = yes && exec 6>/dev/null + + +ac_pwd=`pwd` && test -n "$ac_pwd" && +ac_ls_di=`ls -di .` && +ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || + { $as_echo "$as_me: error: working directory cannot be determined" >&2 + { (exit 1); exit 1; }; } +test "X$ac_ls_di" = "X$ac_pwd_ls_di" || + { $as_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 the parent directory. + ac_confdir=`$as_dirname -- "$as_myself" || +$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_myself" : 'X\(//\)[^/]' \| \ + X"$as_myself" : 'X\(//\)$' \| \ + X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$as_myself" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + srcdir=$ac_confdir + if test ! -r "$srcdir/$ac_unique_file"; then + srcdir=.. + fi +else + ac_srcdir_defaulted=no +fi +if test ! -r "$srcdir/$ac_unique_file"; then + test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." + { $as_echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 + { (exit 1); exit 1; }; } +fi +ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" +ac_abs_confdir=`( + cd "$srcdir" && test -r "./$ac_unique_file" || { $as_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. +# +if test "$ac_init_help" = "long"; then + # Omit some internal or obsolete options to make the list less imposing. + # This message is too long to be a string in the A/UX 3.1 sh. + cat <<_ACEOF +\`configure' configures prerex 6.5.4 to adapt to many kinds of systems. + +Usage: $0 [OPTION]... [VAR=VALUE]... + +To assign environment variables (e.g., CC, CFLAGS...), specify them as +VAR=VALUE. See below for descriptions of some of the useful variables. + +Defaults for the options are specified in brackets. + +Configuration: + -h, --help display this help and exit + --help=short display options specific to this package + --help=recursive display the short help of all the included packages + -V, --version display version information and exit + -q, --quiet, --silent do not print \`checking...' messages + --cache-file=FILE cache test results in FILE [disabled] + -C, --config-cache alias for \`--cache-file=config.cache' + -n, --no-create do not create output files + --srcdir=DIR find the sources in DIR [configure dir or \`..'] + +Installation directories: + --prefix=PREFIX install architecture-independent files in PREFIX + [$ac_default_prefix] + --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX + [PREFIX] + +By default, \`make install' will install all the files in +\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify +an installation prefix other than \`$ac_default_prefix' using \`--prefix', +for instance \`--prefix=\$HOME'. + +For better control, use the options below. + +Fine tuning of the installation directories: + --bindir=DIR user executables [EPREFIX/bin] + --sbindir=DIR system admin executables [EPREFIX/sbin] + --libexecdir=DIR program executables [EPREFIX/libexec] + --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] + --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/prerex] + --htmldir=DIR html documentation [DOCDIR] + --dvidir=DIR dvi documentation [DOCDIR] + --pdfdir=DIR pdf documentation [DOCDIR] + --psdir=DIR ps documentation [DOCDIR] +_ACEOF + + cat <<\_ACEOF + +Program names: + --program-prefix=PREFIX prepend PREFIX to installed program names + --program-suffix=SUFFIX append SUFFIX to installed program names + --program-transform-name=PROGRAM run sed PROGRAM on installed program names +_ACEOF +fi + +if test -n "$ac_init_help"; then + case $ac_init_help in + short | recursive ) echo "Configuration of prerex 6.5.4:";; + esac + cat <<\_ACEOF + +Optional Features: + --disable-option-checking ignore unrecognized --enable/--with options + --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) + --enable-FEATURE[=ARG] include FEATURE [ARG=yes] + --enable-silent-rules less verbose build output (undo: `make V=1') + --disable-silent-rules verbose build output (undo: `make V=0') + --disable-dependency-tracking speeds up one-time build + --enable-dependency-tracking do not reject slow dependency extractors + +Some influential environment variables: + CC C compiler command + CFLAGS C compiler flags + LDFLAGS linker flags, e.g. -L if you have libraries 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 + CPP C preprocessor + +Use these variables to override the choices made by `configure' or to help +it to find libraries and programs with nonstandard names/locations. + +Report bugs to . +_ACEOF +ac_status=$? +fi + +if test "$ac_init_help" = "recursive"; then + # If there are subdirs, report their specific --help. + for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue + test -d "$ac_dir" || + { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || + continue + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`$as_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 + .) # We are building in place. + ac_srcdir=. + 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 + 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 + $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 + fi || ac_status=$? + cd "$ac_pwd" || { ac_status=$?; break; } + done +fi + +test -n "$ac_init_help" && exit $ac_status +if $ac_init_version; then + cat <<\_ACEOF +prerex configure 6.5.4 +generated by GNU Autoconf 2.63 + +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, +2002, 2003, 2004, 2005, 2006, 2007, 2008 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 +fi +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 prerex $as_me 6.5.4, which was +generated by GNU Autoconf 2.63. Invocation command line was + + $ $0 $@ + +_ACEOF +exec 5>>config.log +{ +cat <<_ASUNAME +## --------- ## +## Platform. ## +## --------- ## + +hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` + +/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` +/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` + +_ASUNAME + +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + $as_echo "PATH: $as_dir" +done +IFS=$as_save_IFS + +} >&5 + +cat >&5 <<_ACEOF + + +## ----------- ## +## Core tests. ## +## ----------- ## + +_ACEOF + + +# Keep a trace of the command line. +# Strip out --no-create and --no-recursion so they do not pile up. +# Strip out --silent because we don't want to record it for future runs. +# Also quote any args containing shell meta-characters. +# Make two passes to allow for proper duplicate-argument suppression. +ac_configure_args= +ac_configure_args0= +ac_configure_args1= +ac_must_keep_next=false +for ac_pass in 1 2 +do + for ac_arg + do + case $ac_arg in + -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + continue ;; + *\'*) + ac_arg=`$as_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: 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. ## +## ---------------- ## +_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_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5 +$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( + *) $as_unset $ac_var ;; + esac ;; + esac + done + (set) 2>&1 | + 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" + ;; #( + *) + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + 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=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + $as_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=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + $as_echo "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + cat <<\_ASBOX +## ----------- ## +## confdefs.h. ## +## ----------- ## +_ASBOX + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + $as_echo "$as_me: caught signal $ac_signal" + $as_echo "$as_me: exit $exit_status" + } >&5 + rm -f core *.core core.conftest.* && + rm -f -r conftest* confdefs* conf$$* $ac_clean_files && + exit $exit_status +' 0 +for ac_signal in 1 2 13 15; do + trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal +done +ac_signal=0 + +# confdefs.h avoids OS command line length limits that DEFS can exceed. +rm -f -r conftest* confdefs.h + +# Predefined preprocessor variables. + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_NAME "$PACKAGE_NAME" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_TARNAME "$PACKAGE_TARNAME" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_VERSION "$PACKAGE_VERSION" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_STRING "$PACKAGE_STRING" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" +_ACEOF + + +# Let the site file select an alternate cache file if it wants to. +# Prefer an explicitly selected file to automatically selected ones. +ac_site_file1=NONE +ac_site_file2=NONE +if test -n "$CONFIG_SITE"; then + ac_site_file1=$CONFIG_SITE +elif test "x$prefix" != xNONE; then + ac_site_file1=$prefix/share/config.site + ac_site_file2=$prefix/etc/config.site +else + ac_site_file1=$ac_default_prefix/share/config.site + ac_site_file2=$ac_default_prefix/etc/config.site +fi +for ac_site_file in "$ac_site_file1" "$ac_site_file2" +do + test "x$ac_site_file" = xNONE && continue + if test -r "$ac_site_file"; then + { $as_echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 +$as_echo "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" + fi +done + +if test -r "$cache_file"; then + # Some versions of bash will fail to source /dev/null (special + # files actually), so we avoid doing that. + if test -f "$cache_file"; then + { $as_echo "$as_me:$LINENO: loading cache $cache_file" >&5 +$as_echo "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { $as_echo "$as_me:$LINENO: creating cache $cache_file" >&5 +$as_echo "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Check that the precious variables saved in the cache have kept the same +# value. +ac_cache_corrupted=false +for ac_var in $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 + case $ac_old_set,$ac_new_set in + set,) + { $as_echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { $as_echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 +$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,);; + *) + if test "x$ac_old_val" != "x$ac_new_val"; then + # differences in whitespace do not lead to failure. + ac_old_val_w=`echo x $ac_old_val` + ac_new_val_w=`echo x $ac_new_val` + if test "$ac_old_val_w" != "$ac_new_val_w"; then + { $as_echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 +$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + ac_cache_corrupted=: + else + { $as_echo "$as_me:$LINENO: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + eval $ac_var=\$ac_old_val + fi + { $as_echo "$as_me:$LINENO: former value: \`$ac_old_val'" >&5 +$as_echo "$as_me: former value: \`$ac_old_val'" >&2;} + { $as_echo "$as_me:$LINENO: current value: \`$ac_new_val'" >&5 +$as_echo "$as_me: current value: \`$ac_new_val'" >&2;} + fi;; + esac + # Pass precious variables to config.status. + if test "$ac_new_set" = set; then + case $ac_new_val in + *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; + *) ac_arg=$ac_var=$ac_new_val ;; + esac + case " $ac_configure_args " in + *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. + *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; + esac + fi +done +if $ac_cache_corrupted; then + { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} + { $as_echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 +$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} + { { $as_echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 +$as_echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} + { (exit 1); exit 1; }; } +fi + + + + + + + + + + + + + + + + + + + + + + + + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +ac_aux_dir= +for ac_dir in . "$srcdir"/.; do + if test -f "$ac_dir/install-sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install-sh -c" + break + elif test -f "$ac_dir/install.sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install.sh -c" + break + elif test -f "$ac_dir/shtool"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/shtool install -c" + break + fi +done +if test -z "$ac_aux_dir"; then + { { $as_echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in . \"$srcdir\"/." >&5 +$as_echo "$as_me: error: cannot find install-sh or install.sh in . \"$srcdir\"/." >&2;} + { (exit 1); exit 1; }; } +fi + +# 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. + + +am__api_version='1.11' + +# Find a good install program. We prefer a C program (faster), +# so one script is as good as another. But avoid the broken or +# incompatible versions: +# SysV /etc/install, /usr/sbin/install +# SunOS /usr/etc/install +# IRIX /sbin/install +# AIX /bin/install +# AmigaOS /C/install, which installs bootblocks on floppy discs +# 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. +# Reject install programs that cannot install multiple files. +{ $as_echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 +$as_echo_n "checking for a BSD-compatible install... " >&6; } +if test -z "$INSTALL"; then +if test "${ac_cv_path_install+set}" = set; then + $as_echo_n "(cached) " >&6 +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + # Account for people who put trailing slashes in PATH elements. +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. + # Don't use installbsd from OSF since it installs stuff as root + # by default. + for ac_prog in ginstall scoinst install; do + for ac_exec_ext in '' $ac_executable_extensions; do + 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 + rm -rf conftest.one conftest.two conftest.dir + echo one > conftest.one + echo two > conftest.two + mkdir conftest.dir + if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && + test -s conftest.one && test -s conftest.two && + test -s conftest.dir/conftest.one && + test -s conftest.dir/conftest.two + then + ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" + break 3 + fi + fi + fi + done + done + ;; +esac + +done +IFS=$as_save_IFS + +rm -rf conftest.one conftest.two conftest.dir + +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. 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 value is a relative name. + INSTALL=$ac_install_sh + fi +fi +{ $as_echo "$as_me:$LINENO: result: $INSTALL" >&5 +$as_echo "$INSTALL" >&6; } + +# Use test -z because SunOS4 sh mishandles braces in ${var-val}. +# It thinks the first close brace ends the variable substitution. +test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' + +test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' + +test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' + +{ $as_echo "$as_me:$LINENO: checking whether build environment is sane" >&5 +$as_echo_n "checking whether build environment is sane... " >&6; } +# Just in case +sleep 1 +echo timestamp > conftest.file +# Reject unsafe characters in $srcdir or the absolute working directory +# name. Accept space and tab only in the latter. +am_lf=' +' +case `pwd` in + *[\\\"\#\$\&\'\`$am_lf]*) + { { $as_echo "$as_me:$LINENO: error: unsafe absolute working directory name" >&5 +$as_echo "$as_me: error: unsafe absolute working directory name" >&2;} + { (exit 1); exit 1; }; };; +esac +case $srcdir in + *[\\\"\#\$\&\'\`$am_lf\ \ ]*) + { { $as_echo "$as_me:$LINENO: error: unsafe srcdir value: \`$srcdir'" >&5 +$as_echo "$as_me: error: unsafe srcdir value: \`$srcdir'" >&2;} + { (exit 1); exit 1; }; };; +esac + +# Do `set' in a subshell so we don't clobber the current shell's +# arguments. Must try -L first in case configure is actually a +# symlink; some systems play weird games with the mod time of symlinks +# (eg FreeBSD returns the mod time of the symlink's containing +# directory). +if ( + set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` + if test "$*" = "X"; then + # -L didn't work. + set X `ls -t "$srcdir/configure" conftest.file` + fi + rm -f conftest.file + if test "$*" != "X $srcdir/configure conftest.file" \ + && test "$*" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + { { $as_echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken +alias in your environment" >&5 +$as_echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken +alias in your environment" >&2;} + { (exit 1); exit 1; }; } + fi + + test "$2" = conftest.file + ) +then + # Ok. + : +else + { { $as_echo "$as_me:$LINENO: error: newly created file is older than distributed files! +Check your system clock" >&5 +$as_echo "$as_me: error: newly created file is older than distributed files! +Check your system clock" >&2;} + { (exit 1); exit 1; }; } +fi +{ $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } +test "$program_prefix" != NONE && + program_transform_name="s&^&$program_prefix&;$program_transform_name" +# Use a double $ so make ignores it. +test "$program_suffix" != NONE && + program_transform_name="s&\$&$program_suffix&;$program_transform_name" +# Double any \ or $. +# By default was `s,x,x', remove it if useless. +ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' +program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` + +# expand $ac_aux_dir to an absolute path +am_aux_dir=`cd $ac_aux_dir && pwd` + +if test x"${MISSING+set}" != xset; then + case $am_aux_dir in + *\ * | *\ *) + MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; + *) + MISSING="\${SHELL} $am_aux_dir/missing" ;; + esac +fi +# Use eval to expand $SHELL +if eval "$MISSING --run true"; then + am_missing_run="$MISSING --run " +else + am_missing_run= + { $as_echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5 +$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} +fi + +if test x"${install_sh}" != xset; then + case $am_aux_dir in + *\ * | *\ *) + install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; + *) + install_sh="\${SHELL} $am_aux_dir/install-sh" + esac +fi + +# Installed binaries are usually stripped using `strip' when the user +# run `make install-strip'. However `strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the `STRIP' environment variable to overrule this program. +if test "$cross_compiling" != no; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; ac_word=$2 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_STRIP+set}" = set; then + $as_echo_n "(cached) " >&6 +else + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + { $as_echo "$as_me:$LINENO: result: $STRIP" >&5 +$as_echo "$STRIP" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_STRIP"; then + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # 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 { 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_STRIP="strip" + $as_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_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then + { $as_echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 +$as_echo "$ac_ct_STRIP" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_STRIP" = x; then + STRIP=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + STRIP=$ac_ct_STRIP + fi +else + STRIP="$ac_cv_prog_STRIP" +fi + +fi +INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" + +{ $as_echo "$as_me:$LINENO: checking for a thread-safe mkdir -p" >&5 +$as_echo_n "checking for a thread-safe mkdir -p... " >&6; } +if test -z "$MKDIR_P"; then + if test "${ac_cv_path_mkdir+set}" = set; then + $as_echo_n "(cached) " >&6 +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in mkdir gmkdir; do + for ac_exec_ext in '' $ac_executable_extensions; do + { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue + case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( + 'mkdir (GNU coreutils) '* | \ + 'mkdir (coreutils) '* | \ + 'mkdir (fileutils) '4.1*) + ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext + break 3;; + esac + done + done +done +IFS=$as_save_IFS + +fi + + if test "${ac_cv_path_mkdir+set}" = set; then + MKDIR_P="$ac_cv_path_mkdir -p" + else + # As a last resort, use the slow shell script. Don't cache a + # value for MKDIR_P within a source directory, because that will + # break other packages using the cache if that directory is + # removed, or if the value is a relative name. + test -d ./--version && rmdir ./--version + MKDIR_P="$ac_install_sh -d" + fi +fi +{ $as_echo "$as_me:$LINENO: result: $MKDIR_P" >&5 +$as_echo "$MKDIR_P" >&6; } + +mkdir_p="$MKDIR_P" +case $mkdir_p in + [\\/$]* | ?:[\\/]*) ;; + */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; +esac + +for ac_prog in gawk mawk nawk awk +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_AWK+set}" = set; then + $as_echo_n "(cached) " >&6 +else + if test -n "$AWK"; then + ac_cv_prog_AWK="$AWK" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_AWK="$ac_prog" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +AWK=$ac_cv_prog_AWK +if test -n "$AWK"; then + { $as_echo "$as_me:$LINENO: result: $AWK" >&5 +$as_echo "$AWK" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$AWK" && break +done + +{ $as_echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 +$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } +set x ${MAKE-make} +ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` +if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then + $as_echo_n "(cached) " >&6 +else + cat >conftest.make <<\_ACEOF +SHELL = /bin/sh +all: + @echo '@@@%%%=$(MAKE)=@@@%%%' +_ACEOF +# GNU make sometimes prints "make[1]: Entering...", which would confuse us. +case `${MAKE-make} -f conftest.make 2>/dev/null` in + *@@@%%%=?*=@@@%%%*) + eval ac_cv_prog_make_${ac_make}_set=yes;; + *) + eval ac_cv_prog_make_${ac_make}_set=no;; +esac +rm -f conftest.make +fi +if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } + SET_MAKE= +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } + SET_MAKE="MAKE=${MAKE-make}" +fi + +rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. +else + am__leading_dot=_ +fi +rmdir .tst 2>/dev/null + +if test "`cd $srcdir && pwd`" != "`pwd`"; then + # Use -I$(srcdir) only when $(srcdir) != ., so that make's output + # is not polluted with repeated "-I." + am__isrc=' -I$(srcdir)' + # test to see if srcdir already configured + if test -f $srcdir/config.status; then + { { $as_echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5 +$as_echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;} + { (exit 1); exit 1; }; } + fi +fi + +# test whether we have cygpath +if test -z "$CYGPATH_W"; then + if (cygpath --version) >/dev/null 2>/dev/null; then + CYGPATH_W='cygpath -w' + else + CYGPATH_W=echo + fi +fi + + +# Define the identity of the package. + PACKAGE='prerex' + VERSION='6.5.4' + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE "$PACKAGE" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define VERSION "$VERSION" +_ACEOF + +# Some tools Automake needs. + +ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} + + +AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} + + +AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} + + +AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} + + +MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} + +# We need awk for the "check" target. The system "awk" is bad on +# some platforms. +# Always define AMTAR for backward compatibility. + +AMTAR=${AMTAR-"${am_missing_run}tar"} + +am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -' + + + + + +ac_config_headers="$ac_config_headers config.h" + + +# Check whether --enable-silent-rules was given. +if test "${enable_silent_rules+set}" = set; then + enableval=$enable_silent_rules; +fi + +case $enable_silent_rules in +yes) AM_DEFAULT_VERBOSITY=0;; +no) AM_DEFAULT_VERBOSITY=1;; +*) AM_DEFAULT_VERBOSITY=0;; +esac +AM_BACKSLASH='\' + + +# Checks for programs. +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +if test -n "$ac_tool_prefix"; then + # 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 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + $as_echo_n "(cached) " >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { 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" + $as_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 + { $as_echo "$as_me:$LINENO: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "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 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + $as_echo_n "(cached) " >&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 { 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" + $as_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 + { $as_echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +$as_echo "$ac_ct_CC" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&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. +set dummy ${ac_tool_prefix}cc; ac_word=$2 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + $as_echo_n "(cached) " >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { 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" + $as_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 + { $as_echo "$as_me:$LINENO: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +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 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + $as_echo_n "(cached) " >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else + ac_prog_rejected=no +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 { 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 + fi + ac_cv_prog_CC="cc" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + 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. + set dummy $ac_cv_prog_CC + shift + if test $# != 0; then + # We chose a different compiler from the bogus one. + # 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 + ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" + fi +fi +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:$LINENO: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + 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 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + $as_echo_n "(cached) " >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { 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" + $as_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 + { $as_echo "$as_me:$LINENO: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$CC" && break + done +fi +if test -z "$CC"; then + ac_ct_CC=$CC + 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 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + $as_echo_n "(cached) " >&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 { 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" + $as_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 + { $as_echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +$as_echo "$ac_ct_CC" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$ac_ct_CC" && break +done + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi + + +test -z "$CC" && { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { $as_echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&5 +$as_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. +$as_echo "$as_me:$LINENO: checking for C compiler version" >&5 +set X $ac_compile +ac_compiler=$2 +{ (ac_try="$ac_compiler --version >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compiler --version >&5") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -v >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compiler -v >&5") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -V >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compiler -V >&5") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files a.out a.out.dSYM 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. +{ $as_echo "$as_me:$LINENO: checking for C compiler default output file name" >&5 +$as_echo_n "checking for C compiler default output file name... " >&6; } +ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` + +# The possible output files: +ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" + +ac_rmfiles= +for ac_file in $ac_files +do + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # 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 | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.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 + +{ $as_echo "$as_me:$LINENO: result: $ac_file" >&5 +$as_echo "$ac_file" >&6; } +if test -z "$ac_file"; then + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { $as_echo "$as_me:$LINENO: error: C compiler cannot create executables +See \`config.log' for more details." >&5 +$as_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 + +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ $as_echo "$as_me:$LINENO: checking whether the C compiler works" >&5 +$as_echo_n "checking whether the C compiler works... " >&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' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + cross_compiling=no + else + if test "$cross_compiling" = maybe; then + cross_compiling=yes + else + { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { $as_echo "$as_me:$LINENO: error: cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details." >&5 +$as_echo "$as_me: error: cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; }; } + fi + fi +fi +{ $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } + +rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out +ac_clean_files=$ac_clean_files_save +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ $as_echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 +$as_echo_n "checking whether we are cross compiling... " >&6; } +{ $as_echo "$as_me:$LINENO: result: $cross_compiling" >&5 +$as_echo "$cross_compiling" >&6; } + +{ $as_echo "$as_me:$LINENO: checking for suffix of executables" >&5 +$as_echo_n "checking for suffix of executables... " >&6; } +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # If both `conftest.exe' and `conftest' are `present' (well, observable) +# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will +# work properly (i.e., refer to `conftest.exe'), while it won't with +# `rm'. +for ac_file in conftest.exe conftest conftest.*; do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; + *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + break;; + * ) break;; + esac +done +else + { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { $as_echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details." >&5 +$as_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 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 +$as_echo "$ac_cv_exeext" >&6; } + +rm -f conftest.$ac_ext +EXEEXT=$ac_cv_exeext +ac_exeext=$EXEEXT +{ $as_echo "$as_me:$LINENO: checking for suffix of object files" >&5 +$as_echo_n "checking for suffix of object files... " >&6; } +if test "${ac_cv_objext+set}" = set; then + $as_echo_n "(cached) " >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.o conftest.obj +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + 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 | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; + *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` + break;; + esac +done +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { $as_echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile +See \`config.log' for more details." >&5 +$as_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 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 +$as_echo "$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +{ $as_echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 +$as_echo_n "checking whether we are using the GNU C compiler... " >&6; } +if test "${ac_cv_c_compiler_gnu+set}" = set; then + $as_echo_n "(cached) " >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$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 + $as_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_compiler_gnu=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_compiler_gnu=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 +$as_echo "$ac_cv_c_compiler_gnu" >&6; } +if test $ac_compiler_gnu = yes; then + GCC=yes +else + GCC= +fi +ac_test_CFLAGS=${CFLAGS+set} +ac_save_CFLAGS=$CFLAGS +{ $as_echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 +$as_echo_n "checking whether $CC accepts -g... " >&6; } +if test "${ac_cv_prog_cc_g+set}" = set; then + $as_echo_n "(cached) " >&6 +else + 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. */ + +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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$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 + $as_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 + $as_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$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 + $as_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 + : +else + $as_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$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 + $as_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 + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +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 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 +$as_echo "$ac_cv_prog_cc_g" >&6; } +if test "$ac_test_CFLAGS" = set; then + CFLAGS=$ac_save_CFLAGS +elif test $ac_cv_prog_cc_g = yes; then + if test "$GCC" = yes; then + CFLAGS="-g -O2" + else + CFLAGS="-g" + fi +else + if test "$GCC" = yes; then + CFLAGS="-O2" + else + CFLAGS= + fi +fi +{ $as_echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5 +$as_echo_n "checking for $CC option to accept ISO C89... " >&6; } +if test "${ac_cv_prog_cc_c89+set}" = set; then + $as_echo_n "(cached) " >&6 +else + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#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; +{ + return p[i]; +} +static char *f (char * (*g) (char **, int), char **p, ...) +{ + char *s; + va_list v; + va_start (v,p); + s = g (p, va_arg (v,int)); + va_end (v); + return s; +} + +/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has + function prototypes and stuff, but not '\xHH' hex character constants. + These don't provoke an error unfortunately, instead are silently treated + as 'x'. The following induces an error, until -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 () +{ +return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; + ; + return 0; +} +_ACEOF +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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$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 + $as_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_c89=$ac_arg +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC + +fi +# AC_CACHE_VAL +case "x$ac_cv_prog_cc_c89" in + x) + { $as_echo "$as_me:$LINENO: result: none needed" >&5 +$as_echo "none needed" >&6; } ;; + xno) + { $as_echo "$as_me:$LINENO: result: unsupported" >&5 +$as_echo "unsupported" >&6; } ;; + *) + CC="$CC $ac_cv_prog_cc_c89" + { $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5 +$as_echo "$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 +DEPDIR="${am__leading_dot}deps" + +ac_config_commands="$ac_config_commands depfiles" + + +am_make=${MAKE-make} +cat > confinc << 'END' +am__doit: + @echo this is the am__doit target +.PHONY: am__doit +END +# If we don't find an include directive, just comment out the code. +{ $as_echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5 +$as_echo_n "checking for style of include used by $am_make... " >&6; } +am__include="#" +am__quote= +_am_result=none +# First try GNU make style include. +echo "include confinc" > confmf +# Ignore all kinds of additional output from `make'. +case `$am_make -s -f confmf 2> /dev/null` in #( +*the\ am__doit\ target*) + am__include=include + am__quote= + _am_result=GNU + ;; +esac +# Now try BSD make style include. +if test "$am__include" = "#"; then + echo '.include "confinc"' > confmf + case `$am_make -s -f confmf 2> /dev/null` in #( + *the\ am__doit\ target*) + am__include=.include + am__quote="\"" + _am_result=BSD + ;; + esac +fi + + +{ $as_echo "$as_me:$LINENO: result: $_am_result" >&5 +$as_echo "$_am_result" >&6; } +rm -f confinc confmf + +# Check whether --enable-dependency-tracking was given. +if test "${enable_dependency_tracking+set}" = set; then + enableval=$enable_dependency_tracking; +fi + +if test "x$enable_dependency_tracking" != xno; then + am_depcomp="$ac_aux_dir/depcomp" + AMDEPBACKSLASH='\' +fi + if test "x$enable_dependency_tracking" != xno; then + AMDEP_TRUE= + AMDEP_FALSE='#' +else + AMDEP_TRUE='#' + AMDEP_FALSE= +fi + + + +depcc="$CC" am_compiler_list= + +{ $as_echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 +$as_echo_n "checking dependency style of $depcc... " >&6; } +if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then + $as_echo_n "(cached) " >&6 +else + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_CC_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + fi + am__universal=false + case " $depcc " in #( + *\ -arch\ *\ -arch\ *) am__universal=true ;; + esac + + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. Also, some Intel + # versions had trouble with output in subdirs + am__obj=sub/conftest.${OBJEXT-o} + am__minus_obj="-o $am__obj" + case $depmode in + gcc) + # This depmode causes a compiler race in universal mode. + test "$am__universal" = false || continue + ;; + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + msvisualcpp | msvcmsys) + # This compiler won't grok `-c -o', but also, the minuso test has + # not run yet. These depmodes are late enough in the game, and + # so weak that their functioning should not be impacted. + am__obj=conftest.${OBJEXT-o} + am__minus_obj= + ;; + none) break ;; + esac + if depmode=$depmode \ + source=sub/conftest.c object=$am__obj \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep $am__obj sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_CC_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_CC_dependencies_compiler_type=none +fi + +fi +{ $as_echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 +$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } +CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type + + if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then + am__fastdepCC_TRUE= + am__fastdepCC_FALSE='#' +else + am__fastdepCC_TRUE='#' + am__fastdepCC_FALSE= +fi + + +if test "x$CC" != xcc; then + { $as_echo "$as_me:$LINENO: checking whether $CC and cc understand -c and -o together" >&5 +$as_echo_n "checking whether $CC and cc understand -c and -o together... " >&6; } +else + { $as_echo "$as_me:$LINENO: checking whether cc understands -c and -o together" >&5 +$as_echo_n "checking whether cc understands -c and -o together... " >&6; } +fi +set dummy $CC; ac_cc=`$as_echo "$2" | + sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'` +if { as_var=ac_cv_prog_cc_${ac_cc}_c_o; eval "test \"\${$as_var+set}\" = set"; }; then + $as_echo_n "(cached) " >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +# Make sure it works both with $CC and with simple cc. +# We do the test twice because some compilers refuse to overwrite an +# existing .o file with -o, though they will create one. +ac_try='$CC -c conftest.$ac_ext -o conftest2.$ac_objext >&5' +rm -f conftest2.* +if { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + test -f conftest2.$ac_objext && { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; +then + eval ac_cv_prog_cc_${ac_cc}_c_o=yes + if test "x$CC" != xcc; then + # Test first that cc exists at all. + if { ac_try='cc -c conftest.$ac_ext >&5' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_try='cc -c conftest.$ac_ext -o conftest2.$ac_objext >&5' + rm -f conftest2.* + if { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + test -f conftest2.$ac_objext && { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; + then + # cc works too. + : + else + # cc exists but doesn't like -o. + eval ac_cv_prog_cc_${ac_cc}_c_o=no + fi + fi + fi +else + eval ac_cv_prog_cc_${ac_cc}_c_o=no +fi +rm -f core conftest* + +fi +if eval test \$ac_cv_prog_cc_${ac_cc}_c_o = yes; then + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } + +cat >>confdefs.h <<\_ACEOF +#define NO_MINUS_C_MINUS_O 1 +_ACEOF + +fi + +# FIXME: we rely on the cache variable name because +# there is no other way. +set dummy $CC +am_cc=`echo $2 | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'` +eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o +if test "$am_t" != yes; then + # Losing compiler, so override with the script. + # FIXME: It is wrong to rewrite CC. + # But if we don't then we get into trouble of one sort or another. + # A longer-term fix would be to have automake use am__CC in this case, + # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" + CC="$am_aux_dir/compile $CC" +fi + + + +# Checks for libraries. + +#PKG_CHECK_MODULES([LIBEDIT], [libedit], +# [AC_DEFINE([HAVE_LIBEDIT], [1], [Define if we have libedit])], + + +{ $as_echo "$as_me:$LINENO: checking for el_push in -ledit" >&5 +$as_echo_n "checking for el_push in -ledit... " >&6; } +if test "${ac_cv_lib_edit_el_push+set}" = set; then + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ledit $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any 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 +char el_push (); +int +main () +{ +return el_push (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$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 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + ac_cv_lib_edit_el_push=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_edit_el_push=no +fi + +rm -rf conftest.dSYM +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 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_edit_el_push" >&5 +$as_echo "$ac_cv_lib_edit_el_push" >&6; } +if test "x$ac_cv_lib_edit_el_push" = x""yes; then + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBEDIT 1 +_ACEOF + + LIBS="-ledit $LIBS" + +else + +{ $as_echo "$as_me:$LINENO: checking for readline in -lreadline" >&5 +$as_echo_n "checking for readline in -lreadline... " >&6; } +if test "${ac_cv_lib_readline_readline+set}" = set; then + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lreadline $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any 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 +char readline (); +int +main () +{ +return readline (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$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 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + ac_cv_lib_readline_readline=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_readline_readline=no +fi + +rm -rf conftest.dSYM +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 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_readline_readline" >&5 +$as_echo "$ac_cv_lib_readline_readline" >&6; } +if test "x$ac_cv_lib_readline_readline" = x""yes; then + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBREADLINE 1 +_ACEOF + + LIBS="-lreadline $LIBS" + +else + { { $as_echo "$as_me:$LINENO: error: libreadline or libedit is required!" >&5 +$as_echo "$as_me: error: libreadline or libedit is required!" >&2;} + { (exit 1); exit 1; }; } +fi + +fi + + +# Checks for header files. +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 +{ $as_echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 +$as_echo_n "checking how to run the C preprocessor... " >&6; } +# On Suns, sometimes $CPP names a directory. +if test -n "$CPP" && test -d "$CPP"; then + CPP= +fi +if test -z "$CPP"; then + if test "${ac_cv_prog_CPP+set}" = set; then + $as_echo_n "(cached) " >&6 +else + # Double quotes because CPP needs to be expanded + for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" + do + 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 +/* 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 { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + : +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (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 + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + break +fi + + done + ac_cv_prog_CPP=$CPP + +fi + CPP=$ac_cv_prog_CPP +else + ac_cv_prog_CPP=$CPP +fi +{ $as_echo "$as_me:$LINENO: result: $CPP" >&5 +$as_echo "$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 +/* 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 { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + : +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (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 + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + : +else + { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { $as_echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details." >&5 +$as_echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; }; } +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +{ $as_echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5 +$as_echo_n "checking for grep that handles long lines and -e... " >&6; } +if test "${ac_cv_path_GREP+set}" = set; then + $as_echo_n "(cached) " >&6 +else + if test -z "$GREP"; then + 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 + $as_echo_n 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + $as_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 + if test -z "$ac_cv_path_GREP"; then + { { $as_echo "$as_me:$LINENO: error: no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 +$as_echo "$as_me: error: no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} + { (exit 1); exit 1; }; } + fi +else + ac_cv_path_GREP=$GREP +fi + +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5 +$as_echo "$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ $as_echo "$as_me:$LINENO: checking for egrep" >&5 +$as_echo_n "checking for egrep... " >&6; } +if test "${ac_cv_path_EGREP+set}" = set; then + $as_echo_n "(cached) " >&6 +else + if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 + then ac_cv_path_EGREP="$GREP -E" + else + if test -z "$EGREP"; then + 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 + $as_echo_n 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + $as_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 + if test -z "$ac_cv_path_EGREP"; then + { { $as_echo "$as_me:$LINENO: error: no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 +$as_echo "$as_me: error: no acceptable egrep 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 +{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5 +$as_echo "$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + +{ $as_echo "$as_me:$LINENO: checking for ANSI C header files" >&5 +$as_echo_n "checking for ANSI C header files... " >&6; } +if test "${ac_cv_header_stdc+set}" = set; then + $as_echo_n "(cached) " >&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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$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 + $as_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_header_stdc=yes +else + $as_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 + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "free" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. + if test "$cross_compiling" = yes; then + : +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#if ((' ' & 0x0FF) == 0x020) +# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +#else +# define ISLOWER(c) \ + (('a' <= (c) && (c) <= 'i') \ + || ('j' <= (c) && (c) <= 'r') \ + || ('s' <= (c) && (c) <= 'z')) +# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) +#endif + +#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) +int +main () +{ + int i; + for (i = 0; i < 256; i++) + if (XOR (islower (i), ISLOWER (i)) + || toupper (i) != TOUPPER (i)) + return 2; + return 0; +} +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + : +else + $as_echo "$as_me: program exited with status $ac_status" >&5 +$as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +ac_cv_header_stdc=no +fi +rm -rf conftest.dSYM +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi + + +fi +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 +$as_echo "$ac_cv_header_stdc" >&6; } +if test $ac_cv_header_stdc = yes; then + +cat >>confdefs.h <<\_ACEOF +#define STDC_HEADERS 1 +_ACEOF + +fi + +# On IRIX 5.3, sys/types and inttypes.h are conflicting. + + + + + + + + + +for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ + inttypes.h stdint.h unistd.h +do +as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 +$as_echo_n "checking for $ac_header... " >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + $as_echo_n "(cached) " >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default + +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$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 + $as_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 + eval "$as_ac_Header=yes" +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_Header=no" +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +ac_res=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + + + + + +for ac_header in limits.h stdlib.h string.h unistd.h +do +as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 +$as_echo_n "checking for $ac_header... " >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + $as_echo_n "(cached) " >&6 +fi +ac_res=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +else + # Is the header compilable? +{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5 +$as_echo_n "checking $ac_header usability... " >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include <$ac_header> +_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$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 + $as_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_header_compiler=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } + +# Is the header present? +{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5 +$as_echo_n "checking $ac_header presence... " >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <$ac_header> +_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi + +rm -f conftest.err conftest.$ac_ext +{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +## -------------------------------- ## +## Report this to rdt@cs.queensu.ca ## +## -------------------------------- ## +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 +$as_echo_n "checking for $ac_header... " >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + $as_echo_n "(cached) " >&6 +else + eval "$as_ac_Header=\$ac_header_preproc" +fi +ac_res=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + +fi +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + + +for ac_header in readline/readline.h readline/history.h +do +as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 +$as_echo_n "checking for $ac_header... " >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + $as_echo_n "(cached) " >&6 +fi +ac_res=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +else + # Is the header compilable? +{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5 +$as_echo_n "checking $ac_header usability... " >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include <$ac_header> +_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$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 + $as_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_header_compiler=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } + +# Is the header present? +{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5 +$as_echo_n "checking $ac_header presence... " >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <$ac_header> +_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi + +rm -f conftest.err conftest.$ac_ext +{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +## -------------------------------- ## +## Report this to rdt@cs.queensu.ca ## +## -------------------------------- ## +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 +$as_echo_n "checking for $ac_header... " >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + $as_echo_n "(cached) " >&6 +else + eval "$as_ac_Header=\$ac_header_preproc" +fi +ac_res=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + +fi +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + + +for ac_header in editline/readline.h histedit.h +do +as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 +$as_echo_n "checking for $ac_header... " >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + $as_echo_n "(cached) " >&6 +fi +ac_res=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +else + # Is the header compilable? +{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5 +$as_echo_n "checking $ac_header usability... " >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include <$ac_header> +_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$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 + $as_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_header_compiler=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } + +# Is the header present? +{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5 +$as_echo_n "checking $ac_header presence... " >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <$ac_header> +_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi + +rm -f conftest.err conftest.$ac_ext +{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +## -------------------------------- ## +## Report this to rdt@cs.queensu.ca ## +## -------------------------------- ## +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 +$as_echo_n "checking for $ac_header... " >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + $as_echo_n "(cached) " >&6 +else + eval "$as_ac_Header=\$ac_header_preproc" +fi +ac_res=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + +fi +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + + +# Checks for typedefs, structures, and compiler characteristics. +{ $as_echo "$as_me:$LINENO: checking for stdbool.h that conforms to C99" >&5 +$as_echo_n "checking for stdbool.h that conforms to C99... " >&6; } +if test "${ac_cv_header_stdbool_h+set}" = set; then + $as_echo_n "(cached) " >&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 +#ifndef bool + "error: bool is not defined" +#endif +#ifndef false + "error: false is not defined" +#endif +#if false + "error: false is not 0" +#endif +#ifndef true + "error: true is not defined" +#endif +#if true != 1 + "error: true is not 1" +#endif +#ifndef __bool_true_false_are_defined + "error: __bool_true_false_are_defined is not defined" +#endif + + struct s { _Bool s: 1; _Bool t; } s; + + char a[true == 1 ? 1 : -1]; + char b[false == 0 ? 1 : -1]; + char c[__bool_true_false_are_defined == 1 ? 1 : -1]; + char d[(bool) 0.5 == true ? 1 : -1]; + bool e = &s; + char f[(_Bool) 0.0 == false ? 1 : -1]; + char g[true]; + char h[sizeof (_Bool)]; + char i[sizeof s.t]; + enum { j = false, k = true, l = false * true, m = true * 256 }; + /* The following fails for + HP aC++/ANSI C B3910B A.05.55 [Dec 04 2003]. */ + _Bool n[m]; + char o[sizeof n == m * sizeof n[0] ? 1 : -1]; + char p[-1 - (_Bool) 0 < 0 && -1 - (bool) 0 < 0 ? 1 : -1]; +# if defined __xlc__ || defined __GNUC__ + /* Catch a bug in IBM AIX xlc compiler version 6.0.0.0 + reported by James Lemley on 2005-10-05; see + http://lists.gnu.org/archive/html/bug-coreutils/2005-10/msg00086.html + This test is not quite right, since xlc is allowed to + reject this program, as the initializer for xlcbug is + not one of the forms that C requires support for. + However, doing the test right would require a runtime + test, and that would make cross-compilation harder. + Let us hope that IBM fixes the xlc bug, and also adds + support for this kind of constant expression. In the + meantime, this test will reject xlc, which is OK, since + our stdbool.h substitute should suffice. We also test + this with GCC, where it should work, to detect more + quickly whether someone messes up the test in the + future. */ + char digs[] = "0123456789"; + int xlcbug = 1 / (&(digs + 5)[-2 + (bool) 1] == &digs[4] ? 1 : -1); +# endif + /* Catch a bug in an HP-UX C compiler. See + http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html + http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html + */ + _Bool q = true; + _Bool *pq = &q; + +int +main () +{ + + *pq |= q; + *pq |= ! q; + /* Refer to every declared value, to avoid compiler optimizations. */ + return (!a + !b + !c + !d + !e + !f + !g + !h + !i + !!j + !k + !!l + + !m + !n + !o + !p + !q + !pq); + + ; + 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$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 + $as_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_header_stdbool_h=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_header_stdbool_h=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_stdbool_h" >&5 +$as_echo "$ac_cv_header_stdbool_h" >&6; } +{ $as_echo "$as_me:$LINENO: checking for _Bool" >&5 +$as_echo_n "checking for _Bool... " >&6; } +if test "${ac_cv_type__Bool+set}" = set; then + $as_echo_n "(cached) " >&6 +else + ac_cv_type__Bool=no +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +if (sizeof (_Bool)) + return 0; + ; + 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$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 + $as_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 + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +if (sizeof ((_Bool))) + return 0; + ; + 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$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 + $as_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 + : +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_type__Bool=yes +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_type__Bool" >&5 +$as_echo "$ac_cv_type__Bool" >&6; } +if test "x$ac_cv_type__Bool" = x""yes; then + +cat >>confdefs.h <<_ACEOF +#define HAVE__BOOL 1 +_ACEOF + + +fi + +if test $ac_cv_header_stdbool_h = yes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_STDBOOL_H 1 +_ACEOF + +fi + +{ $as_echo "$as_me:$LINENO: checking for size_t" >&5 +$as_echo_n "checking for size_t... " >&6; } +if test "${ac_cv_type_size_t+set}" = set; then + $as_echo_n "(cached) " >&6 +else + ac_cv_type_size_t=no +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +if (sizeof (size_t)) + return 0; + ; + 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$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 + $as_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 + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +if (sizeof ((size_t))) + return 0; + ; + 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$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 + $as_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 + : +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_type_size_t=yes +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_size_t" >&5 +$as_echo "$ac_cv_type_size_t" >&6; } +if test "x$ac_cv_type_size_t" = x""yes; then + : +else + +cat >>confdefs.h <<_ACEOF +#define size_t unsigned int +_ACEOF + +fi + + + +# Checks for library functions. + +for ac_func in strstr +do +as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 +$as_echo_n "checking for $ac_func... " >&6; } +if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then + $as_echo_n "(cached) " >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef $ac_func + +/* 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 +char $ac_func (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_$ac_func || defined __stub___$ac_func +choke me +#endif + +int +main () +{ +return $ac_func (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$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 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + eval "$as_ac_var=yes" +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_var=no" +fi + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +ac_res=`eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +as_val=`eval 'as_val=${'$as_ac_var'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +fi +done + +{ $as_echo "$as_me:$LINENO: checking for error_at_line" >&5 +$as_echo_n "checking for error_at_line... " >&6; } +if test "${ac_cv_lib_error_at_line+set}" = set; then + $as_echo_n "(cached) " >&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 +int +main () +{ +error_at_line (0, 0, "", 0, "an error occurred"); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$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 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + ac_cv_lib_error_at_line=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_error_at_line=no +fi + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_error_at_line" >&5 +$as_echo "$ac_cv_lib_error_at_line" >&6; } +if test $ac_cv_lib_error_at_line = no; then + case " $LIBOBJS " in + *" error.$ac_objext "* ) ;; + *) LIBOBJS="$LIBOBJS error.$ac_objext" + ;; +esac + +fi + + +for ac_header in stdlib.h +do +as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 +$as_echo_n "checking for $ac_header... " >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + $as_echo_n "(cached) " >&6 +fi +ac_res=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +else + # Is the header compilable? +{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5 +$as_echo_n "checking $ac_header usability... " >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include <$ac_header> +_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$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 + $as_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_header_compiler=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } + +# Is the header present? +{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5 +$as_echo_n "checking $ac_header presence... " >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <$ac_header> +_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi + +rm -f conftest.err conftest.$ac_ext +{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + ( cat <<\_ASBOX +## -------------------------------- ## +## Report this to rdt@cs.queensu.ca ## +## -------------------------------- ## +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 +$as_echo_n "checking for $ac_header... " >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + $as_echo_n "(cached) " >&6 +else + eval "$as_ac_Header=\$ac_header_preproc" +fi +ac_res=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + +fi +as_val=`eval 'as_val=${'$as_ac_Header'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + +{ $as_echo "$as_me:$LINENO: checking for GNU libc compatible malloc" >&5 +$as_echo_n "checking for GNU libc compatible malloc... " >&6; } +if test "${ac_cv_func_malloc_0_nonnull+set}" = set; then + $as_echo_n "(cached) " >&6 +else + if test "$cross_compiling" = yes; then + ac_cv_func_malloc_0_nonnull=no +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#if defined STDC_HEADERS || defined HAVE_STDLIB_H +# include +#else +char *malloc (); +#endif + +int +main () +{ +return ! malloc (0); + ; + return 0; +} +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_func_malloc_0_nonnull=yes +else + $as_echo "$as_me: program exited with status $ac_status" >&5 +$as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +ac_cv_func_malloc_0_nonnull=no +fi +rm -rf conftest.dSYM +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi + + +fi +{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_malloc_0_nonnull" >&5 +$as_echo "$ac_cv_func_malloc_0_nonnull" >&6; } +if test $ac_cv_func_malloc_0_nonnull = yes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_MALLOC 1 +_ACEOF + +else + cat >>confdefs.h <<\_ACEOF +#define HAVE_MALLOC 0 +_ACEOF + + case " $LIBOBJS " in + *" malloc.$ac_objext "* ) ;; + *) LIBOBJS="$LIBOBJS malloc.$ac_objext" + ;; +esac + + +cat >>confdefs.h <<\_ACEOF +#define malloc rpl_malloc +_ACEOF + +fi + + + + +ac_config_files="$ac_config_files Makefile" + +cat >confcache <<\_ACEOF +# This file is a shell script that caches the results of configure +# tests run on this system so they can be shared between configure +# scripts and configure runs, see configure's option --config-cache. +# It is not useful on other systems. If it contains results you don't +# want to keep, you may remove or edit it. +# +# config.status only pays attention to the cache file if you give it +# the --recheck option to rerun configure. +# +# `ac_cv_env_foo' variables (set or unset) will be overridden when +# loading this file, other *unset* `ac_cv_foo' will be assigned the +# following values. + +_ACEOF + +# The following way of writing the cache mishandles newlines in values, +# but we know of no workaround that is simple, portable, and efficient. +# So, 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_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5 +$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( + *) $as_unset $ac_var ;; + esac ;; + esac + done + + (set) 2>&1 | + 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" + ;; #( + *) + # `set' quotes correctly as required by POSIX, so do not add quotes. + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) | + sed ' + /^ac_cv_env_/b end + t clear + :clear + s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ + t end + 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" && + { $as_echo "$as_me:$LINENO: updating cache $cache_file" >&5 +$as_echo "$as_me: updating cache $cache_file" >&6;} + cat confcache >$cache_file + else + { $as_echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5 +$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} + fi +fi +rm -f confcache + +test "x$prefix" = xNONE && prefix=$ac_default_prefix +# Let make expand exec_prefix. +test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' + +DEFS=-DHAVE_CONFIG_H + +ac_libobjs= +ac_ltlibobjs= +for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue + # 1. Remove the extension, and $U if already installed. + ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' + ac_i=`$as_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 + + + if test -n "$EXEEXT"; then + am__EXEEXT_TRUE= + am__EXEEXT_FALSE='#' +else + am__EXEEXT_TRUE='#' + am__EXEEXT_FALSE= +fi + +if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then + { { $as_echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +$as_echo "$as_me: error: conditional \"AMDEP\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then + { { $as_echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +$as_echo "$as_me: error: conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi + +: ${CONFIG_STATUS=./config.status} +ac_write_fail=0 +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files $CONFIG_STATUS" +{ $as_echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 +$as_echo "$as_me: creating $CONFIG_STATUS" >&6;} +cat >$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +#! $SHELL +# Generated by $as_me. +# Run this file to recreate the current configuration. +# Compiler output produced by configure, useful for debugging +# configure, is in config.log if it exists. + +debug=false +ac_cs_recheck=false +ac_cs_silent=false +SHELL=\${CONFIG_SHELL-$SHELL} +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## + +# 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=: + # Pre-4.2 versions of Zsh do 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 + + + + +# PATH needs CR +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +as_nl=' +' +export as_nl +# Printing a long string crashes Solaris 7 /usr/bin/printf. +as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo +if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='printf %s\n' + as_echo_n='printf %s' +else + if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then + as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' + as_echo_n='/usr/ucb/echo -n' + else + as_echo_body='eval expr "X$1" : "X\\(.*\\)"' + as_echo_n_body='eval + arg=$1; + case $arg in + *"$as_nl"*) + expr "X$arg" : "X\\(.*\\)$as_nl"; + arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; + esac; + expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" + ' + export as_echo_n_body + as_echo_n='sh -c $as_echo_n_body as_echo' + fi + export as_echo_body + as_echo='sh -c $as_echo_body as_echo' +fi + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + PATH_SEPARATOR=: + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { + (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || + PATH_SEPARATOR=';' + } +fi + +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + + +# 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.) +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 + $as_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. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# 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 || +$as_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 + 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 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 + # 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 + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\n.*// + ' >$as_me.lineno && + chmod +x "$as_me.lineno" || + { $as_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 sensitive to this). + . "./$as_me.lineno" + # Exit status is that of the last command. + exit +} + + +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 && + 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 2>/dev/null +fi +if (echo >conf$$.file) 2>/dev/null; then + if ln -s conf$$.file conf$$ 2>/dev/null; then + 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' + elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln + else + as_ln_s='cp -p' + fi +else + as_ln_s='cp -p' +fi +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 + +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="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + +exec 6>&1 + +# 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. +ac_log=" +This file was extended by prerex $as_me 6.5.4, which was +generated by GNU Autoconf 2.63. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES + CONFIG_HEADERS = $CONFIG_HEADERS + CONFIG_LINKS = $CONFIG_LINKS + CONFIG_COMMANDS = $CONFIG_COMMANDS + $ $0 $@ + +on `(hostname || uname -n) 2>/dev/null | sed 1q` +" + +_ACEOF + +case $ac_config_files in *" +"*) set x $ac_config_files; shift; ac_config_files=$*;; +esac + +case $ac_config_headers in *" +"*) set x $ac_config_headers; shift; ac_config_headers=$*;; +esac + + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# Files that config.status was made for. +config_files="$ac_config_files" +config_headers="$ac_config_headers" +config_commands="$ac_config_commands" + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +ac_cs_usage="\ +\`$as_me' instantiates files from templates according to the +current configuration. + +Usage: $0 [OPTION]... [FILE]... + + -h, --help print this help, then exit + -V, --version print version number and configuration settings, then exit + -q, --quiet, --silent + do not print progress messages + -d, --debug don't remove temporary files + --recheck update $as_me by reconfiguring in the same conditions + --file=FILE[:TEMPLATE] + instantiate the configuration file FILE + --header=FILE[:TEMPLATE] + instantiate the configuration header FILE + +Configuration files: +$config_files + +Configuration headers: +$config_headers + +Configuration commands: +$config_commands + +Report bugs to ." + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_version="\\ +prerex config.status 6.5.4 +configured by $0, generated by GNU Autoconf 2.63, + with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" + +Copyright (C) 2008 Free Software Foundation, Inc. +This config.status script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it." + +ac_pwd='$ac_pwd' +srcdir='$srcdir' +INSTALL='$INSTALL' +MKDIR_P='$MKDIR_P' +AWK='$AWK' +test -n "\$AWK" || AWK=awk +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# The default lists apply if the user does not specify any file. +ac_need_defaults=: +while test $# != 0 +do + case $1 in + --*=*) + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` + ac_shift=: + ;; + *) + ac_option=$1 + ac_optarg=$2 + ac_shift=shift + ;; + esac + + case $ac_option in + # Handling of the options. + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) + ac_cs_recheck=: ;; + --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) + $as_echo "$ac_cs_version"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + CONFIG_FILES="$CONFIG_FILES '$ac_optarg'" + ac_need_defaults=false;; + --header | --heade | --head | --hea ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + CONFIG_HEADERS="$CONFIG_HEADERS '$ac_optarg'" + ac_need_defaults=false;; + --he | --h) + # Conflict between --help and --header + { $as_echo "$as_me: error: ambiguous option: $1 +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; };; + --help | --hel | -h ) + $as_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. + -*) { $as_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_need_defaults=false ;; + + esac + shift +done + +ac_configure_extra_args= + +if $ac_cs_silent; then + exec 6>/dev/null + ac_configure_extra_args="$ac_configure_extra_args --silent" +fi + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +if \$ac_cs_recheck; then + set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion + shift + \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 + CONFIG_SHELL='$SHELL' + export CONFIG_SHELL + exec "\$@" +fi + +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +exec 5>>config.log +{ + echo + sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX +## Running $as_me. ## +_ASBOX + $as_echo "$ac_log" +} >&5 + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# +# INIT-COMMANDS +# +AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 + +# Handling of arguments. +for ac_config_target in $ac_config_targets +do + case $ac_config_target in + "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; + "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; + "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; + + *) { { $as_echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 +$as_echo "$as_me: error: invalid argument: $ac_config_target" >&2;} + { (exit 1); exit 1; }; };; + esac +done + + +# If the user did not use the arguments to specify the items to instantiate, +# then the envvar interface is used. Set only those that are not. +# We use the long form for the default assignment because of an extremely +# bizarre bug on SunOS 4.1.3. +if $ac_need_defaults; then + test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files + test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers + test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands +fi + +# 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 || +{ + 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. + +{ + tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && + test -n "$tmp" && test -d "$tmp" +} || +{ + tmp=./conf$$-$RANDOM + (umask 077 && mkdir "$tmp") +} || +{ + $as_echo "$as_me: cannot create a temporary directory in ." >&2 + { (exit 1); exit 1; } +} + +# Set up the scripts for CONFIG_FILES section. +# No need to generate them if there are no CONFIG_FILES. +# This happens for instance with `./config.status config.h'. +if test -n "$CONFIG_FILES"; then + + +ac_cr=' ' +ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` +if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then + ac_cs_awk_cr='\\r' +else + ac_cs_awk_cr=$ac_cr +fi + +echo 'BEGIN {' >"$tmp/subs1.awk" && +_ACEOF + + +{ + echo "cat >conf$$subs.awk <<_ACEOF" && + echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && + echo "_ACEOF" +} >conf$$subs.sh || + { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 +$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} + { (exit 1); exit 1; }; } +ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'` +ac_delim='%!_!# ' +for ac_last_try in false false false false false :; do + . ./conf$$subs.sh || + { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 +$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} + { (exit 1); exit 1; }; } + + ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` + if test $ac_delim_n = $ac_delim_num; then + break + elif $ac_last_try; then + { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 +$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} + { (exit 1); exit 1; }; } + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done +rm -f conf$$subs.sh + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +cat >>"\$tmp/subs1.awk" <<\\_ACAWK && +_ACEOF +sed -n ' +h +s/^/S["/; s/!.*/"]=/ +p +g +s/^[^!]*!// +:repl +t repl +s/'"$ac_delim"'$// +t delim +:nl +h +s/\(.\{148\}\).*/\1/ +t more1 +s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ +p +n +b repl +:more1 +s/["\\]/\\&/g; s/^/"/; s/$/"\\/ +p +g +s/.\{148\}// +t nl +:delim +h +s/\(.\{148\}\).*/\1/ +t more2 +s/["\\]/\\&/g; s/^/"/; s/$/"/ +p +b +:more2 +s/["\\]/\\&/g; s/^/"/; s/$/"\\/ +p +g +s/.\{148\}// +t delim +' >$CONFIG_STATUS || ac_write_fail=1 +rm -f conf$$subs.awk +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +_ACAWK +cat >>"\$tmp/subs1.awk" <<_ACAWK && + for (key in S) S_is_set[key] = 1 + FS = "" + +} +{ + line = $ 0 + nfields = split(line, field, "@") + substed = 0 + len = length(field[1]) + for (i = 2; i < nfields; i++) { + key = field[i] + keylen = length(key) + if (S_is_set[key]) { + value = S[key] + line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) + len += length(value) + length(field[++i]) + substed = 1 + } else + len += 1 + keylen + } + + print line +} + +_ACAWK +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then + sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" +else + cat +fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \ + || { { $as_echo "$as_me:$LINENO: error: could not setup config files machinery" >&5 +$as_echo "$as_me: error: could not setup config files machinery" >&2;} + { (exit 1); exit 1; }; } +_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 || ac_write_fail=1 +fi # test -n "$CONFIG_FILES" + +# Set up the scripts for CONFIG_HEADERS section. +# No need to generate them if there are no CONFIG_HEADERS. +# This happens for instance with `./config.status Makefile'. +if test -n "$CONFIG_HEADERS"; then +cat >"$tmp/defines.awk" <<\_ACAWK || +BEGIN { +_ACEOF + +# Transform confdefs.h into an awk script `defines.awk', embedded as +# here-document in config.status, that substitutes the proper values into +# config.h.in to produce config.h. + +# Create a delimiter string that does not exist in confdefs.h, to ease +# handling of long lines. +ac_delim='%!_!# ' +for ac_last_try in false false :; do + ac_t=`sed -n "/$ac_delim/p" confdefs.h` + if test -z "$ac_t"; then + break + elif $ac_last_try; then + { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_HEADERS" >&5 +$as_echo "$as_me: error: could not make $CONFIG_HEADERS" >&2;} + { (exit 1); exit 1; }; } + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done + +# For the awk script, D is an array of macro values keyed by name, +# likewise P contains macro parameters if any. Preserve backslash +# newline sequences. + +ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* +sed -n ' +s/.\{148\}/&'"$ac_delim"'/g +t rset +:rset +s/^[ ]*#[ ]*define[ ][ ]*/ / +t def +d +:def +s/\\$// +t bsnl +s/["\\]/\\&/g +s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ +D["\1"]=" \3"/p +s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p +d +:bsnl +s/["\\]/\\&/g +s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ +D["\1"]=" \3\\\\\\n"\\/p +t cont +s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p +t cont +d +:cont +n +s/.\{148\}/&'"$ac_delim"'/g +t clear +:clear +s/\\$// +t bsnlc +s/["\\]/\\&/g; s/^/"/; s/$/"/p +d +:bsnlc +s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p +b cont +' >$CONFIG_STATUS || ac_write_fail=1 + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 + for (key in D) D_is_set[key] = 1 + FS = "" +} +/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { + line = \$ 0 + split(line, arg, " ") + if (arg[1] == "#") { + defundef = arg[2] + mac1 = arg[3] + } else { + defundef = substr(arg[1], 2) + mac1 = arg[2] + } + split(mac1, mac2, "(") #) + macro = mac2[1] + prefix = substr(line, 1, index(line, defundef) - 1) + if (D_is_set[macro]) { + # Preserve the white space surrounding the "#". + print prefix "define", macro P[macro] D[macro] + next + } else { + # Replace #undef with comments. This is necessary, for example, + # in the case of _POSIX_SOURCE, which is predefined and required + # on some systems where configure will not decide to define it. + if (defundef == "undef") { + print "/*", prefix defundef, macro, "*/" + next + } + } +} +{ print } +_ACAWK +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 + { { $as_echo "$as_me:$LINENO: error: could not setup config headers machinery" >&5 +$as_echo "$as_me: error: could not setup config headers machinery" >&2;} + { (exit 1); exit 1; }; } +fi # test -n "$CONFIG_HEADERS" + + +eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS" +shift +for ac_tag +do + case $ac_tag in + :[FHLC]) ac_mode=$ac_tag; continue;; + esac + case $ac_mode$ac_tag in + :[FHL]*:*);; + :L* | :C*:*) { { $as_echo "$as_me:$LINENO: error: invalid tag $ac_tag" >&5 +$as_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 + + 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 || + { { $as_echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5 +$as_echo "$as_me: error: cannot find input file: $ac_f" >&2;} + { (exit 1); exit 1; }; };; + esac + case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; 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 '` + $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + `' by configure.' + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { $as_echo "$as_me:$LINENO: creating $ac_file" >&5 +$as_echo "$as_me: creating $ac_file" >&6;} + fi + # Neutralize special characters interpreted by sed in replacement strings. + case $configure_input in #( + *\&* | *\|* | *\\* ) + ac_sed_conf_input=`$as_echo "$configure_input" | + sed 's/[\\\\&|]/\\\\&/g'`;; #( + *) ac_sed_conf_input=$configure_input;; + esac + + case $ac_tag in + *:-:* | *:-) cat >"$tmp/stdin" \ + || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 +$as_echo "$as_me: error: could not create $ac_file" >&2;} + { (exit 1); exit 1; }; } ;; + esac + ;; + esac + + 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 || +$as_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=`$as_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 || +$as_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" || { { $as_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 +$as_echo "$as_me: error: cannot create directory $as_dir" >&2;} + { (exit 1); exit 1; }; }; } + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`$as_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 + .) # We are building in place. + ac_srcdir=. + 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 + 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_build_prefix$INSTALL ;; + esac + ac_MKDIR_P=$MKDIR_P + case $MKDIR_P in + [\\/$]* | ?:[\\/]* ) ;; + */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; + esac +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# 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= + +ac_sed_dataroot=' +/datarootdir/ { + p + q +} +/@datadir@/p +/@docdir@/p +/@infodir@/p +/@localedir@/p +/@mandir@/p +' +case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in +*datarootdir*) ac_datarootdir_seen=yes;; +*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) + { $as_echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 + 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 || ac_write_fail=1 +ac_sed_extra="$ac_vpsub +$extrasub +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +:t +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +s|@configure_input@|$ac_sed_conf_input|;t t +s&@top_builddir@&$ac_top_builddir_sub&;t t +s&@top_build_prefix@&$ac_top_build_prefix&;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 +s&@MKDIR_P@&$ac_MKDIR_P&;t t +$ac_datarootdir_hack +" +eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \ + || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 +$as_echo "$as_me: error: could not create $ac_file" >&2;} + { (exit 1); exit 1; }; } + +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"; } && + { $as_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 +$as_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;} + + 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 \ + || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 +$as_echo "$as_me: error: could not create $ac_file" >&2;} + { (exit 1); exit 1; }; } + ;; + :H) + # + # CONFIG_HEADER + # + if test x"$ac_file" != x-; then + { + $as_echo "/* $configure_input */" \ + && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" + } >"$tmp/config.h" \ + || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 +$as_echo "$as_me: error: could not create $ac_file" >&2;} + { (exit 1); exit 1; }; } + if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then + { $as_echo "$as_me:$LINENO: $ac_file is unchanged" >&5 +$as_echo "$as_me: $ac_file is unchanged" >&6;} + else + rm -f "$ac_file" + mv "$tmp/config.h" "$ac_file" \ + || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 +$as_echo "$as_me: error: could not create $ac_file" >&2;} + { (exit 1); exit 1; }; } + fi + else + $as_echo "/* $configure_input */" \ + && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \ + || { { $as_echo "$as_me:$LINENO: error: could not create -" >&5 +$as_echo "$as_me: error: could not create -" >&2;} + { (exit 1); exit 1; }; } + fi +# Compute "$ac_file"'s index in $config_headers. +_am_arg="$ac_file" +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $_am_arg | $_am_arg:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" || +$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$_am_arg" : 'X\(//\)[^/]' \| \ + X"$_am_arg" : 'X\(//\)$' \| \ + X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$_am_arg" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'`/stamp-h$_am_stamp_count + ;; + + :C) { $as_echo "$as_me:$LINENO: executing $ac_file commands" >&5 +$as_echo "$as_me: executing $ac_file commands" >&6;} + ;; + esac + + + case $ac_file$ac_mode in + "depfiles":C) test x"$AMDEP_TRUE" != x"" || { + # Autoconf 2.62 quotes --file arguments for eval, but not when files + # are listed without --file. Let's play safe and only enable the eval + # if we detect the quoting. + case $CONFIG_FILES in + *\'*) eval set x "$CONFIG_FILES" ;; + *) set x $CONFIG_FILES ;; + esac + shift + for mf + do + # Strip MF so we end up with the name of the file. + mf=`echo "$mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile or not. + # We used to match only the files named `Makefile.in', but + # some people rename them; so instead we look at the file content. + # Grep'ing the first line is not enough: some people post-process + # each Makefile.in and add a new line on top of each file to say so. + # Grep'ing the whole file is not good either: AIX grep has a line + # limit of 2048, but all sed's we know have understand at least 4000. + if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then + dirpart=`$as_dirname -- "$mf" || +$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$mf" : 'X\(//\)[^/]' \| \ + X"$mf" : 'X\(//\)$' \| \ + X"$mf" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$mf" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + else + continue + fi + # Extract the definition of DEPDIR, am__include, and am__quote + # from the Makefile without running `make'. + DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` + test -z "$DEPDIR" && continue + am__include=`sed -n 's/^am__include = //p' < "$mf"` + test -z "am__include" && continue + am__quote=`sed -n 's/^am__quote = //p' < "$mf"` + # When using ansi2knr, U may be empty or an underscore; expand it + U=`sed -n 's/^U = //p' < "$mf"` + # Find all dependency output files, they are included files with + # $(DEPDIR) in their names. We invoke sed twice because it is the + # simplest approach to changing $(DEPDIR) to its actual value in the + # expansion. + for file in `sed -n " + s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do + # Make sure the directory exists. + test -f "$dirpart/$file" && continue + fdir=`$as_dirname -- "$file" || +$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$file" : 'X\(//\)[^/]' \| \ + X"$file" : 'X\(//\)$' \| \ + X"$file" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + { as_dir=$dirpart/$fdir + 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=`$as_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 || +$as_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" || { { $as_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 +$as_echo "$as_me: error: cannot create directory $as_dir" >&2;} + { (exit 1); exit 1; }; }; } + # echo "creating $dirpart/$file" + echo '# dummy' > "$dirpart/$file" + done + done +} + ;; + + esac +done # for ac_tag + + +{ (exit 0); exit 0; } +_ACEOF +chmod +x $CONFIG_STATUS +ac_clean_files=$ac_clean_files_save + +test $ac_write_fail = 0 || + { { $as_echo "$as_me:$LINENO: error: write failure creating $CONFIG_STATUS" >&5 +$as_echo "$as_me: error: write failure creating $CONFIG_STATUS" >&2;} + { (exit 1); exit 1; }; } + + +# configure is writing to config.log, and then calls config.status. +# config.status does its own redirection, appending to config.log. +# Unfortunately, on DOS this fails, as config.log is still kept open +# by configure, so config.status won't be able to write to it; its +# output is simply discarded. So we exec the FD to /dev/null, +# effectively closing config.log, so it can be properly (re)opened and +# appended to by config.status. When coming back to configure, we +# need to make the FD available again. +if test "$no_create" != yes; then + ac_cs_success=: + ac_config_status_args= + test "$silent" = yes && + ac_config_status_args="$ac_config_status_args --quiet" + exec 5>/dev/null + $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false + exec 5>>config.log + # Use ||, not &&, to avoid exiting from the if with $? = 1, which + # would make configure fail if this is the last instruction. + $ac_cs_success || { (exit 1); exit 1; } +fi +if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then + { $as_echo "$as_me:$LINENO: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} +fi + diff -Nru prerex-6.5.3/configure.ac prerex-6.5.4/configure.ac --- prerex-6.5.3/configure.ac 1970-01-01 00:00:00.000000000 +0000 +++ prerex-6.5.4/configure.ac 2014-07-19 15:20:19.000000000 +0000 @@ -0,0 +1,40 @@ +# -*- Autoconf -*- +# Process this file with autoconf to produce a configure script. + +AC_PREREQ(2.63) +AC_INIT([prerex],[6.5.4],[rdt@cs.queensu.ca]) +AC_CONFIG_AUX_DIR([.]) +AM_INIT_AUTOMAKE +AC_CONFIG_HEADERS([config.h]) + +m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) + +# Checks for programs. +AC_PROG_CC +AM_PROG_CC_C_O + +# Checks for libraries. + +#PKG_CHECK_MODULES([LIBEDIT], [libedit], +# [AC_DEFINE([HAVE_LIBEDIT], [1], [Define if we have libedit])], +AC_CHECK_LIB([edit], [el_push], , + [AC_CHECK_LIB([readline], [readline], [], [AC_MSG_ERROR([libreadline or libedit is required!])])]) + +# Checks for header files. +AC_CHECK_HEADERS([limits.h stdlib.h string.h unistd.h]) +AC_CHECK_HEADERS([readline/readline.h readline/history.h]) +AC_CHECK_HEADERS([editline/readline.h histedit.h]) + + +# Checks for typedefs, structures, and compiler characteristics. +AC_HEADER_STDBOOL +AC_TYPE_SIZE_T + + +# Checks for library functions. +AC_CHECK_FUNCS([strstr]) +AC_FUNC_ERROR_AT_LINE +AC_FUNC_MALLOC + +AC_CONFIG_FILES([Makefile]) +AC_OUTPUT diff -Nru prerex-6.5.3/COPYING prerex-6.5.4/COPYING --- prerex-6.5.3/COPYING 1970-01-01 00:00:00.000000000 +0000 +++ prerex-6.5.4/COPYING 2010-06-25 16:17:56.000000000 +0000 @@ -0,0 +1,340 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License. diff -Nru prerex-6.5.3/debian/changelog prerex-6.5.4/debian/changelog --- prerex-6.5.3/debian/changelog 2014-07-20 14:29:38.000000000 +0000 +++ prerex-6.5.4/debian/changelog 2018-01-02 17:23:39.000000000 +0000 @@ -1,3 +1,25 @@ +prerex (6.5.4-1) unstable; urgency=medium + + * New upstream release + + We now only provide the readline utility. The vprerex binary package has + been forked off to its own source package, and texlive-pictures is now + providing our LaTeX package and documentation. + + Drop 01_libedit.diff: applied upstream + * Updated watch file to point to CTAN + * Added a gbp.conf + * Prerex only suggests vprerex now (Closes: #768074) + * Bump standards version to 4.1.3 + * Dropped menu files + * Make Vcs-* URLs secure + * Updated copyright file + * Drop MimeType field from desktop file: it makes no sense in our context + * Override desktop-entry-lacks-icon-entry for prerex: it has no icon + * Completely turn on hardening flags + * Use debhelper >= 11, compat to 11, and drop dependency on dh-autoreconf, + since it is automatically run under compat level >= 10. + + -- Ryan Kavanagh Tue, 02 Jan 2018 12:23:39 -0500 + prerex (6.5.3-1) unstable; urgency=medium * New upstream release diff -Nru prerex-6.5.3/debian/compat prerex-6.5.4/debian/compat --- prerex-6.5.3/debian/compat 2014-07-16 17:07:10.000000000 +0000 +++ prerex-6.5.4/debian/compat 2018-01-02 17:23:39.000000000 +0000 @@ -1 +1 @@ -9 +11 diff -Nru prerex-6.5.3/debian/control prerex-6.5.4/debian/control --- prerex-6.5.3/debian/control 2014-07-20 14:29:38.000000000 +0000 +++ prerex-6.5.4/debian/control 2018-01-02 17:23:39.000000000 +0000 @@ -2,27 +2,21 @@ Section: tex Priority: optional Maintainer: Ryan Kavanagh -Build-Depends: debhelper (>= 9.0.0) +Build-Depends: debhelper (>= 11) , dpkg-dev (>= 1.16.1~) - , dh-autoreconf - , libpoppler-qt4-dev , libncurses-dev , libedit-dev - , libqt4-dev , pkg-config - , tex-common -Standards-Version: 3.9.5 +Standards-Version: 4.1.3 Homepage: http://www.ctan.org/tex-archive/graphics/prerex -Vcs-Git: git://anonscm.debian.org/collab-maint/prerex.git -Vcs-Browser: http://anonscm.debian.org/gitweb/?p=collab-maint/prerex.git;a=summary +Vcs-Git: https://anonscm.debian.org/git/collab-maint/prerex.git +Vcs-Browser: https://anonscm.debian.org/cgit/collab-maint/prerex.git/ Package: prerex Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends}, - texlive-pictures, - texlive-generic-recommended, - texlive-latex-base -Recommends: vprerex + texlive-pictures (>> 2017.20171128-1) +Suggests: vprerex Description: course prerequisite chart editor for LaTeX/TikZ prerex is an editor for creating esthetically pleasing course prerequisite charts using the TikZ LaTeX package. @@ -34,27 +28,6 @@ . Course prerequisite charts allow students to easily determine which prerequisites, corequisites and recommended prerequisites they need for a - given course and their time slots. Course prerequisite charts also highlight - the courses required by a degree. - . - prerex is used by departments in several universities, including Queen's - University and Suffolk University. - -Package: vprerex -Architecture: any -Depends: ${shlibs:Depends}, ${misc:Depends}, - prerex, - xterm -Description: Qt interface to prerex, a course prerequisite chart editor - vprerex provides a Qt interface to prerex by integrating the prerex editor - with a PDF viewer. This allows conveying coordinates of course boxes, arrows - and background points back to prerex through the use of the clipboard. - . - prerex is an editor for creating esthetically pleasing course prerequisite - charts using the TikZ LaTeX package. - . - Course prerequisite charts allow students to easily determine which - prerequisites, corequisites and recommended prerequisites they need for a given course and their time slots. Course prerequisite charts also highlight the courses required by a degree. . diff -Nru prerex-6.5.3/debian/copyright prerex-6.5.4/debian/copyright --- prerex-6.5.3/debian/copyright 2014-07-20 14:29:38.000000000 +0000 +++ prerex-6.5.4/debian/copyright 2018-01-02 17:23:39.000000000 +0000 @@ -2,17 +2,21 @@ Ryan Kavanagh on Wed, 14 Sep 2011 08:31:45 2011 -0400 -It was downloaded from: +It was originally downloaded from: ftp://linus.cs.queensu.ca/prerex/ +It is currently downloaded from: + + https://ctan.org/tex-archive/graphics/prerex + Upstream Author: R. D. Tennent Copyright: - Copyright (C) 2006-2013 R. D. Tennent + Copyright (C) 2006-2017 R. D. Tennent License: @@ -32,16 +36,9 @@ On Debian systems, the complete text of the GNU General Public License version 2 can be found in "/usr/share/common-licenses/GPL-2". -The files vprerex-*/{main.cpp,{window,documentwidget}.{h,cpp}} are also - - Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies). - -The files prerex.{sty,1,5,7,tex}, README.prerex and chart.tex are distributed -under the LPPL Version 1.3c, included at the end of this file. - The Debian packaging is: - Copyright (C) 2011–2014 Ryan Kavanagh + Copyright (C) 2011–2017 Ryan Kavanagh 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 diff -Nru prerex-6.5.3/debian/gbp.conf prerex-6.5.4/debian/gbp.conf --- prerex-6.5.3/debian/gbp.conf 1970-01-01 00:00:00.000000000 +0000 +++ prerex-6.5.4/debian/gbp.conf 2018-01-02 17:23:39.000000000 +0000 @@ -0,0 +1,7 @@ +[DEFAULT] +upstream-branch = upstream/prerex +debian-branch = prerex +pristine-tar = True +sign-tags = True +upstream-tag = upstream/prerex/%(version)s +debian-tag = debian/prerex/%(version)s diff -Nru prerex-6.5.3/debian/patches/01_libedit.diff prerex-6.5.4/debian/patches/01_libedit.diff --- prerex-6.5.3/debian/patches/01_libedit.diff 2014-07-20 13:44:39.000000000 +0000 +++ prerex-6.5.4/debian/patches/01_libedit.diff 1970-01-01 00:00:00.000000000 +0000 @@ -1,23 +0,0 @@ -Description: Use system libedit instead of bundled libedit -Author: Ryan Kavanagh -Origin: vendor -Bug-Debian: http://bugs.debian.org/670893 -Forwarded: not-needed -Applied-Upstream: no -Reviewed-by: Ryan Kavanagh -Last-Update: 2012-05-06 ---- -This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ -Index: prerex/prerex-6.5.2/configure.ac -=================================================================== ---- prerex.orig/prerex-6.5.2/configure.ac 2014-07-20 15:06:32.000000000 +0200 -+++ prerex/prerex-6.5.2/configure.ac 2014-07-20 15:07:19.479437786 +0200 -@@ -16,7 +16,7 @@ - # Checks for libraries. - - AC_CHECK_LIB([edit], [el_push], [], -- AC_CHECK_LIB([readline], [readline], [], [AC_MSG_ERROR([libreadline or libedit is required!])])) -+ [AC_CHECK_LIB([readline], [readline], [], [AC_MSG_ERROR([libreadline or libedit is required!])])]) - - # Checks for header files. - AC_CHECK_HEADERS([limits.h stdlib.h string.h unistd.h]) diff -Nru prerex-6.5.3/debian/patches/series prerex-6.5.4/debian/patches/series --- prerex-6.5.3/debian/patches/series 2014-07-20 13:21:54.000000000 +0000 +++ prerex-6.5.4/debian/patches/series 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -01_libedit.diff diff -Nru prerex-6.5.3/debian/prerex.desktop prerex-6.5.4/debian/prerex.desktop --- prerex-6.5.3/debian/prerex.desktop 2014-07-20 14:29:38.000000000 +0000 +++ prerex-6.5.4/debian/prerex.desktop 2018-01-02 17:23:39.000000000 +0000 @@ -8,5 +8,4 @@ Terminal=true Type=Application Categories=Office;Chart;ConsoleOnly; -MimeType=text/x-tex; Keywords=diagram;tikz;latex; diff -Nru prerex-6.5.3/debian/prerex.dirs prerex-6.5.4/debian/prerex.dirs --- prerex-6.5.3/debian/prerex.dirs 2014-07-16 17:07:10.000000000 +0000 +++ prerex-6.5.4/debian/prerex.dirs 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -usr/bin -usr/share/doc/texmf/latex/prerex diff -Nru prerex-6.5.3/debian/prerex.doc-base prerex-6.5.4/debian/prerex.doc-base --- prerex-6.5.3/debian/prerex.doc-base 2014-07-16 17:07:10.000000000 +0000 +++ prerex-6.5.4/debian/prerex.doc-base 1970-01-01 00:00:00.000000000 +0000 @@ -1,11 +0,0 @@ -Document: prerex -Title: Prerex-Formatted Prerequisite Charts -Author: Bob Tennent -Abstract: - This document is intended to help a user who might want to create or edit - prerex-formatted prerequisite charts, but is finding the installation and - usage instructions in the readme and manual pages to be incomprehensible. -Section: Typesetting - -Format: pdf -Files: /usr/share/doc/texmf/latex/prerex/intro.pdf.gz diff -Nru prerex-6.5.3/debian/prerex.examples prerex-6.5.4/debian/prerex.examples --- prerex-6.5.3/debian/prerex.examples 2014-07-16 17:07:10.000000000 +0000 +++ prerex-6.5.4/debian/prerex.examples 1970-01-01 00:00:00.000000000 +0000 @@ -1,4 +0,0 @@ -chart.html -chart.pdf -chart.png -chart.tex diff -Nru prerex-6.5.3/debian/prerex.install prerex-6.5.4/debian/prerex.install --- prerex-6.5.3/debian/prerex.install 2014-07-16 17:07:10.000000000 +0000 +++ prerex-6.5.4/debian/prerex.install 2018-01-02 17:23:39.000000000 +0000 @@ -1,9 +1 @@ -prerex.sty usr/share/texmf/tex/misc/prerex -doc/intro.tex usr/share/doc/texmf/latex/prerex -doc/intro.pdf usr/share/doc/texmf/latex/prerex -doc/prerex.tex usr/share/doc/texmf/latex/prerex -doc/prerex.pdf usr/share/doc/texmf/latex/prerex -doc/introchart1.tex usr/share/doc/texmf/latex/prerex -doc/introchart2.tex usr/share/doc/texmf/latex/prerex -doc/introFonts.png usr/share/doc/texmf/latex/prerex debian/prerex.desktop usr/share/applications/ diff -Nru prerex-6.5.3/debian/prerex.links prerex-6.5.4/debian/prerex.links --- prerex-6.5.3/debian/prerex.links 2014-07-16 17:07:10.000000000 +0000 +++ prerex-6.5.4/debian/prerex.links 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -usr/share/doc/texmf/latex/prerex/intro.pdf usr/share/doc/prerex/info.pdf diff -Nru prerex-6.5.3/debian/prerex.lintian-overrides prerex-6.5.4/debian/prerex.lintian-overrides --- prerex-6.5.3/debian/prerex.lintian-overrides 1970-01-01 00:00:00.000000000 +0000 +++ prerex-6.5.4/debian/prerex.lintian-overrides 2018-01-02 17:23:39.000000000 +0000 @@ -0,0 +1 @@ +desktop-entry-lacks-icon-entry usr/share/applications/prerex.desktop diff -Nru prerex-6.5.3/debian/prerex.manpages prerex-6.5.4/debian/prerex.manpages --- prerex-6.5.3/debian/prerex.manpages 2014-07-16 17:07:10.000000000 +0000 +++ prerex-6.5.4/debian/prerex.manpages 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -doc/prerex.sty.7 diff -Nru prerex-6.5.3/debian/prerex.menu prerex-6.5.4/debian/prerex.menu --- prerex-6.5.3/debian/prerex.menu 2014-07-16 17:07:10.000000000 +0000 +++ prerex-6.5.4/debian/prerex.menu 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -?package(prerex):needs="text" section="Applications/Editors"\ - title="prerex" command="/usr/bin/prerex" diff -Nru prerex-6.5.3/debian/prerex.README.Debian prerex-6.5.4/debian/prerex.README.Debian --- prerex-6.5.3/debian/prerex.README.Debian 2014-07-16 17:07:10.000000000 +0000 +++ prerex-6.5.4/debian/prerex.README.Debian 1970-01-01 00:00:00.000000000 +0000 @@ -1,11 +0,0 @@ -prerex for Debian ------------------ - -Additional documentation for prerex.sty is installed under -/usr/share/texmf/doc/latex/prerex/ . It is accessible through the command - -% texdoc -l prerex - -and by browsing the directory. - - -- Ryan Kavanagh , Mon, 31 Oct 2011 12:40:00 -0400 diff -Nru prerex-6.5.3/debian/rules prerex-6.5.4/debian/rules --- prerex-6.5.3/debian/rules 2014-07-20 14:29:34.000000000 +0000 +++ prerex-6.5.4/debian/rules 2018-01-02 17:23:39.000000000 +0000 @@ -2,46 +2,15 @@ # Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 +export DEB_BUILD_MAINT_OPTIONS = hardening=+all DPKG_EXPORT_BUILDFLAGS = 1 include /usr/share/dpkg/buildflags.mk -VPREREX=$(shell find . -maxdepth 1 -type d -name 'vprerex*') -PREREX=$(shell find . -maxdepth 1 -type d -name 'prerex*') - %: - dh $@ --with autoreconf - -override_dh_autoreconf: - echo "$(PREREX)" > debian/autoreconf - dh_autoreconf - -override_dh_auto_configure: - dh_auto_configure -D$(PREREX) - dh_auto_configure -D$(VPREREX) -Sqmake_qt4 - -override_dh_auto_build: - dh_auto_build -D$(PREREX) - dh_auto_build -D$(VPREREX) + dh $@ override_dh_auto_install: - dh_auto_install -D$(PREREX) -- DESTDIR=$(CURDIR)/debian/prerex/ - # No install target for vprerex - install -m 755 $(CURDIR)/$(VPREREX)/vprerex \ - $(CURDIR)/debian/vprerex/usr/bin - dh_auto_install + dh_auto_install -- DESTDIR=$(CURDIR)/debian/prerex/ override_dh_installchangelogs: - dh_installchangelogs -pprerex $(PREREX)/ChangeLog - dh_installchangelogs -pvprerex $(VPREREX)/ChangeLog - -override_dh_autoreconf_clean: - dh_autoreconf_clean - rm -f debian/autoreconf - -override_dh_auto_clean: - # Files that clean misses - rm -fr $(PREREX)/.deps/ - dh_auto_clean -D$(PREREX) - # This might fail because Makefile might not yet exist. Ignore errors: - - dh_auto_clean -D$(VPREREX) - dh_auto_clean + dh_installchangelogs ChangeLog diff -Nru prerex-6.5.3/debian/vprerex.1 prerex-6.5.4/debian/vprerex.1 --- prerex-6.5.3/debian/vprerex.1 2014-07-16 17:16:18.000000000 +0000 +++ prerex-6.5.4/debian/vprerex.1 1970-01-01 00:00:00.000000000 +0000 @@ -1,101 +0,0 @@ -.TH VPREREX 1 2011-10-28 "vprerex-6.2" "" -.SH NAME -.BR vprerex -\- graphical front-end and viewer for the -.BR prerex (1) -prerequisite-chart editor -.SH SYNOPSIS -.BR vprerex -.IR basefile [ .tex ] -[ -.IR chartfile [ .tex ] -] -.PP -.BR vprerex -.IR file.pdf -.PP -.BR vprerex -.SH DESCRIPTION -.B vprerex -(visual prerex) is a GUI front-end and viewer for the -.BR prerex (1) -interactive editor -of prerequisite-chart descriptions in the -.BR prerex (5) -format. -The viewer may be used just as a minimalistic viewer of arbitrary PDF files but -supports editing of charts -generated using -.BR prerex.sty (7) -by allowing coordinates of course boxes, arrows, -and background points to be conveyed back to the -.BR prerex (1) -command-line using the clipboard. -.SH USAGE -If -.B vprerex -is invoked on a PDF file, it simply displays that file. -.PP -If the (first) argument -does -.I not -have the .pdf -suffix, it is assumed to be the base file for a LaTeX document -containing a prerequisite-chart description -in -.BR prerex (5) -format, to be edited using -.BR prerex (1). -If a -.I second -argument -is supplied, it is regarded as an included file containing -the specific chart environment to be edited. -.PP -If -.I no -arguments are supplied, a file-opening dialog -allows the user the specify the -.BR prerex (1) -base file -to be edited (or the PDF file to be viewed); if a separate chartfile is needed, -.BR vprerex (1) -must be invoked wth two arguments on the command line. -.PP -If the mouse hovers over a hyperlink in the PDF viewing window, the cursor shape will -change to a pointing finger and a tooltip will display the URI. -If the PDF file displayed contains -a chart generated using -.BR prerex.sty (7) -and the background coordinate grid has been enabled, -left-clicking the mouse on a course box, arrow mid-point, or background point -will load the relevant coordinates -into the X clipboard. -The cursor shape changes to a plus-sign to indicate -successful capture of the coordinates. -Middle-clicking the mouse at the -.BR prerex (1) -command-line will then paste those coordinates into a command being composed. -If the chart file is regenerated, -the updated document will be re-loaded. -.SH DEPENDENCIES -.B vprerex -is based on the Qt-4 library. It -calls -.BR xterm (1) -and -.BR prerex (1) -for the editing window and -uses -.BR poppler-qt4 -for rendering PDF files. -.SH AUTHOR -R. D. Tennent (rdt@cs.queensu.ca), adapted from David Boddie's PDFviewer, described in the QT Quarterly: -.B http://doc.trolltech.com/qq/QtQuarterly27.pdf. -.SH SEE ALSO -.BR prerex (1), -.BR prerex (5), -.BR prerex.sty (7), -and -.BR xterm (1). - diff -Nru prerex-6.5.3/debian/vprerex.desktop prerex-6.5.4/debian/vprerex.desktop --- prerex-6.5.3/debian/vprerex.desktop 2014-07-20 14:29:38.000000000 +0000 +++ prerex-6.5.4/debian/vprerex.desktop 1970-01-01 00:00:00.000000000 +0000 @@ -1,12 +0,0 @@ -[Desktop Entry] -Name=vprerex -GenericName=Prerequisite Chart Editor -GenericName[fr]=Éditeur de diagrammes de prérequis -Comment=Edit course prerequisite charts -Comment[fr]=Édite des diagrammes de prérequis de cours -Exec=vprerex -Terminal=false -Type=Application -Categories=Office;Chart;Viewer; -MimeType=text/x-tex;application/pdf; -Keywords=diagram;tikz;latex; diff -Nru prerex-6.5.3/debian/vprerex.dirs prerex-6.5.4/debian/vprerex.dirs --- prerex-6.5.3/debian/vprerex.dirs 2014-07-16 17:07:10.000000000 +0000 +++ prerex-6.5.4/debian/vprerex.dirs 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -usr/bin diff -Nru prerex-6.5.3/debian/vprerex.install prerex-6.5.4/debian/vprerex.install --- prerex-6.5.3/debian/vprerex.install 2014-07-16 17:07:10.000000000 +0000 +++ prerex-6.5.4/debian/vprerex.install 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -debian/vprerex.desktop usr/share/applications/ diff -Nru prerex-6.5.3/debian/vprerex.manpages prerex-6.5.4/debian/vprerex.manpages --- prerex-6.5.3/debian/vprerex.manpages 2014-07-16 17:07:10.000000000 +0000 +++ prerex-6.5.4/debian/vprerex.manpages 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -debian/vprerex.1 diff -Nru prerex-6.5.3/debian/vprerex.menu prerex-6.5.4/debian/vprerex.menu --- prerex-6.5.3/debian/vprerex.menu 2014-07-16 17:07:10.000000000 +0000 +++ prerex-6.5.4/debian/vprerex.menu 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -?package(vprerex):needs="X11" section="Applications/Editors"\ - title="vprerex" command="/usr/bin/vprerex" diff -Nru prerex-6.5.3/debian/watch prerex-6.5.4/debian/watch --- prerex-6.5.3/debian/watch 2014-07-16 17:07:10.000000000 +0000 +++ prerex-6.5.4/debian/watch 2018-01-02 17:23:39.000000000 +0000 @@ -1,2 +1,2 @@ version=3 -ftp://linus.cs.queensu.ca/prerex/prerex-(.*)\.tar\.gz +http://mirrors.ctan.org/graphics/prerex/doc/prerex-(.*)\.tar\.gz diff -Nru prerex-6.5.3/depcomp prerex-6.5.4/depcomp --- prerex-6.5.3/depcomp 1970-01-01 00:00:00.000000000 +0000 +++ prerex-6.5.4/depcomp 2010-06-25 16:17:56.000000000 +0000 @@ -0,0 +1,530 @@ +#! /bin/sh +# depcomp - compile a program generating dependencies as side-effects + +scriptversion=2005-07-09.11 + +# Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc. + +# 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, 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., 51 Franklin Street, Fifth Floor, Boston, MA +# 02110-1301, USA. + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# Originally written by Alexandre Oliva . + +case $1 in + '') + echo "$0: No command. Try \`$0 --help' for more information." 1>&2 + exit 1; + ;; + -h | --h*) + cat <<\EOF +Usage: depcomp [--help] [--version] PROGRAM [ARGS] + +Run PROGRAMS ARGS to compile a file, generating dependencies +as side-effects. + +Environment variables: + depmode Dependency tracking mode. + source Source file read by `PROGRAMS ARGS'. + object Object file output by `PROGRAMS ARGS'. + DEPDIR directory where to store dependencies. + depfile Dependency file to output. + tmpdepfile Temporary file to use when outputing dependencies. + libtool Whether libtool is used (yes/no). + +Report bugs to . +EOF + exit $? + ;; + -v | --v*) + echo "depcomp $scriptversion" + exit $? + ;; +esac + +if test -z "$depmode" || test -z "$source" || test -z "$object"; then + echo "depcomp: Variables source, object and depmode must be set" 1>&2 + exit 1 +fi + +# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po. +depfile=${depfile-`echo "$object" | + sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`} +tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} + +rm -f "$tmpdepfile" + +# Some modes work just like other modes, but use different flags. We +# parameterize here, but still list the modes in the big case below, +# to make depend.m4 easier to write. Note that we *cannot* use a case +# here, because this file can only contain one case statement. +if test "$depmode" = hp; then + # HP compiler uses -M and no extra arg. + gccflag=-M + depmode=gcc +fi + +if test "$depmode" = dashXmstdout; then + # This is just like dashmstdout with a different argument. + dashmflag=-xM + depmode=dashmstdout +fi + +case "$depmode" in +gcc3) +## gcc 3 implements dependency tracking that does exactly what +## we want. Yay! Note: for some reason libtool 1.4 doesn't like +## it if -MD -MP comes after the -MF stuff. Hmm. + "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + mv "$tmpdepfile" "$depfile" + ;; + +gcc) +## There are various ways to get dependency output from gcc. Here's +## why we pick this rather obscure method: +## - Don't want to use -MD because we'd like the dependencies to end +## up in a subdir. Having to rename by hand is ugly. +## (We might end up doing this anyway to support other compilers.) +## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like +## -MM, not -M (despite what the docs say). +## - Using -M directly means running the compiler twice (even worse +## than renaming). + if test -z "$gccflag"; then + gccflag=-MD, + fi + "$@" -Wp,"$gccflag$tmpdepfile" + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + echo "$object : \\" > "$depfile" + alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz +## The second -e expression handles DOS-style file names with drive letters. + sed -e 's/^[^:]*: / /' \ + -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" +## This next piece of magic avoids the `deleted header file' problem. +## The problem is that when a header file which appears in a .P file +## is deleted, the dependency causes make to die (because there is +## typically no way to rebuild the header). We avoid this by adding +## dummy dependencies for each header file. Too bad gcc doesn't do +## this for us directly. + tr ' ' ' +' < "$tmpdepfile" | +## Some versions of gcc put a space before the `:'. On the theory +## that the space means something, we add a space to the output as +## well. +## Some versions of the HPUX 10.20 sed can't process this invocation +## correctly. Breaking it into two sed invocations is a workaround. + sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +hp) + # This case exists only to let depend.m4 do its work. It works by + # looking at the text of this script. This case will never be run, + # since it is checked for above. + exit 1 + ;; + +sgi) + if test "$libtool" = yes; then + "$@" "-Wp,-MDupdate,$tmpdepfile" + else + "$@" -MDupdate "$tmpdepfile" + fi + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + + if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files + echo "$object : \\" > "$depfile" + + # Clip off the initial element (the dependent). Don't try to be + # clever and replace this with sed code, as IRIX sed won't handle + # lines with more than a fixed number of characters (4096 in + # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; + # the IRIX cc adds comments like `#:fec' to the end of the + # dependency line. + tr ' ' ' +' < "$tmpdepfile" \ + | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \ + tr ' +' ' ' >> $depfile + echo >> $depfile + + # The second pass generates a dummy entry for each header file. + tr ' ' ' +' < "$tmpdepfile" \ + | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ + >> $depfile + else + # The sourcefile does not contain any dependencies, so just + # store a dummy comment line, to avoid errors with the Makefile + # "include basename.Plo" scheme. + echo "#dummy" > "$depfile" + fi + rm -f "$tmpdepfile" + ;; + +aix) + # The C for AIX Compiler uses -M and outputs the dependencies + # in a .u file. In older versions, this file always lives in the + # current directory. Also, the AIX compiler puts `$object:' at the + # start of each line; $object doesn't have directory information. + # Version 6 uses the directory in both cases. + stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'` + tmpdepfile="$stripped.u" + if test "$libtool" = yes; then + "$@" -Wc,-M + else + "$@" -M + fi + stat=$? + + if test -f "$tmpdepfile"; then : + else + stripped=`echo "$stripped" | sed 's,^.*/,,'` + tmpdepfile="$stripped.u" + fi + + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + + if test -f "$tmpdepfile"; then + outname="$stripped.o" + # Each line is of the form `foo.o: dependent.h'. + # Do two passes, one to just change these to + # `$object: dependent.h' and one to simply `dependent.h:'. + sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile" + sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile" + else + # The sourcefile does not contain any dependencies, so just + # store a dummy comment line, to avoid errors with the Makefile + # "include basename.Plo" scheme. + echo "#dummy" > "$depfile" + fi + rm -f "$tmpdepfile" + ;; + +icc) + # Intel's C compiler understands `-MD -MF file'. However on + # icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c + # ICC 7.0 will fill foo.d with something like + # foo.o: sub/foo.c + # foo.o: sub/foo.h + # which is wrong. We want: + # sub/foo.o: sub/foo.c + # sub/foo.o: sub/foo.h + # sub/foo.c: + # sub/foo.h: + # ICC 7.1 will output + # foo.o: sub/foo.c sub/foo.h + # and will wrap long lines using \ : + # foo.o: sub/foo.c ... \ + # sub/foo.h ... \ + # ... + + "$@" -MD -MF "$tmpdepfile" + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + # Each line is of the form `foo.o: dependent.h', + # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'. + # Do two passes, one to just change these to + # `$object: dependent.h' and one to simply `dependent.h:'. + sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile" + # Some versions of the HPUX 10.20 sed can't process this invocation + # correctly. Breaking it into two sed invocations is a workaround. + sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" | + sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +tru64) + # The Tru64 compiler uses -MD to generate dependencies as a side + # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'. + # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put + # dependencies in `foo.d' instead, so we check for that too. + # Subdirectories are respected. + dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` + test "x$dir" = "x$object" && dir= + base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` + + if test "$libtool" = yes; then + # With Tru64 cc, shared objects can also be used to make a + # static library. This mecanism is used in libtool 1.4 series to + # handle both shared and static libraries in a single compilation. + # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d. + # + # With libtool 1.5 this exception was removed, and libtool now + # generates 2 separate objects for the 2 libraries. These two + # compilations output dependencies in in $dir.libs/$base.o.d and + # in $dir$base.o.d. We have to check for both files, because + # one of the two compilations can be disabled. We should prefer + # $dir$base.o.d over $dir.libs/$base.o.d because the latter is + # automatically cleaned when .libs/ is deleted, while ignoring + # the former would cause a distcleancheck panic. + tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4 + tmpdepfile2=$dir$base.o.d # libtool 1.5 + tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5 + tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504 + "$@" -Wc,-MD + else + tmpdepfile1=$dir$base.o.d + tmpdepfile2=$dir$base.d + tmpdepfile3=$dir$base.d + tmpdepfile4=$dir$base.d + "$@" -MD + fi + + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" + exit $stat + fi + + for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" + do + test -f "$tmpdepfile" && break + done + if test -f "$tmpdepfile"; then + sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" + # That's a tab and a space in the []. + sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" + else + echo "#dummy" > "$depfile" + fi + rm -f "$tmpdepfile" + ;; + +#nosideeffect) + # This comment above is used by automake to tell side-effect + # dependency tracking mechanisms from slower ones. + +dashmstdout) + # Important note: in order to support this mode, a compiler *must* + # always write the preprocessed file to stdout, regardless of -o. + "$@" || exit $? + + # Remove the call to Libtool. + if test "$libtool" = yes; then + while test $1 != '--mode=compile'; do + shift + done + shift + fi + + # Remove `-o $object'. + IFS=" " + for arg + do + case $arg in + -o) + shift + ;; + $object) + shift + ;; + *) + set fnord "$@" "$arg" + shift # fnord + shift # $arg + ;; + esac + done + + test -z "$dashmflag" && dashmflag=-M + # Require at least two characters before searching for `:' + # in the target name. This is to cope with DOS-style filenames: + # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise. + "$@" $dashmflag | + sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile" + rm -f "$depfile" + cat < "$tmpdepfile" > "$depfile" + tr ' ' ' +' < "$tmpdepfile" | \ +## Some versions of the HPUX 10.20 sed can't process this invocation +## correctly. Breaking it into two sed invocations is a workaround. + sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +dashXmstdout) + # This case only exists to satisfy depend.m4. It is never actually + # run, as this mode is specially recognized in the preamble. + exit 1 + ;; + +makedepend) + "$@" || exit $? + # Remove any Libtool call + if test "$libtool" = yes; then + while test $1 != '--mode=compile'; do + shift + done + shift + fi + # X makedepend + shift + cleared=no + for arg in "$@"; do + case $cleared in + no) + set ""; shift + cleared=yes ;; + esac + case "$arg" in + -D*|-I*) + set fnord "$@" "$arg"; shift ;; + # Strip any option that makedepend may not understand. Remove + # the object too, otherwise makedepend will parse it as a source file. + -*|$object) + ;; + *) + set fnord "$@" "$arg"; shift ;; + esac + done + obj_suffix="`echo $object | sed 's/^.*\././'`" + touch "$tmpdepfile" + ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" + rm -f "$depfile" + cat < "$tmpdepfile" > "$depfile" + sed '1,2d' "$tmpdepfile" | tr ' ' ' +' | \ +## Some versions of the HPUX 10.20 sed can't process this invocation +## correctly. Breaking it into two sed invocations is a workaround. + sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" "$tmpdepfile".bak + ;; + +cpp) + # Important note: in order to support this mode, a compiler *must* + # always write the preprocessed file to stdout. + "$@" || exit $? + + # Remove the call to Libtool. + if test "$libtool" = yes; then + while test $1 != '--mode=compile'; do + shift + done + shift + fi + + # Remove `-o $object'. + IFS=" " + for arg + do + case $arg in + -o) + shift + ;; + $object) + shift + ;; + *) + set fnord "$@" "$arg" + shift # fnord + shift # $arg + ;; + esac + done + + "$@" -E | + sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ + -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' | + sed '$ s: \\$::' > "$tmpdepfile" + rm -f "$depfile" + echo "$object : \\" > "$depfile" + cat < "$tmpdepfile" >> "$depfile" + sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +msvisualcpp) + # Important note: in order to support this mode, a compiler *must* + # always write the preprocessed file to stdout, regardless of -o, + # because we must use -o when running libtool. + "$@" || exit $? + IFS=" " + for arg + do + case "$arg" in + "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") + set fnord "$@" + shift + shift + ;; + *) + set fnord "$@" "$arg" + shift + shift + ;; + esac + done + "$@" -E | + sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile" + rm -f "$depfile" + echo "$object : \\" > "$depfile" + . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile" + echo " " >> "$depfile" + . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +none) + exec "$@" + ;; + +*) + echo "Unknown depmode $depmode" 1>&2 + exit 1 + ;; +esac + +exit 0 + +# Local Variables: +# mode: shell-script +# sh-indentation: 2 +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-end: "$" +# End: diff -Nru prerex-6.5.3/doc/introchart1.tex prerex-6.5.4/doc/introchart1.tex --- prerex-6.5.3/doc/introchart1.tex 2013-10-12 13:21:48.000000000 +0000 +++ prerex-6.5.4/doc/introchart1.tex 1970-01-01 00:00:00.000000000 +0000 @@ -1,62 +0,0 @@ -\begin{figure} -\small -\renewcommand{\bfdefault}{sb} -\renewcommand{\mddefault}{mb} -\setcounter{diagheight}{50} -\textwidth6.25in -\begin{chart} -\text 20,52:{\textsf{\textsc{\Large Computer Science}}} -\reqfullcourse 50,45:{1083}{Comput.\,Sci.\\Concepts}{TTh 10:00} -\reqhalfcourse 25,40:{1303}{Discrete\\Structures}{MWF 9:30} -\reqhalfcourse 30,30:{2813}{Computer\\Organiz.\,I}{MWF 8:30} - \prereq 25,40,30,30: - \prereq 50,45,30,30: -\reqhalfcourse 45,30:{2023}{Procedural\\Prog.\,Devel.}{MWF 2:30} - \prereq 50,45,45,30: -\reqhalfcourse 65,30:{2513}{Informat.\\Systems}{TTh 1:00} - \coreq 50,45,65,30: -\mini 10,26:{1083} -\reqhalfcourse 10,20:{2333}{Computab.\,\&\\Formal\,Lang.}{TTh 11:30} - \prereq 10,26,10,20: - \prereq 25,40,10,20: -\reqhalfcourse 45,20:{2013}{Software\\Engineer.\,I}{MWF 11:30} - \prereq 45,30,45,20: -\halfcourse 55,20:{2685}{\texttt{C++}\\Program.}{no} - \prereq 45,30,55,20: -\mini 21,16:{2013} -\reqhalfcourse 15,10:{3323}{Data\\Structures}{MWF 10:30} - \prereq 21,16,15,10: - \prereq 25,40,15,10: -\reqhalfcourse 25,10:{3813}{Comput.\\Organiz.\,II}{TTh 8:30} - \prereq 30,30,25,10: -\reqhalfcourse 35,10:{3413}{Operating\\Systems\,I}{MWF 9:30} - \recomm 45,20,35,10: - \prereq 30,30,35,10: -\halfcourse 45,10:{3013}{Software\\Engineer.\,II}{MWF 11:30} - \prereq 45,20,45,10: -\halfcourse 58,10:{3513}{Database\\Mngt.\,Sys.\,I}{MWF 8:30 pm} - \prereq 45,20,58,10: - \prereq 65,30,58,10: -\reqhalfcourse 70,10:{3503}{Sys.\,Anal.\\\&\,Design}{TTh 10:00} - \prereq 65,30,70,10: -\end{chart} -\begin{center} -\begin{minipage}{6.0in} -\begin{itemize}\sf -\item -A solid arrow \solidarrow\ indicates a required prerequisite, -a dotted arrow \dottedarrow\ -indicates a corequisite (to be taken before or concurrently), and a -dashed arrow \dashedarrow\ indicates a recommended prerequisite. -Core courses are in \boldbox\ boxes; -other courses (i.e.,~options or prerequisites) -are in \lightbox\ boxes. -\item Timetabling abbreviations: M, T, W, Th, F=Mon, Tue, Wed, Thur, Fri, resp.; eve=7:00--9:50 pm; no=not offered. -\end{itemize} -\end{minipage} -\end{center} -\renewcommand{\bfdefault}{b} -\renewcommand{\mddefault}{m} -\caption{A Prerex-Formatted Prerequisite Chart} -\label{chart} -\end{figure} diff -Nru prerex-6.5.3/doc/introchart2.tex prerex-6.5.4/doc/introchart2.tex --- prerex-6.5.3/doc/introchart2.tex 2013-10-12 13:21:48.000000000 +0000 +++ prerex-6.5.4/doc/introchart2.tex 1970-01-01 00:00:00.000000000 +0000 @@ -1,49 +0,0 @@ -\begin{figure} -\small -\renewcommand{\bfdefault}{sb} -\renewcommand{\mddefault}{mb} -\setcounter{diagheight}{50} -\textwidth6.25in -\begin{chart} -\grid -\text 20,52:{\textsf{\textsc{\Large Computer Science}}} -\reqfullcourse 50,45:{1083}{Comput.\,Sci.\\Concepts}{TTh 10:00} -\reqhalfcourse 25,40:{1303}{Discrete\\Structures}{MWF 9:30} -\reqhalfcourse 30,30:{2813}{Computer\\Organiz.\,I}{MWF 8:30} - \prereq 25,40,30,30: - \prereq 50,45,30,30: -\reqhalfcourse 45,30:{2023}{Procedural\\Prog.\,Devel.}{MWF 2:30} - \prereq 50,45,45,30: -\reqhalfcourse 65,30:{2513}{Informat.\\Systems}{TTh 1:00} - \coreq 50,45,65,30: -\mini 10,26:{1083} -\reqhalfcourse 10,20:{2333}{Computab.\,\&\\Formal\,Lang.}{TTh 11:30} - \prereq 10,26,10,20: - \prereq 25,40,10,20: -\reqhalfcourse 45,20:{2013}{Software\\Engineer.\,I}{MWF 11:30} - \prereq 45,30,45,20: -\halfcourse 55,20:{2685}{\texttt{C++}\\Program.}{no} - \prereq 45,30,55,20: -\mini 21,16:{2013} -\reqhalfcourse 15,10:{3323}{Data\\Structures}{MWF 10:30} - \prereq 21,16,15,10: - \prereq 25,40,15,10: -\reqhalfcourse 25,10:{3813}{Comput.\\Organiz.\,II}{TTh 8:30} - \prereq 30,30,25,10: -\reqhalfcourse 35,10:{3413}{Operating\\Systems\,I}{MWF 9:30} - \recomm 45,20,35,10: - \prereq 30,30,35,10: -\halfcourse 45,10:{3013}{Software\\Engineer.\,II}{MWF 11:30} - \prereq 45,20,45,10: -\halfcourse 58,10:{3513}{Database\\Mngt.\,Sys.\,I}{MWF 8:30 pm} - \prereq 45,20,58,10: - \prereq 65,30,58,10: -\reqhalfcourse 70,10:{3503}{Sys.\,Anal.\\\&\,Design}{TTh 10:00} - \prereq 65,30,70,10: -\end{chart} -\vspace*{6ex} -\renewcommand{\bfdefault}{b} -\renewcommand{\mddefault}{m} -\caption{A Prerequisite Chart with a Coordinate Grid} -\label{grid} -\end{figure} Binary files /tmp/tmp3xjM4j/fXuv32QhPv/prerex-6.5.3/doc/introFonts.png and /tmp/tmp3xjM4j/iWJ5Dg4lRy/prerex-6.5.4/doc/introFonts.png differ Binary files /tmp/tmp3xjM4j/fXuv32QhPv/prerex-6.5.3/doc/intro.pdf and /tmp/tmp3xjM4j/iWJ5Dg4lRy/prerex-6.5.4/doc/intro.pdf differ diff -Nru prerex-6.5.3/doc/intro.tex prerex-6.5.4/doc/intro.tex --- prerex-6.5.3/doc/intro.tex 2013-10-12 13:21:48.000000000 +0000 +++ prerex-6.5.4/doc/intro.tex 1970-01-01 00:00:00.000000000 +0000 @@ -1,885 +0,0 @@ -\documentclass[11pt]{article} -\usepackage[textwidth=6.5in,textheight=8.5in]{geometry} -\usepackage{cabin} -\listfiles -\usepackage{prerex} - -\renewcommand{\textfraction}{0.0} -\renewcommand{\topfraction}{1.00} -\renewcommand{\bottomfraction}{1.00} - -\usepackage[osf]{mathpazo} - -\definecolor{light}{gray}{0.5} -\definecolor{bg}{rgb}{0.99,0.96,0.90} - -\usepackage{graphicx} - -\def\LaTeX{\mbox{LaTeX}} -\def\TeX{TeX} -\def\MikTeX{\mbox{MikTeX}} - - -\newcommand{\myurl}[1]{\textcolor{blue}{\underline{\textcolor{black}{\url{#1}}}}} - -\title{Prerex-Formatted Prerequisite Charts\\[1ex]\Large An Introduction} -\date{\today} -\author{Bob Tennent\\School of Computing, Queen's University\\\texttt{rdt@cs.queensu.ca}} - -\begin{document} -\sloppy -\maketitle -\thispagestyle{empty} - -\tableofcontents - - -\section{Introduction} -This document is intended to help a user who might want to create or edit prerex-formatted -prerequisite charts, but is finding the installation and usage instructions in the \textsc{readme} -and manual pages to be incomprehensible. - -\section{Frequently Asked Questions} - - -\subsection{Prerequisite Charts} - -\subsubsection*{What is a prerequisite chart?} - -A prerequisite chart gives an attractive graphical presentation of courses in a -program (or set of related programs), organized by terms or years, linked -by pre- and co-requisite arrows, and, when possible, supplemented by -timetable information; Figure~\ref{chart} -on page~\pageref{chart} -is a small example. - -\input{introchart1} - -\subsubsection*{Who would use a prerequisite chart?} - -Prerequisite charts are useful to students selecting courses and planning their -programs, and to faculty and staff advising students and managing -curriculum development. - -\subsubsection*{The information is in calendars and on-line; why is a prerequisite chart needed?} - -Conventional sources of course, program and timetable information are -rarely in a user-friendly format. Faculty and staff advisors, being already -fairly familiar with their courses and programs, often do not appreciate -how inconvenient it is for students to access all the information they need -to make course choices. - -For example, program requirements are typically specified as lists of -course codes for required and optional courses; one must look elsewhere to -find the titles of the courses, the relations between them, their -prerequisites, and the timetabling information. - -As another example, a course description in a calendar typically specifies -what the prerequisite courses are, but hardly ever specifies which course -or courses the course is prerequisite to. This information may be very -important to a student, but to discover it, he or she must search through -all the subsequent course descriptions in the calendar. With a prerequisite -chart, it is evident at a glance. - -As a third example, consider a student who wants to know whether they can -defer a course till the following year without risk of timetable conflicts. -With conventional sources of information, such a question can be answered -only by doing an exhaustive search through both timetable and calendar for -a possible conflict. A prerequisite chart incorporating timetable data provides -the necessary information in a compact and usable form, and the question -can be answered immediately. - - -\subsubsection*{If prerequisite charts are so great, why doesn't every university department have them?} -Few academic departments have the resources to produce prerequisite charts. If -one searches on the web for "prerequisite chart" or "prerequisite diagram," -virtually all of the matches are from departments that one would -expect to have expertise in technical drawings. -Here are some of these: -\begin{itemize} -\item Queen's University, Electrical and Computer Engineering\footnote{% -\myurl{http://www.ece.queensu.ca/Current-Students/Undergraduate/files/Queens_ECE_prerequisite_graph_2011.pdf}} -\item University of Waterloo, Computer Science\footnote{% -\myurl{http://www.cs.uwaterloo.ca/current/courses/charts/majorPrereq.shtml}} -\item Georgia Tech, Electrical Engineering\footnote{% -\myurl{http://www.ece.gatech.edu/academics/undergrad/ee_prereq.html}} -\item Georgia State University, Computer Science\footnote{% -\myurl{http://www.cs.gsu.edu/sites/default/files/prereq.pdf}} -\item Iowa State University, Civil, Construction, \& Environmental Engineering\footnote{% -\myurl{http://www.ccee.iastate.edu/fileadmin/www.ccee.iastate.edu/academics/mechanical-prereq-0507.pdf}} -\item Kansas State University, Mathematics\footnote{% -\myurl{http://www.math.ksu.edu/courses/catalog/prereqcht.pdf}} -\item Carleton University, Engineering Physics\footnote{% -\myurl{http://www1.carleton.ca/engineering-design/ccms/wp-content/ccms-files/Engineering-Physics_Aug_19_11.pdf}} -\end{itemize} - -\subsection{Prerex-Formatted Prerequisite Charts} - -\subsubsection*{Where can I see prerex-formatted charts in use?} - -There are several charts for both specialized and multi-disciplinary programs -on-line here: \myurl{http://www.cs.queensu.ca/undergraduate/prerequisites}. - -\subsubsection*{What file formats are used for prerex-formatted charts?} - -The charts themselves are best distributed in the Portable Document -Format (PDF) defined by Adobe; PDFs are readable on any platform and in -most browsers using freely-available software (such as the Adobe Reader), -printable on any high-resolution printer, relatively compact, and scalable -to accommodate paper size, display resolution, or user preference. - -Charts can also be converted to Portable Network Graphics (PNG) -format for in-line use on a web page. PNG format is also relatively compact -and can be rendered directly by most web browsers. - -Prerex-formatted charts are produced by software that processes simple and convenient -text-based descriptions. These descriptions can be edited in any -text editor or in the \texttt{prerex} interactive editor discussed in Section~\ref{editor}. -The format of chart descriptions is documented -in Section~\ref{source}. - - -\subsubsection*{What software is needed to produce prerex-formatted prerequisite charts?} - -To process the description of a prerex-formatted chart, the following software is -essential: -\begin{itemize} -\item an up-to-date standard-conforming implementation of \LaTeX, a powerful -document processing system based on \TeX, a professional-quality typesetting -engine; see Section~\ref{installing}. -\item a few additional \LaTeX\ packages, such as \texttt{pgf}, that may not be included in a minimal \LaTeX\ installation; see Section~\ref{additional}; -\item a file \texttt{prerex.sty} of specialized \LaTeX\ definitions, -which is included in the prerex package -available at any repository -of -the Comprehensive TeX Archive Network (CTAN)\footnote{% -\myurl{http://www.ctan.org/}} -and in many \TeX\ distributions. -\end{itemize} -The following additional software is optional but recommended: -\begin{itemize} -\item a PDF viewer that -\begin{itemize} -\item can be configured to ``watch'' the PDF file so that it re-loads -automatically when this is updated, and -\item shows hyperlinks -in a ``tooltip'' when the mouse hovers over it, which is a convenient way to get -the coordinates of course boxes and arrows while editing the description; -\end{itemize} -see Section~\ref{PDF}. -\item suitable fonts; see Section~\ref{fonts}. -\item the \texttt{prerex} interactive editor for prerex-formatted charts; -see Section~\ref{editor}. -\item an integrated \LaTeX\ development environment; see Section~\ref{IDE}. -\end{itemize} - -\subsubsection*{Why couldn't I use a program like Visio\textsuperscript{\textregistered}\ or CorelDRAW\textsuperscript{\textregistered}\ to produce a prerequisite chart?} -You could, if you have such a program available, are very skilled in its -use, and won't be embarrassed -distributing a chart that looks amateurish. Look carefully at a prerex-formatted -chart and notice the following properties: -\begin{itemize} -\item Each course box is sized to just enclose the text within it, with - uniform standard margins. -\item Each arrow between courses is oriented from box centre to box centre, - rather than from/to standard "connection points" on the box edges. -\item The arrows are "clipped" by the course boxes, but the arrow heads abut - the target box exactly. -\end{itemize} -These desirable properties are not easily achieved using conventional -``do-it-yourself'' drawing software, no matter how ``user-friendly'' it -purports to be. -The prerex system provides complete flexibility as well as professional -quality: -\begin{itemize} -\item Text within a course box may be partitioned into regions with varying - characteristics. For example, the course code and the timetable - information on the first line of course boxes are in a smaller font - than the course name. The latter is centered and the former are left- - and right-justified, respectively. Arbitrary \LaTeX\ formatting can be used - for the text. -\item Any available Type 1 (Postscript) or TrueType format fonts may be used. - The professional-quality - typesetting engine takes advantage of kerns and ligatures in the fonts. -\item Line thickness for boxes may be varied; in the example diagram, heavier - boxes (and bold-face text) are used to indicate that a course is - "required" in the program, rather than an option. -\item Different styles of connectors can be used, for example to distinguish - prerequisites, co-requisites, and recommended prerequisites. -\item Various sizes or shapes of course boxes may be used, for example to - distinguish between half and full courses. -\item Graphic images such as logos can be imported. -\item Colours and hyperlinks to on-line course descriptions or calendars are - possible. -\end{itemize} -\subsubsection*{Wouldn't a commercial drafting service be able to produce a professional-looking prerequisite chart?} - -Possibly, but you will almost certainly have to do the global lay-out -yourself. A more serious long-term problem is that it is unlikely you will -be able to maintain the chart yourself using freely available software. You -will be "locked-in" to use the drafting service for every future -modification of the chart. - -If you want the quality and maintainability of a prerex-formatted chart but -don't think you can produce it yourself, you can outsource the production; -check out the following: -\myurl{http://www.prerex.com}. - -\subsubsection*{How can a prerex-formatted chart be edited?} -University programs and timetables -change frequently: courses are added or dropped, -pre- or co-requisites or timetabling of courses change, and so on. -Use of a separate text-based description file and intelligent processing -software make it easy to modify a prerex-formatted chart. If the text within a course -box is changed, the size of the box, the length of connectors to and from -that box, and the location of arrowheads into the box are all adjusted -automatically by the processing software. If a course box must be moved, it -is straightforward to edit the relevant instructions for arrows into or -from the box because the coordinates specified for an arrow are those of -the box centres, rather than those of the edges or corners of the boxes. -Small changes can be made with any text editor. - -For creating a prerex-formatted chart or for -making substantial changes to an existing chart, the \texttt{prerex} interactive chart editor -and the graphical ``wrapper'' \texttt{vprerex} are available; -see Section~\ref{editor}. -Editing a text file in either of these ways is far easier and -faster than trying to fiddle with an image using a mouse. - - -\section{Viewing and Printing a Prerequisite Chart} -\label{PDF} - -A prerequisite chart in Portable Document Format (PDF) can be ``opened'' for -viewing or printing in any PDF viewer. The most -popular of these is the -Adobe Reader.\footnote{\myurl{http://www.adobe.com/prodindex/acrobat/readstep2.html}} -However, the Adobe Reader is quite slow to load and somewhat inconvenient to use -if one wants to re-load the document after changing it (normally one must first close the document and -then re-open it). - -There are faster and more convenient alternatives to the Adobe Reader. One -that is -available for Windows, Macs, and Linux systems is a -ghostscript-based viewer called -GSview.\footnote{% -\myurl{http://www.cs.wisc.edu/~ghost/}} -For Windows or Linux: download and install the most recent version of -ghostscript for your platform,\footnote{% -\myurl{http://www.cs.wisc.edu/~ghost/doc/AFPL/index.htm}} -and then install the most recent version of -GSview for your platform.\footnote{% -\myurl{http://www.cs.wisc.edu/~ghost/gsview/index.htm}} -For Macs: just get -MacGSView.\footnote{% -\myurl{http://www.cs.wisc.edu/~ghost/macos/index.htm}} - -For Linux systems, other ghostscript-based viewers such as -\texttt{gv}\footnote{% -\myurl{http://wino.physik.uni-mainz.de/~plass/gv/}} -are available. Also, -\texttt{xpdf}\footnote{% -\myurl{http://www.foolabs.com/xpdf/home.html}} -is suitable for any X-window based systems, such as any version of Linux. -If Gnome or KDE libraries are installed, variants \texttt{gpdf}, \texttt{kghostview}, \texttt{evince}, and \texttt{kpdf} (now renamed \texttt{okular}) of these programs are available. -You may print a prerequisite chart from within any of these viewing applications. - -If you are \emph{editing} a prerequisite chart (using either a text editor on the -chart description or -the \texttt{prerex} editor), you will want to use a PDF viewer that -not only can be configured to ``watch'' the PDF file (so that it re-loads -automatically when this is updated), but also -shows hyperlinks -in a ``tooltip'' when the mouse hovers over it; this is a convenient way to get -the coordinates of course boxes and arrows while editing the description. -Recent versions of some of these viewing programs have the latter capability. -The \texttt{vprerex} ``wrapper'' for the \texttt{prerex} editor includes -a built-in \texttt{prerex}-enabled PDF viewer that makes it extremely easy to -transfer coordinates from the chart to the editor. - - -\section{Installing a Basic \LaTeX\ System} -\label{installing} - -To ``process'' a chart description, you will need to install an application -called \LaTeX, together with several auxiliary applications to convert the -output into Postscript and then PDF. - - -\LaTeX\ is a powerful document processor based on a professional-quality typesetting program called \TeX. The following web sites -will point you to as much information as you might want on \LaTeX\ and \TeX: -\begin{itemize} -\item \LaTeX\ Project home page\footnote{\myurl{http://www.latex-project.org}} -\item \TeX\ Users Group home page\footnote{\myurl{http://www.tug.org/}} -\item \TeX\ FAQ\footnote{\myurl{http://www.tex.ac.uk/cgi-bin/texfaq2html}} -\end{itemize} - -If you use Windows, -we suggest you install the ``basic'' version of -MiKTeX.\footnote{% -\myurl{http://www.miktex.org/setup.html}} -If you use Mac~OS~X, go to -the \emph{\TeX\ on Mac OS~X} site.\footnote{% -\myurl{http://www.rna.nl/tex.html}} -Unix and Linux users should install \texttt{texlive}.\footnote{% -\myurl{http://www.tug.org/texlive/}} - -The resulting installation will allow you to process simple \texttt{.tex} files. -However, you won't be able -to process the description of a prerex-formatted prerequisite chart until some necessary additional software is installed. - -\section{Additional \LaTeX\ Software} -\label{additional} - -To process descriptions of prerex-formatted charts, some additional packages -are needed. -The file \texttt{prerex.sty} fromthe \texttt{prerex} package is essential; -it should be stored -in the same folder as the \texttt{.tex} file to be processed -(or in the -local \verb|texmf| tree) so the \LaTeX\ system can find it. -Other add-ons that may be necessary are as follows: -\texttt{pgf}, -\texttt{tikz}, -\texttt{multido}, -\texttt{textcomp}, and -\texttt{xcolor}. -If you are using \MikTeX\ or \texttt{texlive}, these can be installed using the -package manager. -All of the packages are also available -for download from any CTAN\footnote{% -\myurl{http://www.ctan.org/}} repository. - -You are now ready to process the description for a chart. -Get a command-line -prompt, move to the folder with the chart description and issue the following -instruction: -\begin{verbatim} - pdflatex chart -\end{verbatim} -This operation will overwrite -any existing \verb|chart.pdf|, so you should first re-name -that file if you want to preserve it. - -If the \texttt{pdflatex} command isn't recognized, you -will have to -edit the -system executable-command path. -On a Unix-like system, adjust the value of \texttt{PATH}; on -Windows, click on \emph{Control~Panel} $\rightarrow$ \emph{System} $\rightarrow$ \emph{Advanced} $\rightarrow$ \emph{Environment~Variables}, -select \emph{Path} and click on \emph{Edit}; then append the appropriate -paths, -separated by semi-colons. For \MikTeX, the default path for commands is -\verb|C:\texmf\miktex\bin|. - - - -\section{Installing a \LaTeX\ Development Environment} -\label{IDE} -Most beginning -users will prefer -to use a graphical ``development environment'' which supports editing, processing and -previewing of documents, rather than the command-line interface. There are \emph{many} such applications; -one called \TeX Works is supported in both MiK\TeX\ and \TeX Live. - -\section{Fonts} -\label{fonts} - -Look carefully at the samples in Figure~\ref{samples} on page~\pageref{samples}. -\begin{figure} -\Huge -\begin{list}{}{}\item -\begin{tabular}{l} -{\fontfamily{ptm}\selectfont Times}\\ -{\fontfamily{pplj}\selectfont Palatino}\\ -{\fontfamily{cmss}\selectfont Computer Modern Sans}\\ -{\fontfamily{phv}\selectfont Helvetica} \\ -{\fontfamily{fos}\selectfont Open Sans} \\ -{\fontfamily{Cabin-TLF}\selectfont Cabin}\\ -{\fontfamily{QuattrocentoSans-TLF}\selectfont Quattrocento Sans}\\ -{\fontfamily{LinuxBiolinumT-TLF}\selectfont Linux Biolinum}\\ -{\fontfamily{uop}\selectfont Optima} -\end{tabular} -\end{list} -\caption{Typeface Samples} -\label{samples} -\end{figure} -Times and Palatino are \emph{serifed} typefaces; the serifs are the small projections -at the baselines, and sometimes at the tops, of characters. -Serifs improve the readability of \emph{long} texts. -The others -are \emph{sans serif} typefaces; this class of typefaces is more -appropriate for use in prerequisite charts where \emph{legibility} of fairly small and short textual fragments is of primary importance. - -There are several \emph{sans serif} options available for \LaTeX. -Computer Modern Sans is the default \emph{sans serif} font, -and Helvetica should also be available in every \LaTeX\ installation. -To get Helvetica (scaled down 20\%), use -\begin{verbatim} - \usepackage[scaled=0.8]{helvet} -\end{verbatim} - -The Open Sans family\footnote{% -\myurl{http://www.google.com/webfonts/specimen/Open+Sans}} -of fonts, designed by Steve Matteson of -Ascender, is supported for use in \LaTeX\ by the \texttt{opensans} package, -available from CTAN\footnote{% -\myurl{http://www.ctan.org/tex-archive/fonts/opensans}} -and in most distributions. -The Cabin\footnote{% -\myurl{http://www.google.com/webfonts/specimen/Cabin}} -and Quattrocento Sans\footnote{% -\myurl{http://www.google.com/webfonts/specimen/Quattrocento+Sans} -} -families of fonts, designed by Pablo Impallari, are supported for use -in \LaTeX\ by the \texttt{cabin} and \texttt{quattrocento} packages. -The chart in Figure~\ref{chart} on page~\pageref{chart} uses Cabin. -The Linux Biolinum fonts are the sans-serif -companions to the Linux Libertine family\footnote{% -\myurl{http://www.linuxlibertine.org/index.php?id=1&L=1}}, -designed by Philipp H. Poll, and are supported for use in \LaTeX\ by the -\texttt{libertine} package. - -Four URW-Classico fonts, a fairly good clone of Hermann Zapf's Optima, are available in a package -of 79~fonts in Type~1 format that may be legally downloaded for non-commercial use -from -Artifex\footnote{% -\myurl{http://www.artifex.com/downloads/}}. -The four Classico font files, renamed for use in \LaTeX, with the necessary support files and installation instructions are available -from CTAN\footnote{% -\myurl{ftp://tug.ctan.org/pub/tex-archive/nonfree/fonts/urw/classico.zip}}. -Note that the font files cannot be distributed commercially without a commercial license; please read the license in the archive -before re-distributing them. This restriction does not prevent you from distributing documents -that \emph{use} the fonts. - - -\section{Conversion to Portable Network Graphic (PNG) Format} - -Although PDF is currently the best available format for distributing -and printing charts, you may want to produce a raster-image version for -use on a web site. There are several conversion programs and services -available to do this. For example, the \verb|convert| tool of the -multi-platform \verb|ImageMagick|\footnote{% -\myurl{http://www.imagemagick.org/}} -package may be used as follows: -\begin{verbatim} - convert -density 125 -quality 100 chart.pdf chart.png -\end{verbatim} -The density parameter specifies the number of pixels per inch; if this is too small, the -image is of poor quality, and if it is too large, the image file is too big. -The quality parameter ensures maximal (loss-free) compression. -From version 5.0, \verb|prerex.sty| generates an auxiliary file -containing image-map data for the hyperlinked nodes in the chart; consult a -reference on the HTML language for an explanation of (client-side) image maps. - - -\section{Terminology and Coordinate System} -Before we discuss the \texttt{prerex} editor and the format -of ``source files'' (i.e.,~chart descriptions), we shall summarize the necessary terminology and coordinate -conventions. - -A prerequisite chart consists of a number of -\emph{course boxes}, -linked by -\emph{arrows}. -Courses are either -\emph{half} -or -\emph{full}, -and may be -\emph{required}. -Each course box can contain a course -\emph{code} -(upper left corner), -a course -\emph{title} -(lower half), -and -\emph{timetable} -information -(upper right corner). -An arrow can be either a \emph{prerequisite} (solid), -a \emph{co-requisite} (dotted), -or -\emph{recommended} (dashed). -When a conventional arrow would be inappropriate, it is possible to use -a -\emph{mini} -course ``box'' (consisting of just a course code) just above a target box. -A line (or paragraph) of text may be placed anywhere on the chart. - -A conventional two-dimensional -Cartesian coordinate system is used to specify the locations of -diagram elements. -The -origin (where -$x = 0$ -and -$y = 0$) -is at the lower-left corner of the diagram. - -The diagram height is configurable; the width is determined by -the values of the \LaTeX\ length -\verb|\textwidth| -and -an adjustable -\verb|\unit| -length, which defines the absolute value of a coordinate unit. -It is possible to put a coordinate grid with labelled axes -in the background of a chart. - -The coordinates of a -\emph{box,} -\emph{mini, -or -\emph{text-line}} -are those of its centre point. -An -\emph{arrow} -is described by the -coordinates of the centre points of its source and target boxes/minis/text-lines. - -\section{Chart Editing} -\label{editor} -The source code of \texttt{prerex}, an interactive (command-line) prerequisite-chart editor, is available at -CTAN repositories.\footnote{\myurl{http://www.ctan.org/tex-archive/graphics/prerex/}} -It should build on any \textsc{Unix}-like system with -suitable tools and libraries installed; for example, it can be compiled -on GNU/Linux, Solaris, the Cygwin\footnote{\myurl{http://www.cygwin.com/}} -platform on Windows, -and the Fink\footnote{\myurl{http://fink.sourceforge.net/}} platform -on OS~X. - -The editor supports add, remove, cut-and-paste, and edit operations -on course boxes, minis, text-lines, and arrows, and shifts of specified diagram elements or an entire diagram. -A summary of all -commands supported by \texttt{prerex} is given in Table~\ref{help} -on page~\pageref{help}. -Note that if a course box/mini/text-line is ``cut'' -and then ``pasted'' elsewhere, the target or source coordinates of arrows into or out of the source and target are -adjusted accordingly, and similarly if nodes are shifted or raised. To allow permutations of two or more -chart elements, the -editor maintains a ``stack'' of elements that have been cut but not yet pasted. -The notation -$x_0,y_0:x_1,y_1$ -denotes all the nodes (course boxes, minis, texts) in the rectangle whose northwest and southeast corners are at -coordinates -$x_0,y_0$ and $x_1,y_1$. -\begin{table} -\begin{center}\small -\begin{tabular}{|l|l|} -\hline - \multicolumn{1}{|c|}{\textbf{Command}} & \multicolumn{1}{|c|}{\textbf{Effect}} \\ -\hline\hline - -\verb\file> box x,y \ & [create and] edit course box at $x,y$\\ -\verb\file> mini x,y \ & [create and] edit mini course at $x,y$\\ -\verb\file> text x,y \ & [create and] edit text centered at $x,y$\\ -\verb\file> arrow x0,y0,x1,y1\ & [create and] edit arrow from $x0,y0$ to $x1,y1$\\ -\verb\file> cut x,y ... \ & (temporarily) remove box, mini, or text at $x,y$\\ -\verb\file> paste x,y \ & re-insert removed box, mini, or text at $x,y$\\ -\verb\file> delete [x,y | x0,y0,x1,y1 | x0,y0:x1,y1] ...\ & remove specified elements/arrows\\ -\verb\file> shift [-]x x0,y0[:x1,y1] ...\ & move [specified] elements $x$ units right [left]\\ -\verb\file> raise [-]y x0,y0[:x1,y1] ...\ & move [specified] elements $y$ units up [down]\\ -\verb\file> undo \ & undo the effect of the previous editing command\\ -\verb\file> write | ! \ & save to \verb\file\ and process (with \verb\pdflatex)\\\ -\verb\file> quit | exit | x | ^D\& turn off grid, save to \verb\file\, process, and exit\\ -\verb\file> !cmd \ & execute shell command \verb\cmd\, then reload\\ -\verb\file> Backup \ & copy \verb\file\ to \verb\.file\\\ -\verb\file> Restore \ & restore from \verb\.file\\\ -\verb\file> grid [y/n] \ & turn on/off coordinate grid background\\ -\verb\file> help | ? \ & print this summary\\ -\hline -\end{tabular} -\end{center} -\caption{\texttt{prerex} Command Summary (version 6.3)} -\label{help} -\end{table} - -The effects of -editing operations may be observed in a PDF -viewer. See the manual page \texttt{prerex(1)} for -more information. The \texttt{prerex} package at CTAN -also has the source files for -\texttt{vprerex} (visual \texttt{prerex}), a graphical ``wrapper'' for \texttt{prerex} -which incorporates a prerex-enabled PDF viewer. - - -For initial creation of a prerex-formatted chart -or making -substantial changes to the boxes and arrows of an existing prerex-formatted chart, it is more convenient -to use one of these programs than to edit the source file directly; however, -the chart editor has no access to other elements of a source file, such as -preamble declarations, headings, notes, logos, and so on. A conventional text editor or -\LaTeX\ development environment should be used for these. - -\section{Source Files} -\label{source} - -\subsection{Overall Structure} - -A \texttt{.tex} file is essentially text with interspersed -\LaTeX\ commands, much as a web-page description has text with Hypertext -Mark-up Language (HTML) tags interspersed. -Commands for \LaTeX\ can be recognized by the initial backslash character~``\verb|\|''. - -The first several lines make up the ``preamble'' -of the source file for a chart: -\begin{verbatim} - \documentclass{article} - \usepackage{prerex} - : -\end{verbatim} -This describes the kind of document to be processed (\texttt{article}, as opposed to -\texttt{book} or \texttt{report}) and -indicates a file of definitions to be used (\texttt{prerex.sty}). -The remaining lines of the preamble -specify such things as the page layout and the fonts to be used. - -The structure -\begin{verbatim} - \begin{document} - : - \end{document} -\end{verbatim} -contains the content of the document. -Typically, the first element of the content is a heading, contained -within a -formatting structure of the form -\begin{verbatim} - \begin{center} - : - \end{center} -\end{verbatim} -which specifies that each line of the material contained should be centered on the page. -The double-backslash command \verb|\\| indicates -a line break. - -After the heading comes the description of the chart itself: -\begin{verbatim} - \begin{chart} - : - \end{chart} -\end{verbatim} -Finally, there -will typically be some notes to explain the abbreviations and conventions -used in the chart. - -\subsection{Chart Instructions} - - -Table~\ref{instructions} -%on page~\pageref{instructions} -summarizes the formats of -the instructions defined by \texttt{prerex.sty}. -\begin{table} -\begin{center} -\renewcommand{\arraystretch}{1.3333} -\begin{tabular}{|l|} -\hline -\multicolumn{1}{|c|}{\textbf{Course Boxes and Text-Lines}} \\ -\hline -\verb|\halfcourse |$x,y$:\verb|{|\emph{course code}\verb|}{|\emph{course title}\verb|}{|\emph{timetable code}\verb|}| \\ -\verb|\fullcourse |$x,y$:\verb|{|\emph{course code}\verb|}{|\emph{course title}\verb|}{|\emph{timetable code}\verb|}| \\ -\verb|\reqhalfcourse |$x,y$:\verb|{|\emph{course code}\verb|}{|\emph{course title}\verb|}{|\emph{timetable code}\verb|}| \\ -\verb|\opthalfcourse |$x,y$:\verb|{|\emph{course code}\verb|}{|\emph{course title}\verb|}{|\emph{timetable code}\verb|}| \\ -\verb|\reqfullcourse |$x,y$:\verb|{|\emph{course code}\verb|}{|\emph{course title}\verb|}{|\emph{timetable code}\verb|}| \\ -\verb|\optfullcourse |$x,y$:\verb|{|\emph{course code}\verb|}{|\emph{course title}\verb|}{|\emph{timetable code}\verb|}| \\ -\verb|\halfcoursec | $x,y$ \verb|:{| \emph{course code} \verb|}{| \emph{course title} \verb|}{| \emph{timetable code} \verb|}| \verb|{| \emph{color} \verb|}| \\ -\verb|\reqhalfcoursec | $x,y$ \verb|:{| \emph{course code} \verb|}{| \emph{course title} \verb|}{| \emph{timetable code} \verb|}| \verb|{| \emph{color} \verb|}| \\ -\verb|\opthalfcoursec | $x,y$ \verb|:{| \emph{course code} \verb|}{| \emph{course title} \verb|}{| \emph{timetable code} \verb|}| \verb|{| \emph{color} \verb|}| \\ -\verb|\fullcoursec | $x,y$ \verb|:{| \emph{course code} \verb|}{| \emph{course title} \verb|}{| \emph{timetable code} \verb|}| \verb|{| \emph{color} \verb|}| \\ -\verb|\reqfullcoursec | $x,y$ \verb|:{| \emph{course code} \verb|}{| \emph{course title} \verb|}{| \emph{timetable code} \verb|}| \verb|{| \emph{color} \verb|}| \\ -\verb|\optfullcoursec | $x,y$ \verb|:{| \emph{course code} \verb|}{| \emph{course title} \verb|}{| \emph{timetable code} \verb|}| \verb|{| \emph{color} \verb|}| \\ -\verb|\mini |$x,y:$\verb|{|\emph{course code}\verb|}| \\ -\verb|\text |$x,y:$\verb|{|\emph{line of text}\verb|}| \\ -\hline -\multicolumn{1}{|c|}{\textbf{Arrows}} \\ -\hline -\verb|\prereq |$x_0, y_0, x_1, y_1$: \hfil -\verb|\prereqc |$x_0, y_0, x_1, y_1$; \emph{c}: \\ -\verb|\coreq |$x_0, y_0, x_1, y_1$: \hfil -\verb|\coreqc |$x_0, y_0, x_1, y_1$; \emph{c}: \\ -\verb|\recomm |$x_0, y_0, x_1, y_1$: \hfil -\verb|\recommc |$x_0, y_0, x_1, y_1$; \emph{c}: \\ -\hline -\multicolumn{1}{|c|}{\textbf{Coordinate Grid}} \\ -\hline -\verb|\grid| \\ -\hline -\multicolumn{1}{|c|}{\textbf{In-Line Instructions}} \\ -\hline -\verb|\solidarrow| \\ -\verb|\dottedarrow| \\ -\verb|\dashedarrow| \\ -\verb|\lightbox| \\ -\verb|\boldbox| \\ -\verb|\dottedbox| \\ -\hline -\end{tabular} -\renewcommand{\arraystretch}{1.0} -\end{center} -\caption{Instructions for \texttt{prerex}-Formatted Prerequisite Charts} -\label{instructions} -\end{table} - -The \verb\grid\ command creates -a light gray ``coordinate grid'' in the background of the chart. -Figure~\ref{grid} -on page~\pageref{grid} -shows the example chart of Figure~\ref{chart} with the coordinate -grid enabled. -\input{introchart2} -Note that the ``origin'' of the coordinate system (the point -with $x$-coordinate $0$ and $y$-coordinate $0$) is at the lower-left corner of the chart. - -The arrows produced by \verb\prereq\, \verb\coreq\, and \verb\recomm\ instructions -by default are slightly curved (except very short ones). It is possible to increase -or decrease the degree of curvature of a particular arrow by using instructions -\verb\prereqc\, \verb\coreqc\, or \verb\recommc\; the additional argument -specifies the degree of curvature: $0$ means no curvature, i.e.,~straight, -and to increase the curvature, use a larger number (up to $100$). -To change the default curvature for \emph{all} arrows, -see Section~\ref{config} on page~\pageref{config} below. - - -The ``in-line'' instructions create small examples of course boxes and arrows for use -in explanatory notes outside of the \verb\chart\ environment: -\begin{list}{}{}\item -\renewcommand{\arraystretch}{1.25} -\begin{tabular}{lc} -\verb|\solidarrow| & \solidarrow \\ -\verb|\dottedarrow| & \dottedarrow \\ -\verb|\dashedarrow| & \dashedarrow \\ -\verb|\lightbox| & \fontseries{sb}\selectfont\lightbox \\ -\verb|\boldbox| & \boldbox \\ -\verb|\dottedbox| & \fontseries{sb}\selectfont\dottedbox -\end{tabular} -\renewcommand{\arraystretch}{1.0} -\end{list} - - -See the manual pages -\texttt{prerex(5)} and \texttt{prerex.sty(7)} and the documentation for -\texttt{prerex.sty} for more information. - -\subsection{\LaTeX\ Input Conventions} - -The following are some of the input conventions for \LaTeX\ that you might want to know -about while editing -the source file for a prerex-formatted prerequisite chart. -\begin{itemize} -\item The characters \verb|# $ % & _ { } ~ ^ \ | are interpreted in special -ways by \LaTeX; to produce any of the first seven of these characters, you will have -to ``escape'' them with a backslash, as in, for example, \verb|\&|. -The \verb|\\| combination produces a line break; to produce a backslash, use \verb|\backslash|. The remaining two special characters, \verb|~| -and \verb|^|, may also be escaped with a backslash but produce accents; -for example, \verb|\^{u}| produces~\^{u}. - -\item To produce a space where \LaTeX\ would normally not do so, use \verb|\ |. -For example, \LaTeX\ normally interprets a period immediately after a word as the end of -a sentence and leaves a larger-than-usual space; to prevent the larger-than-usual space after an abbreviation -that finishes with a period, use \verb|\ | instead of a space, as in -\verb|Diff.\ Equations|. - -\item An unescaped \verb\%\ character signals the beginning of a comment; any characters following the -\verb\%\ to the end of that line are ignored by \LaTeX. - -\item To prevent a line break between two words, use a \verb\~\ -instead of a space between them, as in \verb\MATH~223\. - -\item To leave a smaller-than-usual space between two words, -use \verb|\,| instead of a space between them, as in \verb|MATH\,223|. - -\item To prevent hyphenation of some word, use the word as the argument to -an \verb|\mbox| command, as in \verb|\mbox{Robert}|. - - -\end{itemize} - -\subsection{Configuration} -\label{config} - -The following \LaTeX\ definitions are made in -\verb|prerex.sty| but may be re-defined by the -user in the chart source file: -\begin{list}{}{} -\item \verb|\newcommand{\DefaultCurvature}{20}| -\end{list} -where the argument should be in the range $0$--$100$; $0$ means no curvature. -\begin{list}{}{} -\item \verb|\newcommand{\CourseURL}[3]{#3.html}| -\end{list} -where the arguments supplied at the call are the $x$ and $y$ coordinates of -the box or mini, and the course code. -\begin{list}{}{} -\item \verb|\newcommand{\background}{yellow!15}| -\end{list} -which defines the default background color for course nodes. -\begin{list}{}{} -\item \verb|\setlength{\unit}{5.7816pt}| -\end{list} -which defines the absolute size of a coordinate unit; -this results in exactly 10 pixels per -coordinate unit if the chart is converted to an image at 125 dpi. -\begin{list}{}{} -\item \verb|\newcommand{\dpi}{125}| -\item \verb|\newcommand{\PixelsPerUnit}{10}| -\end{list} -These three commands have to re-defined together if the image-map data are to be correct. -\begin{list}{}{} -\item \verb|\setcounter{diagheight}{75}| -\end{list} -which is the -$y$-coordinate -of the top of the diagram (reduced to $65$ in landscape mode); -the nominal diagram width is -\verb|\textwidth|~$\div$~\verb|\unit|~$+ 10$. - -The following define the thicknesses of the three kinds of arrows -and the thickness of bold boxes: -\begin{list}{}{} -\item -\verb|\newcommand{\solidwidth}{0.5pt}| -\item -\verb|\newcommand{\dottedwidth}{0.8pt}| -\item -\verb|\newcommand{\dashedwidth}{0.8pt}| -\item -\verb|\newcommand{\boldwidth}{1.0pt}| -\end{list} - - -The following command is used to change to a smaller size for course codes, -timetable information, and mini-course codes: -\begin{list}{}{} -\item -\verb|\newcommand{\smallersize}{\relsize{-3}}| -\end{list} - -The following command defines the baseline adjustment for the stand-alone arrows and boxes; -this parameter is font-dependent. -\begin{list}{}{} -\item -\verb|\newcommand{\baselineAdj}{-0.5ex}| -\end{list} - -\newpage - - - -\section*{Bibliography} -\addcontentsline{toc}{section}{Bibliography} -\label{bibliography} - -The following \nocite{Kopka,Lamport,Mittelbach} are three recommended books on \LaTeX\@. -Many other books and tutorial materials are available; check out the web sites referenced -in Section~\ref{installing}. -\renewcommand{\refname}{} -\vspace*{-6ex} -\bibliography{manual} -\bibliographystyle{plain} - - - -\end{document} Binary files /tmp/tmp3xjM4j/fXuv32QhPv/prerex-6.5.3/doc/prerex.pdf and /tmp/tmp3xjM4j/iWJ5Dg4lRy/prerex-6.5.4/doc/prerex.pdf differ diff -Nru prerex-6.5.3/doc/prerex.sty.7 prerex-6.5.4/doc/prerex.sty.7 --- prerex-6.5.3/doc/prerex.sty.7 2013-10-12 13:21:48.000000000 +0000 +++ prerex-6.5.4/doc/prerex.sty.7 1970-01-01 00:00:00.000000000 +0000 @@ -1,467 +0,0 @@ -.TH PREREX.STY 7 2012-03-21 "prerex.sty-6.3" "" -.SH NAME -prerex.sty \- a LaTeX document style for prerequisite charts -.SH DESCRIPTION -.B prerex.sty -defines macros that -.B [pdf]latex -can use -to draw charts consisting of labelled course boxes linked by arrows -that represent pre- and co-requisite requirements. -In addition to the usual -.B [pdf]latex -output, auxiliary files will be generated containing image-map data for the -hyperlinked nodes in the diagram and a shell script to crop a PNG image generated from -a Postscript or PDF chart. -.P -If the source file satisfies the constraints -of the -.BR prerex (5) -format, a chart description may be edited using the -.BR prerex (1) -interactive editor (as well as any conventional text editor). -.SH TERMINOLOGY -A prerequisite chart consists of several -.I course boxes, -linked by -.I arrows. -Courses are either -.I half -or -.I full, -and may be -.I required -or -.I optional -(or neither). -Each course box can contain a course -.I code -(upper left corner), -a course -.I title -(lower half), -and -.I timetable -information -(upper right corner). -An arrow can be either a -.I prerequisite -(solid), -a -.I corequisite -(dotted), -or -.I recommended -(dashed). -When a conventional arrow would be inappropriate, it is possible to use -a -.I mini -course "box" (consisting of just a course code) just above a target box. -An arbitrary line of text may be placed anywhere on the chart. -.SH COORDINATE SYSTEM -A conventional two-dimensional -Cartesian coordinate system is used to specify the locations of -diagram elements. -The -origin (where -.I x = 0 -and -.IR "y = 0" ) -is at the lower-left corner of the diagram. -The diagram height is configurable; the width is determined by -the values of -.I \etextwidth -and -an adjustable -.I \eunit -length, which defines the absolute value of a coordinate unit. -It is possible to put a coordinate grid with labelled axes -in the background of a chart. -The coordinates of a -.I box, -.I mini, -or -.I text-line -are those of its centre point. -An -.I arrow -is described by the -coordinates of the centre points of its source and target boxes/minis/text-lines. -.SH USAGE -The command -.B \eusepackage{prerex} -should appear in the document preamble. -This will define a LaTeX environment -.IP -.BI \ebegin{chart} " ... " \eend{chart} -.LP -within which the following commands may be used -to produce course boxes, minis, text-lines, and arrows. -The order of commands is not significant except -that the commands for the source and target boxes of an arrow should -.I precede -the command for the arrow. -.SH COURSE BOXES -The commands producing course boxes have the following forms: -.IP -.BI \ehalfcourse " x,y" :{ code }{ title }{ timetable } -.IP -.BI \efullcourse " x,y" :{ code }{ title }{ timetable } -.IP -.BI \ereqhalfcourse " x,y" :{ code }{ title }{ timetable } -.IP -.BI \ereqfullcourse " x,y" :{ code }{ title }{ timetable } -.IP -.BI \eopthalfcourse " x,y" :{ code }{ title }{ timetable } -.IP -.BI \eoptfullcourse " x,y" :{ code }{ title }{ timetable } -.LP -where -.I x,y -are the coordinates of the -.I centerpoint -of the box, relative to the origin -of the coordinate system at the lower-left corner of the diagram. -The -.I code, -.I title, -and -.I timetable -arguments are arbitrary (well-bracketed) text, possibly with LaTeX markup. - -The following are similar but take an additional argument to specify the (non-default) -background color of the course box: -.IP -.BI \ehalfcoursec " x,y" :{ code }{ title }{ timetable }{ color } -.IP -.BI \efullcoursec " x,y" :{ code }{ title }{ timetable }{ color } -.IP -.BI \ereqhalfcoursec " x,y" :{ code }{ title }{ timetable }{ color } -.IP -.BI \ereqfullcoursec " x,y" :{ code }{ title }{ timetable }{ color } -.IP -.BI \eopthalfcoursec " x,y" :{ code }{ title }{ timetable }{ color } -.IP -.BI \eoptfullcoursec " x,y" :{ code }{ title }{ timetable }{ color } -.LP -.SH MINI COURSE BOXES AND TEXT LINES -A mini course "box" is produced by a command of the form -.IP -.BI \emini " x,y" :{ code } -.LP -The following instruction places a line of text centered at the coordinates: -.IP -.BI \etext " x,y" :{ text-line } -.LP -There are several differences between minis and text-lines. -The maximum length allowed for a course-code may be less than that -for a text-line. A sans-serif font and a reduced font size is used for a course-code. A course-code -may be hyperlinked but a text-line is not (except when the coordinate grid is on). -A -.B \eparbox -command -may be used in the -.I text-line -argument if more than one line is desired. -.SH ARROWS -Arrows between course boxes (or from a mini or text-line to a course box) are produced -by commands of the form -.IP -.BI \eprereq " x0,y0,x1,y1" : -.IP -.BI \ecoreq " x0,y0,x1,y1" : -.IP -.BI \erecomm " x0,y0,x1,y1" : -.LP -These produce, respectively, solid, dotted, and dashed arrows from -the course box (or mini or text-line) centered at coordinates -.I x0,y0 -to the course box centered at coordinates -.I x1,y1. -.PP -Arrows by default have a -non-zero curvature (unless they are very short). It is possible to override the default curvature -for a particular arrow by using -the instructions -.IP -.BI \eprereqc " x0,y0,x1,y1;c" : -.IP -.BI \ecoreqc " x0,y0,x1,y1;c" : -.IP -.BI \erecommc " x0,y0,x1,y1;c" : -.LP -where -.I c -is an integer in the range 0-100 specifying the desired curvature; for example, -.IR c= 0 -will produce a -.I straight -arrow. To change the default curvature, the user program may redefine the -.B \eDefaultCurvature -command. -.SH WEB LINKS -Course boxes (including minis) may be hyperlinked. -The default URL for course boxes is -.IR course-code .html -where -.I course-code -is -the -.I code -argument -of the course box. The URL scheme may be changed by the user -by re-defining the -.B \eCourseURL -command. -.SH COORDINATE GRID -The following command produces a coordinate grid, which is -useful for editing a diagram: -.IP -.B \egrid -.LP -The grid lines will be covered by course boxes and arrows. -The -.B \egrid -command -also redefines the -.B \eCourseURL -command -so that, -if the mouse cursor is placed over a box or mini in (some) PDF viewers, -the -.I coordinates -of the box, mini, or text-line will be displayed -as follows: -in the status bar in -.BR xpdf -and -.BR gpdf , -and in a "tooltip" in recent versions of -.BR kpdf " (now re-named" -.BR okular ), -.BR evince , -and -the Adobe Reader. -Similarly, the coordinates of the source and target boxes of arrows -are displayed if the mouse hovers over the mid-point of an arrow, -Such coordinate displays make it easier to edit chart descriptions. -When the grid is on, the mid-point of every arrow is highlighted by a -"bullet". -.PP -The -.B prerex -package at -.B http://www.ctan.org/tex-archive/graphics/prerex/ -has a patch for -.BR kpdf / okular (1) -to make it display URIs in tooltips and also capture coordinates of course boxes, arrows and -background points in the X selection clipboard (for pasting into a -command being composed at the -.BR prerex (1) -prompt). There is also a GUI frontend -.BR vprerex (1) -to the -.BR prerex (1) -editor which incorporates a minimalistic prerex-enabled PDF viewer. -.SH STAND-ALONE COMMANDS -The following commands may be used outside a -.B chart -environment, such as in the explanatory notes for a chart: -.IP -.B \esolidarrow -.IP -.B \edottedarrow -.IP -.B \edashedarrow -.IP -.B \elightbox -.IP -.B \eboldbox -.IP -.B \edashedbox -.LP -.SH CONFIGURATION -The following are defined by the style file but may be re-defined by the -user: -.IP -.BI \enewcommand{\eDefaultCurvature}{ 20 } -.LP -where the argument should be in the range 0-100; 0 means no curvature. -.IP -.BI \enewcommand{\eCourseURL}[3]{ #3.html } -.LP -where the arguments supplied at the call are the -.I x -and -.I y -coordinates of the box or mini and the course code. -.IP -.BI \enewcommand{\ebackground}{ LightYellow } -.LP -where -.I LightYellow -is defined by -.IP -.BI \edefinecolor{LightYellow}{ rgb }{ "1.0, 1.0, 0.878431" } -.IP -.BI \esetlength{\eunit}{ 5.7816pt } -.LP -which defines the absolute size of a coordinate unit; this yields 10 pixels per -coordinate unit if the chart is converted to an image at 125 dpi. -.IP -.BI \enewcommand{\edpi}{ 125 } -.IP -.BI \enewcommand{\ePixelsPerUnit}{ 10 } -.LP -These must be re-defined together if the image-map data are to be correct. -.IP -.BI \esetcounter{diagheight}{ 75 } -.LP -which is the -.IR y -coordinate -of the top of the diagram (reduced to 65 in landscape mode); -the nominal diagram width is -.IR \etextwidth " / " \eunit " + " 10. -.P -The following define the thicknesses of the three kinds of arrows, -and the thickness of bold boxes: -.IP -.BI \enewcommand{\esolidwidth}{ 0.5pt } -.IP -.BI \enewcommand{\edottedwidth}{ 0.8pt } -.IP -.BI \enewcommand{\edashedwidth}{ 0.5pt } -.IP -.BI \enewcommand{\eboldwidth}{ 1.0pt } -.LP -.P -The following command is used to change to a smaller size for course codes, -timetable information, and mini-course codes: -.IP -.BI \enewcommand{\esmallersize}{\erelsize{-3}} -.LP -.P -The following command defines the baseline adjustment for the stand-alone arrows and boxes; -this parameter is font-dependent. -.IP -.BI \enewcommand{\ebaselineAdj}{ -0.5ex } -.LP -.SH DEPEDENCIES -This implementation of -.B prerex.sty -uses -.B pgf -(version 1.18 or later) -with add-on package -.B tikz. -The following additional packages are used: -.B relsize, -.B calc, -.B ifthen, -.B multido, -.B textcomp, -.B zref-savepos -and -.B hyperref. -.I Either -.BR pdflatex (1) -.I or -.BR latex (1) -followed by -.BR dvips (1) -(and possibly -.BR ps2pdf (1)) -may be used. -.P -To convert a chart to a compact but reasonably high-quality image, it is suggested to use the -.BR convert (1) -tool of -.BR ImageMagick (1) -as follows: -.IP -.B convert -.I -density 125 chart.ps chart.png -.LP -or -.IP -.B convert -.I -density 125 chart.pdf chart.png -.LP -The density parameter specifies the number of pixels per inch; if this is too small, the -image is of poor quality, and if it is too large, the image file is too big. -By default, the shell script generated by -.B prerex.sty -crops the image at the southeast corner. -It is possible to use a PNG compression application such as -.BR optipng (1) -to reduce the file-size of the cropped image (without loss of quality). - -.SH IMPLEMENTATION DETAILS -.P -To improve the appearance, boxes are drawn with slightly rounded corners. The half-course -boxes are assigned a minimum height to give a more uniform appearance to horizontal -rows of such boxes. -The mini and text boxes have white frames and their -fill colour is white, which is assumed to be the background colour of the chart. -A text box is not normally hyperlinked; however, if the coordinate grid is -on, it is hyperlinked and its chart coordinates are encoded in the URI. -.P -Arrows with a small height and arrows whose -source and target points have equal x or y coordinates are always draw straight -(using a specialized and simpler macro) unless an explicit -non-zero curvature argument is provided. -If the coordinate grid is on, a hyperlink with the source and target coordinates is placed -at the mid-point of the arrow. -A wider background white edge is drawn below an arrow to -improve the appearance -of crossing arrows; the background also -ensures visibility of the -arrow when the coordinate grid is on. -A thin white arrow (with a visible -arrowhead) is drawn beneath the visible arrow to obtain a thin arrowhead. -.P -When the coordinate grid is drawn, the -.B CourseURL -command -is re-defined to pass node coordinates in URIs. Also, -two "anchor" hyperlinks are inserted at the southwest and northeast corners -of the diagram to allow prerex-enabled -PDF viewers to compute chart coordinates. -.P -To support HTML versions of charts, -.B prerex.sty -generates a script to crop a chart image at the southeast corner, allowing -descriptive notes below the chart to be treated as ordinary text. Also, -it generates image-map data for use with an HTML image map. To -obtain absolute page coordinates, the -.B zsavepos, -.B zposx -and -.B zposy -commands are used; the page coordinates are converted into pixel coordinates -for cropping and image-map use. -.SH LICENSE -.B prerex.sty -and this document may be distributed and/or modified under the -conditions of the LaTeX Project Public License. -.SH AUTHOR -R. D. Tennent (rdt@cs.queensu.ca) -.SH SEE ALSO -.BR ImageMagick (1), -.BR convert (1). -.BR dvips (1), -.BR evince (1), -.BR gpdf (1), -.BR kpdf (1), -.BR latex (1), -.BR okular (1), -.BR optipng (1), -.BR pdflatex (1), -.BR prerex (1), -.BR prerex (5), -.BR ps2pdf (1), -.BR tikz (1), -.BR tgf (1), -.BR vprerex (1), -and -.BR xpdf (1). diff -Nru prerex-6.5.3/doc/prerex.tex prerex-6.5.4/doc/prerex.tex --- prerex-6.5.3/doc/prerex.tex 2013-10-12 13:21:48.000000000 +0000 +++ prerex-6.5.4/doc/prerex.tex 1970-01-01 00:00:00.000000000 +0000 @@ -1,548 +0,0 @@ -\documentclass[10pt]{article} -\usepackage[osf]{mathpazo} -\usepackage[defaultsans,scale=0.82]{opensans} -\usepackage{fullpage} -\usepackage{prerex} -%\def\LaTeX{\mbox{LaTeX}} -\begin{document} - -\title{\textsf{prerex.sty}: Prerequisite Charts in \LaTeX\\{\large Version 6.3}} -\author{R. D. Tennent\\\texttt{rdt@cs.queensu.ca}} -\date{\today} -\maketitle -\thispagestyle{empty} - -\section{Description} -\texttt{prerex.sty} -defines macros that -[pdf]\LaTeX\ -can use -to draw charts consisting of labelled course boxes linked by arrows -that represent pre- and co-requisite requirements; see -the example chart in Figure~\ref{chart} on page~\pageref{chart}. -In addition to the usual -[pdf]\LaTeX\ -output, auxiliary files will be generated containing image-map data for the -hyperlinked nodes in the diagram and a shell script for cropping a PNG image -obtained from the [pdf]\LaTeX\ output. - -If the source file satisfies the constraints -of the -\textsf{prerex(5)} -format, a chart description may be edited using the -\textsf{prerex(1)} -interactive editor (as well as any conventional text editor). - -\begin{figure} -\renewcommand{\seriesdefault}{sb} -\setcounter{diagheight}{40} -\begin{chart}\sf -\text 15,40:{\textsf{\textbf{\Large Computer Science}}} -\reqfullcourse 50,35:{1083}{Comput.\,Sci.\\Concepts}{TTh 10:00} -\reqhalfcourse 25,30:{1303}{Discrete\\Structures}{MWF 9:30} -\reqhalfcourse 30,20:{2813}{Computer\\Organiz.\,I}{MWF 8:30} - \prereq 50,35,30,20: - \prereq 25,30,30,20: -\reqhalfcourse 45,20:{2023}{Procedural\\Prog.\,Devel.}{MWF 2:30} - \prereq 50,35,45,20: -\reqhalfcourse 65,20:{2513}{Informat.\\Systems}{TTh 1:00} - \coreq 50,35,65,20: -\mini 10,16:{1083} -\reqhalfcourse 10,10:{2333}{Computab.\,\&\\Formal\,Lang.}{TTh 11:30} - \prereq 25,30,10,10: - \prereq 10,16,10,10: -\reqhalfcourse 45,10:{2013}{Software\\Engineer.\,I}{MWF 11:30} - \prereq 45,20,45,10: -\halfcourse 55,10:{2685}{\texttt{C++}\\Program.}{no} - \prereq 45,20,55,10: -\mini 21,6:{2013} -\reqhalfcourse 15,0:{3323}{Data\\Structures}{MWF 10:30} - \prereq 25,30,15,0: - \prereq 21,6,15,0: -\reqhalfcourse 25,0:{3813}{Comput.\\Organiz.\,II}{TTh 8:30} - \prereq 30,20,25,0: -\reqhalfcourse 35,0:{3413}{Operating\\Systems\,I}{MWF 9:30} - \prereq 30,20,35,0: - \recomm 45,10,35,0: -\halfcourse 45,0:{3013}{Software\\Engineer.\,II}{MWF 11:30} - \prereq 45,10,45,0: -\halfcourse 58,0:{3513}{Database\\Mngt.\,Sys.\,I}{MWF 8:30 pm} - \prereq 65,20,58,0: - \prereq 45,10,58,0: -\reqhalfcourse 70,0:{3503}{Sys.\,Anal.\\\&\,Design}{TTh 10:00} - \prereq 65,20,70,0: -\end{chart} - -\paragraph{Notes} -\begin{itemize} -\item -A solid arrow \solidarrow\ indicates a required prerequisite, -a dotted arrow \dottedarrow\ -indicates a corequisite (to be taken before or concurrently), and a -dashed arrow \dashedarrow\ indicates a recommended prerequisite. -Core courses are in \boldbox\ boxes; -other courses (i.e.,~options or prerequisites) -are in \lightbox\ boxes. -\item Timetable abbreviations: M, T, W, Th, F$=$Mon, Tue, Wed, Thur, Fri, resp.; no$=$not offered. -\item \dots -\end{itemize} -\caption{A Prerequisite Chart} -\label{chart} -\end{figure} -\section{Terminology} -A prerequisite chart consists of a number of -\emph{course boxes}, -linked by -\emph{arrows}. -Courses are either -\emph{half} -or -\emph{full}, -and may be -\emph{required} or \emph{optional} (or neither). -Each course box can contain a course -\emph{code} -(upper left corner), -a course -\emph{title} -(lower half), -and -\emph{timetable} -information -(upper right corner). -An arrow can be either a \emph{prerequisite} (solid), -a \emph{corequisite} (dotted), -or -\emph{recommended} (dashed). -When a conventional arrow would be inappropriate, it is possible to use -a -\emph{mini} -course ``box'' (consisting of just a course code) just above a target box. -A line of text may be placed anywhere on the chart. -\section{Coordinate System} -A conventional two-dimensional -Cartesian coordinate system is used to specify the locations of -diagram elements. -The -origin (where -$x = 0$ -and -$y = 0$) -is at the lower-left corner of the diagram. -The diagram height is configurable; the width is determined by -the values of -\verb|\textwidth| -and -an adjustable -\verb|\unit| -length, which defines the absolute value of a coordinate unit. -It is possible to put a coordinate grid with labelled axes -in the background of a chart. -The coordinates of a -\emph{box,} -\emph{mini,} -or -\emph{text-line} -are those of its centre point. -An -\emph{arrow} -is described by the -coordinates of the centre points of its source and target boxes/minis/text-lines. - - - -\section{Usage} -The command -\verb|\usepackage{prerex}| -should appear in the document preamble. -This will define a \LaTeX\ environment -\begin{list}{}{} -\item \verb|\begin{chart}|\quad$\cdots$\quad \verb|\end{chart}| -\end{list} -within which the commands described in the following sub-sections may be used -to produce course boxes, minis, text-lines, and arrows. -The order of commands is not significant except -that the commands for the source and target boxes of an arrow should -precede -the command for the arrow, and the \verb|\grid| command, if present, should precede -other chart commands. - -\subsection{Course Boxes} -The commands producing course boxes have the following forms: -\begin{list}{}{} -\item \verb|\halfcourse | $x,y$ \verb|:{| \emph{code} \verb|}{| \emph{title} \verb|}{| \emph{timetable} \verb|}| -\item \verb|\reqhalfcourse | $x,y$ \verb|:{| \emph{code} \verb|}{| \emph{title} \verb|}{| \emph{timetable} \verb|}| -\item \verb|\opthalfcourse | $x,y$ \verb|:{| \emph{code} \verb|}{| \emph{title} \verb|}{| \emph{timetable} \verb|}| -\item \verb|\fullcourse | $x,y$ \verb|:{| \emph{code} \verb|}{| \emph{title} \verb|}{| \emph{timetable} \verb|}| -\item \verb|\reqfullcourse | $x,y$ \verb|:{| \emph{code} \verb|}{| \emph{title} \verb|}{| \emph{timetable} \verb|}| -\item \verb|\optfullcourse | $x,y$ \verb|:{| \emph{code} \verb|}{| \emph{title} \verb|}{| \emph{timetable} \verb|}| -\end{list} -where -$x,y$ -are the coordinates of the -centerpoint -of the box, relative to the origin -of the coordinate system at the lower-left corner of the diagram. -The -\emph{code}, -\emph{title}, -and -\emph{timetable} -arguments are arbitrary (well-bracketed) text, possibly with \LaTeX\ markup. - -The following are similar but take an additional argument to specify -the (non-default) background color of the course box: -\begin{list}{}{} -\item \verb|\halfcoursec | $x,y$ \verb|:{| \emph{code} \verb|}{| \emph{title} \verb|}{| \emph{timetable} \verb|}| \verb|{| \emph{color} \verb|}| -\item \verb|\reqhalfcoursec | $x,y$ \verb|:{| \emph{code} \verb|}{| \emph{title} \verb|}{| \emph{timetable} \verb|}| \verb|{| \emph{color} \verb|}| -\item \verb|\opthalfcoursec | $x,y$ \verb|:{| \emph{code} \verb|}{| \emph{title} \verb|}{| \emph{timetable} \verb|}| \verb|{| \emph{color} \verb|}| -\item \verb|\fullcoursec | $x,y$ \verb|:{| \emph{code} \verb|}{| \emph{title} \verb|}{| \emph{timetable} \verb|}| \verb|{| \emph{color} \verb|}| -\item \verb|\reqfullcoursec | $x,y$ \verb|:{| \emph{code} \verb|}{| \emph{title} \verb|}{| \emph{timetable} \verb|}| \verb|{| \emph{color} \verb|}| -\item \verb|\optfullcoursec | $x,y$ \verb|:{| \emph{code} \verb|}{| \emph{title} \verb|}{| \emph{timetable} \verb|}| \verb|{| \emph{color} \verb|}| -\end{list} - -\subsection{Mini Course Boxes and Text-Lines} -A mini course ``box'' is produced by a command of the form -\begin{list}{}{} -\item \verb|\mini| $x,y$ \verb|:{| \emph{code} \verb|}| -\end{list} -A text-line is produced by a command of the form -\begin{list}{}{} -\item \verb|\text| $x,y$ \verb|:{| \emph{line of text} \verb|}| -\end{list} -There are several differences between minis and text-lines. -The maximum length allowed for a course-code may be less than that -for a text-line. A sans-serif font and a reduced font size is -used for a course-code. A course-code -may be hyperlinked but a text-line is not (except when the coordinate grid is on). -A \verb|\parbox| command may be used if more than one line is desired. - - -\subsection{Arrows} -Arrows between course boxes (or minis or text-lines) are produced -by commands of the form -\begin{list}{}{} -\item \verb|\prereq| $ x_0,y_0,x_1,y_1$\verb|:| -\item \verb|\coreq| $ x_0,y_0,x_1,y_1$\verb|:| -\item \verb|\recomm| $ x_0,y_0,x_1,y_1$\verb|:| -\end{list} -These produce, respectively, solid, dotted, and dashed arrows from -the course box (or mini or text-line) centered at coordinates -$x_0,y_0$ -to the entity centered at coordinates -$x_1,y_1$. - -Arrows by default have a -non-zero curvature (unless they are very short). It is possible to override the default curvature -for a particular arrow by using -the instructions -\begin{list}{}{} -\item \verb|\prereqc| $ x_0,y_0,x_1,y_1;c$\verb|:| -\item \verb|\coreqc| $ x_0,y_0,x_1,y_1;c$\verb|:| -\item \verb|\recommc| $ x_0,y_0,x_1,y_1;c$\verb|:| -\end{list} -where -$c$ -is an integer in the range $0$--$100$ specifying the desired curvature; for example, -$c= 0$ -will produce a -straight -arrow. To change the default curvature for all arrows, the user program may redefine the -\verb|\DefaultCurvature| -command. -\subsection{Web Links} -\label{WebLinks} -Course boxes and minis may be hyperlinked. -The default URL for course boxes is -\emph{course-code}\verb|.html| -where -\emph{course-code} -is -the -\emph{code} -argument -of the course box. The URL scheme may be changed by the user -by re-defining the -\verb|\CourseURL| -command; see Section~\ref{Configuration}. -\subsection{Coordinate Grid} -The following command produces a coordinate grid with labelled axes, which is -useful while editing a diagram: -\begin{list}{}{} -\item \verb|\grid| -\end{list} -This is normally placed before all the other chart commands so that -grid lines are in the background, covered by course boxes, minis, text-lines, and arrows, -as in Figure~\ref{grid} on page~\pageref{grid}. - -The \verb|\grid| command -also redefines the \verb|CourseURL| command -so that, in suitable PDF viewers, -if the mouse cursor is placed over a box, mini, or midpoint of an arrow, -the \emph{coordinates} of the box/mini/textline (or the coordinates of the source \emph{and} target -of the arrow) will be displayed -as follows: in the -status bar -in \texttt{xpdf} and \texttt{gpdf}, and in a -``tooltip'' in recent versions of \texttt{kpdf}/\texttt{okular}, \texttt{evince}, and the Acrobat Reader. -This coordinate display make it easier to edit chart descriptions. -When the grid is on, the mid-point of every arrow is highlighted by -a ``bullet''. - -The -\texttt{prerex} -package at -\url{http://www.ctan.org/tex-archive/graphics/prerex/} -has a patch for -\texttt{kpdf} (recently incorporated into \texttt{okular}) -to allow capture coordinates of course boxes, -arrows, and -background points in the X selection clipboard (for pasting into a -command being composed at the -\texttt{prerex} -prompt). -There is also a GUI frontend -\texttt{vprerex} to the \texttt{prerex} -editor which incorporates a minimalistic prerex-enabled PDF viewer. - -\begin{figure} -\setcounter{diagheight}{40} -\renewcommand{\seriesdefault}{sb} -\begin{chart}\sf -\grid -\text 15,40:{\textsf{\textbf{\Large Computer Science}}} -\reqfullcourse 50,35:{1083}{Comput.\,Sci.\\Concepts}{TTh 10:00} -\reqhalfcourse 25,30:{1303}{Discrete\\Structures}{MWF 9:30} -\reqhalfcourse 30,20:{2813}{Computer\\Organiz.\,I}{MWF 8:30} - \prereq 25,30,30,20: - \prereq 50,35,30,20: -\reqhalfcourse 45,20:{2023}{Procedural\\Prog.\,Devel.}{MWF 2:30} - \prereq 50,35,45,20: -\reqhalfcourse 65,20:{2513}{Informat.\\Systems}{TTh 1:00} - \coreq 50,35,65,20: -\mini 10,16:{1083} -\reqhalfcourse 10,10:{2333}{Computab.\,\&\\Formal\,Lang.}{TTh 11:30} - \prereq 10,16,10,10: - \prereq 25,30,10,10: -\reqhalfcourse 45,10:{2013}{Software\\Engineer.\,I}{MWF 11:30} - \prereq 45,20,45,10: -\halfcourse 55,10:{2685}{\texttt{C++}\\Program.}{no} - \prereq 45,20,55,10: -\mini 21,6:{2013} -\reqhalfcourse 15,0:{3323}{Data\\Structures}{MWF 10:30} - \prereq 21,6,15,0: - \prereq 25,30,15,0: -\reqhalfcourse 25,0:{3813}{Comput.\\Organiz.\,II}{TTh 8:30} - \prereq 30,20,25,0: -\reqhalfcourse 35,0:{3413}{Operating\\Systems\,I}{MWF 9:30} - \recomm 45,10,35,0: - \prereq 30,20,35,0: -\halfcourse 45,0:{3013}{Software\\Engineer.\,II}{MWF 11:30} - \prereq 45,10,45,0: -\halfcourse 58,0:{3513}{Database\\Mngt.\,Sys.\,I}{MWF 8:30 pm} - \prereq 45,10,58,0: - \prereq 65,20,58,0: -\reqhalfcourse 70,0:{3503}{Sys.\,Anal.\\\&\,Design}{TTh 10:00} - \prereq 65,20,70,0: -\end{chart} -\vspace*{2ex} -\caption{A Prerequisite Chart with a Coordinate Grid} -\label{grid} -\end{figure} -\subsection{Stand-Alone Commands} -The following commands may be used outside a -\verb|chart| -environment, such as in the explanatory notes for a chart: -\begin{center} -\begin{tabular}{lc} -\verb|\solidarrow| & \solidarrow\\ -\verb|\dottedarrow| & \dottedarrow \\ -\verb|\dashedarrow| & \dashedarrow \\ -\verb|\lightbox| & \lightbox \\ -\verb|\boldbox| & \boldbox \\ -\verb|\dottedbox| & \dottedbox \\ -\end{tabular} -\end{center} - -\section{Dependencies} -This implementation of -\verb|prerex.sty| -uses -\verb|pgf| -(version~1.18 or later) -with add-on package -\verb|tikz|. -The following additional packages are used: -\verb|multido|, -\verb|relsize|, -\verb|calc|, -\verb|ifthen|, -\verb|textcomp|, -\verb|zref-savepos|, -and -\verb|hyperref|. -\emph{Either} \verb\pdflatex\ -\emph{or} -\verb\latex\ (followed by \verb\dvips\ and, possibly, \verb\ps2pdf\) -may be used. - -\section{Conversion to Portable Network Graphic (PNG) Format} - -To convert a chart (in Postscript or PDF format) to a reasonably high-quality image, it is suggested to use the -\verb|convert| tool of the -\verb|ImageMagick| package as follows: -\begin{verbatim} - convert -density 125 chart.ps chart.png -\end{verbatim} -or -\begin{verbatim} - convert -density 125 chart.pdf chart.png -\end{verbatim} -The density parameter specifies the number of pixels per inch; if this is too small, the -image is of poor quality, and if it is too large, the image file is too big. -By default, the shell script generated by \texttt{prerex.sty} crops the image at the southeast corner. -It is possible to use a PNG compression application such as -\texttt{optipng} to reduce the file-size of the cropped image (without loss of quality). - -An auxiliary file -containing image-map data for the hyperlinked nodes in the chart is also generated; -consult a reference on the HTML language for an explanation of (client-side) image maps. - -\section{Installation} - -\begin{enumerate} - \item install the most recent version of -\verb\pgf\ from \url{http://sourceforge.net/projects/pgf/}. - \item copy \verb|prerex.sty| to \emph{your-texmf-tree}\verb|/tex/latex/misc| - \item copy \verb|doc/prerex.{tex,pdf}| to \emph{your-texmf-tree}\verb|/doc/latex/misc| - \item if necessary, refresh the \TeX\ database (e.g., \verb|texhash|) - \item copy \verb|man/prerex.sty.7| to sub-directory \verb|man7| of a \verb|man| directory on your - \verb|MANPATH| - \item test by doing - -\begin{verbatim} -$ man 7 prerex.sty -$ make chart.pdf -\end{verbatim} - - -\end{enumerate} - -\section{Configuration} -\label{Configuration} -The following are defined by the style file but may be re-defined by the -user: -\begin{list}{}{} -\item \verb|\newcommand{\DefaultCurvature}{20}| -\end{list} -where the argument should be in the range $0$--$100$; $0$ means no curvature. -\begin{list}{}{} -\item \verb|\newcommand{\CourseURL}[3]{#3.html}| -\end{list} -where the arguments supplied at the call are the $x$ and $y$ coordinates -of the box or mini and the course code. -\begin{list}{}{} -\item \verb|\newcommand{\background}{yellow!15}| -\end{list} -which specifies the default background color of course boxes. -\begin{list}{}{} -\item \verb|\setlength{\unit}{5.7816pt}| -\end{list} -which defines the absolute size of a coordinate unit; -this yields 10 pixels per -coordinate unit if the chart is converted to an image at 125 dpi. -\begin{list}{}{} -\item \verb|\newcommand{\dpi}{125}| -\item \verb|\newcommand{\PixelsPerUnit}{10}| -\end{list} -These have to re-defined together if the image-map data are to be correct. -\begin{list}{}{} -\item \verb|\setcounter{diagheight}{75}| -\end{list} -which is the -$y$-coordinate -of the top of the diagram (reduced to $65$ in landscape mode); -the nominal diagram width is -\verb|\textwidth|~$\div$~\verb|\unit|~$+ 10$. - - -The following define the thicknesses of the three kinds of arrows, -and the thickness of bold boxes: -\begin{list}{}{} -\item -\verb|\newcommand{\solidwidth}{0.5pt}| -\item -\verb|\newcommand{\dottedwidth}{0.8pt}| -\item -\verb|\newcommand{\dashedwidth}{0.5pt}| -\item -\verb|\newcommand{\boldwidth}{1.0pt}| -\end{list} - -The following command is used to change to a smaller size for course codes, -timetable information, and mini-course codes: -\begin{list}{}{} -\item -\verb|\newcommand{\smallersize}{\relsize{-3}}| -\end{list} - -The following command defines the baseline adjustment for the stand-alone arrows and boxes; -this parameter is font-dependent. -\begin{list}{}{} -\item -\verb|\newcommand{\baselineAdj}{-0.5ex}| -\end{list} - -\section{Implementation Details} - -\subsection{Boxes} - -To improve the appearance, boxes are drawn with slightly rounded corners. The half-course -boxes are assigned a minimum height to give a more uniform appearance to horizontal -rows of such boxes. -The mini and text boxes have white frames and their -fill colour is white, which is assumed to be the background colour of the chart. -A text box is not normally hyperlinked; however, if the coordinate grid is -on, it is hyperlinked and its chart coordinates are encoded in the URI. - -\subsection{Arrows} -Arrows with a small height and arrows whose -source and target points have equal x or y coordinates are always draw straight -(using a specialized and simpler macro) unless an explicit -non-zero curvature argument is provided. - -If the coordinate grid is on, a hyperlink with the source and target coordinates is placed -at the mid-point of the arrow. - -A wider background white edge is drawn below an arrow to -improve the appearance -of crossing arrows; the background also -ensures visibility of the -arrow when the coordinate grid is on. -A thin white arrow (with a visible -arrowhead) is drawn beneath the visible arrow to obtain a thin arrowhead. - -\subsection{Coordinate Grid and Associated Changes} -When the coordinate grid is drawn, the \texttt{CourseURL} command -is re-defined to pass node coordinates in URIs. Also, -two ``anchor'' hyperlinks are inserted at the southwest and northeast corners -of the diagram to allow prerex-enabled -PDF viewers to compute chart coordinates. - -\subsection{Chart Images} - -\enlargethispage*{8ex} - -To support HTML versions of charts, -\texttt{prerex.sty} -generates a script to crop a chart image at the southeast corner, allowing -descriptive notes below the chart to be treated as ordinary text. Also, -it generates image-map data for use with an HTML image map. To -obtain absolute page coordinates, the \texttt{zsavepos}, \texttt{zposx} -and \texttt{zposy} commands are used; the page coordinates are converted into pixel coordinates -for cropping and image-map use. - -\section{License} -\verb|prerex.sty|, \verb|prerex.sty.7|, \verb|README.prerex| and this document may be distributed and/or modified under the -conditions of the \LaTeX\ Project Public License. -\end{document} diff -Nru prerex-6.5.3/edit.c prerex-6.5.4/edit.c --- prerex-6.5.3/edit.c 1970-01-01 00:00:00.000000000 +0000 +++ prerex-6.5.4/edit.c 2014-07-19 12:25:33.000000000 +0000 @@ -0,0 +1,1564 @@ +/* + edit.c -- editing module for an interactive editor of prerequisite-chart + descriptions + Copyright (c) 2005-12 R. D. Tennent + School of Computing, Queen's University, rdt@cs.queensu.ca + +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., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +*/ + +# include "prerex.h" + +PRIVATE element *first_cut; /* stack of cut nodes */ +PRIVATE done *first_done; /* stack of commands done */ + + +char deftext[LINE_LEN]; /* buffer for default input */ + +# ifdef HAVE_LIBREADLINE +int +set_deftext (void) /* used by readline to output defaults */ +{ + rl_insert_text (deftext); + deftext[0] = '\0'; + return 0; +} +# else +PRIVATE char prompt[LINE_LEN]; +PRIVATE char *prompt_n; + +char * +prompt_f (void) /* used to output prompts */ +{ return prompt; } +# endif + +char * +Readline ( char * str ) +/* Uses str as the prompt and deftext as the "default" */ +{ +# ifdef HAVE_LIBREADLINE +return readline (str); +# else + char *line; + int line_n; + prompt[0] = '\0'; + prompt_n = prompt; + append (prompt, &prompt_n, str, sizeof (prompt)); + el_push (el, deftext); + line = (char *) el_gets (el, &line_n); + if (line == NULL) error("Readline fails."); + line[line_n - 1] = '\0'; /* replace '\n' by '\0' */ + deftext[0] = '\0'; + return line; +# endif +} + +PRIVATE char *command_line; +PRIVATE char *clp; + +PRIVATE void +free_elements (element ** pb) +{ + if (*pb != NULL) + { + element *pbb = *pb; + free_elements (&(pbb->next)); + free (pbb); + *pb = NULL; + } +} + +PRIVATE void +free_lists (void) +{ + free_elements (&first_node); + free_elements (&first_arrow); + free_elements (&first_cut); +} + +PRIVATE void +skip_command (void) +{ + while (isspace (*clp)) clp++; + while (isalpha (*clp)) clp++; /* command */ + while (isspace (*clp)) clp++; +} + +PRIVATE void +execute_shell_command (void) +{ + fflush (tex_file); + if (fclose (tex_file) == EOF) error (".tex file closure failed."); + if (system (clp)) puts("System call failed."); + tex_file = fopen (chartfilename, "r+"); + if (tex_file == NULL) error ("Can't re-open the .tex file."); + close_files(); + free_lists(); + analyze_tex_file (); + regenerate_and_process (); +} + +PRIVATE void +shiftAllNodes ( element *pb, coord c ) +{ + while (pb != NULL) + { + pb->u.n.at.x += c; + pb = pb->next; + } +} + +PRIVATE void +shift (void) +{ + coord c; + int n_shifts = 0; + done *this; + coord x; + element *pb = NULL; + if (sscanf (command_line, "%*s %i", &c) != 1) { + puts ("Can't read shift amount."); + return; + } + clp = command_line; + skip_command (); + if (*clp == '-' || *clp == '+') clp++; + while (isdigit (*clp)) clp++; /* shift amount */ + if (sscanf (clp, "%i", &x) != 1) + { /* shift all nodes */ + shiftAllNodes(first_node, c); + /* arrows refer to source and target nodes and will be shifted automatically. */ + this = (done *) malloc (sizeof (done)); + if (this == NULL) error ("Out of memory"); + this->tag = SHIFT_ALL; + this->next = first_done; + this->i = c; + first_done = this; + regenerate_and_process (); + return; + } + printf("Nodes shifted to: "); + while (true) /* process coordinate pairs/ranges */ + { + point p0, p1; + if (sscanf (clp, "%i", &p0.x) != 1) { + break; + } + while (isspace (*clp)) clp++; + if (*clp == '-' || *clp == '+') clp++; + while (isdigit(*clp)) clp++; + while (isspace (*clp)) clp++; + if (*clp != ',') { + printf("\nCan't analyze coordinates."); + break; + } + clp++; /* ',' */ + if (sscanf (clp, "%i", &p0.y) != 1) { + printf("\nCan't analyze coordinates."); + break; + } + while (isspace (*clp)) clp++; + if (*clp == '-' || *clp == '+') clp++; + while (isdigit(*clp)) clp++; + while (isspace (*clp)) clp++; + if (*clp != ':') + { /* shift this node */ + pb = node_at (p0); + if (pb == NULL) { + printf("\nNo node at coordinates %i,%i.\n", p0.x, p0.y); + break; + } + this = (done *) malloc (sizeof (done)); + if (this == NULL) error ("Out of memory"); + this->tag = NODE_SHIFT; + this->next = first_done; + this->i = c; /* record shift amount and pointer to shifted node element */ + this->e = pb; + first_done = this; + pb->u.n.at.x += c; + printf(" %i,%i", p0.x + c, p0.y); + n_shifts++; + continue; + } + clp++; /* ':' */ + if (sscanf (clp, "%i", &p1.x) != 1) { + printf("\nCan't analyze coordinates."); + break; + } + while (isspace (*clp)) clp++; + if (*clp == '-' || *clp == '+') clp++; + while (isdigit(*clp)) clp++; + while (isspace (*clp)) clp++; + if (*clp != ',') { + printf("\nCan't analyze coordinates."); + break; + } + clp++; /* ',' */ + if (sscanf (clp, "%i", &p1.y) != 1) { + printf("\nCan't analyze coordinates."); + break; + } + while (isspace (*clp)) clp++; + if (*clp == '-' || *clp == '+') clp++; + while (isdigit(*clp)) clp++; + while (isspace (*clp)) clp++; + /* shift all nodes in box p0:p1 */ + { + pb = first_node; + while (pb != NULL) { + if (inrange(pb->u.n.at.x, p0.x, p1.x) && inrange(pb->u.n.at.y, p0.y, p1.y)) + /* shift this node */ + { + pb->u.n.at.x += c; + printf(" %i,%i", pb->u.n.at.x, pb->u.n.at.y); + this = (done *) malloc (sizeof (done)); + if (this == NULL) error ("Out of memory"); + this->tag = NODE_SHIFT; + this->next = first_done; + this->i = c; /* record shift amount and pointer to shifted node element */ + this->e = pb; + first_done = this; + n_shifts++; + } + pb = pb->next; + } + } + } /* while */ + if (n_shifts > 0) + { + puts(""); + this = (done *) malloc (sizeof (done)); + if (this == NULL) error ("Out of memory"); + this->tag = COMPOSITE; + this->next = first_done; + this->i = n_shifts; /* record number of shifts to undo */ + first_done = this; + } + regenerate_and_process (); +} + +PRIVATE void +raiseAllNodes ( element *pb, coord c ) +{ + while (pb != NULL) { + pb->u.n.at.y += c; + pb = pb->next; + } +} + +PRIVATE void +Raise (void) /* "Raise" to avoid conflicting with signal.h function raise */ +{ + coord c; + int n_raises = 0; + done *this; + coord x; + element *pb = NULL; + if (sscanf (command_line, "%*s %i", &c) != 1) + { + puts ("Can't read raise amount."); + return; + } + clp = command_line; + skip_command (); + if (*clp == '-' || *clp == '+') clp++; + while (isdigit (*clp)) clp++; /* raise amount */ + if (sscanf (clp, "%i", &x) != 1) + { /* raise all nodes */ + raiseAllNodes(first_node, c); + /* arrows refer to source and target nodes and will be raised automatically. */ + this = (done *) malloc (sizeof (done)); + if (this == NULL) error ("Out of memory"); + this->tag = RAISE_ALL; + this->next = first_done; + this->i = c; + first_done = this; + regenerate_and_process (); + return; + } + printf("Nodes raised to: "); + while (true) /* process coordinate pairs */ + { + point p0, p1; + if (sscanf (clp, "%i", &p0.x) != 1) break; + while (isspace (*clp)) clp++; + if (*clp == '-' || *clp == '+') clp++; + while (isdigit(*clp)) clp++; + while (isspace (*clp)) clp++; + if (*clp != ',') { + printf("\nCan't analyze coordinates."); + break; + } + clp++; /* ',' */ + if (sscanf (clp, "%i", &p0.y) != 1) { + printf("\nCan't analyze coordinates."); + break; + } + while (isspace (*clp)) clp++; + if (*clp == '-' || *clp == '+') clp++; + while (isdigit(*clp)) clp++; + while (isspace (*clp)) clp++; + if (*clp != ':') + { /* raise this node */ + pb = node_at (p0); + if (pb == NULL) + { + printf("No node at coordinates %i,%i.\n", p0.x, p0.y); + break; + } + this = (done *) malloc (sizeof (done)); + if (this == NULL) error ("Out of memory"); + this->tag = NODE_RAISE; + this->next = first_done; + this->i = c; /* record raise amount and pointer to raised node element */ + this->e = pb; + first_done = this; + pb->u.n.at.y += c; + printf(" %i,%i", p0.x, p0.y + c); + n_raises++; + continue; + } + clp++; /* ':' */ + if (sscanf (clp, "%i", &p1.x) != 1) { + printf("\nCan't analyze coordinates."); + break; + } + while (isspace (*clp)) clp++; + if (*clp == '-' || *clp == '+') clp++; + while (isdigit(*clp)) clp++; + while (isspace (*clp)) clp++; + if (*clp != ',') { + printf("\nCan't analyze coordinates."); + break; + } + clp++; /* ',' */ + if (sscanf (clp, "%i", &p1.y) != 1) { + printf("\nCan't analyze coordinates."); + break; + } + while (isspace (*clp)) clp++; + if (*clp == '-' || *clp == '+') clp++; + while (isdigit(*clp)) clp++; + while (isspace (*clp)) clp++; + /* raise all nodes in box p0:p1 */ + { + done *this; + pb = first_node; + while (pb != NULL) { + if (inrange(pb->u.n.at.x, p0.x, p1.x) && inrange(pb->u.n.at.y, p0.y, p1.y)) + /* raise this node */ + { + pb->u.n.at.y += c; + printf(" %i,%i", pb->u.n.at.x, pb->u.n.at.y); + this = (done *) malloc (sizeof (done)); + if (this == NULL) error ("Out of memory"); + this->tag = NODE_RAISE; + this->next = first_done; + this->i = c; /* record raise amount and pointer to shifted node element */ + this->e = pb; + first_done = this; + n_raises++; + } + pb = pb->next; + } + } + } /* while */ + if (n_raises > 0) { + puts(""); + this = (done *) malloc (sizeof (done)); + if (this == NULL) error ("Out of memory"); + this->tag = COMPOSITE; + this->next = first_done; + this->i = n_raises; /* record the number of raises to undo */ + first_done = this; + } + regenerate_and_process (); +} + +PRIVATE void +cut_node (point p) +{ + element *pn, **ppn; + done *this; + ppn = &first_node; /* used if the first node is removed from the list */ + pn = first_node; + while (pn != NULL && !eq (p, pn->u.n.at)) + { + ppn = &(pn->next); + pn = pn->next; + } + if (pn == NULL) + { + puts ("No course box, mini or text at this location."); + return; + } + *ppn = pn->next; /* removes pn node from the list */ + /* move node to cut list */ + pn->next = first_cut; + first_cut = pn; + this = (done *) malloc (sizeof (done)); + if (this == NULL) error ("Out of memory"); + this->tag = CUT; + this->next = first_done; + first_done = this; +} + +PRIVATE void +delete_node (point p) +{ + element *pn, **ppn; + done *this; + ppn = &first_node; + pn = first_node; + while (pn != NULL && !eq (p, pn->u.n.at)) + { + ppn = &(pn->next); + pn = pn->next; + } + if (pn == NULL) + { + puts ("No course box, mini or text at this location."); + return; + } + *ppn = pn->next; + this = (done *) malloc (sizeof (done)); + if (this == NULL) error ("Out of memory"); + this->tag = NODE_DELETE; + this->next = first_done; + this->e = pn; + first_done = this; + printf("Node at %i,%i deleted.\n", p.x, p.y); +} + +PRIVATE void +delete_arrow (point p0, point p1) +{ + done *this; + element *n0 = node_at (p0); + element *n1 = node_at (p1); + element *pa; + element **ppa; + if (n0 == NULL) + { + puts ("No course box, mini or text at the source location."); + return; + } + if (n1 == NULL) + { + puts ("No course box, mini or text at the target location."); + return; + } + pa = first_arrow; + ppa = &first_arrow; /* used if the first arrow is removed */ + while (pa != NULL && (pa->u.a.source != n0 || pa->u.a.target != n1)) + { + ppa = &(pa->next); + pa = pa->next; + } + if (pa == NULL) + { + puts ("No such arrow."); + return; + } + *ppa = pa->next; /* removes pa arrow from the list */ + this = (done *) malloc (sizeof (done)); + if (this == NULL) error ("Out of memory"); + this->tag = ARROW_DELETE; + this->next = first_done; + this->e = pa; + first_done = this; + printf("Arrow from %i,%i to %i,%i deleted.\n", p0.x, p0.y, p1.x, p1.y); +} + +PRIVATE void +analyze_cut_command (void) +{ + clp = command_line; + skip_command (); + while (true) /* process coordinate pairs */ + { + point p; + if (sscanf (clp, "%i", &p.x) != 1) break; + while (isspace (*clp)) clp++; + if (*clp == '-' || *clp == '+') clp++; + while (isdigit(*clp)) clp++; + while (isspace (*clp)) clp++; + if (*clp != ',') { + puts("Can't analyze coordinates."); + return; + } + clp++; /* ',' */ + if (sscanf (clp, "%i", &p.y) != 1) { + puts("Can't analyze coordinates."); + return; + } + while (isspace (*clp)) clp++; + if (*clp == '-' || *clp == '+') clp++; + while (isdigit(*clp)) clp++; + cut_node (p); + } +} + +PRIVATE void +analyze_delete_command (void) +{ + int n_deletions = 0; + done *this; + clp = command_line; + skip_command (); + while (true) /* process coordinate pairs/ranges/4-tuples */ + { + point p0, p1; + bool colon; + if (sscanf (clp, "%i", &p0.x) != 1) break; + while (isspace (*clp)) clp++; + if (*clp == '-' || *clp == '+') clp++; + while (isdigit(*clp)) clp++; + while (isspace (*clp)) clp++; + if (*clp != ',') { + puts("Can't analyze coordinates."); + break; + } + clp++; /* ',' */ + if (sscanf (clp, "%i", &p0.y) != 1) { + puts("Can't analyze coordinates."); + break; + } + while (isspace (*clp)) clp++; + if (*clp == '-' || *clp == '+') clp++; + while (isdigit(*clp)) clp++; + while (isspace (*clp)) clp++; + if (*clp != ',' && *clp != ':') + { + delete_node (p0); + n_deletions++; + continue; + } + colon = *clp == ':'; + clp++; /* ',' or ':' */ + if (sscanf (clp, "%i", &p1.x) != 1) { + puts("Can't analyze coordinates."); + break; + } + while (isspace (*clp)) clp++; + if (*clp == '-' || *clp == '+') clp++; + while (isdigit(*clp)) clp++; + while (isspace (*clp)) clp++; + if (*clp != ',') { + puts("Can't analyze coordinates."); + break; + } + clp++; /* ',' */ + if (sscanf (clp, "%i", &p1.y) != 1) { + puts("Can't analyze coordinates."); + break; + } + if (*clp == '-' || *clp == '+') clp++; + while (isdigit(*clp)) clp++; + if (!colon) /* arrow from p0 to p1 */ + { + delete_arrow (p0, p1); + n_deletions++; + continue; + } + /* delete all nodes in box p0:p1 */ + { + element *pn, **ppn; + ppn = &(first_node); + pn = first_node; + while (pn != NULL) { + if (inrange(pn->u.n.at.x, p0.x, p1.x) && inrange(pn->u.n.at.y, p0.y, p1.y)) + /* delete this node */ + { + *ppn = pn->next; + printf("Node at %i,%i deleted.\n", pn->u.n.at.x, pn->u.n.at.y); + this = (done *) malloc (sizeof (done)); + if (this == NULL) error ("Out of memory"); + this->tag = NODE_DELETE; + this->next = first_done; + this->e = pn; + first_done = this; + n_deletions++; + } + else ppn = &(pn->next); + pn = pn->next; + } + } + } /* while */ + this = (done *) malloc (sizeof (done)); + if (this == NULL) error ("Out of memory"); + this->tag = COMPOSITE; + this->next = first_done; + this->i = n_deletions; /* record the number of deletions to undo */ + first_done = this; + regenerate_and_process (); +} + +PRIVATE void +undo (void) +{ + done *this = first_done; + if (this == NULL) + { + puts ("Nothing more to undo."); + return; + } + first_done = this->next; + if (this->tag == NODE_DELETE) + { + element *pn = this->e; + if (insert_node (pn)) + { + puts ("There is now another course box, mini or text at that location."); + return; + } + printf ("Course box, mini or text at %i,%i restored.\n", + pn->u.n.at.x, pn->u.n.at.y); + } + else if (this->tag == ARROW_DELETE) + { + element *pn = this->e; + if (insert_arrow (pn)) + { + puts + ("Can't undelete arrow: source and/or target is/are now missing."); + return; + } + printf ("Arrow from %i,%i to %i,%i restored.\n", + pn->u.a.source->u.n.at.x, pn->u.a.source->u.n.at.y, + pn->u.a.target->u.n.at.x, pn->u.a.target->u.n.at.y); + } + else if (this->tag == NODE_CREATE) + { + element *pn, **ppn; + point p = this->p; + ppn = &(first_node); + pn = first_node; + while (pn != NULL && !eq (p, pn->u.n.at)) + { + ppn = &(pn->next); + pn = pn->next; + } + if (pn == NULL) + { + puts ("No course box, mini or text at this location."); + return; + } + *ppn = pn->next; + printf("Course box, mini or text at %i,%i deleted.\n", p.x, p.y); + } + else if (this->tag == ARROW_CREATE) + { + element *n0, *n1, *pa, **ppa; + n0 = this->a.source; + n1 = this->a.target; + pa = first_arrow; + ppa = &(first_arrow); + while (pa != NULL && (pa->u.a.source != n0 || pa->u.a.target != n1)) + { + ppa = &(pa->next); + pa = pa->next; + } + if (pa == NULL) + { + printf("There is no arrow from %i,%i to %i,%i.\n", n0->u.n.at.x, n0->u.n.at.y, n1->u.n.at.x, n1->u.n.at.y); + return; + } + *ppa = pa->next; + printf("Arrow from %i,%i to %i,%i deleted.\n", n0->u.n.at.x, n0->u.n.at.y, n1->u.n.at.x, n1->u.n.at.y); + } + else if (this->tag == NODE_EDIT) + { + element *pn = this->e; + pn->u.n = this->n; /* restore old node */ + printf("Course box, mini or text at %i,%i restored.\n", pn->u.n.at.x, pn->u.n.at.y); + } + else if (this->tag == ARROW_EDIT) + { + element *pa = this->e; + pa->u.a = this->a; /* restore old arrow */ + printf("Arrow from %i,%i to %i,%i restored.\n", pa->u.a.source->u.n.at.x, pa->u.a.source->u.n.at.y, pa->u.a.target->u.n.at.x, pa->u.a.target->u.n.at.y); + } + else if (this->tag == NODE_SHIFT) + { + element *pb = this->e; + int c = this->i; + pb->u.n.at.x -= c; + printf("Course box, mini or text unshifted %i units to %i,%i.\n", c, pb->u.n.at.x, pb->u.n.at.y); + } + else if (this->tag == NODE_RAISE) + { + element *pb = this->e; + int c = this->i; + pb->u.n.at.y -= c; + printf("Course box, mini or text unraised %i units to %i,%i.\n", c, pb->u.n.at.x, pb->u.n.at.y); + } + else if (this->tag == SHIFT_ALL) + { + int c = this->i; + shiftAllNodes(first_node, -c); + printf("All nodes unshifted %i units.\n", c); + } + else if (this->tag == RAISE_ALL) + { + int c = this->i; + raiseAllNodes(first_node, -c); + printf("All nodes unraised %i units.\n", c); + } + else if (this->tag == CUT) + { + element *pn = first_cut; + first_cut = pn->next; + if (insert_node (pn)) + { + printf ("There is already a course box, mini, or text at %i,%i.\n", pn->u.n.at.x, pn->u.n.at.y); + return; + } + else + printf ("Course box, mini or text restored at %i,%i.\n", pn->u.n.at.x, pn->u.n.at.y); + } + else if (this->tag == PASTE) + { + element *pn, **ppn; + element *pe = this->e; + ppn = &(first_node); + pn = first_node; + while (pn != NULL && pn != pe) + { + ppn = &(pn->next); + pn = pn->next; + } + if (pn == NULL) + { + puts ("Unable to find pasted node."); + return; + } + *ppn = pn->next; + pn->next = first_cut; + printf ("Course box, mini or text unpasted from %i,%i.\n", pn->u.n.at.x, pn->u.n.at.y); + pn->u.n.at = this->p; + first_cut = pn; + } + else if (this->tag == COMPOSITE) + /* undo this->i steps */ + { int j; + for (j = 0; j < this->i; j++) undo(); + } +} + +PRIVATE void +edit_mini (element * pm) +{ + append (deftext, NULL, pm->u.n.code, sizeof (deftext)); + command_line = Readline ("course code: "); + pm->u.n.code[0] = '\0'; + if (append (pm->u.n.code, NULL, command_line, sizeof (pm->u.n.code)) + >= sizeof (pm->u.n.code)) + puts ("Warning: course code too long, truncated."); +} + +PRIVATE void +edit_text (element * pm) +{ + append (deftext, NULL, pm->u.n.u.t.txt, sizeof (deftext)); + command_line = Readline ("text: "); + pm->u.n.u.t.txt[0] = '\0'; + if (append (pm->u.n.u.t.txt, NULL, command_line, sizeof (pm->u.n.u.t.txt)) + >= sizeof (pm->u.n.u.t.txt)) + puts ("Warning: text too long, truncated."); +} + +PRIVATE void +edit_box (element * pb) +{ + char code[8]; + append (deftext, NULL, pb->u.n.code, sizeof (deftext)); + command_line = Readline ("course code: "); + pb->u.n.code[0] = '\0'; + if (append (pb->u.n.code, NULL, command_line, sizeof (pb->u.n.code)) + >= sizeof (pb->u.n.code)) + puts ("Warning: course code too long, truncated."); + if (pb->u.n.u.b.half) + append (deftext, NULL, "y", sizeof (deftext)); + else + append (deftext, NULL, "n", sizeof (deftext)); + command_line = Readline ("half course (y/n)? "); + sscanf (command_line, "%1s", code); + if (code[0] == 'y') + pb->u.n.u.b.half = true; + else if (code[0] == 'n') + pb->u.n.u.b.half = false; + else + { + puts ("Response not recognized; 'y' assumed."); + pb->u.n.u.b.half = true; + } + if (pb->u.n.u.b.req_opt == REQ) + append (deftext, NULL, "r", sizeof (deftext)); + else if (pb->u.n.u.b.req_opt == OPT) + append (deftext, NULL, "o", sizeof (deftext)); + else + append (deftext, NULL, "n", sizeof (deftext)); + command_line = Readline ("required (r) optional (o) or neither (n)? "); + sscanf (command_line, "%7s", code); + if (code[0] == 'r') + pb->u.n.u.b.req_opt = REQ; + else if (code[0] == 'o') + pb->u.n.u.b.req_opt = OPT; + else if (code[0] == 'n') + pb->u.n.u.b.req_opt = NEITHER; + else + { + puts ("Response not recognized; 'n' assumed."); + pb->u.n.u.b.req_opt = NEITHER; + } + append (deftext, NULL, pb->u.n.u.b.title, sizeof (deftext)); + command_line = Readline ("course title: "); + pb->u.n.u.b.title[0] = '\0'; + if (append (pb->u.n.u.b.title, NULL, command_line, sizeof (pb->u.n.u.b.title)) + >= sizeof (pb->u.n.u.b.title)) + puts ("Warning: course title too long, truncated."); + append (deftext, NULL, pb->u.n.u.b.timetable, sizeof (deftext)); + command_line = Readline ("course timetable: "); + pb->u.n.u.b.timetable[0] = '\0'; + if (append + (pb->u.n.u.b.timetable, NULL, command_line, + sizeof (pb->u.n.u.b.timetable)) >= sizeof (pb->u.n.u.b.timetable)) + puts ("Warning: course timetable too long, truncated."); + append (deftext, NULL, pb->u.n.u.b.color, sizeof (deftext)); + command_line = Readline ("background color (empty string for default): "); + pb->u.n.u.b.color[0] = '\0'; + if (append + (pb->u.n.u.b.color, NULL, command_line, + sizeof (pb->u.n.u.b.color)) >= sizeof (pb->u.n.u.b.color)) + puts ("Warning: color string too long, truncated."); + if (pb->u.n.u.b.color[0] == '\n') pb->u.n.u.b.color[0] = '\0'; +} + +PRIVATE void +set_curvature (element * pa) +{ + char code[16]; + if (pa->u.a.curvature >= 0 && pa->u.a.curvature <= 100) + { + sprintf (deftext, "%i", pa->u.a.curvature); + } + else + { + append (deftext, NULL, "d", sizeof (deftext)); + } + command_line = Readline ("curvature, default (d) or int value? "); + sscanf (command_line, "%15s", code); + if (isdigit (code[0])) + { + sscanf (code, "%i", &(pa->u.a.curvature)); + if (pa->u.a.curvature > 100) { + puts ("Curvature too large; default value used."); + pa->u.a.curvature = -1; + } + } + else if (code[0] == 'd') + pa->u.a.curvature = -1; /* negative value denotes default curvature */ + else + { + puts ("Response not recognized; default assumed."); + pa->u.a.curvature = -1; + } +} + +PRIVATE void +edit_arrow (element * pa) +{ + char code[16]; + switch (pa->u.a.tag) + { + case PREREQ: + append (deftext, NULL, "p", sizeof (deftext)); + break; + case COREQ: + append (deftext, NULL, "c", sizeof (deftext)); + break; + case RECOMM: + append (deftext, NULL, "r", sizeof (deftext)); + break; + default:; + } + command_line = + Readline ("prerequisite (p), corequisite (c), or recommended (r)? "); + sscanf (command_line, "%15s", code); + switch (code[0]) + { + case 'p': + pa->u.a.tag = PREREQ; + break; + case 'c': + pa->u.a.tag = COREQ; + break; + case 'r': + pa->u.a.tag = RECOMM; + break; + default: + puts ("Response not recognized; prerequisite assumed."); + pa->u.a.tag = PREREQ; + } + set_curvature (pa); +} + +PRIVATE void +paste_node (point p) +{ + point oldp; + element *pn = first_cut; + done *this; + if (pn == NULL) + { + puts ("No cut box, mini or text to paste."); + return; + } + first_cut = pn->next; + oldp = pn->u.n.at; + pn->u.n.at = p; + if (insert_node (pn)) + { + printf("There is a course box, mini or text already at %i,%i.\n", pn->u.n.at.x, pn->u.n.at.y); + pn->next = first_cut; + first_cut = pn; + return; + } + if (first_cut == NULL) + regenerate_and_process (); + this = (done *) malloc (sizeof (done)); + if (this == NULL) error ("Out of memory"); + this->tag = PASTE; + this->e = pn; + this->p = oldp; + this->next = first_done; + first_done = this; +} + +PRIVATE void +analyze_paste_command (void) +{ point p; + if (sscanf (command_line, "%*s %i,%i", &p.x, &p.y) != 2) { + puts("Can't analyze coordinates."); + return; + } + paste_node (p); +} + +PRIVATE void +analyze_xchange_command (void) +{ + point p0, p1; + done *this; + clp = command_line; + skip_command (); + if (sscanf (clp, "%i", &p0.x) != 1) { + puts("Can't analyze coordinates."); + return; + } + while (isspace (*clp)) clp++; + if (*clp == '-' || *clp == '+') clp++; + while (isdigit(*clp)) clp++; + while (isspace (*clp)) clp++; + if (*clp != ',') { + puts("Can't analyze coordinates."); + return; + } + clp++; /* ',' */ + if (sscanf (clp, "%i", &p0.y) != 1) { + puts("Can't analyze coordinates."); + return; + } + while (isspace (*clp)) clp++; + if (*clp == '-' || *clp == '+') clp++; + while (isdigit(*clp)) clp++; + cut_node (p0); + + if (sscanf (clp, "%i", &p1.x) != 1) { + puts("Can't analyze coordinates."); + return; + } + while (isspace (*clp)) clp++; + if (*clp == '-' || *clp == '+') clp++; + while (isdigit(*clp)) clp++; + while (isspace (*clp)) clp++; + if (*clp != ',') { + puts("Can't analyze coordinates."); + return; + } + clp++; /* ',' */ + if (sscanf (clp, "%i", &p1.y) != 1) { + puts("Can't analyze coordinates."); + return; + } + while (isspace (*clp)) clp++; + if (*clp == '-' || *clp == '+') clp++; + while (isdigit(*clp)) clp++; + cut_node (p1); + + paste_node (p0); + paste_node (p1); + + this = (done *) malloc (sizeof (done)); + if (this == NULL) error ("Out of memory"); + this->tag = COMPOSITE; + this->i = 4; /* four steps to undo */ + this->next = first_done; + first_done = this; +} + +PRIVATE void +analyze_box_command (void) +{ + point p; + element *pb; + done *this; + char code[8]; + if (sscanf (command_line, "%*s %i,%i", &p.x, &p.y) != 2) + { + puts ("Can't analyze box command."); + return; + } + this = (done *) malloc (sizeof (done)); + if (this == NULL) error ("Out of memory"); + pb = node_at (p); + if (pb != NULL) + { + this->tag = NODE_EDIT; + this->next = first_done; + this->n = pb->u.n; /* record the old node */ + this->e = pb; + first_done = this; + edit_box (pb); + regenerate_and_process (); + return; + } + this->tag = NODE_CREATE; + append (deftext, NULL, "y", sizeof (deftext)); + command_line = Readline ("create new course box (y/n)? "); + sscanf (command_line, "%7s", code); + if (code[0] == 'y') + { + pb = (element *) malloc (sizeof (element)); + if (pb == NULL) error ("Out of memory"); + pb->tag = NODE; + pb->u.n.tag = BOX; + pb->u.n.at = p; + pb->u.n.u.b.req_opt = NEITHER; + pb->u.n.u.b.half = true; + pb->u.n.code[0] = '\0'; + pb->u.n.u.b.title[0] = '\0'; + pb->u.n.u.b.timetable[0] = '\0'; + if (insert_node (pb)) + { + puts ("There is already a course box, mini, or text at that location."); + free (pb); + free (this); + return; + } + this->next = first_done; + this->p = p; /* record coordinates of new node */ + first_done = this; + edit_box (pb); + regenerate_and_process (); + return; + } + else if (code[0] == 'n') + { + free (this); + } + else + { + puts ("Response not recognized; 'n' assumed."); + free (this); + } +} + +PRIVATE void +analyze_mini_command (void) +{ + point p; + element *pm; + done *this; + char code[8]; + if (sscanf (command_line, "%*s %i,%i", &p.x, &p.y) != 2) + { + puts ("Can't analyze mini command."); + return; + } + this = (done *) malloc (sizeof (done)); + if (this == NULL) error ("Out of memory"); + pm = node_at (p); + if (pm != NULL) + { + this->tag = NODE_EDIT; + this->next = first_done; + this->n = pm->u.n; /* record the old node */ + this->e = pm; + first_done = this; + edit_mini (pm); + regenerate_and_process (); + return; + } + this->tag = NODE_CREATE; + append (deftext, NULL, "y", sizeof (deftext)); + command_line = Readline ("create new mini (y/n)? "); + sscanf (command_line, "%7s", code); + if (code[0] == 'y') + { + pm = (element *) malloc (sizeof (element)); + if (pm == NULL) error ("Out of memory"); + pm->tag = NODE; + pm->u.n.tag = MINI; + pm->u.n.at = p; + pm->u.n.code[0] = '\0'; + if (insert_node (pm)) + { + puts ("There is already a course box, mini, or text at that location."); + free (pm); + free (this); + return; + } + this->next = first_done; + this->p = p; /* record coordinates of new node */ + first_done = this; + edit_mini (pm); + regenerate_and_process (); + } + else if (code[0] == 'n') + { + free (this); + } + else + { + puts ("Response not recognized; 'n' assumed."); + free (this); + } +} + +PRIVATE void +analyze_text_command (void) +{ + point p; + element *pm; + done *this; + char code[8]; + if (sscanf (command_line, "%*s %i,%i", &p.x, &p.y) != 2) + { + puts ("Can't analyze text command."); + return; + } + this = (done *) malloc (sizeof (done)); + if (this == NULL) error ("Out of memory"); + pm = node_at (p); + if (pm != NULL) + { + this->tag = NODE_EDIT; + this->next = first_done; + this->n = pm->u.n; /* record the old node */ + this->e = pm; + first_done = this; + edit_text (pm); + regenerate_and_process (); + return; + } + this->tag = NODE_CREATE; + append (deftext, NULL, "y", sizeof (deftext)); + command_line = Readline ("create new text (y/n)? "); + sscanf (command_line, "%7s", code); + if (code[0] == 'y') + { + pm = (element *) malloc (sizeof (element)); + if (pm == NULL) error ("Out of memory"); + pm->tag = NODE; + pm->u.n.tag = TEXT; + pm->u.n.at = p; + pm->u.n.code[0] = '\0'; + if (insert_node (pm)) + { + puts ("There is already a course box, mini, or text at that location."); + free (pm); + free (this); + return; + } + this->next = first_done; + this->p = p; /* record coordinates of new node */ + first_done = this; + edit_text (pm); + regenerate_and_process (); + } + else if (code[0] == 'n') + { + free (this); + } + else + { + puts ("Response not recognized; 'n' assumed."); + free (this); + } +} + +PRIVATE void +analyze_arrow_command (void) +{ + point p0, p1; + element *n0, *n1; + element *pa; + done *this; + if (sscanf (command_line, "%*s %i,%i,%i,%i", &p0.x, &p0.y, &p1.x, &p1.y) != + 4) + { + puts ("Can't analyze arrow command."); + return; + } + n0 = node_at (p0); + if (n0 == NULL) + { + puts ("There is no course box, mini, or text at the source location."); + return; + } + n1 = node_at (p1); + if (n1 == NULL) + { + puts ("There is no course box, mini, or text at the target location."); + return; + } + this = (done *) malloc (sizeof (done)); + if (this == NULL) error ("Out of memory"); + pa = first_arrow; + while (pa != NULL && !(pa->u.a.source == n0 && pa->u.a.target == n1)) + pa = pa->next; + if (pa != NULL) + { + this->tag = ARROW_EDIT; + this->next = first_done; + this->a = pa->u.a; /* record the old arrow */ + this->e = pa; + first_done = this; + edit_arrow (pa); + regenerate_and_process (); + } + else + { + char code[8]; + this->tag = ARROW_CREATE; + append (deftext, NULL, "y", sizeof (deftext)); + command_line = Readline ("create new arrow (y/n)? "); + sscanf (command_line, "%7s", code); + if (code[0] == 'y') + { + pa = (element *) malloc (sizeof (element)); + if (pa == NULL) error ("Out of memory"); + pa->tag = ARROW; + pa->u.a.source = n0; + pa->u.a.target = n1; + pa->u.a.tag = PREREQ; + pa->u.a.curvature = -1; /* default curvature */ + if (insert_arrow (pa)) + { + /* shouldn't happen! */ + free (pa); + free (this); + return; + } + this->next = first_done; + this->a = pa->u.a; /* record arrow */ + first_done = this; + edit_arrow (pa); + regenerate_and_process (); + } + else if (code[0] == 'n') + { + free (this); + } + else + { + puts ("Response not recognized; 'n' assumed."); + free (this); + } + } +} + +PRIVATE void +analyze_grid_command (void) +{ + char code[8]; + if (sscanf (command_line, "%*s %7s", code) != 1) + { + if (grid) + append (deftext, NULL, "n", sizeof (deftext)); + else + append (deftext, NULL, "y", sizeof (deftext)); + command_line = Readline ("grid (y/n)? "); + sscanf (command_line, "%7s", code); + } + if (code[0] == 'y') + grid = true; + else if (code[0] == 'n') + grid = false; + else + { + puts ("Response not recognized; 'y' assumed."); + grid = true; + } + regenerate_and_process (); +} + +PRIVATE void +analyze_file_command (void) +{ + puts ("This command is no longer supported."); +} + +PRIVATE void +backup (void) +{ + char code[8]; + append (deftext, NULL, "y", sizeof (deftext)); + command_line = Readline ("Overwrite current backup file (y/n)? "); + sscanf (command_line, "%7s", code); + if (code[0] != 'y') + return; + backup_tex_file = fopen (backup_filename, "w"); + if (backup_tex_file == NULL) + { + puts ("Can't open backup file."); + return; + } + copy (tex_file, backup_tex_file); + fclose (backup_tex_file); + printf ("Backed up to %s.\n", backup_filename); +} + +PRIVATE void +restore (void) +{ + char code[8]; + backup_tex_file = fopen (backup_filename, "r"); + if (backup_tex_file == NULL) + { + puts ("Can't open backup file."); + return; + } + append (deftext, NULL, "y", sizeof (deftext)); + command_line = + Readline ("Delete current TeX file and restore from backup (y/n)? "); + sscanf (command_line, "%7s", code); + if (code[0] != 'y') + return; + fclose (tex_file); + tex_file = fopen (chartfilename, "w+"); + rewind (tex_file); + copy (backup_tex_file, tex_file); + fflush (tex_file); + fclose (backup_tex_file); + close_files(); + free_lists(); + grid = false; + analyze_tex_file (); + regenerate_and_process (); +} + + +PRIVATE void +quit (void) +{ + char code[8]; + if (first_cut) + { + append (deftext, NULL, "y", sizeof (deftext)); + command_line = + Readline ("Warning: there are unpasted cuts; continue (y/n)? "); + sscanf (command_line, "%7s", code); + if (code[0] != 'y') + return; + } +# ifdef HAVE_LIBEDIT + history_end (hist); + el_end (el); +# endif + grid = false; + puts("Turning off coordinate grid."); + regenerate_and_process (); + close_files (); + exit (0); +} + +PRIVATE void +help (void) +{ + puts (""); + puts (" command: effect:"); + puts (""); + puts (" file> box x,y [create and] edit course box at x,y"); + puts (" file> mini x,y [create and] edit mini course at x,y"); + puts (" file> text x,y [create and] edit text centered at x,y"); + puts (" file> arrow x0,y0,x1,y1 [create and] edit arrow from x0,y0 to x1,y1"); + puts (" file> cut x,y ... (temporarily) remove box, mini, or text at x,y"); + puts (" file> paste x,y re-insert last cut box, mini, or text at x,y"); + puts (" file> xchange x0,y0 x1,y1 exchange elements at x0,y0 and x1,y1"); + puts (" file> delete [x,y | x0,y0:x1,y1 | x0,y0,x1,y1] ... remove specified elements/arrows"); + puts (" file> undo undo most recent editing command"); + puts (" file> shift [-]n x0,y0[:x1,y1] ... move [specified] elements n units right [left]"); + puts (" file> raise [-]n x0,y0[:x1,y1] ... move [specified] elements n units up [down]"); + puts (" file> ! | write save to file.tex and process (with pdflatex)"); + puts (" file> quit | exit | x | ^D turn off grid, save, process, and exit"); + puts (" file> !cmd execute shell command cmd, then re-load"); + puts (" file> Backup copy file.tex to .file.tex"); + puts (" file> Restore restore from .file.tex"); + puts (" file> grid [y/n] turn on/off coordinate-grid background"); + puts (" file> help | ? print this summary"); + puts (""); + puts ("Append \";\" to commands to suppress usual save-and-process."); + puts(""); +} + + +PRIVATE void +analyze_user_command (void) +{ + char command[COMMAND_LEN + 1] = {'\0'}; + sscanf (command_line, "%63s", command); + + if (prefix (command, "write")) + { + reprocess = true; + regenerate_and_process (); + } + else if (prefix (command, "shift")) + shift (); + else if (prefix (command, "raise")) + Raise (); + else if (prefix (command, "cut")) + analyze_cut_command (); + else if (prefix (command, "delete")) + analyze_delete_command (); + else if (prefix (command, "undo")) + { + undo (); + regenerate_and_process (); + } + else if (prefix (command, "paste")) + analyze_paste_command (); + else if (prefix (command, "xchange")) + analyze_xchange_command (); + else if (prefix (command, "box")) + analyze_box_command (); + else if (prefix (command, "mini")) + analyze_mini_command (); + else if (prefix (command, "text")) + analyze_text_command (); + else if (prefix (command, "arrow")) + analyze_arrow_command (); + else if (prefix (command, "quit") + || prefix (command, "exit") || prefix (command, "x")) + { + quit (); + } + else if (prefix (command, "grid")) + analyze_grid_command (); + else if (prefix (command, "file")) + analyze_file_command (); + else if (command[0] == '!') + { + clp = command_line; + while (isspace (*clp)) + clp++; + clp++; /* ! */ + while (isspace (*clp)) + clp++; + if (*clp == '\0') + { + reprocess = true; + regenerate_and_process (); + } + else + { + execute_shell_command (); + } + } + else if (prefix (command, "Backup")) + backup (); + else if (prefix (command, "Restore")) + restore (); + else if (prefix (command, "help")) + help (); + else if (command[0] == '?') + help (); + else + { + puts ("Command not recognized."); + help (); + } +} + +void process_commands(void) +{ +# ifdef HAVE_LIBREADLINE + char prompt[FILE_LEN + 8] = {'\0'}; + char *prompt_n = prompt; + rl_startup_hook = set_deftext; + append (prompt, &prompt_n, chartfilename, sizeof (prompt)); + prompt_n = prompt_n - 4; *prompt_n = '\0'; /* suppress ".tex" */ + append (prompt, &prompt_n, "> ", sizeof (prompt)); +# else + el_set (el, EL_PROMPT, &prompt_f); + deftext[0] = '\0'; +# endif + help (); + do + { +# ifdef HAVE_LIBREADLINE + command_line = Readline (prompt); +# else + int command_line_n; + prompt[0] = '\0'; + prompt_n = prompt; + append (prompt, &prompt_n, chartfilename, sizeof (prompt)); + prompt_n = prompt_n - 4; *prompt_n = '\0'; /* suppress ".tex" */ + append (prompt, &prompt_n, "> ", sizeof (prompt)); + command_line = (char *) el_gets (el, &command_line_n); +# endif + if (command_line == NULL) /* EOF */ + { putchar ('\n'); quit(); } +# ifdef HAVE_LIBREADLINE + if (command_line[0] != '\0') +# else + if (command_line[0] != '\n') +# endif + { +# ifdef HAVE_LIBREADLINE + add_history (command_line); +# else + history(hist, &ev, H_ENTER, command_line); + command_line_n--; + command_line[command_line_n] = '\0'; +# endif + reprocess = true; + if (suffix(";", command_line)) + { /* suppress possible regeneration and processing after this command */ + reprocess = false; +# ifdef HAVE_LIBREADLINE + command_line[strlen(command_line) - 1] = '\0'; +# else + command_line[command_line_n - 1] = '\0'; +# endif + } + analyze_user_command (); + } + } + while (true); /* exit via call to exit or error() */ +} diff -Nru prerex-6.5.3/inout.c prerex-6.5.4/inout.c --- prerex-6.5.3/inout.c 1970-01-01 00:00:00.000000000 +0000 +++ prerex-6.5.4/inout.c 2014-04-23 00:31:35.000000000 +0000 @@ -0,0 +1,873 @@ +/* + inout.c -- input/output module for interactive editor of prerequisite-chart + descriptions + Copyright (c) 2005-12 R. D. Tennent + School of Computing, Queen's University, rdt@cs.queensu.ca + +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., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +*/ + +# include "prerex.h" + +element *first_node; +element *first_arrow; + +PRIVATE char line[LINE_LEN]; +PRIVATE char *lp; /* pointer into line */ +PRIVATE char *cp; /* pointer into text fields */ + +PRIVATE +FILE *pretext, /* whatever is in the tex_file before the chart */ + *posttext, /* whatever is in the tex_file after the chart */ + *comments; /* comment lines in the chart environment */ + +PRIVATE bool +gt (point p, point q) +/* ordering on boxes: top-to-bottom, left-to-right */ +{ + return (p.y > q.y || (p.y == q.y && p.x < q.x)); +} + +bool +eq (point p, point q) +{ + return (p.x == q.x && p.y == q.y); +} + +bool +insert_node (element * pn) +{ + element *p; + element **pp; + + /* ordered list */ + p = first_node; + pp = &(first_node); + while ((p != NULL) && gt (p->u.n.at, pn->u.n.at)) + { + pp = &(p->next); + p = p->next; + } + if ((p != NULL) && eq (p->u.n.at, pn->u.n.at)) + { + /* node at that point already */ + return true; + } + *pp = pn; + pn->next = p; + return false; +} /* insert_node */ + +element * +node_at (point p) +{ + element *pn = first_node; + while (pn != NULL && !eq (p, pn->u.n.at)) + pn = pn->next; + return pn; +} + +bool +insert_arrow (element * pa) +{ + element *p; + if (pa->u.a.source == NULL) return true; + if (pa->u.a.target == NULL) return true; + /* is the arrow already in the list? */ + p = first_arrow; + while (p != NULL && (p->u.a.target != pa->u.a.target || + p->u.a.source != pa->u.a.source)) + { + p = p->next; + } + if (p != NULL) return true; + pa->next = first_arrow; + first_arrow = pa; + return false; +} /*insert_arrow */ + + +PRIVATE coord +read_coord (void) +{ + coord c; + while (!isdigit (*lp) && *lp != '-') + lp++; + c = atoi (lp); + if (*lp == '-') + lp++; + while (isdigit (*lp)) + lp++; + return c; +} + +PRIVATE point +read_point (void) +{ + point pnt; + pnt.x = read_coord (); + pnt.y = read_coord (); + return pnt; +} + +PRIVATE void +read_textfield (char *limit) +{ + /* use recursion to allow for nested { ... } */ + if (lp >= &line[LINE_LEN]) + error ("Missing }."); + while (*lp != '}') + { + *cp = *lp; + if (*lp == '{') + { /* nested {...} */ + cp++; + lp++; + read_textfield (limit); + *cp = *lp; /* '}' */ + } + cp++; + lp++; + if (lp >= &line[LINE_LEN]) + error ("Missing }."); + if (cp >= limit) + { + puts (line); + error ("Text-field too long."); + } + } +} + +PRIVATE void +read_bracketed_textfield (char *limit) +{ + while (*lp != '{') + { + lp++; + if (lp >= &line[LINE_LEN]) + error ("Missing {."); + } + lp++; /* '{' */ + read_textfield (limit); + lp++; /* '}' */ + if (cp >= limit) + { + puts (line); + error ("Text-field too long."); + } + *cp = '\0'; +} + + +PRIVATE void +analyze_halfcourse (bool color) +{ + element *c; + c = (element *) malloc (sizeof (element)); + if (c == NULL) error ("Out of memory."); + c->tag = NODE; + c->u.n.tag = BOX; + lp = &line[10]; + c->u.n.u.b.req_opt = NEITHER; + c->u.n.u.b.half = true; + c->u.n.at = read_point (); + cp = &(c->u.n.code[0]); + read_bracketed_textfield (&(c->u.n.code[CODE_LEN])); + cp = &(c->u.n.u.b.title[0]); + read_bracketed_textfield (&(c->u.n.u.b.title[TITLE_LEN])); + cp = &(c->u.n.u.b.timetable[0]); + read_bracketed_textfield (&(c->u.n.u.b.timetable[TIMETABLE_LEN])); + cp = &(c->u.n.u.b.color[0]); + if (color) + { + read_bracketed_textfield (&(c->u.n.u.b.color[COLOR_LEN])); + } + else + *cp = '\0'; + if (insert_node (c)) + { + printf ("More than one node at %i,%i; only the first will be used.\n", c->u.n.at.x, c->u.n.at.y); + free (c); + } +} + +PRIVATE void +analyze_reqhalfcourse (bool color) +{ + element *c; + c = (element *) malloc (sizeof (element)); + if (c == NULL) error ("Out of memory."); + c->tag = NODE; + c->u.n.tag = BOX; + lp = &line[13]; + c->u.n.u.b.req_opt = REQ; + c->u.n.u.b.half = true; + c->u.n.at = read_point (); + cp = &(c->u.n.code[0]); + read_bracketed_textfield (&(c->u.n.code[CODE_LEN])); + cp = &(c->u.n.u.b.title[0]); + read_bracketed_textfield (&(c->u.n.u.b.title[TITLE_LEN])); + cp = &(c->u.n.u.b.timetable[0]); + read_bracketed_textfield (&(c->u.n.u.b.timetable[TIMETABLE_LEN])); + cp = &(c->u.n.u.b.color[0]); + if (color) + { + read_bracketed_textfield (&(c->u.n.u.b.color[COLOR_LEN])); + } + else + *cp = '\0'; + if (insert_node (c)) + { + printf ("More than one node at %i,%i; only the first will be used.\n", c->u.n.at.x, c->u.n.at.y); + free (c); + } +} + +PRIVATE void +analyze_opthalfcourse (bool color) +{ + element *c; + c = (element *) malloc (sizeof (element)); + if (c == NULL) error ("Out of memory."); + c->tag = NODE; + c->u.n.tag = BOX; + lp = &line[13]; + c->u.n.u.b.req_opt = OPT; + c->u.n.u.b.half = true; + c->u.n.at = read_point (); + cp = &(c->u.n.code[0]); + read_bracketed_textfield (&(c->u.n.code[CODE_LEN])); + cp = &(c->u.n.u.b.title[0]); + read_bracketed_textfield (&(c->u.n.u.b.title[TITLE_LEN])); + cp = &(c->u.n.u.b.timetable[0]); + read_bracketed_textfield (&(c->u.n.u.b.timetable[TIMETABLE_LEN])); + cp = &(c->u.n.u.b.color[0]); + if (color) + { + read_bracketed_textfield (&(c->u.n.u.b.color[COLOR_LEN])); + } + else + *cp = '\0'; + if (insert_node (c)) + { + printf ("More than one node at %i,%i; only the first will be used.\n", c->u.n.at.x, c->u.n.at.y); + free (c); + } +} + +PRIVATE void +analyze_fullcourse (bool color) +{ + element *c; + c = (element *) malloc (sizeof (element)); + if (c == NULL) error ("Out of memory."); + c->tag = NODE; + c->u.n.tag = BOX; + lp = &line[10]; + c->u.n.u.b.req_opt = NEITHER; + c->u.n.u.b.half = false; + c->u.n.at = read_point (); + cp = &(c->u.n.code[0]); + read_bracketed_textfield (&(c->u.n.code[CODE_LEN])); + cp = &(c->u.n.u.b.title[0]); + read_bracketed_textfield (&(c->u.n.u.b.title[TITLE_LEN])); + cp = &(c->u.n.u.b.timetable[0]); + read_bracketed_textfield (&(c->u.n.u.b.timetable[TIMETABLE_LEN])); + cp = &(c->u.n.u.b.color[0]); + if (color) + { + read_bracketed_textfield (&(c->u.n.u.b.color[COLOR_LEN])); + } + else + *cp = '\0'; + if (insert_node (c)) + { + printf ("More than one node at %i,%i; only the first will be used.\n", c->u.n.at.x, c->u.n.at.y); + free (c); + } +} + +PRIVATE void +analyze_reqfullcourse (bool color) +{ + element *c; + c = (element *) malloc (sizeof (element)); + if (c == NULL) error ("Out of memory."); + c->tag = NODE; + c->u.n.tag = BOX; + lp = &line[13]; + c->u.n.u.b.req_opt = REQ; + c->u.n.u.b.half = false; + c->u.n.at = read_point (); + cp = &(c->u.n.code[0]); + read_bracketed_textfield (&(c->u.n.code[CODE_LEN])); + cp = &(c->u.n.u.b.title[0]); + read_bracketed_textfield (&(c->u.n.u.b.title[TITLE_LEN])); + cp = &(c->u.n.u.b.timetable[0]); + read_bracketed_textfield (&(c->u.n.u.b.timetable[TIMETABLE_LEN])); + cp = &(c->u.n.u.b.color[0]); + if (color) + { + read_bracketed_textfield (&(c->u.n.u.b.color[COLOR_LEN])); + } + else + *cp = '\0'; + if (insert_node (c)) + { + printf ("More than one node at %i,%i; only the first will be used.\n", c->u.n.at.x, c->u.n.at.y); + free (c); + } +} + + +PRIVATE void +analyze_optfullcourse (bool color) +{ + element *c; + c = (element *) malloc (sizeof (element)); + if (c == NULL) error ("Out of memory."); + c->tag = NODE; + c->u.n.tag = BOX; + lp = &line[13]; + c->u.n.u.b.req_opt = OPT; + c->u.n.u.b.half = false; + c->u.n.at = read_point (); + cp = &(c->u.n.code[0]); + read_bracketed_textfield (&(c->u.n.code[CODE_LEN])); + cp = &(c->u.n.u.b.title[0]); + read_bracketed_textfield (&(c->u.n.u.b.title[TITLE_LEN])); + cp = &(c->u.n.u.b.timetable[0]); + read_bracketed_textfield (&(c->u.n.u.b.timetable[TIMETABLE_LEN])); + cp = &(c->u.n.u.b.color[0]); + if (color) + { + read_bracketed_textfield (&(c->u.n.u.b.color[COLOR_LEN])); + } + else + *cp = '\0'; + if (insert_node (c)) + { + printf ("More than one node at %i,%i; only the first will be used.\n", c->u.n.at.x, c->u.n.at.y); + free (c); + } +} + +PRIVATE void +analyze_mini (void) +{ + element *m; + m = (element *) malloc (sizeof (element)); + if (m == NULL) error ("Out of memory."); + m->tag = NODE; + m->u.n.tag = MINI; + lp = &line[4]; + m->u.n.at = read_point (); + cp = &(m->u.n.code[0]); + read_bracketed_textfield (&(m->u.n.code[CODE_LEN])); + if (insert_node (m)) + { + printf ("More than one node at %i,%i; only the first will be used.\n", m->u.n.at.x, m->u.n.at.y); + free (m); + } +} + +PRIVATE void +analyze_text (void) +{ + element *m; + m = (element *) malloc (sizeof (element)); + if (m == NULL) error ("Out of memory."); + m->tag = NODE; + m->u.n.tag = TEXT; + lp = &line[4]; + m->u.n.at = read_point (); + m->u.n.code[0] = '\0'; + cp = &(m->u.n.u.t.txt[0]); + read_bracketed_textfield (&(m->u.n.u.t.txt[LINE_LEN])); + if (insert_node (m)) + { + printf ("More than one node at %i,%i; only the first will be used.\n", m->u.n.at.x, m->u.n.at.y); + free (m); + } +} + +PRIVATE void +analyze_prereqc (void) +{ + element *a; + a = (element *) malloc (sizeof (element)); + if (a == NULL) error ("Out of memory."); + a->tag = ARROW; + a->u.a.tag = PREREQ; + lp = &line[7]; + a->u.a.source = node_at (read_point ()); + a->u.a.target = node_at (read_point ()); + a->u.a.curvature = read_coord (); + if (a->u.a.curvature > 100) a->u.a.curvature = -1; + if (insert_arrow (a)) + { + puts ("Arrow source or target don't exist, or more than one arrow with the same source and target."); + free (a); + } +} + +PRIVATE void +analyze_prereq (void) +{ + element *a; + a = (element *) malloc (sizeof (element)); + if (a == NULL) error ("Out of memory."); + a->tag = ARROW; + a->u.a.tag = PREREQ; + a->u.a.curvature = -1; + lp = &line[6]; + a->u.a.source = node_at (read_point ()); + a->u.a.target = node_at (read_point ()); + if (insert_arrow (a)) + { + puts ("Arrow source or target don't exist, or more than one arrow with the same source and target."); + free (a); + } +} + +PRIVATE void +analyze_coreq (void) +{ + element *a; + a = (element *) malloc (sizeof (element)); + if (a == NULL) error ("Out of memory."); + a->tag = ARROW; + a->u.a.tag = COREQ; + a->u.a.curvature = -1; + lp = &line[6]; + a->u.a.source = node_at (read_point ()); + a->u.a.target = node_at (read_point ()); + if (insert_arrow (a)) + { + puts ("Arrow source or target don't exist, or more than one arrow with the same source and target."); + free (a); + } +} + +PRIVATE void +analyze_coreqc (void) +{ + element *a; + a = (element *) malloc (sizeof (element)); + if (a == NULL) error ("Out of memory."); + a->tag = ARROW; + a->u.a.tag = COREQ; + lp = &line[7]; + a->u.a.source = node_at (read_point ()); + a->u.a.target = node_at (read_point ()); + a->u.a.curvature = read_coord (); + if (a->u.a.curvature > 100) a->u.a.curvature = -1; + if (insert_arrow (a)) + { + puts ("Arrow source or target don't exist, or more than one arrow with the same source and target."); + free (a); + } +} + +PRIVATE void +analyze_recomm (void) +{ + element *a; + a = (element *) malloc (sizeof (element)); + if (a == NULL) error ("Out of memory."); + a->tag = ARROW; + a->u.a.tag = RECOMM; + a->u.a.curvature = -1; + lp = &line[6]; + a->u.a.source = node_at (read_point ()); + a->u.a.target = node_at (read_point ()); + if (insert_arrow (a)) + { + puts ("Arrow source or target don't exist, or more than one arrow with the same source and target."); + free (a); + } +} + +PRIVATE void +analyze_recommc (void) +{ + element *a; + a = (element *) malloc (sizeof (element)); + if (a == NULL) error ("Out of memory."); + a->tag = ARROW; + a->u.a.tag = RECOMM; + lp = &line[7]; + a->u.a.source = node_at (read_point ()); + a->u.a.target = node_at (read_point ()); + a->u.a.curvature = read_coord (); + if (a->u.a.curvature > 100) a->u.a.curvature = -1; + if (insert_arrow (a)) + { + puts ("Arrow source or target don't exist, or more than one arrow with the same source and target."); + free (a); + } +} + + +PRIVATE bool +analyze_tex_command (void) +{ + if (fgets (line, LINE_LEN, tex_file) == NULL) + error ("Can't read LaTeX command."); + if (prefix ("halfcoursec", line)) + analyze_halfcourse (true); + else if (prefix ("reqhalfcoursec", line)) + analyze_reqhalfcourse (true); + else if (prefix ("opthalfcoursec", line)) + analyze_opthalfcourse (true); + else if (prefix ("fullcoursec", line)) + analyze_fullcourse (true); + else if (prefix ("reqfullcoursec", line)) + analyze_reqfullcourse (true); + else if (prefix ("optfullcoursec", line)) + analyze_optfullcourse (true); + else if (prefix ("halfcourse", line)) + analyze_halfcourse (false); + else if (prefix ("reqhalfcourse", line)) + analyze_reqhalfcourse (false); + else if (prefix ("opthalfcourse", line)) + analyze_opthalfcourse (false); + else if (prefix ("fullcourse", line)) + analyze_fullcourse (false); + else if (prefix ("reqfullcourse", line)) + analyze_reqfullcourse (false); + else if (prefix ("optfullcourse", line)) + analyze_optfullcourse (false); + else if (prefix ("mini", line)) + analyze_mini (); + else if (prefix ("text", line)) + analyze_text (); + else if (prefix ("prereqc", line)) + analyze_prereqc (); + else if (prefix ("prereq", line)) + analyze_prereq (); + else if (prefix ("coreqc", line)) + analyze_coreqc (); + else if (prefix ("coreq", line)) + analyze_coreq (); + else if (prefix ("recommc", line)) + analyze_recommc (); + else if (prefix ("recomm", line)) + analyze_recomm (); + else if (prefix ("grid", line)) + grid = true; + else if (prefix ("end{chart}", line)) + { + return true; + } + else + { + char msg[LINE_LEN + 24] = {'\0'}; + char *msg_n = msg; + append (msg, &msg_n, "Illegal command:\n ", sizeof (msg)); + append (msg, &msg_n, line, sizeof (msg)); + error (msg); + } + return false; +} + +void +close_files (void) +{ + fclose (pretext); + fclose (posttext); + fclose (comments); +} + +void +analyze_tex_file (void) /* tex file -> internal representation */ +{ + int ch; + bool flag; /* chart detected? */ + if ((pretext = tmpfile ()) == NULL) error ("Can't create temporary file."); + if ((posttext = tmpfile ()) == NULL) error ("Can't create temporary file."); + if ((comments = tmpfile ()) == NULL) error ("Can't create temporary file."); + first_node = NULL; + first_arrow = NULL; + fflush (tex_file); + rewind (tex_file); + printf ("Analyzing %s.\n", chartfilename); + ch = getc (tex_file); + while (ch != EOF) + { + if (ch == '\\') + { + fgets (line, LINE_LEN, tex_file); + flag = prefix ("begin{chart}", line); + putc ('\\', pretext); + fputs (line, pretext); + if (flag) + { + do + { ch = getc (tex_file);} + while (isspace (ch)); + while (true) + { + if (ch == '\\') + { + if (analyze_tex_command ()) + { + fprintf (posttext, "%s\n", "\\end{chart}"); + break; + } + } + else if (ch == '%') + { + fgets (line, LINE_LEN, tex_file); + putc ('%', comments); + fputs (line, comments); + } + else + error + ("Unexpected 1st non-whitespace character in line."); + do + { ch = getc (tex_file);} + while (isspace (ch)); + } + ch = getc (tex_file); + while (ch != EOF) + { + putc (ch, posttext); + ch = getc (tex_file); + } + } + } + else + { + putc (ch, pretext); + } + ch = getc (tex_file); + } +} /* analyze_tex_file */ + +PRIVATE void +output_node (element * p) +{ + if (p->u.n.tag == BOX) + { + putc ('\\', tex_file); + if (p->u.n.u.b.req_opt == REQ) + fprintf (tex_file, "req"); + else if (p->u.n.u.b.req_opt == OPT) + fprintf (tex_file, "opt"); + if (p->u.n.u.b.half) + { + fprintf (tex_file, "halfcourse"); + } + else + { + fprintf (tex_file, "fullcourse"); + } + if (p->u.n.u.b.color[0] == '\0') + fprintf (tex_file, + " %i,%i:{%s}{%s}{%s}\n", + p->u.n.at.x, p->u.n.at.y, p->u.n.code, + p->u.n.u.b.title, p->u.n.u.b.timetable); + else + fprintf (tex_file, + "c %i,%i:{%s}{%s}{%s}{%s}\n", + p->u.n.at.x, p->u.n.at.y, p->u.n.code, + p->u.n.u.b.title, p->u.n.u.b.timetable, p->u.n.u.b.color); + } + else if (p->u.n.tag == MINI) + { + fprintf (tex_file, + "\\mini %i,%i:{%s}\n", p->u.n.at.x, p->u.n.at.y, p->u.n.code); + } + else if (p->u.n.tag == TEXT) + { + fprintf (tex_file, + "\\text %i,%i:{%s}\n", p->u.n.at.x, p->u.n.at.y, p->u.n.u.t.txt); + } + else + error ("Undefined node type."); +} + +PRIVATE void +output_arrow (element * p) +{ + switch (p->u.a.tag) + { + case PREREQ: + if (p->u.a.curvature < 0) + { + fprintf (tex_file, + " \\prereq %i,%i,%i,%i:\n", + p->u.a.source->u.n.at.x, p->u.a.source->u.n.at.y, + p->u.a.target->u.n.at.x, p->u.a.target->u.n.at.y); + } + else + { + fprintf (tex_file, + " \\prereqc %i,%i,%i,%i;%i:\n", + p->u.a.source->u.n.at.x, p->u.a.source->u.n.at.y, + p->u.a.target->u.n.at.x, p->u.a.target->u.n.at.y, + p->u.a.curvature); + } + break; + case COREQ: + if (p->u.a.curvature < 0) + { + fprintf (tex_file, + " \\coreq %i,%i,%i,%i:\n", + p->u.a.source->u.n.at.x, p->u.a.source->u.n.at.y, + p->u.a.target->u.n.at.x, p->u.a.target->u.n.at.y); + } + else + { + fprintf (tex_file, + " \\coreqc %i,%i,%i,%i;%i:\n", + p->u.a.source->u.n.at.x, p->u.a.source->u.n.at.y, + p->u.a.target->u.n.at.x, p->u.a.target->u.n.at.y, + p->u.a.curvature); + } + break; + case RECOMM: + if (p->u.a.curvature < 0) + { + fprintf (tex_file, + " \\recomm %i,%i,%i,%i:\n", + p->u.a.source->u.n.at.x, p->u.a.source->u.n.at.y, + p->u.a.target->u.n.at.x, p->u.a.target->u.n.at.y); + } + else + { + fprintf (tex_file, + " \\recommc %i,%i,%i,%i;%i:\n", + p->u.a.source->u.n.at.x, p->u.a.source->u.n.at.y, + p->u.a.target->u.n.at.x, p->u.a.target->u.n.at.y, + p->u.a.curvature); + } + break; + default: + error ("Undefined arrow kind."); + } +} + +PRIVATE void +merge_lists (void) +{ + /* + Output nodes in order (top-to-bottom, left-to-right). + For each node, search for and output every arrow that targets that node, + provided its source node has already been output. + After output of an arrow, remove it from the arrow list and save it on the + save_arrow list; the remaining arrows haven't yet been output. + After output of all the nodes as above, process the remaining arrows, verifying + that their sources/targets haven't been cut or deleted. + Then restore the saved arrows. + */ + element *fn = first_node; + element *fa, **ffa; + element *save_arrow = NULL; /* arrows already output */ + while (fn != NULL) + { + output_node (fn); + ffa = &first_arrow; + fa = first_arrow; + while (fa != NULL) + { + if (fa->u.a.target == fn) + { + element *ffn = first_node; + /* verify that a source node has already been output: */ + while (ffn != fn && ffn != fa->u.a.source) + { + ffn = ffn->next; + } + if (ffn == fn) + { + /* source node not yet output; defer arrow output */ + ffa = &(fa->next); + fa = fa->next; + break; + } + output_arrow (fa); + /* move arrow to save_arrow list: */ + *ffa = fa->next; + fa->next = save_arrow; + save_arrow = fa; + fa = *ffa; + } + else + { + ffa = &(fa->next); + fa = fa->next; + } + } + fn = fn->next; + } + /* now output any remaining arrows (with source and target): */ + fa = first_arrow; + while (fa != NULL) + { + /* verify that there is a source node: */ + element *ffn = first_node; + while (ffn != NULL && ffn != fa->u.a.source) + { + ffn = ffn->next; + } + if (ffn == NULL) + { + fa = fa->next; + continue; + } + /* verify that there is a target node: */ + ffn = first_node; + while (ffn != NULL && ffn != fa->u.a.target) + { + ffn = ffn->next; + } + if (ffn == NULL) + { + fa = fa->next; + continue; + } + output_arrow (fa); + fa = fa->next; + } + /* restore saved arrows: */ + fa = save_arrow; + while (fa != NULL) + { + save_arrow = fa->next; + fa->next = first_arrow; + first_arrow = fa; + fa = save_arrow; + } +} + + +void +regenerate_tex_file (void) /* internal representation -> tex file */ +{ + printf ("Saving to %s.\n", chartfilename); + fclose (tex_file); + tex_file = fopen (chartfilename, "w+"); + copy (pretext, tex_file); + if (grid) + fprintf (tex_file, "\\grid\n"); + merge_lists (); + copy (comments, tex_file); + copy (posttext, tex_file); + fflush(tex_file); + rewind (tex_file); +} + diff -Nru prerex-6.5.3/INSTALL prerex-6.5.4/INSTALL --- prerex-6.5.3/INSTALL 1970-01-01 00:00:00.000000000 +0000 +++ prerex-6.5.4/INSTALL 2010-06-25 16:17:56.000000000 +0000 @@ -0,0 +1,236 @@ +Installation Instructions +************************* + +Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005 Free +Software Foundation, Inc. + +This file is free documentation; the Free Software Foundation gives +unlimited permission to copy, distribute and modify it. + +Basic Installation +================== + +These are generic installation instructions. + + The `configure' shell script attempts to guess correct values for +various system-dependent variables used during compilation. It uses +those values to create a `Makefile' in each directory of the package. +It may also create one or more `.h' files containing system-dependent +definitions. Finally, it creates a shell script `config.status' that +you can run in the future to recreate the current configuration, and a +file `config.log' containing compiler output (useful mainly for +debugging `configure'). + + It can also use an optional file (typically called `config.cache' +and enabled with `--cache-file=config.cache' or simply `-C') that saves +the results of its tests to speed up reconfiguring. (Caching is +disabled by default to prevent problems with accidental use of stale +cache files.) + + If you need to do unusual things to compile the package, please try +to figure out how `configure' could check whether to do them, and mail +diffs or instructions to the address given in the `README' so they can +be considered for the next release. If you are using the cache, and at +some point `config.cache' contains results you don't want to keep, you +may remove or edit it. + + The file `configure.ac' (or `configure.in') is used to create +`configure' by a program called `autoconf'. You only need +`configure.ac' if you want to change it or regenerate `configure' using +a newer version of `autoconf'. + +The simplest way to compile this package is: + + 1. `cd' to the directory containing the package's source code and type + `./configure' to configure the package for your system. If you're + using `csh' on an old version of System V, you might need to type + `sh ./configure' instead to prevent `csh' from trying to execute + `configure' itself. + + Running `configure' takes awhile. While running, it prints some + messages telling which features it is checking for. + + 2. Type `make' to compile the package. + + 3. Optionally, type `make check' to run any self-tests that come with + the package. + + 4. Type `make install' to install the programs and any data files and + documentation. + + 5. You can remove the program binaries and object files from the + source code directory by typing `make clean'. To also remove the + files that `configure' created (so you can compile the package for + a different kind of computer), type `make distclean'. There is + also a `make maintainer-clean' target, but that is intended mainly + for the package's developers. If you use it, you may have to get + all sorts of other programs in order to regenerate files that came + with the distribution. + +Compilers and Options +===================== + +Some systems require unusual options for compilation or linking that the +`configure' script does not know about. Run `./configure --help' for +details on some of the pertinent environment variables. + + You can give `configure' initial values for configuration parameters +by setting variables in the command line or in the environment. Here +is an example: + + ./configure CC=c89 CFLAGS=-O2 LIBS=-lposix + + *Note Defining Variables::, for more details. + +Compiling For Multiple Architectures +==================================== + +You can compile the package for more than one kind of computer at the +same time, by placing the object files for each architecture in their +own directory. To do this, you must use a version of `make' that +supports the `VPATH' variable, such as GNU `make'. `cd' to the +directory where you want the object files and executables to go and run +the `configure' script. `configure' automatically checks for the +source code in the directory that `configure' is in and in `..'. + + If you have to use a `make' that does not support the `VPATH' +variable, you have to compile the package for one architecture at a +time in the source code directory. After you have installed the +package for one architecture, use `make distclean' before reconfiguring +for another architecture. + +Installation Names +================== + +By default, `make install' installs the package's commands under +`/usr/local/bin', include files under `/usr/local/include', etc. You +can specify an installation prefix other than `/usr/local' by giving +`configure' the option `--prefix=PREFIX'. + + You can specify separate installation prefixes for +architecture-specific files and architecture-independent files. If you +pass the option `--exec-prefix=PREFIX' to `configure', the package uses +PREFIX as the prefix for installing programs and libraries. +Documentation and other data files still use the regular prefix. + + In addition, if you use an unusual directory layout you can give +options like `--bindir=DIR' to specify different values for particular +kinds of files. Run `configure --help' for a list of the directories +you can set and what kinds of files go in them. + + If the package supports it, you can cause programs to be installed +with an extra prefix or suffix on their names by giving `configure' the +option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. + +Optional Features +================= + +Some packages pay attention to `--enable-FEATURE' options to +`configure', where FEATURE indicates an optional part of the package. +They may also pay attention to `--with-PACKAGE' options, where PACKAGE +is something like `gnu-as' or `x' (for the X Window System). The +`README' should mention any `--enable-' and `--with-' options that the +package recognizes. + + For packages that use the X Window System, `configure' can usually +find the X include and library files automatically, but if it doesn't, +you can use the `configure' options `--x-includes=DIR' and +`--x-libraries=DIR' to specify their locations. + +Specifying the System Type +========================== + +There may be some features `configure' cannot figure out automatically, +but needs to determine by the type of machine the package will run on. +Usually, assuming the package is built to be run on the _same_ +architectures, `configure' can figure that out, but if it prints a +message saying it cannot guess the machine type, give it the +`--build=TYPE' option. TYPE can either be a short name for the system +type, such as `sun4', or a canonical name which has the form: + + CPU-COMPANY-SYSTEM + +where SYSTEM can have one of these forms: + + OS KERNEL-OS + + See the file `config.sub' for the possible values of each field. If +`config.sub' isn't included in this package, then this package doesn't +need to know the machine type. + + If you are _building_ compiler tools for cross-compiling, you should +use the option `--target=TYPE' to select the type of system they will +produce code for. + + If you want to _use_ a cross compiler, that generates code for a +platform different from the build platform, you should specify the +"host" platform (i.e., that on which the generated programs will +eventually be run) with `--host=TYPE'. + +Sharing Defaults +================ + +If you want to set default values for `configure' scripts to share, you +can create a site shell script called `config.site' that gives default +values for variables like `CC', `cache_file', and `prefix'. +`configure' looks for `PREFIX/share/config.site' if it exists, then +`PREFIX/etc/config.site' if it exists. Or, you can set the +`CONFIG_SITE' environment variable to the location of the site script. +A warning: not all `configure' scripts look for a site script. + +Defining Variables +================== + +Variables not defined in a site shell script can be set in the +environment passed to `configure'. However, some packages may run +configure again during the build, and the customized values of these +variables may be lost. In order to avoid this problem, you should set +them in the `configure' command line, using `VAR=value'. For example: + + ./configure CC=/usr/local2/bin/gcc + +causes the specified `gcc' to be used as the C compiler (unless it is +overridden in the site shell script). Here is a another example: + + /bin/bash ./configure CONFIG_SHELL=/bin/bash + +Here the `CONFIG_SHELL=/bin/bash' operand causes subsequent +configuration-related scripts to be executed by `/bin/bash'. + +`configure' Invocation +====================== + +`configure' recognizes the following options to control how it operates. + +`--help' +`-h' + Print a summary of the options to `configure', and exit. + +`--version' +`-V' + Print the version of Autoconf used to generate the `configure' + script, and exit. + +`--cache-file=FILE' + Enable the cache: use and save the results of the tests in FILE, + traditionally `config.cache'. FILE defaults to `/dev/null' to + disable caching. + +`--config-cache' +`-C' + Alias for `--cache-file=config.cache'. + +`--quiet' +`--silent' +`-q' + Do not print messages saying which checks are being made. To + suppress all normal output, redirect it to `/dev/null' (any error + messages will still be shown). + +`--srcdir=DIR' + Look for the package's source code in directory DIR. Usually + `configure' can determine that directory automatically. + +`configure' also accepts some other, not widely useful, options. Run +`configure --help' for more details. + diff -Nru prerex-6.5.3/install-sh prerex-6.5.4/install-sh --- prerex-6.5.3/install-sh 1970-01-01 00:00:00.000000000 +0000 +++ prerex-6.5.4/install-sh 2010-06-25 16:17:56.000000000 +0000 @@ -0,0 +1,323 @@ +#!/bin/sh +# install - install a program, script, or datafile + +scriptversion=2005-05-14.22 + +# This originates from X11R5 (mit/util/scripts/install.sh), which was +# later released in X11R6 (xc/config/util/install.sh) with the +# following copyright and license. +# +# Copyright (C) 1994 X Consortium +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- +# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +# +# Except as contained in this notice, the name of the X Consortium shall not +# be used in advertising or otherwise to promote the sale, use or other deal- +# ings in this Software without prior written authorization from the X Consor- +# tium. +# +# +# FSF changes to this file are in the public domain. +# +# Calling this script install-sh is preferred over install.sh, to prevent +# `make' implicit rules from creating a file called install from it +# when there is no Makefile. +# +# This script is compatible with the BSD install script, but was written +# from scratch. It can only install one file at a time, a restriction +# shared with many OS's install programs. + +# set DOITPROG to echo to test this script + +# Don't use :- since 4.3BSD and earlier shells don't like it. +doit="${DOITPROG-}" + +# put in absolute paths if you don't have them in your path; or use env. vars. + +mvprog="${MVPROG-mv}" +cpprog="${CPPROG-cp}" +chmodprog="${CHMODPROG-chmod}" +chownprog="${CHOWNPROG-chown}" +chgrpprog="${CHGRPPROG-chgrp}" +stripprog="${STRIPPROG-strip}" +rmprog="${RMPROG-rm}" +mkdirprog="${MKDIRPROG-mkdir}" + +chmodcmd="$chmodprog 0755" +chowncmd= +chgrpcmd= +stripcmd= +rmcmd="$rmprog -f" +mvcmd="$mvprog" +src= +dst= +dir_arg= +dstarg= +no_target_directory= + +usage="Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE + or: $0 [OPTION]... SRCFILES... DIRECTORY + or: $0 [OPTION]... -t DIRECTORY SRCFILES... + or: $0 [OPTION]... -d DIRECTORIES... + +In the 1st form, copy SRCFILE to DSTFILE. +In the 2nd and 3rd, copy all SRCFILES to DIRECTORY. +In the 4th, create DIRECTORIES. + +Options: +-c (ignored) +-d create directories instead of installing files. +-g GROUP $chgrpprog installed files to GROUP. +-m MODE $chmodprog installed files to MODE. +-o USER $chownprog installed files to USER. +-s $stripprog installed files. +-t DIRECTORY install into DIRECTORY. +-T report an error if DSTFILE is a directory. +--help display this help and exit. +--version display version info and exit. + +Environment variables override the default commands: + CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG +" + +while test -n "$1"; do + case $1 in + -c) shift + continue;; + + -d) dir_arg=true + shift + continue;; + + -g) chgrpcmd="$chgrpprog $2" + shift + shift + continue;; + + --help) echo "$usage"; exit $?;; + + -m) chmodcmd="$chmodprog $2" + shift + shift + continue;; + + -o) chowncmd="$chownprog $2" + shift + shift + continue;; + + -s) stripcmd=$stripprog + shift + continue;; + + -t) dstarg=$2 + shift + shift + continue;; + + -T) no_target_directory=true + shift + continue;; + + --version) echo "$0 $scriptversion"; exit $?;; + + *) # When -d is used, all remaining arguments are directories to create. + # When -t is used, the destination is already specified. + test -n "$dir_arg$dstarg" && break + # Otherwise, the last argument is the destination. Remove it from $@. + for arg + do + if test -n "$dstarg"; then + # $@ is not empty: it contains at least $arg. + set fnord "$@" "$dstarg" + shift # fnord + fi + shift # arg + dstarg=$arg + done + break;; + esac +done + +if test -z "$1"; then + if test -z "$dir_arg"; then + echo "$0: no input file specified." >&2 + exit 1 + fi + # It's OK to call `install-sh -d' without argument. + # This can happen when creating conditional directories. + exit 0 +fi + +for src +do + # Protect names starting with `-'. + case $src in + -*) src=./$src ;; + esac + + if test -n "$dir_arg"; then + dst=$src + src= + + if test -d "$dst"; then + mkdircmd=: + chmodcmd= + else + mkdircmd=$mkdirprog + fi + else + # Waiting for this to be detected by the "$cpprog $src $dsttmp" command + # might cause directories to be created, which would be especially bad + # if $src (and thus $dsttmp) contains '*'. + if test ! -f "$src" && test ! -d "$src"; then + echo "$0: $src does not exist." >&2 + exit 1 + fi + + if test -z "$dstarg"; then + echo "$0: no destination specified." >&2 + exit 1 + fi + + dst=$dstarg + # Protect names starting with `-'. + case $dst in + -*) dst=./$dst ;; + esac + + # If destination is a directory, append the input filename; won't work + # if double slashes aren't ignored. + if test -d "$dst"; then + if test -n "$no_target_directory"; then + echo "$0: $dstarg: Is a directory" >&2 + exit 1 + fi + dst=$dst/`basename "$src"` + fi + fi + + # This sed command emulates the dirname command. + dstdir=`echo "$dst" | sed -e 's,/*$,,;s,[^/]*$,,;s,/*$,,;s,^$,.,'` + + # Make sure that the destination directory exists. + + # Skip lots of stat calls in the usual case. + if test ! -d "$dstdir"; then + defaultIFS=' + ' + IFS="${IFS-$defaultIFS}" + + oIFS=$IFS + # Some sh's can't handle IFS=/ for some reason. + IFS='%' + set x `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'` + shift + IFS=$oIFS + + pathcomp= + + while test $# -ne 0 ; do + pathcomp=$pathcomp$1 + shift + if test ! -d "$pathcomp"; then + $mkdirprog "$pathcomp" + # mkdir can fail with a `File exist' error in case several + # install-sh are creating the directory concurrently. This + # is OK. + test -d "$pathcomp" || exit + fi + pathcomp=$pathcomp/ + done + fi + + if test -n "$dir_arg"; then + $doit $mkdircmd "$dst" \ + && { test -z "$chowncmd" || $doit $chowncmd "$dst"; } \ + && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } \ + && { test -z "$stripcmd" || $doit $stripcmd "$dst"; } \ + && { test -z "$chmodcmd" || $doit $chmodcmd "$dst"; } + + else + dstfile=`basename "$dst"` + + # Make a couple of temp file names in the proper directory. + dsttmp=$dstdir/_inst.$$_ + rmtmp=$dstdir/_rm.$$_ + + # Trap to clean up those temp files at exit. + trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 + trap '(exit $?); exit' 1 2 13 15 + + # Copy the file name to the temp name. + $doit $cpprog "$src" "$dsttmp" && + + # and set any options; do chmod last to preserve setuid bits. + # + # If any of these fail, we abort the whole thing. If we want to + # ignore errors from any of these, just make sure not to ignore + # errors from the above "$doit $cpprog $src $dsttmp" command. + # + { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \ + && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \ + && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \ + && { test -z "$chmodcmd" || $doit $chmodcmd "$dsttmp"; } && + + # Now rename the file to the real destination. + { $doit $mvcmd -f "$dsttmp" "$dstdir/$dstfile" 2>/dev/null \ + || { + # The rename failed, perhaps because mv can't rename something else + # to itself, or perhaps because mv is so ancient that it does not + # support -f. + + # Now remove or move aside any old file at destination location. + # We try this two ways since rm can't unlink itself on some + # systems and the destination file might be busy for other + # reasons. In this case, the final cleanup might fail but the new + # file should still install successfully. + { + if test -f "$dstdir/$dstfile"; then + $doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null \ + || $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null \ + || { + echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2 + (exit 1); exit 1 + } + else + : + fi + } && + + # Now rename the file to the real destination. + $doit $mvcmd "$dsttmp" "$dstdir/$dstfile" + } + } + fi || { (exit 1); exit 1; } +done + +# The final little trick to "correctly" pass the exit status to the exit trap. +{ + (exit 0); exit 0 +} + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-end: "$" +# End: diff -Nru prerex-6.5.3/Makefile.am prerex-6.5.4/Makefile.am --- prerex-6.5.3/Makefile.am 1970-01-01 00:00:00.000000000 +0000 +++ prerex-6.5.4/Makefile.am 2014-07-19 13:48:57.000000000 +0000 @@ -0,0 +1,5 @@ +bin_PROGRAMS = prerex +prerex_SOURCES = prerex.h prerex.c inout.c edit.c utils.c +prerex_CFLAGS = -O4 -Wall -Wextra -pedantic-errors +man_MANS = prerex.1 prerex.5 +EXTRA_DIST = $(man_MANS) diff -Nru prerex-6.5.3/Makefile.in prerex-6.5.4/Makefile.in --- prerex-6.5.3/Makefile.in 1970-01-01 00:00:00.000000000 +0000 +++ prerex-6.5.4/Makefile.in 2014-07-19 15:22:06.000000000 +0000 @@ -0,0 +1,818 @@ +# Makefile.in generated by automake 1.11.1 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, +# Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +bin_PROGRAMS = prerex$(EXEEXT) +subdir = . +DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \ + $(srcdir)/Makefile.in $(srcdir)/config.h.in \ + $(top_srcdir)/configure AUTHORS COPYING ChangeLog INSTALL NEWS \ + compile depcomp install-sh missing +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ + configure.lineno config.status.lineno +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = config.h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)" \ + "$(DESTDIR)$(man5dir)" +PROGRAMS = $(bin_PROGRAMS) +am_prerex_OBJECTS = prerex-prerex.$(OBJEXT) prerex-inout.$(OBJEXT) \ + prerex-edit.$(OBJEXT) prerex-utils.$(OBJEXT) +prerex_OBJECTS = $(am_prerex_OBJECTS) +prerex_LDADD = $(LDADD) +prerex_LINK = $(CCLD) $(prerex_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ +DEFAULT_INCLUDES = -I.@am__isrc@ +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__depfiles_maybe = depfiles +am__mv = mv -f +AM_V_lt = $(am__v_lt_$(V)) +am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) +am__v_lt_0 = --silent +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +AM_V_CC = $(am__v_CC_$(V)) +am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY)) +am__v_CC_0 = @echo " CC " $@; +AM_V_at = $(am__v_at_$(V)) +am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) +am__v_at_0 = @ +CCLD = $(CC) +LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +AM_V_CCLD = $(am__v_CCLD_$(V)) +am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY)) +am__v_CCLD_0 = @echo " CCLD " $@; +AM_V_GEN = $(am__v_GEN_$(V)) +am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) +am__v_GEN_0 = @echo " GEN " $@; +SOURCES = $(prerex_SOURCES) +DIST_SOURCES = $(prerex_SOURCES) +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +man1dir = $(mandir)/man1 +man5dir = $(mandir)/man5 +NROFF = nroff +MANS = $(man_MANS) +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +distdir = $(PACKAGE)-$(VERSION) +top_distdir = $(distdir) +am__remove_distdir = \ + { test ! -d "$(distdir)" \ + || { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ + && rm -fr "$(distdir)"; }; } +DIST_ARCHIVES = $(distdir).tar.gz +GZIP_ENV = --best +distuninstallcheck_listfiles = find . -type f -print +distcleancheck_listfiles = find . -type f -print +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +GREP = @GREP@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LTLIBOBJS = @LTLIBOBJS@ +MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_CC = @ac_ct_CC@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build_alias = @build_alias@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host_alias = @host_alias@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +prerex_SOURCES = prerex.h prerex.c inout.c edit.c utils.c +prerex_CFLAGS = -O4 -Wall -Wextra -pedantic-errors +man_MANS = prerex.1 prerex.5 +EXTRA_DIST = $(man_MANS) +all: config.h + $(MAKE) $(AM_MAKEFLAGS) all-am + +.SUFFIXES: +.SUFFIXES: .c .o .obj +am--refresh: + @: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + echo ' cd $(srcdir) && $(AUTOMAKE) --gnu'; \ + $(am__cd) $(srcdir) && $(AUTOMAKE) --gnu \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + echo ' $(SHELL) ./config.status'; \ + $(SHELL) ./config.status;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + $(SHELL) ./config.status --recheck + +$(top_srcdir)/configure: $(am__configure_deps) + $(am__cd) $(srcdir) && $(AUTOCONF) +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) +$(am__aclocal_m4_deps): + +config.h: stamp-h1 + @if test ! -f $@; then \ + rm -f stamp-h1; \ + $(MAKE) $(AM_MAKEFLAGS) stamp-h1; \ + else :; fi + +stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status + @rm -f stamp-h1 + cd $(top_builddir) && $(SHELL) ./config.status config.h +$(srcdir)/config.h.in: $(am__configure_deps) + ($(am__cd) $(top_srcdir) && $(AUTOHEADER)) + rm -f stamp-h1 + touch $@ + +distclean-hdr: + -rm -f config.h stamp-h1 +install-binPROGRAMS: $(bin_PROGRAMS) + @$(NORMAL_INSTALL) + test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)" + @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ + for p in $$list; do echo "$$p $$p"; done | \ + sed 's/$(EXEEXT)$$//' | \ + while read p p1; do if test -f $$p; \ + then echo "$$p"; echo "$$p"; else :; fi; \ + done | \ + sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \ + -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ + sed 'N;N;N;s,\n, ,g' | \ + $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ + { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ + if ($$2 == $$4) files[d] = files[d] " " $$1; \ + else { print "f", $$3 "/" $$4, $$1; } } \ + END { for (d in files) print "f", d, files[d] }' | \ + while read type dir files; do \ + if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ + test -z "$$files" || { \ + echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \ + $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ + } \ + ; done + +uninstall-binPROGRAMS: + @$(NORMAL_UNINSTALL) + @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ + files=`for p in $$list; do echo "$$p"; done | \ + sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ + -e 's/$$/$(EXEEXT)/' `; \ + test -n "$$list" || exit 0; \ + echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \ + cd "$(DESTDIR)$(bindir)" && rm -f $$files + +clean-binPROGRAMS: + -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) +prerex$(EXEEXT): $(prerex_OBJECTS) $(prerex_DEPENDENCIES) + @rm -f prerex$(EXEEXT) + $(AM_V_CCLD)$(prerex_LINK) $(prerex_OBJECTS) $(prerex_LDADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/prerex-edit.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/prerex-inout.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/prerex-prerex.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/prerex-utils.Po@am__quote@ + +.c.o: +@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c $< + +.c.obj: +@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` + +prerex-prerex.o: prerex.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(prerex_CFLAGS) $(CFLAGS) -MT prerex-prerex.o -MD -MP -MF $(DEPDIR)/prerex-prerex.Tpo -c -o prerex-prerex.o `test -f 'prerex.c' || echo '$(srcdir)/'`prerex.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/prerex-prerex.Tpo $(DEPDIR)/prerex-prerex.Po +@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='prerex.c' object='prerex-prerex.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(prerex_CFLAGS) $(CFLAGS) -c -o prerex-prerex.o `test -f 'prerex.c' || echo '$(srcdir)/'`prerex.c + +prerex-prerex.obj: prerex.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(prerex_CFLAGS) $(CFLAGS) -MT prerex-prerex.obj -MD -MP -MF $(DEPDIR)/prerex-prerex.Tpo -c -o prerex-prerex.obj `if test -f 'prerex.c'; then $(CYGPATH_W) 'prerex.c'; else $(CYGPATH_W) '$(srcdir)/prerex.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/prerex-prerex.Tpo $(DEPDIR)/prerex-prerex.Po +@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='prerex.c' object='prerex-prerex.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(prerex_CFLAGS) $(CFLAGS) -c -o prerex-prerex.obj `if test -f 'prerex.c'; then $(CYGPATH_W) 'prerex.c'; else $(CYGPATH_W) '$(srcdir)/prerex.c'; fi` + +prerex-inout.o: inout.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(prerex_CFLAGS) $(CFLAGS) -MT prerex-inout.o -MD -MP -MF $(DEPDIR)/prerex-inout.Tpo -c -o prerex-inout.o `test -f 'inout.c' || echo '$(srcdir)/'`inout.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/prerex-inout.Tpo $(DEPDIR)/prerex-inout.Po +@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='inout.c' object='prerex-inout.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(prerex_CFLAGS) $(CFLAGS) -c -o prerex-inout.o `test -f 'inout.c' || echo '$(srcdir)/'`inout.c + +prerex-inout.obj: inout.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(prerex_CFLAGS) $(CFLAGS) -MT prerex-inout.obj -MD -MP -MF $(DEPDIR)/prerex-inout.Tpo -c -o prerex-inout.obj `if test -f 'inout.c'; then $(CYGPATH_W) 'inout.c'; else $(CYGPATH_W) '$(srcdir)/inout.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/prerex-inout.Tpo $(DEPDIR)/prerex-inout.Po +@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='inout.c' object='prerex-inout.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(prerex_CFLAGS) $(CFLAGS) -c -o prerex-inout.obj `if test -f 'inout.c'; then $(CYGPATH_W) 'inout.c'; else $(CYGPATH_W) '$(srcdir)/inout.c'; fi` + +prerex-edit.o: edit.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(prerex_CFLAGS) $(CFLAGS) -MT prerex-edit.o -MD -MP -MF $(DEPDIR)/prerex-edit.Tpo -c -o prerex-edit.o `test -f 'edit.c' || echo '$(srcdir)/'`edit.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/prerex-edit.Tpo $(DEPDIR)/prerex-edit.Po +@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='edit.c' object='prerex-edit.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(prerex_CFLAGS) $(CFLAGS) -c -o prerex-edit.o `test -f 'edit.c' || echo '$(srcdir)/'`edit.c + +prerex-edit.obj: edit.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(prerex_CFLAGS) $(CFLAGS) -MT prerex-edit.obj -MD -MP -MF $(DEPDIR)/prerex-edit.Tpo -c -o prerex-edit.obj `if test -f 'edit.c'; then $(CYGPATH_W) 'edit.c'; else $(CYGPATH_W) '$(srcdir)/edit.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/prerex-edit.Tpo $(DEPDIR)/prerex-edit.Po +@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='edit.c' object='prerex-edit.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(prerex_CFLAGS) $(CFLAGS) -c -o prerex-edit.obj `if test -f 'edit.c'; then $(CYGPATH_W) 'edit.c'; else $(CYGPATH_W) '$(srcdir)/edit.c'; fi` + +prerex-utils.o: utils.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(prerex_CFLAGS) $(CFLAGS) -MT prerex-utils.o -MD -MP -MF $(DEPDIR)/prerex-utils.Tpo -c -o prerex-utils.o `test -f 'utils.c' || echo '$(srcdir)/'`utils.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/prerex-utils.Tpo $(DEPDIR)/prerex-utils.Po +@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='utils.c' object='prerex-utils.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(prerex_CFLAGS) $(CFLAGS) -c -o prerex-utils.o `test -f 'utils.c' || echo '$(srcdir)/'`utils.c + +prerex-utils.obj: utils.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(prerex_CFLAGS) $(CFLAGS) -MT prerex-utils.obj -MD -MP -MF $(DEPDIR)/prerex-utils.Tpo -c -o prerex-utils.obj `if test -f 'utils.c'; then $(CYGPATH_W) 'utils.c'; else $(CYGPATH_W) '$(srcdir)/utils.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/prerex-utils.Tpo $(DEPDIR)/prerex-utils.Po +@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='utils.c' object='prerex-utils.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(prerex_CFLAGS) $(CFLAGS) -c -o prerex-utils.obj `if test -f 'utils.c'; then $(CYGPATH_W) 'utils.c'; else $(CYGPATH_W) '$(srcdir)/utils.c'; fi` +install-man1: $(man_MANS) + @$(NORMAL_INSTALL) + test -z "$(man1dir)" || $(MKDIR_P) "$(DESTDIR)$(man1dir)" + @list=''; test -n "$(man1dir)" || exit 0; \ + { for i in $$list; do echo "$$i"; done; \ + l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ + sed -n '/\.1[a-z]*$$/p'; \ + } | while read p; do \ + if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; echo "$$p"; \ + done | \ + sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ + -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ + sed 'N;N;s,\n, ,g' | { \ + list=; while read file base inst; do \ + if test "$$base" = "$$inst"; then list="$$list $$file"; else \ + echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \ + $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \ + fi; \ + done; \ + for i in $$list; do echo "$$i"; done | $(am__base_list) | \ + while read files; do \ + test -z "$$files" || { \ + echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \ + $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \ + done; } + +uninstall-man1: + @$(NORMAL_UNINSTALL) + @list=''; test -n "$(man1dir)" || exit 0; \ + files=`{ for i in $$list; do echo "$$i"; done; \ + l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ + sed -n '/\.1[a-z]*$$/p'; \ + } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ + -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ + test -z "$$files" || { \ + echo " ( cd '$(DESTDIR)$(man1dir)' && rm -f" $$files ")"; \ + cd "$(DESTDIR)$(man1dir)" && rm -f $$files; } +install-man5: $(man_MANS) + @$(NORMAL_INSTALL) + test -z "$(man5dir)" || $(MKDIR_P) "$(DESTDIR)$(man5dir)" + @list=''; test -n "$(man5dir)" || exit 0; \ + { for i in $$list; do echo "$$i"; done; \ + l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ + sed -n '/\.5[a-z]*$$/p'; \ + } | while read p; do \ + if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; echo "$$p"; \ + done | \ + sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^5][0-9a-z]*$$,5,;x' \ + -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ + sed 'N;N;s,\n, ,g' | { \ + list=; while read file base inst; do \ + if test "$$base" = "$$inst"; then list="$$list $$file"; else \ + echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man5dir)/$$inst'"; \ + $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man5dir)/$$inst" || exit $$?; \ + fi; \ + done; \ + for i in $$list; do echo "$$i"; done | $(am__base_list) | \ + while read files; do \ + test -z "$$files" || { \ + echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man5dir)'"; \ + $(INSTALL_DATA) $$files "$(DESTDIR)$(man5dir)" || exit $$?; }; \ + done; } + +uninstall-man5: + @$(NORMAL_UNINSTALL) + @list=''; test -n "$(man5dir)" || exit 0; \ + files=`{ for i in $$list; do echo "$$i"; done; \ + l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ + sed -n '/\.5[a-z]*$$/p'; \ + } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^5][0-9a-z]*$$,5,;x' \ + -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ + test -z "$$files" || { \ + echo " ( cd '$(DESTDIR)$(man5dir)' && rm -f" $$files ")"; \ + cd "$(DESTDIR)$(man5dir)" && rm -f $$files; } + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + set x; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @list='$(MANS)'; if test -n "$$list"; then \ + list=`for p in $$list; do \ + if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ + if test -f "$$d$$p"; then echo "$$d$$p"; else :; fi; done`; \ + if test -n "$$list" && \ + grep 'ab help2man is required to generate this page' $$list >/dev/null; then \ + echo "error: found man pages containing the \`missing help2man' replacement text:" >&2; \ + grep -l 'ab help2man is required to generate this page' $$list | sed 's/^/ /' >&2; \ + echo " to fix them, install help2man, remove and regenerate the man pages;" >&2; \ + echo " typically \`make maintainer-clean' will remove them" >&2; \ + exit 1; \ + else :; fi; \ + else :; fi + $(am__remove_distdir) + test -d "$(distdir)" || mkdir "$(distdir)" + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done + -test -n "$(am__skip_mode_fix)" \ + || find "$(distdir)" -type d ! -perm -755 \ + -exec chmod u+rwx,go+rx {} \; -o \ + ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ + || chmod -R a+r "$(distdir)" +dist-gzip: distdir + tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz + $(am__remove_distdir) + +dist-bzip2: distdir + tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2 + $(am__remove_distdir) + +dist-lzma: distdir + tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma + $(am__remove_distdir) + +dist-xz: distdir + tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz + $(am__remove_distdir) + +dist-tarZ: distdir + tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z + $(am__remove_distdir) + +dist-shar: distdir + shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz + $(am__remove_distdir) + +dist-zip: distdir + -rm -f $(distdir).zip + zip -rq $(distdir).zip $(distdir) + $(am__remove_distdir) + +dist dist-all: distdir + tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz + $(am__remove_distdir) + +# This target untars the dist file and tries a VPATH configuration. Then +# it guarantees that the distribution is self-contained by making another +# tarfile. +distcheck: dist + case '$(DIST_ARCHIVES)' in \ + *.tar.gz*) \ + GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\ + *.tar.bz2*) \ + bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ + *.tar.lzma*) \ + lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\ + *.tar.xz*) \ + xz -dc $(distdir).tar.xz | $(am__untar) ;;\ + *.tar.Z*) \ + uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ + *.shar.gz*) \ + GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\ + *.zip*) \ + unzip $(distdir).zip ;;\ + esac + chmod -R a-w $(distdir); chmod u+w $(distdir) + mkdir $(distdir)/_build + mkdir $(distdir)/_inst + chmod a-w $(distdir) + test -d $(distdir)/_build || exit 0; \ + dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ + && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ + && am__cwd=`pwd` \ + && $(am__cd) $(distdir)/_build \ + && ../configure --srcdir=.. --prefix="$$dc_install_base" \ + $(DISTCHECK_CONFIGURE_FLAGS) \ + && $(MAKE) $(AM_MAKEFLAGS) \ + && $(MAKE) $(AM_MAKEFLAGS) dvi \ + && $(MAKE) $(AM_MAKEFLAGS) check \ + && $(MAKE) $(AM_MAKEFLAGS) install \ + && $(MAKE) $(AM_MAKEFLAGS) installcheck \ + && $(MAKE) $(AM_MAKEFLAGS) uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ + distuninstallcheck \ + && chmod -R a-w "$$dc_install_base" \ + && ({ \ + (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ + distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ + } || { rm -rf "$$dc_destdir"; exit 1; }) \ + && rm -rf "$$dc_destdir" \ + && $(MAKE) $(AM_MAKEFLAGS) dist \ + && rm -rf $(DIST_ARCHIVES) \ + && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \ + && cd "$$am__cwd" \ + || exit 1 + $(am__remove_distdir) + @(echo "$(distdir) archives ready for distribution: "; \ + list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ + sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' +distuninstallcheck: + @$(am__cd) '$(distuninstallcheck_dir)' \ + && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ + || { echo "ERROR: files left after uninstall:" ; \ + if test -n "$(DESTDIR)"; then \ + echo " (check DESTDIR support)"; \ + fi ; \ + $(distuninstallcheck_listfiles) ; \ + exit 1; } >&2 +distcleancheck: distclean + @if test '$(srcdir)' = . ; then \ + echo "ERROR: distcleancheck can only run from a VPATH build" ; \ + exit 1 ; \ + fi + @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ + || { echo "ERROR: files left in build directory after distclean:" ; \ + $(distcleancheck_listfiles) ; \ + exit 1; } >&2 +check-am: all-am +check: check-am +all-am: Makefile $(PROGRAMS) $(MANS) config.h +installdirs: + for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man5dir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-binPROGRAMS clean-generic mostlyclean-am + +distclean: distclean-am + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-hdr distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: install-man + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: install-binPROGRAMS + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: install-man1 install-man5 + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -rf $(top_srcdir)/autom4te.cache + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-binPROGRAMS uninstall-man + +uninstall-man: uninstall-man1 uninstall-man5 + +.MAKE: all install-am install-strip + +.PHONY: CTAGS GTAGS all all-am am--refresh check check-am clean \ + clean-binPROGRAMS clean-generic ctags dist dist-all dist-bzip2 \ + dist-gzip dist-lzma dist-shar dist-tarZ dist-xz dist-zip \ + distcheck distclean distclean-compile distclean-generic \ + distclean-hdr distclean-tags distcleancheck distdir \ + distuninstallcheck dvi dvi-am html html-am info info-am \ + install install-am install-binPROGRAMS install-data \ + install-data-am install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am install-info \ + install-info-am install-man install-man1 install-man5 \ + install-pdf install-pdf-am install-ps install-ps-am \ + install-strip installcheck installcheck-am installdirs \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-compile mostlyclean-generic pdf pdf-am ps ps-am \ + tags uninstall uninstall-am uninstall-binPROGRAMS \ + uninstall-man uninstall-man1 uninstall-man5 + + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff -Nru prerex-6.5.3/missing prerex-6.5.4/missing --- prerex-6.5.3/missing 1970-01-01 00:00:00.000000000 +0000 +++ prerex-6.5.4/missing 2010-06-25 16:17:56.000000000 +0000 @@ -0,0 +1,360 @@ +#! /bin/sh +# Common stub for a few missing GNU programs while installing. + +scriptversion=2005-06-08.21 + +# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005 +# Free Software Foundation, Inc. +# Originally by Fran,cois Pinard , 1996. + +# 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, 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., 51 Franklin Street, Fifth Floor, Boston, MA +# 02110-1301, USA. + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +if test $# -eq 0; then + echo 1>&2 "Try \`$0 --help' for more information" + exit 1 +fi + +run=: + +# In the cases where this matters, `missing' is being run in the +# srcdir already. +if test -f configure.ac; then + configure_ac=configure.ac +else + configure_ac=configure.in +fi + +msg="missing on your system" + +case "$1" in +--run) + # Try to run requested program, and just exit if it succeeds. + run= + shift + "$@" && exit 0 + # Exit code 63 means version mismatch. This often happens + # when the user try to use an ancient version of a tool on + # a file that requires a minimum version. In this case we + # we should proceed has if the program had been absent, or + # if --run hadn't been passed. + if test $? = 63; then + run=: + msg="probably too old" + fi + ;; + + -h|--h|--he|--hel|--help) + echo "\ +$0 [OPTION]... PROGRAM [ARGUMENT]... + +Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an +error status if there is no known handling for PROGRAM. + +Options: + -h, --help display this help and exit + -v, --version output version information and exit + --run try to run the given command, and emulate it if it fails + +Supported PROGRAM values: + aclocal touch file \`aclocal.m4' + autoconf touch file \`configure' + autoheader touch file \`config.h.in' + automake touch all \`Makefile.in' files + bison create \`y.tab.[ch]', if possible, from existing .[ch] + flex create \`lex.yy.c', if possible, from existing .c + help2man touch the output file + lex create \`lex.yy.c', if possible, from existing .c + makeinfo touch the output file + tar try tar, gnutar, gtar, then tar without non-portable flags + yacc create \`y.tab.[ch]', if possible, from existing .[ch] + +Send bug reports to ." + exit $? + ;; + + -v|--v|--ve|--ver|--vers|--versi|--versio|--version) + echo "missing $scriptversion (GNU Automake)" + exit $? + ;; + + -*) + echo 1>&2 "$0: Unknown \`$1' option" + echo 1>&2 "Try \`$0 --help' for more information" + exit 1 + ;; + +esac + +# Now exit if we have it, but it failed. Also exit now if we +# don't have it and --version was passed (most likely to detect +# the program). +case "$1" in + lex|yacc) + # Not GNU programs, they don't have --version. + ;; + + tar) + if test -n "$run"; then + echo 1>&2 "ERROR: \`tar' requires --run" + exit 1 + elif test "x$2" = "x--version" || test "x$2" = "x--help"; then + exit 1 + fi + ;; + + *) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + elif test "x$2" = "x--version" || test "x$2" = "x--help"; then + # Could not run --version or --help. This is probably someone + # running `$TOOL --version' or `$TOOL --help' to check whether + # $TOOL exists and not knowing $TOOL uses missing. + exit 1 + fi + ;; +esac + +# If it does not exist, or fails to run (possibly an outdated version), +# try to emulate it. +case "$1" in + aclocal*) + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified \`acinclude.m4' or \`${configure_ac}'. You might want + to install the \`Automake' and \`Perl' packages. Grab them from + any GNU archive site." + touch aclocal.m4 + ;; + + autoconf) + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified \`${configure_ac}'. You might want to install the + \`Autoconf' and \`GNU m4' packages. Grab them from any GNU + archive site." + touch configure + ;; + + autoheader) + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified \`acconfig.h' or \`${configure_ac}'. You might want + to install the \`Autoconf' and \`GNU m4' packages. Grab them + from any GNU archive site." + files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}` + test -z "$files" && files="config.h" + touch_files= + for f in $files; do + case "$f" in + *:*) touch_files="$touch_files "`echo "$f" | + sed -e 's/^[^:]*://' -e 's/:.*//'`;; + *) touch_files="$touch_files $f.in";; + esac + done + touch $touch_files + ;; + + automake*) + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'. + You might want to install the \`Automake' and \`Perl' packages. + Grab them from any GNU archive site." + find . -type f -name Makefile.am -print | + sed 's/\.am$/.in/' | + while read f; do touch "$f"; done + ;; + + autom4te) + echo 1>&2 "\ +WARNING: \`$1' is needed, but is $msg. + You might have modified some files without having the + proper tools for further handling them. + You can get \`$1' as part of \`Autoconf' from any GNU + archive site." + + file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'` + test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'` + if test -f "$file"; then + touch $file + else + test -z "$file" || exec >$file + echo "#! /bin/sh" + echo "# Created by GNU Automake missing as a replacement of" + echo "# $ $@" + echo "exit 0" + chmod +x $file + exit 1 + fi + ;; + + bison|yacc) + echo 1>&2 "\ +WARNING: \`$1' $msg. You should only need it if + you modified a \`.y' file. You may need the \`Bison' package + in order for those modifications to take effect. You can get + \`Bison' from any GNU archive site." + rm -f y.tab.c y.tab.h + if [ $# -ne 1 ]; then + eval LASTARG="\${$#}" + case "$LASTARG" in + *.y) + SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` + if [ -f "$SRCFILE" ]; then + cp "$SRCFILE" y.tab.c + fi + SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` + if [ -f "$SRCFILE" ]; then + cp "$SRCFILE" y.tab.h + fi + ;; + esac + fi + if [ ! -f y.tab.h ]; then + echo >y.tab.h + fi + if [ ! -f y.tab.c ]; then + echo 'main() { return 0; }' >y.tab.c + fi + ;; + + lex|flex) + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified a \`.l' file. You may need the \`Flex' package + in order for those modifications to take effect. You can get + \`Flex' from any GNU archive site." + rm -f lex.yy.c + if [ $# -ne 1 ]; then + eval LASTARG="\${$#}" + case "$LASTARG" in + *.l) + SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` + if [ -f "$SRCFILE" ]; then + cp "$SRCFILE" lex.yy.c + fi + ;; + esac + fi + if [ ! -f lex.yy.c ]; then + echo 'main() { return 0; }' >lex.yy.c + fi + ;; + + help2man) + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified a dependency of a manual page. You may need the + \`Help2man' package in order for those modifications to take + effect. You can get \`Help2man' from any GNU archive site." + + file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` + if test -z "$file"; then + file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'` + fi + if [ -f "$file" ]; then + touch $file + else + test -z "$file" || exec >$file + echo ".ab help2man is required to generate this page" + exit 1 + fi + ;; + + makeinfo) + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified a \`.texi' or \`.texinfo' file, or any other file + indirectly affecting the aspect of the manual. The spurious + call might also be the consequence of using a buggy \`make' (AIX, + DU, IRIX). You might want to install the \`Texinfo' package or + the \`GNU make' package. Grab either from any GNU archive site." + # The file to touch is that specified with -o ... + file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` + if test -z "$file"; then + # ... or it is the one specified with @setfilename ... + infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` + file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $infile` + # ... or it is derived from the source name (dir/f.texi becomes f.info) + test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info + fi + # If the file does not exist, the user really needs makeinfo; + # let's fail without touching anything. + test -f $file || exit 1 + touch $file + ;; + + tar) + shift + + # We have already tried tar in the generic part. + # Look for gnutar/gtar before invocation to avoid ugly error + # messages. + if (gnutar --version > /dev/null 2>&1); then + gnutar "$@" && exit 0 + fi + if (gtar --version > /dev/null 2>&1); then + gtar "$@" && exit 0 + fi + firstarg="$1" + if shift; then + case "$firstarg" in + *o*) + firstarg=`echo "$firstarg" | sed s/o//` + tar "$firstarg" "$@" && exit 0 + ;; + esac + case "$firstarg" in + *h*) + firstarg=`echo "$firstarg" | sed s/h//` + tar "$firstarg" "$@" && exit 0 + ;; + esac + fi + + echo 1>&2 "\ +WARNING: I can't seem to be able to run \`tar' with the given arguments. + You may want to install GNU tar or Free paxutils, or check the + command line arguments." + exit 1 + ;; + + *) + echo 1>&2 "\ +WARNING: \`$1' is needed, and is $msg. + You might have modified some files without having the + proper tools for further handling them. Check the \`README' file, + it often tells you about the needed prerequisites for installing + this package. You may also peek at any GNU archive site, in case + some other package would contain this missing \`$1' program." + exit 1 + ;; +esac + +exit 0 + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-end: "$" +# End: diff -Nru prerex-6.5.3/NEWS prerex-6.5.4/NEWS --- prerex-6.5.3/NEWS 1970-01-01 00:00:00.000000000 +0000 +++ prerex-6.5.4/NEWS 2014-07-19 15:26:57.000000000 +0000 @@ -0,0 +1,26 @@ + +Version 6.5.4, 2014-07-19 + + Fix configure.ac and edit.c to allow use of libedit. + +Version 6.5.3, 2014-04-22 + + To satisfy Coverity: more secure tmpfile creation, + check two return values + + +Version 6.5.2, 2013-10-11 + + Correct a bug in undoing a mini or text edit. + Replaced trailing pointers by pointers-to-pointers. + +Version 6.5.1, 2012-05-24 + + Use editline if available; readline otherwise. + (editline emulation of readline is broken) + + +Version 6.5.0, 2012-05-13 + + Revert to readline (available in gnuwin32 repository). + Remove references to chmod and /dev/null. diff -Nru prerex-6.5.3/prerex.1 prerex-6.5.4/prerex.1 --- prerex-6.5.3/prerex.1 1970-01-01 00:00:00.000000000 +0000 +++ prerex-6.5.4/prerex.1 2012-08-23 02:34:14.000000000 +0000 @@ -0,0 +1,459 @@ +.TH PREREX 1 2012-04-24 "prerex-6.5.1" "" +.SH NAME +prerex \- interactive editor of prerequisite-chart descriptions +.SH SYNOPSIS +.BR prerex +[ +.IR options +] [ +.IR basefile [ .tex ] +[ +.IR chartfile [ .tex ] +] +] +.SH DESCRIPTION +.B prerex +is an interactive program +for editing prerequisite-chart descriptions in the +.BR prerex (5) +format. +The user does not normally have to +be familiar with details of the format. +The editor supports add, remove, cut-and-paste, and edit operations +on diagram elements, and vertical or horizontal shifts of a list of specified elements, all the +elements in a rectangular region, or the entire diagram. The edited diagram +may be saved, re-processed, and viewed in a PDF +viewer, without exiting the editor. Alternatively, +.BR vprerex (1) +will open a +.BR prerex (1) +window and display the corresponding PDF file alongside. +.SH TERMINOLOGY +A prerequisite chart consists of several +.I course boxes, +linked by +.I arrows. +Courses are either +.I half +or +.I full, +and may be +.I required +or +.I optional +(or neither). +Each course box contains a course +.I code +(upper left corner), +a course +.I title +(lower half), +and +.I timetable +information +(upper right corner). +An arrow is either a +.I prerequisite +(solid), +a +.I corequisite +(dotted), +or +.I recommended +(dashed). +When a conventional arrow would be inappropriate, +a +.I mini +course just above a target box may be used. +A line of text may have been placed anywhere in the chart. +.PP +In some implementations of the +.BR prerex (5) +format, +(some) arrows may be curved and by default have non-zero curvature. +The curvature of individual arrows may be edited +using the +.BR prerex (1) +editor. +To modify the default curvature +(or set it to zero), +see +.BR prerex.sty (7). +.SH COORDINATE SYSTEM +A conventional two-dimensional +coordinate system is used to specify the locations of +diagram elements; +the +origin (where +.I x = 0 +and +.IR "y = 0" ) +is at the lower-left corner of the diagram. +For convenience, a coordinate grid is normally displayed in the background while a diagram is +being edited. +.PP +The coordinates of a +.I box, +.I mini, +or +.I text-line +are those of its centre point. +An +.I arrow +is described by the +coordinates of the centre points of its source and target boxes/minis/text-lines. + +The notation +.IB "x0,y0" : "x1,y1" +denotes all the nodes (course boxes, minis, texts) in the rectangle whose northwest and southeast corners are at +coordinates +.IR "x0,y0 " and " x1,y1." +.SH USAGE +If +.B prerex +is invoked on one existing file, a back-up copy is made of it, the +.I x,y +coordinate grid is turned on, the file is processed by using +a system call to +.BR pdflatex (1), +and +then the user gets +a command summary and an interactive prompt +of the form +.IP +.I file.tex> +.LP +If no file argument is given on the command line, the user is prompted to supply a +file name. +In either case, +if the file name provided does not have a +.I .tex +extension, +.I .tex +is appended to it. +.PP +If the +.I file.tex +file named does +.I not +already exist, +a new "empty" chart file with that name is +created, and then it is processed as above. +.PP +If a +.I second +filename is provided, the first filename is treated as the base file of a +LaTeX document and the second as an included file that contains the +.I chart +environment to be edited. This allows more than +one document to share an included chart file and allows more than one +chart to be included in a single document. +.PP +The user may enter commands at the interactive command prompt as follows: +.TP 18 +.BI box " x,y" +edit a course box at +.I x,y, +if necessary, creating a new course box there +.TP +.BI mini " x,y" +edit a mini at +.I x,y, +if necessary, creating a new mini there +.TP +.BI text " x,y" +edit a text-line at +.I x,y, +if necessary, creating a new text-line there +.TP +.BI arrow " x0,y0,x1,y1" +edit an arrow from +.I x0,y0 +to +.I x1,y1, +if necessary, creating a new such arrow +.TP +.BI cut " xi,yi ... " +(temporarily) remove the box, mini, or text at +.I xi,yi +(including arrows into/out of the box/mini/text) +.TP +.BI "paste [" x,y "]" +re-insert most recently cut but not yet pasted box, mini, or text at +.I x,y +(including arrows into/out of the box/mini/text), or at the original coordinates if +.I " x,y" +omitted +.TP +.BI xchange " x0,y0 x1,y1" +exchange the box, mini or text at +.I x0,y0 +with that at +.I x1,y1. +This is implemented as a sequence of two cuts followed by two pastes to the same points. +.TP +.BI "delete [ " x,y " | " x0,y0,x1,y1 " | " x0,y0 : x1,y1 " ] " ... +remove the specified boxes, minis, texts, or arrows +(including automatically all arrows into/out of each box/mini/text) +.TP +.B undo +undo the most recent editing command (not already undone) +.TP +.BI "shift [\-]" s " [ " x,y " | " x0,y0 : x1,y1 " ] " ... +move specified diagram elements +.I x +units right [left]; if no elements are specified, the whole diagram is shifted +.TP +.BI "raise [\-]" r " [ " x,y " | " x0,y0 : x1,y1 " ] " ... +move specified diagram elements +.I y +units up [down]; if no elements are specified, the whole diagram is raised +.TP +.B "write, !" +save to the current +.I chartfile.tex +and process the chart by calling +.BR pdflatex (1) +on the base file. +.TP +.B "quit, exit, x, ^D" +turn off the coordinate grid, restore write-access, save to the current +.I chartfile.tex, +process the base file and exit. +.TP +.BI ! cmd +restore write access to +.I chartfile.tex, +execute shell command +.I cmd, +re-load and re-process +the base file +(in case the command changed anything), +and remove write-access. +.TP +.B "Backup" +copy the current +.I chartfile.tex +to the back-up file +.IR .chartfile.tex; +equivalent to +.BI !cp " chartfile.tex .chartfile.tex" +.TP +.B "Restore" +delete the current +.I chartfile.tex +and editing buffer, and replace them using the current back-up +in +.I .chartfile.tex. +.TP +.BR grid " [y/n]" +turn on/off coordinate-grid background +.TP +.BR "help, ?" +print a command summary +.LP +After most editing commands, the editing buffer is automatically +saved to +.I chartfile.tex +and the basefile is processed; the +.B cut +and +.B paste +commands are exceptions: saving and processing +take place only when all outstanding cuts have been pasted. +Saving +and processing +can be +.I forced +by using the +.B write +(or +.BR ! ) +command, +or +.I suppressed +for +all commands (except +.BR write +and +.BR ! ) +by appending a ";" to the command immediately prior to entering it. +To exit the editor +.I without +saving to the current +.IR chartfile.tex , +use +.B quit; +(.i.e., +.B quit +followed by a semi-colon) or a similar combination. +Starting in Version 3.8, +.B ^C +and other interrupts +result in the editing buffer being saved to +.I chartfile.tex +before the editor is exited. +.SH OPTIONS +.TP 8 +.BR -v +output program name and version number, and quit +.TP +.BR -h +output usage summary and quit +.SH NOTES +The main difference between +.B mini +and +.B text +is in the maximum lengths for the text displayed; the latter allows a full line of text, not +merely a course code. Also a text-line does not have an associated URI (when +the grid is off). The text "line" may actually +be displayed as a paragraph by using a LaTeX \\parbox. +.PP +To save the current state of +.I chartfile.tex, +use +.B Backup +or a comparable shell command. +A history list +of interpreted commands +is maintained and is accessible using the up-arrow key. +.PP +If +processing of the chart fails, +.B prerex +will attempt to display the LaTeX error message from the log file. +The chart file +can be fixed using a conventional text editor or LaTeX-oriented editor. +LaTeX processing should fail only if there is an initial problem +or if ill-formed LaTeX markup has been inserted into a text field. +.PP +Any (non-empty) prefix of a command suffices; for example, +.BR q , +.BR qu , +or +.B qui +may +be used instead of +.BR quit . +Some of the commands will begin a dialogue with the user in +order to fill in or modify +properties; the prompts should be self-explanatory. +.PP +Since version 5.5, +.B prerex +no longer automatically calls a PDF viewer (because it may be embedded in an +instance of +.BR vprerex (1) +which already provides a PDF display). If +.B prerex +is being used by itself, a PDF viewer may be invoked using the +.BI ! cmd +shell-escape +mechanism. +Also, +.B prerex +no longer interacts with the user until a PDF file is available; this is for use +with +.BR vprerex (1). +For example, if the .tex file is initially read-only, +.B prerex +aborts. +.SH FILES +A LaTeX style file +.BR prerex.sty (7) +that implements +the macro calls defined by the +.BR prerex (5) +format must be available to +.BR [pdf]latex (1) +to +process the chart file. +Before any editing is allowed, +.I chartfile.tex +is copied to +.I .chartfile.tex +as a backup. +.SH ENVIRONMENT +.PP +The most convenient viewing program to use with +.B prerex +is one like +.BR gv (1), +.BR gsview (1), +.BR kghostview(1), +.BR kpdf (1) +or +.BR okular (1) +that may be configured to "watch" the pdf file and re-load the display automatically when the file changes. +.BR evince (1) +has a Reload button and +.BR xpdf (1) +supports re-loading using the keystroke "R", but +re-loading is much less convenient with +.BR acroread (1) +and +.BR gpdf (1), +which +may have to be re-started. +.PP +Recent versions of some PDF viewers show the URIs of hyperlinks in a tooltip or in the status bar; +this mechanism is +used by some implementations of +.BR prerex.sty (7) +to allow display of the coordinates of a box, mini, text-line, or arrow when the mouse hovers over it +(while the coordinate grid is on and the relevant chart file is presumably being edited). +.PP +The +.B prerex +package at +.B http://www.ctan.org/tex-archive/graphics/prerex/ +has source code for +.BR vprerex (1), +a GUI front-end for +.B prerex +which is prerex-enabled. +.SH BUGS +.B prerex +analyzes chart files without using TeX; thus, +macro calls are +.I not +expanded, and +anything in the chart file before or after the (first) +.B "\ebegin{chart} ... \eend{chart}" +environment +is ignored (but preserved) by the editor. +Lines that begin with "%" within the chart environment are +preserved but other comments within the chart environment are +.I not +preserved and may interfere with command parsing. +.PP +From version 5.6, +.B prerex +no longer supports the latex -> dvips -> ps2pdf toolchain as an option. +.SH AUTHOR +R. D. Tennent (rdt@cs.queensu.ca) +.SH DEPENDENCIES +.B prerex +uses the +.BR editline (3) +library if available and the GNU +.BR readline (3) +and +.BR history (3) +libraries otherwise. +.SH SEE ALSO +.BR acroread (1), +.BR evince (1), +.BR gpdf (1), +.BR gsview (1), +.BR gv (1), +.BR kghostview (1), +.BR kpdf (1), +.BR okular (1), +.BR pdflatex (1), +.BR prerex (5), +.BR prerex.sty (7), +.BR previewer (1), +.BR vprerex (1), +.BR xpdf (1). diff -Nru prerex-6.5.3/prerex.5 prerex-6.5.4/prerex.5 --- prerex-6.5.3/prerex.5 1970-01-01 00:00:00.000000000 +0000 +++ prerex-6.5.4/prerex.5 2012-03-21 18:13:53.000000000 +0000 @@ -0,0 +1,201 @@ +.TH PREREX 5 2012-03-21 "prerex_format" "" +.SH NAME +prerex_format -- a format for prerequisite-chart descriptions +.SH DESCRIPTION +This manual describes the format of +prerequisite-chart descriptions that can be processed by +.B [pdf]latex +(normally using +a suitable +.BR prerex.sty (7) +style file) and edited using the +.BR prerex (1) +interactive editor (or by any conventional text editor). +.SH TERMINOLOGY +A prerequisite chart consists of a number of +.I course boxes, +linked by +.I arrows. +Courses are either +.I half +or +.I full, +and may be +.I required +or +.I optional +(or neither). +Each course box can contain a course +.I code +(upper left corner), +a course +.I title +(lower half), +and +.I timetable +information +(upper right corner). +An arrow can be either a +.I prerequisite +(solid), +a +.I corequisite +(dotted), +or +.I recommended +(dashed). +When a conventional arrow would be inappropriate, +a +.I mini +course just above a target box can be used. +.SH STRUCTURE +The file should contain exactly one instance of a LaTeX environment +.P +.BI \ebegin{chart} " instruction ... " \eend{chart} +.P +with at most one +.I instruction +per line. +Note that a program such as +.BR prerex (1) +analyzes prerex-format files +.I without +using TeX; for example, +macro definitions will be ignored and +macro calls will +not be +expanded. +.PP +Instructions may be preceded by white space. +Lines that start with % are treated as comments and ignored. +The order of instructions is not significant except +that the instruction for the source and target box o an arrow should +.I precede +the instruction for the arrow. +The instruction formats are described in the following +sections. +.SH COURSE BOXES +The instructions producing course boxes have the following forms: +.HP +.BI \ehalfcourse " x,y" :{ code }{ title }{ timetable } +.HP +.BI \efullcourse " x,y" :{ code }{ title }{ timetable } +.HP +.BI \ereqhalfcourse " x,y" :{ code }{ title }{ timetable } +.HP +.BI \ereqfullcourse " x,y" :{ code }{ title }{ timetable } +.HP +.BI \eopthalfcourse " x,y" :{ code }{ title }{ timetable } +.HP +.BI \eoptfullcourse " x,y" :{ code }{ title }{ timetable } +.LP +where +.I x,y +are the coordinates of the +.I centerpoint +of the box, relative to the origin +of the coordinate system at the lower-left corner of the diagram. +The +.I code, +.I title, +and +.I timetable +arguments are arbitrary (well-bracketed) text, possibly with LaTeX markup. + +The following are similar but take an additional argument to specify the (non-default) +background color of the course box: +.IP +.BI \ehalfcoursec " x,y" :{ code }{ title }{ timetable }{ color } +.IP +.BI \efullcoursec " x,y" :{ code }{ title }{ timetable }{ color } +.IP +.BI \ereqhalfcoursec " x,y" :{ code }{ title }{ timetable }{ color } +.IP +.BI \ereqfullcoursec " x,y" :{ code }{ title }{ timetable }{ color } +.IP +.BI \eopthalfcoursec " x,y" :{ code }{ title }{ timetable }{ color } +.IP +.BI \eoptfullcoursec " x,y" :{ code }{ title }{ timetable }{ color } +.LP + +.SH MINI COURSE BOXES AND TEXT +A mini course is produced by an instruction of the form +.HP +.BI \emini " x,y" :{ code } +.HP +A text line is inserted into the chart by an instruction of the form +.HP +.BI \etext " x,y" :{ line-of-text } +.HP +The maximum allowed length of a course-code may be smaller that the +maximum allowed for a line of text. +.SH ARROWS +Arrows between course boxes (or from a mini to a course box) are produced +by instructions of the form +.HP +.BI \eprereq " x0,y0,x1,y1" : +.HP +.BI \ecoreq " x0,y0,x1,y1" : +.HP +.BI \erecomm " x0,y0,x1,y1" : +.LP +These produce, respectively, solid, dotted, and dashed arrows from +the course box (or mini) centered at coordinates +.I x0,y0 +to the course box centered at coordinates +.I x1,y1. +.PP +In some implementations, +certain arrows by default have a +non-zero curvature. It is possible to override the default curvature +for a particular arrow by using +the instructions +.HP +.BI \eprereqc " x0,y0,x1,y1;c" : +.HP +.BI \ecoreqc " x0,y0,x1,y1;c" : +.HP +.BI \erecommc " x0,y0,x1,y1;c" : +.LP +where +.I c +is an integer in the range 0-100 specifying the desired curvature; for example, +.IR c= 0 +will produce a +.I straight +arrow. To change the default curvature, the user program may redefine the +.B \eDefaultCurvature +command. +.SH COORDINATE GRID +The following instruction produces a coordinate grid, which is +useful for editing a diagram: +.HP +.B \egrid +.LP +This is normally placed before all the other instructions so that +grid lines are in the background, covered by course boxes, minis, and arrows. +.SH WEB LINKS +Course boxes may be linked to web addresses. +The URL for course boxes may be set by the user by redefining the +.B \eCourseURL +command; when called for a course box, it is supplied with three arguments, the +.I x +and +.I y +coordinates of the box, mini, or textline, and +the +.I code +argument +of the course box. For example, +.HP +.B \erenewcommand{\eCourseURL}[3]{http://www.cs.queensu.ca/undergraduate/courses/#3.html} +.LP +is appropriate for courses at the School of Computing, Queen's University. +The first two arguments can be used to display the coordinates of a box, mini, or +textline in some PDF viewers while the mouse hovers over it when the source +file is being edited. +.SH AUTHOR +R. D. Tennent (rdt@cs.queensu.ca) +.SH SEE ALSO +.BR prerex (1), +.BR prerex.sty (7). diff -Nru prerex-6.5.3/prerex-6.5.2/acinclude.m4 prerex-6.5.4/prerex-6.5.2/acinclude.m4 --- prerex-6.5.3/prerex-6.5.2/acinclude.m4 2012-04-12 14:44:59.000000000 +0000 +++ prerex-6.5.4/prerex-6.5.2/acinclude.m4 1970-01-01 00:00:00.000000000 +0000 @@ -1,85 +0,0 @@ - -dnl -dnl read lib version from file (and trim trailing newline) -dnl -define([EL_RELEASE], [patsubst(esyscmd([. src/shlib_version; echo $major.$minor]), [ -])]) - -dnl -dnl read cvsexport timestamp from file (and trim trailing newline) -dnl -define([EL_TIMESTAMP], [patsubst(esyscmd([date +"%Y%m%d"]), [ -])]) - - -dnl -dnl NetBSD use the -mdoc macro package for manpages, but e.g. -dnl AIX and Solaris only support the -man package. -dnl -AC_DEFUN([EL_MANTYPE], -[ - MANTYPE= - TestPath="/usr/bin${PATH_SEPARATOR}/usr/ucb" - AC_PATH_PROGS(NROFF, nroff awf, /bin/false, $TestPath) - if ${NROFF} -mdoc ${srcdir}/doc/editrc.5.roff >/dev/null 2>&1; then - MANTYPE=mdoc - fi - AC_SUBST(MANTYPE) -]) - - -dnl -dnl Check if getpwnam_r and getpwuid_r are POSIX.1 compatible -dnl POSIX draft version returns 'struct passwd *' (used on Solaris) -dnl NOTE: getpwent_r is not POSIX so we always use getpwent -dnl -AC_DEFUN([EL_GETPW_R_POSIX], -[ - AC_MSG_CHECKING([whether getpwnam_r and getpwuid_r are posix like]) - # The prototype for the POSIX version is: - # int getpwnam_r(char *, struct passwd *, char *, size_t, struct passwd **) - # int getpwuid_r(uid_t, struct passwd *, char *, size_t, struct passwd **); - AC_TRY_LINK([#include - #include - #include ], - [getpwnam_r(NULL, NULL, NULL, (size_t)0, NULL); - getpwuid_r((uid_t)0, NULL, NULL, (size_t)0, NULL);], - [AC_DEFINE([HAVE_GETPW_R_POSIX], 1, [Define to 1 if you have getpwnam_r and getpwuid_r that are POSIX.1 compatible.]) - AC_MSG_RESULT(yes)], - [AC_MSG_RESULT(no)]) -]) - -AC_DEFUN([EL_GETPW_R_DRAFT], -[ - AC_MSG_CHECKING([whether getpwnam_r and getpwuid_r are posix _draft_ like]) - # The prototype for the POSIX draft version is: - # struct passwd *getpwuid_r(uid_t, struct passwd *, char *, int); - # struct passwd *getpwnam_r(char *, struct passwd *, char *, int); - AC_TRY_LINK([#include - #include - #include ], - [getpwnam_r(NULL, NULL, NULL, (size_t)0); - getpwuid_r((uid_t)0, NULL, NULL, (size_t)0);], - [AC_DEFINE([HAVE_GETPW_R_DRAFT], 1, [Define to 1 if you have getpwnam_r and getpwuid_r that are draft POSIX.1 versions.]) - AC_MSG_RESULT(yes)], - [AC_MSG_RESULT(no)]) -]) - - -dnl -dnl use option --enable-widec to turn on use of wide-character support -dnl -AC_DEFUN([EL_ENABLE_WIDEC], -[ - AC_MSG_CHECKING(if you want wide-character code) - AC_ARG_ENABLE(widec, - [ --enable-widec compile with wide-char/UTF-8 code], - [with_widec=$enableval], - [with_widec=no]) - AC_MSG_RESULT($with_widec) - if test "$with_widec" = yes ; then - AC_DEFINE(WIDECHAR, 1, [Define to 1 if you want wide-character code]) - fi - AM_CONDITIONAL([WIDECHAR], [test "$with_widec" = yes]) -]) - diff -Nru prerex-6.5.3/prerex-6.5.2/aclocal.m4 prerex-6.5.4/prerex-6.5.2/aclocal.m4 --- prerex-6.5.3/prerex-6.5.2/aclocal.m4 2013-10-12 03:06:15.000000000 +0000 +++ prerex-6.5.4/prerex-6.5.2/aclocal.m4 1970-01-01 00:00:00.000000000 +0000 @@ -1,1014 +0,0 @@ -# generated automatically by aclocal 1.11.1 -*- Autoconf -*- - -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, -# 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -m4_ifndef([AC_AUTOCONF_VERSION], - [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl -m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.63],, -[m4_warning([this file was generated for autoconf 2.63. -You have another version of autoconf. It may work, but is not guaranteed to. -If you have problems, you may need to regenerate the build system entirely. -To do so, use the procedure documented by the package, typically `autoreconf'.])]) - -# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_AUTOMAKE_VERSION(VERSION) -# ---------------------------- -# Automake X.Y traces this macro to ensure aclocal.m4 has been -# generated from the m4 files accompanying Automake X.Y. -# (This private macro should not be called outside this file.) -AC_DEFUN([AM_AUTOMAKE_VERSION], -[am__api_version='1.11' -dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to -dnl require some minimum version. Point them to the right macro. -m4_if([$1], [1.11.1], [], - [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl -]) - -# _AM_AUTOCONF_VERSION(VERSION) -# ----------------------------- -# aclocal traces this macro to find the Autoconf version. -# This is a private macro too. Using m4_define simplifies -# the logic in aclocal, which can simply ignore this definition. -m4_define([_AM_AUTOCONF_VERSION], []) - -# AM_SET_CURRENT_AUTOMAKE_VERSION -# ------------------------------- -# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. -# This function is AC_REQUIREd by AM_INIT_AUTOMAKE. -AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], -[AM_AUTOMAKE_VERSION([1.11.1])dnl -m4_ifndef([AC_AUTOCONF_VERSION], - [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl -_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) - -# AM_AUX_DIR_EXPAND -*- Autoconf -*- - -# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets -# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to -# `$srcdir', `$srcdir/..', or `$srcdir/../..'. -# -# Of course, Automake must honor this variable whenever it calls a -# tool from the auxiliary directory. The problem is that $srcdir (and -# therefore $ac_aux_dir as well) can be either absolute or relative, -# depending on how configure is run. This is pretty annoying, since -# it makes $ac_aux_dir quite unusable in subdirectories: in the top -# source directory, any form will work fine, but in subdirectories a -# relative path needs to be adjusted first. -# -# $ac_aux_dir/missing -# fails when called from a subdirectory if $ac_aux_dir is relative -# $top_srcdir/$ac_aux_dir/missing -# fails if $ac_aux_dir is absolute, -# fails when called from a subdirectory in a VPATH build with -# a relative $ac_aux_dir -# -# The reason of the latter failure is that $top_srcdir and $ac_aux_dir -# are both prefixed by $srcdir. In an in-source build this is usually -# harmless because $srcdir is `.', but things will broke when you -# start a VPATH build or use an absolute $srcdir. -# -# So we could use something similar to $top_srcdir/$ac_aux_dir/missing, -# iff we strip the leading $srcdir from $ac_aux_dir. That would be: -# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` -# and then we would define $MISSING as -# MISSING="\${SHELL} $am_aux_dir/missing" -# This will work as long as MISSING is not called from configure, because -# unfortunately $(top_srcdir) has no meaning in configure. -# However there are other variables, like CC, which are often used in -# configure, and could therefore not use this "fixed" $ac_aux_dir. -# -# Another solution, used here, is to always expand $ac_aux_dir to an -# absolute PATH. The drawback is that using absolute paths prevent a -# configured tree to be moved without reconfiguration. - -AC_DEFUN([AM_AUX_DIR_EXPAND], -[dnl Rely on autoconf to set up CDPATH properly. -AC_PREREQ([2.50])dnl -# expand $ac_aux_dir to an absolute path -am_aux_dir=`cd $ac_aux_dir && pwd` -]) - -# AM_CONDITIONAL -*- Autoconf -*- - -# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008 -# Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 9 - -# AM_CONDITIONAL(NAME, SHELL-CONDITION) -# ------------------------------------- -# Define a conditional. -AC_DEFUN([AM_CONDITIONAL], -[AC_PREREQ(2.52)dnl - ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], - [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl -AC_SUBST([$1_TRUE])dnl -AC_SUBST([$1_FALSE])dnl -_AM_SUBST_NOTMAKE([$1_TRUE])dnl -_AM_SUBST_NOTMAKE([$1_FALSE])dnl -m4_define([_AM_COND_VALUE_$1], [$2])dnl -if $2; then - $1_TRUE= - $1_FALSE='#' -else - $1_TRUE='#' - $1_FALSE= -fi -AC_CONFIG_COMMANDS_PRE( -[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then - AC_MSG_ERROR([[conditional "$1" was never defined. -Usually this means the macro was only invoked conditionally.]]) -fi])]) - -# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009 -# Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 10 - -# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be -# written in clear, in which case automake, when reading aclocal.m4, -# will think it sees a *use*, and therefore will trigger all it's -# C support machinery. Also note that it means that autoscan, seeing -# CC etc. in the Makefile, will ask for an AC_PROG_CC use... - - -# _AM_DEPENDENCIES(NAME) -# ---------------------- -# See how the compiler implements dependency checking. -# NAME is "CC", "CXX", "GCJ", or "OBJC". -# We try a few techniques and use that to set a single cache variable. -# -# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was -# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular -# dependency, and given that the user is not expected to run this macro, -# just rely on AC_PROG_CC. -AC_DEFUN([_AM_DEPENDENCIES], -[AC_REQUIRE([AM_SET_DEPDIR])dnl -AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl -AC_REQUIRE([AM_MAKE_INCLUDE])dnl -AC_REQUIRE([AM_DEP_TRACK])dnl - -ifelse([$1], CC, [depcc="$CC" am_compiler_list=], - [$1], CXX, [depcc="$CXX" am_compiler_list=], - [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'], - [$1], UPC, [depcc="$UPC" am_compiler_list=], - [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], - [depcc="$$1" am_compiler_list=]) - -AC_CACHE_CHECK([dependency style of $depcc], - [am_cv_$1_dependencies_compiler_type], -[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then - # We make a subdir and do the tests there. Otherwise we can end up - # making bogus files that we don't know about and never remove. For - # instance it was reported that on HP-UX the gcc test will end up - # making a dummy file named `D' -- because `-MD' means `put the output - # in D'. - mkdir conftest.dir - # Copy depcomp to subdir because otherwise we won't find it if we're - # using a relative directory. - cp "$am_depcomp" conftest.dir - cd conftest.dir - # We will build objects and dependencies in a subdirectory because - # it helps to detect inapplicable dependency modes. For instance - # both Tru64's cc and ICC support -MD to output dependencies as a - # side effect of compilation, but ICC will put the dependencies in - # the current directory while Tru64 will put them in the object - # directory. - mkdir sub - - am_cv_$1_dependencies_compiler_type=none - if test "$am_compiler_list" = ""; then - am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` - fi - am__universal=false - m4_case([$1], [CC], - [case " $depcc " in #( - *\ -arch\ *\ -arch\ *) am__universal=true ;; - esac], - [CXX], - [case " $depcc " in #( - *\ -arch\ *\ -arch\ *) am__universal=true ;; - esac]) - - for depmode in $am_compiler_list; do - # Setup a source with many dependencies, because some compilers - # like to wrap large dependency lists on column 80 (with \), and - # we should not choose a depcomp mode which is confused by this. - # - # We need to recreate these files for each test, as the compiler may - # overwrite some of them when testing with obscure command lines. - # This happens at least with the AIX C compiler. - : > sub/conftest.c - for i in 1 2 3 4 5 6; do - echo '#include "conftst'$i'.h"' >> sub/conftest.c - # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with - # Solaris 8's {/usr,}/bin/sh. - touch sub/conftst$i.h - done - echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf - - # We check with `-c' and `-o' for the sake of the "dashmstdout" - # mode. It turns out that the SunPro C++ compiler does not properly - # handle `-M -o', and we need to detect this. Also, some Intel - # versions had trouble with output in subdirs - am__obj=sub/conftest.${OBJEXT-o} - am__minus_obj="-o $am__obj" - case $depmode in - gcc) - # This depmode causes a compiler race in universal mode. - test "$am__universal" = false || continue - ;; - nosideeffect) - # after this tag, mechanisms are not by side-effect, so they'll - # only be used when explicitly requested - if test "x$enable_dependency_tracking" = xyes; then - continue - else - break - fi - ;; - msvisualcpp | msvcmsys) - # This compiler won't grok `-c -o', but also, the minuso test has - # not run yet. These depmodes are late enough in the game, and - # so weak that their functioning should not be impacted. - am__obj=conftest.${OBJEXT-o} - am__minus_obj= - ;; - none) break ;; - esac - if depmode=$depmode \ - source=sub/conftest.c object=$am__obj \ - depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ - $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ - >/dev/null 2>conftest.err && - grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && - grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && - grep $am__obj sub/conftest.Po > /dev/null 2>&1 && - ${MAKE-make} -s -f confmf > /dev/null 2>&1; then - # icc doesn't choke on unknown options, it will just issue warnings - # or remarks (even with -Werror). So we grep stderr for any message - # that says an option was ignored or not supported. - # When given -MP, icc 7.0 and 7.1 complain thusly: - # icc: Command line warning: ignoring option '-M'; no argument required - # The diagnosis changed in icc 8.0: - # icc: Command line remark: option '-MP' not supported - if (grep 'ignoring option' conftest.err || - grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else - am_cv_$1_dependencies_compiler_type=$depmode - break - fi - fi - done - - cd .. - rm -rf conftest.dir -else - am_cv_$1_dependencies_compiler_type=none -fi -]) -AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) -AM_CONDITIONAL([am__fastdep$1], [ - test "x$enable_dependency_tracking" != xno \ - && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) -]) - - -# AM_SET_DEPDIR -# ------------- -# Choose a directory name for dependency files. -# This macro is AC_REQUIREd in _AM_DEPENDENCIES -AC_DEFUN([AM_SET_DEPDIR], -[AC_REQUIRE([AM_SET_LEADING_DOT])dnl -AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl -]) - - -# AM_DEP_TRACK -# ------------ -AC_DEFUN([AM_DEP_TRACK], -[AC_ARG_ENABLE(dependency-tracking, -[ --disable-dependency-tracking speeds up one-time build - --enable-dependency-tracking do not reject slow dependency extractors]) -if test "x$enable_dependency_tracking" != xno; then - am_depcomp="$ac_aux_dir/depcomp" - AMDEPBACKSLASH='\' -fi -AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) -AC_SUBST([AMDEPBACKSLASH])dnl -_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl -]) - -# Generate code to set up dependency tracking. -*- Autoconf -*- - -# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008 -# Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -#serial 5 - -# _AM_OUTPUT_DEPENDENCY_COMMANDS -# ------------------------------ -AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], -[{ - # Autoconf 2.62 quotes --file arguments for eval, but not when files - # are listed without --file. Let's play safe and only enable the eval - # if we detect the quoting. - case $CONFIG_FILES in - *\'*) eval set x "$CONFIG_FILES" ;; - *) set x $CONFIG_FILES ;; - esac - shift - for mf - do - # Strip MF so we end up with the name of the file. - mf=`echo "$mf" | sed -e 's/:.*$//'` - # Check whether this is an Automake generated Makefile or not. - # We used to match only the files named `Makefile.in', but - # some people rename them; so instead we look at the file content. - # Grep'ing the first line is not enough: some people post-process - # each Makefile.in and add a new line on top of each file to say so. - # Grep'ing the whole file is not good either: AIX grep has a line - # limit of 2048, but all sed's we know have understand at least 4000. - if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then - dirpart=`AS_DIRNAME("$mf")` - else - continue - fi - # Extract the definition of DEPDIR, am__include, and am__quote - # from the Makefile without running `make'. - DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` - test -z "$DEPDIR" && continue - am__include=`sed -n 's/^am__include = //p' < "$mf"` - test -z "am__include" && continue - am__quote=`sed -n 's/^am__quote = //p' < "$mf"` - # When using ansi2knr, U may be empty or an underscore; expand it - U=`sed -n 's/^U = //p' < "$mf"` - # Find all dependency output files, they are included files with - # $(DEPDIR) in their names. We invoke sed twice because it is the - # simplest approach to changing $(DEPDIR) to its actual value in the - # expansion. - for file in `sed -n " - s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ - sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do - # Make sure the directory exists. - test -f "$dirpart/$file" && continue - fdir=`AS_DIRNAME(["$file"])` - AS_MKDIR_P([$dirpart/$fdir]) - # echo "creating $dirpart/$file" - echo '# dummy' > "$dirpart/$file" - done - done -} -])# _AM_OUTPUT_DEPENDENCY_COMMANDS - - -# AM_OUTPUT_DEPENDENCY_COMMANDS -# ----------------------------- -# This macro should only be invoked once -- use via AC_REQUIRE. -# -# This code is only required when automatic dependency tracking -# is enabled. FIXME. This creates each `.P' file that we will -# need in order to bootstrap the dependency handling code. -AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], -[AC_CONFIG_COMMANDS([depfiles], - [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], - [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) -]) - -# Do all the work for Automake. -*- Autoconf -*- - -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, -# 2005, 2006, 2008, 2009 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 16 - -# This macro actually does too much. Some checks are only needed if -# your package does certain things. But this isn't really a big deal. - -# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) -# AM_INIT_AUTOMAKE([OPTIONS]) -# ----------------------------------------------- -# The call with PACKAGE and VERSION arguments is the old style -# call (pre autoconf-2.50), which is being phased out. PACKAGE -# and VERSION should now be passed to AC_INIT and removed from -# the call to AM_INIT_AUTOMAKE. -# We support both call styles for the transition. After -# the next Automake release, Autoconf can make the AC_INIT -# arguments mandatory, and then we can depend on a new Autoconf -# release and drop the old call support. -AC_DEFUN([AM_INIT_AUTOMAKE], -[AC_PREREQ([2.62])dnl -dnl Autoconf wants to disallow AM_ names. We explicitly allow -dnl the ones we care about. -m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl -AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl -AC_REQUIRE([AC_PROG_INSTALL])dnl -if test "`cd $srcdir && pwd`" != "`pwd`"; then - # Use -I$(srcdir) only when $(srcdir) != ., so that make's output - # is not polluted with repeated "-I." - AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl - # test to see if srcdir already configured - if test -f $srcdir/config.status; then - AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) - fi -fi - -# test whether we have cygpath -if test -z "$CYGPATH_W"; then - if (cygpath --version) >/dev/null 2>/dev/null; then - CYGPATH_W='cygpath -w' - else - CYGPATH_W=echo - fi -fi -AC_SUBST([CYGPATH_W]) - -# Define the identity of the package. -dnl Distinguish between old-style and new-style calls. -m4_ifval([$2], -[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl - AC_SUBST([PACKAGE], [$1])dnl - AC_SUBST([VERSION], [$2])], -[_AM_SET_OPTIONS([$1])dnl -dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. -m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,, - [m4_fatal([AC_INIT should be called with package and version arguments])])dnl - AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl - AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl - -_AM_IF_OPTION([no-define],, -[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) - AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl - -# Some tools Automake needs. -AC_REQUIRE([AM_SANITY_CHECK])dnl -AC_REQUIRE([AC_ARG_PROGRAM])dnl -AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}) -AM_MISSING_PROG(AUTOCONF, autoconf) -AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}) -AM_MISSING_PROG(AUTOHEADER, autoheader) -AM_MISSING_PROG(MAKEINFO, makeinfo) -AC_REQUIRE([AM_PROG_INSTALL_SH])dnl -AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl -AC_REQUIRE([AM_PROG_MKDIR_P])dnl -# We need awk for the "check" target. The system "awk" is bad on -# some platforms. -AC_REQUIRE([AC_PROG_AWK])dnl -AC_REQUIRE([AC_PROG_MAKE_SET])dnl -AC_REQUIRE([AM_SET_LEADING_DOT])dnl -_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], - [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], - [_AM_PROG_TAR([v7])])]) -_AM_IF_OPTION([no-dependencies],, -[AC_PROVIDE_IFELSE([AC_PROG_CC], - [_AM_DEPENDENCIES(CC)], - [define([AC_PROG_CC], - defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl -AC_PROVIDE_IFELSE([AC_PROG_CXX], - [_AM_DEPENDENCIES(CXX)], - [define([AC_PROG_CXX], - defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl -AC_PROVIDE_IFELSE([AC_PROG_OBJC], - [_AM_DEPENDENCIES(OBJC)], - [define([AC_PROG_OBJC], - defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl -]) -_AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl -dnl The `parallel-tests' driver may need to know about EXEEXT, so add the -dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This macro -dnl is hooked onto _AC_COMPILER_EXEEXT early, see below. -AC_CONFIG_COMMANDS_PRE(dnl -[m4_provide_if([_AM_COMPILER_EXEEXT], - [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl -]) - -dnl Hook into `_AC_COMPILER_EXEEXT' early to learn its expansion. Do not -dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further -dnl mangled by Autoconf and run in a shell conditional statement. -m4_define([_AC_COMPILER_EXEEXT], -m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])]) - - -# When config.status generates a header, we must update the stamp-h file. -# This file resides in the same directory as the config header -# that is generated. The stamp files are numbered to have different names. - -# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the -# loop where config.status creates the headers, so we can generate -# our stamp files there. -AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], -[# Compute $1's index in $config_headers. -_am_arg=$1 -_am_stamp_count=1 -for _am_header in $config_headers :; do - case $_am_header in - $_am_arg | $_am_arg:* ) - break ;; - * ) - _am_stamp_count=`expr $_am_stamp_count + 1` ;; - esac -done -echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) - -# Copyright (C) 2001, 2003, 2005, 2008 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_PROG_INSTALL_SH -# ------------------ -# Define $install_sh. -AC_DEFUN([AM_PROG_INSTALL_SH], -[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl -if test x"${install_sh}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; - *) - install_sh="\${SHELL} $am_aux_dir/install-sh" - esac -fi -AC_SUBST(install_sh)]) - -# Copyright (C) 2003, 2005 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 2 - -# Check whether the underlying file-system supports filenames -# with a leading dot. For instance MS-DOS doesn't. -AC_DEFUN([AM_SET_LEADING_DOT], -[rm -rf .tst 2>/dev/null -mkdir .tst 2>/dev/null -if test -d .tst; then - am__leading_dot=. -else - am__leading_dot=_ -fi -rmdir .tst 2>/dev/null -AC_SUBST([am__leading_dot])]) - -# Check to see how 'make' treats includes. -*- Autoconf -*- - -# Copyright (C) 2001, 2002, 2003, 2005, 2009 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 4 - -# AM_MAKE_INCLUDE() -# ----------------- -# Check to see how make treats includes. -AC_DEFUN([AM_MAKE_INCLUDE], -[am_make=${MAKE-make} -cat > confinc << 'END' -am__doit: - @echo this is the am__doit target -.PHONY: am__doit -END -# If we don't find an include directive, just comment out the code. -AC_MSG_CHECKING([for style of include used by $am_make]) -am__include="#" -am__quote= -_am_result=none -# First try GNU make style include. -echo "include confinc" > confmf -# Ignore all kinds of additional output from `make'. -case `$am_make -s -f confmf 2> /dev/null` in #( -*the\ am__doit\ target*) - am__include=include - am__quote= - _am_result=GNU - ;; -esac -# Now try BSD make style include. -if test "$am__include" = "#"; then - echo '.include "confinc"' > confmf - case `$am_make -s -f confmf 2> /dev/null` in #( - *the\ am__doit\ target*) - am__include=.include - am__quote="\"" - _am_result=BSD - ;; - esac -fi -AC_SUBST([am__include]) -AC_SUBST([am__quote]) -AC_MSG_RESULT([$_am_result]) -rm -f confinc confmf -]) - -# Copyright (C) 1999, 2000, 2001, 2003, 2004, 2005, 2008 -# Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 6 - -# AM_PROG_CC_C_O -# -------------- -# Like AC_PROG_CC_C_O, but changed for automake. -AC_DEFUN([AM_PROG_CC_C_O], -[AC_REQUIRE([AC_PROG_CC_C_O])dnl -AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl -AC_REQUIRE_AUX_FILE([compile])dnl -# FIXME: we rely on the cache variable name because -# there is no other way. -set dummy $CC -am_cc=`echo $[2] | sed ['s/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/']` -eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o -if test "$am_t" != yes; then - # Losing compiler, so override with the script. - # FIXME: It is wrong to rewrite CC. - # But if we don't then we get into trouble of one sort or another. - # A longer-term fix would be to have automake use am__CC in this case, - # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" - CC="$am_aux_dir/compile $CC" -fi -dnl Make sure AC_PROG_CC is never called again, or it will override our -dnl setting of CC. -m4_define([AC_PROG_CC], - [m4_fatal([AC_PROG_CC cannot be called after AM_PROG_CC_C_O])]) -]) - -# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- - -# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008 -# Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 6 - -# AM_MISSING_PROG(NAME, PROGRAM) -# ------------------------------ -AC_DEFUN([AM_MISSING_PROG], -[AC_REQUIRE([AM_MISSING_HAS_RUN]) -$1=${$1-"${am_missing_run}$2"} -AC_SUBST($1)]) - - -# AM_MISSING_HAS_RUN -# ------------------ -# Define MISSING if not defined so far and test if it supports --run. -# If it does, set am_missing_run to use it, otherwise, to nothing. -AC_DEFUN([AM_MISSING_HAS_RUN], -[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl -AC_REQUIRE_AUX_FILE([missing])dnl -if test x"${MISSING+set}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; - *) - MISSING="\${SHELL} $am_aux_dir/missing" ;; - esac -fi -# Use eval to expand $SHELL -if eval "$MISSING --run true"; then - am_missing_run="$MISSING --run " -else - am_missing_run= - AC_MSG_WARN([`missing' script is too old or missing]) -fi -]) - -# Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_PROG_MKDIR_P -# --------------- -# Check for `mkdir -p'. -AC_DEFUN([AM_PROG_MKDIR_P], -[AC_PREREQ([2.60])dnl -AC_REQUIRE([AC_PROG_MKDIR_P])dnl -dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P, -dnl while keeping a definition of mkdir_p for backward compatibility. -dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile. -dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of -dnl Makefile.ins that do not define MKDIR_P, so we do our own -dnl adjustment using top_builddir (which is defined more often than -dnl MKDIR_P). -AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl -case $mkdir_p in - [[\\/$]]* | ?:[[\\/]]*) ;; - */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; -esac -]) - -# Helper functions for option handling. -*- Autoconf -*- - -# Copyright (C) 2001, 2002, 2003, 2005, 2008 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 4 - -# _AM_MANGLE_OPTION(NAME) -# ----------------------- -AC_DEFUN([_AM_MANGLE_OPTION], -[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) - -# _AM_SET_OPTION(NAME) -# ------------------------------ -# Set option NAME. Presently that only means defining a flag for this option. -AC_DEFUN([_AM_SET_OPTION], -[m4_define(_AM_MANGLE_OPTION([$1]), 1)]) - -# _AM_SET_OPTIONS(OPTIONS) -# ---------------------------------- -# OPTIONS is a space-separated list of Automake options. -AC_DEFUN([_AM_SET_OPTIONS], -[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) - -# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) -# ------------------------------------------- -# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. -AC_DEFUN([_AM_IF_OPTION], -[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) - -# Check to make sure that the build environment is sane. -*- Autoconf -*- - -# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005, 2008 -# Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 5 - -# AM_SANITY_CHECK -# --------------- -AC_DEFUN([AM_SANITY_CHECK], -[AC_MSG_CHECKING([whether build environment is sane]) -# Just in case -sleep 1 -echo timestamp > conftest.file -# Reject unsafe characters in $srcdir or the absolute working directory -# name. Accept space and tab only in the latter. -am_lf=' -' -case `pwd` in - *[[\\\"\#\$\&\'\`$am_lf]]*) - AC_MSG_ERROR([unsafe absolute working directory name]);; -esac -case $srcdir in - *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*) - AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);; -esac - -# Do `set' in a subshell so we don't clobber the current shell's -# arguments. Must try -L first in case configure is actually a -# symlink; some systems play weird games with the mod time of symlinks -# (eg FreeBSD returns the mod time of the symlink's containing -# directory). -if ( - set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` - if test "$[*]" = "X"; then - # -L didn't work. - set X `ls -t "$srcdir/configure" conftest.file` - fi - rm -f conftest.file - if test "$[*]" != "X $srcdir/configure conftest.file" \ - && test "$[*]" != "X conftest.file $srcdir/configure"; then - - # If neither matched, then we have a broken ls. This can happen - # if, for instance, CONFIG_SHELL is bash and it inherits a - # broken ls alias from the environment. This has actually - # happened. Such a system could not be considered "sane". - AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken -alias in your environment]) - fi - - test "$[2]" = conftest.file - ) -then - # Ok. - : -else - AC_MSG_ERROR([newly created file is older than distributed files! -Check your system clock]) -fi -AC_MSG_RESULT(yes)]) - -# Copyright (C) 2009 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 1 - -# AM_SILENT_RULES([DEFAULT]) -# -------------------------- -# Enable less verbose build rules; with the default set to DEFAULT -# (`yes' being less verbose, `no' or empty being verbose). -AC_DEFUN([AM_SILENT_RULES], -[AC_ARG_ENABLE([silent-rules], -[ --enable-silent-rules less verbose build output (undo: `make V=1') - --disable-silent-rules verbose build output (undo: `make V=0')]) -case $enable_silent_rules in -yes) AM_DEFAULT_VERBOSITY=0;; -no) AM_DEFAULT_VERBOSITY=1;; -*) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);; -esac -AC_SUBST([AM_DEFAULT_VERBOSITY])dnl -AM_BACKSLASH='\' -AC_SUBST([AM_BACKSLASH])dnl -_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl -]) - -# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_PROG_INSTALL_STRIP -# --------------------- -# One issue with vendor `install' (even GNU) is that you can't -# specify the program used to strip binaries. This is especially -# annoying in cross-compiling environments, where the build's strip -# is unlikely to handle the host's binaries. -# Fortunately install-sh will honor a STRIPPROG variable, so we -# always use install-sh in `make install-strip', and initialize -# STRIPPROG with the value of the STRIP variable (set by the user). -AC_DEFUN([AM_PROG_INSTALL_STRIP], -[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl -# Installed binaries are usually stripped using `strip' when the user -# run `make install-strip'. However `strip' might not be the right -# tool to use in cross-compilation environments, therefore Automake -# will honor the `STRIP' environment variable to overrule this program. -dnl Don't test for $cross_compiling = yes, because it might be `maybe'. -if test "$cross_compiling" != no; then - AC_CHECK_TOOL([STRIP], [strip], :) -fi -INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" -AC_SUBST([INSTALL_STRIP_PROGRAM])]) - -# Copyright (C) 2006, 2008 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 2 - -# _AM_SUBST_NOTMAKE(VARIABLE) -# --------------------------- -# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in. -# This macro is traced by Automake. -AC_DEFUN([_AM_SUBST_NOTMAKE]) - -# AM_SUBST_NOTMAKE(VARIABLE) -# --------------------------- -# Public sister of _AM_SUBST_NOTMAKE. -AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) - -# Check how to create a tarball. -*- Autoconf -*- - -# Copyright (C) 2004, 2005 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# serial 2 - -# _AM_PROG_TAR(FORMAT) -# -------------------- -# Check how to create a tarball in format FORMAT. -# FORMAT should be one of `v7', `ustar', or `pax'. -# -# Substitute a variable $(am__tar) that is a command -# writing to stdout a FORMAT-tarball containing the directory -# $tardir. -# tardir=directory && $(am__tar) > result.tar -# -# Substitute a variable $(am__untar) that extract such -# a tarball read from stdin. -# $(am__untar) < result.tar -AC_DEFUN([_AM_PROG_TAR], -[# Always define AMTAR for backward compatibility. -AM_MISSING_PROG([AMTAR], [tar]) -m4_if([$1], [v7], - [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'], - [m4_case([$1], [ustar],, [pax],, - [m4_fatal([Unknown tar format])]) -AC_MSG_CHECKING([how to create a $1 tar archive]) -# Loop over all known methods to create a tar archive until one works. -_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' -_am_tools=${am_cv_prog_tar_$1-$_am_tools} -# Do not fold the above two line into one, because Tru64 sh and -# Solaris sh will not grok spaces in the rhs of `-'. -for _am_tool in $_am_tools -do - case $_am_tool in - gnutar) - for _am_tar in tar gnutar gtar; - do - AM_RUN_LOG([$_am_tar --version]) && break - done - am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' - am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' - am__untar="$_am_tar -xf -" - ;; - plaintar) - # Must skip GNU tar: if it does not support --format= it doesn't create - # ustar tarball either. - (tar --version) >/dev/null 2>&1 && continue - am__tar='tar chf - "$$tardir"' - am__tar_='tar chf - "$tardir"' - am__untar='tar xf -' - ;; - pax) - am__tar='pax -L -x $1 -w "$$tardir"' - am__tar_='pax -L -x $1 -w "$tardir"' - am__untar='pax -r' - ;; - cpio) - am__tar='find "$$tardir" -print | cpio -o -H $1 -L' - am__tar_='find "$tardir" -print | cpio -o -H $1 -L' - am__untar='cpio -i -H $1 -d' - ;; - none) - am__tar=false - am__tar_=false - am__untar=false - ;; - esac - - # If the value was cached, stop now. We just wanted to have am__tar - # and am__untar set. - test -n "${am_cv_prog_tar_$1}" && break - - # tar/untar a dummy directory, and stop if the command works - rm -rf conftest.dir - mkdir conftest.dir - echo GrepMe > conftest.dir/file - AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) - rm -rf conftest.dir - if test -s conftest.tar; then - AM_RUN_LOG([$am__untar /dev/null 2>&1 && break - fi -done -rm -rf conftest.dir - -AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) -AC_MSG_RESULT([$am_cv_prog_tar_$1])]) -AC_SUBST([am__tar]) -AC_SUBST([am__untar]) -]) # _AM_PROG_TAR - -m4_include([acinclude.m4]) diff -Nru prerex-6.5.3/prerex-6.5.2/AUTHORS prerex-6.5.4/prerex-6.5.2/AUTHORS --- prerex-6.5.3/prerex-6.5.2/AUTHORS 2010-06-25 19:02:56.000000000 +0000 +++ prerex-6.5.4/prerex-6.5.2/AUTHORS 1970-01-01 00:00:00.000000000 +0000 @@ -1,5 +0,0 @@ -Bob Tennent -School of Computing -Queen's University -Kingston, Canada -rdt@cs.queensu.ca diff -Nru prerex-6.5.3/prerex-6.5.2/ChangeLog prerex-6.5.4/prerex-6.5.2/ChangeLog --- prerex-6.5.3/prerex-6.5.2/ChangeLog 2013-10-12 03:02:01.000000000 +0000 +++ prerex-6.5.4/prerex-6.5.2/ChangeLog 1970-01-01 00:00:00.000000000 +0000 @@ -1,322 +0,0 @@ -Version 6.5.2, 2013-10-11 - - Correct a bug in undoing a mini or text edit. - Replaced trailing pointers by pointers-to-pointers. - -Version 6.5.1, 2012-05-24 - - Use editline if available; readline otherwise. - (editline emulation of readline is broken) - -Version 6.5.0, 2012-05-13 - - Revert to readline (available in gnuwin32 repository). - Remove references to chmod and /dev/null. - -Version 6.4.2, 2012-04-18 - - Revert to editline using native libedit.so. - -Version 6.4.1, 2012-04-17 - - Revert to readline (libedit doesn't build on Cygwin). - -Version 6.4.0, 2012-04-12 - - Switch from (system) readline to (embedded) editline (libedit). - -Version 6.3.2, 2012-03-28 - - Support coordinate ranges for delete, shift, raise commands. - Multiple-step commands undone atomically. - -Version 6.3.1, 2012-03-26 - - Support xchange command. - Display new coordinates of shifted/raised nodes for subsequent raise/shift. - -Version 6.3, 2012-03-21 - - Support opt course boxes. - -Version 6.2.1, 2012-03-18 - - Allow multiple coordinate pairs in cut command. - -Version 6.2, 2011-09-08 - - Replace undelete command by a general multi-level undo command. - Default for undoing paste command is to re-insert at the original coordinates. - -Version 6.1.1, 2011-08-20 - - Fixed missing else which resulted in re-reading ...coursec commands. - Better prompt for background color of a course box. - Better error message if more than one node at a point. - -Version 6.1.0, 2011-08-18 - - Deal with commands \halfcoursec etc. that allow background-color - specification. - -Version 6.0.4, 2011-07-27 - - Deleted prerex_LDFLAGS from src/Makefile.am. - -Version 6.0.3, 2010-07-04 - - Use only one of ncurses/termcap. - -Version 6.0.2, 2010-06-29 - - Deleted reference to stdbool.h. - Modified configuration scripts to allow for readline using ncurses/termcap. - -Version 6.0.1, 2010-06-28 - - Modified configuration scripts to allow building on OpenSUSE (and Ubuntu?) - -Version 6.0, 2010-06-25 - - Allow long options --help and --version. - Using autoconf/automake. - -Version 5.8, 2010-04-10 - - Suppress ".tex" in the prompt. - -Version 5.7, 2010-04-05 - - Delete command can now delete more than one element/arrow. - Turning off all pdflatex output. - -Version 5.6.1, 2010-03-26 - - Open tex_file for writing before restoring from backup. - -Version 5.6, 2010-03-25 - - Modified chmod system calls to be compatible with cygwin on Windows fat32. - Closing the tex_file before processing it (needed for Windows). - Simplified the log-output generation if processing fails. - Always use pdflatex because of automatic rotation in ps2pdf. - -Version 5.5, 2010-03-16 - - Added sleep(1) between initial generations of the pdf file. - Removed all interactions before initial generation of pdf file. - Removed the option of opening another tex file. - Removed the automatic start-up of PDFVIEWER. - Added PRIVATE (i.e., static) specifiers where appropriate. - -Version 5.4, 2009-11-12 - - Must re-open tex_file to regenerate it (!) - -Version 5.3, 2009-10-30 - - Use ps2pdf without attempting rotation correction when using latex, - but, to allow for a script that tests for "Orientation: Landscape" in the ps file, - if the environment variable PS2PDF is defined, its value is used in lieu of ps2pdf. - - Offer to quit if the user won't provide a file name. - - Allow for PAGER == most. - - Code clean-up, especially localizing many globals. - -Version 5.2, 2009-10-19 - - Corrected coding for new file name in open_tex_file. - -Version 5.1, 2009-10-01 - - Final processing no longer automatically uses LaTeX. - -Version 5.0, 2009-09-15 - - Replaced filename by basefilename and chartfilename to allow more than - one document to share an included chart file and allow more than one - chart to be included in a document. The *file* command has been removed. - -Version 4.3, 2009-09-06 - - Replaced strlcpy and strlcpy by append (with offset). - Introduced triv_type to avoid a "pedantic" error. - Corrected an incorrect sizeof argument in open_tex_file. - Call regenerate_and_process after a partial raise. - -Version 4.2, 2008-07-17 - - Use the /Orientation directive to gs (ghostscript) to ensure proper orientation - when slanted fonts are used. - -Version 4.1, 2008-05-16 - - Implement shift/raise of specified diagram elements. - Eliminate unnecessary dependence on libtermcap. - -Version 4.0.1, 2008-02-28 - - Corrected txt field of struct text to have size LINE_LEN+1 - -Version 4.0, 2008-02-13 - - Test for curvatures > 100. - Implement \text command. - -Version 3.8.1, 2007-03-17 - - Sleep for KILL_WAIT seconds before terminating the pdf viewer. - -Version I.8, 2007-02-08 - - Semicolon appended to most user commands suppresses regeneration and reprocessing. - ^C saves to file.tex. Use quit; to exit without saving. - Final processing uses latex -> dvips -> ps2pdf to produce a smaller final pdf. - Attempts to display the pdf during editing using value of environment variable - PDFVIEWER. - -Version 3.7, 2006-12-27 - - latex->dvips->ps2pdf processing restored as an option. - Warns about quitting with unpasted cuts. - -Version 3.6, 2006-11-29 - - Corrects two minor logical errors in code for arrow deletion and box editing. - Generates progress messages when analyzing/saving/processing. - Re-loads after every shell escape, so we can discard the Edit command. - Applies shift/raise to cut and deleted nodes. - Processes tex files using pdflatex instead of latex -> dvips -> ps2pdf. - -Version 3.5, 2006-11-20 - - simpler and more flexible implementation of cut/paste, delete/undelete - generate undelete messages - automatic re-generation and processing after editing operation - -Version 3.4, 2006-11-15 - - deal with files that are (initially) read-only - deal with attempts to cut arrows - -Version 3.3, 2006-11-07 - - preserve comment lines within the chart environment - correct option-handling bug introduced in 3.0 - -Version 3.2, 2006-11-03 -Version 3.1, 2006-10-29 - - introduce Edit command - restore write-access to TeX file during Edit or shell-command execution - try to display error message in log file if LaTeX processing fails - -Version 3.0, 2006-10-19 - - replaced calls to make file.pdf by successive calls to latex, dvips, ps2pdf - removed all references to pdf viewer, user must start one him/herself - replaced strncpy/cat by strlcpy/cat (my implementation of the OpenBSD functions) - produce warning message for truncated course code, timetable, title - -Version 2.4, 2006-04-12 - - added undelete command - no warnings using -Wall -Wextra - allow for cut/paste of minis that are targets of arrow - test for non-existence of source/target box/mini for new arrow - handle more signals than SIGINT (such as SIGSEGV) - -Version 2.3, 2006-03-23 - - remove "which" checking of pdfviewer to allow, e.g., xpdf -remote label - use geometry.sty for new blank TeX file - declarations of optarg, optind moved to prerex.h - -Version 2.2.2, 2006-03-08 - - Free linked structures and readline strings. - Turn grid off initially before restoring a backup. - -Version 2.2.1, 2006-02-18 - - Don't try to remove/restore access to an empty filename. - -Version 2.2, 2006-02-15 - - Inputs and outputs \begin{chart} ... \end{chart} instead of \chart{ ... } - -Version 2.1.1, 2006-02-13 - - Add designation PRIVATE ( = static) to definitions of functions and variables. - -Version 2.1, 2006-02-09 - - Trap SIGINT in order to restore write-access after ^C. - Add Backup command. - -Version 2.0.3, 2006-02-07 - - New arrow should have default curvature. - -Version 2.0.1, 2006-02-06 - - Free list structures before Restoring. - -Version 2.0, 2006-02-03 - - Partition into separate modules prerex.c, inout.c, edit.c - -Version 1.2.2, 2006-02-02 - - Cleanup curvature code. - Use %s to output % in regenerate_tex_file. - -Version 1.2.1, 2006-02-02 - - Allow for curved recommended and co-requisite arrows. - -Version 1.2.0, 2006-02-01 - - Restore command. - -Version 1.1.2, 2006-01-31 - - Create backup of Tex file before editing. - Re-open TeX file for writing before regenerating. - -Version 1.1.1, 2006-01-30 - - TeX file read-only during editing (except when re-generating it). - -Version 1.1.0, 2006-01-29 - - Corrected use of cut stacks. - Eliminated cut arrow command. - Introduced delete box/mini and delete arrow. - Checked for duplicate boxes, minis or arrows (e.g., when pasting). - -Version 1.0.5, 2006-01-28 - - Keep stacks of cut boxes, minis, and arrows. - -Version 1.0.4, 2006-01-27 - - Add option -p. - -Version 1.0.3, 2006-01-26 - - Replace system calls to "xpdf" by calls to pdfviewer (if defined). - -Version 1.0.2, 2006-01-25 - - Replace system call to "pdflatex filename" by call to "make filename.pdf" - to provide more flexibility (e.g., LaTeX vs pdfLaTeX). - -Version 1.0.1, 2006-01-24 - Error message for pdflatex failure now refers to filename.log. - Inserted checks for lp or cp increasing too far in read_textfield - and read_bracketed_textfield. - Process TeX file before analyzing it (as a syntax sanity pre-check). - Defer arrow output if source box not previously output. diff -Nru prerex-6.5.3/prerex-6.5.2/compile prerex-6.5.4/prerex-6.5.2/compile --- prerex-6.5.3/prerex-6.5.2/compile 2010-06-25 16:32:10.000000000 +0000 +++ prerex-6.5.4/prerex-6.5.2/compile 1970-01-01 00:00:00.000000000 +0000 @@ -1,142 +0,0 @@ -#! /bin/sh -# Wrapper for compilers which do not understand `-c -o'. - -scriptversion=2005-05-14.22 - -# Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc. -# Written by Tom Tromey . -# -# 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, 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# This file is maintained in Automake, please report -# bugs to or send patches to -# . - -case $1 in - '') - echo "$0: No command. Try \`$0 --help' for more information." 1>&2 - exit 1; - ;; - -h | --h*) - cat <<\EOF -Usage: compile [--help] [--version] PROGRAM [ARGS] - -Wrapper for compilers which do not understand `-c -o'. -Remove `-o dest.o' from ARGS, run PROGRAM with the remaining -arguments, and rename the output as expected. - -If you are trying to build a whole package this is not the -right script to run: please start by reading the file `INSTALL'. - -Report bugs to . -EOF - exit $? - ;; - -v | --v*) - echo "compile $scriptversion" - exit $? - ;; -esac - -ofile= -cfile= -eat= - -for arg -do - if test -n "$eat"; then - eat= - else - case $1 in - -o) - # configure might choose to run compile as `compile cc -o foo foo.c'. - # So we strip `-o arg' only if arg is an object. - eat=1 - case $2 in - *.o | *.obj) - ofile=$2 - ;; - *) - set x "$@" -o "$2" - shift - ;; - esac - ;; - *.c) - cfile=$1 - set x "$@" "$1" - shift - ;; - *) - set x "$@" "$1" - shift - ;; - esac - fi - shift -done - -if test -z "$ofile" || test -z "$cfile"; then - # If no `-o' option was seen then we might have been invoked from a - # pattern rule where we don't need one. That is ok -- this is a - # normal compilation that the losing compiler can handle. If no - # `.c' file was seen then we are probably linking. That is also - # ok. - exec "$@" -fi - -# Name of file we expect compiler to create. -cofile=`echo "$cfile" | sed -e 's|^.*/||' -e 's/\.c$/.o/'` - -# Create the lock directory. -# Note: use `[/.-]' here to ensure that we don't use the same name -# that we are using for the .o file. Also, base the name on the expected -# object file name, since that is what matters with a parallel build. -lockdir=`echo "$cofile" | sed -e 's|[/.-]|_|g'`.d -while true; do - if mkdir "$lockdir" >/dev/null 2>&1; then - break - fi - sleep 1 -done -# FIXME: race condition here if user kills between mkdir and trap. -trap "rmdir '$lockdir'; exit 1" 1 2 15 - -# Run the compile. -"$@" -ret=$? - -if test -f "$cofile"; then - mv "$cofile" "$ofile" -elif test -f "${cofile}bj"; then - mv "${cofile}bj" "$ofile" -fi - -rmdir "$lockdir" -exit $ret - -# Local Variables: -# mode: shell-script -# sh-indentation: 2 -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-end: "$" -# End: diff -Nru prerex-6.5.3/prerex-6.5.2/config.h.in prerex-6.5.4/prerex-6.5.2/config.h.in --- prerex-6.5.3/prerex-6.5.2/config.h.in 2013-10-12 03:06:19.000000000 +0000 +++ prerex-6.5.4/prerex-6.5.2/config.h.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,95 +0,0 @@ -/* config.h.in. Generated from configure.ac by autoheader. */ - -/* Define to 1 if you have the header file. */ -#undef HAVE_EDITLINE_READLINE_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_HISTEDIT_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_INTTYPES_H - -/* Define to 1 if you have the `edit' library (-ledit). */ -#undef HAVE_LIBEDIT - -/* Define to 1 if you have the `readline' library (-lreadline). */ -#undef HAVE_LIBREADLINE - -/* Define to 1 if you have the header file. */ -#undef HAVE_LIMITS_H - -/* Define to 1 if your system has a GNU libc compatible `malloc' function, and - to 0 otherwise. */ -#undef HAVE_MALLOC - -/* Define to 1 if you have the header file. */ -#undef HAVE_MEMORY_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_READLINE_HISTORY_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_READLINE_READLINE_H - -/* Define to 1 if stdbool.h conforms to C99. */ -#undef HAVE_STDBOOL_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_STDINT_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_STDLIB_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_STRINGS_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_STRING_H - -/* Define to 1 if you have the `strstr' function. */ -#undef HAVE_STRSTR - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_STAT_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_TYPES_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_UNISTD_H - -/* Define to 1 if the system has the type `_Bool'. */ -#undef HAVE__BOOL - -/* Define to 1 if your C compiler doesn't accept -c and -o together. */ -#undef NO_MINUS_C_MINUS_O - -/* Name of package */ -#undef PACKAGE - -/* Define to the address where bug reports for this package should be sent. */ -#undef PACKAGE_BUGREPORT - -/* Define to the full name of this package. */ -#undef PACKAGE_NAME - -/* Define to the full name and version of this package. */ -#undef PACKAGE_STRING - -/* Define to the one symbol short name of this package. */ -#undef PACKAGE_TARNAME - -/* Define to the version of this package. */ -#undef PACKAGE_VERSION - -/* Define to 1 if you have the ANSI C header files. */ -#undef STDC_HEADERS - -/* Version number of package */ -#undef VERSION - -/* Define to rpl_malloc if the replacement function should be used. */ -#undef malloc - -/* Define to `unsigned int' if does not define. */ -#undef size_t diff -Nru prerex-6.5.3/prerex-6.5.2/configure prerex-6.5.4/prerex-6.5.2/configure --- prerex-6.5.3/prerex-6.5.2/configure 2013-10-12 03:06:16.000000000 +0000 +++ prerex-6.5.4/prerex-6.5.2/configure 1970-01-01 00:00:00.000000000 +0000 @@ -1,7072 +0,0 @@ -#! /bin/sh -# Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.63 for prerex 6.5.2. -# -# Report bugs to . -# -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, -# 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. -# This configure script is free software; the Free Software Foundation -# gives unlimited permission to copy, distribute and modify it. -## --------------------- ## -## M4sh Initialization. ## -## --------------------- ## - -# Be 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=: - # Pre-4.2 versions of Zsh do 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 - - - - -# PATH needs CR -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits - -as_nl=' -' -export as_nl -# Printing a long string crashes Solaris 7 /usr/bin/printf. -as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='printf %s\n' - as_echo_n='printf %s' -else - if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then - as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' - as_echo_n='/usr/ucb/echo -n' - else - as_echo_body='eval expr "X$1" : "X\\(.*\\)"' - as_echo_n_body='eval - arg=$1; - case $arg in - *"$as_nl"*) - expr "X$arg" : "X\\(.*\\)$as_nl"; - arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; - esac; - expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" - ' - export as_echo_n_body - as_echo_n='sh -c $as_echo_n_body as_echo' - fi - export as_echo_body - as_echo='sh -c $as_echo_body as_echo' -fi - -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - PATH_SEPARATOR=: - (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { - (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || - PATH_SEPARATOR=';' - } -fi - -# Support unset when possible. -if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then - as_unset=unset -else - as_unset=false -fi - - -# 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.) -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 - $as_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. -LC_ALL=C -export LC_ALL -LANGUAGE=C -export LANGUAGE - -# 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 || -$as_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=. - case $as_dir in - /*) - 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=: - # Pre-4.2 versions of Zsh do 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=: - # Pre-4.2 versions of Zsh do 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 - test "x$as_lineno_1" != "x$as_lineno_2" && - 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 bug-autoconf@gnu.org about your system, - echo including any error possibly output before this message. - echo This can help us improve future autoconf versions. - echo Configuration will now proceed without shell functions. -} - - - - 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 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 - # 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 - :loop - s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ - t loop - s/-\n.*// - ' >$as_me.lineno && - chmod +x "$as_me.lineno" || - { $as_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 sensitive to this). - . "./$as_me.lineno" - # Exit status is that of the last command. - exit -} - - -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 && - 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 2>/dev/null -fi -if (echo >conf$$.file) 2>/dev/null; then - if ln -s conf$$.file conf$$ 2>/dev/null; then - 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' - elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln - else - as_ln_s='cp -p' - fi -else - as_ln_s='cp -p' -fi -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 - -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="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" - -# Sed expression to map a string onto a valid variable name. -as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" - - - -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` - -# -# 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} - -# Identity of this package. -PACKAGE_NAME='prerex' -PACKAGE_TARNAME='prerex' -PACKAGE_VERSION='6.5.2' -PACKAGE_STRING='prerex 6.5.2' -PACKAGE_BUGREPORT='rdt@cs.queensu.ca' - -# Factoring default headers for most tests. -ac_includes_default="\ -#include -#ifdef HAVE_SYS_TYPES_H -# include -#endif -#ifdef HAVE_SYS_STAT_H -# include -#endif -#ifdef STDC_HEADERS -# include -# include -#else -# ifdef HAVE_STDLIB_H -# include -# endif -#endif -#ifdef HAVE_STRING_H -# if !defined STDC_HEADERS && defined HAVE_MEMORY_H -# include -# endif -# include -#endif -#ifdef HAVE_STRINGS_H -# include -#endif -#ifdef HAVE_INTTYPES_H -# include -#endif -#ifdef HAVE_STDINT_H -# include -#endif -#ifdef HAVE_UNISTD_H -# include -#endif" - -ac_subst_vars='am__EXEEXT_FALSE -am__EXEEXT_TRUE -LTLIBOBJS -LIBOBJS -EGREP -GREP -CPP -am__fastdepCC_FALSE -am__fastdepCC_TRUE -CCDEPMODE -AMDEPBACKSLASH -AMDEP_FALSE -AMDEP_TRUE -am__quote -am__include -DEPDIR -OBJEXT -EXEEXT -ac_ct_CC -CPPFLAGS -LDFLAGS -CFLAGS -CC -AM_BACKSLASH -AM_DEFAULT_VERBOSITY -am__untar -am__tar -AMTAR -am__leading_dot -SET_MAKE -AWK -mkdir_p -MKDIR_P -INSTALL_STRIP_PROGRAM -STRIP -install_sh -MAKEINFO -AUTOHEADER -AUTOMAKE -AUTOCONF -ACLOCAL -VERSION -PACKAGE -CYGPATH_W -am__isrc -INSTALL_DATA -INSTALL_SCRIPT -INSTALL_PROGRAM -target_alias -host_alias -build_alias -LIBS -ECHO_T -ECHO_N -ECHO_C -DEFS -mandir -localedir -libdir -psdir -pdfdir -dvidir -htmldir -infodir -docdir -oldincludedir -includedir -localstatedir -sharedstatedir -sysconfdir -datadir -datarootdir -libexecdir -sbindir -bindir -program_transform_name -prefix -exec_prefix -PACKAGE_BUGREPORT -PACKAGE_STRING -PACKAGE_VERSION -PACKAGE_TARNAME -PACKAGE_NAME -PATH_SEPARATOR -SHELL' -ac_subst_files='' -ac_user_opts=' -enable_option_checking -enable_silent_rules -enable_dependency_tracking -' - ac_precious_vars='build_alias -host_alias -target_alias -CC -CFLAGS -LDFLAGS -LIBS -CPPFLAGS -CPP' - - -# Initialize some variables set by options. -ac_init_help= -ac_init_version=false -ac_unrecognized_opts= -ac_unrecognized_sep= -# The variables have the same names as the options, with -# dashes changed to underlines. -cache_file=/dev/null -exec_prefix=NONE -no_create= -no_recursion= -prefix=NONE -program_prefix=NONE -program_suffix=NONE -program_transform_name=s,x,x, -silent= -site= -srcdir= -verbose= -x_includes=NONE -x_libraries=NONE - -# Installation directory options. -# These are left unexpanded so users can "make install exec_prefix=/foo" -# and all the variables that are supposed to be based on exec_prefix -# by default will actually change. -# Use braces instead of parens because sh, perl, etc. also accept them. -# (The list follows the same order as the GNU Coding Standards.) -bindir='${exec_prefix}/bin' -sbindir='${exec_prefix}/sbin' -libexecdir='${exec_prefix}/libexec' -datarootdir='${prefix}/share' -datadir='${datarootdir}' -sysconfdir='${prefix}/etc' -sharedstatedir='${prefix}/com' -localstatedir='${prefix}/var' -includedir='${prefix}/include' -oldincludedir='/usr/include' -docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' -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 - ac_prev= - continue - fi - - 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_dashdash$ac_option in - --) - ac_dashdash=yes ;; - - -bindir | --bindir | --bindi | --bind | --bin | --bi) - ac_prev=bindir ;; - -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) - bindir=$ac_optarg ;; - - -build | --build | --buil | --bui | --bu) - ac_prev=build_alias ;; - -build=* | --build=* | --buil=* | --bui=* | --bu=*) - build_alias=$ac_optarg ;; - - -cache-file | --cache-file | --cache-fil | --cache-fi \ - | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) - ac_prev=cache_file ;; - -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ - | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) - cache_file=$ac_optarg ;; - - --config-cache | -C) - cache_file=config.cache ;; - - -datadir | --datadir | --datadi | --datad) - ac_prev=datadir ;; - -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_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - { $as_echo "$as_me: error: invalid feature name: $ac_useropt" >&2 - { (exit 1); exit 1; }; } - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"enable_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval enable_$ac_useropt=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_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - { $as_echo "$as_me: error: invalid feature name: $ac_useropt" >&2 - { (exit 1); exit 1; }; } - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"enable_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval enable_$ac_useropt=\$ac_optarg ;; - - -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ - | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ - | --exec | --exe | --ex) - ac_prev=exec_prefix ;; - -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ - | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ - | --exec=* | --exe=* | --ex=*) - exec_prefix=$ac_optarg ;; - - -gas | --gas | --ga | --g) - # Obsolete; use --with-gas. - with_gas=yes ;; - - -help | --help | --hel | --he | -h) - ac_init_help=long ;; - -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) - ac_init_help=recursive ;; - -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) - ac_init_help=short ;; - - -host | --host | --hos | --ho) - ac_prev=host_alias ;; - -host=* | --host=* | --hos=* | --ho=*) - host_alias=$ac_optarg ;; - - -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 ;; - -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ - | --includ=* | --inclu=* | --incl=* | --inc=*) - includedir=$ac_optarg ;; - - -infodir | --infodir | --infodi | --infod | --info | --inf) - ac_prev=infodir ;; - -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) - infodir=$ac_optarg ;; - - -libdir | --libdir | --libdi | --libd) - ac_prev=libdir ;; - -libdir=* | --libdir=* | --libdi=* | --libd=*) - libdir=$ac_optarg ;; - - -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ - | --libexe | --libex | --libe) - ac_prev=libexecdir ;; - -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ - | --libexe=* | --libex=* | --libe=*) - libexecdir=$ac_optarg ;; - - -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) - ac_prev=localstatedir ;; - -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ - | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) - localstatedir=$ac_optarg ;; - - -mandir | --mandir | --mandi | --mand | --man | --ma | --m) - ac_prev=mandir ;; - -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) - mandir=$ac_optarg ;; - - -nfp | --nfp | --nf) - # Obsolete; use --without-fp. - with_fp=no ;; - - -no-create | --no-create | --no-creat | --no-crea | --no-cre \ - | --no-cr | --no-c | -n) - no_create=yes ;; - - -no-recursion | --no-recursion | --no-recursio | --no-recursi \ - | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) - no_recursion=yes ;; - - -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ - | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ - | --oldin | --oldi | --old | --ol | --o) - ac_prev=oldincludedir ;; - -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ - | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ - | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) - oldincludedir=$ac_optarg ;; - - -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) - ac_prev=prefix ;; - -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) - prefix=$ac_optarg ;; - - -program-prefix | --program-prefix | --program-prefi | --program-pref \ - | --program-pre | --program-pr | --program-p) - ac_prev=program_prefix ;; - -program-prefix=* | --program-prefix=* | --program-prefi=* \ - | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) - program_prefix=$ac_optarg ;; - - -program-suffix | --program-suffix | --program-suffi | --program-suff \ - | --program-suf | --program-su | --program-s) - ac_prev=program_suffix ;; - -program-suffix=* | --program-suffix=* | --program-suffi=* \ - | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) - program_suffix=$ac_optarg ;; - - -program-transform-name | --program-transform-name \ - | --program-transform-nam | --program-transform-na \ - | --program-transform-n | --program-transform- \ - | --program-transform | --program-transfor \ - | --program-transfo | --program-transf \ - | --program-trans | --program-tran \ - | --progr-tra | --program-tr | --program-t) - ac_prev=program_transform_name ;; - -program-transform-name=* | --program-transform-name=* \ - | --program-transform-nam=* | --program-transform-na=* \ - | --program-transform-n=* | --program-transform-=* \ - | --program-transform=* | --program-transfor=* \ - | --program-transfo=* | --program-transf=* \ - | --program-trans=* | --program-tran=* \ - | --progr-tra=* | --program-tr=* | --program-t=*) - program_transform_name=$ac_optarg ;; - - -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 ;; - - -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) - ac_prev=sbindir ;; - -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ - | --sbi=* | --sb=*) - sbindir=$ac_optarg ;; - - -sharedstatedir | --sharedstatedir | --sharedstatedi \ - | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ - | --sharedst | --shareds | --shared | --share | --shar \ - | --sha | --sh) - ac_prev=sharedstatedir ;; - -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ - | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ - | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ - | --sha=* | --sh=*) - sharedstatedir=$ac_optarg ;; - - -site | --site | --sit) - ac_prev=site ;; - -site=* | --site=* | --sit=*) - site=$ac_optarg ;; - - -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) - ac_prev=srcdir ;; - -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) - srcdir=$ac_optarg ;; - - -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ - | --syscon | --sysco | --sysc | --sys | --sy) - ac_prev=sysconfdir ;; - -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ - | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) - sysconfdir=$ac_optarg ;; - - -target | --target | --targe | --targ | --tar | --ta | --t) - ac_prev=target_alias ;; - -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) - target_alias=$ac_optarg ;; - - -v | -verbose | --verbose | --verbos | --verbo | --verb) - verbose=yes ;; - - -version | --version | --versio | --versi | --vers | -V) - ac_init_version=: ;; - - -with-* | --with-*) - ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - { $as_echo "$as_me: error: invalid package name: $ac_useropt" >&2 - { (exit 1); exit 1; }; } - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"with_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval with_$ac_useropt=\$ac_optarg ;; - - -without-* | --without-*) - ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - { $as_echo "$as_me: error: invalid package name: $ac_useropt" >&2 - { (exit 1); exit 1; }; } - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"with_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval with_$ac_useropt=no ;; - - --x) - # Obsolete; use --with-x. - with_x=yes ;; - - -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ - | --x-incl | --x-inc | --x-in | --x-i) - ac_prev=x_includes ;; - -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ - | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) - x_includes=$ac_optarg ;; - - -x-libraries | --x-libraries | --x-librarie | --x-librari \ - | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) - ac_prev=x_libraries ;; - -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ - | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) - x_libraries=$ac_optarg ;; - - -*) { $as_echo "$as_me: error: unrecognized option: $ac_option -Try \`$0 --help' for more information." >&2 - { (exit 1); exit 1; }; } - ;; - - *=*) - ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` - # Reject names that are not valid shell variable names. - expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && - { $as_echo "$as_me: error: invalid variable name: $ac_envvar" >&2 - { (exit 1); exit 1; }; } - eval $ac_envvar=\$ac_optarg - export $ac_envvar ;; - - *) - # FIXME: should be removed in autoconf 3.0. - $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 - expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && - $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 - : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} - ;; - - esac -done - -if test -n "$ac_prev"; then - ac_option=--`echo $ac_prev | sed 's/_/-/g'` - { $as_echo "$as_me: error: missing argument to $ac_option" >&2 - { (exit 1); exit 1; }; } -fi - -if test -n "$ac_unrecognized_opts"; then - case $enable_option_checking in - no) ;; - fatal) { $as_echo "$as_me: error: unrecognized options: $ac_unrecognized_opts" >&2 - { (exit 1); exit 1; }; } ;; - *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; - esac -fi - -# Check all directory arguments for consistency. -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=\$$ac_var - # Remove trailing slashes. - case $ac_val in - */ ) - ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` - eval $ac_var=\$ac_val;; - esac - # Be sure to have absolute directory names. - case $ac_val in - [\\/$]* | ?:[\\/]* ) continue;; - NONE | '' ) case $ac_var in *prefix ) continue;; esac;; - esac - { $as_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' -# used to hold the argument of --host etc. -# FIXME: To remove some day. -build=$build_alias -host=$host_alias -target=$target_alias - -# FIXME: To remove some day. -if test "x$host_alias" != x; then - if test "x$build_alias" = x; then - cross_compiling=maybe - $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. - If a cross compiler is detected then cross compile mode will be used." >&2 - elif test "x$build_alias" != "x$host_alias"; then - cross_compiling=yes - fi -fi - -ac_tool_prefix= -test -n "$host_alias" && ac_tool_prefix=$host_alias- - -test "$silent" = yes && exec 6>/dev/null - - -ac_pwd=`pwd` && test -n "$ac_pwd" && -ac_ls_di=`ls -di .` && -ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || - { $as_echo "$as_me: error: working directory cannot be determined" >&2 - { (exit 1); exit 1; }; } -test "X$ac_ls_di" = "X$ac_pwd_ls_di" || - { $as_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 the parent directory. - ac_confdir=`$as_dirname -- "$as_myself" || -$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_myself" : 'X\(//\)[^/]' \| \ - X"$as_myself" : 'X\(//\)$' \| \ - X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_myself" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - srcdir=$ac_confdir - if test ! -r "$srcdir/$ac_unique_file"; then - srcdir=.. - fi -else - ac_srcdir_defaulted=no -fi -if test ! -r "$srcdir/$ac_unique_file"; then - test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." - { $as_echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 - { (exit 1); exit 1; }; } -fi -ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" -ac_abs_confdir=`( - cd "$srcdir" && test -r "./$ac_unique_file" || { $as_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. -# -if test "$ac_init_help" = "long"; then - # Omit some internal or obsolete options to make the list less imposing. - # This message is too long to be a string in the A/UX 3.1 sh. - cat <<_ACEOF -\`configure' configures prerex 6.5.2 to adapt to many kinds of systems. - -Usage: $0 [OPTION]... [VAR=VALUE]... - -To assign environment variables (e.g., CC, CFLAGS...), specify them as -VAR=VALUE. See below for descriptions of some of the useful variables. - -Defaults for the options are specified in brackets. - -Configuration: - -h, --help display this help and exit - --help=short display options specific to this package - --help=recursive display the short help of all the included packages - -V, --version display version information and exit - -q, --quiet, --silent do not print \`checking...' messages - --cache-file=FILE cache test results in FILE [disabled] - -C, --config-cache alias for \`--cache-file=config.cache' - -n, --no-create do not create output files - --srcdir=DIR find the sources in DIR [configure dir or \`..'] - -Installation directories: - --prefix=PREFIX install architecture-independent files in PREFIX - [$ac_default_prefix] - --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX - [PREFIX] - -By default, \`make install' will install all the files in -\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify -an installation prefix other than \`$ac_default_prefix' using \`--prefix', -for instance \`--prefix=\$HOME'. - -For better control, use the options below. - -Fine tuning of the installation directories: - --bindir=DIR user executables [EPREFIX/bin] - --sbindir=DIR system admin executables [EPREFIX/sbin] - --libexecdir=DIR program executables [EPREFIX/libexec] - --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] - --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/prerex] - --htmldir=DIR html documentation [DOCDIR] - --dvidir=DIR dvi documentation [DOCDIR] - --pdfdir=DIR pdf documentation [DOCDIR] - --psdir=DIR ps documentation [DOCDIR] -_ACEOF - - cat <<\_ACEOF - -Program names: - --program-prefix=PREFIX prepend PREFIX to installed program names - --program-suffix=SUFFIX append SUFFIX to installed program names - --program-transform-name=PROGRAM run sed PROGRAM on installed program names -_ACEOF -fi - -if test -n "$ac_init_help"; then - case $ac_init_help in - short | recursive ) echo "Configuration of prerex 6.5.2:";; - esac - cat <<\_ACEOF - -Optional Features: - --disable-option-checking ignore unrecognized --enable/--with options - --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) - --enable-FEATURE[=ARG] include FEATURE [ARG=yes] - --enable-silent-rules less verbose build output (undo: `make V=1') - --disable-silent-rules verbose build output (undo: `make V=0') - --disable-dependency-tracking speeds up one-time build - --enable-dependency-tracking do not reject slow dependency extractors - -Some influential environment variables: - CC C compiler command - CFLAGS C compiler flags - LDFLAGS linker flags, e.g. -L if you have libraries 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 - CPP C preprocessor - -Use these variables to override the choices made by `configure' or to help -it to find libraries and programs with nonstandard names/locations. - -Report bugs to . -_ACEOF -ac_status=$? -fi - -if test "$ac_init_help" = "recursive"; then - # If there are subdirs, report their specific --help. - for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue - test -d "$ac_dir" || - { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || - continue - ac_builddir=. - -case "$ac_dir" in -.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; -*) - ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` - # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`$as_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 - .) # We are building in place. - ac_srcdir=. - 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 - 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 - $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 - fi || ac_status=$? - cd "$ac_pwd" || { ac_status=$?; break; } - done -fi - -test -n "$ac_init_help" && exit $ac_status -if $ac_init_version; then - cat <<\_ACEOF -prerex configure 6.5.2 -generated by GNU Autoconf 2.63 - -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, -2002, 2003, 2004, 2005, 2006, 2007, 2008 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 -fi -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 prerex $as_me 6.5.2, which was -generated by GNU Autoconf 2.63. Invocation command line was - - $ $0 $@ - -_ACEOF -exec 5>>config.log -{ -cat <<_ASUNAME -## --------- ## -## Platform. ## -## --------- ## - -hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` -uname -m = `(uname -m) 2>/dev/null || echo unknown` -uname -r = `(uname -r) 2>/dev/null || echo unknown` -uname -s = `(uname -s) 2>/dev/null || echo unknown` -uname -v = `(uname -v) 2>/dev/null || echo unknown` - -/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` -/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` - -/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` -/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` -/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` -/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` - -_ASUNAME - -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - $as_echo "PATH: $as_dir" -done -IFS=$as_save_IFS - -} >&5 - -cat >&5 <<_ACEOF - - -## ----------- ## -## Core tests. ## -## ----------- ## - -_ACEOF - - -# Keep a trace of the command line. -# Strip out --no-create and --no-recursion so they do not pile up. -# Strip out --silent because we don't want to record it for future runs. -# Also quote any args containing shell meta-characters. -# Make two passes to allow for proper duplicate-argument suppression. -ac_configure_args= -ac_configure_args0= -ac_configure_args1= -ac_must_keep_next=false -for ac_pass in 1 2 -do - for ac_arg - do - case $ac_arg in - -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil) - continue ;; - *\'*) - ac_arg=`$as_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: 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. ## -## ---------------- ## -_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_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5 -$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; - esac - case $ac_var in #( - _ | IFS | as_nl) ;; #( - BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( - *) $as_unset $ac_var ;; - esac ;; - esac - done - (set) 2>&1 | - 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" - ;; #( - *) - sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" - ;; - 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=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; - esac - $as_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=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; - esac - $as_echo "$ac_var='\''$ac_val'\''" - done | sort - echo - fi - - if test -s confdefs.h; then - cat <<\_ASBOX -## ----------- ## -## confdefs.h. ## -## ----------- ## -_ASBOX - echo - cat confdefs.h - echo - fi - test "$ac_signal" != 0 && - $as_echo "$as_me: caught signal $ac_signal" - $as_echo "$as_me: exit $exit_status" - } >&5 - rm -f core *.core core.conftest.* && - rm -f -r conftest* confdefs* conf$$* $ac_clean_files && - exit $exit_status -' 0 -for ac_signal in 1 2 13 15; do - trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal -done -ac_signal=0 - -# confdefs.h avoids OS command line length limits that DEFS can exceed. -rm -f -r conftest* confdefs.h - -# Predefined preprocessor variables. - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_NAME "$PACKAGE_NAME" -_ACEOF - - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_TARNAME "$PACKAGE_TARNAME" -_ACEOF - - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_VERSION "$PACKAGE_VERSION" -_ACEOF - - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_STRING "$PACKAGE_STRING" -_ACEOF - - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" -_ACEOF - - -# Let the site file select an alternate cache file if it wants to. -# Prefer an explicitly selected file to automatically selected ones. -ac_site_file1=NONE -ac_site_file2=NONE -if test -n "$CONFIG_SITE"; then - ac_site_file1=$CONFIG_SITE -elif test "x$prefix" != xNONE; then - ac_site_file1=$prefix/share/config.site - ac_site_file2=$prefix/etc/config.site -else - ac_site_file1=$ac_default_prefix/share/config.site - ac_site_file2=$ac_default_prefix/etc/config.site -fi -for ac_site_file in "$ac_site_file1" "$ac_site_file2" -do - test "x$ac_site_file" = xNONE && continue - if test -r "$ac_site_file"; then - { $as_echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 -$as_echo "$as_me: loading site script $ac_site_file" >&6;} - sed 's/^/| /' "$ac_site_file" >&5 - . "$ac_site_file" - fi -done - -if test -r "$cache_file"; then - # Some versions of bash will fail to source /dev/null (special - # files actually), so we avoid doing that. - if test -f "$cache_file"; then - { $as_echo "$as_me:$LINENO: loading cache $cache_file" >&5 -$as_echo "$as_me: loading cache $cache_file" >&6;} - case $cache_file in - [\\/]* | ?:[\\/]* ) . "$cache_file";; - *) . "./$cache_file";; - esac - fi -else - { $as_echo "$as_me:$LINENO: creating cache $cache_file" >&5 -$as_echo "$as_me: creating cache $cache_file" >&6;} - >$cache_file -fi - -# Check that the precious variables saved in the cache have kept the same -# value. -ac_cache_corrupted=false -for ac_var in $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 - case $ac_old_set,$ac_new_set in - set,) - { $as_echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 -$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} - ac_cache_corrupted=: ;; - ,set) - { $as_echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 -$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} - ac_cache_corrupted=: ;; - ,);; - *) - if test "x$ac_old_val" != "x$ac_new_val"; then - # differences in whitespace do not lead to failure. - ac_old_val_w=`echo x $ac_old_val` - ac_new_val_w=`echo x $ac_new_val` - if test "$ac_old_val_w" != "$ac_new_val_w"; then - { $as_echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 -$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} - ac_cache_corrupted=: - else - { $as_echo "$as_me:$LINENO: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 -$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} - eval $ac_var=\$ac_old_val - fi - { $as_echo "$as_me:$LINENO: former value: \`$ac_old_val'" >&5 -$as_echo "$as_me: former value: \`$ac_old_val'" >&2;} - { $as_echo "$as_me:$LINENO: current value: \`$ac_new_val'" >&5 -$as_echo "$as_me: current value: \`$ac_new_val'" >&2;} - fi;; - esac - # Pass precious variables to config.status. - if test "$ac_new_set" = set; then - case $ac_new_val in - *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; - *) ac_arg=$ac_var=$ac_new_val ;; - esac - case " $ac_configure_args " in - *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. - *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; - esac - fi -done -if $ac_cache_corrupted; then - { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} - { $as_echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 -$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} - { { $as_echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 -$as_echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} - { (exit 1); exit 1; }; } -fi - - - - - - - - - - - - - - - - - - - - - - - - - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - -ac_aux_dir= -for ac_dir in . "$srcdir"/.; do - if test -f "$ac_dir/install-sh"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install-sh -c" - break - elif test -f "$ac_dir/install.sh"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install.sh -c" - break - elif test -f "$ac_dir/shtool"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/shtool install -c" - break - fi -done -if test -z "$ac_aux_dir"; then - { { $as_echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in . \"$srcdir\"/." >&5 -$as_echo "$as_me: error: cannot find install-sh or install.sh in . \"$srcdir\"/." >&2;} - { (exit 1); exit 1; }; } -fi - -# 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. - - -am__api_version='1.11' - -# Find a good install program. We prefer a C program (faster), -# so one script is as good as another. But avoid the broken or -# incompatible versions: -# SysV /etc/install, /usr/sbin/install -# SunOS /usr/etc/install -# IRIX /sbin/install -# AIX /bin/install -# AmigaOS /C/install, which installs bootblocks on floppy discs -# 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. -# Reject install programs that cannot install multiple files. -{ $as_echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 -$as_echo_n "checking for a BSD-compatible install... " >&6; } -if test -z "$INSTALL"; then -if test "${ac_cv_path_install+set}" = set; then - $as_echo_n "(cached) " >&6 -else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - # Account for people who put trailing slashes in PATH elements. -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. - # Don't use installbsd from OSF since it installs stuff as root - # by default. - for ac_prog in ginstall scoinst install; do - for ac_exec_ext in '' $ac_executable_extensions; do - 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 - rm -rf conftest.one conftest.two conftest.dir - echo one > conftest.one - echo two > conftest.two - mkdir conftest.dir - if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && - test -s conftest.one && test -s conftest.two && - test -s conftest.dir/conftest.one && - test -s conftest.dir/conftest.two - then - ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" - break 3 - fi - fi - fi - done - done - ;; -esac - -done -IFS=$as_save_IFS - -rm -rf conftest.one conftest.two conftest.dir - -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. 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 value is a relative name. - INSTALL=$ac_install_sh - fi -fi -{ $as_echo "$as_me:$LINENO: result: $INSTALL" >&5 -$as_echo "$INSTALL" >&6; } - -# Use test -z because SunOS4 sh mishandles braces in ${var-val}. -# It thinks the first close brace ends the variable substitution. -test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' - -test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' - -test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' - -{ $as_echo "$as_me:$LINENO: checking whether build environment is sane" >&5 -$as_echo_n "checking whether build environment is sane... " >&6; } -# Just in case -sleep 1 -echo timestamp > conftest.file -# Reject unsafe characters in $srcdir or the absolute working directory -# name. Accept space and tab only in the latter. -am_lf=' -' -case `pwd` in - *[\\\"\#\$\&\'\`$am_lf]*) - { { $as_echo "$as_me:$LINENO: error: unsafe absolute working directory name" >&5 -$as_echo "$as_me: error: unsafe absolute working directory name" >&2;} - { (exit 1); exit 1; }; };; -esac -case $srcdir in - *[\\\"\#\$\&\'\`$am_lf\ \ ]*) - { { $as_echo "$as_me:$LINENO: error: unsafe srcdir value: \`$srcdir'" >&5 -$as_echo "$as_me: error: unsafe srcdir value: \`$srcdir'" >&2;} - { (exit 1); exit 1; }; };; -esac - -# Do `set' in a subshell so we don't clobber the current shell's -# arguments. Must try -L first in case configure is actually a -# symlink; some systems play weird games with the mod time of symlinks -# (eg FreeBSD returns the mod time of the symlink's containing -# directory). -if ( - set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` - if test "$*" = "X"; then - # -L didn't work. - set X `ls -t "$srcdir/configure" conftest.file` - fi - rm -f conftest.file - if test "$*" != "X $srcdir/configure conftest.file" \ - && test "$*" != "X conftest.file $srcdir/configure"; then - - # If neither matched, then we have a broken ls. This can happen - # if, for instance, CONFIG_SHELL is bash and it inherits a - # broken ls alias from the environment. This has actually - # happened. Such a system could not be considered "sane". - { { $as_echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken -alias in your environment" >&5 -$as_echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken -alias in your environment" >&2;} - { (exit 1); exit 1; }; } - fi - - test "$2" = conftest.file - ) -then - # Ok. - : -else - { { $as_echo "$as_me:$LINENO: error: newly created file is older than distributed files! -Check your system clock" >&5 -$as_echo "$as_me: error: newly created file is older than distributed files! -Check your system clock" >&2;} - { (exit 1); exit 1; }; } -fi -{ $as_echo "$as_me:$LINENO: result: yes" >&5 -$as_echo "yes" >&6; } -test "$program_prefix" != NONE && - program_transform_name="s&^&$program_prefix&;$program_transform_name" -# Use a double $ so make ignores it. -test "$program_suffix" != NONE && - program_transform_name="s&\$&$program_suffix&;$program_transform_name" -# Double any \ or $. -# By default was `s,x,x', remove it if useless. -ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' -program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` - -# expand $ac_aux_dir to an absolute path -am_aux_dir=`cd $ac_aux_dir && pwd` - -if test x"${MISSING+set}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; - *) - MISSING="\${SHELL} $am_aux_dir/missing" ;; - esac -fi -# Use eval to expand $SHELL -if eval "$MISSING --run true"; then - am_missing_run="$MISSING --run " -else - am_missing_run= - { $as_echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5 -$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} -fi - -if test x"${install_sh}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; - *) - install_sh="\${SHELL} $am_aux_dir/install-sh" - esac -fi - -# Installed binaries are usually stripped using `strip' when the user -# run `make install-strip'. However `strip' might not be the right -# tool to use in cross-compilation environments, therefore Automake -# will honor the `STRIP' environment variable to overrule this program. -if test "$cross_compiling" != no; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. -set dummy ${ac_tool_prefix}strip; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_STRIP+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$STRIP"; then - ac_cv_prog_STRIP="$STRIP" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_STRIP="${ac_tool_prefix}strip" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -STRIP=$ac_cv_prog_STRIP -if test -n "$STRIP"; then - { $as_echo "$as_me:$LINENO: result: $STRIP" >&5 -$as_echo "$STRIP" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_STRIP"; then - ac_ct_STRIP=$STRIP - # Extract the first word of "strip", so it can be a program name with args. -set dummy strip; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_STRIP"; then - ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # 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 { 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_STRIP="strip" - $as_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_STRIP=$ac_cv_prog_ac_ct_STRIP -if test -n "$ac_ct_STRIP"; then - { $as_echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 -$as_echo "$ac_ct_STRIP" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_STRIP" = x; then - STRIP=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - STRIP=$ac_ct_STRIP - fi -else - STRIP="$ac_cv_prog_STRIP" -fi - -fi -INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" - -{ $as_echo "$as_me:$LINENO: checking for a thread-safe mkdir -p" >&5 -$as_echo_n "checking for a thread-safe mkdir -p... " >&6; } -if test -z "$MKDIR_P"; then - if test "${ac_cv_path_mkdir+set}" = set; then - $as_echo_n "(cached) " >&6 -else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in mkdir gmkdir; do - for ac_exec_ext in '' $ac_executable_extensions; do - { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue - case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( - 'mkdir (GNU coreutils) '* | \ - 'mkdir (coreutils) '* | \ - 'mkdir (fileutils) '4.1*) - ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext - break 3;; - esac - done - done -done -IFS=$as_save_IFS - -fi - - if test "${ac_cv_path_mkdir+set}" = set; then - MKDIR_P="$ac_cv_path_mkdir -p" - else - # As a last resort, use the slow shell script. Don't cache a - # value for MKDIR_P within a source directory, because that will - # break other packages using the cache if that directory is - # removed, or if the value is a relative name. - test -d ./--version && rmdir ./--version - MKDIR_P="$ac_install_sh -d" - fi -fi -{ $as_echo "$as_me:$LINENO: result: $MKDIR_P" >&5 -$as_echo "$MKDIR_P" >&6; } - -mkdir_p="$MKDIR_P" -case $mkdir_p in - [\\/$]* | ?:[\\/]*) ;; - */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; -esac - -for ac_prog in gawk mawk nawk awk -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_AWK+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$AWK"; then - ac_cv_prog_AWK="$AWK" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_AWK="$ac_prog" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -AWK=$ac_cv_prog_AWK -if test -n "$AWK"; then - { $as_echo "$as_me:$LINENO: result: $AWK" >&5 -$as_echo "$AWK" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$AWK" && break -done - -{ $as_echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 -$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } -set x ${MAKE-make} -ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` -if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.make <<\_ACEOF -SHELL = /bin/sh -all: - @echo '@@@%%%=$(MAKE)=@@@%%%' -_ACEOF -# GNU make sometimes prints "make[1]: Entering...", which would confuse us. -case `${MAKE-make} -f conftest.make 2>/dev/null` in - *@@@%%%=?*=@@@%%%*) - eval ac_cv_prog_make_${ac_make}_set=yes;; - *) - eval ac_cv_prog_make_${ac_make}_set=no;; -esac -rm -f conftest.make -fi -if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 -$as_echo "yes" >&6; } - SET_MAKE= -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } - SET_MAKE="MAKE=${MAKE-make}" -fi - -rm -rf .tst 2>/dev/null -mkdir .tst 2>/dev/null -if test -d .tst; then - am__leading_dot=. -else - am__leading_dot=_ -fi -rmdir .tst 2>/dev/null - -if test "`cd $srcdir && pwd`" != "`pwd`"; then - # Use -I$(srcdir) only when $(srcdir) != ., so that make's output - # is not polluted with repeated "-I." - am__isrc=' -I$(srcdir)' - # test to see if srcdir already configured - if test -f $srcdir/config.status; then - { { $as_echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5 -$as_echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;} - { (exit 1); exit 1; }; } - fi -fi - -# test whether we have cygpath -if test -z "$CYGPATH_W"; then - if (cygpath --version) >/dev/null 2>/dev/null; then - CYGPATH_W='cygpath -w' - else - CYGPATH_W=echo - fi -fi - - -# Define the identity of the package. - PACKAGE='prerex' - VERSION='6.5.2' - - -cat >>confdefs.h <<_ACEOF -#define PACKAGE "$PACKAGE" -_ACEOF - - -cat >>confdefs.h <<_ACEOF -#define VERSION "$VERSION" -_ACEOF - -# Some tools Automake needs. - -ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} - - -AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} - - -AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} - - -AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} - - -MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} - -# We need awk for the "check" target. The system "awk" is bad on -# some platforms. -# Always define AMTAR for backward compatibility. - -AMTAR=${AMTAR-"${am_missing_run}tar"} - -am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -' - - - - - -ac_config_headers="$ac_config_headers config.h" - - -# Check whether --enable-silent-rules was given. -if test "${enable_silent_rules+set}" = set; then - enableval=$enable_silent_rules; -fi - -case $enable_silent_rules in -yes) AM_DEFAULT_VERBOSITY=0;; -no) AM_DEFAULT_VERBOSITY=1;; -*) AM_DEFAULT_VERBOSITY=0;; -esac -AM_BACKSLASH='\' - - -# Checks for programs. -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -if test -n "$ac_tool_prefix"; then - # 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 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { 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" - $as_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 - { $as_echo "$as_me:$LINENO: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "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 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then - $as_echo_n "(cached) " >&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 { 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" - $as_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 - { $as_echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 -$as_echo "$ac_ct_CC" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_CC" = x; then - CC="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&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. -set dummy ${ac_tool_prefix}cc; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { 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" - $as_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 - { $as_echo "$as_me:$LINENO: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -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 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else - ac_prog_rejected=no -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 { 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 - fi - ac_cv_prog_CC="cc" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - 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. - set dummy $ac_cv_prog_CC - shift - if test $# != 0; then - # We chose a different compiler from the bogus one. - # 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 - ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" - fi -fi -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:$LINENO: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - 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 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { 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" - $as_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 - { $as_echo "$as_me:$LINENO: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$CC" && break - done -fi -if test -z "$CC"; then - ac_ct_CC=$CC - 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 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then - $as_echo_n "(cached) " >&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 { 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" - $as_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 - { $as_echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 -$as_echo "$ac_ct_CC" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$ac_ct_CC" && break -done - - if test "x$ac_ct_CC" = x; then - CC="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - CC=$ac_ct_CC - fi -fi - -fi - - -test -z "$CC" && { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ { $as_echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH -See \`config.log' for more details." >&5 -$as_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. -$as_echo "$as_me:$LINENO: checking for C compiler version" >&5 -set X $ac_compile -ac_compiler=$2 -{ (ac_try="$ac_compiler --version >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compiler --version >&5") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (ac_try="$ac_compiler -v >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compiler -v >&5") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (ac_try="$ac_compiler -V >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compiler -V >&5") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } - -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files a.out a.out.dSYM 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. -{ $as_echo "$as_me:$LINENO: checking for C compiler default output file name" >&5 -$as_echo_n "checking for C compiler default output file name... " >&6; } -ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` - -# The possible output files: -ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" - -ac_rmfiles= -for ac_file in $ac_files -do - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link_default") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - # 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 | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.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 - -{ $as_echo "$as_me:$LINENO: result: $ac_file" >&5 -$as_echo "$ac_file" >&6; } -if test -z "$ac_file"; then - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -{ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ { $as_echo "$as_me:$LINENO: error: C compiler cannot create executables -See \`config.log' for more details." >&5 -$as_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 - -# Check that the compiler produces executables we can run. If not, either -# the compiler is broken, or we cross compile. -{ $as_echo "$as_me:$LINENO: checking whether the C compiler works" >&5 -$as_echo_n "checking whether the C compiler works... " >&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' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - cross_compiling=no - else - if test "$cross_compiling" = maybe; then - cross_compiling=yes - else - { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ { $as_echo "$as_me:$LINENO: error: cannot run C compiled programs. -If you meant to cross compile, use \`--host'. -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: cannot run C compiled programs. -If you meant to cross compile, use \`--host'. -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; }; } - fi - fi -fi -{ $as_echo "$as_me:$LINENO: result: yes" >&5 -$as_echo "yes" >&6; } - -rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out -ac_clean_files=$ac_clean_files_save -# Check that the compiler produces executables we can run. If not, either -# the compiler is broken, or we cross compile. -{ $as_echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 -$as_echo_n "checking whether we are cross compiling... " >&6; } -{ $as_echo "$as_me:$LINENO: result: $cross_compiling" >&5 -$as_echo "$cross_compiling" >&6; } - -{ $as_echo "$as_me:$LINENO: checking for suffix of executables" >&5 -$as_echo_n "checking for suffix of executables... " >&6; } -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - # If both `conftest.exe' and `conftest' are `present' (well, observable) -# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will -# work properly (i.e., refer to `conftest.exe'), while it won't with -# `rm'. -for ac_file in conftest.exe conftest conftest.*; do - test -f "$ac_file" || continue - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; - *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - break;; - * ) break;; - esac -done -else - { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ { $as_echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link -See \`config.log' for more details." >&5 -$as_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 -{ $as_echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 -$as_echo "$ac_cv_exeext" >&6; } - -rm -f conftest.$ac_ext -EXEEXT=$ac_cv_exeext -ac_exeext=$EXEEXT -{ $as_echo "$as_me:$LINENO: checking for suffix of object files" >&5 -$as_echo_n "checking for suffix of object files... " >&6; } -if test "${ac_cv_objext+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.o conftest.obj -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - 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 | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; - *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` - break;; - esac -done -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -{ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ { $as_echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile -See \`config.log' for more details." >&5 -$as_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 -{ $as_echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 -$as_echo "$ac_cv_objext" >&6; } -OBJEXT=$ac_cv_objext -ac_objext=$OBJEXT -{ $as_echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 -$as_echo_n "checking whether we are using the GNU C compiler... " >&6; } -if test "${ac_cv_c_compiler_gnu+set}" = set; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ -#ifndef __GNUC__ - choke me -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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_compiler_gnu=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_compiler_gnu=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -ac_cv_c_compiler_gnu=$ac_compiler_gnu - -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 -$as_echo "$ac_cv_c_compiler_gnu" >&6; } -if test $ac_compiler_gnu = yes; then - GCC=yes -else - GCC= -fi -ac_test_CFLAGS=${CFLAGS+set} -ac_save_CFLAGS=$CFLAGS -{ $as_echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 -$as_echo_n "checking whether $CC accepts -g... " >&6; } -if test "${ac_cv_prog_cc_g+set}" = set; then - $as_echo_n "(cached) " >&6 -else - 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. */ - -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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 - $as_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 - : -else - $as_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -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 -{ $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 -$as_echo "$ac_cv_prog_cc_g" >&6; } -if test "$ac_test_CFLAGS" = set; then - CFLAGS=$ac_save_CFLAGS -elif test $ac_cv_prog_cc_g = yes; then - if test "$GCC" = yes; then - CFLAGS="-g -O2" - else - CFLAGS="-g" - fi -else - if test "$GCC" = yes; then - CFLAGS="-O2" - else - CFLAGS= - fi -fi -{ $as_echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5 -$as_echo_n "checking for $CC option to accept ISO C89... " >&6; } -if test "${ac_cv_prog_cc_c89+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_prog_cc_c89=no -ac_save_CC=$CC -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#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; -{ - return p[i]; -} -static char *f (char * (*g) (char **, int), char **p, ...) -{ - char *s; - va_list v; - va_start (v,p); - s = g (p, va_arg (v,int)); - va_end (v); - return s; -} - -/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has - function prototypes and stuff, but not '\xHH' hex character constants. - These don't provoke an error unfortunately, instead are silently treated - as 'x'. The following induces an error, until -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 () -{ -return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; - ; - return 0; -} -_ACEOF -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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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_c89=$ac_arg -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -f core conftest.err conftest.$ac_objext - test "x$ac_cv_prog_cc_c89" != "xno" && break -done -rm -f conftest.$ac_ext -CC=$ac_save_CC - -fi -# AC_CACHE_VAL -case "x$ac_cv_prog_cc_c89" in - x) - { $as_echo "$as_me:$LINENO: result: none needed" >&5 -$as_echo "none needed" >&6; } ;; - xno) - { $as_echo "$as_me:$LINENO: result: unsupported" >&5 -$as_echo "unsupported" >&6; } ;; - *) - CC="$CC $ac_cv_prog_cc_c89" - { $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5 -$as_echo "$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 -DEPDIR="${am__leading_dot}deps" - -ac_config_commands="$ac_config_commands depfiles" - - -am_make=${MAKE-make} -cat > confinc << 'END' -am__doit: - @echo this is the am__doit target -.PHONY: am__doit -END -# If we don't find an include directive, just comment out the code. -{ $as_echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5 -$as_echo_n "checking for style of include used by $am_make... " >&6; } -am__include="#" -am__quote= -_am_result=none -# First try GNU make style include. -echo "include confinc" > confmf -# Ignore all kinds of additional output from `make'. -case `$am_make -s -f confmf 2> /dev/null` in #( -*the\ am__doit\ target*) - am__include=include - am__quote= - _am_result=GNU - ;; -esac -# Now try BSD make style include. -if test "$am__include" = "#"; then - echo '.include "confinc"' > confmf - case `$am_make -s -f confmf 2> /dev/null` in #( - *the\ am__doit\ target*) - am__include=.include - am__quote="\"" - _am_result=BSD - ;; - esac -fi - - -{ $as_echo "$as_me:$LINENO: result: $_am_result" >&5 -$as_echo "$_am_result" >&6; } -rm -f confinc confmf - -# Check whether --enable-dependency-tracking was given. -if test "${enable_dependency_tracking+set}" = set; then - enableval=$enable_dependency_tracking; -fi - -if test "x$enable_dependency_tracking" != xno; then - am_depcomp="$ac_aux_dir/depcomp" - AMDEPBACKSLASH='\' -fi - if test "x$enable_dependency_tracking" != xno; then - AMDEP_TRUE= - AMDEP_FALSE='#' -else - AMDEP_TRUE='#' - AMDEP_FALSE= -fi - - - -depcc="$CC" am_compiler_list= - -{ $as_echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 -$as_echo_n "checking dependency style of $depcc... " >&6; } -if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then - # We make a subdir and do the tests there. Otherwise we can end up - # making bogus files that we don't know about and never remove. For - # instance it was reported that on HP-UX the gcc test will end up - # making a dummy file named `D' -- because `-MD' means `put the output - # in D'. - mkdir conftest.dir - # Copy depcomp to subdir because otherwise we won't find it if we're - # using a relative directory. - cp "$am_depcomp" conftest.dir - cd conftest.dir - # We will build objects and dependencies in a subdirectory because - # it helps to detect inapplicable dependency modes. For instance - # both Tru64's cc and ICC support -MD to output dependencies as a - # side effect of compilation, but ICC will put the dependencies in - # the current directory while Tru64 will put them in the object - # directory. - mkdir sub - - am_cv_CC_dependencies_compiler_type=none - if test "$am_compiler_list" = ""; then - am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` - fi - am__universal=false - case " $depcc " in #( - *\ -arch\ *\ -arch\ *) am__universal=true ;; - esac - - for depmode in $am_compiler_list; do - # Setup a source with many dependencies, because some compilers - # like to wrap large dependency lists on column 80 (with \), and - # we should not choose a depcomp mode which is confused by this. - # - # We need to recreate these files for each test, as the compiler may - # overwrite some of them when testing with obscure command lines. - # This happens at least with the AIX C compiler. - : > sub/conftest.c - for i in 1 2 3 4 5 6; do - echo '#include "conftst'$i'.h"' >> sub/conftest.c - # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with - # Solaris 8's {/usr,}/bin/sh. - touch sub/conftst$i.h - done - echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf - - # We check with `-c' and `-o' for the sake of the "dashmstdout" - # mode. It turns out that the SunPro C++ compiler does not properly - # handle `-M -o', and we need to detect this. Also, some Intel - # versions had trouble with output in subdirs - am__obj=sub/conftest.${OBJEXT-o} - am__minus_obj="-o $am__obj" - case $depmode in - gcc) - # This depmode causes a compiler race in universal mode. - test "$am__universal" = false || continue - ;; - nosideeffect) - # after this tag, mechanisms are not by side-effect, so they'll - # only be used when explicitly requested - if test "x$enable_dependency_tracking" = xyes; then - continue - else - break - fi - ;; - msvisualcpp | msvcmsys) - # This compiler won't grok `-c -o', but also, the minuso test has - # not run yet. These depmodes are late enough in the game, and - # so weak that their functioning should not be impacted. - am__obj=conftest.${OBJEXT-o} - am__minus_obj= - ;; - none) break ;; - esac - if depmode=$depmode \ - source=sub/conftest.c object=$am__obj \ - depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ - $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ - >/dev/null 2>conftest.err && - grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && - grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && - grep $am__obj sub/conftest.Po > /dev/null 2>&1 && - ${MAKE-make} -s -f confmf > /dev/null 2>&1; then - # icc doesn't choke on unknown options, it will just issue warnings - # or remarks (even with -Werror). So we grep stderr for any message - # that says an option was ignored or not supported. - # When given -MP, icc 7.0 and 7.1 complain thusly: - # icc: Command line warning: ignoring option '-M'; no argument required - # The diagnosis changed in icc 8.0: - # icc: Command line remark: option '-MP' not supported - if (grep 'ignoring option' conftest.err || - grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else - am_cv_CC_dependencies_compiler_type=$depmode - break - fi - fi - done - - cd .. - rm -rf conftest.dir -else - am_cv_CC_dependencies_compiler_type=none -fi - -fi -{ $as_echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 -$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } -CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type - - if - test "x$enable_dependency_tracking" != xno \ - && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then - am__fastdepCC_TRUE= - am__fastdepCC_FALSE='#' -else - am__fastdepCC_TRUE='#' - am__fastdepCC_FALSE= -fi - - -if test "x$CC" != xcc; then - { $as_echo "$as_me:$LINENO: checking whether $CC and cc understand -c and -o together" >&5 -$as_echo_n "checking whether $CC and cc understand -c and -o together... " >&6; } -else - { $as_echo "$as_me:$LINENO: checking whether cc understands -c and -o together" >&5 -$as_echo_n "checking whether cc understands -c and -o together... " >&6; } -fi -set dummy $CC; ac_cc=`$as_echo "$2" | - sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'` -if { as_var=ac_cv_prog_cc_${ac_cc}_c_o; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -# Make sure it works both with $CC and with simple cc. -# We do the test twice because some compilers refuse to overwrite an -# existing .o file with -o, though they will create one. -ac_try='$CC -c conftest.$ac_ext -o conftest2.$ac_objext >&5' -rm -f conftest2.* -if { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - test -f conftest2.$ac_objext && { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; -then - eval ac_cv_prog_cc_${ac_cc}_c_o=yes - if test "x$CC" != xcc; then - # Test first that cc exists at all. - if { ac_try='cc -c conftest.$ac_ext >&5' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_try='cc -c conftest.$ac_ext -o conftest2.$ac_objext >&5' - rm -f conftest2.* - if { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && - test -f conftest2.$ac_objext && { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; - then - # cc works too. - : - else - # cc exists but doesn't like -o. - eval ac_cv_prog_cc_${ac_cc}_c_o=no - fi - fi - fi -else - eval ac_cv_prog_cc_${ac_cc}_c_o=no -fi -rm -f core conftest* - -fi -if eval test \$ac_cv_prog_cc_${ac_cc}_c_o = yes; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 -$as_echo "yes" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } - -cat >>confdefs.h <<\_ACEOF -#define NO_MINUS_C_MINUS_O 1 -_ACEOF - -fi - -# FIXME: we rely on the cache variable name because -# there is no other way. -set dummy $CC -am_cc=`echo $2 | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'` -eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o -if test "$am_t" != yes; then - # Losing compiler, so override with the script. - # FIXME: It is wrong to rewrite CC. - # But if we don't then we get into trouble of one sort or another. - # A longer-term fix would be to have automake use am__CC in this case, - # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" - CC="$am_aux_dir/compile $CC" -fi - - - -# Checks for libraries. - - -{ $as_echo "$as_me:$LINENO: checking for el_push in -ledit" >&5 -$as_echo_n "checking for el_push in -ledit... " >&6; } -if test "${ac_cv_lib_edit_el_push+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ledit $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any 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 -char el_push (); -int -main () -{ -return el_push (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - ac_cv_lib_edit_el_push=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_lib_edit_el_push=no -fi - -rm -rf conftest.dSYM -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 -{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_edit_el_push" >&5 -$as_echo "$ac_cv_lib_edit_el_push" >&6; } -if test "x$ac_cv_lib_edit_el_push" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBEDIT 1 -_ACEOF - - LIBS="-ledit $LIBS" - -else - -{ $as_echo "$as_me:$LINENO: checking for readline in -lreadline" >&5 -$as_echo_n "checking for readline in -lreadline... " >&6; } -if test "${ac_cv_lib_readline_readline+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lreadline $LIBS" - -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any 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 -char readline (); -int -main () -{ -return readline (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - ac_cv_lib_readline_readline=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_lib_readline_readline=no -fi - -rm -rf conftest.dSYM -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 -{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_readline_readline" >&5 -$as_echo "$ac_cv_lib_readline_readline" >&6; } -if test "x$ac_cv_lib_readline_readline" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBREADLINE 1 -_ACEOF - - LIBS="-lreadline $LIBS" - -else - { { $as_echo "$as_me:$LINENO: error: libreadline or libedit is required!" >&5 -$as_echo "$as_me: error: libreadline or libedit is required!" >&2;} - { (exit 1); exit 1; }; } -fi - -fi - - -# Checks for header files. -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 -{ $as_echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 -$as_echo_n "checking how to run the C preprocessor... " >&6; } -# On Suns, sometimes $CPP names a directory. -if test -n "$CPP" && test -d "$CPP"; then - CPP= -fi -if test -z "$CPP"; then - if test "${ac_cv_prog_CPP+set}" = set; then - $as_echo_n "(cached) " >&6 -else - # Double quotes because CPP needs to be expanded - for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" - do - 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 -/* 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 { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - : -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - # Broken: fails on valid input. -continue -fi - -rm -f conftest.err conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (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 - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - # Passes both tests. -ac_preproc_ok=: -break -fi - -rm -f conftest.err conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext -if $ac_preproc_ok; then - break -fi - - done - ac_cv_prog_CPP=$CPP - -fi - CPP=$ac_cv_prog_CPP -else - ac_cv_prog_CPP=$CPP -fi -{ $as_echo "$as_me:$LINENO: result: $CPP" >&5 -$as_echo "$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 -/* 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 { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - : -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - # Broken: fails on valid input. -continue -fi - -rm -f conftest.err conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (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 - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - # Passes both tests. -ac_preproc_ok=: -break -fi - -rm -f conftest.err conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext -if $ac_preproc_ok; then - : -else - { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ { $as_echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; }; } -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - -{ $as_echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5 -$as_echo_n "checking for grep that handles long lines and -e... " >&6; } -if test "${ac_cv_path_GREP+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -z "$GREP"; then - 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 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_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 - if test -z "$ac_cv_path_GREP"; then - { { $as_echo "$as_me:$LINENO: error: no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 -$as_echo "$as_me: error: no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} - { (exit 1); exit 1; }; } - fi -else - ac_cv_path_GREP=$GREP -fi - -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5 -$as_echo "$ac_cv_path_GREP" >&6; } - GREP="$ac_cv_path_GREP" - - -{ $as_echo "$as_me:$LINENO: checking for egrep" >&5 -$as_echo_n "checking for egrep... " >&6; } -if test "${ac_cv_path_EGREP+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 - then ac_cv_path_EGREP="$GREP -E" - else - if test -z "$EGREP"; then - 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 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_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 - if test -z "$ac_cv_path_EGREP"; then - { { $as_echo "$as_me:$LINENO: error: no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 -$as_echo "$as_me: error: no acceptable egrep 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 -{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5 -$as_echo "$ac_cv_path_EGREP" >&6; } - EGREP="$ac_cv_path_EGREP" - - -{ $as_echo "$as_me:$LINENO: checking for ANSI C header files" >&5 -$as_echo_n "checking for ANSI C header files... " >&6; } -if test "${ac_cv_header_stdc+set}" = set; then - $as_echo_n "(cached) " >&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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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_header_stdc=yes -else - $as_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 - : -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "free" >/dev/null 2>&1; then - : -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. - if test "$cross_compiling" = yes; then - : -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#include -#if ((' ' & 0x0FF) == 0x020) -# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') -# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) -#else -# define ISLOWER(c) \ - (('a' <= (c) && (c) <= 'i') \ - || ('j' <= (c) && (c) <= 'r') \ - || ('s' <= (c) && (c) <= 'z')) -# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) -#endif - -#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) -int -main () -{ - int i; - for (i = 0; i < 256; i++) - if (XOR (islower (i), ISLOWER (i)) - || toupper (i) != TOUPPER (i)) - return 2; - return 0; -} -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - : -else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -ac_cv_header_stdc=no -fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - - -fi -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 -$as_echo "$ac_cv_header_stdc" >&6; } -if test $ac_cv_header_stdc = yes; then - -cat >>confdefs.h <<\_ACEOF -#define STDC_HEADERS 1 -_ACEOF - -fi - -# On IRIX 5.3, sys/types and inttypes.h are conflicting. - - - - - - - - - -for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ - inttypes.h stdint.h unistd.h -do -as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default - -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 - eval "$as_ac_Header=yes" -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Header=no" -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - - - - - - -for ac_header in limits.h stdlib.h string.h unistd.h -do -as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5 -$as_echo_n "checking $ac_header usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> -_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5 -$as_echo_n "checking $ac_header presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <$ac_header> -_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## -------------------------------- ## -## Report this to rdt@cs.queensu.ca ## -## -------------------------------- ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - eval "$as_ac_Header=\$ac_header_preproc" -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - -fi -as_val=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - - - -for ac_header in readline/readline.h readline/history.h -do -as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5 -$as_echo_n "checking $ac_header usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> -_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5 -$as_echo_n "checking $ac_header presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <$ac_header> -_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## -------------------------------- ## -## Report this to rdt@cs.queensu.ca ## -## -------------------------------- ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - eval "$as_ac_Header=\$ac_header_preproc" -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - -fi -as_val=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - - - -for ac_header in editline/readline.h histedit.h -do -as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5 -$as_echo_n "checking $ac_header usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> -_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5 -$as_echo_n "checking $ac_header presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <$ac_header> -_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## -------------------------------- ## -## Report this to rdt@cs.queensu.ca ## -## -------------------------------- ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - eval "$as_ac_Header=\$ac_header_preproc" -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - -fi -as_val=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - - - -# Checks for typedefs, structures, and compiler characteristics. -{ $as_echo "$as_me:$LINENO: checking for stdbool.h that conforms to C99" >&5 -$as_echo_n "checking for stdbool.h that conforms to C99... " >&6; } -if test "${ac_cv_header_stdbool_h+set}" = set; then - $as_echo_n "(cached) " >&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 -#ifndef bool - "error: bool is not defined" -#endif -#ifndef false - "error: false is not defined" -#endif -#if false - "error: false is not 0" -#endif -#ifndef true - "error: true is not defined" -#endif -#if true != 1 - "error: true is not 1" -#endif -#ifndef __bool_true_false_are_defined - "error: __bool_true_false_are_defined is not defined" -#endif - - struct s { _Bool s: 1; _Bool t; } s; - - char a[true == 1 ? 1 : -1]; - char b[false == 0 ? 1 : -1]; - char c[__bool_true_false_are_defined == 1 ? 1 : -1]; - char d[(bool) 0.5 == true ? 1 : -1]; - bool e = &s; - char f[(_Bool) 0.0 == false ? 1 : -1]; - char g[true]; - char h[sizeof (_Bool)]; - char i[sizeof s.t]; - enum { j = false, k = true, l = false * true, m = true * 256 }; - /* The following fails for - HP aC++/ANSI C B3910B A.05.55 [Dec 04 2003]. */ - _Bool n[m]; - char o[sizeof n == m * sizeof n[0] ? 1 : -1]; - char p[-1 - (_Bool) 0 < 0 && -1 - (bool) 0 < 0 ? 1 : -1]; -# if defined __xlc__ || defined __GNUC__ - /* Catch a bug in IBM AIX xlc compiler version 6.0.0.0 - reported by James Lemley on 2005-10-05; see - http://lists.gnu.org/archive/html/bug-coreutils/2005-10/msg00086.html - This test is not quite right, since xlc is allowed to - reject this program, as the initializer for xlcbug is - not one of the forms that C requires support for. - However, doing the test right would require a runtime - test, and that would make cross-compilation harder. - Let us hope that IBM fixes the xlc bug, and also adds - support for this kind of constant expression. In the - meantime, this test will reject xlc, which is OK, since - our stdbool.h substitute should suffice. We also test - this with GCC, where it should work, to detect more - quickly whether someone messes up the test in the - future. */ - char digs[] = "0123456789"; - int xlcbug = 1 / (&(digs + 5)[-2 + (bool) 1] == &digs[4] ? 1 : -1); -# endif - /* Catch a bug in an HP-UX C compiler. See - http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html - http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html - */ - _Bool q = true; - _Bool *pq = &q; - -int -main () -{ - - *pq |= q; - *pq |= ! q; - /* Refer to every declared value, to avoid compiler optimizations. */ - return (!a + !b + !c + !d + !e + !f + !g + !h + !i + !!j + !k + !!l - + !m + !n + !o + !p + !q + !pq); - - ; - 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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_header_stdbool_h=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_header_stdbool_h=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_stdbool_h" >&5 -$as_echo "$ac_cv_header_stdbool_h" >&6; } -{ $as_echo "$as_me:$LINENO: checking for _Bool" >&5 -$as_echo_n "checking for _Bool... " >&6; } -if test "${ac_cv_type__Bool+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_type__Bool=no -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -if (sizeof (_Bool)) - return 0; - ; - 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -if (sizeof ((_Bool))) - return 0; - ; - 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 - : -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_type__Bool=yes -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_type__Bool" >&5 -$as_echo "$ac_cv_type__Bool" >&6; } -if test "x$ac_cv_type__Bool" = x""yes; then - -cat >>confdefs.h <<_ACEOF -#define HAVE__BOOL 1 -_ACEOF - - -fi - -if test $ac_cv_header_stdbool_h = yes; then - -cat >>confdefs.h <<\_ACEOF -#define HAVE_STDBOOL_H 1 -_ACEOF - -fi - -{ $as_echo "$as_me:$LINENO: checking for size_t" >&5 -$as_echo_n "checking for size_t... " >&6; } -if test "${ac_cv_type_size_t+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_type_size_t=no -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -if (sizeof (size_t)) - return 0; - ; - 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -if (sizeof ((size_t))) - return 0; - ; - 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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 - : -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_type_size_t=yes -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_size_t" >&5 -$as_echo "$ac_cv_type_size_t" >&6; } -if test "x$ac_cv_type_size_t" = x""yes; then - : -else - -cat >>confdefs.h <<_ACEOF -#define size_t unsigned int -_ACEOF - -fi - - - -# Checks for library functions. - -for ac_func in strstr -do -as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 -$as_echo_n "checking for $ac_func... " >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef $ac_func - -/* 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 -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$ac_func || defined __stub___$ac_func -choke me -#endif - -int -main () -{ -return $ac_func (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - eval "$as_ac_var=yes" -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_var=no" -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -ac_res=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -as_val=`eval 'as_val=${'$as_ac_var'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - -fi -done - -{ $as_echo "$as_me:$LINENO: checking for error_at_line" >&5 -$as_echo_n "checking for error_at_line... " >&6; } -if test "${ac_cv_lib_error_at_line+set}" = set; then - $as_echo_n "(cached) " >&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 -int -main () -{ -error_at_line (0, 0, "", 0, "an error occurred"); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - ac_cv_lib_error_at_line=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_lib_error_at_line=no -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_error_at_line" >&5 -$as_echo "$ac_cv_lib_error_at_line" >&6; } -if test $ac_cv_lib_error_at_line = no; then - case " $LIBOBJS " in - *" error.$ac_objext "* ) ;; - *) LIBOBJS="$LIBOBJS error.$ac_objext" - ;; -esac - -fi - - -for ac_header in stdlib.h -do -as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5 -$as_echo_n "checking $ac_header usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> -_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$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 - $as_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_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5 -$as_echo_n "checking $ac_header presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <$ac_header> -_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## -------------------------------- ## -## Report this to rdt@cs.queensu.ca ## -## -------------------------------- ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -$as_echo_n "checking for $ac_header... " >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - $as_echo_n "(cached) " >&6 -else - eval "$as_ac_Header=\$ac_header_preproc" -fi -ac_res=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - -fi -as_val=`eval 'as_val=${'$as_ac_Header'} - $as_echo "$as_val"'` - if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - -{ $as_echo "$as_me:$LINENO: checking for GNU libc compatible malloc" >&5 -$as_echo_n "checking for GNU libc compatible malloc... " >&6; } -if test "${ac_cv_func_malloc_0_nonnull+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then - ac_cv_func_malloc_0_nonnull=no -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#if defined STDC_HEADERS || defined HAVE_STDLIB_H -# include -#else -char *malloc (); -#endif - -int -main () -{ -return ! malloc (0); - ; - return 0; -} -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_func_malloc_0_nonnull=yes -else - $as_echo "$as_me: program exited with status $ac_status" >&5 -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -ac_cv_func_malloc_0_nonnull=no -fi -rm -rf conftest.dSYM -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - - -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_malloc_0_nonnull" >&5 -$as_echo "$ac_cv_func_malloc_0_nonnull" >&6; } -if test $ac_cv_func_malloc_0_nonnull = yes; then - -cat >>confdefs.h <<\_ACEOF -#define HAVE_MALLOC 1 -_ACEOF - -else - cat >>confdefs.h <<\_ACEOF -#define HAVE_MALLOC 0 -_ACEOF - - case " $LIBOBJS " in - *" malloc.$ac_objext "* ) ;; - *) LIBOBJS="$LIBOBJS malloc.$ac_objext" - ;; -esac - - -cat >>confdefs.h <<\_ACEOF -#define malloc rpl_malloc -_ACEOF - -fi - - - - -ac_config_files="$ac_config_files Makefile" - -cat >confcache <<\_ACEOF -# This file is a shell script that caches the results of configure -# tests run on this system so they can be shared between configure -# scripts and configure runs, see configure's option --config-cache. -# It is not useful on other systems. If it contains results you don't -# want to keep, you may remove or edit it. -# -# config.status only pays attention to the cache file if you give it -# the --recheck option to rerun configure. -# -# `ac_cv_env_foo' variables (set or unset) will be overridden when -# loading this file, other *unset* `ac_cv_foo' will be assigned the -# following values. - -_ACEOF - -# The following way of writing the cache mishandles newlines in values, -# but we know of no workaround that is simple, portable, and efficient. -# So, 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_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5 -$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; - esac - case $ac_var in #( - _ | IFS | as_nl) ;; #( - BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( - *) $as_unset $ac_var ;; - esac ;; - esac - done - - (set) 2>&1 | - 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" - ;; #( - *) - # `set' quotes correctly as required by POSIX, so do not add quotes. - sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" - ;; - esac | - sort -) | - sed ' - /^ac_cv_env_/b end - t clear - :clear - s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ - t end - 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" && - { $as_echo "$as_me:$LINENO: updating cache $cache_file" >&5 -$as_echo "$as_me: updating cache $cache_file" >&6;} - cat confcache >$cache_file - else - { $as_echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5 -$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} - fi -fi -rm -f confcache - -test "x$prefix" = xNONE && prefix=$ac_default_prefix -# Let make expand exec_prefix. -test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' - -DEFS=-DHAVE_CONFIG_H - -ac_libobjs= -ac_ltlibobjs= -for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue - # 1. Remove the extension, and $U if already installed. - ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' - ac_i=`$as_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 - - - if test -n "$EXEEXT"; then - am__EXEEXT_TRUE= - am__EXEEXT_FALSE='#' -else - am__EXEEXT_TRUE='#' - am__EXEEXT_FALSE= -fi - -if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then - { { $as_echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -$as_echo "$as_me: error: conditional \"AMDEP\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } -fi -if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then - { { $as_echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -$as_echo "$as_me: error: conditional \"am__fastdepCC\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } -fi - -: ${CONFIG_STATUS=./config.status} -ac_write_fail=0 -ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files $CONFIG_STATUS" -{ $as_echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 -$as_echo "$as_me: creating $CONFIG_STATUS" >&6;} -cat >$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -#! $SHELL -# Generated by $as_me. -# Run this file to recreate the current configuration. -# Compiler output produced by configure, useful for debugging -# configure, is in config.log if it exists. - -debug=false -ac_cs_recheck=false -ac_cs_silent=false -SHELL=\${CONFIG_SHELL-$SHELL} -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -## --------------------- ## -## M4sh Initialization. ## -## --------------------- ## - -# 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=: - # Pre-4.2 versions of Zsh do 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 - - - - -# PATH needs CR -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits - -as_nl=' -' -export as_nl -# Printing a long string crashes Solaris 7 /usr/bin/printf. -as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='printf %s\n' - as_echo_n='printf %s' -else - if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then - as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' - as_echo_n='/usr/ucb/echo -n' - else - as_echo_body='eval expr "X$1" : "X\\(.*\\)"' - as_echo_n_body='eval - arg=$1; - case $arg in - *"$as_nl"*) - expr "X$arg" : "X\\(.*\\)$as_nl"; - arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; - esac; - expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" - ' - export as_echo_n_body - as_echo_n='sh -c $as_echo_n_body as_echo' - fi - export as_echo_body - as_echo='sh -c $as_echo_body as_echo' -fi - -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - PATH_SEPARATOR=: - (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { - (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || - PATH_SEPARATOR=';' - } -fi - -# Support unset when possible. -if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then - as_unset=unset -else - as_unset=false -fi - - -# 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.) -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 - $as_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. -LC_ALL=C -export LC_ALL -LANGUAGE=C -export LANGUAGE - -# 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 || -$as_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 - 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 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 - # 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 - :loop - s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ - t loop - s/-\n.*// - ' >$as_me.lineno && - chmod +x "$as_me.lineno" || - { $as_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 sensitive to this). - . "./$as_me.lineno" - # Exit status is that of the last command. - exit -} - - -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 && - 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 2>/dev/null -fi -if (echo >conf$$.file) 2>/dev/null; then - if ln -s conf$$.file conf$$ 2>/dev/null; then - 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' - elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln - else - as_ln_s='cp -p' - fi -else - as_ln_s='cp -p' -fi -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 - -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="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" - -# Sed expression to map a string onto a valid variable name. -as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" - - -exec 6>&1 - -# 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. -ac_log=" -This file was extended by prerex $as_me 6.5.2, which was -generated by GNU Autoconf 2.63. Invocation command line was - - CONFIG_FILES = $CONFIG_FILES - CONFIG_HEADERS = $CONFIG_HEADERS - CONFIG_LINKS = $CONFIG_LINKS - CONFIG_COMMANDS = $CONFIG_COMMANDS - $ $0 $@ - -on `(hostname || uname -n) 2>/dev/null | sed 1q` -" - -_ACEOF - -case $ac_config_files in *" -"*) set x $ac_config_files; shift; ac_config_files=$*;; -esac - -case $ac_config_headers in *" -"*) set x $ac_config_headers; shift; ac_config_headers=$*;; -esac - - -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -# Files that config.status was made for. -config_files="$ac_config_files" -config_headers="$ac_config_headers" -config_commands="$ac_config_commands" - -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -ac_cs_usage="\ -\`$as_me' instantiates files from templates according to the -current configuration. - -Usage: $0 [OPTION]... [FILE]... - - -h, --help print this help, then exit - -V, --version print version number and configuration settings, then exit - -q, --quiet, --silent - do not print progress messages - -d, --debug don't remove temporary files - --recheck update $as_me by reconfiguring in the same conditions - --file=FILE[:TEMPLATE] - instantiate the configuration file FILE - --header=FILE[:TEMPLATE] - instantiate the configuration header FILE - -Configuration files: -$config_files - -Configuration headers: -$config_headers - -Configuration commands: -$config_commands - -Report bugs to ." - -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -ac_cs_version="\\ -prerex config.status 6.5.2 -configured by $0, generated by GNU Autoconf 2.63, - with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" - -Copyright (C) 2008 Free Software Foundation, Inc. -This config.status script is free software; the Free Software Foundation -gives unlimited permission to copy, distribute and modify it." - -ac_pwd='$ac_pwd' -srcdir='$srcdir' -INSTALL='$INSTALL' -MKDIR_P='$MKDIR_P' -AWK='$AWK' -test -n "\$AWK" || AWK=awk -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -# The default lists apply if the user does not specify any file. -ac_need_defaults=: -while test $# != 0 -do - case $1 in - --*=*) - ac_option=`expr "X$1" : 'X\([^=]*\)='` - ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` - ac_shift=: - ;; - *) - ac_option=$1 - ac_optarg=$2 - ac_shift=shift - ;; - esac - - case $ac_option in - # Handling of the options. - -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) - ac_cs_recheck=: ;; - --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) - $as_echo "$ac_cs_version"; exit ;; - --debug | --debu | --deb | --de | --d | -d ) - debug=: ;; - --file | --fil | --fi | --f ) - $ac_shift - case $ac_optarg in - *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; - esac - CONFIG_FILES="$CONFIG_FILES '$ac_optarg'" - ac_need_defaults=false;; - --header | --heade | --head | --hea ) - $ac_shift - case $ac_optarg in - *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; - esac - CONFIG_HEADERS="$CONFIG_HEADERS '$ac_optarg'" - ac_need_defaults=false;; - --he | --h) - # Conflict between --help and --header - { $as_echo "$as_me: error: ambiguous option: $1 -Try \`$0 --help' for more information." >&2 - { (exit 1); exit 1; }; };; - --help | --hel | -h ) - $as_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. - -*) { $as_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_need_defaults=false ;; - - esac - shift -done - -ac_configure_extra_args= - -if $ac_cs_silent; then - exec 6>/dev/null - ac_configure_extra_args="$ac_configure_extra_args --silent" -fi - -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -if \$ac_cs_recheck; then - set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion - shift - \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 - CONFIG_SHELL='$SHELL' - export CONFIG_SHELL - exec "\$@" -fi - -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -exec 5>>config.log -{ - echo - sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX -## Running $as_me. ## -_ASBOX - $as_echo "$ac_log" -} >&5 - -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -# -# INIT-COMMANDS -# -AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" - -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 - -# Handling of arguments. -for ac_config_target in $ac_config_targets -do - case $ac_config_target in - "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; - "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; - "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; - - *) { { $as_echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 -$as_echo "$as_me: error: invalid argument: $ac_config_target" >&2;} - { (exit 1); exit 1; }; };; - esac -done - - -# If the user did not use the arguments to specify the items to instantiate, -# then the envvar interface is used. Set only those that are not. -# We use the long form for the default assignment because of an extremely -# bizarre bug on SunOS 4.1.3. -if $ac_need_defaults; then - test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files - test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers - test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands -fi - -# 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 || -{ - 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. - -{ - tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && - test -n "$tmp" && test -d "$tmp" -} || -{ - tmp=./conf$$-$RANDOM - (umask 077 && mkdir "$tmp") -} || -{ - $as_echo "$as_me: cannot create a temporary directory in ." >&2 - { (exit 1); exit 1; } -} - -# Set up the scripts for CONFIG_FILES section. -# No need to generate them if there are no CONFIG_FILES. -# This happens for instance with `./config.status config.h'. -if test -n "$CONFIG_FILES"; then - - -ac_cr=' ' -ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` -if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then - ac_cs_awk_cr='\\r' -else - ac_cs_awk_cr=$ac_cr -fi - -echo 'BEGIN {' >"$tmp/subs1.awk" && -_ACEOF - - -{ - echo "cat >conf$$subs.awk <<_ACEOF" && - echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && - echo "_ACEOF" -} >conf$$subs.sh || - { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 -$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} - { (exit 1); exit 1; }; } -ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'` -ac_delim='%!_!# ' -for ac_last_try in false false false false false :; do - . ./conf$$subs.sh || - { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 -$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} - { (exit 1); exit 1; }; } - - ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` - if test $ac_delim_n = $ac_delim_num; then - break - elif $ac_last_try; then - { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 -$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} - { (exit 1); exit 1; }; } - else - ac_delim="$ac_delim!$ac_delim _$ac_delim!! " - fi -done -rm -f conf$$subs.sh - -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -cat >>"\$tmp/subs1.awk" <<\\_ACAWK && -_ACEOF -sed -n ' -h -s/^/S["/; s/!.*/"]=/ -p -g -s/^[^!]*!// -:repl -t repl -s/'"$ac_delim"'$// -t delim -:nl -h -s/\(.\{148\}\).*/\1/ -t more1 -s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ -p -n -b repl -:more1 -s/["\\]/\\&/g; s/^/"/; s/$/"\\/ -p -g -s/.\{148\}// -t nl -:delim -h -s/\(.\{148\}\).*/\1/ -t more2 -s/["\\]/\\&/g; s/^/"/; s/$/"/ -p -b -:more2 -s/["\\]/\\&/g; s/^/"/; s/$/"\\/ -p -g -s/.\{148\}// -t delim -' >$CONFIG_STATUS || ac_write_fail=1 -rm -f conf$$subs.awk -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -_ACAWK -cat >>"\$tmp/subs1.awk" <<_ACAWK && - for (key in S) S_is_set[key] = 1 - FS = "" - -} -{ - line = $ 0 - nfields = split(line, field, "@") - substed = 0 - len = length(field[1]) - for (i = 2; i < nfields; i++) { - key = field[i] - keylen = length(key) - if (S_is_set[key]) { - value = S[key] - line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) - len += length(value) + length(field[++i]) - substed = 1 - } else - len += 1 + keylen - } - - print line -} - -_ACAWK -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then - sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" -else - cat -fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \ - || { { $as_echo "$as_me:$LINENO: error: could not setup config files machinery" >&5 -$as_echo "$as_me: error: could not setup config files machinery" >&2;} - { (exit 1); exit 1; }; } -_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 || ac_write_fail=1 -fi # test -n "$CONFIG_FILES" - -# Set up the scripts for CONFIG_HEADERS section. -# No need to generate them if there are no CONFIG_HEADERS. -# This happens for instance with `./config.status Makefile'. -if test -n "$CONFIG_HEADERS"; then -cat >"$tmp/defines.awk" <<\_ACAWK || -BEGIN { -_ACEOF - -# Transform confdefs.h into an awk script `defines.awk', embedded as -# here-document in config.status, that substitutes the proper values into -# config.h.in to produce config.h. - -# Create a delimiter string that does not exist in confdefs.h, to ease -# handling of long lines. -ac_delim='%!_!# ' -for ac_last_try in false false :; do - ac_t=`sed -n "/$ac_delim/p" confdefs.h` - if test -z "$ac_t"; then - break - elif $ac_last_try; then - { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_HEADERS" >&5 -$as_echo "$as_me: error: could not make $CONFIG_HEADERS" >&2;} - { (exit 1); exit 1; }; } - else - ac_delim="$ac_delim!$ac_delim _$ac_delim!! " - fi -done - -# For the awk script, D is an array of macro values keyed by name, -# likewise P contains macro parameters if any. Preserve backslash -# newline sequences. - -ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* -sed -n ' -s/.\{148\}/&'"$ac_delim"'/g -t rset -:rset -s/^[ ]*#[ ]*define[ ][ ]*/ / -t def -d -:def -s/\\$// -t bsnl -s/["\\]/\\&/g -s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ -D["\1"]=" \3"/p -s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p -d -:bsnl -s/["\\]/\\&/g -s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ -D["\1"]=" \3\\\\\\n"\\/p -t cont -s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p -t cont -d -:cont -n -s/.\{148\}/&'"$ac_delim"'/g -t clear -:clear -s/\\$// -t bsnlc -s/["\\]/\\&/g; s/^/"/; s/$/"/p -d -:bsnlc -s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p -b cont -' >$CONFIG_STATUS || ac_write_fail=1 - -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 - for (key in D) D_is_set[key] = 1 - FS = "" -} -/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { - line = \$ 0 - split(line, arg, " ") - if (arg[1] == "#") { - defundef = arg[2] - mac1 = arg[3] - } else { - defundef = substr(arg[1], 2) - mac1 = arg[2] - } - split(mac1, mac2, "(") #) - macro = mac2[1] - prefix = substr(line, 1, index(line, defundef) - 1) - if (D_is_set[macro]) { - # Preserve the white space surrounding the "#". - print prefix "define", macro P[macro] D[macro] - next - } else { - # Replace #undef with comments. This is necessary, for example, - # in the case of _POSIX_SOURCE, which is predefined and required - # on some systems where configure will not decide to define it. - if (defundef == "undef") { - print "/*", prefix defundef, macro, "*/" - next - } - } -} -{ print } -_ACAWK -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 - { { $as_echo "$as_me:$LINENO: error: could not setup config headers machinery" >&5 -$as_echo "$as_me: error: could not setup config headers machinery" >&2;} - { (exit 1); exit 1; }; } -fi # test -n "$CONFIG_HEADERS" - - -eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS" -shift -for ac_tag -do - case $ac_tag in - :[FHLC]) ac_mode=$ac_tag; continue;; - esac - case $ac_mode$ac_tag in - :[FHL]*:*);; - :L* | :C*:*) { { $as_echo "$as_me:$LINENO: error: invalid tag $ac_tag" >&5 -$as_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 - - 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 || - { { $as_echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5 -$as_echo "$as_me: error: cannot find input file: $ac_f" >&2;} - { (exit 1); exit 1; }; };; - esac - case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; 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 '` - $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' - `' by configure.' - if test x"$ac_file" != x-; then - configure_input="$ac_file. $configure_input" - { $as_echo "$as_me:$LINENO: creating $ac_file" >&5 -$as_echo "$as_me: creating $ac_file" >&6;} - fi - # Neutralize special characters interpreted by sed in replacement strings. - case $configure_input in #( - *\&* | *\|* | *\\* ) - ac_sed_conf_input=`$as_echo "$configure_input" | - sed 's/[\\\\&|]/\\\\&/g'`;; #( - *) ac_sed_conf_input=$configure_input;; - esac - - case $ac_tag in - *:-:* | *:-) cat >"$tmp/stdin" \ - || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 -$as_echo "$as_me: error: could not create $ac_file" >&2;} - { (exit 1); exit 1; }; } ;; - esac - ;; - esac - - 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 || -$as_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=`$as_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 || -$as_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" || { { $as_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 -$as_echo "$as_me: error: cannot create directory $as_dir" >&2;} - { (exit 1); exit 1; }; }; } - ac_builddir=. - -case "$ac_dir" in -.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; -*) - ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` - # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`$as_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 - .) # We are building in place. - ac_srcdir=. - 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 - 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_build_prefix$INSTALL ;; - esac - ac_MKDIR_P=$MKDIR_P - case $MKDIR_P in - [\\/$]* | ?:[\\/]* ) ;; - */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; - esac -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -# 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= - -ac_sed_dataroot=' -/datarootdir/ { - p - q -} -/@datadir@/p -/@docdir@/p -/@infodir@/p -/@localedir@/p -/@mandir@/p -' -case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in -*datarootdir*) ac_datarootdir_seen=yes;; -*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) - { $as_echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 -$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 - 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 || ac_write_fail=1 -ac_sed_extra="$ac_vpsub -$extrasub -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -:t -/@[a-zA-Z_][a-zA-Z_0-9]*@/!b -s|@configure_input@|$ac_sed_conf_input|;t t -s&@top_builddir@&$ac_top_builddir_sub&;t t -s&@top_build_prefix@&$ac_top_build_prefix&;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 -s&@MKDIR_P@&$ac_MKDIR_P&;t t -$ac_datarootdir_hack -" -eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \ - || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 -$as_echo "$as_me: error: could not create $ac_file" >&2;} - { (exit 1); exit 1; }; } - -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"; } && - { $as_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 -$as_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;} - - 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 \ - || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 -$as_echo "$as_me: error: could not create $ac_file" >&2;} - { (exit 1); exit 1; }; } - ;; - :H) - # - # CONFIG_HEADER - # - if test x"$ac_file" != x-; then - { - $as_echo "/* $configure_input */" \ - && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" - } >"$tmp/config.h" \ - || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 -$as_echo "$as_me: error: could not create $ac_file" >&2;} - { (exit 1); exit 1; }; } - if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then - { $as_echo "$as_me:$LINENO: $ac_file is unchanged" >&5 -$as_echo "$as_me: $ac_file is unchanged" >&6;} - else - rm -f "$ac_file" - mv "$tmp/config.h" "$ac_file" \ - || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 -$as_echo "$as_me: error: could not create $ac_file" >&2;} - { (exit 1); exit 1; }; } - fi - else - $as_echo "/* $configure_input */" \ - && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \ - || { { $as_echo "$as_me:$LINENO: error: could not create -" >&5 -$as_echo "$as_me: error: could not create -" >&2;} - { (exit 1); exit 1; }; } - fi -# Compute "$ac_file"'s index in $config_headers. -_am_arg="$ac_file" -_am_stamp_count=1 -for _am_header in $config_headers :; do - case $_am_header in - $_am_arg | $_am_arg:* ) - break ;; - * ) - _am_stamp_count=`expr $_am_stamp_count + 1` ;; - esac -done -echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" || -$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$_am_arg" : 'X\(//\)[^/]' \| \ - X"$_am_arg" : 'X\(//\)$' \| \ - X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$_am_arg" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'`/stamp-h$_am_stamp_count - ;; - - :C) { $as_echo "$as_me:$LINENO: executing $ac_file commands" >&5 -$as_echo "$as_me: executing $ac_file commands" >&6;} - ;; - esac - - - case $ac_file$ac_mode in - "depfiles":C) test x"$AMDEP_TRUE" != x"" || { - # Autoconf 2.62 quotes --file arguments for eval, but not when files - # are listed without --file. Let's play safe and only enable the eval - # if we detect the quoting. - case $CONFIG_FILES in - *\'*) eval set x "$CONFIG_FILES" ;; - *) set x $CONFIG_FILES ;; - esac - shift - for mf - do - # Strip MF so we end up with the name of the file. - mf=`echo "$mf" | sed -e 's/:.*$//'` - # Check whether this is an Automake generated Makefile or not. - # We used to match only the files named `Makefile.in', but - # some people rename them; so instead we look at the file content. - # Grep'ing the first line is not enough: some people post-process - # each Makefile.in and add a new line on top of each file to say so. - # Grep'ing the whole file is not good either: AIX grep has a line - # limit of 2048, but all sed's we know have understand at least 4000. - if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then - dirpart=`$as_dirname -- "$mf" || -$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$mf" : 'X\(//\)[^/]' \| \ - X"$mf" : 'X\(//\)$' \| \ - X"$mf" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$mf" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - else - continue - fi - # Extract the definition of DEPDIR, am__include, and am__quote - # from the Makefile without running `make'. - DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` - test -z "$DEPDIR" && continue - am__include=`sed -n 's/^am__include = //p' < "$mf"` - test -z "am__include" && continue - am__quote=`sed -n 's/^am__quote = //p' < "$mf"` - # When using ansi2knr, U may be empty or an underscore; expand it - U=`sed -n 's/^U = //p' < "$mf"` - # Find all dependency output files, they are included files with - # $(DEPDIR) in their names. We invoke sed twice because it is the - # simplest approach to changing $(DEPDIR) to its actual value in the - # expansion. - for file in `sed -n " - s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ - sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do - # Make sure the directory exists. - test -f "$dirpart/$file" && continue - fdir=`$as_dirname -- "$file" || -$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$file" : 'X\(//\)[^/]' \| \ - X"$file" : 'X\(//\)$' \| \ - X"$file" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - { as_dir=$dirpart/$fdir - 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=`$as_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 || -$as_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" || { { $as_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 -$as_echo "$as_me: error: cannot create directory $as_dir" >&2;} - { (exit 1); exit 1; }; }; } - # echo "creating $dirpart/$file" - echo '# dummy' > "$dirpart/$file" - done - done -} - ;; - - esac -done # for ac_tag - - -{ (exit 0); exit 0; } -_ACEOF -chmod +x $CONFIG_STATUS -ac_clean_files=$ac_clean_files_save - -test $ac_write_fail = 0 || - { { $as_echo "$as_me:$LINENO: error: write failure creating $CONFIG_STATUS" >&5 -$as_echo "$as_me: error: write failure creating $CONFIG_STATUS" >&2;} - { (exit 1); exit 1; }; } - - -# configure is writing to config.log, and then calls config.status. -# config.status does its own redirection, appending to config.log. -# Unfortunately, on DOS this fails, as config.log is still kept open -# by configure, so config.status won't be able to write to it; its -# output is simply discarded. So we exec the FD to /dev/null, -# effectively closing config.log, so it can be properly (re)opened and -# appended to by config.status. When coming back to configure, we -# need to make the FD available again. -if test "$no_create" != yes; then - ac_cs_success=: - ac_config_status_args= - test "$silent" = yes && - ac_config_status_args="$ac_config_status_args --quiet" - exec 5>/dev/null - $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false - exec 5>>config.log - # Use ||, not &&, to avoid exiting from the if with $? = 1, which - # would make configure fail if this is the last instruction. - $ac_cs_success || { (exit 1); exit 1; } -fi -if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then - { $as_echo "$as_me:$LINENO: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 -$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} -fi - diff -Nru prerex-6.5.3/prerex-6.5.2/configure.ac prerex-6.5.4/prerex-6.5.2/configure.ac --- prerex-6.5.3/prerex-6.5.2/configure.ac 2013-10-12 03:05:56.000000000 +0000 +++ prerex-6.5.4/prerex-6.5.2/configure.ac 1970-01-01 00:00:00.000000000 +0000 @@ -1,38 +0,0 @@ -# -*- Autoconf -*- -# Process this file with autoconf to produce a configure script. - -AC_PREREQ(2.63) -AC_INIT([prerex],[6.5.2],[rdt@cs.queensu.ca]) -AC_CONFIG_AUX_DIR([.]) -AM_INIT_AUTOMAKE -AC_CONFIG_HEADERS([config.h]) - -m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) - -# Checks for programs. -AC_PROG_CC -AM_PROG_CC_C_O - -# Checks for libraries. - -AC_CHECK_LIB([edit], [el_push], [], - AC_CHECK_LIB([readline], [readline], [], [AC_MSG_ERROR([libreadline or libedit is required!])])) - -# Checks for header files. -AC_CHECK_HEADERS([limits.h stdlib.h string.h unistd.h]) -AC_CHECK_HEADERS([readline/readline.h readline/history.h]) -AC_CHECK_HEADERS([editline/readline.h histedit.h]) - - -# Checks for typedefs, structures, and compiler characteristics. -AC_HEADER_STDBOOL -AC_TYPE_SIZE_T - - -# Checks for library functions. -AC_CHECK_FUNCS([strstr]) -AC_FUNC_ERROR_AT_LINE -AC_FUNC_MALLOC - -AC_CONFIG_FILES([Makefile]) -AC_OUTPUT diff -Nru prerex-6.5.3/prerex-6.5.2/COPYING prerex-6.5.4/prerex-6.5.2/COPYING --- prerex-6.5.3/prerex-6.5.2/COPYING 2010-06-25 16:17:56.000000000 +0000 +++ prerex-6.5.4/prerex-6.5.2/COPYING 1970-01-01 00:00:00.000000000 +0000 @@ -1,340 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Library General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Library General -Public License instead of this License. diff -Nru prerex-6.5.3/prerex-6.5.2/depcomp prerex-6.5.4/prerex-6.5.2/depcomp --- prerex-6.5.3/prerex-6.5.2/depcomp 2010-06-25 16:17:56.000000000 +0000 +++ prerex-6.5.4/prerex-6.5.2/depcomp 1970-01-01 00:00:00.000000000 +0000 @@ -1,530 +0,0 @@ -#! /bin/sh -# depcomp - compile a program generating dependencies as side-effects - -scriptversion=2005-07-09.11 - -# Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc. - -# 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, 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., 51 Franklin Street, Fifth Floor, Boston, MA -# 02110-1301, USA. - -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# Originally written by Alexandre Oliva . - -case $1 in - '') - echo "$0: No command. Try \`$0 --help' for more information." 1>&2 - exit 1; - ;; - -h | --h*) - cat <<\EOF -Usage: depcomp [--help] [--version] PROGRAM [ARGS] - -Run PROGRAMS ARGS to compile a file, generating dependencies -as side-effects. - -Environment variables: - depmode Dependency tracking mode. - source Source file read by `PROGRAMS ARGS'. - object Object file output by `PROGRAMS ARGS'. - DEPDIR directory where to store dependencies. - depfile Dependency file to output. - tmpdepfile Temporary file to use when outputing dependencies. - libtool Whether libtool is used (yes/no). - -Report bugs to . -EOF - exit $? - ;; - -v | --v*) - echo "depcomp $scriptversion" - exit $? - ;; -esac - -if test -z "$depmode" || test -z "$source" || test -z "$object"; then - echo "depcomp: Variables source, object and depmode must be set" 1>&2 - exit 1 -fi - -# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po. -depfile=${depfile-`echo "$object" | - sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`} -tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} - -rm -f "$tmpdepfile" - -# Some modes work just like other modes, but use different flags. We -# parameterize here, but still list the modes in the big case below, -# to make depend.m4 easier to write. Note that we *cannot* use a case -# here, because this file can only contain one case statement. -if test "$depmode" = hp; then - # HP compiler uses -M and no extra arg. - gccflag=-M - depmode=gcc -fi - -if test "$depmode" = dashXmstdout; then - # This is just like dashmstdout with a different argument. - dashmflag=-xM - depmode=dashmstdout -fi - -case "$depmode" in -gcc3) -## gcc 3 implements dependency tracking that does exactly what -## we want. Yay! Note: for some reason libtool 1.4 doesn't like -## it if -MD -MP comes after the -MF stuff. Hmm. - "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" - stat=$? - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile" - exit $stat - fi - mv "$tmpdepfile" "$depfile" - ;; - -gcc) -## There are various ways to get dependency output from gcc. Here's -## why we pick this rather obscure method: -## - Don't want to use -MD because we'd like the dependencies to end -## up in a subdir. Having to rename by hand is ugly. -## (We might end up doing this anyway to support other compilers.) -## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like -## -MM, not -M (despite what the docs say). -## - Using -M directly means running the compiler twice (even worse -## than renaming). - if test -z "$gccflag"; then - gccflag=-MD, - fi - "$@" -Wp,"$gccflag$tmpdepfile" - stat=$? - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile" - exit $stat - fi - rm -f "$depfile" - echo "$object : \\" > "$depfile" - alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz -## The second -e expression handles DOS-style file names with drive letters. - sed -e 's/^[^:]*: / /' \ - -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" -## This next piece of magic avoids the `deleted header file' problem. -## The problem is that when a header file which appears in a .P file -## is deleted, the dependency causes make to die (because there is -## typically no way to rebuild the header). We avoid this by adding -## dummy dependencies for each header file. Too bad gcc doesn't do -## this for us directly. - tr ' ' ' -' < "$tmpdepfile" | -## Some versions of gcc put a space before the `:'. On the theory -## that the space means something, we add a space to the output as -## well. -## Some versions of the HPUX 10.20 sed can't process this invocation -## correctly. Breaking it into two sed invocations is a workaround. - sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -hp) - # This case exists only to let depend.m4 do its work. It works by - # looking at the text of this script. This case will never be run, - # since it is checked for above. - exit 1 - ;; - -sgi) - if test "$libtool" = yes; then - "$@" "-Wp,-MDupdate,$tmpdepfile" - else - "$@" -MDupdate "$tmpdepfile" - fi - stat=$? - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile" - exit $stat - fi - rm -f "$depfile" - - if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files - echo "$object : \\" > "$depfile" - - # Clip off the initial element (the dependent). Don't try to be - # clever and replace this with sed code, as IRIX sed won't handle - # lines with more than a fixed number of characters (4096 in - # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; - # the IRIX cc adds comments like `#:fec' to the end of the - # dependency line. - tr ' ' ' -' < "$tmpdepfile" \ - | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \ - tr ' -' ' ' >> $depfile - echo >> $depfile - - # The second pass generates a dummy entry for each header file. - tr ' ' ' -' < "$tmpdepfile" \ - | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ - >> $depfile - else - # The sourcefile does not contain any dependencies, so just - # store a dummy comment line, to avoid errors with the Makefile - # "include basename.Plo" scheme. - echo "#dummy" > "$depfile" - fi - rm -f "$tmpdepfile" - ;; - -aix) - # The C for AIX Compiler uses -M and outputs the dependencies - # in a .u file. In older versions, this file always lives in the - # current directory. Also, the AIX compiler puts `$object:' at the - # start of each line; $object doesn't have directory information. - # Version 6 uses the directory in both cases. - stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'` - tmpdepfile="$stripped.u" - if test "$libtool" = yes; then - "$@" -Wc,-M - else - "$@" -M - fi - stat=$? - - if test -f "$tmpdepfile"; then : - else - stripped=`echo "$stripped" | sed 's,^.*/,,'` - tmpdepfile="$stripped.u" - fi - - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile" - exit $stat - fi - - if test -f "$tmpdepfile"; then - outname="$stripped.o" - # Each line is of the form `foo.o: dependent.h'. - # Do two passes, one to just change these to - # `$object: dependent.h' and one to simply `dependent.h:'. - sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile" - sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile" - else - # The sourcefile does not contain any dependencies, so just - # store a dummy comment line, to avoid errors with the Makefile - # "include basename.Plo" scheme. - echo "#dummy" > "$depfile" - fi - rm -f "$tmpdepfile" - ;; - -icc) - # Intel's C compiler understands `-MD -MF file'. However on - # icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c - # ICC 7.0 will fill foo.d with something like - # foo.o: sub/foo.c - # foo.o: sub/foo.h - # which is wrong. We want: - # sub/foo.o: sub/foo.c - # sub/foo.o: sub/foo.h - # sub/foo.c: - # sub/foo.h: - # ICC 7.1 will output - # foo.o: sub/foo.c sub/foo.h - # and will wrap long lines using \ : - # foo.o: sub/foo.c ... \ - # sub/foo.h ... \ - # ... - - "$@" -MD -MF "$tmpdepfile" - stat=$? - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile" - exit $stat - fi - rm -f "$depfile" - # Each line is of the form `foo.o: dependent.h', - # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'. - # Do two passes, one to just change these to - # `$object: dependent.h' and one to simply `dependent.h:'. - sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile" - # Some versions of the HPUX 10.20 sed can't process this invocation - # correctly. Breaking it into two sed invocations is a workaround. - sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" | - sed -e 's/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -tru64) - # The Tru64 compiler uses -MD to generate dependencies as a side - # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'. - # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put - # dependencies in `foo.d' instead, so we check for that too. - # Subdirectories are respected. - dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` - test "x$dir" = "x$object" && dir= - base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` - - if test "$libtool" = yes; then - # With Tru64 cc, shared objects can also be used to make a - # static library. This mecanism is used in libtool 1.4 series to - # handle both shared and static libraries in a single compilation. - # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d. - # - # With libtool 1.5 this exception was removed, and libtool now - # generates 2 separate objects for the 2 libraries. These two - # compilations output dependencies in in $dir.libs/$base.o.d and - # in $dir$base.o.d. We have to check for both files, because - # one of the two compilations can be disabled. We should prefer - # $dir$base.o.d over $dir.libs/$base.o.d because the latter is - # automatically cleaned when .libs/ is deleted, while ignoring - # the former would cause a distcleancheck panic. - tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4 - tmpdepfile2=$dir$base.o.d # libtool 1.5 - tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5 - tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504 - "$@" -Wc,-MD - else - tmpdepfile1=$dir$base.o.d - tmpdepfile2=$dir$base.d - tmpdepfile3=$dir$base.d - tmpdepfile4=$dir$base.d - "$@" -MD - fi - - stat=$? - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" - exit $stat - fi - - for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" - do - test -f "$tmpdepfile" && break - done - if test -f "$tmpdepfile"; then - sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" - # That's a tab and a space in the []. - sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" - else - echo "#dummy" > "$depfile" - fi - rm -f "$tmpdepfile" - ;; - -#nosideeffect) - # This comment above is used by automake to tell side-effect - # dependency tracking mechanisms from slower ones. - -dashmstdout) - # Important note: in order to support this mode, a compiler *must* - # always write the preprocessed file to stdout, regardless of -o. - "$@" || exit $? - - # Remove the call to Libtool. - if test "$libtool" = yes; then - while test $1 != '--mode=compile'; do - shift - done - shift - fi - - # Remove `-o $object'. - IFS=" " - for arg - do - case $arg in - -o) - shift - ;; - $object) - shift - ;; - *) - set fnord "$@" "$arg" - shift # fnord - shift # $arg - ;; - esac - done - - test -z "$dashmflag" && dashmflag=-M - # Require at least two characters before searching for `:' - # in the target name. This is to cope with DOS-style filenames: - # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise. - "$@" $dashmflag | - sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile" - rm -f "$depfile" - cat < "$tmpdepfile" > "$depfile" - tr ' ' ' -' < "$tmpdepfile" | \ -## Some versions of the HPUX 10.20 sed can't process this invocation -## correctly. Breaking it into two sed invocations is a workaround. - sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -dashXmstdout) - # This case only exists to satisfy depend.m4. It is never actually - # run, as this mode is specially recognized in the preamble. - exit 1 - ;; - -makedepend) - "$@" || exit $? - # Remove any Libtool call - if test "$libtool" = yes; then - while test $1 != '--mode=compile'; do - shift - done - shift - fi - # X makedepend - shift - cleared=no - for arg in "$@"; do - case $cleared in - no) - set ""; shift - cleared=yes ;; - esac - case "$arg" in - -D*|-I*) - set fnord "$@" "$arg"; shift ;; - # Strip any option that makedepend may not understand. Remove - # the object too, otherwise makedepend will parse it as a source file. - -*|$object) - ;; - *) - set fnord "$@" "$arg"; shift ;; - esac - done - obj_suffix="`echo $object | sed 's/^.*\././'`" - touch "$tmpdepfile" - ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" - rm -f "$depfile" - cat < "$tmpdepfile" > "$depfile" - sed '1,2d' "$tmpdepfile" | tr ' ' ' -' | \ -## Some versions of the HPUX 10.20 sed can't process this invocation -## correctly. Breaking it into two sed invocations is a workaround. - sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" "$tmpdepfile".bak - ;; - -cpp) - # Important note: in order to support this mode, a compiler *must* - # always write the preprocessed file to stdout. - "$@" || exit $? - - # Remove the call to Libtool. - if test "$libtool" = yes; then - while test $1 != '--mode=compile'; do - shift - done - shift - fi - - # Remove `-o $object'. - IFS=" " - for arg - do - case $arg in - -o) - shift - ;; - $object) - shift - ;; - *) - set fnord "$@" "$arg" - shift # fnord - shift # $arg - ;; - esac - done - - "$@" -E | - sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ - -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' | - sed '$ s: \\$::' > "$tmpdepfile" - rm -f "$depfile" - echo "$object : \\" > "$depfile" - cat < "$tmpdepfile" >> "$depfile" - sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -msvisualcpp) - # Important note: in order to support this mode, a compiler *must* - # always write the preprocessed file to stdout, regardless of -o, - # because we must use -o when running libtool. - "$@" || exit $? - IFS=" " - for arg - do - case "$arg" in - "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") - set fnord "$@" - shift - shift - ;; - *) - set fnord "$@" "$arg" - shift - shift - ;; - esac - done - "$@" -E | - sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile" - rm -f "$depfile" - echo "$object : \\" > "$depfile" - . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile" - echo " " >> "$depfile" - . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -none) - exec "$@" - ;; - -*) - echo "Unknown depmode $depmode" 1>&2 - exit 1 - ;; -esac - -exit 0 - -# Local Variables: -# mode: shell-script -# sh-indentation: 2 -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-end: "$" -# End: diff -Nru prerex-6.5.3/prerex-6.5.2/edit.c prerex-6.5.4/prerex-6.5.2/edit.c --- prerex-6.5.3/prerex-6.5.2/edit.c 2013-10-12 02:47:24.000000000 +0000 +++ prerex-6.5.4/prerex-6.5.2/edit.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,1552 +0,0 @@ -/* - edit.c -- editing module for an interactive editor of prerequisite-chart - descriptions - Copyright (c) 2005-12 R. D. Tennent - School of Computing, Queen's University, rdt@cs.queensu.ca - -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., -51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -*/ - -# include "prerex.h" - -PRIVATE element *first_cut; /* stack of cut nodes */ -PRIVATE done *first_done; /* stack of commands done */ - - -char deftext[LINE_LEN]; /* buffer for default input */ - -# ifdef HAVE_LIBREADLINE -int -set_deftext (void) /* used by readline to output defaults */ -{ - rl_insert_text (deftext); - deftext[0] = '\0'; - return 0; -} -# else -PRIVATE char prompt[LINE_LEN]; -PRIVATE char *prompt_n; - -char * -prompt_f (void) /* used to output prompts */ -{ return prompt; } -# endif - -char * -Readline ( char * str ) -/* Uses str as the prompt and deftext as the "default" */ -{ -# ifdef HAVE_LIBREADLINE -return readline (str); -# else - char *line; - int line_n; - prompt[0] = '\0'; - prompt_n = prompt; - append (prompt, &prompt_n, str, sizeof (prompt)); - el_push (el, deftext); - line = (char *) el_gets (el, &line_n); - if (line == NULL) error("Readline fails."); - line[line_n - 1] = '\0'; /* replace '\n' by '\0' */ - deftext[0] = '\0'; - return line; -# endif -} - -PRIVATE char *command_line; -PRIVATE char *clp; - -PRIVATE void -free_elements (element ** pb) -{ - if (*pb != NULL) - { - element *pbb = *pb; - free_elements (&(pbb->next)); - free (pbb); - *pb = NULL; - } -} - -PRIVATE void -free_lists (void) -{ - free_elements (&first_node); - free_elements (&first_arrow); - free_elements (&first_cut); -} - -PRIVATE void -skip_command (void) -{ - while (isspace (*clp)) clp++; - while (isalpha (*clp)) clp++; /* command */ - while (isspace (*clp)) clp++; -} - -PRIVATE void -execute_shell_command (void) -{ - fflush (tex_file); - if (fclose (tex_file) == EOF) error (".tex file closure failed."); - if (system (clp)) puts("System call failed."); - tex_file = fopen (chartfilename, "r+"); - if (tex_file == NULL) error ("Can't re-open the .tex file."); - close_files(); - free_lists(); - analyze_tex_file (); - regenerate_and_process (); -} - -PRIVATE void -shiftAllNodes ( element *pb, coord c ) -{ - while (pb != NULL) - { - pb->u.n.at.x += c; - pb = pb->next; - } -} - -PRIVATE void -shift (void) -{ - coord c; - int n_shifts = 0; - done *this; - coord x; - element *pb = NULL; - if (sscanf (command_line, "%*s %i", &c) != 1) { - puts ("Can't read shift amount."); - return; - } - clp = command_line; - skip_command (); - if (*clp == '-' || *clp == '+') clp++; - while (isdigit (*clp)) clp++; /* shift amount */ - if (sscanf (clp, "%i", &x) != 1) - { /* shift all nodes */ - shiftAllNodes(first_node, c); - /* arrows refer to source and target nodes and will be shifted automatically. */ - this = (done *) malloc (sizeof (done)); - if (this == NULL) error ("Out of memory"); - this->tag = SHIFT_ALL; - this->next = first_done; - this->i = c; - first_done = this; - regenerate_and_process (); - return; - } - printf("Nodes shifted to: "); - while (true) /* process coordinate pairs/ranges */ - { - point p0, p1; - if (sscanf (clp, "%i", &p0.x) != 1) { - break; - } - while (isspace (*clp)) clp++; - if (*clp == '-' || *clp == '+') clp++; - while (isdigit(*clp)) clp++; - while (isspace (*clp)) clp++; - if (*clp != ',') { - printf("\nCan't analyze coordinates."); - break; - } - clp++; /* ',' */ - if (sscanf (clp, "%i", &p0.y) != 1) { - printf("\nCan't analyze coordinates."); - break; - } - while (isspace (*clp)) clp++; - if (*clp == '-' || *clp == '+') clp++; - while (isdigit(*clp)) clp++; - while (isspace (*clp)) clp++; - if (*clp != ':') - { /* shift this node */ - pb = node_at (p0); - if (pb == NULL) { - printf("\nNo node at coordinates %i,%i.\n", p0.x, p0.y); - break; - } - this = (done *) malloc (sizeof (done)); - if (this == NULL) error ("Out of memory"); - this->tag = NODE_SHIFT; - this->next = first_done; - this->i = c; /* record shift amount and pointer to shifted node element */ - this->e = pb; - first_done = this; - pb->u.n.at.x += c; - printf(" %i,%i", p0.x + c, p0.y); - n_shifts++; - continue; - } - clp++; /* ':' */ - if (sscanf (clp, "%i", &p1.x) != 1) { - printf("\nCan't analyze coordinates."); - break; - } - while (isspace (*clp)) clp++; - if (*clp == '-' || *clp == '+') clp++; - while (isdigit(*clp)) clp++; - while (isspace (*clp)) clp++; - if (*clp != ',') { - printf("\nCan't analyze coordinates."); - break; - } - clp++; /* ',' */ - if (sscanf (clp, "%i", &p1.y) != 1) { - printf("\nCan't analyze coordinates."); - break; - } - while (isspace (*clp)) clp++; - if (*clp == '-' || *clp == '+') clp++; - while (isdigit(*clp)) clp++; - while (isspace (*clp)) clp++; - /* shift all nodes in box p0:p1 */ - { - pb = first_node; - while (pb != NULL) { - if (inrange(pb->u.n.at.x, p0.x, p1.x) && inrange(pb->u.n.at.y, p0.y, p1.y)) - /* shift this node */ - { - pb->u.n.at.x += c; - printf(" %i,%i", pb->u.n.at.x, pb->u.n.at.y); - this = (done *) malloc (sizeof (done)); - if (this == NULL) error ("Out of memory"); - this->tag = NODE_SHIFT; - this->next = first_done; - this->i = c; /* record shift amount and pointer to shifted node element */ - this->e = pb; - first_done = this; - n_shifts++; - } - pb = pb->next; - } - } - } /* while */ - if (n_shifts > 0) - { - puts(""); - this = (done *) malloc (sizeof (done)); - if (this == NULL) error ("Out of memory"); - this->tag = COMPOSITE; - this->next = first_done; - this->i = n_shifts; /* record number of shifts to undo */ - first_done = this; - } - regenerate_and_process (); -} - -PRIVATE void -raiseAllNodes ( element *pb, coord c ) -{ - while (pb != NULL) { - pb->u.n.at.y += c; - pb = pb->next; - } -} - -PRIVATE void -Raise (void) /* "Raise" to avoid conflicting with signal.h function raise */ -{ - coord c; - int n_raises = 0; - done *this; - coord x; - element *pb = NULL; - if (sscanf (command_line, "%*s %i", &c) != 1) - { - puts ("Can't read raise amount."); - return; - } - clp = command_line; - skip_command (); - if (*clp == '-' || *clp == '+') clp++; - while (isdigit (*clp)) clp++; /* raise amount */ - if (sscanf (clp, "%i", &x) != 1) - { /* raise all nodes */ - raiseAllNodes(first_node, c); - /* arrows refer to source and target nodes and will be raised automatically. */ - this = (done *) malloc (sizeof (done)); - if (this == NULL) error ("Out of memory"); - this->tag = RAISE_ALL; - this->next = first_done; - this->i = c; - first_done = this; - regenerate_and_process (); - return; - } - printf("Nodes raised to: "); - while (true) /* process coordinate pairs */ - { - point p0, p1; - if (sscanf (clp, "%i", &p0.x) != 1) break; - while (isspace (*clp)) clp++; - if (*clp == '-' || *clp == '+') clp++; - while (isdigit(*clp)) clp++; - while (isspace (*clp)) clp++; - if (*clp != ',') { - printf("\nCan't analyze coordinates."); - break; - } - clp++; /* ',' */ - if (sscanf (clp, "%i", &p0.y) != 1) { - printf("\nCan't analyze coordinates."); - break; - } - while (isspace (*clp)) clp++; - if (*clp == '-' || *clp == '+') clp++; - while (isdigit(*clp)) clp++; - while (isspace (*clp)) clp++; - if (*clp != ':') - { /* raise this node */ - pb = node_at (p0); - if (pb == NULL) - { - printf("No node at coordinates %i,%i.\n", p0.x, p0.y); - break; - } - this = (done *) malloc (sizeof (done)); - if (this == NULL) error ("Out of memory"); - this->tag = NODE_RAISE; - this->next = first_done; - this->i = c; /* record raise amount and pointer to raised node element */ - this->e = pb; - first_done = this; - pb->u.n.at.y += c; - printf(" %i,%i", p0.x, p0.y + c); - n_raises++; - continue; - } - clp++; /* ':' */ - if (sscanf (clp, "%i", &p1.x) != 1) { - printf("\nCan't analyze coordinates."); - break; - } - while (isspace (*clp)) clp++; - if (*clp == '-' || *clp == '+') clp++; - while (isdigit(*clp)) clp++; - while (isspace (*clp)) clp++; - if (*clp != ',') { - printf("\nCan't analyze coordinates."); - break; - } - clp++; /* ',' */ - if (sscanf (clp, "%i", &p1.y) != 1) { - printf("\nCan't analyze coordinates."); - break; - } - while (isspace (*clp)) clp++; - if (*clp == '-' || *clp == '+') clp++; - while (isdigit(*clp)) clp++; - while (isspace (*clp)) clp++; - /* raise all nodes in box p0:p1 */ - { - done *this; - pb = first_node; - while (pb != NULL) { - if (inrange(pb->u.n.at.x, p0.x, p1.x) && inrange(pb->u.n.at.y, p0.y, p1.y)) - /* raise this node */ - { - pb->u.n.at.y += c; - printf(" %i,%i", pb->u.n.at.x, pb->u.n.at.y); - this = (done *) malloc (sizeof (done)); - if (this == NULL) error ("Out of memory"); - this->tag = NODE_RAISE; - this->next = first_done; - this->i = c; /* record raise amount and pointer to shifted node element */ - this->e = pb; - first_done = this; - n_raises++; - } - pb = pb->next; - } - } - } /* while */ - if (n_raises > 0) { - puts(""); - this = (done *) malloc (sizeof (done)); - if (this == NULL) error ("Out of memory"); - this->tag = COMPOSITE; - this->next = first_done; - this->i = n_raises; /* record the number of raises to undo */ - first_done = this; - } - regenerate_and_process (); -} - -PRIVATE void -cut_node (point p) -{ - element *pn, **ppn; - done *this; - ppn = &first_node; /* used if the first node is removed from the list */ - pn = first_node; - while (pn != NULL && !eq (p, pn->u.n.at)) - { - ppn = &(pn->next); - pn = pn->next; - } - if (pn == NULL) - { - puts ("No course box, mini or text at this location."); - return; - } - *ppn = pn->next; /* removes pn node from the list */ - /* move node to cut list */ - pn->next = first_cut; - first_cut = pn; - this = (done *) malloc (sizeof (done)); - if (this == NULL) error ("Out of memory"); - this->tag = CUT; - this->next = first_done; - first_done = this; -} - -PRIVATE void -delete_node (point p) -{ - element *pn, **ppn; - done *this; - ppn = &first_node; - pn = first_node; - while (pn != NULL && !eq (p, pn->u.n.at)) - { - ppn = &(pn->next); - pn = pn->next; - } - if (pn == NULL) - { - puts ("No course box, mini or text at this location."); - return; - } - *ppn = pn->next; - this = (done *) malloc (sizeof (done)); - if (this == NULL) error ("Out of memory"); - this->tag = NODE_DELETE; - this->next = first_done; - this->e = pn; - first_done = this; - printf("Node at %i,%i deleted.\n", p.x, p.y); -} - -PRIVATE void -delete_arrow (point p0, point p1) -{ - done *this; - element *n0 = node_at (p0); - element *n1 = node_at (p1); - element *pa; - element **ppa; - if (n0 == NULL) - { - puts ("No course box, mini or text at the source location."); - return; - } - if (n1 == NULL) - { - puts ("No course box, mini or text at the target location."); - return; - } - pa = first_arrow; - ppa = &first_arrow; /* used if the first arrow is removed */ - while (pa != NULL && (pa->u.a.source != n0 || pa->u.a.target != n1)) - { - ppa = &(pa->next); - pa = pa->next; - } - if (pa == NULL) - { - puts ("No such arrow."); - return; - } - *ppa = pa->next; /* removes pa arrow from the list */ - this = (done *) malloc (sizeof (done)); - if (this == NULL) error ("Out of memory"); - this->tag = ARROW_DELETE; - this->next = first_done; - this->e = pa; - first_done = this; - printf("Arrow from %i,%i to %i,%i deleted.\n", p0.x, p0.y, p1.x, p1.y); -} - -PRIVATE void -analyze_cut_command (void) -{ - clp = command_line; - skip_command (); - while (true) /* process coordinate pairs */ - { - point p; - if (sscanf (clp, "%i", &p.x) != 1) break; - while (isspace (*clp)) clp++; - if (*clp == '-' || *clp == '+') clp++; - while (isdigit(*clp)) clp++; - while (isspace (*clp)) clp++; - if (*clp != ',') { - puts("Can't analyze coordinates."); - return; - } - clp++; /* ',' */ - if (sscanf (clp, "%i", &p.y) != 1) { - puts("Can't analyze coordinates."); - return; - } - while (isspace (*clp)) clp++; - if (*clp == '-' || *clp == '+') clp++; - while (isdigit(*clp)) clp++; - cut_node (p); - } -} - -PRIVATE void -analyze_delete_command (void) -{ - int n_deletions = 0; - done *this; - clp = command_line; - skip_command (); - while (true) /* process coordinate pairs/ranges/4-tuples */ - { - point p0, p1; - bool colon; - if (sscanf (clp, "%i", &p0.x) != 1) break; - while (isspace (*clp)) clp++; - if (*clp == '-' || *clp == '+') clp++; - while (isdigit(*clp)) clp++; - while (isspace (*clp)) clp++; - if (*clp != ',') { - puts("Can't analyze coordinates."); - break; - } - clp++; /* ',' */ - if (sscanf (clp, "%i", &p0.y) != 1) { - puts("Can't analyze coordinates."); - break; - } - while (isspace (*clp)) clp++; - if (*clp == '-' || *clp == '+') clp++; - while (isdigit(*clp)) clp++; - while (isspace (*clp)) clp++; - if (*clp != ',' && *clp != ':') - { - delete_node (p0); - n_deletions++; - continue; - } - colon = *clp == ':'; - clp++; /* ',' or ':' */ - if (sscanf (clp, "%i", &p1.x) != 1) { - puts("Can't analyze coordinates."); - break; - } - while (isspace (*clp)) clp++; - if (*clp == '-' || *clp == '+') clp++; - while (isdigit(*clp)) clp++; - while (isspace (*clp)) clp++; - if (*clp != ',') { - puts("Can't analyze coordinates."); - break; - } - clp++; /* ',' */ - if (sscanf (clp, "%i", &p1.y) != 1) { - puts("Can't analyze coordinates."); - break; - } - if (*clp == '-' || *clp == '+') clp++; - while (isdigit(*clp)) clp++; - if (!colon) /* arrow from p0 to p1 */ - { - delete_arrow (p0, p1); - n_deletions++; - continue; - } - /* delete all nodes in box p0:p1 */ - { - element *pn, **ppn; - ppn = &(first_node); - pn = first_node; - while (pn != NULL) { - if (inrange(pn->u.n.at.x, p0.x, p1.x) && inrange(pn->u.n.at.y, p0.y, p1.y)) - /* delete this node */ - { - *ppn = pn->next; - printf("Node at %i,%i deleted.\n", pn->u.n.at.x, pn->u.n.at.y); - this = (done *) malloc (sizeof (done)); - if (this == NULL) error ("Out of memory"); - this->tag = NODE_DELETE; - this->next = first_done; - this->e = pn; - first_done = this; - n_deletions++; - } - else ppn = &(pn->next); - pn = pn->next; - } - } - } /* while */ - this = (done *) malloc (sizeof (done)); - if (this == NULL) error ("Out of memory"); - this->tag = COMPOSITE; - this->next = first_done; - this->i = n_deletions; /* record the number of deletions to undo */ - first_done = this; - regenerate_and_process (); -} - -PRIVATE void -undo (void) -{ - done *this = first_done; - if (this == NULL) - { - puts ("Nothing more to undo."); - return; - } - first_done = this->next; - if (this->tag == NODE_DELETE) - { - element *pn = this->e; - if (insert_node (pn)) - { - puts ("There is now another course box, mini or text at that location."); - return; - } - printf ("Course box, mini or text at %i,%i restored.\n", - pn->u.n.at.x, pn->u.n.at.y); - } - else if (this->tag == ARROW_DELETE) - { - element *pn = this->e; - if (insert_arrow (pn)) - { - puts - ("Can't undelete arrow: source and/or target is/are now missing."); - return; - } - printf ("Arrow from %i,%i to %i,%i restored.\n", - pn->u.a.source->u.n.at.x, pn->u.a.source->u.n.at.y, - pn->u.a.target->u.n.at.x, pn->u.a.target->u.n.at.y); - } - else if (this->tag == NODE_CREATE) - { - element *pn, **ppn; - point p = this->p; - ppn = &(first_node); - pn = first_node; - while (pn != NULL && !eq (p, pn->u.n.at)) - { - ppn = &(pn->next); - pn = pn->next; - } - if (pn == NULL) - { - puts ("No course box, mini or text at this location."); - return; - } - *ppn = pn->next; - printf("Course box, mini or text at %i,%i deleted.\n", p.x, p.y); - } - else if (this->tag == ARROW_CREATE) - { - element *n0, *n1, *pa, **ppa; - n0 = this->a.source; - n1 = this->a.target; - pa = first_arrow; - ppa = &(first_arrow); - while (pa != NULL && (pa->u.a.source != n0 || pa->u.a.target != n1)) - { - ppa = &(pa->next); - pa = pa->next; - } - if (pa == NULL) - { - printf("There is no arrow from %i,%i to %i,%i.\n", n0->u.n.at.x, n0->u.n.at.y, n1->u.n.at.x, n1->u.n.at.y); - return; - } - *ppa = pa->next; - printf("Arrow from %i,%i to %i,%i deleted.\n", n0->u.n.at.x, n0->u.n.at.y, n1->u.n.at.x, n1->u.n.at.y); - } - else if (this->tag == NODE_EDIT) - { - element *pn = this->e; - pn->u.n = this->n; /* restore old node */ - printf("Course box, mini or text at %i,%i restored.\n", pn->u.n.at.x, pn->u.n.at.y); - } - else if (this->tag == ARROW_EDIT) - { - element *pa = this->e; - pa->u.a = this->a; /* restore old arrow */ - printf("Arrow from %i,%i to %i,%i restored.\n", pa->u.a.source->u.n.at.x, pa->u.a.source->u.n.at.y, pa->u.a.target->u.n.at.x, pa->u.a.target->u.n.at.y); - } - else if (this->tag == NODE_SHIFT) - { - element *pb = this->e; - int c = this->i; - pb->u.n.at.x -= c; - printf("Course box, mini or text unshifted %i units to %i,%i.\n", c, pb->u.n.at.x, pb->u.n.at.y); - } - else if (this->tag == NODE_RAISE) - { - element *pb = this->e; - int c = this->i; - pb->u.n.at.y -= c; - printf("Course box, mini or text unraised %i units to %i,%i.\n", c, pb->u.n.at.x, pb->u.n.at.y); - } - else if (this->tag == SHIFT_ALL) - { - int c = this->i; - shiftAllNodes(first_node, -c); - printf("All nodes unshifted %i units.\n", c); - } - else if (this->tag == RAISE_ALL) - { - int c = this->i; - raiseAllNodes(first_node, -c); - printf("All nodes unraised %i units.\n", c); - } - else if (this->tag == CUT) - { - element *pn = first_cut; - first_cut = pn->next; - insert_node (pn); - printf ("Course box, mini or text restored at %i,%i.\n", pn->u.n.at.x, pn->u.n.at.y); - } - else if (this->tag == PASTE) - { - element *pn, **ppn; - element *pe = this->e; - ppn = &(first_node); - pn = first_node; - while (pn != NULL && pn != pe) - { - ppn = &(pn->next); - pn = pn->next; - } - if (pn == NULL) - { - puts ("Unable to find pasted node."); - return; - } - *ppn = pn->next; - pn->next = first_cut; - printf ("Course box, mini or text unpasted from %i,%i.\n", pn->u.n.at.x, pn->u.n.at.y); - pn->u.n.at = this->p; - first_cut = pn; - } - else if (this->tag == COMPOSITE) - /* undo this->i steps */ - { int j; - for (j = 0; j < this->i; j++) undo(); - } -} - -PRIVATE void -edit_mini (element * pm) -{ - append (deftext, NULL, pm->u.n.code, sizeof (deftext)); - command_line = Readline ("course code: "); - pm->u.n.code[0] = '\0'; - if (append (pm->u.n.code, NULL, command_line, sizeof (pm->u.n.code)) - >= sizeof (pm->u.n.code)) - puts ("Warning: course code too long, truncated."); -} - -PRIVATE void -edit_text (element * pm) -{ - append (deftext, NULL, pm->u.n.u.t.txt, sizeof (deftext)); - command_line = Readline ("text: "); - pm->u.n.u.t.txt[0] = '\0'; - if (append (pm->u.n.u.t.txt, NULL, command_line, sizeof (pm->u.n.u.t.txt)) - >= sizeof (pm->u.n.u.t.txt)) - puts ("Warning: text too long, truncated."); -} - -PRIVATE void -edit_box (element * pb) -{ - char code[8]; - append (deftext, NULL, pb->u.n.code, sizeof (deftext)); - command_line = Readline ("course code: "); - pb->u.n.code[0] = '\0'; - if (append (pb->u.n.code, NULL, command_line, sizeof (pb->u.n.code)) - >= sizeof (pb->u.n.code)) - puts ("Warning: course code too long, truncated."); - if (pb->u.n.u.b.half) - append (deftext, NULL, "y", sizeof (deftext)); - else - append (deftext, NULL, "n", sizeof (deftext)); - command_line = Readline ("half course (y/n)? "); - sscanf (command_line, "%1s", code); - if (code[0] == 'y') - pb->u.n.u.b.half = true; - else if (code[0] == 'n') - pb->u.n.u.b.half = false; - else - { - puts ("Response not recognized; 'y' assumed."); - pb->u.n.u.b.half = true; - } - if (pb->u.n.u.b.req_opt == REQ) - append (deftext, NULL, "r", sizeof (deftext)); - else if (pb->u.n.u.b.req_opt == OPT) - append (deftext, NULL, "o", sizeof (deftext)); - else - append (deftext, NULL, "n", sizeof (deftext)); - command_line = Readline ("required (r) optional (o) or neither (n)? "); - sscanf (command_line, "%7s", code); - if (code[0] == 'r') - pb->u.n.u.b.req_opt = REQ; - else if (code[0] == 'o') - pb->u.n.u.b.req_opt = OPT; - else if (code[0] == 'n') - pb->u.n.u.b.req_opt = NEITHER; - else - { - puts ("Response not recognized; 'n' assumed."); - pb->u.n.u.b.req_opt = NEITHER; - } - append (deftext, NULL, pb->u.n.u.b.title, sizeof (deftext)); - command_line = Readline ("course title: "); - pb->u.n.u.b.title[0] = '\0'; - if (append (pb->u.n.u.b.title, NULL, command_line, sizeof (pb->u.n.u.b.title)) - >= sizeof (pb->u.n.u.b.title)) - puts ("Warning: course title too long, truncated."); - append (deftext, NULL, pb->u.n.u.b.timetable, sizeof (deftext)); - command_line = Readline ("course timetable: "); - pb->u.n.u.b.timetable[0] = '\0'; - if (append - (pb->u.n.u.b.timetable, NULL, command_line, - sizeof (pb->u.n.u.b.timetable)) >= sizeof (pb->u.n.u.b.timetable)) - puts ("Warning: course timetable too long, truncated."); - append (deftext, NULL, pb->u.n.u.b.color, sizeof (deftext)); - command_line = Readline ("background color (empty string for default): "); - pb->u.n.u.b.color[0] = '\0'; - if (append - (pb->u.n.u.b.color, NULL, command_line, - sizeof (pb->u.n.u.b.color)) >= sizeof (pb->u.n.u.b.color)) - puts ("Warning: color string too long, truncated."); - if (pb->u.n.u.b.color[0] == '\n') pb->u.n.u.b.color[0] = '\0'; -} - -PRIVATE void -set_curvature (element * pa) -{ - char code[16]; - if (pa->u.a.curvature >= 0 && pa->u.a.curvature <= 100) - { - sprintf (deftext, "%i", pa->u.a.curvature); - } - else - { - append (deftext, NULL, "d", sizeof (deftext)); - } - command_line = Readline ("curvature, default (d) or int value? "); - sscanf (command_line, "%15s", code); - if (isdigit (code[0])) - { - sscanf (code, "%i", &(pa->u.a.curvature)); - if (pa->u.a.curvature > 100) { - puts ("Curvature too large; default value used."); - pa->u.a.curvature = -1; - } - } - else if (code[0] == 'd') - pa->u.a.curvature = -1; /* negative value denotes default curvature */ - else - { - puts ("Response not recognized; default assumed."); - pa->u.a.curvature = -1; - } -} - -PRIVATE void -edit_arrow (element * pa) -{ - char code[16]; - switch (pa->u.a.tag) - { - case PREREQ: - append (deftext, NULL, "p", sizeof (deftext)); - break; - case COREQ: - append (deftext, NULL, "c", sizeof (deftext)); - break; - case RECOMM: - append (deftext, NULL, "r", sizeof (deftext)); - break; - default:; - } - command_line = - Readline ("prerequisite (p), corequisite (c), or recommended (r)? "); - sscanf (command_line, "%15s", code); - switch (code[0]) - { - case 'p': - pa->u.a.tag = PREREQ; - break; - case 'c': - pa->u.a.tag = COREQ; - break; - case 'r': - pa->u.a.tag = RECOMM; - break; - default: - puts ("Response not recognized; prerequisite assumed."); - pa->u.a.tag = PREREQ; - } - set_curvature (pa); -} - -PRIVATE void -paste_node (point p) -{ - point oldp; - element *pn = first_cut; - done *this; - if (pn == NULL) - { - puts ("No cut box, mini or text to paste."); - return; - } - first_cut = pn->next; - oldp = pn->u.n.at; - pn->u.n.at = p; - if (insert_node (pn)) - { - printf("There is a course box, mini or text already at %i,%i.\n", pn->u.n.at.x, pn->u.n.at.y); - pn->next = first_cut; - first_cut = pn; - return; - } - if (first_cut == NULL) - regenerate_and_process (); - this = (done *) malloc (sizeof (done)); - if (this == NULL) error ("Out of memory"); - this->tag = PASTE; - this->e = pn; - this->p = oldp; - this->next = first_done; - first_done = this; -} - -PRIVATE void -analyze_paste_command (void) -{ point p; - if (sscanf (command_line, "%*s %i,%i", &p.x, &p.y) != 2) { - puts("Can't analyze coordinates."); - return; - } - paste_node (p); -} - -PRIVATE void -analyze_xchange_command (void) -{ - point p0, p1; - done *this; - clp = command_line; - skip_command (); - if (sscanf (clp, "%i", &p0.x) != 1) { - puts("Can't analyze coordinates."); - return; - } - while (isspace (*clp)) clp++; - if (*clp == '-' || *clp == '+') clp++; - while (isdigit(*clp)) clp++; - while (isspace (*clp)) clp++; - if (*clp != ',') { - puts("Can't analyze coordinates."); - return; - } - clp++; /* ',' */ - if (sscanf (clp, "%i", &p0.y) != 1) { - puts("Can't analyze coordinates."); - return; - } - while (isspace (*clp)) clp++; - if (*clp == '-' || *clp == '+') clp++; - while (isdigit(*clp)) clp++; - cut_node (p0); - - if (sscanf (clp, "%i", &p1.x) != 1) { - puts("Can't analyze coordinates."); - return; - } - while (isspace (*clp)) clp++; - if (*clp == '-' || *clp == '+') clp++; - while (isdigit(*clp)) clp++; - while (isspace (*clp)) clp++; - if (*clp != ',') { - puts("Can't analyze coordinates."); - return; - } - clp++; /* ',' */ - if (sscanf (clp, "%i", &p1.y) != 1) { - puts("Can't analyze coordinates."); - return; - } - while (isspace (*clp)) clp++; - if (*clp == '-' || *clp == '+') clp++; - while (isdigit(*clp)) clp++; - cut_node (p1); - - paste_node (p0); - paste_node (p1); - - this = (done *) malloc (sizeof (done)); - if (this == NULL) error ("Out of memory"); - this->tag = COMPOSITE; - this->i = 4; /* four steps to undo */ - this->next = first_done; - first_done = this; -} - -PRIVATE void -analyze_box_command (void) -{ - point p; - element *pb; - done *this; - char code[8]; - if (sscanf (command_line, "%*s %i,%i", &p.x, &p.y) != 2) - { - puts ("Can't analyze box command."); - return; - } - this = (done *) malloc (sizeof (done)); - if (this == NULL) error ("Out of memory"); - pb = node_at (p); - if (pb != NULL) - { - this->tag = NODE_EDIT; - this->next = first_done; - this->n = pb->u.n; /* record the old node */ - this->e = pb; - first_done = this; - edit_box (pb); - regenerate_and_process (); - return; - } - this->tag = NODE_CREATE; - append (deftext, NULL, "y", sizeof (deftext)); - command_line = Readline ("create new course box (y/n)? "); - sscanf (command_line, "%7s", code); - if (code[0] == 'y') - { - pb = (element *) malloc (sizeof (element)); - if (pb == NULL) error ("Out of memory"); - pb->tag = NODE; - pb->u.n.tag = BOX; - pb->u.n.at = p; - pb->u.n.u.b.req_opt = NEITHER; - pb->u.n.u.b.half = true; - pb->u.n.code[0] = '\0'; - pb->u.n.u.b.title[0] = '\0'; - pb->u.n.u.b.timetable[0] = '\0'; - if (insert_node (pb)) - { - puts ("There is already a course box, mini, or text at that location."); - free (pb); - free (this); - return; - } - this->next = first_done; - this->p = p; /* record coordinates of new node */ - first_done = this; - edit_box (pb); - regenerate_and_process (); - return; - } - else if (code[0] == 'n') - { - free (this); - } - else - { - puts ("Response not recognized; 'n' assumed."); - free (this); - } -} - -PRIVATE void -analyze_mini_command (void) -{ - point p; - element *pm; - done *this; - char code[8]; - if (sscanf (command_line, "%*s %i,%i", &p.x, &p.y) != 2) - { - puts ("Can't analyze mini command."); - return; - } - this = (done *) malloc (sizeof (done)); - if (this == NULL) error ("Out of memory"); - pm = node_at (p); - if (pm != NULL) - { - this->tag = NODE_EDIT; - this->next = first_done; - this->n = pm->u.n; /* record the old node */ - this->e = pm; - first_done = this; - edit_mini (pm); - regenerate_and_process (); - return; - } - this->tag = NODE_CREATE; - append (deftext, NULL, "y", sizeof (deftext)); - command_line = Readline ("create new mini (y/n)? "); - sscanf (command_line, "%7s", code); - if (code[0] == 'y') - { - pm = (element *) malloc (sizeof (element)); - if (pm == NULL) error ("Out of memory"); - pm->tag = NODE; - pm->u.n.tag = MINI; - pm->u.n.at = p; - pm->u.n.code[0] = '\0'; - if (insert_node (pm)) - { - puts ("There is already a course box, mini, or text at that location."); - free (pm); - free (this); - return; - } - this->next = first_done; - this->p = p; /* record coordinates of new node */ - first_done = this; - edit_mini (pm); - regenerate_and_process (); - } - else if (code[0] == 'n') - { - free (this); - } - else - { - puts ("Response not recognized; 'n' assumed."); - free (this); - } -} - -PRIVATE void -analyze_text_command (void) -{ - point p; - element *pm; - done *this; - char code[8]; - if (sscanf (command_line, "%*s %i,%i", &p.x, &p.y) != 2) - { - puts ("Can't analyze text command."); - return; - } - this = (done *) malloc (sizeof (done)); - if (this == NULL) error ("Out of memory"); - pm = node_at (p); - if (pm != NULL) - { - this->tag = NODE_EDIT; - this->next = first_done; - this->n = pm->u.n; /* record the old node */ - this->e = pm; - first_done = this; - edit_text (pm); - regenerate_and_process (); - return; - } - this->tag = NODE_CREATE; - append (deftext, NULL, "y", sizeof (deftext)); - command_line = Readline ("create new text (y/n)? "); - sscanf (command_line, "%7s", code); - if (code[0] == 'y') - { - pm = (element *) malloc (sizeof (element)); - if (pm == NULL) error ("Out of memory"); - pm->tag = NODE; - pm->u.n.tag = TEXT; - pm->u.n.at = p; - pm->u.n.code[0] = '\0'; - if (insert_node (pm)) - { - puts ("There is already a course box, mini, or text at that location."); - free (pm); - free (this); - return; - } - this->next = first_done; - this->p = p; /* record coordinates of new node */ - first_done = this; - edit_text (pm); - regenerate_and_process (); - } - else if (code[0] == 'n') - { - free (this); - } - else - { - puts ("Response not recognized; 'n' assumed."); - free (this); - } -} - -PRIVATE void -analyze_arrow_command (void) -{ - point p0, p1; - element *n0, *n1; - element *pa; - done *this; - if (sscanf (command_line, "%*s %i,%i,%i,%i", &p0.x, &p0.y, &p1.x, &p1.y) != - 4) - { - puts ("Can't analyze arrow command."); - return; - } - n0 = node_at (p0); - if (n0 == NULL) - { - puts ("There is no course box, mini, or text at the source location."); - return; - } - n1 = node_at (p1); - if (n1 == NULL) - { - puts ("There is no course box, mini, or text at the target location."); - return; - } - this = (done *) malloc (sizeof (done)); - if (this == NULL) error ("Out of memory"); - pa = first_arrow; - while (pa != NULL && !(pa->u.a.source == n0 && pa->u.a.target == n1)) - pa = pa->next; - if (pa != NULL) - { - this->tag = ARROW_EDIT; - this->next = first_done; - this->a = pa->u.a; /* record the old arrow */ - this->e = pa; - first_done = this; - edit_arrow (pa); - regenerate_and_process (); - } - else - { - char code[8]; - this->tag = ARROW_CREATE; - append (deftext, NULL, "y", sizeof (deftext)); - command_line = Readline ("create new arrow (y/n)? "); - sscanf (command_line, "%7s", code); - if (code[0] == 'y') - { - pa = (element *) malloc (sizeof (element)); - if (pa == NULL) error ("Out of memory"); - pa->tag = ARROW; - pa->u.a.source = n0; - pa->u.a.target = n1; - pa->u.a.tag = PREREQ; - pa->u.a.curvature = -1; /* default curvature */ - insert_arrow (pa); - this->next = first_done; - this->a = pa->u.a; /* record arrow */ - first_done = this; - edit_arrow (pa); - regenerate_and_process (); - } - else if (code[0] == 'n') - { - free (this); - } - else - { - puts ("Response not recognized; 'n' assumed."); - free (this); - } - } -} - -PRIVATE void -analyze_grid_command (void) -{ - char code[8]; - if (sscanf (command_line, "%*s %7s", code) != 1) - { - if (grid) - append (deftext, NULL, "n", sizeof (deftext)); - else - append (deftext, NULL, "y", sizeof (deftext)); - command_line = Readline ("grid (y/n)? "); - sscanf (command_line, "%7s", code); - } - if (code[0] == 'y') - grid = true; - else if (code[0] == 'n') - grid = false; - else - { - puts ("Response not recognized; 'y' assumed."); - grid = true; - } - regenerate_and_process (); -} - -PRIVATE void -analyze_file_command (void) -{ - puts ("This command is no longer supported."); -} - -PRIVATE void -backup (void) -{ - char code[8]; - append (deftext, NULL, "y", sizeof (deftext)); - command_line = Readline ("Overwrite current backup file (y/n)? "); - sscanf (command_line, "%7s", code); - if (code[0] != 'y') - return; - backup_tex_file = fopen (backup_filename, "w"); - if (backup_tex_file == NULL) - { - puts ("Can't open backup file."); - return; - } - copy (tex_file, backup_tex_file); - fclose (backup_tex_file); - printf ("Backed up to %s.\n", backup_filename); -} - -PRIVATE void -restore (void) -{ - char code[8]; - backup_tex_file = fopen (backup_filename, "r"); - if (backup_tex_file == NULL) - { - puts ("Can't open backup file."); - return; - } - append (deftext, NULL, "y", sizeof (deftext)); - command_line = - Readline ("Delete current TeX file and restore from backup (y/n)? "); - sscanf (command_line, "%7s", code); - if (code[0] != 'y') - return; - fclose (tex_file); - tex_file = fopen (chartfilename, "w+"); - rewind (tex_file); - copy (backup_tex_file, tex_file); - fflush (tex_file); - fclose (backup_tex_file); - close_files(); - free_lists(); - grid = false; - analyze_tex_file (); - regenerate_and_process (); -} - - -PRIVATE void -quit (void) -{ - char code[8]; - if (first_cut) - { - append (deftext, NULL, "y", sizeof (deftext)); - command_line = - Readline ("Warning: there are unpasted cuts; continue (y/n)? "); - sscanf (command_line, "%7s", code); - if (code[0] != 'y') - return; - } -# ifdef HAVE_LIBEDITLINE - history_end (hist); - el_end (el); -# endif - grid = false; - puts("Turning off coordinate grid."); - regenerate_and_process (); - exit (0); -} - -PRIVATE void -help (void) -{ - puts (""); - puts (" command: effect:"); - puts (""); - puts (" file> box x,y [create and] edit course box at x,y"); - puts (" file> mini x,y [create and] edit mini course at x,y"); - puts (" file> text x,y [create and] edit text centered at x,y"); - puts (" file> arrow x0,y0,x1,y1 [create and] edit arrow from x0,y0 to x1,y1"); - puts (" file> cut x,y ... (temporarily) remove box, mini, or text at x,y"); - puts (" file> paste x,y re-insert last cut box, mini, or text at x,y"); - puts (" file> xchange x0,y0 x1,y1 exchange elements at x0,y0 and x1,y1"); - puts (" file> delete [x,y | x0,y0:x1,y1 | x0,y0,x1,y1] ... remove specified elements/arrows"); - puts (" file> undo undo most recent editing command"); - puts (" file> shift [-]n x0,y0[:x1,y1] ... move [specified] elements n units right [left]"); - puts (" file> raise [-]n x0,y0[:x1,y1] ... move [specified] elements n units up [down]"); - puts (" file> ! | write save to file.tex and process (with pdflatex)"); - puts (" file> quit | exit | x | ^D turn off grid, save, process, and exit"); - puts (" file> !cmd execute shell command cmd, then re-load"); - puts (" file> Backup copy file.tex to .file.tex"); - puts (" file> Restore restore from .file.tex"); - puts (" file> grid [y/n] turn on/off coordinate-grid background"); - puts (" file> help | ? print this summary"); - puts (""); - puts ("Append \";\" to commands to suppress usual save-and-process."); - puts(""); -} - - -PRIVATE void -analyze_user_command (void) -{ - char command[COMMAND_LEN + 1] = {'\0'}; - sscanf (command_line, "%63s", command); - - if (prefix (command, "write")) - { - reprocess = true; - regenerate_and_process (); - } - else if (prefix (command, "shift")) - shift (); - else if (prefix (command, "raise")) - Raise (); - else if (prefix (command, "cut")) - analyze_cut_command (); - else if (prefix (command, "delete")) - analyze_delete_command (); - else if (prefix (command, "undo")) - { - undo (); - regenerate_and_process (); - } - else if (prefix (command, "paste")) - analyze_paste_command (); - else if (prefix (command, "xchange")) - analyze_xchange_command (); - else if (prefix (command, "box")) - analyze_box_command (); - else if (prefix (command, "mini")) - analyze_mini_command (); - else if (prefix (command, "text")) - analyze_text_command (); - else if (prefix (command, "arrow")) - analyze_arrow_command (); - else if (prefix (command, "quit") - || prefix (command, "exit") || prefix (command, "x")) - { - quit (); - } - else if (prefix (command, "grid")) - analyze_grid_command (); - else if (prefix (command, "file")) - analyze_file_command (); - else if (command[0] == '!') - { - clp = command_line; - while (isspace (*clp)) - clp++; - clp++; /* ! */ - while (isspace (*clp)) - clp++; - if (*clp == '\0') - { - reprocess = true; - regenerate_and_process (); - } - else - { - execute_shell_command (); - } - } - else if (prefix (command, "Backup")) - backup (); - else if (prefix (command, "Restore")) - restore (); - else if (prefix (command, "help")) - help (); - else if (command[0] == '?') - help (); - else - { - puts ("Command not recognized."); - help (); - } -} - -void process_commands(void) -{ -# ifdef HAVE_LIBREADLINE - char prompt[FILE_LEN + 8] = {'\0'}; - char *prompt_n = prompt; - rl_startup_hook = set_deftext; - append (prompt, &prompt_n, chartfilename, sizeof (prompt)); - prompt_n = prompt_n - 4; *prompt_n = '\0'; /* suppress ".tex" */ - append (prompt, &prompt_n, "> ", sizeof (prompt)); -# else - el_set (el, EL_PROMPT, &prompt_f); - deftext[0] = '\0'; -# endif - help (); - do - { -# ifdef HAVE_LIBREADLINE - command_line = Readline (prompt); -# else - int command_line_n; - prompt[0] = '\0'; - prompt_n = prompt; - append (prompt, &prompt_n, chartfilename, sizeof (prompt)); - prompt_n = prompt_n - 4; *prompt_n = '\0'; /* suppress ".tex" */ - append (prompt, &prompt_n, "> ", sizeof (prompt)); - command_line = (char *) el_gets (el, &command_line_n); -# endif - if (command_line == NULL) /* EOF */ - { putchar ('\n'); quit(); } -# ifdef HAVE_LIBREADLINE - if (command_line[0] != '\0') -# else - if (command_line[0] != '\n') -# endif - { -# ifdef HAVE_LIBREADLINE - add_history (command_line); -# else - history(hist, &ev, H_ENTER, command_line); - command_line_n--; - command_line[command_line_n] = '\0'; -# endif - reprocess = true; - if (suffix(";", command_line)) - { /* suppress possible regeneration and processing after this command */ - reprocess = false; -# ifdef HAVE_LIBREADLINE - command_line[strlen(command_line) - 1] = '\0'; -# else - command_line[command_line_n - 1] = '\0'; -# endif - } - analyze_user_command (); - } - } - while (true); /* exit via call to exit or error() */ -} diff -Nru prerex-6.5.3/prerex-6.5.2/inout.c prerex-6.5.4/prerex-6.5.2/inout.c --- prerex-6.5.3/prerex-6.5.2/inout.c 2012-10-12 01:42:42.000000000 +0000 +++ prerex-6.5.4/prerex-6.5.2/inout.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,873 +0,0 @@ -/* - inout.c -- input/output module for interactive editor of prerequisite-chart - descriptions - Copyright (c) 2005-12 R. D. Tennent - School of Computing, Queen's University, rdt@cs.queensu.ca - -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., -51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -*/ - -# include "prerex.h" - -element *first_node; -element *first_arrow; - -PRIVATE char line[LINE_LEN]; -PRIVATE char *lp; /* pointer into line */ -PRIVATE char *cp; /* pointer into text fields */ - -PRIVATE -FILE *pretext, /* whatever is in the tex_file before the chart */ - *posttext, /* whatever is in the tex_file after the chart */ - *comments; /* comment lines in the chart environment */ - -PRIVATE bool -gt (point p, point q) -/* ordering on boxes: top-to-bottom, left-to-right */ -{ - return (p.y > q.y || (p.y == q.y && p.x < q.x)); -} - -bool -eq (point p, point q) -{ - return (p.x == q.x && p.y == q.y); -} - -bool -insert_node (element * pn) -{ - element *p; - element **pp; - - /* ordered list */ - p = first_node; - pp = &(first_node); - while ((p != NULL) && gt (p->u.n.at, pn->u.n.at)) - { - pp = &(p->next); - p = p->next; - } - if ((p != NULL) && eq (p->u.n.at, pn->u.n.at)) - { - /* node at that point already */ - return true; - } - *pp = pn; - pn->next = p; - return false; -} /* insert_node */ - -element * -node_at (point p) -{ - element *pn = first_node; - while (pn != NULL && !eq (p, pn->u.n.at)) - pn = pn->next; - return pn; -} - -bool -insert_arrow (element * pa) -{ - element *p; - if (pa->u.a.source == NULL) return true; - if (pa->u.a.target == NULL) return true; - /* is the arrow already in the list? */ - p = first_arrow; - while (p != NULL && (p->u.a.target != pa->u.a.target || - p->u.a.source != pa->u.a.source)) - { - p = p->next; - } - if (p != NULL) return true; - pa->next = first_arrow; - first_arrow = pa; - return false; -} /*insert_arrow */ - - -PRIVATE coord -read_coord (void) -{ - coord c; - while (!isdigit (*lp) && *lp != '-') - lp++; - c = atoi (lp); - if (*lp == '-') - lp++; - while (isdigit (*lp)) - lp++; - return c; -} - -PRIVATE point -read_point (void) -{ - point pnt; - pnt.x = read_coord (); - pnt.y = read_coord (); - return pnt; -} - -PRIVATE void -read_textfield (char *limit) -{ - /* use recursion to allow for nested { ... } */ - if (lp >= &line[LINE_LEN]) - error ("Missing }."); - while (*lp != '}') - { - *cp = *lp; - if (*lp == '{') - { /* nested {...} */ - cp++; - lp++; - read_textfield (limit); - *cp = *lp; /* '}' */ - } - cp++; - lp++; - if (lp >= &line[LINE_LEN]) - error ("Missing }."); - if (cp >= limit) - { - puts (line); - error ("Text-field too long."); - } - } -} - -PRIVATE void -read_bracketed_textfield (char *limit) -{ - while (*lp != '{') - { - lp++; - if (lp >= &line[LINE_LEN]) - error ("Missing {."); - } - lp++; /* '{' */ - read_textfield (limit); - lp++; /* '}' */ - if (cp >= limit) - { - puts (line); - error ("Text-field too long."); - } - *cp = '\0'; -} - - -PRIVATE void -analyze_halfcourse (bool color) -{ - element *c; - c = (element *) malloc (sizeof (element)); - if (c == NULL) error ("Out of memory."); - c->tag = NODE; - c->u.n.tag = BOX; - lp = &line[10]; - c->u.n.u.b.req_opt = NEITHER; - c->u.n.u.b.half = true; - c->u.n.at = read_point (); - cp = &(c->u.n.code[0]); - read_bracketed_textfield (&(c->u.n.code[CODE_LEN])); - cp = &(c->u.n.u.b.title[0]); - read_bracketed_textfield (&(c->u.n.u.b.title[TITLE_LEN])); - cp = &(c->u.n.u.b.timetable[0]); - read_bracketed_textfield (&(c->u.n.u.b.timetable[TIMETABLE_LEN])); - cp = &(c->u.n.u.b.color[0]); - if (color) - { - read_bracketed_textfield (&(c->u.n.u.b.color[COLOR_LEN])); - } - else - *cp = '\0'; - if (insert_node (c)) - { - printf ("More than one node at %i,%i; only the first will be used.\n", c->u.n.at.x, c->u.n.at.y); - free (c); - } -} - -PRIVATE void -analyze_reqhalfcourse (bool color) -{ - element *c; - c = (element *) malloc (sizeof (element)); - if (c == NULL) error ("Out of memory."); - c->tag = NODE; - c->u.n.tag = BOX; - lp = &line[13]; - c->u.n.u.b.req_opt = REQ; - c->u.n.u.b.half = true; - c->u.n.at = read_point (); - cp = &(c->u.n.code[0]); - read_bracketed_textfield (&(c->u.n.code[CODE_LEN])); - cp = &(c->u.n.u.b.title[0]); - read_bracketed_textfield (&(c->u.n.u.b.title[TITLE_LEN])); - cp = &(c->u.n.u.b.timetable[0]); - read_bracketed_textfield (&(c->u.n.u.b.timetable[TIMETABLE_LEN])); - cp = &(c->u.n.u.b.color[0]); - if (color) - { - read_bracketed_textfield (&(c->u.n.u.b.color[COLOR_LEN])); - } - else - *cp = '\0'; - if (insert_node (c)) - { - printf ("More than one node at %i,%i; only the first will be used.\n", c->u.n.at.x, c->u.n.at.y); - free (c); - } -} - -PRIVATE void -analyze_opthalfcourse (bool color) -{ - element *c; - c = (element *) malloc (sizeof (element)); - if (c == NULL) error ("Out of memory."); - c->tag = NODE; - c->u.n.tag = BOX; - lp = &line[13]; - c->u.n.u.b.req_opt = OPT; - c->u.n.u.b.half = true; - c->u.n.at = read_point (); - cp = &(c->u.n.code[0]); - read_bracketed_textfield (&(c->u.n.code[CODE_LEN])); - cp = &(c->u.n.u.b.title[0]); - read_bracketed_textfield (&(c->u.n.u.b.title[TITLE_LEN])); - cp = &(c->u.n.u.b.timetable[0]); - read_bracketed_textfield (&(c->u.n.u.b.timetable[TIMETABLE_LEN])); - cp = &(c->u.n.u.b.color[0]); - if (color) - { - read_bracketed_textfield (&(c->u.n.u.b.color[COLOR_LEN])); - } - else - *cp = '\0'; - if (insert_node (c)) - { - printf ("More than one node at %i,%i; only the first will be used.\n", c->u.n.at.x, c->u.n.at.y); - free (c); - } -} - -PRIVATE void -analyze_fullcourse (bool color) -{ - element *c; - c = (element *) malloc (sizeof (element)); - if (c == NULL) error ("Out of memory."); - c->tag = NODE; - c->u.n.tag = BOX; - lp = &line[10]; - c->u.n.u.b.req_opt = NEITHER; - c->u.n.u.b.half = false; - c->u.n.at = read_point (); - cp = &(c->u.n.code[0]); - read_bracketed_textfield (&(c->u.n.code[CODE_LEN])); - cp = &(c->u.n.u.b.title[0]); - read_bracketed_textfield (&(c->u.n.u.b.title[TITLE_LEN])); - cp = &(c->u.n.u.b.timetable[0]); - read_bracketed_textfield (&(c->u.n.u.b.timetable[TIMETABLE_LEN])); - cp = &(c->u.n.u.b.color[0]); - if (color) - { - read_bracketed_textfield (&(c->u.n.u.b.color[COLOR_LEN])); - } - else - *cp = '\0'; - if (insert_node (c)) - { - printf ("More than one node at %i,%i; only the first will be used.\n", c->u.n.at.x, c->u.n.at.y); - free (c); - } -} - -PRIVATE void -analyze_reqfullcourse (bool color) -{ - element *c; - c = (element *) malloc (sizeof (element)); - if (c == NULL) error ("Out of memory."); - c->tag = NODE; - c->u.n.tag = BOX; - lp = &line[13]; - c->u.n.u.b.req_opt = REQ; - c->u.n.u.b.half = false; - c->u.n.at = read_point (); - cp = &(c->u.n.code[0]); - read_bracketed_textfield (&(c->u.n.code[CODE_LEN])); - cp = &(c->u.n.u.b.title[0]); - read_bracketed_textfield (&(c->u.n.u.b.title[TITLE_LEN])); - cp = &(c->u.n.u.b.timetable[0]); - read_bracketed_textfield (&(c->u.n.u.b.timetable[TIMETABLE_LEN])); - cp = &(c->u.n.u.b.color[0]); - if (color) - { - read_bracketed_textfield (&(c->u.n.u.b.color[COLOR_LEN])); - } - else - *cp = '\0'; - if (insert_node (c)) - { - printf ("More than one node at %i,%i; only the first will be used.\n", c->u.n.at.x, c->u.n.at.y); - free (c); - } -} - - -PRIVATE void -analyze_optfullcourse (bool color) -{ - element *c; - c = (element *) malloc (sizeof (element)); - if (c == NULL) error ("Out of memory."); - c->tag = NODE; - c->u.n.tag = BOX; - lp = &line[13]; - c->u.n.u.b.req_opt = OPT; - c->u.n.u.b.half = false; - c->u.n.at = read_point (); - cp = &(c->u.n.code[0]); - read_bracketed_textfield (&(c->u.n.code[CODE_LEN])); - cp = &(c->u.n.u.b.title[0]); - read_bracketed_textfield (&(c->u.n.u.b.title[TITLE_LEN])); - cp = &(c->u.n.u.b.timetable[0]); - read_bracketed_textfield (&(c->u.n.u.b.timetable[TIMETABLE_LEN])); - cp = &(c->u.n.u.b.color[0]); - if (color) - { - read_bracketed_textfield (&(c->u.n.u.b.color[COLOR_LEN])); - } - else - *cp = '\0'; - if (insert_node (c)) - { - printf ("More than one node at %i,%i; only the first will be used.\n", c->u.n.at.x, c->u.n.at.y); - free (c); - } -} - -PRIVATE void -analyze_mini (void) -{ - element *m; - m = (element *) malloc (sizeof (element)); - if (m == NULL) error ("Out of memory."); - m->tag = NODE; - m->u.n.tag = MINI; - lp = &line[4]; - m->u.n.at = read_point (); - cp = &(m->u.n.code[0]); - read_bracketed_textfield (&(m->u.n.code[CODE_LEN])); - if (insert_node (m)) - { - printf ("More than one node at %i,%i; only the first will be used.\n", m->u.n.at.x, m->u.n.at.y); - free (m); - } -} - -PRIVATE void -analyze_text (void) -{ - element *m; - m = (element *) malloc (sizeof (element)); - if (m == NULL) error ("Out of memory."); - m->tag = NODE; - m->u.n.tag = TEXT; - lp = &line[4]; - m->u.n.at = read_point (); - m->u.n.code[0] = '\0'; - cp = &(m->u.n.u.t.txt[0]); - read_bracketed_textfield (&(m->u.n.u.t.txt[LINE_LEN])); - if (insert_node (m)) - { - printf ("More than one node at %i,%i; only the first will be used.\n", m->u.n.at.x, m->u.n.at.y); - free (m); - } -} - -PRIVATE void -analyze_prereqc (void) -{ - element *a; - a = (element *) malloc (sizeof (element)); - if (a == NULL) error ("Out of memory."); - a->tag = ARROW; - a->u.a.tag = PREREQ; - lp = &line[7]; - a->u.a.source = node_at (read_point ()); - a->u.a.target = node_at (read_point ()); - a->u.a.curvature = read_coord (); - if (a->u.a.curvature > 100) a->u.a.curvature = -1; - if (insert_arrow (a)) - { - puts ("Arrow source or target don't exist, or more than one arrow with the same source and target."); - free (a); - } -} - -PRIVATE void -analyze_prereq (void) -{ - element *a; - a = (element *) malloc (sizeof (element)); - if (a == NULL) error ("Out of memory."); - a->tag = ARROW; - a->u.a.tag = PREREQ; - a->u.a.curvature = -1; - lp = &line[6]; - a->u.a.source = node_at (read_point ()); - a->u.a.target = node_at (read_point ()); - if (insert_arrow (a)) - { - puts ("Arrow source or target don't exist, or more than one arrow with the same source and target."); - free (a); - } -} - -PRIVATE void -analyze_coreq (void) -{ - element *a; - a = (element *) malloc (sizeof (element)); - if (a == NULL) error ("Out of memory."); - a->tag = ARROW; - a->u.a.tag = COREQ; - a->u.a.curvature = -1; - lp = &line[6]; - a->u.a.source = node_at (read_point ()); - a->u.a.target = node_at (read_point ()); - if (insert_arrow (a)) - { - puts ("Arrow source or target don't exist, or more than one arrow with the same source and target."); - free (a); - } -} - -PRIVATE void -analyze_coreqc (void) -{ - element *a; - a = (element *) malloc (sizeof (element)); - if (a == NULL) error ("Out of memory."); - a->tag = ARROW; - a->u.a.tag = COREQ; - lp = &line[7]; - a->u.a.source = node_at (read_point ()); - a->u.a.target = node_at (read_point ()); - a->u.a.curvature = read_coord (); - if (a->u.a.curvature > 100) a->u.a.curvature = -1; - if (insert_arrow (a)) - { - puts ("Arrow source or target don't exist, or more than one arrow with the same source and target."); - free (a); - } -} - -PRIVATE void -analyze_recomm (void) -{ - element *a; - a = (element *) malloc (sizeof (element)); - if (a == NULL) error ("Out of memory."); - a->tag = ARROW; - a->u.a.tag = RECOMM; - a->u.a.curvature = -1; - lp = &line[6]; - a->u.a.source = node_at (read_point ()); - a->u.a.target = node_at (read_point ()); - if (insert_arrow (a)) - { - puts ("Arrow source or target don't exist, or more than one arrow with the same source and target."); - free (a); - } -} - -PRIVATE void -analyze_recommc (void) -{ - element *a; - a = (element *) malloc (sizeof (element)); - if (a == NULL) error ("Out of memory."); - a->tag = ARROW; - a->u.a.tag = RECOMM; - lp = &line[7]; - a->u.a.source = node_at (read_point ()); - a->u.a.target = node_at (read_point ()); - a->u.a.curvature = read_coord (); - if (a->u.a.curvature > 100) a->u.a.curvature = -1; - if (insert_arrow (a)) - { - puts ("Arrow source or target don't exist, or more than one arrow with the same source and target."); - free (a); - } -} - - -PRIVATE bool -analyze_tex_command (void) -{ - if (fgets (line, LINE_LEN, tex_file) == NULL) - error ("Can't read LaTeX command."); - if (prefix ("halfcoursec", line)) - analyze_halfcourse (true); - else if (prefix ("reqhalfcoursec", line)) - analyze_reqhalfcourse (true); - else if (prefix ("opthalfcoursec", line)) - analyze_opthalfcourse (true); - else if (prefix ("fullcoursec", line)) - analyze_fullcourse (true); - else if (prefix ("reqfullcoursec", line)) - analyze_reqfullcourse (true); - else if (prefix ("optfullcoursec", line)) - analyze_optfullcourse (true); - else if (prefix ("halfcourse", line)) - analyze_halfcourse (false); - else if (prefix ("reqhalfcourse", line)) - analyze_reqhalfcourse (false); - else if (prefix ("opthalfcourse", line)) - analyze_opthalfcourse (false); - else if (prefix ("fullcourse", line)) - analyze_fullcourse (false); - else if (prefix ("reqfullcourse", line)) - analyze_reqfullcourse (false); - else if (prefix ("optfullcourse", line)) - analyze_optfullcourse (false); - else if (prefix ("mini", line)) - analyze_mini (); - else if (prefix ("text", line)) - analyze_text (); - else if (prefix ("prereqc", line)) - analyze_prereqc (); - else if (prefix ("prereq", line)) - analyze_prereq (); - else if (prefix ("coreqc", line)) - analyze_coreqc (); - else if (prefix ("coreq", line)) - analyze_coreq (); - else if (prefix ("recommc", line)) - analyze_recommc (); - else if (prefix ("recomm", line)) - analyze_recomm (); - else if (prefix ("grid", line)) - grid = true; - else if (prefix ("end{chart}", line)) - { - return true; - } - else - { - char msg[LINE_LEN + 24] = {'\0'}; - char *msg_n = msg; - append (msg, &msg_n, "Illegal command:\n ", sizeof (msg)); - append (msg, &msg_n, line, sizeof (msg)); - error (msg); - } - return false; -} - -void -close_files (void) -{ - fclose (pretext); - fclose (posttext); - fclose (comments); -} - -void -analyze_tex_file (void) /* tex file -> internal representation */ -{ - int ch; - bool flag; /* chart detected? */ - pretext = tmpfile (); - posttext = tmpfile (); - comments = tmpfile (); - first_node = NULL; - first_arrow = NULL; - fflush (tex_file); - rewind (tex_file); - printf ("Analyzing %s.\n", chartfilename); - ch = getc (tex_file); - while (ch != EOF) - { - if (ch == '\\') - { - fgets (line, LINE_LEN, tex_file); - flag = prefix ("begin{chart}", line); - putc ('\\', pretext); - fputs (line, pretext); - if (flag) - { - do - { ch = getc (tex_file);} - while (isspace (ch)); - while (true) - { - if (ch == '\\') - { - if (analyze_tex_command ()) - { - fprintf (posttext, "%s\n", "\\end{chart}"); - break; - } - } - else if (ch == '%') - { - fgets (line, LINE_LEN, tex_file); - putc ('%', comments); - fputs (line, comments); - } - else - error - ("Unexpected 1st non-whitespace character in line."); - do - { ch = getc (tex_file);} - while (isspace (ch)); - } - ch = getc (tex_file); - while (ch != EOF) - { - putc (ch, posttext); - ch = getc (tex_file); - } - } - } - else - { - putc (ch, pretext); - } - ch = getc (tex_file); - } -} /* analyze_tex_file */ - -PRIVATE void -output_node (element * p) -{ - if (p->u.n.tag == BOX) - { - putc ('\\', tex_file); - if (p->u.n.u.b.req_opt == REQ) - fprintf (tex_file, "req"); - else if (p->u.n.u.b.req_opt == OPT) - fprintf (tex_file, "opt"); - if (p->u.n.u.b.half) - { - fprintf (tex_file, "halfcourse"); - } - else - { - fprintf (tex_file, "fullcourse"); - } - if (p->u.n.u.b.color[0] == '\0') - fprintf (tex_file, - " %i,%i:{%s}{%s}{%s}\n", - p->u.n.at.x, p->u.n.at.y, p->u.n.code, - p->u.n.u.b.title, p->u.n.u.b.timetable); - else - fprintf (tex_file, - "c %i,%i:{%s}{%s}{%s}{%s}\n", - p->u.n.at.x, p->u.n.at.y, p->u.n.code, - p->u.n.u.b.title, p->u.n.u.b.timetable, p->u.n.u.b.color); - } - else if (p->u.n.tag == MINI) - { - fprintf (tex_file, - "\\mini %i,%i:{%s}\n", p->u.n.at.x, p->u.n.at.y, p->u.n.code); - } - else if (p->u.n.tag == TEXT) - { - fprintf (tex_file, - "\\text %i,%i:{%s}\n", p->u.n.at.x, p->u.n.at.y, p->u.n.u.t.txt); - } - else - error ("Undefined node type."); -} - -PRIVATE void -output_arrow (element * p) -{ - switch (p->u.a.tag) - { - case PREREQ: - if (p->u.a.curvature < 0) - { - fprintf (tex_file, - " \\prereq %i,%i,%i,%i:\n", - p->u.a.source->u.n.at.x, p->u.a.source->u.n.at.y, - p->u.a.target->u.n.at.x, p->u.a.target->u.n.at.y); - } - else - { - fprintf (tex_file, - " \\prereqc %i,%i,%i,%i;%i:\n", - p->u.a.source->u.n.at.x, p->u.a.source->u.n.at.y, - p->u.a.target->u.n.at.x, p->u.a.target->u.n.at.y, - p->u.a.curvature); - } - break; - case COREQ: - if (p->u.a.curvature < 0) - { - fprintf (tex_file, - " \\coreq %i,%i,%i,%i:\n", - p->u.a.source->u.n.at.x, p->u.a.source->u.n.at.y, - p->u.a.target->u.n.at.x, p->u.a.target->u.n.at.y); - } - else - { - fprintf (tex_file, - " \\coreqc %i,%i,%i,%i;%i:\n", - p->u.a.source->u.n.at.x, p->u.a.source->u.n.at.y, - p->u.a.target->u.n.at.x, p->u.a.target->u.n.at.y, - p->u.a.curvature); - } - break; - case RECOMM: - if (p->u.a.curvature < 0) - { - fprintf (tex_file, - " \\recomm %i,%i,%i,%i:\n", - p->u.a.source->u.n.at.x, p->u.a.source->u.n.at.y, - p->u.a.target->u.n.at.x, p->u.a.target->u.n.at.y); - } - else - { - fprintf (tex_file, - " \\recommc %i,%i,%i,%i;%i:\n", - p->u.a.source->u.n.at.x, p->u.a.source->u.n.at.y, - p->u.a.target->u.n.at.x, p->u.a.target->u.n.at.y, - p->u.a.curvature); - } - break; - default: - error ("Undefined arrow kind."); - } -} - -PRIVATE void -merge_lists (void) -{ - /* - Output nodes in order (top-to-bottom, left-to-right). - For each node, search for and output every arrow that targets that node, - provided its source node has already been output. - After output of an arrow, remove it from the arrow list and save it on the - save_arrow list; the remaining arrows haven't yet been output. - After output of all the nodes as above, process the remaining arrows, verifying - that their sources/targets haven't been cut or deleted. - Then restore the saved arrows. - */ - element *fn = first_node; - element *fa, **ffa; - element *save_arrow = NULL; /* arrows already output */ - while (fn != NULL) - { - output_node (fn); - ffa = &first_arrow; - fa = first_arrow; - while (fa != NULL) - { - if (fa->u.a.target == fn) - { - element *ffn = first_node; - /* verify that a source node has already been output: */ - while (ffn != fn && ffn != fa->u.a.source) - { - ffn = ffn->next; - } - if (ffn == fn) - { - /* source node not yet output; defer arrow output */ - ffa = &(fa->next); - fa = fa->next; - break; - } - output_arrow (fa); - /* move arrow to save_arrow list: */ - *ffa = fa->next; - fa->next = save_arrow; - save_arrow = fa; - fa = *ffa; - } - else - { - ffa = &(fa->next); - fa = fa->next; - } - } - fn = fn->next; - } - /* now output any remaining arrows (with source and target): */ - fa = first_arrow; - while (fa != NULL) - { - /* verify that there is a source node: */ - element *ffn = first_node; - while (ffn != NULL && ffn != fa->u.a.source) - { - ffn = ffn->next; - } - if (ffn == NULL) - { - fa = fa->next; - continue; - } - /* verify that there is a target node: */ - ffn = first_node; - while (ffn != NULL && ffn != fa->u.a.target) - { - ffn = ffn->next; - } - if (ffn == NULL) - { - fa = fa->next; - continue; - } - output_arrow (fa); - fa = fa->next; - } - /* restore saved arrows: */ - fa = save_arrow; - while (fa != NULL) - { - save_arrow = fa->next; - fa->next = first_arrow; - first_arrow = fa; - fa = save_arrow; - } -} - - -void -regenerate_tex_file (void) /* internal representation -> tex file */ -{ - printf ("Saving to %s.\n", chartfilename); - fclose (tex_file); - tex_file = fopen (chartfilename, "w+"); - copy (pretext, tex_file); - if (grid) - fprintf (tex_file, "\\grid\n"); - merge_lists (); - copy (comments, tex_file); - copy (posttext, tex_file); - fflush(tex_file); - rewind (tex_file); -} - diff -Nru prerex-6.5.3/prerex-6.5.2/INSTALL prerex-6.5.4/prerex-6.5.2/INSTALL --- prerex-6.5.3/prerex-6.5.2/INSTALL 2010-06-25 16:17:56.000000000 +0000 +++ prerex-6.5.4/prerex-6.5.2/INSTALL 1970-01-01 00:00:00.000000000 +0000 @@ -1,236 +0,0 @@ -Installation Instructions -************************* - -Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005 Free -Software Foundation, Inc. - -This file is free documentation; the Free Software Foundation gives -unlimited permission to copy, distribute and modify it. - -Basic Installation -================== - -These are generic installation instructions. - - The `configure' shell script attempts to guess correct values for -various system-dependent variables used during compilation. It uses -those values to create a `Makefile' in each directory of the package. -It may also create one or more `.h' files containing system-dependent -definitions. Finally, it creates a shell script `config.status' that -you can run in the future to recreate the current configuration, and a -file `config.log' containing compiler output (useful mainly for -debugging `configure'). - - It can also use an optional file (typically called `config.cache' -and enabled with `--cache-file=config.cache' or simply `-C') that saves -the results of its tests to speed up reconfiguring. (Caching is -disabled by default to prevent problems with accidental use of stale -cache files.) - - If you need to do unusual things to compile the package, please try -to figure out how `configure' could check whether to do them, and mail -diffs or instructions to the address given in the `README' so they can -be considered for the next release. If you are using the cache, and at -some point `config.cache' contains results you don't want to keep, you -may remove or edit it. - - The file `configure.ac' (or `configure.in') is used to create -`configure' by a program called `autoconf'. You only need -`configure.ac' if you want to change it or regenerate `configure' using -a newer version of `autoconf'. - -The simplest way to compile this package is: - - 1. `cd' to the directory containing the package's source code and type - `./configure' to configure the package for your system. If you're - using `csh' on an old version of System V, you might need to type - `sh ./configure' instead to prevent `csh' from trying to execute - `configure' itself. - - Running `configure' takes awhile. While running, it prints some - messages telling which features it is checking for. - - 2. Type `make' to compile the package. - - 3. Optionally, type `make check' to run any self-tests that come with - the package. - - 4. Type `make install' to install the programs and any data files and - documentation. - - 5. You can remove the program binaries and object files from the - source code directory by typing `make clean'. To also remove the - files that `configure' created (so you can compile the package for - a different kind of computer), type `make distclean'. There is - also a `make maintainer-clean' target, but that is intended mainly - for the package's developers. If you use it, you may have to get - all sorts of other programs in order to regenerate files that came - with the distribution. - -Compilers and Options -===================== - -Some systems require unusual options for compilation or linking that the -`configure' script does not know about. Run `./configure --help' for -details on some of the pertinent environment variables. - - You can give `configure' initial values for configuration parameters -by setting variables in the command line or in the environment. Here -is an example: - - ./configure CC=c89 CFLAGS=-O2 LIBS=-lposix - - *Note Defining Variables::, for more details. - -Compiling For Multiple Architectures -==================================== - -You can compile the package for more than one kind of computer at the -same time, by placing the object files for each architecture in their -own directory. To do this, you must use a version of `make' that -supports the `VPATH' variable, such as GNU `make'. `cd' to the -directory where you want the object files and executables to go and run -the `configure' script. `configure' automatically checks for the -source code in the directory that `configure' is in and in `..'. - - If you have to use a `make' that does not support the `VPATH' -variable, you have to compile the package for one architecture at a -time in the source code directory. After you have installed the -package for one architecture, use `make distclean' before reconfiguring -for another architecture. - -Installation Names -================== - -By default, `make install' installs the package's commands under -`/usr/local/bin', include files under `/usr/local/include', etc. You -can specify an installation prefix other than `/usr/local' by giving -`configure' the option `--prefix=PREFIX'. - - You can specify separate installation prefixes for -architecture-specific files and architecture-independent files. If you -pass the option `--exec-prefix=PREFIX' to `configure', the package uses -PREFIX as the prefix for installing programs and libraries. -Documentation and other data files still use the regular prefix. - - In addition, if you use an unusual directory layout you can give -options like `--bindir=DIR' to specify different values for particular -kinds of files. Run `configure --help' for a list of the directories -you can set and what kinds of files go in them. - - If the package supports it, you can cause programs to be installed -with an extra prefix or suffix on their names by giving `configure' the -option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. - -Optional Features -================= - -Some packages pay attention to `--enable-FEATURE' options to -`configure', where FEATURE indicates an optional part of the package. -They may also pay attention to `--with-PACKAGE' options, where PACKAGE -is something like `gnu-as' or `x' (for the X Window System). The -`README' should mention any `--enable-' and `--with-' options that the -package recognizes. - - For packages that use the X Window System, `configure' can usually -find the X include and library files automatically, but if it doesn't, -you can use the `configure' options `--x-includes=DIR' and -`--x-libraries=DIR' to specify their locations. - -Specifying the System Type -========================== - -There may be some features `configure' cannot figure out automatically, -but needs to determine by the type of machine the package will run on. -Usually, assuming the package is built to be run on the _same_ -architectures, `configure' can figure that out, but if it prints a -message saying it cannot guess the machine type, give it the -`--build=TYPE' option. TYPE can either be a short name for the system -type, such as `sun4', or a canonical name which has the form: - - CPU-COMPANY-SYSTEM - -where SYSTEM can have one of these forms: - - OS KERNEL-OS - - See the file `config.sub' for the possible values of each field. If -`config.sub' isn't included in this package, then this package doesn't -need to know the machine type. - - If you are _building_ compiler tools for cross-compiling, you should -use the option `--target=TYPE' to select the type of system they will -produce code for. - - If you want to _use_ a cross compiler, that generates code for a -platform different from the build platform, you should specify the -"host" platform (i.e., that on which the generated programs will -eventually be run) with `--host=TYPE'. - -Sharing Defaults -================ - -If you want to set default values for `configure' scripts to share, you -can create a site shell script called `config.site' that gives default -values for variables like `CC', `cache_file', and `prefix'. -`configure' looks for `PREFIX/share/config.site' if it exists, then -`PREFIX/etc/config.site' if it exists. Or, you can set the -`CONFIG_SITE' environment variable to the location of the site script. -A warning: not all `configure' scripts look for a site script. - -Defining Variables -================== - -Variables not defined in a site shell script can be set in the -environment passed to `configure'. However, some packages may run -configure again during the build, and the customized values of these -variables may be lost. In order to avoid this problem, you should set -them in the `configure' command line, using `VAR=value'. For example: - - ./configure CC=/usr/local2/bin/gcc - -causes the specified `gcc' to be used as the C compiler (unless it is -overridden in the site shell script). Here is a another example: - - /bin/bash ./configure CONFIG_SHELL=/bin/bash - -Here the `CONFIG_SHELL=/bin/bash' operand causes subsequent -configuration-related scripts to be executed by `/bin/bash'. - -`configure' Invocation -====================== - -`configure' recognizes the following options to control how it operates. - -`--help' -`-h' - Print a summary of the options to `configure', and exit. - -`--version' -`-V' - Print the version of Autoconf used to generate the `configure' - script, and exit. - -`--cache-file=FILE' - Enable the cache: use and save the results of the tests in FILE, - traditionally `config.cache'. FILE defaults to `/dev/null' to - disable caching. - -`--config-cache' -`-C' - Alias for `--cache-file=config.cache'. - -`--quiet' -`--silent' -`-q' - Do not print messages saying which checks are being made. To - suppress all normal output, redirect it to `/dev/null' (any error - messages will still be shown). - -`--srcdir=DIR' - Look for the package's source code in directory DIR. Usually - `configure' can determine that directory automatically. - -`configure' also accepts some other, not widely useful, options. Run -`configure --help' for more details. - diff -Nru prerex-6.5.3/prerex-6.5.2/install-sh prerex-6.5.4/prerex-6.5.2/install-sh --- prerex-6.5.3/prerex-6.5.2/install-sh 2010-06-25 16:17:56.000000000 +0000 +++ prerex-6.5.4/prerex-6.5.2/install-sh 1970-01-01 00:00:00.000000000 +0000 @@ -1,323 +0,0 @@ -#!/bin/sh -# install - install a program, script, or datafile - -scriptversion=2005-05-14.22 - -# This originates from X11R5 (mit/util/scripts/install.sh), which was -# later released in X11R6 (xc/config/util/install.sh) with the -# following copyright and license. -# -# Copyright (C) 1994 X Consortium -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to -# deal in the Software without restriction, including without limitation the -# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -# sell copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in -# all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN -# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- -# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -# -# Except as contained in this notice, the name of the X Consortium shall not -# be used in advertising or otherwise to promote the sale, use or other deal- -# ings in this Software without prior written authorization from the X Consor- -# tium. -# -# -# FSF changes to this file are in the public domain. -# -# Calling this script install-sh is preferred over install.sh, to prevent -# `make' implicit rules from creating a file called install from it -# when there is no Makefile. -# -# This script is compatible with the BSD install script, but was written -# from scratch. It can only install one file at a time, a restriction -# shared with many OS's install programs. - -# set DOITPROG to echo to test this script - -# Don't use :- since 4.3BSD and earlier shells don't like it. -doit="${DOITPROG-}" - -# put in absolute paths if you don't have them in your path; or use env. vars. - -mvprog="${MVPROG-mv}" -cpprog="${CPPROG-cp}" -chmodprog="${CHMODPROG-chmod}" -chownprog="${CHOWNPROG-chown}" -chgrpprog="${CHGRPPROG-chgrp}" -stripprog="${STRIPPROG-strip}" -rmprog="${RMPROG-rm}" -mkdirprog="${MKDIRPROG-mkdir}" - -chmodcmd="$chmodprog 0755" -chowncmd= -chgrpcmd= -stripcmd= -rmcmd="$rmprog -f" -mvcmd="$mvprog" -src= -dst= -dir_arg= -dstarg= -no_target_directory= - -usage="Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE - or: $0 [OPTION]... SRCFILES... DIRECTORY - or: $0 [OPTION]... -t DIRECTORY SRCFILES... - or: $0 [OPTION]... -d DIRECTORIES... - -In the 1st form, copy SRCFILE to DSTFILE. -In the 2nd and 3rd, copy all SRCFILES to DIRECTORY. -In the 4th, create DIRECTORIES. - -Options: --c (ignored) --d create directories instead of installing files. --g GROUP $chgrpprog installed files to GROUP. --m MODE $chmodprog installed files to MODE. --o USER $chownprog installed files to USER. --s $stripprog installed files. --t DIRECTORY install into DIRECTORY. --T report an error if DSTFILE is a directory. ---help display this help and exit. ---version display version info and exit. - -Environment variables override the default commands: - CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG -" - -while test -n "$1"; do - case $1 in - -c) shift - continue;; - - -d) dir_arg=true - shift - continue;; - - -g) chgrpcmd="$chgrpprog $2" - shift - shift - continue;; - - --help) echo "$usage"; exit $?;; - - -m) chmodcmd="$chmodprog $2" - shift - shift - continue;; - - -o) chowncmd="$chownprog $2" - shift - shift - continue;; - - -s) stripcmd=$stripprog - shift - continue;; - - -t) dstarg=$2 - shift - shift - continue;; - - -T) no_target_directory=true - shift - continue;; - - --version) echo "$0 $scriptversion"; exit $?;; - - *) # When -d is used, all remaining arguments are directories to create. - # When -t is used, the destination is already specified. - test -n "$dir_arg$dstarg" && break - # Otherwise, the last argument is the destination. Remove it from $@. - for arg - do - if test -n "$dstarg"; then - # $@ is not empty: it contains at least $arg. - set fnord "$@" "$dstarg" - shift # fnord - fi - shift # arg - dstarg=$arg - done - break;; - esac -done - -if test -z "$1"; then - if test -z "$dir_arg"; then - echo "$0: no input file specified." >&2 - exit 1 - fi - # It's OK to call `install-sh -d' without argument. - # This can happen when creating conditional directories. - exit 0 -fi - -for src -do - # Protect names starting with `-'. - case $src in - -*) src=./$src ;; - esac - - if test -n "$dir_arg"; then - dst=$src - src= - - if test -d "$dst"; then - mkdircmd=: - chmodcmd= - else - mkdircmd=$mkdirprog - fi - else - # Waiting for this to be detected by the "$cpprog $src $dsttmp" command - # might cause directories to be created, which would be especially bad - # if $src (and thus $dsttmp) contains '*'. - if test ! -f "$src" && test ! -d "$src"; then - echo "$0: $src does not exist." >&2 - exit 1 - fi - - if test -z "$dstarg"; then - echo "$0: no destination specified." >&2 - exit 1 - fi - - dst=$dstarg - # Protect names starting with `-'. - case $dst in - -*) dst=./$dst ;; - esac - - # If destination is a directory, append the input filename; won't work - # if double slashes aren't ignored. - if test -d "$dst"; then - if test -n "$no_target_directory"; then - echo "$0: $dstarg: Is a directory" >&2 - exit 1 - fi - dst=$dst/`basename "$src"` - fi - fi - - # This sed command emulates the dirname command. - dstdir=`echo "$dst" | sed -e 's,/*$,,;s,[^/]*$,,;s,/*$,,;s,^$,.,'` - - # Make sure that the destination directory exists. - - # Skip lots of stat calls in the usual case. - if test ! -d "$dstdir"; then - defaultIFS=' - ' - IFS="${IFS-$defaultIFS}" - - oIFS=$IFS - # Some sh's can't handle IFS=/ for some reason. - IFS='%' - set x `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'` - shift - IFS=$oIFS - - pathcomp= - - while test $# -ne 0 ; do - pathcomp=$pathcomp$1 - shift - if test ! -d "$pathcomp"; then - $mkdirprog "$pathcomp" - # mkdir can fail with a `File exist' error in case several - # install-sh are creating the directory concurrently. This - # is OK. - test -d "$pathcomp" || exit - fi - pathcomp=$pathcomp/ - done - fi - - if test -n "$dir_arg"; then - $doit $mkdircmd "$dst" \ - && { test -z "$chowncmd" || $doit $chowncmd "$dst"; } \ - && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } \ - && { test -z "$stripcmd" || $doit $stripcmd "$dst"; } \ - && { test -z "$chmodcmd" || $doit $chmodcmd "$dst"; } - - else - dstfile=`basename "$dst"` - - # Make a couple of temp file names in the proper directory. - dsttmp=$dstdir/_inst.$$_ - rmtmp=$dstdir/_rm.$$_ - - # Trap to clean up those temp files at exit. - trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 - trap '(exit $?); exit' 1 2 13 15 - - # Copy the file name to the temp name. - $doit $cpprog "$src" "$dsttmp" && - - # and set any options; do chmod last to preserve setuid bits. - # - # If any of these fail, we abort the whole thing. If we want to - # ignore errors from any of these, just make sure not to ignore - # errors from the above "$doit $cpprog $src $dsttmp" command. - # - { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \ - && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \ - && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \ - && { test -z "$chmodcmd" || $doit $chmodcmd "$dsttmp"; } && - - # Now rename the file to the real destination. - { $doit $mvcmd -f "$dsttmp" "$dstdir/$dstfile" 2>/dev/null \ - || { - # The rename failed, perhaps because mv can't rename something else - # to itself, or perhaps because mv is so ancient that it does not - # support -f. - - # Now remove or move aside any old file at destination location. - # We try this two ways since rm can't unlink itself on some - # systems and the destination file might be busy for other - # reasons. In this case, the final cleanup might fail but the new - # file should still install successfully. - { - if test -f "$dstdir/$dstfile"; then - $doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null \ - || $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null \ - || { - echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2 - (exit 1); exit 1 - } - else - : - fi - } && - - # Now rename the file to the real destination. - $doit $mvcmd "$dsttmp" "$dstdir/$dstfile" - } - } - fi || { (exit 1); exit 1; } -done - -# The final little trick to "correctly" pass the exit status to the exit trap. -{ - (exit 0); exit 0 -} - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-end: "$" -# End: diff -Nru prerex-6.5.3/prerex-6.5.2/Makefile.am prerex-6.5.4/prerex-6.5.2/Makefile.am --- prerex-6.5.3/prerex-6.5.2/Makefile.am 2013-10-12 03:05:14.000000000 +0000 +++ prerex-6.5.4/prerex-6.5.2/Makefile.am 1970-01-01 00:00:00.000000000 +0000 @@ -1,5 +0,0 @@ -bin_PROGRAMS = prerex -prerex_SOURCES = prerex.h prerex.c inout.c edit.c utils.c -prerex_CFLAGS = -O4 -Wall -Wextra -pedantic-errors -man_MANS = prerex.1 prerex.5 -EXTRA_DIST = $(man_MANS) diff -Nru prerex-6.5.3/prerex-6.5.2/Makefile.in prerex-6.5.4/prerex-6.5.2/Makefile.in --- prerex-6.5.3/prerex-6.5.2/Makefile.in 2013-10-12 03:06:15.000000000 +0000 +++ prerex-6.5.4/prerex-6.5.2/Makefile.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,818 +0,0 @@ -# Makefile.in generated by automake 1.11.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, -# Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -VPATH = @srcdir@ -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -bin_PROGRAMS = prerex$(EXEEXT) -subdir = . -DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \ - $(srcdir)/Makefile.in $(srcdir)/config.h.in \ - $(top_srcdir)/configure AUTHORS COPYING ChangeLog INSTALL NEWS \ - compile depcomp install-sh missing -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ - configure.lineno config.status.lineno -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)" \ - "$(DESTDIR)$(man5dir)" -PROGRAMS = $(bin_PROGRAMS) -am_prerex_OBJECTS = prerex-prerex.$(OBJEXT) prerex-inout.$(OBJEXT) \ - prerex-edit.$(OBJEXT) prerex-utils.$(OBJEXT) -prerex_OBJECTS = $(am_prerex_OBJECTS) -prerex_LDADD = $(LDADD) -prerex_LINK = $(CCLD) $(prerex_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ - $(LDFLAGS) -o $@ -DEFAULT_INCLUDES = -I.@am__isrc@ -depcomp = $(SHELL) $(top_srcdir)/depcomp -am__depfiles_maybe = depfiles -am__mv = mv -f -AM_V_lt = $(am__v_lt_$(V)) -am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) -am__v_lt_0 = --silent -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_$(V)) -am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY)) -am__v_CC_0 = @echo " CC " $@; -AM_V_at = $(am__v_at_$(V)) -am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) -am__v_at_0 = @ -CCLD = $(CC) -LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_$(V)) -am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY)) -am__v_CCLD_0 = @echo " CCLD " $@; -AM_V_GEN = $(am__v_GEN_$(V)) -am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) -am__v_GEN_0 = @echo " GEN " $@; -SOURCES = $(prerex_SOURCES) -DIST_SOURCES = $(prerex_SOURCES) -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -man1dir = $(mandir)/man1 -man5dir = $(mandir)/man5 -NROFF = nroff -MANS = $(man_MANS) -ETAGS = etags -CTAGS = ctags -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -distdir = $(PACKAGE)-$(VERSION) -top_distdir = $(distdir) -am__remove_distdir = \ - { test ! -d "$(distdir)" \ - || { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ - && rm -fr "$(distdir)"; }; } -DIST_ARCHIVES = $(distdir).tar.gz -GZIP_ENV = --best -distuninstallcheck_listfiles = find . -type f -print -distcleancheck_listfiles = find . -type f -print -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -GREP = @GREP@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LTLIBOBJS = @LTLIBOBJS@ -MAKEINFO = @MAKEINFO@ -MKDIR_P = @MKDIR_P@ -OBJEXT = @OBJEXT@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -VERSION = @VERSION@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_CC = @ac_ct_CC@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build_alias = @build_alias@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host_alias = @host_alias@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -prerex_SOURCES = prerex.h prerex.c inout.c edit.c utils.c -prerex_CFLAGS = -O4 -Wall -Wextra -pedantic-errors -man_MANS = prerex.1 prerex.5 -EXTRA_DIST = $(man_MANS) -all: config.h - $(MAKE) $(AM_MAKEFLAGS) all-am - -.SUFFIXES: -.SUFFIXES: .c .o .obj -am--refresh: - @: -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - echo ' cd $(srcdir) && $(AUTOMAKE) --gnu'; \ - $(am__cd) $(srcdir) && $(AUTOMAKE) --gnu \ - && exit 0; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - echo ' $(SHELL) ./config.status'; \ - $(SHELL) ./config.status;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - $(SHELL) ./config.status --recheck - -$(top_srcdir)/configure: $(am__configure_deps) - $(am__cd) $(srcdir) && $(AUTOCONF) -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) -$(am__aclocal_m4_deps): - -config.h: stamp-h1 - @if test ! -f $@; then \ - rm -f stamp-h1; \ - $(MAKE) $(AM_MAKEFLAGS) stamp-h1; \ - else :; fi - -stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status - @rm -f stamp-h1 - cd $(top_builddir) && $(SHELL) ./config.status config.h -$(srcdir)/config.h.in: $(am__configure_deps) - ($(am__cd) $(top_srcdir) && $(AUTOHEADER)) - rm -f stamp-h1 - touch $@ - -distclean-hdr: - -rm -f config.h stamp-h1 -install-binPROGRAMS: $(bin_PROGRAMS) - @$(NORMAL_INSTALL) - test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)" - @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ - for p in $$list; do echo "$$p $$p"; done | \ - sed 's/$(EXEEXT)$$//' | \ - while read p p1; do if test -f $$p; \ - then echo "$$p"; echo "$$p"; else :; fi; \ - done | \ - sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \ - -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ - sed 'N;N;N;s,\n, ,g' | \ - $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ - { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ - if ($$2 == $$4) files[d] = files[d] " " $$1; \ - else { print "f", $$3 "/" $$4, $$1; } } \ - END { for (d in files) print "f", d, files[d] }' | \ - while read type dir files; do \ - if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ - test -z "$$files" || { \ - echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \ - $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ - } \ - ; done - -uninstall-binPROGRAMS: - @$(NORMAL_UNINSTALL) - @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ - files=`for p in $$list; do echo "$$p"; done | \ - sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ - -e 's/$$/$(EXEEXT)/' `; \ - test -n "$$list" || exit 0; \ - echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \ - cd "$(DESTDIR)$(bindir)" && rm -f $$files - -clean-binPROGRAMS: - -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) -prerex$(EXEEXT): $(prerex_OBJECTS) $(prerex_DEPENDENCIES) - @rm -f prerex$(EXEEXT) - $(AM_V_CCLD)$(prerex_LINK) $(prerex_OBJECTS) $(prerex_LDADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/prerex-edit.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/prerex-inout.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/prerex-prerex.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/prerex-utils.Po@am__quote@ - -.c.o: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(COMPILE) -c $< - -.c.obj: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` - -prerex-prerex.o: prerex.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(prerex_CFLAGS) $(CFLAGS) -MT prerex-prerex.o -MD -MP -MF $(DEPDIR)/prerex-prerex.Tpo -c -o prerex-prerex.o `test -f 'prerex.c' || echo '$(srcdir)/'`prerex.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/prerex-prerex.Tpo $(DEPDIR)/prerex-prerex.Po -@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='prerex.c' object='prerex-prerex.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(prerex_CFLAGS) $(CFLAGS) -c -o prerex-prerex.o `test -f 'prerex.c' || echo '$(srcdir)/'`prerex.c - -prerex-prerex.obj: prerex.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(prerex_CFLAGS) $(CFLAGS) -MT prerex-prerex.obj -MD -MP -MF $(DEPDIR)/prerex-prerex.Tpo -c -o prerex-prerex.obj `if test -f 'prerex.c'; then $(CYGPATH_W) 'prerex.c'; else $(CYGPATH_W) '$(srcdir)/prerex.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/prerex-prerex.Tpo $(DEPDIR)/prerex-prerex.Po -@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='prerex.c' object='prerex-prerex.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(prerex_CFLAGS) $(CFLAGS) -c -o prerex-prerex.obj `if test -f 'prerex.c'; then $(CYGPATH_W) 'prerex.c'; else $(CYGPATH_W) '$(srcdir)/prerex.c'; fi` - -prerex-inout.o: inout.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(prerex_CFLAGS) $(CFLAGS) -MT prerex-inout.o -MD -MP -MF $(DEPDIR)/prerex-inout.Tpo -c -o prerex-inout.o `test -f 'inout.c' || echo '$(srcdir)/'`inout.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/prerex-inout.Tpo $(DEPDIR)/prerex-inout.Po -@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='inout.c' object='prerex-inout.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(prerex_CFLAGS) $(CFLAGS) -c -o prerex-inout.o `test -f 'inout.c' || echo '$(srcdir)/'`inout.c - -prerex-inout.obj: inout.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(prerex_CFLAGS) $(CFLAGS) -MT prerex-inout.obj -MD -MP -MF $(DEPDIR)/prerex-inout.Tpo -c -o prerex-inout.obj `if test -f 'inout.c'; then $(CYGPATH_W) 'inout.c'; else $(CYGPATH_W) '$(srcdir)/inout.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/prerex-inout.Tpo $(DEPDIR)/prerex-inout.Po -@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='inout.c' object='prerex-inout.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(prerex_CFLAGS) $(CFLAGS) -c -o prerex-inout.obj `if test -f 'inout.c'; then $(CYGPATH_W) 'inout.c'; else $(CYGPATH_W) '$(srcdir)/inout.c'; fi` - -prerex-edit.o: edit.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(prerex_CFLAGS) $(CFLAGS) -MT prerex-edit.o -MD -MP -MF $(DEPDIR)/prerex-edit.Tpo -c -o prerex-edit.o `test -f 'edit.c' || echo '$(srcdir)/'`edit.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/prerex-edit.Tpo $(DEPDIR)/prerex-edit.Po -@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='edit.c' object='prerex-edit.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(prerex_CFLAGS) $(CFLAGS) -c -o prerex-edit.o `test -f 'edit.c' || echo '$(srcdir)/'`edit.c - -prerex-edit.obj: edit.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(prerex_CFLAGS) $(CFLAGS) -MT prerex-edit.obj -MD -MP -MF $(DEPDIR)/prerex-edit.Tpo -c -o prerex-edit.obj `if test -f 'edit.c'; then $(CYGPATH_W) 'edit.c'; else $(CYGPATH_W) '$(srcdir)/edit.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/prerex-edit.Tpo $(DEPDIR)/prerex-edit.Po -@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='edit.c' object='prerex-edit.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(prerex_CFLAGS) $(CFLAGS) -c -o prerex-edit.obj `if test -f 'edit.c'; then $(CYGPATH_W) 'edit.c'; else $(CYGPATH_W) '$(srcdir)/edit.c'; fi` - -prerex-utils.o: utils.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(prerex_CFLAGS) $(CFLAGS) -MT prerex-utils.o -MD -MP -MF $(DEPDIR)/prerex-utils.Tpo -c -o prerex-utils.o `test -f 'utils.c' || echo '$(srcdir)/'`utils.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/prerex-utils.Tpo $(DEPDIR)/prerex-utils.Po -@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='utils.c' object='prerex-utils.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(prerex_CFLAGS) $(CFLAGS) -c -o prerex-utils.o `test -f 'utils.c' || echo '$(srcdir)/'`utils.c - -prerex-utils.obj: utils.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(prerex_CFLAGS) $(CFLAGS) -MT prerex-utils.obj -MD -MP -MF $(DEPDIR)/prerex-utils.Tpo -c -o prerex-utils.obj `if test -f 'utils.c'; then $(CYGPATH_W) 'utils.c'; else $(CYGPATH_W) '$(srcdir)/utils.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/prerex-utils.Tpo $(DEPDIR)/prerex-utils.Po -@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='utils.c' object='prerex-utils.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(prerex_CFLAGS) $(CFLAGS) -c -o prerex-utils.obj `if test -f 'utils.c'; then $(CYGPATH_W) 'utils.c'; else $(CYGPATH_W) '$(srcdir)/utils.c'; fi` -install-man1: $(man_MANS) - @$(NORMAL_INSTALL) - test -z "$(man1dir)" || $(MKDIR_P) "$(DESTDIR)$(man1dir)" - @list=''; test -n "$(man1dir)" || exit 0; \ - { for i in $$list; do echo "$$i"; done; \ - l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ - sed -n '/\.1[a-z]*$$/p'; \ - } | while read p; do \ - if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; echo "$$p"; \ - done | \ - sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ - sed 'N;N;s,\n, ,g' | { \ - list=; while read file base inst; do \ - if test "$$base" = "$$inst"; then list="$$list $$file"; else \ - echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \ - $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \ - fi; \ - done; \ - for i in $$list; do echo "$$i"; done | $(am__base_list) | \ - while read files; do \ - test -z "$$files" || { \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \ - done; } - -uninstall-man1: - @$(NORMAL_UNINSTALL) - @list=''; test -n "$(man1dir)" || exit 0; \ - files=`{ for i in $$list; do echo "$$i"; done; \ - l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ - sed -n '/\.1[a-z]*$$/p'; \ - } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ - test -z "$$files" || { \ - echo " ( cd '$(DESTDIR)$(man1dir)' && rm -f" $$files ")"; \ - cd "$(DESTDIR)$(man1dir)" && rm -f $$files; } -install-man5: $(man_MANS) - @$(NORMAL_INSTALL) - test -z "$(man5dir)" || $(MKDIR_P) "$(DESTDIR)$(man5dir)" - @list=''; test -n "$(man5dir)" || exit 0; \ - { for i in $$list; do echo "$$i"; done; \ - l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ - sed -n '/\.5[a-z]*$$/p'; \ - } | while read p; do \ - if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; echo "$$p"; \ - done | \ - sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^5][0-9a-z]*$$,5,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ - sed 'N;N;s,\n, ,g' | { \ - list=; while read file base inst; do \ - if test "$$base" = "$$inst"; then list="$$list $$file"; else \ - echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man5dir)/$$inst'"; \ - $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man5dir)/$$inst" || exit $$?; \ - fi; \ - done; \ - for i in $$list; do echo "$$i"; done | $(am__base_list) | \ - while read files; do \ - test -z "$$files" || { \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man5dir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(man5dir)" || exit $$?; }; \ - done; } - -uninstall-man5: - @$(NORMAL_UNINSTALL) - @list=''; test -n "$(man5dir)" || exit 0; \ - files=`{ for i in $$list; do echo "$$i"; done; \ - l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ - sed -n '/\.5[a-z]*$$/p'; \ - } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^5][0-9a-z]*$$,5,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ - test -z "$$files" || { \ - echo " ( cd '$(DESTDIR)$(man5dir)' && rm -f" $$files ")"; \ - cd "$(DESTDIR)$(man5dir)" && rm -f $$files; } - -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - mkid -fID $$unique -tags: TAGS - -TAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - set x; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: CTAGS -CTAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in files) print i; }; }'`; \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - @list='$(MANS)'; if test -n "$$list"; then \ - list=`for p in $$list; do \ - if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ - if test -f "$$d$$p"; then echo "$$d$$p"; else :; fi; done`; \ - if test -n "$$list" && \ - grep 'ab help2man is required to generate this page' $$list >/dev/null; then \ - echo "error: found man pages containing the \`missing help2man' replacement text:" >&2; \ - grep -l 'ab help2man is required to generate this page' $$list | sed 's/^/ /' >&2; \ - echo " to fix them, install help2man, remove and regenerate the man pages;" >&2; \ - echo " typically \`make maintainer-clean' will remove them" >&2; \ - exit 1; \ - else :; fi; \ - else :; fi - $(am__remove_distdir) - test -d "$(distdir)" || mkdir "$(distdir)" - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done - -test -n "$(am__skip_mode_fix)" \ - || find "$(distdir)" -type d ! -perm -755 \ - -exec chmod u+rwx,go+rx {} \; -o \ - ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ - ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ - ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ - || chmod -R a+r "$(distdir)" -dist-gzip: distdir - tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz - $(am__remove_distdir) - -dist-bzip2: distdir - tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2 - $(am__remove_distdir) - -dist-lzma: distdir - tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma - $(am__remove_distdir) - -dist-xz: distdir - tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz - $(am__remove_distdir) - -dist-tarZ: distdir - tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z - $(am__remove_distdir) - -dist-shar: distdir - shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz - $(am__remove_distdir) - -dist-zip: distdir - -rm -f $(distdir).zip - zip -rq $(distdir).zip $(distdir) - $(am__remove_distdir) - -dist dist-all: distdir - tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz - $(am__remove_distdir) - -# This target untars the dist file and tries a VPATH configuration. Then -# it guarantees that the distribution is self-contained by making another -# tarfile. -distcheck: dist - case '$(DIST_ARCHIVES)' in \ - *.tar.gz*) \ - GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\ - *.tar.bz2*) \ - bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ - *.tar.lzma*) \ - lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\ - *.tar.xz*) \ - xz -dc $(distdir).tar.xz | $(am__untar) ;;\ - *.tar.Z*) \ - uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ - *.shar.gz*) \ - GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\ - *.zip*) \ - unzip $(distdir).zip ;;\ - esac - chmod -R a-w $(distdir); chmod u+w $(distdir) - mkdir $(distdir)/_build - mkdir $(distdir)/_inst - chmod a-w $(distdir) - test -d $(distdir)/_build || exit 0; \ - dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ - && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ - && am__cwd=`pwd` \ - && $(am__cd) $(distdir)/_build \ - && ../configure --srcdir=.. --prefix="$$dc_install_base" \ - $(DISTCHECK_CONFIGURE_FLAGS) \ - && $(MAKE) $(AM_MAKEFLAGS) \ - && $(MAKE) $(AM_MAKEFLAGS) dvi \ - && $(MAKE) $(AM_MAKEFLAGS) check \ - && $(MAKE) $(AM_MAKEFLAGS) install \ - && $(MAKE) $(AM_MAKEFLAGS) installcheck \ - && $(MAKE) $(AM_MAKEFLAGS) uninstall \ - && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ - distuninstallcheck \ - && chmod -R a-w "$$dc_install_base" \ - && ({ \ - (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ - distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ - } || { rm -rf "$$dc_destdir"; exit 1; }) \ - && rm -rf "$$dc_destdir" \ - && $(MAKE) $(AM_MAKEFLAGS) dist \ - && rm -rf $(DIST_ARCHIVES) \ - && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \ - && cd "$$am__cwd" \ - || exit 1 - $(am__remove_distdir) - @(echo "$(distdir) archives ready for distribution: "; \ - list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ - sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' -distuninstallcheck: - @$(am__cd) '$(distuninstallcheck_dir)' \ - && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ - || { echo "ERROR: files left after uninstall:" ; \ - if test -n "$(DESTDIR)"; then \ - echo " (check DESTDIR support)"; \ - fi ; \ - $(distuninstallcheck_listfiles) ; \ - exit 1; } >&2 -distcleancheck: distclean - @if test '$(srcdir)' = . ; then \ - echo "ERROR: distcleancheck can only run from a VPATH build" ; \ - exit 1 ; \ - fi - @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ - || { echo "ERROR: files left in build directory after distclean:" ; \ - $(distcleancheck_listfiles) ; \ - exit 1; } >&2 -check-am: all-am -check: check-am -all-am: Makefile $(PROGRAMS) $(MANS) config.h -installdirs: - for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man5dir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-binPROGRAMS clean-generic mostlyclean-am - -distclean: distclean-am - -rm -f $(am__CONFIG_DISTCLEAN_FILES) - -rm -rf ./$(DEPDIR) - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-hdr distclean-tags - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: install-man - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: install-binPROGRAMS - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: install-man1 install-man5 - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f $(am__CONFIG_DISTCLEAN_FILES) - -rm -rf $(top_srcdir)/autom4te.cache - -rm -rf ./$(DEPDIR) - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-binPROGRAMS uninstall-man - -uninstall-man: uninstall-man1 uninstall-man5 - -.MAKE: all install-am install-strip - -.PHONY: CTAGS GTAGS all all-am am--refresh check check-am clean \ - clean-binPROGRAMS clean-generic ctags dist dist-all dist-bzip2 \ - dist-gzip dist-lzma dist-shar dist-tarZ dist-xz dist-zip \ - distcheck distclean distclean-compile distclean-generic \ - distclean-hdr distclean-tags distcleancheck distdir \ - distuninstallcheck dvi dvi-am html html-am info info-am \ - install install-am install-binPROGRAMS install-data \ - install-data-am install-dvi install-dvi-am install-exec \ - install-exec-am install-html install-html-am install-info \ - install-info-am install-man install-man1 install-man5 \ - install-pdf install-pdf-am install-ps install-ps-am \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-compile mostlyclean-generic pdf pdf-am ps ps-am \ - tags uninstall uninstall-am uninstall-binPROGRAMS \ - uninstall-man uninstall-man1 uninstall-man5 - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff -Nru prerex-6.5.3/prerex-6.5.2/missing prerex-6.5.4/prerex-6.5.2/missing --- prerex-6.5.3/prerex-6.5.2/missing 2010-06-25 16:17:56.000000000 +0000 +++ prerex-6.5.4/prerex-6.5.2/missing 1970-01-01 00:00:00.000000000 +0000 @@ -1,360 +0,0 @@ -#! /bin/sh -# Common stub for a few missing GNU programs while installing. - -scriptversion=2005-06-08.21 - -# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005 -# Free Software Foundation, Inc. -# Originally by Fran,cois Pinard , 1996. - -# 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, 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., 51 Franklin Street, Fifth Floor, Boston, MA -# 02110-1301, USA. - -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -if test $# -eq 0; then - echo 1>&2 "Try \`$0 --help' for more information" - exit 1 -fi - -run=: - -# In the cases where this matters, `missing' is being run in the -# srcdir already. -if test -f configure.ac; then - configure_ac=configure.ac -else - configure_ac=configure.in -fi - -msg="missing on your system" - -case "$1" in ---run) - # Try to run requested program, and just exit if it succeeds. - run= - shift - "$@" && exit 0 - # Exit code 63 means version mismatch. This often happens - # when the user try to use an ancient version of a tool on - # a file that requires a minimum version. In this case we - # we should proceed has if the program had been absent, or - # if --run hadn't been passed. - if test $? = 63; then - run=: - msg="probably too old" - fi - ;; - - -h|--h|--he|--hel|--help) - echo "\ -$0 [OPTION]... PROGRAM [ARGUMENT]... - -Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an -error status if there is no known handling for PROGRAM. - -Options: - -h, --help display this help and exit - -v, --version output version information and exit - --run try to run the given command, and emulate it if it fails - -Supported PROGRAM values: - aclocal touch file \`aclocal.m4' - autoconf touch file \`configure' - autoheader touch file \`config.h.in' - automake touch all \`Makefile.in' files - bison create \`y.tab.[ch]', if possible, from existing .[ch] - flex create \`lex.yy.c', if possible, from existing .c - help2man touch the output file - lex create \`lex.yy.c', if possible, from existing .c - makeinfo touch the output file - tar try tar, gnutar, gtar, then tar without non-portable flags - yacc create \`y.tab.[ch]', if possible, from existing .[ch] - -Send bug reports to ." - exit $? - ;; - - -v|--v|--ve|--ver|--vers|--versi|--versio|--version) - echo "missing $scriptversion (GNU Automake)" - exit $? - ;; - - -*) - echo 1>&2 "$0: Unknown \`$1' option" - echo 1>&2 "Try \`$0 --help' for more information" - exit 1 - ;; - -esac - -# Now exit if we have it, but it failed. Also exit now if we -# don't have it and --version was passed (most likely to detect -# the program). -case "$1" in - lex|yacc) - # Not GNU programs, they don't have --version. - ;; - - tar) - if test -n "$run"; then - echo 1>&2 "ERROR: \`tar' requires --run" - exit 1 - elif test "x$2" = "x--version" || test "x$2" = "x--help"; then - exit 1 - fi - ;; - - *) - if test -z "$run" && ($1 --version) > /dev/null 2>&1; then - # We have it, but it failed. - exit 1 - elif test "x$2" = "x--version" || test "x$2" = "x--help"; then - # Could not run --version or --help. This is probably someone - # running `$TOOL --version' or `$TOOL --help' to check whether - # $TOOL exists and not knowing $TOOL uses missing. - exit 1 - fi - ;; -esac - -# If it does not exist, or fails to run (possibly an outdated version), -# try to emulate it. -case "$1" in - aclocal*) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified \`acinclude.m4' or \`${configure_ac}'. You might want - to install the \`Automake' and \`Perl' packages. Grab them from - any GNU archive site." - touch aclocal.m4 - ;; - - autoconf) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified \`${configure_ac}'. You might want to install the - \`Autoconf' and \`GNU m4' packages. Grab them from any GNU - archive site." - touch configure - ;; - - autoheader) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified \`acconfig.h' or \`${configure_ac}'. You might want - to install the \`Autoconf' and \`GNU m4' packages. Grab them - from any GNU archive site." - files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}` - test -z "$files" && files="config.h" - touch_files= - for f in $files; do - case "$f" in - *:*) touch_files="$touch_files "`echo "$f" | - sed -e 's/^[^:]*://' -e 's/:.*//'`;; - *) touch_files="$touch_files $f.in";; - esac - done - touch $touch_files - ;; - - automake*) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'. - You might want to install the \`Automake' and \`Perl' packages. - Grab them from any GNU archive site." - find . -type f -name Makefile.am -print | - sed 's/\.am$/.in/' | - while read f; do touch "$f"; done - ;; - - autom4te) - echo 1>&2 "\ -WARNING: \`$1' is needed, but is $msg. - You might have modified some files without having the - proper tools for further handling them. - You can get \`$1' as part of \`Autoconf' from any GNU - archive site." - - file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'` - test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'` - if test -f "$file"; then - touch $file - else - test -z "$file" || exec >$file - echo "#! /bin/sh" - echo "# Created by GNU Automake missing as a replacement of" - echo "# $ $@" - echo "exit 0" - chmod +x $file - exit 1 - fi - ;; - - bison|yacc) - echo 1>&2 "\ -WARNING: \`$1' $msg. You should only need it if - you modified a \`.y' file. You may need the \`Bison' package - in order for those modifications to take effect. You can get - \`Bison' from any GNU archive site." - rm -f y.tab.c y.tab.h - if [ $# -ne 1 ]; then - eval LASTARG="\${$#}" - case "$LASTARG" in - *.y) - SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` - if [ -f "$SRCFILE" ]; then - cp "$SRCFILE" y.tab.c - fi - SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` - if [ -f "$SRCFILE" ]; then - cp "$SRCFILE" y.tab.h - fi - ;; - esac - fi - if [ ! -f y.tab.h ]; then - echo >y.tab.h - fi - if [ ! -f y.tab.c ]; then - echo 'main() { return 0; }' >y.tab.c - fi - ;; - - lex|flex) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified a \`.l' file. You may need the \`Flex' package - in order for those modifications to take effect. You can get - \`Flex' from any GNU archive site." - rm -f lex.yy.c - if [ $# -ne 1 ]; then - eval LASTARG="\${$#}" - case "$LASTARG" in - *.l) - SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` - if [ -f "$SRCFILE" ]; then - cp "$SRCFILE" lex.yy.c - fi - ;; - esac - fi - if [ ! -f lex.yy.c ]; then - echo 'main() { return 0; }' >lex.yy.c - fi - ;; - - help2man) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified a dependency of a manual page. You may need the - \`Help2man' package in order for those modifications to take - effect. You can get \`Help2man' from any GNU archive site." - - file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` - if test -z "$file"; then - file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'` - fi - if [ -f "$file" ]; then - touch $file - else - test -z "$file" || exec >$file - echo ".ab help2man is required to generate this page" - exit 1 - fi - ;; - - makeinfo) - echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified a \`.texi' or \`.texinfo' file, or any other file - indirectly affecting the aspect of the manual. The spurious - call might also be the consequence of using a buggy \`make' (AIX, - DU, IRIX). You might want to install the \`Texinfo' package or - the \`GNU make' package. Grab either from any GNU archive site." - # The file to touch is that specified with -o ... - file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` - if test -z "$file"; then - # ... or it is the one specified with @setfilename ... - infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` - file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $infile` - # ... or it is derived from the source name (dir/f.texi becomes f.info) - test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info - fi - # If the file does not exist, the user really needs makeinfo; - # let's fail without touching anything. - test -f $file || exit 1 - touch $file - ;; - - tar) - shift - - # We have already tried tar in the generic part. - # Look for gnutar/gtar before invocation to avoid ugly error - # messages. - if (gnutar --version > /dev/null 2>&1); then - gnutar "$@" && exit 0 - fi - if (gtar --version > /dev/null 2>&1); then - gtar "$@" && exit 0 - fi - firstarg="$1" - if shift; then - case "$firstarg" in - *o*) - firstarg=`echo "$firstarg" | sed s/o//` - tar "$firstarg" "$@" && exit 0 - ;; - esac - case "$firstarg" in - *h*) - firstarg=`echo "$firstarg" | sed s/h//` - tar "$firstarg" "$@" && exit 0 - ;; - esac - fi - - echo 1>&2 "\ -WARNING: I can't seem to be able to run \`tar' with the given arguments. - You may want to install GNU tar or Free paxutils, or check the - command line arguments." - exit 1 - ;; - - *) - echo 1>&2 "\ -WARNING: \`$1' is needed, and is $msg. - You might have modified some files without having the - proper tools for further handling them. Check the \`README' file, - it often tells you about the needed prerequisites for installing - this package. You may also peek at any GNU archive site, in case - some other package would contain this missing \`$1' program." - exit 1 - ;; -esac - -exit 0 - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-end: "$" -# End: diff -Nru prerex-6.5.3/prerex-6.5.2/NEWS prerex-6.5.4/prerex-6.5.2/NEWS --- prerex-6.5.3/prerex-6.5.2/NEWS 2012-05-24 12:22:24.000000000 +0000 +++ prerex-6.5.4/prerex-6.5.2/NEWS 1970-01-01 00:00:00.000000000 +0000 @@ -1,9 +0,0 @@ -Version 6.5.1, 2012-05-24 - - Use editline if available; readline otherwise. - (editline emulation of readline is broken) - -Version 6.5.0, 2012-05-13 - - Revert to readline (available in gnuwin32 repository). - Remove references to chmod and /dev/null. diff -Nru prerex-6.5.3/prerex-6.5.2/prerex.1 prerex-6.5.4/prerex-6.5.2/prerex.1 --- prerex-6.5.3/prerex-6.5.2/prerex.1 2012-08-23 02:34:14.000000000 +0000 +++ prerex-6.5.4/prerex-6.5.2/prerex.1 1970-01-01 00:00:00.000000000 +0000 @@ -1,459 +0,0 @@ -.TH PREREX 1 2012-04-24 "prerex-6.5.1" "" -.SH NAME -prerex \- interactive editor of prerequisite-chart descriptions -.SH SYNOPSIS -.BR prerex -[ -.IR options -] [ -.IR basefile [ .tex ] -[ -.IR chartfile [ .tex ] -] -] -.SH DESCRIPTION -.B prerex -is an interactive program -for editing prerequisite-chart descriptions in the -.BR prerex (5) -format. -The user does not normally have to -be familiar with details of the format. -The editor supports add, remove, cut-and-paste, and edit operations -on diagram elements, and vertical or horizontal shifts of a list of specified elements, all the -elements in a rectangular region, or the entire diagram. The edited diagram -may be saved, re-processed, and viewed in a PDF -viewer, without exiting the editor. Alternatively, -.BR vprerex (1) -will open a -.BR prerex (1) -window and display the corresponding PDF file alongside. -.SH TERMINOLOGY -A prerequisite chart consists of several -.I course boxes, -linked by -.I arrows. -Courses are either -.I half -or -.I full, -and may be -.I required -or -.I optional -(or neither). -Each course box contains a course -.I code -(upper left corner), -a course -.I title -(lower half), -and -.I timetable -information -(upper right corner). -An arrow is either a -.I prerequisite -(solid), -a -.I corequisite -(dotted), -or -.I recommended -(dashed). -When a conventional arrow would be inappropriate, -a -.I mini -course just above a target box may be used. -A line of text may have been placed anywhere in the chart. -.PP -In some implementations of the -.BR prerex (5) -format, -(some) arrows may be curved and by default have non-zero curvature. -The curvature of individual arrows may be edited -using the -.BR prerex (1) -editor. -To modify the default curvature -(or set it to zero), -see -.BR prerex.sty (7). -.SH COORDINATE SYSTEM -A conventional two-dimensional -coordinate system is used to specify the locations of -diagram elements; -the -origin (where -.I x = 0 -and -.IR "y = 0" ) -is at the lower-left corner of the diagram. -For convenience, a coordinate grid is normally displayed in the background while a diagram is -being edited. -.PP -The coordinates of a -.I box, -.I mini, -or -.I text-line -are those of its centre point. -An -.I arrow -is described by the -coordinates of the centre points of its source and target boxes/minis/text-lines. - -The notation -.IB "x0,y0" : "x1,y1" -denotes all the nodes (course boxes, minis, texts) in the rectangle whose northwest and southeast corners are at -coordinates -.IR "x0,y0 " and " x1,y1." -.SH USAGE -If -.B prerex -is invoked on one existing file, a back-up copy is made of it, the -.I x,y -coordinate grid is turned on, the file is processed by using -a system call to -.BR pdflatex (1), -and -then the user gets -a command summary and an interactive prompt -of the form -.IP -.I file.tex> -.LP -If no file argument is given on the command line, the user is prompted to supply a -file name. -In either case, -if the file name provided does not have a -.I .tex -extension, -.I .tex -is appended to it. -.PP -If the -.I file.tex -file named does -.I not -already exist, -a new "empty" chart file with that name is -created, and then it is processed as above. -.PP -If a -.I second -filename is provided, the first filename is treated as the base file of a -LaTeX document and the second as an included file that contains the -.I chart -environment to be edited. This allows more than -one document to share an included chart file and allows more than one -chart to be included in a single document. -.PP -The user may enter commands at the interactive command prompt as follows: -.TP 18 -.BI box " x,y" -edit a course box at -.I x,y, -if necessary, creating a new course box there -.TP -.BI mini " x,y" -edit a mini at -.I x,y, -if necessary, creating a new mini there -.TP -.BI text " x,y" -edit a text-line at -.I x,y, -if necessary, creating a new text-line there -.TP -.BI arrow " x0,y0,x1,y1" -edit an arrow from -.I x0,y0 -to -.I x1,y1, -if necessary, creating a new such arrow -.TP -.BI cut " xi,yi ... " -(temporarily) remove the box, mini, or text at -.I xi,yi -(including arrows into/out of the box/mini/text) -.TP -.BI "paste [" x,y "]" -re-insert most recently cut but not yet pasted box, mini, or text at -.I x,y -(including arrows into/out of the box/mini/text), or at the original coordinates if -.I " x,y" -omitted -.TP -.BI xchange " x0,y0 x1,y1" -exchange the box, mini or text at -.I x0,y0 -with that at -.I x1,y1. -This is implemented as a sequence of two cuts followed by two pastes to the same points. -.TP -.BI "delete [ " x,y " | " x0,y0,x1,y1 " | " x0,y0 : x1,y1 " ] " ... -remove the specified boxes, minis, texts, or arrows -(including automatically all arrows into/out of each box/mini/text) -.TP -.B undo -undo the most recent editing command (not already undone) -.TP -.BI "shift [\-]" s " [ " x,y " | " x0,y0 : x1,y1 " ] " ... -move specified diagram elements -.I x -units right [left]; if no elements are specified, the whole diagram is shifted -.TP -.BI "raise [\-]" r " [ " x,y " | " x0,y0 : x1,y1 " ] " ... -move specified diagram elements -.I y -units up [down]; if no elements are specified, the whole diagram is raised -.TP -.B "write, !" -save to the current -.I chartfile.tex -and process the chart by calling -.BR pdflatex (1) -on the base file. -.TP -.B "quit, exit, x, ^D" -turn off the coordinate grid, restore write-access, save to the current -.I chartfile.tex, -process the base file and exit. -.TP -.BI ! cmd -restore write access to -.I chartfile.tex, -execute shell command -.I cmd, -re-load and re-process -the base file -(in case the command changed anything), -and remove write-access. -.TP -.B "Backup" -copy the current -.I chartfile.tex -to the back-up file -.IR .chartfile.tex; -equivalent to -.BI !cp " chartfile.tex .chartfile.tex" -.TP -.B "Restore" -delete the current -.I chartfile.tex -and editing buffer, and replace them using the current back-up -in -.I .chartfile.tex. -.TP -.BR grid " [y/n]" -turn on/off coordinate-grid background -.TP -.BR "help, ?" -print a command summary -.LP -After most editing commands, the editing buffer is automatically -saved to -.I chartfile.tex -and the basefile is processed; the -.B cut -and -.B paste -commands are exceptions: saving and processing -take place only when all outstanding cuts have been pasted. -Saving -and processing -can be -.I forced -by using the -.B write -(or -.BR ! ) -command, -or -.I suppressed -for -all commands (except -.BR write -and -.BR ! ) -by appending a ";" to the command immediately prior to entering it. -To exit the editor -.I without -saving to the current -.IR chartfile.tex , -use -.B quit; -(.i.e., -.B quit -followed by a semi-colon) or a similar combination. -Starting in Version 3.8, -.B ^C -and other interrupts -result in the editing buffer being saved to -.I chartfile.tex -before the editor is exited. -.SH OPTIONS -.TP 8 -.BR -v -output program name and version number, and quit -.TP -.BR -h -output usage summary and quit -.SH NOTES -The main difference between -.B mini -and -.B text -is in the maximum lengths for the text displayed; the latter allows a full line of text, not -merely a course code. Also a text-line does not have an associated URI (when -the grid is off). The text "line" may actually -be displayed as a paragraph by using a LaTeX \\parbox. -.PP -To save the current state of -.I chartfile.tex, -use -.B Backup -or a comparable shell command. -A history list -of interpreted commands -is maintained and is accessible using the up-arrow key. -.PP -If -processing of the chart fails, -.B prerex -will attempt to display the LaTeX error message from the log file. -The chart file -can be fixed using a conventional text editor or LaTeX-oriented editor. -LaTeX processing should fail only if there is an initial problem -or if ill-formed LaTeX markup has been inserted into a text field. -.PP -Any (non-empty) prefix of a command suffices; for example, -.BR q , -.BR qu , -or -.B qui -may -be used instead of -.BR quit . -Some of the commands will begin a dialogue with the user in -order to fill in or modify -properties; the prompts should be self-explanatory. -.PP -Since version 5.5, -.B prerex -no longer automatically calls a PDF viewer (because it may be embedded in an -instance of -.BR vprerex (1) -which already provides a PDF display). If -.B prerex -is being used by itself, a PDF viewer may be invoked using the -.BI ! cmd -shell-escape -mechanism. -Also, -.B prerex -no longer interacts with the user until a PDF file is available; this is for use -with -.BR vprerex (1). -For example, if the .tex file is initially read-only, -.B prerex -aborts. -.SH FILES -A LaTeX style file -.BR prerex.sty (7) -that implements -the macro calls defined by the -.BR prerex (5) -format must be available to -.BR [pdf]latex (1) -to -process the chart file. -Before any editing is allowed, -.I chartfile.tex -is copied to -.I .chartfile.tex -as a backup. -.SH ENVIRONMENT -.PP -The most convenient viewing program to use with -.B prerex -is one like -.BR gv (1), -.BR gsview (1), -.BR kghostview(1), -.BR kpdf (1) -or -.BR okular (1) -that may be configured to "watch" the pdf file and re-load the display automatically when the file changes. -.BR evince (1) -has a Reload button and -.BR xpdf (1) -supports re-loading using the keystroke "R", but -re-loading is much less convenient with -.BR acroread (1) -and -.BR gpdf (1), -which -may have to be re-started. -.PP -Recent versions of some PDF viewers show the URIs of hyperlinks in a tooltip or in the status bar; -this mechanism is -used by some implementations of -.BR prerex.sty (7) -to allow display of the coordinates of a box, mini, text-line, or arrow when the mouse hovers over it -(while the coordinate grid is on and the relevant chart file is presumably being edited). -.PP -The -.B prerex -package at -.B http://www.ctan.org/tex-archive/graphics/prerex/ -has source code for -.BR vprerex (1), -a GUI front-end for -.B prerex -which is prerex-enabled. -.SH BUGS -.B prerex -analyzes chart files without using TeX; thus, -macro calls are -.I not -expanded, and -anything in the chart file before or after the (first) -.B "\ebegin{chart} ... \eend{chart}" -environment -is ignored (but preserved) by the editor. -Lines that begin with "%" within the chart environment are -preserved but other comments within the chart environment are -.I not -preserved and may interfere with command parsing. -.PP -From version 5.6, -.B prerex -no longer supports the latex -> dvips -> ps2pdf toolchain as an option. -.SH AUTHOR -R. D. Tennent (rdt@cs.queensu.ca) -.SH DEPENDENCIES -.B prerex -uses the -.BR editline (3) -library if available and the GNU -.BR readline (3) -and -.BR history (3) -libraries otherwise. -.SH SEE ALSO -.BR acroread (1), -.BR evince (1), -.BR gpdf (1), -.BR gsview (1), -.BR gv (1), -.BR kghostview (1), -.BR kpdf (1), -.BR okular (1), -.BR pdflatex (1), -.BR prerex (5), -.BR prerex.sty (7), -.BR previewer (1), -.BR vprerex (1), -.BR xpdf (1). diff -Nru prerex-6.5.3/prerex-6.5.2/prerex.5 prerex-6.5.4/prerex-6.5.2/prerex.5 --- prerex-6.5.3/prerex-6.5.2/prerex.5 2012-03-21 18:13:53.000000000 +0000 +++ prerex-6.5.4/prerex-6.5.2/prerex.5 1970-01-01 00:00:00.000000000 +0000 @@ -1,201 +0,0 @@ -.TH PREREX 5 2012-03-21 "prerex_format" "" -.SH NAME -prerex_format -- a format for prerequisite-chart descriptions -.SH DESCRIPTION -This manual describes the format of -prerequisite-chart descriptions that can be processed by -.B [pdf]latex -(normally using -a suitable -.BR prerex.sty (7) -style file) and edited using the -.BR prerex (1) -interactive editor (or by any conventional text editor). -.SH TERMINOLOGY -A prerequisite chart consists of a number of -.I course boxes, -linked by -.I arrows. -Courses are either -.I half -or -.I full, -and may be -.I required -or -.I optional -(or neither). -Each course box can contain a course -.I code -(upper left corner), -a course -.I title -(lower half), -and -.I timetable -information -(upper right corner). -An arrow can be either a -.I prerequisite -(solid), -a -.I corequisite -(dotted), -or -.I recommended -(dashed). -When a conventional arrow would be inappropriate, -a -.I mini -course just above a target box can be used. -.SH STRUCTURE -The file should contain exactly one instance of a LaTeX environment -.P -.BI \ebegin{chart} " instruction ... " \eend{chart} -.P -with at most one -.I instruction -per line. -Note that a program such as -.BR prerex (1) -analyzes prerex-format files -.I without -using TeX; for example, -macro definitions will be ignored and -macro calls will -not be -expanded. -.PP -Instructions may be preceded by white space. -Lines that start with % are treated as comments and ignored. -The order of instructions is not significant except -that the instruction for the source and target box o an arrow should -.I precede -the instruction for the arrow. -The instruction formats are described in the following -sections. -.SH COURSE BOXES -The instructions producing course boxes have the following forms: -.HP -.BI \ehalfcourse " x,y" :{ code }{ title }{ timetable } -.HP -.BI \efullcourse " x,y" :{ code }{ title }{ timetable } -.HP -.BI \ereqhalfcourse " x,y" :{ code }{ title }{ timetable } -.HP -.BI \ereqfullcourse " x,y" :{ code }{ title }{ timetable } -.HP -.BI \eopthalfcourse " x,y" :{ code }{ title }{ timetable } -.HP -.BI \eoptfullcourse " x,y" :{ code }{ title }{ timetable } -.LP -where -.I x,y -are the coordinates of the -.I centerpoint -of the box, relative to the origin -of the coordinate system at the lower-left corner of the diagram. -The -.I code, -.I title, -and -.I timetable -arguments are arbitrary (well-bracketed) text, possibly with LaTeX markup. - -The following are similar but take an additional argument to specify the (non-default) -background color of the course box: -.IP -.BI \ehalfcoursec " x,y" :{ code }{ title }{ timetable }{ color } -.IP -.BI \efullcoursec " x,y" :{ code }{ title }{ timetable }{ color } -.IP -.BI \ereqhalfcoursec " x,y" :{ code }{ title }{ timetable }{ color } -.IP -.BI \ereqfullcoursec " x,y" :{ code }{ title }{ timetable }{ color } -.IP -.BI \eopthalfcoursec " x,y" :{ code }{ title }{ timetable }{ color } -.IP -.BI \eoptfullcoursec " x,y" :{ code }{ title }{ timetable }{ color } -.LP - -.SH MINI COURSE BOXES AND TEXT -A mini course is produced by an instruction of the form -.HP -.BI \emini " x,y" :{ code } -.HP -A text line is inserted into the chart by an instruction of the form -.HP -.BI \etext " x,y" :{ line-of-text } -.HP -The maximum allowed length of a course-code may be smaller that the -maximum allowed for a line of text. -.SH ARROWS -Arrows between course boxes (or from a mini to a course box) are produced -by instructions of the form -.HP -.BI \eprereq " x0,y0,x1,y1" : -.HP -.BI \ecoreq " x0,y0,x1,y1" : -.HP -.BI \erecomm " x0,y0,x1,y1" : -.LP -These produce, respectively, solid, dotted, and dashed arrows from -the course box (or mini) centered at coordinates -.I x0,y0 -to the course box centered at coordinates -.I x1,y1. -.PP -In some implementations, -certain arrows by default have a -non-zero curvature. It is possible to override the default curvature -for a particular arrow by using -the instructions -.HP -.BI \eprereqc " x0,y0,x1,y1;c" : -.HP -.BI \ecoreqc " x0,y0,x1,y1;c" : -.HP -.BI \erecommc " x0,y0,x1,y1;c" : -.LP -where -.I c -is an integer in the range 0-100 specifying the desired curvature; for example, -.IR c= 0 -will produce a -.I straight -arrow. To change the default curvature, the user program may redefine the -.B \eDefaultCurvature -command. -.SH COORDINATE GRID -The following instruction produces a coordinate grid, which is -useful for editing a diagram: -.HP -.B \egrid -.LP -This is normally placed before all the other instructions so that -grid lines are in the background, covered by course boxes, minis, and arrows. -.SH WEB LINKS -Course boxes may be linked to web addresses. -The URL for course boxes may be set by the user by redefining the -.B \eCourseURL -command; when called for a course box, it is supplied with three arguments, the -.I x -and -.I y -coordinates of the box, mini, or textline, and -the -.I code -argument -of the course box. For example, -.HP -.B \erenewcommand{\eCourseURL}[3]{http://www.cs.queensu.ca/undergraduate/courses/#3.html} -.LP -is appropriate for courses at the School of Computing, Queen's University. -The first two arguments can be used to display the coordinates of a box, mini, or -textline in some PDF viewers while the mouse hovers over it when the source -file is being edited. -.SH AUTHOR -R. D. Tennent (rdt@cs.queensu.ca) -.SH SEE ALSO -.BR prerex (1), -.BR prerex.sty (7). diff -Nru prerex-6.5.3/prerex-6.5.2/prerex.c prerex-6.5.4/prerex-6.5.2/prerex.c --- prerex-6.5.3/prerex-6.5.2/prerex.c 2013-10-13 01:14:08.000000000 +0000 +++ prerex-6.5.4/prerex-6.5.2/prerex.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,302 +0,0 @@ -/* - prerex.c -- interactive editor of prerequisite-chart descriptions - Copyright (C) 2005 - 2013 R. D. Tennent - School of Computing, Queen's University, rdt@cs.queensu.ca - -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., -51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -*/ - -/* - -The key functions in this program are as follows: - - analyze_tex_file(): reads a TeX file and builds an internal - representation of the boxes and arrows for the chart in linked lists - accessed through global pointer variables first_box and first_arrow, - respectively. Non-chart elements of the TeX file are preserved in - temporary files pretext, posttext, and comments. - - regenerate_tex_file(): re-constructs a TeX file from the temporary files - pretext, posttext and comments, and the linked lists of nodes and arrows; - merge_lists() implements the output-ordering strategy. - - process_tex_file(): uses system calls to process the TeX file using - pdflatex. - - analyze_user_command(): processes editing and other commands entered at - the interactive prompt. The libedit (editline) library is used to - generate prompts with default responses and allow editing of the - responses. - -The current stack of "cuts" is accessed through pointer variable -first_cut. A stack of "done" records to support subsequent undo commands -is accessed through pointer variable first_done. - -The bool variables grid and reprocess record whether a background -coordinate grid should be displayed, and whether the tex file should be -reprocessed after an editing operation. - - -*/ - -# include "prerex.h" - - -extern int optind; /* defined in unistd.h */ - -bool grid; /* true if coordinate grid should be shown in background */ -bool reprocess = true; /* false if regenerate_and_process should do nothing */ - -# ifdef HAVE_LIBEDIT -EditLine *el; -History *hist; -HistEvent ev; -# endif - -PRIVATE char *command_line; - -PRIVATE char basefilename[FILE_LEN]; -PRIVATE char *basefilename_n = basefilename; -char chartfilename[FILE_LEN]; -char *chartfilename_n = chartfilename; -char backup_filename[FILE_LEN + 1]; -char *backup_filename_n = backup_filename; - -FILE *tex_file, *backup_tex_file; - -PRIVATE void -usage (void) -{ - puts ("Usage: prerex [-v | --version | -h | --help] [basefile[.tex] [chartfile[.tex]]]"); -} - - - -PRIVATE void -sigproc (int i) /* signal handler */ -{ -# ifdef HAVE_LIBEDIT - history_end (hist); - el_end (el); -# endif - i++; /* to avoid spurious compiler warning */ - grid = false; - puts("Turning off coordinate grid."); - regenerate_tex_file(); - fclose(tex_file); - exit (0); -} - - -PRIVATE void -create_blank_tex_file (void) -{ - tex_file = fopen (chartfilename, "w+"); - if (tex_file == NULL) - { - error ("Opening new file fails."); - } - fprintf (tex_file, "%s\n", "\\documentclass{article}"); - fprintf (tex_file, "%s\n", "\\usepackage{geometry}"); - fprintf (tex_file, "%s\n", "\\geometry{noheadfoot, margin=0.5in}"); - fprintf (tex_file, "%s\n", "\\usepackage{prerex}"); - fprintf (tex_file, "%s\n", "\\begin{document}"); - fprintf (tex_file, "%s\n", "\\thispagestyle{empty}"); - fprintf (tex_file, "%s\n", "\\begin{chart}"); - fprintf (tex_file, "%s\n", "\\end{chart}"); - fprintf (tex_file, "%s\n", "\\end{document}"); - fflush (tex_file); - rewind (tex_file); -} - - -PRIVATE void -open_tex_file (void) /* initial opening */ -{ - tex_file = fopen (chartfilename, "r+"); - if (tex_file == NULL) - { - printf ("Creating new prerex chart file %s.\n", chartfilename); - create_blank_tex_file (); - } - printf ("Chart file %s opened.\n", chartfilename); -} - -PRIVATE void -reopen_tex_file (void) -{ - tex_file = fopen (chartfilename, "r+"); - if (tex_file == NULL) - error ("Can't re-open the chart file."); -} - -PRIVATE void -create_backup (void) -{ - backup_filename[0] = '\0'; - backup_filename_n = backup_filename; - append (backup_filename, &backup_filename_n, ".", sizeof (backup_filename)); - append (backup_filename, &backup_filename_n, chartfilename, sizeof (backup_filename)); - backup_tex_file = fopen (backup_filename, "w+"); - if (backup_tex_file == NULL) - { - puts ("Can't open backup file."); - return; - } - copy (tex_file, backup_tex_file); - fclose (backup_tex_file); -} - -PRIVATE bool -process_tex_file (void) -{ /* generates system calls to make file.pdf */ - /* returns true if processing fails */ - char *p; - char command[LINE_LEN] = {'\0'}; - char *command_n = command; - char filename_root[FILE_LEN + 3] = {'\0'}; - char *filename_root_n = filename_root; - append (filename_root, &filename_root_n, basefilename, sizeof (filename_root)); - p = strstr (filename_root, ".tex"); - *p = '\0'; - filename_root_n = p; - printf ("Processing %s.\n", basefilename); - append (command, &command_n, "pdflatex ", sizeof (command)); - append (command, &command_n, - "-halt-on-error -interaction batchmode ", sizeof (command)); - append (command, &command_n, filename_root, sizeof (command)); - if (fclose(tex_file) == EOF) error ("Chart file not closed."); - if (system (command)) - { - printf ("Processing %s fails.\n", basefilename); - return true; - } - reopen_tex_file (); - return false; /* success */ -} - - -void -regenerate_and_process (void) -{ - if (!reprocess) return; - regenerate_tex_file (); - process_tex_file (); /* ignore failure; allows user to recover by editing the tex file */ -} - -int -main (int argc, char *argv[]) -{ - int ch; - const char version[] = "6.5.2, 2013-10-11"; -# define NOPTS 3 - struct option longopts[NOPTS] = - { { "help", 0, NULL, 'h'}, - { "version", 0, NULL, 'v'}, - { NULL, 0, NULL, 0} - }; - - - printf ("This is prerex, version %s.\n", version); - ch = getopt_long (argc, argv, "hv", longopts, NULL); - while (ch != -1) - { - switch (ch) - { - case 'h': - usage (); - puts ( "Please report bugs to rdt@cs.queensu.ca." ); - exit (0); - case 'v': - exit (0); - case '?': - exit (EXIT_FAILURE); - default: - printf ("Function getopt returned character code 0%o.\n", - (unsigned int) ch); - exit (EXIT_FAILURE); - } - ch = getopt_long (argc, argv, "hv", longopts, NULL); - } - puts ( "Copyright (C) 2005 - 2012 R. D. Tennent" ); - puts ( "School of Computing, Queen's University, rdt@cs.queensu.ca" ); - puts ( "License GNU GPL version 2 or later ." ); - puts ( "There is NO WARRANTY, to the extent permitted by law." ); - puts ( "" ); -# ifdef HAVE_LIBEDIT - el = el_init (argv[0], stdin, stdout, stderr); - hist = history_init(); - history(hist, &ev, H_SETSIZE, 800); - el_set (el, EL_HIST, history, hist); - el_set (el, EL_PROMPT, &prompt_f); - el_set (el, EL_EDITOR, "emacs"); -# endif - - basefilename[0] = '\0'; - basefilename_n = basefilename; - if (optind >= argc) - { - puts (""); - do - { - deftext[0] = '\0'; - command_line = Readline ("Please enter a file name: "); - sscanf (command_line, "%127s", basefilename); - while (*basefilename_n) - basefilename_n++; - } - while (basefilename[0] == '\0'); - } - else - append (basefilename, &basefilename_n, argv[optind], sizeof (basefilename)); - if (!suffix (".tex", basefilename)) - append (basefilename, &basefilename_n, ".tex", sizeof (basefilename)); - optind++; - chartfilename[0] = '\0'; - chartfilename_n = chartfilename; - if (optind < argc) /* user-provided chartfilename */ - { - append (chartfilename, &chartfilename_n, argv[optind], sizeof (chartfilename)); - if (!suffix (".tex", chartfilename)) - append (chartfilename, &chartfilename_n, ".tex", sizeof (chartfilename)); - } - else /* use basefile as chartfile */ - append (chartfilename, &chartfilename_n, basefilename, sizeof (chartfilename)); - - open_tex_file (); - - if (process_tex_file ()) /* bail if initial processing fails */ - { - exit(EXIT_FAILURE); - } - - analyze_tex_file (); - - /* catch signals in order to regenerate tex file, restore write access, etc. */ - signal (SIGINT, &sigproc); - signal (SIGILL, &sigproc); - signal (SIGSEGV, &sigproc); - signal (SIGTERM, &sigproc); - - grid = true; - puts("Turning on coordinate grid."); - regenerate_and_process (); - - create_backup (); - - process_commands(); - - return 0; -} diff -Nru prerex-6.5.3/prerex-6.5.2/prerex.h prerex-6.5.4/prerex-6.5.2/prerex.h --- prerex-6.5.3/prerex-6.5.2/prerex.h 2013-10-13 01:13:26.000000000 +0000 +++ prerex-6.5.4/prerex-6.5.2/prerex.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,234 +0,0 @@ -/* - prerex.h -- header file for an interactive editor of prerequisite-chart - descriptions - Copyright (c) 2005-13 R. D. Tennent - School of Computing, Queen's University, rdt@cs.queensu.ca - -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., -51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -*/ - -# include "config.h" -# include -# include -# include -# include -# include -# include -# ifdef HAVE_LIBREADLINE -# include -# include -# else -# include -# include -# endif -# include -# include -# include -# include -# include -# include - -# define bool _Bool -# define true 1 -# define false 0 - -# define LINE_LEN 1023 -# define FILE_LEN 127 -# define COMMAND_LEN 63 -# define CODE_LEN 31 -# define TITLE_LEN 127 -# define TIMETABLE_LEN 31 -# define COLOR_LEN 31 -# define KILL_WAIT 4 /* number of seconds to wait before killing PDFVIEWER */ - -# define PRIVATE static - -typedef int coord; - -typedef struct point -{ - coord x, y; -} point; - -typedef enum req_opt_type -{ NEITHER, REQ, OPT} req_opt_type; - -typedef struct box -{ - bool half; - req_opt_type req_opt; - char title[TITLE_LEN + 1]; - char timetable[TIMETABLE_LEN + 1]; - char color[COLOR_LEN +1]; /* null string for default color */ -} box; - -typedef enum triv_type -{ TRIV } triv_type; - -typedef struct mini -{ - triv_type t; -} mini; - -typedef struct text -{ - char txt[LINE_LEN+1]; -} text; - -typedef char CourseCode[CODE_LEN + 1]; -typedef enum node_type -{ BOX, MINI, TEXT } node_type; -typedef struct node -{ - point at; - CourseCode code; - node_type tag; - union - { - box b; - mini m; - text t; - } u; -} node; - -typedef struct element *element_ptr; -typedef enum arrow_type -{ PREREQ, COREQ, RECOMM } arrow_type; -typedef struct arrow -{ - element_ptr source, target; - coord curvature; /* a negative value denotes the default curvature */ - arrow_type tag; -} arrow; - -typedef enum element_type -{ NODE, ARROW } element_type; -typedef struct element -{ - element_ptr next; /* to next element of linked list */ - element_type tag; - union - { - node n; - arrow a; - } u; -} element; - - -typedef struct done *done_ptr; /* declarations to support undo commands */ -typedef enum done_type -{ - NODE_CREATE, NODE_EDIT, NODE_DELETE, NODE_SHIFT, NODE_RAISE, - ARROW_CREATE, ARROW_EDIT, ARROW_DELETE, - SHIFT_ALL, RAISE_ALL, CUT, PASTE, - COMPOSITE -} done_type; -typedef struct done -{ - done_ptr next; - done_type tag; - int i; - node n; - arrow a; - point p; - element_ptr e; -} done; - - -/******************************************************************************************/ -/* */ -/* defined in utils.c: */ -/* */ -/******************************************************************************************/ - -extern size_t append (char *dst, char **offset, const char *src, size_t n); -/* Copies src to *offset and updates *offset accordingly (if possible). - * Assumes *offset is dst if offset == NULL. - * The src string must be null-terminated. - * Execution aborts unless **offset == '\0'. - * Returns (original offset - dst) + strlen(src); if >= n, the string was truncated. - */ - -extern bool prefix (const char *cs, const char *ct); /* is string cs[] a prefix of ct[]? */ -extern bool suffix (const char *cs, const char *ct); /* is string cs[] a suffix of ct[]? */ - -extern void error (char msg[]); /* abort with stderr message msg */ - -extern void copy (FILE * f, FILE * g); - -extern bool inrange ( coord x, coord x0, coord x1); -/* is coordinate x in the range x0:x1? */ - -/******************************************************************************************/ -/* */ -/* defined in prerex.c: */ -/* */ -/******************************************************************************************/ - -# ifdef HAVE_LIBEDIT -extern EditLine *el; -extern History *hist; -extern HistEvent ev; -# endif - -extern bool grid; /* should the background grid be enabled? */ -extern bool reprocess; /* should the tex file be re-processed after the current command? */ - -extern char chartfilename[FILE_LEN]; -extern char *chartfilename_n; -extern char backup_filename[FILE_LEN + 1]; -extern char *backup_filename_n; - -extern FILE *tex_file; -extern FILE *backup_tex_file; - -extern void regenerate_and_process (void); /* internal rep. -> tex file -> pdf file */ - -/******************************************************************************************/ -/* */ -/* defined in inout.c: */ -/* */ -/******************************************************************************************/ - -extern element *first_node; -extern bool insert_node (element * pc); - -extern element *first_arrow; -extern bool insert_arrow (element * pa); - -extern bool eq (point p, point q); /* p == q ? */ - -extern element *node_at (point p); - -extern void analyze_tex_file (void); /* tex file -> internal representation */ -extern void regenerate_tex_file (void); /* internal representation -> tex file */ - -extern void close_files (void); - -/******************************************************************************************/ -/* */ -/* defined in edit.c: */ -/* */ -/******************************************************************************************/ - -extern char deftext[LINE_LEN]; /* buffer for default input */ -# ifdef HAVE_LIBREADLINE -extern int set_deftext (void); /* used by readline to output defaults */ -# else -extern char * prompt_f (void); /* used to output prompts */ -# endif -extern char * Readline ( char * str ); - -extern void process_commands (void); /* command-processing loop */ diff -Nru prerex-6.5.3/prerex-6.5.2/README prerex-6.5.4/prerex-6.5.2/README --- prerex-6.5.3/prerex-6.5.2/README 2012-08-23 02:30:58.000000000 +0000 +++ prerex-6.5.4/prerex-6.5.2/README 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -Prerex is an interactive program for editing prerequisite-chart -descriptions in the prerex format. The user does not normally have to be -familiar with details of the format. The editor supports add, remove, -cut-and-paste, and edit operations on diagram elements, and horizontal -or vertical shifts of a list of specified elements, all the elements in -a rectangular region, or the entire diagram. The edited diagram may be -saved, re-processed, and viewed in a PDF viewer, without exiting the -editor. - -The effects of editing operations may be observed in any PDF viewer. The -"vprerex" (visual prerex) application (not included here) is a graphical -front-end and viewer for the prerex editor. It may be used just as a -minimalist viewer of arbitrary PDF files but supports editing of charts -generated using prerex.sty by allowing coordinates of course boxes, -arrows, and background points to be conveyed over to the prerex editor -command-line using the clipboard. - diff -Nru prerex-6.5.3/prerex-6.5.2/utils.c prerex-6.5.4/prerex-6.5.2/utils.c --- prerex-6.5.3/prerex-6.5.2/utils.c 2012-05-23 19:30:47.000000000 +0000 +++ prerex-6.5.4/prerex-6.5.2/utils.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,126 +0,0 @@ - -/* - utils.c -- utilities for interactive editor of prerequisite-chart descriptions - Copyright (C) 2005 - 2012 R. D. Tennent - School of Computing, Queen's University, rdt@cs.queensu.ca - -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., -51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -*/ - - -# include "prerex.h" - -void -error (char msg[]) /* abort with stderr message msg */ -{ - fprintf (stderr, "Error: %s\n", msg); -# ifdef HAVE_LIBEDIT - history_end (hist); - el_end (el); -# endif - exit (EXIT_FAILURE); -} - - -size_t -append (char *dst, char **offset, const char *src, size_t n) -/* Copies src to *offset and updates *offset accordingly (if possible). - * Assumes *offset is dst if offset == NULL. - * Execution aborts if **offset != '\0'. The src string must be null-terminated. - * Returns (original offset - dst) + strlen(src); if >= n, the string was truncated. - */ -{ - const char *s = src; - char *d; - char *off_orig = ( offset != NULL ? *offset : dst ); - d = off_orig; - if (*d != '\0') - { - char msg[LINE_LEN + 24] = {'\0'}; - char *msg_n = msg; - append (msg, &msg_n, "\nNull character expected at offset specified for string ", sizeof (msg)); - append (msg, &msg_n, src, sizeof (msg)); - error (msg); - } - n = n - 1 - (off_orig - dst); /* number of available slots (leaving room for \0) */ - while (n > 0 && *s != '\0') - { - *d = *s; /* copy non-null character */ - d++; s++; n--; - } - *d = '\0'; /* null-terminate */ - if (offset != NULL) - *offset = d; /* update *offset (if possible) */ - while (*s != '\0') /* traverse rest of src */ - s++; - return (off_orig - dst) + (s - src); /* length of the untruncated string */ -} - -bool -prefix (const char *cs, const char *ct) -/* is string cs[] a prefix of ct[]? */ -{ - char *pcs = (char *) cs; - char *pct = (char *) ct; - while (*pcs != '\0') - { - if (*pcs != *pct) - return false; - pcs++; - pct++; - } - return true; -} - -bool -suffix (const char *cs, const char *ct) -/* is string cs[] a suffix of ct[]? */ -{ - char *pcs = (char *) cs; - char *pct = (char *) ct + strlen (ct) - strlen (cs); - while (*pcs != '\0') - { - if (*pct != *pcs) - return false; - pcs++; - pct++; - } - return true; -} - - -void -copy (FILE * f, FILE * g) -{ - int c; - fflush (f); - rewind (f); - c = getc (f); - while (c != EOF) - { - putc (c, g); - c = getc (f); - } -} - -bool -inrange (coord x, coord x0, coord x1) -/* is coordinate x in the range x0:x1? */ -{ -# define min(x,y) (x < y ? x : y) -# define max(x,y) (x < y ? y : x) - return x >= min(x0, x1) && x <= max(x0, x1) ; -} - diff -Nru prerex-6.5.3/prerex.c prerex-6.5.4/prerex.c --- prerex-6.5.3/prerex.c 1970-01-01 00:00:00.000000000 +0000 +++ prerex-6.5.4/prerex.c 2014-07-19 15:21:13.000000000 +0000 @@ -0,0 +1,302 @@ +/* + prerex.c -- interactive editor of prerequisite-chart descriptions + Copyright (C) 2005 - 2014 R. D. Tennent + School of Computing, Queen's University, rdt@cs.queensu.ca + +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., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +*/ + +/* + +The key functions in this program are as follows: + + analyze_tex_file(): reads a TeX file and builds an internal + representation of the boxes and arrows for the chart in linked lists + accessed through global pointer variables first_box and first_arrow, + respectively. Non-chart elements of the TeX file are preserved in + temporary files pretext, posttext, and comments. + + regenerate_tex_file(): re-constructs a TeX file from the temporary files + pretext, posttext and comments, and the linked lists of nodes and arrows; + merge_lists() implements the output-ordering strategy. + + process_tex_file(): uses system calls to process the TeX file using + pdflatex. + + analyze_user_command(): processes editing and other commands entered at + the interactive prompt. The libedit (editline) library is used to + generate prompts with default responses and allow editing of the + responses. + +The current stack of "cuts" is accessed through pointer variable +first_cut. A stack of "done" records to support subsequent undo commands +is accessed through pointer variable first_done. + +The bool variables grid and reprocess record whether a background +coordinate grid should be displayed, and whether the tex file should be +reprocessed after an editing operation. + + +*/ + +# include "prerex.h" + + +extern int optind; /* defined in unistd.h */ + +bool grid; /* true if coordinate grid should be shown in background */ +bool reprocess = true; /* false if regenerate_and_process should do nothing */ + +# ifdef HAVE_LIBEDIT +EditLine *el; +History *hist; +HistEvent ev; +# endif + +PRIVATE char *command_line; + +PRIVATE char basefilename[FILE_LEN]; +PRIVATE char *basefilename_n = basefilename; +char chartfilename[FILE_LEN]; +char *chartfilename_n = chartfilename; +char backup_filename[FILE_LEN + 1]; +char *backup_filename_n = backup_filename; + +FILE *tex_file, *backup_tex_file; + +PRIVATE void +usage (void) +{ + puts ("Usage: prerex [-v | --version | -h | --help] [basefile[.tex] [chartfile[.tex]]]"); +} + + + +PRIVATE void +sigproc (int i) /* signal handler */ +{ +# ifdef HAVE_LIBEDIT + history_end (hist); + el_end (el); +# endif + i++; /* to avoid spurious compiler warning */ + grid = false; + puts("Turning off coordinate grid."); + regenerate_tex_file(); + fclose(tex_file); + exit (0); +} + + +PRIVATE void +create_blank_tex_file (void) +{ + tex_file = fopen (chartfilename, "w+"); + if (tex_file == NULL) + { + error ("Opening new file fails."); + } + fprintf (tex_file, "%s\n", "\\documentclass{article}"); + fprintf (tex_file, "%s\n", "\\usepackage{geometry}"); + fprintf (tex_file, "%s\n", "\\geometry{noheadfoot, margin=0.5in}"); + fprintf (tex_file, "%s\n", "\\usepackage{prerex}"); + fprintf (tex_file, "%s\n", "\\begin{document}"); + fprintf (tex_file, "%s\n", "\\thispagestyle{empty}"); + fprintf (tex_file, "%s\n", "\\begin{chart}"); + fprintf (tex_file, "%s\n", "\\end{chart}"); + fprintf (tex_file, "%s\n", "\\end{document}"); + fflush (tex_file); + rewind (tex_file); +} + + +PRIVATE void +open_tex_file (void) /* initial opening */ +{ + tex_file = fopen (chartfilename, "r+"); + if (tex_file == NULL) + { + printf ("Creating new prerex chart file %s.\n", chartfilename); + create_blank_tex_file (); + } + printf ("Chart file %s opened.\n", chartfilename); +} + +PRIVATE void +reopen_tex_file (void) +{ + tex_file = fopen (chartfilename, "r+"); + if (tex_file == NULL) + error ("Can't re-open the chart file."); +} + +PRIVATE void +create_backup (void) +{ + backup_filename[0] = '\0'; + backup_filename_n = backup_filename; + append (backup_filename, &backup_filename_n, ".", sizeof (backup_filename)); + append (backup_filename, &backup_filename_n, chartfilename, sizeof (backup_filename)); + backup_tex_file = fopen (backup_filename, "w+"); + if (backup_tex_file == NULL) + { + puts ("Can't open backup file."); + return; + } + copy (tex_file, backup_tex_file); + fclose (backup_tex_file); +} + +PRIVATE bool +process_tex_file (void) +{ /* generates system calls to make file.pdf */ + /* returns true if processing fails */ + char *p; + char command[LINE_LEN] = {'\0'}; + char *command_n = command; + char filename_root[FILE_LEN + 3] = {'\0'}; + char *filename_root_n = filename_root; + append (filename_root, &filename_root_n, basefilename, sizeof (filename_root)); + p = strstr (filename_root, ".tex"); + *p = '\0'; + filename_root_n = p; + printf ("Processing %s.\n", basefilename); + append (command, &command_n, "pdflatex ", sizeof (command)); + append (command, &command_n, + "-halt-on-error -interaction batchmode ", sizeof (command)); + append (command, &command_n, filename_root, sizeof (command)); + if (fclose(tex_file) == EOF) error ("Chart file not closed."); + if (system (command)) + { + printf ("Processing %s fails.\n", basefilename); + return true; + } + reopen_tex_file (); + return false; /* success */ +} + + +void +regenerate_and_process (void) +{ + if (!reprocess) return; + regenerate_tex_file (); + process_tex_file (); /* ignore failure; allows user to recover by editing the tex file */ +} + +int +main (int argc, char *argv[]) +{ + int ch; + const char version[] = "6.5.4, 2014-07-19"; +# define NOPTS 3 + struct option longopts[NOPTS] = + { { "help", 0, NULL, 'h'}, + { "version", 0, NULL, 'v'}, + { NULL, 0, NULL, 0} + }; + + + printf ("This is prerex, version %s.\n", version); + ch = getopt_long (argc, argv, "hv", longopts, NULL); + while (ch != -1) + { + switch (ch) + { + case 'h': + usage (); + puts ( "Please report bugs to rdt@cs.queensu.ca." ); + exit (0); + case 'v': + exit (0); + case '?': + exit (EXIT_FAILURE); + default: + printf ("Function getopt returned character code 0%o.\n", + (unsigned int) ch); + exit (EXIT_FAILURE); + } + ch = getopt_long (argc, argv, "hv", longopts, NULL); + } + puts ( "Copyright (C) 2005 - 2012 R. D. Tennent" ); + puts ( "School of Computing, Queen's University, rdt@cs.queensu.ca" ); + puts ( "License GNU GPL version 2 or later ." ); + puts ( "There is NO WARRANTY, to the extent permitted by law." ); + puts ( "" ); +# ifdef HAVE_LIBEDIT + el = el_init (argv[0], stdin, stdout, stderr); + hist = history_init(); + history(hist, &ev, H_SETSIZE, 800); + el_set (el, EL_HIST, history, hist); + el_set (el, EL_PROMPT, &prompt_f); + el_set (el, EL_EDITOR, "emacs"); +# endif + + basefilename[0] = '\0'; + basefilename_n = basefilename; + if (optind >= argc) + { + puts (""); + do + { + deftext[0] = '\0'; + command_line = Readline ("Please enter a file name: "); + sscanf (command_line, "%127s", basefilename); + while (*basefilename_n) + basefilename_n++; + } + while (basefilename[0] == '\0'); + } + else + append (basefilename, &basefilename_n, argv[optind], sizeof (basefilename)); + if (!suffix (".tex", basefilename)) + append (basefilename, &basefilename_n, ".tex", sizeof (basefilename)); + optind++; + chartfilename[0] = '\0'; + chartfilename_n = chartfilename; + if (optind < argc) /* user-provided chartfilename */ + { + append (chartfilename, &chartfilename_n, argv[optind], sizeof (chartfilename)); + if (!suffix (".tex", chartfilename)) + append (chartfilename, &chartfilename_n, ".tex", sizeof (chartfilename)); + } + else /* use basefile as chartfile */ + append (chartfilename, &chartfilename_n, basefilename, sizeof (chartfilename)); + + open_tex_file (); + + if (process_tex_file ()) /* bail if initial processing fails */ + { + exit(EXIT_FAILURE); + } + + analyze_tex_file (); + + /* catch signals in order to regenerate tex file, restore write access, etc. */ + signal (SIGINT, &sigproc); + signal (SIGILL, &sigproc); + signal (SIGSEGV, &sigproc); + signal (SIGTERM, &sigproc); + + grid = true; + puts("Turning on coordinate grid."); + regenerate_and_process (); + + create_backup (); + + process_commands(); + + return 0; +} diff -Nru prerex-6.5.3/prerex.h prerex-6.5.4/prerex.h --- prerex-6.5.3/prerex.h 1970-01-01 00:00:00.000000000 +0000 +++ prerex-6.5.4/prerex.h 2013-10-13 01:13:26.000000000 +0000 @@ -0,0 +1,234 @@ +/* + prerex.h -- header file for an interactive editor of prerequisite-chart + descriptions + Copyright (c) 2005-13 R. D. Tennent + School of Computing, Queen's University, rdt@cs.queensu.ca + +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., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +*/ + +# include "config.h" +# include +# include +# include +# include +# include +# include +# ifdef HAVE_LIBREADLINE +# include +# include +# else +# include +# include +# endif +# include +# include +# include +# include +# include +# include + +# define bool _Bool +# define true 1 +# define false 0 + +# define LINE_LEN 1023 +# define FILE_LEN 127 +# define COMMAND_LEN 63 +# define CODE_LEN 31 +# define TITLE_LEN 127 +# define TIMETABLE_LEN 31 +# define COLOR_LEN 31 +# define KILL_WAIT 4 /* number of seconds to wait before killing PDFVIEWER */ + +# define PRIVATE static + +typedef int coord; + +typedef struct point +{ + coord x, y; +} point; + +typedef enum req_opt_type +{ NEITHER, REQ, OPT} req_opt_type; + +typedef struct box +{ + bool half; + req_opt_type req_opt; + char title[TITLE_LEN + 1]; + char timetable[TIMETABLE_LEN + 1]; + char color[COLOR_LEN +1]; /* null string for default color */ +} box; + +typedef enum triv_type +{ TRIV } triv_type; + +typedef struct mini +{ + triv_type t; +} mini; + +typedef struct text +{ + char txt[LINE_LEN+1]; +} text; + +typedef char CourseCode[CODE_LEN + 1]; +typedef enum node_type +{ BOX, MINI, TEXT } node_type; +typedef struct node +{ + point at; + CourseCode code; + node_type tag; + union + { + box b; + mini m; + text t; + } u; +} node; + +typedef struct element *element_ptr; +typedef enum arrow_type +{ PREREQ, COREQ, RECOMM } arrow_type; +typedef struct arrow +{ + element_ptr source, target; + coord curvature; /* a negative value denotes the default curvature */ + arrow_type tag; +} arrow; + +typedef enum element_type +{ NODE, ARROW } element_type; +typedef struct element +{ + element_ptr next; /* to next element of linked list */ + element_type tag; + union + { + node n; + arrow a; + } u; +} element; + + +typedef struct done *done_ptr; /* declarations to support undo commands */ +typedef enum done_type +{ + NODE_CREATE, NODE_EDIT, NODE_DELETE, NODE_SHIFT, NODE_RAISE, + ARROW_CREATE, ARROW_EDIT, ARROW_DELETE, + SHIFT_ALL, RAISE_ALL, CUT, PASTE, + COMPOSITE +} done_type; +typedef struct done +{ + done_ptr next; + done_type tag; + int i; + node n; + arrow a; + point p; + element_ptr e; +} done; + + +/******************************************************************************************/ +/* */ +/* defined in utils.c: */ +/* */ +/******************************************************************************************/ + +extern size_t append (char *dst, char **offset, const char *src, size_t n); +/* Copies src to *offset and updates *offset accordingly (if possible). + * Assumes *offset is dst if offset == NULL. + * The src string must be null-terminated. + * Execution aborts unless **offset == '\0'. + * Returns (original offset - dst) + strlen(src); if >= n, the string was truncated. + */ + +extern bool prefix (const char *cs, const char *ct); /* is string cs[] a prefix of ct[]? */ +extern bool suffix (const char *cs, const char *ct); /* is string cs[] a suffix of ct[]? */ + +extern void error (char msg[]); /* abort with stderr message msg */ + +extern void copy (FILE * f, FILE * g); + +extern bool inrange ( coord x, coord x0, coord x1); +/* is coordinate x in the range x0:x1? */ + +/******************************************************************************************/ +/* */ +/* defined in prerex.c: */ +/* */ +/******************************************************************************************/ + +# ifdef HAVE_LIBEDIT +extern EditLine *el; +extern History *hist; +extern HistEvent ev; +# endif + +extern bool grid; /* should the background grid be enabled? */ +extern bool reprocess; /* should the tex file be re-processed after the current command? */ + +extern char chartfilename[FILE_LEN]; +extern char *chartfilename_n; +extern char backup_filename[FILE_LEN + 1]; +extern char *backup_filename_n; + +extern FILE *tex_file; +extern FILE *backup_tex_file; + +extern void regenerate_and_process (void); /* internal rep. -> tex file -> pdf file */ + +/******************************************************************************************/ +/* */ +/* defined in inout.c: */ +/* */ +/******************************************************************************************/ + +extern element *first_node; +extern bool insert_node (element * pc); + +extern element *first_arrow; +extern bool insert_arrow (element * pa); + +extern bool eq (point p, point q); /* p == q ? */ + +extern element *node_at (point p); + +extern void analyze_tex_file (void); /* tex file -> internal representation */ +extern void regenerate_tex_file (void); /* internal representation -> tex file */ + +extern void close_files (void); + +/******************************************************************************************/ +/* */ +/* defined in edit.c: */ +/* */ +/******************************************************************************************/ + +extern char deftext[LINE_LEN]; /* buffer for default input */ +# ifdef HAVE_LIBREADLINE +extern int set_deftext (void); /* used by readline to output defaults */ +# else +extern char * prompt_f (void); /* used to output prompts */ +# endif +extern char * Readline ( char * str ); + +extern void process_commands (void); /* command-processing loop */ diff -Nru prerex-6.5.3/prerex.sty prerex-6.5.4/prerex.sty --- prerex-6.5.3/prerex.sty 2013-10-12 13:24:20.000000000 +0000 +++ prerex-6.5.4/prerex.sty 1970-01-01 00:00:00.000000000 +0000 @@ -1,862 +0,0 @@ -%% This is file 'prerex.sty' -%% -%% Copyright (C) 2006-13 R. D. Tennent, rdt@cs.queensu.ca -%% -%% This work may be distributed and/or modified under the -%% conditions of the LaTeX Project Public License, either version 1.3 -%% of this license or (at your option) any later version. -%% The latest version of this license is in -%% http://www.latex-project.org/lppl.txt -%% and version 1.3 or later is part of all distributions of LaTeX -%% version 2003/12/01 or later. -%% -%% This work has the LPPL maintenance status "author-maintained". -% -% Instructions supported inside \begin{chart} ... \end{chart}: -% -% \[req|opt]{half|full}course[c] x,y: {course code}{course title}{timetable code}[{color}] -% -% \mini x,y: {course code} -% -% solid arrow: \prereq x0,y0,x1,y1: \prereqc x0,y0,x1,y1;curvature: -% dotted arrow: \coreq x0,y0,x1,y1: \coreqc x0,y0,x1,y1;curvature: -% dashed arrow: \recomm x0,y0,x1,y1: \recommc x0,y0,x1,y1;curvature: -% -% \text x,y: {line of text} -% -% \grid coordinate grid background -% -% Stand-alone instructions (for explanatory notes): -% -% \solidarrow in-line solid arrow -% \dottedarrow in-line dotted arrow -% \dashedarrow in-line dashed arrow -% -% \lightbox in-line light course box -% \boldbox in-line bold course box -% \dottedbox in-line dotted course box -% -% The following defaults are defined in prerex.sty (but may be re-defined by the user): -% -% \newcommand{\DefaultCurvature}{20} -% -% where the argument should be in the range 0-100; 0 means no curvature. -% -% \newcommand{\CourseURL}[3]{file:#3.html} -% -% where the arguments supplied at the call are the x and y coordinates -% and the course code. -% -% \newcommand{\background}{yellow!15} -% -% \setlength{\unit}{5.7816pt} length of a coordinate unit; gives 10 pixels per unit at 125dpi -% \newcommand{\dpi}{125} -% \newcommand\PixelsPerUnit{10} -% \setcounter{diagheight}{75} but reduced to 65 in landscape mode -% \newcommand{\solidwidth}{0.5pt} -% \newcommand{\dottedwidth}{0.8pt} -% \newcommand{\dashedwidth}{0.5pt} -% \newcommand{\boldwidth}{1.0pt} -% \newcommand{\smallersize}{\relsize{-2}} -% \newcommand{\baselineAdj}{-0.5ex} -% -% The nominal diagram width is 10 + (\textwidth divided by \unit). -% -\NeedsTeXFormat{LaTeX2e}[1995/12/01] -\ProvidesPackage{prerex}[2013/07/19 v6.3.5 LaTeX style for prerequisite charts, pgf version] - -% Changelog: -% -% Version 6.3.5 -% -% Fix font usage to work with mweights.sty. -% -% Version 6.3.4 -% -% Timetable and course code in bold for required boxes. -% -% Version 6.3.3 -% -% Remove background colour from standalone boxes. -% \smallersize increased to \relsize{-2}. -% -% Version 6.3.2 -% -% Use pgf layers to keep grid below arrows below boxes (thanks to Ryan Kavanagh). -% Add struts to stand-alone \...box commands. -% -% Version 6.3 -% -% Allow "opt" course boxes (with dotted outlines). -% -% Version 6.2 -% -% Allow for multi-line "timetable" arguments by using nested tabular environments. -% -% Version 6.1.0 -% -% Added commands to specify background color of non-mini course boxes. -% -% Version 6.0.6 -% -% Provide \textbullet at mid-point of edges when grid is on. -% -% Version 6.0.5 -% -% Changed TARGET attribute in AREA outputs to "new". -% New configuration command \baselineAdj. -% -% Version 6.0.4 -% -% Added missing initializations of @dy to curved... macros. -% -% Version 6.0.3 -% -% Added required ALT tag to AREA outputs. -% -% Version 6.0 -% Version 5.7 -% -% added implementation details to documentation -% generated script now only crops the chart image -% -% Version 5.6 -% Version 5.5 -% -% version increased to keep pace with previewer/vprerex -% -% Version 5.4 -% -% code clean-up -% -% Version 5.3 -% -% produces an image-generating script in \jobname.sh -% -% Version 5.2 -% -% use \grid and \foreach (tikz) instead of \multido -% half-course boxes now have a minimum height (5 units) to improve uniformity -% -% Version 5.1 -% -% generates image-map data in \jobname_n.html for nth chart when n>1 -% -% Version 5.0 -% -% also generates \jobname.html with image-map data for all node URLs -% new configuration commands \dpi and \PixelsPerUnit -% default \unit length adjusted to give 10 pixels per coordinate unit at 125 dpi -% -% Version 4.4 -% -% increase ysep parameter to 1.8pt to separate course-code or text and arrow tails for minis -% and text boxes -% -% Version 4.3 -% -% introduce \smallersize configuration command -% -% Version 4.2 -% -% using tinting with xcolor package to ease background-color changes -% -% Version 4.1 -% -% Version 4.0 -% -% Implement the \text command to place a line of text (centered at the coordinates) in a chart -% -% Version 3.8.1: -% -% adjust arraystretch factors to work with long-ascender fonts such as Futura -% adjust inner sep parameters to work with oblique/italic fonts -% remove workaround for pgf-1.10 bug described at -% http://sourceforge.net/forum/forum.php?thread_id=1621660&forum_id=477363 -% require version 1.18 (or later) of pgf -% -% Version 3.8: -% -% require version 1.10 (or later) of pgf -% -% Version 3.7: -% -% anchor nodes must be non-null for latex/dvips -% -% Version 3.6: -% -% first pgf-based version -% -% Version 3.5: -% Version 3.4: -% -% introduce arrow borders to improve the appearance of crossing arrows -% change default widths to artifacts created when arrow borders -% occlude box boundaries -% -% Version 3.3: -% -% arrows (as well as course boxes and minis) are hyperlinked with coordinate URIs -% -% Version 3.2: -% -% Version 3.1: -% -% Version 3.0: -% -% "anchor" hyperlinks are added to coordinate grid to allow computation of -% chart coordinates at mouse clicks -% -% Version 2.0: -% -% CourseURL now takes 3 arguments -% box/mini coordinates displayed in (some) PDF viewers when grid on -% -% Version 1.0.2: -% -% using \relsize{-3} rather than \scriptsize -% using \textsf in \lightbox and \boldbox -% -% Version 1.0.1: -% -% using \RequirePackage rather than \usepackage (suggested by Herbert Voss) -% - -\newlength{\unit} - -\setlength{\unit}{5.7816pt} % 10 pixels per unit at 125dpi; 1pt = (1/72.27) in. -\newcommand{\PixelsPerUnit}{10} -\newcommand{\dpi}{125} - -\RequirePackage{relsize} -\RequirePackage{calc} -\RequirePackage{pgf}[2007/06/12] -\RequirePackage{tikz}\usetikzlibrary{arrows} -\RequirePackage{ifthen} -\RequirePackage{textcomp} -\RequirePackage{zref-savepos} -\PassOptionsToPackage{urlcolor=black,colorlinks,raiselinks}{hyperref} -\RequirePackage{hyperref} - -\RequirePackage{xcolor} -\definecolor{light}{gray}{0.5} -\definecolor{somewhatlight}{gray}{0.7} -\definecolor{verylight}{gray}{0.85} -\definecolor{white}{rgb}{1.0,1.0,1.0} % not transparent, hides grid - - -\newcommand{\DefaultCurvature}{20} % 0 for no curvature -\newcommand{\CourseURL}[3]{file:#3.html} -\newcommand{\background}{yellow!15} - -\newcommand{\solidwidth}{0.5pt} -\newcommand{\boldwidth}{1.0pt} -\newcommand{\dottedwidth}{0.8pt} -\newcommand{\dashedwidth}{0.5pt} -\newcommand{\smallersize}{\relsize{-2}} -\newcommand{\baselineAdj}{-0.5ex} - -\newcounter{@myangle} -\newcounter{@inangle} -\newcounter{@dx} -\newcounter{@dy} - -\newif\ifgridon -\gridonfalse -\newcounter{@gridwidth} -\newcounter{@gridright} -\newcounter{@gridheight} -\newcounter{@gridtop} - -\newcounter{@diagwidth} -\newcounter{diagheight} - -\setcounter{diagheight}{75} -\ifdim\paperwidth>\paperheight - \setcounter{diagheight}{65} -\fi - -\newcounter{chart} % in case there is more than one chart in the document -\newcounter{xNW}\newcounter{yNW} % coordinates of NW corner of a node -\newcounter{xSE}\newcounter{ySE} % coordinates of SE corner of a node - -\def\@unitmult{\unit * 5} % used for the grid and as the minimum height of half-course boxes - -\def\@outputImapData#1,#2:#3#4#5{% -% #1,#2 coordinates -% #3 URL -% #4 horizontal delta -% #5 vertical delta -% -\setcounter{xNW}{\dpi * \ratio{\zposx{gridOrigin_\thechart}sp}{1in}}% # of pixels from left edge to origin -\addtocounter{xNW}{(#1-#4)*\PixelsPerUnit}% add # pixels from origin to node (-#4 units) -\setcounter{xSE}{\dpi * \ratio{\zposx{gridOrigin_\thechart}sp}{1in}}% -\addtocounter{xSE}{(#1+#4)*\PixelsPerUnit}% add # pixels from origin to node (+#4 units) - -\setcounter{yNW}{ \dpi * \ratio{\paperheight}{1in}} % # of pixels for the whole page -\addtocounter{yNW}{ 0 - \dpi * \ratio{\zposy{gridOrigin_\thechart}sp}{1in}} % subtract # pixels from bottom edge to origin -\addtocounter{yNW}{0 - (#2 - #5) * \PixelsPerUnit } % subtract # of pixels from origin to node (-#5) -\setcounter{ySE}{ \dpi * \ratio{\paperheight}{1in}} -\addtocounter{ySE}{0 - \dpi * \ratio{\zposy{gridOrigin_\thechart}sp}{1in}} -\addtocounter{ySE}{0 - (#2 + #5) * \PixelsPerUnit } % subtract # of pixels from origin to node (+#5) - -\immediate\write\@imapfile{#3}% -} - -\pgfsetlayers{} -\def\solidarrow{% -\tikz[x=\unit,y=\unit,baseline=\baselineAdj] -\draw[-latex',line width =\solidwidth] (0,0) -- (4,0); -} - -\def\dottedarrow{% -\tikz[x=\unit,y=\unit,baseline=\baselineAdj] -\draw[loosely dotted,line width=\dottedwidth,-latex'] (0,0) -- (4,0); -} - -\def\dashedarrow{% -\tikz[x=\unit,y=\unit,baseline=\baselineAdj] -\draw[dashed,line width=\dashedwidth,-latex'] (0,0) -- (4,0); -} - -\def\lightbox{% -\tikz[thin,baseline=\baselineAdj]\node[draw,rounded corners=2pt,inner xsep=1.8pt] -{\rule[-2pt]{0pt}{4pt}light}; -} - -\def\boldbox{% -\tikz[baseline=\baselineAdj]\node[draw,line width=\boldwidth,rounded corners=2pt,inner xsep=1.8pt] -{\rule[-2pt]{0pt}{4pt}\bfseries bold}; -} - - -\def\dottedbox{% -\tikz[baseline=\baselineAdj]\node[draw,dotted,line width=\boldwidth,rounded corners=2pt,inner xsep=1.8pt] -{\rule[-2pt]{0pt}{4pt}dotted}; -} - -\pgfdeclarelayer{arrows} -\pgfdeclarelayer{courses} -\pgfdeclarelayer{grid} -\pgfsetlayers{grid,arrows,courses,main} - -\def\@halfcourse#1,#2:#3#4#5{% -\begin{pgfonlayer}{courses}% -\node[draw,thin,fill=\background,rounded corners=2pt,inner ysep=0.5pt,minimum height=\@unitmult](x#1y#2) at (#1,#2)% -{ -\renewcommand{\arraystretch}{0.8}% -\href{\CourseURL{#1}{#2}{#3}}{\begin{tabular}{@{\hspace{1pt}}c@{\hspace{1pt}}}% -{\smallersize#3}% -\,\hfill\,% -{\smallersize\renewcommand{\arraystretch}{0.5}\begin{tabular}[t]{@{}r@{}}#5\end{tabular}}% -\\ #4% -\end{tabular}}% -};% -\@outputImapData#1,#2:{#3}{4}{2}% -\end{pgfonlayer}% -} - -\def\@halfcoursec#1,#2:#3#4#5#6{% -\begin{pgfonlayer}{courses}% -\node[draw,thin,fill=#6,rounded corners=2pt,inner ysep=0.5pt,minimum height=\@unitmult](x#1y#2) at (#1,#2)% -{ -\renewcommand{\arraystretch}{0.8}% -\href{\CourseURL{#1}{#2}{#3}}{\begin{tabular}{@{\hspace{1pt}}c@{\hspace{1pt}}}% -{\smallersize\selectfont{#3}}% -\,\hfill\,% -{\smallersize{\renewcommand{\arraystretch}{0.5}\begin{tabular}[t]{@{}r@{}}#5\end{tabular}}}% -\\ #4% -\end{tabular}}% -};% -\@outputImapData#1,#2:{#3}{4}{2}% -\end{pgfonlayer}% -} - -\def\@reqhalfcourse#1,#2:#3#4#5{% -\begin{pgfonlayer}{courses}% -\node[draw,line width=\boldwidth,fill=\background,rounded corners=2pt,inner ysep=0.5pt,minimum height=\@unitmult](x#1y#2) at (#1,#2)% -{ -\renewcommand{\arraystretch}{0.8}% -\href{\CourseURL{#1}{#2}{#3}}{\begin{tabular}{@{\hspace{1pt}}c@{\hspace{1pt}}}% -{\smallersize\bfseries#3}% -\,\hfill\,% -{\smallersize\bfseries\renewcommand{\arraystretch}{0.5}\begin{tabular}[t]{@{}r@{}}#5\end{tabular}}% -\\ #4% -\end{tabular}% -}};% -\@outputImapData#1,#2:{#3}{4}{2}% -\end{pgfonlayer}% -} - -\def\@reqhalfcoursec#1,#2:#3#4#5#6{% -\begin{pgfonlayer}{courses}% -\node[draw,line width=\boldwidth,fill=#6,rounded corners=2pt,inner ysep=0.5pt,minimum height=\@unitmult](x#1y#2) at (#1,#2)% -{ -\renewcommand{\arraystretch}{0.8}% -\href{\CourseURL{#1}{#2}{#3}}{\begin{tabular}{@{\hspace{1pt}}c@{\hspace{1pt}}}% -{\smallersize\bfseries#3}% -\,\hfill\,% -{\smallersize\bfseries\renewcommand{\arraystretch}{0.5}\begin{tabular}[t]{@{}r@{}}#5\end{tabular}}% -\\ #4% -\end{tabular}% -}};% -\@outputImapData#1,#2:{#3}{4}{2}% -\end{pgfonlayer}% -} - - -\def\@opthalfcourse#1,#2:#3#4#5{% -\begin{pgfonlayer}{courses}% -\node[draw,dotted,line width=\boldwidth,fill=\background,rounded corners=2pt,inner ysep=0.5pt,minimum height=\@unitmult](x#1y#2) at (#1,#2)% -{ -\renewcommand{\arraystretch}{0.8}% -\href{\CourseURL{#1}{#2}{#3}}{\begin{tabular}{@{\hspace{1pt}}c@{\hspace{1pt}}}% -{\smallersize#3}% -\,\hfill\,% -{\smallersize\renewcommand{\arraystretch}{0.5}\begin{tabular}[t]{@{}r@{}}#5\end{tabular}}% -\\ #4% -\end{tabular}}% -};% -\@outputImapData#1,#2:{#3}{4}{2}% -\end{pgfonlayer}% -} - -\def\@opthalfcoursec#1,#2:#3#4#5#6{% -\begin{pgfonlayer}{courses}% -\node[draw,dotted,line width=\boldwidth,fill=#6,rounded corners=2pt,inner ysep=0.5pt,minimum height=\@unitmult](x#1y#2) at (#1,#2)% -{ -\renewcommand{\arraystretch}{0.8}% -\href{\CourseURL{#1}{#2}{#3}}{\begin{tabular}{@{\hspace{1pt}}c@{\hspace{1pt}}}% -{\smallersize#3}% -\,\hfill\,% -{\smallersize\renewcommand{\arraystretch}{0.5}\begin{tabular}[t]{@{}r@{}}#5\end{tabular}}% -\\ #4% -\end{tabular}}% -};% -\@outputImapData#1,#2:{#3}{4}{2}% -\end{pgfonlayer}% -} - -\def\@fullcourse#1,#2:#3#4#5{% -\begin{pgfonlayer}{courses}% -\node[draw,thin,fill=\background,rounded corners=2pt,inner ysep=0.5pt](x#1y#2) at (#1,#2)% -{ -\renewcommand{\arraystretch}{1.7}% -\href{\CourseURL{#1}{#2}{#3}}{\begin{tabular}{@{\hspace{1pt}}c@{\hspace{1pt}}}% -{\smallersize#3}% -\,\hfill\,% -{\smallersize\renewcommand{\arraystretch}{0.5}\begin{tabular}[t]{@{}r@{}}#5\end{tabular}}% -\\ #4% -\end{tabular}}% -};% -\@outputImapData#1,#2:{#3}{4}{5}% -\end{pgfonlayer}% -} - -\def\@fullcoursec#1,#2:#3#4#5#6{% -\begin{pgfonlayer}{courses}% -\node[draw,thin,fill=#6,rounded corners=2pt,inner ysep=0.5pt](x#1y#2) at (#1,#2)% -{ -\renewcommand{\arraystretch}{1.7}% -\href{\CourseURL{#1}{#2}{#3}}{\begin{tabular}{@{\hspace{1pt}}c@{\hspace{1pt}}}% -{\smallersize#3}% -\,\hfill\,% -{\smallersize\renewcommand{\arraystretch}{0.5}\begin{tabular}[t]{@{}r@{}}#5\end{tabular}}% -\\ #4% -\end{tabular}}% -};% -\end{pgfonlayer}% -\@outputImapData#1,#2:{#3}{4}{5}% -} - -\def\@reqfullcourse#1,#2:#3#4#5{% -\begin{pgfonlayer}{courses}% -\node[draw,line width=\boldwidth,fill=\background,rounded corners=2pt,inner ysep=0.5pt](x#1y#2) at (#1,#2)% -{ -\renewcommand{\arraystretch}{1.7}% -\href{\CourseURL{#1}{#2}{#3}}{\begin{tabular}{@{\hspace{1pt}}c@{\hspace{1pt}}}% -{\smallersize\bfseries#3}% -\,\hfill\,% -{\smallersize\bfseries\renewcommand{\arraystretch}{0.5}\begin{tabular}[t]{@{}r@{}}#5\end{tabular}}% -\\ #4% -\end{tabular}}% -};% -\@outputImapData#1,#2:{#3}{4}{5}% -\end{pgfonlayer}% -} - -\def\@reqfullcoursec#1,#2:#3#4#5#6{% -\begin{pgfonlayer}{courses}% -\node[draw,line width=\boldwidth,fill=#6,rounded corners=2pt,inner ysep=0.5pt](x#1y#2) at (#1,#2)% -{ -\renewcommand{\arraystretch}{1.7}% -\href{\CourseURL{#1}{#2}{#3}}{\begin{tabular}{@{\hspace{1pt}}c@{\hspace{1pt}}}% -{\smallersize\bfseries#3}% -\,\hfill\,% -{\smallersize\bfseries\renewcommand{\arraystretch}{0.5}\begin{tabular}[t]{@{}r@{}}#5\end{tabular}}% -\\ #4% -\end{tabular}}% -};% -\@outputImapData#1,#2:{#3}{4}{5}% -\end{pgfonlayer}% -} - -\def\@fullcoursec#1,#2:#3#4#5#6{% -\begin{pgfonlayer}{courses}% -\node[draw,thin,fill=#6,rounded corners=2pt,inner ysep=0.5pt](x#1y#2) at (#1,#2)% -{ -\renewcommand{\arraystretch}{1.7}% -\href{\CourseURL{#1}{#2}{#3}}{\begin{tabular}{@{\hspace{1pt}}c@{\hspace{1pt}}}% -{\smallersize#3}% -\,\hfill\,% -{\smallersize\renewcommand{\arraystretch}{0.5}\begin{tabular}[t]{@{}r@{}}#5\end{tabular}}% -\\ #4% -\end{tabular}}% -};% -\@outputImapData#1,#2:{#3}{4}{5}% -\end{pgfonlayer}% -} - -\def\@optfullcourse#1,#2:#3#4#5{% -\begin{pgfonlayer}{courses}% -\node[draw,dotted,line width=\boldwidth,fill=\background,rounded corners=2pt,inner ysep=0.5pt](x#1y#2) at (#1,#2)% -{ -\renewcommand{\arraystretch}{1.7}% -\href{\CourseURL{#1}{#2}{#3}}{\begin{tabular}{@{\hspace{1pt}}c@{\hspace{1pt}}}% -{\smallersize#3}% -\,\hfill\,% -{\smallersize\renewcommand{\arraystretch}{0.5}\begin{tabular}[t]{@{}r@{}}#5\end{tabular}}% -\\ #4% -\end{tabular}}% -};% -\@outputImapData#1,#2:{#3}{4}{5}% -\end{pgfonlayer}% -} - - -\def\@optfullcoursec#1,#2:#3#4#5#6{% -\begin{pgfonlayer}{courses}% -\node[draw,dotted,line width=\boldwidth,fill=#6,rounded corners=2pt,inner ysep=0.5pt](x#1y#2) at (#1,#2)% -{ -\renewcommand{\arraystretch}{1.7}% -\href{\CourseURL{#1}{#2}{#3}}{\begin{tabular}{@{\hspace{1pt}}c@{\hspace{1pt}}}% -{\smallersize#3}% -\,\hfill\,% -{\smallersize\renewcommand{\arraystretch}{0.5}\begin{tabular}[t]{@{}r@{}}#5\end{tabular}}% -\\ #4% -\end{tabular}}% -};% -\@outputImapData#1,#2:{#3}{4}{5}% -\end{pgfonlayer}% -} - -\def\@mini#1,#2:#3{% -\begin{pgfonlayer}{courses}% -\ifgridon - \node[fill=white,draw=white,inner ysep=1.8pt](x#1y#2) at (#1,#2)% - { - \href{\CourseURL{#1}{#2}{#3}}{% - {\smallersize\mdseries#3}}};% -\else - \node[fill=none,draw=none,inner ysep=1.8pt](x#1y#2) at (#1,#2)% - { - \href{\CourseURL{#1}{#2}{#3}}{% - {\smallersize\mdseries#3}}};% -\fi -\@outputImapData#1,#2:{#3}{2}{1}% -\end{pgfonlayer}% -} - -\def\@text#1,#2:#3{% -% include coordinates if grid on, but don't hyperlink if grid off -\begin{pgfonlayer}{courses}% -\ifgridon - \node[fill=white,draw=white,inner ysep=1.8pt](x#1y#2) at (#1,#2)% -{\href{coord: #1,#2}{\mbox{\sffamily\mdseries#3}}};% -\else - \node[fill=none,draw=none,inner ysep=1.8pt](x#1y#2) at (#1,#2){\mbox{\sffamily\mdseries#3}};% -\fi -\end{pgfonlayer}% -} - -\def\@prereq#1,#2,#3,#4:{% - \setcounter{@dy}{#2-#4} - \ifnum\the@dy<10 - \@straight#1,#2,#3,#4: - \else\ifnum#1=#3 - \@straight#1,#2,#3,#4: - \else\ifnum#2=#4 - \@straight#1,#2,#3,#4: - \else - \@prereqc#1,#2,#3,#4;\DefaultCurvature: - \fi\fi\fi -} - -\def\@prereqc#1,#2,#3,#4;#5:{% - \ifnum#5=0 - \@straight#1,#2,#3,#4: - \else - \@curved#1,#2,#3,#4;#5: - \fi -} - -\def\@recomm#1,#2,#3,#4:{% - \setcounter{@dy}{#2-#4} - \ifnum\the@dy<10 - \@straightDashed#1,#2,#3,#4: - \else\ifnum#1=#3 - \@straightDashed#1,#2,#3,#4: - \else\ifnum#2=#4 - \@straightDashed#1,#2,#3,#4: - \else - \@recommc#1,#2,#3,#4;\DefaultCurvature: - \fi\fi\fi -} - -\def\@recommc#1,#2,#3,#4;#5:{% - \ifnum#5=0 - \@straightDashed#1,#2,#3,#4: - \else - \@curvedDashed#1,#2,#3,#4;#5: - \fi -} - -\def\@coreq#1,#2,#3,#4:{% - \setcounter{@dy}{#2-#4} - \ifnum\the@dy<10 - \@straightDotted#1,#2,#3,#4: - \else\ifnum#1=#3 - \@straightDotted#1,#2,#3,#4: - \else\ifnum#2=#4 - \@straightDotted#1,#2,#3,#4: - \else - \@coreqc#1,#2,#3,#4;\DefaultCurvature: - \fi\fi\fi -} - -\def\@coreqc#1,#2,#3,#4;#5:{% - \ifnum#5=0 - \@straightDotted#1,#2,#3,#4: - \else - \@curvedDotted#1,#2,#3,#4;#5: - \fi -} - - - -\def\@straight#1,#2,#3,#4:{% - \begin{pgfonlayer}{arrows} - \draw[draw=white,line width=1.5pt](x#1y#2) -- (x#3y#4) ; - \draw[-latex',draw=white,very thin](x#1y#2) -- (x#3y#4) ; - \ifgridon - \draw[line width=\solidwidth](x#1y#2) -- node[anchor=mid] {\href{coord: #1,#2,#3,#4}{\textbullet}} (x#3y#4); - \else - \draw[line width=\solidwidth](x#1y#2) -- (x#3y#4) ; - \fi - \end{pgfonlayer} -} - - -\def\@curved#1,#2,#3,#4;#5:{ - \setcounter{@dy}{#2-#4} - \ifnum#3<#1 - \setcounter{@dx}{#1-#3} - \setcounter{@myangle}{(-#5) * \the@dx * \the@dy * 2} - \else - \setcounter{@dx}{#3-#1} - \setcounter{@myangle}{#5 * \the@dx * \the@dy * 2} - \fi - \setcounter{@myangle}{\the@myangle / ((\the@dx + \the@dy) * (\the@dx + \the@dy))} - \setcounter{@inangle}{180 - \the@myangle} - \begin{pgfonlayer}{arrows} - \draw[draw=white,line width=1.5pt](x#1y#2) to[out=\the@myangle,in=\the@inangle,relative] (x#3y#4) ; - \draw[-latex',draw=white,very thin](x#1y#2) to[out=\the@myangle,in=\the@inangle,relative] (x#3y#4) ; - \ifgridon - \draw[line width=\solidwidth](x#1y#2) to[out=\the@myangle,in=\the@inangle,relative] node[anchor=mid] {\href{coord: #1,#2,#3,#4}{\textbullet}} (x#3y#4) ; - \else - \draw[line width=\solidwidth](x#1y#2) to[out=\the@myangle,in=\the@inangle,relative] (x#3y#4) ; - \fi - \end{pgfonlayer} -} - -\def\@straightDashed#1,#2,#3,#4:{% -\begin{pgfonlayer}{arrows} -\draw[draw=white,line width=1.5pt] (x#1y#2) -- (x#3y#4); -\draw[-latex',draw=white,very thin] (x#1y#2) -- (x#3y#4); -\ifgridon - \draw[dashed,line width=\dashedwidth] (x#1y#2) -- node[anchor=mid] {\href{coord: #1,#2,#3,#4}{\textbullet}} (x#3y#4) ; -\else - \draw[dashed,line width=\dashedwidth] (x#1y#2) -- (x#3y#4); -\fi -\end{pgfonlayer} -} - -\def\@curvedDashed#1,#2,#3,#4;#5:{ - \setcounter{@dy}{#2-#4} - \ifnum#3<#1 - \setcounter{@dx}{#1-#3} - \setcounter{@myangle}{(-#5) * \the@dx * \the@dy * 2} - \else - \setcounter{@dx}{#3-#1} - \setcounter{@myangle}{#5 * \the@dx * \the@dy * 2} - \fi - \setcounter{@myangle}{\the@myangle / ((\the@dx + \the@dy) * (\the@dx + \the@dy))} - \setcounter{@inangle}{180 - \the@myangle} - \begin{pgfonlayer}{arrows} - \draw[draw=white,line width=1.5pt](x#1y#2) to[out=\the@myangle,in=\the@inangle,relative] (x#3y#4) ; - \draw[-latex',draw=white,very thin](x#1y#2) to[out=\the@myangle,in=\the@inangle,relative] (x#3y#4) ; - \ifgridon - \draw[dashed,line width=\dashedwidth](x#1y#2) to[out=\the@myangle,in=\the@inangle,relative] node[anchor=mid] {\href{coord: #1,#2,#3,#4}{\textbullet}} (x#3y#4); - \else - \draw[dashed,line width=\dashedwidth](x#1y#2) to[out=\the@myangle,in=\the@inangle,relative] (x#3y#4); - \fi - \end{pgfonlayer} -} - -\def\@straightDotted#1,#2,#3,#4:{% - \begin{pgfonlayer}{arrows} - \draw[draw=white,line width=1.5pt] (x#1y#2) -- (x#3y#4); - \draw[-latex',draw=white,very thin] (x#1y#2) -- (x#3y#4); - \ifgridon - \draw[loosely dotted,line width=\dottedwidth] (x#1y#2) -- node[anchor=mid] {\href{coord: #1,#2,#3,#4}{\textbullet}} (x#3y#4) ; - \else - \draw[loosely dotted,line width=\dottedwidth] (x#1y#2) -- (x#3y#4); - \fi - \end{pgfonlayer} -} - -\def\@curvedDotted#1,#2,#3,#4;#5:{ - \setcounter{@dy}{#2-#4} - \ifnum#3<#1 - \setcounter{@dx}{#1-#3} - \setcounter{@myangle}{(-#5) * \the@dx * \the@dy * 2} - \else - \setcounter{@dx}{#3-#1} - \setcounter{@myangle}{#5 * \the@dx * \the@dy * 2} - \fi - \setcounter{@myangle}{\the@myangle / ((\the@dx + \the@dy) * (\the@dx + \the@dy))} - \setcounter{@inangle}{180 - \the@myangle} - \begin{pgfonlayer}{arrows} - \draw[draw=white,line width=1.5pt](x#1y#2) to[out=\the@myangle,in=\the@inangle,relative] (x#3y#4) ; - \draw[-latex',draw=white,very thin](x#1y#2) to[out=\the@myangle,in=\the@inangle,relative] (x#3y#4) ; - \ifgridon - \draw[loosely dotted,line width=\dottedwidth](x#1y#2) to[out=\the@myangle,in=\the@inangle,relative] node[anchor=mid] {\href{coord: #1,#2,#3,#4}{\textbullet}} (x#3y#4) ; - \else - \draw[loosely dotted,line width=\dottedwidth](x#1y#2) to[out=\the@myangle,in=\the@inangle,relative] (x#3y#4) ; - \fi - \end{pgfonlayer} -} - - -\def\@grid{ - \gridontrue - \renewcommand{\CourseURL}[3]{coord: ##1,##2} % "coord:" makes it look like a URI - - \begin{pgfonlayer}{grid} - \draw[line width=0.3pt,draw=verylight] (0,0) grid [step=1] (\value{@gridright},\value{@gridtop}); - \draw[line width=0.4pt,draw=somewhatlight] (0,0) grid [step=5] (\value{@gridright},\value{@gridtop}); - - \foreach \i in {0,10,...,\value{@gridright}} - \node at (\i,-4){\small \i}; - - \foreach \i in {0,10,...,\value{@gridtop}} - \node at (-5,\i){\small \i}; - - \foreach \i in {0,10,...,\value{@gridright}} - \node at (\i,\value{@gridtop}+4){\small \i}; - - \foreach \i in {0,10,...,\value{@gridtop}} - \node at (\value{@gridright}+5,\i){\small \i}; - - % anchors are to allow computation of coordinates from mouse clicks in kpdf/okular: - % latex/dvips requires non-null href box - \node at (-5,-4) {\href{anchor: -5,-4}{\kern1sp}}; - \setcounter{@gridtop}{\value{@gridtop} + 4} - \setcounter{@gridright}{\value{@gridright} + 5} - \node at (\the@gridright,\the@gridtop) {\href{anchor: \the@gridright,\the@gridtop}{\kern1sp}}; - \end{pgfonlayer} -} - -% -% -% \begin{chart} ... \end{chart} -% -% - -\newenvironment{chart} -{ \setcounter{@diagwidth}{10 + 1 * \ratio{\textwidth}{\unit}} - - \newwrite\@imapfile % image-map data - \newwrite\@scriptfile % shell script to generate image file - \ifthenelse{\value{chart} = 0} - { \immediate\openout\@imapfile=\jobname.map - \immediate\write\@imapfile{} - } - { \immediate\openout\@imapfile=\jobname_\thechart.map - \immediate\write\@imapfile{} - } - - \let\halfcourse=\@halfcourse - \let\halfcoursec=\@halfcoursec - \let\reqhalfcourse=\@reqhalfcourse - \let\reqhalfcoursec=\@reqhalfcoursec - \let\opthalfcourse=\@opthalfcourse - \let\opthalfcoursec=\@opthalfcoursec - \let\fullcourse=\@fullcourse - \let\fullcoursec=\@fullcoursec - \let\reqfullcourse=\@reqfullcourse - \let\reqfullcoursec=\@reqfullcoursec - \let\optfullcourse=\@optfullcourse - \let\optfullcoursec=\@optfullcoursec - \let\mini=\@mini - \let\text=\@text - \let\prereq=\@prereq - \let\prereqc=\@prereqc - \let\coreq=\@coreq - \let\coreqc=\@coreqc - \let\recomm=\@recomm - \let\recommc=\@recommc - \let\grid=\@grid - \begin{tikzpicture}[x=\unit,y=\unit] - \tikzstyle{every rectangle node}=[inner xsep=1.8pt] - \setcounter{@gridwidth}{(\the@diagwidth-5) / 10} - \setcounter{@gridright}{10 * \value{@gridwidth}} - \setcounter{@gridheight}{\thediagheight / 10} - \setcounter{@gridtop}{10 * \value{@gridheight} } - \useasboundingbox (0,-2) rectangle (\value{@gridright},\value{@gridtop}); - node at (0,0) {\kern1sp\zsavepos{gridOrigin_\thechart}}; - % access absolute page coordinates of the origin using \zposx and \zposy -} -{ - \end{tikzpicture} - \write\@imapfile{} - \closeout\@imapfile - \zsavepos{EndOfChart_\thechart} % determine cropping coordinates - \ifdim\paperwidth<\paperheight - % portrait mode - \setcounter{xSE}{\dpi * \ratio{\zposx{EndOfChart_\thechart}sp}{1in}}% - \setcounter{ySE}{ \dpi * \ratio{\paperheight}{1in}} - \addtocounter{ySE}{0 - \dpi * \ratio{\zposy{EndOfChart_\thechart}sp}{1in}} - \addtocounter{ySE}{0 + 2 * \PixelsPerUnit } % bottom margin - \else - % landscape mode - \setcounter{xSE}{ \dpi * \ratio{\paperwidth}{1in}} - \addtocounter{xSE}{0 - \dpi * \ratio{\zposx{EndOfChart_\thechart}sp}{1in}}% - \addtocounter{xSE}{0 + 2 * \PixelsPerUnit } % bottom margin - \setcounter{ySE}{ \dpi * \ratio{\paperheight}{1in}} - \addtocounter{ySE}{ 0 - \dpi * \ratio{\zposy{EndOfChart_\thechart}sp}{1in}} - \fi - \edef\HasH{\expandafter\@gobble\string\#} - \ifthenelse{\value{chart} = 0} - { % generate a script to crop a chart image - \immediate\openout\@scriptfile=\jobname.sh - \immediate\write\@scriptfile{\HasH!/bin/sh} - % defer remaining output till cropping coordinates are available - \write\@scriptfile{mogrify -crop \thexSE x\theySE +0+0 \jobname.png} - \write\@scriptfile{exit 0} - \closeout\@scriptfile - } - { % more than one chart; unlikely a script would be usable - } - \stepcounter{chart} -} diff -Nru prerex-6.5.3/README prerex-6.5.4/README --- prerex-6.5.3/README 2013-10-12 13:22:44.000000000 +0000 +++ prerex-6.5.4/README 2014-02-07 15:02:24.000000000 +0000 @@ -1,98 +1,17 @@ -prerex, version 6.5.3: Macros for prerequisite charts, with associated -editor and viewer applications. +Prerex is an interactive program for editing prerequisite-chart +descriptions in the prerex format. The user does not normally have to be +familiar with details of the format. The editor supports add, remove, +cut-and-paste, and edit operations on diagram elements, and horizontal +or vertical shifts of a list of specified elements, all the elements in +a rectangular region, or the entire diagram. The edited diagram may be +saved, re-processed, and viewed in a PDF viewer, without exiting the +editor. + +The effects of editing operations may be observed in any PDF viewer. The +"vprerex" (visual prerex) application (not included here) is a graphical +front-end and viewer for the prerex editor. It may be used just as a +minimalist viewer of arbitrary PDF files but supports editing of charts +generated using prerex.sty by allowing coordinates of course boxes, +arrows, and background points to be conveyed over to the prerex editor +command-line using the clipboard. -This package consists of - - prerex.sty - a LaTeX package for producing charts of course nodes - linked by arrows representing pre- and co-requisites, - - prerex - an interactive program for creating and editing chart - descriptions, and - - vprerex ("visual prerex") a GUI and previewer for prerex. - -The implementation of prerex.sty is built on pgf, so that it may be -used equally happily with latex or pdflatex; prerex is written in C and -vprerex is written in C++ using the Qt-4 and poppler libraries. - -See chart.{pdf,html} for a small example of a prerequisite chart and -real-life examples at - -http://www.cs.queensu.ca/students/undergraduate/prerequisites/ - -Prerequisite charts are useful to students selecting courses and -planning their programs, and to faculty and staff advising students -and managing curriculum development. Conventional sources of course, -program and timetable information are rarely in a user-friendly format. -Faculty and staff advisors, being already fairly familiar with their -courses and programs, often do not appreciate how inconvenient it is -for students to access all the information they need to make course -choices. - -The crucial tool in the prerex suite is "prerex.sty", a macro package -that defines a "chart" environment and commands to specify construction -of course boxes and directed arrows between them. - -prerex.sty depends on - - pgf (and add-on tikz), version 1.18 or higher - multido - relsize - calc - ifthen - zref-savepos - hyperref - -The use of pgf means that Postscript processing is not required; -either pdflatex or latex -> dvips [ -> ps2pdf ] may be used. - -Installation of prerex.sty: - - + copy prerex.sty to your-texmf-tree/tex/latex/misc - + copy doc/prerex.{tex,pdf} to your-texmf-tree/doc/latex/misc - + if necessary, refresh the TeX database (e.g., texhash) - + copy doc/prerex.sty.7 to sub-directory man7 of a man directory on your - MANPATH - + test by doing - - man 7 prerex.sty - pdflatex chart.tex - -See doc/prerex.pdf for detailed documentation. - -The prerex editor allows interactive editing of the chart environments -of LaTeX source files. It supports add, remove, cut-and-paste, and edit -operations on course boxes and arrows, and vertical or horizontal shifts -of the whole diagram or selected sets of course boxes. When a course box -is moved, the arrows into and out of it automatically follow. To install -on most Unix-like platforms, including OS-X and Cygwin on Windows: - - tar zxvf prerex-6.5.2.tar.gz - cd prerex-6.5.2 - ./configure [--prefix=$HOME] - make - make install (as root if necessary) - -The prerex editor will also build on the MinGW platform on Windows if -the readline package in the gnuwin32.sourceforge.net repository has been -installed. - -The effects of editing operations may be observed in any PDF viewer. -The vprerex (visual prerex) application included in the prerex suite -is a GUI and viewer for the prerex editor. It may be used just as a -minimalist viewer of arbitrary PDF files but supports editing of -charts generated using prerex.sty by allowing coordinates of course -boxes, arrows, and background points to be conveyed back to the prerex -editor command-line using the clipboard. See the INSTALL in the tarball -for installation instructions. - -See the file doc/intro.pdf for an overview of the prerex system. - -prerex.sty, README, prerex.1, prerex.5, prerex.sty.7, prerex.tex and -chart.tex may be modified and distributed according to the terms of the -LaTeX Project Public License. - -The source files for prerex and vprerex may be modified and distributed -according to the terms of the GNU General Public Licence (version 2). diff -Nru prerex-6.5.3/utils.c prerex-6.5.4/utils.c --- prerex-6.5.3/utils.c 1970-01-01 00:00:00.000000000 +0000 +++ prerex-6.5.4/utils.c 2014-04-23 00:22:16.000000000 +0000 @@ -0,0 +1,127 @@ + +/* + utils.c -- utilities for interactive editor of prerequisite-chart descriptions + Copyright (C) 2005 - 2012 R. D. Tennent + School of Computing, Queen's University, rdt@cs.queensu.ca + +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., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +*/ + + +# include "prerex.h" + +void +error (char msg[]) /* abort with stderr message msg */ +{ + fprintf (stderr, "Error: %s\n", msg); +# ifdef HAVE_LIBEDIT + history_end (hist); + el_end (el); +# endif + close_files (); + exit (EXIT_FAILURE); +} + + +size_t +append (char *dst, char **offset, const char *src, size_t n) +/* Copies src to *offset and updates *offset accordingly (if possible). + * Assumes *offset is dst if offset == NULL. + * Execution aborts if **offset != '\0'. The src string must be null-terminated. + * Returns (original offset - dst) + strlen(src); if >= n, the string was truncated. + */ +{ + const char *s = src; + char *d; + char *off_orig = ( offset != NULL ? *offset : dst ); + d = off_orig; + if (*d != '\0') + { + char msg[LINE_LEN + 24] = {'\0'}; + char *msg_n = msg; + append (msg, &msg_n, "\nNull character expected at offset specified for string ", sizeof (msg)); + append (msg, &msg_n, src, sizeof (msg)); + error (msg); + } + n = n - 1 - (off_orig - dst); /* number of available slots (leaving room for \0) */ + while (n > 0 && *s != '\0') + { + *d = *s; /* copy non-null character */ + d++; s++; n--; + } + *d = '\0'; /* null-terminate */ + if (offset != NULL) + *offset = d; /* update *offset (if possible) */ + while (*s != '\0') /* traverse rest of src */ + s++; + return (off_orig - dst) + (s - src); /* length of the untruncated string */ +} + +bool +prefix (const char *cs, const char *ct) +/* is string cs[] a prefix of ct[]? */ +{ + char *pcs = (char *) cs; + char *pct = (char *) ct; + while (*pcs != '\0') + { + if (*pcs != *pct) + return false; + pcs++; + pct++; + } + return true; +} + +bool +suffix (const char *cs, const char *ct) +/* is string cs[] a suffix of ct[]? */ +{ + char *pcs = (char *) cs; + char *pct = (char *) ct + strlen (ct) - strlen (cs); + while (*pcs != '\0') + { + if (*pct != *pcs) + return false; + pcs++; + pct++; + } + return true; +} + + +void +copy (FILE * f, FILE * g) +{ + int c; + fflush (f); + rewind (f); + c = getc (f); + while (c != EOF) + { + putc (c, g); + c = getc (f); + } +} + +bool +inrange (coord x, coord x0, coord x1) +/* is coordinate x in the range x0:x1? */ +{ +# define min(x,y) (x < y ? x : y) +# define max(x,y) (x < y ? y : x) + return x >= min(x0, x1) && x <= max(x0, x1) ; +} + diff -Nru prerex-6.5.3/vprerex-6.4.2/ChangeLog prerex-6.5.4/vprerex-6.4.2/ChangeLog --- prerex-6.5.3/vprerex-6.4.2/ChangeLog 2012-05-30 16:02:34.000000000 +0000 +++ prerex-6.5.4/vprerex-6.4.2/ChangeLog 1970-01-01 00:00:00.000000000 +0000 @@ -1,77 +0,0 @@ -Version 6.4.2 2012-05-30 - - - allow for Windows (rather than X11) clipboard function - -Version 6.4.1 2012-05-25 - - - restore FileSystemWatch path after reloading pdf (needed for Windows) - -Version 6.4.0 2012-04-13 - - - references to undeclared sleep() replaced by references to QThread::sleep() - (debian bug 667331). - -Version 6.3.2 2012-03-30 - - - bump up version number to match prerex.sty and prerex - -Version 6.3.1 2011-12-22 - - If a file opening dialogue is used and a tex file is opened, the Working Directory - for the prerex process is set to the directory of the tex file. - -Version 6.3 2011-11-22 - - Right-clicking on a course box or arrow *appends* coordinates to the - clipboard (to simplify multiple deletes/shifts). - -Version 6.2 2011-09-08 - - no longer embedding the prerex editing window because of continuing focus issues - -Version 6.1.1 2011-08-20 - - - using grabKeyboard to avoid keyboard-focus issues - - bump up version number to match prerex.sty and prerex - -Version 6.0.1 2011-07-27 - - - modified FocusPolicy - -Version 6.0 2010-06-23 - - - files re-organized and distributed as a gzipped tarball - -Version 5.7 2010-04-06 - - - corrected coordinate calculations to use the image width/height rather than - the widget width/height (and allow for image offsets) - -Version 5.6 2010-03-26 -Version 5.5 2010-03-16 - - - re-named vprerex (visual prerex) - - opens prerex source files by embedding a prerex command-line window - - added Quit button to controls - - removed docking features from the controls widget - - removed resizing from the statusbar - - This is the first distributed version of vprerex; the version numbers are - starting at 5.5 to be compatible with the current version of prerex. - - Derived from pdfviewer by - - - excising all UI widgets except the Page spinner and the Scale selector - - - adding URI tooltips and cursor-shape changes for links - - - assigning box, edge, and background-point coordinates to the X clipboard - when the user clicks on a box, edge mid-point, or background point, resp. - (for a prerex chart with the coordinate grid enabled) - - - adding a file watcher to re-load the PDF when the file changes - - - posting taskbar messages to identify the program version and the loaded file, - and inform the user that the PDF has been re-loaded - - diff -Nru prerex-6.5.3/vprerex-6.4.2/COPYING prerex-6.5.4/vprerex-6.4.2/COPYING --- prerex-6.5.3/vprerex-6.4.2/COPYING 2012-08-23 12:06:30.000000000 +0000 +++ prerex-6.5.4/vprerex-6.4.2/COPYING 1970-01-01 00:00:00.000000000 +0000 @@ -1,340 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Library General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Library General -Public License instead of this License. diff -Nru prerex-6.5.3/vprerex-6.4.2/documentwidget.cpp prerex-6.5.4/vprerex-6.4.2/documentwidget.cpp --- prerex-6.5.3/vprerex-6.4.2/documentwidget.cpp 2012-05-30 14:23:25.000000000 +0000 +++ prerex-6.5.4/vprerex-6.4.2/documentwidget.cpp 1970-01-01 00:00:00.000000000 +0000 @@ -1,264 +0,0 @@ - -/**************************************************************************** -** Adapted from PDFviewer, originally published in the QT Quarterly: -** http://doc.trolltech.com/qq/QtQuarterly27.pdf -** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies). -** Contact: Qt Software Information (qt-info@nokia.com) -** -** Modified for use with prerex: -** http://www.ctan.org/tex-archive/graphics/prerex -** Copyright (C) 2009-12 R. D. Tennent -** School of Computing, Queen's University, rdt@cs.queensu.ca - -** 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., -** 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -** -****************************************************************************/ - -#include -#include -#include "documentwidget.h" - -DocumentWidget::DocumentWidget(QWidget *parent) - : QLabel(parent) -{ - currentPage = -1; - doc = NULL; - scaleFactor = 1.1; - setCursor(Qt::ArrowCursor); - setAlignment(Qt::AlignTop | Qt::AlignCenter); - mousePressed = false; - setMouseTracking(true); - cb = QApplication::clipboard(); - timer = new QTimer(this); - connect(timer, SIGNAL(timeout()), this, SLOT(reloadDocument2())); -} - -DocumentWidget::~DocumentWidget() -{ - delete doc; -} - -Poppler::Document *DocumentWidget::document() -{ - return doc; -} - -void DocumentWidget::mousePressEvent(QMouseEvent *event) -{ - Qt::MouseButton qtm = event->button(); - if ( !(qtm == Qt::LeftButton || qtm == Qt::RightButton) ) return; - int x1 = 0, y1 = 0, x2 = 0, y2 = 0; // pixel coordinates of anchors - int xc1 = 0, yc1 = 0, xc2 = 0, yc2 = 0; // chart coordinates of anchors - int n_anchors = 0; // number of anchors found - imageXoffset = 0; imageYoffset = 0; // re-compute in case of window re-sizing - if (imageWidth < width()) - imageXoffset = (width() - imageWidth) / 2; - if (imageHeight < height()) // possible after re-scaling despite AlignTop - imageYoffset = (height() - imageHeight) / 2; - int xmouse = event->pos().x() - imageXoffset; // mouse coordinates in pixels - int ymouse = event->pos().y() - imageYoffset; - QPointF mousePos // normalized position in [0..1] coordinates - = QPointF((qreal)xmouse / (qreal)imageWidth, (qreal)ymouse / (qreal)imageHeight); - - - // iterate through the Links: - for (int i = 0; i < pageLinks.size(); ++i) - { - Poppler::LinkBrowse * link = static_cast(pageLinks[i]); - if (link == NULL) continue; // not a Browse Link - QString URI = link->url(); - QRectF linkRect = pageLinks[i]->linkArea(); - if ( linkRect.contains(mousePos) && URI.startsWith(QString("coord:")) ) - { // clicked in a coord: x,y box or coord: x0,y0,x1,y1 bullet - QString cbString; - if ( qtm == Qt::RightButton ) - { - if (cb->supportsSelection()) - cbString.append(cb->text(QClipboard::Selection)); - else - cbString.append(cb->text(QClipboard::Clipboard)); - cbString.append(" "); - } - URI.remove("coord: "); - cbString.append(URI); - if (cb->supportsSelection()) - cb->setText(cbString, QClipboard::Selection); - else - cb->setText(cbString, QClipboard::Clipboard); - setCursor(Qt::CrossCursor); - mousePressed = true; - return; - } - if ( URI.startsWith(QString("anchor:")) ) - { - QPointF anchorCenter // in [0..1] coordinates - = (pageLinks[i]->linkArea()).center(); - URI.remove(0,7); // remove "anchor:" - int comma = URI.indexOf(','); - QString xs = URI.left(comma); // x-coordinate as a string - QString ys = URI.remove(0, comma+1); // y-coordinate as a string - if (n_anchors == 0) - { - xc1 = xs.toInt(); - yc1 = ys.toInt(); - x1 = (int)(imageWidth * anchorCenter.x()); - y1 = (int)(imageHeight * anchorCenter.y()); - n_anchors++; - } - else if (n_anchors == 1) - { - xc2 = xs.toInt(); - yc2 = ys.toInt(); - x2 = (int)(imageWidth * anchorCenter.x()); - y2 = (int)(imageHeight * anchorCenter.y()); - n_anchors++; - } - } - } - if (n_anchors == 0) return; // coordinate grid off? - if (n_anchors == 1) - { - QMessageBox::warning(this, tr("vprerex"), tr("Only found one anchor")); - return; - } - // clicked on background grid; must be LeftButton click - if ( qtm == Qt::RightButton ) return; - // determine chart coordinates of the click point: - int xc = (int)( 0.25L + (xc1 + xc2)/2.0L - ((x1 + x2)/2.0L - xmouse) * (qreal)(xc2 - xc1) / (x2 - x1) ); - int yc = (int)( 0.75L + (yc1 + yc2)/2.0L - ((y1 + y2)/2.0L - ymouse) * (qreal)(yc2 - yc1) / (y2 - y1) ); - if (cb->supportsSelection()) - cb->setText(QString("%1,%2").arg(xc).arg(yc), QClipboard::Selection); - else - cb->setText(QString("%1,%2").arg(xc).arg(yc), QClipboard::Clipboard); - mousePressed = true; - setCursor(Qt::CrossCursor); -} - -void DocumentWidget::mouseMoveEvent(QMouseEvent *event) -{ - - imageXoffset = 0; imageYoffset = 0; // re-compute in case of window re-sizing - if (imageWidth < width()) - imageXoffset = (width() - imageWidth) / 2; - if (imageHeight < height()) // possible after re-scaling despite AlignTop - imageYoffset = (height() - imageHeight) / 2; - int xmouse = event->pos().x() - imageXoffset; // mouse coordinates in pixels - int ymouse = event->pos().y() - imageYoffset; - QPointF mousePos // normalized click position in [0..1] coordinates - = QPointF((qreal)xmouse / (qreal)imageWidth, (qreal)ymouse / (qreal)imageHeight); - - // iterate through the Links: - for (int i = 0; i < pageLinks.size(); ++i) - { - Poppler::LinkBrowse * link = static_cast(pageLinks[i]); - if (link == NULL) continue; // not a Browse Link - QString URI = link->url(); - QRectF linkRect = pageLinks[i]->linkArea(); - if ( linkRect.contains(mousePos) ) - { - if ( mousePressed ) return; - setCursor(Qt::PointingHandCursor); - setToolTip(URI); - return; - } - } - if (mousePressed) return; - setCursor(Qt::ArrowCursor); -} - -void DocumentWidget::mouseReleaseEvent(QMouseEvent *) -{ - mousePressed = false; - setCursor(Qt::ArrowCursor); -} - -qreal DocumentWidget::scale() const -{ - return scaleFactor; -} - -void DocumentWidget::showPage(int page) -{ - if (page != -1 && page != currentPage + 1) { - currentPage = page - 1; - emit pageChanged(page); - } - QImage image - = doc->page(currentPage)->renderToImage(scaleFactor * physicalDpiX(), scaleFactor * physicalDpiY()); - setPixmap(QPixmap::fromImage(image)); - imageWidth = image.width(); - imageHeight = image.height(); - pageLinks = doc -> page(currentPage) -> links(); - setCursor(Qt::ArrowCursor); -} - -bool DocumentWidget::setDocument(const QString &filePath) -{ - doc = Poppler::Document::load(filePath); - if (doc == NULL) { - // temporarily ill-formed pdf? wait for another reload signal - return( false ); - } - currentPath = filePath; - fileInfo = new QFileInfo(currentPath); - doc->setRenderHint(Poppler::Document::Antialiasing); - doc->setRenderHint(Poppler::Document::TextAntialiasing); - currentPage = -1; - setPage(1); - return( true ); -} - -void DocumentWidget::reloadDocument1(void) -{ - fileInfo->refresh(); - if (fileInfo->size() == 0) return; // pdflatex clears file.pdf - timer->setSingleShot(true); - timer->start(2000); // wait for the file to stabilize - // When the timer timesout, it calls reloadDocument2 -} - -void DocumentWidget::reloadDocument2(void) -{ - Poppler::Document *savedoc; - fileInfo->refresh(); - if (fileInfo->size() == 0) return; // pdflatex clears file.pdf - savedoc = doc; - doc = Poppler::Document::load(currentPath); - if (doc == NULL) { - // temporarily ill-formed pdf? wait for another reload signal - doc = savedoc; - return; - } - delete savedoc; - doc->setRenderHint(Poppler::Document::Antialiasing); - doc->setRenderHint(Poppler::Document::TextAntialiasing); - showPage(currentPage+1); - documentReloaded(); -} - -void DocumentWidget::setPage(int page) -{ - if (page != currentPage + 1) { - showPage(page); - } -} - -void DocumentWidget::setScale(qreal scale) -{ - if (scaleFactor != scale) { - scaleFactor = scale; - showPage(-1); - } -} diff -Nru prerex-6.5.3/vprerex-6.4.2/documentwidget.h prerex-6.5.4/vprerex-6.4.2/documentwidget.h --- prerex-6.5.3/vprerex-6.4.2/documentwidget.h 2012-05-28 15:55:26.000000000 +0000 +++ prerex-6.5.4/vprerex-6.4.2/documentwidget.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,84 +0,0 @@ - -/**************************************************************************** -** Adapted from PDFviewer, originally published in the QT Quarterly: -** http://doc.trolltech.com/qq/QtQuarterly27.pdf -** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies). -** Contact: Qt Software Information (qt-info@nokia.com) -** -** Modified for use with prerex: -** http://www.ctan.org/tex-archive/graphics/prerex -** Copyright (C) 2009-12 R. D. Tennent -** School of Computing, Queen's University, rdt@cs.queensu.ca - -** 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., -** 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -** -****************************************************************************/ - -#ifndef DOCUMENTWIDGET_H -#define DOCUMENTWIDGET_H - -#include -#include -#include -#include -#include -#include - -class DocumentWidget : public QLabel -{ - Q_OBJECT - -public: - DocumentWidget(QWidget *parent = 0); - ~DocumentWidget(); - Poppler::Document *document(); - QMatrix matrix() const; - qreal scale() const; - bool setDocument(const QString &filePath); - -public slots: - void reloadDocument1(); - void reloadDocument2(); - void setPage(int page = -1); - void setScale(qreal scale); - -protected: - void mousePressEvent(QMouseEvent *event); - void mouseMoveEvent(QMouseEvent *event); - void mouseReleaseEvent(QMouseEvent *event); - -signals: - void pageChanged(int currentPage); - void documentReloaded(); - -private: - void showPage(int page = -1); - - Poppler::Document *doc; - int currentPage; - qreal scaleFactor; - QList pageLinks; - bool mousePressed; - QClipboard *cb; - QString currentPath; - QTimer *timer ; - QFileInfo *fileInfo; - int imageWidth; - int imageHeight; - int imageXoffset; - int imageYoffset; -}; - -#endif diff -Nru prerex-6.5.3/vprerex-6.4.2/INSTALL prerex-6.5.4/vprerex-6.4.2/INSTALL --- prerex-6.5.3/vprerex-6.4.2/INSTALL 2012-05-30 16:02:34.000000000 +0000 +++ prerex-6.5.4/vprerex-6.4.2/INSTALL 1970-01-01 00:00:00.000000000 +0000 @@ -1,57 +0,0 @@ -To install: - - + You must have first installed the Qt-4 and poppler libraries, - including the poppler-qt4 library. These may be available packaged - for your platform or the sources can be obtained from: - -http://qt.nokia.com/downloads/downloads#qt-lib -http://poppler.freedesktop.org/ - - + Edit vprerex.pro so INCLUDEPATH and LIBS point to the - relevant directories. - - + qmake vprerex.pro (using the Qt-4 qmake) - - + make - - + install the vprerex binary in a suitable directory such as - $HOME/bin or /usr/local/bin. - -If vprerex is applied to a LaTeX file, it calls xterm and the prerex -editor. - -On Windows, the Qt-4 and poppler libraries are available for the Cygwin -platform; then vprerex will build and run on the Cygwin X-server. - -It is also possible to build and use vprerex on the MinGW platform -in Windows. Install the Qt-4 libraries for MinGW-4.4 from - -http://qt.nokia.com/downloads/windows-cpp - -and the poppler libraries from - -http://windows.kde.org/download.php - -The headers and libraries for the latter install under - -c:\ProgramData\KDE. - -so use - -INCLUDEPATH += /c/ProgramData/KDE/include/poppler/qt4 -LIBS += -L/c/ProgramData/KDE/lib -lpoppler-qt4 - -in vprerex.pro. - -The resulting vprerex.exe will run but of course cannot open an xterm -or start prerex; however, prerex can be started separately in a MinGW -shell. To paste from the clipboard, enable QuickEdit mode in the shell: - -- Right-click in the title-bar, and then click Properties. - -- On the Options tab, click to select the QuickEdit Mode check box. - -- Click OK. - -Then right-clicking will paste the clipboard text into the prerex -command line. diff -Nru prerex-6.5.3/vprerex-6.4.2/main.cpp prerex-6.5.4/vprerex-6.4.2/main.cpp --- prerex-6.5.3/vprerex-6.4.2/main.cpp 2012-08-22 15:20:40.000000000 +0000 +++ prerex-6.5.4/vprerex-6.4.2/main.cpp 1970-01-01 00:00:00.000000000 +0000 @@ -1,83 +0,0 @@ -/**************************************************************************** -** Adapted from PDFviewer, originally published in the QT Quarterly: -** http://doc.trolltech.com/qq/QtQuarterly27.pdf -** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies). -** Contact: Qt Software Information (qt-info@nokia.com) -** -** Modified for use with prerex: -** http://www.ctan.org/tex-archive/graphics/prerex -** Copyright (C) 2009-12 R. D. Tennent -** School of Computing, Queen's University, rdt@cs.queensu.ca - -** 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., -** 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -** -****************************************************************************/ - -/* -** vprerex (visual prerex) is a GUI front-end and viewer for the prerex -** interactive editor of prerequisite-chart descriptions in the prerex -** format. The viewer may be used just as a minimalist viewer of -** arbitrary PDF files but supports editing of charts generated using -** prerex.sty by allowing coordinates of course boxes, arrows, and -** background points to be conveyed back to the prerex editor command-line -** using the clipboard. -*/ - -#include -#include "window.h" -#include - -using namespace std; - - -int main(int argc, char *argv[]) -{ - - QApplication app(argc, argv); - Window window; - QStringList Argv = app.arguments(); - - printf ("This is vprerex, version %s.\n", version); - puts ("Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies)."); - puts ("Qt Software Information (qt-info@nokia.com)"); - puts ("Copyright (c) 2009-12 R. D. Tennent"); - puts ("School of Computing, Queen's University, rdt@cs.queensu.ca"); - puts - ("This program comes with NO WARRANTY. You can redistribute vprerex and/or"); - puts - ("modify it under the terms of the GNU General Public License version 2."); - puts (""); - - window.show(); - if ( argc > 1 ) - { - QString fileName; - QString chartFileName; - fileName.append(Argv.at(1)); - if (!fileName.endsWith(".tex") && !fileName.endsWith(".pdf")) - fileName.append(".tex"); - if ( argc > 2 ) - { - chartFileName.append(Argv.at(2)); - if (!chartFileName.endsWith(".tex")) - chartFileName.append(".tex"); - } - window.setFileNames(fileName, chartFileName); - } - else - window.open(); - - return app.exec(); -} diff -Nru prerex-6.5.3/vprerex-6.4.2/Makefile prerex-6.5.4/vprerex-6.4.2/Makefile --- prerex-6.5.3/vprerex-6.4.2/Makefile 2012-05-30 14:35:45.000000000 +0000 +++ prerex-6.5.4/vprerex-6.4.2/Makefile 1970-01-01 00:00:00.000000000 +0000 @@ -1,233 +0,0 @@ -############################################################################# -# Makefile for building: vprerex -# Generated by qmake (2.01a) (Qt 4.6.2) on: Wed May 30 10:35:45 2012 -# Project: vprerex.pro -# Template: app -# Command: /usr/bin/qmake-qt4 -unix -o Makefile vprerex.pro -############################################################################# - -####### Compiler, tools and options - -CC = gcc -CXX = g++ -DEFINES = -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -CFLAGS = -pipe -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i686 -mtune=atom -fasynchronous-unwind-tables -Wall -W -D_REENTRANT $(DEFINES) -CXXFLAGS = -pipe -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i686 -mtune=atom -fasynchronous-unwind-tables -Wall -W -D_REENTRANT $(DEFINES) -INCPATH = -I/usr/lib/qt4/mkspecs/linux-g++ -I. -I/usr/include/QtCore -I/usr/include/QtGui -I/usr/include -I/usr/include/poppler/qt4 -I. -I. -LINK = g++ -LFLAGS = -Wl,-O1 -LIBS = $(SUBLIBS) -L/usr/lib -lpoppler-qt4 -lQtGui -lQtCore -lpthread -AR = ar cqs -RANLIB = -QMAKE = /usr/bin/qmake-qt4 -TAR = tar -cf -COMPRESS = gzip -9f -COPY = cp -f -SED = sed -COPY_FILE = $(COPY) -COPY_DIR = $(COPY) -r -STRIP = -INSTALL_FILE = install -m 644 -p -INSTALL_DIR = $(COPY_DIR) -INSTALL_PROGRAM = install -m 755 -p -DEL_FILE = rm -f -SYMLINK = ln -f -s -DEL_DIR = rmdir -MOVE = mv -f -CHK_DIR_EXISTS= test -d -MKDIR = mkdir -p - -####### Output directory - -OBJECTS_DIR = ./ - -####### Files - -SOURCES = documentwidget.cpp \ - main.cpp \ - window.cpp moc_documentwidget.cpp \ - moc_window.cpp -OBJECTS = documentwidget.o \ - main.o \ - window.o \ - moc_documentwidget.o \ - moc_window.o -DIST = /usr/lib/qt4/mkspecs/common/g++-multilib.conf \ - /usr/lib/qt4/mkspecs/common/unix.conf \ - /usr/lib/qt4/mkspecs/common/linux.conf \ - /usr/lib/qt4/mkspecs/qconfig.pri \ - /usr/lib/qt4/mkspecs/features/qt_functions.prf \ - /usr/lib/qt4/mkspecs/features/qt_config.prf \ - /usr/lib/qt4/mkspecs/features/exclusive_builds.prf \ - /usr/lib/qt4/mkspecs/features/default_pre.prf \ - /usr/lib/qt4/mkspecs/features/release.prf \ - /usr/lib/qt4/mkspecs/features/default_post.prf \ - /usr/lib/qt4/mkspecs/features/warn_on.prf \ - /usr/lib/qt4/mkspecs/features/qt.prf \ - /usr/lib/qt4/mkspecs/features/unix/thread.prf \ - /usr/lib/qt4/mkspecs/features/moc.prf \ - /usr/lib/qt4/mkspecs/features/resources.prf \ - /usr/lib/qt4/mkspecs/features/uic.prf \ - /usr/lib/qt4/mkspecs/features/yacc.prf \ - /usr/lib/qt4/mkspecs/features/lex.prf \ - /usr/lib/qt4/mkspecs/features/include_source_dir.prf \ - vprerex.pro -QMAKE_TARGET = vprerex -DESTDIR = -TARGET = vprerex - -first: all -####### Implicit rules - -.SUFFIXES: .o .c .cpp .cc .cxx .C - -.cpp.o: - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<" - -.cc.o: - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<" - -.cxx.o: - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<" - -.C.o: - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<" - -.c.o: - $(CC) -c $(CFLAGS) $(INCPATH) -o "$@" "$<" - -####### Build rules - -all: Makefile $(TARGET) - -$(TARGET): ui_window.h $(OBJECTS) - $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJCOMP) $(LIBS) - -Makefile: vprerex.pro /usr/lib/qt4/mkspecs/linux-g++/qmake.conf /usr/lib/qt4/mkspecs/common/g++-multilib.conf \ - /usr/lib/qt4/mkspecs/common/unix.conf \ - /usr/lib/qt4/mkspecs/common/linux.conf \ - /usr/lib/qt4/mkspecs/qconfig.pri \ - /usr/lib/qt4/mkspecs/features/qt_functions.prf \ - /usr/lib/qt4/mkspecs/features/qt_config.prf \ - /usr/lib/qt4/mkspecs/features/exclusive_builds.prf \ - /usr/lib/qt4/mkspecs/features/default_pre.prf \ - /usr/lib/qt4/mkspecs/features/release.prf \ - /usr/lib/qt4/mkspecs/features/default_post.prf \ - /usr/lib/qt4/mkspecs/features/warn_on.prf \ - /usr/lib/qt4/mkspecs/features/qt.prf \ - /usr/lib/qt4/mkspecs/features/unix/thread.prf \ - /usr/lib/qt4/mkspecs/features/moc.prf \ - /usr/lib/qt4/mkspecs/features/resources.prf \ - /usr/lib/qt4/mkspecs/features/uic.prf \ - /usr/lib/qt4/mkspecs/features/yacc.prf \ - /usr/lib/qt4/mkspecs/features/lex.prf \ - /usr/lib/qt4/mkspecs/features/include_source_dir.prf \ - /usr/lib/libQtGui.prl \ - /usr/lib/libQtCore.prl - $(QMAKE) -unix -o Makefile vprerex.pro -/usr/lib/qt4/mkspecs/common/g++-multilib.conf: -/usr/lib/qt4/mkspecs/common/unix.conf: -/usr/lib/qt4/mkspecs/common/linux.conf: -/usr/lib/qt4/mkspecs/qconfig.pri: -/usr/lib/qt4/mkspecs/features/qt_functions.prf: -/usr/lib/qt4/mkspecs/features/qt_config.prf: -/usr/lib/qt4/mkspecs/features/exclusive_builds.prf: -/usr/lib/qt4/mkspecs/features/default_pre.prf: -/usr/lib/qt4/mkspecs/features/release.prf: -/usr/lib/qt4/mkspecs/features/default_post.prf: -/usr/lib/qt4/mkspecs/features/warn_on.prf: -/usr/lib/qt4/mkspecs/features/qt.prf: -/usr/lib/qt4/mkspecs/features/unix/thread.prf: -/usr/lib/qt4/mkspecs/features/moc.prf: -/usr/lib/qt4/mkspecs/features/resources.prf: -/usr/lib/qt4/mkspecs/features/uic.prf: -/usr/lib/qt4/mkspecs/features/yacc.prf: -/usr/lib/qt4/mkspecs/features/lex.prf: -/usr/lib/qt4/mkspecs/features/include_source_dir.prf: -/usr/lib/libQtGui.prl: -/usr/lib/libQtCore.prl: -qmake: FORCE - @$(QMAKE) -unix -o Makefile vprerex.pro - -dist: - @$(CHK_DIR_EXISTS) .tmp/vprerex1.0.0 || $(MKDIR) .tmp/vprerex1.0.0 - $(COPY_FILE) --parents $(SOURCES) $(DIST) .tmp/vprerex1.0.0/ && $(COPY_FILE) --parents documentwidget.h window.h .tmp/vprerex1.0.0/ && $(COPY_FILE) --parents documentwidget.cpp main.cpp window.cpp .tmp/vprerex1.0.0/ && $(COPY_FILE) --parents window.ui .tmp/vprerex1.0.0/ && (cd `dirname .tmp/vprerex1.0.0` && $(TAR) vprerex1.0.0.tar vprerex1.0.0 && $(COMPRESS) vprerex1.0.0.tar) && $(MOVE) `dirname .tmp/vprerex1.0.0`/vprerex1.0.0.tar.gz . && $(DEL_FILE) -r .tmp/vprerex1.0.0 - - -clean:compiler_clean - -$(DEL_FILE) $(OBJECTS) - -$(DEL_FILE) *~ core *.core - - -####### Sub-libraries - -distclean: clean - -$(DEL_FILE) $(TARGET) - -$(DEL_FILE) Makefile - - -mocclean: compiler_moc_header_clean compiler_moc_source_clean - -mocables: compiler_moc_header_make_all compiler_moc_source_make_all - -compiler_moc_header_make_all: moc_documentwidget.cpp moc_window.cpp -compiler_moc_header_clean: - -$(DEL_FILE) moc_documentwidget.cpp moc_window.cpp -moc_documentwidget.cpp: documentwidget.h - /usr/lib/qt4/bin/moc $(DEFINES) $(INCPATH) documentwidget.h -o moc_documentwidget.cpp - -moc_window.cpp: documentwidget.h \ - ui_window.h \ - window.h - /usr/lib/qt4/bin/moc $(DEFINES) $(INCPATH) window.h -o moc_window.cpp - -compiler_rcc_make_all: -compiler_rcc_clean: -compiler_image_collection_make_all: qmake_image_collection.cpp -compiler_image_collection_clean: - -$(DEL_FILE) qmake_image_collection.cpp -compiler_moc_source_make_all: -compiler_moc_source_clean: -compiler_uic_make_all: ui_window.h -compiler_uic_clean: - -$(DEL_FILE) ui_window.h -ui_window.h: window.ui - /usr/lib/qt4/bin/uic window.ui -o ui_window.h - -compiler_yacc_decl_make_all: -compiler_yacc_decl_clean: -compiler_yacc_impl_make_all: -compiler_yacc_impl_clean: -compiler_lex_make_all: -compiler_lex_clean: -compiler_clean: compiler_moc_header_clean compiler_uic_clean - -####### Compile - -documentwidget.o: documentwidget.cpp documentwidget.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o documentwidget.o documentwidget.cpp - -main.o: main.cpp window.h \ - documentwidget.h \ - ui_window.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o main.o main.cpp - -window.o: window.cpp window.h \ - documentwidget.h \ - ui_window.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o window.o window.cpp - -moc_documentwidget.o: moc_documentwidget.cpp - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_documentwidget.o moc_documentwidget.cpp - -moc_window.o: moc_window.cpp - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_window.o moc_window.cpp - -####### Install - -install: FORCE - -uninstall: FORCE - -FORCE: - diff -Nru prerex-6.5.3/vprerex-6.4.2/README prerex-6.5.4/vprerex-6.4.2/README --- prerex-6.5.3/vprerex-6.4.2/README 2012-08-22 15:20:40.000000000 +0000 +++ prerex-6.5.4/vprerex-6.4.2/README 1970-01-01 00:00:00.000000000 +0000 @@ -1,71 +0,0 @@ -vprerex (visual prerex) is a GUI front-end and viewer for the prerex -interactive editor of prerequisite-chart descriptions in the prerex -format. The viewer may be used just as a minimalist viewer of arbitrary -PDF files but supports editing of charts generated using prerex.sty by -allowing coordinates of course boxes, arrows, and background points -to be conveyed back to the prerex editor command-line using the X11 -clipboard. - -To install: - - + You must have first installed the Qt-4 and poppler libraries, - including the poppler-qt4 library. These may be available packaged - for your platform or the sources can be obtained from: - -http://qt.nokia.com/downloads/downloads#qt-lib -http://poppler.freedesktop.org/ - - + Edit vprerex.pro so INCLUDEPATH and LIBS point to the - relevant directories. - - + qmake vprerex.pro (using the Qt-4 qmake) - - + make - - + install the vprerex binary in a suitable directory such as - $HOME/bin or /usr/local/bin. - -If vprerex is applied to a LaTeX file, it calls xterm and the prerex -editor. - -On Windows, the Qt-4 and poppler libraries are available for the Cygwin -platform; then vprerex will build and run on the Cygwin X-server. - -It is also possible to build and use vprerex on the MinGW platform -in Windows. Install the Qt-4 libraries for MinGW-4.4 from - -http://qt.nokia.com/downloads/windows-cpp - -and the poppler libraries from - -http://windows.kde.org/download.php - -The headers and libraries for the latter install under - -c:\ProgramData\KDE. - -so use - -INCLUDEPATH += /c/ProgramData/KDE/include/poppler/qt4 -LIBS += -L/c/ProgramData/KDE/lib -lpoppler-qt4 - -in vprerex.pro. - -The resulting vprerex.exe will run but of course cannot open an xterm -or start prerex; however, prerex can be started separately in a MinGW -shell. To paste from the clipboard, enable QuickEdit mode in the shell: - -- Right-click in the title-bar, and then click Properties. - -- On the Options tab, click to select the QuickEdit Mode check box. - -- Click OK. - -Then right-clicking will paste the clipboard text into the prerex -command line. - -Or install the following console application and configure it to paste -on right-click: - -sourceforge.net/projects/console - diff -Nru prerex-6.5.3/vprerex-6.4.2/vprerex.1 prerex-6.5.4/vprerex-6.4.2/vprerex.1 --- prerex-6.5.3/vprerex-6.4.2/vprerex.1 2012-08-22 15:20:40.000000000 +0000 +++ prerex-6.5.4/vprerex-6.4.2/vprerex.1 1970-01-01 00:00:00.000000000 +0000 @@ -1,105 +0,0 @@ -.TH VPREREX 1 2012-05-30 "vprerex-6.4.2" "" -.SH NAME -.BR vprerex -\- graphical front-end and viewer for the -.BR prerex (1) -prerequisite-chart editor -.SH SYNOPSIS -.BR vprerex -.IR basefile [ .tex ] -[ -.IR chartfile [ .tex ] -] -.PP -.BR vprerex -.IR file.pdf -.PP -.BR vprerex -.SH DESCRIPTION -.B vprerex -(visual prerex) is a GUI front-end and viewer for the -.BR prerex (1) -interactive editor -of prerequisite-chart descriptions in the -.BR prerex (5) -format. -The viewer may be used just as a minimalist viewer of arbitrary PDF files but -supports editing of charts -generated using -.BR prerex.sty (7) -by allowing coordinates of course boxes, arrows, -and background points to be conveyed back to the -.BR prerex (1) -command-line using the clipboard. -.SH USAGE -If -.B vprerex -is invoked on a PDF file, it simply displays that file. -.PP -If the (first) argument -does -.I not -have the .pdf -suffix, it is assumed to be the base file for a LaTeX document -containing a prerequisite-chart description -in -.BR prerex (5) -format, to be edited using -.BR prerex (1). -If a -.I second -argument -is supplied, it is regarded as an included file containing -the specific chart environment to be edited. -.PP -If -.I no -arguments are supplied, a file-opening dialog -allows the user the specify the -.BR prerex (1) -base file -to be edited (or the PDF file to be viewed); if a separate chartfile is needed, -.BR vprerex (1) -must be invoked wth two arguments on the command line. -.PP -If the mouse hovers over a hyperlink in the PDF viewing window, the cursor shape will -change to a pointing finger and a tooltip will display the URI. -If the PDF file displayed contains -a chart generated using -.BR prerex.sty (7) -and the background coordinate grid has been enabled, -left-clicking the mouse on a course box, arrow mid-point, or background point -will load the relevant coordinates -into the clipboard; right-clicking the mouse on a course box or arrow will -.I append -the relevant coordinates to the clipboard. -The cursor shape changes to a plus-sign to indicate -successful capture of the coordinates. -Middle-clicking (or, in a Windows shell with "Quick Edit" mode enabled, right-clicking) the mouse at the -.BR prerex (1) -command-line will then paste those coordinates into a command being composed. -If the chart file is regenerated, -the updated document will be re-loaded. -.SH DEPENDENCIES -.B vprerex -is based on the Qt-4 and poppler libraries. It -calls -.BR xterm (1) -and -.BR prerex (1) -for the editing window and -uses -.BR poppler-qt4 -for rendering PDF files. -If an X server isn't running or there is no xterm application, the prerex editor can be -started separately. -.SH AUTHOR -R. D. Tennent (rdt@cs.queensu.ca), adapted from David Boddie's PDFviewer, described in the QT Quarterly: -.B http://doc.trolltech.com/qq/QtQuarterly27.pdf. -.SH SEE ALSO -.BR prerex (1), -.BR prerex (5), -.BR prerex.sty (7), -and -.BR xterm (1). - diff -Nru prerex-6.5.3/vprerex-6.4.2/vprerex.pro prerex-6.5.4/vprerex-6.4.2/vprerex.pro --- prerex-6.5.3/vprerex-6.4.2/vprerex.pro 2012-05-30 14:35:37.000000000 +0000 +++ prerex-6.5.4/vprerex-6.4.2/vprerex.pro 1970-01-01 00:00:00.000000000 +0000 @@ -1,12 +0,0 @@ -FORMS = window.ui -HEADERS = documentwidget.h \ - window.h -SOURCES = documentwidget.cpp \ - main.cpp \ - window.cpp - -# Modify these to refer to the directories on your system -# that contain the poppler-qt4.h header file and [lib]poppler-qt4 library. - -INCLUDEPATH += /usr/include/poppler/qt4 -LIBS += -L/usr/lib -lpoppler-qt4 diff -Nru prerex-6.5.3/vprerex-6.4.2/window.cpp prerex-6.5.4/vprerex-6.4.2/window.cpp --- prerex-6.5.3/vprerex-6.4.2/window.cpp 2012-05-28 15:55:26.000000000 +0000 +++ prerex-6.5.4/vprerex-6.4.2/window.cpp 1970-01-01 00:00:00.000000000 +0000 @@ -1,168 +0,0 @@ - -/**************************************************************************** -** Adapted from PDFviewer, originally published in the QT Quarterly: -** http://doc.trolltech.com/qq/QtQuarterly27.pdf -** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies). -** Contact: Qt Software Information (qt-info@nokia.com) -** -** Modified for use with prerex: -** http://www.ctan.org/tex-archive/graphics/prerex -** Copyright (C) 2009-12 R. D. Tennent -** School of Computing, Queen's University, rdt@cs.queensu.ca - -** 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., -** 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -** -****************************************************************************/ -#include -#include "window.h" - - -# include -# include -# include - -#include - -class mythread : public QThread -{ -public: - static void sleep(unsigned long secs) { - QThread::sleep(secs); - } -}; - - -Window::Window(QWidget *parent) - : QMainWindow(parent) -{ - setupUi(this); - - scaleFactors << 1. << 1.1 << 1.25 << 1.75 << 2.5 << 4.; - - documentWidget = new DocumentWidget(); - scrollAreaWidget->setWidget(documentWidget); - fsw = new QFileSystemWatcher(); - sb = statusBar(); - versionWidget = new QLabel(QString("This is vprerex, v.%1 ").arg(version), this); - sb->addPermanentWidget(versionWidget); - - connect(documentControlsAction, SIGNAL(toggled(bool)), - controlsDockWidget, SLOT(setVisible(bool))); - - connect(pageSpinBox, SIGNAL(valueChanged(int)), - documentWidget, SLOT(setPage(int))); - connect(documentWidget, SIGNAL(pageChanged(int)), - pageSpinBox, SLOT(setValue(int))); - connect(scaleComboBox, SIGNAL(currentIndexChanged(int)), - this, SLOT(scaleDocument(int))); - - - connect(fsw, SIGNAL(fileChanged(QString)), - documentWidget, SLOT(reloadDocument1())); - connect(documentWidget, SIGNAL(documentReloaded()), - this, SLOT(reloadMessage())); - connect(quitButton, SIGNAL(clicked()), this, SLOT(quit())); - -} - -void Window::setFileNames(QString FileName, QString ChartFileName ) -{ - fileName.append(FileName); - fileInfo.setFile(FileName); - chartFileName.append(ChartFileName); - loadDocument(); -} - -void Window::open() -{ - QString fullFileName; - fullFileName.append(QDir::cleanPath(QFileDialog::getOpenFileName(this, "Select a prerex file to edit or a pdf file to view.", QString(), "Prerex source files (*.tex);;Portable Document Format files (*.pdf)"))); - if (fullFileName.isNull()) - { - QMessageBox::critical(this, "vprerex", "File selection failed."); - close(); - exit(1); - } - fileInfo.setFile(fullFileName); -// user can specify a separate "chartFile" by using two command-line arguments - fileName.append(fileInfo.baseName()); - fileName.append("."); - fileName.append(fileInfo.suffix()); - loadDocument(); -} - -void Window::loadDocument(void) -{ - pdfFilePath.append(fileInfo.dir().path()); - pdfFilePath.append("/"); - pdfFilePath.append(fileInfo.baseName()); - pdfFilePath.append(".pdf"); - if (fileName.endsWith(".tex")) - { - QStringList arguments; - process = new QProcess(centralwidget); - process->setWorkingDirectory(fileInfo.dir().path()); - if ( chartFileName.length() > 0 ) - arguments << QString("-geometry") << QString("100x60") << QString("-fa") << QString("Monospace") << QString("-e") << QString("prerex") << fileName << chartFileName; - else - arguments << QString("-geometry") << QString("100x60") << QString("-fa") << QString("Monospace") << QString("-e") << QString("prerex") << fileName; - process->start(QString("xterm"), arguments); - } - - QFileInfo pdfFileInfo; - pdfFileInfo.setFile(pdfFilePath); - while ( pdfFileInfo.size() == 0 ) - { // wait for the PDF file - mythread::sleep (1); - pdfFileInfo.refresh(); - } - mythread::sleep (1); - sb->showMessage(pdfFilePath); - fsw->addPath(pdfFilePath); - while ( !(documentWidget->setDocument(pdfFilePath)) ) - { // if at first you don't succeed, try, try again - mythread::sleep (1); - } - scaleComboBox->setEnabled(true); - pageSpinBox->setEnabled(true); - pageSpinBox->setMinimum(1); - pageSpinBox->setMaximum(documentWidget->document()->numPages()); - pageSpinBox->setValue(1); -} - -void Window::reloadMessage(void) -{ - sb->showMessage(pdfFilePath + " reloaded.", 2000); - QTimer::singleShot(2000, this, SLOT(pathMessage())); - - // On Windows, pdflatex removes the existing pdf file initially and - // this removes the file path from the file-system watcher; the - // following restores the path to the file-watch list if necessary: - if (!fsw->files().contains(pdfFilePath)) fsw->addPath(pdfFilePath); } - -void Window::pathMessage(void) -{ - sb->showMessage(pdfFilePath); -} - -void Window::scaleDocument(int index) -{ - documentWidget->setScale(scaleFactors[index]); -} - -void Window::quit(void) -{ - close(); -} diff -Nru prerex-6.5.3/vprerex-6.4.2/window.h prerex-6.5.4/vprerex-6.4.2/window.h --- prerex-6.5.3/vprerex-6.4.2/window.h 2012-05-30 14:05:24.000000000 +0000 +++ prerex-6.5.4/vprerex-6.4.2/window.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,75 +0,0 @@ - -/**************************************************************************** -** Adapted from PDFviewer, originally published in the QT Quarterly: -** http://doc.trolltech.com/qq/QtQuarterly27.pdf -** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies). -** Contact: Qt Software Information (qt-info@nokia.com) -** -** Modified for use with prerex: -** http://www.ctan.org/tex-archive/graphics/prerex -** Copyright (C) 2009-12 R. D. Tennent -** School of Computing, Queen's University, rdt@cs.queensu.ca - -** 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., -** 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -** -****************************************************************************/ - -#ifndef WINDOW_H -#define WINDOW_H - -# include -# include "documentwidget.h" -# include -# include "ui_window.h" -# include -# include -# include - - - -const char version[] = "6.4.2"; - -class QTextBrowser; - -class Window : public QMainWindow, public Ui_MainWindow -{ - Q_OBJECT - -public: - Window(QWidget *parent = 0); - QFileSystemWatcher *fsw; - QStatusBar *sb; - void setFileNames(QString BaseFileName, QString ChartFileName); - void loadDocument(void); - void open(); - -private slots: - void scaleDocument(int index); - void reloadMessage(); - void pathMessage(); - void quit(); - -private: - DocumentWidget *documentWidget; - QString fileName; - QFileInfo fileInfo; - QString chartFileName; - QString pdfFilePath; - QVector scaleFactors; - QLabel *versionWidget; - QProcess *process; -}; - -#endif diff -Nru prerex-6.5.3/vprerex-6.4.2/window.ui prerex-6.5.4/vprerex-6.4.2/window.ui --- prerex-6.5.3/vprerex-6.4.2/window.ui 2012-05-25 23:21:32.000000000 +0000 +++ prerex-6.5.4/vprerex-6.4.2/window.ui 1970-01-01 00:00:00.000000000 +0000 @@ -1,277 +0,0 @@ - - - MainWindow - - - - 0 - 0 - 960 - 1000 - - - - vprerex - - - Qt::LeftToRight - - - QMainWindow::AllowNestedDocks|QMainWindow::AllowTabbedDocks|QMainWindow::AnimatedDocks|QMainWindow::ForceTabbedDocks - - - - - 0 - 0 - - - - Qt::RightToLeft - - - - - - Qt::NoFocus - - - Qt::LeftToRight - - - true - - - Qt::AlignCenter - - - - - 0 - 0 - 946 - 906 - - - - Qt::NoFocus - - - Qt::LeftToRight - - - - - - - - - false - - - - - true - - - false - - - QDockWidget::NoDockWidgetFeatures - - - Qt::BottomDockWidgetArea|Qt::TopDockWidgetArea - - - 4 - - - - - 4 - - - 0 - - - 4 - - - 0 - - - - - Qt::NoFocus - - - Quit - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - - &Page: - - - pageSpinBox - - - - - - - false - - - Qt::NoFocus - - - - - - - - - Qt::Horizontal - - - - 20 - 20 - - - - - - - - &Scale document: - - - scaleComboBox - - - - - - - false - - - Qt::NoFocus - - - 1 - - - - 100% - - - - - 110% - - - - - 125% - - - - - 175% - - - - - 250% - - - - - 400% - - - - - - - - Qt::Horizontal - - - - 20 - 20 - - - - - - - - - - &Open... - - - Ctrl+O - - - - - E&xit - - - Ctrl+Q - - - - - &Increase Scale - - - Ctrl++ - - - - - &Decrease Scale - - - Ctrl+- - - - - - true - - - true - - - &Document Controls - - - - - -