From f1e08a23facb2d718276b3fbf59b0df2b54fceb9 Mon Sep 17 00:00:00 2001 From: Kenneth Russel Date: Tue, 27 May 2008 10:06:20 +0000 Subject: Changed implementation of ArgumentIsString to work with wide-character null-terminated strings on Windows. Changed Windows dynamic linker to use LoadLibraryW which is the only variant available on Windows CE. Changed GetProcAddress to explicitly named GetProcAddressA; this is implicitly the only variant available on Windows XP. Tested by compiling gluegen-rt.dll for both Windows XP and Windows CE. Also brought dynlink-unix-CustomJavaCode.java in line with modifications that were apparently hand made to the UnixDynamicLinkerImpl and MacOSXDynamicLinkerImpl classes. git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/../svn-server-sync/gluegen/trunk@79 a78bb65f-1512-4460-ba86-f6dc96a7bf27 --- make/dynlink-windows.cfg | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) (limited to 'make/dynlink-windows.cfg') diff --git a/make/dynlink-windows.cfg b/make/dynlink-windows.cfg index 871326e..fe69e1c 100755 --- a/make/dynlink-windows.cfg +++ b/make/dynlink-windows.cfg @@ -8,18 +8,23 @@ HierarchicalNativeOutput false IncludeAs CustomJavaCode WindowsDynamicLinkerImpl dynlink-windows-CustomJavaCode.java CustomCCode #include -CustomCCode /* This typedef is only needed for VC6 */ -CustomCCode #if _MSC_VER <= 1200 +CustomCCode /* This typedef is apparently needed for compilers before VC8, +CustomCCode and for the embedded ARM compilers we're using */ +CustomCCode #if (_MSC_VER < 1400) || defined(UNDER_CE) CustomCCode typedef int intptr_t; CustomCCode #endif +CustomCCode /* GetProcAddress doesn't exist in A/W variants under desktop Windows */ +CustomCCode #ifndef UNDER_CE +CustomCCode #define GetProcAddressA GetProcAddress +CustomCCode #endif -ArgumentIsString LoadLibraryA 0 -ArgumentIsString GetProcAddress 1 +ArgumentIsString LoadLibraryW 0 +ArgumentIsString GetProcAddressA 1 Opaque long HANDLE Opaque long PROC # Hide the platform-specific functions -AccessControl GetLastError PRIVATE -AccessControl LoadLibraryA PRIVATE -AccessControl GetProcAddress PRIVATE -AccessControl FreeLibrary PRIVATE +AccessControl GetLastError PRIVATE +AccessControl LoadLibraryW PRIVATE +AccessControl GetProcAddressA PRIVATE +AccessControl FreeLibrary PRIVATE -- cgit v1.2.3