In case you port a simple application: Be sure to CROSS-CPOMPILE!
Ususally this can simply be done by saying "make CC=avr32-linux-gcc all".
Although autoconf is a tool that's supposed to make it easier to write portable programs, we're not living in a perfect world. Especially when cross-compiling (which, admittedly, is not a very common usage) problems tend to show up.
Often you will have to disable e.g. x (--disable-x) or specify PKG_CONFIG_PATH or both, in addition to package-specific options. The most common problem is broken or uncomplete/lazy configure scripts that finds wrong libraries or does not find libraries at all. Alter the configure script and Makefiles if necessary! Optimization flags like -O3 is still known to be unsafe, try compiling with -O2 if you get unexpected errors.
The function Construct is of type:
typedef DirectResult (*DirectInterfaceGenericConstructFunc)( void *interface, ... );The (erroneus) implementation of the function looks like this:
static DFBResult Construct( IDirectFBImageProvider *thiz, IDirectFBDataBuffer *buffer )
where the second argument is not a vararg. The solution is to #include
Newer versions of avr32 gcc will most likely change this so that enums and ints can be used interchangeably.