[3157] | 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 |
|
---|