Le 31 mars 2012 à 09:07, Basile Starynkevitch a écrit : > On Sat, 31 Mar 2012 02:22:43 +0200 > Romain Geissler <romain.geiss...@gmail.com> wrote: > >> >> I tried to build the latest melt-branch (not the generated tarball) on a mac. >> Here is the few change required to allow the build (note that it builds but >> as your >> cc/cxx detection still fails, the generated melt-runtime.o and *.so files >> can't be >> loaded with gcc build with cxx). > > Thanks! But please patch melt-build.tpl, not melt-build.mk which is autogen > generated.
Well I know it's autogenerated, that's why i wrote 'Regenerate.' in the Changelog. In such cases, i should not include the regenerated file to the patch ? Is it the maintainer role to run autogen on every patch that affects *.tpl ? >> >> I removed the test of _POSIX_C_SOURCE in melt-runtime.c because this >> makes no sense to test the availability of the poll function that way : just >> use >> the function, the compiler will find it out by itself if it is really >> defined. Moreover, >> this kind of test should be in a configure file, not in a source file. On a >> mac, >> _POSIX_C_SOURCE is not defined by default, and defining it lead to errors >> while building other parts of GCC. > > Do you have any ideas on how to make autoconf things for the MELT plugin? Well I currently don't know, although i already patched the GCC configuration scripts. It's like all, just need to learn. > > Also, I was believing MacOSX needs *dylib files not *so one ? Yes dynamic libraries are named *.dylib on a mac because the dynamic linker dyld looks for *.dylib files, and not *.so files. OSX makes a difference between a dynamic library you can link (*.dylib) width dyld and binaries you dynamically load on your own with dlopen (*.bundle). So on a mac, your melt plugins should have the .bundle extension. But as the .so extension is hardcoded almost everywhere, i preferred keeping the .so extension, like many other projects do (on my computer, i can see that apache, php, valgrind, ImageMagick, python, gtk and many others just do the same) Romain Geissler