From b44fb7b4d9346b38247fae63f653a133f7cb02c4 Mon Sep 17 00:00:00 2001 From: John Tsiombikas Date: Mon, 26 Sep 2016 01:46:54 +0300 Subject: [PATCH] fixed the openwatcom compatibility issue produced by OW wasm emitting leading underscores in front of public symbols. --- .gitignore | 1 + Makefile | 10 ++++++---- libs/oldmik/Makefile | 16 +++++++++++----- libs/oldmik/src/resample.asm | 4 ++++ libs/oldmik/src/virtch.c | 5 +++++ 5 files changed, 27 insertions(+), 9 deletions(-) diff --git a/.gitignore b/.gitignore index 1960daf..4b4c87a 100644 --- a/.gitignore +++ b/.gitignore @@ -29,3 +29,4 @@ data *.MAP *.CFG *.cfg +*.$$$ diff --git a/Makefile b/Makefile index e13b685..361a2f2 100644 --- a/Makefile +++ b/Makefile @@ -14,9 +14,11 @@ dbg = -d1 !ifdef __UNIX__ incpath = -Isrc -Isrc/dos -Ilibs/imago/src -Ilibs/oldmik/src libpath = libpath libs/imago libpath libs/oldmik +RM = rm -f !else incpath = -Isrc -Isrc\dos -Ilibs\imago\src -Ilibs\oldmik\src libpath = libpath libs\imago libpath libs\oldmik +RM = del !endif AS = nasm @@ -53,7 +55,7 @@ cxxflags.occ: Makefile $(AS) $(ASFLAGS) -o $@ $[*.asm clean: .symbolic - del *.obj - del *.occ - del *.lnk - del $(bin) + $(RM) *.obj + $(RM) *.occ + $(RM) *.lnk + $(RM) $(bin) diff --git a/libs/oldmik/Makefile b/libs/oldmik/Makefile index c0b72de..72eaa2f 100644 --- a/libs/oldmik/Makefile +++ b/libs/oldmik/Makefile @@ -10,10 +10,16 @@ alib = mikmod.lib opt = -5 -oxl+ #dbg = -d1 +!ifdef __UNIX__ +RM = rm -f +!else +RM = del +!endif + CC = wcc386 AS = wasm CFLAGS = $(dbg) $(opt) -zq -zu -j -s -bt=dos -Isrc -ASFLAGS = -zq -5pr +ASFLAGS = -zq -5pr -bt=dos $(alib): cflags.occ $(obj) %write objects.lbc $(obj) @@ -32,7 +38,7 @@ cflags.occ: Makefile $(AS) -fo=$@ $(ASFLAGS) $[* clean: .symbolic - del *.obj - del *.occ - del *.lbc - del $(alib) + $(RM) *.obj + $(RM) *.occ + $(RM) *.lbc + $(RM) $(alib) diff --git a/libs/oldmik/src/resample.asm b/libs/oldmik/src/resample.asm index afb2540..1ffe920 100644 --- a/libs/oldmik/src/resample.asm +++ b/libs/oldmik/src/resample.asm @@ -13,6 +13,8 @@ _TEXT SEGMENT DWORD PUBLIC USE32 'CODE' PUBLIC AsmStereoNormal_ PUBLIC AsmMonoNormal_ + PUBLIC _AsmStereoNormal_ + PUBLIC _AsmMonoNormal_ SS2 MACRO index even @@ -38,6 +40,7 @@ SM2 MACRO index AsmStereoNormal_ proc USES ebp fs es +_AsmStereoNormal_: mov ax,_lvolsel mov es,ax ; voltab selector naar fs mov ax,_rvolsel @@ -83,6 +86,7 @@ AsmStereoNormal_ endp AsmMonoNormal_ proc USES ebp es +_AsmMonoNormal_: mov ax,_lvolsel mov es,ax ; voltab selector naar fs xor eax,eax diff --git a/libs/oldmik/src/virtch.c b/libs/oldmik/src/virtch.c index 8f7e357..a414e4a 100644 --- a/libs/oldmik/src/virtch.c +++ b/libs/oldmik/src/virtch.c @@ -73,6 +73,11 @@ extern "C" { UWORD lvolsel,rvolsel; +#if __WATCOMC__ >= 1200 /* OpenWatcom 1.0+ */ +#define AsmStereoNormal _AsmStereoNormal +#define AsmMonoNormal _AsmMonoNormal +#endif + void AsmStereoNormal(SBYTE *srce,SLONG *dest,SLONG index,SLONG increment,ULONG todo); #pragma aux AsmStereoNormal \ parm [esi] [edi] [ebx] [ecx] [edx] \ -- 1.7.10.4