On Sun, Apr 06, 2014 at 03:30:43PM +0100, Jon TURNEY wrote: > Unfortunately, Cygwin defines RTLD_DEFAULT (for glibc compatibility), but > can't > provide dladdr(), so add a check for dladdr() > > Cc: Jonathan Gray <[email protected]> > Signed-off-by: Jon TURNEY <[email protected]> > --- > configure.ac | 6 ++++++ > src/mesa/drivers/dri/common/megadriver_stub.c | 7 +++---- > 2 files changed, 9 insertions(+), 4 deletions(-) > > diff --git a/configure.ac b/configure.ac > index 878b24a..bbbed79 100644 > --- a/configure.ac > +++ b/configure.ac > @@ -480,6 +480,12 @@ AC_CHECK_FUNC([dlopen], [DEFINES="$DEFINES > -DHAVE_DLOPEN"], > [DEFINES="$DEFINES -DHAVE_DLOPEN"; DLOPEN_LIBS="-ldl"])]) > AC_SUBST([DLOPEN_LIBS]) > > +dnl Check if that library also has dladdr > +SAVE_LDFLAGS="$LDFLAGS"
The case here is wrong and won't work as intended unless changed to save_LDFLAGS. Otherwise the patch seems fine, though it will break the scons build till those files are updated? > +LDFLAGS="$LDFLAGS $DLOPEN_LIBS" > +AC_CHECK_FUNCS([dladdr]) > +LDFLAGS=$save_LDFLAGS > + > case "$host_os" in > darwin*|mingw*) > ;; > diff --git a/src/mesa/drivers/dri/common/megadriver_stub.c > b/src/mesa/drivers/dri/common/megadriver_stub.c > index 7b6d134..d085080 100644 > --- a/src/mesa/drivers/dri/common/megadriver_stub.c > +++ b/src/mesa/drivers/dri/common/megadriver_stub.c > @@ -28,10 +28,9 @@ > > /* We need GNU extensions to dlfcn.h in order to provide backward > * compatibility for the older DRI driver loader mechanism. (dladdr, > - * Dl_info, and RTLD_DEFAULT are only defined when _GNU_SOURCE is > - * defined.) > + * Dl_info, and RTLD_DEFAULT) > */ > -#ifdef RTLD_DEFAULT > +#if defined(RTLD_DEFAULT) && defined(HAVE_DLADDR) > > #define MEGADRIVER_STUB_MAX_EXTENSIONS 10 > #define LIB_PATH_SUFFIX "_dri.so" > @@ -148,7 +147,7 @@ megadriver_stub_init(void) > } > } > > -#endif /* RTLD_DEFAULT */ > +#endif /* RTLD_DEFAULT && HAVE_DLADDR */ > > static const > __DRIconfig **stub_error_init_screen(__DRIscreen *psp) > -- > 1.8.3.4 _______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
