Index: linux-atm-2.4.1/Makefile.in
===================================================================
--- linux-atm-2.4.1.orig/Makefile.in	2007-06-04 13:23:53.886541896 +0200
+++ linux-atm-2.4.1/Makefile.in	2007-06-04 13:23:54.459454800 +0200
@@ -1,4 +1,4 @@
-# Makefile.in generated automatically by automake 1.4-p5 from Makefile.am
+# Makefile.in generated automatically by automake 1.4-p6 from Makefile.am
 
 # Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
@@ -100,14 +100,14 @@
 
 DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
 
-TAR = gtar
+TAR = tar
 GZIP_ENV = --best
 all: all-redirect
 .SUFFIXES:
 $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) 
-	cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps Makefile
+	cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile
 
-Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status
+Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status $(BUILT_SOURCES)
 	cd $(top_builddir) \
 	  && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
 
@@ -225,7 +225,7 @@
 	  awk '    { files[$$0] = 1; } \
 	       END { for (i in files) print i; }'`; \
 	test -z "$(ETAGS_ARGS)config.h.in$$unique$(LISP)$$tags" \
-	  || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags config.h.in $$unique $(LISP) -o $$here/TAGS)
+	  || (cd $(srcdir) && etags -o $$here/TAGS $(ETAGS_ARGS) $$tags config.h.in $$unique $(LISP))
 
 mostlyclean-tags:
 
@@ -274,6 +274,11 @@
 	-rm -rf $(distdir)
 	mkdir $(distdir)
 	-chmod 777 $(distdir)
+	here=`cd $(top_builddir) && pwd`; \
+	top_distdir=`cd $(distdir) && pwd`; \
+	distdir=`cd $(distdir) && pwd`; \
+	cd $(top_srcdir) \
+	  && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnu Makefile
 	@for file in $(DISTFILES); do \
 	  d=$(srcdir); \
 	  if test -d $$d/$$file; then \
Index: linux-atm-2.4.1/aclocal.m4
===================================================================
--- linux-atm-2.4.1.orig/aclocal.m4	2007-06-04 13:23:53.891541136 +0200
+++ linux-atm-2.4.1/aclocal.m4	2007-06-04 13:23:54.462454344 +0200
@@ -1,4 +1,4 @@
-dnl aclocal.m4 generated automatically by aclocal 1.4-p5
+dnl aclocal.m4 generated automatically by aclocal 1.4-p6
 
 dnl Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
@@ -43,7 +43,8 @@
 dnl AM_INIT_AUTOMAKE(package,version, [no-define])
 
 AC_DEFUN([AM_INIT_AUTOMAKE],
-[AC_REQUIRE([AC_PROG_INSTALL])
+[AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
+AC_REQUIRE([AC_PROG_INSTALL])
 PACKAGE=[$1]
 AC_SUBST(PACKAGE)
 VERSION=[$2]
@@ -59,13 +60,42 @@
 AC_REQUIRE([AC_ARG_PROGRAM])
 dnl FIXME This is truly gross.
 missing_dir=`cd $ac_aux_dir && pwd`
-AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
+AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}, $missing_dir)
 AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
-AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
+AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}, $missing_dir)
 AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
 AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
 AC_REQUIRE([AC_PROG_MAKE_SET])])
 
+# Copyright 2002  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., 59 Temple Place - Suite 330, Boston, MA
+
+# 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.
+AC_DEFUN([AM_AUTOMAKE_VERSION],[am__api_version="1.4"])
+
+# AM_SET_CURRENT_AUTOMAKE_VERSION
+# -------------------------------
+# Call AM_AUTOMAKE_VERSION so it can be traced.
+# This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
+AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
+	 [AM_AUTOMAKE_VERSION([1.4-p6])])
+
 #
 # Check to make sure that the build environment is sane.
 #
@@ -130,13 +160,14 @@
 dnl Look for flex, lex or missing, then run AC_PROG_LEX and AC_DECL_YYTEXT
 AC_DEFUN([AM_PROG_LEX],
 [missing_dir=ifelse([$1],,`cd $ac_aux_dir && pwd`,$1)
-AC_CHECK_PROGS(LEX, flex lex, "$missing_dir/missing flex")
+AC_CHECK_PROGS(LEX, flex lex, $missing_dir/missing flex)
 AC_PROG_LEX
 AC_DECL_YYTEXT])
 
 # libtool.m4 - Configure libtool for the host system. -*-Shell-script-*-
 
 # serial 46 AC_PROG_LIBTOOL
+
 AC_DEFUN([AC_PROG_LIBTOOL],
 [AC_REQUIRE([AC_LIBTOOL_SETUP])dnl
 
@@ -162,6 +193,8 @@
 AC_REQUIRE([AC_PROG_LD])dnl
 AC_REQUIRE([AC_PROG_LD_RELOAD_FLAG])dnl
 AC_REQUIRE([AC_PROG_NM])dnl
+AC_REQUIRE([LT_AC_PROG_SED])dnl
+
 AC_REQUIRE([AC_PROG_LN_S])dnl
 AC_REQUIRE([AC_DEPLIBS_CHECK_METHOD])dnl
 AC_REQUIRE([AC_OBJEXT])dnl
@@ -262,9 +295,30 @@
 
 ])
 
+# AC_LIBTOOL_HEADER_ASSERT
+# ------------------------
+AC_DEFUN([AC_LIBTOOL_HEADER_ASSERT],
+[AC_CACHE_CHECK([whether $CC supports assert without backlinking],
+    [lt_cv_func_assert_works],
+    [case $host in
+    *-*-solaris*)
+      if test "$GCC" = yes && test "$with_gnu_ld" != yes; then
+        case `$CC --version 2>/dev/null` in
+        [[12]].*) lt_cv_func_assert_works=no ;;
+        *)        lt_cv_func_assert_works=yes ;;
+        esac
+      fi
+      ;;
+    esac])
+
+if test "x$lt_cv_func_assert_works" = xyes; then
+  AC_CHECK_HEADERS(assert.h)
+fi
+])# AC_LIBTOOL_HEADER_ASSERT
+
 # _LT_AC_CHECK_DLFCN
 # --------------------
-AC_DEFUN(_LT_AC_CHECK_DLFCN,
+AC_DEFUN([_LT_AC_CHECK_DLFCN],
 [AC_CHECK_HEADERS(dlfcn.h)
 ])# _LT_AC_CHECK_DLFCN
 
@@ -282,10 +336,10 @@
 # [They come from Ultrix.  What could be older than Ultrix?!! ;)]
 
 # Character class describing NM global symbol codes.
-[symcode='[BCDEGRST]']
+symcode='[[BCDEGRST]]'
 
 # Regexp to match symbols that can be accessed directly from C.
-[sympat='\([_A-Za-z][_A-Za-z0-9]*\)']
+sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
 
 # Transform the above into a raw symbol and a C symbol.
 symxfrm='\1 \2\3 \3'
@@ -293,25 +347,32 @@
 # Transform an extracted symbol line into a proper C declaration
 lt_cv_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern char \1;/p'"
 
+# Transform an extracted symbol line into symbol name and symbol address
+lt_cv_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/  {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([[^ ]]*\) \([[^ ]]*\)$/  {\"\2\", (lt_ptr) \&\2},/p'"
+
 # Define system-specific variables.
 case $host_os in
 aix*)
-  [symcode='[BCDT]']
+  symcode='[[BCDT]]'
   ;;
 cygwin* | mingw* | pw32*)
-  [symcode='[ABCDGISTW]']
+  symcode='[[ABCDGISTW]]'
   ;;
 hpux*) # Its linker distinguishes data from code symbols
   lt_cv_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern char \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
+  lt_cv_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/  {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/  {\"\2\", (lt_ptr) \&\2},/p'"
+  ;;
+irix* | nonstopux*)
+  symcode='[[BCDEGRST]]'
   ;;
-irix*)
-  [symcode='[BCDEGRST]']
+osf*)
+  symcode='[[BCDEGQRST]]'
   ;;
 solaris* | sysv5*)
-  [symcode='[BDT]']
+  symcode='[[BDT]]'
   ;;
 sysv4)
-  [symcode='[DFNSTU]']
+  symcode='[[DFNSTU]]'
   ;;
 esac
 
@@ -325,14 +386,14 @@
 
 # If we're using GNU nm, then use its standard symbol codes.
 if $NM -V 2>&1 | egrep '(GNU|with BFD)' > /dev/null; then
-  [symcode='[ABCDGISTW]']
+  symcode='[[ABCDGISTW]]'
 fi
 
 # Try without a prefix undercore, then with it.
 for ac_symprfx in "" "_"; do
 
   # Write the raw and C identifiers.
-[lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ 	]\($symcode$symcode*\)[ 	][ 	]*\($ac_symprfx\)$sympat$opt_cr$/$symxfrm/p'"]
+lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ 	]]\($symcode$symcode*\)[[ 	]][[ 	]]*\($ac_symprfx\)$sympat$opt_cr$/$symxfrm/p'"
 
   # Check to see that the pipe works correctly.
   pipe_works=no
@@ -374,23 +435,23 @@
 
 	  cat <<EOF >> conftest.$ac_ext
 #if defined (__STDC__) && __STDC__
-# define lt_ptr_t void *
+# define lt_ptr void *
 #else
-# define lt_ptr_t char *
+# define lt_ptr char *
 # define const
 #endif
 
 /* The mapping between symbol names and symbols. */
 const struct {
   const char *name;
-  lt_ptr_t address;
+  lt_ptr address;
 }
-[lt_preloaded_symbols[] =]
+lt_preloaded_symbols[[]] =
 {
 EOF
-	  sed "s/^$symcode$symcode* \(.*\) \(.*\)$/  {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" >> conftest.$ac_ext
+	  sed "s/^$symcode$symcode* \(.*\) \(.*\)$/  {\"\2\", (lt_ptr) \&\2},/" < "$nlist" >> conftest.$ac_ext
 	  cat <<\EOF >> conftest.$ac_ext
-  {0, (lt_ptr_t) 0}
+  {0, (lt_ptr) 0}
 };
 
 #ifdef __cplusplus
@@ -403,7 +464,7 @@
 	  save_CFLAGS="$CFLAGS"
 	  LIBS="conftstm.$ac_objext"
 	  CFLAGS="$CFLAGS$no_builtin_flag"
-	  if AC_TRY_EVAL(ac_link) && test -s conftest; then
+	  if AC_TRY_EVAL(ac_link) && test -s conftest$ac_exeext; then
 	    pipe_works=yes
 	  fi
 	  LIBS="$save_LIBS"
@@ -434,10 +495,13 @@
 global_symbol_pipe="$lt_cv_sys_global_symbol_pipe"
 if test -z "$lt_cv_sys_global_symbol_pipe"; then
   global_symbol_to_cdecl=
+  global_symbol_to_c_name_address=
 else
   global_symbol_to_cdecl="$lt_cv_global_symbol_to_cdecl"
+  global_symbol_to_c_name_address="$lt_cv_global_symbol_to_c_name_address"
 fi
-if test -z "$global_symbol_pipe$global_symbol_to_cdecl"; then
+if test -z "$global_symbol_pipe$global_symbol_to_cdec$global_symbol_to_c_name_address";
+then
   AC_MSG_RESULT(failed)
 else
   AC_MSG_RESULT(ok)
@@ -455,16 +519,17 @@
     *-DOS) lt_cv_sys_path_separator=';' ;;
     *)     lt_cv_sys_path_separator=':' ;;
   esac
+  PATH_SEPARATOR=$lt_cv_sys_path_separator
 fi
 ])# _LT_AC_LIBTOOL_SYS_PATH_SEPARATOR
 
 # _LT_AC_PROG_ECHO_BACKSLASH
 # --------------------------
 # Add some code to the start of the generated configure script which
-# will find an echo command which doesn;t interpret backslashes.
+# will find an echo command which doesn't interpret backslashes.
 AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH],
 [ifdef([AC_DIVERSION_NOTICE], [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)],
-                              [AC_DIVERT_PUSH(NOTICE)])
+			      [AC_DIVERT_PUSH(NOTICE)])
 _LT_AC_LIBTOOL_SYS_PATH_SEPARATOR
 
 # Check that we are running under the correct shell.
@@ -530,7 +595,7 @@
   #
   # So, first we look for a working echo in the user's PATH.
 
-  IFS="${IFS= 	}"; save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}"
+  IFS="${IFS= 	}"; save_ifs="$IFS"; IFS=$PATH_SEPARATOR
   for dir in $PATH /usr/ucb; do
     if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
        test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
@@ -619,7 +684,7 @@
 # _LT_AC_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
 #                           ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
 # ------------------------------------------------------------------
-AC_DEFUN(_LT_AC_TRY_DLOPEN_SELF,
+AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF],
 [if test "$cross_compiling" = yes; then :
   [$4]
 else
@@ -706,7 +771,7 @@
 
 # AC_LIBTOOL_DLOPEN_SELF
 # -------------------
-AC_DEFUN(AC_LIBTOOL_DLOPEN_SELF,
+AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF],
 [if test "x$enable_dlopen" != xyes; then
   enable_dlopen=unknown
   enable_dlopen_self=unknown
@@ -728,16 +793,22 @@
    ;;
 
   *)
-    AC_CHECK_LIB(dl, dlopen,  [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],
-      [AC_CHECK_FUNC(dlopen, lt_cv_dlopen="dlopen",
-        [AC_CHECK_FUNC(shl_load, lt_cv_dlopen="shl_load",
-          [AC_CHECK_LIB(svld, dlopen,
-	    [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
-            [AC_CHECK_LIB(dld, shl_load,
-              [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"])
+    AC_CHECK_FUNC([shl_load],
+          [lt_cv_dlopen="shl_load"],
+      [AC_CHECK_LIB([dld], [shl_load],
+            [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"],
+	[AC_CHECK_FUNC([dlopen],
+	      [lt_cv_dlopen="dlopen"],
+	  [AC_CHECK_LIB([dl], [dlopen],
+	        [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],
+	    [AC_CHECK_LIB([svld], [dlopen],
+	          [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
+	      [AC_CHECK_LIB([dld], [dld_link],
+	            [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"])
+	      ])
 	    ])
-          ])
-        ])
+	  ])
+	])
       ])
     ;;
   esac
@@ -800,10 +871,10 @@
 # Sed substitution that helps us do robust quoting.  It backslashifies
 # metacharacters that are still active within double-quoted strings.
 Xsed='sed -e s/^X//'
-[sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g']
+sed_quote_subst='s/\([[\\"\\`$\\\\]]\)/\\\1/g'
 
 # Same as above, but do not quote variable references.
-[double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g']
+double_quote_subst='s/\([[\\"\\`\\\\]]\)/\\\1/g'
 
 # Sed substitution to delay expansion of an escaped shell variable in a
 # double_quote_subst'ed string.
@@ -872,8 +943,15 @@
 old_postuninstall_cmds=
 
 if test -n "$RANLIB"; then
+  case $host_os in
+  openbsd*)
+    old_postinstall_cmds="\$RANLIB -t \$oldlib~$old_postinstall_cmds"
+    ;;
+  *)
+    old_postinstall_cmds="\$RANLIB \$oldlib~$old_postinstall_cmds"
+    ;;
+  esac
   old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
-  old_postinstall_cmds="\$RANLIB \$oldlib~$old_postinstall_cmds"
 fi
 
 # Allow CC to be a program name with arguments.
@@ -893,7 +971,7 @@
 AC_MSG_RESULT($objdir)
 
 
-AC_ARG_WITH(pic, 
+AC_ARG_WITH(pic,
 [  --with-pic              try to use only PIC/non-PIC objects [default=use both]],
 pic_mode="$withval", pic_mode=default)
 test -z "$pic_mode" && pic_mode=default
@@ -921,7 +999,7 @@
       # libC (AIX C++ library), which obviously doesn't included in libraries
       # list by gcc. This cause undefined symbols with -static flags.
       # This hack allows C programs to be linked with "-static -ldl", but
-      # we not sure about C++ programs.
+      # not sure about C++ programs.
       lt_cv_prog_cc_static="$lt_cv_prog_cc_static ${lt_cv_prog_cc_wl}-lC"
       ;;
     amigaos*)
@@ -930,7 +1008,7 @@
       # like `-m68040'.
       lt_cv_prog_cc_pic='-m68020 -resident32 -malways-restore-a4'
       ;;
-    beos* | irix5* | irix6* | osf3* | osf4* | osf5*)
+    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
       # PIC is the default for these OSes.
       ;;
     darwin* | rhapsody*)
@@ -956,13 +1034,13 @@
     # PORTME Check for PIC flags for the system compiler.
     case $host_os in
     aix3* | aix4* | aix5*)
+      lt_cv_prog_cc_wl='-Wl,'
       # All AIX code is PIC.
       if test "$host_cpu" = ia64; then
-        # AIX 5 now supports IA64 processor
-        lt_cv_prog_cc_static='-Bstatic'
-        lt_cv_prog_cc_wl='-Wl,'
+	# AIX 5 now supports IA64 processor
+	lt_cv_prog_cc_static='-Bstatic'
       else
-        lt_cv_prog_cc_static='-bnso -bI:/lib/syscalls.exp'
+	lt_cv_prog_cc_static='-bnso -bI:/lib/syscalls.exp'
       fi
       ;;
 
@@ -973,7 +1051,7 @@
       lt_cv_prog_cc_pic='+Z'
       ;;
 
-    irix5* | irix6*)
+    irix5* | irix6* | nonstopux*)
       lt_cv_prog_cc_wl='-Wl,'
       lt_cv_prog_cc_static='-non_shared'
       # PIC (with -KPIC) is the default.
@@ -1017,11 +1095,7 @@
     sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
       lt_cv_prog_cc_pic='-KPIC'
       lt_cv_prog_cc_static='-Bstatic'
-      if test "x$host_vendor" = xsni; then
-        lt_cv_prog_cc_wl='-LD'
-      else
-        lt_cv_prog_cc_wl='-Wl,'
-      fi
+      lt_cv_prog_cc_wl='-Wl,'
       ;;
 
     uts4*)
@@ -1087,7 +1161,7 @@
 # Check for any special shared library compilation flags.
 if test -n "$lt_cv_prog_cc_shlib"; then
   AC_MSG_WARN([\`$CC' requires \`$lt_cv_prog_cc_shlib' to build shared libraries])
-  if echo "$old_CC $old_CFLAGS " | [egrep -e "[ 	]$lt_cv_prog_cc_shlib[ 	]"] >/dev/null; then :
+  if echo "$old_CC $old_CFLAGS " | egrep -e "[[ 	]]$lt_cv_prog_cc_shlib[[ 	]]" >/dev/null; then :
   else
    AC_MSG_WARN([add \`$lt_cv_prog_cc_shlib' to the CC or CFLAGS env variable and reconfigure])
     lt_cv_prog_cc_can_build_shared=no
@@ -1163,6 +1237,8 @@
   lt_cv_compiler_o_lo=no
   save_CFLAGS="$CFLAGS"
   CFLAGS="$CFLAGS -c -o conftest.lo"
+  save_objext="$ac_objext"
+  ac_objext=lo
   AC_TRY_COMPILE([], [int some_variable = 0;], [dnl
     # The compiler can only warn and ignore the option if not recognized
     # So say no if there are warnings
@@ -1172,6 +1248,7 @@
       lt_cv_compiler_o_lo=yes
     fi
   ])
+  ac_objext="$save_objext"
   CFLAGS="$save_CFLAGS"
   ])
   compiler_o_lo=$lt_cv_compiler_o_lo
@@ -1268,7 +1345,7 @@
 extract_expsyms_cmds=
 
 case $host_os in
-cygwin* | mingw* | pw32* )
+cygwin* | mingw* | pw32*)
   # FIXME: the MSVC++ port hasn't been tested in a loooong time
   # When not using gcc, we currently assume that we are using
   # Microsoft Visual C++.
@@ -1276,7 +1353,9 @@
     with_gnu_ld=no
   fi
   ;;
-
+openbsd*)
+  with_gnu_ld=no
+  ;;
 esac
 
 ld_shlibs=yes
@@ -1363,7 +1442,7 @@
     # can override, but on older systems we have to supply one (in ltdll.c)
     if test "x$lt_cv_need_dllmain" = "xyes"; then
       ltdll_obj='$output_objdir/$soname-ltdll.'"$ac_objext "
-      ltdll_cmds='test -f $output_objdir/$soname-ltdll.c || sed -e "/^# \/\* ltdll\.c starts here \*\//,/^# \/\* ltdll.c ends here \*\// { s/^# //; p; }" -e d < [$]0 > $output_objdir/$soname-ltdll.c~
+      ltdll_cmds='test -f $output_objdir/$soname-ltdll.c || sed -e "/^# \/\* ltdll\.c starts here \*\//,/^# \/\* ltdll.c ends here \*\// { s/^# //; p; }" -e d < $''0 > $output_objdir/$soname-ltdll.c~
 	test -f $output_objdir/$soname-ltdll.$ac_objext || (cd $output_objdir && $CC -c $soname-ltdll.c)~'
     else
       ltdll_obj=
@@ -1376,24 +1455,25 @@
     # Be careful not to strip the DATA tag left be newer dlltools.
     export_symbols_cmds="$ltdll_cmds"'
       $DLLTOOL --export-all --exclude-symbols '$dll_exclude_symbols' --output-def $output_objdir/$soname-def '$ltdll_obj'$libobjs $convenience~
-      [sed -e "1,/EXPORTS/d" -e "s/ @ [0-9]*//" -e "s/ *;.*$//"] < $output_objdir/$soname-def > $export_symbols'
+      sed -e "1,/EXPORTS/d" -e "s/ @ [[0-9]]*//" -e "s/ *;.*$//" < $output_objdir/$soname-def > $export_symbols'
 
     # If the export-symbols file already is a .def file (1st line
     # is EXPORTS), use it as is.
     # If DATA tags from a recent dlltool are present, honour them!
-    archive_expsym_cmds='if test "x`head -1 $export_symbols`" = xEXPORTS; then
-        cp $export_symbols $output_objdir/$soname-def;
+    archive_expsym_cmds='if test "x`sed 1q $export_symbols`" = xEXPORTS; then
+	cp $export_symbols $output_objdir/$soname-def;
       else
-        echo EXPORTS > $output_objdir/$soname-def;
-        _lt_hint=1;
-        cat $export_symbols | while read symbol; do
-         set dummy \$symbol;
-         case \[$]# in
-           2) echo "   \[$]2 @ \$_lt_hint ; " >> $output_objdir/$soname-def;;
-           *) echo "     \[$]2 @ \$_lt_hint \[$]3 ; " >> $output_objdir/$soname-def;;
-         esac;
-         _lt_hint=`expr 1 + \$_lt_hint`;
-        done;
+	echo EXPORTS > $output_objdir/$soname-def;
+	_lt_hint=1;
+	cat $export_symbols | while read symbol; do
+	 set dummy \$symbol;
+	 case \[$]# in
+	   2) echo "   \[$]2 @ \$_lt_hint ; " >> $output_objdir/$soname-def;;
+	   4) echo "   \[$]2 \[$]3 \[$]4 ; " >> $output_objdir/$soname-def; _lt_hint=`expr \$_lt_hint - 1`;;
+	   *) echo "     \[$]2 @ \$_lt_hint \[$]3 ; " >> $output_objdir/$soname-def;;
+	 esac;
+	 _lt_hint=`expr 1 + \$_lt_hint`;
+	done;
       fi~
       '"$ltdll_cmds"'
       $CC -Wl,--base-file,$output_objdir/$soname-base '$lt_cv_cc_dll_switch' -Wl,-e,'$dll_entry' -o $output_objdir/$soname '$ltdll_obj'$libobjs $deplibs $compiler_flags~
@@ -1488,80 +1568,98 @@
     ;;
 
   aix4* | aix5*)
+    if test "$host_cpu" = ia64; then
+      # On IA64, the linker does run time linking by default, so we don't
+      # have to do anything special.
+      aix_use_runtimelinking=no
+      exp_sym_flag='-Bexport'
+      no_entry_flag=""
+    else
+      aix_use_runtimelinking=no
+
+      # Test if we are trying to use run time linking or normal
+      # AIX style linking. If -brtl is somewhere in LDFLAGS, we
+      # need to do runtime linking.
+      case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*)
+	for ld_flag in $LDFLAGS; do
+	  case $ld_flag in
+	  *-brtl*)
+	    aix_use_runtimelinking=yes
+	    break
+	  ;;
+	  esac
+	done
+      esac
+
+      exp_sym_flag='-bexport'
+      no_entry_flag='-bnoentry'
+    fi
+
     # When large executables or shared objects are built, AIX ld can
     # have problems creating the table of contents.  If linking a library
     # or program results in "error TOC overflow" add -mminimal-toc to
     # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
     # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
 
+    hardcode_direct=yes
     archive_cmds=''
     hardcode_libdir_separator=':'
     if test "$GCC" = yes; then
-      collect2name=`${CC} -print-prog-name=collect2`
-      if test -f "$collect2name" && \
-	 strings "$collect2name" | grep resolve_lib_name >/dev/null
-      then
-	# We have reworked collect2
-	hardcode_direct=yes
-      else
-        # We have old collect2
-        hardcode_direct=unsupported
-        # It fails to find uninstalled libraries when the uninstalled
-        # path is not listed in the libpath.  Setting hardcode_minus_L
-        # to unsupported forces relinking
-        hardcode_minus_L=yes
-        hardcode_libdir_flag_spec='-L$libdir'
-        hardcode_libdir_separator=
-      fi
+      case $host_os in aix4.[[012]]|aix4.[[012]].*)
+	collect2name=`${CC} -print-prog-name=collect2`
+	if test -f "$collect2name" && \
+	  strings "$collect2name" | grep resolve_lib_name >/dev/null
+	then
+	  # We have reworked collect2
+	  hardcode_direct=yes
+	else
+	  # We have old collect2
+	  hardcode_direct=unsupported
+	  # It fails to find uninstalled libraries when the uninstalled
+	  # path is not listed in the libpath.  Setting hardcode_minus_L
+	  # to unsupported forces relinking
+	  hardcode_minus_L=yes
+	  hardcode_libdir_flag_spec='-L$libdir'
+	  hardcode_libdir_separator=
+	fi
+      esac
+
       shared_flag='-shared'
     else
+      # not using gcc
       if test "$host_cpu" = ia64; then
-        shared_flag='-G'
+	shared_flag='${wl}-G'
       else
-        shared_flag='${wl}-bM:SRE'
+	if test "$aix_use_runtimelinking" = yes; then
+	  shared_flag='${wl}-G'
+	else
+	  shared_flag='${wl}-bM:SRE'
+	fi
       fi
-      hardcode_direct=yes
     fi
 
-    if test "$host_cpu" = ia64; then
-      # On IA64, the linker does run time linking by default, so we don't
-      # have to do anything special.
-      aix_use_runtimelinking=no
-      exp_sym_flag='-Bexport'
-      no_entry_flag=""
-    else
-      # Test if we are trying to use run time linking, or normal AIX style linking.
-      # If -brtl is somewhere in LDFLAGS, we need to do run time linking.
-      aix_use_runtimelinking=no
-      for ld_flag in $LDFLAGS; do
-        if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl" ); then
-          aix_use_runtimelinking=yes
-          break
-        fi
-      done
-      exp_sym_flag='-bexport'
-      no_entry_flag='-bnoentry'
-    fi
     # It seems that -bexpall can do strange things, so it is better to
     # generate a list of symbols to export.
     always_export_symbols=yes
     if test "$aix_use_runtimelinking" = yes; then
+      # Warning - without using the other runtime loading flags (-brtl),
+      # -berok will link without error, but may produce a broken library.
+      allow_undefined_flag='-berok'
       hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:/usr/lib:/lib'
-      allow_undefined_flag=' -Wl,-G'
-      archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols"
+      archive_expsym_cmds="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols $shared_flag"
     else
       if test "$host_cpu" = ia64; then
-        hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
-       allow_undefined_flag="-znodefs"
-        archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname ${wl}-h$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols"
+	hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
+	allow_undefined_flag="-z nodefs"
+	archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname ${wl}-h$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols"
       else
-        hardcode_libdir_flag_spec='${wl}-bnolibpath ${wl}-blibpath:$libdir:/usr/lib:/lib'
-        # Warning - without using the other run time loading flags, -berok will
-        #           link without error, but may produce a broken library.
-        allow_undefined_flag='${wl}-berok'
-        # This is a bit strange, but is similar to how AIX traditionally builds
-        # it's shared libraries.
-        archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols"' ~$AR -crlo $objdir/$libname$release.a $objdir/$soname'
+	hardcode_libdir_flag_spec='${wl}-bnolibpath ${wl}-blibpath:$libdir:/usr/lib:/lib'
+	# Warning - without using the other run time loading flags,
+	# -berok will link without error, but may produce a broken library.
+	allow_undefined_flag='${wl}-berok'
+	# This is a bit strange, but is similar to how AIX traditionally builds
+	# it's shared libraries.
+	archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols"' ~$AR -crlo $output_objdir/$libname$release.a $output_objdir/$soname'
       fi
     fi
     ;;
@@ -1593,11 +1691,19 @@
     ;;
 
   darwin* | rhapsody*)
-    allow_undefined_flag='-undefined suppress'
+    case "$host_os" in
+    rhapsody* | darwin1.[[012]])
+      allow_undefined_flag='-undefined suppress'
+      ;;
+    *) # Darwin 1.3 on
+      allow_undefined_flag='-flat_namespace -undefined suppress'
+      ;;
+    esac
     # FIXME: Relying on posixy $() will cause problems for
     #        cross-compilation, but unfortunately the echo tests do not
-    #        yet detect zsh echo's removal of \ escapes.
-    archive_cmds='$CC $(test .$module = .yes && echo -bundle || echo -dynamiclib) $allow_undefined_flag -o $lib $libobjs $deplibs$linkopts -install_name $rpath/$soname $(test -n "$verstring" -a x$verstring != x0.0 && echo $verstring)'
+    #        yet detect zsh echo's removal of \ escapes.  Also zsh mangles
+    #	     `"' quotes if we put them in here... so don't!
+    archive_cmds='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs && $CC $(test .$module = .yes && echo -bundle || echo -dynamiclib) $allow_undefined_flag -o $lib ${lib}-master.o $deplibs$linker_flags $(test .$module != .yes && echo -install_name $rpath/$soname $verstring)'
     # We need to add '_' to the symbols in $export_symbols first
     #archive_expsym_cmds="$archive_cmds"' && strip -s $export_symbols'
     hardcode_direct=yes
@@ -1649,13 +1755,14 @@
     export_dynamic_flag_spec='${wl}-E'
     ;;
 
-  irix5* | irix6*)
+  irix5* | irix6* | nonstopux*)
     if test "$GCC" = yes; then
       archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
     else
       archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+      hardcode_libdir_flag_spec='-rpath $libdir'
     fi
-    hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
     hardcode_libdir_separator=:
     link_all_deplibs=yes
     ;;
@@ -1672,7 +1779,7 @@
     ;;
 
   newsos6)
-    archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts'
+    archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
     hardcode_direct=yes
     hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
     hardcode_libdir_separator=:
@@ -1680,10 +1787,24 @@
     ;;
 
   openbsd*)
-    archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-    hardcode_libdir_flag_spec='-R$libdir'
     hardcode_direct=yes
     hardcode_shlibpath_var=no
+    if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+      archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+      hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+      export_dynamic_flag_spec='${wl}-E'
+    else
+      case "$host_os" in
+      openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
+	archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+	hardcode_libdir_flag_spec='-R$libdir'
+        ;;
+      *)
+        archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+        hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+        ;;
+      esac
+    fi
     ;;
 
   os2*)
@@ -1728,10 +1849,39 @@
     hardcode_shlibpath_var=no
     runpath_var=LD_RUN_PATH
     hardcode_runpath_var=yes
+    export_dynamic_flag_spec='${wl}-Bexport'
     ;;
 
   solaris*)
+    # gcc --version < 3.0 without binutils cannot create self contained
+    # shared libraries reliably, requiring libgcc.a to resolve some of
+    # the object symbols generated in some cases.  Libraries that use
+    # assert need libgcc.a to resolve __eprintf, for example.  Linking
+    # a copy of libgcc.a into every shared library to guarantee resolving
+    # such symbols causes other problems:  According to Tim Van Holder
+    # <tim.van.holder@pandora.be>, C++ libraries end up with a separate
+    # (to the application) exception stack for one thing.
     no_undefined_flag=' -z defs'
+    if test "$GCC" = yes; then
+      case `$CC --version 2>/dev/null` in
+      [[12]].*)
+	cat <<EOF 1>&2
+
+*** Warning: Releases of GCC earlier than version 3.0 cannot reliably
+*** create self contained shared libraries on Solaris systems, without
+*** introducing a dependency on libgcc.a.  Therefore, libtool is disabling
+*** -no-undefined support, which will at least allow you to build shared
+*** libraries.  However, you may find that when you link such libraries
+*** into an application without using GCC, you have to manually add
+*** \`gcc --print-libgcc-file-name\` to the link command.  We urge you to
+*** upgrade to a newer version of GCC.  Another option is to rebuild your
+*** current GCC to use the GNU linker from GNU binutils 2.9.1 or newer.
+
+EOF
+        no_undefined_flag=
+	;;
+      esac
+    fi
     # $CC -shared without GNU ld will not create a library from C++
     # object files and a static libstdc++, better avoid it by now
     archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
@@ -1740,7 +1890,7 @@
     hardcode_libdir_flag_spec='-R$libdir'
     hardcode_shlibpath_var=no
     case $host_os in
-    [solaris2.[0-5] | solaris2.[0-5].*]) ;;
+    solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
     *) # Supported since Solaris 2.6 (maybe 2.5.1?)
       whole_archive_flag_spec='-z allextract$convenience -z defaultextract' ;;
     esac
@@ -1762,13 +1912,23 @@
     ;;
 
   sysv4)
-    if test "x$host_vendor" = xsno; then
-      archive_cmds='$LD -G -Bsymbolic -h $soname -o $lib $libobjs $deplibs $linkopts'
-      hardcode_direct=yes # is this really true???
-    else
-      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_direct=no #Motorola manual says yes, but my tests say they lie
-    fi
+    case $host_vendor in
+      sni)
+        archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+        hardcode_direct=yes # is this really true???
+        ;;
+      siemens)
+        ## LD is ld it makes a PLAMLIB
+        ## CC just makes a GrossModule.
+        archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags'
+        reload_cmds='$CC -r -o $output$reload_objs'
+        hardcode_direct=no
+        ;;
+      motorola)
+        archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+        hardcode_direct=no #Motorola manual says yes, but my tests say they lie
+        ;;
+    esac
     runpath_var='LD_RUN_PATH'
     hardcode_shlibpath_var=no
     ;;
@@ -1909,6 +2069,9 @@
 
 aix4* | aix5*)
   version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  hardcode_into_libs=yes
   if test "$host_cpu" = ia64; then
     # AIX 5 supports IA64
     library_names_spec='${libname}${release}.so$major ${libname}${release}.so$versuffix $libname.so'
@@ -1920,22 +2083,24 @@
     # depend on `.', always an invalid library.  This was fixed in
     # development snapshots of GCC prior to 3.0.
     case $host_os in
-      [ aix4 | aix4.[01] | aix4.[01].*)]
-      if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
-           echo ' yes '
-           echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
-        :
-      else
-        can_build_shared=no
-      fi
-      ;;
+      aix4 | aix4.[[01]] | aix4.[[01]].*)
+	if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
+	     echo ' yes '
+	     echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
+	  :
+	else
+	  can_build_shared=no
+	fi
+	;;
     esac
-    # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
-    # soname into executable. Probably we can add versioning support to
-    # collect2, so additional links can be useful in future.
+    # AIX (on Power*) has no versioning support, so currently we can
+    # not hardcode correct soname into executable. Probably we can
+    # add versioning support to collect2, so additional links can
+    # be useful in future.
     if test "$aix_use_runtimelinking" = yes; then
-      # If using run time linking (on AIX 4.2 or later) use lib<name>.so instead of
-      # lib<name>.a to let people know that these are not typical AIX shared libraries.
+      # If using run time linking (on AIX 4.2 or later) use lib<name>.so
+      # instead of lib<name>.a to let people know that these are not
+      # typical AIX shared libraries.
       library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
     else
       # We preserve .a as extension for shared libraries through AIX4.2
@@ -1944,14 +2109,14 @@
       soname_spec='${libname}${release}.so$major'
     fi
     shlibpath_var=LIBPATH
-    deplibs_check_method=pass_all
   fi
+  hardcode_into_libs=yes
   ;;
 
 amigaos*)
   library_names_spec='$libname.ixlibrary $libname.a'
   # Create ${libname}_ixlibrary.a entries in /sys/libs.
-  finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | [$Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\'']`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "(cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a)"; (cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a) || exit 1; done'
+  finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "(cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a)"; (cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a) || exit 1; done'
   ;;
 
 beos*)
@@ -1982,7 +2147,7 @@
   case $GCC,$host_os in
   yes,cygwin*)
     library_names_spec='$libname.dll.a'
-    soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | [sed -e 's/[.]/-/g']`${versuffix}.dll'
+    soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | sed -e 's/[[.]]/-/g'`${versuffix}.dll'
     postinstall_cmds='dlpath=`bash 2>&1 -c '\''. $dir/${file}i;echo \$dlname'\''`~
       dldir=$destdir/`dirname \$dlpath`~
       test -d \$dldir || mkdir -p \$dldir~
@@ -1992,14 +2157,14 @@
        $rm \$dlpath'
     ;;
   yes,mingw*)
-    library_names_spec='${libname}`echo ${release} | [sed -e 's/[.]/-/g']`${versuffix}.dll'
-    sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | sed -e "s/^libraries://" -e "s/;/ /g"`
+    library_names_spec='${libname}`echo ${release} | sed -e 's/[[.]]/-/g'`${versuffix}.dll'
+    sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | sed -e "s/^libraries://" -e "s/;/ /g" -e "s,=/,/,g"`
     ;;
   yes,pw32*)
     library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | sed -e 's/[.]/-/g'`${versuffix}.dll'
     ;;
   *)
-    library_names_spec='${libname}`echo ${release} | [sed -e 's/[.]/-/g']`${versuffix}.dll $libname.lib'
+    library_names_spec='${libname}`echo ${release} | sed -e 's/[[.]]/-/g'`${versuffix}.dll $libname.lib'
     ;;
   esac
   dynamic_linker='Win32 ld.exe'
@@ -2025,6 +2190,18 @@
   dynamic_linker=no
   ;;
 
+freebsd*-gnu*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
+  soname_spec='${libname}${release}.so$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  dynamic_linker='GNU/FreeBSD ld.so'
+  ;;
+
 freebsd*)
   objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout`
   version_type=freebsd-$objformat
@@ -2076,14 +2253,17 @@
   postinstall_cmds='chmod 555 $lib'
   ;;
 
-irix5* | irix6*)
-  version_type=irix
+irix5* | irix6* | nonstopux*)
+  case $host_os in
+    nonstopux*) version_type=nonstopux ;;
+    *)          version_type=irix ;;
+  esac
   need_lib_prefix=no
   need_version=no
   soname_spec='${libname}${release}.so$major'
   library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major ${libname}${release}.so $libname.so'
   case $host_os in
-  irix5*)
+  irix5* | nonstopux*)
     libsuff= shlibsuff=
     ;;
   *)
@@ -2157,9 +2337,19 @@
 
 openbsd*)
   version_type=sunos
-  if test "$with_gnu_ld" = yes; then
-    need_lib_prefix=no
-    need_version=no
+  need_lib_prefix=no
+  need_version=no
+  if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+    case "$host_os" in
+    openbsd2.[[89]] | openbsd2.[[89]].*)
+      shlibpath_overrides_runpath=no
+      ;;
+    *)
+      shlibpath_overrides_runpath=yes
+      ;;
+    esac
+  else
+    shlibpath_overrides_runpath=yes
   fi
   library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix'
   finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
@@ -2177,11 +2367,13 @@
 osf3* | osf4* | osf5*)
   version_type=osf
   need_version=no
-  soname_spec='${libname}${release}.so'
-  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so $libname.so'
+  need_lib_prefix=no
+  soname_spec='${libname}${release}.so$major'
+  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
   shlibpath_var=LD_LIBRARY_PATH
   sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
   sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
+  hardcode_into_libs=yes
   ;;
 
 sco3.2v5*)
@@ -2224,6 +2416,12 @@
   case $host_vendor in
     sni)
       shlibpath_overrides_runpath=no
+      need_lib_prefix=no
+      export_dynamic_flag_spec='${wl}-Blargedynsym'
+      runpath_var=LD_RUN_PATH
+      ;;
+    siemens)
+      need_lib_prefix=no
       ;;
     motorola)
       need_lib_prefix=no
@@ -2270,6 +2468,33 @@
 AC_MSG_CHECKING([if libtool supports shared libraries])
 AC_MSG_RESULT([$can_build_shared])
 
+AC_MSG_CHECKING([whether to build shared libraries])
+test "$can_build_shared" = "no" && enable_shared=no
+
+# On AIX, shared libraries and static libraries use the same namespace, and
+# are all built from PIC.
+case "$host_os" in
+aix3*)
+  test "$enable_shared" = yes && enable_static=no
+  if test -n "$RANLIB"; then
+    archive_cmds="$archive_cmds~\$RANLIB \$lib"
+    postinstall_cmds='$RANLIB $lib'
+  fi
+  ;;
+
+aix4*)
+  if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+    test "$enable_shared" = yes && enable_static=no
+  fi
+  ;;
+esac
+AC_MSG_RESULT([$enable_shared])
+
+AC_MSG_CHECKING([whether to build static libraries])
+# Make sure either enable_shared or enable_static is yes.
+test "$enable_shared" = yes || enable_static=yes
+AC_MSG_RESULT([$enable_static])
+
 if test "$hardcode_action" = relink; then
   # Fast installation is not supported
   enable_fast_install=no
@@ -2351,7 +2576,7 @@
   # Now quote all the things that may contain metacharacters while being
   # careful not to overquote the AC_SUBSTed values.  We take copies of the
   # variables and quote the copies for generation of the libtool script.
-  for var in echo old_CC old_CFLAGS \
+  for var in echo old_CC old_CFLAGS SED \
     AR AR_FLAGS CC LD LN_S NM SHELL \
     reload_flag reload_cmds wl \
     pic_flag link_static_flag no_builtin_flag export_dynamic_flag_spec \
@@ -2363,6 +2588,7 @@
     old_striplib striplib file_magic_cmd export_symbols_cmds \
     deplibs_check_method allow_undefined_flag no_undefined_flag \
     finish_cmds finish_eval global_symbol_pipe global_symbol_to_cdecl \
+    global_symbol_to_c_name_address \
     hardcode_libdir_flag_spec hardcode_libdir_separator  \
     sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
     compiler_c_o compiler_o_lo need_locks exclude_expsyms include_expsyms; do
@@ -2412,8 +2638,11 @@
 # configuration script generated by Autoconf, you may include it under
 # the same distribution terms that you use for the rest of that program.
 
+# A sed that does not truncate output.
+SED=$lt_SED
+
 # Sed that helps us avoid accidentally triggering echo(1) options like -n.
-Xsed="sed -e s/^X//"
+Xsed="${SED} -e s/^X//"
 
 # The HP-UX ksh and POSIX shell print the target directory to stdout
 # if CDPATH is set.
@@ -2429,12 +2658,12 @@
 # Whether or not to build shared libraries.
 build_libtool_libs=$enable_shared
 
-# Whether or not to add -lc for building shared libraries.
-build_libtool_need_lc=$need_lc
-
 # Whether or not to build static libraries.
 build_old_libs=$enable_static
 
+# Whether or not to add -lc for building shared libraries.
+build_libtool_need_lc=$need_lc
+
 # Whether or not to optimize for fast installation.
 fast_install=$enable_fast_install
 
@@ -2600,6 +2829,9 @@
 # Transform the output of nm in a proper C declaration
 global_symbol_to_cdecl=$lt_global_symbol_to_cdecl
 
+# Transform the output of nm in a C name address pair
+global_symbol_to_c_name_address=$lt_global_symbol_to_c_name_address
+
 # This is the shared library runtime path variable.
 runpath_var=$runpath_var
 
@@ -2722,9 +2954,9 @@
 #   return TRUE;
 # }
 # /* ltdll.c ends here */
-        # This is a source program that is used to create import libraries
-        # on Windows for dlls which lack them. Don't remove nor modify the
-        # starting and closing comments
+	# This is a source program that is used to create import libraries
+	# on Windows for dlls which lack them. Don't remove nor modify the
+	# starting and closing comments
 # /* impgen.c starts here */
 # /*   Copyright (C) 1999-2000 Free Software Foundation, Inc.
 #
@@ -3079,6 +3311,7 @@
 AC_REQUIRE([AC_PROG_CC])dnl
 AC_REQUIRE([AC_CANONICAL_HOST])dnl
 AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+AC_REQUIRE([_LT_AC_LIBTOOL_SYS_PATH_SEPARATOR])dnl
 ac_prog=ld
 if test "$GCC" = yes; then
   # Check if gcc -print-prog-name=ld gives a path.
@@ -3092,8 +3325,8 @@
   esac
   case $ac_prog in
     # Accept absolute paths.
-    [[\\/]* | [A-Za-z]:[\\/]*)]
-      [re_direlt='/[^/][^/]*/\.\./']
+    [[\\/]]* | [[A-Za-z]]:[[\\/]]*)
+      re_direlt='/[[^/]][[^/]]*/\.\./'
       # Canonicalize the path of ld
       ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
       while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
@@ -3117,7 +3350,7 @@
 fi
 AC_CACHE_VAL(lt_cv_path_LD,
 [if test -z "$LD"; then
-  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
+  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
   for ac_dir in $PATH; do
     test -z "$ac_dir" && ac_dir=.
     if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
@@ -3170,7 +3403,7 @@
 # AC_DEPLIBS_CHECK_METHOD - how to check for library dependencies
 #  -- PORTME fill in with the dynamic library characteristics
 AC_DEFUN([AC_DEPLIBS_CHECK_METHOD],
-[AC_CACHE_CHECK([how to recognise dependant libraries],
+[AC_CACHE_CHECK([how to recognise dependent libraries],
 lt_cv_deplibs_check_method,
 [lt_cv_file_magic_cmd='$MAGIC_CMD'
 lt_cv_file_magic_test_file=
@@ -3181,7 +3414,7 @@
 # `unknown' -- same as none, but documents that we really don't know.
 # 'pass_all' -- all dependencies passed with no checks.
 # 'test_compile' -- check by making test program.
-# ['file_magic [regex]'] -- check by looking for files in library path
+# 'file_magic [[regex]]' -- check by looking for files in library path
 # which responds to the $file_magic_cmd with a given egrep regex.
 # If you have `file' or equivalent on your system and you're not sure
 # whether `pass_all' will *always* work, you probably want this one.
@@ -3196,7 +3429,7 @@
   ;;
 
 bsdi4*)
-  [lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)']
+  lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
   lt_cv_file_magic_cmd='/usr/bin/file -L'
   lt_cv_file_magic_test_file=/shlib/libc.so
   ;;
@@ -3210,7 +3443,7 @@
   lt_cv_deplibs_check_method='file_magic Mach-O dynamically linked shared library'
   lt_cv_file_magic_cmd='/usr/bin/file -L'
   case "$host_os" in
-  rhapsody* | darwin1.[012])
+  rhapsody* | darwin1.[[012]])
     lt_cv_file_magic_test_file=`echo /System/Library/Frameworks/System.framework/Versions/*/System | head -1`
     ;;
   *) # Darwin 1.3 on
@@ -3225,7 +3458,7 @@
     i*86 )
       # Not sure whether the presence of OpenBSD here was a mistake.
       # Let's accept both of them until this is cleared up.
-      [lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD)/i[3-9]86 (compact )?demand paged shared library']
+      lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD)/i[[3-9]]86 (compact )?demand paged shared library'
       lt_cv_file_magic_cmd=/usr/bin/file
       lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
       ;;
@@ -3240,14 +3473,14 @@
   ;;
 
 hpux10.20*|hpux11*)
-  [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library']
+  lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library'
   lt_cv_file_magic_cmd=/usr/bin/file
   lt_cv_file_magic_test_file=/usr/lib/libc.sl
   ;;
 
-irix5* | irix6*)
+irix5* | irix6* | nonstopux*)
   case $host_os in
-  irix5*)
+  irix5* | nonstopux*)
     # this will be overridden with pass_all, but let us keep it just in case
     lt_cv_deplibs_check_method="file_magic ELF 32-bit MSB dynamic lib MIPS - version 1"
     ;;
@@ -3259,7 +3492,7 @@
     *) libmagic=never-match;;
     esac
     # this will be overridden with pass_all, but let us keep it just in case
-    [lt_cv_deplibs_check_method="file_magic ELF ${libmagic} MSB mips-[1234] dynamic lib MIPS - version 1"]
+    lt_cv_deplibs_check_method="file_magic ELF ${libmagic} MSB mips-[[1234]] dynamic lib MIPS - version 1"
     ;;
   esac
   lt_cv_file_magic_test_file=`echo /lib${libsuff}/libc.so*`
@@ -3269,29 +3502,39 @@
 # This must be Linux ELF.
 linux-gnu*)
   case $host_cpu in
-  alpha* | hppa* | i*86 | powerpc* | sparc* | ia64* | s390* )
+  alpha* | hppa* | i*86 | mips | mipsel | powerpc* | sparc* | ia64* | arm* | m68k)
     lt_cv_deplibs_check_method=pass_all ;;
   *)
     # glibc up to 2.1.1 does not perform some relocations on ARM
-    [lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' ;;]
+    lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' ;;
   esac
   lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
   ;;
 
 netbsd*)
   if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
-    [lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$']
+    lt_cv_deplibs_check_method='match_pattern /lib[[^/\.]]+\.so\.[[0-9]]+\.[[0-9]]+$'
   else
-    [lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so$']
+    lt_cv_deplibs_check_method='match_pattern /lib[[^/\.]]+\.so$'
   fi
   ;;
 
 newos6*)
-  [lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)']
+  lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
   lt_cv_file_magic_cmd=/usr/bin/file
   lt_cv_file_magic_test_file=/usr/lib/libnls.so
   ;;
 
+openbsd*)
+  lt_cv_file_magic_cmd=/usr/bin/file
+  lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
+  if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+    lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB shared object'
+  else
+    lt_cv_deplibs_check_method='file_magic OpenBSD.* shared library'
+  fi
+  ;;
+
 osf3* | osf4* | osf5*)
   # this will be overridden with pass_all, but let us keep it just in case
   lt_cv_deplibs_check_method='file_magic COFF format alpha shared library'
@@ -3308,14 +3551,14 @@
   lt_cv_file_magic_test_file=/lib/libc.so
   ;;
 
-[sysv5uw[78]* | sysv4*uw2*)]
+sysv5uw[[78]]* | sysv4*uw2*)
   lt_cv_deplibs_check_method=pass_all
   ;;
 
 sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
   case $host_vendor in
   motorola)
-    [lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]']
+    lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]'
     lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
     ;;
   ncr)
@@ -3323,13 +3566,16 @@
     ;;
   sequent)
     lt_cv_file_magic_cmd='/bin/file'
-    [lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )']
+    lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )'
     ;;
   sni)
     lt_cv_file_magic_cmd='/bin/file'
-    [lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib"]
+    lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib"
     lt_cv_file_magic_test_file=/lib/libc.so
     ;;
+  siemens)
+    lt_cv_deplibs_check_method=pass_all
+    ;;
   esac
   ;;
 esac
@@ -3341,13 +3587,14 @@
 
 # AC_PROG_NM - find the path to a BSD-compatible name lister
 AC_DEFUN([AC_PROG_NM],
-[AC_MSG_CHECKING([for BSD-compatible nm])
+[AC_REQUIRE([_LT_AC_LIBTOOL_SYS_PATH_SEPARATOR])dnl
+AC_MSG_CHECKING([for BSD-compatible nm])
 AC_CACHE_VAL(lt_cv_path_NM,
 [if test -n "$NM"; then
   # Let the user override the test.
   lt_cv_path_NM="$NM"
 else
-  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
+  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
   for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do
     test -z "$ac_dir" && ac_dir=.
     tmp_nm=$ac_dir/${ac_tool_prefix}nm
@@ -3394,12 +3641,12 @@
 ])
 
 # AC_LIBLTDL_CONVENIENCE[(dir)] - sets LIBLTDL to the link flags for
-# the libltdl convenience library and INCLTDL to the include flags for
+# the libltdl convenience library and LTDLINCL to the include flags for
 # the libltdl header and adds --enable-ltdl-convenience to the
-# configure arguments.  Note that LIBLTDL and INCLTDL are not
+# configure arguments.  Note that LIBLTDL and LTDLINCL are not
 # AC_SUBSTed, nor is AC_CONFIG_SUBDIRS called.  If DIR is not
 # provided, it is assumed to be `libltdl'.  LIBLTDL will be prefixed
-# with '${top_builddir}/' and INCLTDL will be prefixed with
+# with '${top_builddir}/' and LTDLINCL will be prefixed with
 # '${top_srcdir}/' (note the single quotes!).  If your package is not
 # flat and you're not using automake, define top_builddir and
 # top_srcdir appropriately in the Makefiles.
@@ -3411,16 +3658,18 @@
       ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;;
   esac
   LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdlc.la
-  INCLTDL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
+  LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
+  # For backwards non-gettext consistent compatibility...
+  INCLTDL="$LTDLINCL"
 ])
 
 # AC_LIBLTDL_INSTALLABLE[(dir)] - sets LIBLTDL to the link flags for
-# the libltdl installable library and INCLTDL to the include flags for
+# the libltdl installable library and LTDLINCL to the include flags for
 # the libltdl header and adds --enable-ltdl-install to the configure
-# arguments.  Note that LIBLTDL and INCLTDL are not AC_SUBSTed, nor is
+# arguments.  Note that LIBLTDL and LTDLINCL are not AC_SUBSTed, nor is
 # AC_CONFIG_SUBDIRS called.  If DIR is not provided and an installed
 # libltdl is not found, it is assumed to be `libltdl'.  LIBLTDL will
-# be prefixed with '${top_builddir}/' and INCLTDL will be prefixed
+# be prefixed with '${top_builddir}/' and LTDLINCL will be prefixed
 # with '${top_srcdir}/' (note the single quotes!).  If your package is
 # not flat and you're not using automake, define top_builddir and
 # top_srcdir appropriately in the Makefiles.
@@ -3438,12 +3687,14 @@
   if test x"$enable_ltdl_install" = x"yes"; then
     ac_configure_args="$ac_configure_args --enable-ltdl-install"
     LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdl.la
-    INCLTDL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
+    LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
   else
     ac_configure_args="$ac_configure_args --enable-ltdl-install=no"
     LIBLTDL="-lltdl"
-    INCLTDL=
+    LTDLINCL=
   fi
+  # For backwards non-gettext consistent compatibility...
+  INCLTDL="$LTDLINCL"
 ])
 
 # old names
@@ -3458,3 +3709,92 @@
 # This is just to silence aclocal about the macro not being used
 ifelse([AC_DISABLE_FAST_INSTALL])
 
+# NOTE: This macro has been submitted for inclusion into   #
+#  GNU Autoconf as AC_PROG_SED.  When it is available in   #
+#  a released version of Autoconf we should remove this    #
+#  macro and use it instead.                               #
+# LT_AC_PROG_SED
+# --------------
+# Check for a fully-functional sed program, that truncates
+# as few characters as possible.  Prefer GNU sed if found.
+AC_DEFUN([LT_AC_PROG_SED],
+[AC_MSG_CHECKING([for a sed that does not truncate output])
+AC_CACHE_VAL(lt_cv_path_SED,
+[# Loop through the user's path and test for sed and gsed.
+# Then use that list of sed's as ones to test for truncation.
+as_executable_p="test -f"
+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_prog in sed gsed; do
+    for ac_exec_ext in '' $ac_executable_extensions; do
+      if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
+        _sed_list="$_sed_list $as_dir/$ac_prog$ac_exec_ext"
+      fi
+    done
+  done
+done
+
+  # Create a temporary directory, and hook for its removal unless debugging.
+$debug ||
+{
+  trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0
+  trap '{ (exit 1); exit 1; }' 1 2 13 15
+}
+
+# Create a (secure) tmp directory for tmp files.
+: ${TMPDIR=/tmp}
+{
+  tmp=`(umask 077 && mktemp -d -q "$TMPDIR/sedXXXXXX") 2>/dev/null` &&
+  test -n "$tmp" && test -d "$tmp"
+}  ||
+{
+  tmp=$TMPDIR/sed$$-$RANDOM
+  (umask 077 && mkdir $tmp)
+} ||
+{
+   echo "$me: cannot create a temporary directory in $TMPDIR" >&2
+   { (exit 1); exit 1; }
+}
+  _max=0
+  _count=0
+  # Add /usr/xpg4/bin/sed as it is typically found on Solaris
+  # along with /bin/sed that truncates output.
+  for _sed in $_sed_list /usr/xpg4/bin/sed; do
+    test ! -f ${_sed} && break
+    cat /dev/null > "$tmp/sed.in"
+    _count=0
+    echo ${ECHO_N-$ac_n} "0123456789${ECHO_C-$ac_c}" >"$tmp/sed.in"
+    # Check for GNU sed and select it if it is found.
+    if "${_sed}" --version 2>&1 < /dev/null | egrep '(GNU)' > /dev/null; then
+      lt_cv_path_SED=${_sed}
+      break
+    fi
+    while true; do
+      cat "$tmp/sed.in" "$tmp/sed.in" >"$tmp/sed.tmp"
+      mv "$tmp/sed.tmp" "$tmp/sed.in"
+      cp "$tmp/sed.in" "$tmp/sed.nl"
+      echo >>"$tmp/sed.nl"
+      ${_sed} -e 's/a$//' < "$tmp/sed.nl" >"$tmp/sed.out" || break
+      cmp -s "$tmp/sed.out" "$tmp/sed.nl" || break
+      # 40000 chars as input seems more than enough
+      test $_count -gt 10 && break
+      _count=`expr $_count + 1`
+      if test $_count -gt $_max; then
+        _max=$_count
+        lt_cv_path_SED=$_sed
+      fi
+    done
+  done
+  rm -rf "$tmp"
+])
+if test "X$SED" != "X"; then
+  lt_cv_path_SED=$SED
+else
+  SED=$lt_cv_path_SED
+fi
+AC_MSG_RESULT([$SED])
+])
+
Index: linux-atm-2.4.1/config.guess
===================================================================
--- linux-atm-2.4.1.orig/config.guess	2007-06-04 13:23:53.896540376 +0200
+++ linux-atm-2.4.1/config.guess	2007-06-04 13:23:54.463454192 +0200
@@ -1,9 +1,9 @@
 #! /bin/sh
 # Attempt to guess a canonical system name.
-#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
-#   Free Software Foundation, Inc.
+#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+#   2000, 2001, 2002, 2003 Free Software Foundation, Inc.
 
-timestamp='2001-04-20'
+timestamp='2003-05-19'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -24,8 +24,9 @@
 # configuration script generated by Autoconf, you may include it under
 # the same distribution terms that you use for the rest of that program.
 
-# Written by Per Bothner <bothner@cygnus.com>.
-# Please send patches to <config-patches@gnu.org>.
+# Originally written by Per Bothner <per@bothner.com>.
+# Please send patches to <config-patches@gnu.org>.  Submit a context
+# diff and a properly formatted ChangeLog entry.
 #
 # This script attempts to guess a canonical system name similar to
 # config.sub.  If it succeeds, it prints the system name on stdout, and
@@ -52,7 +53,7 @@
 GNU config.guess ($timestamp)
 
 Originally written by Per Bothner.
-Copyright (C) 1992, 93, 94, 95, 96, 97, 98, 99, 2000
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
 Free Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
@@ -87,33 +88,44 @@
   exit 1
 fi
 
+trap 'exit 1' 1 2 15
 
-dummy=dummy-$$
-trap 'rm -f $dummy.c $dummy.o $dummy.rel $dummy; exit 1' 1 2 15
+# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
+# compiler to aid in system detection is discouraged as it requires
+# temporary files to be created and, as you can see below, it is a
+# headache to deal with in a portable fashion.
 
-# CC_FOR_BUILD -- compiler used by this script.
 # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
 # use `HOST_CC' if defined, but it is deprecated.
 
+# Portable tmp directory creation inspired by the Autoconf team.
+
+set_cc_for_build='
+trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
+trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
+: ${TMPDIR=/tmp} ;
+ { tmp=`(umask 077 && mktemp -d -q "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
+ { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
+ { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
+dummy=$tmp/dummy ;
+tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
 case $CC_FOR_BUILD,$HOST_CC,$CC in
- ,,)    echo "int dummy(){}" > $dummy.c
-	for c in cc gcc c89 ; do
-	  ($c $dummy.c -c -o $dummy.o) >/dev/null 2>&1
-	  if test $? = 0 ; then
-	     CC_FOR_BUILD="$c"; break
-	  fi
-	done
-	rm -f $dummy.c $dummy.o $dummy.rel
+ ,,)    echo "int x;" > $dummy.c ;
+	for c in cc gcc c89 c99 ; do
+	  if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
+	     CC_FOR_BUILD="$c"; break ;
+	  fi ;
+	done ;
 	if test x"$CC_FOR_BUILD" = x ; then
-	  CC_FOR_BUILD=no_compiler_found
+	  CC_FOR_BUILD=no_compiler_found ;
 	fi
 	;;
  ,,*)   CC_FOR_BUILD=$CC ;;
  ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
-esac
+esac ;'
 
 # This is needed to find uname on a Pyramid OSx when run in the BSD universe.
-# (ghazi@noc.rutgers.edu 8/24/94.)
+# (ghazi@noc.rutgers.edu 1994-08-24)
 if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
 	PATH=$PATH:/.attbin ; export PATH
 fi
@@ -127,29 +139,31 @@
 
 case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
     *:NetBSD:*:*)
-	# Netbsd (nbsd) targets should (where applicable) match one or
+	# NetBSD (nbsd) targets should (where applicable) match one or
 	# more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
 	# *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
 	# switched to ELF, *-*-netbsd* would select the old
 	# object file format.  This provides both forward
 	# compatibility and a consistent mechanism for selecting the
 	# object file format.
-	# Determine the machine/vendor (is the vendor relevant).
-	case "${UNAME_MACHINE}" in
-	    amiga) machine=m68k-unknown ;;
-	    arm32) machine=arm-unknown ;;
-	    atari*) machine=m68k-atari ;;
-	    sun3*) machine=m68k-sun ;;
-	    mac68k) machine=m68k-apple ;;
-	    macppc) machine=powerpc-apple ;;
-	    hp3[0-9][05]) machine=m68k-hp ;;
-	    ibmrt|romp-ibm) machine=romp-ibm ;;
-	    *) machine=${UNAME_MACHINE}-unknown ;;
+	#
+	# Note: NetBSD doesn't particularly care about the vendor
+	# portion of the name.  We always set it to "unknown".
+	sysctl="sysctl -n hw.machine_arch"
+	UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
+	    /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
+	case "${UNAME_MACHINE_ARCH}" in
+	    armeb) machine=armeb-unknown ;;
+	    arm*) machine=arm-unknown ;;
+	    sh3el) machine=shl-unknown ;;
+	    sh3eb) machine=sh-unknown ;;
+	    *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
 	esac
 	# The Operating System including object format, if it has switched
 	# to ELF recently, or will in the future.
-	case "${UNAME_MACHINE}" in
-	    i386|sparc|amiga|arm*|hp300|mvme68k|vax|atari|luna68k|mac68k|news68k|next68k|pc532|sun3*|x68k)
+	case "${UNAME_MACHINE_ARCH}" in
+	    arm*|i386|m68k|ns32k|sh3*|sparc|vax)
+		eval $set_cc_for_build
 		if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
 			| grep __ELF__ >/dev/null
 		then
@@ -165,69 +179,107 @@
 		;;
 	esac
 	# The OS release
-	release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
+	# Debian GNU/NetBSD machines have a different userland, and
+	# thus, need a distinct triplet. However, they do not need
+	# kernel version information, so it can be replaced with a
+	# suitable tag, in the style of linux-gnu.
+	case "${UNAME_VERSION}" in
+	    Debian*)
+		release='-gnu'
+		;;
+	    *)
+		release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
+		;;
+	esac
 	# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
 	# contains redundant information, the shorter form:
 	# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
 	echo "${machine}-${os}${release}"
 	exit 0 ;;
+    amiga:OpenBSD:*:*)
+	echo m68k-unknown-openbsd${UNAME_RELEASE}
+	exit 0 ;;
+    arc:OpenBSD:*:*)
+	echo mipsel-unknown-openbsd${UNAME_RELEASE}
+	exit 0 ;;
+    hp300:OpenBSD:*:*)
+	echo m68k-unknown-openbsd${UNAME_RELEASE}
+	exit 0 ;;
+    mac68k:OpenBSD:*:*)
+	echo m68k-unknown-openbsd${UNAME_RELEASE}
+	exit 0 ;;
+    macppc:OpenBSD:*:*)
+	echo powerpc-unknown-openbsd${UNAME_RELEASE}
+	exit 0 ;;
+    mvme68k:OpenBSD:*:*)
+	echo m68k-unknown-openbsd${UNAME_RELEASE}
+	exit 0 ;;
+    mvme88k:OpenBSD:*:*)
+	echo m88k-unknown-openbsd${UNAME_RELEASE}
+	exit 0 ;;
+    mvmeppc:OpenBSD:*:*)
+	echo powerpc-unknown-openbsd${UNAME_RELEASE}
+	exit 0 ;;
+    pmax:OpenBSD:*:*)
+	echo mipsel-unknown-openbsd${UNAME_RELEASE}
+	exit 0 ;;
+    sgi:OpenBSD:*:*)
+	echo mipseb-unknown-openbsd${UNAME_RELEASE}
+	exit 0 ;;
+    sun3:OpenBSD:*:*)
+	echo m68k-unknown-openbsd${UNAME_RELEASE}
+	exit 0 ;;
+    wgrisc:OpenBSD:*:*)
+	echo mipsel-unknown-openbsd${UNAME_RELEASE}
+	exit 0 ;;
+    *:OpenBSD:*:*)
+	echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE}
+	exit 0 ;;
     alpha:OSF1:*:*)
 	if test $UNAME_RELEASE = "V4.0"; then
 		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
 	fi
+	# According to Compaq, /usr/sbin/psrinfo has been available on
+	# OSF/1 and Tru64 systems produced since 1995.  I hope that
+	# covers most systems running today.  This code pipes the CPU
+	# types through head -n 1, so we only detect the type of CPU 0.
+	ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`
+	case "$ALPHA_CPU_TYPE" in
+	    "EV4 (21064)")
+		UNAME_MACHINE="alpha" ;;
+	    "EV4.5 (21064)")
+		UNAME_MACHINE="alpha" ;;
+	    "LCA4 (21066/21068)")
+		UNAME_MACHINE="alpha" ;;
+	    "EV5 (21164)")
+		UNAME_MACHINE="alphaev5" ;;
+	    "EV5.6 (21164A)")
+		UNAME_MACHINE="alphaev56" ;;
+	    "EV5.6 (21164PC)")
+		UNAME_MACHINE="alphapca56" ;;
+	    "EV5.7 (21164PC)")
+		UNAME_MACHINE="alphapca57" ;;
+	    "EV6 (21264)")
+		UNAME_MACHINE="alphaev6" ;;
+	    "EV6.7 (21264A)")
+		UNAME_MACHINE="alphaev67" ;;
+	    "EV6.8CB (21264C)")
+		UNAME_MACHINE="alphaev68" ;;
+	    "EV6.8AL (21264B)")
+		UNAME_MACHINE="alphaev68" ;;
+	    "EV6.8CX (21264D)")
+		UNAME_MACHINE="alphaev68" ;;
+	    "EV6.9A (21264/EV69A)")
+		UNAME_MACHINE="alphaev69" ;;
+	    "EV7 (21364)")
+		UNAME_MACHINE="alphaev7" ;;
+	    "EV7.9 (21364A)")
+		UNAME_MACHINE="alphaev79" ;;
+	esac
 	# A Vn.n version is a released version.
 	# A Tn.n version is a released field test version.
 	# A Xn.n version is an unreleased experimental baselevel.
 	# 1.2 uses "1.2" for uname -r.
-	cat <<EOF >$dummy.s
-	.data
-\$Lformat:
-	.byte 37,100,45,37,120,10,0	# "%d-%x\n"
-
-	.text
-	.globl main
-	.align 4
-	.ent main
-main:
-	.frame \$30,16,\$26,0
-	ldgp \$29,0(\$27)
-	.prologue 1
-	.long 0x47e03d80 # implver \$0
-	lda \$2,-1
-	.long 0x47e20c21 # amask \$2,\$1
-	lda \$16,\$Lformat
-	mov \$0,\$17
-	not \$1,\$18
-	jsr \$26,printf
-	ldgp \$29,0(\$26)
-	mov 0,\$16
-	jsr \$26,exit
-	.end main
-EOF
-	$CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null
-	if test "$?" = 0 ; then
-		case `./$dummy` in
-			0-0)
-				UNAME_MACHINE="alpha"
-				;;
-			1-0)
-				UNAME_MACHINE="alphaev5"
-				;;
-			1-1)
-				UNAME_MACHINE="alphaev56"
-				;;
-			1-101)
-				UNAME_MACHINE="alphapca56"
-				;;
-			2-303)
-				UNAME_MACHINE="alphaev6"
-				;;
-			2-307)
-				UNAME_MACHINE="alphaev67"
-				;;
-		esac
-	fi
-	rm -f $dummy.s $dummy
 	echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
 	exit 0 ;;
     Alpha\ *:Windows_NT*:*)
@@ -242,29 +294,11 @@
     Amiga*:UNIX_System_V:4.0:*)
 	echo m68k-unknown-sysv4
 	exit 0;;
-    amiga:OpenBSD:*:*)
-	echo m68k-unknown-openbsd${UNAME_RELEASE}
-	exit 0 ;;
     *:[Aa]miga[Oo][Ss]:*:*)
 	echo ${UNAME_MACHINE}-unknown-amigaos
 	exit 0 ;;
-    arc64:OpenBSD:*:*)
-	echo mips64el-unknown-openbsd${UNAME_RELEASE}
-	exit 0 ;;
-    arc:OpenBSD:*:*)
-	echo mipsel-unknown-openbsd${UNAME_RELEASE}
-	exit 0 ;;
-    hkmips:OpenBSD:*:*)
-	echo mips-unknown-openbsd${UNAME_RELEASE}
-	exit 0 ;;
-    pmax:OpenBSD:*:*)
-	echo mipsel-unknown-openbsd${UNAME_RELEASE}
-	exit 0 ;;
-    sgi:OpenBSD:*:*)
-	echo mips-unknown-openbsd${UNAME_RELEASE}
-	exit 0 ;;
-    wgrisc:OpenBSD:*:*)
-	echo mipsel-unknown-openbsd${UNAME_RELEASE}
+    *:[Mm]orph[Oo][Ss]:*:*)
+	echo ${UNAME_MACHINE}-unknown-morphos
 	exit 0 ;;
     *:OS/390:*:*)
 	echo i370-ibm-openedition
@@ -286,6 +320,10 @@
     NILE*:*:*:dcosx)
 	echo pyramid-pyramid-svr4
 	exit 0 ;;
+    DRS?6000:UNIX_SV:4.2*:7*)
+	case `/usr/bin/uname -p` in
+	    sparc) echo sparc-icl-nx7 && exit 0 ;;
+	esac ;;
     sun4H:SunOS:5.*:*)
 	echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
 	exit 0 ;;
@@ -314,7 +352,7 @@
 	echo m68k-sun-sunos${UNAME_RELEASE}
 	exit 0 ;;
     sun*:*:4.2BSD:*)
-	UNAME_RELEASE=`(head -1 /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
+	UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
 	test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
 	case "`/bin/arch`" in
 	    sun3)
@@ -328,9 +366,6 @@
     aushp:SunOS:*:*)
 	echo sparc-auspex-sunos${UNAME_RELEASE}
 	exit 0 ;;
-    atari*:OpenBSD:*:*)
-	echo m68k-unknown-openbsd${UNAME_RELEASE}
-	exit 0 ;;
     # The situation for MiNT is a little confusing.  The machine name
     # can be virtually everything (everything which is not
     # "atarist" or "atariste" at least should have a processor
@@ -357,18 +392,6 @@
     *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
         echo m68k-unknown-mint${UNAME_RELEASE}
         exit 0 ;;
-    sun3*:OpenBSD:*:*)
-	echo m68k-unknown-openbsd${UNAME_RELEASE}
-	exit 0 ;;
-    mac68k:OpenBSD:*:*)
-	echo m68k-unknown-openbsd${UNAME_RELEASE}
-	exit 0 ;;
-    mvme68k:OpenBSD:*:*)
-	echo m68k-unknown-openbsd${UNAME_RELEASE}
-	exit 0 ;;
-    mvme88k:OpenBSD:*:*)
-	echo m88k-unknown-openbsd${UNAME_RELEASE}
-	exit 0 ;;
     powerpc:machten:*:*)
 	echo powerpc-apple-machten${UNAME_RELEASE}
 	exit 0 ;;
@@ -385,6 +408,7 @@
 	echo clipper-intergraph-clix${UNAME_RELEASE}
 	exit 0 ;;
     mips:*:*:UMIPS | mips:*:*:RISCos)
+	eval $set_cc_for_build
 	sed 's/^	//' << EOF >$dummy.c
 #ifdef __cplusplus
 #include <stdio.h>  /* for printf() prototype */
@@ -406,15 +430,20 @@
 	  exit (-1);
 	}
 EOF
-	$CC_FOR_BUILD $dummy.c -o $dummy \
-	  && ./$dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
-	  && rm -f $dummy.c $dummy && exit 0
-	rm -f $dummy.c $dummy
+	$CC_FOR_BUILD -o $dummy $dummy.c \
+	  && $dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
+	  && exit 0
 	echo mips-mips-riscos${UNAME_RELEASE}
 	exit 0 ;;
     Motorola:PowerMAX_OS:*:*)
 	echo powerpc-motorola-powermax
 	exit 0 ;;
+    Motorola:*:4.3:PL8-*)
+	echo powerpc-harris-powermax
+	exit 0 ;;
+    Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
+	echo powerpc-harris-powermax
+	exit 0 ;;
     Night_Hawk:Power_UNIX:*:*)
 	echo powerpc-harris-powerunix
 	exit 0 ;;
@@ -475,6 +504,7 @@
 	exit 0 ;;
     *:AIX:2:3)
 	if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
+		eval $set_cc_for_build
 		sed 's/^		//' << EOF >$dummy.c
 		#include <sys/systemcfg.h>
 
@@ -486,8 +516,7 @@
 			exit(0);
 			}
 EOF
-		$CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0
-		rm -f $dummy.c $dummy
+		$CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0
 		echo rs6000-ibm-aix3.2.5
 	elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
 		echo rs6000-ibm-aix3.2.4
@@ -496,7 +525,7 @@
 	fi
 	exit 0 ;;
     *:AIX:*:[45])
-	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | head -1 | awk '{ print $1 }'`
+	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
 	if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
 		IBM_ARCH=rs6000
 	else
@@ -536,10 +565,8 @@
 	    9000/31? )            HP_ARCH=m68000 ;;
 	    9000/[34]?? )         HP_ARCH=m68k ;;
 	    9000/[678][0-9][0-9])
-              case "${HPUX_REV}" in
-                11.[0-9][0-9])
-                  if [ -x /usr/bin/getconf ]; then
-                    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
+		if [ -x /usr/bin/getconf ]; then
+		    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
                     sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
                     case "${sc_cpu_version}" in
                       523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
@@ -548,12 +575,13 @@
                         case "${sc_kernel_bits}" in
                           32) HP_ARCH="hppa2.0n" ;;
                           64) HP_ARCH="hppa2.0w" ;;
+			  '') HP_ARCH="hppa2.0" ;;   # HP-UX 10.20
                         esac ;;
                     esac
-                  fi ;;
-              esac
-              if [ "${HP_ARCH}" = "" ]; then
-              sed 's/^              //' << EOF >$dummy.c
+		fi
+		if [ "${HP_ARCH}" = "" ]; then
+		    eval $set_cc_for_build
+		    sed 's/^              //' << EOF >$dummy.c
 
               #define _HPUX_SOURCE
               #include <stdlib.h>
@@ -586,11 +614,21 @@
                   exit (0);
               }
 EOF
-	(CCOPTS= $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null ) && HP_ARCH=`./$dummy`
-	if test -z "$HP_ARCH"; then HP_ARCH=hppa; fi
-	rm -f $dummy.c $dummy
-	fi ;;
+		    (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
+		    test -z "$HP_ARCH" && HP_ARCH=hppa
+		fi ;;
 	esac
+	if [ ${HP_ARCH} = "hppa2.0w" ]
+	then
+	    # avoid double evaluation of $set_cc_for_build
+	    test -n "$CC_FOR_BUILD" || eval $set_cc_for_build
+	    if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E -) | grep __LP64__ >/dev/null
+	    then
+		HP_ARCH="hppa2.0w"
+	    else
+		HP_ARCH="hppa64"
+	    fi
+	fi
 	echo ${HP_ARCH}-hp-hpux${HPUX_REV}
 	exit 0 ;;
     ia64:HP-UX:*:*)
@@ -598,6 +636,7 @@
 	echo ia64-hp-hpux${HPUX_REV}
 	exit 0 ;;
     3050*:HI-UX:*:*)
+	eval $set_cc_for_build
 	sed 's/^	//' << EOF >$dummy.c
 	#include <unistd.h>
 	int
@@ -623,8 +662,7 @@
 	  exit (0);
 	}
 EOF
-	$CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0
-	rm -f $dummy.c $dummy
+	$CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0
 	echo unknown-hitachi-hiuxwe2
 	exit 0 ;;
     9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
@@ -633,7 +671,7 @@
     9000/8??:4.3bsd:*:*)
 	echo hppa1.0-hp-bsd
 	exit 0 ;;
-    *9??*:MPE/iX:*:*)
+    *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
 	echo hppa1.0-hp-mpeix
 	exit 0 ;;
     hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
@@ -652,9 +690,6 @@
     parisc*:Lites*:*:*)
 	echo hppa1.1-hp-lites
 	exit 0 ;;
-    hppa*:OpenBSD:*:*)
-	echo hppa-unknown-openbsd
-	exit 0 ;;
     C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
 	echo c1-convex-bsd
         exit 0 ;;
@@ -673,41 +708,33 @@
     C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
 	echo c4-convex-bsd
         exit 0 ;;
-    CRAY*X-MP:*:*:*)
-	echo xmp-cray-unicos
-        exit 0 ;;
     CRAY*Y-MP:*:*:*)
-	echo ymp-cray-unicos${UNAME_RELEASE}
+	echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
 	exit 0 ;;
     CRAY*[A-Z]90:*:*:*)
 	echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
 	| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
-	      -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/
+	      -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
+	      -e 's/\.[^.]*$/.X/'
 	exit 0 ;;
     CRAY*TS:*:*:*)
 	echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
 	exit 0 ;;
-    CRAY*T3D:*:*:*)
-	echo alpha-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-	exit 0 ;;
     CRAY*T3E:*:*:*)
 	echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
 	exit 0 ;;
     CRAY*SV1:*:*:*)
 	echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
 	exit 0 ;;
-    CRAY-2:*:*:*)
-	echo cray2-cray-unicos
-        exit 0 ;;
+    *:UNICOS/mp:*:*)
+	echo nv1-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' 
+	exit 0 ;;
     F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
 	FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
         FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
         FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
         echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
         exit 0 ;;
-    hp300:OpenBSD:*:*)
-	echo m68k-unknown-openbsd${UNAME_RELEASE}
-	exit 0 ;;
     i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
 	echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
 	exit 0 ;;
@@ -717,11 +744,19 @@
     *:BSD/OS:*:*)
 	echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
 	exit 0 ;;
-    *:FreeBSD:*:*)
-	echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
-	exit 0 ;;
-    *:OpenBSD:*:*)
-	echo ${UNAME_MACHINE}-unknown-openbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
+    *:FreeBSD:*:*|*:GNU/FreeBSD:*:*)
+	# Determine whether the default compiler uses glibc.
+	eval $set_cc_for_build
+	sed 's/^	//' << EOF >$dummy.c
+	#include <features.h>
+	#if __GLIBC__ >= 2
+	LIBC=gnu
+	#else
+	LIBC=
+	#endif
+EOF
+	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
+	echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`${LIBC:+-$LIBC}
 	exit 0 ;;
     i*:CYGWIN*:*)
 	echo ${UNAME_MACHINE}-pc-cygwin
@@ -732,11 +767,17 @@
     i*:PW*:*)
 	echo ${UNAME_MACHINE}-pc-pw32
 	exit 0 ;;
+    x86:Interix*:3*)
+	echo i586-pc-interix3
+	exit 0 ;;
+    [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
+	echo i${UNAME_MACHINE}-pc-mks
+	exit 0 ;;
     i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
 	# How do we know it's Interix rather than the generic POSIX subsystem?
 	# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
 	# UNAME_MACHINE based on the output of uname instead of i386?
-	echo i386-pc-interix
+	echo i586-pc-interix
 	exit 0 ;;
     i*:UWIN*:*)
 	echo ${UNAME_MACHINE}-pc-uwin
@@ -756,104 +797,71 @@
     arm*:Linux:*:*)
 	echo ${UNAME_MACHINE}-unknown-linux-gnu
 	exit 0 ;;
+    cris:Linux:*:*)
+	echo cris-axis-linux-gnu
+	exit 0 ;;
     ia64:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
 	exit 0 ;;
     m68*:Linux:*:*)
 	echo ${UNAME_MACHINE}-unknown-linux-gnu
 	exit 0 ;;
     mips:Linux:*:*)
-	cat >$dummy.c <<EOF
-#ifdef __cplusplus
-#include <stdio.h>  /* for printf() prototype */
-int main (int argc, char *argv[]) {
-#else
-int main (argc, argv) int argc; char *argv[]; {
-#endif
-#ifdef __MIPSEB__
-  printf ("%s-unknown-linux-gnu\n", argv[1]);
-#endif
-#ifdef __MIPSEL__
-  printf ("%sel-unknown-linux-gnu\n", argv[1]);
-#endif
-  return 0;
-}
+	eval $set_cc_for_build
+	sed 's/^	//' << EOF >$dummy.c
+	#undef CPU
+	#undef mips
+	#undef mipsel
+	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
+	CPU=mipsel
+	#else
+	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
+	CPU=mips
+	#else
+	CPU=
+	#endif
+	#endif
 EOF
-	$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy "${UNAME_MACHINE}" && rm -f $dummy.c $dummy && exit 0
-	rm -f $dummy.c $dummy
+	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
+	test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0
 	;;
-    ppc:Linux:*:*)
-	# Determine Lib Version
-	cat >$dummy.c <<EOF
-#include <features.h>
-#if defined(__GLIBC__)
-extern char __libc_version[];
-extern char __libc_release[];
-#endif
-main(argc, argv)
-     int argc;
-     char *argv[];
-{
-#if defined(__GLIBC__)
-  printf("%s %s\n", __libc_version, __libc_release);
-#else
-  printf("unknown\n");
-#endif
-  return 0;
-}
+    mips64:Linux:*:*)
+	eval $set_cc_for_build
+	sed 's/^	//' << EOF >$dummy.c
+	#undef CPU
+	#undef mips64
+	#undef mips64el
+	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
+	CPU=mips64el
+	#else
+	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
+	CPU=mips64
+	#else
+	CPU=
+	#endif
+	#endif
 EOF
-	LIBC=""
-	$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null
-	if test "$?" = 0 ; then
-		./$dummy | grep 1\.99 > /dev/null
-		if test "$?" = 0 ; then LIBC="libc1" ; fi
-	fi
-	rm -f $dummy.c $dummy
-	echo powerpc-unknown-linux-gnu${LIBC}
+	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
+	test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0
+	;;
+    ppc:Linux:*:*)
+	echo powerpc-unknown-linux-gnu
+	exit 0 ;;
+    ppc64:Linux:*:*)
+	echo powerpc64-unknown-linux-gnu
 	exit 0 ;;
     alpha:Linux:*:*)
-	cat <<EOF >$dummy.s
-	  .data
-	  \$Lformat:
-		.byte 37,100,45,37,120,10,0	# "%d-%x\n"
-	   .text
-		.globl main
-		.align 4
-		.ent main
-	    main:
-		.frame \$30,16,\$26,0
-		ldgp \$29,0(\$27)
-		.prologue 1
-		.long 0x47e03d80 # implver \$0
-		lda \$2,-1
-		.long 0x47e20c21 # amask \$2,\$1
-		lda \$16,\$Lformat
-		mov \$0,\$17
-		not \$1,\$18
-		jsr \$26,printf
-		ldgp \$29,0(\$26)
-		mov 0,\$16
-		jsr \$26,exit
-		.end main
-EOF
-	LIBC=""
-	$CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null
-	if test "$?" = 0 ; then
-		case `./$dummy` in
-		0-0)	UNAME_MACHINE="alpha" ;;
-		1-0)	UNAME_MACHINE="alphaev5" ;;
-		1-1)    UNAME_MACHINE="alphaev56" ;;
-		1-101)	UNAME_MACHINE="alphapca56" ;;
-		2-303)	UNAME_MACHINE="alphaev6" ;;
-		2-307)	UNAME_MACHINE="alphaev67" ;;
-		esac
-		objdump --private-headers $dummy | \
-		  grep ld.so.1 > /dev/null
-		if test "$?" = 0 ; then
-			LIBC="libc1"
-		fi
-	fi
-	rm -f $dummy.s $dummy
+	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
+	  EV5)   UNAME_MACHINE=alphaev5 ;;
+	  EV56)  UNAME_MACHINE=alphaev56 ;;
+	  PCA56) UNAME_MACHINE=alphapca56 ;;
+	  PCA57) UNAME_MACHINE=alphapca56 ;;
+	  EV6)   UNAME_MACHINE=alphaev6 ;;
+	  EV67)  UNAME_MACHINE=alphaev67 ;;
+	  EV68*) UNAME_MACHINE=alphaev68 ;;
+        esac
+	objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
+	if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
 	echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
 	exit 0 ;;
     parisc:Linux:*:* | hppa:Linux:*:*)
@@ -883,71 +891,59 @@
 	# The BFD linker knows what the default object file format is, so
 	# first see if it will tell us. cd to the root directory to prevent
 	# problems with other programs or directories called `ld' in the path.
-	ld_supported_emulations=`cd /; ld --help 2>&1 \
-			 | sed -ne '/supported emulations:/!d
+	# Set LC_ALL=C to ensure ld outputs messages in English.
+	ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
+			 | sed -ne '/supported targets:/!d
 				    s/[ 	][ 	]*/ /g
-				    s/.*supported emulations: *//
+				    s/.*supported targets: *//
 				    s/ .*//
 				    p'`
-        case "$ld_supported_emulations" in
-	  i*86linux)
-		echo "${UNAME_MACHINE}-pc-linux-gnuaout"
-		exit 0
-		;;
-	  elf_i*86)
+        case "$ld_supported_targets" in
+	  elf32-i386)
 		TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
 		;;
-	  i*86coff)
+	  a.out-i386-linux)
+		echo "${UNAME_MACHINE}-pc-linux-gnuaout"
+		exit 0 ;;
+	  coff-i386)
 		echo "${UNAME_MACHINE}-pc-linux-gnucoff"
-		exit 0
-		;;
-	esac
-	# Either a pre-BFD a.out linker (linux-gnuoldld)
-	# or one that does not give us useful --help.
-	# GCC wants to distinguish between linux-gnuoldld and linux-gnuaout.
-	# If ld does not provide *any* "supported emulations:"
-	# that means it is gnuoldld.
-	test -z "$ld_supported_emulations" && echo "${UNAME_MACHINE}-pc-linux-gnuoldld" && exit 0
-	case "${UNAME_MACHINE}" in
-	i*86)
-	  VENDOR=pc;
-	  ;;
-	*)
-	  VENDOR=unknown;
-	  ;;
+		exit 0 ;;
+	  "")
+		# Either a pre-BFD a.out linker (linux-gnuoldld) or
+		# one that does not give us useful --help.
+		echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
+		exit 0 ;;
 	esac
 	# Determine whether the default compiler is a.out or elf
-	cat >$dummy.c <<EOF
-#include <features.h>
-#ifdef __cplusplus
-#include <stdio.h>  /* for printf() prototype */
-	int main (int argc, char *argv[]) {
-#else
-	int main (argc, argv) int argc; char *argv[]; {
-#endif
-#ifdef __ELF__
-# ifdef __GLIBC__
-#  if __GLIBC__ >= 2
-    printf ("%s-${VENDOR}-linux-gnu\n", argv[1]);
-#  else
-    printf ("%s-${VENDOR}-linux-gnulibc1\n", argv[1]);
-#  endif
-# else
-   printf ("%s-${VENDOR}-linux-gnulibc1\n", argv[1]);
-# endif
-#else
-  printf ("%s-${VENDOR}-linux-gnuaout\n", argv[1]);
-#endif
-  return 0;
-}
+	eval $set_cc_for_build
+	sed 's/^	//' << EOF >$dummy.c
+	#include <features.h>
+	#ifdef __ELF__
+	# ifdef __GLIBC__
+	#  if __GLIBC__ >= 2
+	LIBC=gnu
+	#  else
+	LIBC=gnulibc1
+	#  endif
+	# else
+	LIBC=gnulibc1
+	# endif
+	#else
+	#ifdef __INTEL_COMPILER
+	LIBC=gnu
+	#else
+	LIBC=gnuaout
+	#endif
+	#endif
 EOF
-	$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy "${UNAME_MACHINE}" && rm -f $dummy.c $dummy && exit 0
-	rm -f $dummy.c $dummy
+	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
+	test x"${LIBC}" != x && echo "${UNAME_MACHINE}-pc-linux-${LIBC}" && exit 0
 	test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0
 	;;
-# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.  earlier versions
-# are messed up and put the nodename in both sysname and nodename.
     i*86:DYNIX/ptx:4*:*)
+	# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
+	# earlier versions are messed up and put the nodename in both
+	# sysname and nodename.
 	echo i386-sequent-sysv4
 	exit 0 ;;
     i*86:UNIX_SV:4.2MP:2.*)
@@ -958,6 +954,23 @@
         # Use sysv4.2uw... so that sysv4* matches it.
 	echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
 	exit 0 ;;
+    i*86:OS/2:*:*)
+	# If we were able to find `uname', then EMX Unix compatibility
+	# is probably installed.
+	echo ${UNAME_MACHINE}-pc-os2-emx
+	exit 0 ;;
+    i*86:XTS-300:*:STOP)
+	echo ${UNAME_MACHINE}-unknown-stop
+	exit 0 ;;
+    i*86:atheos:*:*)
+	echo ${UNAME_MACHINE}-unknown-atheos
+	exit 0 ;;
+    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
+	echo i386-unknown-lynxos${UNAME_RELEASE}
+	exit 0 ;;
+    i*86:*DOS:*:*)
+	echo ${UNAME_MACHINE}-pc-msdosdjgpp
+	exit 0 ;;
     i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
 	UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
 	if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
@@ -966,36 +979,32 @@
 		echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
 	fi
 	exit 0 ;;
-    i*86:*:5:7*)
-        # Fixed at (any) Pentium or better
-        UNAME_MACHINE=i586
-        if [ ${UNAME_SYSTEM} = "UnixWare" ] ; then
-	    echo ${UNAME_MACHINE}-sco-sysv${UNAME_RELEASE}uw${UNAME_VERSION}
-	else
-	    echo ${UNAME_MACHINE}-pc-sysv${UNAME_RELEASE}
-	fi
+    i*86:*:5:[78]*)
+	case `/bin/uname -X | grep "^Machine"` in
+	    *486*)	     UNAME_MACHINE=i486 ;;
+	    *Pentium)	     UNAME_MACHINE=i586 ;;
+	    *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
+	esac
+	echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
 	exit 0 ;;
     i*86:*:3.2:*)
 	if test -f /usr/options/cb.name; then
 		UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
 		echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
 	elif /bin/uname -X 2>/dev/null >/dev/null ; then
-		UNAME_REL=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')`
-		(/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486
-		(/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \
+		UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
+		(/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
+		(/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
 			&& UNAME_MACHINE=i586
-		(/bin/uname -X|egrep '^Machine.*Pent ?II' >/dev/null) \
+		(/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
 			&& UNAME_MACHINE=i686
-		(/bin/uname -X|egrep '^Machine.*Pentium Pro' >/dev/null) \
+		(/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
 			&& UNAME_MACHINE=i686
 		echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
 	else
 		echo ${UNAME_MACHINE}-pc-sysv32
 	fi
 	exit 0 ;;
-    i*86:*DOS:*:*)
-	echo ${UNAME_MACHINE}-pc-msdosdjgpp
-	exit 0 ;;
     pc:*:*:*)
 	# Left here for compatibility:
         # uname -m prints for DJGPP always 'pc', but it prints nothing about
@@ -1019,9 +1028,15 @@
 	# "miniframe"
 	echo m68010-convergent-sysv
 	exit 0 ;;
+    mc68k:UNIX:SYSTEM5:3.51m)
+	echo m68k-convergent-sysv
+	exit 0 ;;
+    M680?0:D-NIX:5.3:*)
+	echo m68k-diab-dnix
+	exit 0 ;;
     M68*:*:R3V[567]*:*)
 	test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
-    3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 4850:*:4.0:3.0)
+    3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0)
 	OS_REL=''
 	test -r /etc/.relid \
 	&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
@@ -1038,9 +1053,6 @@
     mc68030:UNIX_System_V:4.*:*)
 	echo m68k-atari-sysv4
 	exit 0 ;;
-    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
-	echo i386-unknown-lynxos${UNAME_RELEASE}
-	exit 0 ;;
     TSUNAMI:LynxOS:2.*:*)
 	echo sparc-unknown-lynxos${UNAME_RELEASE}
 	exit 0 ;;
@@ -1067,8 +1079,8 @@
 		echo ns32k-sni-sysv
 	fi
 	exit 0 ;;
-    PENTIUM:CPunix:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
-                           # says <Richard.M.Bartel@ccMail.Census.GOV>
+    PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
+                      # says <Richard.M.Bartel@ccMail.Census.GOV>
         echo i586-unisys-sysv4
         exit 0 ;;
     *:UNIX_System_V:4*:FTX*)
@@ -1080,6 +1092,10 @@
 	# From seanf@swdc.stratus.com.
 	echo i860-stratus-sysv4
 	exit 0 ;;
+    *:VOS:*:*)
+	# From Paul.Green@stratus.com.
+	echo hppa1.1-stratus-vos
+	exit 0 ;;
     mc68*:A/UX:*:*)
 	echo m68k-apple-aux${UNAME_RELEASE}
 	exit 0 ;;
@@ -1108,6 +1124,9 @@
     SX-5:SUPER-UX:*:*)
 	echo sx5-nec-superux${UNAME_RELEASE}
 	exit 0 ;;
+    SX-6:SUPER-UX:*:*)
+	echo sx6-nec-superux${UNAME_RELEASE}
+	exit 0 ;;
     Power*:Rhapsody:*:*)
 	echo powerpc-apple-rhapsody${UNAME_RELEASE}
 	exit 0 ;;
@@ -1115,18 +1134,24 @@
 	echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
 	exit 0 ;;
     *:Darwin:*:*)
-	echo `uname -p`-apple-darwin${UNAME_RELEASE}
+	case `uname -p` in
+	    *86) UNAME_PROCESSOR=i686 ;;
+	    powerpc) UNAME_PROCESSOR=powerpc ;;
+	esac
+	echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
 	exit 0 ;;
     *:procnto*:*:* | *:QNX:[0123456789]*:*)
-	if test "${UNAME_MACHINE}" = "x86pc"; then
+	UNAME_PROCESSOR=`uname -p`
+	if test "$UNAME_PROCESSOR" = "x86"; then
+		UNAME_PROCESSOR=i386
 		UNAME_MACHINE=pc
 	fi
-	echo `uname -p`-${UNAME_MACHINE}-nto-qnx
+	echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
 	exit 0 ;;
     *:QNX:*:4*)
 	echo i386-pc-qnx
 	exit 0 ;;
-    NSR-[KW]:NONSTOP_KERNEL:*:*)
+    NSR-[DGKLNPTVW]:NONSTOP_KERNEL:*:*)
 	echo nsr-tandem-nsk${UNAME_RELEASE}
 	exit 0 ;;
     *:NonStop-UX:*:*)
@@ -1149,11 +1174,6 @@
 	fi
 	echo ${UNAME_MACHINE}-unknown-plan9
 	exit 0 ;;
-    i*86:OS/2:*:*)
-	# If we were able to find `uname', then EMX Unix compatibility
-	# is probably installed.
-	echo ${UNAME_MACHINE}-pc-os2-emx
-	exit 0 ;;
     *:TOPS-10:*:*)
 	echo pdp10-unknown-tops10
 	exit 0 ;;
@@ -1177,6 +1197,7 @@
 #echo '(No uname command or uname output not recognized.)' 1>&2
 #echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
 
+eval $set_cc_for_build
 cat >$dummy.c <<EOF
 #ifdef _SEQUENT_
 # include <sys/types.h>
@@ -1291,8 +1312,7 @@
 }
 EOF
 
-$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy && rm -f $dummy.c $dummy && exit 0
-rm -f $dummy.c $dummy
+$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && $dummy && exit 0
 
 # Apollos put the system type in the environment.
 
Index: linux-atm-2.4.1/config.h.in
===================================================================
--- linux-atm-2.4.1.orig/config.h.in	2007-06-04 13:23:53.902539464 +0200
+++ linux-atm-2.4.1/config.h.in	2007-06-04 13:23:54.463454192 +0200
@@ -1,4 +1,4 @@
-/* config.h.in.  Generated automatically from configure.in by autoheader.  */
+/* config.h.in.  Generated automatically from configure.in by autoheader 2.13.  */
 #ifndef _ATM_CONFIG_H
 #define _ATM_CONFIG_H
 
Index: linux-atm-2.4.1/config.sub
===================================================================
--- linux-atm-2.4.1.orig/config.sub	2007-06-04 13:23:53.907538704 +0200
+++ linux-atm-2.4.1/config.sub	2007-06-04 13:23:54.464454040 +0200
@@ -1,9 +1,9 @@
 #! /bin/sh
 # Configuration validation subroutine script.
-#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
-#   Free Software Foundation, Inc.
+#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+#   2000, 2001, 2002, 2003 Free Software Foundation, Inc.
 
-timestamp='2001-04-20'
+timestamp='2003-05-09'
 
 # This file is (in principle) common to ALL GNU software.
 # The presence of a machine in this file suggests that SOME GNU software
@@ -29,7 +29,8 @@
 # configuration script generated by Autoconf, you may include it under
 # the same distribution terms that you use for the rest of that program.
 
-# Please send patches to <config-patches@gnu.org>.
+# Please send patches to <config-patches@gnu.org>.  Submit a context
+# diff and a properly formatted ChangeLog entry.
 #
 # Configuration subroutine to validate and canonicalize a configuration type.
 # Supply the specified configuration type as an argument.
@@ -117,7 +118,7 @@
 # Here we must recognize all the valid KERNEL-OS combinations.
 maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
 case $maybe_os in
-  nto-qnx* | linux-gnu* | storm-chaos* | os2-emx*)
+  nto-qnx* | linux-gnu* | freebsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*)
     os=-$maybe_os
     basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
     ;;
@@ -157,6 +158,14 @@
 		os=-vxworks
 		basic_machine=$1
 		;;
+	-chorusos*)
+		os=-chorusos
+		basic_machine=$1
+		;;
+ 	-chorusrdb)
+ 		os=-chorusrdb
+		basic_machine=$1
+ 		;;
 	-hiux*)
 		os=-hiuxwe2
 		;;
@@ -215,26 +224,48 @@
 case $basic_machine in
 	# Recognize the basic CPU types without company name.
 	# Some are omitted here because they have special meanings below.
-	tahoe | i860 | ia64 | m32r | m68k | m68000 | m88k | ns32k | arc \
-	        | arm | arme[lb] | arm[bl]e | armv[2345] | armv[345][lb] | strongarm | xscale \
-		| pyramid | mn10200 | mn10300 | tron | a29k \
-		| 580 | i960 | h8300 \
-		| x86 | ppcbe | mipsbe | mipsle | shbe | shle \
-		| hppa | hppa1.0 | hppa1.1 | hppa2.0 | hppa2.0w | hppa2.0n \
-		| hppa64 \
-		| alpha | alphaev[4-8] | alphaev56 | alphapca5[67] \
-		| alphaev6[78] \
-		| we32k | ns16k | clipper | i370 | sh | sh[34] \
-		| powerpc | powerpcle \
-		| 1750a | dsp16xx | pdp10 | pdp11 \
-		| mips16 | mips64 | mipsel | mips64el \
-		| mips64orion | mips64orionel | mipstx39 | mipstx39el \
-		| mips64vr4300 | mips64vr4300el | mips64vr4100 | mips64vr4100el \
-		| mips64vr5000 | miprs64vr5000el | mcore | s390 | s390x \
-		| sparc | sparclet | sparclite | sparc64 | sparcv9 | sparcv9b \
-		| v850 | c4x \
-		| thumb | d10v | d30v | fr30 | avr | openrisc | tic80 \
-		| pj | pjl | h8500)
+	1750a | 580 \
+	| a29k \
+	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
+	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
+	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \
+	| clipper \
+	| d10v | d30v | dlx | dsp16xx \
+	| fr30 | frv \
+	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
+	| i370 | i860 | i960 | ia64 \
+	| ip2k \
+	| m32r | m68000 | m68k | m88k | mcore \
+	| mips | mipsbe | mipseb | mipsel | mipsle \
+	| mips16 \
+	| mips64 | mips64el \
+	| mips64vr | mips64vrel \
+	| mips64orion | mips64orionel \
+	| mips64vr4100 | mips64vr4100el \
+	| mips64vr4300 | mips64vr4300el \
+	| mips64vr5000 | mips64vr5000el \
+	| mipsisa32 | mipsisa32el \
+	| mipsisa32r2 | mipsisa32r2el \
+	| mipsisa64 | mipsisa64el \
+	| mipsisa64sb1 | mipsisa64sb1el \
+	| mipsisa64sr71k | mipsisa64sr71kel \
+	| mipstx39 | mipstx39el \
+	| mn10200 | mn10300 \
+	| msp430 \
+	| ns16k | ns32k \
+	| openrisc | or32 \
+	| pdp10 | pdp11 | pj | pjl \
+	| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
+	| pyramid \
+	| sh | sh[1234] | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \
+	| sh64 | sh64le \
+	| sparc | sparc64 | sparc86x | sparclet | sparclite | sparcv9 | sparcv9b \
+	| strongarm \
+	| tahoe | thumb | tic80 | tron \
+	| v850 | v850e \
+	| we32k \
+	| x86 | xscale | xstormy16 | xtensa \
+	| z8k)
 		basic_machine=$basic_machine-unknown
 		;;
 	m6811 | m68hc11 | m6812 | m68hc12)
@@ -242,7 +273,7 @@
 		basic_machine=$basic_machine-unknown
 		os=-none
 		;;
-	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | z8k | v70 | w65)
+	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
 		;;
 
 	# We use `pc' rather than `unknown'
@@ -257,31 +288,60 @@
 		exit 1
 		;;
 	# Recognize the basic CPU types with company name.
-	# FIXME: clean up the formatting here.
-	vax-* | tahoe-* | i*86-* | i860-* | ia64-* | m32r-* | m68k-* | m68000-* \
-	      | m88k-* | sparc-* | ns32k-* | fx80-* | arc-* | c[123]* \
-	      | arm-*  | armbe-* | armle-* | armv*-* | strongarm-* | xscale-* \
-	      | mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* \
-	      | power-* | none-* | 580-* | cray2-* | h8300-* | h8500-* | i960-* \
-	      | xmp-* | ymp-* \
-	      | x86-* | ppcbe-* | mipsbe-* | mipsle-* | shbe-* | shle-* \
-	      | hppa-* | hppa1.0-* | hppa1.1-* | hppa2.0-* | hppa2.0w-* \
-	      | hppa2.0n-* | hppa64-* \
-	      | alpha-* | alphaev[4-8]-* | alphaev56-* | alphapca5[67]-* \
-	      | alphaev6[78]-* \
-	      | we32k-* | cydra-* | ns16k-* | pn-* | np1-* | xps100-* \
-	      | clipper-* | orion-* \
-	      | sparclite-* | pdp10-* | pdp11-* | sh-* | powerpc-* | powerpcle-* \
-	      | sparc64-* | sparcv9-* | sparcv9b-* | sparc86x-* \
-	      | mips16-* | mips64-* | mipsel-* \
-	      | mips64el-* | mips64orion-* | mips64orionel-* \
-	      | mips64vr4100-* | mips64vr4100el-* | mips64vr4300-* | mips64vr4300el-* \
-	      | mipstx39-* | mipstx39el-* | mcore-* \
-	      | f30[01]-* | f700-* | s390-* | s390x-* | sv1-* | t3e-* \
-	      | [cjt]90-* \
-	      | m88110-* | m680[01234]0-* | m683?2-* | m68360-* | z8k-* | d10v-* \
-	      | thumb-* | v850-* | d30v-* | tic30-* | tic80-* | c30-* | fr30-* \
-	      | bs2000-* | tic54x-* | c54x-* | x86_64-* | pj-* | pjl-*)
+	580-* \
+	| a29k-* \
+	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
+	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
+	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
+	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
+	| avr-* \
+	| bs2000-* \
+	| c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
+	| clipper-* | cydra-* \
+	| d10v-* | d30v-* | dlx-* \
+	| elxsi-* \
+	| f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \
+	| h8300-* | h8500-* \
+	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
+	| i*86-* | i860-* | i960-* | ia64-* \
+	| ip2k-* \
+	| m32r-* \
+	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
+	| m88110-* | m88k-* | mcore-* \
+	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
+	| mips16-* \
+	| mips64-* | mips64el-* \
+	| mips64vr-* | mips64vrel-* \
+	| mips64orion-* | mips64orionel-* \
+	| mips64vr4100-* | mips64vr4100el-* \
+	| mips64vr4300-* | mips64vr4300el-* \
+	| mips64vr5000-* | mips64vr5000el-* \
+	| mipsisa32-* | mipsisa32el-* \
+	| mipsisa32r2-* | mipsisa32r2el-* \
+	| mipsisa64-* | mipsisa64el-* \
+	| mipsisa64sb1-* | mipsisa64sb1el-* \
+	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
+	| mipstx39-* | mipstx39el-* \
+	| msp430-* \
+	| none-* | np1-* | nv1-* | ns16k-* | ns32k-* \
+	| orion-* \
+	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
+	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
+	| pyramid-* \
+	| romp-* | rs6000-* \
+	| sh-* | sh[1234]-* | sh[23]e-* | sh[34]eb-* | shbe-* \
+	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
+	| sparc-* | sparc64-* | sparc86x-* | sparclet-* | sparclite-* \
+	| sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \
+	| tahoe-* | thumb-* \
+	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
+	| tron-* \
+	| v850-* | v850e-* | vax-* \
+	| we32k-* \
+	| x86-* | x86_64-* | xps100-* | xscale-* | xstormy16-* \
+	| xtensa-* \
+	| ymp-* \
+	| z8k-*)
 		;;
 	# Recognize the various machine names and aliases which stand
 	# for a CPU type and a company and sometimes even an OS.
@@ -313,6 +373,9 @@
 		basic_machine=a29k-none
 		os=-bsd
 		;;
+	amd64)
+		basic_machine=x86_64-pc
+		;;
 	amdahl)
 		basic_machine=580-amdahl
 		os=-sysv
@@ -344,6 +407,10 @@
 		basic_machine=ns32k-sequent
 		os=-dynix
 		;;
+	c90)
+		basic_machine=c90-cray
+		os=-unicos
+		;;
 	convex-c1)
 		basic_machine=c1-convex
 		os=-bsd
@@ -364,16 +431,8 @@
 		basic_machine=c38-convex
 		os=-bsd
 		;;
-	cray | ymp)
-		basic_machine=ymp-cray
-		os=-unicos
-		;;
-	cray2)
-		basic_machine=cray2-cray
-		os=-unicos
-		;;
-	[cjt]90)
-		basic_machine=${basic_machine}-cray
+	cray | j90)
+		basic_machine=j90-cray
 		os=-unicos
 		;;
 	crds | unos)
@@ -388,6 +447,14 @@
 	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
 		basic_machine=mips-dec
 		;;
+	decsystem10* | dec10*)
+		basic_machine=pdp10-dec
+		os=-tops10
+		;;
+	decsystem20* | dec20*)
+		basic_machine=pdp10-dec
+		os=-tops20
+		;;
 	delta | 3300 | motorola-3300 | motorola-delta \
 	      | 3300-motorola | delta-motorola)
 		basic_machine=m68k-motorola
@@ -568,14 +635,6 @@
 		basic_machine=m68k-atari
 		os=-mint
 		;;
-	mipsel*-linux*)
-		basic_machine=mipsel-unknown
-		os=-linux-gnu
-		;;
-	mips*-linux*)
-		basic_machine=mips-unknown
-		os=-linux-gnu
-		;;
 	mips3*-*)
 		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
 		;;
@@ -590,6 +649,10 @@
 		basic_machine=m68k-rom68k
 		os=-coff
 		;;
+	morphos)
+		basic_machine=powerpc-unknown
+		os=-morphos
+		;;
 	msdos)
 		basic_machine=i386-pc
 		os=-msdos
@@ -662,6 +725,10 @@
 	np1)
 		basic_machine=np1-gould
 		;;
+	nv1)
+		basic_machine=nv1-cray
+		os=-unicosmp
+		;;
 	nsr-tandem)
 		basic_machine=nsr-tandem
 		;;
@@ -669,6 +736,10 @@
 		basic_machine=hppa1.1-oki
 		os=-proelf
 		;;
+	or32 | or32-*)
+		basic_machine=or32-unknown
+		os=-coff
+		;;
 	OSE68000 | ose68000)
 		basic_machine=m68000-ericsson
 		os=-ose
@@ -691,19 +762,19 @@
 	pbb)
 		basic_machine=m68k-tti
 		;;
-        pc532 | pc532-*)
+	pc532 | pc532-*)
 		basic_machine=ns32k-pc532
 		;;
-	pentium | p5 | k5 | k6 | nexgen)
+	pentium | p5 | k5 | k6 | nexgen | viac3)
 		basic_machine=i586-pc
 		;;
-	pentiumpro | p6 | 6x86 | athlon)
+	pentiumpro | p6 | 6x86 | athlon | athlon_*)
 		basic_machine=i686-pc
 		;;
 	pentiumii | pentium2)
 		basic_machine=i686-pc
 		;;
-	pentium-* | p5-* | k5-* | k6-* | nexgen-*)
+	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
 		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
 		;;
 	pentiumpro-* | p6-* | 6x86-* | athlon-*)
@@ -718,15 +789,25 @@
 	power)	basic_machine=power-ibm
 		;;
 	ppc)	basic_machine=powerpc-unknown
-	        ;;
+		;;
 	ppc-*)	basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
 		;;
 	ppcle | powerpclittle | ppc-le | powerpc-little)
 		basic_machine=powerpcle-unknown
-	        ;;
+		;;
 	ppcle-* | powerpclittle-*)
 		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
 		;;
+	ppc64)	basic_machine=powerpc64-unknown
+		;;
+	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
+		basic_machine=powerpc64le-unknown
+		;;
+	ppc64le-* | powerpc64little-*)
+		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
 	ps2)
 		basic_machine=i386-ibm
 		;;
@@ -744,10 +825,22 @@
 	rtpc | rtpc-*)
 		basic_machine=romp-ibm
 		;;
+	s390 | s390-*)
+		basic_machine=s390-ibm
+		;;
+	s390x | s390x-*)
+		basic_machine=s390x-ibm
+		;;
 	sa29200)
 		basic_machine=a29k-amd
 		os=-udi
 		;;
+	sb1)
+		basic_machine=mipsisa64sb1-unknown
+		;;
+	sb1el)
+		basic_machine=mipsisa64sb1el-unknown
+		;;
 	sequent)
 		basic_machine=i386-sequent
 		;;
@@ -755,7 +848,7 @@
 		basic_machine=sh-hitachi
 		os=-hms
 		;;
-	sparclite-wrs)
+	sparclite-wrs | simso-wrs)
 		basic_machine=sparclite-wrs
 		os=-vxworks
 		;;
@@ -822,19 +915,39 @@
 		os=-dynix
 		;;
 	t3e)
-		basic_machine=t3e-cray
+		basic_machine=alphaev5-cray
 		os=-unicos
 		;;
+	t90)
+		basic_machine=t90-cray
+		os=-unicos
+		;;
+        tic4x | c4x*)
+		basic_machine=tic4x-unknown
+		os=-coff
+		;;
 	tic54x | c54x*)
 		basic_machine=tic54x-unknown
 		os=-coff
 		;;
+	tic55x | c55x*)
+		basic_machine=tic55x-unknown
+		os=-coff
+		;;
+	tic6x | c6x*)
+		basic_machine=tic6x-unknown
+		os=-coff
+		;;
 	tx39)
 		basic_machine=mipstx39-unknown
 		;;
 	tx39el)
 		basic_machine=mipstx39el-unknown
 		;;
+	toad1)
+		basic_machine=pdp10-xkl
+		os=-tops20
+		;;
 	tower | tower-32)
 		basic_machine=m68k-ncr
 		;;
@@ -859,8 +972,8 @@
 		os=-vms
 		;;
 	vpp*|vx|vx-*)
-               basic_machine=f301-fujitsu
-               ;;
+		basic_machine=f301-fujitsu
+		;;
 	vxworks960)
 		basic_machine=i960-wrs
 		os=-vxworks
@@ -881,13 +994,13 @@
 		basic_machine=hppa1.1-winbond
 		os=-proelf
 		;;
-	xmp)
-		basic_machine=xmp-cray
-		os=-unicos
-		;;
-        xps | xps100)
+	xps | xps100)
 		basic_machine=xps100-honeywell
 		;;
+	ymp)
+		basic_machine=ymp-cray
+		os=-unicos
+		;;
 	z8k-*-coff)
 		basic_machine=z8k-unknown
 		os=-sim
@@ -908,13 +1021,6 @@
 	op60c)
 		basic_machine=hppa1.1-oki
 		;;
-	mips)
-		if [ x$os = x-linux-gnu ]; then
-			basic_machine=mips-unknown
-		else
-			basic_machine=mips-mips
-		fi
-		;;
 	romp)
 		basic_machine=romp-ibm
 		;;
@@ -934,13 +1040,16 @@
 	we32k)
 		basic_machine=we32k-att
 		;;
-	sh3 | sh4)
+	sh3 | sh4 | sh[34]eb | sh[1234]le | sh[23]ele)
 		basic_machine=sh-unknown
 		;;
+	sh64)
+		basic_machine=sh64-unknown
+		;;
 	sparc | sparcv9 | sparcv9b)
 		basic_machine=sparc-sun
 		;;
-        cydra)
+	cydra)
 		basic_machine=cydra-cydrome
 		;;
 	orion)
@@ -955,10 +1064,6 @@
 	pmac | pmac-mpw)
 		basic_machine=powerpc-apple
 		;;
-	c4x*)
-		basic_machine=c4x-none
-		os=-coff
-		;;
 	*-unknown)
 		# Make sure to match an already-canonicalized machine name.
 		;;
@@ -1018,11 +1123,15 @@
 	      | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
 	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
 	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
+	      | -chorusos* | -chorusrdb* \
 	      | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
 	      | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \
-	      | -interix* | -uwin* | -rhapsody* | -darwin* | -opened* \
+	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
 	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
-	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* | -os2*)
+	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
+	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
+	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
+	      | -powermax* | -dnix*)
 	# Remember, each alternative MUST END IN *, to match a version number.
 		;;
 	-qnx*)
@@ -1034,8 +1143,10 @@
 			;;
 		esac
 		;;
+	-nto-qnx*)
+		;;
 	-nto*)
-		os=-nto-qnx
+		os=`echo $os | sed -e 's|nto|nto-qnx|'`
 		;;
 	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
 	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* \
@@ -1074,14 +1185,20 @@
 	-acis*)
 		os=-aos
 		;;
+	-atheos*)
+		os=-atheos
+		;;
 	-386bsd)
 		os=-bsd
 		;;
 	-ctix* | -uts*)
 		os=-sysv
 		;;
+	-nova*)
+		os=-rtmk-nova
+		;;
 	-ns2 )
-	        os=-nextstep2
+		os=-nextstep2
 		;;
 	-nsk*)
 		os=-nsk
@@ -1120,8 +1237,14 @@
 	-xenix)
 		os=-xenix
 		;;
-        -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
-	        os=-mint
+	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
+		os=-mint
+		;;
+	-aros*)
+		os=-aros
+		;;
+	-kaos*)
+		os=-kaos
 		;;
 	-none)
 		;;
@@ -1154,10 +1277,11 @@
 	arm*-semi)
 		os=-aout
 		;;
+	# This must come before the *-dec entry.
 	pdp10-*)
 		os=-tops20
 		;;
-        pdp11-*)
+	pdp11-*)
 		os=-none
 		;;
 	*-dec | vax-*)
@@ -1184,6 +1308,9 @@
 	mips*-*)
 		os=-elf
 		;;
+	or32-*)
+		os=-coff
+		;;
 	*-tti)	# must be before sparc entry or we get the wrong os.
 		os=-sysv3
 		;;
@@ -1247,19 +1374,19 @@
 	*-next)
 		os=-nextstep3
 		;;
-        *-gould)
+	*-gould)
 		os=-sysv
 		;;
-        *-highlevel)
+	*-highlevel)
 		os=-bsd
 		;;
 	*-encore)
 		os=-bsd
 		;;
-        *-sgi)
+	*-sgi)
 		os=-irix
 		;;
-        *-siemens)
+	*-siemens)
 		os=-sysv4
 		;;
 	*-masscomp)
@@ -1331,7 +1458,7 @@
 			-ptx*)
 				vendor=sequent
 				;;
-			-vxsim* | -vxworks*)
+			-vxsim* | -vxworks* | -windiss*)
 				vendor=wrs
 				;;
 			-aux*)
@@ -1346,6 +1473,9 @@
 			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
 				vendor=atari
 				;;
+			-vos*)
+				vendor=stratus
+				;;
 		esac
 		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
 		;;
Index: linux-atm-2.4.1/configure
===================================================================
--- linux-atm-2.4.1.orig/configure	2007-06-04 13:23:53.913537792 +0200
+++ linux-atm-2.4.1/configure	2007-06-04 13:23:54.473452672 +0200
@@ -1,24 +1,244 @@
 #! /bin/sh
-
 # Guess values for system-dependent variables and create Makefiles.
-# Generated automatically using autoconf version 2.13 
-# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
+# Generated by GNU Autoconf 2.57.
 #
+# Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002
+# Free Software Foundation, Inc.
 # This configure script is free software; the Free Software Foundation
 # gives unlimited permission to copy, distribute and modify it.
+## --------------------- ##
+## M4sh Initialization.  ##
+## --------------------- ##
+
+# Be Bourne compatible
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+  emulate sh
+  NULLCMD=:
+  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '${1+"$@"}'='"$@"'
+elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
+  set -o posix
+fi
+
+# Support unset when possible.
+if (FOO=FOO; unset FOO) >/dev/null 2>&1; then
+  as_unset=unset
+else
+  as_unset=false
+fi
+
+
+# Work around bugs in pre-3.0 UWIN ksh.
+$as_unset ENV MAIL MAILPATH
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+for as_var in \
+  LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
+  LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
+  LC_TELEPHONE LC_TIME
+do
+  if (set +x; test -n "`(eval $as_var=C; export $as_var) 2>&1`"); then
+    eval $as_var=C; export $as_var
+  else
+    $as_unset $as_var
+  fi
+done
+
+# Required to use basename.
+if expr a : '\(a\)' >/dev/null 2>&1; then
+  as_expr=expr
+else
+  as_expr=false
+fi
+
+if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
+  as_basename=basename
+else
+  as_basename=false
+fi
+
+
+# Name of the executable.
+as_me=`$as_basename "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+	 X"$0" : 'X\(//\)$' \| \
+	 X"$0" : 'X\(/\)$' \| \
+	 .     : '\(.\)' 2>/dev/null ||
+echo X/"$0" |
+    sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
+  	  /^X\/\(\/\/\)$/{ s//\1/; q; }
+  	  /^X\/\(\/\).*/{ s//\1/; q; }
+  	  s/.*/./; q'`
+
+
+# PATH needs CR, and LINENO needs CR and PATH.
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+  echo "#! /bin/sh" >conf$$.sh
+  echo  "exit 0"   >>conf$$.sh
+  chmod +x conf$$.sh
+  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+    PATH_SEPARATOR=';'
+  else
+    PATH_SEPARATOR=:
+  fi
+  rm -f conf$$.sh
+fi
+
+
+  as_lineno_1=$LINENO
+  as_lineno_2=$LINENO
+  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
+  test "x$as_lineno_1" != "x$as_lineno_2" &&
+  test "x$as_lineno_3"  = "x$as_lineno_2"  || {
+  # Find who we are.  Look in the path if we contain no path at all
+  # relative or not.
+  case $0 in
+    *[\\/]* ) as_myself=$0 ;;
+    *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+done
+
+       ;;
+  esac
+  # We did not find ourselves, most probably we were run as `sh COMMAND'
+  # in which case we are not to be found in the path.
+  if test "x$as_myself" = x; then
+    as_myself=$0
+  fi
+  if test ! -f "$as_myself"; then
+    { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2
+   { (exit 1); exit 1; }; }
+  fi
+  case $CONFIG_SHELL in
+  '')
+    as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for as_base in sh bash ksh sh5; do
+	 case $as_dir in
+	 /*)
+	   if ("$as_dir/$as_base" -c '
+  as_lineno_1=$LINENO
+  as_lineno_2=$LINENO
+  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
+  test "x$as_lineno_1" != "x$as_lineno_2" &&
+  test "x$as_lineno_3"  = "x$as_lineno_2" ') 2>/dev/null; then
+	     $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
+	     $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
+	     CONFIG_SHELL=$as_dir/$as_base
+	     export CONFIG_SHELL
+	     exec "$CONFIG_SHELL" "$0" ${1+"$@"}
+	   fi;;
+	 esac
+       done
+done
+;;
+  esac
+
+  # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
+  # uniformly replaced by the line number.  The first 'sed' inserts a
+  # line-number line before each line; the second 'sed' does the real
+  # work.  The second script uses 'N' to pair each line-number line
+  # with the numbered line, and appends trailing '-' during
+  # substitution so that $LINENO is not a special case at line end.
+  # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
+  # second 'sed' script.  Blame Lee E. McMahon for sed's syntax.  :-)
+  sed '=' <$as_myself |
+    sed '
+      N
+      s,$,-,
+      : loop
+      s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
+      t loop
+      s,-$,,
+      s,^['$as_cr_digits']*\n,,
+    ' >$as_me.lineno &&
+  chmod +x $as_me.lineno ||
+    { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
+   { (exit 1); exit 1; }; }
+
+  # Don't try to exec as it changes $[0], causing all sort of problems
+  # (the dirname of $[0] is not the place where we might find the
+  # original and so on.  Autoconf is especially sensible to this).
+  . ./$as_me.lineno
+  # Exit status is that of the last command.
+  exit
+}
+
+
+case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
+  *c*,-n*) ECHO_N= ECHO_C='
+' ECHO_T='	' ;;
+  *c*,*  ) ECHO_N=-n ECHO_C= ECHO_T= ;;
+  *)       ECHO_N= ECHO_C='\c' ECHO_T= ;;
+esac
+
+if expr a : '\(a\)' >/dev/null 2>&1; then
+  as_expr=expr
+else
+  as_expr=false
+fi
+
+rm -f conf$$ conf$$.exe conf$$.file
+echo >conf$$.file
+if ln -s conf$$.file conf$$ 2>/dev/null; then
+  # We could just check for DJGPP; but this test a) works b) is more generic
+  # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
+  if test -f conf$$.exe; then
+    # Don't use ln at all; we don't have any links
+    as_ln_s='cp -p'
+  else
+    as_ln_s='ln -s'
+  fi
+elif ln conf$$.file conf$$ 2>/dev/null; then
+  as_ln_s=ln
+else
+  as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.file
+
+if mkdir -p . 2>/dev/null; then
+  as_mkdir_p=:
+else
+  as_mkdir_p=false
+fi
+
+as_executable_p="test -f"
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="sed y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="sed y%*+%pp%;s%[^_$as_cr_alnum]%_%g"
+
+
+# IFS
+# We need space, tab and new line, in precisely that order.
+as_nl='
+'
+IFS=" 	$as_nl"
+
+# CDPATH.
+$as_unset CDPATH
 
-# Defaults:
-ac_help=
-ac_default_prefix=/usr/local
-# Any additions from configure.in:
-ac_help="$ac_help
-  --enable-shared[=PKGS]  build shared libraries [default=yes]"
-ac_help="$ac_help
-  --enable-static[=PKGS]  build static libraries [default=yes]"
-ac_help="$ac_help
-  --enable-fast-install[=PKGS]  optimize for fast installation [default=yes]"
-ac_help="$ac_help
-  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]"
 
 # Find the correct PATH separator.  Usually this is `:', but
 # DJGPP uses `;' like DOS.
@@ -28,6 +248,7 @@
     *-DOS) lt_cv_sys_path_separator=';' ;;
     *)     lt_cv_sys_path_separator=':' ;;
   esac
+  PATH_SEPARATOR=$lt_cv_sys_path_separator
 fi
 
 
@@ -94,7 +315,7 @@
   #
   # So, first we look for a working echo in the user's PATH.
 
-  IFS="${IFS= 	}"; save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}"
+  IFS="${IFS= 	}"; save_ifs="$IFS"; IFS=$PATH_SEPARATOR
   for dir in $PATH /usr/ucb; do
     if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
        test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
@@ -177,34 +398,86 @@
 fi
 
 
-ac_help="$ac_help
-  --disable-libtool-lock  avoid locking (might break parallel builds)"
-ac_help="$ac_help
-  --with-pic              try to use only PIC/non-PIC objects [default=use both]"
-ac_help="$ac_help
-  --with-uni=VERSION      UNI version to use (3.0,3.1,4.0) [default=dynamic]"
-ac_help="$ac_help
-  --enable-allow_uni30    Allow UNI 3.0 backwards-compatible extensions (if using UNI 3.1)"
-ac_help="$ac_help
-  --enable-q2963_1        Enable peak cell rate modification as specified in Q.2963.1 (if using UNI 4.0)"
-ac_help="$ac_help
-  --enable-cisco          Enable work around for point-to-multipoint signaling bug in Cisco LS100 or LS7010 switches"
-ac_help="$ac_help
-  --enable-thomflex       Some versions of the Thomson Thomflex 5000 won't do any signaling before they get a RESTART.  Enable sending of a RESTART whenever SAAL comes up."
-ac_help="$ac_help
-  --enable-mpoa_1_1       Enable proposed MPOA 1.1 features"
-ac_help="$ac_help
-  --enable-mpr            Enable memory debugging (if MPR is installed)"
+
+# Name of the host.
+# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
+# so uname gets run too.
+ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
+
+exec 6>&1
+
+#
+# Initializations.
+#
+ac_default_prefix=/usr/local
+ac_config_libobj_dir=.
+cross_compiling=no
+subdirs=
+MFLAGS=
+MAKEFLAGS=
+SHELL=${CONFIG_SHELL-/bin/sh}
+
+# Maximum number of lines to put in a shell here document.
+# This variable seems obsolete.  It should probably be removed, and
+# only ac_max_sed_lines should be used.
+: ${ac_max_here_lines=38}
+
+# Identity of this package.
+PACKAGE_NAME=
+PACKAGE_TARNAME=
+PACKAGE_VERSION=
+PACKAGE_STRING=
+PACKAGE_BUGREPORT=
+
+ac_unique_file="src/include/atm.h"
+# Factoring default headers for most tests.
+ac_includes_default="\
+#include <stdio.h>
+#if HAVE_SYS_TYPES_H
+# include <sys/types.h>
+#endif
+#if HAVE_SYS_STAT_H
+# include <sys/stat.h>
+#endif
+#if STDC_HEADERS
+# include <stdlib.h>
+# include <stddef.h>
+#else
+# if HAVE_STDLIB_H
+#  include <stdlib.h>
+# endif
+#endif
+#if HAVE_STRING_H
+# if !STDC_HEADERS && HAVE_MEMORY_H
+#  include <memory.h>
+# endif
+# include <string.h>
+#endif
+#if HAVE_STRINGS_H
+# include <strings.h>
+#endif
+#if HAVE_INTTYPES_H
+# include <inttypes.h>
+#else
+# if HAVE_STDINT_H
+#  include <stdint.h>
+# endif
+#endif
+#if HAVE_UNISTD_H
+# include <unistd.h>
+#endif"
+
+ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO SET_MAKE LIBVER_CURRENT LIBVER_REVISION LIBVER_AGE CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT LEX LEXLIB LEX_OUTPUT_ROOT YACC LN_S ECHO RANLIB ac_ct_RANLIB STRIP ac_ct_STRIP CPP EGREP LIBTOOL LIBTOOL_DEPS PERL LIBOBJS LTLIBOBJS'
+ac_subst_files=''
 
 # Initialize some variables set by options.
+ac_init_help=
+ac_init_version=false
 # The variables have the same names as the options, with
 # dashes changed to underlines.
-build=NONE
-cache_file=./config.cache
+cache_file=/dev/null
 exec_prefix=NONE
-host=NONE
 no_create=
-nonopt=NONE
 no_recursion=
 prefix=NONE
 program_prefix=NONE
@@ -213,10 +486,15 @@
 silent=
 site=
 srcdir=
-target=NONE
 verbose=
 x_includes=NONE
 x_libraries=NONE
+
+# Installation directory options.
+# These are left unexpanded so users can "make install exec_prefix=/foo"
+# and all the variables that are supposed to be based on exec_prefix
+# by default will actually change.
+# Use braces instead of parens because sh, perl, etc. also accept them.
 bindir='${exec_prefix}/bin'
 sbindir='${exec_prefix}/sbin'
 libexecdir='${exec_prefix}/libexec'
@@ -230,17 +508,9 @@
 infodir='${prefix}/info'
 mandir='${prefix}/man'
 
-# Initialize some other variables.
-subdirs=
-MFLAGS= MAKEFLAGS=
-SHELL=${CONFIG_SHELL-/bin/sh}
-# Maximum number of lines to put in a shell here document.
-ac_max_here_lines=12
-
 ac_prev=
 for ac_option
 do
-
   # If the previous option needs an argument, assign it.
   if test -n "$ac_prev"; then
     eval "$ac_prev=\$ac_option"
@@ -248,59 +518,59 @@
     continue
   fi
 
-  case "$ac_option" in
-  -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
-  *) ac_optarg= ;;
-  esac
+  ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'`
 
   # Accept the important Cygnus configure options, so we can diagnose typos.
 
-  case "$ac_option" in
+  case $ac_option in
 
   -bindir | --bindir | --bindi | --bind | --bin | --bi)
     ac_prev=bindir ;;
   -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
-    bindir="$ac_optarg" ;;
+    bindir=$ac_optarg ;;
 
   -build | --build | --buil | --bui | --bu)
-    ac_prev=build ;;
+    ac_prev=build_alias ;;
   -build=* | --build=* | --buil=* | --bui=* | --bu=*)
-    build="$ac_optarg" ;;
+    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" ;;
+    cache_file=$ac_optarg ;;
+
+  --config-cache | -C)
+    cache_file=config.cache ;;
 
   -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
     ac_prev=datadir ;;
   -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
   | --da=*)
-    datadir="$ac_optarg" ;;
+    datadir=$ac_optarg ;;
 
   -disable-* | --disable-*)
-    ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
+    ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
     # Reject names that are not valid shell variable names.
-    if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
-      { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
-    fi
-    ac_feature=`echo $ac_feature| sed 's/-/_/g'`
-    eval "enable_${ac_feature}=no" ;;
+    expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+      { echo "$as_me: error: invalid feature name: $ac_feature" >&2
+   { (exit 1); exit 1; }; }
+    ac_feature=`echo $ac_feature | sed 's/-/_/g'`
+    eval "enable_$ac_feature=no" ;;
 
   -enable-* | --enable-*)
-    ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
+    ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
-    if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
-      { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
-    fi
-    ac_feature=`echo $ac_feature| sed 's/-/_/g'`
-    case "$ac_option" in
-      *=*) ;;
+    expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+      { echo "$as_me: error: invalid feature name: $ac_feature" >&2
+   { (exit 1); exit 1; }; }
+    ac_feature=`echo $ac_feature | sed 's/-/_/g'`
+    case $ac_option in
+      *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
       *) ac_optarg=yes ;;
     esac
-    eval "enable_${ac_feature}='$ac_optarg'" ;;
+    eval "enable_$ac_feature='$ac_optarg'" ;;
 
   -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
   | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
@@ -309,95 +579,47 @@
   -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
   | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
   | --exec=* | --exe=* | --ex=*)
-    exec_prefix="$ac_optarg" ;;
+    exec_prefix=$ac_optarg ;;
 
   -gas | --gas | --ga | --g)
     # Obsolete; use --with-gas.
     with_gas=yes ;;
 
-  -help | --help | --hel | --he)
-    # Omit some internal or obsolete options to make the list less imposing.
-    # This message is too long to be a string in the A/UX 3.1 sh.
-    cat << EOF
-Usage: configure [options] [host]
-Options: [defaults in brackets after descriptions]
-Configuration:
-  --cache-file=FILE       cache test results in FILE
-  --help                  print this message
-  --no-create             do not create output files
-  --quiet, --silent       do not print \`checking...' messages
-  --version               print the version of autoconf that created configure
-Directory and file names:
-  --prefix=PREFIX         install architecture-independent files in PREFIX
-                          [$ac_default_prefix]
-  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
-                          [same as prefix]
-  --bindir=DIR            user executables in DIR [EPREFIX/bin]
-  --sbindir=DIR           system admin executables in DIR [EPREFIX/sbin]
-  --libexecdir=DIR        program executables in DIR [EPREFIX/libexec]
-  --datadir=DIR           read-only architecture-independent data in DIR
-                          [PREFIX/share]
-  --sysconfdir=DIR        read-only single-machine data in DIR [PREFIX/etc]
-  --sharedstatedir=DIR    modifiable architecture-independent data in DIR
-                          [PREFIX/com]
-  --localstatedir=DIR     modifiable single-machine data in DIR [PREFIX/var]
-  --libdir=DIR            object code libraries in DIR [EPREFIX/lib]
-  --includedir=DIR        C header files in DIR [PREFIX/include]
-  --oldincludedir=DIR     C header files for non-gcc in DIR [/usr/include]
-  --infodir=DIR           info documentation in DIR [PREFIX/info]
-  --mandir=DIR            man documentation in DIR [PREFIX/man]
-  --srcdir=DIR            find the sources in DIR [configure dir or ..]
-  --program-prefix=PREFIX prepend PREFIX to installed program names
-  --program-suffix=SUFFIX append SUFFIX to installed program names
-  --program-transform-name=PROGRAM
-                          run sed PROGRAM on installed program names
-EOF
-    cat << EOF
-Host type:
-  --build=BUILD           configure for building on BUILD [BUILD=HOST]
-  --host=HOST             configure for HOST [guessed]
-  --target=TARGET         configure for TARGET [TARGET=HOST]
-Features and packages:
-  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
-  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
-  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
-  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
-  --x-includes=DIR        X include files are in DIR
-  --x-libraries=DIR       X library files are in DIR
-EOF
-    if test -n "$ac_help"; then
-      echo "--enable and --with options recognized:$ac_help"
-    fi
-    exit 0 ;;
+  -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 ;;
+    ac_prev=host_alias ;;
   -host=* | --host=* | --hos=* | --ho=*)
-    host="$ac_optarg" ;;
+    host_alias=$ac_optarg ;;
 
   -includedir | --includedir | --includedi | --included | --include \
   | --includ | --inclu | --incl | --inc)
     ac_prev=includedir ;;
   -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
   | --includ=* | --inclu=* | --incl=* | --inc=*)
-    includedir="$ac_optarg" ;;
+    includedir=$ac_optarg ;;
 
   -infodir | --infodir | --infodi | --infod | --info | --inf)
     ac_prev=infodir ;;
   -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
-    infodir="$ac_optarg" ;;
+    infodir=$ac_optarg ;;
 
   -libdir | --libdir | --libdi | --libd)
     ac_prev=libdir ;;
   -libdir=* | --libdir=* | --libdi=* | --libd=*)
-    libdir="$ac_optarg" ;;
+    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" ;;
+    libexecdir=$ac_optarg ;;
 
   -localstatedir | --localstatedir | --localstatedi | --localstated \
   | --localstate | --localstat | --localsta | --localst \
@@ -406,19 +628,19 @@
   -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
   | --localstate=* | --localstat=* | --localsta=* | --localst=* \
   | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
-    localstatedir="$ac_optarg" ;;
+    localstatedir=$ac_optarg ;;
 
   -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
     ac_prev=mandir ;;
   -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
-    mandir="$ac_optarg" ;;
+    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)
+  | --no-cr | --no-c | -n)
     no_create=yes ;;
 
   -no-recursion | --no-recursion | --no-recursio | --no-recursi \
@@ -432,26 +654,26 @@
   -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
   | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
   | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
-    oldincludedir="$ac_optarg" ;;
+    oldincludedir=$ac_optarg ;;
 
   -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
     ac_prev=prefix ;;
   -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
-    prefix="$ac_optarg" ;;
+    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_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_suffix=$ac_optarg ;;
 
   -program-transform-name | --program-transform-name \
   | --program-transform-nam | --program-transform-na \
@@ -468,7 +690,7 @@
   | --program-transfo=* | --program-transf=* \
   | --program-trans=* | --program-tran=* \
   | --progr-tra=* | --program-tr=* | --program-t=*)
-    program_transform_name="$ac_optarg" ;;
+    program_transform_name=$ac_optarg ;;
 
   -q | -quiet | --quiet | --quie | --qui | --qu | --q \
   | -silent | --silent | --silen | --sile | --sil)
@@ -478,7 +700,7 @@
     ac_prev=sbindir ;;
   -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
   | --sbi=* | --sb=*)
-    sbindir="$ac_optarg" ;;
+    sbindir=$ac_optarg ;;
 
   -sharedstatedir | --sharedstatedir | --sharedstatedi \
   | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
@@ -489,58 +711,57 @@
   | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
   | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
   | --sha=* | --sh=*)
-    sharedstatedir="$ac_optarg" ;;
+    sharedstatedir=$ac_optarg ;;
 
   -site | --site | --sit)
     ac_prev=site ;;
   -site=* | --site=* | --sit=*)
-    site="$ac_optarg" ;;
+    site=$ac_optarg ;;
 
   -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
     ac_prev=srcdir ;;
   -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
-    srcdir="$ac_optarg" ;;
+    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" ;;
+    sysconfdir=$ac_optarg ;;
 
   -target | --target | --targe | --targ | --tar | --ta | --t)
-    ac_prev=target ;;
+    ac_prev=target_alias ;;
   -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
-    target="$ac_optarg" ;;
+    target_alias=$ac_optarg ;;
 
   -v | -verbose | --verbose | --verbos | --verbo | --verb)
     verbose=yes ;;
 
-  -version | --version | --versio | --versi | --vers)
-    echo "configure generated by autoconf version 2.13"
-    exit 0 ;;
+  -version | --version | --versio | --versi | --vers | -V)
+    ac_init_version=: ;;
 
   -with-* | --with-*)
-    ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
+    ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
-    if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
-      { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
-    fi
+    expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+      { echo "$as_me: error: invalid package name: $ac_package" >&2
+   { (exit 1); exit 1; }; }
     ac_package=`echo $ac_package| sed 's/-/_/g'`
-    case "$ac_option" in
-      *=*) ;;
+    case $ac_option in
+      *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
       *) ac_optarg=yes ;;
     esac
-    eval "with_${ac_package}='$ac_optarg'" ;;
+    eval "with_$ac_package='$ac_optarg'" ;;
 
   -without-* | --without-*)
-    ac_package=`echo $ac_option|sed -e 's/-*without-//'`
+    ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'`
     # Reject names that are not valid shell variable names.
-    if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
-      { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
-    fi
-    ac_package=`echo $ac_package| sed 's/-/_/g'`
-    eval "with_${ac_package}=no" ;;
+    expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
+      { echo "$as_me: error: invalid package name: $ac_package" >&2
+   { (exit 1); exit 1; }; }
+    ac_package=`echo $ac_package | sed 's/-/_/g'`
+    eval "with_$ac_package=no" ;;
 
   --x)
     # Obsolete; use --with-x.
@@ -551,99 +772,110 @@
     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_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" ;;
+    x_libraries=$ac_optarg ;;
 
-  -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
+  -*) { echo "$as_me: error: unrecognized option: $ac_option
+Try \`$0 --help' for more information." >&2
+   { (exit 1); exit 1; }; }
     ;;
 
+  *=*)
+    ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
+      { echo "$as_me: error: invalid variable name: $ac_envvar" >&2
+   { (exit 1); exit 1; }; }
+    ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`
+    eval "$ac_envvar='$ac_optarg'"
+    export $ac_envvar ;;
+
   *)
-    if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
-      echo "configure: warning: $ac_option: invalid host type" 1>&2
-    fi
-    if test "x$nonopt" != xNONE; then
-      { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
-    fi
-    nonopt="$ac_option"
+    # FIXME: should be removed in autoconf 3.0.
+    echo "$as_me: WARNING: you should use --build, --host, --target" >&2
+    expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+      echo "$as_me: WARNING: invalid host type: $ac_option" >&2
+    : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
     ;;
 
   esac
 done
 
 if test -n "$ac_prev"; then
-  { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
-fi
-
-trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
-
-# File descriptor usage:
-# 0 standard input
-# 1 file creation
-# 2 errors and warnings
-# 3 some systems may open it to /dev/tty
-# 4 used on the Kubota Titan
-# 6 checking for... messages and results
-# 5 compiler messages saved in config.log
-if test "$silent" = yes; then
-  exec 6>/dev/null
-else
-  exec 6>&1
+  ac_option=--`echo $ac_prev | sed 's/_/-/g'`
+  { echo "$as_me: error: missing argument to $ac_option" >&2
+   { (exit 1); exit 1; }; }
 fi
-exec 5>./config.log
 
-echo "\
-This file contains any messages produced by compilers while
-running configure, to aid debugging if configure makes a mistake.
-" 1>&5
+# Be sure to have absolute paths.
+for ac_var in exec_prefix prefix
+do
+  eval ac_val=$`echo $ac_var`
+  case $ac_val in
+    [\\/$]* | ?:[\\/]* | NONE | '' ) ;;
+    *)  { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
+   { (exit 1); exit 1; }; };;
+  esac
+done
 
-# Strip out --no-create and --no-recursion so they do not pile up.
-# Also quote any args containing shell metacharacters.
-ac_configure_args=
-for ac_arg
+# Be sure to have absolute paths.
+for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \
+              localstatedir libdir includedir oldincludedir infodir mandir
 do
-  case "$ac_arg" in
-  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
-  | --no-cr | --no-c) ;;
-  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
-  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
-  *" "*|*"	"*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
-  ac_configure_args="$ac_configure_args '$ac_arg'" ;;
-  *) ac_configure_args="$ac_configure_args $ac_arg" ;;
+  eval ac_val=$`echo $ac_var`
+  case $ac_val in
+    [\\/$]* | ?:[\\/]* ) ;;
+    *)  { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
+   { (exit 1); exit 1; }; };;
   esac
 done
 
-# NLS nuisances.
-# Only set these to C if already set.  These must not be set unconditionally
-# because not all systems understand e.g. LANG=C (notably SCO).
-# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
-# Non-C LC_CTYPE values break the ctype check.
-if test "${LANG+set}"   = set; then LANG=C;   export LANG;   fi
-if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
-if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
-if test "${LC_CTYPE+set}"    = set; then LC_CTYPE=C;    export LC_CTYPE;    fi
+# There might be people who depend on the old broken behavior: `$host'
+# used to hold the argument of --host etc.
+# FIXME: To remove some day.
+build=$build_alias
+host=$host_alias
+target=$target_alias
+
+# FIXME: To remove some day.
+if test "x$host_alias" != x; then
+  if test "x$build_alias" = x; then
+    cross_compiling=maybe
+    echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
+    If a cross compiler is detected then cross compile mode will be used." >&2
+  elif test "x$build_alias" != "x$host_alias"; then
+    cross_compiling=yes
+  fi
+fi
 
-# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -rf conftest* confdefs.h
-# AIX cpp loses on an empty file, so make sure it contains at least a newline.
-echo > confdefs.h
+ac_tool_prefix=
+test -n "$host_alias" && ac_tool_prefix=$host_alias-
+
+test "$silent" = yes && exec 6>/dev/null
 
-# A filename unique to this package, relative to the directory that
-# configure is in, which we can look for to find out if srcdir is correct.
-ac_unique_file=src/include/atm.h
 
 # Find the source files, if location was not specified.
 if test -z "$srcdir"; then
   ac_srcdir_defaulted=yes
   # Try the directory containing this script, then its parent.
-  ac_prog=$0
-  ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
-  test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
+  ac_confdir=`(dirname "$0") 2>/dev/null ||
+$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+         X"$0" : 'X\(//\)[^/]' \| \
+         X"$0" : 'X\(//\)$' \| \
+         X"$0" : 'X\(/\)' \| \
+         .     : '\(.\)' 2>/dev/null ||
+echo X"$0" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+  	  /^X\(\/\/\)$/{ s//\1/; q; }
+  	  /^X\(\/\).*/{ s//\1/; q; }
+  	  s/.*/./; q'`
   srcdir=$ac_confdir
   if test ! -r $srcdir/$ac_unique_file; then
     srcdir=..
@@ -653,13 +885,453 @@
 fi
 if test ! -r $srcdir/$ac_unique_file; then
   if test "$ac_srcdir_defaulted" = yes; then
-    { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
+    { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2
+   { (exit 1); exit 1; }; }
   else
-    { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
+    { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
+   { (exit 1); exit 1; }; }
   fi
 fi
-srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
+(cd $srcdir && test -r ./$ac_unique_file) 2>/dev/null ||
+  { echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2
+   { (exit 1); exit 1; }; }
+srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'`
+ac_env_build_alias_set=${build_alias+set}
+ac_env_build_alias_value=$build_alias
+ac_cv_env_build_alias_set=${build_alias+set}
+ac_cv_env_build_alias_value=$build_alias
+ac_env_host_alias_set=${host_alias+set}
+ac_env_host_alias_value=$host_alias
+ac_cv_env_host_alias_set=${host_alias+set}
+ac_cv_env_host_alias_value=$host_alias
+ac_env_target_alias_set=${target_alias+set}
+ac_env_target_alias_value=$target_alias
+ac_cv_env_target_alias_set=${target_alias+set}
+ac_cv_env_target_alias_value=$target_alias
+ac_env_CC_set=${CC+set}
+ac_env_CC_value=$CC
+ac_cv_env_CC_set=${CC+set}
+ac_cv_env_CC_value=$CC
+ac_env_CFLAGS_set=${CFLAGS+set}
+ac_env_CFLAGS_value=$CFLAGS
+ac_cv_env_CFLAGS_set=${CFLAGS+set}
+ac_cv_env_CFLAGS_value=$CFLAGS
+ac_env_LDFLAGS_set=${LDFLAGS+set}
+ac_env_LDFLAGS_value=$LDFLAGS
+ac_cv_env_LDFLAGS_set=${LDFLAGS+set}
+ac_cv_env_LDFLAGS_value=$LDFLAGS
+ac_env_CPPFLAGS_set=${CPPFLAGS+set}
+ac_env_CPPFLAGS_value=$CPPFLAGS
+ac_cv_env_CPPFLAGS_set=${CPPFLAGS+set}
+ac_cv_env_CPPFLAGS_value=$CPPFLAGS
+ac_env_CPP_set=${CPP+set}
+ac_env_CPP_value=$CPP
+ac_cv_env_CPP_set=${CPP+set}
+ac_cv_env_CPP_value=$CPP
+
+#
+# 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 this package to adapt to many kinds of systems.
+
+Usage: $0 [OPTION]... [VAR=VALUE]...
+
+To assign environment variables (e.g., CC, CFLAGS...), specify them as
+VAR=VALUE.  See below for descriptions of some of the useful variables.
+
+Defaults for the options are specified in brackets.
+
+Configuration:
+  -h, --help              display this help and exit
+      --help=short        display options specific to this package
+      --help=recursive    display the short help of all the included packages
+  -V, --version           display version information and exit
+  -q, --quiet, --silent   do not print \`checking...' messages
+      --cache-file=FILE   cache test results in FILE [disabled]
+  -C, --config-cache      alias for \`--cache-file=config.cache'
+  -n, --no-create         do not create output files
+      --srcdir=DIR        find the sources in DIR [configure dir or \`..']
+
+_ACEOF
+
+  cat <<_ACEOF
+Installation directories:
+  --prefix=PREFIX         install architecture-independent files in PREFIX
+                          [$ac_default_prefix]
+  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
+                          [PREFIX]
+
+By default, \`make install' will install all the files in
+\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc.  You can specify
+an installation prefix other than \`$ac_default_prefix' using \`--prefix',
+for instance \`--prefix=\$HOME'.
+
+For better control, use the options below.
+
+Fine tuning of the installation directories:
+  --bindir=DIR           user executables [EPREFIX/bin]
+  --sbindir=DIR          system admin executables [EPREFIX/sbin]
+  --libexecdir=DIR       program executables [EPREFIX/libexec]
+  --datadir=DIR          read-only architecture-independent data [PREFIX/share]
+  --sysconfdir=DIR       read-only single-machine data [PREFIX/etc]
+  --sharedstatedir=DIR   modifiable architecture-independent data [PREFIX/com]
+  --localstatedir=DIR    modifiable single-machine data [PREFIX/var]
+  --libdir=DIR           object code libraries [EPREFIX/lib]
+  --includedir=DIR       C header files [PREFIX/include]
+  --oldincludedir=DIR    C header files for non-gcc [/usr/include]
+  --infodir=DIR          info documentation [PREFIX/info]
+  --mandir=DIR           man documentation [PREFIX/man]
+_ACEOF
+
+  cat <<\_ACEOF
+
+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
+
+System types:
+  --build=BUILD     configure for building on BUILD [guessed]
+  --host=HOST       cross-compile to build programs to run on HOST [BUILD]
+  --target=TARGET   configure for building compilers for TARGET [HOST]
+_ACEOF
+fi
+
+if test -n "$ac_init_help"; then
+
+  cat <<\_ACEOF
+
+Optional Features:
+  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
+  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
+  --enable-shared=PKGS  build shared libraries default=yes
+  --enable-static=PKGS  build static libraries default=yes
+  --enable-fast-install=PKGS  optimize for fast installation default=yes
+  --disable-libtool-lock  avoid locking (might break parallel builds)
+  --enable-allow_uni30    Allow UNI 3.0 backwards-compatible extensions (if using UNI 3.1)
+  --enable-q2963_1        Enable peak cell rate modification as specified in Q.2963.1 (if using UNI 4.0)
+  --enable-cisco          Enable work around for point-to-multipoint signaling bug in Cisco LS100 or LS7010 switches
+  --enable-thomflex       Some versions of the Thomson Thomflex 5000 won't do any signaling before they get a RESTART.  Enable sending of a RESTART whenever SAAL comes up.
+  --enable-mpoa_1_1       Enable proposed MPOA 1.1 features
+  --enable-mpr            Enable memory debugging (if MPR is installed)
+
+Optional Packages:
+  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
+  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
+  --with-gnu-ld           assume the C compiler uses GNU ld default=no
+  --with-pic              try to use only PIC/non-PIC objects default=use both
+  --with-uni=VERSION      UNI version to use (3.0,3.1,4.0) default=dynamic
+
+Some influential environment variables:
+  CC          C compiler command
+  CFLAGS      C compiler flags
+  LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
+              nonstandard directory <lib dir>
+  CPPFLAGS    C/C++ preprocessor flags, e.g. -I<include dir> if you have
+              headers in a nonstandard directory <include dir>
+  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.
+
+_ACEOF
+fi
+
+if test "$ac_init_help" = "recursive"; then
+  # If there are subdirs, report their specific --help.
+  ac_popdir=`pwd`
+  for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
+    test -d $ac_dir || continue
+    ac_builddir=.
+
+if test "$ac_dir" != .; then
+  ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
+  # A "../" for each directory in $ac_dir_suffix.
+  ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
+else
+  ac_dir_suffix= ac_top_builddir=
+fi
+
+case $srcdir in
+  .)  # No --srcdir option.  We are building in place.
+    ac_srcdir=.
+    if test -z "$ac_top_builddir"; then
+       ac_top_srcdir=.
+    else
+       ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
+    fi ;;
+  [\\/]* | ?:[\\/]* )  # Absolute path.
+    ac_srcdir=$srcdir$ac_dir_suffix;
+    ac_top_srcdir=$srcdir ;;
+  *) # Relative path.
+    ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
+    ac_top_srcdir=$ac_top_builddir$srcdir ;;
+esac
+# Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be
+# absolute.
+ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd`
+ac_abs_top_builddir=`cd "$ac_dir" && cd ${ac_top_builddir}. && pwd`
+ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd`
+ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd`
+
+    cd $ac_dir
+    # Check for guested configure; otherwise get Cygnus style configure.
+    if test -f $ac_srcdir/configure.gnu; then
+      echo
+      $SHELL $ac_srcdir/configure.gnu  --help=recursive
+    elif test -f $ac_srcdir/configure; then
+      echo
+      $SHELL $ac_srcdir/configure  --help=recursive
+    elif test -f $ac_srcdir/configure.ac ||
+           test -f $ac_srcdir/configure.in; then
+      echo
+      $ac_configure --help
+    else
+      echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
+    fi
+    cd $ac_popdir
+  done
+fi
+
+test -n "$ac_init_help" && exit 0
+if $ac_init_version; then
+  cat <<\_ACEOF
+
+Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002
+Free Software Foundation, Inc.
+This configure script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it.
+_ACEOF
+  exit 0
+fi
+exec 5>config.log
+cat >&5 <<_ACEOF
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+
+It was created by $as_me, which was
+generated by GNU Autoconf 2.57.  Invocation command line was
+
+  $ $0 $@
+
+_ACEOF
+{
+cat <<_ASUNAME
+## --------- ##
+## Platform. ##
+## --------- ##
+
+hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
+uname -m = `(uname -m) 2>/dev/null || echo unknown`
+uname -r = `(uname -r) 2>/dev/null || echo unknown`
+uname -s = `(uname -s) 2>/dev/null || echo unknown`
+uname -v = `(uname -v) 2>/dev/null || echo unknown`
+
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
+/bin/uname -X     = `(/bin/uname -X) 2>/dev/null     || echo unknown`
+
+/bin/arch              = `(/bin/arch) 2>/dev/null              || echo unknown`
+/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null       || echo unknown`
+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
+hostinfo               = `(hostinfo) 2>/dev/null               || echo unknown`
+/bin/machine           = `(/bin/machine) 2>/dev/null           || echo unknown`
+/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null       || echo unknown`
+/bin/universe          = `(/bin/universe) 2>/dev/null          || echo unknown`
+
+_ASUNAME
+
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  echo "PATH: $as_dir"
+done
+
+} >&5
+
+cat >&5 <<_ACEOF
+
+
+## ----------- ##
+## Core tests. ##
+## ----------- ##
+
+_ACEOF
+
+
+# Keep a trace of the command line.
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Strip out --silent because we don't want to record it for future runs.
+# Also quote any args containing shell meta-characters.
+# Make two passes to allow for proper duplicate-argument suppression.
+ac_configure_args=
+ac_configure_args0=
+ac_configure_args1=
+ac_sep=
+ac_must_keep_next=false
+for ac_pass in 1 2
+do
+  for ac_arg
+  do
+    case $ac_arg in
+    -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
+    -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+    | -silent | --silent | --silen | --sile | --sil)
+      continue ;;
+    *" "*|*"	"*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
+      ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+    esac
+    case $ac_pass in
+    1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;;
+    2)
+      ac_configure_args1="$ac_configure_args1 '$ac_arg'"
+      if test $ac_must_keep_next = true; then
+        ac_must_keep_next=false # Got value, back to normal.
+      else
+        case $ac_arg in
+          *=* | --config-cache | -C | -disable-* | --disable-* \
+          | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
+          | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
+          | -with-* | --with-* | -without-* | --without-* | --x)
+            case "$ac_configure_args0 " in
+              "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
+            esac
+            ;;
+          -* ) ac_must_keep_next=true ;;
+        esac
+      fi
+      ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'"
+      # Get rid of the leading space.
+      ac_sep=" "
+      ;;
+    esac
+  done
+done
+$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; }
+$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; }
+
+# When interrupted or exit'd, cleanup temporary files, and complete
+# config.log.  We remove comments because anyway the quotes in there
+# would cause problems or look ugly.
+# WARNING: Be sure not to use single quotes in there, as some shells,
+# such as our DU 5.0 friend, will then `close' the trap.
+trap 'exit_status=$?
+  # Save into config.log some information that might help in debugging.
+  {
+    echo
+
+    cat <<\_ASBOX
+## ---------------- ##
+## Cache variables. ##
+## ---------------- ##
+_ASBOX
+    echo
+    # The following way of writing the cache mishandles newlines in values,
+{
+  (set) 2>&1 |
+    case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in
+    *ac_space=\ *)
+      sed -n \
+        "s/'"'"'/'"'"'\\\\'"'"''"'"'/g;
+    	  s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p"
+      ;;
+    *)
+      sed -n \
+        "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
+      ;;
+    esac;
+}
+    echo
+
+    cat <<\_ASBOX
+## ----------------- ##
+## Output variables. ##
+## ----------------- ##
+_ASBOX
+    echo
+    for ac_var in $ac_subst_vars
+    do
+      eval ac_val=$`echo $ac_var`
+      echo "$ac_var='"'"'$ac_val'"'"'"
+    done | sort
+    echo
+
+    if test -n "$ac_subst_files"; then
+      cat <<\_ASBOX
+## ------------- ##
+## Output files. ##
+## ------------- ##
+_ASBOX
+      echo
+      for ac_var in $ac_subst_files
+      do
+	eval ac_val=$`echo $ac_var`
+        echo "$ac_var='"'"'$ac_val'"'"'"
+      done | sort
+      echo
+    fi
+
+    if test -s confdefs.h; then
+      cat <<\_ASBOX
+## ----------- ##
+## confdefs.h. ##
+## ----------- ##
+_ASBOX
+      echo
+      sed "/^$/d" confdefs.h | sort
+      echo
+    fi
+    test "$ac_signal" != 0 &&
+      echo "$as_me: caught signal $ac_signal"
+    echo "$as_me: exit $exit_status"
+  } >&5
+  rm -f core *.core &&
+  rm -rf conftest* confdefs* conf$$* $ac_clean_files &&
+    exit $exit_status
+     ' 0
+for ac_signal in 1 2 13 15; do
+  trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal
+done
+ac_signal=0
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -rf conftest* confdefs.h
+# AIX cpp loses on an empty file, so make sure it contains at least a newline.
+echo >confdefs.h
+
+# Predefined preprocessor variables.
 
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_NAME "$PACKAGE_NAME"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_VERSION "$PACKAGE_VERSION"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_STRING "$PACKAGE_STRING"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
+_ACEOF
+
+
+# Let the site file select an alternate cache file if it wants to.
 # Prefer explicitly selected file to automatically selected ones.
 if test -z "$CONFIG_SITE"; then
   if test "x$prefix" != xNONE; then
@@ -670,45 +1342,111 @@
 fi
 for ac_site_file in $CONFIG_SITE; do
   if test -r "$ac_site_file"; then
-    echo "loading site script $ac_site_file"
+    { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
+echo "$as_me: loading site script $ac_site_file" >&6;}
+    sed 's/^/| /' "$ac_site_file" >&5
     . "$ac_site_file"
   fi
 done
 
 if test -r "$cache_file"; then
-  echo "loading cache $cache_file"
-  . $cache_file
+  # Some versions of bash will fail to source /dev/null (special
+  # files actually), so we avoid doing that.
+  if test -f "$cache_file"; then
+    { echo "$as_me:$LINENO: loading cache $cache_file" >&5
+echo "$as_me: loading cache $cache_file" >&6;}
+    case $cache_file in
+      [\\/]* | ?:[\\/]* ) . $cache_file;;
+      *)                      . ./$cache_file;;
+    esac
+  fi
 else
-  echo "creating cache $cache_file"
-  > $cache_file
+  { echo "$as_me:$LINENO: creating cache $cache_file" >&5
+echo "$as_me: creating cache $cache_file" >&6;}
+  >$cache_file
+fi
+
+# Check that the precious variables saved in the cache have kept the same
+# value.
+ac_cache_corrupted=false
+for ac_var in `(set) 2>&1 |
+               sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do
+  eval ac_old_set=\$ac_cv_env_${ac_var}_set
+  eval ac_new_set=\$ac_env_${ac_var}_set
+  eval ac_old_val="\$ac_cv_env_${ac_var}_value"
+  eval ac_new_val="\$ac_env_${ac_var}_value"
+  case $ac_old_set,$ac_new_set in
+    set,)
+      { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
+echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
+      ac_cache_corrupted=: ;;
+    ,set)
+      { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
+echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
+      ac_cache_corrupted=: ;;
+    ,);;
+    *)
+      if test "x$ac_old_val" != "x$ac_new_val"; then
+        { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
+echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
+        { echo "$as_me:$LINENO:   former value:  $ac_old_val" >&5
+echo "$as_me:   former value:  $ac_old_val" >&2;}
+        { echo "$as_me:$LINENO:   current value: $ac_new_val" >&5
+echo "$as_me:   current value: $ac_new_val" >&2;}
+        ac_cache_corrupted=:
+      fi;;
+  esac
+  # Pass precious variables to config.status.
+  if test "$ac_new_set" = set; then
+    case $ac_new_val in
+    *" "*|*"	"*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
+      ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
+    *) ac_arg=$ac_var=$ac_new_val ;;
+    esac
+    case " $ac_configure_args " in
+      *" '$ac_arg' "*) ;; # Avoid dups.  Use of quotes ensures accuracy.
+      *) ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+    esac
+  fi
+done
+if $ac_cache_corrupted; then
+  { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
+echo "$as_me: error: changes in the environment can compromise the build" >&2;}
+  { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
+echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
+   { (exit 1); exit 1; }; }
 fi
 
 ac_ext=c
-# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
 ac_cpp='$CPP $CPPFLAGS'
-ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
-ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
-cross_compiling=$ac_cv_prog_cc_cross
-
-ac_exeext=
-ac_objext=o
-if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
-  # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
-  if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
-    ac_n= ac_c='
-' ac_t='	'
-  else
-    ac_n=-n ac_c= ac_t=
-  fi
-else
-  ac_n= ac_c='\c' ac_t=
-fi
+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_config_headers="$ac_config_headers config.h"
+
+          ac_config_commands="$ac_config_commands default-1"
+
+
 ac_aux_dir=
 for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do
   if test -f $ac_dir/install-sh; then
@@ -719,105 +1457,105 @@
     ac_aux_dir=$ac_dir
     ac_install_sh="$ac_aux_dir/install.sh -c"
     break
+  elif test -f $ac_dir/shtool; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/shtool install -c"
+    break
   fi
 done
 if test -z "$ac_aux_dir"; then
-  { echo "configure: error: can not find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." 1>&2; exit 1; }
-fi
-ac_config_guess=$ac_aux_dir/config.guess
-ac_config_sub=$ac_aux_dir/config.sub
-ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
-
-
-# Do some error checking and defaulting for the host and target type.
-# The inputs are:
-#    configure --host=HOST --target=TARGET --build=BUILD NONOPT
-#
-# The rules are:
-# 1. You are not allowed to specify --host, --target, and nonopt at the
-#    same time.
-# 2. Host defaults to nonopt.
-# 3. If nonopt is not specified, then host defaults to the current host,
-#    as determined by config.guess.
-# 4. Target and build default to nonopt.
-# 5. If nonopt is not specified, then target and build default to host.
-
-# The aliases save the names the user supplied, while $host etc.
-# will get canonicalized.
-case $host---$target---$nonopt in
-NONE---*---* | *---NONE---* | *---*---NONE) ;;
-*) { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; } ;;
-esac
-
+  { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&5
+echo "$as_me: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+ac_config_guess="$SHELL $ac_aux_dir/config.guess"
+ac_config_sub="$SHELL $ac_aux_dir/config.sub"
+ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure.
 
 # Make sure we can run config.sub.
-if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then :
-else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
-fi
+$ac_config_sub sun4 >/dev/null 2>&1 ||
+  { { echo "$as_me:$LINENO: error: cannot run $ac_config_sub" >&5
+echo "$as_me: error: cannot run $ac_config_sub" >&2;}
+   { (exit 1); exit 1; }; }
+
+echo "$as_me:$LINENO: checking build system type" >&5
+echo $ECHO_N "checking build system type... $ECHO_C" >&6
+if test "${ac_cv_build+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_cv_build_alias=$build_alias
+test -z "$ac_cv_build_alias" &&
+  ac_cv_build_alias=`$ac_config_guess`
+test -z "$ac_cv_build_alias" &&
+  { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5
+echo "$as_me: error: cannot guess build type; you must specify one" >&2;}
+   { (exit 1); exit 1; }; }
+ac_cv_build=`$ac_config_sub $ac_cv_build_alias` ||
+  { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_build_alias failed" >&5
+echo "$as_me: error: $ac_config_sub $ac_cv_build_alias failed" >&2;}
+   { (exit 1); exit 1; }; }
+
+fi
+echo "$as_me:$LINENO: result: $ac_cv_build" >&5
+echo "${ECHO_T}$ac_cv_build" >&6
+build=$ac_cv_build
+build_cpu=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+build_vendor=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+build_os=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+
+
+echo "$as_me:$LINENO: checking host system type" >&5
+echo $ECHO_N "checking host system type... $ECHO_C" >&6
+if test "${ac_cv_host+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_cv_host_alias=$host_alias
+test -z "$ac_cv_host_alias" &&
+  ac_cv_host_alias=$ac_cv_build_alias
+ac_cv_host=`$ac_config_sub $ac_cv_host_alias` ||
+  { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_host_alias failed" >&5
+echo "$as_me: error: $ac_config_sub $ac_cv_host_alias failed" >&2;}
+   { (exit 1); exit 1; }; }
+
+fi
+echo "$as_me:$LINENO: result: $ac_cv_host" >&5
+echo "${ECHO_T}$ac_cv_host" >&6
+host=$ac_cv_host
+host_cpu=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+host_vendor=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+host_os=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+
+
+echo "$as_me:$LINENO: checking target system type" >&5
+echo $ECHO_N "checking target system type... $ECHO_C" >&6
+if test "${ac_cv_target+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_cv_target_alias=$target_alias
+test "x$ac_cv_target_alias" = "x" &&
+  ac_cv_target_alias=$ac_cv_host_alias
+ac_cv_target=`$ac_config_sub $ac_cv_target_alias` ||
+  { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_target_alias failed" >&5
+echo "$as_me: error: $ac_config_sub $ac_cv_target_alias failed" >&2;}
+   { (exit 1); exit 1; }; }
+
+fi
+echo "$as_me:$LINENO: result: $ac_cv_target" >&5
+echo "${ECHO_T}$ac_cv_target" >&6
+target=$ac_cv_target
+target_cpu=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+target_vendor=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+target_os=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
 
-echo $ac_n "checking host system type""... $ac_c" 1>&6
-echo "configure:760: checking host system type" >&5
 
-host_alias=$host
-case "$host_alias" in
-NONE)
-  case $nonopt in
-  NONE)
-    if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then :
-    else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
-    fi ;;
-  *) host_alias=$nonopt ;;
-  esac ;;
-esac
-
-host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias`
-host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-echo "$ac_t""$host" 1>&6
-
-echo $ac_n "checking target system type""... $ac_c" 1>&6
-echo "configure:781: checking target system type" >&5
-
-target_alias=$target
-case "$target_alias" in
-NONE)
-  case $nonopt in
-  NONE) target_alias=$host_alias ;;
-  *) target_alias=$nonopt ;;
-  esac ;;
-esac
-
-target=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $target_alias`
-target_cpu=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-target_vendor=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-target_os=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-echo "$ac_t""$target" 1>&6
-
-echo $ac_n "checking build system type""... $ac_c" 1>&6
-echo "configure:799: checking build system type" >&5
-
-build_alias=$build
-case "$build_alias" in
-NONE)
-  case $nonopt in
-  NONE) build_alias=$host_alias ;;
-  *) build_alias=$nonopt ;;
-  esac ;;
-esac
-
-build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias`
-build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-echo "$ac_t""$build" 1>&6
-
-test "$host_alias" != "$target_alias" &&
+# The aliases save the names the user supplied, while $host etc.
+# will get canonicalized.
+test -n "$target_alias" &&
   test "$program_prefix$program_suffix$program_transform_name" = \
     NONENONEs,x,x, &&
   program_prefix=${target_alias}-
 
-
+am__api_version="1.4"
 # 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:
@@ -825,65 +1563,78 @@
 # 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"
 # ./install, which can be erroneously created by make from ./install.sh.
-echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
-echo "configure:834: checking for a BSD compatible install" >&5
+echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
+echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6
 if test -z "$INSTALL"; then
-if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
+if test "${ac_cv_path_install+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-    IFS="${IFS= 	}"; ac_save_IFS="$IFS"; IFS=":"
-  for ac_dir in $PATH; do
-    # Account for people who put trailing slashes in PATH elements.
-    case "$ac_dir/" in
-    /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
-    *)
-      # OSF1 and SCO ODT 3.0 have their own names for install.
-      # Don't use installbsd from OSF since it installs stuff as root
-      # by default.
-      for ac_prog in ginstall scoinst install; do
-        if test -f $ac_dir/$ac_prog; then
-	  if test $ac_prog = install &&
-            grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
-	    # AIX install.  It has an incompatible calling convention.
-	    :
-	  else
-	    ac_cv_path_install="$ac_dir/$ac_prog -c"
-	    break 2
-	  fi
-	fi
+  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/* | \
+  /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 $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
+          if test $ac_prog = install &&
+            grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+            # AIX install.  It has an incompatible calling convention.
+            :
+          elif test $ac_prog = install &&
+            grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+            # program-specific install script used by HP pwplus--don't use.
+            :
+          else
+            ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
+            break 3
+          fi
+        fi
       done
-      ;;
-    esac
-  done
-  IFS="$ac_save_IFS"
+    done
+    ;;
+esac
+done
+
 
 fi
   if test "${ac_cv_path_install+set}" = set; then
-    INSTALL="$ac_cv_path_install"
+    INSTALL=$ac_cv_path_install
   else
     # As a last resort, use the slow shell script.  We don't cache a
     # path for INSTALL within a source directory, because that will
     # break other packages using the cache if that directory is
     # removed, or if the path is relative.
-    INSTALL="$ac_install_sh"
+    INSTALL=$ac_install_sh
   fi
 fi
-echo "$ac_t""$INSTALL" 1>&6
+echo "$as_me:$LINENO: result: $INSTALL" >&5
+echo "${ECHO_T}$INSTALL" >&6
 
 # Use test -z because SunOS4 sh mishandles braces in ${var-val}.
 # It thinks the first close brace ends the variable substitution.
 test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
 
-test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
 
 test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
 
-echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6
-echo "configure:887: checking whether build environment is sane" >&5
+echo "$as_me:$LINENO: checking whether build environment is sane" >&5
+echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6
 # Just in case
 sleep 1
 echo timestamp > conftestfile
@@ -905,8 +1656,11 @@
       # 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".
-      { echo "configure: error: ls -t appears to fail.  Make sure there is not a broken
-alias in your environment" 1>&2; exit 1; }
+      { { echo "$as_me:$LINENO: error: ls -t appears to fail.  Make sure there is not a broken
+alias in your environment" >&5
+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" = conftestfile
@@ -915,54 +1669,54 @@
    # Ok.
    :
 else
-   { echo "configure: error: newly created file is older than distributed files!
-Check your system clock" 1>&2; exit 1; }
+   { { echo "$as_me:$LINENO: error: newly created file is older than distributed files!
+Check your system clock" >&5
+echo "$as_me: error: newly created file is older than distributed files!
+Check your system clock" >&2;}
+   { (exit 1); exit 1; }; }
 fi
 rm -f conftest*
-echo "$ac_t""yes" 1>&6
-if test "$program_transform_name" = s,x,x,; then
-  program_transform_name=
-else
-  # Double any \ or $.  echo might interpret backslashes.
-  cat <<\EOF_SED > conftestsed
-s,\\,\\\\,g; s,\$,$$,g
-EOF_SED
-  program_transform_name="`echo $program_transform_name|sed -f conftestsed`"
-  rm -f conftestsed
-fi
+echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
 test "$program_prefix" != NONE &&
-  program_transform_name="s,^,${program_prefix},; $program_transform_name"
+  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"
-
-# sed with no file args requires a program.
-test "$program_transform_name" = "" && program_transform_name="s,x,x,"
-
-echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
-echo "configure:944: checking whether ${MAKE-make} sets \${MAKE}" >&5
-set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
-if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
+  program_transform_name="s,\$,$program_suffix,;$program_transform_name"
+# Double any \ or $.  echo might interpret backslashes.
+# By default was `s,x,x', remove it if useless.
+cat <<\_ACEOF >conftest.sed
+s/[\\$]/&&/g;s/;s,x,x,$//
+_ACEOF
+program_transform_name=`echo $program_transform_name | sed -f conftest.sed`
+rm conftest.sed
+
+echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
+echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6
+set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,./+-,__p_,'`
+if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  cat > conftestmake <<\EOF
+  cat >conftest.make <<\_ACEOF
 all:
-	@echo 'ac_maketemp="${MAKE}"'
-EOF
+	@echo 'ac_maketemp="$(MAKE)"'
+_ACEOF
 # GNU make sometimes prints "make[1]: Entering...", which would confuse us.
-eval `${MAKE-make} -f conftestmake 2>/dev/null | grep temp=`
+eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=`
 if test -n "$ac_maketemp"; then
   eval ac_cv_prog_make_${ac_make}_set=yes
 else
   eval ac_cv_prog_make_${ac_make}_set=no
 fi
-rm -f conftestmake
+rm -f conftest.make
 fi
 if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
-  echo "$ac_t""yes" 1>&6
+  echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
   SET_MAKE=
 else
-  echo "$ac_t""no" 1>&6
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
   SET_MAKE="MAKE=${MAKE-make}"
 fi
 
@@ -972,82 +1726,96 @@
 VERSION=2.4.1
 
 if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
-  { echo "configure: error: source directory already configured; run "make distclean" there first" 1>&2; exit 1; }
+  { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5
+echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;}
+   { (exit 1); exit 1; }; }
 fi
-cat >> confdefs.h <<EOF
+
+cat >>confdefs.h <<_ACEOF
 #define PACKAGE "$PACKAGE"
-EOF
+_ACEOF
 
-cat >> confdefs.h <<EOF
+
+cat >>confdefs.h <<_ACEOF
 #define VERSION "$VERSION"
-EOF
+_ACEOF
 
 
 
 missing_dir=`cd $ac_aux_dir && pwd`
-echo $ac_n "checking for working aclocal""... $ac_c" 1>&6
-echo "configure:990: checking for working aclocal" >&5
+echo "$as_me:$LINENO: checking for working aclocal-${am__api_version}" >&5
+echo $ECHO_N "checking for working aclocal-${am__api_version}... $ECHO_C" >&6
 # Run test in a subshell; some versions of sh will print an error if
 # an executable is not found, even if stderr is redirected.
 # Redirect stdin to placate older versions of autoconf.  Sigh.
-if (aclocal --version) < /dev/null > /dev/null 2>&1; then
-   ACLOCAL=aclocal
-   echo "$ac_t""found" 1>&6
-else
-   ACLOCAL="$missing_dir/missing aclocal"
-   echo "$ac_t""missing" 1>&6
+if (aclocal-${am__api_version} --version) < /dev/null > /dev/null 2>&1; then
+   ACLOCAL=aclocal-${am__api_version}
+   echo "$as_me:$LINENO: result: found" >&5
+echo "${ECHO_T}found" >&6
+else
+   ACLOCAL="$missing_dir/missing aclocal-${am__api_version}"
+   echo "$as_me:$LINENO: result: missing" >&5
+echo "${ECHO_T}missing" >&6
 fi
 
-echo $ac_n "checking for working autoconf""... $ac_c" 1>&6
-echo "configure:1003: checking for working autoconf" >&5
+echo "$as_me:$LINENO: checking for working autoconf" >&5
+echo $ECHO_N "checking for working autoconf... $ECHO_C" >&6
 # Run test in a subshell; some versions of sh will print an error if
 # an executable is not found, even if stderr is redirected.
 # Redirect stdin to placate older versions of autoconf.  Sigh.
 if (autoconf --version) < /dev/null > /dev/null 2>&1; then
    AUTOCONF=autoconf
-   echo "$ac_t""found" 1>&6
+   echo "$as_me:$LINENO: result: found" >&5
+echo "${ECHO_T}found" >&6
 else
    AUTOCONF="$missing_dir/missing autoconf"
-   echo "$ac_t""missing" 1>&6
+   echo "$as_me:$LINENO: result: missing" >&5
+echo "${ECHO_T}missing" >&6
 fi
 
-echo $ac_n "checking for working automake""... $ac_c" 1>&6
-echo "configure:1016: checking for working automake" >&5
+echo "$as_me:$LINENO: checking for working automake-${am__api_version}" >&5
+echo $ECHO_N "checking for working automake-${am__api_version}... $ECHO_C" >&6
 # Run test in a subshell; some versions of sh will print an error if
 # an executable is not found, even if stderr is redirected.
 # Redirect stdin to placate older versions of autoconf.  Sigh.
-if (automake --version) < /dev/null > /dev/null 2>&1; then
-   AUTOMAKE=automake
-   echo "$ac_t""found" 1>&6
-else
-   AUTOMAKE="$missing_dir/missing automake"
-   echo "$ac_t""missing" 1>&6
+if (automake-${am__api_version} --version) < /dev/null > /dev/null 2>&1; then
+   AUTOMAKE=automake-${am__api_version}
+   echo "$as_me:$LINENO: result: found" >&5
+echo "${ECHO_T}found" >&6
+else
+   AUTOMAKE="$missing_dir/missing automake-${am__api_version}"
+   echo "$as_me:$LINENO: result: missing" >&5
+echo "${ECHO_T}missing" >&6
 fi
 
-echo $ac_n "checking for working autoheader""... $ac_c" 1>&6
-echo "configure:1029: checking for working autoheader" >&5
+echo "$as_me:$LINENO: checking for working autoheader" >&5
+echo $ECHO_N "checking for working autoheader... $ECHO_C" >&6
 # Run test in a subshell; some versions of sh will print an error if
 # an executable is not found, even if stderr is redirected.
 # Redirect stdin to placate older versions of autoconf.  Sigh.
 if (autoheader --version) < /dev/null > /dev/null 2>&1; then
    AUTOHEADER=autoheader
-   echo "$ac_t""found" 1>&6
+   echo "$as_me:$LINENO: result: found" >&5
+echo "${ECHO_T}found" >&6
 else
    AUTOHEADER="$missing_dir/missing autoheader"
-   echo "$ac_t""missing" 1>&6
+   echo "$as_me:$LINENO: result: missing" >&5
+echo "${ECHO_T}missing" >&6
 fi
 
-echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6
-echo "configure:1042: checking for working makeinfo" >&5
+echo "$as_me:$LINENO: checking for working makeinfo" >&5
+echo $ECHO_N "checking for working makeinfo... $ECHO_C" >&6
 # Run test in a subshell; some versions of sh will print an error if
 # an executable is not found, even if stderr is redirected.
 # Redirect stdin to placate older versions of autoconf.  Sigh.
 if (makeinfo --version) < /dev/null > /dev/null 2>&1; then
    MAKEINFO=makeinfo
-   echo "$ac_t""found" 1>&6
+   echo "$as_me:$LINENO: result: found" >&5
+echo "${ECHO_T}found" >&6
 else
    MAKEINFO="$missing_dir/missing makeinfo"
-   echo "$ac_t""missing" 1>&6
+   echo "$as_me:$LINENO: result: missing" >&5
+echo "${ECHO_T}missing" >&6
 fi
 
 
@@ -1059,214 +1827,643 @@
 
 
 
-# Extract the first word of "gcc", so it can be a program name with args.
+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
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_CC+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_CC="${ac_tool_prefix}gcc"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+fi
+if test -z "$ac_cv_prog_CC"; then
+  ac_ct_CC=$CC
+  # Extract the first word of "gcc", so it can be a program name with args.
 set dummy gcc; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1066: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$ac_ct_CC"; then
+  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_CC="gcc"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+  echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+echo "${ECHO_T}$ac_ct_CC" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+  CC=$ac_ct_CC
+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
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_CC+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   if test -n "$CC"; then
   ac_cv_prog_CC="$CC" # Let the user override the test.
 else
-  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
-  ac_dummy="$PATH"
-  for ac_dir in $ac_dummy; do
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/$ac_word; then
-      ac_cv_prog_CC="gcc"
-      break
-    fi
-  done
-  IFS="$ac_save_ifs"
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_CC="${ac_tool_prefix}cc"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
 fi
 fi
-CC="$ac_cv_prog_CC"
+CC=$ac_cv_prog_CC
 if test -n "$CC"; then
-  echo "$ac_t""$CC" 1>&6
+  echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+fi
+if test -z "$ac_cv_prog_CC"; then
+  ac_ct_CC=$CC
+  # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$ac_ct_CC"; then
+  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_CC="cc"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+  echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+echo "${ECHO_T}$ac_ct_CC" >&6
 else
-  echo "$ac_t""no" 1>&6
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
 fi
 
+  CC=$ac_ct_CC
+else
+  CC="$ac_cv_prog_CC"
+fi
+
+fi
 if test -z "$CC"; then
   # Extract the first word of "cc", so it can be a program name with args.
 set dummy cc; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1096: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_CC+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   if test -n "$CC"; then
   ac_cv_prog_CC="$CC" # Let the user override the test.
 else
-  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
   ac_prog_rejected=no
-  ac_dummy="$PATH"
-  for ac_dir in $ac_dummy; do
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/$ac_word; then
-      if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
-        ac_prog_rejected=yes
-	continue
-      fi
-      ac_cv_prog_CC="cc"
-      break
-    fi
-  done
-  IFS="$ac_save_ifs"
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
+       ac_prog_rejected=yes
+       continue
+     fi
+    ac_cv_prog_CC="cc"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
 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 $# -gt 0; then
+  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
-    set dummy "$ac_dir/$ac_word" "$@"
-    shift
-    ac_cv_prog_CC="$@"
+    ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
   fi
 fi
 fi
 fi
-CC="$ac_cv_prog_CC"
+CC=$ac_cv_prog_CC
 if test -n "$CC"; then
-  echo "$ac_t""$CC" 1>&6
+  echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6
 else
-  echo "$ac_t""no" 1>&6
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
 fi
 
-  if test -z "$CC"; then
-    case "`uname -s`" in
-    *win32* | *WIN32*)
-      # Extract the first word of "cl", so it can be a program name with args.
-set dummy cl; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1147: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
+fi
+if test -z "$CC"; then
+  if test -n "$ac_tool_prefix"; then
+  for ac_prog in cl
+  do
+    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_CC+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   if test -n "$CC"; then
   ac_cv_prog_CC="$CC" # Let the user override the test.
 else
-  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
-  ac_dummy="$PATH"
-  for ac_dir in $ac_dummy; do
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/$ac_word; then
-      ac_cv_prog_CC="cl"
-      break
-    fi
-  done
-  IFS="$ac_save_ifs"
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
 fi
 fi
-CC="$ac_cv_prog_CC"
+CC=$ac_cv_prog_CC
 if test -n "$CC"; then
-  echo "$ac_t""$CC" 1>&6
+  echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6
 else
-  echo "$ac_t""no" 1>&6
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
 fi
- ;;
-    esac
+
+    test -n "$CC" && break
+  done
+fi
+if test -z "$CC"; then
+  ac_ct_CC=$CC
+  for ac_prog in cl
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$ac_ct_CC"; then
+  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_CC="$ac_prog"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
   fi
-  test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
+done
+done
+
 fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+  echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+echo "${ECHO_T}$ac_ct_CC" >&6
+else
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
+fi
+
+  test -n "$ac_ct_CC" && break
+done
 
-echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:1179: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
+  CC=$ac_ct_CC
+fi
 
-ac_ext=c
-# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
-ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
-cross_compiling=$ac_cv_prog_cc_cross
+fi
 
-cat > conftest.$ac_ext << EOF
 
-#line 1190 "configure"
-#include "confdefs.h"
+test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH
+See \`config.log' for more details." >&5
+echo "$as_me: error: no acceptable C compiler found in \$PATH
+See \`config.log' for more details." >&2;}
+   { (exit 1); exit 1; }; }
+
+# Provide some information about the compiler.
+echo "$as_me:$LINENO:" \
+     "checking for C compiler version" >&5
+ac_compiler=`set X $ac_compile; echo $2`
+{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5
+  (eval $ac_compiler --version </dev/null >&5) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }
+{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v </dev/null >&5\"") >&5
+  (eval $ac_compiler -v </dev/null >&5) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }
+{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V </dev/null >&5\"") >&5
+  (eval $ac_compiler -V </dev/null >&5) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }
+
+cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
 
-main(){return(0);}
-EOF
-if { (eval echo configure:1195: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-  ac_cv_prog_cc_works=yes
-  # If we can't run a trivial program, we are probably using a cross compiler.
-  if (./conftest; exit) 2>/dev/null; then
-    ac_cv_prog_cc_cross=no
-  else
-    ac_cv_prog_cc_cross=yes
-  fi
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files a.out a.exe b.out"
+# Try to create an executable without -o first, disregard a.out.
+# It will help us diagnose broken compilers, and finding out an intuition
+# of exeext.
+echo "$as_me:$LINENO: checking for C compiler default output" >&5
+echo $ECHO_N "checking for C compiler default output... $ECHO_C" >&6
+ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
+if { (eval echo "$as_me:$LINENO: \"$ac_link_default\"") >&5
+  (eval $ac_link_default) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+  # Find the output, starting from the most likely.  This scheme is
+# not robust to junk in `.', hence go to wildcards (a.*) only as a last
+# resort.
+
+# Be careful to initialize this variable, since it used to be cached.
+# Otherwise an old cache value of `no' led to `EXEEXT = no' in a Makefile.
+ac_cv_exeext=
+# b.out is created by i960 compilers.
+for ac_file in a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out
+do
+  test -f "$ac_file" || continue
+  case $ac_file in
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj )
+        ;;
+    conftest.$ac_ext )
+        # This is the source file.
+        ;;
+    [ab].out )
+        # We found the default executable, but exeext='' is most
+        # certainly right.
+        break;;
+    *.* )
+        ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+        # FIXME: I believe we export ac_cv_exeext for Libtool,
+        # but it would be cool to find out if it's true.  Does anybody
+        # maintain Libtool? --akim.
+        export ac_cv_exeext
+        break;;
+    * )
+        break;;
+  esac
+done
 else
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  ac_cv_prog_cc_works=no
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+{ { echo "$as_me:$LINENO: error: C compiler cannot create executables
+See \`config.log' for more details." >&5
+echo "$as_me: error: C compiler cannot create executables
+See \`config.log' for more details." >&2;}
+   { (exit 77); exit 77; }; }
+fi
+
+ac_exeext=$ac_cv_exeext
+echo "$as_me:$LINENO: result: $ac_file" >&5
+echo "${ECHO_T}$ac_file" >&6
+
+# Check the compiler produces executables we can run.  If not, either
+# the compiler is broken, or we cross compile.
+echo "$as_me:$LINENO: checking whether the C compiler works" >&5
+echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6
+# FIXME: These cross compiler hacks should be removed for Autoconf 3.0
+# If not cross compiling, check that we can run a simple program.
+if test "$cross_compiling" != yes; then
+  if { ac_try='./$ac_file'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+    cross_compiling=no
+  else
+    if test "$cross_compiling" = maybe; then
+	cross_compiling=yes
+    else
+	{ { echo "$as_me:$LINENO: error: cannot run C compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details." >&5
+echo "$as_me: error: cannot run C compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details." >&2;}
+   { (exit 1); exit 1; }; }
+    fi
+  fi
 fi
-rm -fr conftest*
-ac_ext=c
-# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
-ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
-cross_compiling=$ac_cv_prog_cc_cross
-
-echo "$ac_t""$ac_cv_prog_cc_works" 1>&6
-if test $ac_cv_prog_cc_works = no; then
-  { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
-fi
-echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
-echo "configure:1221: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
-echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
-cross_compiling=$ac_cv_prog_cc_cross
-
-echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
-echo "configure:1226: checking whether we are using GNU C" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  cat > conftest.c <<EOF
-#ifdef __GNUC__
-  yes;
-#endif
-EOF
-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1235: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
-  ac_cv_prog_gcc=yes
+echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
+
+rm -f a.out a.exe conftest$ac_cv_exeext b.out
+ac_clean_files=$ac_clean_files_save
+# Check the compiler produces executables we can run.  If not, either
+# the compiler is broken, or we cross compile.
+echo "$as_me:$LINENO: checking whether we are cross compiling" >&5
+echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6
+echo "$as_me:$LINENO: result: $cross_compiling" >&5
+echo "${ECHO_T}$cross_compiling" >&6
+
+echo "$as_me:$LINENO: checking for suffix of executables" >&5
+echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+  # If both `conftest.exe' and `conftest' are `present' (well, observable)
+# catch `conftest.exe'.  For instance with Cygwin, `ls conftest' will
+# work properly (i.e., refer to `conftest.exe'), while it won't with
+# `rm'.
+for ac_file in conftest.exe conftest conftest.*; do
+  test -f "$ac_file" || continue
+  case $ac_file in
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ;;
+    *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+          export ac_cv_exeext
+          break;;
+    * ) break;;
+  esac
+done
 else
-  ac_cv_prog_gcc=no
-fi
+  { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details." >&5
+echo "$as_me: error: cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details." >&2;}
+   { (exit 1); exit 1; }; }
 fi
 
-echo "$ac_t""$ac_cv_prog_gcc" 1>&6
+rm -f conftest$ac_cv_exeext
+echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5
+echo "${ECHO_T}$ac_cv_exeext" >&6
+
+rm -f conftest.$ac_ext
+EXEEXT=$ac_cv_exeext
+ac_exeext=$EXEEXT
+echo "$as_me:$LINENO: checking for suffix of object files" >&5
+echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6
+if test "${ac_cv_objext+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
 
-if test $ac_cv_prog_gcc = yes; then
-  GCC=yes
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.o conftest.obj
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+  for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do
+  case $ac_file in
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg ) ;;
+    *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
+       break;;
+  esac
+done
 else
-  GCC=
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile
+See \`config.log' for more details." >&5
+echo "$as_me: error: cannot compute suffix of object files: cannot compile
+See \`config.log' for more details." >&2;}
+   { (exit 1); exit 1; }; }
 fi
 
-ac_test_CFLAGS="${CFLAGS+set}"
-ac_save_CFLAGS="$CFLAGS"
-CFLAGS=
-echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
-echo "configure:1254: checking whether ${CC-cc} accepts -g" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  echo 'void f(){}' > conftest.c
-if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
+rm -f conftest.$ac_cv_objext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
+echo "${ECHO_T}$ac_cv_objext" >&6
+OBJEXT=$ac_cv_objext
+ac_objext=$OBJEXT
+echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
+echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6
+if test "${ac_cv_c_compiler_gnu+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+#ifndef __GNUC__
+       choke me
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_compiler_gnu=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_compiler_gnu=no
+fi
+rm -f conftest.$ac_objext conftest.$ac_ext
+ac_cv_c_compiler_gnu=$ac_compiler_gnu
+
+fi
+echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
+echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6
+GCC=`test $ac_compiler_gnu = yes && echo yes`
+ac_test_CFLAGS=${CFLAGS+set}
+ac_save_CFLAGS=$CFLAGS
+CFLAGS="-g"
+echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
+echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6
+if test "${ac_cv_prog_cc_g+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_prog_cc_g=yes
 else
-  ac_cv_prog_cc_g=no
-fi
-rm -f conftest*
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
 
+ac_cv_prog_cc_g=no
 fi
-
-echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
+rm -f conftest.$ac_objext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
+echo "${ECHO_T}$ac_cv_prog_cc_g" >&6
 if test "$ac_test_CFLAGS" = set; then
-  CFLAGS="$ac_save_CFLAGS"
+  CFLAGS=$ac_save_CFLAGS
 elif test $ac_cv_prog_cc_g = yes; then
   if test "$GCC" = yes; then
     CFLAGS="-g -O2"
@@ -1280,295 +2477,548 @@
     CFLAGS=
   fi
 fi
+echo "$as_me:$LINENO: checking for $CC option to accept ANSI C" >&5
+echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6
+if test "${ac_cv_prog_cc_stdc+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_cv_prog_cc_stdc=no
+ac_save_CC=$CC
+cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <stdarg.h>
+#include <stdio.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+/* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
+struct buf { int x; };
+FILE * (*rcsopen) (struct buf *, struct stat *, int);
+static char *e (p, i)
+     char **p;
+     int i;
+{
+  return p[i];
+}
+static char *f (char * (*g) (char **, int), char **p, ...)
+{
+  char *s;
+  va_list v;
+  va_start (v,p);
+  s = g (p, va_arg (v,int));
+  va_end (v);
+  return s;
+}
+int test (int i, double x);
+struct s1 {int (*f) (int a);};
+struct s2 {int (*f) (double a);};
+int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
+int argc;
+char **argv;
+int
+main ()
+{
+return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
+  ;
+  return 0;
+}
+_ACEOF
+# Don't try gcc -ansi; that turns off useful extensions and
+# breaks some systems' header files.
+# AIX			-qlanglvl=ansi
+# Ultrix and OSF/1	-std1
+# HP-UX 10.20 and later	-Ae
+# HP-UX older versions	-Aa -D_HPUX_SOURCE
+# SVR4			-Xc -D__EXTENSIONS__
+for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
+do
+  CC="$ac_save_CC $ac_arg"
+  rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_prog_cc_stdc=$ac_arg
+break
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+fi
+rm -f conftest.$ac_objext
+done
+rm -f conftest.$ac_ext conftest.$ac_objext
+CC=$ac_save_CC
 
-echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
-echo "configure:1286: checking how to run the C preprocessor" >&5
-# On Suns, sometimes $CPP names a directory.
-if test -n "$CPP" && test -d "$CPP"; then
-  CPP=
 fi
-if test -z "$CPP"; then
-if eval "test \"`echo '$''{'ac_cv_prog_CPP'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-    # This must be in double quotes, not single quotes, because CPP may get
-  # substituted into the Makefile and "${CC-cc}" will confuse make.
-  CPP="${CC-cc} -E"
-  # On the NeXT, cc -E runs the code through the compiler's parser,
-  # not just through cpp.
-  cat > conftest.$ac_ext <<EOF
-#line 1301 "configure"
-#include "confdefs.h"
-#include <assert.h>
-Syntax Error
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1307: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
-if test -z "$ac_err"; then
-  :
-else
-  echo "$ac_err" >&5
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  CPP="${CC-cc} -E -traditional-cpp"
-  cat > conftest.$ac_ext <<EOF
-#line 1318 "configure"
-#include "confdefs.h"
-#include <assert.h>
-Syntax Error
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1324: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
-if test -z "$ac_err"; then
-  :
-else
-  echo "$ac_err" >&5
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  CPP="${CC-cc} -nologo -E"
-  cat > conftest.$ac_ext <<EOF
-#line 1335 "configure"
-#include "confdefs.h"
-#include <assert.h>
-Syntax Error
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1341: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
-if test -z "$ac_err"; then
+
+case "x$ac_cv_prog_cc_stdc" in
+  x|xno)
+    echo "$as_me:$LINENO: result: none needed" >&5
+echo "${ECHO_T}none needed" >&6 ;;
+  *)
+    echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5
+echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6
+    CC="$CC $ac_cv_prog_cc_stdc" ;;
+esac
+
+# Some people use a C++ compiler to compile C.  Since we use `exit',
+# in C++ we need to declare it.  In case someone uses the same compiler
+# for both compiling C and C++ we need to have the C++ compiler decide
+# the declaration of exit, since it's the most demanding environment.
+cat >conftest.$ac_ext <<_ACEOF
+#ifndef __cplusplus
+  choke me
+#endif
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  for ac_declaration in \
+   '' \
+   'extern "C" void std::exit (int) throw (); using std::exit;' \
+   'extern "C" void std::exit (int); using std::exit;' \
+   'extern "C" void exit (int) throw ();' \
+   'extern "C" void exit (int);' \
+   'void exit (int);'
+do
+  cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_declaration
+#include <stdlib.h>
+int
+main ()
+{
+exit (42);
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   :
 else
-  echo "$ac_err" >&5
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  CPP=/lib/cpp
-fi
-rm -f conftest*
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+continue
 fi
-rm -f conftest*
+rm -f conftest.$ac_objext conftest.$ac_ext
+  cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_declaration
+int
+main ()
+{
+exit (42);
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  break
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
 fi
+rm -f conftest.$ac_objext conftest.$ac_ext
+done
 rm -f conftest*
-  ac_cv_prog_CPP="$CPP"
+if test -n "$ac_declaration"; then
+  echo '#ifdef __cplusplus' >>confdefs.h
+  echo $ac_declaration      >>confdefs.h
+  echo '#endif'             >>confdefs.h
 fi
-  CPP="$ac_cv_prog_CPP"
+
 else
-  ac_cv_prog_CPP="$CPP"
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
 fi
-echo "$ac_t""$CPP" 1>&6
+rm -f conftest.$ac_objext conftest.$ac_ext
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
 
 missing_dir=`cd $ac_aux_dir && pwd`
 for ac_prog in flex lex
 do
-# Extract the first word of "$ac_prog", so it can be a program name with args.
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1371: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_LEX'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_LEX+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   if test -n "$LEX"; then
   ac_cv_prog_LEX="$LEX" # Let the user override the test.
 else
-  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
-  ac_dummy="$PATH"
-  for ac_dir in $ac_dummy; do
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/$ac_word; then
-      ac_cv_prog_LEX="$ac_prog"
-      break
-    fi
-  done
-  IFS="$ac_save_ifs"
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_LEX="$ac_prog"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
 fi
 fi
-LEX="$ac_cv_prog_LEX"
+LEX=$ac_cv_prog_LEX
 if test -n "$LEX"; then
-  echo "$ac_t""$LEX" 1>&6
+  echo "$as_me:$LINENO: result: $LEX" >&5
+echo "${ECHO_T}$LEX" >&6
 else
-  echo "$ac_t""no" 1>&6
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
 fi
 
-test -n "$LEX" && break
+  test -n "$LEX" && break
 done
-test -n "$LEX" || LEX=""$missing_dir/missing flex""
+test -n "$LEX" || LEX="$missing_dir/missing flex"
 
-# Extract the first word of "flex", so it can be a program name with args.
-set dummy flex; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1404: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_LEX'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
+for ac_prog in flex lex
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_LEX+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   if test -n "$LEX"; then
   ac_cv_prog_LEX="$LEX" # Let the user override the test.
 else
-  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
-  ac_dummy="$PATH"
-  for ac_dir in $ac_dummy; do
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/$ac_word; then
-      ac_cv_prog_LEX="flex"
-      break
-    fi
-  done
-  IFS="$ac_save_ifs"
-  test -z "$ac_cv_prog_LEX" && ac_cv_prog_LEX="lex"
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_LEX="$ac_prog"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
 fi
 fi
-LEX="$ac_cv_prog_LEX"
+LEX=$ac_cv_prog_LEX
 if test -n "$LEX"; then
-  echo "$ac_t""$LEX" 1>&6
+  echo "$as_me:$LINENO: result: $LEX" >&5
+echo "${ECHO_T}$LEX" >&6
 else
-  echo "$ac_t""no" 1>&6
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
 fi
 
+  test -n "$LEX" && break
+done
+test -n "$LEX" || LEX=":"
+
 if test -z "$LEXLIB"
 then
-  case "$LEX" in
-  flex*) ac_lib=fl ;;
-  *) ac_lib=l ;;
-  esac
-  echo $ac_n "checking for yywrap in -l$ac_lib""... $ac_c" 1>&6
-echo "configure:1438: checking for yywrap in -l$ac_lib" >&5
-ac_lib_var=`echo $ac_lib'_'yywrap | sed 'y%./+-%__p_%'`
-if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  ac_save_LIBS="$LIBS"
-LIBS="-l$ac_lib  $LIBS"
-cat > conftest.$ac_ext <<EOF
-#line 1446 "configure"
-#include "confdefs.h"
+  echo "$as_me:$LINENO: checking for yywrap in -lfl" >&5
+echo $ECHO_N "checking for yywrap in -lfl... $ECHO_C" >&6
+if test "${ac_cv_lib_fl_yywrap+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lfl  $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
 /* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+#endif
 /* We use char because int might match the return type of a gcc2
-    builtin and then its argument prototype would still apply.  */
-char yywrap();
+   builtin and then its argument prototype would still apply.  */
+char yywrap ();
+int
+main ()
+{
+yywrap ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_lib_fl_yywrap=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_lib_fl_yywrap=no
+fi
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+echo "$as_me:$LINENO: result: $ac_cv_lib_fl_yywrap" >&5
+echo "${ECHO_T}$ac_cv_lib_fl_yywrap" >&6
+if test $ac_cv_lib_fl_yywrap = yes; then
+  LEXLIB="-lfl"
+else
+  echo "$as_me:$LINENO: checking for yywrap in -ll" >&5
+echo $ECHO_N "checking for yywrap in -ll... $ECHO_C" >&6
+if test "${ac_cv_lib_l_yywrap+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-ll  $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
 
-int main() {
-yywrap()
-; return 0; }
-EOF
-if { (eval echo configure:1457: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-  rm -rf conftest*
-  eval "ac_cv_lib_$ac_lib_var=yes"
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char yywrap ();
+int
+main ()
+{
+yywrap ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_lib_l_yywrap=yes
 else
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  eval "ac_cv_lib_$ac_lib_var=no"
-fi
-rm -f conftest*
-LIBS="$ac_save_LIBS"
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
 
+ac_cv_lib_l_yywrap=no
 fi
-if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
-  echo "$ac_t""yes" 1>&6
-  LEXLIB="-l$ac_lib"
-else
-  echo "$ac_t""no" 1>&6
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+echo "$as_me:$LINENO: result: $ac_cv_lib_l_yywrap" >&5
+echo "${ECHO_T}$ac_cv_lib_l_yywrap" >&6
+if test $ac_cv_lib_l_yywrap = yes; then
+  LEXLIB="-ll"
+fi
+
 fi
 
 fi
 
-echo $ac_n "checking lex output file root""... $ac_c" 1>&6
-echo "configure:1480: checking lex output file root" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_lex_root'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
+if test "x$LEX" != "x:"; then
+  echo "$as_me:$LINENO: checking lex output file root" >&5
+echo $ECHO_N "checking lex output file root... $ECHO_C" >&6
+if test "${ac_cv_prog_lex_root+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   # The minimal lex program is just a single line: %%.  But some broken lexes
 # (Solaris, I think it was) want two %% lines, so accommodate them.
-echo '%%
-%%' | $LEX
+cat >conftest.l <<_ACEOF
+%%
+%%
+_ACEOF
+{ (eval echo "$as_me:$LINENO: \"$LEX conftest.l\"") >&5
+  (eval $LEX conftest.l) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }
 if test -f lex.yy.c; then
   ac_cv_prog_lex_root=lex.yy
 elif test -f lexyy.c; then
   ac_cv_prog_lex_root=lexyy
 else
-  { echo "configure: error: cannot find output from $LEX; giving up" 1>&2; exit 1; }
+  { { echo "$as_me:$LINENO: error: cannot find output from $LEX; giving up" >&5
+echo "$as_me: error: cannot find output from $LEX; giving up" >&2;}
+   { (exit 1); exit 1; }; }
 fi
 fi
-
-echo "$ac_t""$ac_cv_prog_lex_root" 1>&6
+echo "$as_me:$LINENO: result: $ac_cv_prog_lex_root" >&5
+echo "${ECHO_T}$ac_cv_prog_lex_root" >&6
+rm -f conftest.l
 LEX_OUTPUT_ROOT=$ac_cv_prog_lex_root
 
-echo $ac_n "checking whether yytext is a pointer""... $ac_c" 1>&6
-echo "configure:1501: checking whether yytext is a pointer" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_lex_yytext_pointer'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
+echo "$as_me:$LINENO: checking whether yytext is a pointer" >&5
+echo $ECHO_N "checking whether yytext is a pointer... $ECHO_C" >&6
+if test "${ac_cv_prog_lex_yytext_pointer+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   # POSIX says lex can declare yytext either as a pointer or an array; the
 # default is implementation-dependent. Figure out which it is, since
 # not all implementations provide the %pointer and %array declarations.
 ac_cv_prog_lex_yytext_pointer=no
 echo 'extern char *yytext;' >>$LEX_OUTPUT_ROOT.c
-ac_save_LIBS="$LIBS"
+ac_save_LIBS=$LIBS
 LIBS="$LIBS $LEXLIB"
-cat > conftest.$ac_ext <<EOF
-#line 1513 "configure"
-#include "confdefs.h"
+cat >conftest.$ac_ext <<_ACEOF
 `cat $LEX_OUTPUT_ROOT.c`
-int main() {
-
-; return 0; }
-EOF
-if { (eval echo configure:1520: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-  rm -rf conftest*
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   ac_cv_prog_lex_yytext_pointer=yes
 else
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
 fi
-rm -f conftest*
-LIBS="$ac_save_LIBS"
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_save_LIBS
 rm -f "${LEX_OUTPUT_ROOT}.c"
 
 fi
-
-echo "$ac_t""$ac_cv_prog_lex_yytext_pointer" 1>&6
+echo "$as_me:$LINENO: result: $ac_cv_prog_lex_yytext_pointer" >&5
+echo "${ECHO_T}$ac_cv_prog_lex_yytext_pointer" >&6
 if test $ac_cv_prog_lex_yytext_pointer = yes; then
-  cat >> confdefs.h <<\EOF
+
+cat >>confdefs.h <<\_ACEOF
 #define YYTEXT_POINTER 1
-EOF
+_ACEOF
+
+fi
 
 fi
 
 for ac_prog in 'bison -y' byacc
 do
-# Extract the first word of "$ac_prog", so it can be a program name with args.
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1546: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_YACC'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_YACC+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   if test -n "$YACC"; then
   ac_cv_prog_YACC="$YACC" # Let the user override the test.
 else
-  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
-  ac_dummy="$PATH"
-  for ac_dir in $ac_dummy; do
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/$ac_word; then
-      ac_cv_prog_YACC="$ac_prog"
-      break
-    fi
-  done
-  IFS="$ac_save_ifs"
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_YACC="$ac_prog"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
 fi
 fi
-YACC="$ac_cv_prog_YACC"
+YACC=$ac_cv_prog_YACC
 if test -n "$YACC"; then
-  echo "$ac_t""$YACC" 1>&6
+  echo "$as_me:$LINENO: result: $YACC" >&5
+echo "${ECHO_T}$YACC" >&6
 else
-  echo "$ac_t""no" 1>&6
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
 fi
 
-test -n "$YACC" && break
+  test -n "$YACC" && break
 done
 test -n "$YACC" || YACC="yacc"
 
@@ -1579,126 +3029,77 @@
 # 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"
 # ./install, which can be erroneously created by make from ./install.sh.
-echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
-echo "configure:1588: checking for a BSD compatible install" >&5
+echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
+echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6
 if test -z "$INSTALL"; then
-if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
+if test "${ac_cv_path_install+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-    IFS="${IFS= 	}"; ac_save_IFS="$IFS"; IFS=":"
-  for ac_dir in $PATH; do
-    # Account for people who put trailing slashes in PATH elements.
-    case "$ac_dir/" in
-    /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
-    *)
-      # OSF1 and SCO ODT 3.0 have their own names for install.
-      # Don't use installbsd from OSF since it installs stuff as root
-      # by default.
-      for ac_prog in ginstall scoinst install; do
-        if test -f $ac_dir/$ac_prog; then
-	  if test $ac_prog = install &&
-            grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
-	    # AIX install.  It has an incompatible calling convention.
-	    :
-	  else
-	    ac_cv_path_install="$ac_dir/$ac_prog -c"
-	    break 2
-	  fi
-	fi
+  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/* | \
+  /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 $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
+          if test $ac_prog = install &&
+            grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+            # AIX install.  It has an incompatible calling convention.
+            :
+          elif test $ac_prog = install &&
+            grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+            # program-specific install script used by HP pwplus--don't use.
+            :
+          else
+            ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
+            break 3
+          fi
+        fi
       done
-      ;;
-    esac
-  done
-  IFS="$ac_save_IFS"
+    done
+    ;;
+esac
+done
+
 
 fi
   if test "${ac_cv_path_install+set}" = set; then
-    INSTALL="$ac_cv_path_install"
+    INSTALL=$ac_cv_path_install
   else
     # As a last resort, use the slow shell script.  We don't cache a
     # path for INSTALL within a source directory, because that will
     # break other packages using the cache if that directory is
     # removed, or if the path is relative.
-    INSTALL="$ac_install_sh"
+    INSTALL=$ac_install_sh
   fi
 fi
-echo "$ac_t""$INSTALL" 1>&6
+echo "$as_me:$LINENO: result: $INSTALL" >&5
+echo "${ECHO_T}$INSTALL" >&6
 
 # Use test -z because SunOS4 sh mishandles braces in ${var-val}.
 # It thinks the first close brace ends the variable substitution.
 test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
 
-test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
 
 test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
 
 
-echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6
-echo "configure:1642: checking for Cygwin environment" >&5
-if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  cat > conftest.$ac_ext <<EOF
-#line 1647 "configure"
-#include "confdefs.h"
-
-int main() {
-
-#ifndef __CYGWIN__
-#define __CYGWIN__ __CYGWIN32__
-#endif
-return __CYGWIN__;
-; return 0; }
-EOF
-if { (eval echo configure:1658: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-  rm -rf conftest*
-  ac_cv_cygwin=yes
-else
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  ac_cv_cygwin=no
-fi
-rm -f conftest*
-rm -f conftest*
-fi
-
-echo "$ac_t""$ac_cv_cygwin" 1>&6
-CYGWIN=
-test "$ac_cv_cygwin" = yes && CYGWIN=yes
-echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6
-echo "configure:1675: checking for mingw32 environment" >&5
-if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  cat > conftest.$ac_ext <<EOF
-#line 1680 "configure"
-#include "confdefs.h"
-
-int main() {
-return __MINGW32__;
-; return 0; }
-EOF
-if { (eval echo configure:1687: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-  rm -rf conftest*
-  ac_cv_mingw32=yes
-else
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  ac_cv_mingw32=no
-fi
-rm -f conftest*
-rm -f conftest*
-fi
-
-echo "$ac_t""$ac_cv_mingw32" 1>&6
-MINGW32=
-test "$ac_cv_mingw32" = yes && MINGW32=yes
 # Check whether --enable-shared or --disable-shared was given.
 if test "${enable_shared+set}" = set; then
   enableval="$enable_shared"
@@ -1720,8 +3121,7 @@
 esac
 else
   enable_shared=yes
-fi
-
+fi;
 # Check whether --enable-static or --disable-static was given.
 if test "${enable_static+set}" = set; then
   enableval="$enable_static"
@@ -1743,8 +3143,7 @@
 esac
 else
   enable_static=yes
-fi
-
+fi;
 # Check whether --enable-fast-install or --disable-fast-install was given.
 if test "${enable_fast_install+set}" = set; then
   enableval="$enable_fast_install"
@@ -1766,21 +3165,31 @@
 esac
 else
   enable_fast_install=yes
+fi;
+# Find the correct PATH separator.  Usually this is `:', but
+# DJGPP uses `;' like DOS.
+if test "X${PATH_SEPARATOR+set}" != Xset; then
+  UNAME=${UNAME-`uname 2>/dev/null`}
+  case X$UNAME in
+    *-DOS) lt_cv_sys_path_separator=';' ;;
+    *)     lt_cv_sys_path_separator=':' ;;
+  esac
+  PATH_SEPARATOR=$lt_cv_sys_path_separator
 fi
 
+
 # Check whether --with-gnu-ld or --without-gnu-ld was given.
 if test "${with_gnu_ld+set}" = set; then
   withval="$with_gnu_ld"
   test "$withval" = no || with_gnu_ld=yes
 else
   with_gnu_ld=no
-fi
-
+fi;
 ac_prog=ld
 if test "$GCC" = yes; then
   # Check if gcc -print-prog-name=ld gives a path.
-  echo $ac_n "checking for ld used by GCC""... $ac_c" 1>&6
-echo "configure:1784: checking for ld used by GCC" >&5
+  echo "$as_me:$LINENO: checking for ld used by GCC" >&5
+echo $ECHO_N "checking for ld used by GCC... $ECHO_C" >&6
   case $host in
   *-*-mingw*)
     # gcc leaves a trailing carriage return which upsets mingw
@@ -1809,17 +3218,17 @@
     ;;
   esac
 elif test "$with_gnu_ld" = yes; then
-  echo $ac_n "checking for GNU ld""... $ac_c" 1>&6
-echo "configure:1814: checking for GNU ld" >&5
+  echo "$as_me:$LINENO: checking for GNU ld" >&5
+echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6
 else
-  echo $ac_n "checking for non-GNU ld""... $ac_c" 1>&6
-echo "configure:1817: checking for non-GNU ld" >&5
+  echo "$as_me:$LINENO: checking for non-GNU ld" >&5
+echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6
 fi
-if eval "test \"`echo '$''{'lt_cv_path_LD'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
+if test "${lt_cv_path_LD+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   if test -z "$LD"; then
-  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
+  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
   for ac_dir in $PATH; do
     test -z "$ac_dir" && ac_dir=.
     if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
@@ -1842,15 +3251,19 @@
 
 LD="$lt_cv_path_LD"
 if test -n "$LD"; then
-  echo "$ac_t""$LD" 1>&6
+  echo "$as_me:$LINENO: result: $LD" >&5
+echo "${ECHO_T}$LD" >&6
 else
-  echo "$ac_t""no" 1>&6
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
 fi
-test -z "$LD" && { echo "configure: error: no acceptable ld found in \$PATH" 1>&2; exit 1; }
-echo $ac_n "checking if the linker ($LD) is GNU ld""... $ac_c" 1>&6
-echo "configure:1852: checking if the linker ($LD) is GNU ld" >&5
-if eval "test \"`echo '$''{'lt_cv_prog_gnu_ld'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
+test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5
+echo "$as_me: error: no acceptable ld found in \$PATH" >&2;}
+   { (exit 1); exit 1; }; }
+echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
+echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6
+if test "${lt_cv_prog_gnu_ld+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   # I'd rather use --version here, but apparently some GNU ld's only accept -v.
 if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
@@ -1859,33 +3272,33 @@
   lt_cv_prog_gnu_ld=no
 fi
 fi
-
-echo "$ac_t""$lt_cv_prog_gnu_ld" 1>&6
+echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5
+echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6
 with_gnu_ld=$lt_cv_prog_gnu_ld
 
 
-echo $ac_n "checking for $LD option to reload object files""... $ac_c" 1>&6
-echo "configure:1869: checking for $LD option to reload object files" >&5
-if eval "test \"`echo '$''{'lt_cv_ld_reload_flag'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
+echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5
+echo $ECHO_N "checking for $LD option to reload object files... $ECHO_C" >&6
+if test "${lt_cv_ld_reload_flag+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   lt_cv_ld_reload_flag='-r'
 fi
-
-echo "$ac_t""$lt_cv_ld_reload_flag" 1>&6
+echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5
+echo "${ECHO_T}$lt_cv_ld_reload_flag" >&6
 reload_flag=$lt_cv_ld_reload_flag
 test -n "$reload_flag" && reload_flag=" $reload_flag"
 
-echo $ac_n "checking for BSD-compatible nm""... $ac_c" 1>&6
-echo "configure:1881: checking for BSD-compatible nm" >&5
-if eval "test \"`echo '$''{'lt_cv_path_NM'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
+echo "$as_me:$LINENO: checking for BSD-compatible nm" >&5
+echo $ECHO_N "checking for BSD-compatible nm... $ECHO_C" >&6
+if test "${lt_cv_path_NM+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   if test -n "$NM"; then
   # Let the user override the test.
   lt_cv_path_NM="$NM"
 else
-  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
+  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
   for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do
     test -z "$ac_dir" && ac_dir=.
     tmp_nm=$ac_dir/${ac_tool_prefix}nm
@@ -1912,33 +3325,109 @@
 fi
 
 NM="$lt_cv_path_NM"
-echo "$ac_t""$NM" 1>&6
+echo "$as_me:$LINENO: result: $NM" >&5
+echo "${ECHO_T}$NM" >&6
+
+echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5
+echo $ECHO_N "checking for a sed that does not truncate output... $ECHO_C" >&6
+if test "${lt_cv_path_SED+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  # Loop through the user's path and test for sed and gsed.
+# Then use that list of sed's as ones to test for truncation.
+as_executable_p="test -f"
+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_prog in sed gsed; do
+    for ac_exec_ext in '' $ac_executable_extensions; do
+      if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
+        _sed_list="$_sed_list $as_dir/$ac_prog$ac_exec_ext"
+      fi
+    done
+  done
+done
+
+  # Create a temporary directory, and hook for its removal unless debugging.
+$debug ||
+{
+  trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0
+  trap '{ (exit 1); exit 1; }' 1 2 13 15
+}
+
+# Create a (secure) tmp directory for tmp files.
+: ${TMPDIR=/tmp}
+{
+  tmp=`(umask 077 && mktemp -d -q "$TMPDIR/sedXXXXXX") 2>/dev/null` &&
+  test -n "$tmp" && test -d "$tmp"
+}  ||
+{
+  tmp=$TMPDIR/sed$$-$RANDOM
+  (umask 077 && mkdir $tmp)
+} ||
+{
+   echo "$me: cannot create a temporary directory in $TMPDIR" >&2
+   { (exit 1); exit 1; }
+}
+  _max=0
+  _count=0
+  # Add /usr/xpg4/bin/sed as it is typically found on Solaris
+  # along with /bin/sed that truncates output.
+  for _sed in $_sed_list /usr/xpg4/bin/sed; do
+    test ! -f ${_sed} && break
+    cat /dev/null > "$tmp/sed.in"
+    _count=0
+    echo ${ECHO_N-$ac_n} "0123456789${ECHO_C-$ac_c}" >"$tmp/sed.in"
+    # Check for GNU sed and select it if it is found.
+    if "${_sed}" --version 2>&1 < /dev/null | egrep '(GNU)' > /dev/null; then
+      lt_cv_path_SED=${_sed}
+      break
+    fi
+    while true; do
+      cat "$tmp/sed.in" "$tmp/sed.in" >"$tmp/sed.tmp"
+      mv "$tmp/sed.tmp" "$tmp/sed.in"
+      cp "$tmp/sed.in" "$tmp/sed.nl"
+      echo >>"$tmp/sed.nl"
+      ${_sed} -e 's/a$//' < "$tmp/sed.nl" >"$tmp/sed.out" || break
+      cmp -s "$tmp/sed.out" "$tmp/sed.nl" || break
+      # 40000 chars as input seems more than enough
+      test $_count -gt 10 && break
+      _count=`expr $_count + 1`
+      if test $_count -gt $_max; then
+        _max=$_count
+        lt_cv_path_SED=$_sed
+      fi
+    done
+  done
+  rm -rf "$tmp"
 
-echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6
-echo "configure:1919: checking whether ln -s works" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_LN_S'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  rm -f conftestdata
-if ln -s X conftestdata 2>/dev/null
-then
-  rm -f conftestdata
-  ac_cv_prog_LN_S="ln -s"
-else
-  ac_cv_prog_LN_S=ln
 fi
+
+if test "X$SED" != "X"; then
+  lt_cv_path_SED=$SED
+else
+  SED=$lt_cv_path_SED
 fi
-LN_S="$ac_cv_prog_LN_S"
-if test "$ac_cv_prog_LN_S" = "ln -s"; then
-  echo "$ac_t""yes" 1>&6
+echo "$as_me:$LINENO: result: $SED" >&5
+echo "${ECHO_T}$SED" >&6
+
+echo "$as_me:$LINENO: checking whether ln -s works" >&5
+echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6
+LN_S=$as_ln_s
+if test "$LN_S" = "ln -s"; then
+  echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
 else
-  echo "$ac_t""no" 1>&6
+  echo "$as_me:$LINENO: result: no, using $LN_S" >&5
+echo "${ECHO_T}no, using $LN_S" >&6
 fi
 
-echo $ac_n "checking how to recognise dependant libraries""... $ac_c" 1>&6
-echo "configure:1940: checking how to recognise dependant libraries" >&5
-if eval "test \"`echo '$''{'lt_cv_deplibs_check_method'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
+echo "$as_me:$LINENO: checking how to recognise dependent libraries" >&5
+echo $ECHO_N "checking how to recognise dependent libraries... $ECHO_C" >&6
+if test "${lt_cv_deplibs_check_method+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   lt_cv_file_magic_cmd='$MAGIC_CMD'
 lt_cv_file_magic_test_file=
@@ -1949,7 +3438,7 @@
 # `unknown' -- same as none, but documents that we really don't know.
 # 'pass_all' -- all dependencies passed with no checks.
 # 'test_compile' -- check by making test program.
-# ['file_magic [regex]'] -- check by looking for files in library path
+# 'file_magic [[regex]]' -- check by looking for files in library path
 # which responds to the $file_magic_cmd with a given egrep regex.
 # If you have `file' or equivalent on your system and you're not sure
 # whether `pass_all' will *always* work, you probably want this one.
@@ -1978,7 +3467,7 @@
   lt_cv_deplibs_check_method='file_magic Mach-O dynamically linked shared library'
   lt_cv_file_magic_cmd='/usr/bin/file -L'
   case "$host_os" in
-  rhapsody* | darwin1.012)
+  rhapsody* | darwin1.[012])
     lt_cv_file_magic_test_file=`echo /System/Library/Frameworks/System.framework/Versions/*/System | head -1`
     ;;
   *) # Darwin 1.3 on
@@ -2013,9 +3502,9 @@
   lt_cv_file_magic_test_file=/usr/lib/libc.sl
   ;;
 
-irix5* | irix6*)
+irix5* | irix6* | nonstopux*)
   case $host_os in
-  irix5*)
+  irix5* | nonstopux*)
     # this will be overridden with pass_all, but let us keep it just in case
     lt_cv_deplibs_check_method="file_magic ELF 32-bit MSB dynamic lib MIPS - version 1"
     ;;
@@ -2037,7 +3526,7 @@
 # This must be Linux ELF.
 linux-gnu*)
   case $host_cpu in
-  alpha* | hppa* | i*86 | powerpc* | sparc* | ia64* | s390* )
+  alpha* | hppa* | i*86 | mips | mipsel | powerpc* | sparc* | ia64* | arm* | m68k)
     lt_cv_deplibs_check_method=pass_all ;;
   *)
     # glibc up to 2.1.1 does not perform some relocations on ARM
@@ -2060,6 +3549,16 @@
   lt_cv_file_magic_test_file=/usr/lib/libnls.so
   ;;
 
+openbsd*)
+  lt_cv_file_magic_cmd=/usr/bin/file
+  lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
+  if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB shared object'
+  else
+    lt_cv_deplibs_check_method='file_magic OpenBSD.* shared library'
+  fi
+  ;;
+
 osf3* | osf4* | osf5*)
   # this will be overridden with pass_all, but let us keep it just in case
   lt_cv_deplibs_check_method='file_magic COFF format alpha shared library'
@@ -2098,89 +3597,32 @@
     lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib"
     lt_cv_file_magic_test_file=/lib/libc.so
     ;;
+  siemens)
+    lt_cv_deplibs_check_method=pass_all
+    ;;
   esac
   ;;
 esac
 
 fi
-
-echo "$ac_t""$lt_cv_deplibs_check_method" 1>&6
+echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5
+echo "${ECHO_T}$lt_cv_deplibs_check_method" >&6
 file_magic_cmd=$lt_cv_file_magic_cmd
 deplibs_check_method=$lt_cv_deplibs_check_method
 
-echo $ac_n "checking for object suffix""... $ac_c" 1>&6
-echo "configure:2113: checking for object suffix" >&5
-if eval "test \"`echo '$''{'ac_cv_objext'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  rm -f conftest*
-echo 'int i = 1;' > conftest.$ac_ext
-if { (eval echo configure:2119: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-  for ac_file in conftest.*; do
-    case $ac_file in
-    *.c) ;;
-    *) ac_cv_objext=`echo $ac_file | sed -e s/conftest.//` ;;
-    esac
-  done
-else
-  { echo "configure: error: installation or configuration problem; compiler does not work" 1>&2; exit 1; }
-fi
-rm -f conftest*
-fi
-
-echo "$ac_t""$ac_cv_objext" 1>&6
-OBJEXT=$ac_cv_objext
-ac_objext=$ac_cv_objext
-
-
-
-echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
-echo "configure:2139: checking for executable suffix" >&5
-if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  if test "$CYGWIN" = yes || test "$MINGW32" = yes; then
-  ac_cv_exeext=.exe
-else
-  rm -f conftest*
-  echo 'int main () { return 0; }' > conftest.$ac_ext
-  ac_cv_exeext=
-  if { (eval echo configure:2149: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
-    for file in conftest.*; do
-      case $file in
-      *.c | *.o | *.obj) ;;
-      *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;;
-      esac
-    done
-  else
-    { echo "configure: error: installation or configuration problem: compiler cannot create executables." 1>&2; exit 1; }
-  fi
-  rm -f conftest*
-  test x"${ac_cv_exeext}" = x && ac_cv_exeext=no
-fi
-fi
 
-EXEEXT=""
-test x"${ac_cv_exeext}" != xno && EXEEXT=${ac_cv_exeext}
-echo "$ac_t""${ac_cv_exeext}" 1>&6
-ac_exeext=$EXEEXT
 
-if test $host != $build; then
-  ac_tool_prefix=${host_alias}-
-else
-  ac_tool_prefix=
-fi
 
 
 
 
 # Check for command to grab the raw symbol name followed by C symbol from nm.
-echo $ac_n "checking command to parse $NM output""... $ac_c" 1>&6
-echo "configure:2180: checking command to parse $NM output" >&5
-if eval "test \"`echo '$''{'lt_cv_sys_global_symbol_pipe'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
+echo "$as_me:$LINENO: checking command to parse $NM output" >&5
+echo $ECHO_N "checking command to parse $NM output... $ECHO_C" >&6
+if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  
+
 # These are sane defaults that work on at least a few old systems.
 # [They come from Ultrix.  What could be older than Ultrix?!! ;)]
 
@@ -2196,6 +3638,9 @@
 # Transform an extracted symbol line into a proper C declaration
 lt_cv_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern char \1;/p'"
 
+# Transform an extracted symbol line into symbol name and symbol address
+lt_cv_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/  {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([^ ]*\) \([^ ]*\)$/  {\"\2\", (lt_ptr) \&\2},/p'"
+
 # Define system-specific variables.
 case $host_os in
 aix*)
@@ -2206,10 +3651,14 @@
   ;;
 hpux*) # Its linker distinguishes data from code symbols
   lt_cv_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern char \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
+  lt_cv_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/  {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/  {\"\2\", (lt_ptr) \&\2},/p'"
   ;;
-irix*)
+irix* | nonstopux*)
   symcode='[BCDEGRST]'
   ;;
+osf*)
+  symcode='[BCDEGQRST]'
+  ;;
 solaris* | sysv5*)
   symcode='[BDT]'
   ;;
@@ -2252,10 +3701,18 @@
 int main(){nm_test_var='a';nm_test_func();return(0);}
 EOF
 
-  if { (eval echo configure:2256: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+  if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
     # Now try to grab the symbols.
     nlist=conftest.nm
-    if { (eval echo configure:2259: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\") 1>&5; (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5; } && test -s "$nlist"; then
+    if { (eval echo "$as_me:$LINENO: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\"") >&5
+  (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && test -s "$nlist"; then
       # Try sorting and uniquifying the output.
       if sort "$nlist" | uniq > "$nlist"T; then
 	mv -f "$nlist"T "$nlist"
@@ -2277,23 +3734,23 @@
 
 	  cat <<EOF >> conftest.$ac_ext
 #if defined (__STDC__) && __STDC__
-# define lt_ptr_t void *
+# define lt_ptr void *
 #else
-# define lt_ptr_t char *
+# define lt_ptr char *
 # define const
 #endif
 
 /* The mapping between symbol names and symbols. */
 const struct {
   const char *name;
-  lt_ptr_t address;
+  lt_ptr address;
 }
 lt_preloaded_symbols[] =
 {
 EOF
-	  sed "s/^$symcode$symcode* \(.*\) \(.*\)$/  {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" >> conftest.$ac_ext
+	  sed "s/^$symcode$symcode* \(.*\) \(.*\)$/  {\"\2\", (lt_ptr) \&\2},/" < "$nlist" >> conftest.$ac_ext
 	  cat <<\EOF >> conftest.$ac_ext
-  {0, (lt_ptr_t) 0}
+  {0, (lt_ptr) 0}
 };
 
 #ifdef __cplusplus
@@ -2306,7 +3763,11 @@
 	  save_CFLAGS="$CFLAGS"
 	  LIBS="conftstm.$ac_objext"
 	  CFLAGS="$CFLAGS$no_builtin_flag"
-	  if { (eval echo configure:2310: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+	  if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && test -s conftest$ac_exeext; then
 	    pipe_works=yes
 	  fi
 	  LIBS="$save_LIBS"
@@ -2339,84 +3800,665 @@
 global_symbol_pipe="$lt_cv_sys_global_symbol_pipe"
 if test -z "$lt_cv_sys_global_symbol_pipe"; then
   global_symbol_to_cdecl=
+  global_symbol_to_c_name_address=
 else
   global_symbol_to_cdecl="$lt_cv_global_symbol_to_cdecl"
+  global_symbol_to_c_name_address="$lt_cv_global_symbol_to_c_name_address"
 fi
-if test -z "$global_symbol_pipe$global_symbol_to_cdecl"; then
-  echo "$ac_t""failed" 1>&6
+if test -z "$global_symbol_pipe$global_symbol_to_cdec$global_symbol_to_c_name_address";
+then
+  echo "$as_me:$LINENO: result: failed" >&5
+echo "${ECHO_T}failed" >&6
 else
-  echo "$ac_t""ok" 1>&6
+  echo "$as_me:$LINENO: result: ok" >&5
+echo "${ECHO_T}ok" >&6
 fi
 
-for ac_hdr in dlfcn.h
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5
+echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6
+# On Suns, sometimes $CPP names a directory.
+if test -n "$CPP" && test -d "$CPP"; then
+  CPP=
+fi
+if test -z "$CPP"; then
+  if test "${ac_cv_prog_CPP+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&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
-ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
-echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:2356: checking for $ac_hdr" >&5
-if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
+  # Use a header file that comes with gcc, so configuring glibc
+  # with a fresh cross-compiler works.
+  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+  # <limits.h> exists even on freestanding compilers.
+  # On the NeXT, cc -E runs the code through the compiler's parser,
+  # not just through cpp. "Syntax error" is here to catch this case.
+  cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+                     Syntax error
+_ACEOF
+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_c_preproc_warn_flag
+  else
+    ac_cpp_err=
+  fi
 else
-  cat > conftest.$ac_ext <<EOF
-#line 2361 "configure"
-#include "confdefs.h"
-#include <$ac_hdr>
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2366: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
-if test -z "$ac_err"; then
-  rm -rf conftest*
-  eval "ac_cv_header_$ac_safe=yes"
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
+  :
 else
-  echo "$ac_err" >&5
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  eval "ac_cv_header_$ac_safe=no"
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  # Broken: fails on valid input.
+continue
 fi
-rm -f conftest*
+rm -f conftest.err conftest.$ac_ext
+
+  # OK, works on sane cases.  Now check whether non-existent headers
+  # can be detected and how.
+  cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <ac_nonexistent.h>
+_ACEOF
+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_c_preproc_warn_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
 fi
-if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
-  echo "$ac_t""yes" 1>&6
-    ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
-  cat >> confdefs.h <<EOF
-#define $ac_tr_hdr 1
-EOF
- 
+if test -z "$ac_cpp_err"; then
+  # Broken: success on invalid input.
+continue
 else
-  echo "$ac_t""no" 1>&6
+  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
+echo "$as_me:$LINENO: result: $CPP" >&5
+echo "${ECHO_T}$CPP" >&6
+ac_preproc_ok=false
+for ac_c_preproc_warn_flag in '' yes
+do
+  # Use a header file that comes with gcc, so configuring glibc
+  # with a fresh cross-compiler works.
+  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+  # <limits.h> exists even on freestanding compilers.
+  # On the NeXT, cc -E runs the code through the compiler's parser,
+  # not just through cpp. "Syntax error" is here to catch this case.
+  cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+                     Syntax error
+_ACEOF
+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_c_preproc_warn_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
+  :
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
 
+  # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.$ac_ext
 
+  # OK, works on sane cases.  Now check whether non-existent headers
+  # can be detected and how.
+  cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <ac_nonexistent.h>
+_ACEOF
+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_c_preproc_warn_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
+  # Broken: success on invalid input.
+continue
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
 
+  # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.$ac_ext
 
-# Only perform the check for file, if the check method requires it
-case $deplibs_check_method in
-file_magic*)
-  if test "$file_magic_cmd" = '$MAGIC_CMD'; then
-    echo $ac_n "checking for ${ac_tool_prefix}file""... $ac_c" 1>&6
-echo "configure:2401: checking for ${ac_tool_prefix}file" >&5
-if eval "test \"`echo '$''{'lt_cv_path_MAGIC_CMD'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
+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
-  case $MAGIC_CMD in
-  /*)
-  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
-  ;;
-  ?:/*)
-  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a dos path.
-  ;;
-  *)
-  ac_save_MAGIC_CMD="$MAGIC_CMD"
-  IFS="${IFS=   }"; ac_save_ifs="$IFS"; IFS=":"
-  ac_dummy="/usr/bin:$PATH"
-  for ac_dir in $ac_dummy; do
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/${ac_tool_prefix}file; then
-      lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file"
-      if test -n "$file_magic_test_file"; then
+  { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details." >&5
+echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+echo "$as_me:$LINENO: checking for egrep" >&5
+echo $ECHO_N "checking for egrep... $ECHO_C" >&6
+if test "${ac_cv_prog_egrep+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if echo a | (grep -E '(a|b)') >/dev/null 2>&1
+    then ac_cv_prog_egrep='grep -E'
+    else ac_cv_prog_egrep='egrep'
+    fi
+fi
+echo "$as_me:$LINENO: result: $ac_cv_prog_egrep" >&5
+echo "${ECHO_T}$ac_cv_prog_egrep" >&6
+ EGREP=$ac_cv_prog_egrep
+
+
+echo "$as_me:$LINENO: checking for ANSI C header files" >&5
+echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6
+if test "${ac_cv_header_stdc+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <stdlib.h>
+#include <stdarg.h>
+#include <string.h>
+#include <float.h>
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_header_stdc=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_header_stdc=no
+fi
+rm -f conftest.$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
+#line $LINENO "configure"
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <string.h>
+
+_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
+#line $LINENO "configure"
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <stdlib.h>
+
+_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
+#line $LINENO "configure"
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <ctype.h>
+#if ((' ' & 0x0FF) == 0x020)
+# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
+# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
+#else
+# define ISLOWER(c) \
+                   (('a' <= (c) && (c) <= 'i') \
+                     || ('j' <= (c) && (c) <= 'r') \
+                     || ('s' <= (c) && (c) <= 'z'))
+# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
+#endif
+
+#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
+int
+main ()
+{
+  int i;
+  for (i = 0; i < 256; i++)
+    if (XOR (islower (i), ISLOWER (i))
+        || toupper (i) != TOUPPER (i))
+      exit(2);
+  exit (0);
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  :
+else
+  echo "$as_me: program exited with status $ac_status" >&5
+echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+ac_cv_header_stdc=no
+fi
+rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+fi
+fi
+echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
+echo "${ECHO_T}$ac_cv_header_stdc" >&6
+if test $ac_cv_header_stdc = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STDC_HEADERS 1
+_ACEOF
+
+fi
+
+# On IRIX 5.3, sys/types and inttypes.h are conflicting.
+
+
+
+
+
+
+
+
+
+for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
+                  inttypes.h stdint.h unistd.h
+do
+as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+if eval "test \"\${$as_ac_Header+set}\" = set"; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+
+#include <$ac_header>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  eval "$as_ac_Header=yes"
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+eval "$as_ac_Header=no"
+fi
+rm -f conftest.$ac_objext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
+echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+if test `eval echo '${'$as_ac_Header'}'` = yes; then
+  cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+
+for ac_header in dlfcn.h
+do
+as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+if eval "test \"\${$as_ac_Header+set}\" = set"; then
+  echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+if eval "test \"\${$as_ac_Header+set}\" = set"; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+fi
+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
+echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+else
+  # Is the header compilable?
+echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+#include <$ac_header>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_header_compiler=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_header_compiler=no
+fi
+rm -f conftest.$ac_objext conftest.$ac_ext
+echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6
+
+# Is the header present?
+echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
+cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <$ac_header>
+_ACEOF
+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_c_preproc_warn_flag
+  else
+    ac_cpp_err=
+  fi
+else
+  ac_cpp_err=yes
+fi
+if test -z "$ac_cpp_err"; then
+  ac_header_preproc=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  ac_header_preproc=no
+fi
+rm -f conftest.err conftest.$ac_ext
+echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6
+
+# So?  What about this header?
+case $ac_header_compiler:$ac_header_preproc in
+  yes:no )
+    { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
+echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
+    (
+      cat <<\_ASBOX
+## ------------------------------------ ##
+## Report this to bug-autoconf@gnu.org. ##
+## ------------------------------------ ##
+_ASBOX
+    ) |
+      sed "s/^/$as_me: WARNING:     /" >&2
+    ;;
+  no:yes )
+    { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
+echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
+    (
+      cat <<\_ASBOX
+## ------------------------------------ ##
+## Report this to bug-autoconf@gnu.org. ##
+## ------------------------------------ ##
+_ASBOX
+    ) |
+      sed "s/^/$as_me: WARNING:     /" >&2
+    ;;
+esac
+echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
+if eval "test \"\${$as_ac_Header+set}\" = set"; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  eval "$as_ac_Header=$ac_header_preproc"
+fi
+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
+echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+
+fi
+if test `eval echo '${'$as_ac_Header'}'` = yes; then
+  cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+
+
+
+
+# Only perform the check for file, if the check method requires it
+case $deplibs_check_method in
+file_magic*)
+  if test "$file_magic_cmd" = '$MAGIC_CMD'; then
+    echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5
+echo $ECHO_N "checking for ${ac_tool_prefix}file... $ECHO_C" >&6
+if test "${lt_cv_path_MAGIC_CMD+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  case $MAGIC_CMD in
+  /*)
+  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
+  ;;
+  ?:/*)
+  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a dos path.
+  ;;
+  *)
+  ac_save_MAGIC_CMD="$MAGIC_CMD"
+  IFS="${IFS=   }"; ac_save_ifs="$IFS"; IFS=":"
+  ac_dummy="/usr/bin:$PATH"
+  for ac_dir in $ac_dummy; do
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/${ac_tool_prefix}file; then
+      lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file"
+      if test -n "$file_magic_test_file"; then
 	case $deplibs_check_method in
 	"file_magic "*)
 	  file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`"
@@ -2451,17 +4493,19 @@
 
 MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
 if test -n "$MAGIC_CMD"; then
-  echo "$ac_t""$MAGIC_CMD" 1>&6
+  echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
+echo "${ECHO_T}$MAGIC_CMD" >&6
 else
-  echo "$ac_t""no" 1>&6
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
 fi
 
 if test -z "$lt_cv_path_MAGIC_CMD"; then
   if test -n "$ac_tool_prefix"; then
-    echo $ac_n "checking for file""... $ac_c" 1>&6
-echo "configure:2463: checking for file" >&5
-if eval "test \"`echo '$''{'lt_cv_path_MAGIC_CMD'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
+    echo "$as_me:$LINENO: checking for file" >&5
+echo $ECHO_N "checking for file... $ECHO_C" >&6
+if test "${lt_cv_path_MAGIC_CMD+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   case $MAGIC_CMD in
   /*)
@@ -2513,9 +4557,11 @@
 
 MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
 if test -n "$MAGIC_CMD"; then
-  echo "$ac_t""$MAGIC_CMD" 1>&6
+  echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
+echo "${ECHO_T}$MAGIC_CMD" >&6
 else
-  echo "$ac_t""no" 1>&6
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
 fi
 
   else
@@ -2527,138 +4573,164 @@
   ;;
 esac
 
-# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
 set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2534: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_RANLIB+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   if test -n "$RANLIB"; then
   ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
 else
-  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
-  ac_dummy="$PATH"
-  for ac_dir in $ac_dummy; do
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/$ac_word; then
-      ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
-      break
-    fi
-  done
-  IFS="$ac_save_ifs"
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
 fi
 fi
-RANLIB="$ac_cv_prog_RANLIB"
+RANLIB=$ac_cv_prog_RANLIB
 if test -n "$RANLIB"; then
-  echo "$ac_t""$RANLIB" 1>&6
+  echo "$as_me:$LINENO: result: $RANLIB" >&5
+echo "${ECHO_T}$RANLIB" >&6
 else
-  echo "$ac_t""no" 1>&6
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
 fi
 
-
+fi
 if test -z "$ac_cv_prog_RANLIB"; then
-if test -n "$ac_tool_prefix"; then
+  ac_ct_RANLIB=$RANLIB
   # Extract the first word of "ranlib", so it can be a program name with args.
 set dummy ranlib; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2566: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  if test -n "$RANLIB"; then
-  ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+  if test -n "$ac_ct_RANLIB"; then
+  ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
 else
-  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
-  ac_dummy="$PATH"
-  for ac_dir in $ac_dummy; do
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/$ac_word; then
-      ac_cv_prog_RANLIB="ranlib"
-      break
-    fi
-  done
-  IFS="$ac_save_ifs"
-  test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":"
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_RANLIB="ranlib"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+  test -z "$ac_cv_prog_ac_ct_RANLIB" && ac_cv_prog_ac_ct_RANLIB=":"
 fi
 fi
-RANLIB="$ac_cv_prog_RANLIB"
-if test -n "$RANLIB"; then
-  echo "$ac_t""$RANLIB" 1>&6
+ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
+if test -n "$ac_ct_RANLIB"; then
+  echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5
+echo "${ECHO_T}$ac_ct_RANLIB" >&6
 else
-  echo "$ac_t""no" 1>&6
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
 fi
 
+  RANLIB=$ac_ct_RANLIB
 else
-  RANLIB=":"
-fi
+  RANLIB="$ac_cv_prog_RANLIB"
 fi
 
-# Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
+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
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2601: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_STRIP'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_STRIP+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   if test -n "$STRIP"; then
   ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
 else
-  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
-  ac_dummy="$PATH"
-  for ac_dir in $ac_dummy; do
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/$ac_word; then
-      ac_cv_prog_STRIP="${ac_tool_prefix}strip"
-      break
-    fi
-  done
-  IFS="$ac_save_ifs"
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
 fi
 fi
-STRIP="$ac_cv_prog_STRIP"
+STRIP=$ac_cv_prog_STRIP
 if test -n "$STRIP"; then
-  echo "$ac_t""$STRIP" 1>&6
+  echo "$as_me:$LINENO: result: $STRIP" >&5
+echo "${ECHO_T}$STRIP" >&6
 else
-  echo "$ac_t""no" 1>&6
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
 fi
 
-
+fi
 if test -z "$ac_cv_prog_STRIP"; then
-if test -n "$ac_tool_prefix"; 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
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2633: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_STRIP'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  if test -n "$STRIP"; then
-  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
+  if test -n "$ac_ct_STRIP"; then
+  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
 else
-  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
-  ac_dummy="$PATH"
-  for ac_dir in $ac_dummy; do
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/$ac_word; then
-      ac_cv_prog_STRIP="strip"
-      break
-    fi
-  done
-  IFS="$ac_save_ifs"
-  test -z "$ac_cv_prog_STRIP" && ac_cv_prog_STRIP=":"
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_STRIP="strip"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
+  test -z "$ac_cv_prog_ac_ct_STRIP" && ac_cv_prog_ac_ct_STRIP=":"
 fi
 fi
-STRIP="$ac_cv_prog_STRIP"
-if test -n "$STRIP"; then
-  echo "$ac_t""$STRIP" 1>&6
+ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
+if test -n "$ac_ct_STRIP"; then
+  echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
+echo "${ECHO_T}$ac_ct_STRIP" >&6
 else
-  echo "$ac_t""no" 1>&6
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
 fi
 
+  STRIP=$ac_ct_STRIP
 else
-  STRIP=":"
-fi
+  STRIP="$ac_cv_prog_STRIP"
 fi
 
 
@@ -2668,9 +4740,8 @@
 # Check whether --enable-libtool-lock or --disable-libtool-lock was given.
 if test "${enable_libtool_lock+set}" = set; then
   enableval="$enable_libtool_lock"
-  :
-fi
 
+fi;
 test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
 
 # Some flags need to be propagated to the compiler or linker for good
@@ -2678,8 +4749,12 @@
 case $host in
 *-*-irix6*)
   # Find out which ABI we are using.
-  echo '#line 2682 "configure"' > conftest.$ac_ext
-  if { (eval echo configure:2683: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+  echo '#line 4752 "configure"' > conftest.$ac_ext
+  if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
     case `/usr/bin/file conftest.$ac_objext` in
     *32-bit*)
       LD="${LD-ld} -32"
@@ -2699,47 +4774,64 @@
   # On SCO OpenServer 5, we need -belf to get full-featured binaries.
   SAVE_CFLAGS="$CFLAGS"
   CFLAGS="$CFLAGS -belf"
-  echo $ac_n "checking whether the C compiler needs -belf""... $ac_c" 1>&6
-echo "configure:2704: checking whether the C compiler needs -belf" >&5
-if eval "test \"`echo '$''{'lt_cv_cc_needs_belf'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
+  echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5
+echo $ECHO_N "checking whether the C compiler needs -belf... $ECHO_C" >&6
+if test "${lt_cv_cc_needs_belf+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  
+
+
      ac_ext=c
-# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
 ac_cpp='$CPP $CPPFLAGS'
-ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
-ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
-cross_compiling=$ac_cv_prog_cc_cross
+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
+
+     cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
 
-     cat > conftest.$ac_ext <<EOF
-#line 2717 "configure"
-#include "confdefs.h"
-
-int main() {
+int
+main ()
+{
 
-; return 0; }
-EOF
-if { (eval echo configure:2724: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-  rm -rf conftest*
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   lt_cv_cc_needs_belf=yes
 else
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  lt_cv_cc_needs_belf=no
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+lt_cv_cc_needs_belf=no
 fi
-rm -f conftest*
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
      ac_ext=c
-# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
 ac_cpp='$CPP $CPPFLAGS'
-ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
-ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
-cross_compiling=$ac_cv_prog_cc_cross
+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
 
 fi
-
-echo "$ac_t""$lt_cv_cc_needs_belf" 1>&6
+echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5
+echo "${ECHO_T}$lt_cv_cc_needs_belf" >&6
   if test x"$lt_cv_cc_needs_belf" != x"yes"; then
     # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
     CFLAGS="$SAVE_CFLAGS"
@@ -2824,16 +4916,23 @@
 old_postuninstall_cmds=
 
 if test -n "$RANLIB"; then
+  case $host_os in
+  openbsd*)
+    old_postinstall_cmds="\$RANLIB -t \$oldlib~$old_postinstall_cmds"
+    ;;
+  *)
+    old_postinstall_cmds="\$RANLIB \$oldlib~$old_postinstall_cmds"
+    ;;
+  esac
   old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
-  old_postinstall_cmds="\$RANLIB \$oldlib~$old_postinstall_cmds"
 fi
 
 # Allow CC to be a program name with arguments.
 set dummy $CC
 compiler="$2"
 
-echo $ac_n "checking for objdir""... $ac_c" 1>&6
-echo "configure:2837: checking for objdir" >&5
+echo "$as_me:$LINENO: checking for objdir" >&5
+echo $ECHO_N "checking for objdir... $ECHO_C" >&6
 rm -f .libs 2>/dev/null
 mkdir .libs 2>/dev/null
 if test -d .libs; then
@@ -2843,7 +4942,9 @@
   objdir=_libs
 fi
 rmdir .libs 2>/dev/null
-echo "$ac_t""$objdir" 1>&6
+echo "$as_me:$LINENO: result: $objdir" >&5
+echo "${ECHO_T}$objdir" >&6
+
 
 
 # Check whether --with-pic or --without-pic was given.
@@ -2852,17 +4953,16 @@
   pic_mode="$withval"
 else
   pic_mode=default
-fi
-
+fi;
 test -z "$pic_mode" && pic_mode=default
 
 # We assume here that the value for lt_cv_prog_cc_pic will not be cached
 # in isolation, and that seeing it set (from the cache) indicates that
 # the associated values are set (in the cache) correctly too.
-echo $ac_n "checking for $compiler option to produce PIC""... $ac_c" 1>&6
-echo "configure:2864: checking for $compiler option to produce PIC" >&5
-if eval "test \"`echo '$''{'lt_cv_prog_cc_pic'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
+echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
+echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6
+if test "${lt_cv_prog_cc_pic+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
 else
    lt_cv_prog_cc_pic=
   lt_cv_prog_cc_shlib=
@@ -2882,7 +4982,7 @@
       # libC (AIX C++ library), which obviously doesn't included in libraries
       # list by gcc. This cause undefined symbols with -static flags.
       # This hack allows C programs to be linked with "-static -ldl", but
-      # we not sure about C++ programs.
+      # not sure about C++ programs.
       lt_cv_prog_cc_static="$lt_cv_prog_cc_static ${lt_cv_prog_cc_wl}-lC"
       ;;
     amigaos*)
@@ -2891,7 +4991,7 @@
       # like `-m68040'.
       lt_cv_prog_cc_pic='-m68020 -resident32 -malways-restore-a4'
       ;;
-    beos* | irix5* | irix6* | osf3* | osf4* | osf5*)
+    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
       # PIC is the default for these OSes.
       ;;
     darwin* | rhapsody*)
@@ -2917,13 +5017,13 @@
     # PORTME Check for PIC flags for the system compiler.
     case $host_os in
     aix3* | aix4* | aix5*)
+      lt_cv_prog_cc_wl='-Wl,'
       # All AIX code is PIC.
       if test "$host_cpu" = ia64; then
-        # AIX 5 now supports IA64 processor
-        lt_cv_prog_cc_static='-Bstatic'
-        lt_cv_prog_cc_wl='-Wl,'
+	# AIX 5 now supports IA64 processor
+	lt_cv_prog_cc_static='-Bstatic'
       else
-        lt_cv_prog_cc_static='-bnso -bI:/lib/syscalls.exp'
+	lt_cv_prog_cc_static='-bnso -bI:/lib/syscalls.exp'
       fi
       ;;
 
@@ -2934,7 +5034,7 @@
       lt_cv_prog_cc_pic='+Z'
       ;;
 
-    irix5* | irix6*)
+    irix5* | irix6* | nonstopux*)
       lt_cv_prog_cc_wl='-Wl,'
       lt_cv_prog_cc_static='-non_shared'
       # PIC (with -KPIC) is the default.
@@ -2978,11 +5078,7 @@
     sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
       lt_cv_prog_cc_pic='-KPIC'
       lt_cv_prog_cc_static='-Bstatic'
-      if test "x$host_vendor" = xsni; then
-        lt_cv_prog_cc_wl='-LD'
-      else
-        lt_cv_prog_cc_wl='-Wl,'
-      fi
+      lt_cv_prog_cc_wl='-Wl,'
       ;;
 
     uts4*)
@@ -3006,28 +5102,48 @@
 fi
 
 if test -z "$lt_cv_prog_cc_pic"; then
-  echo "$ac_t""none" 1>&6
+  echo "$as_me:$LINENO: result: none" >&5
+echo "${ECHO_T}none" >&6
 else
-  echo "$ac_t""$lt_cv_prog_cc_pic" 1>&6
+  echo "$as_me:$LINENO: result: $lt_cv_prog_cc_pic" >&5
+echo "${ECHO_T}$lt_cv_prog_cc_pic" >&6
 
   # Check to make sure the pic_flag actually works.
-  echo $ac_n "checking if $compiler PIC flag $lt_cv_prog_cc_pic works""... $ac_c" 1>&6
-echo "configure:3016: checking if $compiler PIC flag $lt_cv_prog_cc_pic works" >&5
-  if eval "test \"`echo '$''{'lt_cv_prog_cc_pic_works'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
+  echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_cv_prog_cc_pic works" >&5
+echo $ECHO_N "checking if $compiler PIC flag $lt_cv_prog_cc_pic works... $ECHO_C" >&6
+  if test "${lt_cv_prog_cc_pic_works+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
 else
       save_CFLAGS="$CFLAGS"
     CFLAGS="$CFLAGS $lt_cv_prog_cc_pic -DPIC"
-    cat > conftest.$ac_ext <<EOF
-#line 3023 "configure"
-#include "confdefs.h"
+    cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
 
-int main() {
+int
+main ()
+{
 
-; return 0; }
-EOF
-if { (eval echo configure:3030: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-  rm -rf conftest*
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
         case $host_os in
       hpux9* | hpux10* | hpux11*)
 	# On HP-UX, both CC and GCC only warn that PIC is supported... then
@@ -3043,17 +5159,17 @@
 	lt_cv_prog_cc_pic_works=yes
 	;;
       esac
-    
+
 else
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-        lt_cv_prog_cc_pic_works=no
-    
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+      lt_cv_prog_cc_pic_works=no
+
 fi
-rm -f conftest*
+rm -f conftest.$ac_objext conftest.$ac_ext
     CFLAGS="$save_CFLAGS"
-  
+
 fi
 
 
@@ -3064,43 +5180,65 @@
     lt_cv_prog_cc_pic=" $lt_cv_prog_cc_pic"
   fi
 
-  echo "$ac_t""$lt_cv_prog_cc_pic_works" 1>&6
+  echo "$as_me:$LINENO: result: $lt_cv_prog_cc_pic_works" >&5
+echo "${ECHO_T}$lt_cv_prog_cc_pic_works" >&6
 fi
 
 # Check for any special shared library compilation flags.
 if test -n "$lt_cv_prog_cc_shlib"; then
-  echo "configure: warning: \`$CC' requires \`$lt_cv_prog_cc_shlib' to build shared libraries" 1>&2
+  { echo "$as_me:$LINENO: WARNING: \`$CC' requires \`$lt_cv_prog_cc_shlib' to build shared libraries" >&5
+echo "$as_me: WARNING: \`$CC' requires \`$lt_cv_prog_cc_shlib' to build shared libraries" >&2;}
   if echo "$old_CC $old_CFLAGS " | egrep -e "[ 	]$lt_cv_prog_cc_shlib[ 	]" >/dev/null; then :
   else
-   echo "configure: warning: add \`$lt_cv_prog_cc_shlib' to the CC or CFLAGS env variable and reconfigure" 1>&2
+   { echo "$as_me:$LINENO: WARNING: add \`$lt_cv_prog_cc_shlib' to the CC or CFLAGS env variable and reconfigure" >&5
+echo "$as_me: WARNING: add \`$lt_cv_prog_cc_shlib' to the CC or CFLAGS env variable and reconfigure" >&2;}
     lt_cv_prog_cc_can_build_shared=no
   fi
 fi
 
-echo $ac_n "checking if $compiler static flag $lt_cv_prog_cc_static works""... $ac_c" 1>&6
-echo "configure:3082: checking if $compiler static flag $lt_cv_prog_cc_static works" >&5
-if eval "test \"`echo '$''{'lt_cv_prog_cc_static_works'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
+echo "$as_me:$LINENO: checking if $compiler static flag $lt_cv_prog_cc_static works" >&5
+echo $ECHO_N "checking if $compiler static flag $lt_cv_prog_cc_static works... $ECHO_C" >&6
+if test "${lt_cv_prog_cc_static_works+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
 else
     lt_cv_prog_cc_static_works=no
   save_LDFLAGS="$LDFLAGS"
   LDFLAGS="$LDFLAGS $lt_cv_prog_cc_static"
-  cat > conftest.$ac_ext <<EOF
-#line 3090 "configure"
-#include "confdefs.h"
+  cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
 
-int main() {
+int
+main ()
+{
 
-; return 0; }
-EOF
-if { (eval echo configure:3097: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-  rm -rf conftest*
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
   lt_cv_prog_cc_static_works=yes
 else
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
 fi
-rm -f conftest*
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
   LDFLAGS="$save_LDFLAGS"
 
 fi
@@ -3108,7 +5246,8 @@
 
 # Belt *and* braces to stop my trousers falling down:
 test "X$lt_cv_prog_cc_static_works" = Xno && lt_cv_prog_cc_static=
-echo "$ac_t""$lt_cv_prog_cc_static_works" 1>&6
+echo "$as_me:$LINENO: result: $lt_cv_prog_cc_static_works" >&5
+echo "${ECHO_T}$lt_cv_prog_cc_static_works" >&6
 
 pic_flag="$lt_cv_prog_cc_pic"
 special_shlib_compile_flags="$lt_cv_prog_cc_shlib"
@@ -3119,12 +5258,12 @@
 
 
 # Check to see if options -o and -c are simultaneously supported by compiler
-echo $ac_n "checking if $compiler supports -c -o file.$ac_objext""... $ac_c" 1>&6
-echo "configure:3124: checking if $compiler supports -c -o file.$ac_objext" >&5
-if eval "test \"`echo '$''{'lt_cv_compiler_c_o'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
+echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
+echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6
+if test "${lt_cv_compiler_c_o+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  
+
 $rm -r conftest 2>/dev/null
 mkdir conftest
 cd conftest
@@ -3139,7 +5278,7 @@
 save_CFLAGS="$CFLAGS"
 CFLAGS="$CFLAGS -o out/conftest2.$ac_objext"
 compiler_c_o=no
-if { (eval echo configure:3143: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>out/conftest.err; } && test -s out/conftest2.$ac_objext; then
+if { (eval echo configure:5281: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>out/conftest.err; } && test -s out/conftest2.$ac_objext; then
   # The compiler can only warn and ignore the option if not recognized
   # So say no if there are warnings
   if test -s out/conftest.err; then
@@ -3163,29 +5302,50 @@
 fi
 
 compiler_c_o=$lt_cv_compiler_c_o
-echo "$ac_t""$compiler_c_o" 1>&6
+echo "$as_me:$LINENO: result: $compiler_c_o" >&5
+echo "${ECHO_T}$compiler_c_o" >&6
 
 if test x"$compiler_c_o" = x"yes"; then
   # Check to see if we can write to a .lo
-  echo $ac_n "checking if $compiler supports -c -o file.lo""... $ac_c" 1>&6
-echo "configure:3172: checking if $compiler supports -c -o file.lo" >&5
-  if eval "test \"`echo '$''{'lt_cv_compiler_o_lo'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
+  echo "$as_me:$LINENO: checking if $compiler supports -c -o file.lo" >&5
+echo $ECHO_N "checking if $compiler supports -c -o file.lo... $ECHO_C" >&6
+  if test "${lt_cv_compiler_o_lo+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  
+
   lt_cv_compiler_o_lo=no
   save_CFLAGS="$CFLAGS"
   CFLAGS="$CFLAGS -c -o conftest.lo"
-  cat > conftest.$ac_ext <<EOF
-#line 3181 "configure"
-#include "confdefs.h"
+  save_objext="$ac_objext"
+  ac_objext=lo
+  cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
 
-int main() {
+int
+main ()
+{
 int some_variable = 0;
-; return 0; }
-EOF
-if { (eval echo configure:3188: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-  rm -rf conftest*
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
       # The compiler can only warn and ignore the option if not recognized
     # So say no if there are warnings
     if test -s conftest.err; then
@@ -3193,18 +5353,21 @@
     else
       lt_cv_compiler_o_lo=yes
     fi
-  
+
 else
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
 fi
-rm -f conftest*
+rm -f conftest.$ac_objext conftest.$ac_ext
+  ac_objext="$save_objext"
   CFLAGS="$save_CFLAGS"
-  
+
 fi
 
   compiler_o_lo=$lt_cv_compiler_o_lo
-  echo "$ac_t""$compiler_o_lo" 1>&6
+  echo "$as_me:$LINENO: result: $compiler_o_lo" >&5
+echo "${ECHO_T}$compiler_o_lo" >&6
 else
   compiler_o_lo=no
 fi
@@ -3213,17 +5376,19 @@
 hard_links="nottested"
 if test "$compiler_c_o" = no && test "$need_locks" != no; then
   # do not overwrite the value of need_locks provided by the user
-  echo $ac_n "checking if we can lock with hard links""... $ac_c" 1>&6
-echo "configure:3218: checking if we can lock with hard links" >&5
+  echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
+echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6
   hard_links=yes
   $rm conftest*
   ln conftest.a conftest.b 2>/dev/null && hard_links=no
   touch conftest.a
   ln conftest.a conftest.b 2>&5 || hard_links=no
   ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  echo "$ac_t""$hard_links" 1>&6
+  echo "$as_me:$LINENO: result: $hard_links" >&5
+echo "${ECHO_T}$hard_links" >&6
   if test "$hard_links" = no; then
-    echo "configure: warning: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" 1>&2
+    { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
+echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
     need_locks=warn
   fi
 else
@@ -3232,22 +5397,40 @@
 
 if test "$GCC" = yes; then
   # Check to see if options -fno-rtti -fno-exceptions are supported by compiler
-  echo $ac_n "checking if $compiler supports -fno-rtti -fno-exceptions""... $ac_c" 1>&6
-echo "configure:3237: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
+  echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
+echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6
   echo "int some_variable = 0;" > conftest.$ac_ext
   save_CFLAGS="$CFLAGS"
   CFLAGS="$CFLAGS -fno-rtti -fno-exceptions -c conftest.$ac_ext"
   compiler_rtti_exceptions=no
-  cat > conftest.$ac_ext <<EOF
-#line 3243 "configure"
-#include "confdefs.h"
+  cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
 
-int main() {
+int
+main ()
+{
 int some_variable = 0;
-; return 0; }
-EOF
-if { (eval echo configure:3250: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-  rm -rf conftest*
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
       # The compiler can only warn and ignore the option if not recognized
     # So say no if there are warnings
     if test -s conftest.err; then
@@ -3255,14 +5438,16 @@
     else
       compiler_rtti_exceptions=yes
     fi
-  
+
 else
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
 fi
-rm -f conftest*
+rm -f conftest.$ac_objext conftest.$ac_ext
   CFLAGS="$save_CFLAGS"
-  echo "$ac_t""$compiler_rtti_exceptions" 1>&6
+  echo "$as_me:$LINENO: result: $compiler_rtti_exceptions" >&5
+echo "${ECHO_T}$compiler_rtti_exceptions" >&6
 
   if test "$compiler_rtti_exceptions" = "yes"; then
     no_builtin_flag=' -fno-builtin -fno-rtti -fno-exceptions'
@@ -3272,8 +5457,8 @@
 fi
 
 # See if the linker supports building shared libraries.
-echo $ac_n "checking whether the linker ($LD) supports shared libraries""... $ac_c" 1>&6
-echo "configure:3277: checking whether the linker ($LD) supports shared libraries" >&5
+echo "$as_me:$LINENO: checking whether the linker ($LD) supports shared libraries" >&5
+echo $ECHO_N "checking whether the linker ($LD) supports shared libraries... $ECHO_C" >&6
 
 allow_undefined_flag=
 no_undefined_flag=
@@ -3314,7 +5499,7 @@
 extract_expsyms_cmds=
 
 case $host_os in
-cygwin* | mingw* | pw32* )
+cygwin* | mingw* | pw32*)
   # FIXME: the MSVC++ port hasn't been tested in a loooong time
   # When not using gcc, we currently assume that we are using
   # Microsoft Visual C++.
@@ -3322,7 +5507,9 @@
     with_gnu_ld=no
   fi
   ;;
-
+openbsd*)
+  with_gnu_ld=no
+  ;;
 esac
 
 ld_shlibs=yes
@@ -3409,7 +5596,7 @@
     # can override, but on older systems we have to supply one (in ltdll.c)
     if test "x$lt_cv_need_dllmain" = "xyes"; then
       ltdll_obj='$output_objdir/$soname-ltdll.'"$ac_objext "
-      ltdll_cmds='test -f $output_objdir/$soname-ltdll.c || sed -e "/^# \/\* ltdll\.c starts here \*\//,/^# \/\* ltdll.c ends here \*\// { s/^# //; p; }" -e d < [$]0 > $output_objdir/$soname-ltdll.c~
+      ltdll_cmds='test -f $output_objdir/$soname-ltdll.c || sed -e "/^# \/\* ltdll\.c starts here \*\//,/^# \/\* ltdll.c ends here \*\// { s/^# //; p; }" -e d < $''0 > $output_objdir/$soname-ltdll.c~
 	test -f $output_objdir/$soname-ltdll.$ac_objext || (cd $output_objdir && $CC -c $soname-ltdll.c)~'
     else
       ltdll_obj=
@@ -3427,19 +5614,20 @@
     # If the export-symbols file already is a .def file (1st line
     # is EXPORTS), use it as is.
     # If DATA tags from a recent dlltool are present, honour them!
-    archive_expsym_cmds='if test "x`head -1 $export_symbols`" = xEXPORTS; then
-        cp $export_symbols $output_objdir/$soname-def;
+    archive_expsym_cmds='if test "x`sed 1q $export_symbols`" = xEXPORTS; then
+	cp $export_symbols $output_objdir/$soname-def;
       else
-        echo EXPORTS > $output_objdir/$soname-def;
-        _lt_hint=1;
-        cat $export_symbols | while read symbol; do
-         set dummy \$symbol;
-         case \$# in
-           2) echo "   \$2 @ \$_lt_hint ; " >> $output_objdir/$soname-def;;
-           *) echo "     \$2 @ \$_lt_hint \$3 ; " >> $output_objdir/$soname-def;;
-         esac;
-         _lt_hint=`expr 1 + \$_lt_hint`;
-        done;
+	echo EXPORTS > $output_objdir/$soname-def;
+	_lt_hint=1;
+	cat $export_symbols | while read symbol; do
+	 set dummy \$symbol;
+	 case \$# in
+	   2) echo "   \$2 @ \$_lt_hint ; " >> $output_objdir/$soname-def;;
+	   4) echo "   \$2 \$3 \$4 ; " >> $output_objdir/$soname-def; _lt_hint=`expr \$_lt_hint - 1`;;
+	   *) echo "     \$2 @ \$_lt_hint \$3 ; " >> $output_objdir/$soname-def;;
+	 esac;
+	 _lt_hint=`expr 1 + \$_lt_hint`;
+	done;
       fi~
       '"$ltdll_cmds"'
       $CC -Wl,--base-file,$output_objdir/$soname-base '$lt_cv_cc_dll_switch' -Wl,-e,'$dll_entry' -o $output_objdir/$soname '$ltdll_obj'$libobjs $deplibs $compiler_flags~
@@ -3534,80 +5722,98 @@
     ;;
 
   aix4* | aix5*)
+    if test "$host_cpu" = ia64; then
+      # On IA64, the linker does run time linking by default, so we don't
+      # have to do anything special.
+      aix_use_runtimelinking=no
+      exp_sym_flag='-Bexport'
+      no_entry_flag=""
+    else
+      aix_use_runtimelinking=no
+
+      # Test if we are trying to use run time linking or normal
+      # AIX style linking. If -brtl is somewhere in LDFLAGS, we
+      # need to do runtime linking.
+      case $host_os in aix4.[23]|aix4.[23].*|aix5*)
+	for ld_flag in $LDFLAGS; do
+	  case $ld_flag in
+	  *-brtl*)
+	    aix_use_runtimelinking=yes
+	    break
+	  ;;
+	  esac
+	done
+      esac
+
+      exp_sym_flag='-bexport'
+      no_entry_flag='-bnoentry'
+    fi
+
     # When large executables or shared objects are built, AIX ld can
     # have problems creating the table of contents.  If linking a library
     # or program results in "error TOC overflow" add -mminimal-toc to
     # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
     # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
 
+    hardcode_direct=yes
     archive_cmds=''
     hardcode_libdir_separator=':'
     if test "$GCC" = yes; then
-      collect2name=`${CC} -print-prog-name=collect2`
-      if test -f "$collect2name" && \
-	 strings "$collect2name" | grep resolve_lib_name >/dev/null
-      then
-	# We have reworked collect2
-	hardcode_direct=yes
-      else
-        # We have old collect2
-        hardcode_direct=unsupported
-        # It fails to find uninstalled libraries when the uninstalled
-        # path is not listed in the libpath.  Setting hardcode_minus_L
-        # to unsupported forces relinking
-        hardcode_minus_L=yes
-        hardcode_libdir_flag_spec='-L$libdir'
-        hardcode_libdir_separator=
-      fi
-      shared_flag='-shared'
-    else
+      case $host_os in aix4.[012]|aix4.[012].*)
+	collect2name=`${CC} -print-prog-name=collect2`
+	if test -f "$collect2name" && \
+	  strings "$collect2name" | grep resolve_lib_name >/dev/null
+	then
+	  # We have reworked collect2
+	  hardcode_direct=yes
+	else
+	  # We have old collect2
+	  hardcode_direct=unsupported
+	  # It fails to find uninstalled libraries when the uninstalled
+	  # path is not listed in the libpath.  Setting hardcode_minus_L
+	  # to unsupported forces relinking
+	  hardcode_minus_L=yes
+	  hardcode_libdir_flag_spec='-L$libdir'
+	  hardcode_libdir_separator=
+	fi
+      esac
+
+      shared_flag='-shared'
+    else
+      # not using gcc
       if test "$host_cpu" = ia64; then
-        shared_flag='-G'
+	shared_flag='${wl}-G'
       else
-        shared_flag='${wl}-bM:SRE'
+	if test "$aix_use_runtimelinking" = yes; then
+	  shared_flag='${wl}-G'
+	else
+	  shared_flag='${wl}-bM:SRE'
+	fi
       fi
-      hardcode_direct=yes
     fi
 
-    if test "$host_cpu" = ia64; then
-      # On IA64, the linker does run time linking by default, so we don't
-      # have to do anything special.
-      aix_use_runtimelinking=no
-      exp_sym_flag='-Bexport'
-      no_entry_flag=""
-    else
-      # Test if we are trying to use run time linking, or normal AIX style linking.
-      # If -brtl is somewhere in LDFLAGS, we need to do run time linking.
-      aix_use_runtimelinking=no
-      for ld_flag in $LDFLAGS; do
-        if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl" ); then
-          aix_use_runtimelinking=yes
-          break
-        fi
-      done
-      exp_sym_flag='-bexport'
-      no_entry_flag='-bnoentry'
-    fi
     # It seems that -bexpall can do strange things, so it is better to
     # generate a list of symbols to export.
     always_export_symbols=yes
     if test "$aix_use_runtimelinking" = yes; then
+      # Warning - without using the other runtime loading flags (-brtl),
+      # -berok will link without error, but may produce a broken library.
+      allow_undefined_flag='-berok'
       hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:/usr/lib:/lib'
-      allow_undefined_flag=' -Wl,-G'
-      archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols"
+      archive_expsym_cmds="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols $shared_flag"
     else
       if test "$host_cpu" = ia64; then
-        hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
-       allow_undefined_flag="-znodefs"
-        archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname ${wl}-h$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols"
+	hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
+	allow_undefined_flag="-z nodefs"
+	archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname ${wl}-h$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols"
       else
-        hardcode_libdir_flag_spec='${wl}-bnolibpath ${wl}-blibpath:$libdir:/usr/lib:/lib'
-        # Warning - without using the other run time loading flags, -berok will
-        #           link without error, but may produce a broken library.
-        allow_undefined_flag='${wl}-berok'
-        # This is a bit strange, but is similar to how AIX traditionally builds
-        # it's shared libraries.
-        archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols"' ~$AR -crlo $objdir/$libname$release.a $objdir/$soname'
+	hardcode_libdir_flag_spec='${wl}-bnolibpath ${wl}-blibpath:$libdir:/usr/lib:/lib'
+	# Warning - without using the other run time loading flags,
+	# -berok will link without error, but may produce a broken library.
+	allow_undefined_flag='${wl}-berok'
+	# This is a bit strange, but is similar to how AIX traditionally builds
+	# it's shared libraries.
+	archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols"' ~$AR -crlo $output_objdir/$libname$release.a $output_objdir/$soname'
       fi
     fi
     ;;
@@ -3639,11 +5845,19 @@
     ;;
 
   darwin* | rhapsody*)
-    allow_undefined_flag='-undefined suppress'
+    case "$host_os" in
+    rhapsody* | darwin1.[012])
+      allow_undefined_flag='-undefined suppress'
+      ;;
+    *) # Darwin 1.3 on
+      allow_undefined_flag='-flat_namespace -undefined suppress'
+      ;;
+    esac
     # FIXME: Relying on posixy $() will cause problems for
     #        cross-compilation, but unfortunately the echo tests do not
-    #        yet detect zsh echo's removal of \ escapes.
-    archive_cmds='$CC $(test .$module = .yes && echo -bundle || echo -dynamiclib) $allow_undefined_flag -o $lib $libobjs $deplibs$linkopts -install_name $rpath/$soname $(test -n "$verstring" -a x$verstring != x0.0 && echo $verstring)'
+    #        yet detect zsh echo's removal of \ escapes.  Also zsh mangles
+    #	     `"' quotes if we put them in here... so don't!
+    archive_cmds='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs && $CC $(test .$module = .yes && echo -bundle || echo -dynamiclib) $allow_undefined_flag -o $lib ${lib}-master.o $deplibs$linker_flags $(test .$module != .yes && echo -install_name $rpath/$soname $verstring)'
     # We need to add '_' to the symbols in $export_symbols first
     #archive_expsym_cmds="$archive_cmds"' && strip -s $export_symbols'
     hardcode_direct=yes
@@ -3695,13 +5909,14 @@
     export_dynamic_flag_spec='${wl}-E'
     ;;
 
-  irix5* | irix6*)
+  irix5* | irix6* | nonstopux*)
     if test "$GCC" = yes; then
       archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
     else
       archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+      hardcode_libdir_flag_spec='-rpath $libdir'
     fi
-    hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
     hardcode_libdir_separator=:
     link_all_deplibs=yes
     ;;
@@ -3718,7 +5933,7 @@
     ;;
 
   newsos6)
-    archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts'
+    archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
     hardcode_direct=yes
     hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
     hardcode_libdir_separator=:
@@ -3726,10 +5941,24 @@
     ;;
 
   openbsd*)
-    archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-    hardcode_libdir_flag_spec='-R$libdir'
     hardcode_direct=yes
     hardcode_shlibpath_var=no
+    if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+      archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+      hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+      export_dynamic_flag_spec='${wl}-E'
+    else
+      case "$host_os" in
+      openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
+	archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+	hardcode_libdir_flag_spec='-R$libdir'
+        ;;
+      *)
+        archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+        hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+        ;;
+      esac
+    fi
     ;;
 
   os2*)
@@ -3774,10 +6003,39 @@
     hardcode_shlibpath_var=no
     runpath_var=LD_RUN_PATH
     hardcode_runpath_var=yes
+    export_dynamic_flag_spec='${wl}-Bexport'
     ;;
 
   solaris*)
+    # gcc --version < 3.0 without binutils cannot create self contained
+    # shared libraries reliably, requiring libgcc.a to resolve some of
+    # the object symbols generated in some cases.  Libraries that use
+    # assert need libgcc.a to resolve __eprintf, for example.  Linking
+    # a copy of libgcc.a into every shared library to guarantee resolving
+    # such symbols causes other problems:  According to Tim Van Holder
+    # <tim.van.holder@pandora.be>, C++ libraries end up with a separate
+    # (to the application) exception stack for one thing.
     no_undefined_flag=' -z defs'
+    if test "$GCC" = yes; then
+      case `$CC --version 2>/dev/null` in
+      [12].*)
+	cat <<EOF 1>&2
+
+*** Warning: Releases of GCC earlier than version 3.0 cannot reliably
+*** create self contained shared libraries on Solaris systems, without
+*** introducing a dependency on libgcc.a.  Therefore, libtool is disabling
+*** -no-undefined support, which will at least allow you to build shared
+*** libraries.  However, you may find that when you link such libraries
+*** into an application without using GCC, you have to manually add
+*** \`gcc --print-libgcc-file-name\` to the link command.  We urge you to
+*** upgrade to a newer version of GCC.  Another option is to rebuild your
+*** current GCC to use the GNU linker from GNU binutils 2.9.1 or newer.
+
+EOF
+        no_undefined_flag=
+	;;
+      esac
+    fi
     # $CC -shared without GNU ld will not create a library from C++
     # object files and a static libstdc++, better avoid it by now
     archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
@@ -3808,13 +6066,23 @@
     ;;
 
   sysv4)
-    if test "x$host_vendor" = xsno; then
-      archive_cmds='$LD -G -Bsymbolic -h $soname -o $lib $libobjs $deplibs $linkopts'
-      hardcode_direct=yes # is this really true???
-    else
-      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_direct=no #Motorola manual says yes, but my tests say they lie
-    fi
+    case $host_vendor in
+      sni)
+        archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+        hardcode_direct=yes # is this really true???
+        ;;
+      siemens)
+        ## LD is ld it makes a PLAMLIB
+        ## CC just makes a GrossModule.
+        archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags'
+        reload_cmds='$CC -r -o $output$reload_objs'
+        hardcode_direct=no
+        ;;
+      motorola)
+        archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+        hardcode_direct=no #Motorola manual says yes, but my tests say they lie
+        ;;
+    esac
     runpath_var='LD_RUN_PATH'
     hardcode_shlibpath_var=no
     ;;
@@ -3884,12 +6152,13 @@
     ;;
   esac
 fi
-echo "$ac_t""$ld_shlibs" 1>&6
+echo "$as_me:$LINENO: result: $ld_shlibs" >&5
+echo "${ECHO_T}$ld_shlibs" >&6
 test "$ld_shlibs" = no && can_build_shared=no
 
 # Check hardcoding attributes.
-echo $ac_n "checking how to hardcode library paths into programs""... $ac_c" 1>&6
-echo "configure:3893: checking how to hardcode library paths into programs" >&5
+echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
+echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6
 hardcode_action=
 if test -n "$hardcode_libdir_flag_spec" || \
    test -n "$runpath_var"; then
@@ -3912,26 +6181,29 @@
   # directories.
   hardcode_action=unsupported
 fi
-echo "$ac_t""$hardcode_action" 1>&6
+echo "$as_me:$LINENO: result: $hardcode_action" >&5
+echo "${ECHO_T}$hardcode_action" >&6
 
 striplib=
 old_striplib=
-echo $ac_n "checking whether stripping libraries is possible""... $ac_c" 1>&6
-echo "configure:3921: checking whether stripping libraries is possible" >&5
+echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5
+echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6
 if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then
   test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
   test -z "$striplib" && striplib="$STRIP --strip-unneeded"
-  echo "$ac_t""yes" 1>&6
+  echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6
 else
-  echo "$ac_t""no" 1>&6
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
 fi
 
 reload_cmds='$LD$reload_flag -o $output$reload_objs'
 test -z "$deplibs_check_method" && deplibs_check_method=unknown
 
 # PORTME Fill in your ld.so characteristics
-echo $ac_n "checking dynamic linker characteristics""... $ac_c" 1>&6
-echo "configure:3935: checking dynamic linker characteristics" >&5
+echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
+echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6
 library_names_spec=
 libname_spec='lib$name'
 soname_spec=
@@ -3958,6 +6230,9 @@
 
 aix4* | aix5*)
   version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  hardcode_into_libs=yes
   if test "$host_cpu" = ia64; then
     # AIX 5 supports IA64
     library_names_spec='${libname}${release}.so$major ${libname}${release}.so$versuffix $libname.so'
@@ -3969,22 +6244,24 @@
     # depend on `.', always an invalid library.  This was fixed in
     # development snapshots of GCC prior to 3.0.
     case $host_os in
-       aix4 | aix4.[01] | aix4.[01].*)
-      if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
-           echo ' yes '
-           echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
-        :
-      else
-        can_build_shared=no
-      fi
-      ;;
+      aix4 | aix4.[01] | aix4.[01].*)
+	if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
+	     echo ' yes '
+	     echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
+	  :
+	else
+	  can_build_shared=no
+	fi
+	;;
     esac
-    # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
-    # soname into executable. Probably we can add versioning support to
-    # collect2, so additional links can be useful in future.
+    # AIX (on Power*) has no versioning support, so currently we can
+    # not hardcode correct soname into executable. Probably we can
+    # add versioning support to collect2, so additional links can
+    # be useful in future.
     if test "$aix_use_runtimelinking" = yes; then
-      # If using run time linking (on AIX 4.2 or later) use lib<name>.so instead of
-      # lib<name>.a to let people know that these are not typical AIX shared libraries.
+      # If using run time linking (on AIX 4.2 or later) use lib<name>.so
+      # instead of lib<name>.a to let people know that these are not
+      # typical AIX shared libraries.
       library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
     else
       # We preserve .a as extension for shared libraries through AIX4.2
@@ -3993,8 +6270,8 @@
       soname_spec='${libname}${release}.so$major'
     fi
     shlibpath_var=LIBPATH
-    deplibs_check_method=pass_all
   fi
+  hardcode_into_libs=yes
   ;;
 
 amigaos*)
@@ -4042,7 +6319,7 @@
     ;;
   yes,mingw*)
     library_names_spec='${libname}`echo ${release} | sed -e 's/[.]/-/g'`${versuffix}.dll'
-    sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | sed -e "s/^libraries://" -e "s/;/ /g"`
+    sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | sed -e "s/^libraries://" -e "s/;/ /g" -e "s,=/,/,g"`
     ;;
   yes,pw32*)
     library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | sed -e 's/./-/g'`${versuffix}.dll'
@@ -4074,6 +6351,18 @@
   dynamic_linker=no
   ;;
 
+freebsd*-gnu*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
+  soname_spec='${libname}${release}.so$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  dynamic_linker='GNU/FreeBSD ld.so'
+  ;;
+
 freebsd*)
   objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout`
   version_type=freebsd-$objformat
@@ -4125,14 +6414,17 @@
   postinstall_cmds='chmod 555 $lib'
   ;;
 
-irix5* | irix6*)
-  version_type=irix
+irix5* | irix6* | nonstopux*)
+  case $host_os in
+    nonstopux*) version_type=nonstopux ;;
+    *)          version_type=irix ;;
+  esac
   need_lib_prefix=no
   need_version=no
   soname_spec='${libname}${release}.so$major'
   library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major ${libname}${release}.so $libname.so'
   case $host_os in
-  irix5*)
+  irix5* | nonstopux*)
     libsuff= shlibsuff=
     ;;
   *)
@@ -4206,9 +6498,19 @@
 
 openbsd*)
   version_type=sunos
-  if test "$with_gnu_ld" = yes; then
-    need_lib_prefix=no
-    need_version=no
+  need_lib_prefix=no
+  need_version=no
+  if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+    case "$host_os" in
+    openbsd2.[89] | openbsd2.[89].*)
+      shlibpath_overrides_runpath=no
+      ;;
+    *)
+      shlibpath_overrides_runpath=yes
+      ;;
+    esac
+  else
+    shlibpath_overrides_runpath=yes
   fi
   library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix'
   finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
@@ -4226,11 +6528,13 @@
 osf3* | osf4* | osf5*)
   version_type=osf
   need_version=no
-  soname_spec='${libname}${release}.so'
-  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so $libname.so'
+  need_lib_prefix=no
+  soname_spec='${libname}${release}.so$major'
+  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
   shlibpath_var=LD_LIBRARY_PATH
   sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
   sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
+  hardcode_into_libs=yes
   ;;
 
 sco3.2v5*)
@@ -4273,6 +6577,12 @@
   case $host_vendor in
     sni)
       shlibpath_overrides_runpath=no
+      need_lib_prefix=no
+      export_dynamic_flag_spec='${wl}-Blargedynsym'
+      runpath_var=LD_RUN_PATH
+      ;;
+    siemens)
+      need_lib_prefix=no
       ;;
     motorola)
       need_lib_prefix=no
@@ -4312,13 +6622,46 @@
   dynamic_linker=no
   ;;
 esac
-echo "$ac_t""$dynamic_linker" 1>&6
+echo "$as_me:$LINENO: result: $dynamic_linker" >&5
+echo "${ECHO_T}$dynamic_linker" >&6
 test "$dynamic_linker" = no && can_build_shared=no
 
 # Report the final consequences.
-echo $ac_n "checking if libtool supports shared libraries""... $ac_c" 1>&6
-echo "configure:4321: checking if libtool supports shared libraries" >&5
-echo "$ac_t""$can_build_shared" 1>&6
+echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5
+echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6
+echo "$as_me:$LINENO: result: $can_build_shared" >&5
+echo "${ECHO_T}$can_build_shared" >&6
+
+echo "$as_me:$LINENO: checking whether to build shared libraries" >&5
+echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6
+test "$can_build_shared" = "no" && enable_shared=no
+
+# On AIX, shared libraries and static libraries use the same namespace, and
+# are all built from PIC.
+case "$host_os" in
+aix3*)
+  test "$enable_shared" = yes && enable_static=no
+  if test -n "$RANLIB"; then
+    archive_cmds="$archive_cmds~\$RANLIB \$lib"
+    postinstall_cmds='$RANLIB $lib'
+  fi
+  ;;
+
+aix4*)
+  if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+    test "$enable_shared" = yes && enable_static=no
+  fi
+  ;;
+esac
+echo "$as_me:$LINENO: result: $enable_shared" >&5
+echo "${ECHO_T}$enable_shared" >&6
+
+echo "$as_me:$LINENO: checking whether to build static libraries" >&5
+echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6
+# Make sure either enable_shared or enable_static is yes.
+test "$enable_shared" = yes || enable_static=yes
+echo "$as_me:$LINENO: result: $enable_static" >&5
+echo "${ECHO_T}$enable_static" >&6
 
 if test "$hardcode_action" = relink; then
   # Fast installation is not supported
@@ -4355,224 +6698,398 @@
    ;;
 
   *)
-    echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6
-echo "configure:4360: checking for dlopen in -ldl" >&5
-ac_lib_var=`echo dl'_'dlopen | sed 'y%./+-%__p_%'`
-if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  ac_save_LIBS="$LIBS"
-LIBS="-ldl  $LIBS"
-cat > conftest.$ac_ext <<EOF
-#line 4368 "configure"
-#include "confdefs.h"
-/* Override any gcc2 internal prototype to avoid an error.  */
-/* We use char because int might match the return type of a gcc2
-    builtin and then its argument prototype would still apply.  */
-char dlopen();
-
-int main() {
-dlopen()
-; return 0; }
-EOF
-if { (eval echo configure:4379: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-  rm -rf conftest*
-  eval "ac_cv_lib_$ac_lib_var=yes"
-else
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  eval "ac_cv_lib_$ac_lib_var=no"
-fi
-rm -f conftest*
-LIBS="$ac_save_LIBS"
-
-fi
-if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
-  echo "$ac_t""yes" 1>&6
-  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
-else
-  echo "$ac_t""no" 1>&6
-echo $ac_n "checking for dlopen""... $ac_c" 1>&6
-echo "configure:4398: checking for dlopen" >&5
-if eval "test \"`echo '$''{'ac_cv_func_dlopen'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  cat > conftest.$ac_ext <<EOF
-#line 4403 "configure"
-#include "confdefs.h"
+    echo "$as_me:$LINENO: checking for shl_load" >&5
+echo $ECHO_N "checking for shl_load... $ECHO_C" >&6
+if test "${ac_cv_func_shl_load+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
 /* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char dlopen(); below.  */
-#include <assert.h>
+    which can conflict with char shl_load (); below.
+    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+    <limits.h> exists even on freestanding compilers.  */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
 /* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+{
+#endif
 /* We use char because int might match the return type of a gcc2
-    builtin and then its argument prototype would still apply.  */
-char dlopen();
-
-int main() {
-
+   builtin and then its argument prototype would still apply.  */
+char shl_load ();
 /* 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_dlopen) || defined (__stub___dlopen)
+#if defined (__stub_shl_load) || defined (__stub___shl_load)
 choke me
 #else
-dlopen();
+char (*f) () = shl_load;
+#endif
+#ifdef __cplusplus
+}
 #endif
 
-; return 0; }
-EOF
-if { (eval echo configure:4426: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-  rm -rf conftest*
-  eval "ac_cv_func_dlopen=yes"
-else
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  eval "ac_cv_func_dlopen=no"
-fi
-rm -f conftest*
-fi
-
-if eval "test \"`echo '$ac_cv_func_'dlopen`\" = yes"; then
-  echo "$ac_t""yes" 1>&6
-  lt_cv_dlopen="dlopen"
+int
+main ()
+{
+return f != shl_load;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_func_shl_load=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_func_shl_load=no
+fi
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5
+echo "${ECHO_T}$ac_cv_func_shl_load" >&6
+if test $ac_cv_func_shl_load = yes; then
+  lt_cv_dlopen="shl_load"
 else
-  echo "$ac_t""no" 1>&6
-echo $ac_n "checking for shl_load""... $ac_c" 1>&6
-echo "configure:4444: checking for shl_load" >&5
-if eval "test \"`echo '$''{'ac_cv_func_shl_load'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
+  echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5
+echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6
+if test "${ac_cv_lib_dld_shl_load+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  cat > conftest.$ac_ext <<EOF
-#line 4449 "configure"
-#include "confdefs.h"
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldld  $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char shl_load ();
+int
+main ()
+{
+shl_load ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_lib_dld_shl_load=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_lib_dld_shl_load=no
+fi
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5
+echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6
+if test $ac_cv_lib_dld_shl_load = yes; then
+  lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"
+else
+  echo "$as_me:$LINENO: checking for dlopen" >&5
+echo $ECHO_N "checking for dlopen... $ECHO_C" >&6
+if test "${ac_cv_func_dlopen+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
 /* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char shl_load(); below.  */
-#include <assert.h>
+    which can conflict with char dlopen (); below.
+    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+    <limits.h> exists even on freestanding compilers.  */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
 /* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+{
+#endif
 /* We use char because int might match the return type of a gcc2
-    builtin and then its argument prototype would still apply.  */
-char shl_load();
-
-int main() {
-
+   builtin and then its argument prototype would still apply.  */
+char dlopen ();
 /* 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_shl_load) || defined (__stub___shl_load)
+#if defined (__stub_dlopen) || defined (__stub___dlopen)
 choke me
 #else
-shl_load();
+char (*f) () = dlopen;
+#endif
+#ifdef __cplusplus
+}
 #endif
 
-; return 0; }
-EOF
-if { (eval echo configure:4472: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-  rm -rf conftest*
-  eval "ac_cv_func_shl_load=yes"
+int
+main ()
+{
+return f != dlopen;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_func_dlopen=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_func_dlopen=no
+fi
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5
+echo "${ECHO_T}$ac_cv_func_dlopen" >&6
+if test $ac_cv_func_dlopen = yes; then
+  lt_cv_dlopen="dlopen"
 else
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  eval "ac_cv_func_shl_load=no"
-fi
-rm -f conftest*
-fi
+  echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
+echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6
+if test "${ac_cv_lib_dl_dlopen+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldl  $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
 
-if eval "test \"`echo '$ac_cv_func_'shl_load`\" = yes"; then
-  echo "$ac_t""yes" 1>&6
-  lt_cv_dlopen="shl_load"
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char dlopen ();
+int
+main ()
+{
+dlopen ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_lib_dl_dlopen=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_lib_dl_dlopen=no
+fi
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
+echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6
+if test $ac_cv_lib_dl_dlopen = yes; then
+  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
 else
-  echo "$ac_t""no" 1>&6
-echo $ac_n "checking for dlopen in -lsvld""... $ac_c" 1>&6
-echo "configure:4490: checking for dlopen in -lsvld" >&5
-ac_lib_var=`echo svld'_'dlopen | sed 'y%./+-%__p_%'`
-if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
+  echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5
+echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6
+if test "${ac_cv_lib_svld_dlopen+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  ac_save_LIBS="$LIBS"
+  ac_check_lib_save_LIBS=$LIBS
 LIBS="-lsvld  $LIBS"
-cat > conftest.$ac_ext <<EOF
-#line 4498 "configure"
-#include "confdefs.h"
+cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
 /* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+#endif
 /* We use char because int might match the return type of a gcc2
-    builtin and then its argument prototype would still apply.  */
-char dlopen();
-
-int main() {
-dlopen()
-; return 0; }
-EOF
-if { (eval echo configure:4509: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-  rm -rf conftest*
-  eval "ac_cv_lib_$ac_lib_var=yes"
-else
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  eval "ac_cv_lib_$ac_lib_var=no"
-fi
-rm -f conftest*
-LIBS="$ac_save_LIBS"
-
-fi
-if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
-  echo "$ac_t""yes" 1>&6
+   builtin and then its argument prototype would still apply.  */
+char dlopen ();
+int
+main ()
+{
+dlopen ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_lib_svld_dlopen=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_lib_svld_dlopen=no
+fi
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5
+echo "${ECHO_T}$ac_cv_lib_svld_dlopen" >&6
+if test $ac_cv_lib_svld_dlopen = yes; then
   lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
 else
-  echo "$ac_t""no" 1>&6
-echo $ac_n "checking for shl_load in -ldld""... $ac_c" 1>&6
-echo "configure:4528: checking for shl_load in -ldld" >&5
-ac_lib_var=`echo dld'_'shl_load | sed 'y%./+-%__p_%'`
-if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
+  echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5
+echo $ECHO_N "checking for dld_link in -ldld... $ECHO_C" >&6
+if test "${ac_cv_lib_dld_dld_link+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  ac_save_LIBS="$LIBS"
+  ac_check_lib_save_LIBS=$LIBS
 LIBS="-ldld  $LIBS"
-cat > conftest.$ac_ext <<EOF
-#line 4536 "configure"
-#include "confdefs.h"
+cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
 /* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+#endif
 /* We use char because int might match the return type of a gcc2
-    builtin and then its argument prototype would still apply.  */
-char shl_load();
-
-int main() {
-shl_load()
-; return 0; }
-EOF
-if { (eval echo configure:4547: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-  rm -rf conftest*
-  eval "ac_cv_lib_$ac_lib_var=yes"
-else
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  eval "ac_cv_lib_$ac_lib_var=no"
+   builtin and then its argument prototype would still apply.  */
+char dld_link ();
+int
+main ()
+{
+dld_link ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_lib_dld_dld_link=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_lib_dld_dld_link=no
+fi
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5
+echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6
+if test $ac_cv_lib_dld_dld_link = yes; then
+  lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"
 fi
-rm -f conftest*
-LIBS="$ac_save_LIBS"
 
-fi
-if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
-  echo "$ac_t""yes" 1>&6
-  lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"
-else
-  echo "$ac_t""no" 1>&6
+
 fi
 
-	    
+
 fi
 
-          
+
 fi
 
-        
+
 fi
 
-      
+
 fi
 
     ;;
@@ -4595,10 +7112,10 @@
     save_LIBS="$LIBS"
     LIBS="$lt_cv_dlopen_libs $LIBS"
 
-    echo $ac_n "checking whether a program can dlopen itself""... $ac_c" 1>&6
-echo "configure:4600: checking whether a program can dlopen itself" >&5
-if eval "test \"`echo '$''{'lt_cv_dlopen_self'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
+    echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5
+echo $ECHO_N "checking whether a program can dlopen itself... $ECHO_C" >&6
+if test "${lt_cv_dlopen_self+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   	  if test "$cross_compiling" = yes; then :
   lt_cv_dlopen_self=cross
@@ -4606,7 +7123,7 @@
     lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 4610 "configure"
+#line 7126 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -4667,7 +7184,11 @@
     exit (status);
 }
 EOF
-  if { (eval echo configure:4671: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} 2>/dev/null; then
+  if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then
     (./conftest; exit; ) 2>/dev/null
     lt_status=$?
     case x$lt_status in
@@ -4682,17 +7203,17 @@
 fi
 rm -fr conftest*
 
-    
-fi
 
-echo "$ac_t""$lt_cv_dlopen_self" 1>&6
+fi
+echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5
+echo "${ECHO_T}$lt_cv_dlopen_self" >&6
 
     if test "x$lt_cv_dlopen_self" = xyes; then
       LDFLAGS="$LDFLAGS $link_static_flag"
-      echo $ac_n "checking whether a statically linked program can dlopen itself""... $ac_c" 1>&6
-echo "configure:4694: checking whether a statically linked program can dlopen itself" >&5
-if eval "test \"`echo '$''{'lt_cv_dlopen_self_static'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
+      echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5
+echo $ECHO_N "checking whether a statically linked program can dlopen itself... $ECHO_C" >&6
+if test "${lt_cv_dlopen_self_static+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   	  if test "$cross_compiling" = yes; then :
   lt_cv_dlopen_self_static=cross
@@ -4700,7 +7221,7 @@
     lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 4704 "configure"
+#line 7224 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -4761,7 +7282,11 @@
     exit (status);
 }
 EOF
-  if { (eval echo configure:4765: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} 2>/dev/null; then
+  if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then
     (./conftest; exit; ) 2>/dev/null
     lt_status=$?
     case x$lt_status in
@@ -4776,10 +7301,10 @@
 fi
 rm -fr conftest*
 
-      
-fi
 
-echo "$ac_t""$lt_cv_dlopen_self_static" 1>&6
+fi
+echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5
+echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6
     fi
 
     CPPFLAGS="$save_CPPFLAGS"
@@ -4809,15 +7334,19 @@
     # Test whether the compiler implicitly links with -lc since on some
     # systems, -lgcc has to come before -lc. If gcc already passes -lc
     # to ld, don't add -lc before -lgcc.
-    echo $ac_n "checking whether -lc should be explicitly linked in""... $ac_c" 1>&6
-echo "configure:4814: checking whether -lc should be explicitly linked in" >&5
-    if eval "test \"`echo '$''{'lt_cv_archive_cmds_need_lc'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
+    echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
+echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6
+    if test "${lt_cv_archive_cmds_need_lc+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   $rm conftest*
     echo 'static int dummy;' > conftest.$ac_ext
 
-    if { (eval echo configure:4821: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+    if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
       soname=conftest
       lib=conftest
       libobjs=conftest.$ac_objext
@@ -4830,7 +7359,11 @@
       libname=conftest
       save_allow_undefined_flag=$allow_undefined_flag
       allow_undefined_flag=
-      if { (eval echo configure:4834: \"$archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\") 1>&5; (eval $archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5; }
+      if { (eval echo "$as_me:$LINENO: \"$archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5
+  (eval $archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }
       then
 	lt_cv_archive_cmds_need_lc=no
       else
@@ -4842,7 +7375,8 @@
     fi
 fi
 
-    echo "$ac_t""$lt_cv_archive_cmds_need_lc" 1>&6
+    echo "$as_me:$LINENO: result: $lt_cv_archive_cmds_need_lc" >&5
+echo "${ECHO_T}$lt_cv_archive_cmds_need_lc" >&6
     ;;
   esac
 fi
@@ -4870,7 +7404,7 @@
   # Now quote all the things that may contain metacharacters while being
   # careful not to overquote the AC_SUBSTed values.  We take copies of the
   # variables and quote the copies for generation of the libtool script.
-  for var in echo old_CC old_CFLAGS \
+  for var in echo old_CC old_CFLAGS SED \
     AR AR_FLAGS CC LD LN_S NM SHELL \
     reload_flag reload_cmds wl \
     pic_flag link_static_flag no_builtin_flag export_dynamic_flag_spec \
@@ -4882,6 +7416,7 @@
     old_striplib striplib file_magic_cmd export_symbols_cmds \
     deplibs_check_method allow_undefined_flag no_undefined_flag \
     finish_cmds finish_eval global_symbol_pipe global_symbol_to_cdecl \
+    global_symbol_to_c_name_address \
     hardcode_libdir_flag_spec hardcode_libdir_separator  \
     sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
     compiler_c_o compiler_o_lo need_locks exclude_expsyms include_expsyms; do
@@ -4931,8 +7466,11 @@
 # configuration script generated by Autoconf, you may include it under
 # the same distribution terms that you use for the rest of that program.
 
+# A sed that does not truncate output.
+SED=$lt_SED
+
 # Sed that helps us avoid accidentally triggering echo(1) options like -n.
-Xsed="sed -e s/^X//"
+Xsed="${SED} -e s/^X//"
 
 # The HP-UX ksh and POSIX shell print the target directory to stdout
 # if CDPATH is set.
@@ -4948,12 +7486,12 @@
 # Whether or not to build shared libraries.
 build_libtool_libs=$enable_shared
 
-# Whether or not to add -lc for building shared libraries.
-build_libtool_need_lc=$need_lc
-
 # Whether or not to build static libraries.
 build_old_libs=$enable_static
 
+# Whether or not to add -lc for building shared libraries.
+build_libtool_need_lc=$need_lc
+
 # Whether or not to optimize for fast installation.
 fast_install=$enable_fast_install
 
@@ -5119,6 +7657,9 @@
 # Transform the output of nm in a proper C declaration
 global_symbol_to_cdecl=$lt_global_symbol_to_cdecl
 
+# Transform the output of nm in a C name address pair
+global_symbol_to_c_name_address=$lt_global_symbol_to_c_name_address
+
 # This is the shared library runtime path variable.
 runpath_var=$runpath_var
 
@@ -5241,9 +7782,9 @@
 #   return TRUE;
 # }
 # /* ltdll.c ends here */
-        # This is a source program that is used to create import libraries
-        # on Windows for dlls which lack them. Don't remove nor modify the
-        # starting and closing comments
+	# This is a source program that is used to create import libraries
+	# on Windows for dlls which lack them. Don't remove nor modify the
+	# starting and closing comments
 # /* impgen.c starts here */
 # /*   Copyright (C) 1999-2000 Free Software Foundation, Inc.
 #
@@ -5411,156 +7952,386 @@
 
 # Extract the first word of "perl", so it can be a program name with args.
 set dummy perl; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:5416: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_path_PERL'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+if test "${ac_cv_path_PERL+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  case "$PERL" in
-  /*)
+  case $PERL in
+  [\\/]* | ?:[\\/]*)
   ac_cv_path_PERL="$PERL" # Let the user override the test with a path.
   ;;
-  ?:/*)			 
-  ac_cv_path_PERL="$PERL" # Let the user override the test with a dos path.
-  ;;
   *)
-  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
-  ac_dummy="$PATH"
-  for ac_dir in $ac_dummy; do 
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/$ac_word; then
-      ac_cv_path_PERL="$ac_dir/$ac_word"
-      break
-    fi
-  done
-  IFS="$ac_save_ifs"
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+    ac_cv_path_PERL="$as_dir/$ac_word$ac_exec_ext"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+
   ;;
 esac
 fi
-PERL="$ac_cv_path_PERL"
+PERL=$ac_cv_path_PERL
+
 if test -n "$PERL"; then
-  echo "$ac_t""$PERL" 1>&6
+  echo "$as_me:$LINENO: result: $PERL" >&5
+echo "${ECHO_T}$PERL" >&6
 else
-  echo "$ac_t""no" 1>&6
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6
 fi
 
 
 
 
-ac_safe=`echo "asm/errno.h" | sed 'y%./+-%__p_%'`
-echo $ac_n "checking for asm/errno.h""... $ac_c" 1>&6
-echo "configure:5453: checking for asm/errno.h" >&5
-if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
+if test "${ac_cv_header_asm_errno_h+set}" = set; then
+  echo "$as_me:$LINENO: checking for asm/errno.h" >&5
+echo $ECHO_N "checking for asm/errno.h... $ECHO_C" >&6
+if test "${ac_cv_header_asm_errno_h+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+fi
+echo "$as_me:$LINENO: result: $ac_cv_header_asm_errno_h" >&5
+echo "${ECHO_T}$ac_cv_header_asm_errno_h" >&6
 else
-  cat > conftest.$ac_ext <<EOF
-#line 5458 "configure"
-#include "confdefs.h"
+  # Is the header compilable?
+echo "$as_me:$LINENO: checking asm/errno.h usability" >&5
+echo $ECHO_N "checking asm/errno.h usability... $ECHO_C" >&6
+cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
 #include <asm/errno.h>
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:5463: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
-if test -z "$ac_err"; then
-  rm -rf conftest*
-  eval "ac_cv_header_$ac_safe=yes"
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_header_compiler=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_header_compiler=no
+fi
+rm -f conftest.$ac_objext conftest.$ac_ext
+echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6
+
+# Is the header present?
+echo "$as_me:$LINENO: checking asm/errno.h presence" >&5
+echo $ECHO_N "checking asm/errno.h presence... $ECHO_C" >&6
+cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <asm/errno.h>
+_ACEOF
+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_c_preproc_warn_flag
+  else
+    ac_cpp_err=
+  fi
 else
-  echo "$ac_err" >&5
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  eval "ac_cv_header_$ac_safe=no"
+  ac_cpp_err=yes
 fi
-rm -f conftest*
+if test -z "$ac_cpp_err"; then
+  ac_header_preproc=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  ac_header_preproc=no
+fi
+rm -f conftest.err conftest.$ac_ext
+echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6
+
+# So?  What about this header?
+case $ac_header_compiler:$ac_header_preproc in
+  yes:no )
+    { echo "$as_me:$LINENO: WARNING: asm/errno.h: accepted by the compiler, rejected by the preprocessor!" >&5
+echo "$as_me: WARNING: asm/errno.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { echo "$as_me:$LINENO: WARNING: asm/errno.h: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: asm/errno.h: proceeding with the preprocessor's result" >&2;}
+    (
+      cat <<\_ASBOX
+## ------------------------------------ ##
+## Report this to bug-autoconf@gnu.org. ##
+## ------------------------------------ ##
+_ASBOX
+    ) |
+      sed "s/^/$as_me: WARNING:     /" >&2
+    ;;
+  no:yes )
+    { echo "$as_me:$LINENO: WARNING: asm/errno.h: present but cannot be compiled" >&5
+echo "$as_me: WARNING: asm/errno.h: present but cannot be compiled" >&2;}
+    { echo "$as_me:$LINENO: WARNING: asm/errno.h: check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: asm/errno.h: check for missing prerequisite headers?" >&2;}
+    { echo "$as_me:$LINENO: WARNING: asm/errno.h: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: asm/errno.h: proceeding with the preprocessor's result" >&2;}
+    (
+      cat <<\_ASBOX
+## ------------------------------------ ##
+## Report this to bug-autoconf@gnu.org. ##
+## ------------------------------------ ##
+_ASBOX
+    ) |
+      sed "s/^/$as_me: WARNING:     /" >&2
+    ;;
+esac
+echo "$as_me:$LINENO: checking for asm/errno.h" >&5
+echo $ECHO_N "checking for asm/errno.h... $ECHO_C" >&6
+if test "${ac_cv_header_asm_errno_h+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_cv_header_asm_errno_h=$ac_header_preproc
+fi
+echo "$as_me:$LINENO: result: $ac_cv_header_asm_errno_h" >&5
+echo "${ECHO_T}$ac_cv_header_asm_errno_h" >&6
+
 fi
-if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
-  echo "$ac_t""yes" 1>&6
+if test $ac_cv_header_asm_errno_h = yes; then
   :
 else
-  echo "$ac_t""no" 1>&6
-{ echo "configure: error: *** Unable to find asm/errno.h!!!" 1>&2; exit 1; }
+  { { echo "$as_me:$LINENO: error: *** Unable to find asm/errno.h!!!" >&5
+echo "$as_me: error: *** Unable to find asm/errno.h!!!" >&2;}
+   { (exit 1); exit 1; }; }
 
 fi
 
 
-ac_safe=`echo "linux/atmsap.h" | sed 'y%./+-%__p_%'`
-echo $ac_n "checking for linux/atmsap.h""... $ac_c" 1>&6
-echo "configure:5489: checking for linux/atmsap.h" >&5
-if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  cat > conftest.$ac_ext <<EOF
-#line 5494 "configure"
-#include "confdefs.h"
+
+if test "${ac_cv_header_linux_atmsap_h+set}" = set; then
+  echo "$as_me:$LINENO: checking for linux/atmsap.h" >&5
+echo $ECHO_N "checking for linux/atmsap.h... $ECHO_C" >&6
+if test "${ac_cv_header_linux_atmsap_h+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+fi
+echo "$as_me:$LINENO: result: $ac_cv_header_linux_atmsap_h" >&5
+echo "${ECHO_T}$ac_cv_header_linux_atmsap_h" >&6
+else
+  # Is the header compilable?
+echo "$as_me:$LINENO: checking linux/atmsap.h usability" >&5
+echo $ECHO_N "checking linux/atmsap.h usability... $ECHO_C" >&6
+cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
 #include <linux/atmsap.h>
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:5499: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
-if test -z "$ac_err"; then
-  rm -rf conftest*
-  eval "ac_cv_header_$ac_safe=yes"
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_header_compiler=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_header_compiler=no
+fi
+rm -f conftest.$ac_objext conftest.$ac_ext
+echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6
+
+# Is the header present?
+echo "$as_me:$LINENO: checking linux/atmsap.h presence" >&5
+echo $ECHO_N "checking linux/atmsap.h presence... $ECHO_C" >&6
+cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <linux/atmsap.h>
+_ACEOF
+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
+  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null; then
+  if test -s conftest.err; then
+    ac_cpp_err=$ac_c_preproc_warn_flag
+  else
+    ac_cpp_err=
+  fi
 else
-  echo "$ac_err" >&5
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  eval "ac_cv_header_$ac_safe=no"
+  ac_cpp_err=yes
 fi
-rm -f conftest*
+if test -z "$ac_cpp_err"; then
+  ac_header_preproc=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  ac_header_preproc=no
+fi
+rm -f conftest.err conftest.$ac_ext
+echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6
+
+# So?  What about this header?
+case $ac_header_compiler:$ac_header_preproc in
+  yes:no )
+    { echo "$as_me:$LINENO: WARNING: linux/atmsap.h: accepted by the compiler, rejected by the preprocessor!" >&5
+echo "$as_me: WARNING: linux/atmsap.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { echo "$as_me:$LINENO: WARNING: linux/atmsap.h: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: linux/atmsap.h: proceeding with the preprocessor's result" >&2;}
+    (
+      cat <<\_ASBOX
+## ------------------------------------ ##
+## Report this to bug-autoconf@gnu.org. ##
+## ------------------------------------ ##
+_ASBOX
+    ) |
+      sed "s/^/$as_me: WARNING:     /" >&2
+    ;;
+  no:yes )
+    { echo "$as_me:$LINENO: WARNING: linux/atmsap.h: present but cannot be compiled" >&5
+echo "$as_me: WARNING: linux/atmsap.h: present but cannot be compiled" >&2;}
+    { echo "$as_me:$LINENO: WARNING: linux/atmsap.h: check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: linux/atmsap.h: check for missing prerequisite headers?" >&2;}
+    { echo "$as_me:$LINENO: WARNING: linux/atmsap.h: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: linux/atmsap.h: proceeding with the preprocessor's result" >&2;}
+    (
+      cat <<\_ASBOX
+## ------------------------------------ ##
+## Report this to bug-autoconf@gnu.org. ##
+## ------------------------------------ ##
+_ASBOX
+    ) |
+      sed "s/^/$as_me: WARNING:     /" >&2
+    ;;
+esac
+echo "$as_me:$LINENO: checking for linux/atmsap.h" >&5
+echo $ECHO_N "checking for linux/atmsap.h... $ECHO_C" >&6
+if test "${ac_cv_header_linux_atmsap_h+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_cv_header_linux_atmsap_h=$ac_header_preproc
 fi
-if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
-  echo "$ac_t""yes" 1>&6
+echo "$as_me:$LINENO: result: $ac_cv_header_linux_atmsap_h" >&5
+echo "${ECHO_T}$ac_cv_header_linux_atmsap_h" >&6
+
+fi
+if test $ac_cv_header_linux_atmsap_h = yes; then
   :
 else
-  echo "$ac_t""no" 1>&6
-{ echo "configure: error: *** Unable to find linux/atmsap.h!!!" 1>&2; exit 1; }
+  { { echo "$as_me:$LINENO: error: *** Unable to find linux/atmsap.h!!!" >&5
+echo "$as_me: error: *** Unable to find linux/atmsap.h!!!" >&2;}
+   { (exit 1); exit 1; }; }
 
 fi
 
 
-echo $ac_n "checking for main in -lresolv""... $ac_c" 1>&6
-echo "configure:5524: checking for main in -lresolv" >&5
-ac_lib_var=`echo resolv'_'main | sed 'y%./+-%__p_%'`
-if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
+
+
+echo "$as_me:$LINENO: checking for main in -lresolv" >&5
+echo $ECHO_N "checking for main in -lresolv... $ECHO_C" >&6
+if test "${ac_cv_lib_resolv_main+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  ac_save_LIBS="$LIBS"
+  ac_check_lib_save_LIBS=$LIBS
 LIBS="-lresolv  $LIBS"
-cat > conftest.$ac_ext <<EOF
-#line 5532 "configure"
-#include "confdefs.h"
+cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
 
-int main() {
-main()
-; return 0; }
-EOF
-if { (eval echo configure:5539: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-  rm -rf conftest*
-  eval "ac_cv_lib_$ac_lib_var=yes"
-else
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  eval "ac_cv_lib_$ac_lib_var=no"
-fi
-rm -f conftest*
-LIBS="$ac_save_LIBS"
 
-fi
-if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
-  echo "$ac_t""yes" 1>&6
-    ac_tr_lib=HAVE_LIB`echo resolv | sed -e 's/[^a-zA-Z0-9_]/_/g' \
-    -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
-  cat >> confdefs.h <<EOF
-#define $ac_tr_lib 1
-EOF
+int
+main ()
+{
+main ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_lib_resolv_main=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_lib_resolv_main=no
+fi
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+echo "$as_me:$LINENO: result: $ac_cv_lib_resolv_main" >&5
+echo "${ECHO_T}$ac_cv_lib_resolv_main" >&6
+if test $ac_cv_lib_resolv_main = yes; then
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_LIBRESOLV 1
+_ACEOF
 
   LIBS="-lresolv $LIBS"
 
 else
-  echo "$ac_t""no" 1>&6
-{ echo "configure: error: *** Unable to find libresolv!!!" 1>&2; exit 1; }
+  { { echo "$as_me:$LINENO: error: *** Unable to find libresolv!!!" >&5
+echo "$as_me: error: *** Unable to find libresolv!!!" >&2;}
+   { (exit 1); exit 1; }; }
 
 fi
 
@@ -5571,639 +8342,1417 @@
 CFLAGS="$INCLUDES $CFLAGS -Wall -Wshadow -Wpointer-arith -Wwrite-strings -Wstrict-prototypes"
 YACC="$YACC -d"
 
-cat >> confdefs.h <<\EOF
+cat >>confdefs.h <<\_ACEOF
 #define YY_USE_CONST 1
-EOF
+_ACEOF
 
 
 atmsigd_conf_dir=`	test "x$exec_prefix" = xNONE && exec_prefix=$ac_default_prefix
 			test "x$prefix" = xNONE && prefix=${exec_prefix}
 			eval echo "$sysconfdir"`
-cat >> confdefs.h <<EOF
+cat >>confdefs.h <<_ACEOF
 #define ATMSIGD_CONF "$atmsigd_conf_dir/atmsigd.conf"
-EOF
+_ACEOF
+
 
 
 # Check whether --with-uni or --without-uni was given.
 if test "${with_uni+set}" = set; then
   withval="$with_uni"
-  
+
 	case "$with_uni" in
-	"3.0" ) cat >> confdefs.h <<\EOF
+	"3.0" ) cat >>confdefs.h <<\_ACEOF
 #define UNI30 1
-EOF
+_ACEOF
 
 	;;
-	"3.1" ) cat >> confdefs.h <<\EOF
+	"3.1" ) cat >>confdefs.h <<\_ACEOF
 #define UNI31 1
-EOF
+_ACEOF
 
 	;;
-	"4.0" ) cat >> confdefs.h <<\EOF
+	"4.0" ) cat >>confdefs.h <<\_ACEOF
 #define UNI40 1
-EOF
+_ACEOF
 
 	;;
 	*)
-		cat >> confdefs.h <<\EOF
+		cat >>confdefs.h <<\_ACEOF
 #define DYNAMIC_UNI 1
-EOF
+_ACEOF
 
-		echo "configure: warning: *** UNI version not specified correctly.  Defaulting to dynamic UNI." 1>&2
+		{ echo "$as_me:$LINENO: WARNING: *** UNI version not specified correctly.  Defaulting to dynamic UNI." >&5
+echo "$as_me: WARNING: *** UNI version not specified correctly.  Defaulting to dynamic UNI." >&2;}
 	esac
-	
+
 else
-  cat >> confdefs.h <<\EOF
+  cat >>confdefs.h <<\_ACEOF
 #define DYNAMIC_UNI 1
-EOF
+_ACEOF
 
 
-fi
-
+fi;
 
 # Check whether --enable-allow_uni30 or --disable-allow_uni30 was given.
 if test "${enable_allow_uni30+set}" = set; then
   enableval="$enable_allow_uni30"
-  
+
 	if test "$with_uni" = "3.1" ; then
-		cat >> confdefs.h <<\EOF
+		cat >>confdefs.h <<\_ACEOF
 #define ALLOW_UNI30 1
-EOF
+_ACEOF
 
 	else
-		echo "configure: warning: *** Allow UNI 3.0 was not enabled.  It is only valid when UNI 3.1 is specified as the default via --with-uni." 1>&2
+		{ echo "$as_me:$LINENO: WARNING: *** Allow UNI 3.0 was not enabled.  It is only valid when UNI 3.1 is specified as the default via --with-uni." >&5
+echo "$as_me: WARNING: *** Allow UNI 3.0 was not enabled.  It is only valid when UNI 3.1 is specified as the default via --with-uni." >&2;}
 	fi
-	
 
-fi
 
+fi;
 
 # Check whether --enable-q2963_1 or --disable-q2963_1 was given.
 if test "${enable_q2963_1+set}" = set; then
   enableval="$enable_q2963_1"
-  
+
 	if test "$with_uni" = "4.0" ; then
-		cat >> confdefs.h <<\EOF
+		cat >>confdefs.h <<\_ACEOF
 #define Q2963_1 1
-EOF
+_ACEOF
 
 	else
-		echo "configure: warning: *** Q.2963.1 was not enabled.  It is only valid when UNI 4.0 is specified as the default via --with-uni." 1>&2
+		{ echo "$as_me:$LINENO: WARNING: *** Q.2963.1 was not enabled.  It is only valid when UNI 4.0 is specified as the default via --with-uni." >&5
+echo "$as_me: WARNING: *** Q.2963.1 was not enabled.  It is only valid when UNI 4.0 is specified as the default via --with-uni." >&2;}
 	fi
-	
 
-fi
 
+fi;
 
 # Check whether --enable-cisco or --disable-cisco was given.
 if test "${enable_cisco+set}" = set; then
   enableval="$enable_cisco"
-  cat >> confdefs.h <<\EOF
+  cat >>confdefs.h <<\_ACEOF
 #define CISCO 1
-EOF
+_ACEOF
 
 
-fi
-
+fi;
 
 # Check whether --enable-thomflex or --disable-thomflex was given.
 if test "${enable_thomflex+set}" = set; then
   enableval="$enable_thomflex"
-  cat >> confdefs.h <<\EOF
+  cat >>confdefs.h <<\_ACEOF
 #define THOMFLEX 1
-EOF
-
+_ACEOF
 
-fi
 
+fi;
 
-cat >> confdefs.h <<\EOF
+cat >>confdefs.h <<\_ACEOF
 #define BROKEN_POLL 1
-EOF
+_ACEOF
 
 
 # Check whether --enable-mpoa_1_1 or --disable-mpoa_1_1 was given.
 if test "${enable_mpoa_1_1+set}" = set; then
   enableval="$enable_mpoa_1_1"
-  cat >> confdefs.h <<\EOF
+  cat >>confdefs.h <<\_ACEOF
 #define MPOA_1_1 1
-EOF
-
+_ACEOF
 
-fi
 
+fi;
 
 # Check whether --enable-mpr or --disable-mpr was given.
 if test "${enable_mpr+set}" = set; then
   enableval="$enable_mpr"
-  
+
 	case "$enable_mpr" in
 	"" | y | ye | yes | Y | YE | YES )
-		echo $ac_n "checking for main in -lmpr""... $ac_c" 1>&6
-echo "configure:5704: checking for main in -lmpr" >&5
-ac_lib_var=`echo mpr'_'main | sed 'y%./+-%__p_%'`
-if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
+
+echo "$as_me:$LINENO: checking for main in -lmpr" >&5
+echo $ECHO_N "checking for main in -lmpr... $ECHO_C" >&6
+if test "${ac_cv_lib_mpr_main+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  ac_save_LIBS="$LIBS"
+  ac_check_lib_save_LIBS=$LIBS
 LIBS="-lmpr  $LIBS"
-cat > conftest.$ac_ext <<EOF
-#line 5712 "configure"
-#include "confdefs.h"
+cat >conftest.$ac_ext <<_ACEOF
+#line $LINENO "configure"
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
 
-int main() {
-main()
-; return 0; }
-EOF
-if { (eval echo configure:5719: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-  rm -rf conftest*
-  eval "ac_cv_lib_$ac_lib_var=yes"
-else
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  eval "ac_cv_lib_$ac_lib_var=no"
-fi
-rm -f conftest*
-LIBS="$ac_save_LIBS"
 
-fi
-if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
-  echo "$ac_t""yes" 1>&6
-    ac_tr_lib=HAVE_LIB`echo mpr | sed -e 's/[^a-zA-Z0-9_]/_/g' \
-    -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
-  cat >> confdefs.h <<EOF
-#define $ac_tr_lib 1
-EOF
+int
+main ()
+{
+main ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+         { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_lib_mpr_main=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_lib_mpr_main=no
+fi
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+echo "$as_me:$LINENO: result: $ac_cv_lib_mpr_main" >&5
+echo "${ECHO_T}$ac_cv_lib_mpr_main" >&6
+if test $ac_cv_lib_mpr_main = yes; then
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_LIBMPR 1
+_ACEOF
 
   LIBS="-lmpr $LIBS"
 
 else
-  echo "$ac_t""no" 1>&6
 
-			echo "configure: warning: *** Could not find libmpr!  Is MPR installed?" 1>&2
-			
-		
+			{ echo "$as_me:$LINENO: WARNING: *** Could not find libmpr!  Is MPR installed?" >&5
+echo "$as_me: WARNING: *** Could not find libmpr!  Is MPR installed?" >&2;}
+
+
 fi
 
 	;;
 	esac
-	
 
-fi
 
+fi;
 
 
-trap '' 1 2 15
-cat > confcache <<\EOF
+                                                                                                                                                                                                                                                                              ac_config_files="$ac_config_files Makefile doc/Makefile m4/Makefile src/Makefile src/include/Makefile src/lib/Makefile src/test/Makefile src/debug/Makefile src/qgen/Makefile src/saal/Makefile src/sigd/Makefile src/maint/Makefile src/arpd/Makefile src/ilmid/Makefile src/ilmid/asn1/Makefile src/man/Makefile src/led/Makefile src/lane/Makefile src/mpoad/Makefile src/switch/Makefile src/switch/debug/Makefile src/switch/tcp/Makefile src/config/Makefile src/config/init-redhat/Makefile src/extra/Makefile src/extra/linux-atm.spec src/extra/ANS/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.  It is not useful on other systems.
-# If it contains results you don't want to keep, you may remove or edit it.
+# 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.
 #
-# By default, configure uses ./config.cache as the cache file,
-# creating it if it does not exist already.  You can give configure
-# the --cache-file=FILE option to use a different cache file; that is
-# what configure does when it calls configure scripts in
-# subdirectories, so they share the cache.
-# Giving --cache-file=/dev/null disables caching, for debugging configure.
-# config.status only pays attention to the cache file if you give it the
-# --recheck option to rerun configure.
+# config.status only pays attention to the cache file if you give it
+# the --recheck option to rerun configure.
 #
-EOF
+# `ac_cv_env_foo' variables (set or unset) will be overridden when
+# loading this file, other *unset* `ac_cv_foo' will be assigned the
+# following values.
+
+_ACEOF
+
 # The following way of writing the cache mishandles newlines in values,
 # but we know of no workaround that is simple, portable, and efficient.
 # So, don't put newlines in cache variables' values.
 # Ultrix sh set writes to stderr and can't be redirected directly,
 # and sets the high bit in the cache file unless we assign to the vars.
-(set) 2>&1 |
-  case `(ac_space=' '; set | grep ac_space) 2>&1` in
-  *ac_space=\ *)
-    # `set' does not quote correctly, so add quotes (double-quote substitution
-    # turns \\\\ into \\, and sed turns \\ into \).
-    sed -n \
-      -e "s/'/'\\\\''/g" \
-      -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
-    ;;
-  *)
-    # `set' quotes correctly as required by POSIX, so do not add quotes.
-    sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
-    ;;
-  esac >> confcache
-if cmp -s $cache_file confcache; then
-  :
-else
+{
+  (set) 2>&1 |
+    case `(ac_space=' '; set | grep ac_space) 2>&1` in
+    *ac_space=\ *)
+      # `set' does not quote correctly, so add quotes (double-quote
+      # substitution turns \\\\ into \\, and sed turns \\ into \).
+      sed -n \
+        "s/'/'\\\\''/g;
+    	  s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
+      ;;
+    *)
+      # `set' quotes correctly as required by POSIX, so do not add quotes.
+      sed -n \
+        "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
+      ;;
+    esac;
+} |
+  sed '
+     t clear
+     : clear
+     s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
+     t end
+     /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
+     : end' >>confcache
+if diff $cache_file confcache >/dev/null 2>&1; then :; else
   if test -w $cache_file; then
-    echo "updating cache $cache_file"
-    cat confcache > $cache_file
+    test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file"
+    cat confcache >$cache_file
   else
     echo "not updating unwritable cache $cache_file"
   fi
 fi
 rm -f confcache
 
-trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
-
 test "x$prefix" = xNONE && prefix=$ac_default_prefix
 # Let make expand exec_prefix.
 test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
 
-# Any assignment to VPATH causes Sun make to only execute
-# the first set of double-colon rules, so remove it if not needed.
-# If there is a colon in the path, we need to keep it.
+# 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[ 	]*=[^:]*$/d'
+  ac_vpsub='/^[ 	]*VPATH[ 	]*=/{
+s/:*\$(srcdir):*/:/;
+s/:*\${srcdir}:*/:/;
+s/:*@srcdir@:*/:/;
+s/^\([^=]*=[ 	]*\):*/\1/;
+s/:*$//;
+s/^[^=]*=[ 	]*$//;
+}'
 fi
 
-trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
-
 DEFS=-DHAVE_CONFIG_H
 
-# Without the "./", some shells look in PATH for config.status.
-: ${CONFIG_STATUS=./config.status}
+ac_libobjs=
+ac_ltlibobjs=
+for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
+  # 1. Remove the extension, and $U if already installed.
+  ac_i=`echo "$ac_i" |
+         sed 's/\$U\././;s/\.o$//;s/\.obj$//'`
+  # 2. Add them.
+  ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext"
+  ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo'
+done
+LIBOBJS=$ac_libobjs
 
-echo creating $CONFIG_STATUS
-rm -f $CONFIG_STATUS
-cat > $CONFIG_STATUS <<EOF
-#! /bin/sh
-# Generated automatically by configure.
+LTLIBOBJS=$ac_ltlibobjs
+
+
+
+: ${CONFIG_STATUS=./config.status}
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files $CONFIG_STATUS"
+{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
+echo "$as_me: creating $CONFIG_STATUS" >&6;}
+cat >$CONFIG_STATUS <<_ACEOF
+#! $SHELL
+# Generated by $as_me.
 # Run this file to recreate the current configuration.
-# This directory was configured as follows,
-# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-#
-# $0 $ac_configure_args
-#
 # Compiler output produced by configure, useful for debugging
-# configure, is in ./config.log if it exists.
+# configure, is in config.log if it exists.
 
-ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
-for ac_option
+debug=false
+ac_cs_recheck=false
+ac_cs_silent=false
+SHELL=\${CONFIG_SHELL-$SHELL}
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+## --------------------- ##
+## M4sh Initialization.  ##
+## --------------------- ##
+
+# Be Bourne compatible
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+  emulate sh
+  NULLCMD=:
+  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '${1+"$@"}'='"$@"'
+elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
+  set -o posix
+fi
+
+# Support unset when possible.
+if (FOO=FOO; unset FOO) >/dev/null 2>&1; then
+  as_unset=unset
+else
+  as_unset=false
+fi
+
+
+# Work around bugs in pre-3.0 UWIN ksh.
+$as_unset ENV MAIL MAILPATH
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+for as_var in \
+  LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
+  LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
+  LC_TELEPHONE LC_TIME
 do
-  case "\$ac_option" in
-  -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
-    echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
-    exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
-  -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
-    echo "$CONFIG_STATUS generated by autoconf version 2.13"
-    exit 0 ;;
-  -help | --help | --hel | --he | --h)
-    echo "\$ac_cs_usage"; exit 0 ;;
-  *) echo "\$ac_cs_usage"; exit 1 ;;
+  if (set +x; test -n "`(eval $as_var=C; export $as_var) 2>&1`"); then
+    eval $as_var=C; export $as_var
+  else
+    $as_unset $as_var
+  fi
+done
+
+# Required to use basename.
+if expr a : '\(a\)' >/dev/null 2>&1; then
+  as_expr=expr
+else
+  as_expr=false
+fi
+
+if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
+  as_basename=basename
+else
+  as_basename=false
+fi
+
+
+# Name of the executable.
+as_me=`$as_basename "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+	 X"$0" : 'X\(//\)$' \| \
+	 X"$0" : 'X\(/\)$' \| \
+	 .     : '\(.\)' 2>/dev/null ||
+echo X/"$0" |
+    sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
+  	  /^X\/\(\/\/\)$/{ s//\1/; q; }
+  	  /^X\/\(\/\).*/{ s//\1/; q; }
+  	  s/.*/./; q'`
+
+
+# PATH needs CR, and LINENO needs CR and PATH.
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+  echo "#! /bin/sh" >conf$$.sh
+  echo  "exit 0"   >>conf$$.sh
+  chmod +x conf$$.sh
+  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+    PATH_SEPARATOR=';'
+  else
+    PATH_SEPARATOR=:
+  fi
+  rm -f conf$$.sh
+fi
+
+
+  as_lineno_1=$LINENO
+  as_lineno_2=$LINENO
+  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
+  test "x$as_lineno_1" != "x$as_lineno_2" &&
+  test "x$as_lineno_3"  = "x$as_lineno_2"  || {
+  # Find who we are.  Look in the path if we contain no path at all
+  # relative or not.
+  case $0 in
+    *[\\/]* ) as_myself=$0 ;;
+    *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+done
+
+       ;;
   esac
+  # We did not find ourselves, most probably we were run as `sh COMMAND'
+  # in which case we are not to be found in the path.
+  if test "x$as_myself" = x; then
+    as_myself=$0
+  fi
+  if test ! -f "$as_myself"; then
+    { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5
+echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;}
+   { (exit 1); exit 1; }; }
+  fi
+  case $CONFIG_SHELL in
+  '')
+    as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for as_base in sh bash ksh sh5; do
+	 case $as_dir in
+	 /*)
+	   if ("$as_dir/$as_base" -c '
+  as_lineno_1=$LINENO
+  as_lineno_2=$LINENO
+  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
+  test "x$as_lineno_1" != "x$as_lineno_2" &&
+  test "x$as_lineno_3"  = "x$as_lineno_2" ') 2>/dev/null; then
+	     $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
+	     $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
+	     CONFIG_SHELL=$as_dir/$as_base
+	     export CONFIG_SHELL
+	     exec "$CONFIG_SHELL" "$0" ${1+"$@"}
+	   fi;;
+	 esac
+       done
 done
+;;
+  esac
 
-ac_given_srcdir=$srcdir
-ac_given_INSTALL="$INSTALL"
-
-trap 'rm -fr `echo "Makefile \
-		doc/Makefile \
-		m4/Makefile \
-		src/Makefile \
-		src/include/Makefile \
-		src/lib/Makefile \
-		src/test/Makefile \
-		src/debug/Makefile \
-		src/qgen/Makefile \
-		src/saal/Makefile \
-		src/sigd/Makefile \
-		src/maint/Makefile \
-		src/arpd/Makefile \
-		src/ilmid/Makefile \
-		src/ilmid/asn1/Makefile \
-		src/man/Makefile \
-		src/led/Makefile \
-		src/lane/Makefile \
-		src/mpoad/Makefile \
-		src/switch/Makefile \
-		src/switch/debug/Makefile \
-		src/switch/tcp/Makefile \
-		src/config/Makefile \
-		src/config/init-redhat/Makefile \
-		src/extra/Makefile \
-		src/extra/linux-atm.spec \
-		src/extra/ANS/Makefile
-		 config.h" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
-EOF
-cat >> $CONFIG_STATUS <<EOF
+  # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
+  # uniformly replaced by the line number.  The first 'sed' inserts a
+  # line-number line before each line; the second 'sed' does the real
+  # work.  The second script uses 'N' to pair each line-number line
+  # with the numbered line, and appends trailing '-' during
+  # substitution so that $LINENO is not a special case at line end.
+  # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
+  # second 'sed' script.  Blame Lee E. McMahon for sed's syntax.  :-)
+  sed '=' <$as_myself |
+    sed '
+      N
+      s,$,-,
+      : loop
+      s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
+      t loop
+      s,-$,,
+      s,^['$as_cr_digits']*\n,,
+    ' >$as_me.lineno &&
+  chmod +x $as_me.lineno ||
+    { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5
+echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;}
+   { (exit 1); exit 1; }; }
+
+  # Don't try to exec as it changes $[0], causing all sort of problems
+  # (the dirname of $[0] is not the place where we might find the
+  # original and so on.  Autoconf is especially sensible to this).
+  . ./$as_me.lineno
+  # Exit status is that of the last command.
+  exit
+}
 
-# Protect against being on the right side of a sed subst in config.status.
-sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
- s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
-$ac_vpsub
-$extrasub
-s%@SHELL@%$SHELL%g
-s%@CFLAGS@%$CFLAGS%g
-s%@CPPFLAGS@%$CPPFLAGS%g
-s%@CXXFLAGS@%$CXXFLAGS%g
-s%@FFLAGS@%$FFLAGS%g
-s%@DEFS@%$DEFS%g
-s%@LDFLAGS@%$LDFLAGS%g
-s%@LIBS@%$LIBS%g
-s%@exec_prefix@%$exec_prefix%g
-s%@prefix@%$prefix%g
-s%@program_transform_name@%$program_transform_name%g
-s%@bindir@%$bindir%g
-s%@sbindir@%$sbindir%g
-s%@libexecdir@%$libexecdir%g
-s%@datadir@%$datadir%g
-s%@sysconfdir@%$sysconfdir%g
-s%@sharedstatedir@%$sharedstatedir%g
-s%@localstatedir@%$localstatedir%g
-s%@libdir@%$libdir%g
-s%@includedir@%$includedir%g
-s%@oldincludedir@%$oldincludedir%g
-s%@infodir@%$infodir%g
-s%@mandir@%$mandir%g
-s%@host@%$host%g
-s%@host_alias@%$host_alias%g
-s%@host_cpu@%$host_cpu%g
-s%@host_vendor@%$host_vendor%g
-s%@host_os@%$host_os%g
-s%@target@%$target%g
-s%@target_alias@%$target_alias%g
-s%@target_cpu@%$target_cpu%g
-s%@target_vendor@%$target_vendor%g
-s%@target_os@%$target_os%g
-s%@build@%$build%g
-s%@build_alias@%$build_alias%g
-s%@build_cpu@%$build_cpu%g
-s%@build_vendor@%$build_vendor%g
-s%@build_os@%$build_os%g
-s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
-s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g
-s%@INSTALL_DATA@%$INSTALL_DATA%g
-s%@PACKAGE@%$PACKAGE%g
-s%@VERSION@%$VERSION%g
-s%@ACLOCAL@%$ACLOCAL%g
-s%@AUTOCONF@%$AUTOCONF%g
-s%@AUTOMAKE@%$AUTOMAKE%g
-s%@AUTOHEADER@%$AUTOHEADER%g
-s%@MAKEINFO@%$MAKEINFO%g
-s%@SET_MAKE@%$SET_MAKE%g
-s%@LIBVER_CURRENT@%$LIBVER_CURRENT%g
-s%@LIBVER_REVISION@%$LIBVER_REVISION%g
-s%@LIBVER_AGE@%$LIBVER_AGE%g
-s%@CC@%$CC%g
-s%@LEX@%$LEX%g
-s%@LEXLIB@%$LEXLIB%g
-s%@CPP@%$CPP%g
-s%@LEX_OUTPUT_ROOT@%$LEX_OUTPUT_ROOT%g
-s%@YACC@%$YACC%g
-s%@LN_S@%$LN_S%g
-s%@OBJEXT@%$OBJEXT%g
-s%@EXEEXT@%$EXEEXT%g
-s%@ECHO@%$ECHO%g
-s%@RANLIB@%$RANLIB%g
-s%@STRIP@%$STRIP%g
-s%@LIBTOOL@%$LIBTOOL%g
-s%@LIBTOOL_DEPS@%$LIBTOOL_DEPS%g
-s%@PERL@%$PERL%g
 
-CEOF
-EOF
+case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
+  *c*,-n*) ECHO_N= ECHO_C='
+' ECHO_T='	' ;;
+  *c*,*  ) ECHO_N=-n ECHO_C= ECHO_T= ;;
+  *)       ECHO_N= ECHO_C='\c' ECHO_T= ;;
+esac
 
-cat >> $CONFIG_STATUS <<\EOF
+if expr a : '\(a\)' >/dev/null 2>&1; then
+  as_expr=expr
+else
+  as_expr=false
+fi
 
-# Split the substitutions into bite-sized pieces for seds with
-# small command number limits, like on Digital OSF/1 and HP-UX.
-ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
-ac_file=1 # Number of current file.
-ac_beg=1 # First line for current file.
-ac_end=$ac_max_sed_cmds # Line after last line for current file.
-ac_more_lines=:
-ac_sed_cmds=""
-while $ac_more_lines; do
-  if test $ac_beg -gt 1; then
-    sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
-  else
-    sed "${ac_end}q" conftest.subs > conftest.s$ac_file
-  fi
-  if test ! -s conftest.s$ac_file; then
-    ac_more_lines=false
-    rm -f conftest.s$ac_file
+rm -f conf$$ conf$$.exe conf$$.file
+echo >conf$$.file
+if ln -s conf$$.file conf$$ 2>/dev/null; then
+  # We could just check for DJGPP; but this test a) works b) is more generic
+  # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
+  if test -f conf$$.exe; then
+    # Don't use ln at all; we don't have any links
+    as_ln_s='cp -p'
   else
-    if test -z "$ac_sed_cmds"; then
-      ac_sed_cmds="sed -f conftest.s$ac_file"
-    else
-      ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
-    fi
-    ac_file=`expr $ac_file + 1`
-    ac_beg=$ac_end
-    ac_end=`expr $ac_end + $ac_max_sed_cmds`
+    as_ln_s='ln -s'
   fi
+elif ln conf$$.file conf$$ 2>/dev/null; then
+  as_ln_s=ln
+else
+  as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.file
+
+if mkdir -p . 2>/dev/null; then
+  as_mkdir_p=:
+else
+  as_mkdir_p=false
+fi
+
+as_executable_p="test -f"
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="sed y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="sed y%*+%pp%;s%[^_$as_cr_alnum]%_%g"
+
+
+# IFS
+# We need space, tab and new line, in precisely that order.
+as_nl='
+'
+IFS=" 	$as_nl"
+
+# CDPATH.
+$as_unset CDPATH
+
+exec 6>&1
+
+# Open the log real soon, to keep \$[0] and so on meaningful, and to
+# report actual input values of CONFIG_FILES etc. instead of their
+# values after options handling.  Logging --version etc. is OK.
+exec 5>>config.log
+{
+  echo
+  sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
+## Running $as_me. ##
+_ASBOX
+} >&5
+cat >&5 <<_CSEOF
+
+This file was extended by $as_me, which was
+generated by GNU Autoconf 2.57.  Invocation command line was
+
+  CONFIG_FILES    = $CONFIG_FILES
+  CONFIG_HEADERS  = $CONFIG_HEADERS
+  CONFIG_LINKS    = $CONFIG_LINKS
+  CONFIG_COMMANDS = $CONFIG_COMMANDS
+  $ $0 $@
+
+_CSEOF
+echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5
+echo >&5
+_ACEOF
+
+# Files that config.status was made for.
+if test -n "$ac_config_files"; then
+  echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS
+fi
+
+if test -n "$ac_config_headers"; then
+  echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS
+fi
+
+if test -n "$ac_config_links"; then
+  echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS
+fi
+
+if test -n "$ac_config_commands"; then
+  echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS
+fi
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+
+ac_cs_usage="\
+\`$as_me' instantiates files from templates according to the
+current configuration.
+
+Usage: $0 [OPTIONS] [FILE]...
+
+  -h, --help       print this help, then exit
+  -V, --version    print version number, then exit
+  -q, --quiet      do not print progress messages
+  -d, --debug      don't remove temporary files
+      --recheck    update $as_me by reconfiguring in the same conditions
+  --file=FILE[:TEMPLATE]
+                   instantiate the configuration file FILE
+  --header=FILE[:TEMPLATE]
+                   instantiate the configuration header FILE
+
+Configuration files:
+$config_files
+
+Configuration headers:
+$config_headers
+
+Configuration commands:
+$config_commands
+
+Report bugs to <bug-autoconf@gnu.org>."
+_ACEOF
+
+cat >>$CONFIG_STATUS <<_ACEOF
+ac_cs_version="\\
+config.status
+configured by $0, generated by GNU Autoconf 2.57,
+  with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
+
+Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001
+Free Software Foundation, Inc.
+This config.status script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it."
+srcdir=$srcdir
+INSTALL="$INSTALL"
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+# If no file are specified by the user, then we need to provide default
+# value.  By we need to know if files were specified by the user.
+ac_need_defaults=:
+while test $# != 0
+do
+  case $1 in
+  --*=*)
+    ac_option=`expr "x$1" : 'x\([^=]*\)='`
+    ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'`
+    ac_shift=:
+    ;;
+  -*)
+    ac_option=$1
+    ac_optarg=$2
+    ac_shift=shift
+    ;;
+  *) # This is not an option, so the user has probably given explicit
+     # arguments.
+     ac_option=$1
+     ac_need_defaults=false;;
+  esac
+
+  case $ac_option in
+  # Handling of the options.
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
+  -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+    ac_cs_recheck=: ;;
+  --version | --vers* | -V )
+    echo "$ac_cs_version"; exit 0 ;;
+  --he | --h)
+    # Conflict between --help and --header
+    { { echo "$as_me:$LINENO: error: ambiguous option: $1
+Try \`$0 --help' for more information." >&5
+echo "$as_me: error: ambiguous option: $1
+Try \`$0 --help' for more information." >&2;}
+   { (exit 1); exit 1; }; };;
+  --help | --hel | -h )
+    echo "$ac_cs_usage"; exit 0 ;;
+  --debug | --d* | -d )
+    debug=: ;;
+  --file | --fil | --fi | --f )
+    $ac_shift
+    CONFIG_FILES="$CONFIG_FILES $ac_optarg"
+    ac_need_defaults=false;;
+  --header | --heade | --head | --hea )
+    $ac_shift
+    CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg"
+    ac_need_defaults=false;;
+  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+  | -silent | --silent | --silen | --sile | --sil | --si | --s)
+    ac_cs_silent=: ;;
+
+  # This is an error.
+  -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&5
+echo "$as_me: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&2;}
+   { (exit 1); exit 1; }; } ;;
+
+  *) ac_config_targets="$ac_config_targets $1" ;;
+
+  esac
+  shift
+done
+
+ac_configure_extra_args=
+
+if $ac_cs_silent; then
+  exec 6>/dev/null
+  ac_configure_extra_args="$ac_configure_extra_args --silent"
+fi
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF
+if \$ac_cs_recheck; then
+  echo "running $SHELL $0 " $ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6
+  exec $SHELL $0 $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+fi
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<_ACEOF
+#
+# INIT-COMMANDS section.
+#
+
+
+
+_ACEOF
+
+
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+for ac_config_target in $ac_config_targets
+do
+  case "$ac_config_target" in
+  # Handling of arguments.
+  "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+  "doc/Makefile" ) CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;;
+  "m4/Makefile" ) CONFIG_FILES="$CONFIG_FILES m4/Makefile" ;;
+  "src/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/Makefile" ;;
+  "src/include/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/include/Makefile" ;;
+  "src/lib/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/lib/Makefile" ;;
+  "src/test/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/test/Makefile" ;;
+  "src/debug/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/debug/Makefile" ;;
+  "src/qgen/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/qgen/Makefile" ;;
+  "src/saal/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/saal/Makefile" ;;
+  "src/sigd/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/sigd/Makefile" ;;
+  "src/maint/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/maint/Makefile" ;;
+  "src/arpd/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/arpd/Makefile" ;;
+  "src/ilmid/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/ilmid/Makefile" ;;
+  "src/ilmid/asn1/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/ilmid/asn1/Makefile" ;;
+  "src/man/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/man/Makefile" ;;
+  "src/led/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/led/Makefile" ;;
+  "src/lane/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/lane/Makefile" ;;
+  "src/mpoad/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/mpoad/Makefile" ;;
+  "src/switch/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/switch/Makefile" ;;
+  "src/switch/debug/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/switch/debug/Makefile" ;;
+  "src/switch/tcp/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/switch/tcp/Makefile" ;;
+  "src/config/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/config/Makefile" ;;
+  "src/config/init-redhat/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/config/init-redhat/Makefile" ;;
+  "src/extra/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/extra/Makefile" ;;
+  "src/extra/linux-atm.spec" ) CONFIG_FILES="$CONFIG_FILES src/extra/linux-atm.spec" ;;
+  "src/extra/ANS/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/extra/ANS/Makefile" ;;
+  "default-1" ) CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;;
+  "config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
+  *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
+echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
+   { (exit 1); exit 1; }; };;
+  esac
 done
-if test -z "$ac_sed_cmds"; then
-  ac_sed_cmds=cat
+
+# 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
-EOF
 
-cat >> $CONFIG_STATUS <<EOF
+# Have a temporary directory for convenience.  Make it in the build tree
+# simply because there is no reason to put it here, and in addition,
+# creating and moving files from /tmp can sometimes cause problems.
+# Create a temporary directory, and hook for its removal unless debugging.
+$debug ||
+{
+  trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0
+  trap '{ (exit 1); exit 1; }' 1 2 13 15
+}
 
-CONFIG_FILES=\${CONFIG_FILES-"Makefile \
-		doc/Makefile \
-		m4/Makefile \
-		src/Makefile \
-		src/include/Makefile \
-		src/lib/Makefile \
-		src/test/Makefile \
-		src/debug/Makefile \
-		src/qgen/Makefile \
-		src/saal/Makefile \
-		src/sigd/Makefile \
-		src/maint/Makefile \
-		src/arpd/Makefile \
-		src/ilmid/Makefile \
-		src/ilmid/asn1/Makefile \
-		src/man/Makefile \
-		src/led/Makefile \
-		src/lane/Makefile \
-		src/mpoad/Makefile \
-		src/switch/Makefile \
-		src/switch/debug/Makefile \
-		src/switch/tcp/Makefile \
-		src/config/Makefile \
-		src/config/init-redhat/Makefile \
-		src/extra/Makefile \
-		src/extra/linux-atm.spec \
-		src/extra/ANS/Makefile
-		"}
-EOF
-cat >> $CONFIG_STATUS <<\EOF
-for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
+# Create a (secure) tmp directory for tmp files.
+
+{
+  tmp=`(umask 077 && mktemp -d -q "./confstatXXXXXX") 2>/dev/null` &&
+  test -n "$tmp" && test -d "$tmp"
+}  ||
+{
+  tmp=./confstat$$-$RANDOM
+  (umask 077 && mkdir $tmp)
+} ||
+{
+   echo "$me: cannot create a temporary directory in ." >&2
+   { (exit 1); exit 1; }
+}
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<_ACEOF
+
+#
+# CONFIG_FILES section.
+#
+
+# No need to generate the scripts if there are no CONFIG_FILES.
+# This happens for instance when ./config.status config.h
+if test -n "\$CONFIG_FILES"; then
+  # Protect against being on the right side of a sed subst in config.status.
+  sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g;
+   s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF
+s,@SHELL@,$SHELL,;t t
+s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t
+s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t
+s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t
+s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t
+s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t
+s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t
+s,@exec_prefix@,$exec_prefix,;t t
+s,@prefix@,$prefix,;t t
+s,@program_transform_name@,$program_transform_name,;t t
+s,@bindir@,$bindir,;t t
+s,@sbindir@,$sbindir,;t t
+s,@libexecdir@,$libexecdir,;t t
+s,@datadir@,$datadir,;t t
+s,@sysconfdir@,$sysconfdir,;t t
+s,@sharedstatedir@,$sharedstatedir,;t t
+s,@localstatedir@,$localstatedir,;t t
+s,@libdir@,$libdir,;t t
+s,@includedir@,$includedir,;t t
+s,@oldincludedir@,$oldincludedir,;t t
+s,@infodir@,$infodir,;t t
+s,@mandir@,$mandir,;t t
+s,@build_alias@,$build_alias,;t t
+s,@host_alias@,$host_alias,;t t
+s,@target_alias@,$target_alias,;t t
+s,@DEFS@,$DEFS,;t t
+s,@ECHO_C@,$ECHO_C,;t t
+s,@ECHO_N@,$ECHO_N,;t t
+s,@ECHO_T@,$ECHO_T,;t t
+s,@LIBS@,$LIBS,;t t
+s,@build@,$build,;t t
+s,@build_cpu@,$build_cpu,;t t
+s,@build_vendor@,$build_vendor,;t t
+s,@build_os@,$build_os,;t t
+s,@host@,$host,;t t
+s,@host_cpu@,$host_cpu,;t t
+s,@host_vendor@,$host_vendor,;t t
+s,@host_os@,$host_os,;t t
+s,@target@,$target,;t t
+s,@target_cpu@,$target_cpu,;t t
+s,@target_vendor@,$target_vendor,;t t
+s,@target_os@,$target_os,;t t
+s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t
+s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t
+s,@INSTALL_DATA@,$INSTALL_DATA,;t t
+s,@PACKAGE@,$PACKAGE,;t t
+s,@VERSION@,$VERSION,;t t
+s,@ACLOCAL@,$ACLOCAL,;t t
+s,@AUTOCONF@,$AUTOCONF,;t t
+s,@AUTOMAKE@,$AUTOMAKE,;t t
+s,@AUTOHEADER@,$AUTOHEADER,;t t
+s,@MAKEINFO@,$MAKEINFO,;t t
+s,@SET_MAKE@,$SET_MAKE,;t t
+s,@LIBVER_CURRENT@,$LIBVER_CURRENT,;t t
+s,@LIBVER_REVISION@,$LIBVER_REVISION,;t t
+s,@LIBVER_AGE@,$LIBVER_AGE,;t t
+s,@CC@,$CC,;t t
+s,@CFLAGS@,$CFLAGS,;t t
+s,@LDFLAGS@,$LDFLAGS,;t t
+s,@CPPFLAGS@,$CPPFLAGS,;t t
+s,@ac_ct_CC@,$ac_ct_CC,;t t
+s,@EXEEXT@,$EXEEXT,;t t
+s,@OBJEXT@,$OBJEXT,;t t
+s,@LEX@,$LEX,;t t
+s,@LEXLIB@,$LEXLIB,;t t
+s,@LEX_OUTPUT_ROOT@,$LEX_OUTPUT_ROOT,;t t
+s,@YACC@,$YACC,;t t
+s,@LN_S@,$LN_S,;t t
+s,@ECHO@,$ECHO,;t t
+s,@RANLIB@,$RANLIB,;t t
+s,@ac_ct_RANLIB@,$ac_ct_RANLIB,;t t
+s,@STRIP@,$STRIP,;t t
+s,@ac_ct_STRIP@,$ac_ct_STRIP,;t t
+s,@CPP@,$CPP,;t t
+s,@EGREP@,$EGREP,;t t
+s,@LIBTOOL@,$LIBTOOL,;t t
+s,@LIBTOOL_DEPS@,$LIBTOOL_DEPS,;t t
+s,@PERL@,$PERL,;t t
+s,@LIBOBJS@,$LIBOBJS,;t t
+s,@LTLIBOBJS@,$LTLIBOBJS,;t t
+CEOF
+
+_ACEOF
+
+  cat >>$CONFIG_STATUS <<\_ACEOF
+  # Split the substitutions into bite-sized pieces for seds with
+  # small command number limits, like on Digital OSF/1 and HP-UX.
+  ac_max_sed_lines=48
+  ac_sed_frag=1 # Number of current file.
+  ac_beg=1 # First line for current file.
+  ac_end=$ac_max_sed_lines # Line after last line for current file.
+  ac_more_lines=:
+  ac_sed_cmds=
+  while $ac_more_lines; do
+    if test $ac_beg -gt 1; then
+      sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
+    else
+      sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
+    fi
+    if test ! -s $tmp/subs.frag; then
+      ac_more_lines=false
+    else
+      # The purpose of the label and of the branching condition is to
+      # speed up the sed processing (if there are no `@' at all, there
+      # is no need to browse any of the substitutions).
+      # These are the two extra sed commands mentioned above.
+      (echo ':t
+  /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed
+      if test -z "$ac_sed_cmds"; then
+  	ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed"
+      else
+  	ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed"
+      fi
+      ac_sed_frag=`expr $ac_sed_frag + 1`
+      ac_beg=$ac_end
+      ac_end=`expr $ac_end + $ac_max_sed_lines`
+    fi
+  done
+  if test -z "$ac_sed_cmds"; then
+    ac_sed_cmds=cat
+  fi
+fi # test -n "$CONFIG_FILES"
+
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
+for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue
   # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
-  case "$ac_file" in
-  *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
-       ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
-  *) ac_file_in="${ac_file}.in" ;;
-  esac
-
-  # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
-
-  # Remove last slash and all that follows it.  Not all systems have dirname.
-  ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
-  if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
-    # The file is in a subdirectory.
-    test ! -d "$ac_dir" && mkdir "$ac_dir"
-    ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
-    # A "../" for each directory in $ac_dir_suffix.
-    ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
-  else
-    ac_dir_suffix= ac_dots=
-  fi
-
-  case "$ac_given_srcdir" in
-  .)  srcdir=.
-      if test -z "$ac_dots"; then top_srcdir=.
-      else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
-  /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
+  case $ac_file in
+  - | *:- | *:-:* ) # input from stdin
+        cat >$tmp/stdin
+        ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+        ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+  *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+        ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+  * )   ac_file_in=$ac_file.in ;;
+  esac
+
+  # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories.
+  ac_dir=`(dirname "$ac_file") 2>/dev/null ||
+$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+         X"$ac_file" : 'X\(//\)[^/]' \| \
+         X"$ac_file" : 'X\(//\)$' \| \
+         X"$ac_file" : 'X\(/\)' \| \
+         .     : '\(.\)' 2>/dev/null ||
+echo X"$ac_file" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+  	  /^X\(\/\/\)$/{ s//\1/; q; }
+  	  /^X\(\/\).*/{ s//\1/; q; }
+  	  s/.*/./; q'`
+  { if $as_mkdir_p; then
+    mkdir -p "$ac_dir"
+  else
+    as_dir="$ac_dir"
+    as_dirs=
+    while test ! -d "$as_dir"; do
+      as_dirs="$as_dir $as_dirs"
+      as_dir=`(dirname "$as_dir") 2>/dev/null ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+         X"$as_dir" : 'X\(//\)[^/]' \| \
+         X"$as_dir" : 'X\(//\)$' \| \
+         X"$as_dir" : 'X\(/\)' \| \
+         .     : '\(.\)' 2>/dev/null ||
+echo X"$as_dir" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+  	  /^X\(\/\/\)$/{ s//\1/; q; }
+  	  /^X\(\/\).*/{ s//\1/; q; }
+  	  s/.*/./; q'`
+    done
+    test ! -n "$as_dirs" || mkdir $as_dirs
+  fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
+echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
+   { (exit 1); exit 1; }; }; }
+
+  ac_builddir=.
+
+if test "$ac_dir" != .; then
+  ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
+  # A "../" for each directory in $ac_dir_suffix.
+  ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
+else
+  ac_dir_suffix= ac_top_builddir=
+fi
+
+case $srcdir in
+  .)  # No --srcdir option.  We are building in place.
+    ac_srcdir=.
+    if test -z "$ac_top_builddir"; then
+       ac_top_srcdir=.
+    else
+       ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
+    fi ;;
+  [\\/]* | ?:[\\/]* )  # Absolute path.
+    ac_srcdir=$srcdir$ac_dir_suffix;
+    ac_top_srcdir=$srcdir ;;
   *) # Relative path.
-    srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
-    top_srcdir="$ac_dots$ac_given_srcdir" ;;
+    ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
+    ac_top_srcdir=$ac_top_builddir$srcdir ;;
+esac
+# Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be
+# absolute.
+ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd`
+ac_abs_top_builddir=`cd "$ac_dir" && cd ${ac_top_builddir}. && pwd`
+ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd`
+ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd`
+
+
+  case $INSTALL in
+  [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
+  *) ac_INSTALL=$ac_top_builddir$INSTALL ;;
   esac
 
-  case "$ac_given_INSTALL" in
-  [/$]*) INSTALL="$ac_given_INSTALL" ;;
-  *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
-  esac
-
-  echo creating "$ac_file"
-  rm -f "$ac_file"
-  configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
-  case "$ac_file" in
-  *Makefile*) ac_comsub="1i\\
-# $configure_input" ;;
-  *) ac_comsub= ;;
-  esac
-
-  ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
-  sed -e "$ac_comsub
-s%@configure_input@%$configure_input%g
-s%@srcdir@%$srcdir%g
-s%@top_srcdir@%$top_srcdir%g
-s%@INSTALL@%$INSTALL%g
-" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
-fi; done
-rm -f conftest.s*
+  if test x"$ac_file" != x-; then
+    { echo "$as_me:$LINENO: creating $ac_file" >&5
+echo "$as_me: creating $ac_file" >&6;}
+    rm -f "$ac_file"
+  fi
+  # Let's still pretend it is `configure' which instantiates (i.e., don't
+  # use $as_me), people would be surprised to read:
+  #    /* config.h.  Generated by config.status.  */
+  if test x"$ac_file" = x-; then
+    configure_input=
+  else
+    configure_input="$ac_file.  "
+  fi
+  configure_input=$configure_input"Generated from `echo $ac_file_in |
+                                     sed 's,.*/,,'` by configure."
+
+  # First look for the input files in the build tree, otherwise in the
+  # src tree.
+  ac_file_inputs=`IFS=:
+    for f in $ac_file_in; do
+      case $f in
+      -) echo $tmp/stdin ;;
+      [\\/$]*)
+         # Absolute (can't be DOS-style, as IFS=:)
+         test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+   { (exit 1); exit 1; }; }
+         echo $f;;
+      *) # Relative
+         if test -f "$f"; then
+           # Build tree
+           echo $f
+         elif test -f "$srcdir/$f"; then
+           # Source tree
+           echo $srcdir/$f
+         else
+           # /dev/null tree
+           { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+   { (exit 1); exit 1; }; }
+         fi;;
+      esac
+    done` || { (exit 1); exit 1; }
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF
+  sed "$ac_vpsub
+$extrasub
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
+:t
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
+s,@configure_input@,$configure_input,;t t
+s,@srcdir@,$ac_srcdir,;t t
+s,@abs_srcdir@,$ac_abs_srcdir,;t t
+s,@top_srcdir@,$ac_top_srcdir,;t t
+s,@abs_top_srcdir@,$ac_abs_top_srcdir,;t t
+s,@builddir@,$ac_builddir,;t t
+s,@abs_builddir@,$ac_abs_builddir,;t t
+s,@top_builddir@,$ac_top_builddir,;t t
+s,@abs_top_builddir@,$ac_abs_top_builddir,;t t
+s,@INSTALL@,$ac_INSTALL,;t t
+" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out
+  rm -f $tmp/stdin
+  if test x"$ac_file" != x-; then
+    mv $tmp/out $ac_file
+  else
+    cat $tmp/out
+    rm -f $tmp/out
+  fi
+
+done
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
+
+#
+# CONFIG_HEADER section.
+#
 
 # These sed commands are passed to sed as "A NAME B NAME C VALUE D", where
 # NAME is the cpp macro being defined and VALUE is the value it is being given.
 #
 # ac_d sets the value in "#define NAME VALUE" lines.
-ac_dA='s%^\([ 	]*\)#\([ 	]*define[ 	][ 	]*\)'
-ac_dB='\([ 	][ 	]*\)[^ 	]*%\1#\2'
-ac_dC='\3'
-ac_dD='%g'
-# ac_u turns "#undef NAME" with trailing blanks into "#define NAME VALUE".
-ac_uA='s%^\([ 	]*\)#\([ 	]*\)undef\([ 	][ 	]*\)'
-ac_uB='\([ 	]\)%\1#\2define\3'
+ac_dA='s,^\([ 	]*\)#\([ 	]*define[ 	][ 	]*\)'
+ac_dB='[ 	].*$,\1#\2'
+ac_dC=' '
+ac_dD=',;t'
+# ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE".
+ac_uA='s,^\([ 	]*\)#\([ 	]*\)undef\([ 	][ 	]*\)'
+ac_uB='$,\1#\2define\3'
 ac_uC=' '
-ac_uD='\4%g'
-# ac_e turns "#undef NAME" without trailing blanks into "#define NAME VALUE".
-ac_eA='s%^\([ 	]*\)#\([ 	]*\)undef\([ 	][ 	]*\)'
-ac_eB='$%\1#\2define\3'
-ac_eC=' '
-ac_eD='%g'
+ac_uD=',;t'
 
-if test "${CONFIG_HEADERS+set}" != set; then
-EOF
-cat >> $CONFIG_STATUS <<EOF
-  CONFIG_HEADERS="config.h"
-EOF
-cat >> $CONFIG_STATUS <<\EOF
-fi
-for ac_file in .. $CONFIG_HEADERS; do if test "x$ac_file" != x..; then
+for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue
   # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
-  case "$ac_file" in
-  *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
-       ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
-  *) ac_file_in="${ac_file}.in" ;;
+  case $ac_file in
+  - | *:- | *:-:* ) # input from stdin
+        cat >$tmp/stdin
+        ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+        ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+  *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+        ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+  * )   ac_file_in=$ac_file.in ;;
   esac
 
-  echo creating $ac_file
-
-  rm -f conftest.frag conftest.in conftest.out
-  ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
-  cat $ac_file_inputs > conftest.in
-
-EOF
+  test x"$ac_file" != x- && { echo "$as_me:$LINENO: creating $ac_file" >&5
+echo "$as_me: creating $ac_file" >&6;}
 
-# Transform confdefs.h into a sed script conftest.vals that substitutes
-# the proper values into config.h.in to produce config.h.  And first:
-# Protect against being on the right side of a sed subst in config.status.
-# Protect against being in an unquoted here document in config.status.
-rm -f conftest.vals
-cat > conftest.hdr <<\EOF
-s/[\\&%]/\\&/g
-s%[\\$`]%\\&%g
-s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD}%gp
-s%ac_d%ac_u%gp
-s%ac_u%ac_e%gp
-EOF
-sed -n -f conftest.hdr confdefs.h > conftest.vals
-rm -f conftest.hdr
+  # First look for the input files in the build tree, otherwise in the
+  # src tree.
+  ac_file_inputs=`IFS=:
+    for f in $ac_file_in; do
+      case $f in
+      -) echo $tmp/stdin ;;
+      [\\/$]*)
+         # Absolute (can't be DOS-style, as IFS=:)
+         test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+   { (exit 1); exit 1; }; }
+         echo $f;;
+      *) # Relative
+         if test -f "$f"; then
+           # Build tree
+           echo $f
+         elif test -f "$srcdir/$f"; then
+           # Source tree
+           echo $srcdir/$f
+         else
+           # /dev/null tree
+           { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+   { (exit 1); exit 1; }; }
+         fi;;
+      esac
+    done` || { (exit 1); exit 1; }
+  # Remove the trailing spaces.
+  sed 's/[ 	]*$//' $ac_file_inputs >$tmp/in
+
+_ACEOF
+
+# Transform confdefs.h into two sed scripts, `conftest.defines' and
+# `conftest.undefs', that substitutes the proper values into
+# config.h.in to produce config.h.  The first handles `#define'
+# templates, and the second `#undef' templates.
+# And first: Protect against being on the right side of a sed subst in
+# config.status.  Protect against being in an unquoted here document
+# in config.status.
+rm -f conftest.defines conftest.undefs
+# Using a here document instead of a string reduces the quoting nightmare.
+# Putting comments in sed scripts is not portable.
+#
+# `end' is used to avoid that the second main sed command (meant for
+# 0-ary CPP macros) applies to n-ary macro definitions.
+# See the Autoconf documentation for `clear'.
+cat >confdef2sed.sed <<\_ACEOF
+s/[\\&,]/\\&/g
+s,[\\$`],\\&,g
+t clear
+: clear
+s,^[ 	]*#[ 	]*define[ 	][ 	]*\([^ 	(][^ 	(]*\)\(([^)]*)\)[ 	]*\(.*\)$,${ac_dA}\1${ac_dB}\1\2${ac_dC}\3${ac_dD},gp
+t end
+s,^[ 	]*#[ 	]*define[ 	][ 	]*\([^ 	][^ 	]*\)[ 	]*\(.*\)$,${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD},gp
+: end
+_ACEOF
+# If some macros were called several times there might be several times
+# the same #defines, which is useless.  Nevertheless, we may not want to
+# sort them, since we want the *last* AC-DEFINE to be honored.
+uniq confdefs.h | sed -n -f confdef2sed.sed >conftest.defines
+sed 's/ac_d/ac_u/g' conftest.defines >conftest.undefs
+rm -f confdef2sed.sed
 
 # This sed command replaces #undef with comments.  This is necessary, for
 # example, in the case of _POSIX_SOURCE, which is predefined and required
 # on some systems where configure will not decide to define it.
-cat >> conftest.vals <<\EOF
-s%^[ 	]*#[ 	]*undef[ 	][ 	]*[a-zA-Z_][a-zA-Z_0-9]*%/* & */%
-EOF
-
-# Break up conftest.vals because some shells have a limit on
-# the size of here documents, and old seds have small limits too.
-
+cat >>conftest.undefs <<\_ACEOF
+s,^[ 	]*#[ 	]*undef[ 	][ 	]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */,
+_ACEOF
+
+# Break up conftest.defines because some shells have a limit on the size
+# of here documents, and old seds have small limits too (100 cmds).
+echo '  # Handle all the #define templates only if necessary.' >>$CONFIG_STATUS
+echo '  if grep "^[ 	]*#[ 	]*define" $tmp/in >/dev/null; then' >>$CONFIG_STATUS
+echo '  # If there are no defines, we may have an empty if/fi' >>$CONFIG_STATUS
+echo '  :' >>$CONFIG_STATUS
+rm -f conftest.tail
+while grep . conftest.defines >/dev/null
+do
+  # Write a limited-size here document to $tmp/defines.sed.
+  echo '  cat >$tmp/defines.sed <<CEOF' >>$CONFIG_STATUS
+  # Speed up: don't consider the non `#define' lines.
+  echo '/^[ 	]*#[ 	]*define/!b' >>$CONFIG_STATUS
+  # Work around the forget-to-reset-the-flag bug.
+  echo 't clr' >>$CONFIG_STATUS
+  echo ': clr' >>$CONFIG_STATUS
+  sed ${ac_max_here_lines}q conftest.defines >>$CONFIG_STATUS
+  echo 'CEOF
+  sed -f $tmp/defines.sed $tmp/in >$tmp/out
+  rm -f $tmp/in
+  mv $tmp/out $tmp/in
+' >>$CONFIG_STATUS
+  sed 1,${ac_max_here_lines}d conftest.defines >conftest.tail
+  rm -f conftest.defines
+  mv conftest.tail conftest.defines
+done
+rm -f conftest.defines
+echo '  fi # grep' >>$CONFIG_STATUS
+echo >>$CONFIG_STATUS
+
+# Break up conftest.undefs because some shells have a limit on the size
+# of here documents, and old seds have small limits too (100 cmds).
+echo '  # Handle all the #undef templates' >>$CONFIG_STATUS
 rm -f conftest.tail
-while :
+while grep . conftest.undefs >/dev/null
 do
-  ac_lines=`grep -c . conftest.vals`
-  # grep -c gives empty output for an empty file on some AIX systems.
-  if test -z "$ac_lines" || test "$ac_lines" -eq 0; then break; fi
-  # Write a limited-size here document to conftest.frag.
-  echo '  cat > conftest.frag <<CEOF' >> $CONFIG_STATUS
-  sed ${ac_max_here_lines}q conftest.vals >> $CONFIG_STATUS
+  # Write a limited-size here document to $tmp/undefs.sed.
+  echo '  cat >$tmp/undefs.sed <<CEOF' >>$CONFIG_STATUS
+  # Speed up: don't consider the non `#undef'
+  echo '/^[ 	]*#[ 	]*undef/!b' >>$CONFIG_STATUS
+  # Work around the forget-to-reset-the-flag bug.
+  echo 't clr' >>$CONFIG_STATUS
+  echo ': clr' >>$CONFIG_STATUS
+  sed ${ac_max_here_lines}q conftest.undefs >>$CONFIG_STATUS
   echo 'CEOF
-  sed -f conftest.frag conftest.in > conftest.out
-  rm -f conftest.in
-  mv conftest.out conftest.in
-' >> $CONFIG_STATUS
-  sed 1,${ac_max_here_lines}d conftest.vals > conftest.tail
-  rm -f conftest.vals
-  mv conftest.tail conftest.vals
-done
-rm -f conftest.vals
-
-cat >> $CONFIG_STATUS <<\EOF
-  rm -f conftest.frag conftest.h
-  echo "/* $ac_file.  Generated automatically by configure.  */" > conftest.h
-  cat conftest.in >> conftest.h
-  rm -f conftest.in
-  if cmp -s $ac_file conftest.h 2>/dev/null; then
-    echo "$ac_file is unchanged"
-    rm -f conftest.h
-  else
-    # Remove last slash and all that follows it.  Not all systems have dirname.
-      ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
-      if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
-      # The file is in a subdirectory.
-      test ! -d "$ac_dir" && mkdir "$ac_dir"
+  sed -f $tmp/undefs.sed $tmp/in >$tmp/out
+  rm -f $tmp/in
+  mv $tmp/out $tmp/in
+' >>$CONFIG_STATUS
+  sed 1,${ac_max_here_lines}d conftest.undefs >conftest.tail
+  rm -f conftest.undefs
+  mv conftest.tail conftest.undefs
+done
+rm -f conftest.undefs
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+  # Let's still pretend it is `configure' which instantiates (i.e., don't
+  # use $as_me), people would be surprised to read:
+  #    /* config.h.  Generated by config.status.  */
+  if test x"$ac_file" = x-; then
+    echo "/* Generated by configure.  */" >$tmp/config.h
+  else
+    echo "/* $ac_file.  Generated by configure.  */" >$tmp/config.h
+  fi
+  cat $tmp/in >>$tmp/config.h
+  rm -f $tmp/in
+  if test x"$ac_file" != x-; then
+    if diff $ac_file $tmp/config.h >/dev/null 2>&1; then
+      { echo "$as_me:$LINENO: $ac_file is unchanged" >&5
+echo "$as_me: $ac_file is unchanged" >&6;}
+    else
+      ac_dir=`(dirname "$ac_file") 2>/dev/null ||
+$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+         X"$ac_file" : 'X\(//\)[^/]' \| \
+         X"$ac_file" : 'X\(//\)$' \| \
+         X"$ac_file" : 'X\(/\)' \| \
+         .     : '\(.\)' 2>/dev/null ||
+echo X"$ac_file" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+  	  /^X\(\/\/\)$/{ s//\1/; q; }
+  	  /^X\(\/\).*/{ s//\1/; q; }
+  	  s/.*/./; q'`
+      { if $as_mkdir_p; then
+    mkdir -p "$ac_dir"
+  else
+    as_dir="$ac_dir"
+    as_dirs=
+    while test ! -d "$as_dir"; do
+      as_dirs="$as_dir $as_dirs"
+      as_dir=`(dirname "$as_dir") 2>/dev/null ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+         X"$as_dir" : 'X\(//\)[^/]' \| \
+         X"$as_dir" : 'X\(//\)$' \| \
+         X"$as_dir" : 'X\(/\)' \| \
+         .     : '\(.\)' 2>/dev/null ||
+echo X"$as_dir" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+  	  /^X\(\/\/\)$/{ s//\1/; q; }
+  	  /^X\(\/\).*/{ s//\1/; q; }
+  	  s/.*/./; q'`
+    done
+    test ! -n "$as_dirs" || mkdir $as_dirs
+  fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
+echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
+   { (exit 1); exit 1; }; }; }
+
+      rm -f $ac_file
+      mv $tmp/config.h $ac_file
     fi
-    rm -f $ac_file
-    mv conftest.h $ac_file
+  else
+    cat $tmp/config.h
+    rm -f $tmp/config.h
   fi
-fi; done
+done
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
 
-EOF
-cat >> $CONFIG_STATUS <<EOF
+#
+# CONFIG_COMMANDS section.
+#
+for ac_file in : $CONFIG_COMMANDS; do test "x$ac_file" = x: && continue
+  ac_dest=`echo "$ac_file" | sed 's,:.*,,'`
+  ac_source=`echo "$ac_file" | sed 's,[^:]*:,,'`
+  ac_dir=`(dirname "$ac_dest") 2>/dev/null ||
+$as_expr X"$ac_dest" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+         X"$ac_dest" : 'X\(//\)[^/]' \| \
+         X"$ac_dest" : 'X\(//\)$' \| \
+         X"$ac_dest" : 'X\(/\)' \| \
+         .     : '\(.\)' 2>/dev/null ||
+echo X"$ac_dest" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+  	  /^X\(\/\/\)$/{ s//\1/; q; }
+  	  /^X\(\/\).*/{ s//\1/; q; }
+  	  s/.*/./; q'`
+  ac_builddir=.
+
+if test "$ac_dir" != .; then
+  ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
+  # A "../" for each directory in $ac_dir_suffix.
+  ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
+else
+  ac_dir_suffix= ac_top_builddir=
+fi
+
+case $srcdir in
+  .)  # No --srcdir option.  We are building in place.
+    ac_srcdir=.
+    if test -z "$ac_top_builddir"; then
+       ac_top_srcdir=.
+    else
+       ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
+    fi ;;
+  [\\/]* | ?:[\\/]* )  # Absolute path.
+    ac_srcdir=$srcdir$ac_dir_suffix;
+    ac_top_srcdir=$srcdir ;;
+  *) # Relative path.
+    ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
+    ac_top_srcdir=$ac_top_builddir$srcdir ;;
+esac
+# Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be
+# absolute.
+ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd`
+ac_abs_top_builddir=`cd "$ac_dir" && cd ${ac_top_builddir}. && pwd`
+ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd`
+ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd`
 
 
-EOF
-cat >> $CONFIG_STATUS <<\EOF
-test -z "$CONFIG_HEADERS" || echo timestamp > stamp-h
+  { echo "$as_me:$LINENO: executing $ac_dest commands" >&5
+echo "$as_me: executing $ac_dest commands" >&6;}
+  case $ac_dest in
+    default-1 ) test -z "$CONFIG_HEADERS" || echo timestamp > stamp-h ;;
+  esac
+done
+_ACEOF
 
-exit 0
-EOF
+cat >>$CONFIG_STATUS <<\_ACEOF
+
+{ (exit 0); exit 0; }
+_ACEOF
 chmod +x $CONFIG_STATUS
-rm -fr confdefs* $ac_clean_files
-test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
+ac_clean_files=$ac_clean_files_save
+
+
+# configure is writing to config.log, and then calls config.status.
+# config.status does its own redirection, appending to config.log.
+# Unfortunately, on DOS this fails, as config.log is still kept open
+# by configure, so config.status won't be able to write to it; its
+# output is simply discarded.  So we exec the FD to /dev/null,
+# effectively closing config.log, so it can be properly (re)opened and
+# appended to by config.status.  When coming back to configure, we
+# need to make the FD available again.
+if test "$no_create" != yes; then
+  ac_cs_success=:
+  ac_config_status_args=
+  test "$silent" = yes &&
+    ac_config_status_args="$ac_config_status_args --quiet"
+  exec 5>/dev/null
+  $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
+  exec 5>>config.log
+  # Use ||, not &&, to avoid exiting from the if with $? = 1, which
+  # would make configure fail if this is the last instruction.
+  $ac_cs_success || { (exit 1); exit 1; }
+fi
 
 
Index: linux-atm-2.4.1/ltmain.sh
===================================================================
--- linux-atm-2.4.1.orig/ltmain.sh	2007-06-04 13:23:53.918537032 +0200
+++ linux-atm-2.4.1/ltmain.sh	2007-06-04 13:23:54.479451760 +0200
@@ -49,14 +49,14 @@
 fi
 
 # The name of this program.
-progname=`$echo "$0" | sed 's%^.*/%%'`
+progname=`$echo "$0" | ${SED} 's%^.*/%%'`
 modename="$progname"
 
 # Constants.
 PROGRAM=ltmain.sh
 PACKAGE=libtool
-VERSION=1.4
-TIMESTAMP=" (1.920 2001/04/24 23:26:18)"
+VERSION=1.4.3
+TIMESTAMP=" (1.922.2.111 2002/10/23 02:54:36)"
 
 default_mode=
 help="Try \`$progname --help' for more information."
@@ -67,10 +67,19 @@
 
 # Sed substitution that helps us do robust quoting.  It backslashifies
 # metacharacters that are still active within double-quoted strings.
-Xsed='sed -e 1s/^X//'
+Xsed="${SED}"' -e 1s/^X//'
 sed_quote_subst='s/\([\\`\\"$\\\\]\)/\\\1/g'
-SP2NL='tr \040 \012'
-NL2SP='tr \015\012 \040\040'
+# test EBCDIC or ASCII                                                         
+case `echo A|od -x` in                                                         
+ *[Cc]1*) # EBCDIC based system                                                
+  SP2NL="tr '\100' '\n'"                                                       
+  NL2SP="tr '\r\n' '\100\100'"                                                 
+  ;;                                                                           
+ *) # Assume ASCII based system                                                
+  SP2NL="tr '\040' '\012'"                                                     
+  NL2SP="tr '\015\012' '\040\040'"                                             
+  ;;                                                                           
+esac                                                                           
 
 # NLS nuisances.
 # Only set LANG and LC_ALL to C if already set.
@@ -84,6 +93,9 @@
   save_LANG="$LANG"; LANG=C; export LANG
 fi
 
+# Make sure IFS has a sensible default
+: ${IFS=" 	"}
+
 if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
   echo "$modename: not configured to build any kind of library" 1>&2
   echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2
@@ -141,7 +153,7 @@
     ;;
 
   --config)
-    sed -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $0
+    ${SED} -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $0
     exit 0
     ;;
 
@@ -174,6 +186,8 @@
   --mode) prevopt="--mode" prev=mode ;;
   --mode=*) mode="$optarg" ;;
 
+  --preserve-dup-deps) duplicate_deps="yes" ;;
+
   --quiet | --silent)
     show=:
     ;;
@@ -202,12 +216,17 @@
   exit 1
 fi
 
+# If this variable is set in any of the actions, the command in it
+# will be execed at the end.  This prevents here-documents from being
+# left over by shells.
+exec_cmd=
+
 if test -z "$show_help"; then
 
   # Infer the operation mode.
   if test -z "$mode"; then
     case $nonopt in
-    *cc | *++ | gcc* | *-gcc*)
+    *cc | *++ | gcc* | *-gcc* | g++* | xlc*)
       mode=link
       for arg
       do
@@ -329,7 +348,7 @@
       -Wc,*)
 	args=`$echo "X$arg" | $Xsed -e "s/^-Wc,//"`
 	lastarg=
-	IFS="${IFS= 	}"; save_ifs="$IFS"; IFS=','
+	save_ifs="$IFS"; IFS=','
 	for arg in $args; do
 	  IFS="$save_ifs"
 
@@ -615,6 +634,10 @@
 	# Now arrange that obj and lo_libobj become the same file
 	$show "(cd $xdir && $LN_S $baseobj $libobj)"
 	if $run eval '(cd $xdir && $LN_S $baseobj $libobj)'; then
+	  # Unlock the critical section if it was locked
+	  if test "$need_locks" != no; then
+	    $run $rm "$lockfile"
+	  fi
 	  exit 0
 	else
 	  error=$?
@@ -745,6 +768,7 @@
     linker_flags=
     dllsearchpath=
     lib_search_path=`pwd`
+    inst_prefix_dir=
 
     avoid_version=no
     dlfiles=
@@ -875,6 +899,11 @@
 	  prev=
 	  continue
 	  ;;
+	inst_prefix)
+	  inst_prefix_dir="$arg"
+	  prev=
+	  continue
+	  ;;
 	release)
 	  release="-$arg"
 	  prev=
@@ -976,11 +1005,16 @@
 	continue
 	;;
 
+      -inst-prefix-dir)
+       prev=inst_prefix
+       continue
+       ;;
+
       # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:*
       # so, if we see these flags be careful not to treat them like -L
       -L[A-Z][A-Z]*:*)
 	case $with_gcc/$host in
-	no/*-*-irix*)
+	no/*-*-irix* | no/*-*-nonstopux*)
 	  compile_command="$compile_command $arg"
 	  finalize_command="$finalize_command $arg"
 	  ;;
@@ -1031,6 +1065,17 @@
 	    # These systems don't actually have a C library (as such)
 	    test "X$arg" = "X-lc" && continue
 	    ;;
+	  *-*-openbsd* | *-*-freebsd*)
+	    # Do not include libc due to us having libc/libc_r.
+	    test "X$arg" = "X-lc" && continue
+	    ;;
+	  esac
+	 elif test "X$arg" = "X-lc_r"; then
+	  case $host in
+	 *-*-openbsd* | *-*-freebsd*)
+	    # Do not include libc_r directly, use -pthread flag.
+	    continue
+	    ;;
 	  esac
 	fi
 	deplibs="$deplibs $arg"
@@ -1122,7 +1167,7 @@
       -Wc,*)
 	args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wc,//'`
 	arg=
-	IFS="${IFS= 	}"; save_ifs="$IFS"; IFS=','
+	save_ifs="$IFS"; IFS=','
 	for flag in $args; do
 	  IFS="$save_ifs"
 	  case $flag in
@@ -1140,7 +1185,7 @@
       -Wl,*)
 	args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wl,//'`
 	arg=
-	IFS="${IFS= 	}"; save_ifs="$IFS"; IFS=','
+	save_ifs="$IFS"; IFS=','
 	for flag in $args; do
 	  IFS="$save_ifs"
 	  case $flag in
@@ -1307,9 +1352,11 @@
     # Find all interdependent deplibs by searching for libraries
     # that are linked more than once (e.g. -la -lb -la)
     for deplib in $deplibs; do
-      case "$libs " in
-      *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
-      esac
+      if test "X$duplicate_deps" = "Xyes" ; then
+	case "$libs " in
+	*" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
+	esac
+      fi
       libs="$libs $deplib"
     done
     deplibs=
@@ -1343,7 +1390,7 @@
 	;;
     esac
     for pass in $passes; do
-      if test "$linkmode" = prog; then
+      if test $linkmode = prog; then
 	# Determine which files to process
 	case $pass in
 	dlopen)
@@ -1360,11 +1407,11 @@
 	found=no
 	case $deplib in
 	-l*)
-	  if test "$linkmode" = oldlib && test "$linkmode" = obj; then
+	  if test $linkmode = oldlib && test $linkmode = obj; then
 	    $echo "$modename: warning: \`-l' is ignored for archives/objects: $deplib" 1>&2
 	    continue
 	  fi
-	  if test "$pass" = conv; then
+	  if test $pass = conv; then
 	    deplibs="$deplib $deplibs"
 	    continue
 	  fi
@@ -1384,7 +1431,7 @@
 	      finalize_deplibs="$deplib $finalize_deplibs"
 	    else
 	      deplibs="$deplib $deplibs"
-	      test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
+	      test $linkmode = lib && newdependency_libs="$deplib $newdependency_libs"
 	    fi
 	    continue
 	  fi
@@ -1393,16 +1440,16 @@
 	  case $linkmode in
 	  lib)
 	    deplibs="$deplib $deplibs"
-	    test "$pass" = conv && continue
+	    test $pass = conv && continue
 	    newdependency_libs="$deplib $newdependency_libs"
 	    newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`
 	    ;;
 	  prog)
-	    if test "$pass" = conv; then
+	    if test $pass = conv; then
 	      deplibs="$deplib $deplibs"
 	      continue
 	    fi
-	    if test "$pass" = scan; then
+	    if test $pass = scan; then
 	      deplibs="$deplib $deplibs"
 	      newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`
 	    else
@@ -1417,7 +1464,7 @@
 	  continue
 	  ;; # -L
 	-R*)
-	  if test "$pass" = link; then
+	  if test $pass = link; then
 	    dir=`$echo "X$deplib" | $Xsed -e 's/^-R//'`
 	    # Make sure the xrpath contains only unique directories.
 	    case "$xrpath " in
@@ -1430,7 +1477,7 @@
 	  ;;
 	*.la) lib="$deplib" ;;
 	*.$libext)
-	  if test "$pass" = conv; then
+	  if test $pass = conv; then
 	    deplibs="$deplib $deplibs"
 	    continue
 	  fi
@@ -1438,10 +1485,12 @@
 	  lib)
 	    if test "$deplibs_check_method" != pass_all; then
 	      echo
-	      echo "*** Warning: This library needs some functionality provided by $deplib."
+	      echo "*** Warning: Trying to link with static lib archive $deplib."
 	      echo "*** I have the capability to make that library automatically link in when"
 	      echo "*** you link to this library.  But I can only do this if you have a"
-	      echo "*** shared version of the library, which you do not appear to have."
+	      echo "*** shared version of the library, which you do not appear to have"
+	      echo "*** because the file extensions .$libext of this argument makes me believe"
+	      echo "*** that it is just a static archive that I should not used here."
 	    else
 	      echo
 	      echo "*** Warning: Linking the shared library $output against the"
@@ -1451,7 +1500,7 @@
 	    continue
 	    ;;
 	  prog)
-	    if test "$pass" != link; then
+	    if test $pass != link; then
 	      deplibs="$deplib $deplibs"
 	    else
 	      compile_deplibs="$deplib $compile_deplibs"
@@ -1462,7 +1511,7 @@
 	  esac # linkmode
 	  ;; # *.$libext
 	*.lo | *.$objext)
-	  if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then
+	  if test $pass = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then
 	    # If there is no dlopen support or we're linking statically,
 	    # we need to preload.
 	    newdlprefiles="$newdlprefiles $deplib"
@@ -1485,7 +1534,7 @@
 	fi
 
 	# Check to see that this really is a libtool archive.
-	if (sed -e '2q' $lib | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
+	if (${SED} -e '2q' $lib | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
 	else
 	  $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
 	  exit 1
@@ -1512,13 +1561,13 @@
 
 	if test "$linkmode,$pass" = "lib,link" ||
 	   test "$linkmode,$pass" = "prog,scan" ||
-	   { test "$linkmode" = oldlib && test "$linkmode" = obj; }; then
+	   { test $linkmode = oldlib && test $linkmode = obj; }; then
 	   # Add dl[pre]opened files of deplib
 	  test -n "$dlopen" && dlfiles="$dlfiles $dlopen"
 	  test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen"
 	fi
 
-	if test "$pass" = conv; then
+	if test $pass = conv; then
 	  # Only check for convenience libraries
 	  deplibs="$lib $deplibs"
 	  if test -z "$libdir"; then
@@ -1532,12 +1581,14 @@
 	    tmp_libs=
 	    for deplib in $dependency_libs; do
 	      deplibs="$deplib $deplibs"
-	      case "$tmp_libs " in
-	      *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
-	      esac
+              if test "X$duplicate_deps" = "Xyes" ; then
+	        case "$tmp_libs " in
+	        *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
+	        esac
+              fi
 	      tmp_libs="$tmp_libs $deplib"
 	    done
-	  elif test "$linkmode" != prog && test "$linkmode" != lib; then
+	  elif test $linkmode != prog && test $linkmode != lib; then
 	    $echo "$modename: \`$lib' is not a convenience library" 1>&2
 	    exit 1
 	  fi
@@ -1555,7 +1606,7 @@
 	fi
 
 	# This library was specified with -dlopen.
-	if test "$pass" = dlopen; then
+	if test $pass = dlopen; then
 	  if test -z "$libdir"; then
 	    $echo "$modename: cannot -dlopen a convenience library: \`$lib'" 1>&2
 	    exit 1
@@ -1604,7 +1655,7 @@
 	name=`$echo "X$laname" | $Xsed -e 's/\.la$//' -e 's/^lib//'`
 
 	# This library was specified with -dlpreopen.
-	if test "$pass" = dlpreopen; then
+	if test $pass = dlpreopen; then
 	  if test -z "$libdir"; then
 	    $echo "$modename: cannot -dlpreopen a convenience library: \`$lib'" 1>&2
 	    exit 1
@@ -1623,7 +1674,7 @@
 
 	if test -z "$libdir"; then
 	  # Link the convenience library
-	  if test "$linkmode" = lib; then
+	  if test $linkmode = lib; then
 	    deplibs="$dir/$old_library $deplibs"
 	  elif test "$linkmode,$pass" = "prog,link"; then
 	    compile_deplibs="$dir/$old_library $compile_deplibs"
@@ -1634,7 +1685,7 @@
 	  continue
 	fi
 
-	if test "$linkmode" = prog && test "$pass" != link; then
+	if test $linkmode = prog && test $pass != link; then
 	  newlib_search_path="$newlib_search_path $ladir"
 	  deplibs="$lib $deplibs"
 
@@ -1657,9 +1708,11 @@
 	      # or/and link against static libraries
 	      newdependency_libs="$deplib $newdependency_libs"
 	    fi
-	    case "$tmp_libs " in
-	    *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
-	    esac
+	    if test "X$duplicate_deps" = "Xyes" ; then
+	      case "$tmp_libs " in
+	      *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
+	      esac
+	    fi
 	    tmp_libs="$tmp_libs $deplib"
 	  done # for deplib
 	  continue
@@ -1671,7 +1724,7 @@
 	  # Link against this shared library
 
 	  if test "$linkmode,$pass" = "prog,link" ||
-	   { test "$linkmode" = lib && test "$hardcode_into_libs" = yes; }; then
+	   { test $linkmode = lib && test $hardcode_into_libs = yes; }; then
 	    # Hardcode the library path.
 	    # Skip directories that are in the system default run-time
 	    # search path.
@@ -1693,7 +1746,7 @@
 	      esac
 	      ;;
 	    esac
-	    if test "$linkmode" = prog; then
+	    if test $linkmode = prog; then
 	      # We need to hardcode the library path
 	      if test -n "$shlibpath_var"; then
 		# Make sure the rpath contains only unique directories.
@@ -1743,14 +1796,14 @@
 
 	    # Make a new name for the extract_expsyms_cmds to use
 	    soroot="$soname"
-	    soname=`echo $soroot | sed -e 's/^.*\///'`
-	    newlib="libimp-`echo $soname | sed 's/^lib//;s/\.dll$//'`.a"
+	    soname=`echo $soroot | ${SED} -e 's/^.*\///'`
+	    newlib="libimp-`echo $soname | ${SED} 's/^lib//;s/\.dll$//'`.a"
 
 	    # If the library has no export list, then create one now
 	    if test -f "$output_objdir/$soname-def"; then :
 	    else
 	      $show "extracting exported symbol list from \`$soname'"
-	      IFS="${IFS= 	}"; save_ifs="$IFS"; IFS='~'
+	      save_ifs="$IFS"; IFS='~'
 	      eval cmds=\"$extract_expsyms_cmds\"
 	      for cmd in $cmds; do
 		IFS="$save_ifs"
@@ -1763,7 +1816,7 @@
 	    # Create $newlib
 	    if test -f "$output_objdir/$newlib"; then :; else
 	      $show "generating import library for \`$soname'"
-	      IFS="${IFS= 	}"; save_ifs="$IFS"; IFS='~'
+	      save_ifs="$IFS"; IFS='~'
 	      eval cmds=\"$old_archive_from_expsyms_cmds\"
 	      for cmd in $cmds; do
 		IFS="$save_ifs"
@@ -1777,7 +1830,7 @@
 	    linklib=$newlib
 	  fi # test -n $old_archive_from_expsyms_cmds
 
-	  if test "$linkmode" = prog || test "$mode" != relink; then
+	  if test $linkmode = prog || test "$mode" != relink; then
 	    add_shlibpath=
 	    add_dir=
 	    add=
@@ -1804,6 +1857,14 @@
 		add="$dir/$linklib"
 	      elif test "$hardcode_minus_L" = yes; then
 		add_dir="-L$dir"
+		# Try looking first in the location we're being installed to.
+		if test -n "$inst_prefix_dir"; then
+		  case "$libdir" in
+		  [\/]*)
+		    add_dir="-L$inst_prefix_dir$libdir $add_dir"
+		    ;;
+		  esac
+		fi
 		add="-l$name"
 	      elif test "$hardcode_shlibpath_var" = yes; then
 		add_shlibpath="$dir"
@@ -1826,7 +1887,7 @@
 	      *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;;
 	      esac
 	    fi
-	    if test "$linkmode" = prog; then
+	    if test $linkmode = prog; then
 	      test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs"
 	      test -n "$add" && compile_deplibs="$add $compile_deplibs"
 	    else
@@ -1843,7 +1904,7 @@
 	    fi
 	  fi
 
-	  if test "$linkmode" = prog || test "$mode" = relink; then
+	  if test $linkmode = prog || test "$mode" = relink; then
 	    add_shlibpath=
 	    add_dir=
 	    add=
@@ -1862,10 +1923,18 @@
 	    else
 	      # We cannot seem to hardcode it, guess we'll fake it.
 	      add_dir="-L$libdir"
+	      # Try looking first in the location we're being installed to.
+	      if test -n "$inst_prefix_dir"; then
+		case "$libdir" in
+		[\/]*)
+		  add_dir="-L$inst_prefix_dir$libdir $add_dir"
+		  ;;
+		esac
+	      fi
 	      add="-l$name"
 	    fi
 
-	    if test "$linkmode" = prog; then
+	    if test $linkmode = prog; then
 	      test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs"
 	      test -n "$add" && finalize_deplibs="$add $finalize_deplibs"
 	    else
@@ -1873,7 +1942,7 @@
 	      test -n "$add" && deplibs="$add $deplibs"
 	    fi
 	  fi
-	elif test "$linkmode" = prog; then
+	elif test $linkmode = prog; then
 	  if test "$alldeplibs" = yes &&
 	     { test "$deplibs_check_method" = pass_all ||
 	       { test "$build_libtool_libs" = yes &&
@@ -1903,25 +1972,26 @@
 	    # Just print a warning and add the library to dependency_libs so
 	    # that the program can be linked against the static library.
 	    echo
-	    echo "*** Warning: This library needs some functionality provided by $lib."
+	    echo "*** Warning: This system can not link to static lib archive $lib."
 	    echo "*** I have the capability to make that library automatically link in when"
 	    echo "*** you link to this library.  But I can only do this if you have a"
 	    echo "*** shared version of the library, which you do not appear to have."
 	    if test "$module" = yes; then
-	      echo "*** Therefore, libtool will create a static module, that should work "
-	      echo "*** as long as the dlopening application is linked with the -dlopen flag."
+	      echo "*** But as you try to build a module library, libtool will still create "
+	      echo "*** a static module, that should work as long as the dlopening application"
+	      echo "*** is linked with the -dlopen flag to resolve symbols at runtime."
 	      if test -z "$global_symbol_pipe"; then
-	        echo
-	        echo "*** However, this would only work if libtool was able to extract symbol"
-	        echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
-	        echo "*** not find such a program.  So, this module is probably useless."
-	        echo "*** \`nm' from GNU binutils and a full rebuild may help."
+		echo
+		echo "*** However, this would only work if libtool was able to extract symbol"
+		echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
+		echo "*** not find such a program.  So, this module is probably useless."
+		echo "*** \`nm' from GNU binutils and a full rebuild may help."
 	      fi
 	      if test "$build_old_libs" = no; then
-	        build_libtool_libs=module
-	        build_old_libs=yes
+		build_libtool_libs=module
+		build_old_libs=yes
 	      else
-	        build_libtool_libs=no
+		build_libtool_libs=no
 	      fi
 	    fi
 	  else
@@ -1932,9 +2002,9 @@
 	  fi
 	fi # link shared/static library?
 
-	if test "$linkmode" = lib; then
+	if test $linkmode = lib; then
 	  if test -n "$dependency_libs" &&
-	     { test "$hardcode_into_libs" != yes || test $build_old_libs = yes ||
+	     { test $hardcode_into_libs != yes || test $build_old_libs = yes ||
 	       test $link_static = yes; }; then
 	    # Extract -R from dependency_libs
 	    temp_deplibs=
@@ -1958,13 +2028,15 @@
 	  tmp_libs=
 	  for deplib in $dependency_libs; do
 	    newdependency_libs="$deplib $newdependency_libs"
-	    case "$tmp_libs " in
-	    *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
-	    esac
+	    if test "X$duplicate_deps" = "Xyes" ; then
+	      case "$tmp_libs " in
+	      *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
+	      esac
+	    fi
 	    tmp_libs="$tmp_libs $deplib"
 	  done
 
-	  if test "$link_all_deplibs" != no; then
+	  if test $link_all_deplibs != no; then
 	    # Add the search paths of all dependency libraries
 	    for deplib in $dependency_libs; do
 	      case $deplib in
@@ -1986,7 +2058,7 @@
 		if grep "^installed=no" $deplib > /dev/null; then
 		  path="-L$absdir/$objdir"
 		else
-		  eval libdir=`sed -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
+		  eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
 		  if test -z "$libdir"; then
 		    $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2
 		    exit 1
@@ -2007,15 +2079,15 @@
 	  fi # link_all_deplibs != no
 	fi # linkmode = lib
       done # for deplib in $libs
-      if test "$pass" = dlpreopen; then
+      if test $pass = dlpreopen; then
 	# Link the dlpreopened libraries before other libraries
 	for deplib in $save_deplibs; do
 	  deplibs="$deplib $deplibs"
 	done
       fi
-      if test "$pass" != dlopen; then
-	test "$pass" != scan && dependency_libs="$newdependency_libs"
-	if test "$pass" != conv; then
+      if test $pass != dlopen; then
+	test $pass != scan && dependency_libs="$newdependency_libs"
+	if test $pass != conv; then
 	  # Make sure lib_search_path contains only unique directories.
 	  lib_search_path=
 	  for dir in $newlib_search_path; do
@@ -2073,7 +2145,7 @@
 	deplibs=
       fi
     done # for pass
-    if test "$linkmode" = prog; then
+    if test $linkmode = prog; then
       dlfiles="$newdlfiles"
       dlprefiles="$newdlprefiles"
     fi
@@ -2175,7 +2247,7 @@
       else
 
 	# Parse the version information argument.
-	IFS="${IFS= 	}"; save_ifs="$IFS"; IFS=':'
+	save_ifs="$IFS"; IFS=':'
 	set dummy $vinfo 0 0 0
 	IFS="$save_ifs"
 
@@ -2250,16 +2322,21 @@
 	  versuffix=".$current";
 	  ;;
 
-	irix)
+	irix | nonstopux)
 	  major=`expr $current - $age + 1`
-	  verstring="sgi$major.$revision"
+
+	  case $version_type in
+	    nonstopux) verstring_prefix=nonstopux ;;
+	    *)         verstring_prefix=sgi ;;
+	  esac
+	  verstring="$verstring_prefix$major.$revision"
 
 	  # Add in all the interfaces that we are compatible with.
 	  loop=$revision
 	  while test $loop != 0; do
 	    iface=`expr $revision - $loop`
 	    loop=`expr $loop - 1`
-	    verstring="sgi$major.$iface:$verstring"
+	    verstring="$verstring_prefix$major.$iface:$verstring"
 	  done
 
 	  # Before this point, $major must not contain `.'.
@@ -2273,7 +2350,7 @@
 	  ;;
 
 	osf)
-	  major=`expr $current - $age`
+	  major=.`expr $current - $age`
 	  versuffix=".$current.$age.$revision"
 	  verstring="$current.$age.$revision"
 
@@ -2312,6 +2389,16 @@
 	if test -z "$vinfo" && test -n "$release"; then
 	  major=
 	  verstring="0.0"
+	  case $version_type in
+	  darwin)
+	    # we can't check for "0.0" in archive_cmds due to quoting
+	    # problems, so we reset it completely
+	    verstring=""
+	    ;;
+	  *)
+	    verstring="0.0"
+	    ;;
+	  esac
 	  if test "$need_version" = no; then
 	    versuffix=
 	  else
@@ -2355,9 +2442,9 @@
 
       # Eliminate all temporary directories.
       for path in $notinst_path; do
-	lib_search_path=`echo "$lib_search_path " | sed -e 's% $path % %g'`
-	deplibs=`echo "$deplibs " | sed -e 's% -L$path % %g'`
-	dependency_libs=`echo "$dependency_libs " | sed -e 's% -L$path % %g'`
+	lib_search_path=`echo "$lib_search_path " | ${SED} -e 's% $path % %g'`
+	deplibs=`echo "$deplibs " | ${SED} -e 's% -L$path % %g'`
+	dependency_libs=`echo "$dependency_libs " | ${SED} -e 's% -L$path % %g'`
       done
 
       if test -n "$xrpath"; then
@@ -2408,9 +2495,12 @@
 	  *-*-netbsd*)
 	    # Don't link with libc until the a.out ld.so is fixed.
 	    ;;
+	  *-*-openbsd* | *-*-freebsd*)
+	    # Do not include libc due to us having libc/libc_r.
+	    ;;
 	  *)
 	    # Add libc to deplibs on all other systems if necessary.
-	    if test "$build_libtool_need_lc" = "yes"; then
+	    if test $build_libtool_need_lc = "yes"; then
 	      deplibs="$deplibs -lc"
 	    fi
 	    ;;
@@ -2466,18 +2556,20 @@
 		else
 		  droppeddeps=yes
 		  echo
-		  echo "*** Warning: This library needs some functionality provided by $i."
+		  echo "*** Warning: dynamic linker does not accept needed library $i."
 		  echo "*** I have the capability to make that library automatically link in when"
 		  echo "*** you link to this library.  But I can only do this if you have a"
-		  echo "*** shared version of the library, which you do not appear to have."
+		  echo "*** shared version of the library, which I believe you do not have"
+		  echo "*** because a test_compile did reveal that the linker did not use it for"
+		  echo "*** its dynamic dependency list that programs get resolved with at runtime."
 		fi
 	      else
 		newdeplibs="$newdeplibs $i"
 	      fi
 	    done
 	  else
-	    # Error occured in the first compile.  Let's try to salvage the situation:
-	    # Compile a seperate program for each library.
+	    # Error occured in the first compile.  Let's try to salvage
+	    # the situation: Compile a separate program for each library.
 	    for i in $deplibs; do
 	      name="`expr $i : '-l\(.*\)'`"
 	     # If $name is empty we are operating on a -L argument.
@@ -2496,10 +2588,12 @@
 		  else
 		    droppeddeps=yes
 		    echo
-		    echo "*** Warning: This library needs some functionality provided by $i."
+		    echo "*** Warning: dynamic linker does not accept needed library $i."
 		    echo "*** I have the capability to make that library automatically link in when"
 		    echo "*** you link to this library.  But I can only do this if you have a"
-		    echo "*** shared version of the library, which you do not appear to have."
+		    echo "*** shared version of the library, which you do not appear to have"
+		    echo "*** because a test_compile did reveal that the linker did not use this one"
+		    echo "*** as a dynamic dependency that programs can get resolved with at runtime."
 		  fi
 		else
 		  droppeddeps=yes
@@ -2538,14 +2632,14 @@
 		      # but so what?
 		      potlib="$potent_lib"
 		      while test -h "$potlib" 2>/dev/null; do
-			potliblink=`ls -ld $potlib | sed 's/.* -> //'`
+			potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'`
 			case $potliblink in
 			[\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";;
 			*) potlib=`$echo "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";;
 			esac
 		      done
 		      if eval $file_magic_cmd \"\$potlib\" 2>/dev/null \
-			 | sed 10q \
+			 | ${SED} 10q \
 			 | egrep "$file_magic_regex" > /dev/null; then
 			newdeplibs="$newdeplibs $a_deplib"
 			a_deplib=""
@@ -2556,10 +2650,17 @@
 	      if test -n "$a_deplib" ; then
 		droppeddeps=yes
 		echo
-		echo "*** Warning: This library needs some functionality provided by $a_deplib."
+		echo "*** Warning: linker path does not have real file for library $a_deplib."
 		echo "*** I have the capability to make that library automatically link in when"
 		echo "*** you link to this library.  But I can only do this if you have a"
-		echo "*** shared version of the library, which you do not appear to have."
+		echo "*** shared version of the library, which you do not appear to have"
+		echo "*** because I did check the linker path looking for a file starting"
+		if test -z "$potlib" ; then
+		  echo "*** with $libname but no candidates were found. (...for file magic test)"
+		else
+		  echo "*** with $libname and none of the candidates passed a file format test"
+		  echo "*** using a file magic. Last file checked: $potlib"
+		fi
 	      fi
 	    else
 	      # Add a -L argument.
@@ -2578,8 +2679,9 @@
 	      for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
 		potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
 		for potent_lib in $potential_libs; do
+		  potlib="$potent_lib" # see symlink-check below in file_magic test
 		  if eval echo \"$potent_lib\" 2>/dev/null \
-		      | sed 10q \
+		      | ${SED} 10q \
 		      | egrep "$match_pattern_regex" > /dev/null; then
 		    newdeplibs="$newdeplibs $a_deplib"
 		    a_deplib=""
@@ -2590,10 +2692,17 @@
 	      if test -n "$a_deplib" ; then
 		droppeddeps=yes
 		echo
-		echo "*** Warning: This library needs some functionality provided by $a_deplib."
+		echo "*** Warning: linker path does not have real file for library $a_deplib."
 		echo "*** I have the capability to make that library automatically link in when"
 		echo "*** you link to this library.  But I can only do this if you have a"
-		echo "*** shared version of the library, which you do not appear to have."
+		echo "*** shared version of the library, which you do not appear to have"
+		echo "*** because I did check the linker path looking for a file starting"
+		if test -z "$potlib" ; then
+		  echo "*** with $libname but no candidates were found. (...for regex pattern test)"
+		else
+		  echo "*** with $libname and none of the candidates passed a file format test"
+		  echo "*** using a regex pattern. Last file checked: $potlib"
+		fi
 	      fi
 	    else
 	      # Add a -L argument.
@@ -2683,7 +2792,7 @@
 
       # Test again, we may have decided not to build it any more
       if test "$build_libtool_libs" = yes; then
-	if test "$hardcode_into_libs" = yes; then
+	if test $hardcode_into_libs = yes; then
 	  # Hardcode the library paths
 	  hardcode_libdirs=
 	  dep_rpath=
@@ -2784,7 +2893,7 @@
 	    export_symbols="$output_objdir/$libname.exp"
 	    $run $rm $export_symbols
 	    eval cmds=\"$export_symbols_cmds\"
-	    IFS="${IFS= 	}"; save_ifs="$IFS"; IFS='~'
+	    save_ifs="$IFS"; IFS='~'
 	    for cmd in $cmds; do
 	      IFS="$save_ifs"
 	      $show "$cmd"
@@ -2858,9 +2967,20 @@
 	if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
 	  eval cmds=\"$archive_expsym_cmds\"
 	else
+	  save_deplibs="$deplibs"
+	  for conv in $convenience; do
+	    tmp_deplibs=
+	    for test_deplib in $deplibs; do
+	      if test "$test_deplib" != "$conv"; then
+		tmp_deplibs="$tmp_deplibs $test_deplib"
+	      fi
+	    done
+	    deplibs="$tmp_deplibs"
+	  done
 	  eval cmds=\"$archive_cmds\"
+	  deplibs="$save_deplibs"
 	fi
-	IFS="${IFS= 	}"; save_ifs="$IFS"; IFS='~'
+	save_ifs="$IFS"; IFS='~'
 	for cmd in $cmds; do
 	  IFS="$save_ifs"
 	  $show "$cmd"
@@ -2988,7 +3108,7 @@
 
       output="$obj"
       eval cmds=\"$reload_cmds\"
-      IFS="${IFS= 	}"; save_ifs="$IFS"; IFS='~'
+      save_ifs="$IFS"; IFS='~'
       for cmd in $cmds; do
 	IFS="$save_ifs"
 	$show "$cmd"
@@ -3024,7 +3144,7 @@
 	reload_objs="$libobjs $reload_conv_objs"
 	output="$libobj"
 	eval cmds=\"$reload_cmds\"
-	IFS="${IFS= 	}"; save_ifs="$IFS"; IFS='~'
+	save_ifs="$IFS"; IFS='~'
 	for cmd in $cmds; do
 	  IFS="$save_ifs"
 	  $show "$cmd"
@@ -3057,7 +3177,7 @@
 
     prog)
       case $host in
-	*cygwin*) output=`echo $output | sed -e 's,.exe$,,;s,$,.exe,'` ;;
+	*cygwin*) output=`echo $output | ${SED} -e 's,.exe$,,;s,$,.exe,'` ;;
       esac
       if test -n "$vinfo"; then
 	$echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2
@@ -3079,6 +3199,13 @@
 	# On Rhapsody replace the C library is the System framework
 	compile_deplibs=`$echo "X $compile_deplibs" | $Xsed -e 's/ -lc / -framework System /'`
 	finalize_deplibs=`$echo "X $finalize_deplibs" | $Xsed -e 's/ -lc / -framework System /'`
+	case $host in
+	*darwin*)
+	  # Don't allow lazy linking, it breaks C++ global constructors
+	  compile_command="$compile_command ${wl}-bind_at_load"
+	  finalize_command="$finalize_command ${wl}-bind_at_load"
+	  ;;
+	esac
 	;;
       esac
 
@@ -3245,9 +3372,9 @@
 	    if test -z "$export_symbols"; then
 	      export_symbols="$output_objdir/$output.exp"
 	      $run $rm $export_symbols
-	      $run eval "sed -n -e '/^: @PROGRAM@$/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
+	      $run eval "${SED} -n -e '/^: @PROGRAM@$/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
 	    else
-	      $run eval "sed -e 's/\([][.*^$]\)/\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$output.exp"'
+	      $run eval "${SED} -e 's/\([][.*^$]\)/\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$output.exp"'
 	      $run eval 'grep -f "$output_objdir/$output.exp" < "$nlist" > "$nlist"T'
 	      $run eval 'mv "$nlist"T "$nlist"'
 	    fi
@@ -3255,7 +3382,7 @@
 
 	  for arg in $dlprefiles; do
 	    $show "extracting global C symbols from \`$arg'"
-	    name=`echo "$arg" | sed -e 's%^.*/%%'`
+	    name=`echo "$arg" | ${SED} -e 's%^.*/%%'`
 	    $run eval 'echo ": $name " >> "$nlist"'
 	    $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'"
 	  done
@@ -3270,7 +3397,13 @@
 	    fi
 
 	    # Try sorting and uniquifying the output.
-	    if grep -v "^: " < "$nlist" | sort +2 | uniq > "$nlist"S; then
+	    if grep -v "^: " < "$nlist" |
+		if sort -k 3 </dev/null >/dev/null 2>&1; then
+		  sort -k 3
+		else
+		  sort +2
+		fi |
+		uniq > "$nlist"S; then
 	      :
 	    else
 	      grep -v "^: " < "$nlist" > "$nlist"S
@@ -3287,27 +3420,25 @@
 #undef lt_preloaded_symbols
 
 #if defined (__STDC__) && __STDC__
-# define lt_ptr_t void *
+# define lt_ptr void *
 #else
-# define lt_ptr_t char *
+# define lt_ptr char *
 # define const
 #endif
 
 /* The mapping between symbol names and symbols. */
 const struct {
   const char *name;
-  lt_ptr_t address;
+  lt_ptr address;
 }
 lt_preloaded_symbols[] =
 {\
 "
 
-	    sed -n -e 's/^: \([^ ]*\) $/  {\"\1\", (lt_ptr_t) 0},/p' \
-		-e 's/^. \([^ ]*\) \([^ ]*\)$/  {"\2", (lt_ptr_t) \&\2},/p' \
-		  < "$nlist" >> "$output_objdir/$dlsyms"
+	    eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$dlsyms"
 
 	    $echo >> "$output_objdir/$dlsyms" "\
-  {0, (lt_ptr_t) 0}
+  {0, (lt_ptr) 0}
 };
 
 /* This works around a problem in FreeBSD linker */
@@ -3494,7 +3625,7 @@
 	    relink_command="$var=\"$var_value\"; export $var; $relink_command"
 	  fi
 	done
-	relink_command="cd `pwd`; $relink_command"
+	relink_command="(cd `pwd`; $relink_command)"
 	relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"`
       fi
 
@@ -3514,7 +3645,7 @@
 	# win32 will think the script is a binary if it has
 	# a .exe suffix, so we strip it off here.
 	case $output in
-	  *.exe) output=`echo $output|sed 's,.exe$,,'` ;;
+	  *.exe) output=`echo $output|${SED} 's,.exe$,,'` ;;
 	esac
 	# test for cygwin because mv fails w/o .exe extensions
 	case $host in
@@ -3538,7 +3669,7 @@
 
 # Sed substitution that helps us do robust quoting.  It backslashifies
 # metacharacters that are still active within double-quoted strings.
-Xsed='sed -e 1s/^X//'
+Xsed="${SED}"' -e 1s/^X//'
 sed_quote_subst='$sed_quote_subst'
 
 # The HP-UX ksh and POSIX shell print the target directory to stdout
@@ -3576,7 +3707,7 @@
   test \"x\$thisdir\" = \"x\$file\" && thisdir=.
 
   # Follow symbolic links until we get to the real thisdir.
-  file=\`ls -ld \"\$file\" | sed -n 's/.*-> //p'\`
+  file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\`
   while test -n \"\$file\"; do
     destdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\`
 
@@ -3589,7 +3720,7 @@
     fi
 
     file=\`\$echo \"X\$file\" | \$Xsed -e 's%^.*/%%'\`
-    file=\`ls -ld \"\$thisdir/\$file\" | sed -n 's/.*-> //p'\`
+    file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\`
   done
 
   # Try to get the absolute directory name.
@@ -3603,7 +3734,7 @@
   progdir=\"\$thisdir/$objdir\"
 
   if test ! -f \"\$progdir/\$program\" || \\
-     { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | sed 1q\`; \\
+     { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\
        test \"X\$file\" != \"X\$progdir/\$program\"; }; then
 
     file=\"\$\$-\$program\"
@@ -3618,8 +3749,9 @@
 
     # relink executable if necessary
     if test -n \"\$relink_command\"; then
-      if (eval \$relink_command); then :
+      if relink_command_output=\`eval \$relink_command 2>&1\`; then :
       else
+	$echo \"\$relink_command_output\" >&2
 	$rm \"\$progdir/\$file\"
 	exit 1
       fi
@@ -3648,7 +3780,7 @@
     $shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
 
     # Some systems cannot cope with colon-terminated $shlibpath_var
-    # The second colon is a workaround for a bug in BeOS R4 sed
+    # The second colon is a workaround for a bug in BeOS R4 ${SED}
     $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\`
 
     export $shlibpath_var
@@ -3790,7 +3922,7 @@
 
 	eval cmds=\"$old_archive_cmds\"
       fi
-      IFS="${IFS= 	}"; save_ifs="$IFS"; IFS='~'
+      save_ifs="$IFS"; IFS='~'
       for cmd in $cmds; do
 	IFS="$save_ifs"
 	$show "$cmd"
@@ -3823,7 +3955,7 @@
 	fi
       done
       # Quote the link command for shipping.
-      relink_command="cd `pwd`; $SHELL $0 --mode=relink $libtool_args"
+      relink_command="(cd `pwd`; $SHELL $0 --mode=relink $libtool_args @inst_prefix_dir@)"
       relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"`
 
       # Only create the output if not a dry run.
@@ -3840,7 +3972,7 @@
 	      case $deplib in
 	      *.la)
 		name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'`
-		eval libdir=`sed -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
+		eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
 		if test -z "$libdir"; then
 		  $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2
 		  exit 1
@@ -3854,7 +3986,7 @@
 	    newdlfiles=
 	    for lib in $dlfiles; do
 	      name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
-	      eval libdir=`sed -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
+	      eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
 	      if test -z "$libdir"; then
 		$echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
 		exit 1
@@ -3865,7 +3997,7 @@
 	    newdlprefiles=
 	    for lib in $dlprefiles; do
 	      name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
-	      eval libdir=`sed -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
+	      eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
 	      if test -z "$libdir"; then
 		$echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
 		exit 1
@@ -4089,7 +4221,7 @@
 
       *.la)
 	# Check to see that this really is a libtool archive.
-	if (sed -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
+	if (${SED} -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
 	else
 	  $echo "$modename: \`$file' is not a valid libtool archive" 1>&2
 	  $echo "$help" 1>&2
@@ -4124,12 +4256,30 @@
 	dir="$dir$objdir"
 
 	if test -n "$relink_command"; then
+          # Determine the prefix the user has applied to our future dir.
+          inst_prefix_dir=`$echo "$destdir" | sed "s%$libdir\$%%"`
+ 
+          # Don't allow the user to place us outside of our expected
+          # location b/c this prevents finding dependent libraries that
+          # are installed to the same prefix.
+          if test "$inst_prefix_dir" = "$destdir"; then
+            $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2
+            exit 1
+          fi
+ 
+          if test -n "$inst_prefix_dir"; then
+            # Stick the inst_prefix_dir data into the link command.
+            relink_command=`$echo "$relink_command" | sed "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"`
+          else
+            relink_command=`$echo "$relink_command" | sed "s%@inst_prefix_dir@%%"`
+          fi
+
 	  $echo "$modename: warning: relinking \`$file'" 1>&2
 	  $show "$relink_command"
 	  if $run eval "$relink_command"; then :
 	  else
 	    $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2
-	    continue
+	    exit 1
 	  fi
 	fi
 
@@ -4165,7 +4315,7 @@
 	  # Do each command in the postinstall commands.
 	  lib="$destdir/$realname"
 	  eval cmds=\"$postinstall_cmds\"
-	  IFS="${IFS= 	}"; save_ifs="$IFS"; IFS='~'
+	  save_ifs="$IFS"; IFS='~'
 	  for cmd in $cmds; do
 	    IFS="$save_ifs"
 	    $show "$cmd"
@@ -4238,19 +4388,27 @@
 	fi
 
 	# Do a test to see if this is really a libtool program.
-	if (sed -e '4q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
+	case $host in
+	*cygwin*|*mingw*)
+	    wrapper=`echo $file | ${SED} -e 's,.exe$,,'`
+	    ;;
+	*)
+	    wrapper=$file
+	    ;;
+	esac
+	if (${SED} -e '4q' $wrapper | egrep "^# Generated by .*$PACKAGE")>/dev/null 2>&1; then
 	  notinst_deplibs=
 	  relink_command=
 
 	  # If there is no directory component, then add one.
 	  case $file in
-	  */* | *\\*) . $file ;;
-	  *) . ./$file ;;
+	  */* | *\\*) . $wrapper ;;
+	  *) . ./$wrapper ;;
 	  esac
 
 	  # Check the variables that should have been set.
 	  if test -z "$notinst_deplibs"; then
-	    $echo "$modename: invalid libtool wrapper script \`$file'" 1>&2
+	    $echo "$modename: invalid libtool wrapper script \`$wrapper'" 1>&2
 	    exit 1
 	  fi
 
@@ -4275,8 +4433,8 @@
 	  relink_command=
 	  # If there is no directory component, then add one.
 	  case $file in
-	  */* | *\\*) . $file ;;
-	  *) . ./$file ;;
+	  */* | *\\*) . $wrapper ;;
+	  *) . ./$wrapper ;;
 	  esac
 
 	  outputname=
@@ -4324,7 +4482,7 @@
 	    destfile=$destfile.exe
 	    ;;
 	  *:*.exe)
-	    destfile=`echo $destfile | sed -e 's,.exe$,,'`
+	    destfile=`echo $destfile | ${SED} -e 's,.exe$,,'`
 	    ;;
 	  esac
 	  ;;
@@ -4352,7 +4510,7 @@
 
       # Do each command in the postinstall commands.
       eval cmds=\"$old_postinstall_cmds\"
-      IFS="${IFS= 	}"; save_ifs="$IFS"; IFS='~'
+      save_ifs="$IFS"; IFS='~'
       for cmd in $cmds; do
 	IFS="$save_ifs"
 	$show "$cmd"
@@ -4368,11 +4526,10 @@
     if test -n "$current_libdirs"; then
       # Maybe just do a dry run.
       test -n "$run" && current_libdirs=" -n$current_libdirs"
-      exec $SHELL $0 --finish$current_libdirs
-      exit 1
+      exec_cmd='$SHELL $0 --finish$current_libdirs'
+    else
+      exit 0
     fi
-
-    exit 0
     ;;
 
   # libtool finish mode
@@ -4391,7 +4548,7 @@
 	if test -n "$finish_cmds"; then
 	  # Do each command in the finish commands.
 	  eval cmds=\"$finish_cmds\"
-	  IFS="${IFS= 	}"; save_ifs="$IFS"; IFS='~'
+	  save_ifs="$IFS"; IFS='~'
 	  for cmd in $cmds; do
 	    IFS="$save_ifs"
 	    $show "$cmd"
@@ -4473,7 +4630,7 @@
       case $file in
       *.la)
 	# Check to see that this really is a libtool archive.
-	if (sed -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
+	if (${SED} -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
 	else
 	  $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
 	  $echo "$help" 1>&2
@@ -4544,7 +4701,7 @@
       -*) ;;
       *)
 	# Do a test to see if this is really a libtool program.
-	if (sed -e '4q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
+	if (${SED} -e '4q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
 	  # If there is no directory component, then add one.
 	  case $file in
 	  */* | *\\*) . $file ;;
@@ -4575,11 +4732,8 @@
 	LANG="$save_LANG"; export LANG
       fi
 
-      # Now actually exec the command.
-      eval "exec \$cmd$args"
-
-      $echo "$modename: cannot exec \$cmd$args"
-      exit 1
+      # Now prepare to actually exec the command.
+      exec_cmd="\$cmd$args"
     else
       # Display what would be done.
       if test -n "$shlibpath_var"; then
@@ -4641,14 +4795,14 @@
 
       # Don't error if the file doesn't exist and rm -f was used.
       if (test -L "$file") >/dev/null 2>&1 \
-        || (test -h "$file") >/dev/null 2>&1 \
+	|| (test -h "$file") >/dev/null 2>&1 \
 	|| test -f "$file"; then
-        :
+	:
       elif test -d "$file"; then
-        exit_status=1
+	exit_status=1
 	continue
       elif test "$rmforce" = yes; then
-        continue
+	continue
       fi
 
       rmfiles="$file"
@@ -4656,7 +4810,7 @@
       case $name in
       *.la)
 	# Possibly a libtool archive, so verify it.
-	if (sed -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
+	if (${SED} -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
 	  . $dir/$name
 
 	  # Delete the libtool libraries and symlinks.
@@ -4670,7 +4824,7 @@
 	    if test -n "$library_names"; then
 	      # Do each command in the postuninstall commands.
 	      eval cmds=\"$postuninstall_cmds\"
-	      IFS="${IFS= 	}"; save_ifs="$IFS"; IFS='~'
+	      save_ifs="$IFS"; IFS='~'
 	      for cmd in $cmds; do
 		IFS="$save_ifs"
 		$show "$cmd"
@@ -4685,7 +4839,7 @@
 	    if test -n "$old_library"; then
 	      # Do each command in the old_postuninstall commands.
 	      eval cmds=\"$old_postuninstall_cmds\"
-	      IFS="${IFS= 	}"; save_ifs="$IFS"; IFS='~'
+	      save_ifs="$IFS"; IFS='~'
 	      for cmd in $cmds; do
 		IFS="$save_ifs"
 		$show "$cmd"
@@ -4711,7 +4865,7 @@
       *)
 	# Do a test to see if this is a libtool program.
 	if test $mode = clean &&
-	   (sed -e '4q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
+	   (${SED} -e '4q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
 	  relink_command=
 	  . $dir/$file
 
@@ -4744,11 +4898,18 @@
     ;;
   esac
 
-  $echo "$modename: invalid operation mode \`$mode'" 1>&2
-  $echo "$generic_help" 1>&2
-  exit 1
+  if test -z "$exec_cmd"; then
+    $echo "$modename: invalid operation mode \`$mode'" 1>&2
+    $echo "$generic_help" 1>&2
+    exit 1
+  fi
 fi # test -z "$show_help"
 
+if test -n "$exec_cmd"; then
+  eval exec $exec_cmd
+  exit 1
+fi
+
 # We need to display help for each of the modes.
 case $mode in
 "") $echo \
Index: linux-atm-2.4.1/m4/Makefile.in
===================================================================
--- linux-atm-2.4.1.orig/m4/Makefile.in	2007-06-04 13:23:53.924536120 +0200
+++ linux-atm-2.4.1/m4/Makefile.in	2007-06-04 13:23:54.480451608 +0200
@@ -1,4 +1,4 @@
-# Makefile.in generated automatically by automake 1.4-p5 from Makefile.am
+# Makefile.in generated automatically by automake 1.4-p6 from Makefile.am
 
 # Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
@@ -92,14 +92,14 @@
 
 DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
 
-TAR = gtar
+TAR = tar
 GZIP_ENV = --best
 all: all-redirect
 .SUFFIXES:
 $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) 
-	cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps m4/Makefile
+	cd $(top_srcdir) && $(AUTOMAKE) --gnu m4/Makefile
 
-Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status
+Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status $(BUILT_SOURCES)
 	cd $(top_builddir) \
 	  && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
 
@@ -112,6 +112,11 @@
 subdir = m4
 
 distdir: $(DISTFILES)
+	here=`cd $(top_builddir) && pwd`; \
+	top_distdir=`cd $(top_distdir) && pwd`; \
+	distdir=`cd $(distdir) && pwd`; \
+	cd $(top_srcdir) \
+	  && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnu m4/Makefile
 	@for file in $(DISTFILES); do \
 	  d=$(srcdir); \
 	  if test -d $$d/$$file; then \
Index: linux-atm-2.4.1/src/Makefile.in
===================================================================
--- linux-atm-2.4.1.orig/src/Makefile.in	2007-06-04 13:23:53.930535208 +0200
+++ linux-atm-2.4.1/src/Makefile.in	2007-06-04 13:23:54.480451608 +0200
@@ -1,4 +1,4 @@
-# Makefile.in generated automatically by automake 1.4-p5 from Makefile.am
+# Makefile.in generated automatically by automake 1.4-p6 from Makefile.am
 
 # Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
@@ -85,8 +85,7 @@
 VERSION = @VERSION@
 YACC = @YACC@
 
-SUBDIRS = include lib test debug qgen saal sigd maint arpd ilmid man led lane \
-		mpoad switch config extra
+SUBDIRS = include lib 
 
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
 CONFIG_HEADER = ../config.h
@@ -96,14 +95,14 @@
 
 DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
 
-TAR = gtar
+TAR = tar
 GZIP_ENV = --best
 all: all-redirect
 .SUFFIXES:
 $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) 
-	cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps src/Makefile
+	cd $(top_srcdir) && $(AUTOMAKE) --gnu src/Makefile
 
-Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status
+Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status $(BUILT_SOURCES)
 	cd $(top_builddir) \
 	  && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
 
@@ -186,7 +185,7 @@
 	  awk '    { files[$$0] = 1; } \
 	       END { for (i in files) print i; }'`; \
 	test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
-	  || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags  $$unique $(LISP) -o $$here/TAGS)
+	  || (cd $(srcdir) && etags -o $$here/TAGS $(ETAGS_ARGS) $$tags  $$unique $(LISP))
 
 mostlyclean-tags:
 
@@ -202,6 +201,11 @@
 subdir = src
 
 distdir: $(DISTFILES)
+	here=`cd $(top_builddir) && pwd`; \
+	top_distdir=`cd $(top_distdir) && pwd`; \
+	distdir=`cd $(distdir) && pwd`; \
+	cd $(top_srcdir) \
+	  && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnu src/Makefile
 	@for file in $(DISTFILES); do \
 	  d=$(srcdir); \
 	  if test -d $$d/$$file; then \
Index: linux-atm-2.4.1/src/include/Makefile.in
===================================================================
--- linux-atm-2.4.1.orig/src/include/Makefile.in	2007-06-04 13:23:53.936534296 +0200
+++ linux-atm-2.4.1/src/include/Makefile.in	2007-06-04 13:23:54.481451456 +0200
@@ -1,4 +1,4 @@
-# Makefile.in generated automatically by automake 1.4-p5 from Makefile.am
+# Makefile.in generated automatically by automake 1.4-p6 from Makefile.am
 
 # Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
@@ -97,14 +97,14 @@
 
 DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
 
-TAR = gtar
+TAR = tar
 GZIP_ENV = --best
 all: all-redirect
 .SUFFIXES:
 $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) 
-	cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps src/include/Makefile
+	cd $(top_srcdir) && $(AUTOMAKE) --gnu src/include/Makefile
 
-Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status
+Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status $(BUILT_SOURCES)
 	cd $(top_builddir) \
 	  && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
 
@@ -142,7 +142,7 @@
 	  awk '    { files[$$0] = 1; } \
 	       END { for (i in files) print i; }'`; \
 	test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
-	  || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags  $$unique $(LISP) -o $$here/TAGS)
+	  || (cd $(srcdir) && etags -o $$here/TAGS $(ETAGS_ARGS) $$tags  $$unique $(LISP))
 
 mostlyclean-tags:
 
@@ -158,6 +158,11 @@
 subdir = src/include
 
 distdir: $(DISTFILES)
+	here=`cd $(top_builddir) && pwd`; \
+	top_distdir=`cd $(top_distdir) && pwd`; \
+	distdir=`cd $(distdir) && pwd`; \
+	cd $(top_srcdir) \
+	  && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnu src/include/Makefile
 	@for file in $(DISTFILES); do \
 	  d=$(srcdir); \
 	  if test -d $$d/$$file; then \
Index: linux-atm-2.4.1/src/include/atmd.h
===================================================================
--- linux-atm-2.4.1.orig/src/include/atmd.h	2007-06-04 13:23:53.942533384 +0200
+++ linux-atm-2.4.1/src/include/atmd.h	2007-06-04 13:23:54.481451456 +0200
@@ -24,6 +24,10 @@
   (i)->prev = (b)->prev; if ((b)->prev) (b)->prev->next = i; else r = i; \
   (b)->prev = i; } else { (i)->next = r; (i)->prev = NULL; \
   if (r) (r)->prev = i; r = i; } })
+#define Q_INSERT_BEFORE_TYPED(r,t,i,b) ({ if (b) { (i)->next = b; \
+  (i)->prev = (b)->prev; if ((b)->prev) (b)->prev->next = i; else r = i; \
+  (b)->prev = i; } else { (i)->next = t r; (i)->prev = NULL; \
+  if (t r) (t r)->prev = i; r = i; } })
 #define Q_REMOVE(r,i) ({ if ((i)->next) (i)->next->prev = (i)->prev; \
   if ((i)->prev) (i)->prev->next = (i)->next; else r = (i)->next; })
 
Index: linux-atm-2.4.1/src/lib/Makefile.in
===================================================================
--- linux-atm-2.4.1.orig/src/lib/Makefile.in	2007-06-04 13:23:53.948532472 +0200
+++ linux-atm-2.4.1/src/lib/Makefile.in	2007-06-04 13:23:54.481451456 +0200
@@ -1,4 +1,4 @@
-# Makefile.in generated automatically by automake 1.4-p5 from Makefile.am
+# Makefile.in generated automatically by automake 1.4-p6 from Makefile.am
 
 # Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
@@ -92,16 +92,10 @@
 # ATMLIBS_VERSION comes from configure.in in the toplevel directory
 LDFLAGS = -version-info @LIBVER_CURRENT@:@LIBVER_REVISION@:@LIBVER_AGE@
 
-libatm_la_SOURCES = text2atm.c atm2text.c atmequal.c sdu2cell.c text2qos.c \
-			qos2text.c qosequal.c sap2text.c text2sap.c sapequal.c \
-			misc.c atmres.h ans.c \
-			common.c diag.c kptr.c text2ip.c timer.c unix.c
+libatm_la_SOURCES = text2atm.c atm2text.c atmequal.c sdu2cell.c text2qos.c 			qos2text.c qosequal.c sap2text.c text2sap.c sapequal.c 			misc.c atmres.h ans.c 			common.c diag.c kptr.c text2ip.c timer.c unix.c
 
 libatm_la_LIBADD = -lresolv
-libatm_la_DEPENDENCIES = $(top_builddir)/src/include/atm.h \
-				$(top_builddir)/src/include/atmsap.h \
-				$(top_builddir)/src/include/stdint.h \
-				$(top_builddir)/src/include/atmd.h
+libatm_la_DEPENDENCIES = $(top_builddir)/src/include/atm.h 				$(top_builddir)/src/include/atmsap.h 				$(top_builddir)/src/include/stdint.h 				$(top_builddir)/src/include/atmd.h
 
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
 CONFIG_HEADER = ../../config.h
@@ -126,8 +120,13 @@
 
 DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
 
-TAR = gtar
+TAR = tar
 GZIP_ENV = --best
+DEP_FILES =  .deps/ans.P .deps/atm2text.P .deps/atmequal.P \
+.deps/common.P .deps/diag.P .deps/kptr.P .deps/misc.P .deps/qos2text.P \
+.deps/qosequal.P .deps/sap2text.P .deps/sapequal.P .deps/sdu2cell.P \
+.deps/text2atm.P .deps/text2ip.P .deps/text2qos.P .deps/text2sap.P \
+.deps/timer.P .deps/unix.P
 SOURCES = $(libatm_la_SOURCES)
 OBJECTS = $(libatm_la_OBJECTS)
 
@@ -135,9 +134,9 @@
 .SUFFIXES:
 .SUFFIXES: .S .c .lo .o .obj .s
 $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) 
-	cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps src/lib/Makefile
+	cd $(top_srcdir) && $(AUTOMAKE) --gnu src/lib/Makefile
 
-Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status
+Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status $(BUILT_SOURCES)
 	cd $(top_builddir) \
 	  && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
 
@@ -167,9 +166,6 @@
 	  $(LIBTOOL)  --mode=uninstall rm -f $(DESTDIR)$(libdir)/$$p; \
 	done
 
-.c.o:
-	$(COMPILE) -c $<
-
 # FIXME: We should only use cygpath when building on Windows,
 # and only if it is available.
 .c.obj:
@@ -192,9 +188,6 @@
 
 maintainer-clean-compile:
 
-.c.lo:
-	$(LIBTOOL) --mode=compile $(COMPILE) -c $<
-
 .s.lo:
 	$(LIBTOOL) --mode=compile $(COMPILE) -c $<
 
@@ -232,7 +225,7 @@
 	  awk '    { files[$$0] = 1; } \
 	       END { for (i in files) print i; }'`; \
 	test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
-	  || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags  $$unique $(LISP) -o $$here/TAGS)
+	  || (cd $(srcdir) && etags -o $$here/TAGS $(ETAGS_ARGS) $$tags  $$unique $(LISP))
 
 mostlyclean-tags:
 
@@ -248,6 +241,11 @@
 subdir = src/lib
 
 distdir: $(DISTFILES)
+	here=`cd $(top_builddir) && pwd`; \
+	top_distdir=`cd $(top_distdir) && pwd`; \
+	distdir=`cd $(distdir) && pwd`; \
+	cd $(top_srcdir) \
+	  && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnu src/lib/Makefile
 	@for file in $(DISTFILES); do \
 	  d=$(srcdir); \
 	  if test -d $$d/$$file; then \
@@ -258,48 +256,38 @@
 	    || cp -p $$d/$$file $(distdir)/$$file || :; \
 	  fi; \
 	done
-ans.lo ans.o : ans.c ../../config.h ../../src/include/stdint.h \
-	../../src/include/atm.h atmres.h
-atm2text.lo atm2text.o : atm2text.c ../../config.h \
-	../../src/include/atm.h ../../src/include/stdint.h atmres.h
-atmequal.lo atmequal.o : atmequal.c ../../config.h \
-	../../src/include/atm.h ../../src/include/stdint.h
-common.lo common.o : common.c ../../config.h ../../src/include/stdint.h \
-	../../src/include/atmd.h ../../src/include/atm.h
-diag.lo diag.o : diag.c ../../config.h ../../src/include/atmd.h \
-	../../src/include/stdint.h ../../src/include/atm.h
-kptr.lo kptr.o : kptr.c ../../config.h ../../src/include/atm.h \
-	../../src/include/stdint.h ../../src/include/atmd.h
-misc.lo misc.o : misc.c ../../config.h ../../src/include/stdint.h \
-	../../src/include/atm.h ../../src/include/atmsap.h
-qos2text.lo qos2text.o : qos2text.c ../../config.h \
-	../../src/include/atm.h ../../src/include/stdint.h
-qosequal.lo qosequal.o : qosequal.c ../../config.h \
-	../../src/include/atm.h ../../src/include/stdint.h
-sap2text.lo sap2text.o : sap2text.c ../../config.h \
-	../../src/include/atmsap.h ../../src/include/stdint.h \
-	../../src/include/atm.h
-sapequal.lo sapequal.o : sapequal.c ../../config.h \
-	../../src/include/atm.h ../../src/include/stdint.h \
-	../../src/include/atmsap.h
-sdu2cell.lo sdu2cell.o : sdu2cell.c ../../config.h \
-	../../src/include/atm.h ../../src/include/stdint.h
-text2atm.lo text2atm.o : text2atm.c ../../config.h \
-	../../src/include/atm.h ../../src/include/stdint.h \
-	../../src/include/atmsap.h atmres.h
-text2ip.lo text2ip.o : text2ip.c ../../config.h \
-	../../src/include/stdint.h ../../src/include/atm.h \
-	../../src/include/atmd.h
-text2qos.lo text2qos.o : text2qos.c ../../config.h \
-	../../src/include/atm.h ../../src/include/stdint.h
-text2sap.lo text2sap.o : text2sap.c ../../config.h \
-	../../src/include/atmsap.h ../../src/include/stdint.h \
-	../../src/include/atm.h
-timer.lo timer.o : timer.c ../../config.h ../../src/include/atmd.h \
-	../../src/include/stdint.h ../../src/include/atm.h
-unix.lo unix.o : unix.c ../../config.h ../../src/include/atmd.h \
-	../../src/include/stdint.h ../../src/include/atm.h
 
+DEPS_MAGIC := $(shell mkdir .deps > /dev/null 2>&1 || :)
+
+-include $(DEP_FILES)
+
+mostlyclean-depend:
+
+clean-depend:
+
+distclean-depend:
+	-rm -rf .deps
+
+maintainer-clean-depend:
+
+%.o: %.c
+	@echo '$(COMPILE) -c $<'; \
+	$(COMPILE) -Wp,-MD,.deps/$(*F).pp -c $<
+	@-cp .deps/$(*F).pp .deps/$(*F).P; \
+	tr ' ' '\012' < .deps/$(*F).pp \
+	  | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \
+	    >> .deps/$(*F).P; \
+	rm .deps/$(*F).pp
+
+%.lo: %.c
+	@echo '$(LTCOMPILE) -c $<'; \
+	$(LTCOMPILE) -Wp,-MD,.deps/$(*F).pp -c $<
+	@-sed -e 's/^\([^:]*\)\.o[ 	]*:/\1.lo \1.o :/' \
+	  < .deps/$(*F).pp > .deps/$(*F).P; \
+	tr ' ' '\012' < .deps/$(*F).pp \
+	  | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \
+	    >> .deps/$(*F).P; \
+	rm -f .deps/$(*F).pp
 info-am:
 info: info-am
 dvi-am:
@@ -337,27 +325,27 @@
 
 maintainer-clean-generic:
 mostlyclean-am:  mostlyclean-libLTLIBRARIES mostlyclean-compile \
-		mostlyclean-libtool mostlyclean-tags \
+		mostlyclean-libtool mostlyclean-tags mostlyclean-depend \
 		mostlyclean-generic
 
 mostlyclean: mostlyclean-am
 
 clean-am:  clean-libLTLIBRARIES clean-compile clean-libtool clean-tags \
-		clean-generic mostlyclean-am
+		clean-depend clean-generic mostlyclean-am
 
 clean: clean-am
 
 distclean-am:  distclean-libLTLIBRARIES distclean-compile \
-		distclean-libtool distclean-tags distclean-generic \
-		clean-am
+		distclean-libtool distclean-tags distclean-depend \
+		distclean-generic clean-am
 	-rm -f libtool
 
 distclean: distclean-am
 
 maintainer-clean-am:  maintainer-clean-libLTLIBRARIES \
 		maintainer-clean-compile maintainer-clean-libtool \
-		maintainer-clean-tags maintainer-clean-generic \
-		distclean-am
+		maintainer-clean-tags maintainer-clean-depend \
+		maintainer-clean-generic distclean-am
 	@echo "This command is intended for maintainers to use;"
 	@echo "it deletes files that may require special tools to rebuild."
 
@@ -369,12 +357,13 @@
 distclean-compile clean-compile maintainer-clean-compile \
 mostlyclean-libtool distclean-libtool clean-libtool \
 maintainer-clean-libtool tags mostlyclean-tags distclean-tags \
-clean-tags maintainer-clean-tags distdir info-am info dvi-am dvi check \
-check-am installcheck-am installcheck install-exec-am install-exec \
-install-data-am install-data install-am install uninstall-am uninstall \
-all-redirect all-am all installdirs mostlyclean-generic \
-distclean-generic clean-generic maintainer-clean-generic clean \
-mostlyclean distclean maintainer-clean
+clean-tags maintainer-clean-tags distdir mostlyclean-depend \
+distclean-depend clean-depend maintainer-clean-depend info-am info \
+dvi-am dvi check check-am installcheck-am installcheck install-exec-am \
+install-exec install-data-am install-data install-am install \
+uninstall-am uninstall all-redirect all-am all installdirs \
+mostlyclean-generic distclean-generic clean-generic \
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean
 
 
 #libatm_la_SOURCES = text2atm.c atm2text.c atmequal.c sdu2cell.c text2qos.c \
Index: linux-atm-2.4.1/src/lib/sapequal.c
===================================================================
--- linux-atm-2.4.1.orig/src/lib/sapequal.c	2007-06-04 13:23:53.954531560 +0200
+++ linux-atm-2.4.1/src/lib/sapequal.c	2007-06-04 13:23:54.482451304 +0200
@@ -65,6 +65,7 @@
 	    CHECK(l2.itu.window,a.l2.itu.window > b.l2.itu.window);
 	    break;
 	default:
+	    break;
     }
     switch (a.l3_proto) {
 	case ATM_L3_X25:
@@ -83,6 +84,7 @@
 	    if (a.l3.user != b.l3.user) return 0;
 	    break;
 	default:
+	    break;
     }
     return 1;
 }
Index: linux-atm-2.4.1/src/test/Makefile.in
===================================================================
--- linux-atm-2.4.1.orig/src/test/Makefile.in	2007-06-04 13:23:53.959530800 +0200
+++ linux-atm-2.4.1/src/test/Makefile.in	2007-06-04 13:23:54.482451304 +0200
@@ -1,4 +1,4 @@
-# Makefile.in generated automatically by automake 1.4-p5 from Makefile.am
+# Makefile.in generated automatically by automake 1.4-p6 from Makefile.am
 
 # Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
@@ -168,8 +168,11 @@
 
 DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
 
-TAR = gtar
+TAR = tar
 GZIP_ENV = --best
+DEP_FILES =  .deps/align.P .deps/aping.P .deps/aread.P .deps/awrite.P \
+.deps/br.P .deps/bw.P .deps/isp.P .deps/ispl_l.P .deps/ispl_y.P \
+.deps/ttcp.P .deps/window.P
 SOURCES = $(aread_SOURCES) $(awrite_SOURCES) $(ttcp_atm_SOURCES) $(align_SOURCES) $(aping_SOURCES) $(br_SOURCES) $(bw_SOURCES) $(isp_SOURCES) $(window_SOURCES)
 OBJECTS = $(aread_OBJECTS) $(awrite_OBJECTS) $(ttcp_atm_OBJECTS) $(align_OBJECTS) $(aping_OBJECTS) $(br_OBJECTS) $(bw_OBJECTS) $(isp_OBJECTS) $(window_OBJECTS)
 
@@ -177,9 +180,9 @@
 .SUFFIXES:
 .SUFFIXES: .S .c .l .lo .o .obj .s .y
 $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) 
-	cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps src/test/Makefile
+	cd $(top_srcdir) && $(AUTOMAKE) --gnu src/test/Makefile
 
-Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status
+Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status $(BUILT_SOURCES)
 	cd $(top_builddir) \
 	  && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
 
@@ -218,9 +221,6 @@
 
 maintainer-clean-noinstPROGRAMS:
 
-.c.o:
-	$(COMPILE) -c $<
-
 # FIXME: We should only use cygpath when building on Windows,
 # and only if it is available.
 .c.obj:
@@ -243,9 +243,6 @@
 
 maintainer-clean-compile:
 
-.c.lo:
-	$(LIBTOOL) --mode=compile $(COMPILE) -c $<
-
 .s.lo:
 	$(LIBTOOL) --mode=compile $(COMPILE) -c $<
 
@@ -325,7 +322,7 @@
 	  awk '    { files[$$0] = 1; } \
 	       END { for (i in files) print i; }'`; \
 	test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
-	  || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags  $$unique $(LISP) -o $$here/TAGS)
+	  || (cd $(srcdir) && etags -o $$here/TAGS $(ETAGS_ARGS) $$tags  $$unique $(LISP))
 
 mostlyclean-tags:
 
@@ -341,6 +338,11 @@
 subdir = src/test
 
 distdir: $(DISTFILES)
+	here=`cd $(top_builddir) && pwd`; \
+	top_distdir=`cd $(top_distdir) && pwd`; \
+	distdir=`cd $(distdir) && pwd`; \
+	cd $(top_srcdir) \
+	  && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnu src/test/Makefile
 	@for file in $(DISTFILES); do \
 	  d=$(srcdir); \
 	  if test -d $$d/$$file; then \
@@ -351,30 +353,38 @@
 	    || cp -p $$d/$$file $(distdir)/$$file || :; \
 	  fi; \
 	done
-align.o: align.c ../../config.h ../../src/include/atm.h \
-	../../src/include/stdint.h
-aping.o: aping.c ../../config.h ../../src/include/atm.h \
-	../../src/include/stdint.h
-aread.o: aread.c ../../config.h ../../src/include/atm.h \
-	../../src/include/stdint.h
-awrite.o: awrite.c ../../config.h ../../src/include/atm.h \
-	../../src/include/stdint.h
-br.o: br.c ../../config.h ../../src/include/atm.h \
-	../../src/include/stdint.h
-bw.o: bw.c ../../config.h ../../src/include/atm.h \
-	../../src/include/stdint.h
-isp.o: isp.c ../../config.h ../../src/include/atm.h \
-	../../src/include/stdint.h ../../src/include/atmd.h isp.h \
-	errnos.inc
-ispl_l.o: ispl_l.c ../../config.h ../../src/include/stdint.h isp.h \
-	../../src/include/atm.h ispl_y.h
-ispl_y.o: ispl_y.c ../../config.h ../../src/include/atm.h \
-	../../src/include/stdint.h isp.h
-ttcp.o: ttcp.c ../../config.h ../../src/include/stdint.h \
-	../../src/include/atm.h ../../src/include/atmsap.h
-window.o: window.c ../../config.h ../../src/include/atm.h \
-	../../src/include/stdint.h
 
+DEPS_MAGIC := $(shell mkdir .deps > /dev/null 2>&1 || :)
+
+-include $(DEP_FILES)
+
+mostlyclean-depend:
+
+clean-depend:
+
+distclean-depend:
+	-rm -rf .deps
+
+maintainer-clean-depend:
+
+%.o: %.c
+	@echo '$(COMPILE) -c $<'; \
+	$(COMPILE) -Wp,-MD,.deps/$(*F).pp -c $<
+	@-cp .deps/$(*F).pp .deps/$(*F).P; \
+	tr ' ' '\012' < .deps/$(*F).pp \
+	  | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \
+	    >> .deps/$(*F).P; \
+	rm .deps/$(*F).pp
+
+%.lo: %.c
+	@echo '$(LTCOMPILE) -c $<'; \
+	$(LTCOMPILE) -Wp,-MD,.deps/$(*F).pp -c $<
+	@-sed -e 's/^\([^:]*\)\.o[ 	]*:/\1.lo \1.o :/' \
+	  < .deps/$(*F).pp > .deps/$(*F).P; \
+	tr ' ' '\012' < .deps/$(*F).pp \
+	  | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \
+	    >> .deps/$(*F).P; \
+	rm -f .deps/$(*F).pp
 info-am:
 info: info-am
 dvi-am:
@@ -412,21 +422,22 @@
 	-rm -f config.cache config.log stamp-h stamp-h[0-9]*
 
 maintainer-clean-generic:
-	-test -z "ispl_llispl_yhispl_yc" || rm -f ispl_ll ispl_yh ispl_yc
+	-test -z "ispl_lcispl_yhispl_yc" || rm -f ispl_lc ispl_yh ispl_yc
 mostlyclean-am:  mostlyclean-binPROGRAMS mostlyclean-noinstPROGRAMS \
 		mostlyclean-compile mostlyclean-libtool \
-		mostlyclean-tags mostlyclean-generic
+		mostlyclean-tags mostlyclean-depend mostlyclean-generic
 
 mostlyclean: mostlyclean-am
 
 clean-am:  clean-binPROGRAMS clean-noinstPROGRAMS clean-compile \
-		clean-libtool clean-tags clean-generic mostlyclean-am
+		clean-libtool clean-tags clean-depend clean-generic \
+		mostlyclean-am
 
 clean: clean-am
 
 distclean-am:  distclean-binPROGRAMS distclean-noinstPROGRAMS \
 		distclean-compile distclean-libtool distclean-tags \
-		distclean-generic clean-am
+		distclean-depend distclean-generic clean-am
 	-rm -f libtool
 
 distclean: distclean-am
@@ -434,8 +445,8 @@
 maintainer-clean-am:  maintainer-clean-binPROGRAMS \
 		maintainer-clean-noinstPROGRAMS \
 		maintainer-clean-compile maintainer-clean-libtool \
-		maintainer-clean-tags maintainer-clean-generic \
-		distclean-am
+		maintainer-clean-tags maintainer-clean-depend \
+		maintainer-clean-generic distclean-am
 	@echo "This command is intended for maintainers to use;"
 	@echo "it deletes files that may require special tools to rebuild."
 
@@ -448,19 +459,22 @@
 mostlyclean-compile distclean-compile clean-compile \
 maintainer-clean-compile mostlyclean-libtool distclean-libtool \
 clean-libtool maintainer-clean-libtool tags mostlyclean-tags \
-distclean-tags clean-tags maintainer-clean-tags distdir info-am info \
-dvi-am dvi check check-am installcheck-am installcheck install-exec-am \
-install-exec install-data-am install-data install-am install \
-uninstall-am uninstall all-redirect all-am all installdirs \
-mostlyclean-generic distclean-generic clean-generic \
-maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+distclean-tags clean-tags maintainer-clean-tags distdir \
+mostlyclean-depend distclean-depend clean-depend \
+maintainer-clean-depend info-am info dvi-am dvi check check-am \
+installcheck-am installcheck install-exec-am install-exec \
+install-data-am install-data install-am install uninstall-am uninstall \
+all-redirect all-am all installdirs mostlyclean-generic \
+distclean-generic clean-generic maintainer-clean-generic clean \
+mostlyclean distclean maintainer-clean
 
 
 isp.o: errnos.inc
 
 errnos.inc: mkerrnos.pl
-	@PERL@ ./mkerrnos.pl </usr/include/asm/errno.h \
-		>errnos.inc || { rm -f errnos.inc; exit 1; }
+	cpp -I/usr/include/ -dM /usr/include/asm/errno.h | grep "^#define E" \
+	| @PERL@ ./mkerrnos.pl | grep -v EMAXERRNO >errnos.inc \
+	|| { rm -f errnos.inc; exit 1; }
 
 # 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.
Index: linux-atm-2.4.1/src/test/Makefile.am
===================================================================
--- linux-atm-2.4.1.orig/src/test/Makefile.am	2007-06-04 13:23:53.965529888 +0200
+++ linux-atm-2.4.1/src/test/Makefile.am	2007-06-04 13:23:54.483451152 +0200
@@ -26,6 +26,7 @@
 isp.o: errnos.inc
 
 errnos.inc: mkerrnos.pl
-	@PERL@ ./mkerrnos.pl </usr/include/asm/errno.h \
-		>errnos.inc || { rm -f errnos.inc; exit 1; }
-
+	cpp -I/usr/include/ -dM /usr/include/asm/errno.h | grep "^#define E" \
+	| @PERL@ ./mkerrnos.pl | grep -v EMAXERRNO >errnos.inc \
+	|| { rm -f errnos.inc; exit 1; }
+			
Index: linux-atm-2.4.1/src/test/ttcp.c
===================================================================
--- linux-atm-2.4.1.orig/src/test/ttcp.c	2007-06-04 13:23:53.971528976 +0200
+++ linux-atm-2.4.1/src/test/ttcp.c	2007-06-04 13:23:54.483451152 +0200
@@ -55,6 +55,8 @@
 /* #define SYSV */	/* required on SGI IRIX releases before 3.3 */
 
 #include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
 #include <signal.h>
 #include <ctype.h>
 #include <errno.h>
@@ -67,6 +69,7 @@
 #include <sys/time.h>		/* struct timeval */
 #include <atm.h>
 #include <atmsap.h>
+#include <unistd.h>
 
 #if defined(SYSV)
 #include <sys/times.h>
@@ -85,7 +88,8 @@
 struct sockaddr_atmsvc satm;
 struct atm_qos qos;
 
-int domain, fromlen;
+int domain;
+socklen_t fromlen;
 int fd;				/* fd of network socket */
 
 int buflen = 8 * 1024;		/* length of buffer */
@@ -120,7 +124,6 @@
 static struct rusage ru0;		/* Resource utilization at the start */
 
 struct hostent *addr;
-extern int errno;
 extern int optind;
 extern char *optarg;
 
@@ -158,23 +161,21 @@
 unsigned long numCalls;		/* # of I/O system calls */
 double cput, realt;		/* user, real time (seconds) */
 
-void err();
-void mes();
-int pattern();
-void prep_timer();
-double read_timer();
-int Nread();
-int Nwrite();
-void delay();
-int mread();
-char *outfmt();
-static void prusage();
-static void tvadd();
-static void tvsub();
-static void psecs();
+void err(const char *s);
+void mes(const char *s);
+void prep_timer(void);
+void pattern(char *cp, int cnt);
+int Nread(int nfd, char *Nbuf, int count);
+int Nwrite(int nfd, char *Nbuf, int count);
+void delay(int us);
+int mread(int mfd, char *bufp, unsigned n);
+char *outfmt(double b);
+static void prusage(struct rusage *r0, struct rusage *r1, struct timeval *e, struct timeval *b, char *outp);
+static void tvadd(struct timeval *tsum, struct timeval *t0, struct timeval *t1);
+static void tvsub(struct timeval *tdiff, struct timeval *t1, struct timeval *t0);
+static void psecs(long l, char *cp);
 
-void
-sigpipe()
+void sigpipe(int unused)
 {
 }
 
@@ -183,16 +184,14 @@
  * main - 
  *-------------------------------------------------------------------------
  */
-main(argc,argv)
-int argc;
-char **argv;
+int main(int argc,char **argv)
 {
     struct timeval td;
     unsigned long addr_tmp;
     const char *port_name = NULL,*tos = NULL;
     int c;
     double mbps;
-int no_check = 0;
+    int no_check = 0;
 
     if (argc < 2) goto usage;
 
@@ -275,7 +274,7 @@
 	}
     }
 
-    if (port_name)
+    if (port_name) {
 	if (atm) goto usage;
 	else {
 	    struct servent *se;
@@ -283,13 +282,13 @@
 	    se = getservbyname(port_name,udp ? "udp" : "tcp");
 	    if (se) port = ntohs(se->s_port);
 	    else {
-		const char *end;
+		char *end;
 
 		port = strtoul(port_name,&end,0);
 		if (*end) goto usage;
 	    }
 	}     
-
+    }
     host = argv[optind];
 
     if (atm) {
@@ -435,9 +434,9 @@
 #endif
 
     if (!atm || satm.sas_family == AF_ATMPVC || !trans)
-	if (bind(fd, atm ? &satm : &sinme, atm ? satm.sas_family == AF_ATMPVC ?
-	  sizeof(struct sockaddr_atmpvc) : sizeof(struct sockaddr_atmsvc) :
-	  sizeof(sinme)) < 0)
+	if (bind(fd, atm ? 
+		 (struct  sockaddr  *)&satm : (struct  sockaddr  *)&sinme, 
+		 atm ? satm.sas_family == AF_ATMPVC ?  sizeof(struct sockaddr_atmpvc) : sizeof(struct sockaddr_atmsvc) : sizeof(sinme)) < 0)
 	    err("bind");
 
     if (!udp || (atm && satm.sas_family == AF_ATMSVC)) {
@@ -453,8 +452,8 @@
 			err("setsockopt");
 	    }
 	    
-	    if (connect(fd, atm ? &satm : &sinhim, atm ? sizeof(satm) :
-	      sizeof(sinhim)) < 0)
+	    if (connect(fd, 
+		atm ? (struct  sockaddr  *)&satm : (struct  sockaddr  *)&sinhim,	        atm ? sizeof(satm) : sizeof(sinhim)) < 0)
 		err("connect");
 	    
 	    mes("connect");
@@ -482,13 +481,13 @@
 	    fromlen = sizeof(frominet);
 	    domain = AF_INET;
 	    
-	    if ((fd=accept(fd, &frominet, &fromlen) ) < 0)
+	    if ((fd=accept(fd, (struct sockaddr *)&frominet, &fromlen) ) < 0)
 		err("accept");
 	    
 	    {
 		struct sockaddr_atmsvc peer;
 		int peerlen = sizeof(peer);
-		if (getpeername(fd, (struct sockaddr_in *) &peer, 
+		if (getpeername(fd, (struct sockaddr *) &peer, 
 				&peerlen) < 0) {
 		    err("getpeername");
 		}
@@ -638,13 +637,13 @@
 		nbytes, cput, outfmt((double)nbytes/cput));
 
 	fprintf(stdout,
-		"ttcp%s: %d I/O calls, msec/call = %.2f, calls/sec = %.2f\n",
+		"ttcp%s: %lu I/O calls, msec/call = %.2f, calls/sec = %.2f\n",
 		trans?"-t":"-r",
 		numCalls,
 		1000.0 * realt/((double)numCalls),
 		((double)numCalls)/realt);
 	fprintf(stdout,
-		"ttcp%s: buffer address %#x\n",
+		"ttcp%s: buffer address %p\n",
 		trans?"-t":"-r",
 		buf);
     }
@@ -656,8 +655,7 @@
 }
 
 void
-err(s)
-char *s;
+err(const char *s)
 {
 	int	en = errno;
 
@@ -670,8 +668,7 @@
 }
 
 void
-mes(s)
-char *s;
+mes(const char *s)
 {
 	fprintf(stderr,"ttcp%s: %s\n", trans?"-t":"-r", s);
 }
@@ -681,9 +678,7 @@
  * pattern - 
  *-------------------------------------------------------------------------
  */
-pattern(cp, cnt)
-register char *cp;
-register int cnt;
+void pattern(char *cp, int cnt)
 {
     register char c;
     c = 0;
@@ -694,9 +689,7 @@
 }
 
 
-char *
-outfmt(b)
-double b;
+char *outfmt(double b)
 {
     static char obuf[50];
     switch (fmt) {
@@ -758,7 +751,7 @@
  *			P R E P _ T I M E R
  */
 void
-prep_timer()
+prep_timer(void)
 {
 	gettimeofday(&start_time, (struct timezone *)0);
 	getrusage(RUSAGE_SELF, &ru0);
@@ -768,8 +761,7 @@
  * read_timer - 
  *-------------------------------------------------------------------------
  */
-double read_timer(str,len)
-char *str;
+double read_timer(char *str,int len)
 {
     struct rusage ru1;
     struct timeval tend, tstart, td;
@@ -788,15 +780,11 @@
     return( cput );
 }
 
-static void
-prusage(r0, r1, e, b, outp)
-	register struct rusage *r0, *r1;
-	struct timeval *e, *b;
-	char *outp;
+static void prusage(struct rusage *r0, struct rusage *r1, struct timeval *e, struct timeval *b, char *outp)
 {
 	struct timeval tdiff;
 	register time_t t;
-	register char *cp;
+	register const char *cp;
 	register int i;
 	int ms;
 
@@ -823,13 +811,13 @@
 
 		case 'U':
 			tvsub(&tdiff, &r1->ru_utime, &r0->ru_utime);
-			sprintf(outp,"%d.%01d", tdiff.tv_sec, tdiff.tv_usec/100000);
+			sprintf(outp,"%ld.%01ld", tdiff.tv_sec, tdiff.tv_usec/100000);
 			END(outp);
 			break;
 
 		case 'S':
 			tvsub(&tdiff, &r1->ru_stime, &r0->ru_stime);
-			sprintf(outp,"%d.%01d", tdiff.tv_sec, tdiff.tv_usec/100000);
+			sprintf(outp,"%ld.%01ld", tdiff.tv_sec, tdiff.tv_usec/100000);
 			END(outp);
 			break;
 
@@ -851,49 +839,49 @@
 			break;
 
 		case 'X':
-			sprintf(outp,"%d", t == 0 ? 0 : (r1->ru_ixrss-r0->ru_ixrss)/t);
+			sprintf(outp,"%ld", t == 0 ? 0 : (r1->ru_ixrss-r0->ru_ixrss)/t);
 			END(outp);
 			break;
 
 		case 'D':
-			sprintf(outp,"%d", t == 0 ? 0 :
+			sprintf(outp,"%ld", t == 0 ? 0 :
 			    (r1->ru_idrss+r1->ru_isrss-(r0->ru_idrss+r0->ru_isrss))/t);
 			END(outp);
 			break;
 
 		case 'K':
-			sprintf(outp,"%d", t == 0 ? 0 :
+			sprintf(outp,"%ld", t == 0 ? 0 :
 			    ((r1->ru_ixrss+r1->ru_isrss+r1->ru_idrss) -
 			    (r0->ru_ixrss+r0->ru_idrss+r0->ru_isrss))/t);
 			END(outp);
 			break;
 
 		case 'M':
-			sprintf(outp,"%d", r1->ru_maxrss/2);
+			sprintf(outp,"%ld", r1->ru_maxrss/2);
 			END(outp);
 			break;
 
 		case 'F':
-			sprintf(outp,"%d", r1->ru_majflt-r0->ru_majflt);
+			sprintf(outp,"%ld", r1->ru_majflt-r0->ru_majflt);
 			END(outp);
 			break;
 
 		case 'R':
-			sprintf(outp,"%d", r1->ru_minflt-r0->ru_minflt);
+			sprintf(outp,"%ld", r1->ru_minflt-r0->ru_minflt);
 			END(outp);
 			break;
 
 		case 'I':
-			sprintf(outp,"%d", r1->ru_inblock-r0->ru_inblock);
+			sprintf(outp,"%ld", r1->ru_inblock-r0->ru_inblock);
 			END(outp);
 			break;
 
 		case 'O':
-			sprintf(outp,"%d", r1->ru_oublock-r0->ru_oublock);
+			sprintf(outp,"%ld", r1->ru_oublock-r0->ru_oublock);
 			END(outp);
 			break;
 		case 'C':
-			sprintf(outp,"%d+%d", r1->ru_nvcsw-r0->ru_nvcsw,
+			sprintf(outp,"%ld+%ld", r1->ru_nvcsw-r0->ru_nvcsw,
 				r1->ru_nivcsw-r0->ru_nivcsw );
 			END(outp);
 			break;
@@ -903,9 +891,7 @@
 	*outp = '\0';
 }
 
-static void
-tvadd(tsum, t0, t1)
-	struct timeval *tsum, *t0, *t1;
+static void tvadd(struct timeval *tsum, struct timeval *t0, struct timeval *t1)
 {
 
 	tsum->tv_sec = t0->tv_sec + t1->tv_sec;
@@ -919,8 +905,7 @@
  * tvsub - tdiff = t1 - t0 
  *-------------------------------------------------------------------------
  */
-static void tvsub(tdiff, t1, t0)
-	struct timeval *tdiff, *t1, *t0;
+static void tvsub(struct timeval *tdiff, struct timeval *t1, struct timeval *t0)
 {
 
     tdiff->tv_sec = t1->tv_sec - t0->tv_sec;
@@ -931,10 +916,7 @@
     }
 }
 
-static void
-psecs(l,cp)
-long l;
-register char *cp;
+static void psecs(long l, char *cp)
 {
 	register int i;
 
@@ -958,26 +940,23 @@
 /*
  *			N R E A D
  */
-Nread( fd, buf, count )
-int fd;
-char *buf;
-int count;
+int Nread( int nfd, char *Nbuf, int count )
 {
 	struct sockaddr_in from;
 	int len = sizeof(from);
 	register int cnt;
 	if( udp )  {
 #if 0
-		cnt = recvfrom( fd, buf, count, 0, &from, &len );
+		cnt = recvfrom( nfd, Nbuf, count, 0, &from, &len );
 #else
-		cnt = recv( fd, buf, count, 0);
+		cnt = recv( nfd, Nbuf, count, 0);
 #endif
 		numCalls++;
 	} else {
 		if( b_flag )
-			cnt = mread( fd, buf, count );	/* fill buf */
+			cnt = mread( nfd, Nbuf, count );	/* fill buf */
 		else {
-			cnt = read( fd, buf, count );
+			cnt = read( nfd, Nbuf, count );
 			numCalls++;
 		}
 		if (touchdata && cnt > 0) {
@@ -994,17 +973,15 @@
  * Nwrite - 
  *-------------------------------------------------------------------------
  */
-Nwrite(fd, buf, count)
-int fd;
-char *buf;
-int count;
+int Nwrite(int nfd, char *Nbuf, int count)
 {
     register int cnt;
     
     if (udp)  {
       again:
-	if (atm) cnt = write(fd, buf, count);
-	else cnt = sendto(fd, buf, count, 0, &sinhim, sizeof(sinhim));
+	if (atm) cnt = write(nfd, Nbuf, count);
+	else cnt = sendto(nfd, Nbuf, count, 0,  (struct sockaddr *)&sinhim, 
+			   sizeof(sinhim));
 	numCalls++;
 	if ( cnt<0 && errno == ENOBUFS )  {
 	    delay(18000);
@@ -1012,7 +989,7 @@
 	    goto again;
 	}
     } else {
-	cnt = write(fd, buf, count);
+	cnt = write(nfd, Nbuf, count);
 	numCalls++;
     }
 if (cnt < 0) perror("WA:write");
@@ -1020,13 +997,13 @@
 }
 
 void
-delay(us)
+delay(int us)
 {
 	struct timeval tv;
 
 	tv.tv_sec = 0;
 	tv.tv_usec = us;
-	(void)select( 1, (char *)0, (char *)0, (char *)0, &tv );
+	(void)select( 1, NULL, NULL, NULL, &tv );
 }
 
 /*
@@ -1038,17 +1015,13 @@
  * network connections don't deliver data with the same
  * grouping as it is written with.  Written by Robert S. Miles, BRL.
  */
-int
-mread(fd, bufp, n)
-int fd;
-register char	*bufp;
-unsigned	n;
+int mread(int mfd, char *bufp, unsigned n)
 {
 	register unsigned	count = 0;
 	register int		nread;
 
 	do {
-		nread = read(fd, bufp, n-count);
+		nread = read(mfd, bufp, n-count);
 		numCalls++;
 		if(nread < 0)  {
 			perror("ttcp_mread");
Index: linux-atm-2.4.1/src/debug/Makefile.in
===================================================================
--- linux-atm-2.4.1.orig/src/debug/Makefile.in	2007-06-04 13:23:53.977528064 +0200
+++ linux-atm-2.4.1/src/debug/Makefile.in	2007-06-04 13:23:54.484451000 +0200
@@ -1,4 +1,4 @@
-# Makefile.in generated automatically by automake 1.4-p5 from Makefile.am
+# Makefile.in generated automatically by automake 1.4-p6 from Makefile.am
 
 # Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
@@ -129,8 +129,9 @@
 
 DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
 
-TAR = gtar
+TAR = tar
 GZIP_ENV = --best
+DEP_FILES =  .deps/delay.P .deps/svctor.P
 SOURCES = $(delay_SOURCES) $(svctor_SOURCES)
 OBJECTS = $(delay_OBJECTS) $(svctor_OBJECTS)
 
@@ -138,9 +139,9 @@
 .SUFFIXES:
 .SUFFIXES: .S .c .lo .o .obj .s
 $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) 
-	cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps src/debug/Makefile
+	cd $(top_srcdir) && $(AUTOMAKE) --gnu src/debug/Makefile
 
-Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status
+Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status $(BUILT_SOURCES)
 	cd $(top_builddir) \
 	  && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
 
@@ -154,9 +155,6 @@
 
 maintainer-clean-noinstPROGRAMS:
 
-.c.o:
-	$(COMPILE) -c $<
-
 # FIXME: We should only use cygpath when building on Windows,
 # and only if it is available.
 .c.obj:
@@ -179,9 +177,6 @@
 
 maintainer-clean-compile:
 
-.c.lo:
-	$(LIBTOOL) --mode=compile $(COMPILE) -c $<
-
 .s.lo:
 	$(LIBTOOL) --mode=compile $(COMPILE) -c $<
 
@@ -224,7 +219,7 @@
 	  awk '    { files[$$0] = 1; } \
 	       END { for (i in files) print i; }'`; \
 	test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
-	  || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags  $$unique $(LISP) -o $$here/TAGS)
+	  || (cd $(srcdir) && etags -o $$here/TAGS $(ETAGS_ARGS) $$tags  $$unique $(LISP))
 
 mostlyclean-tags:
 
@@ -240,6 +235,11 @@
 subdir = src/debug
 
 distdir: $(DISTFILES)
+	here=`cd $(top_builddir) && pwd`; \
+	top_distdir=`cd $(top_distdir) && pwd`; \
+	distdir=`cd $(distdir) && pwd`; \
+	cd $(top_srcdir) \
+	  && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnu src/debug/Makefile
 	@for file in $(DISTFILES); do \
 	  d=$(srcdir); \
 	  if test -d $$d/$$file; then \
@@ -250,11 +250,38 @@
 	    || cp -p $$d/$$file $(distdir)/$$file || :; \
 	  fi; \
 	done
-delay.o: delay.c ../../config.h ../../src/include/atm.h \
-	../../src/include/stdint.h
-svctor.o: svctor.c ../../config.h ../../src/include/atm.h \
-	../../src/include/stdint.h
 
+DEPS_MAGIC := $(shell mkdir .deps > /dev/null 2>&1 || :)
+
+-include $(DEP_FILES)
+
+mostlyclean-depend:
+
+clean-depend:
+
+distclean-depend:
+	-rm -rf .deps
+
+maintainer-clean-depend:
+
+%.o: %.c
+	@echo '$(COMPILE) -c $<'; \
+	$(COMPILE) -Wp,-MD,.deps/$(*F).pp -c $<
+	@-cp .deps/$(*F).pp .deps/$(*F).P; \
+	tr ' ' '\012' < .deps/$(*F).pp \
+	  | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \
+	    >> .deps/$(*F).P; \
+	rm .deps/$(*F).pp
+
+%.lo: %.c
+	@echo '$(LTCOMPILE) -c $<'; \
+	$(LTCOMPILE) -Wp,-MD,.deps/$(*F).pp -c $<
+	@-sed -e 's/^\([^:]*\)\.o[ 	]*:/\1.lo \1.o :/' \
+	  < .deps/$(*F).pp > .deps/$(*F).P; \
+	tr ' ' '\012' < .deps/$(*F).pp \
+	  | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \
+	    >> .deps/$(*F).P; \
+	rm -f .deps/$(*F).pp
 info-am:
 info: info-am
 dvi-am:
@@ -291,27 +318,27 @@
 
 maintainer-clean-generic:
 mostlyclean-am:  mostlyclean-noinstPROGRAMS mostlyclean-compile \
-		mostlyclean-libtool mostlyclean-tags \
+		mostlyclean-libtool mostlyclean-tags mostlyclean-depend \
 		mostlyclean-generic
 
 mostlyclean: mostlyclean-am
 
 clean-am:  clean-noinstPROGRAMS clean-compile clean-libtool clean-tags \
-		clean-generic mostlyclean-am
+		clean-depend clean-generic mostlyclean-am
 
 clean: clean-am
 
 distclean-am:  distclean-noinstPROGRAMS distclean-compile \
-		distclean-libtool distclean-tags distclean-generic \
-		clean-am
+		distclean-libtool distclean-tags distclean-depend \
+		distclean-generic clean-am
 	-rm -f libtool
 
 distclean: distclean-am
 
 maintainer-clean-am:  maintainer-clean-noinstPROGRAMS \
 		maintainer-clean-compile maintainer-clean-libtool \
-		maintainer-clean-tags maintainer-clean-generic \
-		distclean-am
+		maintainer-clean-tags maintainer-clean-depend \
+		maintainer-clean-generic distclean-am
 	@echo "This command is intended for maintainers to use;"
 	@echo "it deletes files that may require special tools to rebuild."
 
@@ -322,12 +349,14 @@
 mostlyclean-compile distclean-compile clean-compile \
 maintainer-clean-compile mostlyclean-libtool distclean-libtool \
 clean-libtool maintainer-clean-libtool tags mostlyclean-tags \
-distclean-tags clean-tags maintainer-clean-tags distdir info-am info \
-dvi-am dvi check check-am installcheck-am installcheck install-exec-am \
-install-exec install-data-am install-data install-am install \
-uninstall-am uninstall all-redirect all-am all installdirs \
-mostlyclean-generic distclean-generic clean-generic \
-maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+distclean-tags clean-tags maintainer-clean-tags distdir \
+mostlyclean-depend distclean-depend clean-depend \
+maintainer-clean-depend info-am info dvi-am dvi check check-am \
+installcheck-am installcheck install-exec-am install-exec \
+install-data-am install-data install-am install uninstall-am uninstall \
+all-redirect all-am all installdirs mostlyclean-generic \
+distclean-generic clean-generic maintainer-clean-generic clean \
+mostlyclean distclean maintainer-clean
 
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
Index: linux-atm-2.4.1/src/qgen/Makefile.in
===================================================================
--- linux-atm-2.4.1.orig/src/qgen/Makefile.in	2007-06-04 13:23:53.983527152 +0200
+++ linux-atm-2.4.1/src/qgen/Makefile.in	2007-06-04 13:23:54.484451000 +0200
@@ -1,4 +1,4 @@
-# Makefile.in generated automatically by automake 1.4-p5 from Makefile.am
+# Makefile.in generated automatically by automake 1.4-p6 from Makefile.am
 
 # Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
@@ -88,8 +88,7 @@
 noinst_PROGRAMS = qgen q.dump # q40.out.o
 check_PROGRAMS = q.test
 
-qgen_SOURCES = common.c common.h file.c file.h first.c ql_y.y ql_l.l qgen.c \
-		qgen.h second.c third.c
+qgen_SOURCES = common.c common.h file.c file.h first.c ql_y.y ql_l.l qgen.c 		qgen.h second.c third.c
 
 qgen_LDADD = -lfl
 
@@ -108,17 +107,10 @@
 
 EXTRA_DIST = ql_y.h incl.pl mknl.pl msg.fmt TODO
 
-CLEANFILES = q.out.h q.out.c q.test.c qd.out.h qd.out.c qd.dump.c qd.test.c \
-		default.nl # q40.out.h q40.out.c q40.test.c
+CLEANFILES = q.out.h q.out.c q.test.c qd.out.h qd.out.c qd.dump.c qd.test.c 		default.nl # q40.out.h q40.out.c q40.test.c
 
 
-NLS = atm_ai_msg atm_ai_ie atm_loc atm_cv atm_pu atm_na atm_cond atm_ie \
-	atm_msg atm_np atm_ton atm_sat atm_prs atm_scrn atm_vpa atm_poe \
-	q2931_cs atm_td atm_bc atm_tc atm_stc atm_upcc q2931_proto atm_flag \
-	atm_aalp atm_fd atm_tag atm_l2 atm_l3 atm_tt atm_mc atm_hl atm_imd \
-	atm_tdl atm_tni atm_nip atm_shi atm_oci atm_unfm atm_ofi atm_irs \
-	atm_it atm_lit atm_lsi atm_tcs atm_css atm_eqo atm_eqp atm_aap \
-	atm_asp atm_tor
+NLS = atm_ai_msg atm_ai_ie atm_loc atm_cv atm_pu atm_na atm_cond atm_ie 	atm_msg atm_np atm_ton atm_sat atm_prs atm_scrn atm_vpa atm_poe 	q2931_cs atm_td atm_bc atm_tc atm_stc atm_upcc q2931_proto atm_flag 	atm_aalp atm_fd atm_tag atm_l2 atm_l3 atm_tt atm_mc atm_hl atm_imd 	atm_tdl atm_tni atm_nip atm_shi atm_oci atm_unfm atm_ofi atm_irs 	atm_it atm_lit atm_lsi atm_tcs atm_css atm_eqo atm_eqp atm_aap 	atm_asp atm_tor
 
 SYMFILES = uni.h $(shell @PERL@ incl.pl $(CFLAGS) linux/atmsap.h)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@@ -155,8 +147,11 @@
 
 DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
 
-TAR = gtar
+TAR = tar
 GZIP_ENV = --best
+DEP_FILES =  .deps/common.P .deps/file.P .deps/first.P .deps/qgen.P \
+.deps/ql_l.P .deps/ql_y.P .deps/qlib.P .deps/qtest.P .deps/second.P \
+.deps/third.P
 SOURCES = $(q_test_SOURCES) $(qgen_SOURCES) $(q_dump_SOURCES) $(EXTRA_q_dump_SOURCES)
 OBJECTS = $(q_test_OBJECTS) $(qgen_OBJECTS) $(q_dump_OBJECTS)
 
@@ -164,9 +159,9 @@
 .SUFFIXES:
 .SUFFIXES: .S .c .l .lo .o .obj .s .y
 $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) 
-	cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps src/qgen/Makefile
+	cd $(top_srcdir) && $(AUTOMAKE) --gnu src/qgen/Makefile
 
-Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status
+Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status $(BUILT_SOURCES)
 	cd $(top_builddir) \
 	  && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
 
@@ -189,9 +184,6 @@
 
 maintainer-clean-noinstPROGRAMS:
 
-.c.o:
-	$(COMPILE) -c $<
-
 # FIXME: We should only use cygpath when building on Windows,
 # and only if it is available.
 .c.obj:
@@ -214,9 +206,6 @@
 
 maintainer-clean-compile:
 
-.c.lo:
-	$(LIBTOOL) --mode=compile $(COMPILE) -c $<
-
 .s.lo:
 	$(LIBTOOL) --mode=compile $(COMPILE) -c $<
 
@@ -272,7 +261,7 @@
 	  awk '    { files[$$0] = 1; } \
 	       END { for (i in files) print i; }'`; \
 	test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
-	  || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags  $$unique $(LISP) -o $$here/TAGS)
+	  || (cd $(srcdir) && etags -o $$here/TAGS $(ETAGS_ARGS) $$tags  $$unique $(LISP))
 
 mostlyclean-tags:
 
@@ -288,6 +277,11 @@
 subdir = src/qgen
 
 distdir: $(DISTFILES)
+	here=`cd $(top_builddir) && pwd`; \
+	top_distdir=`cd $(top_distdir) && pwd`; \
+	distdir=`cd $(distdir) && pwd`; \
+	cd $(top_srcdir) \
+	  && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnu src/qgen/Makefile
 	@for file in $(DISTFILES); do \
 	  d=$(srcdir); \
 	  if test -d $$d/$$file; then \
@@ -298,15 +292,38 @@
 	    || cp -p $$d/$$file $(distdir)/$$file || :; \
 	  fi; \
 	done
-common.o: common.c ../../config.h common.h
-file.o: file.c ../../config.h common.h file.h
-first.o: first.c ../../config.h common.h qgen.h file.h
-qgen.o: qgen.c ../../config.h common.h file.h qgen.h
-ql_l.o: ql_l.c ../../config.h common.h qgen.h ql_y.h
-ql_y.o: ql_y.c ../../config.h common.h qgen.h file.h
-second.o: second.c ../../config.h common.h qgen.h file.h
-third.o: third.c ../../config.h common.h qgen.h file.h
 
+DEPS_MAGIC := $(shell mkdir .deps > /dev/null 2>&1 || :)
+
+-include $(DEP_FILES)
+
+mostlyclean-depend:
+
+clean-depend:
+
+distclean-depend:
+	-rm -rf .deps
+
+maintainer-clean-depend:
+
+%.o: %.c
+	@echo '$(COMPILE) -c $<'; \
+	$(COMPILE) -Wp,-MD,.deps/$(*F).pp -c $<
+	@-cp .deps/$(*F).pp .deps/$(*F).P; \
+	tr ' ' '\012' < .deps/$(*F).pp \
+	  | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \
+	    >> .deps/$(*F).P; \
+	rm .deps/$(*F).pp
+
+%.lo: %.c
+	@echo '$(LTCOMPILE) -c $<'; \
+	$(LTCOMPILE) -Wp,-MD,.deps/$(*F).pp -c $<
+	@-sed -e 's/^\([^:]*\)\.o[ 	]*:/\1.lo \1.o :/' \
+	  < .deps/$(*F).pp > .deps/$(*F).P; \
+	tr ' ' '\012' < .deps/$(*F).pp \
+	  | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \
+	    >> .deps/$(*F).P; \
+	rm -f .deps/$(*F).pp
 info-am:
 info: info-am
 dvi-am:
@@ -344,21 +361,22 @@
 	-rm -f config.cache config.log stamp-h stamp-h[0-9]*
 
 maintainer-clean-generic:
-	-test -z "ql_llql_yhql_yc" || rm -f ql_ll ql_yh ql_yc
+	-test -z "ql_lcql_yhql_yc" || rm -f ql_lc ql_yh ql_yc
 mostlyclean-am:  mostlyclean-checkPROGRAMS mostlyclean-noinstPROGRAMS \
 		mostlyclean-compile mostlyclean-libtool \
-		mostlyclean-tags mostlyclean-generic
+		mostlyclean-tags mostlyclean-depend mostlyclean-generic
 
 mostlyclean: mostlyclean-am
 
 clean-am:  clean-checkPROGRAMS clean-noinstPROGRAMS clean-compile \
-		clean-libtool clean-tags clean-generic mostlyclean-am
+		clean-libtool clean-tags clean-depend clean-generic \
+		mostlyclean-am
 
 clean: clean-am
 
 distclean-am:  distclean-checkPROGRAMS distclean-noinstPROGRAMS \
 		distclean-compile distclean-libtool distclean-tags \
-		distclean-generic clean-am
+		distclean-depend distclean-generic clean-am
 	-rm -f libtool
 
 distclean: distclean-am
@@ -366,8 +384,8 @@
 maintainer-clean-am:  maintainer-clean-checkPROGRAMS \
 		maintainer-clean-noinstPROGRAMS \
 		maintainer-clean-compile maintainer-clean-libtool \
-		maintainer-clean-tags maintainer-clean-generic \
-		distclean-am
+		maintainer-clean-tags maintainer-clean-depend \
+		maintainer-clean-generic distclean-am
 	@echo "This command is intended for maintainers to use;"
 	@echo "it deletes files that may require special tools to rebuild."
 
@@ -380,12 +398,14 @@
 mostlyclean-compile distclean-compile clean-compile \
 maintainer-clean-compile mostlyclean-libtool distclean-libtool \
 clean-libtool maintainer-clean-libtool tags mostlyclean-tags \
-distclean-tags clean-tags maintainer-clean-tags distdir info-am info \
-dvi-am dvi check check-am installcheck-am installcheck install-exec-am \
-install-exec install-data-am install-data install-am install \
-uninstall-am uninstall all-redirect all-am all installdirs \
-mostlyclean-generic distclean-generic clean-generic \
-maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+distclean-tags clean-tags maintainer-clean-tags distdir \
+mostlyclean-depend distclean-depend clean-depend \
+maintainer-clean-depend info-am info dvi-am dvi check check-am \
+installcheck-am installcheck install-exec-am install-exec \
+install-data-am install-data install-am install uninstall-am uninstall \
+all-redirect all-am all installdirs mostlyclean-generic \
+distclean-generic clean-generic maintainer-clean-generic clean \
+mostlyclean distclean maintainer-clean
 
 
 default.nl: mknl.pl $(SYMFILES)
Index: linux-atm-2.4.1/src/qgen/ql_l.c
===================================================================
--- linux-atm-2.4.1.orig/src/qgen/ql_l.c	2007-06-04 13:23:53.988526392 +0200
+++ linux-atm-2.4.1/src/qgen/ql_l.c	2007-06-04 13:23:54.486450696 +0200
@@ -1,32 +1,85 @@
-/* A lexical scanner generated by flex */
 
-/* Scanner skeleton version:
- * $Header: /home/daffy/u0/vern/flex/RCS/flex.skl,v 2.91 96/09/10 16:58:48 vern Exp $
- */
+#line 3 "lex.yy.c"
+
+#define  YY_INT_ALIGNED short int
+
+/* A lexical scanner generated by flex */
 
 #define FLEX_SCANNER
 #define YY_FLEX_MAJOR_VERSION 2
 #define YY_FLEX_MINOR_VERSION 5
+#define YY_FLEX_SUBMINOR_VERSION 31
+#if YY_FLEX_SUBMINOR_VERSION > 0
+#define FLEX_BETA
+#endif
 
+/* First, we deal with  platform-specific or compiler-specific issues. */
+
+/* begin standard C headers. */
 #include <stdio.h>
-#include <unistd.h>
+#include <string.h>
+#include <errno.h>
+#include <stdlib.h>
 
+/* end standard C headers. */
 
-/* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
-#ifdef c_plusplus
-#ifndef __cplusplus
-#define __cplusplus
+/* flex integer type definitions */
+
+#ifndef FLEXINT_H
+#define FLEXINT_H
+
+/* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
+
+#if defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L
+#include <inttypes.h>
+typedef int8_t flex_int8_t;
+typedef uint8_t flex_uint8_t;
+typedef int16_t flex_int16_t;
+typedef uint16_t flex_uint16_t;
+typedef int32_t flex_int32_t;
+typedef uint32_t flex_uint32_t;
+#else
+typedef signed char flex_int8_t;
+typedef short int flex_int16_t;
+typedef int flex_int32_t;
+typedef unsigned char flex_uint8_t; 
+typedef unsigned short int flex_uint16_t;
+typedef unsigned int flex_uint32_t;
+#endif /* ! C99 */
+
+/* Limits of integral types. */
+#ifndef INT8_MIN
+#define INT8_MIN               (-128)
+#endif
+#ifndef INT16_MIN
+#define INT16_MIN              (-32767-1)
+#endif
+#ifndef INT32_MIN
+#define INT32_MIN              (-2147483647-1)
 #endif
+#ifndef INT8_MAX
+#define INT8_MAX               (127)
+#endif
+#ifndef INT16_MAX
+#define INT16_MAX              (32767)
+#endif
+#ifndef INT32_MAX
+#define INT32_MAX              (2147483647)
+#endif
+#ifndef UINT8_MAX
+#define UINT8_MAX              (255U)
+#endif
+#ifndef UINT16_MAX
+#define UINT16_MAX             (65535U)
+#endif
+#ifndef UINT32_MAX
+#define UINT32_MAX             (4294967295U)
 #endif
 
+#endif /* ! FLEXINT_H */
 
 #ifdef __cplusplus
 
-#include <stdlib.h>
-
-/* Use prototypes in function declarations. */
-#define YY_USE_PROTOS
-
 /* The "const" storage-class-modifier is valid. */
 #define YY_USE_CONST
 
@@ -34,34 +87,17 @@
 
 #if __STDC__
 
-#define YY_USE_PROTOS
 #define YY_USE_CONST
 
 #endif	/* __STDC__ */
 #endif	/* ! __cplusplus */
 
-#ifdef __TURBOC__
- #pragma warn -rch
- #pragma warn -use
-#include <io.h>
-#include <stdlib.h>
-#define YY_USE_CONST
-#define YY_USE_PROTOS
-#endif
-
 #ifdef YY_USE_CONST
 #define yyconst const
 #else
 #define yyconst
 #endif
 
-
-#ifdef YY_USE_PROTOS
-#define YY_PROTO(proto) proto
-#else
-#define YY_PROTO(proto) ()
-#endif
-
 /* Returned upon end-of-file. */
 #define YY_NULL 0
 
@@ -76,71 +112,71 @@
  * but we do it the disgusting crufty way forced on us by the ()-less
  * definition of BEGIN.
  */
-#define BEGIN yy_start = 1 + 2 *
+#define BEGIN (yy_start) = 1 + 2 *
 
 /* Translate the current start state into a value that can be later handed
  * to BEGIN to return to the state.  The YYSTATE alias is for lex
  * compatibility.
  */
-#define YY_START ((yy_start - 1) / 2)
+#define YY_START (((yy_start) - 1) / 2)
 #define YYSTATE YY_START
 
 /* Action number for EOF rule of a given start state. */
 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
 
 /* Special action meaning "start processing a new file". */
-#define YY_NEW_FILE yyrestart( yyin )
+#define YY_NEW_FILE yyrestart(yyin  )
 
 #define YY_END_OF_BUFFER_CHAR 0
 
 /* Size of default input buffer. */
+#ifndef YY_BUF_SIZE
 #define YY_BUF_SIZE 16384
+#endif
 
+#ifndef YY_TYPEDEF_YY_BUFFER_STATE
+#define YY_TYPEDEF_YY_BUFFER_STATE
 typedef struct yy_buffer_state *YY_BUFFER_STATE;
+#endif
 
 extern int yyleng;
+
 extern FILE *yyin, *yyout;
 
 #define EOB_ACT_CONTINUE_SCAN 0
 #define EOB_ACT_END_OF_FILE 1
 #define EOB_ACT_LAST_MATCH 2
 
-/* The funky do-while in the following #define is used to turn the definition
- * int a single C statement (which needs a semi-colon terminator).  This
- * avoids problems with code like:
- *
- * 	if ( condition_holds )
- *		yyless( 5 );
- *	else
- *		do_something_else();
- *
- * Prior to using the do-while the compiler would get upset at the
- * "else" because it interpreted the "if" statement as being all
- * done when it reached the ';' after the yyless() call.
- */
-
-/* Return all but the first 'n' matched characters back to the input stream. */
-
+    #define YY_LESS_LINENO(n)
+    
+/* Return all but the first "n" matched characters back to the input stream. */
 #define yyless(n) \
 	do \
 		{ \
 		/* Undo effects of setting up yytext. */ \
-		*yy_cp = yy_hold_char; \
+        int yyless_macro_arg = (n); \
+        YY_LESS_LINENO(yyless_macro_arg);\
+		*yy_cp = (yy_hold_char); \
 		YY_RESTORE_YY_MORE_OFFSET \
-		yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \
+		(yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
 		YY_DO_BEFORE_ACTION; /* set up yytext again */ \
 		} \
 	while ( 0 )
 
-#define unput(c) yyunput( c, yytext_ptr )
+#define unput(c) yyunput( c, (yytext_ptr)  )
 
 /* The following is because we cannot portably get our hands on size_t
  * (without autoconf's help, which isn't available because we want
  * flex-generated scanners to compile on their own).
  */
-typedef unsigned int yy_size_t;
 
+#ifndef YY_TYPEDEF_YY_SIZE_T
+#define YY_TYPEDEF_YY_SIZE_T
+typedef unsigned int yy_size_t;
+#endif
 
+#ifndef YY_STRUCT_YY_BUFFER_STATE
+#define YY_STRUCT_YY_BUFFER_STATE
 struct yy_buffer_state
 	{
 	FILE *yy_input_file;
@@ -177,12 +213,16 @@
 	 */
 	int yy_at_bol;
 
+    int yy_bs_lineno; /**< The line count. */
+    int yy_bs_column; /**< The column count. */
+    
 	/* Whether to try to fill the input buffer when we reach the
 	 * end of it.
 	 */
 	int yy_fill_buffer;
 
 	int yy_buffer_status;
+
 #define YY_BUFFER_NEW 0
 #define YY_BUFFER_NORMAL 1
 	/* When an EOF's been seen but there's still some text to process
@@ -196,23 +236,33 @@
 	 * just pointing yyin at a new input file.
 	 */
 #define YY_BUFFER_EOF_PENDING 2
+
 	};
+#endif /* !YY_STRUCT_YY_BUFFER_STATE */
 
-static YY_BUFFER_STATE yy_current_buffer = 0;
+/* Stack of input buffers. */
+static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
+static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
+static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
 
 /* We provide macros for accessing buffer states in case in the
  * future we want to put the buffer states in a more general
  * "scanner state".
+ *
+ * Returns the top of the stack, or NULL.
  */
-#define YY_CURRENT_BUFFER yy_current_buffer
+#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
+                          ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
+                          : NULL)
 
+/* Same as previous macro, but useful when we know that the buffer stack is not
+ * NULL or when we need an lvalue. For internal use only.
+ */
+#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
 
 /* yy_hold_char holds the character lost when yytext is formed. */
 static char yy_hold_char;
-
 static int yy_n_chars;		/* number of characters read into yy_ch_buf */
-
-
 int yyleng;
 
 /* Points to current character in buffer. */
@@ -225,66 +275,92 @@
  */
 static int yy_did_buffer_switch_on_eof;
 
-void yyrestart YY_PROTO(( FILE *input_file ));
-
-void yy_switch_to_buffer YY_PROTO(( YY_BUFFER_STATE new_buffer ));
-void yy_load_buffer_state YY_PROTO(( void ));
-YY_BUFFER_STATE yy_create_buffer YY_PROTO(( FILE *file, int size ));
-void yy_delete_buffer YY_PROTO(( YY_BUFFER_STATE b ));
-void yy_init_buffer YY_PROTO(( YY_BUFFER_STATE b, FILE *file ));
-void yy_flush_buffer YY_PROTO(( YY_BUFFER_STATE b ));
-#define YY_FLUSH_BUFFER yy_flush_buffer( yy_current_buffer )
-
-YY_BUFFER_STATE yy_scan_buffer YY_PROTO(( char *base, yy_size_t size ));
-YY_BUFFER_STATE yy_scan_string YY_PROTO(( yyconst char *yy_str ));
-YY_BUFFER_STATE yy_scan_bytes YY_PROTO(( yyconst char *bytes, int len ));
-
-static void *yy_flex_alloc YY_PROTO(( yy_size_t ));
-static void *yy_flex_realloc YY_PROTO(( void *, yy_size_t ));
-static void yy_flex_free YY_PROTO(( void * ));
+void yyrestart (FILE *input_file  );
+void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer  );
+YY_BUFFER_STATE yy_create_buffer (FILE *file,int size  );
+void yy_delete_buffer (YY_BUFFER_STATE b  );
+void yy_flush_buffer (YY_BUFFER_STATE b  );
+void yypush_buffer_state (YY_BUFFER_STATE new_buffer  );
+void yypop_buffer_state (void );
+
+static void yyensure_buffer_stack (void );
+static void yy_load_buffer_state (void );
+static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file  );
+
+#define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER )
+
+YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size  );
+YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str  );
+YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,int len  );
+
+void *yyalloc (yy_size_t  );
+void *yyrealloc (void *,yy_size_t  );
+void yyfree (void *  );
 
 #define yy_new_buffer yy_create_buffer
 
 #define yy_set_interactive(is_interactive) \
 	{ \
-	if ( ! yy_current_buffer ) \
-		yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
-	yy_current_buffer->yy_is_interactive = is_interactive; \
+	if ( ! YY_CURRENT_BUFFER ){ \
+        yyensure_buffer_stack (); \
+		YY_CURRENT_BUFFER_LVALUE =    \
+            yy_create_buffer(yyin,YY_BUF_SIZE ); \
+	} \
+	YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
 	}
 
 #define yy_set_bol(at_bol) \
 	{ \
-	if ( ! yy_current_buffer ) \
-		yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
-	yy_current_buffer->yy_at_bol = at_bol; \
+	if ( ! YY_CURRENT_BUFFER ){\
+        yyensure_buffer_stack (); \
+		YY_CURRENT_BUFFER_LVALUE =    \
+            yy_create_buffer(yyin,YY_BUF_SIZE ); \
+	} \
+	YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
 	}
 
-#define YY_AT_BOL() (yy_current_buffer->yy_at_bol)
+#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
+
+/* Begin user sect3 */
 
 typedef unsigned char YY_CHAR;
+
 FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
+
 typedef int yy_state_type;
+
+extern int yylineno;
+
+int yylineno = 1;
+
 extern char *yytext;
 #define yytext_ptr yytext
 
-static yy_state_type yy_get_previous_state YY_PROTO(( void ));
-static yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state ));
-static int yy_get_next_buffer YY_PROTO(( void ));
-static void yy_fatal_error YY_PROTO(( yyconst char msg[] ));
+static yy_state_type yy_get_previous_state (void );
+static yy_state_type yy_try_NUL_trans (yy_state_type current_state  );
+static int yy_get_next_buffer (void );
+static void yy_fatal_error (yyconst char msg[]  );
 
 /* Done after the current pattern has been matched and before the
  * corresponding action - sets up yytext.
  */
 #define YY_DO_BEFORE_ACTION \
-	yytext_ptr = yy_bp; \
-	yyleng = (int) (yy_cp - yy_bp); \
-	yy_hold_char = *yy_cp; \
+	(yytext_ptr) = yy_bp; \
+	yyleng = (size_t) (yy_cp - yy_bp); \
+	(yy_hold_char) = *yy_cp; \
 	*yy_cp = '\0'; \
-	yy_c_buf_p = yy_cp;
+	(yy_c_buf_p) = yy_cp;
 
 #define YY_NUM_RULES 16
 #define YY_END_OF_BUFFER 17
-static yyconst short int yy_accept[70] =
+/* This struct is not used in this scanner,
+   but its presence is necessary. */
+struct yy_trans_info
+	{
+	flex_int32_t yy_verify;
+	flex_int32_t yy_nxt;
+	};
+static yyconst flex_int16_t yy_accept[70] =
     {   0,
        10,   10,   17,   15,   10,   10,   15,   15,    9,    9,
         9,    9,    9,    9,    9,    9,    9,   10,    0,    0,
@@ -295,7 +371,7 @@
         7,    0,    0,    0,    0,    0,   11,   12,    0
     } ;
 
-static yyconst int yy_ec[256] =
+static yyconst flex_int32_t yy_ec[256] =
     {   0,
         1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
@@ -327,14 +403,14 @@
         1,    1,    1,    1,    1
     } ;
 
-static yyconst int yy_meta[29] =
+static yyconst flex_int32_t yy_meta[29] =
     {   0,
         1,    2,    2,    1,    3,    1,    4,    5,    5,    4,
         4,    4,    4,    4,    4,    4,    4,    4,    4,    4,
         4,    4,    4,    4,    4,    4,    4,    4
     } ;
 
-static yyconst short int yy_base[75] =
+static yyconst flex_int16_t yy_base[75] =
     {   0,
         0,    0,   99,  100,   27,   28,    0,   95,    0,   86,
        72,   85,   80,   71,   78,   64,   76,   31,   84,   85,
@@ -346,7 +422,7 @@
        48,   34,   53,   58
     } ;
 
-static yyconst short int yy_def[75] =
+static yyconst flex_int16_t yy_def[75] =
     {   0,
        69,    1,   69,   69,   69,   69,   70,   71,   72,   72,
        72,   72,   72,   72,   72,   72,   72,   69,   70,   71,
@@ -358,7 +434,7 @@
        69,   69,   69,   69
     } ;
 
-static yyconst short int yy_nxt[129] =
+static yyconst flex_int16_t yy_nxt[129] =
     {   0,
         4,    5,    6,    5,    7,    8,    9,    4,    4,   10,
        11,   12,   13,    9,    9,    9,    9,   14,    9,   15,
@@ -376,7 +452,7 @@
        69,   69,   69,   69,   69,   69,   69,   69
     } ;
 
-static yyconst short int yy_chk[129] =
+static yyconst flex_int16_t yy_chk[129] =
     {   0,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
@@ -397,6 +473,9 @@
 static yy_state_type yy_last_accepting_state;
 static char *yy_last_accepting_cpos;
 
+extern int yy_flex_debug;
+int yy_flex_debug = 0;
+
 /* The intent behind this definition is that it'll catch
  * any uses of REJECT which flex missed.
  */
@@ -406,7 +485,6 @@
 #define YY_RESTORE_YY_MORE_OFFSET
 char *yytext;
 #line 1 "ql_l.l"
-#define INITIAL 0
 #line 2 "ql_l.l"
 /* ql.l - Q.2931 data structures description language */
  
@@ -451,7 +529,21 @@
     return (*walk)->str;
 }
 
-#line 455 "lex.yy.c"
+#line 533 "lex.yy.c"
+
+#define INITIAL 0
+
+#ifndef YY_NO_UNISTD_H
+/* Special case for "unistd.h", since it is non-ANSI. We include it way
+ * down here because we want the user's section 1 to have been scanned first.
+ * The user has a chance to override it with an option.
+ */
+#include <unistd.h>
+#endif
+
+#ifndef YY_EXTRA_TYPE
+#define YY_EXTRA_TYPE void *
+#endif
 
 /* Macros after this point can all be overridden by user definitions in
  * section 1.
@@ -459,65 +551,30 @@
 
 #ifndef YY_SKIP_YYWRAP
 #ifdef __cplusplus
-extern "C" int yywrap YY_PROTO(( void ));
+extern "C" int yywrap (void );
 #else
-extern int yywrap YY_PROTO(( void ));
+extern int yywrap (void );
 #endif
 #endif
 
-#ifndef YY_NO_UNPUT
-static void yyunput YY_PROTO(( int c, char *buf_ptr ));
-#endif
-
+    static void yyunput (int c,char *buf_ptr  );
+    
 #ifndef yytext_ptr
-static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int ));
+static void yy_flex_strncpy (char *,yyconst char *,int );
 #endif
 
 #ifdef YY_NEED_STRLEN
-static int yy_flex_strlen YY_PROTO(( yyconst char * ));
+static int yy_flex_strlen (yyconst char * );
 #endif
 
 #ifndef YY_NO_INPUT
+
 #ifdef __cplusplus
-static int yyinput YY_PROTO(( void ));
+static int yyinput (void );
 #else
-static int input YY_PROTO(( void ));
-#endif
-#endif
-
-#if YY_STACK_USED
-static int yy_start_stack_ptr = 0;
-static int yy_start_stack_depth = 0;
-static int *yy_start_stack = 0;
-#ifndef YY_NO_PUSH_STATE
-static void yy_push_state YY_PROTO(( int new_state ));
-#endif
-#ifndef YY_NO_POP_STATE
-static void yy_pop_state YY_PROTO(( void ));
-#endif
-#ifndef YY_NO_TOP_STATE
-static int yy_top_state YY_PROTO(( void ));
+static int input (void );
 #endif
 
-#else
-#define YY_NO_PUSH_STATE 1
-#define YY_NO_POP_STATE 1
-#define YY_NO_TOP_STATE 1
-#endif
-
-#ifdef YY_MALLOC_DECL
-YY_MALLOC_DECL
-#else
-#if __STDC__
-#ifndef __cplusplus
-#include <stdlib.h>
-#endif
-#else
-/* Just try to get by without declaring the routines.  This will fail
- * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int)
- * or sizeof(void*) != sizeof(int).
- */
-#endif
 #endif
 
 /* Amount of stuff to slurp up with each read. */
@@ -526,7 +583,6 @@
 #endif
 
 /* Copy whatever the last rule matched to the standard output. */
-
 #ifndef ECHO
 /* This used to be an fputs(), but since the string might contain NUL's,
  * we now use fwrite().
@@ -539,9 +595,10 @@
  */
 #ifndef YY_INPUT
 #define YY_INPUT(buf,result,max_size) \
-	if ( yy_current_buffer->yy_is_interactive ) \
+	if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
 		{ \
-		int c = '*', n; \
+		int c = '*'; \
+		size_t n; \
 		for ( n = 0; n < max_size && \
 			     (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
 			buf[n] = (char) c; \
@@ -551,9 +608,22 @@
 			YY_FATAL_ERROR( "input in flex scanner failed" ); \
 		result = n; \
 		} \
-	else if ( ((result = fread( buf, 1, max_size, yyin )) == 0) \
-		  && ferror( yyin ) ) \
-		YY_FATAL_ERROR( "input in flex scanner failed" );
+	else \
+		{ \
+		errno=0; \
+		while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \
+			{ \
+			if( errno != EINTR) \
+				{ \
+				YY_FATAL_ERROR( "input in flex scanner failed" ); \
+				break; \
+				} \
+			errno=0; \
+			clearerr(yyin); \
+			} \
+		}\
+\
+
 #endif
 
 /* No semi-colon after return; correct usage is to write "yyterminate();" -
@@ -574,12 +644,18 @@
 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
 #endif
 
+/* end tables serialization structures and prototypes */
+
 /* Default declaration of generated scanner - a define so the user can
  * easily add parameters.
  */
 #ifndef YY_DECL
-#define YY_DECL int yylex YY_PROTO(( void ))
-#endif
+#define YY_DECL_IS_OURS 1
+
+extern int yylex (void);
+
+#define YY_DECL int yylex (void)
+#endif /* !YY_DECL */
 
 /* Code executed at the beginning of each rule, after yytext and yyleng
  * have been set up.
@@ -596,27 +672,29 @@
 #define YY_RULE_SETUP \
 	YY_USER_ACTION
 
+/** The main scanner function which does all the work.
+ */
 YY_DECL
-	{
+{
 	register yy_state_type yy_current_state;
-	register char *yy_cp = NULL, *yy_bp = NULL;
+	register char *yy_cp, *yy_bp;
 	register int yy_act;
-
+    
 #line 47 "ql_l.l"
 
 
-#line 609 "lex.yy.c"
+#line 687 "lex.yy.c"
 
-	if ( yy_init )
+	if ( (yy_init) )
 		{
-		yy_init = 0;
+		(yy_init) = 0;
 
 #ifdef YY_USER_INIT
 		YY_USER_INIT;
 #endif
 
-		if ( ! yy_start )
-			yy_start = 1;	/* first start state */
+		if ( ! (yy_start) )
+			(yy_start) = 1;	/* first start state */
 
 		if ( ! yyin )
 			yyin = stdin;
@@ -624,34 +702,36 @@
 		if ( ! yyout )
 			yyout = stdout;
 
-		if ( ! yy_current_buffer )
-			yy_current_buffer =
-				yy_create_buffer( yyin, YY_BUF_SIZE );
+		if ( ! YY_CURRENT_BUFFER ) {
+			yyensure_buffer_stack ();
+			YY_CURRENT_BUFFER_LVALUE =
+				yy_create_buffer(yyin,YY_BUF_SIZE );
+		}
 
-		yy_load_buffer_state();
+		yy_load_buffer_state( );
 		}
 
 	while ( 1 )		/* loops until end-of-file is reached */
 		{
-		yy_cp = yy_c_buf_p;
+		yy_cp = (yy_c_buf_p);
 
 		/* Support of yytext. */
-		*yy_cp = yy_hold_char;
+		*yy_cp = (yy_hold_char);
 
 		/* yy_bp points to the position in yy_ch_buf of the start of
 		 * the current run.
 		 */
 		yy_bp = yy_cp;
 
-		yy_current_state = yy_start;
+		yy_current_state = (yy_start);
 yy_match:
 		do
 			{
 			register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
 			if ( yy_accept[yy_current_state] )
 				{
-				yy_last_accepting_state = yy_current_state;
-				yy_last_accepting_cpos = yy_cp;
+				(yy_last_accepting_state) = yy_current_state;
+				(yy_last_accepting_cpos) = yy_cp;
 				}
 			while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
 				{
@@ -668,24 +748,22 @@
 		yy_act = yy_accept[yy_current_state];
 		if ( yy_act == 0 )
 			{ /* have to back up */
-			yy_cp = yy_last_accepting_cpos;
-			yy_current_state = yy_last_accepting_state;
+			yy_cp = (yy_last_accepting_cpos);
+			yy_current_state = (yy_last_accepting_state);
 			yy_act = yy_accept[yy_current_state];
 			}
 
 		YY_DO_BEFORE_ACTION;
 
-
 do_action:	/* This label is used only to access EOF actions. */
 
-
 		switch ( yy_act )
 	{ /* beginning of action switch */
 			case 0: /* must back up */
 			/* undo the effects of YY_DO_BEFORE_ACTION */
-			*yy_cp = yy_hold_char;
-			yy_cp = yy_last_accepting_cpos;
-			yy_current_state = yy_last_accepting_state;
+			*yy_cp = (yy_hold_char);
+			yy_cp = (yy_last_accepting_cpos);
+			yy_current_state = (yy_last_accepting_state);
 			goto yy_find_action;
 
 case 1:
@@ -735,6 +813,7 @@
 				  return TOK_ID; }
 	YY_BREAK
 case 10:
+/* rule 10 can match eol */
 YY_RULE_SETUP
 #line 59 "ql_l.l"
 lineno += *yytext == '\n';
@@ -755,6 +834,7 @@
 				  return TOK_STRING; }
 	YY_BREAK
 case 14:
+/* rule 14 can match eol */
 YY_RULE_SETUP
 #line 66 "ql_l.l"
 lineno++;
@@ -769,33 +849,33 @@
 #line 69 "ql_l.l"
 ECHO;
 	YY_BREAK
-#line 773 "lex.yy.c"
+#line 853 "lex.yy.c"
 case YY_STATE_EOF(INITIAL):
 	yyterminate();
 
 	case YY_END_OF_BUFFER:
 		{
 		/* Amount of text matched not including the EOB char. */
-		int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1;
+		int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
 
 		/* Undo the effects of YY_DO_BEFORE_ACTION. */
-		*yy_cp = yy_hold_char;
+		*yy_cp = (yy_hold_char);
 		YY_RESTORE_YY_MORE_OFFSET
 
-		if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW )
+		if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
 			{
 			/* We're scanning a new file or input source.  It's
 			 * possible that this happened because the user
 			 * just pointed yyin at a new source and called
 			 * yylex().  If so, then we have to assure
-			 * consistency between yy_current_buffer and our
+			 * consistency between YY_CURRENT_BUFFER and our
 			 * globals.  Here is the right place to do so, because
 			 * this is the first action (other than possibly a
 			 * back-up) that will match for the new input source.
 			 */
-			yy_n_chars = yy_current_buffer->yy_n_chars;
-			yy_current_buffer->yy_input_file = yyin;
-			yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL;
+			(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
+			YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
+			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
 			}
 
 		/* Note that here we test for yy_c_buf_p "<=" to the position
@@ -805,13 +885,13 @@
 		 * end-of-buffer state).  Contrast this with the test
 		 * in input().
 		 */
-		if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )
+		if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
 			{ /* This was really a NUL. */
 			yy_state_type yy_next_state;
 
-			yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text;
+			(yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
 
-			yy_current_state = yy_get_previous_state();
+			yy_current_state = yy_get_previous_state(  );
 
 			/* Okay, we're now positioned to make the NUL
 			 * transition.  We couldn't have
@@ -824,30 +904,30 @@
 
 			yy_next_state = yy_try_NUL_trans( yy_current_state );
 
-			yy_bp = yytext_ptr + YY_MORE_ADJ;
+			yy_bp = (yytext_ptr) + YY_MORE_ADJ;
 
 			if ( yy_next_state )
 				{
 				/* Consume the NUL. */
-				yy_cp = ++yy_c_buf_p;
+				yy_cp = ++(yy_c_buf_p);
 				yy_current_state = yy_next_state;
 				goto yy_match;
 				}
 
 			else
 				{
-				yy_cp = yy_c_buf_p;
+				yy_cp = (yy_c_buf_p);
 				goto yy_find_action;
 				}
 			}
 
-		else switch ( yy_get_next_buffer() )
+		else switch ( yy_get_next_buffer(  ) )
 			{
 			case EOB_ACT_END_OF_FILE:
 				{
-				yy_did_buffer_switch_on_eof = 0;
+				(yy_did_buffer_switch_on_eof) = 0;
 
-				if ( yywrap() )
+				if ( yywrap( ) )
 					{
 					/* Note: because we've taken care in
 					 * yy_get_next_buffer() to have set up
@@ -858,7 +938,7 @@
 					 * YY_NULL, it'll still work - another
 					 * YY_NULL will get returned.
 					 */
-					yy_c_buf_p = yytext_ptr + YY_MORE_ADJ;
+					(yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
 
 					yy_act = YY_STATE_EOF(YY_START);
 					goto do_action;
@@ -866,30 +946,30 @@
 
 				else
 					{
-					if ( ! yy_did_buffer_switch_on_eof )
+					if ( ! (yy_did_buffer_switch_on_eof) )
 						YY_NEW_FILE;
 					}
 				break;
 				}
 
 			case EOB_ACT_CONTINUE_SCAN:
-				yy_c_buf_p =
-					yytext_ptr + yy_amount_of_matched_text;
+				(yy_c_buf_p) =
+					(yytext_ptr) + yy_amount_of_matched_text;
 
-				yy_current_state = yy_get_previous_state();
+				yy_current_state = yy_get_previous_state(  );
 
-				yy_cp = yy_c_buf_p;
-				yy_bp = yytext_ptr + YY_MORE_ADJ;
+				yy_cp = (yy_c_buf_p);
+				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
 				goto yy_match;
 
 			case EOB_ACT_LAST_MATCH:
-				yy_c_buf_p =
-				&yy_current_buffer->yy_ch_buf[yy_n_chars];
+				(yy_c_buf_p) =
+				&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
 
-				yy_current_state = yy_get_previous_state();
+				yy_current_state = yy_get_previous_state(  );
 
-				yy_cp = yy_c_buf_p;
-				yy_bp = yytext_ptr + YY_MORE_ADJ;
+				yy_cp = (yy_c_buf_p);
+				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
 				goto yy_find_action;
 			}
 		break;
@@ -900,8 +980,7 @@
 			"fatal flex scanner internal error--no action found" );
 	} /* end of action switch */
 		} /* end of scanning one token */
-	} /* end of yylex */
-
+} /* end of yylex */
 
 /* yy_get_next_buffer - try to read in a new buffer
  *
@@ -910,21 +989,20 @@
  *	EOB_ACT_CONTINUE_SCAN - continue scanning from current position
  *	EOB_ACT_END_OF_FILE - end of file
  */
-
-static int yy_get_next_buffer()
-	{
-	register char *dest = yy_current_buffer->yy_ch_buf;
-	register char *source = yytext_ptr;
+static int yy_get_next_buffer (void)
+{
+    	register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
+	register char *source = (yytext_ptr);
 	register int number_to_move, i;
 	int ret_val;
 
-	if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
+	if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
 		YY_FATAL_ERROR(
 		"fatal flex scanner internal error--end of buffer missed" );
 
-	if ( yy_current_buffer->yy_fill_buffer == 0 )
+	if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
 		{ /* Don't try to fill the buffer, so this is an EOF. */
-		if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 )
+		if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
 			{
 			/* We matched a single character, the EOB, so
 			 * treat this as a final EOF.
@@ -944,34 +1022,30 @@
 	/* Try to read more data. */
 
 	/* First move last chars to start of buffer. */
-	number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1;
+	number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
 
 	for ( i = 0; i < number_to_move; ++i )
 		*(dest++) = *(source++);
 
-	if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING )
+	if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
 		/* don't do the read, it's not guaranteed to return an EOF,
 		 * just force an EOF
 		 */
-		yy_current_buffer->yy_n_chars = yy_n_chars = 0;
+		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
 
 	else
 		{
-		int num_to_read =
-			yy_current_buffer->yy_buf_size - number_to_move - 1;
+			size_t num_to_read =
+			YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
 
 		while ( num_to_read <= 0 )
 			{ /* Not enough room in the buffer - grow it. */
-#ifdef YY_USES_REJECT
-			YY_FATAL_ERROR(
-"input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
-#else
 
 			/* just a shorter name for the current buffer */
-			YY_BUFFER_STATE b = yy_current_buffer;
+			YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
 
 			int yy_c_buf_p_offset =
-				(int) (yy_c_buf_p - b->yy_ch_buf);
+				(int) ((yy_c_buf_p) - b->yy_ch_buf);
 
 			if ( b->yy_is_our_buffer )
 				{
@@ -984,8 +1058,7 @@
 
 				b->yy_ch_buf = (char *)
 					/* Include room in for 2 EOB chars. */
-					yy_flex_realloc( (void *) b->yy_ch_buf,
-							 b->yy_buf_size + 2 );
+					yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2  );
 				}
 			else
 				/* Can't grow it, we don't own it. */
@@ -995,35 +1068,35 @@
 				YY_FATAL_ERROR(
 				"fatal error - scanner input buffer overflow" );
 
-			yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
+			(yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
 
-			num_to_read = yy_current_buffer->yy_buf_size -
+			num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
 						number_to_move - 1;
-#endif
+
 			}
 
 		if ( num_to_read > YY_READ_BUF_SIZE )
 			num_to_read = YY_READ_BUF_SIZE;
 
 		/* Read in more data. */
-		YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
-			yy_n_chars, num_to_read );
+		YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
+			(yy_n_chars), num_to_read );
 
-		yy_current_buffer->yy_n_chars = yy_n_chars;
+		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
 		}
 
-	if ( yy_n_chars == 0 )
+	if ( (yy_n_chars) == 0 )
 		{
 		if ( number_to_move == YY_MORE_ADJ )
 			{
 			ret_val = EOB_ACT_END_OF_FILE;
-			yyrestart( yyin );
+			yyrestart(yyin  );
 			}
 
 		else
 			{
 			ret_val = EOB_ACT_LAST_MATCH;
-			yy_current_buffer->yy_buffer_status =
+			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
 				YY_BUFFER_EOF_PENDING;
 			}
 		}
@@ -1031,32 +1104,31 @@
 	else
 		ret_val = EOB_ACT_CONTINUE_SCAN;
 
-	yy_n_chars += number_to_move;
-	yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
-	yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
+	(yy_n_chars) += number_to_move;
+	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
+	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
 
-	yytext_ptr = &yy_current_buffer->yy_ch_buf[0];
+	(yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
 
 	return ret_val;
-	}
-
+}
 
 /* yy_get_previous_state - get the state just before the EOB char was reached */
 
-static yy_state_type yy_get_previous_state()
-	{
+    static yy_state_type yy_get_previous_state (void)
+{
 	register yy_state_type yy_current_state;
 	register char *yy_cp;
+    
+	yy_current_state = (yy_start);
 
-	yy_current_state = yy_start;
-
-	for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
+	for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
 		{
 		register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
 		if ( yy_accept[yy_current_state] )
 			{
-			yy_last_accepting_state = yy_current_state;
-			yy_last_accepting_cpos = yy_cp;
+			(yy_last_accepting_state) = yy_current_state;
+			(yy_last_accepting_cpos) = yy_cp;
 			}
 		while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
 			{
@@ -1068,30 +1140,23 @@
 		}
 
 	return yy_current_state;
-	}
-
+}
 
 /* yy_try_NUL_trans - try to make a transition on the NUL character
  *
  * synopsis
  *	next_state = yy_try_NUL_trans( current_state );
  */
-
-#ifdef YY_USE_PROTOS
-static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state )
-#else
-static yy_state_type yy_try_NUL_trans( yy_current_state )
-yy_state_type yy_current_state;
-#endif
-	{
+    static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state )
+{
 	register int yy_is_jam;
-	register char *yy_cp = yy_c_buf_p;
+    	register char *yy_cp = (yy_c_buf_p);
 
 	register YY_CHAR yy_c = 1;
 	if ( yy_accept[yy_current_state] )
 		{
-		yy_last_accepting_state = yy_current_state;
-		yy_last_accepting_cpos = yy_cp;
+		(yy_last_accepting_state) = yy_current_state;
+		(yy_last_accepting_cpos) = yy_cp;
 		}
 	while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
 		{
@@ -1103,80 +1168,73 @@
 	yy_is_jam = (yy_current_state == 69);
 
 	return yy_is_jam ? 0 : yy_current_state;
-	}
-
+}
 
-#ifndef YY_NO_UNPUT
-#ifdef YY_USE_PROTOS
-static void yyunput( int c, register char *yy_bp )
-#else
-static void yyunput( c, yy_bp )
-int c;
-register char *yy_bp;
-#endif
-	{
-	register char *yy_cp = yy_c_buf_p;
+    static void yyunput (int c, register char * yy_bp )
+{
+	register char *yy_cp;
+    
+    yy_cp = (yy_c_buf_p);
 
 	/* undo effects of setting up yytext */
-	*yy_cp = yy_hold_char;
+	*yy_cp = (yy_hold_char);
 
-	if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
+	if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
 		{ /* need to shift things up to make room */
 		/* +2 for EOB chars. */
-		register int number_to_move = yy_n_chars + 2;
-		register char *dest = &yy_current_buffer->yy_ch_buf[
-					yy_current_buffer->yy_buf_size + 2];
+		register int number_to_move = (yy_n_chars) + 2;
+		register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
+					YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
 		register char *source =
-				&yy_current_buffer->yy_ch_buf[number_to_move];
+				&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];
 
-		while ( source > yy_current_buffer->yy_ch_buf )
+		while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
 			*--dest = *--source;
 
 		yy_cp += (int) (dest - source);
 		yy_bp += (int) (dest - source);
-		yy_current_buffer->yy_n_chars =
-			yy_n_chars = yy_current_buffer->yy_buf_size;
+		YY_CURRENT_BUFFER_LVALUE->yy_n_chars =
+			(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
 
-		if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
+		if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
 			YY_FATAL_ERROR( "flex scanner push-back overflow" );
 		}
 
 	*--yy_cp = (char) c;
 
+	(yytext_ptr) = yy_bp;
+	(yy_hold_char) = *yy_cp;
+	(yy_c_buf_p) = yy_cp;
+}
 
-	yytext_ptr = yy_bp;
-	yy_hold_char = *yy_cp;
-	yy_c_buf_p = yy_cp;
-	}
-#endif	/* ifndef YY_NO_UNPUT */
-
-
+#ifndef YY_NO_INPUT
 #ifdef __cplusplus
-static int yyinput()
+    static int yyinput (void)
 #else
-static int input()
+    static int input  (void)
 #endif
-	{
-	int c;
 
-	*yy_c_buf_p = yy_hold_char;
+{
+	int c;
+    
+	*(yy_c_buf_p) = (yy_hold_char);
 
-	if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
+	if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
 		{
 		/* yy_c_buf_p now points to the character we want to return.
 		 * If this occurs *before* the EOB characters, then it's a
 		 * valid NUL; if not, then we've hit the end of the buffer.
 		 */
-		if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] )
+		if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
 			/* This was really a NUL. */
-			*yy_c_buf_p = '\0';
+			*(yy_c_buf_p) = '\0';
 
 		else
 			{ /* need more input */
-			int offset = yy_c_buf_p - yytext_ptr;
-			++yy_c_buf_p;
+			int offset = (yy_c_buf_p) - (yytext_ptr);
+			++(yy_c_buf_p);
 
-			switch ( yy_get_next_buffer() )
+			switch ( yy_get_next_buffer(  ) )
 				{
 				case EOB_ACT_LAST_MATCH:
 					/* This happens because yy_g_n_b()
@@ -1190,16 +1248,16 @@
 					 */
 
 					/* Reset buffer status. */
-					yyrestart( yyin );
+					yyrestart(yyin );
 
-					/* fall through */
+					/*FALLTHROUGH*/
 
 				case EOB_ACT_END_OF_FILE:
 					{
-					if ( yywrap() )
+					if ( yywrap( ) )
 						return EOF;
 
-					if ( ! yy_did_buffer_switch_on_eof )
+					if ( ! (yy_did_buffer_switch_on_eof) )
 						YY_NEW_FILE;
 #ifdef __cplusplus
 					return yyinput();
@@ -1209,90 +1267,92 @@
 					}
 
 				case EOB_ACT_CONTINUE_SCAN:
-					yy_c_buf_p = yytext_ptr + offset;
+					(yy_c_buf_p) = (yytext_ptr) + offset;
 					break;
 				}
 			}
 		}
 
-	c = *(unsigned char *) yy_c_buf_p;	/* cast for 8-bit char's */
-	*yy_c_buf_p = '\0';	/* preserve yytext */
-	yy_hold_char = *++yy_c_buf_p;
-
+	c = *(unsigned char *) (yy_c_buf_p);	/* cast for 8-bit char's */
+	*(yy_c_buf_p) = '\0';	/* preserve yytext */
+	(yy_hold_char) = *++(yy_c_buf_p);
 
 	return c;
-	}
-
-
-#ifdef YY_USE_PROTOS
-void yyrestart( FILE *input_file )
-#else
-void yyrestart( input_file )
-FILE *input_file;
-#endif
-	{
-	if ( ! yy_current_buffer )
-		yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE );
+}
+#endif	/* ifndef YY_NO_INPUT */
 
-	yy_init_buffer( yy_current_buffer, input_file );
-	yy_load_buffer_state();
+/** Immediately switch to a different input stream.
+ * @param input_file A readable stream.
+ * 
+ * @note This function does not reset the start condition to @c INITIAL .
+ */
+    void yyrestart  (FILE * input_file )
+{
+    
+	if ( ! YY_CURRENT_BUFFER ){
+        yyensure_buffer_stack ();
+		YY_CURRENT_BUFFER_LVALUE =
+            yy_create_buffer(yyin,YY_BUF_SIZE );
 	}
 
+	yy_init_buffer(YY_CURRENT_BUFFER,input_file );
+	yy_load_buffer_state( );
+}
 
-#ifdef YY_USE_PROTOS
-void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
-#else
-void yy_switch_to_buffer( new_buffer )
-YY_BUFFER_STATE new_buffer;
-#endif
-	{
-	if ( yy_current_buffer == new_buffer )
+/** Switch to a different input buffer.
+ * @param new_buffer The new input buffer.
+ * 
+ */
+    void yy_switch_to_buffer  (YY_BUFFER_STATE  new_buffer )
+{
+    
+	/* TODO. We should be able to replace this entire function body
+	 * with
+	 *		yypop_buffer_state();
+	 *		yypush_buffer_state(new_buffer);
+     */
+	yyensure_buffer_stack ();
+	if ( YY_CURRENT_BUFFER == new_buffer )
 		return;
 
-	if ( yy_current_buffer )
+	if ( YY_CURRENT_BUFFER )
 		{
 		/* Flush out information for old buffer. */
-		*yy_c_buf_p = yy_hold_char;
-		yy_current_buffer->yy_buf_pos = yy_c_buf_p;
-		yy_current_buffer->yy_n_chars = yy_n_chars;
+		*(yy_c_buf_p) = (yy_hold_char);
+		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
+		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
 		}
 
-	yy_current_buffer = new_buffer;
-	yy_load_buffer_state();
+	YY_CURRENT_BUFFER_LVALUE = new_buffer;
+	yy_load_buffer_state( );
 
 	/* We don't actually know whether we did this switch during
 	 * EOF (yywrap()) processing, but the only time this flag
 	 * is looked at is after yywrap() is called, so it's safe
 	 * to go ahead and always set it.
 	 */
-	yy_did_buffer_switch_on_eof = 1;
-	}
-
-
-#ifdef YY_USE_PROTOS
-void yy_load_buffer_state( void )
-#else
-void yy_load_buffer_state()
-#endif
-	{
-	yy_n_chars = yy_current_buffer->yy_n_chars;
-	yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
-	yyin = yy_current_buffer->yy_input_file;
-	yy_hold_char = *yy_c_buf_p;
-	}
+	(yy_did_buffer_switch_on_eof) = 1;
+}
 
+static void yy_load_buffer_state  (void)
+{
+    	(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
+	(yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
+	yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
+	(yy_hold_char) = *(yy_c_buf_p);
+}
 
-#ifdef YY_USE_PROTOS
-YY_BUFFER_STATE yy_create_buffer( FILE *file, int size )
-#else
-YY_BUFFER_STATE yy_create_buffer( file, size )
-FILE *file;
-int size;
-#endif
-	{
+/** Allocate and initialize an input buffer state.
+ * @param file A readable stream.
+ * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
+ * 
+ * @return the allocated buffer state.
+ */
+    YY_BUFFER_STATE yy_create_buffer  (FILE * file, int  size )
+{
 	YY_BUFFER_STATE b;
-
-	b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
+    
+	b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state )  );
 	if ( ! b )
 		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
 
@@ -1301,75 +1361,75 @@
 	/* yy_ch_buf has to be 2 characters longer than the size given because
 	 * we need to put in 2 end-of-buffer characters.
 	 */
-	b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 );
+	b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2  );
 	if ( ! b->yy_ch_buf )
 		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
 
 	b->yy_is_our_buffer = 1;
 
-	yy_init_buffer( b, file );
+	yy_init_buffer(b,file );
 
 	return b;
-	}
-
+}
 
-#ifdef YY_USE_PROTOS
-void yy_delete_buffer( YY_BUFFER_STATE b )
-#else
-void yy_delete_buffer( b )
-YY_BUFFER_STATE b;
-#endif
-	{
+/** Destroy the buffer.
+ * @param b a buffer created with yy_create_buffer()
+ * 
+ */
+    void yy_delete_buffer (YY_BUFFER_STATE  b )
+{
+    
 	if ( ! b )
 		return;
 
-	if ( b == yy_current_buffer )
-		yy_current_buffer = (YY_BUFFER_STATE) 0;
+	if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
+		YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
 
 	if ( b->yy_is_our_buffer )
-		yy_flex_free( (void *) b->yy_ch_buf );
+		yyfree((void *) b->yy_ch_buf  );
 
-	yy_flex_free( (void *) b );
-	}
-
-
-
-#ifdef YY_USE_PROTOS
-void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
-#else
-void yy_init_buffer( b, file )
-YY_BUFFER_STATE b;
-FILE *file;
-#endif
+	yyfree((void *) b  );
+}
 
+#ifndef __cplusplus
+extern int isatty (int );
+#endif /* __cplusplus */
+    
+/* Initializes or reinitializes a buffer.
+ * This function is sometimes called more than once on the same buffer,
+ * such as during a yyrestart() or at EOF.
+ */
+    static void yy_init_buffer  (YY_BUFFER_STATE  b, FILE * file )
 
-	{
-	yy_flush_buffer( b );
+{
+	int oerrno = errno;
+    
+	yy_flush_buffer(b );
 
 	b->yy_input_file = file;
 	b->yy_fill_buffer = 1;
 
-#if YY_ALWAYS_INTERACTIVE
-	b->yy_is_interactive = 1;
-#else
-#if YY_NEVER_INTERACTIVE
-	b->yy_is_interactive = 0;
-#else
-	b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
-#endif
-#endif
-	}
-
+    /* If b is the current buffer, then yy_init_buffer was _probably_
+     * called from yyrestart() or through yy_get_next_buffer.
+     * In that case, we don't want to reset the lineno or column.
+     */
+    if (b != YY_CURRENT_BUFFER){
+        b->yy_bs_lineno = 1;
+        b->yy_bs_column = 0;
+    }
 
-#ifdef YY_USE_PROTOS
-void yy_flush_buffer( YY_BUFFER_STATE b )
-#else
-void yy_flush_buffer( b )
-YY_BUFFER_STATE b;
-#endif
+        b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
+    
+	errno = oerrno;
+}
 
-	{
-	if ( ! b )
+/** Discard all buffered characters. On the next scan, YY_INPUT will be called.
+ * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
+ * 
+ */
+    void yy_flush_buffer (YY_BUFFER_STATE  b )
+{
+    	if ( ! b )
 		return;
 
 	b->yy_n_chars = 0;
@@ -1386,29 +1446,121 @@
 	b->yy_at_bol = 1;
 	b->yy_buffer_status = YY_BUFFER_NEW;
 
-	if ( b == yy_current_buffer )
-		yy_load_buffer_state();
+	if ( b == YY_CURRENT_BUFFER )
+		yy_load_buffer_state( );
+}
+
+/** Pushes the new state onto the stack. The new state becomes
+ *  the current state. This function will allocate the stack
+ *  if necessary.
+ *  @param new_buffer The new state.
+ *  
+ */
+void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
+{
+    	if (new_buffer == NULL)
+		return;
+
+	yyensure_buffer_stack();
+
+	/* This block is copied from yy_switch_to_buffer. */
+	if ( YY_CURRENT_BUFFER )
+		{
+		/* Flush out information for old buffer. */
+		*(yy_c_buf_p) = (yy_hold_char);
+		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
+		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
+		}
+
+	/* Only push if top exists. Otherwise, replace top. */
+	if (YY_CURRENT_BUFFER)
+		(yy_buffer_stack_top)++;
+	YY_CURRENT_BUFFER_LVALUE = new_buffer;
+
+	/* copied from yy_switch_to_buffer. */
+	yy_load_buffer_state( );
+	(yy_did_buffer_switch_on_eof) = 1;
+}
+
+/** Removes and deletes the top of the stack, if present.
+ *  The next element becomes the new top.
+ *  
+ */
+void yypop_buffer_state (void)
+{
+    	if (!YY_CURRENT_BUFFER)
+		return;
+
+	yy_delete_buffer(YY_CURRENT_BUFFER );
+	YY_CURRENT_BUFFER_LVALUE = NULL;
+	if ((yy_buffer_stack_top) > 0)
+		--(yy_buffer_stack_top);
+
+	if (YY_CURRENT_BUFFER) {
+		yy_load_buffer_state( );
+		(yy_did_buffer_switch_on_eof) = 1;
 	}
+}
 
+/* Allocates the stack if it does not exist.
+ *  Guarantees space for at least one push.
+ */
+static void yyensure_buffer_stack (void)
+{
+	int num_to_alloc;
+    
+	if (!(yy_buffer_stack)) {
+
+		/* First allocation is just for 2 elements, since we don't know if this
+		 * scanner will even need a stack. We use 2 instead of 1 to avoid an
+		 * immediate realloc on the next call.
+         */
+		num_to_alloc = 1;
+		(yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
+								(num_to_alloc * sizeof(struct yy_buffer_state*)
+								);
+		
+		memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
+				
+		(yy_buffer_stack_max) = num_to_alloc;
+		(yy_buffer_stack_top) = 0;
+		return;
+	}
 
-#ifndef YY_NO_SCAN_BUFFER
-#ifdef YY_USE_PROTOS
-YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size )
-#else
-YY_BUFFER_STATE yy_scan_buffer( base, size )
-char *base;
-yy_size_t size;
-#endif
-	{
-	YY_BUFFER_STATE b;
+	if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
+
+		/* Increase the buffer to prepare for a possible push. */
+		int grow_size = 8 /* arbitrary grow size */;
 
+		num_to_alloc = (yy_buffer_stack_max) + grow_size;
+		(yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
+								((yy_buffer_stack),
+								num_to_alloc * sizeof(struct yy_buffer_state*)
+								);
+
+		/* zero only the new slots.*/
+		memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
+		(yy_buffer_stack_max) = num_to_alloc;
+	}
+}
+
+/** Setup the input buffer state to scan directly from a user-specified character buffer.
+ * @param base the character buffer
+ * @param size the size in bytes of the character buffer
+ * 
+ * @return the newly allocated buffer state object. 
+ */
+YY_BUFFER_STATE yy_scan_buffer  (char * base, yy_size_t  size )
+{
+	YY_BUFFER_STATE b;
+    
 	if ( size < 2 ||
 	     base[size-2] != YY_END_OF_BUFFER_CHAR ||
 	     base[size-1] != YY_END_OF_BUFFER_CHAR )
 		/* They forgot to leave room for the EOB's. */
 		return 0;
 
-	b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
+	b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state )  );
 	if ( ! b )
 		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
 
@@ -1422,47 +1574,42 @@
 	b->yy_fill_buffer = 0;
 	b->yy_buffer_status = YY_BUFFER_NEW;
 
-	yy_switch_to_buffer( b );
+	yy_switch_to_buffer(b  );
 
 	return b;
-	}
-#endif
-
-
-#ifndef YY_NO_SCAN_STRING
-#ifdef YY_USE_PROTOS
-YY_BUFFER_STATE yy_scan_string( yyconst char *yy_str )
-#else
-YY_BUFFER_STATE yy_scan_string( yy_str )
-yyconst char *yy_str;
-#endif
-	{
-	int len;
-	for ( len = 0; yy_str[len]; ++len )
-		;
-
-	return yy_scan_bytes( yy_str, len );
-	}
-#endif
+}
 
+/** Setup the input buffer state to scan a string. The next call to yylex() will
+ * scan from a @e copy of @a str.
+ * @param str a NUL-terminated string to scan
+ * 
+ * @return the newly allocated buffer state object.
+ * @note If you want to scan bytes that may contain NUL values, then use
+ *       yy_scan_bytes() instead.
+ */
+YY_BUFFER_STATE yy_scan_string (yyconst char * yy_str )
+{
+    
+	return yy_scan_bytes(yy_str,strlen(yy_str) );
+}
 
-#ifndef YY_NO_SCAN_BYTES
-#ifdef YY_USE_PROTOS
-YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len )
-#else
-YY_BUFFER_STATE yy_scan_bytes( bytes, len )
-yyconst char *bytes;
-int len;
-#endif
-	{
+/** Setup the input buffer state to scan the given bytes. The next call to yylex() will
+ * scan from a @e copy of @a bytes.
+ * @param bytes the byte buffer to scan
+ * @param len the number of bytes in the buffer pointed to by @a bytes.
+ * 
+ * @return the newly allocated buffer state object.
+ */
+YY_BUFFER_STATE yy_scan_bytes  (yyconst char * bytes, int  len )
+{
 	YY_BUFFER_STATE b;
 	char *buf;
 	yy_size_t n;
 	int i;
-
+    
 	/* Get memory for full buffer, including space for trailing EOB's. */
 	n = len + 2;
-	buf = (char *) yy_flex_alloc( n );
+	buf = (char *) yyalloc(n  );
 	if ( ! buf )
 		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
 
@@ -1471,7 +1618,7 @@
 
 	buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR;
 
-	b = yy_scan_buffer( buf, n );
+	b = yy_scan_buffer(buf,n );
 	if ( ! b )
 		YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
 
@@ -1481,148 +1628,164 @@
 	b->yy_is_our_buffer = 1;
 
 	return b;
-	}
-#endif
-
+}
 
-#ifndef YY_NO_PUSH_STATE
-#ifdef YY_USE_PROTOS
-static void yy_push_state( int new_state )
-#else
-static void yy_push_state( new_state )
-int new_state;
+#ifndef YY_EXIT_FAILURE
+#define YY_EXIT_FAILURE 2
 #endif
-	{
-	if ( yy_start_stack_ptr >= yy_start_stack_depth )
-		{
-		yy_size_t new_size;
 
-		yy_start_stack_depth += YY_START_STACK_INCR;
-		new_size = yy_start_stack_depth * sizeof( int );
+static void yy_fatal_error (yyconst char* msg )
+{
+    	(void) fprintf( stderr, "%s\n", msg );
+	exit( YY_EXIT_FAILURE );
+}
 
-		if ( ! yy_start_stack )
-			yy_start_stack = (int *) yy_flex_alloc( new_size );
+/* Redefine yyless() so it works in section 3 code. */
 
-		else
-			yy_start_stack = (int *) yy_flex_realloc(
-					(void *) yy_start_stack, new_size );
+#undef yyless
+#define yyless(n) \
+	do \
+		{ \
+		/* Undo effects of setting up yytext. */ \
+        int yyless_macro_arg = (n); \
+        YY_LESS_LINENO(yyless_macro_arg);\
+		yytext[yyleng] = (yy_hold_char); \
+		(yy_c_buf_p) = yytext + yyless_macro_arg; \
+		(yy_hold_char) = *(yy_c_buf_p); \
+		*(yy_c_buf_p) = '\0'; \
+		yyleng = yyless_macro_arg; \
+		} \
+	while ( 0 )
 
-		if ( ! yy_start_stack )
-			YY_FATAL_ERROR(
-			"out of memory expanding start-condition stack" );
-		}
+/* Accessor  methods (get/set functions) to struct members. */
 
-	yy_start_stack[yy_start_stack_ptr++] = YY_START;
+/** Get the current line number.
+ * 
+ */
+int yyget_lineno  (void)
+{
+        
+    return yylineno;
+}
 
-	BEGIN(new_state);
-	}
-#endif
+/** Get the input stream.
+ * 
+ */
+FILE *yyget_in  (void)
+{
+        return yyin;
+}
 
+/** Get the output stream.
+ * 
+ */
+FILE *yyget_out  (void)
+{
+        return yyout;
+}
 
-#ifndef YY_NO_POP_STATE
-static void yy_pop_state()
-	{
-	if ( --yy_start_stack_ptr < 0 )
-		YY_FATAL_ERROR( "start-condition stack underflow" );
+/** Get the length of the current token.
+ * 
+ */
+int yyget_leng  (void)
+{
+        return yyleng;
+}
 
-	BEGIN(yy_start_stack[yy_start_stack_ptr]);
-	}
-#endif
+/** Get the current token.
+ * 
+ */
 
+char *yyget_text  (void)
+{
+        return yytext;
+}
 
-#ifndef YY_NO_TOP_STATE
-static int yy_top_state()
-	{
-	return yy_start_stack[yy_start_stack_ptr - 1];
-	}
-#endif
+/** Set the current line number.
+ * @param line_number
+ * 
+ */
+void yyset_lineno (int  line_number )
+{
+    
+    yylineno = line_number;
+}
 
-#ifndef YY_EXIT_FAILURE
-#define YY_EXIT_FAILURE 2
-#endif
+/** Set the input stream. This does not discard the current
+ * input buffer.
+ * @param in_str A readable stream.
+ * 
+ * @see yy_switch_to_buffer
+ */
+void yyset_in (FILE *  in_str )
+{
+        yyin = in_str ;
+}
 
-#ifdef YY_USE_PROTOS
-static void yy_fatal_error( yyconst char msg[] )
-#else
-static void yy_fatal_error( msg )
-char msg[];
-#endif
-	{
-	(void) fprintf( stderr, "%s\n", msg );
-	exit( YY_EXIT_FAILURE );
-	}
+void yyset_out (FILE *  out_str )
+{
+        yyout = out_str ;
+}
 
+int yyget_debug  (void)
+{
+        return yy_flex_debug;
+}
 
+void yyset_debug (int  bdebug )
+{
+        yy_flex_debug = bdebug ;
+}
 
-/* Redefine yyless() so it works in section 3 code. */
+/* yylex_destroy is for both reentrant and non-reentrant scanners. */
+int yylex_destroy  (void)
+{
+    
+    /* Pop the buffer stack, destroying each element. */
+	while(YY_CURRENT_BUFFER){
+		yy_delete_buffer(YY_CURRENT_BUFFER  );
+		YY_CURRENT_BUFFER_LVALUE = NULL;
+		yypop_buffer_state();
+	}
 
-#undef yyless
-#define yyless(n) \
-	do \
-		{ \
-		/* Undo effects of setting up yytext. */ \
-		yytext[yyleng] = yy_hold_char; \
-		yy_c_buf_p = yytext + n; \
-		yy_hold_char = *yy_c_buf_p; \
-		*yy_c_buf_p = '\0'; \
-		yyleng = n; \
-		} \
-	while ( 0 )
+	/* Destroy the stack itself. */
+	yyfree((yy_buffer_stack) );
+	(yy_buffer_stack) = NULL;
 
+    return 0;
+}
 
-/* Internal utility routines. */
+/*
+ * Internal utility routines.
+ */
 
 #ifndef yytext_ptr
-#ifdef YY_USE_PROTOS
-static void yy_flex_strncpy( char *s1, yyconst char *s2, int n )
-#else
-static void yy_flex_strncpy( s1, s2, n )
-char *s1;
-yyconst char *s2;
-int n;
-#endif
-	{
+static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
+{
 	register int i;
-	for ( i = 0; i < n; ++i )
+    	for ( i = 0; i < n; ++i )
 		s1[i] = s2[i];
-	}
+}
 #endif
 
 #ifdef YY_NEED_STRLEN
-#ifdef YY_USE_PROTOS
-static int yy_flex_strlen( yyconst char *s )
-#else
-static int yy_flex_strlen( s )
-yyconst char *s;
-#endif
-	{
+static int yy_flex_strlen (yyconst char * s )
+{
 	register int n;
-	for ( n = 0; s[n]; ++n )
+    	for ( n = 0; s[n]; ++n )
 		;
 
 	return n;
-	}
+}
 #endif
 
-
-#ifdef YY_USE_PROTOS
-static void *yy_flex_alloc( yy_size_t size )
-#else
-static void *yy_flex_alloc( size )
-yy_size_t size;
-#endif
-	{
+void *yyalloc (yy_size_t  size )
+{
 	return (void *) malloc( size );
-	}
+}
 
-#ifdef YY_USE_PROTOS
-static void *yy_flex_realloc( void *ptr, yy_size_t size )
-#else
-static void *yy_flex_realloc( ptr, size )
-void *ptr;
-yy_size_t size;
-#endif
-	{
+void *yyrealloc  (void * ptr, yy_size_t  size )
+{
 	/* The cast to (char *) in the following accommodates both
 	 * implementations that use char* generic pointers, and those
 	 * that use void* generic pointers.  It works with the latter
@@ -1631,30 +1794,34 @@
 	 * as though doing an assignment.
 	 */
 	return (void *) realloc( (char *) ptr, size );
-	}
+}
 
-#ifdef YY_USE_PROTOS
-static void yy_flex_free( void *ptr )
-#else
-static void yy_flex_free( ptr )
-void *ptr;
-#endif
-	{
-	free( ptr );
-	}
+void yyfree (void * ptr )
+{
+	free( (char *) ptr );	/* see yyrealloc() for (char *) cast */
+}
 
-#if YY_MAIN
-int main()
-	{
-	yylex();
-	return 0;
-	}
+#define YYTABLES_NAME "yytables"
+
+#undef YY_NEW_FILE
+#undef YY_FLUSH_BUFFER
+#undef yy_set_bol
+#undef yy_new_buffer
+#undef yy_set_interactive
+#undef yytext_ptr
+#undef YY_DO_BEFORE_ACTION
+
+#ifdef YY_DECL_IS_OURS
+#undef YY_DECL_IS_OURS
+#undef YY_DECL
 #endif
 #line 69 "ql_l.l"
 
 
-void yyerror(char *s)
+
+void yyerror(const char *s)
 {
     fprintf(stderr,"line %d: %s near \"%s\"\n",lineno,s,yytext);
     exit(1);
 }
+
Index: linux-atm-2.4.1/src/qgen/ql_y.c
===================================================================
--- linux-atm-2.4.1.orig/src/qgen/ql_y.c	2007-06-04 13:23:53.994525480 +0200
+++ linux-atm-2.4.1/src/qgen/ql_y.c	2007-06-04 13:23:54.488450392 +0200
@@ -1,21 +1,87 @@
+/* A Bison parser, made by GNU Bison 1.875d.  */
 
-/*  A Bison parser, made from ql_y.y
-    by GNU Bison version 1.28  */
+/* Skeleton parser for Yacc-like parsing with Bison,
+   Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
 
-#define YYBISON 1  /* Identify Bison output.  */
+   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.
 
-#define	TOK_BREAK	257
-#define	TOK_CASE	258
-#define	TOK_DEF	259
-#define	TOK_DEFAULT	260
-#define	TOK_LENGTH	261
-#define	TOK_MULTI	262
-#define	TOK_RECOVER	263
-#define	TOK_ABORT	264
-#define	TOK_ID	265
-#define	TOK_INCLUDE	266
-#define	TOK_STRING	267
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
 
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+/* As a special exception, when this file is copied by Bison into a
+   Bison output file, you may use that output file without restriction.
+   This special exception was added by the Free Software Foundation
+   in version 1.24 of Bison.  */
+
+/* Written by Richard Stallman by simplifying the original so called
+   ``semantic'' parser.  */
+
+/* All symbols defined below should begin with yy or YY, to avoid
+   infringing on user name space.  This should be done even for local
+   variables, as they might otherwise be expanded by user macros.
+   There are some unavoidable exceptions within include files to
+   define necessary library symbols; they are noted "INFRINGES ON
+   USER NAME SPACE" below.  */
+
+/* Identify Bison output.  */
+#define YYBISON 1
+
+/* Skeleton name.  */
+#define YYSKELETON_NAME "yacc.c"
+
+/* Pure parsers.  */
+#define YYPURE 0
+
+/* Using locations.  */
+#define YYLSP_NEEDED 0
+
+
+
+/* Tokens.  */
+#ifndef YYTOKENTYPE
+# define YYTOKENTYPE
+   /* Put the tokens into the symbol table, so that GDB and other debuggers
+      know about them.  */
+   enum yytokentype {
+     TOK_BREAK = 258,
+     TOK_CASE = 259,
+     TOK_DEF = 260,
+     TOK_DEFAULT = 261,
+     TOK_LENGTH = 262,
+     TOK_MULTI = 263,
+     TOK_RECOVER = 264,
+     TOK_ABORT = 265,
+     TOK_ID = 266,
+     TOK_INCLUDE = 267,
+     TOK_STRING = 268
+   };
+#endif
+#define TOK_BREAK 258
+#define TOK_CASE 259
+#define TOK_DEF 260
+#define TOK_DEFAULT 261
+#define TOK_LENGTH 262
+#define TOK_MULTI 263
+#define TOK_RECOVER 264
+#define TOK_ABORT 265
+#define TOK_ID 266
+#define TOK_INCLUDE 267
+#define TOK_STRING 268
+
+
+
+
+/* Copy the first part of user declarations.  */
 #line 1 "ql_y.y"
 
 /* ql.y - Q.2931 data structures description language */
@@ -36,6 +102,8 @@
 #include "qgen.h"
 #include "file.h"
 
+extern void yyerror(const char *s);
+
 
 #define MAX_TOKEN 256
 #define DEFAULT_NAMELIST_FILE "default.nl"
@@ -77,9 +145,10 @@
 	for (walk = strchr(start,0)-1; walk > start && isspace(*walk); walk--)
 	    *walk = 0;
 	if (*start == ':') {
-	    if (!(searching = strcmp(start+1,name)))
+	    if (!(searching = strcmp(start+1,name))) {
 		if (found) yyerror("multiple entries");
 		else found = 1;
+	    }
 	    continue;
 	}
 	if (searching) continue;
@@ -154,8 +223,23 @@
 
 
 
-#line 139 "ql_y.y"
-typedef union {
+
+/* Enabling traces.  */
+#ifndef YYDEBUG
+# define YYDEBUG 0
+#endif
+
+/* Enabling verbose error messages.  */
+#ifdef YYERROR_VERBOSE
+# undef YYERROR_VERBOSE
+# define YYERROR_VERBOSE 1
+#else
+# define YYERROR_VERBOSE 0
+#endif
+
+#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
+#line 142 "ql_y.y"
+typedef union YYSTYPE {
     const char *str;
     int num;
     FIELD *field;
@@ -164,470 +248,762 @@
     TAG *tag;
     NAME_LIST *nlist;
 } YYSTYPE;
-#include <stdio.h>
+/* Line 191 of yacc.c.  */
+#line 253 "y.tab.c"
+# define yystype YYSTYPE /* obsolescent; will be withdrawn */
+# define YYSTYPE_IS_DECLARED 1
+# define YYSTYPE_IS_TRIVIAL 1
+#endif
+
+
+
+/* Copy the second part of user declarations.  */
+
+
+/* Line 214 of yacc.c.  */
+#line 265 "y.tab.c"
+
+#if ! defined (yyoverflow) || YYERROR_VERBOSE
+
+# ifndef YYFREE
+#  define YYFREE free
+# endif
+# ifndef YYMALLOC
+#  define YYMALLOC malloc
+# endif
+
+/* The parser invokes alloca or malloc; define the necessary symbols.  */
+
+# ifdef YYSTACK_USE_ALLOCA
+#  if YYSTACK_USE_ALLOCA
+#   define YYSTACK_ALLOC alloca
+#  endif
+# else
+#  if defined (alloca) || defined (_ALLOCA_H)
+#   define YYSTACK_ALLOC alloca
+#  else
+#   ifdef __GNUC__
+#    define YYSTACK_ALLOC __builtin_alloca
+#   endif
+#  endif
+# endif
+
+# ifdef YYSTACK_ALLOC
+   /* Pacify GCC's `empty if-body' warning. */
+#  define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
+# else
+#  if defined (__STDC__) || defined (__cplusplus)
+#   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
+#   define YYSIZE_T size_t
+#  endif
+#  define YYSTACK_ALLOC YYMALLOC
+#  define YYSTACK_FREE YYFREE
+# endif
+#endif /* ! defined (yyoverflow) || YYERROR_VERBOSE */
+
+
+#if (! defined (yyoverflow) \
+     && (! defined (__cplusplus) \
+	 || (defined (YYSTYPE_IS_TRIVIAL) && YYSTYPE_IS_TRIVIAL)))
+
+/* A type that is properly aligned for any stack member.  */
+union yyalloc
+{
+  short int yyss;
+  YYSTYPE yyvs;
+  };
+
+/* The size of the maximum gap between one aligned stack and the next.  */
+# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
+
+/* The size of an array large to enough to hold all stacks, each with
+   N elements.  */
+# define YYSTACK_BYTES(N) \
+     ((N) * (sizeof (short int) + sizeof (YYSTYPE))			\
+      + YYSTACK_GAP_MAXIMUM)
+
+/* Copy COUNT objects from FROM to TO.  The source and destination do
+   not overlap.  */
+# ifndef YYCOPY
+#  if defined (__GNUC__) && 1 < __GNUC__
+#   define YYCOPY(To, From, Count) \
+      __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
+#  else
+#   define YYCOPY(To, From, Count)		\
+      do					\
+	{					\
+	  register YYSIZE_T yyi;		\
+	  for (yyi = 0; yyi < (Count); yyi++)	\
+	    (To)[yyi] = (From)[yyi];		\
+	}					\
+      while (0)
+#  endif
+# endif
+
+/* Relocate STACK from its old location to the new one.  The
+   local variables YYSIZE and YYSTACKSIZE give the old and new number of
+   elements in the stack, and YYPTR gives the new location of the
+   stack.  Advance YYPTR to a properly aligned location for the next
+   stack.  */
+# define YYSTACK_RELOCATE(Stack)					\
+    do									\
+      {									\
+	YYSIZE_T yynewbytes;						\
+	YYCOPY (&yyptr->Stack, Stack, yysize);				\
+	Stack = &yyptr->Stack;						\
+	yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
+	yyptr += yynewbytes / sizeof (*yyptr);				\
+      }									\
+    while (0)
 
-#ifndef __cplusplus
-#ifndef __STDC__
-#define const
-#endif
 #endif
 
+#if defined (__STDC__) || defined (__cplusplus)
+   typedef signed char yysigned_char;
+#else
+   typedef short int yysigned_char;
+#endif
 
-
-#define	YYFINAL		86
-#define	YYFLAG		-32768
-#define	YYNTBASE	23
-
-#define YYTRANSLATE(x) ((unsigned)(x) <= 267 ? yytranslate[x] : 47)
-
-static const char yytranslate[] = {     0,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,    21,    18,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,    22,     2,    17,
-    14,    19,     2,    20,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,    15,     2,    16,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     1,     3,     4,     5,     6,
-     7,     8,     9,    10,    11,    12,    13
+/* YYFINAL -- State number of the termination state. */
+#define YYFINAL  5
+/* YYLAST -- Last index in YYTABLE.  */
+#define YYLAST   65
+
+/* YYNTOKENS -- Number of terminals. */
+#define YYNTOKENS  23
+/* YYNNTS -- Number of nonterminals. */
+#define YYNNTS  25
+/* YYNRULES -- Number of rules. */
+#define YYNRULES  46
+/* YYNRULES -- Number of states. */
+#define YYNSTATES  86
+
+/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
+#define YYUNDEFTOK  2
+#define YYMAXUTOK   268
+
+#define YYTRANSLATE(YYX) 						\
+  ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
+
+/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */
+static const unsigned char yytranslate[] =
+{
+       0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,    21,    18,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,    22,     2,
+      17,    14,    19,     2,    20,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,    15,     2,    16,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     1,     2,     3,     4,
+       5,     6,     7,     8,     9,    10,    11,    12,    13
 };
 
-#if YYDEBUG != 0
-static const short yyprhs[] = {     0,
-     0,     4,     5,     8,     9,    12,    17,    18,    21,    23,
-    27,    30,    31,    34,    40,    41,    43,    47,    53,    54,
-    57,    59,    60,    63,    64,    67,    69,    74,    79,    83,
-    84,    87,    88,    90,    91,    97,    98,   105,   106,   112,
-   113,   120,   121,   124,   125
+#if YYDEBUG
+/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
+   YYRHS.  */
+static const unsigned char yyprhs[] =
+{
+       0,     0,     3,     7,     8,    11,    12,    15,    20,    21,
+      24,    26,    30,    33,    34,    37,    43,    44,    46,    50,
+      56,    57,    60,    62,    63,    66,    67,    70,    72,    77,
+      82,    86,    87,    90,    91,    93,    94,   100,   101,   108,
+     109,   115,   116,   123,   124,   127,   128
 };
 
-static const short yyrhs[] = {    24,
-    25,    29,     0,     0,    12,    24,     0,     0,    25,    26,
-     0,     5,    11,    14,    29,     0,     0,    28,    29,     0,
-    11,     0,    15,    30,    16,     0,    10,    11,     0,     0,
-    31,    30,     0,    32,    11,    40,    17,    33,     0,     0,
-     3,     0,    18,    35,    19,     0,    35,    34,    36,    19,
-    37,     0,     0,    20,    35,     0,    11,     0,     0,    21,
-    11,     0,     0,    14,    38,     0,    11,     0,     4,    15,
-    41,    16,     0,     8,    15,    43,    16,     0,    39,     7,
-    29,     0,     0,     9,    11,     0,     0,    13,     0,     0,
-     6,    11,    45,    46,    29,     0,     0,    11,    45,    46,
-    29,    42,    41,     0,     0,     6,    11,    45,    46,    27,
-     0,     0,    11,    45,    46,    27,    44,    43,     0,     0,
-    22,    11,     0,     0,    21,    11,    46,     0
+/* YYRHS -- A `-1'-separated list of the rules' RHS. */
+static const yysigned_char yyrhs[] =
+{
+      24,     0,    -1,    25,    26,    30,    -1,    -1,    12,    25,
+      -1,    -1,    26,    27,    -1,     5,    11,    14,    30,    -1,
+      -1,    29,    30,    -1,    11,    -1,    15,    31,    16,    -1,
+      10,    11,    -1,    -1,    32,    31,    -1,    33,    11,    41,
+      17,    34,    -1,    -1,     3,    -1,    18,    36,    19,    -1,
+      36,    35,    37,    19,    38,    -1,    -1,    20,    36,    -1,
+      11,    -1,    -1,    21,    11,    -1,    -1,    14,    39,    -1,
+      11,    -1,     4,    15,    42,    16,    -1,     8,    15,    44,
+      16,    -1,    40,     7,    30,    -1,    -1,     9,    11,    -1,
+      -1,    13,    -1,    -1,     6,    11,    46,    47,    30,    -1,
+      -1,    11,    46,    47,    30,    43,    42,    -1,    -1,     6,
+      11,    46,    47,    28,    -1,    -1,    11,    46,    47,    28,
+      45,    44,    -1,    -1,    22,    11,    -1,    -1,    21,    11,
+      47,    -1
 };
 
-#endif
-
-#if YYDEBUG != 0
-static const short yyrline[] = { 0,
-   163,   175,   176,   184,   185,   188,   202,   207,   212,   231,
-   236,   243,   247,   254,   278,   282,   288,   301,   318,   322,
-   329,   339,   343,   350,   354,   360,   367,   374,   380,   390,
-   394,   400,   404,   410,   414,   431,   437,   454,   458,   474,
-   480,   497,   501,   507,   511
+/* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
+static const unsigned short int yyrline[] =
+{
+       0,   167,   167,   178,   179,   187,   188,   192,   206,   206,
+     216,   234,   239,   247,   250,   258,   282,   285,   292,   304,
+     323,   326,   334,   344,   347,   355,   358,   365,   371,   378,
+     384,   395,   398,   405,   408,   415,   418,   436,   435,   459,
+     462,   479,   478,   502,   505,   512,   515
 };
 #endif
 
-
-#if YYDEBUG != 0 || defined (YYERROR_VERBOSE)
-
-static const char * const yytname[] = {   "$","error","$undefined.","TOK_BREAK",
-"TOK_CASE","TOK_DEF","TOK_DEFAULT","TOK_LENGTH","TOK_MULTI","TOK_RECOVER","TOK_ABORT",
-"TOK_ID","TOK_INCLUDE","TOK_STRING","'='","'{'","'}'","'<'","'-'","'>'","'@'",
-"','","':'","all","includes","structures","structure","rep_block","@1","block",
-"fields","field","opt_break","field_cont","opt_pos","decimal","opt_more","opt_val",
-"value","opt_recover","opt_name_list","tags","@2","rep_tags","@3","opt_id","list", NULL
+#if YYDEBUG || YYERROR_VERBOSE
+/* YYTNME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
+   First, the terminals, then, starting at YYNTOKENS, nonterminals. */
+static const char *const yytname[] =
+{
+  "$end", "error", "$undefined", "TOK_BREAK", "TOK_CASE", "TOK_DEF",
+  "TOK_DEFAULT", "TOK_LENGTH", "TOK_MULTI", "TOK_RECOVER", "TOK_ABORT",
+  "TOK_ID", "TOK_INCLUDE", "TOK_STRING", "'='", "'{'", "'}'", "'<'", "'-'",
+  "'>'", "'@'", "','", "':'", "$accept", "all", "includes", "structures",
+  "structure", "rep_block", "@1", "block", "fields", "field", "opt_break",
+  "field_cont", "opt_pos", "decimal", "opt_more", "opt_val", "value",
+  "opt_recover", "opt_name_list", "tags", "@2", "rep_tags", "@3", "opt_id",
+  "list", 0
 };
 #endif
 
-static const short yyr1[] = {     0,
-    23,    24,    24,    25,    25,    26,    28,    27,    29,    29,
-    29,    30,    30,    31,    32,    32,    33,    33,    34,    34,
-    35,    36,    36,    37,    37,    38,    38,    38,    38,    39,
-    39,    40,    40,    41,    41,    42,    41,    43,    43,    44,
-    43,    45,    45,    46,    46
+# ifdef YYPRINT
+/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
+   token YYLEX-NUM.  */
+static const unsigned short int yytoknum[] =
+{
+       0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
+     265,   266,   267,   268,    61,   123,   125,    60,    45,    62,
+      64,    44,    58
 };
+# endif
 
-static const short yyr2[] = {     0,
-     3,     0,     2,     0,     2,     4,     0,     2,     1,     3,
-     2,     0,     2,     5,     0,     1,     3,     5,     0,     2,
-     1,     0,     2,     0,     2,     1,     4,     4,     3,     0,
-     2,     0,     1,     0,     5,     0,     6,     0,     5,     0,
-     6,     0,     2,     0,     3
+/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
+static const unsigned char yyr1[] =
+{
+       0,    23,    24,    25,    25,    26,    26,    27,    29,    28,
+      30,    30,    30,    31,    31,    32,    33,    33,    34,    34,
+      35,    35,    36,    37,    37,    38,    38,    39,    39,    39,
+      39,    40,    40,    41,    41,    42,    42,    43,    42,    44,
+      44,    45,    44,    46,    46,    47,    47
 };
 
-static const short yydefact[] = {     2,
-     2,     4,     3,     0,     0,     0,     9,    12,     5,     1,
-     0,    11,    16,     0,    12,     0,     0,    10,    13,    32,
-     6,    33,     0,     0,    21,     0,    14,    19,     0,     0,
-    22,    17,    20,     0,     0,    23,    24,    30,    18,     0,
-     0,     0,    26,    25,     0,    34,    38,    31,     0,     0,
-    42,     0,     0,    42,     0,    29,    42,     0,    44,    27,
-    42,    44,    28,    44,    43,     0,     0,    44,     7,     0,
-    44,    36,     7,    40,     0,    35,    45,    34,    39,    38,
-     8,    37,    41,     0,     0,     0
+/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
+static const unsigned char yyr2[] =
+{
+       0,     2,     3,     0,     2,     0,     2,     4,     0,     2,
+       1,     3,     2,     0,     2,     5,     0,     1,     3,     5,
+       0,     2,     1,     0,     2,     0,     2,     1,     4,     4,
+       3,     0,     2,     0,     1,     0,     5,     0,     6,     0,
+       5,     0,     6,     0,     2,     0,     3
 };
 
-static const short yydefgoto[] = {    84,
-     2,     4,     9,    74,    75,    10,    14,    15,    16,    27,
-    31,    28,    35,    39,    44,    45,    23,    52,    78,    55,
-    80,    59,    67
+/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
+   STATE-NUM when YYTABLE doesn't specify something else to do.  Zero
+   means the default is an error.  */
+static const unsigned char yydefact[] =
+{
+       3,     3,     0,     5,     4,     1,     0,     0,     0,    10,
+      13,     6,     2,     0,    12,    17,     0,    13,     0,     0,
+      11,    14,    33,     7,    34,     0,     0,    22,     0,    15,
+      20,     0,     0,    23,    18,    21,     0,     0,    24,    25,
+      31,    19,     0,     0,     0,    27,    26,     0,    35,    39,
+      32,     0,     0,    43,     0,     0,    43,     0,    30,    43,
+       0,    45,    28,    43,    45,    29,    45,    44,     0,     0,
+      45,     8,     0,    45,    37,     8,    41,     0,    36,    46,
+      35,    40,    39,     9,    38,    42
 };
 
-static const short yypact[] = {    -8,
-    -8,-32768,-32768,    -4,     3,    17,-32768,    -1,-32768,-32768,
-    20,-32768,-32768,    21,    -1,    22,    11,-32768,-32768,    23,
--32768,-32768,    24,    -3,-32768,    27,-32768,    15,    25,    27,
-    26,-32768,-32768,    28,    29,-32768,    31,     9,-32768,    34,
-    36,    32,-32768,-32768,    33,    18,    19,-32768,    11,    35,
-    30,    38,    44,    30,    40,-32768,    30,    46,    39,-32768,
-    30,    39,-32768,    39,-32768,    48,    11,    39,-32768,    11,
-    39,-32768,-32768,-32768,    11,-32768,-32768,    18,-32768,    19,
--32768,-32768,-32768,    42,    61,-32768
+/* YYDEFGOTO[NTERM-NUM]. */
+static const yysigned_char yydefgoto[] =
+{
+      -1,     2,     3,     6,    11,    76,    77,    12,    16,    17,
+      18,    29,    33,    30,    37,    41,    46,    47,    25,    54,
+      80,    57,    82,    61,    69
 };
 
-static const short yypgoto[] = {-32768,
-    62,-32768,-32768,   -11,-32768,   -17,    49,-32768,-32768,-32768,
--32768,     1,-32768,-32768,-32768,-32768,-32768,   -13,-32768,   -14,
--32768,   -38,   -59
+/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
+   STATE-NUM.  */
+#define YYPACT_NINF -62
+static const yysigned_char yypact[] =
+{
+      -8,    -8,    14,   -62,   -62,   -62,    -4,    16,    17,   -62,
+      -1,   -62,   -62,    20,   -62,   -62,    21,    -1,    22,    11,
+     -62,   -62,    23,   -62,   -62,    24,    -3,   -62,    27,   -62,
+      25,    28,    27,    30,   -62,   -62,    29,    33,   -62,    32,
+       9,   -62,    34,    39,    31,   -62,   -62,    36,    18,    19,
+     -62,    11,    37,    35,    40,    44,    35,    43,   -62,    35,
+      49,    41,   -62,    35,    41,   -62,    41,   -62,    50,    11,
+      41,   -62,    11,    41,   -62,   -62,   -62,    11,   -62,   -62,
+      18,   -62,    19,   -62,   -62,   -62
 };
 
-
-#define	YYLAST		66
-
-
-static const short yytable[] = {    21,
-     5,    13,    69,     1,    70,     6,     7,    25,    73,   -15,
-     8,    77,    40,    11,    26,    62,    41,    42,    64,    43,
-     6,     7,    68,    50,    53,     8,    29,    12,    51,    54,
-    33,    56,    20,    17,    30,    22,    18,    25,    36,    49,
-    24,    85,    48,    32,    38,    57,    34,    37,    46,    72,
-    47,    58,    76,    60,    61,    63,    65,    81,    71,    66,
-    86,    79,     3,    19,    82,    83
+/* YYPGOTO[NTERM-NUM].  */
+static const yysigned_char yypgoto[] =
+{
+     -62,   -62,    38,   -62,   -62,   -31,   -62,   -19,    46,   -62,
+     -62,   -62,   -62,     3,   -62,   -62,   -62,   -62,   -62,   -16,
+     -62,   -17,   -62,   -40,   -61
 };
 
-static const short yycheck[] = {    17,
-     5,     3,    62,    12,    64,    10,    11,    11,    68,    11,
-    15,    71,     4,    11,    18,    54,     8,     9,    57,    11,
-    10,    11,    61,     6,     6,    15,    26,    11,    11,    11,
-    30,    49,    11,    14,    20,    13,    16,    11,    11,     7,
-    17,     0,    11,    19,    14,    11,    21,    19,    15,    67,
-    15,    22,    70,    16,    11,    16,    11,    75,    11,    21,
-     0,    73,     1,    15,    78,    80
+/* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
+   positive, shift that token.  If negative, reduce the rule which
+   number is the opposite.  If zero, do what YYDEFACT says.
+   If YYTABLE_NINF, syntax error.  */
+#define YYTABLE_NINF -17
+static const yysigned_char yytable[] =
+{
+      23,     7,    15,    71,     1,    72,     8,     9,    27,    75,
+     -16,    10,    79,    42,     5,    28,    64,    43,    44,    66,
+      45,     8,     9,    70,    52,    55,    10,    13,    14,    53,
+      56,    31,    58,    22,    19,    35,    24,    20,    27,     4,
+      38,    26,    50,    51,    81,    32,    40,    34,    59,    48,
+      74,    36,    39,    78,    49,    63,    62,    60,    83,    65,
+      67,    73,    68,    21,    84,    85
 };
-/* -*-C-*-  Note some compilers choke on comments on `#line' lines.  */
-#line 3 "/usr/lib/bison.simple"
-/* This file comes from bison-1.28.  */
 
-/* Skeleton output parser for bison,
-   Copyright (C) 1984, 1989, 1990 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., 59 Temple Place - Suite 330,
-   Boston, MA 02111-1307, USA.  */
-
-/* As a special exception, when this file is copied by Bison into a
-   Bison output file, you may use that output file without restriction.
-   This special exception was added by the Free Software Foundation
-   in version 1.24 of Bison.  */
+static const unsigned char yycheck[] =
+{
+      19,     5,     3,    64,    12,    66,    10,    11,    11,    70,
+      11,    15,    73,     4,     0,    18,    56,     8,     9,    59,
+      11,    10,    11,    63,     6,     6,    15,    11,    11,    11,
+      11,    28,    51,    11,    14,    32,    13,    16,    11,     1,
+      11,    17,    11,     7,    75,    20,    14,    19,    11,    15,
+      69,    21,    19,    72,    15,    11,    16,    22,    77,    16,
+      11,    11,    21,    17,    80,    82
+};
 
-/* This is the parser code that is written into each bison parser
-  when the %semantic_parser declaration is not specified in the grammar.
-  It was written by Richard Stallman by simplifying the hairy parser
-  used when %semantic_parser is specified.  */
-
-#ifndef YYSTACK_USE_ALLOCA
-#ifdef alloca
-#define YYSTACK_USE_ALLOCA
-#else /* alloca not defined */
-#ifdef __GNUC__
-#define YYSTACK_USE_ALLOCA
-#define alloca __builtin_alloca
-#else /* not GNU C.  */
-#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi) || (defined (__sun) && defined (__i386))
-#define YYSTACK_USE_ALLOCA
-#include <alloca.h>
-#else /* not sparc */
-/* We think this test detects Watcom and Microsoft C.  */
-/* This used to test MSDOS, but that is a bad idea
-   since that symbol is in the user namespace.  */
-#if (defined (_MSDOS) || defined (_MSDOS_)) && !defined (__TURBOC__)
-#if 0 /* No need for malloc.h, which pollutes the namespace;
-	 instead, just don't use alloca.  */
-#include <malloc.h>
-#endif
-#else /* not MSDOS, or __TURBOC__ */
-#if defined(_AIX)
-/* I don't know what this was needed for, but it pollutes the namespace.
-   So I turned it off.   rms, 2 May 1997.  */
-/* #include <malloc.h>  */
- #pragma alloca
-#define YYSTACK_USE_ALLOCA
-#else /* not MSDOS, or __TURBOC__, or _AIX */
-#if 0
-#ifdef __hpux /* haible@ilog.fr says this works for HPUX 9.05 and up,
-		 and on HPUX 10.  Eventually we can turn this on.  */
-#define YYSTACK_USE_ALLOCA
-#define alloca __builtin_alloca
-#endif /* __hpux */
-#endif
-#endif /* not _AIX */
-#endif /* not MSDOS, or __TURBOC__ */
-#endif /* not sparc */
-#endif /* not GNU C */
-#endif /* alloca not defined */
-#endif /* YYSTACK_USE_ALLOCA not defined */
+/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
+   symbol of state STATE-NUM.  */
+static const unsigned char yystos[] =
+{
+       0,    12,    24,    25,    25,     0,    26,     5,    10,    11,
+      15,    27,    30,    11,    11,     3,    31,    32,    33,    14,
+      16,    31,    11,    30,    13,    41,    17,    11,    18,    34,
+      36,    36,    20,    35,    19,    36,    21,    37,    11,    19,
+      14,    38,     4,     8,     9,    11,    39,    40,    15,    15,
+      11,     7,     6,    11,    42,     6,    11,    44,    30,    11,
+      22,    46,    16,    11,    46,    16,    46,    11,    21,    47,
+      46,    47,    47,    11,    30,    47,    28,    29,    30,    47,
+      43,    28,    45,    30,    42,    44
+};
 
-#ifdef YYSTACK_USE_ALLOCA
-#define YYSTACK_ALLOC alloca
-#else
-#define YYSTACK_ALLOC malloc
+#if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
+# define YYSIZE_T __SIZE_TYPE__
+#endif
+#if ! defined (YYSIZE_T) && defined (size_t)
+# define YYSIZE_T size_t
+#endif
+#if ! defined (YYSIZE_T)
+# if defined (__STDC__) || defined (__cplusplus)
+#  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
+#  define YYSIZE_T size_t
+# endif
+#endif
+#if ! defined (YYSIZE_T)
+# define YYSIZE_T unsigned int
 #endif
-
-/* Note: there must be only one dollar sign in this file.
-   It is replaced by the list of actions, each action
-   as one case of the switch.  */
 
 #define yyerrok		(yyerrstatus = 0)
 #define yyclearin	(yychar = YYEMPTY)
-#define YYEMPTY		-2
+#define YYEMPTY		(-2)
 #define YYEOF		0
+
 #define YYACCEPT	goto yyacceptlab
-#define YYABORT 	goto yyabortlab
-#define YYERROR		goto yyerrlab1
-/* Like YYERROR except do call yyerror.
-   This remains here temporarily to ease the
-   transition to the new meaning of YYERROR, for GCC.
+#define YYABORT		goto yyabortlab
+#define YYERROR		goto yyerrorlab
+
+
+/* Like YYERROR except do call yyerror.  This remains here temporarily
+   to ease the transition to the new meaning of YYERROR, for GCC.
    Once GCC version 2 has supplanted version 1, this can go.  */
+
 #define YYFAIL		goto yyerrlab
+
 #define YYRECOVERING()  (!!yyerrstatus)
-#define YYBACKUP(token, value) \
+
+#define YYBACKUP(Token, Value)					\
 do								\
   if (yychar == YYEMPTY && yylen == 1)				\
-    { yychar = (token), yylval = (value);			\
-      yychar1 = YYTRANSLATE (yychar);				\
+    {								\
+      yychar = (Token);						\
+      yylval = (Value);						\
+      yytoken = YYTRANSLATE (yychar);				\
       YYPOPSTACK;						\
       goto yybackup;						\
     }								\
   else								\
-    { yyerror ("syntax error: cannot back up"); YYERROR; }	\
+    { 								\
+      yyerror ("syntax error: cannot back up");\
+      YYERROR;							\
+    }								\
 while (0)
 
 #define YYTERROR	1
 #define YYERRCODE	256
 
-#ifndef YYPURE
-#define YYLEX		yylex()
-#endif
+/* YYLLOC_DEFAULT -- Compute the default location (before the actions
+   are run).  */
 
-#ifdef YYPURE
-#ifdef YYLSP_NEEDED
-#ifdef YYLEX_PARAM
-#define YYLEX		yylex(&yylval, &yylloc, YYLEX_PARAM)
-#else
-#define YYLEX		yylex(&yylval, &yylloc)
+#ifndef YYLLOC_DEFAULT
+# define YYLLOC_DEFAULT(Current, Rhs, N)		\
+   ((Current).first_line   = (Rhs)[1].first_line,	\
+    (Current).first_column = (Rhs)[1].first_column,	\
+    (Current).last_line    = (Rhs)[N].last_line,	\
+    (Current).last_column  = (Rhs)[N].last_column)
 #endif
-#else /* not YYLSP_NEEDED */
+
+/* YYLEX -- calling `yylex' with the right arguments.  */
+
 #ifdef YYLEX_PARAM
-#define YYLEX		yylex(&yylval, YYLEX_PARAM)
+# define YYLEX yylex (YYLEX_PARAM)
 #else
-#define YYLEX		yylex(&yylval)
-#endif
-#endif /* not YYLSP_NEEDED */
+# define YYLEX yylex ()
 #endif
 
-/* If nonreentrant, generate the variables here */
+/* Enable debugging if requested.  */
+#if YYDEBUG
 
-#ifndef YYPURE
+# ifndef YYFPRINTF
+#  include <stdio.h> /* INFRINGES ON USER NAME SPACE */
+#  define YYFPRINTF fprintf
+# endif
+
+# define YYDPRINTF(Args)			\
+do {						\
+  if (yydebug)					\
+    YYFPRINTF Args;				\
+} while (0)
+
+# define YYDSYMPRINT(Args)			\
+do {						\
+  if (yydebug)					\
+    yysymprint Args;				\
+} while (0)
+
+# define YYDSYMPRINTF(Title, Token, Value, Location)		\
+do {								\
+  if (yydebug)							\
+    {								\
+      YYFPRINTF (stderr, "%s ", Title);				\
+      yysymprint (stderr, 					\
+                  Token, Value);	\
+      YYFPRINTF (stderr, "\n");					\
+    }								\
+} while (0)
 
-int	yychar;			/*  the lookahead symbol		*/
-YYSTYPE	yylval;			/*  the semantic value of the		*/
-				/*  lookahead symbol			*/
+/*------------------------------------------------------------------.
+| yy_stack_print -- Print the state stack from its BOTTOM up to its |
+| TOP (included).                                                   |
+`------------------------------------------------------------------*/
 
-#ifdef YYLSP_NEEDED
-YYLTYPE yylloc;			/*  location data for the lookahead	*/
-				/*  symbol				*/
+#if defined (__STDC__) || defined (__cplusplus)
+static void
+yy_stack_print (short int *bottom, short int *top)
+#else
+static void
+yy_stack_print (bottom, top)
+    short int *bottom;
+    short int *top;
 #endif
+{
+  YYFPRINTF (stderr, "Stack now");
+  for (/* Nothing. */; bottom <= top; ++bottom)
+    YYFPRINTF (stderr, " %d", *bottom);
+  YYFPRINTF (stderr, "\n");
+}
 
-int yynerrs;			/*  number of parse errors so far       */
-#endif  /* not YYPURE */
+# define YY_STACK_PRINT(Bottom, Top)				\
+do {								\
+  if (yydebug)							\
+    yy_stack_print ((Bottom), (Top));				\
+} while (0)
 
-#if YYDEBUG != 0
-int yydebug;			/*  nonzero means print parse trace	*/
-/* Since this is uninitialized, it does not stop multiple parsers
-   from coexisting.  */
+
+/*------------------------------------------------.
+| Report that the YYRULE is going to be reduced.  |
+`------------------------------------------------*/
+
+#if defined (__STDC__) || defined (__cplusplus)
+static void
+yy_reduce_print (int yyrule)
+#else
+static void
+yy_reduce_print (yyrule)
+    int yyrule;
 #endif
+{
+  int yyi;
+  unsigned int yylno = yyrline[yyrule];
+  YYFPRINTF (stderr, "Reducing stack by rule %d (line %u), ",
+             yyrule - 1, yylno);
+  /* Print the symbols being reduced, and their result.  */
+  for (yyi = yyprhs[yyrule]; 0 <= yyrhs[yyi]; yyi++)
+    YYFPRINTF (stderr, "%s ", yytname [yyrhs[yyi]]);
+  YYFPRINTF (stderr, "-> %s\n", yytname [yyr1[yyrule]]);
+}
 
-/*  YYINITDEPTH indicates the initial size of the parser's stacks	*/
+# define YY_REDUCE_PRINT(Rule)		\
+do {					\
+  if (yydebug)				\
+    yy_reduce_print (Rule);		\
+} while (0)
+
+/* Nonzero means print parse trace.  It is left uninitialized so that
+   multiple parsers can coexist.  */
+int yydebug;
+#else /* !YYDEBUG */
+# define YYDPRINTF(Args)
+# define YYDSYMPRINT(Args)
+# define YYDSYMPRINTF(Title, Token, Value, Location)
+# define YY_STACK_PRINT(Bottom, Top)
+# define YY_REDUCE_PRINT(Rule)
+#endif /* !YYDEBUG */
 
+
+/* YYINITDEPTH -- initial size of the parser's stacks.  */
 #ifndef	YYINITDEPTH
-#define YYINITDEPTH 200
+# define YYINITDEPTH 200
 #endif
 
-/*  YYMAXDEPTH is the maximum size the stacks can grow to
-    (effective only if the built-in stack extension method is used).  */
+/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
+   if the built-in stack extension method is used).
+
+   Do not make this value too large; the results are undefined if
+   SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH)
+   evaluated with infinite-precision integer arithmetic.  */
 
-#if YYMAXDEPTH == 0
-#undef YYMAXDEPTH
+#if defined (YYMAXDEPTH) && YYMAXDEPTH == 0
+# undef YYMAXDEPTH
 #endif
 
 #ifndef YYMAXDEPTH
-#define YYMAXDEPTH 10000
+# define YYMAXDEPTH 10000
 #endif
+
 
-/* Define __yy_memcpy.  Note that the size argument
-   should be passed with type unsigned int, because that is what the non-GCC
-   definitions require.  With GCC, __builtin_memcpy takes an arg
-   of type size_t, but it can handle unsigned int.  */
-
-#if __GNUC__ > 1		/* GNU C and GNU C++ define this.  */
-#define __yy_memcpy(TO,FROM,COUNT)	__builtin_memcpy(TO,FROM,COUNT)
-#else				/* not GNU C or C++ */
-#ifndef __cplusplus
 
-/* This is the most reliable way to avoid incompatibilities
-   in available built-in functions on various systems.  */
-static void
-__yy_memcpy (to, from, count)
-     char *to;
-     char *from;
-     unsigned int count;
-{
-  register char *f = from;
-  register char *t = to;
-  register int i = count;
+#if YYERROR_VERBOSE
+
+# ifndef yystrlen
+#  if defined (__GLIBC__) && defined (_STRING_H)
+#   define yystrlen strlen
+#  else
+/* Return the length of YYSTR.  */
+static YYSIZE_T
+#   if defined (__STDC__) || defined (__cplusplus)
+yystrlen (const char *yystr)
+#   else
+yystrlen (yystr)
+     const char *yystr;
+#   endif
+{
+  register const char *yys = yystr;
+
+  while (*yys++ != '\0')
+    continue;
 
-  while (i-- > 0)
-    *t++ = *f++;
+  return yys - yystr - 1;
 }
+#  endif
+# endif
 
-#else /* __cplusplus */
+# ifndef yystpcpy
+#  if defined (__GLIBC__) && defined (_STRING_H) && defined (_GNU_SOURCE)
+#   define yystpcpy stpcpy
+#  else
+/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
+   YYDEST.  */
+static char *
+#   if defined (__STDC__) || defined (__cplusplus)
+yystpcpy (char *yydest, const char *yysrc)
+#   else
+yystpcpy (yydest, yysrc)
+     char *yydest;
+     const char *yysrc;
+#   endif
+{
+  register char *yyd = yydest;
+  register const char *yys = yysrc;
+
+  while ((*yyd++ = *yys++) != '\0')
+    continue;
+
+  return yyd - 1;
+}
+#  endif
+# endif
+
+#endif /* !YYERROR_VERBOSE */
+
+
+
+#if YYDEBUG
+/*--------------------------------.
+| Print this symbol on YYOUTPUT.  |
+`--------------------------------*/
 
-/* This is the most reliable way to avoid incompatibilities
-   in available built-in functions on various systems.  */
+#if defined (__STDC__) || defined (__cplusplus)
 static void
-__yy_memcpy (char *to, char *from, unsigned int count)
+yysymprint (FILE *yyoutput, int yytype, YYSTYPE *yyvaluep)
+#else
+static void
+yysymprint (yyoutput, yytype, yyvaluep)
+    FILE *yyoutput;
+    int yytype;
+    YYSTYPE *yyvaluep;
+#endif
 {
-  register char *t = to;
-  register char *f = from;
-  register int i = count;
+  /* Pacify ``unused variable'' warnings.  */
+  (void) yyvaluep;
+
+  if (yytype < YYNTOKENS)
+    {
+      YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
+# ifdef YYPRINT
+      YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
+# endif
+    }
+  else
+    YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
 
-  while (i-- > 0)
-    *t++ = *f++;
+  switch (yytype)
+    {
+      default:
+        break;
+    }
+  YYFPRINTF (yyoutput, ")");
 }
 
+#endif /* ! YYDEBUG */
+/*-----------------------------------------------.
+| Release the memory associated to this symbol.  |
+`-----------------------------------------------*/
+
+#if defined (__STDC__) || defined (__cplusplus)
+static void
+yydestruct (int yytype, YYSTYPE *yyvaluep)
+#else
+static void
+yydestruct (yytype, yyvaluep)
+    int yytype;
+    YYSTYPE *yyvaluep;
 #endif
-#endif
+{
+  /* Pacify ``unused variable'' warnings.  */
+  (void) yyvaluep;
+
+  switch (yytype)
+    {
+
+      default:
+        break;
+    }
+}
 
-#line 217 "/usr/lib/bison.simple"
 
-/* The user can define YYPARSE_PARAM as the name of an argument to be passed
-   into yyparse.  The argument should have type void *.
-   It should actually point to an object.
-   Grammar actions can access the variable by casting it
-   to the proper pointer type.  */
+/* Prevent warnings from -Wmissing-prototypes.  */
 
 #ifdef YYPARSE_PARAM
-#ifdef __cplusplus
-#define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
-#define YYPARSE_PARAM_DECL
-#else /* not __cplusplus */
-#define YYPARSE_PARAM_ARG YYPARSE_PARAM
-#define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
-#endif /* not __cplusplus */
-#else /* not YYPARSE_PARAM */
-#define YYPARSE_PARAM_ARG
-#define YYPARSE_PARAM_DECL
-#endif /* not YYPARSE_PARAM */
+# if defined (__STDC__) || defined (__cplusplus)
+int yyparse (void *YYPARSE_PARAM);
+# else
+int yyparse ();
+# endif
+#else /* ! YYPARSE_PARAM */
+#if defined (__STDC__) || defined (__cplusplus)
+int yyparse (void);
+#else
+int yyparse ();
+#endif
+#endif /* ! YYPARSE_PARAM */
+
+
+
+/* The lookahead symbol.  */
+int yychar;
+
+/* The semantic value of the lookahead symbol.  */
+YYSTYPE yylval;
+
+/* Number of syntax errors so far.  */
+int yynerrs;
+
+
+
+/*----------.
+| yyparse.  |
+`----------*/
 
-/* Prevent warning if -Wstrict-prototypes.  */
-#ifdef __GNUC__
 #ifdef YYPARSE_PARAM
-int yyparse (void *);
+# if defined (__STDC__) || defined (__cplusplus)
+int yyparse (void *YYPARSE_PARAM)
+# else
+int yyparse (YYPARSE_PARAM)
+  void *YYPARSE_PARAM;
+# endif
+#else /* ! YYPARSE_PARAM */
+#if defined (__STDC__) || defined (__cplusplus)
+int
+yyparse (void)
 #else
-int yyparse (void);
+int
+yyparse ()
+
 #endif
 #endif
-
-int
-yyparse(YYPARSE_PARAM_ARG)
-     YYPARSE_PARAM_DECL
 {
+  
   register int yystate;
   register int yyn;
-  register short *yyssp;
+  int yyresult;
+  /* Number of tokens to shift before error messages enabled.  */
+  int yyerrstatus;
+  /* Lookahead token as an internal (translated) token number.  */
+  int yytoken = 0;
+
+  /* Three stacks and their tools:
+     `yyss': related to states,
+     `yyvs': related to semantic values,
+     `yyls': related to locations.
+
+     Refer to the stacks thru separate pointers, to allow yyoverflow
+     to reallocate them elsewhere.  */
+
+  /* The state stack.  */
+  short int yyssa[YYINITDEPTH];
+  short int *yyss = yyssa;
+  register short int *yyssp;
+
+  /* The semantic value stack.  */
+  YYSTYPE yyvsa[YYINITDEPTH];
+  YYSTYPE *yyvs = yyvsa;
   register YYSTYPE *yyvsp;
-  int yyerrstatus;	/*  number of tokens to shift before error messages enabled */
-  int yychar1 = 0;		/*  lookahead token as an internal (translated) token number */
 
-  short	yyssa[YYINITDEPTH];	/*  the state stack			*/
-  YYSTYPE yyvsa[YYINITDEPTH];	/*  the semantic value stack		*/
 
-  short *yyss = yyssa;		/*  refer to the stacks thru separate pointers */
-  YYSTYPE *yyvs = yyvsa;	/*  to allow yyoverflow to reallocate them elsewhere */
 
-#ifdef YYLSP_NEEDED
-  YYLTYPE yylsa[YYINITDEPTH];	/*  the location stack			*/
-  YYLTYPE *yyls = yylsa;
-  YYLTYPE *yylsp;
-
-#define YYPOPSTACK   (yyvsp--, yyssp--, yylsp--)
-#else
 #define YYPOPSTACK   (yyvsp--, yyssp--)
-#endif
 
-  int yystacksize = YYINITDEPTH;
-  int yyfree_stacks = 0;
+  YYSIZE_T yystacksize = YYINITDEPTH;
 
-#ifdef YYPURE
-  int yychar;
-  YYSTYPE yylval;
-  int yynerrs;
-#ifdef YYLSP_NEEDED
-  YYLTYPE yylloc;
-#endif
-#endif
+  /* The variables used to return semantic value and location from the
+     action routines.  */
+  YYSTYPE yyval;
 
-  YYSTYPE yyval;		/*  the variable used to return		*/
-				/*  semantic values from the action	*/
-				/*  routines				*/
 
+  /* When reducing, the number of symbols on the RHS of the reduced
+     rule.  */
   int yylen;
 
-#if YYDEBUG != 0
-  if (yydebug)
-    fprintf(stderr, "Starting parse\n");
-#endif
+  YYDPRINTF ((stderr, "Starting parse\n"));
 
   yystate = 0;
   yyerrstatus = 0;
@@ -639,110 +1015,97 @@
      so that they stay on the same level as the state stack.
      The wasted elements are never initialized.  */
 
-  yyssp = yyss - 1;
+  yyssp = yyss;
   yyvsp = yyvs;
-#ifdef YYLSP_NEEDED
-  yylsp = yyls;
-#endif
 
-/* Push a new state, which is found in  yystate  .  */
-/* In all cases, when you get here, the value and location stacks
-   have just been pushed. so pushing a state here evens the stacks.  */
-yynewstate:
 
-  *++yyssp = yystate;
+  goto yysetstate;
 
-  if (yyssp >= yyss + yystacksize - 1)
-    {
-      /* Give user a chance to reallocate the stack */
-      /* Use copies of these so that the &'s don't force the real ones into memory. */
-      YYSTYPE *yyvs1 = yyvs;
-      short *yyss1 = yyss;
-#ifdef YYLSP_NEEDED
-      YYLTYPE *yyls1 = yyls;
-#endif
+/*------------------------------------------------------------.
+| yynewstate -- Push a new state, which is found in yystate.  |
+`------------------------------------------------------------*/
+ yynewstate:
+  /* In all cases, when you get here, the value and location stacks
+     have just been pushed. so pushing a state here evens the stacks.
+     */
+  yyssp++;
 
+ yysetstate:
+  *yyssp = yystate;
+
+  if (yyss + yystacksize - 1 <= yyssp)
+    {
       /* Get the current used size of the three stacks, in elements.  */
-      int size = yyssp - yyss + 1;
+      YYSIZE_T yysize = yyssp - yyss + 1;
 
 #ifdef yyoverflow
-      /* Each stack pointer address is followed by the size of
-	 the data in use in that stack, in bytes.  */
-#ifdef YYLSP_NEEDED
-      /* This used to be a conditional around just the two extra args,
-	 but that might be undefined if yyoverflow is a macro.  */
-      yyoverflow("parser stack overflow",
-		 &yyss1, size * sizeof (*yyssp),
-		 &yyvs1, size * sizeof (*yyvsp),
-		 &yyls1, size * sizeof (*yylsp),
-		 &yystacksize);
-#else
-      yyoverflow("parser stack overflow",
-		 &yyss1, size * sizeof (*yyssp),
-		 &yyvs1, size * sizeof (*yyvsp),
-		 &yystacksize);
-#endif
-
-      yyss = yyss1; yyvs = yyvs1;
-#ifdef YYLSP_NEEDED
-      yyls = yyls1;
-#endif
+      {
+	/* Give user a chance to reallocate the stack. Use copies of
+	   these so that the &'s don't force the real ones into
+	   memory.  */
+	YYSTYPE *yyvs1 = yyvs;
+	short int *yyss1 = yyss;
+
+
+	/* Each stack pointer address is followed by the size of the
+	   data in use in that stack, in bytes.  This used to be a
+	   conditional around just the two extra args, but that might
+	   be undefined if yyoverflow is a macro.  */
+	yyoverflow ("parser stack overflow",
+		    &yyss1, yysize * sizeof (*yyssp),
+		    &yyvs1, yysize * sizeof (*yyvsp),
+
+		    &yystacksize);
+
+	yyss = yyss1;
+	yyvs = yyvs1;
+      }
 #else /* no yyoverflow */
+# ifndef YYSTACK_RELOCATE
+      goto yyoverflowlab;
+# else
       /* Extend the stack our own way.  */
-      if (yystacksize >= YYMAXDEPTH)
-	{
-	  yyerror("parser stack overflow");
-	  if (yyfree_stacks)
-	    {
-	      free (yyss);
-	      free (yyvs);
-#ifdef YYLSP_NEEDED
-	      free (yyls);
-#endif
-	    }
-	  return 2;
-	}
+      if (YYMAXDEPTH <= yystacksize)
+	goto yyoverflowlab;
       yystacksize *= 2;
-      if (yystacksize > YYMAXDEPTH)
+      if (YYMAXDEPTH < yystacksize)
 	yystacksize = YYMAXDEPTH;
-#ifndef YYSTACK_USE_ALLOCA
-      yyfree_stacks = 1;
-#endif
-      yyss = (short *) YYSTACK_ALLOC (yystacksize * sizeof (*yyssp));
-      __yy_memcpy ((char *)yyss, (char *)yyss1,
-		   size * (unsigned int) sizeof (*yyssp));
-      yyvs = (YYSTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yyvsp));
-      __yy_memcpy ((char *)yyvs, (char *)yyvs1,
-		   size * (unsigned int) sizeof (*yyvsp));
-#ifdef YYLSP_NEEDED
-      yyls = (YYLTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yylsp));
-      __yy_memcpy ((char *)yyls, (char *)yyls1,
-		   size * (unsigned int) sizeof (*yylsp));
-#endif
+
+      {
+	short int *yyss1 = yyss;
+	union yyalloc *yyptr =
+	  (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
+	if (! yyptr)
+	  goto yyoverflowlab;
+	YYSTACK_RELOCATE (yyss);
+	YYSTACK_RELOCATE (yyvs);
+
+#  undef YYSTACK_RELOCATE
+	if (yyss1 != yyssa)
+	  YYSTACK_FREE (yyss1);
+      }
+# endif
 #endif /* no yyoverflow */
 
-      yyssp = yyss + size - 1;
-      yyvsp = yyvs + size - 1;
-#ifdef YYLSP_NEEDED
-      yylsp = yyls + size - 1;
-#endif
+      yyssp = yyss + yysize - 1;
+      yyvsp = yyvs + yysize - 1;
 
-#if YYDEBUG != 0
-      if (yydebug)
-	fprintf(stderr, "Stack size increased to %d\n", yystacksize);
-#endif
 
-      if (yyssp >= yyss + yystacksize - 1)
+      YYDPRINTF ((stderr, "Stack size increased to %lu\n",
+		  (unsigned long int) yystacksize));
+
+      if (yyss + yystacksize - 1 <= yyssp)
 	YYABORT;
     }
 
-#if YYDEBUG != 0
-  if (yydebug)
-    fprintf(stderr, "Entering state %d\n", yystate);
-#endif
+  YYDPRINTF ((stderr, "Entering state %d\n", yystate));
 
   goto yybackup;
- yybackup:
+
+/*-----------.
+| yybackup.  |
+`-----------*/
+yybackup:
 
 /* Do appropriate processing given the current state.  */
 /* Read a lookahead token if we need one and don't already have one.  */
@@ -751,154 +1114,120 @@
   /* First try to decide what to do without reference to lookahead token.  */
 
   yyn = yypact[yystate];
-  if (yyn == YYFLAG)
+  if (yyn == YYPACT_NINF)
     goto yydefault;
 
   /* Not known => get a lookahead token if don't already have one.  */
 
-  /* yychar is either YYEMPTY or YYEOF
-     or a valid token in external form.  */
-
+  /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol.  */
   if (yychar == YYEMPTY)
     {
-#if YYDEBUG != 0
-      if (yydebug)
-	fprintf(stderr, "Reading a token: ");
-#endif
+      YYDPRINTF ((stderr, "Reading a token: "));
       yychar = YYLEX;
     }
 
-  /* Convert token to internal form (in yychar1) for indexing tables with */
-
-  if (yychar <= 0)		/* This means end of input. */
+  if (yychar <= YYEOF)
     {
-      yychar1 = 0;
-      yychar = YYEOF;		/* Don't call YYLEX any more */
-
-#if YYDEBUG != 0
-      if (yydebug)
-	fprintf(stderr, "Now at end of input.\n");
-#endif
+      yychar = yytoken = YYEOF;
+      YYDPRINTF ((stderr, "Now at end of input.\n"));
     }
   else
     {
-      yychar1 = YYTRANSLATE(yychar);
-
-#if YYDEBUG != 0
-      if (yydebug)
-	{
-	  fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]);
-	  /* Give the individual parser a way to print the precise meaning
-	     of a token, for further debugging info.  */
-#ifdef YYPRINT
-	  YYPRINT (stderr, yychar, yylval);
-#endif
-	  fprintf (stderr, ")\n");
-	}
-#endif
+      yytoken = YYTRANSLATE (yychar);
+      YYDSYMPRINTF ("Next token is", yytoken, &yylval, &yylloc);
     }
 
-  yyn += yychar1;
-  if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1)
+  /* If the proper action on seeing token YYTOKEN is to reduce or to
+     detect an error, take that action.  */
+  yyn += yytoken;
+  if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
     goto yydefault;
-
   yyn = yytable[yyn];
-
-  /* yyn is what to do for this token type in this state.
-     Negative => reduce, -yyn is rule number.
-     Positive => shift, yyn is new state.
-       New state is final state => don't bother to shift,
-       just return success.
-     0, or most negative number => error.  */
-
-  if (yyn < 0)
+  if (yyn <= 0)
     {
-      if (yyn == YYFLAG)
+      if (yyn == 0 || yyn == YYTABLE_NINF)
 	goto yyerrlab;
       yyn = -yyn;
       goto yyreduce;
     }
-  else if (yyn == 0)
-    goto yyerrlab;
 
   if (yyn == YYFINAL)
     YYACCEPT;
 
   /* Shift the lookahead token.  */
-
-#if YYDEBUG != 0
-  if (yydebug)
-    fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]);
-#endif
+  YYDPRINTF ((stderr, "Shifting token %s, ", yytname[yytoken]));
 
   /* Discard the token being shifted unless it is eof.  */
   if (yychar != YYEOF)
     yychar = YYEMPTY;
 
   *++yyvsp = yylval;
-#ifdef YYLSP_NEEDED
-  *++yylsp = yylloc;
-#endif
 
-  /* count tokens shifted since error; after three, turn off error status.  */
-  if (yyerrstatus) yyerrstatus--;
+
+  /* Count tokens shifted since error; after three, turn off error
+     status.  */
+  if (yyerrstatus)
+    yyerrstatus--;
 
   yystate = yyn;
   goto yynewstate;
 
-/* Do the default action for the current state.  */
-yydefault:
 
+/*-----------------------------------------------------------.
+| yydefault -- do the default action for the current state.  |
+`-----------------------------------------------------------*/
+yydefault:
   yyn = yydefact[yystate];
   if (yyn == 0)
     goto yyerrlab;
+  goto yyreduce;
 
-/* Do a reduction.  yyn is the number of a rule to reduce with.  */
+
+/*-----------------------------.
+| yyreduce -- Do a reduction.  |
+`-----------------------------*/
 yyreduce:
+  /* yyn is the number of a rule to reduce with.  */
   yylen = yyr2[yyn];
-  if (yylen > 0)
-    yyval = yyvsp[1-yylen]; /* implement default value of the action */
 
-#if YYDEBUG != 0
-  if (yydebug)
-    {
-      int i;
+  /* If YYLEN is nonzero, implement the default value of the action:
+     `$$ = $1'.
 
-      fprintf (stderr, "Reducing via rule %d (line %d), ",
-	       yyn, yyrline[yyn]);
+     Otherwise, the following line sets YYVAL to garbage.
+     This behavior is undocumented and Bison
+     users should not rely upon it.  Assigning to YYVAL
+     unconditionally makes the parser a bit smaller, and it avoids a
+     GCC warning that YYVAL may be used uninitialized.  */
+  yyval = yyvsp[1-yylen];
 
-      /* Print the symbols being reduced, and their result.  */
-      for (i = yyprhs[yyn]; yyrhs[i] > 0; i++)
-	fprintf (stderr, "%s ", yytname[yyrhs[i]]);
-      fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]);
-    }
-#endif
 
-
-  switch (yyn) {
-
-case 1:
-#line 165 "ql_y.y"
-{
+  YY_REDUCE_PRINT (yyn);
+  switch (yyn)
+    {
+        case 2:
+#line 168 "ql_y.y"
+    {
 	    STRUCTURE *walk;
 
 	    def = yyvsp[0].field;
 	    for (walk = structures; walk; walk = walk->next)
 		if (!walk->instances)
 		    fprintf(stderr,"unused structure: %s\n",walk->id);
-	;
-    break;}
-case 3:
-#line 177 "ql_y.y"
-{
+	}
+    break;
+
+  case 4:
+#line 180 "ql_y.y"
+    {
 	    to_c("#%s\n",yyvsp[-1].str);
 	    to_test("#%s\n",yyvsp[-1].str);
 	    if (dump) to_dump("#%s\n",yyvsp[-1].str);
-	;
-    break;}
-case 6:
-#line 190 "ql_y.y"
-{
+	}
+    break;
+
+  case 7:
+#line 193 "ql_y.y"
+    {
 	    STRUCTURE *n;
 
 	    n = alloc_t(STRUCTURE);
@@ -907,23 +1236,26 @@
 	    n->instances = 0;
 	    n->next = structures;
 	    structures = n;
-	;
-    break;}
-case 7:
-#line 203 "ql_y.y"
-{
+	}
+    break;
+
+  case 8:
+#line 206 "ql_y.y"
+    {
 	    abort_id = NULL;
-	;
-    break;}
-case 8:
-#line 207 "ql_y.y"
-{
+	}
+    break;
+
+  case 9:
+#line 210 "ql_y.y"
+    {
 	    yyval.field = yyvsp[0].field;
-	;
-    break;}
-case 9:
-#line 214 "ql_y.y"
-{
+	}
+    break;
+
+  case 10:
+#line 217 "ql_y.y"
+    {
 	    STRUCTURE *walk;
 
 	    for (walk = structures; walk; walk = walk->next)
@@ -939,38 +1271,43 @@
 	    yyval.field->my_block = copy_block(walk->block);
 	    yyval.field->next = NULL;
 	    abort_id = NULL;
-	;
-    break;}
-case 10:
-#line 232 "ql_y.y"
-{
+	}
+    break;
+
+  case 11:
+#line 235 "ql_y.y"
+    {
 	    yyval.field = yyvsp[-1].field;
 	    abort_id = NULL;
-	;
-    break;}
-case 11:
-#line 237 "ql_y.y"
-{
+	}
+    break;
+
+  case 12:
+#line 240 "ql_y.y"
+    {
 	    yyval.field = NULL;
 	    abort_id = yyvsp[0].str;
-	;
-    break;}
-case 12:
-#line 244 "ql_y.y"
-{
+	}
+    break;
+
+  case 13:
+#line 247 "ql_y.y"
+    {
 	    yyval.field = NULL;
-	;
-    break;}
-case 13:
-#line 248 "ql_y.y"
-{
+	}
+    break;
+
+  case 14:
+#line 251 "ql_y.y"
+    {
 	    yyval.field = yyvsp[-1].field;
 	    yyvsp[-1].field->next = yyvsp[0].field;
-	;
-    break;}
-case 14:
-#line 256 "ql_y.y"
-{
+	}
+    break;
+
+  case 15:
+#line 259 "ql_y.y"
+    {
 	    TAG *walk;
 
 	    yyval.field = yyvsp[0].field;
@@ -989,23 +1326,26 @@
 			  "selections");
 	    if (*yyval.field->id != '_' && yyval.field->value && yyval.field->value->type == vt_multi)
 		yyerror("multi selectors must be unnamed");
-	;
-    break;}
-case 15:
-#line 279 "ql_y.y"
-{
+	}
+    break;
+
+  case 16:
+#line 282 "ql_y.y"
+    {
 	    yyval.num = 0;
-	;
-    break;}
-case 16:
-#line 283 "ql_y.y"
-{
+	}
+    break;
+
+  case 17:
+#line 286 "ql_y.y"
+    {
 	    yyval.num = 1;
-	;
-    break;}
-case 17:
-#line 290 "ql_y.y"
-{
+	}
+    break;
+
+  case 18:
+#line 293 "ql_y.y"
+    {
 	    yyval.field = alloc_t(FIELD);
 	    yyval.field->size = yyvsp[-1].num;
 	    yyval.field->var_len = -2; /* hack */
@@ -1015,140 +1355,159 @@
 	    yyval.field->value = NULL;
 	    yyval.field->structure = NULL;
 	    yyval.field->next = NULL;
-	;
-    break;}
-case 18:
-#line 302 "ql_y.y"
-{
+	}
+    break;
+
+  case 19:
+#line 305 "ql_y.y"
+    {
 	    yyval.field = alloc_t(FIELD);
 	    yyval.field->size = yyvsp[-4].num;
 	    yyval.field->var_len = -1;
 	    yyval.field->pos = yyvsp[-3].num;
 	    yyval.field->flush = !yyvsp[-2].num;
-	    if (yyval.field->pos == -1)
+	    if (yyval.field->pos == -1) {
 		if (yyval.field->size & 7)
 		    yyerror("position required for small fields");
 		else yyval.field->pos = 0;
+	    }
 	    yyval.field->value = yyvsp[0].value;
 	    yyval.field->structure = NULL;
 	    yyval.field->next = NULL;
-	;
-    break;}
-case 19:
-#line 319 "ql_y.y"
-{
-	    yyval.num = -1;
-	;
-    break;}
-case 20:
+	}
+    break;
+
+  case 20:
 #line 323 "ql_y.y"
-{
+    {
+	    yyval.num = -1;
+	}
+    break;
+
+  case 21:
+#line 327 "ql_y.y"
+    {
 	    yyval.num = yyvsp[0].num-1;
 	    if (yyval.num < 0 || yyval.num > 7) yyerror("invalid position");
-	;
-    break;}
-case 21:
-#line 331 "ql_y.y"
-{
+	}
+    break;
+
+  case 22:
+#line 335 "ql_y.y"
+    {
 	    char *end;
 
 	    yyval.num = strtoul(yyvsp[0].str,&end,10);
 	    if (*end) yyerror("no a decimal number");
-	;
-    break;}
-case 22:
-#line 340 "ql_y.y"
-{
-	    yyval.num = 0;
-	;
-    break;}
-case 23:
+	}
+    break;
+
+  case 23:
 #line 344 "ql_y.y"
-{
+    {
+	    yyval.num = 0;
+	}
+    break;
+
+  case 24:
+#line 348 "ql_y.y"
+    {
 	    if (strcmp(yyvsp[0].str,"more")) yyerror("\"more\" expected");
 	    yyval.num = 1;
-	;
-    break;}
-case 24:
-#line 351 "ql_y.y"
-{
-	    yyval.value = NULL;
-	;
-    break;}
-case 25:
+	}
+    break;
+
+  case 25:
 #line 355 "ql_y.y"
-{
+    {
+	    yyval.value = NULL;
+	}
+    break;
+
+  case 26:
+#line 359 "ql_y.y"
+    {
 	    yyval.value = yyvsp[0].value;
-	;
-    break;}
-case 26:
-#line 362 "ql_y.y"
-{
+	}
+    break;
+
+  case 27:
+#line 366 "ql_y.y"
+    {
 	    yyval.value = alloc_t(VALUE);
 	    yyval.value->type = vt_id;
 	    yyval.value->id = yyvsp[0].str;
-	;
-    break;}
-case 27:
-#line 368 "ql_y.y"
-{
+	}
+    break;
+
+  case 28:
+#line 372 "ql_y.y"
+    {
 	    yyval.value = alloc_t(VALUE);
 	    yyval.value->type = vt_case;
 	    yyval.value->id = NULL;
 	    yyval.value->tags = yyvsp[-1].tag;
-	;
-    break;}
-case 28:
-#line 375 "ql_y.y"
-{
+	}
+    break;
+
+  case 29:
+#line 379 "ql_y.y"
+    {
 	    yyval.value = alloc_t(VALUE);
 	    yyval.value->type = vt_multi;
 	    yyval.value->tags = yyvsp[-1].tag;
-	;
-    break;}
-case 29:
-#line 381 "ql_y.y"
-{
+	}
+    break;
+
+  case 30:
+#line 385 "ql_y.y"
+    {
 	    yyval.value = alloc_t(VALUE);
 	    yyval.value->type = vt_length;
 	    yyval.value->recovery = yyvsp[-2].str;
 	    yyval.value->block = yyvsp[0].field;
 	    yyval.value->abort_id = abort_id;
-	;
-    break;}
-case 30:
-#line 391 "ql_y.y"
-{
-	    yyval.str = NULL;
-	;
-    break;}
-case 31:
+	}
+    break;
+
+  case 31:
 #line 395 "ql_y.y"
-{
+    {
+	    yyval.str = NULL;
+	}
+    break;
+
+  case 32:
+#line 399 "ql_y.y"
+    {
 	    yyval.str = yyvsp[0].str;
-	;
-    break;}
-case 32:
-#line 401 "ql_y.y"
-{
-	    yyval.nlist = NULL;
-	;
-    break;}
-case 33:
+	}
+    break;
+
+  case 33:
 #line 405 "ql_y.y"
-{
+    {
+	    yyval.nlist = NULL;
+	}
+    break;
+
+  case 34:
+#line 409 "ql_y.y"
+    {
 	    yyval.nlist = get_name_list(yyvsp[0].str);
-	;
-    break;}
-case 34:
-#line 411 "ql_y.y"
-{
-	    yyval.tag = NULL;
-	;
-    break;}
-case 35:
+	}
+    break;
+
+  case 35:
 #line 415 "ql_y.y"
-{
+    {
+	    yyval.tag = NULL;
+	}
+    break;
+
+  case 36:
+#line 419 "ql_y.y"
+    {
 	    yyval.tag = alloc_t(TAG);
 	    yyval.tag->deflt = 1;
 	    if (yyvsp[-2].str) {
@@ -1163,18 +1522,20 @@
 	    yyval.tag->block = yyvsp[0].field;
 	    yyval.tag->next = NULL;
 	    yyval.tag->abort_id = abort_id;
-	;
-    break;}
-case 36:
-#line 432 "ql_y.y"
-{
+	}
+    break;
+
+  case 37:
+#line 436 "ql_y.y"
+    {
 	    yyval.tag = alloc_t(TAG);
 	    yyval.tag->abort_id = abort_id;
-	;
-    break;}
-case 37:
-#line 437 "ql_y.y"
-{
+	}
+    break;
+
+  case 38:
+#line 441 "ql_y.y"
+    {
 	    yyval.tag = yyvsp[-1].tag;
 	    yyval.tag->deflt = 0;
 	    if (yyvsp[-4].str) {
@@ -1188,17 +1549,19 @@
 	    yyval.tag->more = yyvsp[-3].list;
 	    yyval.tag->block = yyvsp[-2].field;
 	    yyval.tag->next = yyvsp[0].tag;
-	;
-    break;}
-case 38:
-#line 455 "ql_y.y"
-{
-	    yyval.tag = NULL;
-	;
-    break;}
-case 39:
+	}
+    break;
+
+  case 39:
 #line 459 "ql_y.y"
-{
+    {
+	    yyval.tag = NULL;
+	}
+    break;
+
+  case 40:
+#line 463 "ql_y.y"
+    {
 	    yyval.tag = alloc_t(TAG);
 	    yyval.tag->deflt = 1;
 	    if (yyvsp[-2].str) {
@@ -1212,18 +1575,20 @@
 	    yyval.tag->more = yyvsp[-1].list;
 	    yyval.tag->block = yyvsp[0].field;
 	    yyval.tag->next = NULL;
-	;
-    break;}
-case 40:
-#line 475 "ql_y.y"
-{
+	}
+    break;
+
+  case 41:
+#line 479 "ql_y.y"
+    {
 	    yyval.tag = alloc_t(TAG);
 	    yyval.tag->abort_id = abort_id;
-	;
-    break;}
-case 41:
-#line 480 "ql_y.y"
-{
+	}
+    break;
+
+  case 42:
+#line 484 "ql_y.y"
+    {
 	    yyval.tag = yyvsp[-1].tag;
 	    yyval.tag->deflt = 0;
 	    if (yyvsp[-4].str) {
@@ -1237,254 +1602,266 @@
 	    yyval.tag->more = yyvsp[-3].list;
 	    yyval.tag->block = yyvsp[-2].field;
 	    yyval.tag->next = yyvsp[0].tag;
-	;
-    break;}
-case 42:
-#line 498 "ql_y.y"
-{
-	    yyval.str = NULL;
-	;
-    break;}
-case 43:
+	}
+    break;
+
+  case 43:
 #line 502 "ql_y.y"
-{
+    {
+	    yyval.str = NULL;
+	}
+    break;
+
+  case 44:
+#line 506 "ql_y.y"
+    {
 	    yyval.str = yyvsp[0].str;
-	;
-    break;}
-case 44:
-#line 508 "ql_y.y"
-{
-	    yyval.list = NULL;
-	;
-    break;}
-case 45:
+	}
+    break;
+
+  case 45:
 #line 512 "ql_y.y"
-{
+    {
+	    yyval.list = NULL;
+	}
+    break;
+
+  case 46:
+#line 516 "ql_y.y"
+    {
 	    yyval.list = alloc_t(VALUE_LIST);
 	    yyval.list->value = yyvsp[-1].str;
 	    yyval.list->next = yyvsp[0].list;
-	;
-    break;}
-}
-   /* the action file gets copied in in place of this dollarsign */
-#line 543 "/usr/lib/bison.simple"
+	}
+    break;
+
+
+    }
+
+/* Line 1010 of yacc.c.  */
+#line 1643 "y.tab.c"
 
   yyvsp -= yylen;
   yyssp -= yylen;
-#ifdef YYLSP_NEEDED
-  yylsp -= yylen;
-#endif
 
-#if YYDEBUG != 0
-  if (yydebug)
-    {
-      short *ssp1 = yyss - 1;
-      fprintf (stderr, "state stack now");
-      while (ssp1 != yyssp)
-	fprintf (stderr, " %d", *++ssp1);
-      fprintf (stderr, "\n");
-    }
-#endif
+
+  YY_STACK_PRINT (yyss, yyssp);
 
   *++yyvsp = yyval;
 
-#ifdef YYLSP_NEEDED
-  yylsp++;
-  if (yylen == 0)
-    {
-      yylsp->first_line = yylloc.first_line;
-      yylsp->first_column = yylloc.first_column;
-      yylsp->last_line = (yylsp-1)->last_line;
-      yylsp->last_column = (yylsp-1)->last_column;
-      yylsp->text = 0;
-    }
-  else
-    {
-      yylsp->last_line = (yylsp+yylen-1)->last_line;
-      yylsp->last_column = (yylsp+yylen-1)->last_column;
-    }
-#endif
 
-  /* Now "shift" the result of the reduction.
-     Determine what state that goes to,
-     based on the state we popped back to
-     and the rule number reduced by.  */
+  /* Now `shift' the result of the reduction.  Determine what state
+     that goes to, based on the state we popped back to and the rule
+     number reduced by.  */
 
   yyn = yyr1[yyn];
 
-  yystate = yypgoto[yyn - YYNTBASE] + *yyssp;
-  if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp)
+  yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
+  if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
     yystate = yytable[yystate];
   else
-    yystate = yydefgoto[yyn - YYNTBASE];
+    yystate = yydefgoto[yyn - YYNTOKENS];
 
   goto yynewstate;
 
-yyerrlab:   /* here on detecting error */
 
-  if (! yyerrstatus)
-    /* If not already recovering from an error, report this error.  */
+/*------------------------------------.
+| yyerrlab -- here on detecting error |
+`------------------------------------*/
+yyerrlab:
+  /* If not already recovering from an error, report this error.  */
+  if (!yyerrstatus)
     {
       ++yynerrs;
-
-#ifdef YYERROR_VERBOSE
+#if YYERROR_VERBOSE
       yyn = yypact[yystate];
 
-      if (yyn > YYFLAG && yyn < YYLAST)
+      if (YYPACT_NINF < yyn && yyn < YYLAST)
 	{
-	  int size = 0;
-	  char *msg;
-	  int x, count;
-
-	  count = 0;
-	  /* Start X at -yyn if nec to avoid negative indexes in yycheck.  */
-	  for (x = (yyn < 0 ? -yyn : 0);
-	       x < (sizeof(yytname) / sizeof(char *)); x++)
-	    if (yycheck[x + yyn] == x)
-	      size += strlen(yytname[x]) + 15, count++;
-	  msg = (char *) malloc(size + 15);
-	  if (msg != 0)
+	  YYSIZE_T yysize = 0;
+	  int yytype = YYTRANSLATE (yychar);
+	  const char* yyprefix;
+	  char *yymsg;
+	  int yyx;
+
+	  /* Start YYX at -YYN if negative to avoid negative indexes in
+	     YYCHECK.  */
+	  int yyxbegin = yyn < 0 ? -yyn : 0;
+
+	  /* Stay within bounds of both yycheck and yytname.  */
+	  int yychecklim = YYLAST - yyn;
+	  int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
+	  int yycount = 0;
+
+	  yyprefix = ", expecting ";
+	  for (yyx = yyxbegin; yyx < yyxend; ++yyx)
+	    if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
+	      {
+		yysize += yystrlen (yyprefix) + yystrlen (yytname [yyx]);
+		yycount += 1;
+		if (yycount == 5)
+		  {
+		    yysize = 0;
+		    break;
+		  }
+	      }
+	  yysize += (sizeof ("syntax error, unexpected ")
+		     + yystrlen (yytname[yytype]));
+	  yymsg = (char *) YYSTACK_ALLOC (yysize);
+	  if (yymsg != 0)
 	    {
-	      strcpy(msg, "parse error");
+	      char *yyp = yystpcpy (yymsg, "syntax error, unexpected ");
+	      yyp = yystpcpy (yyp, yytname[yytype]);
 
-	      if (count < 5)
+	      if (yycount < 5)
 		{
-		  count = 0;
-		  for (x = (yyn < 0 ? -yyn : 0);
-		       x < (sizeof(yytname) / sizeof(char *)); x++)
-		    if (yycheck[x + yyn] == x)
+		  yyprefix = ", expecting ";
+		  for (yyx = yyxbegin; yyx < yyxend; ++yyx)
+		    if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
 		      {
-			strcat(msg, count == 0 ? ", expecting `" : " or `");
-			strcat(msg, yytname[x]);
-			strcat(msg, "'");
-			count++;
+			yyp = yystpcpy (yyp, yyprefix);
+			yyp = yystpcpy (yyp, yytname[yyx]);
+			yyprefix = " or ";
 		      }
 		}
-	      yyerror(msg);
-	      free(msg);
+	      yyerror (yymsg);
+	      YYSTACK_FREE (yymsg);
 	    }
 	  else
-	    yyerror ("parse error; also virtual memory exceeded");
+	    yyerror ("syntax error; also virtual memory exhausted");
 	}
       else
 #endif /* YYERROR_VERBOSE */
-	yyerror("parse error");
+	yyerror ("syntax error");
     }
 
-  goto yyerrlab1;
-yyerrlab1:   /* here on error raised explicitly by an action */
+
 
   if (yyerrstatus == 3)
     {
-      /* if just tried and failed to reuse lookahead token after an error, discard it.  */
+      /* If just tried and failed to reuse lookahead token after an
+	 error, discard it.  */
 
-      /* return failure if at end of input */
-      if (yychar == YYEOF)
-	YYABORT;
-
-#if YYDEBUG != 0
-      if (yydebug)
-	fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]);
-#endif
+      if (yychar <= YYEOF)
+        {
+          /* If at end of input, pop the error token,
+	     then the rest of the stack, then return failure.  */
+	  if (yychar == YYEOF)
+	     for (;;)
+	       {
+		 YYPOPSTACK;
+		 if (yyssp == yyss)
+		   YYABORT;
+		 YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp);
+		 yydestruct (yystos[*yyssp], yyvsp);
+	       }
+        }
+      else
+	{
+	  YYDSYMPRINTF ("Error: discarding", yytoken, &yylval, &yylloc);
+	  yydestruct (yytoken, &yylval);
+	  yychar = YYEMPTY;
 
-      yychar = YYEMPTY;
+	}
     }
 
-  /* Else will try to reuse lookahead token
-     after shifting the error token.  */
-
-  yyerrstatus = 3;		/* Each real token shifted decrements this */
+  /* Else will try to reuse lookahead token after shifting the error
+     token.  */
+  goto yyerrlab1;
 
-  goto yyerrhandle;
 
-yyerrdefault:  /* current state does not do anything special for the error token. */
+/*---------------------------------------------------.
+| yyerrorlab -- error raised explicitly by YYERROR.  |
+`---------------------------------------------------*/
+yyerrorlab:
 
-#if 0
-  /* This is wrong; only states that explicitly want error tokens
-     should shift them.  */
-  yyn = yydefact[yystate];  /* If its default is to accept any token, ok.  Otherwise pop it.*/
-  if (yyn) goto yydefault;
+#ifdef __GNUC__
+  /* Pacify GCC when the user code never invokes YYERROR and the label
+     yyerrorlab therefore never appears in user code.  */
+  if (0)
+     goto yyerrorlab;
 #endif
 
-yyerrpop:   /* pop the current state because it cannot handle the error token */
-
-  if (yyssp == yyss) YYABORT;
-  yyvsp--;
-  yystate = *--yyssp;
-#ifdef YYLSP_NEEDED
-  yylsp--;
-#endif
+  yyvsp -= yylen;
+  yyssp -= yylen;
+  yystate = *yyssp;
+  goto yyerrlab1;
 
-#if YYDEBUG != 0
-  if (yydebug)
-    {
-      short *ssp1 = yyss - 1;
-      fprintf (stderr, "Error: state stack now");
-      while (ssp1 != yyssp)
-	fprintf (stderr, " %d", *++ssp1);
-      fprintf (stderr, "\n");
-    }
-#endif
 
-yyerrhandle:
+/*-------------------------------------------------------------.
+| yyerrlab1 -- common code for both syntax error and YYERROR.  |
+`-------------------------------------------------------------*/
+yyerrlab1:
+  yyerrstatus = 3;	/* Each real token shifted decrements this.  */
 
-  yyn = yypact[yystate];
-  if (yyn == YYFLAG)
-    goto yyerrdefault;
+  for (;;)
+    {
+      yyn = yypact[yystate];
+      if (yyn != YYPACT_NINF)
+	{
+	  yyn += YYTERROR;
+	  if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
+	    {
+	      yyn = yytable[yyn];
+	      if (0 < yyn)
+		break;
+	    }
+	}
 
-  yyn += YYTERROR;
-  if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR)
-    goto yyerrdefault;
+      /* Pop the current state because it cannot handle the error token.  */
+      if (yyssp == yyss)
+	YYABORT;
 
-  yyn = yytable[yyn];
-  if (yyn < 0)
-    {
-      if (yyn == YYFLAG)
-	goto yyerrpop;
-      yyn = -yyn;
-      goto yyreduce;
+      YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp);
+      yydestruct (yystos[yystate], yyvsp);
+      YYPOPSTACK;
+      yystate = *yyssp;
+      YY_STACK_PRINT (yyss, yyssp);
     }
-  else if (yyn == 0)
-    goto yyerrpop;
 
   if (yyn == YYFINAL)
     YYACCEPT;
 
-#if YYDEBUG != 0
-  if (yydebug)
-    fprintf(stderr, "Shifting error token, ");
-#endif
+  YYDPRINTF ((stderr, "Shifting error token, "));
 
   *++yyvsp = yylval;
-#ifdef YYLSP_NEEDED
-  *++yylsp = yylloc;
-#endif
+
 
   yystate = yyn;
   goto yynewstate;
 
- yyacceptlab:
-  /* YYACCEPT comes here.  */
-  if (yyfree_stacks)
-    {
-      free (yyss);
-      free (yyvs);
-#ifdef YYLSP_NEEDED
-      free (yyls);
-#endif
-    }
-  return 0;
 
- yyabortlab:
-  /* YYABORT comes here.  */
-  if (yyfree_stacks)
-    {
-      free (yyss);
-      free (yyvs);
-#ifdef YYLSP_NEEDED
-      free (yyls);
+/*-------------------------------------.
+| yyacceptlab -- YYACCEPT comes here.  |
+`-------------------------------------*/
+yyacceptlab:
+  yyresult = 0;
+  goto yyreturn;
+
+/*-----------------------------------.
+| yyabortlab -- YYABORT comes here.  |
+`-----------------------------------*/
+yyabortlab:
+  yyresult = 1;
+  goto yyreturn;
+
+#ifndef yyoverflow
+/*----------------------------------------------.
+| yyoverflowlab -- parser overflow comes here.  |
+`----------------------------------------------*/
+yyoverflowlab:
+  yyerror ("parser stack overflow");
+  yyresult = 2;
+  /* Fall through.  */
+#endif
+
+yyreturn:
+#ifndef yyoverflow
+  if (yyss != yyssa)
+    YYSTACK_FREE (yyss);
 #endif
-    }
-  return 1;
+  return yyresult;
 }
-#line 518 "ql_y.y"
+
+
+
Index: linux-atm-2.4.1/src/qgen/ql_y.y
===================================================================
--- linux-atm-2.4.1.orig/src/qgen/ql_y.y	2007-06-04 13:23:53.999524720 +0200
+++ linux-atm-2.4.1/src/qgen/ql_y.y	2007-06-04 13:23:54.488450392 +0200
@@ -17,6 +17,8 @@
 #include "qgen.h"
 #include "file.h"
 
+extern void yyerror(const char *s);
+
 
 #define MAX_TOKEN 256
 #define DEFAULT_NAMELIST_FILE "default.nl"
@@ -58,9 +60,10 @@
 	for (walk = strchr(start,0)-1; walk > start && isspace(*walk); walk--)
 	    *walk = 0;
 	if (*start == ':') {
-	    if (!(searching = strcmp(start+1,name)))
+	    if (!(searching = strcmp(start+1,name))) {
 		if (found) yyerror("multiple entries");
 		else found = 1;
+	    }
 	    continue;
 	}
 	if (searching) continue;
@@ -305,10 +308,11 @@
 	    $$->var_len = -1;
 	    $$->pos = $2;
 	    $$->flush = !$3;
-	    if ($$->pos == -1)
+	    if ($$->pos == -1) {
 		if ($$->size & 7)
 		    yyerror("position required for small fields");
 		else $$->pos = 0;
+	    }
 	    $$->value = $5;
 	    $$->structure = NULL;
 	    $$->next = NULL;
Index: linux-atm-2.4.1/src/qgen/ql_l.l
===================================================================
--- linux-atm-2.4.1.orig/src/qgen/ql_l.l	2007-06-04 13:23:54.005523808 +0200
+++ linux-atm-2.4.1/src/qgen/ql_l.l	2007-06-04 13:23:54.489450240 +0200
@@ -68,7 +68,7 @@
 
 %%
 
-void yyerror(char *s)
+void yyerror(const char *s)
 {
     fprintf(stderr,"line %d: %s near \"%s\"\n",lineno,s,yytext);
     exit(1);
Index: linux-atm-2.4.1/src/qgen/qlib.c
===================================================================
--- linux-atm-2.4.1.orig/src/qgen/qlib.c	2007-06-04 13:23:54.010523048 +0200
+++ linux-atm-2.4.1/src/qgen/qlib.c	2007-06-04 13:23:54.489450240 +0200
@@ -26,14 +26,14 @@
 #include "op.h"
 
 
-static int debug = 0;
+static int q_debug = 0;
 
 
 void PREFIX(report)(int severity,const char *msg,...)
 {
     va_list ap;
 
-    if (!debug && severity > Q_ERROR) return;
+    if (!q_debug && severity > Q_ERROR) return;
     va_start(ap,msg);
     vprintf(msg,ap);
     printf("\n");
@@ -836,7 +836,7 @@
     Q_DSC dsc;
     int len,c;
 
-    debug = argc != 1;
+    q_debug = argc != 1;
     len = 0;
     while (scanf("%x",&c) == 1) msg[len++] = c;
     qd_start();
Index: linux-atm-2.4.1/src/qgen/qlib.h
===================================================================
--- linux-atm-2.4.1.orig/src/qgen/qlib.h	2007-06-04 13:23:54.016522136 +0200
+++ linux-atm-2.4.1/src/qgen/qlib.h	2007-06-04 13:23:54.489450240 +0200
@@ -23,7 +23,9 @@
 #define Q_FATAL		-1
 
 
+#ifndef DUMP_MODE
 extern int q_dump;
+#endif
 extern void q_report(int severity,const char *msg,...);
 
 #ifdef DUMP_MODE
Index: linux-atm-2.4.1/src/qgen/ql_y.h
===================================================================
--- linux-atm-2.4.1.orig/src/qgen/ql_y.h	2007-06-04 13:23:54.021521376 +0200
+++ linux-atm-2.4.1/src/qgen/ql_y.h	2007-06-04 13:23:54.490450088 +0200
@@ -1,4 +1,65 @@
-typedef union {
+/* A Bison parser, made by GNU Bison 1.875d.  */
+
+/* Skeleton parser for Yacc-like parsing with Bison,
+   Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004 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., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+/* As a special exception, when this file is copied by Bison into a
+   Bison output file, you may use that output file without restriction.
+   This special exception was added by the Free Software Foundation
+   in version 1.24 of Bison.  */
+
+/* Tokens.  */
+#ifndef YYTOKENTYPE
+# define YYTOKENTYPE
+   /* Put the tokens into the symbol table, so that GDB and other debuggers
+      know about them.  */
+   enum yytokentype {
+     TOK_BREAK = 258,
+     TOK_CASE = 259,
+     TOK_DEF = 260,
+     TOK_DEFAULT = 261,
+     TOK_LENGTH = 262,
+     TOK_MULTI = 263,
+     TOK_RECOVER = 264,
+     TOK_ABORT = 265,
+     TOK_ID = 266,
+     TOK_INCLUDE = 267,
+     TOK_STRING = 268
+   };
+#endif
+#define TOK_BREAK 258
+#define TOK_CASE 259
+#define TOK_DEF 260
+#define TOK_DEFAULT 261
+#define TOK_LENGTH 262
+#define TOK_MULTI 263
+#define TOK_RECOVER 264
+#define TOK_ABORT 265
+#define TOK_ID 266
+#define TOK_INCLUDE 267
+#define TOK_STRING 268
+
+
+
+
+#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
+#line 142 "ql_y.y"
+typedef union YYSTYPE {
     const char *str;
     int num;
     FIELD *field;
@@ -7,17 +68,14 @@
     TAG *tag;
     NAME_LIST *nlist;
 } YYSTYPE;
-#define	TOK_BREAK	257
-#define	TOK_CASE	258
-#define	TOK_DEF	259
-#define	TOK_DEFAULT	260
-#define	TOK_LENGTH	261
-#define	TOK_MULTI	262
-#define	TOK_RECOVER	263
-#define	TOK_ABORT	264
-#define	TOK_ID	265
-#define	TOK_INCLUDE	266
-#define	TOK_STRING	267
-
+/* Line 1285 of yacc.c.  */
+#line 73 "y.tab.h"
+# define yystype YYSTYPE /* obsolescent; will be withdrawn */
+# define YYSTYPE_IS_DECLARED 1
+# define YYSTYPE_IS_TRIVIAL 1
+#endif
 
 extern YYSTYPE yylval;
+
+
+
Index: linux-atm-2.4.1/src/qgen/incl.pl
===================================================================
--- linux-atm-2.4.1.orig/src/qgen/incl.pl	2007-06-04 13:23:54.027520464 +0200
+++ linux-atm-2.4.1/src/qgen/incl.pl	2007-06-04 13:23:54.490450088 +0200
@@ -24,7 +24,7 @@
 }
 die "no include file specified" unless defined $last;
 for (@STD,@USR) {
-    next unless defined stat $_."/".$last;
+    next unless -e "$_/$last";
     print $_."/".$last."\n" || die "print STDOUT: $!";
     exit 0;
 }
Index: linux-atm-2.4.1/src/qgen/msg.fmt
===================================================================
--- linux-atm-2.4.1.orig/src/qgen/msg.fmt	2007-06-04 13:23:54.034519400 +0200
+++ linux-atm-2.4.1/src/qgen/msg.fmt	2007-06-04 13:23:54.490450088 +0200
@@ -53,7 +53,7 @@
     ATM_TD_FW_PCR_0	{ p##fw_pcr_0 <24> } \
     ATM_TD_BW_PCR_0	{ p##bw_pcr_0 <24> } \
     ATM_TD_FW_PCR_01	{ p##fw_pcr_01 <24> } \
-    ATM_TD_BW_PCR_01	{ p##bw_pcr_01 <24> } \
+    ATM_TD_BW_PCR_01	{ p##bw_pcr_01 <24> } 
 
 #define TRAFFIC_DESCRIPTOR_VBR(p) \
     ATM_TD_FW_SCR_0	{ p##fw_scr_0 <24> } \
@@ -63,15 +63,15 @@
     ATM_TD_FW_MBS_0	{ p##fw_mbs_0 <24> } \
     ATM_TD_BW_MBS_0	{ p##bw_mbs_0 <24> } \
     ATM_TD_FW_MBS_01	{ p##fw_mbs_01 <24> } \
-    ATM_TD_BW_MBS_01	{ p##bw_mbs_01 <24> } \
+    ATM_TD_BW_MBS_01	{ p##bw_mbs_01 <24> } 
 
 #define TRAFFIC_DESCRIPTOR_BE(p) \
-    ATM_TD_BEST_EFFORT	{ p##best_effort <0> } \
+    ATM_TD_BEST_EFFORT	{ p##best_effort <0> } 
 
 #if defined(UNI40) || defined(DYNAMIC_UNI)
 #define TRAFFIC_DESCRIPTOR_ABR(p) \
     ATM_TD_FW_MCR_01	{ p##fw_mcr_01 <24> } \
-    ATM_TD_BW_MCR_01	{ p##bw_mcr_01 <24> } \
+    ATM_TD_BW_MCR_01	{ p##bw_mcr_01 <24> } 
 
 #else
 #define TRAFFIC_DESCRIPTOR_ABR(p)  /* not yet */
Index: linux-atm-2.4.1/src/qgen/output
===================================================================
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
+++ linux-atm-2.4.1/src/qgen/output	2007-06-04 13:23:54.491449936 +0200
@@ -0,0 +1,704 @@
+# 1 "<stdin>"
+# 1 "<built-in>"
+# 1 "<command line>"
+# 1 "<stdin>"
+
+
+
+
+
+# 1 "../../config.h" 1
+# 7 "<stdin>" 2
+
+
+
+
+include "atmsap.h"
+include "uni.h"
+# 26 "<stdin>"
+def ie_aal = {
+    _ext <1@8,more> = 1 _cs "q2931_cs" <2@6,more> = Q2931_CS_ITU _flag "atm_flag" <1@5,more> = ATM_FLAG_NO _action_ind "atm_ai_ie" <3@1> = 0 _ie_len <16> = recover RECOV_IND_IE length {
+ aal_type <8> = case {
+     5 {
+  _id "atm_aalp" <8> = multi {
+      ATM_AALP_FW_MAX_SDU {
+   fw_max_sdu <16>
+      }
+      ATM_AALP_BW_MAX_SDU {
+   bw_max_sdu <16>
+      }
+
+      ATM_AALP_AAL_MODE {
+   aal_mode <8> # UNI 3.0 only
+      }
+
+      ATM_AALP_SSCS {
+   sscs_type <8>
+      }
+  }
+     }
+ }
+    }
+}
+# 90 "<stdin>"
+def ie_td = { # UNI 3.0 calls this "User Cell Rate"
+    _ext <1@8,more> = 1 _cs "q2931_cs" <2@6,more> = Q2931_CS_ITU _flag "atm_flag" <1@5,more> = ATM_FLAG_NO _action_ind "atm_ai_ie" <3@1> = 0 _ie_len <16> = recover RECOV_IND_IE length {
+ _id "atm_td" <8> = multi {
+     ATM_TD_FW_PCR_0 { _dummy <0> = length {}fw_pcr_0 <24> } ATM_TD_BW_PCR_0 { _dummy <0> = length {}bw_pcr_0 <24> } ATM_TD_FW_PCR_01 { _dummy <0> = length {}fw_pcr_01 <24> } ATM_TD_BW_PCR_01 { _dummy <0> = length {}bw_pcr_01 <24> } ATM_TD_FW_SCR_0 { _dummy <0> = length {}fw_scr_0 <24> } ATM_TD_BW_SCR_0 { _dummy <0> = length {}bw_scr_0 <24> } ATM_TD_FW_SCR_01 { _dummy <0> = length {}fw_scr_01 <24> } ATM_TD_BW_SCR_01 { _dummy <0> = length {}bw_scr_01 <24> } ATM_TD_FW_MBS_0 { _dummy <0> = length {}fw_mbs_0 <24> } ATM_TD_BW_MBS_0 { _dummy <0> = length {}bw_mbs_0 <24> } ATM_TD_FW_MBS_01 { _dummy <0> = length {}fw_mbs_01 <24> } ATM_TD_BW_MBS_01 { _dummy <0> = length {}bw_mbs_01 <24> } ATM_TD_BEST_EFFORT { _dummy <0> = length {}best_effort <0> }
+# 104 "<stdin>"
+     ATM_TD_TM_OPT { # @@@ should this also go into the TD macro ?
+
+  fw_fdisc "atm_fd" <1@8,more> = ATM_FD_NO
+  bw_fdisc "atm_fd" <1@7,more> = ATM_FD_NO
+
+  bw_tag "atm_tag" <1@2,more> = ATM_TAG_NO
+  fw_tag "atm_tag" <1@1> = ATM_TAG_NO
+     }
+ }
+    }
+}
+
+
+def ie_bbcap = {
+    _ext <1@8,more> = 1 _cs "q2931_cs" <2@6,more> = Q2931_CS_ITU _flag "atm_flag" <1@5,more> = ATM_FLAG_NO _action_ind "atm_ai_ie" <3@1> = 0 _ie_len <16> = recover RECOV_IND_IE length {
+ bearer_class "atm_bc" <5@1,more>
+ _ext <1@8> = case {
+     0 {
+  _ext <1@8,more> = 1
+  trans_cap "atm_tc" <7@1>
+     }
+     default 1 {}
+ }
+ _ext <1@8,more> = 1
+ susc_clip "atm_stc" <2@6,more> = ATM_STC_NO
+ upcc "atm_upcc" <2@1> = ATM_UPCC_P2P
+    }
+}
+
+
+def ie_bhli = {
+    _ext <1@8,more> = 1 _cs "q2931_cs" <2@6,more> = Q2931_CS_ITU _flag "atm_flag" <1@5,more> = ATM_FLAG_NO _action_ind "atm_ai_ie" <3@1> = 0 _ie_len <16> = recover RECOV_IND_IE length {
+ _ext <1@8,more> = 1
+ hli_type <7@1> = case {
+
+
+     0 { # ISO
+  iso_hli <-64>
+     }
+     1 { # User Specific
+  user_hli <-64>
+     }
+
+     2 { # High layer profile - UNI 3.0 only
+  hlp <32>
+     }
+
+     3 { # Vendor-Specific Application identifier
+  hli_oui <24>
+  app_id <32>
+     }
+
+     4 { # Reference to ITU-T SG 1 B-ISDN Teleservice Recommendation
+  tobedefined <8>
+     }
+
+ }
+    }
+}
+
+
+def ie_blli = {
+    _ext <1@8,more> = 1 _cs "q2931_cs" <2@6,more> = Q2931_CS_ITU _flag "atm_flag" <1@5,more> = ATM_FLAG_NO _action_ind "atm_ai_ie" <3@1> = 0 _ie_len <16> = recover RECOV_IND_IE length {
+ _lid <2@6,more> = multi {
+     1 {
+  _ext <1@8,more> = 1
+  uil1_proto <5@1>
+     }
+     2 {
+  uil2_proto "atm_l2" <5@1,more> = case {
+      ATM_L2_X25_LL,ATM_L2_X25_ML,ATM_L2_HDLC_ARM,
+        ATM_L2_HDLC_NRM,ATM_L2_HDLC_ABM,ATM_L2_Q922,
+        ATM_L2_ISO7776 { # CCITT encoding
+   _ext <1@8> = case {
+       0 {
+    l2_mode "atm_imd" <2@6,more> = ATM_IMD_NORMAL
+    q933 <2@1,more> = 0
+    _ext <1@8> = case {
+        0 {
+     window_size <7@1,more>
+     _ext <1@8> = 1
+        }
+        default 1 {}
+    }
+       }
+       default 1 {}
+   }
+      }
+      ATM_L2_USER { # User specified
+   _ext <1@8> = 0
+   user_l2 <7@1,more>
+   _ext <1@8> = 1
+      }
+      default ATM_L2_ISO1745,ATM_L2_Q291,ATM_L2_LAPB,
+        ATM_L2_ISO8802,ATM_L2_X75 { # No additional data
+   _ext <1@8> = 1
+      }
+  }
+     }
+     3 {
+  uil3_proto "atm_l3" <5@1,more> = case {
+      ATM_L3_X25,ATM_L3_ISO8208,ATM_L3_X223 { # CCITT coding
+   _ext <1@8> = case {
+       0 {
+    l3_mode "atm_imd" <2@6,more> = ATM_IMD_NORMAL
+    _ext <1@8> = case {
+        0 {
+     def_pck_size <4@1,more>
+     _ext <1@8> = case {
+         0 {
+      _ext <1@8> = 1
+      pck_win_size <7@1>
+         }
+         default 1 {}
+     }
+        }
+        default 1 {}
+    }
+       }
+       default 1 {}
+   }
+      }
+
+      ATM_L3_H310 { # ITU-T Rec. H.310
+   _ext <1@8> = case {
+       0 {
+    term_type "atm_tt" <4@1,more> = ATM_TT_RXTX
+    _ext <1@8> = case {
+        0 {
+     _ext <1@8,more> = 1
+     fw_mpx_cap "atm_mc" <3@4,more> =
+       ATM_MC_NONE
+     bw_mpx_cap "atm_mc" <3@1> = ATM_MC_NONE
+        }
+        default 1 {}
+    }
+       }
+       default 1 {}
+   }
+      }
+
+      ATM_L3_TR9577 { # ISO/IEC TR9577
+   _ext <1@8> = case {
+       0 {
+    _ext <1@8,more> = 0
+    ipi_high <7@1> = case {
+        0x40 { # SNAP hack
+     _ext <1@8,more> = 1
+     _ipi_low <1@7> = case { # ugly
+         0 {
+      _ext <1@8,more> = 1
+      _snap_id <2@6> = 0
+      oui <24>
+      pid <16>
+         }
+         default 1 {}
+     }
+        }
+        default 0x0 { # ugly
+     _ext <1@8,more> = 1
+     ipi_low <1@7>
+        }
+    }
+       }
+       default 1 {}
+   }
+      }
+      ATM_L3_USER { # User specified
+   _ext <1@8> = 0
+   user_l3 <7@1,more>
+   _ext <1@8> = 1
+      }
+  }
+     }
+ }
+    }
+}
+
+
+def ie_call_state = {
+    _ext <1@8,more> = 1 _cs "q2931_cs" <2@6,more> = Q2931_CS_ITU _flag "atm_flag" <1@5,more> = ATM_FLAG_NO _action_ind "atm_ai_ie" <3@1> = 0 _ie_len <16> = recover RECOV_IND_IE length {
+ call_state <6@1>
+    }
+}
+
+
+def ie_cdpn = {
+    _ext <1@8,more> = 1 _cs "q2931_cs" <2@6,more> = Q2931_CS_ITU _flag "atm_flag" <1@5,more> = ATM_FLAG_NO _action_ind "atm_ai_ie" <3@1> = 0 _ie_len <16> = recover RECOV_IND_IE length {
+ _ext <1@8,more> = 1
+ _plan "atm_np" <4@1,more> = case {
+     ATM_NP_E164 {
+  _type "atm_ton" <3@5> = ATM_TON_INTRNTNL
+  cdpn_e164 <-96>
+     }
+     ATM_NP_AEA { # ATM Endsystem Address
+  _type "atm_ton" <3@5> = ATM_TON_UNKNOWN
+  cdpn_esa <-160>
+     }
+ }
+    }
+}
+
+
+def ie_cdps = {
+    _ext <1@8,more> = 1 _cs "q2931_cs" <2@6,more> = Q2931_CS_ITU _flag "atm_flag" <1@5,more> = ATM_FLAG_NO _action_ind "atm_ai_ie" <3@1> = 0 _ie_len <16> = recover RECOV_IND_IE length {
+ _ext <1@8,more> = 1
+
+
+
+
+ cdps_type "atm_sat" <3@5,more> = ATM_SAT_AEA
+
+ _oddeven <1@4> = 0
+ cdps <-160>
+    }
+}
+
+
+def ie_cgpn = { # @@@ extend language to allow same trick as for cdpn
+    _ext <1@8,more> = 1 _cs "q2931_cs" <2@6,more> = Q2931_CS_ITU _flag "atm_flag" <1@5,more> = ATM_FLAG_NO _action_ind "atm_ai_ie" <3@1> = 0 _ie_len <16> = recover RECOV_IND_IE length {
+ cgpn_plan "atm_np" <4@1,more>
+ cgpn_type "atm_ton" <3@5,more>
+ _ext <1@8> = case {
+     0 {
+  _ext <1@8,more> = 1
+  pres_ind "atm_prs" <2@6,more> = ATM_PRS_ALLOW
+  scr_ind "atm_scrn" <2@1> = ATM_SCRN_UP_NS
+     }
+     default 1 {}
+ }
+ cgpn <-160>
+    }
+}
+
+
+def ie_cgps = {
+    _ext <1@8,more> = 1 _cs "q2931_cs" <2@6,more> = Q2931_CS_ITU _flag "atm_flag" <1@5,more> = ATM_FLAG_NO _action_ind "atm_ai_ie" <3@1> = 0 _ie_len <16> = recover RECOV_IND_IE length {
+ _ext <1@8,more> = 1
+
+
+
+
+ cgps_type "atm_sat" <3@5,more> = ATM_SAT_AEA
+
+ _oddeven <1@4> = 0
+ cgps <-160>
+    }
+}
+
+
+def ie_cause = {
+    _ext <1@8,more> = 1 cause_cs "q2931_cs" <2@6,more> = Q2931_CS_ITU _flag "atm_flag" <1@5,more> = ATM_FLAG_NO _action_ind "atm_ai_ie" <3@1> = 0 _ie_len <16> = recover RECOV_IND_IE length {
+ _ext <1@8,more> = 1
+ location "atm_loc" <4@1> = ATM_LOC_USER
+ _ext <1@8,more> = 1
+ cause "atm_cv" <7@1> = case {
+     ATM_CV_UNALLOC,ATM_CV_NO_ROUTE_DEST,ATM_CV_QOS_UNAVAIL { # Note 2
+  break
+  _ext <1@8,more> = 1
+  pu "atm_pu" <1@4,more> = ATM_PU_USER
+  na "atm_na" <1@3,more> = ATM_NA_NORMAL
+  cond2 "atm_cond" <2@1> = ATM_COND_UNKNOWN
+     }
+     ATM_CV_CALL_REJ { # Note 3
+  break
+  _ext <1@8,more> = 1
+  cond3 "atm_cond" <2@1,more> = ATM_COND_UNKNOWN
+  reason <5@3> = case {
+      ATM_RSN_USER {
+   user_diag <-216>
+      }
+      ATM_RSN_IE_MISS,ATM_RSN_IE_INSUFF {
+   ie_id3 "atm_ie" <8>
+      }
+  }
+     }
+     ATM_CV_NUM_CHANGED { # Note 4
+  break
+  new_dest <-224> # good luck ...
+     }
+     ATM_CV_REJ_CLIR { # Note 5
+  break
+  invalid <8> # not supported
+     }
+     ATM_CV_ACC_INF_DISC,ATM_CV_INCOMP_DEST,ATM_CV_MAND_IE_MISSING,
+       ATM_CV_UNKNOWN_IE,ATM_CV_INVALID_IE { # Note 6
+  break
+  ie_id6 <-224>
+     }
+
+     ATM_CV_UCR_UNAVAIL_OLD,ATM_CV_UCR_UNAVAIL_NEW { # Note 8
+
+
+
+
+
+
+
+  break
+  ucr_id <-224>
+     }
+     ATM_CV_NO_SUCH_CHAN { # Note 9
+  break
+  unav_vpci <16>
+  unav_vci <16>
+     }
+     ATM_CV_UNKNOWN_MSG_TYPE,ATM_CV_INCOMP_MSG { # Note 10
+  break
+  bad_msg_type "atm_msg" <8>
+     }
+     ATM_CV_TIMER_EXP { # Note 11
+  break
+  timer <24>
+     }
+     default 0 {}
+ }
+    }
+}
+
+
+def ie_conn_id = {
+    _ext <1@8,more> = 1 _cs "q2931_cs" <2@6,more> = Q2931_CS_ITU _flag "atm_flag" <1@5,more> = ATM_FLAG_NO _action_ind "atm_ai_ie" <3@1> = 0 _ie_len <16> = recover RECOV_IND_IE length {
+ _ext <1@8,more> = 1
+ _vp_ass "atm_vpa" <2@4,more> = ATM_VPA_EXPL
+ _pref_exc "atm_poe" <3@1> = 0
+ vpi <16>
+ vci <16>
+    }
+}
+
+
+
+
+def ie_e2e_tdl = {
+    _ext <1@8,more> = 1 _cs "q2931_cs" <2@6,more> = Q2931_CS_ITU _flag "atm_flag" <1@5,more> = ATM_FLAG_NO _action_ind "atm_ai_ie" <3@1> = 0 _ie_len <16> = recover RECOV_IND_IE length {
+ _id "atm_tdl" <8> = multi {
+     ATM_TDL_CUM {
+  cum_delay <16>
+     }
+     ATM_TDL_E2EMAX {
+  max_delay <16>
+     }
+     ATM_TDL_NGI {}
+ }
+
+    }
+}
+
+
+
+
+def ie_qos = {
+# 467 "<stdin>"
+    _ext <1@8,more> = 1 qos_cs "q2931_cs" <2@6,more> = Q2931_CS_NET _flag "atm_flag" <1@5,more> = ATM_FLAG_NO _action_ind "atm_ai_ie" <3@1> = 0 _ie_len <16> = recover RECOV_IND_IE length {
+
+ qos_fw <8> = 0
+ qos_bw <8> = 0
+    }
+}
+
+
+def ie_bbrep = {
+    _ext <1@8,more> = 1 _cs "q2931_cs" <2@6,more> = Q2931_CS_ITU _flag "atm_flag" <1@5,more> = ATM_FLAG_NO _action_ind "atm_ai_ie" <3@1> = 0 _ie_len <16> = recover RECOV_IND_IE length {
+ _ext <1@8,more> = 1
+ rep_ind <4@1> = 2
+    }
+}
+
+
+def ie_restart = {
+    _ext <1@8,more> = 1 _cs "q2931_cs" <2@6,more> = Q2931_CS_ITU _flag "atm_flag" <1@5,more> = ATM_FLAG_NO _action_ind "atm_ai_ie" <3@1> = 0 _ie_len <16> = recover RECOV_IND_IE length {
+ _ext <1@8,more> = 1
+ rst_class <3@1>
+    }
+}
+
+
+def ie_bbs_comp = {
+    _ext <1@8,more> = 1 _cs "q2931_cs" <2@6,more> = Q2931_CS_ITU _flag "atm_flag" <1@5,more> = ATM_FLAG_NO _action_ind "atm_ai_ie" <3@1> = 0 _ie_len <16> = recover RECOV_IND_IE length {
+ _ext <1@8,more> = 1
+ bbsc_ind <7@1> = 0x21
+    }
+}
+
+
+def ie_tns = {
+    _ext <1@8,more> = 1 _cs "q2931_cs" <2@6,more> = Q2931_CS_ITU _flag "atm_flag" <1@5,more> = ATM_FLAG_NO _action_ind "atm_ai_ie" <3@1> = 0 _ie_len <16> = recover RECOV_IND_IE length {
+ _ext <1@8,more> = 1
+ _net_type "atm_tni" <3@5,more> = ATM_TNI_NNI
+ _carrier_id "atm_nip" <4@1> = ATM_NIP_CARRIER
+ net_id <-32>
+    }
+}
+
+
+
+
+def ie_notify = {
+    _ext <1@8,more> = 1 _cs "q2931_cs" <2@6,more> = Q2931_CS_ITU _flag "atm_flag" <1@5,more> = ATM_FLAG_NO _action_ind "atm_ai_ie" <3@1> = 0 _ie_len <16> = recover RECOV_IND_IE length {
+ notification <-32> # @@@ how many actually ?
+    }
+}
+
+
+def ie_oam_td = {
+    _ext <1@8,more> = 1 _cs "q2931_cs" <2@6,more> = Q2931_CS_ITU _flag "atm_flag" <1@5,more> = ATM_FLAG_NO _action_ind "atm_ai_ie" <3@1> = 0 _ie_len <16> = recover RECOV_IND_IE length {
+ _ext <1@8,more> = 1
+ shaping "atm_shi" <2@6,more> = ATM_SHI_NONE
+ compliance "atm_oci" <1@5,more> = ATM_OCI_OPT
+ fault "atm_unfm" <3@1> = ATM_UNFM_NONE
+ _ext <1@8,more> = 1
+ fwd_ofi "atm_ofi" <3@5,more> = ATM_OFI_0_0
+ bwd_ofi "atm_ofi" <3@1> = ATM_OFI_0_0
+    }
+}
+
+
+def ie_git = {
+    _ext <1@8,more> = 1 _cs "q2931_cs" <2@6,more> = Q2931_CS_NET _flag "atm_flag" <1@5,more> = ATM_FLAG_NO _action_ind "atm_ai_ie" <3@1> = 0 _ie_len <16> = recover RECOV_IND_IE length { # @@@ UNI 4.0 does not specify the coding
+ _dummy <1@8> = 0 # bit is "spare", although not indicated in spec
+ id_std_app "atm_irs" <7@1> = case {
+     ATM_IRS_DSMCC,ATM_IRS_H245 {
+  _type "atm_it" <8> = ATM_IT_SESSION
+  _length <8> = length {
+      session_id <-160>
+  }
+  _type "atm_it" <8> = ATM_IT_RESOURCE
+  _length <8> = length {
+      resource_id <-32>
+  }
+     }
+     default 0 {
+  unrecognized_git_identifiers <-224> # 33-5 bytes
+     }
+ }
+    }
+}
+
+
+def ie_lij_id = {
+    _ext <1@8,more> = 1 _cs "q2931_cs" <2@6,more> = Q2931_CS_NET _flag "atm_flag" <1@5,more> = ATM_FLAG_NO _action_ind "atm_ai_ie" <3@1> = 0 _ie_len <16> = recover RECOV_IND_IE length { # @@@ UNI 4.0 does not specify the coding
+ _ext <1@8,more> = 1
+ lij_id_type "atm_lit" <7@1> = ATM_LIT_ROOT
+ lij_id <32>
+    }
+}
+
+
+def ie_lij_prm = {
+    _ext <1@8,more> = 1 _cs "q2931_cs" <2@6,more> = Q2931_CS_NET _flag "atm_flag" <1@5,more> = ATM_FLAG_NO _action_ind "atm_ai_ie" <3@1> = 0 _ie_len <16> = recover RECOV_IND_IE length { # @@@ UNI 4.0 does not specify the coding
+ _ext <1@8,more> = 1
+ lij_scr_ind "atm_lsi" <2@1>
+    }
+}
+
+
+def ie_leaf_sn = {
+    _ext <1@8,more> = 1 _cs "q2931_cs" <2@6,more> = Q2931_CS_NET _flag "atm_flag" <1@5,more> = ATM_FLAG_NO _action_ind "atm_ai_ie" <3@1> = 0 _ie_len <16> = recover RECOV_IND_IE length { # @@@ UNI 4.0 does not specify the coding
+ leaf_sn <32>
+    }
+}
+
+
+def ie_scope_sel = {
+    _ext <1@8,more> = 1 _cs "q2931_cs" <2@6,more> = Q2931_CS_NET _flag "atm_flag" <1@5,more> = ATM_FLAG_NO _action_ind "atm_ai_ie" <3@1> = 0 _ie_len <16> = recover RECOV_IND_IE length { # @@@ UNI 4.0 does not specify the coding
+ _ext <1@8,more> = 1
+ scope_type "atm_tcs" <4@1> = ATM_TCS_ORGANIZATIONAL
+ scope_sel "atm_css" <8>
+    }
+}
+
+
+def ie_alt_td = {
+    _ext <1@8,more> = 1 _cs "q2931_cs" <2@6,more> = Q2931_CS_ITU _flag "atm_flag" <1@5,more> = ATM_FLAG_NO _action_ind "atm_ai_ie" <3@1> = 0 _ie_len <16> = recover RECOV_IND_IE length {
+ _id "atm_td" <8> = multi {
+     ATM_TD_FW_PCR_0 { altfw_pcr_0 <24> } ATM_TD_BW_PCR_0 { altbw_pcr_0 <24> } ATM_TD_FW_PCR_01 { altfw_pcr_01 <24> } ATM_TD_BW_PCR_01 { altbw_pcr_01 <24> } ATM_TD_FW_SCR_0 { altfw_scr_0 <24> } ATM_TD_BW_SCR_0 { altbw_scr_0 <24> } ATM_TD_FW_SCR_01 { altfw_scr_01 <24> } ATM_TD_BW_SCR_01 { altbw_scr_01 <24> } ATM_TD_FW_MBS_0 { altfw_mbs_0 <24> } ATM_TD_BW_MBS_0 { altbw_mbs_0 <24> } ATM_TD_FW_MBS_01 { altfw_mbs_01 <24> } ATM_TD_BW_MBS_01 { altbw_mbs_01 <24> } ATM_TD_BEST_EFFORT { altbest_effort <0> }
+ }
+    }
+}
+
+
+def ie_min_td = {
+    _ext <1@8,more> = 1 _cs "q2931_cs" <2@6,more> = Q2931_CS_NET _flag "atm_flag" <1@5,more> = ATM_FLAG_NO _action_ind "atm_ai_ie" <3@1> = 0 _ie_len <16> = recover RECOV_IND_IE length { # @@@ UNI 4.0 does not specify the coding
+ _id "atm_td" <8> = multi {
+     ATM_TD_FW_PCR_0 { minfw_pcr_0 <24> } ATM_TD_BW_PCR_0 { minbw_pcr_0 <24> } ATM_TD_FW_PCR_01 { minfw_pcr_01 <24> } ATM_TD_BW_PCR_01 { minbw_pcr_01 <24> }
+     ATM_TD_FW_MCR_01 { minfw_mcr_01 <24> } ATM_TD_BW_MCR_01 { minbw_mcr_01 <24> }
+ }
+    }
+}
+
+
+def ie_eqos = {
+    _ext <1@8,more> = 1 _cs "q2931_cs" <2@6,more> = Q2931_CS_NET _flag "atm_flag" <1@5,more> = ATM_FLAG_NO _action_ind "atm_ai_ie" <3@1> = 0 _ie_len <16> = recover RECOV_IND_IE length {
+ eqos_origin "atm_eqo" <8>
+ _id "atm_eqp" <8> = multi {
+     ATM_EQP_ACC_FW_CDV {
+  acc_fw_cdv <24>
+     }
+     ATM_EQP_ACC_BW_CDV {
+  acc_bw_cdv <24>
+     }
+     ATM_EQP_CUM_FW_CDV {
+  cum_fw_cdv <24>
+     }
+     ATM_EQP_CUM_BW_CDV {
+  cum_bw_cdv <24>
+     }
+     ATM_EQP_ACC_FW_CLR {
+  acc_fw_clr <8>
+     }
+     ATM_EQP_ACC_BW_CLR {
+  acc_bw_clr <8>
+     }
+ }
+    }
+}
+
+
+def ie_abr_add_prm = {
+    _ext <1@8,more> = 1 _cs "q2931_cs" <2@6,more> = Q2931_CS_NET _flag "atm_flag" <1@5,more> = ATM_FLAG_NO _action_ind "atm_ai_ie" <3@1> = 0 _ie_len <16> = recover RECOV_IND_IE length {
+ _id "atm_aap" <8> = multi {
+     ATM_AAP_FW_REC {
+  abr_fw_add_rec <32>
+     }
+     ATM_AAP_BW_REC {
+  abr_bw_add_rec <32>
+     }
+ }
+    }
+}
+
+
+def ie_abr_set_prm = {
+    _ext <1@8,more> = 1 _cs "q2931_cs" <2@6,more> = Q2931_CS_NET _flag "atm_flag" <1@5,more> = ATM_FLAG_NO _action_ind "atm_ai_ie" <3@1> = 0 _ie_len <16> = recover RECOV_IND_IE length { # @@@ UNI 4.0 does not specify the coding
+ _id "atm_asp" <8> = multi {
+     ATM_ASP_FW_ICR {
+  abr_fw_icr <24>
+     }
+     ATM_ASP_BW_ICR {
+  abr_bw_icr <24>
+     }
+     ATM_ASP_FW_TBE {
+  abr_fw_tbe <24>
+     }
+     ATM_ASP_BW_TBE {
+  abr_bw_tbe <24>
+     }
+     ATM_ASP_CRF_RTT {
+  atm_crf_rtt <24>
+     }
+     ATM_ASP_FW_RIF {
+  atm_fw_rif <8>
+     }
+     ATM_ASP_BW_RIF {
+  atm_bw_rif <8>
+     }
+     ATM_ASP_FW_RDF {
+  atm_fw_rdf <8>
+     }
+     ATM_ASP_BW_RDF {
+  atm_bw_rdf <8>
+     }
+ }
+    }
+}
+
+
+
+
+def ie_ep_ref = {
+    _ext <1@8,more> = 1 _cs "q2931_cs" <2@6,more> = Q2931_CS_ITU _flag "atm_flag" <1@5,more> = ATM_FLAG_NO _action_ind "atm_ai_ie" <3@1> = 0 _ie_len <16> = recover RECOV_IND_IE length {
+ _ep_type <8> = 0
+ ep_ref <16>
+    }
+}
+
+
+def ie_ep_state = {
+    _ext <1@8,more> = 1 _cs "q2931_cs" <2@6,more> = Q2931_CS_ITU _flag "atm_flag" <1@5,more> = ATM_FLAG_NO _action_ind "atm_ai_ie" <3@1> = 0 _ie_len <16> = recover RECOV_IND_IE length {
+ ep_state <6@1>
+    }
+}
+
+
+
+
+def ie_bbrt = {
+    _ext <1@8,more> = 1 _cs "q2931_cs" <2@6,more> = Q2931_CS_ITU _flag "atm_flag" <1@5,more> = ATM_FLAG_NO _action_ind "atm_ai_ie" <3@1> = 0 _ie_len <16> = recover RECOV_IND_IE length {
+ type_of_report "atm_tor" <8>
+    }
+}
+
+
+
+
+{
+    _pdsc "q2931_proto" <8> = Q2931_PROTO_DSC
+    _cr_len <8> = 3
+    call_ref <24>
+    msg_type "atm_msg" <8>
+    _ext <1@8,more> = 1
+    _flag "atm_flag" <1@5,more> = ATM_FLAG_NO
+    _action_ind "atm_ai_msg" <2@1> = 0
+    msg_len <16> = length {
+ _ie_id "atm_ie" <8> = multi {
+     aal: ATM_IE_AAL ie_aal
+     td: ATM_IE_TD ie_td
+     bbcap: ATM_IE_BBCAP ie_bbcap
+     bhli: ATM_IE_BHLI ie_bhli
+     blli1: ATM_IE_BLLI ie_blli
+     blli2: ATM_IE_BLLI ie_blli
+     blli3: ATM_IE_BLLI ie_blli
+     call_state: ATM_IE_CALL_STATE ie_call_state
+     cdpn: ATM_IE_CDPN ie_cdpn
+     cdps: ATM_IE_CDPS ie_cdps
+     cgpn: ATM_IE_CGPN ie_cgpn
+     cgps: ATM_IE_CGPS ie_cgps
+     cause: ATM_IE_CAUSE ie_cause
+     cause2: ATM_IE_CAUSE ie_cause
+     conn_id: ATM_IE_CONN_ID ie_conn_id
+
+     e2e_tdl: ATM_IE_E2E_TDL ie_e2e_tdl
+
+     qos: ATM_IE_QOS ie_qos
+     bbrep: ATM_IE_BBREP ie_bbrep
+     restart: ATM_IE_RESTART ie_restart
+     bbs_comp: ATM_IE_BBS_COMP ie_bbs_comp
+     tns: ATM_IE_TNS ie_tns
+
+     notify: ATM_IE_NOTIFY ie_notify
+     oam_td: ATM_IE_OAM_TD ie_oam_td
+     git: ATM_IE_GIT ie_git
+     git2: ATM_IE_GIT ie_git
+     git3: ATM_IE_GIT ie_git
+     lij_id: ATM_IE_LIJ_ID ie_lij_id
+     lij_prm: ATM_IE_LIJ_PRM ie_lij_prm
+     leaf_sn: ATM_IE_LEAF_SN ie_leaf_sn
+     scope_sel: ATM_IE_SCOPE_SEL ie_scope_sel
+     alt_td: ATM_IE_ALT_TD ie_alt_td
+     min_td: ATM_IE_MIN_TD ie_min_td
+     eqos: ATM_IE_EQOS ie_eqos
+     abr_add_prm:ATM_IE_ABR_ADD_PRM ie_abr_add_prm
+     abr_set_prm:ATM_IE_ABR_SET_PRM ie_abr_set_prm
+
+     ep_ref: ATM_IE_EPR ie_ep_ref
+     ep_state: ATM_IE_EP_STATE ie_ep_state
+
+     bbrt: ATM_IE_BBRT ie_bbrt
+
+     default 0 {
+  _ext <1@8,more> = 1 __cs "q2931_cs" <2@6,more> = 0 _flag "atm_flag" <1@5,more> = ATM_FLAG_NO _action_ind "atm_ai_ie" <3@1> = 0 _ie_len <16> = recover RECOV_IND_IE length
+      abort RECOV_ASE_UNKNOWN_IE
+     }
+ }
+    }
+}
Index: linux-atm-2.4.1/src/saal/Makefile.in
===================================================================
--- linux-atm-2.4.1.orig/src/saal/Makefile.in	2007-06-04 13:23:54.046517576 +0200
+++ linux-atm-2.4.1/src/saal/Makefile.in	2007-06-04 13:23:54.492449784 +0200
@@ -1,4 +1,4 @@
-# Makefile.in generated automatically by automake 1.4-p5 from Makefile.am
+# Makefile.in generated automatically by automake 1.4-p6 from Makefile.am
 
 # Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
@@ -87,8 +87,7 @@
 
 noinst_LIBRARIES = libsaal.a
 
-libsaal_a_SOURCES = pdu.h queue.h saal.h sscf.h sscop.h pdu.c queue.c saal.c \
-			sscf.c  sscop.c
+libsaal_a_SOURCES = pdu.h queue.h saal.h sscf.h sscop.h pdu.c queue.c saal.c 			sscf.c  sscop.c
 
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
 CONFIG_HEADER = ../../config.h
@@ -114,8 +113,10 @@
 
 DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
 
-TAR = gtar
+TAR = tar
 GZIP_ENV = --best
+DEP_FILES =  .deps/pdu.P .deps/queue.P .deps/saal.P .deps/sscf.P \
+.deps/sscop.P
 SOURCES = $(libsaal_a_SOURCES)
 OBJECTS = $(libsaal_a_OBJECTS)
 
@@ -123,9 +124,9 @@
 .SUFFIXES:
 .SUFFIXES: .S .c .lo .o .obj .s
 $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) 
-	cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps src/saal/Makefile
+	cd $(top_srcdir) && $(AUTOMAKE) --gnu src/saal/Makefile
 
-Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status
+Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status $(BUILT_SOURCES)
 	cd $(top_builddir) \
 	  && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
 
@@ -139,9 +140,6 @@
 
 maintainer-clean-noinstLIBRARIES:
 
-.c.o:
-	$(COMPILE) -c $<
-
 # FIXME: We should only use cygpath when building on Windows,
 # and only if it is available.
 .c.obj:
@@ -164,9 +162,6 @@
 
 maintainer-clean-compile:
 
-.c.lo:
-	$(LIBTOOL) --mode=compile $(COMPILE) -c $<
-
 .s.lo:
 	$(LIBTOOL) --mode=compile $(COMPILE) -c $<
 
@@ -206,7 +201,7 @@
 	  awk '    { files[$$0] = 1; } \
 	       END { for (i in files) print i; }'`; \
 	test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
-	  || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags  $$unique $(LISP) -o $$here/TAGS)
+	  || (cd $(srcdir) && etags -o $$here/TAGS $(ETAGS_ARGS) $$tags  $$unique $(LISP))
 
 mostlyclean-tags:
 
@@ -222,6 +217,11 @@
 subdir = src/saal
 
 distdir: $(DISTFILES)
+	here=`cd $(top_builddir) && pwd`; \
+	top_distdir=`cd $(top_distdir) && pwd`; \
+	distdir=`cd $(distdir) && pwd`; \
+	cd $(top_srcdir) \
+	  && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnu src/saal/Makefile
 	@for file in $(DISTFILES); do \
 	  d=$(srcdir); \
 	  if test -d $$d/$$file; then \
@@ -232,20 +232,38 @@
 	    || cp -p $$d/$$file $(distdir)/$$file || :; \
 	  fi; \
 	done
-pdu.o: pdu.c ../../config.h ../../src/include/stdint.h pdu.h \
-	../../src/include/atmd.h ../../src/include/atm.h
-queue.o: queue.c ../../config.h ../../src/include/atmd.h \
-	../../src/include/stdint.h ../../src/include/atm.h queue.h
-saal.o: saal.c ../../config.h sscop.h ../../src/include/stdint.h \
-	../../src/include/atmd.h ../../src/include/atm.h queue.h saal.h \
-	sscf.h
-sscf.o: sscf.c ../../config.h ../../src/include/atmd.h \
-	../../src/include/stdint.h ../../src/include/atm.h sscop.h \
-	queue.h sscf.h
-sscop.o: sscop.c ../../config.h ../../src/include/stdint.h \
-	../../src/include/atmd.h ../../src/include/atm.h sscop.h \
-	queue.h pdu.h
 
+DEPS_MAGIC := $(shell mkdir .deps > /dev/null 2>&1 || :)
+
+-include $(DEP_FILES)
+
+mostlyclean-depend:
+
+clean-depend:
+
+distclean-depend:
+	-rm -rf .deps
+
+maintainer-clean-depend:
+
+%.o: %.c
+	@echo '$(COMPILE) -c $<'; \
+	$(COMPILE) -Wp,-MD,.deps/$(*F).pp -c $<
+	@-cp .deps/$(*F).pp .deps/$(*F).P; \
+	tr ' ' '\012' < .deps/$(*F).pp \
+	  | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \
+	    >> .deps/$(*F).P; \
+	rm .deps/$(*F).pp
+
+%.lo: %.c
+	@echo '$(LTCOMPILE) -c $<'; \
+	$(LTCOMPILE) -Wp,-MD,.deps/$(*F).pp -c $<
+	@-sed -e 's/^\([^:]*\)\.o[ 	]*:/\1.lo \1.o :/' \
+	  < .deps/$(*F).pp > .deps/$(*F).P; \
+	tr ' ' '\012' < .deps/$(*F).pp \
+	  | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \
+	    >> .deps/$(*F).P; \
+	rm -f .deps/$(*F).pp
 info-am:
 info: info-am
 dvi-am:
@@ -282,27 +300,27 @@
 
 maintainer-clean-generic:
 mostlyclean-am:  mostlyclean-noinstLIBRARIES mostlyclean-compile \
-		mostlyclean-libtool mostlyclean-tags \
+		mostlyclean-libtool mostlyclean-tags mostlyclean-depend \
 		mostlyclean-generic
 
 mostlyclean: mostlyclean-am
 
 clean-am:  clean-noinstLIBRARIES clean-compile clean-libtool clean-tags \
-		clean-generic mostlyclean-am
+		clean-depend clean-generic mostlyclean-am
 
 clean: clean-am
 
 distclean-am:  distclean-noinstLIBRARIES distclean-compile \
-		distclean-libtool distclean-tags distclean-generic \
-		clean-am
+		distclean-libtool distclean-tags distclean-depend \
+		distclean-generic clean-am
 	-rm -f libtool
 
 distclean: distclean-am
 
 maintainer-clean-am:  maintainer-clean-noinstLIBRARIES \
 		maintainer-clean-compile maintainer-clean-libtool \
-		maintainer-clean-tags maintainer-clean-generic \
-		distclean-am
+		maintainer-clean-tags maintainer-clean-depend \
+		maintainer-clean-generic distclean-am
 	@echo "This command is intended for maintainers to use;"
 	@echo "it deletes files that may require special tools to rebuild."
 
@@ -313,12 +331,14 @@
 mostlyclean-compile distclean-compile clean-compile \
 maintainer-clean-compile mostlyclean-libtool distclean-libtool \
 clean-libtool maintainer-clean-libtool tags mostlyclean-tags \
-distclean-tags clean-tags maintainer-clean-tags distdir info-am info \
-dvi-am dvi check check-am installcheck-am installcheck install-exec-am \
-install-exec install-data-am install-data install-am install \
-uninstall-am uninstall all-redirect all-am all installdirs \
-mostlyclean-generic distclean-generic clean-generic \
-maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+distclean-tags clean-tags maintainer-clean-tags distdir \
+mostlyclean-depend distclean-depend clean-depend \
+maintainer-clean-depend info-am info dvi-am dvi check check-am \
+installcheck-am installcheck install-exec-am install-exec \
+install-data-am install-data install-am install uninstall-am uninstall \
+all-redirect all-am all installdirs mostlyclean-generic \
+distclean-generic clean-generic maintainer-clean-generic clean \
+mostlyclean distclean maintainer-clean
 
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
Index: linux-atm-2.4.1/src/sigd/Makefile.in
===================================================================
--- linux-atm-2.4.1.orig/src/sigd/Makefile.in	2007-06-04 13:23:54.051516816 +0200
+++ linux-atm-2.4.1/src/sigd/Makefile.in	2007-06-04 13:23:54.492449784 +0200
@@ -1,4 +1,4 @@
-# Makefile.in generated automatically by automake 1.4-p5 from Makefile.am
+# Makefile.in generated automatically by automake 1.4-p6 from Makefile.am
 
 # Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
@@ -88,14 +88,9 @@
 INCLUDES = -I$(top_builddir)/src/qgen -I$(top_builddir)/src/saal -I.
 
 sbin_PROGRAMS = atmsigd
-atmsigd_SOURCES = atmsigd.c io.c io.h kernel.c proto.c proto.h uni.c \
-			sap.c sap.h timeout.c timeout.h trace.c trace.h \
-			policy.c policy.h cfg_y.y cfg_l.l
-
-atmsigd_XTRAS = mess.o $(top_builddir)/src/qgen/q.out.o \
-			$(top_builddir)/src/qgen/qd.dump.o \
-			$(top_builddir)/src/lib/libatm.la \
-			$(top_builddir)/src/saal/libsaal.a
+atmsigd_SOURCES = atmsigd.c io.c io.h kernel.c proto.c proto.h uni.c 			sap.c sap.h timeout.c timeout.h trace.c trace.h 			policy.c policy.h cfg_y.y cfg_l.l
+
+atmsigd_XTRAS = mess.o $(top_builddir)/src/qgen/q.out.o 			$(top_builddir)/src/qgen/qd.dump.o 			$(top_builddir)/src/lib/libatm.la 			$(top_builddir)/src/saal/libsaal.a
 
 atmsigd_LDADD = $(atmsigd_XTRAS) -lfl
 atmsigd_DEPENDENCIES = mess.c $(atmsigd_XTRAS)
@@ -140,8 +135,11 @@
 
 DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
 
-TAR = gtar
+TAR = tar
 GZIP_ENV = --best
+DEP_FILES =  .deps/atmsigd.P .deps/cfg_l.P .deps/cfg_y.P .deps/io.P \
+.deps/kernel.P .deps/policy.P .deps/proto.P .deps/sap.P .deps/timeout.P \
+.deps/trace.P .deps/uni.P
 SOURCES = $(atmsigd_SOURCES)
 OBJECTS = $(atmsigd_OBJECTS)
 
@@ -149,9 +147,9 @@
 .SUFFIXES:
 .SUFFIXES: .S .c .l .lo .o .obj .s .y
 $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) 
-	cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps src/sigd/Makefile
+	cd $(top_srcdir) && $(AUTOMAKE) --gnu src/sigd/Makefile
 
-Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status
+Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status $(BUILT_SOURCES)
 	cd $(top_builddir) \
 	  && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
 
@@ -181,9 +179,6 @@
 	  rm -f $(DESTDIR)$(sbindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \
 	done
 
-.c.o:
-	$(COMPILE) -c $<
-
 # FIXME: We should only use cygpath when building on Windows,
 # and only if it is available.
 .c.obj:
@@ -206,9 +201,6 @@
 
 maintainer-clean-compile:
 
-.c.lo:
-	$(LIBTOOL) --mode=compile $(COMPILE) -c $<
-
 .s.lo:
 	$(LIBTOOL) --mode=compile $(COMPILE) -c $<
 
@@ -347,7 +339,7 @@
 	  awk '    { files[$$0] = 1; } \
 	       END { for (i in files) print i; }'`; \
 	test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
-	  || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags  $$unique $(LISP) -o $$here/TAGS)
+	  || (cd $(srcdir) && etags -o $$here/TAGS $(ETAGS_ARGS) $$tags  $$unique $(LISP))
 
 mostlyclean-tags:
 
@@ -363,6 +355,11 @@
 subdir = src/sigd
 
 distdir: $(DISTFILES)
+	here=`cd $(top_builddir) && pwd`; \
+	top_distdir=`cd $(top_distdir) && pwd`; \
+	distdir=`cd $(distdir) && pwd`; \
+	cd $(top_srcdir) \
+	  && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnu src/sigd/Makefile
 	@for file in $(DISTFILES); do \
 	  d=$(srcdir); \
 	  if test -d $$d/$$file; then \
@@ -373,69 +370,38 @@
 	    || cp -p $$d/$$file $(distdir)/$$file || :; \
 	  fi; \
 	done
-atmsigd.o: atmsigd.c ../../config.h ../../src/include/atm.h \
-	../../src/include/stdint.h ../../src/include/atmd.h \
-	../../src/qgen/qlib.h io.h proto.h ../../src/include/atmsap.h \
-	../../src/saal/saal.h ../../src/saal/sscf.h \
-	../../src/saal/sscop.h ../../src/saal/queue.h trace.h
-cfg_l.o: cfg_l.c ../../config.h ../../src/include/atm.h \
-	../../src/include/stdint.h cfg_y.h
-cfg_y.o: cfg_y.c ../../config.h ../../src/include/atm.h \
-	../../src/include/stdint.h ../../src/include/atmd.h proto.h \
-	../../src/include/atmsap.h ../../src/saal/saal.h \
-	../../src/saal/sscf.h ../../src/saal/sscop.h \
-	../../src/saal/queue.h io.h trace.h policy.h
-io.o: io.c ../../config.h ../../src/include/atm.h \
-	../../src/include/stdint.h ../../src/include/atmd.h \
-	../../src/qgen/uni.h ../../src/saal/pdu.h proto.h \
-	../../src/include/atmsap.h ../../src/saal/saal.h \
-	../../src/saal/sscf.h ../../src/saal/sscop.h \
-	../../src/saal/queue.h io.h trace.h
-kernel.o: kernel.c ../../config.h ../../src/include/atm.h \
-	../../src/include/stdint.h ../../src/include/atmd.h \
-	../../src/qgen/uni.h ../../src/qgen/qlib.h \
-	../../src/qgen/q.out.h proto.h ../../src/include/atmsap.h \
-	../../src/saal/saal.h ../../src/saal/sscf.h \
-	../../src/saal/sscop.h ../../src/saal/queue.h sap.h io.h \
-	policy.h timeout.h
-mess.o: mess.c ../../config.h
-policy.o: policy.c ../../config.h ../../src/include/atm.h \
-	../../src/include/stdint.h ../../src/include/atmd.h proto.h \
-	../../src/include/atmsap.h ../../src/saal/saal.h \
-	../../src/saal/sscf.h ../../src/saal/sscop.h \
-	../../src/saal/queue.h policy.h
-proto.o: proto.c ../../config.h ../../src/include/atmd.h \
-	../../src/include/stdint.h ../../src/include/atm.h \
-	../../src/qgen/uni.h ../../src/qgen/qlib.h \
-	../../src/qgen/q.out.h io.h proto.h ../../src/include/atmsap.h \
-	../../src/saal/saal.h ../../src/saal/sscf.h \
-	../../src/saal/sscop.h ../../src/saal/queue.h sap.h
-sap.o: sap.c ../../config.h ../../src/include/atm.h \
-	../../src/include/stdint.h ../../src/include/atmd.h \
-	../../src/qgen/uni.h ../../src/qgen/qlib.h \
-	../../src/qgen/q.out.h ../../src/qgen/common.h proto.h \
-	../../src/include/atmsap.h ../../src/saal/saal.h \
-	../../src/saal/sscf.h ../../src/saal/sscop.h \
-	../../src/saal/queue.h sap.h
-timeout.o: timeout.c ../../config.h ../../src/include/atm.h \
-	../../src/include/stdint.h ../../src/include/atmd.h \
-	../../src/qgen/uni.h proto.h ../../src/include/atmsap.h \
-	../../src/saal/saal.h ../../src/saal/sscf.h \
-	../../src/saal/sscop.h ../../src/saal/queue.h timeout.h
-trace.o: trace.c ../../config.h ../../src/include/atm.h \
-	../../src/include/stdint.h ../../src/include/atmd.h \
-	../../src/include/atmsap.h trace.h proto.h \
-	../../src/saal/saal.h ../../src/saal/sscf.h \
-	../../src/saal/sscop.h ../../src/saal/queue.h \
-	../../src/qgen/qlib.h
-uni.o: uni.c ../../config.h ../../src/include/atm.h \
-	../../src/include/stdint.h ../../src/include/atmd.h \
-	../../src/qgen/uni.h ../../src/qgen/qlib.h \
-	../../src/qgen/q.out.h proto.h ../../src/include/atmsap.h \
-	../../src/saal/saal.h ../../src/saal/sscf.h \
-	../../src/saal/sscop.h ../../src/saal/queue.h sap.h io.h \
-	policy.h timeout.h trace.h
 
+DEPS_MAGIC := $(shell mkdir .deps > /dev/null 2>&1 || :)
+
+-include $(DEP_FILES)
+
+mostlyclean-depend:
+
+clean-depend:
+
+distclean-depend:
+	-rm -rf .deps
+
+maintainer-clean-depend:
+
+%.o: %.c
+	@echo '$(COMPILE) -c $<'; \
+	$(COMPILE) -Wp,-MD,.deps/$(*F).pp -c $<
+	@-cp .deps/$(*F).pp .deps/$(*F).P; \
+	tr ' ' '\012' < .deps/$(*F).pp \
+	  | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \
+	    >> .deps/$(*F).P; \
+	rm .deps/$(*F).pp
+
+%.lo: %.c
+	@echo '$(LTCOMPILE) -c $<'; \
+	$(LTCOMPILE) -Wp,-MD,.deps/$(*F).pp -c $<
+	@-sed -e 's/^\([^:]*\)\.o[ 	]*:/\1.lo \1.o :/' \
+	  < .deps/$(*F).pp > .deps/$(*F).P; \
+	tr ' ' '\012' < .deps/$(*F).pp \
+	  | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \
+	    >> .deps/$(*F).P; \
+	rm -f .deps/$(*F).pp
 info-am:
 info: info-am
 dvi-am:
@@ -474,29 +440,29 @@
 	-rm -f config.cache config.log stamp-h stamp-h[0-9]*
 
 maintainer-clean-generic:
-	-test -z "cfg_llcfg_yhcfg_yc" || rm -f cfg_ll cfg_yh cfg_yc
+	-test -z "cfg_lccfg_yhcfg_yc" || rm -f cfg_lc cfg_yh cfg_yc
 mostlyclean-am:  mostlyclean-sbinPROGRAMS mostlyclean-compile \
-		mostlyclean-libtool mostlyclean-tags \
+		mostlyclean-libtool mostlyclean-tags mostlyclean-depend \
 		mostlyclean-generic
 
 mostlyclean: mostlyclean-am
 
 clean-am:  clean-sbinPROGRAMS clean-compile clean-libtool clean-tags \
-		clean-generic mostlyclean-am
+		clean-depend clean-generic mostlyclean-am
 
 clean: clean-am
 
 distclean-am:  distclean-sbinPROGRAMS distclean-compile \
-		distclean-libtool distclean-tags distclean-generic \
-		clean-am
+		distclean-libtool distclean-tags distclean-depend \
+		distclean-generic clean-am
 	-rm -f libtool
 
 distclean: distclean-am
 
 maintainer-clean-am:  maintainer-clean-sbinPROGRAMS \
 		maintainer-clean-compile maintainer-clean-libtool \
-		maintainer-clean-tags maintainer-clean-generic \
-		distclean-am
+		maintainer-clean-tags maintainer-clean-depend \
+		maintainer-clean-generic distclean-am
 	@echo "This command is intended for maintainers to use;"
 	@echo "it deletes files that may require special tools to rebuild."
 
@@ -509,12 +475,14 @@
 distclean-libtool clean-libtool maintainer-clean-libtool install-man4 \
 uninstall-man4 install-man8 uninstall-man8 install-man uninstall-man \
 uninstall-sysconfDATA install-sysconfDATA tags mostlyclean-tags \
-distclean-tags clean-tags maintainer-clean-tags distdir info-am info \
-dvi-am dvi check check-am installcheck-am installcheck install-exec-am \
-install-exec install-data-am install-data install-am install \
-uninstall-am uninstall all-redirect all-am all installdirs \
-mostlyclean-generic distclean-generic clean-generic \
-maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+distclean-tags clean-tags maintainer-clean-tags distdir \
+mostlyclean-depend distclean-depend clean-depend \
+maintainer-clean-depend info-am info dvi-am dvi check check-am \
+installcheck-am installcheck install-exec-am install-exec \
+install-data-am install-data install-am install uninstall-am uninstall \
+all-redirect all-am all installdirs mostlyclean-generic \
+distclean-generic clean-generic maintainer-clean-generic clean \
+mostlyclean distclean maintainer-clean
 
 
 mess.c:	$(top_builddir)/src/qgen/uni.h mkmess.pl
Index: linux-atm-2.4.1/src/sigd/cfg_y.c
===================================================================
--- linux-atm-2.4.1.orig/src/sigd/cfg_y.c	2007-06-04 13:23:54.057515904 +0200
+++ linux-atm-2.4.1/src/sigd/cfg_y.c	2007-06-04 13:23:54.494449480 +0200
@@ -1,46 +1,137 @@
+/* A Bison parser, made by GNU Bison 1.875d.  */
 
-/*  A Bison parser, made from cfg_y.y
-    by GNU Bison version 1.28  */
+/* Skeleton parser for Yacc-like parsing with Bison,
+   Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
 
-#define YYBISON 1  /* Identify Bison output.  */
+   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.
 
-#define	TOK_LEVEL	257
-#define	TOK_DEBUG	258
-#define	TOK_INFO	259
-#define	TOK_WARN	260
-#define	TOK_ERROR	261
-#define	TOK_FATAL	262
-#define	TOK_SIG	263
-#define	TOK_UNI30	264
-#define	TOK_UNI31	265
-#define	TOK_UNI40	266
-#define	TOK_Q2963_1	267
-#define	TOK_SAAL	268
-#define	TOK_VC	269
-#define	TOK_IO	270
-#define	TOK_MODE	271
-#define	TOK_USER	272
-#define	TOK_NET	273
-#define	TOK_SWITCH	274
-#define	TOK_VPCI	275
-#define	TOK_ITF	276
-#define	TOK_PCR	277
-#define	TOK_TRACE	278
-#define	TOK_POLICY	279
-#define	TOK_ALLOW	280
-#define	TOK_REJECT	281
-#define	TOK_ENTITY	282
-#define	TOK_DEFAULT	283
-#define	TOK_NUMBER	284
-#define	TOK_MAX_RATE	285
-#define	TOK_DUMP_DIR	286
-#define	TOK_LOGFILE	287
-#define	TOK_QOS	288
-#define	TOK_FROM	289
-#define	TOK_TO	290
-#define	TOK_ROUTE	291
-#define	TOK_PVC	292
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
 
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+/* As a special exception, when this file is copied by Bison into a
+   Bison output file, you may use that output file without restriction.
+   This special exception was added by the Free Software Foundation
+   in version 1.24 of Bison.  */
+
+/* Written by Richard Stallman by simplifying the original so called
+   ``semantic'' parser.  */
+
+/* All symbols defined below should begin with yy or YY, to avoid
+   infringing on user name space.  This should be done even for local
+   variables, as they might otherwise be expanded by user macros.
+   There are some unavoidable exceptions within include files to
+   define necessary library symbols; they are noted "INFRINGES ON
+   USER NAME SPACE" below.  */
+
+/* Identify Bison output.  */
+#define YYBISON 1
+
+/* Skeleton name.  */
+#define YYSKELETON_NAME "yacc.c"
+
+/* Pure parsers.  */
+#define YYPURE 0
+
+/* Using locations.  */
+#define YYLSP_NEEDED 0
+
+
+
+/* Tokens.  */
+#ifndef YYTOKENTYPE
+# define YYTOKENTYPE
+   /* Put the tokens into the symbol table, so that GDB and other debuggers
+      know about them.  */
+   enum yytokentype {
+     TOK_LEVEL = 258,
+     TOK_DEBUG = 259,
+     TOK_INFO = 260,
+     TOK_WARN = 261,
+     TOK_ERROR = 262,
+     TOK_FATAL = 263,
+     TOK_SIG = 264,
+     TOK_UNI30 = 265,
+     TOK_UNI31 = 266,
+     TOK_UNI40 = 267,
+     TOK_Q2963_1 = 268,
+     TOK_SAAL = 269,
+     TOK_VC = 270,
+     TOK_IO = 271,
+     TOK_MODE = 272,
+     TOK_USER = 273,
+     TOK_NET = 274,
+     TOK_SWITCH = 275,
+     TOK_VPCI = 276,
+     TOK_ITF = 277,
+     TOK_PCR = 278,
+     TOK_TRACE = 279,
+     TOK_POLICY = 280,
+     TOK_ALLOW = 281,
+     TOK_REJECT = 282,
+     TOK_ENTITY = 283,
+     TOK_DEFAULT = 284,
+     TOK_NUMBER = 285,
+     TOK_MAX_RATE = 286,
+     TOK_DUMP_DIR = 287,
+     TOK_LOGFILE = 288,
+     TOK_QOS = 289,
+     TOK_FROM = 290,
+     TOK_TO = 291,
+     TOK_ROUTE = 292,
+     TOK_PVC = 293
+   };
+#endif
+#define TOK_LEVEL 258
+#define TOK_DEBUG 259
+#define TOK_INFO 260
+#define TOK_WARN 261
+#define TOK_ERROR 262
+#define TOK_FATAL 263
+#define TOK_SIG 264
+#define TOK_UNI30 265
+#define TOK_UNI31 266
+#define TOK_UNI40 267
+#define TOK_Q2963_1 268
+#define TOK_SAAL 269
+#define TOK_VC 270
+#define TOK_IO 271
+#define TOK_MODE 272
+#define TOK_USER 273
+#define TOK_NET 274
+#define TOK_SWITCH 275
+#define TOK_VPCI 276
+#define TOK_ITF 277
+#define TOK_PCR 278
+#define TOK_TRACE 279
+#define TOK_POLICY 280
+#define TOK_ALLOW 281
+#define TOK_REJECT 282
+#define TOK_ENTITY 283
+#define TOK_DEFAULT 284
+#define TOK_NUMBER 285
+#define TOK_MAX_RATE 286
+#define TOK_DUMP_DIR 287
+#define TOK_LOGFILE 288
+#define TOK_QOS 289
+#define TOK_FROM 290
+#define TOK_TO 291
+#define TOK_ROUTE 292
+#define TOK_PVC 293
+
+
+
+
+/* Copy the first part of user declarations.  */
 #line 1 "cfg_y.y"
 
 /* cfg.y - configuration language */
@@ -51,6 +142,7 @@
 #include <config.h>
 #endif
 
+#include <stdlib.h>
 #include <string.h>
 #include <ctype.h>
 #include <limits.h>
@@ -63,6 +155,8 @@
 #include "trace.h"
 #include "policy.h"
 
+extern void yywarn(const char *s);
+extern void yyerror(const char *s);
 
 static RULE *rule;
 static SIG_ENTITY *curr_sig = &_entity;
@@ -93,516 +187,830 @@
 }
 
 
-#line 53 "cfg_y.y"
-typedef union {
+
+/* Enabling traces.  */
+#ifndef YYDEBUG
+# define YYDEBUG 0
+#endif
+
+/* Enabling verbose error messages.  */
+#ifdef YYERROR_VERBOSE
+# undef YYERROR_VERBOSE
+# define YYERROR_VERBOSE 1
+#else
+# define YYERROR_VERBOSE 0
+#endif
+
+#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
+#line 56 "cfg_y.y"
+typedef union YYSTYPE {
     int num;
     char *str;
     struct sockaddr_atmpvc pvc;
 } YYSTYPE;
-#include <stdio.h>
+/* Line 191 of yacc.c.  */
+#line 213 "y.tab.c"
+# define yystype YYSTYPE /* obsolescent; will be withdrawn */
+# define YYSTYPE_IS_DECLARED 1
+# define YYSTYPE_IS_TRIVIAL 1
+#endif
+
+
+
+/* Copy the second part of user declarations.  */
+
+
+/* Line 214 of yacc.c.  */
+#line 225 "y.tab.c"
+
+#if ! defined (yyoverflow) || YYERROR_VERBOSE
+
+# ifndef YYFREE
+#  define YYFREE free
+# endif
+# ifndef YYMALLOC
+#  define YYMALLOC malloc
+# endif
+
+/* The parser invokes alloca or malloc; define the necessary symbols.  */
+
+# ifdef YYSTACK_USE_ALLOCA
+#  if YYSTACK_USE_ALLOCA
+#   define YYSTACK_ALLOC alloca
+#  endif
+# else
+#  if defined (alloca) || defined (_ALLOCA_H)
+#   define YYSTACK_ALLOC alloca
+#  else
+#   ifdef __GNUC__
+#    define YYSTACK_ALLOC __builtin_alloca
+#   endif
+#  endif
+# endif
+
+# ifdef YYSTACK_ALLOC
+   /* Pacify GCC's `empty if-body' warning. */
+#  define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
+# else
+#  if defined (__STDC__) || defined (__cplusplus)
+#   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
+#   define YYSIZE_T size_t
+#  endif
+#  define YYSTACK_ALLOC YYMALLOC
+#  define YYSTACK_FREE YYFREE
+# endif
+#endif /* ! defined (yyoverflow) || YYERROR_VERBOSE */
+
+
+#if (! defined (yyoverflow) \
+     && (! defined (__cplusplus) \
+	 || (defined (YYSTYPE_IS_TRIVIAL) && YYSTYPE_IS_TRIVIAL)))
+
+/* A type that is properly aligned for any stack member.  */
+union yyalloc
+{
+  short int yyss;
+  YYSTYPE yyvs;
+  };
+
+/* The size of the maximum gap between one aligned stack and the next.  */
+# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
+
+/* The size of an array large to enough to hold all stacks, each with
+   N elements.  */
+# define YYSTACK_BYTES(N) \
+     ((N) * (sizeof (short int) + sizeof (YYSTYPE))			\
+      + YYSTACK_GAP_MAXIMUM)
+
+/* Copy COUNT objects from FROM to TO.  The source and destination do
+   not overlap.  */
+# ifndef YYCOPY
+#  if defined (__GNUC__) && 1 < __GNUC__
+#   define YYCOPY(To, From, Count) \
+      __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
+#  else
+#   define YYCOPY(To, From, Count)		\
+      do					\
+	{					\
+	  register YYSIZE_T yyi;		\
+	  for (yyi = 0; yyi < (Count); yyi++)	\
+	    (To)[yyi] = (From)[yyi];		\
+	}					\
+      while (0)
+#  endif
+# endif
+
+/* Relocate STACK from its old location to the new one.  The
+   local variables YYSIZE and YYSTACKSIZE give the old and new number of
+   elements in the stack, and YYPTR gives the new location of the
+   stack.  Advance YYPTR to a properly aligned location for the next
+   stack.  */
+# define YYSTACK_RELOCATE(Stack)					\
+    do									\
+      {									\
+	YYSIZE_T yynewbytes;						\
+	YYCOPY (&yyptr->Stack, Stack, yysize);				\
+	Stack = &yyptr->Stack;						\
+	yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
+	yyptr += yynewbytes / sizeof (*yyptr);				\
+      }									\
+    while (0)
 
-#ifndef __cplusplus
-#ifndef __STDC__
-#define const
-#endif
 #endif
 
+#if defined (__STDC__) || defined (__cplusplus)
+   typedef signed char yysigned_char;
+#else
+   typedef short int yysigned_char;
+#endif
 
-
-#define	YYFINAL		117
-#define	YYFLAG		-32768
-#define	YYNTBASE	41
-
-#define YYTRANSLATE(x) ((unsigned)(x) <= 292 ? yytranslate[x] : 71)
-
-static const char yytranslate[] = {     0,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,    39,     2,    40,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     1,     3,     4,     5,     6,
-     7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
-    17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
-    27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
-    37,    38
+/* YYFINAL -- State number of the termination state. */
+#define YYFINAL  53
+/* YYLAST -- Last index in YYTABLE.  */
+#define YYLAST   108
+
+/* YYNTOKENS -- Number of terminals. */
+#define YYNTOKENS  41
+/* YYNNTS -- Number of nonterminals. */
+#define YYNNTS  31
+/* YYNRULES -- Number of rules. */
+#define YYNRULES  79
+/* YYNRULES -- Number of states. */
+#define YYNSTATES  117
+
+/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
+#define YYUNDEFTOK  2
+#define YYMAXUTOK   293
+
+#define YYTRANSLATE(YYX) 						\
+  ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
+
+/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */
+static const unsigned char yytranslate[] =
+{
+       0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,    39,     2,    40,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     1,     2,     3,     4,
+       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
+      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
+      25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
+      35,    36,    37,    38
 };
 
-#if YYDEBUG != 0
-static const short yyprhs[] = {     0,
-     0,     3,     4,     7,     8,    11,    14,    17,    20,    23,
-    26,    29,    30,    35,    36,    40,    41,    44,    49,    52,
-    54,    56,    58,    60,    62,    66,    67,    70,    72,    76,
-    77,    80,    82,    86,    87,    90,    92,    96,    97,   100,
-   102,   106,   107,   110,   113,   118,   120,   122,   124,   126,
-   128,   131,   134,   137,   140,   143,   145,   147,   150,   152,
-   154,   157,   158,   160,   162,   164,   166,   168,   170,   172,
-   174,   176,   179,   180,   184,   186,   188,   190
+#if YYDEBUG
+/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
+   YYRHS.  */
+static const unsigned char yyprhs[] =
+{
+       0,     0,     3,     6,     7,    10,    11,    14,    17,    20,
+      23,    26,    29,    32,    33,    38,    39,    43,    44,    47,
+      52,    55,    57,    59,    61,    63,    65,    69,    70,    73,
+      75,    79,    80,    83,    85,    89,    90,    93,    95,    99,
+     100,   103,   105,   109,   110,   113,   116,   121,   123,   125,
+     127,   129,   131,   134,   137,   140,   143,   146,   148,   150,
+     153,   155,   157,   160,   161,   163,   165,   167,   169,   171,
+     173,   175,   177,   179,   182,   183,   187,   189,   191,   193
 };
 
-static const short yyrhs[] = {    42,
-    43,     0,     0,    44,    42,     0,     0,    45,    43,     0,
-     3,    65,     0,     9,    50,     0,    14,    52,     0,    16,
-    54,     0,     4,    56,     0,    25,    58,     0,     0,    28,
-    38,    46,    47,     0,     0,    39,    48,    40,     0,     0,
-    49,    48,     0,    21,    30,    22,    30,     0,    17,    66,
-     0,    34,     0,    31,     0,    37,     0,    29,     0,    60,
-     0,    39,    51,    40,     0,     0,    60,    51,     0,    61,
-     0,    39,    53,    40,     0,     0,    61,    53,     0,    62,
-     0,    39,    55,    40,     0,     0,    62,    55,     0,    63,
-     0,    39,    57,    40,     0,     0,    63,    57,     0,    67,
-     0,    39,    59,    40,     0,     0,    67,    59,     0,     3,
-    65,     0,    21,    30,    22,    30,     0,    10,     0,    11,
-     0,    12,     0,    13,     0,    19,     0,    17,    66,     0,
-     3,    65,     0,     3,    65,     0,    15,    38,     0,    23,
-    30,     0,    34,     0,    31,     0,     3,    65,     0,    32,
-     0,    33,     0,    24,    64,     0,     0,    30,     0,     4,
-     0,     5,     0,     6,     0,     7,     0,     8,     0,    18,
-     0,    19,     0,    20,     0,     3,    65,     0,     0,    69,
-    68,    70,     0,    26,     0,    27,     0,    35,     0,    36,
-     0
+/* YYRHS -- A `-1'-separated list of the rules' RHS. */
+static const yysigned_char yyrhs[] =
+{
+      42,     0,    -1,    43,    44,    -1,    -1,    45,    43,    -1,
+      -1,    46,    44,    -1,     3,    66,    -1,     9,    51,    -1,
+      14,    53,    -1,    16,    55,    -1,     4,    57,    -1,    25,
+      59,    -1,    -1,    28,    38,    47,    48,    -1,    -1,    39,
+      49,    40,    -1,    -1,    50,    49,    -1,    21,    30,    22,
+      30,    -1,    17,    67,    -1,    34,    -1,    31,    -1,    37,
+      -1,    29,    -1,    61,    -1,    39,    52,    40,    -1,    -1,
+      61,    52,    -1,    62,    -1,    39,    54,    40,    -1,    -1,
+      62,    54,    -1,    63,    -1,    39,    56,    40,    -1,    -1,
+      63,    56,    -1,    64,    -1,    39,    58,    40,    -1,    -1,
+      64,    58,    -1,    68,    -1,    39,    60,    40,    -1,    -1,
+      68,    60,    -1,     3,    66,    -1,    21,    30,    22,    30,
+      -1,    10,    -1,    11,    -1,    12,    -1,    13,    -1,    19,
+      -1,    17,    67,    -1,     3,    66,    -1,     3,    66,    -1,
+      15,    38,    -1,    23,    30,    -1,    34,    -1,    31,    -1,
+       3,    66,    -1,    32,    -1,    33,    -1,    24,    65,    -1,
+      -1,    30,    -1,     4,    -1,     5,    -1,     6,    -1,     7,
+      -1,     8,    -1,    18,    -1,    19,    -1,    20,    -1,     3,
+      66,    -1,    -1,    70,    69,    71,    -1,    26,    -1,    27,
+      -1,    35,    -1,    36,    -1
 };
 
-#endif
-
-#if YYDEBUG != 0
-static const short yyrline[] = { 0,
-    73,    77,    78,    81,    82,   105,   110,   111,   112,   113,
-   114,   117,   138,   140,   141,   144,   145,   148,   153,   154,
-   158,   162,   176,   182,   184,   187,   188,   191,   193,   196,
-   197,   200,   202,   205,   206,   209,   211,   214,   215,   218,
-   220,   223,   224,   227,   234,   238,   247,   256,   265,   274,
-   279,   282,   290,   295,   299,   304,   308,   314,   319,   324,
-   328,   334,   338,   344,   349,   353,   357,   361,   367,   372,
-   376,   382,   387,   393,   395,   400,   406,   412
+/* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
+static const unsigned short int yyrline[] =
+{
+       0,    77,    77,    80,    81,    84,    85,   109,   113,   114,
+     115,   116,   117,   122,   121,   151,   152,   155,   156,   160,
+     164,   165,   169,   173,   187,   194,   195,   198,   199,   203,
+     204,   207,   208,   212,   213,   216,   217,   221,   222,   225,
+     226,   230,   231,   234,   235,   239,   245,   249,   258,   267,
+     276,   285,   290,   294,   302,   306,   310,   315,   319,   326,
+     330,   335,   339,   346,   349,   356,   360,   364,   368,   372,
+     379,   383,   387,   394,   399,   398,   407,   411,   418,   423
 };
 #endif
 
-
-#if YYDEBUG != 0 || defined (YYERROR_VERBOSE)
-
-static const char * const yytname[] = {   "$","error","$undefined.","TOK_LEVEL",
-"TOK_DEBUG","TOK_INFO","TOK_WARN","TOK_ERROR","TOK_FATAL","TOK_SIG","TOK_UNI30",
-"TOK_UNI31","TOK_UNI40","TOK_Q2963_1","TOK_SAAL","TOK_VC","TOK_IO","TOK_MODE",
-"TOK_USER","TOK_NET","TOK_SWITCH","TOK_VPCI","TOK_ITF","TOK_PCR","TOK_TRACE",
-"TOK_POLICY","TOK_ALLOW","TOK_REJECT","TOK_ENTITY","TOK_DEFAULT","TOK_NUMBER",
-"TOK_MAX_RATE","TOK_DUMP_DIR","TOK_LOGFILE","TOK_QOS","TOK_FROM","TOK_TO","TOK_ROUTE",
-"TOK_PVC","'{'","'}'","all","global","local","item","entity","@1","opt_options",
-"options","option","sig","sig_items","saal","saal_items","io","io_items","debug",
-"debug_items","policy","policy_items","sig_item","saal_item","io_item","debug_item",
-"opt_trace_size","level","mode","policy_item","@2","action","direction", NULL
+#if YYDEBUG || YYERROR_VERBOSE
+/* YYTNME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
+   First, the terminals, then, starting at YYNTOKENS, nonterminals. */
+static const char *const yytname[] =
+{
+  "$end", "error", "$undefined", "TOK_LEVEL", "TOK_DEBUG", "TOK_INFO",
+  "TOK_WARN", "TOK_ERROR", "TOK_FATAL", "TOK_SIG", "TOK_UNI30",
+  "TOK_UNI31", "TOK_UNI40", "TOK_Q2963_1", "TOK_SAAL", "TOK_VC", "TOK_IO",
+  "TOK_MODE", "TOK_USER", "TOK_NET", "TOK_SWITCH", "TOK_VPCI", "TOK_ITF",
+  "TOK_PCR", "TOK_TRACE", "TOK_POLICY", "TOK_ALLOW", "TOK_REJECT",
+  "TOK_ENTITY", "TOK_DEFAULT", "TOK_NUMBER", "TOK_MAX_RATE",
+  "TOK_DUMP_DIR", "TOK_LOGFILE", "TOK_QOS", "TOK_FROM", "TOK_TO",
+  "TOK_ROUTE", "TOK_PVC", "'{'", "'}'", "$accept", "all", "global",
+  "local", "item", "entity", "@1", "opt_options", "options", "option",
+  "sig", "sig_items", "saal", "saal_items", "io", "io_items", "debug",
+  "debug_items", "policy", "policy_items", "sig_item", "saal_item",
+  "io_item", "debug_item", "opt_trace_size", "level", "mode",
+  "policy_item", "@2", "action", "direction", 0
 };
 #endif
 
-static const short yyr1[] = {     0,
-    41,    42,    42,    43,    43,    44,    44,    44,    44,    44,
-    44,    46,    45,    47,    47,    48,    48,    49,    49,    49,
-    49,    49,    49,    50,    50,    51,    51,    52,    52,    53,
-    53,    54,    54,    55,    55,    56,    56,    57,    57,    58,
-    58,    59,    59,    60,    60,    60,    60,    60,    60,    60,
-    60,    61,    62,    62,    62,    62,    62,    63,    63,    63,
-    63,    64,    64,    65,    65,    65,    65,    65,    66,    66,
-    66,    67,    68,    67,    69,    69,    70,    70
+# ifdef YYPRINT
+/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
+   token YYLEX-NUM.  */
+static const unsigned short int yytoknum[] =
+{
+       0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
+     265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
+     275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
+     285,   286,   287,   288,   289,   290,   291,   292,   293,   123,
+     125
 };
+# endif
 
-static const short yyr2[] = {     0,
-     2,     0,     2,     0,     2,     2,     2,     2,     2,     2,
-     2,     0,     4,     0,     3,     0,     2,     4,     2,     1,
-     1,     1,     1,     1,     3,     0,     2,     1,     3,     0,
-     2,     1,     3,     0,     2,     1,     3,     0,     2,     1,
-     3,     0,     2,     2,     4,     1,     1,     1,     1,     1,
-     2,     2,     2,     2,     2,     1,     1,     2,     1,     1,
-     2,     0,     1,     1,     1,     1,     1,     1,     1,     1,
-     1,     2,     0,     3,     1,     1,     1,     1
+/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
+static const unsigned char yyr1[] =
+{
+       0,    41,    42,    43,    43,    44,    44,    45,    45,    45,
+      45,    45,    45,    47,    46,    48,    48,    49,    49,    50,
+      50,    50,    50,    50,    50,    51,    51,    52,    52,    53,
+      53,    54,    54,    55,    55,    56,    56,    57,    57,    58,
+      58,    59,    59,    60,    60,    61,    61,    61,    61,    61,
+      61,    61,    61,    62,    63,    63,    63,    63,    63,    64,
+      64,    64,    64,    65,    65,    66,    66,    66,    66,    66,
+      67,    67,    67,    68,    69,    68,    70,    70,    71,    71
 };
 
-static const short yydefact[] = {     2,
-     0,     0,     0,     0,     0,     0,     4,     2,    64,    65,
-    66,    67,    68,     6,     0,    62,    59,    60,    38,    10,
-    36,     0,    46,    47,    48,    49,     0,    50,     0,    26,
-     7,    24,     0,    30,     8,    28,     0,     0,     0,    57,
-    56,    34,     9,    32,     0,    75,    76,    42,    11,    40,
-    73,     0,     1,     4,     3,    58,    63,    61,     0,    38,
-    44,    69,    70,    71,    51,     0,     0,    26,    52,     0,
-    30,    53,    54,    55,     0,    34,    72,     0,    42,     0,
-    12,     5,    37,    39,     0,    25,    27,    29,    31,    33,
-    35,    41,    43,    77,    78,    74,    14,    45,    16,    13,
-     0,     0,    23,    21,    20,    22,     0,    16,    19,     0,
-    15,    17,     0,    18,     0,     0,     0
+/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
+static const unsigned char yyr2[] =
+{
+       0,     2,     2,     0,     2,     0,     2,     2,     2,     2,
+       2,     2,     2,     0,     4,     0,     3,     0,     2,     4,
+       2,     1,     1,     1,     1,     1,     3,     0,     2,     1,
+       3,     0,     2,     1,     3,     0,     2,     1,     3,     0,
+       2,     1,     3,     0,     2,     2,     4,     1,     1,     1,
+       1,     1,     2,     2,     2,     2,     2,     1,     1,     2,
+       1,     1,     2,     0,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     2,     0,     3,     1,     1,     1,     1
 };
 
-static const short yydefgoto[] = {   115,
-     7,    53,     8,    54,    97,   100,   107,   108,    31,    67,
-    35,    70,    43,    75,    20,    59,    49,    78,    68,    71,
-    76,    60,    58,    14,    65,    79,    80,    51,    96
+/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
+   STATE-NUM when YYTABLE doesn't specify something else to do.  Zero
+   means the default is an error.  */
+static const unsigned char yydefact[] =
+{
+       3,     0,     0,     0,     0,     0,     0,     0,     5,     3,
+      65,    66,    67,    68,    69,     7,     0,    63,    60,    61,
+      39,    11,    37,     0,    47,    48,    49,    50,     0,    51,
+       0,    27,     8,    25,     0,    31,     9,    29,     0,     0,
+       0,    58,    57,    35,    10,    33,     0,    76,    77,    43,
+      12,    41,    74,     1,     0,     2,     5,     4,    59,    64,
+      62,     0,    39,    45,    70,    71,    72,    52,     0,     0,
+      27,    53,     0,    31,    54,    55,    56,     0,    35,    73,
+       0,    43,     0,    13,     6,    38,    40,     0,    26,    28,
+      30,    32,    34,    36,    42,    44,    78,    79,    75,    15,
+      46,    17,    14,     0,     0,    24,    22,    21,    23,     0,
+      17,    20,     0,    16,    18,     0,    19
 };
 
-static const short yypact[] = {    52,
-   100,     1,    -3,    -1,    -2,     0,   -17,    52,-32768,-32768,
--32768,-32768,-32768,-32768,   100,   -18,-32768,-32768,    25,-32768,
--32768,   100,-32768,-32768,-32768,-32768,    60,-32768,   -15,    82,
--32768,-32768,   100,    14,-32768,-32768,   100,   -19,   -10,-32768,
--32768,    20,-32768,-32768,   100,-32768,-32768,    19,-32768,-32768,
--32768,   -14,-32768,   -17,-32768,-32768,-32768,-32768,    -9,    25,
--32768,-32768,-32768,-32768,-32768,     8,     2,    82,-32768,     4,
-    14,-32768,-32768,-32768,     7,    20,-32768,    10,    19,   -30,
--32768,-32768,-32768,-32768,    22,-32768,-32768,-32768,-32768,-32768,
--32768,-32768,-32768,-32768,-32768,-32768,    21,-32768,    53,-32768,
-    60,    23,-32768,-32768,-32768,-32768,    24,    53,-32768,    40,
--32768,-32768,    35,-32768,    67,    69,-32768
+/* YYDEFGOTO[NTERM-NUM]. */
+static const yysigned_char yydefgoto[] =
+{
+      -1,     7,     8,    55,     9,    56,    99,   102,   109,   110,
+      32,    69,    36,    72,    44,    77,    21,    61,    50,    80,
+      70,    73,    78,    62,    60,    15,    67,    81,    82,    52,
+      98
 };
 
-static const short yypgoto[] = {-32768,
-    64,    27,-32768,-32768,-32768,-32768,   -35,-32768,-32768,    15,
--32768,     5,-32768,    12,-32768,    29,-32768,    -4,    83,    87,
-    91,    95,-32768,    26,     9,    92,-32768,-32768,-32768
+/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
+   STATE-NUM.  */
+#define YYPACT_NINF -31
+static const yysigned_char yypact[] =
+{
+      53,    69,     1,    -3,    -1,    -2,     0,    11,   -16,    53,
+     -31,   -31,   -31,   -31,   -31,   -31,    69,   -15,   -31,   -31,
+      28,   -31,   -31,    69,   -31,   -31,   -31,   -31,    46,   -31,
+     -13,    80,   -31,   -31,    69,    16,   -31,   -31,    69,   -18,
+      -6,   -31,   -31,    20,   -31,   -31,    69,   -31,   -31,    19,
+     -31,   -31,   -31,   -31,   -10,   -31,   -16,   -31,   -31,   -31,
+     -31,     2,    28,   -31,   -31,   -31,   -31,   -31,     8,     4,
+      80,   -31,     7,    16,   -31,   -31,   -31,     9,    20,   -31,
+      10,    19,   -30,   -31,   -31,   -31,   -31,    23,   -31,   -31,
+     -31,   -31,   -31,   -31,   -31,   -31,   -31,   -31,   -31,    31,
+     -31,    51,   -31,    46,    49,   -31,   -31,   -31,   -31,    15,
+      51,   -31,    36,   -31,   -31,    54,   -31
 };
 
-
-#define	YYLAST		110
-
-
-static const short yytable[] = {    22,
-    37,    33,    45,    15,    94,    95,    23,    24,    25,    26,
-    52,    57,    38,    27,    66,    28,    33,    29,    73,    74,
-    39,    45,    37,    81,    16,    46,    47,    15,    40,    85,
-    83,    41,    17,    18,    38,    30,    42,    34,    48,    19,
-    56,    86,    39,    88,    46,    47,    90,    61,    16,    92,
-    40,    98,   110,    41,     1,     2,    17,    18,    69,    99,
-     3,   113,    72,   111,   114,     4,   116,     5,   117,   101,
-    77,    55,   112,   102,    93,    89,     6,    62,    63,    64,
-    82,   103,    87,   104,    22,    32,   105,    91,    84,   106,
-    36,    23,    24,    25,    26,    44,    21,    50,    27,     0,
-    28,     0,    29,     9,    10,    11,    12,    13,     0,   109
+/* YYPGOTO[NTERM-NUM].  */
+static const yysigned_char yypgoto[] =
+{
+     -31,   -31,    72,    30,   -31,   -31,   -31,   -31,   -23,   -31,
+     -31,    24,   -31,    22,   -31,    18,   -31,    27,   -31,    17,
+      97,    98,    99,   101,   -31,    25,     3,   102,   -31,   -31,
+     -31
 };
 
-static const short yycheck[] = {     3,
-     3,     3,     3,     3,    35,    36,    10,    11,    12,    13,
-    28,    30,    15,    17,    30,    19,     3,    21,    38,    30,
-    23,     3,     3,    38,    24,    26,    27,     3,    31,    22,
-    40,    34,    32,    33,    15,    39,    39,    39,    39,    39,
-    15,    40,    23,    40,    26,    27,    40,    22,    24,    40,
-    31,    30,    30,    34,     3,     4,    32,    33,    33,    39,
-     9,    22,    37,    40,    30,    14,     0,    16,     0,    17,
-    45,     8,   108,    21,    79,    71,    25,    18,    19,    20,
-    54,    29,    68,    31,     3,     3,    34,    76,    60,    37,
-     4,    10,    11,    12,    13,     5,     2,     6,    17,    -1,
-    19,    -1,    21,     4,     5,     6,     7,     8,    -1,   101
+/* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
+   positive, shift that token.  If negative, reduce the rule which
+   number is the opposite.  If zero, do what YYDEFACT says.
+   If YYTABLE_NINF, syntax error.  */
+#define YYTABLE_NINF -1
+static const unsigned char yytable[] =
+{
+      23,    38,    34,    46,    16,    96,    97,    24,    25,    26,
+      27,    53,    54,    39,    28,    59,    29,    68,    30,    34,
+      75,    40,    46,    38,    76,    17,    47,    48,    83,    41,
+      87,    16,    42,    18,    19,    39,    31,    43,    35,    49,
+      20,    58,    85,    40,    88,    47,    48,    90,    63,    92,
+      94,    41,    17,   100,    42,   113,     1,     2,   115,    71,
+      18,    19,     3,    74,    64,    65,    66,     4,   103,     5,
+     101,    79,   104,    10,    11,    12,    13,    14,     6,   112,
+     105,    57,   106,    23,   116,   107,    84,   114,   108,    86,
+      24,    25,    26,    27,    89,    91,    93,    28,    95,    29,
+      33,    30,    37,    22,    45,     0,   111,     0,    51
 };
-/* -*-C-*-  Note some compilers choke on comments on `#line' lines.  */
-#line 3 "/usr/lib/bison.simple"
-/* This file comes from bison-1.28.  */
-
-/* Skeleton output parser for bison,
-   Copyright (C) 1984, 1989, 1990 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., 59 Temple Place - Suite 330,
-   Boston, MA 02111-1307, USA.  */
-
-/* As a special exception, when this file is copied by Bison into a
-   Bison output file, you may use that output file without restriction.
-   This special exception was added by the Free Software Foundation
-   in version 1.24 of Bison.  */
+static const yysigned_char yycheck[] =
+{
+       3,     3,     3,     3,     3,    35,    36,    10,    11,    12,
+      13,     0,    28,    15,    17,    30,    19,    30,    21,     3,
+      38,    23,     3,     3,    30,    24,    26,    27,    38,    31,
+      22,     3,    34,    32,    33,    15,    39,    39,    39,    39,
+      39,    16,    40,    23,    40,    26,    27,    40,    23,    40,
+      40,    31,    24,    30,    34,    40,     3,     4,    22,    34,
+      32,    33,     9,    38,    18,    19,    20,    14,    17,    16,
+      39,    46,    21,     4,     5,     6,     7,     8,    25,    30,
+      29,     9,    31,     3,    30,    34,    56,   110,    37,    62,
+      10,    11,    12,    13,    70,    73,    78,    17,    81,    19,
+       3,    21,     4,     2,     5,    -1,   103,    -1,     6
+};
 
-/* This is the parser code that is written into each bison parser
-  when the %semantic_parser declaration is not specified in the grammar.
-  It was written by Richard Stallman by simplifying the hairy parser
-  used when %semantic_parser is specified.  */
-
-#ifndef YYSTACK_USE_ALLOCA
-#ifdef alloca
-#define YYSTACK_USE_ALLOCA
-#else /* alloca not defined */
-#ifdef __GNUC__
-#define YYSTACK_USE_ALLOCA
-#define alloca __builtin_alloca
-#else /* not GNU C.  */
-#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi) || (defined (__sun) && defined (__i386))
-#define YYSTACK_USE_ALLOCA
-#include <alloca.h>
-#else /* not sparc */
-/* We think this test detects Watcom and Microsoft C.  */
-/* This used to test MSDOS, but that is a bad idea
-   since that symbol is in the user namespace.  */
-#if (defined (_MSDOS) || defined (_MSDOS_)) && !defined (__TURBOC__)
-#if 0 /* No need for malloc.h, which pollutes the namespace;
-	 instead, just don't use alloca.  */
-#include <malloc.h>
-#endif
-#else /* not MSDOS, or __TURBOC__ */
-#if defined(_AIX)
-/* I don't know what this was needed for, but it pollutes the namespace.
-   So I turned it off.   rms, 2 May 1997.  */
-/* #include <malloc.h>  */
- #pragma alloca
-#define YYSTACK_USE_ALLOCA
-#else /* not MSDOS, or __TURBOC__, or _AIX */
-#if 0
-#ifdef __hpux /* haible@ilog.fr says this works for HPUX 9.05 and up,
-		 and on HPUX 10.  Eventually we can turn this on.  */
-#define YYSTACK_USE_ALLOCA
-#define alloca __builtin_alloca
-#endif /* __hpux */
-#endif
-#endif /* not _AIX */
-#endif /* not MSDOS, or __TURBOC__ */
-#endif /* not sparc */
-#endif /* not GNU C */
-#endif /* alloca not defined */
-#endif /* YYSTACK_USE_ALLOCA not defined */
+/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
+   symbol of state STATE-NUM.  */
+static const unsigned char yystos[] =
+{
+       0,     3,     4,     9,    14,    16,    25,    42,    43,    45,
+       4,     5,     6,     7,     8,    66,     3,    24,    32,    33,
+      39,    57,    64,     3,    10,    11,    12,    13,    17,    19,
+      21,    39,    51,    61,     3,    39,    53,    62,     3,    15,
+      23,    31,    34,    39,    55,    63,     3,    26,    27,    39,
+      59,    68,    70,     0,    28,    44,    46,    43,    66,    30,
+      65,    58,    64,    66,    18,    19,    20,    67,    30,    52,
+      61,    66,    54,    62,    66,    38,    30,    56,    63,    66,
+      60,    68,    69,    38,    44,    40,    58,    22,    40,    52,
+      40,    54,    40,    56,    40,    60,    35,    36,    71,    47,
+      30,    39,    48,    17,    21,    29,    31,    34,    37,    49,
+      50,    67,    30,    40,    49,    22,    30
+};
 
-#ifdef YYSTACK_USE_ALLOCA
-#define YYSTACK_ALLOC alloca
-#else
-#define YYSTACK_ALLOC malloc
+#if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
+# define YYSIZE_T __SIZE_TYPE__
+#endif
+#if ! defined (YYSIZE_T) && defined (size_t)
+# define YYSIZE_T size_t
+#endif
+#if ! defined (YYSIZE_T)
+# if defined (__STDC__) || defined (__cplusplus)
+#  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
+#  define YYSIZE_T size_t
+# endif
+#endif
+#if ! defined (YYSIZE_T)
+# define YYSIZE_T unsigned int
 #endif
-
-/* Note: there must be only one dollar sign in this file.
-   It is replaced by the list of actions, each action
-   as one case of the switch.  */
 
 #define yyerrok		(yyerrstatus = 0)
 #define yyclearin	(yychar = YYEMPTY)
-#define YYEMPTY		-2
+#define YYEMPTY		(-2)
 #define YYEOF		0
+
 #define YYACCEPT	goto yyacceptlab
-#define YYABORT 	goto yyabortlab
-#define YYERROR		goto yyerrlab1
-/* Like YYERROR except do call yyerror.
-   This remains here temporarily to ease the
-   transition to the new meaning of YYERROR, for GCC.
+#define YYABORT		goto yyabortlab
+#define YYERROR		goto yyerrorlab
+
+
+/* Like YYERROR except do call yyerror.  This remains here temporarily
+   to ease the transition to the new meaning of YYERROR, for GCC.
    Once GCC version 2 has supplanted version 1, this can go.  */
+
 #define YYFAIL		goto yyerrlab
+
 #define YYRECOVERING()  (!!yyerrstatus)
-#define YYBACKUP(token, value) \
+
+#define YYBACKUP(Token, Value)					\
 do								\
   if (yychar == YYEMPTY && yylen == 1)				\
-    { yychar = (token), yylval = (value);			\
-      yychar1 = YYTRANSLATE (yychar);				\
+    {								\
+      yychar = (Token);						\
+      yylval = (Value);						\
+      yytoken = YYTRANSLATE (yychar);				\
       YYPOPSTACK;						\
       goto yybackup;						\
     }								\
   else								\
-    { yyerror ("syntax error: cannot back up"); YYERROR; }	\
+    { 								\
+      yyerror ("syntax error: cannot back up");\
+      YYERROR;							\
+    }								\
 while (0)
 
 #define YYTERROR	1
 #define YYERRCODE	256
 
-#ifndef YYPURE
-#define YYLEX		yylex()
-#endif
+/* YYLLOC_DEFAULT -- Compute the default location (before the actions
+   are run).  */
 
-#ifdef YYPURE
-#ifdef YYLSP_NEEDED
-#ifdef YYLEX_PARAM
-#define YYLEX		yylex(&yylval, &yylloc, YYLEX_PARAM)
-#else
-#define YYLEX		yylex(&yylval, &yylloc)
+#ifndef YYLLOC_DEFAULT
+# define YYLLOC_DEFAULT(Current, Rhs, N)		\
+   ((Current).first_line   = (Rhs)[1].first_line,	\
+    (Current).first_column = (Rhs)[1].first_column,	\
+    (Current).last_line    = (Rhs)[N].last_line,	\
+    (Current).last_column  = (Rhs)[N].last_column)
 #endif
-#else /* not YYLSP_NEEDED */
+
+/* YYLEX -- calling `yylex' with the right arguments.  */
+
 #ifdef YYLEX_PARAM
-#define YYLEX		yylex(&yylval, YYLEX_PARAM)
+# define YYLEX yylex (YYLEX_PARAM)
 #else
-#define YYLEX		yylex(&yylval)
-#endif
-#endif /* not YYLSP_NEEDED */
+# define YYLEX yylex ()
 #endif
 
-/* If nonreentrant, generate the variables here */
+/* Enable debugging if requested.  */
+#if YYDEBUG
 
-#ifndef YYPURE
+# ifndef YYFPRINTF
+#  include <stdio.h> /* INFRINGES ON USER NAME SPACE */
+#  define YYFPRINTF fprintf
+# endif
+
+# define YYDPRINTF(Args)			\
+do {						\
+  if (yydebug)					\
+    YYFPRINTF Args;				\
+} while (0)
+
+# define YYDSYMPRINT(Args)			\
+do {						\
+  if (yydebug)					\
+    yysymprint Args;				\
+} while (0)
+
+# define YYDSYMPRINTF(Title, Token, Value, Location)		\
+do {								\
+  if (yydebug)							\
+    {								\
+      YYFPRINTF (stderr, "%s ", Title);				\
+      yysymprint (stderr, 					\
+                  Token, Value);	\
+      YYFPRINTF (stderr, "\n");					\
+    }								\
+} while (0)
 
-int	yychar;			/*  the lookahead symbol		*/
-YYSTYPE	yylval;			/*  the semantic value of the		*/
-				/*  lookahead symbol			*/
+/*------------------------------------------------------------------.
+| yy_stack_print -- Print the state stack from its BOTTOM up to its |
+| TOP (included).                                                   |
+`------------------------------------------------------------------*/
 
-#ifdef YYLSP_NEEDED
-YYLTYPE yylloc;			/*  location data for the lookahead	*/
-				/*  symbol				*/
+#if defined (__STDC__) || defined (__cplusplus)
+static void
+yy_stack_print (short int *bottom, short int *top)
+#else
+static void
+yy_stack_print (bottom, top)
+    short int *bottom;
+    short int *top;
 #endif
+{
+  YYFPRINTF (stderr, "Stack now");
+  for (/* Nothing. */; bottom <= top; ++bottom)
+    YYFPRINTF (stderr, " %d", *bottom);
+  YYFPRINTF (stderr, "\n");
+}
+
+# define YY_STACK_PRINT(Bottom, Top)				\
+do {								\
+  if (yydebug)							\
+    yy_stack_print ((Bottom), (Top));				\
+} while (0)
 
-int yynerrs;			/*  number of parse errors so far       */
-#endif  /* not YYPURE */
 
-#if YYDEBUG != 0
-int yydebug;			/*  nonzero means print parse trace	*/
-/* Since this is uninitialized, it does not stop multiple parsers
-   from coexisting.  */
+/*------------------------------------------------.
+| Report that the YYRULE is going to be reduced.  |
+`------------------------------------------------*/
+
+#if defined (__STDC__) || defined (__cplusplus)
+static void
+yy_reduce_print (int yyrule)
+#else
+static void
+yy_reduce_print (yyrule)
+    int yyrule;
 #endif
+{
+  int yyi;
+  unsigned int yylno = yyrline[yyrule];
+  YYFPRINTF (stderr, "Reducing stack by rule %d (line %u), ",
+             yyrule - 1, yylno);
+  /* Print the symbols being reduced, and their result.  */
+  for (yyi = yyprhs[yyrule]; 0 <= yyrhs[yyi]; yyi++)
+    YYFPRINTF (stderr, "%s ", yytname [yyrhs[yyi]]);
+  YYFPRINTF (stderr, "-> %s\n", yytname [yyr1[yyrule]]);
+}
+
+# define YY_REDUCE_PRINT(Rule)		\
+do {					\
+  if (yydebug)				\
+    yy_reduce_print (Rule);		\
+} while (0)
+
+/* Nonzero means print parse trace.  It is left uninitialized so that
+   multiple parsers can coexist.  */
+int yydebug;
+#else /* !YYDEBUG */
+# define YYDPRINTF(Args)
+# define YYDSYMPRINT(Args)
+# define YYDSYMPRINTF(Title, Token, Value, Location)
+# define YY_STACK_PRINT(Bottom, Top)
+# define YY_REDUCE_PRINT(Rule)
+#endif /* !YYDEBUG */
 
-/*  YYINITDEPTH indicates the initial size of the parser's stacks	*/
 
+/* YYINITDEPTH -- initial size of the parser's stacks.  */
 #ifndef	YYINITDEPTH
-#define YYINITDEPTH 200
+# define YYINITDEPTH 200
 #endif
 
-/*  YYMAXDEPTH is the maximum size the stacks can grow to
-    (effective only if the built-in stack extension method is used).  */
+/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
+   if the built-in stack extension method is used).
 
-#if YYMAXDEPTH == 0
-#undef YYMAXDEPTH
+   Do not make this value too large; the results are undefined if
+   SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH)
+   evaluated with infinite-precision integer arithmetic.  */
+
+#if defined (YYMAXDEPTH) && YYMAXDEPTH == 0
+# undef YYMAXDEPTH
 #endif
 
 #ifndef YYMAXDEPTH
-#define YYMAXDEPTH 10000
+# define YYMAXDEPTH 10000
 #endif
+
 
-/* Define __yy_memcpy.  Note that the size argument
-   should be passed with type unsigned int, because that is what the non-GCC
-   definitions require.  With GCC, __builtin_memcpy takes an arg
-   of type size_t, but it can handle unsigned int.  */
-
-#if __GNUC__ > 1		/* GNU C and GNU C++ define this.  */
-#define __yy_memcpy(TO,FROM,COUNT)	__builtin_memcpy(TO,FROM,COUNT)
-#else				/* not GNU C or C++ */
-#ifndef __cplusplus
 
-/* This is the most reliable way to avoid incompatibilities
-   in available built-in functions on various systems.  */
-static void
-__yy_memcpy (to, from, count)
-     char *to;
-     char *from;
-     unsigned int count;
-{
-  register char *f = from;
-  register char *t = to;
-  register int i = count;
+#if YYERROR_VERBOSE
 
-  while (i-- > 0)
-    *t++ = *f++;
+# ifndef yystrlen
+#  if defined (__GLIBC__) && defined (_STRING_H)
+#   define yystrlen strlen
+#  else
+/* Return the length of YYSTR.  */
+static YYSIZE_T
+#   if defined (__STDC__) || defined (__cplusplus)
+yystrlen (const char *yystr)
+#   else
+yystrlen (yystr)
+     const char *yystr;
+#   endif
+{
+  register const char *yys = yystr;
+
+  while (*yys++ != '\0')
+    continue;
+
+  return yys - yystr - 1;
 }
+#  endif
+# endif
 
-#else /* __cplusplus */
+# ifndef yystpcpy
+#  if defined (__GLIBC__) && defined (_STRING_H) && defined (_GNU_SOURCE)
+#   define yystpcpy stpcpy
+#  else
+/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
+   YYDEST.  */
+static char *
+#   if defined (__STDC__) || defined (__cplusplus)
+yystpcpy (char *yydest, const char *yysrc)
+#   else
+yystpcpy (yydest, yysrc)
+     char *yydest;
+     const char *yysrc;
+#   endif
+{
+  register char *yyd = yydest;
+  register const char *yys = yysrc;
+
+  while ((*yyd++ = *yys++) != '\0')
+    continue;
+
+  return yyd - 1;
+}
+#  endif
+# endif
 
-/* This is the most reliable way to avoid incompatibilities
-   in available built-in functions on various systems.  */
+#endif /* !YYERROR_VERBOSE */
+
+
+
+#if YYDEBUG
+/*--------------------------------.
+| Print this symbol on YYOUTPUT.  |
+`--------------------------------*/
+
+#if defined (__STDC__) || defined (__cplusplus)
 static void
-__yy_memcpy (char *to, char *from, unsigned int count)
+yysymprint (FILE *yyoutput, int yytype, YYSTYPE *yyvaluep)
+#else
+static void
+yysymprint (yyoutput, yytype, yyvaluep)
+    FILE *yyoutput;
+    int yytype;
+    YYSTYPE *yyvaluep;
+#endif
 {
-  register char *t = to;
-  register char *f = from;
-  register int i = count;
+  /* Pacify ``unused variable'' warnings.  */
+  (void) yyvaluep;
 
-  while (i-- > 0)
-    *t++ = *f++;
+  if (yytype < YYNTOKENS)
+    {
+      YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
+# ifdef YYPRINT
+      YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
+# endif
+    }
+  else
+    YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
+
+  switch (yytype)
+    {
+      default:
+        break;
+    }
+  YYFPRINTF (yyoutput, ")");
 }
 
+#endif /* ! YYDEBUG */
+/*-----------------------------------------------.
+| Release the memory associated to this symbol.  |
+`-----------------------------------------------*/
+
+#if defined (__STDC__) || defined (__cplusplus)
+static void
+yydestruct (int yytype, YYSTYPE *yyvaluep)
+#else
+static void
+yydestruct (yytype, yyvaluep)
+    int yytype;
+    YYSTYPE *yyvaluep;
 #endif
-#endif
+{
+  /* Pacify ``unused variable'' warnings.  */
+  (void) yyvaluep;
+
+  switch (yytype)
+    {
+
+      default:
+        break;
+    }
+}
 
-#line 217 "/usr/lib/bison.simple"
 
-/* The user can define YYPARSE_PARAM as the name of an argument to be passed
-   into yyparse.  The argument should have type void *.
-   It should actually point to an object.
-   Grammar actions can access the variable by casting it
-   to the proper pointer type.  */
+/* Prevent warnings from -Wmissing-prototypes.  */
 
 #ifdef YYPARSE_PARAM
-#ifdef __cplusplus
-#define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
-#define YYPARSE_PARAM_DECL
-#else /* not __cplusplus */
-#define YYPARSE_PARAM_ARG YYPARSE_PARAM
-#define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
-#endif /* not __cplusplus */
-#else /* not YYPARSE_PARAM */
-#define YYPARSE_PARAM_ARG
-#define YYPARSE_PARAM_DECL
-#endif /* not YYPARSE_PARAM */
+# if defined (__STDC__) || defined (__cplusplus)
+int yyparse (void *YYPARSE_PARAM);
+# else
+int yyparse ();
+# endif
+#else /* ! YYPARSE_PARAM */
+#if defined (__STDC__) || defined (__cplusplus)
+int yyparse (void);
+#else
+int yyparse ();
+#endif
+#endif /* ! YYPARSE_PARAM */
+
+
+
+/* The lookahead symbol.  */
+int yychar;
+
+/* The semantic value of the lookahead symbol.  */
+YYSTYPE yylval;
+
+/* Number of syntax errors so far.  */
+int yynerrs;
+
+
+
+/*----------.
+| yyparse.  |
+`----------*/
 
-/* Prevent warning if -Wstrict-prototypes.  */
-#ifdef __GNUC__
 #ifdef YYPARSE_PARAM
-int yyparse (void *);
+# if defined (__STDC__) || defined (__cplusplus)
+int yyparse (void *YYPARSE_PARAM)
+# else
+int yyparse (YYPARSE_PARAM)
+  void *YYPARSE_PARAM;
+# endif
+#else /* ! YYPARSE_PARAM */
+#if defined (__STDC__) || defined (__cplusplus)
+int
+yyparse (void)
 #else
-int yyparse (void);
+int
+yyparse ()
+
 #endif
 #endif
-
-int
-yyparse(YYPARSE_PARAM_ARG)
-     YYPARSE_PARAM_DECL
 {
+  
   register int yystate;
   register int yyn;
-  register short *yyssp;
+  int yyresult;
+  /* Number of tokens to shift before error messages enabled.  */
+  int yyerrstatus;
+  /* Lookahead token as an internal (translated) token number.  */
+  int yytoken = 0;
+
+  /* Three stacks and their tools:
+     `yyss': related to states,
+     `yyvs': related to semantic values,
+     `yyls': related to locations.
+
+     Refer to the stacks thru separate pointers, to allow yyoverflow
+     to reallocate them elsewhere.  */
+
+  /* The state stack.  */
+  short int yyssa[YYINITDEPTH];
+  short int *yyss = yyssa;
+  register short int *yyssp;
+
+  /* The semantic value stack.  */
+  YYSTYPE yyvsa[YYINITDEPTH];
+  YYSTYPE *yyvs = yyvsa;
   register YYSTYPE *yyvsp;
-  int yyerrstatus;	/*  number of tokens to shift before error messages enabled */
-  int yychar1 = 0;		/*  lookahead token as an internal (translated) token number */
 
-  short	yyssa[YYINITDEPTH];	/*  the state stack			*/
-  YYSTYPE yyvsa[YYINITDEPTH];	/*  the semantic value stack		*/
 
-  short *yyss = yyssa;		/*  refer to the stacks thru separate pointers */
-  YYSTYPE *yyvs = yyvsa;	/*  to allow yyoverflow to reallocate them elsewhere */
 
-#ifdef YYLSP_NEEDED
-  YYLTYPE yylsa[YYINITDEPTH];	/*  the location stack			*/
-  YYLTYPE *yyls = yylsa;
-  YYLTYPE *yylsp;
-
-#define YYPOPSTACK   (yyvsp--, yyssp--, yylsp--)
-#else
 #define YYPOPSTACK   (yyvsp--, yyssp--)
-#endif
 
-  int yystacksize = YYINITDEPTH;
-  int yyfree_stacks = 0;
+  YYSIZE_T yystacksize = YYINITDEPTH;
 
-#ifdef YYPURE
-  int yychar;
-  YYSTYPE yylval;
-  int yynerrs;
-#ifdef YYLSP_NEEDED
-  YYLTYPE yylloc;
-#endif
-#endif
+  /* The variables used to return semantic value and location from the
+     action routines.  */
+  YYSTYPE yyval;
 
-  YYSTYPE yyval;		/*  the variable used to return		*/
-				/*  semantic values from the action	*/
-				/*  routines				*/
 
+  /* When reducing, the number of symbols on the RHS of the reduced
+     rule.  */
   int yylen;
 
-#if YYDEBUG != 0
-  if (yydebug)
-    fprintf(stderr, "Starting parse\n");
-#endif
+  YYDPRINTF ((stderr, "Starting parse\n"));
 
   yystate = 0;
   yyerrstatus = 0;
@@ -614,110 +1022,97 @@
      so that they stay on the same level as the state stack.
      The wasted elements are never initialized.  */
 
-  yyssp = yyss - 1;
+  yyssp = yyss;
   yyvsp = yyvs;
-#ifdef YYLSP_NEEDED
-  yylsp = yyls;
-#endif
 
-/* Push a new state, which is found in  yystate  .  */
-/* In all cases, when you get here, the value and location stacks
-   have just been pushed. so pushing a state here evens the stacks.  */
-yynewstate:
 
-  *++yyssp = yystate;
+  goto yysetstate;
 
-  if (yyssp >= yyss + yystacksize - 1)
-    {
-      /* Give user a chance to reallocate the stack */
-      /* Use copies of these so that the &'s don't force the real ones into memory. */
-      YYSTYPE *yyvs1 = yyvs;
-      short *yyss1 = yyss;
-#ifdef YYLSP_NEEDED
-      YYLTYPE *yyls1 = yyls;
-#endif
+/*------------------------------------------------------------.
+| yynewstate -- Push a new state, which is found in yystate.  |
+`------------------------------------------------------------*/
+ yynewstate:
+  /* In all cases, when you get here, the value and location stacks
+     have just been pushed. so pushing a state here evens the stacks.
+     */
+  yyssp++;
 
+ yysetstate:
+  *yyssp = yystate;
+
+  if (yyss + yystacksize - 1 <= yyssp)
+    {
       /* Get the current used size of the three stacks, in elements.  */
-      int size = yyssp - yyss + 1;
+      YYSIZE_T yysize = yyssp - yyss + 1;
 
 #ifdef yyoverflow
-      /* Each stack pointer address is followed by the size of
-	 the data in use in that stack, in bytes.  */
-#ifdef YYLSP_NEEDED
-      /* This used to be a conditional around just the two extra args,
-	 but that might be undefined if yyoverflow is a macro.  */
-      yyoverflow("parser stack overflow",
-		 &yyss1, size * sizeof (*yyssp),
-		 &yyvs1, size * sizeof (*yyvsp),
-		 &yyls1, size * sizeof (*yylsp),
-		 &yystacksize);
-#else
-      yyoverflow("parser stack overflow",
-		 &yyss1, size * sizeof (*yyssp),
-		 &yyvs1, size * sizeof (*yyvsp),
-		 &yystacksize);
-#endif
-
-      yyss = yyss1; yyvs = yyvs1;
-#ifdef YYLSP_NEEDED
-      yyls = yyls1;
-#endif
+      {
+	/* Give user a chance to reallocate the stack. Use copies of
+	   these so that the &'s don't force the real ones into
+	   memory.  */
+	YYSTYPE *yyvs1 = yyvs;
+	short int *yyss1 = yyss;
+
+
+	/* Each stack pointer address is followed by the size of the
+	   data in use in that stack, in bytes.  This used to be a
+	   conditional around just the two extra args, but that might
+	   be undefined if yyoverflow is a macro.  */
+	yyoverflow ("parser stack overflow",
+		    &yyss1, yysize * sizeof (*yyssp),
+		    &yyvs1, yysize * sizeof (*yyvsp),
+
+		    &yystacksize);
+
+	yyss = yyss1;
+	yyvs = yyvs1;
+      }
 #else /* no yyoverflow */
+# ifndef YYSTACK_RELOCATE
+      goto yyoverflowlab;
+# else
       /* Extend the stack our own way.  */
-      if (yystacksize >= YYMAXDEPTH)
-	{
-	  yyerror("parser stack overflow");
-	  if (yyfree_stacks)
-	    {
-	      free (yyss);
-	      free (yyvs);
-#ifdef YYLSP_NEEDED
-	      free (yyls);
-#endif
-	    }
-	  return 2;
-	}
+      if (YYMAXDEPTH <= yystacksize)
+	goto yyoverflowlab;
       yystacksize *= 2;
-      if (yystacksize > YYMAXDEPTH)
+      if (YYMAXDEPTH < yystacksize)
 	yystacksize = YYMAXDEPTH;
-#ifndef YYSTACK_USE_ALLOCA
-      yyfree_stacks = 1;
-#endif
-      yyss = (short *) YYSTACK_ALLOC (yystacksize * sizeof (*yyssp));
-      __yy_memcpy ((char *)yyss, (char *)yyss1,
-		   size * (unsigned int) sizeof (*yyssp));
-      yyvs = (YYSTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yyvsp));
-      __yy_memcpy ((char *)yyvs, (char *)yyvs1,
-		   size * (unsigned int) sizeof (*yyvsp));
-#ifdef YYLSP_NEEDED
-      yyls = (YYLTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yylsp));
-      __yy_memcpy ((char *)yyls, (char *)yyls1,
-		   size * (unsigned int) sizeof (*yylsp));
-#endif
+
+      {
+	short int *yyss1 = yyss;
+	union yyalloc *yyptr =
+	  (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
+	if (! yyptr)
+	  goto yyoverflowlab;
+	YYSTACK_RELOCATE (yyss);
+	YYSTACK_RELOCATE (yyvs);
+
+#  undef YYSTACK_RELOCATE
+	if (yyss1 != yyssa)
+	  YYSTACK_FREE (yyss1);
+      }
+# endif
 #endif /* no yyoverflow */
 
-      yyssp = yyss + size - 1;
-      yyvsp = yyvs + size - 1;
-#ifdef YYLSP_NEEDED
-      yylsp = yyls + size - 1;
-#endif
+      yyssp = yyss + yysize - 1;
+      yyvsp = yyvs + yysize - 1;
 
-#if YYDEBUG != 0
-      if (yydebug)
-	fprintf(stderr, "Stack size increased to %d\n", yystacksize);
-#endif
 
-      if (yyssp >= yyss + yystacksize - 1)
+      YYDPRINTF ((stderr, "Stack size increased to %lu\n",
+		  (unsigned long int) yystacksize));
+
+      if (yyss + yystacksize - 1 <= yyssp)
 	YYABORT;
     }
 
-#if YYDEBUG != 0
-  if (yydebug)
-    fprintf(stderr, "Entering state %d\n", yystate);
-#endif
+  YYDPRINTF ((stderr, "Entering state %d\n", yystate));
 
   goto yybackup;
- yybackup:
+
+/*-----------.
+| yybackup.  |
+`-----------*/
+yybackup:
 
 /* Do appropriate processing given the current state.  */
 /* Read a lookahead token if we need one and don't already have one.  */
@@ -726,135 +1121,99 @@
   /* First try to decide what to do without reference to lookahead token.  */
 
   yyn = yypact[yystate];
-  if (yyn == YYFLAG)
+  if (yyn == YYPACT_NINF)
     goto yydefault;
 
   /* Not known => get a lookahead token if don't already have one.  */
 
-  /* yychar is either YYEMPTY or YYEOF
-     or a valid token in external form.  */
-
+  /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol.  */
   if (yychar == YYEMPTY)
     {
-#if YYDEBUG != 0
-      if (yydebug)
-	fprintf(stderr, "Reading a token: ");
-#endif
+      YYDPRINTF ((stderr, "Reading a token: "));
       yychar = YYLEX;
     }
 
-  /* Convert token to internal form (in yychar1) for indexing tables with */
-
-  if (yychar <= 0)		/* This means end of input. */
+  if (yychar <= YYEOF)
     {
-      yychar1 = 0;
-      yychar = YYEOF;		/* Don't call YYLEX any more */
-
-#if YYDEBUG != 0
-      if (yydebug)
-	fprintf(stderr, "Now at end of input.\n");
-#endif
+      yychar = yytoken = YYEOF;
+      YYDPRINTF ((stderr, "Now at end of input.\n"));
     }
   else
     {
-      yychar1 = YYTRANSLATE(yychar);
-
-#if YYDEBUG != 0
-      if (yydebug)
-	{
-	  fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]);
-	  /* Give the individual parser a way to print the precise meaning
-	     of a token, for further debugging info.  */
-#ifdef YYPRINT
-	  YYPRINT (stderr, yychar, yylval);
-#endif
-	  fprintf (stderr, ")\n");
-	}
-#endif
+      yytoken = YYTRANSLATE (yychar);
+      YYDSYMPRINTF ("Next token is", yytoken, &yylval, &yylloc);
     }
 
-  yyn += yychar1;
-  if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1)
+  /* If the proper action on seeing token YYTOKEN is to reduce or to
+     detect an error, take that action.  */
+  yyn += yytoken;
+  if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
     goto yydefault;
-
   yyn = yytable[yyn];
-
-  /* yyn is what to do for this token type in this state.
-     Negative => reduce, -yyn is rule number.
-     Positive => shift, yyn is new state.
-       New state is final state => don't bother to shift,
-       just return success.
-     0, or most negative number => error.  */
-
-  if (yyn < 0)
+  if (yyn <= 0)
     {
-      if (yyn == YYFLAG)
+      if (yyn == 0 || yyn == YYTABLE_NINF)
 	goto yyerrlab;
       yyn = -yyn;
       goto yyreduce;
     }
-  else if (yyn == 0)
-    goto yyerrlab;
 
   if (yyn == YYFINAL)
     YYACCEPT;
 
   /* Shift the lookahead token.  */
-
-#if YYDEBUG != 0
-  if (yydebug)
-    fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]);
-#endif
+  YYDPRINTF ((stderr, "Shifting token %s, ", yytname[yytoken]));
 
   /* Discard the token being shifted unless it is eof.  */
   if (yychar != YYEOF)
     yychar = YYEMPTY;
 
   *++yyvsp = yylval;
-#ifdef YYLSP_NEEDED
-  *++yylsp = yylloc;
-#endif
 
-  /* count tokens shifted since error; after three, turn off error status.  */
-  if (yyerrstatus) yyerrstatus--;
+
+  /* Count tokens shifted since error; after three, turn off error
+     status.  */
+  if (yyerrstatus)
+    yyerrstatus--;
 
   yystate = yyn;
   goto yynewstate;
 
-/* Do the default action for the current state.  */
-yydefault:
 
+/*-----------------------------------------------------------.
+| yydefault -- do the default action for the current state.  |
+`-----------------------------------------------------------*/
+yydefault:
   yyn = yydefact[yystate];
   if (yyn == 0)
     goto yyerrlab;
+  goto yyreduce;
+
 
-/* Do a reduction.  yyn is the number of a rule to reduce with.  */
+/*-----------------------------.
+| yyreduce -- Do a reduction.  |
+`-----------------------------*/
 yyreduce:
+  /* yyn is the number of a rule to reduce with.  */
   yylen = yyr2[yyn];
-  if (yylen > 0)
-    yyval = yyvsp[1-yylen]; /* implement default value of the action */
 
-#if YYDEBUG != 0
-  if (yydebug)
-    {
-      int i;
-
-      fprintf (stderr, "Reducing via rule %d (line %d), ",
-	       yyn, yyrline[yyn]);
+  /* If YYLEN is nonzero, implement the default value of the action:
+     `$$ = $1'.
 
-      /* Print the symbols being reduced, and their result.  */
-      for (i = yyprhs[yyn]; yyrhs[i] > 0; i++)
-	fprintf (stderr, "%s ", yytname[yyrhs[i]]);
-      fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]);
-    }
-#endif
+     Otherwise, the following line sets YYVAL to garbage.
+     This behavior is undocumented and Bison
+     users should not rely upon it.  Assigning to YYVAL
+     unconditionally makes the parser a bit smaller, and it avoids a
+     GCC warning that YYVAL may be used uninitialized.  */
+  yyval = yyvsp[1-yylen];
 
 
-  switch (yyn) {
-
-case 5:
-#line 83 "cfg_y.y"
-{
+  YY_REDUCE_PRINT (yyn);
+  switch (yyn)
+    {
+        case 6:
+#line 86 "cfg_y.y"
+    {
 	    if (!curr_sig->uni)
 		curr_sig->uni =
 #if defined(UNI30) || defined(DYNAMIC_UNI)
@@ -873,17 +1232,19 @@
 #endif
 #endif
 		  ;
-	;
-    break;}
-case 6:
-#line 107 "cfg_y.y"
-{
+	}
+    break;
+
+  case 7:
+#line 110 "cfg_y.y"
+    {
 	    set_verbosity(NULL,yyvsp[0].num);
-	;
-    break;}
-case 12:
-#line 119 "cfg_y.y"
-{
+	}
+    break;
+
+  case 13:
+#line 122 "cfg_y.y"
+    {
 	    SIG_ENTITY *sig,**walk;
 
 	    if (atmpvc_addr_in_use(_entity.signaling_pvc))
@@ -892,37 +1253,49 @@
 	    if (entities == &_entity) entities = NULL;
 	    for (sig = entities; sig; sig = sig->next)
 		if (atm_equal((struct sockaddr *) &sig->signaling_pvc,
-		  (struct sockaddr *) &yyvsp[0].pvc,0,0))
-		    yyerror("duplicate PVC address %d.%d.%d",S_PVC(sig));
+		  (struct sockaddr *) &yyvsp[0].pvc,0,0)) {
+		    const char *err;
+		    asprintf(&err,"duplicate PVC address %d.%d.%d",S_PVC(sig));
+		    if(err) {
+		    	yyerror(err);
+			free(err);
+	  	    }
+		    else
+		    	yyerror("duplicate PVC address");
+		}
 	    curr_sig = alloc_t(SIG_ENTITY);
 	    *curr_sig = _entity;
 	    curr_sig->signaling_pvc = yyvsp[0].pvc;
 	    curr_sig->next = NULL;
 	    for (walk = &entities; *walk; walk = &(*walk)->next);
 	    *walk = curr_sig;
-	;
-    break;}
-case 18:
-#line 150 "cfg_y.y"
-{
+	}
+    break;
+
+  case 19:
+#line 161 "cfg_y.y"
+    {
 	    enter_vpci(curr_sig,yyvsp[-2].num,yyvsp[0].num);
-	;
-    break;}
-case 20:
-#line 155 "cfg_y.y"
-{
+	}
+    break;
+
+  case 21:
+#line 166 "cfg_y.y"
+    {
 	    curr_sig->sig_qos = yyvsp[0].str;
-	;
-    break;}
-case 21:
-#line 159 "cfg_y.y"
-{
+	}
+    break;
+
+  case 22:
+#line 170 "cfg_y.y"
+    {
 	    curr_sig->max_rate = yyvsp[0].num;
-	;
-    break;}
-case 22:
-#line 163 "cfg_y.y"
-{
+	}
+    break;
+
+  case 23:
+#line 174 "cfg_y.y"
+    {
 	     struct sockaddr_atmsvc addr;
 	     char *mask;
 
@@ -931,464 +1304,506 @@
 	    if (text2atm(yyvsp[0].str,(struct sockaddr *) &addr,sizeof(addr),
 	    T2A_SVC | T2A_WILDCARD | T2A_NAME | T2A_LOCAL) < 0) {
 		yyerror("invalid address");
-		return;
+		return 0;
 	    }
 	    add_route(curr_sig,&addr,mask ? strtol(mask,NULL,10) : INT_MAX);
-	;
-    break;}
-case 23:
-#line 177 "cfg_y.y"
-{
+	}
+    break;
+
+  case 24:
+#line 188 "cfg_y.y"
+    {
 	    add_route(curr_sig,NULL,0);
-	;
-    break;}
-case 44:
-#line 229 "cfg_y.y"
-{
+	}
+    break;
+
+  case 45:
+#line 240 "cfg_y.y"
+    {
 	    set_verbosity("UNI",yyvsp[0].num);
 	    set_verbosity("KERNEL",yyvsp[0].num);
 	    set_verbosity("SAP",yyvsp[0].num);
-	;
-    break;}
-case 45:
-#line 235 "cfg_y.y"
-{
+	}
+    break;
+
+  case 46:
+#line 246 "cfg_y.y"
+    {
 	    enter_vpci(curr_sig,yyvsp[-2].num,yyvsp[0].num);
-	;
-    break;}
-case 46:
-#line 239 "cfg_y.y"
-{
+	}
+    break;
+
+  case 47:
+#line 250 "cfg_y.y"
+    {
 #if defined(UNI30) || defined(ALLOW_UNI30) || defined(DYNAMIC_UNI)
 	    if (curr_sig->uni & ~S_UNI31) yyerror("UNI mode is already set");
 	    curr_sig->uni |= S_UNI30;
 #else
 	    yyerror("Sorry, not supported yet");
 #endif
-	;
-    break;}
-case 47:
-#line 248 "cfg_y.y"
-{
+	}
+    break;
+
+  case 48:
+#line 259 "cfg_y.y"
+    {
 #if defined(UNI31) || defined(ALLOW_UNI30) || defined(DYNAMIC_UNI)
 	    if (curr_sig->uni & ~S_UNI30) yyerror("UNI mode is already set");
 	    curr_sig->uni |= S_UNI31;
 #else
 	    yyerror("Sorry, not supported yet");
 #endif
-	;
-    break;}
-case 48:
-#line 257 "cfg_y.y"
-{
+	}
+    break;
+
+  case 49:
+#line 268 "cfg_y.y"
+    {
 #if defined(UNI40) || defined(DYNAMIC_UNI)
 	    if (curr_sig->uni) yyerror("UNI mode is already set");
 	    curr_sig->uni = S_UNI40;
 #else
 	    yyerror("Sorry, not supported yet");
 #endif
-	;
-    break;}
-case 49:
-#line 266 "cfg_y.y"
-{
+	}
+    break;
+
+  case 50:
+#line 277 "cfg_y.y"
+    {
 #if defined(Q2963_1) || defined(DYNAMIC_UNI)
 	    if (!(curr_sig->uni & S_UNI40)) yyerror("Incompatible UNI mode");
 	    curr_sig->uni |= S_Q2963_1;
 #else
 	    yyerror("Sorry, not supported yet");
 #endif
-	;
-    break;}
-case 50:
-#line 275 "cfg_y.y"
-{
+	}
+    break;
+
+  case 51:
+#line 286 "cfg_y.y"
+    {
 	    yywarn("sig net  is obsolete, please use  sig mode net  instead");
 	    curr_sig->mode = sm_net;
-	;
-    break;}
-case 52:
-#line 284 "cfg_y.y"
-{
+	}
+    break;
+
+  case 53:
+#line 295 "cfg_y.y"
+    {
 	    set_verbosity("SSCF",yyvsp[0].num);
 	    set_verbosity("SSCOP",yyvsp[0].num);
-	;
-    break;}
-case 53:
-#line 292 "cfg_y.y"
-{
+	}
+    break;
+
+  case 54:
+#line 303 "cfg_y.y"
+    {
 	    set_verbosity("IO",yyvsp[0].num);
-	;
-    break;}
-case 54:
-#line 296 "cfg_y.y"
-{
+	}
+    break;
+
+  case 55:
+#line 307 "cfg_y.y"
+    {
 	    curr_sig->signaling_pvc = yyvsp[0].pvc;
-	;
-    break;}
-case 55:
-#line 300 "cfg_y.y"
-{
+	}
+    break;
+
+  case 56:
+#line 311 "cfg_y.y"
+    {
 	    yywarn("io pcr  is obsolete, please use  io qos  instead");
 	    curr_sig->sig_pcr = yyvsp[0].num;
-	;
-    break;}
-case 56:
-#line 305 "cfg_y.y"
-{
+	}
+    break;
+
+  case 57:
+#line 316 "cfg_y.y"
+    {
 	    curr_sig->sig_qos = yyvsp[0].str;
-	;
-    break;}
-case 57:
-#line 309 "cfg_y.y"
-{
+	}
+    break;
+
+  case 58:
+#line 320 "cfg_y.y"
+    {
 	    curr_sig->max_rate = yyvsp[0].num;
-	;
-    break;}
-case 58:
-#line 316 "cfg_y.y"
-{
+	}
+    break;
+
+  case 59:
+#line 327 "cfg_y.y"
+    {
 	    set_verbosity(NULL,yyvsp[0].num);
-	;
-    break;}
-case 59:
-#line 320 "cfg_y.y"
-{
+	}
+    break;
+
+  case 60:
+#line 331 "cfg_y.y"
+    {
 	    dump_dir = yyvsp[0].str;
 	    if (!trace_size) trace_size = DEFAULT_TRACE_SIZE;
-	;
-    break;}
-case 60:
-#line 325 "cfg_y.y"
-{
+	}
+    break;
+
+  case 61:
+#line 336 "cfg_y.y"
+    {
 	    set_logfile(yyvsp[0].str);
-	;
-    break;}
-case 61:
-#line 329 "cfg_y.y"
-{
+	}
+    break;
+
+  case 62:
+#line 340 "cfg_y.y"
+    {
 	    trace_size = yyvsp[0].num;
-	;
-    break;}
-case 62:
-#line 335 "cfg_y.y"
-{
+	}
+    break;
+
+  case 63:
+#line 346 "cfg_y.y"
+    {
 	    yyval.num = DEFAULT_TRACE_SIZE;
-	;
-    break;}
-case 63:
-#line 339 "cfg_y.y"
-{
+	}
+    break;
+
+  case 64:
+#line 350 "cfg_y.y"
+    {
 	    yyval.num = yyvsp[0].num;
-	;
-    break;}
-case 64:
-#line 346 "cfg_y.y"
-{
+	}
+    break;
+
+  case 65:
+#line 357 "cfg_y.y"
+    {
 	    yyval.num = DIAG_DEBUG;
-	;
-    break;}
-case 65:
-#line 350 "cfg_y.y"
-{
+	}
+    break;
+
+  case 66:
+#line 361 "cfg_y.y"
+    {
 	    yyval.num = DIAG_INFO;
-	;
-    break;}
-case 66:
-#line 354 "cfg_y.y"
-{
+	}
+    break;
+
+  case 67:
+#line 365 "cfg_y.y"
+    {
 	    yyval.num = DIAG_WARN;
-	;
-    break;}
-case 67:
-#line 358 "cfg_y.y"
-{
+	}
+    break;
+
+  case 68:
+#line 369 "cfg_y.y"
+    {
 	    yyval.num = DIAG_ERROR;
-	;
-    break;}
-case 68:
-#line 362 "cfg_y.y"
-{
+	}
+    break;
+
+  case 69:
+#line 373 "cfg_y.y"
+    {
 	    yyval.num = DIAG_FATAL;
-	;
-    break;}
-case 69:
-#line 369 "cfg_y.y"
-{
+	}
+    break;
+
+  case 70:
+#line 380 "cfg_y.y"
+    {
 	    curr_sig->mode = sm_user;
-	;
-    break;}
-case 70:
-#line 373 "cfg_y.y"
-{
+	}
+    break;
+
+  case 71:
+#line 384 "cfg_y.y"
+    {
 	    curr_sig->mode = sm_net;
-	;
-    break;}
-case 71:
-#line 377 "cfg_y.y"
-{
+	}
+    break;
+
+  case 72:
+#line 388 "cfg_y.y"
+    {
 	    curr_sig->mode = sm_switch;
-	;
-    break;}
-case 72:
-#line 384 "cfg_y.y"
-{
+	}
+    break;
+
+  case 73:
+#line 395 "cfg_y.y"
+    {
 	    set_verbosity("POLICY",yyvsp[0].num);
-	;
-    break;}
-case 73:
-#line 388 "cfg_y.y"
-{
+	}
+    break;
+
+  case 74:
+#line 399 "cfg_y.y"
+    {
 	    rule = alloc_t(RULE);
 	    rule->type = yyvsp[0].num;
-	;
-    break;}
-case 75:
-#line 397 "cfg_y.y"
-{
+	}
+    break;
+
+  case 76:
+#line 408 "cfg_y.y"
+    {
 	    yyval.num = ACL_ALLOW;
-	;
-    break;}
-case 76:
-#line 401 "cfg_y.y"
-{
+	}
+    break;
+
+  case 77:
+#line 412 "cfg_y.y"
+    {
 	    yyval.num = ACL_REJECT;
-	;
-    break;}
-case 77:
-#line 408 "cfg_y.y"
-{
+	}
+    break;
+
+  case 78:
+#line 419 "cfg_y.y"
+    {
 	    rule->type |= ACL_IN;
 	    put_address(yyvsp[0].str);
-	;
-    break;}
-case 78:
-#line 413 "cfg_y.y"
-{
+	}
+    break;
+
+  case 79:
+#line 424 "cfg_y.y"
+    {
 	    rule->type |= ACL_OUT;
 	    put_address(yyvsp[0].str);
-	;
-    break;}
-}
-   /* the action file gets copied in in place of this dollarsign */
-#line 543 "/usr/lib/bison.simple"
+	}
+    break;
+
+
+    }
+
+/* Line 1010 of yacc.c.  */
+#line 1585 "y.tab.c"
 
   yyvsp -= yylen;
   yyssp -= yylen;
-#ifdef YYLSP_NEEDED
-  yylsp -= yylen;
-#endif
 
-#if YYDEBUG != 0
-  if (yydebug)
-    {
-      short *ssp1 = yyss - 1;
-      fprintf (stderr, "state stack now");
-      while (ssp1 != yyssp)
-	fprintf (stderr, " %d", *++ssp1);
-      fprintf (stderr, "\n");
-    }
-#endif
+
+  YY_STACK_PRINT (yyss, yyssp);
 
   *++yyvsp = yyval;
 
-#ifdef YYLSP_NEEDED
-  yylsp++;
-  if (yylen == 0)
-    {
-      yylsp->first_line = yylloc.first_line;
-      yylsp->first_column = yylloc.first_column;
-      yylsp->last_line = (yylsp-1)->last_line;
-      yylsp->last_column = (yylsp-1)->last_column;
-      yylsp->text = 0;
-    }
-  else
-    {
-      yylsp->last_line = (yylsp+yylen-1)->last_line;
-      yylsp->last_column = (yylsp+yylen-1)->last_column;
-    }
-#endif
 
-  /* Now "shift" the result of the reduction.
-     Determine what state that goes to,
-     based on the state we popped back to
-     and the rule number reduced by.  */
+  /* Now `shift' the result of the reduction.  Determine what state
+     that goes to, based on the state we popped back to and the rule
+     number reduced by.  */
 
   yyn = yyr1[yyn];
 
-  yystate = yypgoto[yyn - YYNTBASE] + *yyssp;
-  if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp)
+  yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
+  if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
     yystate = yytable[yystate];
   else
-    yystate = yydefgoto[yyn - YYNTBASE];
+    yystate = yydefgoto[yyn - YYNTOKENS];
 
   goto yynewstate;
 
-yyerrlab:   /* here on detecting error */
 
-  if (! yyerrstatus)
-    /* If not already recovering from an error, report this error.  */
+/*------------------------------------.
+| yyerrlab -- here on detecting error |
+`------------------------------------*/
+yyerrlab:
+  /* If not already recovering from an error, report this error.  */
+  if (!yyerrstatus)
     {
       ++yynerrs;
-
-#ifdef YYERROR_VERBOSE
+#if YYERROR_VERBOSE
       yyn = yypact[yystate];
 
-      if (yyn > YYFLAG && yyn < YYLAST)
+      if (YYPACT_NINF < yyn && yyn < YYLAST)
 	{
-	  int size = 0;
-	  char *msg;
-	  int x, count;
-
-	  count = 0;
-	  /* Start X at -yyn if nec to avoid negative indexes in yycheck.  */
-	  for (x = (yyn < 0 ? -yyn : 0);
-	       x < (sizeof(yytname) / sizeof(char *)); x++)
-	    if (yycheck[x + yyn] == x)
-	      size += strlen(yytname[x]) + 15, count++;
-	  msg = (char *) malloc(size + 15);
-	  if (msg != 0)
+	  YYSIZE_T yysize = 0;
+	  int yytype = YYTRANSLATE (yychar);
+	  const char* yyprefix;
+	  char *yymsg;
+	  int yyx;
+
+	  /* Start YYX at -YYN if negative to avoid negative indexes in
+	     YYCHECK.  */
+	  int yyxbegin = yyn < 0 ? -yyn : 0;
+
+	  /* Stay within bounds of both yycheck and yytname.  */
+	  int yychecklim = YYLAST - yyn;
+	  int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
+	  int yycount = 0;
+
+	  yyprefix = ", expecting ";
+	  for (yyx = yyxbegin; yyx < yyxend; ++yyx)
+	    if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
+	      {
+		yysize += yystrlen (yyprefix) + yystrlen (yytname [yyx]);
+		yycount += 1;
+		if (yycount == 5)
+		  {
+		    yysize = 0;
+		    break;
+		  }
+	      }
+	  yysize += (sizeof ("syntax error, unexpected ")
+		     + yystrlen (yytname[yytype]));
+	  yymsg = (char *) YYSTACK_ALLOC (yysize);
+	  if (yymsg != 0)
 	    {
-	      strcpy(msg, "parse error");
+	      char *yyp = yystpcpy (yymsg, "syntax error, unexpected ");
+	      yyp = yystpcpy (yyp, yytname[yytype]);
 
-	      if (count < 5)
+	      if (yycount < 5)
 		{
-		  count = 0;
-		  for (x = (yyn < 0 ? -yyn : 0);
-		       x < (sizeof(yytname) / sizeof(char *)); x++)
-		    if (yycheck[x + yyn] == x)
+		  yyprefix = ", expecting ";
+		  for (yyx = yyxbegin; yyx < yyxend; ++yyx)
+		    if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
 		      {
-			strcat(msg, count == 0 ? ", expecting `" : " or `");
-			strcat(msg, yytname[x]);
-			strcat(msg, "'");
-			count++;
+			yyp = yystpcpy (yyp, yyprefix);
+			yyp = yystpcpy (yyp, yytname[yyx]);
+			yyprefix = " or ";
 		      }
 		}
-	      yyerror(msg);
-	      free(msg);
+	      yyerror (yymsg);
+	      YYSTACK_FREE (yymsg);
 	    }
 	  else
-	    yyerror ("parse error; also virtual memory exceeded");
+	    yyerror ("syntax error; also virtual memory exhausted");
 	}
       else
 #endif /* YYERROR_VERBOSE */
-	yyerror("parse error");
+	yyerror ("syntax error");
     }
 
-  goto yyerrlab1;
-yyerrlab1:   /* here on error raised explicitly by an action */
+
 
   if (yyerrstatus == 3)
     {
-      /* if just tried and failed to reuse lookahead token after an error, discard it.  */
+      /* If just tried and failed to reuse lookahead token after an
+	 error, discard it.  */
 
-      /* return failure if at end of input */
-      if (yychar == YYEOF)
-	YYABORT;
-
-#if YYDEBUG != 0
-      if (yydebug)
-	fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]);
-#endif
+      if (yychar <= YYEOF)
+        {
+          /* If at end of input, pop the error token,
+	     then the rest of the stack, then return failure.  */
+	  if (yychar == YYEOF)
+	     for (;;)
+	       {
+		 YYPOPSTACK;
+		 if (yyssp == yyss)
+		   YYABORT;
+		 YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp);
+		 yydestruct (yystos[*yyssp], yyvsp);
+	       }
+        }
+      else
+	{
+	  YYDSYMPRINTF ("Error: discarding", yytoken, &yylval, &yylloc);
+	  yydestruct (yytoken, &yylval);
+	  yychar = YYEMPTY;
 
-      yychar = YYEMPTY;
+	}
     }
 
-  /* Else will try to reuse lookahead token
-     after shifting the error token.  */
-
-  yyerrstatus = 3;		/* Each real token shifted decrements this */
+  /* Else will try to reuse lookahead token after shifting the error
+     token.  */
+  goto yyerrlab1;
 
-  goto yyerrhandle;
 
-yyerrdefault:  /* current state does not do anything special for the error token. */
+/*---------------------------------------------------.
+| yyerrorlab -- error raised explicitly by YYERROR.  |
+`---------------------------------------------------*/
+yyerrorlab:
 
-#if 0
-  /* This is wrong; only states that explicitly want error tokens
-     should shift them.  */
-  yyn = yydefact[yystate];  /* If its default is to accept any token, ok.  Otherwise pop it.*/
-  if (yyn) goto yydefault;
+#ifdef __GNUC__
+  /* Pacify GCC when the user code never invokes YYERROR and the label
+     yyerrorlab therefore never appears in user code.  */
+  if (0)
+     goto yyerrorlab;
 #endif
 
-yyerrpop:   /* pop the current state because it cannot handle the error token */
-
-  if (yyssp == yyss) YYABORT;
-  yyvsp--;
-  yystate = *--yyssp;
-#ifdef YYLSP_NEEDED
-  yylsp--;
-#endif
+  yyvsp -= yylen;
+  yyssp -= yylen;
+  yystate = *yyssp;
+  goto yyerrlab1;
 
-#if YYDEBUG != 0
-  if (yydebug)
-    {
-      short *ssp1 = yyss - 1;
-      fprintf (stderr, "Error: state stack now");
-      while (ssp1 != yyssp)
-	fprintf (stderr, " %d", *++ssp1);
-      fprintf (stderr, "\n");
-    }
-#endif
 
-yyerrhandle:
+/*-------------------------------------------------------------.
+| yyerrlab1 -- common code for both syntax error and YYERROR.  |
+`-------------------------------------------------------------*/
+yyerrlab1:
+  yyerrstatus = 3;	/* Each real token shifted decrements this.  */
 
-  yyn = yypact[yystate];
-  if (yyn == YYFLAG)
-    goto yyerrdefault;
+  for (;;)
+    {
+      yyn = yypact[yystate];
+      if (yyn != YYPACT_NINF)
+	{
+	  yyn += YYTERROR;
+	  if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
+	    {
+	      yyn = yytable[yyn];
+	      if (0 < yyn)
+		break;
+	    }
+	}
 
-  yyn += YYTERROR;
-  if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR)
-    goto yyerrdefault;
+      /* Pop the current state because it cannot handle the error token.  */
+      if (yyssp == yyss)
+	YYABORT;
 
-  yyn = yytable[yyn];
-  if (yyn < 0)
-    {
-      if (yyn == YYFLAG)
-	goto yyerrpop;
-      yyn = -yyn;
-      goto yyreduce;
+      YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp);
+      yydestruct (yystos[yystate], yyvsp);
+      YYPOPSTACK;
+      yystate = *yyssp;
+      YY_STACK_PRINT (yyss, yyssp);
     }
-  else if (yyn == 0)
-    goto yyerrpop;
 
   if (yyn == YYFINAL)
     YYACCEPT;
 
-#if YYDEBUG != 0
-  if (yydebug)
-    fprintf(stderr, "Shifting error token, ");
-#endif
+  YYDPRINTF ((stderr, "Shifting error token, "));
 
   *++yyvsp = yylval;
-#ifdef YYLSP_NEEDED
-  *++yylsp = yylloc;
-#endif
+
 
   yystate = yyn;
   goto yynewstate;
 
- yyacceptlab:
-  /* YYACCEPT comes here.  */
-  if (yyfree_stacks)
-    {
-      free (yyss);
-      free (yyvs);
-#ifdef YYLSP_NEEDED
-      free (yyls);
-#endif
-    }
-  return 0;
 
- yyabortlab:
-  /* YYABORT comes here.  */
-  if (yyfree_stacks)
-    {
-      free (yyss);
-      free (yyvs);
-#ifdef YYLSP_NEEDED
-      free (yyls);
+/*-------------------------------------.
+| yyacceptlab -- YYACCEPT comes here.  |
+`-------------------------------------*/
+yyacceptlab:
+  yyresult = 0;
+  goto yyreturn;
+
+/*-----------------------------------.
+| yyabortlab -- YYABORT comes here.  |
+`-----------------------------------*/
+yyabortlab:
+  yyresult = 1;
+  goto yyreturn;
+
+#ifndef yyoverflow
+/*----------------------------------------------.
+| yyoverflowlab -- parser overflow comes here.  |
+`----------------------------------------------*/
+yyoverflowlab:
+  yyerror ("parser stack overflow");
+  yyresult = 2;
+  /* Fall through.  */
+#endif
+
+yyreturn:
+#ifndef yyoverflow
+  if (yyss != yyssa)
+    YYSTACK_FREE (yyss);
 #endif
-    }
-  return 1;
+  return yyresult;
 }
-#line 418 "cfg_y.y"
+
+
+
Index: linux-atm-2.4.1/src/sigd/proto.c
===================================================================
--- linux-atm-2.4.1.orig/src/sigd/proto.c	2007-06-04 13:23:54.062515144 +0200
+++ linux-atm-2.4.1/src/sigd/proto.c	2007-06-04 13:23:54.495449328 +0200
@@ -259,6 +259,7 @@
 		break;
 	    }
 	default:
+	    break;
     }
     va_end(ap);
     if ((size = q_close(&dsc)) >= 0) to_signaling(sock->sig,q_buffer,size);
@@ -288,6 +289,7 @@
 		}
 		break;
 	    default:
+		break;
 	}
 	va_end(ap);
     }
Index: linux-atm-2.4.1/src/sigd/cfg_y.y
===================================================================
--- linux-atm-2.4.1.orig/src/sigd/cfg_y.y	2007-06-04 13:23:54.068514232 +0200
+++ linux-atm-2.4.1/src/sigd/cfg_y.y	2007-06-04 13:23:54.495449328 +0200
@@ -7,6 +7,7 @@
 #include <config.h>
 #endif
 
+#include <stdlib.h>
 #include <string.h>
 #include <ctype.h>
 #include <limits.h>
@@ -19,6 +20,8 @@
 #include "trace.h"
 #include "policy.h"
 
+extern void yywarn(const char *s);
+extern void yyerror(const char *s);
 
 static RULE *rule;
 static SIG_ENTITY *curr_sig = &_entity;
@@ -125,8 +128,16 @@
 	    if (entities == &_entity) entities = NULL;
 	    for (sig = entities; sig; sig = sig->next)
 		if (atm_equal((struct sockaddr *) &sig->signaling_pvc,
-		  (struct sockaddr *) &$2,0,0))
-		    yyerror("duplicate PVC address %d.%d.%d",S_PVC(sig));
+		  (struct sockaddr *) &$2,0,0)) {
+		    const char *err;
+		    asprintf(&err,"duplicate PVC address %d.%d.%d",S_PVC(sig));
+		    if(err) {
+		    	yyerror(err);
+			free(err);
+	  	    }
+		    else
+		    	yyerror("duplicate PVC address");
+		}
 	    curr_sig = alloc_t(SIG_ENTITY);
 	    *curr_sig = _entity;
 	    curr_sig->signaling_pvc = $2;
@@ -169,7 +180,7 @@
 	    if (text2atm($1,(struct sockaddr *) &addr,sizeof(addr),
 	    T2A_SVC | T2A_WILDCARD | T2A_NAME | T2A_LOCAL) < 0) {
 		yyerror("invalid address");
-		return;
+		return 0;
 	    }
 	    add_route(curr_sig,&addr,mask ? strtol(mask,NULL,10) : INT_MAX);
 	}
Index: linux-atm-2.4.1/src/sigd/cfg_y.h
===================================================================
--- linux-atm-2.4.1.orig/src/sigd/cfg_y.h	2007-06-04 13:23:54.074513320 +0200
+++ linux-atm-2.4.1/src/sigd/cfg_y.h	2007-06-04 13:23:54.496449176 +0200
@@ -1,44 +1,127 @@
-typedef union {
+/* A Bison parser, made by GNU Bison 1.875d.  */
+
+/* Skeleton parser for Yacc-like parsing with Bison,
+   Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004 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., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+/* As a special exception, when this file is copied by Bison into a
+   Bison output file, you may use that output file without restriction.
+   This special exception was added by the Free Software Foundation
+   in version 1.24 of Bison.  */
+
+/* Tokens.  */
+#ifndef YYTOKENTYPE
+# define YYTOKENTYPE
+   /* Put the tokens into the symbol table, so that GDB and other debuggers
+      know about them.  */
+   enum yytokentype {
+     TOK_LEVEL = 258,
+     TOK_DEBUG = 259,
+     TOK_INFO = 260,
+     TOK_WARN = 261,
+     TOK_ERROR = 262,
+     TOK_FATAL = 263,
+     TOK_SIG = 264,
+     TOK_UNI30 = 265,
+     TOK_UNI31 = 266,
+     TOK_UNI40 = 267,
+     TOK_Q2963_1 = 268,
+     TOK_SAAL = 269,
+     TOK_VC = 270,
+     TOK_IO = 271,
+     TOK_MODE = 272,
+     TOK_USER = 273,
+     TOK_NET = 274,
+     TOK_SWITCH = 275,
+     TOK_VPCI = 276,
+     TOK_ITF = 277,
+     TOK_PCR = 278,
+     TOK_TRACE = 279,
+     TOK_POLICY = 280,
+     TOK_ALLOW = 281,
+     TOK_REJECT = 282,
+     TOK_ENTITY = 283,
+     TOK_DEFAULT = 284,
+     TOK_NUMBER = 285,
+     TOK_MAX_RATE = 286,
+     TOK_DUMP_DIR = 287,
+     TOK_LOGFILE = 288,
+     TOK_QOS = 289,
+     TOK_FROM = 290,
+     TOK_TO = 291,
+     TOK_ROUTE = 292,
+     TOK_PVC = 293
+   };
+#endif
+#define TOK_LEVEL 258
+#define TOK_DEBUG 259
+#define TOK_INFO 260
+#define TOK_WARN 261
+#define TOK_ERROR 262
+#define TOK_FATAL 263
+#define TOK_SIG 264
+#define TOK_UNI30 265
+#define TOK_UNI31 266
+#define TOK_UNI40 267
+#define TOK_Q2963_1 268
+#define TOK_SAAL 269
+#define TOK_VC 270
+#define TOK_IO 271
+#define TOK_MODE 272
+#define TOK_USER 273
+#define TOK_NET 274
+#define TOK_SWITCH 275
+#define TOK_VPCI 276
+#define TOK_ITF 277
+#define TOK_PCR 278
+#define TOK_TRACE 279
+#define TOK_POLICY 280
+#define TOK_ALLOW 281
+#define TOK_REJECT 282
+#define TOK_ENTITY 283
+#define TOK_DEFAULT 284
+#define TOK_NUMBER 285
+#define TOK_MAX_RATE 286
+#define TOK_DUMP_DIR 287
+#define TOK_LOGFILE 288
+#define TOK_QOS 289
+#define TOK_FROM 290
+#define TOK_TO 291
+#define TOK_ROUTE 292
+#define TOK_PVC 293
+
+
+
+
+#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
+#line 56 "cfg_y.y"
+typedef union YYSTYPE {
     int num;
     char *str;
     struct sockaddr_atmpvc pvc;
 } YYSTYPE;
-#define	TOK_LEVEL	257
-#define	TOK_DEBUG	258
-#define	TOK_INFO	259
-#define	TOK_WARN	260
-#define	TOK_ERROR	261
-#define	TOK_FATAL	262
-#define	TOK_SIG	263
-#define	TOK_UNI30	264
-#define	TOK_UNI31	265
-#define	TOK_UNI40	266
-#define	TOK_Q2963_1	267
-#define	TOK_SAAL	268
-#define	TOK_VC	269
-#define	TOK_IO	270
-#define	TOK_MODE	271
-#define	TOK_USER	272
-#define	TOK_NET	273
-#define	TOK_SWITCH	274
-#define	TOK_VPCI	275
-#define	TOK_ITF	276
-#define	TOK_PCR	277
-#define	TOK_TRACE	278
-#define	TOK_POLICY	279
-#define	TOK_ALLOW	280
-#define	TOK_REJECT	281
-#define	TOK_ENTITY	282
-#define	TOK_DEFAULT	283
-#define	TOK_NUMBER	284
-#define	TOK_MAX_RATE	285
-#define	TOK_DUMP_DIR	286
-#define	TOK_LOGFILE	287
-#define	TOK_QOS	288
-#define	TOK_FROM	289
-#define	TOK_TO	290
-#define	TOK_ROUTE	291
-#define	TOK_PVC	292
-
+/* Line 1285 of yacc.c.  */
+#line 119 "y.tab.h"
+# define yystype YYSTYPE /* obsolescent; will be withdrawn */
+# define YYSTYPE_IS_DECLARED 1
+# define YYSTYPE_IS_TRIVIAL 1
+#endif
 
 extern YYSTYPE yylval;
+
+
+
Index: linux-atm-2.4.1/src/maint/Makefile.in
===================================================================
--- linux-atm-2.4.1.orig/src/maint/Makefile.in	2007-06-04 13:23:54.079512560 +0200
+++ linux-atm-2.4.1/src/maint/Makefile.in	2007-06-04 13:23:54.496449176 +0200
@@ -1,4 +1,4 @@
-# Makefile.in generated automatically by automake 1.4-p5 from Makefile.am
+# Makefile.in generated automatically by automake 1.4-p6 from Makefile.am
 
 # Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
@@ -181,8 +181,11 @@
 
 DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
 
-TAR = gtar
+TAR = tar
 GZIP_ENV = --best
+DEP_FILES =  .deps/atmaddr.P .deps/atmdiag.P .deps/atmdump.P \
+.deps/atmloop.P .deps/atmtcp.P .deps/enitune.P .deps/esi.P \
+.deps/saaldump.P .deps/sonetdiag.P .deps/zntune.P
 SOURCES = $(atmdiag_SOURCES) $(atmdump_SOURCES) $(sonetdiag_SOURCES) $(saaldump_SOURCES) $(atmaddr_SOURCES) $(esi_SOURCES) $(atmloop_SOURCES) $(atmtcp_SOURCES) $(enitune_SOURCES) $(zntune_SOURCES)
 OBJECTS = $(atmdiag_OBJECTS) $(atmdump_OBJECTS) $(sonetdiag_OBJECTS) $(saaldump_OBJECTS) $(atmaddr_OBJECTS) $(esi_OBJECTS) $(atmloop_OBJECTS) $(atmtcp_OBJECTS) $(enitune_OBJECTS) $(zntune_OBJECTS)
 
@@ -190,9 +193,9 @@
 .SUFFIXES:
 .SUFFIXES: .S .c .lo .o .obj .s
 $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) 
-	cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps src/maint/Makefile
+	cd $(top_srcdir) && $(AUTOMAKE) --gnu src/maint/Makefile
 
-Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status
+Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status $(BUILT_SOURCES)
 	cd $(top_builddir) \
 	  && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
 
@@ -247,9 +250,6 @@
 	  rm -f $(DESTDIR)$(sbindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \
 	done
 
-.c.o:
-	$(COMPILE) -c $<
-
 # FIXME: We should only use cygpath when building on Windows,
 # and only if it is available.
 .c.obj:
@@ -272,9 +272,6 @@
 
 maintainer-clean-compile:
 
-.c.lo:
-	$(LIBTOOL) --mode=compile $(COMPILE) -c $<
-
 .s.lo:
 	$(LIBTOOL) --mode=compile $(COMPILE) -c $<
 
@@ -388,7 +385,7 @@
 	  awk '    { files[$$0] = 1; } \
 	       END { for (i in files) print i; }'`; \
 	test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
-	  || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags  $$unique $(LISP) -o $$here/TAGS)
+	  || (cd $(srcdir) && etags -o $$here/TAGS $(ETAGS_ARGS) $$tags  $$unique $(LISP))
 
 mostlyclean-tags:
 
@@ -404,6 +401,11 @@
 subdir = src/maint
 
 distdir: $(DISTFILES)
+	here=`cd $(top_builddir) && pwd`; \
+	top_distdir=`cd $(top_distdir) && pwd`; \
+	distdir=`cd $(distdir) && pwd`; \
+	cd $(top_srcdir) \
+	  && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnu src/maint/Makefile
 	@for file in $(DISTFILES); do \
 	  d=$(srcdir); \
 	  if test -d $$d/$$file; then \
@@ -414,28 +416,38 @@
 	    || cp -p $$d/$$file $(distdir)/$$file || :; \
 	  fi; \
 	done
-atmaddr.o: atmaddr.c ../../config.h ../../src/include/atm.h \
-	../../src/include/stdint.h
-atmdiag.o: atmdiag.c ../../config.h ../../src/include/atm.h \
-	../../src/include/stdint.h
-atmdump.o: atmdump.c ../../config.h ../../src/include/stdint.h \
-	../../src/include/atm.h
-atmloop.o: atmloop.c ../../config.h ../../src/include/atm.h \
-	../../src/include/stdint.h
-atmtcp.o: atmtcp.c ../../config.h ../../src/include/stdint.h \
-	../../src/include/atm.h ../../src/include/atmd.h
-enitune.o: enitune.c ../../config.h ../../src/include/atm.h \
-	../../src/include/stdint.h
-esi.o: esi.c ../../config.h ../../src/include/atm.h \
-	../../src/include/stdint.h
-saaldump.o: saaldump.c ../../config.h ../../src/include/atm.h \
-	../../src/include/stdint.h ../../src/saal/pdu.h \
-	../../src/include/atmd.h ../../src/qgen/qlib.h
-sonetdiag.o: sonetdiag.c ../../config.h ../../src/include/atm.h \
-	../../src/include/stdint.h
-zntune.o: zntune.c ../../config.h ../../src/include/atm.h \
-	../../src/include/stdint.h
 
+DEPS_MAGIC := $(shell mkdir .deps > /dev/null 2>&1 || :)
+
+-include $(DEP_FILES)
+
+mostlyclean-depend:
+
+clean-depend:
+
+distclean-depend:
+	-rm -rf .deps
+
+maintainer-clean-depend:
+
+%.o: %.c
+	@echo '$(COMPILE) -c $<'; \
+	$(COMPILE) -Wp,-MD,.deps/$(*F).pp -c $<
+	@-cp .deps/$(*F).pp .deps/$(*F).P; \
+	tr ' ' '\012' < .deps/$(*F).pp \
+	  | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \
+	    >> .deps/$(*F).P; \
+	rm .deps/$(*F).pp
+
+%.lo: %.c
+	@echo '$(LTCOMPILE) -c $<'; \
+	$(LTCOMPILE) -Wp,-MD,.deps/$(*F).pp -c $<
+	@-sed -e 's/^\([^:]*\)\.o[ 	]*:/\1.lo \1.o :/' \
+	  < .deps/$(*F).pp > .deps/$(*F).P; \
+	tr ' ' '\012' < .deps/$(*F).pp \
+	  | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \
+	    >> .deps/$(*F).P; \
+	rm -f .deps/$(*F).pp
 info-am:
 info: info-am
 dvi-am:
@@ -475,18 +487,19 @@
 maintainer-clean-generic:
 mostlyclean-am:  mostlyclean-binPROGRAMS mostlyclean-sbinPROGRAMS \
 		mostlyclean-compile mostlyclean-libtool \
-		mostlyclean-tags mostlyclean-generic
+		mostlyclean-tags mostlyclean-depend mostlyclean-generic
 
 mostlyclean: mostlyclean-am
 
 clean-am:  clean-binPROGRAMS clean-sbinPROGRAMS clean-compile \
-		clean-libtool clean-tags clean-generic mostlyclean-am
+		clean-libtool clean-tags clean-depend clean-generic \
+		mostlyclean-am
 
 clean: clean-am
 
 distclean-am:  distclean-binPROGRAMS distclean-sbinPROGRAMS \
 		distclean-compile distclean-libtool distclean-tags \
-		distclean-generic clean-am
+		distclean-depend distclean-generic clean-am
 	-rm -f libtool
 
 distclean: distclean-am
@@ -494,7 +507,8 @@
 maintainer-clean-am:  maintainer-clean-binPROGRAMS \
 		maintainer-clean-sbinPROGRAMS maintainer-clean-compile \
 		maintainer-clean-libtool maintainer-clean-tags \
-		maintainer-clean-generic distclean-am
+		maintainer-clean-depend maintainer-clean-generic \
+		distclean-am
 	@echo "This command is intended for maintainers to use;"
 	@echo "it deletes files that may require special tools to rebuild."
 
@@ -508,12 +522,14 @@
 clean-compile maintainer-clean-compile mostlyclean-libtool \
 distclean-libtool clean-libtool maintainer-clean-libtool install-man8 \
 uninstall-man8 install-man uninstall-man tags mostlyclean-tags \
-distclean-tags clean-tags maintainer-clean-tags distdir info-am info \
-dvi-am dvi check check-am installcheck-am installcheck install-exec-am \
-install-exec install-data-am install-data install-am install \
-uninstall-am uninstall all-redirect all-am all installdirs \
-mostlyclean-generic distclean-generic clean-generic \
-maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+distclean-tags clean-tags maintainer-clean-tags distdir \
+mostlyclean-depend distclean-depend clean-depend \
+maintainer-clean-depend info-am info dvi-am dvi check check-am \
+installcheck-am installcheck install-exec-am install-exec \
+install-data-am install-data install-am install uninstall-am uninstall \
+all-redirect all-am all installdirs mostlyclean-generic \
+distclean-generic clean-generic maintainer-clean-generic clean \
+mostlyclean distclean maintainer-clean
 
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
Index: linux-atm-2.4.1/src/maint/atmtcp.c
===================================================================
--- linux-atm-2.4.1.orig/src/maint/atmtcp.c	2007-06-04 13:23:54.085511648 +0200
+++ linux-atm-2.4.1/src/maint/atmtcp.c	2007-06-04 13:23:54.497449024 +0200
@@ -60,7 +60,7 @@
 static IN *inputs = NULL;
 static fd_set in_set;
 static int fds = 0;
-static int debug = 0;
+static int atmtcp_debug = 0;
 static int links = 0;
 
 
@@ -86,7 +86,7 @@
 {
     OUT *out;
 
-    if (debug)
+    if (atmtcp_debug)
 	fprintf(stderr,"Emit: %d.%d, %d bytes\n",ntohs(hdr->vpi),
 	  ntohs(hdr->vci),(int) ntohl(hdr->length));
     for (out = outputs; out; out = out->next)
@@ -99,7 +99,7 @@
     OUT *out;
     int changed = 0;
 
-    if (debug)
+    if (atmtcp_debug)
 	fprintf(stderr,"Control: (%d.%d) %s %d.%d, vcc %s\n",
 	  ntohs(msg->hdr.vpi),ntohs(msg->hdr.vci),
 	  msg->type == ATMTCP_CTRL_OPEN ? "OPEN" :
@@ -295,19 +295,19 @@
     }
     if ((s = socket(PF_ATMPVC,SOCK_DGRAM,0)) < 0) {
 	msg->result = -errno;
-	if (debug) perror("socket");
+	if (atmtcp_debug) perror("socket");
 	return 1;
     }
     if (setsockopt(s,SOL_ATM,SO_ATMQOS,&msg->qos,sizeof(msg->qos)) < 0) {
 	msg->result = -errno;
-	if (debug) perror("setsockopt SO_ATMQOS");
+	if (atmtcp_debug) perror("setsockopt SO_ATMQOS");
 	return 1;
     }
     msg->addr.sap_addr.itf = data->itf;
     if (connect(s,(struct sockaddr *) &msg->addr,
       sizeof(struct sockaddr_atmpvc)) < 0) {
 	msg->result = -errno;
-	if (debug) perror("connect");
+	if (atmtcp_debug) perror("connect");
 	return 1;
     }
     (*vcc) = alloc_t(VCC);
@@ -333,7 +333,7 @@
     addr.sap_addr.vci = ntohs(hdr->vci);
     vcc = real_lookup(data,&addr);
     if (!*vcc) {
-	if (debug)
+	if (atmtcp_debug)
 	    fprintf(stderr,"VCC %d.%d not found\n",addr.sap_addr.vpi,
 	      addr.sap_addr.vci);
 	return;
@@ -430,7 +430,7 @@
 	exit(1);
     }
     if (in->bytes < sizeof(*hdr)+ntohl(hdr->length)) return;
-    if (debug)
+    if (atmtcp_debug)
 	fprintf(stderr,"TCP %d.%d, %d bytes\n",ntohs(hdr->vpi),
 	  ntohs(hdr->vci),(unsigned int) ntohl(hdr->length));
     in->bytes = 0;
@@ -447,7 +447,7 @@
 	fprintf(stderr,"unrecognized control message \"%s\"\n",msg);
 	return;
     }
-    if (debug) fprintf(stderr,"received control \"%s\"\n",msg);
+    if (atmtcp_debug) fprintf(stderr,"received control \"%s\"\n",msg);
     ctl.hdr.vpi = htons(vpi);
     ctl.hdr.vci = htons(vci);
     ctl.hdr.length = htonl(ATMTCP_HDR_MAGIC);
@@ -508,7 +508,7 @@
     }
     hdr->vpi = hdr->vci = htons(0);
     hdr->length = htonl(pos-start);
-    if (debug) fprintf(stderr,"sending control \"%s\"\n",start);
+    if (atmtcp_debug) fprintf(stderr,"sending control \"%s\"\n",start);
     tcp_do_send(*(int *) out->user,buf,pos-buf);
     return 0;
 }
@@ -555,7 +555,7 @@
 	    exit(1);
 	}
 	if (in->bytes < sizeof(int)+sizeof(*hdr)+ntohl(hdr->length)) return;
-	if (debug)
+	if (atmtcp_debug)
 	    fprintf(stderr,"File %d.%d, %d bytes\n",ntohs(hdr->vpi),
 	      ntohs(hdr->vci),(unsigned int) ntohl(hdr->length));
     }
@@ -708,7 +708,7 @@
     while ((c = getopt(argc,argv,"dvV")) != EOF)
 	switch (c) {
 	    case 'd':
-		debug = 1;
+		atmtcp_debug = 1;
 		break;
 	    case 'v':
 		verbose = 1;
@@ -817,7 +817,8 @@
 	}
 	else if (!strcmp(ARG,"listen") ||
 	  (do_background = !strcmp(ARG,"listen-bg"))) {
-	    int fd,port,addr_len;
+	    int fd,port;
+	    size_t addr_len;
 	    int *fd2 = alloc_t(int);
 
 	    if ((fd = socket(PF_INET,SOCK_STREAM,0)) < 0) {
Index: linux-atm-2.4.1/src/maint/enitune.c
===================================================================
--- linux-atm-2.4.1.orig/src/maint/enitune.c	2007-06-04 13:23:54.091510736 +0200
+++ linux-atm-2.4.1/src/maint/enitune.c	2007-06-04 13:23:54.497449024 +0200
@@ -44,6 +44,7 @@
 		if (*end || mult.rx <= 100) usage(name);
 		break;
 	    default:
+		break;
 	}
     if (argc != optind+1) usage(name);
     sioc.number = strtol(argv[optind],&end,0);
Index: linux-atm-2.4.1/src/arpd/Makefile.in
===================================================================
--- linux-atm-2.4.1.orig/src/arpd/Makefile.in	2007-06-04 13:23:54.097509824 +0200
+++ linux-atm-2.4.1/src/arpd/Makefile.in	2007-06-04 13:23:54.497449024 +0200
@@ -1,4 +1,4 @@
-# Makefile.in generated automatically by automake 1.4-p5 from Makefile.am
+# Makefile.in generated automatically by automake 1.4-p6 from Makefile.am
 
 # Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
@@ -90,8 +90,7 @@
 sbin_PROGRAMS = atmarp atmarpd
 
 atmarp_SOURCES = atmarp.c atmarp.h atmarpd.h
-atmarpd_SOURCES = atmarpd.c atmarpd.h arp.c arp.h io.c io.h itf.c itf.h \
-			table.c table.h atmarp.h
+atmarpd_SOURCES = atmarpd.c atmarpd.h arp.c arp.h io.c io.h itf.c itf.h 			table.c table.h atmarp.h
 
 
 include_HEADERS = atmarp.h atmarpd.h
@@ -135,8 +134,10 @@
 
 DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
 
-TAR = gtar
+TAR = tar
 GZIP_ENV = --best
+DEP_FILES =  .deps/arp.P .deps/atmarp.P .deps/atmarpd.P .deps/io.P \
+.deps/itf.P .deps/table.P
 SOURCES = $(atmarp_SOURCES) $(atmarpd_SOURCES)
 OBJECTS = $(atmarp_OBJECTS) $(atmarpd_OBJECTS)
 
@@ -144,9 +145,9 @@
 .SUFFIXES:
 .SUFFIXES: .S .c .lo .o .obj .s
 $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) 
-	cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps src/arpd/Makefile
+	cd $(top_srcdir) && $(AUTOMAKE) --gnu src/arpd/Makefile
 
-Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status
+Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status $(BUILT_SOURCES)
 	cd $(top_builddir) \
 	  && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
 
@@ -176,9 +177,6 @@
 	  rm -f $(DESTDIR)$(sbindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \
 	done
 
-.c.o:
-	$(COMPILE) -c $<
-
 # FIXME: We should only use cygpath when building on Windows,
 # and only if it is available.
 .c.obj:
@@ -201,9 +199,6 @@
 
 maintainer-clean-compile:
 
-.c.lo:
-	$(LIBTOOL) --mode=compile $(COMPILE) -c $<
-
 .s.lo:
 	$(LIBTOOL) --mode=compile $(COMPILE) -c $<
 
@@ -300,7 +295,7 @@
 	  awk '    { files[$$0] = 1; } \
 	       END { for (i in files) print i; }'`; \
 	test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
-	  || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags  $$unique $(LISP) -o $$here/TAGS)
+	  || (cd $(srcdir) && etags -o $$here/TAGS $(ETAGS_ARGS) $$tags  $$unique $(LISP))
 
 mostlyclean-tags:
 
@@ -316,6 +311,11 @@
 subdir = src/arpd
 
 distdir: $(DISTFILES)
+	here=`cd $(top_builddir) && pwd`; \
+	top_distdir=`cd $(top_distdir) && pwd`; \
+	distdir=`cd $(distdir) && pwd`; \
+	cd $(top_srcdir) \
+	  && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnu src/arpd/Makefile
 	@for file in $(DISTFILES); do \
 	  d=$(srcdir); \
 	  if test -d $$d/$$file; then \
@@ -326,24 +326,38 @@
 	    || cp -p $$d/$$file $(distdir)/$$file || :; \
 	  fi; \
 	done
-arp.o: arp.c ../../config.h ../../src/include/stdint.h \
-	../../src/include/atm.h ../../src/include/atmd.h atmarp.h \
-	atmarpd.h table.h itf.h io.h arp.h
-atmarp.o: atmarp.c ../../config.h ../../src/include/stdint.h \
-	../../src/include/atm.h ../../src/include/atmd.h atmarpd.h
-atmarpd.o: atmarpd.c ../../config.h ../../src/include/atm.h \
-	../../src/include/stdint.h ../../src/include/atmd.h atmarpd.h \
-	io.h table.h
-io.o: io.c ../../config.h ../../src/include/stdint.h \
-	../../src/include/atm.h ../../src/include/atmd.h atmarpd.h \
-	table.h arp.h atmarp.h itf.h io.h
-itf.o: itf.c ../../config.h ../../src/include/stdint.h \
-	../../src/include/atmd.h ../../src/include/atm.h table.h io.h \
-	itf.h arp.h atmarp.h atmarpd.h
-table.o: table.c ../../config.h ../../src/include/stdint.h \
-	../../src/include/atm.h ../../src/include/atmd.h atmarpd.h \
-	table.h
 
+DEPS_MAGIC := $(shell mkdir .deps > /dev/null 2>&1 || :)
+
+-include $(DEP_FILES)
+
+mostlyclean-depend:
+
+clean-depend:
+
+distclean-depend:
+	-rm -rf .deps
+
+maintainer-clean-depend:
+
+%.o: %.c
+	@echo '$(COMPILE) -c $<'; \
+	$(COMPILE) -Wp,-MD,.deps/$(*F).pp -c $<
+	@-cp .deps/$(*F).pp .deps/$(*F).P; \
+	tr ' ' '\012' < .deps/$(*F).pp \
+	  | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \
+	    >> .deps/$(*F).P; \
+	rm .deps/$(*F).pp
+
+%.lo: %.c
+	@echo '$(LTCOMPILE) -c $<'; \
+	$(LTCOMPILE) -Wp,-MD,.deps/$(*F).pp -c $<
+	@-sed -e 's/^\([^:]*\)\.o[ 	]*:/\1.lo \1.o :/' \
+	  < .deps/$(*F).pp > .deps/$(*F).P; \
+	tr ' ' '\012' < .deps/$(*F).pp \
+	  | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \
+	    >> .deps/$(*F).P; \
+	rm -f .deps/$(*F).pp
 info-am:
 info: info-am
 dvi-am:
@@ -383,27 +397,27 @@
 
 maintainer-clean-generic:
 mostlyclean-am:  mostlyclean-sbinPROGRAMS mostlyclean-compile \
-		mostlyclean-libtool mostlyclean-tags \
+		mostlyclean-libtool mostlyclean-tags mostlyclean-depend \
 		mostlyclean-generic
 
 mostlyclean: mostlyclean-am
 
 clean-am:  clean-sbinPROGRAMS clean-compile clean-libtool clean-tags \
-		clean-generic mostlyclean-am
+		clean-depend clean-generic mostlyclean-am
 
 clean: clean-am
 
 distclean-am:  distclean-sbinPROGRAMS distclean-compile \
-		distclean-libtool distclean-tags distclean-generic \
-		clean-am
+		distclean-libtool distclean-tags distclean-depend \
+		distclean-generic clean-am
 	-rm -f libtool
 
 distclean: distclean-am
 
 maintainer-clean-am:  maintainer-clean-sbinPROGRAMS \
 		maintainer-clean-compile maintainer-clean-libtool \
-		maintainer-clean-tags maintainer-clean-generic \
-		distclean-am
+		maintainer-clean-tags maintainer-clean-depend \
+		maintainer-clean-generic distclean-am
 	@echo "This command is intended for maintainers to use;"
 	@echo "it deletes files that may require special tools to rebuild."
 
@@ -416,8 +430,9 @@
 distclean-libtool clean-libtool maintainer-clean-libtool install-man8 \
 uninstall-man8 install-man uninstall-man uninstall-includeHEADERS \
 install-includeHEADERS tags mostlyclean-tags distclean-tags clean-tags \
-maintainer-clean-tags distdir info-am info dvi-am dvi check check-am \
-installcheck-am installcheck install-exec-am install-exec \
+maintainer-clean-tags distdir mostlyclean-depend distclean-depend \
+clean-depend maintainer-clean-depend info-am info dvi-am dvi check \
+check-am installcheck-am installcheck install-exec-am install-exec \
 install-data-am install-data install-am install uninstall-am uninstall \
 all-redirect all-am all installdirs mostlyclean-generic \
 distclean-generic clean-generic maintainer-clean-generic clean \
Index: linux-atm-2.4.1/src/arpd/atmarp.c
===================================================================
--- linux-atm-2.4.1.orig/src/arpd/atmarp.c	2007-06-04 13:23:54.103508912 +0200
+++ linux-atm-2.4.1/src/arpd/atmarp.c	2007-06-04 13:23:54.497449024 +0200
@@ -92,7 +92,7 @@
 	    perror("read " ATMARP_DUMP_DIR "/" ATMARP_DUMP_FILE);
 	    return 1;
 	}
-	if (write(0,buffer,size) < 0) {
+	if (write(1,buffer,size) < 0) {
 	    perror("write stdout");
 	    return 1;
 	}
Index: linux-atm-2.4.1/src/ilmid/Makefile.in
===================================================================
--- linux-atm-2.4.1.orig/src/ilmid/Makefile.in	2007-06-04 13:23:54.108508152 +0200
+++ linux-atm-2.4.1/src/ilmid/Makefile.in	2007-06-04 13:23:54.498448872 +0200
@@ -1,4 +1,4 @@
-# Makefile.in generated automatically by automake 1.4-p5 from Makefile.am
+# Makefile.in generated automatically by automake 1.4-p6 from Makefile.am
 
 # Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
@@ -91,13 +91,9 @@
 
 sbin_PROGRAMS = ilmid
 
-ilmid_SOURCES = rfc1157_snmp.c rfc1157_snmp.h rfc1155_smi.c rfc1155_smi.h \
-			util.c util.h io.c io.h message.c message.h \
-			atmf_uni.c atmf_uni.h mib.c mib.h \
-			sysgroup.c sysgroup.h ilmid.c
+ilmid_SOURCES = rfc1157_snmp.c rfc1157_snmp.h rfc1155_smi.c rfc1155_smi.h 			util.c util.h io.c io.h message.c message.h 			atmf_uni.c atmf_uni.h mib.c mib.h 			sysgroup.c sysgroup.h ilmid.c
 
-ilmid_LDADD = $(top_builddir)/src/lib/libatm.la \
-		$(top_builddir)/src/ilmid/asn1/libasn1.a
+ilmid_LDADD = $(top_builddir)/src/lib/libatm.la 		$(top_builddir)/src/ilmid/asn1/libasn1.a
 
 ilmid_DEPENDENCIES = $(ilmid_LDADD)
 
@@ -127,8 +123,11 @@
 
 DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
 
-TAR = gtar
+TAR = tar
 GZIP_ENV = --best
+DEP_FILES =  .deps/atmf_uni.P .deps/ilmid.P .deps/io.P .deps/message.P \
+.deps/mib.P .deps/rfc1155_smi.P .deps/rfc1157_snmp.P .deps/sysgroup.P \
+.deps/util.P
 SOURCES = $(ilmid_SOURCES)
 OBJECTS = $(ilmid_OBJECTS)
 
@@ -136,9 +135,9 @@
 .SUFFIXES:
 .SUFFIXES: .S .c .lo .o .obj .s
 $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) 
-	cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps src/ilmid/Makefile
+	cd $(top_srcdir) && $(AUTOMAKE) --gnu src/ilmid/Makefile
 
-Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status
+Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status $(BUILT_SOURCES)
 	cd $(top_builddir) \
 	  && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
 
@@ -168,9 +167,6 @@
 	  rm -f $(DESTDIR)$(sbindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \
 	done
 
-.c.o:
-	$(COMPILE) -c $<
-
 # FIXME: We should only use cygpath when building on Windows,
 # and only if it is available.
 .c.obj:
@@ -193,9 +189,6 @@
 
 maintainer-clean-compile:
 
-.c.lo:
-	$(LIBTOOL) --mode=compile $(COMPILE) -c $<
-
 .s.lo:
 	$(LIBTOOL) --mode=compile $(COMPILE) -c $<
 
@@ -294,7 +287,7 @@
 	  awk '    { files[$$0] = 1; } \
 	       END { for (i in files) print i; }'`; \
 	test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
-	  || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags  $$unique $(LISP) -o $$here/TAGS)
+	  || (cd $(srcdir) && etags -o $$here/TAGS $(ETAGS_ARGS) $$tags  $$unique $(LISP))
 
 mostlyclean-tags:
 
@@ -310,6 +303,11 @@
 subdir = src/ilmid
 
 distdir: $(DISTFILES)
+	here=`cd $(top_builddir) && pwd`; \
+	top_distdir=`cd $(top_distdir) && pwd`; \
+	distdir=`cd $(distdir) && pwd`; \
+	cd $(top_srcdir) \
+	  && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnu src/ilmid/Makefile
 	@for file in $(DISTFILES); do \
 	  d=$(srcdir); \
 	  if test -d $$d/$$file; then \
@@ -330,62 +328,38 @@
 	      || exit 1; \
 	  fi; \
 	done
-atmf_uni.o: atmf_uni.c ../../config.h atmf_uni.h asn1/asn_incl.h \
-	asn1/asn_config.h asn1/nibble_alloc.h asn1/sbuf.h asn1/print.h \
-	asn1/asn_len.h asn1/asn_tag.h asn1/asn_int.h asn1/asn_octs.h \
-	asn1/asn_bits.h asn1/asn_oid.h asn1/asn_null.h asn1/asn_list.h \
-	rfc1155_smi.h rfc1157_snmp.h mib.h ../../src/include/atmd.h \
-	../../src/include/stdint.h ../../src/include/atm.h util.h
-ilmid.o: ilmid.c ../../config.h asn1/asn_incl.h asn1/asn_config.h \
-	asn1/nibble_alloc.h asn1/sbuf.h asn1/print.h asn1/asn_len.h \
-	asn1/asn_tag.h asn1/asn_int.h asn1/asn_octs.h asn1/asn_bits.h \
-	asn1/asn_oid.h asn1/asn_null.h asn1/asn_list.h rfc1155_smi.h \
-	rfc1157_snmp.h message.h util.h ../../src/include/atmd.h \
-	../../src/include/stdint.h ../../src/include/atm.h io.h mib.h \
-	atmf_uni.h sysgroup.h
-io.o: io.c ../../config.h ../../src/include/stdint.h \
-	../../src/include/atm.h io.h asn1/asn_incl.h asn1/asn_config.h \
-	asn1/nibble_alloc.h asn1/sbuf.h asn1/print.h asn1/asn_len.h \
-	asn1/asn_tag.h asn1/asn_int.h asn1/asn_octs.h asn1/asn_bits.h \
-	asn1/asn_oid.h asn1/asn_null.h asn1/asn_list.h rfc1155_smi.h \
-	rfc1157_snmp.h ../../src/include/atmd.h atmf_uni.h mib.h
-message.o: message.c ../../config.h message.h asn1/asn_incl.h \
-	asn1/asn_config.h asn1/nibble_alloc.h asn1/sbuf.h asn1/print.h \
-	asn1/asn_len.h asn1/asn_tag.h asn1/asn_int.h asn1/asn_octs.h \
-	asn1/asn_bits.h asn1/asn_oid.h asn1/asn_null.h asn1/asn_list.h \
-	rfc1155_smi.h rfc1157_snmp.h atmf_uni.h mib.h \
-	../../src/include/atmd.h ../../src/include/stdint.h \
-	../../src/include/atm.h util.h
-mib.o: mib.c ../../config.h mib.h ../../src/include/atmd.h \
-	../../src/include/stdint.h ../../src/include/atm.h \
-	asn1/asn_incl.h asn1/asn_config.h asn1/nibble_alloc.h \
-	asn1/sbuf.h asn1/print.h asn1/asn_len.h asn1/asn_tag.h \
-	asn1/asn_int.h asn1/asn_octs.h asn1/asn_bits.h asn1/asn_oid.h \
-	asn1/asn_null.h asn1/asn_list.h rfc1155_smi.h rfc1157_snmp.h \
-	sysgroup.h atmf_uni.h util.h
-rfc1155_smi.o: rfc1155_smi.c ../../config.h asn1/asn_incl.h \
-	asn1/asn_config.h asn1/nibble_alloc.h asn1/sbuf.h asn1/print.h \
-	asn1/asn_len.h asn1/asn_tag.h asn1/asn_int.h asn1/asn_octs.h \
-	asn1/asn_bits.h asn1/asn_oid.h asn1/asn_null.h asn1/asn_list.h \
-	rfc1155_smi.h rfc1157_snmp.h
-rfc1157_snmp.o: rfc1157_snmp.c ../../config.h asn1/asn_incl.h \
-	asn1/asn_config.h asn1/nibble_alloc.h asn1/sbuf.h asn1/print.h \
-	asn1/asn_len.h asn1/asn_tag.h asn1/asn_int.h asn1/asn_octs.h \
-	asn1/asn_bits.h asn1/asn_oid.h asn1/asn_null.h asn1/asn_list.h \
-	rfc1155_smi.h rfc1157_snmp.h
-sysgroup.o: sysgroup.c ../../config.h sysgroup.h asn1/asn_incl.h \
-	asn1/asn_config.h asn1/nibble_alloc.h asn1/sbuf.h asn1/print.h \
-	asn1/asn_len.h asn1/asn_tag.h asn1/asn_int.h asn1/asn_octs.h \
-	asn1/asn_bits.h asn1/asn_oid.h asn1/asn_null.h asn1/asn_list.h \
-	rfc1155_smi.h rfc1157_snmp.h mib.h ../../src/include/atmd.h \
-	../../src/include/stdint.h ../../src/include/atm.h
-util.o: util.c ../../config.h util.h asn1/asn_incl.h asn1/asn_config.h \
-	asn1/nibble_alloc.h asn1/sbuf.h asn1/print.h asn1/asn_len.h \
-	asn1/asn_tag.h asn1/asn_int.h asn1/asn_octs.h asn1/asn_bits.h \
-	asn1/asn_oid.h asn1/asn_null.h asn1/asn_list.h rfc1155_smi.h \
-	rfc1157_snmp.h ../../src/include/atmd.h \
-	../../src/include/stdint.h ../../src/include/atm.h
 
+DEPS_MAGIC := $(shell mkdir .deps > /dev/null 2>&1 || :)
+
+-include $(DEP_FILES)
+
+mostlyclean-depend:
+
+clean-depend:
+
+distclean-depend:
+	-rm -rf .deps
+
+maintainer-clean-depend:
+
+%.o: %.c
+	@echo '$(COMPILE) -c $<'; \
+	$(COMPILE) -Wp,-MD,.deps/$(*F).pp -c $<
+	@-cp .deps/$(*F).pp .deps/$(*F).P; \
+	tr ' ' '\012' < .deps/$(*F).pp \
+	  | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \
+	    >> .deps/$(*F).P; \
+	rm .deps/$(*F).pp
+
+%.lo: %.c
+	@echo '$(LTCOMPILE) -c $<'; \
+	$(LTCOMPILE) -Wp,-MD,.deps/$(*F).pp -c $<
+	@-sed -e 's/^\([^:]*\)\.o[ 	]*:/\1.lo \1.o :/' \
+	  < .deps/$(*F).pp > .deps/$(*F).P; \
+	tr ' ' '\012' < .deps/$(*F).pp \
+	  | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \
+	    >> .deps/$(*F).P; \
+	rm -f .deps/$(*F).pp
 info-am:
 info: info-recursive
 dvi-am:
@@ -424,27 +398,27 @@
 
 maintainer-clean-generic:
 mostlyclean-am:  mostlyclean-sbinPROGRAMS mostlyclean-compile \
-		mostlyclean-libtool mostlyclean-tags \
+		mostlyclean-libtool mostlyclean-tags mostlyclean-depend \
 		mostlyclean-generic
 
 mostlyclean: mostlyclean-recursive
 
 clean-am:  clean-sbinPROGRAMS clean-compile clean-libtool clean-tags \
-		clean-generic mostlyclean-am
+		clean-depend clean-generic mostlyclean-am
 
 clean: clean-recursive
 
 distclean-am:  distclean-sbinPROGRAMS distclean-compile \
-		distclean-libtool distclean-tags distclean-generic \
-		clean-am
+		distclean-libtool distclean-tags distclean-depend \
+		distclean-generic clean-am
 	-rm -f libtool
 
 distclean: distclean-recursive
 
 maintainer-clean-am:  maintainer-clean-sbinPROGRAMS \
 		maintainer-clean-compile maintainer-clean-libtool \
-		maintainer-clean-tags maintainer-clean-generic \
-		distclean-am
+		maintainer-clean-tags maintainer-clean-depend \
+		maintainer-clean-generic distclean-am
 	@echo "This command is intended for maintainers to use;"
 	@echo "it deletes files that may require special tools to rebuild."
 
@@ -460,12 +434,14 @@
 all-recursive check-recursive installcheck-recursive info-recursive \
 dvi-recursive mostlyclean-recursive distclean-recursive clean-recursive \
 maintainer-clean-recursive tags tags-recursive mostlyclean-tags \
-distclean-tags clean-tags maintainer-clean-tags distdir info-am info \
-dvi-am dvi check check-am installcheck-am installcheck install-exec-am \
-install-exec install-data-am install-data install-am install \
-uninstall-am uninstall all-redirect all-am all installdirs-am \
-installdirs mostlyclean-generic distclean-generic clean-generic \
-maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+distclean-tags clean-tags maintainer-clean-tags distdir \
+mostlyclean-depend distclean-depend clean-depend \
+maintainer-clean-depend info-am info dvi-am dvi check check-am \
+installcheck-am installcheck install-exec-am install-exec \
+install-data-am install-data install-am install uninstall-am uninstall \
+all-redirect all-am all installdirs-am installdirs mostlyclean-generic \
+distclean-generic clean-generic maintainer-clean-generic clean \
+mostlyclean distclean maintainer-clean
 
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
Index: linux-atm-2.4.1/src/ilmid/io.c
===================================================================
--- linux-atm-2.4.1.orig/src/ilmid/io.c	2007-06-04 13:23:54.114507240 +0200
+++ linux-atm-2.4.1/src/ilmid/io.c	2007-06-04 13:23:54.498448872 +0200
@@ -32,6 +32,7 @@
 #include <net/if.h>
 #include <atm.h>
 #include <linux/atmdev.h>
+#include <unistd.h>
 #include "io.h"
 #include "atmd.h"
 #include "atmf_uni.h"
@@ -299,4 +300,5 @@
 	diag(COMPONENT,DIAG_ERROR,"ioctl ATM_GETCIRANGE: %s",strerror(errno));
 	return error;
     }
+    return 0;
 }
Index: linux-atm-2.4.1/src/ilmid/atmf_uni.c
===================================================================
--- linux-atm-2.4.1.orig/src/ilmid/atmf_uni.c	2007-06-04 13:23:54.119506480 +0200
+++ linux-atm-2.4.1/src/ilmid/atmf_uni.c	2007-06-04 13:23:54.498448872 +0200
@@ -187,7 +187,7 @@
       newPrefix->name = alloc_t(AsnOid);
       newPrefix->name->octs = alloc(varBindName->octetLen);
       AsnOidCopy(newPrefix->name, varBindName);
-      Q_INSERT_BEFORE((NetPrefixNode *) var->value, newPrefix, prefix);
+      Q_INSERT_BEFORE_TYPED(var->value,(NetPrefixNode *), newPrefix, prefix);
       if(atmNetPrefix.octs == NULL)
 	{
 	  atmNetPrefix.octetLen = varBindName->octetLen - NETPREFIX_LEN - 2;
@@ -197,7 +197,7 @@
     }
   else if (varbind->value->a.simple->a.number == INVALID && cmp == AsnOidEqual)
     {
-      Q_REMOVE((NetPrefixNode *) var->value, prefix);
+      Q_REMOVE(var->value, prefix);
     }
 
   return NOERROR;
Index: linux-atm-2.4.1/src/ilmid/mib.c
===================================================================
--- linux-atm-2.4.1.orig/src/ilmid/mib.c	2007-06-04 13:23:54.124505720 +0200
+++ linux-atm-2.4.1/src/ilmid/mib.c	2007-06-04 13:23:54.499448720 +0200
@@ -58,13 +58,13 @@
   { NULL }
 };
 
-void MIBget(VarBindList *list, PDUInt *status, AsnInt *index)
+void MIBget(VarBindList *list, PDUInt *status, AsnInt *Mindex)
 {
   VarBind *varbind;
   Variable *var;
   AsnOidResult result;
   
-  *index = 1;
+  *Mindex = 1;
   FOR_EACH_LIST_ELMT(varbind, list)
   {
     /* Find the first MIB object not lexigraphically less than the *
@@ -91,20 +91,20 @@
     if(*status != NOERROR)
       return;
     
-    (*index)++;
+    (*Mindex)++;
   }
-  *index = 0;
+  *Mindex = 0;
   return;
 }
   
 
-void MIBgetnext(VarBindList *list, PDUInt *status, AsnInt *index)
+void MIBgetnext(VarBindList *list, PDUInt *status, AsnInt *Mindex)
 {
   VarBind *varbind;
   Variable *var;
   AsnOidResult result;
 
-  *index = 1;
+  *Mindex = 1;
   FOR_EACH_LIST_ELMT(varbind, list)
   {
     /* Find the first complex MIB object not lexigraphically less than *
@@ -139,19 +139,19 @@
     if(*status != NOERROR)
       return;
       
-    (*index)++;
+    (*Mindex)++;
   }
-  *index = 0;
+  *Mindex = 0;
   return;
 }
 
-void MIBset(VarBindList *list, PDUInt *status, AsnInt *index)
+void MIBset(VarBindList *list, PDUInt *status, AsnInt *Mindex)
 {
   VarBind *varbind;
   Variable *var;
   AsnOidResult result;
 
-  *index = 1;
+  *Mindex = 1;
   FOR_EACH_LIST_ELMT(varbind, list)
   {
     /* Find the first MIB object not lexigraphically less than the *
@@ -182,9 +182,9 @@
     if(*status != NOERROR)
       return;
       
-    (*index)++;
+    (*Mindex)++;
   }
-  *index = 0;
+  *Mindex = 0;
   return;
 }
 
Index: linux-atm-2.4.1/src/ilmid/mib.h
===================================================================
--- linux-atm-2.4.1.orig/src/ilmid/mib.h	2007-06-04 13:23:54.130504808 +0200
+++ linux-atm-2.4.1/src/ilmid/mib.h	2007-06-04 13:23:54.499448720 +0200
@@ -39,9 +39,9 @@
   void *value;
 } Variable;
 
-void MIBget(VarBindList *list, PDUInt *status, AsnInt *index);
-void MIBgetnext(VarBindList *list, PDUInt *status, AsnInt *index);
-void MIBset(VarBindList *list, PDUInt *status, AsnInt *index);
+void MIBget(VarBindList *list, PDUInt *status, AsnInt *Mindex);
+void MIBgetnext(VarBindList *list, PDUInt *status, AsnInt *Mindex);
+void MIBset(VarBindList *list, PDUInt *status, AsnInt *Mindex);
 void *MIBdelete(AsnOid *oid);
 
 AsnInt getString(VarBind *varbind, Variable *var);
Index: linux-atm-2.4.1/src/ilmid/ilmid.c
===================================================================
--- linux-atm-2.4.1.orig/src/ilmid/ilmid.c	2007-06-04 13:23:54.135504048 +0200
+++ linux-atm-2.4.1/src/ilmid/ilmid.c	2007-06-04 13:23:54.499448720 +0200
@@ -33,6 +33,7 @@
 #include <config.h>
 #endif
 
+#include <stdlib.h>
 #include <unistd.h>
 #include <sys/time.h>
 #include <errno.h>
Index: linux-atm-2.4.1/src/ilmid/asn1/Makefile.in
===================================================================
--- linux-atm-2.4.1.orig/src/ilmid/asn1/Makefile.in	2007-06-04 13:23:54.141503136 +0200
+++ linux-atm-2.4.1/src/ilmid/asn1/Makefile.in	2007-06-04 13:23:54.499448720 +0200
@@ -1,4 +1,4 @@
-# Makefile.in generated automatically by automake 1.4-p5 from Makefile.am
+# Makefile.in generated automatically by automake 1.4-p6 from Makefile.am
 
 # Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
@@ -87,13 +87,7 @@
 
 noinst_LIBRARIES = libasn1.a
 
-libasn1_a_SOURCES = asn_len.c asn_len.h asn_tag.c asn_tag.h \
-			asn_int.c asn_int.h asn_octs.c asn_octs.h \
-			asn_bits.c asn_bits.h str_stk.c str_stk.h \
-			asn_oid.c asn_oid.h asn_null.c asn_null.h \
-			asn_list.c asn_list.h nibble_alloc.c nibble_alloc.h \
-			print.c print.h \
-			asn_config.h min_buf.h sbuf.h exp_buf.h
+libasn1_a_SOURCES = asn_len.c asn_len.h asn_tag.c asn_tag.h 			asn_int.c asn_int.h asn_octs.c asn_octs.h 			asn_bits.c asn_bits.h str_stk.c str_stk.h 			asn_oid.c asn_oid.h asn_null.c asn_null.h 			asn_list.c asn_list.h nibble_alloc.c nibble_alloc.h 			print.c print.h 			asn_config.h min_buf.h sbuf.h exp_buf.h
 
 
 EXTRA_libasn1_a_SOURCES = asn_incl.h exp_buf.c
@@ -125,8 +119,12 @@
 
 DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
 
-TAR = gtar
+TAR = tar
 GZIP_ENV = --best
+DEP_FILES =  .deps/asn_bits.P .deps/asn_int.P .deps/asn_len.P \
+.deps/asn_list.P .deps/asn_null.P .deps/asn_octs.P .deps/asn_oid.P \
+.deps/asn_tag.P .deps/exp_buf.P .deps/nibble_alloc.P .deps/print.P \
+.deps/str_stk.P
 SOURCES = $(libasn1_a_SOURCES) $(EXTRA_libasn1_a_SOURCES)
 OBJECTS = $(libasn1_a_OBJECTS)
 
@@ -134,9 +132,9 @@
 .SUFFIXES:
 .SUFFIXES: .S .c .lo .o .obj .s
 $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) 
-	cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps src/ilmid/asn1/Makefile
+	cd $(top_srcdir) && $(AUTOMAKE) --gnu src/ilmid/asn1/Makefile
 
-Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status
+Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status $(BUILT_SOURCES)
 	cd $(top_builddir) \
 	  && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
 
@@ -150,9 +148,6 @@
 
 maintainer-clean-noinstLIBRARIES:
 
-.c.o:
-	$(COMPILE) -c $<
-
 # FIXME: We should only use cygpath when building on Windows,
 # and only if it is available.
 .c.obj:
@@ -175,9 +170,6 @@
 
 maintainer-clean-compile:
 
-.c.lo:
-	$(LIBTOOL) --mode=compile $(COMPILE) -c $<
-
 .s.lo:
 	$(LIBTOOL) --mode=compile $(COMPILE) -c $<
 
@@ -217,7 +209,7 @@
 	  awk '    { files[$$0] = 1; } \
 	       END { for (i in files) print i; }'`; \
 	test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
-	  || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags  $$unique $(LISP) -o $$here/TAGS)
+	  || (cd $(srcdir) && etags -o $$here/TAGS $(ETAGS_ARGS) $$tags  $$unique $(LISP))
 
 mostlyclean-tags:
 
@@ -233,6 +225,11 @@
 subdir = src/ilmid/asn1
 
 distdir: $(DISTFILES)
+	here=`cd $(top_builddir) && pwd`; \
+	top_distdir=`cd $(top_distdir) && pwd`; \
+	distdir=`cd $(distdir) && pwd`; \
+	cd $(top_srcdir) \
+	  && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnu src/ilmid/asn1/Makefile
 	@for file in $(DISTFILES); do \
 	  d=$(srcdir); \
 	  if test -d $$d/$$file; then \
@@ -243,30 +240,38 @@
 	    || cp -p $$d/$$file $(distdir)/$$file || :; \
 	  fi; \
 	done
-asn_bits.o: asn_bits.c ../../../config.h asn_config.h nibble_alloc.h \
-	sbuf.h print.h asn_len.h asn_tag.h str_stk.h asn_bits.h
-asn_int.o: asn_int.c ../../../config.h asn_config.h nibble_alloc.h \
-	sbuf.h print.h asn_len.h asn_tag.h asn_int.h
-asn_len.o: asn_len.c ../../../config.h asn_config.h nibble_alloc.h \
-	sbuf.h print.h asn_len.h
-asn_list.o: asn_list.c ../../../config.h asn_config.h nibble_alloc.h \
-	sbuf.h print.h asn_list.h
-asn_null.o: asn_null.c ../../../config.h asn_config.h nibble_alloc.h \
-	sbuf.h print.h asn_len.h asn_tag.h asn_null.h
-asn_octs.o: asn_octs.c ../../../config.h asn_config.h nibble_alloc.h \
-	sbuf.h print.h asn_len.h asn_tag.h str_stk.h asn_bits.h \
-	asn_octs.h
-asn_oid.o: asn_oid.c ../../../config.h asn_config.h nibble_alloc.h \
-	sbuf.h print.h asn_len.h asn_tag.h asn_octs.h asn_oid.h
-asn_tag.o: asn_tag.c ../../../config.h asn_config.h nibble_alloc.h \
-	sbuf.h print.h asn_len.h asn_tag.h
-nibble_alloc.o: nibble_alloc.c ../../../config.h asn_config.h \
-	nibble_alloc.h sbuf.h print.h
-print.o: print.c ../../../config.h asn_config.h nibble_alloc.h sbuf.h \
-	print.h
-str_stk.o: str_stk.c ../../../config.h asn_config.h nibble_alloc.h \
-	sbuf.h print.h str_stk.h
 
+DEPS_MAGIC := $(shell mkdir .deps > /dev/null 2>&1 || :)
+
+-include $(DEP_FILES)
+
+mostlyclean-depend:
+
+clean-depend:
+
+distclean-depend:
+	-rm -rf .deps
+
+maintainer-clean-depend:
+
+%.o: %.c
+	@echo '$(COMPILE) -c $<'; \
+	$(COMPILE) -Wp,-MD,.deps/$(*F).pp -c $<
+	@-cp .deps/$(*F).pp .deps/$(*F).P; \
+	tr ' ' '\012' < .deps/$(*F).pp \
+	  | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \
+	    >> .deps/$(*F).P; \
+	rm .deps/$(*F).pp
+
+%.lo: %.c
+	@echo '$(LTCOMPILE) -c $<'; \
+	$(LTCOMPILE) -Wp,-MD,.deps/$(*F).pp -c $<
+	@-sed -e 's/^\([^:]*\)\.o[ 	]*:/\1.lo \1.o :/' \
+	  < .deps/$(*F).pp > .deps/$(*F).P; \
+	tr ' ' '\012' < .deps/$(*F).pp \
+	  | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \
+	    >> .deps/$(*F).P; \
+	rm -f .deps/$(*F).pp
 info-am:
 info: info-am
 dvi-am:
@@ -303,27 +308,27 @@
 
 maintainer-clean-generic:
 mostlyclean-am:  mostlyclean-noinstLIBRARIES mostlyclean-compile \
-		mostlyclean-libtool mostlyclean-tags \
+		mostlyclean-libtool mostlyclean-tags mostlyclean-depend \
 		mostlyclean-generic
 
 mostlyclean: mostlyclean-am
 
 clean-am:  clean-noinstLIBRARIES clean-compile clean-libtool clean-tags \
-		clean-generic mostlyclean-am
+		clean-depend clean-generic mostlyclean-am
 
 clean: clean-am
 
 distclean-am:  distclean-noinstLIBRARIES distclean-compile \
-		distclean-libtool distclean-tags distclean-generic \
-		clean-am
+		distclean-libtool distclean-tags distclean-depend \
+		distclean-generic clean-am
 	-rm -f libtool
 
 distclean: distclean-am
 
 maintainer-clean-am:  maintainer-clean-noinstLIBRARIES \
 		maintainer-clean-compile maintainer-clean-libtool \
-		maintainer-clean-tags maintainer-clean-generic \
-		distclean-am
+		maintainer-clean-tags maintainer-clean-depend \
+		maintainer-clean-generic distclean-am
 	@echo "This command is intended for maintainers to use;"
 	@echo "it deletes files that may require special tools to rebuild."
 
@@ -334,12 +339,14 @@
 mostlyclean-compile distclean-compile clean-compile \
 maintainer-clean-compile mostlyclean-libtool distclean-libtool \
 clean-libtool maintainer-clean-libtool tags mostlyclean-tags \
-distclean-tags clean-tags maintainer-clean-tags distdir info-am info \
-dvi-am dvi check check-am installcheck-am installcheck install-exec-am \
-install-exec install-data-am install-data install-am install \
-uninstall-am uninstall all-redirect all-am all installdirs \
-mostlyclean-generic distclean-generic clean-generic \
-maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+distclean-tags clean-tags maintainer-clean-tags distdir \
+mostlyclean-depend distclean-depend clean-depend \
+maintainer-clean-depend info-am info dvi-am dvi check check-am \
+installcheck-am installcheck install-exec-am install-exec \
+install-data-am install-data install-am install uninstall-am uninstall \
+all-redirect all-am all installdirs mostlyclean-generic \
+distclean-generic clean-generic maintainer-clean-generic clean \
+mostlyclean distclean maintainer-clean
 
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
Index: linux-atm-2.4.1/src/ilmid/asn1/asn_int.c
===================================================================
--- linux-atm-2.4.1.orig/src/ilmid/asn1/asn_int.c	2007-06-04 13:23:54.147502224 +0200
+++ linux-atm-2.4.1/src/ilmid/asn1/asn_int.c	2007-06-04 13:23:54.500448568 +0200
@@ -185,7 +185,7 @@
 AsnInt* v _AND_
 unsigned short int indent)
 {
-    fprintf(f,"%d", *v);
+    fprintf(f,"%ld", *v);
 } 
 
 
@@ -252,7 +252,6 @@
 UAsnInt* data)
 {
     int             len;
-    int             retLen;
     int             i; 
     unsigned long int   mask;
     unsigned long int   dataCpy;
@@ -370,5 +369,5 @@
 UAsnInt* v _AND_
 unsigned short int indent)
 {
-    fprintf(f,"%u", *v);
+    fprintf(f,"%lu", *v);
 } 
Index: linux-atm-2.4.1/src/ilmid/asn1/asn_octs.c
===================================================================
--- linux-atm-2.4.1.orig/src/ilmid/asn1/asn_octs.c	2007-06-04 13:23:54.152501464 +0200
+++ linux-atm-2.4.1/src/ilmid/asn1/asn_octs.c	2007-06-04 13:23:54.500448568 +0200
@@ -21,6 +21,9 @@
 #include <config.h>
 #endif
 
+#include <stdlib.h>
+#include <string.h>
+
 #include "asn_config.h"
 #include "asn_len.h"
 #include "asn_tag.h"
Index: linux-atm-2.4.1/src/ilmid/asn1/asn_bits.c
===================================================================
--- linux-atm-2.4.1.orig/src/ilmid/asn1/asn_bits.c	2007-06-04 13:23:54.157500704 +0200
+++ linux-atm-2.4.1/src/ilmid/asn1/asn_bits.c	2007-06-04 13:23:54.500448568 +0200
@@ -21,6 +21,9 @@
 #include <config.h>
 #endif
 
+#include <stdlib.h>
+#include <string.h>
+
 #include "asn_config.h"
 #include "asn_len.h"
 #include "asn_tag.h"
Index: linux-atm-2.4.1/src/ilmid/asn1/asn_oid.c
===================================================================
--- linux-atm-2.4.1.orig/src/ilmid/asn1/asn_oid.c	2007-06-04 13:23:54.163499792 +0200
+++ linux-atm-2.4.1/src/ilmid/asn1/asn_oid.c	2007-06-04 13:23:54.500448568 +0200
@@ -21,6 +21,9 @@
 #include <config.h>
 #endif
 
+#include <stdlib.h>
+#include <string.h>
+
 #include "asn_config.h"
 #include "asn_len.h"
 #include "asn_tag.h"
@@ -125,7 +128,7 @@
     if (firstArcNum > 2)
         firstArcNum = 2;
 
-    fprintf(f,"%u %u", firstArcNum, arcNum - (firstArcNum * 40));
+    fprintf(f,"%d %lu", firstArcNum, arcNum - (firstArcNum * 40));
 
     for (; i < v->octetLen ; )
     {
@@ -134,7 +137,7 @@
 
         arcNum = (arcNum << 7) + (v->octs[i] & 0x7f);
         i++;
-        fprintf(f," %u", arcNum);
+        fprintf(f," %lu", arcNum);
     }
     fprintf(f,"}");
 
Index: linux-atm-2.4.1/src/ilmid/asn1/asn_list.c
===================================================================
--- linux-atm-2.4.1.orig/src/ilmid/asn1/asn_list.c	2007-06-04 13:23:54.168499032 +0200
+++ linux-atm-2.4.1/src/ilmid/asn1/asn_list.c	2007-06-04 13:23:54.501448416 +0200
@@ -20,6 +20,8 @@
 #include <config.h>
 #endif
 
+#include <stdlib.h>
+
 #include "asn_config.h"
 #include "asn_list.h"
 
Index: linux-atm-2.4.1/src/ilmid/asn1/nibble_alloc.c
===================================================================
--- linux-atm-2.4.1.orig/src/ilmid/asn1/nibble_alloc.c	2007-06-04 13:23:54.174498120 +0200
+++ linux-atm-2.4.1/src/ilmid/asn1/nibble_alloc.c	2007-06-04 13:23:54.501448416 +0200
@@ -20,7 +20,9 @@
 #include <config.h>
 #endif
 
+#include <string.h>
 #include <memory.h>
+#include <stdlib.h>
 #include "asn_config.h"
 #include "nibble_alloc.h"
 
Index: linux-atm-2.4.1/src/ilmid/asn1/nibble_alloc.h
===================================================================
--- linux-atm-2.4.1.orig/src/ilmid/asn1/nibble_alloc.h	2007-06-04 13:23:54.181497056 +0200
+++ linux-atm-2.4.1/src/ilmid/asn1/nibble_alloc.h	2007-06-04 13:23:54.501448416 +0200
@@ -39,13 +39,13 @@
 void InitNibbleMem PROTO((unsigned long int initialSize,
                           unsigned long int incrementSize));
 
-void ShutdownNibbleMem();
+void ShutdownNibbleMem(void);
 
 void ServiceNibbleFault PROTO((unsigned long int size));
 
 void* NibbleAlloc PROTO((unsigned long int size));
 
-void ResetNibbleMem();
+void ResetNibbleMem(void);
 
 
 #endif /* conditional include */
Index: linux-atm-2.4.1/src/man/Makefile.in
===================================================================
--- linux-atm-2.4.1.orig/src/man/Makefile.in	2007-06-04 13:23:54.187496144 +0200
+++ linux-atm-2.4.1/src/man/Makefile.in	2007-06-04 13:23:54.501448416 +0200
@@ -1,4 +1,4 @@
-# Makefile.in generated automatically by automake 1.4-p5 from Makefile.am
+# Makefile.in generated automatically by automake 1.4-p6 from Makefile.am
 
 # Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
@@ -100,14 +100,14 @@
 
 DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
 
-TAR = gtar
+TAR = tar
 GZIP_ENV = --best
 all: all-redirect
 .SUFFIXES:
 $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) 
-	cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps src/man/Makefile
+	cd $(top_srcdir) && $(AUTOMAKE) --gnu src/man/Makefile
 
-Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status
+Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status $(BUILT_SOURCES)
 	cd $(top_builddir) \
 	  && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
 
@@ -159,6 +159,11 @@
 subdir = src/man
 
 distdir: $(DISTFILES)
+	here=`cd $(top_builddir) && pwd`; \
+	top_distdir=`cd $(top_distdir) && pwd`; \
+	distdir=`cd $(distdir) && pwd`; \
+	cd $(top_srcdir) \
+	  && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnu src/man/Makefile
 	@for file in $(DISTFILES); do \
 	  d=$(srcdir); \
 	  if test -d $$d/$$file; then \
Index: linux-atm-2.4.1/src/led/Makefile.in
===================================================================
--- linux-atm-2.4.1.orig/src/led/Makefile.in	2007-06-04 13:23:54.193495232 +0200
+++ linux-atm-2.4.1/src/led/Makefile.in	2007-06-04 13:23:54.502448264 +0200
@@ -1,4 +1,4 @@
-# Makefile.in generated automatically by automake 1.4-p5 from Makefile.am
+# Makefile.in generated automatically by automake 1.4-p6 from Makefile.am
 
 # Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
@@ -87,9 +87,7 @@
 
 sbin_PROGRAMS = zeppelin
 
-zeppelin_SOURCES = join.c join.h conn.c conn.h main.c address.c address.h \
-			frames.c frames.h display.c display.h \
-			kernel.c kernel.h frame_defs.h lec.h
+zeppelin_SOURCES = join.c join.h conn.c conn.h main.c address.c address.h 			frames.c frames.h display.c display.h 			kernel.c kernel.h frame_defs.h lec.h
 
 zeppelin_LDADD = $(top_builddir)/src/lib/libatm.la
 zeppelin_DEPENDENCIES = $(zeppelin_LDADD)
@@ -125,8 +123,10 @@
 
 DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
 
-TAR = gtar
+TAR = tar
 GZIP_ENV = --best
+DEP_FILES =  .deps/address.P .deps/conn.P .deps/display.P .deps/frames.P \
+.deps/join.P .deps/kernel.P .deps/main.P
 SOURCES = $(zeppelin_SOURCES)
 OBJECTS = $(zeppelin_OBJECTS)
 
@@ -134,9 +134,9 @@
 .SUFFIXES:
 .SUFFIXES: .S .c .lo .o .obj .s
 $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) 
-	cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps src/led/Makefile
+	cd $(top_srcdir) && $(AUTOMAKE) --gnu src/led/Makefile
 
-Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status
+Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status $(BUILT_SOURCES)
 	cd $(top_builddir) \
 	  && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
 
@@ -166,9 +166,6 @@
 	  rm -f $(DESTDIR)$(sbindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \
 	done
 
-.c.o:
-	$(COMPILE) -c $<
-
 # FIXME: We should only use cygpath when building on Windows,
 # and only if it is available.
 .c.obj:
@@ -191,9 +188,6 @@
 
 maintainer-clean-compile:
 
-.c.lo:
-	$(LIBTOOL) --mode=compile $(COMPILE) -c $<
-
 .s.lo:
 	$(LIBTOOL) --mode=compile $(COMPILE) -c $<
 
@@ -271,7 +265,7 @@
 	  awk '    { files[$$0] = 1; } \
 	       END { for (i in files) print i; }'`; \
 	test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
-	  || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags  $$unique $(LISP) -o $$here/TAGS)
+	  || (cd $(srcdir) && etags -o $$here/TAGS $(ETAGS_ARGS) $$tags  $$unique $(LISP))
 
 mostlyclean-tags:
 
@@ -287,6 +281,11 @@
 subdir = src/led
 
 distdir: $(DISTFILES)
+	here=`cd $(top_builddir) && pwd`; \
+	top_distdir=`cd $(top_distdir) && pwd`; \
+	distdir=`cd $(distdir) && pwd`; \
+	cd $(top_srcdir) \
+	  && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnu src/led/Makefile
 	@for file in $(DISTFILES); do \
 	  d=$(srcdir); \
 	  if test -d $$d/$$file; then \
@@ -297,28 +296,38 @@
 	    || cp -p $$d/$$file $(distdir)/$$file || :; \
 	  fi; \
 	done
-address.o: address.c ../../config.h ../../src/include/atm.h \
-	../../src/include/stdint.h ../../src/include/atmd.h address.h
-conn.o: conn.c ../../config.h ../../src/include/atm.h \
-	../../src/include/stdint.h ../../src/include/atmsap.h \
-	../../src/include/atmd.h conn.h display.h lec.h frames.h \
-	frame_defs.h kernel.h
-display.o: display.c ../../config.h ../../src/include/atm.h \
-	../../src/include/stdint.h ../../src/include/atmd.h display.h \
-	frame_defs.h
-frames.o: frames.c ../../config.h ../../src/include/atm.h \
-	../../src/include/stdint.h ../../src/include/atmd.h conn.h \
-	lec.h frames.h frame_defs.h display.h kernel.h
-join.o: join.c ../../config.h ../../src/include/atm.h \
-	../../src/include/stdint.h ../../src/include/atmd.h conn.h \
-	lec.h join.h frames.h frame_defs.h display.h
-kernel.o: kernel.c ../../config.h ../../src/include/atm.h \
-	../../src/include/stdint.h ../../src/include/atmd.h kernel.h \
-	lec.h conn.h frames.h frame_defs.h
-main.o: main.c ../../config.h ../../src/include/atm.h \
-	../../src/include/stdint.h ../../src/include/atmd.h join.h \
-	lec.h conn.h address.h display.h kernel.h
 
+DEPS_MAGIC := $(shell mkdir .deps > /dev/null 2>&1 || :)
+
+-include $(DEP_FILES)
+
+mostlyclean-depend:
+
+clean-depend:
+
+distclean-depend:
+	-rm -rf .deps
+
+maintainer-clean-depend:
+
+%.o: %.c
+	@echo '$(COMPILE) -c $<'; \
+	$(COMPILE) -Wp,-MD,.deps/$(*F).pp -c $<
+	@-cp .deps/$(*F).pp .deps/$(*F).P; \
+	tr ' ' '\012' < .deps/$(*F).pp \
+	  | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \
+	    >> .deps/$(*F).P; \
+	rm .deps/$(*F).pp
+
+%.lo: %.c
+	@echo '$(LTCOMPILE) -c $<'; \
+	$(LTCOMPILE) -Wp,-MD,.deps/$(*F).pp -c $<
+	@-sed -e 's/^\([^:]*\)\.o[ 	]*:/\1.lo \1.o :/' \
+	  < .deps/$(*F).pp > .deps/$(*F).P; \
+	tr ' ' '\012' < .deps/$(*F).pp \
+	  | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \
+	    >> .deps/$(*F).P; \
+	rm -f .deps/$(*F).pp
 info-am:
 info: info-am
 dvi-am:
@@ -356,27 +365,27 @@
 
 maintainer-clean-generic:
 mostlyclean-am:  mostlyclean-sbinPROGRAMS mostlyclean-compile \
-		mostlyclean-libtool mostlyclean-tags \
+		mostlyclean-libtool mostlyclean-tags mostlyclean-depend \
 		mostlyclean-generic
 
 mostlyclean: mostlyclean-am
 
 clean-am:  clean-sbinPROGRAMS clean-compile clean-libtool clean-tags \
-		clean-generic mostlyclean-am
+		clean-depend clean-generic mostlyclean-am
 
 clean: clean-am
 
 distclean-am:  distclean-sbinPROGRAMS distclean-compile \
-		distclean-libtool distclean-tags distclean-generic \
-		clean-am
+		distclean-libtool distclean-tags distclean-depend \
+		distclean-generic clean-am
 	-rm -f libtool
 
 distclean: distclean-am
 
 maintainer-clean-am:  maintainer-clean-sbinPROGRAMS \
 		maintainer-clean-compile maintainer-clean-libtool \
-		maintainer-clean-tags maintainer-clean-generic \
-		distclean-am
+		maintainer-clean-tags maintainer-clean-depend \
+		maintainer-clean-generic distclean-am
 	@echo "This command is intended for maintainers to use;"
 	@echo "it deletes files that may require special tools to rebuild."
 
@@ -388,12 +397,14 @@
 clean-compile maintainer-clean-compile mostlyclean-libtool \
 distclean-libtool clean-libtool maintainer-clean-libtool install-man8 \
 uninstall-man8 install-man uninstall-man tags mostlyclean-tags \
-distclean-tags clean-tags maintainer-clean-tags distdir info-am info \
-dvi-am dvi check check-am installcheck-am installcheck install-exec-am \
-install-exec install-data-am install-data install-am install \
-uninstall-am uninstall all-redirect all-am all installdirs \
-mostlyclean-generic distclean-generic clean-generic \
-maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+distclean-tags clean-tags maintainer-clean-tags distdir \
+mostlyclean-depend distclean-depend clean-depend \
+maintainer-clean-depend info-am info dvi-am dvi check check-am \
+installcheck-am installcheck install-exec-am install-exec \
+install-data-am install-data install-am install uninstall-am uninstall \
+all-redirect all-am all installdirs mostlyclean-generic \
+distclean-generic clean-generic maintainer-clean-generic clean \
+mostlyclean distclean maintainer-clean
 
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
Index: linux-atm-2.4.1/src/lane/Makefile.in
===================================================================
--- linux-atm-2.4.1.orig/src/lane/Makefile.in	2007-06-04 13:23:54.200494168 +0200
+++ linux-atm-2.4.1/src/lane/Makefile.in	2007-06-04 13:23:54.502448264 +0200
@@ -1,4 +1,4 @@
-# Makefile.in generated automatically by automake 1.4-p5 from Makefile.am
+# Makefile.in generated automatically by automake 1.4-p6 from Makefile.am
 
 # Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
@@ -89,14 +89,11 @@
 
 LDADD = $(top_builddir)/src/lib/libatm.la
 
-LES_BUS_SRCS = mem.c mem.h load.c load.h units.c units.h load_lex.l load_lex.h \
-		timers.c timers.h dump.c dump.h lane_atm.c lane_atm.h \
-		events.c events.h lane.c lane.h
+LES_BUS_SRCS = mem.c mem.h load.c load.h units.c units.h load_lex.l load_lex.h 		timers.c timers.h dump.c dump.h lane_atm.c lane_atm.h 		events.c events.h lane.c lane.h
 
 les_SOURCES = $(LES_BUS_SRCS) packet.c packet.h connect.c connect.h db.c db.h
 bus_SOURCES = $(LES_BUS_SRCS) connect_bus.c
-lecs_SOURCES = lecs_db.l lecs_db.h lecs_load.c lecs_load.h lecs.c lecs.h \
-		ldb.c ldb.h mem_lecs.c mem_lecs.h atm_lecs.c atm_lecs.h
+lecs_SOURCES = lecs_db.l lecs_db.h lecs_load.c lecs_load.h lecs.c lecs.h 		ldb.c ldb.h mem_lecs.c mem_lecs.h atm_lecs.c atm_lecs.h
 
 
 man_MANS = les.8 lecs.8 bus.8
@@ -148,8 +145,13 @@
 
 DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
 
-TAR = gtar
+TAR = tar
 GZIP_ENV = --best
+DEP_FILES =  .deps/atm_lecs.P .deps/connect.P .deps/connect_bus.P \
+.deps/db.P .deps/dump.P .deps/events.P .deps/lane.P .deps/lane_atm.P \
+.deps/ldb.P .deps/lecs.P .deps/lecs_db.P .deps/lecs_load.P .deps/load.P \
+.deps/load_lex.P .deps/mem.P .deps/mem_lecs.P .deps/packet.P \
+.deps/timers.P .deps/units.P
 SOURCES = $(les_SOURCES) $(bus_SOURCES) $(lecs_SOURCES)
 OBJECTS = $(les_OBJECTS) $(bus_OBJECTS) $(lecs_OBJECTS)
 
@@ -157,9 +159,9 @@
 .SUFFIXES:
 .SUFFIXES: .S .c .l .lo .o .obj .s
 $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) 
-	cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps src/lane/Makefile
+	cd $(top_srcdir) && $(AUTOMAKE) --gnu src/lane/Makefile
 
-Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status
+Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status $(BUILT_SOURCES)
 	cd $(top_builddir) \
 	  && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
 
@@ -189,9 +191,6 @@
 	  rm -f $(DESTDIR)$(sbindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \
 	done
 
-.c.o:
-	$(COMPILE) -c $<
-
 # FIXME: We should only use cygpath when building on Windows,
 # and only if it is available.
 .c.obj:
@@ -214,9 +213,6 @@
 
 maintainer-clean-compile:
 
-.c.lo:
-	$(LIBTOOL) --mode=compile $(COMPILE) -c $<
-
 .s.lo:
 	$(LIBTOOL) --mode=compile $(COMPILE) -c $<
 
@@ -304,7 +300,7 @@
 	  awk '    { files[$$0] = 1; } \
 	       END { for (i in files) print i; }'`; \
 	test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
-	  || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags  $$unique $(LISP) -o $$here/TAGS)
+	  || (cd $(srcdir) && etags -o $$here/TAGS $(ETAGS_ARGS) $$tags  $$unique $(LISP))
 
 mostlyclean-tags:
 
@@ -320,6 +316,11 @@
 subdir = src/lane
 
 distdir: $(DISTFILES)
+	here=`cd $(top_builddir) && pwd`; \
+	top_distdir=`cd $(top_distdir) && pwd`; \
+	distdir=`cd $(distdir) && pwd`; \
+	cd $(top_srcdir) \
+	  && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnu src/lane/Makefile
 	@for file in $(DISTFILES); do \
 	  d=$(srcdir); \
 	  if test -d $$d/$$file; then \
@@ -330,62 +331,38 @@
 	    || cp -p $$d/$$file $(distdir)/$$file || :; \
 	  fi; \
 	done
-atm_lecs.o: atm_lecs.c ../../config.h ../../src/include/atm.h \
-	../../src/include/stdint.h ../../src/include/atmsap.h \
-	atm_lecs.h
-connect.o: connect.c ../../config.h ../../src/include/stdint.h mem.h \
-	units.h lane.h dump.h ../../src/include/atm.h \
-	../../src/include/atmsap.h load.h connect.h timers.h events.h \
-	db.h packet.h lane_atm.h
-connect_bus.o: connect_bus.c ../../config.h ../../src/include/stdint.h \
-	mem.h units.h lane.h dump.h ../../src/include/atm.h \
-	../../src/include/atmsap.h load.h connect.h timers.h events.h \
-	lane_atm.h
-db.o: db.c ../../config.h ../../src/include/stdint.h mem.h units.h \
-	lane.h dump.h ../../src/include/atm.h \
-	../../src/include/atmsap.h load.h connect.h timers.h events.h \
-	db.h
-dump.o: dump.c ../../config.h ../../src/include/stdint.h \
-	../../src/include/atm.h ../../src/include/atmsap.h dump.h \
-	units.h lane.h load.h
-events.o: events.c ../../config.h events.h units.h load.h lane.h dump.h \
-	../../src/include/atm.h ../../src/include/stdint.h \
-	../../src/include/atmsap.h mem.h timers.h connect.h
-lane.o: lane.c ../../config.h units.h load.h lane.h dump.h \
-	../../src/include/atm.h ../../src/include/stdint.h \
-	../../src/include/atmsap.h mem.h connect.h timers.h events.h
-lane_atm.o: lane_atm.c ../../config.h lane_atm.h units.h lane.h \
-	connect.h timers.h load.h events.h ../../src/include/atmsap.h \
-	../../src/include/stdint.h dump.h ../../src/include/atm.h mem.h
-ldb.o: ldb.c ../../config.h ../../src/include/atm.h \
-	../../src/include/stdint.h lecs.h ldb.h mem_lecs.h
-lecs.o: lecs.c ../../config.h ../../src/include/stdint.h \
-	../../src/include/atm.h lecs_load.h ldb.h mem_lecs.h lecs.h \
-	atm_lecs.h
-lecs_db.o: lecs_db.c ../../config.h lecs_load.h lecs_db.h
-lecs_load.o: lecs_load.c ../../config.h lecs_load.h lecs_db.h ldb.h \
-	lecs.h
-load.o: load.c ../../config.h load.h units.h lane.h dump.h \
-	../../src/include/atm.h ../../src/include/stdint.h \
-	../../src/include/atmsap.h mem.h load_lex.h
-load_lex.o: load_lex.c ../../config.h ../../src/include/stdint.h \
-	load_lex.h lane.h units.h load.h mem.h
-mem.o: mem.c ../../config.h mem.h units.h dump.h ../../src/include/atm.h \
-	../../src/include/stdint.h ../../src/include/atmsap.h lane.h \
-	load.h
-mem_lecs.o: mem_lecs.c ../../config.h mem_lecs.h
-packet.o: packet.c ../../config.h ../../src/include/stdint.h mem.h \
-	units.h lane.h dump.h ../../src/include/atm.h \
-	../../src/include/atmsap.h load.h connect.h timers.h events.h \
-	db.h packet.h
-timers.o: timers.c ../../config.h timers.h units.h load.h lane.h dump.h \
-	../../src/include/atm.h ../../src/include/stdint.h \
-	../../src/include/atmsap.h mem.h
-units.o: units.c ../../config.h units.h mem.h lane.h load.h dump.h \
-	../../src/include/atm.h ../../src/include/stdint.h \
-	../../src/include/atmsap.h connect.h timers.h events.h \
-	lane_atm.h
 
+DEPS_MAGIC := $(shell mkdir .deps > /dev/null 2>&1 || :)
+
+-include $(DEP_FILES)
+
+mostlyclean-depend:
+
+clean-depend:
+
+distclean-depend:
+	-rm -rf .deps
+
+maintainer-clean-depend:
+
+%.o: %.c
+	@echo '$(COMPILE) -c $<'; \
+	$(COMPILE) -Wp,-MD,.deps/$(*F).pp -c $<
+	@-cp .deps/$(*F).pp .deps/$(*F).P; \
+	tr ' ' '\012' < .deps/$(*F).pp \
+	  | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \
+	    >> .deps/$(*F).P; \
+	rm .deps/$(*F).pp
+
+%.lo: %.c
+	@echo '$(LTCOMPILE) -c $<'; \
+	$(LTCOMPILE) -Wp,-MD,.deps/$(*F).pp -c $<
+	@-sed -e 's/^\([^:]*\)\.o[ 	]*:/\1.lo \1.o :/' \
+	  < .deps/$(*F).pp > .deps/$(*F).P; \
+	tr ' ' '\012' < .deps/$(*F).pp \
+	  | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \
+	    >> .deps/$(*F).P; \
+	rm -f .deps/$(*F).pp
 info-am:
 info: info-am
 dvi-am:
@@ -422,29 +399,29 @@
 	-rm -f config.cache config.log stamp-h stamp-h[0-9]*
 
 maintainer-clean-generic:
-	-test -z "lecs_dblload_lexl" || rm -f lecs_dbl load_lexl
+	-test -z "lecs_dbcload_lexc" || rm -f lecs_dbc load_lexc
 mostlyclean-am:  mostlyclean-sbinPROGRAMS mostlyclean-compile \
-		mostlyclean-libtool mostlyclean-tags \
+		mostlyclean-libtool mostlyclean-tags mostlyclean-depend \
 		mostlyclean-generic
 
 mostlyclean: mostlyclean-am
 
 clean-am:  clean-sbinPROGRAMS clean-compile clean-libtool clean-tags \
-		clean-generic mostlyclean-am
+		clean-depend clean-generic mostlyclean-am
 
 clean: clean-am
 
 distclean-am:  distclean-sbinPROGRAMS distclean-compile \
-		distclean-libtool distclean-tags distclean-generic \
-		clean-am
+		distclean-libtool distclean-tags distclean-depend \
+		distclean-generic clean-am
 	-rm -f libtool
 
 distclean: distclean-am
 
 maintainer-clean-am:  maintainer-clean-sbinPROGRAMS \
 		maintainer-clean-compile maintainer-clean-libtool \
-		maintainer-clean-tags maintainer-clean-generic \
-		distclean-am
+		maintainer-clean-tags maintainer-clean-depend \
+		maintainer-clean-generic distclean-am
 	@echo "This command is intended for maintainers to use;"
 	@echo "it deletes files that may require special tools to rebuild."
 
@@ -456,12 +433,14 @@
 clean-compile maintainer-clean-compile mostlyclean-libtool \
 distclean-libtool clean-libtool maintainer-clean-libtool install-man8 \
 uninstall-man8 install-man uninstall-man tags mostlyclean-tags \
-distclean-tags clean-tags maintainer-clean-tags distdir info-am info \
-dvi-am dvi check check-am installcheck-am installcheck install-exec-am \
-install-exec install-data-am install-data install-am install \
-uninstall-am uninstall all-redirect all-am all installdirs \
-mostlyclean-generic distclean-generic clean-generic \
-maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+distclean-tags clean-tags maintainer-clean-tags distdir \
+mostlyclean-depend distclean-depend clean-depend \
+maintainer-clean-depend info-am info dvi-am dvi check check-am \
+installcheck-am installcheck install-exec-am install-exec \
+install-data-am install-data install-am install uninstall-am uninstall \
+all-redirect all-am all installdirs mostlyclean-generic \
+distclean-generic clean-generic maintainer-clean-generic clean \
+mostlyclean distclean maintainer-clean
 
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
Index: linux-atm-2.4.1/src/mpoad/Makefile.in
===================================================================
--- linux-atm-2.4.1.orig/src/mpoad/Makefile.in	2007-06-04 13:23:54.206493256 +0200
+++ linux-atm-2.4.1/src/mpoad/Makefile.in	2007-06-04 13:23:54.503448112 +0200
@@ -1,4 +1,4 @@
-# Makefile.in generated automatically by automake 1.4-p5 from Makefile.am
+# Makefile.in generated automatically by automake 1.4-p6 from Makefile.am
 
 # Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
@@ -89,9 +89,7 @@
 
 LDADD = $(top_builddir)/src/lib/libatm.la
 
-mpcd_SOURCES = get_vars.c get_vars.h io.c io.h k_interf.c k_interf.h main.c \
-		p_factory.c  p_recogn.c id_list.c tag_list.c \
-		poll2select.c poll2select.h lecs.c lecs.h packets.h
+mpcd_SOURCES = get_vars.c get_vars.h io.c io.h k_interf.c k_interf.h main.c 		p_factory.c  p_recogn.c id_list.c tag_list.c 		poll2select.c poll2select.h lecs.c lecs.h packets.h
 
 
 man_MANS = mpcd.8
@@ -128,8 +126,11 @@
 
 DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
 
-TAR = gtar
+TAR = tar
 GZIP_ENV = --best
+DEP_FILES =  .deps/get_vars.P .deps/id_list.P .deps/io.P \
+.deps/k_interf.P .deps/lecs.P .deps/main.P .deps/p_factory.P \
+.deps/p_recogn.P .deps/poll2select.P .deps/tag_list.P
 SOURCES = $(mpcd_SOURCES)
 OBJECTS = $(mpcd_OBJECTS)
 
@@ -137,9 +138,9 @@
 .SUFFIXES:
 .SUFFIXES: .S .c .lo .o .obj .s
 $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) 
-	cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps src/mpoad/Makefile
+	cd $(top_srcdir) && $(AUTOMAKE) --gnu src/mpoad/Makefile
 
-Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status
+Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status $(BUILT_SOURCES)
 	cd $(top_builddir) \
 	  && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
 
@@ -169,9 +170,6 @@
 	  rm -f $(DESTDIR)$(sbindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \
 	done
 
-.c.o:
-	$(COMPILE) -c $<
-
 # FIXME: We should only use cygpath when building on Windows,
 # and only if it is available.
 .c.obj:
@@ -194,9 +192,6 @@
 
 maintainer-clean-compile:
 
-.c.lo:
-	$(LIBTOOL) --mode=compile $(COMPILE) -c $<
-
 .s.lo:
 	$(LIBTOOL) --mode=compile $(COMPILE) -c $<
 
@@ -274,7 +269,7 @@
 	  awk '    { files[$$0] = 1; } \
 	       END { for (i in files) print i; }'`; \
 	test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
-	  || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags  $$unique $(LISP) -o $$here/TAGS)
+	  || (cd $(srcdir) && etags -o $$here/TAGS $(ETAGS_ARGS) $$tags  $$unique $(LISP))
 
 mostlyclean-tags:
 
@@ -290,6 +285,11 @@
 subdir = src/mpoad
 
 distdir: $(DISTFILES)
+	here=`cd $(top_builddir) && pwd`; \
+	top_distdir=`cd $(top_distdir) && pwd`; \
+	distdir=`cd $(distdir) && pwd`; \
+	cd $(top_srcdir) \
+	  && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnu src/mpoad/Makefile
 	@for file in $(DISTFILES); do \
 	  d=$(srcdir); \
 	  if test -d $$d/$$file; then \
@@ -300,29 +300,38 @@
 	    || cp -p $$d/$$file $(distdir)/$$file || :; \
 	  fi; \
 	done
-get_vars.o: get_vars.c ../../config.h ../../src/include/stdint.h \
-	../../src/include/atm.h packets.h get_vars.h io.h
-id_list.o: id_list.c ../../config.h ../../src/include/atm.h \
-	../../src/include/stdint.h packets.h
-io.o: io.c ../../config.h ../../src/include/atm.h \
-	../../src/include/stdint.h packets.h k_interf.h io.h get_vars.h \
-	poll2select.h
-k_interf.o: k_interf.c ../../config.h ../../src/include/stdint.h \
-	../../src/include/atm.h k_interf.h packets.h io.h get_vars.h
-lecs.o: lecs.c ../../config.h ../../src/include/stdint.h \
-	../../src/include/atm.h ../../src/include/atmsap.h lecs.h \
-	k_interf.h
-main.o: main.c ../../config.h ../../src/include/atm.h \
-	../../src/include/stdint.h packets.h io.h k_interf.h get_vars.h \
-	lecs.h
-p_factory.o: p_factory.c ../../config.h ../../src/include/stdint.h \
-	../../src/include/atm.h packets.h get_vars.h io.h
-p_recogn.o: p_recogn.c ../../config.h ../../src/include/atm.h \
-	../../src/include/stdint.h io.h k_interf.h packets.h
-poll2select.o: poll2select.c ../../config.h
-tag_list.o: tag_list.c ../../config.h packets.h ../../src/include/atm.h \
-	../../src/include/stdint.h
 
+DEPS_MAGIC := $(shell mkdir .deps > /dev/null 2>&1 || :)
+
+-include $(DEP_FILES)
+
+mostlyclean-depend:
+
+clean-depend:
+
+distclean-depend:
+	-rm -rf .deps
+
+maintainer-clean-depend:
+
+%.o: %.c
+	@echo '$(COMPILE) -c $<'; \
+	$(COMPILE) -Wp,-MD,.deps/$(*F).pp -c $<
+	@-cp .deps/$(*F).pp .deps/$(*F).P; \
+	tr ' ' '\012' < .deps/$(*F).pp \
+	  | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \
+	    >> .deps/$(*F).P; \
+	rm .deps/$(*F).pp
+
+%.lo: %.c
+	@echo '$(LTCOMPILE) -c $<'; \
+	$(LTCOMPILE) -Wp,-MD,.deps/$(*F).pp -c $<
+	@-sed -e 's/^\([^:]*\)\.o[ 	]*:/\1.lo \1.o :/' \
+	  < .deps/$(*F).pp > .deps/$(*F).P; \
+	tr ' ' '\012' < .deps/$(*F).pp \
+	  | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \
+	    >> .deps/$(*F).P; \
+	rm -f .deps/$(*F).pp
 info-am:
 info: info-am
 dvi-am:
@@ -360,27 +369,27 @@
 
 maintainer-clean-generic:
 mostlyclean-am:  mostlyclean-sbinPROGRAMS mostlyclean-compile \
-		mostlyclean-libtool mostlyclean-tags \
+		mostlyclean-libtool mostlyclean-tags mostlyclean-depend \
 		mostlyclean-generic
 
 mostlyclean: mostlyclean-am
 
 clean-am:  clean-sbinPROGRAMS clean-compile clean-libtool clean-tags \
-		clean-generic mostlyclean-am
+		clean-depend clean-generic mostlyclean-am
 
 clean: clean-am
 
 distclean-am:  distclean-sbinPROGRAMS distclean-compile \
-		distclean-libtool distclean-tags distclean-generic \
-		clean-am
+		distclean-libtool distclean-tags distclean-depend \
+		distclean-generic clean-am
 	-rm -f libtool
 
 distclean: distclean-am
 
 maintainer-clean-am:  maintainer-clean-sbinPROGRAMS \
 		maintainer-clean-compile maintainer-clean-libtool \
-		maintainer-clean-tags maintainer-clean-generic \
-		distclean-am
+		maintainer-clean-tags maintainer-clean-depend \
+		maintainer-clean-generic distclean-am
 	@echo "This command is intended for maintainers to use;"
 	@echo "it deletes files that may require special tools to rebuild."
 
@@ -392,12 +401,14 @@
 clean-compile maintainer-clean-compile mostlyclean-libtool \
 distclean-libtool clean-libtool maintainer-clean-libtool install-man8 \
 uninstall-man8 install-man uninstall-man tags mostlyclean-tags \
-distclean-tags clean-tags maintainer-clean-tags distdir info-am info \
-dvi-am dvi check check-am installcheck-am installcheck install-exec-am \
-install-exec install-data-am install-data install-am install \
-uninstall-am uninstall all-redirect all-am all installdirs \
-mostlyclean-generic distclean-generic clean-generic \
-maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+distclean-tags clean-tags maintainer-clean-tags distdir \
+mostlyclean-depend distclean-depend clean-depend \
+maintainer-clean-depend info-am info dvi-am dvi check check-am \
+installcheck-am installcheck install-exec-am install-exec \
+install-data-am install-data install-am install uninstall-am uninstall \
+all-redirect all-am all installdirs mostlyclean-generic \
+distclean-generic clean-generic maintainer-clean-generic clean \
+mostlyclean distclean maintainer-clean
 
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
Index: linux-atm-2.4.1/src/mpoad/p_factory.c
===================================================================
--- linux-atm-2.4.1.orig/src/mpoad/p_factory.c	2007-06-04 13:23:54.212492344 +0200
+++ linux-atm-2.4.1/src/mpoad/p_factory.c	2007-06-04 13:23:54.503448112 +0200
@@ -34,7 +34,7 @@
 
         while( count > 1 )  {
            /*  This is the inner loop */
-               sum += * ((uint16_t *) addr)++;
+               sum += * ((uint16_t *) addr); addr += sizeof(uint16_t);
                count -= 2;
        }
 
Index: linux-atm-2.4.1/src/switch/Makefile.in
===================================================================
--- linux-atm-2.4.1.orig/src/switch/Makefile.in	2007-06-04 13:23:54.218491432 +0200
+++ linux-atm-2.4.1/src/switch/Makefile.in	2007-06-04 13:23:54.503448112 +0200
@@ -1,4 +1,4 @@
-# Makefile.in generated automatically by automake 1.4-p5 from Makefile.am
+# Makefile.in generated automatically by automake 1.4-p6 from Makefile.am
 
 # Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
@@ -92,11 +92,9 @@
 
 swc_SOURCES = swc.c swc.h
 swc_LDADD = $(top_builddir)/src/lib/libatm.la
-swc_DEPENDENCIES = $(swc_LDADD) $(top_builddir)/src/include/atm.h \
-			$(top_builddir)/src/include/atmd.h
+swc_DEPENDENCIES = $(swc_LDADD) $(top_builddir)/src/include/atm.h 			$(top_builddir)/src/include/atmd.h
 
-libsw_a_SOURCES = control.c dispatch.c dispatch.h proto.c proto.h relay.c \
-			route.c route.h sig.c sig.h cfg_y.y cfg_l.l fab.h
+libsw_a_SOURCES = control.c dispatch.c dispatch.h proto.c proto.h relay.c 			route.c route.h sig.c sig.h cfg_y.y cfg_l.l fab.h
 
 
 EXTRA_DIST = cfg_y.h README
@@ -132,8 +130,11 @@
 
 DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
 
-TAR = gtar
+TAR = tar
 GZIP_ENV = --best
+DEP_FILES =  .deps/cfg_l.P .deps/cfg_y.P .deps/control.P \
+.deps/dispatch.P .deps/proto.P .deps/relay.P .deps/route.P .deps/sig.P \
+.deps/swc.P
 SOURCES = $(libsw_a_SOURCES) $(swc_SOURCES)
 OBJECTS = $(libsw_a_OBJECTS) $(swc_OBJECTS)
 
@@ -141,9 +142,9 @@
 .SUFFIXES:
 .SUFFIXES: .S .c .l .lo .o .obj .s .y
 $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) 
-	cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps src/switch/Makefile
+	cd $(top_srcdir) && $(AUTOMAKE) --gnu src/switch/Makefile
 
-Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status
+Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status $(BUILT_SOURCES)
 	cd $(top_builddir) \
 	  && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
 
@@ -157,9 +158,6 @@
 
 maintainer-clean-noinstLIBRARIES:
 
-.c.o:
-	$(COMPILE) -c $<
-
 # FIXME: We should only use cygpath when building on Windows,
 # and only if it is available.
 .c.obj:
@@ -182,9 +180,6 @@
 
 maintainer-clean-compile:
 
-.c.lo:
-	$(LIBTOOL) --mode=compile $(COMPILE) -c $<
-
 .s.lo:
 	$(LIBTOOL) --mode=compile $(COMPILE) -c $<
 
@@ -306,7 +301,7 @@
 	  awk '    { files[$$0] = 1; } \
 	       END { for (i in files) print i; }'`; \
 	test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
-	  || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags  $$unique $(LISP) -o $$here/TAGS)
+	  || (cd $(srcdir) && etags -o $$here/TAGS $(ETAGS_ARGS) $$tags  $$unique $(LISP))
 
 mostlyclean-tags:
 
@@ -322,6 +317,11 @@
 subdir = src/switch
 
 distdir: $(DISTFILES)
+	here=`cd $(top_builddir) && pwd`; \
+	top_distdir=`cd $(top_distdir) && pwd`; \
+	distdir=`cd $(distdir) && pwd`; \
+	cd $(top_srcdir) \
+	  && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnu src/switch/Makefile
 	@for file in $(DISTFILES); do \
 	  d=$(srcdir); \
 	  if test -d $$d/$$file; then \
@@ -342,32 +342,38 @@
 	      || exit 1; \
 	  fi; \
 	done
-cfg_l.o: cfg_l.c ../../config.h ../../src/include/atm.h \
-	../../src/include/stdint.h cfg_y.h
-cfg_y.o: cfg_y.c ../../config.h ../../src/include/atm.h \
-	../../src/include/stdint.h fab.h proto.h \
-	../../src/include/atmsap.h ../../src/include/atmd.h sig.h \
-	route.h swc.h
-control.o: control.c ../../config.h ../../src/include/atm.h \
-	../../src/include/stdint.h ../../src/include/atmd.h fab.h \
-	proto.h ../../src/include/atmsap.h sig.h dispatch.h swc.h
-dispatch.o: dispatch.c ../../config.h ../../src/include/atmd.h \
-	../../src/include/stdint.h ../../src/include/atm.h dispatch.h
-proto.o: proto.c ../../config.h ../../src/include/atm.h \
-	../../src/include/stdint.h ../../src/include/atmd.h sig.h fab.h \
-	proto.h ../../src/include/atmsap.h
-relay.o: relay.c ../../config.h ../../src/include/atm.h \
-	../../src/include/stdint.h ../../src/include/atmd.h fab.h \
-	proto.h ../../src/include/atmsap.h sig.h dispatch.h route.h
-route.o: route.c ../../config.h ../../src/include/atm.h \
-	../../src/include/stdint.h ../../src/include/atmd.h route.h \
-	sig.h
-sig.o: sig.c ../../config.h ../../src/include/stdint.h \
-	../../src/include/atmd.h ../../src/include/atm.h dispatch.h \
-	proto.h ../../src/include/atmsap.h sig.h route.h fab.h
-swc.o: swc.c ../../config.h ../../src/include/atm.h \
-	../../src/include/stdint.h ../../src/include/atmd.h swc.h
 
+DEPS_MAGIC := $(shell mkdir .deps > /dev/null 2>&1 || :)
+
+-include $(DEP_FILES)
+
+mostlyclean-depend:
+
+clean-depend:
+
+distclean-depend:
+	-rm -rf .deps
+
+maintainer-clean-depend:
+
+%.o: %.c
+	@echo '$(COMPILE) -c $<'; \
+	$(COMPILE) -Wp,-MD,.deps/$(*F).pp -c $<
+	@-cp .deps/$(*F).pp .deps/$(*F).P; \
+	tr ' ' '\012' < .deps/$(*F).pp \
+	  | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \
+	    >> .deps/$(*F).P; \
+	rm .deps/$(*F).pp
+
+%.lo: %.c
+	@echo '$(LTCOMPILE) -c $<'; \
+	$(LTCOMPILE) -Wp,-MD,.deps/$(*F).pp -c $<
+	@-sed -e 's/^\([^:]*\)\.o[ 	]*:/\1.lo \1.o :/' \
+	  < .deps/$(*F).pp > .deps/$(*F).P; \
+	tr ' ' '\012' < .deps/$(*F).pp \
+	  | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \
+	    >> .deps/$(*F).P; \
+	rm -f .deps/$(*F).pp
 info-am:
 info: info-recursive
 dvi-am:
@@ -404,22 +410,23 @@
 	-rm -f config.cache config.log stamp-h stamp-h[0-9]*
 
 maintainer-clean-generic:
-	-test -z "cfg_llcfg_yhcfg_yc" || rm -f cfg_ll cfg_yh cfg_yc
+	-test -z "cfg_lccfg_yhcfg_yc" || rm -f cfg_lc cfg_yh cfg_yc
 mostlyclean-am:  mostlyclean-noinstLIBRARIES mostlyclean-compile \
 		mostlyclean-libtool mostlyclean-noinstPROGRAMS \
-		mostlyclean-tags mostlyclean-generic
+		mostlyclean-tags mostlyclean-depend mostlyclean-generic
 
 mostlyclean: mostlyclean-recursive
 
 clean-am:  clean-noinstLIBRARIES clean-compile clean-libtool \
-		clean-noinstPROGRAMS clean-tags clean-generic \
-		mostlyclean-am
+		clean-noinstPROGRAMS clean-tags clean-depend \
+		clean-generic mostlyclean-am
 
 clean: clean-recursive
 
 distclean-am:  distclean-noinstLIBRARIES distclean-compile \
 		distclean-libtool distclean-noinstPROGRAMS \
-		distclean-tags distclean-generic clean-am
+		distclean-tags distclean-depend distclean-generic \
+		clean-am
 	-rm -f libtool
 
 distclean: distclean-recursive
@@ -427,7 +434,8 @@
 maintainer-clean-am:  maintainer-clean-noinstLIBRARIES \
 		maintainer-clean-compile maintainer-clean-libtool \
 		maintainer-clean-noinstPROGRAMS maintainer-clean-tags \
-		maintainer-clean-generic distclean-am
+		maintainer-clean-depend maintainer-clean-generic \
+		distclean-am
 	@echo "This command is intended for maintainers to use;"
 	@echo "it deletes files that may require special tools to rebuild."
 
@@ -445,12 +453,14 @@
 all-recursive check-recursive installcheck-recursive info-recursive \
 dvi-recursive mostlyclean-recursive distclean-recursive clean-recursive \
 maintainer-clean-recursive tags tags-recursive mostlyclean-tags \
-distclean-tags clean-tags maintainer-clean-tags distdir info-am info \
-dvi-am dvi check check-am installcheck-am installcheck install-exec-am \
-install-exec install-data-am install-data install-am install \
-uninstall-am uninstall all-redirect all-am all installdirs-am \
-installdirs mostlyclean-generic distclean-generic clean-generic \
-maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+distclean-tags clean-tags maintainer-clean-tags distdir \
+mostlyclean-depend distclean-depend clean-depend \
+maintainer-clean-depend info-am info dvi-am dvi check check-am \
+installcheck-am installcheck install-exec-am install-exec \
+install-data-am install-data install-am install uninstall-am uninstall \
+all-redirect all-am all installdirs-am installdirs mostlyclean-generic \
+distclean-generic clean-generic maintainer-clean-generic clean \
+mostlyclean distclean maintainer-clean
 
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
Index: linux-atm-2.4.1/src/switch/cfg_y.c
===================================================================
--- linux-atm-2.4.1.orig/src/switch/cfg_y.c	2007-06-04 13:23:54.223490672 +0200
+++ linux-atm-2.4.1/src/switch/cfg_y.c	2007-06-04 13:23:54.505447808 +0200
@@ -1,21 +1,87 @@
+/* A Bison parser, made by GNU Bison 1.875d.  */
 
-/*  A Bison parser, made from cfg_y.y
-    by GNU Bison version 1.28  */
+/* Skeleton parser for Yacc-like parsing with Bison,
+   Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
 
-#define YYBISON 1  /* Identify Bison output.  */
+   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., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+/* As a special exception, when this file is copied by Bison into a
+   Bison output file, you may use that output file without restriction.
+   This special exception was added by the Free Software Foundation
+   in version 1.24 of Bison.  */
+
+/* Written by Richard Stallman by simplifying the original so called
+   ``semantic'' parser.  */
+
+/* All symbols defined below should begin with yy or YY, to avoid
+   infringing on user name space.  This should be done even for local
+   variables, as they might otherwise be expanded by user macros.
+   There are some unavoidable exceptions within include files to
+   define necessary library symbols; they are noted "INFRINGES ON
+   USER NAME SPACE" below.  */
+
+/* Identify Bison output.  */
+#define YYBISON 1
+
+/* Skeleton name.  */
+#define YYSKELETON_NAME "yacc.c"
+
+/* Pure parsers.  */
+#define YYPURE 0
+
+/* Using locations.  */
+#define YYLSP_NEEDED 0
 
-#define	TOK_COMMAND	257
-#define	TOK_VPCI	258
-#define	TOK_ITF	259
-#define	TOK_DEFAULT	260
-#define	TOK_ROUTE	261
-#define	TOK_STR	262
-#define	TOK_SOCKET	263
-#define	TOK_OPTION	264
-#define	TOK_CONTROL	265
-#define	TOK_NUM	266
-#define	TOK_PVC	267
 
+
+/* Tokens.  */
+#ifndef YYTOKENTYPE
+# define YYTOKENTYPE
+   /* Put the tokens into the symbol table, so that GDB and other debuggers
+      know about them.  */
+   enum yytokentype {
+     TOK_COMMAND = 258,
+     TOK_VPCI = 259,
+     TOK_ITF = 260,
+     TOK_DEFAULT = 261,
+     TOK_ROUTE = 262,
+     TOK_STR = 263,
+     TOK_SOCKET = 264,
+     TOK_OPTION = 265,
+     TOK_CONTROL = 266,
+     TOK_NUM = 267,
+     TOK_PVC = 268
+   };
+#endif
+#define TOK_COMMAND 258
+#define TOK_VPCI 259
+#define TOK_ITF 260
+#define TOK_DEFAULT 261
+#define TOK_ROUTE 262
+#define TOK_STR 263
+#define TOK_SOCKET 264
+#define TOK_OPTION 265
+#define TOK_CONTROL 266
+#define TOK_NUM 267
+#define TOK_PVC 268
+
+
+
+
+/* Copy the first part of user declarations.  */
 #line 1 "cfg_y.y"
 
 /* cfg.y - switch configuration language */
@@ -29,6 +95,7 @@
 #include <string.h>
 #include <errno.h>
 #include <limits.h>
+#include <stdlib.h>
 
 #include "atm.h"
 
@@ -38,436 +105,743 @@
 #include "swc.h"
 
 
+extern void yyerror(const char *s);
+
 static int itf;
 static SIGNALING_ENTITY *sig;
 
 
-#line 27 "cfg_y.y"
-typedef union {
+
+/* Enabling traces.  */
+#ifndef YYDEBUG
+# define YYDEBUG 0
+#endif
+
+/* Enabling verbose error messages.  */
+#ifdef YYERROR_VERBOSE
+# undef YYERROR_VERBOSE
+# define YYERROR_VERBOSE 1
+#else
+# define YYERROR_VERBOSE 0
+#endif
+
+#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
+#line 30 "cfg_y.y"
+typedef union YYSTYPE {
     int num;
     char *str;
     struct sockaddr_atmpvc pvc;
 } YYSTYPE;
-#include <stdio.h>
-
-#ifndef __cplusplus
-#ifndef __STDC__
-#define const
-#endif
+/* Line 191 of yacc.c.  */
+#line 137 "y.tab.c"
+# define yystype YYSTYPE /* obsolescent; will be withdrawn */
+# define YYSTYPE_IS_DECLARED 1
+# define YYSTYPE_IS_TRIVIAL 1
 #endif
 
 
 
-#define	YYFINAL		31
-#define	YYFLAG		-32768
-#define	YYNTBASE	16
-
-#define YYTRANSLATE(x) ((unsigned)(x) <= 267 ? yytranslate[x] : 27)
-
-static const char yytranslate[] = {     0,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,    14,     2,    15,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     1,     3,     4,     5,     6,
-     7,     8,     9,    10,    11,    12,    13
-};
-
-#if YYDEBUG != 0
-static const short yyprhs[] = {     0,
-     0,     1,     4,     7,    10,    13,    14,    15,    25,    26,
-    29,    30,    33,    34,    36,    37,    40,    41,    45
-};
+/* Copy the second part of user declarations.  */
+
+
+/* Line 214 of yacc.c.  */
+#line 149 "y.tab.c"
+
+#if ! defined (yyoverflow) || YYERROR_VERBOSE
+
+# ifndef YYFREE
+#  define YYFREE free
+# endif
+# ifndef YYMALLOC
+#  define YYMALLOC malloc
+# endif
+
+/* The parser invokes alloca or malloc; define the necessary symbols.  */
+
+# ifdef YYSTACK_USE_ALLOCA
+#  if YYSTACK_USE_ALLOCA
+#   define YYSTACK_ALLOC alloca
+#  endif
+# else
+#  if defined (alloca) || defined (_ALLOCA_H)
+#   define YYSTACK_ALLOC alloca
+#  else
+#   ifdef __GNUC__
+#    define YYSTACK_ALLOC __builtin_alloca
+#   endif
+#  endif
+# endif
+
+# ifdef YYSTACK_ALLOC
+   /* Pacify GCC's `empty if-body' warning. */
+#  define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
+# else
+#  if defined (__STDC__) || defined (__cplusplus)
+#   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
+#   define YYSIZE_T size_t
+#  endif
+#  define YYSTACK_ALLOC YYMALLOC
+#  define YYSTACK_FREE YYFREE
+# endif
+#endif /* ! defined (yyoverflow) || YYERROR_VERBOSE */
+
+
+#if (! defined (yyoverflow) \
+     && (! defined (__cplusplus) \
+	 || (defined (YYSTYPE_IS_TRIVIAL) && YYSTYPE_IS_TRIVIAL)))
 
-static const short yyrhs[] = {    -1,
-    17,    16,     0,    18,    16,     0,    11,    16,     0,    10,
-     8,     0,     0,     0,    21,     9,    14,    19,    22,    20,
-    23,    24,    15,     0,     0,     3,     8,     0,     0,     5,
-    12,     0,     0,    13,     0,     0,    26,    24,     0,     0,
-     6,    25,    24,     0,     7,     0
-};
+/* A type that is properly aligned for any stack member.  */
+union yyalloc
+{
+  short int yyss;
+  YYSTYPE yyvs;
+  };
+
+/* The size of the maximum gap between one aligned stack and the next.  */
+# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
+
+/* The size of an array large to enough to hold all stacks, each with
+   N elements.  */
+# define YYSTACK_BYTES(N) \
+     ((N) * (sizeof (short int) + sizeof (YYSTYPE))			\
+      + YYSTACK_GAP_MAXIMUM)
+
+/* Copy COUNT objects from FROM to TO.  The source and destination do
+   not overlap.  */
+# ifndef YYCOPY
+#  if defined (__GNUC__) && 1 < __GNUC__
+#   define YYCOPY(To, From, Count) \
+      __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
+#  else
+#   define YYCOPY(To, From, Count)		\
+      do					\
+	{					\
+	  register YYSIZE_T yyi;		\
+	  for (yyi = 0; yyi < (Count); yyi++)	\
+	    (To)[yyi] = (From)[yyi];		\
+	}					\
+      while (0)
+#  endif
+# endif
+
+/* Relocate STACK from its old location to the new one.  The
+   local variables YYSIZE and YYSTACKSIZE give the old and new number of
+   elements in the stack, and YYPTR gives the new location of the
+   stack.  Advance YYPTR to a properly aligned location for the next
+   stack.  */
+# define YYSTACK_RELOCATE(Stack)					\
+    do									\
+      {									\
+	YYSIZE_T yynewbytes;						\
+	YYCOPY (&yyptr->Stack, Stack, yysize);				\
+	Stack = &yyptr->Stack;						\
+	yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
+	yyptr += yynewbytes / sizeof (*yyptr);				\
+      }									\
+    while (0)
 
 #endif
 
-#if YYDEBUG != 0
-static const short yyrline[] = { 0,
-    43,    44,    45,    46,    52,    59,    65,    73,    76,    80,
-    87,    88,    94,    95,   101,   102,   103,   108,   110
-};
+#if defined (__STDC__) || defined (__cplusplus)
+   typedef signed char yysigned_char;
+#else
+   typedef short int yysigned_char;
 #endif
 
+/* YYFINAL -- State number of the termination state. */
+#define YYFINAL  11
+/* YYLAST -- Last index in YYTABLE.  */
+#define YYLAST   22
+
+/* YYNTOKENS -- Number of terminals. */
+#define YYNTOKENS  16
+/* YYNNTS -- Number of nonterminals. */
+#define YYNNTS  12
+/* YYNRULES -- Number of rules. */
+#define YYNRULES  20
+/* YYNRULES -- Number of states. */
+#define YYNSTATES  31
+
+/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
+#define YYUNDEFTOK  2
+#define YYMAXUTOK   268
 
-#if YYDEBUG != 0 || defined (YYERROR_VERBOSE)
+#define YYTRANSLATE(YYX) 						\
+  ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
 
-static const char * const yytname[] = {   "$","error","$undefined.","TOK_COMMAND",
-"TOK_VPCI","TOK_ITF","TOK_DEFAULT","TOK_ROUTE","TOK_STR","TOK_SOCKET","TOK_OPTION",
-"TOK_CONTROL","TOK_NUM","TOK_PVC","'{'","'}'","all","option","sig","@1","@2",
-"opt_command","opt_itf","opt_via","routes","@3","route", NULL
+/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */
+static const unsigned char yytranslate[] =
+{
+       0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,    14,     2,    15,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     1,     2,     3,     4,
+       5,     6,     7,     8,     9,    10,    11,    12,    13
 };
-#endif
 
-static const short yyr1[] = {     0,
-    16,    16,    16,    16,    17,    19,    20,    18,    21,    21,
-    22,    22,    23,    23,    24,    24,    25,    24,    26
+#if YYDEBUG
+/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
+   YYRHS.  */
+static const unsigned char yyprhs[] =
+{
+       0,     0,     3,     4,     7,    10,    13,    16,    17,    18,
+      28,    29,    32,    33,    36,    37,    39,    40,    43,    44,
+      48
 };
 
-static const short yyr2[] = {     0,
-     0,     2,     2,     2,     2,     0,     0,     9,     0,     2,
-     0,     2,     0,     1,     0,     2,     0,     3,     1
+/* YYRHS -- A `-1'-separated list of the rules' RHS. */
+static const yysigned_char yyrhs[] =
+{
+      17,     0,    -1,    -1,    18,    17,    -1,    19,    17,    -1,
+      11,    17,    -1,    10,     8,    -1,    -1,    -1,    22,     9,
+      14,    20,    23,    21,    24,    25,    15,    -1,    -1,     3,
+       8,    -1,    -1,     5,    12,    -1,    -1,    13,    -1,    -1,
+      27,    25,    -1,    -1,     6,    26,    25,    -1,     7,    -1
 };
 
-static const short yydefact[] = {     1,
-     0,     0,     1,     1,     1,     0,    10,     5,     4,     2,
-     3,     0,     6,    11,     0,     7,    12,    13,    14,    15,
-    17,    19,     0,    15,    15,     8,    16,    18,     0,     0,
-     0
+/* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
+static const unsigned char yyrline[] =
+{
+       0,    46,    46,    47,    48,    49,    56,    64,    68,    63,
+      80,    83,    90,    91,    97,    98,   104,   105,   107,   106,
+     114
 };
+#endif
 
-static const short yydefgoto[] = {     9,
-     4,     5,    14,    18,     6,    16,    20,    23,    25,    24
+#if YYDEBUG || YYERROR_VERBOSE
+/* YYTNME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
+   First, the terminals, then, starting at YYNTOKENS, nonterminals. */
+static const char *const yytname[] =
+{
+  "$end", "error", "$undefined", "TOK_COMMAND", "TOK_VPCI", "TOK_ITF",
+  "TOK_DEFAULT", "TOK_ROUTE", "TOK_STR", "TOK_SOCKET", "TOK_OPTION",
+  "TOK_CONTROL", "TOK_NUM", "TOK_PVC", "'{'", "'}'", "$accept", "all",
+  "option", "sig", "@1", "@2", "opt_command", "opt_itf", "opt_via",
+  "routes", "@3", "route", 0
 };
+#endif
 
-static const short yypact[] = {    -3,
-     3,     4,    -3,    -3,    -3,     6,-32768,-32768,-32768,-32768,
--32768,    -1,-32768,     9,     7,-32768,-32768,     8,-32768,    -5,
--32768,-32768,     1,    -5,    -5,-32768,-32768,-32768,    17,    18,
--32768
+# ifdef YYPRINT
+/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
+   token YYLEX-NUM.  */
+static const unsigned short int yytoknum[] =
+{
+       0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
+     265,   266,   267,   268,   123,   125
 };
+# endif
 
-static const short yypgoto[] = {     5,
--32768,-32768,-32768,-32768,-32768,-32768,-32768,   -21,-32768,-32768
+/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
+static const unsigned char yyr1[] =
+{
+       0,    16,    17,    17,    17,    17,    18,    20,    21,    19,
+      22,    22,    23,    23,    24,    24,    25,    25,    26,    25,
+      27
 };
 
-
-#define	YYLAST		21
-
-
-static const short yytable[] = {     1,
-    21,    22,    27,    28,    29,    -9,     2,     3,    10,    11,
-     7,     8,    13,    15,    12,    26,    30,    31,    17,     0,
-    19
+/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
+static const unsigned char yyr2[] =
+{
+       0,     2,     0,     2,     2,     2,     2,     0,     0,     9,
+       0,     2,     0,     2,     0,     1,     0,     2,     0,     3,
+       1
 };
 
-static const short yycheck[] = {     3,
-     6,     7,    24,    25,     0,     9,    10,    11,     4,     5,
-     8,     8,    14,     5,     9,    15,     0,     0,    12,    -1,
-    13
+/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
+   STATE-NUM when YYTABLE doesn't specify something else to do.  Zero
+   means the default is an error.  */
+static const unsigned char yydefact[] =
+{
+       2,     0,     0,     2,     0,     2,     2,     0,    11,     6,
+       5,     1,     3,     4,     0,     7,    12,     0,     8,    13,
+      14,    15,    16,    18,    20,     0,    16,    16,     9,    17,
+      19
 };
-/* -*-C-*-  Note some compilers choke on comments on `#line' lines.  */
-#line 3 "/usr/lib/bison.simple"
-/* This file comes from bison-1.28.  */
 
-/* Skeleton output parser for bison,
-   Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc.
+/* YYDEFGOTO[NTERM-NUM]. */
+static const yysigned_char yydefgoto[] =
+{
+      -1,     4,     5,     6,    16,    20,     7,    18,    22,    25,
+      27,    26
+};
 
-   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.
+/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
+   STATE-NUM.  */
+#define YYPACT_NINF -16
+static const yysigned_char yypact[] =
+{
+      -3,    -6,     5,    -3,    14,    -3,    -3,    -4,   -16,   -16,
+     -16,   -16,   -16,   -16,     1,   -16,    11,     6,   -16,   -16,
+       4,   -16,     3,   -16,   -16,     7,     3,     3,   -16,   -16,
+     -16
+};
 
-   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.
+/* YYPGOTO[NTERM-NUM].  */
+static const yysigned_char yypgoto[] =
+{
+     -16,    -2,   -16,   -16,   -16,   -16,   -16,   -16,   -16,   -15,
+     -16,   -16
+};
 
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   Foundation, Inc., 59 Temple Place - Suite 330,
-   Boston, MA 02111-1307, USA.  */
+/* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
+   positive, shift that token.  If negative, reduce the rule which
+   number is the opposite.  If zero, do what YYDEFACT says.
+   If YYTABLE_NINF, syntax error.  */
+#define YYTABLE_NINF -11
+static const yysigned_char yytable[] =
+{
+       1,    10,     8,    12,    13,    14,   -10,     2,     3,    23,
+      24,    29,    30,     9,    11,    15,    17,    21,    19,     0,
+       0,     0,    28
+};
 
-/* As a special exception, when this file is copied by Bison into a
-   Bison output file, you may use that output file without restriction.
-   This special exception was added by the Free Software Foundation
-   in version 1.24 of Bison.  */
+static const yysigned_char yycheck[] =
+{
+       3,     3,     8,     5,     6,     9,     9,    10,    11,     6,
+       7,    26,    27,     8,     0,    14,     5,    13,    12,    -1,
+      -1,    -1,    15
+};
 
-/* This is the parser code that is written into each bison parser
-  when the %semantic_parser declaration is not specified in the grammar.
-  It was written by Richard Stallman by simplifying the hairy parser
-  used when %semantic_parser is specified.  */
-
-#ifndef YYSTACK_USE_ALLOCA
-#ifdef alloca
-#define YYSTACK_USE_ALLOCA
-#else /* alloca not defined */
-#ifdef __GNUC__
-#define YYSTACK_USE_ALLOCA
-#define alloca __builtin_alloca
-#else /* not GNU C.  */
-#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi) || (defined (__sun) && defined (__i386))
-#define YYSTACK_USE_ALLOCA
-#include <alloca.h>
-#else /* not sparc */
-/* We think this test detects Watcom and Microsoft C.  */
-/* This used to test MSDOS, but that is a bad idea
-   since that symbol is in the user namespace.  */
-#if (defined (_MSDOS) || defined (_MSDOS_)) && !defined (__TURBOC__)
-#if 0 /* No need for malloc.h, which pollutes the namespace;
-	 instead, just don't use alloca.  */
-#include <malloc.h>
-#endif
-#else /* not MSDOS, or __TURBOC__ */
-#if defined(_AIX)
-/* I don't know what this was needed for, but it pollutes the namespace.
-   So I turned it off.   rms, 2 May 1997.  */
-/* #include <malloc.h>  */
- #pragma alloca
-#define YYSTACK_USE_ALLOCA
-#else /* not MSDOS, or __TURBOC__, or _AIX */
-#if 0
-#ifdef __hpux /* haible@ilog.fr says this works for HPUX 9.05 and up,
-		 and on HPUX 10.  Eventually we can turn this on.  */
-#define YYSTACK_USE_ALLOCA
-#define alloca __builtin_alloca
-#endif /* __hpux */
-#endif
-#endif /* not _AIX */
-#endif /* not MSDOS, or __TURBOC__ */
-#endif /* not sparc */
-#endif /* not GNU C */
-#endif /* alloca not defined */
-#endif /* YYSTACK_USE_ALLOCA not defined */
+/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
+   symbol of state STATE-NUM.  */
+static const unsigned char yystos[] =
+{
+       0,     3,    10,    11,    17,    18,    19,    22,     8,     8,
+      17,     0,    17,    17,     9,    14,    20,     5,    23,    12,
+      21,    13,    24,     6,     7,    25,    27,    26,    15,    25,
+      25
+};
 
-#ifdef YYSTACK_USE_ALLOCA
-#define YYSTACK_ALLOC alloca
-#else
-#define YYSTACK_ALLOC malloc
+#if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
+# define YYSIZE_T __SIZE_TYPE__
+#endif
+#if ! defined (YYSIZE_T) && defined (size_t)
+# define YYSIZE_T size_t
+#endif
+#if ! defined (YYSIZE_T)
+# if defined (__STDC__) || defined (__cplusplus)
+#  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
+#  define YYSIZE_T size_t
+# endif
+#endif
+#if ! defined (YYSIZE_T)
+# define YYSIZE_T unsigned int
 #endif
-
-/* Note: there must be only one dollar sign in this file.
-   It is replaced by the list of actions, each action
-   as one case of the switch.  */
 
 #define yyerrok		(yyerrstatus = 0)
 #define yyclearin	(yychar = YYEMPTY)
-#define YYEMPTY		-2
+#define YYEMPTY		(-2)
 #define YYEOF		0
+
 #define YYACCEPT	goto yyacceptlab
-#define YYABORT 	goto yyabortlab
-#define YYERROR		goto yyerrlab1
-/* Like YYERROR except do call yyerror.
-   This remains here temporarily to ease the
-   transition to the new meaning of YYERROR, for GCC.
+#define YYABORT		goto yyabortlab
+#define YYERROR		goto yyerrorlab
+
+
+/* Like YYERROR except do call yyerror.  This remains here temporarily
+   to ease the transition to the new meaning of YYERROR, for GCC.
    Once GCC version 2 has supplanted version 1, this can go.  */
+
 #define YYFAIL		goto yyerrlab
+
 #define YYRECOVERING()  (!!yyerrstatus)
-#define YYBACKUP(token, value) \
+
+#define YYBACKUP(Token, Value)					\
 do								\
   if (yychar == YYEMPTY && yylen == 1)				\
-    { yychar = (token), yylval = (value);			\
-      yychar1 = YYTRANSLATE (yychar);				\
+    {								\
+      yychar = (Token);						\
+      yylval = (Value);						\
+      yytoken = YYTRANSLATE (yychar);				\
       YYPOPSTACK;						\
       goto yybackup;						\
     }								\
   else								\
-    { yyerror ("syntax error: cannot back up"); YYERROR; }	\
+    { 								\
+      yyerror ("syntax error: cannot back up");\
+      YYERROR;							\
+    }								\
 while (0)
 
 #define YYTERROR	1
 #define YYERRCODE	256
 
-#ifndef YYPURE
-#define YYLEX		yylex()
-#endif
+/* YYLLOC_DEFAULT -- Compute the default location (before the actions
+   are run).  */
 
-#ifdef YYPURE
-#ifdef YYLSP_NEEDED
-#ifdef YYLEX_PARAM
-#define YYLEX		yylex(&yylval, &yylloc, YYLEX_PARAM)
-#else
-#define YYLEX		yylex(&yylval, &yylloc)
+#ifndef YYLLOC_DEFAULT
+# define YYLLOC_DEFAULT(Current, Rhs, N)		\
+   ((Current).first_line   = (Rhs)[1].first_line,	\
+    (Current).first_column = (Rhs)[1].first_column,	\
+    (Current).last_line    = (Rhs)[N].last_line,	\
+    (Current).last_column  = (Rhs)[N].last_column)
 #endif
-#else /* not YYLSP_NEEDED */
+
+/* YYLEX -- calling `yylex' with the right arguments.  */
+
 #ifdef YYLEX_PARAM
-#define YYLEX		yylex(&yylval, YYLEX_PARAM)
+# define YYLEX yylex (YYLEX_PARAM)
 #else
-#define YYLEX		yylex(&yylval)
-#endif
-#endif /* not YYLSP_NEEDED */
+# define YYLEX yylex ()
 #endif
 
-/* If nonreentrant, generate the variables here */
+/* Enable debugging if requested.  */
+#if YYDEBUG
 
-#ifndef YYPURE
+# ifndef YYFPRINTF
+#  include <stdio.h> /* INFRINGES ON USER NAME SPACE */
+#  define YYFPRINTF fprintf
+# endif
+
+# define YYDPRINTF(Args)			\
+do {						\
+  if (yydebug)					\
+    YYFPRINTF Args;				\
+} while (0)
+
+# define YYDSYMPRINT(Args)			\
+do {						\
+  if (yydebug)					\
+    yysymprint Args;				\
+} while (0)
+
+# define YYDSYMPRINTF(Title, Token, Value, Location)		\
+do {								\
+  if (yydebug)							\
+    {								\
+      YYFPRINTF (stderr, "%s ", Title);				\
+      yysymprint (stderr, 					\
+                  Token, Value);	\
+      YYFPRINTF (stderr, "\n");					\
+    }								\
+} while (0)
 
-int	yychar;			/*  the lookahead symbol		*/
-YYSTYPE	yylval;			/*  the semantic value of the		*/
-				/*  lookahead symbol			*/
+/*------------------------------------------------------------------.
+| yy_stack_print -- Print the state stack from its BOTTOM up to its |
+| TOP (included).                                                   |
+`------------------------------------------------------------------*/
 
-#ifdef YYLSP_NEEDED
-YYLTYPE yylloc;			/*  location data for the lookahead	*/
-				/*  symbol				*/
+#if defined (__STDC__) || defined (__cplusplus)
+static void
+yy_stack_print (short int *bottom, short int *top)
+#else
+static void
+yy_stack_print (bottom, top)
+    short int *bottom;
+    short int *top;
 #endif
+{
+  YYFPRINTF (stderr, "Stack now");
+  for (/* Nothing. */; bottom <= top; ++bottom)
+    YYFPRINTF (stderr, " %d", *bottom);
+  YYFPRINTF (stderr, "\n");
+}
 
-int yynerrs;			/*  number of parse errors so far       */
-#endif  /* not YYPURE */
+# define YY_STACK_PRINT(Bottom, Top)				\
+do {								\
+  if (yydebug)							\
+    yy_stack_print ((Bottom), (Top));				\
+} while (0)
 
-#if YYDEBUG != 0
-int yydebug;			/*  nonzero means print parse trace	*/
-/* Since this is uninitialized, it does not stop multiple parsers
-   from coexisting.  */
+
+/*------------------------------------------------.
+| Report that the YYRULE is going to be reduced.  |
+`------------------------------------------------*/
+
+#if defined (__STDC__) || defined (__cplusplus)
+static void
+yy_reduce_print (int yyrule)
+#else
+static void
+yy_reduce_print (yyrule)
+    int yyrule;
 #endif
+{
+  int yyi;
+  unsigned int yylno = yyrline[yyrule];
+  YYFPRINTF (stderr, "Reducing stack by rule %d (line %u), ",
+             yyrule - 1, yylno);
+  /* Print the symbols being reduced, and their result.  */
+  for (yyi = yyprhs[yyrule]; 0 <= yyrhs[yyi]; yyi++)
+    YYFPRINTF (stderr, "%s ", yytname [yyrhs[yyi]]);
+  YYFPRINTF (stderr, "-> %s\n", yytname [yyr1[yyrule]]);
+}
+
+# define YY_REDUCE_PRINT(Rule)		\
+do {					\
+  if (yydebug)				\
+    yy_reduce_print (Rule);		\
+} while (0)
+
+/* Nonzero means print parse trace.  It is left uninitialized so that
+   multiple parsers can coexist.  */
+int yydebug;
+#else /* !YYDEBUG */
+# define YYDPRINTF(Args)
+# define YYDSYMPRINT(Args)
+# define YYDSYMPRINTF(Title, Token, Value, Location)
+# define YY_STACK_PRINT(Bottom, Top)
+# define YY_REDUCE_PRINT(Rule)
+#endif /* !YYDEBUG */
 
-/*  YYINITDEPTH indicates the initial size of the parser's stacks	*/
 
+/* YYINITDEPTH -- initial size of the parser's stacks.  */
 #ifndef	YYINITDEPTH
-#define YYINITDEPTH 200
+# define YYINITDEPTH 200
 #endif
 
-/*  YYMAXDEPTH is the maximum size the stacks can grow to
-    (effective only if the built-in stack extension method is used).  */
+/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
+   if the built-in stack extension method is used).
 
-#if YYMAXDEPTH == 0
-#undef YYMAXDEPTH
+   Do not make this value too large; the results are undefined if
+   SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH)
+   evaluated with infinite-precision integer arithmetic.  */
+
+#if defined (YYMAXDEPTH) && YYMAXDEPTH == 0
+# undef YYMAXDEPTH
 #endif
 
 #ifndef YYMAXDEPTH
-#define YYMAXDEPTH 10000
+# define YYMAXDEPTH 10000
 #endif
+
 
-/* Define __yy_memcpy.  Note that the size argument
-   should be passed with type unsigned int, because that is what the non-GCC
-   definitions require.  With GCC, __builtin_memcpy takes an arg
-   of type size_t, but it can handle unsigned int.  */
-
-#if __GNUC__ > 1		/* GNU C and GNU C++ define this.  */
-#define __yy_memcpy(TO,FROM,COUNT)	__builtin_memcpy(TO,FROM,COUNT)
-#else				/* not GNU C or C++ */
-#ifndef __cplusplus
 
-/* This is the most reliable way to avoid incompatibilities
-   in available built-in functions on various systems.  */
-static void
-__yy_memcpy (to, from, count)
-     char *to;
-     char *from;
-     unsigned int count;
-{
-  register char *f = from;
-  register char *t = to;
-  register int i = count;
+#if YYERROR_VERBOSE
+
+# ifndef yystrlen
+#  if defined (__GLIBC__) && defined (_STRING_H)
+#   define yystrlen strlen
+#  else
+/* Return the length of YYSTR.  */
+static YYSIZE_T
+#   if defined (__STDC__) || defined (__cplusplus)
+yystrlen (const char *yystr)
+#   else
+yystrlen (yystr)
+     const char *yystr;
+#   endif
+{
+  register const char *yys = yystr;
+
+  while (*yys++ != '\0')
+    continue;
+
+  return yys - yystr - 1;
+}
+#  endif
+# endif
+
+# ifndef yystpcpy
+#  if defined (__GLIBC__) && defined (_STRING_H) && defined (_GNU_SOURCE)
+#   define yystpcpy stpcpy
+#  else
+/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
+   YYDEST.  */
+static char *
+#   if defined (__STDC__) || defined (__cplusplus)
+yystpcpy (char *yydest, const char *yysrc)
+#   else
+yystpcpy (yydest, yysrc)
+     char *yydest;
+     const char *yysrc;
+#   endif
+{
+  register char *yyd = yydest;
+  register const char *yys = yysrc;
 
-  while (i-- > 0)
-    *t++ = *f++;
+  while ((*yyd++ = *yys++) != '\0')
+    continue;
+
+  return yyd - 1;
 }
+#  endif
+# endif
+
+#endif /* !YYERROR_VERBOSE */
 
-#else /* __cplusplus */
+
+
+#if YYDEBUG
+/*--------------------------------.
+| Print this symbol on YYOUTPUT.  |
+`--------------------------------*/
 
-/* This is the most reliable way to avoid incompatibilities
-   in available built-in functions on various systems.  */
+#if defined (__STDC__) || defined (__cplusplus)
 static void
-__yy_memcpy (char *to, char *from, unsigned int count)
+yysymprint (FILE *yyoutput, int yytype, YYSTYPE *yyvaluep)
+#else
+static void
+yysymprint (yyoutput, yytype, yyvaluep)
+    FILE *yyoutput;
+    int yytype;
+    YYSTYPE *yyvaluep;
+#endif
 {
-  register char *t = to;
-  register char *f = from;
-  register int i = count;
+  /* Pacify ``unused variable'' warnings.  */
+  (void) yyvaluep;
 
-  while (i-- > 0)
-    *t++ = *f++;
+  if (yytype < YYNTOKENS)
+    {
+      YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
+# ifdef YYPRINT
+      YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
+# endif
+    }
+  else
+    YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
+
+  switch (yytype)
+    {
+      default:
+        break;
+    }
+  YYFPRINTF (yyoutput, ")");
 }
 
+#endif /* ! YYDEBUG */
+/*-----------------------------------------------.
+| Release the memory associated to this symbol.  |
+`-----------------------------------------------*/
+
+#if defined (__STDC__) || defined (__cplusplus)
+static void
+yydestruct (int yytype, YYSTYPE *yyvaluep)
+#else
+static void
+yydestruct (yytype, yyvaluep)
+    int yytype;
+    YYSTYPE *yyvaluep;
 #endif
-#endif
+{
+  /* Pacify ``unused variable'' warnings.  */
+  (void) yyvaluep;
+
+  switch (yytype)
+    {
+
+      default:
+        break;
+    }
+}
 
-#line 217 "/usr/lib/bison.simple"
 
-/* The user can define YYPARSE_PARAM as the name of an argument to be passed
-   into yyparse.  The argument should have type void *.
-   It should actually point to an object.
-   Grammar actions can access the variable by casting it
-   to the proper pointer type.  */
+/* Prevent warnings from -Wmissing-prototypes.  */
 
 #ifdef YYPARSE_PARAM
-#ifdef __cplusplus
-#define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
-#define YYPARSE_PARAM_DECL
-#else /* not __cplusplus */
-#define YYPARSE_PARAM_ARG YYPARSE_PARAM
-#define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
-#endif /* not __cplusplus */
-#else /* not YYPARSE_PARAM */
-#define YYPARSE_PARAM_ARG
-#define YYPARSE_PARAM_DECL
-#endif /* not YYPARSE_PARAM */
+# if defined (__STDC__) || defined (__cplusplus)
+int yyparse (void *YYPARSE_PARAM);
+# else
+int yyparse ();
+# endif
+#else /* ! YYPARSE_PARAM */
+#if defined (__STDC__) || defined (__cplusplus)
+int yyparse (void);
+#else
+int yyparse ();
+#endif
+#endif /* ! YYPARSE_PARAM */
+
+
+
+/* The lookahead symbol.  */
+int yychar;
+
+/* The semantic value of the lookahead symbol.  */
+YYSTYPE yylval;
+
+/* Number of syntax errors so far.  */
+int yynerrs;
+
+
+
+/*----------.
+| yyparse.  |
+`----------*/
 
-/* Prevent warning if -Wstrict-prototypes.  */
-#ifdef __GNUC__
 #ifdef YYPARSE_PARAM
-int yyparse (void *);
+# if defined (__STDC__) || defined (__cplusplus)
+int yyparse (void *YYPARSE_PARAM)
+# else
+int yyparse (YYPARSE_PARAM)
+  void *YYPARSE_PARAM;
+# endif
+#else /* ! YYPARSE_PARAM */
+#if defined (__STDC__) || defined (__cplusplus)
+int
+yyparse (void)
 #else
-int yyparse (void);
+int
+yyparse ()
+
 #endif
 #endif
-
-int
-yyparse(YYPARSE_PARAM_ARG)
-     YYPARSE_PARAM_DECL
 {
+  
   register int yystate;
   register int yyn;
-  register short *yyssp;
+  int yyresult;
+  /* Number of tokens to shift before error messages enabled.  */
+  int yyerrstatus;
+  /* Lookahead token as an internal (translated) token number.  */
+  int yytoken = 0;
+
+  /* Three stacks and their tools:
+     `yyss': related to states,
+     `yyvs': related to semantic values,
+     `yyls': related to locations.
+
+     Refer to the stacks thru separate pointers, to allow yyoverflow
+     to reallocate them elsewhere.  */
+
+  /* The state stack.  */
+  short int yyssa[YYINITDEPTH];
+  short int *yyss = yyssa;
+  register short int *yyssp;
+
+  /* The semantic value stack.  */
+  YYSTYPE yyvsa[YYINITDEPTH];
+  YYSTYPE *yyvs = yyvsa;
   register YYSTYPE *yyvsp;
-  int yyerrstatus;	/*  number of tokens to shift before error messages enabled */
-  int yychar1 = 0;		/*  lookahead token as an internal (translated) token number */
-
-  short	yyssa[YYINITDEPTH];	/*  the state stack			*/
-  YYSTYPE yyvsa[YYINITDEPTH];	/*  the semantic value stack		*/
 
-  short *yyss = yyssa;		/*  refer to the stacks thru separate pointers */
-  YYSTYPE *yyvs = yyvsa;	/*  to allow yyoverflow to reallocate them elsewhere */
 
-#ifdef YYLSP_NEEDED
-  YYLTYPE yylsa[YYINITDEPTH];	/*  the location stack			*/
-  YYLTYPE *yyls = yylsa;
-  YYLTYPE *yylsp;
 
-#define YYPOPSTACK   (yyvsp--, yyssp--, yylsp--)
-#else
 #define YYPOPSTACK   (yyvsp--, yyssp--)
-#endif
 
-  int yystacksize = YYINITDEPTH;
-  int yyfree_stacks = 0;
+  YYSIZE_T yystacksize = YYINITDEPTH;
 
-#ifdef YYPURE
-  int yychar;
-  YYSTYPE yylval;
-  int yynerrs;
-#ifdef YYLSP_NEEDED
-  YYLTYPE yylloc;
-#endif
-#endif
+  /* The variables used to return semantic value and location from the
+     action routines.  */
+  YYSTYPE yyval;
 
-  YYSTYPE yyval;		/*  the variable used to return		*/
-				/*  semantic values from the action	*/
-				/*  routines				*/
 
+  /* When reducing, the number of symbols on the RHS of the reduced
+     rule.  */
   int yylen;
 
-#if YYDEBUG != 0
-  if (yydebug)
-    fprintf(stderr, "Starting parse\n");
-#endif
+  YYDPRINTF ((stderr, "Starting parse\n"));
 
   yystate = 0;
   yyerrstatus = 0;
@@ -479,110 +853,97 @@
      so that they stay on the same level as the state stack.
      The wasted elements are never initialized.  */
 
-  yyssp = yyss - 1;
+  yyssp = yyss;
   yyvsp = yyvs;
-#ifdef YYLSP_NEEDED
-  yylsp = yyls;
-#endif
 
-/* Push a new state, which is found in  yystate  .  */
-/* In all cases, when you get here, the value and location stacks
-   have just been pushed. so pushing a state here evens the stacks.  */
-yynewstate:
 
-  *++yyssp = yystate;
+  goto yysetstate;
 
-  if (yyssp >= yyss + yystacksize - 1)
-    {
-      /* Give user a chance to reallocate the stack */
-      /* Use copies of these so that the &'s don't force the real ones into memory. */
-      YYSTYPE *yyvs1 = yyvs;
-      short *yyss1 = yyss;
-#ifdef YYLSP_NEEDED
-      YYLTYPE *yyls1 = yyls;
-#endif
+/*------------------------------------------------------------.
+| yynewstate -- Push a new state, which is found in yystate.  |
+`------------------------------------------------------------*/
+ yynewstate:
+  /* In all cases, when you get here, the value and location stacks
+     have just been pushed. so pushing a state here evens the stacks.
+     */
+  yyssp++;
 
+ yysetstate:
+  *yyssp = yystate;
+
+  if (yyss + yystacksize - 1 <= yyssp)
+    {
       /* Get the current used size of the three stacks, in elements.  */
-      int size = yyssp - yyss + 1;
+      YYSIZE_T yysize = yyssp - yyss + 1;
 
 #ifdef yyoverflow
-      /* Each stack pointer address is followed by the size of
-	 the data in use in that stack, in bytes.  */
-#ifdef YYLSP_NEEDED
-      /* This used to be a conditional around just the two extra args,
-	 but that might be undefined if yyoverflow is a macro.  */
-      yyoverflow("parser stack overflow",
-		 &yyss1, size * sizeof (*yyssp),
-		 &yyvs1, size * sizeof (*yyvsp),
-		 &yyls1, size * sizeof (*yylsp),
-		 &yystacksize);
-#else
-      yyoverflow("parser stack overflow",
-		 &yyss1, size * sizeof (*yyssp),
-		 &yyvs1, size * sizeof (*yyvsp),
-		 &yystacksize);
-#endif
-
-      yyss = yyss1; yyvs = yyvs1;
-#ifdef YYLSP_NEEDED
-      yyls = yyls1;
-#endif
+      {
+	/* Give user a chance to reallocate the stack. Use copies of
+	   these so that the &'s don't force the real ones into
+	   memory.  */
+	YYSTYPE *yyvs1 = yyvs;
+	short int *yyss1 = yyss;
+
+
+	/* Each stack pointer address is followed by the size of the
+	   data in use in that stack, in bytes.  This used to be a
+	   conditional around just the two extra args, but that might
+	   be undefined if yyoverflow is a macro.  */
+	yyoverflow ("parser stack overflow",
+		    &yyss1, yysize * sizeof (*yyssp),
+		    &yyvs1, yysize * sizeof (*yyvsp),
+
+		    &yystacksize);
+
+	yyss = yyss1;
+	yyvs = yyvs1;
+      }
 #else /* no yyoverflow */
+# ifndef YYSTACK_RELOCATE
+      goto yyoverflowlab;
+# else
       /* Extend the stack our own way.  */
-      if (yystacksize >= YYMAXDEPTH)
-	{
-	  yyerror("parser stack overflow");
-	  if (yyfree_stacks)
-	    {
-	      free (yyss);
-	      free (yyvs);
-#ifdef YYLSP_NEEDED
-	      free (yyls);
-#endif
-	    }
-	  return 2;
-	}
+      if (YYMAXDEPTH <= yystacksize)
+	goto yyoverflowlab;
       yystacksize *= 2;
-      if (yystacksize > YYMAXDEPTH)
+      if (YYMAXDEPTH < yystacksize)
 	yystacksize = YYMAXDEPTH;
-#ifndef YYSTACK_USE_ALLOCA
-      yyfree_stacks = 1;
-#endif
-      yyss = (short *) YYSTACK_ALLOC (yystacksize * sizeof (*yyssp));
-      __yy_memcpy ((char *)yyss, (char *)yyss1,
-		   size * (unsigned int) sizeof (*yyssp));
-      yyvs = (YYSTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yyvsp));
-      __yy_memcpy ((char *)yyvs, (char *)yyvs1,
-		   size * (unsigned int) sizeof (*yyvsp));
-#ifdef YYLSP_NEEDED
-      yyls = (YYLTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yylsp));
-      __yy_memcpy ((char *)yyls, (char *)yyls1,
-		   size * (unsigned int) sizeof (*yylsp));
-#endif
+
+      {
+	short int *yyss1 = yyss;
+	union yyalloc *yyptr =
+	  (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
+	if (! yyptr)
+	  goto yyoverflowlab;
+	YYSTACK_RELOCATE (yyss);
+	YYSTACK_RELOCATE (yyvs);
+
+#  undef YYSTACK_RELOCATE
+	if (yyss1 != yyssa)
+	  YYSTACK_FREE (yyss1);
+      }
+# endif
 #endif /* no yyoverflow */
 
-      yyssp = yyss + size - 1;
-      yyvsp = yyvs + size - 1;
-#ifdef YYLSP_NEEDED
-      yylsp = yyls + size - 1;
-#endif
+      yyssp = yyss + yysize - 1;
+      yyvsp = yyvs + yysize - 1;
 
-#if YYDEBUG != 0
-      if (yydebug)
-	fprintf(stderr, "Stack size increased to %d\n", yystacksize);
-#endif
 
-      if (yyssp >= yyss + yystacksize - 1)
+      YYDPRINTF ((stderr, "Stack size increased to %lu\n",
+		  (unsigned long int) yystacksize));
+
+      if (yyss + yystacksize - 1 <= yyssp)
 	YYABORT;
     }
 
-#if YYDEBUG != 0
-  if (yydebug)
-    fprintf(stderr, "Entering state %d\n", yystate);
-#endif
+  YYDPRINTF ((stderr, "Entering state %d\n", yystate));
 
   goto yybackup;
- yybackup:
+
+/*-----------.
+| yybackup.  |
+`-----------*/
+yybackup:
 
 /* Do appropriate processing given the current state.  */
 /* Read a lookahead token if we need one and don't already have one.  */
@@ -591,194 +952,167 @@
   /* First try to decide what to do without reference to lookahead token.  */
 
   yyn = yypact[yystate];
-  if (yyn == YYFLAG)
+  if (yyn == YYPACT_NINF)
     goto yydefault;
 
   /* Not known => get a lookahead token if don't already have one.  */
 
-  /* yychar is either YYEMPTY or YYEOF
-     or a valid token in external form.  */
-
+  /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol.  */
   if (yychar == YYEMPTY)
     {
-#if YYDEBUG != 0
-      if (yydebug)
-	fprintf(stderr, "Reading a token: ");
-#endif
+      YYDPRINTF ((stderr, "Reading a token: "));
       yychar = YYLEX;
     }
 
-  /* Convert token to internal form (in yychar1) for indexing tables with */
-
-  if (yychar <= 0)		/* This means end of input. */
+  if (yychar <= YYEOF)
     {
-      yychar1 = 0;
-      yychar = YYEOF;		/* Don't call YYLEX any more */
-
-#if YYDEBUG != 0
-      if (yydebug)
-	fprintf(stderr, "Now at end of input.\n");
-#endif
+      yychar = yytoken = YYEOF;
+      YYDPRINTF ((stderr, "Now at end of input.\n"));
     }
   else
     {
-      yychar1 = YYTRANSLATE(yychar);
-
-#if YYDEBUG != 0
-      if (yydebug)
-	{
-	  fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]);
-	  /* Give the individual parser a way to print the precise meaning
-	     of a token, for further debugging info.  */
-#ifdef YYPRINT
-	  YYPRINT (stderr, yychar, yylval);
-#endif
-	  fprintf (stderr, ")\n");
-	}
-#endif
+      yytoken = YYTRANSLATE (yychar);
+      YYDSYMPRINTF ("Next token is", yytoken, &yylval, &yylloc);
     }
 
-  yyn += yychar1;
-  if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1)
+  /* If the proper action on seeing token YYTOKEN is to reduce or to
+     detect an error, take that action.  */
+  yyn += yytoken;
+  if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
     goto yydefault;
-
   yyn = yytable[yyn];
-
-  /* yyn is what to do for this token type in this state.
-     Negative => reduce, -yyn is rule number.
-     Positive => shift, yyn is new state.
-       New state is final state => don't bother to shift,
-       just return success.
-     0, or most negative number => error.  */
-
-  if (yyn < 0)
+  if (yyn <= 0)
     {
-      if (yyn == YYFLAG)
+      if (yyn == 0 || yyn == YYTABLE_NINF)
 	goto yyerrlab;
       yyn = -yyn;
       goto yyreduce;
     }
-  else if (yyn == 0)
-    goto yyerrlab;
 
   if (yyn == YYFINAL)
     YYACCEPT;
 
   /* Shift the lookahead token.  */
-
-#if YYDEBUG != 0
-  if (yydebug)
-    fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]);
-#endif
+  YYDPRINTF ((stderr, "Shifting token %s, ", yytname[yytoken]));
 
   /* Discard the token being shifted unless it is eof.  */
   if (yychar != YYEOF)
     yychar = YYEMPTY;
 
   *++yyvsp = yylval;
-#ifdef YYLSP_NEEDED
-  *++yylsp = yylloc;
-#endif
 
-  /* count tokens shifted since error; after three, turn off error status.  */
-  if (yyerrstatus) yyerrstatus--;
+
+  /* Count tokens shifted since error; after three, turn off error
+     status.  */
+  if (yyerrstatus)
+    yyerrstatus--;
 
   yystate = yyn;
   goto yynewstate;
 
-/* Do the default action for the current state.  */
-yydefault:
 
+/*-----------------------------------------------------------.
+| yydefault -- do the default action for the current state.  |
+`-----------------------------------------------------------*/
+yydefault:
   yyn = yydefact[yystate];
   if (yyn == 0)
     goto yyerrlab;
+  goto yyreduce;
+
 
-/* Do a reduction.  yyn is the number of a rule to reduce with.  */
+/*-----------------------------.
+| yyreduce -- Do a reduction.  |
+`-----------------------------*/
 yyreduce:
+  /* yyn is the number of a rule to reduce with.  */
   yylen = yyr2[yyn];
-  if (yylen > 0)
-    yyval = yyvsp[1-yylen]; /* implement default value of the action */
 
-#if YYDEBUG != 0
-  if (yydebug)
-    {
-      int i;
+  /* If YYLEN is nonzero, implement the default value of the action:
+     `$$ = $1'.
 
-      fprintf (stderr, "Reducing via rule %d (line %d), ",
-	       yyn, yyrline[yyn]);
+     Otherwise, the following line sets YYVAL to garbage.
+     This behavior is undocumented and Bison
+     users should not rely upon it.  Assigning to YYVAL
+     unconditionally makes the parser a bit smaller, and it avoids a
+     GCC warning that YYVAL may be used uninitialized.  */
+  yyval = yyvsp[1-yylen];
 
-      /* Print the symbols being reduced, and their result.  */
-      for (i = yyprhs[yyn]; yyrhs[i] > 0; i++)
-	fprintf (stderr, "%s ", yytname[yyrhs[i]]);
-      fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]);
-    }
-#endif
 
-
-  switch (yyn) {
-
-case 4:
-#line 47 "cfg_y.y"
-{
+  YY_REDUCE_PRINT (yyn);
+  switch (yyn)
+    {
+        case 5:
+#line 50 "cfg_y.y"
+    {
 	    control_init(yyvsp[-1].str);
-	;
-    break;}
-case 5:
-#line 54 "cfg_y.y"
-{
+	}
+    break;
+
+  case 6:
+#line 57 "cfg_y.y"
+    {
 	    fab_option(yyvsp[-1].str,yyvsp[0].str);
-	;
-    break;}
-case 6:
-#line 61 "cfg_y.y"
-{
+	}
+    break;
+
+  case 7:
+#line 64 "cfg_y.y"
+    {
 	    itf = 0;
-	;
-    break;}
-case 7:
-#line 65 "cfg_y.y"
-{
+	}
+    break;
+
+  case 8:
+#line 68 "cfg_y.y"
+    {
 	    char *tmp;
 
 	    tmp = strdup(yyvsp[-3].str);
 	    if (!tmp) yyerror(strerror(errno));
 	    sig = sig_vc(yyvsp[-4].str,tmp,itf);
-	;
-    break;}
-case 9:
-#line 77 "cfg_y.y"
-{
+	}
+    break;
+
+  case 10:
+#line 80 "cfg_y.y"
+    {
 	    yyval.str = NULL;
-	;
-    break;}
-case 10:
-#line 81 "cfg_y.y"
-{
+	}
+    break;
+
+  case 11:
+#line 84 "cfg_y.y"
+    {
 	    yyval.str = strdup(yyvsp[0].str);
 	    if (!yyval.str) yyerror(strerror(errno));
-	;
-    break;}
-case 12:
-#line 89 "cfg_y.y"
-{
+	}
+    break;
+
+  case 13:
+#line 92 "cfg_y.y"
+    {
 	    itf = yyvsp[0].num;
-	;
-    break;}
-case 14:
-#line 96 "cfg_y.y"
-{
+	}
+    break;
+
+  case 15:
+#line 99 "cfg_y.y"
+    {
 	    sig->pvc = yyvsp[0].pvc;
-	;
-    break;}
-case 17:
-#line 104 "cfg_y.y"
-{
+	}
+    break;
+
+  case 18:
+#line 107 "cfg_y.y"
+    {
 	    put_route(NULL,0,sig);
-	;
-    break;}
-case 19:
-#line 112 "cfg_y.y"
-{
+	}
+    break;
+
+  case 20:
+#line 115 "cfg_y.y"
+    {
 	    struct sockaddr_atmsvc addr;
 	    char *mask;
 
@@ -790,228 +1124,236 @@
 		return;
 	    }
 	    put_route(&addr,mask ? strtol(mask,NULL,10) : INT_MAX,sig);
-	;
-    break;}
-}
-   /* the action file gets copied in in place of this dollarsign */
-#line 543 "/usr/lib/bison.simple"
+	}
+    break;
+
+
+    }
+
+/* Line 1010 of yacc.c.  */
+#line 1135 "y.tab.c"
 
   yyvsp -= yylen;
   yyssp -= yylen;
-#ifdef YYLSP_NEEDED
-  yylsp -= yylen;
-#endif
 
-#if YYDEBUG != 0
-  if (yydebug)
-    {
-      short *ssp1 = yyss - 1;
-      fprintf (stderr, "state stack now");
-      while (ssp1 != yyssp)
-	fprintf (stderr, " %d", *++ssp1);
-      fprintf (stderr, "\n");
-    }
-#endif
+
+  YY_STACK_PRINT (yyss, yyssp);
 
   *++yyvsp = yyval;
 
-#ifdef YYLSP_NEEDED
-  yylsp++;
-  if (yylen == 0)
-    {
-      yylsp->first_line = yylloc.first_line;
-      yylsp->first_column = yylloc.first_column;
-      yylsp->last_line = (yylsp-1)->last_line;
-      yylsp->last_column = (yylsp-1)->last_column;
-      yylsp->text = 0;
-    }
-  else
-    {
-      yylsp->last_line = (yylsp+yylen-1)->last_line;
-      yylsp->last_column = (yylsp+yylen-1)->last_column;
-    }
-#endif
 
-  /* Now "shift" the result of the reduction.
-     Determine what state that goes to,
-     based on the state we popped back to
-     and the rule number reduced by.  */
+  /* Now `shift' the result of the reduction.  Determine what state
+     that goes to, based on the state we popped back to and the rule
+     number reduced by.  */
 
   yyn = yyr1[yyn];
 
-  yystate = yypgoto[yyn - YYNTBASE] + *yyssp;
-  if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp)
+  yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
+  if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
     yystate = yytable[yystate];
   else
-    yystate = yydefgoto[yyn - YYNTBASE];
+    yystate = yydefgoto[yyn - YYNTOKENS];
 
   goto yynewstate;
 
-yyerrlab:   /* here on detecting error */
 
-  if (! yyerrstatus)
-    /* If not already recovering from an error, report this error.  */
+/*------------------------------------.
+| yyerrlab -- here on detecting error |
+`------------------------------------*/
+yyerrlab:
+  /* If not already recovering from an error, report this error.  */
+  if (!yyerrstatus)
     {
       ++yynerrs;
-
-#ifdef YYERROR_VERBOSE
+#if YYERROR_VERBOSE
       yyn = yypact[yystate];
 
-      if (yyn > YYFLAG && yyn < YYLAST)
+      if (YYPACT_NINF < yyn && yyn < YYLAST)
 	{
-	  int size = 0;
-	  char *msg;
-	  int x, count;
-
-	  count = 0;
-	  /* Start X at -yyn if nec to avoid negative indexes in yycheck.  */
-	  for (x = (yyn < 0 ? -yyn : 0);
-	       x < (sizeof(yytname) / sizeof(char *)); x++)
-	    if (yycheck[x + yyn] == x)
-	      size += strlen(yytname[x]) + 15, count++;
-	  msg = (char *) malloc(size + 15);
-	  if (msg != 0)
+	  YYSIZE_T yysize = 0;
+	  int yytype = YYTRANSLATE (yychar);
+	  const char* yyprefix;
+	  char *yymsg;
+	  int yyx;
+
+	  /* Start YYX at -YYN if negative to avoid negative indexes in
+	     YYCHECK.  */
+	  int yyxbegin = yyn < 0 ? -yyn : 0;
+
+	  /* Stay within bounds of both yycheck and yytname.  */
+	  int yychecklim = YYLAST - yyn;
+	  int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
+	  int yycount = 0;
+
+	  yyprefix = ", expecting ";
+	  for (yyx = yyxbegin; yyx < yyxend; ++yyx)
+	    if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
+	      {
+		yysize += yystrlen (yyprefix) + yystrlen (yytname [yyx]);
+		yycount += 1;
+		if (yycount == 5)
+		  {
+		    yysize = 0;
+		    break;
+		  }
+	      }
+	  yysize += (sizeof ("syntax error, unexpected ")
+		     + yystrlen (yytname[yytype]));
+	  yymsg = (char *) YYSTACK_ALLOC (yysize);
+	  if (yymsg != 0)
 	    {
-	      strcpy(msg, "parse error");
+	      char *yyp = yystpcpy (yymsg, "syntax error, unexpected ");
+	      yyp = yystpcpy (yyp, yytname[yytype]);
 
-	      if (count < 5)
+	      if (yycount < 5)
 		{
-		  count = 0;
-		  for (x = (yyn < 0 ? -yyn : 0);
-		       x < (sizeof(yytname) / sizeof(char *)); x++)
-		    if (yycheck[x + yyn] == x)
+		  yyprefix = ", expecting ";
+		  for (yyx = yyxbegin; yyx < yyxend; ++yyx)
+		    if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
 		      {
-			strcat(msg, count == 0 ? ", expecting `" : " or `");
-			strcat(msg, yytname[x]);
-			strcat(msg, "'");
-			count++;
+			yyp = yystpcpy (yyp, yyprefix);
+			yyp = yystpcpy (yyp, yytname[yyx]);
+			yyprefix = " or ";
 		      }
 		}
-	      yyerror(msg);
-	      free(msg);
+	      yyerror (yymsg);
+	      YYSTACK_FREE (yymsg);
 	    }
 	  else
-	    yyerror ("parse error; also virtual memory exceeded");
+	    yyerror ("syntax error; also virtual memory exhausted");
 	}
       else
 #endif /* YYERROR_VERBOSE */
-	yyerror("parse error");
+	yyerror ("syntax error");
     }
 
-  goto yyerrlab1;
-yyerrlab1:   /* here on error raised explicitly by an action */
+
 
   if (yyerrstatus == 3)
     {
-      /* if just tried and failed to reuse lookahead token after an error, discard it.  */
+      /* If just tried and failed to reuse lookahead token after an
+	 error, discard it.  */
 
-      /* return failure if at end of input */
-      if (yychar == YYEOF)
-	YYABORT;
-
-#if YYDEBUG != 0
-      if (yydebug)
-	fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]);
-#endif
+      if (yychar <= YYEOF)
+        {
+          /* If at end of input, pop the error token,
+	     then the rest of the stack, then return failure.  */
+	  if (yychar == YYEOF)
+	     for (;;)
+	       {
+		 YYPOPSTACK;
+		 if (yyssp == yyss)
+		   YYABORT;
+		 YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp);
+		 yydestruct (yystos[*yyssp], yyvsp);
+	       }
+        }
+      else
+	{
+	  YYDSYMPRINTF ("Error: discarding", yytoken, &yylval, &yylloc);
+	  yydestruct (yytoken, &yylval);
+	  yychar = YYEMPTY;
 
-      yychar = YYEMPTY;
+	}
     }
 
-  /* Else will try to reuse lookahead token
-     after shifting the error token.  */
-
-  yyerrstatus = 3;		/* Each real token shifted decrements this */
+  /* Else will try to reuse lookahead token after shifting the error
+     token.  */
+  goto yyerrlab1;
 
-  goto yyerrhandle;
 
-yyerrdefault:  /* current state does not do anything special for the error token. */
+/*---------------------------------------------------.
+| yyerrorlab -- error raised explicitly by YYERROR.  |
+`---------------------------------------------------*/
+yyerrorlab:
 
-#if 0
-  /* This is wrong; only states that explicitly want error tokens
-     should shift them.  */
-  yyn = yydefact[yystate];  /* If its default is to accept any token, ok.  Otherwise pop it.*/
-  if (yyn) goto yydefault;
+#ifdef __GNUC__
+  /* Pacify GCC when the user code never invokes YYERROR and the label
+     yyerrorlab therefore never appears in user code.  */
+  if (0)
+     goto yyerrorlab;
 #endif
 
-yyerrpop:   /* pop the current state because it cannot handle the error token */
-
-  if (yyssp == yyss) YYABORT;
-  yyvsp--;
-  yystate = *--yyssp;
-#ifdef YYLSP_NEEDED
-  yylsp--;
-#endif
+  yyvsp -= yylen;
+  yyssp -= yylen;
+  yystate = *yyssp;
+  goto yyerrlab1;
 
-#if YYDEBUG != 0
-  if (yydebug)
-    {
-      short *ssp1 = yyss - 1;
-      fprintf (stderr, "Error: state stack now");
-      while (ssp1 != yyssp)
-	fprintf (stderr, " %d", *++ssp1);
-      fprintf (stderr, "\n");
-    }
-#endif
 
-yyerrhandle:
+/*-------------------------------------------------------------.
+| yyerrlab1 -- common code for both syntax error and YYERROR.  |
+`-------------------------------------------------------------*/
+yyerrlab1:
+  yyerrstatus = 3;	/* Each real token shifted decrements this.  */
 
-  yyn = yypact[yystate];
-  if (yyn == YYFLAG)
-    goto yyerrdefault;
+  for (;;)
+    {
+      yyn = yypact[yystate];
+      if (yyn != YYPACT_NINF)
+	{
+	  yyn += YYTERROR;
+	  if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
+	    {
+	      yyn = yytable[yyn];
+	      if (0 < yyn)
+		break;
+	    }
+	}
 
-  yyn += YYTERROR;
-  if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR)
-    goto yyerrdefault;
+      /* Pop the current state because it cannot handle the error token.  */
+      if (yyssp == yyss)
+	YYABORT;
 
-  yyn = yytable[yyn];
-  if (yyn < 0)
-    {
-      if (yyn == YYFLAG)
-	goto yyerrpop;
-      yyn = -yyn;
-      goto yyreduce;
+      YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp);
+      yydestruct (yystos[yystate], yyvsp);
+      YYPOPSTACK;
+      yystate = *yyssp;
+      YY_STACK_PRINT (yyss, yyssp);
     }
-  else if (yyn == 0)
-    goto yyerrpop;
 
   if (yyn == YYFINAL)
     YYACCEPT;
 
-#if YYDEBUG != 0
-  if (yydebug)
-    fprintf(stderr, "Shifting error token, ");
-#endif
+  YYDPRINTF ((stderr, "Shifting error token, "));
 
   *++yyvsp = yylval;
-#ifdef YYLSP_NEEDED
-  *++yylsp = yylloc;
-#endif
+
 
   yystate = yyn;
   goto yynewstate;
 
- yyacceptlab:
-  /* YYACCEPT comes here.  */
-  if (yyfree_stacks)
-    {
-      free (yyss);
-      free (yyvs);
-#ifdef YYLSP_NEEDED
-      free (yyls);
-#endif
-    }
-  return 0;
 
- yyabortlab:
-  /* YYABORT comes here.  */
-  if (yyfree_stacks)
-    {
-      free (yyss);
-      free (yyvs);
-#ifdef YYLSP_NEEDED
-      free (yyls);
+/*-------------------------------------.
+| yyacceptlab -- YYACCEPT comes here.  |
+`-------------------------------------*/
+yyacceptlab:
+  yyresult = 0;
+  goto yyreturn;
+
+/*-----------------------------------.
+| yyabortlab -- YYABORT comes here.  |
+`-----------------------------------*/
+yyabortlab:
+  yyresult = 1;
+  goto yyreturn;
+
+#ifndef yyoverflow
+/*----------------------------------------------.
+| yyoverflowlab -- parser overflow comes here.  |
+`----------------------------------------------*/
+yyoverflowlab:
+  yyerror ("parser stack overflow");
+  yyresult = 2;
+  /* Fall through.  */
+#endif
+
+yyreturn:
+#ifndef yyoverflow
+  if (yyss != yyssa)
+    YYSTACK_FREE (yyss);
 #endif
-    }
-  return 1;
+  return yyresult;
 }
-#line 126 "cfg_y.y"
+
+
+
Index: linux-atm-2.4.1/src/switch/cfg_y.y
===================================================================
--- linux-atm-2.4.1.orig/src/switch/cfg_y.y	2007-06-04 13:23:54.229489760 +0200
+++ linux-atm-2.4.1/src/switch/cfg_y.y	2007-06-04 13:23:54.505447808 +0200
@@ -10,6 +10,7 @@
 #include <string.h>
 #include <errno.h>
 #include <limits.h>
+#include <stdlib.h>
 
 #include "atm.h"
 
@@ -19,6 +20,8 @@
 #include "swc.h"
 
 
+extern void yyerror(const char *s);
+
 static int itf;
 static SIGNALING_ENTITY *sig;
 
Index: linux-atm-2.4.1/src/switch/cfg_y.h
===================================================================
--- linux-atm-2.4.1.orig/src/switch/cfg_y.h	2007-06-04 13:23:54.234489000 +0200
+++ linux-atm-2.4.1/src/switch/cfg_y.h	2007-06-04 13:23:54.505447808 +0200
@@ -1,19 +1,77 @@
-typedef union {
+/* A Bison parser, made by GNU Bison 1.875d.  */
+
+/* Skeleton parser for Yacc-like parsing with Bison,
+   Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004 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., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+/* As a special exception, when this file is copied by Bison into a
+   Bison output file, you may use that output file without restriction.
+   This special exception was added by the Free Software Foundation
+   in version 1.24 of Bison.  */
+
+/* Tokens.  */
+#ifndef YYTOKENTYPE
+# define YYTOKENTYPE
+   /* Put the tokens into the symbol table, so that GDB and other debuggers
+      know about them.  */
+   enum yytokentype {
+     TOK_COMMAND = 258,
+     TOK_VPCI = 259,
+     TOK_ITF = 260,
+     TOK_DEFAULT = 261,
+     TOK_ROUTE = 262,
+     TOK_STR = 263,
+     TOK_SOCKET = 264,
+     TOK_OPTION = 265,
+     TOK_CONTROL = 266,
+     TOK_NUM = 267,
+     TOK_PVC = 268
+   };
+#endif
+#define TOK_COMMAND 258
+#define TOK_VPCI 259
+#define TOK_ITF 260
+#define TOK_DEFAULT 261
+#define TOK_ROUTE 262
+#define TOK_STR 263
+#define TOK_SOCKET 264
+#define TOK_OPTION 265
+#define TOK_CONTROL 266
+#define TOK_NUM 267
+#define TOK_PVC 268
+
+
+
+
+#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
+#line 30 "cfg_y.y"
+typedef union YYSTYPE {
     int num;
     char *str;
     struct sockaddr_atmpvc pvc;
 } YYSTYPE;
-#define	TOK_COMMAND	257
-#define	TOK_VPCI	258
-#define	TOK_ITF	259
-#define	TOK_DEFAULT	260
-#define	TOK_ROUTE	261
-#define	TOK_STR	262
-#define	TOK_SOCKET	263
-#define	TOK_OPTION	264
-#define	TOK_CONTROL	265
-#define	TOK_NUM	266
-#define	TOK_PVC	267
-
+/* Line 1285 of yacc.c.  */
+#line 69 "y.tab.h"
+# define yystype YYSTYPE /* obsolescent; will be withdrawn */
+# define YYSTYPE_IS_DECLARED 1
+# define YYSTYPE_IS_TRIVIAL 1
+#endif
 
 extern YYSTYPE yylval;
+
+
+
Index: linux-atm-2.4.1/src/switch/debug/Makefile.in
===================================================================
--- linux-atm-2.4.1.orig/src/switch/debug/Makefile.in	2007-06-04 13:23:54.239488240 +0200
+++ linux-atm-2.4.1/src/switch/debug/Makefile.in	2007-06-04 13:23:54.506447656 +0200
@@ -1,4 +1,4 @@
-# Makefile.in generated automatically by automake 1.4-p5 from Makefile.am
+# Makefile.in generated automatically by automake 1.4-p6 from Makefile.am
 
 # Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
@@ -90,8 +90,7 @@
 INCLUDES = -I$(top_builddir)/src/qgen
 
 sw_debug_SOURCES = debug.c
-sw_debug_XTRAS = $(top_builddir)/src/switch/libsw.a \
-			$(top_builddir)/src/lib/libatm.la
+sw_debug_XTRAS = $(top_builddir)/src/switch/libsw.a 			$(top_builddir)/src/lib/libatm.la
 
 sw_debug_LDADD = $(sw_debug_XTRAS) -lfl
 
@@ -121,8 +120,9 @@
 
 DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
 
-TAR = gtar
+TAR = tar
 GZIP_ENV = --best
+DEP_FILES =  .deps/debug.P
 SOURCES = $(sw_debug_SOURCES)
 OBJECTS = $(sw_debug_OBJECTS)
 
@@ -130,9 +130,9 @@
 .SUFFIXES:
 .SUFFIXES: .S .c .lo .o .obj .s
 $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) 
-	cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps src/switch/debug/Makefile
+	cd $(top_srcdir) && $(AUTOMAKE) --gnu src/switch/debug/Makefile
 
-Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status
+Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status $(BUILT_SOURCES)
 	cd $(top_builddir) \
 	  && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
 
@@ -146,9 +146,6 @@
 
 maintainer-clean-noinstPROGRAMS:
 
-.c.o:
-	$(COMPILE) -c $<
-
 # FIXME: We should only use cygpath when building on Windows,
 # and only if it is available.
 .c.obj:
@@ -171,9 +168,6 @@
 
 maintainer-clean-compile:
 
-.c.lo:
-	$(LIBTOOL) --mode=compile $(COMPILE) -c $<
-
 .s.lo:
 	$(LIBTOOL) --mode=compile $(COMPILE) -c $<
 
@@ -212,7 +206,7 @@
 	  awk '    { files[$$0] = 1; } \
 	       END { for (i in files) print i; }'`; \
 	test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
-	  || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags  $$unique $(LISP) -o $$here/TAGS)
+	  || (cd $(srcdir) && etags -o $$here/TAGS $(ETAGS_ARGS) $$tags  $$unique $(LISP))
 
 mostlyclean-tags:
 
@@ -228,6 +222,11 @@
 subdir = src/switch/debug
 
 distdir: $(DISTFILES)
+	here=`cd $(top_builddir) && pwd`; \
+	top_distdir=`cd $(top_distdir) && pwd`; \
+	distdir=`cd $(distdir) && pwd`; \
+	cd $(top_srcdir) \
+	  && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnu src/switch/debug/Makefile
 	@for file in $(DISTFILES); do \
 	  d=$(srcdir); \
 	  if test -d $$d/$$file; then \
@@ -238,11 +237,38 @@
 	    || cp -p $$d/$$file $(distdir)/$$file || :; \
 	  fi; \
 	done
-debug.o: debug.c ../../../config.h ../../../src/include/atm.h \
-	../../../src/include/stdint.h ../../../src/include/atmd.h \
-	../../../src/qgen/uni.h ../fab.h ../proto.h \
-	../../../src/include/atmsap.h ../sig.h
 
+DEPS_MAGIC := $(shell mkdir .deps > /dev/null 2>&1 || :)
+
+-include $(DEP_FILES)
+
+mostlyclean-depend:
+
+clean-depend:
+
+distclean-depend:
+	-rm -rf .deps
+
+maintainer-clean-depend:
+
+%.o: %.c
+	@echo '$(COMPILE) -c $<'; \
+	$(COMPILE) -Wp,-MD,.deps/$(*F).pp -c $<
+	@-cp .deps/$(*F).pp .deps/$(*F).P; \
+	tr ' ' '\012' < .deps/$(*F).pp \
+	  | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \
+	    >> .deps/$(*F).P; \
+	rm .deps/$(*F).pp
+
+%.lo: %.c
+	@echo '$(LTCOMPILE) -c $<'; \
+	$(LTCOMPILE) -Wp,-MD,.deps/$(*F).pp -c $<
+	@-sed -e 's/^\([^:]*\)\.o[ 	]*:/\1.lo \1.o :/' \
+	  < .deps/$(*F).pp > .deps/$(*F).P; \
+	tr ' ' '\012' < .deps/$(*F).pp \
+	  | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \
+	    >> .deps/$(*F).P; \
+	rm -f .deps/$(*F).pp
 info-am:
 info: info-am
 dvi-am:
@@ -279,27 +305,27 @@
 
 maintainer-clean-generic:
 mostlyclean-am:  mostlyclean-noinstPROGRAMS mostlyclean-compile \
-		mostlyclean-libtool mostlyclean-tags \
+		mostlyclean-libtool mostlyclean-tags mostlyclean-depend \
 		mostlyclean-generic
 
 mostlyclean: mostlyclean-am
 
 clean-am:  clean-noinstPROGRAMS clean-compile clean-libtool clean-tags \
-		clean-generic mostlyclean-am
+		clean-depend clean-generic mostlyclean-am
 
 clean: clean-am
 
 distclean-am:  distclean-noinstPROGRAMS distclean-compile \
-		distclean-libtool distclean-tags distclean-generic \
-		clean-am
+		distclean-libtool distclean-tags distclean-depend \
+		distclean-generic clean-am
 	-rm -f libtool
 
 distclean: distclean-am
 
 maintainer-clean-am:  maintainer-clean-noinstPROGRAMS \
 		maintainer-clean-compile maintainer-clean-libtool \
-		maintainer-clean-tags maintainer-clean-generic \
-		distclean-am
+		maintainer-clean-tags maintainer-clean-depend \
+		maintainer-clean-generic distclean-am
 	@echo "This command is intended for maintainers to use;"
 	@echo "it deletes files that may require special tools to rebuild."
 
@@ -310,12 +336,14 @@
 mostlyclean-compile distclean-compile clean-compile \
 maintainer-clean-compile mostlyclean-libtool distclean-libtool \
 clean-libtool maintainer-clean-libtool tags mostlyclean-tags \
-distclean-tags clean-tags maintainer-clean-tags distdir info-am info \
-dvi-am dvi check check-am installcheck-am installcheck install-exec-am \
-install-exec install-data-am install-data install-am install \
-uninstall-am uninstall all-redirect all-am all installdirs \
-mostlyclean-generic distclean-generic clean-generic \
-maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+distclean-tags clean-tags maintainer-clean-tags distdir \
+mostlyclean-depend distclean-depend clean-depend \
+maintainer-clean-depend info-am info dvi-am dvi check check-am \
+installcheck-am installcheck install-exec-am install-exec \
+install-data-am install-data install-am install uninstall-am uninstall \
+all-redirect all-am all installdirs mostlyclean-generic \
+distclean-generic clean-generic maintainer-clean-generic clean \
+mostlyclean distclean maintainer-clean
 
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
Index: linux-atm-2.4.1/src/switch/debug/debug.c
===================================================================
--- linux-atm-2.4.1.orig/src/switch/debug/debug.c	2007-06-04 13:23:54.246487176 +0200
+++ linux-atm-2.4.1/src/switch/debug/debug.c	2007-06-04 13:23:54.506447656 +0200
@@ -43,7 +43,7 @@
 
 void fab_init(CALL *call)
 {
-    PRV(call) = alloc_t(FAB);
+    call->fab = alloc_t(FAB);
     PRV(call)->next = calls;
     calls = call;
 }
@@ -59,7 +59,7 @@
 	diag(COMPONENT,DIAG_FATAL,"fab_destroy: call %p not found",call);
     *walk = PRV(call)->next;
     free(PRV(call));
-    PRV(call) = NULL;
+    call->fab = NULL;
 }
 
 
Index: linux-atm-2.4.1/src/switch/tcp/Makefile.in
===================================================================
--- linux-atm-2.4.1.orig/src/switch/tcp/Makefile.in	2007-06-04 13:23:54.252486264 +0200
+++ linux-atm-2.4.1/src/switch/tcp/Makefile.in	2007-06-04 13:23:54.506447656 +0200
@@ -1,4 +1,4 @@
-# Makefile.in generated automatically by automake 1.4-p5 from Makefile.am
+# Makefile.in generated automatically by automake 1.4-p6 from Makefile.am
 
 # Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
@@ -90,8 +90,7 @@
 INCLUDES = -I$(top_builddir)/src/qgen
 
 sw_tcp_SOURCES = tcpsw.c
-sw_tcp_XTRAS = $(top_builddir)/src/switch/libsw.a \
-		$(top_builddir)/src/lib/libatm.la
+sw_tcp_XTRAS = $(top_builddir)/src/switch/libsw.a 		$(top_builddir)/src/lib/libatm.la
 
 sw_tcp_LDADD = $(sw_tcp_XTRAS) -lfl
 sw_tcp_DEPENDENCIES = $(sw_tcp_XTRAS)
@@ -120,8 +119,9 @@
 
 DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
 
-TAR = gtar
+TAR = tar
 GZIP_ENV = --best
+DEP_FILES =  .deps/tcpsw.P
 SOURCES = $(sw_tcp_SOURCES)
 OBJECTS = $(sw_tcp_OBJECTS)
 
@@ -129,9 +129,9 @@
 .SUFFIXES:
 .SUFFIXES: .S .c .lo .o .obj .s
 $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) 
-	cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps src/switch/tcp/Makefile
+	cd $(top_srcdir) && $(AUTOMAKE) --gnu src/switch/tcp/Makefile
 
-Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status
+Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status $(BUILT_SOURCES)
 	cd $(top_builddir) \
 	  && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
 
@@ -145,9 +145,6 @@
 
 maintainer-clean-noinstPROGRAMS:
 
-.c.o:
-	$(COMPILE) -c $<
-
 # FIXME: We should only use cygpath when building on Windows,
 # and only if it is available.
 .c.obj:
@@ -170,9 +167,6 @@
 
 maintainer-clean-compile:
 
-.c.lo:
-	$(LIBTOOL) --mode=compile $(COMPILE) -c $<
-
 .s.lo:
 	$(LIBTOOL) --mode=compile $(COMPILE) -c $<
 
@@ -211,7 +205,7 @@
 	  awk '    { files[$$0] = 1; } \
 	       END { for (i in files) print i; }'`; \
 	test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
-	  || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags  $$unique $(LISP) -o $$here/TAGS)
+	  || (cd $(srcdir) && etags -o $$here/TAGS $(ETAGS_ARGS) $$tags  $$unique $(LISP))
 
 mostlyclean-tags:
 
@@ -227,6 +221,11 @@
 subdir = src/switch/tcp
 
 distdir: $(DISTFILES)
+	here=`cd $(top_builddir) && pwd`; \
+	top_distdir=`cd $(top_distdir) && pwd`; \
+	distdir=`cd $(distdir) && pwd`; \
+	cd $(top_srcdir) \
+	  && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnu src/switch/tcp/Makefile
 	@for file in $(DISTFILES); do \
 	  d=$(srcdir); \
 	  if test -d $$d/$$file; then \
@@ -237,11 +236,38 @@
 	    || cp -p $$d/$$file $(distdir)/$$file || :; \
 	  fi; \
 	done
-tcpsw.o: tcpsw.c ../../../config.h ../../../src/include/stdint.h \
-	../../../src/include/atm.h ../../../src/include/atmd.h \
-	../../../src/qgen/uni.h ../fab.h ../proto.h \
-	../../../src/include/atmsap.h ../sig.h ../dispatch.h ../swc.h
 
+DEPS_MAGIC := $(shell mkdir .deps > /dev/null 2>&1 || :)
+
+-include $(DEP_FILES)
+
+mostlyclean-depend:
+
+clean-depend:
+
+distclean-depend:
+	-rm -rf .deps
+
+maintainer-clean-depend:
+
+%.o: %.c
+	@echo '$(COMPILE) -c $<'; \
+	$(COMPILE) -Wp,-MD,.deps/$(*F).pp -c $<
+	@-cp .deps/$(*F).pp .deps/$(*F).P; \
+	tr ' ' '\012' < .deps/$(*F).pp \
+	  | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \
+	    >> .deps/$(*F).P; \
+	rm .deps/$(*F).pp
+
+%.lo: %.c
+	@echo '$(LTCOMPILE) -c $<'; \
+	$(LTCOMPILE) -Wp,-MD,.deps/$(*F).pp -c $<
+	@-sed -e 's/^\([^:]*\)\.o[ 	]*:/\1.lo \1.o :/' \
+	  < .deps/$(*F).pp > .deps/$(*F).P; \
+	tr ' ' '\012' < .deps/$(*F).pp \
+	  | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \
+	    >> .deps/$(*F).P; \
+	rm -f .deps/$(*F).pp
 info-am:
 info: info-am
 dvi-am:
@@ -278,27 +304,27 @@
 
 maintainer-clean-generic:
 mostlyclean-am:  mostlyclean-noinstPROGRAMS mostlyclean-compile \
-		mostlyclean-libtool mostlyclean-tags \
+		mostlyclean-libtool mostlyclean-tags mostlyclean-depend \
 		mostlyclean-generic
 
 mostlyclean: mostlyclean-am
 
 clean-am:  clean-noinstPROGRAMS clean-compile clean-libtool clean-tags \
-		clean-generic mostlyclean-am
+		clean-depend clean-generic mostlyclean-am
 
 clean: clean-am
 
 distclean-am:  distclean-noinstPROGRAMS distclean-compile \
-		distclean-libtool distclean-tags distclean-generic \
-		clean-am
+		distclean-libtool distclean-tags distclean-depend \
+		distclean-generic clean-am
 	-rm -f libtool
 
 distclean: distclean-am
 
 maintainer-clean-am:  maintainer-clean-noinstPROGRAMS \
 		maintainer-clean-compile maintainer-clean-libtool \
-		maintainer-clean-tags maintainer-clean-generic \
-		distclean-am
+		maintainer-clean-tags maintainer-clean-depend \
+		maintainer-clean-generic distclean-am
 	@echo "This command is intended for maintainers to use;"
 	@echo "it deletes files that may require special tools to rebuild."
 
@@ -309,12 +335,14 @@
 mostlyclean-compile distclean-compile clean-compile \
 maintainer-clean-compile mostlyclean-libtool distclean-libtool \
 clean-libtool maintainer-clean-libtool tags mostlyclean-tags \
-distclean-tags clean-tags maintainer-clean-tags distdir info-am info \
-dvi-am dvi check check-am installcheck-am installcheck install-exec-am \
-install-exec install-data-am install-data install-am install \
-uninstall-am uninstall all-redirect all-am all installdirs \
-mostlyclean-generic distclean-generic clean-generic \
-maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+distclean-tags clean-tags maintainer-clean-tags distdir \
+mostlyclean-depend distclean-depend clean-depend \
+maintainer-clean-depend info-am info dvi-am dvi check check-am \
+installcheck-am installcheck install-exec-am install-exec \
+install-data-am install-data install-am install uninstall-am uninstall \
+all-redirect all-am all installdirs mostlyclean-generic \
+distclean-generic clean-generic maintainer-clean-generic clean \
+mostlyclean distclean maintainer-clean
 
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
Index: linux-atm-2.4.1/src/switch/tcp/tcpsw.c
===================================================================
--- linux-atm-2.4.1.orig/src/switch/tcp/tcpsw.c	2007-06-04 13:23:54.259485200 +0200
+++ linux-atm-2.4.1/src/switch/tcp/tcpsw.c	2007-06-04 13:23:54.507447504 +0200
@@ -345,7 +345,7 @@
 
 void fab_init(CALL *call)
 {
-    PRV(call) = alloc_t(FAB);
+    call->fab = alloc_t(FAB);
     PRV(call)->active = 0;
     PRV(call)->next = calls;
     calls = call;
@@ -362,7 +362,7 @@
 	diag(COMPONENT,DIAG_FATAL,"fab_destroy: call %p not found",call);
     *walk = PRV(call)->next;
     free(PRV(call));
-    PRV(call) = NULL;
+    call->fab = NULL;
 }
 
 
Index: linux-atm-2.4.1/src/config/Makefile.in
===================================================================
--- linux-atm-2.4.1.orig/src/config/Makefile.in	2007-06-04 13:23:54.264484440 +0200
+++ linux-atm-2.4.1/src/config/Makefile.in	2007-06-04 13:23:54.507447504 +0200
@@ -1,4 +1,4 @@
-# Makefile.in generated automatically by automake 1.4-p5 from Makefile.am
+# Makefile.in generated automatically by automake 1.4-p6 from Makefile.am
 
 # Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
@@ -96,14 +96,14 @@
 
 DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
 
-TAR = gtar
+TAR = tar
 GZIP_ENV = --best
 all: all-redirect
 .SUFFIXES:
 $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) 
-	cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps src/config/Makefile
+	cd $(top_srcdir) && $(AUTOMAKE) --gnu src/config/Makefile
 
-Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status
+Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status $(BUILT_SOURCES)
 	cd $(top_builddir) \
 	  && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
 
@@ -186,7 +186,7 @@
 	  awk '    { files[$$0] = 1; } \
 	       END { for (i in files) print i; }'`; \
 	test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
-	  || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags  $$unique $(LISP) -o $$here/TAGS)
+	  || (cd $(srcdir) && etags -o $$here/TAGS $(ETAGS_ARGS) $$tags  $$unique $(LISP))
 
 mostlyclean-tags:
 
@@ -202,6 +202,11 @@
 subdir = src/config
 
 distdir: $(DISTFILES)
+	here=`cd $(top_builddir) && pwd`; \
+	top_distdir=`cd $(top_distdir) && pwd`; \
+	distdir=`cd $(distdir) && pwd`; \
+	cd $(top_srcdir) \
+	  && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnu src/config/Makefile
 	@for file in $(DISTFILES); do \
 	  d=$(srcdir); \
 	  if test -d $$d/$$file; then \
Index: linux-atm-2.4.1/src/config/init-redhat/Makefile.in
===================================================================
--- linux-atm-2.4.1.orig/src/config/init-redhat/Makefile.in	2007-06-04 13:23:54.271483376 +0200
+++ linux-atm-2.4.1/src/config/init-redhat/Makefile.in	2007-06-04 13:23:54.507447504 +0200
@@ -1,4 +1,4 @@
-# Makefile.in generated automatically by automake 1.4-p5 from Makefile.am
+# Makefile.in generated automatically by automake 1.4-p6 from Makefile.am
 
 # Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
@@ -94,14 +94,14 @@
 
 DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
 
-TAR = gtar
+TAR = tar
 GZIP_ENV = --best
 all: all-redirect
 .SUFFIXES:
 $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) 
-	cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps src/config/init-redhat/Makefile
+	cd $(top_srcdir) && $(AUTOMAKE) --gnu src/config/init-redhat/Makefile
 
-Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status
+Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status $(BUILT_SOURCES)
 	cd $(top_builddir) \
 	  && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
 
@@ -114,6 +114,11 @@
 subdir = src/config/init-redhat
 
 distdir: $(DISTFILES)
+	here=`cd $(top_builddir) && pwd`; \
+	top_distdir=`cd $(top_distdir) && pwd`; \
+	distdir=`cd $(distdir) && pwd`; \
+	cd $(top_srcdir) \
+	  && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnu src/config/init-redhat/Makefile
 	@for file in $(DISTFILES); do \
 	  d=$(srcdir); \
 	  if test -d $$d/$$file; then \
Index: linux-atm-2.4.1/src/extra/Makefile.in
===================================================================
--- linux-atm-2.4.1.orig/src/extra/Makefile.in	2007-06-04 13:23:54.277482464 +0200
+++ linux-atm-2.4.1/src/extra/Makefile.in	2007-06-04 13:23:54.508447352 +0200
@@ -1,4 +1,4 @@
-# Makefile.in generated automatically by automake 1.4-p5 from Makefile.am
+# Makefile.in generated automatically by automake 1.4-p6 from Makefile.am
 
 # Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
@@ -96,14 +96,14 @@
 
 DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
 
-TAR = gtar
+TAR = tar
 GZIP_ENV = --best
 all: all-redirect
 .SUFFIXES:
 $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) 
-	cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps src/extra/Makefile
+	cd $(top_srcdir) && $(AUTOMAKE) --gnu src/extra/Makefile
 
-Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status
+Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status $(BUILT_SOURCES)
 	cd $(top_builddir) \
 	  && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
 
@@ -188,7 +188,7 @@
 	  awk '    { files[$$0] = 1; } \
 	       END { for (i in files) print i; }'`; \
 	test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
-	  || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags  $$unique $(LISP) -o $$here/TAGS)
+	  || (cd $(srcdir) && etags -o $$here/TAGS $(ETAGS_ARGS) $$tags  $$unique $(LISP))
 
 mostlyclean-tags:
 
@@ -204,6 +204,11 @@
 subdir = src/extra
 
 distdir: $(DISTFILES)
+	here=`cd $(top_builddir) && pwd`; \
+	top_distdir=`cd $(top_distdir) && pwd`; \
+	distdir=`cd $(distdir) && pwd`; \
+	cd $(top_srcdir) \
+	  && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnu src/extra/Makefile
 	@for file in $(DISTFILES); do \
 	  d=$(srcdir); \
 	  if test -d $$d/$$file; then \
Index: linux-atm-2.4.1/src/extra/ANS/Makefile.in
===================================================================
--- linux-atm-2.4.1.orig/src/extra/ANS/Makefile.in	2007-06-04 13:23:54.285481248 +0200
+++ linux-atm-2.4.1/src/extra/ANS/Makefile.in	2007-06-04 13:23:54.508447352 +0200
@@ -1,4 +1,4 @@
-# Makefile.in generated automatically by automake 1.4-p5 from Makefile.am
+# Makefile.in generated automatically by automake 1.4-p6 from Makefile.am
 
 # Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
@@ -94,14 +94,14 @@
 
 DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
 
-TAR = gtar
+TAR = tar
 GZIP_ENV = --best
 all: all-redirect
 .SUFFIXES:
 $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) 
-	cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps src/extra/ANS/Makefile
+	cd $(top_srcdir) && $(AUTOMAKE) --gnu src/extra/ANS/Makefile
 
-Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status
+Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status $(BUILT_SOURCES)
 	cd $(top_builddir) \
 	  && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
 
@@ -114,6 +114,11 @@
 subdir = src/extra/ANS
 
 distdir: $(DISTFILES)
+	here=`cd $(top_builddir) && pwd`; \
+	top_distdir=`cd $(top_distdir) && pwd`; \
+	distdir=`cd $(distdir) && pwd`; \
+	cd $(top_srcdir) \
+	  && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnu src/extra/ANS/Makefile
 	@for file in $(DISTFILES); do \
 	  d=$(srcdir); \
 	  if test -d $$d/$$file; then \
Index: linux-atm-2.4.1/doc/Makefile.in
===================================================================
--- linux-atm-2.4.1.orig/doc/Makefile.in	2007-06-04 13:23:54.291480336 +0200
+++ linux-atm-2.4.1/doc/Makefile.in	2007-06-04 13:23:54.509447200 +0200
@@ -1,4 +1,4 @@
-# Makefile.in generated automatically by automake 1.4-p5 from Makefile.am
+# Makefile.in generated automatically by automake 1.4-p6 from Makefile.am
 
 # Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
@@ -96,14 +96,14 @@
 
 DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
 
-TAR = gtar
+TAR = tar
 GZIP_ENV = --best
 all: all-redirect
 .SUFFIXES:
 $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) 
-	cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps doc/Makefile
+	cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/Makefile
 
-Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status
+Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status $(BUILT_SOURCES)
 	cd $(top_builddir) \
 	  && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
 
@@ -116,6 +116,11 @@
 subdir = doc
 
 distdir: $(DISTFILES)
+	here=`cd $(top_builddir) && pwd`; \
+	top_distdir=`cd $(top_distdir) && pwd`; \
+	distdir=`cd $(distdir) && pwd`; \
+	cd $(top_srcdir) \
+	  && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnu doc/Makefile
 	@for file in $(DISTFILES); do \
 	  d=$(srcdir); \
 	  if test -d $$d/$$file; then \
Index: linux-atm-2.4.1/debian/patches/00list
===================================================================
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
+++ linux-atm-2.4.1/debian/patches/00list	2007-06-04 13:23:54.509447200 +0200
@@ -0,0 +1 @@
+10_atmbr2684.h
Index: linux-atm-2.4.1/debian/patches/10_atmbr2684.h.dpatch
===================================================================
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
+++ linux-atm-2.4.1/debian/patches/10_atmbr2684.h.dpatch	2007-06-04 13:23:54.510447048 +0200
@@ -0,0 +1,598 @@
+#! /bin/sh -e
+## 01_kernel-header.dpatch by  <bengen+debian@hilluzination.de>
+##
+## All lines beginning with ## DP:' are a description of the patch.
+## DP: add header file atmbr2684.h
+
+if [ -e /usr/include/linux/atmbr2684.h ]; then exit 0; fi
+
+if [ $# -ne 1 ]; then
+    echo "basename $0: script expects -patch|-unpatch as argument" >&2
+    exit 1
+fi
+case "$1" in
+    -patch) patch -f --no-backup-if-mismatch -p1 < $0;;
+    -unpatch) patch -f --no-backup-if-mismatch -E -R -p1 < $0;;
+    *)
+        echo "basename $0: script expects -patch|-unpatch as argument" >&2
+        exit 1;;
+esac
+
+exit 0
+@DPATCH@
+
+--- linux-atm.orig/src/include/linux/atmbr2684.h
++++ linux-atm/src/include/linux/atmbr2684.h
+@@ -0,0 +1,101 @@
++#ifndef _LINUX_ATMBR2684_H
++#define _LINUX_ATMBR2684_H
++
++#include <linux/atm.h>
++#include <linux/if.h>		/* For IFNAMSIZ */
++
++/*
++ * Type of media we're bridging (ethernet, token ring, etc)  Currently only
++ * ethernet is supported
++ */
++#define BR2684_MEDIA_ETHERNET	(0)	/* 802.3 */
++#define BR2684_MEDIA_802_4	(1)	/* 802.4 */
++#define BR2684_MEDIA_TR		(2)	/* 802.5 - token ring */
++#define BR2684_MEDIA_FDDI	(3)
++#define BR2684_MEDIA_802_6	(4)	/* 802.6 */
++
++/*
++ * Is there FCS inbound on this VC?  This currently isn't supported.
++ */
++#define BR2684_FCSIN_NO		(0)
++#define BR2684_FCSIN_IGNORE	(1)
++#define BR2684_FCSIN_VERIFY	(2)
++
++/*
++ * Is there FCS outbound on this VC?  This currently isn't supported.
++ */
++#define BR2684_FCSOUT_NO	(0)
++#define BR2684_FCSOUT_SENDZERO	(1)
++#define BR2684_FCSOUT_GENERATE	(2)
++
++/*
++ * Does this VC include LLC encapsulation?
++ */
++#define BR2684_ENCAPS_VC	(0)	/* VC-mux */
++#define BR2684_ENCAPS_LLC	(1)
++#define BR2684_ENCAPS_AUTODETECT (2)	/* Unsuported */
++
++/*
++ * This is for the ATM_NEWBACKENDIF call - these are like socket families:
++ * the first element of the structure is the backend number and the rest
++ * is per-backend specific
++ */
++struct atm_newif_br2684 {
++	atm_backend_t	backend_num;	/* ATM_BACKEND_BR2684 */
++	int		media;		/* BR2684_MEDIA_* */
++	char		ifname[IFNAMSIZ];
++	int		mtu;
++};
++
++/*
++ * This structure is used to specify a br2684 interface - either by a
++ * positive integer (returned by ATM_NEWBACKENDIF) or the interfaces name
++ */
++#define BR2684_FIND_BYNOTHING	(0)
++#define BR2684_FIND_BYNUM	(1)
++#define BR2684_FIND_BYIFNAME	(2)
++struct br2684_if_spec {
++	int method;			/* BR2684_FIND_* */
++	union {
++		char		ifname[IFNAMSIZ];
++		int		devnum;
++	} spec;
++};
++
++/*
++ * This is for the ATM_SETBACKEND call - these are like socket families:
++ * the first element of the structure is the backend number and the rest
++ * is per-backend specific
++ */
++struct atm_backend_br2684 {
++	atm_backend_t	backend_num;	/* ATM_BACKEND_BR2684 */
++	struct br2684_if_spec ifspec;
++	int	fcs_in;		/* BR2684_FCSIN_* */
++	int	fcs_out;	/* BR2684_FCSOUT_* */
++	int	fcs_auto;	/* 1: fcs_{in,out} disabled if no FCS rx'ed */
++	int	encaps;		/* BR2684_ENCAPS_* */
++	int	has_vpiid;	/* 1: use vpn_id - Unsupported */
++	__u8	vpn_id[7];
++	int	send_padding;	/* unsupported */
++	int	min_size;	/* we will pad smaller packets than this */
++};
++
++/*
++ * The BR2684_SETFILT ioctl is an experimental mechanism for folks
++ * terminating a large number of IP-only vcc's.  When netfilter allows
++ * efficient per-if in/out filters, this support will be removed
++ */
++struct br2684_filter {
++	__u32	prefix;		/* network byte order */
++	__u32	netmask;	/* 0 = disable filter */
++};
++
++struct br2684_filter_set {
++	struct br2684_if_spec ifspec;
++	struct br2684_filter filter;
++};
++
++#define BR2684_SETFILT	_IOW( 'a', ATMIOC_BACKEND + 0, \
++				struct br2684_filter_set)
++
++#endif /* _LINUX_ATMBR2684_H */
+--- linux-atm.orig/src/include/linux/atmdev.h
++++ linux-atm/src/include/linux/atmdev.h
+@@ -0,0 +1,468 @@
++/* atmdev.h - ATM device driver declarations and various related items */
++ 
++/* Written 1995-2000 by Werner Almesberger, EPFL LRC/ICA */
++ 
++
++#ifndef LINUX_ATMDEV_H
++#define LINUX_ATMDEV_H
++
++
++#include <linux/config.h>
++#include <linux/atmapi.h>
++#include <linux/atm.h>
++#include <linux/atmioc.h>
++
++
++#define ESI_LEN		6
++
++#define ATM_OC3_PCR	(155520000/270*260/8/53)
++			/* OC3 link rate:  155520000 bps
++			   SONET overhead: /270*260 (9 section, 1 path)
++			   bits per cell:  /8/53
++			   max cell rate:  353207.547 cells/sec */
++#define ATM_25_PCR	((25600000/8-8000)/54)
++			/* 25 Mbps ATM cell rate (59111) */
++#define ATM_OC12_PCR	(622080000/1080*1040/8/53)
++			/* OC12 link rate: 622080000 bps
++			   SONET overhead: /1080*1040
++			   bits per cell:  /8/53
++			   max cell rate:  1412830.188 cells/sec */
++#define ATM_DS3_PCR	(8000*12)
++			/* DS3: 12 cells in a 125 usec time slot */
++
++#define ATM_SD(s)	((s)->sk->protinfo.af_atm)
++
++
++#define __AAL_STAT_ITEMS \
++    __HANDLE_ITEM(tx);			/* TX okay */ \
++    __HANDLE_ITEM(tx_err);		/* TX errors */ \
++    __HANDLE_ITEM(rx);			/* RX okay */ \
++    __HANDLE_ITEM(rx_err);		/* RX errors */ \
++    __HANDLE_ITEM(rx_drop);		/* RX out of memory */
++
++struct atm_aal_stats {
++#define __HANDLE_ITEM(i) int i
++	__AAL_STAT_ITEMS
++#undef __HANDLE_ITEM
++};
++
++
++struct atm_dev_stats {
++	struct atm_aal_stats aal0;
++	struct atm_aal_stats aal34;
++	struct atm_aal_stats aal5;
++} __ATM_API_ALIGN;
++
++
++#define ATM_GETLINKRATE	_IOW('a',ATMIOC_ITF+1,struct atmif_sioc)
++					/* get link rate */
++#define ATM_GETNAMES	_IOW('a',ATMIOC_ITF+3,struct atm_iobuf)
++					/* get interface names (numbers) */
++#define ATM_GETTYPE	_IOW('a',ATMIOC_ITF+4,struct atmif_sioc)
++					/* get interface type name */
++#define ATM_GETESI	_IOW('a',ATMIOC_ITF+5,struct atmif_sioc)
++					/* get interface ESI */
++#define ATM_GETADDR	_IOW('a',ATMIOC_ITF+6,struct atmif_sioc)
++					/* get itf's local ATM addr. list */
++#define ATM_RSTADDR	_IOW('a',ATMIOC_ITF+7,struct atmif_sioc)
++					/* reset itf's ATM address list */
++#define ATM_ADDADDR	_IOW('a',ATMIOC_ITF+8,struct atmif_sioc)
++					/* add a local ATM address */
++#define ATM_DELADDR	_IOW('a',ATMIOC_ITF+9,struct atmif_sioc)
++					/* remove a local ATM address */
++#define ATM_GETCIRANGE	_IOW('a',ATMIOC_ITF+10,struct atmif_sioc)
++					/* get connection identifier range */
++#define ATM_SETCIRANGE	_IOW('a',ATMIOC_ITF+11,struct atmif_sioc)
++					/* set connection identifier range */
++#define ATM_SETESI	_IOW('a',ATMIOC_ITF+12,struct atmif_sioc)
++					/* set interface ESI */
++#define ATM_SETESIF	_IOW('a',ATMIOC_ITF+13,struct atmif_sioc)
++					/* force interface ESI */
++#define ATM_GETSTAT	_IOW('a',ATMIOC_SARCOM+0,struct atmif_sioc)
++					/* get AAL layer statistics */
++#define ATM_GETSTATZ	_IOW('a',ATMIOC_SARCOM+1,struct atmif_sioc)
++					/* get AAL layer statistics and zero */
++#define ATM_GETLOOP	_IOW('a',ATMIOC_SARCOM+2,struct atmif_sioc)
++					/* get loopback mode */
++#define ATM_SETLOOP	_IOW('a',ATMIOC_SARCOM+3,struct atmif_sioc)
++					/* set loopback mode */
++#define ATM_QUERYLOOP	_IOW('a',ATMIOC_SARCOM+4,struct atmif_sioc)
++					/* query supported loopback modes */
++#define ATM_SETSC	_IOW('a',ATMIOC_SPECIAL+1,int)
++					/* enable or disable single-copy */
++#define ATM_SETBACKEND	_IOW('a',ATMIOC_SPECIAL+2,atm_backend_t)
++					/* set backend handler */
++#define ATM_NEWBACKENDIF _IOW('a',ATMIOC_SPECIAL+3,atm_backend_t)
++					/* use backend to make new if */
++
++/*
++ * These are backend handkers that can be set via the ATM_SETBACKEND call
++ * above.  In the future we may support dynamic loading of these - for now,
++ * they're just being used to share the ATMIOC_BACKEND ioctls
++ */
++#define ATM_BACKEND_RAW		0	
++#define ATM_BACKEND_PPP		1	/* PPPoATM - RFC2364 */
++#define ATM_BACKEND_BR2684	2	/* Bridged RFC1483/2684 */
++
++/* for ATM_GETTYPE */
++#define ATM_ITFTYP_LEN	8	/* maximum length of interface type name */
++
++/*
++ * Loopback modes for ATM_{PHY,SAR}_{GET,SET}LOOP
++ */
++
++/* Point of loopback				CPU-->SAR-->PHY-->line--> ... */
++#define __ATM_LM_NONE	0	/* no loop back     ^     ^     ^      ^      */
++#define __ATM_LM_AAL	1	/* loop back PDUs --'     |     |      |      */
++#define __ATM_LM_ATM	2	/* loop back ATM cells ---'     |      |      */
++/* RESERVED		4	loop back on PHY side  ---'		      */
++#define __ATM_LM_PHY	8	/* loop back bits (digital) ----'      |      */
++#define __ATM_LM_ANALOG 16	/* loop back the analog signal --------'      */
++
++/* Direction of loopback */
++#define __ATM_LM_MKLOC(n)	((n))	    /* Local (i.e. loop TX to RX) */
++#define __ATM_LM_MKRMT(n)	((n) << 8)  /* Remote (i.e. loop RX to TX) */
++
++#define __ATM_LM_XTLOC(n)	((n) & 0xff)
++#define __ATM_LM_XTRMT(n)	(((n) >> 8) & 0xff)
++
++#define ATM_LM_NONE	0	/* no loopback */
++
++#define ATM_LM_LOC_AAL	__ATM_LM_MKLOC(__ATM_LM_AAL)
++#define ATM_LM_LOC_ATM	__ATM_LM_MKLOC(__ATM_LM_ATM)
++#define ATM_LM_LOC_PHY	__ATM_LM_MKLOC(__ATM_LM_PHY)
++#define ATM_LM_LOC_ANALOG __ATM_LM_MKLOC(__ATM_LM_ANALOG)
++
++#define ATM_LM_RMT_AAL	__ATM_LM_MKRMT(__ATM_LM_AAL)
++#define ATM_LM_RMT_ATM	__ATM_LM_MKRMT(__ATM_LM_ATM)
++#define ATM_LM_RMT_PHY	__ATM_LM_MKRMT(__ATM_LM_PHY)
++#define ATM_LM_RMT_ANALOG __ATM_LM_MKRMT(__ATM_LM_ANALOG)
++
++/*
++ * Note: ATM_LM_LOC_* and ATM_LM_RMT_* can be combined, provided that
++ * __ATM_LM_XTLOC(x) <= __ATM_LM_XTRMT(x)
++ */
++
++
++struct atm_iobuf {
++	int length;
++	void *buffer;
++};
++
++/* for ATM_GETCIRANGE / ATM_SETCIRANGE */
++
++#define ATM_CI_MAX      -1              /* use maximum range of VPI/VCI */
++ 
++struct atm_cirange {
++	char	vpi_bits;		/* 1..8, ATM_CI_MAX (-1) for maximum */
++	char	vci_bits;		/* 1..16, ATM_CI_MAX (-1) for maximum */
++};
++
++/* for ATM_SETSC; actually taken from the ATM_VF number space */
++
++#define ATM_SC_RX	1024		/* enable RX single-copy */
++#define ATM_SC_TX	2048		/* enable TX single-copy */
++
++#define ATM_BACKLOG_DEFAULT 32 /* if we get more, we're likely to time out
++				  anyway */
++
++/* MF: change_qos (Modify) flags */
++
++#define ATM_MF_IMMED	 1	/* Block until change is effective */
++#define ATM_MF_INC_RSV	 2	/* Change reservation on increase */
++#define ATM_MF_INC_SHP	 4	/* Change shaping on increase */
++#define ATM_MF_DEC_RSV	 8	/* Change reservation on decrease */
++#define ATM_MF_DEC_SHP	16	/* Change shaping on decrease */
++#define ATM_MF_BWD	32	/* Set the backward direction parameters */
++
++#define ATM_MF_SET	(ATM_MF_INC_RSV | ATM_MF_INC_SHP | ATM_MF_DEC_RSV | \
++			  ATM_MF_DEC_SHP | ATM_MF_BWD)
++
++/*
++ * ATM_VS_* are used to express VC state in a human-friendly way.
++ */
++
++#define ATM_VS_IDLE	0	/* VC is not used */
++#define ATM_VS_CONNECTED 1	/* VC is connected */
++#define ATM_VS_CLOSING	2	/* VC is closing */
++#define ATM_VS_LISTEN	3	/* VC is listening for incoming setups */
++#define ATM_VS_INUSE	4	/* VC is in use (registered with atmsigd) */
++#define ATM_VS_BOUND	5	/* VC is bound */
++
++#define ATM_VS2TXT_MAP \
++    "IDLE", "CONNECTED", "CLOSING", "LISTEN", "INUSE", "BOUND"
++
++#define ATM_VF2TXT_MAP \
++    "ADDR",	"READY",	"PARTIAL",	"REGIS", \
++    "RELEASED", "HASQOS",	"LISTEN",	"META", \
++    "256",	"512",		"1024",		"2048", \
++    "SESSION",	"HASSAP",	"BOUND",	"CLOSE"
++
++
++#ifndef __KERNEL__
++#undef __AAL_STAT_ITEMS
++#else
++
++#include <linux/sched.h> /* wait_queue_head_t */
++#include <linux/time.h> /* struct timeval */
++#include <linux/net.h>
++#include <linux/skbuff.h> /* struct sk_buff */
++#include <linux/uio.h>
++#include <net/sock.h>
++#include <asm/atomic.h>
++
++#ifdef CONFIG_PROC_FS
++#include <linux/proc_fs.h>
++#endif
++
++
++struct k_atm_aal_stats {
++#define __HANDLE_ITEM(i) atomic_t i
++	__AAL_STAT_ITEMS
++#undef __HANDLE_ITEM
++};
++
++
++struct k_atm_dev_stats {
++	struct k_atm_aal_stats aal0;
++	struct k_atm_aal_stats aal34;
++	struct k_atm_aal_stats aal5;
++};
++
++
++enum {
++	ATM_VF_ADDR,		/* Address is in use. Set by anybody, cleared
++				   by device driver. */
++	ATM_VF_READY,		/* VC is ready to transfer data. Set by device
++				   driver, cleared by anybody. */
++	ATM_VF_PARTIAL,		/* resources are bound to PVC (partial PVC
++				   setup), controlled by socket layer */
++	ATM_VF_REGIS,		/* registered with demon, controlled by SVC
++				   socket layer */
++	ATM_VF_BOUND,		/* local SAP is set, controlled by SVC socket
++				   layer */
++	ATM_VF_RELEASED,	/* demon has indicated/requested release,
++				   controlled by SVC socket layer */
++	ATM_VF_HASQOS,		/* QOS parameters have been set */
++	ATM_VF_LISTEN,		/* socket is used for listening */
++	ATM_VF_META,		/* SVC socket isn't used for normal data
++				   traffic and doesn't depend on signaling
++				   to be available */
++	ATM_VF_SESSION,		/* VCC is p2mp session control descriptor */
++	ATM_VF_HASSAP,		/* SAP has been set */
++	ATM_VF_CLOSE,		/* asynchronous close - treat like VF_RELEASED*/
++};
++
++
++#define ATM_VF2VS(flags) \
++    (test_bit(ATM_VF_READY,&(flags)) ? ATM_VS_CONNECTED : \
++     test_bit(ATM_VF_RELEASED,&(flags)) ? ATM_VS_CLOSING : \
++     test_bit(ATM_VF_LISTEN,&(flags)) ? ATM_VS_LISTEN : \
++     test_bit(ATM_VF_REGIS,&(flags)) ? ATM_VS_INUSE : \
++     test_bit(ATM_VF_BOUND,&(flags)) ? ATM_VS_BOUND : ATM_VS_IDLE)
++
++
++enum {
++	ATM_DF_CLOSE,		/* close device when last VCC is closed */
++};
++
++
++#define ATM_PHY_SIG_LOST    0	/* no carrier/light */
++#define ATM_PHY_SIG_UNKNOWN 1	/* carrier/light status is unknown */
++#define ATM_PHY_SIG_FOUND   2	/* carrier/light okay */
++
++#define ATM_ATMOPT_CLP	1	/* set CLP bit */
++
++
++typedef struct { unsigned long bits; } atm_vcc_flags_t;
++
++
++struct atm_vcc {
++	atm_vcc_flags_t flags;		/* VCC flags (ATM_VF_*) */
++	short		vpi;		/* VPI and VCI (types must be equal */
++					/* with sockaddr) */
++	int 		vci;
++	unsigned long	aal_options;	/* AAL layer options */
++	unsigned long	atm_options;	/* ATM layer options */
++	struct atm_dev	*dev;		/* device back pointer */
++	struct atm_qos	qos;		/* QOS */
++	struct atm_sap	sap;		/* SAP */
++	void (*push)(struct atm_vcc *vcc,struct sk_buff *skb);
++	void (*pop)(struct atm_vcc *vcc,struct sk_buff *skb); /* optional */
++	int (*push_oam)(struct atm_vcc *vcc,void *cell);
++	int (*send)(struct atm_vcc *vcc,struct sk_buff *skb);
++	void		*dev_data;	/* per-device data */
++	void		*proto_data;	/* per-protocol data */
++	struct k_atm_aal_stats *stats;	/* pointer to AAL stats group */
++	wait_queue_head_t sleep;	/* if socket is busy */
++	struct sock	*sk;		/* socket backpointer */
++	struct atm_vcc	*prev,*next;
++	/* SVC part --- may move later ------------------------------------- */
++	short		itf;		/* interface number */
++	struct sockaddr_atmsvc local;
++	struct sockaddr_atmsvc remote;
++	void (*callback)(struct atm_vcc *vcc);
++	struct sk_buff_head listenq;
++	int		backlog_quota;	/* number of connection requests we */
++					/* can still accept */
++	int		reply;		/* also used by ATMTCP */
++	/* Multipoint part ------------------------------------------------- */
++	struct atm_vcc	*session;	/* session VCC descriptor */
++	/* Other stuff ----------------------------------------------------- */
++	void		*user_back;	/* user backlink - not touched by */
++					/* native ATM stack. Currently used */
++					/* by CLIP and sch_atm. */
++};
++
++
++struct atm_dev_addr {
++	struct sockaddr_atmsvc addr;	/* ATM address */
++	struct atm_dev_addr *next;	/* next address */
++};
++
++
++typedef struct { unsigned int bits; } atm_dev_flags_t;
++
++
++struct atm_dev {
++	const struct atmdev_ops *ops;	/* device operations; NULL if unused */
++	const struct atmphy_ops *phy;	/* PHY operations, may be undefined */
++					/* (NULL) */
++	const char	*type;		/* device type name */
++	int		number;		/* device index */
++	struct atm_vcc	*vccs;		/* VCC table (or NULL) */
++	struct atm_vcc	*last;		/* last VCC (or undefined) */
++	void		*dev_data;	/* per-device data */
++	void		*phy_data;	/* private PHY date */
++	atm_dev_flags_t flags;		/* device flags (ATM_DF_*) */
++	struct atm_dev_addr *local;	/* local ATM addresses */
++	unsigned char	esi[ESI_LEN];	/* ESI ("MAC" addr) */
++	struct atm_cirange ci_range;	/* VPI/VCI range */
++	struct k_atm_dev_stats stats;	/* statistics */
++	char		signal;		/* signal status (ATM_PHY_SIG_*) */
++	int		link_rate;	/* link rate (default: OC3) */
++	atomic_t	refcnt;		/* reference count */
++	spinlock_t	lock;		/* protect internal members */
++#ifdef CONFIG_PROC_FS
++	struct proc_dir_entry *proc_entry; /* proc entry */
++	char *proc_name;		/* proc entry name */
++#endif
++	struct list_head dev_list;	/* linkage */
++};
++
++
++/*
++ * ioctl, getsockopt, setsockopt, and sg_send are optional and can be set to
++ * NULL. */
++
++/* OF: send_Oam Flags */
++
++#define ATM_OF_IMMED	1	/* Attempt immediate delivery */
++#define ATM_OF_INRATE	2	/* Attempt in-rate delivery */
++
++struct atmdev_ops { /* only send is required */
++	void (*dev_close)(struct atm_dev *dev);
++	int (*open)(struct atm_vcc *vcc,short vpi,int vci);
++	void (*close)(struct atm_vcc *vcc);
++	int (*ioctl)(struct atm_dev *dev,unsigned int cmd,void *arg);
++	int (*getsockopt)(struct atm_vcc *vcc,int level,int optname,
++	    void *optval,int optlen);
++	int (*setsockopt)(struct atm_vcc *vcc,int level,int optname,
++	    void *optval,int optlen);
++	int (*send)(struct atm_vcc *vcc,struct sk_buff *skb);
++	int (*sg_send)(struct atm_vcc *vcc,unsigned long start,
++	    unsigned long size);
++#if 0 /* keep the current hack for now */
++	int (*send_iovec)(struct atm_vcc *vcc,struct iovec *iov,int size,
++	    void (*discard)(struct atm_vcc *vcc,void *user),void *user);
++#endif
++	int (*send_oam)(struct atm_vcc *vcc,void *cell,int flags);
++	void (*phy_put)(struct atm_dev *dev,unsigned char value,
++	    unsigned long addr);
++	unsigned char (*phy_get)(struct atm_dev *dev,unsigned long addr);
++	void (*feedback)(struct atm_vcc *vcc,struct sk_buff *skb,
++	    unsigned long start,unsigned long dest,int len);
++	int (*change_qos)(struct atm_vcc *vcc,struct atm_qos *qos,int flags);
++	int (*proc_read)(struct atm_dev *dev,loff_t *pos,char *page);
++	struct module *owner;
++};
++
++
++struct atmphy_ops {
++	int (*start)(struct atm_dev *dev);
++	int (*ioctl)(struct atm_dev *dev,unsigned int cmd,void *arg);
++	void (*interrupt)(struct atm_dev *dev);
++	int (*stop)(struct atm_dev *dev);
++};
++
++struct atm_skb_data {
++	struct atm_vcc	*vcc;		/* ATM VCC */
++	unsigned long	atm_options;	/* ATM layer options */
++};
++
++#define ATM_SKB(skb) (((struct atm_skb_data *) (skb)->cb))
++
++struct atm_dev *atm_dev_register(const char *type,const struct atmdev_ops *ops,
++    int number,atm_dev_flags_t *flags); /* number == -1: pick first available */
++struct atm_dev *atm_dev_lookup(int number);
++void atm_dev_deregister(struct atm_dev *dev);
++void shutdown_atm_dev(struct atm_dev *dev);
++void bind_vcc(struct atm_vcc *vcc,struct atm_dev *dev);
++
++
++/*
++ * This is approximately the algorithm used by alloc_skb.
++ *
++ */
++
++static inline int atm_guess_pdu2truesize(int pdu_size)
++{
++	return ((pdu_size+15) & ~15) + sizeof(struct sk_buff);
++}
++
++
++static inline void atm_force_charge(struct atm_vcc *vcc,int truesize)
++{
++	atomic_add(truesize, &vcc->sk->rmem_alloc);
++}
++
++
++static inline void atm_return(struct atm_vcc *vcc,int truesize)
++{
++	atomic_sub(truesize, &vcc->sk->rmem_alloc);
++}
++
++
++static inline int atm_may_send(struct atm_vcc *vcc,unsigned int size)
++{
++	return (size + atomic_read(&vcc->sk->wmem_alloc)) < vcc->sk->sndbuf;
++}
++
++
++static inline void atm_dev_hold(struct atm_dev *dev)
++{
++	atomic_inc(&dev->refcnt);
++}
++
++
++static inline void atm_dev_release(struct atm_dev *dev)
++{
++	atomic_dec(&dev->refcnt);
++
++	if ((atomic_read(&dev->refcnt) == 1) &&
++	    test_bit(ATM_DF_CLOSE,&dev->flags))
++		shutdown_atm_dev(dev);
++}
++
++
++int atm_charge(struct atm_vcc *vcc,int truesize);
++struct sk_buff *atm_alloc_charge(struct atm_vcc *vcc,int pdu_size,
++    int gfp_flags);
++int atm_find_ci(struct atm_vcc *vcc,short *vpi,int *vci);
++int atm_pcr_goal(struct atm_trafprm *tp);
++
++void atm_async_release_vcc(struct atm_vcc *vcc,int reply);
++
++#endif /* __KERNEL__ */
++
++#endif
Index: linux-atm-2.4.1/debian/control
===================================================================
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
+++ linux-atm-2.4.1/debian/control	2007-06-04 13:23:54.510447048 +0200
@@ -0,0 +1,57 @@
+Source: linux-atm
+Section: net
+Priority: optional
+Maintainer: Peter De Schrijver (p2) <p2@mind.be>
+Build-Depends: debhelper (>> 4.0.0), bison, flex, perl, dpatch, automake1.4
+Standards-Version: 3.6.1
+
+Package: atm-tools
+Architecture: any
+Depends: ${shlibs:Depends}
+Description: Base programs for ATM in Linux, the net-tools for ATM
+ This package provides all the basic programs needed for setting up,
+ monitoring and tuning ATM networks. Such as:
+  * atmsigd, an ATM signal daemon that implements the ATM UNI protocol.
+  * atmtcp, a tool to setup ATM over TCP connections.
+  * atmarpd, an implementation of the ATMARP protocol (RFC1577, RFC1755)
+  * zeppelin, an ATM LAN Emulation client daemon
+  * les and bus, ATM LAN Emulation service daemons
+ .
+ Notice that upstream still flags these tools as experimental software and
+ says that there is still a number of known bugs and issues. The
+ software is, however, in productive use at a number of sites and is
+  working reliably.
+ .
+ Homepage: http://linux-atm.sourceforge.net/
+
+Package: atm-dev
+Depends: libatm1-dev
+Architecture: all
+Section: oldlibs
+Description: Development files for compiling ATM programs (dummy package) 
+ This dummy package provides a transition from the previous atm packages.
+ It is provided for backwards compatibility only and may be removedafter 
+ the upgrade has completed or when when no other package depend on it.
+ 
+Package: libatm1
+Section: libs
+Architecture: any
+Depends: ${shlibs:Depends}
+Conflicts: atm-tools (<< 2.4.1-6)
+Description: shared library for ATM (Asynchronous Transfer Mode)
+ Shared libraries needed by ATM (Asynchronous Transfer Mode) related programs
+ .
+ Homepage: http://linux-atm.sourceforge.net/
+
+Package: libatm1-dev
+Section: libdevel
+Architecture: any
+Depends: libc6-dev, libatm1
+Replaces: atm-dev (<< 2.4.1-7)
+Conflicts: atm-dev (<< 2.4.1-7)
+Provides: libatm-dev
+Description: Development files for compiling ATM programs
+ Header files and development libraries for compiling ATM (Asynchronous 
+ Transfer Mode) related programs.
+ .
+ Homepage: http://linux-atm.sourceforge.net/
Index: linux-atm-2.4.1/debian/rules
===================================================================
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
+++ linux-atm-2.4.1/debian/rules	2007-06-04 13:23:54.510447048 +0200
@@ -0,0 +1,136 @@
+#!/usr/bin/make -f
+# Sample debian/rules that uses debhelper.
+# GNU copyright 1997 to 1999 by Joey Hess.
+
+# Uncomment this to turn on verbose mode.
+#export DH_VERBOSE=1
+
+# This is the debhelper compatability version to use.
+export DH_COMPAT=4
+
+export PACKAGE=linux-atm
+
+buildindeppackages=atm-dev
+buildarchpackages=atm-tools libatm1 libatm1-dev
+
+# generate -ppackage1 -ppackage2 ... commandline for debhelper
+dhbuildarchpackages=$(addprefix -p,$(buildarchpackages))
+dhbuildindeppackages=$(addprefix -p,$(buildindeppackages))
+
+include /usr/share/dpatch/dpatch.make
+
+configure: configure-stamp
+configure-stamp:
+	dh_testdir
+	./configure --prefix /usr --mandir /usr/share/man --sysconfdir /etc
+	touch configure-stamp
+
+build: configure-stamp build-stamp
+build-stamp: patch-stamp
+	dh_testdir
+
+	# Add here commands to compile the package.
+	$(MAKE) $(EXTRA_VARS)
+	cat debian/copyright.header COPYING > debian/copyright
+
+	touch build-stamp
+
+clean: clean1 unpatch
+clean1:
+	dh_testdir
+	dh_testroot
+	rm -f build-stamp configure-stamp
+
+	# Add here commands to clean up after the build process.
+	-$(MAKE) distclean
+
+	dh_clean
+	rm -rf debian/atm-tools.8 debian/copyright
+
+install: build
+	dh_testdir
+	dh_testroot
+	dh_clean -k
+	dh_installdirs
+
+	# Add here commands to install the package into debian/atm-tools
+	$(MAKE) DESTDIR=`pwd`/debian/tmp install
+
+        # manpages
+	/usr/bin/pod2man --section=8 --release="atm-tools $(PKG_VER)" --lax \
+	--center="Debian GNU/Linux" debian/atm-tools.pod > debian/atm-tools.8
+
+	ln -s atm-tools.8 debian/tmp/usr/share/man/man8/aread.8
+	ln -s atm-tools.8 debian/tmp/usr/share/man/man8/awrite.8
+	ln -s atm-tools.8 debian/tmp/usr/share/man/man8/enitune.8
+	ln -s atm-tools.8 debian/tmp/usr/share/man/man8/ilmid.8
+	ln -s atm-tools.8 debian/tmp/usr/share/man/man8/saaldump.8
+	ln -s atm-tools.8 debian/tmp/usr/share/man/man8/sonetdiag.8
+	ln -s atm-tools.8 debian/tmp/usr/share/man/man8/ttcp_atm.8
+	ln -s atm-tools.8 debian/tmp/usr/share/man/man8/zntune.8
+
+# Build architecture-independent files here.
+binary-indep: build install
+	dh_testdir $(dhbuildindeppackages)
+	dh_testroot $(dhbuildindeppackages)
+	dh_install $(dhbuildindeppackages)
+
+#	dh_installdebconf $(dhbuildindeppackages)
+	dh_installdocs $(dhbuildindeppackages)
+	dh_installmenu $(dhbuildindeppackages)
+#	dh_installlogrotate $(dhbuildindeppackages)
+#	dh_installemacsen $(dhbuildindeppackages)
+#	dh_installpam $(dhbuildindeppackages)
+#	dh_installmime $(dhbuildindeppackages)
+	dh_installinit  $(dhbuildindeppackages) --init-script=atm -- start 34 0 6 . start 39 S .
+	dh_installcron $(dhbuildindeppackages)
+	dh_installman $(dhbuildindeppackages)
+	dh_installinfo $(dhbuildindeppackages)
+#	dh_undocumented $(dhbuildindeppackages)
+	dh_installchangelogs -i ChangeLog $(dhbuildpackages)
+	dh_link $(dhbuildindeppackages)
+	dh_strip $(dhbuildindeppackages)
+	dh_compress $(dhbuildindeppackages)
+	dh_fixperms $(dhbuildindeppackages)
+	dh_makeshlibs $(dhbuildindeppackages)
+	dh_installdeb $(dhbuildindeppackages)
+#	dh_perl $(dhbuildindeppackages)
+	dh_shlibdeps  $(dhbuildindeppackages)
+	dh_gencontrol $(dhbuildindeppackages)
+	dh_md5sums $(dhbuildindeppackages)
+	dh_builddeb $(dhbuildindeppackages)
+
+# Build architecture-dependent files here.
+binary-arch: build install
+	dh_testdir $(dhbuildarchpackages)
+	dh_testroot $(dhbuildarchpackages)
+	dh_install $(dhbuildarchpackages)
+
+#	dh_installdebconf $(dhbuildarchpackages)
+	dh_installdocs $(dhbuildarchpackages)
+	dh_installmenu $(dhbuildarchpackages)
+#	dh_installlogrotate $(dhbuildarchpackages)
+#	dh_installemacsen $(dhbuildarchpackages)
+#	dh_installpam $(dhbuildarchpackages)
+#	dh_installmime $(dhbuildarchpackages)
+	dh_installinit $(dhbuildarchpackages) --init-script=atm -- start 34 0 6 . start 39 S .
+	dh_installcron $(dhbuildarchpackages)
+	dh_installman $(dhbuildarchpackages)
+	dh_installinfo $(dhbuildarchpackages)
+#	dh_undocumented $(dhbuildarchpackages)
+	dh_installchangelogs -a ChangeLog $(dhbuildarchpackages)
+	dh_link $(dhbuildarchpackages)
+	dh_strip $(dhbuildarchpackages)
+	dh_compress $(dhbuildarchpackages)
+	dh_fixperms $(dhbuildarchpackages)
+	dh_makeshlibs $(dhbuildarchpackages)
+	dh_installdeb $(dhbuildarchpackages)
+#	dh_perl $(dhbuildarchpackages)
+	dh_shlibdeps  -a -L libatm1 -l debian/libatm1/lib $(dhbuildarchpackages)
+	dh_gencontrol $(dhbuildarchpackages)
+	dh_md5sums $(dhbuildarchpackages)
+	dh_builddeb $(dhbuildarchpackages)
+
+binary: binary-indep binary-arch
+.PHONY: build binary-indep binary-arch binary install configure
+	get-2684 patch unpatch clean1
Index: linux-atm-2.4.1/debian/atm-tools-br2684.install
===================================================================
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
+++ linux-atm-2.4.1/debian/atm-tools-br2684.install	2007-06-04 13:23:54.510447048 +0200
@@ -0,0 +1 @@
+debian/tmp/usr/sbin/br2684ctl usr/sbin
Index: linux-atm-2.4.1/debian/atm-tools-br2684/usr/share/doc/atm-tools-br2684/changelog.Debian
===================================================================
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
+++ linux-atm-2.4.1/debian/atm-tools-br2684/usr/share/doc/atm-tools-br2684/changelog.Debian	2007-06-04 13:23:54.511446896 +0200
@@ -0,0 +1,206 @@
+linux-atm (2.4.1-16) unstable; urgency=low
+
+  * Fix build problem with gcc 3.4 (Closes: #259422)
+
+ -- Peter De Schrijver (p2) <p2@mind.be>  Thu, 15 Jul 2004 14:28:10 +0200
+
+linux-atm (2.4.1-15) unstable; urgency=low
+
+  * Updated descriptions (Closes: #239161)
+
+ -- Peter De Schrijver (p2) <p2@mind.be>  Sun,  4 Apr 2004 21:10:20 +0200
+
+linux-atm (2.4.1-14) unstable; urgency=low
+
+  * Fix symlink for /usr/lib/libatm.so (Closes: #221011)
+
+ -- Peter De Schrijver (p2) <p2@mind.be>  Sun,  7 Dec 2003 21:53:19 +0100
+
+linux-atm (2.4.1-13) unstable; urgency=low
+
+  * Previous version fixed #217259, but no changelog entry (Closes: #217259)
+  * Previous version fixed #216662, but no changelog entry (Closes: #216662)
+  * Added missing build dependency on automake1.4 (Closes: #221120, #221284)
+  * New Maintainer (Closes: #206982)
+
+ -- Peter De Schrijver (p2) <p2@mind.be>  Mon, 17 Nov 2003 23:03:58 +0100
+
+linux-atm (2.4.1-12) unstable; urgency=low
+
+  * don't build atm-tools-br2684 by default. Thanks to ftpmaster for
+    not allowing the package to be in Debian.
+  * Since we don't build atm-tools-br2684 any more, revert back to
+    autotools output from 2.4.1-9
+  * Add README.br2684 documenting a way to build the package locally.
+
+ -- Marc Haber <mh+debian-packages@zugschlus.de>  Wed,  5 Nov 2003 21:31:42 +0000
+
+linux-atm (2.4.1-11) experimental; urgency=low
+
+  * Build-Depend on dpatch
+  * dpatch br2684 header files from later libc for old libc (woody)
+
+ -- Marc Haber <mh+debian-packages@zugschlus.de>  Wed, 29 Oct 2003 19:05:07 +0000
+
+linux-atm (2.4.1-10) experimental; urgency=low
+
+  * add br2684 to package      		  		 (closes: #216663)
+  * autoreconf to actually build br2684
+  * have libatm1-dev provide libatm-dev			 (closes: #216662)
+  * move lib symlink to libatm1-dev as well 		 (closes: #217259)
+
+ -- Marc Haber <mh+debian-packages@zugschlus.de>  Thu, 23 Oct 2003 17:55:43 +0000
+
+linux-atm (2.4.1-9) unstable; urgency=low
+
+  * put libatm1-dev in libdevel		 		 (closes: #213170)
+  * make sure that new descriptions actually make it into the package
+
+ -- Marc Haber <mh+debian-packages@zugschlus.de>  Thu,  9 Oct 2003 17:08:10 +0000
+
+linux-atm (2.4.1-8) unstable; urgency=low
+
+  * build arch-indep package as targets of binary-indep  (closes: #212124)
+  * use dh_installdocs to install files to libatm1-dev/docs
+  * symlink shared lib to usr/bin                        (closes: #213146)
+  * Use better long descriptions. Thanks to Javier       (closes: #209427)
+    Fernandez-Sanguino		  	    		 (closes: #209612)
+
+ -- Marc Haber <mh+debian-packages@zugschlus.de>  Sun, 28 Sep 2003 19:29:08 +0000
+
+linux-atm (2.4.1-7) unstable; urgency=low
+
+  * libatm1 now conflicts with atm-tools (<< 2.4.1-6) (closes: #208170)
+  * armarp now writes output to stdout.
+  * add atm-dev as empty transitional package to help upgrades
+
+ -- Marc Haber <mh+debian-packages@zugschlus.de>  Tue,  2 Sep 2003 09:20:33 +0000
+
+linux-atm (2.4.1-6) unstable; urgency=low
+
+  * split off shared libraries to libatm1
+  * rename atm-dev to libatm1-dev
+  * Standards-Version: 3.6.1
+
+ -- Marc Haber <mh+debian-packages@zugschlus.de>  Tue, 26 Aug 2003 15:46:27 +0000
+
+linux-atm (2.4.1-5) unstable; urgency=low
+
+  * move *.a and *.la to usr/lib (closes: #199506).
+  * let atm-dev depend on atm-tools to avoid dangling /lib/libatm.so
+    symlink.
+  * Standards-Version: 3.5.6
+
+ -- Marc Haber <mh+debian-packages@zugschlus.de>  Wed, 30 Jul 2003 11:46:19 +0000
+
+linux-atm (2.4.1-4) unstable; urgency=low
+
+  * add Build-Depends: on automake1.4
+
+ -- Marc Haber <mh+debian-packages@zugschlus.de>  Wed, 11 Jun 2003 16:58:21 +0000
+
+linux-atm (2.4.1-3) unstable; urgency=low
+
+  * rebuilding libtool broke src/test/Makefile.in. Applied fix to
+    Makefile.am and re-built again.
+
+ -- Marc Haber <mh+debian-packages@zugschlus.de>  Wed, 11 Jun 2003 11:05:26 +0000
+
+linux-atm (2.4.1-2) unstable; urgency=low
+
+  * rebuild configure script with new libtool (closes: #196909)
+
+ -- Marc Haber <mh+debian-packages@zugschlus.de>  Tue, 10 Jun 2003 21:01:50 +0000
+
+linux-atm (2.4.1-1) unstable; urgency=low
+
+  * new upstream source
+  * remove atmarp and atmarpd from /usr/sbin as they are already in
+    /sbin (closes: #196216)
+  * lintian fixes
+
+ -- Marc Haber <mh+debian-packages@zugschlus.de>  Mon,  9 Jun 2003 16:03:45 +0000
+
+linux-atm (2.4.0-5) unstable; urgency=low
+
+  * Fix for src/test/Makefile.in to allow building on hppa and ia64
+    which the fix introduced to 2.4.0-4 broke. Thanks to Goswin
+    Brederlow.
+  * Move init.d priority to that atmarpd is started before network
+    interfaces are started.
+  * Move atmarpd and libatm to /sbin and /lib to allow atmarpd to be
+    started before /usr is mounted.
+  * use dh_install instead of dh_movefiles.
+
+ -- Marc Haber <mh+debian-packages@zugschlus.de>  Sat, 24 Aug 2002 15:13:48 +0000
+
+linux-atm (2.4.0-4) unstable; urgency=low
+
+  * new maintainer
+  * Fix for src/test/Makefile.in to allow building on sparc.
+    Thanks to Patrick Mauritz. (closes: #144225).
+  * added pseudo-manpage for manpage-less binaries.
+  * removed rpath by changing configure and make install paramaters
+
+ -- Marc Haber <mh+debian-packages@zugschlus.de>  Fri, 16 Aug 2002 20:39:05 +0000
+
+linux-atm (2.4.0-3) unstable; urgency=HIGH
+
+  * Re-ran libtoolize.
+    Closes: #143522
+
+  * Previous version Closes: #135328
+
+ -- Russell Coker <russell@coker.com.au>  Fri, 19 Apr 2002 01:55:00 +0200
+
+linux-atm (2.4.0-2) unstable; urgency=HIGH
+
+  * Put a "grep -v EMAXERRNO" into the build process to deal with mipsel and
+    the "#ifdef __KERNEL__" it has in it's /usr/include/asm/errno.h .
+
+ -- Russell Coker <russell@coker.com.au>  Thu, 18 Apr 2002 19:56:00 +0200
+
+linux-atm (2.4.0-1) unstable; urgency=HIGH
+
+  * New upstream version which changes source package name.
+    Closes: #138911
+
+ -- Russell Coker <russell@coker.com.au>  Mon, 18 Mar 2002 17:42:00 +0100
+
+atm (0.79-4) unstable; urgency=low
+
+  * Added build-depends on flex.
+    Closes: #111072
+
+  * Made the atm tools use a shared object to save space.
+
+  * Fixed the copyright file and put all copyright details in both packages.
+
+  * Added support for easy building with different kernel headers.
+    Closes: #110249
+
+ -- Russell Coker <russell@coker.com.au>  Sun,  7 Oct 2001 14:11:33 +0200
+
+atm (0.79-3) unstable; urgency=low
+
+  * Created /etc/init.d/atm to start and stop atmarpd.
+    Closes: #110252
+
+  * Added build-depends on bison.
+    Closes: #110576
+
+ -- Russell Coker <russell@coker.com.au>  Fri, 31 Aug 2001 15:21:44 +0200
+
+atm (0.79-2) unstable; urgency=low
+
+  * Changed the main package name to atm-tools to indicate that it doesn't
+    provide ATM (gotta have the kernel support), it just has the daemons and
+    utilities.
+
+ -- Russell Coker <russell@coker.com.au>  Sat, 25 Aug 2001 17:55:00 +0200
+
+atm (0.79-1) unstable; urgency=low
+
+  * Initial Release.
+
+ -- Russell Coker <russell@coker.com.au>  Fri, 24 Aug 2001 17:31:00 +0200
Index: linux-atm-2.4.1/debian/atm-tools-br2684/usr/share/doc/atm-tools-br2684/changelog
===================================================================
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
+++ linux-atm-2.4.1/debian/atm-tools-br2684/usr/share/doc/atm-tools-br2684/changelog	2007-06-04 13:23:54.514446440 +0200
@@ -0,0 +1,3299 @@
+Version 2.4.0 to 2.4.1 (25-APR-2003)
+=====================
+
+Bug fixes
+---------
+
+ - vsprintf's changed to vsnprintf's to prevent possible stack overflows
+
+
+Version 0.79 to 2.4.0 (18-OCT-2001)
+=====================
+
+Bug fixes
+---------
+
+ - defined 'now' in src/lib/timer.c
+ - ia64 build fix for ASN (Chas Williams)
+
+Other changes
+-------------
+
+ - In general, the source tree was rearranged and the old cruft was removed
+ - Old ad hoc build system replaced in favor of a standardized autoconfiscation
+ - Build configuration options are now controlled by 'configure' script instead
+   of changes to the previous 'Rules.make' file
+ - libatm and libatmd merged into one lib: libatm
+ - Both static and shared libraries are built by default.  Binaries now built
+   with shared library by default.
+ - Sample atmsigd.conf and hosts.atm are now installed when doing 'make install'
+ - RPM spec file is now available in src/extra/
+ - New RedHat init scripts available in src/config/init-redhat/ (John Strange)
+   (old RedHat 4.0 scripts removed)
+ - ATM on Linux HOWTO now included in doc/ (much derived from usage.tex).  We
+   will publish this on the home page as well as linuxdoc.org
+ - tcpdump and libpcap ATM patches/build removed (they have been integrated into
+   their respective packages; see www.tcpdump.org)
+ - ATM Name Service (ANS) files coalesced into src/extra/ANS
+ - ANS bind patch upgraded to bind-4.9.8 (untested)
+ - rtf2e164_cc.pl removed in favor of src/extra/ANS/pdf2e164_cc.pl.  The ITU no
+   longer provides E.164 country codes in RTF format.  PDF used instead.
+
+
+Version 0.78 to 0.79 (15-AUG-2001)
+====================
+
+Bug fixes
+---------
+
+- uni.c fix for newer versions of gcc
+- mpoad/io.c quick fix for undefined OPEN_MAX
+
+
+Version 0.77 to 0.78 (7-JUL-2000)
+====================
+
+Bug fixes
+---------
+
+ - skb_migrate wasn't protected against functions accessing the list via
+   skb->list
+ - removal of MOD_xxx races in FORE 200E and atmtcp (by Jeff Garzik)
+ - CONFIG_ATM_NICSTAR_USE_IDT77105 set NEED_SUNI_MX instead of
+   NEED_IDT77105_MX (fix from mainstream)
+ - ambassador.c: changed string concatenation and offset calculation breaking
+   compilation with gcc 2.96 (by Jakub Jelinek)
+ - nicstar.c: various locking fixes for SMP (by Rui Prior)
+ - LANE vs. bridging build conflict solved (from mainstream)
+ - %%u instead of %u in mpc.c
+ - fixed formatting of /proc/net/atm/svc
+ - /proc/net/atm/clip always added + after public address, not only if followed
+   by private address
+ - atmsigd now returns EINVAL if attempting to change max_sdu
+ - atm_change_qos now calls adjust_to for additional parameter checking
+ - sendmsg now returns error if size > max_sdu (reported by Alan Kennington)
+ - removed explicit defaults in Config.in (by Christoph Hellwig)
+ - Fore200E: removed #ifdef MODULE
+ - ipcommon.c didn't export skb_migrate to modules (by Mitchell Blank)
+ - ENI: /proc/net/atm/eni:* claimed backlog was in bytes instead of packets
+ - br, bw, window: changed variables receiving possibly negative return values
+   from size_t to ssize_t (reported by Alan Kennington)
+ - LANE: fixed stray errors on lack of ATM address, ATM address change, or ESI
+   change (by Heikki Vatiainen)
+ - LANE: could loop forwever when trying to connect to LECS (by Heikki
+   Vatiainen)
+
+New features
+------------
+
+ - upgraded to the 2.4.0-test3-pre4 kernel
+
+Other changes
+-------------
+
+ - as_reject now returns the errno value in msg->reply
+ - removed save_qos hack in svc_change_qos
+ - atmsigd: sap_encode now always includes both max_sdu fields, even if one
+   contains the null value for some reason (by Mohsen Souissi)
+ - PCI updates for Ambassador, FORE 200E, Horizon, Iphase, nicstar, ENI, and
+   ZATM (by Jeff Garzik)
+ - removal of unnecessary #ifdef MODULE for nicstar, idt77105, and FORE 200E
+   (by Jeff Garzik)
+ - generalized skb_migrate to append to an arbitrary sk_buff list
+ - iphase.c: timer initialization cleanup (from mainstream)
+ - clip: dev->name initialization change (from mainstream)
+ - idt77105: cleaned up timer initialization
+ - clip.c: some general cleanup
+ - removed redundant return in clip.c (by Heikki Vatiainen)
+ - changed atm_change_qos to static
+ - fore200e.c: re-enabled anti-unloading code
+ - lec.c: now drops packets on overrun instead of growing infinite queue (by
+   Heikki Vatiainen)
+ - COPYING still mentioned the old led code with partial DEC copyright
+   (reported by Chris Pimlott)
+ - Horizon: removed const warning by casting to (hrz_flags *)
+ - Iphase: tried to print unsigned long with %x when errors are enabled
+ - ENI: eni_send tries to use do_tx instead of tasklet_schedule to reduce delay
+ - ENI: removed eni_dev->backlog_len (information is already in backlog->qlen)
+ - changed the kernel source tree references from .gz to .bz2 compression
+ - changed mkdiff to allow more flexible selection of additional patch
+
+
+Version 0.76 to 0.77 (29-APR-2000)
+====================
+
+Bug fixes
+---------
+
+ - atmaddr.8, atmarp.8, atmdump.8, atmloop.8, esi.8 didn't print all options
+   in bold
+ - atmsigd crashed if an interface had more than one local ATM address
+ - atmarpd continued to use VCs after closing if they were closed because
+   ATMARP_SETENTRY failed (reported by Joseph Gooch)
+
+New features
+------------
+
+ - upgraded to the 2.3.99-pre6 kernel
+
+Other changes
+-------------
+
+ - CLIP now uses NETDEV_GOING_DOWN instead of NETDEV_DOWN; also avoids
+   "clip_device_event: unknown event 9" warning
+ - added ubr:pcr example to qos(7)
+ - added -V option to atmaddr, atmarp, atmarpd, atmloop, atmsigd, atmtcp, esi,
+   ilmid
+ - sock->sk->sleep now points to vcc->sleep (by Alexander Viro)
+ - CLIP: ATMARP server now reponds to query for local IP address (suggested by
+   Joseph Gooch)
+ - updated t2a.pl
+
+
+Version 0.75 to 0.76 (13-APR-2000)
+====================
+
+Bug fixes
+---------
+
+ - ttcp_atm declared port as "short" instead of "unsigned short", yielding
+   confusing diagnostic output
+
+New features
+------------
+
+ - upgraded to the 2.3.99-pre5 kernel
+
+Other changes
+-------------
+
+ - eliminated eni_send-tasklet synchronization
+ - PCA200: merged unconditional #inclusion of linux/pci.h from pre5
+
+
+Version 0.74 to 0.75 (7-APR-2000)
+====================
+
+Bug fixes
+---------
+
+ - ENI: moved send operation into tasklet to correct synchronization (reported
+   by Heikki Vatiainen)
+ - MPOA: possible deadlock fix (by Heikki Vatiainen)
+ - atm_vcc_flags_t was too small on PPC, causing an overlap with vcc->family
+   (fixed by Chas Williams)
+ - CLIP: needs spin_lock_irqsave instead of only spin_lock (by Rui Prior)
+ - CLIP: clip_push may be called from an interrupt, so the kfree_skb has to
+   become dev_kfree_skb_any (by Heikki Vatiainen)
+
+Other changes
+-------------
+
+ - removed INCLUDES from atm/ilmid/asn1/Makefile (suggested by Jean Marc
+   Lacroix)
+ - atm/maint/Makefile no longer special-cases atmdiag.c (suggested by Jean Marc
+   Lacroix)
+
+
+Version 0.73 to 0.74 (2-APR-2000)
+====================
+
+Bug fixes
+---------
+
+ - atm_poll tried to sleep on two wait queues, which is no longer possible.
+   Removed vcc->wsleep to solve this. (Reported by Joseph Gooch)
+ - lec.c:lec_arp_clear_vccs changed the VCC flags of the wrong VCC, fortunately
+   only in commented-out code
+ - major revision of MPOA ingress and egress cache locking (Heikki Vatiainen)
+
+Other changes
+-------------
+
+ - removed last remnants of bogus bridging lock from lane_mpoa_init.c
+   (reported by Heikki Vatiainen)
+ - removed last traces of TNET1570A driver
+ - atmdev_init still knew about ENI, but ENI now uses new-style initialization
+ - improved Fore 200E configuration to catch useless settings already at
+   configuration time (by Christophe Lizzi)
+
+
+Version 0.72 to 0.73 (29-MAR-2000)
+====================
+
+Bug fixes
+---------
+
+ - ambassador.c and horizon.c had module loading races (fixed by Giuliano
+   Procida)
+ - fore200e: one set_bit was accidently converted to clear_bit, preventing VCs
+   from being opened (fixed by Christophe Lizzi)
+
+Other changes
+-------------
+
+ - fore200e: moved interrupt handler work to tasklet (by Christophe Lizzi)
+ - fore200e: fixed SBUS DMA direction flags (by Christophe Lizzi)
+ - fore200e: the compile no longer fails when the driver is compiled without
+   any hardware support (and displays a warning; by Christophe Lizzi)
+ - oops, atm/README was lagging behind a few versions
+
+
+Version 0.71 to 0.72 (25-MAR-2000)
+====================
+
+Bug fixes
+---------
+
+ - fore200e.h and lec.h didn't #include <linux/config.h> (fixed by David S.
+   Miller ?)
+ - atmloop.c always assumed -q to be present
+
+New features
+------------
+
+ - upgraded to the 2.3.99-pre3 kernel
+
+Other changes
+-------------
+
+ - kernel patch still included wd.c hack (reported by David S. Miller)
+ - removed bogus initialization of skb->rx_dev (spotted by Alexey Kuznetsov)
+ - removed bogus lane_bridge_hook_lock (by Heikki Vatiainen)
+ - added sparc64 support for ATM_QUERYLOOP (by Christophe Lizzi)
+ - minor Fore driver cleanup (by Christophe Lizzi)
+ - eni.c: moved interrupt handler work to tasklet
+
+
+Version 0.70 to 0.71 (21-MAR-2000)
+====================
+
+Bug fixes
+---------
+
+ - eni.c: fixed potential SMP deadlock on tx_wait
+ - clip.c and lec.c didn't initialize skb->rx_dev
+ - net/atm/svc.c:svc_connect left wait entry in queue on return in some cases
+ - idiot bug in skb_migrate caused weird crashes
+ - atmloop usage erroneously claimed -s was optional
+
+New features
+------------
+
+ - upgraded to the 2.3.99-pre2 kernel
+ - added atmloop.8 man page
+ - added enqueuing result NET_XMIT_BYPASS for qdiscs that send packets on a
+   path without dequeue (e.g. sch_atm)
+
+Other changes
+-------------
+
+ - ambassador.c: removed warnings when compiling with CONFIG_SMP (by Giuliano
+   Procida)
+ - changed drivers/atm target from atm.a to atm.o, to make initcalls work
+ - converted eni.c to use pci_register_driver and initcall
+ - cleaned up #ifdef hell in net/atm/signaling.c:sigd_put_skb
+
+
+Version 0.69 to 0.70 (20-MAR-2000)
+====================
+
+Bug fixes
+---------
+
+ - LEC compilation as a module still left it in the kernel
+
+Other changes
+-------------
+
+ - moved LANE-bridging interface code from lec.c to lane_mpoa_init.c (by
+   Heikki Vatiainen)
+ - made SONET and ATM statistics counters atomic to avoid cli() when reading
+   (not updated: similar mechanism in idt77105.c and private shadow statistics
+   of ambassador.c)
+ - changed access to VCC and device flags (ATM_VF_* and ATM_DF_*) to bit set
+   operations
+ - changed flag types to structs to fail compilation of old code
+ - changed last argument of atm_dev_register to a pointer to a bit set for
+   easier migration
+ - net/atm/*.c: eliminated all sleep_on and cli (except in lec.c)
+ - ditto for eni.c and suni.c
+ - corrected indentation of some "permanent" debugging code in zatm.c
+ - made skb_migrate partially atomic, obsoleting yet another cli() in clip.c
+
+
+Version 0.68 to 0.69 (19-MAR-2000)
+====================
+
+Bug fixes
+---------
+
+ - ambassador.c: corrected location of initial PLX window for use on Alpha (by
+   Giuliano Procida)
+ - zeppelin: fixed address initialization (found by Christophe Lizzi)
+ - atmsigd.conf man page erroneously described the option "q.2963.1" as
+   "q2963_1"
+ - LANE didn't compile when bridging was enabled (fixed by Heikki Vatiainen;
+   note that bridging also needs an update which is being merged via the
+   mainstream kernel)
+
+New features
+------------
+
+ - atmsigd: added command-line option -u to set the UNI mode
+ - added ioctl ATM_QUERYLOOP to determine supported loopback modes
+ - added atmloop(8) option -q
+
+Other changes
+-------------
+
+ - added CREDITS entry of Giuliano Procida
+ - various cosmetic changes to horizon.c (by Giuliano Procida)
+ - ambassador.c: various bits of cleanup (by Giuliano Procida)
+ - added -S <tos> option to ttcp_atm to set the IPv4 TOS byte (this is not
+   really related to ATM)
+ - changed loopback mode values to a bit set
+ - idt77105_ioctl: returned sizeof(int) instead of 0 on ATM_GETLOOP
+ - added phy_ops->stop to suni.c and uPD98402_stop, cleaned up suni.c in the
+   process
+ - removed (very obsolete) mmuio.o from net/atm/Makefile
+
+
+Version 0.67 to 0.68 (28-FEB-2000)
+====================
+
+Bug fixes
+---------
+
+ - removed potential dev_kfree_skb(NULL) from *_send of eni.c, zatm.c, iphase.c
+ - eni.c, zatm.c, iphase.c sometimes returned PCI error codes instead of errno
+   codes
+ - arpd/io.c could try to de-reference entry->addr with addr == NULL (fixed by
+   Thomas Dietz)
+ - LANE copied more than dev->addr_len address bytes (fixed by Heikki
+   Vatiainen)
+ - sch_atm didn't remove filters on destroy
+ - fixed typo in esi.c error message
+ - esi.8 claimed to be the man page of atmarp, and it wasn't installed
+ - added checking for VPI/VCI when sending AAL0 cells (by Mitchell Blank)
+ - atmtcp allowed sending on receive-only VCs
+ - various ioctl permission checks were missing (fixed by Mitchell Blank)
+ - fore200e.c and horizon.c didn't always free skbs on send error (fixed by
+   Mitchell Blank)
+ - included an ugly hack to fix the wd.c driver that was broken around 2.3.47
+   (not related to ATM at all...)
+
+New features
+------------
+
+ - upgraded to the 2.3.48 kernel
+ - added device-independent SAR/PHY loopback setting interface (with many good
+   ideas from Greg Banks and Mitchell Blank), and removed old loopback ioctls
+ - new utility atmloop to set loopback mode
+ - added "stop" to atmphy_ops (requested by Mitchell Blank)
+
+Other changes
+-------------
+
+ - mkdiff can now also use pre-release kernels
+ - changed *kfree_skb to dev_kfree_skb_{irq,any} in eni.c, zatm.c, and raw.c,
+   where necessary (with help from Heikki Vatiainen)
+ - changed {dev_,}kfree_skb to dev_kfree_skb_any in ambassador.c, horizon.c,
+   iphase.c, and nicstar.c (needs further cleanup)
+ - softnet updates for LANE (by Heikki Vatiainen)
+ - fixed firmeware license of Fore 200E driver and general 0.46/0.47 updates
+   (Christophe Lizzi)
+ - more CREDITS file additions
+ - softnet updates for sch_atm
+ - softnet updates for CLIP (also cleaned up flow control for > 1 VCC/itf;
+   reported by Alexey Kuznetsov)
+ - updated documentation for iproute2-2.2.4-now-ss000225 and streamlined the
+   build procedure
+ - PCI DMA updates for ENI driver
+ - changed the default install location of executables and man pages from
+   /usr/local to /usr
+ - make install no longer installs align, aping, br, bw, delay, isp, svctor,
+   sw_debug, sw_tcp, swc, and window
+ - eni.c: made highly controversial aal5 = ... line more readable
+ - moved /proc/atm to /proc/net/atm
+ - added vcc->send function to allow for AAL-specific processing (may be set
+   to dev->ops->send)
+ - atm_do_connect_dev now calls bind_vcc before AAL initialization to make
+   vcc->dev available
+ - change_qos no longer allows changing of AAL or traffic class (by Mitchell
+   Blank)
+ - changes for new loopback support to fore200e driver and sparc64 code (by
+   Christophe Lizzi)
+
+
+Version 0.66 to 0.67 (2-FEB-2000)
+====================
+
+New features
+------------
+
+ - upgraded to 2.3.42
+ - added sunimode utility to set SUNI loopback mode (by Christophe Lizzi)
+
+Other changes
+-------------
+
+ - removed unused variable warning in net/sched/sch_atm.c
+ - changed ENI_SETMULT from ATMIOC_SARPRV+1 to ATMIOC_SARPRV+7
+ - changed atmarpd's complaint about VCC-less non-ATMARP-server entries from
+   DIAG_ERROR to DIAG_INFO (the condition is okay for an ATMARP server)
+
+
+Version 0.65 to 0.66 (31-JAN-2000)
+====================
+
+Bug fixes
+---------
+
+ - atmsigd crashed on reception of as_accept, etc., because of inverted NULL
+   pointer test (reported by Kevin Vargo, Rui Prior, fixed by Julian Cable)
+ - fixed various SPARC build problems (by Christophe Lizzi)
+ - atmsigd insisted that calling party number is local in switch mode
+ - debug switch didn't initialize any ports
+ - net/atm/signaling.c:sigd_enq didn't properly zero the message, yielding
+   kernel pointers partially containing junk
+ - accept(2) didn't copy local ATM address to VCC descriptor (reported by
+   Pedro Brandao)
+ - ilmid/io.c didn't compile on SPARC (reported by Christophe Lizzi)
+ - usage.txt didn't define the %: macro, leaving garbage in usage.txt
+
+New features
+------------
+
+ - upgraded to 2.3.41
+ - Fore 200E driver now also works for SBA-200E (by Christophe Lizzi)
+
+Other changes
+-------------
+
+ - added various CREDITS entries
+ - changed TIOC{IN,OUT}Q to SIOC{IN,OUT}Q (no user space rebuild required;
+   the values are identical)
+ - added script atm/switch/tcp/mkfiles for automatic extraction of
+   configuration files
+ - atmsigd called ATM_GETLINKRATE "ATM_GETLINERATE" in complaints
+ - atmsigd tried to obtain link speed in switch mode, although it's not used
+ - Ambassador NIC: various files still had the wrong copyright/licensing text
+   (patch by Giuliano Procida)
+
+
+Version 0.64 to 0.65 (21-JAN-2000)
+====================
+
+Bug fixes
+---------
+
+ - fixed 32/64 bit %p formatting problem in /proc/atm/vc
+ - atmtcp: fixed RX/TX statistics (by Jens Axboe) 
+ - sparc64-specific ioctl 32/64 bit marshalling fixes (by Christophe Lizzi,
+   with further improvements by Jens Axboe)
+ - zeppelin -l option handling (reported by Mike Prudence, fixed by Heikki
+   Vatiainen)
+ - mkpatch didn't include drivers/atm/eni.h
+ - updated eni.h (tx->backlog_len was missing)
+ - fixed various uint32_t build problems of user space tools by including
+   atm.h before anything other ATM headers (first reported by Rashmi Dravid)
+ - "natmtcp virtual" didn't parse the command line properly
+ - natmtcp's TCP link changed VPI/VCI to 0.0 on close
+ - CLIP: fixed crash after sending ARP (reported by Rui Prior)
+
+New features
+------------
+
+ - upgraded to 2.3.40 (with help from Jens Axboe)
+ - added sparc64 changes for ENI driver (by Heikki Vatiainen)
+ - added the Fore PCA-200E(/SBA-200E) driver (by Uwe Dannowski and Christophe
+   Lizzi)
+ - added the Interphase ATM PCI (i)Chip (x575, x525, x531, etc.) driver (by
+   Monalisa Agrawal and Peter Wang)
+ - added ABR fields to struct atm_trafprm (by Peter Wang)
+ - nicstar driver now supports setting of the CLP bit (by Rui Prior)
+ - added ENI_SETMULT ioctl and enitune utility to change ENI buffer size
+   multipliers at run time
+
+Other changes
+-------------
+
+ - atmsigd: changed default UNI version from 3.0 to dynamic (which defaults
+   to 3.0)
+ - atmtcp: removed ugly ../../net/atm/protocols.h include 
+ - ioctls now internally return -ENOIOCTLCMD if ioctl command number is not
+   recognized
+ - removed ATM_CREATE_LEAF ioctl (wasn't used and suggested the wrong design
+   approach anyway)
+ - updated README.DRIVERS
+ - natmtcp now uses port 2812 (assigned by IANA)
+ - moved Documentation/atm.txt to Documentation/networking
+ - improved atm_kptr_int_t for non-Sparc architectures (by Christophe Lizzi)
+ - removed two compiler warnings from nicstar.c
+ - some minor nicstar cleanup (by Rui Prior)
+ - added "vbr" and "abr" to text2qos/qos2text ("vbr" not used for anything
+   right now)
+ - natmtcp: added commands "create", "remove", "switch", corresponding to
+   options -p, -r, and -s of atmtcp
+ - natmtcp: added link type "print" (write PDU content to stdout)
+ - natmtcp: now uses atm_kptr_int_t for VCC kernel pointer instead of unsigned
+   long
+ - added apologetic man page for natmtcp
+ - renamed natmtcp to atmtcp and removed the old atmtcp
+ - changed some user-space code to avoid patronizing "ambiguous `else'"
+   warnings from egcs, adding as few ugly redundant curly braces as possible
+ - fixed some other compiler warnings
+ - kernel part: trimmed operations structure initializers which consisted
+   mainly of NULL pointers
+ - kernel pointers sent as opaque references to user space are now of type
+   atm_kptr_t. Added support functions kptr_eq and kptr_print. (With help from
+   Richard Johnson and Mitchell Blank)
+ - removed various "overriding commands" warnings in user-space build process
+ - mkdist now creates arcvie in current directory if ~/l/arch doesn't exist
+ - make clean && make  now works also if dependencies are present (make clean
+   used to remove sigd/q.out.h, which the dependencies required)
+ - atmtcp uses command bg instead of -b for backgrounding. Also, listen-bg
+   listens and backgrounds before calling accept.
+
+
+Version 0.63 to 0.64 (1-DEC-1999)
+====================
+
+Bug fixes
+---------
+
+ - atmapi.h logic was still wrong (fixed by Christophe Lizzi)
+ - LANE: fixed BUS filtering and net/atm/lec.c cleanup (by Heikki Vatiainen)
+ - arpd/io.c assumed that diag() preserves errno
+ - atmarpd didn't include QOS in output if getsockopt failed
+
+New features
+------------
+
+ - /proc/atm/eni:* now also shows transmit queue and backlog length
+ - added option "sndbuf" to atmarp
+ - added option "sndbuf" to tc ... atm ...
+ - /proc/atm/vc lists internal details for all VCs (flags, buffers, etc.);
+   added ATM_VF2TXT_MAP to atmdev.h to allow translation of flag values
+
+Other changes
+-------------
+
+ - ATM now uses sk->sndbuf/rvcbuf instead of atm_vcc->tx_quota/rx_quota
+ - removed rx_quota hack from zatm.c
+ - removed net/atm/tunable.h
+ - CLIP and sch_atm now only send packets if the VC's send queue allows them to
+ - implemented correct "requeue" function in sch_atm 
+ - updated zeppelin(8) man page (Heikki Vatiainen)
+ - atmarp:  atmarp -q qos_spec  usage is obsolete; use atmarp -q qos qos_spec
+   instead
+ - /proc/atm/svc now prints "N/A@xxxxxxxx" instead of "Unassigned", with the
+   address of the descriptor in xxxxxxxx
+ - removed all traces of CONFIG_MMU_HACKS
+ - obsoleted ATM_SETSC (single-copy control)
+
+
+Version 0.62 to 0.63 (22-NOV-1999)
+====================
+
+Bug fixes
+---------
+
+ - horizon.c: cleared weird rate_lock/rates_lock patch conflict
+ - saaldump output formatting was completely wrecked; added option -q for
+   "quiet" output (no Q.2931 printing)
+ - fixed LANE Ethernet interface MTU mapping (patch by Rob Scott)
+ - atmsigd incorrectly rejected CONNECTION AVAILABLE (Q.2963.1)
+ - SVC address was wrong in /proc/atm/arp if using private and public part
+ - RESTART ACKNOWLEDGE was not sent with the correct global call reference
+   value (reported by Peter Ryan)
+ - zatm: usec timestamps need 64 division of x86, so this option must be
+   unavailable on other architectures (reported by Matti Aarnio)
+ - nicstar: added "fix3" and "fix4" (by Rui Prior)
+ - LANE: non-proxy didn't filter packets coming from BUS (fix by Marko Kiiskila
+   and Heikki Vatiainen)
+
+New features
+------------
+
+ - upgraded to kernel version 2.3.28
+ - atmtcp now reports VC open/close and generates timestamps (Note: the
+   protocol used between the kernel and the atmtcp utility has changed)
+ - new utility "natmtcp" which combines the ATMTCP protocol, ATMTCP ("virtual")
+   interfaces, "real" ATM interfaces, and log files (experimental)
+ - added ILMI 4.0 MIB variables atmfPortMyIdentifier and atmfMySystemIdentifier
+   (by Thomas Seidel)
+ - zeppelin: new command line option -I to select interface, allowing the use
+   of LANE with multiple physical interfaces (by Heikki Vatiainen)
+ - UltraSparc (sparc64) support (by Christophe Lizzi)
+ - nicstar: added IDT77105 PHY support (by Greg Banks)
+ - added utility loop25 to control ForeRunner LE loopback mode (by Greg Banks)
+ - added support for DNS lookup of NSAP addresses (by Rui Prior)
+ - added utility debug/dnstest (by Rui Prior)
+
+Other changes
+-------------
+
+ - net/atm/tunable.h cleanup
+ - removed SO_BCTXOPT, SO_BCRXOPT, and struct atm_buffconst
+ - removed obsolete field "next" from struct atm_blli
+ - changed potentially unaligned 32 bit accesses in SAAL to use read_netl
+   (spotted by Christophe Lizzi)
+ - added __attribute__ ((aligned(8))) to many structures containing structures
+   which are shared by kernel and user space to enfore uniform packing on
+   sparc64 (with help from Christophe Lizzi)
+ - changed  unsigned long  to  unsigned int  at API for compatibility with
+   architecture where  sizeof(long)  differs between user and kernel space
+   (e.g.  sparc64; suggested by Christophe Lizzi)
+ - changed struct atmsvc_msg.{vcc,listen_vcc} from  unsigned long  to new type
+   atm_kptr_int_t; changed atmsigd accordingly (NB: debugging output may strip
+   upper bits)
+ - changed various casts pointer->int to pointer->long->int (where the pointer
+   does indeed only contain an int, e.g. in ioctl) for Alpha (reported by
+   Matti Aarnio)
+ - nicstar: changes card->membase from u32 to unsigned long
+ - added  __attribute__ ((unused))  to mpc.c and mpoa_caches.c to remove
+   warnings about variables used only for debugging
+ - drivers/atm/Config.in: changed  ! "$foo" = "x"  to  "$foo" != "x"
+
+
+Version 0.61 to 0.62 (27-AUG-1999)
+====================
+
+Bug fixes
+---------
+
+ - lib/diag.c:set_logfile didn't set log_to_initialized (reported by Lars
+   Burgstahler)
+ - sch_atm did not use classifiers attached to the x:0 class (reported by Lars
+   Burgstahler)
+ - net/atm/atm_misc.c EXPORT'ed atm_return, which is an inline function (fixed
+   by Mitchell Blank)
+ - work-around for SO_LEVEL range problems (by Mitchell Blank)
+ - nicstar oops fix (by Rui Prior and John Brosnan)
+ - nicstar should now work also as non-module (by Rui Prior)
+ - nicstar fix for chip bug showing up on 64-bit CPCI bus systems (by Jay
+   Talbott)
+ - cleared confusion about inclusion of suni.o when building both nicstar and
+   ENI
+ - suni.c now always exports suni_init
+ - various fixes and cleanups in the Madge drivers (by Giuliano Procida)
+ - fixed new set of atm_pdu2truesize problems by introducing atm_alloc_charge
+   which handles the allocation too (problem report and work-around by Alexey
+   Kuznetsov)
+ - getsockname on unbound PVC socket caused an oops
+ - LANE: Token Ring source route bridge support fix (by Heikki Vatiainen)
+
+New features
+------------
+
+ - upgraded to kernel version 2.3.15 (mainly by Alexey Kuznetsov and Mitchell
+   Blank)
+ - new socket option SO_ATMPVC to retrieve the "PVC" address (PVC & SVC) (based
+   on a patch by Jay Talbott)
+ - zeppelin -l now also accepts only the selector byte (by Robert Slaski)
+
+Other changes
+-------------
+
+ - removed obsolete drivers/atm/nicstar.c.old_skb
+ - removed all references to Arequipa (obsolete)
+ - SO_BCTXOPT/SO_BCRXOPT are now obsolete, given that the final verdict on page
+   flipping has been spoken in linux-kernel
+ - interface statistics are now counted in  struct net_device_stats  instead of
+   struct enet_statistics (by Mitchell Blank)
+ - added pointer to mailing list to Documentation/atm.txt
+ - Documentation/Configure.help now points to Documentation/atm.txt instead of
+   directly to the Web page.
+ - usage.tex: clarified the consequences of interrupting atmtcp
+ - changed the highly misleading "atmarpd:ITF: no such interface" message to
+   DIAG_DEBUG
+
+
+Version 0.60 to 0.61 (11-JUN-1999)
+====================
+
+Bug fixes
+---------
+
+ - nicstar: driver sometimes crashed when starting for 25 Mbps cards (Rui
+   Prior)
+ - Zeitnet driver: uPD98402.c wasn't compiled with -DEXPORT_SYMTAB when
+   building as a module
+ - net/atm/raw.c didn't export atm_init_aal5, so ATMTCP didn't load as a module
+ - atmtcp could still be accessed after loading and then unloading, yielding an
+   Oops
+
+Other changes
+-------------
+
+ - PPC configuration now also includes ATM (Jay Talbott)
+ - lots of cleanup in the Madge drivers (Giuliano Procida)
+ - tamed down a bit the tone in README
+
+
+Version 0.59 to 0.60 (3-JUN-1999)
+====================
+
+New features
+------------
+
+ - upgraded to kernel version 2.3.3 (main change is slightly different wait
+   queue handling; affects all drivers)
+
+Other changes
+-------------
+
+ - mkdiff script now takes .bz2 kernel if no .gz can be found
+ - made a few changes to the Madge drivers to reduce the number of warnings
+
+
+Version 0.58 to 0.59 (3-JUN-1999)
+====================
+
+New features
+------------
+
+ - upgrade to kernel version 2.2.9
+ - zeppelin now adjusts MTU when joining ELAN (Heikki Vatiainen)
+
+Other changes
+-------------
+
+ - adjusted tr interface name limit to 8 characters (down from a wasteful 9)
+
+
+Version 0.57 to 0.58 (3-JUN-1999)
+====================
+
+Bug fixes
+---------
+
+ - ENI drivers sometimes directly dereferenced pointers instead of using readl/
+   writel (fixed by Mitchell Blank)
+ - nicstar driver no longer uses floating point (fixed by Rui Prior)
+ - nicstar driver may have refused CBR VC in some cases even with enough
+   bandwidth available (fixed by Rui Prior)
+ - usage.tex failed to build (fixed by Bill Brooks)
+ - zeppelin got byte order in BLLI wrong (reported by Chas Williams; fixed by
+   Mitchell Blank and Heikki Vatiainen)
+ - zeppelin did not work when the host had multiple ATM addresses (reported by
+   Benoit Steiner; fixed by Heikki Vatiainen)
+ - zeppelin incorrectly parsed -i command line option (reported by Benoit
+   Steiner; fixed by Heikki Vatiainen)
+ - atm_connect_vcc and /proc/atm/pvc report AAL0 now properly (reported by Zhu
+   Qun Ying and Uwe Dannowski)
+
+New features
+------------
+
+ - nicstar driver now support SONET diagnostics (by Rui Prior)
+ - nicstar driver now works on PowerPC (by Jay Talbott)
+ - LANE now also supports Token Ring (Heikki Vatiainen, with testing by
+   Holger Smolinski)
+
+Other changes
+-------------
+
+ - major non-i386 architecture and other cleanup in ENI driver (by Mitchell
+   Blank)
+ - number of lec devices is 40+8 (lec0-lec39 are Ethernet and lec40-lec47 are
+   Token Ring; Heikki Vatiainen)
+ - lec.c and mpc.c now use atm_force_charge (Heikki Vatiainen)
+ - net/802/tr.c limited interface names to 4 characters (fixed by Heikki
+   Vatiainen)
+ - zeppelin man page updated (Heikki Vatiainen)
+ - "zeppelin.new" is now "zeppelin", the old "zeppelin" is gone
+ - set "atm_connect" printk to KERN_DEBUG
+ - removed ATM_SAAL from include/linux/atm.h (there never was any support for
+   SAAL in the kernel)
+
+
+Version 0.56 to 0.57 (18-MAY-1999)
+====================
+
+Bug fixes
+---------
+
+ - atmarpd complained "invalid control msg type" when changing interface
+   characteristics (reported by Soo-Khim Ho)
+ - sch_atm didn't compile without CLIP (reported by Zhu Qun Ying)
+ - LANE & MPOA: plugged a few memory leaks after failure to atm_charge (Heikki
+   Vatiainen)
+ - mpcd could not be killed if MPS's address was not known (fixed by Heikki
+   Vatiainen)
+ - nicstar: fixed the sleeping in interrupt issue (Rui Prior)
+
+New features
+------------
+
+ - drivers for the Madge "Ambassador" and "Horizon [Ultra]" NICs, also known
+   as Collage PCI 155 Server, 25, and 155 Client (by Giuliano Procida)
+
+Other changes
+-------------
+
+ - MPOA code cleanup and debugging printks are now conditional (Heikki
+   Vatiainen)
+ - removed both led/USAGE files
+ - removed the old atmsigd (was in atm/sig.old/)
+ - nicstar driver now works around TSQ bug on older chips (77201) (by Rui
+   Prior, with the detective work by Jay Talbott)
+
+
+Version 0.55 to 0.56 (22-APR-1999)
+====================
+
+Bug fixes
+---------
+
+ - atm/doc/Makefile assumed . to be included in PATH when invoking rlatex
+   (fix by Heikki Vatiainen)
+ - usage.txt leaked Arequipa configuration examples (fix by Heikki Vatiainen)
+ - plugged a small memory leak in led.new which occurred when using the LANE
+   client as a proxy (Heikki Vatiainen)
+ - atmarpd crashed when printing ATMARP table entries with flag 0x8000 set
+   (reported by Vinay Kulkarni)
+ - CLIP interfaces now follow netmask changes
+ - Nicstar: 25.6 Mbps cell rate corrected (by Rui Prior)
+ - atm_equal could loop forever when comparing NSAP-encoded E.164 addresses
+   (reported by Valley Zhizhkun)
+ - [AP]F_ATM[PS]VC definitions in lib/atm.h conflicted with glibc 2.1
+   (reported by Heikki Vatiainen and Jens Vagelpohl)
+ - changed a few  non-int main  to  int main  (reported by Heikki Vatiainen)
+ - changed lib/diag.c work with glibc 2.1, where stderr is no longer a constant
+   (based on a patch by Heikki Vatiainen, also reported by Giuliano Procida)
+ - make clean didn't remove qgen/q.test.c, qgen/qd.out.h, qgen/qd.test.c,
+   sigd/q.out.h and sigd.old/q.out.h (reported by Giuliano Procida)
+ - optional headers were installed even with system headers present if
+   INSTROOT was different from / (reported by Giuliano Procida)
+ - lib/stdint.h was used even on systems that had a "real" stdlib.h (based on a
+   patch by Heikki Vatiainen, also reported by Giuliano Procida)
+ - renamed net/atm/misc.c to atm_misc.c to avoid name clash with
+   drivers/char/misc.c on include/linux/modules/misc.* (reported by Borek
+   Lupomesky)
+  
+New features
+------------
+
+ - new ioctl ATM_GETLINKRATE to query link rate of an interface (suggested by
+   Vitaly Lavrov)
+ - new atmsigd.conf option  io max_rate  to specify rate to signal if
+   application requests the "maximum"
+ - added decription of CONFIG_ATM_LANE and CONFIG_ATM_MPOA to the kernel
+   configuration help (Heikki Vatiainen)
+ - added description of LANE to usage.tex (Heikki Vatiainen)
+ - new function atm_force_charge to unconditionally add data to a receive
+   buffer
+
+Other changes
+-------------
+
+ - atmsigd now determines maximum link rate by querying interfaces (suggested
+   by Vitaly Lavrov)
+ - moved local address registry from a global table to VPCI structures
+ - changed unknown net device notification severity from KERN_ERR to
+   KERN_WARNING
+ - atmarpd now overwrites old atmarpd.table on startup (it used to keep it
+   until the first configuration change)
+ - shutdown(2) of native ATM VCs now returns 0 instead of -EOPNOTSUPP
+   (suggested by Mitchell Blank)
+ - Nicstar: IRQ sharing is now allowed (by Rui Prior)
+ - Nicstar: default maximum number of cards is now 4 (by Rui Prior)
+ - Nicstar: when compiled as a module, the driver may no longer be removed
+   while in use (by Rui Prior)
+ - Nicstar: loss of cells is no longer reported as a plain CRC error (by Rui
+   Prior)
+ - atmsigd now always clears the endpoint reference flag if in UNI 3.0 mode
+   (based on a patch by Heikki Vatiainen)
+
+
+Version 0.54 to 0.55 (1-MAR-1999)
+====================
+
+Bug fixes
+---------
+
+ - SELECT_TOP_PCR didn't take intro account the "pcr" field, causing SVC with
+   QoS pcr=xxx to be set up at link speed
+ - qos_equal didn't detect differences in the "pcr" fields
+ - sch_atm only accepted parent == root or absent (reported by John Loughney)
+ - sch_atm:atm_tc_put accessed flow structure after kfree'ing it
+ - sch_atm:atm_tc_change didn't put excess traffic class if class creation
+   failed
+ - sch_atm:atm_tc_dump_class didn't return class ID in tcm->tcm_handle
+ - sch_atm:atm_tc_delete refused to delete classes because it expected
+   ref == 1, but ref == 2 (reported by John Loughney)
+
+
+Version 0.53 to 0.54 (19-FEB-1999)
+====================
+
+Bug fixes
+---------
+
+ - led.new: fixed build problem and warning (Heikki Vatiainen)
+ - fixed LANE arp cache timeouts (Heikki Vatiainen)
+ - ilmid -i option fell through into -l, causing logging to go into a file
+   named after the local address
+ - flipping the highest bit of ep_ref made it negative which was erroneously
+   interpreted to mean "absent" (reported by Giuliano Procida and Chas
+   Williams)
+ - ilmid used the result of AsnOidCompare inconsistently, causing network
+   prefix registration to fail with some switches (based on a patch by Giuliano
+   Procida)
+
+New features
+------------
+
+ - tc:q_atm: new option "clip" to select Classical IP processing of inbound
+   traffic
+ - new sch_atm class attribute TCA_ATM_STATE to retrieve VC state
+
+Other changes
+-------------
+
+ - led.new: improved handling of LANE flush protocol (Heikki Vatiainen)
+ - copied USAGE from led/ to led.new/
+ - added description of ilmid options -i and -u to USAGE (Heikki Vatiainen)
+ - ilmid -u now also works without -DDYNAMIC_UNI (all values but the default
+   are refused)
+ - tcpdump patch updated to tcpdump version 3.4 (Heikki Vatiainen)
+ - updated "tc" patch to iproute2 version 2.1.99-now-ss990203
+
+
+Version 0.52 to 0.53 (9-FEB-1999)
+====================
+
+Bug fixes
+---------
+
+ - atmsigd: selecting the UNI version via compile-time options didn't yield
+   the desired result in some cases (reported by Vinay Kulkarni and others)
+ - ATM VCCs now use struct sock, as required by protocol-independent layer
+   starting with recent 2.1 kernels (by Mitchell Blank)
+ - led fixes: htons/htonl bugs in LANEv2 code, one duplicate close() removed
+   (by Heikki Vatiainen)
+
+New features
+------------
+
+ - upgraded to the 2.2.1 kernel (by Mitchell Blank)
+ - LANE: added bridging support (by Heikki Vatiainen)
+ - complete rewrite of led (in led.new), which is now leaner and no longer
+   contains code (c) Digital (by Heikki Vatiainen)
+ - added macros for local AESA format and group addresses, and support in
+   atm2text (by Heikki Vatiainen)
+
+Other changes
+-------------
+
+ - ENI: buffer sizes are now limited to MID_MAX_BUF_SIZE even if max_sdu >
+   MID_MAX_BUF_SIZE/3 (reported by Andrew Lunn)
+ - plenty of NICStAR changes (Rui Prior and Mitchell Blank)
+ - LANE interface to upper layer looks more like Ethernet, so adding bridge and
+   802.1Q support is easier, and tcpdump does not need any extra patches (by
+   Heikki Vatiainen)
+
+
+Version 0.51 to 0.52 (5-DEC-1998)
+====================
+
+Bug fixes
+---------
+
+ - atmsigd crashed when receiving STATUS ENQUIRY for call in Null state
+   (reported by Heikki Vatiainen)
+ - outbound endpoint reference didin't have the 16th bit toggled (fixed by
+   Andrew Lunn)
+ - lec.c: fixed a bug in kernel which could cause kernel part to deadlock when
+   signalling was not started successfully (by Heikki Vatiainen)
+ - MPOA: bug fixes and other changes, see atm/mpoa/CHANGELOG (by Heikki
+   Vatiainen)
+
+New features
+------------
+
+ - LANE: both kernel & daemon: support for ELANs which have MTUs greater than
+   1516 (by Eric H. Kinzie)
+ - MPOA: can now ask LECS for configuratino information (by Heikki Vatiainen)
+
+Other changes
+-------------
+
+ - zeppelin.8: updated (Heikki Vatiainen)
+
+
+Version 0.50 to 0.51 (6-NOV-1998)
+====================
+
+Bug fixes
+---------
+
+ - atmsigd: typo prevented kernel.c from compiling with UNI30 disabled (fix by
+   Andrew Lunn and Uwe Dannowski)
+ - option -u crashed ilmid (reported by Michael Wolf)
+
+Other changes
+-------------
+
+ - bearer capability is now set to "CBR" for CBR (suggested by Heikki
+   Vatiainen)
+
+
+Version 0.49 to 0.50 (3-NOV-1998)
+====================
+
+Bug fixes
+---------
+
+ - atmsigd didn't compile for -DUNI31 -DALLOW_UNI30 (fixed by Richard Gooch)
+ - atmsigd crashed on as_bind and also had problems with as_connect after
+   as_bind (reported by Heiko Krupp, Heikki Vatiainen, and many others)
+
+Other changes
+-------------
+
+ - atmsigd now enables tracing by default (use  -t 0  to turn it off)
+ - added "terminate" message to test/isp
+ - mpoad defaults to UBR if service category is absent (by Heikki Vatiainen)
+ - LANE now avoids blocking intact connections when other connections have
+   problems by queuing packets independently per destination while waiting for
+   a connection (by Heikki Vatiainen)
+
+
+Version 0.48 to 0.49 (1-NOV-1998)
+====================
+
+Bug fixes
+---------
+
+ - q_atm.c passed TCA_ATM_EXCESS even if zero, while the kernel expected it
+   to be absent in this case (changed q_atm.c)
+ - q_atm: tc class show  didn't separate fields properly with blanks
+ - removed double inclusion of atm/config from mkdist
+
+New features
+------------
+
+ - upgraded to the 2.1.126 kernel
+
+Other changes
+-------------
+
+ - "new" atmsigd is now the default (atm/sigd got renamed to atm/sigd.old,
+   atm/sigd.new to atm/sigd)
+ - updated extra/tc/README
+
+
+Version 0.47 to 0.48 (30-OCT-1998)
+====================
+
+Bug fixes
+---------
+
+ - ilmid didn't recognize the -u option
+ - ATM_GETCIRANGE copied wrong amount of data (fix by Heikki Vatiainen)
+ - sch_atm didn't compile without policing enabled (reported by Calin Poenaru)
+ - BHLI octets: qgen/msg.fmt allowed nine instead of eight bytes for ISO and
+   user specified, include/linux/atmsap.h:ATM_MAX_HLI was 7 instead of 8 (by
+   Damian Gilmurray and Paisit Thamsakorn)
+ - MPOA: bug fixes and other changes, see atm/mpoa/CHANGELOG (by Heikki
+   Vatiainen)
+
+New features
+------------
+
+ - ilmid: new option -i to set local IP address (suggested by Andrew May)
+ - ilmid now also supports the MIB variables atmfAtmLayerMaxVpiBits and
+   atmfAtmLayerMaxVciBits (based on a patch by Uwe Dannowski)
+
+Other changes
+-------------
+
+ - ilmid: search for local IP address didn't consider LANE interfaces (lec*)
+ - consolidated most of the various calls to gethostbyname and friends into
+   text2ip (libatmd)
+ - corrected some glitches in net/sched/sch_atm.c (untested)
+ - removed debug/encopy, debug/endump, and debug/zndump from the distribution.
+   They were almost useless and caused problems with  make depend
+ - SYMFILES in qgen/Makefile now determines location of atmsap.h at run time to
+   avoid problems when kernel headers are not in /usr/include/linux (reported
+   by Uwe Dannowski)
+
+
+Version 0.46 to 0.47 (6-OCT-1998)
+====================
+
+Bug fixes
+---------
+
+ - qgen didn't build for all UNI versions (fixed by Richard Gooch)
+
+New features
+------------
+
+ - ilmid: new option -u to set UNI version (3.0, 3.1, or 4.0). Only available
+   if compiled with -DDYNAMIC_UNI.
+
+Other changes
+-------------
+
+ - ilmid: getIpAddr: improved robustness and added debugging output
+
+
+Version 0.45 to 0.46 (5-OCT-1998)
+====================
+
+Bug fixes
+---------
+
+ - ENI and ZATM driver used to read IRQ directly from PCI configuration,
+   bypassing any fixups (reported by Richard Gooch)
+ - atmsigd.new: removed "Known bug" memory leak (when tracing)
+ - led/lec_ctrl.c: signalling bug fixed, max_sdu now has correct value instead
+   of 1 (by Heikki Vatiainen, reported by Josh Baratz <jbaratz@lucentctc.com>
+   and Wolfgang Platzer <wplatzer@iaik.tu-graz.ac.at>)
+ - lots of MPOA bug fixes and other changes, see atm/mpoa/CHANGELOG (by Heikki
+   Vatiainen)
+ - atmsigd reported "Q.2931.1" when configured to support Q.2963.1
+
+New features
+------------
+
+ - atmsigd.new now supports run-time configuration of the signaling protocol
+   version (via atmsigd.conf)
+
+Other changes
+-------------
+
+ - added 16W bursts to ENI burst size configuration (NB: 16W may actually be
+   *slower* than 8W)
+ - lec_ctrl.c: zeppelin now uses LE_REGISTER protocol when TLVs are associated
+   with client's MAC address (by Heikki Vatiainen)
+
+
+Version 0.44 to 0.45 (1-OCT-1998)
+====================
+
+Bug fixes
+---------
+
+ - ENI driver didn't do four-word bursts on RX for sizes < 8 words
+ - arequipad, atmarpd, bus, lecs, les, mpcd, sw_*, and zeppelin silently
+   ignored extra command-line arguments instead of complaining
+
+New features
+------------
+
+ - ENI: added configuration options to fine-tune burst sizes (in reponse to
+   incompatibility found by Dave Airlie)
+
+Other changes
+-------------
+
+ - changed the way how ATM-specific data is stored in skbs. Tentatively updated
+   the the stack, including drivers. Use CONFIG_ATM_SKB to enable the new-style
+   skbs.
+ - Rules.make no longer discards the previous value of LDLIBS
+ - sw_tcp now only establishes bi-directional VCs if both directions are really
+   requested in the QoS structure
+ - moved manual switch control from sw_tcp to the generic switch code; "tcpswc"
+   is now called "swc", the corresponding switch.conf clause is now
+   'control <path>' instead of 'option control "<path>"'
+
+
+Version 0.43 to 0.44 (24-SEP-1998)
+====================
+
+Bug fixes
+---------
+
+ - CONNECT messages no longer contain the AAL type IE if EP ref is present and
+   non-zero (reported by Heikki Vatiainen)
+ - SSCOP: added mode for partial compatibility with Q.SAAL1 (to get rid of
+   warnings reported by Heikki Vatiainen and of interoperability problems with
+   Virata switches reported by Damian Gilmurray)
+ - ilmid now returns a valid response for atmfMyIpNmAddress (by Uwe Dannowski)
+ - configuration on-line help for CLIP didn't work because tag was different
+   from configuration variable
+ - atmsigd crashed when adding multiple local addresses on an interface
+   (reported by Heiko Krupp)
+ - atmaddr.8 said "ATMARP" in the header (reported by Hans Einsiedler)
+ - net/atm/misc.c didn't include linux/config.h and linux/module.h, causing
+   symbols to be missing when rebuilding the kernel after enabling modules
+   (reported by Thomas Parvais)
+
+New features
+------------
+
+ - new maintenance utility tcpswc to control sw_tcp "switches" (description at
+   the end of switch/tcp/README)
+ - added support for setting the CLP bit (untested; see doc/README.CLP)
+ - added support for policing to the ATM qdisc (untested; see extra/tc/README)
+ - ilmid: added support for atmfAtmLayerUniVersion (by Uwe Dannowski)
+
+Other changes
+-------------
+
+ - updated the NICStAR driver to version 008b (by Rui Prior)
+ - new switch fabric function fab_option to pass configuration options
+ - atm2text now also supports unspecified and wildcard components in PVC
+   addresses
+ - added configuration option CONFIG_ATM_CLIP_NO_ICMP to discard packets for
+   which no ATMARP entry exists silently instead of sending an ICMP (this is an
+   ugly hack-around for the revalidation problem reported by Gerald Hanusch)
+ - various minor documentation updates
+ - atmarpd now sends InARP requests when active VC setup completes in order to
+   tell the peer our IP address(es)
+
+
+Version 0.42 to 0.43 (21-AUG-1998)
+====================
+
+Bug fixes
+---------
+
+ - trying to use atmtcp when compiled as a module with the module not loaded
+   crashed the kernel
+
+New features
+------------
+
+ - upgraded to the 2.1.117 kernel
+ - included NICStAR driver by Rui Prior at INESC (this driver also includes
+   parts of an earlier driver written by Matt Welsh, then enhanced by R. D.
+   Rechenmacher and Jawaid Bazyar)
+ - new atmsigd with support for multiple signaling entities (experimental)
+
+Other changes
+-------------
+
+ - removed register dumping code from suni.c (leaked out into the distribution)
+
+
+Version 0.41 to 0.42 (19-AUG-1998)
+====================
+
+Bug fixes
+---------
+
+ - atm.patch was out of sync again :-(
+
+
+Version 0.40 to 0.41 (19-AUG-1998)
+====================
+
+Bug fixes
+---------
+
+ - 0.40 contained an older atm.patch than the one that was supposed to go with
+   it (some changes to sch_atm and MPOA were missing)
+ - kernel didn't build with LANE enabled and MPOA disabled (fix by Mitchell
+   Blank Jr)
+
+New features
+------------
+
+ - MPOA now also supports CBR SVCs (by Heikki Vatiainen and Sampo Saaristo)
+
+Other changes
+-------------
+
+ - atmtcp may work as a module (untested)
+ - kernel code now uses capabilities instead of suser()
+ - removed obsolete recycle_buffer code
+ - distribution now also includes mkpatch, the script that's used to create
+   atm.patch
+
+
+Version 0.39 to 0.40 (13-AUG-1998)
+====================
+
+Bug fixes
+---------
+
+ - ilmid defined the value of "invalid" as 0 instead of 2 (fix by Timo
+   Parnanen)
+ - bash-2 doesn't like  for n in $(SUBDIR); ...  if SUBDIR is undefined (fix
+   by Heikki Vatiainen)
+ - LANE still cleared ATM_VF_RELEASED instead of calling atm_async_release_vcc,
+   which apparently led to stray kernel crashes in signaling (found with a lot
+   of help from John McPherson)
+ - ATM qdisc now properly re-allocates skb memory to grow headers, if necessary
+ - atm/switch/Makefile didn't build SUBDIRS
+ - atmarpd sent garbage ATM addresses in InARP responses over PVCs (reported by
+   Stefan Keller-Tuberg)
+
+New features
+------------
+
+ - MPOA (Multi-Protocol Over ATM) client support written by Heikki Vatiainen
+   and Sampo Saaristo
+ - LANE client (zeppelin) now also supports LANE2 (by Heikki Vatiainen)
+
+Other changes
+-------------
+
+ - accept() now also returns on ATM_VF_CLOSE
+ - ATM qdisc now uses the same data format on rtnetlink as other qdiscs; new
+   option for user-provided headers
+ - atm/switch can now use "external" routing (e.g. provided by the fab control)
+
+
+Version 0.38 to 0.39 (4-AUG-1998)
+====================
+
+Bug fixes
+---------
+
+ - added missing #include <atm.h> in tcpsw.c (fixed by Heikki Vatiainen)
+ - atmsigd allowed both sides to initiate PCR modification; Q.2963.1 only
+   allows the connection owner (i.e. the caller) to do this
+ - atmarpd no longer tries to use incoming SVCs with zero backward bandwidth
+   for ATMARP
+ - ENI and ZATM drivers didn't invoke vcc->pop on dev->ops->send failure
+ - make install  didn't probe correctly for presence of /usr/include/stdint.h
+   (needed on GLIBC 1 systems)
+ - net/atm/resources.c didn't export bind_vcc to modules (fix by Oliver
+   Frommel)
+ - net/arpd/atmarp didn't build without  make depend  (reported by Stefano
+   Giacometti)
+ - clip_mkip zeroed vcc->rx_inuse and didn't take into account that clip_push
+   calls atm_return, which subtracts from vcc->rx_inuse too
+ - fixed typos in qgen/uni.h (and msg.fmt) for causes 38, 41, and 43
+ - atmsigd wrote exit trace to stderr when it had a dump directory and vice
+   versa
+ - documentation still claimed that atmtcp yields messages at boot time
+
+New features
+------------
+
+ - added flow to ATM VCC mapping queuing discipline (experimental)
+ - module for setting up ATM PVC/SVC mappings with "tc" in extra/tc (see
+   extra/tc/README)
+ - atmarpd: new request type art_query to request resolution without VC setup
+ - atmarp: new undocumented option -Q to test art_query
+ - added ATMTCP interfaces that survive disconnects (persistent; new atmtcp(8)
+   options -p and -r; new ioctls ATMTCP_CREATE and ATMTCP_REMOVE)
+
+Other changes
+-------------
+
+ - zeppelin didn't explicitly set the AAL type for outbound connections (by
+   Heikki Vatiainen)
+ - CLIP also allows SVCs to have no idle timeout at all (timeout = 0)
+ - moved SUNI private ioctls (SUNI_GETLOOP and SUNI_SETLOOP) from
+   drivers/atm/suni.h to include/linux/atm_suni.h
+ - atmarpd now shows QoS information for VCs where it differs from the default
+   or where no default is applicable
+ - removed the file atm/WARNING, which gave an overly pessimistic perspective
+   of the state of things
+ - switch: fab_op now returns the cause value plus (optionally) a pointer to
+   diagnostics in the callback instead of a simple okay/not okay indication
+ - updated and corrected the atmtcp man page
+ - further cleanup of the build procedure
+ - README now mainly refers to http://lrcwww.epfl.ch/linux-atm/info.html
+ - updated and trimmed BUGS
+ - added a note to CREDITS indicating its obsolescence
+
+
+Version 0.37 to 0.38 (25-JUN-1998)
+====================
+
+Bug fixes
+---------
+
+ - fixed the remaining few #include <linux/atm.h>
+ - invoking fcntl() or socketpair() on an ATM socket caused an "Oops" (reported
+   by Jonathan Chan)
+ - CLIP PVCs caused an "Oops" when cat'ing /proc/atm/pvc (reported by Marko
+   Kiiskila and Robert Olsson)
+ - atm/qgen/default.nl wasn't removed after build failure
+ - debugging switch (sw_debug) did not stop operations after the first error
+ - svc_accept returned apparent success instead of -EAGAIN, usually leading to
+   a later -ENOTCONN
+ - ttcp.c didn't initialize port_name, leading to erratic behaviour when making
+   slight changes to the build process
+ - atm_pdu2truesize diverged from alloc_skb, leading to sudden failure of VCs
+   or of ATMARP (reported by Robert Olsson)
+ - corrected use of '~' when applied to unsigned longs representing memory
+   addresses in aread, ENI, and ZATM (reported by Wai-Sun Chia)
+ - atmtcp and LANE didn't use bind_vcc when setting up control VCs
+ - atmtcp got ENOMEM/EBUSY wrong when failing to create an interface
+ - sig level <level> in atmsigd.conf didn't affect UNI diagnostics
+
+New features
+------------
+
+ - upgraded to the 2.1.105 kernel
+ - added ATMTCP "switch" in atm/switch/tcp
+ - atmtcp: new mode -s to connect to an ATMTCP "switch"
+ - atmtcp: new option -d for debugging output
+ - added -b option (the usual "background") to switch/relay.c
+
+Other changes
+-------------
+
+ - changed "PDU" to "SDU" in the atmtcp(8) man page
+ - atmarpd now includes the interface netmask in ATMARP table dumps
+ - added ATM devices also to the Alpha architecture, because at least ATMTCP
+   works (by Wai-Sun Chia)
+ - added the removal of -Wmissing-prototypes to the 0.37 changes
+ - removed -Wcast-align from Rules.make because of a conflict with
+   /usr/include/socketbits.h of glibc 2 on Alphas (reported by Wai-Sun Chia)
+ - atmsigd.conf.4: documented that  debug log stderr  works too
+ - sap_equal now also allows wildcard matches for BHLI (with SXE_COMPATIBLE)
+ - atmsigd now uses  -m <mode>  instead of -N and -A
+ - atmsigd.conf now uses  sig mode <mode>  instead of  sig net
+
+
+Version 0.36 to 0.37 (6-JUN-1998)
+====================
+
+Bug fixes
+---------
+
+ - lib/atm.h defined AF_ATMPVC to 20, but the correct value is 8. Likewise,
+   AF_ATMSVC should be 20, not 21. (Reported by Luke Diamand)
+ - fixed bad ASN encoding in ilmid (by Vesa-Matti Puro)
+ - make install and make instdirs didn't stop on error
+
+New features
+------------
+
+ - upgraded to the 2.1.104 kernel
+ - included a script to demonstrate the debug switch (see switch/debug/README)
+
+Other changes
+-------------
+
+ - moved definitions not used by the kernel from linux/atmarp.h to atmarp.h
+ - removed linux/atm_stdint.h (linux/types.h has now caught up)
+ - changed ENI and ZATM driver to use new PCI interface
+ - net/atm/clip.c no longer uses ether_setup (suggested by Alexey Kuznetsov)
+ - more header file cleanup (main change: applications should now
+   #include <atm.h> instead of #include <linux/atm.h>)
+ - removed -Wmissing-prototypes from Rules.make because of a conflict with
+   include/linux/byteorder/swab.h
+
+
+Version 0.35 to 0.36 (23-APR-1998)
+====================
+
+Bug fixes
+---------
+
+ - changed the numeric values of PF/AF_ATMPVC/SVC and SOL_ATM/AAL to avoid
+   conflicts with other allocations. This breaks binary compatibility with
+   ATM programs compiled under older kernels
+ - RESTART ACK was sent with the wrong class when acknowledging the restart of
+   the indicated virtual channel (fix by Mohsen Souissi)
+ - RELEASE was retransmitted forever (to avoid having to perform a RESTART),
+   although it's sufficient to retransmit once and then drop the connection
+ - esi.c checked the kernel version code without including linux/version.h
+ - CLIP changes magically fixed hangs on SICGIFCONF (reported by Wayne Salamon)
+ - atmsigd usually didn't set pvc.sap_family in ISP messages
+
+New features
+------------
+
+ - added build-time option -DTHOMFLEX to send RESTART when SAAL comes up, which
+   works around a bug in some Thomson Thomflex 5000 switches (by Mohsen
+   Souissi)
+ - atmtcp: new option "-i itf" to request a specific interface number
+ - the "debug switch" (switch/debug/sw_debug) is now capable of successfully
+   signaling a UNI 3.x call (see switch/debug/README for details)
+
+Other changes
+-------------
+
+ - atm_equal can now also compare PVC addresses. The argument type has
+   therefore been changed from struct sockaddr_atmsvc * to struct sockaddr *
+ - moved driver-private data from skb->atm.* into skb->cb
+ - complete redesign of communication between atmarp(8) and atmarpd(8) (now
+   uses a UNIX domain socket; suggested by Alexey Kuznetsov)
+ - atmarp -a now also produces correct output if atmarpd is running with -d
+ - removed clip(8)
+ - moved atmarp(8) from atm/ip into atm/arpd, removed atm/ip
+ - /proc/atm/svc shows listening sockets again
+ - cleaned up a few cases where diag(...,DIAG_FATAL,...) was followed by an
+   "else" or a "return".
+ - atmsigd now uses Unix domain sockets (instead of named pipes) to communicate
+   with non-kernel ISP users (updated test/isp too)
+ - net/atm/resources.c:atm_dev_register can now be asked to assign a specific
+   interface number (-1 yields the old behaviour)
+
+
+Version 0.34 to 0.35 (27-MAR-1998)
+====================
+
+Bug fixes
+---------
+
+ - ilmid compared memcmp results with -1,1, which fails under optimization
+   (fixed by Damian Gilmurray)
+ - various fixes and cleanup in how CLIP interacts with the neighbour cache
+   (spotted by Alexey Kuznetsov)
+ - Rules.make complained about missing "optprocess" command on some occasions
+
+New features
+------------
+
+ - upgraded to the 2.1.90 kernel
+ - added some components for ATM switch control (not properly integrated yet,
+   so they don't do anything useful at the moment; written by Roman Pletka)
+
+Other changes
+-------------
+
+ - eliminated various compiler warnings when compiling with glibc2
+ - removed clip_hard_header (suggested by Alexey Kuznetsov)
+
+
+Version 0.33 to 0.34 (13-MAR-1998)
+====================
+
+Bug fixes
+---------
+
+ - eni.c didn't include config.h (fix by Pete Wyckoff)
+ - (yet another) VCC list handling bug (fixed by Heikki Vatiainen)
+ - kernel also applied idle timeout to CLIP PVCs
+ - make clean  didn't remove test/errnos.inc
+ - atmsigd errored as_connect and as_accept with as_close instead of as_error
+ - eni: bandwidth was sometimes reserved for UBR VCs
+ - eni: checking of bandwidth changes was broken
+ - eni: error handling after failed bw change checks destroyed the free list
+ - test/errnos.inc sometimes wasn't generated because of mtime granularity (fix
+   by Brian Armstrong and Corinne Rosier)
+ - fixed use of return code of get/put_user and copy_from/to_user
+ - kernel: fixed a few minor race conditions
+ - ATM_GETADDR left address list locked on fault
+ - maximum length of high layer information was 7 bytes instead of 8 for ISO
+   and User Specific high layer information (reported by Damian Gilmurray)
+ - some tools didn't include errno.h although they use errno or Exxx
+ - atmsigd usually accessed deallocated memory when writing traces, which
+   sometimes led to crashes (reported by Heikki Vatiainen)
+ - indentation of the first two lines of UNI signaling messages in traces was
+   missing
+ - LANE: duplicate data direct connections to entities where we already
+   have a connection are now forbidden. LES and BUS can now co-reside.
+   (Reported by Jean-Francois Moine, fixed by Heikki Vatiainen)
+ - LANE: plugged a file descriptor leak (by Heikki Vatiainen)
+ - atmsigd.conf.4 incorrectly stated that diagnostics must have a higher
+   priority than the specified level to get printed (they're also printed if
+   their priority is equal to that level)
+ - zatm driver didn't virt_to_bus the back pointer of TX rings, leading to
+   crash after sending the 32nd PDU of a VCC (reported by Ajay Bakre)
+ - zatm_feedback sometimes returned with interrupts disabled
+ - ENI driver didn't treat requests for UBR at link speed as "unlimited" and
+   allocated one shaper for each such VCC
+ - atm_async_release_vcc now has its own flag ATM_VF_CLOSE. Overloading
+   ATM_VF_RELEASED caused hung SVCs under some conditions.
+ - atmsigd sometimes released listening sockets before kernel completed its
+   cleanup, yielding warnings and zombies
+ - atmsigd accessed already deallocated data structures when handling
+   unparseable signaling messages
+
+
+New features
+------------
+
+ - upgraded to the 2.1.79 kernel
+ - CLIP now handles NETDEV_CHANGE (proposed by Pete Wyckoff; untested)
+ - various minor signaling changes for operation as switch control
+ - new device operation proc_read: device drivers can now register in /proc
+   (e.g. /proc/atm/eni:0)
+ - added some more BHLI definitions to include/atmsap.h, including draft
+   mapping of well-known TCP/UDP port numbers
+ - added support for TIOCOUTQ/TIOCINQ on native ATM
+ - new library function sap_equal
+ - added convenience function atmpvc_addr_in_use to linux/atm.h
+ - major overhaul of "isp", which is now a good tool for signaling regression
+   tests. See atm/test/README.isp
+ - LANE can now be compiled as a kernel module (by Heikki Vatiainen)
+ - new tool debug/svctor.c to torture signaling by setting up and releasing
+   lots of SVCs (see the source for details)
+
+Other changes
+-------------
+
+ - cleaned up the copying terms: libraries are now covered by LGPL instead of
+   GPL and qgen doesn't "taint" the code it generates
+ - atmarpd: IP addresses are now __u32 instead of unsigned long
+ - atmarpd: changed printf("... %08x ...",(unsigned long) ptr) to %p ...",ptr
+ - /proc support now allocates inode numbers dynamically
+ - added comment to clarify motivation for useless buffer alignment in aread.c
+   (reported by Jeon Jong Hwan)
+ - suni.c and uPD98402.c: SONET_GETSTATZ no longer clears the statistics if the
+   copy faults
+ - ilmid should now work on any interface (patch by Heikki Vatiainen)
+ - changed all __uNN of tools to uintNN_t for glibc2-compatibility
+ - added stdint.h to lib for compatibility with future versions of glibc2
+ - various other evil hacks in tools to make things compile with glibc2
+ - the NIC debugging programs ed, encopy, endump, zndump, and znth are no
+   longer built and installed by default
+ - for compatibility with POSIX 1003.1g, accept now returns ECONNABORTED
+   instead of ECONNREFUSED if connection is already gone (proposed by Heikki
+   Vatiainen)
+ - listening sockets now return instantly if the signaling demon dies
+ - various minor LANE updates to track API changes (by Heikki Vatiainen)
+ - SUNI now also warns if signal is missing at initialization time
+ - zatm: added work-around for unfair buffer space accounting
+ - clarified some of atmarpd's diagnostics
+ - documentation updates
+
+
+Version 0.32 to 0.33 (19-NOV-1997)
+====================
+
+Bug fixes
+---------
+
+ - SSCOP did poll sequence number comparisons in the (data) sequence number
+   space, typically leading to periodic SSCOP restarts (reported by Heikki
+   Vatiainen)
+ - atmsigd now releases calls on receipt of STATUS with call state 0 (reported
+   by Heikki Vatiainen)
+ - qgen tried to print the names of unnamed groups (fix by Simon Leinen)
+ - make clean  in qgen left all the .c and .h files produced by qgen
+ - minor fixes to signaling message format description (qgen/msg.fmt,
+   previously qgen/uni*)
+ - /usr/include/atm.h was calling itself "atmlib" (found by Leena Chandran)
+ - atmsigd: the address format of the calling party number was used to
+   determine the format of the called party number in a SETUP message
+ - added some semicolons to Rules.make for bash 2.0 compatibility (by Tan Chang
+   Hu and Rolf Kunisch)
+ - select/poll indicated an exception when a non-blocking connect terminated.
+   Now it indicates writability, and an error only if the connect failed.
+ - LES/BUS can now co-exist at the same address (by Heikki Vatiainen)
+ - fixed race condition between asynchronous release (e.g. on ATMARP idle timer
+   expiration) and signaling demon response
+ - fixed a typo "[itf]." instead of "[itf.]" in atmsigd.conf.8
+ - "ATM drivers" kernel configuration section is no longer a top-level menu
+   item but it's now under "Network devices"
+ - sigd_close forgot to purge VCs not connected to devices (e.g. closing ones),
+   so they hung
+ - the list of unconnected VCs was sometimes garbled
+ - atmsigd printed null string for as_itf_notify message name when debugging
+ - Arequipa: check_aq_vcc also accepted VCs that were already released by
+   signaling
+ - ATM_VF_PARTIAL and ATM_VF_BOUND had the same value
+ - atmaddr still used old calling convention of ATM_GETNAMES
+ - the atmarpd man page referred to atmarpd as "atmsigd"
+ - various atmtcp bug fixes
+ - atm_recvmsg sometimes returned with interrupts disabled (reported by Pete
+   Wyckoff)
+ - fixed ttcp_atm dependencies (.depend contains dependencies for "ttcp.o")
+ - UNI message format: "more" was missing for def_pck_size
+ - eni/suni didn't compile as modules (fixed by Pete Wyckoff and Ladislav
+   Lhotka)
+ - further net/atm/Makefile cleanup
+ - arequipa_close always left the socket with arequipa_expect enabled. Now it
+   returns it to the previous state.
+ - ENI driver was leaking buffer memory on failure of set_tx
+ - atmarpd didn't print symbolic names of "new" flags (ATF_ARPSRV, etc.)
+ - ATM ARP server didn't make client entries public (reported by Tom Mahieu)
+ - drivers/atm/Config.in had extra "endmenu" (fixed by Ladislav Lhotka)
+ - atmarpd got confused when receiving InARP reply without source ATM address
+ - atmsigd sometimes didn't stop timers if Q.2963.1 wasn't enabled
+ - when rejecting a call, the kernel freed the VCC twice
+
+New features
+------------
+
+ - merged source tree (except Arequipa, single-copy, and various NIC drivers)
+   with 2.1.65-Linus tree
+ - qgen can now handle repeated information elements
+ - added ATM_SETESI[F] ioctl and esi utility (boards without a real ESI in ROM
+   should now set the default ESI to 0x000000000000)
+ - new socket option SO_ATMSAP along with struct atm_sap (using a fixed-size
+   BLLI array instead of the linked list in struct sockaddr_atmsvc)
+ - added Q.2963.1 PCR modification in signaling and the ENI driver
+ - aread: new option -c to print received data as characters (similar to od -c)
+ - new tool test/align to test handling of mis-alignment in NIC drivers
+ - atmsigd now supports policy restrictions for incoming/outgoing calls (see
+   atmsigd.conf.4, "policy")
+ - atmsigd can now also use a pair of named pipes (or, actually, any named
+   object in the file system) for communicating with the user of signaling
+   (normally the kernel)
+ - new tool called "isp" (for "Internal Signaling Protocol") to talk ISP with
+   atmsigd over named pipes
+ - new functions sap2text and text2sap to converts SAPs to/from textual
+   representation, and a sap(7) man page
+ - new traffic parameter field "pcr" to indicate the desired PCR. min_pcr and
+   max_pcr can the be used to indicate the acceptable range.
+ - new function atm_pcr_goal to help drivers to interpret traffic parameters
+
+Other changes
+-------------
+
+ - removed some more obsolete CLIP-related ioctls
+ - qgen: simplified generation of engines with a prefix other than "q" or "qd"
+ - ENI and ZATM drivers now use shareable interrupts
+ - cleaned up some 32bit-isms in ENI driver
+ - cleaned up several 32bit-isms in SSCOP (reported by Tan Chang Hu)
+ - SSCOP: work-arounds for buggy ntohl prototype in some early versions of
+   glibc (reported by Tan Chang Hu, further explored by David S. Miller and
+   Richard Henderson)
+ - started updating the ZATM driver for 2.1 (still crashes under load)
+ - added missing 2.1 pieces in ENI's SUNI driver
+ - added __initfunc and __initdata where appropriate
+ - tools tree now compiles under 0.31 (2.0.25 kernel) and 0.33 (2.1.55 kernel)
+ - gratuitous improvement of identifier tree allocation in qgen
+ - the interface number is now optional for sonetdiag (like for atmdiag)
+ - started implementing the kernel side of point-to-multipoint signaling
+   support
+ - /proc/atm/arp now displays "resolving" or "expired" (with the number of
+   times the entry is referenced) instead of "incomplete".
+ - moved ATM_MAX_BLLI from linux/atm.h to linux/atmsap.h
+ - changed ttcp_atm to use SO_ATMSAP (if available) to set BHLI
+   Note: ttcp_atm previously didn't use a BHLI, so old and new versions of
+   ttcp_atm don't interoperate.
+ - updated all other programs using SAPs too, except for LANE
+ - ENI: failure to allocate a traffic shaper now yields EBUSY instead of EAGAIN
+ - instead of just complaining, the ENI driver now handles all kinds of
+   mis-alignment in the TX path properly
+ - re-implemented send and receive side of Arequipa
+ - merged qgen/uni3x and qgen/uni40 into msg.fmt
+ - added missing Q.2931/UNI 4.0 items to qgen/q2931.h and msg.fmt
+ - also added BLLI L3 H.310 codepoint with related encodings
+ - various file name and identifier changes to give a more appropriate name
+   (e.g. "uni" or "call") to something that's never been Q.2931
+ - added library dependencies
+ - atmsigd produces more readable and usually more comprehensive debugging
+   output
+ - atmsigd.conf.4 now mentions that -d is the debugging output addict's choice
+ - all programs accepting -l syslog now also accept -l stderr. (This is useful
+   for atmsigd if atmsigd.conf sets logging to something else.)
+ - atmsigd now issues ATM_GETADDR ioctls on the signaling socket, not on the
+   kernel socket
+ - WARNING: text2qos: "pcr" is no longer a synonym for "max_pcr" !
+ - text2qos now refuses min_pcr=max
+ - device driver interface: removed vcc->peek; device drivers now choose their
+   own allocation strategy (change motivated by bug report from Furquan Ansari)
+ - drive driver interface: new helper functions atm_charge/atm_return to handle
+   buffer space allocation
+ - device driver interface: vcc->push no longer allocates buffer space. This is
+   now done by the driver, via atm_charge
+ - updated eni, zatm, and atmtcp to use the new mechanism
+ - zero padding in eni driver failed due to mis-alignment on some systems
+   (fixed by Pete Wyckoff)
+ - various compiler warnings removed (by Pete Wyckoff)
+ - removed support for pre-AREQUIPA_WORK mechanism
+ - arequipa close mechanism cleanup
+ - further cleaned up QOS parameter checking
+ - new ISP message as_identify for parallel call processing (not supported yet)
+ - zatm: renamed  struct zatm_thist  to  struct zatm_t_hist  after wondering
+   myself what on earth "this t" could be ...
+ - doc/Makefile now invokes dvips with -o
+
+
+Version 0.31 to 0.32 (10-JUL-1997)
+====================
+
+Bug fixes
+---------
+
+ - manipulation of local ATM addresses didn't check for permission
+
+New features
+------------
+
+ - ilmid now supports the system group and a couple of ILMI MIB objects (by
+   Scott Shumate)
+ - device and VCC allocation is now dynamic
+ - E.164 addressing support and corrections to address coding in uni3x/uni40
+   (by S. A.  Wright, T. C. Jepsen, and Z. Zhang)
+ - support for device de-allocation via per-device operation dev_close
+
+Other changes
+-------------
+
+ - upgrade to kernel version 2.1.37
+ - ENI driver cleanup (uses readl/writel, skb_put, etc.)
+ - socket option handling has changed: optval is now void * (to improve
+   compile-time type checking) and optlen is int (not int *) in getsockopt
+ - socket option "names" now encode the level and the size (based on an idea of
+   Elwyn Davies)
+ - cleaned up some of the #includes in net/atm/proc.c
+ - total rewrite of ATMTCP (now the data forwarding is done in user space,
+   which makes things slower but a lot more flexible)
+ - separated PDU parsing and printing from SSCOP state machine
+ - new per-device operation dev_close to shut down devices
+ - changed a few DIAG_WARNs to DIAG_INFO in ilmid
+
+Removed features
+----------------
+
+ - polled ATM devices are no longer supported
+ - CLIP is gone (use ATMARP instead)
+ - Arequipa and LANE don't work yet (will come back later)
+
+
+Version 0.30 to 0.31 (22-APR-1997)
+====================
+
+Bug fixes
+---------
+
+ - atmarpd even refused IP address changes by the ATMARP server, which
+   typically led to the creation of one extra SVC
+ - ATMARP timeouts were computed at the wrong place (found by Gerald Hanusch)
+ - aqtest's usage didn't mention the -v option
+ - some tools used 0x%p instead of %p (which is fine in the kernel, by the way)
+ - skb_migrate didn't update skb->list
+ - zeppelin: incurred spurious core dumps on unsuccessful attempts to connect
+   to LANE servers, ESI parsing from command line seg faulted, obtaining ESI
+   from NIC left an ATM socket hanging, man page didn't describe all options
+   (by Marko Kiiskila and Heikki Vatiainen)
+
+Other changes
+-------------
+
+ - arequipa_close now only returns after the Arequipa connection has been
+   successfully closed. This allows applications to reliably close and
+   re-create Arequipa SVCs, e.g. to change the traffic parameters.
+ - the arequipad operations 3rd party close and synchronization are now handled
+   inside the kernel and survive arequipad restarts
+
+
+Version 0.29 to 0.30 (10-APR-1997)
+====================
+
+Bug fixes
+---------
+
+ - atmtcp didn't use vcc->push and therefore got the buffer usage accounting
+   wrong (fix by Gerald Hanusch)
+ - when closing a VC, the ENI driver didn't wait until all TX data has really
+   left the board, which created a close/open race (found by Richard Jones)
+ - SSCOP sometimes omitted the last element in a STAT PDU (fix - even with
+   optimization vs. Q.2110 - by Ngo Bach Long)
+ - atmarpd allowed ARP information to change permanent entries (found by Gerald
+   Hanusch)
+ - atmsigd's get_pvc used the maximum SDU size, thereby wasting buffer space
+   very quickly, which led to signaling problems (reported by Richard Jones and
+   Rik Wade)
+ - oops, the BUGS file was always one version number ahead
+ - ATMARP had a race between packets sent by the remote station and the
+   ATMARP_MKIP ioctl. This caused the dreaded "unknown hw protocol 0xaaaa"
+   error. (Finally fixed thanks to a dump provided by Patrick Flynn)
+ - Arequipa had the same race for AREQUIPA_INCOMING. This probably caused the
+   occasional "loss" (they were actually kept in vcc->recvq until the
+   connection was closed) of the first packet(s).
+
+
+Version 0.28 to 0.29 (4-APR-1997)
+====================
+
+Bug fixes
+---------
+
+ - saal/sscop.c: NORMALIZE macro was weird and broken (fix by Ngo Bach Long)
+ - InARP queries didn't contain the target ATM address, even if it is known,
+   which stretches the allowances RFC1577 makes for violating RFC1293 (found
+   by Juha Heinanen)
+ - tcp_conn_request: Arequipa modification to MTU size calculation used wrong
+   socket (fix by Gerald Hanusch)
+ - kernel ATMARP table handling had some obscure races
+ - temporary work-around: added A2T_LOCAL when using A2T_NAME in atmsigd and
+   atmarpd. Before, systems using ANS where the name server is reached via (IP
+   over) ATM exhibited truly bizarre failure patterns when refreshing ATMARP
+   entries. (With a lot of help from Juha Heinanen)
+ - ditto for arequipad, although the effects were less dramatic
+ - atmarpd: if not using -m, incoming connections for which a valid entry
+   already existed (e.g. due to manual configuration) were not entered in the
+   kernel ATMARP table until after the entry timed out for the first time (by
+   Gerald Hanusch)
+ - skb data areas are now aligned using skb_reserve instead of directly
+   tampering with skb->data (and forgetting skb->tail in the process ...)
+   (found by Uwe Dannowski)
+
+New features
+------------
+
+ - atmarpd is now automatically notified of IP over ATM interfaces already
+   existing at startup. This greatly simplifies the atmarpd restart ritual.
+   (All ATMARP table entries and the default QoS are still lost, though.)
+
+Other changes
+-------------
+
+ - cleaned up some weird and partially dead code in arpd/arp.c (found by
+   Gerald Hanusch)
+ - removed superfluous continue in arp.c:atmarp_setentry
+ - device-driver specific declarations now reside in
+   /usr/include/linux/atm_<drv_name>.h, so that disgusting hacks like
+   #include "/usr/src/linux/..." can be avoided (based on proposal by Uwe
+   Dannowski)
+ - updated the list of supported NICs in README and the on-line help
+ - arpd/atmarpd.8: documented that atmarpd -m may violate RFC1577 in subtle
+   ways (pointed out by Gerald Hanusch)
+ - updated MPR usage description to version 1.5 and removed mpr.patch
+ - removed MEM_DEBUG from the build process (MPR 1.5 initializes itself
+   automatically)
+
+
+Version 0.27 to 0.28 (27-MAR-1997)
+====================
+
+Bug fixes
+---------
+
+ - atmarpd restarted timers on as_valid -> as_valid transitions, illegally
+   delayed necessary refreshes (reported by Juha Heinanen)
+ - SSCOP cleared POLL timer on IDLE timer expiry (fix by Ngo Bach Long)
+ - atmsigd didn't initialize "now" soon enough, causing an unnecessary
+   retransmission of the first BGN PDU (by Ngo Bach Long)
+ - atmsigd responded to RELEASE COMPLETE in ss_rel_ind with a STATUS instead of
+   entering ss_wait_close (by Steve Pope)
+
+New features
+------------
+
+ - new tool aqpvc to declare incoming Arequipa traffic on a PVC to the system
+   (caveat: removing such a PVC can turn out to be surprisingly difficult)
+
+Other changes
+-------------
+
+ - removed some useless code in atmarpd's handling of VC disconnects
+ - removed unused signaling state ss_hold (equivalent to ss_wait_rel)
+
+
+Version 0.26 to 0.27 (11-MAR-1997)
+====================
+
+Bug fixes
+---------
+
+ - oops, forgot to include atm/lib/rtf2e164_cc.pl in the distribution
+ - atmsigd's VCI allocation in -N mode was too simplistic and failed after some
+   signaling activity (reported by Richard Jones)
+ - atm_connect was rejecting ATM_{VPI,VCI}_ANY
+ - aq_prev in the list of Arequipa connections wasn't set properly, leading to
+   random crashes when using Arequipa (found and fixed by Richard Jones, after
+   weeks of tearing his hair out)
+ - arequipa_close didn't remove the Arequipa route, which kept the upper layer
+   protocol connection alive for a rather long time (reported by Richard Jones)
+
+New features
+------------
+
+ - ilmid enhancements: vastly improved retry mechanism, workaround for a bug in
+   the ATML Virata switch, -v option for very detailed debug output (Scott
+   Shumate)
+ - atmsigd now also accepts the signaling VC as a command line argument
+ - qos2text appended colon to traffic type even if nothing else followed
+ - new program debug/aqtest to test Arequipa (based on work by Mehdi Tazi)
+
+Other changes
+-------------
+
+ - added a few missing NULLs to struct atmdev_ops initialization in various
+   drivers (this change does not alter any semantics)
+ - changed  printk ...%lx... (unsigned long) ptr  to  ...%p... ptr at many
+   places
+ - removed atm/lib/rtf2cc.pl and atm/lib/cc.inc (they were only used by an
+   interim version of cc_len)
+ - atmarp's usage no longer contains lines longer than 80 characters
+ - added get_logfile() and get_verbosity() to libatm (for ilmid, by Scott
+   Shumate)
+ - select() consumed CPU time unnecessarily if testing for one direction while
+   there's a lot of activity in the other direction (e.g. atmarpd wasted cycles
+   in select() for each outbound packet while waiting for ARP messages)
+ - the value of ATM_AAL0 has changed (from zero to 13), so all programs using
+   AAL0 need to be recompiled
+ - MAX_ATM_QOS_LEN has changed, so most programs using qos2text need to be
+   recompiled
+ - the AAL can now also be set along with the QoS parameters. This approach
+   should be used instead of specifying it in the socket() call.
+ - if no AAL is specified, the kernel now defaults to AAL5 (was AAL0)
+ - updated most demons, tools, and library functions to set the AAL along with
+   the QoS parameters
+   
+
+Version 0.25 to 0.26 (29-JAN-1997)
+====================
+
+Bug fixes
+---------
+
+ - ATMARP VCCs could stay around forever even after timing out, because the
+   process was not woken up.
+ - the ATMARP "fix" in 0.25 introduced an infinite loop. Fixed that one too.
+ - bit 8 in octets 6 and 7 of BLLI ("ext") were set to 1 instead of 0 when
+   using ATM_L2_USER/ATM_L3_USER (reported by ukl2@rz.uni-karlsruhe.de)
+ - qlib added silly offset (which fortunately happened to be zero most of the
+   time) to dumps of large fields (fixed by Jean-Francois Moine)
+ - IP over ATM restricted MTU changes to valid Ethernet MTU sizes
+ - LANE: fixed two bugs that crashed zeppelin when the connection to the
+   servers failed (by Marko Kiiskila)
+
+New features
+------------
+
+ - lib/ans.c now properly computes the length of the country prefix of E.164
+   addresses for reverse lookups (needs file /etc/e164_cc, see USAGE)
+ - if the new -m option is set, atmarpd now merges incoming calls into the
+   ATMARP table if the ATM address is known (see atmarpd.8 for details)
+ - included an RPM spec file (this is still very experimental)
+ - NICStAR driver now also works with IP over ATM (by Stuart Daniel)
+ - usage.txt: added description of how to run ATM NICs back-to-back (by Richard
+   Jones)
+
+Other changes
+-------------
+
+ - signaling traces now also include SAAL up/down transitions
+ - qgen no longer (unnecessarily) depends on libatm.a
+ - started work on letting qgen handle items that appear at more than one
+   place, e.g. repeated IEs (after an idea by Jean-Francois Moine)
+ - did some cleanup and added comments to qlib.[ch]
+ - added -m option to atmarp in config/redhat-4.0/atm.init
+ - added new make target "filenames" to generate a list of all the files which
+   are installed
+ - config/redhat-4.0 now contains an example hosts.atm file and also a Makefile
+   for more convenient installation
+ - atmsigd now reads atmsigd.conf before parsing the command-line options,
+   thereby allowing values set in the file to be superseeded
+ - atmsigd now also logs the internal reference and the caller's address on
+   calls establishment
+ - ilmid: very dirty hack to give switches some time to process ILMI cold start
+   (by Joseph Evans)
+
+
+Version 0.24 to 0.25 (20-DEC-1996)
+====================
+
+Bug fixes
+---------
+
+ - net/atm/atmarp.c:idle_timer_check only expired every other entry (reported
+   by Marko Kiiskila)
+
+New features
+------------
+
+ - LANE now also supports IPX (SNAP and 802.3; by Marko Kiiskila)
+ - NICStAR driver now supports VPI != 0 and has configurable settings in
+   nicstar.h (by Stuart Daniel)
+
+Other changes
+-------------
+
+ - ENI: TX DMA scratch are is now stored per device. This should allow multiple
+   NICs to coexist.
+
+
+Version 0.23 to 0.24 (29-NOV-1996)
+====================
+
+Bug fixes
+---------
+
+ - atm/test/window.c was missing in 0.23
+ - atm/debug/delay didn't build unless atm/lib headers were already installed
+   in /usr/include
+ - atm/debug/znth had undefined return value
+ - SSCOP: fixed typo (that could probably kill the SSCOP connection in case of
+   a retransmission); fix by Olivier Bonaventure
+ - corrected unnecessarily large buffer allocation in zatm.c:pool_index (by
+   Jonathan Larmour)
+ - hosts2ans.pl generated reverse addresses for the domain "ATM.INT" instead of
+   "ATMA.INT"
+ - atmarpd "forgot" any pre-set QOS when receiving new ARP information for the
+   respective entry (reported by Gerald Hanusch)
+ - window scale didn't scale the window sent in the SYNACK packet (reported by
+   Juan-Antonio Ibanez)
+ - LANE: better connection failure handling in zeppelin (by Marko Kiiskila)
+ - LEC kernel timer wasn't restarted when restarting zeppelin (found by Gerald
+   Hanusch, fixed by Marko Kiiskila)
+ - LANE: le_flush_request was sent too early when establishing connection (by
+   Marko Kiiskila)
+ - zeppelin stopped operation (unwantedly) in random cases when LANE servers
+   were down (by Marko Kiiskila)
+ - LANE: non-blocking connections, VCC and LE ARP timeouts, and TLV fields in
+   LE_CONFIG_RESPONSE fixed (by Marko Kiiskila)
+
+New features
+------------
+
+ - atm2text now also uses ANS
+ - signaling traces now also contain error reports from qgen
+ - added new build-time configuration option "CISCO" (in atm/Rules.make) to
+   work around a bug in Cisco's point-to-multipoint signaling
+ - included example configuration files for RedHat 4.0 (see
+   atm/config/redhat-4.0/README)
+
+Other changes
+-------------
+
+ - local variable "link" in atm/debug/delay.c:loop was shadowing "link" system
+   call
+ - cleaned up various Makefiles
+ - qgen: bytes left in qet_space are now more meaningful
+ - named (ANS) now also starts even if atmsigd is not running and retries to
+   create the ATM socket in 15 minute intervals until is succeeds (by Marko
+   Kiiskila)
+ - LANE: (too) short le_flush_responses (Cisco 7010, sw ??.??) are now handled
+   (by Marko Kiiskila)
+
+
+Version 0.22 to 0.23 (16-NOV-1996)
+====================
+
+Bug fixes
+---------
+
+ - fixed stupid typos in atm/lib/atmres.h and an unnecessary dependency on
+   libresolv.a in atm/lib/Makefile (reported by Gerald Hanusch)
+ - fixed warning about implicit declaration of function bigphysarea_init in
+   init/main.c
+ - I think I fixed the SSCOP VR(MR) problems that were first reported by
+   Edouard Lamboray in '95, then by Heinz Schuerch, and that finally led to a
+   total SSCOP breakdown (in 0.22) reported by Gerald Hanusch
+
+New features
+------------
+
+ - integrated the IDT 77201 (NICStAR) driver by Matt Welsh and Stuart Daniel
+   <stuartd@eecs.umich.edu>. Note that this driver currently only supports
+   native ATM.
+ - new throughput and latency benchmark test/window (by Matt Welsh)
+
+Other changes
+-------------
+
+ - upgrade to kernel version 2.0.25
+ - changed drivers/atm/eni.c:do_tx:dma to static in order to reduce kernel
+   stack use (by 480 bytes). Note that this hack may crash systems with more
+   than one ENI adapter.
+ - qlib now also complains if changing a field without a fixed list of values
+ - made a few changes to the native ATM data delivery path to handle some
+   strangeness required by the IDT driver
+
+
+Version 0.21 to 0.22 (13-NOV-1996)
+====================
+
+Bug fixes
+---------
+
+ - (dummy) depend target was missing in atm/man (reported by Bernd Wolf)
+ - net/atm/arequipa.c:make_aq_vcc didn't set ATM_VF_AQINUSE, thereby allowing
+   race conditions to slip through
+ - fixed a few potential race conditions when activating Arequipa
+ - text2qos didn't complain if unit was omitted after multiplier, allowing
+   misleading settings like pcr=50M (that's 19.2 Gbps)
+ - SSCOP: took wrong branch if POLL_AFTER_RETRANSMISSION was enabled (fix by
+   Jonathan Larmour)
+ - SSCOP: rel_ind for ENDAK and BGREJ PDU in sscop_inconn was sent with "user"
+   = 1 (must be 0 for "Source := SSCOP")
+ - initialize_vr_mr now initializes vr_mr to a constant value (instead of
+   garbage plus constant value)
+ - atm_recvmsg now ignores msg->msg_name, as it should by POSIX 1003.1g (fix by
+   Mike Wooten)
+ - atm_sendmsg now fails with EISCONN instead of with EINVAL if msg->msg_name
+   is set, as it should by POSIX 1003.1g (reported by Mike Wooten)
+ - atm_recvmsg and atm_sendmsg now return ENOTCONN if not connected and
+   EOPNOTSUP if flags are passed, as they should by POSIX 1003.1g
+ - the QOS zeppelin uses for its connections can now be set with the option -q
+ - atmarpd didn't include the QOS in PVC entries, so atmarp -a complained about
+   them
+
+New features
+------------
+
+ - kernel changes to support tcpdump with LANE (by Marko Kiiskila)
+ - patch for tcpdump 3.0.4 (installed as tcpdump_atm) to support Classical IP
+   and LANE (by Marko Kiiskila)
+ - patch for BIND 4.9.5 to support ANS (ATM Name Service) functionality (by
+   Marko Kiiskila)
+ - added hierarchy extra/ for packages for which only patches are contained in
+   the ATM on Linux distribution
+ - enhanced text2atm to use ANS if local lookups fail (atm2text will be updated
+   later)
+ - wrote script extra/hosts2ans.pl to convert hosts.atm file to ANS zone files
+
+Other changes
+-------------
+
+ - changed ATM_VF_AQINUSE to ATM_VF_AQDANG and changed aq_list membership to
+   be for dangling VCs only
+ - added the new command-line options to ttcp_atm's online help (finally !)
+ - atm_sendmsg now returns error codes from the driver's send function
+   (suggested by Jonathan Larmour)
+ - text2qos now performs a syntax check if NULL is passed in the qos argument
+ - various minor LANE cleanup (Marko Kiiskila)
+ - upgraded to the latest version of t2a.pl
+ - {A2T,T2A}_REMOTE is obsolete; instead, {A2T,T2A}_LOCAL should be used if
+   ANS lookups are _not_ desired
+
+
+Version 0.20 to 0.21 (18-OCT-1996)
+====================
+
+Bug fixes
+---------
+
+ - net/atm/common.c:atm_connect didn't refuse traffic_class == ATM_NONE in both
+   directions
+ - include/linux/atmsvc.h:SELECT_TOP_PCR didn't default to ATM_MAX_PCR if
+   min_pcr == 0 && max_pcr == 0
+ - debug/delay swallowed one-byte packets
+ - oops, forgot man/Makefile, so qos.7 wasn't installed
+ - atmarpd left max_sdu at zero for automatically generated entries
+ - atmarpd now only uses the default QOS if the traffic type is set in neither
+   direction
+ - signaling: if the listen queue was full, new connections were rejected with
+   as_close instead of as_reject, thereby upsetting atmsigd
+ - svc_accept didn't adjust the listen queue quota when rejecting incoming
+   connection requests
+ - fixed a few bad font selections in atmsigd(8)
+
+New features
+------------
+
+ - included the window scale patch by Randy Scott <scottr@belle.bork.com> and
+   Robert Hill <rhill@tisl.ukans.edu>
+ - -q option for ilmid to set the QOS (like in atmsigd)
+ - new script mkbindist to install the utilities into a tar.gz file
+
+Other changes
+-------------
+
+ - debug/delay now prints the usage if invoked without arguments
+ - removed the pretentious usec resolution for delays in debug/delay
+ - removed the UBR semantics change warning
+ - qos.7: clarified that bps are the user data rate
+ - arequipa_attach_unchecked now also adjusts the upper layer MTU (which can
+   violate RFC1122, but I'll tackle that later)
+ - text2qos now also accepts fractional values, e.g. 9.6kbps
+
+
+Version 0.19 to 0.20 (14-OCT-1996)
+====================
+
+Bug fixes
+---------
+
+ - fixed a few typos and errors in the 0.18 to 0.19 change log
+ - signaling traces only included hl_type bytes instead of hl_length
+   bytes
+ - TNET1570 driver: various fixes (DMA allocation, seg ring overflow,
+   timeouts, etc.) (Christian Paetz)
+ - TNET1570 driver: removed most compiler warnings (Christian Paetz)
+ - listen() on an arequipa_preset() socket and arequipa_preset() on a listening
+   socket now both return EPROTO
+ - oops, forgot to enable the "rm" in  make uninstall
+ - kernel didn't set interface number field in act_create messages to atmarpd
+
+New features
+------------
+
+ - added ioctl ATM_SETSC to enable or disable RX and TX single-copy per VC
+ - new device driver operation change_qos (not yet implemented)
+ - TNET1570 driver supports DEC Alphas and 64 bit PCI transfer (for CIA PCI
+   chipsets) (Christian Paetz)
+ - TNET1570 driver also supports the UniNET1570 board (Christian Paetz)
+ - new functions text2qos and qos2text to convert between textual and binary
+   QOS specifications (the format is described in  man qos)
+ - atmarp -q ip_addr qos  sets the default QOS to use for all VCs created for
+   that IP interface
+ - new utility debug/delay to use machine as AAL5-level delay line
+
+Other changes
+-------------
+
+ - NLPIDs and vendor-specific application identifiers are now collected in
+   the new file /usr/include/atmsap.h
+ - SO_ATMQOS now attempts to change the QOS settings when invoked on an active
+   connection
+ - included Matt Welsh's bigphysarea patch (this isn't related to ATM, but it
+   keeps my development source tree simpler)
+ - arequipa_preset now initializes max_sdu to RFC1626_MTU+RFC1483LLC_LEN if
+   zero
+ - atmarp: new option  qos <spec>  to set the QOS parameters (uses text2qos)
+   Use of  pcr <pcr>  is deprecated.
+ - ttcp_atm's -P option now also accepts a QOS specification string. (use of
+   -P <number>  is deprecated.
+ - atmsigd: new option  -q <qos> and configuration clause  io qos <qos>  to
+   set the QOS of the signaling VC. Use of  -P <pcr>  or  io pcr <pcr>  is
+   deprecated.
+ - removed the backward compatibility  #define class traffic_class  in
+   linux/atm.h
+ - removed obsolete keywords from atmsigd.conf language
+ - atmarp -a now also includes QOS parameters
+ - UBR now respects txtp.max_pcr if set
+ - new rules for the use of [rt]xtp.traffic_class: both fields must be either
+   equal or zero, e.g. ATM_CBR in TX and ATM_UBR in RX no longer works
+ - doc/usage.tex now points to the man pages instead of repeating their content
+
+
+Version 0.18 to 0.19 (27-SEP-1996)
+====================
+
+Bug fixes
+---------
+
+ - sscop.c:data_sd had a comparison inversed, so generation of USTAT PDUs was
+   wrong in some cases (by Juhana Rasanen)
+ - sigd_enq: accessed vcc->qos without checking for vcc == NULL, causing an
+   "Oops" in atmaddr
+ - svc_accept: generated a general protection fault when atmsigd was killed
+   while a process was waiting for new incoming connections
+ - atmaddr didn't zero the address structure before calling text2atm
+ - LANE: fixed usage of kernel timers and LE_ARP_REQUESTs should now get sent
+   until the entry expires or a response is received (by Marko Kiiskila)
+ - less compiler warnings from LANE servers (Marko Kiiskila)
+ - SSCOP: fixed SDU size in AA-RETRIEVE.indication (reported by Heinz Schuerch)
+ - NULL encapsulation for ATMARP works now (reported by Gerald Hanusch)
+ - fixed stray EINVAL from get{sock,peer}name on PVCs (reported by Gerald
+   Hanusch)
+ - clip now sets max_sdu to RFC1626_MTU+RFC1483LLC_LEN when using LLC/SNAP
+   encapsulation
+ - if parsing of a Q.2931 message fails, atmsigd now aborts the call instead of
+   (stupidly) trying to process the incomplete and probably inconsistent data
+ - SUNI driver didn't properly mask out unused highest bits of some statistics
+   counters, thereby yielding absurdly high values
+ - zatm: changed timing of RX channel closing, so the dreaded "can't close RX
+   channel" message should be history
+ - fixed race between Arequipa attachment due to packet reception and closing
+   of the Arequipa VC
+ - local address validity check (for ATM_???ADDR) was all wrong (reported by
+   David Simpson)
+ - message dumper ignored fatal errors if debugging was not enabled
+
+New features
+------------
+
+ - man pages for lecs, les, bus, and zeppelin (Marko Kiiskila)
+ - configuration file name for les and bus can be defined (Marko Kiiskila)
+ - zatm: new kernel configuration option CONFIG_ATM_ZATM_EXACT_TS now supports
+   reception timestamps with microsecond resolution (the accuracy is only in
+   the ms range, though)
+ - new utility znth (ZeitNet Timer History) to monitor timer synchronization
+ - LANE now supports up to 4 LEC network interfaces (Marko Kiiskila)
+ - the Q.2931 message parser now recovers nicely from IE errors, logs the
+   event, and continues parsing. The higher layers of the signaling stack
+   don't use this information yet, though.
+
+Other changes
+-------------
+
+ - Arequipa's BHLI now uses a "vendor-specific application identifier" under
+   the EPFL OUI
+ - moved buffer/queue handling from lib/libatmd to saal/, because it is rather
+   SSCOP-specific anyway
+ - atm_release_vcc now complains if rx_inuse != 0 when closing (if this ever
+   happens, it may point out dangerous races with upper layer protocols)
+ - SO_ATMQOS now issues a warning when using UBR with {min,max}_pcr != 0
+ - max_sdu is now set by atmarpd to MTU+RFC1483LLC_LEN (atmarp could still
+   override this, if necessary)
+ - atmdump: new option -i to display the arrival interval instead of the
+   absolute time. Also changed the time format to be more readable.
+ - updated the kernel configuration documentation to indicate that the SMC
+   ATM Power155 adapters are compatible with the Efficient ENI-155
+ - atmarpd now deletes the old table file (containing stale information) if
+   invoked with -d (debug)
+
+
+Version 0.17 to 0.18 (9-SEP-1996)
+====================
+
+Bug fixes
+---------
+
+ - atmsigd didn't respond to SETUP followed by RELEASE with a RELEASE COMPLETE
+ - atmsigd now implements incoming call rejection (as_indicate -> as_close)
+ - kernel now opens the VC before sending the as_accept. This a) allows to
+   check if the parameters are acceptable, and b) avoids a race condition
+   between the sender and the local VC open procedure, which frequently led to
+   loss of the beginning of the first PDU sent on a new connection.
+ - qdump: _q_parse used the wrong length when dumping variable-length fields,
+   yielding a fatal internal error
+ - clip didn't set rxtp.max_sdu
+ - svc_accept didn't set ATM_VF_HASQOS, so getsockopt SO_ATMQOS didn't work
+   (by Marko Kiiskila)
+ - ttcp_atm calculated Mbps as 2^20 bits/sec instead of 10^6, thereby making
+   all results come out approximately 5% too low (by Fraz Ahmad)
+ - added $(LDLIBS) to linking of lane/lecs (by Lawrence MacIntyre)
+ - interface number allocation in clip and atmarp did not check for collision
+   with the respective other name space
+ - atmarp's -c option didn't work when omitting the "atm" in the interface name
+
+New features
+------------
+
+ - new man page: arequipad.8
+
+Other changes
+-------------
+
+ - simplified the internal signaling protocol by adding the as_reject message
+   (sent by kernel in response to as_indicate; not acknowledged by demon)
+ - packets received from Arequipa are no longer forwarded to other hosts
+ - further ilmid improvements to use RSTADDR less frequently (by Gerald
+   Hanusch; with a slight modification)
+
+
+Version 0.16 to 0.17 (2-SEP-1996)
+====================
+
+Bug fixes
+---------
+
+ - lib/diag.c didn't fflush when logging to a file
+ - arequipad didn't accept the -l option
+ - qgen: possible weird crashes because second.c:find_required accessed
+   value->tag even if vt_id
+ - qgen: fixed wrong PC indication in one error message in _q_parse
+ - make spotless didn't know about new $(*PGMS) targets
+ - atmsigd: fixed memory leak when sending messages to the kernel
+ - atmarpd: fixed memory leak when sending messages to the network
+ - atmsigd: didn't send final as_close when kernel closed connection
+   immediately after requesting it (as_connect)
+ - several minor corrections
+
+New features
+------------
+
+ - added make target "uninstall" to remove all files installed by
+   make install
+ - atmsigd has two new options: -D dump_dir to set the dump directory and
+   -t trace_length to set the length of the trace buffer
+ - wrote a few man pages: atmarp.8, atmarpd.8, atmsigd.8, atmsigd.conf.4
+ - added automatic support for memory debugging if MPR is installed (and
+   included a patch to make MPR 1.1 work with ELF). atmarpd and atmsigd
+   currently use this feature.
+
+Other changes
+-------------
+
+ - changed "class" to "traffic_class" everywhere
+ - make install  is now implemented in a more elegant way
+ - q.dump is now much better at finding symbolic names for numbers
+ - q.dump no longer prints zero-length fields
+ - qgen no longer includes constructor "microcode" in dumper
+ - atmarp now gives more informative error messages on ioctl failure
+ - removed obsolete ioctls SIOCGIFATMADDR and SIOCSIFATMADDR
+ - added hack to allow ilmid to be less hostile to locally configured addresses
+   (by Gerald Hanusch; with slight modifications)
+ - atmarpd now automatically sets ATF_PERM of PVC entries with NULL
+   encapsulation
+
+
+Version 0.15 to 0.16 (29-AUG-1996)
+====================
+
+Bug fixes
+---------
+
+ - fixed an "unterminated character constant" warning by CPP in qgen/uni3x
+ - atm/sigd/q2931.c always tried to read the Cause IE of RELEASE COMPLETE
+   messages even if it wasn't included
+ - LANE: fixed buffer allocation and VCC timeouts (Marko Kiiskila)
+ - LANE: when connecting directly to LES, name of the ELAN was not set
+   properly (discoverd by Gerald Hanusch; fixed by Marko Kiiskila)
+ - LANE, ATMARP, signaling: control sockets didn't account for messages sent
+   back from demons (fixed by Marko Kiiskila)
+ - permanent ATMARP entries for SVCs were ignored if no ATMARP server was
+   configured (reported by Gerald Hanusch)
+ - atmarp option "temp" mis-spelled as "term" (fixed by Gerald Hanusch)
+ - forgot to undo experimental rcvbuf/sndbuf change to unsigned long
+ - make modules didn't generate ATM modules
+ - atmtcp_attach_hook wasn't defined when compiling ATMTCP as a module
+ - ATM patch set dev->ip_atm to ether_arp in net/ppp.c and net/eql.c, so they
+   failed to work as modules
+
+New features
+------------
+
+ - added LANE servers (LECS, LES, and BUS) by Marko Kiiskila
+ - Rules.make: new variable INSTROOT for easier cross-installation
+ - atmsigd: added option -P to set the maximum PCR used on the signaling VC
+ - atmarp: added option "pcr <value>" (proposed by Gerald Hanusch)
+ - added the usual  -l <logfile>  option to arequipad
+
+Other changes
+-------------
+
+ - upgrade to kernel version 2.0.14
+ - SVCs can now be bound with any SEL value
+ - messages of size > quota can be sent if the send buffer is empty
+ - ilmid no longer empties the address list when refreshing the NSAP address
+   (by Gerald Hanusch)
+ - LANE client should now survive network reset (e.g. restart) gracefully
+   (Marko Kiiskila)
+ - LANE: major cleanup of zeppelin code (Marko Kiiskila)
+ - improved loadable module support for eni and zatm (i.e. loading works now)
+ - the message dumper can now be linked to programs that also use the
+   compilation/parsing functions
+
+
+Version 0.14 to 0.15 (31-JUL-1996)
+====================
+
+Bug fixes
+---------
+
+ - zatm: fixed traffic shaper settings for UBR (with a little help from Joern
+   Wohlrab)
+ - atmsigd compilation didn't use the same UNI version configuration as qgen
+ - field "class" in struct atm_traform broke compilation of ATM applications
+   written in C++, so it has been renamed to "traffic_class" (reported by
+   Furquan Ansari)
+ - AAL parameters IE wasn't included in CONNECT, which violated RFC1755
+   (discovered by Robert Olsson)
+ - zatm: removed broken sanity check for in-sequence skb delivery on RX
+ - clip didn't have clip_open function, so SIOCSIFFLAGS on the interface failed
+   with ENODEV
+ - single-copy compiles again
+ - zatm: driver doesn't pretend any longer to support single-copy (but
+   single-copy will come back later)
+ - QOS IE was sent with the wrong coding standard when using UNI 3.1 (with help
+   from Fraz Ahmad)
+ - zatm: forgot to remove some debugging code (around ZATM_TUNE)
+ - qlib.c didn't zero the length array, leading to (rare) "not enough space"
+   errors from QMSG (actually, the "break" mechanism seems to be flaky - will
+   have to check)
+ - fixed Arequipa race condition when the upper layer protocol and signaling
+   decided to close the SVC at the same time
+ - alloc_tx used to return NULL in out of memory conditions, thereby possibly
+   hanging atm_sendmsg
+
+New features
+------------
+
+ - ttcp_atm now also accepts names with -p
+ - (finally !) added send/receive buffer limits and cleaned up the use of
+   vcc->[rt]x_{inuse,quota}
+ - added mkdiff script for automatic generation of diffs
+ - Arequipa now works for PVCs too (but arequipad is now required for any
+   use of Arequipa, not only for incoming connections)
+
+Other changes
+-------------
+
+ - atm/atm-<version>.patch is now called atm/atm.patch (to make the diffs more
+   useful)
+ - the maximum SDU size is now checked in net/atm/common.c:adjust_tp
+ - text2atm/atm2text now accepts/generates E.164 addresses with a leading +
+   sign, as required by ANS (atm95-1532)
+ - internal signaling protocol: added message as_error to un-overload as_close
+ - internal signaling protocol: split as_establish into as_connect and
+   as_accept
+ - internal signaling prococol: as_close.reply no longer contains positive
+   numbers
+ - internal signaling prococol: as_bind now also carries the AAL type
+ - atmsigd: now also checks the AAL type in as_bind messages
+ - kernel signaling: a few minor changes
+ - STANDARDS (i.e. UNI version) configuration option has been moved from
+   atm/qgen/Makefile to atm/Rules.make
+ - atmsigd's startup message now gives more useful indication of which UNI
+   version(s) it supports
+ - signaling no longer uses sa[sp]_[rt]xtp, so ...
+ - sa[sp]_[rt]xtp is gone
+ - removed atm/sigd/svc.c from the distribution. We now have many other tools
+   for testing SVCs, so it's superfluous.
+ - atmarpd: revalidation is now less frequent (use -DFREQUENT_REVAL for
+   the faster timeout)
+ - ioctl CLIP_PVC now returns the number of the new interface and clip prints
+   its name to standard output (like atmarp -c)
+ - clip now issues the CLIP_PVC ioctl after binding, which avoids wasting
+   interface numbers on failed setup attempts
+ - atmsigd -d now sets the debug level for qgen and SSCOP to DIAG_INFO, and
+   doesn't set q_dump
+ - zatm: added protection against I > M
+ - atm_peek_aal5 now only aligns to page boundaries for pdu_size >= PAGE_SIZE
+ - eni driver now spits out CRC error messages at most every other second
+ - zatm driver now repeats RX error messages at most every other second
+ - ttcp_atm now sleeps for a second after setting up an SVC, because the
+   switch seems to lag behind (need to examine this further)
+ - moved SAAL from sigd/ to saal/ (for sharing with UNI 4.0 signaling)
+ - Arequipa sockets are now closed via arequipad instead of via atmsigd (new
+   ioctls AREQUIPA_CTRL and AREQUIPA_CLS3RD)
+ - various minor changes
+
+
+Version 0.13 to 0.14 (19-JUL-1996)
+====================
+
+Bug fixes
+---------
+
+ - LANE: reaction to LE_ARP_RESPONSE's wasn't always correct
+ - LANE: compiler warnings fixed
+ - LANE: comparing ATM addresses in checking whether connection is formed was
+   wrong
+ - zntune didn't divide by 1024 when displaying the "k"
+ - .depend wasn't deleted by make spotless
+ - ATM_GETSTAT and ATM_GETSTATZ used wrong argument type for coding ioctl
+   number. WARNING: programs using ATM_GETSTAT{,Z} need to be recompiled.
+ - requests to set up SVCs with ATM_NONE in both directions are now caught by
+   svc_connect (used to yield an invalid SETUP message)
+ - signaling: fixed connection identifier setting when acting as network side
+   (fix by Elwyn B Davies)
+ - ATMARP server ARP entries were undeletable
+ - atmarp showed wrong argument in error message when given an invalid ATM
+   address
+ - zatm: do_tx left interrupts turned off when returning with RING_BUSY
+ - LANE ARP hash table handling bugs fixed
+ - atmarp: act_create is now only sent on interface creation
+ - atmarp: act_down is now only sent once per transition
+ - demon control SVCs are no longer closed when atmsigd dies (new VCC flag
+   ATM_VF_META)
+ - netdevice notifier is now properly unregistered when atmarpd goes down
+   (not doing so caused endless loop in kernel on atmarpd restart)
+ - sigd_enq{_atomic} never calls schedule()
+ - atmsigd no longer "forgets" to bring up ARP server SVC before sending an
+   InARP
+ - atmarpd no longer dies with "timer in state 3" when the ARP server becomes
+   unreachable
+ - atm/atmarp.c: clip_create() now refuses creation of already existing
+   interface
+ - Documentation/Configure.help gave an obsolete URL for CONFIG_AREQUIPA
+   and doc/usage.tex also mentioned the old file name
+ - Arequipa didn't work in the outbound direction for TCP, because
+   net/ipv4/tcp.c was missing in the kernel patch
+ - drivers/atm/eni.c:foo raced with initialization of eni_boards if the
+   board lost the signal _immediately_ after being initialized
+ - atmarpd: fixed a few uninitialized entry->timer pointers (discovered by
+   Gerald Hanusch)
+ - atmarpd: arps entry should no longer get stuck in as_resolv
+
+New features
+------------
+
+ - compiles on SparcLinux too (but only atmtcp works)
+
+Other changes
+-------------
+
+ - upgrade to kernel version 2.0.0
+ - BHLI matching changed: SAPs without BHLI are now incompatible with calls
+   that specify a BHLI
+ - LANE: interface stays up when zeppelin dies -> possibility for
+   wrapper script around zeppelin
+ - LANE: LUNI interoperability test (ATM Forum/96-0805) is now followed
+   in setting ELAN name in LE_CONFIG_RESPONSE and LE_JOIN_RESPONSE,
+   there is also a delay of 1 second before sending LE_CONFIG_REQUEST and
+   LE_JOIN_REQUEST. This allows 'slow' LE servers to catch up.
+ - LANE: no longer uses sa[sp]_[rt]xtp
+ - LANE: now adjusts better to ATM address changes
+ - zeppelin: new option -m to select debugging output
+ - updated aping, aread, awrite, br, bw, atmdump, ilmid, atmarp, clip, atmarpd,
+   and zeppelin to use setsockopt SO_ATMQOS
+ - added option -x for ilmid to disable variable bindings (caused
+   interoperability problems with certain switches, e.g. the LS100)
+ - changed SO_CIRANGE into a pair of ioctls
+ - changed return value of fetch() (passed to atm_vcc->peek) from unsigned long
+   to __u32
+ - atmarp now accepts  arpsrv  option also for -d
+ - zatm driver can now also read ESIs of rev. 10 boards (with help from Nikos
+   Anerousis)
+ - awrite: fixed txtp.max_sdu calculation in awrite (was using uninitialized
+   variable "offset")
+ - atmarpd: IP interface removal now has the desired effect (used to do
+   nothing)
+ - atmarpd: now reports and ignores unexpected interface transitions
+ - added sigd_enq_atomic for atomic sigd_enq (so that non-Arequipa SVCs can
+   still use the "safe" but non-atomic version)
+ - made SIOCGIF* failures in atmarpd non-fatal (itf.c:itf_up was handling them
+   anyway)
+ - moved Arequipa-specific code from net/atm/clip.c to net/atm/arequipa.c, and
+   put code common to CLIP, Arequipa, and - to a lesser extent - ATMARP into
+   net/atm/ipcommon.[ch]
+ - Arequipa can now be complied without CLIP
+ - various minor documentation changes
+ - moved ATM device initialization from net/atm/pvc.c to drivers/block/genhd.c,
+   where most other devices are initialized too
+ - preparation for new binary locations: tools build process now knows about
+   four types of programs: for booting, for system use, for users, and for
+   internal use during build
+ - make install  now hides the  for  loops
+ - non-user binaries are now installed in /usr/local/sbin
+ - struct atm_iobuf.buffer is now of type void * (was int*). Also,
+   ATM_GETNAMES now returns the length in bytes in that field.
+
+
+Version 0.12 to 0.13 (7-JUN-1996)
+====================
+
+Bug fixes
+---------
+
+ - BHLI type used the ATM_HL_* values (which are off by one) in qgen/uni3x
+ - atmarpd ended up in a tight select-accept loop if atmsigd went away
+ - removed sleep in ZATM's do_tx (so it works with IP over ATM again)
+
+New features
+------------
+
+ - added experimental support for Application requested IP over ATM (Arequipa),
+   prototyped by Jean-Michel Pittet
+ - new traffic class ATM_ANYCLASS to accept incoming SVCs without looking at
+   the traffic parameters
+ - added (untested) support for SO_BCTXOPT/SO_BCRXOPT
+
+Other changes
+-------------
+
+ - SVCs used to listen are now marked as "LISTEN" in /proc/atm/svc
+ - added option -Q <atm_addr> to ttcp_atm to support AREQUIPA
+ - cleaned up the FILE macro and removed atm_dir in net/atm/proc.c
+
+
+Version 0.11 to 0.12 (3-JUN-1996)
+====================
+
+Bug fixes
+---------
+
+ - atm/lib/Makefile: had to comment out PGMS=test
+ - distribution didn't include atm/doc/usage.txt
+ - patch didn't include arch/i386/config.in
+ - return 0;  was missing at the end of net/atm/mmuio.c:mmu_step
+ - atm/ilmid didn't install into INSTBIN; also made some other Makefile
+   changes
+ - read() returned garbage instead of error when network drops connections
+ - POLL_AFTER_RETRANSMISSION in SSCOP didn't even compile
+ - SVCs: bind to wildcard addresses should now work even if no local address
+   is known yet
+ - make clean  in atm/qgen left some dirt
+ - ATM drivers didn't free skbs when detecting an error in TX direction
+ - SIOCMKCLIP was in the wrong #ifdef, so CLIP had to be enabled to make
+   ATMARP usable
+ - signaling didn't respond properly to messages with non-existent call
+   reference
+
+New features
+------------
+
+ - merged in LAN Emulation client support written by Marko Kiiskila
+ - new socket option SO_ATMQOS at SOL_ATM to set/get QOS parameters
+
+Other changes
+-------------
+
+ - t2a.pl now also works with Perl 5.001
+ - changed the TX side of the ZATM driver to use a ring instead of a list in
+   order to improve stability and throughput (needs some more testing)
+
+
+Version 0.10 to 0.11 (21-MAY-1996)
+====================
+
+Bug fixes
+---------
+
+ - README.DRIVERS still referenced INSTALL (it's now in USAGE)
+ - sap_decode didn't clear BLLI part of address structure
+ - trying to connect to NULL address fails locally instead of yielding an
+   invalid SETUP message
+ - bind now properly sets the local address
+ - SVC getname now returns the traffic parameters
+ - oops, zatm open_tx didn't return PCR
+ - awrite printed errors for connect() as "bind: ..."
+ - atmsigd no longer generates dummy call references (0x7fffff)
+ - atmtcp: changed a few kfree_skb to dev_kfree_skb, which should make it
+   work better (does anybody care to try ?)
+ - some more dev_kfree_skb fixed for control messages from or to demons (led
+   to some minor memory leaks)
+ - various major fixes for CBR SVCs
+ - RELEASE was signaled for SVCs before all data was sent
+ - single copy tried to access mem_map with user space addresses, leading to
+   crashes or worse
+ - zatm: sleep_on was racing with TX completion in close_tx, leading to hangs
+ - zatm: now fails attempts to open AAL0 VCs (used to accept them and to
+   crash later)
+ - BHLI encoding/decoding was broken in several ways
+
+New features
+------------
+
+ - hacked in primitive leaf-only p2m support (based on an idea by Marko
+   Kiiskil{)
+ - the socket layer, and the zatm, eni, and atmtcp drivers now support
+   two-phase connect
+ - PVCs now respect max_pcr (SVCs can't for now)
+ - lib/diag.c can now also log to a file or to syslog, and atmarpd, atmsigd,
+   and ilmid now have a -l option to use that
+ - new option  -c config_file  for atmsigd
+ - zatm and atmtcp now also support timestamps (but zatm timestamps can be
+   improved a lot by using the timestamps the uPD98401 generates)
+ - Classical IP over ATM support is now configurable
+ - added on-line help texts for configuration
+ - added atm/test/aping, a round-trip tester for PVCs
+ - added "flags" field to struct atm_dev and to atm_dev_register, on request
+   by Bureau 13
+
+Other changes
+-------------
+
+ - past versions of the BUGS list aren't included in the distribution anymore
+   because I didn't update them anyway
+ - invalid connect() calls now return an error instead of panicing atmsigd
+ - text2atm no longer clobbers sas_addr.{blli,bhli}
+ - greatly simplified zatm traffic shaper settings calculation (and it's
+   better than before too)
+ - atmsigd: diagnostics class "sig" (in atmsigd.conf) now also includes "SAP"
+ - DPRINTK now uses GNU-specific #define foo(bar...)
+ - signaling: PCR is now also indicated (0) for directions in which ATM_NONE
+   is requested, which is probably "cleaner" (for CBR)
+ - added logging priorities to most printks
+ - the default location for atmsigd.conf changed from . to /etc
+ - ipv4/af_inet.c: atmtcp_attach_hook is now only included when using ATM over
+   TCP
+ - configuration options for extended driver debugging, (old) CLIP, and
+   ATM over TCP are turned off by default
+
+
+Version 0.9 to 0.10 (21-MAR-1996)
+===================
+
+Bug fixes
+---------
+
+ - zatm: deallocated UBR shaper when closing UBR VC, which the other UBR VCs
+   didn't really appreciate
+ - fixed nasty memory leak for native ATM (spotted by Rolf Fiedler)
+
+New features
+------------
+
+ - added Rolf Fiedler's driver for his adapter based on the TI TNETA1570
+ - single-copy is back again !
+
+Other changes
+-------------
+
+ - eni buffers are now slightly (50%) bigger, allowing for more effective
+   overlapped operations
+ - documented zntune
+
+
+Version 0.8 to 0.9 (14-MAR-1996)
+==================
+
+Bug fixes
+---------
+
+ - oops, accidently removed ZN1221 from drivers/pci/pci.c (so /proc/pci
+   reported it as "unknown")
+ - sigd didn't poll for the default interface on startup
+ - atmarpd didn't initialize timer field in newly allocated table entries,
+   which led to crashes
+ - removed a few stray debugging printks in net/atm/svc.c:svc_bind
+ - ATMARP tried to send queued packet before adding new table entry, so the
+   packet was always discarded
+ - sigd/sap.c: didn't allow to use different traffic classes for fwd and bwd
+   direction
+ - atm2text accepted SVC addresses of all zeroes
+ - atmsigd didn't refresh its local address list properly after ilmid restart
+ - net/atm/common.c: returned positive error codes (-vcc->reply) instead of
+   negative ones
+ - forgot to include maint/zntune.c in the distribution
+
+New features
+------------
+
+ - sigd/svc now accepts ATM addresses in all formats supported by text2atm
+
+Other changes
+-------------
+
+ - upgraded to kernel version 1.3.73
+ - the called party number must now match the local address (if bound)
+ - renamed ttcp.atm to ttcp_atm
+ - all executables are now explicitly linked (so make works even without
+   dependencies)
+
+
+Version 0.7 to 0.8 (12-MAR-1996)
+==================
+
+Bug fixes
+---------
+
+ - fixed stray segmentation violation in arpd/arp.c:learn
+ - fixed coding standard of the QoS IE if using UNI 3.0 (and made coding
+   standard variable)
+ - made coding standard variable for Cause IE
+ - SSCOP didn't properly set N(MR)
+ - list elements in STAT PDUs had host byte order
+ - SSCF didn't call sscop_estab_resp on restart (AA-EST.ind in 1/1)
+ - signaling didn't handle SAPs with >= 2 BLLI IEs properly
+ - uni3x: iso_hli and user_hli were confined to 7 bytes, but UNI allows up to 8
+ - q_read choked on non-variable-length fields
+ - qgen sometimes didn't read all IEs of a signaling message
+ - fixed usage line of test/bw
+ - qgen no longer complains about missing required fields after a break
+ - fixed compiler warning in zntune.c
+ - fixed ATMARP table additions (caused GPF when flushing ATMARP entry at
+   the end of the table and possibly other problems)
+ - qgen: q_put or'ed data instead of overwriting it, which caused problems
+   only on surprisingly few occasions
+
+New features
+------------
+
+ - atm2text and text2atm now also do name lookups via a /etc/hosts.atm file
+ - atmaddr, atmarpd, and atmsigd now pretty-print addresses using name
+   translation (unless invoked with -n)
+ - atmarpd now dumps its table into /var/run/atmarpd.table and atmarp -a
+   reads it from there
+ - started modularizing the ENI and ZATM drivers
+ - ilmid and atmsigd now support multiple interfaces (untested)
+
+Other changes
+-------------
+
+ - the documentation is now available in LaTeX and in ASCII
+ - rewrote most of the SAP handling code (now everything is in sigd/sap.c)
+ - proto.c:lookup_sap now picks wildcard SAP last
+ - signaling always includes SSCS type = 0 in SETUP messages (for LANE)
+ - changed the message format for the the kernel-demon signaling protocol
+ - qgen is now a bit more tolerant when being fed with bad data
+ - qgen now assumes that q_report(Q_FATAL,...) doesn't return
+ - marked sigd/test.c as obsolete
+ - svc_accept failing in atm_connect no longer returns success
+ - atmsigd -n is now atmsigd -N
+ - qgen now puts the PC in q.out.c and qd.out.c at the beginning of the code
+   line and not on a line by itself
+
+
+Version 0.6 to 0.7 (2-FEB-1996)
+==================
+
+Bug fixes
+---------
+
+ - removed TTL setting ioctl (1234) used for something entirely unrelated to
+   ATM, oops
+ - changed kfree_skb in atm_pop_raw to dev_kfree_skb (this fixes the socket
+   "leak")
+ - more unusual configurations (no PCI, no IP, no /proc) should compile now
+ - atm_equal didn't recognize wildcards in embedded E.164 addresses
+ - fixed net/atm/proc.c:svc_addr (too many bugs to mention)
+ - atmarpd didn't check for ARP traffic on inbound connections
+ - atmarpd didn't properly merge incoming connections with existing entries
+ - various other ATMARP fixes
+ - free list was too short in ENI driver for worst case fragmentation on
+   2 MB boards
+ - signaling didn't set ISO/IEC TR9577 IPI and NLPID correctly in active open
+ - getname looked at *sockaddr_len, which is uninitialized (need to fix this
+   later in the common socket code)
+ - SSCOP generated incorrect error code ("1" instead of "B") for BGN PDU
+   problems
+
+New features
+------------
+
+ - new ioctls ATM_GETADDR, ATM_RSTADDR, ATM_ADDADDR, and ATM_DELADDR to
+   manage local ATM addresses
+ - signaling now handles incoming RESTART, SAAL failure, and SAAL
+   re-establishment
+ - ATMARP now times out idle connection; ATMARP_MKIP ioctl takes a timeout
+   argument
+ - ATMARP (kernel) now queues one skb per pending ARP request and limits the
+   rate of requests for the same address (default 2 req/min)
+ - atmsigd now prints cause values when receiving a RELEASE or a RELEASE
+   COMPLETE and returns more informative error codes
+ - atmarpd falls back to PVC-only operation if signaling is unavailable at
+   startup
+ - kernel can now assign next free number on IP interface creation (atmarp
+   prints the interface name)
+ - qgen -D generates a Q.2931 message dumper (see USAGE for details)
+ - qgen now checks for proper use of repetition indicator (but doesn't
+   support repeated IEs yet)
+ - protocols and device drivers can now use their own memory allocator in the
+   TX direction by changing vcc->alloc_tx
+
+Other changes
+-------------
+
+ - upgraded to kernel version 1.3.53
+ - build process now uses Perl
+ - ATM ioctls writing back data now always return the size of the data
+   structure written
+ - struct atmif_sioc now has a length field (recompile all atmarpd, ilmid,
+   debug/ed, and everything in maint)
+ - PHY driver no longer has to check validity (permissions and access) for
+   "standard" ioctls
+ - signaling should now also work on an interface > 0 (but there's still only
+   one interface using signaling per host)
+ - make install  now adds /usr/include/atm.h and /usr/include/atmd.h
+ - atmarpd now also displays if SVC has been opened actively or passively
+ - atmaddr(8) now uses new ioctls and has different command-line syntax
+   and even has a man page
+ - example IP addresses in USAGE now conform to RFC1597
+ - diagnostics now also include the application name (optional)
+
+
+Version 0.5 to 0.6 (21-DEC-1995)
+==================
+
+Bug fixes
+---------
+
+ - ARP ioctls stopped working for most non-ATM devices, oops
+ - ATMTCP driver counted lack of memory as rx_err instead of rx_drop
+ - select on driver using polling may have hung
+ - atmarp man page and usage didn't indicate that the interface number is
+   optional
+ - restricted atmarpd and signaling control, and SIOCSIFATMADDR to the super
+   user
+ - atmtcp: fixed handling of VPI/VCI <= 0 for setsockopt(SO_CIRANGE)
+ - eni and zn driver had static UBR shaper pointer, making it difficult to have
+   more than one such device per system
+ - eni driver initialization didn't work properly in systems with ASIC Tonga
+ - suni.[ch]: confused MC (Master Config) and MCT (Master ConTrol) registers
+ - (SVC) accept now returns PVC -EAGAIN as -EBUSY because the operation cannot
+   be retried
+ - qgen: fixed several bugs in case handling (and made defaults work for
+   parsing)
+ - svc_dup passed PF_ATMSVC instead of AAL to svc_create
+ - plugged a few skb leaks in svc_accept
+ - text2atm didn't properly NUL-terminate E.164 addresses
+
+New features
+------------
+
+ - ZN1221 driver works partially for AAL5 (still hangs after a few dozen MB)
+   (also wrote maint/zntune to monitor/adjust free buffer pools)
+ - ENI driver now supports new Tonga ASIC boards
+ - added Scott Shumate's ILMI demon (for automatic address registration)
+ - text2atm: added wildcard support for SVCs (syntax: addr/bits)
+ - new library function atm_equal to compare SVC addresses
+ - new ioctl ATM_GETTYPE to obtain interface type name
+ - new ioctl ATM_GETESI to obtain ESI (parallels /proc/atm/devices)
+ - new ioctls SONET_SETFRAMING, SONET_GETFRAMING, and SONET_GETFRSENSE to
+   handle SONET vs. SDH framing
+ - added socket option SO_AALTYPE (SOL_AAL) to query AAL type (getsockopt
+   only)
+ - signaling demon is now notified on address changes (new message
+   as_itf_notify)
+
+Other changes
+-------------
+
+ - known bugs are now listed in a file called BUGS
+ - all utility programs (aread, awrite, atmdump, br, bw, clip, ttcp) now use
+   the notation [itf.]vpi.vci for PVCs (was  itf vpi vci , except for ttcp,
+   where it was only  vpi vci  (no itf))
+ - all ioctl values have changed
+   Note: most programs have to be recompiled because of this
+ - sigd and arpd now register their control sockets via ioctls
+ - (old) clip now creates interfaces with an ioctl
+ - text2atm now returns the wildcard length, i.e. a non-zero return value
+   no longer implies failure
+ - push_oam now returns an int (was void)
+ - push_oam now has several flags (in a bit set) instead of the immed
+   argument
+ - the peek function must now update the statistics if it rejects a packet
+ - (ATM device) close is now only invoked after a successful open
+ - the SUNI_GETLOOP ioctl now has an int * argument (was unsigned long *)
+ - uPD98402 driver no longer tries to detect return of the signal (didn't
+   work anyway - would have to sample section errors)
+ - ATMARP no longer supports mixed PVC/SVC entries (I'm sure this will be
+   missed a lot :-)
+ - ATMARP no longer supports "IP address discovery" via InARP for PVCs
+   (maybe later)
+ - specifying an invalid AAL now yields EPROTOTYPE
+ - specifying an invalid address family (connect, bind) now yields EAFNOSUPPORT
+ - make install  now also installs libraries (in /usr/lib)
+ - improved many header file comments
+ - re-arranged some comments to simplify automated document generation
+ - added copyright statement
+ - UNI 3.0 IE fields are now always recognized (but we shouldn't generate them)
+ - UNI 3.0 wants octet 5a when using BCOB-X, so we'll set it to twice "No
+   indication"
+ - aread, awrite, br, bw, ttcp, atmsigd, and atmdump now set max_sdu
+ - aread and awrite no longer print strerror(errno) on success
+
+
+Version 0.4 to 0.5 (26-OCT-1995)
+==================
+
+Bug fixes
+---------
+
+ - now only root can open a CLIP socket (thereby creating an IP interface)
+ - now only root can issue CLIP_NULENCAP and CLIP_LLCENCAP ioctls
+ - atmdump: forgot  default  in getopt switch
+ - eni driver: called misc_int on every interrupt
+ - Q.2931 message description: various fixes and improvements
+ - linux/atm.h: ATM_*_UNSPEC used the same value as ATM_*_ANY, oops !
+ - SSCOP is now more careful about not accessing the descriptor if it might
+   possibly have been deleted
+ - typo in SSCF leading to wrong response to AA-RECOVER.indication
+ - SSCOP now correctly copies N(PS) from POLL to STAT PDUs
+ - SSCF now discards data when not ready instead of issuing a fatal error
+ - AAL initialization failure no longer leaks memory
+ - closing an SVC without VCC no longer yields a GPF
+
+New features
+------------
+
+ - ZN1221 driver is starting to work
+ - new, ARP-based mechanism for IP over ATM (with atmarpd, atmarp, etc.)
+ - /proc/atm/pvc now displays more information for CLIP PVCs (after a patch
+   by Raghavan Menon)
+ - added max_pcr to struct atm_trafprm (also fixed a few comments in atm.h)
+   Note: all programs using sockaddr_atm* will have to be recompiled.
+ - qgen now handles value lists in named selections
+ - signaling now supports bhli/blli, plus various other minor extensions
+ - new ioctls to set/get local ATM address
+ - added library with address to/from text conversion functions
+ - finally implemented getname()
+
+Other changes
+-------------
+
+ - eni driver: avoided potential generation of superfluous code if extended
+   debugging is disabled
+ - eni driver: detects new boards using ASIC PCI chip (doesn't support them
+   yet, though)
+ - qgen: semicolon is now comment character and no longer used to terminate
+   clauses
+ - qgen: replaced term "item" with "field"
+ - linux/include/atmsap.h: removed obsolete comment "protocol cannot be fully
+   encoded in current structure". Also re-arranged some comments to simplify
+   automated document generation.
+ - saal,sscf,sscop: callbacks don't pass the pointer to the descriptor of the
+   calling protocol anymore
+ - SSCOP no longer prints a number for non-'V' errors
+ - improved handling of STATUS messages
+ - select now indicates ready for writing if max_sdu packet can be enqueued
+   without blocking
+ - select can now also be used to check status of non-blocking connect
+ - moved some common demon functions from sigd into a common demon library
+
+
+Version 0.3 to 0.4 (27-SEP-1995)
+==================
+
+Bug fixes
+---------
+
+ - various minor documentation fixes
+ - clip.c:atm_push_clip now updates statistics before forwarding the skb to
+   the upper layer (which may free and overwrite the skb)
+
+New features
+------------
+
+ - added partial UNI 3.x signaling
+ - added various adapter debugging programs to the distribution
+ - new config option CONFIG_ATM_ENI_DEBUG to enable extended debugging
+   in eni driver
+
+Other changes
+-------------
+
+ - upgraded to kernel version 1.3.24
+ - changed the distribution directory structure (programs are now in maint/,
+   test/, ip/, debug/, and sigd/, see INSTALL)
+ - ATM interfaces are no longer named, only numbered. This affects the
+   ATM_GETNAMES ioctl, all ioctls using struct atmif_sioc, the usage of atmdiag
+   and sonetdiag, and various diagnostic kernel messages.
+ - ATM socket state is now recorded in field "flags" (this also replaces the
+   SVC fields "released", "registered", and "state")
+ - added #ifdef __KERNEL__ to some header files
+ - added "int immed" argument to send_oam
+ - some minor modifications to the distribution process (mkdist)
+ - removed devmap.c
+ - SVC sockets no longer hang if the signaling demon dies
+
+
+Version 0.2 to 0.3 (8-SEP-1995)
+==================
+
+Bug fixes
+---------
+
+ - select(2) didn't work (was sleeping on sock->wait instead of
+   &ATM_SD(sock)->sleep)
+ - ENI driver did allow binding to VPI/VCI already in use
+ - ENI driver now properly handles PDUs with CRC errors
+ - ENI driver had race condition when discarding PDUs causing new PDUs to be
+   shifted in adapter memory by one word (which confused the driver quite a
+   bit)
+ - ENI driver now enables VC _after_ setting all pointers (caused crashes if
+   data was already coming in while opening VC)
+ - various bugs fixes related to SVC sockets
+ - fixed GPF (in kernel) when running atmdiag without arguments
+ - atmdiag now left-adjusts interface names
+ - fixed ttcp.atm crash when not specifying vpi.vci
+ - clip_xmit now checks for NULL vcc (e.g. after failure to connect)
+
+New features
+------------
+
+ - zatm driver now reads ESI correctly
+ - blocking svc_connect is now interruptible
+ - atmdump now also displays the numeric PTI value of incoming cells
+ - added RX/TX buffer quotas (default is 64 kB)
+ - added OAM hooks to device driver interface (but there's no OAM support yet)
+
+Other changes
+-------------
+
+ - ENI driver now checks ID field of reassembly buffer descriptors
+ - ENI driver now uses vremap
+ - ENI driver now prints more useful physical layer type information (e.g.
+   "MMF" and "UTP" instead of "UTOPIA")
+ - some redesign of the protocol used for signaling between kernel and demon
+ - disabled "Grr, servicing VCC twice" message in ENI driver
+ - device drivers now have to adapt AAL0 cell header byte order
+ - some cleanup in common.c:atm_getsockopt
+ - device drivers are now required to use the peek function; protocols now
+   must provide it
+
+
+Version 0.1 to 0.2 (15-AUG-1995)
+==================
+
+Bug fixes
+---------
+
+ - VCC family field is now correctly set to protocol family in
+   common.c:atm_create (was pvc.c:pvc_create). With protocol set to zero,
+   this created all types of strange problems, because the family field
+   is used to indicate whether an VCC slot is busy/free.
+ - fixed race condition in common.c:atm_read (reader might have blocked
+   even if data is ready)
+ - fixed dereferencing of uninitialized skb->dev pointer in
+   clip.c:atm_push_clip
+ - SIOCSIFATMTCP now refuses to attach the same socket twice
+ - zatm.c: fixed setting of the VPI/VCI mask
+ - USAGE said ttcp uses -B for the bandwidth, but it's -P
+ - mkdist didn't include man pages
+
+New features
+------------
+
+ - added some /proc/atm functionality
+ - added support for ATM_{VPI,VCI}_ANY
+ - SIOCSIFATMTCP now returns the interface number and atmtcp(8) prints it
+ - wrote atmtcp man page
+ - added kernel part of SVC support
+
+Other changes
+-------------
+
+ - common.c: only root is now allowed to bind to reserved VCIs
+ - Classical IP interfaces are now removed by downing by ifconfig; clip(8)
+   returns immediately
+ - PVC-connect for non-existing device now returns ENODEV instead of EINVAL
+ - new field (type) in struct atm_dev to indicate device type
+ - moved getsockopt(SO_CIRANGE) to common.c (removed atmtcp's own version)
+ - added ci_range to struct atm_dev (and removed it from atmtcp's private
+   structure)
+ - added code to read the ESI to zatm.c (but that code doesn't seem to work
+   yet)
Index: linux-atm-2.4.1/debian/atm-tools-br2684.manpages
===================================================================
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
+++ linux-atm-2.4.1/debian/atm-tools-br2684.manpages	2007-06-04 13:23:54.515446288 +0200
@@ -0,0 +1 @@
+debian/tmp/usr/share/man/man8/br2684ctl.8
Index: linux-atm-2.4.1/debian/atm-tools.atm
===================================================================
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
+++ linux-atm-2.4.1/debian/atm-tools.atm	2007-06-04 13:23:54.515446288 +0200
@@ -0,0 +1,27 @@
+#!/bin/sh
+# Start/stop the atm daemon(s).
+
+DAEMON="/sbin/atmarpd"
+
+test -f $DAEMON || exit 0
+
+case "$1" in
+start)  echo -n "Starting ATM ARP Daemon: "
+        start-stop-daemon --start --quiet --exec $DAEMON -b
+        /bin/sleep 2
+        echo "atmarpd."
+        ;;
+stop)   echo -n "Stopping ATM ARP Daemon: "
+        start-stop-daemon --stop --quiet --exec $DAEMON
+        echo "atmarpd."
+        ;;
+restart|force-reload) echo -n "Re-starting ATM ARP Daemon: "
+        start-stop-daemon --stop --quiet --exec $DAEMON
+        start-stop-daemon --start --quiet --exec $DAEMON -b
+        /bin/sleep 2
+        echo "atmarpd."
+        ;;
+*)      echo "Usage: /etc/init.d/atm start|stop|restart|force-reload"; exit 1
+        ;;
+esac
+exit 0
Index: linux-atm-2.4.1/debian/atm-tools.docs
===================================================================
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
+++ linux-atm-2.4.1/debian/atm-tools.docs	2007-06-04 13:23:54.515446288 +0200
@@ -0,0 +1,4 @@
+BUGS
+README
+doc/README.tc
+debian/README.br2684
Index: linux-atm-2.4.1/debian/control.old
===================================================================
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
+++ linux-atm-2.4.1/debian/control.old	2007-06-04 13:23:54.515446288 +0200
@@ -0,0 +1,72 @@
+Source: linux-atm
+Section: net
+Priority: optional
+Maintainer: Peter De Schrijver (p2) <p2@mind.be>
+Build-Depends: debhelper (>> 4.0.0), bison, flex, perl, dpatch, automake1.4
+Standards-Version: 3.6.1
+
+Package: atm-tools
+Architecture: any
+Depends: ${shlibs:Depends}
+Description: Base programs for ATM in Linux, the net-tools for ATM
+ This package provides all the basic programs needed for setting up,
+ monitoring and tuning ATM networks. Such as:
+  * atmsigd, an ATM signal daemon that implements the ATM UNI protocol.
+  * atmtcp, a tool to setup ATM over TCP connections.
+  * atmarpd, an implementation of the ATMARP protocol (RFC1577, RFC1755)
+  * zeppelin, an ATM LAN Emulation client daemon
+  * les and bus, ATM LAN Emulation service daemons
+ .
+ Notice that upstream still flags these tools as experimental software and
+ says that there is still a number of known bugs and issues. The
+ software is, however, in productive use at a number of sites and is
+  working reliably.
+ .
+ Homepage: http://linux-atm.sourceforge.net/
+
+Package: atm-tools-br2684
+Architecture: any
+Depends: ${shlibs:Depends}
+Description: br2864ctl - RFC1483/2864 Bridge Daemon for ATM Networks
+ br2684ctl handles RFC1483/2684 bridged PDUs. This is most often
+ used  in  ADSL scenarios where usually the subscribers' ethernet
+ traffic is encapsulated in ATM AAL5 (by  bridging  ADSL  modems)
+ according to RFC2684
+ .
+ The sources for br2684ctl has been pulled from linux-atm's CVS
+ repository. Warning: This is unreleased software that can break any
+ time, any place. If it does, you get to keep the pieces. linux-atm's
+ upstream flags even the released software as experimental software.
+ There is still a number of known bugs and issues.
+
+Package: atm-dev
+Depends: libatm1-dev
+Architecture: all
+Section: oldlibs
+Description: Development files for compiling ATM programs (dummy package) 
+ This dummy package provides a transition from the previous atm packages.
+ It is provided for backwards compatibility only and may be removedafter 
+ the upgrade has completed or when when no other package depend on it.
+ 
+Package: libatm1
+Section: libs
+Architecture: any
+Depends: ${shlibs:Depends}
+Conflicts: atm-tools (<< 2.4.1-6)
+Description: shared library for ATM (Asynchronous Transfer Mode)
+ Shared libraries needed by ATM (Asynchronous Transfer Mode) related programs
+ .
+ Homepage: http://linux-atm.sourceforge.net/
+
+Package: libatm1-dev
+Section: libdevel
+Architecture: any
+Depends: libc6-dev, libatm1
+Replaces: atm-dev (<< 2.4.1-7)
+Conflicts: atm-dev (<< 2.4.1-7)
+Provides: libatm-dev
+Description: Development files for compiling ATM programs
+ Header files and development libraries for compiling ATM (Asynchronous 
+ Transfer Mode) related programs.
+ .
+ Homepage: http://linux-atm.sourceforge.net/
Index: linux-atm-2.4.1/debian/atm-tools.install
===================================================================
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
+++ linux-atm-2.4.1/debian/atm-tools.install	2007-06-04 13:23:54.516446136 +0200
@@ -0,0 +1,18 @@
+debian/tmp/usr/share/man/*
+debian/tmp/usr/bin/*
+debian/tmp/usr/sbin/atmsigd
+debian/tmp/usr/sbin/atmaddr
+debian/tmp/usr/sbin/esi
+debian/tmp/usr/sbin/atmloop
+debian/tmp/usr/sbin/atmtcp
+debian/tmp/usr/sbin/enitune
+debian/tmp/usr/sbin/zntune
+debian/tmp/usr/sbin/atmarp sbin
+debian/tmp/usr/sbin/atmarpd sbin
+debian/tmp/usr/sbin/ilmid
+debian/tmp/usr/sbin/zeppelin
+debian/tmp/usr/sbin/les
+debian/tmp/usr/sbin/bus
+debian/tmp/usr/sbin/lecs
+debian/tmp/usr/sbin/mpcd
+debian/tmp/etc/atmsigd.conf
Index: linux-atm-2.4.1/debian/atm-tools.manpages
===================================================================
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
+++ linux-atm-2.4.1/debian/atm-tools.manpages	2007-06-04 13:23:54.516446136 +0200
@@ -0,0 +1 @@
+debian/atm-tools.8
Index: linux-atm-2.4.1/debian/atm-tools.pod
===================================================================
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
+++ linux-atm-2.4.1/debian/atm-tools.pod	2007-06-04 13:23:54.516446136 +0200
@@ -0,0 +1,27 @@
+=head1 NAME
+
+linux-atm - preliminary manpage
+aread
+awrite
+enitune
+ilmid
+saaldump
+sonetdiag
+ttcp_atm
+zntune
+
+=head1 DOCUMENTATION
+
+atm-tools is a package containing the basic tools that are needed for
+setting up, monitoring, and tuning ATM networks. All available
+documentation can be found in /usr/share/doc/atnm-tools in Debian
+systems, and on the Web on: http://linux-atm.sourceforge.net.
+
+=head1 BUGS
+
+Many. Be prepared to debug.
+
+=head1 AUTHOR
+
+This manpage was written by Marc Haber for linux-atm packaging in
+Debian/GNU Operating System.
Index: linux-atm-2.4.1/debian/changelog
===================================================================
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
+++ linux-atm-2.4.1/debian/changelog	2007-06-04 13:23:54.517445984 +0200
@@ -0,0 +1,212 @@
+linux-atm (2.4.1-17) unstable; urgency=low
+
+  * Fix build problem with gcc 4.0 (Closes: )
+
+ -- Peter De Schrijver (p2) <p2@mind.be>  Thu, 17 Mar 2005 23:02:03 +0100
+
+linux-atm (2.4.1-16) unstable; urgency=low
+
+  * Fix build problem with gcc 3.4 (Closes: #259422)
+
+ -- Peter De Schrijver (p2) <p2@mind.be>  Thu, 15 Jul 2004 14:28:10 +0200
+
+linux-atm (2.4.1-15) unstable; urgency=low
+
+  * Updated descriptions (Closes: #239161)
+
+ -- Peter De Schrijver (p2) <p2@mind.be>  Sun,  4 Apr 2004 21:10:20 +0200
+
+linux-atm (2.4.1-14) unstable; urgency=low
+
+  * Fix symlink for /usr/lib/libatm.so (Closes: #221011)
+
+ -- Peter De Schrijver (p2) <p2@mind.be>  Sun,  7 Dec 2003 21:53:19 +0100
+
+linux-atm (2.4.1-13) unstable; urgency=low
+
+  * Previous version fixed #217259, but no changelog entry (Closes: #217259)
+  * Previous version fixed #216662, but no changelog entry (Closes: #216662)
+  * Added missing build dependency on automake1.4 (Closes: #221120, #221284)
+  * New Maintainer (Closes: #206982)
+
+ -- Peter De Schrijver (p2) <p2@mind.be>  Mon, 17 Nov 2003 23:03:58 +0100
+
+linux-atm (2.4.1-12) unstable; urgency=low
+
+  * don't build atm-tools-br2684 by default. Thanks to ftpmaster for
+    not allowing the package to be in Debian.
+  * Since we don't build atm-tools-br2684 any more, revert back to
+    autotools output from 2.4.1-9
+  * Add README.br2684 documenting a way to build the package locally.
+
+ -- Marc Haber <mh+debian-packages@zugschlus.de>  Wed,  5 Nov 2003 21:31:42 +0000
+
+linux-atm (2.4.1-11) experimental; urgency=low
+
+  * Build-Depend on dpatch
+  * dpatch br2684 header files from later libc for old libc (woody)
+
+ -- Marc Haber <mh+debian-packages@zugschlus.de>  Wed, 29 Oct 2003 19:05:07 +0000
+
+linux-atm (2.4.1-10) experimental; urgency=low
+
+  * add br2684 to package      		  		 (closes: #216663)
+  * autoreconf to actually build br2684
+  * have libatm1-dev provide libatm-dev			 (closes: #216662)
+  * move lib symlink to libatm1-dev as well 		 (closes: #217259)
+
+ -- Marc Haber <mh+debian-packages@zugschlus.de>  Thu, 23 Oct 2003 17:55:43 +0000
+
+linux-atm (2.4.1-9) unstable; urgency=low
+
+  * put libatm1-dev in libdevel		 		 (closes: #213170)
+  * make sure that new descriptions actually make it into the package
+
+ -- Marc Haber <mh+debian-packages@zugschlus.de>  Thu,  9 Oct 2003 17:08:10 +0000
+
+linux-atm (2.4.1-8) unstable; urgency=low
+
+  * build arch-indep package as targets of binary-indep  (closes: #212124)
+  * use dh_installdocs to install files to libatm1-dev/docs
+  * symlink shared lib to usr/bin                        (closes: #213146)
+  * Use better long descriptions. Thanks to Javier       (closes: #209427)
+    Fernandez-Sanguino		  	    		 (closes: #209612)
+
+ -- Marc Haber <mh+debian-packages@zugschlus.de>  Sun, 28 Sep 2003 19:29:08 +0000
+
+linux-atm (2.4.1-7) unstable; urgency=low
+
+  * libatm1 now conflicts with atm-tools (<< 2.4.1-6) (closes: #208170)
+  * armarp now writes output to stdout.
+  * add atm-dev as empty transitional package to help upgrades
+
+ -- Marc Haber <mh+debian-packages@zugschlus.de>  Tue,  2 Sep 2003 09:20:33 +0000
+
+linux-atm (2.4.1-6) unstable; urgency=low
+
+  * split off shared libraries to libatm1
+  * rename atm-dev to libatm1-dev
+  * Standards-Version: 3.6.1
+
+ -- Marc Haber <mh+debian-packages@zugschlus.de>  Tue, 26 Aug 2003 15:46:27 +0000
+
+linux-atm (2.4.1-5) unstable; urgency=low
+
+  * move *.a and *.la to usr/lib (closes: #199506).
+  * let atm-dev depend on atm-tools to avoid dangling /lib/libatm.so
+    symlink.
+  * Standards-Version: 3.5.6
+
+ -- Marc Haber <mh+debian-packages@zugschlus.de>  Wed, 30 Jul 2003 11:46:19 +0000
+
+linux-atm (2.4.1-4) unstable; urgency=low
+
+  * add Build-Depends: on automake1.4
+
+ -- Marc Haber <mh+debian-packages@zugschlus.de>  Wed, 11 Jun 2003 16:58:21 +0000
+
+linux-atm (2.4.1-3) unstable; urgency=low
+
+  * rebuilding libtool broke src/test/Makefile.in. Applied fix to
+    Makefile.am and re-built again.
+
+ -- Marc Haber <mh+debian-packages@zugschlus.de>  Wed, 11 Jun 2003 11:05:26 +0000
+
+linux-atm (2.4.1-2) unstable; urgency=low
+
+  * rebuild configure script with new libtool (closes: #196909)
+
+ -- Marc Haber <mh+debian-packages@zugschlus.de>  Tue, 10 Jun 2003 21:01:50 +0000
+
+linux-atm (2.4.1-1) unstable; urgency=low
+
+  * new upstream source
+  * remove atmarp and atmarpd from /usr/sbin as they are already in
+    /sbin (closes: #196216)
+  * lintian fixes
+
+ -- Marc Haber <mh+debian-packages@zugschlus.de>  Mon,  9 Jun 2003 16:03:45 +0000
+
+linux-atm (2.4.0-5) unstable; urgency=low
+
+  * Fix for src/test/Makefile.in to allow building on hppa and ia64
+    which the fix introduced to 2.4.0-4 broke. Thanks to Goswin
+    Brederlow.
+  * Move init.d priority to that atmarpd is started before network
+    interfaces are started.
+  * Move atmarpd and libatm to /sbin and /lib to allow atmarpd to be
+    started before /usr is mounted.
+  * use dh_install instead of dh_movefiles.
+
+ -- Marc Haber <mh+debian-packages@zugschlus.de>  Sat, 24 Aug 2002 15:13:48 +0000
+
+linux-atm (2.4.0-4) unstable; urgency=low
+
+  * new maintainer
+  * Fix for src/test/Makefile.in to allow building on sparc.
+    Thanks to Patrick Mauritz. (closes: #144225).
+  * added pseudo-manpage for manpage-less binaries.
+  * removed rpath by changing configure and make install paramaters
+
+ -- Marc Haber <mh+debian-packages@zugschlus.de>  Fri, 16 Aug 2002 20:39:05 +0000
+
+linux-atm (2.4.0-3) unstable; urgency=HIGH
+
+  * Re-ran libtoolize.
+    Closes: #143522
+
+  * Previous version Closes: #135328
+
+ -- Russell Coker <russell@coker.com.au>  Fri, 19 Apr 2002 01:55:00 +0200
+
+linux-atm (2.4.0-2) unstable; urgency=HIGH
+
+  * Put a "grep -v EMAXERRNO" into the build process to deal with mipsel and
+    the "#ifdef __KERNEL__" it has in it's /usr/include/asm/errno.h .
+
+ -- Russell Coker <russell@coker.com.au>  Thu, 18 Apr 2002 19:56:00 +0200
+
+linux-atm (2.4.0-1) unstable; urgency=HIGH
+
+  * New upstream version which changes source package name.
+    Closes: #138911
+
+ -- Russell Coker <russell@coker.com.au>  Mon, 18 Mar 2002 17:42:00 +0100
+
+atm (0.79-4) unstable; urgency=low
+
+  * Added build-depends on flex.
+    Closes: #111072
+
+  * Made the atm tools use a shared object to save space.
+
+  * Fixed the copyright file and put all copyright details in both packages.
+
+  * Added support for easy building with different kernel headers.
+    Closes: #110249
+
+ -- Russell Coker <russell@coker.com.au>  Sun,  7 Oct 2001 14:11:33 +0200
+
+atm (0.79-3) unstable; urgency=low
+
+  * Created /etc/init.d/atm to start and stop atmarpd.
+    Closes: #110252
+
+  * Added build-depends on bison.
+    Closes: #110576
+
+ -- Russell Coker <russell@coker.com.au>  Fri, 31 Aug 2001 15:21:44 +0200
+
+atm (0.79-2) unstable; urgency=low
+
+  * Changed the main package name to atm-tools to indicate that it doesn't
+    provide ATM (gotta have the kernel support), it just has the daemons and
+    utilities.
+
+ -- Russell Coker <russell@coker.com.au>  Sat, 25 Aug 2001 17:55:00 +0200
+
+atm (0.79-1) unstable; urgency=low
+
+  * Initial Release.
+
+ -- Russell Coker <russell@coker.com.au>  Fri, 24 Aug 2001 17:31:00 +0200
Index: linux-atm-2.4.1/debian/checkout-br2684
===================================================================
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
+++ linux-atm-2.4.1/debian/checkout-br2684	2007-06-04 13:23:54.517445984 +0200
@@ -0,0 +1,25 @@
+#!/bin/bash -x
+
+set -e
+
+# check out br2684 from upstream CVS. We need to jump through hoops if
+# the local source package is under cvs control as well.
+
+CVSDIR=":pserver:anonymous:@cvs.linux-atm.sourceforge.net.:/cvsroot/linux-atm"
+DIR="br2684"
+TMPDIR="/tmp"
+TARGETDIR="src"
+
+cvs -d${CVSDIR} login
+
+mkdir -p $TMPDIR
+pushd $TMPDIR
+cvs -z6 -d${CVSDIR} export -d $DIR -r V2_5_0 linux-atm/src/br2684
+
+popd
+
+mv $TMPDIR/$DIR/* $TARGETDIR/$DIR
+rm -rf $TMPDIR/$DIR
+
+autoreconf -i -f
+
Index: linux-atm-2.4.1/debian/copyright.header
===================================================================
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
+++ linux-atm-2.4.1/debian/copyright.header	2007-06-04 13:23:54.517445984 +0200
@@ -0,0 +1,18 @@
+This package was debianized by Russell Coker <russell@coker.com.au> on
+Fri, 24 Aug 2001 16:11:12 +0200 and is now maintained by Marc Haber
+<mh+debian-packages@zugschlus.de>.
+
+It was downloaded from http://www.sourceforge.net/projects/linux-atm/
+
+See also http://linux-atm.sourceforge.net/dist.php
+
+Upstream Authors: 
+Werner Almesberger EPFL ICA <Werner.Almesberger@epfl.ch>
+Mitchell Blank Jr. <mitch@sfgoth.com>
+Paul B Schroeder <paulsch@us.ibm.com>
+
+Copyright:
+
+GPL 2.0
+
+See /usr/share/common-licenses/GPL-2
Index: linux-atm-2.4.1/debian/libatm1-dev.dirs
===================================================================
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
+++ linux-atm-2.4.1/debian/libatm1-dev.dirs	2007-06-04 13:23:54.517445984 +0200
@@ -0,0 +1,2 @@
+usr/lib
+usr/include
Index: linux-atm-2.4.1/debian/libatm1-dev.docs
===================================================================
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
+++ linux-atm-2.4.1/debian/libatm1-dev.docs	2007-06-04 13:23:54.518445832 +0200
@@ -0,0 +1,2 @@
+doc/README.CLP
+doc/atm-linux-howto.txt
Index: linux-atm-2.4.1/debian/libatm1-dev.install
===================================================================
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
+++ linux-atm-2.4.1/debian/libatm1-dev.install	2007-06-04 13:23:54.518445832 +0200
@@ -0,0 +1,2 @@
+debian/tmp/usr/include/*
+debian/tmp/usr/lib/*.a usr/lib
Index: linux-atm-2.4.1/debian/libatm1-dev.links
===================================================================
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
+++ linux-atm-2.4.1/debian/libatm1-dev.links	2007-06-04 13:23:54.518445832 +0200
@@ -0,0 +1 @@
+lib/libatm.so.1 usr/lib/libatm.so
Index: linux-atm-2.4.1/debian/libatm1.dirs
===================================================================
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
+++ linux-atm-2.4.1/debian/libatm1.dirs	2007-06-04 13:23:54.519445680 +0200
@@ -0,0 +1 @@
+/lib
Index: linux-atm-2.4.1/debian/libatm1.install
===================================================================
--- /dev/null	1970-01-01 00:00:00.000000000 +0000
+++ linux-atm-2.4.1/debian/libatm1.install	2007-06-04 13:23:54.519445680 +0200
@@ -0,0 +1 @@
+debian/tmp/usr/lib/libatm.so.* lib