12. 2 Jul 2025
Compile tools on MacOS Monterey seem to have been updated and compilation now failed about wvOLEDecode_gsf not having been declared. It has been added into wv.h as follows:

    int wvOLEDecode_gsf (wvParseStruct * ps, GsfInput *path, wvStream ** mainfd, wvStream ** tablefd0,
		       wvStream ** tablefd1, wvStream ** data, wvStream ** summary);

This function with this signature was found declared in laolareplace.c and the function was called in wvparse.c
The int wvOLEDecode_gsf() function prototype was added into wv.h after the existing int wvOLEDecode() prototype.

Gemini explanation of the patch:
### Patch Notes: Modern Clang Compatibility (macOS / Xcode)

* **Issue:** Compilation fails with `error: implicit declaration of function 'wvOLEDecode_gsf'`.
* **Cause:** Modern versions of Apple Clang (shipped with updated Xcode/Command Line Tools) now enforce the C99 standard by default, treating implicit function declarations as fatal errors rather than warnings. 
* **Fix:** Added the missing explicit function prototype for `wvOLEDecode_gsf` to `wv.h`. This ensures proper 64-bit argument/pointer passing and prevents compiler rejection or potential runtime segmentation faults.


11. 15 Jul 2025
The compile tools on MacOS Sonoma appear to be stricter.

Compiling wv-gs on Sonoma resulted in the 2 similar errors:
-----
anupama@grcs-g210-01 wv-gs % gcc -c -DHAVE_CONFIG_H -DVERSION=\"1.2.4\" -DXMLCONFIG=\"/Users/anupama/Desktop/GS312/gs2build/etc/packages/wv/wvConfig.xml\" -DHTMLCONFIG=\"/Users/anupama/Desktop/GS312/gs2build/etc/packages/wv/wvHtml.xml\" -DWVDATADIR=\"/Users/anupama/Desktop/GS312/gs2build/etc/packages/wv\" -I. -I. -I. -I. -I. -I. -I/Users/anupama/Desktop/GS312/ext/gnome-lib-minimal/darwin/include -I/Users/anupama/Desktop/GS312/ext/gnome-lib-minimal/darwin/include/libxml2 -I/Users/anupama/Desktop/GS312/gs2build/ext/gnome-lib-minimal/darwin/include -I/Users/anupama/Desktop/GS312/gs2build/ext/gnome-lib-minimal/darwin/include/libxml2 -I/Users/anupama/Desktop/GS312/gs2build/ext/gnome-lib-minimal/darwin/include/libxml2 -DPCRE_STATIC -I/Users/anupama/Desktop/GS312/gs2build/ext/gnome-lib-minimal/darwin/include/glib-2.0 -I/Users/anupama/Desktop/GS312/gs2build/ext/gnome-lib-minimal/darwin/lib/glib-2.0/include -I/Users/anupama/Desktop/GS312/gs2build/ext/gnome-lib-minimal/darwin/include -DPCRE_STATIC -I/Users/anupama/Desktop/GS312/gs2build/ext/gnome-lib-minimal/darwin/include/libgsf-1 -I/Users/anupama/Desktop/GS312/gs2build/ext/gnome-lib-minimal/darwin/include/glib-2.0 -I/Users/anupama/Desktop/GS312/gs2build/ext/gnome-lib-minimal/darwin/lib/glib-2.0/include -I/Users/anupama/Desktop/GS312/gs2build/ext/gnome-lib-minimal/darwin/include -I/Users/anupama/Desktop/GS312/gs2build/ext/gnome-lib-minimal/darwin/include/libxml2 -I/Users/anupama/Desktop/GS312/ext/gnome-lib-minimal/darwin/include -I/Users/anupama/Desktop/GS312/ext/gnome-lib-minimal/darwin/include/libxml2 -Wno-error=implicit-function-declaration -I/Users/anupama/Desktop/GS312/gs2build/ext/gnome-lib-minimal/darwin/include -I/Users/anupama/Desktop/GS312/gs2build/ext/gnome-lib-minimal/darwin/include/libxml2 -ansi -MT wvConfig.lo -MD -MP -MF .deps/wvConfig.Tpo -c wvConfig.c -o wvConfig.o
wvConfig.c:3608:19: error: incompatible function pointer types assigning to 'startElementSAXFunc' (aka 'void (*)(void *, const unsigned char *, const unsigned char **)') from 'void (void *, const char *, const char **)' [-Wincompatible-function-pointer-types]
 3608 |         hdl.startElement = exstartElement;
      |                          ^ ~~~~~~~~~~~~~~
wvConfig.c:3609:17: error: incompatible function pointer types assigning to 'endElementSAXFunc' (aka 'void (*)(void *, const unsigned char *)') from 'void (void *, const char *)' [-Wincompatible-function-pointer-types]
 3609 |         hdl.endElement = exendElement;
      |                        ^ ~~~~~~~~~~~~
2 errors generated.
-----
The page https://stackoverflow.com/questions/32124643/error-assigning-to-char-from-incompatible-type-void
confirmed this was a possible casting issue, but also suggested the c compiler (gcc) be used to compile this, but we already do so as seen above.
Adjusting the command as gcc -c made no difference, so I tried casting to (void*) which worked.

I edited wvConfig.c:3608 and wvConfig.c:3609 as follows, from:
	hdl.startElement = exstartElement;
	hdl.endElement = exendElement;
To:
	hdl.startElement = (void*)exstartElement;
	hdl.endElement = (void*)exendElement;

This seemed to allow compiling to succeed.


10. 24 Nov 2020
MacOS complications again!
When compiling on Mojave, an issue with pkg-config was encountered, where it did not correctly determine the library linking information correctly for the supporting libraries in gnome-lib-minimal we provide.  This is because we provide static libraries, but the 'pkg-config --libs ...' command assumes they are dynamic, and so doesn't need to be provide an exhaustive list of the libraries needed when linking, just the 'first layer'.  The issue is addressed by running 'pkg-config --static --libs ...' command.  To work this in, however, the configure.ac file needed to be updated with a new macro PKG_CHECK_MODULES_STATIC (and defined in the local m4 file).  This has been done, and a fresh wv-1.2.4.tar.gz file generated as a result.     

9. 27 Oct 2016
After the changes to build gnome-lib as statically linked libraries, need to link wvware against BZIP2 as well, so had to add in -lbz2 in the GNUMakefile.in (and added it to GNUMakefile.am) in the list of WVLIBS. The lbz2 library must be listed in the correct position for compilation to work, which seems to be before lz (libz/ZLib).

8. 		Rev 	Chgset 	Date 	Author 	
		@29716 	[29716] 	21 months 	ak19 	

Justified text in Word docs converted to html were showing up left aligned. Thanks to Giorgi Varamishvili for telling us of this problem. Changed the wvware config files that map markup in input word docs to markup into output formats like html, txt and xml. In this case both html and xml were mapping justified ('block') text to left (aligned). Changed both to justify. and although we don't use

7.		@26816 	[26816] 	4 years 	davidb 	

config.guess and config.sub updated to new versions that include android as host architecture

6.		@26065 	[26065] 	4 years 	sjm84 	

Reverting this file back to a previous version until I can figure out which the configure changes aren't working

5.		@26061 	[26061] 	4 years 	sjm84 	

Having problems with autoconf (I think), trying a different version

4.		@26053 	[26053] 	4 years 	sjm84 	

A minor text fix

3.		@26052 	[26052] 	4 years 	sjm84 	

Adding a better message for wvWare configuration failures

2.		@22694 	[22694] 	6 years 	mdewsnip 	

Added wv-1.2.4-gs.tar.gz, a slightly modified version of wv-1.2.4.tar.gz (as downloaded from sourceforge) that only installs the stuff Greenstone needs. This is basically a drop-in replacement for wv-0.7.1-gs.tar.gz, although the new version has different library dependencies (now requires libgsf, no longer seems to use iconv).

1. wv - Microsoft Word converter

This directory contains a version of the wv program.  It was originally
written by Caolan McNamara and distributed under the GNU General Public
License.  wv is now maintained by Dom Lachowicz and Martin Vermeer.  wv
incorporates code from a variety of GPL programs from other sources.
Thank you all.

The wv homepage is http://wvware.sourceforge.net/

We have included the source code here.  It is a slimmed-down version
of wv version 0.7.1. It should handle documents created with Word 2 up
to Word 2000. We have tested it on Linux (slackware 7), darwin (OS X
10.1.3), cygwin, and solaris 2.8 (via sourceforge's compile farm).

John McPherson -- Apr 2002
