From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Jacobowitz To: Mark Kettenis Cc: gdb@sources.redhat.com Subject: Re: SETPGRP and autoconf Date: Thu, 26 Jul 2001 08:46:00 -0000 Message-id: <20010726084450.A2941@nevyn.them.org> References: <20010725162420.A13860@nevyn.them.org> <200107261040.f6QAe2T05377@delius.kettenis.local> X-SW-Source: 2001-07/msg00381.html On Thu, Jul 26, 2001 at 12:40:02PM +0200, Mark Kettenis wrote: > Date: Wed, 25 Jul 2001 16:24:20 -0700 > From: Daniel Jacobowitz > > I should have objected :) But it'd been so long since I last saw this issue > that I forgot about it. > > AC_FUNC_SETPGRP has some regrettable problems. Witness: > > checking whether setpgrp takes no argument... configure: error: cannot check > setpgrp if cross compiling > > Thus breaking all host-x-host cross builds. > > Bugger! Got my reaction in one. > This is what I really hate about autoconf. There's no good reason for > AC_FUNC_SETPGRP to be an executed test. If you have a prototype for > setpgrp(void), setpgrp(1,1) won't compile, and you don't need to execute > anything at all. > > Who says you've got a prototype? Even though GDB requires an ISO C > compiler now, this doesn't mean the host's headers have to be ISO > C-compliant. Ugh. > What can we do about this? Besides my usual hack: I have a huge list of > autoconf cache variables in my build environment, preset. > > Dunno. I don't think there are too many people cross-compiling GDB. > If we want to fix this, we could use an alternative check for > AC_FUNC_SETPGRP when cross-compiling based on the setpgrp prototype. > I don't think it would hurts not defining SETPGRP_VOID if no > prototypes are available, since passing the extra arguments should be > harmless. Even if we don't require ISO C headers when building, requiring them while cross-compiling doesn't seem too unreasonable. I'll try to work up a patch for this. -- Daniel Jacobowitz Carnegie Mellon University MontaVista Software Debian GNU/Linux Developer