On cygwin, using autoconf-2.53, 2.53a, and 2.52.

I've been working with cvs-1.11.2, and had to muck with the configure.in 
  and acinclude.m4 files to make the whole package ac-2.5x compliant. 
Unfortunately, I ended up with a buggy configure script -- but before 
you dismiss this as user-error or a buggy-configure.in:

when I say buggy, I mean

   1) text from inside an AC_HELP_STRING() macro was NOT placed in the 
help section.  Instead, it was just willy-nilly put into the script 
itself.  Since help text is not, in general, valid shell script, this 
caused errors.  Other AC_HELP_STRING()'s behaved as expected.

   2) case statements were completely hosed (no closing ')' on the match 
strings, a random 'fi' just dropped in between the match string and the 
execution clause, ...

   3) if statements not closed: 'fi' or 'else' ommitted...

Again, this is true for ac-2.53, ac-2.53a, and ac-2.52.  To verify, 
download this file:
 
http://www.neuro.gatech.edu/users/cwilson/cygutils/testing/cvs/cvs-1.11.2-1-src.tar.bz2

unpack it, and then run the script:

   ./cvs-1.11.2-1.sh prep

Which unpacks the "real" cvs-1.11.2 tarball, and applies the patch. 
This patch contains my updates to the autotool input files, but also the 
result of running the autotools -- and then *fixing* the buggy configure 
script.  So, save that (working, non-buggy) configure somewhere, and 
re-run autoconf.  Be amazed...

If I understand correctly, autoconf should never generate buggy scripts. 
  It should either (1) report an error, or (2) generate a syntactically 
valid script.

Can anyone explain what's going on here?

Thanks,
Chuck

Here are the changes I had to make to the output configure script, to 
get a working version:

--- cvs-1.11.2-orig/configure    2002-05-19 06:46:53.000000000 -0400
+++ cvs-1.11.2/configure    2002-05-19 06:16:46.000000000 -0400
@@ -848,6 +848,8 @@
    --disable-dependency-tracking Speeds up one-time builds
    --enable-dependency-tracking  Do not reject slow dependency extractors
    --enable-encryption     enable encryption support
+  --enable-client         include code for running as a remote client
+                          (default)
    --enable-server         include code for running as a server (default)

  Optional Packages:
@@ -6037,6 +6039,7 @@
  #define HAVE_GETSPNAM 1
  _ACEOF

+fi

  echo "$as_me:$LINENO: checking whether utime accepts a null argument" >&5
  echo $ECHO_N "checking whether utime accepts a null argument... 
$ECHO_C" >&6
@@ -6307,9 +6310,7 @@

  # So?  What about this header?
  case $ac_header_compiler:$ac_header_preproc in
-  yes:no
-fi
-
+  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
@@ -9124,18 +9125,14 @@
    :
  else
    LIBOBJS="$LIBOBJS hostname.$ac_objext"
+fi


-
-    --enable-client         include code for running as a remote client
-                          (default)
  # Check whether --enable-client or --disable-client was given.
  if test "${enable_client+set}" = set; then
    enableval="$enable_client"
    case "${enableval}" in
-      yes
-fi
- client=yes;;
+      yes) client=yes;;
        no) client=no;;
        *) { { echo "$as_me:$LINENO: error: bad value ${enableval} for 
client option" >&5
  echo "$as_me: error: bad value ${enableval} for client option" >&2;}
@@ -9529,9 +9526,7 @@

  # So?  What about this header?
  case $ac_header_compiler:$ac_header_preproc in
-  yes:no
-fi
-
+  yes:no )
      { echo "$as_me:$LINENO: WARNING: gdbm.h: accepted by the compiler, 
rejected by the preprocessor!" >&5
  echo "$as_me: WARNING: gdbm.h: accepted by the compiler, rejected by 
the preprocessor!" >&2;}
      { echo "$as_me:$LINENO: WARNING: gdbm.h: proceeding with the 
preprocessor's result" >&5
@@ -9566,13 +9561,12 @@
  echo "$as_me: error: cannot find gdbm.h" >&2;}
     { (exit 1); exit 1; }; }
  fi
-
-,
+  else
        { { echo "$as_me:$LINENO: error: cannot find libgdbm" >&5
  echo "$as_me: error: cannot find libgdbm" >&2;}
-   { (exit 1); exit 1; }; })
+   { (exit 1); exit 1; }; }
    fi
-
+fi
  fi # cygwin

  test -f src/options.h && (




Reply via email to