On 09/06/09 22:05 +0300, Felipe Contreras wrote:
> On Tue, Jun 9, 2009 at 9:53 PM, Lauri Leukkunen<[email protected]> wrote:
> > On 09/06/09 21:12 +0300, Felipe Contreras wrote:
> >> On Mon, Jun 8, 2009 at 11:27 PM, Lauri Leukkunen<[email protected]> wrote:
> >> > On 08/06/09 19:58 +0300, Felipe Contreras wrote:
> >> >> Probably related to gcc 4.4?
> >> >
> >> > The problem with these is that compilation breaks for all older systems,
> >> > can't apply. Is there any way to detect the newer compiler and make this
> >> > ifdef'ed?
> >>
> >> Does it really breaks? By Googling in most places I see the argument
> >> is 'struct dirent **', and this is POSIX, so the change comes from
> >> glib? I have 2.10.1.
> >>
> >> Maybe we can create a scandir_arg_t type that is 'void *' or 'struct
> >> dirent **' depending on the system.
> >
> > It does break, I tried compiling on my Fedora 10. Your patch already defines
> > SCANDIR_TYPE_ARG4, but doesn't actually use it. Makes me wonder if we
> > could simply
> > #ifndef SCANDIR_TYPE_ARG4
> > #define SCANDIR_TYPE_ARG4 int(*compar)(const void *, const void *)
> > #endif
> >
> > and then make the WRAP line use SCANDIR_TYPE_ARG4...
> > ?
> 
> SCANDIR_TYPE_ARG1, SCANDIR_TYPE_ARG2, and SCANDIR_TYPE_ARG4 are not
> used. If we have a scandir_arg_t, SCANDIR_TYPE_ARG3 is not really
> needed, right?

Hmm, it seems this whole *_TYPE_ARG* business is sb2's own invention. Heh.
I'll need to think this over a little bit. Basically this could be handled
in the configure script, testing compilation of little test snippets with the
variations and choosing the one that works. I guess it doesn't make much
difference if all of the arguments are in a single macro vs. split into
four macros. It won't really be readable either way without looking at
the generated config.h.

/lauri

_______________________________________________
Scratchbox-devel mailing list
[email protected]
http://lists.scratchbox.org/cgi-bin/mailman/listinfo/scratchbox-devel

Reply via email to