From f37e35485f42813399865dec89599f062d6466be Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Wed, 4 Aug 2004 05:58:43 +0000 Subject: Do not depend on HAVE_SYSCTL when deciding whether to include files. Include if HAVE_SYS_PARAM_H (not HAVE_SYSCTL). (main) [defined __POWERPC__]: Add a kludge to work around a Mac OS X bug, so that uname -p defaults to "powerpc" if sysctl ((int[]) {CTL_HW, HW_MACHINE_ARCH}, 2, buffer, &bufsize, 0, 0) fails. Problem reported by Petter Reinholdtsen in: http://lists.gnu.org/archive/html/bug-gnu-utils/2003-02/msg00201.html --- src/uname.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/uname.c b/src/uname.c index 834440b50..9e7026ac2 100644 --- a/src/uname.c +++ b/src/uname.c @@ -29,8 +29,10 @@ # include #endif -#if HAVE_SYSCTL && HAVE_SYS_SYSCTL_H -# include /* needed for OpenBSD 3.0 */ +#if HAVE_SYS_SYSCTL_H +# if HAVE_SYS_PARAM_H +# include /* needed for OpenBSD 3.0 */ +# endif # include # ifdef HW_MODEL # ifdef HW_MACHINE_ARCH @@ -260,6 +262,11 @@ main (int argc, char **argv) static int mib[] = { CTL_HW, UNAME_PROCESSOR }; if (sysctl (mib, 2, processor, &s, 0, 0) >= 0) element = processor; +# ifdef __POWERPC__ + /* This kludge works around a bug in Mac OS X. */ + if (element == unknown) + element = "powerpc"; +# endif } #endif print_element (element); -- cgit v1.2.3-70-g09d2