- if no application bundle is build SpringLobby is unable to get focus. AFAIK it is a "feature" of MacOS X and apple's permanent wontfix.
- there's no wxToggleButton in wxCarbon (yet?)
- unitsync loading is a big issue
OS X application bundles:
To make app bundle containing springlobby and wxWidgets, you need to use install_name_tool (it is part of cctools) as described here:
http://doc.trolltech.com/qq/qq09-mac-deployment.html
How it works: install_name_tool edits a binary, replacing strings for referenced libraries. The tool is highly stupid, so you must fix all the library's inter-dependencies when using wxwidgets built as non-monolithic. Problems: install_name_tool cannot replace string with longer string unless there is padding.
I made two very simple scripts for relocating stuff to bundle:
http://dmytry.pandromeda.com/tmp/osx_cross_tools/
You will need to edit mac_relocator.sh to adapt it for your environment (!) In particular, the cross_root and prefix variables, and the grep command line (which find soffending libs).
I have all cross development tools installed with prefix /usr/cross/i686-apple-darwin8 , and all tool binary names are prefixed with i686-apple-darwin8- as well. The mac_relocator.sh checks all the dependencies, and moves those which contain particular regex (/opt/mac//lib for instance) into the bundle.
Then use
./make_bundle.sh springlobby
it will make springlobby.app bundle folder and copy all the wx libraries here, fixing all the references in springlobby and libs.
Note: current ver dereferences symlinks (!) If you don't want it to dereference symlinks, you can edit the script (and copy the linked files to Frameworks folder somehow first)
Correct output should be something like:
http://pastebin.com/f3ecf9ff
Snow Leopard:
Right now WXWidgets won't compile under snow leopard, that is because one of its libraries that it links against, SDL, has been using a LOT of deprecated features that just became unsupported. so building SpringLobby under snow leopard right now wont work until SDL releases version 1.3, or a version that fixes the bug.
bug : http://bugzilla.libsdl.org/show_bug.cgi?id=581
fix ? : http://permalink.gmane.org/gmane.comp.lib.sdl/36747
Cross platform development, Linux --> OS X :
Most recent tutorial found so far:
http://devs.openttd.org/~truebrain/compile-farm/apple-darwin9.txt
This tutorial worked for me(dizekat), with minor fixes and caveats. I did not follow it exactly - I used FSF GCC 4.3.3 rather than Apple's GCC . I used odcctools from iphone-dev project, revision 280. Had to apply patch to get non-bugged as , and had to build ld64 and fix compile errors in it (couldn't figure out how to force gcc not to try to build anything for OS X 64-bit target). Will try to submit fixes for ld64 upstream to iphone-dev
Old tutorial:
http://biolpc22.york.ac.uk/pub/linux-mac-cross/
(has big problem: programs don't run on OS X 10.5)
IMCROSS:
http://www.sandroid.org/imcross/
Completely fails with gcc versions other than 4.2 god knows why (above-mentioned bug with as?). Didn't work for me (dizekat). Otherwise, sounds very good. Includes wxwidgets.
We welcome anybody who has tried building SpringLobby on Mac to add to this page.