home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #19 / NN_1992_19.iso / spool / gnu / utils / bug / 1471 < prev    next >
Encoding:
Text File  |  1992-09-03  |  2.6 KB  |  108 lines

  1. Newsgroups: gnu.utils.bug
  2. Path: sparky!uunet!cis.ohio-state.edu!unidata.ucar.edu!steve
  3. From: steve@unidata.ucar.edu (Steve Emmerson)
  4. Subject: autoconf 1.1: bug defining `const' to empty string
  5. Message-ID: <199209031602.AA19994@unidata.ucar.edu>
  6. Sender: gnulists@ai.mit.edu
  7. Organization: UCAR/Unidata
  8. Distribution: gnu
  9. Date: Thu, 3 Sep 1992 04:02:38 GMT
  10. Approved: bug-gnu-utils@prep.ai.mit.edu
  11. Lines: 95
  12.  
  13. Greetings,
  14.  
  15. PROBLEM STATEMENT:
  16.  
  17.     autoconf version 1.1 does not correctly define the keyword `const' to
  18.     be the empty string in environments that do not support `const'.
  19.  
  20. REPEAT BY:
  21.  
  22.     The following was executed on a DECstaton 3100 running ULTRIX 4.2:
  23.  
  24.     % cat configure.in
  25.     AC_INIT(configure.in)
  26.     AC_CONFIG_HEADER(config.h)
  27.     AC_CONST
  28.     AC_OUTPUT(Makefile)
  29.     % cat config.h.in
  30.     #undef const
  31.     #define const const
  32.     % autoconf --version
  33.     Autoconf version 1.1
  34.     % CC=cc ./configure
  35.     checking for working const
  36.     creating config.status
  37.     creating Makefile
  38.     creating config.h
  39.     % cat config.h
  40.     /* config.h.  Generated automatically by configure.  */
  41.     #undef const
  42.     #define const const
  43.     %
  44.  
  45.     In the specified environment, the last two lines in file `config.h'
  46.     should have been
  47.  
  48.     # define const
  49.     # define const
  50.  
  51.     That this is so can be seen from the relevant lines in file
  52.     `config.status':
  53.  
  54.     % sed -n 15,16p config.status
  55.     DEFS='#define const 
  56.     '
  57.     %
  58.  
  59. POSSIBLE FIX:
  60.  
  61.     Apply the following patch to file `acgeneral.m4':
  62.  
  63.     % diff -c acgeneral.m4.dist acgeneral.m4
  64.     *** acgeneral.m4.dist   Sun Aug 23 19:15:02 1992
  65.     --- acgeneral.m4        Thu Sep  3 09:00:51 1992
  66.     ***************
  67.     *** 476,492 ****
  68.       BEGIN { filenum = 1 }
  69.       filenum == 1 && <<$>>1 == "#define" \
  70.       { defs[<<$>>2] = <<$>>3
  71.         for (i = 4; i <= NF; i++)
  72.           defs[<<$>>2] = defs[<<$>>2] " " <<$>>i
  73.       }
  74.       /END_OF_DEFS/ { filenum = 2; next }
  75.       filenum == 2 && <<$>>1 == "#define" && \
  76.     ! defs[<<$>>2] != "" {
  77.         <<$>>3 = defs[<<$>>2]
  78.         print; next
  79.       }
  80.       filenum == 2 && <<$>>1 == "#undef" && \
  81.     ! defs[<<$>>2] != "" {
  82.         <<$>>1 = "#define"
  83.         <<$>>2 = <<$>>2 " " defs[<<$>>2]
  84.         print; next
  85.     --- 476,493 ----
  86.       BEGIN { filenum = 1 }
  87.       filenum == 1 && <<$>>1 == "#define" \
  88.       { defs[<<$>>2] = <<$>>3
  89.     +   hasdef[<<$>>2] = 1
  90.         for (i = 4; i <= NF; i++)
  91.           defs[<<$>>2] = defs[<<$>>2] " " <<$>>i
  92.       }
  93.       /END_OF_DEFS/ { filenum = 2; next }
  94.       filenum == 2 && <<$>>1 == "#define" && \
  95.     ! hasdef[<<$>>2] == 1 {
  96.         <<$>>3 = defs[<<$>>2]
  97.         print; next
  98.       }
  99.       filenum == 2 && <<$>>1 == "#undef" && \
  100.     ! hasdef[<<$>>2] == 1 {
  101.         <<$>>1 = "#define"
  102.         <<$>>2 = <<$>>2 " " defs[<<$>>2]
  103.         print; next
  104.  
  105. Regards,
  106. Steve Emmerson   <steve@unidata.ucar.edu>
  107.  
  108.