[Date Prev][Date Next][Thread Prev][Thread Next][Thread Index]

Re: [XaraXtreme-dev] libiconv


--On 30 April 2006 16:49 +0100 Phil Martin <phil@xxxxxxxx> wrote:

The linker is giving verbose information about the use of those labels, I
was just going "code-blind" there...

The caller of libiconv is libwx_macud_static.a(strconv.o).
Investigating, I find that libiconv is only used by wxWidgets if
HAVE_ICONV is defined. Fair enough, but this raises an interesting issue:

I guess that HAVE_ICONV is set up by autoconf (I haven't yet found where
it's defined for the straight wxWidgets Xcode project) but if you're
doing a universal binary build, just checking for the presence of a
library is not enough - autoconf needs to check that the library is a
universal binary too

Does this happen when building a wxWidgets sample project?

I am not a mac build expert but I suspect the answer is "mostly yes". When
building a universal binary it needs to check each dependent library is if
not UB, at least present in both formats. That sounds to me like a bakefile
issue under wxWidgets - perhaps wx-users could help here. But on the other
hand it sounds like the real problem is just when you installed libiconv
you did not build it with universal binary support.

Note that until recently, wxWidgets built UB's the other way, IE built an
i386 one and a ppc one, then lipo'd them together. As I understand the way
lipo works, we could use the same strategy if we wanted, i.e. build a PPC
one (which perhaps would not find one library and use its own code), then
build an i386 one (which perhaps would find the library), then lipo them
together. I am not recommending this!