Adapt WinBoard makefile.gcc for NVDA use
authorH.G.Muller <hgm@hgm-xboard.(none)>
Wed, 6 Jul 2022 08:40:12 +0000 (10:40 +0200)
committerH.G.Muller <hgm@hgm-xboard.(none)>
Wed, 6 Jul 2022 09:40:56 +0000 (11:40 +0200)
To interface with the screen reader it needs an include file and a library.

winboard/jaws.c
winboard/makefile.gcc

index 502b10f..3757fbc 100644 (file)
@@ -242,7 +242,9 @@ AdaptMenu()
 \r
 #ifdef NVDA\r
 \r
-#   include "nvdaController.h"\r
+#   define S2(X) #X\r
+#   define STRINGIFY(X) S2(X)\r
+#   include STRINGIFY(NVDA/nvdaController.h)\r
 \r
     void\r
     SayNVDA(char *text, BOOL interrupt)\r
index 92c2a6d..3565b8a 100644 (file)
@@ -18,8 +18,9 @@ compile = @echo "$1"; $(CC) $(CFLAGS) $1
 USE_DEBUG=0\r
 \r
 \r
-# JAWS support?\r
+# JAWS support? (Set to 2 for NVDA support!)\r
 JAWS=0\r
+NVDADIR = .\r
 \r
 \r
 # set this to 1 unless you don't mind linking with cygwin1.dll\r
@@ -40,6 +41,9 @@ DEFS = -D_WIN32_IE=0x0300 -DWIN32
 ifeq ($(JAWS),1)\r
   DEFS += -DJAWS\r
 endif\r
+ifeq ($(JAWS),2)\r
+  DEFS += -DJAWS -DNVDA=$(NVDADIR)\r
+endif\r
 WARN = -Wall -Wno-char-subscripts -Wno-parentheses\r
 ARCH =\r
 ifeq ($(USE_DEBUG),0)\r
@@ -51,6 +55,9 @@ endif
 CF = -c $(WARN) -pipe $(CFDEBUG) $(DEFS) -I. -I..\r
 CFLAGS = $(CF) $(ARCH) $(OPTS) $(CFCYG)\r
 LFLAGS = $(LFCYG) $(CFDEBUG) -fpic -s -mwindows -lwsock32 -lwinmm -lcomctl32 -lmsimg32\r
+ifeq ($(JAWS),2)\r
+  LFLAGS += $(NVDADIR)/nvdaControllerClient32.lib\r
+endif\r
 \r
 all: $(PROJ).exe\r
 \r
@@ -77,7 +84,7 @@ $(PROJ).exe: $(OBJS) $(PROJ).hlp
 \r
 winboard.o: winboard.c config.h winboard.h ../common.h ../frontend.h ../backend.h \\r
        ../moves.h defaults.h resource.h wclipbrd.h \\r
-       wsockerr.h woptions.h wsnap.h ../lists.h help.h ../args.h\r
+       wsockerr.h woptions.h wsnap.h ../lists.h help.h ../args.h jaws.c\r
        $(call compile, $<)\r
 \r
 backend.o: ../backend.c config.h ../common.h ../frontend.h ../backend.h \\r