2008/10/16 Vincent Torri <[EMAIL PROTECTED]>: > > > On Thu, 16 Oct 2008, Lionel ORRY wrote: > >> that works perfectly. Remains only the problem for autoreconf. BTW, I >> noticed Evil seems to be the only library in the EFL using >> autoreconf.. The others have autogen.sh call the autofoo tools >> subsequently. Maybe that would apply to Evil as well... > > autoreconf does what other autogen.sh does. It's sufficient for my purposes > >> Now that the EFL are Eina-dependent, here is a _really dirty_ patch to >> make Eina compile on WinXP. I added guards to prevent the >> eina_benchmark compilation when asked because gcc threw me an internal >> error in eina_benchmark_init()... >> The dirtiest part of the patch is declaring eina_mempool_register and >> eina_mempool_unregister with EAPI, because it helps passing the link >> stage. I don't know much about the differences between .dll and .so >> (there must me many), but gcc was not happy with these functions >> prototypes. I don't know exactly how to correct that, it's just a >> workaround. > > the patch is indeed dirty :) Try with my fixes in eina, now. It compiles > fine with mingw32ce. I didn't try with mingw yet > > If you still have link problems with eina_mempool.c, please give the exact > error message, it can help me.
Here is the output message : $ make make all-recursive make[1]: Entering directory `/home/liorry/eina' Making all in src make[2]: Entering directory `/home/liorry/eina/src' Making all in lib make[3]: Entering directory `/home/liorry/eina/src/lib' make[3]: Nothing to be done for `all'. make[3]: Leaving directory `/home/liorry/eina/src/lib' Making all in include make[3]: Entering directory `/home/liorry/eina/src/include' make[3]: Nothing to be done for `all'. make[3]: Leaving directory `/home/liorry/eina/src/include' Making all in modules make[3]: Entering directory `/home/liorry/eina/src/modules' Making all in mp make[4]: Entering directory `/home/liorry/eina/src/modules/mp' Making all in chained_pool make[5]: Entering directory `/home/liorry/eina/src/modules/mp/chained_pool' /bin/sh ../../../../libtool --tag=CC --tag=disable-static --mode=link gcc -std=gnu99 -O3 -s -mms-bitfields -march=i686 -no-undefined -Wl,--enable-auto-import -module -avoid-version -L/usr/local/lib -o eina_chained_mempool.la -rpath /usr/local/lib/eina/mp/ eina_chained_mempool_la-eina_chained_mempool.lo ../../../../src/lib/libeina.la -LD:/msys/1.0/local/lib -levil -ldl -lm rm -fr .libs/eina_chained_mempool.dll.a gcc -shared .libs/eina_chained_mempool_la-eina_chained_mempool.o -L/usr/local/lib ../../../../src/lib/.libs/libeina.dll.a -LD:/msys/1.0/local/lib /usr/local/lib/libevil.dll.a /usr/local/lib/libdl.dll.a -mms-bitfields -march=i686 -Wl,--enable-auto-import -o .libs/eina_chained_mempool.dll -Wl,--enable-auto-image-base -Xlinker --out-implib -Xlinker .libs/eina_chained_mempool.dll.a Creating library file: .libs/eina_chained_mempool.dll.a .libs/eina_chained_mempool_la-eina_chained_mempool.o:eina_chained_mempool.c:(.text+0x27e): undefined reference to `_eina_mempool_register' .libs/eina_chained_mempool_la-eina_chained_mempool.o:eina_chained_mempool.c:(.text+0x29e): undefined reference to `_eina_mempool_unregister' collect2: ld returned 1 exit status make[5]: *** [eina_chained_mempool.la] Error 1 make[5]: Leaving directory `/home/liorry/eina/src/modules/mp/chained_pool' make[4]: *** [all-recursive] Error 1 make[4]: Leaving directory `/home/liorry/eina/src/modules/mp' make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory `/home/liorry/eina/src/modules' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/home/liorry/eina/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/home/liorry/eina' make: *** [all] Error 2 It seems like since a module uses these functions, they need to be dllexport'd or else they can't be found when linking the module. That makes sense in a way, but I don't know how the linker resolves this for .so files. I also noticed a FIXME in include/eina_inline_mempool_x: /* FIXME Do we actually need to export this functions?? */ Eina_Bool eina_mempool_register(Eina_Mempool_Backend *be); void eina_mempool_unregister(Eina_Mempool_Backend *be); Maybe that can help... > >> Added another small patch to make Evas GLEW engine compile again (need >> to include glew.h before gl.h). > > strange, I thought i have already committed that fix. Maybe i have forgotten > that. I'll fix that later. > > Vincent > Lionel ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel