home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 5 Edit / 05-Edit.zip / wvwar062.zip / doc / INSTALL < prev    next >
Text File  |  2000-09-16  |  16KB  |  390 lines

  1. wv
  2. ==========
  3. It should all work hunky dory from a ./configure followed by 
  4. make and make install, a few sample word files to try this out 
  5. are included in the examples dir. Recommended libraries to
  6. install to convert wmf files are the zlib, png, ttf and libwmf 
  7. libraries. Recomended libraries to convert dib bitmap graphics
  8. are ImageMagick in conjunction with libpng, read on for details and 
  9. download locations.
  10. (redhat users note that..)
  11. If your using Red Hat Version 6 you should have the "zlib", "freetype" 
  12. "ImageMagick" and "png" packages installed. Check with rpm and the 
  13. cd-rom with /Redhat/RPMS/ on it. You will than just need to get, 
  14. compile and install libwmf (unless they are shipping libwmf with 
  15. redhat alread)
  16.  
  17.  
  18. Configure Options
  19. =================
  20. zlib
  21. ----
  22. libwv now requires zlib to be able to uncompress wmf files,
  23.  
  24. (Use ./configure --with-zlib=dir_above_zlibs_include&lib_dirs
  25. if configure does not find zlib on its own)
  26.  
  27. If configure does not find zlib then libwv will still make, but it'll
  28. warn you about this feature loss. zlib can be found at 
  29. http://www.cdrom.com/pub/infozip/zlib
  30.  
  31. libwmf
  32. ------
  33. libwv also needs libwmf to be able to convert wmf files
  34. to gif files for inclusion in the html output.
  35.  
  36. (Use ./configure --with-wmf==dir_above_libwmf_include&lib_dirs
  37. if configure does not find libwmf on its own)
  38.  
  39. If configure does not find libwmf then libwv will still make, but it'll
  40. warn you that it can't convert those wmf's. libwmf can be found at 
  41. http://www.csn.ul.ie/~caolan/docs/libwmf.html
  42.  
  43. freetype
  44. --------
  45. libwv also needs freetype to be able to allow libwmf to
  46. output text in its conversion of wmf files to gif.
  47.  
  48. (Use ./configure --with-ttf=dir_above_ttf_includes&lib_dirs
  49. if configure does not find freetype on its own)
  50.  
  51. It can be found at http://www.freetype.org, 
  52. *note* libwmf also has to be compiled with freetype support for this 
  53. to work.
  54.  
  55. ImageMagick
  56. -----------
  57. libwv also needs ImageMagick to be able to convert bmp files
  58. to png, as well as other format conversions
  59.  
  60. (Use ./configure --with-Magick=dir_above_Magick_includes&lib_dirs
  61. if configure does not find Magick on its own)
  62.  
  63. It can be found at http://www.wizards.dupont.com/cristy/ImageMagick.html
  64. *note* ImageMagick as to be compiled with png support for this to be of
  65. any use.
  66.  
  67.  
  68. png
  69. ---
  70. libwv also needs png, not for itself, but because both libwmf and
  71. ImageMagick require it for theirselves.
  72.  
  73. png can be found at http://www.cdrom.com/pub/png/ 
  74.  
  75. General
  76. -------
  77. In each case the dir argument to configure can either be the dir 
  78. *above* the include and lib dirs where the component can be found. 
  79. Or the actual dir where *both* the lib and include files exist.
  80.  
  81. But in general if you install zlib,libwmf,freetype, png and ImageMagick, then 
  82. you just have
  83. to do
  84. ./configure
  85. make
  86.  
  87. Compilation Problems
  88. ====================
  89.  
  90. (1) Make does nothing except complain
  91. If for some reason the standard make didnt work i.e.
  92. if make gives up without compiling a single thing then try 
  93. gmake -f Makefile 
  94. instead, this is a for systems with old make, like Irix for example.
  95.  
  96. (2) Cant install libwv from a make install
  97. If install fails due to some systems not allowing installs into user dirs
  98. change the INSTALL variable in the Makefiles to the path of the included
  99. install-sh, this is the kind of thing that happens on AIX.
  100.  
  101. (3) Final link fails with "undefined reference to `uncompress'"
  102. Now there is one possible problem that i've come across, for some reason
  103. on my old redhat4.2 system there was a libz.a in /usr/X11R6/lib that
  104. libwv was linking against rather than the correct one in /usr/lib.
  105. To fix that i just deleted it :-). You can recognize this problem if the
  106. make breaks like this at link time
  107. gcc -lm -o libwv libwv.o laolareplace.old.o support.o list.o 
  108.     piecetable.o stylesheet.o sprm.o blip.o utf.o init_chp.o field.o 
  109.     formatting.o references.o gpprl.o papchpsep.o hyperlink.o decompresswmf.o 
  110.     table.o annotations.o dop.o roman.o  oledecod/oledecod.o -lz   
  111.     -L/usr/X11R6/lib  -lX11  -lgdwmf -lwmf -lxgd -ldib -lXpm -lttf 
  112. decompresswmf.o: In function `decompress':
  113. decompresswmf.o(.text+0x211): undefined reference to `uncompress'
  114. gmake: *** [libwv] Error 1
  115.  
  116. The solution is to either delete /usr/X11R6/lib/libz.a or place -L/usr/lib
  117. or -L/usr/local/lib (whichever one has libz.a in it) before -lz i.e
  118. gcc -lm -o libwv libwv.o laolareplace.old.o support.o list.o 
  119.     piecetable.o stylesheet.o sprm.o blip.o utf.o init_chp.o field.o 
  120.     formatting.o references.o gpprl.o papchpsep.o hyperlink.o decompresswmf.o 
  121.     table.o annotations.o dop.o roman.o  oledecod/oledecod.o -L/usr/lib -lz
  122.     -L/usr/X11R6/lib  -lX11  -lgdwmf -lwmf -lxgd -ldib -lXpm -lttf
  123.  
  124. The current configure script is tweaked to attempt to work around this one
  125. case of distribution madness, which im told is due to usage of the imake 
  126. system and gnuplot or something.
  127.  
  128. (4) Compilation failed on parser.lex or lex.yy.c
  129. In this case the problem is probably something ive done wrong in the lex 
  130. code, im not a great lex head. The only solution for this one that i
  131. know of is to install flex 2.5.4 or higher, available from ftp.gnu.org.
  132.  
  133. Alternatively a good lex person could take a look at my definition of
  134. myalpha in parser.lex and see if its a portable definition or not.
  135.  
  136. Supported Platforms
  137. ===================
  138. Ive gotten this to work myself so far on Linux/AIX/Solaris/OSF1 and Windows
  139. (for windows skip to windows section) and ive heard that irix/hpux/bsd also 
  140. work, and i had one report that with some magic it works on os/2. One mad
  141. person ported it to AmigaOS, check the homepage for a link to that insanity.
  142. And there was a few mails from someone who said he had it working under VMS,
  143. i don't have any patches for that one yet though.
  144.  
  145. libwv for Windows
  146. ======================
  147.  
  148. Its should be possible to compile libwv with the cygwin32 package, available from 
  149. www.cygnus.com.  get that package and install it, then unpack libwv and 
  150. run ./configure.  then just add -DWINDOWS to the compiler flags are you are off. 
  151. i.e. change
  152. CC = gcc
  153. to
  154. CC = gcc -DWINDOWS
  155. The only thing that extra define does is change the / to \, in the scanning of a 
  156. command line so as to find the name of the word doc without the prepended path.
  157.  
  158. I haven't tried libwv under windows since zlib or the libwmf library were
  159. needed to be installed for full functionality, but i imagine that compiling them
  160. under cygwin32 would go smoothly as well, let me know on that one.
  161.  
  162. Running wvHtml from Netscape
  163. ================================
  164. theres some scripts in helper-scripts that were sent to me to
  165. get netscape to use libwv as a helper application. I dont
  166. know anything about them, and they might not work, especially
  167. as the program changes while they dont, but they are a useful
  168. resource, i believe the nsopen nswordview are your best bet
  169. for this.
  170.  
  171. libwv Crashes
  172. ==================
  173. I don't believe you. You question the worthiness of my Code? I should kill
  174. you where you stand!, but seriously, follow these steps to help me.
  175.  
  176. make clean first
  177. add -g -DDEBUG to the flags to the c compiler to generate
  178. a stack of debugging info if things go wrong for you.
  179.  
  180. if you get a crash please recompile libwv with 
  181. CC options -g -DDEBUG, run and send the output to a temporary
  182. file, and generate a core dump
  183. for tcsh 
  184. limit core unlimited
  185. and run again
  186. then do
  187. gdb libwv core
  188. and type
  189. backtrace
  190. send the output of gdb to me with the bugreport and the output
  191. from the -DDEBUG libwv and if possible send me the file that 
  192. libwv crashed on as well. if the word file is particulary 
  193. big compress it for me please. please mention your platform and
  194. libwv version.
  195.  
  196.  
  197. C.
  198.  
  199. HomePage and Contact Details
  200. ============================
  201. http://wvWare.sourceforge.net/
  202.  
  203. Caolan.McNamara@ul.ie
  204.  
  205. standard configure help file follows...
  206.  
  207. Basic Installation
  208. ==================
  209.  
  210.    These are generic installation instructions.
  211.  
  212.    The `configure' shell script attempts to guess correct values for
  213. various system-dependent variables used during compilation.  It uses
  214. those values to create a `Makefile' in each directory of the package.
  215. It may also create one or more `.h' files containing system-dependent
  216. definitions.  Finally, it creates a shell script `config.status' that
  217. you can run in the future to recreate the current configuration, a file
  218. `config.cache' that saves the results of its tests to speed up
  219. reconfiguring, and a file `config.log' containing compiler output
  220. (useful mainly for debugging `configure').
  221.  
  222.    If you need to do unusual things to compile the package, please try
  223. to figure out how `configure' could check whether to do them, and mail
  224. diffs or instructions to the address given in the `README' so they can
  225. be considered for the next release.  If at some point `config.cache'
  226. contains results you don't want to keep, you may remove or edit it.
  227.  
  228.    The file `configure.in' is used to create `configure' by a program
  229. called `autoconf'.  You only need `configure.in' if you want to change
  230. it or regenerate `configure' using a newer version of `autoconf'.
  231.  
  232. The simplest way to compile this package is:
  233.  
  234.   1. `cd' to the directory containing the package's source code and type
  235.      `./configure' to configure the package for your system.  If you're
  236.      using `csh' on an old version of System V, you might need to type
  237.      `sh ./configure' instead to prevent `csh' from trying to execute
  238.      `configure' itself.
  239.  
  240.      Running `configure' takes awhile.  While running, it prints some
  241.      messages telling which features it is checking for.
  242.  
  243.   2. Type `make' to compile the package.
  244.  
  245.   3. Optionally, type `make check' to run any self-tests that come with
  246.      the package.
  247.  
  248.   4. Type `make install' to install the programs and any data files and
  249.      documentation.
  250.  
  251.   5. You can remove the program binaries and object files from the
  252.      source code directory by typing `make clean'.  To also remove the
  253.      files that `configure' created (so you can compile the package for
  254.      a different kind of computer), type `make distclean'.  There is
  255.      also a `make maintainer-clean' target, but that is intended mainly
  256.      for the package's developers.  If you use it, you may have to get
  257.      all sorts of other programs in order to regenerate files that came
  258.      with the distribution.
  259.  
  260. Compilers and Options
  261. =====================
  262.  
  263.    Some systems require unusual options for compilation or linking that
  264. the `configure' script does not know about.  You can give `configure'
  265. initial values for variables by setting them in the environment.  Using
  266. a Bourne-compatible shell, you can do that on the command line like
  267. this:
  268.      CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure
  269.  
  270. Or on systems that have the `env' program, you can do it like this:
  271.      env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure
  272.  
  273. Compiling For Multiple Architectures
  274. ====================================
  275.  
  276.    You can compile the package for more than one kind of computer at the
  277. same time, by placing the object files for each architecture in their
  278. own directory.  To do this, you must use a version of `make' that
  279. supports the `VPATH' variable, such as GNU `make'.  `cd' to the
  280. directory where you want the object files and executables to go and run
  281. the `configure' script.  `configure' automatically checks for the
  282. source code in the directory that `configure' is in and in `..'.
  283.  
  284.    If you have to use a `make' that does not supports the `VPATH'
  285. variable, you have to compile the package for one architecture at a time
  286. in the source code directory.  After you have installed the package for
  287. one architecture, use `make distclean' before reconfiguring for another
  288. architecture.
  289.  
  290. Installation Names
  291. ==================
  292.  
  293.    By default, `make install' will install the package's files in
  294. `/usr/local/bin', `/usr/local/man', etc.  You can specify an
  295. installation prefix other than `/usr/local' by giving `configure' the
  296. option `--prefix=PATH'.
  297.  
  298.    You can specify separate installation prefixes for
  299. architecture-specific files and architecture-independent files.  If you
  300. give `configure' the option `--exec-prefix=PATH', the package will use
  301. PATH as the prefix for installing programs and libraries.
  302. Documentation and other data files will still use the regular prefix.
  303.  
  304.    In addition, if you use an unusual directory layout you can give
  305. options like `--bindir=PATH' to specify different values for particular
  306. kinds of files.  Run `configure --help' for a list of the directories
  307. you can set and what kinds of files go in them.
  308.  
  309.    If the package supports it, you can cause programs to be installed
  310. with an extra prefix or suffix on their names by giving `configure' the
  311. option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
  312.  
  313. Optional Features
  314. =================
  315.  
  316.    Some packages pay attention to `--enable-FEATURE' options to
  317. `configure', where FEATURE indicates an optional part of the package.
  318. They may also pay attention to `--with-PACKAGE' options, where PACKAGE
  319. is something like `gnu-as' or `x' (for the X Window System).  The
  320. `README' should mention any `--enable-' and `--with-' options that the
  321. package recognizes.
  322.  
  323.    For packages that use the X Window System, `configure' can usually
  324. find the X include and library files automatically, but if it doesn't,
  325. you can use the `configure' options `--x-includes=DIR' and
  326. `--x-libraries=DIR' to specify their locations.
  327.  
  328. Specifying the System Type
  329. ==========================
  330.  
  331.    There may be some features `configure' can not figure out
  332. automatically, but needs to determine by the type of host the package
  333. will run on.  Usually `configure' can figure that out, but if it prints
  334. a message saying it can not guess the host type, give it the
  335. `--host=TYPE' option.  TYPE can either be a short name for the system
  336. type, such as `sun4', or a canonical name with three fields:
  337.      CPU-COMPANY-SYSTEM
  338.  
  339. See the file `config.sub' for the possible values of each field.  If
  340. `config.sub' isn't included in this package, then this package doesn't
  341. need to know the host type.
  342.  
  343.    If you are building compiler tools for cross-compiling, you can also
  344. use the `--target=TYPE' option to select the type of system they will
  345. produce code for and the `--build=TYPE' option to select the type of
  346. system on which you are compiling the package.
  347.  
  348. Sharing Defaults
  349. ================
  350.  
  351.    If you want to set default values for `configure' scripts to share,
  352. you can create a site shell script called `config.site' that gives
  353. default values for variables like `CC', `cache_file', and `prefix'.
  354. `configure' looks for `PREFIX/share/config.site' if it exists, then
  355. `PREFIX/etc/config.site' if it exists.  Or, you can set the
  356. `CONFIG_SITE' environment variable to the location of the site script.
  357. A warning: not all `configure' scripts look for a site script.
  358.  
  359. Operation Controls
  360. ==================
  361.  
  362.    `configure' recognizes the following options to control how it
  363. operates.
  364.  
  365. `--cache-file=FILE'
  366.      Use and save the results of the tests in FILE instead of
  367.      `./config.cache'.  Set FILE to `/dev/null' to disable caching, for
  368.      debugging `configure'.
  369.  
  370. `--help'
  371.      Print a summary of the options to `configure', and exit.
  372.  
  373. `--quiet'
  374. `--silent'
  375. `-q'
  376.      Do not print messages saying which checks are being made.  To
  377.      suppress all normal output, redirect it to `/dev/null' (any error
  378.      messages will still be shown).
  379.  
  380. `--srcdir=DIR'
  381.      Look for the package's source code in directory DIR.  Usually
  382.      `configure' can determine that directory automatically.
  383.  
  384. `--version'
  385.      Print the version of Autoconf used to generate the `configure'
  386.      script, and exit.
  387.  
  388. `configure' also accepts some other, not widely useful, options.
  389.  
  390.