From e83377fbd66d932078424b600a5d083f6f8cb843 Mon Sep 17 00:00:00 2001 From: "Guillermo J. Rozas" Date: Sat, 21 Aug 1993 02:33:58 +0000 Subject: [PATCH] Allow for address relocation to make Scheme run under Windows 3.1. --- v7/src/microcode/gccode.h | 39 +++++++++++--- v7/src/microcode/gcloop.c | 30 +++++++---- v7/src/microcode/intrpt.h | 16 +++--- v7/src/microcode/memmag.h | 84 ++++++++++++++++++++++++++++--- v7/src/microcode/ntutl/config.bat | 8 ++- v7/src/microcode/ntutl/makefile | 78 +++++++++++++--------------- 6 files changed, 175 insertions(+), 80 deletions(-) diff --git a/v7/src/microcode/gccode.h b/v7/src/microcode/gccode.h index 9e31cdf0f..771cf46e2 100644 --- a/v7/src/microcode/gccode.h +++ b/v7/src/microcode/gccode.h @@ -1,6 +1,6 @@ /* -*-C-*- -$Id: gccode.h,v 9.48 1993/06/24 04:48:12 gjr Exp $ +$Id: gccode.h,v 9.49 1993/08/21 02:25:29 gjr Exp $ Copyright (c) 1987-1993 Massachusetts Institute of Technology @@ -218,9 +218,18 @@ do \ #define Normal_BH(In_GC, then_what) \ { \ - if (BROKEN_HEART_P (*Old)) \ + if (BROKEN_HEART_P (* Old)) \ { \ - *Scan = (MAKE_OBJECT_FROM_OBJECTS (Temp, (*Old))); \ + (* Scan) = (MAKE_OBJECT_FROM_OBJECTS (Temp, (* Old))); \ + then_what; \ + } \ +} + +#define RAW_BH(In_GC, then_what) \ +{ \ + if (BROKEN_HEART_P (* Old)) \ + { \ + (* Scan) = (ADDR_TO_SCHEME_ADDR (OBJECT_ADDRESS (* Old))); \ then_what; \ } \ } @@ -245,6 +254,12 @@ do \ (* (OBJECT_ADDRESS (Temp))) = New_Address; \ (* Scan) = (MAKE_OBJECT_FROM_OBJECTS (Temp, New_Address)); \ } + +#define RAW_POINTER_END() \ +{ \ + (* (SCHEME_ADDR_TO_ADDR (Temp))) = New_Address; \ + (* Scan) = (ADDR_TO_SCHEME_ADDR (OBJECT_ADDRESS (New_Address))); \ +} /* GC Type handlers. These do the actual work. */ @@ -295,8 +310,7 @@ extern SCHEME_OBJECT * gc_objects_referencing_end; #define TRANSPORT_ONE_THING(transport_code) transport_code #endif - - + #define Transport_Cell() \ { \ TRANSPORT_ONE_THING ((*To++) = (*Old)); \ @@ -318,14 +332,25 @@ extern SCHEME_OBJECT * gc_objects_referencing_end; Pointer_End (); \ } -#define Transport_Quadruple() \ +#define TRANSPORT_QUADRUPLE_INTERNAL() \ { \ TRANSPORT_ONE_THING ((*To++) = (*Old++)); \ TRANSPORT_ONE_THING ((*To++) = (*Old++)); \ TRANSPORT_ONE_THING ((*To++) = (*Old++)); \ TRANSPORT_ONE_THING ((*To++) = (*Old)); \ +} + +#define Transport_Quadruple() \ +{ \ + TRANSPORT_QUADRUPLE_INTERNAL (); \ Pointer_End (); \ } + +#define TRANSPORT_RAW_QUADRUPLE() \ +{ \ + TRANSPORT_QUADRUPLE_INTERNAL (); \ + RAW_POINTER_END (); \ +} #ifndef In_Fasdump @@ -492,7 +517,7 @@ extern SCHEME_OBJECT Weak_Chain; Fixup = Fixes; \ return (PRIM_INTERRUPT); \ } \ - (*--Fixes) = (*Old); \ + (*--Fixes) = (* Old); \ (*--Fixes) = (ADDRESS_TO_DATUM (Old)); \ Extra_Code; \ } diff --git a/v7/src/microcode/gcloop.c b/v7/src/microcode/gcloop.c index e1c1e87c3..611341b1f 100644 --- a/v7/src/microcode/gcloop.c +++ b/v7/src/microcode/gcloop.c @@ -1,6 +1,6 @@ /* -*-C-*- -$Id: gcloop.c,v 9.41 1993/06/24 04:49:14 gjr Exp $ +$Id: gcloop.c,v 9.42 1993/08/21 02:27:45 gjr Exp $ Copyright (c) 1987-1993 Massachusetts Institute of Technology @@ -48,13 +48,19 @@ extern SCHEME_OBJECT * EXFUN (GCLoop, (SCHEME_OBJECT *, SCHEME_OBJECT **)); #define GC_Pointer(Code) \ { \ - Old = OBJECT_ADDRESS (Temp); \ + Old = (OBJECT_ADDRESS (Temp)); \ + Code; \ +} + +#define GC_RAW_POINTER(Code) \ +{ \ + Old = (SCHEME_ADDR_TO_ADDR (Temp)); \ Code; \ } #define Setup_Pointer_for_GC(Extra_Code) \ { \ - GC_Pointer(Setup_Pointer(true, Extra_Code)); \ + GC_Pointer (Setup_Pointer (true, Extra_Code)); \ } #ifdef ENABLE_GC_DEBUGGING_TOOLS @@ -174,12 +180,14 @@ DEFUN (GCLoop, fast long count; Scan++; - for (count = READ_CACHE_LINKAGE_COUNT(Temp); + for (count = (READ_CACHE_LINKAGE_COUNT (Temp)); --count >= 0; Scan += 1) { - Temp = *Scan; - Setup_Pointer_for_GC(Transport_Quadruple()); + Temp = (* Scan); + GC_RAW_POINTER (Setup_Internal (true, + TRANSPORT_RAW_QUADRUPLE (), + RAW_BH (true, continue))); } Scan -= 1; break; @@ -202,11 +210,11 @@ DEFUN (GCLoop, Scan = ((SCHEME_OBJECT *) word_ptr); word_ptr = (NEXT_LINKAGE_OPERATOR_ENTRY (word_ptr)); EXTRACT_OPERATOR_LINKAGE_ADDRESS (Temp, Scan); - GC_Pointer(Setup_Internal(true, - Transport_Compiled(), - Compiled_BH(true, - goto next_operator))); - next_operator: + GC_Pointer (Setup_Internal (true, + Transport_Compiled (), + Compiled_BH(true, + goto next_operator))); + next_operator: STORE_OPERATOR_LINKAGE_ADDRESS (Temp, Scan); } Scan = end_scan; diff --git a/v7/src/microcode/intrpt.h b/v7/src/microcode/intrpt.h index c8d0a23d9..be9758305 100644 --- a/v7/src/microcode/intrpt.h +++ b/v7/src/microcode/intrpt.h @@ -1,8 +1,8 @@ /* -*-C-*- -$Id: intrpt.h,v 1.12 1993/06/29 22:53:52 cph Exp $ +$Id: intrpt.h,v 1.13 1993/08/21 02:28:59 gjr Exp $ -Copyright (c) 1987-93 Massachusetts Institute of Technology +Copyright (c) 1987-1993 Massachusetts Institute of Technology This material was developed by the Scheme project at the Massachusetts Institute of Technology, Department of Electrical Engineering and @@ -66,19 +66,19 @@ MIT in each case. */ #define INTERRUPT_PENDING_P(mask) (((PENDING_INTERRUPTS ()) & (mask)) != 0) -#define COMPILER_SETUP_INTERRUPT() \ +#define COMPILER_SETUP_INTERRUPT() do \ { \ (Registers[REGBLOCK_MEMTOP]) = \ ((INTERRUPT_PENDING_P (INT_Mask)) \ ? ((SCHEME_OBJECT) -1) \ : (INTERRUPT_ENABLED_P (INT_GC)) \ - ? ((SCHEME_OBJECT) MemTop) \ - : ((SCHEME_OBJECT) Heap_Top)); \ + ? ((SCHEME_OBJECT) (ADDR_TO_SCHEME_ADDR (MemTop))) \ + : ((SCHEME_OBJECT) (ADDR_TO_SCHEME_ADDR (Heap_Top)))); \ (Registers[REGBLOCK_STACK_GUARD]) = \ ((INTERRUPT_ENABLED_P (INT_Stack_Overflow)) \ - ? ((SCHEME_OBJECT) Stack_Guard) \ - : ((SCHEME_OBJECT) Absolute_Stack_Base)); \ -} + ? ((SCHEME_OBJECT) (ADDR_TO_SCHEME_ADDR (Stack_Guard))) \ + : ((SCHEME_OBJECT) (ADDR_TO_SCHEME_ADDR (Absolute_Stack_Base)))); \ +} while (0) #define FETCH_INTERRUPT_MASK() ((long) (Registers[REGBLOCK_INT_MASK])) diff --git a/v7/src/microcode/memmag.h b/v7/src/microcode/memmag.h index 159a67510..5e77c05df 100644 --- a/v7/src/microcode/memmag.h +++ b/v7/src/microcode/memmag.h @@ -1,6 +1,6 @@ /* -*-C-*- -$Id: memmag.h,v 1.1 1993/07/27 20:56:07 gjr Exp $ +$Id: memmag.h,v 1.2 1993/08/21 02:33:58 gjr Exp $ Copyright (c) 1993 Massachusetts Institute of Technology @@ -39,18 +39,86 @@ MIT in each case. */ #ifdef WINNT -static unsigned long scheme_heap_handle; - -extern char * win32_allocate_heap (unsigned long, unsigned long *); -extern void win32_release_heap (char *, unsigned long); extern void winnt_allocate_registers (void); extern void winnt_deallocate_registers (void); - -#define HEAP_MALLOC(size) (win32_allocate_heap (size, &scheme_heap_handle)) -#define HEAP_FREE(base) win32_release_heap (((char *) (base)), scheme_heap_handle) #define ALLOCATE_REGISTERS winnt_allocate_registers #define DEALLOCATE_REGISTERS winnt_deallocate_registers +#include "ntscmlib.h" + +#ifdef WINNT_RAW_ADDRESSES + +#define WIN32_ALLOCATE_HEAP win32_allocate_heap +#define WIN32_RELEASE_HEAP win32_release_heap + +#else /* not WINNT_RAW_ADDRESSES */ + +extern unsigned long winnt_address_delta; +extern unsigned short + Scheme_Code_Segment_Selector, + Scheme_Data_Segment_Selector, + Scheme_Stack_Segment_Selector; + +unsigned long winnt_address_delta; +static unsigned long total_fudge; + +#define SCM_FUDGE_1 0x1000L +#define SCM_FUDGE_2 0x10000L + +static char * +WIN32_ALLOCATE_HEAP (unsigned long size, unsigned long * handle) +{ + unsigned long actual_size, actual_fudge_1, actual_fudge_2; + char * base, * virtual_base; + + if (! (win32_under_win32s_p ())) + { + actual_fudge_1 = 0; + actual_fudge_2 = 0; + } + else + { + actual_fudge_1 = SCM_FUDGE_1; + actual_fudge_2 = SCM_FUDGE_2; + } + total_fudge = (actual_fudge_1 + actual_fudge_2); + actual_size = (size + total_fudge); + + base = (win32_allocate_heap (actual_size, handle)); + if (base == ((char *) NULL)) + return (base); + + virtual_base = (base + total_fudge); + winnt_address_delta = (((unsigned long) base) + actual_fudge_1); + if (! (win32_alloc_scheme_selectors (winnt_address_delta, + (size + actual_fudge_2), + &Scheme_Code_Segment_Selector, + &Scheme_Data_Segment_Selector, + &Scheme_Stack_Segment_Selector))) + /* Let the higher-level code fail. */ + winnt_address_delta = 0L; + + return (virtual_base); +} + +static void +WIN32_RELEASE_HEAP (char * area, unsigned long handle) +{ + if (winnt_address_delta != 0) + win32_release_scheme_selectors (Scheme_Code_Segment_Selector, + Scheme_Data_Segment_Selector, + Scheme_Stack_Segment_Selector); + win32_release_heap ((area - total_fudge), handle); + return; +} + +#endif /* WINNT_RAW_ADDRESSES */ + +static unsigned long scheme_heap_handle; + +#define HEAP_MALLOC(size) (WIN32_ALLOCATE_HEAP (size, &scheme_heap_handle)) +#define HEAP_FREE(base) WIN32_RELEASE_HEAP (((char *) (base)), scheme_heap_handle) + #endif /* WINNT */ #ifndef HEAP_FREE diff --git a/v7/src/microcode/ntutl/config.bat b/v7/src/microcode/ntutl/config.bat index a342d1f56..15a4b35ed 100644 --- a/v7/src/microcode/ntutl/config.bat +++ b/v7/src/microcode/ntutl/config.bat @@ -3,11 +3,15 @@ rem MIT Scheme microcode configuration script for Windows NT rem rem Copyright (c) 1993 Massachusetts Institute of Technology rem -rem $Id: config.bat,v 1.3 1993/07/18 20:30:44 gjr Exp $ +rem $Id: config.bat,v 1.4 1993/08/21 02:32:58 gjr Exp $ rem copy cmpintmd\i386.h cmpintmd.h copy cmpauxmd\i386-nt.asm cmpauxmd.asm copy ntutl\*.lst . copy ntutl\*.h . copy ntutl\makefile . -copy ntutl\setenv.bat . +copy ntutl\*.bat . +copy ntutl\*.mak . +copy ntutl\*.def . +copy ntutl\*.dlg . +copy ntutl\*.ico . diff --git a/v7/src/microcode/ntutl/makefile b/v7/src/microcode/ntutl/makefile index 691353c87..aaea3d37a 100644 --- a/v7/src/microcode/ntutl/makefile +++ b/v7/src/microcode/ntutl/makefile @@ -1,6 +1,6 @@ ### -*- Fundamental -*- ### -### $Id: makefile,v 1.6 1993/08/03 08:39:41 gjr Exp $ +### $Id: makefile,v 1.7 1993/08/21 02:31:23 gjr Exp $ ### ### Copyright (c) 1992-1993 Massachusetts Institute of Technology ### @@ -51,16 +51,13 @@ GRAPHICS_LIBS = MACHINE_SWITCHES = -DNO_CONST -Di386 MACHINE_SOURCES = cmpint.c cmpauxmd.asm MACHINE_OBJECTS = cmpint.obj cmpauxmd.obj -GC_HEAD_FILES = gccode.h cmpgc.h cmpintmd.h ntscmlib.h +GC_HEAD_FILES = gccode.h cmpgc.h ntscmlib.h cmpintmd.h USER_PRIM_SOURCES = USER_PRIM_OBJECTS = USER_LIBS = BINDIR = \scheme\nt\microcode -AS = mlx +AS = mlx /Zm /Cp /c # masm386 /z # LDFLAGS = -#CFLAGS = -DMIT_SCHEME $(MACHINE_SWITCHES) -D__STDC__ -Jm -o -#cflags = -DMIT_SCHEME -DWINNT -DCL386 $(MACHINE_SWITCHES) -D_STDC__ -o -#cflags = $(cflags) -DMIT_SCHEME -DWINNT -DCL386 $(MACHINE_SWITCHES) -o cflags = $(cflags) -DMIT_SCHEME -DWINNT -DCL386 $(MACHINE_SWITCHES) -DGUI=1 # NT compilation system for scheme (NOT utilities) @@ -69,18 +66,20 @@ sysflags = $(guiflags) syslibs = $(guilibs) cvobj = cvtomf -all: ntscmlib.dll bintopsb.exe psbtobin.exe scheme.exe bchscheme.exe +all: ntscmlib.dll scheme.exe # bchschem.exe bintopsb.exe psbtobin.exe .c.obj: $(cc) $(cflags) $(cdebug) -c $*.c # $(cc) $(cflags) -Zi -Ox -c $*.c - $(cvobj) $*.obj +# $(cvobj) $*.obj + #.c.s: # $(CC) $(CFLAGS) -S $*.c # .m4.asm: # $(M4) -DTYPE_CODE_LENGTH=6 $*.m4 > $*.asm +# $(AS) $*.asm, $*.obj, nul.lst, nul.crf .asm.obj: - $(AS) /Zm /Cp /c $*.asm + $(AS) $*.asm SCHEME_SOURCES = $(TERMCAP_SOURCES) $(GRAPHICS_SOURCES) $(USER_PRIM_SOURCES) missing.c SCHEME_OBJECTS = $(TERMCAP_OBJECTS) $(GRAPHICS_OBJECTS) $(USER_PRIM_OBJECTS) missing.obj @@ -153,7 +152,6 @@ ntenv.c \ ntfile.c \ ntgui.c \ ntio.c \ -ntconio.c \ nttty.c \ nttop.c \ ntutil.c \ @@ -161,11 +159,6 @@ ntsig.c \ nttrap.c \ ntsys.c \ ntscreen.c \ -#ntprm \ -#ntkbd.c \ -#ntexcp.c \ -#ntkbutl.asm \ -#ntxcutl.asm \ ntasutl.asm NT_OBJECTS = \ @@ -176,7 +169,6 @@ ntfile.obj \ ntgui.obj \ ntgui.rbj \ ntio.obj \ -ntconio.obj \ nttty.obj \ nttop.obj \ ntutil.obj \ @@ -184,11 +176,6 @@ ntsig.obj \ nttrap.obj \ ntsys.obj \ ntscreen.obj \ -#ntprm.obj \ -#ntkbd.obj \ -#ntexcp.obj \ -#ntkbutl.obj \ -#ntxcutl.obj \ ntasutl.obj OS_PRIM_SOURCES = \ @@ -200,8 +187,6 @@ prostty.c \ prosenv.c \ prntfs.c \ prntenv.c -# prosproc.c \ -# pruxsock.c HEAD_FILES = scheme.tch prims.h zones.h locks.h bignum.h \ $(GC_HEAD_FILES) trap.h lookup.h history.h cmpint.h @@ -264,8 +249,6 @@ prosenv.obj \ prostty.obj \ prntenv.obj \ prntfs.obj -# prosproc.obj \ -# pruxsock.obj STD_GC_OBJECTS = \ fasdump.obj \ @@ -285,10 +268,8 @@ OBJECTS = $(CORE_OBJECTS) $(STD_GC_OBJECTS) $(NT_OBJECTS) $(OS_PRIM_OBJECTS) usr BCHSOURCES = $(CORE_SOURCES) $(BCH_GC_SOURCES) BCHOBJECTS = $(CORE_OBJECTS) $(BCH_GC_OBJECTS) $(NT_OBJECTS) $(OS_PRIM_OBJECTS) bchdef.obj -FLASHTEK = x32v.lib - # Update the resource if necessary -ntgui.rbj: ntgui.rc ntgui.h +ntgui.rbj: ntgui.rc ntgui.h ntdialog.dlg ntdialog.h rc -r -fo $*.res $(cvars) $*.rc !IFDEF CPUTYPE cvtres -$(CPU) $*.res -o $*.rbj @@ -297,7 +278,7 @@ ntgui.rbj: ntgui.rc ntgui.h scheme: scheme.exe scheme.exe : $(OBJECTS) $(SCHEME_OBJECTS) scm-cl3.lst $(link) $(linkdebug) $(sysflags) -out:scheme.exe @scm-cl3.lst $(syslibs) ntscmlib.lib crtdll.lib -bchscheme.exe : $(BCHOBJECTS) $(SCHEME_OBJECTS) bch-cl3.lst +bchschem.exe : $(BCHOBJECTS) $(SCHEME_OBJECTS) bch-cl3.lst $(link) $(linkdebug) $(sysflags) -out:bchschem.exe @bch-cl3.lst $(syslibs) ntscmlib.lib crtdll.lib findprim.exe : findprim.obj $(link) $(linkdebug) $(conflags) -out:findprim.exe findprim.obj $(conlibs) @@ -312,7 +293,7 @@ wsize.exe : wsize.obj ppband.exe : ppband.obj $(link) $(linkdebug) $(conflags) -out:ppband.exe ppband.obj $(conlibs) -usrdef.c : $(SCHEME_SOURCES) $(SOURCES) $(OS_PRIM_SOURCES) ntconio.c ntgui.c usrdef.tch findprim.exe scm-p-nt.lst +usrdef.c : $(SCHEME_SOURCES) $(SOURCES) $(OS_PRIM_SOURCES) ntgui.c usrdef.tch findprim.exe scm-p-nt.lst rm -f usrdef.c .\findprim -o usrdef.c -l .\scm-p-nt.lst @@ -362,7 +343,8 @@ hard-par.exe : hard-par.c foo $(USER_PRIM_OBJECTS) : $(HEAD_FILES) interp.obj : scheme.tch locks.h trap.h lookup.h history.h cmpint.h zones.h prmcon.h $(cc) $(cflags) $(cdebug) -Ox -c $*.c - $(cvobj) $*.obj +# $(cvobj) $*.obj + hooks.obj : scheme.tch prims.h winder.h history.h utils.obj : scheme.tch prims.h winder.h history.h cmpint.h syscall.h primutl.obj : scheme.tch prims.h prename.h syscall.h @@ -432,16 +414,13 @@ ntenv.obj : osenv.h $(NT_DEPENDENCIES) ntfile.obj : osfile.h osio.h ntio.h $(NT_DEPENDENCIES) ntfs.obj : osfs.h $(NT_DEPENDENCIES) ntio.obj : osio.h ntio.h $(NT_DEPENDENCIES) -ntconio.obj : scheme.tch prims.h ntscan.h osio.h ntio.h $(NT_DEPENDENCIES) nttop.obj : ostop.h nttop.h osctty.h ntutil.h errors.h option.h $(NT_DEPENDENCIES) nttty.obj : ostty.h osenv.h osio.h ntio.h osterm.h ntterm.h $(NT_DEPENDENCIES) ntutil.obj : ntutil.h $(NT_DEPENDENCIES) -ntsig.obj : ossig.h osctty.h ostty.h critsec.h ntexcp.h ntkbd.h $(NT_DEPENDENCIES) ntscmlib.h -nttrap.obj: nttrap.h ntexcp.h $(NT_DEPENDENCIES) +ntsig.obj : ossig.h osctty.h ostty.h critsec.h $(NT_DEPENDENCIES) ntscmlib.h +nttrap.obj: nttrap.h ntscmlib.h $(GC_HEAD_FILES) $(NT_DEPENDENCIES) ntsys.obj: ntsys.h -ntexcp.obj : ntexcp.h ntsys.h ntinsn.h -ntgui.obj : ntgui.c $(NT_DEPENDENCIES) scheme.tch ntscreen.h -ntkbd.obj : ntkbd.h ntsys.h ntinsn.h +ntgui.obj : ntgui.c ntdialog.h ntscreen.h $(NT_DEPENDENCIES) scheme.tch ntasutl.obj : ntasutl.asm ntkbutl.obj : ntkbutl.asm ntscreen.obj : ntscreen.c ntscreen.h @@ -449,20 +428,24 @@ prntenv.obj : $(NT_DEPENDENCIES) prntfs.obj : $(NT_DEPENDENCIES) scheme.h prims.h osfs.h cmpauxmd.obj : cmpauxmd.asm -ntscmlib.obj : ntscmlib.c ntscmlib.h makefile +ntscmlib.dll: ntwntlib.dll ntw32lib.dll + copy ntwntlib.lib ntscmlib.lib + copy ntwntlib.dll ntscmlib.dll -ntscmlib.exp: ntscmlib.obj ntscmlib.def - $(implib) -machine:$(CPU) -def:$*.def $*.obj -out:$*.lib +ntwntlib.obj: ntwntlib.c ntscmlib.h makefile + +ntwntlib.exp: ntwntlib.obj ntscmlib.def + $(implib) -machine:$(CPU) -def:ntscmlib.def $*.obj -out:$*.lib -ntscmlib.dll: ntscmlib.obj ntscmlib.exp +ntwntlib.dll: ntwntlib.obj ntwntlib.exp $(link) $(linkdebug) -dll -out:$*.dll \ -entry:_CRT_INIT$(DLLENTRY) \ $** $(syslibs) winmm.lib crtdll.lib -ntw32lib.obj : ntw32lib.c ntscmlib.h ntw32lib.h makefile +ntw32lib.obj : ntw32lib.c ntscmlib.h makefile ntw32lib.exp: ntw32lib.obj ntscmlib.def - $(implib) -machine:$(CPU) -def:ntscmlib.def ntw32lib.obj -out:ntw32lib.lib + $(implib) -machine:$(CPU) -def:ntscmlib.def $*.obj -out:$*.lib ntw32lib.dll: ntw32lib.obj ntw32lib.exp $(link) $(linkdebug) -dll -out:$*.dll \ @@ -476,6 +459,8 @@ clean: del *.lib del *.dll del *.exp + del *.rbj + del *.res unconfig: del cmpintmd.h @@ -485,6 +470,11 @@ unconfig: del makefile del *.lst del setenv.bat - + del win31.bat + del winnt.bat + del *.mak + del *.def + del *.dlg + del *.ico -- 2.25.1