Hello. I've got pspp and psppire to run as native windows
applications. (i.e. no cygwin dll or X required, and the installer
should be under 7MB including libraries).

Better yet, the windows version gets over 75% in the stats tests ---
*only* 32 failures out of 131 tests. What is that, like a A- or
something ;)

I have put up a bunch of scripts I used to cross-compile pspp, and log
files (including make.check.log) up at:
   http://www.csse.uwa.edu.au/~john/psppfiles.tar.bz2
If you are interested you might like to look at what tests failed in:
  http://www.csse.uwa.edu.au/~john/pspp/make.check.log
I know at least four tests fail simply because "make check" attempts
to run cross-compiled binaries on the host machine.

I have made a number of hacks to get psppire to cross-compile. John D.
suggested that I post these here to get input on how to do these hacks
the right way.

I have attached an example patch.  This patch is needed as glade needs
to dynamically load functions stored in psppire.exe, but mingw does
not export functions in .exes by default; in windows we have to prefix
functions, required by glade, with G_MODULE_EXPORT. To ensure these
functions are exported in the cross-compiled psppire.exe I also had to
change the Makefile to include
    dlltool -e psppire.exp src/ui/gui/*.o
and to link psppire.exp into psppire.exe.

--
John C. McCabe-Dansted
PhD Student
University of Western Australia
Index: data-editor.c
===================================================================
RCS file: /sources/pspp/pspp/src/ui/gui/data-editor.c,v
retrieving revision 1.16
diff -r1.16 data-editor.c
137a138,150
>   g_assert(vs); //Traps a possible bug in win32 build, see
>   //http://lists.ximian.com/pipermail/glade-users/2004-April/001885.html
>   //on how to link windows glade programs
>   //
>   //You have to prefix functions called dynamically by glade with
>   //G_MODULE_EXPORT, and make the following change to the Makefile:
>   //
>   //<       $(LINK) $(src_ui_gui_psppire_LDFLAGS) $(src_ui_gui_psppire_OBJECTS) $(src_ui_gui_psppire_LDADD) $(LIBS)
>   //---
>   //>       dlltool -e psppire.exp src/ui/gui/*.o
>   //>       $(LINK) $(src_ui_gui_psppire_LDFLAGS) $(src_ui_gui_psppire_OBJECTS) psppire.exp $(src_ui_gui_psppire_LDADD) $(LIBS)
>   //You make have to also add -Wl,--export-dynamic to GLADE_LIBS
> 
Index: data-sheet.c
===================================================================
RCS file: /sources/pspp/pspp/src/ui/gui/data-sheet.c,v
retrieving revision 1.19
diff -r1.19 data-sheet.c
161c161
< GtkWidget*
---
> G_MODULE_EXPORT GtkWidget*
_______________________________________________
pspp-dev mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/pspp-dev

Reply via email to