Provide win32-based dlapi replacements on windows platforms without dlfcn.h.

ld/ChangeLog:

	* configure.in: If <dlfcn.h> can't be found, try for <Windows.h>
	* configure: Regenerate.
	* config.in: Likewise.
	* plugin.c [!HAVE_DLFCN_H && HAVE_WINDOWS_H] (dlopen): Provide
	trival LoadLibrary-based replacement for Windows systems.
	[!HAVE_DLFCN_H && HAVE_WINDOWS_H] (dlsym): Likewise trivial
	replacement based on GetProcAddress.
	[!HAVE_DLFCN_H && HAVE_WINDOWS_H] (dlsym): Likewise FreeLibrary.
	* sysdep.h: Don't infer presence of <dlfcn.h> from ENABLE_PLUGINS
	anymore, use its own guard.
This commit is contained in:
Dave Korn
2010-10-15 16:21:41 +00:00
parent d4cb7acdd8
commit 3917d5d5ca
6 changed files with 65 additions and 2 deletions

16
ld/configure vendored
View File

@@ -12919,6 +12919,22 @@ else
fi
done
# We also support plugins on Windows (MinGW).
if test x$enable_plugins = xno ; then
for ac_header in Windows.h
do :
ac_fn_c_check_header_compile "$LINENO" "Windows.h" "ac_cv_header_Windows_h" "$ac_includes_default
"
if test "x$ac_cv_header_Windows_h" = x""yes; then :
cat >>confdefs.h <<_ACEOF
#define HAVE_WINDOWS_H 1
_ACEOF
enable_plugins=yes
fi
done
fi
if test x$enable_plugins = xyes; then
ENABLE_PLUGINS_TRUE=
ENABLE_PLUGINS_FALSE='#'