I've successfully compiled Universal binaries of wxWidgets 2.8.12 on Mac OS X 10.6 (Snow Leopard) that work with Mac OS X 10.4 and later.

Here's how:

  1. Unpack the sources of wxMac-2.8.12.tar.gz
  2. cd wxMac-2.8.12
  3. mkdir macosx
  4. cd macosx
  5. ../configure --enable-unicode --disable-shared --prefix=/Users/ulrikp/opt/wxMac-2.8.12-10.4-Unicode-noshared --with-macosx-sdk=/Developer/SDKs/MacOSX10.4u.sdk --with-macosx-version-min=10.4 --enable-universal_binary CC=gcc-4.0 CXX=g++-4.0 LD=g++-4.0
  6. make -j 2 all
  7. make instal

The crucial part is in step #5. You can, and should, change the path to the --prefix switch, to match your username.

The part that threw me off was that you have to switch the C and C++ compiler away from the default, to gcc-4.0 and g++-4.0. This is documented here.

Step #6 has the switch -j 2. This makes "make" use two processes at once, whenever it can. If you've got more horsepower than I do, you can up this to 4 or 8, or whatever is appropriate for your processor count.

After step #7, you can do this:

export PATH=/Users/ulrikp/opt/wxMac-2.8.12-10.4-Unicode-noshared/bin:$PATH

then any configure-script which uses wx-config to determine how to use wxWidgets will pick up this particular version of wx-config which we've just compiled.

Remember, though, to do

CC=gcc-4.0 CXX=g++-4.0 LD=g++-4.0

as well, when compiling/configuring your program.

Ulrik