diff options
author | Jon TURNEY <jon.turney@dronecode.org.uk> | 2014-04-05 17:11:45 +0100 |
---|---|---|
committer | Emil Velikov <emil.l.velikov@gmail.com> | 2014-04-28 19:11:02 +0100 |
commit | ec8ebff342839138bc8141b8a739d9bce6d7ac39 (patch) | |
tree | 179a17327a35e3cc5737c7164ffade0e6bbcd5bd /src/mesa | |
parent | 6c8f547f66e68b495c708f8ffcb67370caa5ffe8 (diff) | |
download | external_mesa3d-ec8ebff342839138bc8141b8a739d9bce6d7ac39.zip external_mesa3d-ec8ebff342839138bc8141b8a739d9bce6d7ac39.tar.gz external_mesa3d-ec8ebff342839138bc8141b8a739d9bce6d7ac39.tar.bz2 |
Check for dladdr(), rather than assuming we have it if we have RTLD_DEFAULT
Unfortunately, Cygwin defines RTLD_DEFAULT (for glibc compatibility), but can't
provide dladdr(), so add a check for dladdr()
Since I don't think scons is ever used to build for Cygwin, just set HAVE_DLADDR
in SConscript, assuming that if we have RTLD_DEFAULT, we have dladdr().
Cc: Jonathan Gray <jsg@jsg.id.au>
Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Eric Anholt <eric@anholt.net>
Diffstat (limited to 'src/mesa')
-rw-r--r-- | src/mesa/drivers/dri/common/SConscript | 1 | ||||
-rw-r--r-- | src/mesa/drivers/dri/common/megadriver_stub.c | 7 |
2 files changed, 4 insertions, 4 deletions
diff --git a/src/mesa/drivers/dri/common/SConscript b/src/mesa/drivers/dri/common/SConscript index 8b15532..41f6356 100644 --- a/src/mesa/drivers/dri/common/SConscript +++ b/src/mesa/drivers/dri/common/SConscript @@ -30,6 +30,7 @@ drienv.Replace(CPPPATH = [ driswenv = drienv.Clone() driswenv.Append(CPPDEFINES = [ '__NOT_HAVE_DRM_H', + 'HAVE_DLADDR', ]) drienv.PkgUseModules('DRM') 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) |