[Tux4kids-tuxtype-dev] Status of next releases for tuxmath and tuxtype
David Bruce
davidstuartbruce at gmail.com
Fri Mar 5 23:31:43 UTC 2010
Hi everyone,
I've been promising that I would post new releases soon, so I thought
I should let anyone who is interested about the current holdup.
Mainly, I don't yet have suitable Windows builds, and historically
I've always done simultaneous releases of a tarball (for the Linux and
ultimately OSX folks) and a Windows binary so that the code would be
identical for the same version number.
If no one objects, I'll just make source-only releases of TuxMath
1.8.0 and TuxType 1.8.1 this weekend.
The snag on the Windows side is that TuxMath has added several library
dependencies, and also now uses libtool, and I wasn't able to get my
previous cross-build setup to work. TuxType still builds with the old
crossbuild setup, except that my box that contained it died and I
don't have it recreated as of yet.
On the positive side, I looked into the mingw-cross-env project
(http://mingw-cross-env.nongnu.org) and have been extremely pleased
with it as a better way to make Windows builds. The project leader is
extremely helpful, and even added SDL_Pango and librsvg to
mingw-cross-env just to get our project to build, as well as
contributing needed code to our configure.ac. Basically, it is now
trivially simple to set up a linux-based cross-build environment. You
may need to install a couple of packages with your distro's package
manager, then get mingw-cross-env from their site, put it in a
convenient place, and type "make". After a couple of hours of
downloading and building, the mingw-cross-env directory contains a
cross-compiler and all the libs needed to cross-compile tuxmath and
tuxtype for windows.
I added a "buildw32" directory to tuxmath and tuxtype in Git, which
contains some simple scripts to automate the crossbuild. The scripts
assume that the cross-environment is located at
/usr/local/mingw-cross-env. For tuxmath, you just cd to buildw32 and
type "./tmwin.sh". For tuxtype it is the same except the script is
called ttwin.sh. The mingw-cross-env project uses static linking, so
you wind up with a single large binary and no dll's.
The exciting part is that tuxtype builds correctly and has SDL_Pango
working, something we have never had in Windows. The glitch is that
there is a problem with SDL_mixer that causes the program to exit
during initialization unless it is started with "tuxtype --nosound".
We could turn sound off in the source code and issue a silent TuxType
windows build right now, but that is far from optimal. I have not
made much progress with this on the SDL mailing list. The bug
apparently only affects the most recent two versions of SDL_mixer, so
I perhaps could downgrade SDL_mixer to 1.2.8 in the crossbuild
environment as a workaround.
For tuxmath, the situation is fairly similar but with two additional
issues - the configure step does not detect SDL_net, and the linking
phase fails with some errors related to libtool. We don't really need
libtool until we start using libt4kcommon, so the latter problem could
be sidestepped if I can't figure out how to solve it.
So, I'd encourage anyone who is interested to set up mingw-cross-env
and test these crossbuilds.
Also, Matt, if you still have a functioning "old" crossbuild setup,
I'd be happy to post a tuxtype release built that way. If you want to
do that, you will have to uncomment the lines in nsis/tuxtype.nsi.in
and Makefile.am that control inclusion of the dll files, which I
commented out because the new setup doesn't need them.
Cheers,
David
More information about the Tux4kids-tuxtype-dev
mailing list