[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, ®s, ®s);
- }
+ regs.rshort.dx = pn << dev->info.vesa.pn_shift;
+ regs.h.ah = 0x4f;
+ regs.h.al = 5;
+ regs.rshort.bx = wnum;
+ int86(0x10, ®s, ®s);
}
/* ------ 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