Hi, I've compiled scsh-0.5.3 on a current Hurd machine, which required some minor hacking. config.guess output on this machine was "i386-unknown-gnu0.2". The steps needed were:
1. I added *-*-gnu* ) dir=gnu SCSH_ELF ;; at about line 295 in configure.in, just below the "*-*-linux* )"-clause. 2. I copied the scsh/linux directory to a new directory scsh/gnu. 3. In syscalls1.c, I added the lines /* MAXPATHLEN is not defined on the Hurd. */ /* FIXME: Do this properly, and get rid of the static memory as well */ #ifndef MAXPATHLEN #define MAXPATHLEN 500 #endif just before the definiton of scm_readlink, /* Read the symlink into static memory. Return NULL on error. */ static char linkpath[MAXPATHLEN+1]; /* Maybe unaligned. Not reentrant. */ char const *scm_readlink(const char *path) { int retval = readlink(path, linkpath, MAXPATHLEN); return (char const *) ((retval == -1) ? NULL : ( linkpath[retval] = '\0', linkpath )); } This is an ugly hack, but I haven't figured out how to fix scm_readlink properly. 3. sigset_t seems to be a plain unsigned int, so I had to redefine the macros in scsh/gnu/sigset.h, as follows: /* On gnu, it seems a sigset_t is just an unsigned int. */ #define make_sigset(maskp, hi, lo) \ (*(maskp) = (unsigned long int) ((hi) << 24) | (lo)) #define split_sigset(mask, hip, lop)\ ((*(hip) = ((mask) >> 24) & 0xff),\ (*(lop) = ((mask) & 0xffffff))) After these steps, both make and make check succeeded. Happy hacking, /Niels Möller _______________________________________________ Bug-hurd mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/bug-hurd