[EMAIL PROTECTED]:
 |The "accepted" way is to post them to this mailing list and eventually
 |someone with CVS write access (generally Pete or myself) take a look at
 |them and install them.  We're falling behind, though, so please be patient.
 |
 |OpenNT is a new one on me.  Any problems with the port?

It wasn't too bad.  OpenNT is really just another flavor of UNIX.  Most
time was spent in the mundane process of figuring out what DX was trying to
do and equating it to what facilities OpenNT provides.

Software Systems did a reasonably good job with this UNIX subsystem for NT
(OpenNT, aka Interix; now owned/distributed by Microsoft, and to become
Windows Services for Unix [SFU]).  It sure beats porting to Win32.

I've attached two patches: patch.src and patch.other.  "patch.src" can
probably go in as-is with few changes (patch -p1 <patchfile>).
"patch.other" contains configure and aclocal.m4 updates which may need to
go elsewhere (I don't know much of autoconf, automake, aclocal)

I configured the build with the command:

   ----------------------------------------
   env CONFIG_SHELL=$OPENNT_ROOT/bin/sh \
       CFLAGS="-D_ALL_SOURCE" \
       CXXFLAGS="-D_ALL_SOURCE" \
       configure --prefix=//C/dx-4.1.0
   ----------------------------------------

It would be helpful to embed the setting of these 3 variables in
configure/autoconf, though I wasn't too sure where they should go.

Here are some highlights that may be useful in interpreting the patches:

   ---------------------------------------------------------------------------
   aclocal.m4 | configure | bin/dxworker | bin/dxworker.in:
     - Chose "opennt" for the DX ARCH
     - "`uname -s`" == Windows_NT for OpenNT
     - "`uname -m`" returns the CPU, which may contain spaces
     - OpenNT puts select() in sys/time.h

   help/Makefile.in:
     - OpenNT doesn't have symbolic links

   arch.h:
     - Added OpenNT specific section

   src/exec/dpexec/Makefile.in:
     - Makefile contains a circular dependency; patch fixes that

   ccm.c | socket.c | client.c
     - Pull ntohs() and htons() protos from arpa/inet.h (without them
       C assumes "int" return rather than "short" (yielding garbage in the
       high 16-bits)

   dxmain.c:
     - OpenNT has no sys/resource.h and does have FD_SETSIZE

   loader.c:
     - Missing arg in DXUnloadObjFile prototype

   remote.c | socket.c | exit.c | send.c:
     - <unistd.h> needed for getdtablesize

   memory.c / mem.c:
     - Added OpenNT-specific memory routines.  Uses CYGWIN mixed arena strategy
       (no sbrk).

   MacroDefinition.c / Browser.C:
     - Use OpenNT's flavor of regexp.h

   ControlPanelWorkSpace.C:
     - <limits.h> needed for MAXHOSTNAMELEN

   Network.C:
     - yylineno not defined by parser

   StartupWindow.C:
     - OpenNT has no waitid()
   ---------------------------------------------------------------------------

-- 
Randall Hopper
[EMAIL PROTECTED]
--- ./help/ORIG/Makefile.in     Wed Apr  5 15:02:13 2000
+++ ./help/Makefile.in  Tue May 16 06:44:55 2000
@@ -212,13 +212,13 @@
                   echo "Extracting Help Files." ; \
                   tar xf $$f/help.tar ; \
                   echo "Linking Help Files." ; \
-                  ln -s hlpalhtl  mbidx ;      \
-                  ln -s hlpalhtl  quikidx ;    \
-                  ln -s hlpalhtl  svsmstrh ;   \
-                  ln -s hlpalhtl  ugidx ;      \
-                  ln -s hlpalhtl  usrefidx ;   \
-                  ln -s HelpDir   GarHelpDir ; \
-                  ln -s HelpDir   MBHelpDir ;  \
+                  ln hlpalhtl  mbidx ;         \
+                  ln hlpalhtl  quikidx ;       \
+                  ln hlpalhtl  svsmstrh ;      \
+                  ln hlpalhtl  ugidx ;         \
+                  ln hlpalhtl  usrefidx ;      \
+                  ln HelpDir   GarHelpDir ;    \
+                  ln HelpDir   MBHelpDir ;     \
               fi \
              '
 
--- ./bin/ORIG/dxworker Wed May 10 08:57:49 2000
+++ ./bin/dxworker      Sun May 14 11:29:50 2000
@@ -128,6 +128,14 @@
 
     breaksw
 
+  case Windows_NT:
+    set exarch=opennt
+    set uiarch=opennt              
+    
+    set remote=$OPENNT_ROOT/bin/rsh
+    
+    breaksw
+    
   default:
     echo unknown machine type
     exit 1
@@ -1463,6 +1471,7 @@
   case alphax:
   case linux:
   case freebsd:
+  case opennt:
     breaksw
   
   default:
--- ./bin/ORIG/dxworker.in      Mon Mar 13 17:48:28 2000
+++ ./bin/dxworker.in   Wed May 10 09:57:56 2000
@@ -128,6 +128,14 @@
 
     breaksw
 
+  case Windows_NT:
+    set exarch=opennt
+    set uiarch=opennt              
+    
+    set remote=$OPENNT_ROOT/bin/rsh
+    
+    breaksw
+    
   default:
     echo unknown machine type
     exit 1
@@ -1463,6 +1471,7 @@
   case alphax:
   case linux:
   case freebsd:
+  case opennt:
     breaksw
   
   default:
--- ./include/dx/ORIG/arch.h    Tue Oct 26 15:44:02 1999
+++ ./include/dx/arch.h Mon May  1 00:00:00 2000
@@ -826,6 +826,19 @@
 #endif   /* alphax */
 
 
+#ifdef __OPENNT
+/*#define DXD_HAS_UNIX_SYS_INCLUDES 0*/
+#undef F_CHAR_READY
+/*#define F_CHAR_READY(fp) ((fp)->_r > 0)*/
+#define F_CHAR_READY(fp) ((fp)->_r > 0 || (fp)->_ub._base)
+#undef HAVE_SYS_ERRLIST
+#define sys_errlist __sys_errlist
+#define sys_nerr    __sys_nerr
+
+#define trunc(value) ((float)((int)(value)))
+
+#endif
+
 
 /* if standard IEEE floating point, these are the constants.  the
  *  pvs is slightly different in that it can't handle underflow
--- ./src/exec/dpexec/ORIG/Makefile.in  Wed Apr  5 15:01:10 2000
+++ ./src/exec/dpexec/Makefile.in       Tue May 16 06:46:18 2000
@@ -112,9 +112,13 @@
 noinst_HEADERS =       _eval.h _macro.h _variable.h attribute.h background.h 
cache.h   compile.h config.h context.h crc.h d.h distp.h exobject.h graph.h     
  graphIntr.h graphqueue.h instrument.h license.h log.h obmodule.h        
packet.h parse.h path.h pmodflags.h queue.h rq.h status.h swap.h        
sysvars.h utils.h vcr.h version.h 
 
 
-libDPEXEC_a_SOURCES =          attribute.c background.c cache.c cachegraph.c 
ccm.c     command.c context.c crc.c d.c distconnect.c distpacket.c        
distqueue.c dxmain.c dxpfsmgr.c evalgraph.c exobject.c function.c       graph.c 
graph2.c graphqueue.c help.c instrument.c lex.c         license.c loader.c 
log.c macro.c nodereadb.c    nodewriteb.c packet.c parse.c parsemdf.c path.c 
pendingcmds.c   queue.c remote.c rih.c rq.c socket.c status.c   swap.c task.c 
userinter.c utils.c variable.c vcr.c      optarg.c yuiif.y
+libDPEXEC_a_C_SOURCES =        attribute.c background.c cache.c cachegraph.c 
ccm.c     command.c context.c crc.c d.c distconnect.c distpacket.c        
distqueue.c dxmain.c dxpfsmgr.c evalgraph.c exobject.c function.c       graph.c 
graph2.c graphqueue.c help.c instrument.c lex.c         license.c loader.c 
log.c macro.c nodereadb.c    nodewriteb.c packet.c parse.c parsemdf.c path.c 
pendingcmds.c   queue.c remote.c rih.c rq.c socket.c status.c   swap.c task.c 
userinter.c utils.c variable.c vcr.c      optarg.c
 
+libDPEXEC_a_YACC_SOURCES =     yuiif.y
 
+libDPEXEC_a_SOURCES = $(libDPEXEC_a_C_SOURCES) $(libDPEXEC_a_C_SOURCES)
+
+
 EXTRA_DIST = local.mk
 
 DISTCLEANFILES = yuiif.c yuiif.h
@@ -1346,7 +1350,7 @@
 mostlyclean distclean maintainer-clean
 
 
-$(libDPEXEC_a_SOURCES): yuiif.c yuiif.h
+$(libDPEXEC_a_C_SOURCES): yuiif.c yuiif.h
 
 .y.h:
        $(YACC) $(YFLAGS) -d $*.y
--- ./src/exec/dpexec/ORIG/ccm.c        Wed Jun 30 13:15:24 1999
+++ ./src/exec/dpexec/ccm.c     Wed May 10 13:35:34 2000
@@ -49,6 +49,10 @@
 #include <sys/utsname.h>
 #endif
 
+#if defined(HAVE_ARPA_INET_H)
+#  include <arpa/inet.h>                /*  htons/ntohs  */
+#endif
+ 
 #define SOCK_QUEUE_LENGTH      1
 #define SOCK_ACCEPT_TIMEOUT    60      /* Seconds */
 
--- ./src/exec/dpexec/ORIG/dxmain.c     Wed Apr  5 14:34:13 2000
+++ ./src/exec/dpexec/dxmain.c  Sun May 14 13:49:15 2000
@@ -104,8 +104,10 @@
     if ((_i) != OK) ExInitFailed (what)
 
 #if DXD_HAS_UNIX_SYS_INCLUDES
+#ifndef __OPENNT
 #include <sys/resource.h>
 #endif
+#endif
 
 #include "background.h"
 #include "parse.h"
@@ -125,7 +127,7 @@
 #include "version.h"
 #include "distp.h"
 
-#if DXD_HAS_IBM_OS2_SOCKETS
+#if DXD_HAS_IBM_OS2_SOCKETS || defined(__OPENNT)
 #define EX_FD_SETSIZE   FD_SETSIZE
 #else
 /*
--- ./src/exec/dpexec/ORIG/loader.c     Sat Jun  5 16:25:38 1999
+++ ./src/exec/dpexec/loader.c  Mon May 15 06:54:00 2000
@@ -852,7 +852,7 @@
     return ERROR;
 }
 
-Error DXUnloadObjFile(char *fname)
+Error DXUnloadObjFile(char *fname, char *envvar)
 {
     /* the unload routine needs the entry point address, which we
      * wouldn't need to save unless this is an important function.
--- ./src/exec/dpexec/ORIG/remote.c     Wed Jun 30 13:15:24 1999
+++ ./src/exec/dpexec/remote.c  Wed May  3 14:14:25 2000
@@ -18,6 +18,9 @@
 #include <errno.h>
 #include <string.h>
 #include <fcntl.h>
+#if HAVE_UNISTD_H
+#include <unistd.h>
+#endif
 #ifdef DXD_WIN
 #include <sys/timeb.h>
 #include <time.h>
--- ./src/exec/dpexec/ORIG/socket.c     Wed Jun 30 13:10:04 1999
+++ ./src/exec/dpexec/socket.c  Wed May 10 13:39:03 2000
@@ -15,6 +15,10 @@
 #include <dx/arch.h>
 #include <sys/types.h>
 
+#if HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+
 
 #if defined(windows) && defined(HAVE_WINSOCK_H)
 #include <winsock.h>
@@ -39,6 +43,10 @@
 
 #if DXD_NEEDS_SYS_SELECT_H
 #include <sys/select.h>
+#endif
+
+#if defined(HAVE_ARPA_INET_H)
+#  include <arpa/inet.h>                /*  htons/ntohs  */
 #endif
 
 #ifdef DXD_WIN
--- ./src/exec/libdx/ORIG/client.c      Mon May 10 11:45:41 1999
+++ ./src/exec/libdx/client.c   Wed May 10 13:36:10 2000
@@ -37,6 +37,10 @@
 #include <sys/select.h>
 #endif
 
+#if defined(HAVE_ARPA_INET_H)
+#  include <arpa/inet.h>                /*  htons/ntohs  */
+#endif
+ 
 #define verbose 0
 
 int
--- ./src/exec/libdx/ORIG/mem.c Thu Sep 30 16:54:18 1999
+++ ./src/exec/libdx/mem.c      Thu May  4 13:42:28 2000
@@ -744,6 +744,38 @@
 
 #endif
 
+#ifdef __OPENNT
+
+#define memroutines
+void *sh_base;   /* starting virtual address */
+
+Error _dxfsetmem(int limit)
+{
+    sh_base = malloc(limit);
+    if (sh_base == NULL) {
+       DXErrorReturn(ERROR_NO_MEMORY, "getmem can't commit memory");
+    }
+    else {
+       /*   memset(sh_base, 0, limit);   */
+       return OK;
+    }
+}
+
+Pointer _dxfgetmem(Pointer base, int size)
+{
+    if (!base) 
+       base = (Pointer) sh_base;
+
+    return base;
+}
+
+Error DXmemfork(int i)
+{
+    return fork();
+}
+
+#endif
+
  
 #if ibmpvs
 
@@ -757,7 +789,7 @@
 #endif /* ibmpvs */
 
 
-#if !defined(os2) && !defined(DXD_WIN)
+#if !defined(os2) && !defined(DXD_WIN) && !defined(__OPENNT)
 
 extern int end;   /* filled in by linker */
 
@@ -855,7 +887,7 @@
  * so the calculations about the size of the data segment can't be done 
  * on the NT.  thus this section is disabled on that platform.
  */
-#ifdef DXD_WIN
+#if defined(DXD_WIN) || defined(__OPENNT)
 #define MEMSTATS 0
 #endif
 
--- ./src/exec/libdx/ORIG/memory.c      Fri Mar 17 18:11:48 2000
+++ ./src/exec/libdx/memory.c   Sun May 14 13:45:09 2000
@@ -69,6 +69,10 @@
 #include <linux/sys.h>
 #endif
 
+#if __OPENNT
+#include <sys/shm.h>
+#endif
+
 #if DXD_HAS_RLIMIT && ! DXD_IS_MP
 #include <sys/time.h>
 #include <sys/resource.h>
@@ -1088,6 +1092,19 @@
 #define MALLOC_NONE   1                 /* co-exist with system malloc */
 #define SMALL(x) ((long)x<(long)large)
 #define LARGE(x) ((long)x>=(long)large)
+#endif
+
+#ifdef __OPENNT
+#define initvalues
+#define SMALL_BASE    0               /* use data segment */
+#define SMALL_GET     _dxfgetmem      /* expand by using DosSetMem */
+#define LARGE_GET     _dxfgetmem      /* expand by using DosSetMem */
+#define LARGE_INIT    2 MEG           /* doesn't matter; consistent w/ sgi */
+#define LARGE_INCR    2 MEG           /* doesn't matter; consistent w/ sgi */
+#define SIZE_ROUND    2 MEG           /* doesn't matter; consistent w/ sgi */
+#define MALLOC_NONE   1               /* provide malloc from global arena */
+#define SMALL(x) ((int)x<(int)large)
+#define LARGE(x) ((int)x>=(int)large)
 #endif
 
 #if !defined(initvalues)               /* default for other platforms */
--- ./src/exec/dxmods/ORIG/usage.c      Mon May 10 11:45:32 1999
+++ ./src/exec/dxmods/usage.c   Mon May 15 07:10:29 2000
@@ -47,7 +47,7 @@
 
 #if 1    /* this code is in mem.c */
     } else if (strcmp(s, "memory info")==0) {
-#ifndef        DXD_WIN
+#if !defined(DXD_WIN) && !defined(__OPENNT)
        DXPrintMemoryInfo ();
 #endif
 #endif
--- ./src/uipp/dxl/ORIG/exit.c  Tue Jul 13 16:48:55 1999
+++ ./src/uipp/dxl/exit.c       Fri May  5 10:34:52 2000
@@ -24,6 +24,10 @@
 #include <sys/socket.h>
 #endif
 
+#if HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+
 #if defined(HAVE_SYS_TIMEB_H)
 #include <sys/timeb.h>
 #endif
--- ./src/uipp/dxl/ORIG/send.c  Tue Jul 13 16:48:55 1999
+++ ./src/uipp/dxl/send.c       Fri May  5 10:35:30 2000
@@ -26,6 +26,10 @@
 #include <sys/socket.h>
 #endif
 
+#if HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+
 #if defined(HAVE_SYS_TIMEB_H)
 #include <sys/timeb.h>
 #endif
--- ./src/uipp/dxui/ORIG/MacroDefinition.C      Mon May 10 11:46:02 1999
+++ ./src/uipp/dxui/MacroDefinition.C   Fri May  5 10:31:04 2000
@@ -42,6 +42,10 @@
 
 #define OLD_DUMMY_DESCRIPTION_STRING "Generated dummy input"
 
+#undef HAVE_RE_COMP
+#undef HAVE_FINDFIRST
+#define HAVE_REGCOMP 1
+
 #if  defined(HAVE_RE_COMP)
 #undef HAVE_REGCMP
 #undef HAVE_REGCOMP
@@ -55,7 +59,11 @@
 extern "C" char *regex(char *, char *, ...);
 #elif HAVE_REGCOMP
 extern "C" {
-#include <regexp.h>
+#  ifdef __OPENNT
+#    include <regex.h>
+#  else
+#    include <regexp.h>
+#  endif
 }
 #undef HAVE_RE_COMP
 #undef HAVE_FINDFIRST
@@ -596,6 +604,23 @@
        {
 #if defined(HAVE_REGCOMP)
 
+#  ifdef __OPENNT
+            /*  This regcomp usage agrees with Solaris, IRIX, and OpenNT  */
+            regex_t net_file;
+            int     regcomp_ret;
+            regcomp_ret = regcomp ( &net_file, ".[.]*\\.net$", 
+                                    REG_EXTENDED | REG_NOSUB );
+           ASSERT( regcomp_ret == 0 );
+
+           struct dirent *entry;
+           while (entry = readdir(d))
+           {
+               boolean exists = !regexec( &net_file, entry->d_name, 1,NULL,0 );
+               if (exists)
+#  else
+            /*  NOTE:  This regcomp/regexec usage does not agree with the  */
+           /*    prototypes on Solaris, IRIX, and OpenNT (which all      */
+            /*    agree BTW).                                              */
            char *net_file = (char *)regcomp(".[.]*\\.net$");
            ASSERT(net_file != NULL);
 
@@ -604,6 +629,7 @@
            {
                boolean exists = regexec((regexp *)net_file, entry->d_name);
                if (exists)
+#  endif
 
 #elif defined(HAVE_REGCMP)
 
@@ -694,6 +720,9 @@
 #elif defined(HAVE_REGCOMP)
                }
            }
+#  ifdef __OPENNT
+            regfree( &net_file );
+#  endif
 #elif defined(HAVE_RE_COMP)
                }
            }
--- ./src/uipp/dxuilib/ORIG/ControlPanelWorkSpace.C     Tue Jul 13 16:48:56 1999
+++ ./src/uipp/dxuilib/ControlPanelWorkSpace.C  Thu May  4 14:27:04 2000
@@ -17,6 +17,7 @@
 #include <netdb.h>
 #endif
 
+#include <limits.h>
 #include <Xm/Xm.h>
 #include <Xm/CutPaste.h>
 #include <Xm/DragC.h>
--- ./src/uipp/dxuilib/ORIG/Network.C   Wed Dec 15 14:52:51 1999
+++ ./src/uipp/dxuilib/Network.C        Fri May  5 09:57:55 2000
@@ -1190,7 +1190,7 @@
 extern
 FILE* yyin;                    /* parser input stream    */
 
-#if defined(linux)  || defined(cygwin) || defined(freebsd)
+#if defined(linux)  || defined(cygwin) || defined(freebsd) || defined(__OPENNT)
 int yylineno;
 #else
 extern int yylineno;                   /* lexer line number      */
--- ./src/uipp/prompter/ORIG/Browser.C  Wed Dec 15 14:37:08 1999
+++ ./src/uipp/prompter/Browser.C       Fri May  5 10:30:28 2000
@@ -38,6 +38,10 @@
 #define  stat  _stat
 #endif
 
+#undef HAVE_RE_COMP
+#undef HAVE_FINDFIRST
+#define HAVE_REGCOMP 1
+
 #if  defined(HAVE_RE_COMP)
 #undef HAVE_REGCMP
 #undef HAVE_REGCOMP
@@ -51,7 +55,11 @@
 extern "C" char *regex(char *, char *, ...);
 #elif HAVE_REGCOMP
 extern "C" {
-#include <regexp.h>
+#  ifdef __OPENNT
+#    include <regex.h>
+#  else
+#    include <regexp.h>
+#  endif
 }
 #undef HAVE_RE_COMP
 #undef HAVE_FINDFIRST
@@ -1478,8 +1486,17 @@
 
 #if defined(HAVE_REGCOMP)
 
+#  ifdef __OPENNT
+    /*  This regcomp usage agrees with Solaris, IRIX, and OpenNT  */
+    regex_t search_for;
+    int     regcomp_ret;
+
+    regcomp_ret = regcomp ( &search_for, "text", REG_NOSUB );
+    ASSERT( regcomp_ret == 0 );
+#  else
     char *search_for = (char *)regcomp(text);
     ASSERT(search_for != NULL);
+#  endif
 
 #elif defined(HAVE_REGCMP)
 
@@ -1534,10 +1551,14 @@
        int offset;
 
 #if defined(HAVE_REGCOMP)
-
        int i;
        for (i = 0; i < STRLEN(buf); i++)
+#  ifdef __OPENNT
+            /*  This regcomp usage agrees with Solaris, IRIX, and OpenNT  */
+           if (regexec( &search_for, buf+i, 1,NULL,0 ))
+#  else
            if (! regexec((regexp *)search_for, buf + i ))
+#  endif
                break;
 
        if (i)
@@ -1614,6 +1635,13 @@
     free(search_for);
 #endif
 
+#if defined(HAVE_REGCOMP)
+#  ifdef __OPENNT
+    /*  This regcomp usage agrees with Solaris, IRIX, and OpenNT  */
+    regfree( &search_for );
+#  endif
+#endif
+
     FREE(buf);
     theIBMApplication->setBusyCursor(FALSE);
 }
@@ -1635,8 +1663,16 @@
 
 #if defined(HAVE_REGCOMP)
 
+#  ifdef __OPENNT
+    regex_t search_for;
+    int     regcomp_ret;
+
+    regcomp_ret = regcomp ( &search_for, "text", REG_NOSUB );
+    ASSERT( regcomp_ret == 0 );
+#  else
     char *search_for = (char *)regcomp(text);
     ASSERT(search_for != NULL);
+#  endif
 
 #elif defined(HAVE_REGCMP)
 
@@ -1696,13 +1732,20 @@
        int offset;
 
 #if defined(HAVE_REGCOMP)
-
+#  ifdef __OPENNT
+        if (! regexec( &search_for, buf, 1,NULL,0 ))
+#  else
        if (regexec((regexp *)search_for, buf))
+#  endif
        {
            found = 1;
 
            for (i = STRLEN(buf)-1; i >= 0; i--)
+#  ifdef __OPENNT
+               if (regexec( &search_for, buf + i, 1,NULL,0 ))
+#  else
                if (! regexec((regexp *)search_for, buf + i ))
+#  endif
                    break;
 
            offset = i + 1;
@@ -1807,6 +1850,12 @@
 
 #ifdef REGCMP_EXISTS
     free(search_for);
+#endif
+
+#if defined(HAVE_REGCOMP)
+#  ifdef __OPENNT
+    regfree( &search_for );
+#  endif
 #endif
 
     FREE(buf);
--- ./src/uipp/startup/ORIG/StartupWindow.C     Mon Oct 25 21:01:52 1999
+++ ./src/uipp/startup/StartupWindow.C  Fri May  5 10:45:51 2000
@@ -949,7 +949,7 @@
        XtRemoveInput (StartupWindow::GarErrorId);
        StartupWindow::GarErrorId = 0;
     }
-#if !defined(USE_WAIT3)
+#if !defined(USE_WAIT3) && !defined(__OPENNT)
     siginfo_t winfo;
     waitid (P_ALL, 0, &winfo, WNOHANG|WEXITED);
 #endif
--- ./ORIG/aclocal.m4   Fri May  5 11:33:48 2000
+++ ./aclocal.m4        Fri May  5 11:37:29 2000
@@ -374,7 +374,7 @@
     AC_MSG_CHECKING(architecture type)
     if test "$ARCH" = "" ; then
        unameS=`uname -s`
-       unameM=`uname -m`
+       unameM="`uname -m`"
        ARCH=unknown
        if test $unameS = "FreeBSD" ; then
            ARCH=freebsd
@@ -391,7 +391,7 @@
        if test $unameS = "AIX" ; then
            ARCH=ibm6000
        fi
-       if test $unameM = "alpha" ; then
+       if test "$unameM" = "alpha" ; then
            ARCH=alphax
        fi
        if test $unameS = "HP-UX" ; then
@@ -399,6 +399,9 @@
        fi
        if test $unameS = "SunOS" ; then
            ARCH=solaris
+       fi
+       if test $unameS = "Windows_NT" ; then
+           ARCH=opennt
        fi
     fi
     AC_MSG_RESULT($ARCH)
--- ./ORIG/configure    Thu May  4 14:43:12 2000
+++ ./configure Fri May  5 11:37:15 2000
@@ -1252,7 +1252,7 @@
 echo "configure:1253: checking architecture type" >&5
     if test "$ARCH" = "" ; then
        unameS=`uname -s`
-       unameM=`uname -m`
+       unameM="`uname -m`"
        ARCH=unknown
        if test $unameS = "FreeBSD" ; then
            ARCH=freebsd
@@ -1269,7 +1269,7 @@
        if test $unameS = "AIX" ; then
            ARCH=ibm6000
        fi
-       if test $unameM = "alpha" ; then
+       if test "$unameM" = "alpha" ; then
            ARCH=alphax
        fi
        if test $unameS = "HP-UX" ; then
@@ -1278,6 +1278,9 @@
        if test $unameS = "SunOS" ; then
            ARCH=solaris
        fi
+        if test $unameS = "Windows_NT" ; then
+            ARCH=opennt
+        fi       
     fi
     echo "$ac_t""$ARCH" 1>&6
     
@@ -3259,6 +3262,8 @@
 
 fi
 
+# OPENNT only defines select() in sys/time.h.  IRIX, for example
+#   defines in unistd.h and sys/time.h
 echo $ac_n "checking whether time.h and sys/time.h may both be included""... 
$ac_c" 1>&6
 echo "configure:3264: checking whether time.h and sys/time.h may both be 
included" >&5
 if eval "test \"`echo '$''{'ac_cv_header_time'+set}'`\" = set"; then
@@ -8634,6 +8639,39 @@
 if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
   echo "$ac_t""yes" 1>&6
    echo "#include <sys/select.h>" >> selectHdrs.h 
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+ac_safe=`echo "sys/time.h" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for sys/time.h""... $ac_c" 1>&6
+echo "configure:8611: checking for sys/time.h" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  cat > conftest.$ac_ext <<EOF
+#line 8616 "configure"
+#include "confdefs.h"
+#include <sys/time.h>
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:8621: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+  rm -rf conftest*
+  eval "ac_cv_header_$ac_safe=yes"
+else
+  echo "$ac_err" >&5
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval "ac_cv_header_$ac_safe=no"
+fi
+rm -f conftest*
+fi
+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+   echo "#include <sys/time.h>" >> selectHdrs.h 
 else
   echo "$ac_t""no" 1>&6
 fi

Reply via email to