summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--make/build-jogl.xml20
-rw-r--r--make/build-nativewindow.xml15
-rw-r--r--make/build-newt.xml16
-rw-r--r--make/scripts/make.jogl.all.win64.bat4
-rw-r--r--src/jogl/native/openmax/omx_tool.h2
-rwxr-xr-xsrc/newt/native/KDWindow.c4
-rwxr-xr-xsrc/newt/native/WindowsWindow.c14
7 files changed, 57 insertions, 18 deletions
diff --git a/make/build-jogl.xml b/make/build-jogl.xml
index 960b3f1fa..63d9c84ff 100644
--- a/make/build-jogl.xml
+++ b/make/build-jogl.xml
@@ -1157,6 +1157,15 @@
<syslibset dir="${windows.cg.lib}" libs="cg, cgGL"/>
</linker>
+ <linker id="linker.cfg.win64.mingw.jogl" extends="linker.cfg.win64.mingw">
+ <linkerarg value="-Wl,--kill-at" /> <!-- remove @ from function names -->
+ <syslibset libs="opengl32, glu32, gdi32, kernel32"/>
+ </linker>
+
+ <linker id="linker.cfg.win64.mingw.jogl.cg" extends="linker.cfg.win64.mingw.jogl">
+ <syslibset dir="${windows.cg.lib}" libs="cg, cgGL"/>
+ </linker>
+
<linker id="linker.cfg.win32.msvc.jogl" extends="linker.cfg.win32.msvc">
<syslibset libs="opengl32, gdi32, user32, kernel32" />
<!-- This is temporary -->
@@ -1192,13 +1201,20 @@
<property name="linker.cfg.id.cg" value="linker.cfg.win32.msvc.jogl.cg" />
</target>
- <target name="c.configure.win32.mingw" if="isMingW">
+ <target name="c.configure.win32.mingw" if="isMingW32">
<echo message="Win32.MingW" />
<property name="compiler.cfg.id" value="compiler.cfg.win32.mingw" />
<property name="linker.cfg.id.gl2" value="linker.cfg.win32.mingw.jogl" />
<property name="linker.cfg.id.cg" value="linker.cfg.win32.mingw.jogl.cg" />
</target>
+ <target name="c.configure.win64.mingw" if="isMingW64">
+ <echo message="Win64.MingW" />
+ <property name="compiler.cfg.id" value="compiler.cfg.win64.mingw" />
+ <property name="linker.cfg.id.gl2" value="linker.cfg.win64.mingw.jogl" />
+ <property name="linker.cfg.id.cg" value="linker.cfg.win64.mingw.jogl.cg" />
+ </target>
+
<target name="c.configure.linux.x86" if="isLinuxX86">
<echo message="Linux.x86" />
<property name="compiler.cfg.id" value="compiler.cfg.linux" />
@@ -1259,7 +1275,7 @@
<property name="linker.cfg.id.cg" value="linker.cfg.hpux.jogl.cg" />
</target>
- <target name="c.configure.win32" depends="c.configure.win32.vc,c.configure.win32.mingw" if="isWindows" />
+ <target name="c.configure.win32" depends="c.configure.win32.vc,c.configure.win32.mingw,c.configure.win64.mingw" if="isWindows" />
<target name="c.configure.x11" if="isX11" />
diff --git a/make/build-nativewindow.xml b/make/build-nativewindow.xml
index ff471d111..ee6eef03e 100644
--- a/make/build-nativewindow.xml
+++ b/make/build-nativewindow.xml
@@ -387,6 +387,11 @@
<syslibset libs="gdi32, kernel32"/>
</linker>
+ <linker id="linker.cfg.win64.mingw.nativewindow" extends="linker.cfg.win64.mingw">
+ <linkerarg value="-Wl,--kill-at" /> <!-- remove @ from function names -->
+ <syslibset libs="gdi32, kernel32"/>
+ </linker>
+
<linker id="linker.cfg.win32.msvc.nativewindow" extends="linker.cfg.win32.msvc">
<syslibset libs="gdi32, user32, kernel32" />
</linker>
@@ -407,12 +412,18 @@
<property name="linker.cfg.id.oswin" value="linker.cfg.win32.msvc.nativewindow" />
</target>
- <target name="c.configure.win32.mingw" if="isMingW">
+ <target name="c.configure.win32.mingw" if="isMingW32">
<echo message="Win32.MingW" />
<property name="compiler.cfg.id" value="compiler.cfg.win32.mingw" />
<property name="linker.cfg.id.oswin" value="linker.cfg.win32.mingw.nativewindow" />
</target>
+ <target name="c.configure.win64.mingw" if="isMingW64">
+ <echo message="Win64.MingW" />
+ <property name="compiler.cfg.id" value="compiler.cfg.win64.mingw" />
+ <property name="linker.cfg.id.oswin" value="linker.cfg.win64.mingw.nativewindow" />
+ </target>
+
<target name="c.configure.linux.x86" if="isLinuxX86">
<echo message="Linux.x86" />
<property name="compiler.cfg.id" value="compiler.cfg.linux" />
@@ -465,7 +476,7 @@
<property name="linker.cfg.id.oswin" value="linker.cfg.hpux.nativewindow.x11" />
</target>
- <target name="c.configure.win32" depends="c.configure.win32.vc,c.configure.win32.mingw" if="isWindows" />
+ <target name="c.configure.win32" depends="c.configure.win32.vc,c.configure.win32.mingw,c.configure.win64.mingw" if="isWindows" />
<target name="c.configure.x11" if="isX11" />
diff --git a/make/build-newt.xml b/make/build-newt.xml
index 9a7c55db8..01fb40ac8 100644
--- a/make/build-newt.xml
+++ b/make/build-newt.xml
@@ -271,6 +271,11 @@
<syslibset libs="gdi32, kernel32"/>
</linker>
+ <linker id="linker.cfg.win64.mingw.newt" extends="linker.cfg.win64.mingw">
+ <linkerarg value="-Wl,--kill-at" /> <!-- remove @ from function names -->
+ <syslibset libs="gdi32, kernel32"/>
+ </linker>
+
<linker id="linker.cfg.win32.msvc.newt" extends="linker.cfg.win32.msvc">
<syslibset libs="gdi32, user32, kernel32" />
</linker>
@@ -292,13 +297,20 @@
<property name="linker.cfg.id.oswin" value="linker.cfg.win32.msvc.newt" />
</target>
- <target name="c.configure.win32.mingw" if="isMingW">
+ <target name="c.configure.win32.mingw" if="isMingW32">
<echo message="Win32.MingW" />
<property name="compiler.cfg.id" value="compiler.cfg.win32.mingw" />
<property name="linker.cfg.id.core" value="linker.cfg.win32.mingw" />
<property name="linker.cfg.id.oswin" value="linker.cfg.win32.mingw.newt" />
</target>
+ <target name="c.configure.win64.mingw" if="isMingW64">
+ <echo message="Win64.MingW" />
+ <property name="compiler.cfg.id" value="compiler.cfg.win64.mingw" />
+ <property name="linker.cfg.id.core" value="linker.cfg.win64.mingw" />
+ <property name="linker.cfg.id.oswin" value="linker.cfg.win64.mingw.newt" />
+ </target>
+
<target name="c.configure.linux.x86" if="isLinuxX86">
<echo message="Linux.x86" />
<property name="compiler.cfg.id" value="compiler.cfg.linux" />
@@ -367,7 +379,7 @@
<property name="linker.cfg.id.oswin" value="linker.cfg.hpux.newt.x11" />
</target>
- <target name="c.configure.win32" depends="c.configure.win32.vc,c.configure.win32.mingw" if="isWindows" />
+ <target name="c.configure.win32" depends="c.configure.win32.vc,c.configure.win32.mingw,c.configure.win64.mingw" if="isWindows" />
<target name="c.configure.x11" if="isX11" />
diff --git a/make/scripts/make.jogl.all.win64.bat b/make/scripts/make.jogl.all.win64.bat
index 99546f60a..60a3184ef 100644
--- a/make/scripts/make.jogl.all.win64.bat
+++ b/make/scripts/make.jogl.all.win64.bat
@@ -4,7 +4,7 @@ set J2RE_HOME=c:\jre1.6.0_20_x64
set JAVA_HOME=c:\jdk1.6.0_20_x64
set ANT_PATH=C:\apache-ant-1.8.0
-set PATH=%JAVA_HOME%\bin;%ANT_PATH%\bin;c:\mingw-w64\bin;c:\mingw\bin;%PATH%
+set PATH=%JAVA_HOME%\bin;%ANT_PATH%\bin;c:\mingw64\bin;c:\mingw\bin;%PATH%
set LIB_GEN=%THISDIR%\lib
set CLASSPATH=.;%THISDIR%\build-win64\classes
@@ -14,4 +14,4 @@ REM -DuseKD=true
REM -Djogl.cg=1 -D-Dwindows.cg.lib=C:\Cg-2.2
REM -Dbuild.noarchives=true
-ant -Dbuild.noarchives=true -Drootrel.build=build-win64 -Djogl.cg=1 -Dwindows.cg.lib=C:\Cg-2.2\lib %1 %2 %3 %4 %5 %6 %7 %8 %9 > make.jogl.all.win64.log 2>&1
+ant -Dbuild.noarchives=true -Drootrel.build=build-win64 -Djogl.cg=1 -Dwindows.cg.lib=C:\Cg-2.2\lib.x64 %1 %2 %3 %4 %5 %6 %7 %8 %9 > make.jogl.all.win64.log 2>&1
diff --git a/src/jogl/native/openmax/omx_tool.h b/src/jogl/native/openmax/omx_tool.h
index 9c0df93b3..1a0adf0a0 100644
--- a/src/jogl/native/openmax/omx_tool.h
+++ b/src/jogl/native/openmax/omx_tool.h
@@ -11,7 +11,7 @@
#ifdef _MSC_VER
/* This typedef is apparently needed for Microsoft compilers before VC8,
and on Windows CE */
- #if (_MSC_VER < 1400) || defined(UNDER_CE)
+ #if !defined(__MINGW64__) && ( defined(UNDER_CE) || _MSC_VER <= 1400 )
#ifdef _WIN64
typedef long long intptr_t;
#else
diff --git a/src/newt/native/KDWindow.c b/src/newt/native/KDWindow.c
index 648a5cf2f..b67b8dbd3 100755
--- a/src/newt/native/KDWindow.c
+++ b/src/newt/native/KDWindow.c
@@ -42,13 +42,13 @@
#ifdef _WIN32
/* This typedef is apparently needed for Microsoft compilers before VC8,
and on Windows CE */
- #if (_MSC_VER < 1400) || defined(UNDER_CE)
+ #if !defined(__MINGW64__) && ( defined(UNDER_CE) || _MSC_VER <= 1400 )
#ifdef _WIN64
typedef long long intptr_t;
#else
typedef int intptr_t;
#endif
- #elif _MSC_VER <= 1500
+ #elif !defined(__MINGW64__) && _MSC_VER <= 1500
#ifdef _WIN64 // [
typedef __int64 intptr_t;
#else // _WIN64 ][
diff --git a/src/newt/native/WindowsWindow.c b/src/newt/native/WindowsWindow.c
index 29b8f4691..488588f52 100755
--- a/src/newt/native/WindowsWindow.c
+++ b/src/newt/native/WindowsWindow.c
@@ -41,14 +41,14 @@
// #endif
/* This typedef is apparently needed for Microsoft compilers before VC8,
- and on Windows CE */
-#if (_MSC_VER < 1400) || defined(UNDER_CE)
+ and on Windows CE and MingW32 */
+#if !defined(__MINGW64__) && ( defined(UNDER_CE) || _MSC_VER <= 1400 )
#ifdef _WIN64
typedef long long intptr_t;
#else
typedef int intptr_t;
#endif
-#elif _MSC_VER <= 1500
+#elif !defined(__MINGW64__) && _MSC_VER <= 1500
#ifdef _WIN64 // [
typedef __int64 intptr_t;
#else // _WIN64 ][
@@ -58,7 +58,7 @@
#include <inttypes.h>
#endif
-#if _MSC_VER <= 1500
+#if !defined(__MINGW64__) && _MSC_VER <= 1500
// FIXME: Determine for which MSVC versions ..
#define strdup(s) _strdup(s)
#endif
@@ -706,7 +706,7 @@ static LRESULT CALLBACK wndProc(HWND wnd, UINT message,
}
#endif
-#if defined(UNDER_CE) || _MSC_VER <= 1200
+#if !defined(__MINGW64__) && ( defined(UNDER_CE) || _MSC_VER <= 1200 )
wud = (WindowUserData *) GetWindowLong(wnd, GWL_USERDATA);
#else
wud = (WindowUserData *) GetWindowLongPtr(wnd, GWLP_USERDATA);
@@ -736,7 +736,7 @@ static LRESULT CALLBACK wndProc(HWND wnd, UINT message,
case WM_DESTROY:
{
-#if defined(UNDER_CE) || _MSC_VER <= 1200
+#if !defined(__MINGW64__) && ( defined(UNDER_CE) || _MSC_VER <= 1200 )
SetWindowLong(wnd, GWL_USERDATA, (intptr_t) NULL);
#else
SetWindowLongPtr(wnd, GWLP_USERDATA, (intptr_t) NULL);
@@ -1120,7 +1120,7 @@ JNIEXPORT jlong JNICALL Java_com_jogamp_newt_impl_windows_WindowsWindow_CreateWi
WindowUserData * wud = (WindowUserData *) malloc(sizeof(WindowUserData));
wud->jinstance = (*env)->NewGlobalRef(env, obj);
wud->jenv = env;
-#if defined(UNDER_CE) || _MSC_VER <= 1200
+#if !defined(__MINGW64__) && ( defined(UNDER_CE) || _MSC_VER <= 1200 )
SetWindowLong(window, GWL_USERDATA, (intptr_t) wud);
#else
SetWindowLongPtr(window, GWLP_USERDATA, (intptr_t) wud);