TODO 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601
  1. -*- outline -*-
  2. Things it might be nice to do someday. I haven't evaluated all of
  3. these suggestions... their presence here doesn't imply my endorsement.
  4. -djm & his successors.
  5. ------------------------------------------------------------------------------
  6. * Soon
  7. ** AC_CHECK_HEADERS
  8. and the like, don't have a consistent way to handle multi-line
  9. arguments. Fix, test, and document.
  10. ** --target & AC_ARG_PROGRAM
  11. Shouldn't *any* `program' be installed as `$target_alias-program' even
  12. if AC_ARG_PROGRAM is not called? That would be much more predictable.
  13. Ian?
  14. ** AC_CHECK_TOOL...
  15. Write a test that checks that it honors the values set by the user.
  16. ** autom4te and warnings.
  17. Decide what must be done.
  18. ** AC_DEFINE(func, rpl_func)
  19. This scheme causes problems: if for instance, #define malloc
  20. rpl_malloc, then the rest of configure will use an undefined malloc.
  21. Hence some tests fail. Up to now we simply #undef these functions
  22. where we had a problem (cf. AC_FUNC_MKTIME and AC_FUNC_MMAP for
  23. instance). This is _bad_. Maybe the #define func rpl_malloc should
  24. be performed in another file than confdefs.h, say confh.h, which is
  25. used for config.h generation, but not used in configure's own tests.
  26. ** AC_PROG_CC
  27. Currently it tries to put the C compiler in ANSI C mode by default.
  28. We should change this spec so that AC_PROG_CC tries to change the
  29. compiler to be the "nicest" mode, i.e. support for the latest standard
  30. features (currently ISO C99) plus support for all vendor extensions,
  31. even if they are slightly incompatible with C99. The basic idea here
  32. is that AC_PROG_CC should disable pedanticisms and should enable
  33. extensions.
  34. Have a way to specify different default flags to try; see this thread
  35. for more information:
  36. <http://lists.gnu.org/archive/html/bug-autoconf/2008-08/msg00009.html>.
  37. * Later
  38. ** config.site
  39. This guy is really a problem. It's contents should be read before
  40. handling the options, so that the latter properly override the latter,
  41. but most people would want a means to have a config.site that depends
  42. on $prefix for instance.
  43. Some other would like config.site to be looked for in the current
  44. directory.
  45. Harlan:
  46. I'll go further.
  47. I'd like to see several layers of config.site available.
  48. I'm starting to use "modules" at more places to handle software
  49. installation, and it would be helpful to set general things like:
  50. prefix=/opt/pkg/@PACKAGE@/@VERSION@
  51. once at a global level, and then, for example, have things like:
  52. --with-etcdir=$prefix/etc
  53. stuffed "above" the various versions of SSH so I wouldn't have to hunt for
  54. these things every time it was time to recompile a new version of a
  55. previously installed package.
  56. Something like:
  57. src/config.site Global stuff
  58. ...
  59. src/ssh/config.site package-specific stuff
  60. src/ssh/ssh-1.2.27/ the actual source code
  61. I'd like to see automake/autoconf better support packaging tools (like
  62. modules, the *BSD ports/ stuff, and others would like hooks for RPMs).
  63. ** Languages
  64. Integrate other Fortrans etc.
  65. ** AC_CHECK_FUNCS and AC_TRY_LINK_FUNC
  66. I have still not understood what's the difference between the two
  67. which requires to have two different sources: AC_LANG_CALL and
  68. AC_LANG_FUNC_LINK_TRY (which names seem to be inappropriate).
  69. Wouldn't one be enough?
  70. ** Libtool
  71. Define once for all the hooks they need, any redefinition of
  72. AC_PROG_CC etc. is way too dangerous and too limiting. The GCC team
  73. certainly has requirements too.
  74. ** AC_SEARCH_LIBS
  75. From: Tom Tromey <tromey@cygnus.com>
  76. Subject: AC_SEARCH_LIBS
  77. I think AC_SEARCH_LIBS has an unfortunate interface.
  78. ACTION-IF-FOUND is run in addition to the default action. Most
  79. autoconf macros don't work this way. This is confusing.
  80. In my case I can't use this macro because it always appends to LIBS.
  81. I don't want that. Instead I want to use ACTION-IF-FOUND to set my
  82. own macro.
  83. Also there is no documentation on the format of library names expected
  84. by the macro. Even a reference to some other function (e.g., "the
  85. library name can have the same forms as with AC_HAVE_LIBRARY" (if that
  86. is true, which I haven't looked up) would be fine.
  87. ** Revamp the language support
  88. We should probably have a language for C89, and C99. We must give the
  89. means to the users to specify some needs over the compilers, and
  90. actually look for a good compiler, instead of stopping at the first
  91. compiler we find.
  92. In fact, the AC_CHECK_PROG macro and variations have proved their
  93. limitation: we really need something more powerful and simpler too.
  94. We must take into account the specific problems of the GCC team. We
  95. must extend AC_CHECK_FUNCS in order to use the headers instead of fake
  96. declarations as we currently do. Default headers could be triggered
  97. on when C99, but not with the other languages?
  98. At the end, we should have a simple macro, such as AC_LANG_COMPILER
  99. for instance, which is built over simpler macros. Each language
  100. support should come with these simpler macros, but each language
  101. should follow the same process.
  102. We also need to check the srcext which are supported by the compiler.
  103. In fact, this macro is also probably the right place to check for
  104. objext and exeext.
  105. ** AC_PROG_CC_STDC
  106. Should be: AC_PROG_CC_ISO? Or even more specific for the ISO version?
  107. Should include more tests (e.g., AC_C_CONST etc.)? See Peter for very
  108. useful comments on the technology. Should we make this a new
  109. language? AC_LANG(ISO C). It would be great to introduce
  110. AC_LANG_COMPILER in this release too.
  111. ** autoupdate
  112. We should probably install the files which do not depend upon the
  113. user, just the Autoconf library files. But conversely autoupdate must
  114. be opened to user macros, i.e., for instance libtool itself must be
  115. able to say that AM_PROG_LIBTOOL is now AC_PROG_LIBTOOL, and have
  116. autoupdate do its job on old configure.ac.
  117. * Even later
  118. ** Pentateuch
  119. Heck, there is nothing after `Deuteronomy'! We're stuck, but we
  120. _must_ update the `history' section. Can't go to `New testament', we
  121. might hurt feelings? In addition, it means that the Messiah has come,
  122. which might be slightly presumptuous :). Still, someone fluent in
  123. English should write it.
  124. ** AC_PATH_X
  125. Hi Robert,
  126. > Hi, autoconf people. While packaging plotutils-2.2 (just released),
  127. > I noticed what looks like a small error in the autoconf-2.13 texinfo
  128. > documentation, the entry for AC_PATH_XTRA, in particular.
  129. > The documentation says that AC_PATH_XTRA
  130. > ... adds the C compiler flags that X needs to output variable
  131. > `X_CFLAGS', and the X linker flags to `X_LIBS'. If X is not
  132. > available, adds `-DX_DISPLAY_MISSING' to `X_CFLAGS'.
  133. > It doesn't seem to add -DX_DISPLAY_MISSING to X_CFLAGS. X_DISPLAY_MISSING
  134. > ends up defined in config.h, instead.
  135. That's only because you're no doubt using AC_CONFIG_HEADER(..) to send
  136. your defines to a config.h-style file. If you were to not use
  137. AC_CONFIG_HEADER and X was not available, then you would see
  138. -DX_DISPLAY_MISSING being added to @DEFS@ as your output files were being
  139. generated.
  140. But you are right--the documentation is not clear about this. I'll change
  141. it.
  142. > In fact it looks to me as if right now, X_CFLAGS is used only for
  143. > specifying directories where X include files are stored, via the `-I' option.
  144. > Maybe it should really be called X_CPPFLAGS?
  145. Well, perhaps. If you feel strongly about this, feel free to submit a
  146. change-request. There is a hyperlink to the bug tracking database from
  147. http://sourceware.cygnus.com/autoconf/. With the way it reads in the
  148. manual right now, it's designed to allow the user to set additional flags
  149. in the environment prior to running configure--and these don't need to be
  150. limited to just -I flags. Nevertheless, I can see a few clean ways to
  151. improve this.
  152. ** AC_SYS_INTERPRETER
  153. Defines $interpval. This is not a standard name. Do we want to keep
  154. this? Clarify our policy on those names.
  155. ** Allow --recursive to config.status
  156. So that --recheck does not pass --no-recursive to configure.
  157. * autoconf.texi
  158. Move the specific macro documentation blocks into the source files,
  159. and use a doc-block extraction/merge technique to get documentation
  160. into texi-file. This should help avoid bit-rot in the doc, and make
  161. the doc easier to update when people add/change macros. The name
  162. "autodoc" is probably already taken so we probably need another one.
  163. ------------------------------------------------------------------------------
  164. * m4
  165. ** I18n
  166. The error messages for indir and dumpdef are uselessly different. Fix
  167. this for translators.
  168. ** Tracing `builtin'
  169. F**k! --trace FOO does not catch indir([FOO], $@)!
  170. Fixed in M4 1.6, but we can't rely on it yet.
  171. ** m4 loops
  172. As of 2.63, m4_for has a fixed iteration count for speed in the common
  173. usage case. But it used to allow the user to alter iteration count by
  174. reassigning the iterator, allowing a break-like functionality (or even
  175. infloops). Does this need a new (but maybe slower) macro? Should we
  176. also provide something like m4_while([TEST], [EXPR])? Maybe an
  177. m4_break() that works inside a looping construct?
  178. http://lists.gnu.org/archive/html/autoconf-patches/2008-08/msg00121.html
  179. * Autoconf 3
  180. ** Cache name spaces.
  181. Cf the discussion with Kaveh. One would like to
  182. AC_CHECK_FUNCS(bar)
  183. # Do something that changes the environment
  184. AC_CACHE_PUSH(foo)
  185. AC_CHECK_FUNCS(bar)
  186. AC_CACHE_POP
  187. in order not to erase the results of a check with another.
  188. ** Cache var names
  189. should depend upon the current language.
  190. ** Use m4 lists?
  191. I think one sad decision in Autoconf was to use white space separated
  192. lists for some arguments. For instance AC_CHECK_FUNCS(foo bar). I
  193. tend to think that, even if it is not as nice, we should use m4 lists,
  194. i.e., AC_CHECK_FUNCS([foo, bar]) in this case. This would ease
  195. specializing loops, and more importantly, make them much more robust.
  196. A typical example of things that can be performed if we use m4 lists
  197. instead of white space separated lists is the case of things that have
  198. a space in their names, eg, structures.
  199. With the current scheme it would be extremely difficult to loop over
  200. AC_CHECK_STRUCTS(struct foo struct bar), while it natural and well
  201. defined for m4 lists: AC_CHECK_STRUCTS([struct foo, struct bar]).
  202. I know that makes a huge difference in syntax, but a major release
  203. should be ready to settle a new world. We *can* provide helping tools
  204. for the transition. Considering the benefits, I really think it is
  205. worth thinking. --akim
  206. ** Forbid shell variables as main arguments
  207. The fact that we have to support shell variables as main argument
  208. forbids many interesting constructions (specialization are not always
  209. possible, equally for AC_REQUIRE'ing macros *with their arguments*).
  210. Any loop should be handled by m4 itself, and nothing should be hidden
  211. to it. As a consequence, shell variables on the main arguments become
  212. useless (the main reason we support shell variables is to allow the
  213. loop versions of single argument macros, eg, to go from AC_CHECK_FUNC
  214. to AC_CHECK_FUNCS). --akim
  215. ** Use the @SUBST@ technology also for headers instead of #undef.
  216. This requires that acconfig.h becomes completely obsolete: autoheader
  217. should generate all the templates.
  218. ** Specializing loops.
  219. For instance, make AC_CHECK_FUNC[S] automatically use any particular
  220. macros for the listed functions.
  221. This requires to obsolete the feature `break' in ACTION-IF, since all
  222. the loops are to be handled by m4, not sh.
  223. ** Faces of a test
  224. Each macro can potentially come with several faces: of course the
  225. configure snippet (AC_foo), a config.h snippet (AH_foo), a system.h
  226. snippet (AS_foo), documentation (AD_foo) and, why not, the some C code
  227. for instance to replace a function.
  228. The motivation for the `faces' is to encapsulate. It is abnormal that
  229. once one has a configure macro, then she has to read somewhere to find
  230. the piece of system.h to use etc. The macros should come in a
  231. self-contained way, or, said it another way, PnP.
  232. A major issue is that of specialization. AC_CHECK_HEADER (or another
  233. name) for instance, will have as an effect, via system.h to include
  234. the header. But if the test for the header is specific, the generic
  235. AS_CHECK_HEADER will still be used. Conversely, some headers may not
  236. require a specific AC_ tests, but a specialized AS_ macro.
  237. ------------------------------------------------------------------------------
  238. * Make AC_CHECK_LIB check whether the function is already available
  239. before checking for the library. This might involve adding another
  240. kind of cache variable to indicate whether a given function needs a
  241. given library. The current ac_cv_func_ variables are intended to
  242. indicate whether the function is in the default libraries, but
  243. actually also take into account whatever value LIBS had when they
  244. were checked for.
  245. Isn't this the issue of AC_SEARCH_LIB? --akim
  246. How come the list of libraries to browse not an additional parameter
  247. of AC_CHECK_FUNC, exactly like for the headers? --akim
  248. ------------------------------------------------------------------------------
  249. * Select the right CONFIG_SHELL automatically (for Ultrix, Lynx especially.)
  250. ------------------------------------------------------------------------------
  251. * Doc: Centralize information on POSIX, MS-DOS, cross-compiling, and
  252. other important topics.
  253. ------------------------------------------------------------------------------
  254. * Mike Haertel's suggestions:
  255. ** Cross compiling:
  256. *** Error messages include instructions for overriding defaults using
  257. config.site.
  258. *** Distribute a config.site corresponding to a hypothetical bare POSIX system with c89.
  259. ** Site defaults:
  260. *** 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.
  261. ------------------------------------------------------------------------------
  262. * Look at user contributed macros:
  263. IEEE double precision math
  264. more
  265. ------------------------------------------------------------------------------
  266. * Provide a way to create a config.h *and* set the DEFS variable from within
  267. the same configure script.
  268. ------------------------------------------------------------------------------
  269. In config.status comment, put the host/target/build types, if used.
  270. ------------------------------------------------------------------------------
  271. It would be nice if I could (in the Makefile.in files) set the
  272. relative name of config.h. You have config.h ../config.h
  273. ../../config.h's all over the place, in the findutils-4.1 directory.
  274. From: "Randall S. Winchester" <rsw@eng.umd.edu>
  275. ------------------------------------------------------------------------------
  276. ls -lt configure configure.in | sort
  277. doesn't work right if configure.in is from a symlink farm, where the
  278. symlink has either a timestamp of its own, or under BSD 4.4, it has
  279. the timestamp of the current directory, neither of which
  280. helps. Changing it to
  281. ls -Llt configure configure.in | sort
  282. works for me, though I don't know how portable that is
  283. _Mark_ <eichin@cygnus.com>
  284. ------------------------------------------------------------------------------
  285. Here is the thing I would like the most;
  286. AC_PKG_WITH(PACKAGE, HELP_STRING, PACKAGE-ROOT, PACKAGE-LIBS, PACKAGE-DEFS,
  287. PACKAGE-CCPFLAGS)
  288. like
  289. AC_PKG_WITH(kerberos,,/usr/local/athena,-lkrb -ldes,[KERBEROS KRB4
  290. CRYPT],include)
  291. AC_PKG_WITH(hesiod,
  292. [if hesiod is not in kerberos-root add --with-hesiod-root=somewhere]
  293. ,,-lhesiod,HESIOD,,)
  294. AC_PKG_WITH(glue,,,-lglue,GLUE,,)
  295. AC_PKG_WITH(bind,,/usr/local/bind, [lib/resolv.a lib/lib44bsd.a], ,include)
  296. After the appropriate checks, the existence of the files, and libs and such
  297. LIBS=$LIBS $PKG-LIBS
  298. DEFS=$DEFS $PKG-DEFS
  299. CPPFLAGS=$PKG-CPPFLAGS $CPPFLAGS
  300. $PKG-ROOT=$PKG-ROOT
  301. The cppflags should reverse the order so that you can have;
  302. -I/usr/local/bind/include -I/usr/local/athena/include
  303. and
  304. -L/usr/local/athena/lib -lkrb -ldes /usr/local/bind/lib/libresolv.a
  305. as order matters.
  306. also an AC_PKG_CHK_HEADER
  307. and an AC_PKG_CHK_FUNCTION
  308. so one can give alternate names to check for stuff ($PKG-ROOT/lib for
  309. example)
  310. From: Randall Winchester
  311. ------------------------------------------------------------------------------
  312. AC_C_CROSS assumes that configure was called like 'CC=target-gcc;
  313. ./configure'. I want to write a package that has target dependent
  314. libraries and host dependent tools. So I don't like to lose the
  315. distinction between CC and [G]CC_FOR_TARGET. AC_C_CROSS should check
  316. for equality of target and host.
  317. It would be great if
  318. GCC_FOR_TARGET
  319. AR_FOR_TARGET
  320. RANLIB_FOR_TARGET
  321. would be set automatically if host != target.
  322. AC_LANG_CROSS_C would be nice too, to check header files
  323. etc. with GCC_FOR_TARGET instead of CC
  324. Here is one simple test
  325. if test "x$host" != "x$target"; then
  326. AC_CHECK_PROGS(AR_FOR_TARGET,
  327. [$target-ar, $prefix/$target/bin/ar], $target-ar)
  328. AC_CHECK_PROGS(RANLIB_FOR_TARGET, $target-ranlib, $target-ranlib)
  329. [$target-ranlib, $prefix/$target/bin/ranlib], $target-ranlib)
  330. AC_CHECK_PROGS(GCC_FOR_TARGET, $target-gcc, $target-gcc)
  331. [$target-gcc, $prefix/$target/bin/gcc], $target-gcc)
  332. fi
  333. From: nennker@cs.tu-berlin.DE (Axel Nennker)
  334. (also look in the autoconf mailing list archives for the proposed
  335. CHECK_TARGET_TOOL macro from Natanael Nerode, a gcc configury guru).
  336. ------------------------------------------------------------------------------
  337. The problem occurs with the following libc functions in SunOS 5.4:
  338. fnmatch glob globfree regcomp regexec regerror regfree wordexp wordfree
  339. It also occurs with a bunch more libposix4 functions that most people
  340. probably aren't worried about yet, e.g. shm_open.
  341. All these functions fail with errno set to ENOSYS (89)
  342. ``Operation not applicable''.
  343. Perhaps Autoconf should have a specific macro for fnmatch, another for
  344. glob+globfree, another for regcomp+regexec+regerror+regfree, and
  345. another for wordexp+wordfree. This wouldn't solve the problem in
  346. general, but it should work for Solaris 2.4. Or Autoconf could limit
  347. itself to fnmatch and regcomp, the only two functions that I know have
  348. been a problem so far.
  349. From Paul Eggert.
  350. ------------------------------------------------------------------------------
  351. Make easy macros for checking for X functions and libraries, such as Motif.
  352. ------------------------------------------------------------------------------
  353. There are basically three ways to lock files
  354. lockf, fnctl, flock
  355. I'd be interested in adding a macro to pick the "right one" if you're
  356. interested.
  357. From: Rich Salz <rsalz@osf.org>
  358. ------------------------------------------------------------------------------
  359. Timezone calculations checks.
  360. ------------------------------------------------------------------------------
  361. Support different default file system layouts, e.g. SVR4, Linux.
  362. Of course, this can be done locally with config.site.
  363. ------------------------------------------------------------------------------
  364. I wonder if it is possible to get the name of X11's app-defaults
  365. directory by autoconf. Moreover, I'd like to have a general way of
  366. accessing imake variables by autoconf, something like
  367. AC_DEFINE(WINE_APP_DEFAULTS, AC_IMAKE_VAR(XAPPLOADDIR))
  368. Slaven Rezic <eserte@cabulja.herceg.de>
  369. ------------------------------------------------------------------------------
  370. Every user running X11 usually has a directory like *X11* in his PATH
  371. variable. By replacing bin by include, you can find good places to
  372. look for the include files or libraries.
  373. From: rcb5@win.tue.nl (Richard Verhoeven)
  374. ------------------------------------------------------------------------------
  375. In most cases, when autoscan suggests something, using the search or
  376. index command into the Info reader for autoconf manual quickly
  377. explains me what the test is about. However, for header files and
  378. functions, the search might fail, because the test is not of the
  379. specific kind. The Autoconf manual should reflect somewhere all
  380. header files or functions (non-specific features, generally)
  381. triggering autoscan to generate tests, and tell in a few words what is
  382. the problem, and the suggested approach for a solution; that is, how
  383. one should use the result of testing the feature.
  384. From: pinard@iro.umontreal.ca
  385. ------------------------------------------------------------------------------
  386. It would be nice if the configure script would handle an option such as
  387. --x-libraries="/usr/openwin/lib /usr/dt/lib".
  388. Rick Boykin <rboykin@cscsun3.larc.nasa.gov>
  389. Under Solaris 2.4, the regular X includes and libs and the Motif
  390. includes and libs are in different places. The Emacs configure script
  391. actually allows dir1:dir2:dir3 --
  392. if test "${x_libraries}" != NONE && test -n "${x_libraries}"; then
  393. LD_SWITCH_X_SITE=-L`echo ${x_libraries} | sed -e "s/:/ -L/g"`
  394. LD_SWITCH_X_SITE_AUX=-R`echo ${x_libraries} | sed -e "s/:/ -R/g"`
  395. fi
  396. if test "${x_includes}" != NONE && test -n "${x_includes}"; then
  397. C_SWITCH_X_SITE=-I`echo ${x_includes} | sed -e "s/:/ -I/g"`
  398. fi
  399. ------------------------------------------------------------------------------
  400. What messages should be produced by default, if any?
  401. Probably only the few most important ones, like which configuration
  402. name was used, whether X or Xt are in use, etc. The specific
  403. decisions, and progress messages, should be recorded on the terminal
  404. only if --verbose is used.
  405. --silent just suppresses the "checking for...result"
  406. messages, not the "creating FOO" messages.
  407. I think the default should be to suppress both.
  408. From: Richard Stallman <rms@gnu.ai.mit.edu>
  409. There is no distinction now between
  410. important decisions (we have X) vs minor decisions (we have lstat).
  411. However, there are probably only a few things you deem important enough to
  412. announce and only those few things will need to be changed.
  413. Perhaps config.status could be written with comments saying what was
  414. decided.
  415. From: Roland McGrath <roland@gnu.ai.mit.edu>
  416. ------------------------------------------------------------------------------
  417. Another thing I wish for is a macro which figures out which libraries are
  418. needed for BSD-style sockets. AC_PATH_X already detects this
  419. correctly...so it's just a matter of separating out the socket-related code.
  420. From: "Joel N. Weber II" <nemo@koa.iolani.honolulu.hi.us>
  421. ------------------------------------------------------------------------------
  422. in order to use the AC_CANONICAL_SYSTEM macro, I have to have
  423. install-sh somewhere nearby --- why is this? I have no real reason to
  424. distribute install-sh, other than that its absence breaks this code.
  425. Shouldn't the above loop be looking for config.sub and config.guess?
  426. From: jimb@totoro.bio.indiana.edu (Jim Blandy)
  427. adding AC_CANONICAL_HOST to my configure.in script caused
  428. all sorts of odd/unexplained errors. Obviously, I had to go
  429. get copies of config.guess, config.sub and install-sh from the
  430. autoconf distribution, but the error messages and autoconf docs
  431. didn't explain that very well.
  432. From: bostic@bsdi.com (Keith Bostic)
  433. ------------------------------------------------------------------------------
  434. Perhaps also have AC_TRY_COMPILER try to link an invalid program, and
  435. die if the compiler seemed to succeed--in which case it's not usable
  436. with autoconf scripts.
  437. ------------------------------------------------------------------------------
  438. Copyright (C) 1994-1996, 1999-2002, 2007-2012 Free Software Foundation,
  439. Inc.
  440. Copying and distribution of this file, with or without modification,
  441. are permitted in any medium without royalty provided the copyright
  442. notice and this notice are preserved. This file is offered as-is,
  443. without warranty of any kind.