[gs-cvs] rev 8468 - in trunk/gs: doc src

giles at ghostscript.com giles at ghostscript.com
Mon Dec 31 10:08:04 PST 2007


Author: giles
Date: 2007-12-31 10:07:59 -0800 (Mon, 31 Dec 2007)
New Revision: 8468

Removed:
   trunk/gs/src/gdevegaa.asm
   trunk/gs/src/iutilasm.asm
Modified:
   trunk/gs/doc/Develop.htm
   trunk/gs/src/bcwin32.mak
   trunk/gs/src/devs.mak
   trunk/gs/src/dvx-head.mak
   trunk/gs/src/gdevpcfb.c
   trunk/gs/src/gdevsvga.c
   trunk/gs/src/gsmisc.c
   trunk/gs/src/gsutil.c
   trunk/gs/src/lib.mak
   trunk/gs/src/msvc32.mak
   trunk/gs/src/msvccmd.mak
   trunk/gs/src/msvclib.mak
   trunk/gs/src/openvms.mak
   trunk/gs/src/openvms.mmk
   trunk/gs/src/os2.mak
   trunk/gs/src/unix-end.mak
   trunk/gs/src/unixhead.mak
   trunk/gs/src/watcw32.mak
   trunk/gs/src/wccommon.mak
   trunk/gs/src/wctail.mak
   trunk/gs/src/winint.mak
   trunk/gs/src/winlib.mak
Log:
Merge commit '5a03a37319440cd5b38c2d615726b3e300407464'


Modified: trunk/gs/doc/Develop.htm
===================================================================
--- trunk/gs/doc/Develop.htm	2007-12-31 06:31:19 UTC (rev 8467)
+++ trunk/gs/doc/Develop.htm	2007-12-31 18:07:59 UTC (rev 8468)
@@ -1831,7 +1831,6 @@
 <dd>
 <a href="../src/gdev8bcm.c">src/gdev8bcm.c</a>,
 <a href="../src/gdev8bcm.h">src/gdev8bcm.h</a>,
-<a href="../src/gdevegaa.asm">src/gdevegaa.asm</a>,
 <a href="../src/gdevevga.c">src/gdevevga.c</a>,
 <a href="../src/gdevl256.c">src/gdevl256.c</a>,
 <a href="../src/gdevpccm.c">src/gdevpccm.c</a>,
@@ -2678,7 +2677,6 @@
 <a href="../src/iutil.h">src/iutil.h</a>,
 <a href="../src/iutil2.c">src/iutil2.c</a>,
 <a href="../src/iutil2.h">src/iutil2.h</a>,
-<a href="../src/iutilasm.asm">src/iutilasm.asm</a>,
 <a href="../src/iplugin.c">src/iplugin.c</a>,
 <a href="../src/iplugin.h">src/iplugin.h</a>.
 

Modified: trunk/gs/src/bcwin32.mak
===================================================================
--- trunk/gs/src/bcwin32.mak	2007-12-31 06:31:19 UTC (rev 8467)
+++ trunk/gs/src/bcwin32.mak	2007-12-31 18:07:59 UTC (rev 8468)
@@ -342,13 +342,6 @@
 LINK=$(COMPDIR)\ilink32
 !endif
 
-# If you don't have an assembler, set USE_ASM=0.  Otherwise, set USE_ASM=1,
-# and set ASM to the name of the assembler you are using.  This can be
-# a full path name if you want.  Normally it will be masm or tasm.
-
-USE_ASM=0
-ASM=tasm
-
 # Define the processor architecture. (always i386)
 
 CPU_FAMILY=i386
@@ -477,9 +470,6 @@
 
 PLATOPT=
 
-INTASM=
-PCFBASM=
-
 # Make sure we get the right default target for make.
 
 dosdefault: default
@@ -493,25 +483,13 @@
 # Define the compilation flags.
 
 !if $(CPU_TYPE)>500
-ASMCPU=/DFOR80386 /DFOR80486
 CPFLAGS=-DFOR80486 -DFOR80386
 !else if $(CPU_TYPE)>400
-ASMCPU=/DFOR80386 /DFOR80486
 CPFLAGS=-DFOR80486 -DFOR80386
 !else
-ASMCPU=/DFOR80386
 CPFLAGS=-DFOR80386
 !endif
 
-!if $(CPU_TYPE) >= 486 || $(FPU_TYPE) > 0
-ASMFPU=/DFORFPU
-!else
-!if $(FPU_TYPE) < 0
-ASMFPU=/DNOFPU
-!else
-ASMFPU=
-!endif
-!endif
 FPFLAGS=
 FPLIB=
 
@@ -525,7 +503,6 @@
 CT=-v
 LCT=-v -m -s
 CO=    # no optimization when debugging
-ASMDEBUG=/DDEBUG
 !else
 CT=
 LCT=
@@ -682,7 +659,7 @@
 	-del $(PSGEN)gswin32.tr
 	copy $(ld_tr) $(PSGEN)gswin32.tr
 	echo $(LIBDIR)\c0d32 $(PSOBJ)gsdll + >> $(PSGEN)gswin32.tr
-	$(LINK) /L$(LIBDIR) $(LCT) /Tpd /aa @$(PSGEN)gswin32.tr $(INTASM) ,$(GSDLL_DLL),$(PSOBJ)$(GSDLL),@$(LIBCTR),$(PSSRCDIR)\gsdll32.def,$(GSDLL_OBJ).res
+	$(LINK) /L$(LIBDIR) $(LCT) /Tpd /aa @$(PSGEN)gswin32.tr ,$(GSDLL_DLL),$(PSOBJ)$(GSDLL),@$(LIBCTR),$(PSSRCDIR)\gsdll32.def,$(GSDLL_OBJ).res
 
 !else
 # The big graphical EXE
@@ -691,7 +668,7 @@
 	-del $(PSGEN)gswin32.tr
 	copy $(ld_tr) $(PSGEN)gswin32.tr
 	echo $(LIBDIR)\c0w32 $(PSOBJ)gsdll + >> $(PSGEN)gswin32.tr
-	echo $(DWOBJNO) $(INTASM) >> $(PSGEN)gswin32.tr
+	echo $(DWOBJNO) >> $(PSGEN)gswin32.tr
 	$(LINK) /L$(LIBDIR) $(LCT) /Tpe /aa @$(PSGEN)gswin32.tr ,$(GS_XE),$(PSOBJ)$(GS) @$(LIBCTR),$(PSSRCDIR)\dwmain32.def,$(GS_OBJ).res
 
 # The big console mode EXE
@@ -700,7 +677,7 @@
 	-del $(PSGEN)gswin32.tr
 	copy $(ld_tr) $(PSGEN)gswin32.tr
 	echo $(LIBDIR)\c0w32 $(PSOBJ)gsdll + >> $(PSGEN)gswin32.tr
-	echo $(OBJCNO) $(INTASM) >> $(PSGEN)gswin32.tr
+	echo $(OBJCNO) >> $(PSGEN)gswin32.tr
 	$(LINK) /L$(LIBDIR) $(LCT) /Tpe /ap @$(PSGEN)gswin32.tr ,$(GSCONSOLE_XE),$(PSOBJ)$(GSCONSOLE) @$(LIBCTR),$(PSSRCDIR)\dw32c.def,$(GS_OBJ).res
 !endif
 

Modified: trunk/gs/src/devs.mak
===================================================================
--- trunk/gs/src/devs.mak	2007-12-31 06:31:19 UTC (rev 8467)
+++ trunk/gs/src/devs.mak	2007-12-31 18:07:59 UTC (rev 8468)
@@ -296,18 +296,10 @@
 
 ### ----------------------- EGA and VGA displays ----------------------- ###
 
-# The shared MS-DOS makefile defines PCFBASM as either gdevegaa.$(OBJ)
-# or an empty string.
-
-$(GLOBJ)gdevegaa.$(OBJ) : $(GLSRC)gdevegaa.asm
-	$(GLCC) $(GLO_)gdevegaa.$(OBJ) $(C_) $(GLSRC)gdevegaa.c
-
-EGAVGA_DOS=$(GLOBJ)gdevevga.$(OBJ) $(GLOBJ)gdevpcfb.$(OBJ) $(GLOBJ)gdevpccm.$(OBJ) $(PCFBASM)
-EGAVGA_SCO=$(GLOBJ)gdevsco.$(OBJ) $(GLOBJ)gdevpcfb.$(OBJ) $(GLOBJ)gdevpccm.$(OBJ) $(PCFBASM)
+EGAVGA_DOS=$(GLOBJ)gdevevga.$(OBJ) $(GLOBJ)gdevpcfb.$(OBJ) $(GLOBJ)gdevpccm.$(OBJ)
+EGAVGA_SCO=$(GLOBJ)gdevsco.$(OBJ) $(GLOBJ)gdevpcfb.$(OBJ) $(GLOBJ)gdevpccm.$(OBJ)
 # NOTE: for direct frame buffer addressing under SCO Unix or Xenix,
-# change DOS to SCO in the following line.  Also, since SCO's /bin/as
-# does not support the "out" instructions, you must build the GNU
-# assembler and have it on your path as "as".
+# change DOS to SCO in the following line.
 EGAVGA=$(EGAVGA_DOS)
 
 #**************** $(CCD) gdevevga.c
@@ -346,7 +338,7 @@
 # More capable SuperVGAs have a wide variety of slightly differing
 # interfaces, so we need a separate driver for each one.
 
-SVGA=$(GLOBJ)gdevsvga.$(OBJ) $(GLOBJ)gdevpccm.$(OBJ) $(PCFBASM)
+SVGA=$(GLOBJ)gdevsvga.$(OBJ) $(GLOBJ)gdevpccm.$(OBJ)
 
 #**************** $(CCD) gdevsvga.c
 $(GLOBJ)gdevsvga.$(OBJ) : $(GLSRC)gdevsvga.c $(GDEV) $(memory__h)\

Modified: trunk/gs/src/dvx-head.mak
===================================================================
--- trunk/gs/src/dvx-head.mak	2007-12-31 06:31:19 UTC (rev 8467)
+++ trunk/gs/src/dvx-head.mak	2007-12-31 18:07:59 UTC (rev 8468)
@@ -65,7 +65,3 @@
 CC_D=$(CC_)
 CC_INT=$(CC_)
 
-# Patch a couple of PC-specific things that aren't relevant to DV/X builds,
-# but that cause `make' to produce warnings.
-
-PCFBASM=

Deleted: trunk/gs/src/gdevegaa.asm
===================================================================
--- trunk/gs/src/gdevegaa.asm	2007-12-31 06:31:19 UTC (rev 8467)
+++ trunk/gs/src/gdevegaa.asm	2007-12-31 18:07:59 UTC (rev 8468)
@@ -1,273 +0,0 @@
-;  Copyright (C) 2001-2006 Artifex Software, Inc.
-;  All Rights Reserved.
-;
-;  This software is provided AS-IS with no warranty, either express or
-;  implied.
-;
-;  This software is distributed under license and may not be copied, modified
-;  or distributed except as expressly authorized under the terms of that
-;  license.  Refer to licensing information at http://www.artifex.com/
-;  or contact Artifex Software, Inc.,  7 Mt. Lassen Drive - Suite A-134,
-;  San Rafael, CA  94903, U.S.A., +1(415)492-9861, for further information.
-;
-; $Id$
-; gdevegaasm.asm
-; Assembly code for Ghostscript PC frame buffer driver
-
-gdevegaasm_TEXT	SEGMENT	BYTE PUBLIC 'CODE'
-	ASSUME	CS:gdevegaasm_TEXT
-
-; Note: Turbo C uses si and di for register variables, so
-; we have to preserve them.
-
-; Normal entry and exit.  Arguments are relative to bp.
-enterp	macro
-	push	bp
-	mov	bp,sp
-	x = 6				; offset of arguments,
-					; large code model
-	endm
-leavep	macro
-	pop	bp
-	endm
-; Fast entry and exit, for procedures that don't use bx until
-; they've fetched all their arguments.  Arguments are relative to ss:bx.
-enterf	macro
-	mov	bx,sp
-	x = 4				; offset of arguments,
-					; large code model
-	endm
-leavef	macro
-	endm
-
-; Fast call to VESA set-page routine.
-; void vesa_call_set_page(void (*set_page_proc)(int), int page_no, int win_no)
-	PUBLIC	_vesa_call_set_page
-_vesa_call_set_page proc far
-	enterf
-	mov ax,4f05h
-	mov dx,ss:[bx+x+4]			; page_no
-	push ss:[bx+x+2]			; set_page_proc
-	push ss:[bx+x]
-	mov bx,ss:[bx+x+6]			; win_no
-	ret
-_vesa_call_set_page endp
-
-; Structure for operation parameters.
-; Note that this structure is shared with C code.
-; Not all parameters are used for every operation.
-; typedef struct rop_params_s {
-p_dest	equ	0	; fb_ptr dest;	/* pointer to frame buffer */
-p_draster equ	4	; int draster;	/* raster of frame buffer */
-p_src	equ	6	; const byte far *src; /* pointer to source data */
-p_sraster equ	10	; int sraster;	/* source raster */
-p_width	equ	12	; int width;	/* width in bytes */
-p_height equ	14	; int height;	/* height in scan lines */
-p_shift equ	16	; int shift;	/* amount to right shift source */
-p_invert equ	18	; int invert;	/* 0 or -1 to invert source */
-p_data	equ	20	; int data;	/* data for fill */
-; } rop_params;
-
-; void memsetcol(rop_params _ss *rop)
-; {	byte far *addr = rop->dest;
-;	int yc = rop->height;
-;	while ( yc-- )
-;	 { byte discard = *addr;
-;	   *addr = rop->data;
-;	   addr += rop->draster;
-;	 }
-; }
-	PUBLIC	_memsetcol
-_memsetcol proc	far
-	enterf
-	push	ds
-	mov	ax,ss
-	mov	ds,ax
-	mov	bx,[bx+x]			; rop
-	mov	cx,[bx].p_height
-	jcxz	msc0				; height == 0
-	mov	ax,[bx].p_data
-	mov	dx,[bx].p_draster
-	lds	bx,[bx].p_dest
-; Unroll the loop -- two copies.
-	inc	cx		;round up to nearest word.  cx>=2 now.
-	shr	cx,1		;make byte count into word count.
-	jnc	msc2		;if it had been odd, do a half word first.
-msc1:	mov	ah,[bx]
-	mov	[bx],al
-	add	bx,dx
-msc2:	mov	ah,[bx]
-	mov	[bx],al
-	add	bx,dx
-	loop	msc1
-	pop	ds
-msc0:	leavef
-	ret
-_memsetcol ENDP
-
-; void memsetrect(rop_params _ss *rop)
-; {	byte far *addr = rop->dest;
-;	int yc = rop->height;
-;	while ( yc-- )
-;	 { int cnt = rop->width;
-;	   while ( cnt-- ) *addr++ = rop->data;
-;	   addr += rop->drast - rop->width;
-;	 }
-; }
-	PUBLIC	_memsetrect
-_memsetrect proc	far
-	enterf
-	push	ds
-	mov	ax,ss
-	mov	ds,ax
-	mov	bx,[bx+x]			; rop
-	mov	cx,[bx].p_height
-	jcxz	msr0				; height == 0
-	push	si
-	push	di
-	mov	ax,[bx].p_data
-	les	di,[bx].p_dest
-	cld
-	mov	dx,[bx].p_draster
-	mov	si,cx				; si = height
-	mov	cx,[bx].p_width
-	sub	dx,cx
-	cmp	cx,10
-	ja	msrl				; large count, use fast loop
-; Small count, rep stosb is faster.
-msrs:	mov	cx,[bx].p_width
-	rep	stosb
-	add	di,dx
-	dec	si				; count reps
-	jnz	msrs
-	pop	di
-	pop	si
-msr0:	pop	ds
-	leavef
-	ret
-; Large count, loop by words rather than bytes.
-msrl:	mov	ah,al			;we may be storing words...
-msr1:	mov	cx,[bx].p_width
-	test	di,1			;test for an even address
-	je	msr2			;if even, we can store words.
-	stosb				;otherwise we need to even it out.
-	dec	cx			;(cx is at least one here)
-msr2:	shr	cx,1			;convert byte count into word count
-	rep	stosw			;store them puppies as fast as we can.
-	jnc	msr3			;if an odd number, store it, too.
-	stosb				;(no need to dec cx here).
-msr3:	add	di,dx
-	dec	si			; count reps
-	jnz	msr1
-	pop	di
-	pop	si
-	pop	ds
-	leavef
-	ret
-_memsetrect ENDP
-
-; void memrwcol(rop_params _ss *rop)
-; {	byte far *dp = rop->dest;
-;	const byte far *sp = rop->src;
-;	int yc = rop->height;
-;	int shift = rop->shift;
-;	while ( yc-- )
-;	 { byte discard = *dp;
-;	   *dp = ((*sp >> shift) + (*sp << (8 - shift))) ^ rop->invert;
-;	   dp += rop->draster, sp += rop->sraster;
-;	 }
-; }
-	PUBLIC	_memrwcol
-_memrwcol proc far
-	enterp
-	push	ds
-	mov	ax,ss
-	mov	ds,ax
-	mov	bx,[bp+x]			; rop
-	cmp	word ptr [bx].p_height,0
-	jz	short mrw0
-	push	si
-	push	di
-; Register usage:
-;   ds:si = sp, es:di = dp, bx = sraster, dx = draster, cl = shift,
-;   ch = invert, ah = low byte of yc.
-	push	[bx].p_height
-	mov	dx,[bx].p_draster
-	mov	ax,[bx].p_sraster
-	mov	cl,[bx].p_shift
-	mov	ch,[bx].p_invert
-	les	di,[bx].p_dest
-	lds	si,[bx].p_src
-	mov	bx,ax
-	mov	ah,[bp-8]			; low byte of yc
-	test	ah,ah
-	jz	mrw2
-mrw1:	mov	al,[si]
-	ror	al,cl
-	xor	al,ch
-	xchg	es:[di],al
-	add	si,bx
-	add	di,dx
-	dec	ah
-	jnz	mrw1
-mrw2:	dec	byte ptr [bp-7]			; high byte of yc
-	jge	mrw1
-	add	sp,2				; pop yc
-	pop	di
-	pop	si
-mrw0:	pop	ds
-	leavep
-	ret
-_memrwcol ENDP
-
-; void memrwcol2(rop_params _ss *rop)
-; {	byte far *dp = rop->dest;
-;	const byte far *sp = rop->src;
-;	int yc = rop->height;
-;	int shift = rop->shift;
-;	while ( yc-- )
-;	 { byte discard = *dp;
-;	   *dp = ((sp[1] >> shift) + (*sp << (8 - shift))) ^ rop->invert;
-;	   dp += rop->draster, sp += rop->sraster;
-;	 }
-; }
-	PUBLIC	_memrwcol2
-_memrwcol2 proc far
-	enterp
-	push	ds
-	mov	ax,ss
-	mov	ds,ax
-	mov	bx,[bp+x]			; rop
-	cmp	word ptr [bx].p_height,0
-	jz	short mrw20
-	push	si
-	push	di
-; Register usage:
-;   ds:si = sp, es:di = dp, bx = sraster, dx = draster, cl = shift,
-;   ch = invert.
-	push	[bx].p_height
-	mov	dx,[bx].p_draster
-	mov	ax,[bx].p_sraster
-	mov	cl,[bx].p_shift
-	mov	ch,[bx].p_invert
-	les	di,[bx].p_dest
-	lds	si,[bx].p_src
-	mov	bx,ax
-mrw21:	mov	ax,[si]				; bytes are in wrong order...
-	ror	ax,cl
-	xor	ah,ch				; ... so result is in ah
-	xchg	es:[di],ah
-	add	si,bx
-	add	di,dx
-	dec	word ptr [bp-8]			; yc
-	jg	mrw21
-	add	sp,2				; pop yc
-	pop	di
-	pop	si
-mrw20:	pop	ds
-	leavep
-	ret
-_memrwcol2 ENDP
-
-gdevegaasm_TEXT	ENDS
-	END

Modified: trunk/gs/src/gdevpcfb.c
===================================================================
--- trunk/gs/src/gdevpcfb.c	2007-12-31 06:31:19 UTC (rev 8467)
+++ trunk/gs/src/gdevpcfb.c	2007-12-31 18:07:59 UTC (rev 8468)
@@ -225,12 +225,8 @@
 
 /* Assembly language routines */
 
-#if USE_ASM
-void memsetcol(rop_ptr);	/* dest, draster, height, data */
-#else
-#define memsetcol cmemsetcol
 static void
-cmemsetcol(rop_ptr rop)
+memsetcol(rop_ptr rop)		/* dest, draster, height, data */
 {
     byte *addr = rop->dest;
     int yc = rop->height;
@@ -243,14 +239,9 @@
 	addr += draster;
     }
 }
-#endif
 
-#if USE_ASM
-void memsetrect(rop_ptr);	/* dest, draster, width, height, data */
-#else
-#define memsetrect cmemsetrect
 static void
-cmemsetrect(rop_ptr rop)
+memsetrect(rop_ptr rop)       /* dest, draster, width, height, data */
 {
     int yc = rop->height;
     int width = rop->width;
@@ -284,16 +275,10 @@
 	}
     }
 }
-#endif
 
-#if USE_ASM
-void memrwcol(rop_ptr);	/* dest, draster, src, sraster, height, shift, invert */
-#  define memrwcol0(rop) memrwcol(rop)	/* same except shift = 0 */
-#else
-#  define memrwcol cmemrwcol
-#  define memrwcol0 cmemrwcol0
 static void
-cmemrwcol(rop_ptr rop)
+memrwcol(rop_ptr rop)	/* dest, draster, src, sraster, height, shift, invert */
+
 {
     byte *dp = rop->dest;
     const byte *sp = rop->src;
@@ -309,7 +294,7 @@
     }
 }
 static void
-cmemrwcol0(rop_ptr rop)
+memrwcol0(rop_ptr rop)  /* same except shift = 0 */
 {
     byte *dp = rop->dest;
     const byte *sp = rop->src;
@@ -325,14 +310,9 @@
 	}
 	while (--yc);
 }
-#endif
 
-#if USE_ASM
-void memrwcol2(rop_ptr);	/* dest, draster, src, sraster, height, shift, invert */
-#else
-#define memrwcol2 cmemrwcol2
 static void
-cmemrwcol2(rop_ptr rop)
+memrwcol2(rop_ptr rop)	/* dest, draster, src, sraster, height, shift, invert */
 {
     byte *dp = rop->dest;
     const byte *sp = rop->src;
@@ -347,7 +327,6 @@
 	dp += draster, sp += sraster;
     }
 }
-#endif
 
 /* Forward definitions */
 int ega_write_dot(gx_device *, int, int, gx_color_index);

Modified: trunk/gs/src/gdevsvga.c
===================================================================
--- trunk/gs/src/gdevsvga.c	2007-12-31 06:31:19 UTC (rev 8467)
+++ trunk/gs/src/gdevsvga.c	2007-12-31 18:07:59 UTC (rev 8468)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2006 Artifex Software, Inc.
+/* Copyright (C) 2001-2007 Artifex Software, Inc.
    All Rights Reserved.
   
    This software is provided AS-IS with no warranty, either express or
@@ -748,22 +748,13 @@
 static void
 vesa_set_page(gx_device_svga * dev, int pn, int wnum)
 {
-#if USE_ASM
-    extern void vesa_call_set_page(void (*)(int, int), int, int);
+    registers regs;
 
-    if (dev->info.vesa.bios_set_page != NULL)
-	vesa_call_set_page(dev->info.vesa.bios_set_page, pn << dev->info.vesa.pn_shift, wnum);
-    else
-#endif
-    {
-	registers regs;
-
-	regs.rshort.dx = pn << dev->info.vesa.pn_shift;
-	regs.h.ah = 0x4f;
-	regs.h.al = 5;
-	regs.rshort.bx = wnum;
-	int86(0x10, &regs, &regs);
-    }
+    regs.rshort.dx = pn << dev->info.vesa.pn_shift;
+    regs.h.ah = 0x4f;
+    regs.h.al = 5;
+    regs.rshort.bx = wnum;
+    int86(0x10, &regs, &regs);
 }
 
 /* ------ The ATI Wonder device ------ */

Modified: trunk/gs/src/gsmisc.c
===================================================================
--- trunk/gs/src/gsmisc.c	2007-12-31 06:31:19 UTC (rev 8467)
+++ trunk/gs/src/gsmisc.c	2007-12-31 18:07:59 UTC (rev 8468)
@@ -606,7 +606,7 @@
 	 "\000\000\001\001\002\002\002\002\003\003\003\003\003\003\003\003"[m] + l);
 }
 
-#if defined(NEED_SET_FMUL2FIXED) && !USE_ASM
+#if defined(NEED_SET_FMUL2FIXED)
 
 /*
  * Floating multiply with fixed result, for avoiding floating point in

Modified: trunk/gs/src/gsutil.c
===================================================================
--- trunk/gs/src/gsutil.c	2007-12-31 06:31:19 UTC (rev 8467)
+++ trunk/gs/src/gsutil.c	2007-12-31 18:07:59 UTC (rev 8468)
@@ -17,7 +17,6 @@
 #include "string_.h"
 #include "memory_.h"
 #include "gstypes.h"
-#include "gconfigv.h"		/* for USE_ASM */
 #include "gserror.h"
 #include "gserrors.h"
 #include "gsmemory.h"		/* for init procedure */
@@ -44,8 +43,6 @@
 
 /* Transpose an 8 x 8 block of bits.  line_size is the raster of */
 /* the input data.  dist is the distance between output bytes. */
-/* This routine may be supplanted by assembly code. */
-#if !USE_ASM
 
 void
 memflip8x8(const byte * inp, int line_size, byte * outp, int dist)
@@ -116,8 +113,6 @@
     outp[dist] = (byte)(bdfh >> 8);
 }
 
-#endif /* !USE_ASM */
-
 /* Get an unsigned, big-endian 32-bit value. */
 ulong
 get_u32_msb(const byte *p)

Deleted: trunk/gs/src/iutilasm.asm
===================================================================
--- trunk/gs/src/iutilasm.asm	2007-12-31 06:31:19 UTC (rev 8467)
+++ trunk/gs/src/iutilasm.asm	2007-12-31 18:07:59 UTC (rev 8468)
@@ -1,692 +0,0 @@
-;  Copyright (C) 2001-2006 Artifex Software, Inc.
-;  All Rights Reserved.
-;
-;  This software is provided AS-IS with no warranty, either express or
-;  implied.
-;
-;  This software is distributed under license and may not be copied, modified
-;  or distributed except as expressly authorized under the terms of that
-;  license.  Refer to licensing information at http://www.artifex.com/
-;  or contact Artifex Software, Inc.,  7 Mt. Lassen Drive - Suite A-134,
-;  San Rafael, CA  94903, U.S.A., +1(415)492-9861, for further information.
-;
-; $Id$
-; iutilasm.asm
-; Assembly code for Ghostscript interpreter on MS-DOS systems
-
-	ifdef	FOR80386
-
-	.286c
-
-	endif
-
-utilasm_TEXT	SEGMENT	WORD PUBLIC 'CODE'
-	ASSUME	CS:utilasm_TEXT
-
-
-	ifdef	FOR80386
-
-; Macro for 32-bit operand prefix.
-OP32	macro
-	db	66h
-	endm
-
-	endif					; FOR80386
-
-; Clear a register
-
-clear	macro	reg
-	xor	reg,reg
-	endm
-
-
-	ifdef	FOR80386
-
-; Replace the multiply and divide routines in the Turbo C library
-; if we are running on an 80386.
-
-; Macro to swap the halves of a 32-bit register.
-; Unfortunately, masm won't allow a shift instruction with a count of 16,
-; so we have to code it in hex.
-swap	macro	regno
-	  OP32
-	db	0c1h,0c0h+regno,16		; rol regno,16
-	endm
-regax	equ	0
-regcx	equ	1
-regdx	equ	2
-regbx	equ	3
-
-
-; Multiply (dx,ax) by (cx,bx) to (dx,ax).
-	PUBLIC	LXMUL@
-	PUBLIC	F_LXMUL@
-F_LXMUL@ proc	far
-LXMUL@	proc	far
-	swap	regdx
-	mov	dx,ax
-	swap	regcx
-	mov	cx,bx
-	  OP32
-	db	0fh,0afh,0d1h			; imul dx,cx
-	  OP32
-	mov	ax,dx
-	swap	regdx
-	ret
-LXMUL@	endp
-F_LXMUL@ endp
-
-
-; Divide two stack operands, leave the result in (dx,ax).
-
-	ifdef	DEBUG
-
-setup32	macro
-	mov	bx,sp
-	push	bp
-	mov	bp,sp
-	  OP32
-	mov	ax,ss:[bx+4]			; dividend
-	endm
-
-ret32	macro	n
-	mov	sp,bp
-	pop	bp
-	ret	n
-	endm
-
-	else					; !DEBUG
-
-setup32	macro
-	mov	bx,sp
-	  OP32
-	mov	ax,ss:[bx+4]			; dividend
-	endm
-
-ret32	macro	n
-	ret	n
-	endm
-
-	endif					; (!)DEBUG
-
-	PUBLIC	LDIV@, LUDIV@, LMOD@, LUMOD@
-	PUBLIC	F_LDIV@, F_LUDIV@, F_LMOD@, F_LUMOD@
-F_LDIV@	proc	far
-LDIV@	proc	far
-	setup32
-	  OP32
-	cwd
-	  OP32
-	idiv	word ptr ss:[bx+8]		; divisor
-	  OP32
-	mov	dx,ax
-	swap	regdx
-	ret32	8
-LDIV@	endp
-F_LDIV@	endp
-F_LUDIV@ proc	far
-LUDIV@	proc	far
-	setup32
-	  OP32
-	xor	dx,dx
-	  OP32
-	div	word ptr ss:[bx+8]		; divisor
-	  OP32
-	mov	dx,ax
-	swap	regdx
-	ret32	8
-LUDIV@	endp
-F_LUDIV@ endp
-F_LMOD@	proc	far
-LMOD@	proc	far
-	setup32
-	  OP32
-	cwd
-	  OP32
-	idiv	word ptr ss:[bx+8]		; divisor
-	  OP32
-	mov	ax,dx
-	swap	regdx
-	ret32	8
-LMOD@	endp
-F_LMOD@	endp
-F_LUMOD@ proc	far
-LUMOD@	proc	far
-	setup32
-	  OP32
-	xor	dx,dx
-	  OP32
-	div	word ptr ss:[bx+8]		; divisor
-	  OP32
-	mov	ax,dx
-	swap	regdx
-	ret32	8
-LUMOD@	endp
-F_LUMOD@ endp
-
-	else					; !FOR80386
-
-; Replace the divide routines in the Turbo C library,
-; which do the division one bit at a time (!).
-
-	PUBLIC	LDIV@, LMOD@, LUDIV@, LUMOD@
-	PUBLIC	F_LDIV@, F_LMOD@, F_LUDIV@, F_LUMOD@
-
-; Negate a long on the stack.
-negbp	macro	offset
-	neg	word ptr [bp+offset+2]		; high part
-	neg	word ptr [bp+offset]		; low part
-	sbb	word ptr [bp+offset+2],0
-	endm
-
-; Negate a long in (dx,ax).
-negr	macro
-	neg	dx
-	neg	ax
-	sbb	dx,0
-	endm
-
-; Divide two unsigned longs on the stack.
-; Leave either the quotient or the remainder in (dx,ax).
-; Operand offsets assume that bp (and only bp) has been pushed.
-nlo	equ	6
-nhi	equ	8
-dlo	equ	10
-dhi	equ	12
-
-; We use an offset in bx to distinguish div from mod,
-; and to indicate whether the result should be negated.
-odiv	equ	0
-omod	equ	2
-odivneg	equ	4
-omodneg	equ	6
-F_LMOD@	proc	far
-LMOD@	proc	far
-	push	bp
-	mov	bp,sp
-	mov	bx,omod
-			; Take abs of denominator
-	cmp	byte ptr [bp+dhi+1],bh		; bh = 0
-	jge	modpd
-	negbp	dlo
-modpd:			; Negate mod if numerator < 0
-	cmp	byte ptr [bp+nhi+1],bh		; bh = 0
-	jge	udiv
-	mov	bx,omodneg
-negnum:	negbp	nlo
-	jmp	udiv
-LMOD@	endp
-F_LMOD@	endp
-F_LUMOD@ proc	far
-LUMOD@	proc	far
-	mov	bx,omod
-	jmp	udpush
-LUMOD@	endp
-F_LUMOD@ endp
-F_LDIV@	proc	far
-LDIV@	proc	far
-	push	bp
-	mov	bp,sp
-	mov	bx,odiv
-			; Negate quo if num^den < 0
-	mov	ax,[bp+nhi]
-	xor	ax,[bp+dhi]
-	jge	divabs
-	mov	bx,odivneg
-divabs:			; Take abs of denominator
-	cmp	byte ptr [bp+dhi+1],bh		; bh = 0
-	jge	divpd
-	negbp	dlo
-divpd:			; Take abs of numerator
-	cmp	byte ptr [bp+nhi+1],bh		; bh = 0
-	jge	udiv
-	jmp	negnum
-LDIV@	endp
-F_LDIV@	endp
-F_LUDIV@ proc	far
-LUDIV@	proc	far
-	mov	bx,odiv
-udpush:	push	bp
-	mov	bp,sp
-udiv:	push	bx				; odiv, omod, odivneg, omodneg
-	mov	ax,[bp+nlo]
-	mov	dx,[bp+nhi]
-	mov	bx,[bp+dlo]
-	mov	cx,[bp+dhi]
-; Now we are dividing dx:ax by cx:bx.
-; Check to see whether this is really a 32/16 division.
-	or	cx,cx
-	jnz	div2
-; 32/16, check for 16- vs. 32-bit quotient
-	cmp	dx,bx
-	jae	div1
-; 32/16 with 16-bit quotient, just do it.
-	div	bx				; ax = quo, dx = rem
-	pop	bx
-	pop	bp
-	jmp	cs:xx1[bx]
-	even
-xx1	dw	offset divx1
-	dw	offset modx1
-	dw	offset divx1neg
-	dw	offset modx1neg
-modx1:	mov	ax,dx
-divx1:	xor	dx,dx
-	ret	8
-modx1neg: mov	ax,dx
-divx1neg: xor	dx,dx
-rneg:	negr
-	ret	8
-; 32/16 with 32-bit quotient, do in 2 parts.
-div1:	mov	cx,ax				; save lo num
-	mov	ax,dx
-	xor	dx,dx
-	div	bx				; ax = hi quo
-	xchg	cx,ax				; save hi quo, get lo num
-	div	bx				; ax = lo quo, dx = rem
-	pop	bx
-	pop	bp
-	jmp	cs:xx1a[bx]
-	even
-xx1a	dw	offset divx1a
-	dw	offset modx1
-	dw	offset divx1aneg
-	dw	offset modx1neg
-divx1a:	mov	dx,cx				; hi quo
-	ret	8
-divx1aneg: mov	dx,cx
-	jmp	rneg
-; This is really a 32/32 bit division.
-; (Note that the quotient cannot exceed 16 bits.)
-; The following algorithm is taken from pp. 235-240 of Knuth, vol. 2
-; (first edition).
-; Start by normalizing the numerator and denominator.
-div2:	or	ch,ch
-	jz	div21				; ch == 0, but cl != 0
-; Do 8 steps all at once.
-	mov	bl,bh
-	mov	bh,cl
-	mov	cl,ch
-	xor	ch,ch
-	mov	al,ah
-	mov	ah,dl
-	mov	dl,dh
-	xor	dh,dh
-	rol	bx,1				; faster than jmp
-div2a:	rcr	bx,1				; finish previous shift
-div21:	shr	dx,1
-	rcr	ax,1
-	shr	cx,1
-	jnz	div2a
-	rcr	bx,1
-; Now we can do a 32/16 divide.
-div2x:	div	bx				; ax = quo, dx = rem
-; Multiply by the denominator, and correct the result.
-	mov	cx,ax				; save quotient
-	mul	word ptr [bp+dhi]
-	mov	bx,ax				; save lo part of hi product
-	mov	ax,cx
-	mul	word ptr [bp+dlo]
-	add	dx,bx
-; Now cx = trial quotient, (dx,ax) = cx * denominator.
-	not	dx
-	neg	ax
-	cmc
-	adc	dx,0				; double-precision neg
-	jc	divz				; zero quotient
-						; requires special handling
-	add	ax,[bp+nlo]
-	adc	dx,[bp+nhi]
-	jc	divx
-; Quotient is too large, adjust it.
-div3:	dec	cx
-	add	ax,[bp+dlo]
-	adc	dx,[bp+dhi]
-	jnc	div3
-; All done.  (dx,ax) = remainder, cx = lo quotient.
-divx:	pop	bx
-	pop	bp
-	jmp	cs:xx3[bx]
-	even
-xx3	dw	offset divx3
-	dw	offset modx3
-	dw	offset divx3neg
-	dw	offset modx3neg
-divx3:	mov	ax,cx
-	xor	dx,dx
-modx3:	ret	8
-divx3neg: mov	ax,cx
-	xor	dx,dx
-modx3neg: jmp	rneg
-; Handle zero quotient specially.
-divz:	pop	bx
-	jmp	cs:xxz[bx]
-	even
-xxz	dw	offset divxz
-	dw	offset modxz
-	dw	offset divxz
-	dw	offset modxzneg
-divxz:	pop	bp
-	ret	8
-modxzneg: negbp	nlo
-modxz:	mov	ax,[bp+nlo]
-	mov	dx,[bp+nhi]
-	pop	bp
-	ret	8
-LUDIV@	endp
-F_LUDIV@ endp
-
-	endif					; FOR80386
-
-
-	ifdef	NOFPU
-
-; See gsmisc.c for the C version of this code.
-
-; /*
-;  * Floating multiply with fixed result, for avoiding floating point in
-;  * common coordinate transformations.  Assumes IEEE representation,
-;  * 16-bit short, 32-bit long.  Optimized for the case where the first
-;  * operand has no more than 16 mantissa bits, e.g., where it is a user space
-;  * coordinate (which are often integers).
-;  *
-;  * The assembly language version of this code is actually faster than
-;  * the FPU, if the code is compiled with FPU_TYPE=0 (which requires taking
-;  * a trap on every FPU operation).  If there is no FPU, the assembly
-;  * language version of this code is over 10 times as fast as the
-;  * emulated FPU.
-;  */
-; fixed
-; fmul2fixed_(long /*float*/ a, long /*float*/ b)
-; {
-
-	PUBLIC	_fmul2fixed_
-_fmul2fixed_ proc far
-	push	bp
-	mov	bp,sp
-a	equ	6
-alo	equ	a
-ahi	equ	a+2
-b	equ	10
-blo	equ	b
-bhi	equ	b+2
-	push	si		; will hold ma
-	push	di		; will hold mb
-
-; 	int e = 260 + _fixed_shift - ((
-; 		(((uint)(a >> 16)) & 0x7f80) + (((uint)(b >> 16)) & 0x7f80)
-; 	  ) >> 7);
-
-	mov	dx,[bp+ahi]
-; dfmul2fixed enters here
-fmf:	mov	cx,260+12
-	mov	ax,[bp+bhi]
-	and	ax,7f80h
-	and	dx,7f80h
-	add	ax,dx
-	xchg	ah,al		; ror ax,7 without using cl
-	rol	ax,1
-	sub	cx,ax
-	push	cx		; e
-
-; 	ulong ma = (ushort)(a >> 8) | 0x8000;
-; 	ulong mb = (ushort)(b >> 8) | 0x8000;
-
-	mov	si,[bp+alo+1]	; unaligned
-	clear	ax
-	mov	di,[bp+blo+1]	; unaligned
-	or	si,8000h
-	or	di,8000h
-
-; 	ulong p1 = ma * (b & 0xff);
-
-	mov	al,[bp+blo]
-	mul	si
-
-;			(Do this later:)
-; 	ulong p = ma * mb;
-
-; 	if ( (byte)a )		/* >16 mantissa bits */
-
-	cmp	byte ptr [bp+alo],0
-	je	mshort
-
-; 	{	ulong p2 = (a & 0xff) * mb;
-; 		p += ((((uint)(byte)a * (uint)(byte)b) >> 8) + p1 + p2) >> 8;
-
-	mov	cx,dx
-	mov	bx,ax
-	clear	ax
-	mov	al,[bp+alo]
-	clear	dx
-	mov	dl,[bp+blo]
-	mul	dx
-	mov	dl,ah		; dx is zero
-	add	bx,cx
-	adc	cx,0
-	clear	ax
-	mov	al,[bp+alo]
-	mul	di
-	add	ax,bx
-	adc	dx,cx
-
-; 	}
-
-mshort:
-
-; 	else
-; 		p += p1 >> 8;
-
-	mov	bl,ah		; set (cx,bx) = (dx,ax) >> 8
-	mov	bh,dl
-	clear	cx
-	mov	cl,dh
-	mov	ax,si
-	mul	di
-	add	ax,bx
-	adc	dx,cx
-
-; 	if ( (uint)e < 32 )		/* e = -1 is possible */
-
-	pop	cx		; e
-	cmp	cx,16
-	jb	shr1
-
-; 	else if ( e >= 32 )		/* also detects a=0 or b=0 */
-
-	cmp	cx,0
-	jl	eneg
-	sub	cx,16
-	cmp	cx,16
-	jge	shr0
-	mov	ax,dx
-	clear	dx
-	shr	ax,cl
-	jmp	ex
-
-; 		return fixed_0;
-
-shr0:	clear	ax
-	clear	dx
-	jmp	ex
-
-; 	else
-; 		p <<= -e;
-
-	even
-eneg:	neg	cx
-	shl	dx,cl
-	mov	bx,ax
-	shl	ax,cl
-	rol	bx,cl
-	xor	bx,ax
-	add	dx,bx
-	jmp	ex
-
-; 		p >>= e;
-
-	even
-shr1:	shr	ax,cl
-	mov	bx,dx
-	shr	dx,cl
-	ror	bx,cl
-	xor	bx,dx
-	add	ax,bx
-
-ex:
-
-; 	return ((a ^ b) < 0 ? -p : p);
-
-	mov	cx,[bp+ahi]
-	xor	cx,[bp+bhi]
-	jge	pos
-	neg	dx
-	neg	ax
-	sbb	dx,0
-pos:
-
-; }
-
-retu:	pop	di
-	pop	si
-	mov	sp,bp
-	pop	bp
-	ret
-
-_fmul2fixed_ ENDP
-
-; The same routine with the first argument a double rather than a float.
-; The argument is split into two pieces to reduce data movement.
-
-	PUBLIC	_dfmul2fixed_
-_dfmul2fixed_ proc far
-	push	bp
-	mov	bp,sp
-xalo	equ	6
-;b	equ	10
-xahi	equ	14
-	push	si		; overlap this below
-	push	di		; ditto
-
-; Shuffle the arguments and then use fmul2fixed.
-
-; Squeeze 3 exponent bits out of the top 35 bits of a.
-
-	mov	dx,[bp+xahi+2]
-	mov	bx,0c000h
-	mov	ax,[bp+xahi]
-	and	bx,dx
-	mov	cx,[bp+xalo+2]
-	and	dx,7ffh		; get rid of discarded bits
-	add	cx,cx		; faster than shl!
-	jz	cz		; detect common case
-	adc	ax,ax		; faster than rcl!
-	adc	dx,dx
-	add	cx,cx
-	adc	ax,ax
-	adc	dx,dx
-	add	cx,cx
-	adc	ax,ax
-	mov	[bp+alo],ax
-	adc	dx,dx
-	or	dx,bx
-	mov	[bp+ahi],dx
-	jmp	fmf
-	even
-cz:	adc	ax,ax
-	adc	dx,dx
-	add	ax,ax
-	adc	dx,dx
-	add	ax,ax
-	mov	[bp+alo],ax
-	adc	dx,dx
-	or	dx,bx
-	mov	[bp+ahi],dx
-	jmp	fmf
-
-_dfmul2fixed_ ENDP
-
-	endif					; NOFPU
-
-
-; Transpose an 8x8 bit matrix.  See gsmisc.c for the algorithm in C.
-	PUBLIC	_memflip8x8
-_memflip8x8 proc far
-	push	ds
-	push	si
-	push	di
-		; After pushing, the offsets of the parameters are:
-		; byte *inp=10, int line_size=14, byte *outp=16, int dist=20.
-	mov	si,sp
-	mov	di,ss:[si+14]			; line_size
-	lds	si,ss:[si+10]			; inp
-		; We assign variables to registers as follows:
-		; ax = AE, bx = BF, cx (or di) = CG, dx = DH.
-		; Load the input data.  Initially we assign
-		; ax = AB, bx = EF, cx (or di) = CD, dx = GH.
-	mov	ah,[si]
-iload	macro	reg
-	add	si,di
-	mov	reg,[si]
-	endm
-	iload	al
-	iload	ch
-	iload	cl
-	iload	bh
-	iload	bl
-	iload	dh
-	iload	dl
-		; Transposition macro, see C code for explanation.
-trans	macro	reg1,reg2,shift,mask
-	mov	si,reg1
-	shr	si,shift
-	xor	si,reg2
-	and	si,mask
-	xor	reg2,si
-	shl	si,shift
-	xor	reg1,si
-	endm
-		; Do 4x4 transpositions
-	mov	di,cx			; we need cl for the shift count
-	mov	cl,4
-	trans	bx,ax,cl,0f0fh
-	trans	dx,di,cl,0f0fh
-		; Swap B/E, D/G
-	xchg	al,bh
-	mov	cx,di
-	xchg	cl,dh
-		; Do 2x2 transpositions
-	mov	di,cx				; need cl again
-	mov	cl,2
-	trans	di,ax,cl,3333h
-	trans	dx,bx,cl,3333h
-	mov	cx,di				; done shifting >1
-		; Do 1x1 transpositions
-	trans	bx,ax,1,5555h
-	trans	dx,cx,1,5555h
-		; Store result
-	mov	si,sp
-	mov	di,ss:[si+20]			; dist
-	lds	si,ss:[si+16]			; outp
-	mov	[si],ah
-istore	macro	reg
-	add	si,di
-	mov	[si],reg
-	endm
-	istore	bh
-	istore	ch
-	istore	dh
-	istore	al
-	istore	bl
-	istore	cl
-	istore	dl
-		; All done
-	pop	di
-	pop	si
-	pop	ds
-	ret
-_memflip8x8 ENDP
-
-
-utilasm_TEXT ENDS
-	END

Modified: trunk/gs/src/lib.mak
===================================================================
--- trunk/gs/src/lib.mak	2007-12-31 06:31:19 UTC (rev 8467)
+++ trunk/gs/src/lib.mak	2007-12-31 18:07:59 UTC (rev 8468)
@@ -269,7 +269,7 @@
 	$(GLCC) $(GLO_)gsserial.$(OBJ) $(C_) $(GLSRC)gsserial.c
 
 $(GLOBJ)gsutil.$(OBJ) : $(GLSRC)gsutil.c $(AK) $(memory__h) $(string__h)\
- $(gstypes_h) $(gconfigv_h) $(gserror_h) $(gserrors_h) $(gsmemory_h)\
+ $(gstypes_h) $(gserror_h) $(gserrors_h) $(gsmemory_h)\
  $(gsrect_h) $(gsuid_h) $(gsutil_h) $(gzstate_h) $(gxdcolor_h)
 	$(GLCC) $(GLO_)gsutil.$(OBJ) $(C_) $(GLSRC)gsutil.c
 

Modified: trunk/gs/src/msvc32.mak
===================================================================
--- trunk/gs/src/msvc32.mak	2007-12-31 06:31:19 UTC (rev 8467)
+++ trunk/gs/src/msvc32.mak	2007-12-31 18:07:59 UTC (rev 8468)
@@ -763,7 +763,7 @@
 # The big DLL
 $(GSDLL_DLL): $(GS_ALL) $(DEVS_ALL) $(GSDLL_OBJS) $(GSDLL_OBJ).res $(PSGEN)lib32.rsp
 	echo /DLL /DEF:$(PSSRCDIR)\gsdll32.def /OUT:$(GSDLL_DLL) > $(PSGEN)gswin32.rsp
-	$(LINK) $(LCT) @$(PSGEN)gswin32.rsp $(GSDLL_OBJS) @$(ld_tr) $(INTASM) @$(PSGEN)lib32.rsp $(LINKLIBPATH) @$(LIBCTR) $(GSDLL_OBJ).res
+	$(LINK) $(LCT) @$(PSGEN)gswin32.rsp $(GSDLL_OBJS) @$(ld_tr) @$(PSGEN)lib32.rsp $(LINKLIBPATH) @$(LIBCTR) $(GSDLL_OBJ).res
 	del $(PSGEN)gswin32.rsp
 
 !else
@@ -776,7 +776,7 @@
 	echo $(GLOBJ)dwtext.obj >> $(PSGEN)gswin32.tr
 	echo $(GLOBJ)dwreg.obj >> $(PSGEN)gswin32.tr
 	echo /DEF:$(PSSRCDIR)\dwmain32.def /OUT:$(GS_XE) > $(PSGEN)gswin32.rsp
-	$(LINK) $(LCT) @$(PSGEN)gswin32.rsp $(GLOBJ)gsdll @$(PSGEN)gswin32.tr $(LINKLIBPATH) @$(LIBCTR) $(INTASM) @$(PSGEN)lib32.rsp $(GSDLL_OBJ).res $(DWTRACE)
+	$(LINK) $(LCT) @$(PSGEN)gswin32.rsp $(GLOBJ)gsdll @$(PSGEN)gswin32.tr $(LINKLIBPATH) @$(LIBCTR) @$(PSGEN)lib32.rsp $(GSDLL_OBJ).res $(DWTRACE)
 	del $(PSGEN)gswin32.tr
 	del $(PSGEN)gswin32.rsp
 
@@ -789,7 +789,7 @@
 	echo $(PSOBJ)dwreg.obj >> $(PSGEN)gswin32c.tr
 	echo /SUBSYSTEM:CONSOLE > $(PSGEN)gswin32.rsp
 	echo /DEF:$(PSSRCDIR)\dw32c.def /OUT:$(GSCONSOLE_XE) >> $(PSGEN)gswin32.rsp
-	$(LINK) $(LCT) @$(PSGEN)gswin32.rsp $(GLOBJ)gsdll @$(PSGEN)gswin32c.tr $(LINKLIBPATH) @$(LIBCTR) $(INTASM) @$(PSGEN)lib32.rsp $(GS_OBJ).res $(DWTRACE)
+	$(LINK) $(LCT) @$(PSGEN)gswin32.rsp $(GLOBJ)gsdll @$(PSGEN)gswin32c.tr $(LINKLIBPATH) @$(LIBCTR) @$(PSGEN)lib32.rsp $(GS_OBJ).res $(DWTRACE)
 	del $(PSGEN)gswin32.rsp
 	del $(PSGEN)gswin32c.tr
 !endif

Modified: trunk/gs/src/msvccmd.mak
===================================================================
--- trunk/gs/src/msvccmd.mak	2007-12-31 06:31:19 UTC (rev 8467)
+++ trunk/gs/src/msvccmd.mak	2007-12-31 18:07:59 UTC (rev 8468)
@@ -65,9 +65,6 @@
 
 PLATOPT=
 
-INTASM=
-PCFBASM=
-
 # Make sure we get the right default target for make.
 
 dosdefault: default

Modified: trunk/gs/src/msvclib.mak
===================================================================
--- trunk/gs/src/msvclib.mak	2007-12-31 06:31:19 UTC (rev 8467)
+++ trunk/gs/src/msvclib.mak	2007-12-31 18:07:59 UTC (rev 8468)
@@ -513,6 +513,6 @@
 	echo $(GLOBJ)gscdefs.obj >> $(GLGENDIR)\gslib32.tr
 	echo  /SUBSYSTEM:CONSOLE > $(GLGENDIR)\gslib32.rsp
 	echo  /OUT:$(GS_XE) >> $(GLGENDIR)\gslib32.rsp
-	$(LINK) $(LCT) @$(GLGENDIR)\gslib32.rsp $(GLOBJ)gslib @$(GLGENDIR)\gslib32.tr @$(LIBCTR) $(INTASM)
+	$(LINK) $(LCT) @$(GLGENDIR)\gslib32.rsp $(GLOBJ)gslib @$(GLGENDIR)\gslib32.tr @$(LIBCTR)
 	-del $(GLGENDIR)\gslib32.rsp
 	-del $(GLGENDIR)\gslib32.tr

Modified: trunk/gs/src/openvms.mak
===================================================================
--- trunk/gs/src/openvms.mak	2007-12-31 06:31:19 UTC (rev 8467)
+++ trunk/gs/src/openvms.mak	2007-12-31 18:07:59 UTC (rev 8468)
@@ -310,11 +310,6 @@
 
 PLATOPT=
 
-# Patch a couple of PC-specific things that aren't relevant to OpenVMS builds,
-# but that cause `make' to produce warnings.
-
-PCFBASM=
-
 # It is very unlikely that anyone would want to edit the remaining
 #   symbols, but we describe them here for completeness:
 
@@ -556,7 +551,6 @@
 	$(EXP)$(ECHOGS_XE) -w $(gconfig__h) -x 23 define "HAVE_SYS_TIME_H"
 
 $(gconfigv_h) : $(TOP_MAKEFILES) $(ECHOGS_XE)
-	$(EXP)$(ECHOGS_XE) -w $(gconfigv_h) -x 23 define "USE_ASM" 0
 	$(EXP)$(ECHOGS_XE) -a $(gconfigv_h) -x 23 define "USE_FPU" 1
 	$(EXP)$(ECHOGS_XE) -a $(gconfigv_h) -x 23 define "EXTEND_NAMES" 0$(EXTEND_NAMES)
 	$(EXP)$(ECHOGS_XE) -a $(gconfigv_h) -x 23 define "SYSTEM_CONSTANTS_ARE_WRITABLE" 0$(SYSTEM_CONSTANTS_ARE_WRITABLE)

Modified: trunk/gs/src/openvms.mmk
===================================================================
--- trunk/gs/src/openvms.mmk	2007-12-31 06:31:19 UTC (rev 8467)
+++ trunk/gs/src/openvms.mmk	2007-12-31 18:07:59 UTC (rev 8468)
@@ -327,11 +327,6 @@
 
 PLATOPT=
 
-# Patch a couple of PC-specific things that aren't relevant to OpenVMS builds,
-# but that cause `make' to produce warnings.
-
-PCFBASM=
-
 # It is very unlikely that anyone would want to edit the remaining
 #   symbols, but we describe them here for completeness:
 
@@ -564,7 +559,6 @@
 	$(EXP)$(ECHOGS_XE) -w $(gconfig__h) -x 23 define "HAVE_SYS_TIME_H"
 
 $(gconfigv_h) : $(TOP_MAKEFILES) $(ECHOGS_XE)
-	$(EXP)$(ECHOGS_XE) -w $(gconfigv_h) -x 23 define "USE_ASM" 0
 	$(EXP)$(ECHOGS_XE) -a $(gconfigv_h) -x 23 define "USE_FPU" 1
 	$(EXP)$(ECHOGS_XE) -a $(gconfigv_h) -x 23 define "EXTEND_NAMES" 0$(EXTEND_NAMES)
 	$(EXP)$(ECHOGS_XE) -a $(gconfigv_h) -x 23 define "SYSTEM_CONSTANTS_ARE_WRITABLE" 0$(SYSTEM_CONSTANTS_ARE_WRITABLE)

Modified: trunk/gs/src/os2.mak
===================================================================
--- trunk/gs/src/os2.mak	2007-12-31 06:31:19 UTC (rev 8467)
+++ trunk/gs/src/os2.mak	2007-12-31 18:07:59 UTC (rev 8468)
@@ -180,13 +180,6 @@
 
 # ------ Platform-specific options ------ #
 
-# If you don't have an assembler, set USE_ASM=0.  Otherwise, set USE_ASM=1,
-# and set ASM to the name of the assembler you are using.  This can be
-# a full path name if you want.  Normally it will be masm or tasm.
-
-USE_ASM=0
-ASM= 
-
 # Define the drive, directory, and compiler name for the EMX files.
 # COMP is the compiler name (gcc)
 # COMPDIR contains the compiler and linker (normally \emx\bin).
@@ -345,36 +338,13 @@
 # Define the generic compilation flags.
 
 !if $(CPU_TYPE) >= 486
-ASMCPU=/DFOR80386 /DFOR80486
 PLATOPT=-DFOR80386 -DFOR80486
 !else
 !if $(CPU_TYPE) >= 386
-ASMCPU=/DFOR80386
 PLATOPT=-DFOR80386
 !endif
 !endif
 
-!if $(FPU_TYPE) > 0
-ASMFPU=/DFORFPU
-!else
-ASMFPU=
-!endif
-
-!if $(USE_ASM)
-INTASM=iutilasm.$(OBJ)
-PCFBASM=gdevegaa.$(OBJ)
-!else
-INTASM=
-PCFBASM=
-!endif
-
-# Define the generic compilation rules.
-
-ASMFLAGS=$(ASMCPU) $(ASMFPU) $(ASMDEBUG)
-
-.asm.o:
-	$(ASM) $(ASMFLAGS) $<;
-
 # ---------------------- MS-DOS I/O debugging option ---------------------- #
 
 dosio_=$(PSOBJ)zdosio.$(OBJ)
@@ -388,12 +358,6 @@
 $(PSOBJ)zdosio.$(OBJ): $(PSSRC)zdosio.c $(OP) $(store_h)
 	$(PSCC) $(PSO_)zdosio.$(OBJ) $(C_) $(PSSRC)zdosio.c
 
-# ----------------------------- Assembly code ----------------------------- #
-
-$(PSOBJ)iutilasm.$(OBJ): $(PSSRC)iutilasm.asm
-
-#################  END
-
 # Define the compilation flags.
 
 !if $(DEBUG)
@@ -637,7 +601,6 @@
 	$(ECHOGS_XE) -w $(gconfig__h) /* This file deliberately left blank. */
 
 $(gconfigv_h): $(PSSRCDIR)\os2.mak $(TOP_MAKEFILES) $(ECHOGS_XE)
-	$(ECHOGS_XE) -w $(gconfigv_h) -x 23 define USE_ASM -x 2028 -q $(USE_ASM)-0 -x 29
 	$(ECHOGS_XE) -a $(gconfigv_h) -x 23 define USE_FPU -x 2028 -q $(FPU_TYPE)-0 -x 29
 	$(ECHOGS_XE) -a $(gconfigv_h) -x 23 define EXTEND_NAMES 0$(EXTEND_NAMES)
 	$(ECHOGS_XE) -a $(gconfigv_h) -x 23 define SYSTEM_CONSTANTS_ARE_WRITABLE 0$(SYSTEM_CONSTANTS_ARE_WRITABLE)
@@ -656,7 +619,7 @@
 
 !if $(MAKEDLL)
 #making a DLL
-GS_ALL=$(PSOBJ)gsdll.$(OBJ) $(INT_ALL) $(INTASM)\
+GS_ALL=$(PSOBJ)gsdll.$(OBJ) $(INT_ALL) \
   $(LIB_ALL) $(LIBCTR) $(ld_tr) $(PSOBJ)$(GS).res $(ICONS)
 
 $(GS_XE): $(BINDIR)\$(GSDLL).dll $(PSSRC)dpmain.c $(gsdll_h) $(gsdllos2_h) $(PSSRC)gsos2.rc $(GLOBJ)gscdefs.$(OBJ)
@@ -681,11 +644,11 @@
 
 !else
 #making an EXE
-GS_ALL=$(PSOBJ)gs.$(OBJ) $(INT_ALL) $(INTASM)\
+GS_ALL=$(PSOBJ)gs.$(OBJ) $(INT_ALL) \
   $(LIB_ALL) $(LIBCTR) $(ld_tr) $(PSOBJ)$(GS).res $(ICONS)
 
 $(GS_XE): $(GS_ALL) $(ALL_DEVS)
-	$(COMPDIR)\$(COMP) $(CGDB) I$(PSSRCDIR) -I$(GLSRCDIR) -o $(PSOBJ)$(GS) $(PSOBJ)gs.$(OBJ) @$(ld_tr) $(INTASM) -lm
+	$(COMPDIR)\$(COMP) $(CGDB) I$(PSSRCDIR) -I$(GLSRCDIR) -o $(PSOBJ)$(GS) $(PSOBJ)gs.$(OBJ) @$(ld_tr) -lm
 	$(COMPDIR)\emxbind -r$(PSOBJ)$(GS).res $(COMPDIR)\emxl.exe $(PSOBJ)$(GS) $(GS_XE) -ac
 	del $(PSOBJ)$(GS)
 !endif

Modified: trunk/gs/src/unix-end.mak
===================================================================
--- trunk/gs/src/unix-end.mak	2007-12-31 06:31:19 UTC (rev 8467)
+++ trunk/gs/src/unix-end.mak	2007-12-31 18:07:59 UTC (rev 8468)
@@ -64,7 +64,6 @@
 # The rule for gconfigv.h is here because it is shared between Unix and
 # DV/X environments.
 $(gconfigv_h): $(GLSRC)unix-end.mak $(TOP_MAKEFILES) $(ECHOGS_XE)
-	$(ECHOGS_XE) -w $(gconfigv_h) -x 23 define USE_ASM -x 2028 -q $(USE_ASM)-0 -x 29
 	$(ECHOGS_XE) -a $(gconfigv_h) -x 23 define USE_FPU -x 2028 -q $(FPU_TYPE)-0 -x 29
 	$(ECHOGS_XE) -a $(gconfigv_h) -x 23 define EXTEND_NAMES 0$(EXTEND_NAMES)
 	$(ECHOGS_XE) -a $(gconfigv_h) -x 23 define SYSTEM_CONSTANTS_ARE_WRITABLE 0$(SYSTEM_CONSTANTS_ARE_WRITABLE)

Modified: trunk/gs/src/unixhead.mak
===================================================================
--- trunk/gs/src/unixhead.mak	2007-12-31 06:31:19 UTC (rev 8467)
+++ trunk/gs/src/unixhead.mak	2007-12-31 18:07:59 UTC (rev 8468)
@@ -70,11 +70,6 @@
 
 BEGINFILES=
 
-# Patch a couple of PC-specific things that aren't relevant to Unix builds,
-# but that cause `make' to produce warnings.
-
-PCFBASM=
-
 # Define the default build rule, so the object directories get created
 # automatically.
 

Modified: trunk/gs/src/watcw32.mak
===================================================================
--- trunk/gs/src/watcw32.mak	2007-12-31 06:31:19 UTC (rev 8467)
+++ trunk/gs/src/watcw32.mak	2007-12-31 18:07:59 UTC (rev 8468)
@@ -288,9 +288,6 @@
 
 PLATOPT=
 
-INTASM=
-PCFBASM=
-
 # Make sure we get the right default target for make.
 
 dosdefault: default

Modified: trunk/gs/src/wccommon.mak
===================================================================
--- trunk/gs/src/wccommon.mak	2007-12-31 06:31:19 UTC (rev 8467)
+++ trunk/gs/src/wccommon.mak	2007-12-31 18:07:59 UTC (rev 8468)
@@ -24,8 +24,7 @@
 #   Configuration, internal, generic:
 #	PLATFORM, MAKEFILE, AK, CC*, DEBUG, CP_, RM_, RMN_
 #   Configuration, internal, specific to DOS/Windows:
-#	TDEBUG, USE_ASM, ASM,
-#	COMPDIR, LIBPATHS,
+#	TDEBUG, COMPDIR, LIBPATHS,
 #	CPU_TYPE, FPU_TYPE
 
 # We want Unix-compatible behavior.  This is part of it.
@@ -176,14 +175,6 @@
 !endif
 !endif
 
-INTASM=
-PCFBASM=
-
-# Define the generic compilation rules.
-
-.asm.obj:
-	$(ASM) $(ASMFLAGS) $<;
-
 # Make sure we get the right default target for make.
 
 dosdefault: default

Modified: trunk/gs/src/wctail.mak
===================================================================
--- trunk/gs/src/wctail.mak	2007-12-31 06:31:19 UTC (rev 8467)
+++ trunk/gs/src/wctail.mak	2007-12-31 18:07:59 UTC (rev 8468)
@@ -85,7 +85,6 @@
 	echo /* This file deliberately left blank. */ >$(gconfig__h)
 
 $(gconfigv_h): $(WCTAIL_MAK) $(TOP_MAKEFILES) $(ECHOGS_XE)
-	$(ECHOGS_XE) -w $(gconfigv_h) -x 23 define USE_ASM -x 2028 -q $(USE_ASM)-0 -x 29
 	$(ECHOGS_XE) -a $(gconfigv_h) -x 23 define USE_FPU -x 2028 -q $(FPU_TYPE)-0 -x 29
 	$(ECHOGS_XE) -a $(gconfigv_h) -x 23 define EXTEND_NAMES 0$(EXTEND_NAMES)
 	$(ECHOGS_XE) -a $(gconfigv_h) -x 23 define SYSTEM_CONSTANTS_ARE_WRITABLE 0$(SYSTEM_CONSTANTS_ARE_WRITABLE)

Modified: trunk/gs/src/winint.mak
===================================================================
--- trunk/gs/src/winint.mak	2007-12-31 06:31:19 UTC (rev 8467)
+++ trunk/gs/src/winint.mak	2007-12-31 18:07:59 UTC (rev 8468)
@@ -74,7 +74,7 @@
 
 ICONS=$(GLGEN)gswin.ico $(GLGEN)gswin16.ico
 
-GS_ALL=$(INT_ALL) $(INTASM)\
+GS_ALL=$(INT_ALL)\
   $(LIB_ALL) $(LIBCTR) $(ld_tr) $(GSDLL_OBJ).res $(PSSRC)$(GSDLL).def $(ICONS)
 
 dwdll_h=$(PSSRC)dwdll.h

Modified: trunk/gs/src/winlib.mak
===================================================================
--- trunk/gs/src/winlib.mak	2007-12-31 06:31:19 UTC (rev 8467)
+++ trunk/gs/src/winlib.mak	2007-12-31 18:07:59 UTC (rev 8468)
@@ -71,9 +71,6 @@
 
 PLATOPT=
 
-INTASM=
-PCFBASM=
-
 # Define conditinal name for UFST bridge :
 !ifdef UFST_ROOT
 UFST_BRIDGE = 1
@@ -133,7 +130,6 @@
 	$(ECHOGS_XE) -w $(gconfig__h) -x 2f2a20 This file deliberately left blank. -x 2a2f
 
 $(gconfigv_h): $(TOP_MAKEFILES) $(ECHOGS_XE)
-	$(ECHOGS_XE) -w $(gconfigv_h) -x 23 define USE_ASM -x 2028 -q $(USE_ASM)-0 -x 29
 	$(ECHOGS_XE) -a $(gconfigv_h) -x 23 define USE_FPU -x 2028 -q $(FPU_TYPE)-0 -x 29
 	$(ECHOGS_XE) -a $(gconfigv_h) -x 23 define EXTEND_NAMES 0$(EXTEND_NAMES)
 	$(ECHOGS_XE) -a $(gconfigv_h) -x 23 define SYSTEM_CONSTANTS_ARE_WRITABLE 0$(SYSTEM_CONSTANTS_ARE_WRITABLE)



More information about the gs-cvs mailing list