On Wednesday 31 August 2005 05:44 pm, Yaakov S wrote:
> Mike Frysinger wrote:
> >>* src/lib/Makefile.am, src/modules/filters/Makefile.am,
> >>src/modules/loaders/Makefile.am:
> >> add '-no-undefined' to *_la_LDFLAGS;
> >
> > whats the point of this ?
>
> If this is absent, libtool refuses to build shared libraries on Cygwin,
> where all symbols must be resolved at link time.
ld manpage seems to indicate opposite behavior here for the '-no-undefined'
flag ...
does the flag '--allow-shlib-undefined' work ?
> >>* src/lib/dynamic_filters.c, src/lib/image.c:
> >> RTDL_LOCAL is not defined on Cygwin;
> >
> > then wouldnt the somewhat sane thing be to put this in an internal header
> > file:
> > #ifndef RTLD_LOCAL
> > # define RTLD_LOCAL 0
> > # warning "your crap box doesnt define RTLD_LOCAL !?"
> > #endif
>
> If that's how you'd rather deal with it, fine.
find attached a patch for this then, please test :)
> >> #ifndef __imlib_TrimLoaderList, since with it in Cygwin, imlib2
> >> can't
> >>find the modules
> >
> > going by the comment, this looks like a bug in cygwin ? what files does
> > it consult if you try to do dlopen("libfoo") ?
>
> In Cygwin, the imlib2 modules are called bumpmap.dll, colormod.dll,
> bmp.dll, etc. In addition, there are corresponding .dll.a import
> libraries and .la libtool files in the same directory.
then why not fix __imlib_TrimLoaderList ? i dont have cygwin to test against,
but what if you change the ".so" test in that func to ".dll" ?
-mike
Index: src/lib/image.h
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/imlib2/src/lib/image.h,v
retrieving revision 1.3
diff -u -p -r1.3 image.h
--- src/lib/image.h 23 Feb 2005 03:12:04 -0000 1.3
+++ src/lib/image.h 1 Sep 2005 02:11:03 -0000
@@ -11,6 +11,11 @@
# include <dlfcn.h>
# include <Imlib2.h>
+# ifndef RTLD_LOCAL
+# define RTLD_LOCAL 0
+# warning "your crap box doesnt define RTLD_LOCAL !?"
+# endif
+
typedef struct _imlibimage ImlibImage;
# ifdef BUILD_X11
typedef struct _imlibimagepixmap ImlibImagePixmap;