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 | * Select the right CONFIG_SHELL automatically (for Ultrix, Lynx especially.)
|
---|
363 |
|
---|
364 | ------------------------------------------------------------------------------
|
---|
365 |
|
---|
366 | * Doc: Centralize information on POSIX, MS-DOS, cross-compiling, and
|
---|
367 | other important topics.
|
---|
368 |
|
---|
369 | ------------------------------------------------------------------------------
|
---|
370 |
|
---|
371 | * Mike Haertel's suggestions:
|
---|
372 |
|
---|
373 | ** Provide header files containing decls for alloca, strings, etc.
|
---|
374 |
|
---|
375 | ** Cross compiling:
|
---|
376 |
|
---|
377 | *** Error messages include instructions for overriding defaults using
|
---|
378 | config.site.
|
---|
379 |
|
---|
380 | *** Distribute a config.site corresponding to a hypothetical bare POSIX system with c89.
|
---|
381 |
|
---|
382 | ** Site defaults:
|
---|
383 |
|
---|
384 | *** 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.
|
---|
385 |
|
---|
386 | ------------------------------------------------------------------------------
|
---|
387 |
|
---|
388 | * Look at user contributed macros:
|
---|
389 | IEEE double precision math
|
---|
390 | more
|
---|
391 |
|
---|
392 | ------------------------------------------------------------------------------
|
---|
393 |
|
---|
394 | * Provide a way to create a config.h *and* set the DEFS variable from within
|
---|
395 | the same configure script.
|
---|
396 |
|
---|
397 | ------------------------------------------------------------------------------
|
---|
398 |
|
---|
399 | For AC_TYPE_SIGNAL signal handlers, provide a way for code to know
|
---|
400 | whether to do "return 0" or "return" (int vs void) to avoid compiler
|
---|
401 | warnings. (Roland McGrath)
|
---|
402 |
|
---|
403 | ------------------------------------------------------------------------------
|
---|
404 |
|
---|
405 | In config.status comment, put the host/target/build types, if used.
|
---|
406 |
|
---|
407 | ------------------------------------------------------------------------------
|
---|
408 |
|
---|
409 | It would be nice if I could (in the Makefile.in files) set the
|
---|
410 | relative name of config.h. You have config.h ../config.h
|
---|
411 | ../../config.h's all over the place, in the findutils-4.1 directory.
|
---|
412 | From: "Randall S. Winchester" <rsw@eng.umd.edu>
|
---|
413 |
|
---|
414 | ------------------------------------------------------------------------------
|
---|
415 |
|
---|
416 | ls -lt configure configure.in | sort
|
---|
417 | doesn't work right if configure.in is from a symlink farm, where the
|
---|
418 | symlink has either a timestamp of its own, or under BSD 4.4, it has
|
---|
419 | the timestamp of the current directory, neither of which
|
---|
420 | helps. Changing it to
|
---|
421 | ls -Llt configure configure.in | sort
|
---|
422 | works for me, though I don't know how portable that is
|
---|
423 | _Mark_ <eichin@cygnus.com>
|
---|
424 |
|
---|
425 | ------------------------------------------------------------------------------
|
---|
426 |
|
---|
427 | Here is the thing I would like the most;
|
---|
428 | AC_PKG_WITH(PACKAGE, HELP_STRING, PACKAGE-ROOT, PACKAGE-LIBS, PACKAGE-DEFS,
|
---|
429 | PACKAGE-CCPFLAGS)
|
---|
430 | like
|
---|
431 |
|
---|
432 | AC_PKG_WITH(kerberos,,/usr/local/athena,-lkrb -ldes,[KERBEROS KRB4
|
---|
433 | CRYPT],include)
|
---|
434 | AC_PKG_WITH(hesiod,
|
---|
435 | [if hesiod is not in kerberos-root add --with-hesiod-root=somewhere]
|
---|
436 | ,,-lhesiod,HESIOD,,)
|
---|
437 | AC_PKG_WITH(glue,,,-lglue,GLUE,,)
|
---|
438 | AC_PKG_WITH(bind,,/usr/local/bind, [lib/resolv.a lib/lib44bsd.a], ,include)
|
---|
439 | After the appropriate checks, the existence of the files, and libs and such
|
---|
440 | LIBS=$LIBS $PKG-LIBS
|
---|
441 | DEFS=$DEFS $PKG-DEFS
|
---|
442 | CPPFLAGS=$PKG-CPPFLAGS $CPPFLAGS
|
---|
443 | $PKG-ROOT=$PKG-ROOT
|
---|
444 | The cppflags should reverse the order so that you can have;
|
---|
445 | -I/usr/local/bind/include -I/usr/local/athena/include
|
---|
446 | and
|
---|
447 | -L/usr/local/athena/lib -lkrb -ldes /usr/local/bind/lib/libresolv.a
|
---|
448 | as order matters.
|
---|
449 |
|
---|
450 | also an AC_PKG_CHK_HEADER
|
---|
451 | and an AC_PKG_CHK_FUNCTION
|
---|
452 | so one can give alternate names to check for stuff ($PKG-ROOT/lib for
|
---|
453 | example)
|
---|
454 | From: Randall Winchester
|
---|
455 |
|
---|
456 | ------------------------------------------------------------------------------
|
---|
457 |
|
---|
458 | AC_C_CROSS assumes that configure was called like 'CC=target-gcc;
|
---|
459 | ./configure'. I want to write a package that has target dependent
|
---|
460 | libraries and host dependent tools. So I don't like to lose the
|
---|
461 | distinction between CC and [G]CC_FOR_TARGET. AC_C_CROSS should check
|
---|
462 | for equality of target and host.
|
---|
463 |
|
---|
464 | It would be great if
|
---|
465 |
|
---|
466 | GCC_FOR_TARGET
|
---|
467 | AR_FOR_TARGET
|
---|
468 | RANLIB_FOR_TARGET
|
---|
469 |
|
---|
470 | would be set automatically if host != target.
|
---|
471 | AC_LANG_CROSS_C would be nice too, to check header files
|
---|
472 | etc. with GCC_FOR_TARGET instead of CC
|
---|
473 |
|
---|
474 | Here is one simple test
|
---|
475 |
|
---|
476 | if test "x$host" != "x$target"; then
|
---|
477 | AC_CHECK_PROGS(AR_FOR_TARGET,
|
---|
478 | [$target-ar, $prefix/$target/bin/ar], $target-ar)
|
---|
479 | AC_CHECK_PROGS(RANLIB_FOR_TARGET, $target-ranlib, $target-ranlib)
|
---|
480 | [$target-ranlib, $prefix/$target/bin/ranlib], $target-ranlib)
|
---|
481 | AC_CHECK_PROGS(GCC_FOR_TARGET, $target-gcc, $target-gcc)
|
---|
482 | [$target-gcc, $prefix/$target/bin/gcc], $target-gcc)
|
---|
483 | fi
|
---|
484 |
|
---|
485 | From: nennker@cs.tu-berlin.DE (Axel Nennker)
|
---|
486 |
|
---|
487 | (also look in the autoconf mailing list archives for the proposed
|
---|
488 | CHECK_TARGET_TOOL macro from Natanael Nerode, a gcc configury guru).
|
---|
489 |
|
---|
490 | ------------------------------------------------------------------------------
|
---|
491 |
|
---|
492 | The problem occurs with the following libc functions in SunOS 5.4:
|
---|
493 |
|
---|
494 | fnmatch glob globfree regcomp regexec regerror regfree wordexp wordfree
|
---|
495 |
|
---|
496 | It also occurs with a bunch more libposix4 functions that most people
|
---|
497 | probably aren't worried about yet, e.g. shm_open.
|
---|
498 |
|
---|
499 | All these functions fail with errno set to ENOSYS (89)
|
---|
500 | ``Operation not applicable''.
|
---|
501 |
|
---|
502 | Perhaps Autoconf should have a specific macro for fnmatch, another for
|
---|
503 | glob+globfree, another for regcomp+regexec+regerror+regfree, and
|
---|
504 | another for wordexp+wordfree. This wouldn't solve the problem in
|
---|
505 | general, but it should work for Solaris 2.4. Or Autoconf could limit
|
---|
506 | itself to fnmatch and regcomp, the only two functions that I know have
|
---|
507 | been a problem so far.
|
---|
508 |
|
---|
509 | From Paul Eggert.
|
---|
510 |
|
---|
511 | ------------------------------------------------------------------------------
|
---|
512 |
|
---|
513 | Make easy macros for checking for X functions and libraries, such as Motif.
|
---|
514 |
|
---|
515 | ------------------------------------------------------------------------------
|
---|
516 |
|
---|
517 | There are basically three ways to lock files
|
---|
518 | lockf, fnctl, flock
|
---|
519 | I'd be interested in adding a macro to pick the "right one" if you're
|
---|
520 | interested.
|
---|
521 |
|
---|
522 | From: Rich Salz <rsalz@osf.org>
|
---|
523 |
|
---|
524 | ------------------------------------------------------------------------------
|
---|
525 |
|
---|
526 | Timezone calculations checks.
|
---|
527 |
|
---|
528 | ------------------------------------------------------------------------------
|
---|
529 |
|
---|
530 | Support different default file system layouts, e.g. SVR4, Linux.
|
---|
531 | Of course, this can be done locally with config.site.
|
---|
532 |
|
---|
533 | ------------------------------------------------------------------------------
|
---|
534 |
|
---|
535 | I wonder if it is possible to get the name of X11's app-defaults
|
---|
536 | directory by autoconf. Moreover, I'd like to have a general way of
|
---|
537 | accessing imake variables by autoconf, something like
|
---|
538 |
|
---|
539 | AC_DEFINE(WINE_APP_DEFAULTS, AC_IMAKE_VAR(XAPPLOADDIR))
|
---|
540 |
|
---|
541 | Slaven Rezic <eserte@cabulja.herceg.de>
|
---|
542 |
|
---|
543 | ------------------------------------------------------------------------------
|
---|
544 |
|
---|
545 | Cache consistency checking: ignore cache if environment
|
---|
546 | (CC or PATH) differs.
|
---|
547 | From Mike Haertel
|
---|
548 |
|
---|
549 | So we need a general mechanism for storing variables' values in the cache,
|
---|
550 | and checking if they are the same after reading the cache. Then we can add
|
---|
551 | to the list of variables as we come across the need. So far we want
|
---|
552 | LD_LIBRARY_PATH and the internal variables for some of (all?) the args.
|
---|
553 | From: roland@gnu.ai.mit.edu (Roland McGrath)
|
---|
554 |
|
---|
555 | Hmm. That list might include LD_LIBRARY_PATH, LD_RUN_PATH (for solaris),
|
---|
556 | and PATH. I can't think of any others so far.
|
---|
557 | From: friedman@splode.com (Noah Friedman)
|
---|
558 |
|
---|
559 | ------------------------------------------------------------------------------
|
---|
560 |
|
---|
561 | Every user running X11 usually has a directory like *X11* in his PATH
|
---|
562 | variable. By replacing bin by include, you can find good places to
|
---|
563 | look for the include files or libraries.
|
---|
564 |
|
---|
565 | From: rcb5@win.tue.nl (Richard Verhoeven)
|
---|
566 |
|
---|
567 | ------------------------------------------------------------------------------
|
---|
568 |
|
---|
569 | In most cases, when autoscan suggests something, using the search or
|
---|
570 | index command into the Info reader for autoconf manual quickly
|
---|
571 | explains me what the test is about. However, for header files and
|
---|
572 | functions, the search might fail, because the test is not of the
|
---|
573 | specific kind. The Autoconf manual should reflect somewhere all
|
---|
574 | header files or functions (non-specific features, generally)
|
---|
575 | triggering autoscan to generate tests, and tell in a few words what is
|
---|
576 | the problem, and the suggested approach for a solution; that is, how
|
---|
577 | one should use the result of testing the feature.
|
---|
578 |
|
---|
579 | From: pinard@iro.umontreal.ca
|
---|
580 |
|
---|
581 | ------------------------------------------------------------------------------
|
---|
582 |
|
---|
583 | It would be nice if the configure script would handle an option such as
|
---|
584 | --x-libraries="/usr/openwin/lib /usr/dt/lib".
|
---|
585 |
|
---|
586 | Rick Boykin <rboykin@cscsun3.larc.nasa.gov>
|
---|
587 |
|
---|
588 | Under Solaris 2.4, the regular X includes and libs and the Motif
|
---|
589 | includes and libs are in different places. The Emacs configure script
|
---|
590 | actually allows dir1:dir2:dir3 --
|
---|
591 |
|
---|
592 | if test "${x_libraries}" != NONE && test -n "${x_libraries}"; then
|
---|
593 | LD_SWITCH_X_SITE=-L`echo ${x_libraries} | sed -e "s/:/ -L/g"`
|
---|
594 | LD_SWITCH_X_SITE_AUX=-R`echo ${x_libraries} | sed -e "s/:/ -R/g"`
|
---|
595 | fi
|
---|
596 | if test "${x_includes}" != NONE && test -n "${x_includes}"; then
|
---|
597 | C_SWITCH_X_SITE=-I`echo ${x_includes} | sed -e "s/:/ -I/g"`
|
---|
598 | fi
|
---|
599 |
|
---|
600 | ------------------------------------------------------------------------------
|
---|
601 |
|
---|
602 | What messages should be produced by default, if any?
|
---|
603 |
|
---|
604 | Probably only the few most important ones, like which configuration
|
---|
605 | name was used, whether X or Xt are in use, etc. The specific
|
---|
606 | decisions, and progress messages, should be recorded on the terminal
|
---|
607 | only if --verbose is used.
|
---|
608 |
|
---|
609 | --silent just suppresses the "checking for...result"
|
---|
610 | messages, not the "creating FOO" messages.
|
---|
611 |
|
---|
612 | I think the default should be to suppress both.
|
---|
613 | From: Richard Stallman <rms@gnu.ai.mit.edu>
|
---|
614 |
|
---|
615 | There is no distinction now between
|
---|
616 | important decisions (we have X) vs minor decisions (we have lstat).
|
---|
617 | However, there are probably only a few things you deem important enough to
|
---|
618 | announce and only those few things will need to be changed.
|
---|
619 | Perhaps config.status could be written with comments saying what was
|
---|
620 | decided.
|
---|
621 | From: Roland McGrath <roland@gnu.ai.mit.edu>
|
---|
622 |
|
---|
623 | ------------------------------------------------------------------------------
|
---|
624 |
|
---|
625 | Another thing I wish for is a macro which figures out which libraries are
|
---|
626 | needed for BSD-style sockets. AC_PATH_X already detects this
|
---|
627 | correctly...so it's just a matter of separating out the socket-related code.
|
---|
628 | From: "Joel N. Weber II" <nemo@koa.iolani.honolulu.hi.us>
|
---|
629 |
|
---|
630 | ------------------------------------------------------------------------------
|
---|
631 |
|
---|
632 | in order to use the AC_CANONICAL_SYSTEM macro, I have to have
|
---|
633 | install-sh somewhere nearby --- why is this? I have no real reason to
|
---|
634 | distribute install-sh, other than that its absence breaks this code.
|
---|
635 |
|
---|
636 | Shouldn't the above loop be looking for config.sub and config.guess?
|
---|
637 | From: jimb@totoro.bio.indiana.edu (Jim Blandy)
|
---|
638 |
|
---|
639 | adding AC_CANONICAL_HOST to my configure.in script caused
|
---|
640 | all sorts of odd/unexplained errors. Obviously, I had to go
|
---|
641 | get copies of config.guess, config.sub and install-sh from the
|
---|
642 | autoconf distribution, but the error messages and autoconf docs
|
---|
643 | didn't explain that very well.
|
---|
644 | From: bostic@bsdi.com (Keith Bostic)
|
---|
645 |
|
---|
646 | ------------------------------------------------------------------------------
|
---|
647 |
|
---|
648 | Perhaps also have AC_TRY_COMPILER try to link an invalid program, and
|
---|
649 | die if the compiler seemed to succeed--in which case it's not usable
|
---|
650 | with autoconf scripts.
|
---|
651 |
|
---|
652 | ------------------------------------------------------------------------------
|
---|
653 |
|
---|
654 | Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002 Free Software
|
---|
655 | Foundation, Inc.
|
---|
656 |
|
---|
657 | This file is part of GNU Autoconf.
|
---|
658 |
|
---|
659 | GNU Autoconf is free software; you can redistribute it and/or modify
|
---|
660 | it under the terms of the GNU General Public License as published by
|
---|
661 | the Free Software Foundation; either version 2, or (at your option)
|
---|
662 | any later version.
|
---|
663 |
|
---|
664 | GNU Autoconf is distributed in the hope that it will be useful,
|
---|
665 | but WITHOUT ANY WARRANTY; without even the implied warranty of
|
---|
666 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
---|
667 | GNU General Public License for more details.
|
---|
668 |
|
---|
669 | You should have received a copy of the GNU General Public License
|
---|
670 | along with autoconf; see the file COPYING. If not, write to
|
---|
671 | the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
---|
672 | Boston, MA 02110-1301, USA.
|
---|