scsh-hackers
[Top] [All Lists]

Interix support for scsh

To: scsh-hackers@scsh.net
Subject: Interix support for scsh
From: "Brian D. Carlstrom" <bdc@carlstrom.com>
Date: Sat, 10 Apr 2004 03:10:34 +0200 (MST)
List-id: Discussion among the implementors <scsh-hackers.list-id.scsh.net>
Reply-to: "Brian D. Carlstrom" <bdc@carlstrom.com>
(my first post to scsh-hackers@scsh.net, have to see how it goes)

There was a company/product called Softway/Internix that made a
compatability toolkit for Windows. Microsoft bought them and now the
system is called "Windows Services for UNIX". Until recently this was
something that had to be purchased, but now Microsoft in their wisdom
has seen fit to allow free downloads.

A friend of mine at UCSF was looking to alternatives to paying for MKS
or using cygwin, and I noticed that NetBSD started supporting Interix
recently so I thought I'd see if scsh would work. After a bit of work
this afternoon, I'm happy to say it does.

I've included a description of the changes below. I can send more
detailed diffs if someone is curious before I commit. I'm not sure if we
try to get changes pushed back to scheme48 for scsh/c/* files. I'm not
sure you want me updating version in RELEASE. I also removed Ultrix from
the list of systems and deleted the old sysdep.h files, I thought this
was done in 0.6.6 but I guess I was wrong.

-bri

Update config.guess to version from automake-1.4 that includex interix
definition
    scsh/config.guess

Added new case for "interix" systems
Removed unused HAVE_ checks
    AC_DEFINE(HAVE_NLIST)
    AC_CHECK_LIB(gen, main)
    AC_CHECK_HEADERS(libgen.h sys/timeb.h posix/time.h nlist.h sys/un.h)
Added HAVE_SYNC check because interix doesn't have sync system call
Fixed description of supported BSD in switch statement
Fix indentation on case statement of machine types
    scsh/configure.in

Fix include order to put sysdep.h first so that _ALL_SOURCE define for
interix is picked up when including files such as limits.h
    scsh/c/unix/event.c
    scsh/c/unix/fd-io.c

Addd #ifdef HAVE_SYNC around sync() call.
    scsh/scsh/syscalls1.c

Removed "struct timezone tz" argument to gettimeofday. BSD considers
this deprecated and Linux never implemented it. interix which is
derived from BSD doesn't define it by default. We didn't use the
results of the tz struct, so I just pass in NULL, which is what we do
elsewhere in the source tree such as sfri-27.c and event.c.
    scsh/scsh/time1.c

Updated to start 0.7.0 log of "what's new"
Fixed typo "syof" -> "of"
Add Interix to list of systems
Remove Ultrix from list of systems
Re-alphabetize list of systems
    scsh/RELEASE

Updated to assume scheme48 in the path
Also added missing newline to end of file
    scsh/Makefile.in

Updated to ignore build files
    scsh/.cvsignore
    scsh/scsh/.cvsignore
    scsh/scsh/build/.cvsignore

Deleted unused sysdep.h files
    scsh/scsh/aix/sysdep.h
    scsh/scsh/bsd/sysdep.h
    scsh/scsh/cygwin32/sysdep.h
    scsh/scsh/generic/sysdep.h
    scsh/scsh/gnu/sysdep.h
    scsh/scsh/hpux/sysdep.h
    scsh/scsh/irix/sysdep.h
    scsh/scsh/linux/sysdep.h
    scsh/scsh/next/sysdep.h
    scsh/scsh/solaris/sysdep.h
    scsh/scsh/sunos/sysdep.h
    scsh/scsh/ultrix/sysdep.h

<Prev in Thread] Current Thread [Next in Thread>