diff options
-rw-r--r-- | doc/HowToBuild.html | 5 | ||||
-rw-r--r-- | make/build.xml | 63 | ||||
-rw-r--r-- | make/jogl.properties | 17 |
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 "_DEBUG" Optimized: /MD /W3 /O2 /Ob1 /GF /EHsc /GS /Gy /Wp64 /D "NDEBUG" --> - - <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 |