This is the mail archive of the
cygwin-apps@cygwin.com
mailing list for the Cygwin project.
Re: don't use AC_FUNC_MMAP, use AC_CHECK_FUNCS(mmap) instead.
- From: Yaakov Selkowitz <yselkowitz at users dot sourceforge dot net>
- To: cygwin-apps at cygwin dot com, cygwin at cygwin dot com
- Date: Wed, 03 Nov 2004 21:54:28 -0500
- Subject: Re: don't use AC_FUNC_MMAP, use AC_CHECK_FUNCS(mmap) instead.
- References: <41711A33.20207@familiehaase.de> <41711EC2.5080305@familiehaase.de> <4171D6B5.60107@users.sourceforge.net> <417220BC.1090302@familiehaase.de>
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Gerrit P. Haase wrote:
| Yaakov Selkowitz wrote:
|
|> Gerrit P. Haase wrote:
|> |> AC_CHECK_FUNCS(mmap) issues this:
|> |> checking for mmap... yes
|> |>
|> |> This is what I will using now for all the GNOME packages, there are
|> |> several packages affected, so far I know of:
|> |> - libgtop
|> |> - gtk+
|> |> - libgnomeprint
|> |> - libgsf
|>
|> Actually, looking again at my libgnomeprint22 package, I already had
|> manually patched the few places that needed mmap (i.e.
|> #if defined(HAVE_MMAP) || defined(__CYGWIN__)
|> ) due to build errors. I'll have to look at libgsf though.
|>
|> |> I think it just tries to link against the system library and it
|> |> succeeds, so mmap() is considered to be available. Fine with me.
|> |>
|> |> Using the macro AC_FUNC_MMAP, the test fails and mmap() will not be
|> |> available.
|> |
|> | BTW, it looks like this in configure.ac:
|> | case "$host" in
|> | *cygwin*)
|> | AC_CHECK_FUNCS(mmap)
|> | ;;
|> | *)
|> | AC_FUNC_MMAP
|> | ;;
|> | esac
|>
|> Thanks for the tip. But how does that define HAVE_MMAP? And what about
|> fixing AC_FUNC_MMAP itself?
Well, I did think of the following solution:
case "$host" in
~ *-*-cygwin*)
~ ac_cv_func_mmap_fixed_mapped=yes
~ AC_DEFINE(HAVE_MMAP, 1,
~ [Define to 1 if you have a working `mmap' system call.])
~ ;;
~ *)
~ AC_FUNC_MMAP
~ ;;
esac
That should do everything that a successful AC_FUNC_MMAP test would do,
I think. Sure better than patching code ifdefs in a dozen places.
| I don't know how, maybe it doesn't do it, I'm not sure, at least it is
| so in GMP, but this is very special. Better fix AC_FUNC_MMAP.
|
| Submit a patch to the Cygwin autoconf maintainer, since there were no
| upstream autoconf releases for years, it needs to be fixed locally at
| first.
Corinna, according to the Cygwin README, autoconf-devel is yours. As
this has been a problem both here and on the main list, would it be
possible to fix the AC_FUNC_MMAP macro in
/usr/autotool/devel/share/autoconf/autoconf/functions.m4? This affects
building a LOT of packages. I suppose using a similar logic to the
above would suffice. Thank you.
Yaakov
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (Cygwin)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org
iD8DBQFBiZnipiWmPGlmQSMRAsBPAJwO+R56Ec18NXQjhTQBLTRZZq/5dACePlCX
/giqwlOt9RC9hjocnqKcFcA=
=+nju
-----END PGP SIGNATURE-----