aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--doc/HowToBuild.html5
-rw-r--r--make/build.xml63
-rw-r--r--make/jogl.properties17
3 files changed, 48 insertions, 37 deletions
diff --git a/doc/HowToBuild.html b/doc/HowToBuild.html
index 9a5742d61..d9e607ef8 100644
--- a/doc/HowToBuild.html
+++ b/doc/HowToBuild.html
@@ -23,9 +23,10 @@ OpenGL binding from a fresh copy of the source distribution:
<LI> <B>On Mac OS X:</B> Copy <b>make/jogl.properties</b> into the <b>Library/Java</b> subdirectory of your home directory (pointed to by the Java system property <b>user.home</b>).
</UL>
Edit the copy to change any settings that are necessary, in particular the location of the ANTLR jar file (typically <b>$HOME/antlr-2.7.2/antlr.jar</b>).
- <LI> <B>Build the source tree:</B> <br> Open a command shell in the "make" directory of the source tree and type "ant [target]", where [target] is one of <code>linux</code>, <code>macosx</code>, <code>solaris</code>, <code>win32.vc6</code>, <code>win32.vc7</code>, or <code>win32.mingw</code>.
+ <LI> <B>Build the source tree:</B> <br> Open a command shell in the "make" directory of the source tree and type "ant [target]", where [target] is one of <code>linux</code>, <code>macosx</code>, <code>solaris</code>, <code>win32.vc6</code>, <code>win32.vc7</code>, <code>win32.vc8</code>, or <code>win32.mingw</code>.
<UL>
- <LI>The win32 targets require one of Microsoft Visual C++ 6, 7 (Visual Studio .NET) or the free MinGW (<a href="http://www.mingw.org/">http://www.mingw.org/</a>) compilers to be installed. Choose the appropriate target for the compiler desired.
+ <LI>The win32 targets require one of Microsoft Visual C++ 6, 7 (Visual Studio .NET), 8 (Microsoft Visual C++ 2005) or the free MinGW (<a href="http://www.mingw.org/">http://www.mingw.org/</a>) compilers to be installed. Choose the appropriate target for the compiler desired.
+ <LI> When executing the <code>win32.vc6</code>, <code>win32.vc7</code>, or <code>win32.vc8</code> targets, you must first run the <code>vcvars32.bat</code> environment variable setup script from the appropriate version of Visual C++. The target you execute (i.e., <code>win32.vc6</code>) must match the version of the compiler from which you executed <code>vcvars32.bat</code>. No error checking is done on the compiler version used, so please be careful.
<LI>An experimental binding to the high-level <a href="http://developer.nvidia.com/view.asp?PAGE=cg_main">Cg</a> language by NVidia corporation can be generated by specifying <code>-Djogl.cg=1</code> to ant; e.g. <code>ant -Djogl.cg=1 win32.vc6</code>. The Cg binding has been tested on Windows, Linux, and Mac OS X.
</UL>
diff --git a/make/build.xml b/make/build.xml
index 55ad448e6..aa1d86fea 100644
--- a/make/build.xml
+++ b/make/build.xml
@@ -275,20 +275,19 @@
<property name="javadoc.dev.packagenames.platform" value="${javadoc.dev.packagenames.win32}" />
</target>
- <target name="declare.win32.vc6" depends="declare.win32">
- <property name="c.compiler.include.root" value="${vc6.root}" />
- <property name="c.linker.lib.root" value="${vc6.root}" />
-
- <property name="compiler.cfg.id" value="compiler.cfg.win32.msvc" />
- <property name="linker.cfg.id" value="linker.cfg.win32.msvc" />
+ <target name="declare.win32.vc6" depends="declare.win32">
+ <property name="compiler.cfg.id" value="compiler.cfg.win32.msvc" />
+ <property name="linker.cfg.id" value="linker.cfg.win32.msvc" />
</target>
<target name="declare.win32.vc7" depends="declare.win32">
- <property name="c.compiler.include.root" value="${vc7.root}" />
- <property name="c.linker.lib.root" value="${vc7.root}" />
-
- <property name="compiler.cfg.id" value="compiler.cfg.win32.msvc" />
- <property name="linker.cfg.id" value="linker.cfg.win32.msvc" />
+ <property name="compiler.cfg.id" value="compiler.cfg.win32.msvc" />
+ <property name="linker.cfg.id" value="linker.cfg.win32.msvc" />
+ </target>
+
+ <target name="declare.win32.vc8" depends="declare.win32">
+ <property name="compiler.cfg.id" value="compiler.cfg.win32.msvc" />
+ <property name="linker.cfg.id" value="linker.cfg.win32.msvc" />
</target>
<target name="declare.win32.mingw" depends="declare.win32">
@@ -686,9 +685,9 @@
<!-- Note: previous compiler options for VC7 were:
Debug: /MDd /Yd /GS /RTCs /RTCu /RTCc /W3 /Od /GF /EHsc /Zi /GS /Gy /Wp64 /Zi /D &quot;_DEBUG&quot;
Optimized: /MD /W3 /O2 /Ob1 /GF /EHsc /GS /Gy /Wp64 /D &quot;NDEBUG&quot; -->
-
- <sysincludepath path="${c.compiler.include.root}/PlatformSDK/Include"/>
- <sysincludepath path="${c.compiler.include.root}/include"/>
+ <compilerarg value="/GS" if="c.compiler.use-msvc8"/> <!-- buffer security checks -->
+ <compilerarg value="/Wp64" if="c.compiler.use-msvc8"/> <!-- detect 64-bit port problems -->
+ <compilerarg value="/RTCcsu" if="c.compiler.use-msvc8"/> <!-- various runtime checks -->
<defineset>
<define name="_DEBUG" if="c.compiler.use-debug"/>
@@ -739,9 +738,9 @@
<linkerarg value="/OPT:REF,ICF" /> <!-- enable link-time optimisations -->
<linkerarg value="/SUBSYSTEM:WINDOWS" /> <!-- output is not a console app as uses WinMain entry point -->
<linkerarg value="/MACHINE:IX86" /> <!-- explicity set target platform -->
+
+ <syslibset libs="opengl32, glu32, gdi32, user32, kernel32"/>
- <syslibset dir="${c.linker.lib.root}/lib" libs="opengl32, glu32, gdi32, user32, kernel32" unless="c.compiler.use-msvc7"/>
- <syslibset dir="${c.linker.lib.root}/PlatformSDK/lib" libs="opengl32, glu32, gdi32, user32, kernel32" if="c.compiler.use-msvc7"/>
<syslibset dir="${windows.cg.lib}" libs="cg, cgGL" if="c.compiler.use-cglib"/>
</linker>
@@ -872,7 +871,20 @@
</antcall>
<antcall target="c.rename.jogl_cg.lib.macosx" inheritRefs="true" />
</target>
-
+
+ <target name="c.manifest">
+ <!-- exec mt, the Microsoft Manifest Tool, to include DLL manifests in order to resolve the location of msvcr80.dll -->
+ <exec executable="mt">
+ <arg value="-manifest"/>
+ <arg value="${obj}/jogl.dll.manifest"/>
+ <arg value="-outputresource:${obj}/jogl.dll;#2"/>
+ </exec>
+ <exec executable="mt">
+ <arg value="-manifest"/>
+ <arg value="${obj}/jogl_awt.dll.manifest"/>
+ <arg value="-outputresource:${obj}/jogl_awt.dll;#2"/>
+ </exec>
+ </target>
<target name="c.compile.jogl.win32.vc6" depends="declare.win32.vc6, c.build.jogl.core, c.build.jogl.awt, c.build.cg" >
</target>
@@ -881,6 +893,10 @@
<property name="c.compiler.use-msvc7" value="true"/>
</target>
+ <target name="c.compile.jogl.win32.vc8" depends="declare.win32.vc8, c.build.jogl.core, c.build.jogl.awt, c.build.cg, c.manifest">
+ <property name="c.compiler.use-msvc8" value="true"/>
+ </target>
+
<target name="c.compile.jogl.win32.mingw" depends="declare.win32.mingw, c.build.jogl.core, c.build.jogl.awt, c.build.cg">
<antcall target="c.rename.jogl.libs.mingw" inheritrefs="true" />
</target>
@@ -1175,7 +1191,7 @@
<target name="all">
<fail>
-Use a platform specific target: linux, linux.amd64, linux.ia64, macosx, macosxfat (ppc and i386), solaris, win32.vc6, win32.vc7, win32.mingw
+Use a platform specific target: linux, linux.amd64, linux.ia64, macosx, macosxfat (ppc and i386), solaris, win32.vc6, win32.vc7, win32.vc8, win32.mingw
</fail>
</target>
@@ -1200,6 +1216,17 @@ Use a platform specific target: linux, linux.amd64, linux.ia64, macosx, macosxf
<!-- Compile the native C sources and build the jogl.dll. -->
<antcall target="c.compile.jogl.win32.vc7" />
</target>
+
+ <!--
+ - Win32 with MS VC8
+ -->
+ <target name="win32.vc8" depends="setup.java.home.dir, declare.win32">
+ <!-- Generate, compile, and build the jar for the Java sources. -->
+ <antcall target="jar" inheritRefs="true" />
+
+ <!-- Compile the native C sources and build the jogl.dll. -->
+ <antcall target="c.compile.jogl.win32.vc8" />
+ </target>
<!--
- Win32 with mingw32
diff --git a/make/jogl.properties b/make/jogl.properties
index 85816f0d0..b5e14d47a 100644
--- a/make/jogl.properties
+++ b/make/jogl.properties
@@ -32,23 +32,6 @@
#build.compiler.emacs=true
#
-# If you are building on Windows with Visual C++ 6.0 and have installed
-# the compiler in somewhere other than the default location, modify this
-# to point to the absolute path of the VC98 directory
-#
-vc6.root=C:/Program Files/Microsoft Visual Studio/VC98
-
-#
-# If you are building on Windows with Visual C++ 7.0 or later and have
-# installed the compiler in somewhere other than the default location,
-# modify this to point to the absolute path of the parent directory of
-# the "lib" directory
-#
-# NOTE: this has been customized for VS.NET 2003
-#
-vc7.root=C:/Program Files/Microsoft Visual Studio .NET 2003/Vc7/PlatformSDK
-
-#
# If you are building the Cg binding (by specifying -Djogl.cg=1 to the
# Ant build) and have installed the Cg SDK in somewhere other than the
# default location, modify the appropriate variable to point to the