📄 todo
字号:
-*- outline -*-Things it might be nice to do someday. I haven't evaluated all ofthese suggestions... their presence here doesn't imply my endorsement.-djm------------------------------------------------------------------------------* Make AC_CHECK_LIB check whether the function is already available before checking for the library. This might involve adding another kind of cache variable to indicate whether a given function needs a given library. The current ac_cv_func_ variables are intended to indicate whether the function is in the default libraries, but actually also take into account whatever value LIBS had when they were checked for.------------------------------------------------------------------------------* Add AC_PROG_CC_POSIX to replace the current ad-hoc macros for AIX, Minix, ISC, etc.------------------------------------------------------------------------------* Use AC_EGREP_CPP instead of AC_TRY_LINK to detect structures and members.------------------------------------------------------------------------------* Make AC_CHECK_FUNC[S] automatically use any particular macros for the listed functions.------------------------------------------------------------------------------* Support creating both config.h and DEFS in the same configure.------------------------------------------------------------------------------* Select the right CONFIG_SHELL automatically (for Ultrix, Lynx especially.)------------------------------------------------------------------------------* Doc: Add a concept index.------------------------------------------------------------------------------* Doc: Centralize information on POSIX, MS-DOS, cross-compiling, and other important topics.------------------------------------------------------------------------------* Split up AC_SUBST substitutions using a loop to accomodate shells with severely limited here document sizes, if it turns out to be a problem. I'm not sure whether the limit is on lines or bytes; if bytes, it will be less of a problem than it was with the long lines used for creating a header file.------------------------------------------------------------------------------* Allow [ and ] in AC_DEFINE args.------------------------------------------------------------------------------* Mike Haertel's suggestions:** Provide header files containing decls for alloca, strings, etc.** Cross compiling:*** Error messages include instructions for overriding defaults usingconfig.site.*** Distribute a config.site corresponding to a hypothetical bare POSIX system with c89.** Site defaults:*** 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.------------------------------------------------------------------------------* autoscan: Tell the files that caused inclusion of each macro,in a dnl comment. (Seems to be hard.)------------------------------------------------------------------------------* Look at user contributed macros: prototypes IEEE double precision math more------------------------------------------------------------------------------For AC_TYPE_SIGNAL signal handlers, provide a way for code to knowwhether to do "return 0" or "return" (int vs void) to avoid compilerwarnings. (Roland McGrath)------------------------------------------------------------------------------In config.status comment, put the host/target/build types, if used.------------------------------------------------------------------------------Have AC_CANONICAL_* cache the host/build/target types.They have to be overridden by the command line arguments,just as for X includes and libraries. Should they be cachedall in one variable, or three? In that case, what if only oneor two of the cache variables are set?------------------------------------------------------------------------------ The argument HELP-STRING is a description of the option which ... Avoid tabs in the help string. You'll need to enclose it in `[' and `]' in order to produce the leading spaces.Except that [...] is the convention for telling the user the default,So I guess a changequote(`,') or something would be in order in some cases.From: "K. Berry" <kb@cs.umb.edu>------------------------------------------------------------------------------The default of unlimited permission is fine, but there should be some easyway for configure to have copyright terms passed through from configure.in.Maybe AC_LICENSE([...]).From: roland@gnu.ai.mit.edu (Roland McGrath)------------------------------------------------------------------------------AC_MSG_CHECKING([checking for ANSI #stringize])AC_REVISION([ #(@) revision 2.1 ])causes bogus code to be generated for whatever immediately follows. Theproblem goes away if the '#' is removed. Probably the macros are notdisabling the m4 "comment" feature when processing user-supplied strings.-Jim Avera jima@netcom.com------------------------------------------------------------------------------on hal.gnu.ai.mit.edu, configure is getting the wrong answer forAC_CHECK_FUNCS(select).The problem here is that there's severe namespace pollution: whenconftest.c includes <ctype.h> to pick up any __stub macro definitions,it's getting a prototype declaration for select(), which collideswith the dummy declaration in conftest.c. (The chain of includesis conftest.c -> <ctype.h> -> <sys/localedef.h> -> <sys/lc_core.h>-> <sys/types.h> -> <sys/select.h>.) #define $ac_func __dummy_$ac_func #include <ctype.h> #undef $ac_funcFrom: kwzh@gnu.ai.mit.edu (Karl Heuer)The test for the isascii function was failing because that function isalso a macro. He proposed that the test file look like this:/* Remove any macro definition. */#undef isascii/* Override any gcc2 internal prototype to avoid an error. */char isascii(); isascii();Andreas Schwab------------------------------------------------------------------------------put all the config.* stuff somewhere like config/?All these extraneous files sure clutter up a toplevel directory.From: "Randall S. Winchester" <rsw@eng.umd.edu>------------------------------------------------------------------------------It would be nice if I could (in the Makefile.in files) setthe path to config.h. You have config.h ../config.h ../../config.h's all over the place, in the findutils-4.1 directory.From: "Randall S. Winchester" <rsw@eng.umd.edu>------------------------------------------------------------------------------In libc and make in aclocal.m4 I have AC_CHECK_SYMBOL, which checks forsys_siglist et al. Using AC_CHECK_FUNC doesn't work on some system thatwinds up caring that you reference it as a function and it is really avariable. My version always declares the symbol as a char *[]; if thatends up a bad idea, we can have it take an arg with the C decl, but that isa bit verbose to write if it's actually superfluous.From Roland McGrath.[I'd call it AC_CHECK_VAR, I think. -djm]------------------------------------------------------------------------------In a future version (after 2.2), make AC_PROG_{CC,RANLIB,anything else}use AC_CHECK_TOOL.From Roland McGrath.------------------------------------------------------------------------------ ls -lt configure configure.in | sortdoesn't work right if configure.in is from a symlink farm, where thesymlink has either a timestamp of its own, or under BSD 4.4, it hasthe timestamp of the current directory, neither of whichhelps. Changing it to ls -Llt configure configure.in | sortworks for me, though I don't know how portable that is_Mark_ <eichin@cygnus.com>------------------------------------------------------------------------------Here is the thing I would like the most;AC_PKG_WITH(PACKAGE, HELP_STRING, PACKAGE-ROOT, PACKAGE-LIBS, PACKAGE-DEFS, PACKAGE-CCPFLAGS)likeAC_PKG_WITH(kerberos,,/usr/local/athena,-lkrb -ldes,[KERBEROS KRB4 CRYPT],include)AC_PKG_WITH(hesiod,[if hesiod is not in kerberos-root add --with-hesiod-root=somewhere],,-lhesiod,HESIOD,,)AC_PKG_WITH(glue,,,-lglue,GLUE,,)AC_PKG_WITH(bind,,/usr/local/bind, [lib/resolv.a lib/lib44bsd.a], ,include)After the apropriate checks, the existance of the paths, and libs and suchLIBS=$LIBS $PKG-LIBSDEFS=$DEFS $PKG-DEFSCPPFLAGS=$PKG-CPPFLAGS $CPPFLAGS$PKG-ROOT=$PKG-ROOTThe cppflags should reverse the order so that you can have;-I/usr/local/bind/include -I/usr/local/athena/includeand-L/usr/local/athena/lib -lkrb -ldes /usr/local/bind/lib/libresolv.aas order matters.also an AC_PKG_CHK_HEADERand an AC_PKG_CHK_FUNCTIONso one can give alternate paths to check for stuff ($PKG-ROOT/lib for example)From: Randall Winchester------------------------------------------------------------------------------AC_C_CROSS assumes that configure wascalled like 'CC=target-gcc; ./configure'. I want to write a packagethat has target dependent libraries and host dependent tools. So Idon't like to lose the distinction between CC and [G]CC_FOR_TARGET. AC_C_CROSS should check for equality of target and host.It would be great if GCC_FOR_TARGETAR_FOR_TARGETRANLIB_FOR_TARGETwould be set automatically if host != target.AC_LANG_CROSS_C would be nice too, to check header filesetc. with GCC_FOR_TARGET instead of CCHere is one simple testif test "x$host" != "x$target"; thenAC_PROGRAMS_CHECK(AR_FOR_TARGET, $target-ar, $target-ar, ar)AC_PROGRAMS_CHECK(RANLIB_FOR_TARGET, $target-ranlib, $target-ranlib, ranlib)AC_PROGRAMS_CHECK(GCC_FOR_TARGET, $target-gcc, $target-gcc, gcc)fiThis could be improved to also look for gcc in PATH, but require theprefix to contain the target e.g.:target=m68k-coff -->GCC_FOR_TARGET = /usr/gnu/m68k-coff/bin/gccFrom: nennker@cs.tu-berlin.DE (Axel Nennker)------------------------------------------------------------------------------The problem occurs with the following libc functions in SunOS 5.4: fnmatch glob globfree regcomp regexec regerror regfree wordexp wordfreeIt also occurs with a bunch more libposix4 functions that most peopleprobably aren't worried about yet, e.g. shm_open.All these functions fail with errno set to ENOSYS (89)``Operation not applicable''.Perhaps autoconf should have aspecific macro for fnmatch, another for glob+globfree, another forregcomp+regexec+regerror+regfree, and another for wordexp+wordfree.This wouldn't solve the problem in general, but it should work forSolaris 2.4. Or autoconf could limit itself to fnmatch and regcomp,the only two functions that I know have been a problem so far.From Paul Eggert.------------------------------------------------------------------------------Make easy macros for checking for X functions and libraries, such as Motif.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -