| 1 | -*- outline -*- | 
|---|
| 2 |  | 
|---|
| 3 | Things it might be nice to do someday.  I haven't evaluated all of | 
|---|
| 4 | these suggestions... their presence here doesn't imply my endorsement. | 
|---|
| 5 | -djm | 
|---|
| 6 |  | 
|---|
| 7 | ------------------------------------------------------------------------------ | 
|---|
| 8 |  | 
|---|
| 9 | * Make AC_CHECK_LIB check whether the function is already available | 
|---|
| 10 | before checking for the library.  This might involve adding another | 
|---|
| 11 | kind of cache variable to indicate whether a given function needs a | 
|---|
| 12 | given library.  The current ac_cv_func_ variables are intended to | 
|---|
| 13 | indicate whether the function is in the default libraries, but | 
|---|
| 14 | actually also take into account whatever value LIBS had when they | 
|---|
| 15 | were checked for. | 
|---|
| 16 |  | 
|---|
| 17 | ------------------------------------------------------------------------------ | 
|---|
| 18 |  | 
|---|
| 19 | * Add AC_PROG_CC_POSIX to replace the current ad-hoc macros for AIX, | 
|---|
| 20 | Minix, ISC, etc. | 
|---|
| 21 |  | 
|---|
| 22 | ------------------------------------------------------------------------------ | 
|---|
| 23 |  | 
|---|
| 24 | * Use AC_EGREP_CPP instead of AC_TRY_LINK to detect structures and members. | 
|---|
| 25 |  | 
|---|
| 26 | ------------------------------------------------------------------------------ | 
|---|
| 27 |  | 
|---|
| 28 | * Make AC_CHECK_FUNC[S] automatically use any particular macros for the | 
|---|
| 29 | listed functions. | 
|---|
| 30 |  | 
|---|
| 31 | ------------------------------------------------------------------------------ | 
|---|
| 32 |  | 
|---|
| 33 | * Support creating both config.h and DEFS in the same configure. | 
|---|
| 34 |  | 
|---|
| 35 | ------------------------------------------------------------------------------ | 
|---|
| 36 |  | 
|---|
| 37 | * Select the right CONFIG_SHELL automatically (for Ultrix, Lynx especially.) | 
|---|
| 38 |  | 
|---|
| 39 | ------------------------------------------------------------------------------ | 
|---|
| 40 |  | 
|---|
| 41 | * Doc: Add a concept index. | 
|---|
| 42 |  | 
|---|
| 43 | ------------------------------------------------------------------------------ | 
|---|
| 44 |  | 
|---|
| 45 | * Doc: Centralize information on POSIX, MS-DOS, cross-compiling, and | 
|---|
| 46 | other important topics. | 
|---|
| 47 |  | 
|---|
| 48 | ------------------------------------------------------------------------------ | 
|---|
| 49 |  | 
|---|
| 50 | * Split up AC_SUBST substitutions using a loop to accomodate shells | 
|---|
| 51 | with severely limited here document sizes, if it turns out to be a problem. | 
|---|
| 52 | I'm not sure whether the limit is on lines or bytes; if bytes, it | 
|---|
| 53 | will be less of a problem than it was with the long lines used for | 
|---|
| 54 | creating a header file. | 
|---|
| 55 |  | 
|---|
| 56 | ------------------------------------------------------------------------------ | 
|---|
| 57 |  | 
|---|
| 58 | * Allow [ and ] in AC_DEFINE args. | 
|---|
| 59 |  | 
|---|
| 60 | ------------------------------------------------------------------------------ | 
|---|
| 61 |  | 
|---|
| 62 | * Mike Haertel's suggestions: | 
|---|
| 63 |  | 
|---|
| 64 | ** Provide header files containing decls for alloca, strings, etc. | 
|---|
| 65 |  | 
|---|
| 66 | ** Cross compiling: | 
|---|
| 67 |  | 
|---|
| 68 | *** Error messages include instructions for overriding defaults using | 
|---|
| 69 | config.site. | 
|---|
| 70 |  | 
|---|
| 71 | *** Distribute a config.site corresponding to a hypothetical bare POSIX system with c89. | 
|---|
| 72 |  | 
|---|
| 73 | ** Site defaults: | 
|---|
| 74 |  | 
|---|
| 75 | *** Convention for consistency checking of env vars and options in config.site so config.site can print obnoxious messages if it doesn't like options or env vars that users use. | 
|---|
| 76 |  | 
|---|
| 77 | ------------------------------------------------------------------------------ | 
|---|
| 78 |  | 
|---|
| 79 | * autoscan: Tell the files that caused inclusion of each macro, | 
|---|
| 80 | in a dnl comment.  (Seems to be hard.) | 
|---|
| 81 |  | 
|---|
| 82 | ------------------------------------------------------------------------------ | 
|---|
| 83 |  | 
|---|
| 84 | * Look at user contributed macros: | 
|---|
| 85 | prototypes | 
|---|
| 86 | IEEE double precision math | 
|---|
| 87 | more | 
|---|
| 88 |  | 
|---|
| 89 | ------------------------------------------------------------------------------ | 
|---|
| 90 |  | 
|---|
| 91 | For AC_TYPE_SIGNAL signal handlers, provide a way for code to know | 
|---|
| 92 | whether to do "return 0" or "return" (int vs void) to avoid compiler | 
|---|
| 93 | warnings.  (Roland McGrath) | 
|---|
| 94 |  | 
|---|
| 95 | ------------------------------------------------------------------------------ | 
|---|
| 96 |  | 
|---|
| 97 | In config.status comment, put the host/target/build types, if used. | 
|---|
| 98 |  | 
|---|
| 99 | ------------------------------------------------------------------------------ | 
|---|
| 100 |  | 
|---|
| 101 | Have AC_CANONICAL_* cache the host/build/target types. | 
|---|
| 102 | They have to be overridden by the command line arguments, | 
|---|
| 103 | just as for X includes and libraries.  Should they be cached | 
|---|
| 104 | all in one variable, or three?  In that case, what if only one | 
|---|
| 105 | or two of the cache variables are set? | 
|---|
| 106 |  | 
|---|
| 107 | ------------------------------------------------------------------------------ | 
|---|
| 108 |  | 
|---|
| 109 | The argument HELP-STRING is a description of the option which | 
|---|
| 110 | ... | 
|---|
| 111 | Avoid tabs in the help string.  You'll need to enclose it in `[' | 
|---|
| 112 | and `]' in order to produce the leading spaces. | 
|---|
| 113 |  | 
|---|
| 114 | Except that [...] is the convention for telling the user the default, | 
|---|
| 115 | So I guess a changequote(`,') or something would be in order in some cases. | 
|---|
| 116 | From: "K. Berry" <kb@cs.umb.edu> | 
|---|
| 117 |  | 
|---|
| 118 | ------------------------------------------------------------------------------ | 
|---|
| 119 |  | 
|---|
| 120 | The default of unlimited permission is fine, but there should be some easy | 
|---|
| 121 | way for configure to have copyright terms passed through from configure.in. | 
|---|
| 122 | Maybe AC_LICENSE([...]). | 
|---|
| 123 | From: roland@gnu.ai.mit.edu (Roland McGrath) | 
|---|
| 124 |  | 
|---|
| 125 | ------------------------------------------------------------------------------ | 
|---|
| 126 |  | 
|---|
| 127 | AC_MSG_CHECKING([checking for ANSI #stringize]) | 
|---|
| 128 | AC_REVISION([ #(@) revision 2.1 ]) | 
|---|
| 129 |  | 
|---|
| 130 | causes bogus code to be generated for whatever immediately follows.  The | 
|---|
| 131 | problem goes away if the '#' is removed.  Probably the macros are not | 
|---|
| 132 | disabling the m4 "comment" feature when processing user-supplied strings. | 
|---|
| 133 | -Jim Avera jima@netcom.com | 
|---|
| 134 |  | 
|---|
| 135 | ------------------------------------------------------------------------------ | 
|---|
| 136 |  | 
|---|
| 137 | on hal.gnu.ai.mit.edu, configure is getting the wrong answer for | 
|---|
| 138 | AC_CHECK_FUNCS(select). | 
|---|
| 139 |  | 
|---|
| 140 | The problem here is that there's severe namespace pollution: when | 
|---|
| 141 | conftest.c includes <ctype.h> to pick up any __stub macro definitions, | 
|---|
| 142 | it's getting a prototype declaration for select(), which collides | 
|---|
| 143 | with the dummy declaration in conftest.c.  (The chain of includes | 
|---|
| 144 | is conftest.c -> <ctype.h> -> <sys/localedef.h> -> <sys/lc_core.h> | 
|---|
| 145 | -> <sys/types.h> -> <sys/select.h>.) | 
|---|
| 146 |  | 
|---|
| 147 | #define $ac_func __dummy_$ac_func | 
|---|
| 148 | #include <ctype.h> | 
|---|
| 149 | #undef $ac_func | 
|---|
| 150 | From: kwzh@gnu.ai.mit.edu (Karl Heuer) | 
|---|
| 151 |  | 
|---|
| 152 | The test for the isascii function was failing because that function is | 
|---|
| 153 | also a macro.  He proposed that the test file look like this: | 
|---|
| 154 |  | 
|---|
| 155 | /* Remove any macro definition. */ | 
|---|
| 156 | #undef isascii | 
|---|
| 157 | /* Override any gcc2 internal prototype to avoid an error.  */ | 
|---|
| 158 | char isascii(); isascii(); | 
|---|
| 159 |  | 
|---|
| 160 | Andreas Schwab | 
|---|
| 161 |  | 
|---|
| 162 | ------------------------------------------------------------------------------ | 
|---|
| 163 |  | 
|---|
| 164 | put all the config.* stuff somewhere like config/? | 
|---|
| 165 | All these extraneous files sure clutter up a toplevel directory. | 
|---|
| 166 | From: "Randall S. Winchester" <rsw@eng.umd.edu> | 
|---|
| 167 |  | 
|---|
| 168 | ------------------------------------------------------------------------------ | 
|---|
| 169 |  | 
|---|
| 170 | It would be nice if I could (in the Makefile.in files) set | 
|---|
| 171 | the path to config.h. You have config.h ../config.h ../../config.h's all | 
|---|
| 172 | over the place, in the findutils-4.1 directory. | 
|---|
| 173 | From: "Randall S. Winchester" <rsw@eng.umd.edu> | 
|---|
| 174 |  | 
|---|
| 175 | ------------------------------------------------------------------------------ | 
|---|
| 176 |  | 
|---|
| 177 | In libc and make in aclocal.m4 I have AC_CHECK_SYMBOL, which checks for | 
|---|
| 178 | sys_siglist et al.  Using AC_CHECK_FUNC doesn't work on some system that | 
|---|
| 179 | winds up caring that you reference it as a function and it is really a | 
|---|
| 180 | variable.  My version always declares the symbol as a char *[]; if that | 
|---|
| 181 | ends up a bad idea, we can have it take an arg with the C decl, but that is | 
|---|
| 182 | a bit verbose to write if it's actually superfluous. | 
|---|
| 183 | From Roland McGrath. | 
|---|
| 184 | [I'd call it AC_CHECK_VAR, I think. -djm] | 
|---|
| 185 |  | 
|---|
| 186 | ------------------------------------------------------------------------------ | 
|---|
| 187 |  | 
|---|
| 188 | In a future version (after 2.2), make AC_PROG_{CC,RANLIB,anything else} | 
|---|
| 189 | use AC_CHECK_TOOL. | 
|---|
| 190 | From Roland McGrath. | 
|---|
| 191 |  | 
|---|
| 192 | ------------------------------------------------------------------------------ | 
|---|
| 193 |  | 
|---|
| 194 | ls -lt configure configure.in | sort | 
|---|
| 195 | doesn't work right if configure.in is from a symlink farm, where the | 
|---|
| 196 | symlink has either a timestamp of its own, or under BSD 4.4, it has | 
|---|
| 197 | the timestamp of the current directory, neither of which | 
|---|
| 198 | helps. Changing it to | 
|---|
| 199 | ls -Llt configure configure.in | sort | 
|---|
| 200 | works for me, though I don't know how portable that is | 
|---|
| 201 | _Mark_ <eichin@cygnus.com> | 
|---|
| 202 |  | 
|---|
| 203 | ------------------------------------------------------------------------------ | 
|---|
| 204 |  | 
|---|
| 205 | Here is the thing I would like the most; | 
|---|
| 206 | AC_PKG_WITH(PACKAGE, HELP_STRING, PACKAGE-ROOT, PACKAGE-LIBS, PACKAGE-DEFS, | 
|---|
| 207 | PACKAGE-CCPFLAGS) | 
|---|
| 208 | like | 
|---|
| 209 |  | 
|---|
| 210 | AC_PKG_WITH(kerberos,,/usr/local/athena,-lkrb -ldes,[KERBEROS KRB4 | 
|---|
| 211 | CRYPT],include) | 
|---|
| 212 | AC_PKG_WITH(hesiod, | 
|---|
| 213 | [if hesiod is not in kerberos-root add --with-hesiod-root=somewhere] | 
|---|
| 214 | ,,-lhesiod,HESIOD,,) | 
|---|
| 215 | AC_PKG_WITH(glue,,,-lglue,GLUE,,) | 
|---|
| 216 | AC_PKG_WITH(bind,,/usr/local/bind, [lib/resolv.a lib/lib44bsd.a], ,include) | 
|---|
| 217 | After the apropriate checks, the existance of the paths, and libs and such | 
|---|
| 218 | LIBS=$LIBS $PKG-LIBS | 
|---|
| 219 | DEFS=$DEFS $PKG-DEFS | 
|---|
| 220 | CPPFLAGS=$PKG-CPPFLAGS $CPPFLAGS | 
|---|
| 221 | $PKG-ROOT=$PKG-ROOT | 
|---|
| 222 | The cppflags should reverse the order so that you can have; | 
|---|
| 223 | -I/usr/local/bind/include -I/usr/local/athena/include | 
|---|
| 224 | and | 
|---|
| 225 | -L/usr/local/athena/lib -lkrb -ldes /usr/local/bind/lib/libresolv.a | 
|---|
| 226 | as order matters. | 
|---|
| 227 |  | 
|---|
| 228 | also an AC_PKG_CHK_HEADER | 
|---|
| 229 | and an AC_PKG_CHK_FUNCTION | 
|---|
| 230 | so one can give alternate paths to check for stuff ($PKG-ROOT/lib for | 
|---|
| 231 | example) | 
|---|
| 232 | From: Randall Winchester | 
|---|
| 233 |  | 
|---|
| 234 | ------------------------------------------------------------------------------ | 
|---|
| 235 |  | 
|---|
| 236 | AC_C_CROSS assumes that configure was | 
|---|
| 237 | called like 'CC=target-gcc; ./configure'. I want to write a package | 
|---|
| 238 | that has target dependent libraries and host dependent tools. So I | 
|---|
| 239 | don't like to lose the distinction between CC and [G]CC_FOR_TARGET. | 
|---|
| 240 | AC_C_CROSS should check for equality of target and host. | 
|---|
| 241 |  | 
|---|
| 242 | It would be great if | 
|---|
| 243 |  | 
|---|
| 244 | GCC_FOR_TARGET | 
|---|
| 245 | AR_FOR_TARGET | 
|---|
| 246 | RANLIB_FOR_TARGET | 
|---|
| 247 |  | 
|---|
| 248 | would be set automatically if host != target. | 
|---|
| 249 | AC_LANG_CROSS_C would be nice too, to check header files | 
|---|
| 250 | etc. with GCC_FOR_TARGET instead of CC | 
|---|
| 251 |  | 
|---|
| 252 | Here is one simple test | 
|---|
| 253 |  | 
|---|
| 254 | if test "x$host" != "x$target"; then | 
|---|
| 255 | AC_PROGRAMS_CHECK(AR_FOR_TARGET, $target-ar, $target-ar, ar) | 
|---|
| 256 | AC_PROGRAMS_CHECK(RANLIB_FOR_TARGET, $target-ranlib, $target-ranlib, ranlib) | 
|---|
| 257 | AC_PROGRAMS_CHECK(GCC_FOR_TARGET, $target-gcc, $target-gcc, gcc) | 
|---|
| 258 | fi | 
|---|
| 259 |  | 
|---|
| 260 | This could be improved to also look for gcc in PATH, but require the | 
|---|
| 261 | prefix to contain the target e.g.: | 
|---|
| 262 |  | 
|---|
| 263 | target=m68k-coff -->GCC_FOR_TARGET = /usr/gnu/m68k-coff/bin/gcc | 
|---|
| 264 |  | 
|---|
| 265 | From: nennker@cs.tu-berlin.DE (Axel Nennker) | 
|---|
| 266 |  | 
|---|
| 267 | ------------------------------------------------------------------------------ | 
|---|
| 268 |  | 
|---|
| 269 | The problem occurs with the following libc functions in SunOS 5.4: | 
|---|
| 270 |  | 
|---|
| 271 | fnmatch glob globfree regcomp regexec regerror regfree wordexp wordfree | 
|---|
| 272 |  | 
|---|
| 273 | It also occurs with a bunch more libposix4 functions that most people | 
|---|
| 274 | probably aren't worried about yet, e.g. shm_open. | 
|---|
| 275 |  | 
|---|
| 276 | All these functions fail with errno set to ENOSYS (89) | 
|---|
| 277 | ``Operation not applicable''. | 
|---|
| 278 |  | 
|---|
| 279 | Perhaps autoconf should have a | 
|---|
| 280 | specific macro for fnmatch, another for glob+globfree, another for | 
|---|
| 281 | regcomp+regexec+regerror+regfree, and another for wordexp+wordfree. | 
|---|
| 282 | This wouldn't solve the problem in general, but it should work for | 
|---|
| 283 | Solaris 2.4.  Or autoconf could limit itself to fnmatch and regcomp, | 
|---|
| 284 | the only two functions that I know have been a problem so far. | 
|---|
| 285 |  | 
|---|
| 286 | From Paul Eggert. | 
|---|
| 287 |  | 
|---|
| 288 | ------------------------------------------------------------------------------ | 
|---|
| 289 |  | 
|---|
| 290 | Make easy macros for checking for X functions and libraries, such as Motif. | 
|---|
| 291 |  | 
|---|
| 292 | ------------------------------------------------------------------------------ | 
|---|
| 293 |  | 
|---|
| 294 | * Test suite: more things to test: | 
|---|
| 295 | ** That the shell scripts produce correct output on some simple data. | 
|---|
| 296 | ** Configuration header files.  That autoheader does the right thing, | 
|---|
| 297 | and so does AC_CONFIG_HEADER when autoconf is run. | 
|---|
| 298 |  | 
|---|
| 299 | ------------------------------------------------------------------------------ | 
|---|
| 300 |  | 
|---|
| 301 | Autoheader in autoconf-2.4 doesn't produce entries for: | 
|---|
| 302 |  | 
|---|
| 303 | AC_CHECK_TYPE(ssize_t, int) | 
|---|
| 304 |  | 
|---|
| 305 | and it seems like it could easily do so. | 
|---|
| 306 |  | 
|---|
| 307 | In general, it seems to me like autoconf isn't set up to | 
|---|
| 308 | let me periodically run autoheader, and then include my | 
|---|
| 309 | "local" tests -- autoheader gets most stuff right, I'd like | 
|---|
| 310 | to rerun it periodically without losing my local changes | 
|---|
| 311 | to config.h.in. | 
|---|
| 312 |  | 
|---|
| 313 | One of the things that I need is to know is the type to use | 
|---|
| 314 | for a fixed size on disk, e.g., what is the system's name | 
|---|
| 315 | for an unsigned-32-bit integer? | 
|---|
| 316 |  | 
|---|
| 317 | I can use: | 
|---|
| 318 |  | 
|---|
| 319 | AC_CHECK_SIZEOF(unsigned int) | 
|---|
| 320 |  | 
|---|
| 321 | and, in fact, that's what I do.  But I still have to build | 
|---|
| 322 | sets of #if tests to get from there to the name of the type. | 
|---|
| 323 |  | 
|---|
| 324 | From:    bostic@bsdi.com (Keith Bostic) | 
|---|
| 325 |  | 
|---|
| 326 | ------------------------------------------------------------------------------ | 
|---|
| 327 |  | 
|---|
| 328 | There are basically three ways to lock files | 
|---|
| 329 | lockf, fnctl, flock | 
|---|
| 330 | I'd be interested in adding a macro to pick the "right one" if you're | 
|---|
| 331 | interested. | 
|---|
| 332 |  | 
|---|
| 333 | From:    Rich Salz <rsalz@osf.org> | 
|---|
| 334 |  | 
|---|
| 335 | ------------------------------------------------------------------------------ | 
|---|
| 336 |  | 
|---|
| 337 | It is IMHO a bug that `config.status' cannot handle multiple | 
|---|
| 338 | simultaneous invocations.  It should include the process id (`$$' in sh) | 
|---|
| 339 | as part of the name of any temporary files it creates. | 
|---|
| 340 |  | 
|---|
| 341 | From:    fjh@kryten.cs.mu.oz.au (Fergus Henderson) | 
|---|
| 342 |  | 
|---|
| 343 | ------------------------------------------------------------------------------ | 
|---|
| 344 |  | 
|---|
| 345 | Timezone calculations checks. | 
|---|
| 346 |  | 
|---|
| 347 | ------------------------------------------------------------------------------ | 
|---|
| 348 |  | 
|---|
| 349 | Support different default filesystem layouts, e.g. SVR4, Linux. | 
|---|
| 350 | Of course, this can be done locally with config.site. | 
|---|
| 351 |  | 
|---|
| 352 | ------------------------------------------------------------------------------ | 
|---|
| 353 |  | 
|---|
| 354 | Mention automake, libtool, etc. in the autoconf manual. | 
|---|
| 355 |  | 
|---|
| 356 | ------------------------------------------------------------------------------ | 
|---|
| 357 |  | 
|---|
| 358 | I wonder if it is possible to get the path for X11's app-defaults | 
|---|
| 359 | directory by autoconf. Moreover, I'd like to have a general way of | 
|---|
| 360 | accessing imake variables by autoconf, something like | 
|---|
| 361 |  | 
|---|
| 362 | AC_DEFINE(WINE_APP_DEFAULTS, AC_IMAKE_VAR(XAPPLOADDIR)) | 
|---|
| 363 |  | 
|---|
| 364 | Slaven Rezic <eserte@cabulja.herceg.de> | 
|---|
| 365 |  | 
|---|
| 366 | ------------------------------------------------------------------------------ | 
|---|
| 367 |  | 
|---|
| 368 | Question: at least one common UNIX variant has a "cc" that is old K&R | 
|---|
| 369 | and "c89" for ANSI C.  Is there any reason why AC_PROG_CC couldn't | 
|---|
| 370 | check for c89 before cc if it can't find gcc? | 
|---|
| 371 |  | 
|---|
| 372 | hpa@yggdrasil.com (H. Peter Anvin) | 
|---|
| 373 |  | 
|---|
| 374 | ------------------------------------------------------------------------------ | 
|---|
| 375 |  | 
|---|
| 376 | Cache consistency checking: ignore cache if environment | 
|---|
| 377 | (CC or PATH) differs. | 
|---|
| 378 | From Mike Haertel | 
|---|
| 379 |  | 
|---|
| 380 | So we need a general mechanism for storing variables' values in the cache, | 
|---|
| 381 | and checking if they are the same after reading the cache.  Then we can add | 
|---|
| 382 | to the list of variables as we come across the need.  So far we want | 
|---|
| 383 | LD_LIBRARY_PATH and the internal variables for some of (all?) the args. | 
|---|
| 384 | From: roland@gnu.ai.mit.edu (Roland McGrath) | 
|---|
| 385 |  | 
|---|
| 386 | Hmm.  That list might include LD_LIBRARY_PATH, LD_RUN_PATH (for solaris), | 
|---|
| 387 | and PATH.  I can't think of any others so far. | 
|---|
| 388 | From: friedman@splode.com (Noah Friedman) | 
|---|
| 389 |  | 
|---|
| 390 | ------------------------------------------------------------------------------ | 
|---|
| 391 |  | 
|---|
| 392 | So how about an option to configure --reset-cache, that says to ignore all | 
|---|
| 393 | existing cached values for tests that configure runs, and then update the | 
|---|
| 394 | cache normally.  This should be utterly trivial to do in AC_CACHE_VAL; | 
|---|
| 395 | check the flag variable and always compute the value if it's set. | 
|---|
| 396 |  | 
|---|
| 397 | ------------------------------------------------------------------------------ | 
|---|
| 398 |  | 
|---|
| 399 | A number of people have tried to fix configuration problems by editing | 
|---|
| 400 | acconfig.h. (Despite comments at the top of the file.) I think they're | 
|---|
| 401 | confused because anything.h looks like a regular source file name. | 
|---|
| 402 | Maybe acconfig.h could be called acconfig.extra or something? | 
|---|
| 403 |  | 
|---|
| 404 | From: kb@cs.umb.edu (K. Berry) | 
|---|
| 405 |  | 
|---|
| 406 | ------------------------------------------------------------------------------ | 
|---|
| 407 |  | 
|---|
| 408 | Every user running | 
|---|
| 409 | X11 usually has a directory like *X11* in his PATH variable. By replacing | 
|---|
| 410 | bin by include, you can find good places to look for the include files | 
|---|
| 411 | or libraries. | 
|---|
| 412 |  | 
|---|
| 413 | From: rcb5@win.tue.nl (Richard Verhoeven) | 
|---|
| 414 |  | 
|---|
| 415 | ------------------------------------------------------------------------------ | 
|---|
| 416 |  | 
|---|
| 417 | When using CONFIG_FILES= and CONFIG_HEADERS= for controlling | 
|---|
| 418 | partial configuration, any AC_LINK_FILES is repeated in each case | 
|---|
| 419 | (that is, usually, once for config.h and once per subdirectory). | 
|---|
| 420 | This is not elegant. | 
|---|
| 421 |  | 
|---|
| 422 | Maybe Autoconf could use some kind of CONFIG_LINKS=<file-list>, | 
|---|
| 423 | having all such AC_LINK(ed)_FILES by default, but usable by each | 
|---|
| 424 | Makefile.in in rules for updating the particular links they need. | 
|---|
| 425 |  | 
|---|
| 426 | From: pinard@iro.umontreal.ca | 
|---|
| 427 |  | 
|---|
| 428 | ------------------------------------------------------------------------------ | 
|---|
| 429 |  | 
|---|
| 430 | Perhaps autoconf could have a single @magic@ frob that gets replaced with | 
|---|
| 431 | assignments for all the *dir variables?  There is quite a plethora for each | 
|---|
| 432 | Makefile.in to have foodir = @foodir@. | 
|---|
| 433 |  | 
|---|
| 434 | From: Roland McGrath <roland@gnu.ai.mit.edu> | 
|---|
| 435 |  | 
|---|
| 436 | ------------------------------------------------------------------------------ | 
|---|
| 437 |  | 
|---|
| 438 | In most cases, when autoscan suggests something, using the search | 
|---|
| 439 | or index command into the Info reader for autoconf manual quickly | 
|---|
| 440 | explains me what the test is about.  However, for header files | 
|---|
| 441 | and functions, the search might fail, because the test is not of | 
|---|
| 442 | the specific kind.  The Autoconf manual should reflect somewhere | 
|---|
| 443 | all header files or functions (non-specific features, generally) | 
|---|
| 444 | triggering autoscan to generate tests, and tell in a few words | 
|---|
| 445 | what is the problem, and the suggested approach for a solution; | 
|---|
| 446 | that is, how one should use the result of testing the feature. | 
|---|
| 447 |  | 
|---|
| 448 | From: pinard@iro.umontreal.ca | 
|---|
| 449 |  | 
|---|
| 450 | ------------------------------------------------------------------------------ | 
|---|
| 451 |  | 
|---|
| 452 | It would be nice if the configure script would handle an option such as | 
|---|
| 453 | --x-libraries="/usr/openwin/lib /usr/dt/lib". | 
|---|
| 454 |  | 
|---|
| 455 | Rick Boykin <rboykin@cscsun3.larc.nasa.gov> | 
|---|
| 456 |  | 
|---|
| 457 | Under Solaris 2.4, the regular X includes and libs and the Motif | 
|---|
| 458 | includes and libs are in different places.  The Emacs configure script | 
|---|
| 459 | actually allows dir1:dir2:dir3 -- | 
|---|
| 460 |  | 
|---|
| 461 | if test "${x_libraries}" != NONE && test -n "${x_libraries}"; then | 
|---|
| 462 | LD_SWITCH_X_SITE=-L`echo ${x_libraries} | sed -e "s/:/ -L/g"` | 
|---|
| 463 | LD_SWITCH_X_SITE_AUX=-R`echo ${x_libraries} | sed -e "s/:/ -R/g"` | 
|---|
| 464 | fi | 
|---|
| 465 | if test "${x_includes}" != NONE && test -n "${x_includes}"; then | 
|---|
| 466 | C_SWITCH_X_SITE=-I`echo ${x_includes} | sed -e "s/:/ -I/g"` | 
|---|
| 467 | fi | 
|---|
| 468 |  | 
|---|
| 469 | ------------------------------------------------------------------------------ | 
|---|
| 470 |  | 
|---|
| 471 | What messages should be produced by default, if any? | 
|---|
| 472 |  | 
|---|
| 473 | Probably only the few most important ones, like which configuration | 
|---|
| 474 | name was used, whether X or Xt are in use, etc. The specific | 
|---|
| 475 | decisions, and progress messages, should be recorded on the terminal | 
|---|
| 476 | only if --verbose is used. | 
|---|
| 477 |  | 
|---|
| 478 | --silent just supresses the "checking for...result" | 
|---|
| 479 | messages, not the "creating FOO" messages. | 
|---|
| 480 |  | 
|---|
| 481 | I think the default should be to suppress both. | 
|---|
| 482 | From: Richard Stallman <rms@gnu.ai.mit.edu> | 
|---|
| 483 |  | 
|---|
| 484 | There is no distinction now between | 
|---|
| 485 | important decisions (we have X) vs minor decisions (we have lstat). | 
|---|
| 486 | However, there are probably only a few things you deem important enough to | 
|---|
| 487 | announce and only those few things will need to be changed. | 
|---|
| 488 | Perhaps config.status could be written with comments saying what was | 
|---|
| 489 | decided. | 
|---|
| 490 | From: Roland McGrath <roland@gnu.ai.mit.edu> | 
|---|
| 491 |  | 
|---|
| 492 | ------------------------------------------------------------------------------ | 
|---|
| 493 |  | 
|---|
| 494 | Use automake to generate autoconf's Makefile.in's? | 
|---|
| 495 |  | 
|---|
| 496 | ------------------------------------------------------------------------------ | 
|---|
| 497 |  | 
|---|
| 498 | about the idea of using small configure.in/aclocal.m4 snippets: | 
|---|
| 499 | this is the one idea in metaconfig (the autoconf-like program used by | 
|---|
| 500 | Perl) that I like.  metaconfig looks for a "U" directory, and includes | 
|---|
| 501 | each ".U" file into the generated Configure script (according to | 
|---|
| 502 | various complicated rules). | 
|---|
| 503 | From: Tom Tromey <tromey@creche.cygnus.com> | 
|---|
| 504 |  | 
|---|
| 505 | ------------------------------------------------------------------------------ | 
|---|
| 506 |  | 
|---|
| 507 | I'd much prefer to see the absolute paths substituted for all the | 
|---|
| 508 | standard "dir" variables.  It would be nice to have variables in | 
|---|
| 509 | configure that held the absolute paths.  And it is nice to be able to | 
|---|
| 510 | substitute them into other files without relying on the destination | 
|---|
| 511 | file supporting ${...}  syntax.  (It works in Perl, sh, and make -- | 
|---|
| 512 | but not guile) | 
|---|
| 513 |  | 
|---|
| 514 | From: Tom Tromey <tromey@creche.cygnus.com> | 
|---|
| 515 |  | 
|---|
| 516 | ------------------------------------------------------------------------------ | 
|---|
| 517 |  | 
|---|
| 518 | Another thing I wish for is a macro which figures out which libraries are | 
|---|
| 519 | needed for BSD-sytle sockets.  AC_PATH_X already detects this | 
|---|
| 520 | correctly...so it's just a matter of seperating out the socket-related code. | 
|---|
| 521 | From: "Joel N. Weber II" <nemo@koa.iolani.honolulu.hi.us> | 
|---|
| 522 |  | 
|---|
| 523 | ------------------------------------------------------------------------------ | 
|---|
| 524 |  | 
|---|
| 525 | Merge the two lex macros, AC_PROG_LEX and AC_DECL_YYTEXT? | 
|---|
| 526 |  | 
|---|
| 527 | ------------------------------------------------------------------------------ | 
|---|
| 528 |  | 
|---|
| 529 | in order to use the AC_CANONICAL_SYSTEM macro, I have to | 
|---|
| 530 | have install-sh somewhere nearby --- why is this?  I have no real | 
|---|
| 531 | reason to distribute install-sh, other than that its absence breaks | 
|---|
| 532 | this code. | 
|---|
| 533 |  | 
|---|
| 534 | Shouldn't the above loop be looking for config.sub and config.guess? | 
|---|
| 535 | From: jimb@totoro.bio.indiana.edu (Jim Blandy) | 
|---|
| 536 |  | 
|---|
| 537 | adding AC_CANONICAL_HOST to my configure.in script caused | 
|---|
| 538 | all sorts of odd/unexplained errors.  Obviously, I had to go | 
|---|
| 539 | get copies of config.guess, config.sub and install-sh from the | 
|---|
| 540 | autoconf distribution, but the error messages and autoconf docs | 
|---|
| 541 | didn't explain that very well. | 
|---|
| 542 | From: bostic@bsdi.com (Keith Bostic) | 
|---|
| 543 |  | 
|---|
| 544 | ------------------------------------------------------------------------------ | 
|---|
| 545 |  | 
|---|
| 546 | Perhaps also have AC_TRY_COMPILER try to link an invalid program, and | 
|---|
| 547 | die if the compiler seemed to succeed--in which case it's not usable | 
|---|
| 548 | with autoconf scripts. | 
|---|
| 549 |  | 
|---|
| 550 | ------------------------------------------------------------------------------ | 
|---|
| 551 |  | 
|---|
| 552 | there is absolutely no guarantee that 'a' to 'z' are | 
|---|
| 553 | contiguous, and the ISLOWER macro is not guaranteed to correctly | 
|---|
| 554 | reproduce the result of islower. In all variants of ASCII however, it | 
|---|
| 555 | will work correctly in the C locale. | 
|---|
| 556 |  | 
|---|
| 557 | There is also no guarantee that toupper(i) - i is the same constant if | 
|---|
| 558 | non-zero. TOUPPER, hence, is not correct either. But, in all variants | 
|---|
| 559 | of ASCII in the C locale, it works. | 
|---|
| 560 |  | 
|---|
| 561 | Tanmoy Bhattacharya (tanmoy@qcd.lanl.gov> | 
|---|
| 562 |  | 
|---|
| 563 | ------------------------------------------------------------------------------ | 
|---|
| 564 |  | 
|---|
| 565 | autoreconf doesn't support having (in the same tree) both directories | 
|---|
| 566 | that are parts of a larger package (sharing aclocal.m4 and acconfig.h), | 
|---|
| 567 | and directories that are independent packages (each with their own ac*). | 
|---|
| 568 | It assumes that they are all part of the same package, if you use --localdir, | 
|---|
| 569 | or that each directory is a separate package, if you don't use it. | 
|---|
| 570 |  | 
|---|
| 571 | autoreconf should automatically figure out which ac* files to use--the | 
|---|
| 572 | closest ones up the tree from each directory, probably, unless | 
|---|
| 573 | overridden by --localdir. | 
|---|
| 574 |  | 
|---|
| 575 | Also, autoreconf recurses on all subdirectories containing a | 
|---|
| 576 | configure.in, not just those given by an AC_CONFIG_SUBDIRS directive. | 
|---|
| 577 | This may not be a problem in practice. | 
|---|
| 578 |  | 
|---|
| 579 | ------------------------------------------------------------------------------ | 
|---|
| 580 |  | 
|---|