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 & his successors. |
---|
6 | |
---|
7 | |
---|
8 | ------------------------------------------------------------------------------ |
---|
9 | |
---|
10 | * Soon |
---|
11 | |
---|
12 | ** AC_CHECK_HEADERS |
---|
13 | and the like, don't have a consistent way to handle multi-line |
---|
14 | arguments. Fix, test, and document. |
---|
15 | |
---|
16 | ** AC_PROG_INSTALL |
---|
17 | This test should be extended to check that install supports the GNU |
---|
18 | Install syntax: install FILES... DIR. This will relieve everybody |
---|
19 | form having to use mkinstalldirs to create the directories, as install |
---|
20 | does it itself. install-sh is already handling this case. This also |
---|
21 | makes it simple not to create the directories where nothing will be |
---|
22 | installed because of configuration options, which is next to |
---|
23 | impossible using the current setting. |
---|
24 | |
---|
25 | In other words: everything is ready (install-sh and Automake), we just |
---|
26 | need a good reimplementation of AC_PROG_INSTALL. |
---|
27 | |
---|
28 | ** --target & AC_ARG_PROGRAM |
---|
29 | Shouldn't *any* `program' be installed as `$target_alias-program' even |
---|
30 | if AC_ARG_PROGRAM is not called? That would be much more predictable. |
---|
31 | Ian? |
---|
32 | |
---|
33 | ** AC_CHECK_TOOL... |
---|
34 | Write a test that checks that it honors the values set by the user. |
---|
35 | |
---|
36 | ** autom4te and warnings. |
---|
37 | Decide what must be done. |
---|
38 | |
---|
39 | ** AC_DEFINE(func, rpl_func) |
---|
40 | This scheme causes problems: if for instance, #define malloc |
---|
41 | rpl_malloc, then the rest of configure will use an undefined malloc. |
---|
42 | Hence some tests fail. Up to now we simply #undef these functions |
---|
43 | where we had a problem (cf. AC_FUNC_MKTIME and AC_FUNC_MMAP for |
---|
44 | instance). This is _bad_. Maybe the #define func rpl_malloc should |
---|
45 | be performed in another file than confdefs.h, say confh.h, which is |
---|
46 | used for config.h generation, but not used in configure's own tests. |
---|
47 | |
---|
48 | ** AC_PROG_CC |
---|
49 | Currently it tries to put the C compiler in ANSI C mode by default. |
---|
50 | We should change this spec so that AC_PROG_CC tries to change the |
---|
51 | compiler to be the "nicest" mode, i.e. support for the latest standard |
---|
52 | features (currently ISO C99) plus support for all vendor extensions, |
---|
53 | even if they are slightly incompatible with C99. The basic idea here |
---|
54 | is that AC_PROG_CC should disable pedanticisms and should enable |
---|
55 | extensions. |
---|
56 | |
---|
57 | ** AC_GNU_SOURCE, AC_AIX, and AC_MINIX |
---|
58 | Deprecate these, as they will be superseded by the AC_PROG_CC changes. |
---|
59 | |
---|
60 | |
---|
61 | * Later |
---|
62 | |
---|
63 | ** config.site |
---|
64 | This guy is really a problem. It's contents should be read before |
---|
65 | handling the options, so that the latter properly override the latter, |
---|
66 | but most people would want a means to have a config.site that depends |
---|
67 | on $prefix for instance. |
---|
68 | |
---|
69 | Some other would like config.site to be looked for in the current |
---|
70 | directory. |
---|
71 | |
---|
72 | Harlan: |
---|
73 | |
---|
74 | I'll go further. |
---|
75 | |
---|
76 | I'd like to see several layers of config.site available. |
---|
77 | |
---|
78 | I'm starting to use "modules" at more places to handle software |
---|
79 | installation, and it would be helpful to set general things like: |
---|
80 | |
---|
81 | prefix=/opt/pkg/@PACKAGE@/@VERSION@ |
---|
82 | |
---|
83 | once at a global level, and then, for example, have things like: |
---|
84 | |
---|
85 | --with-etcdir=$prefix/etc |
---|
86 | |
---|
87 | stuffed "above" the various versions of SSH so I wouldn't have to hunt for |
---|
88 | these things every time it was time to recompile a new version of a |
---|
89 | previously installed package. |
---|
90 | |
---|
91 | Something like: |
---|
92 | |
---|
93 | src/config.site Global stuff |
---|
94 | ... |
---|
95 | src/ssh/config.site package-specific stuff |
---|
96 | src/ssh/ssh-1.2.27/ the actual source code |
---|
97 | |
---|
98 | I'd like to see automake/autoconf better support packaging tools (like |
---|
99 | modules, the *BSD ports/ stuff, and others would like hooks for RPMs). |
---|
100 | |
---|
101 | |
---|
102 | ** Languages |
---|
103 | Integrate other Fortrans etc. |
---|
104 | |
---|
105 | ** AC_CHECK_FUNCS and AC_TRY_LINK_FUNC |
---|
106 | I have still not understood what's the difference between the two |
---|
107 | which requires to have two different sources: AC_LANG_CALL and |
---|
108 | AC_LANG_FUNC_LINK_TRY (which names seem to be inappropriate). |
---|
109 | Wouldn't one be enough? |
---|
110 | |
---|
111 | ** Document AC_COMPILE_IFELSE, AC_LANG_PROGRAM etc. |
---|
112 | And make AC_TRY_COMPILE etc. obsolete. |
---|
113 | |
---|
114 | ** Libtool |
---|
115 | Define once for all the hooks they need, any redefinition of |
---|
116 | AC_PROG_CC etc. is way too dangerous and too limiting. The GCC team |
---|
117 | certainly has requirements too. |
---|
118 | |
---|
119 | ** AC_SEARCH_LIBS |
---|
120 | From: Tom Tromey <tromey@cygnus.com> |
---|
121 | Subject: AC_SEARCH_LIBS |
---|
122 | |
---|
123 | I think AC_SEARCH_LIBS has an unfortunate interface. |
---|
124 | |
---|
125 | ACTION-IF-FOUND is run in addition to the default action. Most |
---|
126 | autoconf macros don't work this way. This is confusing. |
---|
127 | |
---|
128 | In my case I can't use this macro because it always appends to LIBS. |
---|
129 | I don't want that. Instead I want to use ACTION-IF-FOUND to set my |
---|
130 | own macro. |
---|
131 | |
---|
132 | Also there is no documentation on the format of library names expected |
---|
133 | by the macro. Even a reference to some other function (e.g., "the |
---|
134 | library name can have the same forms as with AC_HAVE_LIBRARY" (if that |
---|
135 | is true, which I haven't looked up) would be fine. |
---|
136 | |
---|
137 | ** Revamp the language support |
---|
138 | We should probably have a language for C89, and C99. We must give the |
---|
139 | means to the users to specify some needs over the compilers, and |
---|
140 | actually look for a good compiler, instead of stopping at the first |
---|
141 | compiler we find. |
---|
142 | |
---|
143 | In fact, the AC_CHECK_PROG macro and variations have proved their |
---|
144 | limitation: we really need something more powerful and simpler too. |
---|
145 | |
---|
146 | We must take into account the specific problems of the GCC team. We |
---|
147 | must extend AC_CHECK_FUNCS in order to use the headers instead of fake |
---|
148 | declarations as we currently do. Default headers could be triggered |
---|
149 | on when C99, but not with the other languages? |
---|
150 | |
---|
151 | At the end, we should have a simple macro, such as AC_LANG_COMPILER |
---|
152 | for instance, which is built over simpler macros. Each language |
---|
153 | support should come with these simpler macros, but each language |
---|
154 | should follow the same process. |
---|
155 | |
---|
156 | We also need to check the srcext which are supported by the compiler. |
---|
157 | In fact, this macro is also probably the right place to check for |
---|
158 | objext and exeext. |
---|
159 | |
---|
160 | ** AC_PROG_CC_STDC |
---|
161 | Should be: AC_PROG_CC_ISO? Or even more specific for the ISO version? |
---|
162 | Should include more tests (e.g., AC_C_CONST etc.)? See Peter for very |
---|
163 | useful comments on the technology. Should we make this a new |
---|
164 | language? AC_LANG(ISO C). It would be great to introduce |
---|
165 | AC_LANG_COMPILER in this release too. |
---|
166 | |
---|
167 | ** autoupdate |
---|
168 | We should probably install the files which do not depend upon the |
---|
169 | user, just the Autoconf library files. But conversely autoupdate must |
---|
170 | be opened to user macros, i.e., for instance libtool itself must be |
---|
171 | able to say that AM_PROG_LIBTOOL is now AC_PROG_LIBTOOL, and have |
---|
172 | autoupdate do its job on old configure.ac. |
---|
173 | |
---|
174 | * Even later |
---|
175 | |
---|
176 | ** Pentateuch |
---|
177 | Heck, there is nothing after `Deuteronomy'! We're stuck, but we |
---|
178 | _must_ update the `history' section. Can't go to `New testament', we |
---|
179 | might hurt feelings? In addition, it means that the Messiah has come, |
---|
180 | which might be slightly presumptuous :). Still, someone fluent in |
---|
181 | English should write it. |
---|
182 | |
---|
183 | ** AC_PATH_X |
---|
184 | Hi Robert, |
---|
185 | |
---|
186 | > Hi, autoconf people. While packaging plotutils-2.2 (just released), |
---|
187 | > I noticed what looks like a small error in the autoconf-2.13 texinfo |
---|
188 | > documentation, the entry for AC_PATH_XTRA, in particular. |
---|
189 | |
---|
190 | > The documentation says that AC_PATH_XTRA |
---|
191 | > ... adds the C compiler flags that X needs to output variable |
---|
192 | > `X_CFLAGS', and the X linker flags to `X_LIBS'. If X is not |
---|
193 | > available, adds `-DX_DISPLAY_MISSING' to `X_CFLAGS'. |
---|
194 | |
---|
195 | > It doesn't seem to add -DX_DISPLAY_MISSING to X_CFLAGS. X_DISPLAY_MISSING |
---|
196 | > ends up defined in config.h, instead. |
---|
197 | |
---|
198 | That's only because you're no doubt using AC_CONFIG_HEADER(..) to send |
---|
199 | your defines to a config.h-style file. If you were to not use |
---|
200 | AC_CONFIG_HEADER and X was not available, then you would see |
---|
201 | -DX_DISPLAY_MISSING being added to @DEFS@ as your output files were being |
---|
202 | generated. |
---|
203 | |
---|
204 | But you are right--the documentation is not clear about this. I'll change |
---|
205 | it. |
---|
206 | |
---|
207 | > In fact it looks to me as if right now, X_CFLAGS is used only for |
---|
208 | > specifying directories where X include files are stored, via the `-I' option. |
---|
209 | > Maybe it should really be called X_CPPFLAGS? |
---|
210 | |
---|
211 | Well, perhaps. If you feel strongly about this, feel free to submit a |
---|
212 | change-request. There is a hyperlink to the bug tracking database from |
---|
213 | http://sourceware.cygnus.com/autoconf/. With the way it reads in the |
---|
214 | manual right now, it's designed to allow the user to set additional flags |
---|
215 | in the environment prior to running configure--and these don't need to be |
---|
216 | limited to just -I flags. Nevertheless, I can see a few clean ways to |
---|
217 | improve this. |
---|
218 | |
---|
219 | ** AC_SYS_INTERPRETER |
---|
220 | Defines $interpval. This is not a standard name. Do we want to keep |
---|
221 | this? Clarify our policy on those names. |
---|
222 | |
---|
223 | ** Allow --recursive to config.status |
---|
224 | So that --recheck does not pass --no-recursive to configure. |
---|
225 | |
---|
226 | * autoconf.texi |
---|
227 | Move the specific macro documentation blocks into the source files, |
---|
228 | and use a doc-block extraction/merge technique to get documentation |
---|
229 | into texi-file. This should help avoid bit-rot in the doc, and make |
---|
230 | the doc easier to update when people add/change macros. The name |
---|
231 | "autodoc" is probably already taken so we probably need another one. |
---|
232 | |
---|
233 | ------------------------------------------------------------------------------ |
---|
234 | |
---|
235 | * m4 |
---|
236 | |
---|
237 | ** I18n |
---|
238 | The error messages for indir and dumpdef are uselessly different. Fix |
---|
239 | this for translators. |
---|
240 | |
---|
241 | ** Tracing `builtin' |
---|
242 | F**k! --trace FOO does not catch indir([FOO], $@)! |
---|
243 | |
---|
244 | ** Tracing builtins |
---|
245 | GNU M4 1.4's tracing of builtins is buggy. When run on this input: |
---|
246 | |
---|
247 | | divert(-1) |
---|
248 | | changequote([, ]) |
---|
249 | | define([m4_eval], defn([eval])) |
---|
250 | | eval(1) |
---|
251 | | m4_eval(2) |
---|
252 | | undefine([eval]) |
---|
253 | | m4_eval(3) |
---|
254 | |
---|
255 | it behaves this way: |
---|
256 | |
---|
257 | | % m4 input.m4 -da -t eval |
---|
258 | | m4trace: -1- eval(1) |
---|
259 | | m4trace: -1- m4_eval(2) |
---|
260 | | m4trace: -1- m4_eval(3) |
---|
261 | | % |
---|
262 | |
---|
263 | Conversely: |
---|
264 | |
---|
265 | | % m4 input.m4 -da -t m4_eval |
---|
266 | | % |
---|
267 | |
---|
268 | ------------------------------------------------------------------------------ |
---|
269 | |
---|
270 | * Autoconf 3 |
---|
271 | |
---|
272 | ** Cache name spaces. |
---|
273 | Cf the discussion with Kaveh. One would like to |
---|
274 | AC_CHECK_FUNCS(bar) |
---|
275 | # Do something that changes the environment |
---|
276 | AC_CACHE_PUSH(foo) |
---|
277 | AC_CHECK_FUNCS(bar) |
---|
278 | AC_CACHE_POP |
---|
279 | in order not to erase the results of a check with another. |
---|
280 | |
---|
281 | ** Cache var names |
---|
282 | should depend upon the current language. |
---|
283 | |
---|
284 | ** Use m4 lists? |
---|
285 | I think one sad decision in Autoconf was to use white space separated |
---|
286 | lists for some arguments. For instance AC_CHECK_FUNCS(foo bar). I |
---|
287 | tend to think that, even if it is not as nice, we should use m4 lists, |
---|
288 | i.e., AC_CHECK_FUNCS((foo, bar)) in this case. This would ease |
---|
289 | specializing loops, and more importantly, make them much more robust. |
---|
290 | |
---|
291 | A typical example of things that can be performed if we use m4 lists |
---|
292 | instead of white space separated lists is the case of things that have |
---|
293 | a space in their names, eg, structures. |
---|
294 | |
---|
295 | With the current scheme it would be extremely difficult to loop over |
---|
296 | AC_CHECK_STRUCTS(struct foo struct bar), while it natural and well |
---|
297 | defined for m4 lists: AC_CHECK_STRUCTS((struct foo, struct bar)). |
---|
298 | |
---|
299 | I know that makes a huge difference in syntax, but a major release |
---|
300 | should be ready to settle a new world. We *can* provide helping tools |
---|
301 | for the transition. Considering the benefits, I really think it is |
---|
302 | worth thinking. --akim |
---|
303 | |
---|
304 | ** Forbid shell variables as main arguments |
---|
305 | The fact that we have to support shell variables as main argument |
---|
306 | forbids many interesting constructions (specialization are not always |
---|
307 | possible, equally for AC_REQUIRE'ing macros *with their arguments*). |
---|
308 | Any loop should be handled by m4 itself, and nothing should be hidden |
---|
309 | to it. As a consequence, shell variables on the main arguments become |
---|
310 | useless (the main reason we support shell variables is to allow the |
---|
311 | loop versions of single argument macros, eg, to go from AC_CHECK_FUNC |
---|
312 | to AC_CHECK_FUNCS). --akim |
---|
313 | |
---|
314 | ** Use the @SUBST@ technology also for headers instead of #undef. |
---|
315 | This requires that acconfig.h becomes completely obsolete: autoheader |
---|
316 | should generate all the templates. |
---|
317 | |
---|
318 | ** Specializing loops. |
---|
319 | For instance, make AC_CHECK_FUNC[S] automatically use any particular |
---|
320 | macros for the listed functions. |
---|
321 | This requires to obsolete the feature `break' in ACTION-IF, since all |
---|
322 | the loops are to be handled by m4, not sh. |
---|
323 | |
---|
324 | ** Faces of a test |
---|
325 | Each macro can potentially come with several faces: of course the |
---|
326 | configure snippet (AC_foo), a config.h snippet (AH_foo), a system.h |
---|
327 | snippet (AS_foo), documentation (AD_foo) and, why not, the some C code |
---|
328 | for instance to replace a function. |
---|
329 | |
---|
330 | The motivation for the `faces' is to encapsulate. It is abnormal that |
---|
331 | once one has a configure macro, then she has to read somewhere to find |
---|
332 | the piece of system.h to use etc. The macros should come in a |
---|
333 | self-contained way, or, said it another way, PnP. |
---|
334 | |
---|
335 | A major issue is that of specialization. AC_CHECK_HEADER (or another |
---|
336 | name) for instance, will have as an effect, via system.h to include |
---|
337 | the header. But if the test for the header is specific, the generic |
---|
338 | AS_CHECK_HEADER will still be used. Conversely, some headers may not |
---|
339 | require a specific AC_ tests, but a specialized AS_ macro. |
---|
340 | |
---|
341 | ------------------------------------------------------------------------------ |
---|
342 | |
---|
343 | * Make AC_CHECK_LIB check whether the function is already available |
---|
344 | before checking for the library. This might involve adding another |
---|
345 | kind of cache variable to indicate whether a given function needs a |
---|
346 | given library. The current ac_cv_func_ variables are intended to |
---|
347 | indicate whether the function is in the default libraries, but |
---|
348 | actually also take into account whatever value LIBS had when they |
---|
349 | were checked for. |
---|
350 | |
---|
351 | Isn't this the issue of AC_SEARCH_LIB? --akim |
---|
352 | How come the list of libraries to browse not an additional parameter |
---|
353 | of AC_CHECK_FUNC, exactly like for the headers? --akim |
---|
354 | |
---|
355 | ------------------------------------------------------------------------------ |
---|
356 | |
---|
357 | * Add AC_PROG_CC_POSIX to replace the current ad-hoc macros for AIX, |
---|
358 | Minix, ISC, etc. |
---|
359 | |
---|
360 | ------------------------------------------------------------------------------ |
---|
361 | |
---|
362 | * Support creating both config.h and DEFS in the same configure. |
---|
363 | |
---|
364 | ------------------------------------------------------------------------------ |
---|
365 | |
---|
366 | * Select the right CONFIG_SHELL automatically (for Ultrix, Lynx especially.) |
---|
367 | |
---|
368 | ------------------------------------------------------------------------------ |
---|
369 | |
---|
370 | * Doc: Centralize information on POSIX, MS-DOS, cross-compiling, and |
---|
371 | other important topics. |
---|
372 | |
---|
373 | ------------------------------------------------------------------------------ |
---|
374 | |
---|
375 | * Mike Haertel's suggestions: |
---|
376 | |
---|
377 | ** Provide header files containing decls for alloca, strings, etc. |
---|
378 | |
---|
379 | ** Cross compiling: |
---|
380 | |
---|
381 | *** Error messages include instructions for overriding defaults using |
---|
382 | config.site. |
---|
383 | |
---|
384 | *** Distribute a config.site corresponding to a hypothetical bare POSIX system with c89. |
---|
385 | |
---|
386 | ** Site defaults: |
---|
387 | |
---|
388 | *** 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. |
---|
389 | |
---|
390 | ------------------------------------------------------------------------------ |
---|
391 | |
---|
392 | * Look at user contributed macros: |
---|
393 | IEEE double precision math |
---|
394 | more |
---|
395 | |
---|
396 | ------------------------------------------------------------------------------ |
---|
397 | |
---|
398 | For AC_TYPE_SIGNAL signal handlers, provide a way for code to know |
---|
399 | whether to do "return 0" or "return" (int vs void) to avoid compiler |
---|
400 | warnings. (Roland McGrath) |
---|
401 | |
---|
402 | ------------------------------------------------------------------------------ |
---|
403 | |
---|
404 | In config.status comment, put the host/target/build types, if used. |
---|
405 | |
---|
406 | ------------------------------------------------------------------------------ |
---|
407 | |
---|
408 | on hal.gnu.ai.mit.edu, configure is getting the wrong answer for |
---|
409 | AC_CHECK_FUNCS(select). |
---|
410 | |
---|
411 | The problem here is that there's severe name space pollution: when |
---|
412 | conftest.c includes <ctype.h> to pick up any __stub macro definitions, |
---|
413 | it's getting a prototype declaration for select(), which collides |
---|
414 | with the dummy declaration in conftest.c. (The chain of includes |
---|
415 | is conftest.c -> <ctype.h> -> <sys/localedef.h> -> <sys/lc_core.h> |
---|
416 | -> <sys/types.h> -> <sys/select.h>.) |
---|
417 | |
---|
418 | #define $ac_func __dummy_$ac_func |
---|
419 | #include <ctype.h> |
---|
420 | #undef $ac_func |
---|
421 | From: kwzh@gnu.ai.mit.edu (Karl Heuer) |
---|
422 | |
---|
423 | The test for the isascii function was failing because that function is |
---|
424 | also a macro. He proposed that the test file look like this: |
---|
425 | |
---|
426 | /* Remove any macro definition. */ |
---|
427 | #undef isascii |
---|
428 | /* Override any gcc2 internal prototype to avoid an error. */ |
---|
429 | char isascii(); isascii(); |
---|
430 | |
---|
431 | Andreas Schwab |
---|
432 | |
---|
433 | ------------------------------------------------------------------------------ |
---|
434 | |
---|
435 | It would be nice if I could (in the Makefile.in files) set |
---|
436 | the path to config.h. You have config.h ../config.h ../../config.h's all |
---|
437 | over the place, in the findutils-4.1 directory. |
---|
438 | From: "Randall S. Winchester" <rsw@eng.umd.edu> |
---|
439 | |
---|
440 | ------------------------------------------------------------------------------ |
---|
441 | |
---|
442 | In a future version (after 2.2), make AC_PROG_{CC,RANLIB,anything else} |
---|
443 | use AC_CHECK_TOOL. |
---|
444 | From Roland McGrath. |
---|
445 | |
---|
446 | ------------------------------------------------------------------------------ |
---|
447 | |
---|
448 | ls -lt configure configure.in | sort |
---|
449 | doesn't work right if configure.in is from a symlink farm, where the |
---|
450 | symlink has either a timestamp of its own, or under BSD 4.4, it has |
---|
451 | the timestamp of the current directory, neither of which |
---|
452 | helps. Changing it to |
---|
453 | ls -Llt configure configure.in | sort |
---|
454 | works for me, though I don't know how portable that is |
---|
455 | _Mark_ <eichin@cygnus.com> |
---|
456 | |
---|
457 | ------------------------------------------------------------------------------ |
---|
458 | |
---|
459 | Here is the thing I would like the most; |
---|
460 | AC_PKG_WITH(PACKAGE, HELP_STRING, PACKAGE-ROOT, PACKAGE-LIBS, PACKAGE-DEFS, |
---|
461 | PACKAGE-CCPFLAGS) |
---|
462 | like |
---|
463 | |
---|
464 | AC_PKG_WITH(kerberos,,/usr/local/athena,-lkrb -ldes,[KERBEROS KRB4 |
---|
465 | CRYPT],include) |
---|
466 | AC_PKG_WITH(hesiod, |
---|
467 | [if hesiod is not in kerberos-root add --with-hesiod-root=somewhere] |
---|
468 | ,,-lhesiod,HESIOD,,) |
---|
469 | AC_PKG_WITH(glue,,,-lglue,GLUE,,) |
---|
470 | AC_PKG_WITH(bind,,/usr/local/bind, [lib/resolv.a lib/lib44bsd.a], ,include) |
---|
471 | After the appropriate checks, the existence of the paths, and libs and such |
---|
472 | LIBS=$LIBS $PKG-LIBS |
---|
473 | DEFS=$DEFS $PKG-DEFS |
---|
474 | CPPFLAGS=$PKG-CPPFLAGS $CPPFLAGS |
---|
475 | $PKG-ROOT=$PKG-ROOT |
---|
476 | The cppflags should reverse the order so that you can have; |
---|
477 | -I/usr/local/bind/include -I/usr/local/athena/include |
---|
478 | and |
---|
479 | -L/usr/local/athena/lib -lkrb -ldes /usr/local/bind/lib/libresolv.a |
---|
480 | as order matters. |
---|
481 | |
---|
482 | also an AC_PKG_CHK_HEADER |
---|
483 | and an AC_PKG_CHK_FUNCTION |
---|
484 | so one can give alternate paths to check for stuff ($PKG-ROOT/lib for |
---|
485 | example) |
---|
486 | From: Randall Winchester |
---|
487 | |
---|
488 | ------------------------------------------------------------------------------ |
---|
489 | |
---|
490 | AC_C_CROSS assumes that configure was called like 'CC=target-gcc; |
---|
491 | ./configure'. I want to write a package that has target dependent |
---|
492 | libraries and host dependent tools. So I don't like to lose the |
---|
493 | distinction between CC and [G]CC_FOR_TARGET. AC_C_CROSS should check |
---|
494 | for equality of target and host. |
---|
495 | |
---|
496 | It would be great if |
---|
497 | |
---|
498 | GCC_FOR_TARGET |
---|
499 | AR_FOR_TARGET |
---|
500 | RANLIB_FOR_TARGET |
---|
501 | |
---|
502 | would be set automatically if host != target. |
---|
503 | AC_LANG_CROSS_C would be nice too, to check header files |
---|
504 | etc. with GCC_FOR_TARGET instead of CC |
---|
505 | |
---|
506 | Here is one simple test |
---|
507 | |
---|
508 | if test "x$host" != "x$target"; then |
---|
509 | AC_PROGRAMS_CHECK(AR_FOR_TARGET, $target-ar, $target-ar, ar) |
---|
510 | AC_PROGRAMS_CHECK(RANLIB_FOR_TARGET, $target-ranlib, $target-ranlib, ranlib) |
---|
511 | AC_PROGRAMS_CHECK(GCC_FOR_TARGET, $target-gcc, $target-gcc, gcc) |
---|
512 | fi |
---|
513 | |
---|
514 | This could be improved to also look for gcc in PATH, but require the |
---|
515 | prefix to contain the target e.g.: |
---|
516 | |
---|
517 | target=m68k-coff -->GCC_FOR_TARGET = /usr/gnu/m68k-coff/bin/gcc |
---|
518 | |
---|
519 | From: nennker@cs.tu-berlin.DE (Axel Nennker) |
---|
520 | |
---|
521 | ------------------------------------------------------------------------------ |
---|
522 | |
---|
523 | The problem occurs with the following libc functions in SunOS 5.4: |
---|
524 | |
---|
525 | fnmatch glob globfree regcomp regexec regerror regfree wordexp wordfree |
---|
526 | |
---|
527 | It also occurs with a bunch more libposix4 functions that most people |
---|
528 | probably aren't worried about yet, e.g. shm_open. |
---|
529 | |
---|
530 | All these functions fail with errno set to ENOSYS (89) |
---|
531 | ``Operation not applicable''. |
---|
532 | |
---|
533 | Perhaps Autoconf should have a specific macro for fnmatch, another for |
---|
534 | glob+globfree, another for regcomp+regexec+regerror+regfree, and |
---|
535 | another for wordexp+wordfree. This wouldn't solve the problem in |
---|
536 | general, but it should work for Solaris 2.4. Or Autoconf could limit |
---|
537 | itself to fnmatch and regcomp, the only two functions that I know have |
---|
538 | been a problem so far. |
---|
539 | |
---|
540 | From Paul Eggert. |
---|
541 | |
---|
542 | ------------------------------------------------------------------------------ |
---|
543 | |
---|
544 | Make easy macros for checking for X functions and libraries, such as Motif. |
---|
545 | |
---|
546 | ------------------------------------------------------------------------------ |
---|
547 | |
---|
548 | There are basically three ways to lock files |
---|
549 | lockf, fnctl, flock |
---|
550 | I'd be interested in adding a macro to pick the "right one" if you're |
---|
551 | interested. |
---|
552 | |
---|
553 | From: Rich Salz <rsalz@osf.org> |
---|
554 | |
---|
555 | ------------------------------------------------------------------------------ |
---|
556 | |
---|
557 | Timezone calculations checks. |
---|
558 | |
---|
559 | ------------------------------------------------------------------------------ |
---|
560 | |
---|
561 | Support different default filesystem layouts, e.g. SVR4, Linux. |
---|
562 | Of course, this can be done locally with config.site. |
---|
563 | |
---|
564 | ------------------------------------------------------------------------------ |
---|
565 | |
---|
566 | I wonder if it is possible to get the path for X11's app-defaults |
---|
567 | directory by autoconf. Moreover, I'd like to have a general way of |
---|
568 | accessing imake variables by autoconf, something like |
---|
569 | |
---|
570 | AC_DEFINE(WINE_APP_DEFAULTS, AC_IMAKE_VAR(XAPPLOADDIR)) |
---|
571 | |
---|
572 | Slaven Rezic <eserte@cabulja.herceg.de> |
---|
573 | |
---|
574 | ------------------------------------------------------------------------------ |
---|
575 | |
---|
576 | Cache consistency checking: ignore cache if environment |
---|
577 | (CC or PATH) differs. |
---|
578 | From Mike Haertel |
---|
579 | |
---|
580 | So we need a general mechanism for storing variables' values in the cache, |
---|
581 | and checking if they are the same after reading the cache. Then we can add |
---|
582 | to the list of variables as we come across the need. So far we want |
---|
583 | LD_LIBRARY_PATH and the internal variables for some of (all?) the args. |
---|
584 | From: roland@gnu.ai.mit.edu (Roland McGrath) |
---|
585 | |
---|
586 | Hmm. That list might include LD_LIBRARY_PATH, LD_RUN_PATH (for solaris), |
---|
587 | and PATH. I can't think of any others so far. |
---|
588 | From: friedman@splode.com (Noah Friedman) |
---|
589 | |
---|
590 | ------------------------------------------------------------------------------ |
---|
591 | |
---|
592 | Every user running X11 usually has a directory like *X11* in his PATH |
---|
593 | variable. By replacing bin by include, you can find good places to |
---|
594 | look for the include files or libraries. |
---|
595 | |
---|
596 | From: rcb5@win.tue.nl (Richard Verhoeven) |
---|
597 | |
---|
598 | ------------------------------------------------------------------------------ |
---|
599 | |
---|
600 | In most cases, when autoscan suggests something, using the search or |
---|
601 | index command into the Info reader for autoconf manual quickly |
---|
602 | explains me what the test is about. However, for header files and |
---|
603 | functions, the search might fail, because the test is not of the |
---|
604 | specific kind. The Autoconf manual should reflect somewhere all |
---|
605 | header files or functions (non-specific features, generally) |
---|
606 | triggering autoscan to generate tests, and tell in a few words what is |
---|
607 | the problem, and the suggested approach for a solution; that is, how |
---|
608 | one should use the result of testing the feature. |
---|
609 | |
---|
610 | From: pinard@iro.umontreal.ca |
---|
611 | |
---|
612 | ------------------------------------------------------------------------------ |
---|
613 | |
---|
614 | It would be nice if the configure script would handle an option such as |
---|
615 | --x-libraries="/usr/openwin/lib /usr/dt/lib". |
---|
616 | |
---|
617 | Rick Boykin <rboykin@cscsun3.larc.nasa.gov> |
---|
618 | |
---|
619 | Under Solaris 2.4, the regular X includes and libs and the Motif |
---|
620 | includes and libs are in different places. The Emacs configure script |
---|
621 | actually allows dir1:dir2:dir3 -- |
---|
622 | |
---|
623 | if test "${x_libraries}" != NONE && test -n "${x_libraries}"; then |
---|
624 | LD_SWITCH_X_SITE=-L`echo ${x_libraries} | sed -e "s/:/ -L/g"` |
---|
625 | LD_SWITCH_X_SITE_AUX=-R`echo ${x_libraries} | sed -e "s/:/ -R/g"` |
---|
626 | fi |
---|
627 | if test "${x_includes}" != NONE && test -n "${x_includes}"; then |
---|
628 | C_SWITCH_X_SITE=-I`echo ${x_includes} | sed -e "s/:/ -I/g"` |
---|
629 | fi |
---|
630 | |
---|
631 | ------------------------------------------------------------------------------ |
---|
632 | |
---|
633 | What messages should be produced by default, if any? |
---|
634 | |
---|
635 | Probably only the few most important ones, like which configuration |
---|
636 | name was used, whether X or Xt are in use, etc. The specific |
---|
637 | decisions, and progress messages, should be recorded on the terminal |
---|
638 | only if --verbose is used. |
---|
639 | |
---|
640 | --silent just suppresses the "checking for...result" |
---|
641 | messages, not the "creating FOO" messages. |
---|
642 | |
---|
643 | I think the default should be to suppress both. |
---|
644 | From: Richard Stallman <rms@gnu.ai.mit.edu> |
---|
645 | |
---|
646 | There is no distinction now between |
---|
647 | important decisions (we have X) vs minor decisions (we have lstat). |
---|
648 | However, there are probably only a few things you deem important enough to |
---|
649 | announce and only those few things will need to be changed. |
---|
650 | Perhaps config.status could be written with comments saying what was |
---|
651 | decided. |
---|
652 | From: Roland McGrath <roland@gnu.ai.mit.edu> |
---|
653 | |
---|
654 | ------------------------------------------------------------------------------ |
---|
655 | |
---|
656 | Another thing I wish for is a macro which figures out which libraries are |
---|
657 | needed for BSD-style sockets. AC_PATH_X already detects this |
---|
658 | correctly...so it's just a matter of separating out the socket-related code. |
---|
659 | From: "Joel N. Weber II" <nemo@koa.iolani.honolulu.hi.us> |
---|
660 | |
---|
661 | ------------------------------------------------------------------------------ |
---|
662 | |
---|
663 | in order to use the AC_CANONICAL_SYSTEM macro, I have to have |
---|
664 | install-sh somewhere nearby --- why is this? I have no real reason to |
---|
665 | distribute install-sh, other than that its absence breaks this code. |
---|
666 | |
---|
667 | Shouldn't the above loop be looking for config.sub and config.guess? |
---|
668 | From: jimb@totoro.bio.indiana.edu (Jim Blandy) |
---|
669 | |
---|
670 | adding AC_CANONICAL_HOST to my configure.in script caused |
---|
671 | all sorts of odd/unexplained errors. Obviously, I had to go |
---|
672 | get copies of config.guess, config.sub and install-sh from the |
---|
673 | autoconf distribution, but the error messages and autoconf docs |
---|
674 | didn't explain that very well. |
---|
675 | From: bostic@bsdi.com (Keith Bostic) |
---|
676 | |
---|
677 | ------------------------------------------------------------------------------ |
---|
678 | |
---|
679 | Perhaps also have AC_TRY_COMPILER try to link an invalid program, and |
---|
680 | die if the compiler seemed to succeed--in which case it's not usable |
---|
681 | with autoconf scripts. |
---|
682 | |
---|
683 | ------------------------------------------------------------------------------ |
---|
684 | |
---|
685 | Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002 Free Software |
---|
686 | Foundation, Inc. |
---|
687 | |
---|
688 | This file is part of GNU Autoconf. |
---|
689 | |
---|
690 | GNU Autoconf is free software; you can redistribute it and/or modify |
---|
691 | it under the terms of the GNU General Public License as published by |
---|
692 | the Free Software Foundation; either version 2, or (at your option) |
---|
693 | any later version. |
---|
694 | |
---|
695 | GNU Autoconf is distributed in the hope that it will be useful, |
---|
696 | but WITHOUT ANY WARRANTY; without even the implied warranty of |
---|
697 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
---|
698 | GNU General Public License for more details. |
---|
699 | |
---|
700 | You should have received a copy of the GNU General Public License |
---|
701 | along with autoconf; see the file COPYING. If not, write to |
---|
702 | the Free Software Foundation, Inc., 59 Temple Place - Suite 330, |
---|
703 | Boston, MA 02111-1307, USA. |
---|