Add conditionalizations for Watcom C/C++ running under OS/2.
authorChris Hanson <org/chris-hanson/cph>
Sun, 15 Oct 1995 00:43:40 +0000 (00:43 +0000)
committerChris Hanson <org/chris-hanson/cph>
Sun, 15 Oct 1995 00:43:40 +0000 (00:43 +0000)
15 files changed:
v7/src/microcode/bchmmg.c
v7/src/microcode/bchutl.c
v7/src/microcode/cmpintmd/i386.h
v7/src/microcode/os2env.c
v7/src/microcode/os2thrd.c
v7/src/microcode/os2top.c
v7/src/microcode/os2utl/config.cmd
v7/src/microcode/os2utl/makefile
v7/src/microcode/os2utl/makefile.cmn
v7/src/microcode/os2utl/makefile.emx
v7/src/microcode/os2utl/makefile.gcc
v7/src/microcode/os2utl/makefile.vac
v7/src/microcode/oscond.h
v7/src/microcode/posixtyp.h
v7/src/microcode/prosproc.c

index 9c9810f0de6113f8d6982e459bfdf9764148d3d6..9a357de8e46972150b66a2f0929b57826a85e185 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-C-*-
 
-$Id: bchmmg.c,v 9.90 1995/10/09 05:51:50 cph Exp $
+$Id: bchmmg.c,v 9.91 1995/10/15 00:36:48 cph Exp $
 
 Copyright (c) 1987-95 Massachusetts Institute of Technology
 
@@ -56,7 +56,7 @@ MIT in each case. */
 #include "os2.h"
 #define SUB_DIRECTORY_DELIMITER '\\'
 #define ASSUME_NORMAL_GC_FILE
-#if defined(__IBMC__) || defined(__EMX__)
+#if defined(__IBMC__) || defined(__WATCOMC__) || defined(__EMX__)
 #include <io.h>
 #include <sys\stat.h>
 #endif
index 815bd4bfff16a6dec7c8278a948b5bf8381e0359..91a8a8d4f024e16a8aac1634b631c70d0b304454 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-C-*-
 
-$Id: bchutl.c,v 1.6 1995/10/09 05:52:46 cph Exp $
+$Id: bchutl.c,v 1.7 1995/10/15 00:37:09 cph Exp $
 
 Copyright (c) 1991-95 Massachusetts Institute of Technology
 
@@ -72,7 +72,7 @@ DEFUN (error_name, (code), int code)
 #else /* not WINNT */
 #ifdef _OS2
 
-#if defined(__IBMC__) || defined(__EMX__)
+#if defined(__IBMC__) || defined(__WATCOMC__) || defined(__EMX__)
 #include <io.h>
 #endif
 
index 3239404fede483ded57a024d7e46e130e90d96c5..072445835fb71cdbba36d028754fff5f41f2c5e9 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-C-*-
 
-$Id: i386.h,v 1.27 1995/10/09 05:53:15 cph Exp $
+$Id: i386.h,v 1.28 1995/10/15 00:40:18 cph Exp $
 
 Copyright (c) 1992-95 Massachusetts Institute of Technology
 
@@ -51,7 +51,7 @@ MIT in each case. */
 
 /* Hack for OS/2 calling-convention type: */
 
-#if defined(_OS2) && defined(__IBMC__)
+#if defined(_OS2) && (defined(__IBMC__) || defined(__WATCOMC__))
 #define ASM_ENTRY_POINT(name) (_System name)
 #else
 #define ASM_ENTRY_POINT(name) name
index 0629a71213aeaa24db9b1b5ab9fdf0a0468a7aa2..078221f059700b2a862fb046b05ee640db30db13 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-C-*-
 
-$Id: os2env.c,v 1.8 1995/10/09 05:54:02 cph Exp $
+$Id: os2env.c,v 1.9 1995/10/15 00:37:52 cph Exp $
 
 Copyright (c) 1994-95 Massachusetts Institute of Technology
 
@@ -39,21 +39,24 @@ MIT in each case. */
 #include <sys\types.h>
 
 #ifdef __IBMC__
-
 #include <sys\timeb.h>
+#define NC_TIMEZONE _timezone
+#define NC_DAYLIGHT _daylight
+#define NC_FTIME _ftime
+#endif
 
-#else /* not __IBMC__ */
-#ifdef __GNUC__
+#if defined(__WATCOMC__) || defined(__EMX__)
+#include <sys\timeb.h>
+#define NC_TIMEZONE timezone
+#define NC_DAYLIGHT daylight
+#define NC_FTIME ftime
+#endif
 
+#ifdef __GCC2__
 #include <errno.h>
 #include <sys/times.h>
-#ifdef __EMX__
-#include <sys/timeb.h>
 #endif
 
-#endif /* __GNUC__ */
-#endif /* not __IBMC__ */
-
 static void initialize_real_time_clock (void);
 static double get_real_time_clock (void);
 
@@ -116,42 +119,22 @@ OS_encode_time (struct time_structure * buffer)
   }
 }
 
-#ifdef __IBMC__
-
-long
-OS2_timezone (void)
-{
-  return (_timezone);
-}
-
-int
-OS2_daylight_savings_p (void)
-{
-  return (_daylight);
-}
-
-#else /* not __IBMC__ */
-#ifdef __EMX__
-
 long
 OS2_timezone (void)
 {
-  struct timeb tb;
-  ftime (&tb);
-  return (tb . timezone);
+#ifdef NC_TIMEZONE
+  return (NC_TIMEZONE);
+#endif
 }
 
 int
 OS2_daylight_savings_p (void)
 {
-  struct timeb tb;
-  ftime (&tb);
-  return (tb . dstflag);
+#ifdef NC_DAYLIGHT
+  return (NC_DAYLIGHT);
+#endif
 }
 
-#endif /* __EMX__ */
-#endif /* not __IBMC__ */
-
 static double initial_rtc;
 
 static void
@@ -169,17 +152,16 @@ OS_real_time_clock (void)
 static double
 get_real_time_clock (void)
 {
-#ifdef __IBMC__
+#ifdef NC_FTIME
   struct timeb rtc;
-  _ftime (&rtc);
+  NC_FTIME (&rtc);
   return ((((double) (rtc . time)) * 1000.0) + ((double) (rtc . millitm)));
-#else /* not __IBMC__ */
-#ifdef __GNUC__
+#endif
+#ifdef __GCC2__
   struct tms rtc;
   times (&rtc);
   return (((double) (rtc . tms_utime)) * (1000.0 / ((double) CLK_TCK)));
-#endif /* __GNUC__ */
-#endif /* not __IBMC__ */
+#endif
 }
 
 double
index 8731d5f064b294b1745545020b936edaffc6cfe7..d60d4ee05928bf432bfc1a1669fa810702b42507 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-C-*-
 
-$Id: os2thrd.c,v 1.4 1995/10/09 05:55:14 cph Exp $
+$Id: os2thrd.c,v 1.5 1995/10/15 00:38:48 cph Exp $
 
 Copyright (c) 1994-95 Massachusetts Institute of Technology
 
@@ -36,6 +36,19 @@ MIT in each case. */
 #include "prims.h"
 #include "errors.h"
 
+#ifdef __IBMC__
+#define HAVE_BEGINTHREAD
+#endif
+
+#ifdef __WATCOMC__
+#include <process.h>
+#define HAVE_BEGINTHREAD
+#endif
+
+#ifdef __EMX__
+#define HAVE_BEGINTHREAD
+#endif
+
 extern void OS2_create_msg_queue (void);
 extern ULONG APIENTRY OS2_subthread_exception_handler
   (PEXCEPTIONREPORTRECORD, PEXCEPTIONREGISTRATIONRECORD, PCONTEXTRECORD,
@@ -50,24 +63,24 @@ OS2_beginthread (thread_procedure_t procedure,
     = ((stack_size < 0x2000)
        ? 0x2000
        : ((stack_size + 0xfff) & (~0xfff)));
-#if defined(__IBMC__) || defined(__EMX__)
+#ifdef HAVE_BEGINTHREAD
   int result = (_beginthread (procedure, 0, ss, argument));
   if (result < 0)
     OS2_error_system_call (ERROR_MAX_THRDS_REACHED, syscall_beginthread);
   return (result);
-#else /* not __IBMC__ nor __EMX__ */
+#else /* not HAVE_BEGINTHREAD */
   TID tid;
   STD_API_CALL (dos_create_thread,
                ((&tid), ((PFNTHREAD) procedure), ((ULONG) argument), 0, ss));
   return (tid);
-#endif /* not __IBMC__ nor __EMX__ */
+#endif /* not HAVE_BEGINTHREAD */
 }
 
 void
 OS2_endthread (void)
 {
   DosUnsetExceptionHandler (THREAD_EXCEPTION_HANDLER ());
-#if defined(__IBMC__) || defined(__EMX__)
+#ifdef HAVE_BEGINTHREAD
   _endthread ();
 #else
   dos_exit (EXIT_THREAD, 0);
index d64e4c5e8511c389b328b110339360f1c2f2b47d..9328610cfa40d6b7eba75b54b511d1273441d68c 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-C-*-
 
-$Id: os2top.c,v 1.15 1995/10/09 05:55:38 cph Exp $
+$Id: os2top.c,v 1.16 1995/10/15 00:39:03 cph Exp $
 
 Copyright (c) 1994-95 Massachusetts Institute of Technology
 
@@ -420,7 +420,7 @@ OS_restartable_exit (void)
 {
 }
 
-#ifdef __IBMC__
+#if defined(__IBMC__) || defined(__WATCOMC__)
 void
 bcopy (const char * from, char * to, unsigned int n)
 {
index fff1e114df98dabee32b6ad8cea64e457173cb0e..8290d45182f9bafe7dceb0046893b1bd00fe30df 100644 (file)
@@ -3,9 +3,10 @@ rem MIT Scheme microcode configuration script for OS/2
 rem
 rem Copyright (c) 1994 Massachusetts Institute of Technology
 rem
-rem $Id: config.cmd,v 1.2 1995/10/09 05:58:38 cph Exp $
+rem $Id: config.cmd,v 1.3 1995/10/15 00:42:09 cph Exp $
 rem
 copy cmpintmd\i386.h cmpintmd.h
 copy cmpauxmd\i386.m4 cmpauxmd.m4
 copy os2utl\makefile .
+copy cmpauxmd\asmcvt.c .
 echo ***** Read and edit the makefile! *****
index 64e2c1c85dc68fbb1209ad167b7dd04fba3e5083..4a23395d1feb6a277bda12063f0e0820533ccb75 100644 (file)
@@ -1,6 +1,6 @@
 ### -*- Fundamental -*-
 ###
-###    $Id: makefile,v 1.11 1995/10/09 05:58:55 cph Exp $
+###    $Id: makefile,v 1.12 1995/10/15 00:42:29 cph Exp $
 ###
 ###    Copyright (c) 1994-95 Massachusetts Institute of Technology
 ###
@@ -48,6 +48,9 @@ all: scheme.exe bchschem.exe bintopsb.exe psbtobin.exe
 # IBM C Set++/2 or IBM Visual Age C++:
 include os2utl\makefile.vac
 
+# Watcom C/C++:
+#include os2utl\makefile.wcc
+
 # EMX/GCC:
 #include os2utl\makefile.emx
 
index 0f9748c7c611ee4a86b122df4bb4e043fbac66c5..fc7d13d3cd438a848677ad3470a9dc90da880ca2 100644 (file)
@@ -1,6 +1,6 @@
 ### -*- Fundamental -*-
 ###
-###    $Id: makefile.cmn,v 1.1 1995/10/09 05:59:13 cph Exp $
+###    $Id: makefile.cmn,v 1.2 1995/10/15 00:42:44 cph Exp $
 ###
 ###    Copyright (c) 1994-95 Massachusetts Institute of Technology
 ###
@@ -256,9 +256,11 @@ BCHOBJECTS = $(CORE_OBJECTS) $(BCH_GC_OBJECTS) $(OS2_OBJECTS) \
        $(OS_PRIM_OBJECTS) bchdef.$(OBJ)
 
 clean:
-       rm -f *.$(OBJ) *.exe *.tch usrdef.c bchdef.c
+       del *.$(OBJ) *.exe *.tch cmpauxmd.$(ASM) usrdef.c bchdef.c \
+       $(SYSTEM_CLEAN)
 
 findprim.exe : findprim.$(OBJ)
+asmcvt.exe : asmcvt.$(OBJ)
 bintopsb.exe : bintopsb.$(OBJ) missing.$(OBJ)
 psbtobin.exe : psbtobin.$(OBJ) missing.$(OBJ)
 breakup.exe : breakup.$(OBJ)
@@ -271,7 +273,7 @@ usrdef.c : $(SCHEME_SOURCES) $(SOURCES) $(OS_PRIM_SOURCES) usrdef.tch \
 
 bchdef.c : $(SCHEME_SOURCES) $(BCHSOURCES) $(OS_PRIM_SOURCES) usrdef.tch \
        findprim.exe
-       .\findprim.exe $(SCHEME_SOURCES) $(BCHSOURCES) $(OS_PRIM_SOURCES) \
+       .\findprim $(SCHEME_SOURCES) $(BCHSOURCES) $(OS_PRIM_SOURCES) \
        > bchdef.c
 
 cmpauxmd.$(ASM) : cmpauxmd.m4
@@ -282,17 +284,14 @@ scheme.tch : scheme.h oscond.h ansidecl.h dstack.h obstack.h config.h \
        bkpt.h object.h scode.h sdata.h gc.h interp.h stack.h futures.h \
        types.h errors.h returns.h const.h fixobj.h default.h extern.h \
        prim.h intrpt.h critsec.h outf.h
-       rm -f $@
-       touch $@
+       echo touch > $@
 
 psbmap.tch : config.h object.h bignum.h bignmint.h bitstr.h types.h \
        sdata.h const.h psbmap.h $(GC_HEAD_FILES) comlin.h comlin.c
-       rm -f $@
-       touch $@
+       echo touch > $@
 
 usrdef.tch : usrdef.h config.h object.h prim.h
-       rm -f $@
-       touch $@
+       echo touch > $@
 
 foo $(USER_PRIM_OBJECTS) : $(HEAD_FILES)
 
index a8f3c3d8050f9378aeeed8fae8d890aa0df1dc5b..cf5322e11711f1f7daf821506674c4839ce1136c 100644 (file)
@@ -1,6 +1,6 @@
 ### -*- Fundamental -*-
 ###
-###    $Id: makefile.emx,v 1.1 1995/10/09 05:59:21 cph Exp $
+###    $Id: makefile.emx,v 1.2 1995/10/15 00:43:03 cph Exp $
 ###
 ###    Copyright (c) 1994-95 Massachusetts Institute of Technology
 ###
@@ -50,6 +50,7 @@ GCCFLAGS = -Zmt -O -g
 CFLAGS = $(GCCFLAGS) -DMIT_SCHEME -D__OS2__
 LDFLAGS = $(GCCFLAGS)
 SYSTEM_LIBS =
+SYSTEM_CLEAN =
 M4 = m4
 M4FLAGS = -DTYPE_CODE_LENGTH=6
 AS = as
index 345ab4455c6ca98f2bdb438e3284b76419f8b9f6..7efea9e3c8f012670bcb3ab079470cbb0041f346 100644 (file)
@@ -1,6 +1,6 @@
 ### -*- Fundamental -*-
 ###
-###    $Id: makefile.gcc,v 1.1 1995/10/09 05:59:40 cph Exp $
+###    $Id: makefile.gcc,v 1.2 1995/10/15 00:43:16 cph Exp $
 ###
 ###    Copyright (c) 1995 Massachusetts Institute of Technology
 ###
@@ -50,6 +50,7 @@ GCCFLAGS = -O -g
 CFLAGS = $(GCCFLAGS) -DMIT_SCHEME
 LDFLAGS = $(GCCFLAGS)
 SYSTEM_LIBS =
+SYSTEM_CLEAN =
 M4 = m4
 M4FLAGS = -DOS2
 AS = as
index 7006fd2bffe98ec971f84cc30c12339795c2a422..9ddeaded8a406e7efd5ad1b4261ce9239f6a37ed 100644 (file)
@@ -1,6 +1,6 @@
 ### -*- Fundamental -*-
 ###
-###    $Id: makefile.vac,v 1.1 1995/10/09 05:59:30 cph Exp $
+###    $Id: makefile.vac,v 1.2 1995/10/15 00:43:40 cph Exp $
 ###
 ###    Copyright (c) 1994-95 Massachusetts Institute of Technology
 ###
 ###    without prior written consent from MIT in each case.
 ###
 
-#### Makefile for Scheme under OS/2 using EMX/GCC
+#### Makefile for Scheme under OS/2 using IBM Visual Age C++
 \f
 # This makefile is configured for use with GNU make, the IBM Visual
 # Age C++ compiler (or IBM C Set++/2), GNU m4, and the GNU assembler
-# included with the GCC/2 package.  Unfortunately, the output from the
-# GNU assembler requires two .lib files from GCC/2 as well; these
-# files are referenced here using absolute pathnames.
+# included with the EMX/GCC package.
 
 # For optimization, replace /Ti+ with /O+, and delete /B"/DBGPACK".
 # For C Set++/2, delete /B"/DBGPACK".
@@ -56,11 +54,12 @@ ICCFLAGS = /Gm+ /Q+ /Wall- /Ti+
 CFLAGS = $(ICCFLAGS) /DMIT_SCHEME
 LDFLAGS = $(ICCFLAGS) /B"/EXEPACK:2" /B"/DBGPACK"
 SCHEME_LDFLAGS = $(LDFLAGS)
-SYSTEM_LIBS = os2utl\libcrt.lib os2utl\gcc.lib
+SYSTEM_LIBS =
+SYSTEM_CLEAN =
 M4 = m4
 M4FLAGS = -DOS2
-AS = .\os2utl\as
-ASFLAGS = -I
+AS = as
+ASFLAGS = -Zomf
 
 %.obj : %.c
        $(CC) $(CFLAGS) /C $<
index c3aa567645c9444b0a29fb723e09d3e392ca0fe3..b18011a0918ceca58aa2297fc9fd74aab9f389fb 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-C-*-
 
-$Id: oscond.h,v 1.19 1995/06/29 23:49:23 cph Exp $
+$Id: oscond.h,v 1.20 1995/10/15 00:39:20 cph Exp $
 
 Copyright (c) 1990-95 Massachusetts Institute of Technology
 
@@ -169,12 +169,12 @@ MIT in each case. */
 #define _OS2
 /* Don't really know the version but this is correct for my machine.  */
 #define _OS2_VERSION 211
-#ifdef _M_I386
+#if defined(_M_I386) || defined(M_I386)
 #define _OS2386
 #ifndef i386
 #define i386
 #endif /* i386 */
-#endif /* _M_I386 */
+#endif /* _M_I386 or M_I386 */
 #endif /* __OS2__ */
 
 #if defined(_BSD) || defined(_SYSV) || defined(_PIXEL)
index ab13da82b67da32a4687cfd9a2acb1554234be2f..c74d9b880c740e8e4df7b28d00e35b74807c89e2 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-C-*-
 
-$Id: posixtyp.h,v 1.11 1994/11/28 04:30:16 cph Exp $
+$Id: posixtyp.h,v 1.12 1995/10/15 00:39:32 cph Exp $
 
 Copyright (c) 1990-1994 Massachusetts Institute of Technology
 
@@ -104,7 +104,7 @@ MIT in each case. */
 #endif
 
 #ifdef _OS2
-#ifdef __IBMC__
+#if defined(__IBMC__) || defined(__WATCOMC__)
 
 #include <sys/types.h>
 #include <time.h>
index 62460bdf78616393bfac2a01869c2ccb4274e188..42e1e3642cc23dab8276a69c8349dd08b4f716e6 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-C-*-
 
-$Id: prosproc.c,v 1.15 1995/10/09 05:56:18 cph Exp $
+$Id: prosproc.c,v 1.16 1995/10/15 00:39:51 cph Exp $
 
 Copyright (c) 1990-95 Massachusetts Institute of Technology
 
@@ -180,11 +180,9 @@ DEFUN (convert_string_vector, (vector), SCHEME_OBJECT vector)
   return (result);
 }
 
-#ifdef _OS2
-#ifndef __EMX__
+#if defined(_OS2) && defined(__IBMC__)
 #define environ _environ
 #endif
-#endif
 
 DEFINE_PRIMITIVE ("SCHEME-ENVIRONMENT", Prim_scheme_environment, 0, 0, 0)
 {