Blame TODO

Packit 47b4ca
-*- outline -*-
Packit 47b4ca
Packit 47b4ca
Things it might be nice to do someday.  I haven't evaluated all of
Packit 47b4ca
these suggestions... their presence here doesn't imply my endorsement.
Packit 47b4ca
-djm & his successors.
Packit 47b4ca
Packit 47b4ca
Packit 47b4ca
------------------------------------------------------------------------------
Packit 47b4ca
Packit 47b4ca
* Soon
Packit 47b4ca
Packit 47b4ca
** AC_CHECK_HEADERS
Packit 47b4ca
and the like, don't have a consistent way to handle multi-line
Packit 47b4ca
arguments.  Fix, test, and document.
Packit 47b4ca
Packit 47b4ca
** --target & AC_ARG_PROGRAM
Packit 47b4ca
Shouldn't *any* `program' be installed as `$target_alias-program' even
Packit 47b4ca
if AC_ARG_PROGRAM is not called?  That would be much more predictable.
Packit 47b4ca
Ian?
Packit 47b4ca
Packit 47b4ca
** AC_CHECK_TOOL...
Packit 47b4ca
Write a test that checks that it honors the values set by the user.
Packit 47b4ca
Packit 47b4ca
** autom4te and warnings.
Packit 47b4ca
Decide what must be done.
Packit 47b4ca
Packit 47b4ca
** AC_DEFINE(func, rpl_func)
Packit 47b4ca
This scheme causes problems: if for instance, #define malloc
Packit 47b4ca
rpl_malloc, then the rest of configure will use an undefined malloc.
Packit 47b4ca
Hence some tests fail.  Up to now we simply #undef these functions
Packit 47b4ca
where we had a problem (cf. AC_FUNC_MKTIME and AC_FUNC_MMAP for
Packit 47b4ca
instance).  This is _bad_.  Maybe the #define func rpl_malloc should
Packit 47b4ca
be performed in another file than confdefs.h, say confh.h, which is
Packit 47b4ca
used for config.h generation, but not used in configure's own tests.
Packit 47b4ca
Packit 47b4ca
** AC_PROG_CC
Packit 47b4ca
Currently it tries to put the C compiler in ANSI C mode by default.
Packit 47b4ca
We should change this spec so that AC_PROG_CC tries to change the
Packit 47b4ca
compiler to be the "nicest" mode, i.e. support for the latest standard
Packit 47b4ca
features (currently ISO C99) plus support for all vendor extensions,
Packit 47b4ca
even if they are slightly incompatible with C99.  The basic idea here
Packit 47b4ca
is that AC_PROG_CC should disable pedanticisms and should enable
Packit 47b4ca
extensions.
Packit 47b4ca
Packit 47b4ca
Have a way to specify different default flags to try; see this thread
Packit 47b4ca
for more information:
Packit 47b4ca
<http://lists.gnu.org/archive/html/bug-autoconf/2008-08/msg00009.html>.
Packit 47b4ca
Packit 47b4ca
Packit 47b4ca
* Later
Packit 47b4ca
Packit 47b4ca
** config.site
Packit 47b4ca
This guy is really a problem.  It's contents should be read before
Packit 47b4ca
handling the options, so that the latter properly override the latter,
Packit 47b4ca
but most people would want a means to have a config.site that depends
Packit 47b4ca
on $prefix for instance.
Packit 47b4ca
Packit 47b4ca
Some other would like config.site to be looked for in the current
Packit 47b4ca
directory.
Packit 47b4ca
Packit 47b4ca
Harlan:
Packit 47b4ca
Packit 47b4ca
   I'll go further.
Packit 47b4ca
Packit 47b4ca
   I'd like to see several layers of config.site available.
Packit 47b4ca
Packit 47b4ca
   I'm starting to use "modules" at more places to handle software
Packit 47b4ca
   installation, and it would be helpful to set general things like:
Packit 47b4ca
Packit 47b4ca
	prefix=/opt/pkg/@PACKAGE@/@VERSION@
Packit 47b4ca
Packit 47b4ca
   once at a global level, and then, for example, have things like:
Packit 47b4ca
Packit 47b4ca
	--with-etcdir=$prefix/etc
Packit 47b4ca
Packit 47b4ca
   stuffed "above" the various versions of SSH so I wouldn't have to hunt for
Packit 47b4ca
   these things every time it was time to recompile a new version of a
Packit 47b4ca
   previously installed package.
Packit 47b4ca
Packit 47b4ca
   Something like:
Packit 47b4ca
Packit 47b4ca
     src/config.site		Global stuff
Packit 47b4ca
     ...
Packit 47b4ca
     src/ssh/config.site		package-specific stuff
Packit 47b4ca
     src/ssh/ssh-1.2.27/		the actual source code
Packit 47b4ca
Packit 47b4ca
   I'd like to see automake/autoconf better support packaging tools (like
Packit 47b4ca
   modules, the *BSD ports/ stuff, and others would like hooks for RPMs).
Packit 47b4ca
Packit 47b4ca
Packit 47b4ca
** Languages
Packit 47b4ca
Integrate other Fortrans etc.
Packit 47b4ca
Packit 47b4ca
** AC_CHECK_FUNCS and AC_TRY_LINK_FUNC
Packit 47b4ca
I have still not understood what's the difference  between the two
Packit 47b4ca
which requires to have two different sources: AC_LANG_CALL and
Packit 47b4ca
AC_LANG_FUNC_LINK_TRY (which names seem to be inappropriate).
Packit 47b4ca
Wouldn't one be enough?
Packit 47b4ca
Packit 47b4ca
** Libtool
Packit 47b4ca
Define once for all the hooks they need, any redefinition of
Packit 47b4ca
AC_PROG_CC etc. is way too dangerous and too limiting.  The GCC team
Packit 47b4ca
certainly has requirements too.
Packit 47b4ca
Packit 47b4ca
** AC_SEARCH_LIBS
Packit 47b4ca
From: Tom Tromey <tromey@cygnus.com>
Packit 47b4ca
Subject: AC_SEARCH_LIBS
Packit 47b4ca
Packit 47b4ca
I think AC_SEARCH_LIBS has an unfortunate interface.
Packit 47b4ca
Packit 47b4ca
ACTION-IF-FOUND is run in addition to the default action.  Most
Packit 47b4ca
autoconf macros don't work this way.  This is confusing.
Packit 47b4ca
Packit 47b4ca
In my case I can't use this macro because it always appends to LIBS.
Packit 47b4ca
I don't want that.  Instead I want to use ACTION-IF-FOUND to set my
Packit 47b4ca
own macro.
Packit 47b4ca
Packit 47b4ca
Also there is no documentation on the format of library names expected
Packit 47b4ca
by the macro.  Even a reference to some other function (e.g., "the
Packit 47b4ca
library name can have the same forms as with AC_HAVE_LIBRARY" (if that
Packit 47b4ca
is true, which I haven't looked up) would be fine.
Packit 47b4ca
Packit 47b4ca
** Revamp the language support
Packit 47b4ca
We should probably have a language for C89, and C99.  We must give the
Packit 47b4ca
means to the users to specify some needs over the compilers, and
Packit 47b4ca
actually look for a good compiler, instead of stopping at the first
Packit 47b4ca
compiler we find.
Packit 47b4ca
Packit 47b4ca
In fact, the AC_CHECK_PROG macro and variations have proved their
Packit 47b4ca
limitation: we really need something more powerful and simpler too.
Packit 47b4ca
Packit 47b4ca
We must take into account the specific problems of the GCC team.  We
Packit 47b4ca
must extend AC_CHECK_FUNCS in order to use the headers instead of fake
Packit 47b4ca
declarations as we currently do.  Default headers could be triggered
Packit 47b4ca
on when C99, but not with the other languages?
Packit 47b4ca
Packit 47b4ca
At the end, we should have a simple macro, such as AC_LANG_COMPILER
Packit 47b4ca
for instance, which is built over simpler macros.  Each language
Packit 47b4ca
support should come with these simpler macros, but each language
Packit 47b4ca
should follow the same process.
Packit 47b4ca
Packit 47b4ca
We also need to check the srcext which are supported by the compiler.
Packit 47b4ca
In fact, this macro is also probably the right place to check for
Packit 47b4ca
objext and exeext.
Packit 47b4ca
Packit 47b4ca
** AC_PROG_CC_STDC
Packit 47b4ca
Should be: AC_PROG_CC_ISO?  Or even more specific for the ISO version?
Packit 47b4ca
Should include more tests (e.g., AC_C_CONST etc.)?  See Peter for very
Packit 47b4ca
useful comments on the technology.  Should we make this a new
Packit 47b4ca
language?  AC_LANG(ISO C).  It would be great to introduce
Packit 47b4ca
AC_LANG_COMPILER in this release too.
Packit 47b4ca
Packit 47b4ca
** autoupdate
Packit 47b4ca
We should probably install the files which do not depend upon the
Packit 47b4ca
user, just the Autoconf library files.  But conversely autoupdate must
Packit 47b4ca
be opened to user macros, i.e., for instance libtool itself must be
Packit 47b4ca
able to say that AM_PROG_LIBTOOL is now AC_PROG_LIBTOOL, and have
Packit 47b4ca
autoupdate do its job on old configure.ac.
Packit 47b4ca
Packit 47b4ca
* Even later
Packit 47b4ca
Packit 47b4ca
** Pentateuch
Packit 47b4ca
Heck, there is nothing after `Deuteronomy'!  We're stuck, but we
Packit 47b4ca
_must_ update the `history' section.  Can't go to `New testament', we
Packit 47b4ca
might hurt feelings?  In addition, it means that the Messiah has come,
Packit 47b4ca
which might be slightly presumptuous :).  Still, someone fluent in
Packit 47b4ca
English should write it.
Packit 47b4ca
Packit 47b4ca
** AC_PATH_X
Packit 47b4ca
Hi Robert,
Packit 47b4ca
Packit 47b4ca
> Hi, autoconf people.  While packaging plotutils-2.2 (just released),
Packit 47b4ca
> I noticed what looks like a small error in the autoconf-2.13 texinfo
Packit 47b4ca
> documentation, the entry for AC_PATH_XTRA, in particular.
Packit 47b4ca
Packit 47b4ca
> The documentation says that AC_PATH_XTRA
Packit 47b4ca
>	... adds the C compiler flags that X needs to output variable
Packit 47b4ca
>	`X_CFLAGS', and the X linker flags to `X_LIBS'.  If X is not
Packit 47b4ca
>	available, adds `-DX_DISPLAY_MISSING' to `X_CFLAGS'.
Packit 47b4ca
Packit 47b4ca
> It doesn't seem to add -DX_DISPLAY_MISSING to X_CFLAGS.  X_DISPLAY_MISSING
Packit 47b4ca
> ends up defined in config.h, instead.
Packit 47b4ca
Packit 47b4ca
That's only because you're no doubt using AC_CONFIG_HEADER(..) to send
Packit 47b4ca
your defines to a config.h-style file.  If you were to not use
Packit 47b4ca
AC_CONFIG_HEADER and X was not available, then you would see
Packit 47b4ca
-DX_DISPLAY_MISSING being added to @DEFS@ as your output files were being
Packit 47b4ca
generated.
Packit 47b4ca
Packit 47b4ca
But you are right--the documentation is not clear about this.  I'll change
Packit 47b4ca
it.
Packit 47b4ca
Packit 47b4ca
> In fact it looks to me as if right now, X_CFLAGS is used only for
Packit 47b4ca
> specifying directories where X include files are stored, via the `-I' option.
Packit 47b4ca
> Maybe it should really be called X_CPPFLAGS?
Packit 47b4ca
Packit 47b4ca
Well, perhaps.  If you feel strongly about this, feel free to submit a
Packit 47b4ca
change-request.  There is a hyperlink to the bug tracking database from
Packit 47b4ca
http://sourceware.cygnus.com/autoconf/.  With the way it reads in the
Packit 47b4ca
manual right now, it's designed to allow the user to set additional flags
Packit 47b4ca
in the environment prior to running configure--and these don't need to be
Packit 47b4ca
limited to just -I flags.  Nevertheless, I can see a few clean ways to
Packit 47b4ca
improve this.
Packit 47b4ca
Packit 47b4ca
** AC_SYS_INTERPRETER
Packit 47b4ca
Defines $interpval.  This is not a standard name.  Do we want to keep
Packit 47b4ca
this?  Clarify our policy on those names.
Packit 47b4ca
Packit 47b4ca
** Allow --recursive to config.status
Packit 47b4ca
So that --recheck does not pass --no-recursive to configure.
Packit 47b4ca
Packit 47b4ca
* autoconf.texi
Packit 47b4ca
Move the specific macro documentation blocks into the source files,
Packit 47b4ca
and use a doc-block extraction/merge technique to get documentation
Packit 47b4ca
into texi-file.  This should help avoid bit-rot in the doc, and make
Packit 47b4ca
the doc easier to update when people add/change macros.  The name
Packit 47b4ca
"autodoc" is probably already taken so we probably need another one.
Packit 47b4ca
Packit 47b4ca
------------------------------------------------------------------------------
Packit 47b4ca
Packit 47b4ca
* m4
Packit 47b4ca
Packit 47b4ca
** I18n
Packit 47b4ca
The error messages for indir and dumpdef are uselessly different.  Fix
Packit 47b4ca
this for translators.
Packit 47b4ca
Packit 47b4ca
** Tracing `builtin'
Packit 47b4ca
F**k!  --trace FOO does not catch indir([FOO], $@)!
Packit 47b4ca
Fixed in M4 1.6, but we can't rely on it yet.
Packit 47b4ca
Packit 47b4ca
** m4 loops
Packit 47b4ca
As of 2.63, m4_for has a fixed iteration count for speed in the common
Packit 47b4ca
usage case.  But it used to allow the user to alter iteration count by
Packit 47b4ca
reassigning the iterator, allowing a break-like functionality (or even
Packit 47b4ca
infloops).  Does this need a new (but maybe slower) macro?  Should we
Packit 47b4ca
also provide something like m4_while([TEST], [EXPR])?  Maybe an
Packit 47b4ca
m4_break() that works inside a looping construct?
Packit 47b4ca
http://lists.gnu.org/archive/html/autoconf-patches/2008-08/msg00121.html
Packit 47b4ca
Packit 47b4ca
* Autoconf 3
Packit 47b4ca
Packit 47b4ca
** Cache name spaces.
Packit 47b4ca
Cf the discussion with Kaveh.  One would like to
Packit 47b4ca
AC_CHECK_FUNCS(bar)
Packit 47b4ca
# Do something that changes the environment
Packit 47b4ca
AC_CACHE_PUSH(foo)
Packit 47b4ca
AC_CHECK_FUNCS(bar)
Packit 47b4ca
AC_CACHE_POP
Packit 47b4ca
in order not to erase the results of a check with another.
Packit 47b4ca
Packit 47b4ca
** Cache var names
Packit 47b4ca
should depend upon the current language.
Packit 47b4ca
Packit 47b4ca
** Use m4 lists?
Packit 47b4ca
I think one sad decision in Autoconf was to use white space separated
Packit 47b4ca
lists for some arguments.  For instance AC_CHECK_FUNCS(foo bar).  I
Packit 47b4ca
tend to think that, even if it is not as nice, we should use m4 lists,
Packit 47b4ca
i.e., AC_CHECK_FUNCS([foo, bar]) in this case.  This would ease
Packit 47b4ca
specializing loops, and more importantly, make them much more robust.
Packit 47b4ca
Packit 47b4ca
A typical example of things that can be performed if we use m4 lists
Packit 47b4ca
instead of white space separated lists is the case of things that have
Packit 47b4ca
a space in their names, eg, structures.
Packit 47b4ca
Packit 47b4ca
With the current scheme it would be extremely difficult to loop over
Packit 47b4ca
AC_CHECK_STRUCTS(struct foo struct bar), while it natural and well
Packit 47b4ca
defined for m4 lists: AC_CHECK_STRUCTS([struct foo, struct bar]).
Packit 47b4ca
Packit 47b4ca
I know that makes a huge difference in syntax, but a major release
Packit 47b4ca
should be ready to settle a new world.  We *can* provide helping tools
Packit 47b4ca
for the transition.  Considering the benefits, I really think it is
Packit 47b4ca
worth thinking. --akim
Packit 47b4ca
Packit 47b4ca
** Forbid shell variables as main arguments
Packit 47b4ca
The fact that we have to support shell variables as main argument
Packit 47b4ca
forbids many interesting constructions (specialization are not always
Packit 47b4ca
possible, equally for AC_REQUIRE'ing macros *with their arguments*).
Packit 47b4ca
Any loop should be handled by m4 itself, and nothing should be hidden
Packit 47b4ca
to it.  As a consequence, shell variables on the main arguments become
Packit 47b4ca
useless (the main reason we support shell variables is to allow the
Packit 47b4ca
loop versions of single argument macros, eg, to go from AC_CHECK_FUNC
Packit 47b4ca
to AC_CHECK_FUNCS). --akim
Packit 47b4ca
Packit 47b4ca
** Use the @SUBST@ technology also for headers instead of #undef.
Packit 47b4ca
This requires that acconfig.h becomes completely obsolete: autoheader
Packit 47b4ca
should generate all the templates.
Packit 47b4ca
Packit 47b4ca
** Specializing loops.
Packit 47b4ca
For instance, make AC_CHECK_FUNC[S] automatically use any particular
Packit 47b4ca
macros for the listed functions.
Packit 47b4ca
This requires to obsolete the feature `break' in ACTION-IF, since all
Packit 47b4ca
the loops are to be handled by m4, not sh.
Packit 47b4ca
Packit 47b4ca
** Faces of a test
Packit 47b4ca
Each macro can potentially come with several faces: of course the
Packit 47b4ca
configure snippet (AC_foo), a config.h snippet (AH_foo), a system.h
Packit 47b4ca
snippet (AS_foo), documentation (AD_foo) and, why not, the some C code
Packit 47b4ca
for instance to replace a function.
Packit 47b4ca
Packit 47b4ca
The motivation for the `faces' is to encapsulate.  It is abnormal that
Packit 47b4ca
once one has a configure macro, then she has to read somewhere to find
Packit 47b4ca
the piece of system.h to use etc.  The macros should come in a
Packit 47b4ca
self-contained way, or, said it another way, PnP.
Packit 47b4ca
Packit 47b4ca
A major issue is that of specialization.  AC_CHECK_HEADER (or another
Packit 47b4ca
name) for instance, will have as an effect, via system.h to include
Packit 47b4ca
the header.  But if the test for the header is specific, the generic
Packit 47b4ca
AS_CHECK_HEADER will still be used.  Conversely, some headers may not
Packit 47b4ca
require a specific AC_ tests, but a specialized AS_ macro.
Packit 47b4ca
Packit 47b4ca
------------------------------------------------------------------------------
Packit 47b4ca
Packit 47b4ca
* Make AC_CHECK_LIB check whether the function is already available
Packit 47b4ca
  before checking for the library.  This might involve adding another
Packit 47b4ca
  kind of cache variable to indicate whether a given function needs a
Packit 47b4ca
  given library.  The current ac_cv_func_ variables are intended to
Packit 47b4ca
  indicate whether the function is in the default libraries, but
Packit 47b4ca
  actually also take into account whatever value LIBS had when they
Packit 47b4ca
  were checked for.
Packit 47b4ca
Packit 47b4ca
  Isn't this the issue of AC_SEARCH_LIB? --akim
Packit 47b4ca
  How come the list of libraries to browse not an additional parameter
Packit 47b4ca
  of AC_CHECK_FUNC, exactly like for the headers? --akim
Packit 47b4ca
Packit 47b4ca
------------------------------------------------------------------------------
Packit 47b4ca
Packit 47b4ca
* Select the right CONFIG_SHELL automatically (for Ultrix, Lynx especially.)
Packit 47b4ca
Packit 47b4ca
------------------------------------------------------------------------------
Packit 47b4ca
Packit 47b4ca
* Doc: Centralize information on POSIX, MS-DOS, cross-compiling, and
Packit 47b4ca
  other important topics.
Packit 47b4ca
Packit 47b4ca
------------------------------------------------------------------------------
Packit 47b4ca
Packit 47b4ca
* Mike Haertel's suggestions:
Packit 47b4ca
Packit 47b4ca
** Cross compiling:
Packit 47b4ca
Packit 47b4ca
*** Error messages include instructions for overriding defaults using
Packit 47b4ca
config.site.
Packit 47b4ca
Packit 47b4ca
*** Distribute a config.site corresponding to a hypothetical bare POSIX system with c89.
Packit 47b4ca
Packit 47b4ca
** Site defaults:
Packit 47b4ca
Packit 47b4ca
*** 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.
Packit 47b4ca
Packit 47b4ca
------------------------------------------------------------------------------
Packit 47b4ca
Packit 47b4ca
* Look at user contributed macros:
Packit 47b4ca
	IEEE double precision math
Packit 47b4ca
	more
Packit 47b4ca
Packit 47b4ca
------------------------------------------------------------------------------
Packit 47b4ca
Packit 47b4ca
* Provide a way to create a config.h *and* set the DEFS variable from within
Packit 47b4ca
the same configure script.
Packit 47b4ca
Packit 47b4ca
------------------------------------------------------------------------------
Packit 47b4ca
Packit 47b4ca
In config.status comment, put the host/target/build types, if used.
Packit 47b4ca
Packit 47b4ca
------------------------------------------------------------------------------
Packit 47b4ca
Packit 47b4ca
It would be nice if I could (in the Makefile.in files) set the
Packit 47b4ca
relative name of config.h. You have config.h ../config.h
Packit 47b4ca
../../config.h's all over the place, in the findutils-4.1 directory.
Packit 47b4ca
From: "Randall S. Winchester" <rsw@eng.umd.edu>
Packit 47b4ca
Packit 47b4ca
------------------------------------------------------------------------------
Packit 47b4ca
Packit 47b4ca
	ls -lt configure configure.in | sort
Packit 47b4ca
doesn't work right if configure.in is from a symlink farm, where the
Packit 47b4ca
symlink has either a timestamp of its own, or under BSD 4.4, it has
Packit 47b4ca
the timestamp of the current directory, neither of which
Packit 47b4ca
helps. Changing it to
Packit 47b4ca
	ls -Llt configure configure.in | sort
Packit 47b4ca
works for me, though I don't know how portable that is
Packit 47b4ca
_Mark_ <eichin@cygnus.com>
Packit 47b4ca
Packit 47b4ca
------------------------------------------------------------------------------
Packit 47b4ca
Packit 47b4ca
Here is the thing I would like the most;
Packit 47b4ca
AC_PKG_WITH(PACKAGE, HELP_STRING, PACKAGE-ROOT, PACKAGE-LIBS, PACKAGE-DEFS,
Packit 47b4ca
	PACKAGE-CCPFLAGS)
Packit 47b4ca
like
Packit 47b4ca
Packit 47b4ca
AC_PKG_WITH(kerberos,,/usr/local/athena,-lkrb -ldes,[KERBEROS KRB4
Packit 47b4ca
CRYPT],include)
Packit 47b4ca
AC_PKG_WITH(hesiod,
Packit 47b4ca
[if hesiod is not in kerberos-root add --with-hesiod-root=somewhere]
Packit 47b4ca
,,-lhesiod,HESIOD,,)
Packit 47b4ca
AC_PKG_WITH(glue,,,-lglue,GLUE,,)
Packit 47b4ca
AC_PKG_WITH(bind,,/usr/local/bind, [lib/resolv.a lib/lib44bsd.a], ,include)
Packit 47b4ca
After the appropriate checks, the existence of the files, and libs and such
Packit 47b4ca
LIBS=$LIBS $PKG-LIBS
Packit 47b4ca
DEFS=$DEFS $PKG-DEFS
Packit 47b4ca
CPPFLAGS=$PKG-CPPFLAGS $CPPFLAGS
Packit 47b4ca
$PKG-ROOT=$PKG-ROOT
Packit 47b4ca
The cppflags should reverse the order so that you can have;
Packit 47b4ca
-I/usr/local/bind/include -I/usr/local/athena/include
Packit 47b4ca
and
Packit 47b4ca
-L/usr/local/athena/lib -lkrb -ldes /usr/local/bind/lib/libresolv.a
Packit 47b4ca
as order matters.
Packit 47b4ca
Packit 47b4ca
also an AC_PKG_CHK_HEADER
Packit 47b4ca
and an AC_PKG_CHK_FUNCTION
Packit 47b4ca
so one can give alternate names to check for stuff ($PKG-ROOT/lib for
Packit 47b4ca
example)
Packit 47b4ca
From: Randall Winchester
Packit 47b4ca
Packit 47b4ca
------------------------------------------------------------------------------
Packit 47b4ca
Packit 47b4ca
AC_C_CROSS assumes that configure was called like 'CC=target-gcc;
Packit 47b4ca
./configure'. I want to write a package that has target dependent
Packit 47b4ca
libraries and host dependent tools. So I don't like to lose the
Packit 47b4ca
distinction between CC and [G]CC_FOR_TARGET.  AC_C_CROSS should check
Packit 47b4ca
for equality of target and host.
Packit 47b4ca
Packit 47b4ca
It would be great if
Packit 47b4ca
Packit 47b4ca
GCC_FOR_TARGET
Packit 47b4ca
AR_FOR_TARGET
Packit 47b4ca
RANLIB_FOR_TARGET
Packit 47b4ca
Packit 47b4ca
would be set automatically if host != target.
Packit 47b4ca
AC_LANG_CROSS_C would be nice too, to check header files
Packit 47b4ca
etc. with GCC_FOR_TARGET instead of CC
Packit 47b4ca
Packit 47b4ca
Here is one simple test
Packit 47b4ca
Packit 47b4ca
if test "x$host" != "x$target"; then
Packit 47b4ca
AC_CHECK_PROGS(AR_FOR_TARGET,
Packit 47b4ca
	       [$target-ar, $prefix/$target/bin/ar], $target-ar)
Packit 47b4ca
AC_CHECK_PROGS(RANLIB_FOR_TARGET, $target-ranlib, $target-ranlib)
Packit 47b4ca
	       [$target-ranlib, $prefix/$target/bin/ranlib], $target-ranlib)
Packit 47b4ca
AC_CHECK_PROGS(GCC_FOR_TARGET, $target-gcc, $target-gcc)
Packit 47b4ca
	       [$target-gcc, $prefix/$target/bin/gcc], $target-gcc)
Packit 47b4ca
fi
Packit 47b4ca
Packit 47b4ca
From: nennker@cs.tu-berlin.DE (Axel Nennker)
Packit 47b4ca
Packit 47b4ca
(also look in the autoconf mailing list archives for the proposed
Packit 47b4ca
CHECK_TARGET_TOOL macro from Natanael Nerode, a gcc configury guru).
Packit 47b4ca
Packit 47b4ca
------------------------------------------------------------------------------
Packit 47b4ca
Packit 47b4ca
The problem occurs with the following libc functions in SunOS 5.4:
Packit 47b4ca
Packit 47b4ca
	fnmatch glob globfree regcomp regexec regerror regfree wordexp wordfree
Packit 47b4ca
Packit 47b4ca
It also occurs with a bunch more libposix4 functions that most people
Packit 47b4ca
probably aren't worried about yet, e.g. shm_open.
Packit 47b4ca
Packit 47b4ca
All these functions fail with errno set to ENOSYS (89)
Packit 47b4ca
``Operation not applicable''.
Packit 47b4ca
Packit 47b4ca
Perhaps Autoconf should have a specific macro for fnmatch, another for
Packit 47b4ca
glob+globfree, another for regcomp+regexec+regerror+regfree, and
Packit 47b4ca
another for wordexp+wordfree.  This wouldn't solve the problem in
Packit 47b4ca
general, but it should work for Solaris 2.4.  Or Autoconf could limit
Packit 47b4ca
itself to fnmatch and regcomp, the only two functions that I know have
Packit 47b4ca
been a problem so far.
Packit 47b4ca
Packit 47b4ca
From Paul Eggert.
Packit 47b4ca
Packit 47b4ca
------------------------------------------------------------------------------
Packit 47b4ca
Packit 47b4ca
Make easy macros for checking for X functions and libraries, such as Motif.
Packit 47b4ca
Packit 47b4ca
------------------------------------------------------------------------------
Packit 47b4ca
Packit 47b4ca
There are basically three ways to lock files
Packit 47b4ca
        lockf, fnctl, flock
Packit 47b4ca
I'd be interested in adding a macro to pick the "right one" if you're
Packit 47b4ca
interested.
Packit 47b4ca
Packit 47b4ca
From:    Rich Salz <rsalz@osf.org>
Packit 47b4ca
Packit 47b4ca
------------------------------------------------------------------------------
Packit 47b4ca
Packit 47b4ca
Timezone calculations checks.
Packit 47b4ca
Packit 47b4ca
------------------------------------------------------------------------------
Packit 47b4ca
Packit 47b4ca
Support different default file system layouts, e.g. SVR4, Linux.
Packit 47b4ca
Of course, this can be done locally with config.site.
Packit 47b4ca
Packit 47b4ca
------------------------------------------------------------------------------
Packit 47b4ca
Packit 47b4ca
I wonder if it is possible to get the name of X11's app-defaults
Packit 47b4ca
directory by autoconf. Moreover, I'd like to have a general way of
Packit 47b4ca
accessing imake variables by autoconf, something like
Packit 47b4ca
Packit 47b4ca
AC_DEFINE(WINE_APP_DEFAULTS, AC_IMAKE_VAR(XAPPLOADDIR))
Packit 47b4ca
Packit 47b4ca
Slaven Rezic <eserte@cabulja.herceg.de>
Packit 47b4ca
Packit 47b4ca
------------------------------------------------------------------------------
Packit 47b4ca
Packit 47b4ca
Every user running X11 usually has a directory like *X11* in his PATH
Packit 47b4ca
variable. By replacing bin by include, you can find good places to
Packit 47b4ca
look for the include files or libraries.
Packit 47b4ca
Packit 47b4ca
From: rcb5@win.tue.nl (Richard Verhoeven)
Packit 47b4ca
Packit 47b4ca
------------------------------------------------------------------------------
Packit 47b4ca
Packit 47b4ca
In most cases, when autoscan suggests something, using the search or
Packit 47b4ca
index command into the Info reader for autoconf manual quickly
Packit 47b4ca
explains me what the test is about.  However, for header files and
Packit 47b4ca
functions, the search might fail, because the test is not of the
Packit 47b4ca
specific kind.  The Autoconf manual should reflect somewhere all
Packit 47b4ca
header files or functions (non-specific features, generally)
Packit 47b4ca
triggering autoscan to generate tests, and tell in a few words what is
Packit 47b4ca
the problem, and the suggested approach for a solution; that is, how
Packit 47b4ca
one should use the result of testing the feature.
Packit 47b4ca
Packit 47b4ca
From: pinard@iro.umontreal.ca
Packit 47b4ca
Packit 47b4ca
------------------------------------------------------------------------------
Packit 47b4ca
Packit 47b4ca
It would be nice if the configure script would handle an option such as
Packit 47b4ca
--x-libraries="/usr/openwin/lib /usr/dt/lib".
Packit 47b4ca
Packit 47b4ca
Rick Boykin <rboykin@cscsun3.larc.nasa.gov>
Packit 47b4ca
Packit 47b4ca
Under Solaris 2.4, the regular X includes and libs and the Motif
Packit 47b4ca
includes and libs are in different places.  The Emacs configure script
Packit 47b4ca
actually allows dir1:dir2:dir3 --
Packit 47b4ca
Packit 47b4ca
    if test "${x_libraries}" != NONE && test -n "${x_libraries}"; then
Packit 47b4ca
      LD_SWITCH_X_SITE=-L`echo ${x_libraries} | sed -e "s/:/ -L/g"`
Packit 47b4ca
      LD_SWITCH_X_SITE_AUX=-R`echo ${x_libraries} | sed -e "s/:/ -R/g"`
Packit 47b4ca
    fi
Packit 47b4ca
    if test "${x_includes}" != NONE && test -n "${x_includes}"; then
Packit 47b4ca
      C_SWITCH_X_SITE=-I`echo ${x_includes} | sed -e "s/:/ -I/g"`
Packit 47b4ca
    fi
Packit 47b4ca
Packit 47b4ca
------------------------------------------------------------------------------
Packit 47b4ca
Packit 47b4ca
    What messages should be produced by default, if any?
Packit 47b4ca
Packit 47b4ca
Probably only the few most important ones, like which configuration
Packit 47b4ca
name was used, whether X or Xt are in use, etc. The specific
Packit 47b4ca
decisions, and progress messages, should be recorded on the terminal
Packit 47b4ca
only if --verbose is used.
Packit 47b4ca
Packit 47b4ca
    --silent just suppresses the "checking for...result"
Packit 47b4ca
    messages, not the "creating FOO" messages.
Packit 47b4ca
Packit 47b4ca
I think the default should be to suppress both.
Packit 47b4ca
From: Richard Stallman <rms@gnu.ai.mit.edu>
Packit 47b4ca
Packit 47b4ca
There is no distinction now between
Packit 47b4ca
important decisions (we have X) vs minor decisions (we have lstat).
Packit 47b4ca
However, there are probably only a few things you deem important enough to
Packit 47b4ca
announce and only those few things will need to be changed.
Packit 47b4ca
Perhaps config.status could be written with comments saying what was
Packit 47b4ca
decided.
Packit 47b4ca
From: Roland McGrath <roland@gnu.ai.mit.edu>
Packit 47b4ca
Packit 47b4ca
------------------------------------------------------------------------------
Packit 47b4ca
Packit 47b4ca
Another thing I wish for is a macro which figures out which libraries are
Packit 47b4ca
needed for BSD-style sockets.  AC_PATH_X already detects this
Packit 47b4ca
correctly...so it's just a matter of separating out the socket-related code.
Packit 47b4ca
From: "Joel N. Weber II" <nemo@koa.iolani.honolulu.hi.us>
Packit 47b4ca
Packit 47b4ca
------------------------------------------------------------------------------
Packit 47b4ca
Packit 47b4ca
in order to use the AC_CANONICAL_SYSTEM macro, I have to have
Packit 47b4ca
install-sh somewhere nearby --- why is this?  I have no real reason to
Packit 47b4ca
distribute install-sh, other than that its absence breaks this code.
Packit 47b4ca
Packit 47b4ca
Shouldn't the above loop be looking for config.sub and config.guess?
Packit 47b4ca
From: jimb@totoro.bio.indiana.edu (Jim Blandy)
Packit 47b4ca
Packit 47b4ca
adding AC_CANONICAL_HOST to my configure.in script caused
Packit 47b4ca
all sorts of odd/unexplained errors.  Obviously, I had to go
Packit 47b4ca
get copies of config.guess, config.sub and install-sh from the
Packit 47b4ca
autoconf distribution, but the error messages and autoconf docs
Packit 47b4ca
didn't explain that very well.
Packit 47b4ca
From: bostic@bsdi.com (Keith Bostic)
Packit 47b4ca
Packit 47b4ca
------------------------------------------------------------------------------
Packit 47b4ca
Packit 47b4ca
Perhaps also have AC_TRY_COMPILER try to link an invalid program, and
Packit 47b4ca
die if the compiler seemed to succeed--in which case it's not usable
Packit 47b4ca
with autoconf scripts.
Packit 47b4ca
Packit 47b4ca
------------------------------------------------------------------------------
Packit 47b4ca
Packit 47b4ca
Copyright (C) 1994-1996, 1999-2002, 2007-2012 Free Software Foundation,
Packit 47b4ca
Inc.
Packit 47b4ca
Packit 47b4ca
Copying and distribution of this file, with or without modification,
Packit 47b4ca
are permitted in any medium without royalty provided the copyright
Packit 47b4ca
notice and this notice are preserved.  This file is offered as-is,
Packit 47b4ca
without warranty of any kind.