packages feed

OpenVG-0.1: InstallWindows.txt

It is tedious to install ShivaVG on Windows with MinGW/Msys (I 
don't think Cygwin will work at all). With GHC-6.10.1 most 
people appear to be following these instructions to install 
HOpenGL and HGLUT - they are the ones I followed:

http://netsuperbrain.com/blog/posts/freeglut-windows-hopengl-hglut/

To get Shiva-VG to work under MinGW/Msys you have to do the same 
trick of compiling directly with gcc rather than using the makefiles
as per *Compile and Install freeglut*.

Here's what I did:

I dropped the archive into my home directory
C:\msys\1.0\home\stephen

> tar xvfz shivavg-0.2.0.tar.gz

> cd shivavg-0.2.0/src

> gcc -O2 -c *.c -I../include/VG

That should build the *.o files.

> gcc -shared -o openvg32.dll *.o -Wl,--enable-stdcall-fixup,--out-implib,libopenvg32.a -lopengl32 -lglu32 -lgdi32 -lwinmm

That should create `openvg32.dll` and `libopenvg32.a`.

Put `libshivavg32.a` into your MinGW lib directory, on my system
it is here:

C:\MinGW\lib

Also copy the `vg` folder from `shivavg-0.2.0\include` to the
MinGW include directory, on my system it is here:

C:\MinGW\include

You should have folders for both the GL and OpenVG headers:

C:\MinGW\include\GL
C:\MinGW\include\vg

Now you should be able to build the Haskell binding to Shiva:

I dropped the archive into my home directory
C:\msys\1.0\home\stephen

> tar xvfz OpenVG-0.1.tar.gz

> cd OpenVG-0.1
> runhaskell Setup.hs configure
> runhaskell Setup.hs build
> runhaskell Setup.hs install
> runhaskell Setup.hs haddock

To run the test you need to copy `openvg32.dll` from
the shivavg src directory into OpenVG-0.1/examples.
The cd to examples and run with:
> runhaskell -lopenvg TestVgu.hs

This should display a white window with some line drawn
shapes.

Better examples of OpenVG capabilities are in the ShivaVG 
examples. Particularly test_tiger which uses the famous 
tiger from SVG tutorials.


Running ShivaVG's C examples
----------------------------

ShivaVG itself seems to have some problems with FreeGlut - 
at least if the are both compiled through the direct gcc 
(no makefile) hack as per the *netsuperbrain.com* blog tutorial. 

Compiling should be straight-forward, the following command 
compiles test_tiger.exe: 

> gcc -o test_tiger test.c test_tiger_paths.c test_tiger.c -lm -lglut32 -lglu32 -lopengl32 -lopenvg32

To run the test_tiger.exe you will need to drop to put a copy of 
the `openvg32.dll` that you compiled (in the src directory) into 
the examples directory.

You will also need a copy of `glut32.dll` in the examples 
directory -  and here seems to be the snag. 

I don't think the `glut32.dll` produced by FreeGlut works 
- at least not if its compiled as per the *netsuperbrain.com* 
guide. The `glut32.dll` compiled from FreeGlut is identifiable 
as its 308KB in size (on my computer at least). If you try to 
run test_tiger.exe with this it may fail with an 
`Entry Point Not Found` dialog for the function 
`_glutCreateMenuWithExit` (it certainly fails for me). 

To get around this, I have to use the `glut32.dll` from my 
Cygwin installation, this is 232KB in size and was in the folder:

C:\cygwin\bin

I copied this into the `examples` folder along with `openvg32.dll`
then double-clicking on test_tiger.exe should work.