Check for RTLD_NEXT

Check for RTLD_NEXT being present, and disable the gsocketclient-slow
test if it's absent, since the shlib dependency of that test requires
RTLD_NEXT to function.

This allows the testsuite to be built on Cygwin, which behaves
exactly like UNIX, but doesn't have RTLD_NEXT.
This commit is contained in:
Руслан Ижбулатов 2019-03-20 18:52:48 +00:00
parent ff47bb0e53
commit a53ff7460e
2 changed files with 28 additions and 17 deletions

View File

@ -136,6 +136,12 @@ if host_machine.system() != 'windows'
'unix-mounts' : {},
'unix-streams' : {},
'g-file-info-filesystem-readonly' : {},
'gschema-compile' : {'install' : false},
'trash' : {},
}
if have_rtld_next
gio_tests += {
'gsocketclient-slow' : {
'depends' : [
shared_library('slow-connect-preload',
@ -153,9 +159,8 @@ if host_machine.system() != 'windows'
'LD_PRELOAD': '@0@/slow-connect-preload.so'.format(installed_tests_execdir),
},
},
'gschema-compile' : {'install' : false},
'trash' : {},
}
endif
# Uninstalled because of the check-for-executable logic in DesktopAppInfo
# unable to find the installed executable

View File

@ -584,6 +584,12 @@ if cc.has_header_symbol('dlfcn.h', 'RTLD_GLOBAL')
glib_conf.set('HAVE_RTLD_GLOBAL', 1)
endif
have_rtld_next = false
if cc.has_header_symbol('dlfcn.h', 'RTLD_NEXT')
have_rtld_next = true
glib_conf.set('HAVE_RTLD_NEXT', 1)
endif
# Check whether to use statfs or statvfs
# Some systems have both statfs and statvfs, pick the most "native" for these
if have_func_statfs and have_func_statvfs