Subject: tcsh 6.05.02 vs. NetBSD 1.0beta - seems to need some small fixes?
To: None <current-users@netbsd.org>
From: Greg Earle <earle@isolar.Tujunga.CA.US>
List: current-users
Date: 09/11/1994 01:08:01
I grabbed the latest tcsh (6.05.02) thinking fer shure that, from comments
I'd seen Christos make in the past, it would make right out of the box on
NetBSD(/SPARC) 1.0beta. But it tripped up right off the bat making "gethost"
as part of "make depend":
netbsd4me [/usr/othersrc/tcsh-6.05.02] # make depend
...
gcc -O2 -I. -I/usr/X11R6/include -c gethost.c
In file included from sh.h:379, from gethost.c:37:
sh.types.h:556: conflicting types for `pid_t'
/usr/include/sys/types.h:71: previous declaration of `pid_t'
In file included from tc.sig.h:42, from tc.h:45, from sh.h:1056, from gethost.c:
37:
/usr/include/signal.h:65: conflicting types for `sigpause'
tc.os.h:547: previous declaration of `sigpause'
I "fixed" (read: kludged) it easily by changing the two instances of "HPBSD"
to instead be "HPBSD || __NetBSD__":
*** sh.types.h.orig Sun Sep 4 16:16:20 1994
--- sh.types.h Sun Sep 11 00:09:27 1994
***************
*** 268,273 ****
/***
! *** Utah's HPBSD
! *** some posix & 4.4 BSD changes (pid_t is a short)
***/
! #ifdef HPBSD
# ifndef _PID_T
--- 267,272 ----
/***
! *** Utah's HPBSD and NetBSD
! *** some posix & 4.4 BSD changes (pid_t is a short on HPBSD; long on NetBSD)
***/
! #if defined(HPBSD) || defined(__NetBSD__)
# ifndef _PID_T
***************
*** 275,277 ****
# endif /* _PID_T */
! #endif /* HPBSD */
--- 274,276 ----
# endif /* _PID_T */
! #endif /* HPBSD || __NetBSD__ */
*** tc.os.h.orig Sun Sep 4 16:16:19 1994
--- tc.os.h Sun Sep 11 00:06:31 1994
***************
*** 540,542 ****
# ifdef BSDSIGS
! # if defined(_AIX370) || defined(MACH) || defined(NeXT) || defined(_AIXPS2) || defined(ardent) || defined(SUNOS4) || defined(HPBSD)
extern int sigvec();
--- 540,542 ----
# ifdef BSDSIGS
! # if defined(_AIX370) || defined(MACH) || defined(NeXT) || defined(_AIXPS2) || defined(ardent) || defined(SUNOS4) || defined(HPBSD) || defined(__NetBSD__)
extern int sigvec();
Also, the Imakefile needs a clause for NetBSD, as otherwise it falls through
to the default, which is to copy config/bsd to config.h; whereas it should
really use config/bsd4.4. The obvious choice is to change
#ifdef i386BsdArchitecture
to
#if defined(i386BsdArchitecture) || defined(NetBSDArchitecture)
... but then, I have patches for NetBSD/SPARC for R6 that #defines
"NetBSDArchitecture" in xc/config/cf/NetBSD.cf; does XFree86 provide such
a #define/mechanism?
Given that I haven't heard anyone else mention these, and Christos said it
should work out of the box, am I missing something obvious???
- Greg